/* booking overview availability checks: */

function checkAccodelivery(){
   var accodelivery = document.getElementById('accodelivery').value;
   if (accodelivery == "accommdel"){
    document.getElementById('accommodationdelivery').style.display = "block";
    document.getElementById('availability').style.display = "block";
    document.getElementById('availability2').style.display = "block";
    }
   return;
}

function checkOneway(){
  var pickupoffice = document.getElementById('pickupoffice').value;
  var dropoffoffice = document.getElementById('dropoffoffice').value;
  if (!(pickupoffice == dropoffoffice)){
   document.getElementById('oneway').style.display = "block";
   document.getElementById('availability').style.display = "block";
   document.getElementById('availability2').style.display = "block";
   }
  return;
}

function checkOnRequest(){
var onrequest = document.getElementById('onrequest').value;
   if (onrequest == "Y"){
    document.getElementById('carclassonrequest').style.display = "block";
    document.getElementById('availability').style.display = "block";
    document.getElementById('availability2').style.display = "block";
    }
   return;
}

function checkOutOfHours(){
var outofhourpickup = document.getElementById('outofhourpickup').value;
var outofhourdropoff = document.getElementById('outofhourdropoff').value;
   if (outofhourpickup + outofhourdropoff > 0){
    document.getElementById('outofhours').style.display = "block";
    document.getElementById('availability').style.display = "block";
    document.getElementById('availability2').style.display = "block";
    }
   return;
}

function checkStopSale(){
var stopsale = document.getElementById('stopsale').value;
   if (stopsale == 1){
    document.getElementById('stopofsale').style.display = "block";
    document.getElementById('availability').style.display = "block";
    document.getElementById('availability2').style.display = "block";
    }
   return;
}

function calcDays(){
  var date1 = document.getElementById('pickupDate').value;
  var date2 = document.getElementById('currentDate').value;
  date1 = date1.split("-");
  date2 = date2.split("-");
  var sDate = new Date(date1[0]+"/"+date1[1]+"/"+date1[2]);
  var eDate = new Date(date2[0]+"/"+date2[1]+"/"+date2[2]);
  var daysApart = Math.abs(Math.round((sDate-eDate)/86400000));
  if (daysApart < 3){
   document.getElementById('before48hours').style.display = "block";
   document.getElementById('availability').style.display = "block";
   document.getElementById('availability2').style.display = "block";
   }
  return;
}

/* End booking overview availability checks: */ 

/* getting mouse coordinates: */

var IE = document.all?true:false;
if (!IE) document.captureEvents(Event.MOUSEMOVE)
document.onmousemove = getMouseXY;
var tempX = 0;
var tempY = 0;

function getMouseXY(e) {
	if (IE) {
		tempX = event.clientX + document.documentElement.scrollLeft;
		tempY = event.clientY + document.documentElement.scrollTop;
	}
	else 
	{
		tempX = e.pageX;
		tempY = e.pageY;
	}  
	if (tempX < 0){tempX = 0;}
	if (tempY < 0){tempY = 0;}
	return true;
}


// "change site languages" function
function setLang(newLang, currentUrl) 
{
	if (newLang != "") ret = getFileScriptOutput("back/setLang.aspx?setLang=" + newLang);
	

	if (ret == "ok")
	{
		//reload page with new language
		var url = window.location.href;
		var pos = url.search(/language=/i);
		if (pos!=-1)
		{
			var strSearch = url.substring(pos  , pos+11 );
			url = url.replace(strSearch, "language="+newLang);
		}

		pos = url.search("holidaycars.com/");
		if (pos!=-1)
		{
			var offset = pos + 16;
			var strSearch = url.substring(offset  , offset+4 );
			if( strSearch.substring( strSearch.length -1 )== "/" )
			{
				url = url.replace(strSearch, "/"+newLang+"/");
			}
		}
		
		window.location.href=url;
	}
}



/*show hides advanced search on search car page*/
function showHideAdvSearch(itemId) 
{
	if (document.getElementById(itemId) == null) return;
	
	if (document.getElementById(itemId).style.display == "block") 
	{
		document.getElementById(itemId).style.display = "none";
		resetAdvOptions();
	}
	else 
	{
		document.getElementById(itemId).style.display = "block";
	}
}


/* function that resets the advanced options when unchecked: */
function resetAdvOptions()
{
	if (document.searchForm.carclass) 
	{
		for (i = 0; i < document.searchForm.carclass.length; i++) 
		{
			if (document.searchForm.carclass[i].checked)
			{
				document.searchForm.carclass[i].checked = false;
			}
		}
	}
	
	document.getElementById('transmission').selectedIndex = 0;
	document.getElementById('airco').selectedIndex = 0;
	document.getElementById('bodytype').selectedIndex = 0;
	document.getElementById('doors').selectedIndex = 0;
	document.getElementById('fuel').selectedIndex = 0;
	document.getElementById('seats').selectedIndex = 0;
	document.getElementById('navsystem').selectedIndex = 0;
	document.getElementById('fourwd').selectedIndex = 0;
}



/*show hides advanced search on select car page*/
function showHideAdvSelect(itemId) 
{
	if (document.getElementById(itemId) == null) return;
	
	if (document.getElementById(itemId).style.display == "block") 
	{
		document.getElementById(itemId).style.display = "none";
		resetAdvOptions();
	}
	else document.getElementById(itemId).style.display = "block";
	
}



// validation of the required fields of the form and submit:
function submitSearch(formId)
{
	animShow();
	
	if (validateForm(formId)) 
	{
		document.getElementById(formId).submit();
	}
	else 
	{
		animHide();
	}
}




function validateForm(formId) 
{
	var ret = true;

	var errStr = "";

	if (TrimString(document.getElementById('pickuplocation').value) == '' || TrimString(document.getElementById('pickuplocationId').value) == '') {
		errStr += PICKUPLOCATION_ERR + "\n";
	}
	if (TrimString(document.getElementById('pickupdate_DT').value) == "") errStr += PICKUPDATE_ERR + "\n";
	if (TrimString(document.getElementById('dropoffdate_DT').value) == "") errStr += RETURNDATE_ERR + "\n";
	if (TrimString(document.getElementById('pickuptime').value) == "") errStr += PICKUPTIME_ERR + "\n";
	if (TrimString(document.getElementById('dropofftime').value) == "") errStr += RETURNTIME_ERR + "\n";
	/* 30052006 - 1 */
	if (!compareTimesOnEqualDates(false)) errStr += TIMEONEQUALDATE_ERR + "\n";
	
	if (document.getElementById('currency').options.length > 0)
	{
		if (TrimString(document.getElementById('currency').options[document.getElementById('currency').selectedIndex].value) == "") 
		{
			errStr += CURRENCYCODE_ERR + "\n";
		}
	}

	if (errStr != "") {
		ret = false;
		alert(errStr);
	}
	
	return ret;
}


/* 30052006 - 23 */
function compareTimesOnEqualDates(fireError)
{
	var ret = true;
	if (TrimString(document.getElementById('pickupdate_DT').value) == TrimString(document.getElementById('dropoffdate_DT').value))
	{
		var pickUpTimeVar = new String(TrimString(document.getElementById('pickuptime').value).replace(':','').replace(':',''));
		if (pickUpTimeVar.indexOf("0") == 0) pickUpTimeVar = pickUpTimeVar.substring(1, pickUpTimeVar.length);
		pickUpTimeVarInt = parseInt(pickUpTimeVar);
		
		var returnTimeVar = new String(TrimString(document.getElementById('dropofftime').value).replace(':','').replace(':',''));
		if (returnTimeVar.indexOf("0") == 0) returnTimeVar = returnTimeVar.substring(1, returnTimeVar.length);
		returnTimeVarInt = parseInt(returnTimeVar);
		
		if (pickUpTimeVarInt >= returnTimeVarInt)
		{
			if (fireError == true) alert(TIMEONEQUALDATE_ERR);
			ret = false;
		}
	}
	return ret;
}


/* Trim() for JavaScript String: */
function TrimString(inputStr) {
	var str = new String(inputStr);
	str = str.replace( /^\s+/g, "" );
	return str.replace( /\s+$/g, "" );
}


function setChBox(itemId)
{
	if (document.getElementById(itemId + "_hid"))
	{
		if (document.getElementById(itemId).checked) document.getElementById(itemId + "_hid").value = "1";
		else document.getElementById(itemId + "_hid").value = "";
	}
}





function pwOpen(sUrl, ID, type)
{
	animHide();

	if (sUrl != '') 
	{
		var qStr = "";
		
		var windowProps = "";
		
		if (type == 'cardetails')
		{
			qStr = "CarID=" + ID;
			qStr += "&" + getSelectCarFormValuesToQueryString5('searchForm');
			windowProps = "width=550, height=250, resizable=yes, scrollbars=yes";
			sUrl += "?" + qStr;
		}
		else if (type == 'callme') windowProps = "width=370, height=450, resizable=no, scrollbars=no";
		else if (type == 'productdetails')
		{
			qStr = "ProductID=" + ID;
			windowProps = "width=780, height=500, resizable=yes, scrollbars=yes";
			sUrl += "?" + qStr;
		}
		else if (type == 'printcarlist') windowProps = "width=635, height=500, resizable=yes, scrollbars=yes";
		else if (type == 'emailcarlist') windowProps = "width=450, height=300, resizable=no, scrollbars=no";
		else if (type == 'printBooking') windowProps = "width=635, height=500, resizable=yes, scrollbars=yes";
		else windowProps = "width=780, height=500, resizable=yes, scrollbars=yes";

		window.open(sUrl, type, windowProps);
	}
}





function getSelectCarFormValuesToQueryString(formId) 
{
	// for product matrix:
	
	var qsStr = "";
	
	qsStr += "PickupLocationID=" + document.getElementById('pickuplocationId').value;
	qsStr += "&DropoffLocationID=" + document.getElementById('dropofflocationId').value;
	qsStr += "&PickupDate=" + document.getElementById('pickupdate_DT').value + "T" + document.getElementById('pickuptime').value;
	qsStr += "&DropoffDate=" + document.getElementById('dropoffdate_DT').value + "T" + document.getElementById('dropofftime').value;
	
	if (document.getElementById('currency').options.length > 0)
		qsStr += "&CurrencyCode=" + document.getElementById('currency').options[document.getElementById('currency').selectedIndex].value;
	
	qsStr += "&FrequentDriverCode=" + document.getElementById('drivercode').value;
	
	if (document.getElementById('airco').options[document.getElementById('airco').selectedIndex].value != "0")
		qsStr += "&Airco=" + document.getElementById('airco').options[document.getElementById('airco').selectedIndex].value;
	
	if (document.getElementById('doors').options[document.getElementById('doors').selectedIndex].value > 0)
		qsStr += "&Doors=" + document.getElementById('doors').options[document.getElementById('doors').selectedIndex].value;
		
	if (document.searchForm.carclass) 
	{
		carTypesStr = "";
		m = 0;
		for (i = 0; i < document.searchForm.carclass.length; i++) 
		{
			if (document.searchForm.carclass[i].checked)
			{
				if (m > 0) carTypesStr += ",";
				carTypesStr += document.searchForm.carclass[i].value;
				m++;
			}
		}
		
		if (carTypesStr != "") qsStr += "&CarTypes=" + carTypesStr;
	}

	if (document.getElementById('bodytype').options[document.getElementById('bodytype').selectedIndex].value > 0)
		qsStr += "&Chassis=" + document.getElementById('bodytype').options[document.getElementById('bodytype').selectedIndex].value;

	if (document.getElementById('fourwd').options[document.getElementById('fourwd').selectedIndex].value != "0")
		qsStr += "&FourWheelDrive=" + document.getElementById('fourwd').options[document.getElementById('fourwd').selectedIndex].value;
	
	if (document.getElementById('seats').options[document.getElementById('seats').selectedIndex].value > 0)
		qsStr += "&Seats=" + document.getElementById('seats').options[document.getElementById('seats').selectedIndex].value;
	
	if (document.getElementById('navsystem').options[document.getElementById('navsystem').selectedIndex].value != "0")
		qsStr += "&Navigation=" + document.getElementById('navsystem').options[document.getElementById('navsystem').selectedIndex].value;
	
	if (document.getElementById('transmission').options[document.getElementById('transmission').selectedIndex].value > 0)
		qsStr += "&Transmission=" + document.getElementById('transmission').options[document.getElementById('transmission').selectedIndex].value;

	if (document.getElementById('fuel').options[document.getElementById('fuel').selectedIndex].value > 0)
		qsStr += "&Fuel=" + document.getElementById('fuel').options[document.getElementById('fuel').selectedIndex].value;
	
	qsStr += "&LanguageCode=" + document.getElementById('languagecode').value;
	qsStr += "&ModuleID=" + document.getElementById('moduleId').value;
	qsStr += "&AccountID=" +  + document.getElementById('accountId').value;
	qsStr += "&ProductType=";
	return qsStr;
}





function getSelectCarFormValuesToQueryString2(formId) 
{
	// especially for the getCars web service:
	
	var qsStr = "";
	
	qsStr += "PickUpLocationID=" + document.getElementById('pickuplocationId').value;
	qsStr += "&ReturnLocationID=" + document.getElementById('dropofflocationId').value;
	qsStr += "&PickUpDateTime=" + document.getElementById('pickupdate_DT').value + "T" + document.getElementById('pickuptime').value;
	qsStr += "&ReturnDateTime=" + document.getElementById('dropoffdate_DT').value + "T" + document.getElementById('dropofftime').value;
	qsStr += "&CurrencyCode=" + document.getElementById('currency').options[document.getElementById('currency').selectedIndex].value;
	
	if (document.getElementById('drivercode').value != "")
		qsStr += "&FrequentDriverCode=" + document.getElementById('drivercode').value;
	
	if (document.getElementById('airco').options[document.getElementById('airco').selectedIndex].value != "0")
		qsStr += "&Airco=" + document.getElementById('airco').options[document.getElementById('airco').selectedIndex].value;
	
	if (document.getElementById('doors').options[document.getElementById('doors').selectedIndex].value > 0)
		qsStr += "&Doors=" + document.getElementById('doors').options[document.getElementById('doors').selectedIndex].value;

	if (document.getElementById('bodytype').options[document.getElementById('bodytype').selectedIndex].value > 0)
		qsStr += "&Chassis=" + document.getElementById('bodytype').options[document.getElementById('bodytype').selectedIndex].value;

	if (document.getElementById('fourwd').options[document.getElementById('fourwd').selectedIndex].value != "0")
		qsStr += "&FourWheelDrive=" + document.getElementById('fourwd').options[document.getElementById('fourwd').selectedIndex].value;

	if (document.getElementById('seats').options[document.getElementById('seats').selectedIndex].value > 0)
		qsStr += "&Seats=" + document.getElementById('seats').options[document.getElementById('seats').selectedIndex].value;
	
	if (document.getElementById('navsystem').options[document.getElementById('navsystem').selectedIndex].value != "0")
		qsStr += "&Navigation=" + document.getElementById('navsystem').options[document.getElementById('navsystem').selectedIndex].value;
	
	if (document.getElementById('transmission').options[document.getElementById('transmission').selectedIndex].value > 0)
		qsStr += "&Transmission=" + document.getElementById('transmission').options[document.getElementById('transmission').selectedIndex].value;
	
	if (document.getElementById('fuel').options[document.getElementById('fuel').selectedIndex].value > 0)
		qsStr += "&Fuel=" + document.getElementById('fuel').options[document.getElementById('fuel').selectedIndex].value;
	
	qsStr += "&LanguageCode=" + document.getElementById('languagecode').value;
	qsStr += "&ModuleID=" + document.getElementById('moduleId').value;
	qsStr += "&AccountID=" +  + document.getElementById('accountId').value;
	qsStr += "&ProductType=";
	return qsStr;
}




function getSelectCarFormValuesToQueryString3(formId) 
{
	// especially for the cart service:
	
	var qsStr = "";
	
	qsStr += "PickUpLocationID=" + document.getElementById('pickuplocationId').value;
	qsStr += "&PickUpLocationNAME=" + document.getElementById('pickuplocation').value;
	qsStr += "&ReturnLocationID=" + document.getElementById('dropofflocationId').value;
	qsStr += "&ReturnLocationNAME=" + document.getElementById('dropofflocation').value;
	qsStr += "&PickUpDateTime=" + document.getElementById('pickupdate_DT').value + "T" + document.getElementById('pickuptime').value;
	qsStr += "&ReturnDateTime=" + document.getElementById('dropoffdate_DT').value + "T" + document.getElementById('dropofftime').value;
	qsStr += "&CurrencyCode=" + document.getElementById('currency').options[document.getElementById('currency').selectedIndex].value;
	qsStr += "&LanguageCode=" + document.getElementById('languagecode').value;
	qsStr += "&ModuleID=" + document.getElementById('moduleId').value;
	qsStr += "&AccountID=" +  + document.getElementById('accountId').value;
	
	return qsStr;
}

function getSelectCarFormValuesToQueryString5(formId) 
{
	// especially for the cardetails of upgrade in the booking details:
	
	var qsStr = "";
	
	qsStr += "PickUpLocationID=" + document.getElementById('pickuplocationId').value;
	qsStr += "&ReturnLocationID=" + document.getElementById('dropofflocationId').value;
	qsStr += "&PickUpDateTime=" + document.getElementById('pickupdate_DT').value + "T" + document.getElementById('pickuptime').value;
	qsStr += "&ReturnDateTime=" + document.getElementById('dropoffdate_DT').value + "T" + document.getElementById('dropofftime').value;
	qsStr += "&CurrencyCode=" + document.getElementById('currency').value;
	qsStr += "&LanguageCode=" + document.getElementById('languagecode').value;
	qsStr += "&ModuleID=" + document.getElementById('moduleId').value;
	qsStr += "&AccountID=" +  + document.getElementById('accountId').value;
	
	return qsStr;
}

var animTimeout;
/*
function setAnim() 
{
	calendarTimeout = setTimeout('animShow()', 0);
}
*/

function updateImg(ctrl, imgsrc)
{
    var img = document.getElementById(ctrl);
	if (img) img.src = imgsrc;
}

function reloadImg(ctrl)
{
    var img = document.getElementById(ctrl);
    var imgSrc = img.src;
    var now = new Date();
    img.src = imgSrc + "?" + now.getTime();

}

function animShow(hideAllWhileWaiting)
{
	showNoClickDiv();
    /* 30052006 - 1 */
	if (hideAllWhileWaiting == true && document.all)
	{
		if (document.getElementById('header')) document.getElementById('header').style.display = "none";
		if (document.getElementById('navigation')) document.getElementById('navigation').style.display = "none";
		if (document.getElementById('content')) document.getElementById('content').style.display = "none";
	}
	
	
	return true;
}

function animHide()
{
    hideNoClickDiv();
	
	if (document.getElementById('header')) document.getElementById('header').style.display = "block";
	if (document.getElementById('navigation')) document.getElementById('navigation').style.display = "block";
	if (document.getElementById('content')) document.getElementById('content').style.display = "block";
	
	return true;
}



function showNoClickDiv()
{
    var objDiv = document.getElementById("noClickDiv");
    var objProgressDiv = document.getElementById("progressBar");
    var objProgressText = document.getElementById("progressText");
    var objAnimText = document.getElementById("anim");
    var progressText = 'wait...';
    
    // get text for progress bar from <DIV id='anim'> in webpage
    if (objAnimText)  progressText = objAnimText.innerHTML;
    
    // fill in text for progress bar in <DIV id='progressText'> 
    if (objProgressText)  objProgressText.innerHTML = progressText;
 
    //if (objDiv != null) objDiv.className = 'noClickDivVisible';
    if (objProgressDiv != null) objProgressDiv.className = 'progressBarVisible';

    resizeNoClickDiv();// Zet de initieele grootte
//    hideAllCombos(); //Omdat deze anders door de div heen komen.
    return true;
}
 

function hideNoClickDiv()
{
    var objDiv = document.getElementById("noClickDiv");
    var objProgressDiv = document.getElementById("progressBar");

    if (objDiv != null && objProgressDiv != null)
    {
        objDiv.className = 'noClickDivInvisible';
        objProgressDiv.className = 'progressBarInvisible';
    }

//    hideAllCombos(); //Omdat deze anders door de div heen komen.
}



function resizeNoClickDiv()
{
    var strBrowserType = navigator.appName;

//    setStyle("noClickDiv", "top", (document.body.scrollTop) + "px");
//    setStyle("noClickDiv", "width", (document.body.offsetWidth) + "px");

    if(strBrowserType.indexOf("Microsoft") > -1)//IE
    {
//        setStyle("noClickDiv", "height", (document.body.clientHeight) + "px");
    }
    else //Mozilla
    {
//        setStyle("noClickDiv", "height", (document.documentElement.offsetHeight) + "px");
    }

    var intImageWidth = 174;//getStyle(document.getElementById("progressImage"), "width");
    var intImageHeigth = 25;//getStyle(document.getElementById("progressImage"), "height");


    setStyle("progressBar", "left", (document.body.offsetWidth/2) - (intImageWidth/2) + "px");
//    setStyle("progressBar", "top", (document.body.offsetHeight/2) - (intImageHeigth/2) + document.body.scrollTop + "px");
    setStyle("progressBar", "top", (document.documentElement.offsetHeight/2) - (intImageHeigth/2) + document.documentElement.scrollTop + "px");
}


function setStyle(objId, style, value)
{
    try
    {
        if (document.getElementById(objId) != null) 
        {
            if (style == 'height')
            {
                document.getElementById(objId).style.height = value;
            }
            else
            {
                document.getElementById(objId).style[style] = value;
            }
        }
        return;
    }
    catch(err)
    {
        alert('error:' + err.message);
        return;
    }
}

function getStyle(el, style)
{
    if(!document.getElementById) return;

    var value = el.style[toCamelCase(style)];

    if(!value)
    {
        if(document.defaultView)
        {
            value = document.defaultView.getComputedStyle(el, "").getPropertyValue(style);
        }
        else
        {
            if(el.currentStyle) value = el.currentStyle[toCamelCase(style)];
        }
    }
    return value;
}


function toCamelCase( sInput )
{
    var oStringList = sInput.split('-');

    if(oStringList.length == 1)
    {
        return oStringList[0];
    }

    var ret = sInput.indexOf("-") == 0 ? oStringList[0].charAt(0).toUpperCase() + oStringList[0].substring(1) : oStringList[0];

    for(var i = 1, len = oStringList.length; i < len; i++)
    {
        var s = oStringList[i];
        ret += s.charAt(0).toUpperCase() + s.substring(1);
    }
    return ret;
}


function hideAllCombos()
{
    if(document.all)
    {
        var arrSelects = document.getElementsByTagName('select');

        for (var intI = 0; intI < arrSelects.length; intI++)
        {
            arrSelects[intI].style.visibility = 'hidden';
            arrSelects[intI].style.display = 'none';
        }
    }
}

function showAllCombos()
{
    if(document.all)
    {
        var arrSelects = document.getElementsByTagName('select');

        for (var intI = 0; intI < arrSelects.length; intI++)
        {
            arrSelects[intI].style.visibility = 'hidden';
            arrSelects[intI].style.display = 'none';
        }
    }
}

function redirect(url, secure)
{
	if( url.indexOf("http") == 0 )
	{
		document.location = url;
	}
	else if( url.indexOf("javascript") > -1 )
	{
		eval(url.substring(url.lastIndexOf("javascript:")+3,url.length));
	}
	else
	{
		switch( secure )
		{
			case "secure":
			case "notsecure":
				var href = document.location.href;
				var path = href.substring(href.indexOf("://")+3,href.split('?')[0].lastIndexOf("/"));
				document.location = ((secure=="secure")?"https://":"http://")+path+"/"+url;
				break;
			default:
				document.location = url;
				break;
		}
	}
}



// XMLHTTP request and visualization:

function getItemContent(urlPath)
{
	if (urlPath == "") return "";
	
	var out = "";
	
	try 
	{
		out = getFileScriptOutput(urlPath);
	}
	catch (e) { alert(e); }
	finally 
	{
		if (TrimString(out) == "") out = "";
	}

	// 11-04-2007 replace XXX by moduleID for preferred logo
	var x = 0;
    while (x != -1)
    {
        x = out.indexOf("XXX");
        if (x != -1)
    { 
    var module = document.getElementById('moduleId').value;
    out = out.substring(0,x) + module + out.substring(x + 3,100000);
    }
    }
    // end
return out;
}



function getFileScriptOutput(fullUrl) 
{
	var retStr = "";

	if (fullUrl == "") return "";
	
//	var href = document.location.href;
//	var path = href.substring(0,href.lastIndexOf("/"));
	
//	fullUrl = path + "/" + fullUrl;
//	alert(fullUrl);
	

	if (document.all)
	{
		try
		{
			var xml = new ActiveXObject("Microsoft.XMLHTTP");
			xml.Open( "GET", fullUrl, false );
			xml.Send()
			retStr = xml.responseText;		
		}
		catch (e) {
			var xml = new ActiveXObject("MSXML2.XMLHTTP.4.0");
			xml.Open( "GET", fullUrl, false );
			xml.Send()
			retStr = xml.responseText;
		}

	}
	else
	{
		var xml = new XMLHttpRequest();
		xml.open("GET",fullUrl,false);
		xml.send(null);
		retStr = xml.responseText;
	}

	return retStr;
}



function showCart(CarID, ProductID, formId, gotoCart, gotoBooking, secure, preferredid, isQuote)
{
    //alert("load cart");
    var qsStr = "";
    var item = document.getElementById('basket');
       if (formId != "") 
         {
             ProductID = TrimString(ProductID);
             if (ProductID == '') ProductID = 0;
                 CarID = TrimString(CarID);
             if (CarID == '') CarID = 0;
                 // especially:
                 qsStr = "ProductID=" + ProductID;
                 qsStr += "&isQuote=" + isQuote;
                 qsStr += "&CarID=" + CarID;
                 qsStr += "&" + getSelectCarFormValuesToQueryString3(formId);
             if (gotoBooking == true) qsStr += "&gotoBooking=1";
             if (preferredid) qsStr += "&PreferredID=" + preferredid + "";
                 qsStr = "?" + qsStr;
                //alert(qsStr);
          }
                //alert("back/cart.aspx" + qsStr);
                var retStr = getItemContent("back/cart.aspx" + qsStr);
             if (gotoBooking == false)
               {
                 // load cart
                 item.innerHTML = retStr;
               }
                //going to secure booking details page:
             if (gotoBooking == true) 
               {
                 redirect("booking_details.aspx", secure);
               }
                //going to Cart anchor
             if (gotoCart == true && gotoBooking == false) 
               {
                 document.location = "#cart";
                 animHide();
               }
}




function setOption(chbxId, optionId)
{
	var item = document.getElementById('basket');
	if (document.getElementById(chbxId).checked == true) 
	{
		item.innerHTML = getItemContent("back/cart.aspx?setOption=" + optionId);
	}
	else 
	{
		item.innerHTML = getItemContent("back/cart.aspx?remOption=" + optionId);
	}
	
	//going to Cart anchor
	document.location = "#cart";
	
	animHide();
}

function SetDropOffDate(blnFromCalendar)
{
	var dtmXMLDropOff	= new XmlDateTime(document.getElementById('dropoffdate').value,'#dd-#MM-#yyyy');

	if(blnFromCalendar)
	{
		dtmXMLDropOff = new XmlDateTime(calendar.date);
	}
	
	var strDropOffXmlDate	= dtmXMLDropOff.GetXMLDateTime().substring(0,10)+ 'T00:00:00';
	
	if(!isXMLDate(strDropOffXmlDate))
	{
		alert(WRONG_DATE);
		document.getElementById('dropoffdate').focus();
	}
	else
	{
		var strPickUpXmlDate	= document.getElementById('pickupdate_DT').value + 'T00:00:00';

		document.getElementById('dropoffdate').value	= dtmXMLDropOff.GetDateTime('#dd-#MM-#yyyy');
		
		if(compareXMLDates(strDropOffXmlDate, strPickUpXmlDate)  == -1)
		{
			alert(DROPOFF_PICKUP);
			document.getElementById('dropoffdate').value	= document.getElementById('pickupdate').value;
		}
		else
		{
			document.getElementById('dropoffdate_DT').value	= dtmXMLDropOff.GetDateTime('#yyyy-#MM-#dd');
		}
	}
}

function SetPickUpDate(blnFromCalendar)
{

	var dtmXMLPickUp	= new XmlDateTime(document.getElementById('pickupdate').value,'#dd-#MM-#yyyy');
	var dtmXMLDropOff	= new XmlDateTime(document.getElementById('dropoffdate').value,'#dd-#MM-#yyyy');
	
	if(blnFromCalendar)
	{
		dtmXMLPickUp = new XmlDateTime(calendar.date);
	}
	
	var strPickUpXmlDate	= dtmXMLPickUp.GetXMLDateTime().substring(0,10)+ 'T00:00:00';
	
	if(!isXMLDate(strPickUpXmlDate))
	{
		alert(WRONG_DATE);
		setTimeout("document.getElementById('pickupdate').focus()",0);
		return false;
	}
	else
	{
		document.getElementById('pickupdate_DT').value	= dtmXMLPickUp.GetDateTime('#yyyy-#MM-#dd');
		document.getElementById('pickupdate').value		= dtmXMLPickUp.GetDateTime('#dd-#MM-#yyyy');
		
		var dtmDropOffJS					= dtmXMLPickUp.GetDateTimeJS();

		if(blnFromCalendar)
		{
			dtmDropOffJS	= calendar.date;
		}
		
		var newDate = new Date(dtmDropOffJS);
		newDate.setDate(dtmDropOffJS.getDate() + 7);
		
		dtmXMLDropOff		= new XmlDateTime(newDate,'#yyyy-#MM-#dd');
		strDropOffXmlDate	= dtmXMLDropOff.GetXMLDateTime().substring(0,10)+ 'T00:00:00';
		
		document.getElementById('dropoffdate_DT').value	= dtmXMLDropOff.GetDateTime('#yyyy-#MM-#dd');
		document.getElementById('dropoffdate').value	= dtmXMLDropOff.GetDateTime('#dd-#MM-#yyyy');
	}	
	
	var pickUpDateCompare = parseInt(dtmXMLPickUp.GetDateTime('#yyyy#MM#dd'));
	
	if(!isInFuture(pickUpDateCompare))
	{
		alert(PICKUP_TO_EARLY);
		document.getElementById('btnDateSelectedPickup').click();
	}
	
}

function isInFuture(dateString)
{
	var date = new Date;
	var year = date.getFullYear();
	var month = date.getMonth()+1;
	var day = date.getDate();
	
	if(date < 10)
		date = "0" + date;
	if(month < 10)
		month = "0" + month;
	
	
	var DateNow = parseInt(year.toString()+month.toString()+day.toString());
	
	if (dateString >= DateNow)
	{	
		return true;
	}
	else
	{
		return false;
	}
}

function applyDateMask(event)
{

	var keynum;
	var keychar;
	var numcheck;
	
	if(window.event) // IE
	{
		keynum = event.keyCode;
	}
	else if(event.which) // Netscape/Firefox/Opera
	{
		keynum = event.which;
	}
	
	keychar = String.fromCharCode(keynum);
	numcheck = /\d/;
	
	var blnNumber	= numcheck.test(keychar);
	
	var arrKeyCodes = new Array();
	
	arrKeyCodes[0] = 95; //-
	arrKeyCodes[1] = 9; //tab
	arrKeyCodes[2] = 37; //pijltje links
	arrKeyCodes[3] = 39; //pijltje rechts
	arrKeyCodes[4] = 46; //delete
	arrKeyCodes[5] = 96; //0 (num)
	arrKeyCodes[6] = 97; //1 (num)
	arrKeyCodes[7] = 98; //2 (num)
	arrKeyCodes[8] = 99; //3 (num)
	arrKeyCodes[9] = 100; //4 (num)
	arrKeyCodes[10] = 101; //5 (num)
	arrKeyCodes[11] = 102; //6 (num)
	arrKeyCodes[12] = 103; //7 (num)
	arrKeyCodes[13] = 104; //8 (num)
	arrKeyCodes[14] = 105; //9 (num)
	arrKeyCodes[15] = 36; //home
	arrKeyCodes[16] = 35; //end
	arrKeyCodes[17] = 109; //- (num)
	arrKeyCodes[18] = 8; //backspace
	arrKeyCodes[19] = 189; //-
	
	var blnFound = false;
	
	















for(intI = 0; intI < arrKeyCodes.length; intI++)
	{
		if(keynum == arrKeyCodes[intI])
		{
			blnFound = true;
		}
	}
	
	return (blnNumber || blnFound)
}



