﻿function ChkEmail(str) {
    var pattern = /^[\w-_.]*[\w-_.]@[\w].+[\w]+[\w]$/i;
    return pattern.test(str);
} 
    function ChkPostcode(str) {
    var pattern = /^[a-zA-Z]{1,2}[0-9][0-9A-Za-z]{0,1} {0,1}[0-9][A-Za-z]{2}$/i;
    return pattern.test(str);
}

function validate(field) {
    var valid = "0123456789-() "
    var ok = "yes";
    var temp;
    for (var i=0; i<field.value.length; i++) {
    temp = "" + field.value.substring(i, i+1);
    if (valid.indexOf(temp) == "-1") ok = "no";
    }
    if (ok == "no") {
      return 1;
       }
    if (!(exists(field.value))) {
      return 1;
       }
}

function exists(userEntry) {

  var aCharExists = 0;
  var entry=userEntry;

  if(entry) {
     if(entry.substring(0,6)=='Enter '){ return 0; }
     for (var i=0; i<entry.length; i++) {
       if (entry.charAt(i) !="") {
         aCharExists=1;
       }
     }
  }

  if(!aCharExists) {
  return 0;
  }

  return 1;
}

////////////////validating tel numbers  ////////////////////////////
function chkPhone(num) {
    var intTel = num.charAt(0);
    var telLen = num.length;
    var intTel2 = num.substring(0,2);

    if ((intTel == "+")||(intTel2 == "00")){
	    return true;
    }			
    return false
}
 
function chkTelPhone(fld) {
    var num = String(fld).replace(/[^\d]/g,'');
    if (String(num).substr(1, 1) == '2') {
		    //' new style 02 number
		    //' should be 3 4 4
		    num = String(num).substr(0, 3) + ' ' + String(num).substr(3, 4) + ' ' + String(num).substr(7, 4);
	    }
	    else if (String(num).substr(1, 2) == '11' || String(num).substr(1, 1) == '8' || String(num).substr(1, 1) == '5') {
		    //' new style 011 number or 08/05 number
		    //' should be 4 3 4
		    num = String(num).substr(0, 4) + ' ' + String(num).substr(4, 3) + ' ' + String(num).substr(7, 4);
	    }
	    else if (String(num).substr(1, 1) == '1' && String(num).substr(3, 1) == '1') {
		    //' old style 01X1 number
		    //' should be 4 3 4
		    num = String(num).substr(0, 4) + ' ' + String(num).substr(4, 3) + ' ' + String(num).substr(7, 4);
	    }
	    else if (String(num).substr(1, 1) == '1' || String(num).substr(1, 1) == '7') {
		    //' normal 01XXX number or mobile
		    //' should be 5 6
		    num = String(num).substr(0, 5) + ' ' + String(num).substr(5, 6);
	    }
    return num;
}
//////////////end of validating tel numbers /////////////////////

function chkCheckedAtLeastOne(frmElem) {
	var thisElem = frmElem;
	var checkCount = 0;
	if (thisElem.length > 0) {
		for (i=0;i<thisElem.length;i++) {
			if (thisElem[i].checked==true) {
				checkCount++
			}
		}
	} else {
		if (thisElem.checked==true) {
			checkCount++
		}
	}
	if (checkCount > 0) {
		return true;
	}
	//alert('You need to check at least one');
	return false;
}

function validateJobDetails(thisform) {
    var fixThis = "";
    
   	if(!(exists(thisform.sector.value))) {
  		fixThis += "Please select your preferred industry sector.\n"
  	}    
    	
   	if(!(thisform.jobtitle1==undefined)){
   	if(!(exists(thisform.jobtitle1.value))) {
  		fixThis += "Please enter your preferred job title.\n"
  	}
  	}
    
    if(!(exists(thisform.jobpostcode.value))) {
  		fixThis += "Please enter a postcode.\n"
  	}
  	
    if(!(exists(thisform.skill1.value))) {
  		fixThis += "Please enter at least one skill with experience.\n"
  	}  	
   
    return fixThis;
}

function validateCandidateDetails(thisform) {
    var fixThis = "";
    	
   	if(!(exists(thisform.name.value))) {
  		fixThis += "Please enter your full name.\n"
  	}
    
    if(!(exists(thisform.postcode.value))) {
  		fixThis += "Please enter your postcode.\n"
  	}   
  	
    if(!(ChkEmail(thisform.email.value))) {
  		fixThis += "Please enter a valid email address.\n"
  	} 
  	
    if(!(exists(thisform.mobile.value))) {
  		fixThis += "Please enter your mobile number.\n"
  	}  
  	
  	return fixThis; 	  		 	
}

function validateNewCandidate(thisform) {
    
    var fixThis = validateJobDetails(thisform);
   
    if (fixThis !="") {
      alert(fixThis);
      return false
      
    } else {
        return true
    }
}

function validateNewCandidateRegister(thisform) {
    var fixThis = validateCandidateDetails(thisform);	
    if (fixThis !="") {
      alert(fixThis);
      return false;
    } else {
      return true;
    }
}

function validateCandidateProfile(thisform) {
    var fixThis = validateJobDetails(thisform) + validateCandidateDetails(thisform);
    if (fixThis !="") {
      alert(fixThis);
      return false
      
    } else {
       
       //thisForm.submit();
       return true
    }    
}

function validateSendFriend(thisform) {
    var fixThis = "";
    	
   	if(!(exists(thisform.name.value))) {
  		fixThis += "Please enter your full name.\n"
  	}
   	
    if(!(ChkEmail(thisform.email.value))) {
  		fixThis += "Please enter a valid email address.\n"
  	} 
  	
    if(!(exists(thisform.fname.value))) {
  		fixThis += "Please enter your friends name.\n"
  	} 
  	
    if(!(ChkEmail(thisform.femail.value))) {
  		fixThis += "Please enter your friends valid email address.\n"
  	}   	 
  	
  	if (fixThis !="") {
       alert(fixThis);
       return false;
    } else {
       return true;
    }    	  		 	
}
