$(document).ready(function(){
	InitMenu();
	InitTabs();
	InitSlide();
	InitGalleryHovers();
	InitGalleryAjax();
	
	initCompanyGallery();
	initTeamSlider();
	initSlideBlocks();
});
function InitTabs(){	
	$('ul.tabs-nav li a').each(function(i){
		$(this).css('outline','none');
		$(this).attr("rel","tab-el-"+i);
		$("#tab-wrapper div.tab-item:eq("+i+") ").addClass("tab-el-"+i);
	});
	if ($("#tab-wrapper .tabs").size() > 0){
		$(".tabs-nav").css("backgroundPosition" , "-150px");
	}
	var animate = false;
	$('ul.tabs-nav li a').click(function(e){
		e.preventDefault();
		var $curLink = $(this);
		var elWidth = $(".tab-item").width();
		var index =$('ul.tabs-nav li').index(this.parentNode);
		
		if ($("#tab-wrapper .tabs").size() > 0){
			index++;
		}
		
		if ($(this).parent().hasClass("tabs-selected")){
			return ;
		}
		
		if (!animate){
			animate = true;
			$("#tab-wrapper").animate({"marginLeft":-index*elWidth+"px"},500,function(){
				$("ul.tabs-nav li").removeClass("tabs-selected");
				$curLink.parent().addClass("tabs-selected");
				animate = false;
			});
			if ($("#tab-wrapper .tabs").size() > 0){
				if (index==1){
					$(".tabs-nav").animate({backgroundPosition: 8+'px 0px'},500,function(){
						$(".tabs-nav").removeClass('ind20');
						$(".tabs-nav").removeClass('ind21');
						$(".tabs-nav").removeClass('ind22');
						$(".tabs-nav").removeClass('ind23');
						$(".tabs-nav").addClass('ind20');
					});
				}
				if (index==2){
					$(".tabs-nav").animate({backgroundPosition: 147+'px 0px'},500,function(){
						$(".tabs-nav").removeClass('ind20');
						$(".tabs-nav").removeClass('ind21');
						$(".tabs-nav").removeClass('ind22');
						$(".tabs-nav").removeClass('ind23');
						$(".tabs-nav").addClass('ind21');
					});
				}
				if (index==3){
					$(".tabs-nav").animate({backgroundPosition: 290+'px 0px'},500,function(){
						$(".tabs-nav").removeClass('ind20');
						$(".tabs-nav").removeClass('ind21');
						$(".tabs-nav").removeClass('ind22');
						$(".tabs-nav").removeClass('ind23');
						$(".tabs-nav").addClass('ind22');
					});
				}
				if (index==4){
					$(".tabs-nav").animate({backgroundPosition: 439+'px 0px'},500,function(){
						$(".tabs-nav").removeClass('ind20');
						$(".tabs-nav").removeClass('ind21');
						$(".tabs-nav").removeClass('ind22');
						$(".tabs-nav").removeClass('ind23');
						$(".tabs-nav").addClass('ind23');
					});
				}
				
			}else{
				$(".tabs-nav").animate({backgroundPosition: 198*index+19+'px 0px'},500,function(){
					$(".tabs-nav").removeClass('ind10');
					$(".tabs-nav").removeClass('ind11');
					$(".tabs-nav").removeClass('ind12');
					$(".tabs-nav").addClass('ind1'+index);
				});
			}
		}
	});
};


var sliderClicked = false;
var intervalId = 0;

function InitSlide(){
	$('div.bottom ul.number li a').each(function(i){
		$(this).css('outline','none');
		$(this).attr("rel","tab-el-"+i);
		$("ul.home-slider li:eq("+i+") ").addClass("tab-el-"+i);
		$("div.bottom ul.title li:eq("+i+") ").addClass("tab-el-"+i);
	});
	var animate = false;
	$('div.bottom ul.number li a').click(function(e){
		sliderClicked = true;
		e.preventDefault();
		var $curLink = $(this);
		if ($(this).parent().hasClass("active")){
			return ;
		}
		
		var rel = $(this).attr("rel");
		
		$("ul.home-slider li."+rel).insertAfter("ul.home-slider > li:first");
		if (!animate){
			animate = true;
			$("ul.home-slider li:not(."+rel+")").animate({"opacity":0},300,function(){
				$(this).css("display","none");
				$("ul.home-slider li."+rel).css("display","block").animate({"opacity":1},300,function(){
					$("div.bottom ul.number li").removeClass("active");
					$curLink.parent().addClass("active");
					animate = false;
				});
				
			});
			$("ul.title li:not(."+rel+")").fadeOut(250,function(){
				$(this).removeClass("active");
				$("ul.title li."+rel).addClass("active");
				$("ul.title li."+rel).fadeIn(250);
			});
			
		}
		
	});
	
	intervalId = setInterval(function(){
					if (!sliderClicked){
						var element = $(".bottom ul.number li.active").next();

						if (element.size() == 0){
							element = $(".bottom ul.number li:first");
						}
						element.find("a").click();
						sliderClicked = false;
					}
				},5000); 
};

function InitMenu(){
	$('#header ul li a').hover(
		function(){
			if (!$(this).hasClass('section')){
				$(this).animate({'borderBottomWidth':'10px','paddingBottom':0},200);
			}else{
				$(this).css('borderBottomWidth','10px');
			}
		},//over
		function(){
			if (!$(this).hasClass('section')){
				$(this).animate({'borderBottomWidth':'0px','paddingBottom':'10px'},200);
			}
		}//out
	);
	/* join our mailing list */
	$('#main div.sign input.form-submit').hover(
		function(){$(this).addClass('hover-submit');},//over
		function(){$(this).removeClass('hover-submit');}//out
	);
};

function InitGalleryHovers(){
	$("ul.slider-page li a span").css("display","none");
	
	$("ul.slider-page li a").hover(
		function(e){
			$(this).css({"position":"relative"});
			$span = $(this).find("span").css({"opacity":0.8,"display":"block"});
			
			if ($.browser.msie && $.browser.version == '6.0'){
				$span.css("bottom","7px");
			}
			else {
				$span.css("margin-bottom","3px");
			}
			
			var height = $span.height();
			$span.css('height',0);
			$span.animate({"height":height+"px"},300);	
		},//over
		function(e){
			var current = $(this);
			setTimeout(function(){
				current.find("span").css('display','none');
			},310);
		}//out
	);
};

function InitGalleryAjax(){
	$("ul.slider-page li a").click(function(e){
		e.preventDefault();
		$("ul.slider-page li").removeClass("active");
		$(this).parent().addClass("active");
		var id = $(this).attr("rel");
		//ajax request here
		$.get(id,function(data){
			$("ul.slider-page li a span").css("display","none");
			var left = -595;
			if ($.browser.msie){
				left = -620;
			}
			$("#image-gallery").animate({"marginLeft":left+"px"},500,function(){
				data = '<div class="bg-showroom2">'+
							'<a href="#" id="thumbnails-back">Back to thumbnails</a>'+
							'<ul>'+
								'<li><a href="#" class="next">next</a></li>'+
								'<li><a href="#" class="back">back</a></li>'+
							'</ul>'+
						'</div>'+data;
				$(".image-additional-info").html(data);
				$(".image-additional-info").hide();
				$(".image-additional-info").fadeIn(800);
				initNewHtmlElements();
			});
		});
	});
	
};

function initNewHtmlElements(){
	$("#thumbnails-back").click(function(e){
		e.preventDefault();
		$("p.xofx").hide();
		$("#image-gallery").animate({"marginLeft":"0"},500,function(){
			$(".image-additional-info").html("");
		});
	});
	$(".bg-showroom2 a.back").click(function(e){
		e.preventDefault();
		var index = $("ul.slider-page li").index($("ul.slider-page li.active")[0]);
		var size = $("ul.slider-page li").size();
		if (index>0){
			index--;
		}
		else {
			index = size -1;
		}
		$("ul.slider-page li").removeClass("active");
		$currentLi = $("ul.slider-page li:eq("+index+")").addClass("active");
		var id = $currentLi.find("a").attr("rel");
		//ajax request here
		$.get(id,function(data){
			var height = $(".image-additional-info .image-info-data").height() +29;
			$(".image-additional-info").css("height",height+"px");
			$(".image-additional-info .image-info-data").fadeOut(700,function(){
				$(".image-additional-info .image-info-data").remove();
				$(".image-additional-info").append(data);
				
				var height = $(".image-additional-info .image-info-data").height() +29;
				$(".image-additional-info").css("height",height+"px");
				
				$(".image-additional-info").hide();
				$(".image-additional-info").fadeIn(700);
			})
			
			
			
		});

	});
	$(".bg-showroom2 a.next").click(function(e){
		e.preventDefault();
		var index = $("ul.slider-page li").index($("ul.slider-page li.active")[0]);
		var size = $("ul.slider-page li").size();
		if (index<size-1){
			index++;
		}
		else {
			index = 0; // start over from beginning
		}	
		$("ul.slider-page li").removeClass("active");
		$currentLi = $("ul.slider-page li:eq("+index+")").addClass("active");
		var id = $currentLi.find("a").attr("rel");
		//ajax request here
		$.get(id,function(data){
			var height = $(".image-additional-info .image-info-data").height() +29;
			$(".image-additional-info").css("height",height+"px");
			$(".image-additional-info .image-info-data").fadeOut(700,function(){
				$(".image-additional-info .image-info-data").remove();
				$(".image-additional-info").append(data);
				
				var height = $(".image-additional-info .image-info-data").height() +29;
				$(".image-additional-info").css("height",height+"px");
				
				$(".image-additional-info").hide();
				$(".image-additional-info").fadeIn(700);
			})
		});
		

	});
};

 Array.prototype.shuffle = function( b )
{
 var i = this.length, j, t;
 while( i ) 
 {
  j = Math.floor( ( i-- ) * Math.random() );
  t = b && typeof this[i].shuffle!=='undefined' ? this[i].shuffle() : this[i];
  this[i] = this[j];
  this[j] = t;
 }

 return this;
};


function initCompanyGallery(){
	$("ul#content-flash li.active").css("display","block").removeClass('active').addClass("show");
	if ($("ul#content-flash").size()){
		
		var idtimer = setInterval(function(){
			
			var imageNumber = Math.floor(Math.random()*6);
			var sizeShowed = $("ul#content-flash li.show").size();
			var showIndexes = new Array();
			for (var i=0;i<sizeShowed;i++){
				showIndexes.push(i);
			}
			var sizeNotShowed = $("ul#content-flash li").not(".show").size();
			var replaceIndexes = new Array();
			for (var i=0;i<sizeNotShowed;i++){
				replaceIndexes.push(i);
			}
			showIndexes.shuffle(false);
			replaceIndexes.shuffle(false);
			for(var i=0;i<imageNumber;i++){
				$("ul#content-flash li.show:eq("+ showIndexes[i] +")").fadeOut(500);
			}
			setTimeout(function(){
				for(var i=0;i<imageNumber;i++){
					var oldHtml = $("ul#content-flash li.show:eq("+ showIndexes[i] +")").html();
					var newHtml = $("ul#content-flash li:not(.show):eq("+ replaceIndexes[i] +")").html();
					$("ul#content-flash li.show:eq("+ showIndexes[i] +")").html(newHtml);
					$("ul#content-flash li:not(.show):eq("+ replaceIndexes[i] +")").html(oldHtml);
					$("ul#content-flash li.show:eq("+ showIndexes[i] +")").fadeIn(500);
				}
			},490);

		},1500);	
	}
}

function initTeamSlider(){
	var $gallery = $("#team-gallery");
	$gallery.find("ul").each(function(){
		if ($(this).hasClass('up')){
			$(this).find("li:first").addClass("active");
		}else{
			$(this).find("li:last").addClass("active");
			var offset = ($(this).find("li").size()-1)*160;
			$(this).css("marginTop",-offset+"px");
		}
	});

	setInterval(function(){
		var $gallery = $("#team-gallery");
		$gallery.find("ul").each(function(){
			if ($(this).hasClass('up')){
				galleryScrollUp($(this));
			}else{
				galleryScrollDown($(this));
			}
			return;
		});
	},3500);
}

function galleryScrollUp(obj){

	var size = obj.find("li").size();

	var index = obj.find("li").index(obj.find("li.active").get(0));

	if (index == size-1){

		obj.find("li:first").appendTo(obj);

		obj.css("marginTop",-(index-1)*160+"px");

		index = size-2;

	}

	index++;

	obj.animate({marginTop:-index*160+"px"},2000,function(){

		obj.find("li").removeClass("active").get(index).className = 'active';		

	});

}

function galleryScrollDown(obj){

	var size = obj.find("li").size();

	var index = obj.find("li").index(obj.find("li.active").get(0));

	if (index == 0){

		obj.find("li:last").insertBefore(obj.find("li:first"));

		obj.css("marginTop",-(index+1)*160+"px");

		index = index+1;

	}

	index--;

	obj.animate({marginTop:-index*160+"px"},2000,function(){

		obj.find("li").removeClass("active").get(index).className = 'active';		

	});

}



function initSlideBlocks(){

	var marginvalue;
	$("div#slider div.slide:first").addClass("active");
	$("div#slider div.slide").click(function(){
		marginvalue=($("div#slider div.slide").index(this)+1)*($(this).width());
		maxmargin=$(this).width()*($("div#slider > div.slide").size()-1);
		if (marginvalue>maxmargin) {
			$(this).parent().animate({"marginLeft":0},400);
			$(this).removeClass('active');
			$("div.slide:first").addClass('active');
			$("ul.menu-sidebar li").removeClass('active');
			$("ul.menu-sidebar li:first").addClass('active');
		}
		else {
			$(this).removeClass('active');
			$(this).next().addClass('active');
			$(this).parent().animate({"marginLeft":-marginvalue},500,function(){
					var list_id=$(this).parent().find("div.active").attr("id");
					if (list_id) {
					var active_slide=$('div#slider > div').index($("div.active")[0]);
						$("ul.menu-sidebar li").removeClass('active');
						$("ul.menu-sidebar li a[rel='#"+list_id+"']").parent().addClass('active');
					}
			});
		}

	});

	$("ul.design li a").click(function(){
		var slider_margin=0
		$("ul.design li").removeClass("active");
		$(this).parent().addClass("active");

		var slide_id=$(this).attr('rel');
		var slide_index=$('div#slider > div').index($("div"+slide_id)[0]);
		$("div#slider > div").removeClass("active");
		$("div#slider > div:eq("+ slide_index +")").addClass('active');
		
		slider_margin=(slide_index)*$("div#slider div.slide").width();
		$("div#slider").animate({"marginLeft":-slider_margin+"px"},400);

		return false;
	});
	
};
