﻿/// <reference path="jquery-1.4.1-vsdoc.js" />

var totalpages = 1;
var lastpage = 1;
var page = window.location.hash.split('#')[1];
var pathname = window.location.pathname;
var ajaxhtml = '<span class="ajaxbar"><img src="/images/ajaxbar-gray.gif" alt="Učitavam" /></span>';

if (pathname.substr(-1) != '/')
    pathname = pathname + '/';

jQuery(function () {

    if (getInternetExplorerVersion() == 6) {
        $('ul.brands, div.logowrapper').pngFix();
        $('div.gallery ul li a img').height(100);
        $('img.secondhand_ribbon').replaceWith('<span class="secondhand_ie6">Second-hand</span>');
    }

    totalpages = $('span.paginator a.nav').length / $('span.paginator').length;
    initCatalogPage();
    loadZebra();

    $('a.fancy').fancybox({ 'titlePosition': 'inside' });
    $('a[rel=ext]').click(function () { window.open(this.href); return false; });

    $('span.paginator a.nav').click(function () {
        var $this = $(this);
        page = parseInt($this.attr('href').split('#')[1]);
        loadCatalogPage(page, $this);
    });

    $('span.paginator a.cmd').click(function () {
        var $this = $(this);
        var href = $this.attr('href');

        if ($this.hasClass('prev'))
            page = lastpage - 1;
        else if ($this.hasClass('next'))
            page = lastpage + 1;

        var load = true;

        if (page < 1) {
            load = false;
            page = 1;
        }
        else if (page > totalpages) {
            load = false;
            page = totalpages;
        }

        if (load) {
            var $page = $('span.paginator a.nav[href="#' + page + '"]');
            window.location.hash = '#' + page;
            loadCatalogPage(page, $page);
        }
    });

    $('input#query').click(function () {
        if ($(this).attr('value') == 'pretraži katalog')
            $(this).attr('value', '');
    });

    $('input#query').blur(function () {
        if ($(this).attr('value') == '')
            $(this).attr('value', 'pretraži katalog');
    });

    $('div.sidebar ul li a.node').click(function () {
        if ($(this).hasClass('expanded'))
            $(this).removeClass('expanded').parent().children('ul').hide();
        else
            $(this).addClass('expanded').parent().children('ul').show();
    });

    $('table.products tr td a.hoverimage').mouseover(function () {
        //...
    });
});

function loadZebra() {
    $('div.catalog-detailed div.entry:odd').addClass('even');
    $('div.catalog-detailed div.entry:even').addClass('odd');
}

function initCatalogPage() {
    if (page != undefined && !isNaN(parseInt(page))) {
        page = parseInt(page);
        var $page = $('span.paginator a.nav[href="#' + page + '"]');
        var $this = $page;
        var url = pathname + 'ajax/' + page;

        $.ajax({
            url: url,
            success: function (data) {
                $('div.catalog-detailed').html(data);
                $this.siblings().removeClass('active');
                $this.addClass('active');
                lastpage = page;

                var lower = (page - 1) * 10 + 1;
                var upper = lower + $('div.catalog-detailed div.entry').length - 1;

                $('strong#productcount_lower').html(lower);
                $('strong#productcount_upper').html(upper);

                loadZebra();
            },
            error: function (data) {

            }
        });
    }
}

function loadCatalogPage(page, $this) {
    if (page != undefined && !isNaN(parseInt(page))) {
        page = parseInt(page);
        var url = pathname + 'ajax/' + page;

        $.ajax({
            url: url,
            success: function (data) {
                $('div.catalog-detailed').html(data);

                $('span.paginator a.nav[href="#' + page + '"]').each(function () {
                    $(this).siblings().removeClass('active');
                    $(this).addClass('active');
                });

                lastpage = page;

                var lower = (page - 1) * 10 + 1;
                var upper = lower + $('div.catalog-detailed div.entry').length - 1;

                $('strong#productcount_lower').html(lower);
                $('strong#productcount_upper').html(upper);

                loadZebra();
                scroll(0, 0);
            },
            error: function (data) {
                $('div.catalog-detailed').html('Greška prilikom učitavanja kataloga.');
            }
        });
    }
}

function getInternetExplorerVersion()
// Returns the version of Internet Explorer or a -1
// (indicating the use of another browser).
{
    var rv = -1; // Return value assumes failure.
    if (navigator.appName == 'Microsoft Internet Explorer') {
        var ua = navigator.userAgent;
        var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
        if (re.exec(ua) != null)
            rv = parseFloat(RegExp.$1);
    }
    return rv;
}
