/*
Javascript Form Validation
Chris Anderson
Copyright © 2000-2004

*/

var whitespace = " \t\n\r";

function isWhiteSpace(field){
	if (isEmpty(field)) {return 1;}
	for (var i = 0;i < field.value.length; i++){
		if (whitespace.indexOf(field.value.charAt(i)) > -1){
			return 1;
		}			
	}
	return 0;
}

function isInteger(field,allowwhitespace){
	if(isEmpty(field)) { return 0;}
	for (var i = 0; i < field.value.length; i++){
		if(allowwhitespace){
			if(!isDigit(field.value.charAt(i)) && whitespace.indexOf(field.value.charAt(i)) == -1){ return 0;}		
		}else{
			if(!isDigit(field.value.charAt(i))){ return 0; }
		}
	}
	return 1;
}


function isAlphaNumeric(field,allowwhitespace){
	if(isEmpty(field)) { return 0;}
	for (var i = 0; i < field.value.length; i++){
		if(allowwhitespace){
			if(!isLetterOrDigit(field.value.charAt(i)) && whitespace.indexOf(field.value.charAt(i)) == -1){ return 0;}		
		}else{
			if(!isLetterOrDigit(field.value.charAt(i))){ return 0; }
		}
	}
	return 1;
}

function isAlphabetic(field,allowwhitespace){
	if(isEmpty(field)) { return 0;}
	for (var i = 0; i < field.value.length; i++){
		if(allowwhitespace){
			if(!isLetter(field.value.charAt(i)) && whitespace.indexOf(field.value.charAt(i)) == -1){ return 0;}		
		}else{
			if(!isLetter(field.value.charAt(i))){ return 0; }
		}
	}
	return 1;
}

function isEmail(field)
{   
	if(isEmptyAndWhitespace(field)){ return 0;}
    var i = 1;
    var strLen = field.value.length;
    while ((i < strLen) && (field.value.charAt(i) != "@")){
		i++;
    }
    if ((i >= strLen) || (field.value.charAt(i) != "@")){
		return 0;
	}else{
		i += 2;
	}
    while ((i < strLen) && (field.value.charAt(i) != ".")){
		i++;
    }
    if ((i >= strLen - 1) || (field.value.charAt(i) != ".")){
		return 0;
	}else{
		return 1;
	}
}

function isEmpty(field){
	return ((field.value == null) || (field.value.length == 0) || (field == null))
}

function isEmptyAndWhitespace(field){
	return(isEmpty(field) || isWhiteSpace(field))
}

function isLetter(s){
	return(((s >= "a") && (s <= "z")) || ((s >= "A") && (s <= "Z")))
}

function isDigit(s){
	return((s >= "0") && (s <= "9"))
}

function isLetterOrDigit(s){
	return(isLetter(s) || isDigit(s))
}

function warn(field,msg){
	if(!isEmpty(field)) { field.select(); }
	field.focus();	
	alert(msg);
}