var t = $('#player_home');
var player  = t[0];
function start_play() {
    t[0].play()
}
$(document).ready(function(){

    t = $('#player_home');


    var isiPad = navigator.userAgent.match(/iPad/i) != null;

    var dispProduct = false;
    var current_category =0;
    var current_page;
    var country_open = false;

    var url_base = null;
    var nb_products = 5;

    var navClick = false;

    $('#nav_products').selectBox().change( function() {
        getCategories($(this).val(), true);
    });

    $('.nav a, .content_link').live('mousedown',function(){
        navClick = true;
    });


    $('#tabs').tabs();

    /*$("#link_contact").click(function(e) {
        e.preventDefault();
        href = $(this).attr('href');
        window.open(href, 'contact', 'resizable=yes,scrollbars=yes,width=500,height=800');
    });*/

    $(".close").click(function(){
        closePopin();
    });


    $("#link_country").click(function()
    {
        if(! country_open)
        $(".countries").show();
        else
            $(".countries").hide();
        country_open = ! country_open;
        return false;
    });


    $("#page_content").mouseover(function(){
        $(".countries").hide();
        country_open = false;
    });



    if(isiPad){
        $('.over_home').show();
        $('#sound_player').addClass('stop');
    }
    else{
        $('.area').hover(
                function(){
                    var id= $(this).attr('id');
                    $('#over_'+id).show();

                },
                function(){
                    var id= $(this).attr('id');
                    $('#over_'+id).hide();
                }
        );
    }

    if(is_spicebomb == 1) {
        setTimeout('start_play()', 7000);
    } else {
        try {
          t[0].play();
        } catch(e) { ; }
    }

    $('#sound_player').mouseover(function(){$(this).css('cursor', 'pointer');});
    $('#sound_player').click(function(){

        if(player.paused){
            t[0].play();
            $(this).removeClass('stop');
        }
        else{
            t[0].pause();
            $(this).addClass('stop');
        }
    });





    $.address.init(function(event) {

        $('.nav a, .content_link').address(function() {
            return $(this).attr('href').replace(location.pathname, '');
        });
    })
    .change(function(event){

        var url = location.pathname+event.value;

        var tmp = event.value.split("/");
        var controller = tmp[1];

        url = url.replace("//","/");
        url_base = (location.pathname+"#/"+event.value).replace("//","/");

         $('.nav li').each(function() {

             if (getCategoryPath("/"+$(this).find('a').attr('href')) == getCategoryPath(event.path)) {
                 $(this).find('a').addClass('select');
                 $(this).css('background','url("/images/arrow_pink.jpg") no-repeat scroll 5px 2px');
             } else {
                 $(this).find('a').removeClass('select');
                 $(this).css('background', 'none');
             }
         });

        if(navClick && current_page){
            closePopin((controller == "product") ? requestProduct : getContent, url);
        }
        else if(controller=="content")
        {
            getContent(url);

        }
        else requestProduct(url);

    });


    var getContent= function(url){
        $.get(url, function(data) {
            var h = $(".page").height();
            var w = $(".page").width();
            dispProduct = true;
            navClick = false;
            current_page = $("#content_page");
            $("#content_page").find(".content").empty().append(data)
            $("#content_page").css({"overflow":"auto","top": -h, "left": "50%" , "margin-left": (-w/2)+"px"}).show().stop().animate({top: 0}, 1200,showRubans);
        });
    }


    var requestProduct = function(url){
        $.ajax({
              url: url,
              dataType: 'json',
              success: function(data){
                    loadProductDatas(data);
          }});
    }


    var closePopin = function(fonct, param){
        var h = current_page.height();
        $('.decor').fadeOut(800);
        current_page.stop().animate({top:-h}, 1200, function(){if($.isFunction(fonct))fonct(param);});
        dispProduct=false;
    }

    var loadProductDatas = function(data){
        navClick = false;
        $('#tabs').tabs( "select" , 0 );


        var h = $("#product_page").height();
        var w = $("#product_page").width();

        $('#img_product').attr("src" , "/images" + data.img);
        $('#tabs-1').html(data.world);
        $('#tabs-2').html(data.bottle);
        $('#tabs-3').html(data.fragrance);

        $('#store_locator').css({'background-color': data.store_locator_color});

        if(data.bottle == "") $('#li-tabs-2').hide();
        else $('#li-tabs-2').show();
        if(data.fragrance == "")$('#li-tabs-3').hide();
        else $('#li-tabs-3').show();

        $('#product_page').attr('class',"page "+data.category_parent_label.replace(" ","-").toLowerCase());
        $('#product_page h2').html(data.category_parent_label);

        buildSelectBox(data.categories, data.category_id);

        if(data.category_parent_label == 'Spicebomb') {
            $("#box_secret_service").hide();
            $("#box_secret_service_spicebomb").show();
            $('#store_locator').css({'background-color': '#0D0B10'});
            $('.selectBox-options').addClass('select_spicebomb');
        } else {
            $("#box_secret_service_spicebomb").hide();
            $("#box_secret_service").show();
            $('#store_locator').css({'background-color': '#9B8D8D'});
            $('.selectBox-options').removeClass('select_spicebomb');
        }
        $('#size').html(data.size);
        $('#product_page h3').html(data.label);


        if(current_category != data.category_id)
            getCategories(data.category_id, false);

        current_category = data.category_id;

        placeProducts();



        //$('#img_product').load(function() {
            if(! dispProduct){
                current_page = $("#product_page");
                $("#product_page").css({"top": -h, "left": "50%" , "margin-left": (-w/2)+"px"}).show().stop().animate({top: 0}, 1200,showRubans);
                dispProduct = true;
            }
        //});


    }

    var loadProductsMini = function(data, changeUrl){

        var products = $("#list_products ").find(".products");
        products.empty();

        if(data.length >= 1){
            for(var i=0; i<data.length; i++)
            {

                var select = (i==0 ) ? 'class="select"' :"";
                products.append('<a href="'+data[i].url+'" address="true" ><img '+select+' src="/images'+data[i].img+'" /></a>');
            }

            if(data.length > 1)
            {
                $("#list_products").show();

                if(data.length>=nb_products)
                    products.width(data.length*(32+30));
                else
                    products.width("auto");

                placeProducts();

                if(data.length > nb_products){
                    $('.nav_products').show();
                    $('.nav_products').mouseover(function(){$(this).css('cursor','pointer');});
                    if(data.length > nb_products){
                        $('#nav_left_products').click(function(){moveProducts(-1);});
                        $('#nav_right_products').click(function(){moveProducts(1);});
                    }
                    else $('.nav_products').hide();
                }
                else{
                    $('.nav_products').hide();
                    moveProducts(0);
                }

            }
            else $("#list_products").hide();


            if(changeUrl)
                window.location=data[0].url;

        }
        else{
            $("#list_products").hide();
        }
    }


    var placeProducts = function(){
        var i=1;
        var products = $("#list_products").find(".products");
        $('#list_products a').each(function() {

             if(url_base == $(this).attr('href'))
             {
                 $(this).addClass("select");
             }
             else
                 $(this).removeClass('select');
             i++;
         });
    }

    var moveProducts = function(sens){

        var products = $("#list_products").find(".products");
        var old_margin = products.css("margin-left").split("px");
        var translation =(sens==0) ? 0 : parseInt(old_margin[0])+sens*(30+32);

        if( (translation >= -($('#list_products a').length - 5)*62) && (translation <= 0 ))
        products.animate({"margin-left":translation},300);
    }

    var showRubans = function(){
        $('.decor').fadeIn(800);
    }

    var buildSelectBox = function(data,select){

        $('#nav_products').selectBox('options', data);
        $('#nav_products').selectBox('value', select);

        if($('#nav_products option').length == 1)
            $('#nav_products').selectBox('disable');
        else
            $('#nav_products').selectBox('enable');
    }

    var getCategories = function(id, changeUrl){
        $.ajax({
              url: location.pathname+"category/"+id,
              dataType: 'json',
              success: function(data){
                    loadProductsMini(data, changeUrl);
              }});
    }

    var getCategoryPath = function(path){
        var t = path.split("/");
        return t[2];
    }

});
