﻿$(document).ready(function () {
    var references = $('div.references div.items div.item').length;
    var prev = 0;
    var control = '<span class="active"></span>';
    var autoTime = 6000;
    var x = setInterval("$('div.control span').eq(1).trigger('click');", autoTime);
    var items = $('div.carousel div.items div.item').length;
    var item = 0;
    var tabs = $('div.main div.form div.tabs div.tab').length;
    var steps = '<li class="active"><a href="#krok-1" title=""><strong>1<span>. </span></strong>krok</a></li>';
    var height = $('div.tab').eq('0').height();

    $('div.carousel div.items').css({ 'width': items * 236 });
    $('div.references, div.carousel').scrollTo({ top: '0', left: '0' });

    for (i = 1; i < references; i++) {
        var div = $('div.references div.item').eq(i - 1);
        var link = div.find('h2 a').attr('href');
        var title = div.find('h2 a').attr('title');

        if (link) {
            $(div).append('<a href="' + link + '" title="' + title + '" class="overlay"></a>');
        }

        control += "<span></span>";
    }

    $('div.control').html(control);

    $('div.control span').live('click', function () {
        var next = $(this).index();
        var position = 0;

        if (prev == next) {
            return false;
        }

        $('div.references div.item').css({ 'display': 'none' });

        if (next > prev) {
            $('div.references').scrollTo({ top: '0', left: '0' });

            $('div.references div.item').eq(prev).css({ 'display': 'block', 'left': '0' });
            $('div.references div.item').eq(next).css({ 'display': 'block', 'left': '498px' });

            position = 498;
        }
        else {
            $('div.references').scrollTo({ top: '0', left: '498px' });

            $('div.references div.item').eq(next).css({ 'display': 'block', 'left': '0' });
            $('div.references div.item').eq(prev).css({ 'display': 'block', 'left': '498px' });

            position = 0;
        }

        prev = next;

        $('div.control span').removeClass('active');
        $(this).addClass('active');

        $('div.references').scrollTo({ top: '0', left: position }, 800, { easing: 'easeOutExpo' });

        if (next + 1 > references - 1) {
            next = -1;
        }

        clearInterval(x);
        x = setInterval("$('div.control span').eq(" + (next + 1) + ").trigger('click');", autoTime);
    });

    function carousel(item) {
        var position = item * 236;

        $('div.carousel').scrollTo({ top: '0', left: position }, 600,
        {
            easing: 'easeOutExpo',
            onAfter: function () {
                if (item == 0) {
                    $('div.prev').addClass('disabled');
                }

                if (item == 1) {
                    $('div.prev').removeClass('disabled');
                }

                if (item == items - 5) {
                    $('div.next').removeClass('disabled');
                }

                if (item == items - 4) {
                    $('div.next').addClass('disabled');
                }
            }
        });
    }

    if (items < 5) {
        $('div.next').addClass('disabled');
    }

    $('div.prev').click(function () {
        if (item > 0) {
            item = item - 1;

            carousel(item);
        }
    });

    $('div.next').click(function () {
        if (item < items - 4) {
            item = item + 1;

            carousel(item);
        }
    });

    $('div.compare ul li').last().append('<span></span>');

    $('div.compare p.selected').click(function () {
        $('div.compare ul').slideToggle();
    });

    $('div.compare ul li').click(function () {
        $('div.compare ul li').removeClass("active");
        $(this).addClass("active");

        $('div.compare p.selected span').text($(this).text());
        $('div.compare p.selected span input').val($(this).index());
        $('div.compare ul').slideToggle();
    });

    for (i = 1; i < tabs; i++) {
        if (height < $('div.tab').eq(i).height()) {
            height = $('div.tab').eq(i).height();
        }

        steps += '<li><a href="#krok-' + (i + 1) + '" title=""><strong>' + (i + 1) + '<span>. </span></strong>krok</a></li>';
    }

    $('div.main div.form div.tabs').css({ 'width': tabs * 464 });
    $('div.main div.form, div.main div.form div.tabs').css({ 'height': height });

    $('div.main div.steps').html('<ol type="none">' + steps + '</ol>');

    if (tabs < 3) {
        $('div.main div.steps ol').addClass("two");
    }

    $(window).bind('hashchange', function () {
        var hash = window.location.hash || '#krok-1';
        var step = hash.substr(hash.length - 1, 1);
        var position = 464 * (step - 1);
        var timer = 800;

       if ($('td#rowBanka select').hasClass('postback')) {
           timer = 0;
       }

        $('div.form').scrollTo({ top: '0', left: position }, timer, { easing: 'easeOutExpo' });

        $('div.steps ol li').removeClass("active");
        $('div.steps ol li').eq(step - 1).addClass("active");
    });

    $(window).trigger("hashchange");

    $('.req').each(function () {
        $(this).click(function () {
            $(this).removeClass('error');
        }).focusout(function () {
            if ($(this).val() == "") {
                $(this).addClass('error');
            }
        });
    });

    function check(index) {
        var error = false;

        $('div.tab:eq(' + index + ') .req').each(function (index) {
            if ($(this).val() == "" && !$(this).hasClass('invisible')) {
                $(this).addClass('error');

                error = true;
            }
        });

        if (error == true) {
            return false;
        }
        else {
            return true;
        }
    }

    $('#form1').keypress(function (e) {
        if (e.keyCode == 13)
            return false;
        else
            return true;
    });    

    $('a[href^="#krok-2"]').click(function () {
        return check(0);
    });

    $('a[href^="#krok-3"]').click(function () {
        if (check(0)) {
            if (check(1)) {
                return true;
            }
            else {
                window.location.hash = "#krok-2";

                return false;
            }
        }
        else {
            return false;
        }
    });

    $('div.tab p.submit input').click(function () {
        return check($(this).parent().parent().index());
    });


    $('div.greyout p.submit input').click(function () {

        var error = false;

        $('div.greyout .req').each(function (index) {
            if ($(this).val() == "" && !$(this).hasClass('invisible')) {
                $(this).addClass('error');

                error = true;
            }
        });

        if (error == true) {
            return false;
        }
        else {
            return true;
        }

    });
 $('div.formcallme p.submit input').click(function () {

        var error = false;

        $('div.formcallme .req').each(function (index) {
            if ($(this).val() == "" && !$(this).hasClass('invisible')) {
                $(this).addClass('error');

                error = true;
            }
        });

        if (error == true) {
            return false;
        }
        else {
            return true;
        }

    });

    //provede redirect dle zvoleneho typu produktu u dropdown listu
    $('div.compare p.submit input').click(function () {
        $('div.compare ul li').each(function (index) {
            if ($(this).hasClass('active')) {
                window.location.href = $(this).attr('href')
            }
        });
        return false;
    });
    
    //zobrazi title v productcompare u sloupecku
     $('table th a').tipsy({
         gravity: 's',
         delayIn: 500,
         delayOut: 500,
         fade: true,
         opacity: 1
     });
   
   //zadavani PSC
     $('input[id^="tbPSC"], input[id^="tbZip"]').keyup(function (event) {
         if ($(this).val().trim().length == 1) {
             if ($(this).val() - 0 == $(this).val()) {
                 $(this).removeClass('error').next().removeClass('error').val('').focus();
             }
             else {
                 $(this).val('').focus();
             }
         }
         else {
             $(this).val('').focus();
         }
     });
});
