﻿var jsImagePath = '';
var Currency = '£';
var TAFURL='';
var TAFProductName='';

var IsPageValid = true;

function LoadNewsletterWidgetFilled(doc)
{
    var x = GetXMLObject(doc).childNodes[0];
    var ControlID = x.getAttribute('WidgetControlID');
    var res = x.getAttribute('res');
    var tbl = document.getElementById('tblNewsletterSignup' + ControlID)
    var div = document.getElementById('divNewsletterSignupDone' + ControlID)
    
    if (res == 'Done')
    {
        div.innerHTML = getInnerText(x);
        tbl.style.display = 'none';
        div.style.display = 'block';
        StartWidgetSlide(ControlID);
    }
    else
    {
        alertDHTML('NewsletterAlreadySignedUp');
    }
}

function loadArchiveNews(ns)
{
    n = ns.split('|||||');
    document.getElementById(n[0]).innerHTML = n[1]; 
}

function loadNews(ns)
{
    n = ns.split('|||||');
    
    document.getElementById('clNews' + n[0]).innerHTML = n[2]; 
    
    if (n[1] == 'full')
        document.getElementById('imgNews' + n[0]).src = '/siteimages/faq_minus.gif'
    else
    {
        document.getElementById('imgNews' + n[0]).src = '/siteimages/faq_plus.gif'
        document.getElementById('clNews' + n[0]).innerHTML = '<p>' + document.getElementById('clNews' + n[0]).innerHTML + '</p>'
    } 
}

function CopyAdd(src, dest)
{
    SetVal(src, dest, 'Add1');
    SetVal(src, dest, 'Add2');
    SetVal(src, dest, 'Add3');
    SetVal(src, dest, 'Add4');
    SetVal(src, dest, 'PostCode');
}

function ShowFAQ(id, l)
{
    var open=true;
    if (document.getElementById('FAQ' + id).style.display == 'block')
        open=false;
       
    ls = l.split(',');
    for (i=0; i<ls.length-1; i++)
    {
        document.getElementById('FAQ' + ls[i]).style.display = 'none';
        document.getElementById('imgFaq' + ls[i]).src = '/siteimages/faq_plus.gif';
    }
         
    if (open)
    {   
        document.getElementById('FAQ' + id).style.display = 'block';
        document.getElementById('imgFaq' + id).src = '/siteimages/faq_minus.gif';
    }
}

function ShowNews(newsid, nodeid, lnews, lnode)
{  
     
    var wasopen = false
    if (document.getElementById('imgNews' + newsid).src.indexOf('faq_plus.gif') == -1)
        wasopen = true;
    
    lsO = lnode.split(',');
    lsE = lnews.split(',');
    
    for (i=0; i<lsE.length-1; i++)
    {
        if (document.getElementById('imgNews' + lsE[i]).src.indexOf('faq_plus.gif') == -1)
        {
            //Call Summary Info for ls[i] and close it, as it is open
            document.getElementById('imgNews' + lsE[i]).src = '/siteimages/faq_plus.gif';
            sndReq('/XML/GetNews.aspx?Type=summary&NewsID=' + lsE[i] + '&NodeID=' + lsO[i]);      
        }
    }
    
    if (!wasopen)
    {
       document.getElementById('imgNews' + newsid).src == '/siteimages/faq_plus.gif'
       document.getElementById('clNews' + newsid).innerHTML = '<img src="' + jsImagePath + 'loading.gif">'
       sndReq('/XML/GetNews.aspx?Type=full&NewsID=' + newsid + '&NodeID=' + nodeid); 
       
    }
}

function ShowArchiveNews(cl, ap)
{
    document.getElementById(cl).innerHTML = '<img src="' + jsImagePath + 'loading.gif">'
    sndReq('/XML/GetArchiveNews.aspx?Cell=' + cl + '&AP=' + ap); 
}

function ShowHideLeftNav(id)
{
    if (document.getElementById('divLeftNav' + id).style.display == 'block')
    {
        document.getElementById('imgMasterCatImg' + id).src = '/siteimages/leftnav/arrow_down.gif';
        document.getElementById('divLeftNav' + id).style.display = 'none'
    }
    else
    {
        document.getElementById('imgMasterCatImg' + id).src = '/siteimages/leftnav/arrow_up.gif';
        document.getElementById('divLeftNav' + id).style.display = 'block';
    }
}

function ShowAllLeftNav(ids)
{
    arr = ids.split(',');
    for (i=0; i<arr.length-1; i++)
    {
        document.getElementById('imgMasterCatImg' + arr[i]).src = '/siteimages/leftnav/arrow_up.gif';
        document.getElementById('divLeftNav' + arr[i]).style.display = 'block';
    }     
}

function NewsletterSignup(firstname, surname, email)
{
    sndReq('/Newsletter/Signup.aspx?f=' + firstname + '&s=' + surname + '&e=' + email);
}

function newsLetterComplete(v)
{
    window.document.hp.SetVariable("newsletter", v);
}

function SubmitContactForm(frm)
{
    
    document.getElementById(frm + '_txtEmail').className = 'TextFormEntry';
    
    IsPageValid = validateEmail(document.getElementById(frm + '_txtEmail').value, 'Email address', frm + '_clEmailValidate')
    if (!IsPageValid) document.getElementById(frm + '_txtEmail').className = 'TextFormEntryInvalid';
    checkTextBoxIsValid(frm + '_txtName', 'Name', frm + '_clNameValidate')
    checkTextBoxIsValid(frm + '_txtComments', 'Message', frm + '_clCommentsValidate')
    
    if (IsPageValid)
    {
        var Name = document.getElementById(frm + '_txtName').value;
        var Company = document.getElementById(frm + '_txtCompany').value;
        var Address = document.getElementById(frm + '_txtAddress').value;
        var Pcode = document.getElementById(frm + '_txtPostCode').value;
        var Tel = document.getElementById(frm + '_txtTelephone').value;
        var Email = document.getElementById(frm + '_txtEmail').value;
        var Comments = document.getElementById(frm + '_txtComments').value;
        Comments = doReplace(Comments, '?', '%%questionmark%%');
        Comments = doReplace(Comments, '&', '%%ampersand%%');
        Address = doReplace(Address, '?', '%%questionmark%%');
        Address = doReplace(Address, '&', '%%ampersand%%');
        
        sndReq('/XML/SubmitContactForm.aspx?Form=' + frm + 
                                          '&Name=' + FormatForPost(Name) + 
                                          '&Company=' + FormatForPost(Company) + 
                                          '&Address=' + FormatForPost(Address) + 
                                          '&PCode=' + FormatForPost(Pcode) + 
                                          '&Tel=' + FormatForPost(Tel) + 
                                          '&Email=' + FormatForPost(Email) + 
                                          '&Comments=' + FormatForPost(Comments));
                                          
                                          
        document.getElementById(frm + '_txtName').value = '';
        document.getElementById(frm + '_txtCompany').value = '';
        document.getElementById(frm + '_txtAddress').value = '';
        document.getElementById(frm + '_txtPostCode').value = '';
        document.getElementById(frm + '_txtTelephone').value = '';
        document.getElementById(frm + '_txtEmail').value = '';
        document.getElementById(frm + '_txtComments').value = '';
    }
}

function FormatForPost(str)
{
    return doReplace(doReplace(str, '&', '#amp#'), '?', '#qm#');
}

function SubmitNewsletterForm(frm)
{
    var FirstName = document.getElementById(frm + '_txtFirstName').value;
    var Surname = document.getElementById(frm + '_txtSurname').value;
    var Email = document.getElementById(frm + '_txtNewsletterEmail').value;
    
    var FirstNameValid = validateText(FirstName, 'firstname', frm + '_clFirstNameValidate');
    var SurNameValid = validateText(Surname, 'surname', frm + '_clSurnameValidate');
    var EmailValid = validateEmail(Email, 'email', frm + '_clNewsletterEmailValidate');
    
    if (FirstNameValid && SurNameValid && EmailValid)
        sndReq('/Newsletter/SignUp.aspx?Form=' + frm + '&f=' + FirstName + '&s=' + Surname + '&e=' + Email);
}

function CompletedSignUpForm(txt)
{
    var r = txt.split('|');
    frm = r[0];
    val = r[1];
    
    if (val == 'true')
    {
        document.getElementById(frm + '_msgNewsletterCompleted').style.display = 'block';
        document.getElementById(frm + '_FormNewsletter').style.display = 'none';
    }
    else
        document.getElementById(frm + '_clNewsletterEmailValidate').innerHTML = 'This email address is already signed up.'   
}

function CompletedContactUsForm(frm)
{
    document.getElementById(frm + '_msgCompleted').style.display = 'block';
    document.getElementById(frm + '_FormContact').style.display = 'none';
}

function CheckOtherTitleSelectedWidget(id)
{
    var txt = document.getElementById(id + 'txt')
    if (document.getElementById(id + 'drp').value == 'Other')
        txt.style.visibility='visible'
    else
        txt.style.visibility='hidden'
    
}

function CheckOtherTitleSelected(typ, cid)
{
    var txt = document.getElementById(cid + 'txt' + typ + 'Title')
    if (document.getElementById(cid + 'drp' + typ + 'Title').value == 'Other')
        txt.style.visibility='visible';
    else
        txt.style.visibility='hidden';
    
}

function checkEmailAddressIsValidGeneric(txtid, fieldName, validationCell)
{
    var Email = document.getElementById(txtid).value; 
    
    var val = validateEmail(Email, fieldName, validationCell);
    if (val)
        document.getElementById(txtid).className = 'TextFormEntry';
    else
        document.getElementById(txtid).className = 'TextFormEntryInvalid';
        
    if (IsPageValid)
        IsPageValid = val;
}

function checkEmailAddressIsValid(txtid, cid)
{
    var Email = document.getElementById(txtid).value;     
    if (!validateEmail(Email, 'Email address', 'clValCusEmail'))
    {
        val = false;
        document.getElementById(txtid).className = 'TextFormEntryInvalid';
    }
    else
    {
        //Need to validate email address is not used
        sndReq('/XML/ValidateEmailAddress.aspx?Email=' + Email + '&CustomerID=' + cid + '&TextBox=' + txtid + '&ValidationCell=clValCusEmail');
    }
}

function ConfirmEmailAddressValid(res)
{
    var a = res.split('|||');
    var cl = document.getElementById(a[1]);
    var txt = document.getElementById(a[2]);
    if (a[0] == '0')
    {
        cl.innerHTML = 'This email address already exists.';
        txt.className = 'TextFormEntryInvalid';
        IsPageValid = false;
    }
    else
    {
        cl.innerHTML = '&nbsp;';
        txt.className = 'TextFormEntry';
    }
}

function MeetsPasswordRules(pwd)
{
    if (pwd == '')
        return false;
    else
        return true;
}

function checkFirstPasswordIsValid(txt, isRequired)
{
    var txtbox = document.getElementById(txt);
    var cl = document.getElementById('clValCusPassword');
    txtbox.className = 'TextFormEntry';
    cl.innerHTML = '&nbsp;';
    if (isRequired == 'true')
    {
        if (!MeetsPasswordRules(txtbox.value))
        {
            cl.innerHTML = 'Password is invalid.';
            txtbox.className = 'TextFormEntryInvalid';
            IsPageValid = false;
        }
    }
}


function checkConfirmPasswordIsValid(txtp, txtc)
{
    var p = document.getElementById(txtp);
    var c = document.getElementById(txtc);
    var cl = document.getElementById('clValCusConfirm');
    c.className = 'TextFormEntry';
    cl.innerHTML = '&nbsp;';
    if (p.value != c.value)
    {
        cl.innerHTML = 'Passwords do not match.';
        c.className = 'TextFormEntryInvalid';
        IsPageValid = false;
    }
}

function PasswordReminder()
{
    //window.open('/Account/PasswordReminder.aspx');
    document.getElementById('divPasswordReminderMessage').innerHTML = '';
    document.getElementById('divPasswordReminderSendButton').style.display = 'block';
    document.getElementById('divPasswordReminderCloseButton').style.display = 'none';
    document.getElementById('divPasswordReminderForm').style.display = 'block';
    document.getElementById('divPasswordReminderComplete').style.display = 'none';
    initMask();
    StartMask('divPasswordReminder')
}

function SendReminder()
{
    sndReq('/XML/SendPasswordReminder.aspx?Email=' + document.getElementById('txtPasswordReminderEmail').value);
}

function PasswordReminderSubmitted(doc)
{
    var sp = doc.split('|||');
    if (sp[0] == 'true')
    {
        document.getElementById('txtPasswordReminderEmail').value = '';
        document.getElementById('divPasswordReminderSendButton').style.display = 'none';
        document.getElementById('divPasswordReminderCloseButton').style.display = 'block';
        document.getElementById('divPasswordReminderForm').style.display = 'none';
        document.getElementById('divPasswordReminderComplete').style.display = 'block';
        document.getElementById('divPasswordReminderComplete').innerHTML = sp[1];
    }
    else
    {
        document.getElementById('divPasswordReminderMessage').innerHTML = sp[1];
    }
}

function RecommendToFriend(ProductName, URL)
{
    document.getElementById('clTAFTitle').innerHTML = 'Tell&nbsp;a&nbsp;friend:&nbsp;' + ProductName;
    document.getElementById('txtTAFSubject').value = ProductName;
    TAFProductName = ProductName;
    TAFURL = URL;
    initMask();
    StartMask('divTellAFriend');
}

function SubmitTAF()
{
    IsPageValid = true;
    checkTextBoxIsValid('txtTAFYourName', 'name', 'clValYourName');
    checkEmailAddressIsValidGeneric('txtTAFYourEmail', 'Email address', 'clValYourEmail');

    checkTextBoxIsValid('txtTAFFriendName', 'name', 'clValFriendName');
    checkEmailAddressIsValidGeneric('txtTAFFriendEmail', 'Email address', 'clValFriendEmail');

    checkTextBoxIsValid('txtTAFSubject', 'subject', 'clValTAFSubject');
    checkTextBoxIsValid('txtTAFComments', 'comment', 'clValTAFComments');
    
    if (IsPageValid)
    {
        CancelTAF();
        sndReq('/XML/SendRecommendation.aspx?YourName=' + document.getElementById('txtTAFYourName').value +
        '&YourEmail=' + document.getElementById('txtTAFYourEmail').value +
        '&FriendName=' + document.getElementById('txtTAFFriendName').value +
        '&FriendEmail=' + document.getElementById('txtTAFFriendEmail').value +
        '&Subject=' + document.getElementById('txtTAFSubject').value +
        '&Comments=' + doReplace(document.getElementById('txtTAFComments').value, '&', '[ampis]') + 
        '&URL=' + TAFURL +
        '&ProductName=' + TAFProductName);
        
        document.getElementById('txtTAFFriendName').value = '';
        document.getElementById('txtTAFFriendEmail').value = '';
        document.getElementById('txtTAFSubject').value = '';
        document.getElementById('txtTAFComments').value = '';
    }
}

function SendFeedback()
{
    if (document.getElementById('txtFeedbackComments').value == '')
    {
        alertDHTML('ContactUsMessageSendingErrorNoComment');
    }
    else
    {
        sndReq('/XML/SendFeedback.aspx?Comments=' + document.getElementById('txtFeedbackComments').value + '&SendCopy=' + document.getElementById('chkSendCopy').checked);
        document.getElementById('txtFeedbackComments').value = '';
    }

}