﻿//common
String.prototype.startsWith = function(t, i) {
    if (i == false) {
        return
(t == this.substring(0, t.length)); } else { return (t.toLowerCase()
== this.substring(0, t.length).toLowerCase()); } }

String.prototype.endsWith = function(t, i) { if (i==false) { return (t
== this.substring(this.length - t.length)); } else { return
(t.toLowerCase() == this.substring(this.length -
t.length).toLowerCase()); } } 

//links
$(document).ready(function() {
    $('a').each(function() {
        if ($(this).attr('href')) {
            if (($(this).attr('href').startsWith('http://')) && ($(this).attr('rel') != 'l'))
                $(this).attr('target', '_blank');
            else if ($(this).attr('href').indexOf('/share/?t=') >= 0)
                $(this).attr('target', '_blank');
        }
    });
});




//google search
var ws;
var googleresults;
var googleresultsinner;
var activesearch = '';
var searchlang = 'en';

$(document).ready(function () {
    $('#s').bind('focus', ucitajSearch);
});

function dosearch(restrict) {
    if (ws) {
        var searchtxt = $('#s')[0].value;
        var newactivesearch = searchtxt + (restrict ? restrict : '');
        if (newactivesearch != activesearch) {
            googleresults.slideUp('fast');
            ws.setSiteRestriction(restrict);
            ws.execute(searchtxt + ' -filetype:pdf');
            activesearch = newactivesearch;
        }
        else {
            hidesearch();
        }
    }
}
function hidesearch() {
    if (googleresults) {
        $(document).unbind("keydown");
        activesearch = '';
        $('#googleoverlay').fadeOut('normal');
        googleresults.slideUp('normal');
    }
}


var googleapi = false;
function ucitajSearch() {
    $('#s').unbind('focus');
    if (!googleapi) {
        $.getScript('http://www.google.com/jsapi', function () {
            googleapi = true;
            google.load('search', '1.0', { "language": searchlang, "nooldnames": true, "callback": googleloaded });
        });
    }
    else {
        google.load('search', '1.0', { "language": searchlang, "nooldnames": true, "callback": googleloaded });
    }
}
function googleloaded() {
    googleresults = $('#googleresults');
    googleresultsinner = $('#googleresultsinner');

    ws = new google.search.WebSearch();
    ws.setResultSetSize(google.search.Search.LARGE_RESULTSET);
    google.search.Search.getBranding($('#googlebranding')[0]);

    $('#googleoverlay').click(hidesearch);

    ws.setSearchCompleteCallback(null, function (w) {
        googleresultsinner.empty();
        if (!w.results) { return; }
        for (var i = 0, len = w.results.length; i < len; i++) {
            var r = w.results[i];
            googleresultsinner.append(r.html);
        }
        $('.gs-watermark').remove();

        if (w.cursor) {
            var cn = $('<div class="gsc-cursor-box"><div class="gsc-cursor"></div></div>');
            var label = $('<div class="label">&nbsp;</div>');
            cn.append(label);
            for (var i = 0, len = w.cursor.pages.length; i < len; i++) {
                var pn = $('<div class="gsc-cursor-page"></div>');
                if (i == w.cursor.currentPageIndex) {
                    pn.addClass('gsc-cursor-current-page');
                }
                pn.html(w.cursor.pages[i].label);
                pn[0].idx = i;
                pn.bind('click', function () {
                    ws.gotoPage($(this)[0].idx);
                });
                cn.append(pn);
            }
            googleresultsinner.append(cn);

        }

        $(document).keydown(function (event) {
            if (event.keyCode == 27) {
                hidesearch();
            }
        });

        $('#googleresults .googleclose').click(hidesearch);

        $('#googleoverlay').css({ 'width': $(window).width(), 'height': $(document).height(), 'opacity': 4 / 10, 'top': 0 });
        $('#googleoverlay').fadeIn('normal');
        $('#googleresults').css({ 'top': 30, 'left': $(window).width() / 2 - 250 });
        googleresults.slideDown('normal');

    }, [ws]);
}

function getQueryStringByName(name) {
    name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
    var regexS = "[\\?&]" + name + "=([^&#]*)";
    var regex = new RegExp(regexS);
    var results = regex.exec(window.location.href);
    if (results == null)
        return "";
    else
        return decodeURIComponent(results[1].replace(/\+/g, " "));
}

$(document).ready(function () {
    var q = getQueryStringByName('search');
    if (q != '') {
        var h3 = $("h3:contains('" + q + "')");
        if (h3.length == 1) {
            $('html, body').animate({
                scrollTop: h3.offset().top - 30
            }, 1000);

        }
    }
});

