/* ************************************ GENERAL ************************************* */

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;
	}
}

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;
                    }
                }
            }
        }
    }
}

function popUp(URL, width, height, scroll) {
    var settings
    settings = "width=" + width + ",height=" + height + ",scrollbars=" + scroll + ",toolbar=no";
    popwin = window.open(URL, "RIBBLE", settings);
    popwin.focus();
}

function CheckNumeric(obj) {
    if (/[^0-9]/i.test(obj.value))
        obj.value = obj.value.replace(/[^0-9]/g, '')
    obj.focus()
}

/* ************************************ TOP NAVIGATION ************************************* */

function ShowDropDown(strObj) {
    document.getElementById("DropDown_" + strObj).style.display = 'block';
    document.getElementById("TopNavigationMenu_" + strObj).className = 'Selected';
}

function HideDropDown() {
    document.getElementById("DropDown_Cycling").style.display = 'none';
    document.getElementById("DropDown_Triathlon").style.display = 'none';
    document.getElementById("DropDown_EventEquipment").style.display = 'none';
    document.getElementById("DropDown_ClubShop").style.display = 'none';

    document.getElementById("TopNavigationMenu_Cycling").className = '';
    document.getElementById("TopNavigationMenu_Triathlon").className = '';
    document.getElementById("TopNavigationMenu_EventEquipment").className = '';
    document.getElementById("TopNavigationMenu_ClubShop").className = '';
}

/* ************************************ PRODUCT LIST ************************************* */

function ValidateClubCode() {
    var sMsg = '';
    if (document.getElementById("txtClubCode").value == '') { sMsg = sMsg + 'Please enter your club password.\n'; }
    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 SwapAlternateImage(objImg) {
    varColour = document.getElementById("cboColour")[document.getElementById("cboColour").selectedIndex].text;
    varMainImage = '/prodimg/' + document.getElementById("ProductImage1").value + '_1_large.jpg';
    varLinkedImage = "javascript: popUp('/imageFull.asp?ImageName=/content/images/productimages/" + document.getElementById("productcatalogue").value + "_" + varColour + ".jpg', 500, 500, 'no')";
    if (document.getElementById("cboColour").value == 'Colour') {
        document.getElementById("ImgMain").src = varMainImage;
    } else {
        document.getElementById("ImgMain").src = objImg.replace("{CS_ColourDisplay}", varColour);
        document.getElementById("ImgLink").href = varLinkedImage;
    }
}

/* ************************************ 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 ChangeShippingOption(varVal) {
    self.location.href = "?SIP=" + varVal;
}

/* ************************************ 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("DeliverTo").value='other';
}
function HideCheckoutDelivery(){
	document.getElementById("CheckoutShippingAddress").style.display='none';
	document.getElementById("DeliverTo").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("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;}
}

/* ************************************ CUSTOMER SERVICE 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;}
}

/* ************************************ CLUB PAGES ************************************* */

function ValidateClubCode() {
    var sMsg = '';
    if (document.getElementById("txtClubCode").value == '') { sMsg = sMsg + 'Please enter your club code.\n'; }
    if (sMsg == '') { return true; } else { alert(sMsg); return false; }
}