// JavaScript Document

function empty(x)
{
	return x == '';
}

function numeric(x)
{
   var ValidChars = "0123456789.";
   var numeric=true;
   var Char; 
   for (i = 0; i < x.length && numeric == true; i++) 
   { 
     Char = x.charAt(i); 
     if (ValidChars.indexOf(Char) == -1)	 
		 	numeric = false;		 
		}
   return numeric;   
}

function email(x)
{
  email_regx = /^[^@]+@[^@]+.[a-z]{2,}$/i;
	return !(x.search(email_regx) == -1); 
}

function validate_form()
{
	$error_count = 0;
	$error_inner = '<strong>The following errors have occurred...</strong><br>';
	
	/* validation start */		
		
	
	if(empty(document.getElementById('job_title').value))
	{
		document.getElementById('jobtitle_label').className = 'label_error';
		$error_inner += 'Please choose a Job Position<br>';
		$error_count++;
	}
	else
	{
		document.getElementById('jobtitle_label').className = 'label';
	}	
	
	if(empty(document.getElementById('fname').value))
	{
		document.getElementById('fname_label').className = 'label_error';
		$error_inner += 'Please enter your First Name<br>';
		$error_count++;
	}
	else
	{
		document.getElementById('fname_label').className = 'label';
	}	
	
	
	if(empty(document.getElementById('lname').value))
	{
		document.getElementById('lname_label').className = 'label_error';
		$error_inner += 'Please enter your Last Name<br>';
		$error_count++;
	}
	else
	{
		document.getElementById('lname_label').className = 'label';
	}	
	
	
	if(empty(document.getElementById('phone').value))
	{
		document.getElementById('phone_label').className = 'label_error';
		$error_inner += 'Please enter your Phone Number<br>';
		$error_count++;
	}
	else
	{
		document.getElementById('phone_label').className = 'label';
	}		
	
	if(empty(document.getElementById('phone_type').value))
	{
		document.getElementById('phonetype_label').className = 'label_error';
		$error_inner += 'Please select your Phone Number Type<br>';
		$error_count++;
	}
	else
	{
		document.getElementById('phonetype_label').className = 'label';
	}	
	
	if(empty(document.getElementById('email').value))
	{		
		document.getElementById('email_label').className = 'label_error';
		$error_inner += 'Please enter your Email Address<br>';
		$error_count++;		
	}
	else if(!email(document.getElementById('email').value))
	{
		document.getElementById('email_label').className = 'label_error';
		$error_inner += 'You must enter a valid Email Address<br>';
		$error_count++;
	}
	else
	{		
		document.getElementById('email_label').className = 'label';
	}	
	
	if (document.getElementById('coverletter_file')!=null){
		// check file extension	
		if(!empty(document.getElementById('coverletter_file').value)) {	
			// for mac/linux, else assume windows
			if (navigator.appVersion.indexOf('Mac') != -1 || navigator.appVersion.indexOf('Linux') != -1) var fileSplit = '/';
			else var fileSplit = '\\';
	
			var fileTypes     = new Array('.doc','.DOC','.docx','.DOCX','.txt',',TXT','.pdf','.PDF'); // valid filetypes
			var fileName      = document.getElementById('coverletter_file').value; // current value
			var extension     = fileName.substr(fileName.lastIndexOf('.'), fileName.length);
			var valid = 0;
	
			for(var i in fileTypes) {
				if(fileTypes[i] == extension) {
					valid = 1;
					break;
				}
			}
	
			if(valid == 1) {
				document.getElementById('coverletter_file_label').className = 'label';            	
			} else {	
				document.getElementById('coverletter_file_label').className = 'label_error';
				$error_inner += 'Invalid Cover Letter file type specified<br>';
				$error_count++;
			}	
		}
	}
	if (document.getElementById('resume_file')!=null){
		if(empty(document.getElementById('resume_file').value) && empty(document.getElementById('resume_text').value)) {
			document.getElementById('resume_text_label').className = 'label_error';
			document.getElementById('resume_file_label').className = 'label_error';
			$error_inner += 'Please eiter upload a resume file or paste a text version<br>';
			$error_count++;
		} else {
			document.getElementById('resume_text_label').className = 'label';
			document.getElementById('resume_file_label').className = 'label';
		}
		if(!empty(document.getElementById('resume_file').value)) {	
			// for mac/linux, else assume windows
			if (navigator.appVersion.indexOf('Mac') != -1 || navigator.appVersion.indexOf('Linux') != -1) var fileSplit = '/';
			else var fileSplit = '\\';
	
			var fileTypes     = new Array('.doc','.DOC','.docx','.DOCX','.txt',',TXT','.pdf','.PDF'); // valid filetypes
			var fileName      = document.getElementById('resume_file').value; // current value
			var extension     = fileName.substr(fileName.lastIndexOf('.'), fileName.length);
			var valid = 0;
	
			for(var i in fileTypes) {
				if(fileTypes[i] == extension) {
					valid = 1;
					break;
				}
			}
	
			if(valid == 1) {
				document.getElementById('resume_file_label').className = 'label';            	
			} else {	
				document.getElementById('resume_file_label').className = 'label_error';
				$error_inner += 'Invalid Resume file type specified<br>';
				$error_count++;
			}	
		}
	}
	if (document.getElementById('position_type')==2){
		if(!empty(document.getElementById('current_research_file').value)) {	
			document.getElementById('current_research_label').className = 'label';

			// for mac/linux, else assume windows
			if (navigator.appVersion.indexOf('Mac') != -1 || navigator.appVersion.indexOf('Linux') != -1) var fileSplit = '/';
			else var fileSplit = '\\';
	
			var fileTypes     = new Array('.doc','.DOC','.docx','.DOCX','.txt',',TXT','.pdf','.PDF'); // valid filetypes
			var fileName      = document.getElementById('current_research_file').value; // current value
			var extension     = fileName.substr(fileName.lastIndexOf('.'), fileName.length);
			var valid = 0;
	
			for(var i in fileTypes) {
				if(fileTypes[i] == extension) {
					valid = 1;
					break;
				}
			}
	
			if(valid == 1) {
				document.getElementById('current_research_label').className = 'label';            	
			} else {	
				document.getElementById('current_research_label').className = 'label_error';
				$error_inner += 'Invalid Current Research file type specified<br>';
				$error_count++;
			}	
		} else {
			document.getElementById('current_research_label').className = 'label_error';
			$error_inner += 'Please select Current Research file for upload<br>';
			$error_count++;
		}
	
		if(!empty(document.getElementById('future_research_file').value)) {	
			document.getElementById('future_research_label').className = 'label';

			// for mac/linux, else assume windows
			if (navigator.appVersion.indexOf('Mac') != -1 || navigator.appVersion.indexOf('Linux') != -1) var fileSplit = '/';
			else var fileSplit = '\\';
	
			var fileTypes     = new Array('.doc','.DOC','.docx','.DOCX','.txt',',TXT','.pdf','.PDF'); // valid filetypes
			var fileName      = document.getElementById('future_research_file').value; // current value
			var extension     = fileName.substr(fileName.lastIndexOf('.'), fileName.length);
			var valid = 0;
	
			for(var i in fileTypes) {
				if(fileTypes[i] == extension) {
					valid = 1;
					break;
				}
			}
	
			if(valid == 1) {
				document.getElementById('future_research_label').className = 'label';            	
			} else {	
				document.getElementById('future_research_label').className = 'label_error';
				$error_inner += 'Invalid Future Research file type specified<br>';
				$error_count++;
			}	
		} else {
			document.getElementById('future_research_label').className = 'label_error';
			$error_inner += 'Please select Future Research file for upload<br>';
			$error_count++;
		}
	}
	
	if (document.getElementById('position_type').value==3){
		
		if(empty(document.getElementById('college').value)) {
			document.getElementById('college_label').className = 'label_error';
			$error_inner += 'Please enter your College / University<br>';
			$error_count++;
		} else {
			document.getElementById('college_label').className = 'label';
		}

		if(empty(document.getElementById('major').value)) {
			document.getElementById('major_label').className = 'label_error';
			$error_inner += 'Please enter your Major / Minor<br>';
			$error_count++;
		} else {
			document.getElementById('major_label').className = 'label';
		}

		if(empty(document.getElementById('gpa').value)) {
			document.getElementById('gpa_label').className = 'label_error';
			$error_inner += 'Please enter your GPA<br>';
			$error_count++;
		} else {
			document.getElementById('gpa_label').className = 'label';
		}

		if(empty(document.getElementById('academic_advisor').value)) {
			document.getElementById('academic_advisor_label').className = 'label_error';
			$error_inner += 'Please enter your Academic Adviser<br>';
			$error_count++;
		} else {
			document.getElementById('academic_advisor_label').className = 'label';
		}

		if(!empty(document.getElementById('curriculum_vitae_file').value)) {	
			document.getElementById('curriculum_vitae_label').className = 'label';
			// for mac/linux, else assume windows
			if (navigator.appVersion.indexOf('Mac') != -1 || navigator.appVersion.indexOf('Linux') != -1) var fileSplit = '/';
			else var fileSplit = '\\';
	
			var fileTypes     = new Array('.doc','.DOC','.docx','.DOCX','.txt',',TXT','.pdf','.PDF'); // valid filetypes
			var fileName      = document.getElementById('curriculum_vitae_file').value; // current value
			var extension     = fileName.substr(fileName.lastIndexOf('.'), fileName.length);
			var valid = 0;
	
			for(var i in fileTypes) {
				if(fileTypes[i] == extension) {
					valid = 1;
					break;
				}
			}
			if(valid == 1) {
				document.getElementById('curriculum_vitae_label').className = 'label';            	
			} else {	
				document.getElementById('curriculum_vitae_label').className = 'label_error';
				$error_inner += 'Invalid Curriculum Vitae file type specified<br>';
				$error_count++;
			}	
		} else {
			document.getElementById('curriculum_vitae_label').className = 'label_error';
			$error_inner += 'Please select Curriculum Vitae file for upload<br>';
			$error_count++;
		}

		if(!empty(document.getElementById('current_research_file').value)) {	
			document.getElementById('current_research_label').className = 'label';
			// for mac/linux, else assume windows
			if (navigator.appVersion.indexOf('Mac') != -1 || navigator.appVersion.indexOf('Linux') != -1) var fileSplit = '/';
			else var fileSplit = '\\';
	
			var fileTypes     = new Array('.doc','.DOC','.docx','.DOCX','.txt',',TXT','.pdf','.PDF'); // valid filetypes
			var fileName      = document.getElementById('current_research_file').value; // current value
			var extension     = fileName.substr(fileName.lastIndexOf('.'), fileName.length);
			var valid = 0;
	
			for(var i in fileTypes) {
				if(fileTypes[i] == extension) {
					valid = 1;
					break;
				}
			}
			if(valid == 1) {
				document.getElementById('current_research_label').className = 'label';            	
			} else {	
				document.getElementById('current_research_label').className = 'label_error';
				$error_inner += 'Invalid Research Statement file type specified<br>';
				$error_count++;
			}	
		} else {
			document.getElementById('current_research_label').className = 'label_error';
			$error_inner += 'Please select Research Statement file for upload<br>';
			$error_count++;
		}

		if(!empty(document.getElementById('previous_research_file').value)) {	
			document.getElementById('previous_research_label').className = 'label';
			// for mac/linux, else assume windows
			if (navigator.appVersion.indexOf('Mac') != -1 || navigator.appVersion.indexOf('Linux') != -1) var fileSplit = '/';
			else var fileSplit = '\\';
	
			var fileTypes     = new Array('.doc','.DOC','.docx','.DOCX','.txt',',TXT','.pdf','.PDF'); // valid filetypes
			var fileName      = document.getElementById('previous_research_file').value; // current value
			var extension     = fileName.substr(fileName.lastIndexOf('.'), fileName.length);
			var valid = 0;
	
			for(var i in fileTypes) {
				if(fileTypes[i] == extension) {
					valid = 1;
					break;
				}
			}
			if(valid == 1) {
				document.getElementById('previous_research_label').className = 'label';            	
			} else {	
				document.getElementById('previous_research_label').className = 'label_error';
				$error_inner += 'Invalid Previous Research file type specified<br>';
				$error_count++;
			}	
		} else {
			document.getElementById('previous_research_label').className = 'label_error';
			$error_inner += 'Please select Previous Research file for upload<br>';
			$error_count++;
		}

	}
	
	
	if(empty(document.getElementById('radiogroup1').value)){
		document.getElementById('usa_label').className = 'label_error';
		$error_inner += 'Please indicate if you are Authorized to Work in the U.S.<br>';
		$error_count++;
	} else {
		document.getElementById('usa_label').className = 'label';
	}			

	if(!document.$recaptcha_valid){
		$error_inner += 'CAPTCHA incorrect. <br />';
		$error_count++;
	}
	
	
	if($error_count > 0) {
		document.getElementById('error_list').style.display = 'block';
		document.getElementById('error_list').innerHTML = $error_inner;		
		window.scrollTo(0, 0);
	} else {
		document.getElementById('error_list').style.display = 'none';
		document.getElementById('error_list').innerHTML = '';
		document.getElementById('jobapplyform').submit();	
	}
	
}



