var currentCountry = 'USA';
/**
* Function search state after page loading
* Use for state search additional attribute
*/
function loadStates(country)
{
    country = country || 'USA';
    currentCountry = country;
    var wRequest =  new Sys.Net.WebRequest();
    var body = "country=" + country;
    
    if(typeof(extend) != 'undefined')
    {
       //wRequest.set_body("extend=true");
       body += "&extend=true";
    }
    
    var service = document.getElementById('Service');
    if(service)
    {
        var value = service.options[service.selectedIndex].value;
        
        if(value == '2')
            body += '&service=1';
    }
    
    wRequest.set_body(body);
    
    wRequest.set_url("/views/search/index_search_form.php");
    wRequest.set_httpVerb("POST");
    wRequest.add_completed(specialtiesRequestCompleted);
    
    wRequest.invoke();
    
    var divButton = document.getElementById('linkSearch');
    if(divButton && typeof(extend) == 'undefined')
    {
        divButton.innerHTML = '<img id="loader" style="display: none; vertical-align: middle" src="/images/loader.gif" width="16" height="16" alt="loading" title="loading" />&nbsp;&nbsp;' +
                          '<img src="/images/go_bt.gif" alt="Start Search" border="0" align="top" />' + 
                          "<br />";
                          
        DisplayMainSearchLoader();
    }
    if(typeof(loadStatesFlag) == 'undefined')
        loadFavorite();
    
}
   
var searchFormLinks = {'country': '', 'state':''};
           
           
function DisplayMainSearchLoader()
{
    DisplayLoader();
    setTimeout(function()
    {
        if(document.getElementById('loader'))
            document.getElementById('loader').src = '/images/loader.gif';
    }, 0);
}

function HideLoader()
{
    var ld = document.getElementById('loader');
    if(ld)
        ld.style.display = 'none';
}

/**
* Function start search by selecte sdtate
*/
function SearchStart()
{
    DisplayMainSearchLoader();
        
    state = document.getElementById('State').options[document.getElementById('State').selectedIndex].value.toLowerCase();
    service = document.getElementById('Service').options[document.getElementById('Service').selectedIndex].value.toLowerCase();
    
    if(state == '')
    {
        if(service == '2')
            document.searchForm.action = searchFormLinks['countryTraining'];
        else
            document.searchForm.action = searchFormLinks['country'];
    }
    else
    {
        if(service == '2')
        {
            var longState = state;
            // Use long state for USA training
            if(currentCountry == 'USA')
                longState = document.getElementById('State').options[document.getElementById('State').selectedIndex].innerHTML.toLowerCase().replace(/ /g,"_");
            
            document.searchForm.action = searchFormLinks['stateTraining'].replace('replacestate', longState);
        }
        else
            document.searchForm.action = searchFormLinks['state'].replace('replacestate', state);
    }
        		
	document.searchForm.submit();
}

/**
* Function parse states string to 'option' list
*/
function specialtiesRequestCompleted(executor, eventArgs)
{
        if(executor.get_responseAvailable()) 
        {
            response = executor.get_responseData();
            if(response == '')
                return;
            
            //var objResponse = eval('('+response+')');    
            //response = objResponse[0];
            //searchFormLinks = objResponse[2];
            var xmlDoc = parseXML(response);
            var doc = xmlDoc.getElementsByTagName('document')[0];
            
            if(doc)
            {
                response = doc.getElementsByTagName('states')[0].childNodes[0].nodeValue;
                
                searchFormLinks = new Array();
                var searchFormLinksXML = doc.getElementsByTagName('searchFormLinks')[0];
                for(var i = 0; i < searchFormLinksXML.childNodes.length; i++)
                {
                    var ct = searchFormLinksXML.childNodes[i];
                    if(ct.childNodes.length > 0)
                        searchFormLinks[ct.nodeName] = ct.childNodes[0].nodeValue.replace(/%26/g,"&");
                }
                
                var emdrConsultationLinkId = document.getElementById('emdrConsultationLinkId');
                if(emdrConsultationLinkId)
                    emdrConsultationLinkId.href = searchFormLinks['countryTraining'];
                ChangeFindAnEMDRLink(searchFormLinks['country']);
            }
            
            if(typeof(newStateList) != 'undefined')
            {
                dropDownChangeState = function()
                {
                    ChangeSearchRadioButton(1,-1);
                };
            
                 dropDownState.add_change(dropDownChangeState);
                 
                 var asOptions = new Array();
                 asOptions.push("Choose...");
                 
                 // Parse states string
                 var opt = response.split(";");
                 
                 var selectedIn = 0;
                 for(i = 0; i < opt.length; i++)
                 {
                    state = opt[i].split("-");
                    
                    if(typeof(extend) != 'undefined')
                        asOptions.push("<span short='"+state[0]+"' value='"+state[1]+"'>" + state[1] + "</span>");   // in Training search use long state names
                    else
                        asOptions.push("<span value='"+state[0]+"'>" + state[1] + "</span>");
                    
                    if(typeof(st) != 'undefined')
                    {
                        // select previouse state
                        if(state[0] == st.toUpperCase())
                            selectedIn = i + 1;
                    }
                 }
                  
                 dropDownState.set_Options(asOptions);
             
                 dropDownState.set_SelectedIndex(selectedIn);
                 dropDownState.set_Disabled(false);
            }
            else
            {
                var obj;
                
                if(document.getElementById('Country') != undefined)
                {
                    var countrySel = document.getElementById('Country');
                    //var CountryList = objResponse[1];
                    var CountryList = new Array();
                    
                    var countriesXML = doc.getElementsByTagName('countries')[0];
                    for(var i = 0; i < countriesXML.childNodes.length; i++)
                    {
                        var ct = countriesXML.childNodes[i];
                        
                        if(ct.childNodes.length > 0)
                            CountryList[ct.nodeName] = ct.childNodes[0].nodeValue;
                    }
                
                    countrySel.innerHTML = "";
                    
                    for(key in CountryList)
                    {
                        var country = CountryList[key];
                        obj = document.createElement("option");
                        obj.value = key;
                        
                        obj.appendChild(document.createTextNode(country));
                        
                        // Add state 'select' element 
                        countrySel.appendChild(obj);
                        
                        if(key == currentCountry)
                            obj.selected = true;
                    }
                    
                    countrySel.disabled = false;
                    countrySel.onchange = ChangeCountry;
                }
                
                var sel = document.getElementById('State');
                sel.disabled = false;
                sel.innerHTML = "";
            
                var serv = document.getElementById('Service');
                serv.disabled = false;
                serv.onchange = ChangeService;
            
                // Parse states string
                var opt = response.split(";");
                
                // Create option tag for select drop-down list box
                obj = document.createElement("option");
                obj.appendChild(document.createTextNode('Choose...'));
                obj.value = "";
                sel.appendChild(obj);
                for(option in opt)
                {
                    var state = opt[option].split("-");
                    obj = document.createElement("option");
                    obj.value = state[0];
                    
                    if(typeof(st) != 'undefined')
                    {
                        // select previouse state
                        if(obj.value == st.toUpperCase())
                            obj.selected = true;
                    }
                    
                    obj.appendChild(document.createTextNode(state[1]));
                    
                    // Add state 'select' element 
                    sel.appendChild(obj);
                }
            }
            
            // Enable search button
            var divButton = document.getElementById('linkSearch');
            divButton.innerHTML = '<img id="loader" style="display: none; vertical-align: middle" src="/images/loader.gif" width="16" height="16" alt="loading" title="loading" />&nbsp;&nbsp;' +
                                  "<a href=\"javascript: SearchStart();\" title=\"Start search\">" +
                                  "<img src=\"/images/go_bt.gif\" alt=\"Start Search\" border=\"0\" style=\"vertical-align: middle\" />" + 
                                  "<br /></a>";
        }
        
        HideLoader();
}

function ChangeService()
{
    var service = document.getElementById('Service');
    var value = service.options[service.selectedIndex].value;
    var countrySel = document.getElementById('Country');
    var country = countrySel.options[countrySel.selectedIndex].value;
    var state = document.getElementById('State');
    service.disabled = true;
    countrySel.disabled = true;
    state.disabled = true;
    
    currentCountry = country;
    var wRequest =  new Sys.Net.WebRequest();
    var body = "country=" + country;
    
    if(value == '2')
        body += '&service=1';
    
    wRequest.set_body(body);
    
    wRequest.set_url("/views/search/index_search_form.php");
    wRequest.set_httpVerb("POST");
    wRequest.add_completed(specialtiesRequestCompleted);
    DisplayMainSearchLoader();
    wRequest.invoke();
}

function ChangeCountry()
{
    var countrySel = document.getElementById('Country');
    var value = countrySel.options[countrySel.selectedIndex].value;
    
    if(value != '')
    {
        var sel = document.getElementById('State');
                
        obj = document.createElement("option");
        obj.appendChild(document.createTextNode('Loading...'));
        obj.value = "";
        
        sel.appendChild(obj);
        sel.disabled = true;
        sel.selectedIndex = sel.options.length - 1;
        
        DisplayMainSearchLoader();
        loadStates(value);
    }
}

function ChangeFindAnEMDRLink(url)
{
    // Change Find an EMDR Therapist link
    var navigation = document.getElementById('navigation');
    if(navigation)
    {
        var liAList = navigation.getElementsByTagName('a');
        var searchString = 'find an <br />emdr therapist';
        var searchString2= 'find an <br>emdr therapist';
        if(liAList && liAList.length > 0)
        for(var i = 0; i < liAList.length; i++)
            if(liAList[i].innerHTML.toLowerCase() == searchString || liAList[i].innerHTML.toLowerCase() == searchString2)
            {
                // Change link
                liAList[i].href = url;
                break;
            }
    }
}
