if(document.images) {
    calstarton 			= new Image();
    calstarton.src 		= "../images/calendardown.gif";
    calstartoff 		= new Image();
    calstartoff.src 	= "../images/calendar.gif";
    calendon 			= new Image();
    calendon.src 		= "../images/calendardown.gif";
    calendoff 			= new Image();
    calendoff.src 		= "../images/calendar.gif";
}

function doChangeSelectedTerminal( ctx, ddlTerminalValue ) {
    document.forms[0].action = ctx + "/default.do?method=changeSelectedTerminal&selectedTerminal=" + ddlTerminalValue + "&tbPageURI=" + document.getElementById("tbPageURI").value;
    document.forms[0].submit();
}

// Functions for loginCtrl.jsp
function doLogout(ctx) {
    document.forms[0].action = ctx + "/default.do?method=doLogout";
    document.forms[0].submit();
}

function showheadertip(evt,idx,cnt) {
    var tooltip = (document.getElementById) ? document.getElementById('htip' + idx) : eval("document.all['htip" + idx + "']");
	
    if (tooltip != null) {
        if (idx < cnt -2) {
            tooltip.style.left = evt.clientX + 5 + "px";
        } else {
            tooltip.style.left = evt.clientX - 100 + "px";
        }
		
        tooltip.style.top = evt.clientY + 5 + "px";
        tooltip.style.visibility = "visible";
    }
}
function hideheadertip(idx) {
    var tooltip = (document.getElementById) ? document.getElementById('htip' + idx) : eval("document.all['htip" + idx + "']");
    if (tooltip != null) {
        tooltip.style.visibility = "hidden";
    }
}

function openCalendarWindow(fieldInFocus, context, datefmt) {
    var strOptions;
    fieldInFocus.value = ""
    fieldInFocus.focus();
    strOptions = "resizable=yes;dialogWidth=250px;dialogHeight=210px;status=No;scroll=No;help=No;";
    var returnedValue = window.showModalDialog ( context + "/default.do?method=showCalendar&df=" + datefmt,"12,12,"+fieldInFocus.value,strOptions);
    if(returnedValue != null) {
        fieldInFocus.value = returnedValue;
    }
}

function swapOn(name) {
    document.all[name].src = eval(name + "on.src");
}
		
function swapOff(name) {
    document.all[name].src = eval(name + "off.src");
}

//--------------------------------------------------------------------------------
/**
 * Returns a boolean indicating if the value passed to the function is non-null
 * and not and empty string
 */
function hasData(value) {
    return trim(value).length > 0;
}

function showValidationMessage(intro, msgs) {
    alert(intro + "\n\n* " + msgs.join("\n\n* "));
}

function formatToUSDate(dateStr, dateFormat) {
   try {
        if(dateFormat!='MM/dd/yyyy') {
            var parts = dateStr.split("/");
            var day = parts[0];
            var month = parts[1];
            var year= parts[2];

            return month + "/" + day +"/" + year;
        } else {
            return dateStr;
        }
	}
	catch(e) {
		// bad input string, probably
        alert(e.value);
	}

    return dateStr;
}

//--------------------------------------------------------------------------------
function limitLength(fieldref, maxlength, message) {
    if (fieldref.value.length > maxlength) {
        fieldref.value = fieldref.value.substring(0, maxlength);
        alert((message ? message : 'This field accepts a maximum of ' + maxlength + ' characters'));
    }
}

function toggleReeferFields(val, liveReeferOption, operatingReefer) {    
    if(val=="R" || val=="Y") {
        document.getElementById("tbMin").disabled = false;
        document.getElementById("tbMin").style.backgroundColor = "#FFFFFF";
        document.getElementById("tbMax").disabled = false;
        document.getElementById("tbMax").style.backgroundColor = "#FFFFFF";
        document.getElementById("ddlTempUnit").disabled = false;
        document.getElementById("ddlTempUnit").style.backgroundColor = "#FFFFFF";
        document.getElementById("minTemp").innerHTML = "<img src=\"../images/asterisk.gif\" class=\"asterisk\" title=\"Min temperature is required\" id=\"imgMax\" name=\"imgMax\"/>min";
        document.getElementById("maxTemp").innerHTML = "<img src=\"../images/asterisk.gif\" class=\"asterisk\" title=\"Max temperature is required\" id=\"imgMin\" name=\"imgMin\"/>max";
        document.getElementById("uomTemp").innerHTML = "<img src=\"../images/asterisk.gif\" class=\"asterisk\" title=\"Temperature unit of measurement is required\" id=\"imgUnit\" name=\"imgUnit\"/>unit of measurement";
        document.getElementById("kindOfContainer").value = "R";

        if(liveReeferOption){
            if(operatingReefer=='Y') {
                document.forms[0].rblOper[0].checked = true;
                document.forms[0].rblOper[0].disabled = false;
                document.forms[0].rblOper[1].disabled = false;    
            } else {
                document.forms[0].rblOper[1].checked = true;
                document.forms[0].rblOper[0].disabled = false;
                document.forms[0].rblOper[1].disabled = false;
                document.getElementById("tbMin").disabled = true;
                document.getElementById("tbMin").value = "";
                document.getElementById("tbMin").style.backgroundColor = "#EEEEEE";
                document.getElementById("tbMax").disabled = true;
                document.getElementById("tbMax").value = "";
                document.getElementById("tbMax").style.backgroundColor = "#EEEEEE";
                document.getElementById("ddlTempUnit").disabled = true;
                document.getElementById("ddlTempUnit").value = "blank";
                document.getElementById("ddlTempUnit").style.backgroundColor = "#EEEEEE";
                document.getElementById("minTemp").innerHTML = "min";
                document.getElementById("maxTemp").innerHTML = "max";
                document.getElementById("uomTemp").innerHTML = "unit of measurement";
                document.getElementById("kindOfContainer").value = "";
            }
        }

    } else if(val=="RESET") {
        if(liveReeferOption){
            document.forms[0].rblOper[0].checked = true;
            document.forms[0].rblOper[0].disabled = false;
            document.forms[0].rblOper[1].disabled = false;
        }
        document.getElementById("tbMin").disabled = false;
        document.getElementById("tbMin").value = "";
        document.getElementById("tbMin").style.backgroundColor = "#FFFFFF";
        document.getElementById("tbMax").disabled = false;
        document.getElementById("tbMax").value = "";
        document.getElementById("tbMax").style.backgroundColor = "#FFFFFF";
        document.getElementById("ddlTempUnit").disabled = false;
        document.getElementById("ddlTempUnit").value = "blank";
        document.getElementById("ddlTempUnit").style.backgroundColor = "#FFFFFF";
        document.getElementById("minTemp").innerHTML = "<img src=\"../images/asterisk.gif\" class=\"asterisk\" title=\"Min temperature is required\" id=\"imgMax\" name=\"imgMax\"/>min";
        document.getElementById("maxTemp").innerHTML = "<img src=\"../images/asterisk.gif\" class=\"asterisk\" title=\"Max temperature is required\" id=\"imgMin\" name=\"imgMin\"/>max";
        document.getElementById("uomTemp").innerHTML = "<img src=\"../images/asterisk.gif\" class=\"asterisk\" title=\"Temperature unit of measurement is required\" id=\"imgUnit\" name=\"imgUnit\"/>unit of measurement";
        document.getElementById("kindOfContainer").value = "";
    } else {
        if(liveReeferOption){
            document.forms[0].rblOper[1].checked = true;
            document.forms[0].rblOper[0].disabled = true;
            document.forms[0].rblOper[1].disabled = true;
        }
        document.getElementById("tbMin").disabled = true;
        document.getElementById("tbMin").value = "";
        document.getElementById("tbMin").style.backgroundColor = "#EEEEEE";
        document.getElementById("tbMax").disabled = true;
        document.getElementById("tbMax").value = "";
        document.getElementById("tbMax").style.backgroundColor = "#EEEEEE";
        document.getElementById("ddlTempUnit").disabled = true;
        document.getElementById("ddlTempUnit").value = "blank";
        document.getElementById("ddlTempUnit").style.backgroundColor = "#EEEEEE";
        document.getElementById("minTemp").innerHTML = "min";
        document.getElementById("maxTemp").innerHTML = "max";
        document.getElementById("uomTemp").innerHTML = "unit of measurement";
        document.getElementById("kindOfContainer").value = "";
    }
}

function toggleMenu(page) {
    document.getElementById(page).style.fontWeight = "bold";
}

function checkNumeric(fld, fldname) {
    if(fld.value.length > 0) {
        if(!isNumeric(fld.value)) {
            alert("The " + fldname + " field must be a numeric value.");
            fld.select();
        }
    }
}

function isNumeric(value) {
	if(hasData(value)) {
		var re = new RegExp(/^[-+]?[0-9]+[.]?[0-9]*([eE][-+]?[0-9]+)?$/);
		return re.test(trim(value));
	}

	return false;
}

function trim(strValue) {
	if(strValue != null && strValue.length > 0) {
		return strValue.replace(/^\s+|\s+$/g, "");
	}

	return strValue;
}

function toggleOverdimensionUom(val, fld) {
    overdims = new Array("tbOH","tbOWL","tbOWR","tbOLF","tbOLR");
    boolHaveDimension = false;
    for(x = 0; x < overdims.length; x++) {
        if(document.getElementById(overdims[x]).value.length > 0) {
            boolHaveDimension = true;
            break;
        }
    }

    if(boolHaveDimension) {
        document.getElementById(fld).innerHTML = "<img src=\"../images/asterisk.gif\" class=\"asterisk\" title=\"Unit of measurement is required\" id=\"imgMax\" name=\"imgMax\"/>unit of measurement";
    } else {
        document.getElementById(fld).innerHTML = "unit of measurement";
    }
}

function togglePckCode(val, fld) {
    if(val.length > 0) {
        document.getElementById(fld).innerHTML = "<img src=\"../images/asterisk.gif\" class=\"asterisk\" title=\"Pck Code is required\"/>Pck Code:";
    } else {
        document.getElementById(fld).innerHTML = "Pck Code:";
    }
}

function toggleUom(val, fld, multiple) {
    if(val.length > 0) {
        document.getElementById(fld).innerHTML = "<img src=\"../images/asterisk.gif\" class=\"asterisk\" title=\"Unit of measurement is required\"/>unit of measurement";
    } else {
        document.getElementById(fld).innerHTML = "unit of measurement";
    }
    //'cargoTareUom'
}

function toggleCargoTare(val, fld, uom) {
    toggleUom(val, uom, true);
    if(val.length > 0) {
        document.getElementById(fld).innerHTML = "<img src=\"../images/asterisk.gif\" class=\"asterisk\" title=\"Cargo Tare is required if Cargo Weight is entered.\"/>Cargo Tare:";
    } else {
        document.getElementById(fld).innerHTML = "Cargo Tare:";
    }
}

function checkCargoWeightPC(item, preadvice, newitem) {
    if(item.value.length > 0) {
        if(item.value.match(/^\d{1,5}(\.\d{1,2})?$/)) { //validate a number 5 digits and 2 decimal places allowing zero
            if(!preadvice && newitem) {
                document.getElementById("tbCargoWeight").value = item.value;
                document.getElementById("ddlWeightUnit").value = "KG";
            }
        } else {
            alert('Please enter a valid Cargo Weight P/C. Format must be in 000000.00');
            item.focus();
            item.select();
        }
    }
}