//////////////////////////////////
// form validation methods library

function popUp(URL, width, height) {
	day = new Date();
	id = day.getTime();
	window.open(URL, id, "toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width="+width+",height="+height+"');");
}

// string is valid email
function isEmail(s) {
 	var apos = s.value.indexOf('@');
  	var dpos = s.value.indexOf('.');
  	if (apos<=0 || dpos<=0) {
		return false; 
  	}
  	if (dpos+1>=s.value.length) {
		return false; 
  	}
  	return true;
}			

// string contains only whitespace
function isBlank(s) {
	for(var i = 0; i < s.length; i++) {
		var c = s.charAt(i);
		if ((c!=' ') && (c!='\n') && (c!='\t')) return false;
	}
	return true;
}		

// string is empty or only whitespace
function isEmpty(s) {
	if (!(s.value==null || s.value=="" || isBlank(s.value)))return false;
	return true;	
}	

// string is numeric
function isNumber(s) {
	if (isEmpty(s)) {
 		return false;
 	}	
 	for (var i = 0; i < s.value.length; i++) {
 		var ch = s.value.substring(i, i + 1);
 		if((ch!=' ') && (ch!='\n') && (ch!='\t')) 
     		if (ch < "0" || "9" < ch)return false;
 	}
 	return true;
}		

// string is numeric
function isFloat(s) {
 	if (isEmpty(s)) {
 	 	return false;
 	}
 	if (isNaN(parseFloat(s))) {
  		return false;
 	}
 	for (var i = 0; i < s.value.length; i++) {
   		var ch = s.value.substring(i, i + 1);
   		if((ch!=' ') && (ch!='\n') && (ch!='\t') && (ch!='.')) 
     		if (ch < "0" || "9" < ch)return false;
 	}
 	return true;
}		

function trim(str) { 
    if (str != null) {
        var i; 
        for (i=0; i<str.length; i++) {
            if (str.charAt(i)!=" ") {
                str=str.substring(i,str.length); 
                break;
            } 
        } 
    
        for (i=str.length-1; i>=0; i--) {
            if (str.charAt(i)!=" ") {
                str=str.substring(0,i+1); 
                break;
            } 
        } 
        
        if (str.charAt(0)==" ") {
            return ""; 
        } else {
            return str; 
        }
    }
}