// JavaScript Document
(function($){
		$.fn.jnice = function( options ) {
			
			return $(this).each(function(){				
										 
				var $f = $(this);				
				var settings = $.extend({	
					jcheckbox: true,
					jselect:true
				},options||{});				
				/*checkbox*/
				if(settings.jcheckbox) {
					$(':checkbox',$f).each(function() {
						var $chk = $(this);
						var $checked = $chk.attr('checked');												
						var $a = $('<a/>').addClass('ib v-ml jcheckbox ' + $chk.attr('class'))
						$a.attr('style',$chk.attr('style'));
						
						var $b = $('<b/>').addClass('fl-lt no-txt');						
						if($checked) $a.addClass('jcheckbox-checked');												
						$chk.before($a.append($b)).addClass('hide');
						$chk.click(function() {
							$a.toggleClass('jcheckbox-checked');							
						});						
						$a.click(function(){
							if($chk.attr('checked')) {
								$chk.attr('checked','');
							} else {
								$chk.attr('checked','checked');
							};							
							$a.toggleClass('jcheckbox-checked');	
							return false;
						});						
					});
				};	
				/*selects*/
				if(settings.jselect) {
					($.browser.msie&&parseInt($.browser.version)<8)?ea=true:ea=false;
					$('select', $f).each(function(index){
					var $select = $(this);		
					var $class = $select.attr('class');
					$select.addClass('hide').wrap('<span class="jselect '+$class+'" style="'+$select.attr('style')+'"><div class="jNiceSelectWrapper"></div></span>');
					var $wrapper = $select.parent().css({zIndex: 100-index});
				
					$wrapper.prepend('<a class="selectedItem"  href="#"><span><b></b></span></a><ul class="spec"></ul>');
					var $ul = $('ul.spec', $wrapper);
				
					$('option', $select).each(function(i){
						$ul.append('<li><a href="#" index="'+ i +'">'+ this.text +'</a></li>');
						
					});
					$ul.height()>150?$ul.css('height','150px'):'';					
					$ul.hide().find('a').click(function(){
						var $obj = $(this);
						$('a.selected', $wrapper).removeClass('selected').parent().removeClass('selected-item');
						$obj.addClass('selected').parent().addClass('selected-item');;	
						if($select.attr('selectedIndex')!=$obj.attr('index')&&$select.change) {$select.attr('selectedIndex',$obj.attr('index')); $select.change(); }
						$select.attr('selectedIndex',$obj.attr('index'));						
						$('a.selectedItem', $wrapper).find('b').html($obj.html());
						$ul.hide();
						return false;
					});			
					$('a:eq('+ $select.attr('selectedIndex') +')', $ul).click();
				});
				$('a.selectedItem', this).click(function(){
					var $ul = $(this).siblings('ul');
					if ($ul.css('display')=='none'){ hideSelect(); } 
    				$ul.slideToggle('fast',function(){
						var offSet = parseInt(((ea ? $('a.selected', $ul).parent().attr('offsetTop') : $('a.selected', $ul).attr('offsetTop')) - $ul.attr('offsetTop')));					
						$ul.animate({scrollTop: offSet});					
					});					
					return false;
				});
		
				var hideSelect = function(){
					$('.jNiceSelectWrapper ul:visible').hide();
				};		
		
				var checkExternalClick = function(event) {
					if ($(event.target).parents('.jselect').length === 0) { hideSelect(); }
				};

				$(document).mousedown(checkExternalClick);
		
			
		
				var jReset = function(f){
					var sel;
					
					
					$('div.jNiceSelectWrapper select', f).each(function(){
																	
						sel = ( this.selectedIndex < 0 ) ? 0 : this.selectedIndex;
						
						$('ul', $(this).parent()).each(function(){
																
 							$('a:eq('+ sel +')', this ).click();																																																	 						});
					});
					
					$(':checkbox', f).each(function(){
						var $obj = $(this);
						var $checked = $obj.attr('checked');	
						var $chk = $obj.prev('a.jcheckbox');
						$checked?$chk.addClass('jcheckbox-checked'):$chk.removeClass('jcheckbox-checked');				
					});		
				};				
				$f.bind('reset', function(){ var f = this;  var action = function(){ jReset(f); }; setTimeout(action, 10);});		
				};
			});
		};	
	})(jQuery);

$(function(){
	var html = document.documentElement;
	/*carousels*/
	if($('#jcarousel,#jcarousel2,#jcarousel3,div.jcarousel4').length){
		$('#jcarousel,#jcarousel2,#jcarousel3,div.jcarousel4').each(function(){
			var $jc = $(this);
			var w = $jc.width();	
			var $td = $('td',$jc);
			var $t = $('table.spec',$jc);
			var l = $td.length;
			var $left = $('a.left',$jc);
			var $right = $('a.right',$jc);
			var step = $td.eq(0).width()+parseInt($td.eq(0).css('paddingLeft'));
			var $items = parseInt(w/step);
			var i = 0;
			$right.click(function(){
				i<(l-$items)?i++:i=0;
				anime();
				return false;		
			})
			$left.click(function(){
				i>0?i--:i=(l-$items);				
				anime();
				return false;		
			})
			function anime(){
				$t.stop().css('opacity','0.6').animate({'marginLeft':'-'+i*step},500,function(){$(this).css({'opacity':'1','filter':'none'})});
						
			}
		})
	}	
	/*end carousels*/
	
	/*placeholder*/
	$('.focus').focus(function(){
		this.value==this.defaultValue?this.value='':''
	
	}).blur(function(){
		this.value==''?this.value=this.defaultValue:''
	})
	/*end placeholder*/
	
	/*selects*/
	$(function(){
		$('.jnice').jnice();
		
	});
	/*end selects*/
	
	
	$('table.x-table2 tr>td:first-child').addClass('first-child')
	$('table.x-table2 tr>td:last-child').addClass('last-child');
	
	
	/*pages*/
	function pages(){
		$('ul.pages').each(function(){
			var $obj = $(this);			
			var $pages = $('li.page',$obj);
			var $bg = $('li.bg',$obj).eq(0);			
			var $act = $pages.filter('.act');
			var $actLeft = $act.attr('offsetLeft');			
			$bg.css('left',$actLeft);
			$pages.each(function(){				
				var $pag = $(this);
				var $l = $pag.attr('offsetLeft');
				var zn = $actLeft>$l?1:-1;
				$pag.hover(function(){
					$bg.stop().animate({'left':$l-zn*10},150,function(){ $(this).animate({'left':$l+zn*10},150,function(){$(this).animate({'left':$l},150)})})
					$act.removeClass('act')
				},function(){
					$bg.stop().animate({'left':$actLeft+zn*10},150,function(){ $(this).animate({'left':$actLeft-zn*10},150,function(){$(this).animate({'left':$actLeft},150)})});
					$act.addClass('act')
				
				});
			});	
		});
	}
	if($('ul.pages').length) pages();
	/*end pages*/
	
	
	
	if(html.style.boxShadow==undefined&&html.style.MozBoxShadow==undefined&&html.style.WebkitBoxShadow==undefined){
		var $objs = $('div.jcarousel4,div.position span.jselect,div.popup div.in');
		$objs.each(function(){
			var $obj = $(this);
			var $class = $obj.attr('className').split(' ')[0];
			$class=$class.length>0?'-'+$class:'';
			$obj.addClass('rn'+$class).wrapInner('<div class="in'+$class+'" />').append('<div class="tl'+$class+'" /><div class="tr'+$class+'" /><div class="br'+$class+'" /><div class="bl'+$class+'" /><div class="bx'+$class+'" /><div class="tx'+$class+'" /><div class="ly'+$class+'" /><div class="ry'+$class+'" />')		
		})
	}
	
		if(html.style.boxShadow==undefined&&html.style.MozBoxShadow==undefined&&html.style.WebkitBoxShadow==undefined){
		var $objs = $('div.jcarousel4,div.position span.jselect,div.popup div.in');
		$objs.each(function(){
			var $obj = $(this);
			var $class = $obj.attr('className').split(' ')[0];
			$class=$class.length>0?'-'+$class:'';
			$obj.addClass('rn'+$class).wrapInner('<div class="in'+$class+'" />').append('<div class="tl'+$class+'" /><div class="tr'+$class+'" /><div class="br'+$class+'" /><div class="bl'+$class+'" /><div class="bx'+$class+'" /><div class="tx'+$class+'" /><div class="ly'+$class+'" /><div class="ry'+$class+'" />')		
		})
	}
	
	function xtable5(){
		var $t = $('#x-table5');
		var $bg = $('div.bg',$t).eq(0);
		var $trs = $('tbody',$t).find('tr');
	
		$trs.each(function(){
			var $tr  = $(this);
			var $height = $tr.height()
			var $top = $tr.attr('offsetTop');
			$tr.hover(function(){
				$(this).addClass('hover');
				var $bgTop = parseInt($bg.css('top'));
				var gg = ($top>$bgTop?20:-20);
				$bg.stop().animate({'opacity':1,'top':$top+gg,'height':$height},150,function(){$bg.animate({'top':$top-gg,'height':$height},150,function(){$bg.animate({'top':$top,'height':$height},150)})})		   
			},function(){
				$bg.stop().animate({'opacity':0},500);
				$(this).removeClass('hover');
			})
		})
		
	}
	if($('#x-table5').length)xtable5();
	
	
	function jcarousel5(){
		var $jc = $('#jcarousel5');
			var h = $jc.find('div.in').height();	
			var $td = $('td',$jc);
			var $t = $('table.spec',$jc);
			var l = $td.length;
			var $top = $('a.top',$jc);
			var $bottom = $('a.bottom',$jc);
			var step = $td.eq(0).height()
			var $items = parseInt(h/step);
			var i = 0;
			$bottom.click(function(){
				i<(l-$items)?i++:i=0;
				anime();
				return false;		
			})
			$top.click(function(){
				i>0?i--:i=(l-$items);				
				anime();
				return false;		
			})
			function anime(){
				$t.stop().css('opacity','0.6').animate({'marginTop':'-'+i*step},500,function(){$(this).css({'opacity':'1','filter':'none'})});						
			}		
	}
	if($('#jcarousel5').length)jcarousel5();
	
	function showPopup(obj) {
		var h = $(obj).height();
		var w = $(obj).width();
		$(obj).removeClass('hide').find('div.in').css({'bottom':h,'right':w,'opacity':0.5,'left':'auto','top':'auto'}).animate({'right':'-40px','bottom':'-40px','opacity':1},150,function(){$(this).css('filter','none').animate({'right':'20px','bottom':'20px'},150,function(){$(this).animate({'right':0,'bottom':0},150)})});
	}
	function hidePopup(obj) {
		var h = $(obj).height();
		var w = $(obj).width();
		$(obj).find('div.in').css({'right':'auto','bottom':'auto'}).animate({'left':'-40px','top':'-40px'},150,function(){$(this).animate({'left':w,'top':h,'opacity':0.5},500,function(){$(obj).addClass('hide'); $(this).css('filter','none')})});
	}
	function cat(){
	   jQuery.each($('#cat a'), function() {
        $('#'+this.id).click(function(){		
			showPopup('#popup_close_'+this.id);
			return false;
		})
        $('#close_'+this.id).click(function(){
            var newid = 
            //console.log('#popup_'+this.id);
			hidePopup('#popup_'+this.id)
			return false;
		})
        
     });

		$('#cat a').click(function(){		
			showPopup('#popup');
			return false;
		})
		
		$('#close').click(function(){
			hidePopup('#popup')
			return false;
		})
	}
	
	if($('#cat').length) cat();
	
	
	
	if($('input.text-field').length){
		$('.text-field').each(function(){
			var $obj = $(this);
			var $lab = $obj.siblings('label.lab-text-field').eq(0)
			$obj.focus(function(){
				$lab.animate({'top':-30,'left':-15,'opacity':0.7},500)
			}).blur(function(){				
				if($obj.val()=='') $lab.animate({'top':0+(($.browser.msie==true||$.browser.webkit==true)?'':''),'left':0,'opacity':1},500)
			})
											
		})
	}
	

	
	if($('label.lab-jcheckbox').length){
		$('label.lab-jcheckbox').each(function(){
			var $obj = $(this);
			var $inp = $obj.siblings('a.jcheckbox').eq(0);
			$obj.hover(function(){
				$inp.addClass('jcheckbox-hover');
			},function(){
				$inp.removeClass('jcheckbox-hover');
			})
		})
	}
	
	if($('#x-form').length){
		var $f = $('#x-form');
		var $inps = $f.find('input[type=text],textarea');		
		
		var regEmail = /^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z])+$/;	
		var regSite = /^(([\w]+:)?\/\/)?(([\d\w]|%[a-zA-z\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&amp;?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/;
		var regPhone = /^((8|\+7)[\- ]?)?(\(?\d{3}\)?[\- ]?)?[\d\- ]{7,10}$/;
		
		
		$inps.keyup(function(){
			var $obj = $(this);					
			switch($obj.attr('id')) {
				case 'email': 					
					(!$obj.val().match(regEmail)||$obj.val()=='')?errorField($obj):goodField($obj);
				break; 
				case 'site': 					
					(!$obj.val().match(regSite)||$obj.val()=='')?errorField($obj):goodField($obj);
				break; 
				case 'phone': 					
					(!$obj.val().match(regPhone)||$obj.val()=='')?errorField($obj):goodField($obj);
				break; 
				default: 
					$obj.val()==''?errorField($obj):goodField($obj);						
				break; 
			}					
		});				
		$f.submit(function(){
			$inps.each(function(){
				var $obj = $(this);				
				$obj.val()==''?errorField($obj):goodField($obj);			
			})			
			if($f.find('input.text-field-false').length){		
				return false;
			} 
		}).bind('reset',function(){
			var j = 0;
			$inps.each(function(index){
				var $obj = $(this);	
				var $error = $obj.parent().siblings('span.error');
				$obj.val()!=$obj.attr('defaultValue')?j++:'';
				setTimeout(function(){
					$obj.removeClass('text-field-false').removeClass('text-field-true').val($obj.attr('defaultValue'));	
					$error.removeClass('worked').removeClass('closed');
					var $lab = $obj.siblings('label.lab-text-field').eq(0);
					$lab.animate({'top':0+(($.browser.msie==true||$.browser.webkit==true)?'%':''),'left':0,'opacity':1},500)
				},200*j);
				
			});	
			return false;
		});
		
		function errorField($obj){				
			var $error = $obj.parent().siblings('span.error');	
			$obj.addClass('text-field-false').removeClass('text-field-true');
			$error.addClass('worked').removeClass('closed');
		}
		function goodField($obj){
			var $error = $obj.parent().siblings('span.error');	
			$obj.removeClass('text-field-false').addClass('text-field-true');
			$error.removeClass('worked').addClass('closed');
		}	
	}
	if($.browser.mozilla&&parseInt($.browser.version)<2||$.browser.msie&&parseInt($.browser.version)==8){
		function anime($obj,count,inter){
			
			$obj.each(function(){
				var $self = $(this)
				var $class = $self.attr('class').split(' ')[0]
				var t;
				var i = 0;
				$self.hover(function(){
					clearInterval(t)
					t = setInterval(function(){
						$self.addClass($class+'-step'+i);	
						i<count?i++:clearInterval(t);
					},inter);				
				},function(){
					clearInterval(t)
					t = setInterval(function(){
						$self.removeClass($class+'-step'+i);	
						i>0?i--:clearInterval(t);
					},inter);
				});
			})
		}
		
		anime($('#jcarousel3 a.left,#jcarousel3 a.right'),10,35);
		anime($('a.rarr2,a.rarr,a.rarr3,#jcarousel2 a.left, #jcarousel2 a.right,a.add,a.rarr4'),10,25);
		
		function tbar(){
			var $as = $('ul.t-bar a');
			$as.css('paddingLeft',0).hover(function(){
				$(this).stop().animate({'paddingLeft':10},300);
			},function(){
				$(this).stop().animate({'paddingLeft':0},300);			
			})
		}
		tbar()
		
		function pages2(){
			$('ul.pages li.rarr a').css('right',0).hover(function(){
				$(this).stop().animate({'right':'-5px'},200);			
			},function(){
				$(this).stop().animate({'right':0},200);
			})
			$('ul.pages li.larr a').css('marginLeft',0).hover(function(){
				$(this).stop().animate({'marginLeft':'-5px'},200);			
			},function(){
				$(this).stop().animate({'marginLeft':0},200);
			})
		}
		pages2()
		
		
	}
	
	
	function fis(){
		var $f = $('ul.fis').eq(0);
		var $li = $('li:not(.bg)',$f);
		var $act = $li.filter('.act')
		var $bg = $('li.bg',$f);
		var $vis = false;
		var $bgNull;
		if($act.length==0){
			$li.each(function(index){
				var $obj = $(this);
				var $top =29*index;
				$obj.mouseenter(function(){
					var $bgTop = parseInt($bg.css('top'));
					if(!$vis){
						$bg.css('top',$top).animate({'opacity':1},300);					
						$vis = true;
					} else {
						if($top>$bgTop){var $gg = 5} else { var $gg = -5 }
						$bg.stop().animate({'top':($top+$gg)},150,
							function(){ 
								$(this).animate({'top':($top-$gg)},150,
									function(){ 
										$(this).animate({'top':$top},150 );
									}
								) 
							}
								
						);
					}
				})
			})
			$f.mouseleave(function(){
				$bg.stop().animate({'opacity':0},300);
				$vis = false;
			})	
		} else {
			$li.each(function(index){
				var $obj = $(this);
				var $top =29*index;
				
				if($obj.hasClass('act')) {
					$bg.css('top',$top).animate({'opacity':1},300);
					$bgNull = $top;
				}
				$obj.mouseenter(function(){
					
					var $bgTop = parseInt($bg.css('top'));				
					$act.removeClass('act');
					if($top>$bgTop){var $gg = 5} else { var $gg = -5 }
						$bg.stop().animate({'top':($top+$gg)},150,
							function(){ 
								$(this).animate({'top':($top-$gg)},150,
									function(){ 
										$(this).animate({'top':$top},150 );
									}
								) 
							}
								
						);
					
				}).mouseleave(function(){
					var $bgTop = parseInt($bg.css('top'));				
					
					if($bgNull>$bgTop){var $gg = 5} else { var $gg = -5 }
						$bg.stop().animate({'top':($bgNull+$gg)},150,
							function(){ 
								$act.addClass('act');
								$(this).animate({'top':($bgNull-$gg)},150,
									function(){ 
										$(this).animate({'top':$bgNull},150 );
									}
								) 
							}
								
						);
				
				})
			})		
		}
		
	}
	fis()
	
	
	
	function contacts(){
		var $cotacts = $('div.contacts');
		var $act = $cotacts.not('.hide');

		var $a = $('form.o-contacts select')
		$a.change(function(){
			var $obj = $(this)
			var val = $obj.val()
			$act.animate({'opacity':0},300,function(){
				$(this).css('zIndex',0)			
				$act = $('#'+val).css('zIndex',1)
				$act.css({'opacity':0,'left':0}).removeClass('hide').animate({'opacity':1},300,function(){'filter','none'});
			
			})
			
			return false;
		})
	}
	contacts()
	
	
	function fcontacts(){
		var $c = $('#f-contacts');
		var $box = $('div.boxe')
		var $act = $box.filter(':not(.hide)');
		$c.change(function(){
			$act.addClass('hide')
			$act = $('#f-'+$(this).val()).removeClass('hide');		
			$c.attr('selectedIndex',0)
		})
	}
	fcontacts();
	
})
