/* Manipulate the innerHTML of elements... */

function InnerHTML(sElementID,sValue) { 
	document.getElementById(sElementID).innerHTML=sValue;
}

/* PopUp */

function Popup(page,width,height,scroll) {
	if (!scroll) { scroll = 0 }
	//var name = page.substring(0,(page.length - 4));
	random_num = (Math.round((Math.random()*9)+1))
	var name = random_num;
	window.open(page,name,'toolbar=0,scrollbars='+ scroll +',location=0,statusbar=0,menubar=0,resizable=0,width='+ width +',height='+ height);
}

/* Rotate News Articles */

var j = 0;
var temp_div;

function RotateNews() {
	var i = 4;
	(j == i) ? j = 1 : j++;
	if (temp_div) temp_div.style.display = temp_div.style.display == 'block' ? 'none' : 'block';
	var div = document.getElementById("display_"+ j)
	temp_div = div;
	div.style.display = div.style.display == 'block' ? 'none' : 'block';
	setTimeout("RotateNews()", 5000);
}

/* Toggle an elements display properties... */

function ShowHide(sElementID,sDisplayType,sNoShowOrHide) { 
	var sElementRef = document.getElementById(sElementID);  
	var sShow = "show"+ sDisplayType;
	if ((sElementRef.className==sShow) && (sNoShowOrHide != "nohide")) sElementRef.className="hide";
	else if (sNoShowOrHide != "noshow") sElementRef.className=sShow;
}

var sElementTemp = '';

function DisplaySections(sElementID) { 
   var sElementRef = document.getElementById(sElementID);  
   sElementRef.className="none";
   if (sElementTemp) sElementTemp.className="inline"
   sElementTemp = sElementRef;
}

/* Show/Hide divs onClick */
function ExpandCollapse(vPostid) { 
   var vWhichpost = document.getElementById(vPostid);  
   if (vWhichpost.className=="inline") { 
      vWhichpost.className="none";
   } 
   else { 
      vWhichpost.className="inline"; 
   } 
}

function ExpandJob(sPostid,sPostButton,lang) {
   var vWhichbutton = document.getElementById(sPostButton);
   var vWhichpost = document.getElementById(sPostid);  
   if (vWhichpost.className=="inline") { 
      vWhichpost.className="none";
	  vWhichbutton.innerHTML= lang == 'en' ? "learn more" : "en savoir plus";
   } 
   else { 
      vWhichpost.className="inline";
	  vWhichbutton.innerHTML= lang=='en' ? "minimize" : "réduire"; 
   } 
}

function ExpandServices(vPostid,vPostHeader) {
   var vWhichheader = document.getElementById(vPostHeader);
   var vWhichpost = document.getElementById(vPostid);  
   if (vWhichpost.className=="block") { 
      vWhichpost.className="none";
	  vWhichheader.className="services_collapse";
   } 
   else { 
      vWhichpost.className="block";
	  vWhichheader.className="services_expand"; 
   } 
}

sElementTemp = "";
function DisplayJob(sElementID) { 
	if (sElementID) {
		document.getElementById('postes_vacants').value = sElementID;
		/*var sCVSelect = document.getElementById('job');
		if (sCVSelect) document.getElementById('job').value = sElementID;*/
		sElementID = "job_"+ sElementID;
		var sElementRef = document.getElementById(sElementID);  
		sElementRef.className="inline";
		if (sElementTemp) sElementTemp.className="none";
		sElementTemp = sElementRef;
	}
	else {
		sElementTemp.className="none";
		sElementTemp = "";
		document.getElementById('postes_vacants').value = "";
	}
}

/* http://stikiflem.wordpress.com/2008/09/11/javascript-div-fade-infade-out/
http://webdev.proweblog.com/archives/2009/11/06/31/*/
var TimeToFade = 150.0;

function fade(eid){

	var element = document.getElementById(eid);
	if(element == null) return;

	if(element.FadeState == null){
		element.FadeState = -2;
	}

	if(element.FadeState == 1 || element.FadeState == -1){
		element.FadeState = element.FadeState == 1 ? -1 : 1;
		element.FadeTimeLeft = TimeToFade - element.FadeTimeLeft;
	}else{
		element.FadeState = element.FadeState == 2 ? -1 : 1;
		element.FadeTimeLeft = TimeToFade;
		setTimeout("animateFade(" + new Date().getTime() + ",'" + eid + "')", 33);
	}

}

function animateFade(lastTick, eid){

	var curTick = new Date().getTime();
	var elapsedTicks = curTick - lastTick;
	var element = document.getElementById(eid);

	if(element.FadeTimeLeft <= elapsedTicks){
		element.style.opacity = element.FadeState == 1 ? '1' : '0';
		element.style.filter = 'alpha(opacity = '
		+ (element.FadeState == 1 ? '100' : '0') + ')';
		element.FadeState = element.FadeState == 1 ? 2 : -2;
		return;
	}

	element.FadeTimeLeft -= elapsedTicks;
	var newOpVal = element.FadeTimeLeft/TimeToFade;
	if(element.FadeState == 1) newOpVal = 1 - newOpVal;
	element.style.opacity = newOpVal;
	element.style.filter = 'alpha(opacity = ' + (newOpVal*100) + ')';
	setTimeout("animateFade(" + curTick + ",'" + eid + "')", 33);

}
