/* author: pgarcia@gtechai.com */
/* Creation date: 08/03/2006 */
/* Modified to accept US formatted date types*/

var phase = "";
var formCount=0;
var xmlHttp;

function validateZIP(obj) {
	field = obj.value;
	var valid = "0123456789-";
	var hyphencount = 0;
	
	if (field.length!=5 && field.length!=10) {
		alert("You must enter a 5 digit or 5 digit+4 zip code.");
		highlight(obj);
		return false;
	}
	for (var i=0; i < field.length; i++) {
		temp = "" + field.substring(i, i+1);
		if (temp == "-") hyphencount++;
		
		if (valid.indexOf(temp) == "-1") {
			alert("Invalid characters in your zip code.  Please try again.");
			highlight(obj);
			return false;
		}
		
		if ((hyphencount == 1) && (field.length < 6)) {
			highlight(obj);
			alert("The hyphen character should be used with a properly formatted 5 digit+four zip code, like '12345-6789'.   Please try again.");
		return false;
		}
		
		if ((hyphencount > 1) || ((field.length==10) && ""+field.charAt(5)!="-")) {
			highlight(obj);
			alert("The hyphen character should be used with a properly formatted 5 digit+four zip code, like '12345-6789'.   Please try again.");
		return false;
	   }
	}
	return true;
}

function highlight(obj){
	obj.style.background = "#FF6666";
	obj.select();
	obj.focus();
}

function check_date(field)
{
	var checkstr = "0123456789";
	var DateField = field;
	var Datevalue = "";
	var DateTemp = "";
	var seperator = "/";
	var day;
	var month;
	var year;
	var leap = 0;
	var err = 0;
	var i;
   	err = 0;
   	DateValue = DateField.value;
  	 /* Delete all chars except 0..9 */
   	for (i = 0; i < DateValue.length; i++) {
	  if (checkstr.indexOf(DateValue.substr(i,1)) >= 0) {
	     DateTemp = DateTemp + DateValue.substr(i,1);
	  }
   }
   DateValue = DateTemp;
   /* Always change date to 8 digits - string*/
   /* if year is entered as 2-digit / always assume 20xx */
   if (DateValue.length == 6) {
      DateValue = DateValue.substr(0,4) + '20' + DateValue.substr(4,2); }
   if (DateValue.length != 8) { err = 19;}
   /* year is wrong if year = 0000 */
   year = DateValue.substr(4,4);
   if (year == 0) { err = 20; }
   /* Validation of month*/
   month = DateValue.substr(0,2);
   if ((month < 1) || (month > 12)) { err = 21; }
   /* Validation of day*/
   day = DateValue.substr(2,2);
   if (day < 1) { err = 22; }
   /* Validation leap-year / february / day */
   if ((year % 4 == 0) || (year % 100 == 0) || (year % 400 == 0)) { leap = 1; }
   if ((month == 2) && (leap == 1) && (day > 29)) { err = 23; }
   if ((month == 2) && (leap != 1) && (day > 28)) { err = 24; }
   /* Validation of other months */
   if ((day > 31) && ((month == "01") || (month == "03") || (month == "05") || 
   (month == "07") || (month == "08") || (month == "10") || (month == "12"))) { err = 25; }
   if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11"))) { err = 26; }
   /* if 00 ist entered, no error, deleting the entry */
   if ((day == 0) && (month == 0) && (year == 00)) { err = 0; day = ""; month = ""; year = ""; seperator = ""; }
   /* if no error, write the completed date to Input-Field (e.g. 13.12.2001) */
   if (err == 0) { DateField.value = month + seperator + day + seperator + year; }
   /* Error-message if err != 0 */
   else {
      alert("The date must be entered in the following format:\n   MMDDYYYY \n or MM/DD/YYYY \n or MM-DD-YYYY");
      highlight(DateField);
   }
}


function confirmDelete(request) 
{
	var cVal = request;
	if (confirm("Are you sure you want to "+cVal+"? \n This record will be permanently destroyed")) {
	document.location = cVal;
	}
	else{return false;
	}
}
	
function confirmTrans(request) 
{
	var cVal = request;
	if (confirm("Are you sure you want to "+cVal+" this record to the Employee database? \n This record will be permanently moved from the Status Monitor")) 
	{
		document.Form1.submit();
	}
	else
	{
		//window.alert("Cancel");
		history.go(-1);
	}
}

//------------------------------------------------------------------------------------------------
//FORM1 VALIDATION
//------------------------------------------------------------------------------------------------
function validate(element)
{
	if(SSNValidate(element)==false || validateForm()==false){return false};
	//document.Form1.submit();
	//doTab(3);
}
	
//Form1 entries validation
function validateForm(obj)
{
	var x=document.forms.Form1;
	if (obj)
	{
		formname=obj.name;
		x=eval("document.forms."+formname);
	}
	//var datechecked=true;
	for (var e = 0; e < 14; ++e)
	{
		if(e==1){}
		else
		{
			if ( (x[e].value =="") ) 
			{
				//alert(x[e].name);
				x[e].style.background = "#FF6666";
				alert ("You must complete ALL fields except indicated otherwise ");
				x[e].focus();
				return false;
			}
		}	
	} //for
	
	if (x.DOBSelectMonth.value == "00")
	{
		alert ("You must complete ALL fields except indicated otherwise ");
		x.DOBSelectMonth.style.background = "#FF6666";
		x.DOBSelectMonth.focus();
		return false;
	}
	if (x.DOBSelectDay.value == "0")
	{
		alert ("You must complete ALL fields except indicated otherwise ");
		x.DOBSelectDay.style.background = "#FF6666";
		x.DOBSelectDay.focus();
		return false;
	}
	if (x.DOBSelectYear.value == "0000")
	{
		alert ("You must complete ALL fields except indicated otherwise ");
		x.DOBSelectYear.style.background = "#FF6666";
		x.DOBSelectYear.focus();
		return false;
	}
	if (x.dlicense.value == "")
	{
		alert ("You must complete ALL fields except indicated otherwise ");
		x.dlicense.style.background = "#FF6666";
		x.dlicense.focus();
		return false;
	}
	if (x.dlclass.value == "")
	{
		alert ("You must complete ALL fields except indicated otherwise ");
		x.dlclass.style.background = "#FF6666";
		x.dlclass.focus();
		return false;
	}
	if (x.dlstate.value == "select")
	{
		alert ("You must complete ALL fields except indicated otherwise ");
		x.dlstate.style.background = "#FF6666";
		x.dlstate.focus();
		return false;
	}
	if (x.expSelectMonth.value == "00")
	{
		alert ("You must complete ALL fields except indicated otherwise ");
		x.expSelectMonth.style.background = "#FF6666";
		x.expSelectMonth.focus();
		return false;
	}
	if (x.expSelectDay.value == "0")
	{
		alert ("You must complete ALL fields except indicated otherwise ");
		x.expSelectDay.style.background = "#FF6666";
		x.expSelectDay.focus();
		return false;
	}
	if (x.expSelectYear.value == "0000")
	{
		alert ("You must complete ALL fields except indicated otherwise");
		x.expSelectYear.style.background = "#FF6666";
		x.expSelectYear.focus();
		return false;
	}
	if (x.ee_gender.value == "select")
	{
		alert ("You must complete ALL fields except indicated otherwise ");
		x.ee_gender.style.background = "#FF6666";
		x.ee_gender.focus();
		return false;
	}
	if (x.location.value == "0")
	{
		alert ("You must complete ALL fields except indicated otherwise  ");
		x.location.style.background = "#FF6666";
		x.location.focus();
		return false;
	}
	return true;
}
	
function secondValidateForm(element,m, n)
{
	
	if(SSNValidate(element)==false || validateForm()==false){return false};
	if (document.Form1.bStatus.value == 1){
			
		var x=document.forms.Form1
		for (var e = m; e < n; ++e){
			if(e==19 || e==20 || e==21 || e==22 || 2==23 ||e==24){}
			else if (isNaN(parseInt(x[e].value))) {
			x[e].style.background = "#FF6666";
			x[e].focus();
			window.alert ("You must complete all compulsory fields\n...those with the red asterik");
			return false
			}
		}//end for
		document.Form1.submit();	
	}//end outer if --validate
	else {document.Form1.submit();}
	
}//end function
		
		
function SSNValidate(obj) 
{
	var ssn = obj.value;
	var ssnObj = obj;
	var matchArr = ssn.match(/^(\d{3})-?\d{2}-?\d{4}$/);
	var numDashes = ssn.split('-').length-1;
	if (matchArr == null || numDashes == 1) {
		ssnObj.style.background = "#FF6666";
		ssnObj.focus();
		alert('Invalid SSN. Must be 9 digits or in the form NNN-NN-NNNN.');
		
		return false;
	}
	if (parseInt(matchArr[1],10)==0) {
		ssnObj.style.background = "#FF6666";
		ssnObj.focus();
		alert("Invalid SSN: SSN's can't start with 000.");
		msg = "does not appear to be valid";
		return false;
	}
	return true;
}	
	
	
//Upper case initial character only
function PCase(STRING)
{
	var strReturn_Value = "";
	var iTemp = STRING.length;
	if(iTemp==0){
		return"";
	}
	var UcaseNext = false;
	strReturn_Value += STRING.charAt(0).toUpperCase();
	for(var iCounter=1;iCounter < iTemp;iCounter++)
	{
		if(UcaseNext == true)
		{
			strReturn_Value += STRING.charAt(iCounter).toUpperCase();
		}
		else
		{
			strReturn_Value += STRING.charAt(iCounter).toLowerCase();
		}
		var iChar = STRING.charCodeAt(iCounter);
		if(iChar == 32 || iChar == 45 || iChar == 46)
		{
			UcaseNext = true;
		}
		else
		{
			UcaseNext = false
		}
		if(iChar == 99 || iChar == 67)
		{
			if(STRING.charCodeAt(iCounter-1)==77 || STRING.charCodeAt(iCounter-1)==109)
			{
				UcaseNext = true;
			}
		}				
	} //End For	
	return strReturn_Value;
} //End Function	
	
	
function licenseCheck(STRING)
{
	var oldLicense = STRING;
	var newLicense = oldLicense.replace(/[^A-Z,a-z,0-9]/g,"");
	return newLicense.toUpperCase();
}


function numberCheck(STRING)
{
	var oldValue = STRING;
	var newValue = oldValue.replace(/[^0-9]/g,"");
	return newValue;
}

function clientmilesCheck(STRING)
{
	var oldValue = STRING;
	if (!(isNumeric(STRING)))
	{
		var NA = "NA";
		return NA;
	}
	return oldValue;
}

function militaryTimeCheck(STRING)
{
	var militarytime = STRING;
	var newMilitaryTime = "";
	var noColonCheck = militarytime.replace(/[0-9]/g,"");
		
	if (noColonCheck == "")
	{
		if (militarytime.length == 3)
		{
			newMilitaryTime = "0" + militarytime.substring(0,1) + ":" + militarytime.substring(1,3);
		}
		else if (militarytime.length == 4)
		{
			newMilitaryTime = militarytime.substring(0,2) + ":" + militarytime.substring(2,4);
		}
		else
		{
			alert("Invalid Military Time Format (No more than 4 digits)");
			return "";
		}
	}
	else if (noColonCheck == ":")
	{
		if (militaryTime.length == 4)
		{
			newMilitaryTime = "0" + militarytime;	
		}
	}
	else
	{
		alert("Invalid Military Time Format (Only numbers and colon)");
		return "";
	}
	
	militarytime = newMilitaryTime;
	var militarytimeMatchArray = militarytime.match(/^(\d{2}):?\d{2}$/);
	var timepartArray = militarytime.split(":");
	
	
	if ((militarytimeMatchArray == null))
	{
		alert("Invalid Military Time Format");
		return "";
	}
	var hourCheck = parseInt(timepartArray[0]);
	var minuteCheck = parseInt(timepartArray[1]);
	if ((hourCheck < 0) || (hourCheck> 23))
	{
		alert("Invalid Hour");
		return "";
	}
	if ((minuteCheck < 0) || (minuteCheck > 59))
	{
		alert("Invalid Minutes");
		return "";
	}
	
	return militarytime;
}


// check if the value is number or not
function isNumeric(sText) 
{
   var ValidChars = "0123456789";
   var IsNumber = true;
   var Char;
   for (i = 0; i < sText.length; i++) {
       Char = sText.charAt(i);
       if (ValidChars.indexOf(Char) == -1) {
          return false;
       }
    }
   return IsNumber;
}

//------------------------------------------------------------------------------------------
// TAB MANAGER MODULE
//------------------------------------------------------------------------------------------
var Tab = { cur:0 };

function initab( classname ) 
{
 var tabs = [], divs = [], texts = [], f, g, h, i = 0, j = 0, k, o,
  d = document, a = d.getElementsByTagName('h3'),
  b = d.createElement('div'), c = d.createElement('a'),
  n = function(h) { while((h = h.nextSibling)) {
   if( /div/i.test( h.tagName ) || '' ) { return h; }
   return null; }
  },
  y = function() { return false; },
  z=function(e) { e = e || window.event || {}; var t;
   if( e.keyCode===37 &&
    ( ( t = this.previousSibling ) || ( t = this.parentNode.lastChild ) )
    || e.keyCode===39 &&
    ( ( t = this.nextSibling ) || ( t = this.parentNode.firstChild ) ) ) {
     if( /a/i.test( t.tagName ) ) { t.focus(); e.returnValue = false; }
     return false;
   }
  };
 c.className = 'tab0'; c.hideFocus = true;
 while( i < a.length ) { h = a[i];
   if( new RegExp( '\\b' + classname + '\\b' ).test( h.className ) &&
    ( g = n(h) ) ) {
     k = h.firstChild && h.firstChild.nodeValue;
     o = c.cloneNode(true); o.href = '?' + ( j + 1 );
     o.appendChild( d.createTextNode( k || c || 'Tab' ) );
     o.onfocus = new Function( 'return doTab(' + j + ')' );
     o.onclick = y;
     o.onkeydown = z;
     g.className = 'slab0'; h.className = 'slab0';
     b.appendChild(o); tabs[j] = o; divs[j] = g; texts[j] = k;
     if(!f) { f = h; } j++;
   }
   i++;
 }
 f.parentNode.insertBefore( b, f );
 Tab.tabs = tabs; Tab.divs = divs; Tab.texts = texts; i = 0;
 if( window.location.search ) {
  j = parseInt( window.location.search.substring(1) ) - 1;
  if( tabs[j] ) { i = j; }
 }
 doTab(i);
}


function doTab(i) {
  Tab.tabs[Tab.cur].className = 'tab0';
  Tab.divs[Tab.cur].className = 'slab0';
  Tab.cur=i;
  Tab.tabs[i].className = 'tab1';
  Tab.divs[i].className = 'slab1';
  return false;
}
// END TAB MANAGER
//------------------------------------------------------------------------------------------

function changecss(selector,property,value) {
 var i, r, s=document.styleSheets && document.styleSheets[1]; if(s) {
  r = s.rules ? s.rules : s.cssRules; if(r) {
   i = r.length; while (i--) {
    if( r[i].selectorText===selector ) {
     r[i].style[property] = value; return true;
    }
   }
  }
  return s.addRule( selector, property+':'+value+';' );
 }
}


function getRadioValue(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 setRadioValue(radioObj, newValue) {
	if(!radioObj)
		return;
	var radioLength = radioObj.length;
	if(radioLength == undefined) {
		radioObj.checked = (radioObj.value == newValue.toString());
		return;
	}
	for(var i = 0; i < radioLength; i++) {
		radioObj[i].checked = false;
		if(radioObj[i].value == newValue.toString()) {
			radioObj[i].checked = true;
		}
	}
}

//-----------------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------------
// Cookies handling routines
//-----------------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------------
var nameArray= new Array("fName","mName","lName","address","city","state","zipCode","phone","phone2","ssn","status","exemption","dlicense","dlclass","dob","dlexp","dlstate","location","ee_gender");

//nameArray[0] -> fName
//nameArray[1] -> mName
//nameArray[2] -> lName
//nameArray[3] -> address
//nameArray[4] -> city
//nameArray[5] -> state
//nameArray[6] -> zipCode
//nameArray[7] -> phone
//nameArrya[8] -> phone2
//nameArray[9] -> ssn
//nameArray[10] -> status (married, single)
//nameArray[17] -> location

function setForm1Cookie(){
	var y = document.Form1.DOBSelectYear;
	yyyy = y.options[y.selectedIndex].value;
	var m = document.Form1.DOBSelectMonth;
	mm = m.options[m.selectedIndex].value;
	var d = document.Form1.DOBSelectDay;
	dd = d.selectedIndex;	
	
	if (dd < 10) {
	 dd= "0"+dd;	
	}
	
	
	var dob = mm+"/"+dd+"/"+yyyy;
	document.Form1.dob.value=dob;

	var y2 = document.Form1.expSelectYear;
	yyyy2 = y2.options[y2.selectedIndex].value;
	var m2 = document.Form1.expSelectMonth;
	mm2 = m2.options[m2.selectedIndex].value;
	var d2 = document.Form1.expSelectDay;
	dd2 = d2.selectedIndex;	
	
	if (dd2 < 10) {
	 dd2= "0"+dd2;	
	}
	var dlexp = mm2+"/"+dd2+"/"+yyyy2;
	document.Form1.dlexp.value=dlexp;
	string ="";
	
	for (i=0; i < nameArray.length; i++)
	{
		obj=nameArray[i];
		s=eval("document.Form1."+obj+".value");		
		/*
		if (i>=16 && i<=20)
		{
			s=eval("document.Form1."+obj+".checked");
			//alert(s);
			if (s)
			{
				s = 1;	
			}
			else
			{
				s = 0;
			}
			//alert(i+"="+s);
		}
		*/
		string = string+s+"^";
		
	}
	string = string + dob;
	document.cookie = "fData=" + escape(string) +"; expires=15/02/2008 00:00:00";
	//writeCookiesToForm2();
	phase = 2;
}

function getForm1Cookie(){
	var ck="fData";
	var r = document.cookie.match ( ck + '=(.*?)(;|$)' );
	var p = unescape ( r[1] ); // here we retrieve the record using the 'uescape' method
	var values = p.split("^"); // split using our delimiter established in our Set method
		//for (i = 1; i < values.length; i++){ //we skip the first Indexed value which has ben set to NULL by setMyCookie()
		//alert(values[i]);	
		//}
		return values;
	}
	
function deleteForm1Cookie () {
	string ="";
	document.cookie = "fData=" + escape(string) +"; expires=15/02/2005 00:00:00";
}

	
function writeCookiesToForm2(){
	var nv = getForm1Cookie();
	//var nameArray= new Array("fName","mName","lName","address","city","state","zipCode","phone","ssn","status","dlicense","dclass","dstate");
	for (n = 0; n < nameArray.length; n++){
		//alert(document.Form2.elements[n].name);
		var obj = eval("document.Form3."+nameArray[n]);
		alert(document.Form3.elements[n].name);
		obj.value = nv[n];
	}	
}

//--------------------------------------------------------------------------------------------------------

function moveTo(num){
		if (phase=="")
		{
			if (validate(Form1.ssn)==false){return false;};
			phase=1;
		}
			
		if ((num==2) && (!phase=="")){
			setForm1Cookie();
			doTab(num);
			enableElements(4, 0, 100); // enable all elements on Form4
			resetBg(1);
			}
		if ((num==3) && (!phase=="")){
			if (checkDrivingForms() == false){
				return false;
			}	
			else{
				enableElements(2, 0, 30); // enable elements on Form2
				doTab(num);
			}					
		}
	}
	
//--------------------------------------------------------------------------------------------
// VISUAL EFFECTS
//--------------------------------------------------------------------------------------------
function resetBg(sfx){
	objE = eval("document.forms.Form" + sfx + ".elements");
  		for(i = 0 ; i < objE.length-3 ;i++){
    		//objElems[i].disabled = true;
			objE[i].style.background = 'white';
  		}
	
}
	
function disableElements(sfx,FirstElement,LastElement){
  	objElems = eval("document.forms.Form" + sfx + ".elements");
  		for(i = FirstElement ; i < LastElement ;i++){
    		objElems[i].disabled = true;
			//objElems[i].style.background = 'LightGrey';
  		}
}

function enableElements(sfx,FirstElement,LastElement){
		objElems = eval("document.forms.Form" + sfx + ".elements");
  		//objElems = document.forms.formName.elements;
  	for(i = FirstElement ; i < LastElement ;i++){
    		objElems[i].disabled = false;
			objElems[i].style.background = 'white';
  	}
}

function disableSpecificElement(sfx,elementName)
{
	objElement = eval("document.forms.Form" + sfx + "." + elementName);
	objElement.disabled = true;
	//objElement.readOnly = true;
	objElement.style.background = 'whitesmoke';
}

function enableSpecificElement(sfx, elementName)
{
	objElement = eval("document.forms.Form" + sfx + "." + elementName);
	objElement.disabled = false;
	objElement.style.background = 'white';
}

function readOnlyElement(sfx,elementName)
{
	objElement = eval("document.forms.Form" + sfx + "." + elementName);
	//objElement.disabled = true;
	objElement.readOnly = true;	
	objElement.style.background = 'whitesmoke';
}

function disableButton(formName, buttonName)
{
	buttonElement = eval("document.forms." + formName + "." + buttonName);
	buttonElement.disabled = true;
}

//-----------------------------------------------------------------------------------------
// PHONE AND SSN FORMATTING
//------------------------------------------------------------------------------------------
var n;
var p;
var p1;
var q;
var s;
var s1;
var formObj;

function ValidatePhone(){
	p=p1.value
	if(p.length==3){
		pp=p;
		d4=p.indexOf('(')
		d5=p.indexOf(')')
		if(d4==-1){	pp="("+pp;}
		if(d5==-1){	pp=pp+")";}
		formObj.value="";
		formObj.value=pp;
	}
	if(p.length>3){
		d1=p.indexOf('(')
		d2=p.indexOf(')')
		if (d2==-1){
			l30=p.length;
			p30=p.substring(0,4);
			p30=p30+")";
			p31=p.substring(4,l30);
			pp=p30+p31;
			formObj.value="";
			formObj.value=pp;
		}
		}
	if(p.length>5){
		p11=p.substring(d1+1,d2);
		if(p11.length>3){
		p12=p11;
		l12=p12.length;
		l15=p.length;
		p13=p11.substring(0,3);
		p14=p11.substring(3,l12);
		p15=p.substring(d2+1,l15);
		formObj.value="";
		pp="("+p13+")"+p14+p15;
		formObj.value=pp;
		}
		l16=p.length;
		p16=p.substring(d2+1,l16);
		l17=p16.length;
		if(l17>3&&p16.indexOf('-')==-1){
			p17=p.substring(d2+1,d2+4);
			p18=p.substring(d2+4,l16);
			p19=p.substring(0,d2+1);
		pp=p19+p17+"-"+p18;
		//document.Form1.phone.value="";
		//document.Form1.phone.value=pp;
		formObj.value="";
		formObj.value=pp;
	}
}
setTimeout(ValidatePhone,200) //this is key to the operation of the Formatting sequence
}

function getPhone(f, m){
	form = f.name;
	n=m.name;
	formObj = eval("document.forms."+form+"."+n);
	//alert(obj);	
	//obj.value="Test";
	n=m.name;
	
	p1=m
	ValidatePhone()
}
	
function isPhoneNum(obj){
	p=obj.value
	p=p.replace("(","")
	p=p.replace(")","")
	p=p.replace("-","")
	p=p.replace("-","")
	if (isNaN(p)==true){
	alert("Please check your Phone Number.");
	obj.focus();
	return false;
	}
}
// END PHONE VALIDATION
//----------------------------------------------------------------------------------------------
function formatSSN(){
	s = s1.value
	//alert(s);
	if (s.length ==3){
		s = s + "-";
		s1.value ="";
		s1.value = s;
		}
	if (s.length == 6){
		for (i=4; i<s.length; i++){
			ch = s.charAt(i);
			if (ch =="-"){
				s = s.substring(0, i-1);
			}
		}
		s = s + "-";
		s1.value ="";
		s1.value = s;
		}
	
	setTimeout(formatSSN,200);
	
	}


function getSSN(m){
	//q=m.name;
	s1=m;
	formatSSN()
}

// END OF SSN FORMATTING
//----------------------------------------------------------------------------------------------------

function getAppForm(v){
	loc = v.value;
	//alert(loc);
	location="careers2A.php?reg="+loc;
	//document.Form0.fName.value = "Texas";
}

//Verify all forms A2-A6 were clicked before regirstration
function gotoApplicationForm()
{
	enableElements(0,0,getTotalNumElements('Form0')-2);
	doTabx(1);
} //function gotoApplicationForm()

// Survey questions verification
function preScreenTest(loc){
	l= loc.value;
	var errMsg = "Sorry, you do not meet the minimum requirements";
	var q = 0;
	for (i=1; i < 11; i++){

		var obj = eval("document.forms.appsurvey.q"+i);
		v = getRadioValue(obj);
		
		//alert(v);
		if (i < 3) {if((v =="no") || (v=="") ){ q = q +1}}
		
		//------------------------------------------------------------------------------------------
		// add the code below if partial allowance is being made for non felony charges
		//	if (i==3){
		//		if((v =="yes") || (v=="") ){
		//			r = prompt("Are any Drug or Alcohol charges for felony offences? Answer:Yes or No","");
		//			if (r=="no"){}
		//			else
		//			{ q = q +1}
		//		}
		//	}
		//--------------------------------------------------------------------------------------------
		
		if ((i > 2) && (i < 9)){if((v =="yes") || (v=="")){ q = q +1}}
		
		if (i > 8) {if((v =="no") || (v=="") ){ q = q +1}}
	}
	if (q > 0){ alert(errMsg)}
	else {
		location="careers2.php?region="+l; //location="careers2.php?reg="+val.value;

	}
	
}

// return total number of elements in the given form
function getTotalNumElements(obj)
{
	nE = eval("document.forms." + obj + ".elements");
	return nE.length;	
}

function enableForm0()
{
	enableElements(0,0,getTotalNumElements('Form0')-2);
	doTabx(1);
}

function disableForm0()
{
	disableElements(0,0,getTotalNumElements('Form0')-2);
}

function disableForm3()
{
	disableElements(3,0,getTotalNumElements('Form3')-2);
}


function resetInternetAppFormConfirm()
{
	return confirm("Are you sure to reset Applicant Form?");	
}

////////////////////////////////////////////////////////////////////////////////////////

//Trip Form Operation
// form name: closetripform

//calculate WTMS Miles = ArriveOdometer - DepartOdometer
// departodometer, arriveodometer, WTMSMiles
function setWTMSMiles()
{
	var arriveodometer = document.closetripform.arriveodometer.value;
	if (!(isNumeric(arriveodometer)))
	{
		arriveodometer = 0;
	}
	var departodometer = document.closetripform.departodometer.value;
	if (!(isNumeric(departodometer)))
	{
		departodometer = 0;
	}
	var difference = arriveodometer - departodometer;
	
	document.closetripform.WTMSMiles.value = difference;	
}

// differenceMiles, clientMiles, WTMSMiles
function setDifferences()
{
	var WTMSMiles = document.closetripform.WTMSMiles.value;
	if (!(isNumeric(WTMSMiles)))
	{
		WTMSMiles = 0;
	}
	
	var ClientMiles = document.closetripform.clientMiles.value;
	if (!(isNumeric(ClientMiles)))
	{
		ClientMiles = WTMSMiles;
	}
	
	var difference = WTMSMiles - ClientMiles;
	
	document.closetripform.differenceMiles.value = difference;
	
}

////////////////////////////////////////////////////////////////////////////////////////

// Function to check against database to avoid SSN duplication
function checkDuplicateSSN(obj)
{
	var ssnToCheck = obj.value;
	var ssnElement = obj;
	
	// no check against empty value
	if (ssnToCheck == "")
	{
		return;	
	}
	
	// create http request
	req = false;
	try 
	{
    	req = new XMLHttpRequest();
  	} 
	catch (trymicrosoft) 
	{
    	req = new ActiveXObject("Msxml2.XMLHTTP");
    }
	
	var dummyTime = new Date().getTime();
	var targetURL = "checkApplicantBySSN.php?ssn=" + escape(ssnToCheck) + "&dummy=" + dummyTime;
	req.open('GET', targetURL, false);
	req.onreadystatechange = function() {verifyDuplicateSSN(obj)};
	req.send(null);
}

function verifyDuplicateSSN(obj)
{
	if (req.readystate == 4)
		{
			if (req.status == 200)
			{
				var response = req.responseText;
				//alert ("success http status and response = " + response);
				if (response == 0)
				{
					//document.Form0.ssn.focus();
					//document.Form0.ssn.value = "";
					
					//var ssnObj = eval("document."+ssnObject);
					obj.focus();
					obj.value = "";
					// check if the form is Internal or External and display error message accordingly
					if (obj.form.name == "Form0")
					{
						alert("The SSN you entered indicate that we have an application for you in our system.  If you are sure that you never applied before, please send an email with your contact information to Employee.services@railcrewxpress.com \nDo not email your SSN");
						var sendUsEmail = confirm("Please send us your Name, Address, Date of Birth and Telephone Number.  Do not include your SSN.");
						if (sendUsEmail)
						{
							location.href = "mailto:Employee.services@railcrewxpress.com?subject=Potential%20Duplicate%20Application";	
						}
					}
					else
					{
						alert("The SSN you entered indicate that we have an application in our system.");
						//document.forms.Form1.ssnErrorText.text="Duplicated SSN";
					}
					//history.go(-1);
					//window.location.href = "";
				}
				else
				{
					//alert("why?");
				}
			}
			else
			{
				alert("Unsuccessful HTTP Status Code");
			}
		}
		else
		{
			//alert("State not ready");
		}	
}

////////////////////////////////////////////////////////////////////////////////////////

function checkDuplicateControl(obj)
{
	var controlElement = obj;
	var controlValue = obj.value;
	
	// no check against empty value
	if (controlValue == "")
	{
		return;
	}
	
	//make request object
	var req = createRequest();
	
	var dummyTime = new Date().getTime();
	var targetURL = "checkTripByControl.php?control=" + escape(controlValue) + "&dummy=" + dummyTime;
	req.open('GET', targetURL, false);
	req.onreadystatechange = function() {verifyDuplicateControl(obj)};
	req.send(null);
}

function verifyDuplicateControl(obj)
{
	if (req.readystate == 4)
	{
		if (req.status == 200)
		{
			var response = req.responseText;
			//alert ("success http status and response = " + response);
			if (response == 0)
			{
				//document.Form0.ssn.focus();
				//document.Form0.ssn.value = "";
					
				//var ssnObj = eval("document."+ssnObject);
				obj.focus();
				obj.value = "";
				// check if the form is Internal or External and display error message accordingly

				javascript:alert("The Control# you entered indicate that we have the form in the system already.  If you are sure that you never used this Control# before, please send an email with your contact information to amsadmin@railcrewxpress.com \n");
			}
			else
			{
				//alert("why?");
			}
		}
		else
		{
			alert("Unsuccessful HTTP Status Code");
		}
	}
	else
	{
		//alert("State not ready");
	}	
}


function checkDuplicateTrip(obj)
{
	var tripElement = obj;
	var tripValue = obj.value;
	
	// no check against empty value
	if (tripValue == "")
	{
		return;
	}
	
	//make request object
	var req = createRequest();
	
	var dummyTime = new Date().getTime();
	var targetURL = "checkTripByTrip.php?trip=" + escape(tripValue) + "&dummy=" + dummyTime;
	req.open('GET', targetURL, false);
	req.onreadystatechange = function() {verifyDuplicateTrip(obj)};
	req.send(null);
}


function verifyDuplicateTrip(obj)
{
	if (req.readystate == 4)
	{
		if (req.status == 200)
		{
			var response = req.responseText;
			//alert ("success http status and response = " + response);
			if (response == 0)
			{
				//document.Form0.ssn.focus();
				//document.Form0.ssn.value = "";
					
				//var ssnObj = eval("document."+ssnObject);
				obj.focus();
				obj.value = "";
				// check if the form is Internal or External and display error message accordingly

				javascript:alert("The Trip# you entered indicate that we have the form in the system already.  If you are sure that you never used this Trip# before, please send an email with your contact information to amsadmin@railcrewxpress.com \n");
			}
			else
			{
				//alert("why?");
			}
		}
		else
		{
			alert("Unsuccessful HTTP Status Code");
		}
	}
	else
	{
		//alert("State not ready");
	}	
}

////////////////////////////////////////////////////////////////////////////////////////

// Request Creation Function
function createRequest()
{
	req = false;
	try 
	{
    	req = new XMLHttpRequest();
  	} 
	catch (trymicrosoft) 
	{
    	req = new ActiveXObject("Msxml2.XMLHTTP");
    }
	return req;
}

////////////////////////////////////////////////////////////////////////////////////////


function alertMsg(STRING)
{
	alert(STRING);
}

// test function, unused
function t()
{
	//values=getForm1Cookie();
	//alert(values);
	//alert(toUSDate("1998/09/09"));
}

/////***************************************************************************************
// New Functions for forms validation 
// May 2007
// Carlos Ramirez
// Functions used so far in document, library, reports, adduser
/////***************************************************************************************
function f_valnum(obj,Namefield){
  field = obj.value;
  var valida = false;
  if (isNumeric(field)==false){
	valida = true;     
	Str = "You must enter a a valid number for "+Namefield;
	alert(Str);
	obj.focus();
  }
  return valida;
}
function f_IsEmpty(obj,Namefield) {
 var valida = false; 
   if ((obj.value.length==0) ||
   (obj.value==null)) {
      valida = true;
	  Str = "You must enter information for " + Namefield;
	  alert(Str);  
	  obj.focus();
   }
  return valida;  
}
function hasSelection(obj,Namefield)     {
 var valida = false;
 if((obj.selectedIndex ==0)||(obj.selectedIndex <0))     {
	valida = true;
	alert("The value of the list "+Namefield+" is not selected.\n");
	obj.focus();
	}
  return valida;	
}
/*********************************************************
//Function to validate the form adduser.php before submitting
//form adduser.php
//May 2007
********************************************************/
function validate_form_adduser(process){
  valida = true;
  if (f_IsEmpty(FormName.elements['uname'],'User Name')==true)  return false;
  else if (f_IsEmpty(FormName.elements['fname'],'First Name ')==true)  return false;
  else if (f_IsEmpty(FormName.elements['lname'],'Last Name ')==true)  return false;
  else if (hasSelection(FormName.elements['acl'],'Access Level')==true)  return false;
  else if (hasSelection(FormName.elements['deptId'],'Dept Id')==true)  return false;

  if (process == "Insert"){ 
     if (f_IsEmpty(FormName.elements['password'],'Password ')==true)  return false;
     return true;
	 
  }else if(process == "Update"){
	 return true;  
  }else if(process == "Disable"){
	 var answer = confirm ("Are you sure to disable this user, \nit will be inactive and it will not be displayed anymore?")
     if (answer)
            return true;
     else
            return false;
  }	 
  return valida;
}
/*********************************************************
//Function to populate from the list to the form adduser.php 
// when clicking over any record
********************************************************/
function populateHeadingAdduser(v_field1,v_field2,v_field3,
						v_field4,v_field5,v_field6,
						v_field7,v_field8,v_field9,
						v_field10, v_field11)
 { 
 
 
 FormName.elements['uname'].value = v_field1;
 FormName.elements['fname'].value = v_field2;
 FormName.elements['lname'].value = v_field3;
 FormName.elements['acl'].value = v_field4;
 FormName.elements['deptId'].value = v_field6;   
 FormName.elements['email'].value = v_field9;    
 FormName.elements['phone'].value = v_field10; 
 FormName.elements['uid'].value = v_field8;     
 FormName.elements['status'].value = v_field11;     

}
/*********************************************************
//JavaScript Functions used in the form document.php 
// Created on May 2007 - carlos.ramirez@railcrewxpress.com
********************************************************/
function f_IsEmptyLoc(obj) {
 var valida = true;
 
 if (validate_form() == false){
	   return false;
 }
 if ((obj.value.length==0) ||
   (obj.value==null)
 ) {
      valida = false;
	  alert("You must Browse and upload a file");  
   }
  return valida;  
}
function popitup(url) {
	newwindow=window.open(url,'name','height=300,width=600');
	if (window.focus) {newwindow.focus()}
	return false;
}
function validateDocumentExistance(obj){
 valida = true;
 if (f_valnum(obj,'doc id') == false){
	if (f_IsEmpty(obj,'doc id ') == false){
 
		 requestDocumentInfo(obj);
		 Exist = document.rcxdocument.elements['docEx'].value;
		 if (Exist == "1"){
				 alert("The document already exist ...try again ");
				 obj.focus();
				 valida = false;
		 }
    }
 }		 
 return valida
}
function validate_form_document(process){
  valida = true;
  if (f_IsEmpty(FormName.elements['docId'],'Doc Id')==true)  return false;
  else if (f_IsEmpty(FormName.elements['docTitle'],'Doc Title ')==true)  return false;
  else if (hasSelection(FormName.elements['categoryId'],'Category')==true)  return false;
  else if (f_IsEmpty(FormName.elements['short_description'],'Short Description ')==true)  return false;
  else if (f_valnum(FormName.elements['docId'],'Doc Id ')==true) return false;
  
  requestDocumentInfo(document.rcxdocument.elements['docId']);
  Exist = document.rcxdocument.elements['docEx'].value;

  if (process == "Insert"){
	 if (Exist == "1"){
	     if (f_IsEmpty(FormName.elements['uploadedfile'],'Doc name by browsing and uploading a file')==true)  return false;
	     alert("The document already exist ...try again ");
		 return false;
	 }
  }else if(process == "Update"){
     if (f_IsEmpty(FormName.elements['tbl_id'],'Rec Id, go back to resources')==true)  return false;
	 if (Exist == "0"){
	     alert("No existing document to update ...try again ");
		 return false;
	 }
  }else if(process == "Delete"){
     if (f_IsEmpty(FormName.elements['tbl_id'],'Rec Id, go back to resources')==true)  return false;
	 if (Exist == "0"){
	     alert("No existing document to delete ...try again ");
		 return  false;
	 }else{
	     var answer = confirm ("Are you sure to delete this document?")
         if (answer)
            return true;
         else
            return false;
	 }
  }	 
 	  
  return valida;
}
/*********************************************************
//JavaScript Functions used in the form reports.php 
// Created on May 2007 - carlos.ramirez@railcrewxpress.com
********************************************************/
function validate_form_reports(process){
  valida = true;
  if (f_IsEmpty(FormName.elements['repName'],'Report Name ')==true)  return false;
  else if (f_IsEmpty(FormName.elements['repIpAddress'],'repIpAddress ')==true)  return false;
  else if (f_IsEmpty(FormName.elements['repURL'],' URL ')==true)  return false;
  else if (hasSelection(FormName.elements['deptId'],'deptId')==true)  return false;
  else if (f_IsEmpty(FormName.elements['short_description'],'Short Description ')==true)  return false;

  if (process == "Insert"){ 
     return true;
	 
  }else if(process == "Update"){
     if (f_IsEmpty(FormName.elements['reportID'],'Rep Id, go back to resources')==true)  return false;
	 return true;  
  }else if(process == "Delete"){
     if (f_IsEmpty(FormName.elements['reportID'],'Rec Id, go back to resources')==true)  return false;
	 var answer = confirm ("Are you sure to delete this link?")
     if (answer)
            return true;
     else
            return false;
  }	 
  return valida;
}

//*********************************************************
//JavaScript Functions used in the App Windows
// Created on June 2007 - carlos.ramirez@railcrewxpress.com
//********************************************************/
function placeATitleOnTheHeading(fieldName, FirstId, LastId, Msg){
	Msg = Msg + "Record# "+FirstId+" to "+LastId+"";
	var objField= document.getElementById(fieldName);
	objField.value = Msg;
}

//***************************************************
// JavaScript Functions for the google suggest feature
// in the App Windows of ams
// Implemented in June 2007
//**************************************************/
function getXmlHttpRequestObject() {
	if (window.XMLHttpRequest) {
		return new XMLHttpRequest();
	} else if(window.ActiveXObject) {
		return new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		alert("Your Browser does not support!\nThis feature");
	}
}
//Our XmlHttpRequest object to get the auto suggest
var searchReq = getXmlHttpRequestObject();

//Called from keyup on the search textbox.
//Starts the AJAX request.
function searchSuggest() {
	if (searchReq.readyState == 4 || searchReq.readyState == 0) {
		var str = escape(document.getElementById('txtSearch').value);
		if(str.length > 3)
		{
			searchReq.open("GET", 'suggestSearch.php?search=' + str, true);
			searchReq.onreadystatechange = handleSearchSuggest; 
			searchReq.send(null);
		}
	}	
}

function searchLocation() {
	if (searchReq.readyState == 4 || searchReq.readyState == 0) {
		var str = escape(document.getElementById('txtSearchLocation').value);
		searchReq.open("GET", 'locationSearch.php?search=' + str, true);
		searchReq.onreadystatechange = handleSearchLocation; 
		searchReq.send(null);
	}		
}

//Called when the AJAX response is returned.
function handleSearchSuggest() {
	if (searchReq.readyState == 4) {
		var ss = document.getElementById('search_suggest')
		ss.innerHTML = '';
		var str = searchReq.responseText.split("\n");
		for(i=0; i < str.length - 1; i++) {
			//Build our element string.  This is cleaner using the DOM, but
			//IE doesn't support dynamically added attributes.
			var suggest = '<div onmouseover="javascript:suggestOver(this);" ';
			suggest += 'onmouseout="javascript:suggestOut(this);" ';
			suggest += 'onclick="javascript:setSearch(this.innerHTML);" ';
			suggest += 'class="suggest_link">' + str[i] + '</div>';
			ss.innerHTML += suggest;
		}
	}
}


function handleSearchLocation() {
	if (searchReq.readyState == 4) {
		var ss = document.getElementById('search_location')
		ss.innerHTML = '';
		var str = searchReq.responseText.split("\n");
		for(i=0; i < str.length - 1; i++) {
			//Build our element string.  This is cleaner using the DOM, but
			//IE doesn't support dynamically added attributes.
			var suggest = '<div onmouseover="javascript:suggestOver(this);" ';
			suggest += 'onmouseout="javascript:suggestOut(this);" ';
			suggest += 'onclick="javascript:setSearchLocation(this.innerHTML);" ';
			suggest += 'class="suggest_link">' + str[i] + '</div>';
			ss.innerHTML += suggest;
		}
	}
}


//Mouse over function
function suggestOver(div_value) {
	div_value.className = 'suggest_link_over';
}
//Mouse out function
function suggestOut(div_value) {
	div_value.className = 'suggest_link';
}
//Click function
function setSearch(value) {
	document.getElementById('txtSearch').value = value;
	document.getElementById('search_suggest').innerHTML = '';
	changeVisibleInvisible('search_suggest','N');
}
function setSearchLocation(value) {
	document.getElementById('txtSearchLocation').value = value;
	document.getElementById('search_location').innerHTML = '';
	changeVisibleInvisible('search_location','N');
}

function changeVisibleInvisible(fieldName,flag){
  var objField= document.getElementById(fieldName);
  if (flag=="Y"){
	objField.style.visibility = 'visible';    
  }else if (flag=="N"){
	objField.style.visibility = 'hidden';  
  }
}
function popup(mylink, windowname)
{
if (! window.focus)return true;
var href;
if (typeof(mylink) == 'string')
   href=mylink;
else
   href=mylink.href;
   my_window = window.open(href, windowname, 'width=460,height=427,scrollbars=no,location=no,toolbar=no,left=550,top=100,status=no,dependent=yes');
   //if (window.focus) {newwindow.focus()}
return false;
}
//Open the popup window with no reload
//if it is open refocus on the pop up
function popupnr(mylink, windowname, refocus)
{
var mywin, href;

if (typeof(mylink) == 'string')
   href=mylink;
else
   href=mylink.href;
mywin = window.open('', windowname, 'width=460,height=427,scrollbars=no,location=no,toolbar=no,left=550,top=100,status=no,dependent=yes');

// if we just opened the window
if (
   mywin.closed || 
   (! mywin.document.URL) || 
   (mywin.document.URL.indexOf("about") == 0)
   )
   mywin.location=href;
else if (refocus)
   mywin.focus();
return false;

}
function targetopener(mylink, closeme, closeonly)
{
if (! (window.focus && window.opener))return true;
window.opener.focus();
if (! closeonly)window.opener.location.href=mylink.href;
if (closeme)window.close();
return false;
}

/***********************************
  RCX Structure option - Window locations
***********************************/
function populateHeadingLocation(v_field1,v_field2,v_field3,v_field4,
                               v_field5,v_field6,v_field7,v_field8,
							   v_field9,v_field10,v_field11,v_field12,
							   v_field13,v_field14,v_field15,v_field16 )
 { 
 

 FormName.elements['tbl_ID'].value = v_field1;
 FormName.elements['locationName'].value = v_field2;
 FormName.elements['region_id'].value = v_field3; 
 FormName.elements['regStructId'].value = v_field5; 
 FormName.elements['uid_mgr'].value = v_field6;   
 FormName.elements['road_vans'].value = v_field7;    
 FormName.elements['contracted_yr'].value = v_field8;    
 FormName.elements['assigned_dyv'].value = v_field9;    
 FormName.elements['mgr_address'].value = v_field10; 
 FormName.elements['phone'].value = v_field13;        
 FormName.elements['email'].value = v_field14;   
 FormName.elements['state_id'].value = v_field15;   

 
 
}
function clearFieldsLocation(){
	
 FormName.elements['tbl_ID'].value = "";
 FormName.elements['locationName'].value = "";
 FormName.elements['region_id'].value = ""; 
 FormName.elements['regStructId'].value = ""; 
 FormName.elements['uid_mgr'].value = "";   
 FormName.elements['road_vans'].value = "";    
 FormName.elements['contracted_yr'].value = "";    
 FormName.elements['assigned_dyv'].value = "";    
 FormName.elements['mgr_address'].value = ""; 
 FormName.elements['phone'].value = "";        
 FormName.elements['email'].value = "";        
	
}
function validate_form_location(process){
  valida = true;
  if (f_IsEmpty(FormName.elements['locationName'],'Location Name')==true)  return false;
  else if (hasSelection(FormName.elements['region_id'],'Region Name')==true)  return false;  
  else if (f_IsEmpty(FormName.elements['mgr_address'],'Location Address')==true)  return false;
  else if (f_valnum(FormName.elements['road_vans'],'Road Vans')==true)  return false;
  else if (f_IsEmpty(FormName.elements['phone'],'Telephone')==true)  return false;
  else if (f_valnum(FormName.elements['assigned_dyv'],'Assigned DYV')==true)  return false;
  
  if (process == "Insert"){ 
     return true;
	 
  }else if(process == "Update"){
	 return true;  
  }else if(process == "Delete"){
	 var answer = confirm ("Are you sure to delete this record?")
     if (answer)
            return true;
     else
            return false;
  }	 
  return valida;
}
/*
function f_link_division_loc(){

  location = "rcxpr.php?location=division";						 
 
}
function f_link_region_loc(){

 var region_id = FormName.elements['region_id'].value;

 
 location = "rcxpr.php?location=region";
			
}
function f_link_locations_loc(){

 var tbl_ID = FormName.elements['tbl_ID'].value;
 var locationName = FormName.elements['locationName'].value;
 var uid_mgr = FormName.elements['uid_mgr'].value;
 var region_id = FormName.elements['region_id'].value;
 var mgr_address = FormName.elements['mgr_address'].value;
 var road_vans = FormName.elements['road_vans'].value;
 var phone = FormName.elements['phone'].value;
 var contracted_yr = FormName.elements['contracted_yr'].value;
 var email = FormName.elements['email'].value;
 var assigned_dyv = FormName.elements['assigned_dyv'].value;
 var regStructId = FormName.elements['regStructId'].value;
 
 location = "rcxpr.php?location=locations&tbl_ID="+tbl_ID+"&locationName="+locationName+"&uid_mgr="+uid_mgr+
            "&region_id="+region_id+"&mgr_address="+mgr_address+"&road_vans="+road_vans+
			"&phone="+phone+"&contracted_yr="+contracted_yr+"&email="+email+"&assigned_dyv="+assigned_dyv+
			"&regStructId="+regStructId+"";
}
*/
/***********************************
  RCX Structure option - Window divisions
***********************************/
function populateHeadingDivision(v_field1,v_field2,v_field3,
						v_field4,v_field5,v_field6,v_field7,v_field8 )
 { 

 FormName.elements['regStructId'].value = v_field1;
 FormName.elements['regStructName'].value = v_field2;
 FormName.elements['uid_mgr'].value = v_field4;
 FormName.elements['phone'].value = v_field5;
 FormName.elements['email'].value = v_field6;   

}
function validate_form_division(process){

  valida = true;
  if (f_IsEmpty(FormName.elements['regStructName'],'Regional Structure Name')==true)  return false;
  else if (hasSelection(FormName.elements['uid_mgr'],'Manager Name')==true)  return false;
  else if (f_IsEmpty(FormName.elements['phone'],'Phone ')==true)  return false;

  
  if (process == "Insert"){ 
     return true;
	 
  }else if(process == "Update"){
	 return true;  
  }else if(process == "Delete"){
	 var answer = confirm ("Are you sure to delete this record?")
     if (answer)
            return true;
     else
            return false;
  }	 
  return valida;
  
}
function clearFieldsDivision(){
 FormName.elements['regStructId'].value = "";
 FormName.elements['regStructName'].value = "";
 FormName.elements['uid_mgr'].value = "";
 FormName.elements['phone'].value = "";
 FormName.elements['email'].value = "";   
	
	
}
/*
function f_link_division_div(){


 var regStructId = FormName.elements['regStructId'].value ;
 var regStructName =  FormName.elements['regStructName'].value ;
 var uid_mgr =  FormName.elements['uid_mgr'].value ;
 var phone =  FormName.elements['phone'].value ;
 var email =  FormName.elements['email'].value ;   
  
 location = "rcxpr.php?location=division&regStructId="+regStructId+"&regStructName="+regStructName+
            "&uid_mgr="+uid_mgr+"&phone="+phone+"&email="+email+"";
}
function f_link_region_div(){

 location = "rcxpr.php?location=region";
 
}
function f_link_locations_div(){

 var regStructId = FormName.elements['regStructId'].value;

 location = "rcxpr.php?location=locations&regStructId="+regStructId+"";						 
 
}
*/
/***********************************
  RCX Structure option - Window Regions
***********************************/
function populateHeadingRegion(v_field1,v_field2,v_field3,
						v_field4,v_field5,v_field6,v_field7, v_field8,v_field9 )
 { 
 
 FormName.elements['region_id'].value = v_field1;
 FormName.elements['region_name'].value = v_field2;
 FormName.elements['region_div_id'].value = v_field3;
 FormName.elements['mgr_address'].value = v_field5;
 FormName.elements['uid_mgr'].value = v_field6;   
 FormName.elements['phone'].value = v_field7;    
 FormName.elements['email'].value = v_field8; 
 FormName.elements['assistGMId'].value = v_field9; 

}
function validate_form_region(process){
  valida = true;
  if (f_IsEmpty(FormName.elements['region_name'],'Region Name')==true)  return false;
  else if (hasSelection(FormName.elements['region_div_id'],'Division')==true)  return false;
  else if (hasSelection(FormName.elements['uid_mgr'],'Manager Name')==true)  return false;
  else if (f_IsEmpty(FormName.elements['mgr_address'],'Region Address')==true)  return false;
  else if (f_IsEmpty(FormName.elements['phone'],'Manager Telephone')==true)  return false;

  if (process == "Insert"){ 
     return true;
	 
  }else if(process == "Update"){
	 return true;  
  }else if(process == "Delete"){
	 var answer = confirm ("Are you sure to delete this record?")
     if (answer)
            return true;
     else
            return false;
  }	 
  return valida;
}

function clearFieldsRegion(){

 FormName.elements['region_id'].value = "";
 FormName.elements['region_name'].value = "";
 FormName.elements['region_div_id'].value = "";
 FormName.elements['mgr_address'].value = "";
 FormName.elements['uid_mgr'].value = "";   
 FormName.elements['phone'].value = "";    
 FormName.elements['email'].value = "";    
 FormName.elements['assistGMId'].value = "";    
	
}
/*
function f_link_division_reg(){

  location = "rcxpr.php?location=division";						 
 
}
function f_link_region_reg(){

 var region_id = FormName.elements['region_id'].value;
 var region_name = FormName.elements['region_name'].value;
 var region_div_id = FormName.elements['region_div_id'].value;
 var uid_mgr = FormName.elements['uid_mgr'].value;
 var mgr_address = FormName.elements['mgr_address'].value;
 var phone = FormName.elements['phone'].value;
 var email = FormName.elements['email'].value;
 
 location = "rcxpr.php?location=region&region_id="+region_id+"&region_name="+region_name+
            "&region_div_id="+region_div_id+"&uid_mgr="+uid_mgr+"&mgr_address="+mgr_address+
			"&phone="+phone+"&email="+email+"";
}
function f_link_locations_reg(){
 var region_id = FormName.elements['region_id'].value;
 var region_div_id = FormName.elements['region_div_id'].value;
 
 location = "rcxpr.php?location=locations&region_div_id="+region_div_id+"&region_id="+region_id+"";

}
*/
//------------------------------------------------------------------------------------------
// TAB MANAGER MODULE FOR THE OPTION STRUCTURE
//------------------------------------------------------------------------------------------
var Tab = { cur:0 };

function initabStruct( classname ) 
{
 var tabs = [], divs = [], texts = [], f, g, h, i = 0, j = 0, k, o,
  d = document, a = d.getElementsByTagName('h3'),
  b = d.createElement('div'), c = d.createElement('a'),
  n = function(h) { while((h = h.nextSibling)) {
   if( /div/i.test( h.tagName ) || '' ) { return h; }
   return null; }
  },
  y = function() { return false; },
  z=function(e) { e = e || window.event || {}; var t;
   if( e.keyCode===37 &&
    ( ( t = this.previousSibling ) || ( t = this.parentNode.lastChild ) )
    || e.keyCode===39 &&
    ( ( t = this.nextSibling ) || ( t = this.parentNode.firstChild ) ) ) {
     if( /a/i.test( t.tagName ) ) { t.focus(); e.returnValue = false; }
     return false;
   }
  };
 c.className = 'tab0A'; c.hideFocus = true;
 while( i < a.length ) { h = a[i];
   if( new RegExp( '\\b' + classname + '\\b' ).test( h.className ) &&
    ( g = n(h) ) ) {
     k = h.firstChild && h.firstChild.nodeValue;
     o = c.cloneNode(true); o.href = '?' + ( j + 1 );
     o.appendChild( d.createTextNode( k || c || 'Tab' ) );
     o.onfocus = new Function( 'return doTabStruct(' + j + ')' );
     o.onclick = y;
     o.onkeydown = z;
     g.className = 'slab0A'; h.className = 'slab0A';
     b.appendChild(o); tabs[j] = o; divs[j] = g; texts[j] = k;
     if(!f) { f = h; } j++;
   }
   i++;
 }
 f.parentNode.insertBefore( b, f );
 Tab.tabs = tabs; Tab.divs = divs; Tab.texts = texts; i = 0;
 if( window.location.search ) {
  j = parseInt( window.location.search.substring(1) ) - 1;
  if( tabs[j] ) { i = j; }
 }
 doTabStruct(i);
}


function doTabStruct(i) {

  if (i == 0){
	  FormName = document.rcxDivision;
  }else if (i == 1){
	  FormName = document.rcxAssistGM;
  }else if (i == 2){
	  FormName = document.rcxRegion;
  }else if (i == 3){
	  FormName = document.rcxLocation;
  }

  
  Tab.tabs[Tab.cur].className = 'tab0A';
  Tab.divs[Tab.cur].className = 'slab0A';
  Tab.cur=i;
  Tab.tabs[i].className = 'tab1A';
  Tab.divs[i].className = 'slab1A';
  return false;
}
// END TAB MANAGER
//------------------------------------------------------------------------------------------
////  INITIALIZING THE GLOBAL VARIABLE FOR AJAX 
//------------------------------------------------------------------------------------------
var xmlHttp;
xmlHttp=getXmlHttpRequestObject();
//------------------------------------------------------------------------------------------
function f_ajax_brings_email(mgr_id){
xmlHttp=getXmlHttpRequestObject();
if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  } 
var url="managerMail.php";
url=url+"?search="+mgr_id;
xmlHttp.onreadystatechange=stateChangedStructure;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
function stateChangedStructure() 
{ 
 if (xmlHttp.readyState==4)
  { 
    //document.getElementById("emailStructure").innerHTML=xmlHttp.responseText;
	FormName.elements['email'].value = xmlHttp.responseText;
  }
}

//------------------------------------------------------------------------------------------
var xmlHttp;
function f_ajax_get_email_uname(param){
xmlHttp=getXmlHttpRequestObject();
if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  } 
var v_param =   FormName.elements['string_value'].value;
var url="checkUnameToMail.php";
url=url+"?search="+v_param;
xmlHttp.onreadystatechange=stateChangedEmailRecipients;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
function stateChangedEmailRecipients() 
{ 
 if (xmlHttp.readyState==4)
  { 
    //document.getElementById("emailStructure").innerHTML=xmlHttp.responseText;
	FormName.elements['check_mails'].value = xmlHttp.responseText;
	//alert(xmlHttp.responseText);
  }
}
//------------------------------------------------------------------------------------------
//  Modified by Carlos
//  Inclusion - August 25 /2007
//  Date Picker (JavaScript functions )
//------------------------------------------------------------------------------------------

var datePickerDivID = "datepicker";
var iFrameDivID = "datepickeriframe";

var dayArrayShort = new Array('Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa');
var dayArrayMed = new Array('Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat');
var dayArrayLong = new Array('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday');
var monthArrayShort = new Array('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec');
var monthArrayMed = new Array('Jan', 'Feb', 'Mar', 'Apr', 'May', 'June', 'July', 'Aug', 'Sept', 'Oct', 'Nov', 'Dec');
var monthArrayLong = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');
 
var defaultDateSeparator = "/";        // common values would be "/" or "."
var defaultDateFormat = "mdy"    // valid values are "mdy", "dmy", and "ymd"
var dateSeparator = defaultDateSeparator;
var dateFormat = defaultDateFormat;

function displayDatePicker(dateFieldName, displayBelowThisObject, dtFormat, dtSep)
{
  var targetDateField = document.getElementsByName (dateFieldName).item(0);
 
  // if we weren't told what node to display the datepicker beneath, just display it
  // beneath the date field we're updating
  if (!displayBelowThisObject)
    displayBelowThisObject = targetDateField;
 
  // if a date separator character was given, update the dateSeparator variable
  if (dtSep)
    dateSeparator = dtSep;
  else
    dateSeparator = defaultDateSeparator;
 
  // if a date format was given, update the dateFormat variable
  if (dtFormat)
    dateFormat = dtFormat;
  else
    dateFormat = defaultDateFormat;
 
  var x = displayBelowThisObject.offsetLeft;
  var y = displayBelowThisObject.offsetTop + displayBelowThisObject.offsetHeight ;
 
  // deal with elements inside tables and such
  var parent = displayBelowThisObject;
  while (parent.offsetParent) {
    parent = parent.offsetParent;
    x += parent.offsetLeft;
    y += parent.offsetTop ;
  }
 
  drawDatePicker(targetDateField, x, y);
}
function drawDatePicker(targetDateField, x, y)
{
  var dt = getFieldDate(targetDateField.value );
 
  // the datepicker table will be drawn inside of a <div> with an ID defined by the
  // global datePickerDivID variable. If such a div doesn't yet exist on the HTML
  // document we're working with, add one.
  if (!document.getElementById(datePickerDivID)) {
    // don't use innerHTML to update the body, because it can cause global variables
    // that are currently pointing to objects on the page to have bad references
    //document.body.innerHTML += "<div id='" + datePickerDivID + "' class='dpDiv'></div>";
    var newNode = document.createElement("div");
    newNode.setAttribute("id", datePickerDivID);
    newNode.setAttribute("class", "dpDiv");
    newNode.setAttribute("style", "visibility: hidden;");
    document.body.appendChild(newNode);
  }
 
  // move the datepicker div to the proper x,y coordinate and toggle the visiblity
  var pickerDiv = document.getElementById(datePickerDivID);
  pickerDiv.style.position = "absolute";
  pickerDiv.style.left = x + "px";
  pickerDiv.style.top = y + "px";
  pickerDiv.style.visibility = (pickerDiv.style.visibility == "visible" ? "hidden" : "visible");
  pickerDiv.style.display = (pickerDiv.style.display == "block" ? "none" : "block");
  pickerDiv.style.zIndex = 10000;
 
  // draw the datepicker table
  refreshDatePicker(targetDateField.name, dt.getFullYear(), dt.getMonth(), dt.getDate());
}
/**
This is the function that actually draws the datepicker calendar.
*/
function refreshDatePicker(dateFieldName, year, month, day)
{
  // if no arguments are passed, use today's date; otherwise, month and year
  // are required (if a day is passed, it will be highlighted later)
  var thisDay = new Date();
 
  if ((month >= 0) && (year > 0)) {
    thisDay = new Date(year, month, 1);
  } else {
    day = thisDay.getDate();
    thisDay.setDate(1);
  }
 
  // the calendar will be drawn as a table
  // you can customize the table elements with a global CSS style sheet,
  // or by hardcoding style and formatting elements below
  var crlf = "\r\n";
  var TABLE = "<table cols=7 class='dpTable'>" + crlf;
  var xTABLE = "</table>" + crlf;
  var TR = "<tr class='dpTR'>";
  var TR_title = "<tr class='dpTitleTR'>";
  var TR_days = "<tr class='dpDayTR'>";
  var TR_todaybutton = "<tr class='dpTodayButtonTR'>";
  var xTR = "</tr>" + crlf;
  var TD = "<td class='dpTD' onMouseOut='this.className=\"dpTD\";' onMouseOver=' this.className=\"dpTDHover\";' ";    // leave this tag open, because we'll be adding an onClick event
  var TD_title = "<td colspan=5 class='dpTitleTD'>";
  var TD_buttons = "<td class='dpButtonTD'>";
  var TD_todaybutton = "<td colspan=7 class='dpTodayButtonTD'>";
  var TD_days = "<td class='dpDayTD'>";
  var TD_selected = "<td class='dpDayHighlightTD' onMouseOut='this.className=\"dpDayHighlightTD\";' onMouseOver='this.className=\"dpTDHover\";' ";    // leave this tag open, because we'll be adding an onClick event
  var xTD = "</td>" + crlf;
  var DIV_title = "<div class='dpTitleText'>";
  var DIV_selected = "<div class='dpDayHighlight'>";
  var xDIV = "</div>";
 
  // start generating the code for the calendar table
  var html = TABLE;
 
  // this is the title bar, which displays the month and the buttons to
  // go back to a previous month or forward to the next month
  html += TR_title;
  html += TD_buttons + getButtonCode(dateFieldName, thisDay, -1, "&lt;") + xTD;
  html += TD_title + DIV_title + monthArrayLong[ thisDay.getMonth()] + " " + thisDay.getFullYear() + xDIV + xTD;
  html += TD_buttons + getButtonCode(dateFieldName, thisDay, 1, "&gt;") + xTD;
  html += xTR;
 
  // this is the row that indicates which day of the week we're on
  html += TR_days;
  for(i = 0; i < dayArrayShort.length; i++)
    html += TD_days + dayArrayShort[i] + xTD;
  html += xTR;
 
  // now we'll start populating the table with days of the month
  html += TR;
 
  // first, the leading blanks
  for (i = 0; i < thisDay.getDay(); i++)
    html += TD + "&nbsp;" + xTD;
 
  // now, the days of the month
  do {
    dayNum = thisDay.getDate();
    TD_onclick = " onclick=\"updateDateField('" + dateFieldName + "', '" + getDateString(thisDay) + "');\">";
    
    if (dayNum == day)
      html += TD_selected + TD_onclick + DIV_selected + dayNum + xDIV + xTD;
    else
      html += TD + TD_onclick + dayNum + xTD;
    
    // if this is a Saturday, start a new row
    if (thisDay.getDay() == 6)
      html += xTR + TR;
    
    // increment the day
    thisDay.setDate(thisDay.getDate() + 1);
  } while (thisDay.getDate() > 1)
 
  // fill in any trailing blanks
  if (thisDay.getDay() > 0) {
    for (i = 6; i > thisDay.getDay(); i--)
      html += TD + "&nbsp;" + xTD;
  }
  html += xTR;
 
  // add a button to allow the user to easily return to today, or close the calendar
  var today = new Date();
  var todayString = "Today is " + dayArrayMed[today.getDay()] + ", " + monthArrayMed[ today.getMonth()] + " " + today.getDate();
  html += TR_todaybutton + TD_todaybutton;
  html += "<button class='dpTodayButton' onClick='refreshDatePicker(\"" + dateFieldName + "\");'>this month</button> ";
  html += "<button class='dpTodayButton' onClick='updateDateField(\"" + dateFieldName + "\");'>close</button>";
  html += xTD + xTR;
 
  // and finally, close the table
  html += xTABLE;
 
  document.getElementById(datePickerDivID).innerHTML = html;
  // add an "iFrame shim" to allow the datepicker to display above selection lists
  adjustiFrame();
}

function getButtonCode(dateFieldName, dateVal, adjust, label)
{
  var newMonth = (dateVal.getMonth () + adjust) % 12;
  var newYear = dateVal.getFullYear() + parseInt((dateVal.getMonth() + adjust) / 12);
  if (newMonth < 0) {
    newMonth += 12;
    newYear += -1;
  }
 
  return "<button class='dpButton' onClick='refreshDatePicker(\"" + dateFieldName + "\", " + newYear + ", " + newMonth + ");'>" + label + "</button>";
}


/**
Convert a JavaScript Date object to a string, based on the dateFormat and dateSeparator
variables at the beginning of this script library.
*/
function getDateString(dateVal)
{
  var dayString = "00" + dateVal.getDate();
  var monthString = "00" + (dateVal.getMonth()+1);
  dayString = dayString.substring(dayString.length - 2);
  monthString = monthString.substring(monthString.length - 2);
 
  switch (dateFormat) {
    case "dmy" :
      return dayString + dateSeparator + monthString + dateSeparator + dateVal.getFullYear();
    case "ymd" :
      return dateVal.getFullYear() + dateSeparator + monthString + dateSeparator + dayString;
    case "mdy" :
    default :
      return monthString + dateSeparator + dayString + dateSeparator + dateVal.getFullYear();
  }
}


/**
Convert a string to a JavaScript Date object.
*/
function getFieldDate(dateString)
{
  var dateVal;
  var dArray;
  var d, m, y;
 
  try {
    dArray = splitDateString(dateString);
    if (dArray) {
      switch (dateFormat) {
        case "dmy" :
          d = parseInt(dArray[0], 10);
          m = parseInt(dArray[1], 10) - 1;
          y = parseInt(dArray[2], 10);
          break;
        case "ymd" :
          d = parseInt(dArray[2], 10);
          m = parseInt(dArray[1], 10) - 1;
          y = parseInt(dArray[0], 10);
          break;
        case "mdy" :
        default :
          d = parseInt(dArray[1], 10);
          m = parseInt(dArray[0], 10) - 1;
          y = parseInt(dArray[2], 10);
          break;
      }
      dateVal = new Date(y, m, d);
    } else if (dateString) {
      dateVal = new Date(dateString);
    } else {
      dateVal = new Date();
    }
  } catch(e) {
    dateVal = new Date();
  }
 
  return dateVal;
}


/**
Try to split a date string into an array of elements, using common date separators.
If the date is split, an array is returned; otherwise, we just return false.
*/
function splitDateString(dateString)
{
  var dArray;
  if (dateString.indexOf("/") >= 0)
    dArray = dateString.split("/");
  else if (dateString.indexOf(".") >= 0)
    dArray = dateString.split(".");
  else if (dateString.indexOf("-") >= 0)
    dArray = dateString.split("-");
  else if (dateString.indexOf("\\") >= 0)
    dArray = dateString.split("\\");
  else
    dArray = false;
 
  return dArray;
}

function updateDateField(dateFieldName, dateString)
{
  var targetDateField = document.getElementsByName (dateFieldName).item(0);
  if (dateString)
    targetDateField.value = dateString;
 
  var pickerDiv = document.getElementById(datePickerDivID);
  pickerDiv.style.visibility = "hidden";
  pickerDiv.style.display = "none";
 
  adjustiFrame();
  targetDateField.focus();
 
  // after the datepicker has closed, optionally run a user-defined function called
  // datePickerClosed, passing the field that was just updated as a parameter
  // (note that this will only run if the user actually selected a date from the datepicker)
  if ((dateString) && (typeof(datePickerClosed) == "function"))
    datePickerClosed(targetDateField);
}

function adjustiFrame(pickerDiv, iFrameDiv)
{
  // we know that Opera doesn't like something about this, so if we
  // think we're using Opera, don't even try
  var is_opera = (navigator.userAgent.toLowerCase().indexOf("opera") != -1);
  if (is_opera)
    return;
  
  // put a try/catch block around the whole thing, just in case
  try {
    if (!document.getElementById(iFrameDivID)) {
      // don't use innerHTML to update the body, because it can cause global variables
      // that are currently pointing to objects on the page to have bad references
      //document.body.innerHTML += "<iframe id='" + iFrameDivID + "' src='javascript:false;' scrolling='no' frameborder='0'>";
      var newNode = document.createElement("iFrame");
      newNode.setAttribute("id", iFrameDivID);
      newNode.setAttribute("src", "javascript:false;");
      newNode.setAttribute("scrolling", "no");
      newNode.setAttribute ("frameborder", "0");
      document.body.appendChild(newNode);
    }
    
    if (!pickerDiv)
      pickerDiv = document.getElementById(datePickerDivID);
    if (!iFrameDiv)
      iFrameDiv = document.getElementById(iFrameDivID);
    
    try {
      iFrameDiv.style.position = "absolute";
      iFrameDiv.style.width = pickerDiv.offsetWidth;
      iFrameDiv.style.height = pickerDiv.offsetHeight ;
      iFrameDiv.style.top = pickerDiv.style.top;
      iFrameDiv.style.left = pickerDiv.style.left;
      iFrameDiv.style.zIndex = pickerDiv.style.zIndex - 1;
      iFrameDiv.style.visibility = pickerDiv.style.visibility ;
      iFrameDiv.style.display = pickerDiv.style.display;
    } catch(e) {
    }
 
  } catch (ee) {
  }
 
}

//----------------------------------------------------------------------------------------------------------------------
// END Section Date Picker 
//----------------------------------------------------------------------------------------------------------------------

function f_IsEmptyFocus(obj,Namefield,vfocus,message) {
 var valida = false; 
   if ((obj.value.length==0) ||
   (obj.value==null)) {
      valida = true;
	  Str = "You must enter information for " + Namefield;
	  if (message == true){
	  		alert(Str);  
	  }
	  if (vfocus == true){
	       obj.focus();
	  }
   }
  return valida;  
}
//----------------------------------------------------------------------------------------------------------------------
// BEGIN Section for currency formatting
//----------------------------------------------------------------------------------------------------------------------
function formatCurrency(obj)
{
    strValue = obj.value;

	strValue = strValue.toString().replace(/\$|\,/g,'');
	dblValue = parseFloat(strValue);

	blnSign = (dblValue == (dblValue = Math.abs(dblValue)));
	dblValue = Math.floor(dblValue*100+0.50000000001);
	intCents = dblValue%100;
	strCents = intCents.toString();
	dblValue = Math.floor(dblValue/100).toString();
	if(intCents<10)
		strCents = "0" + strCents;
	for (var i = 0; i < Math.floor((dblValue.length-(1+i))/3); i++)
		dblValue = dblValue.substring(0,dblValue.length-(4*i+3))+','+
		dblValue.substring(dblValue.length-(4*i+3));
		
	obj.value = (((blnSign)?'':'-') + '' + dblValue + '.' + strCents);
	
}
//----------------------------------------------------------------------------------------------------------------------
// END  Section for currency formatting
//----------------------------------------------------------------------------------------------------------------------

function isNumericDot(sText) 
{
   var ValidChars = "0123456789.,";
   var IsNumber = true;
   var Char;
   for (i = 0; i < sText.length; i++) {
       Char = sText.charAt(i);
       if (ValidChars.indexOf(Char) == -1) {
          return false;
       }
    }
   return IsNumber;
}

function popupnrpar(mylink, windowname, refocus, width, height)
{
var mywin, href;

if (typeof(mylink) == 'string')
   href=mylink;
else
   href=mylink.href;
mywin = window.open('', windowname, 'width='+ width +',height='+ height+',scrollbars=no,location=no,toolbar=no,left=550,top=100,status=no,dependent=yes');

// if we just opened the window
if (
   mywin.closed || 
   (! mywin.document.URL) || 
   (mywin.document.URL.indexOf("about") == 0)
   )
   mywin.location=href;
else if (refocus)
   mywin.focus();
return false;

}

//----------------------------------------------------------------------------------------------------------------------
// BEGIN Section for NON-REVENUE PAYS PAGES
//----------------------------------------------------------------------------------------------------------------------
function f_prevFormat(obj){
  if ((obj.value.length==0) ||
      (obj.value==null)) {
  }else{
     if (isNumericDot(obj.value)==false){
	   alert("entry is not a number!!!");
	   return;
	 } 
     formatCurrency(obj);
  }
}
function populateHeadingNonRevDetails(v_nonRevPayDetID,v_nonRevPayID,v_id,
						              v_name,v_location,v_non_rev_date,
									  v_rcx_adp_num,v_non_rev_miles,v_mileage_pay_rate,
									  v_mileage_pay_total,v_non_rev_hours,v_hourly_pay_rate,
									  v_hourly_pay_total,v_total_owed,v_nonRevPayReasonID,
									  v_description, v_nonRevAdjTypeId, v_tripShiftNumber, v_tripShiftDate,
									  v_maxHourRate,v_maxWaitRate,v_maxMiscRate,v_user_uname)
 { 
 
 FormName.elements['nonRevPayDetID'].value = v_nonRevPayDetID;
 FormName.elements['id'].value = v_id;
 FormName.elements['emp_name'].value = v_name;
 FormName.elements['locationName'].value = v_location;
 FormName.elements['non_rev_date'].value = v_non_rev_date;   
 FormName.elements['rcx_adp_num'].value = v_rcx_adp_num;   
 FormName.elements['non_rev_miles'].value = v_non_rev_miles;
 FormName.elements['mileage_pay_rate'].value = v_mileage_pay_rate;
 FormName.elements['mileage_pay_total'].value = v_mileage_pay_total;   
 FormName.elements['non_rev_hours'].value = v_non_rev_hours;   
 FormName.elements['hourly_pay_rate'].value = v_hourly_pay_rate;
 FormName.elements['hourly_pay_total'].value = v_hourly_pay_total;
 FormName.elements['total_owed'].value = v_total_owed;   
 FormName.elements['nonRevAdjTypeId'].value = v_nonRevAdjTypeId;  
 setDependantSelectOptions('nonRevAdjTypeId','nonRevPayReasonID',reasons);
 FormName.elements['tripShiftNumber'].value = v_tripShiftNumber;  
 FormName.elements['nonRevPayReasonID'].value = v_nonRevPayReasonID;  
 FormName.elements['tripShiftDate'].value = v_tripShiftDate;  
 FormName.elements['maxHourRate'].value = v_maxHourRate;  
 FormName.elements['maxWaitRate'].value = v_maxWaitRate;  
 FormName.elements['maxMiscRate'].value = v_maxMiscRate;  
 FormName.elements['user_uname'].value = v_user_uname;  
 
 var type = FormName.elements['nonRevAdjTypeId'].value;
 
 f_activate_fields('nonRevPayReasonID',reasons);
 
 /*
 if (type == "NR"){
	 	document.getElementById('non_rev_hours').readOnly = false ;
		document.getElementById('hourly_pay_rate').readOnly = false;
		document.getElementById('non_rev_miles').readOnly = true;
		document.getElementById('mileage_pay_rate').readOnly = true;
		document.getElementById('total_owed').readOnly = false;
		//Initializing the fields not active
		document.getElementById('non_rev_miles').value = "" ;
		document.getElementById('mileage_pay_rate').value = "" ;
		document.getElementById('hourly_pay_total').value = "" ;
		document.getElementById('mileage_pay_total').value = "" ;
		if ( (v_non_rev_hours == "0.00") && (v_hourly_pay_rate = "0.00") )
		{
		  document.getElementById('non_rev_hours').value = "";
		  document.getElementById('hourly_pay_rate').value = "";
		  document.getElementById('total_owed').focus();
		}
		FormName.elements['tripShiftDate'].value = "";
 }else if(
		   (type == "SB")||
		   (type == "SNB")
		   
		 ){
		//enabling fields
	    document.getElementById('non_rev_hours').readOnly = false ;
		document.getElementById('hourly_pay_rate').readOnly = false;
		//disabling fields
		document.getElementById('non_rev_miles').readOnly = true;
		document.getElementById('mileage_pay_rate').readOnly = true;
		document.getElementById('total_owed').readOnly = true;
		//Initializing values for the fields
		document.getElementById('mileage_pay_rate').value = "" ;
		document.getElementById('non_rev_miles').value = "" ;
 }else {
	 	//Enabling fields
	    document.getElementById('non_rev_hours').readOnly = false ;
		document.getElementById('hourly_pay_rate').readOnly = false;
		document.getElementById('non_rev_miles').readOnly = false;
		document.getElementById('mileage_pay_rate').readOnly = false;
 }
 */
 
 disableElementByProperty('id','detAdd'); 

}

function validate_form_non_revenue_pay(process){
  valida = true;
  if (f_IsEmpty(FormName.elements['manager_region'],'Manager/Region')==true) return false;

  if (process == "Add"){ 
     if (f_IsEmpty(FormName.elements['comments'],'comments')==true) return false;
     return true;
  }else if(process == "Save"){
	 return true;  
  }else if(process == "Submit"){
	 var answer = confirm ("Are you sure to submit this form?")
     if (answer)
            return true;
     else
            return false;
  }	else if (process == "Approve"){
	 var answer = confirm ("Are you sure to Approve this form?")
     if (answer)
            return true;
     else
            return false;
  }else if (process == "Authorize"){
	 var answer = confirm ("Are you sure to Authorize this form?")
     if (answer)
            return true;
     else
            return false;
  }else if (process == "Decline"){
     if (f_IsEmpty(FormName.elements['comments'],'Comments')==true) return false;
	 var answer = confirm ("Are you sure to decline this report?")
     if (answer)
            return true;
     else
            return false;
  }
  return valida;
}
function validar(){
	
	return false;
}
function validate_form_non_rev_details(process){
  valida = true;
  /*values 0 before inserting*/
  if (f_IsEmptyFocus(FormName.elements['non_rev_miles'],'non_rev_miles',false,false)==true) FormName.elements['non_rev_miles'].value =0;
  else if (f_IsEmptyFocus(FormName.elements['mileage_pay_rate'],'mileage_pay_rate',false,false)==true) 
      FormName.elements['mileage_pay_rate'].value =0;  
  else if (f_IsEmptyFocus(FormName.elements['non_rev_hours'],'non_rev_hours',false,false)==true) 
      FormName.elements['non_rev_hours'].value =0;  
  else if (f_IsEmptyFocus(FormName.elements['hourly_pay_rate'],'hourly_pay_rate',false,false)==true) 
      FormName.elements['hourly_pay_rate'].value =0;  
  /*compulsory fields before any database interaction */
  if (f_IsEmptyFocus(FormName.elements['id'],'Employee Id',false,true)==true)  return false;
  else if (f_IsEmpty(FormName.elements['non_rev_date'],'Date')==true) return false;
  else if (hasSelection(FormName.elements['nonRevAdjTypeId'],'Type of Revenue')==true)  return false;
  else if (f_IsEmpty(FormName.elements['total_owed'],'Total Owed')==true) return false;
  else if (hasSelection(FormName.elements['nonRevPayReasonID'],'Non Revenue Reason')==true) return false;
  /*validation of the specific fields depending upon the kind of revenue */
  ////////////////////////////////////////////////////////////
  f_activate_fields('nonRevPayReasonID',reasons);
  ////////////////////////////////////////////////////////////
  if ( 
	    (FormName.elements['nonRevAdjTypeId'].value == "SB" )
		||
		(FormName.elements['nonRevAdjTypeId'].value == "SNB" )
		||
	   (FormName.elements['nonRevAdjTypeId'].value == "TB" ) 
	    ||
	   (FormName.elements['nonRevAdjTypeId'].value == "TNB" ) 
	 ){
	  if (f_IsEmpty(FormName.elements['tripShiftNumber'],'Trip or Shift Number Required')==true) 	return false;
	  if (f_rates_validation('hourly_pay_rate','maxHourRate')) {
		   alert("Hour Rate is higher than maximum ("+ FormName.elements['maxHourRate'].value +")");
		   FormName.elements['hourly_pay_rate'].focus();
		   return false;
      }else if (f_rates_validation('mileage_pay_rate','maxWaitRate')) {
		   alert("Mileage Rate is higher than maximum ("+ FormName.elements['maxWaitRate'].value +")");
		   FormName.elements['mileage_pay_rate'].focus();
		   return false;
      }
  }else if(
	      FormName.elements['v_ck_total_owed'].value == "Y" 
          )
  {
	  if (f_rates_validation('total_owed','maxMiscRate')){
		   alert("Non-Revenue total value is higher than maximum ("+ FormName.elements['maxMiscRate'].value +")");
		   FormName.elements['total_owed'].focus();
		   return false;
	  }
  }
  else if (FormName.elements['v_ck_total_owed'].value != "Y" ) {
	  if (f_rates_validation('hourly_pay_rate','maxHourRate')) {
		   alert("Hour Rate is higher than maximum ("+ FormName.elements['maxHourRate'].value +")");
		   FormName.elements['hourly_pay_rate'].focus();
		   return false;
      }else if (f_rates_validation('mileage_pay_rate','maxWaitRate')) {
		   alert("Mileage Rate is higher than maximum ("+ FormName.elements['maxWaitRate'].value +")");
		   FormName.elements['mileage_pay_rate'].focus();
		   return false;
      }
  }

  /*validation the maximun rate hours*/
  if (process == "Insert"){ 
     if(FormName.elements['v_ck_total_owed'].value != "Y" )  calc_total_owed();
     return true;
	 
  }else if(process == "Update"){
	 if(FormName.elements['v_ck_total_owed'].value != "Y" )  calc_total_owed();
	 FormName.elements['existing'].value = ""; 
	 return true;  
  }else if(process == "Decline"){
	 FormName.elements['existing'].value = ""; 
     if (f_IsEmpty(FormName.elements['detComments'],'Comment on Details')==true) return false;
	 return true;  
  }else if(process == "Delete"){
	 //alert('el valor de user_uname is '+ FormName.elements['user_uname'].value+ ' : el valor de uname is '+ FormName.elements['uname'].value+ '');
	 FormName.elements['existing'].value = ""; 
	 if((trim(FormName.elements['user_uname'].value) == trim(FormName.elements['uname'].value))==false){
		 
		 
		 disableElementByProperty('id','detDelete');
		 enableElementByProperty('id','detDecline');
		 return false;
	 }
	 var answer = confirm ("Are you sure to delete this record?")
     if (answer)
            return true;
     else
            return false;
  }	 
  return valida;
}

function f_rates_validation(rate, maxrate){
  	var v_rate = FormName.elements[rate].value;
	var v_maxrate = FormName.elements[maxrate].value;
	
	if (parseFloat(v_rate.replace(/,/,"")) > 
		parseFloat(v_maxrate.replace(/,/,""))
	)  return true;
	else return false;
}
function f_validate_date(field){
  check_date(field);
}  

function submitRevenueForm(){
  FormName.elements['existing'].value = "";	
  document.nonRevPayDet.submit();
  return true;  
}

function calc_mile_total(){
  f_prevFormat(FormName.elements['mileage_pay_rate']);
  non_rev_miles =  FormName.elements['non_rev_miles'].value.replace(/,/,"");
  mileage_pay_rate = FormName.elements['mileage_pay_rate'].value.replace(/,/,"");
  if( (non_rev_miles!="")&&(mileage_pay_rate!="") ){
    FormName.elements['mileage_pay_total'].value =  parseFloat(non_rev_miles.replace(/,/,"")) * 
	parseFloat(mileage_pay_rate.replace(/,/,""));
  }
  f_prevFormat(FormName.elements['mileage_pay_total']);
  calc_total_owed();
  FormName.elements['detComments'].focus();
  
}
function calc_hours_total(){
  f_prevFormat(FormName.elements['hourly_pay_rate']);
  non_rev_hours = FormName.elements['non_rev_hours'].value.replace(/,/,"");
  hourly_pay_rate = FormName.elements['hourly_pay_rate'].value.replace(/,/,"");
  if( (non_rev_hours!="")&&(hourly_pay_rate!="") ){
     FormName.elements['hourly_pay_total'].value =  parseFloat(non_rev_hours.replace(/,/,"")) * 
	 parseFloat(hourly_pay_rate.replace(/,/,""));
  }
  f_prevFormat(FormName.elements['hourly_pay_total']);
}

function calc_total_owed(){
  //assuring the values of the fields are correct
  if (FormName.elements['non_rev_miles'].value == "") FormName.elements['non_rev_miles'].value =0;
  if (FormName.elements['mileage_pay_rate'].value == "") FormName.elements['mileage_pay_rate'].value =0;
  if (FormName.elements['non_rev_hours'].value == "") FormName.elements['non_rev_hours'].value = 0;
  if (FormName.elements['hourly_pay_rate'].value == "" ) FormName.elements['hourly_pay_rate'].value = 0;
  
  non_rev_miles =  parseFloat(FormName.elements['non_rev_miles'].value.replace(/,/,""));
  mileage_pay_rate = parseFloat(FormName.elements['mileage_pay_rate'].value.replace(/,/,""));
  non_rev_hours = parseFloat(FormName.elements['non_rev_hours'].value.replace(/,/,""));
  hourly_pay_rate = parseFloat(FormName.elements['hourly_pay_rate'].value.replace(/,/,""));

  mileage_pay_total = non_rev_miles * mileage_pay_rate;
  hourly_pay_total = non_rev_hours * hourly_pay_rate;
 
  FormName.elements['total_owed'].value = ( mileage_pay_total +  hourly_pay_total )
  f_prevFormat(FormName.elements['total_owed']);
  
}
function f_val_date(field){
  check_date(field);
}  

function valNumbers(){
  isNumeric();
}

function disableAllElements(){
   for(i=0; i<document.forms[0].elements.length; i++){
	  type = document.forms[0].elements[i].type;
	  if ((type == 'text')||(type == 'select-one')||(type == 'submit')||(type == 'button')){
		  document.forms[0].elements[i].disabled = true;
	  }
   }
} 

function disableElementByProperty(property,name){
  if (property == "id"){ 
    elem = document.getElementById(name); 
  }else if (property == "name"){	
    elem = FormName.elements[name];
  }
  elem.disabled = true;
}

function enableElementByProperty(property,name){
  if (property == "id"){ 
    elem = document.getElementById(name); 
  }else if (property == "name"){	
    elem = FormName.elements[name];
  }
  elem.disabled = false;
}
///////////////////////////////////////////////////////////////////////////
//  non revenue pay process window
///////////////////////////////////////////////////////////////////////////
function populateHeadingNonRevDetails_proc(v_nonRevPayDetID,v_nonRevPayID,v_id,
						              v_name,v_location,v_non_rev_date,
									  v_rcx_adp_num,v_non_rev_miles,v_mileage_pay_rate,
									  v_mileage_pay_total,v_non_rev_hours,v_hourly_pay_rate,
									  v_hourly_pay_total,v_total_owed,v_nonRevPayReasonID,
									  v_description, v_nonRevAdjTypeId, v_tripShiftNumber, 
									  v_tripShiftDate, v_maxHourRate,v_maxWaitRate,
									  v_maxMiscRate, v_user_uname )
 { 
 FormName.elements['nonRevPayDetID'].value = v_nonRevPayDetID;
 FormName.elements['nonRevPayID'].value = v_nonRevPayID;
 FormName.elements['id'].value = v_id;
 FormName.elements['emp_name'].value = v_name;
 FormName.elements['locationName'].value = v_location;
 FormName.elements['non_rev_date'].value = v_non_rev_date;   
 FormName.elements['rcx_adp_num'].value = v_rcx_adp_num;   
 FormName.elements['non_rev_miles'].value = v_non_rev_miles;
 FormName.elements['mileage_pay_rate'].value = v_mileage_pay_rate;
 FormName.elements['mileage_pay_total'].value = v_mileage_pay_total;   
 FormName.elements['non_rev_hours'].value = v_non_rev_hours;   
 FormName.elements['hourly_pay_rate'].value = v_hourly_pay_rate;
 FormName.elements['hourly_pay_total'].value = v_hourly_pay_total;
 FormName.elements['total_owed'].value = v_total_owed;   
 FormName.elements['nonRevPayReasonID'].value = v_nonRevPayReasonID;  
 FormName.elements['nonRevAdjTypeId'].value = v_nonRevAdjTypeId;  
 FormName.elements['tripShiftNumber'].value = v_tripShiftNumber;  
 setDependantSelectOptions('nonRevAdjTypeId','nonRevPayReasonID',reasons);
 FormName.elements['nonRevPayReasonID'].value = v_nonRevPayReasonID;  
 FormName.elements['tripShiftDate'].value = v_tripShiftDate;  
 FormName.elements['maxHourRate'].value = v_maxHourRate;  
 FormName.elements['maxWaitRate'].value = v_maxWaitRate;  
 FormName.elements['maxMiscRate'].value = v_maxMiscRate;  
 FormName.elements['user_uname'].value = v_user_uname;  
 
 f_activate_fields('nonRevPayReasonID',reasons);
 
}
/////////////////////////////////////////////////////
function validate_form_non_revenue_pay_proc(process){
  valida = true;
  if (hasSelection(FormName.elements['div_id'],'Company')==true)  return false;
 // else if  (hasSelection(FormName.elements['uid_mgr'],'Region/Manager')==true)  return false;

  if (process == "process"){ 
	  var answer = confirm ("Are you sure to Process this company?")
	  if (answer)
			return true;
	  else
			return false;
  }
  return valida;
}
/////////////////////////////////////////////////
function validate_form_non_rev_details_proc(process){
  valida = true;
  if (f_IsEmptyFocus(FormName.elements['non_rev_miles'],'non_rev_miles',false,false)==true) FormName.elements['non_rev_miles'].value =0;
  
  else if (f_IsEmptyFocus(FormName.elements['mileage_pay_rate'],'mileage_pay_rate',false,false)==true) 
      FormName.elements['mileage_pay_rate'].value =0;  
  else if (f_IsEmptyFocus(FormName.elements['non_rev_hours'],'non_rev_hours',false,false)==true) 
      FormName.elements['non_rev_hours'].value =0;  
  else if (f_IsEmptyFocus(FormName.elements['hourly_pay_rate'],'hourly_pay_rate',false,false)==true) 
      FormName.elements['hourly_pay_rate'].value =0;  
  
  if (f_IsEmptyFocus(FormName.elements['id'],'Employee Id',false,true)==true)  return false;
  else if (f_IsEmpty(FormName.elements['non_rev_date'],'Date')==true) return false;
  else if (f_IsEmpty(FormName.elements['total_owed'],'Total Owed')==true) return false;
  else if (hasSelection(FormName.elements['nonRevPayReasonID'],'Non Rev Pay Reason')==true)  return false;
  
    
  /*validation of the specific fields depending upon the kind of revenue */
  ////////////////////////////////////////////////////////////
  f_activate_fields('nonRevPayReasonID',reasons);
  ////////////////////////////////////////////////////////////
  if ( 
	    (FormName.elements['nonRevAdjTypeId'].value == "SB" )
		||
		(FormName.elements['nonRevAdjTypeId'].value == "SNB" )
		||
	   (FormName.elements['nonRevAdjTypeId'].value == "TB" ) 
	    ||
	   (FormName.elements['nonRevAdjTypeId'].value == "TNB" ) 
	 ){
	  if (f_IsEmpty(FormName.elements['tripShiftNumber'],'Trip or Shift Number Required')==true) 	return false;
	  if (f_rates_validation('hourly_pay_rate','maxHourRate')) {
		   alert("Hour Rate is higher than maximum ("+ FormName.elements['maxHourRate'].value +")");
		   FormName.elements['hourly_pay_rate'].focus();
		   return false;
      }else if (f_rates_validation('mileage_pay_rate','maxWaitRate')) {
		   alert("Mileage Rate is higher than maximum ("+ FormName.elements['maxWaitRate'].value +")");
		   FormName.elements['mileage_pay_rate'].focus();
		   return false;
      }
  }else if(
	      FormName.elements['v_ck_total_owed'].value == "Y" 
          )
  {
	  if (f_rates_validation('total_owed','maxMiscRate')){
		   alert("Non-Revenue total value is higher than maximum ("+ FormName.elements['maxMiscRate'].value +")");
		   FormName.elements['total_owed'].focus();
		   return false;
	  }
  }
  else if (FormName.elements['v_ck_total_owed'].value != "Y" ) {
	  if (f_rates_validation('hourly_pay_rate','maxHourRate')) {
		   alert("Hour Rate is higher than maximum ("+ FormName.elements['maxHourRate'].value +")");
		   FormName.elements['hourly_pay_rate'].focus();
		   return false;
      }else if (f_rates_validation('mileage_pay_rate','maxWaitRate')) {
		   alert("Mileage Rate is higher than maximum ("+ FormName.elements['maxWaitRate'].value +")");
		   FormName.elements['mileage_pay_rate'].focus();
		   return false;
      }
  }
  ///////////////////////////////////////////////////////////

  if(process == "Update"){
     if(FormName.elements['v_ck_total_owed'].value != "Y" )  calc_total_owed();
     //last option return true 
	 return true;  
  }else if(process == "Decline"){
     if (f_IsEmpty(FormName.elements['detComments'],'Comment on Details')==true) return false;
	 var answer = confirm ("Are you sure to decline this detail?")
     if (answer)
            return true;
     else
            return false;
  }	 
  return valida;
}
/////////////////////////////////////////////////////
function submitRevProcessForm(){
  document.nonRevPayProcess.submit();
  return true;  
}
////////////////////////////////////////////////////
function f_get_details_div()
{
	box = document.forms[0].div_id;
	division = box.options[box.selectedIndex].value;
	if (division) document.nonRevPayProcess.submit();
}
function f_get_details_reg(){
  //if the form has division 
  if (hasSelection(FormName.elements['div_id'],'Company')==true)  return false;
  //if the form has division and also mgr
  mgr = document.forms[0].uid_mgr;
  uid_mgr = mgr.options[mgr.selectedIndex].value;
  document.nonRevPayProcess.submit();
}
//----------------------------------------------------------------------------------------------------------------------
// END  Section for non revenue pay
//----------------------------------------------------------------------------------------------------------------------
function hideRadioButtonByname(name){
	for(i = 0; i < FormName.elements[name].length; i++) 
	{ 
		cmd = "FormName."+name+"[i].style.visibility='hidden'";    
		eval(cmd);
	}
}
//-----------------------------------------------------------------------------------------------------------------------
//  Additional validation for the APP monitor edition window
//-----------------------------------------------------------------------------------------------------------------------
function checkValueDriver(code){
  var drivercode = code.value;
  var hiringState =FormName.elements['hiringState'].value;
  var userDept =FormName.elements['userDept'].value;
  if (((hiringState=="32")||(hiringState="63"))&&(userDept=="1")&&(drivercode=="004")){
	  enableSpecificElement(3,'DriverTypeId');
	  FormName.elements['DriverTypeId'].focus();
  
  }
}
//-----------------------------------------------------------------------------------------------------------------------
//  Additional validation for the APP monitor edition window
//-----------------------------------------------------------------------------------------------------------------------
function duplicateSSN(){

	alert("The SSN you entered indicate that we have an application for you in our system.  If you are sure that you never applied before, please send an email with your contact information to Employee.services@railcrewxpress.com \nDo not email your SSN");
	var sendUsEmail = confirm("Please send us your Name, Address, Date of Birth and Telephone Number.  Do not include your SSN.");
	if (sendUsEmail)
	{
		location.href = "mailto:Employee.services@railcrewxpress.com?subject=Potential%20Duplicate%20Application";	
	}
}
//-----------------------------------------------------------------------------------------------------------------------
//  Additional validation the nonRevenuePayModule
//-----------------------------------------------------------------------------------------------------------------------
function setDependantSelectOptions(mainFieldName,dependableFieldName,dataArray)
{
  //Main select
  filter=FormName.elements[mainFieldName];
  //Former value of the dependant
  dependantCurValue =  FormName.elements[dependableFieldName].value;
  //Dependable select
  for (i=FormName.elements[dependableFieldName].options.length-1;i>0;i--) {
    FormName.elements[dependableFieldName].options[i] = null;
  }
  for (i=0; i<dataArray.length; i++)
   {
      if ( filter.value == dataArray[i][1])
         {
           var pOption=document.createElement("OPTION");
           pOption.value=dataArray[i][0];
           pOption.text=dataArray[i][2];
           FormName.elements[dependableFieldName].options.add(pOption);
         }
   }
}
//-----------------------------------------------------------------------------------------------------------------------
function f_validate_type_tripshift(){
	/*
     var type = FormName.elements['nonRevAdjTypeId'].value;
	 if (type == "NR"){
	    document.getElementById('non_rev_hours').readOnly = false ;
		document.getElementById('hourly_pay_rate').readOnly = false;
		document.getElementById('total_owed').readOnly = false;
		
		document.getElementById('non_rev_miles').readOnly = true;
		document.getElementById('mileage_pay_rate').readOnly = true;
		
		document.getElementById('non_rev_hours').value = "" ;
		document.getElementById('hourly_pay_rate').value = "" ;
		document.getElementById('non_rev_miles').value = "" ;
		document.getElementById('mileage_pay_rate').value = "" ;
		document.getElementById('hourly_pay_total').value = "" ;
		document.getElementById('mileage_pay_total').value = "" ;
		//document.getElementById('total_owed').value = "";
		
		FormName.elements['tripShiftDate'].value = "";
		//FormName.elements['non_rev_hours'].focus();
	 }else if (
			   (type == "SB")||
			   (type == "SNB")
	 ){
	    //enabling fields
	    document.getElementById('non_rev_hours').readOnly = false ;
		document.getElementById('hourly_pay_rate').readOnly = false;
		//disabling fields
		document.getElementById('non_rev_miles').readOnly = true;
		document.getElementById('mileage_pay_rate').readOnly = true;
		document.getElementById('total_owed').readOnly = true;
		//Initializing values for the fields
		document.getElementById('mileage_pay_rate').value = "" ;
		document.getElementById('non_rev_miles').value = "" ;
	 }else if  (
				(type == "TB")||
				(type == "TNB")||
				(type == "R")
		){
	 	//Enabling fields
	    document.getElementById('non_rev_hours').readOnly = false;
		document.getElementById('hourly_pay_rate').readOnly = false;
		document.getElementById('non_rev_miles').readOnly = false;
		document.getElementById('mileage_pay_rate').readOnly = false;
	 }
	 */
}
//----------------------------------------------------------------------------------------------
function f_ajax_validateTrips(nonRevAdjTypeId,tripShiftNumber){
  xmlHttp=getXmlHttpRequestObject();
  if (xmlHttp==null)
  {
  alert("Your browser does not support AJAX!");
  return false;
  } 

  var v_param =  "?tripShiftNumber="+FormName.elements[tripShiftNumber].value+"";

	
  if (
	  (FormName.elements[nonRevAdjTypeId].value == "TB")||
	  (FormName.elements[nonRevAdjTypeId].value == "TNB")
	 ){
	
	   var url = "checkTripWebTms.php";
	   url=url+v_param;
	   xmlHttp.onreadystatechange=readResponseXMLnonRevCheckTrip;
	   xmlHttp.open("GET",url,true);
	   xmlHttp.send(null);
	   
  }else if (
			(FormName.elements[nonRevAdjTypeId].value == "SB")||
			(FormName.elements[nonRevAdjTypeId].value == "SNB")
      )
      {
	 
	   var url = "checkShiftWebTms.php";
	   url=url+v_param;
	   xmlHttp.onreadystatechange=readResponseXMLnonRevCheckShift;
	   xmlHttp.open("GET",url,true);
	   xmlHttp.send(null);
	   
  }else{
	  
		if (FormName.elements['btnDetAdd'].value == "Y")  enableElementByProperty('id','detAdd'); 
		if (FormName.elements['btnDetDelete'].value == "Y")  enableElementByProperty('id','detDelete'); 
		if (FormName.elements['btnDetSave'].value == "Y")  enableElementByProperty('id','detSave'); 
  }
}
//----------------------------------------------------------------------------------------
var xmlHttp;
function f_ajax_valNonRevReasonRates(nonRevPayReasonID){
  xmlHttp=getXmlHttpRequestObject();
  if (xmlHttp==null)
  {
  alert("Your browser does not support AJAX!");
  return false;
  } 

  var v_param =  "?nonRevPayReasonID="+FormName.elements[nonRevPayReasonID].value;
	
  var url = "checkReasonRates.php";
  url=url+v_param;
  xmlHttp.onreadystatechange=readResponseXMLnonRevRatesPayReason;
  xmlHttp.open("GET",url,true);
  xmlHttp.send(null);
	   
}

//------------------------------------------------------------------------------------------------------------
function readResponseXMLnonRevCheckTrip() 
{ 
 if (xmlHttp.readyState==4)
  { 
		if (window.ActiveXObject)
		{
			var doc=new ActiveXObject("Microsoft.XMLDOM");
			doc.async="false";
			doc.loadXML(xmlHttp.responseText);
		}
		// code for Mozilla, Firefox, Opera, etc.
		else
		  {
		  var parser=new DOMParser();
		  var doc=parser.parseFromString(xmlHttp.responseText,"text/xml");
		  }
		
		var x=doc.documentElement;
		if (doc.getElementsByTagName("Count").item(0).text == "0"){
		
		   txtAlert = 
		              "Shift/Trip has been already payrolled as shown below with this # \n\n"+
		              "Trip Number        : " + FormName.elements['tripShiftNumber'].value + "\n" + 
		   			  "Driver             : " + doc.getElementsByTagName("DriverName").item(0).text  + "\n"+
		              "Call DT            : " + doc.getElementsByTagName("CallDT").item(0).text  + "\n"+
					  "Date Payrolled     : " + doc.getElementsByTagName("DatePayrolled").item(0).text  + "\n"+
					  "Trip Payment       : " + doc.getElementsByTagName("TripPayment").item(0).text  + "\n"+
					  "Side Trip Payment  : " + doc.getElementsByTagName("SideTripPayment").item(0).text  + "\n"+
					  "Wait Time Payment  : " + doc.getElementsByTagName("WaitTimePayment").item(0).text  + "\n"+
					  "Return Payment     : " + doc.getElementsByTagName("ReturnPayment").item(0).text  + "\n"+
					  "Miles Run          : " + doc.getElementsByTagName("MilesRun").item(0).text  + "\n"+
					  "Wait Minutes       : " + doc.getElementsByTagName("WaitMinutes").item(0).text  + "\n";
					  
		   FormName.elements['tripShiftDate'].value =  doc.getElementsByTagName("CallDT").item(0).text.substr(0,10);
		   
		   if (FormName.elements['view'].value == "F"){

			   if (FormName.elements['btnDetAdd'].value == "Y")  enableElementByProperty('id','detAdd'); 
			   if (FormName.elements['btnDetDelete'].value == "Y")  enableElementByProperty('id','detDelete'); 
			   if (FormName.elements['btnDetSave'].value == "Y")  enableElementByProperty('id','detSave'); 
		   }else{
			   enableElementByProperty('id','detSave'); 
		   }
		   
		   alert(txtAlert);
		   FormName.elements['nonRevPayReasonID'].focus();
		   return true;
		 
		}else
		{
		   
		   txtAlert = ""+  doc.getElementsByTagName("ErrorMessages").item(0).text ;

			if (FormName.elements['view'].value == "F"){
			   disableElementByProperty('id','detAdd'); 
			   disableElementByProperty('id','detSave'); 
			   disableElementByProperty('id','detDelete'); 
			}
		   
		   alert(txtAlert);
		   FormName.elements['tripShiftNumber'].focus();
		   return false;
		}
  }
}
//------------------------------------------------------------------------------------------------------------
function readResponseXMLnonRevCheckShift() 
{ 
 if (xmlHttp.readyState==4)
  { 
		if (window.ActiveXObject)
		{
			var doc=new ActiveXObject("Microsoft.XMLDOM");
			doc.async="false";
			doc.loadXML(xmlHttp.responseText);
		}
		// code for Mozilla, Firefox, Opera, etc.
		else
		  {
		  var parser=new DOMParser();
		  var doc=parser.parseFromString(xmlHttp.responseText,"text/xml");
		  }
		
		var x=doc.documentElement;
		if (doc.getElementsByTagName("Count").item(0).text == "0"){
		
		   txtAlert = "Shift/Trip has been already payrolled as shown below with this # \n\n"+
		   			  "Shift Number       : " + FormName.elements['tripShiftNumber'].value + "\n" + 
		   			  "Driver             : " + doc.getElementsByTagName("DriverName").item(0).text  + "\n"+
		              "Shift Start Date   : " + doc.getElementsByTagName("ShiftStartDT").item(0).text  + "\n"+
					  "Date Payrolled     : " + doc.getElementsByTagName("PayrollDate").item(0).text  + "\n"+
					  "Payroll Amount     : " + doc.getElementsByTagName("PayrollAmount").item(0).text  + "\n"+
					  "Shift Hours        : " + doc.getElementsByTagName("ShiftHours").item(0).text  + "\n";
					  
		   FormName.elements['tripShiftDate'].value =  doc.getElementsByTagName("ShiftStartDT").item(0).text.substr(0,10);
		   
		   if (FormName.elements['view'].value == "F"){
				   if (FormName.elements['btnDetAdd'].value == "Y")  enableElementByProperty('id','detAdd'); 
				   if (FormName.elements['btnDetDelete'].value == "Y")  enableElementByProperty('id','detDelete'); 
				   if (FormName.elements['btnDetSave'].value == "Y")  enableElementByProperty('id','detSave'); 
		   }else{
			   enableElementByProperty('id','detSave'); 
		   }
		   
		   alert(txtAlert);
		   FormName.elements['nonRevPayReasonID'].focus();
		   return true;
		 
		}else
		{
		   txtAlert = ""+  doc.getElementsByTagName("ErrorMessage").item(0).text ;
		   
		    if (FormName.elements['view'].value == "F"){
				   disableElementByProperty('id','detAdd'); 
				   disableElementByProperty('id','detSave'); 
				   disableElementByProperty('id','detDelete'); 
			}
		   
		   alert(txtAlert);
		   FormName.elements['tripShiftNumber'].focus();
		   return false;
		}
  }
}
//------------------------------------------------------------------------------------------------------------
function readResponseXMLnonRevRatesPayReason() 
{ 
 if (xmlHttp.readyState==4)
  { 
		if (window.ActiveXObject)
		{
			var doc=new ActiveXObject("Microsoft.XMLDOM");
			doc.async="false";
			doc.loadXML(xmlHttp.responseText);
		}
		// code for Mozilla, Firefox, Opera, etc.
		else
		  {
		  var parser=new DOMParser();
		  var doc=parser.parseFromString(xmlHttp.responseText,"text/xml");
		  }
		
		var x=doc.documentElement;
		
		FormName.elements['maxHourRate'].value =  doc.getElementsByTagName("maxHourRate").item(0).text;
		FormName.elements['maxWaitRate'].value =  doc.getElementsByTagName("maxWaitRate").item(0).text;
		FormName.elements['maxMiscRate'].value =  doc.getElementsByTagName("maxMiscRate").item(0).text;
		
  }
}
//------------------------------------------------------------------------------------------------------------
/*

function f_validateEnablingFields(){
 var type = FormName.elements['nonRevAdjTypeId'].value;
 if (type == "NR"){
	 	document.getElementById('non_rev_hours').readOnly = false ;
		document.getElementById('hourly_pay_rate').readOnly = false;
		document.getElementById('total_owed').readOnly = false;
		document.getElementById('non_rev_miles').readOnly = true;
		document.getElementById('mileage_pay_rate').readOnly = true;
		FormName.elements['tripShiftDate'].value = "0000-00-00";
 }else if(
		  (type == "SB")||
		  (type == "SNB")
		 ){
		//enabling fields
	    document.getElementById('non_rev_hours').readOnly = false ;
		document.getElementById('hourly_pay_rate').readOnly = false;
		
		//disabling fields
		document.getElementById('non_rev_miles').readOnly = true;
		document.getElementById('mileage_pay_rate').readOnly = true;
		document.getElementById('total_owed').readOnly = true;
		//Initializing values for the fields
 }else {
	 	//Enabling fields
	    document.getElementById('non_rev_hours').readOnly = false ;
		document.getElementById('hourly_pay_rate').readOnly = false;
		document.getElementById('non_rev_miles').readOnly = false;
		document.getElementById('mileage_pay_rate').readOnly = false;
 }
}

*/
//------------------------------------------------------------------------------------------------------------
function f_ajax_val_tripShiftB4_submit(nonRevAdjTypeId,tripShiftNumber){
  xmlHttp=getXmlHttpRequestObject();
  if (xmlHttp==null)
  {
  alert("Your browser does not support AJAX!");
  return false;
  } 

  var v_param =  "?tripShiftNumber="+FormName.elements[tripShiftNumber].value+"";
	
  if (
        (FormName.elements[nonRevAdjTypeId].value == "TB")||
		(FormName.elements[nonRevAdjTypeId].value == "TNB")
	){
	
	   var url = "checkTripWebTms.php";
	   url=url+v_param;
	   xmlHttp.onreadystatechange=readResponseXMLnonRevValidShiftTrip;
	   xmlHttp.open("GET",url,true);
	   xmlHttp.send(null);
	   
  }else if (
			 (FormName.elements[nonRevAdjTypeId].value == "SB")||
			 (FormName.elements[nonRevAdjTypeId].value == "SNB")
		   ){
	 
	   var url = "checkShiftWebTms.php";
	   url=url+v_param;
	   xmlHttp.onreadystatechange=readResponseXMLnonRevValidShiftTrip;
	   xmlHttp.open("GET",url,true);
	   xmlHttp.send(null);
	   
  }
}
//------------------------------------------------------------------------------------------------------------
function readResponseXMLnonRevValidShiftTrip() 
{ 
 if (xmlHttp.readyState==4)
  { 
		if (window.ActiveXObject)
		{
			var doc=new ActiveXObject("Microsoft.XMLDOM");
			doc.async="false";
			doc.loadXML(xmlHttp.responseText);
		}
		// code for Mozilla, Firefox, Opera, etc.
		else
		  {
		  var parser=new DOMParser();
		  var doc=parser.parseFromString(xmlHttp.responseText,"text/xml");
		  }
		
		var x=doc.documentElement;
		if (doc.getElementsByTagName("Count").item(0).text == "1"){
			  if (
					  (
					   (FormName.elements['nonRevAdjTypeId'].value == "SB" )
					   ||
					   (FormName.elements['nonRevAdjTypeId'].value == "SNB" )
					   ||
					   (FormName.elements['nonRevAdjTypeId'].value == "TB" )
					   ||
					   (FormName.elements['nonRevAdjTypeId'].value == "TNB" ) 
					  )
					  &&
					  (FormName.elements['view'].value == "F")
			  )   
			  {
					disableElementByProperty('id','detAdd'); 
					disableElementByProperty('id','detSave'); 
					disableElementByProperty('id','detDelete'); 
			  }else if(
					  (
					   (FormName.elements['nonRevAdjTypeId'].value == "SB" )
					   ||
					   (FormName.elements['nonRevAdjTypeId'].value == "SNB" ) 
					   ||
					   (FormName.elements['nonRevAdjTypeId'].value == "TB" ) 
					   ||
					   (FormName.elements['nonRevAdjTypeId'].value == "TNB" ) 
					  )
					  &&
					  (FormName.elements['view'].value == "P")
			  )   
			  {
					disableElementByProperty('id','detSave'); 
			  }
		}
  }
}
//------------------------------------------------------------------------------------------------------------
function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}
function ltrim(stringToTrim) {
	return stringToTrim.replace(/^\s+/,"");
}
function rtrim(stringToTrim) {
	return stringToTrim.replace(/\s+$/,"");
}
//-------------------------------------------------------------------------------------------------------------
function f_ajax_valTripsEpay(){
  xmlHttp=getXmlHttpRequestObject();
  if (xmlHttp==null)
  {
  alert("Your browser does not support AJAX!");
  return false;
  } 

  var v_param =  "?nonRevAdjTypeId="+FormName.elements['nonRevAdjTypeId'].value+
                 "&tripShiftNumber="+FormName.elements['tripShiftNumber'].value+"";
	
  var url = "checkTripsShiftsEPay.php";
  url=url+v_param;
  xmlHttp.onreadystatechange=readResponseXMLcheckEPayTrips;
  xmlHttp.open("GET",url,true);
  xmlHttp.send(null);
	   
}
//-------------------------------------------------------------------------------------------------------------
function readResponseXMLcheckEPayTrips() 
{ 
 if (xmlHttp.readyState==4)
 { 
	if( xmlHttp.status==200){		
		if (window.ActiveXObject)
		{
			var doc=new ActiveXObject("Microsoft.XMLDOM");
			doc.async="false";
			doc.loadXML(xmlHttp.responseText);
		}
		// code for Mozilla, Firefox, Opera, etc.
		else
		  {
		  var parser=new DOMParser();
		  var doc=parser.parseFromString(xmlHttp.responseText,"text/xml");
		  }
		
		var x=doc.documentElement;
		if (doc.getElementsByTagName("Count").item(0).text != "0"){
		   
		   txtAlert = "A payroll adjustment has already been submitted for this shift/trip as shown below : \n\n" +
		   			  "Driver             : " + doc.getElementsByTagName("name").item(0).text  + "\n"+
		              "Form #             : " + doc.getElementsByTagName("nonRevPayID").item(0).text  + "\n"+
					  "Transaction        : " + doc.getElementsByTagName("nonRevPayDetID").item(0).text  + "\n"+
					  "Status             : " + doc.getElementsByTagName("status").item(0).text  + "\n";
					  
			if (FormName.elements['view'].value == "F"){
				   disableElementByProperty('id','detAdd'); 
				   disableElementByProperty('id','detSave'); 
				   disableElementByProperty('id','detDelete'); 
			}
		  
		   alert(txtAlert);
		   FormName.elements['tripShiftNumber'].focus();
		   FormName.elements['existing'].value = "Y";
		   return false;
		 
		}else
		{
		   txtAlert = ""+  doc.getElementsByTagName("ErrorMessages").item(0).text ;
		   
		   if (FormName.elements['view'].value == "F"){
				   if (FormName.elements['btnDetAdd'].value == "Y")  enableElementByProperty('id','detAdd'); 
				   if (FormName.elements['btnDetDelete'].value == "Y")  enableElementByProperty('id','detDelete'); 
				   if (FormName.elements['btnDetSave'].value == "Y")  enableElementByProperty('id','detSave'); 
		   }else{
			   enableElementByProperty('id','detSave'); 
		   }
		   //alert(txtAlert);
		   FormName.elements['existing'].value = "N";
		   return true;
		}
    }
  }
}
///-------------------------------------------------------------------------------------------------------------------
/***********************************
  RCX Structure option - Window assistGM
***********************************/
function populateHeadingassistGM(v_field1,v_field2,v_field3,
						v_field4,v_field5,v_field6,v_field7,v_field8 )
 { 

 FormName.elements['assistGMId'].value = v_field1;
 FormName.elements['assistGMDesc'].value = v_field2;
 FormName.elements['uid_mgr'].value = v_field4;
 FormName.elements['phone'].value = v_field5;
 FormName.elements['email'].value = v_field6;   

}
function validate_form_assistGM(process){
  
  valida = true;
  if (f_IsEmpty(FormName.elements['assistGMDesc'],'Assistant General Manager ')==true)  return false;
  else if (hasSelection(FormName.elements['uid_mgr'],'Manager Name')==true)  return false;
  else if (f_IsEmpty(FormName.elements['phone'],'Phone ')==true)  return false;

  
  if (process == "Insert"){ 
     return true;
	 
  }else if(process == "Update"){
	 return true;  
  }else if(process == "Delete"){
	 var answer = confirm ("Are you sure to delete this record?")
     if (answer)
            return true;
     else
            return false;
  }	 
  return valida;
  
}
function clearFieldsassistGM(){
 FormName.elements['assistGMId'].value = "";
 FormName.elements['assistGMDesc'].value = "";
 FormName.elements['uid_mgr'].value = "";
 FormName.elements['phone'].value = "";
 FormName.elements['email'].value = "";   
	
	
}
//--------------------------------------------------------------------------
function f_nonRevpopulateReasonsAndFieldEnabling(){

  setDependantSelectOptions('nonRevAdjTypeId','nonRevPayReasonID',reasons);
  
}
//---------------------------------------------------------
function f_activate_fields(nonRevPayReasonID,reasons){

	document.getElementById('total_owed').style.backgroundColor = '#CCCCCC'; 
	document.getElementById('hourly_pay_total').style.backgroundColor = '#CCCCCC'; 
	document.getElementById('mileage_pay_total').style.backgroundColor = '#CCCCCC'; 
	document.getElementById('non_rev_hours').style.backgroundColor = '#CCCCCC'; 
	document.getElementById('hourly_pay_rate').style.backgroundColor = '#CCCCCC'; 
	document.getElementById('non_rev_miles').style.backgroundColor  = '#CCCCCC'; 
	document.getElementById('mileage_pay_rate').style.backgroundColor  = '#CCCCCC'; 
	
	document.getElementById('non_rev_hours').readOnly = true ;
	document.getElementById('hourly_pay_rate').readOnly = true;
	document.getElementById('non_rev_miles').readOnly = true;
	document.getElementById('mileage_pay_rate').readOnly = true;
	document.getElementById('total_owed').readOnly = true;
    v_nonRevPayReasonID = FormName.elements[nonRevPayReasonID].value;
	
    //alert('The value selected is  --> '+v_nonRevPayReasonID);
	for (i=0; i<reasons.length; i++){
	    if ( v_nonRevPayReasonID == reasons[i][0]){
		    v_ck_hours = reasons[i][3];
			v_ck_miles = reasons[i][4];
			v_ck_total_owed = reasons[i][5];
			
			FormName.elements['v_ck_hours'].value = reasons[i][3];
			FormName.elements['v_ck_miles'].value = reasons[i][4];
			FormName.elements['v_ck_total_owed'].value = reasons[i][5];
		    //Section for activating hours
			if ( v_ck_hours == "Y"){
				document.getElementById('non_rev_hours').readOnly = false ;
				document.getElementById('hourly_pay_rate').readOnly = false;
				document.getElementById('non_rev_hours').style.backgroundColor = '#FFFFFF'; 
				document.getElementById('hourly_pay_rate').style.backgroundColor = '#FFFFFF'; 
 
			}
			if (v_ck_miles == "Y"){
				document.getElementById('non_rev_miles').readOnly = false;
				document.getElementById('mileage_pay_rate').readOnly = false;
				document.getElementById('non_rev_miles').style.backgroundColor  = '#FFFFFF'; 
				document.getElementById('mileage_pay_rate').style.backgroundColor  = '#FFFFFF'; 
				
			}
			if (v_ck_total_owed == "Y"){
				document.getElementById('total_owed').readOnly = false;
				document.getElementById('total_owed').style.backgroundColor  = '#FFFFFF'; 
			}
	   }
	}
	//The following step is to validate the treshold for the values
	f_ajax_valNonRevReasonRates('nonRevPayReasonID');
}
//------------------------------------------------------------------------------------------------
function f_nonRevCheckWEBTMS(){
   var v_selected = FormName.elements['nonRevAdjTypeId'].value ;
   calc_hours_total();
   
   if (
         (v_selected == "TB") 
		 || 
		 (v_selected == "TNB")
		 ||
		 (v_selected == "SB")
		 ||
		 (v_selected == "SNB")
	  ){
         FormName.elements['existing'].value = 0;
         document.nonRevPayDet.submit();
   }else {
         FormName.elements['existing'].value = 0;
		 if (FormName.elements['btnDetAdd'].value == "Y")  enableElementByProperty('id','detAdd'); 
		 if (FormName.elements['btnDetDelete'].value == "Y")  enableElementByProperty('id','detDelete'); 
		 if (FormName.elements['btnDetSave'].value == "Y")  enableElementByProperty('id','detSave'); 
   }
   // take focus the next field
   //FormName.elements['nonRevPayReasonID'].focus();		 
}
//------------------------------------------------------------------------------------------------------------
function readCookie1(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);

	}
	return null;
}
//------------------------------------------------------------------------------------------------------------
function  f_test_cookie(){
   var  v_string = readCookie1('cookie_info');
   //alert(v_string);
}
//------------------------------------------------------------------------------------------------------------
function f_calculationFormProcessingJump(objName,obj){
  
  v_ck_hours = FormName.elements['v_ck_hours'].value;
  v_ck_miles = FormName.elements['v_ck_miles'].value;
  v_ck_total_owed = FormName.elements['v_ck_total_owed'].value;
  //Function if grand total open at first
  if ((objName=="nonRevPayReasonID")&&(v_ck_total_owed=="Y" )){
		document.getElementById('non_rev_hours').value = "" ;
		document.getElementById('hourly_pay_rate').value = "" ;
		document.getElementById('non_rev_miles').value = "" ;
		document.getElementById('mileage_pay_rate').value = "" ;
		document.getElementById('hourly_pay_total').value = "" ;
		document.getElementById('mileage_pay_total').value = "" ;
		FormName.elements['total_owed'].focus();
  }
  //Function if hours open at first
  if ((objName=="nonRevPayReasonID")&&(v_ck_hours=="Y" )){
		document.getElementById('non_rev_hours').value = "" ;
		document.getElementById('hourly_pay_rate').value = "" ;
		document.getElementById('hourly_pay_total').value = "" ;
	    document.getElementById('non_rev_miles').value = "" ;
	    document.getElementById('mileage_pay_rate').value = "" ;	
		document.getElementById('mileage_pay_total').value = "" ;
	    document.getElementById('total_owed').value = "" ;	
		
		FormName.elements['non_rev_hours'].focus();
  }
  if ((objName=="nonRevPayReasonID")&&(v_ck_hours!="Y" ) && (v_ck_miles == "Y")){
		document.getElementById('non_rev_hours').value = "" ;
		document.getElementById('hourly_pay_rate').value = "" ;
		document.getElementById('hourly_pay_total').value = "" ;
	    document.getElementById('non_rev_miles').value = "" ;
	    document.getElementById('mileage_pay_rate').value = "" ;	
		document.getElementById('mileage_pay_total').value = "" ;
	    document.getElementById('total_owed').value = "" ;	
		
		FormName.elements['non_rev_miles'].focus();
  }
  if ((objName=="hourly_pay_rate")&&(v_ck_hours=="Y" )){
      
	  if (v_ck_miles == "Y"){
	     f_prevFormat(obj);
		 calc_hours_total();
	     FormName.elements['non_rev_miles'].focus();
	  }else{
	     document.getElementById('total_owed').value = "" ;
	     f_prevFormat(obj);
		 calc_hours_total();
		 calc_total_owed();  
	     FormName.elements['detComments'].focus();
	  }
  
  }

}
//--------------------------------------------------------------------------------------------------------------------------
// JavaScript Document
function f_validaSSN(objT){
 var objField = document.getElementById(objT);
 checkDuplicateSSN_newHire(objField);
 return false;
}
function checkDuplicateSSN_newHire(obj){
  xmlHttp=getXmlHttpRequestObject(); 
  if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  } 

  var url="checkAppMasterBySSN.php?";
  url=url+"ssn="+obj.value;
  xmlHttp.onreadystatechange=stateSocialSecurityNumber;
  xmlHttp.open("GET",url,true);
  xmlHttp.send(null);
}
function stateSocialSecurityNumber() 
{ 
 if (xmlHttp.readyState==4)
  { 
	if (trim(xmlHttp.responseText) == "Y"){
	   alert('Social Security Number already exist!!!');
	   document.getElementById('duplicate').value = xmlHttp.responseText;
	   document.getElementById('ssn').focus();
	}else  document.getElementById('duplicate').value = "N";
  }
}
//------------------------------------------------------------------------------------------------------------------------------