/*	
	-------------------------------
	Functions for the Career Center
	Revised 3.5.02
	By Nate Austin
	-------------------------------
*/

// Begin Pickjobs
function pickjobs(FormName, SelectBox)
{	  			
	temp = "document." + FormName + "." + SelectBox;	
	Source = eval(temp);

	for(x=0; x<(Source.length); x++)
	{  		
		Source.options[x].selected = "true";
	}

}

// End Pickjobs

// Begin check browser
var browser;
function checkbrowser()
{
	if (parseInt(navigator.appVersion.charAt(0)) >= 4 )
    {
    	if (navigator.appName == "Netscape" ) 
		{
    		browser="NS";
		}
	    else 
	    {
			if (navigator.appVersion.indexOf("MSIE") != -1 ) 
	        {
	        	browser="IE";
			}
	        else 
	        {
    	    	browser="Unknown";
			}
		}
	}
	else 
	{
		browser="Unknown";
	}
}
// End check browser
	
// Begin Check Date
function checkdate(opd)
{
	var m=opd[1].selectedIndex;
    var d=opd[0].selectedIndex;
    var y=opd[2].selectedIndex;

    if (m+d+y == 0) return true;
    else if ( m == 0 || d == 0 || y == 0)
	{
    	alert("Invalid date");
        return false;
	}
    y += 1996;
    switch (m)
	{
    	case 4:
        case 6:
        case 9:
        case 11: if (d == 31) return dalert(m+"/"+d+"/"+y);
                 break;
        case 2: if (d > 29) return dalert(m+"/"+d+"/"+y);
                if ((d > 28) && (y % 4)) return dalert(m+"/"+d+"/"+y);
                if ((y%100 == 0) && (d == 29))
                    if (y%400) return dalert(m+"/"+d+"/"+y);
        default: break;
	}
        return true;
    }
// End Check Date

// Begin Next / Previous page 
    function gopagejobext(p, t) {
        var l = eval(document.candschema.LIST.value);
        if (isNaN(l)) l = 10; //default = 10

        if (p <= 0) {
             alert("You have reached the beginning");
             return;
        }
        if ((p-1)*l >= t) {
            alert("You have reached the end");
            return;
        }

        document.candschema.action = "jobsearchlist.asp?PAGE="+p;
        document.candschema.submit();
    }
// End Next / Previous page 

// Begin remove job from cart
function rmcart(b,tot, p, l) {
   		if (typeof(b.form.JID) == "undefined") {
			if (typeof(b.form.ID) != "undefined") b.form.ID.name = "JID";
            else return;
        }
     
        var boolChecked;
        if(tot > 1){
			for(i=0;i<tot;i++){
	
				if (b.form.JID[i].value != null)
				{
					if (b.form.JID[i].checked == true){    
						boolChecked = true;
					}
				}
				else
				{
					i = tot + 1;
				}
			}
        }
        else{
				if (b.form.JID.checked == true){
					 boolChecked = true;
				 }
        }
       
        if (!boolChecked){
        alert("Please select the job(s) you would like to remove from the Job Cart. To select a job, click its corresponding checkbox and then click the 'Remove from Cart' button.");
        return;
        }
      
        b.form.action = "mycart.asp?cmd=24&PAGE="+p+"&LIST="+l;
        b.form.submit();
    }
function rmcart1(b,tot)
{
	if (typeof(b.form.JID) == "undefined")
	{
		if (typeof(b.form.ID) != "undefined") b.form.ID.name = "JID";
        else return;
	}
    b.form.action = "mycart.asp?cmd=24";
    b.form.submit();
}
// End remove job from cart

// Begin phone # verification (used by candveri.xsl)
function compareitem(frm, text)
{
	var PhoneNo, temp;
    var t;

    temp = new String(text);
    t = '';
	for (var i=0; i<temp.length; i++)
	{
		if (temp.charAt(i) >= '0' && temp.charAt(i) <= '9')
	    t += temp.charAt(i);
	}
    temp = new String(frm.veri.value);
    PhoneNo = '';
	for (i=0; i<temp.length; i++)
	{
	    if (temp.charAt(i) >= '0' && temp.charAt(i) <= '9')
	    PhoneNo += temp.charAt(i);
	}
        return PhoneNo == t;
    }
// End phone # verification

// Begin coverme 
function coverme()
{
	var winCover;
	checkbrowser();

    if (!winCover || winCover.closed)
    {
		if (browser=="NS")
		{
        	winCover=window.open("../client/template/coverme.html","CoverMe","toolbar=0,location=1,directories=0,status=1,menubar=1,scrollbars=1,resizable=1,width=800,height=600");
         }
         else
		 {
         	winCover=window.open("../client/template/coverme.html","CoverMe","toolbar=0,location=1,directories=0,status=1,menubar=1,scrollbars=1,resizable=1,width=800,height=600");
         }
         winCover.moveTo(0,0);
         if (browser=="IE")
         {
         	winCover.resizeTo(screen.availWidth,screen.availHeight);
         }
         else
         {
         	winCover.resizeTo(screen.availWidth,screen.availHeight*0.95);
         }
         if (!winCover.opener)
         {
         	winCover.opener=window;
         }
	}
    else
    {
    	winCover.focus();
	}
}
// End coverme


// Begin remove item
function rmoneitem(oMenu)
{
	var op;

    for (var i=0; i<oMenu.length; i++)
	{
    	if (oMenu.options[i].selected)
			{
            	oMenu.options[i] = null;
                break;
            }
	}
    if (navigator.appName == "Netscape") history.go(0);
}
// End remove item

// Added by Vijay 
function sortbyCart(v)
{
	document.candschema.action = "mycart.asp"
	if ( v == "JOBREQ" )
	{
		//v = "to_number("+v+")";
	}
    else if (v != "D1" && v != "D2" && v != "D3" && v !="PHONE1" && v != "CREATEDATE")
	{
		v = "upper("+v+")";
	}
    if (v == document.candschema.SORT.value) document.candschema.SORT.value = v + " DESC";
    else document.candschema.SORT.value = v;
    document.candschema.submit();
}
// End of chnages

// Begin sort
function sortby(v)
{
	document.candschema.action = window.location;
	if ( v == "JOBREQ" )
	{
		//v = "to_number("+v+")";
	}
    else if (v != "D1" && v != "D2" && v != "D3" && v !="PHONE1" && v != "CREATEDATE")
	{
		v = "upper("+v+")";
	}
    if (v == document.candschema.SORT.value) document.candschema.SORT.value = v + " DESC";
    else document.candschema.SORT.value = v;
    document.candschema.submit();
}
// End sort

// Begin strip character
function stripcar(txt)
{
	var t="";
    for (i=0; i<txt.length; i++) if ((txt.charAt(i) >= 'A' && txt.charAt(i) <= 'Z')||(txt.charAt(i) >= '0' && txt.charAt(i) <= '9'))  t += txt.charAt(i);
    return t;
}
// End strip character	

// Begin strip
function strip(txt)
{
	var t="";
    for (i=0; i<txt.length; i++) if (txt.charAt(i) >= '0' && txt.charAt(i) <= '9') t += txt.charAt(i);
    return t;
}
// End strip

// Begin strip number
function stripno(txt)
{
	var t="";
	for (i=0; i<txt.length; i++)
	if ((txt.charAt(i) >= 'A' && txt.charAt(i) <= 'Z') || (txt.charAt(i) >= 'a' && txt.charAt(i) <= 'z'))
	{
		return false;
	}
			
	return true;
}    
// End strip number

function isEmpty(s){
	return(s.length == 0 || s == "" || s == null);
}

function Invalidtest(x)
{
	var p=0
	var q=0
	invalidchar=new String("!#$%^&*()-+=|\{[}]:;'<,>?/~`")
	for(i=0;i<invalidchar.length;i++){
		badchar=invalidchar.charAt(i)
		if(x.indexOf(badchar)==-1){	p=p+2 }
		else{
			alerts+="You cannot enter "+badchar+" in email Ids\n"
			q=q+2
			}
		}
		if(q==0){	return true		}
		else{	return false		}
}

function ValidEmail(a)
{
E1flag=false
E2flag=false
E3flag=false
E4flag=false
E5flag=false

d=a.value

alerts = "";
//d=document.form.EMAIL.value

for(i=0;i<d.length;i++)	{
		k=d.substring(i,i+1)
		if(k=="@"){
			if((i==0) ||d.substring((i+1),(i+2))=="." || d.substring((i+1),(i+2))==""|| !(d.indexOf("@",i+1)==-1)){
					if(E1flag==false){
					//alerts+="Error :'@ at the beginning /or end /or more than one /or dot after @\n"
					alerts+="Error :Invalid use of @ or dot\n"
					E1flag=true
					}				
				}
			}
			
			
			if(k=="_")
			{
			if((d.substring((i+1),(i+2))=="_"))
				{
					if(E5flag==false)
					{
					alerts+="You cannot use two '_' together\n"
					E5flag=true
					}				
				}
			}
			
			
		if(k==".")
			{
				if((i==0) || d.substring((i+1),(i+2))=="@" || d.substring((i+1),(i+2))=="" ||d.substring((i+1),(i+2))=="." )
				
					{
						if(E2flag==false)
						{
						//alerts+="Error: dot at beginning or last / @ after dot /or dot after dot\n"
						alerts+="Error :Invalid use of @ or dot\n"
						E2flag=true
						}	
					}
			}
		if(k==" ")
			{
				if(E3flag==false)
				{
				alerts+="Cannot leave Space in Email Ids\n"			
				E3flag=true
				}
		}
				
	}
	if(!Invalidtest(d)){E4flag=true}
	if(!isEmpty(d) && d.indexOf("@",0)==-1){
		E1flag=true
		alerts+="There is no '@' in your Email Id\n"
	}
	if(d.indexOf(".",0)==-1 && !isEmpty(d)){
		E2flag=true
		alerts+="There is no 'dot' in your Email Id\n"
	}	
	if(isEmpty(d)){
			//alerts+="You cannot leave Email Field blank\n"
			//E5flag=true 
	}
	if(E1flag==true || E2flag==true ||E3flag==true||E4flag==true ||E5flag==true){
		alert(alerts)
		alerts=""
		a.value=""
		a.focus()
		return false
	}	
}

function ValidEmailInt(v,a)
{

Eflag=false
E1flag=false
E2flag=false
E3flag=false
E4flag=false
E5flag=false
E6flag=false


d=a.value;
e=v.value;
vArray=e.split(":");

alerts = "";
//d=document.form.EMAIL.value

for(i=0;i<d.length;i++)	{
		k=d.substring(i,i+1)
		if(Eflag == false){
			flag=false;
			for(i=0;i<vArray.length && d.length>0 && flag == false;i++)	{
				upperd = d.toUpperCase()
				var result = upperd.match(vArray[i]);
				if (result != null){
					flag = true
				}
			}
			if(flag == false){
					alerts+="Invalid Employee Email Address\n"
					E6flag=true;
			}
			Eflag=true;
		}
		if(k=="@"){
			if((i==0) ||d.substring((i+1),(i+2))=="." || d.substring((i+1),(i+2))==""|| !(d.indexOf("@",i+1)==-1)){
					if(E1flag==false){
					//alerts+="Error :'@ at the beginning /or end /or more than one /or dot after @\n"
					alerts+="Error :Invalid use of @ or dot\n"
					E1flag=true
					}				
				}
			}
			
			
			if(k=="_")
			{
			if((d.substring((i+1),(i+2))=="_"))
				{
					if(E5flag==false)
					{
					alerts+="You cannot use two '_' together\n"
					E5flag=true
					}				
				}
			}
			
			
		if(k==".")
			{
				if((i==0) || d.substring((i+1),(i+2))=="@" || d.substring((i+1),(i+2))=="" ||d.substring((i+1),(i+2))=="." )
				
					{
						if(E2flag==false)
						{
						//alerts+="Error: dot at beginning or last / @ after dot /or dot after dot\n"
						alerts+="Error :Invalid use of @ or dot\n"
						E2flag=true
						}	
					}
			}
		if(k==" ")
			{
				if(E3flag==false)
				{
				alerts+="Cannot leave Space in Email Ids\n"			
				E3flag=true
				}
		}
	}
	if(!Invalidtest(d)){E4flag=true}
	if(!isEmpty(d) && d.indexOf("@",0)==-1){
		E1flag=true
		alerts+="There is no '@' in your Email Id\n"
	}
	if(d.indexOf(".",0)==-1 && !isEmpty(d)){
		E2flag=true
		alerts+="There is no 'dot' in your Email Id\n"
	}	
	if(isEmpty(d)){
			//alerts+="You cannot leave Email Field blank\n"
			//E5flag=true 
	}
	if(E1flag==true || E2flag==true ||E3flag==true||E4flag==true ||E5flag==true ||E6flag==true){
		alert(alerts)
		alerts=""
		//a.value=""
		a.focus()
		return false
	}	
}

	function checkTextArea(btn,n){
		var strArea = new String(btn.value);
		if(strArea.length > n) {
			alert("Cannot be greater than "+n+" characters.");
			btn.focus();
		}
	}
	
// Begin check number (used by candfront.xsl / candfront1.xsl)	
function checkNumber(c, t)
{
	if (t.value.length == 0) return "";
    switch (c.options[c.selectedIndex].value)
	{
		case "CA":        
        case "USA":
        var st = new String(strip(t.value));
		if (st.charAt(0) == '1')
		{
			st = st.substr(1);
		}
        if (st.length != 10)
		{
        	alert(t.value+" is an invalid US/CANADA phone number!");
			t.focus();
            return "";
		}
		return st.substr(0, 3)+'-'+st.substr(3, 3)+'-'+st.substr(6);
        default:
		if (!stripno(t.value))
		{
			alert(t.value+" is an invalid phone number!");
			t.focus();
			return ""
		}
        return t.value;
	}
}
// End check number (used by candfront.xsl / candfront1.xsl)

// Begin format zip code
function formatZip(c, t)
{
	if (t.value.length == 0) return "";       
    switch (c.options[c.selectedIndex].value)
	{
		case "CA":		
        var st = new String(stripcar(t.value.toUpperCase()));          
        if (st.length != 6)
		{
        	alert(t.value+" is an invalid Canadian postal code!");
            return "";
		}
		else
		{
			var balpha=bnumeric=true;
			for (var i=0; i<6 && balpha; i+=2) balpha &= (st.charAt(i)>='A' && st.charAt(i)<='Z');
			for (var i=1; i<6 && bnumeric; i+=2) bnumeric &= (st.charAt(i)>='0' && st.charAt(i)<='9');
			if (balpha && bnumeric) return st.substr(0, 3)+' '+st.substr(3);
			else alert(t.value+" is an invalid Canadian postal code!");
			return "";
			}
		break;
        case "USA":
        var st = new String(strip(t.value));
        if (st.length != 5 && st.length != 9)
		{
        	alert(t.value+" is an invalid US zip code!");
			t.focus();
            return "";
		}
        if (st.length == 5)
		{
			return st.substr(0, 5)+'-0000';
		}
		else
		{
			return st.substr(0, 5)+'-'+st.substr(5);
		}
		break;
        default:
        return t.value;
	}
}
// End format zip code    

// Begin format social security number
function formatSSN(t)
{
	if (t.value.length == 0)
	{
		return "";
	}
	var st = new String(strip(t.value));
    if (st.length != 9)
	{
		alert(t.value+" is an invalid SSN!");
        t.focus();
        return "";
	}
	return st.substr(0, 3)+'-'+st.substr(3, 2)+'-'+st.substr(5);        
}
// End format social security number

// Begin help
function help(fname)
{
	var s = new String(fname)
	if (s.length > 0) {
		var l1 = s.lastIndexOf("/");			 			
		var l2 = s.lastIndexOf(".");	
		 	
		s = s.substr(l1+1, l2-l1-1);	
	
		if (s == "default") {
			filename = "home_page.asp";
		} else {
			if (s == "jobsearch") {
				filename = "job_search.asp";
			} else {
				if ((s == "mycart")||(s == "mycart2")) {
					filename = "my_cart.asp";				
				} else {
					if ((s == "myagent")||(s == "myagent1")||(s == "myagent2")) {
						filename = "my_agent.asp";				
					} else {
						if ((s == "mysubmittal")||(s == "mysubmittal2")) {
							filename = "submissions.asp";				
						} else {
							if (s == "myprofile") {
								filename = "my_profile.asp";				
							} else {
								if (s == "jobsearchlist") {
									filename = "search_results.asp";				
								} else {
									if ((s == "returnuser1")||(s == "internal1")||(s == "returnuser")||(s == "internal")||(s == "internallogin")) {
										filename = "logon.asp";				
									} else {
										if (s == "jobdesc") {
											filename = "job_description.asp";				
										} else {
											if (s == "email") {
												filename = "email.asp";				
											} else {												
												if (l1 < 0) 
													filename = fname;	
												else
													filename = "home_page.asp";
											}  }}}}}}}}}
		
		filename = "help/" + filename;	
	
		window.open(filename,s,'width=350px,height=500px,menubar=no,toolbar=no,resizable=yes,status=no,title=no,scrollbars=yes');
	}
 }
 // End help
 
// Begin form validation and submittal
function candsubmit(btn)
{
		
	var strResume = new String(document.candschema.RESUME.value);
	var pw1 = document.candschema.PASSWORD.value;
	var pw2 = document.candschema.PASSWORD1.value;
	
	// Check the resume for > than 30 and < than 50000		
	if(strResume.length < 30)
	{
		alert("The resume field should be at least 30 characters in length.");
		document.candschema.RESUME.focus();
	}
	else if(strResume.length > 50000)
	{
		alert("Cut/paste resume field should not be larger than 50,000 characters, please edit and submit it again.");
		document.candschema.RESUME.focus();
	}
	// Check the password and confirm password fields for a match
	else if ( pw1 != pw2 )
	{
		alert("Please make sure your Password and Confirm Password match.");
		document.candschema.PASSWORD.focus();
	}
	else
	{
		document.candschema.submit();
	}

}
// End form validation and submittal

// Begin return to previous search list
function searchList()
{
	document.candschema.action="jobsearchlist.asp?cmd=10";
	document.candschema.submit();

}
// End return to previous search list

// Begin refresh list
function refreshlist(op)
{
	if (navigator.appName == "Netscape" && parseFloat(navigator.appVersion) >= 5.0)
	{
		var i=op.selectedIndex;
	    if (op.selectedIndex) op.selectedIndex=0;
		else op.selectedIndex = op.length-1;
		op.selectedIndex = i;
	}
}
// End refresh list

// Begin upload file (used by candfront.xsl / candfront1.xsl)
function uploadfile(obj)
{
	var winTable = window.open("uploadfile.asp?cmd=1262&callback="+obj, "Upload", "toolbar=no,scrollbars=no,width=500,height=200");
}
// End upload file (used by candfront.xsl / candfront1.xsl)

// Begin check for numeric/boolean input
function checknumeric(obj, min, max)
{
	if(obj.value != "")
	{
		slabel = "Answer"
	    var i = parseInt(obj.value);
		if (obj.value == '')
		{
			return;
		}
		if (isNaN(i) || obj.value != i+"")
		{
			alert("You must enter only numeric values!");
			obj.value = "";
			obj.focus();
		}
		else
		{
			if (i < min)
			{
				alert(slabel+" can not be less than " + min);
				obj.value = "";
				obj.focus();
			}
			else if (!isNaN(max))
			{
				if (i>max)
				{
					alert(slabel+" can not be greater than " + max);
					obj.value = "";
					obj.focus();
				}
				else
				{
					obj.value = i + "";
				}
			}
			else if (obj.value != '')
			{
				obj.value = i + "";
			}
		}
		return;
	}
}
// End check for numeric/boolean input

// Start Email Password for Return User
	function PerformAction(obj) {
             document.candschema.action = "returnuser.asp";
             document.candschema.submit();
         }

function emailcheck(obj)
{
 t = obj.value;
	if (t.length == 0) return "";
	var st = new String(t);
	st = st.toLowerCase();
	var echeck = st.indexOf("@tpt306.com");
	if (echeck == -1)
	{
		alert("That is a Invalid Employee Email Address");
		obj.value="";
		obj.focus();
		return false;
	}
	 return true;
			
}	
		 
    function sendpass(b) {
	    if (b.form.EMAIL.value == "") {
		    alert("Please enter your Email Address.");
			return;
		}
	    b.form.action = "returnuser.asp?cmd=110";
		b.form.submit();
	}
// End Email Password for Return User

// Begin Choose function for Job Cart listing
    function choose(ca, b) {
        var nlength;

        if (typeof(ca)!="undefined") {
            nlength = parseInt(ca.length);
            if (isNaN(nlength)) ca.checked = b;
            else  for (var i=0; i<nlength; i++) ca[i].checked = b;
        }
    }
// End Choose function for Job Cart listing

// Begin checkSource
function checkSource(c, op, t) {
	    if (op.options[op.selectedIndex].value == t) {
		    alert("Please enter employee name below.");
			c.focus();
		}
	}
function checkReferralName(op, c, t) {
	    if (op.options[op.selectedIndex].value == t) {
		    if (c.value == "") {
			    alert("Please enter employee name here. If not known, enter \'N/A\'.");
				c.value = "N/A";
				c.focus();
			}
		}
		c.value = c.value.toUpperCase();
	}

// End checkSource

	function checkVC13(c, op, t) {
	    if (op.options[op.selectedIndex].value == t) {
		    alert("Please explain.");
			c.focus();
		}
	}
	
	
	function checkVC14(op, c, t) {
	    if (op.options[op.selectedIndex].value == t) {
		    if (c.value == "") {
			    alert("Please explain else enter \'N/A\'.");
				c.value = "N/A";
				c.focus();
			}
		}
		c.value = c.value.toUpperCase();
	}	

// Begin View Previous
function viewprev(btn) {
          document.candschema.action = "jobdesc.asp?cmd=27";
          document.candschema.submit();
        }
// End View Previous

// Begin View Next
        function viewnext(btn) {
          document.candschema.action = "jobdesc.asp?cmd=28";
          document.candschema.submit();
        }
// End View Next

// Begin Relist
        function relist() {
          document.candschema.action = "jobsearchlist.asp";
          document.candschema.submit();
        }
// End Relist

// Begin Add Job to Cart
        function addcart(btn) {
          document.candschema.action = "jobdesc.asp?cmd=22";
          document.candschema.submit();
        }
// End Add Job to Cart

// Begin Email to a Friend
        function email(btn) {
          document.candschema.action = "email.asp";
          document.candschema.submit();
        }
// End Email to a Friend

// Begin Apply
		function apply(btn) {
            document.candschema.ID.name = "JID";
			document.candschema.action = 'myprofile.asp';
			document.candschema.submit();			
        }
// End Apply

// Check if Page is Submitting
var submitcount=0;
var timer = null;

function checkFields()
{	
   if (submitcount == 0)
      {      
	  submitcount++;
	  startClock();
	  return true;
      }
   else 
      {
      startClock();
	  alert("We are still processing your submission, please wait...");
	  return false;
      }
}

var x = 10;
var y = 1;
function startClock()
{
	x = x-y;
    //window.status = "Timer: " + x + "   SubmitCount: " + submitcount;
    setTimeout("startClock()", 1000);
    if(x==0)
	{
		submitcount = 0;
		x = 10;    	
	}
}
//End 

// Begin stock Macromedia functions
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
// End stock Macromedia functions