/* ************************************ GENERAL ************************************* */

function popUp(URL, width, height, scroll) {
    var settings
    settings = "width=" + width + ",height=" + height + ",scrollbars=" + scroll + ",toolbar=no";
    popwin = window.open(URL, "Zoom", settings);
    popwin.focus();
}

function ValidateEmailAddress(email) {
	//regular expression validation of email address
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	if(reg.test(email) == false){
		return false;
	}else{
		return true;
	}
}

function ValidateEnewsletter(){
	var sMsg = '';
	if (document.getElementById("txtEmailSign").value == ''){sMsg = sMsg + 'Please enter your email.\n';}
	if (ValidateEmailAddress(document.getElementById("txtEmailSign").value)==false){bFail=true;sMsg=sMsg + "Invalid Email address\n";}	
	if (sMsg == ''){return true;}else{alert(sMsg); return false;}
}

function ValidateEnewsletterPage(){
	var sMsg = '';
	if (document.getElementById("txtEmail").value == ''){sMsg = sMsg + 'Please enter your email.\n';}
	if (ValidateEmailAddress(document.getElementById("txtEmail").value)==false){bFail=true;sMsg=sMsg + "Invalid Email address\n";}	
	if (document.getElementById("txtCaptcha").value == ''){sMsg = sMsg + 'Please enter the characters in the box.\n';}
	if (sMsg == ''){return true;}else{alert(sMsg); return false;}
}

function ValidateOfferCode(){
	var sMsg = '';
	if (document.getElementById("txtMediaCode").value == ''){sMsg = sMsg + 'Please enter your offer code.\n';}
	if (sMsg == ''){return true;}else{alert(sMsg); return false;}
}

function ValidateSearch() {
    var sMsg = '';
    if (document.getElementById("SearchString").value == '') {
        document.getElementById("SearchString").value = 'all'
    }
    if (sMsg == '') { return true; } else { alert(sMsg); return false; }
}

/* ************************************ PRODUCT DETAIL ************************************* */

function ValidateEmailAFriend(){
	var sMsg = '';
	if (document.getElementById("txtYourName").value == ''){sMsg = sMsg + 'Please enter your name.\n';}
	if (document.getElementById("txtYourEmail").value == ''){sMsg = sMsg + 'Please enter your email.\n';}
	if (ValidateEmailAddress(document.getElementById("txtYourEmail").value)==false){bFail=true;sMsg=sMsg + "Invalid Email address\n";}	
	if (document.getElementById("txtFriendName").value == ''){sMsg = sMsg + "Please enter your friend's name.\n";}
	if (document.getElementById("txtFriendEmail").value == ''){sMsg = sMsg + "Please enter your friend's email.\n";}
	if (ValidateEmailAddress(document.getElementById("txtFriendEmail").value)==false){bFail=true;sMsg=sMsg + "Invalid Email address\n";}	
	if (sMsg == ''){return true;}else{alert(sMsg); return false;}
}

function ShowEmailAFriend(){document.getElementById("Template_EmailAFriend").style.display='';}

function HideEmailAFriend(){document.getElementById("Template_EmailAFriend").style.display='none';}

function UpdatePersonalisation() {
    document.getElementById("Personalisation_Line1").innerHTML = document.getElementById("txtLine1").value;
    document.getElementById("Personalisation_Line2").innerHTML = document.getElementById("txtLine2").value;
    document.getElementById("Personalisation_Line3").innerHTML = document.getElementById("txtLine3").value;
    document.getElementById("Personalisation_Line4").innerHTML = document.getElementById("txtLine4").value;
}

/* ************************************ BASKET ************************************* */

function ContinueShopping(){
	self.location.href='<%=session("lastviewlist")%>';
}

function UpdateCart(){
	document.getElementById('checkout').value='';document.getElementById('DisplayCart').submit();
}

function SetMediaCode(){
	document.getElementById("txtMediaCode").value = document.getElementById("txtMediaCode2").value ;
	document.getElementById("frmMediaCode").submit();
}

function ChangeCountryB(varID){
	document.getElementById("CID").value = varID;
	document.getElementById("shipForm").submit();
}

function gobackshopping() {
    self.location.href = '<%=session("lastviewlist")%>';
}

/* ************************************ CHECKOUT ************************************* */

function ValidateCheckoutLogin(){
	var sMsg = '';
	if (document.getElementById("txtEmailLogin").value == ''){sMsg = sMsg + 'Please enter your email.\n';}
	if (ValidateEmailAddress(document.getElementById("txtEmailLogin").value)==false){bFail=true;sMsg=sMsg + "Invalid Email address\n";}
	if (document.getElementById("txtPasswordLogin").value == ''){sMsg = sMsg + "Please enter your password.\n";}
	if (sMsg == ''){return true;}else{alert(sMsg); return false;}
}

function ShowCheckoutDelivery(){
	document.getElementById("CheckoutShippingAddress").style.display='';
	document.getElementById("DiffBilling").value='other';
}
function HideCheckoutDelivery(){
	document.getElementById("CheckoutShippingAddress").style.display='none';
	document.getElementById("DiffBilling").value='same';
}

function ShowCheckoutRegister(){document.getElementById("CheckoutRegister").style.display='';}
function HideCheckoutRegister(){document.getElementById("CheckoutRegister").style.display='none';}

function ValidateCustomerDetails(){
	var sMsg = '';
	if (document.getElementById("cboTitle").value == ''){sMsg = sMsg + 'Please enter your title.\n';}
	if (document.getElementById("Initial1").value == ''){sMsg = sMsg + 'Please enter your first name.\n';}
	if (document.getElementById("txtSurname").value == ''){sMsg = sMsg + 'Please enter your surname.\n';}
	if (document.getElementById("txtTelephone").value == ''){sMsg = sMsg + 'Please enter your telephone number.\n';}
	if (document.getElementById("txtEmail").value == ''){sMsg = sMsg + 'Please enter your email.\n';}
	if (ValidateEmailAddress(document.getElementById("txtEmail").value)==false){bFail=true;sMsg=sMsg + "Invalid Email address\n";}	
	if (document.getElementById("txtEmailConfirm").value == ''){sMsg = sMsg + 'Please confirm your email.\n';}
	if (document.getElementById("txtPostCode").value == ''){sMsg = sMsg + 'Please enter your post code.\n';}
	if (document.getElementById("txtAddress1").value == ''){sMsg = sMsg + 'Please enter your house number or name.\n';}
	if (document.getElementById("txtAddress4").value == ''){sMsg = sMsg + 'Please enter your town.\n';}
	if (document.getElementById("Research").value == '0'){sMsg = sMsg + 'Where did you hear about us?\n';}
	if (document.getElementById("optDeliveryNew").checked == true){
		if (document.getElementById("cboTitleD").value == ''){sMsg = sMsg + 'Please enter your shipping address title.\n';}
		if (document.getElementById("Initial1D").value == ''){sMsg = sMsg + 'Please enter your shipping address first name.\n';}
		if (document.getElementById("txtSurnameD").value == ''){sMsg = sMsg + 'Please enter your shipping address surname.\n';}
		if (document.getElementById("txtPostCodeD").value == ''){sMsg = sMsg + 'Please enter your shipping address post code.\n';}
		if (document.getElementById("txtAddress1D").value == ''){sMsg = sMsg + 'Please enter your shipping address house number or name.\n';}
		if (document.getElementById("txtAddress4D").value == ''){sMsg = sMsg + 'Please enter your shipping address town.\n';}	
	}
	if (document.getElementById("optRegisterYes").checked == true){
		if (document.getElementById("txtPassword").value == ''){sMsg = sMsg + 'Please enter your password.\n';}
		if (document.getElementById("txtPasswordConfirm").value == ''){sMsg = sMsg + 'Please confirm your password.\n';}
		if (co_billing.txtPassword.value != co_billing.txtPasswordConfirm.value){ bFail=true;sMsg=sMsg + "Please ensure your passwords match\n";}
	}
	if (document.getElementById("TandCs").checked == ''){sMsg = sMsg + 'Please accept our terms and conditions to continue.\n';}
	if (sMsg == ''){return true;}else{alert(sMsg); return false;}
}

/* ************************************ MY ACCOUNT PAGES ************************************* */

function ValidateAddToWishList(){
	var sMsg = '';
	if (document.getElementById("txtName").value == ''){sMsg = sMsg + 'Please enter your name.\n';}
	if (document.getElementById("txtEmail").value == ''){sMsg = sMsg + 'Please enter your email.\n';}
	if (ValidateEmailAddress(document.getElementById("txtEmail").value)==false){bFail=true;sMsg=sMsg + "Invalid Email address\n";}
	if (sMsg == ''){return true;}else{alert(sMsg); return false;}
}

function ValidateExistingCustomer(){
	var sMsg = '';
	if (document.getElementById("txtEmail").value == ''){sMsg = sMsg + 'Please enter your email.\n';}
	if (ValidateEmailAddress(document.getElementById("txtEmail").value)==false){bFail=true;sMsg=sMsg + "Invalid Email address\n";}
	if (document.getElementById("txtPassword").value == ''){sMsg = sMsg + 'Please enter your password.\n';}
	if (sMsg == ''){return true;}else{alert(sMsg); return false;}
}

function ForgotPassword(){
	if(document.getElementById("txtEmail").value!=""){
		document.getElementById("EmailMe").value=document.getElementById("txtEmail").value;
		if (ValidateEmailAddress(document.getElementById("txtEmail").value)==false){bFail=true;sMsg=sMsg + "Invalid Email address\n";}
		document.getElementById("ForgotPassword").submit();			
	}else{
		alert("Please enter an email in the box above.");
	}
}

function ValidateEditMyAccount(){
	var sMsg = '';
	if (document.getElementById("cboTitle").value == ''){sMsg = sMsg + 'Please enter your title.\n';}
	if (document.getElementById("Initial1").value == ''){sMsg = sMsg + 'Please enter your first name.\n';}
	if (document.getElementById("txtSurname").value == ''){sMsg = sMsg + 'Please enter your surname.\n';}
	if (document.getElementById("txtPostCode").value == ''){sMsg = sMsg + 'Please enter your post code.\n';}
	if (document.getElementById("txtAddress1").value == ''){sMsg = sMsg + 'Please enter your house number or name.\n';}
	if (document.getElementById("txtAddress4").value == ''){sMsg = sMsg + 'Please enter your town.\n';}
	if (document.getElementById("txtTelephone").value == ''){sMsg = sMsg + 'Please enter your telephone number.\n';}
	if (document.getElementById("txtEmail").value == ''){sMsg = sMsg + 'Please enter your email.\n';}
	if (ValidateEmailAddress(document.getElementById("txtEmail").value)==false){bFail=true;sMsg=sMsg + "Invalid Email address\n";}
	if (document.getElementById("txtPassword").value == ''){sMsg = sMsg + 'Please enter your password.\n';}
	if (document.getElementById("txtPasswordConfirm").value == ''){sMsg = sMsg + 'Please confirm your password.\n';}
	if (frmEditMyAccount.txtPassword.value != frmEditMyAccount.txtPasswordConfirm.value){ bFail=true;sMsg=sMsg + "Please ensure your emails match\n";}
	if (sMsg == ''){return true;}else{alert(sMsg); return false;}
}

/* ************************************ GALLERY ************************************* */

function ValidateGalleryForm() {
    var sMsg = '';
    if (document.getElementById("txtFirstName").value == '') { sMsg = sMsg + 'Please enter your first name.\n'; }
    if (document.getElementById("txtSurname").value == '') { sMsg = sMsg + 'Please enter your surname.\n'; }
    if (document.getElementById("txtEmail").value == '') { sMsg = sMsg + 'Please enter your email address.\n'; }
    if (ValidateEmailAddress(document.getElementById("txtEmail").value) == false) { bFail = true; sMsg = sMsg + "Invalid Email address\n"; }
    if (document.getElementById("txtCaptcha").value == '') { sMsg = sMsg + 'Please enter the characters in the box.\n'; }
    if (sMsg == '') { return true; } else { alert(sMsg); return false; }
}

/* ************************************ INFORMATION PAGES ************************************* */

function ValidateContactForm(){
	var sMsg = '';
	if (document.getElementById("cboTitle").value == ''){sMsg = sMsg + 'Please enter your title.\n';}
	if (document.getElementById("txtFirstName").value == ''){sMsg = sMsg + 'Please enter your first name.\n';}
	if (document.getElementById("txtSurname").value == ''){sMsg = sMsg + 'Please enter your surname.\n';}
	if (document.getElementById("txtEmail").value == ''){sMsg = sMsg + 'Please enter your email.\n';}
	if (ValidateEmailAddress(document.getElementById("txtEmail").value)==false){bFail=true;sMsg=sMsg + "Invalid Email address\n";}
	if (document.getElementById("txtMessage").value == ''){sMsg = sMsg + 'Please enter your message.\n';}
	if (document.getElementById("txtCaptcha").value == ''){sMsg = sMsg + 'Please enter the characters in the box.\n';}
	if (sMsg == ''){return true;}else{alert(sMsg); return false;}
}

function ValidateRecommendAFriendForm(){
	var sMsg = '';
	if (document.getElementById("txtYourName").value == ''){sMsg = sMsg + 'Please enter your name.\n';}
	if (document.getElementById("txtYourEmail").value == ''){sMsg = sMsg + 'Please enter your email.\n';}
	if (ValidateEmailAddress(document.getElementById("txtYourEmail").value)==false){bFail=true;sMsg=sMsg + "Invalid Email address\n";}
	if (document.getElementById("txtFriendName").value == ''){sMsg = sMsg + "Please enter your friend's name.\n";}
	if (document.getElementById("txtFriendEmail").value == ''){sMsg = sMsg + "Please enter your friend's email.\n";}
	if (ValidateEmailAddress(document.getElementById("txtFriendEmail").value)==false){bFail=true;sMsg=sMsg + "Invalid Email address\n";}
	if (document.getElementById("txtCaptcha").value == ''){sMsg = sMsg + 'Please enter the characters in the box.\n';}
	if (sMsg == ''){return true;}else{alert(sMsg); return false;}
}

/* ************************************ ORDER A CATALOGUE ************************************* */

function CatalogueMyselfChange(){
	document.getElementById("CatalogueMyselfMessage").style.display='block';
	document.getElementById("CatalogueFriendMessage").style.display='none';
	document.getElementById("CatalogueFriendFirstName").style.display='none';
	document.getElementById("CatalogueFriendSurname").style.display='none';
}

function CatalogueFriendChange(){
	document.getElementById("CatalogueMyselfMessage").style.display='none';
	document.getElementById("CatalogueFriendMessage").style.display='block';
	document.getElementById("CatalogueFriendFirstName").style.display='block';
	document.getElementById("CatalogueFriendSurname").style.display='block';
}

function ValidateCatalogueRequest(){
	var sMsg = '';
	if (document.getElementById("cboTitle").value == ''){sMsg = sMsg + 'Please enter your title.\n';}
	if (document.getElementById("Initial1").value == ''){sMsg = sMsg + 'Please enter your first name.\n';}
	if (document.getElementById("txtSurname").value == ''){sMsg = sMsg + 'Please enter your surname.\n';}
	if (document.getElementById("txtAddress1").value == ''){sMsg = sMsg + 'Please enter your house number or name.\n';}
	if (document.getElementById("txtAddress4").value == ''){sMsg = sMsg + 'Please enter your town or city.\n';}
	if (document.getElementById("txtPostCode").value == ''){sMsg = sMsg + 'Please enter your post code.\n';}
	if (document.getElementById("txtTelephone").value == ''){sMsg = sMsg + 'Please enter your telephone number.\n';}
	if (document.getElementById("txtEmail").value == ''){sMsg = sMsg + 'Please enter your email address.\n';}
	if (document.getElementById("Research").value == '0'){sMsg = sMsg + 'Where did you hear about us?\n';}
	if (document.getElementById("cboCatalogueChoice").value == ''){sMsg = sMsg + 'Please ensure you choose a catalogue.\n';}
	if (document.getElementById("txtCaptcha").value == ''){sMsg = sMsg + 'Please enter the characters in the box.\n';}
	if (sMsg == ''){return true;}else{alert(sMsg); return false;}
}

/* ************************************ QUICK SHOP ************************************* */
var currentLine=0;

function loadFragmentInToElement(fragment_url, element_id){
	var element = document.getElementById(element_id);
	var xmlhttp = false;
	
	// branch for native XMLHttpRequest object
	if(window.XMLHttpRequest) {
		try {
			xmlhttp = new XMLHttpRequest();
		} catch(e) {
			xmlhttp = false;
		}
	// branch for IE/Windows ActiveX version
	} else if(window.ActiveXObject) {
		try {
			xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		} catch(e) {
			try {
				xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			} catch(e) {
				xmlhttp = false;
			}
		}
	}
	
	if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
		xmlhttp = new XMLHttpRequest();
	}
	
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
			xmlDoc.async="false";
			xmlDoc.loadXML(xmlhttp.responseText);
			document.getElementById("xmlShow").innerText = xmlDoc.xml;
			
			var RowCount=0;
			RowCount=currentLine;
			try{
				document.getElementById("ProductID_" + RowCount).innerText = xmlDoc.selectSingleNode("/CShop/Product/ID").nodeTypedValue;
				document.getElementById("ProductName_" + RowCount).innerText = xmlDoc.selectSingleNode("/CShop/Product/Name").nodeTypedValue;
				document.getElementById("RRP_" + RowCount).innerHTML = '&pound;' + xmlDoc.selectSingleNode("/CShop/Product/RRP").nodeTypedValue;
				document.getElementById("Price_" + RowCount).innerHTML = '&pound;' + xmlDoc.selectSingleNode("/CShop/Product/Price").nodeTypedValue;
				document.getElementById("ColourID_" + RowCount).disabled = false;
				document.getElementById("SizeID_" + RowCount).disabled = false;
				document.getElementById("cboQty_" + RowCount).disabled = false;
				
				var xmlDoc2=new ActiveXObject("Microsoft.XMLDOM");
				for (x=0;x<xmlDoc.selectSingleNode("/CShop/Product/Variants/Colours").childNodes.length; x++){
					xmlDoc2 = xmlDoc.selectSingleNode("/CShop/Product/Variants/Colours").childNodes[x];
					AddOptions2(document.getElementById("ColourID_" + RowCount),xmlDoc2.selectSingleNode("ColourDisplay").nodeTypedValue,xmlDoc2.selectSingleNode("ColourID").nodeTypedValue);
				}
				
				var xmlDoc3=new ActiveXObject("Microsoft.XMLDOM");
				for (x=0;x<xmlDoc.selectSingleNode("/CShop/Product/Variants/Sizes").childNodes.length; x++){
					xmlDoc3 = xmlDoc.selectSingleNode("/CShop/Product/Variants/Sizes").childNodes[x];
					AddOptions2(document.getElementById("SizeID_" + RowCount),xmlDoc3.selectSingleNode("SizeDisplay").nodeTypedValue,xmlDoc3.selectSingleNode("SizeID").nodeTypedValue);
				}
				
			}catch(e){
				document.getElementById("ProdCode_" + RowCount).value = "";
				document.getElementById("ProductID_" + RowCount).innerText = "&nbsp;";
				document.getElementById("ProductName_" + RowCount).innerHTML = "<span class=Red>The product can not be found.<br />Please try another code.</font>";
				document.getElementById("RRP_" + RowCount).innerHTML = "&nbsp;";
				document.getElementById("Price_" + RowCount).innerHTML = "&nbsp;";
				document.getElementById("ColourID_" + RowCount).disabled = true;
				document.getElementById("SizeID_" + RowCount).disabled = true;
				document.getElementById("cboQty_" + RowCount).disabled = true;
				document.getElementById("cboQty_" + RowCount).value = 1;
			}
		}
	}

	xmlhttp.open("POST", fragment_url,true);   
	xmlhttp.setRequestHeader( "If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT" );
	xmlhttp.send(null);
}

function GetDetails(ProdCode, LineNum){
	currentLine = LineNum;

	if (document.getElementById("ProdCode_" + currentLine).value == ''){
		document.getElementById("ProductName_" + currentLine).innerHTML = "<span class=Red>No product code entered.  <br />Please enter a code to search.</font>";
	}else{
		document.getElementById("ProductName_" + currentLine).innerHTML = "<span class=Red>Searching...<br />This may take a few seconds.  Please wait.</font>";
		loadFragmentInToElement("quickshoplookup.asp?PID=" + document.getElementById(ProdCode).value,"");
	}
}	

function AddOptions2(sel,text,value){
	var opt = new Option(text, value);
	sel.options[sel.options.length] = opt;
}

function ValidateQuickShop(){
	var sMsg = '';
	if (document.getElementById("ProdCode_1").value == ''){sMsg = sMsg + 'Please enter at least one catalogue code.\n';}
	
	for (i=1;i<=10;i++){
		if (document.getElementById("ProdCode_" + i ).value != ''){
			if (document.getElementById("ColourID_" + i ).value == ''){sMsg = sMsg + 'Please choose a colour for line ' + i + '.\n';}
			if (document.getElementById("SizeID_" + i ).value == ''){sMsg = sMsg + 'Please choose a size for line ' + i + '.\n';}
		}
	}
	
	if (sMsg == ''){return true;}else{alert(sMsg); return false;}
}

var replaceApos = function(){
	var value = this.value;
	this.value = value.replace(/'/g, "`");
}

function doOnBlur(){
	var forms = document.getElementsByTagName("form");
	
	if(forms.length > 0){
		for(i=0;i<forms.length;i++){
			var inputs = forms[i].getElementsByTagName("input");
			if(inputs.length > 0){
				for(j=0;j<inputs.length;j++){
					if(inputs[j].type == "text"){
						inputs[j].onblur = replaceApos;
					}
				}
			}
		}
	}
}
