var search,trackData;
var l = location;
var urlGoogle,cx,key,rsz,ResultCount,start;
var GoogleCallbackResult;
var template = jQuery('<div style="display:none"><div class="GR_zoomimage_s"><div class="GR_zoomimage_st"><div class="GR_zoomimage_stl iePNG"></div><div class="GR_zoomimage_stc iePNGScale"></div><div class="GR_zoomimage_str iePNG"></div></div><div class="GR_zoomimage_sc"><div class="GR_zoomimage_scl iePNGScale"></div><div class="GR_zoomimage_scc iePNG"></div><div class="GR_zoomimage_scr iePNGScale"></div></div><div class="GR_zoomimage_sb"><div class="GR_zoomimage_sbl iePNG"></div><div class="GR_zoomimage_sbc iePNGScale"></div><div class="GR_zoomimage_sbr iePNG"></div></div></div><div class="GR_zoomimage_content"></div></div>');
var isset = function(varname) {
    return(typeof(window[varname]) != 'undefined');
}
var getQueryVariable = function(variable) {
    var query = l.search.substring(1);
    var vars = query.split("&");
    for (var i = 0; i < vars.length; i++) {
        var pair = vars[i].split("=");
        if (pair[0] == variable) {
            return pair[1];
        }
    }
    return false;
}
var b = function() {
    if (jQuery("input[name='s']").val() == '') {
        jQuery("p.text_input").css("background-position", "1px -24px");
    }
};
var f = function() {
    jQuery("p.text_input").css("background-position", "1px 0");
};
var GoogleCallback = function(func, data) {
    window[func](data);
}
var GoogleSearch = function(event) {
    search = "&q=" + escape(jQuery("input[name='s']").val());
    trackData = '?q=' + escape(jQuery("input[name='s']").val());
    cx = escape("000661391706742166340:pxx0cbqrb2a");
    key = escape("ABQIAAAADNVZDPkffWwZQNApxUtJbxS_sCenOLJS2SVv04lpumgyy1UmsRRKpNwHSJ1AbZlcEJ6B8GyCRJ0IWA");
    rsz = "large";
    ResultCount = (rsz == "small") ? 4 : 8;
    start = jQuery(event.target).data("ajax").rel;
    urlGoogle = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&cx=" + cx + "&hl=uk&key=" + key + "&rsz=" + rsz + "&start=" + start + "&ie=UTF-8&filter=1&callback=GoogleCallback&context=?";
    if (jQuery(event.target).data("ajax").animate) {
        jQuery('#GR').data("css", {top0:"101px",left0:parseInt((jQuery(document).width() - 950) / 2 + 668, 10) + "px",top:"30px",left:parseInt((jQuery(document).width() - 750) / 2, 10) + "px",width:"750px",height:"600px"}).css({"top":"101px","left":parseInt((jQuery(document).width() - 950) / 2 + 668, 10),"width":"0px","height":"0px","display":"block"}).find('>div.GR_zoomimage_s').css({"width":"750px","height":"600px","display":"none"}).end().find('div.GR_zoomimage_sc, div.GR_zoomimage_scc').css({"height":"564px","display":"block"}).end().find('>div.GR_zoomimage_content').css({"width":"714px","height":"564px","display":"none"}).end();
        jQuery('#searchClose').hide();
        jQuery('#indicator').show();
    } else {
        jQuery('#GR').find('>div.GR_zoomimage_content').block({message:'<img src="assets/js/ajax-loader.gif" width="32" height="32" alt="Loading" />',css:{border:'none',height:'32px',width:'32px',top:'0',right:'0'},overlayCSS:{backgroundColor:'#FFF',opacity:'0.6'},centerX:true,centerY:false}).end();
    }
    jQuery.ajax({url:urlGoogle,dataType:'jsonp',jsonp:'GoogleCallback',data:search,success:function(data) {
        var a,li,html = jQuery('<ul class="returnResults"><\/ul>'),pages = jQuery('<div class="returnPages"><\/div>');
        jQuery('#GR').find('>div.GR_zoomimage_content').empty().end();
        if (data.results.length == 0) {
            html = jQuery('<div class="returnResults"><br>Your search - <b>' + jQuery("input[name='s']").val() + '</b> - did not match any documents.<br><br>Suggestions:<ul><li>Make sure all words are spelled correctly.</li><li>Try different keywords.</li><li>Try more general keywords.</li></ul></div>');
        } else {
            jQuery.each(data.results, function(i, result) {
                li = '<li><a href="' + result.url + '" title="' + result.titleNoFormatting + '" target="_blank">' + result.titleNoFormatting + '<\/a><br\/>' + result.content + '<\/li>';
                html.append(li);
            });
            jQuery.each(data.cursor.pages, function(i, page) {
                if (page.start == start) {
                    pages.append('<span>' + page.label + '</span>');
                } else {
                    a = jQuery('<a href="javascript:void(0);" rel="' + page.start + '" title="' + page.label + '">' + page.label + '</a>').data("ajax", {rel:page.start,animate:false});
                    pages.append(a);
                }
            });
        }
        jQuery('#GR').find('>div.GR_zoomimage_content').append(html).append(pages).show().end().find('div.GR_zoomimage_s, div.GR_zoomimage_sc, div.GR_zoomimage_scc').show().end().addClass('GR_zoomimage_focused').stop().animate({"left":jQuery('#GR').data("css").left,"top":jQuery('#GR').data("css").top,"width":jQuery('#GR').data("css").width,"height":jQuery('#GR').data("css").height}, "normal", function() {
        });
    },error:function(XMLHttpRequest, textStatus, errorThrown) {
        alert("Ajax Error! Results are NOT updated! Try again with REFRESH button.");
    },complete:function() {
        jQuery('#indicator').hide();
        jQuery('#searchClose').show();
        jQuery('#GR').find('>div.GR_zoomimage_content').unblock().end();
    }});
    pageTracker._trackPageview('/search/' + trackData);
    return false;
}
var CloseSearch = function(event) {
    jQuery('#searchClose').hide();
    jQuery('#indicator').show();
    jQuery('#GR').stop().animate({"top":jQuery('#GR').data("css").top0,"left":jQuery('#GR').data("css").left0,"width":"0px","height":"0px"}, "normal", function() {
        jQuery('#GR').find('>div.GR_zoomimage_content').empty().hide().end().find('div.GR_zoomimage_s').hide().end();
        jQuery("input[name='s']").val("");
        b();
        jQuery('#indicator').hide();
    }).hide().removeClass('GR_zoomimage_focused');
    return false;
}
jQuery(document).ready(function() {
    jQuery("input[name='s']").blur(b);
    jQuery("input[name='s']").focus(f);
    if (!/[&?]s=[^&]/.test(l.search)) {
        b();
    } else if (/[&?]s=[^&]/.test(l.search)) {
        jQuery("input[name='s']").val(getQueryVariable("s"));
    }
    template.appendTo('body').attr('id', 'GR').append('<img src="cssjs/i/ajax-loader.gif" width="32" height="32" alt="Loading" id="indicator" style="display:none" />').append('<img src="cssjs/i/close.png" width="32" height="32" alt="Close" id="searchClose" class="iePNG" style="display:none" />');
    jQuery("#search-form input[name='s']").bind("keypress", function(e) {
        if (e.which == 13) {
            jQuery(e.target).data("ajax", {rel:"0",animate:true});
            GoogleSearch(e);
        }
    });
    jQuery('#search-form a.button').data("ajax", {rel:"0",animate:true}).bind("click", GoogleSearch);
    //jQuery('.returnPages > a').live("click", GoogleSearch);
	jQuery('.returnPages > a').bind("click", GoogleSearch);
    jQuery('#searchClose').bind("click", CloseSearch);
});

