// globals
var bOkay_To_Book = true;
var bOverlap = false;
var iRelocate_Days = 0;
var bAdmin = false;
var strGlobalTitle ="";
function Ajup(sURL)
{
	var eScript = document.createElement('SCRIPT');
	eScript.type = 'text/javascript';
	eScript.src = sURL;
	var eScript_Holder = document.getElementById('Script_Holder');
	while(eScript_Holder.hasChildNodes())
	{
	   eScript_Holder.removeChild(eScript_Holder.firstChild);
	}
	eScript_Holder.appendChild(eScript);

}

function ajaxAlert(sURL, sPars){
    new Ajax.Request( sURL,
    {
        method: 'get',
        parameters: { parList: sPars },
        onComplete: function (transport) {
            alert(transport.responseText);
        }
    });
}


function addListener(type, callback)
{
      if(document.addEventListener)
	 {
         document.addEventListener(type, callback, false);
      }
	 else if(document.attachEvent)
	 {
          document.attachEvent("on" + type, callback, false);
      }
}

// summary functions

function Init_Summary()
{
	addListener("mouseup", Mouse_Up);
	addListener("mouseover", rs_Mouse_Move);
	addListener("click", rs_Click);
	addListener("mousedown", rs_Mouse_Down);
}

var bHirer_Open = false;
var bHirer_Changed = false;

function showRental(intAgr){
    new Ajax.Request('editRental.php',
    {
        method: 'get',
        parameters: { sAgrmnt: intAgr },
        onComplete: function (transport) {
	        document.getElementById("user-content").innerHTML = "";
            document.getElementById("agr-content").innerHTML = transport.responseText;
	        document.getElementById("agr-bg").style.display="block";
	        document.getElementById("agr_shadow").style.display="block";
	        document.getElementById("Tip").style.display="none";
	        document.getElementById('user-bg').style.display='none';
	        document.body.style.cursor = 'pointer';
            Calendar.setup({inputField:'DateOut', ifFormat:'%Y,%m,%d', displayArea:'Date_Out', daFormat:'%A, %B %d, %Y', align:'Bl', button:'Date_Out', showsTime:false, timeFormat:24, weekNumbers:false,singleClick:true, electric:false, date:DateOut });
            Calendar.setup({inputField:'DateIn', ifFormat:'%Y,%m,%d', displayArea:'Date_In', daFormat:'%A, %B %d, %Y', align:'Bl', button:'Date_In', showsTime:false, timeFormat:24, weekNumbers:false,singleClick:true, electric:false, date:DateIn });
           }
    });
    new Ajax.Request('editRentalTitle.php',
    {
        method: 'get',
        parameters: { sAgrmnt: intAgr },
        onComplete: function (transport) {
            document.getElementById("agr-title").innerHTML = transport.responseText;
        }
    });
}

function Close_Rental_Window()
{
	if(bHirer_Open && bHirer_Changed)
	{
		if(confirm("Save The Client Details?"))
		{
			Update_Hirer_Rental();
			var sURL = 'ajup_save_hirer_only_rental.php?'+ Get_URL_Str();
			Ajup(sURL);
		}
        bHirer_Open = false;
        bHirer_Changed = false;

	}
	document.getElementById('agr-bg').style.display="none";
	document.getElementById('agr_shadow').style.display = "none";
	if (document.getElementById('date_toggle') != null) {
	    document.location = window.location;
	}
}

var Tip_TimeoutID = 0;
var Current_TipID = 'nil';
var sDragType = "none";
var iDragX = 0;
var iDragY = 0;
var pCurrent = null;
var sSourceID = 'nil';

function Check_Val(objThis)
{
	if(isNaN(parseFloat(objThis.value)))
	{
		objThis.value = '0.00';
		alert('Invalid number entered into '+ objThis.id +'!');
		return 0;

	}
	else
	{
		objThis.value = parseFloat(objThis.value).toFixed(2);
		return parseFloat(objThis.value);
	}
}

function Check_Int(objThis)
{
	if(isNaN(parseInt(objThis.value)))
	{
		objThis.value = '0';
		alert('Invalid number entered into '+ objThis.id +'!');
		return 0;

	}
	else
	{
		objThis.value = parseInt(objThis.value);
		return parseInt(objThis.value);
	}
}

function Make_Number(objThis)
{
	if(isNaN(parseFloat(objThis.value)))
	{
		objThis.value = "0.00";
		alert('Invalid number entered into '+ objThis.id +'!');
	}
	else
	{
		objThis.value = parseFloat(objThis.value).toFixed(2);
	}
}

function Make_Int(objThis)
{
	if(isNaN(parseInt(objThis.value)))
	{
		objThis.value = "0";
		alert('Invalid number entered into '+ objThis.id +'!');
	}
	else
	{
		objThis.value = parseInt(objThis.value);
	}
}

function unHTMLEntities(strSent)
{
     strChanged = strSent.replace("&#039;","'", "g");
     strChanged2 = strChanged.replace("&gt;",">", "g");
     strChanged = strChanged2.replace("&lt;","<", "g");
     strChanged2 = strChanged.replace("&amp;","&", "g");
	return strChanged2;
}

function MouseEvent(e)
{
        if(e) {
          this.e = e;
        } else {
          this.e = window.event;
        }

        if(e.pageX) {
          this.x = e.pageX;
        } else {
          this.x = e.clientX;
        }

        if(e.pageY) {
          this.y = e.pageY;
        } else {
          this.y = e.clientY;
        }

        if(e.target) {
          this.target = e.target;
        } else {
          this.target = e.srcElement;
        }
}

function rs_Mouse_Down(evt)
{
	var e = new MouseEvent(evt);
	if(e.target.id.substr(0,3)=='agr')
	{
		document.body.style.cursor = 'move';
		sDragType = "line";
		sSourceID = e.target.id;
	}
}

function Mouse_Up(evt)
{
	var e = new MouseEvent(evt);
	if(sDragType=="line")
	{
		if(e.target.className=='fd')
		{
				sRego = e.target.id.substr(2);
				if(window.confirm("Confirm move booking to "+sRego+"?"))
				{
					sURL = "ajup_update_bkg.php?sCar=" + sRego + "&iRental=" + sSourceID.substr(3);
					Ajup(sURL);
				}
				sDragType = "none";
		}
	}
	sDragType = "none";
	pCurrent = null;
	document.body.style.cursor = 'auto';
}

function rs_Click(evt)
{
	var e = new MouseEvent(evt);
	if (e.target.id.substr(0, 3) == 'agr' && e.target.id.substr(0, 4) != 'agr-' && e.target.id.substr(0, 4) != 'agr_') {
	    bHirer_Open = true;
		sNum = e.target.id.substr(3);
		document.body.style.cursor = 'progress';
		e.target.style.cursor = 'progress';
		showRental(sNum);
	}
}

function rs_Mouse_Move(evt){
	var e = new MouseEvent(evt);
	if(sDragType=="line")	{
		if(e.target.id.substr(0,2)=='fd'){
			document.body.style.cursor = 'pointer';
		}
		else{
			document.body.style.cursor = 'move';
		}
	}
	if(e.target.tagName == 'TD' && e.target.id.substr(0,3)=='agr')	{
	  	if(Current_TipID!=e.target.id){
		    document.body.style.cursor = 'pointer';
		    sTip = document.getElementById('Tip');
		    Current_TipID = e.target.id;
		    sTip.style.left = parseInt(e.x + 20) + 'px';
		    sTip.style.top = parseInt(e.y - 75) + 'px';
            var sURL ="ajup_tip.php";
            var sVal = e.target.id.substr(3);
            new Ajax.Request( sURL,
            {
                method: 'get',
                parameters: {iRental: sVal},
                onComplete: function (transport) {
                    document.getElementById('TipContents').innerHTML = transport.responseText;
                    document.getElementById('Tip').style.display = 'block';
                }
            });
		}
	}
	else if(e.target.id.substr(0,2)=='rn')	{
	  	if(Current_TipID!=e.target.id)	{
		    document.body.style.cursor = 'pointer';
		    sTip = document.getElementById('Tip');
		    Current_TipID = e.target.id;
		    sTip.style.left = parseInt(e.x + 20) + 'px';
		    sTip.style.top = parseInt(e.y - 40) + 'px';
            var sURL ="ajup_car_tip.php";
            var sVal = e.target.id.substr(2);
            new Ajax.Request( sURL,
            {
                method: 'get',
                parameters: {sCar: sVal},
                onComplete: function (transport) {
                    document.getElementById('TipContents').innerHTML = transport.responseText;
                    document.getElementById('Tip').style.display = 'block';
                }
            });
        }
    }
	else{
		document.body.style.cursor = 'auto';
		document.getElementById("Tip").style.display ="none";
		Current_TipID = 'nil';
	}
}

function agr_Mouse_Down(evt)
{
	var e = new MouseEvent(evt);
	document.body.style.cursor = 'move';
	sDragType = "box";
	pCurrent = document.getElementById('agr-bg');
	iDragX = e.pageX - parseInt(pCurrent.offsetLeft);
	iDragY = e.pageY - parseInt(pCurrent.offsetTop);
}

function agr_Mouse_Up(evt)
{
	e = new MouseEvent(evt);
	sDragType = "none";
	pCurrent = null;
	document.body.style.cursor = 'auto';
}


function agr_Mouse_Move(evt)
{
	var e = new MouseEvent(evt);
	if(sDragType == "box")
	{
  		pCurrent.style.left = parseInt(e.pageX - iDragX) + 'px';
		pCurrent.style.top = parseInt(e.pageY - iDragY) + 'px';
		document.body.style.cursor = 'move';
	}
	clearInterval(Tip_TimeoutID);
	document.getElementById("Tip").style.display ="none";
	Current_TipID = 'nil';
	document.body.style.cursor = 'auto';
}

function user_Mouse_Down(evt)
{
	var e = new MouseEvent(evt);
	document.body.style.cursor = 'move';
	sDragType = "box";
	pCurrent = document.getElementById('user-bg');
	iDragX = e.pageX - parseInt(pCurrent.offsetLeft);
	iDragY = e.pageY - parseInt(pCurrent.offsetTop);
}

function Load_Up()
{
	document.getElementById('Buffer').style.visibility='visible';
	if(document.getElementById('Focus_Here')!=null)
	{
		document.getElementById('Focus_Here').focus();
	}
}
function Load_Up_Summary()
{
	document.getElementById('Buffer').style.visibility='visible';
//	Ajup('seega_menu.php');
}
function Go_Blank()
{
	document.getElementById('Buffer').style.visibility='hidden';
	return true;
}
function Summary_Blank()
{
  if(opener.name=='RentalSummary')
   {
  		opener.document.getElementById('Buffer').style.visibility='hidden';
	}
}

function Parent_Blank()
{
  opener.document.getElementById('Buffer').style.visibility='hidden';
}
function Parent_Parent_Blank()
{
  opener.opener.document.getElementById('Buffer').style.visibility='hidden';
}

function popSummary(sURL){
   iWide = window.screen.availWidth;
   iHigh = window.screen.availHeight;
	SummaryWindow=window.open(sURL, "RentalSummary", "scrollbars=yes, resizable=yes, status=yes, toolbar=yes, width=1280, height=1024,top=0,left=0");
	SummaryWindow.focus();
}

function Redraw_Summary(dDate)
{
	document.body.style.cursor = 'progress';
//	document.getElementById('reload').style.display='block';
	if(dDate>0)
	{
		document.getElementById('dSavedDate').value = dDate;
	}
	var dSavedDate = document.getElementById('dSavedDate').value;
	var iClass = document.getElementById('iClass').value;
	var sURL = 'ajup_rs_redraw.php?&dSavedDate='+dSavedDate+'&iClass='+iClass;
	Ajup(sURL);
}

function Reset_Date()
{
      document.body.style.cursor = 'progress';
//	document.getElementById('reload').style.display='block';
	  var dNew = new Date(document.getElementById('HiddenDate').value);
	  dNew = dNew.getTime();
	  dNew = dNew/1000;
	  document.getElementById('dSavedDate').value = dNew;
	  var iClass = document.getElementById('iClass').value;
	  var sURL = 'ajup_rs_redraw.php?&dSavedDate='+dNew+'&iClass='+iClass;
	  Ajup(sURL);
}

function Reset_Today()
{
      document.body.style.cursor = 'progress';
//	document.getElementById('reload').style.display='block';
	  var dNew = new Date(document.getElementById('sToday').value);
	  sFormatDate = dNew.toLocaleDateString();
	  dNew = dNew.getTime();
	  dNew = dNew/1000;
	  document.getElementById('dSavedDate').value = dNew;
	  document.getElementById('HiddenDate').value = document.getElementById('sToday').value;
	  document.getElementById('Show_Calendar').innerHTML = sFormatDate;
	  var iClass = document.getElementById('iClass').value;
	  var sURL = 'ajup_rs_redraw.php?&dSavedDate='+dNew+'&iClass='+iClass;
	  Ajup(sURL);
}

function popAbout(sURL, iHeight){
	if(isNaN(iHeight))
	{
		iHeight = 200;
	}
	document.getElementById('about-bg').style.visibility="visible";
	document.getElementById('about-content').style.height=iHeight+'px';
	document.getElementById('About_Frame').src = sURL;
}

function popUp(sURL){
	var iLeft=window.screenX+window.outerWidth/2-250;
	var iTop=window.screenY+window.outerHeight/2-190;
	PopWindow = window.open(sURL, "UserMenu", "scrollbars=1,resizable=1, width=500,height=380,top="+iTop+",left="+iLeft+" ");
	PopWindow.focus();
}

function popPDF(sURL) {
    PopWindow = window.open(sURL, "UserMenu", "");
}

function popUser(sURL, iHeight){
	document.getElementById('user-content').style.height=iHeight+'px';
	document.getElementById('user-content').innerHTML = '<iframe id="User_Frame"></iframe>';
	document.getElementById('User_Frame').src = sURL;
	document.getElementById('user-bg').style.display="block";
}

function newUser(sURL)
{
	document.location = sURL;
}

function popAgr(sURL, iHeight)
{
	document.getElementById('agr-bg').style.display="block";
	document.getElementById('agr-content').style.visibility="visible";
	document.getElementById('agr-content').style.height=iHeight+'px';
	document.getElementById('agr-content').innerHTML = "<iframe id='Agr_Frame'></iframe>";
	document.getElementById('Agr_Frame').src = sURL;
}


function newAgr(sURL)
{
	document.location = sURL;
}

function popPrint(sURL)
{
 var iLeft=window.screen.width-800;
 var iTop=window.screen.height-1024;
  PrintWindow=window.open(sURL, "_blank", "scrollbars=1, menubar=1, resizable=1,width=800,height=1024,top="+iTop+",left="+iLeft+" ");
  PrintWindow.focus();
}

function popLogin(sURL)
{
 var iLeft=window.screenX+window.outerWidth/2-150;
 var iTop=window.screenY+window.outerHeight/2-85;
 LoginWindow = window.open(sURL, "Login", "scrollbars=0, width=300,height=170,top="+iTop+",left="+iLeft+", dialog=1 ");
 LoginWindow.focus();
}

function CloseIt(sURL){popUp(sURL);window.close();opener.window.close;}

function CloseToAgr(sURL){newAgr(sURL);window.close();}

function CloseToUser(sURL){popUser(sURL);window.close();}

function CloseToSummary(){
  window.close();
  popSummary('rentalsummary.php');
}

function popDelUser(sURL)
{
	if (confirm("Are you sure you want to delete this record?"))
	{
		newUser(sURL);
	}
}

function popDelPlace(sURL)
{
	if (confirm("Are you sure you want to delete this place?"))
	{
		newUser(sURL);
	}
}
function update_commission(fForm)
{
  var sComm = "nComm"+document.getElementById('sBSource').value;
  iComm = document.getElementById('sComm').value;
  getElementById('sCCode').value = getElementById('sDaily').value * iComm/100;
}

function Check_Out_Rental()
{
	// get out fuel level
	var sOutfuel = document.getElementById('sOutfuel').value;
	if(window.confirm('Confirm current fuel level is ' + sOutfuel + '?'))
	{
		// check if the out kms value has not been set
		if(document.getElementById('sOutkms').value=='0' || document.getElementById('sOutkms').value=='')
		{
			// prompt for value
			var sOutkms = prompt("Odometer reading 0 kms. Please enter the current kms reading of the car.  ", "0");
			if (parseInt(sOutkms) == 0 || parseInt(sOutkms) < 0) {
			    sOutkms = "0";
			}
            // set the value in the form
			document.getElementById('sOutkms').value=sOutkms;
			// save changes
		}
		else
		{
			var sOutkms = document.getElementById('sOutkms').value;
		}
		document.getElementById('sStatus').value = 'O';
//        var sURL = 'ajup_update_rental.php?'+ Get_URL_Str();
//		Ajup(sURL);

		var dSavedDate = document.getElementById('dSavedDate').value;
		var sAgreement = document.getElementById('sAgrmnt').value;
        var intAgr = parseInt(sAgreement);
		var sFranchise = document.getElementById('sFranchise').value;
		var sToday = document.getElementById('sToday').value;
		var sCar = document.getElementById('sCar').value;
		var sURL = 'ajup_checkout_booking.php';
		new Ajax.Request(sURL, {
		    method: 'get',
		    parameters: { sOutkms: sOutkms, sOutfuel: sOutfuel, sAgreement: sAgreement, sFranchise: sFranchise, sToday: sToday, sCar: sCar },
		    onComplete: function () {
		        PrintPDFAgreement();
		        showRental(intAgr);
	            var sURL = 'ajup_rs_car_row.php?sCar=' + sCar + '&dSavedDate=' + dSavedDate;
	            Ajup(sURL);
		    }
		});
	}
	else
	{
		alert('Please update fuel level and retry.');
	}
}

function Check_In_Rental()
{
	// bring up window to enter return kms, fuel, extra charges
	var sAgrmnt = document.getElementById('sAgrmnt').value;
	var sFranchise = document.getElementById('sFranchise').value;
	var sURL = 'ajup_check_in_car.php?'+ Get_URL_Str();
	Ajup(sURL);
}

function CloseRental()
{
	document.getElementById('agr-bg').style.display='none';
//	document.location.href ='rentalsummary.php?dSavedDate=$dStartOut';
}
function Check_Cancel_Rental()
{
	// prompt for reason
	var sReason = prompt('Reason for cancelling booking...', document.getElementById("sReason").value);
	if(sReason>"")
	{
		var sAgreement = document.getElementById('sAgrmnt').value;
		var sFranchise = document.getElementById('sFranchise').value;
		var sToday = document.getElementById('sToday').value;
		var sURL = 'ajup_cancel_booking.php?sReason='+sReason+'&sAgreement='+sAgreement+'&sFranchise='+sFranchise+'&sToday='+sToday;
		Ajup(sURL);

		// hide agreement window
	    // CloseRental();
		var sURL = "ajup_edit_rental.php?sRentalMore=" + sAgreement;
		Ajup(sURL);
		var sCar = document.getElementById('sCar').value;
	    var dSavedDate = document.getElementById('dSavedDate').value;
	    if (document.getElementById('row' + sCar) != null) {
	        var sURL = 'ajup_rs_car_row.php?sCar=' + sCar + '&dSavedDate=' + dSavedDate;
	        Ajup(sURL);
	    }
}
	else
	{
		alert("Must give a reason for cancelling");
	}
}

function Check_Restore_Rental()
{
	var dIn = new Date(document.getElementById('DateIn').value);
	var dOut = new Date(document.getElementById('DateOut').value);
	var sAgrmnt = document.getElementById('sAgrmnt').value;
	var sCar = document.getElementById('sCar').value;
	var sTo = document.getElementById('sRentto').value;
	var sOut = dOut.getFullYear() + '-' + (dOut.getMonth() + 1) + '-' + dOut.getDate();
	var sIn  = dIn.getFullYear() + '-' + (dIn.getMonth() + 1) + '-' + dIn.getDate();
	sURL = 'ajup_check_overlap_restore_rental.php?sAgrmnt='+sAgrmnt+'&sCar='+sCar+'&sOut='+sOut+'&sIn='+sIn+'&sTo='+sTo;
	Ajup(sURL);
}


function Continue_Restore_Rental()
{
	if(iRelocate_Days>0)
	{
		alert('Sorry, cannot restore bookings with relocation periods attached.');
	}
	else if(bOverlap)
	{
		alert('Warning: Overlapping Booking! \n Cannot continue to restore.');
	}
	else
	{
		// prompt for reason
		var sReason = prompt('Reason for restoring booking...', document.getElementById("sReason").value);
		if(sReason>"")
		{
			var sAgreement = document.getElementById('sAgrmnt').value;
			var sFranchise = document.getElementById('sFranchise').value;
			var sToday = document.getElementById('sToday').value;
			var sURL = 'ajup_restore_booking.php?sReason='+sReason+'&sAgreement='+sAgreement+'&sFranchise='+sFranchise+'&sToday='+sToday;
			Ajup(sURL);
			var sCar = document.getElementById('sCar').value;
			var dSavedDate = document.getElementById('dSavedDate').value;
			var sURL = 'ajup_rs_car_row.php?sCar='+sCar+'&dSavedDate='+dSavedDate;
			Ajup(sURL);

			var sURL = "ajup_edit_rental.php?sRentalMore="+sAgreement;
			Ajup(sURL);
		}
		else
		{
			alert("Must give a reason for restoring");
		}
	}
}

function Car_Clicked(objThis)
{
	var sURL = "ajup_booking.php?sCar="+objThis.id.substr(2);
	Ajup(sURL);
}

function Cancel_Find()
{
	var iRental = document.getElementById('CF_Agrmnt').value;
	iRental = (iRental > 0) ? iRental : 0;
	var sHirer = document.getElementById('CF_Hirer').value;
	sHirer = (sHirer > '') ? sHirer : 'nil';
	var sCar = document.getElementById('CF_Car').value;
	sCar = (sCar > '') ? sCar : 'nil';
	var sURL = 'ajup_cancel_select.php?sAgrmnt='+iRental+'&sHirer='+sHirer+'&sCar='+sCar;
//	alert(sURL);
	Ajup(sURL);
}

function Rental_Find()
{
	var iRental = document.getElementById('Find_Agrmnt').value;
	iRental = (iRental > 0) ? iRental : 0;
	var sHirer = document.getElementById('Find_Hirer').value;
	sHirer = (sHirer > '') ? sHirer : 'nil';
	var sCar = document.getElementById('Find_Car').value;
	sCar = (sCar > '') ? sCar : 'nil';
	var sURL = 'ajup_rental_select.php?sAgrmnt='+iRental+'&sHirer='+sHirer+'&sCar='+sCar;
	Ajup(sURL);
}


function Load_Rental(iRental, dOut)
{
	var sURL = "ajup_edit_rental.php?sAgrmnt="+iRental;
	Ajup(sURL);
	document.getElementById('user-bg').style.display = 'none';
	Redraw_Summary(dOut);

}
function Extend_Rental()
{
	// bring up window to enter return kms, fuel, extra charges
	var sAgrmnt = document.getElementById('sAgrmnt').value;
	var sFranchise = document.getElementById('sFranchise').value;
	var sURL = 'ajup_extend_rental.php?'+ Get_URL_Str();
	Ajup(sURL);
}

function Check_Extend_Rental()
{
	var dIn = new Date(document.getElementById('GetDateExt').value);
	var dOut = new Date(document.getElementById('DateIn').value);
	var sAgrmnt = document.getElementById('sAgrmnt').value;
	var sCar = document.getElementById('sCar').value;
	var sTo = document.getElementById('sRentto').value;
	var sOut = dOut.getFullYear() + '-' + (dOut.getMonth() + 1) + '-' + dOut.getDate();
	var sIn  = dIn.getFullYear() + '-' + (dIn.getMonth() + 1) + '-' + dIn.getDate();
	var sURL = 'ajup_check_overlap_extend_rental.php?sAgrmnt='+sAgrmnt+'&sCar='+sCar+'&sOut='+sOut+'&sIn='+sIn+'&sTo='+sTo;
	Ajup(sURL);
}

function Continue_Extend_Rental()
{
	if(iRelocate_Days>0)
	{
		alert('Please Note: This Booking may have a Relocation Period attached. \n Please make sure that rental is moved before extendeding this one.');
	}
	if(bOverlap)
	{
		alert('Warning: Overlapping Booking! \n Cannot continue to extend.');
	}
}

function Confirm_Extend_Rental()
{
	document.getElementById('sStatus').value = "E";
	var sURL = 'ajup_conf_extend_rental.php?' +Get_URL_Str();
	Ajup(sURL);
	var sCar = document.getElementById('sCar').value;
	var dSavedDate = document.getElementById('dSavedDate').value;
	if(document.title=='Rental Summary')
	{
          var sURL = 'ajup_rs_car_row.php?sCar='+sCar+'&dSavedDate='+dSavedDate;
		Ajup(sURL);
     }
}


function Make_Unavail_Bkg()
{
	if(!(document.getElementById('sConditions').value>''))
	{
    	prompt('Please type a reason for unavailability in Conditions line.', '');
	}
	document.getElementById('sStatus').value = "U";
	var sURL = 'ajup_conf_unavail_bkg.php?' +Get_URL_Str();
	Ajup(sURL);
}


function Save_Check_In()
{
	var kmsIn = parseInt(document.getElementById('GetReturnKms').value);
	var kmsOut = parseInt(document.getElementById('sOutkms').value)
	if(kmsIn<=kmsOut){
		window.alert("No kms travelled? Please correct this figure.");		
	}
	else{
		var returnTotal = parseInt(document.getElementById('GetReturnSubTotal').value);
		
		if(returnTotal>50){
			if(window.confirm("Return Charges are $"+ returnTotal +"??? Please confirm all figures are correct.")){
				var sURL = 'ajup_checkin_rental.php?'+ Get_URL_Str();
				Ajup(sURL);
				var sCar = document.getElementById('sCar').value;
				var dSavedDate = document.getElementById('dSavedDate').value;
				if(document.title=='Rental Summary'){
			        var sURL = 'ajup_rs_car_row.php?sCar='+sCar+'&dSavedDate='+dSavedDate;
					Ajup(sURL);
			     }
			}	
		}
		else{
			var sURL = 'ajup_checkin_rental.php?'+ Get_URL_Str();
			Ajup(sURL);
			var sCar = document.getElementById('sCar').value;
			var dSavedDate = document.getElementById('dSavedDate').value;
			if(document.title=='Rental Summary'){
		        var sURL = 'ajup_rs_car_row.php?sCar='+sCar+'&dSavedDate='+dSavedDate;
				Ajup(sURL);
		     }
		}
	}
}

function Roll_Back_Rental()
{
	switch(document.getElementById('sStatus').value)
	{
		case "R":	document.getElementById('sStatus').value= "O";
					break;

		case "O":	document.getElementById('sStatus').value= "B";
					break;
	}
	var sAgreement = document.getElementById('sAgrmnt').value;
	var sFranchise = document.getElementById('sFranchise').value;
	var sStatus = document.getElementById('sStatus').value;
	var sReason = document.getElementById('sReason').value;
	var sURL = 'ajup_rollback_rental.php?sReason='+sReason+'&sAgreement='+sAgreement+'&sFranchise='+sFranchise+'&sStatus='+sStatus;
	Ajup(sURL);
	var sCar = document.getElementById('sCar').value;
	var dSavedDate = document.getElementById('dSavedDate').value;
	if(document.title=='Rental Summary')
	{
     	var sURL = 'ajup_rs_car_row.php?sCar='+sCar+'&dSavedDate='+dSavedDate;
		Ajup(sURL);
     }
	// hide agreement window
    // CloseRental();
	var sURL = "ajup_edit_rental.php?sRentalMore="+sAgreement;
	Ajup(sURL);
}

function Confirm_Rental()
{
	var sAgreement = document.getElementById('sAgrmnt').value;
	var sURL = 'ajup_confirm_rental.php?sAgreement='+sAgreement;
	Ajup(sURL);
	var sCar = document.getElementById('sCar').value;
	var dSavedDate = document.getElementById('dSavedDate').value;
	var sURL = 'ajup_rs_car_row.php?sCar='+sCar+'&dSavedDate='+dSavedDate;
	Ajup(sURL);
	// hide agreement window
    // CloseRental();
	var sURL = "ajup_edit_rental.php?sRentalMore="+sAgreement;
	Ajup(sURL);
}

function Print_Agreement()
{
	var sAgreement = document.getElementById('sAgrmnt').value;
	var sURL = 'agreement_print.php?sPrintID='+sAgreement;
	popPrint(sURL);
}

function PrintPDFAgreement() {
    var sAgreement = document.getElementById('sAgrmnt').value;
    var sURL = 'agreementPDF.php?sPrintID=' + sAgreement;
    window.location = sURL;
}

function Print_Receipt()
{
	var sAgreement = document.getElementById('sAgrmnt').value;
	var sURL = 'receipt_print.php?sPrintID='+sAgreement;
	popPrint(sURL);
}

function PrintPDFReceipt() {
    var sAgreement = document.getElementById('sAgrmnt').value;
    var sURL = 'receiptPDF.php?sPrintID=' + sAgreement;
    popPDF(sURL);
}

// booking functions
function Reset_From_Car_Select()
{
	sCar = document.getElementById('sBookCar').value;
	sURL ='ajup_booking_update_class.php?&sCar='+sCar;
    Ajup(sURL);
	if(document.getElementById('Add_Hirer').style.display=="block")
	{
		Update_Days();
	}
}

function Rate_Change()
{
  var bExredcd = document.getElementById('bExredcd').value;
  var iDays = document.getElementById('sDays').value;
  var iRate = document.getElementById('iRate').value;
  var fLiabRedn_1 = document.getElementById('sLiabRedn_1').value;
  var fLiabRedn_2 = document.getElementById('sLiabRedn_2').value;
  var fLiab = 0;
  if(document.getElementById('bExredcd').value=="1"){
    fLiab = iDays * fLiabRedn_1;
    document.getElementById('sLiabRedn').value = fLiabRedn_1;
  }
  if(document.getElementById('bExredcd').value=="2"){
    fLiab = iDays * fLiabRedn_2;
    document.getElementById('sLiabRedn').value = fLiabRedn_2;
  }

// baby seats
  var iBabyseats = parseFloat(document.getElementById('iBabyseats').value);
  if(iBabyseats>0 && iDays>0)  {
	  var fBabyseatsDaily = parseFloat(document.getElementById('fBabyseatsDaily').value);
	  var fBabyseatsMin = parseFloat(document.getElementById('fBabyseatsMin').value);
	  var fBabyseatsMax = parseFloat(document.getElementById('fBabyseatsMax').value);
	  var fBabyseatsCharge = iBabyseats * fBabyseatsDaily * iDays;
	  fBabyseatsCharge = (fBabyseatsCharge < fBabyseatsMin*iBabyseats) ? fBabyseatsMin*iBabyseats : fBabyseatsCharge;
  	  fBabyseatsCharge = (fBabyseatsCharge > fBabyseatsMax*iBabyseats) ? fBabyseatsMax*iBabyseats : fBabyseatsCharge;
  }
  else  {
	fBabyseatsCharge = 0;
  }
  // booster seats
  var iBoosterseats = parseFloat(document.getElementById('iBoosterseats').value);
  if(iBoosterseats>0 && iDays>0)   {
	  var fBoosterseatsDaily = parseFloat(document.getElementById('fBoosterseatsDaily').value);
	  var fBoosterseatsMin = parseFloat(document.getElementById('fBoosterseatsMin').value);
	  var fBoosterseatsMax = parseFloat(document.getElementById('fBoosterseatsMax').value);
	  var fBoosterseatsCharge = iBoosterseats * fBoosterseatsDaily * iDays;
	  fBoosterseatsCharge = (fBoosterseatsCharge < fBoosterseatsMin*iBoosterseats) ? fBoosterseatsMin*iBoosterseats : fBoosterseatsCharge;
  	  fBoosterseatsCharge = (fBoosterseatsCharge > fBoosterseatsMax*iBoosterseats) ? fBoosterseatsMax*iBoosterseats : fBoosterseatsCharge;
  }
  else   {
	fBoosterseatsCharge = 0;
  }

  var bPickup = document.getElementById('bPickup').value;
  if (bPickup == 1) {
      var fPickupCharge = parseFloat(document.getElementById('fPickup').value);
  }
  else   {
	var fPickupCharge = 0;
  }

  var fExtraCharges = 0 // parseFloat(document.getElementById('fExtraCharges').value);
  var fRelocation = parseFloat(document.getElementById('fRelocation').value);
  

  // gps
  var fGPSDaily = parseFloat(document.getElementById('GPS_chg').value);
  var fGPSCharge = 0;
  if(document.getElementById('bGPS').value==1){
      fGPSCharge = iDays * fGPSDaily;
  }
  document.getElementById('GPS_chg').value = fGPSDaily.toFixed(2);

  // Additional Drivers
  var fxdrivers = parseInt(document.getElementById('xdrivers').value);
  var fxdrivers_chg = parseFloat(document.getElementById('xdrivers_chg').value);
  if (fxdrivers > 0 && iDays > 0) {
      var fxdrivers_total = fxdrivers * fxdrivers_chg * iDays;
  }
  else {
      fxdrivers_total = 0;
  }
  document.getElementById('xdrivers_chg').value = fxdrivers_chg.toFixed(2);

  // add fee a
  var AddFee = parseInt(document.getElementById('add_a_fee').value);
  var add_fee_chg = parseFloat(document.getElementById('add_fee_a_charge').value);
  if (AddFee > 0 && iDays > 0) {
      var fAddFeeATotal = add_fee_chg * iDays;
  }
  else {
      fAddFeeATotal = 0;
  }
  document.getElementById('add_fee_a_charge').value = add_fee_chg.toFixed(2);

  // add fee b
  var AddFee = parseInt(document.getElementById('add_b_fee').value);
  var add_fee_chg = parseFloat(document.getElementById('add_fee_b_charge').value);
  if (AddFee > 0 && iDays > 0) {
      var fAddFeeBTotal = add_fee_chg * iDays;
  }
  else {
      fAddFeeBTotal = 0;
  }
  document.getElementById('add_fee_b_charge').value = add_fee_chg.toFixed(2);

  // add fee c
  var AddFee = parseInt(document.getElementById('add_c_fee').value);
  var add_fee_chg = parseFloat(document.getElementById('add_fee_c_charge').value);
  if (AddFee > 0 && iDays > 0) {
      var fAddFeeCTotal = add_fee_chg * iDays;
  }
  else {
      fAddFeeCTotal = 0;
  }
  document.getElementById('add_fee_c_charge').value = add_fee_chg.toFixed(2);

  var fExtraCharges = parseFloat(document.getElementById('fExtraCharges').value);



  var fQuote = iDays * iRate + fLiab + fBabyseatsCharge  + fBoosterseatsCharge + fPickupCharge + fGPSCharge + fxdrivers_total + fExtraCharges + fAddFeeATotal + fAddFeeBTotal + fAddFeeCTotal + fRelocation;
  document.getElementById('fBabyseatsCharge').value = fBabyseatsCharge.toFixed(2);
  document.getElementById('fBoosterseatsCharge').value = fBoosterseatsCharge.toFixed(2);
  document.getElementById('sQuote').innerHTML = '$ ' + fQuote.toFixed(2);
  document.getElementById('Add_Hirer').style.display = (document.getElementById('sDays').value>0) ? 'block' : 'none';

}

function Rental_Rate_Change()
{
  var bExredcd = document.getElementById('bExredcd').value;
  var iDays = Check_Val(document.getElementById('sAgrdays'));
  var iRate = Check_Val(document.getElementById('sDaily'));
  var iAlwdkms = Check_Int(document.getElementById('sAlwdkms'));
  var fStamp = document.getElementById('fStamp').value;
  var iTotalAllowedKms = iDays * iAlwdkms;
  document.getElementById('sAltotks').value = iTotalAllowedKms;
  /* 
  var fLiabRedn = Check_Val(document.getElementById('sExredn'));
  fLiab = (document.getElementById('bExredcd').value==1) ? iDays * fLiabRedn : 0;
  document.getElementById('sExcsChg').value = fLiab;
  */
  var fLiabRedn_1 = parseFloat(document.getElementById('sExredn_1').value);
  var fLiabRedn_2 = parseFloat(document.getElementById('sExredn_2').value);
  var fLiab = 0;
  if(document.getElementById('bExredcd').value=="1"){
      fLiab = iDays * fLiabRedn_1;
    document.getElementById('sExredn').value = fLiabRedn_1.toFixed(2);
  }
  if(document.getElementById('bExredcd').value=="2"){
      fLiab = iDays * fLiabRedn_2;
    document.getElementById('sExredn').value = fLiabRedn_2.toFixed(2);
  }


    // gps
    var fGPS = parseFloat(document.getElementById('bGPS_charge').value);
    fGPSTotal = 0;
    if (document.getElementById('bGPS').value == 1) {
        fGPSTotal = iDays * fGPS;
    }
    document.getElementById('bGPS_charge').value = fGPS.toFixed(2);

  var iBabyseats = parseFloat(document.getElementById('iBabyseats').value);
  if(iBabyseats>0 && iDays>0)
  {
	  var fBabyseatsDaily = parseFloat(document.getElementById('fBabyseatsDaily').value);
	  var fBabyseatsMin = parseFloat(document.getElementById('fBabyseatsMin').value);
	  var fBabyseatsMax = parseFloat(document.getElementById('fBabyseatsMax').value);
	  var fBabyseatsCharge = iBabyseats * fBabyseatsDaily * iDays;
	  fBabyseatsCharge = (fBabyseatsCharge < fBabyseatsMin*iBabyseats) ? fBabyseatsMin*iBabyseats : fBabyseatsCharge;
  	  fBabyseatsCharge = (fBabyseatsCharge > fBabyseatsMax*iBabyseats) ? fBabyseatsMax*iBabyseats : fBabyseatsCharge;
  }
  else
  {
	fBabyseatsCharge = 0;
   }
// boosterSEats
var iBoosterseats = parseFloat(document.getElementById('iBoosterseats').value);
if (iBoosterseats > 0 && iDays > 0) {
    var fBoosterseatsDaily = parseFloat(document.getElementById('fBoosterseatsDaily').value);
    var fBoosterseatsMin = parseFloat(document.getElementById('fBoosterseatsMin').value);
    var fBoosterseatsMax = parseFloat(document.getElementById('fBoosterseatsMax').value);
    var fBoosterseatsCharge = iBoosterseats * fBoosterseatsDaily * iDays;
    fBoosterseatsCharge = (fBoosterseatsCharge < fBoosterseatsMin * iBoosterseats) ? fBoosterseatsMin * iBoosterseats : fBoosterseatsCharge;
    fBoosterseatsCharge = (fBoosterseatsCharge > fBoosterseatsMax * iBoosterseats) ? fBoosterseatsMax * iBoosterseats : fBoosterseatsCharge;
}
else {
    fBoosterseatsCharge = 0;
}

    var bPickup = parseInt(document.getElementById('bPickup').value);
    var fPickup = parseFloat(document.getElementById('fPickup').value);
  if(bPickup==1)
  {
  	fPickupCharge = fPickup;
  }
  else
  {
	fPickupCharge = 0;
}

// Additional Drivers
var fxdrivers = parseInt(document.getElementById('fxdrivers').value);
var fxdrivers_chg = parseFloat(document.getElementById('fxdrivers_charge').value);
if (fxdrivers > 0 && iDays > 0) {
    var fxdrivers_total = fxdrivers * fxdrivers_chg * iDays;
}
else {
    fxdrivers_total = 0;
}
document.getElementById('fxdrivers_charge').value = fxdrivers_chg.toFixed(2);

// add fee a
var AddFee = parseInt(document.getElementById('badd_fee').value);
var add_fee_chg = parseFloat(document.getElementById('badd_fee_charge').value);
if (AddFee > 0 && iDays > 0) {
    var fAddFeeATotal = add_fee_chg * iDays;
}
else {
    fAddFeeATotal = 0;
}
document.getElementById('badd_fee_charge').value = add_fee_chg.toFixed(2);

// add fee b
var AddFee = parseInt(document.getElementById('badd_fee_b').value);
var add_fee_chg = parseFloat(document.getElementById('badd_fee_b_charge').value);
if (AddFee > 0 && iDays > 0) {
    var fAddFeeBTotal = add_fee_chg * iDays;
}
else {
    fAddFeeBTotal = 0;
}
document.getElementById('badd_fee_b_charge').value = add_fee_chg.toFixed(2);

// add fee c
var AddFee = parseInt(document.getElementById('badd_fee_c').value);
var add_fee_chg = parseFloat(document.getElementById('badd_fee_c_charge').value);
if (AddFee > 0 && iDays > 0) {
    var fAddFeeCTotal = add_fee_chg * iDays;
}
else {
    fAddFeeCTotal = 0;
}
document.getElementById('badd_fee_c_charge').value = add_fee_chg.toFixed(2);

fExtraCharges = Check_Val(document.getElementById('sExtras'));
  fRelocation = Check_Val(document.getElementById('sRelocn'));
  fQuote = (iDays * iRate) + fLiab + fBabyseatsCharge + fBoosterseatsCharge + fPickupCharge;
  fQuote += fExtraCharges + fRelocation + fGPSTotal + fxdrivers_total + fAddFeeATotal + fAddFeeBTotal + fAddFeeCTotal;
  document.getElementById('fBS_Charge').value = fBabyseatsCharge.toFixed(2);
  document.getElementById('fBooS_Charge').value = fBoosterseatsCharge.toFixed(2);
  document.getElementById('fPickup').value = fPickup.toFixed(2);
  document.getElementById('sSubtotal').value = fQuote;
  document.getElementById('sTotal').value = (fQuote + fStamp * fQuote).toFixed(2);
  document.getElementById('sGST').value = ((fQuote + fStamp * fQuote) / 11).toFixed(2);
//  alert(fQuote.toFixed(2));

  sURL = 'ajup_update_rental.php?'+ Get_URL_Str();
  Ajup(sURL);
  var sCar = document.getElementById('sCar').value;
  var dSavedDate = document.getElementById('dSavedDate').value;
  sURL = 'ajup_rs_car_row.php?sCar='+sCar+'&dSavedDate='+dSavedDate;
  Ajup(sURL);



}

/*function From_Change()
{
	var iClient = document.getElementById('iHirer.value ;
	var sCar = document.getElementById('sBookCar.value ;
	var sFrom = document.getElementById('sFrom.value;
	sURL ='booking.php?sCar='+sCar+'&sFrom='+sFrom+'&iClient='+iClient;
	popAgr(sURL);
}
*/

function Update_Days()
{
	var dToday = new Date();
	dToday -= 86400000;
	var dIn = new Date(document.getElementById('DateIn').value);
	var dOut = new Date(document.getElementById('DateOut').value);
	iDays = dIn.getTime() - dOut.getTime();
	if((iDays<=0) || (dToday>dOut))
	{
		bOkay_To_Book = false;
	}
	else
	{
		iDays = iDays / 86400000;
		var iOvertimeHours = document.getElementById('iOvertimeHours').value;
		var iOvertime = document.getElementById('sInhour').value - document.getElementById('sOuthour').value;
		var iOverMinutes = document.getElementById('sInmin').value - document.getElementById('sOutmin').value;
		iOvertime = (iOverMinutes>30) ? iOvertime + 1 : iOvertime;
		if(iOvertime>0)
		{
		   iOvertime = (iOvertime>iOvertimeHours) ? iOvertimeHours : iOvertime;
		   iDays = iDays + iOvertime/iOvertimeHours;
		}

		document.getElementById('sDays').value = iDays ;
		document.getElementById('sOutput_Days').innerHTML = iDays ;

		var sFrom = document.getElementById('sFrom').value;
		var iClass = document.getElementById('sClass').value;
		var sDateOut = document.getElementById('DateOut').value;
		var iFulldays = Math.floor(iDays);

		sURL ='ajup_booking_update_days.php?&sFrom='+sFrom+'&sDateOut='+sDateOut+'&sAgrdays='+iFulldays+'&iClass='+iClass;
//		alert(sURL);
	    Ajup(sURL);
	    if(document.getElementById('iHirer').value>0)
	    {
			bOkay_To_Book = true;
		}
		else
		{
			bOkay_To_Book = false;
			Ajup('ajup_check_surname_bkg.php');
		}
	}
	if(iDays>0)
	{
		var sCar = document.getElementById('sBookCar').value;
		var sOut = dOut.getFullYear() + '-' + (dOut.getMonth() + 1) + '-' + dOut.getDate();
		var sIn  = dIn.getFullYear() + '-' + (dIn.getMonth() + 1) + '-' + dIn.getDate();
		sURL = 'ajup_check_overlap_bkg.php?sBookCar='+sCar+'&sOut='+sOut+'&sIn='+sIn;
		Ajup(sURL);
		if(iRelocate_Days>0)
		{
			dIn.setTime(dIn.getTime() + iRelocate_Days * 86400000);
			var sIn  = dIn.getFullYear() + '-' + (dIn.getMonth() + 1) + '-' + dIn.getDate();
			sURL = 'ajup_check_reloc_overlap_bkg.php?sBookCar='+sCar+'&sOut='+sOut+'&sIn='+sIn;
			Ajup(sURL);
		}
	}
}

function Agr_UpdateDays()
{
	var dIn = new Date(document.getElementById('DateIn').value);
	var dOut = new Date(document.getElementById('DateOut').value);
	iDays = dIn.getTime() - dOut.getTime();
	if(iDays>0)
	{
		iDays = iDays / 86400000;
		var iOvertimeHours = document.getElementById('iOvertimeHours').value;
		var iOvertime = document.getElementById('sInhours').value - document.getElementById('sOuthours').value;
		var iOverMinutes = document.getElementById('sInminute').value - document.getElementById('sOutminute').value;
		iOvertime = (iOverMinutes>30) ? iOvertime + 1 : iOvertime;
		if(iOvertime>0)
		{
		   iOvertime = (iOvertime>iOvertimeHours) ? iOvertimeHours : iOvertime;
		   iDays = iDays + iOvertime/iOvertimeHours;
		}
		document.getElementById('sAgrdays').value = iDays ;
		var sAgrmnt = document.getElementById('sAgrmnt').value;
		var sCar = document.getElementById('sCar').value;
		var sOut = dOut.getFullYear() + '-' + (dOut.getMonth() + 1) + '-' + dOut.getDate();
		var sIn  = dIn.getFullYear() + '-' + (dIn.getMonth() + 1) + '-' + dIn.getDate();
		var sTo = document.getElementById('sRentto').value;
		var sFrom = document.getElementById('sRntfrom').value;
		sURL = 'ajup_check_overlap_rental.php?sAgrmnt='+sAgrmnt+'&sCar='+sCar+'&sOut='+sOut+'&sIn='+sIn;
		Ajup(sURL);
		sURL = 'ajup_check_reloc_days_rental.php?sAgrmnt='+sAgrmnt+'&sCar='+sCar+'&sOut='+sOut+'&sIn='+sIn+'&sTo='+sTo+'&sFrom='+sFrom;
		Ajup(sURL);

	}
	else
	{
		alert('Rental must be for at least one day!.');
	}
}

function Update_Return_Days()
{
	var dIn = new Date(document.getElementById('DateIn').value);
	var dActual = new Date(document.getElementById('GetDateRet').value);
	var iDays = dActual.getTime() - dIn.getTime();
	iDays = iDays!=0 ? iDays/86400000 : 0;
	var iOvertimeHours = document.getElementById('iOvertimeHours').value;
	var iOverMinutes = document.getElementById('GetAchour').value*60 + Number(document.getElementById('GetAcminute').value);
	iOverMinutes -= document.getElementById('sInhours').value*60 + Number(document.getElementById('sInminute').value);
	iOvertime = Math.ceil(iOverMinutes / 60);
//	alert(iOverMinutes);
	if(iOvertime>0)
	{
	   iOvertime = (iOvertime>iOvertimeHours) ? iOvertimeHours : iOvertime;
	   iDays = iDays + iOvertime/iOvertimeHours;
	}
	//daily rate
    document.getElementById('GetExtraDays').value = iDays;
    var fRate = parseFloat(document.getElementById('GetRate').value);
    document.getElementById('GetDaysChg').value = (fRate * iDays).toFixed(2);
	// insurance
    var bInsurance = document.getElementById('checkInInsurance').value;
	if (bInsurance == 'Yes') {
	    var fInsRate = parseFloat(document.getElementById('GetInsuranceRate').value);
	    document.getElementById('GetInsuranceChg').value = (fInsRate * iDays).toFixed(2);
	}
	else {
	    document.getElementById('GetInsuranceChg').value = "0.00";
	}
	// extra drivers
	var fxdrivers = parseInt(document.getElementById('fxdrivers').value);
	var fxdrivers_chg = parseFloat(document.getElementById('fxdrivers_charge').value);
	if (fxdrivers > 0 && iDays > 0) {
	    var fxdrivers_total = fxdrivers * fxdrivers_chg * iDays;
	}
	else {
	    fxdrivers_total = 0;
	}
	document.getElementById('GetXDriversChg').value = fxdrivers_total.toFixed(2);

	// gps
	var fGPS = parseFloat(document.getElementById('bGPS_charge').value);
	fGPSTotal = 0;
	if (document.getElementById('bGPS').value == "Yes") {
	    fGPSTotal = iDays * fGPS;
	}
	document.getElementById('GetGPSChg').value = fGPSTotal.toFixed(2);

	// baby seats
	var iBabyseats = parseFloat(document.getElementById('iBabyseats').value);
	var iTotalDays = iDays + parseFloat(document.getElementById('sAgrdays').value);
	if (iBabyseats > 0 && iDays > 0) {
	    var fBabyseatsDaily = parseFloat(document.getElementById('fBabyseatsDaily').value);
	    var fBabyseatsMin = parseFloat(document.getElementById('fBabyseatsMin').value);
	    var fBabyseatsMax = parseFloat(document.getElementById('fBabyseatsMax').value);
	    var fBabyseatsCharge = iBabyseats * fBabyseatsDaily * iTotalDays;
	    fBabyseatsCharge = (fBabyseatsCharge < fBabyseatsMin * iBabyseats) ? fBabyseatsMin * iBabyseats : fBabyseatsCharge;
	    fBabyseatsCharge = (fBabyseatsCharge > fBabyseatsMax * iBabyseats) ? fBabyseatsMax * iBabyseats : fBabyseatsCharge;
	    fBabyseatsCharge = fBabyseatsCharge - parseFloat(document.getElementById('fBS_Charge').value) ;
	}
	else {
	    fBabyseatsCharge = 0;
	}
	document.getElementById('GetBabyseatsChg').value = fBabyseatsCharge.toFixed(2);


    // booster seats
	var iBoosterseats = parseFloat(document.getElementById('iBoosterseats').value);
	var iTotalDays = iDays + parseFloat(document.getElementById('sAgrdays').value);
	if (iBoosterseats > 0 && iDays > 0) {
	    var fBoosterseatsDaily = parseFloat(document.getElementById('fBoosterseatsDaily').value);
	    var fBoosterseatsMin = parseFloat(document.getElementById('fBoosterseatsMin').value);
	    var fBoosterseatsMax = parseFloat(document.getElementById('fBoosterseatsMax').value);
	    var fBoosterseatsCharge = iBoosterseats * fBoosterseatsDaily * iTotalDays;
	    fBoosterseatsCharge = (fBoosterseatsCharge < fBoosterseatsMin * iBoosterseats) ? fBoosterseatsMin * iBoosterseats : fBoosterseatsCharge;
	    fBoosterseatsCharge = (fBoosterseatsCharge > fBoosterseatsMax * iBoosterseats) ? fBoosterseatsMax * iBoosterseats : fBoosterseatsCharge;
	    fBoosterseatsCharge = fBoosterseatsCharge - parseFloat(document.getElementById('fBooS_Charge').value);
	}
	else {
	    fBoosterseatsCharge = 0;
	}
	document.getElementById('GetBoosterSeatsChg').value = fBoosterseatsCharge.toFixed(2);

	// add fee a
	var AddFee = document.getElementById('badd_fee').value;
	var add_fee_chg = parseFloat(document.getElementById('badd_fee_charge').value);
	if (AddFee == "Yes" && iDays > 0) {
	    var fAddFeeATotal = add_fee_chg * iDays;
	}
	else {
	    fAddFeeATotal = 0;
	}
	document.getElementById('GetAddFeeAChg').value = fAddFeeATotal.toFixed(2);

	// add fee b
	var AddFee = document.getElementById('badd_fee_b').value;
	var add_fee_chg = parseFloat(document.getElementById('badd_fee_b_charge').value);
	if (AddFee == "Yes" && iDays > 0) {
	    var fAddFeeBTotal = add_fee_chg * iDays;
	}
	else {
	    fAddFeeBTotal = 0;
	}
	document.getElementById('GetAddFeeBChg').value = fAddFeeBTotal.toFixed(2);

	// add fee c
	var AddFee = document.getElementById('badd_fee_c').value;
	var add_fee_chg = parseFloat(document.getElementById('badd_fee_c_charge').value);
	if (AddFee == "Yes" && iDays > 0) {
	    var fAddFeeCTotal = add_fee_chg * iDays;
	}
	else {
	    fAddFeeCTotal = 0;
	}
	document.getElementById('GetAddFeeCChg').value = fAddFeeCTotal.toFixed(2);



	Update_Return_Total();

}

function Update_Return_Total()
{
 	var fExtraDays = Check_Val(document.getElementById('GetDaysChg'));
 	var fExtraIns = Check_Val(document.getElementById('GetInsuranceChg'));
 	var fExtraKms = Check_Val(document.getElementById('GetKmsChg'));
 	var fFuelChg = Check_Val(document.getElementById('GetFuelChg'));
 	var fExtrasChg = Check_Val(document.getElementById('GetExtraChg'));
 	var fXDriversChg = Check_Val(document.getElementById('GetXDriversChg'));
 	var fGPSChg = Check_Val(document.getElementById('GetGPSChg'));
 	var fBabyseatsChg = Check_Val(document.getElementById('GetBabyseatsChg'));
 	var fBoosterSeatsChg = Check_Val(document.getElementById('GetBoosterSeatsChg'));
 	var fAddFeeAChg = Check_Val(document.getElementById('GetAddFeeAChg'));
 	var fAddFeeBChg = Check_Val(document.getElementById('GetAddFeeBChg'));
 	var fAddFeeCChg = Check_Val(document.getElementById('GetAddFeeCChg'));
 	var fTotal = fExtraDays + fExtraIns + fExtraKms + fFuelChg + fExtrasChg + fXDriversChg + fGPSChg;
 	var fTotal = fTotal + fBabyseatsChg + fBoosterSeatsChg + fAddFeeAChg + fAddFeeBChg + fAddFeeCChg;
 	document.getElementById('GetReturnSubTotal').value = fTotal.toFixed(2);
 	var fSubtotal = parseFloat(document.getElementById('GetReturnSubTotal').value);
 	var fStamp = parseFloat(document.getElementById('fStamp').value);
 	var fStampAmt = fSubtotal * fStamp;
 	var fTotal = fSubtotal + fStampAmt;
 	var fGST = fTotal/11;
	document.getElementById('GetReturnStamp').value = fStampAmt.toFixed(2);
	document.getElementById('GetReturnTotal').value = fTotal.toFixed(2);
	document.getElementById('GetReturnGST').value = fGST.toFixed(2);
}

function Update_Return_SubTotal()
{
 	var fSubtotal = Check_Val(document.getElementById('GetReturnSubTotal'));
 	var fStamp = parseFloat(document.getElementById('fStamp').value);
 	var fStampAmt = fSubtotal * fStamp;
 	var fTotal = fSubtotal + fStampAmt;
 	var fGST = fTotal/11;
	document.getElementById('GetReturnStamp').value = fStampAmt.toFixed(2);
	document.getElementById('GetReturnTotal').value = fTotal.toFixed(2);
	document.getElementById('GetReturnGST').value = fGST.toFixed(2);
}

function Update_Return_Kms()
{
    var iInKms = Check_Int(document.getElementById('GetReturnKms'));
    var iOutKms = parseInt(document.getElementById('sOutkms').value);
    var iTravelledKms = iInKms - iOutKms;
    document.getElementById('GetTotalkms').value = iTravelledKms;
    var fAgrDays = parseFloat(document.getElementById("sAgrdays").value);
    var fReturnDays = fAgrDays + parseFloat(document.getElementById("GetExtraDays").value);
    // allowed kms
    var iAllowedKms = parseInt(document.getElementById('sAlwdkms').value);
    var iTotalAllowedKms = Math.round(iAllowedKms * fReturnDays);
    document.getElementById('GetAltotks').value = iTotalAllowedKms;

    var iChargeKms = iTravelledKms - iTotalAllowedKms;
    iChargeKms = iChargeKms > 0 ? iChargeKms : 0;
    document.getElementById('GetExtraKms').value = iChargeKms;
    var fExcessKmsRate = parseFloat(document.getElementById('sExskrate').value);
    var fKmsChg = iChargeKms * fExcessKmsRate;
    document.getElementById('GetKmsChg').value = fKmsChg.toFixed(2);
    Update_Return_Total();

}

function Check_Overlap_Relocation_Rental()
{
	var dIn = new Date(document.getElementById('DateIn').value);
	var dOut = new Date(document.getElementById('DateOut').value);
	dIn.setTime(dIn.getTime() + iRelocate_Days * 86400000);
	var sIn  = dIn.getFullYear() + '-' + (dIn.getMonth() + 1) + '-' + dIn.getDate();
	var sOut = dOut.getFullYear() + '-' + (dOut.getMonth() + 1) + '-' + dOut.getDate();
	var sCar = document.getElementById('sCar').value;
	sURL = 'ajup_check_reloc_overlap_rental.php?sCar='+sCar+'&sOut='+sOut+'&sIn='+sIn;
	Ajup(sURL);
}

function Rental_Make_Unavail()
{
	if(bOverlap)
	{
		alert('Warning: Overlapping Booking in Relocation Period!');
	}
	else
	{
		if(confirm('This booking will require a '+iRelocate_Days+' day return to base. Make unavailable for this period?'))
		{
			var dIn = document.getElementById('DateIn').value;
			var sAgrmnt = document.getElementById('sAgrmnt').value;
			var sCar = document.getElementById('sCar').value;
			var sFrom = document.getElementById('sRntfrom').value;
			var sTo = document.getElementById('sRentto').value;
			sURL = 'ajup_make_unavail_rental.php?sCar='+sCar+'&sOut='+dIn+'&iDays='+iRelocate_Days+'&sFrom='+sTo+'&sTo='+sFrom+'&sAgrmnt='+sAgrmnt;
			Ajup(sURL);
		}
	}
}

function From_Change_Rental()
{
	if(confirm('Details Changed. Confirm relcalulate daily rate?'))
	{
		var dIn = new Date(document.getElementById('DateIn').value);
		var dOut = new Date(document.getElementById('DateOut').value);
		iDays = dIn.getTime() - dOut.getTime();
		if(iDays<=0)
		{
			bOkay_To_Book = false;
		}
		else
		{
			iDays = iDays / 86400000;
			document.getElementById('sAgrdays').value = iDays ;
//			document.getElementById('sOutput_Days').innerHTML = iDays ;

			var sFrom = document.getElementById('sRntfrom').value;
			var iClass = document.getElementById('iClass').value;
			var sDefOut = document.getElementById('Date_Out').value;

			sURL ='ajup_rental_update_days.php?&sFrom='+sFrom+'&sDefOut='+sDefOut+'&sAgrdays='+iDays+'&iClass='+iClass;
		    Ajup(sURL);

		}
	}
}


function Update_From()
{
		Update_Days();
}

function Extras_Change(objThis)
{
 	var nVal = new Number(objThis.value);
	objThis.value=nVal.toFixed(2);
	Rate_Change();
}

function Change_xdrivers()
{
	var fxdrivers = document.getElementById('fxdrivers').value;
	sURL = 'ajup_booking_update_xdrivers.php?fxdrivers='+fxdrivers;
	Ajup(sURL);

}
function Rental_Change_xdrivers()
{
	var fxdrivers = document.getElementById('fxdrivers').value;
	sURL = 'ajup_booking_update_xdrivers.php?fxdrivers='+fxdrivers;
	Ajup(sURL);

}


function Change_BabySeats()
{
	var iBabyseats = document.getElementById('iBabyseats').value;
	sURL = 'ajup_booking_update_babyseats.php?iBabyseats='+iBabyseats;
	Ajup(sURL);

}

function Change_BoosterSeats()
{
	var iBoosterseats = document.getElementById('iBoosterseats').value;
	sURL = 'ajup_booking_update_boosterseats.php?iBoosterseats='+iBoosterseats;
	Ajup(sURL);

}

function Rental_Change_BabySeats()
{
	var iBabyseats = document.getElementById('iBabyseats').value;
	sURL = 'ajup_rental_update_babyseats.php?iBabyseats='+iBabyseats;
	Ajup(sURL);

}

function Rental_Change_BoosterSeats()
{
	var iBoosterseats = document.getElementById('iBoosterseats').value;
	sURL = 'ajup_rental_update_boosterseats.php?iBoosterseats='+iBoosterseats;
	Ajup(sURL);

}


function Change_Pickup()
{
	var bPickup = document.getElementById('bPickup').value;
	sURL = 'ajup_booking_update_pickup.php?bPickup='+bPickup;
	Ajup(sURL);

}

function Rental_Change_Pickup()
{
	var bPickup = document.getElementById('bPickup').value;
	sURL = 'ajup_rental_update_pickup.php?bPickup='+bPickup;
	Ajup(sURL);

}


function Check_Relocate_Bkg()
{
	var sTo = document.getElementById('sTo').value;
	var sFrom = document.getElementById('sFrom').value;
	sURL = 'ajup_check_reloc_days_bkg.php?sTo='+sTo+'&sFrom='+sFrom;
	Ajup(sURL);
}

function Check_Relocate_Rental()
{
	var sTo = document.getElementById('sRentto').value;
	var sFrom = document.getElementById('sRntfrom').value;
	sURL = 'ajup_check_reloc_days_rental.php?sTo='+sTo+'&sFrom='+sFrom;
	Ajup(sURL);
}

function Add_Hirer_Bkg()
{
	sURL = 'ajup_check_surname_bkg.php';
	Ajup(sURL);
}

function New_Hirer_Bkg()
{
	sSurname = (document.getElementById("Last_Name").value > '')  ? document.getElementById("Last_Name").value : '' ;
	sFirstname = (document.getElementById("Firstname").value > '' ) ? document.getElementById("Firstname").value : '' ;
	sPhone = (document.getElementById("Phone").value > '') ?document.getElementById("Phone").value : '' ;
	document.getElementById('Select_Hirer').style.display = 'none';
	sURL = 'ajup_client_create_bkg.php?sSurname='+sSurname+'&sFirstname='+sFirstname+'&sPhone='+sPhone;
	Ajup(sURL);
//	document.getElementById("Add_Hirer").style.display = "none";
}

function Check_Hirer_Bkg()
{
	sSurname = (document.getElementById("Last_Name").value > '')  ? document.getElementById("Last_Name").value : '' ;
	sFirstname = (document.getElementById("Firstname").value > '' ) ? document.getElementById("Firstname").value : '' ;
	sPhone = (document.getElementById("Phone").value > '') ?document.getElementById("Phone").value : '' ;
	sURL = 'ajup_client_select_bkg.php?sSurname='+sSurname+'&sFirstname='+sFirstname+'&sPhone='+sPhone;
	Ajup(sURL);
}

function No_Match_Bkg()
{
	if(confirm('No Matches found. \n Create a new Hirer?'))
	{
		New_Hirer_Bkg();

	}
}

function Hirer_Selected_Bkg(evt)
{
	rowNode = evt.target.parentNode.parentNode;
	tableBody = rowNode.parentNode;
	for(i=0;i<tableBody.childNodes.length;i++)
	{
		if(tableBody.childNodes[i].tagName=="TR")
		{
		     tableBody.childNodes[i].className ="";
		}
	}
	rowNode.className="selectedIndex";
//	alert(document.getElementById('iHirer.value);
}

function Hirer_Select(iClient)
{
	document.getElementById('iHirer').value = iClient;
	sURL = 'ajup_client_edit_bkg.php?iClient='+iClient;
	Ajup(sURL);
//	var sHTML = " Hirer No: " + iClient + " - Name: ";
	document.getElementById("Select_Hirer").style.display = "none";
	document.getElementById("Select_Hirer").innerHTML = "";
	bOkay_To_Book = true;
}

function Create_Hirer_Bkg()
{
	sURL = 'ajup_confirm_client_create_bkg.php?'+ Get_URL_Str();
	Ajup(sURL);
}

function Update_Hirer_Bkg()
{
	sURL = 'ajup_confirm_client_edit_bkg.php?'+ Get_URL_Str();
	Ajup(sURL);
}

function Check_Bkg()
{
	if(bOverlap)
	{
		alert('There is an overlapping booking for this car. \n Please Check');
	}
	else if(!bOkay_To_Book)
	{
        alert("Out or In Dates may be wrong. \n Please Check!");
	}
	else if(document.getElementById('sOuthour').value=='05' || document.getElementById('sInhour').value=='05')
	{
		alert("Out or In Time can not be 5am. \n Please Check!");
	}
	else
	{
		Conf_Bkg();
	}
}

function Get_URL_Str()
{
	var aIDs = new Array();
	var sIDs = '';
	var cIDs = document.getElementsByTagName('*');
	for(i=0;i<cIDs.length;i++)
	{
		if(cIDs[i].tagName=='SELECT' || cIDs[i].tagName=='INPUT' || cIDs[i].tagName=='TEXTAREA')
		{
			aIDs.push(cIDs[i].id + '=' + cIDs[i].value);
		}
	}
	sIDs = aIDs.join('&');
	return sIDs;
}


function Conf_Bkg()
{
    sURL = 'ajup_conf_bkg.php?'+ Get_URL_Str();
	Ajup(sURL);


}
function Update_Rental()
{
    if(bHirer_Open)
	{
		if(confirm("Save The Client Details?"))
		{
			Update_Hirer_Rental();
			var sURL = 'ajup_save_hirer_only_rental.php?'+ Get_URL_Str();
			Ajup(sURL);
		}
		bHirer_Open = false;
	}
	sURL = 'ajup_update_rental.php?'+ Get_URL_Str();
    Ajup(sURL);
	var sCar = document.getElementById('sCar').value;
	var dSavedDate = document.getElementById('dSavedDate').value;
	sURL = 'ajup_rs_car_row.php?sCar='+sCar+'&dSavedDate='+dSavedDate;
	Ajup(sURL);
}

function Add_Hirer_Rental(iHirerNo) {
    bHirer_Changed = true;
    sAgrmnt = document.getElementById('sAgrmnt').value;
	sURL= 'ajup_add_hirer_rental.php?sAgrmnt='+sAgrmnt+'&iHirerNo='+iHirerNo;
    Ajup(sURL);
}

function Check_Hirer_Rental()
{
	var sSurname = (document.getElementById("sSurname").value > '')  ? document.getElementById("sSurname").value : '' ;
	var sFirstname = (document.getElementById("sFirstname").value > '' ) ? document.getElementById("sFirstname").value : '' ;
	var sPhone = (document.getElementById("sPhone").value > '') ?document.getElementById("sPhone").value : '' ;
	var iHirerNo = document.getElementById("iHirerNo").value;
	var sURL = 'ajup_client_select_rental.php?sSurname='+sSurname+'&sFirstname='+sFirstname+'&sPhone='+sPhone+'&sHirerNo='+iHirerNo;
	Ajup(sURL);
}

function No_Match_Rental()
{
	if(confirm('No Matches found. \n Create a new Hirer?'))
	{
		New_Hirer_Rental();

	}
}

function Hirer_Selected_Rental(evt)
{
	var rowNode = evt.target.parentNode;
	var tableBody = rowNode.parentNode;
//	alert(tableBody.tagName);
	for(i=0;i<tableBody.childNodes.length;i++)
	{
		if(tableBody.childNodes[i].tagName=="TR")
		{
		     tableBody.childNodes[i].className ="";
		}
	}
	rowNode.className="selectedIndex";
//	alert(document.getElementById('iHirer.value);
}

function Hirer_Select_Rental(iHirer, iHirerNo)
{
	var sURL = 'ajup_hirer_edit_rental.php?iHirer='+iHirer+'&iHirerNo='+iHirerNo;
	Ajup(sURL);
}

function Edit_Hirer_Rental(iHirer, iHirerNo) {
    bHirer_Changed = true;
    var sAgrmnt = document.getElementById('sAgrmnt').value;
	var sURL = 'ajup_hirer_edit_rental.php?iHirerNo='+iHirerNo+'&iHirer='+iHirer;
    Ajup(sURL);
    bHirer_Open = true;
}

function Delete_Hirer_Rental(iHirerNo)
{
    bHirer_Changed = true;
    var sAgrmnt = document.getElementById('sAgrmnt').value;
    var sURL = 'ajup_delete_hirer_rental.php?sAgrmnt='+sAgrmnt+'&iHirerNo='+iHirerNo;
    Ajup(sURL);
}


function Create_Hirer_Rental(iHirerNo)
{
	var sURL = 'ajup_confirm_create_hirer_rental.php?'+ Get_URL_Str()+'&iHirerNo='+iHirerNo;
	Ajup(sURL);
}

function New_Hirer_Rental()
{
    var sURL = 'ajup_create_hirer_rental.php?' + Get_URL_Str();
	Ajup(sURL);
}

function Update_Hirer_Rental()
{
    var sURL = 'ajup_update_hirer_rental.php?' + Get_URL_Str();
	Ajup(sURL);
}

function Save_Hirer_Rental()
{
	Update_Hirer_Rental();
	var sURL = 'ajup_save_hirer_rental.php?'+ Get_URL_Str();
	Ajup(sURL);
}

function Replace_Car_Rental()
{
	var sURL = 'ajup_replace_car_rental.php?'+ Get_URL_Str();
	Ajup(sURL);
}

function Search_Keydown(evt)
{
	if (evt.keyCode == 13)
	{
		Check_Hirer_Bkg();
	}
}


function Hirer_Visible(objThis)
{
	objThis.parentNode.style.visibility="collapse";
	document.getElementById('HirerSection').style.visibility="visible";
	document.getElementById('Add_Hirer').style.visibility="visible";
	return true;
}

function Hour_Change(objThis)
{
  if(objThis.value>5)
  {
	  sID = objThis.id;
	  document.getElementById(sID).style.backgroundColor = "#FFFFEE";
	  if(sID == 'sOuthour' || sID == 'sOutmin' || sID == 'sInhour' || sID == 'sInmin')
	  {
	  	Update_Days();
	  }
	  else if(sID == 'sOuthours' || sID == 'sOutminute' || sID == 'sInhours' || sID == 'sInminute')
	  {
	  	Agr_UpdateDays();
	  }

  }
}




function Msg_Close()
{
	document.getElementById('Msg').style.visibility = 'hidden';
}

function Msg_Show()
{
	document.getElementById('Msg').style.visibility = 'visible';
}

function moreinfo(sURL)
{
	var iLeft=window.screenX+window.outerWidth/2-250;
	var iTop=window.screenY+window.outerHeight/2-200;
	infoWindow = window.open(sURL, "infobox", "width=500,height=400,top="+iTop+",left="+iLeft+", scrollbars=yes, titlebar=no");
	infoWindow.focus();
}

// AJAX functions
function getParametersAsJSON() {
    var aIDs = new Array();
    var sIDs = '';
    var cIDs = document.getElementsByTagName('*');
    var objPars = new Object();

    for (i = 0; i < cIDs.length; i++) {
        if (cIDs[i].tagName == 'SELECT' || cIDs[i].tagName == 'INPUT' || cIDs[i].tagName == 'TEXTAREA') {
            var strPar = cIDs[i].id;
            var strValue = cIDs[i].value;
            Object.defineProperty(objPars, strPar, { value: strValue,
                writable: true,
                enumerable: true,
                configurable: true
            });
        }
    }
    sIDs = JSON.stringify(objPars);
    return sIDs;
}

function clientShow(iClientID) {
    new Ajax.Request( 'showClient.php',
    {
        method: 'get',
        parameters: { clientID: iClientID },
        onComplete: function(transport){
                document.getElementById("clientDetails").innerHTML = transport.responseText;
                }
    }
    );
}

function saveClient() {
    var strParameters = getParametersAsJSON();
    new Ajax.Request( 'saveClient.php',
    {
        method: 'get',
        parameters: { parList: strParameters },
        onComplete: function (transport) {
            alert(transport.responseText);
        }
    });
}

function findRental() {
    var iRental = document.getElementById('Find_Agrmnt').value;
    iRental = (iRental > 0) ? iRental : 0;
    var sHirer = document.getElementById('Find_Hirer').value;
    sHirer = (sHirer > '') ? sHirer : 'nil';
    var sCar = document.getElementById('Find_Car').value;
    sCar = (sCar > '') ? sCar : 'nil';
    new Ajax.Request('rentalFind.php',
    {
        method: 'get',
        parameters: { sAgrmnt: iRental, sHirer: sHirer, sCar: sCar },
        onComplete: function (transport) {
            document.getElementById("rentalList").innerHTML = transport.responseText;
        }
    });
}

function showLoad() {
    document.getElementById('loadingNotice').style.display = 'block';
}
