
function loadLocation(obj, ddlCountyId, ddlStateId, ddlCountryId, hiddenStateId)
{
    var hiddenState = document.getElementById(hiddenStateId);

    var ddlCounty = document.getElementById(ddlCountyId);
    var ddlState = document.getElementById(ddlStateId);
    var ddlCountry = document.getElementById(ddlCountryId);
        
    var arg = '';
    arg = (ddlCounty && ddlCounty.selectedIndex > -1 && ddlCounty.options[ddlCounty.selectedIndex].value.toString() != 'undefined') ? ddlCounty.options[ddlCounty.selectedIndex].value.toString() + '_' : 0 + '_';
    arg += (ddlState && ddlState.selectedIndex > -1 && ddlState.length > 0) ? ddlState.options[ddlState.selectedIndex].value.toString() + '_' : 0 + '_';
    arg += (ddlCountry && ddlCountry.selectedIndex > -1) ? ddlCountry.options[ddlCountry.selectedIndex].value.toString() : 0;
    
    hiddenState.value = arg;
    
    arg += '^';
    arg += ddlCountyId + '|';
    arg += ddlStateId + '|';
    arg += ddlCountryId + '|';
    arg += hiddenStateId;
    
    if( ddlCounty )
        ddlCounty.disabled='disabled';
    
    ddlState.disabled='disabled';        
    ddlState.options[ddlState.selectedIndex].innerHTML = "Loading...";
    
    if( ddlCounty )
        ddlCounty.options[ddlCounty.selectedIndex].innerHTML = "Loading...";
    
    loadCSCLocation_Server(arg, obj);  
}

function setCSCValue(obj, ddlCountyId, ddlStateId, ddlCountryId, hiddenStateId)
{
    var hiddenState = document.getElementById(hiddenStateId);

    var ddlCounty = document.getElementById(ddlCountyId);
    var ddlState = document.getElementById(ddlStateId);
    var ddlCountry = document.getElementById(ddlCountryId);
        
    var arg = '';
    arg = (ddlCounty && ddlCounty.selectedIndex > -1 && ddlCounty.options[ddlCounty.selectedIndex].value.toString() != 'undefined') ? ddlCounty.options[ddlCounty.selectedIndex].value.toString() + '_' : 0 + '_';
    arg += (ddlState && ddlState.selectedIndex > -1) ? ddlState.options[ddlState.selectedIndex].value.toString() + '_' : 0 + '_';
    arg += (ddlCountry && ddlCountry.selectedIndex > -1) ? ddlCountry.options[ddlCountry.selectedIndex].value.toString() : 0;
    
    hiddenState.value = arg + '_postback';        
            
    return true;
} 

function loadCSCLocation_ClientCallback(result, context)
{
    var topics = result.split('^');
    var controls = topics[0].split('|');
    var ddlCounty = document.getElementById(controls[0]);
    var ddlState = document.getElementById(controls[1]);
        
    /// loop through counties and add them
    if( ddlCounty )
    {
        var ddlCountyIndex = ddlCounty.selectedIndex;
        ddlCounty.length = 0;
        var opt1 = document.createElement("OPTION");
        opt1.innerHTML = '--Select County--';
        opt1.value = '0';
        ddlCounty.appendChild(opt1);    
    
        var counties = topics[1].split('|');
        for (var i = 0; i < counties.length; i++)
        {
            var values = counties[i].split('_');
            var option = document.createElement("OPTION");
            option.innerHTML = values[0];
            option.value = values[1];
            ddlCounty.appendChild(option);
        }
        ddlCounty.disabled='';   
    
        if( context.id.indexOf('County') > -1 )
        {
            ddlCounty.focus();
            if( ddlCountyIndex <= counties.length)
                ddlCounty.selectedIndex = ddlCountyIndex;
            else
                ddlCounty.selectedIndex = (counties.length);
        }   
    } 
    
    /// loop through states and add them
    var ddlStateIndex = ddlState.length > 0 ? ddlState.selectedIndex : 0;
    ddlState.length = 0;
    var opt2 = document.createElement("OPTION");
    opt2.innerHTML = '--Select State--';
    opt2.value = '0';
    ddlState.appendChild(opt2);
    
    var states = topics[2].split('|');
    for (var i = 0; i < states.length; i++)
    {
        var values = states[i].split('_');
        var option = document.createElement("OPTION");
        option.innerHTML = values[0];
        option.value = values[1];
        ddlState.appendChild(option);
    }
    
    ddlState.disabled='';
    ddlState.focus();
    
    var sections = context.id.split('_');
    var ctrlSource = sections[sections.length-1];
    
    if( ctrlSource.indexOf('Country') < 0 )
    {
        if( ddlStateIndex <= states.length)
            ddlState.selectedIndex = ddlStateIndex;
        else
            ddlState.selectedIndex = (states.length);           
    }
    else
        ddlState.selectedIndex = 0;  
        
    if( (context.id.indexOf('County') > -1) && (ddlCounty != null) )
        ddlCounty.focus();
    
}

function loadCSCLocation_ErrorClientCallback(result, context)
{
    alert(result);
    alert(context);
}

function setStatus(ctrlID)
{
    var hiddenState = document.getElementById(ctrlID);
    hiddenState.value = 'false';
}

// Initial javascript with AJAX Server call...
function KCTPortal_Validation(obj, ctrlArgs)
{    
    var arg = '';
    if( obj && obj.value != '' )
    {        
        /// should do a check here for control type
        arg = ctrlArgs + ':' + obj.value;            
        KCTPortal_Server(arg, obj);        
    }
}

// Result of AJAX Call
function KCTPortal_ClientCallback(result, context)
{
    var allargs = result.split(':');
    var args = allargs[0].split('|');
    var ctrls = allargs[1].split('|');
    
    var action = args[0];
    var alertType = args[1];
    var vEvent = args[2];
    var errMessage = args[3];
    var isValid = args[4] == '1';
    
    var validator = document.getElementById(ctrls[0]);
    var ctrl = document.getElementById(ctrls[1]);
    
    //alert(ctrls[1]);
    //alert(ctrl);
    
    if( !isValid )
    {
        if( alertType == '1' ) // IEPrompt
        {
            alert(errMessage);
            if( action == '1' && ctrl ) // Empty
            {
                ctrl.value = '';
                ctrl.focus();   
            }    
        }
        else if( alertType == '2' ) // validator prompt
        {
        
        }
        else if( alertType == '3' ) // screen block prompt
        {
        
        }
    }    
}

// Error in AJAX Call
function KCTPortal_ErrorClientCallback(result, context)
{
    alert(result);
    alert(context);
}