$(document).ready(function(){

    /* leftmenu links */
    $('.left dt a').hover(
        function(){$(this).closest('dl').find('dd a').addClass('hover');},
        function(){$(this).closest('dl').find('dd a').removeAttr('class');}
    );



    if ($(".c-thumbs"))
    {
        $(".c-thumbs").scrollable();
        var scr = $(".c-thumbs").data("scrollable");
        if (scr)
        {
            if (pnum)
            {
                var t = Math.ceil(pnum/4)-1;
                scr.seekTo(t,1);
            }
        }
    }




    /* where-to-buy interactive map */
    var tbody = $('#cities tbody');
        tbody.css('display', 'none');

    var cities = $('.map a');
        cities.click(function(){
            tbody.css('display', 'none');
            cities.removeClass('active');

            var a = $(this);
                a.addClass('active');

            $('.where h2').text(a.text());

            var href = a.attr('href');
                href = href.replace('#', '');

            var display = ($.browser.msie) ? 'block' : 'table-row-group';

            $('#cities').find('tbody.'+href)
                        .css('display', display);
        });

    var hash = location.hash;
        hash = (hash) ? hash.replace('#', '') : 'riga';

    $('.map').find('a.'+hash).trigger('click');










    /* feedback */
    $('.feedback').find('#email').focus();










    /* catalog -> slideshow */
    jQuery.extend(jQuery.easing, {
        easeOutExpo: function(x, t, b, c, d){
            return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;
        }
    });

    var cVisible = 4;
    var cCount = $('.c-thumbs li').length;
    var cWidth = 160;
    var ci = 0;
    var cSlideshow = function(arrow){
        if(!arrow.hasClass('disabled')){
            (arrow.hasClass('next')) ? ci++ : ci--;

            var ul = $(".c-thumbs-list ul");
                ul.animate({left: -cWidth*ci}, 500, 'easeOutExpo');

            $('.c-thumbs .arrow').removeClass('disabled');

            if(ci==0 || ci+cVisible>=cCount){
                arrow.addClass('disabled');
            }
        }
    }

    if(cCount > cVisible){
        $('.c-thumbs-list ul').css('width', cCount*cWidth);
        $('.c-thumbs .arrow').click(function(){
            cSlideshow($(this));
            return false;
        });
        $('.c-thumbs a.next').removeClass('disabled');
    }



    /* catalog -> thumbs */
    //$('.c-item').hide();

    var cThumbs = $('.c-thumbs-list a');
        cThumbs.click(function(){
            cThumbs.removeAttr('class');
            $(this).addClass('selected');
            //$('.c-item').hide();

            var href = $(this).attr('href').replace('#', '');
            $('#'+href).removeAttr('style');
        });

    var hash = location.hash;
        hash = hash.replace('#', '');

    if(hash){
        $('.c-thumbs-list').find('a[href=#'+hash+']').trigger('click');
    }else{
        $('.c-thumbs-list a').eq(0).trigger('click');
    }



    /* catalog -> additional photos */
    var additional = $('.c-additional a');
    /*
        additional.click(function(){
            additional.removeAttr('class');
            $(this).addClass('selected');

            var image = $(this).closest('.c-item').find('.c-picture img');
                image.attr('src', $('img', this).attr('src').replace('tiny', 'big'));

            return false;
        });
        */










    /* registration */
    $('.registration dl.tabs dt.tab').click(function(){
        if($(this).not('.selected')){
            $(this).siblings()
                    .removeClass('selected')
                    .end()
                    .next('dd')
                    .andSelf()
                    .addClass('selected');
        }
    });

    var hash = location.hash;
        hash = (hash) ? hash.replace('#', '') : 'private';

    $('.registration dl.tabs').find('dt.'+hash).trigger('click');





    var a = 0;




    /* order */
    $('.order img.delete').live('click', function(){
        $(this).closest('tbody').remove();
    });

    var template = $('.order tbody').eq(0).clone();
        template.find(':input').not(':radio').val('').removeAttr('checked').removeAttr('selected');

    $('.order a.dashed').click(function(){
        var pattern = template.clone();
        pattern.find('.radio').attr('name', 'who['+a+']');
        a++;
            pattern.removeAttr('class');
            pattern.find('.category').live('change',
                function(event, mn, vl)
                {
                    var t = $(this).parent().parent().find('.cnamet');
                    t.html('');
                    $.ajax({
                      type: 'GET',
                      url: '/' + lang + '/ajax/cat/'+$(this).parent().parent().find('.category').val() + '/',
                      success: function(data) {
                                t.html(data);
                            } ,
                      dataType: 'text/html'
                    });
                }
        );
        $('.order').find('tfoot').before(pattern);

        return false;
    });

    $('.order a.dashed').click();

    var parameters = $('.order .parameters a');
        parameters.live('click', function(){
            $(this).closest('dl').find('a').removeClass('selected')
            $(this).closest('dl').next().val($(this).attr('class'));
            $(this).addClass('selected');

            return false;
        });

    $('.order select.category').live('change', function(){
        var tr = $(this).closest('tbody').find('tr.parameters');

        if($(this).val() == 2){
            tr.removeClass('hidden');
        }else{
            tr.addClass('hidden');
        }
    });










    /* forms */
    $('form').each(function(){
        new formChecker($(this));
    });



    /* simple form check */
    function formChecker(form){
        var submit = false;
        var button = $('.button', form);
        /*
            button.click(function(){
                if(submit == true){
                    $(form).submit();
                }

                return false;
            });
            */

        var required = form.find('.required');

        if(required.length != 0){
            button.addClass('disabled');

            form.keyup(function(){
                var count = 0;

                required.each(function(){
                    count += Number($(this).val() != '');
                });

                submit = (count == required.length);

                if(submit == true){
                    button.removeClass('disabled');
                }else{
                    button.addClass('disabled');
                }
            });
        }
    };
});

function sendOrder()
{
    var p = getFormValues('oform');
    $.ajax({
      type: 'POST',
      url: '/' + lang + '/ajax/order/',
      data: p,
      success: function(data) {
                if (data.substr(0,2)=='ok')
                {
                    $('#regr').fadeTo('normal', 1);
                    $('#orderp').css('display', 'none');
                }
                else
                {
                    alert(data);
                }
            } ,
      dataType: 'text/html'
    });
}


function setImg(url)
{
    var additional = $('.c-additional a');
    additional.removeAttr('class');
    var image = $('.c-item').find('.c-picture img');
    image.attr('src', '/getimage_crop.php?id='+url);
}

function register(nm)
{
    var p = getFormValues(nm);
    $.ajax({
      type: 'POST',
      url: '/' + lang + '/ajax/register/',
      data: p,
      success: function(data) {
                if (data.substr(0,2)=='ok')
                {
                    $('#regr').fadeTo('normal', 1);
                    $('#rb').css('display', 'none');
                }
                else
                {
                    alert(data);
                }
            } ,
      dataType: 'text/html'
    });
}

function slogin()
{
    var p = getFormValues('flogin');
    $.ajax({
      type: 'POST',
      url: '/' + lang + '/ajax/login/',
      data: p,
      success: function(data) {
                if (data.substr(0,2)=='ok')
                {
                    document.location = '/'+lang+'/order/';
                }
                else
                {
                    alert(data);
                }
            } ,
      dataType: 'text/html'
    });
}

function sendFB()
{
    var p = getFormValues('feedback');
    $.ajax({
      type: 'POST',
      url: '/' + lang + '/ajax/contacts/',
      data: p,
      success: function(data) {
                if (data.substr(0,2)=='ok')
                {
                    $("#freport").overlay({
                        mask: {
                            color: '#000',
                            loadSpeed: 200,
                            opacity: 0.80
                        },
                        api: true ,
                        fixed: false
                    }).load();
                    jQuery('#email').attr('value', '');
                    jQuery('#message').attr('value', '');
                }
                else
                {
                    alert(data);
                }
            } ,
      dataType: 'text/html'
    });
}


function Asc(String)
{
    var res = encodeURIComponent(String);
    return res;

}
function clearFormValues(formId)
{
    var fr = document.getElementById(formId);
    el = fr.elements;
    for(var i = 0; i < el.length; i++)
    {
        elem = el[i];
        if (elem.type == "checkbox")
        {
            elem.checked = false;
        }
        else
        {
            elem.value = '';
        }
    }
    var t = "";
    for (i in  SpawEngine)
    {
        t = t + i + ' - ' +  SpawEditor[i] + ' :::: ';
    }
}
function getFormValues(formId)
{
    var fr = document.getElementById(formId);
    el = fr.elements;
    var req = "";
    var delim = "";
    for(var i = 0; i < el.length; i++)
    {
        elem = el[i];
        if (elem.type == "checkbox")
        {
            if (elem.checked == true)
            {
                req = req + delim + elem.name + "=" + Asc(elem.value);
                delim = "&";
            }
        }
        else
        {
            if (elem.type == "radio")
            {
                if (elem.checked == true)
                {
                    req = req + delim + elem.name + "=" + Asc(elem.value);
                    delim = "&";
                }
            }
            else
            {
                req = req + delim + elem.name + "=" + Asc(elem.value);
                delim = "&";
            }
        }
    }
    return req;
}
