﻿/// <reference path="~/js/jquery-1.2.6.intellisense.js" />

var curPg = 1;
var prms = new Object();
var itemCnt = 9;
var errTimeout;
var url;

$(function() {
    
    if (q == '')
    {
        alert("You must enter a search term.");
    }    
    doSearch();
});

function doSearch()
{
    url = 'SearchProxy.ashx?sp-a=sp10030c64&sp-f=ISO-8859-1&sp-p=all&sp-t=json';
    prms = new Object();
    prms.sp_c = itemCnt;
    prms.sp_n = curPg;
    prms.sp_q = q;
    if (c != '')
    {
        prms.sp_q_1 = c;
        prms.sp_x_1 = 'searchcat';
        
        $('.searchBtn_on > a').css('color','#0B3543');
        $('.searchBtn_on').removeClass('searchBtn_on');
        if (c == 'Wall Map') $('#b_wm').addClass('searchBtn_on');
        else if (c == 'Atlas') $('#b_at').addClass('searchBtn_on');
        else if (c == 'Digital Map') $('#b_dm').addClass('searchBtn_on');
        else if (c == 'Travel Guide') $('#b_tm').addClass('searchBtn_on');
        else if (c == 'Other') $('#b_ot').addClass('searchBtn_on');
        //$('.searchBtn_on > a').css('color','#ffffff');
        
    }
    $('#searchOut').fadeOut('fast', function () {
        $('#wait').fadeIn('fast', function () {
            //errTimeout = setTimeout(timeoutErr, 7000);
            $.getJSON(url, prms, searchLoad);
        });
    });
}

function timeoutErr()
{
    errTimeout = setTimeout(timeoutErr, 4000);
    $.getJSON(url, prms, searchLoad);
}

function searchLoad(data, status)
{    
    //clearTimeout(errTimeout);
    $('#wait').fadeOut('fast', function () {

        for (var i = 0; i < data.cats.length; i++) {
            if (data.cats[i] == 'Wall Map') $('#s_wm').html(' (' + data.catcnts[i] + ')');
            else if (data.cats[i] == 'Atlas') $('#s_at').html(' (' + data.catcnts[i] + ')');
            else if (data.cats[i] == 'Digital Map') $('#s_dm').html(' (' + data.catcnts[i] + ')');
            else if (data.cats[i] == 'Travel Guide') $('#s_tm').html(' (' + data.catcnts[i] + ')');
            else if (data.cats[i] == 'Other') $('#s_ot').html(' (' + data.catcnts[i] + ')');
        }

        $('#searchHdr').html('Your search for <b class="required">' + q + '</b> returned <b class="required">' + data.total + ' results.</b>');

        if (data.total == 0) {
            doNone(data);
            return;
        }

        var html = '<table><tr>';
        for (var i = 0; i < data.results.length; i++) {
            var obj = data.results[i];
            if (obj == null) continue;

            var pid = obj.link.split('pid=')[1];
            pid = pid.split('&')[0];

            var link = obj.link.replace('&amp;nav=MS', '');

            html += '<td align="center" valign="top" width="228">'
                + '<a href="' + link + '" class="sLink" onmouseover="moveQLbtn(' + pid + ');">'
                + '<img id="Pimg_' + pid + '" src="' + obj.thumb + '" border=0 /><br/>'
                + obj.title + '</a><br/>'
                + obj.price + '<br/>'
                + 'By ' + obj.pub
                + '</td>';

            if (((i + 1) % 3) == 0) html += '</tr><tr>';
        }

        html += '</tr></table>';

        $('#searchOut').html(html);
        $('#searchOut').fadeIn('fast');
    });
    
    
    
    var endVal = curPg + 8;
    if (endVal > data.total) endVal = data.total;
    
    var nxtprv = '';
    var move = '';
    
    if (itemCnt < 15)
    {
        var nxt = data.total - endVal;
        if (nxt > 9) nxt = 9;
        
        if (curPg != 1) nxtprv += '<a href="javascript:prev();">Prev 9</a>&nbsp;&nbsp;|&nbsp;&nbsp;';
        if (endVal < data.total) nxtprv += '<a href="javascript:next();">Next ' + nxt + '</a>'
        
        if (data.total <= 15)
            nxtprv += '&nbsp;&nbsp;|&nbsp;&nbsp;<a href="javascript:seeAll();">See All</a>';
            
        move = '<div style="float: left; margin-left: 10px; font-weight: bold;">Showing ' + curPg + "-" + endVal + ' of ' + data.total + '</div>'
        + '<div style="float: right; margin-right: 10px; font-weight: bold;">' + nxtprv + '</div><br style="clear: both;" />';
    } else 
        move = '<div style="margin-left: 10px; font-weight: bold;">Showing all results.</div>';
    
    $('#searchMove').html(move);    
    $('#searchMoveB').html(nxtprv);
    
    
}

function next()
{
    curPg += 9;
    doSearch();   
}

function prev()
{
    curPg -= 9;
    if (curPg < 1) curPg = 1;
    doSearch();
}

function doCat(cat)
{
    //location.href = "/Search.aspx?q=" + q
      //  + "&c=" + cat;
    itemCnt = 9;
    curPg = 1;
    c = cat;
    doSearch();
}

function seeAll()
{
    itemCnt = 15;
    curPg = 1;
    doSearch();
}

function doNone(data)
{
    var html = '<div style="width: 300px; margin-left: auto; margin-right: auto;">'
        + "<p><b>We're sorry but we could not find a match.</b></p>"
    if (data.sgs != '')
        html += '<p><b>Did you mean: "<a href="/Search.aspx?q=' + data.sgs
            + '">' + data.sgs + '</a>"?</b></p>';
            
    html += '<p>Please check your spelling or try again using only geographic place names, such as the following:</p>'
        + '<p style="font-weight: bold;">'
        + 'USA<br/>'
        + 'Tennessee<br/>'
        + 'Chicago<br/>'
        + 'Kenya<br/>'
        + 'Paris<br/>'
        + '</p></div>'
   
   $('#searchMove').html('');  
    $('#searchOut').html(html);       
    $('#searchOut').fadeIn('fast');
}
