
WhatPageID = 'ULYSSE'

var SelectedDestination
var SelectedHotel
var CurrParams
var Level1Title
var HotelID = ''
var HotelName = ''
var DestCode = ''
var NavigationFirstCall = true
var HasLeftMenu = true


function MainUlysseEngine(params, Ctemp, Group, sHotelID, sExitID, sHotelName, bHasLeftMenu)
{
    HasLeftMenu = (bHasLeftMenu.toLowerCase() == 'true');
        
	ShowAllToLevel = 1;
	HotelName = sHotelName
	CurrParams = params
	ActOnBroken = true
	CTemplate = Ctemp
	FROMSELECTED = Group
	HotelID = sHotelID
	DestCode = sExitID
	
	if (CTemplate=='GAMME' || CTemplate=='DEALS' || CTemplate=='HOTEL')
	{
		//TFWShowHotelList = false
	}
	
	if(document.getElementById("PromoContent"))
	{
		document.getElementById("PromoContent").className = "ulysseRightContentBoxTD"
		CallPromotions()
	}
		
	if(document.getElementById("LimitedOffersContent"))
	{
		document.getElementById("LimitedOffersContent").className = "ulysseRightContentBoxTD"
		CallLimitedOffers()
	}
	
	if(document.getElementById("CLOUDCONTENT"))
	{
		UlysseLoadThemeList()
	}
	
	if(HasLeftMenu)
	    CallNavigation(params);
	else
       CallContent(params, null);	    
       
	if (CTemplate=='DEALS')
	{
		DEALOFTHEDAY = false
		FLTNBRSHOW = 10
		PCKNBRSHOW = 10
		SHOWREFINE = true
		SHOWHEAD = false
		PAGEBOX = true
		ContentType = 'DEALS'
		ShowAllToLevel = 0
		
	}
	
	if (document.getElementById("HOTELDD"))
	{
		//load hotel search
		hotelListBoxLength = '50';
		InitHotelSearch()
	}
	
	
}

function HotelUlysseEngine(params, Ctemp, Group, sHotelID, sExitID, sHotelName)
{
	ShowAllToLevel = 1;
	HotelName = sHotelName
	CurrParams = params
	ActOnBroken = true
	CTemplate = Ctemp
	FROMSELECTED = Group
	HotelID = sHotelID
	DestCode = sExitID
	
	CallContentHotel(params, 0);
}

function CallContentHotel(params, parentIDValue)
{
	// Live Stats Values
	var statsParams = '&MKTSOURCE='	+ parentIDValue

	//document.getElementById("DEBUG").innerHTML = APPSWebServerURL + 'Web2/Search/Ulysse/Content.asp?' + defaultParams + "&" + params + statsParams
	PassAjaxResponseToFunction(APPSWebServerURL + 'Web2/Search/Ulysse/Content.asp?' + defaultParams + "&" + params + statsParams, 'ShowContentHotel')
}

function ShowContentHotel(response)
{
	CleanResponse = FilterContent(response)
	ListOfElem = CleanResponse.split('-*-')
	
	document.getElementById("RIGHTCONTENT").innerHTML = ListOfElem[3]
	
	SelectHotel(/*DestCode*/'' + '--.--.--' + HotelID + '--.--True')
}


function FromSearchHotel(hotelID)
{
	PassAjaxResponseToFunction(APPSWebServerURL + 'Web2/Search/Ulysse/HotelDetail.asp?' + defaultParams + '&HotelExitID=' + hotelID, 'ShowHotelDetail')
}


function SelectNavigation(params)
{
	FROMSELECTED = ''
	CurrParams = params
	CallNavigation(params);
}




function miniBrokeExeptionFct()
{
	if(document.getElementById("NoBookContent") && document.getElementById("MININOCONTENT"))
		document.getElementById("MININOCONTENT").innerHTML = document.getElementById("NoBookContent").innerHTML
}

function CallNavigation(params)
{
	
	//document.getElementById("DEBUG").innerHTML = APPSWebServerURL + 'Web2/Search/Ulysse/Navigation.asp?' + defaultParams + "&" + params
	
	PassAjaxResponseToFunction(APPSWebServerURL + 'Web2/Search/Ulysse/Navigation.asp?' + defaultParams + "&" + params + "&NavFC=" + NavigationFirstCall, 'ShowNavigation')
}

function ShowNavigation(response)
{
	NavigationFirstCall = false
	CleanResponse = FilterContent(response)
	ListOfElem = CleanResponse.split('-*-')
	
	if (CTemplate!='HOTEL' && HasLeftMenu)
		document.getElementById("NAVIGATION").innerHTML = ListOfElem[1]
		
	if (CTemplate=='DEALS')
	{
		if(ListOfElem[2].indexOf('-') == 1)
			GROUPID = ListOfElem[2]
		else
			GROUPID = 'P' + ListOfElem[2]
	}
	
	if (CurrParams.indexOf('DESTINATIONID=&') > 0)
	{
		CurrParams = CurrParams.replace('DESTINATIONID=&', 'DESTINATIONID=' + ListOfElem[3] + '&')
	}
	Level1Title = ListOfElem[4]
	//print out the title dans l'onglet
	//if (document.getElementById("DEALSGROUPTITLE"))
		//document.getElementById("DEALSGROUPTITLE").innerHTML = DealsTitle + ' : ' + ListOfElem[5]
	
	// Live Stats Values
	// If the ParentID (ListOfElem[6]) is empty we use the CTemplate (ListOfElem[7])
	
	if (ListOfElem[6] == '' &&  ListOfElem[7] != '')
	{
		parentIDValue = ListOfElem[7];
	}else{
		parentIDValue = ListOfElem[6];
	}
	
	CallContent(CurrParams, parentIDValue);
	
}

function CallContent(params, parentIDValue)
{
	// Live Stats Values
	var statsParams = '&MKTSOURCE='	+ parentIDValue

	//document.getElementById("DEBUG").innerHTML = APPSWebServerURL + 'Web2/Search/Ulysse/Content.asp?' + defaultParams + "&" + params + statsParams
	PassAjaxResponseToFunction(APPSWebServerURL + 'Web2/Search/Ulysse/Content.asp?' + defaultParams + "&" + params + statsParams, 'ShowContent')
}


function ShowContent(response)
{
	CleanResponse = FilterContent(response)
	ListOfElem = CleanResponse.split('-*-')
	
	//document.getElementById("LEFTCONTENT").innerHTML = ListOfElem[1]
	document.getElementById("MIDDLECONTENT").innerHTML = ListOfElem[2]
	
	//flash code
	if (document.getElementById("BANNERFLASHZONE"))
	{
	    swf = document.getElementById("FlashDestinationSWF").value
	    img = document.getElementById("FlashDestinationIMG").value
	    width = document.getElementById("FlashDestinationW").value
	    height = document.getElementById("FlashDestinationH").value
	    
	    ShowFlash(swf, img, width, height)
	}
	
	document.getElementById("RIGHTCONTENT").innerHTML = ListOfElem[3]

	
	if(ListOfElem[3].length > 150)
	    document.getElementById("MiddleContentTD").className = 'ulysseMiddleContentTD';
	else  
	    document.getElementById("MiddleContentTD").className = 'ulysseMiddleContentTDNoBorder';  
	
	TOString = ListOfElem[5]
	TOString = TOString.replace(/&amp;/g, '&')
	
	/*if (ListOfElem[4] != ''){
		TOString = 'TOLEVEL=' + ListOfElem[3] + '&TOSELECTED=' + ListOfElem[4]
	}
	else{
		var themeMask = ListOfElem[5]
		var themeMaskLength = themeMask.length
		if (themeMaskLength == 3){
			var themeMaskLastChar = themeMask.charAt(2)
			if (IsNumeric(themeMaskLastChar)){
				TOString = 'TOLEVEL=' + ListOfElem[3] + '&TOSELECTED=' + ListOfElem[5]
			}else{
				TOString = ''
			}
		}else{
			TOString = ''
		}
	}*/
	
	
	
	if (document.getElementById("PROMOZONEFLTMINITFWCONTENT"))
	{
		nbrOfDivDyn = 4
		EngineType = 'Flight'
		SwitchMiniTab('MiniFlightTab', 'MiniPackTab')
		MainTFWEngine(TOString, 'Flight')
	}	
	
	if (document.getElementById("PROMOZONEPCKMINITFWCONTENT"))
	{
		nbrOfDivDyn = 3
		EngineType = 'Package'
		SwitchMiniTab('MiniPackTab', 'MiniFlightTab')
		MainTFWEngine(TOString, 'Package')
	}
	
	for(x=1;x<=7;x++)
	{
	    if(document.getElementById("FLTDEALSCONT" + x))
	    {
	        thisSpecialID = document.getElementById("SPECIALGROUPID" + x).value
	        CallDeals(defaultParams + '&SPECIALGROUPID=' + thisSpecialID + "&FROMSELECTED=" + FROMSELECTED  + "&PROMOID=" + x, x, 'flight');
	    }
	    
	    if(document.getElementById("PCKDEALSCONT" + x))
	    {
	        thisSpecialID = document.getElementById("SPECIALGROUPID" + x).value
	        CallDeals(defaultParams + '&SPECIALGROUPID=' + thisSpecialID + "&FROMSELECTED=" + FROMSELECTED  + "&PROMOID=" + x, x, 'package');
	    }
	}
	
	//not needed
	/*
	    if (ListOfElem[4] == 'PACK')
	    {
		    nbrOfDivDyn = 3
		    EngineType = 'Package'
		    MainTFWEngine(TOString, 'Package')
	    }
	    if (ListOfElem[4] == 'TAGS')
	    {
		    nbrOfDivDyn = 3
		    EngineType = 'Package'
	    }
    	 
	    if (CTemplate=='HOTEL')
	    {
		    EngineType = 'Package'
		    nbrOfDivDyn = 3
		    //load hotel search
		    hotelListBoxLength = '50';
		    InitHotelSearch()
	    }
	    */

	HotelListLayerContent = ''
	
	if(document.getElementById("DetailTab1"))
	{
		SelectThemeDetail('DetailTab1', 'DetailText1');
	}
	
	if (CTemplate=='DEALS')
	{
		dataSplit = GROUPID.split('-')
		if (dataSplit[0] == 'F')
			DealsType = 'flight'
		else
			DealsType = 'package'
			
		
		CallDeals(defaultParams + '&SPECIALGROUPID=' + dataSplit[1] + "&FROMSELECTED=" + FROMSELECTED);
	}
	if(HotelID != '')
	{
	
		if (CTemplate=='HOTEL')
			SelectHotel(DestCode + '--.--.--' + HotelID + '--.--True')
		else
		{
			for(c=0;c<document.getElementById("DDALL").length;c++)
			{
				if (document.getElementById("DDALL")[c].value.indexOf(HotelID) > -1)
				{
					document.getElementById("DDALL")[c].selected = true
					SelectHotel(document.getElementById("DDALL")[c].value, document.getElementById("DDALL"))
				}
			}
		}
	}
	
    //Title 
    /*if(trim(ListOfElem[8])!='')
        document.title = ListOfElem[8];*/
        
    //Metatags
    /*if(trim(ListOfElem[9])!='')
        {
        var headID = document.getElementsByTagName("head")[0];          

        var collection = headID.getElementsByTagName('meta');
        for(var i=0; i<collection.length; i++)
            headID.removeChild(collection[i]);
            
        var collection = headID.getElementsByTagName('META');
        for(var i=0; i<collection.length; i++)
            headID.removeChild(collection[i]);
            
        var collection = headID.getElementsByTagName('Meta');
        for(var i=0; i<collection.length; i++)
            headID.removeChild(collection[i]);
            
        headID.innerHTML += ListOfElem[9];
        
        } */
		
}

function ReplaceSomeContent(content)
{
	content = content.replace('#Level1Title#', Level1Title)
	return (content)
}


function SelectDestination(code)
{
	if (document.getElementById("HL" + SelectedDestination))
		document.getElementById("HL" + SelectedDestination).style.display = 'none'
	if (document.getElementById("HLALL"))
		document.getElementById("HLALL").style.display = 'none'
		
	document.getElementById("HL" + code).style.display = 'block'

	SelectedDestination = code
	
	EngineType = 'Package'
	PCKCallTFW(defaultParams + '&' + 'TOLEVEL=3&TOSELECTED=' + code)
	
	HotelListLayerContent = 'HL' + code
}


function SelectHotel(val, elem)
{
	DivStayingOpen = '';
	var LoadMini = true;
	codeElem = val.split('--')
	//document.getElementById("DEBUG").innerHTML = APPSWebServerURL + 'Web2/Search/Ulysse/HotelDetail.asp?' + defaultParams + '&HotelExitID=' + codeElem[3]
	
	if(codeElem[2])
	{
		theCode = codeElem[4]
		if (codeElem[5])
		{
			LoadMini = codeElem[5];
		}
	}else
	{
		theCode = codeElem[0]	
	}
	HotelListLayerContent = 'HL' + theCode
	HotelID = codeElem[3]
	//document.getElementById("DEBUG").innerHTML = APPSWebServerURL + 'Web2/Search/Ulysse/HotelDetail.asp?' + defaultParams + '&HotelExitID=' + codeElem[3]
	PassAjaxResponseToFunction(APPSWebServerURL + 'Web2/Search/Ulysse/HotelDetail.asp?' + defaultParams + '&HotelExitID=' + codeElem[3], 'ShowHotelDetailUlysse')
	
	if(elem)
		if(elem.id.indexOf('DD') == 1)
			document.getElementById('DD' + theCode).selectedIndex = document.getElementById('2DD' + theCode).selectedIndex
	
	
	//set the hotel name depending on the source and fix to prevent name with quote '
	
		if (codeElem[2].length > 2)
			HotelNameFix = codeElem[2].replace(/\'/g, "\\'")
		else
			HotelNameFix = HotelName
	
	//set the destination name depending on source it might be the hotel name
		if (codeElem[1].length > 2)
			DestName = encodeURIComponent(codeElem[1])
		else
			DestName = HotelNameFix
			
			
	if (LoadMini == "False")
	{
		
		if(document.getElementById("MININOCONTENT"))
		{
			document.getElementById("MININOCONTENT").className = "nonBookableMiniContent" 
		}
		if(document.getElementById("ulysseRightMiniNoContent"))
		{
			document.getElementById("ulysseRightMiniNoContent").className = "normal" 
		}
		
		if(document.getElementById("UlysseMiniMoteurDiv"))
		{
			document.getElementById("UlysseMiniMoteurDiv").style.display = 'none' 
		}
		
		
		
		miniBrokeExeptionFct()	
	}else
	{
		if(document.getElementById("ulysseRightMiniNoContent"))
		{
			document.getElementById("ulysseRightMiniNoContent").className = "hidden" 
		}
		PCKCallTFW(defaultParams + '&' + 'TOLEVEL=3&TOSELECTED=' + codeElem[0] + '&ENFORCEHOTELID=' + codeElem[3] + '&DESTNAME=' + DestName + '&HOTELNAME=' + HotelNameFix)		
	}
	
}

function ShowHotelDetailUlysse(response)
{
	CleanResponse = FilterContent(response)
	ListOfElem = CleanResponse.split('-*-')
	
	if(ListOfElem[3] == '0'){
		document.getElementById("HOTELDETAIL").innerHTML =  document.getElementById("NoBookContent").innerHTML
	}else{
	    if(document.getElementById("HOTELDETAIL"))
		    document.getElementById("HOTELDETAIL").innerHTML = ListOfElem[1]
	
		if(document.getElementById("HotelDetailImagesSlideShow"))
			InitializeSlideShow(ListOfElem[2], 'HotelDetailImagesSlideShow')
	}
	
	document.body.scrollTop = 0;
	
	if(document.getElementById("HotelDetailTab1"))
	{
		SelectThemeHotelDetail('HotelDetailTab1', 'HotelDetailText1');
	}
	
	if (document.getElementById("HOTELFEATURESTXT"))
		CallHotelFeature(ListOfElem[4])
		
	
		
}



function openCarte(url)
	{
		window.open(url, 'carte', 'toolbar=no,location=no,status=no,scrollbars=no,resizable=no,width=800,height=650')
	}
	
	
	
function CallLimitedOffers()
{
	//document.getElementById("DEBUG").innerHTML = APPSWebServerURL + 'web2/Homepage/Include/LimitedOffers/content.asp?' + defaultParams
	PassAjaxResponseToFunction(APPSWebServerURL + 'web2/Homepage/Include/LimitedOffers/content.asp?' + defaultParams, 'ShowLimitedOffers')
}

function ShowLimitedOffers(response)
{
	CleanResponse = FilterContent(response)
	
	ListOfElem = CleanResponse.split('-*-')
	document.getElementById("LIMITEDOFFERS").innerHTML =  ListOfElem[1]
	
}



function CallPromotions()
{
	//document.getElementById("DEBUG").innerHTML = APPSWebServerURL + 'web2/Homepage/Include/Promotions/content.asp?' + defaultParams
	PassAjaxResponseToFunction(APPSWebServerURL + 'web2/Homepage/Include/Promotions/content.asp?' + defaultParams, 'ShowPromotions')
}

function ShowPromotions(response)
{
	CleanResponse = FilterContent(response)
	
	ListOfElem = CleanResponse.split('-*-')
	document.getElementById("PROMOTIONS").innerHTML =  ListOfElem[1]
	
}


function SwitchTabImage(selTabID, otherTabID)
{
	if(document.getElementById(selTabID)){
		TabRef = document.getElementById(selTabID)
	}
	
	if(document.getElementById(selTabID + "Sel")){
		selTabRef = document.getElementById(selTabID  + "Sel")
	}
	
	if(document.getElementById(otherTabID)){
		otherTabRef = document.getElementById(otherTabID)
	}
	
	if(document.getElementById(otherTabID + "Sel")){
		selOtherTabRef = document.getElementById(otherTabID + "Sel")
	}
	
	if(TabRef != "" && selTabRef != "" && otherTabRef != "" && selOtherTabRef != "")
	{
		TabRef.className="hidden";
		selTabRef.className="imageButton";
		otherTabRef.className="imageButton";
		selOtherTabRef.className="hidden";
	}
		
}

var SelectedHolidayDetailTab = ""
var SelectedHolidayDetailText = ""

function SelectThemeDetail(option, text)
{
	if (SelectedHolidayDetailTab || ""){
		
		SelectedHolidayDetailTab.className = "normalTab";
		HideElem(SelectedHolidayDetailText);
	}
	SelectedHolidayDetailTab = document.getElementById(option);
	SelectedHolidayDetailText = text;
	SelectedHolidayDetailTab.className = "selected";
	ShowElem(SelectedHolidayDetailText);
	
}

var SelectedHotelDetailTab = ""
var SelectedHotelDetailText = ""

function SelectThemeHotelDetail(option, text)
{
	if (SelectedHotelDetailTab || ""){
		
		SelectedHotelDetailTab.className = "hotelDetailLink";
		HideElem(SelectedHotelDetailText);
	}
	SelectedHotelDetailTab = document.getElementById(option);
	SelectedHotelDetailText = text;
	SelectedHotelDetailTab.className = "hotelDetailLinkSel";
	ShowElem(SelectedHotelDetailText);
	
}

function IsNumeric(sText)
{
   var ValidChars = "0123456789";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
}

function GoToTFW()
{
	if (DealsType == 'package')
		location.href = APPSWebServerURL + 'web2/offerlist/Package/default.asp?' + defaultParams + '&WHATID=1&FROMLEVEL=2&FROMSELECTED=' + document.getElementById("leavingGateway").value
	else
		location.href = APPSWebServerURL + 'web2/offerlist/Flight/default.asp?' + defaultParams + '&WHATID=2&FROMLEVEL=2&FROMSELECTED=' + document.getElementById("leavingGateway").value
}


function ShowFlash(swf, img, width, height)
{
    str= '';
    // Major version of Flash required
    var requiredMajorVersion = 8;
    // Minor version of Flash required
    var requiredMinorVersion = 0;
    // Minor version of Flash required
    var requiredRevision = 0;
    
    var hasReqestedVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);

    if ( hasReqestedVersion ) {
		str += '<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"';
	    str += '  codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" ';
	    str += ' ID="script" WIDTH="' + width + '" HEIGHT="' + height + '" ALIGN="">';
	    str += ' <PARAM NAME=movie VALUE="' + swf + '"> <PARAM NAME=quality VALUE=high> <PARAM NAME=bgcolor VALUE=#FFFFFF>  '; 
	    str += ' <EMBED src="' + swf + '" quality=high bgcolor=#FFFFFF  ';
	    str += ' swLiveConnect=FALSE WIDTH="' + width + '" HEIGHT="' + height + '" NAME="script" ALIGN=""';
	    str += ' TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer">';
	    str += ' </EMBED>';
	    str += ' </OBJECT>';
	    
    } else{
	    str += '<IMG SRC="' + img + '" usemap="#script" BORDER=0>';
    }
    
    document.getElementById("BANNERFLASHZONE").innerHTML = str;

}


