//---------------------------------------------------------------------------------
// Events Post Code Controller for Ajax WCF Web Services
//---------------------------------------------------------------------------------
function eventPostCodeController() {
    postcode: null,

    //get the postcode
    this.init = function (postcode) {
        this.postcode = postcode;

        if (this.postcode) {
            this.loadSuburbsData();
        }
    };

    //load suburbs data
    this.loadSuburbsData = function (requestData) {
        var serviceURL = '/APIService/Event.svc/GetSuburbs';

        //make the call
        validation.callValidatingJsonReturnValueService(
            serviceURL,
            "GET",
            requestData,
            this.loadSuccessful, //Success
            this.loadSuccessfulWithNoData,   // Success no data
            null,
            this.serverError);
    };

    this.loadSuccessful = function (loadData) {
        // Top level properties
        $('#'+ GetClientId('selSuburb')).html('');
        $("#" + GetClientId('selState') + " option[value='" + loadData.StateName + "']").attr('selected', 'selected');

        for (var i = 0, len = loadData.Suburbs.length; i < len; i++) {
            var currentSuburb = loadData.Suburbs[i];
            $('#' + GetClientId('selSuburb')).append($('<option value="' + currentSuburb.SuburbName + '">' + currentSuburb.SuburbName + '</option>'));
        }

        $('#' + GetClientId('selSuburb')).append($('<option value="0">(none)</option>'));
    };

    this.loadSuccessfulWithNoData = function (loadData) {
        // Top level properties
        $('#' + GetClientId('selSuburb')).html('');
        $('#' + GetClientId('selSuburb')).append($('<option value="0">(none)</option>'));
        $("#" + GetClientId('selState') + " option[value='0']").attr('selected', 'selected');

    };

    this.serverError = function (loadData) {
        // Top level properties
        $('#' + GetClientId('selSuburb')).html('');
        $('#' + GetClientId('selSuburb')).append($('<option value="0">(none)</option>'));
        $("#" + GetClientId('selState') + " option[value='0']").attr('selected', 'selected');
        
    };

    this.getPostData = function (postcodevalue) {
        var data = {
            PostCode: postcodevalue
        }

        return data;
    }
}

//---------------------------------------------------------------------------------
// Events ABN Controller for Ajax WCF Web Services
//---------------------------------------------------------------------------------
function eventABNController() {
    abn: null,

    //get the postcode
    this.init = function (abn) {
        this.abn = abn;

        if (this.abn) {
            this.loadCompaniesData();
        }
    };

    //load suburbs data
    this.loadCompaniesData = function (requestData) {
        var serviceURL = '/APIService/Event.svc/GetABNCompanies';

        //make the call
        validation.callValidatingJsonReturnValueService(
            serviceURL,
            "GET",
            requestData,
            this.loadSuccessful, //Success
            this.loadSuccessfulWithNoData,   // Success no data
            null,
            this.serverError);
    };

    this.loadSuccessful = function (loadData) {
        // Top level properties
        $('#' + GetClientId('selABNName')).html('');

        for (var i = 0, len = loadData.Companies.length; i < len; i++) {
            var currentCompany = loadData.Companies[i];
            $('#' + GetClientId('selABNName')).append($('<option value="' + currentCompany.CompanyName + '">' + currentCompany.CompanyName + '</option>'));
        }
        $('#' + GetClientId('hidABNVal')).val('');
        $('#' + GetClientId('selABNName')).append($('<option value="0">(Please select)</option>'));
    };

    this.loadSuccessfulWithNoData = function (loadData) {
        // Top level properties
        $('#' + GetClientId('selABNName')).html('');
        $('#' + GetClientId('selABNName')).append($('<option value="999">(ABN Name unavailable)</option>'));
        $('#'+ GetClientId('hidABNVal')).val('U');
    };

    this.serverError = function (loadData) {
        // Top level properties
        $('#' + GetClientId('selABNName')).html('');
        $('#' + GetClientId('selABNName')).append($('<option value="999">(ABN Name unavailable)</option>'));
        $('#'+ GetClientId('hidABNVal')).val('U');
    };

    this.getPostData = function (abnvalue) {
        var data = {
            ABN: abnvalue
        }

        return data;
    }
}

var msg = "";

//local cached suburbs
//these suburbs will be used instead of Ajax called if possible
var arrSuburbs = new Array();
//postcodeSuburb object
function postcodeSuburb(postcode, formattedString) {
    this.postcode = postcode;
    this.formattedString = formattedString;
}
//default value
var curPostcode = '';
function getSuburbsByKeyPress(evt, ajaClassName, txtElem, subElm, stateElm) {
    //if user didn't hit 'Enter', exit
    if (evt.keyCode != 13)
        return;
    getSuburbs(ajaClassName, txtElem, subElm, stateElm);
    if (!document.all && document.getElementById) {
        evt.preventDefault();
        evt.stopPropagation();
    }
    evt.cancelBubble = true;
    evt.returnValue = false;

    return false;


}
function getSuburbs(ajaClassName, txtElem, subElm, stateElm) {
    if (document.getElementById(GetClientId("pSuburbDropDown")).style.display != '')
        return;

    var postCode = txtElem.value;
    //do not refresh drop down if the postcode value didn't change
    if (postCode == curPostcode)
        return;
    //set the current postcode value
    curPostcode = postCode;
    //Clear the dropdown with a "loading" option
    subElm.options.length = 1;
    subElm.options[0].text = 'loading ... ';
    subElm.options[0].value = '0';

    //load from cache if possible
    var found = false;
    var formattedString = '';
    for (var i = 0; i < arrSuburbs.length; i++) {
        //linear search on local cache using postcode
        if (arrSuburbs[i].postcode == postCode) {
            //found local version
            formattedString = arrSuburbs[i].formattedString;
            found = true;
            break;
        }
    }

    if (found)
        bindSuburbs(subElm, stateElm, formattedString);
    else {
        var ajaxClass = null;

        if (typeof (ASP) != 'undefined')
            ajaxClass = eval('ASP.' + ajaClassName);
        else if (typeof (_ASP) != 'undefined')
            ajaxClass = eval('_ASP.' + ajaClassName);

        ajaxClass.LookupSuburbByPostcode(postCode, function (result) {
            //Add Ajax result into local cache
            arrSuburbs.length++;
            arrSuburbs[arrSuburbs.length - 1] = new postcodeSuburb(postCode, result.value);
            bindSuburbs(subElm, stateElm, result.value);

            //enable selStates
            EnableDisableStates();
        });

    }

}

function EnableDisableStates() {
    var states = document.getElementById(GetClientId('selState'));
    var suburbs = document.getElementById(GetClientId('selSuburb'));
    if (states != null) {
        if ((states != null) && (suburbs.length == 1) && (suburbs.value == '0')) {
            states.value = '0';
            states.disabled = true;
        }
        else {
            //states.value = '0';
            states.disabled = false;
        }
    }
}


function bindSuburbs(subElm, stateElm, formattedString) {
    //now reset the suburb drop down
    subElm.options.length = 0;
    var formattedSuburbString = formattedString;
    var formattedStateString = '';
    //retrieve suburb
    var re = new RegExp();
    re = /<.*>/;
    if (re.test(formattedString)) {
        //remove suburb details
        formattedSuburbString = formattedString.replace(re, '');
        var foundStateArray = re.exec(formattedString);
        formattedStateString = foundStateArray[0];
        //remove < and >
        re = /</;
        formattedStateString = formattedStateString.replace(re, '');
        re = />/;
        formattedStateString = formattedStateString.replace(re, '');
        //retrieve su
        var stateArray = formattedStateString.split('|');
        //loop thru state object and use string comparsion
        if (stateArray.length > 0) {
            for (var j = 0; j < stateElm.length; j++) {
                if (stateElm.options[j].value.toLowerCase() == stateArray[1].toLowerCase()) {
                    stateElm.options[j].selected = true;
                    break;
                }
            }
        }
    } else {
        //default to "none" state
        stateElm.options[stateElm.options.length - 1].selected = true;
    }

    //use : as a seperator
    if (formattedSuburbString.length > 0) {
        var arrOptions = formattedSuburbString.split(':');
        for (var i = 0; i < arrOptions.length; i++) {
            var optSub = new Option();
            //use | as a seperator
            var arrSub = arrOptions[i].split('|');
            //ALWAYS have 2 elements
            optSub.text = arrSub[0];
            optSub.value = arrSub[1];

            subElm.options[subElm.options.length] = optSub;
        }
    }
    var optSub = new Option();
    //ALWAYS have 2 elements
    optSub.text = '(Please select)';
    optSub.value = '0';

    subElm.options[subElm.options.length] = optSub;

    //Default to last item, i.e. '(none)'
    if (subElm.options.length > 0)
        subElm.options.selectedIndex = subElm.options.length - 1;
}

function PartnerDietaryShowHide() {
}

function CallSearchRelatedArticle() {
    window.open("ArticleSearchAdmin.aspx?ExecScript=AssignRelatedArticle", "", "width=450,height=500,top=100,left=100,resizable, scrollbars");
}

function CallSearchConvener() {
    window.open("UserSearch.aspx?ExecScript=AssignConvener", "", "width=500,height=500,top=100,left=100,resizable, scrollbars");
}

function CallSearchAttendee() {
    window.open("UserSearch.aspx?ExecScript=AssignAttendee", "", "width=500,height=500,top=100,left=100,resizable, scrollbars");
}

function AssignRelatedArticle(ArticleID, FolderID, ArticleDescr) {
    var no = new Option();
    no.value = ArticleID;
    no.text = ArticleDescr;
     document.getElementById(GetClientId('sel_Article_ID')).options[ document.getElementById(GetClientId('sel_Article_ID')).options.length] = no;
}

function validColleagues() {
    //this code adds the new item fields to the selected listbox

    msg = "";
    var strText = "";
    var strValue = "";
    var sHiddenText = '';

    if (isblank( document.getElementById(GetClientId('txtPartnerFirstName')).value)) {
        msg = "Please enter a first name\n";
    }
    if (isblank( document.getElementById(GetClientId('txtPartnerLastName')).value)) {
        msg = msg + "Please enter a last name\n";
    }
    if (isblank( document.getElementById(GetClientId('txtPartnerEmail')).value)) {
        msg = msg + "Please enter an email address";
    }
    else {
        if (!isvalidemail( document.getElementById(GetClientId('txtPartnerEmail')).value)) {
            msg = msg + "Please enter a valid email address";
        }
    }
    if (msg != '') {
        alert(msg);
        return;
    }


    var position
    var company
    var companyString
    position = '';
    company = '';
    companyString = '';

    if (!isblank( document.getElementById(GetClientId('txtPartnerPosition')).value))
        position =  document.getElementById(GetClientId('txtPartnerPosition')).value;
    if (!isblank( document.getElementById(GetClientId('txtPartnerCompany')).value))
        company =  document.getElementById(GetClientId('txtPartnerCompany')).value;
    if (company > '' || position > '')
        companyString = position + ' | ' + company;

    var ddlConcessionColleagues =  document.getElementById(GetClientId('ddlConcessionColleagues'));

    strText =  document.getElementById(GetClientId('txtPartnerFirstName')).value + " | " +  document.getElementById(GetClientId('txtPartnerLastName')).value + " | " +  document.getElementById(GetClientId('txtPartnerEmail')).value + " | " + companyString;

    if (ddlConcessionColleagues) {
        strValue =  document.getElementById(GetClientId('txtPartnerFirstName')).value + " | " +  document.getElementById(GetClientId('txtPartnerLastName')).value + " | " +  document.getElementById(GetClientId('txtPartnerEmail')).value + " | " + position + " | " + company + " | " + ddlConcessionColleagues[ddlConcessionColleagues.selectedIndex].value;
    }
    else {
        strValue =  document.getElementById(GetClientId('txtPartnerFirstName')).value + " | " +  document.getElementById(GetClientId('txtPartnerLastName')).value + " | " +  document.getElementById(GetClientId('txtPartnerEmail')).value + " | " + position + " | " + company;
    }

     document.getElementById(GetClientId('txtPartnerFirstName')).value = '';
     document.getElementById(GetClientId('txtPartnerLastName')).value = '';
     document.getElementById(GetClientId('txtPartnerEmail')).value = '';
     document.getElementById(GetClientId('txtPartnerPosition')).value = '';
     document.getElementById(GetClientId('txtPartnerCompany')).value = '';

     if (document.getElementById(GetClientId('lstColleagues'))) {
         var no = new Option();

         no.value = strValue;
         no.text = strText;
         document.getElementById(GetClientId('lstColleagues')).options[document.getElementById(GetClientId('lstColleagues')).options.length] = no;
         document.getElementById(GetClientId('txtCost')).value = (document.getElementById(GetClientId('lstColleagues')).options.length + 1) *  document.getElementById(GetClientId('hidCost')).value;

         document.getElementById(GetClientId('ColleaguesSelected')).value = '';
         for (var i = 0; i < document.getElementById(GetClientId('lstColleagues')).options.length; i++) {
            if (document.getElementById(GetClientId('ColleaguesSelected'))) {
                document.getElementById(GetClientId('ColleaguesSelected')).value = document.getElementById(GetClientId('ColleaguesSelected')).value + '||' + document.getElementById(GetClientId('lstColleagues')).options[i].value;
            }
        }

        //document.getElementById(GetClientId('ColleaguesSelected')).value = document.getElementById(GetClientId('ColleaguesSelected')).value + "||" + strValue;
        }
//    for (var i = 0; i < document.forms[0].elements.length; i++) {
//        if (document.forms[0].elements[i].name) {
//            if (document.forms[0].elements[i].name.indexOf(GetClientId('lstColleagues')) >= 0) {
//                var no = new Option();

//                no.value = strValue;
//                no.text = strText;
//                document.forms[0].elements[i].options[document.forms[0].elements[i].options.length] = no;
//                 document.getElementById(GetClientId('txtCost')).value = dollarize((document.forms[0].elements[i].options.length + 1) *  document.getElementById(GetClientId('hidCost')).value);
//            }
//            else {
//                if (document.forms[0].elements[i].name.indexOf(GetClientId('ColleaguesSelected')) >= 0) {
//                    document.forms[0].elements[i].value = document.forms[0].elements[i].value + "||" + strValue;
//                }
//            }
//        }
//    }





}

function dollarize(val) {
    return "$" + format(val, 2);
}

function format(val, decplaces) {
    var str = "" + Math.round(eval(val) * Math.pow(10, decplaces))
    while (str.length <= decplaces) {
        str = "0" + str;
    }
    var decpoint = str.length - decplaces;
    return str.substring(0, decpoint) + "." + str.substring(decpoint, str.length);
}
function DeleteItem() {
    var sHiddenText = "";

    for (var i = 0; i <  document.getElementById(GetClientId('lstColleagues')).options.length; i++) {

        if ( document.getElementById(GetClientId('lstColleagues')).options[i].selected &&  document.getElementById(GetClientId('lstColleagues')).options[i].text != "") {
            var no = new Option();
            no.value =  document.getElementById(GetClientId('lstColleagues')).options[i].value;
            no.text =  document.getElementById(GetClientId('lstColleagues')).options[i].text;
             document.getElementById(GetClientId('lstColleagues')).options[i].value = "";
             document.getElementById(GetClientId('lstColleagues')).options[i].text = "";

        }
        else {
            sHiddenText = sHiddenText + "||" +  document.getElementById(GetClientId('lstColleagues')).options[i].text;
        }
    }

    BumpUp( document.getElementById(GetClientId('lstColleagues')));
     document.getElementById(GetClientId('txtCost')).value = dollarize(( document.getElementById(GetClientId('lstColleagues')).options.length + 1) *  document.getElementById(GetClientId('hidCost')).value);

    for (var i = 0; i < document.forms[0].elements.length; i++) {
        if (parseInt(document.forms[0].elements[i].name.indexOf('ColleaguesSelected')) >= 0) {
            document.forms[0].elements[i].value = sHiddenText;
            return;
        }
    }
}

function BumpUp(Box) {
    for (var i = 0; i < Box.options.length; i++) {
        if (Box.options[i].text == "") {
            for (var j = i; j < Box.options.length - 1; j++) {
                Box.options[j].value = Box.options[j + 1].value;
                Box.options[j].text = Box.options[j + 1].text;
            }
            var ln = i;
            break;
        }
    }
    if (ln < Box.options.length) {
        Box.options.length -= 1;
        BumpUp(Box);
    }
}


function ClearMe() {
    document.getElementById(GetClientId('cboTitle')).value = 0;
    document.getElementById(GetClientId('selCountry')).value = 0;
    document.getElementById(GetClientId('lstColleagues')).options.length = 0;
    document.getElementById(GetClientId('txtCost')).value = dollarize(document.getElementById(GetClientId('hidCost')).value);
    document.getElementById(GetClientId('txtDateOfBirth')).value = '';

    var states = document.getElementById(GetClientId('selState'));
    if (states != null) {
        states.value = '0';
    }

    var list = document.getElementById(GetClientId('lstColleagues'));
    if (list != null) {
        DeleteItem();
    }
}

function ClearMeStage2() {
    ClearMe();
}
function ToggleEditFields(section) {
    if (section == 'ContactDetails') {
        document.getElementById(GetClientId('pSaveContactDetails')).style.display = '';

        document.getElementById(GetClientId('txtEmailConfirm')).style.display = 'none';
        document.getElementById(GetClientId('txtEmail')).style.display = '';
        document.getElementById(GetClientId('cboTitleConfirm')).style.display = 'none';
        document.getElementById(GetClientId('cboTitle')).style.display = '';
        document.getElementById(GetClientId('txtFirstNameConfirm')).style.display = 'none';
        document.getElementById(GetClientId('txtFirstName')).style.display = '';
        document.getElementById(GetClientId('txtLastNameConfirm')).style.display = 'none';
        document.getElementById(GetClientId('txtLastName')).style.display = '';
        document.getElementById(GetClientId('txtDateOfBirthConfirm')).style.display = 'none';
        document.getElementById(GetClientId('txtDateOfBirth')).style.display = '';
        document.getElementById(GetClientId('txtPositionConfirm')).style.display = 'none';
        document.getElementById(GetClientId('txtPosition')).style.display = '';
        document.getElementById(GetClientId('txtPhoneNumberConfirm')).style.display = 'none';
        document.getElementById(GetClientId('txtPhoneNumber')).style.display = '';
        document.getElementById(GetClientId('txtPhoneInternationalConfirm')).style.display = 'none';
        if (document.getElementById(GetClientId('HiddenDisplayIntPhone')).value == "Yes") {
            document.getElementById(GetClientId('txtPhoneInternational')).style.display = '';
            document.getElementById(GetClientId('lblPhoneIntlcode')).style.display = '';
        }
        document.getElementById(GetClientId('txtPhoneAreaCodeConfirm')).style.display = 'none';
        document.getElementById(GetClientId('txtPhoneAreaCode')).style.display = '';
        document.getElementById(GetClientId('txtMobileNumberConfirm')).style.display = 'none';
        document.getElementById(GetClientId('txtMobileNumber')).style.display = '';
        document.getElementById(GetClientId('txtFaxNumberConfirm')).style.display = 'none';
        document.getElementById(GetClientId('txtFaxNumber')).style.display = '';
        document.getElementById(GetClientId('txtFaxInternationalConfirm')).style.display = 'none';

        if (document.getElementById(GetClientId('HiddenDisplayIntFax')).value == "Yes") {
            document.getElementById(GetClientId('txtFaxInternational')).style.display = '';
            document.getElementById(GetClientId('lblFaxIntlcode')).style.display = '';
        }

        document.getElementById(GetClientId('txtFaxAreaCodeConfirm')).style.display = 'none';
        document.getElementById(GetClientId('txtFaxAreaCode')).style.display = '';
        document.getElementById(GetClientId('lblPhoneAreacode')).style.display = '';
        document.getElementById(GetClientId('lblFaxAreacode')).style.display = '';
        document.getElementById(GetClientId('lblPhoneNumber')).style.display = '';
        document.getElementById(GetClientId('lblFaxNumber')).style.display = '';
    }

    if (section == 'CompanyDetails') {
        document.getElementById(GetClientId('pSaveCompanyDetails')).style.display = '';

        document.getElementById(GetClientId('txtCompanyNameConfirm')).style.display = 'none';
        document.getElementById(GetClientId('txtCompanyName')).style.display = '';
        document.getElementById(GetClientId('txtCompanyWebConfirm')).style.display = 'none';
        document.getElementById(GetClientId('txtCompanyWeb')).style.display = '';
        document.getElementById(GetClientId('txtABNConfirm')).style.display = 'none';
        document.getElementById(GetClientId('txtABN')).style.display = '';
        document.getElementById(GetClientId('selABNNameConfirm')).style.display = 'none';
        document.getElementById(GetClientId('selABNName')).style.display = '';
        document.getElementById(GetClientId('txtAddress1Confirm')).style.display = 'none';
        document.getElementById(GetClientId('txtAddress1')).style.display = '';
        document.getElementById(GetClientId('txtAddress2Confirm')).style.display = 'none';
        document.getElementById(GetClientId('txtAddress2')).style.display = '';
        document.getElementById(GetClientId('txtAddress3Confirm')).style.display = 'none';
        document.getElementById(GetClientId('txtAddress3')).style.display = '';
        document.getElementById(GetClientId('selCountryConfirm')).style.display = 'none';
        document.getElementById(GetClientId('selCountry')).style.display = '';
        document.getElementById(GetClientId('txtPostCodeConfirm')).style.display = 'none';
        document.getElementById(GetClientId('txtPostCode')).style.display = '';
        document.getElementById(GetClientId('txtSuburbTownConfirm')).style.display = 'none';
        document.getElementById(GetClientId('txtSuburbTown')).style.display = '';
        document.getElementById(GetClientId('selSuburbConfirm')).style.display = 'none';
        document.getElementById(GetClientId('selSuburb')).style.display = '';
        document.getElementById(GetClientId('selStateConfirm')).style.display = 'none';
        document.getElementById(GetClientId('selState')).style.display = '';
        document.getElementById(GetClientId('txtState')).style.display = '';
        document.getElementById(GetClientId('txtStateConfirm')).style.display = 'none';
        document.getElementById(GetClientId('selPrefMarketConfirm')).style.display = 'none';
        document.getElementById(GetClientId('selPrefMarket')).style.display = '';
        document.getElementById(GetClientId('txtCompanyOverviewConfirm')).style.display = 'none';
        document.getElementById(GetClientId('txtCompanyOverview')).style.display = '';
        document.getElementById(GetClientId('selBusinessOppsConfirm')).style.display = 'none';
        document.getElementById(GetClientId('selBusinessOpps')).style.display = '';
        document.getElementById(GetClientId('txtProductsServicesConfirm')).style.display = 'none';
        document.getElementById(GetClientId('txtProductsServices')).style.display = '';
        document.getElementById(GetClientId('txtKeyStrengthsConfirm')).style.display = 'none';
        document.getElementById(GetClientId('txtKeyStrengths')).style.display = '';
        document.getElementById(GetClientId('txtCompAdvConfirm')).style.display = 'none';
        document.getElementById(GetClientId('txtCompAdv')).style.display = '';
        document.getElementById(GetClientId('txtUniqueSellPropConfirm')).style.display = 'none';
        document.getElementById(GetClientId('txtUniqueSellProp')).style.display = '';
        document.getElementById(GetClientId('lstSubIndustryConfirm')).style.display = 'none';
        document.getElementById(GetClientId('lstSubIndustry')).style.display = '';
    }

    if (section == 'SpecialRequirements') {
        document.getElementById(GetClientId('pSaveSpecialRequirements')).style.display = '';
        document.getElementById(GetClientId('txtDietaryConfirm')).style.display = 'none';
        document.getElementById(GetClientId('txtDietary')).style.display = '';
        document.getElementById(GetClientId('txtPartnerDietaryConfirm')).style.display = 'none';
        document.getElementById(GetClientId('txtPartnerDietary')).style.display = '';
        document.getElementById(GetClientId('txtAdditionalConfirm')).style.display = 'none';
        document.getElementById(GetClientId('txtAdditional')).style.display = '';
    }

    if (section == 'AdditionalCol') {
        document.getElementById(GetClientId('pSaveAdditionalCol')).style.display = '';
        document.getElementById(GetClientId('hrefDeleteItem')).style.display = '';
        document.getElementById(GetClientId('divColleaguesInputFields')).style.display = '';
    }


    if (section == 'PaymentDetails') {
        document.getElementById(GetClientId('pSavePaymentDetails')).style.display = '';
        document.getElementById(GetClientId('cboCostRegisterMemberConfirm')).style.display = 'none';
        document.getElementById(GetClientId('cboCostRegisterMember')).style.display = '';
        if (document.getElementById(GetClientId('txtPromotionCodeConfirm'))) {
            document.getElementById(GetClientId('txtPromotionCodeConfirm')).style.display = 'none';
            document.getElementById(GetClientId('txtPromotionCode')).style.display = '';
        }
        EnableDisableCreditCardFields("EventReg", "Enable")
    }

    if (section == 'AdditionalDetails') {
        document.getElementById(GetClientId('pSaveAdditionalDetails')).style.display = '';
        FormCreatorEnableDisableFields("Enable");
    }

    document.getElementById(GetClientId('divSubmitButtonsStage2')).style.display = 'none';

}
function SaveEditFields(section) {
    if (section == 'ContactDetails') {

        document.getElementById(GetClientId('txtEmailConfirm')).innerHTML = document.getElementById(GetClientId('txtEmail')).value;
        var objTitle = document.getElementById(GetClientId("cboTitle"));
        document.getElementById(GetClientId('cboTitleConfirm')).innerHTML = objTitle.options[objTitle.selectedIndex].text;
        document.getElementById(GetClientId('cboTitleHidden')).value = objTitle.value;
        document.getElementById(GetClientId('txtFirstNameConfirm')).innerHTML = document.getElementById(GetClientId('txtFirstName')).value;
        document.getElementById(GetClientId('txtLastNameConfirm')).innerHTML = document.getElementById(GetClientId('txtLastName')).value;
        document.getElementById(GetClientId('txtDateOfBirthConfirm')).innerHTML = document.getElementById(GetClientId('txtDateOfBirth')).value;
        document.getElementById(GetClientId('txtPositionConfirm')).innerHTML = document.getElementById(GetClientId('txtPosition')).value;
        document.getElementById(GetClientId('txtPhoneNumberConfirm')).innerHTML = document.getElementById(GetClientId('txtPhoneNumber')).value;
        document.getElementById(GetClientId('txtPhoneInternationalConfirm')).innerHTML = document.getElementById(GetClientId('txtPhoneInternational')).value;
        document.getElementById(GetClientId('txtPhoneAreaCodeConfirm')).innerHTML = document.getElementById(GetClientId('txtPhoneAreaCode')).value;
        document.getElementById(GetClientId('txtMobileNumberConfirm')).innerHTML = document.getElementById(GetClientId('txtMobileNumber')).value;
        document.getElementById(GetClientId('txtFaxNumberConfirm')).innerHTML = document.getElementById(GetClientId('txtFaxNumber')).value;
        document.getElementById(GetClientId('txtFaxInternationalConfirm')).innerHTML = document.getElementById(GetClientId('txtFaxInternational')).value;
        document.getElementById(GetClientId('txtFaxAreaCodeConfirm')).innerHTML = document.getElementById(GetClientId('txtFaxAreaCode')).value;
    }

    if (section == 'CompanyDetails') {
        document.getElementById(GetClientId('txtCompanyNameConfirm')).innerHTML = document.getElementById(GetClientId('txtCompanyName')).value;
        document.getElementById(GetClientId('txtCompanyWebConfirm')).innerHTML = document.getElementById(GetClientId('txtCompanyWeb')).value;
        document.getElementById(GetClientId('txtABNConfirm')).innerHTML = document.getElementById(GetClientId('txtABN')).value;
        document.getElementById(GetClientId('selABNNameConfirm')).innerHTML = document.getElementById(GetClientId('selABNName')).value;
        document.getElementById(GetClientId('txtEmailConfirm')).innerHTML = document.getElementById(GetClientId('txtEmail')).value;
        document.getElementById(GetClientId('txtAddress1Confirm')).innerHTML = document.getElementById(GetClientId('txtAddress1')).value;
        document.getElementById(GetClientId('txtAddress2Confirm')).innerHTML = document.getElementById(GetClientId('txtAddress2')).value;
        document.getElementById(GetClientId('txtAddress3Confirm')).innerHTML = document.getElementById(GetClientId('txtAddress3')).value;
        document.getElementById(GetClientId('selCountryConfirm')).innerHTML = document.getElementById(GetClientId('selCountry')).value;
        document.getElementById(GetClientId('txtPostCodeConfirm')).innerHTML = document.getElementById(GetClientId('txtPostCode')).value;
        document.getElementById(GetClientId('txtSuburbTownConfirm')).innerHTML = document.getElementById(GetClientId('txtSuburbTown')).value;
        document.getElementById(GetClientId('selSuburbConfirm')).innerHTML = document.getElementById(GetClientId('selSuburb')).value;
        document.getElementById(GetClientId('selStateConfirm')).innerHTML = document.getElementById(GetClientId('selState')).value;
        document.getElementById(GetClientId('txtCompanyOverviewConfirm')).innerHTML = document.getElementById(GetClientId('txtCompanyOverview')).value;
        document.getElementById(GetClientId('txtProductsServicesConfirm')).innerHTML = document.getElementById(GetClientId('txtProductsServices')).value;
        document.getElementById(GetClientId('txtKeyStrengthsConfirm')).innerHTML = document.getElementById(GetClientId('txtKeyStrengths')).value;
        document.getElementById(GetClientId('txtCompAdvConfirm')).innerHTML = document.getElementById(GetClientId('txtCompAdv')).value;
        document.getElementById(GetClientId('txtUniqueSellPropConfirm')).innerHTML = document.getElementById(GetClientId('txtUniqueSellProp')).value;
        document.getElementById(GetClientId('lstSubIndustryConfirm')).innerHTML = document.getElementById(GetClientId('lstSubIndustry')).value;

        var objPrefMarket = document.getElementById(GetClientId("selPrefMarket"));
        document.getElementById(GetClientId('selPrefMarketConfirm')).innerHTML = objPrefMarket.options[objPrefMarket.selectedIndex].text;
        document.getElementById(GetClientId('selPrefMarketHidden')).value = objPrefMarket.value;

        var objBusinessOps = document.getElementById(GetClientId("selBusinessOpps"));
        document.getElementById(GetClientId('selBusinessOppsConfirm')).innerHTML = objBusinessOps.options[objBusinessOps.selectedIndex].text;
        document.getElementById(GetClientId('selBusinessOppsHidden')).value = objBusinessOps.value;
    }

    if (section == 'SpecialRequirements') {
        document.getElementById(GetClientId('txtDietaryConfirm')).innerHTML = document.getElementById(GetClientId('txtDietary')).value;
        document.getElementById(GetClientId('txtPartnerDietaryConfirm')).innerHTML = document.getElementById(GetClientId('txtPartnerDietary')).value;
        document.getElementById(GetClientId('txtAdditionalConfirm')).innerHTML = document.getElementById(GetClientId('txtAdditional')).value;
    }

    if (section == 'PaymentDetails') {

        var objCost = document.getElementById(GetClientId("cboCostRegisterMember"));
        document.getElementById(GetClientId('cboCostRegisterMemberConfirm')).innerHTML = objCost.options[objCost.selectedIndex].text;
        document.getElementById(GetClientId('cboCostRegisterMemberHidden')).value = objCost.value;
        if (document.getElementById(GetClientId('txtPromotionCodeConfirm'))) {
            document.getElementById(GetClientId('txtPromotionCodeConfirm')).innerHTML = document.getElementById(GetClientId('txtPromotionCode')).value;
        }
    }

    ResetEditFields(section);
}

function ResetEditFields(section) {

    if (section == 'ContactDetails') {
        document.getElementById(GetClientId('txtEmail')).value = document.getElementById(GetClientId('txtEmailConfirm')).innerHTML;
        document.getElementById(GetClientId('txtEmailConfirm')).style.display = '';
        document.getElementById(GetClientId('txtEmail')).style.display = 'none';

        document.getElementById(GetClientId('cboTitle')).value = document.getElementById(GetClientId('cboTitleHidden')).value;
        document.getElementById(GetClientId('cboTitleConfirm')).style.display = '';
        document.getElementById(GetClientId('cboTitle')).style.display = 'none';

        document.getElementById(GetClientId('txtFirstName')).value = document.getElementById(GetClientId('txtFirstNameConfirm')).innerHTML;
        document.getElementById(GetClientId('txtFirstNameConfirm')).style.display = '';
        document.getElementById(GetClientId('txtFirstName')).style.display = 'none';

        document.getElementById(GetClientId('txtLastName')).value = document.getElementById(GetClientId('txtLastNameConfirm')).innerHTML;
        document.getElementById(GetClientId('txtLastNameConfirm')).style.display = '';
        document.getElementById(GetClientId('txtLastName')).style.display = 'none';

        document.getElementById(GetClientId('txtDateOfBirth')).value = document.getElementById(GetClientId('txtDateOfBirthConfirm')).innerHTML;
        document.getElementById(GetClientId('txtDateOfBirthConfirm')).style.display = '';
        document.getElementById(GetClientId('txtDateOfBirth')).style.display = 'none';

        document.getElementById(GetClientId('txtPosition')).value = document.getElementById(GetClientId('txtPositionConfirm')).innerHTML;
        document.getElementById(GetClientId('txtPositionConfirm')).style.display = '';
        document.getElementById(GetClientId('txtPosition')).style.display = 'none';

        document.getElementById(GetClientId('txtPhoneNumber')).value = document.getElementById(GetClientId('txtPhoneNumberConfirm')).innerHTML;
        document.getElementById(GetClientId('txtPhoneNumberConfirm')).style.display = '';
        document.getElementById(GetClientId('txtPhoneNumber')).style.display = 'none';

        document.getElementById(GetClientId('txtPhoneInternational')).value = document.getElementById(GetClientId('txtPhoneInternationalConfirm')).innerHTML;
        document.getElementById(GetClientId('txtPhoneInternationalConfirm')).style.display = '';
        document.getElementById(GetClientId('txtPhoneInternational')).style.display = 'none';

        document.getElementById(GetClientId('txtPhoneAreaCode')).value = document.getElementById(GetClientId('txtPhoneAreaCodeConfirm')).innerHTML;
        document.getElementById(GetClientId('txtPhoneAreaCodeConfirm')).style.display = '';
        document.getElementById(GetClientId('txtPhoneAreaCode')).style.display = 'none';

        document.getElementById(GetClientId('txtMobileNumber')).value = document.getElementById(GetClientId('txtMobileNumberConfirm')).innerHTML;
        document.getElementById(GetClientId('txtMobileNumberConfirm')).style.display = '';
        document.getElementById(GetClientId('txtMobileNumber')).style.display = 'none';

        document.getElementById(GetClientId('txtFaxNumber')).value = document.getElementById(GetClientId('txtFaxNumberConfirm')).innerHTML;
        document.getElementById(GetClientId('txtFaxNumberConfirm')).style.display = '';
        document.getElementById(GetClientId('txtFaxNumber')).style.display = 'none';

        document.getElementById(GetClientId('txtFaxInternational')).value = document.getElementById(GetClientId('txtFaxInternationalConfirm')).innerHTML;
        document.getElementById(GetClientId('txtFaxInternationalConfirm')).style.display = '';
        document.getElementById(GetClientId('txtFaxInternational')).style.display = 'none';

        document.getElementById(GetClientId('txtFaxAreaCode')).value = document.getElementById(GetClientId('txtFaxAreaCodeConfirm')).innerHTML;
        document.getElementById(GetClientId('txtFaxAreaCodeConfirm')).style.display = '';
        document.getElementById(GetClientId('txtFaxAreaCode')).style.display = 'none';

        document.getElementById(GetClientId('lblPhoneIntlcode')).style.display = 'none';
        document.getElementById(GetClientId('lblFaxIntlcode')).style.display = 'none';
        document.getElementById(GetClientId('lblPhoneAreacode')).style.display = 'none';
        document.getElementById(GetClientId('lblFaxAreacode')).style.display = 'none';
        document.getElementById(GetClientId('lblPhoneNumber')).style.display = 'none';
        document.getElementById(GetClientId('lblFaxNumber')).style.display = 'none';

        document.getElementById(GetClientId('pSaveContactDetails')).style.display = 'none';

    }

    if (section == 'CompanyDetails') {
        document.getElementById(GetClientId('txtCompanyName')).value = document.getElementById(GetClientId('txtCompanyNameConfirm')).innerHTML;
        document.getElementById(GetClientId('txtCompanyNameConfirm')).style.display = '';
        document.getElementById(GetClientId('txtCompanyName')).style.display = 'none';

        document.getElementById(GetClientId('txtCompanyWeb')).value = document.getElementById(GetClientId('txtCompanyWebConfirm')).innerHTML;
        document.getElementById(GetClientId('txtCompanyWebConfirm')).style.display = '';
        document.getElementById(GetClientId('txtCompanyWeb')).style.display = 'none';

        document.getElementById(GetClientId('txtABN')).value = document.getElementById(GetClientId('txtABNConfirm')).innerHTML;
        document.getElementById(GetClientId('txtABNConfirm')).style.display = '';
        document.getElementById(GetClientId('txtABN')).style.display = 'none';

        document.getElementById(GetClientId('selABNName')).value = document.getElementById(GetClientId('selABNNameConfirm')).innerHTML;
        document.getElementById(GetClientId('selABNNameConfirm')).style.display = '';
        document.getElementById(GetClientId('selABNName')).style.display = 'none';

        document.getElementById(GetClientId('txtAddress1')).value = document.getElementById(GetClientId('txtAddress1Confirm')).innerHTML;
        document.getElementById(GetClientId('txtAddress1Confirm')).style.display = '';
        document.getElementById(GetClientId('txtAddress1')).style.display = 'none';

        document.getElementById(GetClientId('txtAddress2')).value = document.getElementById(GetClientId('txtAddress2Confirm')).innerHTML;
        document.getElementById(GetClientId('txtAddress2Confirm')).style.display = '';
        document.getElementById(GetClientId('txtAddress2')).style.display = 'none';

        document.getElementById(GetClientId('txtAddress3')).value = document.getElementById(GetClientId('txtAddress3Confirm')).innerHTML;
        document.getElementById(GetClientId('txtAddress3Confirm')).style.display = '';
        document.getElementById(GetClientId('txtAddress3')).style.display = 'none';

        document.getElementById(GetClientId('selCountry')).value = document.getElementById(GetClientId('selCountryConfirm')).innerHTML;
        document.getElementById(GetClientId('selCountryConfirm')).style.display = '';
        document.getElementById(GetClientId('selCountry')).style.display = 'none';

        document.getElementById(GetClientId('txtPostCode')).value = document.getElementById(GetClientId('txtPostCodeConfirm')).innerHTML;
        document.getElementById(GetClientId('txtPostCodeConfirm')).style.display = '';
        document.getElementById(GetClientId('txtPostCode')).style.display = 'none';

        document.getElementById(GetClientId('txtSuburbTown')).value = document.getElementById(GetClientId('txtSuburbTownConfirm')).innerHTML;
        document.getElementById(GetClientId('txtSuburbTownConfirm')).style.display = '';
        document.getElementById(GetClientId('txtSuburbTown')).style.display = 'none';

        document.getElementById(GetClientId('selSuburb')).value = document.getElementById(GetClientId('selSuburbConfirm')).innerHTML;
        document.getElementById(GetClientId('selSuburbConfirm')).style.display = '';
        document.getElementById(GetClientId('selSuburb')).style.display = 'none';

        document.getElementById(GetClientId('selState')).value = document.getElementById(GetClientId('selStateConfirm')).innerHTML;
        document.getElementById(GetClientId('selStateConfirm')).style.display = '';
        document.getElementById(GetClientId('selState')).style.display = 'none';

        document.getElementById(GetClientId('selPrefMarket')).value = document.getElementById(GetClientId('selPrefMarketHidden')).value;
        document.getElementById(GetClientId('selPrefMarketConfirm')).style.display = '';
        document.getElementById(GetClientId('selPrefMarket')).style.display = 'none';

        document.getElementById(GetClientId('txtCompanyOverview')).value = document.getElementById(GetClientId('txtCompanyOverviewConfirm')).innerHTML;
        document.getElementById(GetClientId('txtCompanyOverviewConfirm')).style.display = '';
        document.getElementById(GetClientId('txtCompanyOverview')).style.display = 'none';

        document.getElementById(GetClientId('selBusinessOpps')).value = document.getElementById(GetClientId('selBusinessOppsHidden')).value;
        document.getElementById(GetClientId('selBusinessOppsConfirm')).style.display = '';
        document.getElementById(GetClientId('selBusinessOpps')).style.display = 'none';

        document.getElementById(GetClientId('txtProductsServices')).value = document.getElementById(GetClientId('txtProductsServicesConfirm')).innerHTML;
        document.getElementById(GetClientId('txtProductsServicesConfirm')).style.display = '';
        document.getElementById(GetClientId('txtProductsServices')).style.display = 'none';

        document.getElementById(GetClientId('txtKeyStrengths')).value = document.getElementById(GetClientId('txtKeyStrengthsConfirm')).innerHTML;
        document.getElementById(GetClientId('txtKeyStrengthsConfirm')).style.display = '';
        document.getElementById(GetClientId('txtKeyStrengths')).style.display = 'none';

        document.getElementById(GetClientId('txtCompAdv')).value = document.getElementById(GetClientId('txtCompAdvConfirm')).innerHTML;
        document.getElementById(GetClientId('txtCompAdvConfirm')).style.display = '';
        document.getElementById(GetClientId('txtCompAdv')).style.display = 'none';

        document.getElementById(GetClientId('txtUniqueSellProp')).value = document.getElementById(GetClientId('txtUniqueSellPropConfirm')).innerHTML;
        document.getElementById(GetClientId('txtUniqueSellPropConfirm')).style.display = '';
        document.getElementById(GetClientId('txtUniqueSellProp')).style.display = 'none';

        document.getElementById(GetClientId('lstSubIndustry')).value = document.getElementById(GetClientId('lstSubIndustryConfirm')).innerHTML;
        document.getElementById(GetClientId('lstSubIndustryConfirm')).style.display = '';
        document.getElementById(GetClientId('lstSubIndustry')).style.display = 'none';

        document.getElementById(GetClientId('pSaveCompanyDetails')).style.display = 'none';

    }

    if (section == 'SpecialRequirements') {
        document.getElementById(GetClientId('txtDietary')).value = document.getElementById(GetClientId('txtDietaryConfirm')).innerHTML;
        document.getElementById(GetClientId('txtDietaryConfirm')).style.display = '';
        document.getElementById(GetClientId('txtDietary')).style.display = 'none';

        document.getElementById(GetClientId('txtPartnerDietary')).value = document.getElementById(GetClientId('txtPartnerDietaryConfirm')).innerHTML;
        document.getElementById(GetClientId('txtPartnerDietaryConfirm')).style.display = '';
        document.getElementById(GetClientId('txtPartnerDietary')).style.display = 'none';

        document.getElementById(GetClientId('txtAdditional')).value = document.getElementById(GetClientId('txtAdditionalConfirm')).innerHTML;
        document.getElementById(GetClientId('txtAdditionalConfirm')).style.display = '';
        document.getElementById(GetClientId('txtAdditional')).style.display = 'none';
        document.getElementById(GetClientId('pSaveSpecialRequirements')).style.display = 'none';

    }

    if (section == 'AdditionalCol') {
        document.getElementById(GetClientId('pSaveAdditionalCol')).style.display = 'none';
        document.getElementById(GetClientId('hrefDeleteItem')).style.display = 'none';
        document.getElementById(GetClientId('divColleaguesInputFields')).style.display = 'none';

    }

    if (section == 'PaymentDetails') {
        document.getElementById(GetClientId('cboCostRegisterMember')).value = document.getElementById(GetClientId('cboCostRegisterMemberHidden')).value;
        document.getElementById(GetClientId('cboCostRegisterMemberConfirm')).style.display = '';
        document.getElementById(GetClientId('cboCostRegisterMember')).style.display = 'none';
        document.getElementById(GetClientId('pSavePaymentDetails')).style.display = 'none';
        EnableDisableCreditCardFields("EventReg", "Disable");
        document.getElementById(GetClientId('pPaymentInstructions')).style.display = 'none';
        if (document.getElementById(GetClientId('txtPromotionCode'))) {
            document.getElementById(GetClientId('txtPromotionCode')).value = document.getElementById(GetClientId('txtPromotionCodeConfirm')).innerHTML;
            document.getElementById(GetClientId('txtPromotionCodeConfirm')).style.display = '';
            document.getElementById(GetClientId('txtPromotionCode')).style.display = 'none';
        }

    }

    if (section == 'AdditionalDetails') {
        document.getElementById(GetClientId('pSaveAdditionalDetails')).style.display = 'none';
        FormCreatorEnableDisableFields("Disable");
    }

    document.getElementById(GetClientId('divSubmitButtonsStage2')).style.display = '';

}

function EnableFields() {
    if (document.getElementById(GetClientId('cboCostRegisterMember'))) {
        EnableDisableCreditCardFields("EventReg", "Enable");
    }
    FormCreatorEnableDisableFields("Enable");
}
function GetUploads() {
    FormCreatorGetUploadedFiles();


}

//clear the form creator fields values
function ClearValue() {
    $('input:text').val('');
    $('input:checkbox').val('');
    $('input:radio').val('');
    $('textarea').val('');
    $('select').val('');
}


//local cached ABNNames
//these ABNNames will be used instead of Ajax called if possible
var arrABNNames = new Array();
function ABNNumberABNName(ABNNumber, formattedString) {
    this.ABNNumber = ABNNumber;
    this.formattedString = formattedString;
}
//default value
var curABNNumber = '';
function getABNNamesByKeyPress(evt, ajaClassName, txtElem, ABNNameElm) {
    //if user didn't hit 'Enter', exit
    if (evt.keyCode != 13)
        return;
    getABNNames(ajaClassName, txtElem, ABNNameElm);
    if (!document.all && document.getElementById) {
        evt.preventDefault();
        evt.stopPropagation();
    }
    evt.cancelBubble = true;
    evt.returnValue = false;

    return false;

}


function getABNNames(ajaClassName, txtElem, ABNNameElm) {
    //if (document.getElementById(GetClientId("pABNNameDropDown")).style.display != '')
    //return;

    document.getElementById(GetClientId("pABNNameDropDown")).style.display = '';

    var ABNNumber = txtElem.value;
    //do not refresh drop down if the ABNNumber value didn't change
    if (ABNNumber == curABNNumber)
        return;

    //set the current ABNNumber value
    curABNNumber = ABNNumber;
    //Clear the dropdown with a "loading" option
    ABNNameElm.options.length = 1;
    ABNNameElm.options[0].text = 'loading ... ';
    ABNNameElm.options[0].value = '0';

    //load from cache if possible
    var found = false;
    var formattedString = '';
    for (var i = 0; i < arrABNNames.length; i++) {
        //linear search on local cache using ABNNumber
        if (arrABNNames[i].ABNNumber == ABNNumber) {
            //found local version
            formattedString = arrABNNames[i].formattedString;
            found = true;
            break;
        }
    }

    if (found)
        bindABNNames(ABNNameElm, formattedString);
    else {
        var ajaxClass = null;

        if (typeof (ASP) != 'undefined')
            ajaxClass = eval('ASP.' + ajaClassName);
        else if (typeof (_ASP) != 'undefined')
            ajaxClass = eval('_ASP.' + ajaClassName);
        ajaxClass.LookupABNNameByABNNumber(ABNNumber, function (result) {
            //Add Ajax result into local cache
            arrABNNames.length++;
            arrABNNames[arrABNNames.length - 1] = new ABNNumberABNName(ABNNumber, result.value);
            bindABNNames(ABNNameElm, result.value);
        });

    }

}


function bindABNNames(ABNNameElm, formattedString) {
    //now reset the ABNName drop down
    document.getElementById(GetClientId('lblABNNotExistMsg')).innerText = "";
    if (formattedString == "") {
        document.getElementById(GetClientId('lblABNNotExistMsg')).innerText = "**The ABN you have entered is not valid";
    }

    ABNNameElm.options.length = 0;
    var formattedABNNameString = formattedString;
    //retrieve ABNName
    var re = new RegExp();
    re = /<.*>/;
    //    if (re.test(formattedString)) 
    //  {
    //remove ABNName details
    formattedABNNameString = formattedString.replace(re, '');
    //use : as a seperator
    if (formattedABNNameString.length > 0) {
        var arrOptions = formattedABNNameString.split(':');
        for (var i = 0; i < arrOptions.length; i++) {
            var optABN = new Option();
            //use | as a seperator
            var arrABN = arrOptions[i].split('|');
            //ALWAYS have 2 elements
            optABN.text = arrABN[0];
            optABN.value = arrABN[1];
            ABNNameElm.options[ABNNameElm.options.length] = optABN;
        }
    }
    var optABN = new Option();
    //ALWAYS have 2 elements
    optABN.text = '(Please select)';
    optABN.value = '0';

    ABNNameElm.options[ABNNameElm.options.length] = optABN;

    //Default to last item, i.e. '(none)'
    if (ABNNameElm.options.length > 0)
        ABNNameElm.options.selectedIndex = ABNNameElm.options.length - 1;
    //   }
}
