// checks if input value specified within the start position and including the end position
// is an alphabet character
function isAlpha(inputVal, startPos, endPos) {
	var strValue = inputVal.substring(startPos,endPos);
	
	for (var i = 0; i < strValue.length; i++) {
		var oneChar = strValue.charAt(i);
		if (!(oneChar >= "A" && oneChar <= "Z") && !(oneChar >= "a" && oneChar <= "z")) {
			return false;
			
		}
	}
	return true;
} 

function isPosInteger(inputVal) {
	inputStr = inputVal.toString();
	for (var i = 0; i < inputStr.length; i++) {
		var oneChar = inputStr.charAt(i);
		if (oneChar < "0" || oneChar > "9") {
			return false;
		}
	}
	return true;
}

function ReplaceApostrophes(inputVal){
 
 var regexp=/'/g
 
  inputStr=inputVal.toString();
  inputVal=inputStr.replace(regexp,"`")
  return(inputVal)
}

function validZip(formobj)
{
	var i;
	if(formobj.value == "" || formobj.value == null){
		alert("A Zipcode is required!");
		formobj.focus();
		return false;
	} else {
		for( i =0; i < formobj.value.length; i++){
			var charval= formobj.value.charAt(i);
			if (!(charval >= "0" && charval <= "9") && !(charval == "-") & !(charval == " ") & !(charval == "M")) {
				alert("Zipcode must be numeric");
				formobj.focus();
				return false;
			}
		}
	}
	return true;
}

function validCompID(formobj)
{
	if(formobj.value == "" || formobj.value == null){
		alert("Values are required in the Client Deal Fields!");
		formobj.focus();
		return false;
	}
	return true;
}

function validCity(formobj)
{
	if(formobj.value != ""){
		formobj.value = ReplaceApostrophes(formobj.value);
	}
	return true;
}


function validPassword(formobj){
	var i;
	for(i=0;i<formobj.value.length;i++){
		if(formobj.value.charAt(i) == "'"){
			alert("Apostrophes are not allowed in Password!");
			formobj.focus();
			return false;
		}
	}
	return true;
}

function validPhone1(areacode,phone,exten)
{
	if(areacode.value != "" && areacode.value.length != 3 )
	{
		alert("Area Code Value Must be 3 digits!");
		areacode.focus();
		return false;
	} else if(!isPosInteger(areacode.value)){
		alert("Only numeric value in area code!");
		areacode.focus();
		return false;	
	} else if(phone.value.length != 0 && phone.value.length != 7) {
		alert("Phone number must be 7 digits (i.e. #######)");
		phone.focus();
		return false;
	} else if(!isPosInteger(phone.value)){
		alert("Only numeric value in phone number!");
		phone.focus();
		return false;
	}
	if(exten.value != "" && exten.value != null){
		if(isAlpha(exten.value,0,exten.value.length)){
			alert("Only numeric values in ext. field!");
			exten.focus();
			return false;
		}
	}
	return true;
}

function validPhone2(phone,exten)
{
	
	if(phone.value != "" && phone.value.length != 7 && phone.value.length != 10) {
		alert("Phone number must be either 7 or 10 digits (i.e. ####### or ##########)");
		phone.focus();
		return false;
	} else if(!isPosInteger(phone.value)){
		alert("Only numeric value in phone number!");
		phone.focus();
		return false;
	}
	if(exten.value != "" && exten.value != null){
		if(isAlpha(exten.value,0,exten.value.length)){
			alert("Only numeric values in ext. field!");
			exten.focus();
			return false;
		}
	}
	return true;
}

function isEmail(str) {
  // are regular expressions supported?
  var supported = 0;
  if (window.RegExp) {
    var tempStr = "a";
    var tempReg = new RegExp(tempStr);
    if (tempReg.test(tempStr)) supported = 1;
  }
  if (!supported) 
    return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
  var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
  var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
  return (!r1.test(str) && r2.test(str));
}

