/* $Id: check_required_fields_js.js,v 1.3.2.1 2006/06/22 12:01:32 max Exp $ */

/*
	Check required fields
*/
function checkRequired(lFields, id) {
	if (!lFields || lFields.length == 0)
		return true;

	if (id) {
		for (var x = 0; x < lFields.length; x++) {
			if (lFields[x][0] == id) {
				lFields = [lFields[x]];
				break;
			}
		}
	}

	for (var x = 0; x < lFields.length; x++) {
		if (!lFields[x] || !document.getElementById(lFields[x][0]))
			continue;

		var obj = document.getElementById(lFields[x][0]);
		if (obj.value == '' && (obj.type == 'text' || obj.type == 'password' || obj.type == 'textarea')) {
			if (lbl_required_field_is_empty != '') {
				alert(substitute(lbl_required_field_is_empty, 'field', lFields[x][1]));
			} else {
				alert(lFields[x][1]);
			}

			if (!obj.disabled && obj.type != 'hidden') {
				checkRequiredShow(obj);
				obj.focus();
			}

			return false;

		}
	}

	return true;
}

/*
	Show hidden element and element's parents
*/
function checkRequiredShow(elm) {
	if (elm.style && elm.style.display == 'none') {

		if (elm.id == 'ship_box' && document.getElementById('ship2diff')) {
			/* Exception for Register page */
			document.getElementById('ship2diff').checked = true;
			document.getElementById('ship2diff').onclick();
			
		} else
			elm.style.display = '';
	}

	if (elm.parentNode)
		checkRequiredShow(elm.parentNode);

}
function checkRequiredOnblur(name) {
	var fieldname = 'sp_'+name.name;
	
	if(fieldname == 'sp_email'){ // check email
		if(name.value == "") {
			document.getElementById(fieldname).innerHTML  = "<font class='Star'><img src='skin1/images/cross.gif' border='0'></font>";
			//alert("the required field "+name.id+" is empty");
			return false;
		}		
		if(checkEmailAddress(name)){
			document.getElementById(fieldname).innerHTML  = "<font color='green'><img src='skin1/images/tick.gif' border='0'></font>";
			return false;
		}else{
			document.getElementById(fieldname).innerHTML  = "<font class='Star'><img src='skin1/images/cross.gif' border='0'></font>";
			return false;
		}
	}else if(fieldname == 'sp_b_zipcode'){	// check zip code
		if(name.value == "") {
			document.getElementById(fieldname).innerHTML  = "<font class='Star'><img src='skin1/images/cross.gif' border='0'></font>";
			//alert("the required field "+name.id+" is empty");
			return false;
		}
		if(check_zip_code(document.getElementById('b_country'), document.getElementById('b_zipcode'))){ 
			document.getElementById(fieldname).innerHTML  = "<font color='green'><img src='skin1/images/tick.gif' border='0'></font>";
			return false;
		}else{
			document.getElementById(fieldname).innerHTML  = "<font class='Star'><img src='skin1/images/cross.gif' border='0'></font>";
			return false;
		}
	}else{	// check empty fields
		if(name.value == "") {
			document.getElementById(fieldname).innerHTML  = "<font class='Star'><img src='skin1/images/cross.gif' border='0'></font>";
			//alert("the required field '"+name.id+"' is empty");
			return false;
		}
		else {
			document.getElementById(fieldname).innerHTML  = "<font color='green'><img src='skin1/images/tick.gif' border='0'></font>";
			return false;
		}			
	}
	
}
