﻿formId = '';

elementIds = {};

function txtPhoneNumber_onKeyDown(event) {
    return phoneNumber_keyDown(event);
}

function txtPhone_onKeyUp(event) {
    phoneNumber_keyup(event, elementIds[formId].ddlCountry);
}

function changeFocus(newFormId)
{
    try
    {
        $(elementIds[formId].mainContainer).style.zIndex = 2;
    }
    catch(ex) {}
    
    formId = newFormId;
    $(elementIds[formId].mainContainer).style.zIndex = 3;
}

function countryControl_OnChange()
{
    try
    {
        inlinecountryControl_Change("grpProvince"+formId, "grpUKCounty"+formId,"grpAusState" + formId,"grpState"+formId, "grpPostalCode"+formId, elementIds[formId].ddlCountry, elementIds[formId].tbxPhone, elementIds[formId].tbxAreaCode, "areaCode"+formId,elementIds[formId].cvPhoneNumber);
    }catch(ex){}
}

function Client_Validate_PhoneNumber(source, clientside_arguments)
{
    clientside_arguments.IsValid = validatePhoneNumber(elementIds[formId].tbxPhone, elementIds[formId].ddlCountry, elementIds[formId].cvPhoneNumber);
}

function Client_Validate_PostalCode(source, clientside_arguments)
{
    clientside_arguments.IsValid = validatePostalCode(elementIds[formId].tbxPostalCode, elementIds[formId].ddlCountry, elementIds[formId].rfvZipCode);
}

function show_inline_registration(programId)
{
     $("modalRegformContent"+ formId).removeClassName('hidden');
     inlinecountryControl_Change("grpProvince"+formId, "grpUKCounty"+formId,"grpAusState" + formId, "grpState"+formId, "grpPostalCode"+formId, elementIds[formId].ddlCountry, elementIds[formId].tbxPhone, elementIds[formId].tbxAreaCode, "areaCode"+formId,elementIds[formId].cvPhoneNumber);
     inlinevalidators_change(false,elementIds[formId].cvState,elementIds[formId].cvAusState, elementIds[formId].rfvZipCode,elementIds[formId].cvProvince,elementIds[formId].cvCounty,elementIds[formId].rfvFirstName
        ,elementIds[formId].rfvLastName,elementIds[formId].rfvCompany,elementIds[formId].cvPhoneNumber,elementIds[formId].cvCountry,elementIds[formId].revEmail,rfvEmail,elementIds[formId].ddlCountry);
     trackInlineRegistration(programId);
}

function show_inline_registration_downloads(programId, currentFormId, senderImage)
{
     try
     {
        hide_inline_registration(programId, formId);
     }
     catch(ex) {}
     
     formId = currentFormId;
     elementIds[formId].senderImage = senderImage;
     $("modalRegformContent" + formId).removeClassName('hidden');
     inlinecountryControl_Change("grpProvince" + formId, "grpUKCounty" + formId,"grpAusState" + formId, "grpState" + formId, "grpPostalCode" + formId, elementIds[formId].ddlCountry, elementIds[formId].tbxPhone, elementIds[formId].tbxAreaCode, "areaCode"+formId,elementIds[formId].cvPhoneNumber);
     inlinevalidators_change(false,elementIds[formId].cvState,elementIds[formId].cvAusState, elementIds[formId].rfvZipCode,elementIds[formId].cvProvince,elementIds[formId].cvCounty,elementIds[formId].rfvFirstName
        ,elementIds[formId].rfvLastName,elementIds[formId].rfvCompany,elementIds[formId].cvPhoneNumber,elementIds[formId].cvCountry,elementIds[formId].revEmail,elementIds[formId].rfvEmail,elementIds[formId].ddlCountry);
     trackInlineRegistration(programId);
}

function hide_inline_registration(controlId, currentFormId)
{
    $("modalRegformContent" + currentFormId).addClassName('hidden');
    inlinevalidators_change(false,elementIds[currentFormId].cvState, elementIds[formId].cvAusState, elementIds[currentFormId].rfvZipCode,elementIds[currentFormId].cvProvince,elementIds[currentFormId].cvCounty,elementIds[currentFormId].rfvFirstName
        ,elementIds[currentFormId].rfvLastName,elementIds[currentFormId].rfvCompany,elementIds[currentFormId].cvPhoneNumber,elementIds[currentFormId].cvCountry,elementIds[currentFormId].revEmail,elementIds[currentFormId].rfvEmail,elementIds[currentFormId].ddlCountry);
}

var inlinevalidators_change = function (enable,stateValControl_,ausstateValControl_,postalCodeValControl_,provinceValControl_,countyValControl_,reqFNameVal_
    ,reqLNameVal_,reqCompanyVal_,cusVPhoneNumberVal_,comCountryVal_,regEmailVal_,rfvEmail_,countryControl_)
{
    try
    {
        ValidatorEnable($(stateValControl_), false);
        ValidatorEnable($(postalCodeValControl_), false);
        ValidatorEnable($(provinceValControl_), false);
        ValidatorEnable($(countyValControl_), false);
        ValidatorEnable($(ausstateValControl_), false);
                
        ValidatorEnable($(reqFNameVal_), enable);
        ValidatorEnable($(reqLNameVal_), enable);
        ValidatorEnable($(reqCompanyVal_), enable);
        ValidatorEnable($(cusVPhoneNumberVal_), enable);
        ValidatorEnable($(comCountryVal_), enable);
        ValidatorEnable($(regEmailVal_), enable);
        ValidatorEnable($(rfvEmail_), enable);
        
        var country = $(countryControl_).value;  
        
        switch(country)
        {
            case "United States":
                ValidatorEnable($(stateValControl_), enable);
                ValidatorEnable($(postalCodeValControl_), enable);
                return;
            case "Canada":
                ValidatorEnable($(provinceValControl_), enable);
                return;
            case "United Kingdom":
                ValidatorEnable($(countyValControl_), enable);
                return;
            case "Australia":
                ValidatorEnable($(ausstateValControl_), enable);
        }
    }catch(ex){}
};

var inlinecountryControl_Change = function (grpProvince, grpUKCounty,grpAusState, grpState, grpPostalCode, countryControl_, phoneControl, tbxAreaCode, areaCodeContainer,cvPhoneNumber)
{
    try
    {
        var currentCountry = $(countryControl_).value;
        $(grpProvince).addClassName('hidden');
        $(grpUKCounty).addClassName('hidden');
        $(grpState).addClassName('hidden');
        $(grpAusState).addClassName('hidden');
        $(grpPostalCode).addClassName('hidden');
        $(areaCodeContainer).addClassName('hidden');
        $(phoneControl).removeClassName('textBox');
        $(phoneControl).removeClassName('apacPhoneNumberTextBox');
        
        switch(currentCountry)
        {
            case "Afghanistan":
            case "American Samoa":
            case "Antarctica":
            case "Bangladesh":
            case "Bhutan":
            case "Brunei Darussalam":
            case "Cambodia":
            case "China":
            case "Christmas Island":
            case "Cocos (Keeling) Islands":
            case "Cook Islands":
            case "Fiji":
            case "French Polynesia":
            case "Guam":
            case "Heard Island and McDonald Is.":
            case "Hong Kong":
            case "India":
            case "Indonesia":
            case "Japan":
            case "Kazakhstan":
            case "Kiribati":
            case "Korea Democratic People’s Republic":
            case "Korea Republic of":
            case "Kyrgyzstan":
            case "Lao People’s Democratic Republic":
            case "Macau":
            case "Malaysia":
            case "Maldives":
            case "Marshall Islands":
            case "Micronesia Federal State of":
            case "Mongolia":
            case "Myanmar":
            case "Nauru":
            case "Nepal":
            case "New Caledonia":
            case "New Zealand":
            case "Niue":
            case "Norfolk Island":
            case "Northern Mariana Islands":
            case "Pakistan":
            case "Palau":
            case "Papua New Guinea":
            case "Philippines":
            case "Pitcairn Island":
                //case "Samoa":
            case "Singapore":
            case "Solomon Islands":
            case "South Georgia":
            case "Sri Lanka":
                //case "Tahiti":
            case "Taiwan":
            case "Tajikistan":
            case "Thailand":
                //case "Timor-Leste":
            case "Tokelau":
            case "Tonga":
            case "Turkmenistan":
            case "Tuvalu":
            case "Uzbekistan":
            case "Vanuatu":
            case "Vietnam":
            case "Wallis and Futuna Islands":
                $(areaCodeContainer).removeClassName('hidden');
                $(phoneControl).addClassName('apacPhoneNumberTextBox');
                return;
            case "Canada":
                $(grpProvince).removeClassName('hidden');
                $(phoneControl).addClassName('textBox');                
                return;
            case "United Kingdom":
                $(grpUKCounty).removeClassName('hidden');
                $(phoneControl).addClassName('textBox');
                return;
            case "United States":
                $(grpState).removeClassName('hidden');
                $(grpPostalCode).removeClassName('hidden');
                $(phoneControl).addClassName('textBox');
                return;
            case "Australia":
                $(areaCodeContainer).removeClassName('hidden');
                $(phoneControl).addClassName('apacPhoneNumberTextBox');
                $(grpAusState).removeClassName('hidden');
                return;
            default:
                $(phoneControl).addClassName('textBox');
                return;
        }
    }
    catch(ex){}
};


function trackProceedButton(pID)
{  
     inlinevalidators_change(true,elementIds[formId].cvState, elementIds[formId].cvAusState,elementIds[formId].rfvZipCode,elementIds[formId].cvProvince,elementIds[formId].cvCounty,elementIds[formId].rfvFirstName
        ,elementIds[formId].rfvLastName,elementIds[formId].rfvCompany,elementIds[formId].cvPhoneNumber,elementIds[formId].cvCountry,elementIds[formId].revEmail,elementIds[formId].rfvEmail,elementIds[formId].ddlCountry);
    if (Page_ClientValidate("inlineRegForm"+formId))
    {
        trackInlineRegistrationEvent17(pID);
        return true;
    }
    return false;
}

function trackInlineRegistration(pID)
{    
    try 
    {
        var sProductId = pID;
	    s = s_gi(s_account);
	    s.linkTrackVars = "prop16,prop13,prop10,prop9,eVar8,eVar5,eVar13,events"; 
	    s.linkTrackEvents = "event8";
	    s.events = "event8";
	    s.prop16 = "ORNPM_Prod_Reg_New";
	    s.prop13 = sProductId;
	    s.eVar5 = s.prop16;
	    s.eVar8 = sProductId;
	    s.prop10 = s.pageName + " | " + elementIds[formId].senderImage;
	    s.prop9 = elementIds[formId].senderImage;
	    s.eVar13 = "undefined:undefined";
	    s.trackingServer = "metrics.solarwinds.com";
	    s.tl(this, "o", "Submit");
    }
    catch (eException) 
    {
        return false;
    }
    return true;
}

function trackInlineRegistrationEvent17(pID)
{    
    try 
    {
        var sProductId = pID;
	    s = s_gi(s_account);
	    s.linkTrackVars = "eVar12,events"; 
	    s.linkTrackEvents = "event17";
	    s.events = "event17";
	    s.eVar12 = sProductId;
	    s.trackingServer = "metrics.solarwinds.com";
	    s.tl(this, "o", "Submit");
    }
    catch (eException) 
    {
        return false;
    }
    return true;
}