
var xmlHttp;

function MM_openBrWindow(theURL, winName, features) { // v2.0
	window.open(theURL, winName, features);
}

function validateLogin() {
	var userName = document.getElementById('txtUsernameID').value;
	var userPass = document.getElementById('txtPasswordID').value;
	
	if ('' == userName) {
		document.getElementById('txtUsernameID').value = '';
		document.getElementById('txtUsernameID').focus();
		alert('Invalid Username.');
		return false;
	} else if ('' == userPass) {
		document.getElementById('txtPasswordID').value = '';
		document.getElementById('txtPasswordID').focus();
		alert('Invalid Password.');
		return false;
	} else {
		return true;
	}
}

function isValidEmail(chkEmail) {
	var filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	
	if (filter.test(chkEmail.value)) {
		return true;
	} else {
		chkEmail.value = '';
		chkEmail.focus();
		return false;
	}
}

function GetXmlHttpObject() { 
	var objXMLHttp = null;
	
	if (window.XMLHttpRequest) {
		objXMLHttp = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		objXMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	return objXMLHttp;
}

function validateEmail(txtEmail, txtUserID) {
	xmlHttp = GetXmlHttpObject();
	
	if (xmlHttp == null) {
		alert ("Browser does not support HTTP Request");
		return 
	}
	
	var validateEmailURL = "validateemail.php";
	validateEmailURL = validateEmailURL+"?email="+txtEmail.value+"&userid="+txtUserID;
	xmlHttp.onreadystatechange = stateChanged;
	xmlHttp.open("GET", validateEmailURL, true);
	xmlHttp.send(null);
}

function stateChanged() { 
	if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete") { 
		var emailResult = xmlHttp.responseText;
		
		if ('invalid' == emailResult) {
			document.getElementById('txtEmailID').value = '';
			document.getElementById('txtEmailID').focus();
			alert('Email registered. Please use another email address.');
		}
	} 
} 

function validateReg(regType) {
	var txtAddrTypeID = document.getElementById('txtAddrTypeID').value;
	var txtCompAddrID = document.getElementById('txtCompAddrID').value;
	var txtCityID = document.getElementById('txtCityID').value;
	var txtZipCodeID = document.getElementById('txtZipCodeID').value;
	var txtCountryID = document.getElementById('txtCountryID').value;
	var txtCompPhoneCountryID = document.getElementById('txtCompPhoneCountryID').value;
	var txtCompPhoneAreaID = document.getElementById('txtCompPhoneAreaID').value;
	var txtCompPhoneID = document.getElementById('txtCompPhoneID').value;
	var txtCompFaxCountryID = document.getElementById('txtCompFaxCountryID').value;
	var txtCompFaxAreaID = document.getElementById('txtCompFaxAreaID').value;
	var txtCompFaxID = document.getElementById('txtCompFaxID').value;
	var txtMsg = "Please key in the required field before submit. Thank you.";
	
	if (0 == regType) {
		var txtEmailID = document.getElementById('txtEmailID').value;
		var txtConfEmailID = document.getElementById('txtConfEmailID').value;
		var txtFNameID = document.getElementById('txtFNameID').value;
		var txtLNameID = document.getElementById('txtLNameID').value;
	
		if ('' == txtEmailID) {
			document.getElementById('txtEmailID').value = '';
			document.getElementById('txtEmailID').focus();
			alert(txtMsg);
			return false;
		} else if (!isValidEmail(document.getElementById('txtEmailID'))) {
			alert(txtMsg);
			return false;
		} else if (txtEmailID != txtConfEmailID) {
			document.getElementById('txtConfEmailID').value = '';
			document.getElementById('txtConfEmailID').focus();
			alert(txtMsg);
			return false;
		} else if ('' == txtFNameID) {
			document.getElementById('txtFNameID').value = '';
			document.getElementById('txtFNameID').focus();
			alert(txtMsg);
			return false;
		} else if ('' == txtLNameID) {
			document.getElementById('txtLNameID').value = '';
			document.getElementById('txtLNameID').focus();
			alert(txtMsg);
			return false;
		} else if ('' == txtAddrTypeID) {
			document.getElementById('txtAddrTypeID').value = '';
			document.getElementById('txtAddrTypeID').focus();
			alert(txtMsg);
			return false;
		} else if ('' == txtCompAddrID) {
			document.getElementById('txtCompAddrID').value = '';
			document.getElementById('txtCompAddrID').focus();
			alert(txtMsg);
			return false;
		} else if ('' == txtCityID) {
			document.getElementById('txtCityID').value = '';
			document.getElementById('txtCityID').focus();
			alert(txtMsg);
			return false;
		} else if ('' == txtZipCodeID) {
			document.getElementById('txtZipCodeID').value = '';
			document.getElementById('txtZipCodeID').focus();
			alert(txtMsg);
			return false;
		} else if ('' == txtCountryID) {
			document.getElementById('txtCountryID').value = '';
			document.getElementById('txtCountryID').focus();
			alert(txtMsg);
			return false;
		} else if ('' == txtCompPhoneCountryID) {
			document.getElementById('txtCompPhoneCountryID').value = '';
			document.getElementById('txtCompPhoneCountryID').focus();
			alert(txtMsg);
			return false;
		} else if ('' == txtCompPhoneAreaID) {
			document.getElementById('txtCompPhoneAreaID').value = '';
			document.getElementById('txtCompPhoneAreaID').focus();
			alert(txtMsg);
			return false;
		} else if ('' == txtCompPhoneID) {
			document.getElementById('txtCompPhoneID').value = '';
			document.getElementById('txtCompPhoneID').focus();
			alert(txtMsg);
			return false;
		} else {
			return true;
		}
	} else if (1 == regType) {
		var txtEmailID = document.getElementById('txtEmailID').value;
		var txtFNameID = document.getElementById('txtFNameID').value;
		var txtLNameID = document.getElementById('txtLNameID').value;
		
		var txtUserTypeID = document.getElementById('txtUserTypeID').value;
		var txtUsernameID = document.getElementById('txtUsernameID').value;
		var txtPasswordID = document.getElementById('txtPasswordID').value;
		
		if ('' == txtFNameID) {
			document.getElementById('txtFNameID').value = '';
			document.getElementById('txtFNameID').focus();
			alert(txtMsg);
			return false;
		} else if ('' == txtLNameID) {
			document.getElementById('txtLNameID').value = '';
			document.getElementById('txtLNameID').focus();
			alert(txtMsg);
			return false;
		} else if ('' == txtEmailID) {
			document.getElementById('txtEmailID').value = '';
			document.getElementById('txtEmailID').focus();
			alert(txtMsg);
			return false;
		} else if (!isValidEmail(document.getElementById('txtEmailID'))) {
			alert(txtMsg);
			return false;
		} else if ('' == txtAddrTypeID) {
			document.getElementById('txtAddrTypeID').value = '';
			document.getElementById('txtAddrTypeID').focus();
			alert(txtMsg);
			return false;
		} else if ('' == txtCompAddrID) {
			document.getElementById('txtCompAddrID').value = '';
			document.getElementById('txtCompAddrID').focus();
			alert(txtMsg);
			return false;
		} else if ('' == txtCityID) {
			document.getElementById('txtCityID').value = '';
			document.getElementById('txtCityID').focus();
			alert(txtMsg);
			return false;
		} else if ('' == txtZipCodeID) {
			document.getElementById('txtZipCodeID').value = '';
			document.getElementById('txtZipCodeID').focus();
			alert(txtMsg);
			return false;
		} else if ('' == txtCountryID) {
			document.getElementById('txtCountryID').value = '';
			document.getElementById('txtCountryID').focus();
			alert(txtMsg);
			return false;
		} else if ('' == txtCompPhoneCountryID) {
			document.getElementById('txtCompPhoneCountryID').value = '';
			document.getElementById('txtCompPhoneCountryID').focus();
			alert(txtMsg);
			return false;
		} else if ('' == txtCompPhoneAreaID) {
			document.getElementById('txtCompPhoneAreaID').value = '';
			document.getElementById('txtCompPhoneAreaID').focus();
			alert(txtMsg);
			return false;
		} else if ('' == txtCompPhoneID) {
			document.getElementById('txtCompPhoneID').value = '';
			document.getElementById('txtCompPhoneID').focus();
			alert(txtMsg);
			return false;
		} else {
			if (2 == txtUserTypeID) {
				if ('' == txtUsernameID) {
					document.getElementById('txtUsernameID').value = '';
					document.getElementById('txtUsernameID').focus();
					alert('Invalid Username for Sofira Admin.');
					return false;
				} else if ('' == txtPasswordID) {
					document.getElementById('txtPasswordID').value = '';
					document.getElementById('txtPasswordID').focus();
					alert('Invalid Password for Sofira Admin.');
					return false;
				} else {
					return true;
				}
			} else {
				return true;
			}
		}
	} else if (2 == regType) {
		if ('' == txtCompAddrID) {
			document.getElementById('txtCompAddrID').value = '';
			document.getElementById('txtCompAddrID').focus();
			alert(txtMsg);
			return false;
		} else if ('' == txtCityID) {
			document.getElementById('txtCityID').value = '';
			document.getElementById('txtCityID').focus();
			alert(txtMsg);
			return false;
		} else if ('' == txtZipCodeID) {
			document.getElementById('txtZipCodeID').value = '';
			document.getElementById('txtZipCodeID').focus();
			alert(txtMsg);
			return false;
		} else if ('' == txtCountryID) {
			document.getElementById('txtCountryID').value = '';
			document.getElementById('txtCountryID').focus();
			alert(txtMsg);
			return false;
		} else if ('' == txtCompPhoneCountryID) {
			document.getElementById('txtCompPhoneCountryID').value = '';
			document.getElementById('txtCompPhoneCountryID').focus();
			alert(txtMsg);
			return false;
		} else if ('' == txtCompPhoneAreaID) {
			document.getElementById('txtCompPhoneAreaID').value = '';
			document.getElementById('txtCompPhoneAreaID').focus();
			alert(txtMsg);
			return false;
		} else if ('' == txtCompPhoneID) {
			document.getElementById('txtCompPhoneID').value = '';
			document.getElementById('txtCompPhoneID').focus();
			alert(txtMsg);
			return false;
		} else {
			return true;
		}
	} else if (3 == regType) {
		var txtPasswordID = document.getElementById('txtPasswordID').value;
		var txtConfPasswordID = document.getElementById('txtConfPasswordID').value;
		
		if ('' == txtPasswordID) {
			document.getElementById('txtPasswordID').value = '';
			document.getElementById('txtPasswordID').focus();
			alert(txtMsg);
			return false;
		} else if (5 > txtPasswordID.length) {
			document.getElementById('txtPasswordID').value = '';
			document.getElementById('txtPasswordID').focus();
			alert('Invalid Password (5-12 characters).');
			return false;
		} else if (txtPasswordID != txtConfPasswordID) {
			document.getElementById('txtConfPasswordID').value = '';
			document.getElementById('txtConfPasswordID').focus();
			alert('Please confirm the password.');
			return false;
		} else {
			return true;
		}
	}
}

function updateWishList() {
	document.getElementById('typeID').value = "update";
	document.getElementById('frmWishID').submit();
}

function confirmDrop() {
	if (confirm("Confirm Drop Item?")) {
		return true;
	} else {
		return false;
	}
}

function newConfirm(mtitle, mess, icon, defbut, mods) {
	var browser = navigator.appName;
	
	if (browser == "Microsoft Internet Explorer") {
		icon = (icon == 0) ? 0 : 2;
		defbut = (defbut == 0) ? 0 : 1;
		retVal = makeMsgBox(mtitle, mess, icon, 4, defbut, mods);
		retVal = (retVal == 6);
	}	else {
		retVal = confirm(mess);
	}
	
	return retVal;
}

function load() {
	var load = window.open('map.htm','','scrollbars=no,menubar=no,height=362,width=601,resizable=no,toolbar=no,location=no,status=no');
}

function validateEnquire() {
	var filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	
	var enqName = document.getElementById('txtNameID').value;
	var enqEmail = document.getElementById('txtEmailID').value;
	var enqPhone = document.getElementById('txtPhoneID').value;
	var enqMsg = document.getElementById('txtMessageID').value;
	
	if ('' == enqName) {
		document.getElementById('txtNameID').value = '';
		document.getElementById('txtNameID').focus();
		alert('Invalid Name.');
		return false;
	} else if (!filter.test(enqEmail)) {
		document.getElementById('txtEmailID').value = '';
		document.getElementById('txtEmailID').focus();
		alert('Invalid Email.');
		return false;
	} else if ('' == enqPhone) {
		document.getElementById('txtPhoneID').value = '';
		document.getElementById('txtPhoneID').focus();
		alert('Invalid Phone.');
		return false;
	} else if ('' == enqMsg) {
		document.getElementById('txtMessageID').value = '';
		document.getElementById('txtMessageID').focus();
		alert('Invalid Message.');
		return false;
	} else {
		return true;
	}
}

function postSearch() {
	if ('' != document.getElementById("txtSearchID").value && ' -- Search Product --' != document.getElementById("txtSearchID").value) {
		document.getElementById("txtPostSearchID").value = document.getElementById("txtSearchID").value;
		document.getElementById("frmPostSearchID").submit();
	} else {
		alert('Please enter the search test.');
		document.getElementById("txtSearchID").value = "";
		document.getElementById("txtSearchID").focus();
	}
}

function validateCat() {
	var txtCatNameID = document.getElementById('txtCatNameID').value;
	
	if ('' == txtCatNameID) {
		document.getElementById('txtCatNameID').value = '';
		document.getElementById('txtCatNameID').focus();
		alert('Invalid Category Name.');
		return false;
	} else {
		return true;
	}
}

function validateProdSize() {
	var txtProdCatID = document.getElementById('txtProdCatID').value;
	var txtProdSizeID = document.getElementById('txtProdSizeID').value;
	
	if ('' == txtProdCatID) {
		document.getElementById('txtProdCatID').value = '';
		document.getElementById('txtProdCatID').focus();
		alert('Invalid Product Category.');
		return false;
	} else if ('' == txtProdSizeID) {
		document.getElementById('txtProdSizeID').value = '';
		document.getElementById('txtProdSizeID').focus();
		alert('Invalid Product Size.');
		return false;
	} else {
		return true;
	}
}

function validateProdAdd() {
	var actID = document.getElementById('actID').value;
	var txtProdCatID = document.getElementById('txtProdCatID').value;
	var txtProdNameID = document.getElementById('txtProdNameID').value;
	var txtProdDescID = document.getElementById('txtProdDescID').value;
	var txtProdTypeID = document.getElementById('txtProdTypeID').value;
	var txtProdFabricID = document.getElementById('txtProdFabricID').value;
	var txtProdFitID = document.getElementById('txtProdFitID').value;
	var txtProdColourID = document.getElementById('txtProdColourID').value;
	var txtProdEmbroideryID = document.getElementById('txtProdEmbroideryID').value;
	var txtProdDesignerID = document.getElementById('txtProdDesignerID').value;
	var txtProdImgFID = document.getElementById('txtProdImgFID').value;
	var txtProdPriceID = document.getElementById('txtProdPriceID').value;
	
	if ('' == txtProdCatID) {
		document.getElementById('txtProdCatID').value = '';
		document.getElementById('txtProdCatID').focus();
		alert('Invalid Product Category.');
		return false;
	} else if ('' == txtProdNameID) {
		document.getElementById('txtProdNameID').value = '';
		document.getElementById('txtProdNameID').focus();
		alert('Invalid Product Name.');
		return false;
	} else if ('' == txtProdDescID) {
		document.getElementById('txtProdDescID').value = '';
		document.getElementById('txtProdDescID').focus();
		alert('Invalid Product Desc.');
		return false;
	} else if ('' == txtProdTypeID) {
		document.getElementById('txtProdTypeID').value = '';
		document.getElementById('txtProdTypeID').focus();
		alert('Invalid Product Type.');
		return false;
	} else if ('' == txtProdFabricID) {
		document.getElementById('txtProdFabricID').value = '';
		document.getElementById('txtProdFabricID').focus();
		alert('Invalid Product Fabric.');
		return false;
	} else if ('' == txtProdFitID) {
		document.getElementById('txtProdFitID').value = '';
		document.getElementById('txtProdFitID').focus();
		alert('Invalid Product Fit.');
		return false;
	} else if ('' == txtProdColourID) {
		document.getElementById('txtProdColourID').value = '';
		document.getElementById('txtProdColourID').focus();
		alert('Invalid Product Colour.');
		return false;
	} else if ('' == txtProdEmbroideryID) {
		document.getElementById('txtProdEmbroideryID').value = '';
		document.getElementById('txtProdEmbroideryID').focus();
		alert('Invalid Product Embroidery.');
		return false;
	} else if ('' == txtProdDesignerID) {
		document.getElementById('txtProdDesignerID').value = '';
		document.getElementById('txtProdDesignerID').focus();
		alert('Invalid Product Code.');
		return false;
	} else if ('' == txtProdPriceID) {
		document.getElementById('txtProdPriceID').value = '';
		document.getElementById('txtProdPriceID').focus();
		alert('Invalid Product Price.');
		return false;
	} else if (true == isNaN(txtProdPriceID)) {
		document.getElementById('txtProdPriceID').value = '';
		document.getElementById('txtProdPriceID').focus();
		alert('Invalid Product Price.');
		return false;
	} else {
		if (0 == actID) {
			if ('' == txtProdImgFID) {
				document.getElementById('txtProdImgFID').value = '';
				document.getElementById('txtProdImgFID').focus();
				alert('Invalid Product Front Image.');
				return false;
			} else {
				return true;
			}
		} else if (1 == actID) {
			return true;
		}
	}
}

function printAppForm(btn1ID, btn2ID) {
	document.getElementById(btn1ID).style.visibility = "hidden";
	document.getElementById(btn2ID).style.visibility = "hidden";
	window.print();
}

function isValidSearchEmail(chkEmail) {
	var filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	
	if ('' != chkEmail.value) {
		if (filter.test(chkEmail.value)) {
			return true;
		} else {
			chkEmail.value = '';
			chkEmail.focus();
			alert('Invalid Email.');
			return false;
		}
	} else {
		return true;
	}
}

function validateWishQty(thisQtyBox) {
	if (isNaN(thisQtyBox.value) == true) {
		alert('Invalid Quantity');
		thisQtyBox.value = '0';
	} else {
		if (10 < thisQtyBox.value) {
			//alert('Quantity must be less than 10');
			//thisQtyBox.value = '0';
		}
	}
}
