loadStatesFlag = true;
newStateList = true;

function trim(string)
{
    return string.replace(/^\s*/, "").replace(/\s*$/, "");
}

function remove_nbsps(string)
{
    if(typeof(string) == 'undefined' || string == null) return;
    
    return string.replace(/(&nbsp;)+/g,'');
}

function stripslashes( str )
{
    // Un-quote string quoted with addslashes()
    // 
    return str.replace(/\\0/g,"0").replace(/\\(.)/g,"$1");
}

function SubmitDisplayLoader()
{
    DisplayLoader();
    setTimeout(function()
    {
        var loaderImg = document.getElementById('loaderImage');
        if(loaderImg)
            loaderImg.src = '/images/loader.gif';
        else
            document.getElementById('loader').src = '/images/loader.gif';
    }, 0);
}

function SearchStart()
{
    SubmitDisplayLoader();
    var searchTypeOld = document.getElementsByName('searchType');
    var searchType = new Array(3);
    for(i = 0; i < searchTypeOld.length; i++)
    {
        searchType[searchTypeOld[i].value] = searchTypeOld[i];
    }
    
    if (searchType[0].checked == true)
    {
        flname = document.getElementById('flName').value;
        flname = flname.toLowerCase();
        flname = trim(flname);
        flname = flname.replace(/ /g,"_");
        
        if (flname == '')
            searchType[1].checked = true;
        else
            document.searchForm.action = GetFlNameLink(flname);    
    }
    else
    if (searchType[3].checked == true)
    {
        var zip = "";
        
        if(document.getElementById('zipCodeID') != undefined)
            var zip = document.getElementById('zipCodeID').value;
        
        zip = trim(zip);
        
        if (zip == '')
            searchType[1].checked = true;
        else
            document.searchForm.action = GetZipCodeLink(zip);
        
        if($("select[name='zipCodeDistance']").val() != '')
            $(document.searchForm).append($('<input type="hidden" name="zipCodeDistance" />').val($("select[name='zipCodeDistance']").val()));
    }
    
    if (searchType[1].checked == true)
    {
        //state = document.getElementById('State').options[document.getElementById('State').selectedIndex].value.toLowerCase();
        if(typeof(dropDownState) != 'undefined')
        {
            var tmpDiv0 = document.createElement('div');
            tmpDiv0.innerHTML = dropDownState._Options[dropDownState.get_SelectedIndex()];
            
            if(tmpDiv0.innerHTML == 'Choose...')
                return;
                
            var state = tmpDiv0.childNodes[0].getAttribute('value').toLowerCase();
        }
        else if(typeof(st) != 'undefined')
            var state = st;
        else
            var state = '';
        
    
        if(state == '') return;
        
        document.searchForm.action = GetStateLink(state);
        
        if(typeof(dropDownCity) != 'undefined' && dropDownCity.get_SelectedIndex() != 0)
        {
            var tmpDiv = document.createElement('div');
            tmpDiv.innerHTML = dropDownCity._Options[dropDownCity.get_SelectedIndex()];
                
            if(typeof(tmpDiv.childNodes[0].getAttribute('link')) != undefined && tmpDiv.childNodes[0].getAttribute('link') != "")
            {
                //document.searchForm.action = GetCityLink(tmpDiv.childNodes[0], state);
                document.searchForm.action = tmpDiv.childNodes[0].getAttribute('link');
            }
        }
    }
    else
    if (searchType[2].checked == true)
    {
        var list = [];
        var listUnsortoed = document.getElementsByName('advancedSearch');
        for(var i = 0; i < listUnsortoed.length; i++)
            list[listUnsortoed[i].value] = listUnsortoed[i];
        
        var prPopulationLink = "";
        var insCompanyLink = "";
        var experienceLink = "";
        var specialitiesLink = "";
        var trainingLink = "";
        var serviceLink = "";
        var licenseLink = "";
        var langLink = "";
        
        var result = ParseAdvancedSearchParameters(list);
        
        if(result === false)
            return;
        else
        {
            prPopulationLink = result['prPopulationLink'];
            insCompanyLink = result['insCompanyLink'];
            experienceLink = result['experienceLink'];
            specialitiesLink = result['specialitiesLink'];
            trainingLink = result['trainingLink'];
            serviceLink = result['serviceLink'];
            licenseLink = result['licenseLink'];
            langLink = result['langLink'];
        }
            
        document.searchForm.action = GetMultiplyLink();

        if(prPopulationLink != "")
            document.searchForm.action += prPopulationLink;
            
        if(insCompanyLink != "")
            document.searchForm.action += insCompanyLink;
        
        if(experienceLink != "")
            document.searchForm.action += experienceLink;
        
        if(specialitiesLink != "")
            document.searchForm.action += specialitiesLink;
        
        if(trainingLink != "")
            document.searchForm.action += trainingLink;
        
        if(serviceLink != "")
            document.searchForm.action += serviceLink;
        
        if(licenseLink != "")
            document.searchForm.action += licenseLink;
            
        if(langLink != "")
            document.searchForm.action += langLink;
            
            
        if(typeof(dropDownState) != 'undefined')
        {
            var tmpDiv0 = document.createElement('div');
            tmpDiv0.innerHTML = dropDownState._Options[dropDownState.get_SelectedIndex()];
            
            if(tmpDiv0.innerHTML == 'Choose...') {
                alert('Please select state');
                return;
            }
                
            var state = tmpDiv0.childNodes[0].getAttribute('value').toLowerCase();
        }
        else if(typeof(st) != 'undefined')
            var state = st;
        else
            var state = '';
        
        if(typeof(state) != undefined)
        {
            if(state != '')
            {
                // Find new city
                var cityValue = "";
                
                if(typeof(dropDownCity) != 'undefined' && dropDownCity.get_SelectedIndex() != 0)
                {
                    var tmpDiv = document.createElement('div');
                    tmpDiv.innerHTML = dropDownCity._Options[dropDownCity.get_SelectedIndex()];
                    
                    cityValue = tmpDiv.childNodes[0].getAttribute('canonized');
                }
                    
                if (typeof(cityValue) != undefined && cityValue != "")
                {
                    // from city page
                    document.searchForm.action += '&state=' + state + '&city=' + cityValue;
                }
                else
                {
                    // from state page
                    document.searchForm.action += '&state=' + state;
                }
            }
            else
            {
                // FLName and adv. search
                flname = document.getElementsByName('flNameOriginal')[0].value;
                document.searchForm.action += '&flName=' + flname;
            }
        }
    }
    
    document.searchForm.submit();
}

function StartFilter(type,order)
{
    document.searchFilter.searchFilterType.value = type;
    document.searchFilter.searchFilterOrder.value = order;
    document.searchFilter.submit();
}

function ClearSelect(name)
{
    var list = [];
    var listUnsortoed = document.getElementsByName('advancedSearch');
    for(var i = 0; i < listUnsortoed.length; i++)
        list[listUnsortoed[i].value] = listUnsortoed[i];
    
    if(typeof(dropDownPopulations) != 'undefined' && dropDownPopulations.get_Disabled() != true)
    {
        if(dropDownPopulations._element.id != name)
        {
            dropDownPopulations.set_SelectedIndex(0);
            dropDownPopulations.set_BackgroundColor("#ffffff");
        }
        else
        {
            list[2].checked = true;
            if(dropDownPopulations._Options[dropDownPopulations.get_SelectedIndex()] != "Any Clientele")
                dropDownPopulations.set_BackgroundColor("#ffd0ae");
            else
                dropDownPopulations.set_BackgroundColor("#ffffff");
        }
    }
    
    if(typeof(dropDownInsurance) != 'undefined' && dropDownInsurance.get_Disabled() != true)
    {
        if(dropDownInsurance._element.id != name)
        {
            dropDownInsurance.set_SelectedIndex(0);
            dropDownInsurance.set_BackgroundColor("#ffffff");
        }
        else
        {
            list[4].checked = true;
            if(dropDownInsurance._Options[dropDownInsurance.get_SelectedIndex()] != "Any Insurance")
                dropDownInsurance.set_BackgroundColor("#ffd0ae");
            else
                dropDownInsurance.set_BackgroundColor("#ffffff");
        }
    }
    
    if(typeof(dropDownExperience) != 'undefined' && dropDownExperience.get_Disabled() != true)
    {
        if(dropDownExperience._element.id != name)
        {
            dropDownExperience.set_SelectedIndex(0);
            dropDownExperience.set_BackgroundColor("#ffffff");
        }
        else
        {
            list[8].checked = true;
            if(dropDownExperience._Options[dropDownExperience.get_SelectedIndex()] != "Any Experience")
                dropDownExperience.set_BackgroundColor("#ffd0ae");
            else
                dropDownExperience.set_BackgroundColor("#ffffff");
        }
    }
    
    if(typeof(dropDownSpecialities) != 'undefined' && dropDownSpecialities.get_Disabled() != true)
    {
        if(dropDownSpecialities._element.id != name)
        {
            dropDownSpecialities.set_SelectedIndex(0);
            dropDownSpecialities.set_BackgroundColor("#ffffff");
        }
        else
        {
            list[6].checked = true;
            if(dropDownSpecialities._Options[dropDownSpecialities.get_SelectedIndex()] != "Any Specialty")
                dropDownSpecialities.set_BackgroundColor("#ffd0ae");
            else
                dropDownSpecialities.set_BackgroundColor("#ffffff");
        }
    }
            
    if(typeof(dropDownTraining) != 'undefined' && dropDownTraining.get_Disabled() != true)
    {
        if(dropDownTraining._element.id != name)
        {
            dropDownTraining.set_SelectedIndex(0);
            dropDownTraining.set_BackgroundColor("#ffffff");
        }
        else
        {
            list[1].checked = true;
            if(dropDownTraining._Options[dropDownTraining.get_SelectedIndex()] != "Any Training")
                dropDownTraining.set_BackgroundColor("#ffd0ae");
            else
                dropDownTraining.set_BackgroundColor("#ffffff");
        }
    }
    
    if(typeof(dropDownService) != 'undefined' && dropDownService.get_Disabled() != true)
    {
        if(dropDownService._element.id != name)
        {
            dropDownService.set_SelectedIndex(0);
            dropDownService.set_BackgroundColor("#ffffff");
        }
        else
        {
            list[5].checked = true;
            if(dropDownService._Options[dropDownService.get_SelectedIndex()] != "Any Amenity")
                dropDownService.set_BackgroundColor("#ffd0ae");
            else
                dropDownService.set_BackgroundColor("#ffffff");
        }
    }
    
    if(typeof(dropDownLicense) != 'undefined' && dropDownLicense.get_Disabled() != true)
    {
        if(dropDownLicense._element.id != name)
        {
            dropDownLicense.set_SelectedIndex(0);
            dropDownLicense.set_BackgroundColor("#ffffff");
        }
        else
        {
            list[3].checked = true;
            if(dropDownLicense._Options[dropDownLicense.get_SelectedIndex()] != "Any License")
                dropDownLicense.set_BackgroundColor("#ffd0ae");
            else
                dropDownLicense.set_BackgroundColor("#ffffff");
        }
    }   
    
    if(typeof(dropDownLanguage) != 'undefined' && dropDownLanguage.get_Disabled() != true)
    {
        if(dropDownLanguage._element.id != name)
        {
            dropDownLanguage.set_SelectedIndex(0);
            dropDownLanguage.set_BackgroundColor("#ffffff");
        }
        else
        {
            list[7].checked = true;
            if(dropDownLanguage._Options[dropDownLanguage.get_SelectedIndex()] != "Any Language")
                dropDownLanguage.set_BackgroundColor("#ffd0ae");
            else
                dropDownLanguage.set_BackgroundColor("#ffffff");
        }
    }
}

function ChangeSearchRadioButton(num,name)
{
    var searchTypeOld = document.getElementsByName('searchType');
    var searchType = new Array(3);
    for(i = 0; i < searchTypeOld.length; i++)
    {
        searchType[searchTypeOld[i].value] = searchTypeOld[i];
    }
    
    switch(num)
    {
        case 0 : searchType[0].checked = true; ChangeSearchType(0,1); document.getElementById("zipCodeID").value = ''; break;
        case 1 : GetAdvancedList(); searchType[1].checked = true; break;
        case 2 : searchType[2].checked = true; ClearSelect(name); break;
        case 3 : GetAdvancedList(); searchType[1].checked = true; break;
        case 4 : searchType[3].checked = true; ChangeSearchType(0,1); document.getElementById("flName").value = ''; break;
    }
    
    // Display: GO >>> button
    //document.getElementById('goBtnId').style.display = "block";
    //document.getElementById('clearBtnId').style.display = "none";
    
    //document.getElementById('messageHelpID').innerHTML = 'Click <span style="color: orangered">GO >>></span>';
}

function AdvancedSearchChange(num)
{
    /*var prPopulation = document.getElementById('divPrPopulationsID');
    var insCompany = document.getElementById('divInsuranceCompID');
    var experience = document.getElementById('divExperienceID');
    var specialities = document.getElementById('divSpecialitiesID');
    var training = document.getElementById('divtrainingID');
    var service = document.getElementById('divServiceID');
    var cons = document.getElementById('divConsultationID');
    
    switch(num)
    {
        case 1 : prPopulation.style.display = "block"; insCompany.style.display = "none"; experience.style.display = "none"; specialities.style.display = "none"; training.style.display = "none"; service.style.display = "none"; cons.style.display = "none"; break;
        case 2 : prPopulation.style.display = "none"; insCompany.style.display = "block"; experience.style.display = "none"; specialities.style.display = "none"; training.style.display = "none"; service.style.display = "none"; cons.style.display = "none"; break;
        case 3 : prPopulation.style.display = "none"; insCompany.style.display = "none"; experience.style.display = "block"; specialities.style.display = "none"; training.style.display = "none"; service.style.display = "none"; cons.style.display = "none";  break;
        case 4 : prPopulation.style.display = "none"; insCompany.style.display = "none"; experience.style.display = "none"; specialities.style.display = "block"; training.style.display = "none"; service.style.display = "none"; cons.style.display = "none";  break;
        case 5 : prPopulation.style.display = "none"; insCompany.style.display = "none"; experience.style.display = "none"; specialities.style.display = "none"; training.style.display = "block"; service.style.display = "none"; cons.style.display = "none";  break;
        case 6 : prPopulation.style.display = "none"; insCompany.style.display = "none"; experience.style.display = "none"; specialities.style.display = "none"; training.style.display = "none"; service.style.display = "block"; cons.style.display = "none";  break;
        case 7 : prPopulation.style.display = "none"; insCompany.style.display = "none"; experience.style.display = "none"; specialities.style.display = "none"; training.style.display = "none"; service.style.display = "none"; cons.style.display = "block";  break;
    }
    */
    // Disable state checkbox
    var searchTypeOld = document.getElementsByName('searchType');
    var searchType = new Array(3);
    for(i = 0; i < searchTypeOld.length; i++)
    {
        searchType[searchTypeOld[i].value] = searchTypeOld[i];
    }
    
    searchType[2].checked = true;
}

function GetAdvancedList()
{
    var wRequest =  new Sys.Net.WebRequest();
    
    var requestString = "";
    
    if(typeof(dropDownState) != 'undefined')
        {
            var tmpDiv0 = document.createElement('div');
            tmpDiv0.innerHTML = dropDownState._Options[dropDownState.get_SelectedIndex()];
            
            if(tmpDiv0.innerHTML == 'Choose...')
                return;
                
            var state = tmpDiv0.childNodes[0].getAttribute('value').toLowerCase();
        }
        else if(typeof(st) != 'undefined')
            var state = st;
        else
            var state = '';
    
    requestString += "&st=" + state;
    
    ct = '';
    if(typeof(dropDownCity) != 'undefined' && dropDownCity.get_SelectedIndex() != 0)
    {
        var tmpDiv = document.createElement('div');
        tmpDiv.innerHTML = dropDownCity._Options[dropDownCity.get_SelectedIndex()];
        
        ct += tmpDiv.childNodes[0].getAttribute('canonized').replace(/ /g,"_");
    }
    
    requestString += "&ct=" + ct;    
    
    requestString += "&country=" + GetCountry();
        
    
    wRequest.set_url("/views/search/advancedsearch.php?rqid=" + Math.random());
    wRequest.set_httpVerb("POST");
    wRequest.set_body(requestString);
    wRequest.add_completed(AdvancedRequestCompleted);
    wRequest.invoke();
    
    ChangeSearchType(0,0);
}

function AdvancedRequestCompleted(executor, eventArgs)
{
    if(executor.get_responseAvailable()) 
    {
        response = executor.get_responseData(); 
        is_xml(response);
    }      
    
    ChangeSearchType(1,1);
    var list = [];
    var listUnsortoed = document.getElementsByName('advancedSearch');
    for(var i = 0; i < listUnsortoed.length; i++)
        list[listUnsortoed[i].value] = listUnsortoed[i];
     
    for(i in list)
         if(list[i].checked && i != 0)
         {
             var searchTypeOld = document.getElementsByName('searchType');
             var searchType = new Array(3);
             for(i = 0; i < searchTypeOld.length; i++)
             {
                 searchType[searchTypeOld[i].value] = searchTypeOld[i];
             }
             searchType[2].checked = true;
             break;
         }

    if(document.getElementById('ExperienceSortID'))    
        document.getElementById('ExperienceSortID').innerHTML = "<a href=\"javascript:void(0);\" onclick=\"OnExperienceSort(1);\">A-Z</a>";
}

function is_xml(text)
{
    var xmlString = text || ""; 

    if (window.DOMParser)
    {
        var parser = new DOMParser(); 
        parser.strictErrorChecking = true;
        
        try
        {
            var nodes = parser.parseFromString(xmlString, 'text/xml').documentElement;
        }
        catch (e)
        {
            // Opera
            return 0;
        }
        
        if (nodes.tagName == 'parserError' || nodes.namespaceURI == 'http://www.mozilla.org/newlayout/xml/parsererror.xml')
        {
            // Mozilla
            return 0;
        }
            
        if (nodes.firstChild != null)
        {    
            // Safari
            if (nodes.firstChild.toString() == '[object HTMLElement]')    return 0;
        }
    } 
    else if (window.ActiveXObject)
    { 
        // Internet Explorer
        var nodes;
        try
        {
            nodes = new ActiveXObject('Microsoft.XMLDOM'); 
        }
        catch (e)
        {
            return 0;
        }

        nodes.async = false; 
            
        if (nodes.loadXML(xmlString) == false)    return 0;

    }
    else    return ;

    //   ----------   Search by Population   -----------------
    var xml_element = nodes.getElementsByTagName('populations');
    AddOptions2(xml_element,'populations'); 
    
    //   ----------    Search by Insurance   -----------------
    var xml_element = nodes.getElementsByTagName('insurance');
    AddOptions2(xml_element,'insurance'); 
    
    //   ----------    Search by Experience   -----------------
    var xml_element = nodes.getElementsByTagName('experience');
    AddExperienceOptions(xml_element);
    
    //   ----------    Search by Specialties   -----------------
    var xml_element = nodes.getElementsByTagName('specialties');
    AddOptions2(xml_element,'specialities');
    
    //   ----------    Search by Training   -----------------
    var xml_element = nodes.getElementsByTagName('training');
    AddOptions2(xml_element,'training');
    
    //   ----------    Search by Service   -----------------
    var xml_element = nodes.getElementsByTagName('service');
    AddOptions2(xml_element,'service');
    
    //   ----------    Search by consultationID   -----------------
    var xml_element = nodes.getElementsByTagName('license');
    AddOptions2(xml_element,'license');
    
    //   ----------    Search by consultationID   -----------------
    var xml_element = nodes.getElementsByTagName('languages');
    AddOptions2(xml_element,'language');
     
    return 1;
}

function AddOptions(xml_element,id)
{
    var select_id = document.getElementById(id);
    select_id.innerHTML = "";
    var opt = document.createElement("option");
        
    opt.value = "";

    if(id == "prPopulationsID")
        opt.appendChild(document.createTextNode("Any Clientele"));
    else if(id == "insuranceCompID")
        opt.appendChild(document.createTextNode("Any Insurance"));
    else if(id == "specialitiesID")
        opt.appendChild(document.createTextNode("Any Specialty"));
    else if(id == "trainingID")
        opt.appendChild(document.createTextNode("Any Training"));
    else if(id == "serviceID")
        opt.appendChild(document.createTextNode("Any Amenity"));
    else if(id == "licenseID")
        opt.appendChild(document.createTextNode("Any License"));
    else if(id == "languageID")
        opt.appendChild(document.createTextNode("Any Language"));
    else
        opt.appendChild(document.createTextNode("All"));
    
    select_id.appendChild(opt);
    
    for(i = 0; i < xml_element.length; i++)
    {
        var opt = document.createElement("option");
        
        opt.value = stripslashes(xml_element[i].getAttribute('value'));
        opt.appendChild(document.createTextNode(stripslashes(xml_element[i].getAttribute('value'))));
        
        select_id.appendChild(opt);
    }
    
}

function AddExperienceOptions(xml_element)
{
    var trailingSpacesRe = /\s+$/;
    
    var asOptions = new Array();
        
    asOptions.push("Any Experience");
    
    for(i = 0; i < xml_element.length; i++)
    if(xml_element[i].getAttribute('param') == "1")
    {
        // sel_bold
        //var opt = document.createElement("option");
        
        //opt.value = "";
        //opt.style.color = "#ff6a04";
        //opt.appendChild(document.createTextNode(xml_element[i].getAttribute('value')));
        
        //addCategory = false;
    }
    else
    if(xml_element[i].getAttribute('param') == "2")
    {
        asOptions.push("<span notSelect='1' style='font-weight: bold; font-size: 110%;'>" + xml_element[i].getAttribute('value') + "</span>");
    }
    else
    {
        asOptions.push("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" + xml_element[i].getAttribute('value').replace(trailingSpacesRe,""));
    }
    
    if(typeof(dropDownExperience) != 'undefined')
        dropDownExperience.set_Options(asOptions);
}

//  Enable/Disable Advanced search
function ChangeSearchType(n,changeAll)
{
    changeAll = changeAll || 0;
    
    if(n == 0)      //  F/L search
    {
        // Disable
        if(changeAll == 1)
        {
            var searchTypeOld = document.getElementsByName('searchType');
            var searchType = new Array(3);
            for(i = 0; i < searchTypeOld.length; i++)
            {
                searchType[searchTypeOld[i].value] = searchTypeOld[i];
            }
            searchType[2].disabled = true;
        
            var list = [];
            var listUnsortoed = document.getElementsByName('advancedSearch');
            for(var i = 0; i < listUnsortoed.length; i++)
                list[listUnsortoed[i].value] = listUnsortoed[i];
            
            for(i in list)
            {
                list[i].disabled = true;
                list[i].checked = true;
            }
        }
        
        
        //document.getElementById('prPopulationsID').disabled = true;
        if(typeof(dropDownPopulations) != 'undefined')
            dropDownPopulations.set_Disabled(true);
        
        //document.getElementById('insuranceCompID').disabled = true;
        if(typeof(dropDownInsurance) != 'undefined')
            dropDownInsurance.set_Disabled(true);
        
        //document.getElementById('experienceID').disabled = true;
        if(typeof(dropDownExperience) != 'undefined')
            dropDownExperience.set_Disabled(true);
        
        //document.getElementById('specialitiesID').disabled = true;
        if(typeof(dropDownSpecialities) != 'undefined')
            dropDownSpecialities.set_Disabled(true);
        
        //document.getElementById('trainingID').disabled = true;
        if(typeof(dropDownTraining) != 'undefined')
            dropDownTraining.set_Disabled(true);
        
        //document.getElementById('serviceID').disabled = true;
        if(typeof(dropDownService) != 'undefined')
            dropDownService.set_Disabled(true);
        
        //document.getElementById('licenseID').disabled = true;
        if(typeof(dropDownLicense) != 'undefined')
            dropDownLicense.set_Disabled(true);
        
        //document.getElementById('languageID').disabled = true;
        if(typeof(dropDownLanguage) != 'undefined')
            dropDownLanguage.set_Disabled(true);
    }
    else
    if(n == 1)      //  state search
    {
        //  Enable
        
        var list = [];
        var listUnsortoed = document.getElementsByName('advancedSearch');
        for(var i = 0; i < listUnsortoed.length; i++)
            list[listUnsortoed[i].value] = listUnsortoed[i];
            
        for(i in list)
        {
            list[i].disabled = false;
        }
        
        if(changeAll == 1)
        {
            var searchTypeOld = document.getElementsByName('searchType');
            var searchType = new Array(3);
            for(i = 0; i < searchTypeOld.length; i++)
            {
                searchType[searchTypeOld[i].value] = searchTypeOld[i];
            }
            searchType[2].disabled = false;
            
            for(i in list)
            {
                list[i].disabled = false;
            }
            
            list[0].checked = true;
        }
        
        if(typeof(dropDownPopulations) != 'undefined' && dropDownPopulations.get_Options().length > 1)
        {
            //document.getElementById('prPopulationsID').disabled = false;
            dropDownPopulations.set_Disabled(false);
            list[2].disabled = false;
        }
            
        //document.getElementById('prPopulationsID').options[0].selected = true;
        if(typeof(dropDownPopulations) != 'undefined')
        {
            dropDownPopulations.set_SelectedIndex(0);
            if(dropDownPopulations.get_Options().length == 1)
            {
                list[2].disabled = true;
                if(list[2].checked)
                    list[0].checked = true;
            }
        }           
            
        if(typeof(dropDownInsurance) != 'undefined' && dropDownInsurance.get_Options().length > 1)
        {
            //document.getElementById('insuranceCompID').disabled = false;
            dropDownInsurance.set_Disabled(false);
            list[4].disabled = false;
        }
            
        //document.getElementById('insuranceCompID').options[0].selected = true;
        if(typeof(dropDownInsurance) != 'undefined')
        {
            dropDownInsurance.set_SelectedIndex(0);
            if(dropDownInsurance.get_Options().length == 1)
            {
                list[4].disabled = true;
                if(list[4].checked)
                    list[0].checked = true;
            }
        }
        
        if(typeof(dropDownExperience) != 'undefined' && dropDownExperience.get_Options().length > 1)
        {
            dropDownExperience.set_Disabled(false);  
            list[8].disabled = false;
        }
            
        if(typeof(dropDownExperience) != 'undefined')
        {
            dropDownExperience.set_SelectedIndex(0)
            if(dropDownExperience.get_Options().length == 1)
            {
                list[8].disabled = true;
                if(list[8].checked)
                    list[0].checked = true;
            }
        }        
        
        if(typeof(dropDownSpecialities) != 'undefined' && dropDownSpecialities.get_Options().length > 1)
        {
            //document.getElementById('specialitiesID').disabled = false;
            dropDownSpecialities.set_Disabled(false);
            list[6].disabled = false;
        }
            
        //document.getElementById('specialitiesID').options[0].selected = true;
        if(typeof(dropDownSpecialities) != 'undefined')
        {
            dropDownSpecialities.set_SelectedIndex(0);
            if(dropDownSpecialities.get_Options().length == 1)
            {
                list[6].disabled = true;
                if(list[6].checked)
                    list[0].checked = true;
            }
        }
        
        if(typeof(dropDownTraining) != 'undefined' && dropDownTraining.get_Options().length > 1)
        {
            //document.getElementById('trainingID').disabled = false;
            dropDownTraining.set_Disabled(false);
            list[1].disabled = false;
        }
            
        //document.getElementById('trainingID').options[0].selected = true;
        if(typeof(dropDownTraining) != 'undefined')
        {
            dropDownTraining.set_SelectedIndex(0);
            if(dropDownTraining.get_Options().length == 1)
            {
                list[1].disabled = true;
                if(list[1].checked)
                    list[0].checked = true;
            }
        }
        
        if(typeof(dropDownService) != 'undefined' && dropDownService.get_Options().length > 1)
        {
            //document.getElementById('serviceID').disabled = false;
            dropDownService.set_Disabled(false);
            list[5].disabled = false;
        }
            
        //document.getElementById('serviceID').options[0].selected = true;
        if(typeof(dropDownService) != 'undefined')
        {
            dropDownService.set_SelectedIndex(0);
            if(dropDownService.get_Options().length == 1)
            {
                list[5].disabled = true;
                if(list[5].checked)
                    list[0].checked = true;
            }
        }
        
        if(typeof(dropDownLicense) != 'undefined' && dropDownLicense.get_Options().length > 1)
        {
            //document.getElementById('licenseID').disabled = false;
            dropDownLicense.set_Disabled(false);
            list[3].disabled = false;
        }
        
        //document.getElementById('licenseID').options[0].selected = true;
        if(typeof(dropDownLicense) != 'undefined')
        {
            dropDownLicense.set_SelectedIndex(0);
            if(dropDownLicense.get_Options().length == 1)
            {
                list[3].disabled = true;
                if(list[3].checked)
                    list[0].checked = true;
            }
        }
        
        if(typeof(dropDownLanguage) != 'undefined' && dropDownLanguage.get_Options().length > 1)
        {
            //document.getElementById('languageID').disabled = false;
            dropDownLanguage.set_Disabled(false);
            list[7].disabled = false;
        }
            
        //document.getElementById('languageID').options[0].selected = true;
        if(typeof(dropDownLanguage) != 'undefined')
        {
            dropDownLanguage.set_SelectedIndex(0);
            if(dropDownLanguage.get_Options().length == 1)
            {
                list[7].disabled = true;
                if(list[7].checked)
                    list[0].checked = true;
            }
        }
    }
}    

function AddFavorirteClick(id, link, shortText)
{
    link.onclick = null;
    var wRequest =  new Sys.Net.WebRequest();
    var requestString = "id=" + id;
    
    wRequest.set_url("/command-therapist-addfavorite");
    wRequest.set_httpVerb("POST");
    wRequest.set_body(requestString);
    var callback = Function.createCallback(FavoriteRequestCompleted, [link, shortText, id]);
    wRequest.add_completed(callback);
    wRequest.invoke();
    //document.addFavoriteForm.id.value = id;
    //document.addFavoriteForm.submit();
}

function FavoriteRequestCompleted(executor, a, params)
{
    var link = params[0];
    var shortText = params[1];
    var id = params[2];
    if(executor.get_responseAvailable()) 
    {
        response = executor.get_responseData(); 
        if(response == 'OK')
        {
            var span = document.createElement('span');
            var parent = link.parentNode;
            parent.removeChild(link);
            //<span class="AV12_80Text" style="font-size: 12px;">
            span.className = 'AV12_80Text';
            span.style.fontSize = '12px';
            if(shortText == 1)
            {
                var favoriteBlockSpace = document.getElementById('favoriteBlockSpaceId_' + id);
                if(favoriteBlockSpace)
                    favoriteBlockSpace.parentNode.removeChild(favoriteBlockSpace);
            }
                
            span.innerHTML = '<br /><i>Saved in "My Favorite Therapists"</i>';
            parent.appendChild(span);
        }
    }      
}

function OnExperienceSort(type)
{
    if(type == 1)
    {
        // Alphabetical sort
        var values = new Array();
        
        for(i = 0; i < dropDownExperience.get_Options().length; i++)
        if(dropDownExperience.get_Options()[i] != '')
        {
            if(dropDownExperience.get_Options()[i].indexOf('notSelect') == -1 &&
               dropDownExperience.get_Options()[i].indexOf('Any Experience') == -1 )
                values[values.length] = remove_nbsps(dropDownExperience.get_Options()[i]);
        }
        
        values = values.sort();

        //  Add new specilaty practices
        asOptions = new Array();
            
        asOptions.push("Any Experience");
        
        for(i = 0; i < values.length; i++)
        {
            asOptions.push(values[i]);
        }
        
        dropDownExperience.set_Options(asOptions);
        
        //  Set link
        document.getElementById('ExperienceSortID').innerHTML = "<a href=\"javascript:void(0);\" onclick=\"OnExperienceSort(2);\">Category</a>";
    }
    else
    if(type == 2)
    {                                                                                                                                      
        // Normal view (with categories)
        //updateCities = true;
        GetAdvancedList();
    }
}

function OnMoreClick(num)
{
    var specialtyPractices = document.getElementById("sPn_" + num);
    if(specialtyPractices.style.display == "none")
    {
        specialtyPractices.style.display = "block";
        document.getElementById("sPn_Link_" + num).innerHTML = "<<<&nbsp;Hide";
    }
    else
    {
        if(specialtyPractices.style.display == "block")
            specialtyPractices.style.display = "none";
        document.getElementById("sPn_Link_" + num).innerHTML = "More&nbsp;>>>&nbsp;";
    }
}

function OnDetailsClick(num)
{
    var therapistToTherapist = document.getElementById("tTTDiv_" + num);
    if(therapistToTherapist.style.display == "none")
    {
        therapistToTherapist.style.display = "block";
        document.getElementById("tTTLink_" + num).innerHTML = "<<<&nbsp;Hide&nbsp;Details";
    }
    else
    {
        if(therapistToTherapist.style.display == "block")
            therapistToTherapist.style.display = "none";
        document.getElementById("tTTLink_" + num).innerHTML = "Details&nbsp;>>>";
    }
}

function ShowAdvancedSearch()
{
    var advTable = document.getElementById('advancedSearchTableId');
    var link = document.getElementById('advancedSearchLabelId');
    if(advTable.style.display == 'none')
    {
        advTable.style.display = 'table';
        link.innerHTML = 'Hide Advanced Search:';
    }
    else
    {
        advTable.style.display = 'none';
        link.innerHTML = 'Refine Your Results Here:';
    }
}

function ShowHideAddress(event, id, linkToRemove)
{
    // Fix event argument
    if(Sys.Browser.agent==Sys.Browser.InternetExplorer)
        id = id || event;
        
    var linkToRemove = linkToRemove || null;
    var additionalAddress = document.getElementById('additionalAddressBlock_' + id);
    var link = document.getElementById('addressBlockLinkId_' + id);
    if(additionalAddress)
    {
        if(additionalAddress.style.display == 'none')
        {
            additionalAddress.style.display = 'inline';
            link.innerHTML = '';
            
            var span = document.createElement('span');
            span.innerHTML = '&nbsp;';
            var newLink = document.createElement('a');
            newLink.href = '#';
            newLink.innerHTML = "&lt;&lt;";
            newLink.onclick = function()
            {
                ShowHideAddress(null, id, span);
                return false;
            };
            
            span.appendChild(newLink);
            additionalAddress.appendChild(span);
            
        }
        else
        {
            additionalAddress.style.display = 'none';
            link.innerHTML = '>>';
            
            if(linkToRemove)
                linkToRemove.parentNode.removeChild(linkToRemove);
        }
    }
    
    return false;
}

function CheckNameLength(id)
{
    var nameBlock = document.getElementById('nameBlockID_' + id);
    
    var nameBlockHeight = nameBlock.offsetHeight;
    if(nameBlockHeight > 20)
    {
        var text = nameBlock.innerHTML;
        var textArray = text.split(' ');
        var newText = new Array();
        nameBlock.style.visibility = 'hidden';
        
        var maxCount = 10;
        while(nameBlockHeight > 20)
        {
            newText.push(textArray.splice(textArray.length - 1, 1));
            nameBlock.innerHTML = textArray.join(' ');
            
            nameBlock.innerHTML += ' &gt;&gt;';
            
            nameBlockHeight = nameBlock.offsetHeight;
            
            nameBlock.innerHTML = nameBlock.innerHTML.substring(0, nameBlock.innerHTML.length-9);
            
            if(maxCount <= 0)
                break;
            maxCount--;
        }
        
        if(nameBlock.innerHTML.charAt(nameBlock.innerHTML.length - 1) == ',')
        {
            nameBlock.innerHTML = nameBlock.innerHTML.substring(0, nameBlock.innerHTML.length-1);
            newText[newText.length - 1] = ', ' + newText[newText.length - 1];
        }
        
        if(nameBlock.innerHTML.charAt(nameBlock.innerHTML.length - 1) == ' ' && nameBlock.innerHTML.charAt(nameBlock.innerHTML.length - 2) == ',')
        {
            nameBlock.innerHTML = nameBlock.innerHTML.substring(0, nameBlock.innerHTML.length-2);
            newText[newText.length - 1] = ', ' + newText[newText.length - 1];
        }
        
        // Add link '>>'
        var link = document.createElement('a');
        link.id = 'nameBlockLinkId_' + id;
        link.href = '#';
        link.innerHTML = '&gt;&gt;';
        var callback = Function.createCallback(ShowHideName, id);
        link.onclick = callback;
        nameBlock.innerHTML += '&nbsp;';
        nameBlock.appendChild(link);
        
        var additionalNameBlock = document.createElement('span');
        additionalNameBlock.style.display = 'none';
        additionalNameBlock.id = 'additionalNameBlock_' + id;
        newText.reverse();
        additionalNameBlock.innerHTML = newText.join(' ')
        nameBlock.appendChild(additionalNameBlock);
        
        nameBlock.style.visibility = 'visible';
    }
}

function ShowHideName(event, id, linkToRemove)
{
    // Fix event argument
    if(Sys.Browser.agent==Sys.Browser.InternetExplorer)
        id = id || event;
        
    var linkToRemove = linkToRemove || null;
    var nameBlock = document.getElementById('additionalNameBlock_' + id);
    var nameBlockMain = document.getElementById('nameBlockID_' + id);
    
    var link = document.getElementById('nameBlockLinkId_' + id);
    if(nameBlock)
    {
        if(nameBlock.style.display == 'none')
        {
            nameBlock.style.display = 'inline';
            //link.innerHTML = '';
            link.style.display = 'none';
            nameBlockMain.firstChild.nodeValue = nameBlockMain.firstChild.nodeValue.substring(0, nameBlockMain.firstChild.nodeValue.length-1);
            
            var span = document.createElement('span');
            span.innerHTML = '&nbsp;';
            var newLink = document.createElement('a');
            newLink.href = '#';
            newLink.innerHTML = "&lt;&lt;";
            newLink.onclick = function()
            {
                ShowHideName(null, id, span);
                
                return false;
            };
            
            span.appendChild(newLink);
            nameBlock.appendChild(span);
            
        }
        else
        {
            nameBlock.style.display = 'none';
            //link.innerHTML = '&gt;&gt;';
            link.style.display = 'inline';
            nameBlockMain.firstChild.nodeValue += ' ';
            
            if(linkToRemove)
                linkToRemove.parentNode.removeChild(linkToRemove);
        }
    }
    
    return false;
}

function ShowAdditionalInfo(id, show)
{
    var block = document.getElementById('consultationNewId_' + id);
    if(block)
    {
        if(show)
            block.style.display = 'none';
        else
            block.style.display = 'block';
    }
        
    var block = document.getElementById('consultationAddressNewId_' + id);
    if(block)
    {
        if(show)
            block.style.display = 'none';
        else
            block.style.display = 'inline';
    }
        
    var block = document.getElementById('consultationAddressOldId_' + id);
    if(block)
    {
        if(show)
            block.style.display = 'inline';
        else
            block.style.display = 'none';
    }
    
    var block = document.getElementById('consultationOldId_' + id);
    if(block)
    {
        if(show)
            block.style.display = 'block';
        else
            block.style.display = 'none';
    }
}

function ShowWebPages(id)
{                         
    ShowAdditionalInfo(id, true)
}

function ShowConsultation(id)
{
    ShowAdditionalInfo(id, false)
}

function ShowHideBlock(id, link, text, hideText)
{
    var block = document.getElementById(id);
    if(block)
    {
        if(block.style.display == 'none')
        {
            // Show
            block.style.display = 'block';
            link.innerHTML = hideText;
        }
        else
        {
            // Hide
            block.style.display = 'none';
            link.innerHTML = text;
        }
    }
}

function ShowHideAdditionalPractices(id, link)
{
    ShowHideBlock('distancePracticesAdditionalBlockId_' + id, link, "More&nbsp;&gt;&gt;&gt;", "&lt;&lt;&lt;&nbsp;Hide");
}

function ShowHideTherapistToTherapist(id, link)
{
    ShowHideBlock('therapistToTherapistBlockId_' + id, link, "Details&nbsp;&gt;&gt;&gt;", "&lt;&lt;&lt;&nbsp;Hide&nbsp;Details");
}

function RemoveFromFavorite(id)
{
    $.post(
        '/command-therapist-removefavorite',
        {
            'id' : id,
            'page' : this.location.href
        },
        function(response)
        {
            // reload page with POST (cache problem)
            $("form[name='addFavoriteForm']").empty().attr('action', response).append($('<input type="hidden" name="favorties" value="true" />')).submit();
        }
    );
    
    return false;
}

$(function()
{
    $("a[id^='page_']").click(function()
    {
        var page = $(this).attr('id').split('_')[1];
        $("form[name='searchFilter']").find("input[name='searchFilterPage']").val(page);
        $("form[name='searchFilter']").attr('action', $(this).attr('href')).submit();
        
        return false;
    });
    
    // address collapse
    $("a[name='showSecondLine']").live('click', function() {
        var id = $(this).data('oid');
        $(this).hide();
        $('#addressBlockId2_' + id).show();
        return false;
    });
    
    $("a[name='hideSecondLine']").live('click', function() {
        var id = $(this).data('oid');
        $('#addressBlockId2_' + id).hide();
        $('#addressBlockId_' + id).find("a[name='showSecondLine']").show();
        return false;
    });
    // end of address collapse
    
    $("div[id^='addressBlockId_']").each(function() {
        if($(this).height() > 20) { // two lines address
            $(this).find("a[name='showSecondLine']").remove();
            
            var text = $(this).text().split(' ');
            var newText = '';
            var newArr = [];
            $(this).html('');
            while($(this).height() <= 20) {
                newText += text[0] + ' ';
                newArr.push(text[0]);
                $(this).html(newText + ' >>');
                text.splice(0,1);
            }
            
            var last = newArr.splice(newArr.length - 1,1); // remove last word
            text.unshift(last[0]);
            
            //<a name="showSecondLine" href="#" data-oid="'.$therapist['e_oid'].'">>></a>
            var tId = $(this).attr('id').split('_')[1];
            var link = $('<a/>').attr({
                name: 'showSecondLine',
                href: '#',
                'data-oid': tId
            }).text('>>');
            $(this).html(newArr.join(' ') + ' ').append(link);
            
            if($(this).closest('td').find('#addressBlockId2_'+tId).length == 0) {
                // <div id="addressBlockId2_tId" style="width: 205px; display: none;">&nbsp;&nbsp;<a name="hideSecondLine" href="#" data-oid="tId?>"><<</a></div>
                $dv = $('<div/>').css({
                    width: '205px',
                    display: 'none'
                }).attr({
                    id: 'addressBlockId2_'+tId
                }).append(text.join(' '))
                .append('&nbsp;&nbsp;').append(
                    $('<a/>').attr({
                        name: 'hideSecondLine',
                        href: '#',
                        'data-oid': tId
                    }).text('<<')
                );
                $(this).after($dv);
            }
            else {
                var addText = text.join(' ')+'<br />'+$(this).closest('td').find('#addressBlockId2_'+tId).html();
                $(this).closest('td').find('#addressBlockId2_'+tId).html(addText);
            }
        }
    });
});
