var objDropDown;

function AttorneyDropDownChanged(obj)
{
    var ddLevels = document.getElementById(levelsDropDown);
    var ddPractices = document.getElementById(practicesDropDown);
    var ddOffices = document.getElementById(officesDropDown);
    var ddLanguages = document.getElementById(languagesDropDown);
    var ddSchools = document.getElementById(schoolsDropDown);
    var ddAdmissions = document.getElementById(admissionsDropDown);
    var ddCourts = document.getElementById(courtsDropDown);
    var guids = "";
    objDropDown = obj;
    
    if(ddLevels != null && ddLevels.selectedIndex > 0){
        guids += ddLevels.options[ddLevels.selectedIndex].value;
    }
    guids += ",";
    if(ddPractices != null && ddPractices.selectedIndex > 0){
        guids += ddPractices.options[ddPractices.selectedIndex].value;
    }
    guids += ",";
    if(ddOffices != null && ddOffices.selectedIndex > 0){
        guids += ddOffices.options[ddOffices.selectedIndex].value;
    }
    guids += ",";
    if(ddLanguages != null && ddLanguages.selectedIndex > 0){
        guids += ddLanguages.options[ddLanguages.selectedIndex].value;
    }
    guids += ",";
    if(ddSchools != null && ddSchools.selectedIndex > 0){
        guids += ddSchools.options[ddSchools.selectedIndex].value;
    }
    guids += ",";
    if(ddAdmissions != null && ddAdmissions.selectedIndex > 0){
        guids += ddAdmissions.options[ddAdmissions.selectedIndex].value;
    }
    guids += ",";
    if(ddCourts != null && ddCourts.selectedIndex > 0){
        guids += ddCourts.options[ddCourts.selectedIndex].value;
    }
    
    FCWSite.FCWSite.KattenWS.KattenWebServices.GetAttorneyDropDowns(guids, IsLondon(), AttorneyDropDownRequestComplete);
}

function PubDropDownChanged(obj)
{
    var ddPubTypes = document.getElementById(pubTypesDropDown);
    var ddPractices = document.getElementById(practicesDropDown);
    var ddAttorneys = document.getElementById(attorneysDropDown);
    var ddMonthFrom = document.getElementById(monthFromDropDown);
    var ddMonthTo = document.getElementById(monthToDropDown);
    var ddYearFrom = document.getElementById(yearFromDropDown);
    var ddYearTo = document.getElementById(yearToDropDown);
    var guids = "";
    objDropDown = obj;
    
    if(ddPubTypes != null && ddPubTypes.selectedIndex > 0){
        guids += ddPubTypes.options[ddPubTypes.selectedIndex].value;
    }
    guids += ",";
    if(ddPractices != null && ddPractices.selectedIndex > 0){
        guids += ddPractices.options[ddPractices.selectedIndex].value;
    }
    guids += ",";
    if(ddAttorneys != null && ddAttorneys.selectedIndex > 0){
        guids += ddAttorneys.options[ddAttorneys.selectedIndex].value;
    }
    guids += ",";
    if(ddMonthFrom != null && ddMonthFrom.selectedIndex > 0){
        guids += ddMonthFrom.options[ddMonthFrom.selectedIndex].value;
    }
    guids += ",";
    if(ddYearFrom != null && ddYearFrom.selectedIndex > 0){
        guids += ddYearFrom.options[ddYearFrom.selectedIndex].value;
    }
    guids += ",";
    if(ddMonthTo != null && ddMonthTo.selectedIndex > 0){
        guids += ddMonthTo.options[ddMonthTo.selectedIndex].value;
    }
    guids += ",";
    if(ddYearTo != null && ddYearTo.selectedIndex > 0){
        guids += ddYearTo.options[ddYearTo.selectedIndex].value;
    }
    
    if((objDropDown == ddMonthFrom || objDropDown == ddYearFrom) && ((ddMonthFrom.selectedIndex == 0 && ddYearFrom.selectedIndex > 0) || (ddMonthFrom.selectedIndex > 0 && ddYearFrom.selectedIndex == 0))){
        GetDateDropDown(obj);
        return false;
    }
    if((objDropDown == ddMonthTo || objDropDown == ddYearTo) && ((ddMonthTo.selectedIndex == 0 && ddYearTo.selectedIndex > 0) || (ddMonthTo.selectedIndex > 0 && ddYearTo.selectedIndex == 0))){
        GetDateDropDown(obj);
        return false;
    }
    
    FCWSite.FCWSite.KattenWS.KattenWebServices.GetPubDropDowns(guids, IsLondon(), PubDropDownRequestComplete);
}

function EventDropDownChanged(obj)
{
    var ddTypes = document.getElementById(typesDropDown);
    var ddPractices = document.getElementById(practicesDropDown);
    var ddAttorneys = document.getElementById(attorneysDropDown);
    var ddOffices = document.getElementById(officesDropDown);
    var ddMonthFrom = document.getElementById(monthFromDropDown);
    var ddMonthTo = document.getElementById(monthToDropDown);
    var ddYearFrom = document.getElementById(yearFromDropDown);
    var ddYearTo = document.getElementById(yearToDropDown);
    var cbUpcomping = document.getElementById(upcompingCheckBox);
    var guids = "";
    objDropDown = obj;
    
    if(ddTypes != null && ddTypes.selectedIndex > 0){
        guids += ddTypes.options[ddTypes.selectedIndex].value;
    }
    guids += ",";
    if(ddPractices != null && ddPractices.selectedIndex > 0){
        guids += ddPractices.options[ddPractices.selectedIndex].value;
    }
    guids += ",";
    if(ddAttorneys != null && ddAttorneys.selectedIndex > 0){
        guids += ddAttorneys.options[ddAttorneys.selectedIndex].value;
    }
    guids += ",";
    if(ddOffices != null && ddOffices.selectedIndex > 0){
        guids += ddOffices.options[ddOffices.selectedIndex].value;
    }
    guids += ",";
    if(ddMonthFrom != null && ddMonthFrom.selectedIndex > 0){
        guids += ddMonthFrom.options[ddMonthFrom.selectedIndex].value;
    }
    guids += ",";
    if(ddYearFrom != null && ddYearFrom.selectedIndex > 0){
        guids += ddYearFrom.options[ddYearFrom.selectedIndex].value;
    }
    guids += ",";
    if(ddMonthTo != null && ddMonthTo.selectedIndex > 0){
        guids += ddMonthTo.options[ddMonthTo.selectedIndex].value;
    }
    guids += ",";
    if(ddYearTo != null && ddYearTo.selectedIndex > 0){
        guids += ddYearTo.options[ddYearTo.selectedIndex].value;
    }
    guids += ",";
    if(cbUpcomping != null && cbUpcomping.checked){
        guids += "1";
    }
    else{
        guids += "0";
    }
    
    if((objDropDown == ddMonthFrom || objDropDown == ddYearFrom) && ((ddMonthFrom.selectedIndex == 0 && ddYearFrom.selectedIndex > 0) || (ddMonthFrom.selectedIndex > 0 && ddYearFrom.selectedIndex == 0))){
        GetDateDropDown(obj);
        return false;
    }
    if((objDropDown == ddMonthTo || objDropDown == ddYearTo) && ((ddMonthTo.selectedIndex == 0 && ddYearTo.selectedIndex > 0) || (ddMonthTo.selectedIndex > 0 && ddYearTo.selectedIndex == 0))){
        GetDateDropDown(obj);
        return false;
    }
    
    FCWSite.FCWSite.KattenWS.KattenWebServices.GetEventDropDowns(guids, IsLondon(), EventDropDownRequestComplete);
}

function MediaDropDownChanged(obj)
{
    var ddPractices = document.getElementById(practicesDropDown);
    var ddAttorneys = document.getElementById(attorneysDropDown);
    var guids = "";
    objDropDown = obj;
    
    if(ddPractices != null && ddPractices.selectedIndex > 0){
        guids += ddPractices.options[ddPractices.selectedIndex].value;
    }
    guids += ",";
    if(ddAttorneys != null && ddAttorneys.selectedIndex > 0){
        guids += ddAttorneys.options[ddAttorneys.selectedIndex].value;
    }
    
    FCWSite.FCWSite.KattenWS.KattenWebServices.GetMediaDropDowns(guids, IsLondon(), MediaDropDownRequestComplete);
}

function AttorneyDropDownRequestComplete(result)
{
    var ddLevels = document.getElementById(levelsDropDown);
    var ddPractices = document.getElementById(practicesDropDown);
    var ddOffices = document.getElementById(officesDropDown);
    var ddLanguages = document.getElementById(languagesDropDown);
    var ddSchools = document.getElementById(schoolsDropDown);
    var ddAdmissions = document.getElementById(admissionsDropDown);
    var ddCourts = document.getElementById(courtsDropDown);
    var array = result.split("||");
    
    if(ddLevels != null && array[0] != null && ddLevels != objDropDown){
        PopulateDropDown(ddLevels, array[0]);
    }
    if(ddPractices != null && array[1] != null && ddPractices != objDropDown){
        PopulateDropDown(ddPractices, array[1]);
    }
    if(ddOffices != null && array[2] != null && ddOffices != objDropDown){
        PopulateDropDown(ddOffices, array[2]);
    }
    if(ddLanguages != null && array[3] != null && ddLanguages != objDropDown){
        PopulateDropDown(ddLanguages, array[3]);
    }
    if(ddSchools != null && array[4] != null && ddSchools != objDropDown){
        PopulateDropDown(ddSchools, array[4]);
    }
    if(ddAdmissions != null && array[5] != null && ddAdmissions != objDropDown){
        PopulateDropDown(ddAdmissions, array[5]);
    }
    if(ddCourts != null && array[6] != null && ddCourts != objDropDown){
        PopulateDropDown(ddCourts, array[6]);
    }
}

function PubDropDownRequestComplete(result)
{
    var ddPubTypes = document.getElementById(pubTypesDropDown);
    var ddPractices = document.getElementById(practicesDropDown);
    var ddAttorneys = document.getElementById(attorneysDropDown);
    var ddMonthFrom = document.getElementById(monthFromDropDown);
    var ddMonthTo = document.getElementById(monthToDropDown);
    var ddYearFrom = document.getElementById(yearFromDropDown);
    var ddYearTo = document.getElementById(yearToDropDown);
    var hiddendate = document.getElementById(hiddendateInput);
    var array = result.split("||");
    
    if(ddPubTypes != null && array[0] != null && ddPubTypes != objDropDown){
        PopulateDropDown(ddPubTypes, array[0]);
    }
    if(ddPractices != null && array[1] != null && ddPractices != objDropDown){
        PopulateDropDown(ddPractices, array[1]);
    }
    if(ddAttorneys != null && array[2] != null && ddAttorneys != objDropDown){
        PopulateDropDown(ddAttorneys, array[2]);
    }
    if(array[3] != null && array[4] != null){
        hiddendate.value = array[3] + "||" + array[4];
        GetDateDropDown(ddMonthFrom);
        GetDateDropDown(ddMonthTo);
        GetDateDropDown(ddYearFrom);
        GetDateDropDown(ddYearTo);
    }
}

function EventDropDownRequestComplete(result)
{
    var ddTypes = document.getElementById(typesDropDown);
    var ddPractices = document.getElementById(practicesDropDown);
    var ddAttorneys = document.getElementById(attorneysDropDown);
    var ddOffices = document.getElementById(officesDropDown);
    var ddMonthFrom = document.getElementById(monthFromDropDown);
    var ddMonthTo = document.getElementById(monthToDropDown);
    var ddYearFrom = document.getElementById(yearFromDropDown);
    var ddYearTo = document.getElementById(yearToDropDown);
    var hiddendate = document.getElementById(hiddendateInput);
    var array = result.split("||");
    
    if(ddTypes != null && array[0] != null && ddTypes != objDropDown){
        PopulateDropDown(ddTypes, array[0]);
    }
    if(ddPractices != null && array[1] != null && ddPractices != objDropDown){
        PopulateDropDown(ddPractices, array[1]);
    }
    if(ddAttorneys != null && array[2] != null && ddAttorneys != objDropDown){
        PopulateDropDown(ddAttorneys, array[2]);
    }
    if(ddOffices != null && array[3] != null && ddOffices != objDropDown){
        PopulateDropDown(ddOffices, array[3]);
    }
    if(array[4] != null && array[5] != null){
        hiddendate.value = array[4] + "||" + array[5];
        GetDateDropDown(ddMonthFrom);
        GetDateDropDown(ddMonthTo);
        GetDateDropDown(ddYearFrom);
        GetDateDropDown(ddYearTo);
    }
}

function MediaDropDownRequestComplete(result)
{
    var ddPractices = document.getElementById(practicesDropDown);
    var ddAttorneys = document.getElementById(attorneysDropDown);
    var array = result.split("||");

    if(ddPractices != null && array[0] != null && ddPractices != objDropDown){
        PopulateDropDown(ddPractices, array[0]);
    }
    if(ddAttorneys != null && array[1] != null && ddAttorneys != objDropDown){
        PopulateDropDown(ddAttorneys, array[1]);
    }
}

function PopulateDropDown(objSelect, objOption)
{
    var selValue = objSelect.options[objSelect.selectedIndex].value;
    ClearDropDown(objSelect);
    
    var options = objOption.split(";");
    for (var i = 0; i < options.length; i++){
        if(options[i] != ""){
            var op = options[i].split("|");
            objSelect.options[i+1] = new Option(op[1], op[0]);
            if(op[0] == selValue){
                objSelect.selectedIndex = i+1;
            }
        }
    }
}

function ClearDropDown(objSelect)
{
    for (var i = (objSelect.options.length-1); i > 0; i--)
    {
        objSelect.options[i]=null;
    }
}

function GetDateDropDown(obj){
    var hiddendate = document.getElementById(hiddendateInput);
    if(hiddendate == null || hiddendate.value == "") return false;
    
    var ddMonthFrom = document.getElementById(monthFromDropDown);
    var ddMonthTo = document.getElementById(monthToDropDown);
    var ddYearFrom = document.getElementById(yearFromDropDown);
    var ddYearTo = document.getElementById(yearToDropDown);
    
    var selMonthFrom = parseInt(ddMonthFrom.options[ddMonthFrom.selectedIndex].value);
    var selMonthTo = parseInt(ddMonthTo.options[ddMonthTo.selectedIndex].value);
    var selYearFrom = parseInt(ddYearFrom.options[ddYearFrom.selectedIndex].value);
    var selYearTo = parseInt(ddYearTo.options[ddYearTo.selectedIndex].value);
    
    var strDate = hiddendate.value;    
    var array = strDate.split("||");
    var strFrom = array[0].split("|");
    var strTo = array[1].split("|");
    
    var minMonth = parseInt(strFrom[0]);
    var minYear = parseInt(strFrom[1]);
    var maxMonth = parseInt(strTo[0]);
    var maxYear = parseInt(strTo[1]);
    
    var strMonthFrom = "";
    var strYearFrom = "";
    var strMonthTo = "";
    var strYearTo = "";
    
    if(obj == ddMonthFrom || obj == ddYearFrom){
        for (var i = 0; i <= ddMonthFrom.options.length; i++){
            if(ddMonthFrom.selectedIndex > 0 && ddYearFrom.selectedIndex > 0 && (selYearFrom < minYear || selMonthFrom < minMonth) && parseInt(ddMonthFrom.options[i].value) == minMonth){
                ddMonthFrom.selectedIndex = i;
                selMonthFrom = parseInt(ddMonthFrom.options[ddMonthFrom.selectedIndex].value);
                break;
            }
        }
        for (var i = 0; i <= ddYearFrom.options.length; i++){
            if(ddMonthFrom.selectedIndex > 0 && ddYearFrom.selectedIndex > 0 && (selYearFrom < minYear || selMonthFrom < minMonth) && parseInt(ddYearFrom.options[i].value) == minYear){
                ddYearFrom.selectedIndex = i;
                break;
            }
        }
    }
    else if(obj == ddMonthTo || obj == ddYearTo){
        for (var i = 0; i <= ddMonthTo.options.length; i++){
            if(ddMonthTo.selectedIndex > 0 && ddYearTo.selectedIndex > 0 && (selYearTo > maxYear || selMonthTo > maxMonth) && parseInt(ddMonthTo.options[i].value) == maxMonth){
                ddMonthTo.selectedIndex = i;
                selMonthTo = parseInt(ddMonthTo.options[ddMonthTo.selectedIndex].value);
                break;
            }
        }
        for (var i = 0; i <= ddYearTo.options.length; i++){
            if(ddMonthTo.selectedIndex > 0 && ddYearTo.selectedIndex > 0 && (selYearTo > maxYear || selMonthTo > maxMonth) && parseInt(ddYearTo.options[i].value) == maxYear){
                ddYearTo.selectedIndex = i;
                break;
            }
        }
    }
    
    if(obj == null){
        var strYear = "";
        for (var i = minYear; i <= maxYear; i++){
            strYear += i + "|" + i + ";";
        }
        PopulateDropDown(ddYearFrom, strYear);
        PopulateDropDown(ddYearTo, strYear);
        
        var strMonth = "";
        for (var i = 1; i <= 12; i++){
            strMonth += i + "|" + GetMonth(i) + ";";
        }
        PopulateDropDown(ddMonthFrom, strMonth);
        PopulateDropDown(ddMonthTo, strMonth);
    }
    else if(obj == ddMonthFrom){
        for (var i = minYear; i <= maxYear; i++){
            if((i == minYear && selMonthFrom < minMonth) || (i == maxYear && selMonthFrom > maxMonth)){
                continue;
            }
            strYearFrom += i + "|" + i + ";";
        }
        PopulateDropDown(ddYearFrom, strYearFrom);
    }
    else if(obj == ddMonthTo){
        for (var i = minYear; i <= maxYear; i++){
            if((i == minYear && selMonthTo < minMonth) || (i == maxYear && selMonthTo > maxMonth)){
                continue;
            } 
            strYearTo += i + "|" + i + ";";
        }
        PopulateDropDown(ddYearTo, strYearTo);
    }
    else if(obj == ddYearFrom){
        for (var i = minYear; i <= maxYear; i++){
            if((ddYearFrom.selectedIndex > 0 && i < selYearFrom) || (ddMonthFrom.selectedIndex > 0 && ddMonthTo.selectedIndex > 0 && selMonthFrom > selMonthTo && i <= selYearFrom)){ 
                continue;
            }
            strYearTo += i + "|" + i + ";";
        }
        PopulateDropDown(ddYearTo, strYearTo);
        
        for (var i = 1; i <= 12; i++){
            if((selYearFrom == minYear && i < minMonth) || (selYearFrom == maxYear && i > maxMonth)){ 
                continue;
            }
            strMonthFrom += i + "|" + GetMonth(i) + ";";
        }
        PopulateDropDown(ddMonthFrom, strMonthFrom);
    }
    else if(obj == ddYearTo){
        for (var i = minYear; i <= maxYear; i++){
            if((ddYearTo.selectedIndex > 0 && i > selYearTo) || (ddMonthFrom.selectedIndex > 0 && ddMonthTo.selectedIndex > 0 && selMonthFrom > selMonthTo && i >= selYearTo)){ 
                continue;
            }
            strYearFrom += i + "|" + i + ";";
        }
        PopulateDropDown(ddYearFrom, strYearFrom);
        
        for (var i = 1; i <= 12; i++){
            if((selYearTo == minYear && i < minMonth) || (selYearTo == maxYear && i > maxMonth)){ 
                continue;
            }
            strMonthTo += i + "|" + GetMonth(i) + ";";    
        }
        PopulateDropDown(ddMonthTo, strMonthTo);
    }
}

function GetMonth(month){
    var hashMonths = new Object();
    hashMonths["1"] = "Jan";
    hashMonths["2"] = "Feb";
    hashMonths["3"] = "Mar";
    hashMonths["4"] = "Apr";
    hashMonths["5"] = "May";
    hashMonths["6"] = "Jun";
    hashMonths["7"] = "Jul";
    hashMonths["8"] = "Aug";
    hashMonths["9"] = "Sep";
    hashMonths["10"] = "Oct";
    hashMonths["11"] = "Nov";
    hashMonths["12"] = "Dec";
    
    return hashMonths[month+""];
}

function checkEnter(e){
    var characterCode
    
    if(e && e.which){
        e = e
        characterCode = e.which
    }
    else{
        e = event
        characterCode = e.keyCode
    }

    if(characterCode == 13){
        var src = (e.srcElement || e.target);
        SiteSearch(src);
        e.returnValue=false;
        e.cancel = true;
    }
}

function SiteSearch(obj){
    var strQuery = "";
    var strSearchUrl = "/sitesearch.aspx";
    if(IsLondon()){
        strSearchUrl = "/london/sitesearch";
    }
    
    if(obj != null && (obj.id == "inputSearchHeader" || obj.id == "linkSearchHeader")){
        strQuery = "?qu=";
        strQuery += document.getElementById("inputSearchHeader").value;
        strQuery += "&cboSection=site&rdoWord=all"
    }
    else if(window.location.href.indexOf("?") > 0 || (obj != null && (((document.getElementById(searchtermStr) != null) && obj.id == document.getElementById(searchtermStr).id) || obj.id == "linkSearchAdvanced"))){
        strQuery = "?qu=";
        var searchterm = document.getElementById(searchtermStr);
        var cboSection = document.getElementById(cboSectionStr);
        var rdoWordAny = document.getElementById(rdoWordAnyStr);
        var rdoWordAll = document.getElementById(rdoWordAllStr);
        
        if(searchterm != null){
            strQuery += searchterm.value;
        }
        if(cboSection != null){
            strQuery += "&cboSection=" + cboSection.value;
        }
        if (rdoWordAny != null && rdoWordAny.checked)
        {
            strQuery += "&rdoWord=" + rdoWordAny.value;
        }
        else if (rdoWordAll != null && rdoWordAll.checked)
        {
            strQuery += "&rdoWord=" + rdoWordAll.value;
        }
    }
    
    if(strQuery != ""){
        window.location = CultureRoot + strSearchUrl + strQuery;
    }
}

function IsLondon(){
    return window.location.href.indexOf("london") > -1;
}
