/*
Copyright (c) 2009, Swati Raju. All rights reserved.
Author: Swati Raju
version: 1.0.0
*/
var Y = YAHOO;
var yud = YAHOO.util.Dom;
var yue = YAHOO.util.Event;
var yua = YAHOO.util.Anim;
Y.namespace("LBF");
Y.namespace("LBF.products");

/**
    * LBF products
    *
    * @module LBF products
    * @title LBF products
    * @namespace YAHOO.LBF.products
    * @requires YAHOO, dom, event
    */
Y.LBF.products = function() {
    var tmen    = true;
    var tfront  = true;
    var hred    = true;
    var hfront  = true;
    var wait    = null;
    var showArrow = function(e){
         var arrow = yud.getElementsByClassName("arrow", "div", this);
         var myAnim = new yua(arrow[0], { 
                right: { to: 0 },
                opacity: {to: 1}  
            }, .30, YAHOO.util.Easing.easeOut);
     };
     var showProduct = function(e, val){
          for (var i=0; i< 5; i++){ 
              yud.removeClass("card-" + i, "selected");
              yud.setStyle("mod-car-cont" + (i + 1), "display", "none"); 
          }
          yud.addClass(this, "selected");
          yud.setStyle("mod-car-cont" + val, "display", "block");
          yue.preventDefault(e);
      };
      var showMen = function(e, flag){
         if (flag){
             tmen = true;
             if (tfront){
                 yud.get("img1").src = "http://www.letsbefrankdogs.com/static/imgs/product_car/man_front.jpg";
             }else{
                 yud.get("img1").src = "http://www.letsbefrankdogs.com/static/imgs/product_car/man_back.png";
             }
         } else {
             tmen = false;
             if (tfront){
                 yud.get("img1").src = "http://www.letsbefrankdogs.com/static/imgs/product_car/woman_front.jpg";
             } else {
                 yud.get("img1").src = "http://www.letsbefrankdogs.com/static/imgs/product_car/woman_back.jpg";
             }
         }
          yue.preventDefault(e);
    };
    var showFront = function(e, flag){
         if (flag){
             tfront = true;
             if (tmen){
                 yud.get("img1").src = "http://www.letsbefrankdogs.com/static/imgs/product_car/man_front.jpg";
             }else{
                 yud.get("img1").src = "http://www.letsbefrankdogs.com/static/imgs/product_car/woman_front.jpg";
             }
         } else {
             tfront = false;
             if (tmen){
                 yud.get("img1").src = "http://www.letsbefrankdogs.com/static/imgs/product_car/man_back.png";
             } else {
                 yud.get("img1").src = "http://www.letsbefrankdogs.com/static/imgs/product_car/woman_back.jpg";
             }
         }
          yue.preventDefault(e);
    };
    var showHColor = function(e, flag){
        yud.removeClass("hred", "selected");
        yud.removeClass("hblack", "selected");
         if (flag){
             hred = true;
             if (hfront){
                 yud.get("himg").src = "http://www.letsbefrankdogs.com/static/imgs/product_car/hoodie_red_front.jpg";
             }else{
                 yud.get("himg").src = "http://www.letsbefrankdogs.com/static/imgs/product_car/hoodie_red_back.jpg";
             }
         } else {
             hred = false;
             if (hfront){
                 yud.get("himg").src = "http://www.letsbefrankdogs.com/static/imgs/product_car/hoodie_black_front.jpg";
             } else {
                 yud.get("himg").src = "http://www.letsbefrankdogs.com/static/imgs/product_car/hoodie_black_front.jpg";
             }
         }
         yud.addClass(this, "selected");
         yue.preventDefault(e);
    };
    var showHFront = function(e, flag){
         if (flag){
             hfront = true;
             if (hred){
                 yud.get("himg").src = "http://www.letsbefrankdogs.com/static/imgs/product_car/hoodie_red_front.jpg";
             }else{
                 yud.get("himg").src = "http://www.letsbefrankdogs.com/static/imgs/product_car/hoodie_black_front.jpg";
             }
         } else {
             hfront = false;
             if (hred){
                 yud.get("himg").src = "http://www.letsbefrankdogs.com/static/imgs/product_car/hoodie_red_back.jpg";
             } else {
                 yud.get("himg").src = "http://www.letsbefrankdogs.com/static/imgs/product_car/hoodie_black_back.jpg";
             }
         }
          yue.preventDefault(e);
    };
    var closeNutritional = function(e){
         wait.hide();
         yue.preventDefault(e);
     };
     var showHuman = function(e, val){
         var content        = yud.get("lb-content");
         content.innerHTML  = "";
        if (!wait) {
            wait = 
                new YAHOO.widget.Panel("wait",  
                    { width: "645px", 
                      fixedcenter: true, 
                      close: false, 
                      draggable: false, 
                      zindex:4,
                      modal: true,
                      visible: false
                     } 
                 );
        }
        switch(val){
            case 1:
               wait.setHeader("<h2><span><span>FRANK T</span></span></h2><a href='#' id='lb-close' class='close'></a>");
               var html = "<div class='l-merc'><img src=\"http://www.letsbefrankdogs.com/static/imgs/lb/shirt.png\"/></div>";
               break;
             case 2:
               wait.setHeader("<h2><span><span>FRANK HOODIE</span></span></h2><a href='#' id='lb-close' class='close'></a>");
               var html = "<div class='l-merc'><img src=\"http://www.letsbefrankdogs.com/static/imgs/lb/hoodie.jpg\"/></div>";
               break;
            case 3:
                wait.setHeader("<h2><span><span>FRANK CAP</span></span></h2><a href='#' id='lb-close' class='close'></a>");
                var html = "<div class='l-merc'><img src=\"http://www.letsbefrankdogs.com/static/imgs/lb/cap.jpg\"/></div>";
                break;
            case 4:
                wait.setHeader("<h2><span><span>FRANK APRON</span></span></h2><a href='#' id='lb-close' class='close'></a>");
                var html = "<div class='l-merc'><img src=\"http://www.letsbefrankdogs.com/static/imgs/lb/apron.png\"/></div>";
                break;
             default:
        }
        wait.setBody(html);
        wait.render(document.body);
        wait.show();
        yue.on('lb-close', "click", closeNutritional);
        yue.on("wait_mask", "click", closeNutritional);
        yue.preventDefault(e);
      };
      var showSpeech = function(e){
             yud.setStyle("speech", "display", "block");
              var myAnim = new yua("speech", { 
                  opacity: { to: 1 }  
              }, .5, YAHOO.util.Easing.easeOut); 
              myAnim.animate();
          };
          var hideSpeech = function(e){
               var oRelatedTarget = yue.getRelatedTarget(e);
               if (oRelatedTarget != yud.get("speech") && !yud.isAncestor( yud.get("speech"), oRelatedTarget)){
                    var myAnim = new yua("speech", { 
                       opacity: { to: 0 }  
                    }, .5, YAHOO.util.Easing.easeOut);
                    var done = function(){
                        yud.setStyle("speech", "display", "none");
                    } 
                    myAnim.onComplete.subscribe(done);
                    myAnim.animate();
               }
           };
          var doNothing = function(e){
                 yue.preventDefault(e);
          };
    return{
        /**
        * init page
        *
        * @method init
        * @param
        * @returns
        */
        init: function() {
            var carousel = new YAHOO.widget.Carousel("mod-carousel", { 
                numVisible: 4,
                scrollIncrement: 1,
                animation: { 
                    speed: 0.3, 
                    effect: YAHOO.util.Easing.easeOut
                },
                navigation:{
                    next: yud.get("car-next"),
                    prev: yud.get("car-prev")
                }
            });
            carousel.set("animation", { speed: 0.5 }); 
            carousel.render(); 
            carousel.show(); // display the widget
            var grid = yud.get("mod-grid");
            var pA = yud.getElementsByClassName("prod", "a", grid, true);
            yue.on(pA, "mouseover", showArrow);
            yue.on("card-0", "click", showProduct, 1, false);
            yue.on("card-1", "click", showProduct, 2, false);
            yue.on("card-2", "click", showProduct, 3, false);
            yue.on("card-3", "click", showProduct, 4, false);
            yue.on("card-4", "click", showProduct, 5, false);
            
            yue.on("men", "click", showMen, true, false);
            yue.on("women", "click", showMen, false, false);
            
            yue.on("tfront", "click", showFront, true, false);
            yue.on("tback", "click", showFront, false, false);
            
            yue.on("hfront", "click", showHFront, true, false);
            yue.on("hback", "click", showHFront, false, false);
            
            yue.on("hred", "click", showHColor, true, false);
            yue.on("hblack", "click", showHColor, false, false);
            
            //yue.on("view1", "click", showHuman, 1, true);
            yue.on("view2", "click", showHuman, 2, true);
            yue.on("view3", "click", showHuman, 3, true);
            yue.on("view4", "click", showHuman, 4, true);
            
            if (body_class != "ie"){
                yue.on("dog-talk", "mouseover", showSpeech, null, false);
                yue.on("dog-talk", "mouseout", hideSpeech, null, false);
            }
            yue.on("dog-talk", "click", doNothing, null, false);
        }
    };
}();
Y.LBF.products.init();