var serviceTypeCounter=0;
var tempDeliveryType = "";
var tempVehicleType = "";
var selectedVehicleType = false;
var selectedVehicleTypeID = "";
var selectedVehicleOptionID = "";

var tempXMLBOOKING = ""
var oldImage = ""
var optionSelected = 0;
var isStandBy = false;
var daycount = 0;
var FromTime = new Array();
var ToTime = new Array();
var tempBookingDate = "" 
var publicholiday = new Array();
var SAME_DAY_SERVICE = "(240,10,130)";
var MELB_1TONNE_TRANSIT = "(242,10,1)";
var MELB_1TONNE_LONGWHEEL = "(242,3,1)";

var temp = parent.window.location+""
var tempArray = temp.split("/")
var owndirectory = tempArray[3]
var ownweb = tempArray[0]+"/"+tempArray[1]+"/"+tempArray[2]
var owncompany = tempArray[3] 
var webservicetypeid = '';
var JOBID;
var JOBLEGID; 
function ConfirmServiceType(theObject, myCompanyID) {
	   VehicleOption()
		 getServiceType(myCompanyID); 
		 // get zone if neccessary
		 checkZone()	 		 
		 
		 // disable deliverby time
		 useDeliverByTime(window,document);
}
/*
function useDeliverByTime(myParent) {
     var myObject = myParent.getElementById("Delivery")
     if (myObject.options[myObject.selectedIndex].innerHTML == "General" || 
		 		 myObject.options[myObject.selectedIndex].innerHTML == "General - Future" || 
		     myObject.options[myObject.selectedIndex].innerHTML == "AdvTomorrow") {
				 if (myParent.getElementById("DeliveryTime"))	{			 
				    myParent.getElementById("DeliveryTime").selectedIndex = 0
            myParent.getElementById("DeliveryTime").disabled = true
				 }	
		 } else {  
				 if (myParent.getElementById("DeliveryTime"))	
            myParent.getElementById("DeliveryTime").disabled = false
		 }
}
*/

function useDeliverByTime(myWindow,myParent) {
     var myObject = myParent.getElementById("Delivery")
     myParent.getElementById("DeliveryTime").options.length = 0
		 var localcount = 0;
     if (myObject.options[myObject.selectedIndex].innerHTML == "General" || 
		 		 myObject.options[myObject.selectedIndex].innerHTML == "General - Future" || 
		     myObject.options[myObject.selectedIndex].innerHTML == "AdvTomorrow") {
				 if (myParent.getElementById("DeliveryTime"))	{		
							 
				    if (myParent.getElementById("MyClientCode").value == "COMPUN" && myParent.getElementById("Vehicle").selectedIndex != 0) {
							 var checkwith = "From0"
						   if (server_readyNowOK == false) {
							    checkwith = "From1"
							 }
						   for (var i=8; i<myWindow.frames["ClockFrame"].document.getElementById(checkwith).length; i++) {
							    var splitMe = "";
						      var timeSession = "";
					        splitMe = myWindow.frames["ClockFrame"].document.getElementById("showAvailableDates").options[0].value.split(" ")
									splitMe[0] = splitMe[0].replace(/-/g,"/")									
				          timeSession = myWindow.frames["ClockFrame"].document.getElementById(checkwith).options[i].value
						      myParent.getElementById("DeliveryTime").options[localcount] = new Option(timeSession, "PreferedTime");
									localcount++;
							 }		
						} else {	 
				       myParent.getElementById("DeliveryTime").selectedIndex = 0
               myParent.getElementById("DeliveryTime").disabled = true
							 myParent.getElementById("DeliveryTime").options[0] = new Option("ASAP", "ASAP");
							 myParent.getElementById("DeliveryTime").options[1] = new Option("By midday", "ByMidday");
							 myParent.getElementById("DeliveryTime").options[2] = new Option("By close of business", "ByClose");
							 myParent.getElementById("DeliveryTime").options[3] = new Option("Prefered Delivered Time", "PreferedTime");
						}	 
				 }		
		 } else {  
				 if (myParent.getElementById("DeliveryTime"))	
            myParent.getElementById("DeliveryTime").disabled = false

				 myParent.getElementById("DeliveryTime").options[0] = new Option("ASAP", "ASAP");
				 myParent.getElementById("DeliveryTime").options[1] = new Option("By midday", "ByMidday");
				 myParent.getElementById("DeliveryTime").options[2] = new Option("By close of business", "ByClose");
				 myParent.getElementById("DeliveryTime").options[3] = new Option("Prefered Delivered Time", "PreferedTime");
		 }
}


function presetBookingDetails(myobject, myvalue) {
   //
	 // set object value to whatever it's passed down
	 // from BookSameJob() function - Dtrans-v1.js
	 //
	 if (myobject)
      myobject.value = myvalue.replace(/<br>/ig,"\n");
}

function getServiceType(myCompanyID) {
   //
	 // display/build service type options
	 // 1. clear service type options
	 // 2. isit a premium/general/advtomorrow type?
	 // 3. isit predetermined in webclientuser table?
	 //
	 
   var myHigherParent = ""
   var myParent = ""
	 var myParentChild = ""

   if (parent.frames["NewFrame"]) {
      myHigherParent = parent.parent
      myParent = parent.frames["NewFrame"]
      myParentChild = myParent.frames["PickupDestinationFrame"]
   } else {
      myHigherParent = window
      myParent = window
      myParentChild = myParent.frames["PickupDestinationFrame"]	 
	 }
	 
	 document.getElementById("myInvisibleOption").value = "";

	 // step 1
	 if (document.getElementById("Vehicle").selectedIndex > -1)
    	 tempVehicleType = document.getElementById("Vehicle").options[document.getElementById("Vehicle").selectedIndex].innerHTML
   var opt = ""; 
 	 opt = new Option("Service Type", "0");
	 document.getElementById("Vehicle").options[0] = opt;
   var vehiclecounter = 1;
   var innercounter = 1;
   var selectedDelivery = document.getElementById("Delivery").options[document.getElementById("Delivery").selectedIndex].innerHTML;

   for (i=0;i<serviceTypeCityID.length;i++) {
	     if (serviceTypeCityID[i] == myHigherParent.document.getElementById("myCityID").value) {
			    // step 2
		      if (selectedDelivery == "Premium") {
						 if (serviceTypeGroupDisplay[serviceTypeGroupName[i]+serviceTypeCityID[i]] == 't') {
	  	      	 			 opt = new Option(serviceTypeGroupName[i], serviceTypeGroupID[i]);
 			         			 document.getElementById("Vehicle").options[innercounter++] = opt;
						 } 							 
             vehiclecounter++
		      } else if (selectedDelivery == "General" || selectedDelivery == "General - Future") {
						 if (serviceTypeGroupGeneral[serviceTypeGroupName[i]+serviceTypeCityID[i]] == 't') {
	  	      	 			 opt = new Option(serviceTypeGroupName[i], serviceTypeGroupID[i]);
 			         			 document.getElementById("Vehicle").options[innercounter++] = opt;
						 } 							 
		         vehiclecounter++
		      } else if (selectedDelivery == "AdvTomorrow") {
						 if (serviceTypeGroupAdvTomorrow[serviceTypeGroupName[i]+serviceTypeCityID[i]] == 't') {
	  	      	 			 opt = new Option(serviceTypeGroupName[i], serviceTypeGroupID[i]);
 			         			 document.getElementById("Vehicle").options[innercounter++] = opt;
						 } 							 
		         vehiclecounter++
					} else {
  	      	 opt = new Option(serviceTypeGroupName[i], serviceTypeGroupID[i]);
	         	 document.getElementById("Vehicle").options[innercounter] = opt;
				 		 innercounter++
					}												 
			 }
	 }	 

	 document.getElementById("Vehicle").options.length = innercounter

	 var notfound = true;
 	 for (i=0;i<document.getElementById("Vehicle").options.length;i++) {
      // step 3
 	 		if (document.getElementById("Vehicle").options[i].innerHTML == tempVehicleType) {			
	        document.getElementById("Vehicle").selectedIndex = i
					if (selectedVehicleTypeID != "") {
					   if (document.getElementById(selectedVehicleTypeID)) {
					     document.getElementById("VehicleServiceID").value= selectedVehicleTypeID
					     document.getElementById(selectedVehicleTypeID).checked = true
						 } else {
					     document.getElementById("VehicleServiceID").value= ""						 
						 }	 
					}	 
					notfound = false;
	        break
		  }
	 }
	 if (notfound) {
	    document.getElementById("Options").innerHTML = ""
			document.getElementById("VehicleServiceID").value = ""
	 }
	
	 if (document.getElementById("Delivery")) {
	     var checkServiceObject = document.getElementById("Vehicle")

	     if (checkServiceObject.options[checkServiceObject.selectedIndex].innerHTML.indexOf('Service Type') < 0)
         SetAdvanceDateTime()
	 }	 		
	 
}

function SetSiteName (theObject) {
   //
	 // set site name for pickup if at that time, there's no value in it
	 //
   if (window.frames.PickupDestinationFrame.document.getElementById("PickupSite").value == "")
	    window.frames.PickupDestinationFrame.document.getElementById("PickupSite").value = theObject.value

}

function CheckAutoDelByTime(minutes) {
    //
		// if in carry 108, Auto DelBy Mins is set, do this
		//
    if (minutes != 0) {
		   document.getElementById("DeliveryTime").focus();
			 document.getElementById("DeliveryTime").selectedIndex=document.getElementById("DeliveryTime").length-1;
			 SetAutoDelByTime(document.getElementById("DeliveryTime"),minutes)
    }
} 

function SetAutoDelByTime(theObject,minutes) {
    //
		// in carry 108, Auto DelBy Mins is set
		// 1. currently not used, will review this
		//
    document.getElementById("VehicleFrame").style.visibility = "hidden"
    window.frames["ClockFrame"].document.getElementById("PopUpCalendar").style.visibility = "hidden"
    document.getElementById("Clock").style.visibility = "visible"
	  document.getElementById("TheCurrentObject").value = theObject.id
		window.frames["ClockFrame"].document.getElementById("FromDiv").style.left = "50px"
		window.frames["ClockFrame"].document.getElementById("DeliverByTitle").style.display = ""		     
		window.frames["ClockFrame"].document.getElementById("PickupTitle").style.display = "none"	
		window.frames["ClockFrame"].SetDefaultAutoDelByTime(minutes)
}

function SetEmpty (theObject) {
   //
	 // if it's ready now, set tempAdvance value to empty
	 //
   if (theObject.value != "Advance")
      document.getElementById("tempAdvance").value=""	 
}

function addbookmark(host)  {
   //
	 // 'bookmark our site' link is clicked, set this page to favourite
	 //  
   hostbreakdown = host.split('.'); 
   bookmarkurl="http://www."+hostbreakdown[1]+"."+hostbreakdown[2]+"."+hostbreakdown[3]
   bookmarktitle= hostbreakdown[1]+" booking" 
   window.external.addfavorite(bookmarkurl,bookmarktitle) 
}

function ChargeCreditCard(theObject,IsRef1,IsRef2) {
   //
	 // credit card payment is choosen
	 // 1. currently not used
	 //
   if (theObject.selectedIndex>0) 
		   SendBooking(IsRef1,IsRef2,1,0,0) 		
}

function HideVehicle() {
   //
   // temporary hide service type selection because it appears above any divs on it, blocking the view of the div
	 //
   document.getElementById("Vehicle").style.visibility = "hidden";
}

function ShowVehicle() {
   //
   // make service type selection visible again
	 //  
   document.getElementById("Vehicle").style.visibility = "visible";
}

function ImageList (servicegroupid,servicetypeid, image, isdefault, cityid, companyid) {
   //
   // set values
	 //
   this.servicegroupid = servicegroupid
	 this.servicetypeid=servicetypeid
	 this.image=image		    
	 this.isdefault=isdefault
	 this.cityid=cityid
	 this.companyid=companyid
}

function ImageOptionList (serviceoptionid,servicetypeid, image, withimage) {
   //
   // set values
	 //
	 this.serviceoptionid=serviceoptionid
	 this.servicetypeid=servicetypeid
	 if (withimage == "")
	    this.image=""		    
	 else
	    this.image=image		    
}

function SetAdvanceDateTime() {
  if (!(document.getElementById("Vehicle")))
	     return
	 var checkServiceObject = document.getElementById("Vehicle")
	 if (myCurrentObject) {
  	 if (myCurrentObject.id != "PickupTime") {
    	  var selectedDelivery = document.getElementById("Delivery").options[document.getElementById("Delivery").selectedIndex].innerHTML;
		    var rate = getRateActualID(selectedDelivery);
				if (document.getElementById("MyClientCode").value == "COMPUN" && myCurrentObject.id == "DeliveryTime") {
           if (selectedDelivery != "General" && selectedDelivery != "General - Future") {
  	          serverRequest("time", parent.parent.document.getElementById("myCityID").value, gotLocalTime,'',document.getElementById("VehicleServiceID").value, rate);
							incomplete = true;
					 }		
				} else {
  	       serverRequest("time", parent.parent.document.getElementById("myCityID").value, gotLocalTime,'',document.getElementById("VehicleServiceID").value, rate);
	 				 incomplete = true;
				}	 
     } else {
	      MyAdvanceDateTime()
	   }	
	 }	 	 
}

function setChosenDate() {
	 var tempDate = document.getElementById("PickupTime").options[document.getElementById("PickupTime").selectedIndex].innerHTML.split(" ")
	 tempDate[0] = tempDate[0].replace("/", "-")
	 tempDate[0] = tempDate[0].replace("/", "-")
	 for (var z=0; z<window.frames["ClockFrame"].document.getElementById("showAvailableDates").length; z++) {
	 		 var compare = window.frames["ClockFrame"].document.getElementById("showAvailableDates").options[z].innerHTML.split(" ") 			    
	     if (compare[0] == tempDate[0]) {
			    window.frames["ClockFrame"].document.getElementById("showAvailableDates").selectedIndex = z
					window.frames["ClockFrame"].setDateTime()
					break
			 }		
	 }			 			 	
}

function MyAdvanceDateTime() {
   //
   // hide and display advance time window
	 // 1. if ready now is not available, do not allow
	 // 2. saturday is available if it's a working day for the city
	 // 
//	 var theObject = document.getElementById("PickupTime");
	  
 	 // step 1
//	 if (document.getElementById("noReadyNow").value == "true")
//	 		document.getElementById("PickupTime").selectedIndex = 1

	 if (!(myCurrentObject))
	    return false
			
	 if (!(myCurrentObject.length))		
	    return false;
			 
	 theObject = myCurrentObject;


   window.frames["ClockFrame"].document.getElementById("showAvailableDates").options[0].disabled = false
   window.frames["ClockFrame"].document.getElementById("showAvailableDates").options[0].style.color = "black"
	 window.frames["ClockFrame"].document.getElementById("saturdayWord").style.display = ""

	 // step 2
	 for (i=0; i< window.frames["ClockFrame"].document.getElementById("showAvailableDates").length; i++) {
	 		 var checkDay = window.frames["ClockFrame"].document.getElementById("showAvailableDates").options[i].value.split(" ")
			 if (checkDay[1] == "Sat") {
			 		 window.frames["ClockFrame"].document.getElementById("showAvailableDates").options[i].disabled = false
			 		 window.frames["ClockFrame"].document.getElementById("showAvailableDates").options[i].style.color = "black"			 
			 }
	 }

   document.getElementById("tempDeliverBy").value = ""
	 //if (theObject.length < theObject.selectedIndex)
	   // return false;
   if (theObject.options[theObject.selectedIndex].value == "ByClose" ||  theObject.options[theObject.selectedIndex].value == "ByMidday") {
		 return	            
	 } else if (theObject.options[theObject.selectedIndex].value == "TimeSlot") {
	    document.getElementById("VehicleFrame").style.visibility = "hidden"
      document.getElementById("Clock").style.visibility = "visible"
	    document.getElementById("TheCurrentObject").value = theObject.id
			 window.frames["ClockFrame"].document.getElementById("TimeColumn").style.display = ""				 			 
			 window.frames["ClockFrame"].document.getElementById("TimeSlot").style.display = ""		     
			 window.frames["ClockFrame"].document.getElementById("DeliverByTitle").style.display = "none"		     
			 window.frames["ClockFrame"].document.getElementById("PickupTitle").style.display = "none"
			 setChosenDate()
			 window.frames["ClockFrame"].document.getElementById("showAvailableDates").disabled = true	
			 window.frames["ClockFrame"].setTitle()	     
	 }	else if (theObject.options[theObject.selectedIndex].value == "PreferedTime") {
	    document.getElementById("VehicleFrame").style.visibility = "hidden"
      document.getElementById("Clock").style.visibility = "visible"
	    document.getElementById("TheCurrentObject").value = theObject.id
			 window.frames["ClockFrame"].document.getElementById("TimeSlot").style.display = "none"		     
			 window.frames["ClockFrame"].document.getElementById("DeliverByTitle").style.display = ""		     
			 window.frames["ClockFrame"].document.getElementById("PickupTitle").style.display = "none"	
			 setChosenDate()
			 window.frames["ClockFrame"].document.getElementById("showAvailableDates").disabled = true	
			 window.frames["ClockFrame"].setTitle()	  
//   } else if (theObject.selectedIndex != 0 || server_readyNowOK == "false") {
   } else if ((theObject.selectedIndex != 0 && theObject.id == "PickupTime") || server_readyNowOK == "false") {
		  if (document.getElementById("Delivery").options[document.getElementById("Delivery").selectedIndex].innerHTML == "General") {
			   document.getElementById("Delivery").options[document.getElementById("Delivery").selectedIndex].innerHTML = "General - Future"
	 	  } 		 
 			document.getElementById("PickupTime").selectedIndex = 1
			document.getElementById("noReadyNow").value = true
	    document.getElementById("VehicleFrame").style.visibility = "hidden"
      document.getElementById("Clock").style.visibility = "visible"
//	    document.getElementById("TheCurrentObject").value = theObject.id
	    document.getElementById("TheCurrentObject").value = "PickupTime"
      window.frames["ClockFrame"].document.getElementById("PickupTitle").style.display = ""
			 window.frames["ClockFrame"].document.getElementById("TimeSlot").style.display = "none"
			 window.frames["ClockFrame"].document.getElementById("DeliverByTitle").style.display = "none"		    
			 setChosenDate() 
			 window.frames["ClockFrame"].document.getElementById("showAvailableDates").disabled = false			 
			 // certain delivery type must be done between monday and friday
			 var found = false;
       for (var rate=0; rate<RateTypeData.length; rate++) {
          if (document.getElementById("Delivery").options[document.getElementById("Delivery").selectedIndex].innerHTML == RateTypeData[rate].description) {
		          if (RateTypeData[rate].onlyfornextbusinessday == "t") {
				         window.frames["ClockFrame"].onlyTomorrowAndNotSaturdays(rate)
						     found = true;
 						     break
							} else if (RateTypeData[rate].onlyforbusinessday == "t") {
						      window.frames["ClockFrame"].noSaturdays(rate)
							    found = true;
								  break
						  }					
				  }
			 }
			 // if it's a normal delivery time, show all available dates
			 if (!(found)) {
			    window.frames["ClockFrame"].includeSaturdays();
			 }				 			 				 
			 window.frames["ClockFrame"].setTitle()	     
			 window.frames["ClockFrame"].document.getElementById("TimeColumn").style.display = ""		
	 } else if (server_readyNowOK == "false") {
      document.getElementById("Clock").style.visibility = "hidden"
	    document.getElementById("VehicleFrame").style.visibility = "visible"
			 if (document.getElementById("myInvisibleOption").value != "") {
         document.getElementById(document.getElementById("myInvisibleOption").value).style.display = ""
         document.getElementById(document.getElementById("myInvisibleOption").value).checked = false
         document.getElementById(document.getElementById("myInvisibleOption").value).style.display = "none"
			 }   			 
	 }	  
	 
	 return false
}

function DisplayVehicleType(theObject) {
   //
	 // depending on the type of vehicle selected, set values and pictures and other options
	 // 1. if vehicle size is larger than 2 tonne inclusive (taxitrucks), disable dangerous goods
	 // 2. set and display matching vehicle details
	 // 3. check for delivery type
	 // 4. check available time for this ratetype and this servicegroup
	 //
	 
	 var myParent = ""
	 var myHigherParent = ""
   if (tempArray[2].indexOf("civic") < 0) {
       myParent = parent.frames["NewFrame"]
	 } else if (parent.parent.frames["contentsframe"]) {
       myParent = parent.parent.frames["contentsframe"]
	 } else {		 
       myParent = window
	 }		 
	 if (myParent) {
       if (tempArray[2].indexOf("civic") < 0)
          myHigherParent = parent.parent
			 else		
          myHigherParent = parent.parent.frames["contentsframe"]
	 } else {
	     if (parent.frames["mainIframe"].frames["NewFrame"]) {
	        myParent = parent.frames["mainIframe"].frames["NewFrame"]
          var myHigherParent = parent.parent.parent
			 } else {
	        myParent = window
          myHigherParent = parent			 
			 }
	 }		
 
	 var myParentChild = myParent.frames["PickupDestinationFrame"]
   selectedVehicleOptionID = "";

   // step 1
	 if (theObject.selectedIndex >= 4 || theObject.selectedIndex == 0) {
	     if (myParent.document.getElementById("GoodsClass")) {
	       myParent.document.getElementById("GoodsClass").disabled = true
         myParent.document.getElementById("GoodsClass").selectedIndex = 0
			 }	 
			 checklocation = myParentChild.location.href.match("PickupDestination.html")
			 if (checklocation != "PickupDestination.html") {
	        myParentChild.location = "PickupDestination.html"
			 }		
	 } else {
	     if (myParent.document.getElementById("GoodsClass")) {
	        myParent.document.getElementById("GoodsClass").disabled = false
			 }	
	     myParent.document.getElementById("DeliveryTime").disabled = false	 
	     myParent.document.getElementById("PickupTime").disabled = false
			 useDeliverByTime(myParent.window, myParent.document)	 
	 }
	 // step 2
   for (i=0;i<displayImage.length;i++) {
	   if (webservicetypeid == "") {
//		 alert(displayImage[i].servicetypeid+" or "+displayImage[i].servicegroupid+" == "+theObject.value+" && "+displayImage[i].isdefault+" == istrue && "+myHigherParent.document.getElementById("myCityID").value+" == "+displayImage[i].cityid) 
	   		if ((displayImage[i].servicetypeid == theObject.value || 
			     displayImage[i].servicegroupid == theObject.value) && displayImage[i].isdefault == "t" &&
			     myHigherParent.document.getElementById("myCityID").value == displayImage[i].cityid) {
					   setServiceType(i, myParent)
				     break;
	      }
     } else if (displayImage[i].servicetypeid == webservicetypeid &&
		            myHigherParent.document.getElementById("myCityID").value == displayImage[i].cityid) {
					   setServiceType(i, myParent)
				     break;
		 }
	 }	 	 

	 // step 3
	 if (theObject.selectedIndex > 0)
    	 checkZone()
	 webservicetypeid = "";

	 // step 4
   var checkObject = myParent.document.getElementById("Delivery")
   var checkServiceObject = myParent.document.getElementById("Vehicle")

//	 if (checkObject.options[checkObject.selectedIndex].innerHTML.indexOf('General') >= 0 && checkServiceObject.options[checkServiceObject.selectedIndex].innerHTML.indexOf('Service Type') < 0)
	 if (checkServiceObject.options[checkServiceObject.selectedIndex].innerHTML.indexOf('Service Type') < 0)
       SetAdvanceDateTime()
}

function setServiceType(i, myParent) {
   //
	 // set values and show images after checking through function DisplayVehicleType()
	 //
   if (myParent.frames["VehicleFrame"].document.getElementById("VehicleImage")) 
   	 	myParent.frames["VehicleFrame"].document.getElementById("VehicleImage").src = displayImage[i].image
	 oldImage = displayImage[i].image


   myParent.document.getElementById("VehicleServiceID").value = displayImage[i].servicetypeid;

   if (myParent.frames["MultiPurposeFrame"]) {
	 	  myParent.frames["MultiPurposeFrame"].VehicleSpecDesc(displayImage[i].servicetypeid);
	 } else {	 
	    myParent.window.frames["MultiPurposeFrame"].VehicleSpecDesc(displayImage[i].servicetypeid);
	 }		
}

function ShowOptionImage(theObject,overwritedescription) {
    //
		// show matching image and description with selected vehicle type
		// 1. set description
		// 2. set image
		//
		
    var doReplace = true;

		if (theObject.checked) {
		   selectedVehicleOptionID += theObject.id+"@"
	  } else { 
			 var splitSelected = selectedVehicleOptionID.split("@")
		   selectedVehicleOptionID = ""
			 for (z=0;z< splitSelected.length-1; z++) { 		
 			   if (splitSelected[z] != theObject.id)
				   	selectedVehicleOptionID += splitSelected[z]+"@"
		   }
		}			 

    // step 1
		if (overwritedescription == 1) {
		    if (theObject.checked)
           window.frames["MultiPurposeFrame"].OverwriteDescription();
				else	 
           window.frames["MultiPurposeFrame"].SetOriginalVehicleDescription();
		} else {
		    for (i=0; i<serviceoptionArray.length; i++) {
				    if (serviceoptionArray[i].indexOf("yes") > 0 && 
						    (serviceoptionArray[i].indexOf(MELB_1TONNE_TRANSIT) > 0 || serviceoptionArray[i].indexOf(MELB_1TONNE_LONGWHEEL) > 0)) {
								doReplace = false;
								break;
						}		
				}
				if (doReplace)
           window.frames["MultiPurposeFrame"].SetOriginalVehicleDescription();
				else	 
           window.frames["MultiPurposeFrame"].OverwriteDescription();
		}		
		
	  for (i=0; i<serviceoptionArray.length; i++) {
		   // option selected
			if (serviceoptionArray[i].indexOf("yes") > 0) {
			    window.frames["MultiPurposeFrame"].VehicleExtraDescription(serviceoptionArray[i].substr(0,serviceoptionArray[i].length-3));
 			}
    }
    doCheck = true;
		
		// step 2
    for (i=0;i<displayImageOption.length;i++) {
        if (displayImageOption[i].serviceoptionid == theObject.id) {
						if (theObject.checked) { 
						   optionSelected++;
				       if (displayImageOption[i].image != "") {
							    // 1 TONNE TRANSIT
									if (document.getElementById("(242,10,1)")) {
									  if (document.getElementById("(242,10,1)").checked) {
							        // both triple roofrack and towball
									    if (document.getElementById("(242,7,2)").checked && document.getElementById("(242,0,4)").checked)
										     window.frames["VehicleFrame"].document.getElementById("VehicleImage").src = "/images/vehicle/web_1tvtstrrtbNew.png"
							        // both roofrack and towball
									    else if (document.getElementById("(242,0,4)").checked && document.getElementById("(242,0,3)").checked)
										     window.frames["VehicleFrame"].document.getElementById("VehicleImage").src = "/images/vehicle/web_1tvtsrrtbNew.png"
									    else if (document.getElementById("(242,0,4)").checked) 
										     window.frames["VehicleFrame"].document.getElementById("VehicleImage").src = "/images/vehicle/web_1tvtstbNew.png"
									    else if (document.getElementById("(242,0,3)").checked) 
										     window.frames["VehicleFrame"].document.getElementById("VehicleImage").src = "/images/vehicle/web_1tvtsrrNew.png"
									    else if (document.getElementById("(242,7,2)").checked) 
										     window.frames["VehicleFrame"].document.getElementById("VehicleImage").src = "/images/vehicle/web_1tvtstrrNew.png"
											else
       	                 window.frames["VehicleFrame"].document.getElementById("VehicleImage").src = displayImageOption[i].image

										  doCheck = false;
										}	 
								  }			 
							 if (doCheck) {
							    // 1 TONNE TRAY
							    // its 1 tonne tray tripple roofrack, check if it's with towball
							    if (theObject.id == "(242,7,1)") {
									    if (document.getElementById("(242,0,2)").checked) 
										     window.frames["VehicleFrame"].document.getElementById("VehicleImage").src = "/images/vehicle/web_1tttrrtbNew.png"
											else
       	                 window.frames["VehicleFrame"].document.getElementById("VehicleImage").src = displayImageOption[i].image
							    // its 1 tonne tray towball, check if it's with triple roofrack or roofrack
							    } else if (theObject.id == "(242,0,2)") {
									    // triple roofrack 
									    if (document.getElementById("(242,7,1)").checked) 
										     window.frames["VehicleFrame"].document.getElementById("VehicleImage").src = "/images/vehicle/web_1tttrrtbNew.png"
											// roofrack	 
									    else if (document.getElementById("(242,0,1)").checked) 
										     window.frames["VehicleFrame"].document.getElementById("VehicleImage").src = "f/images/vehicle/web_1ttrrtbNew.png"
											else
       	                 window.frames["VehicleFrame"].document.getElementById("VehicleImage").src = displayImageOption[i].image
							    // its 1 tonne tray roofrack, check if it's with towball
							    } else if (theObject.id == "(242,0,1)") {
									    if (document.getElementById("(242,0,2)").checked) 
										     window.frames["VehicleFrame"].document.getElementById("VehicleImage").src = "/images/vehicle/web_1ttrrtbNew.png"
											else
       	                 window.frames["VehicleFrame"].document.getElementById("VehicleImage").src = displayImageOption[i].image


							  
							    // 1 TONNE TRAY - CENTURY
							    // its 1 tonne tray tripple roofrack, check if it's with towball
							  } else if (theObject.id == "(242,10,28)") {
									    if (document.getElementById("(242,10,26)").checked) 
										     window.frames["VehicleFrame"].document.getElementById("VehicleImage").src = "/images/vehicle/web_1tttrrtbNew.png"
											else
       	                 window.frames["VehicleFrame"].document.getElementById("VehicleImage").src = displayImageOption[i].image
							    // its 1 tonne tray towball, check if it's with triple roofrack or roofrack
							    } else if (theObject.id == "(242,10,26)") {
									    // triple roofrack 
									    if (document.getElementById("(242,10,28)").checked) 
										     window.frames["VehicleFrame"].document.getElementById("VehicleImage").src = "/images/vehicle/web_1tttrrtbNew.png"
											// roofrack	 
									    else if (document.getElementById("(242,10,24)").checked) 
										     window.frames["VehicleFrame"].document.getElementById("VehicleImage").src = "/images/vehicle/web_1ttrrtbNew.png"
											else
       	                 window.frames["VehicleFrame"].document.getElementById("VehicleImage").src = displayImageOption[i].image
							    // its 1 tonne tray roofrack, check if it's with towball
							    } else if (theObject.id == "(242,10,24)") {
									    if (document.getElementById("(242,10,26)").checked) 
										     window.frames["VehicleFrame"].document.getElementById("VehicleImage").src = "/images/vehicle/web_1ttrrtbNew.png"
											else
       	                 window.frames["VehicleFrame"].document.getElementById("VehicleImage").src = displayImageOption[i].image
							  
								  // 1 TONNE VAN				 
							    // its 1 tonne van triple roofrack, check if it's with towball
							    } else if (theObject.id == "(242,7,2)") {
									    if (document.getElementById("(242,0,4)").checked) 
										     window.frames["VehicleFrame"].document.getElementById("VehicleImage").src = "/images/vehicle/web_1tvtrrtbNew.png"
											else
       	                 window.frames["VehicleFrame"].document.getElementById("VehicleImage").src = displayImageOption[i].image
							    // its 1 tonne van towball, check if it's with triple roofrack
							    } else if (theObject.id == "(242,0,4)") {
									    // triple roofrack
									    if (document.getElementById("(242,7,2)").checked) 
										     window.frames["VehicleFrame"].document.getElementById("VehicleImage").src = "/images/vehicle/web_1tvtrrtbNew.png"
											// roofrack	 
									    else if (document.getElementById("(242,0,3)").checked) 
										     window.frames["VehicleFrame"].document.getElementById("VehicleImage").src = "/images/vehicle/web_1tvrrtbNew.png"
											else
       	                 window.frames["VehicleFrame"].document.getElementById("VehicleImage").src = displayImageOption[i].image
							    // its 1 tonne van roofrack, check if it's with towball
							    } else if (theObject.id == "(242,0,3)") {
									    if (document.getElementById("(242,0,4)").checked) 
										     window.frames["VehicleFrame"].document.getElementById("VehicleImage").src = "/images/vehicle/web_1tvrrtbNew.png"
											else
       	                 window.frames["VehicleFrame"].document.getElementById("VehicleImage").src = displayImageOption[i].image
							  
							  
								  // 1 TONNE VAN				 
							    // its 1 tonne van triple roofrack, check if it's with towball
							    } else if (theObject.id == "(242,10,29)") {
									    if (document.getElementById("(242,10,27)").checked) 
										     window.frames["VehicleFrame"].document.getElementById("VehicleImage").src = "/images/vehicle/web_1tvtrrtbNew.png"
											else
       	                 window.frames["VehicleFrame"].document.getElementById("VehicleImage").src = displayImageOption[i].image
							    // its 1 tonne van towball, check if it's with triple roofrack
							    } else if (theObject.id == "(242,10,27)") {
									    // triple roofrack
									    if (document.getElementById("(242,10,29)").checked) 
										     window.frames["VehicleFrame"].document.getElementById("VehicleImage").src = "/images/vehicle/web_1tvtrrtbNew.png"
											// roofrack	 
									    else if (document.getElementById("(242,10,25)").checked) 
										     window.frames["VehicleFrame"].document.getElementById("VehicleImage").src = "/images/vehicle/web_1tvrrtbNew.png"
											else
       	                 window.frames["VehicleFrame"].document.getElementById("VehicleImage").src = displayImageOption[i].image
							    // its 1 tonne van roofrack, check if it's with towball
							    } else if (theObject.id == "(242,10,25)") {
									    if (document.getElementById("(242,10,27)").checked) 
										     window.frames["VehicleFrame"].document.getElementById("VehicleImage").src = "/images/vehicle/web_1tvrrtbNew.png"
											else
       	                 window.frames["VehicleFrame"].document.getElementById("VehicleImage").src = displayImageOption[i].image

							  
							    // 1 TONNE EITHER
							    // its 1 tonne either tripple roofrack, check if it's with towball
									} else if (theObject.id == "(242,7,3)") {
									    if (document.getElementById("(242,0,26)").checked) 
										     window.frames["VehicleFrame"].document.getElementById("VehicleImage").src = "/images/vehicle/web_1eithertrrtbNew.png"
											else
       	                 window.frames["VehicleFrame"].document.getElementById("VehicleImage").src = displayImageOption[i].image
							    // its 1 tonne either towball, check if it's with triple roofrack or roofrack
									} else if (theObject.id == "(242,0,26)") {
									    // triple roofrack
									    if (document.getElementById("(242,7,3)").checked) 
										     window.frames["VehicleFrame"].document.getElementById("VehicleImage").src = "/images/vehicle/web_1eithertrrtbNew.png"
											// roofrack	 
											else if (document.getElementById("(242,0,25)").checked)	 
										     window.frames["VehicleFrame"].document.getElementById("VehicleImage").src = "/images/vehicle/web_1eitherrrtbNew.png"
											else
       	                 window.frames["VehicleFrame"].document.getElementById("VehicleImage").src = displayImageOption[i].image
							    // its 1 tonne either towball, check if it's with triple roofrack or roofrack
									} else if (theObject.id == "(242,0,25)") {
									    if (document.getElementById("(242,0,26)").checked) 
										     window.frames["VehicleFrame"].document.getElementById("VehicleImage").src = "/images/vehicle/web_1eitherrrtbNew.png"
											else
       	                 window.frames["VehicleFrame"].document.getElementById("VehicleImage").src = displayImageOption[i].image
									}
									else 
    	                 window.frames["VehicleFrame"].document.getElementById("VehicleImage").src = displayImageOption[i].image
								}			 
							 }		
						}		else { 
						   // if the checkbox is unticked, set to previuos image
							 optionSelected--;
							 if (optionSelected == 0) {
						      window.frames["VehicleFrame"].document.getElementById("VehicleImage").src = oldImage
							 }		
							 else {		
			  					for (i=0; i<serviceoptionArray.length; i++) {
									    // option selected
											if (serviceoptionArray[i].indexOf("yes") > 0) {
										      // transit van
										      if (serviceoptionArray[i].substr(0,serviceoptionArray[i].length-3) == "(242,10,1)") {
							               // both triple roofrack and towball
									    		   if (document.getElementById("(242,7,2)").checked && document.getElementById("(242,0,4)").checked)
										     		    window.frames["VehicleFrame"].document.getElementById("VehicleImage").src = "/images/vehicle/web_1tvtstrrtbNew.png"
							               // both roofrack and towball
									           else if (document.getElementById("(242,0,4)").checked && document.getElementById("(242,0,3)").checked)
										     		    window.frames["VehicleFrame"].document.getElementById("VehicleImage").src = "/images/vehicle/web_1tvtsrrtbNew.png"
									           else if (document.getElementById("(242,0,4)").checked) 
										     		    window.frames["VehicleFrame"].document.getElementById("VehicleImage").src = "/images/vehicle/web_1tvtstbNew.png"
									           else if (document.getElementById("(242,0,3)").checked) 
										     		    window.frames["VehicleFrame"].document.getElementById("VehicleImage").src = "/images/vehicle/web_1tvtsrrNew.png"
									    			 else if (document.getElementById("(242,7,2)").checked) 
										     		    window.frames["VehicleFrame"].document.getElementById("VehicleImage").src = "/images/vehicle/web_1tvtstrrNew.png"
														 else		
										     		    window.frames["VehicleFrame"].document.getElementById("VehicleImage").src = "/images/vehicle/web_1tvtsNew.png"
													   return
													}
											    for (z=0;z<displayImageOption.length;z++) {
                             if (displayImageOption[z].serviceoptionid == serviceoptionArray[i].substr(0,serviceoptionArray[i].length-3)) {
				                         window.frames["VehicleFrame"].document.getElementById("VehicleImage").src = displayImageOption[z].image
																 return;
														 }		 
													}					
//												  return;
											} 
								  }			 
							 }		
						}
						break;
	      }
    }
		
		// reset values
	  var splitSelected = selectedVehicleOptionID.split("@")
		selectedVehicleOptionID = ""
		for (z=0;z< splitSelected.length-1; z++) { 		
		   if (document.getElementById(splitSelected[z]).checked) {
			   	selectedVehicleOptionID += splitSelected[z]+"@"
					
	        //  update newjob table
					// put back later
	        setProgressiveIndividualXML(document.getElementById(splitSelected[z]).title, "VehicleOptions"); 	 
			 }		
    }						
}

function DisplayImage(servicetypeid,todisplay) { 
  //
	// display vehicle images accordingly
	//
	
	 var myParent = "";
   var myHigherParent = ""
	 
   var myParent = "";
   var myHigherParent = ""
	 if (parent.frames["NewFrame"]) {
	     myParent = parent.frames["NewFrame"]
	 } else if (parent.frames["mainIframe"]) {
	     myParent = parent.frames["mainIframe"].frames["NewFrame"]
	 } else if (parent.frames["contentsframe"]) {
	     myParent = parent.frames["contentsframe"]
	 } else {		
	     myParent = parent.parent.frames["contentsframe"]
	 }		 

	 var myParentChild = myParent.frames["PickupDestinationFrame"]

   if (todisplay != "") {
	     myParent.frames["VehicleFrame"].innerHTML = todisplay
			 return;
	 }		 

	 for (i=0;i<displayImage.length;i++) {
	    if (displayImage[i].servicetypeid == servicetypeid) {
			   myParent.document.getElementById("VehicleServiceID").value = displayImage[i].servicetypeid;
				 if (window.frames["VehicleFrame"]) {
				    if (myParent.frames["VehicleFrame"].document.getElementById("VehicleImage"))
                myParent.frames["VehicleFrame"].document.getElementById("VehicleImage").src = displayImage[i].image
				 }				
			   oldImage = displayImage[i].image
				 optionSelected = 0;

				 if (myParent.frames["MultiPurposeFrame"]) {
		         myParent.frames["MultiPurposeFrame"].VehicleSpecDesc(displayImage[i].servicetypeid);
				 } 
				 // stand by critirias
				 if (servicetypeid == '(240,1,1)') {
						 // check the time now
						 SetStandByCritiria();
						 isStandBy = true;
				 } else {
				     //enable all options
	    		if (myParent.document.getElementById("GoodsClass"))
				         myParent.document.getElementById("GoodsClass").disabled = false
						 myParent.document.getElementById("Delivery").disabled = false
						 myParent.document.getElementById("PickupTime").disabled = false
			 			 useDeliverByTime(myParent.window, myParent.document)	 
						 if (isStandBy) {
						     myParent.document.getElementById("PickupTime").selectedIndex = 0
						     myParent.document.getElementById("tempAdvance").value = ""
						 }		 
						 isStandBy = false;		 
						 // cash deposit
						 if (servicetypeid == '(240,1,2)') {
						    var AddressObject = myParent.frames["PickupDestinationFrame"];
						    AddressObject.document.getElementById("Destination1Suburb").value = AddressObject.document.getElementById("PickupSuburb").value;
						 }
				 } 	
			}  
   }
}


function SetStandByCritiria() {
   //
	 // these are the stand-by critiria
	 // 1. no options for dangerous goods, delivery type, and delivery time
	 // 2. standby options - from standtytimes table -> look at GoodClass.js
	 //

 	 // step 1	  	 
   // cannot be dangerous goods
   if (window.document.getElementById("GoodsClass")) {
	    document.getElementById("GoodsClass").selectedIndex = 0
	    document.getElementById("GoodsClass").disabled = true
	 }		 
	 // default to standard job
	 for (var i=0; i<document.getElementById("Delivery").length;i++) {
	    if (document.getElementById("Delivery").options[i].innerHTML == "Standard")
    	    document.getElementById("Delivery").selectedIndex = i
	 }
	 document.getElementById("Delivery").disabled = true
	 
	 // cannot set delivery by time
	 document.getElementById("DeliveryTime").selectedIndex = 0
	 document.getElementById("DeliveryTime").disabled = true
	 // cannot set pickup time
	 document.getElementById("PickupTime").disabled = true
//	 document.getElementById("PickupTime").selectedIndex = 1
	 document.getElementById("PickupTime").selectedIndex = 0
//   document.getElementById("VehicleFrame").style.visibility = "hidden"
//   document.getElementById("Clock").style.visibility = "visible"
   document.getElementById("TheCurrentObject").value = "PickupTime"
   window.frames["ClockFrame"].document.getElementById("PickupTitle").style.display = ""
   window.frames["ClockFrame"].document.getElementById("TimeSlot").style.display = "none"
   window.frames["ClockFrame"].document.getElementById("DeliverByTitle").style.display = "none"		     
	 window.frames["ClockFrame"].document.getElementById("showAvailableDates").disabled = false	
	 window.frames["ClockFrame"].document.getElementById("TimeColumn").style.display = "none"				 
	 window.frames["ClockFrame"].document.getElementById("saturdayWord").style.display = "none"

	 var today = new Date();
	 var month = today.getMonth() + 1
	 var day = today.getDate()
	 var year = today.getFullYear()+''
	 if (month < 10)
	    month = "0"+month;
	 if (day < 10)
	    day = "0"+day;

	 year = year.substring(2)
//	 var compareDate = day+"-"+month+"-"+year;
//	 var comparePreSetDate = window.frames["ClockFrame"].document.getElementById("showAvailableDates").options[0].value.split(" ")
//	 var comparePreSetDate1 = window.frames["ClockFrame"].document.getElementById("showAvailableDates").options[1].value.split(" ")

	 // step 2
	 for (clock=0; clock< window.frames["ClockFrame"].document.getElementById("showAvailableDates").length; clock++) {
	 		 var checkDay = window.frames["ClockFrame"].document.getElementById("showAvailableDates").options[clock].value.split(" ")
			 if (checkDay[1] == "Sat") {
			 		 window.frames["ClockFrame"].document.getElementById("showAvailableDates").options[clock].disabled = true
			 		 window.frames["ClockFrame"].document.getElementById("showAvailableDates").options[clock].style.color = "lightblue"			 
			 }
	 }
/*	 
	 var mycityid = parent.parent.document.getElementById("myCityID").value
	 var hhmm = (today.getHours() * 100)+today.getMinutes();
   if (hhmm >= standby_cutoff[mycityid+today.getDay()]) {
	 alert("tomorrow")
	 }
*/	 
/*
   // step 3
   if ((today.getHours() >= 12 && comparePreSetDate[0] == compareDate)) {
	     // if 1st selection is today, disable it
	 		 window.frames["ClockFrame"].document.getElementById("showAvailableDates").options[0].disabled = true
	 		 window.frames["ClockFrame"].document.getElementById("showAvailableDates").options[0].style.color = "lightblue"
			 // if 2nd selection is sat, choose next working day
			 if (comparePreSetDate1[1] == "Sat")
	 		 		window.frames["ClockFrame"].document.getElementById("showAvailableDates").selectedIndex = 2
			 else		
	 		 		window.frames["ClockFrame"].document.getElementById("showAvailableDates").selectedIndex = 1
	 }	 	
	 window.frames["ClockFrame"].setTitle()	     
	 */
}	

					 

function ShowExtraOption (theObject) {
   //
	 // display vehicle options upon a type selected
	 // 1. check for same day service type
	 // 2. premium, advtomorrow, general delivery type has different vehicle options
	 // 3. check standby options
	 //
	 
   if (!(theObject))
	 		return
			
   var myParent = "";
   var myHigherParent = "";
//	 if (parent.frames["NewFrame"]) {
	 if (parent.frames["mainIframe"]) {
	    myParent = parent.frames["mainIframe"].frames["NewFrame"]
			myHigherParent = parent.parent
	 } else if (parent.parent.frames["contentsframe"]) {
	    myParent = parent.parent.frames["contentsframe"]	 
			myHigherParent = parent.parent.frames["contentsframe"]
	 } else {
	     myParent = window
			 myHigherParent = parent.parent
	 }		 
/*	 
	 if (myParent) {
       var myHigherParent = parent.parent
	 } else {		
	     myParent = parent.frames["mainIframe"].frames["NewFrame"]
       var myHigherParent = parent.parent.parent
	 }		 
*/

	 var myParentChild = myParent.frames["PickupDestinationFrame"]

	 selectedVehicleTypeID = theObject.id

	 // check if it's same day service
	 if (theObject.id == SAME_DAY_SERVICE)
	    myParent.document.getElementById("sameDayService").disabled = false
	 else {
	    if (myParent.document.getElementById("sameDayService"))
	       myParent.document.getElementById("sameDayService").disabled = true
	 }		 
   currentID = theObject.id
   var selectedDelivery = myParent.document.getElementById("Delivery").options[myParent.document.getElementById("Delivery").selectedIndex].innerHTML;
	 // step 2
	 if (selectedDelivery == "Premium") {
	    if (serviceTypePremiumValid['t'+myParent.document.getElementById("Vehicle").value+myHigherParent.document.getElementById("myCityID").value+specialratetables]) {
     	     myParent.document.getElementById("Options").innerHTML = serviceTypePremiumValid['t'+myParent.document.getElementById("Vehicle").value+myHigherParent.document.getElementById("myCityID").value+specialratetables]
					 if (myParent.document.getElementById(selectedVehicleTypeID) && selectedVehicleTypeID != "")
						  myParent.document.getElementById(selectedVehicleTypeID).checked = true
							
					 if (selectedVehicleOptionID != "") {		
					 		var splitSelected = selectedVehicleOptionID.split("@")
							for (z=0;z< splitSelected.length-1; z++) { 		
					 				if (myParent.document.getElementById(splitSelected[z]))
						  	 		 myParent.document.getElementById(splitSelected[z]).checked = true
							}			 
					 }	 
			}	 
	 } else if (selectedDelivery == "General" || selectedDelivery == "General - Future") {
	    if (serviceTypeGeneralValid['t'+myParent.document.getElementById("Vehicle").value+myHigherParent.document.getElementById("myCityID").value+specialratetables]) {
     	     myParent.document.getElementById("Options").innerHTML = serviceTypeGeneralValid['t'+myParent.document.getElementById("Vehicle").value+myHigherParent.document.getElementById("myCityID").value+specialratetables]
					 if (myParent.document.getElementById(selectedVehicleTypeID) && selectedVehicleTypeID != "")
						  myParent.document.getElementById(selectedVehicleTypeID).checked = true
							
					 if (selectedVehicleOptionID != "") {		
					 		var splitSelected = selectedVehicleOptionID.split("@")
							for (z=0;z< splitSelected.length-1; z++) { 		
					 				if (myParent.document.getElementById(splitSelected[z]))
						  	 		 myParent.document.getElementById(splitSelected[z]).checked = true
							}			 
					 }	 
			}	 
	 } else if (selectedDelivery == "AdvTomorrow") {
	    if (serviceTypeAdvTomorrowValid['t'+myParent.document.getElementById("Vehicle").value+myHigherParent.document.getElementById("myCityID").value+specialratetables]) {
     	     myParent.document.getElementById("Options").innerHTML = serviceTypeAdvTomorrowValid['t'+myParent.document.getElementById("Vehicle").value+myHigherParent.document.getElementById("myCityID").value+specialratetables]
					 if (myParent.document.getElementById(selectedVehicleTypeID) && selectedVehicleTypeID != "")
						  myParent.document.getElementById(selectedVehicleTypeID).checked = true
							
					 if (selectedVehicleOptionID != "") {		
					 		var splitSelected = selectedVehicleOptionID.split("@")
							for (z=0;z< splitSelected.length-1; z++) { 		
					 				if (myParent.document.getElementById(splitSelected[z]))
						  	 		 myParent.document.getElementById(splitSelected[z]).checked = true
							}			 
					 }	 
			}	 
	 } else if (selectedDelivery == "VIP") {
	    if (serviceTypeVIPValid['t'+myParent.document.getElementById("Vehicle").value+myHigherParent.document.getElementById("myCityID").value+specialratetables]) {
     	     myParent.document.getElementById("Options").innerHTML = serviceTypeVIPValid['t'+myParent.document.getElementById("Vehicle").value+myHigherParent.document.getElementById("myCityID").value+specialratetables]
					 if (myParent.document.getElementById(selectedVehicleTypeID) && selectedVehicleTypeID != "")
						  myParent.document.getElementById(selectedVehicleTypeID).checked = true
							
					 if (selectedVehicleOptionID != "") {		
					 		var splitSelected = selectedVehicleOptionID.split("@")
							for (z=0;z< splitSelected.length-1; z++) { 		
					 				if (myParent.document.getElementById(splitSelected[z]))
						  	 		 myParent.document.getElementById(splitSelected[z]).checked = true
							}			 
					 }	 
			}	 
	 } else if (selectedDelivery == "Standard") {
	    if (serviceTypeStandardValid['t'+myParent.document.getElementById("Vehicle").value+myHigherParent.document.getElementById("myCityID").value+specialratetables]) {
     	     myParent.document.getElementById("Options").innerHTML = serviceTypeStandardValid['t'+myParent.document.getElementById("Vehicle").value+myHigherParent.document.getElementById("myCityID").value+specialratetables]
					 if (myParent.document.getElementById(selectedVehicleTypeID) && selectedVehicleTypeID != "")
						  myParent.document.getElementById(selectedVehicleTypeID).checked = true
							
					 if (selectedVehicleOptionID != "") {		
					 		var splitSelected = selectedVehicleOptionID.split("@")
							for (z=0;z< splitSelected.length-1; z++) { 		
					 				if (myParent.document.getElementById(splitSelected[z]))
						  	 		 myParent.document.getElementById(splitSelected[z]).checked = true
							}			 
					 }	 
			}	 
	 } 
	 /*else {		
    	  myParent.document.getElementById("Options").innerHTML = optionArray[myParent.document.getElementById("Vehicle").value+myHigherParent.document.getElementById("myCityID").value+specialratetables]
			  if (myParent.document.getElementById(selectedVehicleTypeID) && selectedVehicleTypeID != "")
				      myParent.document.getElementById(selectedVehicleTypeID).checked = true
				if (selectedVehicleOptionID != "") {		
					 		var splitSelected = selectedVehicleOptionID.split("@")
							for (z=0;z< splitSelected.length-1; z++) { 		
					 				if (myParent.document.getElementById(splitSelected[z]))
						  	 		 myParent.document.getElementById(splitSelected[z]).checked = true
							}			 
				}	 
	 }
*/
   var toDelete = true
	 if (ExtraOptionArray[currentID]) {
       myParent.document.getElementById("Options").innerHTML += ExtraOptionArray[currentID]
			 serviceoptionArray = ExtraPrefixOptionArray[currentID].split("&")
 			 var optionnameArray = ExtraOptionArray[currentID].split("<br")
       var today = new Date()
			 for (i=0;i<serviceoptionArray.length-1;i++) {
			     if (optionnameArray[i]) { 
			        if (optionnameArray[i].indexOf("Time") > -1) {
				      var splitme = serviceoptionArray[i].split(")")

				      myParent.document.getElementById("myInvisibleOption").value = splitme[0]+")"
					 if (myParent.document.getElementById("DeliveryTime").selectedIndex == myParent.document.getElementById("DeliveryTime").length-1) {
		        	myParent.document.getElementById(document.getElementById("myInvisibleOption").value).checked = true
					 }
					 if ((today.getHours() >= 6 || today.getHours() <= 18) &&
				    	myParent.document.getElementById("DeliveryTime").options[myParent.document.getElementById("DeliveryTime").length-1].value != "TimeSlot") {
         	    var opt = new Option("Time Slot", "TimeSlot");
         	    myParent.document.getElementById("DeliveryTime").options[myParent.document.getElementById("DeliveryTime").options.length-1] = opt;
					    toDelete = false;					 
					 } else if (myParent.document.getElementById("DeliveryTime").options[myParent.document.getElementById("DeliveryTime").length-1].value == "TimeSlot") {
					    toDelete = false;					 					 
					 }
				  }
				}   
			 }
	 } else {
	      for (z=0;z<serviceoptionArray.length;z++)
	         serviceoptionArray[z] = ""
	 }	
	
	 myParent.document.getElementById(currentID).checked = true

	 SpecDesc(theObject)
   CheckHelp(theObject)	

	 if (toDelete && myParent.document.getElementById("DeliveryTime").options[myParent.document.getElementById("DeliveryTime").length-1].value == "TimeSlot") {
	      for (i=3; i<=myParent.document.getElementById("DeliveryTime").options.length; i++) {
	          myParent.document.getElementById("DeliveryTime").options[i] = null;	
				}		
	 }			 	  

	 // step 3
	 checkToShowStandBy()
	 
	 // check availabletimes
	 var checkObject = myParent.document.getElementById("Delivery")
	 var checkServiceObject = myParent.document.getElementById("Vehicle")
//	 if (checkObject.options[checkObject.selectedIndex].innerHTML.indexOf('General') >= 0 && checkServiceObject.options[checkServiceObject.selectedIndex].innerHTML.indexOf('Service Type') < 0)
	 if (checkServiceObject.options[checkServiceObject.selectedIndex].innerHTML.indexOf('Service Type') < 0)
       SetAdvanceDateTime()
			 
	 // update newjob table
	 // put back later
	 if (document.getElementById(selectedVehicleTypeID))
	     setProgressiveIndividualXML(document.getElementById(selectedVehicleTypeID).title, "RadioVehicle"); 	 
}


function VehicleOption() {
   //
	 // display general vehicle options 
	 // 1. premium, advtomorrow, general delivery type has different vehicle options
	 // 2. check standby options
	 //
   var myParent = "";
   var myHigherParent = "";
	 
	 if (parent.frames["mainIframe"]) {
      myParent = parent.frames["NewFrame"]
	 } else {
	    myParent = parent.parent.frames["contentsframe"]
	 }		 
	 if (myParent) {
	    if (parent.frames["mainIframe"]) {
          myHigherParent = parent.parent
	    } else {
	       myHigherParent = parent.parent.frames["contentsframe"]
	    }		  
	 } else {		
	     if (parent.parent.frames["mainIframe"].frames["NewFrame"]) {
	        myParent = parent.parent.frames["mainIframe"].frames["NewFrame"]
          var myHigherParent = parent.parent.parent
			 } else {
	        myParent = window
          var myHigherParent = parent			 
			 }
	 }		 

	 var myParentChild = "";
	 if (myParent.frames["PickupDestinationFrame"])
	    myParentChild = myParent.frames["PickupDestinationFrame"]
	 else		
	    myParentChild = parent.parent.frames["contentsframe"]

   if (myParent.document.getElementById("Vehicle").selectedIndex == 0) {
	    myParent.document.getElementById("Options").style.visibility = "hidden"
			return
	 }
	 
   myParent.document.getElementById("Options").style.visibility = "visible"

   var selectedDelivery = myParent.document.getElementById("Delivery").options[myParent.document.getElementById("Delivery").selectedIndex].innerHTML;

	 // step 1
	 if (selectedDelivery == "Premium") {
	    if (serviceTypePremiumValid['t'+myParent.document.getElementById("Vehicle").value+myHigherParent.document.getElementById("myCityID").value+specialratetables]) {
    	 		myParent.document.getElementById("Options").innerHTML = serviceTypePremiumValid['t'+myParent.document.getElementById("Vehicle").value+myHigherParent.document.getElementById("myCityID").value+specialratetables]					
			    if (myParent.document.getElementById(webservicetypeid) && webservicetypeid != "") {
				    myParent.document.getElementById(webservicetypeid).checked = true
					  ShowExtraOption(myParent.document.getElementById(webservicetypeid))
					}		
				  if (selectedVehicleOptionID != "") {
					 		var splitSelected = selectedVehicleOptionID.split("@")
							for (z=0;z< splitSelected.length-1; z++) { 		
					 				if (myParent.document.getElementById(splitSelected[z]))
						  	 		 myParent.document.getElementById(splitSelected[z]).checked = true
							}			 
					}	 
			} else { 
			   myParent.document.getElementById("Options").innerHTML = "";
			}	  
	 } else if (selectedDelivery == "General" || selectedDelivery == "General - Future") {
	    if (serviceTypeGeneralValid['t'+myParent.document.getElementById("Vehicle").value+myHigherParent.document.getElementById("myCityID").value+specialratetables]) {
    	 		myParent.document.getElementById("Options").innerHTML = serviceTypeGeneralValid['t'+myParent.document.getElementById("Vehicle").value+myHigherParent.document.getElementById("myCityID").value+specialratetables]					
			    if (myParent.document.getElementById(webservicetypeid) && webservicetypeid != "") {
				    myParent.document.getElementById(webservicetypeid).checked = true
					  ShowExtraOption(myParent.document.getElementById(webservicetypeid))
					}		
				  if (selectedVehicleOptionID != "") {
					 		var splitSelected = selectedVehicleOptionID.split("@")
							for (z=0;z< splitSelected.length-1; z++) { 		
					 				if (myParent.document.getElementById(splitSelected[z]))
						  	 		 myParent.document.getElementById(splitSelected[z]).checked = true
							}			 
					}	 
			} else { 
			   myParent.document.getElementById("Options").innerHTML = "";
			}	  
	 } else if (selectedDelivery == "AdvTomorrow") {
	    if (serviceTypeAdvTomorrowValid['t'+myParent.document.getElementById("Vehicle").value+myHigherParent.document.getElementById("myCityID").value+specialratetables]) {
    	 		myParent.document.getElementById("Options").innerHTML = serviceTypeAdvTomorrowValid['t'+myParent.document.getElementById("Vehicle").value+myHigherParent.document.getElementById("myCityID").value+specialratetables]					
			    if (myParent.document.getElementById(webservicetypeid) && webservicetypeid != "") {
				    myParent.document.getElementById(webservicetypeid).checked = true
					  ShowExtraOption(myParent.document.getElementById(webservicetypeid))
					}		
				  if (selectedVehicleOptionID != "") {
					 		var splitSelected = selectedVehicleOptionID.split("@")
							for (z=0;z< splitSelected.length-1; z++) { 		
					 				if (myParent.document.getElementById(splitSelected[z]))
						  	 		 myParent.document.getElementById(splitSelected[z]).checked = true
							}			 
					}	 
			} else { 
			   myParent.document.getElementById("Options").innerHTML = "";
			}	  
	 } else if (selectedDelivery == "VIP") {
	    if (serviceTypeVIPValid['t'+myParent.document.getElementById("Vehicle").value+myHigherParent.document.getElementById("myCityID").value+specialratetables]) {
    	 		myParent.document.getElementById("Options").innerHTML = serviceTypeVIPValid['t'+myParent.document.getElementById("Vehicle").value+myHigherParent.document.getElementById("myCityID").value+specialratetables]					
			    if (myParent.document.getElementById(webservicetypeid) && webservicetypeid != "") {
				    myParent.document.getElementById(webservicetypeid).checked = true
					  ShowExtraOption(myParent.document.getElementById(webservicetypeid))
					}		
				  if (selectedVehicleOptionID != "") {
					 		var splitSelected = selectedVehicleOptionID.split("@")
							for (z=0;z< splitSelected.length-1; z++) { 		
					 				if (myParent.document.getElementById(splitSelected[z]))
						  	 		 myParent.document.getElementById(splitSelected[z]).checked = true
							}			 
					}	 
			} else { 
			   myParent.document.getElementById("Options").innerHTML = "";
			}	  
	 } else if (selectedDelivery == "Standard") {
	    if (serviceTypeStandardValid['t'+myParent.document.getElementById("Vehicle").value+myHigherParent.document.getElementById("myCityID").value+specialratetables]) {
    	 		myParent.document.getElementById("Options").innerHTML = serviceTypeStandardValid['t'+myParent.document.getElementById("Vehicle").value+myHigherParent.document.getElementById("myCityID").value+specialratetables]					
			    if (myParent.document.getElementById(webservicetypeid) && webservicetypeid != "") {
				    myParent.document.getElementById(webservicetypeid).checked = true
					  ShowExtraOption(myParent.document.getElementById(webservicetypeid))
					}		
				  if (selectedVehicleOptionID != "") {
					 		var splitSelected = selectedVehicleOptionID.split("@")
							for (z=0;z< splitSelected.length-1; z++) { 		
					 				if (myParent.document.getElementById(splitSelected[z]))
						  	 		 myParent.document.getElementById(splitSelected[z]).checked = true
							}			 
					}	 
			} else { 
			   myParent.document.getElementById("Options").innerHTML = "";
			}	  
	 }
	 /* else {
    	  myParent.document.getElementById("Options").innerHTML = optionArray[myParent.document.getElementById("Vehicle").value+myHigherParent.document.getElementById("myCityID").value+specialratetables]
			  if (document.getElementById(webservicetypeid) && webservicetypeid != "") {
			    myParent.document.getElementById(webservicetypeid).checked = true
					ShowExtraOption(myParent.document.getElementById(webservicetypeid))
			  }						
			  if (selectedVehicleOptionID != "") {
					 		var splitSelected = selectedVehicleOptionID.split("@")
							for (z=0;z< splitSelected.length-1; z++) { 		
					 				if (myParent.document.getElementById(splitSelected[z]))
						  	 		 myParent.document.getElementById(splitSelected[z]).checked = true
							}			 
				}	 
	 }
*/
	 myParent.document.getElementById("myInvisibleOption").value = "";
	 var toDelete = true
	 if (DefaultOptionArray[myParent.document.getElementById("Vehicle").value+myHigherParent.document.getElementById("myCityID").value+specialratetables]) {
			 serviceoptionArray = DefaultPrefixOptionArray[myParent.document.getElementById("Vehicle").value+myHigherParent.document.getElementById("myCityID").value+specialratetables].split("&")
 			 var optionnameArray = DefaultOptionArray[myParent.document.getElementById("Vehicle").value+myHigherParent.document.getElementById("myCityID").value+specialratetables].split("<br")

      var today = new Date()
			 for (i=0;i<serviceoptionArray.length;i++) {
			     if (optionnameArray[i].indexOf("Time Slot") > -1 &&
				    myParent.document.getElementById("DeliveryTime").options[myParent.document.getElementById("DeliveryTime").length-1].value != "TimeSlot" &&
				    (today.getHours() >= 6 || today.getHours() <= 18)) {
         	    var opt = new Option("Time Slot", "TimeSlot");
         	    myParent.document.getElementById("DeliveryTime").options[myParent.document.getElementById("DeliveryTime").options.length] = opt;
				    var splitme = serviceoptionArray[i].split(")")
				    myParent.document.getElementById("myInvisibleOption").value = splitme[0]+")"
				    toDelete = false;
				 } else if (myParent.document.getElementById("DeliveryTime").options[myParent.document.getElementById("DeliveryTime").length-1].value == "TimeSlot") {
					    toDelete = false;					 					 
				 }
			 }
			 
	 		 if (selectedDelivery == "Premium") {
	     		if (serviceTypePremiumValid['t'+myParent.document.getElementById("Vehicle").value+myHigherParent.document.getElementById("myCityID").value+specialratetables]) {
					 		myParent.document.getElementById("Options").innerHTML += DefaultOptionArray[myParent.document.getElementById("Vehicle").value+myHigherParent.document.getElementById("myCityID").value+specialratetables]
			  			if (myParent.document.getElementById(webservicetypeid) && webservicetypeid != "") {
				  			 myParent.document.getElementById(webservicetypeid).checked = true
								 ShowExtraOption(myParent.document.getElementById(webservicetypeid))
							}
					    if (selectedVehicleOptionID != "") {
					 			 var splitSelected = selectedVehicleOptionID.split("@")
								 for (z=0;z< splitSelected.length-1; z++) { 		
					 					 if (myParent.document.getElementById(splitSelected[z]))
						  	 		 		myParent.document.getElementById(splitSelected[z]).checked = true
							   }			 
					    }	 
					}	 
	 		 } else if (selectedDelivery == "General" || selectedDelivery == "General - Future") {
	     		if (serviceTypeGeneralValid['t'+myParent.document.getElementById("Vehicle").value+myHigherParent.document.getElementById("myCityID").value+specialratetables]) {
					 		myParent.document.getElementById("Options").innerHTML += DefaultOptionArray[myParent.document.getElementById("Vehicle").value+myHigherParent.document.getElementById("myCityID").value+specialratetables]
			  			if (myParent.document.getElementById(webservicetypeid) && webservicetypeid != "") {
				  			 myParent.document.getElementById(webservicetypeid).checked = true
								 ShowExtraOption(myParent.document.getElementById(webservicetypeid))
							}
					    if (selectedVehicleOptionID != "") {
					 			 var splitSelected = selectedVehicleOptionID.split("@")
								 for (z=0;z< splitSelected.length-1; z++) { 		
					 					 if (myParent.document.getElementById(splitSelected[z]))
						  	 		 		myParent.document.getElementById(splitSelected[z]).checked = true
							   }			 
					    }	 
					}	 
	 		 } else if (selectedDelivery == "AdvTomorrow") {
	     		if (serviceTypeAdvTomorrowValid['t'+myParent.document.getElementById("Vehicle").value+myHigherParent.document.getElementById("myCityID").value+specialratetables]) {
					 		myParent.document.getElementById("Options").innerHTML += DefaultOptionArray[myParent.document.getElementById("Vehicle").value+myHigherParent.document.getElementById("myCityID").value+specialratetables]
			  			if (myParent.document.getElementById(webservicetypeid) && webservicetypeid != "") {
				  			 myParent.document.getElementById(webservicetypeid).checked = true
								 ShowExtraOption(myParent.document.getElementById(webservicetypeid))
							}
					    if (selectedVehicleOptionID != "") {
					 			 var splitSelected = selectedVehicleOptionID.split("@")
								 for (z=0;z< splitSelected.length-1; z++) { 		
					 					 if (myParent.document.getElementById(splitSelected[z]))
						  	 		 		myParent.document.getElementById(splitSelected[z]).checked = true
							   }			 
					    }	 
					}	 
	 		 } else if (selectedDelivery == "VIP") {
	     		if (serviceTypeVIPValid['t'+myParent.document.getElementById("Vehicle").value+myHigherParent.document.getElementById("myCityID").value+specialratetables]) {
					 		myParent.document.getElementById("Options").innerHTML += DefaultOptionArray[myParent.document.getElementById("Vehicle").value+myHigherParent.document.getElementById("myCityID").value+specialratetables]
			  			if (myParent.document.getElementById(webservicetypeid) && webservicetypeid != "") {
				  			 myParent.document.getElementById(webservicetypeid).checked = true
								 ShowExtraOption(myParent.document.getElementById(webservicetypeid))
							}
					    if (selectedVehicleOptionID != "") {
					 			 var splitSelected = selectedVehicleOptionID.split("@")
								 for (z=0;z< splitSelected.length-1; z++) { 		
					 					 if (myParent.document.getElementById(splitSelected[z]))
						  	 		 		myParent.document.getElementById(splitSelected[z]).checked = true
							   }			 
					    }	 
					}	 
	 		 } else if (selectedDelivery == "Standard") {
	     		if (serviceTypeStandardValid['t'+myParent.document.getElementById("Vehicle").value+myHigherParent.document.getElementById("myCityID").value+specialratetables]) {
					 		myParent.document.getElementById("Options").innerHTML += DefaultOptionArray[myParent.document.getElementById("Vehicle").value+myHigherParent.document.getElementById("myCityID").value+specialratetables]
			  			if (myParent.document.getElementById(webservicetypeid) && webservicetypeid != "") {
				  			 myParent.document.getElementById(webservicetypeid).checked = true
								 ShowExtraOption(myParent.document.getElementById(webservicetypeid))
							}
					    if (selectedVehicleOptionID != "") {
					 			 var splitSelected = selectedVehicleOptionID.split("@")
								 for (z=0;z< splitSelected.length-1; z++) { 		
					 					 if (myParent.document.getElementById(splitSelected[z]))
						  	 		 		myParent.document.getElementById(splitSelected[z]).checked = true
							   }			 
					    }	 
					}	 
	 		 } 
			 /*else {
     	  	 myParent.document.getElementById("Options").innerHTML += DefaultOptionArray[myParent.document.getElementById("Vehicle").value+myHigherParent.document.getElementById("myCityID").value+specialratetables]
			  	 if (myParent.document.getElementById(webservicetypeid) && webservicetypeid != "") {
				   		myParent.document.getElementById(webservicetypeid).checked = true
					    ShowExtraOption(myParent.document.getElementById(webservicetypeid))
					 }
					 
					 if (selectedVehicleOptionID != "") {							 
					 		var splitSelected = selectedVehicleOptionID.split("@")
							for (z=0;z< splitSelected.length-1; z++) { 		
					 				if (myParent.document.getElementById(splitSelected[z]))
						  	 		 myParent.document.getElementById(splitSelected[z]).checked = true
							}			 
					 }	 
	 		 }
			 */
	 } else {
	      for (z=0;z<serviceoptionArray.length;z++)
	         serviceoptionArray[z] = ""
	 }			  
	 if (toDelete && myParent.document.getElementById("DeliveryTime").options[myParent.document.getElementById("DeliveryTime").length-1].value == "TimeSlot") {
        for (i=3; i<=myParent.document.getElementById("DeliveryTime").options.length; i++)
    	     myParent.document.getElementById("DeliveryTime").options[i] = null;	
   } 

	 // step 2
	 checkToShowStandBy()
}

function SetTemp() {
   //
	 // set temporary value for current vehicle type selected
	 //
	 	 
 	 tempDeliveryType = document.getElementById("Delivery").options[document.getElementById("Delivery").selectedIndex].innerHTML
 	 tempVehicleType = document.getElementById("Vehicle").options[document.getElementById("Vehicle").selectedIndex].innerHTML 
}

function checkToShowStandBy() {
  //
	// to display or not to be displayed
	//
  if (standby == 't' && document.getElementById(standbyid+"Stand-By")) {	     
      document.getElementById(standbyid+"Stand-By").style.display = "";
      document.getElementById(standbyid).style.display = "";
	}		
}

function PreSelectedVehicleOption (currentID) {
 //
 // show pre-selected vehicle option
 //
 if(currentID) {
   document.getElementById("Options").style.visibility = "visible"
   document.getElementById("Options").innerHTML = optionArray[document.getElementById("Vehicle").value+parent.parent.document.getElementById("myCityID").value+specialratetables]
	 if (DefaultOptionArray[document.getElementById("Vehicle").value+parent.parent.document.getElementById("myCityID").value+specialratetables]) {
	     document.getElementById("Options").innerHTML += ExtraOptionArray[currentID]
		   serviceoptionArray = DefaultPrefixOptionArray[document.getElementById("Vehicle").value+parent.parent.document.getElementById("myCityID").value+specialratetables].split("&")
 			 var optionnameArray = DefaultOptionArray[document.getElementById("Vehicle").value+parent.parent.document.getElementById("myCityID").value+specialratetables].split("<br")

      var today = new Date()
			 for (i=0;i<serviceoptionArray.length-1;i++) {
			     if (optionnameArray[i].indexOf("Time Slot") > -1 &&
				    (today.getHours() >= 6 || today.getHours() <= 18)) {
         	    var opt = new Option("Time Slot", "TimeSlot");
         	    document.getElementById("DeliveryTime").options[document.getElementById("DeliveryTime").options.length] = opt;
				    var splitme = serviceoptionArray[i].split(")")
				    document.getElementById("myInvisibleOption").value = splitme[0]+")"
				} 
			 }
			  
	 } else {
	      for (z=0;z<serviceoptionArray.length;z++)
	         serviceoptionArray[z] = ""	 
	 }	 
	 document.getElementById(currentID).checked = true
	}  
}
/*
function SetPrevVehicleOption(servicetypeid,serviceoptionid) {
    //
   // show pre-selected vehicle option
   //
   // service type
	 if (document.getElementById(servicetypeid)) {
     document.getElementById(servicetypeid).checked = true
     currentID = document.getElementById(servicetypeid).id
     document.getElementById("Options").innerHTML = optionArray[document.getElementById("Vehicle").value+parent.parent.document.getElementById("myCityID").value]
	   if (ExtraOptionArray[currentID]) {
         document.getElementById("Options").innerHTML += ExtraOptionArray[currentID]
				 serviceoptionArray = ExtraPrefixOptionArray[currentID].split("&")
	   }		  
	   document.getElementById("VehicleServiceID").value = servicetypeid
	   document.getElementById(currentID).checked = true
	 
	   // service option
     if (serviceoptionid != "")
        document.getElementById(serviceoptionid).checked = true
	 
     theObject = document.getElementById(serviceoptionid)
	   if (theObject) {
	     for (i=0; i<serviceoptionArray.length; i++) {
	        if (theObject.checked) 
					    serviceoptionArray[i] = serviceoptionArray+"yes&"
		      else 
					    serviceoptionArray[i] = serviceoptionArray+"no&"
	      }
	   }
	}	 		 
}
*/

function SetFocus () {
  //
	// where the cursor should be set next
	//
  if (document.getElementById("CallerNameText")) {
	    if (document.getElementById("CallerNameText").value == "") {
        document.getElementById("CallerNameText").focus();
		  }		
			else if (document.getElementById("CallerNumber").value == "") {
        document.getElementById("CallerNumber").focus();
			}  
			else if (document.getElementById("Reference1Column").style.visibility != "hidden") {
			   if (document.getElementById("Reference1").value == "") {
           document.getElementById("Reference1").focus();
				 }	 				 
			} else {	 			
			   document.getElementById("Goods").focus();
			}
			
	}		
	if (parent.parent.window.frames["sideIframe"].document) {
	   if (parent.parent.window.frames["sideIframe"].document.getElementById("AccountCode")) {
	      parent.parent.window.frames["sideIframe"].document.getElementById("AccountCode").focus();
		 }		
	}			
}


function SendBooking(IsRef1,IsRef2,IsCredit,isCashJob,isPriceEnq) {
  //
	// user clicked on 'send booking' to proceed with job
	// 1. check the status returned by server
	// 2. check if current time and date is valid (include checking for ratetype selected)
	// 3. make sure all details are filled in
	// 4. start accumulating booking details
	// 5. disable buttons to prepare to send job through
	// 6. all ok, send booking
	// 	
	
	if (document.getElementById("toContinue").value != "") {
	    window.frames["MultiPurposeFrame"].document.getElementById("Message").innerHTML = "<b><font color=red size=2>We are still verifying the "+
																																											  document.getElementById("Delivery").options[document.getElementById("Delivery").selectedIndex].innerHTML+
																																												" delivery type. Please send booking again when this message is gone</font></b>"
	    getZone();																																											
			return;
	}

  var clientcode = document.getElementById("MyClientCode").value
  var clientid = document.getElementById("MyClientID").value
	var customerid = document.getElementById("MyCustomerID").value
  var companyid = "(78,0,"+document.getElementById("MyCompany").value+")"
	var myinternetid = document.getElementById("MyInternetID").value
	var samepermanentjobid = document.getElementById("MyPermanentID").value
  var XML = "";
/*	
  if (navigator.vendor != "undefined" && navigator.vendor != "") {
      XML = document.forms.BookingForm.XMLBOOKING.innerText;      
	} else {
      XML = document.forms.BookingForm.XMLBOOKING.value;
	}
*/	


  if (navigator.vendor != "undefined" && navigator.vendor != "") {
		 if (document.all) {
		 		XML = document.forms.BookingForm.XMLBOOKING.innerText;  
		 } else {
        XML = document.forms.BookingForm.XMLBOOKING.value;
		 }			 
	} else {
      XML = document.forms.BookingForm.XMLBOOKING.value;
	}
  XML = XML.replace(/</g,"&lt;");
  XML = XML.replace(/>/g,"&gt;");
	
	
  var selectedDelivery = document.getElementById("Delivery").options[document.getElementById("Delivery").selectedIndex].innerHTML;
  if ((selectedDelivery == "General" || selectedDelivery == "General - Future") && incomplete) {
		 var hardcoded_generaltimecutoff = 12;
	   var d = new Date();
		 if (d.getHours() >= hardcoded_generaltimecutoff) {
   	    alert("Your selected service type is unavaible for the selected pickup time. Please choose again")
		    return
		 }			
	}

/*	
	if (incomplete) {
	   alert("Your selected service type is unavaible for the selected pickup time. Please choose again")
		 return
	}	
*/	
  // step 1
	if (statusBiz == "ERROR") {
			alert("Error. Booking is currently not available")
			return;
	}	
	// step 2
	// do not proceed when user selects ready now and today is a public holiday, or after hours
	// but proceed if after hours and isstandby = true
	if (document.getElementById("PickupTime").selectedIndex == 0) {
	 	 // public holiday
		 if (statusBiz == "HOLIDAY") {
				document.getElementById("PickupTime").selectedIndex = 1;
		    SetAdvanceDateTime();
				return;
		 }

		 // after hours
		 if (!(isStandBy)) {
			  if ((todayCurrentTime < startBizTime || todayCurrentTime > endBizTime) &&  document.getElementById("MyClientCode").value != "DTRANS") {
				   document.getElementById("PickupTime").selectedIndex = 1;
		       SetAdvanceDateTime();
				   return
		    }
     }		 
	}

	// check if ratetable is unavailabe now
//  checkZone()
		
	// make sure if advance time is clicked, it's set properly
	if (document.getElementById("Clock").style.visibility == "visible") {
	    document.getElementById("PickupTimeTD").style.background = "red"
	    return
	}	
	if (document.getElementById("PickupTime").options[1].innerHTML == "Advance" && document.getElementById("PickupTime").selectedIndex == 1) {
	    document.getElementById("PickupTimeTD").style.background = "red"
	    return	
	}
	// check ratetype selected
//	if ((document.getElementById("Delivery").options[document.getElementById("Delivery").selectedIndex].innerHTML == "General" ||
//	     document.getElementById("Delivery").options[document.getElementById("Delivery").selectedIndex].innerHTML == "General - Future")
//	    && document.getElementById("PickupTime").selectedIndex == 0) {
	if (document.getElementById("PickupTime").selectedIndex == 0) {
        SetAdvanceDateTime()
	}			
	
	// advance box must be hidden
  if (document.getElementById("Clock").style.visibility == "visible") {
	    alert("You need to confirm or cancel the Advance selection box")
			return
	}
		
  var rate = getRateID(document.getElementById("Delivery").options[document.getElementById("Delivery").selectedIndex].innerHTML)	
//  if (isPriceEnq == 1 || IsCredit == 1 || RateTypeData[rate].oneforone == "t") {
  if (isPriceEnq == 1 || IsCredit == 1) {
//       document.getElementById("VehicleFrame").style.height = 100		 
       document.getElementById("VehicleFrame").style.height = 140		 
	} 

  // get value from pickupdestination.php
  AddressObject = window.frames["PickupDestinationFrame"];
	// truncate empty spaces 
	AddressObject.document.getElementById("PickupSite").value.substr(0,AddressObject.document.getElementById("PickupSite").value.length)
	AddressObject.document.getElementById("PickupAddress").value.substr(0,AddressObject.document.getElementById("PickupAddress").value.length) 
  AddressObject.document.getElementById("PickupInstruction").value.substr(0,AddressObject.document.getElementById("PickupInstruction").value.length)

	// step 3
	// check to make sure the required fields are entered	
	if (document.getElementById("CallerNameText").value == "") {
	   document.getElementById("CallerNameTextColumn").style.background = "red"	
			document.getElementById("CallerNameText").focus()
	   return false;
  }
  document.getElementById("CallerNameTextColumn").style.background = "white"	

	if (document.getElementById("CallerNumber").value == "") {  
	    document.getElementById("CallerNumberColumn").style.background = "red"
			 document.getElementById("CallerNumber").focus()
			 return false;
	}		
  document.getElementById("CallerNumberColumn").style.background = "white"	

  if (IsRef1 == 1) {
	 		if (document.getElementById("Reference1").value == "") {  
	      document.getElementById("Reference1Column").style.background = "red"
			   document.getElementById("Reference1").focus()
			   return false;
			}	 
			document.getElementById("Reference1Column").style.background = "white"	
  }						   

  if (IsRef2 == 1) {
	 		if (document.getElementById("Reference2").value == "") {  
	      document.getElementById("Reference2Column").style.background = "red"
			   document.getElementById("Reference2").focus()
			   return false;
			}	 
			document.getElementById("Reference2Column").style.background = "white"
  }			
	if (document.getElementById("Goods").value == "") {
	   document.getElementById("GoodsColumn").style.background = "red"		
	   document.getElementById("Goods").focus()					
			return false;
	}		
  document.getElementById("GoodsColumn").style.background = "white"
	
	if (document.getElementById("Vehicle").selectedIndex == 0) { 
 	   document.getElementById("VehicleColumn").style.background = "red"
			document.getElementById("Vehicle").focus()						
			return false;
	}			
  document.getElementById("VehicleColumn").style.background = "white"		

	var checkVehicle = document.getElementById("Options").innerHTML.toLowerCase();

	if (checkVehicle.indexOf("checked") < 0 && selectedVehicleTypeID == "") {
 	    document.getElementById("VehicleColumn").style.background = "red"
			document.getElementById("Vehicle").focus()						
			return false;	    
	}
  document.getElementById("VehicleColumn").style.background = "white"		
	
	if (AddressObject.document.getElementById("PickupSite").value == "") { 
	   AddressObject.document.getElementById("PickupSiteColumn").style.background = "red"
	   AddressObject.document.getElementById("PickupSite").focus()
			return false;
	}
  AddressObject.document.getElementById("PickupSiteColumn").style.background = "white"			
			 
	if (AddressObject.document.getElementById("PickupAddress").value == "") {
	   AddressObject.document.getElementById("PickupAddressColumn").style.background = "red"
		 return false;
  }
  var myObject = AddressObject.document.getElementById("PickupAddress")
	if (AddressObject.document.getElementById("PickupVerify").checked) {
	   if (myObject.item) {
	      if (!(XMLfield(myObject.item, "address.addressid"))) { 
		       alert('You have selected \"Verify Address\". The current pickup address is not verified!')
	         AddressObject.document.getElementById("PickupAddressColumn").style.background = "red"
		       return false;
			   }
			} else {
		       alert('You have selected \"Verify Address\". The current pickup address is not verified!')
	         AddressObject.document.getElementById("PickupAddressColumn").style.background = "red"
		       return false;			     
			}      
	}

  myObject = AddressObject.document.getElementById("PickupSuburb")
	if (AddressObject.document.getElementById("PickupSuburb").value == "" ||
	   (AddressObject.document.getElementById("PickupAddressID").value == "" &&
	   AddressObject.document.getElementById("PickupSuburbID").value == "")  ) {
			

  	 if ((XMLfield(myObject.item, "address.addressid") == null && XMLfield(myObject.item, "locality.suburbid") == null) || 
		    AddressObject.document.getElementById("PickupSuburb").value == "")  {
				// temporary, check localityid as well
				if (XMLfield(myObject.item, "locality.localityid") == null && XMLfield(myObject.item, "address.localityid") == null) { 
	   		   AddressObject.document.getElementById("PickupSuburbColumn").style.background = "red"
		 		   alert('Pickup - Invalid Suburb')
				   return false;
				}	 	    
		 } 	
	}	

  AddressObject.document.getElementById("PickupSuburbColumn").style.background = "white"			
	if (document.getElementById("VehicleServiceID").value == "" || 
	    document.getElementById("Vehicle").value == "") {
	   alert("Please select a vehicle type")
		 return 
  }
	
	// check for valid suburb
	for (i=1; i<=10; i++) {
	   if (AddressObject.document.getElementById("ExtraDestination"+i)) {
        myObject = AddressObject.document.getElementById("ExtraDestination"+i)
	      if (myObject.innerHTML == "")
			      break;
				TotalDestination = i
		 } else {
		    break
		 }
		 		   
	}		

	checkThis = false;
	for(i=1; i<=TotalDestination; i++) {
 		 checkThis = false;		 
     myObject = AddressObject.document.getElementById("Destination"+i+"Suburb")
     if (AddressObject.document.getElementById("invalidSuburb").value.indexOf("Destination"+i+"Suburb") > -1) {
		 		checkThis = true;
		 } 	 
     if (AddressObject.document.getElementById("Destination"+i+"Suburb").value == "" || checkThis) {
		   	 if ((XMLfield(myObject.item, "address.addressid") == null && XMLfield(myObject.item, "locality.suburbid") == null) ||
				     AddressObject.document.getElementById("Destination"+i+"Suburb").value == "")  {
						  // for temporary, if there's no suburbid, check localityid
							if (XMLfield(myObject.item, "locality.localityid") == null && XMLfield(myObject.item, "address.localityid") == null) {
        		   	 	AddressObject.document.getElementById("Destination"+i+"SuburbColumn").style.background = "red"
	       		   	  alert('Destination - Invalid Suburb')
			   	        return
							}		
				 }
	   }	 
  }	
  checkThis = false;		
	
  // same day service, make sure quantity is selected
 	if (document.getElementById("sameDayService")) {
	   document.getElementById("sameDayServiceColumn").style.background = "white"		 
     if (document.getElementById("sameDayService").selectedIndex == 0 &&
			    document.getElementById("sameDayService").disabled == false) {
	      document.getElementById("sameDayServiceColumn").style.background = "red"		 
			   alert('Please select the quantity') 
        return
	   }
  }
	
  document.getElementById("TotalDestination").value = TotalDestination
	disableMyPage(true, document, AddressObject)
  if (navigator.vendor != "undefined" && navigator.vendor != "") {
		 if (document.all) {
     		// start building XML
   	 		if (tempXMLBOOKING.length > 1)
      		 document.forms.BookingForm.XMLBOOKING.innerText = tempXMLBOOKING
     		else
           tempXMLBOOKING = document.forms.BookingForm.XMLBOOKING.innerText
		 } else {
        // start building XML
     		if (tempXMLBOOKING.length > 1)
	      	 document.forms.BookingForm.XMLBOOKING.value = tempXMLBOOKING
        else
	         tempXMLBOOKING = document.forms.BookingForm.XMLBOOKING.value
		 
		 }			 
	} else {
     // start building XML
     if (tempXMLBOOKING.length > 1)
	      document.forms.BookingForm.XMLBOOKING.value = tempXMLBOOKING
     else
	      tempXMLBOOKING = document.forms.BookingForm.XMLBOOKING.value
	}

  // set today's date & time
  var today = new Date(todayCurrentTime * 1000)
  var ampm = "am";
  var thisHour = today.getHours();
  thisMonth = today.getMonth()+1
  if (thisMonth < 10)
		 thisMonth = "0"+thisMonth
	thisDay = today.getDate()
	if (thisDay < 10)
	   thisDay = "0"+thisDay		 		
  thisMinute = today.getMinutes();
  if (thisMinute < 10)
		 thisMinute = "0"+thisMinute
  if (today.getHours() < 10) {
	   thisHour = "0"+today.getHours();
	} else if (today.getHours() == 12) {
		 ampm = "pm";			
	} else if (today.getHours() > 12) {
	   thisHour = "0"+(today.getHours() - 12);
		 ampm = "pm";
	}	 

	// check if tolls are checked to yes/no	
	var IsTollSet = ""
	if (document.getElementById("Tolls")) {
        if (document.getElementById("Tolls").checked)
	  	      var IsTollSet = "no"
        else
	  	      var IsTollSet = "yes"
	}	else {
	  var IsTollSet = "no"	 
  }
  setProgressiveIndividualXML("Send Booking", "");
  setProgressiveIndividualXML("Aborted", "");
	// step 5
	if (document.getElementById("SendNowAccount")) {									    
  	 document.getElementById("SendNowAccount").disabled = true;
		 if (isPriceEnq != 1)
   		 document.getElementById("SendNowAccount").value = "Processing... Please wait"
	}	 
	if (document.getElementById("SendNowCredit"))
	   document.getElementById("SendNowCredit").disabled = true;
	if (document.getElementById("Price")) {
	   document.getElementById("Price").disabled = true;
		 if (isPriceEnq == 1)
   		 document.getElementById("Price").value = "Processing... Please wait"
	}
	/*
	if (isPriceEnq == 1) { 
     // quote a job now
	   setProgressiveIndividualXML("Quote a Job - User clicks on Price Enquiry button", ""); 
	   quoteBooking();	
	} else {
	   setProgressiveIndividualXML("Finished", ""); 
     // create booking now
	   createBooking();
	}
	*/	 
	var myParent = window
	if (parent.parent.document.getElementById("myCityID"))
	   myParent = parent.parent
	   
	// step 4
	XML = "<job>\n";
	XML += "<cityid value='"+myParent.document.getElementById("myCityID").value+"' />\n"						
	
	if (samepermanentjobid != "")
      XML += "<permanentjobid value='" + samepermanentjobid + "' />\n";

	if (isCashJob != "1") {
			XML += "<companyid value='" + companyid + "' />\n" +
		        "<clientcode value='" + clientcode + "' />\n" +
			       "<clientid value='" + clientid + "' />\n" +
			       "<customerid value='" + customerid + "' />\n" ;
	}			  
	else {			  
			XML += "<companyid value='" + companyid + ")' />\n" +
	          "<clientcode value='CASH' />\n";
			if (document.getElementById("TaxInvoice")) {
			   if (document.getElementById("TaxInvoice").checked) {
			      XML += "<taxinvoice value='1' />" +
				        "<invoicename value='"+doEscape(document.getElementById("CashCompanyName").value)+"' />" +
				        "<invoiceaddress value='"+doEscape(document.getElementById("CashAddress").value)+"' />" +
				        "<invoicesuburb value='"+document.getElementById("CashSuburb").value+"' />" +
				        "<invoiceabn value='"+document.getElementById("CashAbn").value+"' />" +
				        "<invoicephone value='"+document.getElementById("CashPhone").value+"' />" +
				        "<invoicefax value='"+document.getElementById("CashFax").value+"' />" +
				        "<invoiceemail value='"+doEscape(document.getElementById("CashEmail").value)+"' />" 					   					   					   
			   }	 
			   else	   
			      XML += "<taxinvoice value='0' />"
			}    
	}		

	// webclientinternetid
	XML += "<webclientinternetid value='" + myinternetid + "' />\n";


	XML +="<mytime value='" + today.getFullYear() + '/' + thisMonth + '/' + thisDay + " " +
			   today.getHours() + ':' + thisMinute + "' />\n" +
  	    "<tolls value='" + IsTollSet + "' />\n" +
			   "<iscreditcard value='"+IsCredit+"' />\n"

//	if (isPriceEnq == 1 || RateTypeData[rate].oneforone == "t") 
	if (isPriceEnq == 1) 
	   XML += "<quoteprice value='1' />\n" 
  else
	   XML += "<quoteprice value='0' />\n" 

	XML += "<location>\n" +
	       "<name value='" + doEscape(AddressObject.document.getElementById("PickupSite").value) + "' /> \n"
//   myString = constructString(AddressObject.document.getElementById("PickupAddress"));
	   
  myString = AddressObject.document.getElementById("PickupAddress").value;
  if (myString != "") {
   	 XML += "<address value='" + doEscape(myString) + "' />\n"
	}
			    				   	      
	myObject = AddressObject.document.getElementById("PickupAddress")
  if (XMLfield(myObject.item, "address.addressid"))  {
       // pickup addressid
       XML += "<addressid value='"+XMLfield(myObject.item, "address.addressid")+"' />\n"			
       XML += "<suburb value='"+AddressObject.document.getElementById("PickupSuburb").value+"' />\n"			
	} else {			
	     // pickup suburb		
			 myObject = AddressObject.document.getElementById("PickupSuburb")
  		 var myAddressObject = AddressObject.document.getElementById("PickupAddress")
  		 if (XMLfield(myObject.item, "locality.suburbid") == null && AddressObject.document.getElementById("PickupSuburbID").value == "" &&
	         XMLfield(myAddressObject.item, "address.addressid") == null) {
					   // temporary, check localityid
					   if (XMLfield(myObject.item, "locality.localityid") == null && XMLfield(myAddressObject.item, "address.localityid") == null) {
		 			 			alert("Invalid Suburb")
		            return
					   }			
	     }	 
			 /*
     	 if (XMLfield(myObject.item, "locality.suburbid"))
    	    XML += "<suburbid value='"+XMLfield(myObject.item, "locality.suburbid")+"' />\n"
	     else if (AddressObject.document.getElementById("PickupSuburbID").value != "0" && AddressObject.document.getElementById("PickupSuburbID").value != "")		 		
          XML += "<suburbid value='" + AddressObject.document.getElementById("PickupSuburbID").value + "' />\n"
			 */		
			 if (AddressObject.document.getElementById("PickupSuburbID").value != "0" && AddressObject.document.getElementById("PickupSuburbID").value != "") {		 		
          XML += "<suburb value='" + AddressObject.document.getElementById("PickupSuburb").value + "' />\n"			 
          XML += "<suburbid value='" + AddressObject.document.getElementById("PickupSuburbID").value + "' />\n"			 
			 }		
	}

	// pickup instruction
//	myString = constructString(AddressObject.document.getElementById("PickupInstruction"));
	myString = AddressObject.document.getElementById("PickupInstruction").value;
  if (AddressObject.document.getElementById("PickupInstruction").value != " ") {
	   XML += "<instructions value='" + doEscape(myString) + "' />\n"
  }	
  XML += "</location>\n";	
  // goods

  myString = document.getElementById("Goods").value
 	XML += "<goods value='" + doEscape(myString) + "' /> \n"
	

  XML += "<servicetype value='"+document.getElementById("VehicleServiceID").value+"' />\n"

	// break down service options		    
	
  for (i=0; i<serviceoptionArray.length; i++) {
	   if (serviceoptionArray[i] != "&" && serviceoptionArray[i] != "" && serviceoptionArray[i] != "undefined" && serviceoptionArray[i] != "no")		      
			    if (document.getElementById("myInvisibleOption").value != "") {
			    	  if (serviceoptionArray[i].indexOf(document.getElementById("myInvisibleOption").value) > -1 &&
			           document.getElementById(document.getElementById("myInvisibleOption").value).checked == true)
                   XML += "<serviceoption value='"+document.getElementById("myInvisibleOption").value+"yes' />\n"			    
			       else
                XML += "<serviceoption value='"+serviceoptionArray[i]+"' />\n"
			    } else {
                XML += "<serviceoption value='"+serviceoptionArray[i]+"' />\n"
			    }		 
	} 

	// check if there's reference 2
	IsRef2Set = ""
	if (document.getElementById("Reference2")) { 
	   if (IsRef2 == 1) {
	     IsRef2Set = document.getElementById("Reference2").value 
		 }	 
		 else {	 
        if (document.getElementById("Reference2").value != "") 
    	     IsRef2Set = document.getElementById("Reference2").value  
			}		
  }

	// check if there's reference 1
	IsRef1Set = ""
	if (document.getElementById("Reference1")) { 
	   if (IsRef1 == 1) { 
	     IsRef1Set = document.getElementById("Reference1").value 
		 }	 
		 else {	 
        if (document.getElementById("Reference1").value != "") 
   	      IsRef1Set = document.getElementById("Reference1").value 
			}		
  }

	if (IsRef2Set != "")
     XML += "<ref2 value='" + doEscape(IsRef2Set) + "' /> \n" 
	if (IsRef1Set != "")
			XML += "<ref value='" + doEscape(IsRef1Set) + "' /> \n"


  XML += "<caller value='" + doEscape(document.getElementById("CallerNameText").value) + "' /> \n" +
			    "<phone value='" + document.getElementById("CallerNumber").value + "' /> \n" 
			    
	// new
  if (document.getElementById("tempDeliverBy").value == "" &&
	    document.getElementById("DeliveryTime").options[document.getElementById("DeliveryTime").selectedIndex].innerHTML != "ASAP") {
		 if (document.getElementById("DeliveryTime").value == "PreferedTime" || document.getElementById("DeliveryTime").value == "TimeSlot") {		    
				if (document.getElementById("PickupTime").options[document.getElementById("PickupTime").selectedIndex].innerHTML == "Ready Now") {
				    var changeFormat = window.frames["ClockFrame"].document.getElementById("showAvailableDates").options[0].value.split(" ")
				    var replaced = changeFormat[0].replace(/-/g,'/')	
            document.getElementById("tempDeliverBy").value = replaced+" btw "+document.getElementById("DeliveryTime").options[document.getElementById("DeliveryTime").selectedIndex].innerHTML+" and "+replaced+" "+document.getElementById("DeliveryTime").options[document.getElementById("DeliveryTime").selectedIndex].innerHTML
				} else {
	          var splitMe = "";
				    splitMe = document.getElementById("PickupTime").options[document.getElementById("PickupTime").selectedIndex].innerHTML.split(" ")
            document.getElementById("tempDeliverBy").value = splitMe[0]+" btw "+document.getElementById("DeliveryTime").options[document.getElementById("DeliveryTime").selectedIndex].innerHTML+" and "+splitMe[0]+" "+document.getElementById("DeliveryTime").options[document.getElementById("DeliveryTime").selectedIndex].innerHTML
				} 		
		 } else {	
	      document.getElementById("tempDeliverBy").value = document.getElementById("DeliveryTime").options[document.getElementById("DeliveryTime").selectedIndex].innerHTML
		 }		
	}	 

	if (document.getElementById("PickupTime").options[document.getElementById("PickupTime").selectedIndex].innerHTML != "Ready Now") {
	      var splitMe = document.getElementById("PickupTime").options[document.getElementById("PickupTime").selectedIndex].innerHTML.split(" ")
				if (splitMe[1] == "btw")
    			  XML += "<pickuptime value='" + splitMe[0]+" btw "+splitMe[2]+" "+splitMe[3]+" "+splitMe[4]+" "+splitMe[5] + "' /> \n"				
				else
    			  XML += "<pickuptime value='" + splitMe[0]+" btw "+splitMe[1]+" "+splitMe[2]+" "+splitMe[3]+" "+splitMe[4] + "' /> \n"
	     //XML += "<pickuptime value='" + document.getElementById("PickupTime").options[document.getElementById("PickupTime").selectedIndex].innerHTML + "' /> \n"
	} else	if (isStandBy) {
      var nextworkingday = new Date(nextBizTimeNotSat*1000);
			var nextmonth = nextworkingday.getMonth()+1
  		if (nextmonth < 10)
			   nextmonth = "0"+nextmonth			
//			var nexthour = nextworkingday.getHours();
//			var nextampm = "am";
			var nextday = nextworkingday.getDate()
			if (nextday < 10) {
	   		 nextday = "0"+nextworkingday.getDate()
			}
				 		 		
			if (nextworkingday.getHours() < 10) {
			   nexthour = "0"+nextworkingday.getHours();
			} else if (today.getHours() == 12) {
				 nextampm = "pm";			
			} else if (nextworkingday.getHours() > 12) {
			   nexthour = nextworkingday.getHours() - 12;
				 ampnextampmm = "pm";
			}	 
			var nextminute = today.getMinutes();
			if (nextworkingday.getMinutes() < 10) {
			   nextminute = "0"+nextworkingday.getMinutes();
			} 
				 	 
		  var thisYear = " "+today.getFullYear();
			var thisDate = thisDay+"/"+thisMonth+"/"+thisYear.substring(3)
			var thisTime = thisHour+":"+thisMinute+ampm
		  var nextYear = " "+nextworkingday.getFullYear();
			var nextDate = nextday+"/"+nextmonth+"/"+nextYear.substring(3)
//			var nextTime = nextHour+":"+nextMinute+nextampm
			
     	var mycityid = parent.parent.document.getElementById("myCityID").value
      var hhmm = (today.getHours() * 100)+today.getMinutes();
      if (hhmm >= standby_cutoff[mycityid+today.getDay()]) {
	        XML += "<pickuptime value='"+thisDate+" btw "+thisTime+" and "+nextDate+" "+"05:00pm"+ "' /> \n"
			}	else {
	        XML += "<pickuptime value='"+thisDate+" btw "+thisTime+" and "+thisDate+" "+"05:00pm"+ "' /> \n"			
			}
	}		

	if (document.getElementById("tempDeliverBy").value != "")
	   XML += "<deliverytime value='" + document.getElementById("tempDeliverBy").value + "' /> \n"
	
//	XML += "<priority value='" + document.getElementById("Delivery").value + "' /> \n"
	XML += "<ratetype value='" + document.getElementById("Delivery").value + "' /> \n"

  // destination	
  for(i=1; i<=TotalDestination; i++) {
	  if (AddressObject.document.getElementById("Destination"+i+"Site")) {
			// truncate empty spaces 
	    AddressObject.document.getElementById("Destination"+i+"Site").value.substr(0,AddressObject.document.getElementById("Destination"+i+"Site").value.length)
			AddressObject.document.getElementById("Destination"+i+"Address").value.substr(0,AddressObject.document.getElementById("Destination"+i+"Address").value.length)
			AddressObject.document.getElementById("Destination"+i+"Instruction").value.substr(0,AddressObject.document.getElementById("Destination"+i+"Instruction").value.length)
				
//			myString = constructString(AddressObject.document.getElementById("Destination"+i+"Address"));
			myString = AddressObject.document.getElementById("Destination"+i+"Address").value;

 	    XML += "<location>\n"+
			        "<name value='" + doEscape(AddressObject.document.getElementById("Destination"+i+"Site").value) + "' /> \n"
		  if (myString != "") {
   		     XML += "<address value='"+doEscape(myString) +"' /> \n"
			}
	    myObject = AddressObject.document.getElementById("Destination"+i+"Address")
	    if (XMLfield(myObject.item, "address.addressid")) {
			     // destination addressid
   	       XML += "<addressid value='"+XMLfield(myObject.item, "address.addressid")+"' />\n"			
   	       XML += "<suburb value='"+AddressObject.document.getElementById("Destination"+i+"Suburb").value+"' />\n"			
      } else {
			     // destination suburbid			
		       myObject = AddressObject.document.getElementById("Destination"+i+"Suburb")
		       var myAddressObject = AddressObject.document.getElementById("Destination"+i+"Address")

  		     if (XMLfield(myObject.item, "locality.suburbid") == null && AddressObject.document.getElementById("Destination"+i+"SuburbID").value == "" && 
	    	       XMLfield(myAddressObject.item, "address.addressid") == null) {
							   if (XMLfield(myObject.item, "locality.localityid") == null && XMLfield(myAddressObject.item, "address.localityid") == null) {
   		   		         alert("Invalid Suburb")
		    		         return
								 }		 
	          }	 
	          if (XMLfield(myObject.item, "locality.suburbid")) { 
   	            XML += "<suburb value='"+AddressObject.document.getElementById("Destination"+i+"Suburb").value+"' /> \n"	  
   	            XML += "<suburbid value='"+XMLfield(myObject.item, "locality.suburbid")+"' />\n"	
	          } else if (AddressObject.document.getElementById("Destination"+i+"SuburbID").value != "0" && AddressObject.document.getElementById("Destination"+i+"SuburbID").value != "") {		 		
   	            XML += "<suburb value='"+AddressObject.document.getElementById("Destination"+i+"Suburb").value+"' /> \n"	  
   	            XML += "<suburbid value='"+AddressObject.document.getElementById("Destination"+i+"SuburbID").value+"' /> \n"	  
	          } else if (XMLfield(myObject.item, "locality.localityid")) 
   	            XML += "<localityid value='"+XMLfield(myObject.item, "locality.localityid")+"' />\n"	
	          else if (XMLfield(myAddressObject.item, "address.localityid")) 
   	            XML += "<localityid value='"+XMLfield(myAddressObject.item, "address.localityid")+"' />\n"	
						else {
		 		         alert("Invalid Suburb")
		 		         return						
						} 						    		
      }

//			myString = constructString(AddressObject.document.getElementById("Destination"+i+"Instruction"));		 
			myString = AddressObject.document.getElementById("Destination"+i+"Instruction").value;		 
 		  if (AddressObject.document.getElementById("Destination"+i+"Instruction").value != "  ") {
			     XML += "<instructions value='"+doEscape(myString)+"' /> \n"
			}		
     XML += "</location>\n";
		}	
 	 }	 

   if (window.document.getElementById("GoodsClass")) {
     if (document.getElementById("GoodsClass").value != 0) {
			   XML += "<dangerous value='"+document.getElementById("GoodsClass").value+"' /> \n"+
			        "<un value='"+document.getElementById("tempdanun").value+"' /> \n"
	   }
   }
	 
	if (document.getElementById("sameDayService")) { 
	  if (document.getElementById("sameDayService").disabled == false) {
      XML += "<charge>\n"+
		       "<chargenumber value='0'/>\n"+
			    	 "<chargeleg value='-1' />\n"+
			      "<chargeqty value='"+document.getElementById("sameDayService").value+"' />\n"+
			      "</charge>\n";
		}		 
	}			 

  XML += "<myid value='"+'(19,0,29567)'+"' /> \n"
	XML += "</job>\n\n\n"

  if (navigator.vendor != "undefined" && navigator.vendor != "") {
		 if (document.all) {
	   	 if (tempXMLBOOKING.length == 0)
	       	tempXMLBOOKING = document.forms.BookingForm.XMLBOOKING.innerText		
     	 document.forms.BookingForm.XMLBOOKING.innerText += XML
		 } else {
	   	 if (tempXMLBOOKING.length == 0)
	       	tempXMLBOOKING = document.forms.BookingForm.XMLBOOKING.value
					
	     XML = XML.replace(/</g,"&lt;");			
     	 document.forms.BookingForm.XMLBOOKING.innerHTML = "&lt;?xml version='1.0' encoding='ISO-8859-1'?&gt;"+XML;
// 	     document.forms.BookingForm.XMLBOOKING.value += XML			 
		 }	 
  } else {
	   if (tempXMLBOOKING.length == 0)
	       tempXMLBOOKING = document.forms.BookingForm.XMLBOOKING.value			
     document.forms.BookingForm.XMLBOOKING.value += XML
	}					 	

	// step 5
	if (document.getElementById("SendNowAccount")) {									    
  	 document.getElementById("SendNowAccount").disabled = true;
		 if (isPriceEnq != 1)
   		 document.getElementById("SendNowAccount").value = "Processing... Please wait"
	}	 
	if (document.getElementById("SendNowCredit"))
	   document.getElementById("SendNowCredit").disabled = true;
	if (document.getElementById("Price")) {
	   document.getElementById("Price").disabled = true;
		 if (isPriceEnq == 1)
   		 document.getElementById("Price").value = "Processing... Please wait"
	}
	// step 6
  document.forms.BookingForm.submit()
	
}

function disableMyPage(isDisable, myParent, AddressObject) {
  //
	// checking booking details and creating xml to be sent to xmlbooker... disable all options now
  //
	
	// all fields are entered, now disable them
  myParent.getElementById("CallerNameText").disabled = isDisable
	myParent.getElementById("CallerNumber").disabled = isDisable
	if (myParent.getElementById("Reference1"))
     myParent.getElementById("Reference1").disabled = isDisable
	if (myParent.getElementById("Reference2"))
   	 myParent.getElementById("Reference2").disabled = isDisable
	if (myParent.getElementById("Tolls")) {
  	     myParent.getElementById("Tolls").disabled = isDisable
	}		  
  myParent.getElementById("Goods").disabled = isDisable  
  myParent.getElementById("Vehicle").disabled = isDisable
	myParent.getElementById("Options").style.visibility="hidden"
  myParent.getElementById("DeliveryTime").disabled = isDisable  
  myParent.getElementById("PickupTime").disabled = isDisable  
  myParent.getElementById("Delivery").disabled = isDisable
  if (myParent.getElementById("GoodsClass"))
     myParent.getElementById("GoodsClass").disabled = isDisable
  AddressObject.document.getElementById("PickupSite").disabled = isDisable  
	AddressObject.document.getElementById("PickupAddress").disabled = isDisable   
  AddressObject.document.getElementById("PickupSuburb").disabled = isDisable  
  AddressObject.document.getElementById("PickupInstruction").disabled = isDisable
	
  for(i=1; i<=TotalDestination; i++) {
	     if (AddressObject.document.getElementById("Destination"+i+"Site")) {
  		 		 AddressObject.document.getElementById("Destination"+i+"Site").disabled = isDisable
  		 		 AddressObject.document.getElementById("Destination"+i+"Address").disabled = isDisable
  		 		 AddressObject.document.getElementById("Destination"+i+"Suburb").disabled = isDisable
  		 		 AddressObject.document.getElementById("Destination"+i+"Instruction").disabled = isDisable
	     }
  }	
}


function constructString(thisObject) {
   //
	 // make sure each row only holds maximum 20 characters
	 //
	 
   var myValue1 = "";
	
   if (thisObject.value.indexOf("\n") > 0 && thisObject.value.indexOf("\n") < 20) {
	    if (document.all)
	        myValue1 = thisObject.value.substring(0, thisObject.value.indexOf("\n")-1) 
			else
	        myValue1 = thisObject.value.substring(0, thisObject.value.indexOf("\n")) 
			for (var w=myValue1.length; w<19; w++) {
			   myValue1 += " ";
			}
			myValue1 +=thisObject.value.substring(thisObject.value.indexOf("\n"),thisObject.value.length)

			myValue1 = myValue1.replace("\n","<br>");
	 } else {
	    myValue1 += thisObject.value.replace("\n"," ");
	 }

	 if (thisObject.value.indexOf("\n") > 21 && thisObject.value.indexOf("\n") < 40) {
	    myValue1 = thisObject.value.substring(0, 20)+"\n"+thisObject.value.substring(20, thisObject.value.length); 
			for (var z=thisObject.value.length; z<40; z++) {
			   myValue1 += " ";
			}
	 }
   myValue1 = myValue1.replace("<br>"," ");
	 return myValue1 
}

function BackGroundColor(theObject,CompanyID,theClass) {
    //
    // set the classname of theObject
		//
    theObject.className = theClass+"Colour"+CompanyID;			 
}

function SetDeliverByOption() {
   //
	 // build service type list, called onload from dtrans-v1.html
	 //

	 var myWindow = "";
	 var myDocument = "";
	 if (parent.parent.window.frames["rightIframe"]) {
    	 if (!(parent.parent.window.frames["rightIframe"].frames["CurrentStatus"]))
	        return
			 if (document.getElementById("myCityID")) {
			    myWindow	 = parent	
			    myDocument = window
			 } else {		
    			 myWindow	 = parent.parent.window	
		    	 myDocument = parent.parent
			 }		 
	 } 			
	 if (myWindow.frames["rightIframe"].frames["CurrentStatus"] == null) {
	    	document.getElementById("Vehicle").options.length = 0
	    	getServiceType(myDocument.document.getElementById("myCompanyUnique").value)
	    	document.getElementById("Vehicle").options.selectedIndex = 0
	    	document.getElementById("Options").innerHTML = ""
				webservicetypeid = ""
	      return
   }	 
	 if (myWindow.frames["rightIframe"].frames["CurrentStatus"]) {
  	 if (myWindow.frames["rightIframe"].frames["CurrentStatus"].document.getElementById("clientcity")) {
   	  	if (myDocument.document.getElementById("myCityID").value == myWindow.frames["rightIframe"].frames["CurrentStatus"].document.getElementById("clientcity").value) {
	      	 tempDeliveryType = document.getElementById("Delivery").options[document.getElementById("Delivery").selectedIndex].value
	 			   DisplayVehicleType(document.getElementById("Vehicle"))
	 			   VehicleOption()
	 		  } else {
	    	   document.getElementById("Vehicle").options.length = 0
	    		 getServiceType(myDocument.document.getElementById("myCompanyUnique").value)
	    		 document.getElementById("Vehicle").options.selectedIndex = 0
	    		 document.getElementById("Options").innerHTML = ""
					 window.frames["PickupDestinationFrame"].document.getElementById("PickupSite").value = ""
					 window.frames["PickupDestinationFrame"].document.getElementById("PickupAddress").value = ""
					 window.frames["PickupDestinationFrame"].document.getElementById("PickupSuburb").value = ""
					 window.frames["PickupDestinationFrame"].document.getElementById("PickupSuburbID").value = ""
					 window.frames["PickupDestinationFrame"].document.getElementById("PickupLocalityID").value = ""
					 window.frames["PickupDestinationFrame"].document.getElementById("PickupAddressID").value = ""
					 window.frames["PickupDestinationFrame"].document.getElementById("PickupInstruction").value = ""			
					 webservicetypeid = ""	
				}	 
	   }
	 } else {
	    	document.getElementById("Vehicle").options.length = 0
	    	getServiceType(myDocument.document.getElementById("myCompanyUnique").value)
	    	document.getElementById("Vehicle").options.selectedIndex = 0
	    	document.getElementById("Options").innerHTML = ""
				webservicetypeid = ""
	 } 	 
}

function loadgoods(theObject) {
   //
	 // display/hide dangerous goods screen
	 //
	 
   var num=theObject.selectedIndex;
   if (num > 0) {
      window.frames.PickupDestinationFrame.location = "../../../Global/DangerousGoods.php?Class="+num +"&Directory="+owndirectory									 
	 } else {
      window.frames.PickupDestinationFrame.location.href = "PickupDestination.html"
	 }		 									 

	 var num=theObject.selectedIndex;
}

function DisplayContact(myCompanyID) {
   //
	 // make contact page visible
	 //
   parent.parent.window.frames["mainIframe"].frames["ContactFrame"].location.href = ownweb+"/Contacts.html"
   WhoIsVisible("Contact", myCompanyID)
}

function DisplayReport(ReportName, myCompanyID) {
   //
	 // make report page visible
	 //
   WhoIsVisible("Report", myCompanyID)
   parent.parent.frames["mainIframe"].frames["ReportFrame"].location.href = "../../../Global/ReportsFrame.php"	 
}

function setColor (tabName, myCompanyID) {
   //
	 // 1. unset all colors
	 // 2. set colors to tabs
	 //
	 
	 // step 1
	
	// step 3
  if (document.getElementById("Payment")) 
     document.getElementById("Payment").className = "PrimaryColour"+myCompanyID		 
	if (document.getElementById("RegularJob"))
     document.getElementById("RegularJob").className = "PrimaryColour"+myCompanyID
  if (document.getElementById("New"))
     document.getElementById("New").className = "PrimaryColour"+myCompanyID
	if (document.getElementById("Contact"))	
     document.getElementById("Contact").className = "PrimaryColour"+myCompanyID
	if (document.getElementById("Report"))
     document.getElementById("Report").className = "PrimaryColour"+myCompanyID
	if (document.getElementById("Setup"))
     document.getElementById("Setup").className = "PrimaryColour"+myCompanyID
	if (document.getElementById("Search"))
     document.getElementById("Search").className = "PrimaryColour"+myCompanyID
	if (document.getElementById("New"))
     document.getElementById("New").className = "PrimaryColour"+myCompanyID	 
	 // step 2
	 if (document.getElementById(tabName))
      document.getElementById(tabName).className = 'SecondaryColour'+myCompanyID
}

function WhoIsVisible(whois, myCompanyID) {
  //
  // hide and show pages
	// 1. hide all pages 
  // 2. show only 1 page
	// 3. reset all tab colors
	// 4. set active page tab color
	// 
	
  var myParent;
	if (document.getElementById("NewDiv")) 
		 myParent = window
  else if (parent.document.getElementById("NewDiv"))
		 myParent = parent
  else if (parent.parent.frames["mainIframe"])
	   myParent = parent.parent.frames["mainIframe"];
	else if (parent.parent.parent.frames["mainIframe"])
	   myParent = parent.parent.parent.frames["mainIframe"];
	else if (parent.parent.parent.parent.frames["mainIframe"])	 
	   myParent = parent.parent.parent.parent.frames["mainIframe"];
	else 
	   myParent = parent.parent.frames["contentsframe"]

	if (!(myParent.document.getElementById("NewDiv")))
		 return
	// step 1	 
  myParent.document.getElementById("NewDiv").style.visibility="hidden"
  myParent.document.getElementById("RegularJobDiv").style.visibility="hidden"
  myParent.document.getElementById("PaymentDiv").style.visibility="hidden"
  myParent.document.getElementById("ReportDiv").style.visibility="hidden"
  myParent.document.getElementById("SetupDiv").style.visibility="hidden"
  myParent.document.getElementById("SearchDiv").style.visibility="hidden"
  myParent.document.getElementById("ContactDiv").style.visibility="hidden"

  // step 2
  myParent.document.getElementById(whois+"Div").style.visibility="visible"
	
	// step 3
  var myCurrentObject = myParent.frames[whois+"Frame"]
  if (myCurrentObject.document.getElementById("Payment")) 
     myCurrentObject.document.getElementById("Payment").className = "PrimaryColour"+myCompanyID
	if (myCurrentObject.document.getElementById("RegularJob"))
     myCurrentObject.document.getElementById("RegularJob").className = "PrimaryColour"+myCompanyID
  if (myCurrentObject.document.getElementById("New"))
     myCurrentObject.document.getElementById("New").className = "PrimaryColour"+myCompanyID
	if (myCurrentObject.document.getElementById("Contact"))	
     myCurrentObject.document.getElementById("Contact").className = "PrimaryColour"+myCompanyID
	if (myCurrentObject.document.getElementById("Report"))
     myCurrentObject.document.getElementById("Report").className = "PrimaryColour"+myCompanyID
	if (myCurrentObject.document.getElementById("Setup"))
     myCurrentObject.document.getElementById("Setup").className = "PrimaryColour"+myCompanyID
	if (myCurrentObject.document.getElementById("Search"))
     myCurrentObject.document.getElementById("Search").className = "PrimaryColour"+myCompanyID
	if (myCurrentObject.document.getElementById("New"))
     myCurrentObject.document.getElementById("New").className = "PrimaryColour"+myCompanyID
		 
  // steo 4		 		 
	if (myCurrentObject.document.getElementById(whois))		 
	    myCurrentObject.document.getElementById(whois).className = "SecondaryColour"+myCompanyID
}

function DisplayBookingPage(myCompanyID) {
  //
	// make booking page visible
	// 1. clear all previous booking details, make fresh screen
  //
	
  // if abandoning job
	// put back later
	if (window.frames["PickupDestinationFrame"]) {
  	if (JOBID != "") { 
	      setProgressiveIndividualXML("Aborted", ""); 
	  }	 
  
	  // reset values
	  JOBID = ""
	  JOBLEGID = ""	
	  window.frames["PickupDestinationFrame"].document.getElementById("NEWJOBID").value = ""

	  for (i=0; i<10;  i++) {
	     if (window.frames["PickupDestinationFrame"].document.getElementById(i+"NEWJOBLEGID")) 
		       window.frames["PickupDestinationFrame"].document.getElementById(i+"NEWJOBLEGID").value = ""
	  }	 
	}
	
	setTimeout("DisplayBookingPageNow("+myCompanyID+")", 3000);
}


function DisplayBookingPageNow(myCompanyID) {
  if (parent.parent.frames["mainIframe"].frames["NewFrame"]) {
      parent.parent.frames["mainIframe"].frames["NewFrame"].location.href = ownweb+"/"+owndirectory+"/Booking/Dtrans-v1.html"
  } else if (parent.parent.parent.frames["mainIframe"].frames["NewFrame"]) {
      parent.parent.frames["mainIframe"].frames["NewFrame"].location.href = ownweb+"/"+owndirectory+"/Booking/Dtrans-v1.html"
	} else {		
      window.location.href = ownweb+"/"+owndirectory+"/Booking/Dtrans-v1.html"
  }
  WhoIsVisible("New", myCompanyID)
	
	if (document.getElementById("Delivery"))
		 tempDeliveryType = document.getElementById("Delivery").options[document.getElementById("Delivery").selectedIndex].innerHTML
}

function DisplayPaymentPage(myCompanyID) {
   //
	 // make payment page visible
	 //

 	 if (parent.parent.frames["mainIframe"])
  	  parent.parent.frames["mainIframe"].frames["PaymentFrame"].location.href = "../../../Global/MakePayment.php"
	 else 
  	  parent.parent.parent.frames["mainIframe"].frames["PaymentFrame"].location.href = "../../../Global/MakePayment.php"
   WhoIsVisible("Payment", myCompanyID)
}


function DisplayRegularJobPage(myCompanyID) {
   //
	 // make regular page visible
	 //
   
   // WhoIsVisible("RegularJob", myCompanyID)
}
 

function DisplaySetup(myCompanyID) {
   //
	 // make setup page visible
	 //
   WhoIsVisible("Setup", myCompanyID)
	 if (parent.parent.frames["mainIframe"])
      parent.parent.frames["mainIframe"].frames["SetupFrame"].location.href = "../../../Global/Setup.php"
	 else	 
      parent.parent.parent.frames["mainIframe"].frames["SetupFrame"].location.href = "../../../Global/Setup.php"
}

function DisplaySearch (myCompanyID) {
   //
	 // make search page visible
	 //
   WhoIsVisible("Search", myCompanyID)
	 if (parent.parent.frames["mainIframe"])
       parent.parent.frames["mainIframe"].frames["SearchFrame"].location.href = "../../../Global/SearchJob.php"
   else		 
       parent.parent.parent.frames["mainIframe"].frames["SearchFrame"].location.href = "../../../Global/SearchJob.php"
}


