var parentBoxName = ''
var DivRefine = ''
var DivRefineBy = ''
var MouseDownState = 0
var RefineHTMLholder
var RefineDivID
var FLTNBRSHOW = 10
var PCKNBRSHOW = 10
var OPJNBRSHOW = 5
var ActiveRB = ''


var DepartureDate = new Array(32)
var ReturnDate = new Array(32)

CleanDateArray()

function CleanDateArray()
{
	for(c=1;c<=31;c++)
		DepartureDate[c] = ''
		
	for(c=1;c<=31;c++)
		ReturnDate[c] = ''	
}

//list all the refine var
var PriceRefineContent = ''
var DureeRefineContent = ''
var DDateRefineContent = ''
var RDateRefineContent = ''
var RatingRefineContent = ''
var ClassRefineContent = ''
var DestinationRefineContent = ''

function OpenRefine(boxName)
{
	/*if (parentBoxName != '' && document.getElementById(parentBoxName).style.display == "block")
	{
		document.getElementById(parentBoxName).style.display = "none";
		document.getElementById(parentBoxName + 'Tl').style.display = "block";
	}*/
	document.getElementById(boxName).style.display = "block";
	document.getElementById(boxName + 'Tl').style.display = "none";
	parentBoxName = boxName
}

function CloseRefine(boxName)
{
	document.getElementById(boxName).style.display = "none";
	document.getElementById(boxName + 'Tl').style.display = "block";
	/*parentBoxName = ''*/
}

function ExpendPriceInterval()
{
	document.getElementById("PriceInterval").innerHTML = document.getElementById("PriceRangeM").innerHTML
}

function ExpendDureeInterval()
{
	document.getElementById("DureeInterval").innerHTML = document.getElementById("DureeRangeM").innerHTML
}


function ApplyPriceInterval()
{
	RefineThePrice(document.getElementById("priceRefBoxA").value + '-' + document.getElementById("priceRefBoxB").value , 5)
	
}

function SetHighLightMode(elem, day, typ)
{
	
	if(elem.className=='selectedDay')
		MouseDownState=2
	else
		MouseDownState=1
	
	dosome(elem, day, typ)
}

function dosome(elem, day, typ)
{
	
	if (MouseDownState!=0)
	{
		justDay = day.substring(6,8)
		if (MouseDownState==1)
		{
			elem.className='selectedDay'
			//document.getElementById("DEBUG").innerHTML =justDay + '-' + 1
			if(typ == 'Dep')
				DepartureDate[parseFloat(justDay)] = day
			else
				ReturnDate[parseFloat(justDay)] = day
		}
		else
		{
			elem.className='activeDay'
			//document.getElementById("DEBUG").innerHTML =justDay + '-' + 0
			if(typ == 'Dep')
				DepartureDate[parseFloat(justDay)] = ''
			else
				ReturnDate[parseFloat(justDay)] = ''
			
		}
	}
}

function BuildStrRefine(Arr, max)
{
	finalStr = ''
	for(c=1;c<=max;c++)
	{
		if (Arr[c] != '')
		{
			finalStr = finalStr + "'" + Arr[c] + "',"
		}
	}
	return(finalStr)
}

var PRS //PriceRefineSelected
function RefineThePrice(range, sel, type)
{
	var OLType = type;
	PRS = sel
	PriceRefineContent = range;
	RefineOL('RefineByPriceRange', OLType);
	//CloseRefine('RefineByPriceRange')
}

function RefineTheDuree(duree, type)
{
	var OLType = type;
	DureeRefineContent = duree
	RefineOL("RefineByDuree", OLType);
}

function RefineClass(clas, type)
{
	var OLType = type;
	ClassRefineContent = clas
	RefineOL('RefineByClass', OLType);
}

function RefineDestination(dest, type)
{
	var OLType = type;
	DestinationRefineContent = dest
	RefineOL('RefineByDestination', OLType);
}


function ChangeRefineRating(rat, type)
{
	var OLType = type;
	RatingRefineContent = rat
	RefineOL('RefineByRating', OLType);
	//setTimeout("CloseRefine('RefineByRating')",1); 
}

var RefineRatingValue = "";

function InitializeRefRatingStar(min)
{
	RefineRatingValue = min - 0;
}


function RemoveRefRatingStar(min,max)
{
	var refMin = min - 0;
	RefineRatingValue = RefineRatingValue - 0.5;
	RefRatingLayer = document.getElementById("RefRating")
	RefPlusTD = document.getElementById("RefRatingPlus")
	RefMinTD = document.getElementById("RefRatingMinus")
	
	RefPlusTD.className = "refineRatingPlus";
	
	if (RefineRatingValue >= refMin)
	{
		if(RefineRatingValue > refMin)
		{
			RefRatingLayerWidth = RefineRatingValue * 18
			RefRatingLayer.style.width = RefRatingLayerWidth + "px"		
		}else
		{
			RefRatingLayerWidth = RefineRatingValue * 18
			RefRatingLayer.style.width = RefRatingLayerWidth + "px"
			RefMinTD.className = "hidden";
		}
	}
}

function AddRefRatingStar(min,max)
{
	var refMax = max - 0;
	RefineRatingValue = RefineRatingValue + 0.5;
	RefRatingLayer = document.getElementById("RefRating")
	RefPlusTD = document.getElementById("RefRatingPlus")
	RefMinTD = document.getElementById("RefRatingMinus")
	
	RefMinTD.className = "refineRatingMinus";
	
	if (RefineRatingValue <= refMax)
	{
		if(RefineRatingValue < refMax)
		{
			RefRatingLayerWidth = RefineRatingValue * 18
			RefRatingLayer.style.width = RefRatingLayerWidth + "px"		
		}else
		{
			RefRatingLayerWidth = RefineRatingValue * 18
			RefRatingLayer.style.width = RefRatingLayerWidth + "px"
			RefPlusTD.className = "hidden";
		}
	}
}

function ChangeRefineRating2(rat, type)
{
	var OLType = type;
	RatingRefineContent = RefineRatingValue;
	RefineOL('RefineByRating' , OLType); 
}

function ResetRefine()
{
	//window.location.reload( false );
	PriceRefineContent = "-1"
	DDateRefineContent = "-1"
	RDateRefineContent = ''
	RatingRefineContent = "-1"
	ClassRefineContent = "-1"
	DureeRefineContent = "-1"
	DestinationRefineContent = ''
	CleanDateArray()
	
}

function ResetPriceRefine()
{
	PriceRefineContent = "-1";
}

function ResetDureeRefine()
{
	DureeRefineContent = "-1";
}

function ResetDepartureDateRefine()
{
	DDateRefineContent = "-1";
}

function ResetReturnDateRefine()
{
	RDateRefineContent = '';
}

function ResetRatingRefine()
{
	RatingRefineContent = "-1";
}

function ResetDestinationRefine()
{
	DestinationRefineContent = '';
}

function ResetClassRefine()
{
	ClassRefineContent = "-1";
}

function UpdateRefine()
{
	if (document.getElementById("REFINEWHENMONTH"))
		{
			//document.getElementById("REFINEWHENMONTH").innerHTML = CWhen
			
			if(document.getElementById("divMonthContent"))
			{
				document.getElementById("REFINEWHENMONTH").innerHTML = document.getElementById("divMonthContent").innerHTML
			}
		}
	if (document.getElementById("REFINERETURNMONTH"))
		document.getElementById("REFINERETURNMONTH").innerHTML = CWhen

	if(PriceRefineContent != '')
	{
		//document.getElementById("PRTD" + PriceRefineContent).className='priceListElementOver'
	}
	if(DDateRefineContent != '')
	{
		
		arr = DDateRefineContent.split(',')
		for(c=0;c<arr.length-1;c++)
		{
			
			elem = arr[c].substring(1,9)
			SetHighLightMode(document.getElementById('Dep' + elem), elem, 'Dep')
		}
	}
	if(RDateRefineContent != '')
	{

		arr = RDateRefineContent.split(',')
		for(c=0;c<arr.length-1;c++)
		{
			
			elem = arr[c].substring(1,9)
			SetHighLightMode(document.getElementById('Ret' + elem), elem, 'Ret')
		}
	}
	
	/*if(RatingRefineContent != '')
	{
		document.getElementById("RatingLI").style.width = RatingRefineContent*20
	}*/
	if(ClassRefineContent != '')
	{
		if (ClassRefineContent == 'J')
			document.getElementById("classY").checked = false
		if (ClassRefineContent == 'Y')
			document.getElementById("classJ").checked = false
	}
	MouseDownState=0
}

function LoadDetailOffer(idpos, PID)
{
	//check if it is a deal
    if(document.getElementById("PCKDEALSCONT" + 2))
        EngType = 'DEALS';
    else if(document.getElementById("PCKDEALSCONT" + 3))
        EngType = 'DEALS';
    else
        EngType = '';
    
	params = defaultParams + '&PID=' + PID + '&OLID=' + idpos + '&TYPE=' + EngType
	
	
	StartDate = new Date();
	//self.parent.document.getElementById("DEBUG").innerHTML =APPSWebServerURL + 'Web2/Offerlist/Package/ContentDO.asp?' + params + "&XSLTEMPLATEREF=" + XSLTemplateRef
	PassAjaxResponseToFunction(APPSWebServerURL + 'Web2/Offerlist/Package/ContentDO.asp?' + params + "&XSLTEMPLATEREF=" + XSLTemplateRef, 'ShowDetailOffer', idpos)
	
}

function ShiftPage(params, OLTypeID, promoID)
{
	if (OLTypeID == "PCK"){
		{
			if(isdefined('GROUPID'))
				 GrpParams = '&SPECIALGROUPID=' + GROUPID
			else
			   GrpParams = ''
			PCKCallOL(defaultParams + '&' + params + GrpParams, promoID);
		}
	}
	if (OLTypeID == "FLT"){
		FLTCallOL(defaultParams + '&' + params, promoID);
	}
	if (OLTypeID == "PCKDEALS"){
		CallOL(defaultParams + '&' + params, promoID);
	}
	if (OLTypeID == "FLTDEALS"){
		CallOL(defaultParams + '&' + params, promoID);
	}
	
}
 
function RefineOL(idName, type)
{

	var OLTypeParam = type;

	if(idName)
	{
		//Hold the current RefineSelection HTML to reconstruct at loading
		RefineDivID = idName
		RefineHTMLholder = document.getElementById(idName).innerHTML
	}
	
	//on a refine(or change of product per page) we must rester the pageid to 1
	PageIDparams = "&PAGEID=1"
	switch(OLTypeParam)
	{
	case "Flight":
	  if(isdefined('GROUPID'))
		 GrpParams = '&SPECIALGROUPID=' + GROUPID
	  else
	     GrpParams = ''
	  FLTCallOL(defaultParams + '' + DefaultOLParams + GrpParams + PageIDparams);
	  break    
	case "Package":
	  if(isdefined('GROUPID'))
		 GrpParams = '&SPECIALGROUPID=' + GROUPID
	  else
	     GrpParams = ''
	     
	  PCKCallOL(defaultParams + '' + DefaultOLParams + GrpParams + PageIDparams);
	  break
	case "OpenJaw":
	  OPJCallOL(defaultParams + '' + DefaultOLParams + PageIDparams);
	  break
	}
	
	
	
	
}

function ReconstructRefine()
{
	
	if (document.getElementById(RefineDivID) && RefineHTMLholder)
	{
		document.getElementById(RefineDivID).innerHTML = RefineHTMLholder
		//reselect the radio button because of firefox
		if (document.getElementById(ActiveRB))
			document.getElementById(ActiveRB).checked=true
	}
	
	RefineDivID = ''	
}

function BookItPack(PID)
{
	location.href = APPSWebServerURL + 'Calculator/Package/passengers.asp?' + defaultParams + '&WHATID=1&PID=' + PID
}

function GoToDOPack(PID)
{
	location.href = APPSWebServerURL + 'Web2/DetailOffer/default.asp?' + defaultParams + '&WHATID=1&PID=' + PID
}

function GoToNewDOPack(PID)
{
    
    setCookie('DOHTTPReferrer', escape(window.location.href), 30, '/') ;
    location.href = APPSWebServerURL + 'Web2/Search/ulysse/packageDetail.asp?' + defaultParams + '&WHATID=1&PID=' + PID
}

function GoToNewDOPackFromTripSummary(PID)
{
    setCookie('DOHTTPReferrer', escape(window.location.href), 30, '/') ;
    return APPSWebServerURL + 'Web2/Search/ulysse/packageDetail.asp?' + defaultParams + '&WHATID=1&PID=' + PID + '&Descente=do';
}

function BookItOJ(Params)
{
	location.href = APPSWebServerURL + 'Calculator/OpenJaw/passengers.asp?' + defaultParams + '&' + Params
}

function BookItFlight(PID)
{
	location.href = APPSWebServerURL + 'Calculator/Flight/passengers.asp?' + defaultParams + '&WHATID=2&PID=' + PID + '&ReferrerURL=' + escape(window.location.search.substring(1))
}

function ChangePackageImg(linkName, imgName, img2Name)
{
	LnkSelected = document.getElementById(linkName);
	ImgSelected = document.getElementById(imgName);
	Img2Selected = document.getElementById(img2Name);
	
	if (LnkSelected.className==NonSelectedClass)
	{
		Img2Selected.style.display = '';
		ImgSelected.style.display = 'none';
	}
	else if (LnkSelected.className==SelectedClass)
	{
		ImgSelected.style.display = '';
		Img2Selected.style.display = 'none';	
	}
}




function FLTCallGOL(params)
{

	/*if (document.getElementById("FLTOLCONTENTTR"))
		document.getElementById("FLTOLCONTENTTR").style.display = "none";
	if (document.getElementById("FLTGRIDCONTENT"))
		document.getElementById("FLTGRIDCONTENT").innerHTML = '<table width="100%" height="300"><tr><td align="center"><img src="' + SaticContentURL + 'web2/offerlist/loading.gif" alt="" border="0"></td></tr></table>'
		
	if (document.getElementById("FLTOLREFINE"))
		document.getElementById("FLTOLREFINE").innerHTML = ''
	if (document.getElementById("FLTPAGEBOX"))
		document.getElementById("FLTPAGEBOX").innerHTML = ''
	if (document.getElementById("FLTPAGEBOX2"))
		document.getElementById("FLTPAGEBOX2").innerHTML = ''
	if (document.getElementById("FLTNbrPerPageTbl"))
		document.getElementById("FLTNbrPerPageTbl").style.display = "none"
	
	*/
	//document.getElementById("DEBUG").innerHTML = APPSWebServerURL + 'Web2/Offerlist/Flight/ContentFlex.asp?' + params;
	PassAjaxResponseToFunction(APPSWebServerURL + 'Web2/Offerlist/Flight/ContentFlex.asp?' + params, 'FLTShowOLFlex')
}

function FLTShowOLFlex(response)
{
	CleanResponse = FilterContent(response)
	ListOfElem = CleanResponse.split('-*-')
	
	//if(document.getElementById("FLTOLMULTIDEST"))
		//document.getElementById("FLTOLMULTIDEST").innerHTML = ""
	if (document.getElementById("FLTGRIDCONTENTTR"))
		document.getElementById("FLTGRIDCONTENTTR").style.display = '';	
	if(document.getElementById("FLTGRIDCONTENT"))	
		document.getElementById("FLTGRIDCONTENT").innerHTML =  ListOfElem[1];
	if(document.getElementById("WhenText"))	
		document.getElementById("WhenText").innerHTML =  ListOfElem[2];
	if(document.getElementById("WhenText2"))	
		document.getElementById("WhenText2").innerHTML =  ListOfElem[2];
	if(document.getElementById("ReturnText"))	
		document.getElementById("ReturnText").innerHTML =  ListOfElem[3];
	if(document.getElementById("ReturnText2"))	
		document.getElementById("ReturnText2").innerHTML =  ListOfElem[3];
	location.href="#GRID"
}

function PCKCallGOL(params)
{
	/*if (document.getElementById("PCKOLCONTENTTR"))
		document.getElementById("PCKOLCONTENTTR").style.display = "none";
	
	if (document.getElementById("PCKGRIDCONTENT"))
		document.getElementById("PCKGRIDCONTENT").innerHTML = '<table width="100%" height="300"><tr><td align="center"><img src="' + SaticContentURL + 'web2/offerlist/loading.gif" alt="" border="0"></td></tr></table>'
		
	if (document.getElementById("PCKOLREFINE"))
		document.getElementById("PCKOLREFINE").innerHTML = ''
	if (document.getElementById("PCKPAGEBOX"))
		document.getElementById("PCKPAGEBOX").innerHTML = ''
	if (document.getElementById("PCKPAGEBOX2"))
		document.getElementById("PCKPAGEBOX2").innerHTML = ''
	if (document.getElementById("PCKNbrPerPageTbl"))
		document.getElementById("PCKNbrPerPageTbl").style.display = "none"
	*/
	PassAjaxResponseToFunction(APPSWebServerURL + 'Web2/Offerlist/Package/ContentFlex.asp?' + params, 'PCKShowOLFlex')
}

function PCKShowOLFlex(response)
{
	
	CleanResponse = FilterContent(response)
	ListOfElem = CleanResponse.split('-*-')
	
	//if(document.getElementById("PCKOLCONTENT"))	
	//	document.getElementById("PCKOLCONTENT").innerHTML =  ListOfElem[1];
	if (document.getElementById("PCKGRIDCONTENTTR"))
		document.getElementById("PCKGRIDCONTENTTR").style.display = '';	
	if(document.getElementById("PCKGRIDCONTENT"))	
		document.getElementById("PCKGRIDCONTENT").innerHTML =  ListOfElem[1];
	
	if(document.getElementById("WhenText"))	
		document.getElementById("WhenText").innerHTML =  ListOfElem[2];
	if(document.getElementById("WhenText2"))	
		document.getElementById("WhenText2").innerHTML =  ListOfElem[2];
	if(document.getElementById("ReturnText"))	
		document.getElementById("ReturnText").innerHTML =  ListOfElem[3];
	if(document.getElementById("ReturnText2"))	
		document.getElementById("ReturnText2").innerHTML =  ListOfElem[3];
	location.href="#GRID"	
}


function ChangeToText(dest)
{
	if(document.getElementById("ToText"))
		document.getElementById("ToText").innerHTML = dest
}

function ChangeWhenReturnText(when, ret)
{
	if(document.getElementById("WhenText"))
		document.getElementById("WhenText").innerHTML = when
	if(document.getElementById("ReturnText"))
		document.getElementById("ReturnText").innerHTML = ret
}

function setCookie( name, value, expires, path, domain, secure )
    {// set time in milliseconds
    var today = new Date();
    today.setTime( today.getTime() );

    if ( expires )
        expires = expires * 1000 * 60 * 60 * 24;
    var expires_date = new Date( today.getTime() + (expires) );

    document.cookie = name + "=" +escape( value ) +
    ( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) +
    ( ( path ) ? ";path=" + path : "" ) +
    ( ( domain ) ? ";domain=" + domain : "" ) +
    ( ( secure ) ? ";secure" : "" );}

