/*jslint strict:true, evil: true, onevar: true, nomen: false  */ /*global $, jQuery, baseUrl, console, hbx, alert, window, ndm, document  */

"use strict";

function CG_activateSearchHeader(){
    var overHeaderSearch = false;
    $(".CG_header_search").click(function(){
        $(this).addClass("CG_header_search_hover");
        $(this).children(".CG_input_text").focus();
    });

    $(".CG_header_search").hover(
        function(){
            overHeaderSearch = true;
        },
        function(){
            overHeaderSearch = false;
        }
    );

    $(".CG_header_search fieldset").click(
        function(){
           overHeaderSearch = true;
        }
    );

    $(".CG_input_text").each(function(){
        if($(this).val() !== $(this).attr("title")){
            $(this).addClass("CG_input_text_active");
        }
    });

    $(".CG_input_text").focus(function(){
        //Remove default text
        if($(this).val() === $(this).attr("title")){
            $(this).val("");
            $(this).addClass("CG_input_text_active");
        }
    });

    $(".CG_input_text").click(function(){
        //Remove default text
        if($(this).val() === $(this).attr("title")){
            $(this).val("");
            $(this).addClass("CG_input_text_active");
        }
    });

    $(".CG_input_text").keypress(function (e) {
        if(e.which === 13){ //Enter key pressed
            $(this).parents("form.CG_search_form").find(".CG_button").click();
        }
    });

    $(".CG_header_search .CG_input_text").click(function(){
        overHeaderSearch = true;
        $(".CG_header_search").addClass("CG_header_search_hover");
    });

    $(".CG_header_search .CG_input_text").focus(function(){
        overHeaderSearch = true;
        $(".CG_header_search").addClass("CG_header_search_hover");
    });

    $(document).click(function(){
          if(!overHeaderSearch){$("#CG_header_search_checks").css("display", "none"); $(".CG_header_search").removeClass("CG_header_search_hover");}
    });

    $(".CG_search_form").addClass("CG_search_form_loaded");
    $("#CG_mainmenu_banner").CG_addFlag({flagID:'CG_search_new'});


    $(".CG_search_form .CG_button").click(function(e){
        var formObj = $(this).parents("form.CG_search_form").eq(0),
            formID = $(formObj).attr("id"),
            formLoc = formID.substring(formID.lastIndexOf("_")+1),
            newsChecked, carsChecked, searchType = "", target = "", searchTerm = "",
            iField = $(formObj).find(".CG_input_text").eq(0),
            adjFieldVal = iField.val();

            if(iField.val() === iField.attr("title")){
                iField.val("");
            }

            adjFieldVal = iField.val().split("'").join("").split('"').join("");
            iField.val(adjFieldVal);

            newsChecked = $("#CG_"+formLoc+"_searchtype_news").is(":checked");
            carsChecked = $("#CG_"+formLoc+"_searchtype_sale").is(":checked");
            searchTerm = $("#CG_searchterm_"+formLoc).val();
            searchTerm = encodeURIComponent(searchTerm);
        if((newsChecked && carsChecked) || (!newsChecked && !carsChecked)){
            searchType = "all";
            if(searchTerm !== ""){
                searchType = searchType + "&Ntt=" + searchTerm;
            }
            target = baseUrl + "?type="+searchType;
        }else if(newsChecked){
            searchType = "news-and-reviews";
            if(searchTerm !== ""){
                searchType = searchType + "&Ntk=KEYWORD_EDITORIAL&Ntx=mode+matchallpartial&Nty=1&Ntt=" + searchTerm;
            } else {
                searchType += "&Ns=pRSS_SortDate|1";
            }
            target = baseUrl + "?type="+searchType;
        }else if(carsChecked){
            searchType = "cars&N=4294962119";
            if(searchTerm !== ""){
                searchType = searchType + "&Ntk=KEYWORD&Ntx=mode+matchallpartial&Nty=1&Ntt=" + searchTerm;
            }
            target = baseUrl + "?type="+searchType;
        }

        if(target !== ""){
            window.parent.location = target;
        }else{
            return false;
        }
    });
}
//Call this immediately
CG_activateSearchHeader();

/* Populates Recent Search  link in mega-menu */
function CG_setRecentSearchLink() {
    var recentSearchValue = "",
        recentSearchUrl = "";

    try{
        recentSearchValue = $(document).CG_getCookie('recent_search_value');
        recentSearchUrl = $(document).CG_getCookie('recent_search_url');

//        console.info(recentSearchUrl);
//        console.info(recentSearchValue);
        if(recentSearchValue && recentSearchUrl && recentSearchUrl !== false && recentSearchValue !== false) {
	    recentSearchUrl = recentSearchUrl.replace(/~/g, "=");
	    $(".megamenu-recent-searches a").text(recentSearchValue).attr('href', recentSearchUrl);
	    $(".megamenu-recent-searches").show();
        }
    } catch (exception) {}
}

$(document).ready(function(){
    CG_setRecentSearchLink();
});

