//general
//get query string param
function getParam( name )
{
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );
  if( results == null )
    return "";
  else
    return results[1];
}
//Trim String.
function trim(str)
{
    return str.replace(/^\s+|\s+$/g, '') ;
}
//confirm delete
function confirmDelete()
    {
       var b=confirm('Are you sure you want to delete the selected item(s)?');
       return b;
    }
// JavaScript function to open a new window 
function openWindow(url, queryString, width, height) 
{
var myWin = url + queryString;
myleft=(screen.width)?(screen.width-width)/2:100;
mytop=(screen.height)?(screen.height-height)/2:100;

return window.open(myWin,'popup','width='+width+',height='+height+',top='+mytop+',left='+myleft+'\'');  
}
//Javascript function to close window without confirmation dialog.
function closeWindow()
{
win = top;
win.opener = top;
win.close();
}
//validation
//validate number
function validateNumber(inputField) {
    
        var inpVal = parseInt(inputField.value, 10);
        if (isNaN(inpVal) || inpVal <= 0) {
return false;
        }
    else
   return true;
}
//validate all fields from being empty.
function validateThisForm(id)
{
var myForm = document.getElementById(id);
var valid = true;

for (i = 0; i< myForm.length; i++)
{
if(myForm.elements[i].value==null||myForm.elements[i].value=="")
{
if(myForm.elements[i].name == "jobId" || myForm.elements[i].name == "notes" || myForm.elements[i].name == "closingDate" || myForm.elements[i].name == "desc") continue;    

valid = false;
}
            
}
if(!valid)
alert("Sorry, fields marked with (*) are required.");

return valid;
}
//validate required.
function validate_required(field,alerttxt)
{
with (field)
{
  if (value==null||value=="")
  {
  //alert(alerttxt);
  document.getElementById("error").innerHTML += alerttxt +"<br />";
  return false;
  }
  else
  {
  return true;
  }
}
}

function validate_form(thisform)
{
$(document); 
  document.getElementById("error").innerHTML = "";
var valid = true;
with (thisform)
{
//validate required name
if (validate_required(fullname,"*Full name must be filled out!")==false)
  {
  fullname.focus();
  valid = false;
  //return valid;
  }
  //validate required email 
if (validate_required(email,"*Email must be filled out!")==false)
  {
  email.focus();
  //return false;
  valid = false;
  //return valid;
  }
  //validate e-mail format
  if (validate_email(email,"*Invalid e-mail address!")==false)
  {
  email.focus();
  valid = false;
  //return valid;
  }
  
  //validate required subject
  if (validate_required(subject,"*Subject must be filled out!")==false)
  {
  subject.focus();
   valid = false;
  //return valid;
  }
 //validate required message
 if (validate_required(message,"*Message must be filled out!")==false)
  {
  message.focus();
  valid = false;
//  return valid;
  }
 
  if(!valid)
  {
     $("#error").addClass("error");
    $("#error").slideDown(10000);
   }
  else
  {
 $("#error").fadeOut("slow");
  }
 }
 return valid;
}
//E-mail validation
function validate_email(field,alerttxt)
{
with (field)
{
apos=value.indexOf("@");
dotpos=value.lastIndexOf(".");
if (apos<1||dotpos-apos<2) 
  {
  document.getElementById("error").innerHTML += alerttxt + "<br />";
  return false;
  }
else {return true;}
}
}

//Password validation
var passwordsOk = true;

function checkPasswords(password, confirmPassword, targetSpanName)
{
$(document);
var pwd = document.getElementById(password);
var confirmPwd = document.getElementById(confirmPassword);
var targetSpan = document.getElementById(targetSpanName);
if(pwd.value != confirmPwd.value)
{
targetSpan.innerHTML = "*Passwords don't match!";
$("#"+targetSpanName).addClass("error");
$("#"+targetSpanName).fadeIn();
pwd.focus();
passwordsOk = false;
return false;
}
else {
targetSpan.innerHTML = "";
$("#"+targetSpanName).removeClass("error");
$("#"+targetSpanName).fadeOut();
passwordsOk = true;
return true;
}

}

//select menu handler
function selectChange(select)
{
if(select.value == 'new')
window.open('http://www.google.com','mywindow','width=400,height=200');
 else
 {
 document.getElementById('oldemail').value = select.value;
 document.getElementById('email').focus(); 
 }
 
 }
 
 //Ajax
 function GetXmlHttpObject()
{
var xmlHttp = null;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
return xmlHttp;
}
//get HTML page
function getHTML(div, pagePath)
{
 xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  }
  xmlHttp.onreadystatechange= function()
  {
  if (xmlHttp.readyState==4)
{
document.getElementById(div).innerHTML= xmlHttp.responseText;
}
}

xmlHttp.open("GET",pagePath+"?r="+ Math.random(),true);
xmlHttp.send(null);   
}

//E-mail existance
var emailExists = false;

function checkEmail()
{
$(document);

var email = document.getElementById('email').value;
//after the e-mail validation.
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  }
  xmlHttp.onreadystatechange= function()
  {
  if (xmlHttp.readyState==3)
  {
  $("#msg").removeClass("error");
 document.getElementById("msg").innerHTML= '<img src="../sit_img/ajax-loader.gif" border="0" /> Checking e-mail...';
  }
else if (xmlHttp.readyState==4)
{
if(trim(xmlHttp.responseText) == "true")
{
$("#msg").text("*This e-mail address is already in our database.");
$("#msg").addClass("error");
$("#msg").fadeIn("slow");
emailExists = true;

}
else {emailExists = false;  $("#msg").hide();}
}
}

xmlHttp.open("GET","register.php?email="+email+"&mode=email&r="+ Math.random(),true);
xmlHttp.send(null);
}

function registerCandidate(formToValidate, emailToValidate)
{
$(document);

if(emailExists)
{
$("#msg").addClass("error");
$("#msg").text("*This e-mail address is already in our database.");
$("#msg").fadeIn("slow");
return;
}
if(!passwordsOk)
{
$("#msg").addClass("error");
$("#msg").text("*Passwords don't match.");
$("#msg").fadeIn("slow");
return;
}
if(validateForm(formToValidate) && validateEmail(formToValidate, emailToValidate))
{
var email = document.getElementById('email').value;
var password= document.getElementById('password').value;
var firstName = document.getElementById('firstName').value;
var lastName = document.getElementById('lastName').value;
var mobile = document.getElementById('mobile').value;
var address = document.getElementById('address').value;

xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  }
  xmlHttp.onreadystatechange= function()
  {
  if (xmlHttp.readyState==3)
  {
  $("#msg").removeClass("error");
$("#msg").show();
 document.getElementById("msg").innerHTML= '<img src="../sit_img/ajax-loader.gif" border="0" /> Saving...';
  }
else if (xmlHttp.readyState==4)
{
$("#msg").removeClass("error");
$("#msg").show();
 document.getElementById("msg").innerHTML= 'Registration completed, <a href="?ect=cv">click here</a> to start building your online application.';
$("#test").slideUp(3000);
}
}

xmlHttp.open("GET","register.php?email="+email+"&password="+password+"&firstName="+firstName+"&lastName="+lastName+"&mobile="+mobile+"&address="+address+"&r="+ Math.random(),true);
xmlHttp.send(null);
}
}

function validateForm(formName)
{
$("#msg").text("");
var valid = true;

var myForm = document.getElementById(formName);
for(i=0; i<myForm.length; i++)
{

if(myForm[i].value == "" || myForm[i].value == null)
{
valid = false;
}
}
if(!valid) {
$("#msg").text("*Please fill in all fields.");
$("#msg").addClass("error");
$("#msg").fadeIn("slow");}
else { 
$("#msg").fadeOut("slow");
}
return valid;
}
function validateEmail(form_id,email) {
   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
   var address = document.forms[form_id].elements[email].value;
   var valid = reg.test(address);
   if(!valid) {
$("#msg").text("*Invalid E-mail address.");
$("#msg").addClass("error");
$("#msg").fadeIn("slow");}
else { 
$("#msg").fadeOut("slow");
}
return valid;
}
function enterPressCheck(e)
{
var KeyID = (window.event) ? event.keyCode : e.keyCode;
if(KeyID == 13)
login();
}
function login()
{
var email = document.getElementById('email').value;
var password= document.getElementById('password').value;

xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  }
  xmlHttp.onreadystatechange= function()
  {
  if (xmlHttp.readyState==3)
  {
	$("#msg").removeClass("error");
	$("#msg").show();
 	document.getElementById("msg").innerHTML = '<img src="../sit_img/ajax-loader.gif" border="0" /> Loading...';
  }
else if (xmlHttp.readyState==4)
{
var json = eval("("+xmlHttp.responseText+")");
if(json == null)
alert("JSON object is null");
if(json.errorMessage != null)
{
$("#msg").text("*Invalid Login.");
$("#msg").addClass("error");
$("#msg").fadeIn("slow");
}
else 
{
if(json.redirectPage != null) { 
document.getElementById("msg").innerHTML= '<img src="../sit_img/ajax-loader.gif" border="0" /> Signing in...';
//redirect to the page
window.location = "http://www.ectuae.com/career/?ect="+json.redirectPage;
$("#loginForm").slideUp(3000);
}
else
{
//redirect to job vacancies
window.location = "http://www.ectuae.com/career/?ect=vacancies";
$("#loginForm").slideUp(3000);
}
}

}
}

xmlHttp.open("GET","processLogin.php?email="+email+"&password="+password+"&r="+ Math.random(),true);
xmlHttp.send(null);
}
function updateContactPersonal()
{
$("#msg").removeClass("error");
$("#msg").removeClass("msg");
$("#msg").show();
document.getElementById("msg").innerHTML = '<img src="../sit_img/ajax-loader.gif" border="0" /> Saving...';
 	
var email = document.getElementById('email').value;
var firstName =document.getElementById('firstName').value;
var middleName =document.getElementById('middleName').value;
var lastName=document.getElementById('lastName').value;
var country=document.getElementById('country').value;
var city =document.getElementById('city').value;
var pobox=document.getElementById('pobox').value;
var phone=document.getElementById('phone').value;
var mobile=document.getElementById('mobile').value;
var fax=document.getElementById('fax').value;
var address=document.getElementById('address').value;
var birthDate=document.getElementById('birthDate').value;
var birthCountry=document.getElementById('birthCountry').value;
var birthCity=document.getElementById('birthCity').value;
var sex;
if(document.getElementById('sex1').checked)
sex=document.getElementById('sex1').value;
else
sex=document.getElementById('sex2').value;

var maritalStatus=document.getElementById('maritalStatus').value;
var religion=document.getElementById('religion').value;
var nationality=document.getElementById('nationality').value;
var passportNumber=document.getElementById('passportNumber').value;
var passportIssueDate=document.getElementById('passportIssueDate').value;
var passportIssuePlace=document.getElementById('passportIssuePlace').value;
var passportExpiry=document.getElementById('passportExpiry').value;

//passport date objects
var passportIssueDateObj = new Date(passportIssueDate);
var passportExpiryDateObj = new Date(passportExpiry);
if(email=="" || firstName=="" || lastName=="" || country=="" || city=="" || mobile=="" || address=="" || birthDate=="" || maritalStatus=="" || nationality=="")
{
//alert for validation
$("#msg").text("Please fill in all required fields.");
$("#msg").removeClass("msg");
$("#msg").addClass("error");
$("#msg").fadeIn("slow");
return false;
}
else if(passportIssueDateObj > passportExpiryDateObj)
{
$("#msg").text("Passport expiry date must be greater than the issue date.");
$("#msg").removeClass("msg");
$("#msg").addClass("error");
$("#msg").fadeIn("slow");
return false;
}
var url = "email="+email+"&firstName="+firstName +"&middleName="+middleName+"&lastName="+lastName+"&country="+country+"&city="+city+"&pobox="+pobox+"&phone="+phone+"&mobile="+mobile+"&fax="+fax+"&address="+address+"&birthDate="+birthDate;
url += "birthCountry="+birthCountry+"&birthCity="+birthCity+"&sex="+sex+"&maritalStatus="+maritalStatus+"&religion="+religion+"&nationality="+nationality+"&passportNumber="+passportNumber+"&passportIssueDate="+passportIssueDate+"&passportIssuePlace="+passportIssuePlace+"&passportExpiry="+passportExpiry;

xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  }
  xmlHttp.onreadystatechange = function(){
/*
  if (xmlHttp.readyState == 3)
  {
	$("#msg").removeClass("error");
	$("#msg").show();
 	document.getElementById("msg").innerHTML = '<img src="../sit_img/ajax-loader.gif" border="0" /> Saving...';
  }
else */
if (xmlHttp.readyState == 4)
{
$("#msg").removeClass("error");
$("#msg").addClass("msg");
$("#msg").text("Contact and Personal details saved successfully.");
$("#msg").fadeIn('slow').animate({opacity: 1.0}, 3000).fadeOut('slow');
}
}

xmlHttp.open("GET","processCv.php?mode=contact&"+url+"&r="+ Math.random(),true);
xmlHttp.send(null);
}

function saveQualification(qualificationType, qualificationId, mode)
{
$("#msgQualifications").removeClass("error");
$("#msgQualifications").removeClass("msg");
$("#msgQualifications").show();
document.getElementById("msgQualifications").innerHTML = '<img src="../sit_img/ajax-loader.gif" border="0" /> Saving...';

var degreeName = document.getElementById('degreeName').value;
var degreeType = document.getElementById('degreeType').value;
var instituteName = document.getElementById('instituteName').value;
var instituteCountry = document.getElementById('instituteCountry').value;
var major = document.getElementById('major').value;
var grade = document.getElementById('grade').value;
var startDate = document.getElementById('startDate').value;
var gradDate= document.getElementById('gradDate').value;
if(degreeName=="" || degreeType=="" || instituteName=="" || major=="" || startDate=="" || gradDate=="")
{
	$("#msgQualifications").text("Please fill in all required fields");
	$("#msgQualifications").addClass("error");
	$("#msgQualifications").fadeIn("slow");
	return false;
}
/*
else{
$("#msgQualifications").fadeOut("slow");	
} */
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  }
  xmlHttp.onreadystatechange= function()
  {

/*  if (xmlHttp.readyState==3)
  {
	$("#msgQualifications").removeClass("error");
	$("#msgQualifications").show();
 	document.getElementById("q"+qualificationType).innerHTML= '<img src="../sit_img/ajax-loader.gif" border="0" /> Loading...';
  }
else */
if (xmlHttp.readyState==4)
{
document.getElementById("q"+qualificationType).innerHTML=xmlHttp.responseText;
$("#msgQualifications").hide();
document.getElementById('degreeName').value = "";
document.getElementById('degreeType').value ="";
document.getElementById('instituteName').value ="";
document.getElementById('instituteCountry').value ="";
document.getElementById('major').value ="";
document.getElementById('grade').value = "";
document.getElementById('startDate').value ="";
document.getElementById('gradDate').value ="";

$("#msgQualifications").removeClass("error");
$("#msgQualifications").addClass("msg");
$("#msgQualifications").text("Qualification saved successfully.");
$("#msgQualifications").fadeIn('slow').animate({opacity: 1.0}, 3000).fadeOut('slow');

//change Save button handler
document.getElementById('saveQualifications').onclick = function(){
saveQualification('1','','saveQualifications');
};
}

}//end of ready state change event
xmlHttp.open("GET","processCv.php?mode="+mode+"&id="+qualificationId+"&qualificationType="+qualificationType+"&degreeName="+degreeName+"&degreeType="+degreeType+"&instituteName="+instituteName+"&instituteCountry="+instituteCountry+"&major="+major+"&grade="+grade+"&startDate="+startDate+"&gradDate="+gradDate+"&r="+ Math.random(),true);
xmlHttp.send(null);
}

function deleteQualification(id, qualificationType)
{
$("#msg").removeClass("error");
$("#msg").removeClass("msg");
$("#msg").show();
document.getElementById("msg").innerHTML = '<img src="../sit_img/ajax-loader.gif" border="0" /> Deleting...';
if(confirmDelete())
{
//kaza kaza
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  }
  xmlHttp.onreadystatechange= function()
  {

/*  if (xmlHttp.readyState==3)
  {
	document.getElementById("q"+qualificationType).innerHTML= '<img src="../sit_img/ajax-loader.gif" border="0" /> Loading...';
  }
else */
if (xmlHttp.readyState==4)
{
document.getElementById("q"+qualificationType).innerHTML=xmlHttp.responseText;
$("#msgQualifications").removeClass("error");
$("#msgQualifications").addClass("msg");
$("#msgQualifications").text("Qualification deleted successfully.");
$("#msgQualifications").fadeIn('slow').animate({opacity: 1.0}, 3000).fadeOut('slow');
return true;
}

}//end of ready state change event
xmlHttp.open("GET","processCv.php?mode=deleteQualifications&id="+id+"&qualificationType="+qualificationType+"&r="+ Math.random(),true);
xmlHttp.send(null);

}
else
{
return false;
}

}
function editQualifications(qualificationId, degreeName, degreeType, instituteName, instituteCountry, major, grade, startDate, gradDate)
{

document.getElementById('degreeName').value = degreeName;
var degreeTypeSelect = document.getElementById('degreeType');
document.getElementById('instituteName').value = instituteName;
var instituteCountrySelect = document.getElementById('instituteCountry');
var majorSelect = document.getElementById('major');
var gradeSelect = document.getElementById('grade');
document.getElementById('startDate').value = startDate;
document.getElementById('gradDate').value = gradDate;

for(i=0; i<degreeTypeSelect.length; i++)
{
if(trim(degreeTypeSelect.options[i].text) == trim(degreeType))
degreeTypeSelect.options[i].selected = true;
}
for(i=0; i<instituteCountrySelect.length; i++)
{
if(trim(instituteCountrySelect.options[i].text) == trim(instituteCountry))
instituteCountrySelect.options[i].selected = true;
}
for(i=0; i<majorSelect.length; i++)
{
if(trim(majorSelect.options[i].text) == trim(major))
majorSelect.options[i].selected = true;
}
for(i=0; i<gradeSelect.length; i++)
{
if(trim(gradeSelect.options[i].text) == trim(grade))
gradeSelect.options[i].selected = true;
}
//change Save button handler
document.getElementById('saveQualifications').onclick = function(){
saveQualification('1', qualificationId, "updateQualifications");
}; 
}

function saveCertificates(qualificationType, qualificationId, mode)
{
$("#msgQualifications").removeClass("error");
$("#msgQualifications").removeClass("msg");
$("#msgQualifications").show();
document.getElementById("msgQualifications").innerHTML = '<img src="../sit_img/ajax-loader.gif" border="0" /> Saving...';

var certificateName = document.getElementById('certificateName');
var instituteName = document.getElementById('instituteName2');
var issueDate = document.getElementById('issueDate');

if (certificateName.value =="" || instituteName.value =="" || issueDate.value =="")
{
	$("#msgQualifications").text("Please fill in all required fields");
	$("#msgQualifications").addClass("error");
	$("#msgQualifications").fadeIn("slow");
	return false;
}
/*
else{
$("#msgCertificate").fadeOut("slow");	
}
*/
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  }
  xmlHttp.onreadystatechange= function()
  {
/*
  if (xmlHttp.readyState==3)
  {
	$("#msgCertificate").removeClass("error");
	$("#msgCertificate").show();
 	document.getElementById("q"+qualificationType).innerHTML= '<img src="../sit_img/ajax-loader.gif" border="0" /> Loading...';
  }
else */ 
if (xmlHttp.readyState==4)
{
document.getElementById("q"+qualificationType).innerHTML=xmlHttp.responseText;
$("#msgQualifications").removeClass("error");
$("#msgQualifications").addClass("msg");
$("#msgQualifications").text("Certificate saved successfully.");
$("#msgQualifications").fadeIn('slow').animate({opacity: 1.0}, 3000).fadeOut('slow');
certificateName.value ="";
instituteName.value ="";
issueDate.value ="";

//change Save button handler
document.getElementById('saveCertificates').onclick = function(){
saveCertificates('2','','saveCertificates');
//saveQualification('2','','saveCertificates');
};
}

}//end of ready state change event
xmlHttp.open("GET","processCv.php?mode="+mode+"&id="+qualificationId+"&qualificationType="+qualificationType+"&certificateName="+certificateName.value+"&instituteName="+instituteName.value+"&issueDate="+issueDate.value+"&r="+ Math.random(),true);
xmlHttp.send(null);
}

function editCertificate(qualificationId, certificateName, instituteName2, issueDate)
{
document.getElementById('certificateName').value = certificateName;
document.getElementById('instituteName2').value = instituteName2;
document.getElementById('issueDate').value = issueDate;

//change Save button handler
document.getElementById('saveCertificates').onclick = function(){
saveCertificates('2', qualificationId, "updateCertificates");
}; 

}

function apply(jobId)
{
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  }
  xmlHttp.onreadystatechange= function()
  {

  if (xmlHttp.readyState==3)
  {
	$("#msg").removeClass("error");
	$("#msg").show();
 	document.getElementById("msg").innerHTML= '<img src="../sit_img/ajax-loader.gif" border="0" /> Loading...';
  }
else if (xmlHttp.readyState==4)
{
var json = eval("("+xmlHttp.responseText+")");
if (json == null)
alert("JSON object is null");

if(json.errorMessage != null)
{

$("#msg").removeClass("msg");
$("#msg").addClass("error");
document.getElementById("msg").innerHTML = json.errorMessage;
$("#msg").fadeIn("slow");
}
else if(json.message != null)
{
$("#msg").removeClass("error");
$("#msg").addClass("msg");
$("#msg").text(json.message);
$("#msg").fadeIn("slow");
}

}
}

xmlHttp.open("GET","processApp.php?jobId="+jobId+"&r="+ Math.random(),true);
xmlHttp.send(null);
}

function disableField()
{
var endDate= document.getElementById('jobEndDate');
var current = document.getElementById('currentJob');
endDate.disabled = current.checked;
if(current.checked)
{
$("#b8").hide();
document.getElementById("jobEndDate").value = "";
}
else
$("#b8").show();
}

function saveExperience(mode, expId)
{
$("#msgExperience").removeClass("error");
$("#msgExperience").removeClass("msg");
$("#msgExperience").show();
document.getElementById("msgExperience").innerHTML = '<img src="../sit_img/ajax-loader.gif" border="0" /> Saving...';

var employer = document.getElementById('employer');
var jobTitle = document.getElementById('jobTitle');
var startDate = document.getElementById('jobStartDate');
var endDate = document.getElementById('jobEndDate');
var location = document.getElementById('location');
var experienceType = document.getElementById('experienceType');
var resp = document.getElementById('responsibilities');
var directManager = document.getElementById('directManager');
var current = document.getElementById('currentJob');
//endDate.disabled = current.checked;


if((employer.value =="" || jobTitle.value == "" || resp.value == "" || startDate.value =="" || location.value =="") || (endDate.value =="" && current.checked ==false))
{
	$("#msgExperience").text("Please fill in all required fields");
	$("#msgExperience").addClass("error");
	$("#msgExperience").fadeIn("slow");
	return false;
}

xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  }
  xmlHttp.onreadystatechange= function()
  {

if (xmlHttp.readyState==4)
{
document.getElementById('workExperienceList').innerHTML = xmlHttp.responseText;
$("#msgExperience").removeClass("error");
$("#msgExperience").addClass("msg");
$("#msgExperience").text("Work experience saved successfully.");
$("#msgExperience").fadeIn('slow').animate({opacity: 1.0}, 3000).fadeOut('slow');
//reset values.
employer.value ="";
jobTitle.value ="";
startDate.value ="";
endDate.value ="";
location.value ="";
experienceType.value ="";
resp.value ="";
directManager.value ="";
current.checked = false;
endDate.disabled = false;
//change back the Save button handler
document.getElementById('saveExperience').onclick = function(){
saveExperience('saveExperience', '');
};
}
}

xmlHttp.open("GET","processCv.php?mode="+mode+"&experienceId="+expId+"&employer="+employer.value+"&jobTitle="+jobTitle.value+"&startDate="+startDate.value+"&endDate="+endDate.value+"&location="+location.value+"&experienceType="+experienceType.value+"&resp="+resp.value+"&directManager="+directManager.value+"&r="+ Math.random(),true);
xmlHttp.send(null);
}

function editExperience(expId, employer, jobTitle, startDate, endDate, notes, address, expType, directManager)
{
var employerInput = document.getElementById('employer');
var jobTitleInput = document.getElementById('jobTitle');
var startDateInput = document.getElementById('jobStartDate');
var endDateInput = document.getElementById('jobEndDate');
var locationInput = document.getElementById('location');
var experienceTypeSelect = document.getElementById('experienceType');
var respInput = document.getElementById('responsibilities');
var directManagerInput = document.getElementById('directManager');
var currentCheck = document.getElementById('currentJob');

employerInput.value = employer;
jobTitleInput.value =jobTitle;
startDateInput.value =startDate;
locationInput.value =address;
respInput.value =notes;
directManagerInput.value =directManager;
if(endDate =="till present")
currentCheck.checked = true;
else
{
endDateInput.value =endDate;
currentCheck.checked = false;
}
for(i=0; i<experienceTypeSelect.length; i++)
{
if(trim(experienceTypeSelect.options[i].text) == trim(expType))
experienceTypeSelect.options[i].selected = true;
}
//change Save button handler
document.getElementById('saveExperience').onclick = function(){
saveExperience('updateExperience', expId);
}; 
}

function deleteExperience(expId)
{
$("#msg").removeClass("error");
$("#msg").removeClass("msg");
$("#msg").show();
document.getElementById("msg").innerHTML = '<img src="../sit_img/ajax-loader.gif" border="0" /> Deleting...';
if(confirmDelete())
{
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  }
  xmlHttp.onreadystatechange= function()
  {

if (xmlHttp.readyState==4)
{
document.getElementById('workExperienceList').innerHTML =xmlHttp.responseText;
$("#msg").removeClass("error");
$("#msg").addClass("msg");
$("#msg").text("Work experience deleted successfully.");
$("#msg").fadeIn('slow').animate({opacity: 1.0}, 3000).fadeOut('slow');
return true;
}

}//end of ready state change event
xmlHttp.open("GET","processCv.php?mode=deleteExperience&experienceId="+expId+"&r="+ Math.random(),true);
xmlHttp.send(null);

}
else
{
return false;
}

}
function saveSkill(mode, skillId)
{
$("#msgSkills").removeClass("error");
$("#msgSkills").removeClass("msg");
$("#msgSkills").show();
document.getElementById("msgSkills").innerHTML = '<img src="../sit_img/ajax-loader.gif" border="0" /> Saving...';

var skillName = document.getElementById('skillName');
var skillLevel = document.getElementById('skillLevel');
var yearsOfExperience = document.getElementById('yearsOfExperience');

if(yearsOfExperience.value == "" || skillName.value == "" || skillLevel.value == "")
{
	$("#msgSkills").text("Please fill in all required fields.");
	$("#msgSkills").addClass("error");
	$("#msgSkills").fadeIn("slow");
	return false;
}
if(!validateNumber(yearsOfExperience))
{
	$("#msgSkills").text("Please enter a valid Years of Experience number.");
	$("#msgSkills").addClass("error");
	$("#msgSkills").fadeIn("slow");
	return false;
}
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  }
  xmlHttp.onreadystatechange= function()
  {

if (xmlHttp.readyState==4)
{
document.getElementById('careerSkillsList').innerHTML =xmlHttp.responseText;
skillName.value = "";
skillLevel.value = "";
yearsOfExperience.value = "";
$("#msgSkills").removeClass("error");
$("#msgSkills").addClass("msg");
$("#msgSkills").text("Career skill saved successfully.");
$("#msgSkills").fadeIn('slow').animate({opacity: 1.0}, 3000).fadeOut('slow');
//change Save button handler
document.getElementById('saveSkill').onclick = function(){
saveExperience('saveSkill', '');
};
return true;
}

}//end of ready state change event
xmlHttp.open("GET","processCv.php?skillId="+skillId+"&mode="+mode+"&skillName="+skillName.value+"&skillLevel="+skillLevel.value+"&years="+yearsOfExperience.value+"&r="+ Math.random(),true);
xmlHttp.send(null);

}
function editSkill(name, level, years, skillId)
{
document.getElementById('skillName').value = name;
var levelSelect = document.getElementById('skillLevel');
document.getElementById('yearsOfExperience').value = years;
for(i=0; i<levelSelect.length; i++)
{
if(trim(levelSelect.options[i].text) == trim(level))
levelSelect.options[i].selected = true;
}
//change Save button handler
document.getElementById('saveSkill').onclick = function(){
saveSkill('updateSkill', skillId);
};
}
function deleteSkill(id)
{
$("#msgSkills").removeClass("error");
$("#msgSkills").removeClass("msg");
$("#msgSkills").show();
document.getElementById("msgSkills").innerHTML = '<img src="../sit_img/ajax-loader.gif" border="0" /> Deleting...';

if(confirmDelete())
{
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  }
  xmlHttp.onreadystatechange= function()
  {

if (xmlHttp.readyState==4)
{
document.getElementById('careerSkillsList').innerHTML =xmlHttp.responseText;
$("#msgSkills").removeClass("error");
$("#msgSkills").addClass("msg");
$("#msgSkills").text("Career skill deleted successfully.");
$("#msgSkills").fadeIn('slow').animate({opacity: 1.0}, 3000).fadeOut('slow');
return true;
}

}//end of ready state change event
xmlHttp.open("GET","processCv.php?mode=deleteSkill&skillId="+id+"&r="+ Math.random(),true);
xmlHttp.send(null);

}
else
{
return false;
}
}
//lang
function saveLangSkill(mode)
{
$("#msgSkills").removeClass("error");
$("#msgSkills").removeClass("msg");
$("#msgSkills").show();
document.getElementById("msgSkills").innerHTML = '<img src="../sit_img/ajax-loader.gif" border="0" /> Saving...';

var lang = document.getElementById('lang');
var read = document.getElementById('read');
var write = document.getElementById('write');
var speak = document.getElementById('speak');

if(lang.value == "" || read.value == "" || write.value == "" || speak.value == "")
{
	$("#msgSkills").text("Please fill in all required fields.");
	$("#msgSkills").addClass("error");
	$("#msgSkills").fadeIn("slow");
	return false;
}
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  }
  xmlHttp.onreadystatechange= function()
  {

if (xmlHttp.readyState==4)
{
document.getElementById('langSkillsList').innerHTML =xmlHttp.responseText;
lang.value = "";
read.value = "";
write.value = "";
speak.value = "";
$("#msgSkills").removeClass("error");
$("#msgSkills").addClass("msg");
$("#msgSkills").text("Language skill saved successfully.");
$("#msgSkills").fadeIn('slow').animate({opacity: 1.0}, 3000).fadeOut('slow');
//change Save button handler
document.getElementById('saveLangSkill').onclick = function(){
saveLangSkill('saveLangSkill');
};
lang.disabled = false;
return true;
}

}//end of ready state change event
xmlHttp.open("GET","processCv.php?mode="+mode+"&lang="+lang.value+"&read="+read.value+"&write="+write.value+"&speak="+speak.value+"&r="+ Math.random(),true);
xmlHttp.send(null);

}
function editLangSkill(lang, read, write, speak)
{
var langSelect = document.getElementById('lang');
var readSelect = document.getElementById('read');
var writeSelect = document.getElementById('write');
var speakSelect = document.getElementById('speak');

for (i=0; i<langSelect.length; i++)
{
if(trim(langSelect.options[i].value) == trim(lang))
langSelect.options[i].selected = true;
}
langSelect.disabled = true;
for(i=0; i<readSelect.length; i++)
{
if(trim(readSelect.options[i].value) == trim(read))
readSelect.options[i].selected = true;
}
for(i=0; i<writeSelect.length; i++)
{
if(trim(writeSelect.options[i].value) == trim(write))
writeSelect.options[i].selected = true;
}
for(i=0; i<speakSelect.length; i++)
{
if(trim(speakSelect.options[i].value) == trim(speak))
speakSelect.options[i].selected = true;
}

//change Save button handler
document.getElementById('saveLangSkill').onclick = function(){
saveLangSkill('updateLangSkill');
};
}
function deleteLangSkill(id)
{
$("#msgSkills").removeClass("error");
$("#msgSkills").removeClass("msg");
$("#msgSkills").show();
document.getElementById("msgSkills").innerHTML = '<img src="../sit_img/ajax-loader.gif" border="0" /> Deleting...';

if(confirmDelete())
{
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  }
  xmlHttp.onreadystatechange= function()
  {

if (xmlHttp.readyState==4)
{
document.getElementById('langSkillsList').innerHTML =xmlHttp.responseText;
$("#msgSkills").removeClass("error");
$("#msgSkills").addClass("msg");
$("#msgSkills").text("Language skill deleted successfully.");
$("#msgSkills").fadeIn('slow').animate({opacity: 1.0}, 3000).fadeOut('slow');
return true;
}

}//end of ready state change event
xmlHttp.open("GET","processCv.php?mode=deleteLangSkill&skillId="+id+"&r="+ Math.random(),true);
xmlHttp.send(null);

}
else
{
return false;
}
}
//references
function saveReference(mode, id)
{
$("#msgMisc").removeClass("error");
$("#msgMisc").removeClass("msg");
$("#msgMisc").show();
document.getElementById("msgMisc").innerHTML = '<img src="../sit_img/ajax-loader.gif" border="0" /> Saving...';

var refName= document.getElementById('refName');
var refPosition= document.getElementById('refPosition');
var refCompany= document.getElementById('refCompany');
var refPhone= document.getElementById('refPhone');
var refEmail= document.getElementById('refEmail');
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	var validEmail = reg.test(refEmail.value);
   
if(refName.value == "" || refEmail.value == "" || refPhone.value == "")
{
	$("#msgMisc").text("Please fill in all required fields.");
	$("#msgMisc").addClass("error");
	$("#msgMisc").fadeIn("slow");
	return false;
}
if(!validEmail)
{
	$("#msgMisc").text("Invalid reference e-mail address.");
	$("#msgMisc").addClass("error");
	$("#msgMisc").fadeIn("slow");
	return false;
}
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  }
  xmlHttp.onreadystatechange= function()
  {

if (xmlHttp.readyState==4)
{
document.getElementById('referencesList').innerHTML =xmlHttp.responseText;
refName.value = "";
refPosition.value = "";
refCompany.value = "";
refPhone.value = "";
refEmail.value = "";
$("#msgMisc").removeClass("error");
$("#msgMisc").addClass("msg");
$("#msgMisc").text("Reference saved successfully.");
$("#msgMisc").fadeIn('slow').animate({opacity: 1.0}, 3000).fadeOut('slow');
//change Save button handler
document.getElementById('saveReference').onclick = function(){
saveReference('saveReference');
};
return true;
}

}//end of ready state change event
xmlHttp.open("GET","processCv.php?mode="+mode+"&refId="+id+"&refName="+refName.value+"&refPosition="+refPosition.value+"&refCompany="+refCompany.value+"&refPhone="+refPhone.value+"&refEmail="+refEmail.value+"&r="+ Math.random(),true);
xmlHttp.send(null);

}
function editReference(id, name, position, company, phone, email)
{
document.getElementById('refName').value = name;
document.getElementById('refPosition').value= position;
document.getElementById('refCompany').value = company;
document.getElementById('refPhone').value = phone;
document.getElementById('refEmail').value = email;

//change Save button handler
document.getElementById('saveReference').onclick = function(){
saveReference('updateReference', id);
};
}
function deleteReference(id)
{
$("#msgMisc").removeClass("error");
$("#msgMisc").removeClass("msg");
$("#msgMisc").show();
document.getElementById("msgMisc").innerHTML = '<img src="../sit_img/ajax-loader.gif" border="0" /> Deleting...';
if(confirmDelete())
{
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  }
  xmlHttp.onreadystatechange= function()
  {

if (xmlHttp.readyState==4)
{
document.getElementById('referencesList').innerHTML =xmlHttp.responseText;
$("#msgMisc").removeClass("error");
$("#msgMisc").addClass("msg");
$("#msgMisc").text("Reference deleted successfully.");
$("#msgMisc").fadeIn('slow').animate({opacity: 1.0}, 3000).fadeOut('slow');
return true;
}

}//end of ready state change event
xmlHttp.open("GET","processCv.php?mode=deleteReference&refId="+id+"&r="+ Math.random(),true);
xmlHttp.send(null);

}
else
{
return false;
}
}

function updateAddInfo()
{
$("#msgMisc").removeClass("error");
$("#msgMisc").removeClass("msg");
$("#msgMisc").show();
document.getElementById("msgMisc").innerHTML = '<img src="../sit_img/ajax-loader.gif" border="0" /> Saving...';

var info = document.getElementById('addInfo').value;
if(info  == "")
{
	$("#msgMisc").text("Please fill in the additional information.");
	$("#msgMisc").addClass("error");
	$("#msgMisc").fadeIn("slow");
	return false;
}
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  }
  xmlHttp.onreadystatechange= function()
  {

if (xmlHttp.readyState==4)
{
$("#msgMisc").removeClass("error");
$("#msgMisc").addClass("msg");
$("#msgMisc").text("Additional information saved successfully.");
$("#msgMisc").fadeIn('slow').animate({opacity: 1.0}, 3000).fadeOut('slow');
}

}//end of ready state change event
xmlHttp.open("GET","processCv.php?mode=updateAddInfo&info="+info+"&r="+ Math.random(),true);
xmlHttp.send(null);


}

function addMoreSkills()
{
            var myCell = document.getElementById('skillsTd');
            var newTextBox = document.createElement('input'); 
            newTextBox.type = 'text';
            newTextBox.name = 'skills[]';
            newTextBox.className = 'input';
            newTextBox.style.width = '400px';
            myCell.innerHTML += "<br />";
            myCell.appendChild(newTextBox);
}
function selectDep(dept)
{
var depSelect= document.getElementById('department');
for (i=0; i<depSelect.length; i++)
{
if(trim(depSelect.options[i].text) == trim(dept))
depSelect.options[i].selected = true;
}
}
var popupAttachmentWin;
function attachFile()
{
var attachmentType = document.getElementById('attachmentType');
if(attachmentType.value == "")
{
alert("Please select an attachment type");
return false;
}
var queryString = "?attachmentType=" + attachmentType.value;
//openWindow('includes/attachFile.php', queryString, '500', '250');
popupAttachmentWin = openWindow('attachFile.php', queryString, '500', '250');
}

function getAttachments()
{
var html = "";
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  }
  xmlHttp.onreadystatechange= function()
  {

if (xmlHttp.readyState==4)
{
var json = eval("("+xmlHttp.responseText+")");
if(json == null)
alert("JSON object is null");
if(json.message == null)
{
html = '<table class="cvTable"><tr><th>Attachment Type</th><th>Attachment</th><th></th></tr>';
if(json.cvFile != null)
html += '<tr><td> CV Document</td><td> <a style="color: blue; cursor: pointer; text-decoration: underline;" href="..'+json.cvFile+'">View</a> </td><td><a class="linkStyle" onclick="deleteFile(\'cv_file\', \''+json.cvFile+'\')"><img src="../sit_img/delete.png" title="Delete" alt="Delete" /></a></td></tr>';
if(json.photoFile != null)
html += '<tr><td> Personal Photograph</td><td> <a style="color: blue; cursor: pointer; text-decoration: underline;" onclick="openWindow(\'..'+json.photoFile+'\', \'\', \'500\', \'250\');">View</a> </td><td><a class="linkStyle" onclick="deleteFile(\'photo_file\', \''+json.photoFile+'\')"><img src="../sit_img/delete.png" title="Delete" alt="Delete" /></a></td></tr>';
html += '</table>';
}
document.getElementById('displayAttachments').innerHTML = html;
return html;
}
}//end of ready state change event
xmlHttp.open("GET","processCv.php?mode=attachments&r="+ Math.random(),true);
xmlHttp.send(null);

}

function refreshParent() {
  window.opener.location.href = window.opener.location.href;
 /* var something = getAttachments();
 //something += html;
setTimeout("window.opener.document.getElementById('displayAttachments').innerHTML = something;", 3000);*/
 if (window.opener.progressWindow)
		
 {
    window.opener.progressWindow.close()
  }
  window.close();
  
}
function deleteFile(field, filePath)
{
$("#msgMisc").removeClass("error");
$("#msgMisc").removeClass("msg");
$("#msgMisc").show();
document.getElementById("msgMisc").innerHTML = '<img src="../sit_img/ajax-loader.gif" border="0" /> Deleting...';
if(confirmDelete())
{
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  }
  xmlHttp.onreadystatechange= function()
  {

if (xmlHttp.readyState==4)
{
$("#msgMisc").removeClass("error");
$("#msgMisc").addClass("msg");
$("#msgMisc").text("File deleted successfully.");
$("#msgMisc").fadeIn('slow').animate({opacity: 1.0}, 3000).fadeOut('slow');
getAttachments();
}
}//end of ready state change event
xmlHttp.open("GET","processCv.php?mode=deleteAttachments&field="+field+"&filePath="+filePath+"&r="+ Math.random(),true);
xmlHttp.send(null);
}
}
function validateFileUpload(type)
{
var fileUpload = document.getElementById('myFile').value;
var fileExtension = fileUpload.substring(fileUpload.lastIndexOf("."));
if(type=="document")
{
if(fileExtension != ".doc" && fileExtension != ".pdf")
{
alert("Invalid CV document type");
return false;
}
}
else if(type=="photo")
{
if(fileExtension != ".png" && fileExtension != ".jpg" && fileExtension != ".gif")
{
alert("Invalid personal photograph file type");
return false;
}
}
else return false;
return true;
}
function validateExperience()
{
var yearsOfExperience = document.getElementById('experience');
if(validateNumber(yearsOfExperience) || yearsOfExperience.value =="")
return true;
else
{
alert("Invalid Years of experience number");
return false;
}
}
function showHide(div, link)
{
$("#"+div).slideToggle(750);
/*
var myDiv = document.getElementById(div);
if(myDiv.style.visibility == "visible")
{
myDiv.style.visibility = "hidden";
link.innerHTML = "[Show]";
}
else
{
myDiv.style.visibility = "visible";
link.innerHTML = "[Hide]";
}
*/
}