/*
 * Preload images. Thanks to http://engineeredweb.com/blog/09/12/preloading-images-jquery-and-javascript
 */

(function($) {
  var cache = [];

  $.preLoadImages = function() {
    var args_len = arguments.length;
    for (var i = args_len; i--;) {
      var cacheImage = document.createElement('img');
      cacheImage.src = arguments[i];
      cache.push(cacheImage);
    }
  };
})(jQuery);

/*
 * jQuery Tools 1.2.5 - The missing UI library for the Web
 * 
 * [scrollable, scrollable.navigator]
 * 
 * NO COPYRIGHTS OR LICENSES. DO WHAT YOU LIKE.
 * 
 * http://flowplayer.org/tools/
 * 
 * File generated: Fri Oct 01 13:09:49 GMT 2010
 */
(function(e){function p(f,c){var b=e(c);return b.length<2?b:f.parent().find(c)}function u(f,c){var b=this,n=f.add(b),g=f.children(),l=0,j=c.vertical;k||(k=b);if(g.length>1)g=e(c.items,f);e.extend(b,{getConf:function(){return c},getIndex:function(){return l},getSize:function(){return b.getItems().size()},getNaviButtons:function(){return o.add(q)},getRoot:function(){return f},getItemWrap:function(){return g},getItems:function(){return g.children(c.item).not("."+c.clonedClass)},move:function(a,d){return b.seekTo(l+
a,d)},next:function(a){return b.move(1,a)},prev:function(a){return b.move(-1,a)},begin:function(a){return b.seekTo(0,a)},end:function(a){return b.seekTo(b.getSize()-1,a)},focus:function(){return k=b},addItem:function(a){a=e(a);if(c.circular){g.children("."+c.clonedClass+":last").before(a);g.children("."+c.clonedClass+":first").replaceWith(a.clone().addClass(c.clonedClass))}else g.append(a);n.trigger("onAddItem",[a]);return b},seekTo:function(a,d,h){a.jquery||(a*=1);if(c.circular&&a===0&&l==-1&&d!==
0)return b;if(!c.circular&&a<0||a>b.getSize()||a<-1)return b;var i=a;if(a.jquery)a=b.getItems().index(a);else i=b.getItems().eq(a);var r=e.Event("onBeforeSeek");if(!h){n.trigger(r,[a,d]);if(r.isDefaultPrevented()||!i.length)return b}i=j?{top:-i.position().top}:{left:-i.position().left};l=a;k=b;if(d===undefined)d=c.speed;g.animate(i,d,c.easing,h||function(){n.trigger("onSeek",[a])});return b}});e.each(["onBeforeSeek","onSeek","onAddItem"],function(a,d){e.isFunction(c[d])&&e(b).bind(d,c[d]);b[d]=function(h){h&&
e(b).bind(d,h);return b}});if(c.circular){var s=b.getItems().slice(-1).clone().prependTo(g),t=b.getItems().eq(1).clone().appendTo(g);s.add(t).addClass(c.clonedClass);b.onBeforeSeek(function(a,d,h){if(!a.isDefaultPrevented())if(d==-1){b.seekTo(s,h,function(){b.end(0)});return a.preventDefault()}else d==b.getSize()&&b.seekTo(t,h,function(){b.begin(0)})});b.seekTo(0,0,function(){})}var o=p(f,c.prev).click(function(){b.prev()}),q=p(f,c.next).click(function(){b.next()});if(!c.circular&&b.getSize()>1){b.onBeforeSeek(function(a,
d){setTimeout(function(){if(!a.isDefaultPrevented()){o.toggleClass(c.disabledClass,d<=0);q.toggleClass(c.disabledClass,d>=b.getSize()-1)}},1)});c.initialIndex||o.addClass(c.disabledClass)}c.mousewheel&&e.fn.mousewheel&&f.mousewheel(function(a,d){if(c.mousewheel){b.move(d<0?1:-1,c.wheelSpeed||50);return false}});if(c.touch){var m={};g[0].ontouchstart=function(a){a=a.touches[0];m.x=a.clientX;m.y=a.clientY};g[0].ontouchmove=function(a){if(a.touches.length==1&&!g.is(":animated")){var d=a.touches[0],h=
m.x-d.clientX;d=m.y-d.clientY;b[j&&d>0||!j&&h>0?"next":"prev"]();a.preventDefault()}}}c.keyboard&&e(document).bind("keydown.scrollable",function(a){if(!(!c.keyboard||a.altKey||a.ctrlKey||e(a.target).is(":input")))if(!(c.keyboard!="static"&&k!=b)){var d=a.keyCode;if(j&&(d==38||d==40)){b.move(d==38?-1:1);return a.preventDefault()}if(!j&&(d==37||d==39)){b.move(d==37?-1:1);return a.preventDefault()}}});c.initialIndex&&b.seekTo(c.initialIndex,0,function(){})}e.tools=e.tools||{version:"1.2.5"};e.tools.scrollable=
{conf:{activeClass:"active",circular:false,clonedClass:"cloned",disabledClass:"disabled",easing:"swing",initialIndex:0,item:null,items:".items",keyboard:true,mousewheel:false,next:".next",prev:".prev",speed:400,vertical:false,touch:true,wheelSpeed:0}};var k;e.fn.scrollable=function(f){var c=this.data("scrollable");if(c)return c;f=e.extend({},e.tools.scrollable.conf,f);this.each(function(){c=new u(e(this),f);e(this).data("scrollable",c)});return f.api?c:this}})(jQuery);
(function(d){function p(b,g){var h=d(g);return h.length<2?h:b.parent().find(g)}var m=d.tools.scrollable;m.navigator={conf:{navi:".navi",naviItem:null,activeClass:"active",indexed:false,idPrefix:null,history:false}};d.fn.navigator=function(b){if(typeof b=="string")b={navi:b};b=d.extend({},m.navigator.conf,b);var g;this.each(function(){function h(a,c,i){e.seekTo(c);if(j){if(location.hash)location.hash=a.attr("href").replace("#","")}else return i.preventDefault()}function f(){return k.find(b.naviItem||
"> *")}function n(a){var c=d("<"+(b.naviItem||"a")+"/>").click(function(i){h(d(this),a,i)}).attr("href","#"+a);a===0&&c.addClass(l);b.indexed&&c.text(a+1);b.idPrefix&&c.attr("id",b.idPrefix+a);return c.appendTo(k)}function o(a,c){a=f().eq(c.replace("#",""));a.length||(a=f().filter("[href="+c+"]"));a.click()}var e=d(this).data("scrollable"),k=b.navi.jquery?b.navi:p(e.getRoot(),b.navi),q=e.getNaviButtons(),l=b.activeClass,j=b.history&&d.fn.history;if(e)g=e;e.getNaviButtons=function(){return q.add(k)};
f().length?f().each(function(a){d(this).click(function(c){h(d(this),a,c)})}):d.each(e.getItems(),function(a){n(a)});e.onBeforeSeek(function(a,c){setTimeout(function(){if(!a.isDefaultPrevented()){var i=f().eq(c);!a.isDefaultPrevented()&&i.length&&f().removeClass(l).eq(c).addClass(l)}},1)});e.onAddItem(function(a,c){c=n(e.getItems().index(c));j&&c.history(o)});j&&f().history(o)});return b.api?g:this}})(jQuery);

var rotate = {};

function galleryInit(){
  $(function (){
      var nav_list = $("#collections"),
      img_container = $("#gallery-img-container"),
      tab_links = $("#gallery-nav"),
      img_sign = $("#gallery-sign");
      
      img_container.css({
                          background: "url(/workspace/images/mad.gif) top left no-repeat"
                        });

      function switchImg(className){
        
        /* preload new image */
        var img_src = "/workspace/images/gallery/" + className + ".jpg";
        $.preLoadImages(img_src);
        
        var new_img = $("<img src=" + img_src + " />");
        new_img.css({
                      zIndex: 10,
                      opacity: 0
                    });
        
        $("img", img_container).css({
                                      zIndex: 20
                                    }).animate({
                                                 opacity: 0
                                               }, 700, function(){
                                                 $(this).detach();
                                               });
        img_container.append(new_img);
        new_img.animate({
                          opacity: 1
                        },500);
        return;
      }

      function setMenuActive(className){
        $(".active", nav_list).removeClass("active");
        $("." + className, nav_list).addClass("active");
        return;
      }

      function setTabActive(className){
        $(".active", tab_links).removeClass("active");
        $("." + className, tab_links).addClass("active");
        return;
      }
      
      function setImgSign(className){
        img_sign.html( $("." + className + " a", nav_list).html() );
        return;
      }
      
      function setImg(className){
        var new_img = ("<img src='images/gallery/" + className + ".jpg' />");
      }
      
      
      /* Show custom image */
      function changeState(className){
        clearTimeout(rotate.timeout);
        startRotatin();
        switchImg(className);
        setTabActive(className);
        setMenuActive(className);
        setImgSign(className);
        return;
      }
      
      /* Show next image */
      rotate.forvard = function(){
        var self = $(".active", tab_links);

        if(self.next().length != 0){
          var className = self.next().attr("class").replace("active", "").split(" ").join("");
        } else {
          var className = $("a:first", tab_links).attr("class").replace("active", "").split(" ").join("");
        }
        
        changeState(className);
        return;
      };
      
      /* Auto rotate */
      rotate.random = function(timeout){
        rotate.timeout = setTimeout("rotate.random(" + timeout + ")", timeout);
        rotate.forvard();
        return 0;
      };
      
      /*
       * 
       * Inits
       * 
       */
      
      function startRotatin(){
        var timeout = 5000;
        rotate.timeout = setTimeout("rotate.random(" + timeout + ")", timeout);
      };
      
      startRotatin();
      
      /* Init event handles */
      /* rectangles click */
      $("a", tab_links).click(function(){
                                var className  = $(this).attr("class").split("active");                
                                if( $(".active", tab_links).attr("class") == $(this).attr("class") ){
                                  return false;
                                }                                
                                changeState(className);
                                return false;
                              });
      
      /* Image click forward */
      $("#gallery-img-container img").live("click", function(){
                                             rotate.forvard();
                                           });
    });
};

function collectionInit(){
  $(function(){
      initLargePhotoShow();
      initChangeDress();
      initGorizontalScroll();
    });
  
  function initLargePhotoShow(){
    $(".collection-photos-list a").live("click", function(){
                                          var self = $(this);
                                          
                                          var img_path = $("img",self).attr("src").split("/");
                                          img_path[img_path.length-2] = img_path[img_path.length-2].replace("preview", "");
                                          //preview
                                          var large_path = img_path.join("/");
                                          $(".current-dress-image").html("<img src='" + large_path + "' width='313' height='473' />");
                                          
                                          $(".collection-photos-list .current").removeClass("current");
                                          self.parent().addClass("current");
                                          return false;
                                        });
  };
  
  function initChangeDress(){
    /*
    $(".dress-lists-el").live("click", function(){
                                var self = $(this);
                                $.ajax({
                                         url: self.attr("href"),
                                         type: "text/html",
                                         method: "get",
                                         success: function(data){
                                           var html = $(data);
                                           $(".dress-details").replaceWith( $(".dress-details", html) );
                                         }
                                       });
                                $(".dresses-list-els .current").removeClass("current");
                                self.addClass("current");
                                return false;
                              });
     */
  }
  
  function initGorizontalScroll(){
  // Condition added 16.12.2010
  if ($('.dress-lists-wrp>div').length > 5) {
		$(".dresses-list-prev-link, dresses-list-next-link").click(function(){
																	 return false;
																   });
		$(".dresses-list").addClass("scrollable");
		$(".dress-lists-wrp").mbScrollable({
		  elementsInPage: 5,
		  controls: ".dresses-list",
		  width: 705,
		  autoscroll: false
		}).goToPage(parseInt(($(".dress-lists-el.current").index(".dress-lists-el") / 10)) + 1);
	}
  }
};

function newsInit(){
  $(function(){
      var hash = window.location.hash.substr(1);
      $(".news-list-body-cat").css({
        display: "none"
      });
      showCustomNode($("a[name=" + hash + "]"));
      newsFolding();
    });
  
  function newsFolding(){
    $(".news-full .full-news-title").live("click", function(){
                                            var self = $(this);
                                            showCustomNode(self);
                                            return false;
                                          });
  };
  
  function showCustomNode(self){
    var more_text = $(".news-list-body-cat" ,self.parent());
    if(more_text.hasClass("current")){
      more_text.toggleClass("current");
    } else {
      more_text
        .css({
               display: "block",
               opacity: 0
             })
        .animate({
                   opacity: 1
                 }, 200, function(){
                   more_text
                     .addClass("current")
                     .attr("style", "");
                 });
    }
  };
};

$(function(){
    $("#gallery-sign").html("Свадебный салон «Лоранс»").css({margin: "0 20px 0 0"});
  });

