$(document).ready(function(){
 //js1
 (function(){
  function js1(vars){
   var slider=vars.cont.children('.js1');
   
   if(!slider.length)
    return;
   
   var sliderSpan=slider.find('.js1-text');
   var spans=vars.cont.children('.js1-dashed');
   var fst=$(spans[0]);
   var active=vars.active?vars.active:0;
   
   fst.css('margin-left',40);
   slider
    .css('visibility','visible')
    .css('left',fst.offset().left-slider.offset().left-15);//15=25/2+(8-5), 25-padding of .js1-text, (8-5) - padding-left of its wrap-margin
   sliderSpan.css('width',fst.width());
   
   if(active)
   {
    slider.css({left:parseInt(slider.css('left'))+($(spans[active]).offset().left-slider.offset().left)-15});
	$(vars.blocks[0]).css('display','none');
	$(spans[0]).removeClass('js1-active');
	$(vars.blocks[active]).css('display','block');
	$(spans[active]).addClass('js1-active');
	sliderSpan.css('width',$(spans[active]).width());
   }
   
   spans.each(function(i){
    var obj=$(this);
	
    obj.click(function(){
	 if(active!=i)
	 {  
	  slider.stop();
	  sliderSpan.stop();
	  
	  $(vars.blocks[i])
	   .stop()
	   .css('display','block')
	  if(!vars.n)
	   $(vars.blocks[i])
	   .css('opacity',0)
	   .animate({
	    opacity:1
	   },
	   {
	    duration:500,
		complete:function(){
		 
		}
	   });
	  
	  $(vars.blocks[active]).css('display','none');
	  
	  slider.animate({
	   left:parseInt(slider.css('left'))+($(spans[i]).offset().left-slider.offset().left)-15
	  },
	  {
	   duration:500
	  });
	 
	  sliderSpan.animate({
	   width:$(spans[i]).width()
	  },
	  {
	   duration:500
	  });
	  
	  $(spans[i]).addClass('js1-active');
	  $(spans[active]).removeClass('js1-active');
	  active=i;
	 }
	 
	 return false;
	})
   });
  }
  
  setTimeout(function(){
   if(window.slider_!=undefined)
    js1({cont:$(window.slider_.cont),blocks:$(window.slider_.blocks),n:window.slider_.noEffect,active:window.slider_.active});
  },1000);//pathetic chrome/safari "too fast rendering" bug
 }());
 
 //js2
 (function(){
  var unders=$('#js3-block .js3-under');
  
  if(!unders.length||window.noJs3!=undefined)
   return;
  
  var oPics=[];
  var els=[];
  
  $('#js3-block>.js3-wrap').each(function(i,obj){
   oPics[i]=$(obj).find('.js3-under .js1 .js1-text');
   oPics[i].css('opacity',0);
   els[i]={
    a1:$(obj).find('.js1-text-wrap,.js1-v'),
	a2:$(unders[i]).find('.js1-text-wrap,.js1-v'),
	cs:$(obj).find('.js1-l-t,.js1-r-t,.js1-l-b,.js1-r-b'),
	tri:$(obj).find('.js1-tri'),
	c:$(unders[i])
   };
   
   oPics[i].hover(function(){
    $(this).css('opacity',1);
   },
   function(){
    $(this).css('opacity',0.7);
   });
   
   $(this).mouseenter(function(e){
	oPics[i].stop();
	els[i].c.stop().stop();
    els[i].a1.css('background','#fff');
	els[i].a2.css('background','#e6e0d8');
	els[i].cs.css('display','block');
	if(els[i].a2.length)
	  els[i].tri.css('display','block');
	els[i].c.css('display','block');
	els[i].c.animate({
	 marginTop:-6
	},
	{
	 duration:300,
	 complete:function(){
	  oPics[i].animate({
	   opacity:0.7
	  },
	  {
	   duration:300
	  });
	 }
	});
   }).mouseleave(function(e){
    els[i].c.stop();
	oPics[i].stop();
	
	if(!els[i].a2.length)
	{
	 els[i].a1.css('background','transparent');
	 els[i].cs.css('display','none');
	 els[i].tri.css('display','none');
	 els[i].c.css('display','none');
	}
	
	oPics[i].animate({
	 opacity:0
	},
	{
	 duration:300,
	 complete:function(){
	  els[i].c.animate({
	   marginTop:-116
	  },
	  {
	   duration:300,
	   complete:function(){
	    els[i].a1.css('background','transparent');
	    els[i].cs.css('display','none');
		els[i].tri.css('display','none');
	    els[i].c.css('display','none');
	   }
	  });
	 }
	});
   });
  });
 }());
 //toggle
 (function(){
  var t=$('#toggle');
  var dir=false;
  
  if(!t.length)
   return;
  
  t.parent().find('span.js1 .js1-text').mouseenter(function(){
   $(this).css('opacity',1);
  }).mouseleave(function(){
   $(this).css('opacity',0.65);
  });
  
  t.click(function(){
   dir=!dir;
   t.parent()
    .stop()
    .animate({
     marginTop:dir?-6:-110
    },
    {
     
    });
	
   if(dir)
    t.css('background-image','url(images/less.png)').css('height','60px');else
	t.css('background-image','url(images/moar.png)').css('height','109px');;
   
   return false;
  });
 }());
 //lineage
 (function(){
  if(!$('#lineage').length)
   return;
  
  var l=$('#lineage');
  var m=$('#main');
  m.data('pb',parseInt(m.css('padding-bottom')));
  var openers=$('#lineage h2.dashed-dog a');
  var data=$('#lineage>div.js1-block');
  var flag=true;
  
  openers.each(function(i){
   var obj=$(this);
   var dat=$(data[i]);
   
   dat.css({'top':obj.position().top+obj.innerHeight()+($.browser.msie?(-2):3),'left':obj.position().left});
   obj.click(function(){
    dat.css('display','block');
    m.css('padding-bottom',m.data('pb')+parseInt(dat.css('top'))+(dat.innerHeight()-l.innerHeight()>0?dat.innerHeight()-l.innerHeight():0));
	
    return false;
   }).mouseleave(function(){
    flag=true;
    setTimeout(function(){
	 if(flag)
	 {
	  dat.css('display','none');
	  m.css('padding-bottom',m.data('pb'));
	 }
	},500);
   });
   
   dat.mouseenter(function(){
    flag=false;
   }).mouseleave(function(){
	dat.css('display','none');
	m.css('padding-bottom',m.data('pb'));
   });
  });
 }());
 //pups
 (function(){
  var cont=$('#dogsf-block');
  
  if(!cont.length)
   return;
  
  var callers=cont.children('a.js1-dashed');
  var data=cont.children('div.pup-toggle');
  
  cont.css({position:'absolute',left:'-5000px',display:'block'});
  data.each(function(i){
   var obj=$(this);
   
   obj.data('height',obj.innerHeight()).css('height',0).data('dir',false);
   
   $(callers[i]).click(function(){
    obj
	 .stop()
	 .data('dir',!obj.data('dir'))
	 .animate({
	  height:obj.data('dir')?obj.data('height'):0
	 },
	 {
	  
	 });
	
	return false;
   });
  });
  
  cont.css({position:'static',display:'none'});
 }());
 //pups
 (function(){
  if(!$('#pups').length)
   return;
  
  var blocks=$('#kennel-right>div.kennel-block');
  var tabs=$('#pups>div.js1-block a');
  var active=0;
  
  tabs.each(function(i){
   $(this).click(function(){
    if(i!=active)
    {
	 $(tabs[active]).closest('.js1-block').removeClass('active');
	 $(this).closest('.js1-block').addClass('active');
     $(blocks[Math.floor(active/2)]).css('display','none');
     $(blocks[Math.floor(i/2)]).css('display','block');
	 active=i;
    }
	
	return false;
   });
  });
 }());
});
