if ($.browser.mozilla && typeof window.loadFirebugConsole !== "undefined")
 {
    window.loadFirebugConsole();
}

var Application = {
    authenticityToken: function() {
        return $('#authenticity-token').html();

    },

    authenticityTokenParameter: function() {
        return 'authenticity_token=' + encodeURIComponent(Application.authenticityToken());
    }
}

// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults
$(document).ready(function() {
    var zoom_in_action = false;
    var original_width = 466.0;
    var original_height = 528.0;


    $('#flash').fadeOut(5000);
    $('div#mainPhoto a').bind("click",
    function() {
        return false;
    });

    $('div#mainPhoto').draggable({
        containment: $('#container')
    });

    $('a#zoomin').bind("click",function() {
     zoom(900,0) ;
     return false;
    });
    $('a#zoomout').bind("click",function() {
     zoom(original_width,0) ;
    });

    function zoom(width, height) {
        var height = (width / original_width) * original_height
        
        $('img.moozoom').animate({

            width: width + "px",
            height: height + "px"
        },1500,"swing",function() {
            zoom_in_action = false;
        });

        $('div#mainPhoto').animate({
          left:(((original_width-width)/2))+"px",
          top:(((original_height-height)/2))+"px"
        },1500,"swing",function() {
              zoom_in_action = false;
          
        });
        
        


        var right_margin = original_width - width;
        var height_margin = original_height - height;
        var width_container = (2 * width - original_width)
        var height_container = (2 * height - original_height)
        
        

        $('#container').css({
            'width': +width_container + 'px',
            'height': +height_container + 'px',
            'right': right_margin,
            'top': height_margin
        });
    }

    if ($('div#mainPhoto img')) {

        var width = ($('div#mainPhoto img').width() + 1.0);

        var height = (width / original_width) * original_height

        var right_margin = original_width - width;
        var height_margin = original_height - height;
        var width_container = (2 * width - original_width)
        var height_container = (2 * height - original_height)



        $('#container').css({
            'width': +width_container + 'px',
            'height': +height_container + 'px',
            'right': right_margin,
            'top': height_margin
        });

    };

    $('div#mainPhoto img').bind('mousewheel',
    function(event, delta) {
        var dir = delta > 0 ? 'Up': 'Down', vel = Math.abs(delta);


        if (zoom_in_action == false) {
            zoom_in_action = true;
            if (dir == 'Up') {
                zoom(900, 1585);
            } else {
                zoom(466, 528);
            }
        }
    });



    $('div.push').hover(function() {
      $('.description', this).animate(
        {
          color:"#000"
        }
      ,300,"swing");
      
      $('img', this).css("border", "1px solid #aaa");
    	
    },function() {
      $('.description', this).animate(
        {
          color:"#aaa"
        }
      ,300,"swing");
      
      $('img', this).css("border", "1px solid #fff");
      
    });


    $('a.linkToZoom').bind("click",
    function() {
        var a = $(this).attr("href");
        $('#productPhoto a img').attr("src", a);
        $('#productPhoto a').attr("href", a);
        return false;
    });




    /* Geston du tooltip */


    var auto_hide_tooltip = true;

    $('img.tooltip').bind("click",
    function() {
        if (auto_hide_tooltip) {
            $('#area1tooltip').hide();
        }
    });

    $('#area1tooltip').bind("click",
    function() {
        auto_hide_tooltip = true;
    });

    $('div#area1tooltip').bind("click",
    function() {
        auto_hide_tooltip = false;
        //$(element).hover(function() { //Mouseover }, function(){ //Mouseout})
        $('#area1tooltip').hide();

    });

    $("#close").bind("click",
    function() {
        $('#area1tooltip').hide();
        return false;
    });

    // $('area').bind("mouseenter",function() { 
    //       
    //       var coords = $(this).attr('coords').split(',');
    //       var tooltip2 = $('#area1tooltip2');
    //        tooltip2.css("left",(parseFloat(coords[0])-2)+"px")
    //        tooltip2.css("top",(parseFloat(coords[1])-2)+"px")
    // 
    //       tooltip2.show();
    // 
    //     }
    //     );

    $('img.tooltip').bind("click",
    function() {


      //  var coords = $(this).attr('coords').split(',');
        var tooltip = $('#area1tooltip');
        // tooltip.css("left",(10+parseFloat(coords[0]))+"px")
        // tooltip.css("top",(10+parseFloat(coords[1]))+"px")
        var material_id = $(this).attr("alt")
        $('#area1tooltip').html("<div class='notAvailable'>Chargement...</div>");


        

        $.ajax({
            type: "POST",
            data: Application.authenticityTokenParameter(),
            url: "/json/material/" + material_id,
            success: function(data, textStatus) {
                tooltip.html(data);
                
            }
            ,
            error: function(data, textStatus) {
                     
                     
                },
            dataType: "html"
        });


        $('#area1tooltip').show();
        return false;

    });


    /* Geston des menus*/

    var auto_hide_submenu = true;

    function hide_all_menus() {
        if (auto_hide_submenu) {
            // $('#clothSubMenu').addClass("hide");
            // $('#accessorySubMenu').addClass("hide");
            // $('#collectionSubMenu').addClass("hide");
            // $('#objectSubMenu').addClass("hide");
            $('#clothSubMenu').hide();
            $('#accessorySubMenu').hide();
            $('#collectionSubMenu').hide();
            $('#objectSubMenu').hide();
        }
    }
    //
    function show_menu(menu) {
        hide_all_menus();
        menu.show();
//        menu.removeClass("hide");
    }



    $('a#collectionMenu').bind("mouseenter",
    function() {
        show_menu($('#collectionSubMenu'));
    });
    $('a#clothMenu').bind("mouseenter",
    function() {
        show_menu($('#clothSubMenu'));
    });
    $('a#accessoryMenu').bind("mouseenter",
    function() {
        show_menu($('#accessorySubMenu'));
    });
    $('a#objectMenu').bind("mouseenter",
    function() {
        show_menu($('#objectSubMenu'));
    });
    $('#subMenu').bind("mouseleave",
    function() {
        hide_all_menus();
    });
    $('.hideSubmenu').bind("mouseenter",
    function() {
        hide_all_menus()
    });



    $('span.passwordLost a').bind("click",
    function() {
      var span=this.parentNode;
      var form=span.parentNode.parentNode.parentNode;
      var tag=$('#passwordLostTag');
      tag.val("true");
      
      var input=$('input#name');
      if(input.val()=="")
      {
        input.val("Saisissez votre email.");
        input.highlight();
        return false;
      }
      


      var params = {};
      for (var i = form.elements.length - 1; i >= 0; i--)
      {
        params[form.elements[i].name] = form.elements[i].value;
      }
      $.ajax({
        type: "POST",
        url:form.action,
        data: params,
        success: function(data, textStatus){
          $(span).html("Votre nouveau password vous a été envoyé par mail !");
        },
        error: function(data, textStatus){
          throw Error("Erreur ajax");
        },
        dataType: "json"
      });

      
    });


    /* Getion de la page produit*/

    $('#productMaterial a').bind("click",
    function() {
        material_id = $(this).attr("href").substring(1);
        remote_url = "/cart/material/" + material_id;

        $.ajax({
            type: "POST",
            url: remote_url,
            data: Application.authenticityTokenParameter(),
            success: function(data, textStatus) {

                $("#addProductToCart").html(data);

            }
            ,
            error: function(data, textStatus) {

                throw Error("Erreur ajax");
            },
            dataType: "html"
            //dataType: "json"
        });

        remote_url = "/json/productMaterial/" + material_id;
        $.ajax({
            type: "POST",
            url: remote_url,
            data: Application.authenticityTokenParameter(),
            success: function(data, textStatus) {
                $(this).attr("href");

                $('#mainPhoto img.moozoom').attr("src", data.photo_big0);
                //0
                if (data.photo0 === undefined) {
                    $('#productPhotos span.photo0').css("display", "none");
                }
                else {
                    $('#productPhotos span.photo0').css("display", "inline");
                    $('#productPhotos span.photo0 img').attr("src", data.photo0);
                    $('#productPhotos span.photo0 a').attr("href", data.photo_big0);
                };
                //1
                if (data.photo1 === undefined) {
                    $('#productPhotos span.photo1').css("display", "none");
                }
                else {
                    $('#productPhotos span.photo1').css("display", "inline");
                    $('#productPhotos span.photo1 img').attr("src", data.photo1);
                    $('#productPhotos span.photo1 a').attr("href", data.photo_big1);
                };
                //2
                if (data.photo2 === undefined) {
                    $('#productPhotos span.photo2').css("display", "none");
                }
                else {
                    $('#productPhotos span.photo2').css("display", "inline");
                    $('#productPhotos span.photo2 img').attr("src", data.photo2);
                    $('#productPhotos span.photo2 a').attr("href", data.photo_big2);
                };
                //3
                if (data.photo3 === undefined) {
                    $('#productPhotos span.photo3').css("display", "none");
                }
                else {
                    $('#productPhotos span.photo3').css("display", "inline");
                    $('#productPhotos span.photo3 img').attr("src", data.photo3);
                    $('#productPhotos span.photo3 a').attr("href", data.photo_big3);
                };
                //4
                if (data.photo4 === undefined) {
                    $('#productPhotos span.photo4').css("display", "none");
                }
                else {
                    $('#productPhotos span.photo4').css("display", "inline");
                    $('#productPhotos span.photo4 img').attr("src", data.photo4);
                    $('#productPhotos span.photo4 a').attr("href", data.photo_big4);
                };


            }
            ,
            error: function(data, textStatus) {

                throw Error("Erreur ajax");
            },
            // dataType: "html"
            dataType: "json"
        });
        return false;

    });


    if ($("#collections a.current")) {
        $("#collections a.material_link").hide();
        var selector = "#collections a.material_link.page1";

        $(selector).show();
    }

    $("#collections .material").hover(function() {
        //     $(this).css("background-color","#e6e0e2");
        $(this).css("background-color", "#a09c9d");
        $(this).css("border-color", "#fff");
        $(this).css("color", "#000");
        $(".price", this).css("color", "#fff");
    },
    function() {
        $(this).animate({
          backgroundColor :"#fff"
        },300,"swing");
        $(this).css("border-color", "#cbcbcb");
        $(this).css("color", "#726c76");
        $(".price", this).css("color", "#000");
    });

    $('span.refresh a').bind("click",function() {
      $('form.edit_cart').submit();
      return false;
    });
    $('span.empty a').bind("click",function() {
      $('input#hidden_action').val("empty");
      $('form.edit_cart').submit();
      return false;
    });
    $('td.continue a').bind("click",function() {
      $('input#hidden_action').val("continue");
      $('form.edit_cart').submit();
      return false;
    });
    $('td.purchase a').bind("click",function() {
      $('input#hidden_action').val("purchase");
      $('form.edit_cart').submit();
      return false;
    });





    $("#collections .container .material").click(function() {
      
    this.parentNode.click();
      return false;
    }
  );


    $("#collections .number a").click(function() {
        
        $("#collections .number a").removeClass("current");
        $(this).addClass("current");
        $("#collections a.material_link").hide();
        var selector = "#collections a.material_link.page" + $(this).html();


        $(selector).show();

        return false;
    });

    // Changement de la page pricnicpale


    $('#productPhotos span a').bind("click",
    function() {

        $('#mainPhoto img.moozoom').attr("src", $(this).attr("href"));
        return false;
    });

    /* Gestop, du formulaire de commande de la page produit   */

    var focusColor = "#999";
    var initialColor = "#eee";
    var changeColor = "#bc2c2f";




    if (document.getElementById("materials"))
    {
        $("a.increment_button").click(function() {
          $(this).css("background-color","fff");
          change_stock(this,"increment");
          return false;
        });
        $("a.decrement_button").click(function() {
          change_stock(this,"decrement");
          return false;
        });
        $("input.public_button").click(function() {
          change_stock(this,"public");
        });
        $("select#material_sub_category_id").change(function() {
            id = $(":selected", this).val();
            var vid = ":" + id + ":";
            if (vid == "::") {
                $("#materials .materialCard").show();
                return false;
            }


            $("#materials .materialCard").hide();
            $("#materials .materialCard.sc" + id).show();

        });


    }


    if (document.getElementById("carts"))
    {
        $("select#cart_cart_state_id_filter").change(function() {
            id = $(":selected", this).val();
            var vid = ":" + id + ":";
            if (vid == "::") {
                $("tr.cart").show();
                return false;
            }


            $("#carts tr.cart").hide();
            $("#carts tr.cart.cs" + id).show();

        });


    }

    var welcome_image_number=10;

    $('a#previousImage').bind("click",
    function() {
        number = $('#imageWelcome .showing').attr("id");
        number = parseInt(number.substring(5));
        if (number > 1) {
            number2 = number - 1
        } else {
            number2 = welcome_image_number
        }
        $("#imageNumber").html(number2);
        $("#image" + number).removeClass("showing").fadeOut();
        $("#image" + number2).fadeIn().addClass("showing");
        return false;
    });

    $('a#nextImage').bind("click",
    function() {
      
        number = $('#imageWelcome .showing').attr("id");
        number = parseInt(number.substring(5));
        if (number < welcome_image_number) {
            number2 = number + 1
        } else {
            number2 = 1
        }

        $("#imageNumber").html(number2);
        $("#image" + number).removeClass("showing").fadeOut();
        $("#image" + number2).addClass("showing").fadeIn();
        return false;

    });


    if (document.getElementById("nextImage")){
      var randomnumber=Math.floor(Math.random()*welcome_image_number)
      //Choix sans aléatoire de la première image affichée (7= 8 eme image)
      // randomnumber=7;
      
      number = $('#imageWelcome .showing').attr("id");
      number = parseInt(number.substring(5));
      number2=randomnumber+1;
      if(number2!=1){
        
        $("#imageNumber").html(number2);
        $("#image" + number).removeClass("showing").fadeOut();
        $("#image" + number2).addClass("showing").fadeIn();
      }
      else{
        
      }
      white(200);
      
    }


});


function white ( number) {
  $('a#nextImage').animate({
    color:"#ccc"
  },1000);
  $('a#previousImage').animate({
    color:"#ccc"
  },1000);
  
  number=number-1
  if (number>0){
    $('a#nextImage').queue(black(number));    
  }
  
  
};

function black(number){
  
  $('a#nextImage').animate({
    color:"#000"
  },1000);
  $('a#previousImage').animate({
    color:"#000"

  },1000);
  
  if(number>0){
    $('a#nextImage').queue(white(number));    
    
  }
  
};











function change_stock (link,abs) {
  if (abs=="increment"){
    var quantity_required=prompt("Veuillez donner la quantité à incrémenter");    
  }else{ if(abs=="decrement"){
    var quantity_required=prompt("Veuillez donner la quantité à décrementer");    
  }
  else{
    quantity_required=0;
  }
  }
  var form=link.parentNode.parentNode.parentNode;
  var li_quantity=$('li.quantity',form);
  
  var params = {};
  for (var i = form.elements.length - 1; i >= 0; i--)
  {
      params[form.elements[i].name] = form.elements[i].value;
  }
  params["abs"]=abs;
  params["quantity"]=quantity_required;
  params["public"]=$('input.public_button',form).attr("checked");
  $.ajax({
      type: "POST",
      url: form.action,
      data: params,
      success: function(data, textStatus) {
        
          if (data.reload == true) {
              location.reload();
          } else {

              
              li_quantity.html(data.quantity);
              li_quantity.highlight();

          }
      },
      error: function(data, textStatus) {
          throw Error("Erreur ajax");
      },
      dataType: "json"
  });
  
};








function remove_fields(link) {
  $(link).prev("input[type=hidden]").val("1");
  $(link).closest(".fields").hide();
}

function add_fields(link, association, content) {
  var new_id = new Date().getTime();
  var regexp = new RegExp("new_" + association, "g")
  $(link).parent().before(content.replace(regexp, new_id));
}