﻿// JScript File

function clickButton(e, buttonid){ 	

    if (window.event) iKeyCode = window.event.keyCode
	else if (e) iKeyCode = e.which;

    //if (buttonid == 'ctl00_lbfind' && document.getElementById("ctl00_tbSearch").value=='Type in what you are looking for...'){
    //    alert("hello");
    //    return false;
    //}
    //else{
        if (iKeyCode == 13){ 
	        __doPostBack(buttonid.replace("_", "$").replace("_", "$"),'')
		    return false; 
	    } 
    //}
}


	
function selectTheText(pagetype,myel){
    //alert("1");
	if(document.getElementById){
	    try {
	        //alert("2");
	        if (pagetype == 'master') {
	            temp = document.getElementById("ctl00_" + myel);
	        }
	        else {
	            //alert(myel);
	            //alert(myel);
	            //temp = document.getElementById("ctl00$ContentPlaceHolder1$" + myel);
	            temp = document.getElementById(myel);
	        }
	        temp.select();
	    }
	    catch (err) { }
    }
}

function numbersOnly(myfield, e, dec) {
    var key;
    var keychar;

    if (window.event)
       key = window.event.keyCode;
    else if (e)
       key = e.which;
    else
       return true;
       
    keychar = String.fromCharCode(key);

    if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27))
       return true;
    else if ((("0123456789").indexOf(keychar) > -1))
       return true;
    else if ((dec=='Y') && (keychar == ".") && (myfield.value.indexOf(keychar) == -1)) {
       return true;
    } else
       return false;
}

function validate(email) {
    var ContentPrefix = "ctl00_ContentPlaceHolder1_";
    var reg = /^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
    var address = document.getElementById(ContentPrefix + email).value;
        if(reg.test(address) == false) {
      
             return false;
         }else{return true;}
}

function validateRegistration(){
    var contentprefix = "ctl00$ContentPlaceHolder1$";
	var errormsg = '';
	if (document.getElementById(contentprefix + "tbemail").value ==''){errormsg += " - Email\n"};
	if (document.getElementById(contentprefix + "tbpassword").value ==''){errormsg += " - Password\n"};
	if (document.getElementById(contentprefix + "tbconfirm").value ==''){errormsg += " - Confirm Password\n"};
	if (document.getElementById(contentprefix + "tbforename").value==''){errormsg += " - First Name\n"};
	if (document.getElementById(contentprefix + "tbsurname").value==''){errormsg += " - Surname\n"};
	if (document.getElementById(contentprefix + "tbaddress1").value==''){errormsg += " - Address Line 1\n"};
	//if (document.getElementById(contentprefix + "tbaddress2").value==''){errormsg += " - Address Line 2\n"};
	if (document.getElementById(contentprefix + "tbaddress4").value==''){errormsg += " - Town/City\n"};
	if (document.getElementById(contentprefix + "tbpostcode").value==''){errormsg += " - Postcode\n"};
	if (document.getElementById(contentprefix + "tbtelephone").value==''){errormsg += " - Telephone\n"};
	if (document.getElementById(contentprefix + "ddwhereheard").options[document.getElementById(contentprefix + "ddwhereheard").selectedIndex].value ==''){errormsg += " - Where Heard\n"};
	
	 if(document.getElementById("ctl00_ContentPlaceHolder1_rdCREDITCARD_ButtonList_1").checked){
	    if (document.getElementById(contentprefix + "tbInvFirstName").value == '') {errormsg += " - Invoice First Name\n"};
                  if (document.getElementById(contentprefix + "tbInvSurName").value == '') {errormsg += " - Invoice Last Name\n"};
                  if (document.getElementById(contentprefix + "tbInvAddress1").value == '') {errormsg += " - Invoice Address Line 1\n"};
                  if (validate('tbInvEmail')==false) {errormsg += " - Invalid Invoice Email Address\n"};
                   if (document.getElementById(contentprefix + "tbInvPostCode") != null){
                        if (document.getElementById(contentprefix + "tbInvPostCode").value == '') {errormsg += " - Invoice PostCode\n"};
         }
               
                  
        }
	
	
	if (errormsg != ''){
		alert("Please Complete The Following\n" + errormsg);
		return false;
	}
	else {
		return true;
	}
}

function validateCatReq(){
    var contentprefix = "ctl00$ContentPlaceHolder1$";
	var errormsg = '';
	if (document.getElementById(contentprefix + "tbemail").value ==''){errormsg += " - Email\n"};
	if (document.getElementById(contentprefix + "tbforename").value==''){errormsg += " - First Name\n"};
	if (document.getElementById(contentprefix + "tbsurname").value==''){errormsg += " - Surname\n"};
	if (document.getElementById(contentprefix + "tbaddress1").value==''){errormsg += " - Address Line 1\n"};
	if (document.getElementById(contentprefix + "tbaddress4").value==''){errormsg += " - Town/City\n"};
	if (document.getElementById(contentprefix + "tbpostcode").value==''){errormsg += " - Postcode\n"};
	if (document.getElementById(contentprefix + "tbtelephone").value==''){errormsg += " - Telephone\n"};
	if (document.getElementById(contentprefix + "ddwhereheard").options[document.getElementById(contentprefix + "ddwhereheard").selectedIndex].value ==''){errormsg += " - Where Heard\n"};
	if (errormsg != ''){
		alert("Please Complete The Following\n" + errormsg);
		return false;
	}
	else {
		return true;
	}
}

function validateBRegistration(){
    var contentprefix = "ctl00$ContentPlaceHolder1$";
	var errormsg = '';
	if (document.getElementById(contentprefix + "tbemail").value ==''){errormsg += " - Email\n"};
	if (document.getElementById(contentprefix + "tbName").value==''){errormsg += " - Your Name\n"};
	if (document.getElementById(contentprefix + "tbJobTitle").value==''){errormsg += " - Job title\n"};
    if (document.getElementById(contentprefix + "tbCompany").value==''){errormsg += " - Company Name\n"};
    if (document.getElementById(contentprefix + "tbaddress1").value==''){errormsg += " - Address Line 1\n"};
    if (document.getElementById(contentprefix + "tbaddress2").value==''){errormsg += " - Address Line 2\n"};
	if (document.getElementById(contentprefix + "tbaddress4").value==''){errormsg += " - Town/City\n"};
	if (document.getElementById(contentprefix + "tbpostcode").value==''){errormsg += " - Postcode\n"};
	if (document.getElementById(contentprefix + "tbtelephone").value==''){errormsg += " - Telephone\n"};
	if (document.getElementById(contentprefix + "tbtelephone").value==''){errormsg += " - Telephone\n"};
	if (document.getElementById(contentprefix + "tbEmployeeNumbers").value==''){errormsg += " - No Employees\n"};
	
	
	if (errormsg != ''){
		alert("Please Complete The Following\n" + errormsg);
		return false;
	}
	else {
		return true;
	}
}

function validatePayment(){
	var errorMsg;
	var contentprefix = "ctl00_ContentPlaceHolder1_";
	errorMsg = 'Please Specify The Following:\n';
	if (document.getElementById(contentprefix + "ddPayment").options[document.getElementById(contentprefix + "ddPayment").selectedIndex].value == ' - Please Select - ') {errorMsg += " - Payment Method\n"};
	if (document.getElementById(contentprefix + "ddPayment").options[document.getElementById(contentprefix + "ddPayment").selectedIndex].value == 'Credit/Debit Card') {
		if (document.getElementById(contentprefix + "tbCardNo").value == '') {errorMsg += " - Card No.\n"};
		if (document.getElementById(contentprefix + "tbCardholder").value == '') {errorMsg += " - Card Holder.\n"};
		if (document.getElementById(contentprefix + "ddExpMonth").options[document.getElementById(contentprefix + "ddExpMonth").selectedIndex].value == '--') {errorMsg += " - Expiry Month\n"};
		if (document.getElementById(contentprefix + "ddExpMonth").options[document.getElementById(contentprefix + "ddExpYear").selectedIndex].value == '--') {errorMsg += " - Expiry Year\n"};
	    if (document.getElementById(contentprefix + "tbCVC").value == '') {errorMsg += " - CVC.\n"};
	}
	if (errorMsg == 'Please Specify The Following:\n') {return true} else {alert(errorMsg);return false} 
}

function bookmarksite(title, url){
	if (document.all)
	window.external.AddFavorite(url, title);
	else if (window.sidebar)
	window.sidebar.addPanel(title, url, "")
}

function AddRow(section){
    var i=0;
    for (i=0;i<=20;i++){
        if (document.getElementById(section + i)){
            if (document.getElementById(section + i).style.display=='none'){
                document.getElementById(section + i).style.display='';
                break;
            }
        }
        else{
            break;
        }
    }
}
 
function RemoveRow(section){
    var i=20;
    for (i=20;i>=0;i--){
        if (document.getElementById(section + i)){
            if (document.getElementById(section + i).style.display==''){
                document.getElementById(section + i).style.display='none';
                break;
            }
        }
    }
}
function isMaxLength(txtBox, LENGTH_TEXT) {
    if(txtBox) {
        return ( txtBox.value.length <= LENGTH_TEXT );
     }

}

function mainNavChangeState(id, state) {
    var el = document.getElementById(id);
    
    if (el) {
        state == 'on' ? el.className = 'active' : el.className = '';
    }
}


// ---------- START: Change Tabs (Product Info page) ----------

function setActiveTab(activeTab) {
        var links = ['details', 'directions', 'benefits', 'reviews'];
        var tabs = ['tabDetails', 'tabDirections', 'tabBenefits', 'tabReviews'];
        var elLink = "";
        var elTab = "";
        
        if (links.length == tabs.length) {
            for (var i = 0; i < tabs.length; i += 1) {
                elLink = document.getElementById(links[i]);
                elTab = document.getElementById(tabs[i]);

                if (elTab) {
                    if (activeTab == tabs[i]) {
                        elLink.className = links[i] + "-active"; 
                        elTab.className = "display";
                    }
                    else {
                        elLink.className = links[i];
                        elTab.className = "hide";
                    }
                }
            }
        }  
    }
    
 // ---------- END: Change Tabs (Product Info page) ----------   

function rating(action, id, id2) {
    var el = document.getElementById(id); 
    var el2 = document.getElementById(id2); 
    
    if ((el) && (el2)) {
        if (action == 'over') {
            el.style.display = 'none';
            el2.style.display = 'block';
        }
        else {
            el.style.display = 'block';
            el2.style.display = 'none';
        }
    }
}


// ---------- START: REVIEWS ----------

    var ajaxReview
    
    function writeReview() {  
        //Effect.ScrollTo('new-review');
        jumpToReviews('write-review');
        toggleNewReview('show');
    }
    
    function jumpToReviews(id) {
        setActiveTab('tabReviews');
        window.location.href = '#' + id; 
    }
    
    function toggleNewReview(action) {
        action == "show" ? Effect.SlideDown('new-review') : Effect.SlideUp('new-review');     
    }
    
     function changeRating(action, id) {
        var rating = $('rating');
        var messages = $('rating-messages') ?  $('rating-messages').value.split(',') : "";
        var message = $('rating-message');
        var star = "";
            
        
        if (rating && rating.value == "") {  // only change images if no counter is set
            for (var i = 1; i <= parseInt(id); i++) {
                star = $('star-' + i.toString());
                
                if (star && action == 'over') {
                    star.className = 'star-over';
                    i - 1 < messages.length && message ? message.innerHTML = messages[i -1] : '';
                }    
                else if (star && action == 'out') {
                    star.className = 'star-blank';
                    message.innerHTML = '';
                }
                else {
                    break;
                }
            }
        }        
    }
    
    function setRating(id) {
        var rating = $('rating');
        
        if (rating) {
            if (rating.value == "") {
                rating.value = id;        
            }
            else {
                rating.value = "";
                changeRating("out", "99");
            }
        }
    }
    
    

function saveReview() {
    var reviewer_rating = '';
    var reviewer_name = '';
    var reviewer_message = '';
    var buyer_id = '';
    var company_id = '';
    var catalogue_ref = '';
    var reviewer_gender = '';
    var reviewer_age = '';
    var baselink = '';
    
    document.getElementById('rating') ? reviewer_rating = document.getElementById('rating').value : '';
    document.getElementById('ctl00_ContentPlaceHolder1_reviewName') ? reviewer_name = document.getElementById('ctl00_ContentPlaceHolder1_reviewName').value : '';
    document.getElementById('ctl00_ContentPlaceHolder1_reviewMessage') ? reviewer_message = document.getElementById('ctl00_ContentPlaceHolder1_reviewMessage').value : '';
    document.getElementById('ctl00_ContentPlaceHolder1_hfBuyerID') ? buyer_id = document.getElementById('ctl00_ContentPlaceHolder1_hfBuyerID').value : '';
    document.getElementById('ctl00_ContentPlaceHolder1_hfCompanyID') ? company_id = document.getElementById('ctl00_ContentPlaceHolder1_hfCompanyID').value : '';
    document.getElementById('ctl00_ContentPlaceHolder1_hfCatalogueRef') ? catalogue_ref = document.getElementById('ctl00_ContentPlaceHolder1_hfCatalogueRef').value : '';
 
    // get gender
    if ((document.getElementById('ctl00_ContentPlaceHolder1_rbReviewGenderF')) && (document.getElementById('ctl00_ContentPlaceHolder1_rbReviewGenderM'))) {
        if (document.getElementById('ctl00_ContentPlaceHolder1_rbReviewGenderF').checked) {
            reviewer_gender = "female";
        }
        else if (document.getElementById('ctl00_ContentPlaceHolder1_rbReviewGenderM').checked) {
            reviewer_gender = "male";
        }
    }
    
    // get age
    if (document.getElementById('ctl00_ContentPlaceHolder1_ddReviewAge')) {
        reviewer_age = document.getElementById('ctl00_ContentPlaceHolder1_ddReviewAge').options[document.getElementById('ctl00_ContentPlaceHolder1_ddReviewAge').selectedIndex].text
    }
 
    if (validateReview(reviewer_rating, reviewer_name, reviewer_message, reviewer_age, reviewer_gender)) { } else { return false; }
   
    // get baselink 
    document.getElementById('ctl00_hfBaselink') ? baselink = document.getElementById('ctl00_hfBaselink').value : '';
    
    ajaxReview = new sack();  
	ajaxReview.requestFile = baselink + "writeProductReview.aspx";
	ajaxReview.setVar('reviewer_rating',reviewer_rating);
	ajaxReview.setVar('reviewer_name',reviewer_name);
	ajaxReview.setVar('reviewer_gender', reviewer_gender);
	ajaxReview.setVar('reviewer_age', reviewer_age);
	ajaxReview.setVar('reviewer_message',reviewer_message);
	ajaxReview.setVar('buyer_id',buyer_id);
	ajaxReview.setVar('company_id',company_id);
	ajaxReview.setVar('catalogue_ref',catalogue_ref);
	ajaxReview.onCompletion = whenReviewCompleted;
	ajaxReview.runAJAX();
	
}

function whenReviewCompleted(){

    var response = ajaxReview.response;
    
    if (ajaxReview.response == '0') {
        document.getElementById('reviewFailed') ? document.getElementById('reviewFailed').style.display = 'block' : '';
    }
    else {
        document.getElementById('reviewSuccess') ? document.getElementById('reviewSuccess').style.display = 'block' : '';
    }  
    
    Element.hide('new-review');
    Element.show('review-complete');  
}

function validateReview(rating, name, message, age, gender) {
    var result = true;
    if (rating == '') {
        document.getElementById('reviewErrorRating') ? document.getElementById('reviewErrorRating').style.display = 'block' : '';
        result = false;
    }
    else {
        document.getElementById('reviewErrorRating') ? document.getElementById('reviewErrorRating').style.display = 'none' : '';
    }
    
    if (name == '') {
        document.getElementById('reviewErrorName') ? document.getElementById('reviewErrorName').style.display = 'block' : '';
        result = false;
    }
    else {
        document.getElementById('reviewErrorName') ? document.getElementById('reviewErrorName').style.display = 'none' : '';
    }
    
    if (message == '') {
        document.getElementById('reviewErrorMessage') ? document.getElementById('reviewErrorMessage').style.display = 'block' : '';
        result = false;
    }
    else {
        document.getElementById('reviewErrorMessage') ? document.getElementById('reviewErrorMessage').style.display = 'none' : '';
    }
//  
//    if ((age == '-- Your Age --') || (age == '')) {
//        document.getElementById('reviewErrorAge') ? document.getElementById('reviewErrorAge').style.display = 'block' : '';
//        result = false;
//    }
//    else {
//        document.getElementById('reviewErrorAge') ? document.getElementById('reviewErrorAge').style.display = 'none' : '';
//    }
    
    
    if (gender == '') {
        document.getElementById('reviewErrorGender') ? document.getElementById('reviewErrorGender').style.display = 'block' : '';
        result = false;
    }
    else {
        document.getElementById('reviewErrorGender') ? document.getElementById('reviewErrorGender').style.display = 'none' : '';
    }    

    return result
}

// ---------- END: REVIEWS ----------

var endcount = 10;
function addlines(linecount){
    var contentprefix = "ctl00_ContentPlaceHolder1_";
    
    var lineno = "";
    
    for (var x = endcount+1; x <= endcount+linecount ; x++){
       if (x<=20){
       document.getElementById("ctl00_ContentPlaceHolder1_rptquickitems_ctl" + padleft(x,"0",2) + "_trquickorder").style.display='';
       }
    }
    endcount = endcount + linecount;
}

function padleft(val, ch, num) {
    var re = new RegExp(".{" + num + "}$");
    var pad = "";
    if (!ch) ch = " ";
    do  {
        pad += ch;
    }while(pad.length < num);
    return re.exec(pad + val);
}
function showHideChildTiers(tblID, linkID)
{
    var tbl = document.getElementById(tblID);
    var link = document.getElementById(linkID);
    
    if ((tbl) && (link)) {
        if (tbl.style.display == "none") {
            tbl.style.display = "block";
            link.innerHTML = "Less ...";
            link.className = "minCategories";
        }
        else {
            tbl.style.display = "none";
            link.innerHTML = "More ...";
            link.className = "maxCategories";
        }
    }
}

function showHideFilter(id)
{
    var style = "";
    var el = document.getElementById(id + "List");
    var link = document.getElementById(id + "Link");   
    
    if (el) {
        if (el.style.display == "none") {
            el.style.display = "block" 
            link.innerHTML = "view less";
            link.className = "minCategories";
        }
        else {
            el.style.display = "none";
            link.innerHTML = "view more";
            link.className = "maxCategories";
        }
    }
}



function showHideChildTiers(tblID, linkID)
{
    var tbl = document.getElementById(tblID);
    var link = document.getElementById(linkID);
    
    if ((tbl) && (link)) {
        if (tbl.style.display == "none") {
            tbl.style.display = "block";
            link.innerHTML = "Hide all categories";
            link.className = "minCategories";
        }
        else {
            tbl.style.display = "none";
            link.innerHTML = "View all categories";
            link.className = "maxCategories";
        }
    }
}


