/**
 * @author and
 */

function callApi(action,id,p,functionToLaunch){
	
	url = ajaxAPIUrl + "/action/" + action + "/id/" + id;
	var theRequest = new Ajax.Request(url, {
	  method: 'post',
	  parameters: p,
	  onSuccess: function(transport) {
	  	if (functionToLaunch != null) {
			functionToLaunch(transport.responseJSON);
		}
	  }
	});
	
}




function switchLightboxVisibility(id,etat){
	
	if ($(id + '-lightbox-fond')) {
		if (etat == 'none') {
			
			
			$(id + '-lightbox-fond').style.display = 'none';
			$(id + '-lightbox').style.display = 'none';
			
		}
		else {
			setFullPageDimensions($(id + '-lightbox-fond'));
			$(id + '-lightbox-fond').style.display = 'block';
			$(id + '-lightbox').style.display = 'block';
			
			
			
		}
	}
	
	
}

Event.observe(window,'load',function(){
	//changeClasses(document);
	$$('.btn-alertez-moi').each(function(a){
		
		a.observe("click",function(){
			switchLightboxVisibility('alertezmoi','block');
		});
	});
	

	if ($('identification_envoyer')) {
		$('identification_envoyer').observe('click', function(e){
			Event.stop(e);
			var p = new Hash();
			p.set('envoyer', 'authentification');
			p.set('identification_identifiant', $('identification_identifiant').value);
			p.set('identification_motdepasse', $('identification_motdepasse').value);
			
			var theRequest = new Ajax.Request(baseSiteUrl + 'fr/auth/', {
				method: 'post',
				parameters: p,
				onSuccess: function(transport){
					if (transport.responseJSON.success == true) {
//						document.location.href = transport.responseJSON.data;
						//console.log(document.location.href);
						if (redirectAfterAuth != '') {
							document.location.href = redirectAfterAuth;
						}
						else {
							document.location.reload(true)
						}
//						alert(document.location);
						//console.log(document.location);
						
					}
					else {
						updateFormLabels(transport.responseJSON.data, transport.responseJSON.alertes);
					}
				}
			});
			return false;
		})
	}
	
	
	
});


function setFullPageDimensions(o){
	var arrayPageSize = getPageSizeForDocument();
	if (o){
		o.setStyle({ width: arrayPageSize[0] + 'px', height: arrayPageSize[1] + 'px' });
	}
}

function getPageSizeForDocument() {
	        
     var xScroll, yScroll;
	
	if (window.innerHeight && window.scrollMaxY) {	
		xScroll = window.innerWidth + window.scrollMaxX;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}
	
	var windowWidth, windowHeight;
	
	if (self.innerHeight) {	// all except Explorer
		if(document.documentElement.clientWidth){
			windowWidth = document.documentElement.clientWidth; 
		} else {
			windowWidth = self.innerWidth;
		}
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}	
	
	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else { 
		pageHeight = yScroll;
	}

	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth){	
		pageWidth = xScroll;		
	} else {
		pageWidth = windowWidth;
	}

	return [pageWidth,pageHeight];
}

