var idToHideOnHotelView = new Array('flightOption','horairesRetour','horairesDepart','aeroportDeparture','aeroportArrival','optionFooter','optionHeader','departureName','arrivalName','departureTime','destinationTime','horairesDepart','horairesRetour');
var idToHideOnMapView = new Array('mapSearchMenu','titleMapSearchMenu','destinationDeparture','name0Error','cadrescenterOffersHome','cadresrightSelectionHome');
var idToShowOnMapView = new Array('mapWindow','titleCodeSearchMenu','codeSearchMenu','legendeMap');  
var idForCssNameToSwitch = new Array('arrivalListOfChoice','departureListOfChoice','cadrescenter','htformul','formbody','basformul','criterias', 'hotelSelectFormBody');
var elementToDisplayInline = new Array('SELECT','INPUT','SPAN','LABEL','A');
var elementToDisplayBlock = new Array('P','DIV','OPTION','H1');
var elementToDisplayTableRow = new Array('TR');
var elementToDisplayTableColumn = new Array('TD');
var elementToDisplayTable = new Array('TABLE');
var elementOfDocumentList = document.getElementsByTagName("*");
var idOfListOfChoice = new Array('arrivalListOfChoice','departureListOfChoice');
var isMap;

function getCurrentPage(){
	var uriCourant = document.location.pathname;
	var indiceDepart = uriCourant.lastIndexOf('/')+1;
	var indiceArrivee = uriCourant.lastIndexOf('.'); 
	var nomPage = uriCourant.substring(indiceDepart, indiceArrivee); 
	return nomPage;
}

function showElementByTagName(element){
	if(jQuery.inArray(element.id,idToHideOnHotelView) != -1
			|| jQuery.inArray(element.id,idToHideOnMapView) != -1){
		if(jQuery.inArray(element.tagName,elementToDisplayInline) != -1){
			element.style.display = 'inline';
		}else if(jQuery.inArray(element.tagName,elementToDisplayBlock) != -1){
			element.style.display = 'block';
		}else if(jQuery.inArray(element.tagName,elementToDisplayTableRow) != -1){
			element.style.display = 'table-row';
		}else if(jQuery.inArray(element.tagName,elementToDisplayTableColumn) != -1){
			element.style.display = 'table-column';
		}else if(jQuery.inArray(element.tagName,elementToDisplayTable) != -1){
			element.style.display = '';
		}
	}
	if(jQuery.inArray(element.id,idOfListOfChoice) != -1 && element.name == "isHidden"){
		if(isMap){
			element.className = "maplistOfChoiceShow";
		}else{
			element.className = "listOfChoiceShow";
		}
	}
}

function displayDefaultForm(){
	for(var i=0;i<elementOfDocumentList.length;i++){
		if(jQuery.inArray(elementOfDocumentList[i].id,idToShowOnMapView) != -1){
			elementOfDocumentList[i].style.display = 'none';
		}else{
			showElementByTagName(elementOfDocumentList[i]);
		}
		if(jQuery.inArray(elementOfDocumentList[i].id,idForCssNameToSwitch) != -1){
			if(elementOfDocumentList[i].className.startsWith("map")){
				elementOfDocumentList[i].className = elementOfDocumentList[i].className.substring(3,elementOfDocumentList[i].className.length);
			}
		}
	}
}

function displayHotelForm(){
	for(var i=0;i<elementOfDocumentList.length;i++){
		if(jQuery.inArray(elementOfDocumentList[i].id,idToHideOnHotelView) != -1){
			elementOfDocumentList[i].style.display = 'none';
		}
		if(jQuery.inArray(elementOfDocumentList[i].id,idOfListOfChoice) != -1){
			if(elementOfDocumentList[i].id == idOfListOfChoice[1]){
				elementOfDocumentList[i].className = "listOfChoiceHidden";
			}
			elementOfDocumentList[i].name = "isHidden";
		}
	}
}

function displayMapForm(){
	for(var i=0;i<elementOfDocumentList.length;i++){
		if(jQuery.inArray(elementOfDocumentList[i].id,idToShowOnMapView) != -1){
			elementOfDocumentList[i].style.display = '';
		}
		if(jQuery.inArray(elementOfDocumentList[i].id,idToHideOnMapView) != -1){
			elementOfDocumentList[i].style.display = 'none';
		}
		if(jQuery.inArray(elementOfDocumentList[i].id,idForCssNameToSwitch) != -1){
			if(!elementOfDocumentList[i].className.startsWith("map")){
				elementOfDocumentList[i].className = "map"+elementOfDocumentList[i].className;
			}
		}
		if(elementOfDocumentList[i].id == idOfListOfChoice[0]){
			elementOfDocumentList[i].className = "listOfChoiceHidden";
			elementOfDocumentList[i].name = "isHidden";
		}
	}
}

function change_onglet(isPackage, isMapParam){
	isMap = isMapParam
	var currentPage = getCurrentPage();
	if(currentPage == "home" || currentPage == "hotel-select"){
		displayDefaultForm();
		
		var searchType ="";
		if(isPackage == "true"){
			searchType += "package";
			document.getElementById("ongletVolsPlusHotels").className = "ongletactif";
			document.getElementById("ongletHotels").className = "onglet";
		}else{
			searchType += "hotel";
			displayHotelForm();
			document.getElementById("ongletVolsPlusHotels").className = "onglet";
			document.getElementById("ongletHotels").className = "ongletactif";
		}
		if(isMap == "true"){
			displayMapForm();	
			searchType += "Map";
			loadGoogleMapForMapSearch();
		}
		document.getElementById("searchType").value = searchType;
		document.getElementById("isPackage").value = isPackage;
		document.getElementById("isMap").value = isMap;
	}else{
		var centralItemAction = document.getElementById("centralItemAction");
		centralItemAction.isPackageFromAnyPage.value = isPackage;
		centralItemAction.submit();
	}
}

function disabled_onglet(){
	alert("Vous ne pouvez pas choisir un Vol + Hôtel lorsque vous êtes en mode << Ajoutez un hôtel >>.")
}
