// JavaScript Document
//Cufon.replace('#main-menu>li>a');
//Cufon.replace('#header>h2');
//Cufon.replace('.submenu h2');

Cufon.replace('.carlist>li>a');
Cufon.replace('#header>h2');
Cufon.replace('.submenu h2');

//if (window.ie7lte == undefined) {
	//Cufon.replace('.submenu li a');
//}
//Cufon.replace('#items-slogan');
var _mainPageSliderPosition = 1;
var _mainPageSliderIntervalID = null;
var _needToBeLoadedImages = new Array();
var _loadedImages = new Array();
var _sliderImages = new Array();
var _imagesAreLoaded = false;


$(document).ready( function() {	
	var overlay = $("#overlay").height();
	/* global background height fix */
	$("#overlay-start object").css({'height': overlay});
	/* slider install */
	$("#overlay").css({'background-repeat' : "no-repeat"});
	//$("#models-list a").click (function() {return false});
	$("#models-list a").mouseover(function() {
		disableSlider(_mainPageSliderIntervalID);
		var _imageSrc = $(this).attr("rel");
		sliderChangeImage(_imageSrc,true);		
		return false;
	});
	$("#models-list a").mouseout(function() {
		if (_mainPageSliderIntervalID == null) {
			_mainPageSliderIntervalID = enableSlider(); 
		}
	});
	/*if ($("#models-list").length > 0) {
		$(window).load(function() {
			$('#preload_block').hide();
			
			$("#models-list a").each(function () {
				_needToBeLoadedImages.push($(this).attr("rel"));
				_sliderImages.push($(this).attr("rel"));
			});
			//correct order
			_needToBeLoadedImages.reverse().pop();
			//copy info
			//_sliderImages.reverse();
			//alert(_sliderImages.join(";"));
			loadImagesInChain();
		});	
		$("body").append("<div id=\"preload_block\"><img src=\"/themes/infiniti/images/ajax_loader.gif\" /></div>");
		$('#preload_block').show();
		$("#overlay").css({'background-image' : 'url("' + $("#models-list a:first").attr('rel') + '")'});
	}*/
	
	function enableSlider() {
		intervalID = window.setInterval(function () {
			sliderChangeImage(_sliderImages[_mainPageSliderPosition])
			_mainPageSliderPosition = (_mainPageSliderPosition + 1) % _sliderImages.length;
			}, 5000);
		
		return intervalID;
	}
	
	function disableSlider(intervalID) {
		clearInterval(intervalID);
		_mainPageSliderIntervalID = null;
	}

	/*function sliderChangeImage(_imageSrc, _forceDisable ) {
		if (typeof _forceDisable == "undefined") {
			_forceDisable = false;
		}
		disableSlider(_mainPageSliderIntervalID);
		if (jQuery.inArray(_imageSrc,_loadedImages) == -1) {
			//not loaded
			$("#overlay").stop().animate(
					{opacity:"0"}, 300, null, function() {
						var img = new Image();
						
						img.onload = function() {
							$("#overlay").animate(
									{opacity:"0"}, 0, null, function() {
										$("#overlay").css({'background-image' : 'url("' + _imageSrc + '")'});
										$("#overlay").animate(
											{opacity:"1"}, 300, null, function () {
												if ((_forceDisable == false) && (_mainPageSliderIntervalID == null)) {
													_mainPageSliderIntervalID = enableSlider(); 
												}
											}
										);				
									}
							);							
							img.onload = function(){};
						};
						img.src = _imageSrc;					
						
						_loadedImages.push(_imageSrc);
					});
		} else {
			$("#overlay").stop().animate(
				{opacity:"0"}, 300, null, function() {
					$("#overlay").css({'background-image':'url("' + _imageSrc + '")'});
					$("#overlay").animate(
							{opacity:"1"}, 300, null, function () {
								if ((_forceDisable == false) && (_mainPageSliderIntervalID == null)) {
									_mainPageSliderIntervalID = enableSlider(); 
								}
							}
					);
				});				
		}
		return true;
	}*/
	
	function loadImagesInChain () {
		if(_needToBeLoadedImages.length > 0) {
			img = new Image();			
			img.onload = function() {
				img.onload = function(){};
				_loadedImages.push(img.src);
				if(_needToBeLoadedImages.length > 0) {
					loadImagesInChain();
				} else {
					//СЃР»Р°Р№РґРµСЂ Р±СѓРґРµС‚ С‚СѓС‚
					_mainPageSliderIntervalID = enableSlider();
				}
			};
			img.src = _needToBeLoadedImages.pop();
		}
	}
	
	
    if($("ul.slider-menu").length)
	    $("ul.slider-menu").tabs("div.slider-content > div", {effect: 'fade', fadeInSpeed: 1000});
    
    $("ul.slider-menu a").click(
        function() {
            var color = $(this).attr('title');
            $("#color-descr").text(color);
        }
    )
	
    if($("div.slider-holder").length)
	    $("div.slider-holder").scrollable({item:"li", size:3, clickable: true }).mousewheel(); 
    
    if($("div.slider-holder-colors").length && $("div.slider-holder-colors .items li").length > 7)
        $("div.slider-holder-colors").scrollable({item:"li", size:7, clickable: true, vertical: true }).mousewheel(); 
    
	/* gallery */
	$("#gallery-holder .items a").click (function() {
		var _imageSrc = $(this).attr("rel");
		$("#overlay").css({'background-repeat' : "no-repeat"});
		$("#overlay").css({'background-position' : "center center"});
		$("#overlay").stop().animate(
			{opacity:"0"}, 400, null, function() {							
				if (jQuery.inArray(_imageSrc,_loadedImages) != -1) {
					//$("#overlay").animate(
					//		{opacity:"0"}, 100, null, function () {
								$("#overlay").css({'background-image':'url("' + _imageSrc + '")'});
								
								setTimeout(function() {
									$("#overlay").animate(
									{opacity:"1"}, 500
									);				
								}, 500);
							//}
					//);
					
				} else {
					
					var img = new Image();
					$("body").append("<div id=\"preload_block\"><img src=\"/themes/infiniti/images/ajax_loader.gif\" /></div>");//add loader to the page
					$('#preload_block').show();
					img.onload = function() {	
						//$("#overlay").animate(
						//		{opacity:"0"}, 300,null, function() {
									$("#overlay").css({'background-image' : 'url("' + _imageSrc + '")'});
									
									setTimeout(function() {
										$("#overlay").animate(
										{opacity:"1"}, 500
										);				
									}, 500);
									$('#preload_block').hide();
									img.onload = function(){};
									//img = null;
									_loadedImages.push(_imageSrc);
						//});
						
					};
					img.src = _imageSrc;					
				}
			});				
		return true;
	});
	
	$("#gallery-holder .items-holder").scrollable({
		//item:"a", 
		vertical:true, 
		next:".next" ,
		prev:".previous",
		size:3
	}).mousewheel(); 
	
	$("#gallery-holder .items a:first").trigger('click');
    
    if($('h3 + table.tSpecsTable').length) {
        $('h3 + table.tSpecsTable').each( function() {
            $(this).prev('h3').wrapInner('<a href="' + location.href + '#"></a>').addClass('collapse');
            $(this).prev('h3').nextUntil('h3').hide();
        });
        
        $('h3.collapse a').click(function(){
            $(this).parent().nextUntil('h3').toggle();
            $(this).toggleClass('active');
            
            return false;
        });
    }
	
	/*if ($("#models-list a").length > 0) {
		window.onload = function () {
			$("#models-list a").each(function () {
				var _imageSrc = $(this).attr("rel");
				if (jQuery.inArray(_imageSrc,_loadedImages) == -1) {
					_loadedImages.push(_imageSrc);					
					var imgTmp = new Image();
					imgTmp.src = _imageSrc;
					imgTmp.onload = function() {
						imgTmp.onload = function(){};
						//imgTmp = null;
						
					};
				}
			});
		}
	}*/
	/*function loadImageInChainForMainPage (_imagesArray) {
		if (_imagesArray.length > 0) {
			var imgTmp = new Image();
			imgTmp.src = _imagesArray.pop();
			imgTmp.onload = function() {
				imgTmp.onload = function(){};
			};
		} else {
			return true;
		}
	}*/
		
});
