/*
 *  Contains the Javascript used by Air France homepage
 *  For performance issues, HP must include minimum javascript files, so the functions in this file
 *  must be used by the homepage or FB header, or moved to another place.
 */  
 
/* call on HP onload event */
function initHP() {
	//if ($('bookingContainer')) {
		//showMineBeTab('standard');
		/*initCountriesStopover();*/
		//printFormatedDate($('libJourAller'), $('moisAller').value.substring(0, 4), $('moisAller').value.substring(4), $('jourAller').value);
		//printFormatedDate($('libJourRetour'), $('moisRetour').value.substring(0, 4), $('moisRetour').value.substring(4), $('jourRetour').value);
		//if ($('idOneWay').checked) { /* aller simple */
		//	hp_AllerSimple();
		//}
		
		//updateMiniBeForUM();
		
		//document.onChangeStopover();
		//showPax();
	//}
}

/* a light version of 'function $' from the Prototype library */
//function $(element) {
	//if (typeof element == 'string') {
  		//element = document.getElementById(element);
	//} 
	
	//if (eval("Object.extend")) { 
		/* prototype.js available */
	// 	return Element.extend(element);
	//} else {
		/* prototype.js not available: no enhancement */
	//	return element;
//}



var idCurrentTab;
function showMineBeTab(id) {
	var box = $(id + 'Content');
	if (box) {
		var tab = $(id + 'Tab');
		var currentBox = $(idCurrentTab + 'Content');
		var currentTab = $(idCurrentTab + 'Tab');
		
		// hide current
		if (idCurrentTab) {
			currentBox.style.display = 'none';
			currentTab.className = currentTab.className.replace("selected", "notSelected");
		}
		
		// show tab
		box.style.display = 'block';
		tab.className = tab.className.replace("notSelected", "selected");
		
		idCurrentTab = id;
	}
}



/* --------  Hack IE7  ------------------ */

function isWinIE7() {
	if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){ 
		var ieversion=new Number(RegExp.$1) // capture x.x portion and store as a number
		return ieversion>=7;
	} else {
		return false;
	}
}
function isWinIE6ouMoins() {
	return isWinIE() && !window.XMLHttpRequest;
}
function isWinIE() {
	var infoNav = navigator.userAgent.toLowerCase();
	return infoNav.indexOf("msie") != -1 && infoNav.indexOf("mac") == -1;
}
function isMacIE() {
	var infoNav = navigator.userAgent.toLowerCase();
	return infoNav.indexOf("msie") != -1 && infoNav.indexOf("mac") != -1;
}
function isSafari() {
	return navigator.userAgent.toLowerCase().indexOf("safari") != -1;
}
function isMacFF() {
	var infoNav = navigator.userAgent.toLowerCase();
	return infoNav.indexOf("firefox") != -1 && infoNav.indexOf("mac") != -1;
}
function isMozilla() {
	var infoNav = navigator.userAgent.toLowerCase();
	return infoNav.indexOf("mozilla") != -1;
}
function isMac() {
	var infoNav = navigator.userAgent.toLowerCase();
	return infoNav.indexOf("mac") != -1;	
}
function getSize(sizeWithPx) {
	return sizeWithPx.substring(0, sizeWithPx.length - 2);
}


// The function below was developed by John Resig
// For additional info see:
// http://ejohn.org/projects/flexible-javascript-events
// http://www.quirksmode.org/blog/archives/2005/10/_and_the_winner_1.html
function addEvent(obj, type, fn){
	if (typeof obj == 'undefined' || !obj) return false;
	if(obj.addEventListener){
		obj.addEventListener(type, fn, false);
	}
	else if(obj.attachEvent){
		obj["e" + type + fn] = fn;
		obj[type + fn] = function(){
				obj["e" + type + fn](window.event);
			}
		obj.attachEvent("on" +type, obj[type+fn]);
	}
}

function getPosX(obj) {
	var curleft = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	} else if (obj.x) {
		curleft += obj.x;
	}
	return curleft;
}
function getPosY(obj) {
	var curtop = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	} else if (obj.y) {
		curtop += obj.y;
	}
	return curtop;
}
function getMarginLeft(obj) {
	return obj.style.marginLeft;
}
function getWidth(obj) {
	return obj.offsetWidth;
}
function getHeight(obj) {
	return obj.offsetHeight;
}

function getWindowWidth() {
   if (navigator.appName=="Netscape") {
     return window.innerWidth-16;
   } else {
     return document.body.offsetWidth-20;
   }
}
function getWindowHeight() {
   if (navigator.appName=="Netscape") {
     return window.innerHeight-16;
   } else {
     return document.body.offsetHeight-20;
   }
}
function getDiv(divId) {
	if (document.getElementById) {
		return document.getElementById(divId);
	} else if (document.all) {
		return document.all[divId];
	} else if (document.layers)	{
		return document.layers[divId];
	}
}
function DstepRoll(ImgNam,Chemimg,Mylayon){
	var ns4=(document.layers)?true:false;
	var ie4=(document.all)?true:false;
	var ns6=(document.getElementById && !document.all)?true:false;
	var imgToRoll;
	if(Mylayon==0){
		if(document.images){imgToRoll=document.images[ImgNam];}
	} else {
		if (ns4){imgToRoll=document.layers[Mylayon].document.images[ImgNam];}
		if (ie4||ns6) {imgToRoll=document.images[ImgNam];}
	}
	
	if (imgToRoll) {
		imgToRoll.src=Chemimg;
	}
}
/*-----------  Gestion des elements select -----------------*/
/**
 * visible: true ou false, pour afficher ou masquer les select
 * elemMenu: l'element du menu qui définit la zone à masquer/afficher
 */
function setSelectVisibility(visible,elemMenu){ 

	var x = getPosX(elemMenu);
	var y = getPosY(elemMenu);
	var w = getWidth(elemMenu);
	var h = getHeight(elemMenu)

	var selx,sely,selw,selh,i 
	var sel=document.getElementsByTagName("SELECT") 
	for(i=0;i<sel.length;i++){ 
		selx=0; sely=0; var selp; 
		if(sel[i].offsetParent){ 
			selp=sel[i]; 
			while(selp.offsetParent){ 
				selp=selp.offsetParent; 
				selx+=selp.offsetLeft; 
				sely+=selp.offsetTop; 
			} 
		} 
		selx+=sel[i].offsetLeft; 
		sely+=sel[i].offsetTop; 
		selw=sel[i].offsetWidth; 
		selh=sel[i].offsetHeight;
		/*ajout seb pour ne pas masquer tous les select par verif si menu = false*/ 
		if(selx+selw>x && selx<x+w && sely+selh>y && sely<y+h && !sel[i].menu ){
			if(visible){
				if (updateCountHidden(sel[i],-1)==0){
					sel[i].style.visibility="visible"; 				
				}
			}else{
				updateCountHidden(sel[i],+1);
				sel[i].style.visibility="hidden";
			}
		}
	} 
} 
function updateCountHidden(sel, delta) {
	if (!sel.countHidden) {  /* initialize to 0 if sel is displayed, or to 1 if sel is hidden */
		if (sel.style.visibility == 'hidden' || sel.style.display == 'none') {
			sel.countHidden = 1;
		} else {
			sel.countHidden = 0;
		}
	}
	sel.countHidden += delta; 
	return sel.countHidden;
}

/*----------------- Pour eviter des erreurs JS ----------*/

function reloadSiNetscape() {
	
}

/*-------------------------------------------------------*/

