<!--Begin Scripts-->

function closeWindow()
{
	this.close();
}

function openWindow(url, h, w)
{
	window.open(url,"","height="+h+",width="+w+",resizable=no");
}

function extendSession(time)
{
	alert("Session extended to "+time+" hours!");
}

function endSession(url)
{
	alert("Session finished, please relogin to initiate other Test");
	window.open(url);
	this.close();
}

function notice(n)
{
	
	setTimeout("openWindow('noticexpire.jsp', 50, 500)",30000);
	if (n==1)
		setTimeout("openWindow('extendsession.jsp', 211, 390)",30000);
}

function TestJob()
{
  openWindow('testjob.jsp', 180, 200);
}

function changeButton(object){
	//object.style.background="#000000";
}
function backButton(object){
	//object.style.background="#666666";
}	

function goPlace(aPlace){
var newLocation = serverPath + 'html/' + aPlace;
document.forms[0].action = newLocation;
document.forms[0].submit();
}

function changeDisplay(layerName,toWhat)
{
	document.getElementById(layerName).style.display=toWhat;
}

function doNothing(){/*for making null links*/}

function changeMenu(aSelectionFirst, aSelectionSecond, aPage){
	//document.forms[0].firstLevel.value = aSelectionFirst;
	//document.forms[0].secondLevel.value = aSelectionSecond;
	if (aPage == "" && aSelectionSecond != "") {
		//alert("aPage is Blank");
		aPage = "'" + serverPath + "html/home'";
		//alert("now aPage is " + aPage);
		strHTML = "<form action=" + aPage + " method='post' name='frmNewPage'>" ;
		strHTML = strHTML + "</form>";
	} else {
		if (aPage == "") {
			aPage = "'" + serverPath + "html/home'";
		}
		var role="";
		aPage2 = aPage;
		aPage3 = "";
		var strHTMLCB = "";
		var strHTMLType = "";
		var strHTMLRole = "";
		
		if ( aSelectionFirst == "tracking" ) {
			if ( aSelectionSecond == "domestic" ) {
				strHTMLType = "<input name='hidTTType' type='hidden' value='1'>";
			} else if ( aSelectionSecond == "nafta" ) {
				strHTMLType = "<input name='hidTTType' type='hidden' value='2'>";
			} else if ( aSelectionSecond == "international" ) {
				strHTMLType = "<input name='hidTTType' type='hidden' value='3'>";
				role = prompt("Type your role","Other");
				strHTMLRole = "<input name='hidRole' type='hidden' value='"+ role + "'>";
				if (role.toUpperCase() == "BROKER") {
					aPage2 = "tt-tracking-search";
					aPage3 = "tt-int-broker";
					strHTMLCB = "<input name='hidTab' type='hidden' value='20'>";
				} else if (role.toUpperCase() == "CARRIER") {
					aPage2 = "tt-tracking-search";
					aPage3 = "tt-int-carrier";
					strHTMLCB = "<input name='hidTab' type='hidden' value='19'>";
				} else if (role.toUpperCase() == "GE CONTACT") {
					aPage2 = "tt-int-tracking-report";	
				} else {
					aPage2 = "tt-int-tracking-customs";
					strHTMLCB = "<input name='hidTab' type='hidden' value='15'>";
				}
			}
		}
		
		if (role.toUpperCase() == "BROKER" || role.toUpperCase() == "CARRIER" ) {
			strHTML = "<form action='" + serverPath + "html/"+ aPage2 + "' method='post' name='frmNewPage'>" ;
			strHTML = strHTML + "<input type='hidden' name='hidPrevPage' value = '" + aPage3 + "'>";
			strHTML = strHTML + strHTMLCB;
			strHTML	= strHTML + strHTMLType; 
			strHTML = strHTML + strHTMLRole;
			strHTML = strHTML + "<input type='hidden' name='hidFirstLevel' value ='" + aSelectionFirst + "'>";
			strHTML = strHTML + "<input type='hidden' name='hidSecondLevel' value ='" + aSelectionSecond + "'>";
			strHTML = strHTML + "</form>";
		} else {
			strHTML = "<form action='" + serverPath + "html/"+ aPage2 + "' method='post' name='frmNewPage'>" ;
			strHTML = strHTML + "<input name='firstLevel' type='hidden' value='" + aSelectionFirst + "'>";
			strHTML = strHTML + "<input name='secondLevel' type='hidden' value='"+ aSelectionSecond + "'>";
			strHTML = strHTML + strHTMLRole;
			strHTML = strHTML + strHTMLCB;
			strHTML = strHTML + strHTMLType;
			strHTML = strHTML + "</form>";
		}
	}

	document.write(strHTML);
	document.frmNewPage.submit();
}

function changeTab(anId, aPage){
	document.forms[0].id.value = anId;
	goPlace(aPage);
}

function moveOn(value,objMov){
	val1 = objMov.value;
	
	if (objMov.id == 'hrs' ){
		if (value =='up' ) {
			if ( Math.abs(val1) == 23  ) {
				val1 = 0;
			} else {
				val1 = Math.abs(val1) + 1;
			}
		} else {
			if ( Math.abs(val1) == 0  ) {
				val1=23;
			} else {
				val1 = Math.abs(val1) - 1;
			}
		}
	} else if(( objMov.id == 'min' ) || ( objMov.id == 'sec' ) ) {
		if (value =='up' ){
			val1 = (Math.abs(val1)+1)%60;
		} else {
			val1 = (Math.abs(val1)-1)%61;
		}
		if ( val1== -1 ){
			val1=59
		}    
	}
	
	if (val1 < 10){
		val1 = '0'+val1;
	}

	objMov.value = val1
}

function clearAllFields(objaForm){
     var objForm = objaForm;   
     for(i=0;i<objForm.elements.length;i++){
          if(objForm.elements[i].type=="text" || objForm.elements[i].type=="textarea"){
               objForm.elements[i].value = "";
          }
          if(objForm.elements[i].type=="select-one"){
               objForm.elements[i].selectedIndex = 0;
          }
          if(objForm.elements[i].type=="checkbox"){
               objForm.elements[i].checked = false;
          }
          if(objForm.elements[i].type=="radio"){
               objForm.elements[i].checked = false;
          }
     }
}

var reAlphanumeric = /^[a-zA-Z0-9\#\/\*\.\,\s\á\é\í\ó\ú\Á\É\Í\Ó\Ú\ñ\Ñ\-\ \:\(\)\_]+$/
var reAlphabetic = /^[a-zA-Z\s\á\é\í\ó\ú\Á\É\Í\Ó\Ó\ñ\Ñ\*]+$/
var reNumeric = /^[0-9\.\-]+$/
var reAlphanumericEmail = /^[a-zA-Z0-9\-\@\.\(\)\_]+$/
var reWhitespace = /^\s+$/
var reDate = /^[0-9]{4,4}[\-\/][0-1][0-9][\-\/][0-3][0-9]$/
var reDateTime = /^[0-9\/\:\a\A\p\P\m\M]+$/
var DELETE_MESSAGE = "¿Está seguro que quiere borrar el registro?";
var NUMFROM = 0;
var NUMTO = 0;
			
function isAlphanumeric (s,field) {   
	var i;
	if (isEmpty(s)){ 
		if (isAlphanumeric.arguments.length == 1) {
			return true;
		} else {
			return (isAlphanumeric.arguments[1] == true);
		}
	}else if (field == "Email") {
		return reAlphanumericEmail.test(s)
	} else {
		return reAlphanumeric.test(s)
	}
}

function isWhitespace (s) {   // Is s empty?
	return (isEmpty(s) || reWhitespace.test(s));
}

function isEmpty(s) {
	return ((s == null) || (s.length == 0))
}

/** Unselect all options from a List */			
function unSelectAllOptions(aList) {
	for (var i=0; i<aList.options.length; i++) {
		aList.options[i].selected = false;
	}
}

/** Select a specific option from a Drop Down */
function selectOptionDropDown(objDropDown, saValue) {
	for (var i=0; i<objDropDown.options.length; i++) {
		slValue = objDropDown.options[i].value;
		if ( slValue == saValue) {
			objDropDown.options[i].selected = true;
			break;    
		}
	}
}

/** Disable a Specific Object in a Form */
function disableObject(aFrmObj, aValue) {
	aFrmObj.disabled = aValue;
}

var PIPE = "|";
var MANDATORY = "1";
var ALPHANUMERIC = "AN";
var ALPHABETIC = "A";
var NUMERIC = "N";
var EMAIL = "E";
var DATE_FMT = "D";
var DATETIME_FMT = "DT";
var NUMERICRANGE ="NR";
var MESSAGE_FILL_TEXT = "Por favor llene el campo ";
var MESSAGE_TYPE_VALID_TEXT = "Inserte un campo válido para ";
var MESSAGE_SELECT_VALID_OPTION = "Seleccione una opción para ";
var MESSAGE_ADD_VALID_OPTION = "Agrege una opción en ";
var MESSAGE_SELECT_CHECK = "Seleccione el campo ";

/** This function validates TextBoxes and DrpDowns */
// [0,1] | 
function validateFields(objaForm) {
	var objForm = objaForm;
	var blReturn = true;
	var CheckRadio = false;
  	for(i=0; i<objForm.elements.length; i++) {
		if (objForm.elements[i].type=="text" || objForm.elements[i].type=="textarea" || objForm.elements[i].type=="select-one" || objForm.elements[i].type=="checkbox" || objForm.elements[i].type=="radio" || objForm.elements[i].type=="select-multiple"){

			slRules = objForm.elements[i].lang;
			slValue = objForm.elements[i].value;
			arrRules = slRules.split("|");
			if( objForm.elements[i].type=="text" || objForm.elements[i].type=="textarea" ){
				if ( validateTextBox(arrRules, slValue) == false ) {
					objForm.elements[i].focus();
					blReturn = false;
					break;				
				}
			}
			if(objForm.elements[i].type=="select-one"){
				if ( validateDropDown(arrRules, slValue) == false ) {
					objForm.elements[i].focus();
					blReturn = false;
					break;		
				}
			}
			if(objForm.elements[i].type=="select-multiple"){
				slValue = objForm.elements[i].selectedIndex;
				if (arrRules[2]=="1" || arrRules[2]=="")
				{
					slLength = objForm.elements[i].options.length;
				}
				else
				{
					slLength = 0;			
				}
				if ( validateMultipleDropDown(arrRules, slValue, slLength) == false ) {
					objForm.elements[i].focus();
					blReturn = false;
					break;		
				}
			}
			if(objForm.elements[i].type=="checkbox"){
				if ( validateCheckBox(arrRules, objForm.elements[i].checked) == false ) {
					objForm.elements[i].focus();
					blReturn = false;
					break;
				}
			}
		}
	}

	if (blReturn)
		return validateRadios(objaForm);

	return blReturn;
}

function validateRadios(objaForm){

	var objForm = objaForm;
	var blReturn = true;

	var radios = 0;
	var last_radio = '';

	var names_radios = new Array();
	var checked_radios = new Array();
	var mandatory_radios = new Array();

	for(i=0; i<objForm.elements.length; i++){
		if (objForm.elements[i].type=="radio"){

			slRules = objForm.elements[i].lang;
			slValue = objForm.elements[i].value;
			arrRules = slRules.split("|");

			if (last_radio != objForm.elements[i].name){

				radios++;
				checked_radios[radios] = false;

				names_radios[radios] = arrRules[1];
				last_radio = objForm.elements[i].name;

				if (arrRules[0] == MANDATORY) mandatory_radios[radios] = true;
				else mandatory_radios[radios] = false;
			}

			for(j=0;j<objForm.elements.length; j++)
			{
				if ((objForm.elements[j].name == objForm.elements[i].name && objForm.elements[j].type=="radio") && (i!=j))
				{
					if (objForm.elements[j].checked || objForm.elements[i].checked)
						checked_radios[radios] = true;
				}
			}
		}
	}

	for (i=1; i<mandatory_radios.length; i++){
		if (mandatory_radios[i] && !checked_radios[i]){
			blReturn = false;
			alert(MESSAGE_SELECT_CHECK + names_radios[i]);
			break;
		}
	}

	return blReturn;
}

function validateCheckBox(aArrRules, aValue){
	slMandatory = aArrRules[0];
	slLabel = aArrRules[1];
	slType = aArrRules[2];	
	blReturn = true;

	if (slMandatory == MANDATORY ) {
		if (aValue == false)  {
			blReturn = false;
			alert( MESSAGE_SELECT_CHECK + slLabel);
		}
	}

	return blReturn;
}

function validateTextBox(aArrRules, aValue) {
	slMandatory = aArrRules[0];
	slLabel = aArrRules[1];
	slType = aArrRules[2];
	if (slType == NUMERICRANGE) {	
		NUMFROM = aArrRules[3];
		NUMTO = aArrRules[4];
		NUMTO++;
		NUMTO--;		
	}
	blReturn = true;
	
	if ( slMandatory == MANDATORY ) {
		if ( isWhitespace(aValue) == true ) {
			alert( MESSAGE_FILL_TEXT + slLabel);
			blReturn = false;
		} else {
			if ( !validType(slType, aValue) ) {
				alert( MESSAGE_TYPE_VALID_TEXT + slLabel);
				blReturn = false;	
			}
		}
	} else {
		if ( !isWhitespace(aValue) == true ) {
			if ( !validType(slType, aValue) ) {
				alert( MESSAGE_TYPE_VALID_TEXT + slLabel);
				blReturn = false;	
			}
		}
	}
	
	return blReturn;	
}

function validType(aType, aValue) {
	var blReturn = true;
	//alert("Entre a valid type");
	if ( aType == ALPHANUMERIC ) {
		blReturn =  reAlphanumeric.test(aValue);
	} else if ( aType == ALPHABETIC ) {
		blReturn =  reAlphabetic.test(aValue);
	} else if ( aType == NUMERIC ) {
		blReturn =  reNumeric.test(aValue);
	} else if ( aType == NUMERICRANGE ) {
	    if (reNumeric.test(aValue)){	    
    	    //alert("NUMFROM_validt: "+NUMFROM+"  NUMTO_validt: "+NUMTO);
    	    if ((aValue >= NUMFROM) && (aValue <= NUMTO))
    	      blReturn = true;    	          	
    	    else 
    	      blReturn = false;    	        	      
		} else blReturn = false;
		
	} else if ( aType == EMAIL ) {
		blReturn =  reAlphanumericEmail.test(aValue);
	} else if ( aType == DATE_FMT ) {
		blReturn =  reDate.test(aValue);
	} else if ( aType == DATETIME_FMT ) {
		blReturn =  reDateTime.test(aValue);
	}
	
	return blReturn;
}

function validateDropDown(aArrRules, aValue) {
	slMandatory = aArrRules[0];
	slLabel = aArrRules[1];
	blReturn = true;
	
	if ( slMandatory == MANDATORY ) {
		if ( aValue == "0" || aValue == "-1" ) {
			alert( MESSAGE_SELECT_VALID_OPTION + slLabel);
			blReturn = false;	
		}
	}
	
	return blReturn;
}

function validateMultipleDropDown(aArrRules, aValue, aLength) {
	slMandatory = aArrRules[0];
	slLabel = aArrRules[1];
	slType = aArrRules[2];
	blReturn = true;

	if ( slMandatory == MANDATORY )
	{
		if (slType=="" && aLength==0)
		{
			if ( aValue == "-1" )
			{
				alert( MESSAGE_ADD_VALID_OPTION + slLabel);
				blReturn = false;
			}
		}
		else if (slType=="" && aLength!=0)
		{
			if ( aValue == "-1" )
			{
				alert( MESSAGE_SELECT_VALID_OPTION + slLabel);
				blReturn = false;
			}
		}
		if (slType=="1" && aLength==0)
		{
			if ( aValue == "-1" )
			{
				alert( MESSAGE_ADD_VALID_OPTION + slLabel);
				blReturn = false;
			}
		}
		if (slType=="2")
		{
			if ( aValue == "-1" )
			{
				alert( MESSAGE_SELECT_VALID_OPTION + slLabel);
				blReturn = false;
			}
		}
	}
	return blReturn;
}

function changeMandatoryRule(aObject, aNewValue) {
	aRules = aObject.ILSValidation;
	arrRules = aRules.split(PIPE);
	newRule = aNewValue + PIPE + arrRules[1] + PIPE + arrRules[2];
	aObject.ILSValidation = newRule;
}

function checkedRecodsToDelete(objaForm) {
	var objForm = objaForm;
	var sRecIDs = "";
	var iSelRecords = 0;
	for(i=0;i<objForm.elements.length;i++){
		if (objForm.elements[i].type=="checkbox") {
			if ( objForm.elements[i].name == "chkDelete" ) {
				if ( objForm.elements[i].checked == true ) {
					if ( iSelRecords == 0 ) {
						sRecIDs = objForm.elements[i].value;
					} else {
						sRecIDs = sRecIDs + "|" + objForm.elements[i].value;
					}
					iSelRecords = iSelRecords + 1;
				}
			}
        }
	}
	
	return sRecIDs;
}

function textarea_maxlength(e, obj, max){

	if (obj.value.length >= max){
		if (document.all)
			window.event.returnValue = false;
		else
			e.preventDefault();
	} else
		return true;
}

<!--End Scripts-->