﻿function fnConfirmDelete(intID){
    if (confirm('Are you sure you want to delete this member?')){
        document.location.href='Delete.aspx?id=' + intID;
    }
}

function fnValidateFormField(strFormElementID, strValidationElementID, strValidationText) 
{
    var objFormElement = document.getElementById(strFormElementID);
    var objValidationElement = document.getElementById(strValidationElementID);
    var blnIsValid = false;
    
    if (objFormElement.value.length == 0)
    {
        objValidationElement.href = 'javascript:InfoDialog.show(\'<p>' + strValidationText + '</p>\', \'error\');';
        objValidationElement.style.display = 'block';
    }
    else
    {
        objValidationElement.style.display = 'none';
        blnIsValid = true;
    }
    
    return blnIsValid;
}

function fnValidateFormTextField(strFormElementID, strValidationElementID, strValidationText) 
{
    var objFormElement = document.getElementById(strFormElementID);
    var objValidationElement = document.getElementById(strValidationElementID);
    var blnIsValid = false;
    
    if (objFormElement.value.length < 5)
    {
        objValidationElement.href = 'javascript:InfoDialog.show(\'<p>' + strValidationText + '</p>\', \'error\');';
        objValidationElement.style.display = 'block';
    }
    else
    {
        objValidationElement.style.display = 'none';
        blnIsValid = true;
    }
    
    return blnIsValid;
}

function fnValidateFormDropdownField(strFormElementID, strValidationElementID, strValidationText) 
{
    var objFormElement = document.getElementById(strFormElementID);
    var objValidationElement = document.getElementById(strValidationElementID);
    var blnIsValid = false;
    
    if (objFormElement.value == 0)
    {
        objValidationElement.href = 'javascript:InfoDialog.show(\'<p>' + strValidationText + '</p>\', \'error\');';
        objValidationElement.style.display = 'block';
    }
    else
    {
        objValidationElement.style.display = 'none';
        blnIsValid = true;
    }
    
    return blnIsValid;
}


function fnValidateSelectFormField(strFormElementID, strValidationElementID, strCheckAgainstText, strValidationText) 
{
    var objFormElement = document.getElementById(strFormElementID);
    var objSelectedOption = objFormElement.options[objFormElement.selectedIndex];
    var objValidationElement = document.getElementById(strValidationElementID);
    var blnIsValid = false;
    
    if (objSelectedOption.text == strCheckAgainstText)
    {
        objValidationElement.innerHTML = strValidationText;
        objValidationElement.style.display = 'block';
    }
    else
    {
        objValidationElement.style.display = 'none';
        blnIsValid = true;
    }
    
    return blnIsValid;
}

function fnValidateCheckbox(strFormElementID, strValidationElementID, strValidationText) 
{
    var objFormElement = document.getElementById(strFormElementID);
    var objValidationElement = document.getElementById(strValidationElementID);
    var blnIsValid = false;
    
    if (objFormElement.checked == false)
    {
        objValidationElement.href = 'javascript:InfoDialog.show(\'<p>' + strValidationText + '</p>\', \'error\');';
        objValidationElement.style.display = 'block';
    }
    else
    {
        objValidationElement.style.display = 'none';
        blnIsValid = true;
    }
    
    return blnIsValid;
}


function fnGetFieldValue(strFieldID)
{
    var objFormElement = document.getElementById(strFieldID);
    return objFormElement.value;
}

function fnSetFieldValue(strFieldID, strValue)
{
    var objFormElement = document.getElementById(strFieldID);
    objFormElement.value = strValue;
}

function fnSubmitLoginForm()
{
    var intErrors = 0;
    var objElements = '<ul>';
    
    if (!fnValidateFormField('ctl00_ContentPlaceHolder1_txtSurname', 'ctl00_ContentPlaceHolder1_val_surname', 'Please enter your surname.')){intErrors++; objElements += '<li>Please enter your surname.</li>';}
    if (!fnValidateFormField('ctl00_ContentPlaceHolder1_txtCardNo', 'ctl00_ContentPlaceHolder1_val_cardno', 'Please enter your card number.')){intErrors++; objElements += '<li>Please enter your card number.</li>';}
     
    objElements += '</ul>';
    
    if (intErrors>0)
    {
        InfoDialog.show('<p>Please ensure all required fields are completed.</p>' + objElements, 'error');
        return false;
    }
    else
    {
        document.forms[0].submit();
    }
}

function fnSubmitRegisterFrom()
{
    var intErrors = 0;
    var objElements = '<ul>';
    
    if (!fnValidateFormField('ctl00_ContentPlaceHolder1_txtForenames', 'ctl00_ContentPlaceHolder1_val_forename','Please enter your forename.')){intErrors++; objElements += '<li>Please enter your forename.</li>';}
    if (!fnValidateFormField('ctl00_ContentPlaceHolder1_txtSurname', 'ctl00_ContentPlaceHolder1_val_surname','Please enter your surname.')){intErrors++; objElements += '<li>Please enter your surname.</li>';}
    if (!fnValidateFormField('ctl00_ContentPlaceHolder1_txtAddress1', 'ctl00_ContentPlaceHolder1_val_address1','Please enter your address.')){intErrors++; objElements += '<li>Please enter your address.</li>';}
    if (!fnValidateFormField('ctl00_ContentPlaceHolder1_txtPostCode', 'ctl00_ContentPlaceHolder1_val_postcode','Please enter your postcode.')){intErrors++; objElements += '<li>Please enter your postcode.</li>';}
    if (!fnValidateFormField('ctl00_ContentPlaceHolder1_txtEmailAddress', 'ctl00_ContentPlaceHolder1_val_emailaddress','Please enter your email address.')){intErrors++; objElements += '<li>Please enter your email address.</li>';}
    
    
    if (fnValidateDoB()>0){intErrors++; objElements += '<li>Please enter a valid date of birth.</li>';}
    if (!fnValidateFormDropdownField('ctl00_ContentPlaceHolder1_ddlSex', 'ctl00_ContentPlaceHolder1_val_sex','Please enter your sex.')){intErrors++; objElements += '<li>Please enter your sex.</li>';}
    if (!fnValidateFormDropdownField('ctl00_ContentPlaceHolder1_ddlStatus', 'ctl00_ContentPlaceHolder1_val_status','Please select your professional status.')){intErrors++; objElements += '<li>Please select your professional status.</li>';}
    
    if (!fnValidateFormDropdownField('ctl00_ContentPlaceHolder1_ddlReason', 'ctl00_ContentPlaceHolder1_val_reason','Please select your usual reason for visiting Orchard Square.')){intErrors++; objElements += '<li>Please select transport from drop down list.</li>';}
    //if (!fnValidateFormDropdownField('ctl00_ContentPlaceHolder1_ddlTravel', 'ctl00_ContentPlaceHolder1_val_travel','Please select transport from drop down list.')){intErrors++; objElements += '<li>Please select transport from drop down list.</li>';}
    if (!fnValidateFormDropdownField('ctl00_ContentPlaceHolder1_ddlHowHear', 'ctl00_ContentPlaceHolder1_val_howhear','Please select how did you hear our members clubs.')){intErrors++; objElements += '<li>Please select how did you hear our members clubs.</li>';}
    
    var ddlHowHear = document.getElementById('ctl00_ContentPlaceHolder1_ddlHowHear');
    var strErrorText = 'Please tell us who recommended you.'
    var txtWordOfMouth = document.getElementById('ctl00_ContentPlaceHolder1_txtWordOfMouth');
    if ((ddlHowHear && txtWordOfMouth) && (ddlHowHear.options[ddlHowHear.selectedIndex].value == 'Word of Mouth' && txtWordOfMouth.value == '')){
        document.getElementById('ctl00_ContentPlaceHolder1_val_wordofmouth').href = 'javascript:InfoDialog.show(\'<p>' + strErrorText + '</p>\', \'error\');';
        document.getElementById('ctl00_ContentPlaceHolder1_val_wordofmouth').style.display = 'block';
        intErrors++; 
        objElements += '<li>' + strErrorText + '</li>';
    } else {
        document.getElementById('ctl00_ContentPlaceHolder1_val_wordofmouth').style.display = 'none';
    }
    
    
    //if (!fnValidateContactMethod()>0){intErrors++; objElements += '<li>Please select at least one contact method.</li>';}
    if (!fnValidateCheckbox('ctl00_ContentPlaceHolder1_chkTnC', 'ctl00_ContentPlaceHolder1_val_tnc','Please accept the Terms and Conditions.')){intErrors++; objElements += '<li>Please accept the Terms and Conditions.</li>';}
    
    if (intErrors>0)
    {
        InfoDialog.show('<p>Please ensure all required fields are completed.</p>' + objElements, 'error');
        return false;
    }
    else
    {
        return true;
    }
}


function fnValidateDoB()
{
    var intErrors = 0;
    if (!fnValidateFormDropdownField('ctl00_ContentPlaceHolder1_ddlDoBDate', 'ctl00_ContentPlaceHolder1_val_dobdate','Please enter your date of birth.')){intErrors++;}
    else {if (!fnValidateFormDropdownField('ctl00_ContentPlaceHolder1_ddlDoBMonth', 'ctl00_ContentPlaceHolder1_val_dobdate','Please enter your month of birth.')){intErrors++;}
    else {if (!fnValidateFormDropdownField('ctl00_ContentPlaceHolder1_ddlDoBYear', 'ctl00_ContentPlaceHolder1_val_dobdate','Please enter your year of birth.')){intErrors++;}}}
    
    return intErrors;
}

function fnValidateContactMethod()
{
    var intErrors = 0;
    
    if(fnValidateCheckbox('ctl00_ContentPlaceHolder1_chkContactEmail', 'ctl00_ContentPlaceHolder1_val_method' ,'Please select at least one contact method')){intErrors++; }
    else {if(fnValidateCheckbox('ctl00_ContentPlaceHolder1_chkContactPost', 'ctl00_ContentPlaceHolder1_val_method'  ,'Please select at least one contact method')){intErrors++; }
    else {if(fnValidateCheckbox('ctl00_ContentPlaceHolder1_chkContactSMS', 'ctl00_ContentPlaceHolder1_val_method' ,'Please select at least one contact method')){intErrors++; }}}

    return intErrors;
}

function fnSubmitChangedetailsFrom()
{
    var intErrors = 0;
    var objElements = '<ul>';
    
    if (!fnValidateFormField('ctl00_ContentPlaceHolder1_txtForenames', 'ctl00_ContentPlaceHolder1_val_forename','Please enter your forename.')){intErrors++; objElements += '<li>Please enter your forename.</li>';}
    if (!fnValidateFormField('ctl00_ContentPlaceHolder1_txtSurname', 'ctl00_ContentPlaceHolder1_val_surname','Please enter your surname.')){intErrors++; objElements += '<li>Please enter your surname.</li>';}
    if (!fnValidateFormField('ctl00_ContentPlaceHolder1_txtAddress1', 'ctl00_ContentPlaceHolder1_val_address1','Please enter your address.')){intErrors++; objElements += '<li>Please enter your address.</li>';}
    if (!fnValidateFormField('ctl00_ContentPlaceHolder1_txtPostCode', 'ctl00_ContentPlaceHolder1_val_postcode','Please enter your postcode.')){intErrors++; objElements += '<li>Please enter your postcode.</li>';}
    
    if (!fnValidateFormDropdownField('ctl00_ContentPlaceHolder1_ddlStatus', 'ctl00_ContentPlaceHolder1_val_status','Please select your professional status.')){intErrors++; objElements += '<li>Please select your professional status.</li>';}
    if (!fnValidateContactMethod()>0){intErrors++; objElements += '<li>Please select at least one contact method.</li>';}
    
    if (intErrors>0)
    {
        InfoDialog.show('<p>Please ensure all required fields are completed.</p>' + objElements, 'error');
        return false;
    }
    else
    {
        document.forms[0].submit();
        setTimeout(window.location = 'ThankYou.aspx', 1000);
    }
}


function fnEmailvalidate(strFormElementID, strValidationElementID, strValidationText) {
    var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
    var objFormElement = document.getElementById(strFormElementID);
    var objValidationElement = document.getElementById(strValidationElementID);
    var address = objValidationElement.value;
    var blnIsValid = false;
    
   if(reg.test(address) == false) {
        objValidationElement.href = 'javascript:InfoDialog.show(\'<p>' + strValidationText + '</p>\', \'error\');';
        objValidationElement.style.display = 'block';
   }
   else
   {
        objValidationElement.style.display = 'none';
        blnIsValid = true;
    }
    
    return blnIsValid;
    
}


var InfoDialog = {
    show: function(html, msgType){
        this.objOverlay = new Element('div', {'id': 'dialog-bg'}).injectInside(document.body);
        this.objDialog = new Element('div', {'id': 'dialog'}).injectInside(document.body);
        this.objDialogHeader = new Element('div', {'id': 'dialog-header'}).injectInside(this.objDialog);
        if (msgType == "error")
        {
            this.objDialog.className = 'error';
            this.objDialogHeader.setHTML('<h3>Error</h3>');
        }
        else
        {
            this.objDialog.className = 'info';
            this.objDialogHeader.setHTML('<h3>Information</h3>');
        }
        
        this.objDialogText = new Element('div', {'id': 'dialog-text'}).injectInside(this.objDialog);
        new Element('a', {'id': 'dialog-closelink', 'href': '#'}).appendText('Close').injectInside(this.objDialog).onclick = this.objOverlay.onclick = this.close.bind(this);

        this.fx = {overlay: this.objOverlay.effect('opacity', {duration: 500}).hide()}
        this.top = window.getScrollTop() + (window.getHeight() / 5);
        this.objDialog.setStyles({top: this.top, display: ''});
        this.objDialogText.setHTML(html);
        this.fx.overlay.start(0.8);
    },
    
    close: function(){
        this.objDialog.style.display = 'none';
	    this.fx.overlay.start(0);
	    return false;
    }
}


var SearchDialog = {
    searchUrl: "http://localhost/production-v2-0.orchard-square.co.uk/card/SearchResults.aspx",
    show: function(){
        this.objOverlay = new Element('div', {'id': 'dialog-bg'}).injectInside(document.body);
        this.objSearch = new Element('div', {'id': 'search-dialog'}).injectInside(document.body);
        this.objSearchHeader = new Element('div', {'id': 'search-header'}).injectInside(this.objSearch);
        this.objSearchHeader.setHTML('<h3>Search Results</h3>');
        
        this.objSearchText = new Element('div', {'id': 'dialog-text'}).injectInside(this.objSearch);
        new Element('a', {'id': 'search-closelink', 'href': '#'}).appendText('Close').injectInside(this.objSearch).onclick = this.objOverlay.onclick = this.close.bind(this);

        this.fx = {overlay: this.objOverlay.effect('opacity', {duration: 500}).hide()}
        this.top = window.getScrollTop() + (window.getHeight() / 5);
        this.objSearch.setStyles({top: this.top, display: ''});
        this.objSearchText.addClass('ajax-loading');
        this.objSearchText.setHTML('<p>Loading...</p>');
        this.fx.overlay.oncomplete = this.populate.bind(this);
        this.fx.overlay.start(0.8);
        window.setTimeout("SearchDialog.populate()", 1500);
    },
    
    populate: function(){
        var objData = {searchText: $('txtSearchText').value, searchField: $('selSearchField').value};
        var updateEl = this.objSearchText;
        //alert
        updateEl.addClass('ajax-loading');
        
        new Ajax(this.searchUrl, {
            data: objData,
		    method: 'post',
		    update: this.objSearchText,
		    onComplete: function() {
		        // when complete, we remove the spinner
		        updateEl.removeClass('ajax-loading'); 
	        }
	    }).request();
    },
    
    close: function(){
        this.objSearch.style.display = 'none';
	    this.fx.overlay.start(0);
	    return false;
    }
}


