function ck_num(field)

{

	val = parseInt(field.value);

	if (isNaN(val)) 

	{

		alert("Invalid number format");

		field.focus();

		return false;

	}

	

	return true;

}



function ck_pos_num(field)

{

	val = parseInt(field.value);

	if (isNaN(val)) {

		alert("Invalid number format");

		field.focus();

		return false;

	}



	

	if (val>0) return true; 

		else 

	{	

		alert("Invalid number format");

		field.focus();

		return false;

	}

}



function ck_text(field, zval, str)

{

	if (field.value == zval) 

	{

		if (str!="")

		{

			alert(str);

			field.focus();

		}

		return false;

	} else 

		return true;

}

	

function ck_select(field, zval, zindex, str)

{

	if (field.options[field.selectedIndex].value==zval||field.selectedIndex==zindex)

	{

		if (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!="")

	{

		alert(str);

		field[0].focus();

	}

	return false;

}

	

function validate_email(field, alert_str)

{

	var str = field.value;

	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.focus();

		field.select();

		return false;

	} else {

		if(str.indexOf("@") >= 0)

		{

			return true;

		}

		alert(alert_str);

		field.focus();

		field.select();

		return false;

	}

}



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]);

		}

	}

}



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 validateURL (fm)
{	var urlStr = fm.value;
	if (urlStr.substr(0, 7) == "http://" || urlStr.substr(0, 4) == "www.")
	{	var tmpArr = urlStr.split(".");
		if (tmpArr.length >= 3)
		{	return true;
		}
	}
	alert("Company URL is invalid!");
	fm.focus();
	return false;
}

function validatePhone(fm) 
{	
	var digits = "0123456789";
	var phoneNumberDelimiters = "()- ";
	var validWorldPhoneChars = phoneNumberDelimiters + "+";
	var minDigitsInIPhoneNumber = 10;
	
	var s = getPhoneStr(fm.value, validWorldPhoneChars);
	var retVal = (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
	
	if (!retVal)
	{	alert("Phone Number is invalid!");
		fm.focus();
		return false;
	}
	
	return true;
}

function getPhoneStr(s, bag)
{   var i;
    var returnString = "";
    for (i = 0; i < s.length; i++)
    {   var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function isInteger(s)
{   var i;
    for (i = 0; i < s.length; i++)
    {	var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    return true;
}

function validateZip(fm) 
{	var valid = "0123456789-";
	var field = fm.value;
	var temp;
	
	if (field != "" && field.length >= 5)
	{	for (var i=0; i < field.length; i++) 
		{	temp = "" + field.substring(i, i+1);
			if (valid.indexOf(temp) == -1) 
			{	alert("ZIP/Postal Code is invalid!"); 
				fm.focus();
				return false;
			}	
	   	}
	} else
	{	alert("ZIP/Postal Code is invalid!"); 
		fm.focus();
		return false;
	}
	return true;
}

function validateZipLetters(fm) 
{	var valid = "0123456789-abcdefghijklmnopqrstuvwxyz";
	var field = fm.value;
	var temp;
	
	if (field != "" && field.length >= 4)
	{	/*for (var i=0; i < field.length; i++) 
		{	temp = "" + field.substring(i, i+1);
			if (valid.indexOf(temp) == -1) 
			{	alert("ZIP/Postal Code is invalid!"); 
				fm.focus();
				return false;
			}	
	   	}*/
	} else
	{	alert("ZIP/Postal Code is invalid!"); 
		fm.focus();
		return false;
	}
	return true;
	
}