var page_size = 10;
var max_pages = -1;
var result_count = -1;
var page_number = 1;
var current_page = 1;
var search_filter = 'all';

//var gs_service_url     = SITEROOT + "/webservices/getglobalsearchsuggestions/json"; 
var search_service_url = SITEROOT + "/webservices/getsearchsuggestions/json"; 
var search_google_service_url= SITEROOT + "/webservices/getgooglesearchsuggestions/json"; 
var loader = SITEROOT + "/images/shell/loader.gif";		
var webaddr = SITEROOT;

var sitesearch_show_result = function(data)
{
   //alert("sitesearch_show_result");
   /* meta header */ 
   var sugg_obj = data.meta_header;
    page_size = sugg_obj.page_size;
    //alert("page_size=" +  page_size);
    max_pages = sugg_obj.max_pages;
    //alert("max_pages=" +  max_pages);
    result_count = sugg_obj.result_count;
   //alert("result_count=" + result_count);

   $("span#suggested_results_text span.total_found").html(result_count);
   //$("div.results_found span.total_found").html(result_count);
   //$("div#shet").html(result_count);

    page_number = sugg_obj.page_number;
    
    if( sugg_obj.result_count == -1){
        // need anything here?
    } else if( sugg_obj.result_count == 0){
        $('span#suggested_results_text .result_word').html('Results'); 
        $('#suggested').removeClass('active');
        $('#suggested_area').removeClass('active');
        $('#suggested_results_text').hide();
        $('#allresults').addClass('active');
        $('#allresults_area').addClass('active'); 
        $('#all_results_text').show();         
    } else if ( sugg_obj.result_count == 1){
        $('span#suggested_results_text  .result_word').html('Result');
    } else {
        $('span#suggested_results_text  .result_word').html('Results');
    }
    
    try {
        var suggestions_obj = data.Suggestions;
        } catch( error) {
           // alert("err:" + error)
        }

        var content = "";
        for( indx=0; indx < suggestions_obj.length; indx++) {
                    content += "<div id=\"" + indx  + "\" class='result_row' url='" +  suggestions_obj[indx].url +  "'>";
                    content += "        <div class='result_icon "  + suggestions_obj[indx].icon + "'><\/div>";
                    content += "        <div class='result_text'>";
                    content += "            <h2 class='result_title'>" + suggestions_obj[indx].display + "<\/h2>";
                    content += "                <div class='result_blurb'>" + suggestions_obj[indx].abstractText + "<\/div>";
                    content += "        <\/div>";
                    content += "<div class=\"clearall\"><\/div>";
                    content += "<\/div>";
        }

	$("div#suggested_records_area").html(content);
        $('#suggested_search_pages').show();
        
        $("div#loader_image").html("");


        var pager ="";
        if(current_page == 1 ){
            pager += "<a id='1' class='current' href='#'>First<\/a>";
        } else {
            pager += "<a id='1' class='regular' href='#'>First<\/a>";
        }
        pager += "&nbsp\;";
        if(current_page > 1 ){
            pager += "<a class='regular' id='" + Number(current_page-1) + "' href='#'>Previous<\/a>";
        }   
        pager += "&nbsp;";
        
        for( indx=1; indx < max_pages+1; indx++) {
            if( indx == page_number ) {
                pager += "<a id=\"" + indx  + "\" class=\"current\" href=\"#\">" +  indx + "<\/a>&nbsp;";
            } else {
                pager += "<a id=\"" + indx  + "\" class=\"regular\" href=\"#\">" +  indx + "<\/a>&nbsp;";
            }
        }
        if(current_page < max_pages ){
            var nxt_pg = Number(current_page + 1);
            pager += "<a id='" + nxt_pg + "' class=\"regular\"  href='#'>Next<\/a>";
        }        
        pager += "&nbsp\;";
        if(current_page == max_pages ){
            pager += "<a class=\"current\" id='" + max_pages + "' href='#'>Last<\/a>";
        } else {
            pager += "<a class=\"regular\" id='" + max_pages + "' href='#'>Last<\/a>";
        }

	$("div#suggested_search_pages").html(pager);
        $("div#loader_img").html('');
        
        $("a.regular").click(function(e) {
            $("div#loader_image").html("<img src=\"" + loader + "\"\/>");
                try {
                    current_page = Number($(this).attr("id"));
                }
                catch(error){
                    alert('error' + error);
                }

                 check_service_sitesearch();
                 e.preventDefault();
	});

	$("a.result_link").click(function(e) {
            //UNUSED - should just be a direct link to asset or page
        });

	$("div.result_row").click(function(e) {
               var indx = $(this).attr("id");
               var url = $(this).attr("url");
               //alert("row clicked full url :" + webaddr + url);
             window.location = webaddr + url;
        });
        
        window.scrollTo(0,0);
 
}


var check_service_sitesearch = function(){
    //restful service call getsearchterms
   // alert("check_service_sitesearch");
// commented out until suggester search returns
  
  //  term = $('input#search_box_wide_input').val();
    term = $('input#search_box_results').val();
    search_filter = $('select#search_filter').val()
    //alert("term: " + term);
    if(term != null && term.length > 0 && term != 'Search ENBREL.com'){
        var params = "";
        var psz = $('select#page_size_sitesearch').val();
        params = "?terms=" + term + params;
        params += "&filter=" + search_filter;
        params += "&pagesize=" + psz;
        params += "&startpage=" + current_page;

        //alert("full URL:" + search_service_url + params);
        $("div#loader_img").html("<img src=\"" + loader + "\"\/>");
        try {
              $.getJSON(search_service_url + params, sitesearch_show_result);
        } catch(error){
              alert('error:'+error)
        }
    } else {
        //alert("no search term?");
        $("div#suggested_search_pages").html("");
    }

}

var check_service_sitegooglesearch = function(){

    term = $('input#search_box_results').val();
    if(term != null && term.length > 0 && term != 'Search ENBREL.com'){
        var params = "";
        var psz = $('select#page_size_sitesearch').val();
        params = "?terms=" + term + params;
        params += "&filter=" + search_filter;
        params += "&pagesize=" + psz;
        params += "&startpage=" + (current_page-1);
        //alert(params);
        $("div#loader_img").html("<img src=\"" + loader + "\"\/>");
        try {
              $.getJSON(search_google_service_url + params, sitegooglesearch_show_result);
        } catch(error){
              alert('error:'+error)
        }
    } else {
        $("div#all_search_pages").html("");
    }
}
var sitegooglesearch_show_result = function(data)
{
    
    var all_sugg_obj = data.meta_header;
    all_page_size = all_sugg_obj.page_size;
    all_max_pages = all_sugg_obj.max_pages;
    all_result_count = all_sugg_obj.result_count;

   $("span#all_results_text span.total_found").html(all_result_count);

    page_number = all_sugg_obj.page_number;

    if( all_sugg_obj.all_result_count < 1 || all_sugg_obj.all_result_count == 0){
        $('span#all_results_text .result_word').html('Results');
        //alert("no suggestion records found");
    } else if ( all_sugg_obj.all_result_count == 1){
        $('span#all_results_text .result_word').html('Result');
    } else {
        $('span#all_results_text .result_word').html('Results');
    }
    
    try {
        var suggestions_obj = data.GoogleSuggestions;
        } catch( error) {
           // alert("err:" + error)
        }

        var content = "";
        for( indx=0; indx < suggestions_obj.length; indx++) {
            if(suggestions_obj[indx].display != undefined) {
                content += "<div id=\"" + indx  + "\" class='result_row' url='" +  suggestions_obj[indx].url +  "'>";
                content += "        <div class='result_icon "  + suggestions_obj[indx].icon + "'><\/div>";
                content += "        <div class='result_text'>";
                content += "            <h2 class='result_title'>" + suggestions_obj[indx].display + "<\/h2>";
                content += "                <div class='result_blurb'>" + suggestions_obj[indx].abstractText + "<\/div>";
                content += "        <\/div>";
                content += "<div class=\"clearall\"><\/div>";
                content += "<\/div>";
            }
        }

	$("div#all_records_area").html(content);
        $('#all_search_pages').show();
        
        $("div#loader_image").html("");


        var pager ="";
        if(current_page == 1 ){
            pager += "<a id='1' class='current' href='#'>First<\/a>";
        } else {
            pager += "<a id='1' class='regular' href='#'>First<\/a>";
        }
        pager += "&nbsp\;";
        if(current_page > 1 ){
            pager += "<a class='regular' id='" + Number(current_page-1) + "' href='#'>Previous<\/a>";
        }   
        pager += "&nbsp;";
        
        for( indx=1; indx <= all_max_pages+1; indx++) {
            if( indx == page_number+1 ) {
                pager += "<a id=\"" + indx  + "\" class=\"current\" href=\"#\" onclick=\"return false;\">" +  indx + "<\/a>&nbsp;";
            } else {
                pager += "<a id=\"" + indx  + "\" class=\"regular\" href=\"#\">" +  indx + "<\/a>&nbsp;";
            }
        }
        if(current_page < all_max_pages+1 ){
            var nxt_pg = Number(current_page + 1);
            pager += "<a id='" + nxt_pg + "' class=\"regular\"  href='#'>Next<\/a>";
        }        
        pager += "&nbsp\;";
        if(current_page == all_max_pages+1 ){
            pager += "<a class=\"current\" id='" + (all_max_pages+1) + "' href='#'>Last<\/a>";
        } else {
            pager += "<a class=\"regular\" id='" + (all_max_pages+1) + "' href='#'>Last<\/a>";
        }

        $("div#all_search_pages").html(pager);
        $("div#loader_img").html('');
        
        $("a.regular").click(function(e) {
            $("div#loader_image").html("<img src=\"" + loader + "\"\/>");
                try {
                    current_page = Number($(this).attr("id"));
                }
                catch(error){
                    alert('error' + error);
                }

                 check_service_sitegooglesearch();
                 e.preventDefault();
	});
        
	$("div.result_row").click(function(e) {
               var indx = $(this).attr("id");
               var url = $(this).attr("url");
               //alert("row clicked full url :" + webaddr + url);
                window.location = url;
        });
        
        window.scrollTo(0,0);
}



var sitesearch_results_init = function()
{
    //alert("sitesearch_results_init");
    //$("div#results_find_specialist").hide();
    //$("div.results_detail").hide();

    $("input#search_btn").click(function(e) {
            $("div#suggested_records_area").html("");
            $("div.results_amount span.total_found").html("");
            $("div.results_amount span.results_found").html("");
            $("div#loader_img").html("<img src=\"" + loader + "\"\/>");

            $('#suggested').removeClass('active');
            $('#suggested_area').removeClass('active');
            $('#suggested_results_text').hide();
            
            $('#allresults').addClass('active');
            $('#allresults_area').addClass('active'); 
            $('#all_results_text').show(); 
            
            st = $('#search_box_results').val();
            if (st != '' && unescape(st) != 'Search ENBREL.com') searchTrack(st);
            current_page = 1;
            check_service_sitesearch();
            check_service_sitegooglesearch();
            show_related_searches();

            //$("div#search_pane").slideUp('slow');
            //$("div#results_find_specialist").slideDown('slow');
            mecTrack('deienb_NEWEnbrelSearchResults_6');
            
            e.preventDefault();
    });
/*
    $('#search_box_results').keypress(function(e) {
        if (e.keyCode == 13) {
            $("div#suggested_records_area").html("");
            $("div.results_amount span.total_found").html("");
            $("div.results_amount span.results_found").html("");
            $("div#loader_img").html("<img src=\"" + loader + "\"\/>");
            check_service_sitesearch();
            //$("div#search_pane").slideUp('slow');
            //$("div#results_find_specialist").slideDown('slow');
            mecTrack('deienb_NEWEnbrelSearchResults_6');
            event.preventDefault();

        };
    });
*/        
    $("select#page_size_sitesearch").change(function(e) {
            //alert("pagesize changed");
            //$("div#loader_img").html("<img src=\"" + loader + "\"\/>");
            current_page = 1;
            if ($('#suggested_area').hasClass('active')) {
                check_service_sitesearch();
            } else if ($('#allresults_area').hasClass('active')) {
                check_service_sitegooglesearch();
            }
    
            e.preventDefault();
    });
    
    $("li#allresults").click(function(e){
        //check_service_sitegooglesearch();
        $('#suggested_results_text').hide();
        $('#all_results_text').show();
        e.preventDefault();
    }); 
    
     $("li#suggested").click(function(e){
        //check_service_sitesearch();
        $('#suggested_results_text').show();
        $('#all_results_text').hide();
        e.preventDefault();
    }); 
 
    $("a.back_to_search").click(function(e)
    {
            //$("div#search_results_summary").slideDown('slow');
            //$("div.results_detail").slideUp('slow');
            e.preventDefault();
    });
    
    
    $("a.new_search").click(function(e) {
            //$("div#search_pane").slideDown('slow');
            // $("div.results_detail").slideUp('slow');
            //$("div#search_results_summary").slideDown('slow');
            //$("div#results_find_specialist").slideUp('slow');
            e.preventDefault();
    });
	
    //alert("after init calling check_service_sitesearch()");

    $('select.dd_search_within').change(function() {
        search_filter = $(this).val();
    });
    
    var start = window.location.href.indexOf('searchtext');
    if (start != -1) {
        var st = window.location.href.substring(start + 11, window.location.href.length);
        //alert(st);
        if (st != '' && unescape(st) != 'Search ENBREL.com' && st != 'Search ENBREL.com') searchTrack(st);
        show_related_searches();
    }
    
    check_service_sitesearch();
    check_service_sitegooglesearch();

}

var derm_find = function()
{    
    var v_zip = $("input#lbZip").val();
    try { 
        window.location = webaddr + "/find-a-dermatologist.jspx?zipcode=" + v_zip + "&c=1";
    } catch(err) {
       //alert('err=' + err);
    }
}

var spec_find = function()
{    
    var v_zip = $("#lbZip").val();
    var searchPage = '';
    var selectedSpec = $('input[name=specialist]:checked').val();
    if (selectedSpec == 'Rheumatologist') {
        track101('findarheumsearch',v_zip);
        searchPage = 'find-a-rheumatologist.jspx';
    } else if (selectedSpec == 'Dermatologist') {
        track101('findadermsearch',v_zip);
        searchPage = 'find-a-dermatologist.jspx';
    }
    if (searchPage != '') {
        try { 
            window.location = webaddr + '/' + searchPage + "?zipcode=" + v_zip + "&c=1";
        } catch(err) {
           //alert('err=' + err);
        }
    }
}

var doctor_find = function()
{
          //alert("search_btn clicked");
          var v_specialization = $("input[name='specialist']:checked").val();  
          if( v_specialization == null) {
            //should not have to come here if pre-validated           
            //alert("should not have to come here if pre-validated");
          }          
          var v_zip = $("input#lbZip").val();
          //alert("v_specialization=" + v_specialization);
          //alert("v_zip=" + v_zip);
          try {
             
            if( v_specialization == "Dermatologist") {
                 //alert("calling " + webaddr + "find-a-dermatologist.jspx?zipcode=" + v_zip);   
                 window.location = webaddr + "/find-a-dermatologist.jspx?zipcode=" + v_zip + "&c=1";
            } else {
                 //alert("calling " + webaddr + "find-a-rheumatologist.jspx?zipcode=" + v_zip);   
                 window.location = webaddr + "/find-a-rheumatologist.jspx?zipcode=" + v_zip + "&c=1";
            }
          } catch(err) {
               //alert('err=' + err);
          }
}


var search_box_init = function()
{
   // alert('[ search_box_init ]');
                    //var init_value = 'Search ENBREL.com';
    //alert("term=" + term);
    //$("input#search_box_input").setValue(init_value);
    //$('#search_box').flexbox('phrases',

/* commented out until search suggestions return - jeff c, mar 10 */
/*
 * $('#search_box').flexbox(gs_service_url,    
        {
            showArrow: false,
            width: 190,
            highlightMatchesRegExModifier:'gi',
            autoCompleteFirstMatch : false,
            paging : false
        }
    );   

    $('#search_box_wide').flexbox(gs_service_url,
        {
            showArrow: false,
            width: 390,
            highlightMatchesRegExModifier:'gi',
            autoCompleteFirstMatch : false,
            initialValue : SEARCHWIDETERM,
            paging : false
        }
    );
*/

    $('#search_box_results').val(SEARCHWIDETERM);
    $('#mainForm\\:search_input').addClass('watermark');
    $('#mainForm\\:search_input').val('Search ENBREL.com');
    
/* end of search suggestions - jeff c, mar 10 */

/* following 4 functions are for watermark, can be removed when flexbox reinstated */


    $("input#mainForm\\:search_input").click(function(e) {
        $(this).removeClass('watermark');
        if ($(this).val() == 'Search ENBREL.com') $(this).val('');
    });
    
    $("input#mainForm\\:search_input").blur(function(e) {
        if ($(this).val() == '') {
            $('#mainForm\\:search_input').addClass('watermark');
            $('#mainForm\\:search_input').val('Search ENBREL.com');
        }
    });
    
    $("#search_box_results").click(function(e) {
        if ($(this).val() == 'Search ENBREL.com') $(this).val('');
    });

    $("#search_box_results").blur(function(e) {
        if ($(this).val() == '') {
            $('#search_box_results').addClass('watermark');
            $('#search_box_results').val('Search ENBREL.com');
        }
    });
    
    $('#search_box_results').keypress(function(event) {
        if (event.keyCode == '13') {
            event.preventDefault();
            $("div#suggested_records_area").html("");
            $("div.results_amount span.total_found").html("");
            $("div.results_amount span.results_found").html("");
            $("div#loader_img").html("<img src=\"" + loader + "\"\/>");

            $('#suggested').removeClass('active');
            $('#suggested_area').removeClass('active');
            $('#suggested_results_text').hide();
            
            $('#allresults').addClass('active');
            $('#allresults_area').addClass('active'); 
            $('#all_results_text').show(); 

            check_service_sitesearch();
            check_service_sitegooglesearch();
            show_related_searches();

            //$("div#search_pane").slideUp('slow');
            //$("div#results_find_specialist").slideDown('slow');
            mecTrack('deienb_NEWEnbrelSearchResults_6');

        }
    });

/* above 4 functions are for watermark, can be removed when flexbox reinstated */

    $("input#search_btn_header").click(function(e) {
          
        var term = $("input#mainForm\\:search_input").val();
        if (term.toLowerCase() != 'search enbrel.com' && term != '') {
              //alert(term);
              window.location = SITEROOT+'/search.jspx?id=null&searchtext='+term;
              //window.location = 'http://www.google.com';
              
              //var term = $("input#search_box_input").val();    used for flexbox control
              
              //$('#search_box').setValue(term);  used for flexbox control          
              //var term = $("input#mainForm\\:search_input").val();
              //alert("term=" + term);
              //$('#mainForm\\:hidSearchTerm').val(term);
              try {
              //alert("will set pt1:searchterm to [ " + term + "]");
        //        var component = AdfPage.PAGE.findComponent("pt1:searchterm");
                
                //var component = $('#mainForm\\:searchterm');    
                //component.setValue(term);
                
                //alert(SITEROOT+'/search.jspx?id=null&searchtext='+term);
                //window.open(SITEROOT+'/search.jspx?id=null&searchtext='+term);
                //window.location = SITEROOT+'/search.jspx?id=null&searchtext='+term;
                //SITEROOT+'search.jspx?id=null&searchtext='+SEARCHWIDETERM;  
                
                //alert(term);
              } catch(err) {
                   //alert('err=' + err);
              }
        }
    });

}




//alert("jQuery().ready(search_box_init)");
jQuery().ready(search_box_init);
//alert("jQuery().ready(sitesearch_results_init)");
jQuery().ready(sitesearch_results_init);

