var isValid;

function GetObj(id) {
	if (document.getElementById) {
		return document.getElementById(id);
	} else if (document.all) {
		return document.all[id];
	}
	return false;
}
function ToggleEnable(id) {
	if (GetObj(id).disabled)
		GetObj(id).disabled = false;
	else
		GetObj(id).disabled = true;
}
function Enable(id) {
	GetObj(id).disabled = false;
}
function Disable(id) {
	GetObj(id).disabled = true;
}

function non_empty(fld_name) {

	field = GetObj(fld_name);

	if ( field.value == "" ) { 
		alert("Field cannot be blank.");
		field.focus();
		return false;
	}
	// if no error found...
	return true;
}


function valid_login(form) {

	// check email string
	field = GetObj("email");
	var str = field.value; 
	var regexp = /^([A-Za-z0-9])+([_\.-][A-Za-z0-9]+)*@[A-Za-z0-9]+([_\.-][A-Za-z0-9]+)*\.([A-Za-z]){2,4}$/i;

	if ( !regexp.test(str)) { 
		alert("Please enter a proper email address.");
		field.focus();
		field.select();
		return false;
	}

	field = GetObj("pass");

	if ( field.value == "" ) { 
		alert("Please enter your password.");
		field.focus();
		return false;
	}
	// if no error found...
	return true;
}

function valid_email(form) {

	// check email string
	field = GetObj("email");
	var str = field.value; 
	var regexp = /^([A-Za-z0-9])+([_\.-][A-Za-z0-9]+)*@[A-Za-z0-9]+([_\.-][A-Za-z0-9]+)*\.([A-Za-z]){2,4}$/i;

	if ( !regexp.test(str)) { 
		alert("Please enter a proper email address.");
		field.focus();
		field.select();
		return false;
	}
	// if no error found...
	return true;
}


function valid(form) {

	// required fields
	var fldArray = new Array ("FIRSTNAME", "LASTNAME", "COMPANY_NAME", "COMPANY_TYPE", "TELEPHONE", "ADDRESS", "CITY", "PROVINCE", "COUNTRY", "EMAIL") ; //, "PASSWORD" 

	var new_reg = false;

	var url = window.location.href;
	if ( (url.indexOf('customer_new') != -1) || (url.indexOf('register.php') != -1) )
	{
		new_reg = true;
	}

	if (new_reg)
	{  // add PASSWORD field into fldArray
		fldArray.push("PASSWORD");
	}


//	for (var i=0; i<fldArray.length; i++)
	for (i in fldArray)
	{
		//alert('submit ' + fldArray[i]);

		// important line !!
		field = GetObj(fldArray[i]);

		//alert (fldArray[i] + "=" + GetObj(fldArray[i]).value);

		if ( field.value == '' ) { 
			if (GetObj('SUBMIT').disabled != false)
				alert ("Please fill in all required fields.");
			field.focus();
//			field.select();
			GetObj('SUBMIT').disabled = false;
			return false;
		}
	}

	// check telephone string
	field = GetObj("TELEPHONE");
	var str = field.value; 
//	var regexp = /^(?:([(])?([2-9]\d{2})(?(1)[)][ ]?|[- \/.]?))?([1-9]\d{2})[- .]?(\d{4})(?:(?:[ ]+|[xX]|Ext\.?[ ]?){1,2}(\d{1,5}))?$/i;  // from php
	var regexp = /^[(]?\d{3}[)]?[- .]?\d{3}[- .]?\d{4}([ ][xX][ ]?\d+)?$/i; 

	if ( !regexp.test(str)) {

		if (GetObj('SUBMIT').disabled != false) {
			alert("The phone number you entered is invalid.  Please use the format nnn-nnn-nnnn (e.g. 123-456-7890).");
		}
		field.focus();
		field.select();
		GetObj('SUBMIT').disabled = false;
		return false;
	}

	// check fax string
	field = GetObj("FAX");
	var str = field.value; 
	var regexp = /^[(]?\d{3}[)]?[- .]?\d{3}[- .]?\d{4}$/i; 

	if ( str != "" && !regexp.test(str) ) {  // only check if field is not empty

		if (GetObj('SUBMIT').disabled != false) {
			alert("The fax number you entered is invalid.  Please use the format nnn-nnn-nnnn (e.g. 123-456-7890).");
		}
		field.focus();
		field.select();
		GetObj('SUBMIT').disabled = false;
		return false;
	}

	// check postal code string
	field = GetObj("POSTAL_CODE");
	var str = field.value; 
	var regexp = /^((\d{5}-\d{4})|(\d{5})|([AaBbCcEeGgHhJjKkLlMmNnPpRrSsTtVvXxYy]\d[A-Za-z]\s?\d[A-Za-z]\d))$/i;

	if ( str != "" && !regexp.test(str)) {  // only check if field is not empty

		if (GetObj('SUBMIT').disabled != false) {
			alert("Please enter a proper zip code/postal code");
		}
		field.focus();
		field.select();
		GetObj('SUBMIT').disabled = false;
		return false;
	}

	// check email string
	field = GetObj("EMAIL");
	var str = field.value; 
	var regexp = /^([A-Za-z0-9])+([_\.-][A-Za-z0-9]+)*@[A-Za-z0-9]+([_\.-][A-Za-z0-9]+)*\.([A-Za-z]){2,4}$/i;

	if ( !regexp.test(str)) { 

		if (GetObj('SUBMIT').disabled != false) {
			alert("Please enter a proper email address.");
		}
		field.focus();
		field.select();
		GetObj('SUBMIT').disabled = false;
		return false;
	}

	if (new_reg)
	{
		// check password string
		field = GetObj("PASSWORD");

		if ( field.value.length < 6 ) { 

			if (GetObj('SUBMIT').disabled != false) {
				alert("Password must be at least 6 characters long.");
			}
			field.focus();
			field.select();
			GetObj('SUBMIT').disabled = false;
			return false;
		}

	}

	// if no error found...
	return true;

} // end function valid(form)


function valid_product(form) {
	// required fields
	var pfldArray = new Array ("SERIALNUM", "PURCHASE_DATE", "PURCHASEDFROM") ;

//	for (var i=0; i<fldArray.length; i++)
	for (i in pfldArray)
	{
		field = GetObj(pfldArray[i]);
		if ( field.value == '' ) { 
			if (GetObj('SUBMIT').disabled != false) {
				alert ("Please fill in all required fields.");
			}
			field.focus();
//			field.select();
			GetObj('SUBMIT').disabled = false;
			return false;
		}
	}

	// if no error found...
	return true;
}
