// general purpose validation function


function foc(field)


{


	//if (str>"") alert(str);


	field.select();


	field.focus();


}





function ck_num(field)


{


	val = parseInt(field.value);


	if (isNaN(val)) 


	{


		foc(field, "Invalid number format !");


		return false;


	}


	


	return true;


}





function ck_pos_num(field)


{


	val = parseInt(field.value);


	if (isNaN(val)) {


		foc(field,"Invalid number format !");


		return false;


	}





	


	if (val>0) return true; 


		else 


	{	


		foc(field,"Invalid number format !");


		return false;


	}


}





function ck_float_pos_num(field)


{


	if (!Number(field.value)) {


		foc(field);


		return false;


	}


	val = parseFloat(field.value);	


	if (val>0) return true; 


		else 


	{	


		foc(field);


		return false;


	}


}





function ck_text(field, zval, str)


{


	if (field.value == zval) 


	{


		if (str!="")


		{


			foc(field);


			//msg="Please fill the "+field+" field!";


			alert(str);


		}


		return false;


	} else 


		return true;


}


	


function ck_select(field, zval, zindex, str)


{


	if (field.options[field.selectedIndex].value==zval||field.selectedIndex==zindex)


	{


		if (str!="")


		{


			//foc(field, str);


			alert(str);


			field.focus();


		}


		return false;


	}


	else


		return true;


}


	





function ck_radio(field, str)


{


	for (i=0;i<field.length;i++)


		if (field[i].checked) return i+1;


		


	if (str!="")


	{


		//foc(field[0], str);


		alert(str);


		field[0].focus();


	}


	return false;


}


	


function validate_email(field, alert_str)


{


	var str = field.value;


//	alert(str);


	if (window.RegExp) {


		var reg1str = "(@.*@)|(\\.\\.)|(@\\.)|(\\.@)|(^\\.)";


		var reg2str = "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$";


		var reg1 = new RegExp(reg1str);


		var reg2 = new RegExp(reg2str);


		if (!reg1.test(str) && reg2.test(str)) {


			return true;


		}


		alert(alert_str);


		field.select();


		return false;


	} else {


		if(str.indexOf("@") >= 0)


		{


			return true;


		}


		alert(alert_str);


		field.select();


		return false;


	}


}


// auto fill form with supplied values


function set_form(f, names, values)


{


	var i;





	for (i=0; i<names.length; i++)


	{


		if (e = f.elements[names[i]]) 


		{


	//		alert(i + " " + e.name +" "+ e.type+" "+ values[i]);


			switch(e.type) {


			case "hidden" :


			case "text" :


			case "textarea" : e.value = values[i]; break;


			case "select-one" : set_select(e, values[i]); break;


			case "checkbox" : set_checkbox(e, values[i]); break;	


			}





			if (e.length>0&&e[0].type=="radio") 


				set_radio(e, values[i]);


		}


	}


}





// functions used by set_form





function set_text(field, val)


{


	field.value = val;


	return true;


}





function set_select(field, val)


{


	var i;


	for (i=0;i<field.options.length;i++)


		if (field.options[i].value == val) 


		{


			field.selectedIndex = i;


			return true;


		}


	return false;


}





function set_checkbox(field, val)


{


	if (field.value != val) return false;


	field.checked = true;


	return true;


}





function set_radio(field, val)


{


	var i;


	var ok;


	ok = false;


	for (i=0; i<field.length;i++)


	{


//	alert(field[i].value);


		if (field[i].value == val)


		{


	//		alert("Found i = "+i);


			field[i].checked = true;


			ok = true;


		}


		else field[i].checked = false;


	}


	return ok;


}








function isEmpty(obj)


{


	obj_type = obj.type;	


	if (obj_type == "text" || obj_type == "password" || obj_type == "textarea" || obj_type == "file")	{


		var objValue;


		


		objValue = obj.value.replace(/\s+$/,"");


		


		if (objValue.length == 0) {


			obj.focus();


			return true;


		} else {


			return false;


		}


	} else if (obj_type == "select") {


		for (i=0; i < obj.length; i++) {


			if (obj.options[i].selected) {


				if(obj.options[i].value == "") {


					obj.focus();


					return true;


				} else {


					return false;


				}


			}


			


		}


		return true;	


	} else if (obj_type == "radio" || obj_type == "checkbox") {


		if (!obj[0] && obj) {


			if (obj.checked) {


				return false;


			} else {


				obj.focus();


				return true;	


			}


		} else {


			for (i=0; i < obj.length; i++) {


				if (obj[i].checked) {


					return false;


				}


			}


			obj[0].focus();


			return true;


		}


	} else {


		return false;


	}


}


