
function openPrintWindow(url)
{
	window.open(url, "printlabels", "width=600,height=400,resizable=no,minimizable=no,close=no");
}

function checkDisposal() {
	var disposalLabelElem = document.getElementById("disposalLabel");
	if(!disposalLabelElem) {
		return;
	}
	var rmaRgaNumberLabelElem = document.getElementById("rmaRgaNumberLabel");
	var disposalInputElems = getElementsByClass("disposalInputField");
	var returnJobSet = false;
	var rJobRadios = document.CourierJob["detail.returnJob"]; 
	for (var idx=0; idx < rJobRadios.length; idx++)  {
		if(rJobRadios[idx].checked) {
			returnJobSet = rJobRadios[idx].value;
		}
	}
	if(returnJobSet == "true") {
		disposalLabelElem.className = disposalLabelElem.className.replace("disabled", "");
		rmaRgaNumberLabelElem.className = rmaRgaNumberLabelElem.className.replace("disabled", "");
		for(var idx=0; idx<disposalInputElems.length; idx++) {
			disposalInputElems[idx].disabled = false;
		}
	}
	else {
		if(disposalLabelElem.className.indexOf("disabled") < 0) {
			disposalLabelElem.className += " disabled";
		}
		if(rmaRgaNumberLabelElem.className.indexOf("disabled") < 0) {
			rmaRgaNumberLabelElem.className += " disabled";
		}
		for(var idx=0; idx<disposalInputElems.length; idx++) {
			disposalInputElems[idx].disabled = true;
		}
	}
}

function submitShippingLabelForm(src) {
	//var sActionElem = document.getElementById("printwin_submitaction");
	//sActionElem.value = src.value;
	document.forms[1].submit();
}

function submitPrintDetailsForm() {
	document.forms[2].submit();
}

function disableSubmitButtons()
{
    for (i = 0; i < document.CourierJob.elements.length; i++) 
    {
      var o = document.CourierJob.elements[i];
      if (o.type == "submit" || o.type == "reset")
      {
        o.disabled = true;
      }
    }
}

// return the value of the radio button that is checked
// return an empty string if none are checked, or
// there are no radio buttons
// (from http://www.somacon.com/p143.php)
function getCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}

function togglePickupDateSelector()
{
	if (getCheckedValue(document.CourierJob["detail.pickupAsap"]) == "true")
	{
		disablePickupDateSelection();
	}
	else
	{
		enablePickupDateSelection();
	}
	return true;
}

function disablePickupDateSelection()
{
	document.CourierJob["detail.pickupDay"].disabled= true;
	document.CourierJob["detail.pickupHour"].disabled= true;
	document.CourierJob["detail.pickupMinute"].disabled= true;
}

function enablePickupDateSelection()
{
	document.CourierJob["detail.pickupDay"].disabled= false;
	document.CourierJob["detail.pickupHour"].disabled=false;
	document.CourierJob["detail.pickupMinute"].disabled=false;
}

function toggleDeliveryDateSelector()
{
	if (getCheckedValue(document.CourierJob["detail.deliveryAsap"]) == "true")
	{
		disableDeliveryDateSelection();
	}
	else
	{
		enableDeliveryDateSelection();
	}
	return true;
}

function disableDeliveryDateSelection()
{
	document.CourierJob["detail.deliveryDay"].disabled= true;
	document.CourierJob["detail.deliveryHour"].disabled= true;
	document.CourierJob["detail.deliveryMinute"].disabled= true;
}

function enableDeliveryDateSelection()
{
	document.CourierJob["detail.deliveryDay"].disabled= false;
	document.CourierJob["detail.deliveryHour"].disabled=false;
	document.CourierJob["detail.deliveryMinute"].disabled=false;
}

function test_addr()
{

    //if ( !validateCourierJob(document.CourierJob))
    //{
    //   return false;
    //}
    var cnt = document.CourierJob["detail.stopCount"].value;
    var lastvalue = "", i;
    for (i = 0; i < cnt; i++)
    {
        thisvalue = document.CourierJob["addressIds[" + i + "]"].value;
        if (thisvalue == lastvalue && thisvalue != "OTHER")
        {
            alert("Cannot pickup and deliver to same address");
            return false;
        }
        lastvalue = thisvalue;
	}
    //disableSubmitButtons();
  
    return true;
}

function canDelete(target)
{
    if (target.checked == false)
    {
        document.CourierJob["detail.stopCount"].value++;
        return true;
    }
    else
    {
        var cnt = document.CourierJob["detail.stopCount"].value;
        if (cnt <= 2)
        {
            alert("You may not delete this stop as the job only has 2 stops");
            target.checked = false;
            return false;
        }
        document.CourierJob["detail.stopCount"].value--;
        return true;
    }
}


function initPricingPage() {
    var pdDivSwitcher = new DivSwitcher("pd_content", "pd_icon", "images/expand.gif", "images/collapse.gif");
    var gcDivSwitcher = new DivSwitcher("gc_content", "gc_icon", "images/expand.gif", "images/collapse.gif");
   	new Ajax.Autocompleter("suburb0", "suburb0_auto_complete", "suburblist", {callback: editQueryString});
	new Ajax.Autocompleter("suburb1", "suburb1_auto_complete", "suburblist", {callback: editQueryString});
}

function initDehirePage() {
	new Ajax.Autocompleter("container_location", "container_location_auto_complete", "suburblist", {callback: editQueryString});
}

function initBookingPage() {
	togglePickupDateSelector();
	checkDisposal();
	var giDivSwitcher = new DivSwitcher("gi_content", "gi_icon", "images/expand.gif", "images/collapse.gif");
	var pfDivSwitcher = new DivSwitcher("pd_content", "pd_icon", "images/expand.gif", "images/collapse.gif");
	var dtDivSwitcher = new DivSwitcher("dt_content", "dt_icon", "images/expand.gif", "images/collapse.gif");
	var gtDivSwitcher = new DivSwitcher("gt_content", "gt_icon", "images/expand.gif", "images/collapse.gif");
	var etDivSwitcher = new DivSwitcher("ei_content", "ei_icon", "images/expand.gif", "images/collapse.gif");
	var gcDivSwitcher = new DivSwitcher("gc_content", "gc_icon", "images/expand.gif", "images/collapse.gif");
	//var eqCtrlDivSwitcher = new DivSwitcher("ei_ctrl_content", "ei_ctrl_icon", "images/expand.gif", "images/collapse.gif");
	var initLoad = getRequestParam("initload");
	if(initLoad && initLoad == "true") {
		etDivSwitcher.collapse();
	}
	var openEcRowElem = document.getElementById("openEcRow");
	if( openEcRowElem && openEcRowElem.value == "true") {
		 showEcRow("", true)
	}
	//initAutocomplete("courier");
	//new Ajax.Autocompleter("suburb0", "suburb0_auto_complete", "suburblist", {callback: editQueryString});
	//new Ajax.Autocompleter("suburb1", "suburb1_auto_complete", "suburblist", {callback: editQueryString});
	var acBoxes = getElementsByClass("ac_container");
	for(var idx=0; idx<acBoxes.length; idx++) {
		new Ajax.Autocompleter("suburb" + idx, "suburb" + idx + "_auto_complete", "suburblist", {callback: editQueryString});
	}
	
}

/*
function testUpdateElement(item) {
	alert(item.innerHTML);
	alert(item.id);
}
*/


function testKeyPress(event) {
	alert(event);
}

function initTrackingPage() {
	if( document.getElementById("sr_content")) {
		var srDivSwitcher = new DivSwitcher("sr_content", "sr_icon", "images/expand.gif", "images/collapse.gif");
	}
	if ( document.getElementById("sc_content")) {
		var scDivSwitcher = new DivSwitcher("sc_content", "sc_icon", "images/expand.gif", "images/collapse.gif");
	}
	if ( document.getElementById("sm_content")) {
		var scDivSwitcher = new DivSwitcher("sm_content", "sc_icon", "images/expand.gif", "images/collapse_white.gif");
	}
	
}



function filterEquipmentTable(src) {
	var filterActionElem = document.getElementById("filterAction");
	filterActionElem.value = "filter";
	noValidation();
	document.CourierJob.submit();
}


function populateAddressField(src) {
	var srcRowId = src.value;
	var locationTd = document.getElementById(srcRowId + "location");
	var suburbField = document.getElementById(srcRowId + "suburb_id");
	
	for(i=0; i< document.CourierJob.elements.length; i++) {
		if(document.CourierJob.elements[i].name=="addressIds[0]") {
			document.CourierJob.elements[i].selectedIndex = 0;
		}
		else if(document.CourierJob.elements[i].name=="detail.stops[0].address.line1" || 
					document.CourierJob.elements[i].name=="detail.stops[0].address.line2" ||
						document.CourierJob.elements[i].name=="detail.stops[0].address.instructions" ||
							document.CourierJob.elements[i].name=="detail.stops[0].address.description") {
			document.CourierJob.elements[i].value = "";
		}
	}
	
	for(i=0; i< document.CourierJob.elements.length; i++) {
		if(document.CourierJob.elements[i].name=="detail.stops[0].address.name") {
			var nameField = locationTd.innerHTML;
			if(nameField) {
				document.CourierJob.elements[i].value = nameField.trim();
			}
		}
		else if(document.CourierJob.elements[i].name=="detail.stops[0].address.suburb") {
			document.CourierJob.elements[i].value = suburbField.value;
		}
	}
}

function test_date() {

    var strPickupDate   = "";
    var strDeliveryDate = "";
    var strPickupHour   = "";
    var strPickupMinute = "";
    var strDeliveryHour = "";
    var strDeliveryMinute = "";
    if (document.CourierJob["detail.pickupAsap"] && getCheckedValue(document.CourierJob["detail.pickupAsap"]) == "false") {
        comboPickupDay  = document.CourierJob["detail.pickupDay"];
        comboPickupHour = document.CourierJob["detail.pickupHour"];
        comboPickupMinute = document.CourierJob["detail.pickupMinute"];
        strPickupDate   = comboPickupDay.options[comboPickupDay.selectedIndex].value;
        strPickupHour   = comboPickupHour.options[comboPickupHour.selectedIndex].value;;
        strPickupMinute = comboPickupMinute.options[comboPickupMinute.selectedIndex].value;;
    } else {
        return true;
    }

    if (document.CourierJob["detail.deliveryAsap"] && getCheckedValue(document.CourierJob["detail.deliveryAsap"]) == "false") {
        comboDeliveryDay  = document.CourierJob["detail.deliveryDay"];
        comboDeliveryHour = document.CourierJob["detail.deliveryHour"];
        comboDeliveryMinute = document.CourierJob["detail.deliveryMinute"];
        strDeliveryDate   = comboDeliveryDay.options[comboDeliveryDay.selectedIndex].value;
        strDeliveryHour   = comboDeliveryHour.options[comboDeliveryHour.selectedIndex].value;;
        strDeliveryMinute = comboDeliveryMinute.options[comboDeliveryMinute.selectedIndex].value;;
    } else {
        return true;
    }

    var pickupDate   = new Date();
    var deliveryDate = new Date();

    pickupDate.setFullYear(
            parseInt(strPickupDate.substr(0,4))
            ,parseInt(strPickupDate.substr(4,2))-1
            ,parseInt(strPickupDate.substr(6,2))
    );
    pickupDate.setHours(parseInt(strPickupHour), parseInt(strPickupMinute));

    deliveryDate.setFullYear(
            parseInt(strDeliveryDate.substr(0,4))
            ,parseInt(strDeliveryDate.substr(4,2))-1
            ,parseInt(strDeliveryDate.substr(6,2))
    );
    deliveryDate.setHours(parseInt(strDeliveryHour), parseInt(strDeliveryMinute));
   
    if (deliveryDate <= pickupDate) {
        alert("The Delivery time can not be before Pick-up time!");
        return false;
    } else {
        return true;
    }
}

