// JavaScript Document
$(function(){
		   
	// Меню карусель
	function bar() {
		var $bar = $('#t-bar2');		
		var $in = $('div.in',$bar);		
		var $ul = $('ul.spec',$in);
		$ul.attr('index','1');
		var $w = parseInt($ul.width());
		var $forw = $('#forward');
		var $back = $('#back');		
		$forw.attr('object','1');
		var $mas;		
		var $liw;
		var $index = 1;
		var $ullength;
		function liwidth(ul) {
			$liw = 0;
			var $li = $('li',ul);
			$li.each(function(index){
				var $obj = $(this);
				$liw += (parseInt($obj.width())+parseInt($obj.css('paddingLeft'))+parseInt($obj.css('paddingRight')));		
			});
			return $liw;
		}
		
		function checkwidth(ul){
			var $i = 0;
			$mas = [];
			while($liw>$w){
				var $last = $('li:last',ul);
				$mas[$i] =  $last.clone();
				$last.remove();
				$i++;
				liwidth(ul);
			}
			newul();
		}
		function newul() {
			if($mas.length>0){
				$index++;
				$in.append('<ul class="spec" index='+$index+' />');
				var $ul = $('ul.spec:last',$in);
				$mas.reverse();
				for(var i=0,l=$mas.length;i<l;i++){
					$ul.append($mas[i]);
				}	
				liwidth($ul);				
				checkwidth($ul);			
			} else {
				$ullength = $('ul.spec',$in).length;
				$in.width($w*$ullength);
				$back.attr('object',$ullength-1);
			}
		}		
		liwidth($ul);
		checkwidth($ul);		
		$forw.click(function(){
			var $num = parseInt($forw.attr('object'));			 
			$in.stop().animate({'marginLeft':-$w*$num},700);
			$num++;
			if($num<$ullength){
				$forw.attr('object',$num)
			} else {
				$forw.attr('object','1').css({'opacity':'1','zIndex':'1'}).stop().animate({'opacity':0},1000,function(){$(this).addClass('hide')});
				$back.css({'opacity':'0','zIndex':'2'}).removeClass('hide').stop().animate({'opacity':1},1000);		
			}
			return false;
		});
		$back.click(function(){
			var $num = parseInt($back.attr('object'));	
			$num--;
			$in.stop().animate({'marginLeft':-$w*$num},700);
			if($num>0){
				$back.attr('object',$num)
			} else {
				$back.attr('object',$ullength-1).css({'opacity':'1','zIndex':'1'}).stop().animate({'opacity':0},1000,function(){$(this).addClass('hide')});
				$forw.css({'opacity':'0','zIndex':'2'}).removeClass('hide').stop().animate({'opacity':1},1000);		
			}			
			return false;
		});
	}
	
	// Меню выпадашка 
	function dropdown(){
		var $bar = $('#t-bar');
		var $li = $('>li',$bar);		
		$li.each(function(){
			var $obj = $(this);
			var $sub = $('div.sub',$obj);
			var $timeout;
			$obj.hover(function(){									
				clearTimeout($timeout);
				$li.removeClass('hover');
				$obj.addClass('hover');					
				if($sub.attr('getleft')!='getleft'){
					var $left = parseInt(getLeft($sub[0]));
					var $width = parseInt($sub.width());
					var $sum = $width + $left;
					if($sum>780){
						$sub.css('left',-($sum-780));
					}
					$sub.attr('getleft','getleft');
				}
			},function(){
				$timeout = setTimeout(function(){
					 $obj.removeClass('hover');
				},300);
			});
		});
	}
	
	// баян
	function bayan(){
		var $pic = $('#pic');
		var $img = $('#flash img');
		var $dpic = $('div.d-pic',$pic);
		var $dhpic = $('div.dh-pic',$pic);
		var $crumbs = $('div.crumbs',$pic);
		var $ddimg = $('div.dd-img',$pic);
		var $ddpic = $('div.dd-pic',$pic);
		var $npic = $('div.n-pic',$pic);
		var $back = $('#back2');
		var $forward = $('#forward2');
		var $conts = $('div.cont',$pic);
		var $contslength = $conts.length;
		var $cur = $('#cur');
		
		var $index=1;
		$img.onImagesLoad({
			selectorCallback:selectorImagesLoaded	
		});
		function selectorImagesLoaded() {
			var $height = $img.height();		
			$dhpic.css('top',-$height);
			$crumbs.css('top',-$height);
			$ddimg.css('top',-$height);
			$ddpic.css('top',-$height);
			$npic.css('bottom',$height);
			$dhpic.click(function(){
				if($dhpic.hasClass('dh-pic-down')){
					$dhpic.removeClass('dh-pic-down');
					$npic.animate({'bottom':$height},500);
					setTimeout(function(){$ddpic.animate({'top':-$height},500)},300);
					setTimeout(function(){$ddimg.animate({'top':-$height},500)},700);
					setTimeout(function(){$crumbs.animate({'top':-$height},500)},900);
					setTimeout(function(){$dpic.animate({'height':$dhpic.height()},200)},1200);
				} else {
					$dhpic.addClass('dh-pic-down');						
					$dpic.animate({'height':$height},200);
					setTimeout(function(){$crumbs.animate({'top':0},500)},200);
					setTimeout(function(){$ddimg.animate({'top':0},500)},300);
					setTimeout(function(){$ddpic.animate({'top':0},500)},700);
					setTimeout(function(){$npic.animate({'bottom':0},500)},900);
					
				}			
				return false;
			});
			$forward.click(function(){	
				var $actcont = $('div.act-cont',$pic);
				$index++;
				$index>$contslength?$index=1:'';
				var $nextcont = $('#id_'+$index);
				$crumbs.css('top',-$height);
				$ddimg.css('top',-$height);
				$ddpic.css('top',-$height);				
				$actcont.removeClass('act-cont').addClass('hide');
				$crumbs.animate({'top':0},500)
				setTimeout(function(){$ddimg.animate({'top':0},500)},200);
				setTimeout(function(){$ddpic.animate({'top':0},500)},500);
				$nextcont.removeClass('hide').addClass('act-cont');
				$cur.text($index);
				return false;
			});
			$back.click(function(){
				var $actcont = $('div.act-cont',$pic);
				$index--;
				$index<1?$index=4:'';
				var $prevcont = $('#id_'+$index);
				$crumbs.css('top',-$height);
				$ddimg.css('top',-$height);
				$ddpic.css('top',-$height);				
				$actcont.removeClass('act-cont').addClass('hide');
				$crumbs.animate({'top':0},500)
				setTimeout(function(){$ddimg.animate({'top':0},500)},200);
				setTimeout(function(){$ddpic.animate({'top':0},500)},500);
				$prevcont.removeClass('hide').addClass('act-cont');
				$cur.text($index);
				return false;
			});
			$dpic.animate({'height':$height},500,function(){
				$dhpic.animate({'top':0},500,function(){
					$crumbs.animate({'top':0},500);
					setTimeout(function(){$ddimg.animate({'top':0},500)},300);
					setTimeout(function(){$ddpic.animate({'top':0},500)},700);
					setTimeout(function(){$npic.animate({'bottom':0},500)},900);
				});				
			});	   
		}
	}
	
	// примочка
	function getLeft(e) {
		var left = e.offsetLeft; 
		while (e.offsetParent) {
			e = e.offsetParent; 
			left += e.offsetLeft; 
		}
		return left; 
	}
	
	
	// подгрузка изображений
	(function($){
		$.fn.onImagesLoad = function(options){
			var self = this;
			self.opts = $.extend({}, $.fn.onImagesLoad.defaults, options);	
			self.bindEvents = function($imgs, container, callback){
				if ($imgs.length === 0){ 
					if (self.opts.callbackIfNoImagesExist && callback){ callback(container); }
				}
				else {
					var loadedImages = [];
					if (!$imgs.jquery){ $imgs = $($imgs); }
					$imgs.each(function(i, val){
						$(this).bind('load', function(){
							if (jQuery.inArray(i, loadedImages) < 0){
								loadedImages.push(i);
								if (loadedImages.length == $imgs.length){
									if (callback){ callback(container); }
								}
							}
						}).each(function(){
							if (this.complete || this.complete === undefined){ this.src = this.src; } 
						});
					});
				}
			};	
			var imgAry = [];
			self.each(function(){
				if (self.opts.itemCallback){
					var $imgs;
					if (this.tagName == "IMG"){ $imgs = this; } 
					else { $imgs = $('img', this); } 
					self.bindEvents($imgs, this, self.opts.itemCallback);
				}
				if (self.opts.selectorCallback){
					if (this.tagName == "IMG"){ imgAry.push(this); }
					else {
						$('img', this).each(function(){ imgAry.push(this); });
					}
				}
			});
			if (self.opts.selectorCallback){ self.bindEvents(imgAry, this, self.opts.selectorCallback); }
	
			return self.each(function(){}); 
		};
	
		$.fn.onImagesLoad.defaults = {
			selectorCallback: null,        
			itemCallback: null,           
			callbackIfNoImagesExist: false 
		};
		
		$('#formzapis').show();
		
		$('.vwmodels').change(function(){
		  $('.vwmodels').removeAttr('disabled');
		  id=$(this).attr('id');
		  if ($(this).val()!='') {
		      $('.vwmodels').attr('disabled','disabled');
		      $('#'+id).removeAttr('disabled');
		  }
		  
		})
		
		
		$('#submbut').click(function(){
		    msg='';
		    if ($('#model').val()=='') msg +='Не выбрана модель автомобиля\n';
		    if ($('#fio').val()=='') msg +='Не заполнено поле "Фамилия, имя, отчество"\n';
		    if ($('#phone').val()=='') msg +='Не заполнено поле "Контактный телефон"\n';
		    if (msg!='') {
			alert(msg);
		    } else {
			$('#testdrive').submit();
		    }   
		    return false;
		})
		
		$('#resetbut').click(function(){
		    //$('#testdrive').reset();
		    
		    
		    $(':input','#testdrive')
		    .not(':button, :submit, :reset, :hidden')
		    .val('')
		    .removeAttr('checked')
		    .removeAttr('selected');

		    
		    return false;
		    
		})
		
		
		/*
		$("#sirline").mousemove(function(e){
		  
		  var pageCoords = "( " + e.pageX + ", " + e.pageY + " )";
		  var clientCoords = "( " + e.clientX + ", " + e.clientY + " )";
		  $("span:first").text("( e.pageX, e.pageY ) - " + pageCoords);
		  $("span:last").text("( e.clientX, e.clientY ) - " + clientCoords);
		  
		},function(e){}
		    $('.menu2').hide();
		)
		*/

		
		
		/*
		$("#top2").mouseout(function(){
		  setTimeout(function(){
			    $('.menu2').hide();
		  },300);
		})
		*/

		
	})(jQuery);
	
	
	dropdown();
	bar();
	bayan();
});