﻿/*
	main scripts 13.07.2011
*/
var muchThenThree,
	countForSubmit = 0,
	degGlobCount = 0;
var empty;
var ccon=cdol=cfio=0;

//счётчик для слайдера на главной

var indexSliderCount = 0;


jQuery(document).ready(function(){


jQuery('body').append('<img src="http://atf.ru/images/preloader.gif" style="visibility: hidden; position: absolute; top: -100px; left: 0; z-index: -1">');
setRealCounter();
degFun();
visualSubmit();

/*нажатие на кнопку "отменить выбор" на плашке сравнения продуктов*/

jQuery("#cancelProductsCompare").live("click", function(){
		try
		 {
		  jQuery.ajax({
		  url: "/php/cancel-compare.php",
		  type: 'post',
		  data: "" ,
		   timeout: 5000,
		   success: function(gettedval){ 
				if(gettedval == 0)
				{
					jQuery("#compareWrapper .goodDetailsWr>input[type=checkbox]").attr('disabled',false);
					jQuery("#compareWrapper .goodDetailsWr>input[type=checkbox]").attr('checked',false);
					$("#compareWrapper").attr('lenChoisen',0);
					$('#compareSubmitter').removeClass('compareChosenVisible');
				}
		   }});
		 }
		 catch(e)
		 {
		  alert("При поиске произошла неизвестная ошибка. \n Попробуй еще раз через несколько минут.");
		 }
		
	return false;
});
/*---------------------------------------------------------------------------------------*/

/*сравнение товаров чекбоксы */  
jQuery("#compareWrapper .goodDetailsWr>input[type=checkbox]").live("change", function(){
	
	var groupName=$(this).attr('data-group'),
		lenChosen = $("#compareWrapper").attr('lenChoisen');
		jQuery("#compareWrapper .goodDetailsWr>input[type=checkbox]").attr('disabled',true);
		
	var phpPath = $('#compareWrapper').attr('action'),
		thisVal = $(this).attr('name');
		
	
	if($(this).attr("checked"))
	{
		//was not checked
		//lenChosen=jQuery("#compareWrapper .goodDetailsWr>input[type=checkbox]:checked").length;
		$("#compareWrapper").attr('lenChoisen',parseInt($("#compareWrapper").attr('lenChoisen'))+1);
		lenChosen=$("#compareWrapper").attr('lenChoisen');
		$('#chosenNum').text(lenChosen);
		$('#chosenItemsText').text(getNumEnding(lenChosen));
		$('#compareSubmitter').addClass('compareChosenVisible');
		
		try
		 {
		  jQuery.ajax({
		  url: phpPath,
		  type: 'get',
		  data:thisVal+'=on' ,
		   timeout: 5000,
		   success: function(gettedval){
			 
			/*
			 if(jQuery("#compareWrapper .goodDetailsWr>input[data-group="+groupName+"]:checked").length <5)
				{
						jQuery("#compareWrapper .goodDetailsWr>input[data-group="+groupName+"]").attr('disabled',false);
				}
				else
				{
						jQuery("#compareWrapper .goodDetailsWr>input[data-group="+groupName+"]:checked").attr('disabled',false);
				}
			*/
			if(lenChosen < 5)
				{
					jQuery("#compareWrapper .goodDetailsWr>input[data-group="+groupName+"]").attr('disabled',false);
				}
			else
				{
						jQuery("#compareWrapper .goodDetailsWr>input[data-group="+groupName+"]:checked").attr('disabled',false);
				}
			 
			  
		
		  }
		  });
		 }
		 catch(e)
		 {
		  alert("При поиске произошла неизвестная ошибка. \n Попробуй еще раз через несколько минут.");
		 }
		
		
		
		
	}
	else
	{
		//was checked
		//lenChosen=jQuery("#compareWrapper .goodDetailsWr>input[type=checkbox]:checked").length;
		$("#compareWrapper").attr('lenChoisen',parseInt($("#compareWrapper").attr('lenChoisen'))-1);
		lenChosen=$("#compareWrapper").attr('lenChoisen');
		$('#chosenNum').text(lenChosen);
		$('#chosenItemsText').text(getNumEnding(lenChosen));
		
		try
		 {
		  jQuery.ajax({
		  url: phpPath,
		  type: 'get',
		  data:thisVal+'=off' ,
		   timeout: 5000,
		   success: function(gettedval){
			 
			
			 jQuery("#compareWrapper .goodDetailsWr>input[data-group="+groupName+"]").attr('disabled',false);
		
				/*
				if(jQuery("#compareWrapper .goodDetailsWr>input[type=checkbox]:checked").length == 0)
				{
					$('#compareSubmitter').removeClass('compareChosenVisible');	
					jQuery("#compareWrapper .goodDetailsWr>input[type=checkbox]").attr('disabled',false);
				}
				 */
				if(lenChosen == 0)
				{
					$('#compareSubmitter').removeClass('compareChosenVisible');	
					jQuery("#compareWrapper .goodDetailsWr>input[type=checkbox]").attr('disabled',false);
				}
			  
		
		  }
		  });
		 }
		 catch(e)
		 {
		  alert("При поиске произошла неизвестная ошибка. \n Попробуй еще раз через несколько минут.");
		 }
		
		
	}
	
	
	
	
});




/*сравнение товаров чекбоксы */  
jQuery("#startCompareButton").live("click", function(){
	
		
	var phpPath = $('#startCompareButton').attr('data-action'),
		valSend = $("#compareWrapper").serialize();
		
		console.log(valSend);

		try
		 {
		  jQuery.ajax({
		  url: phpPath,
		  type: 'post',
		  data:valSend ,
		   timeout: 5000,
		   success: function(gettedval){
			
			window.open(gettedval,'Результаты Сравнения','width=1000,height=600,toolbar=1,scrollbars=1')
			 
			 
			  
		
		  }
		  });
		 }
		 catch(e)
		 {
		  alert("При поиске произошла неизвестная ошибка. \n Попробуй еще раз через несколько минут.");
		 }
		
		
		
		
	return false;
	
	
});

jQuery("#start2CompareButton").live("click", function(){
	
		
	var phpPath = $('#start2CompareButton').attr('data-action'),
		valSend = $("#compareWrapper").serialize();
		
		console.log(valSend);

		try
		 {
		  jQuery.ajax({
		  url: phpPath,
		  type: 'post',
		  data:valSend ,
		   timeout: 5000,
		   success: function(gettedval){
			
			window.open(gettedval,'tech1','width=1000,height=600,toolbar=1,scrollbars=1')
			 
			 
			  
		
		  }
		  });
		 }
		 catch(e)
		 {
		  alert("При поиске произошла неизвестная ошибка. \n Попробуй еще раз через несколько минут.");
		 }
		
		
		
		
	return false;
	
	
});

jQuery("#start3CompareButton").live("click", function(){
	
		
	var phpPath = $('#start3CompareButton').attr('data-action'),
		valSend = $("#compareWrapper").serialize();
		
		console.log(valSend);

		try
		 {
		  jQuery.ajax({
		  url: phpPath,
		  type: 'post',
		  data:valSend ,
		   timeout: 5000,
		   success: function(gettedval){
			
			window.open(gettedval,'tech2','width=1000,height=600,toolbar=1,scrollbars=1')
			 
			 
			  
		
		  }
		  });
		 }
		 catch(e)
		 {
		  alert("При поиске произошла неизвестная ошибка. \n Попробуй еще раз через несколько минут.");
		 }
		
		
		
		
	return false;
	
	
});

/*сравнение "Решения проблем" товаров чекбоксы */  
jQuery("#problemsProductsCompare").live("click", function(){
	
		
	var phpPath = $('#problemsProductsCompare').attr('data-action'),
		valSend = $("#compareWrapper").serialize();
		
		console.log(valSend);

		try
		 {
		  jQuery.ajax({
		  url: phpPath,
		  type: 'post',
		  data:valSend ,
		   timeout: 5000,
		   success: function(gettedval){
			
			window.open(gettedval,'Результаты Сравнения(Решения проблем)','width=1000,height=600,toolbar=1,scrollbars=1')
			 
			 
			  
		
		  }
		  });
		 }
		 catch(e)
		 {
		  alert("При поиске произошла неизвестная ошибка. \n Попробуй еще раз через несколько минут.");
		 }
		
		
		
		
	return false;
	
	
});



//делаем нестандартные чекбоксы
jQuery("#additionalParams input[type=checkbox]").each(

function() {   
     changeCheckStart(jQuery(this));
});

/*при клике на ссылку залогиненном поле передвигаем ползунок */  
jQuery(".otherInf a, .lVal a ").live("click", function(){
	
	var thisLink = $(this).attr('href');
	$("#sliderSwitcher").slider("destroy");
	
	
	var savedslVal=slVal;
	
	if(slVal == 1)
	{
		slVal = 0;
	}
	else
	{
		slVal = 1;
	}

	$( "#sliderSwitcher" ).slider({ 
			min: 0,
			max: 1,
			value: slVal,
			stop: function(event, ui) { 
			}
	});

	
	$('.ui-slider .ui-slider-handle').append('<span></span>');
	
	
	
	top.location.href=thisLink;
	
	return false;
});


/*скрытие/показ формы сообщения */  
jQuery(".addMessage button").live("click", function(){
	
	$('.ketchup-error').remove();
	
	if($(this).hasClass('unwrapped'))
	{
		$(this).removeClass('unwrapped');
		$(this).find('span').text('Ответить');
		$('#hiddenFBlock').slideUp(300);
		$('.addMessage fieldset').removeClass('opened');
	}
	else
	{
		$(this).addClass('unwrapped');
		$('#hiddenFBlock').slideDown(300);
		$(this).find('span').text('Свернуть');
		$('.addMessage fieldset').addClass('opened');
		setTimeout(function() {$('.addMessage .newMsg').fadeOut(400);$('.addMessage .unread').removeClass('unread');}, 2000);
	}
	
	return false;
});

/*аякс поиск в попапе выбора продукта */  
jQuery(".addMessage").live("submit", function(){

if($('.addMessage textarea').val() !== '')
{

	var el = jQuery(".addMessage").serialize();
	

	jQuery(this).find('.msgWrap').append('<div class="overlay"></div>');
	jQuery('.msgWrap .overlay').fadeTo(500, .5);

	try
		 {
		  jQuery.ajax({
		  url: jQuery(this).attr('action'),
		  type: 'get',
		  data:el ,
		   timeout: 5000,
		   success: function(gettedval){
			 
			 var sender = jQuery(".addMessage").attr('data-sender');
			 var senderVal = jQuery(".addMessage textarea").val();
			   
			 jQuery(".addMessage textarea").val('');
			 jQuery('.msgWrap .overlay').fadeTo(500, 0);
				setTimeout(function(){
					jQuery('.msgWrap .overlay').remove();
			 }, 500);
			 $('#hiddenFBlock .msgWrap').before('<div class="messageBlock"><span class="name">'+sender+'</span><div><p>'+senderVal+'</p></div></div>');
			 
			 
			  
		
		  }
		  });
		 }
		 catch(e)
		 {
		  alert("При поиске произошла неизвестная ошибка. \n Попробуй еще раз через несколько минут.");
		 }
	
	
}
else
{
	alert('Сообщение не должно быть пустым!');
}
	
	return false;
});



/*сортировка продаж */  
jQuery("#chosen").live("click", function(){
	
	if($(this).hasClass('chosenHover'))
	{
		$(this).removeClass('chosenHover');
		$('#list').fadeOut(300);
	}
	else
	{
		$(this).addClass('chosenHover');
		$('#list').fadeIn(300);
	}
	
	return false;
});

jQuery(".displaySort").live("mouseleave", function(){
	

		$("#chosen").removeClass('chosenHover');
		$('#list').fadeOut(300);
	
	
	return false;
});

/*ставим галочку для радиокнопок */  
jQuery(".listOfSost li .niceRadio").live("click", function(){
	
	radioMarkPlace();
	
	return true;
});


//show/hide x button in my sales search

if(jQuery("#searchSubmit").val()=='')
		{
			$('#mySalesX').css('display','none');
		}
		else
		{
			$('#mySalesX').css('display','block');
		}

jQuery("#searchSubmit").live("keyup", function(){
        if(jQuery(this).val()=='')
		{
			$('#mySalesX').css('display','none');
		}
		else
		{
			$('#mySalesX').css('display','block');
		}
         
	return true;
});
jQuery("#searchSubmit").live("blur", function(){
        if(jQuery(this).val()=='')
		{
			$('#mySalesX').css('display','none');
		}
		else
		{
			$('#mySalesX').css('display','block');
		}
         
	return true;
});

jQuery("#mySalesX").click (
      function(){
        $(this).css('display','none');
		$("#searchSubmit").val('');
		$('#saleListSearch').submit();
         
	return true;
});




/*аякс поиск в попапе выбора продукта */  
jQuery("#popupText .searchForm").live("submit", function(){
	
	var maxHeight = $('body').height()-300;
	
	try
		 {
		  jQuery.ajax({
		  url: jQuery("#popupText .searchForm").attr('action'),
		  type: 'get',
		  data:jQuery("#popupText .searchForm input[type=text]").attr('value') ,
		   timeout: 5000,
		   success: function(gettedval){
			   
			 jQuery("#popupText .showerWrap").slideUp(400);
			 setTimeout(function() {jQuery("#popupText .showerWrap").empty()}, 400);
			 setTimeout(function() {jQuery("#popupText .showerWrap").html(gettedval)}, 401);
			 setTimeout(function() {
								 
				 $('#popupText .showerWrap').css('display','block');
				 repositionScroll2();
				 $('#popupText .showerWrap').css('display','none');			 
								 
				 jQuery("#popupText .showerWrap").slideDown(400);$('#goodsPopupWrap').css('max-height',maxHeight+'px'); 
								 
								 
			}, 401);
		
		  }
		  });
		 }
		 catch(e)
		 {
		  alert("При поиске произошла неизвестная ошибка. \n Попробуй еще раз через несколько минут.");
		 }
	
	
	
	
	return false;
});


//scroll to init

if (jQuery('#openedSale').length !== 0)
{
	var position = jQuery('#openedSale').offset().top-30;
	
	jQuery('body').scrollTo(position, 800);
}
else


/*slider init*/  
	var slVal=$('#sliderValue').val();

	$( "#sliderSwitcher" ).slider({ 
			min: 0,
			max: 1,
			value: slVal,
			stop: function(event, ui) { 
				jQuery("#sliderValue").val(jQuery("#sliderSwitcher").slider("values",0));
				if($('#sliderValue').val() !== slVal)
				{
						var goLink=$('#sliderValue').attr('data-val'+slVal);
						window.top.location.href=goLink;
						$('#sliderValue').val(slVal);
				}
			}
	});

	
	$('.ui-slider .ui-slider-handle').append('<span></span>');


/*эффект вдавленности при нажатии на кнопку */    

    jQuery(".selection, #loginBTn, .loginBlock form .submitter, .listOwnCab li a, .popupAddProduct, .searchProduct, .addSaleForm input[type=submit], #addSbmt, .addSaleFormSuccess a, .saleItem a.addEnter").live("mouseup", function(){
      jQuery(this).removeClass('onPress');
    }).mousedown(function(){
      jQuery(this).addClass('onPress');
    });

    jQuery(".selection, #loginBTn, .loginBlock form .submitter, .listOwnCab li a, .popupAddProduct, .searchProduct, .addSaleForm input[type=submit], #addSbmt, .addSaleFormSuccess a, .saleItem a.addEnter").live("mouseleave", function(){

        jQuery(this).removeClass('onPress');

    }); 
	
	jQuery(".selectProd").live("mouseup", function(){
      jQuery(this).removeClass('onPress2');
    }).mousedown(function(){
      jQuery(this).addClass('onPress2');
    });

    jQuery(".selectProd").live("mouseleave", function(){

        jQuery(this).removeClass('onPress2');

    }); 
	
jQuery("#loginBTn").click(function(){

		$('.loginBlock form').fadeIn(200);
		return false;

    });	
jQuery("#closeLogin").click(function(){

		$('.loginBlock form').fadeOut(200);

    });	

$('.personalFact article:last-child').addClass('last-child');
	
if ((jQuery.browser.msie == true)&(jQuery.browser.version <=8))
	{
		$('.loggedBlock div').append('<u class="arr"></u>');
		$('.listOwnCab li a').append('<u class="arr"></u>');
	}


/*textarea placeholder*/

jQuery("#Atecnics").focus (
      function(){
        if(jQuery(this).val()=='Желательно указать также производителя и марку.')
          jQuery(this).val('');
		  $(this).addClass('blackText');
          return true;
                });
jQuery("#Atecnics").blur (
      function(){
        if(jQuery(this).val()=='')
		{
          jQuery(this).val('Желательно указать также производителя и марку.');
		  $(this).removeClass('blackText');
		}
          return true;
                });

jQuery("#Ainform").focus (
      function(){
        if(jQuery(this).val()=='Условия в узле; требования, предъявляемые к продукту; проблемы, решаемые продуктом. Адрес предприятия.')
          jQuery(this).val('');
		  $(this).addClass('blackText');
          return true;
                });
jQuery("#Ainform").blur (
      function(){
        if(jQuery(this).val()=='')
		{
          jQuery(this).val('Условия в узле; требования, предъявляемые к продукту; проблемы, решаемые продуктом. Адрес предприятия.');
		  $(this).removeClass('blackText');
		}
          return true;
                });


//paste good marks

jQuery("#Ainform, #Atecnics, #Aearlier").live("keyup", function(){

	var elem = $(this),
		parent = elem.parents('li').eq(0);
		
	if(elem.val()=='')
	{
		parent.find('.markGood').removeClass('markApproved').addClass('markDis').css('width','0');
		formDis();
		
		
	}
	else
	{
		parent.find('.markGood').removeClass('markDis');
		parent.find('.markGood').animate({
	        width:"15px"
	    }, 500 );	
		if((jQuery("#Ainform").hasClass('blackText'))&&(jQuery("#Atecnics").hasClass('blackText'))&&(jQuery("#Aearlier").val()!=='')&&($('.listOfChosenProd li').length !== 0))
		{
			formEn();
		}
		
		
	}

});


//set z-index

var colblocks = jQuery(".personalFact article").length+1;


jQuery(".personalFact article").each(function() {   
							     jQuery(this).css('z-index',colblocks);
								 colblocks--;
							});



//edit hover


$('.personalFact article').append('<u class="arr"><u></u></u>');


jQuery(".personalFact article").hover (
	function(){
		jQuery(this).find('.editThis').fadeIn(400);
		jQuery(this).find('.arr u').animate({
	        opacity:"1"
	    }, 200 );
		
		jQuery(this).animate({
	        backgroundColor:"#ededed"
	    }, 200 );
		
	},
	function()
	{
		jQuery(this).find('.editThis').stop().css('display','none').css('opacity','1');
		jQuery(this).stop().css('background','none');
		jQuery(this).find('.arr u').stop().css('opacity','0');
});	



//index slider init

if (jQuery('#indexPromoWrapper').length == 0)
{
}
else
{
indexPhotoChanger();
setInterval("blockCircle()",5000);
}

jQuery('#indexPromoWrapper').hover(function(){
			indexSliderCount = 0;								
},
function(){
	indexSliderCount = 1;
});

//устанавливаем значение кнопки back

if($('.changeSortItems').length !== 0)
{
					
					
	var browserback = {
        lastjavascripthash: '',

        setLastHash: function(hash) {            
            browserback.lastjavascripthash=hash;
        },    
        historyChangeHandler: function(hash) {
        	if (browserback.lastjavascripthash != hash) {
        		var myurl = $('.changeSortItems').attr('href');  
      				document.location = myurl;
        		browserback.setLastHash(hash);
        	}		
        },

        disableBrowserBack: function() {
        	$.history.init(this.historyChangeHandler);
        	var hash=new Date().getTime()+ Math.floor(Math.random()*1000)
        	browserback.setLastHash(hash);
        	$.history.load(hash);		
        }
}


$(function(){			
	browserback.disableBrowserBack();
});			
					
					
	  
	  
}


//устанавливаем количество выбранных чекбоксов при загрузке
muchThenThree = jQuery('#additionalParams .niceChecked').length;



// если юзер выбрал более 3х доп параметров

	if (jQuery('#additionalParams').length !== 0) 
	{
		nonComplitable();
		moreThenThree();
	}


jQuery(".loginErrorMsg span").live("click", function(){
		jQuery('.loginErrorMsg').fadeOut(200);
		setTimeout(function(){jQuery('.loginErrorMsg').remove();}, 300);

});	



jQuery(".prodSelection .cusel input").live("change", function(){
	if (jQuery('.oil').length == 0)
	{
		var meaning = jQuery(this).val();
	
		if(meaning == 0)
		{
			countForSubmit--;
			jQuery(this).removeClass('doubleProtect');
		}
		else
		{
			if(!jQuery(this).hasClass('doubleProtect'))	
			{
				countForSubmit++;
				jQuery(this).addClass('doubleProtect');
			}
		}
		
		visualSubmit();
	};
});





jQuery(".numberFieldDegrees input").change(
function() {   
		
		degFun();
		visualSubmit();
	
});



// sale colors
jQuery(".saleItem div a:odd").addClass('odd');
jQuery(".saleItem div a:last-child").addClass('last');



jQuery(".saleItem div a").live("hover", function(){
		if(jQuery(this).hasClass('saleModerated'))
		{
			jQuery(this).animate({
				backgroundColor:"#eee3be"
			}, 200 );
		}
		else
		{
			jQuery(this).animate({
				backgroundColor:"#ededed"
			}, 200 );
		}
		
	});	

jQuery(".saleItem div a").live("mouseleave", function(){

		if(jQuery(this).hasClass('saleModerated'))
		{
			jQuery(this).stop().css('background-color','#ffeba5');
		}
		else if(jQuery(this).hasClass('odd'))
		{
			jQuery(this).stop().css('background-color','#FEFEFE');
		}
		else
		{
			jQuery(this).stop().css('background-color','#F5F5F5');
		}
		
		
	});


/*аякс поиск в продажах*/  
jQuery("#saleListSearch").live("submit", function(){
	
	jQuery("#saleItWr").append('<div class="preloadder"></div>');
	
	jQuery('#saleItWr .preloadder').fadeTo(500, .5);
	
	try
		 {
		  jQuery.ajax({
		  url: jQuery(this).attr('action'),
		  type: 'get',
		  data:"str=" + jQuery("#saleListSearch input[type=search]").val(),
		   timeout: 5000,
		   success: function(gettedval){
			   
			 /*jQuery("#saleItWr").empty().append(gettedval);*/
			 
			 jQuery("#saleItWr").empty().append(innerShiv(gettedval));
			 jQuery(".saleItem div a:odd").addClass('odd');
			 jQuery(".saleItem div a:last-child").addClass('last');
			  
		
		  }
		  });
		 }
		 catch(e)
		 {
		  alert("При поиске произошла неизвестная ошибка. \n Попробуй еще раз через несколько минут.");
		 }
	
	
	
	
	return false;
});


// wrap/unwrap sale
jQuery(".saleItem h2").live("click", function(){
	 
	if(jQuery(this).hasClass('active'))
	{
		jQuery(this).removeClass('active');
		jQuery(this).parent().removeClass('activeP');
		jQuery(this).parent().find('div').slideUp(300);
	}
	else
	{
		jQuery(this).addClass('active');
		jQuery(this).parent().addClass('activeP');
		jQuery(this).parent().find('div').slideDown(300);
	}
	return false;
	  
});





// фильтрация поля
	jQuery('.numberFieldDegrees input').keypress(function(event){
		var key, keyChar;
		if(!event) var event = window.event;
		
		if (event.keyCode) key = event.keyCode;
		else if(event.which) key = event.which;
	
		if(key==null || key==0 || key==8 || key==13 || key==39 || key==37 || key==45 || key==46 || key==43 || key==9  ) return true;
		keyChar=String.fromCharCode(key);
		
		if(!/\d/.test(keyChar))	return false;
	
	});






	// подмена html5 полей
	if (!Modernizr.inputtypes.search) {
		jQuery('input[type=search]').each(function(){
			var	numId = jQuery(this).attr('id'),
				placeholder = jQuery(this).attr('placeholder');

			jQuery(this).replaceWith('<input class="searchText formText" type="text" id="'+numId+'" name="'+numId+'" value="'+placeholder+'">');
			
		});
		
		// эмуляция placeholder
		jQuery('.searchText').each(function(){

			if ((jQuery(this).val().length > 0)&(jQuery(this).attr('type') != 'submit')) 
			{
				var	targetText = jQuery(this).val(),
					targetId = jQuery(this).attr('id');
	
					jQuery(this).val('').before('<label for="'+targetId+'">'+targetText+'</label>');
	
					if(jQuery(this).val()!='') jQuery(this).prev().text('');
					// фокус для поля					
					jQuery(this).focus(function(e){
						jQuery(this).prev().text('');
					});
					
					// потеря фокуса полем
					jQuery(this).blur(
					function(e)
					{
					    var clicked = jQuery(e.target),
					    clickedId = clicked.attr("id");
					
					    if(clickedId=="searchText")
					    {
						if(clicked.val()=='') clicked.prev().text('Поиск');
					    }
					    else if(clickedId=="login")
					    {
						if(clicked.val()=='') clicked.prev().text('Логин');
					    }
					    else if(clickedId=="pswd")
					    {
						if(clicked.val()=='') clicked.prev().text('Пароль');
					    }
						else if(clickedId=="searchSubmit")
					    {
						if(clicked.val()=='') clicked.prev().text('найти предприятие');
					    }
	
				});
					
			};
		// конец эмуляции placeholder
		});
		
	};
	
	// фильтрация поля
	jQuery('.numberFieldPlus input, .numberFieldMinus input').keypress(function(event){
		var key, keyChar;
		if(!event) var event = window.event;
		
		if (event.keyCode) key = event.keyCode;
		else if(event.which) key = event.which;
	
		if(key==null || key==0 || key==8 || key==13 || key==37 || key==39 || key==46 || key==9) return true;
		keyChar=String.fromCharCode(key);
		
		if(!/\d/.test(keyChar))	return false;
	
	});


	// селекты
	var params = {
			changedEl: "select",
			visRows: 5,
			scrollArrows: true
		}
	if (jQuery('select').length !=0) cuSel(params);
	
// всплывашка
jQuery('.sectionHint').hover(function(){
	
	var	text = jQuery(this).text(),
		posX = jQuery(this).offset().left,
		posY = jQuery(this).offset().top-28;
		
	jQuery('.mainWrap').append('<div id="hintBlock"><div><p>'+text+'</p></div></div>');
	jQuery('#hintBlock').css({
			left: posX-jQuery('#hintBlock').outerWidth()-21,
			top: posY
		}).stop().fadeIn(500);
	
}, function(){
	jQuery('#hintBlock').stop().fadeOut(150).queue(function(){jQuery(this).remove()});
});
	
// плюс/минус в подборе
jQuery('.numberFieldMinus span, .numberFieldPlus span').click(function(){
	
	var	obj = jQuery(this).prev(),
		curVal = parseInt(obj.val());
		obj.attr('value', curVal++);

		obj.val(curVal++);
});
	
	
/*
функция подгрузки видео
*/
if (jQuery('#videoLinks').length > 0) jQuery("#videoLinks li").eq(0).addClass('active');
jQuery("#videoLinks li a").live("click", function(){
	 
	if(!jQuery(this).parent().hasClass('active'))
	{
		//jQuery('iframe.youtube-player').attr('src',jQuery(this).attr('href'));
		jQuery('#player').html('<object width="384" height="302"><param name="wmode" value="opaque"></param><param name="movie" value="'+jQuery(this).attr('href')+'?version=3&amp;hl=ru_RU"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="'+jQuery(this).attr('href')+'?version=3&amp;hl=ru_RU" type="application/x-shockwave-flash" width="384" height="302" allowscriptaccess="always" allowfullscreen="true" wmode="opaque"></embed></object>');
		
		jQuery('#videoLinks li').removeClass('active');
		jQuery(this).parent().addClass('active');
	}
	return false;
	  
});

// валидация		
jQuery('#contactForm, #partnersForm, #pForm, #prodSearcher').ketchup();

// попап подбора
jQuery(".selectProd").live("click", function(){
	jQuery('#popupText').html('<div class="popupProdSelection">'+jQuery('#popupProdSelection').html()+'</div')
	jQuery('#popupDark').css('display','block');
	jQuery('#popupWrap').fadeIn(400);
	
	var bodyHeight = $('body').height();
	var posTop = bodyHeight - 530;
	
	if(bodyHeight<530)
	{
		$('#popupWrap').css('top','0');
	}
	else
	{
		$('#popupWrap').css('top',posTop/2+'px');
	}
	

	return false;
});

jQuery("#loginForm").live("submit", function(){
	enterForm();
	return false;
});

jQuery(".logoutBtn").live("click", function(){
	logoutForm();
	return false;
});

/*валидация формы добавления продажи*/


jQuery(".addSaleForm").live("submit", function(){
	
	$('.ketchup-error').remove();
	
	
	var result=true;
	
	/*валидация инн*/
	
	if($('#Afactory').length !== 0)												   
	{
				if($('#Afactory').val()=='')												   
				{
					 var elOffset = $('#Afactory').offset();
					 var leftPosition = elOffset.left + $('#Afactory').outerWidth() - 20,
						rightPosition = elOffset.top - 40;
							
					 $('body').append('<div id="Afactorypopup" class="ketchup-error"><ul><li>Поле "Предприятие" должно быть заполненно</li></ul><span></span></div>');
					 $("#Afactorypopup").css({'top' : rightPosition+'px', 'left' : leftPosition+'px', 'display' : 'block'});
					 
					result=false;	
				}
				if(!jQuery('#Afactory').hasClass('notBuisy'))												   
				{
			
					
					if($('#Afactorypopup').length==1)
					{
						$('#Afactorypopup ul').append('<li>Предприятие должно быть свободно</li>');
						$("#Afactorypopup").css('margin-top','-20px');
					}
					else
					{
						var elOffset = $('#Afactory').offset();
						 var leftPosition = elOffset.left + $('#Afactory').outerWidth() - 20,
							rightPosition = elOffset.top - 40;
								
						 $('body').append('<div id="Afactorypopup" class="ketchup-error"><ul><li>Предприятие должно быть свободно</li></ul><span></span></div>');
						 $("#Afactorypopup").css({'top' : rightPosition+'px', 'left' : leftPosition+'px', 'display' : 'block'});	
					}
					
					result=false;	
				}
	}
	
	/*валидация выбранности продукта*/
	if($('.listOfChosenProd li').length == 0)												   
	{
		var elOffset = $('#searchProduct').offset();
		 var leftPosition = elOffset.left + $('#searchProduct').outerWidth() - 20,
			rightPosition = elOffset.top - 40;
				
		 $('body').append('<div id="searchProductpopup" class="ketchup-error"><ul><li>Должен быть выбранн как минимум 1 продукт</li></ul><span></span></div>');
		 $("#searchProductpopup").css({'top' : rightPosition+'px', 'left' : leftPosition+'px', 'display' : 'block'});
		
		result=false;	
	}
	
	/*валидация поля Техника*/
	if(!$('#Atecnics').hasClass('blackText'))												   
	{
		
		var elOffset = $('#Atecnics').offset();
		 var leftPosition = elOffset.left + $('#Atecnics').outerWidth() - 20,
			rightPosition = elOffset.top - 40;
				
		 $('body').append('<div id="Atecnicspopup" class="ketchup-error"><ul><li>Поле "Техника" должно быть заполненно</li></ul><span></span></div>');
		 $("#Atecnicspopup").css({'top' : rightPosition+'px', 'left' : leftPosition+'px', 'display' : 'block'});
		
		result=false;	
	}
	/*валидация поля Примечание*/
	if(!$('#Ainform').hasClass('blackText'))												   
	{
		
		var elOffset = $('#Ainform').offset();
		 var leftPosition = elOffset.left + $('#Ainform').outerWidth() - 20,
			rightPosition = elOffset.top - 40;
				
		 $('body').append('<div id="Ainformpopup" class="ketchup-error"><ul><li>Поле "Примечание" должно быть заполненно</li></ul><span></span></div>');
		 $("#Ainformpopup").css({'top' : rightPosition+'px', 'left' : leftPosition+'px', 'display' : 'block'});
		
		result=false;	
	}
	/*валидация поля Ранее применяемый продукт*/
	if($('#Aearlier').val()=='')												   
	{
		
		var elOffset = $('#Aearlier').offset();
		 var leftPosition = elOffset.left + $('#Aearlier').outerWidth() - 20,
			rightPosition = elOffset.top - 40;
				
		 $('body').append('<div id="Aearlierpopup" class="ketchup-error"><ul><li>Поле "Ранее применяемый продукт" должно быть заполненно</li></ul><span></span></div>');
		 $("#Aearlierpopup").css({'top' : rightPosition+'px', 'left' : leftPosition+'px', 'display' : 'block'});
		
		result=false;	
	}
	
	
	if (($(this).hasClass('editSale'))&&(result==true))
	{
		
		if (confirm('Вы действительно хотите изменить внедрение?')) 
		{
			return true;		
		}
		else
		{
			return false;
		}
		
	}
	
	
	return result;
});



/*валидация формы добавления продажи*/


jQuery("#addPrPopup").live("submit", function(){
	
	$('.ketchup-error').remove();
	
	var result=true;
	
	/*валидация поля Nimenovanie*/
	if(!$('#naim').hasClass('blackText'))												   
	{
		 
		 $('#naim').parent().append('<div class="ketchup-error"><span></span><ul><li>Поле "Наименование" должно быть заполненно</li></ul></div>');
		
		result=false;	
	}
	
	/*валидация инн*/
/*	if($('#PInn').val()=='')												   
	{
		 var elOffset = $('#PInn').offset();
		 var leftPosition = elOffset.left + $('#PInn').outerWidth() - 20,
			rightPosition = elOffset.top - 40;
				
		 $('body').append('<div id="PInnpopup" class="ketchup-error"><ul><li>Поле "ИНН" должно быть заполненно</li></ul><span></span></div>');
		 $("#PInnpopup").css({'top' : rightPosition+'px', 'left' : leftPosition+'px', 'display' : 'block', 'z-index' : '1100'});
		 
		result=false;	
	}*/
	
	/*валидация Информация о предприятии*/
	if($('#PIfo').val()=='')												   
	{
		 
		$('#PIfo').parent().append('<div class="ketchup-error"><ul><li>Поле "Информация о предприятии" должно быть заполненно</li></ul><span></span></div>');
		 
		result=false;	
	}
	
//======
/*валидация Информация о предприятии*/
	if($('#name_oao').val()=='')												   
	{
		 
		$('#name_oao').parent().append('<div class="ketchup-error"><ul><li>Поле "Информация о предприятии" должно быть заполненно</li></ul><span></span></div>');
		 
		result=false;	
	}
//======

	/*валидация Контактного лица*/
	
	jQuery("#addPrPopup .contactPersons li").each(function() {   
			
			var tr = $(this).find('input').eq(0);
			var tr2 = $(this).find('input').eq(1);
			var texr = $(this).find('textarea').eq(0);
			
			if(tr.val()=='')												   
			{
				
				tr.parent().append('<div class="ketchup-error"><ul><li>Поле "ФИО" должно быть заполненно</li></ul><span></span></div>');
						
				result=false;	
			}
			if(tr2.val()=='')												   
			{
				
				tr2.parent().append('<div class="ketchup-error"><ul><li>Поле "Должность" должно быть заполненно</li></ul><span></span></div>');
						
				result=false;	
			}
			
			if(texr.val()=='')												   
			{
						
				texr.parent().append('<div class="ketchup-error"><ul><li>Поле "Контактная информация" должно быть заполненно</li></ul><span></span></div>');
				 
				result=false;	
			}
			
	});

	
	if ((result==true)&&($('#addPrPopup').hasClass('editingForm')))
	{
		
		if (confirm('Вы действительно хотите изменить предприятие?')) 
					{
						/*return true;*/		
					}
					else
					{
						return false;
					}
		
	}
	
	if(result==true)
	{
	var sender = jQuery("#addPrPopup").serialize();
	
	
	try
		 {
		  jQuery.ajax({
		  url: jQuery("#addPrPopup").attr('action'),
		  data: sender ,
		  type: 'post',
		  timeout: 5000,
		  success: function (idFactory){
			  $('#addPrPopup fieldset').fadeOut(200);
			  if($('#addPrPopup').hasClass('editingForm'))
			  {
				  setTimeout(function(){$('#addPrPopup fieldset').remove();$('#addPrPopup').append('<h1 class="nonArr">Изменения внесены удачно!</h1><span id="imgPreloader"></span>');}, 220);
			  }
			  else
			  {
				  setTimeout(function(){$('#addPrPopup fieldset').remove();$('#addPrPopup').append('<h1 class="nonArr">Предприятие удачно добавлено</h1><span id="imgPreloader"></span>');}, 220);
				  formShow();
			  }

			/*paste good mark*/
			 $('.Afactory .markGood').removeClass('markDis').animate({
				width:"15px"
			}, 500 );
			 
			 var newFactory = idFactory.split('-');
			 newFactory = newFactory[1];
			 
			 var showPopup = 'id="factPopupped"';
			 //if(newFactory == 'new')showPopup = '';
			 
			 var linkToEdit=$('#naim').attr('data-link');
			 setTimeout(function(){$('#popupClose').click()}, 2000);
			 $('#innSeartchRes .good').html('');
			 $('#innSeartchRes').css('display','none');
			 $('.Afactory .AinpWrapper').css('display','none');
			 $('#repalcedName').remove();
			 $('.Afactory .fieldCont').append('<div id="repalcedName"><span ' + showPopup + ' class="editSaleFactoryName" data-link="'+linkToEdit+'">'+$('#naim').val()+'</span><span id="redClose" title="изменить"></span><input type="hidden" name="idFactory" value="'+parseInt(idFactory)+'" /><input type="hidden" name="newFactory" value="' + newFactory + '" /></div>');

          }
		  });
		 }
		 catch(e)
		 {
		  alert("При поиске произошла неизвестная ошибка. \n Попробуй еще раз через несколько минут.");
		 }
	}
	
	return false;
	
	
});




/*щещбражаем или скрываем кнопку Добавить еще одно контактное лицо*/
jQuery("#redClose").live("click", function(){	
	
	isallfillDel();

});



jQuery("#redClose").live("click", function(){

	$('#repalcedName').remove();
	$('#innSeartchRes').css('display','block');
	$('.Afactory .AinpWrapper').css('display','block');
	$('#Afactory').val('').blur();
	$('.Afactory .markGood').removeClass('markApproved').addClass('markDis').css('width','0');

});
jQuery("#repalcedName #redClose").live("click", function(){

	formHide();

});

/*прячем подсказки валидации*/
																				   
jQuery("#addPrPopup input, #addPrPopup textarea").live("keyup", function(){
	
	$(this).parent().find('.ketchup-error').fadeOut(200);

});

jQuery(".addSaleForm input, .addSaleForm textarea").live("keyup", function(){
	
	var name = $(this).attr('id');
	$('#'+name+'popup').fadeOut(200);

});

$('#searchProduct').click(function(){

	var name = $(this).attr('id');
	$('#'+name+'popup').fadeOut(200);

});


/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/


jQuery("#addPrPopup .contactPersons input, #addPrPopup .contactPersons textarea").live("keyup", function(){

	isallfill($(this));

});




jQuery("#Afactory").focus (
      function(){
        if(jQuery(this).val()=='Введите ИНН')
          jQuery(this).val('');
		  $(this).addClass('blackText');
          return true;
});
jQuery("#Afactory").blur (
      function(){
        if(jQuery(this).val()=='')
		{
          jQuery(this).val('Введите ИНН');
		  $(this).removeClass('blackText');
		}
          return true;
});

var	respName;

$('#Afactory').keyup(function(){

			if($(this).val() == '')
			{
				empty = 0;
			}
			else
			{
				empty = 1;
			}


				var	preloader = $('#innSeartchRes .searcher');	// прелоадер

							// снимаем режим ожидания
							clearTimeout(respName);	
							
							$('#innSeartchRes .msg').remove();
							preloader.show();
							
							// устианавливаем новый режим ожидания
							respName = setTimeout(function(){
							
								
								var inpVal = $('#Afactory').val();
								
								jQuery.ajax({
									url: $('#Afactory').attr('data-url'),
									timeout: 5000,
									type: "POST",
									data: "inn=" + inpVal,
									success:	function(msg){
										
												var factoryName = msg.split('%fn%');
												
												jQuery('#toolTipKeeper').removeClass('hiddden');
												
												factoryName = factoryName[1];
												
												if(msg.indexOf("buisy")==0)
												{
													$('#innSeartchRes .msg').remove();
													$('#innSeartchRes').append('<div class="msg">Такой ИНН уже занят.</div>');
													$('#Afactory').removeClass('notBuisy');
												}
												else if(msg.indexOf("free")==0)
												{	
													$('#Afactory').addClass('notBuisy');
													$('#innSeartchRes .msg').remove();
													$('#innSeartchRes').append('<div class="msg good">ИНН свободен. Добавьте Ваше предприятие!<button type="button" id="addNewFct" data-link="/php/popup-form.php">Добавить</button></div>');
												}
												else if(msg.indexOf("incorectINN")==0)
												{	
													$('#Afactory').addClass('notBuisy');
													$('#innSeartchRes .msg').remove();
													$('#innSeartchRes').append('<div class="msg">Такого ИНН не существует.</div>');
													$('#Afactory').removeClass('notBuisy');
												}
												else if(msg.indexOf("myFactory")==0)
												{	
													$('#Afactory').addClass('notBuisy');
													$('#innSeartchRes .msg').remove();

													var tamporary = factoryName.split('%spl%');

													factoryNamer = tamporary[0];
													factoryId = tamporary[1];
													factoryMod = tamporary[2];
													
													var factoryNameWraperStart = "";
													var factoryNameWraperEnd = "";
													
													
													if(factoryMod == 1)
													{
														factoryNameWraperStart = '<a class="editSaleFactoryName" href="#" ONCLICK="w1=window.open(\'/support/?show=factories&id='+factoryId+'\',\'_blank\',\'Toolbar=0,Location=0,Directories=0,Status=0,Menubar=0,Scrollbars=1,Resizable=1,Width=700,Height=550\');return false;">';
														factoryNameWraperEnd = '</a>';
													}
													else
													{
														factoryNameWraperStart = '<span id="factPopupped" class="editSaleFactoryName" data-link="/php/popup-form-edit.php">';
														factoryNameWraperEnd = "</span>";
													}
													
													$('#innSeartchRes .good').html('');
													$('#innSeartchRes').css('display','none');
													$('.Afactory .AinpWrapper').css('display','none');
													$('.Afactory .fieldCont').append('<div id="repalcedName">'+factoryNameWraperStart+'<b value="' + factoryMod + '" id="factoryEditing"></b>'+factoryNamer+''+factoryNameWraperEnd+'<span id="redClose" title="изменить"></span><input type="hidden" name="idFactory" value="'+factoryId+'" /></div>');
													
													jQuery('#toolTipKeeper').addClass('hiddden');
													formShow();
													$('.Afactory .markGood').removeClass('markDis');
													$('.Afactory .markGood').animate({
														width:"15px"
													}, 500 );
													
													
													
												}
												else if(msg.indexOf("factoryFree")==0)
												{	
													$('#Afactory').addClass('notBuisy');
													$('#innSeartchRes .msg').remove();
													$('#innSeartchRes').append('<div class="msg good"  style="color:green;">Предприятие <strong>"' + factoryName +'"</strong> свободно.</div>');
												}
												else if(msg.indexOf("factoryNotFree")==0)
												{	
													$('#Afactory').addClass('notBuisy');
													$('#innSeartchRes .msg').remove();
													$('#innSeartchRes').append('<div class="msg">Предприятие <strong>"' + factoryName +'"</strong> закреплено за другой компанией.</div>');
													$('#Afactory').removeClass('notBuisy');
												}
												else
												{
													$('#Afactory').addClass('notBuisy');
													$('#innSeartchRes .msg').remove();
													$('#innSeartchRes').append('<div class="msg good">сервер дал не понятный ответ.</div>');
													$('#Afactory').removeClass('notBuisy');
												}
													
												preloader.hide();
												
									},
									error: 	function (){
												alert("Произошла ошибка. Сервер не отвечает. Повторите попытку позже.");
												preloader.hide();
												return false;
											}
							
											
								});		
								
								if(empty == 0)
								{
									$('#toolTipKeeper').fadeOut(200);
								}
								else
								{

									var inpVal = $('#Afactory').val();
									
									/*запрос подсказок ИНН*/
									jQuery.ajax({
										url: $('#Afactory').attr('data-tooltip'),
										timeout: 5000,
										type: "get",
										data: "inn=" + inpVal,
										success:	function(msg){
											
											$('#toolTipKeeper').html(msg);
											

											$('#toolTipKeeper').fadeIn(200);

											
													
													
										},
										error: 	function (){
													alert("Произошла ошибка. Сервер не отвечает. Повторите попытку позже.");
													return false;
												}
									// ajax end
								});	

								}

								
							}, 600);
							
																						
	});








/*выбор ИНН из подсказок*/
jQuery("#toolTipKeeper li").live("click", function(){
																	 
		var temelement = jQuery(this).attr('data-inn');

		$('#Afactory').val(temelement);
		$('#Afactory').keyup();
		emptynull();
		jQuery("#toolTipKeeper").fadeOut(200);

});	


/*remove ИНН подсказок*/

if($('#toolTipKeeper').length > 0)
{
	
	jQuery("body").live("click", function(e){
										  
		var clicked = jQuery(e.target);
     	var clickedId = clicked.attr("id");
			
			
			if(clickedId=="Afactory") 
     		{		

     		}	
			else
			{
				$('#toolTipKeeper').fadeOut(200);	
			}

	});
}


/*удаляем контактное лицо*/
jQuery("#addPrPopup .contactPersons .closer").live("click", function(){



	if (confirm('Вы действительно хотите удалить контактное лицо?')) 
			{
				var target = jQuery(this).parent();
		
				var contCol = $('#addPrPopup .contactPersons li').length-1;
		
				target.fadeOut(200);
				setTimeout(function(){
						target.remove();
						for (k=0; k<contCol; k++)					
							{
								$('#addPrPopup .contactPersons li').eq(k).find('.number').text(k+1);
							}
						
					$('#addPrPopup .contactPersons li:first-child').addClass('firstSeen');	
						
					if($('#addPrPopup .contactPersons li').length == 1)
					{
						$('#addPrPopup .contactPersons li:first-child').removeClass('firstSeen');
					}
					repositionScroll();
				}, 201);	
			}
			else
			{
				return false;
			}

});	
/*удаляем контактное лицо*/
var perCount=1;

jQuery("#addPrPopupAdder").live("click", function(){
			
		if (jQuery('#addPrPopup .contactPersons>li').length > 0) 
		{	
			$("#addPrPopup .contactPersons>li:first-child").clone().appendTo("#addPrPopup .contactPersons");
			
			jQuery("#addPrPopup .contactPersons>li:last .ketchup-error").remove();
			jQuery("#addPrPopup .contactPersons>li:last input, #addPrPopup .contactPersons>li:last textarea").val('');
			jQuery("#addPrPopup .contactPersons>li:last label").each(function() {   
									 jQuery(this).attr('for',jQuery(this).attr('for')+perCount);
								});
			jQuery("#addPrPopup .contactPersons>li:last input").each(function() {   
									 jQuery(this).attr('id',jQuery(this).attr('id')+perCount);
									 jQuery(this).attr('name',jQuery(this).attr('name')+perCount);
								});
			jQuery("#addPrPopup .contactPersons>li:last textarea").each(function() {   
									 jQuery(this).attr('id',jQuery(this).attr('id')+perCount);
									 jQuery(this).attr('name',jQuery(this).attr('name')+perCount);
								});
			perCount++;
			$('#addPrPopup .contactPersons li:first-child').addClass('firstSeen');
		}
		else
		{
			$("#addPrPopup .contactPersons").append('<li><span class="arr"></span><span class="closer">Удалить</span><dl><dt><label for="C_FIO">ФИО</label></dt><dd><span class="inpWrWh"><input type="text" id="C_FIO" name="C_FIO"></span></dd><dt><label for="C_dol">Должность</label></dt><dd><span class="inpWrWh"><input type="text" id="C_dol" name="C_dol"></span></dd><dt><label for="C_con">Контактная информация</label></dt><dd><span class="textWrWh"><textarea id="C_con" name="C_con" cols="3" rows="3"></textarea></span></dd></dl><span class="number">1</span></li>');
		}
		
		
		jQuery("#addPrPopup .contactPersons li:last .number").text(jQuery("#addPrPopup .contactPersons li").length);
		
		
		var heighters = jQuery('.contactPersons').height()+300;
		jQuery('.scroller').scrollTo(heighters, 800);
		jQuery("#addPrPopup .contactPersons li:last input").eq(0).focus();
		$(this).addClass('hiddenButton');	
		repositionScroll();

});	



jQuery("#naim").live("focus", function(){
        if(jQuery(this).val()=='напр. АТФ')
          jQuery(this).val('');
		  $(this).addClass('blackText');
          return true;
                });
jQuery("#naim").live("blur", function(){
        if(jQuery(this).val()=='')
		{
          jQuery(this).val('напр. АТФ');
		  $(this).removeClass('blackText');
		}
          return true;
                });



// end of ready
});



function isallfill(e){
	
	var allCol=jQuery("#addPrPopup .contactPersons li").length;
	
	if(e.is('input'))
	{
		cfio=0;
		
		jQuery("#addPrPopup .contactPersons li").each(function() {   
			
			var tr = $(this).find('input').eq(0);
			
			if(tr.val()!=='')												   
			{
				
				cfio++;
						
			}
		});
	}
	else
	{
		ccon=0;
		
		jQuery("#addPrPopup .contactPersons li").each(function() {   
			
			var texr = $(this).find('textarea').eq(0);
			
			
			if(texr.val()!=='')												   
			{
						
				ccon++;
				 
			}
			
	  });
	}
	
	if((ccon==allCol)&&(cfio==allCol))
	{
		$('#addPrPopupAdder').removeClass('hiddenButton');	
	}
	else
	{
		$('#addPrPopupAdder').addClass('hiddenButton');	
	}
};



function isallfillDel(){
	
	ccon=cfio=0;
	
	var allCol=jQuery("#addPrPopup .contactPersons li").length;
	
	
	jQuery("#addPrPopup .contactPersons li").each(function() {   
			
			var tr = $(this).find('input').eq(0);
			var texr = $(this).find('textarea').eq(0);
			
			if(tr.val()!=='')												   
			{
				
				cfio++;
						
			}
			
			if(texr.val()!=='')												   
			{
						
				ccon++;
				 
			}
			
	});

	
	if((ccon==allCol)&&(cfio==allCol))
	{
		$('#addPrPopupAdder').removeClass('hiddenButton');	
	}
	else
	{
		$('#addPrPopupAdder').addClass('hiddenButton');	
	}
};


// http://bit.ly/ishiv | WTFPL License
window.innerShiv=function(){function h(c,e,b){return/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i.test(b)?c:e+"></"+b+">"}var c,e=document,j,g="abbr article aside audio canvas datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video".split(" ");return function(d,i){if(!c&&(c=e.createElement("div"),c.innerHTML="<nav></nav>",j=c.childNodes.length!==1)){for(var b=e.createDocumentFragment(),f=g.length;f--;)b.createElement(g[f]);b.appendChild(c)}d=d.replace(/^\s\s*/,"").replace(/\s\s*$/,"").replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,"").replace(/(<([\w:]+)[^>]*?)\/>/g,h);c.innerHTML=(b=d.match(/^<(tbody|tr|td|col|colgroup|thead|tfoot)/i))?"<table>"+d+"</table>":d;b=b?c.getElementsByTagName(b[1])[0].parentNode:c;if(i===!1)return b.childNodes;for(var f=e.createDocumentFragment(),k=b.childNodes.length;k--;)f.appendChild(b.firstChild);return f}}();


// Modernizr v1.7  www.modernizr.com
window.Modernizr=function(a,b,c){function G(){e.input=function(a){for(var b=0,c=a.length;b<c;b++)t[a[b]]=!!(a[b]in l);return t}("autocomplete autofocus list placeholder max min multiple pattern required step".split(" ")),e.inputtypes=function(a){for(var d=0,e,f,h,i=a.length;d<i;d++)l.setAttribute("type",f=a[d]),e=l.type!=="text",e&&(l.value=m,l.style.cssText="position:absolute;visibility:hidden;",/^range$/.test(f)&&l.style.WebkitAppearance!==c?(g.appendChild(l),h=b.defaultView,e=h.getComputedStyle&&h.getComputedStyle(l,null).WebkitAppearance!=="textfield"&&l.offsetHeight!==0,g.removeChild(l)):/^(search|tel)$/.test(f)||(/^(url|email)$/.test(f)?e=l.checkValidity&&l.checkValidity()===!1:/^color$/.test(f)?(g.appendChild(l),g.offsetWidth,e=l.value!=m,g.removeChild(l)):e=l.value!=m)),s[a[d]]=!!e;return s}("search tel url email datetime date month week time datetime-local number range color".split(" "))}function F(a,b){var c=a.charAt(0).toUpperCase()+a.substr(1),d=(a+" "+p.join(c+" ")+c).split(" ");return!!E(d,b)}function E(a,b){for(var d in a)if(k[a[d]]!==c&&(!b||b(a[d],j)))return!0}function D(a,b){return(""+a).indexOf(b)!==-1}function C(a,b){return typeof a===b}function B(a,b){return A(o.join(a+";")+(b||""))}function A(a){k.cssText=a}var d="1.7",e={},f=!0,g=b.documentElement,h=b.head||b.getElementsByTagName("head")[0],i="modernizr",j=b.createElement(i),k=j.style,l=b.createElement("input"),m=":)",n=Object.prototype.toString,o=" -webkit- -moz- -o- -ms- -khtml- ".split(" "),p="Webkit Moz O ms Khtml".split(" "),q={svg:"http://www.w3.org/2000/svg"},r={},s={},t={},u=[],v,w=function(a){var c=b.createElement("style"),d=b.createElement("div"),e;c.textContent=a+"{#modernizr{height:3px}}",h.appendChild(c),d.id="modernizr",g.appendChild(d),e=d.offsetHeight===3,c.parentNode.removeChild(c),d.parentNode.removeChild(d);return!!e},x=function(){function d(d,e){e=e||b.createElement(a[d]||"div");var f=(d="on"+d)in e;f||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(d,""),f=C(e[d],"function"),C(e[d],c)||(e[d]=c),e.removeAttribute(d))),e=null;return f}var a={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return d}(),y=({}).hasOwnProperty,z;C(y,c)||C(y.call,c)?z=function(a,b){return b in a&&C(a.constructor.prototype[b],c)}:z=function(a,b){return y.call(a,b)},r.flexbox=function(){function c(a,b,c,d){a.style.cssText=o.join(b+":"+c+";")+(d||"")}function a(a,b,c,d){b+=":",a.style.cssText=(b+o.join(c+";"+b)).slice(0,-b.length)+(d||"")}var d=b.createElement("div"),e=b.createElement("div");a(d,"display","box","width:42px;padding:0;"),c(e,"box-flex","1","width:10px;"),d.appendChild(e),g.appendChild(d);var f=e.offsetWidth===42;d.removeChild(e),g.removeChild(d);return f},r.canvas=function(){var a=b.createElement("canvas");return a.getContext&&a.getContext("2d")},r.canvastext=function(){return e.canvas&&C(b.createElement("canvas").getContext("2d").fillText,"function")},r.webgl=function(){return!!a.WebGLRenderingContext},r.touch=function(){return"ontouchstart"in a||w("@media ("+o.join("touch-enabled),(")+"modernizr)")},r.geolocation=function(){return!!navigator.geolocation},r.postmessage=function(){return!!a.postMessage},r.websqldatabase=function(){var b=!!a.openDatabase;return b},r.indexedDB=function(){for(var b=-1,c=p.length;++b<c;){var d=p[b].toLowerCase();if(a[d+"_indexedDB"]||a[d+"IndexedDB"])return!0}return!1},r.hashchange=function(){return x("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},r.history=function(){return !!(a.history&&history.pushState)},r.draganddrop=function(){return x("dragstart")&&x("drop")},r.websockets=function(){return"WebSocket"in a},r.rgba=function(){A("background-color:rgba(150,255,150,.5)");return D(k.backgroundColor,"rgba")},r.hsla=function(){A("background-color:hsla(120,40%,100%,.5)");return D(k.backgroundColor,"rgba")||D(k.backgroundColor,"hsla")},r.multiplebgs=function(){A("background:url(//:),url(//:),red url(//:)");return(new RegExp("(url\\s*\\(.*?){3}")).test(k.background)},r.backgroundsize=function(){return F("backgroundSize")},r.borderimage=function(){return F("borderImage")},r.borderradius=function(){return F("borderRadius","",function(a){return D(a,"orderRadius")})},r.boxshadow=function(){return F("boxShadow")},r.textshadow=function(){return b.createElement("div").style.textShadow===""},r.opacity=function(){B("opacity:.55");return/^0.55$/.test(k.opacity)},r.cssanimations=function(){return F("animationName")},r.csscolumns=function(){return F("columnCount")},r.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";A((a+o.join(b+a)+o.join(c+a)).slice(0,-a.length));return D(k.backgroundImage,"gradient")},r.cssreflections=function(){return F("boxReflect")},r.csstransforms=function(){return!!E(["transformProperty","WebkitTransform","MozTransform","OTransform","msTransform"])},r.csstransforms3d=function(){var a=!!E(["perspectiveProperty","WebkitPerspective","MozPerspective","OPerspective","msPerspective"]);a&&"webkitPerspective"in g.style&&(a=w("@media ("+o.join("transform-3d),(")+"modernizr)"));return a},r.csstransitions=function(){return F("transitionProperty")},r.fontface=function(){var a,c,d=h||g,e=b.createElement("style"),f=b.implementation||{hasFeature:function(){return!1}};e.type="text/css",d.insertBefore(e,d.firstChild),a=e.sheet||e.styleSheet;var i=f.hasFeature("CSS2","")?function(b){if(!a||!b)return!1;var c=!1;try{a.insertRule(b,0),c=/src/i.test(a.cssRules[0].cssText),a.deleteRule(a.cssRules.length-1)}catch(d){}return c}:function(b){if(!a||!b)return!1;a.cssText=b;return a.cssText.length!==0&&/src/i.test(a.cssText)&&a.cssText.replace(/\r+|\n+/g,"").indexOf(b.split(" ")[0])===0};c=i('@font-face { font-family: "font"; src: url(data:,); }'),d.removeChild(e);return c},r.video=function(){var a=b.createElement("video"),c=!!a.canPlayType;if(c){c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"');var d='video/mp4; codecs="avc1.42E01E';c.h264=a.canPlayType(d+'"')||a.canPlayType(d+', mp4a.40.2"'),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"')}return c},r.audio=function(){var a=b.createElement("audio"),c=!!a.canPlayType;c&&(c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"'),c.mp3=a.canPlayType("audio/mpeg;"),c.wav=a.canPlayType('audio/wav; codecs="1"'),c.m4a=a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;"));return c},r.localstorage=function(){try{return!!localStorage.getItem}catch(a){return!1}},r.sessionstorage=function(){try{return!!sessionStorage.getItem}catch(a){return!1}},r.webWorkers=function(){return!!a.Worker},r.applicationcache=function(){return!!a.applicationCache},r.svg=function(){return!!b.createElementNS&&!!b.createElementNS(q.svg,"svg").createSVGRect},r.inlinesvg=function(){var a=b.createElement("div");a.innerHTML="<svg/>";return(a.firstChild&&a.firstChild.namespaceURI)==q.svg},r.smil=function(){return!!b.createElementNS&&/SVG/.test(n.call(b.createElementNS(q.svg,"animate")))},r.svgclippaths=function(){return!!b.createElementNS&&/SVG/.test(n.call(b.createElementNS(q.svg,"clipPath")))};for(var H in r)z(r,H)&&(v=H.toLowerCase(),e[v]=r[H](),u.push((e[v]?"":"no-")+v));e.input||G(),e.crosswindowmessaging=e.postmessage,e.historymanagement=e.history,e.addTest=function(a,b){a=a.toLowerCase();if(!e[a]){b=!!b(),g.className+=" "+(b?"":"no-")+a,e[a]=b;return e}},A(""),j=l=null,f&&a.attachEvent&&function(){var a=b.createElement("div");a.innerHTML="<elem></elem>";return a.childNodes.length!==1}()&&function(a,b){function p(a,b){var c=-1,d=a.length,e,f=[];while(++c<d)e=a[c],(b=e.media||b)!="screen"&&f.push(p(e.imports,b),e.cssText);return f.join("")}function o(a){var b=-1;while(++b<e)a.createElement(d[b])}var c="abbr|article|aside|audio|canvas|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",d=c.split("|"),e=d.length,f=new RegExp("(^|\\s)("+c+")","gi"),g=new RegExp("<(/*)("+c+")","gi"),h=new RegExp("(^|[^\\n]*?\\s)("+c+")([^\\n]*)({[\\n\\w\\W]*?})","gi"),i=b.createDocumentFragment(),j=b.documentElement,k=j.firstChild,l=b.createElement("body"),m=b.createElement("style"),n;o(b),o(i),k.insertBefore(m,k.firstChild),m.media="print",a.attachEvent("onbeforeprint",function(){var a=-1,c=p(b.styleSheets,"all"),k=[],o;n=n||b.body;while((o=h.exec(c))!=null)k.push((o[1]+o[2]+o[3]).replace(f,"$1.iepp_$2")+o[4]);m.styleSheet.cssText=k.join("\n");while(++a<e){var q=b.getElementsByTagName(d[a]),r=q.length,s=-1;while(++s<r)q[s].className.indexOf("iepp_")<0&&(q[s].className+=" iepp_"+d[a])}i.appendChild(n),j.appendChild(l),l.className=n.className,l.innerHTML=n.innerHTML.replace(g,"<$1font")}),a.attachEvent("onafterprint",function(){l.innerHTML="",j.removeChild(l),j.appendChild(n),m.styleSheet.cssText=""})}(a,b),e._enableHTML5=f,e._version=d,g.className=g.className.replace(/\bno-js\b/,"")+" js "+u.join(" ");return e}(this,this.document)

// добавление оверлея
function addOverlay(){
	jQuery('.oil').eq(0).append('<div class="overlay"></div><div class="preloader"></div>');
	jQuery('.oil .overlay').fadeTo(500, .5);
	jQuery('.oil .preloader').fadeTo(500, 1);
};

function removeOverlay(){
	jQuery('.oil .overlay').fadeTo(500, 0);
	jQuery('.oil .preloader').fadeTo(500, 0);
	setTimeout(function(){
		jQuery('.oil .overlay, .oil .preloader').remove();
	}, 500);
};



// форма входа
function logoutForm(){

var dataLog = $(".logoutBtn").attr('data-send');
			
			jQuery.ajax({
					url: $(".logoutBtn").attr('href'),
					timeout: 5000,
					type: "POST",
					data: dataLog,
					success:	function(msg){
							
									$('.loggedBlock').addClass('hiddenLog');
									$('#loginForm').css('display','none');
									$('.loginBlock').removeClass('hiddenLog');
									$('body').removeClass('loggedUserBody');

					},
					error: 	function (){
								alert("Произошла ошибка. Сервер не отвечает. Повторите попытку позже.");
								return false;
							}
				// ajax end
				});	

}

// форма входа
function enterForm(){

var dataLog = $("#loginForm").serialize();
			
			jQuery.ajax({
					url: $("#loginForm").attr('action'),
					timeout: 5000,
					type: "POST",
					data: dataLog,
					beforeSend: function(){addOverlay()},
					success:	function(msg){
							if ((msg !='error')&(msg !=''))
							{
								removeOverlay();
								
								msg = jQuery.evalJSON(msg);
								
								if(msg["errored"]=='')
								{
									removeOverlay();
									$('.loggedBlock').removeClass('hiddenLog');
									$('#loginForm').css('display','none');
									$('.loginBlock').addClass('hiddenLog');
									$('.loggedBlock .loggedNick a').html(msg["success"]).attr('title',msg["success"]);
									$('body').addClass('loggedUserBody');
									//atf20
									top.location.href='http://atf.ru/office/';
								}
								else
								{
									
									$("#loginForm").append(msg["errored"]);
	
								}
								
								
								
							}
							// если получен error
							else
							{
								alert("Произошла ошибка. Не удалось загрузить элементы. Повторите попытку позже.");
								removeOverlay();
								return false;
							};
					},
					error: 	function (){
								alert("Произошла ошибка. Сервер не отвечает. Повторите попытку позже.");
								removeOverlay();
								return false;
							}
				// ajax end
				});	

}

// добавление оверлея
function emptynull(){
	empty = 0;
};

// добавление оверлея
function formShow(){
	if($('.addSaleForm').hasClass('editSale'))
	{
		$('.addSaleForm fieldset ul li.darkers').fadeTo(500, 0);
		setTimeout(function(){
			$('.addSaleForm fieldset ul li.darkers').remove();
		}, 500);
		$('#stepCount').text('2');
		jQuery("#Ainform").keyup();
	}
	else
	{
		$('.hiddenPart').fadeIn(300);
		$('.addSaleForm input[type=submit]').removeClass('hiddenSbmt');
		$('#stepCount').text('2');
	}
	
};
function formHide(){
	
	if($('.addSaleForm').hasClass('editSale'))
	{
		$('.addSaleForm fieldset ul').append('<li class="darkers"></li>');
		$('.addSaleForm fieldset ul li.darkers').fadeTo(500, 0.45);
		$('#sbmtLighter').css('left','0');
		$('.Aimplementing .markGood').addClass('markDis');
		$('#stepCount').text('1');
	}
	else
	{
		$('.hiddenPart').fadeOut(300);
		$('#sbmtLighter').css('left','0');
		$('.hiddenPart input[type=text], .hiddenPart textarea').val('').keyup().blur();
		$('.listOfChosenProd').empty();
		$('#searchProduct').removeClass('hidenn');
		$('.Aimplementing .markGood').addClass('markDis');
		$('#stepCount').text('1');
	}
	$('.addSaleForm input[type=submit]').addClass('hiddenSbmt');
	
	
};
function formDis(){
	$('#sbmtLighter').css('left','0');
}

function formEn(){
	$('#sbmtLighter').css('left','-5000px');
}

// добавление оверлея
function addOverlay(){
	$("#loginForm").append('<div class="overlay"></div>');
	jQuery('#loginForm .overlay').fadeTo(500, 0.5);
};

function removeOverlay(){
	jQuery('#loginForm .overlay').fadeTo(500, 0);
	setTimeout(function(){
		jQuery('#loginForm .overlay').remove();
	}, 500);
};

// форма выбора масла
function oilSelect(){
	var	oilValue = jQuery('#oilPurpose').val();
		
		if (oilValue != 0)
		{
			jQuery.ajax({
				url: "/php/oil-choose.php",
				timeout: 5000,
				type: "GET",
				data: "oilValue="+oilValue,
				beforeSend: function(){addOverlay()},
				success:	function(msg){
						if ((msg !='error')&(msg !=''))
						{
							msg = jQuery.evalJSON(msg);
							
							// очищаем место для новых данных
							if (jQuery('.oil dl dt.viscGrade').length > 0) 
							{
								jQuery('.oil dl dt.viscGrade').next().remove();
								jQuery('.oil dl dt.viscGrade').remove();							
								jQuery('.oil dl').next().remove();
							}
							if (jQuery('.oil dl dt.viscGradeDis').length > 0) 
							{
								jQuery('.oil dl dt.viscGradeDis').next().remove();
								jQuery('.oil dl dt.viscGradeDis').remove();
							}
							
							jQuery('.oil dl').eq(0).append(msg["select"]);
							jQuery('.oil dl').eq(0).after(msg["addParams"]);
							
							jQuery("#additionalParams input[type=checkbox]").each(function() {   
							     changeCheckStart(jQuery(this));
							});
							
							var params = {
									changedEl: "select",
									visRows: 5,
									scrollArrows: true
								}
							if (jQuery('select').length !=0) cuSel(params);
							
							removeOverlay();
							jQuery(".prodSelection .selection").addClass('enabled')
																.attr('disabled', false)
																.val('Подобрать продукт »');
							jQuery('#formSubmitHint').css('display','none');
						}
							// если получен error
							else
							{
								alert("Произошла ошибка. Не удалось загрузить элементы. Повторите попытку позже.");
								removeOverlay();
								return false;
							};
				},
				error: 	function (){
							alert("Произошла ошибка. Сервер не отвечает. Повторите попытку позже.");
							removeOverlay();
							return false;
						}
			// ajax end
			});	
		}
			else
			{
				jQuery('.oil dl dt.viscGrade').next().remove();
				jQuery('.oil dl dt.viscGrade').remove();							
				jQuery('.oil fieldset').html('');
				jQuery(".prodSelection .selection").removeClass('enabled')
													.attr('disabled', true)
													.val('Подобрать продукт »');
				jQuery('#formSubmitHint').css('display','block');
			};
};


//нестандартные чекбоксы
function changeCheck(el)

{
	var el = el,
		input = el.find("input").eq(0);
		  
	if(el.attr("class").indexOf("niceCheckDisabled")==-1)
	{
   		if(!input.attr("checked")) {
			el.addClass("niceChecked");
			input.attr("checked", true);
		} else {
			el.removeClass("niceChecked");
			input.attr("checked", false).focus();
		}
		checkChanger(el);
	}
	
	changeSbmtCheck(input);
	visualSubmit();
	
    return false;
	
}

function changeVisualCheck(input)
{
var wrapInput = input.parent();
	if(!input.attr("checked")) {
		wrapInput.removeClass("niceChecked");
	}
	else
	{
		wrapInput.addClass("niceChecked");
	}
	checkChanger(wrapInput);
	changeSbmtCheck(input);
	visualSubmit();
}

function changeCheckStart(el)

{

try
{
var el = el,
	checkName = el.attr("name"),
	checkId = el.attr("id"),
	checkChecked = el.attr("checked"),
	checkDisabled = el.attr("disabled"),
	checkTab = el.attr("tabindex"),
	curClass = el.attr("class"),
    checkValue = el.attr("value");
	if(checkChecked)
		el.after("<span class='niceCheck niceChecked "+curClass+"'>"+
			"<input type='checkbox'"+
			"name='"+checkName+"'"+
			"id='"+checkId+"'"+
			"checked='"+checkChecked+"'"+
            "value='"+checkValue+"'"+
			"tabindex='"+checkTab+"' /></span>");
	else
		el.after("<span class='niceCheck "+curClass+"'>"+
			"<input type='checkbox'"+
			"name='"+checkName+"'"+
			"id='"+checkId+"'"+
             "value='"+checkValue+"'"+
			"tabindex='"+checkTab+"' /></span>");
	
		
	if(checkDisabled)
	{
		el.next().addClass("niceCheckDisabled");
		el.next().find("input").eq(0).attr("disabled","disabled");
	}
	

	el.next().bind("mousedown", function(e) { changeCheck(jQuery(this)) });
	el.next().find("input").eq(0).bind("change", function(e) { changeVisualCheck(jQuery(this)) });
	/*if ((jQuery.browser.msie == true)&(jQuery.browser.version <9))
	{
		el.next().find("input").eq(0).bind("click", function(e) { changeVisualCheck(jQuery(this)) });	
	}*/
	el.remove();
}
catch(e)
{

}

    return true;
}

//если пытаются выбрать более 3х

function moreThenThree()
{

			if(muchThenThree == 3)
			{

					jQuery('#additionalParams .niceCheck input:not(:checked)').parent().addClass('niceCheckDisabled');
					jQuery('#additionalParams .niceCheck input:not(:checked)').parent().next().addClass('disabled');
					jQuery('#addNotification').html('Вы можете выбрать одновременно не более трех дополнительных требований');
					jQuery('#additionalParams .niceCheck input:not(:checked)').attr('disabled', true);		

			}
			else if(muchThenThree < 3)
			{
					jQuery('#addNotification').html('');
					jQuery('.niceCheckDisabled input').attr('disabled', false);
					jQuery('.niceCheckDisabled').removeClass('niceCheckDisabled');
					jQuery('#additionalParams label.disabled').removeClass('disabled');
					nonComplitable();
			}

}

//несовместимые варианты

function nonComplitable()
{	
	var tempEl = new Array();
	
	jQuery('#lighter').css('display','block');
	
	
	jQuery("#additionalParams .niceCheck input:checked").each(
	function() {   
		 tempEl.push(jQuery(this).attr('id'));
	});	

	try
		 {
		  jQuery.ajax({
		  url: jQuery("#additionalParams").attr('href'),
		  data: 'checkedboxes='+tempEl ,
		  type: 'get',
		  timeout: 5000,
		  success: function (gettedval){
			  
			   var newArray = new Array(),
				newArray = gettedval.split(','),
				arrlen = newArray.length;
			   if(newArray[0].length > 7)
			   {
			   // удалим пробельные символы (если они, вдруг, есть) в начале и в конце каждого массива
				for (j=0; j<arrlen; j++) newArray[j] = newArray[j].replace(/(\s*)\B(\s*)/g, '');
				
				
			 	for (k=0; k<arrlen; k++)					
					{
						var	curId = newArray[k];
							
						jQuery("#"+curId).parent().addClass('niceCheckDisabled')
											  .attr('title','Данный параметр несовместим с уже выбранными');
						jQuery("#"+curId).attr('disabled', true);
						jQuery("#"+curId).parent().next().addClass('disabled');	
					}
			   }
			   jQuery('#lighter').css('display','none');
		  },
          error:function (xhr, ajaxOptions, thrownError){
                    jQuery('#lighter').css('display','none');
					jQuery("#additionalParams .niceCheckDisabled").removeClass('niceCheckDisabled');
					jQuery("#additionalParams .niceCheckDisabled").find('input').attr('disabled',false);
					countForSubmit = countForSubmit - jQuery("#additionalParams .niceChecked").length;
					visualSubmit();
					jQuery("#additionalParams .niceChecked").removeClass('niceChecked');
					jQuery("#additionalParams .niceChecked").find('input').attr('checked',false);
					jQuery("#additionalParams label.disabled").removeClass('disabled');
					alert('Во время обработки Вашего запроса на сервере произошла ошибка. \n Попробуй еще раз.');
          }
		  });
		 }
		 catch(e)
		 {
		  alert("При поиске произошла неизвестная ошибка. \n Попробуй еще раз через несколько минут.");
		 }
		
}

/*субмит форм -------------------------*/
function showPopup(pMessage){
	jQuery('#popupWrap').css({
		width: 400,
		margin: 0
	});
	jQuery('#popupDark').css('display','block');
	jQuery('#popupText').html(pMessage);
	jQuery('#popupWrap').fadeIn(400);
};

function clearForm(){
	jQuery('form input:not([type=submit])').each(function(){
		jQuery(this).val('');	
	});
	jQuery('form textarea').each(function(){
		jQuery(this).val('');	
	});
};

function addFormOverlay(){
	jQuery('form').append('<div class="formOverlay"></div>');
	jQuery('.formOverlay').fadeTo(100, .5);
};
function removeFormOverlay(){
	jQuery('.formOverlay').fadeOut(100);
	setTimeout(function(){
		jQuery('.formOverlay').remove();		
	}, 100);
};

function submitForm(){
	
	var	ajaxData = "", mailUrl, pMessage = "";
	
		if (jQuery('#contactForm').length > 0)
		{
			// если форма контакта
			jQuery('#contactForm input:not([type=submit])').each(function(){
				ajaxData +=jQuery(this).attr('name')+"="+jQuery(this).val()+"&";
			});
			jQuery('#contactForm textarea').each(function(){
				ajaxData +=jQuery(this).attr('name')+"="+jQuery(this).val()+"&";
			});
			mailUrl = '/php/email2.php';
		}
			else if (jQuery('#partnersForm').length > 0)
			{
				// если форма партнеров
				jQuery('#partnersForm input:not([type=submit])').each(function(){
					ajaxData +=jQuery(this).attr('name')+"="+jQuery(this).val()+"&";
				});
				jQuery('#partnersForm textarea').each(function(){
					ajaxData +=jQuery(this).attr('name')+"="+jQuery(this).val()+"&";
				});
				mailUrl = '/php/partners.php';				
			}
				else if (jQuery('#pForm').length > 0)
				{
					// если форма партнеров
					jQuery('#pForm input:not([type=submit])').each(function(){
						ajaxData +=jQuery(this).attr('name')+"="+jQuery(this).val()+"&";
					});
					jQuery('#pForm textarea').each(function(){
						ajaxData +=jQuery(this).attr('name')+"="+jQuery(this).val()+"&";
					});
					mailUrl = '/php/personal.php';				
				};
			
		if ($('#prodSearcher').length == 0)
		{
			jQuery.ajax({
				url: mailUrl,
				timeout: 5000,
				type: "POST",
				data: ajaxData,
				beforeSend: function(){addFormOverlay()},
				success:	function(msg){
					
						if ((msg !='error')&(msg !=''))
						{
							if (msg != 'captcha')
							{
								if (jQuery('#contactForm').length > 0) pMessage = '<div class="message"><h2>Ваше сообщение отправлено!</h2><p>Мы обязательно его рассмотрим.</p></div>'
									else if (jQuery('#partnersForm').length > 0) pMessage = '<div class="message"><h2>Сообщение отправлено!</h2><p>Мы благодарим вас за проявленный интерес к продукции <span>Molykote</span> и <span>Dow Corning</span>.</p><p>В ближайшее время сотрудники департамента регионального развития свяжутся с вами.</p></div>'
										else if (jQuery('#pForm').length > 0) pMessage = '<div class="message"><h2>Благодарим вас за заполнение анкеты потенциального дилера.</h2></div>';
										
								showPopup(pMessage);
								clearForm();
								removeFormOverlay();					
							}
								else
								{
									pMessage = '<div class="message"><h2>Введен не верный код!</h2><p>Повторите ввод.</p></div>'
									showPopup(pMessage);
									removeFormOverlay();
									jQuery('#code').val('').focus();
								};
						}
							// если получен error
							else
							{
								pMessage = '<div class="message"><h2>Ошибка</h2><p>Не удалось отправить данные.</p><p>Повторите попытку позже.</p></div>';
								showPopup(pMessage);
								removeFormOverlay();
								return false;
							};
				},
				error: 	function (){
							pMessage = '<div class="message"><h2>Ошибка</h2><p>Сервер не отвечает.</p><p>Повторите попытку позже.</p></div>';
							showPopup(pMessage);
							removeFormOverlay();
							return false;
						}
			// ajax end
			});	
	
	return false;
	}
};		


//функция обработки условий совместимости и количества выбранного

function checkChanger(el)
{

if (jQuery('.oil').length == 0)
{
	
	if(el.hasClass('niceChecked'))
		{
			muchThenThree++;
		}
		else if(!el.hasClass('niceCheckDisabled'))
		{
			muchThenThree--;
		}
	
		moreThenThree();
	
	}
};


//функция enable/disable submit button

function changeSbmtCheck(el)
{
	var meaning = el.attr('checked'),
		dis = el.attr('disabled');


	if(meaning == false )
	{
		if(dis == false)
		{
			countForSubmit--;	
		}
	}
	else
	{
		if(dis == false)
		{
			countForSubmit++;	
		}
	}

}

//функция установки изначального вида субмита

function setRealCounter()
{
	jQuery(".prodSelection input[type=checkbox]").each(
	function() {   
		 if(jQuery(this).attr('checked') == true)
		 {
			 countForSubmit++;
		 }
	});	
	
	jQuery(".prodSelection select").each(
	function() { 
	
		 if(jQuery(this).val() == 0)
		 {	 
		 }
		 else
		 {
			countForSubmit++; 
		 }
		 
	});	

}

//функция проверки вида submit

function visualSubmit()
{
	if ((jQuery('.prodSelection input.selection').length > 0)&(jQuery('#mustBeChosenText').length == 0))
	{
		jQuery('.prodSelection input.selection').after('<div id="mustBeChosenText"></div>');
	};
	if	((countForSubmit >= 1) || (degGlobCount == 1))
	{
		jQuery(".prodSelection .selection").addClass('enabled')
											.attr('disabled', false)
											.val('Подобрать продукт »');
		jQuery('#formSubmitHint').css('display','none');
		jQuery("#mustBeChosenText").text('');
	}
	else
	{
		jQuery(".prodSelection .selection").removeClass('enabled')
											.attr('disabled', true)
											.val('Подобрать продукт »');
		jQuery('#formSubmitHint').css('display','block');
		jQuery("#mustBeChosenText").text('Пожалуйста, укажите хотя бы один параметр для поиска');
	}

}



function degFun()
{
var degrCount=0;
		
		jQuery('.numberFieldDegrees').each(function(){
			
			var inpuutval = $(this).find('input').val();
			
			if(inpuutval !== '')
			{
				degrCount++;	
			}
		});
		
		if(degrCount == 2)
		{
			degGlobCount = 1;
		}
		else
		{
			degGlobCount = 0;
		}



}


// форма переключения блоков на главной
function indexPhotoChanger(){

		var linkToScript = $('#indexPromoWrapper').attr('data-url'),
			dataVal = $('#indexPromoWrapper').attr('data-val');

			jQuery.ajax({
				url: linkToScript,
				timeout: 5000,
				type: "GET",
				data: "indexSlider="+dataVal,
				success:	function(msg){
						
					$('#indexPromoWrapper').append(innerShiv(msg));
					indexSliderCount = 1;
					
					return false;

				},
				error: 	function (){
					alert("Произошла ошибка. Сервер не отвечает. Повторите попытку позже.");
					return false;
				}
			// ajax end
			});	

}


function blockCircle()
{
	var colPhoto = 4;
	
	if(indexSliderCount == 1)
	{
		if($('.indexPromoBlock.active').next().is('section'))
		{
			$('.indexPromoBlock.active').next().css('display','none');
			$('.indexPromoBlock.active').next().addClass('tmpAnker');
			$('.indexPromoBlock.active').removeClass('active');
			$('.indexPromoBlock.tmpAnker').addClass('active').removeClass('tmpAnker');
			$('.indexPromoBlock.active').fadeIn(800);
		}
		else
		{
			$('.indexPromoBlock').eq(0).css('display','none');
			$('.indexPromoBlock.active').removeClass('active');
			$('.indexPromoBlock').eq(0).addClass('active');
			$('.indexPromoBlock.active').fadeIn(800);
		}
	}
	return false;
}


/*
function ()
{
	
}
*/


// json
(function($){$.toJSON=function(o)
{if(typeof(JSON)=='object'&&JSON.stringify)
return JSON.stringify(o);var type=typeof(o);if(o===null)
return"null";if(type=="undefined")
return undefined;if(type=="number"||type=="boolean")
return o+"";if(type=="string")
return $.quoteString(o);if(type=='object')
{if(typeof o.toJSON=="function")
return $.toJSON(o.toJSON());if(o.constructor===Date)
{var month=o.getUTCMonth()+1;if(month<10)month='0'+month;var day=o.getUTCDate();if(day<10)day='0'+day;var year=o.getUTCFullYear();var hours=o.getUTCHours();if(hours<10)hours='0'+hours;var minutes=o.getUTCMinutes();if(minutes<10)minutes='0'+minutes;var seconds=o.getUTCSeconds();if(seconds<10)seconds='0'+seconds;var milli=o.getUTCMilliseconds();if(milli<100)milli='0'+milli;if(milli<10)milli='0'+milli;return'"'+year+'-'+month+'-'+day+'T'+
hours+':'+minutes+':'+seconds+'.'+milli+'Z"';}
if(o.constructor===Array)
{var ret=[];for(var i=0;i<o.length;i++)
ret.push($.toJSON(o[i])||"null");return"["+ret.join(",")+"]";}
var pairs=[];for(var k in o){var name;var type=typeof k;if(type=="number")
name='"'+k+'"';else if(type=="string")
name=$.quoteString(k);else
continue;if(typeof o[k]=="function")
continue;var val=$.toJSON(o[k]);pairs.push(name+":"+val);}
return"{"+pairs.join(", ")+"}";}};$.evalJSON=function(src)
{if(typeof(JSON)=='object'&&JSON.parse)
return JSON.parse(src);return eval("("+src+")");};$.secureEvalJSON=function(src)
{if(typeof(JSON)=='object'&&JSON.parse)
return JSON.parse(src);var filtered=src;filtered=filtered.replace(/\\["\\\/bfnrtu]/g,'@');filtered=filtered.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,']');filtered=filtered.replace(/(?:^|:|,)(?:\s*\[)+/g,'');if(/^[\],:{}\s]*$/.test(filtered))
return eval("("+src+")");else
throw new SyntaxError("Error parsing JSON, source is not valid.");};$.quoteString=function(string)
{if(string.match(_escapeable))
{return'"'+string.replace(_escapeable,function(a)
{var c=_meta[a];if(typeof c==='string')return c;c=a.charCodeAt();return'\\u00'+Math.floor(c/16).toString(16)+(c%16).toString(16);})+'"';}
return'"'+string+'"';};var _escapeable=/["\\\x00-\x1f\x7f-\x9f]/g;var _meta={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'};})(jQuery);

/*
  jQuery Ketchup Plugin - Tasty Form Validation
  ---------------------------------------------
  
  Version 0.3.2 - 31. Jan 2011
    - Fixed another IE problem (by https://github.com/philippbosch)
  Version 0.3.1 - 12. Jan 2011
    - Check if error-container exists (by Emil Marashliev)
    - Make it work in IE6/7 (by https://github.com/hellokingdom)
  Version 0.3   - 06. Jan 2011
    - Rewritten from scratch
  Version 0.1   - 12. Feb 2010
    - Initial release
  
  Copyright (c) 2011 by Sebastian Senf:
    http://mustardamus.com/
    http://usejquery.com/
    http://twitter.com/mustardamus

  Dual licensed under the MIT and GPL licenses:
    http://www.opensource.org/licenses/mit-license.php
    http://www.gnu.org/licenses/gpl.html

  Demo: http://demos.usejquery.com/ketchup-plugin/
  Repo: http://github.com/mustardamus/ketchup-plugin
*/

(function($) {
  $.ketchup = {
    defaults: {
      attribute           : 'data-validate',                //look in that attribute for an validation string
      validateIndicator   : 'validate',                     //in the validation string this indicates the validations eg validate(required)
      eventIndicator      : 'on',                           //in the validation string this indicates the events when validations get fired eg on(blur)
      validateEvents      : 'blur',                         //the default event when validations get fired on every field
      validateElements    : ['input', 'textarea', 'select'],//check this fields in the form for a validation string on the attribute
      createErrorContainer: null,                           //function to create the error container (can also be set via $.ketchup.createErrorContainer(fn))
      showErrorContainer  : null,                           //function to show the error container (can also be set via $.ketchup.showErrorContainer(fn))
      hideErrorContainer  : null,                           //function to hide the error container (can also be set via $.ketchup.hideErrorContainer(fn))
      addErrorMessages    : null                            //function to add error messages to the error container (can also be set via $.ketchup.addErrorMessages(fn))
    },
    dataNames: {
      validationString    : 'ketchup-validation-string',
      validations         : 'ketchup-validations',
      events              : 'ketchup-events',
      elements            : 'ketchup-validation-elements',
      container           : 'ketchup-container'
    },
    validations           : {},
    helpers               : {},
    
    
    validation: function() {
      var message, func,
          arg1 = arguments[1];
      
      if(typeof arg1 == 'function') {
        func    = arg1;
      } else {
        message = arg1;
        func    = arguments[2];
      }
          
      this.validations[arguments[0]] = {
        message: message,
        func   : func,
        init   : arguments[3] || function(form, el) {}
      };
      
      return this;
    },
    
    
    message: function(name, message) {
      this.addMessage(name, message);
      return this;
    },
    
    
    messages: function(messages) {
      for(name in messages) {
        this.addMessage(name, messages[name]);
      }
      
      return this;
    },
    
    
    addMessage: function(name, message) {
      if(this.validations[name]) {
        this.validations[name].message = message;
      }
    },
    
    
    helper: function(name, func) {
      this.helpers[name] = func;
      return this;
    },
    
    
    init: function(form, options, fields) {      
          this.options = options;
      var self         = this,
          valEls       = this.initFunctions().initFields(form, fields);
      
      valEls.each(function() {
        var el = $(this);
        
        self.bindValidationEvent(form, el)
            .callInitFunctions(form, el);
      });
          
      form.data(this.dataNames.elements, valEls);
      this.bindFormSubmit(form);
    },
    
    
    initFunctions: function() {
      var opt       = this.options,
          initFuncs = [
                        'createErrorContainer',
                        'showErrorContainer',
                        'hideErrorContainer',
                        'addErrorMessages'
                      ];

      for(f = 0; f < initFuncs.length; f++) {
        var funcName = initFuncs[f];
    
        if(!opt[funcName]) {
          opt[funcName] = this[funcName];
        }
      }
      
      return this;
    },
    
    
    initFields: function(form, fields) {
      var self      = this,
          dataNames = this.dataNames,
          valEls    = $(!fields ? this.fieldsFromForm(form) : this.fieldsFromObject(form, fields));
      
      valEls.each(function() {
        var el   = $(this),
            vals = self.extractValidations(el.data(dataNames.validationString), self.options.validateIndicator);
        
        el.data(dataNames.validations, vals);
      });
      
      return valEls;
    },
    
    
    callInitFunctions: function(form, el) {
      var vals = el.data(this.dataNames.validations);
      
      for(i = 0; i < vals.length; i++) {
        vals[i].init.apply(this.helpers, [form, el]);
      }
    },
    
    
    fieldsFromForm: function(form) {
      var self      = this,
          opt       = this.options,
          dataNames = this.dataNames,
          valEls    = opt.validateElements,
          retArr    = [];
          valEls    = typeof valEls == 'string' ? [valEls] : valEls;
      
      for(i = 0; i < valEls.length; i++) {
        var els = form.find(valEls[i] + '[' + opt.attribute + '*=' + opt.validateIndicator + ']');
        
        els.each(function() {
          var el     = $(this),
              attr   = el.attr(opt.attribute),
              events = self.extractEvents(attr, opt.eventIndicator);

          el.data(dataNames.validationString, attr).data(dataNames.events, events ? events : opt.validateEvents);
        });
        
        retArr.push(els.get());
      } 
      
      return this.normalizeArray(retArr);
    },
    
    
    fieldsFromObject: function(form, fields) {
      var opt       = this.options,
          dataNames = this.dataNames,
          retArr    = [];
      
      for(s in fields) {
        var valString, events;
        
        if(typeof fields[s] == 'string') {
          valString = fields[s];
          events    = opt.validateEvents;
        } else {
          valString = fields[s][0];
          events    = fields[s][1];
        }
        
        var valEls    = form.find(s);
            valString = this.mergeValidationString(valEls, valString);
            events    = this.mergeEventsString(valEls, events);
        
        valEls.data(dataNames.validationString, opt.validateIndicator + '(' + valString + ')')
              .data(dataNames.events, events);

        retArr.push(valEls.get());
      }
      
      return this.normalizeArray(retArr);
    },
    
    
    mergeEventsString: function(valEls, events) {
      var oldEvents = valEls.data(this.dataNames.events),
          newEvents = '';
      
      if(oldEvents) {
        var eveArr = oldEvents.split(' ');
        
        for(i = 0; i < eveArr.length; i++) {
          if(events.indexOf(eveArr[i]) == -1) {
            newEvents += ' ' + eveArr[i];
          }
        }
      }
      
      return $.trim(events + newEvents);
    },
    
    
    mergeValidationString: function(valEls, newValString) {
      var opt          = this.options,
          valString    = valEls.data(this.dataNames.validationString),
          buildValFunc = function(validation) {
                           var ret = validation.name;
                           
                           if(validation.arguments.length) {
                             ret = ret + '(' + validation.arguments.join(',') + ')';
                           }
                           
                           return ret;
                         },
          inVals       = function(valsToCheck, val) {
                           for(i = 0; i < valsToCheck.length; i++) {
                             if(valsToCheck[i].name == val.name) {
                               return true;
                             }
                           }
                         };
      
      if(valString) {
        var newVals      = this.extractValidations(opt.validateIndicator + '(' + newValString + ')', opt.validateIndicator),
            oldVals      = this.extractValidations(valString, opt.validateIndicator);
            newValString = '';
        
        for(o = 0; o < oldVals.length; o++) {
          newValString += buildValFunc(oldVals[o]) + ',';
        }
        
        for(n = 0; n < newVals.length; n++) {
          if(!inVals(oldVals, newVals[n])) {
            newValString += buildValFunc(newVals[n]) + ',';
          }
        }
      }
      
      return newValString;
    },

    bindFormSubmit: function(form) {
      var self = this,
          opt  = this.options,
	  formData = form.data(this.dataNames.elements),
	  ajaxData = '';

      form.submit(function() {
	      
	      if (self.allFieldsValid(form, true) == true)
	      {
			submitForm();
			if ($('#prodSearcher').length == 0)
			{
				return false;
			}
			
	      }
	      	else return false;
      });
    },
    
    
    allFieldsValid: function(form, triggerEvents) {
      var self  = this,
          tasty = true;
      
      form.data(this.dataNames.elements).each(function() {
        var el = $(this);
        
        if(self.validateElement(el, form) != true) {
          if(triggerEvents == true) {
            self.triggerValidationEvents(el);
          }
          
          tasty = false;
        }
      });

      form.trigger('formIs' + (tasty ? 'Valid' : 'Invalid'), [form]);
      
      return tasty;
    },
    
    
    bindValidationEvent: function(form, el) {      
      var self      = this,
          opt       = this.options,
          dataNames = this.dataNames,
          events    = el.data(dataNames.events).split(' ');
      
      for(i = 0; i < events.length; i++) {
        el.bind('ketchup.' + events[i], function() {
          var tasty     = self.validateElement(el, form),
              container = el.data(dataNames.container);

          if(tasty != true) {
            if(!container) {
              container = opt.createErrorContainer(form, el);
              el.data(dataNames.container, container);
            }

            opt.addErrorMessages(form, el, container, tasty);	        
            opt.showErrorContainer(form, el, container);
          } else {
            if(container){
              opt.hideErrorContainer(form, el, container);
            }
          }
        });
        
        this.bindValidationEventBridge(el, events[i]);
      }
      
      return this;
    },
    
    
    bindValidationEventBridge: function(el, event) {
      el.bind(event, function() {
        el.trigger('ketchup.' + event);
      });
    },
    
    
    validateElement: function(el, form) {
      var tasty = [],
          vals  = el.data(this.dataNames.validations),
          args  = [form, el, el.val()];

      for(i = 0; i < vals.length; i++) {
        if(!vals[i].func.apply(this.helpers, args.concat(vals[i].arguments))) {
          tasty.push(vals[i].message);
        }
      }
      
      form.trigger('fieldIs' + (tasty.length ? 'Invalid' : 'Valid'), [form, el]);
      
      return tasty.length ? tasty : true;
    },
    
    
    elementIsValid: function(el) {
      var dataNames = this.dataNames;
      
      if(el.data(dataNames.validations)) {
        var form = el.parentsUntil('form').last().parent();
        
        return (this.validateElement(el, form) == true ? true : false);
      } else if(el.data(dataNames.elements)) {
        return this.allFieldsValid(el);
      }
      
      return null;
    },
    
    
    triggerValidationEvents: function(el) {
      var events = el.data(this.dataNames.events).split(' ');
      
      for(var e = 0; e < events.length; e++) {
        el.trigger('ketchup.' + events[e]);
      }
    },
    
    
    extractValidations: function(toExtract, indicator) { //I still don't know regex
      var fullString   = toExtract.substr(toExtract.indexOf(indicator) + indicator.length + 1),
          tempStr      = '',
          tempArr      = [],
          openBrackets = 0,
          validations  = [];
      
      for(var i = 0; i < fullString.length; i++) {
        switch(fullString.charAt(i)) {
          case '(':
            tempStr += '(';
            openBrackets++;
            break;
          case ')':
            if(openBrackets) {
              tempStr += ')';
              openBrackets--;
            } else {
              tempArr.push($.trim(tempStr));
            }
            break;
          case ',':
            if(openBrackets) {
              tempStr += ',';
            } else {
              tempArr.push($.trim(tempStr));
              tempStr = '';
            }
            break;
          default:
            tempStr += fullString.charAt(i);
            break;
        }
      }
      
      for(v = 0; v < tempArr.length; v++) {
        var hasArgs = tempArr[v].indexOf('('),
            valName = tempArr[v],
            valArgs = [];
            
        if(hasArgs != -1) {
          valName = $.trim(tempArr[v].substr(0, hasArgs));          
          valArgs = $.map(tempArr[v].substr(valName.length).split(','), function(n) {
            return $.trim(n.replace('(', '').replace(')', ''));
          });
        }

        var valFunc = this.validations[valName];
        
        if(valFunc && valFunc.message) {
          var message = valFunc.message;
          
          for(a = 1; a <= valArgs.length; a++) {
            message = message.replace('{arg' + a + '}', valArgs[a - 1]);
          }
          
          validations.push({
            name     : valName,
            arguments: valArgs,
            func     : valFunc.func,
            message  : message,
            init     : valFunc.init
          });
        }
      }
      
      return validations;
    },
    
    
    extractEvents: function(toExtract, indicator) {
      var events = false,
          pos    = toExtract.indexOf(indicator + '(');
      
      if(pos != -1) {
        events = toExtract.substr(pos + indicator.length + 1).split(')')[0];
      }

      return events;
    },
    
    
    normalizeArray: function(array) {
      var returnArr = [];
      
      for(i = 0; i < array.length; i++) {
        for(e = 0; e < array[i].length; e++) {
          if(array[i][e]) {
            returnArr.push(array[i][e]);
          }
        }
      }
      
      return returnArr;
    },
    
    
    createErrorContainer: function(form, el) {      
      if(typeof form == 'function') {
        this.defaults.createErrorContainer = form;
        return this;
      } else {
        var elOffset = el.offset();
            
        return $('<div/>', {
                 html   : '<ul></ul><span></span>',
                 'class': 'ketchup-error',
                 css    : {
                            top : elOffset.top,
                            left: elOffset.left + el.outerWidth() - 20
                          }
               }).appendTo('body');
      }
    },
    
    
    showErrorContainer: function(form, el, container) {
      if(typeof form == 'function') {
        this.defaults.showErrorContainer = form;
        return this;
      } else {        
        container.show().animate({
          top    : el.offset().top - container.height(),
          opacity: 1
        }, 'fast');
      }
    },
    
    
    hideErrorContainer: function(form, el, container) {

      if(typeof form == 'function') {
        this.defaults.hideErrorContainer = form;
        return this;
      } else {
        container.animate({
          top    : el.offset().top,
          opacity: 0
        }, 'fast', function() {
          container.hide();
        });
      }
    },
    
    
    addErrorMessages: function(form, el, container, messages) {
      if(typeof form == 'function') {
        this.defaults.addErrorMessages = form;
        return this;
      } else {
        var list = container.children('ul');
        
        list.html('');
        
        for(i = 0; i < messages.length; i++) {
          $('<li/>', {
            text: messages[i]
          }).appendTo(list);
        }
      }
    }
  };
  
  
  $.fn.ketchup = function(options, fields) {
    var el = $(this);
    
    if(typeof options == 'string') {
      switch(options) {
        case 'validate':
          $.ketchup.triggerValidationEvents(el);
          break;
        case 'isValid':
          return $.ketchup.elementIsValid(el);
          break;
      }
    } else {
      this.each(function() {
        $.ketchup.init(el, $.extend({}, $.ketchup.defaults, options), fields);
      });
    }
    
    return this;
  };
})(jQuery);
		
		
		
/*
 * jQuery history plugin
 *
 * Copyright (c) 2006 Taku Sano (Mikage Sawatari)
 * Licensed under the MIT License:
 *   http://www.opensource.org/licenses/mit-license.php
 *
 * Modified by Lincoln Cooper to add Safari support and only call the callback once during initialization
 * for msie when no initial hash supplied.
 * API rewrite by Lauris Bukрis-Haberkorns
 */

(function($) {

function History()
{
	this._curHash = '';
	this._callback = function(hash){};
};

$.extend(History.prototype, {

	init: function(callback) {
		this._callback = callback;
		this._curHash = location.hash;

		if($.browser.msie) {
			// To stop the callback firing twice during initilization if no hash present
			if (this._curHash == '') {
				this._curHash = '#';
			}

			// add hidden iframe for IE
			$("body").prepend('<iframe id="jQuery_history" style="display: none;" src="javascript:void(0);"></iframe>');
			var iframe = $("#jQuery_history")[0].contentWindow.document;
			iframe.open();
			iframe.close();
			iframe.location.hash = this._curHash;
		}
		else if ($.browser.safari) {
			// etablish back/forward stacks
			this._historyBackStack = [];
			this._historyBackStack.length = history.length;
			this._historyForwardStack = [];
			this._isFirst = true;
			this._dontCheck = false;
		}
		this._callback(this._curHash.replace(/^#/, ''));
		setInterval(this._check, 100);
	},

	add: function(hash) {
		// This makes the looping function do something
		this._historyBackStack.push(hash);
		
		this._historyForwardStack.length = 0; // clear forwardStack (true click occured)
		this._isFirst = true;
	},
	
	_check: function() {
		if($.browser.msie) {
			// On IE, check for location.hash of iframe
			var ihistory = $("#jQuery_history")[0];
			var iframe = ihistory.contentDocument || ihistory.contentWindow.document;
			var current_hash = iframe.location.hash;
			if(current_hash != $.history._curHash) {
			
				location.hash = current_hash;
				$.history._curHash = current_hash;
				$.history._callback(current_hash.replace(/^#/, ''));
				
			}
		} else if ($.browser.safari) {
			if (!$.history._dontCheck) {
				var historyDelta = history.length - $.history._historyBackStack.length;
				
				if (historyDelta) { // back or forward button has been pushed
					$.history._isFirst = false;
					if (historyDelta < 0) { // back button has been pushed
						// move items to forward stack
						for (var i = 0; i < Math.abs(historyDelta); i++) $.history._historyForwardStack.unshift($.history._historyBackStack.pop());
					} else { // forward button has been pushed
						// move items to back stack
						for (var i = 0; i < historyDelta; i++) $.history._historyBackStack.push($.history._historyForwardStack.shift());
					}
					var cachedHash = $.history._historyBackStack[$.history._historyBackStack.length - 1];
					if (cachedHash != undefined) {
						$.history._curHash = location.hash;
						$.history._callback(cachedHash);
					}
				} else if ($.history._historyBackStack[$.history._historyBackStack.length - 1] == undefined && !$.history._isFirst) {
					// back button has been pushed to beginning and URL already pointed to hash (e.g. a bookmark)
					// document.URL doesn't change in Safari
					if (location.hash.indexOf('#') >= 0) {
						$.history._callback(location.hash.split('#')[1]);
					} else {
						$.history._callback('');
					}
					$.history._isFirst = true;
				}
			}
		} else {
			// otherwise, check for location.hash
			var current_hash = location.hash;
			if(current_hash != $.history._curHash) {
				$.history._curHash = current_hash;
				$.history._callback(current_hash.replace(/^#/, ''));
			}
		}
	},

	isKonqueror: function() {
		return /KHTML|Konqueror/.test(navigator.userAgent);
	},

	load: function(hash) {
		var newhash;

		if ($.browser.safari) {
			newhash = hash;
		} else {
			newhash = (this.isKonqueror() ? '' : '#') + hash;
			location.hash = newhash;
		}

		this._curHash = newhash;
		
		if ($.browser.msie) {
			var ihistory = $("#jQuery_history")[0]; // TODO: need contentDocument?
			var iframe = ihistory.contentWindow.document;
			iframe.open();
			iframe.close();
			iframe.location.hash = newhash;
			this._callback(hash);
		}
		else if ($.browser.safari) {
			this._dontCheck = true;
			// Manually keep track of the history values for Safari
			this.add(hash);
			
			// Wait a while before allowing checking so that Safari has time to update the "history" object
			// correctly (otherwise the check loop would detect a false change in hash).
			var fn = function() {$.history._dontCheck = false;};
			window.setTimeout(fn, 200);
			this._callback(hash);
			// N.B. "location.hash=" must be the last line of code for Safari as execution stops afterwards.
			//      By explicitly using the "location.hash" command (instead of using a variable set to "location.hash") the
			//      URL in the browser and the "history" object are both updated correctly.
			location.hash = newhash;
		}
		else {
		  this._callback(hash);
		}
	}
});

$(document).ready(function() {
	$.history = new History(); // singleton instance
});

})(jQuery);



// validations
jQuery.ketchup

.validation('required', 'Это поле должно быть заполнено.', function(form, el, value) {
  var type = el.attr('type').toLowerCase();
  
  if(type == 'checkbox' || type == 'radio') {
    return (el.attr('checked') == true);
  } else {
    return (value.length != 0);
  }
})

.validation('minlength', 'Это поле должно иметь минимальную длину {arg1} символов.', function(form, el, value, min) {
  return (value.length >= +min);
})

.validation('maxlength', 'Это поле должно иметь максимальную длину {arg1} символов.', function(form, el, value, max) {
  return (value.length <= +max);
})

.validation('rangelength', 'Это поле должно иметь длину от {arg1} до {arg2} символов.', function(form, el, value, min, max) {
  return (value.length >= min && value.length <= max);
})

.validation('min', 'Это поле должно иметь минимум {arg1} символов.', function(form, el, value, min) {
  return (this.isNumber(value) && +value >= +min);
})

.validation('max', 'Это поле не должно быть длиннее {arg1} символов.', function(form, el, value, max) {
  return (this.isNumber(value) && +value <= +max);
})

.validation('range', 'Значение должно быть от {arg1} до {arg2}.', function(form, el, value, min, max) {
  return (this.isNumber(value) && +value >= +min && +value <= +max);
})

.validation('number', 'Только цифры.', function(form, el, value) {
  return this.isNumber(value);
})

.validation('digits', 'Только цифры.', function(form, el, value) {
  return /^\d+$/.test(value);
})

.validation('phone', 'Должен быть телефонный номер', function(form, el, value) {
  return /[0-9-\+]/.test(value);
})


.validation('email', 'Должен быть корректный E-Mail.', function(form, el, value) {
  return this.isEmail(value);
})

.validation('url', 'Должен быть корректный URL.', function(form, el, value) {
  return this.isUrl(value);
})

.validation('username', 'Должен быть корректный логин.', function(form, el, value) {
  return this.isUsername(value);
})

.validation('match', 'Должно совпадать с {arg1}.', function(form, el, value, word) {
  return (el.val() == word);
})

.validation('contain', 'Должно содержать {arg1}', function(form, el, value, word) {
  return this.contains(value, word);
})

.validation('date', 'Некорректная дата (ДД/ММ/ГГГГ).', function(form, el, value) {
  return this.isDate(value);
})

.validation('minselect', 'Выберите минимум {arg1} чекбокса.', function(form, el, value, min) {
  return (min <= this.inputsWithName(form, el).filter(':checked').length);
}, function(form, el) {
  this.bindBrothers(form, el);
})

.validation('maxselect', 'Должно быть выбрано не более {arg1} чекбоксов.', function(form, el, value, max) {
  return (max >= this.inputsWithName(form, el).filter(':checked').length);
}, function(form, el) {
  this.bindBrothers(form, el);
})

.validation('rangeselect', 'Выберите от {arg1} до {arg2} чекбоксов.', function(form, el, value, min, max) {
  var checked = this.inputsWithName(form, el).filter(':checked').length;
  
  return (min <= checked && max >= checked);
}, function(form, el) {
  this.bindBrothers(form, el);
});


jQuery.ketchup

.helper('isNumber', function(value) {
  return /^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test(value);
})

.helper('contains', function(value, word) {
  return value.indexOf(word) != -1;
})

.helper('isPhone', function(value) {
  return /[0-9-\+]/.test(value);
})

.helper('isEmail', function(value) {
  return /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(value);
})

.helper('isUrl', function(value) {
  return /^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(value);
})

.helper('isUsername', function(value) {
  return /^([a-zA-Zа-яА-Я])[a-zA-Zа-яА-Я_-]*[\w_-]*[\S]$|^([a-zA-Z])[0-9_-]*[\S]$|^[a-zA-Z]*[\S]$/.test(value);
})

.helper('isDate', function(value) {
var	nowDate = new Date(),
	dateArray = value.split('/'),
	wrongDate = false;
	
		if (parseInt(dateArray[2])>nowDate.getFullYear()) wrongDate = true;
		if (parseInt(dateArray[2])==nowDate.getFullYear())
		{
			if (parseInt(dateArray[1])-1>nowDate.getMonth()) wrongDate = true
				else if (parseInt(dateArray[0])>nowDate.getDate()) wrongDate = true;
		}
		
		if ((parseInt(dateArray[2])<nowDate.getFullYear()-130)|(wrongDate == true)) return false
			else if ((parseInt(dateArray[1])<1|parseInt(dateArray[1])>12)|(wrongDate == true)) return false
				else if ((parseInt(dateArray[0])<1|parseInt(dateArray[0])>31)|(wrongDate == true)) return false
					else return (/^(\d{2})\/(\d{2})\/(\d{4})$/.test(value));
})

.helper('inputsWithName', function(form, el) {
  return $('input[name="' + el.attr('name') + '"]', form);
})

.helper('inputsWithNameNotSelf', function(form, el) {
  return this.inputsWithName(form, el).filter(function() {
           return ($(this).index() != el.index());
         });
})

.helper('getKetchupEvents', function(el) {
  var events = el.data('events').ketchup,
      retArr = [];
  
  for(i = 0; i < events.length; i++) {
    retArr.push(events[i].namespace);
  }
      
  return retArr.join(' ');
})

.helper('bindBrothers', function(form, el) {
  this.inputsWithNameNotSelf(form, el).bind(this.getKetchupEvents(el), function() {
    el.ketchup('validate');
  });
});


// cusel
function cuSel(params){jQuery(document).ready(function(){jQuery(params.changedEl).each(function(num)
{var chEl=jQuery(this),chElWid=chEl.outerWidth(),chElClass=chEl.attr("class"),chElId=chEl.attr("id"),chElName=chEl.attr("name"),defaultVal=chEl.val(),activeOpt=chEl.find("option[value="+defaultVal+"]").eq(0),defaultText=activeOpt.text(),disabledSel=chEl.attr("disabled"),scrollArrows=params.scrollArrows,chElOnChange=chEl.attr("onchange"),chElTab=chEl.attr("tabindex");if(!chElId)return false;if(!disabledSel)
{classDisCuselText="",classDisCusel="";}
else
{classDisCuselText="classDisCuselLabel";classDisCusel="classDisCusel";}
if(scrollArrows)
{classDisCusel+=" cuselScrollArrows";}
activeOpt.addClass("cuselActive");var optionStr=chEl.html(),spanStr=optionStr.replace(/option/ig,"span");if(params.checkZIndex)
{num=jQuery(".cusel").length;}
var cuselFrame='<div class="cusel '+chElClass+' '+classDisCusel+'"'+' id=cuselFrame-'+chElId+' style="width:'+chElWid+'px"'+' tabindex="'+chElTab+'"'+'>'+'<div class="cuselFrameRight"></div>'+'<div class="cuselText">'+defaultText+'</div>'+'<div class="cusel-scroll-wrap"><div class="cusel-scroll-pane" id="cusel-scroll-'+chElId+'">'+
spanStr+'</div></div>'+'<input type="hidden" id="'+chElId+'" name="'+chElName+'" value="'+defaultVal+'" />'+'</div>';chEl.replaceWith(cuselFrame);if(chElOnChange)jQuery("#"+chElId).bind('change',chElOnChange);var newSel=jQuery("#cuselFrame-"+chElId),arrSpan=newSel.find("span"),defaultHeight;if(!arrSpan.eq(0).text())
{defaultHeight=arrSpan.eq(1).outerHeight();arrSpan.eq(0).css("height",arrSpan.eq(1).height());}
else
{defaultHeight=arrSpan.eq(0).outerHeight();}
if(arrSpan.length>params.visRows)
{newSel.find(".cusel-scroll-wrap").eq(0).css({height:defaultHeight*params.visRows+"px",display:"none",visibility:"visible"}).children(".cusel-scroll-pane").css("height",defaultHeight*params.visRows+"px");}
else
{newSel.find(".cusel-scroll-wrap").eq(0).css({display:"none",visibility:"visible"});}
var arrAddTags=jQuery("#cusel-scroll-"+chElId).find("span[addTags]"),lenAddTags=arrAddTags.length;for(i=0;i<lenAddTags;i++)arrAddTags.eq(i).append(arrAddTags.eq(i).attr("addTags")).removeAttr("addTags");});jQuery("html").unbind("click");jQuery("html").click(function(e)
{var clicked=jQuery(e.target),clickedId=clicked.attr("id"),clickedClass=clicked.attr("class");if((clickedClass.indexOf("cuselText")!=-1||clickedClass.indexOf("cuselFrameRight")!=-1)&&clicked.parent().attr("class").indexOf("classDisCusel")==-1)
{var cuselWrap=clicked.parent().find(".cusel-scroll-wrap").eq(0);if(cuselWrap.css("display")=="none")
{jQuery(".cusel-scroll-wrap").css("display","none");cuselWrap.css("display","block");var cuselArrows=false;if(clicked.parents(".cusel").attr("class").indexOf("cuselScrollArrows")!=-1)cuselArrows=true;if(!cuselWrap.find(".jScrollPaneContainer").eq(0).is("div"))
{cuselWrap.find("div").eq(0).jScrollPaneCusel({showArrows:cuselArrows});}}
else
{cuselWrap.css("display","none");}}
else if(clickedClass.indexOf("cusel")!=-1&&clickedClass.indexOf("classDisCusel")==-1&&clickedClass.indexOf("cuselActive")==-1)
{var cuselWrap=clicked.find(".cusel-scroll-wrap").eq(0);if(cuselWrap.css("display")=="none")
{jQuery(".cusel-scroll-wrap").css("display","none");cuselWrap.css("display","block");var cuselArrows=false;if(clicked.attr("class").indexOf("cuselScrollArrows")!=-1)cuselArrows=true;if(!cuselWrap.find(".jScrollPaneContainer").eq(0).is("div"))
{cuselWrap.find("div").eq(0).jScrollPaneCusel({showArrows:cuselArrows});}}
else
{cuselWrap.css("display","none");}}
else if(clicked.is("span")&&clicked.parents(".cusel-scroll-wrap").is("div"))
{var clickedVal;(clicked.attr("value")==undefined)?clickedVal=clicked.text():clickedVal=clicked.attr("value");clicked.parents(".cusel-scroll-wrap").find(".cuselActive").eq(0).removeClass("cuselActive").end().parents(".cusel-scroll-wrap").next().val(clickedVal).end().prev().text(clicked.text()).end().css("display","none");clicked.addClass("cuselActive");if(clickedClass.indexOf("cuselActive")==-1)clicked.parents(".cusel").find(".cusel-scroll-wrap").eq(0).next("input").change();}
else if(clicked.parents(".cusel-scroll-wrap").is("div"))
{return;}
else
{jQuery(".cusel-scroll-wrap").css("display","none");}});jQuery(".cusel").focus(function()
{jQuery(this).addClass("cuselFocus");});jQuery(".cusel").blur(function()
{jQuery(this).removeClass("cuselFocus");});jQuery(".cusel").hover(function()
{jQuery(this).addClass("cuselFocus");},function()
{jQuery(this).removeClass("cuselFocus");});jQuery(".cusel").unbind("keydown");jQuery(".cusel").keydown(function(event)
{var key,keyChar;if(window.event)key=window.event.keyCode;else if(event)key=event.which;if(key==null||key==0||key==9)return true;if(jQuery(this).attr("class").indexOf("classDisCusel")!=-1)return false;if(key==40)
{var cuselOptHover=jQuery(this).find(".cuselOptHover").eq(0);if(!cuselOptHover.is("span"))var cuselActive=jQuery(this).find(".cuselActive").eq(0);else var cuselActive=cuselOptHover;var cuselActiveNext=cuselActive.next();if(cuselActiveNext.is("span"))
{jQuery(this).find(".cuselText").eq(0).text(cuselActiveNext.text());cuselActive.removeClass("cuselOptHover");cuselActiveNext.addClass("cuselOptHover");var scrollWrap=jQuery(this).find(".cusel-scroll-pane").eq(0);if(scrollWrap.parent().find(".jScrollPaneTrack").eq(0).is("div"))
{var idScrollWrap=scrollWrap.attr("id"),hOption=scrollWrap.find("span").eq(0).outerHeight();jQuery("#"+idScrollWrap)[0].scrollBy(hOption);}
return false;}
else return false;}
if(key==38)
{var cuselOptHover=jQuery(this).find(".cuselOptHover").eq(0);if(!cuselOptHover.is("span"))var cuselActive=jQuery(this).find(".cuselActive").eq(0);else var cuselActive=cuselOptHover;cuselActivePrev=cuselActive.prev();if(cuselActivePrev.is("span"))
{jQuery(this).find(".cuselText").eq(0).text(cuselActivePrev.text());cuselActive.removeClass("cuselOptHover");cuselActivePrev.addClass("cuselOptHover");var scrollWrap=jQuery(this).find(".cusel-scroll-pane").eq(0);if(scrollWrap.parent().find(".jScrollPaneTrack").eq(0).is("div"))
{var idScrollWrap=scrollWrap.attr("id"),hOption=-parseInt(scrollWrap.find("span").eq(0).outerHeight());jQuery("#"+idScrollWrap)[0].scrollBy(hOption);}
return false;}
else return false;}
if(key==27)
{var cuselActiveText=jQuery(this).find(".cuselActive").eq(0).text();jQuery(this).find(".cusel-scroll-wrap").eq(0).css("display","none").end().find(".cuselOptHover").eq(0).removeClass("cuselOptHover");jQuery(this).find(".cuselText").eq(0).text(cuselActiveText);}
if(key==13)
{var cuselHover=jQuery(this).find(".cuselOptHover").eq(0);if(cuselHover.is("span"))
{jQuery(this).find(".cuselActive").removeClass("cuselActive");var cuselHoverVal=cuselHover.attr("value");cuselHover.addClass("cuselActive");}
else var cuselHoverVal=jQuery(this).find(".cuselActive").attr("value");jQuery(this).find(".cusel-scroll-wrap").eq(0).css("display","none").end().find(".cuselOptHover").eq(0).removeClass("cuselOptHover");jQuery(this).find("input").eq(0).val(cuselHoverVal).change();}
if(jQuery.browser.opera)return false;});var arr=[];jQuery(".cusel").keypress(function(event)
{var key,keyChar;if(window.event)key=window.event.keyCode;else if(event)key=event.which;if(key==null||key==0||key==9)return true;if(jQuery(this).attr("class").indexOf("classDisCusel")!=-1)return false;var o=this;arr.push(event);clearTimeout(jQuery.data(this,'timer'));var wait=setTimeout(function(){handlingEvent()},500);jQuery(this).data('timer',wait);function handlingEvent()
{var charKey=[];for(var iK in arr)
{if(window.event)charKey[iK]=arr[iK].keyCode;else if(arr[iK])charKey[iK]=arr[iK].which;charKey[iK]=String.fromCharCode(charKey[iK]).toUpperCase();}
var arrOption=jQuery(o).find("span"),colArrOption=arrOption.length,i,letter;for(i=0;i<colArrOption;i++)
{var match=true;for(var iter in arr)
{letter=arrOption.eq(i).text().charAt(iter).toUpperCase();if(letter!=charKey[iter])
{match=false;}}
if(match)
{jQuery(o).find(".cuselOptHover").removeClass("cuselOptHover").end().find("span").eq(i).addClass("cuselOptHover").end().end().find(".cuselText").eq(0).text(arrOption.eq(i).text());var scrollWrap=jQuery(o).find(".cusel-scroll-pane").eq(0);if(scrollWrap.parent().find(".jScrollPaneTrack").eq(0).is("div"))
{var idScrollWrap=scrollWrap.attr("id"),hOption=scrollWrap.find("span").eq(0).outerHeight()-0.2;jQuery("#"+idScrollWrap)[0].scrollTo(hOption*i);}
arr=arr.splice;arr=[];break;return true;}}
arr=arr.splice;arr=[];}
if(jQuery.browser.opera&&window.event.keyCode!=9)return false;});jQuery(".cusel span").mouseover(function()
{jQuery(this).parent().find(".cuselOptHover").eq(0).removeClass("cuselOptHover");});var arrCusel=jQuery(".cusel"),colCusel=arrCusel.length-1,i;for(i=0;i<=colCusel;i++)
{arrCusel.eq(i).css("z-index",colCusel+10-i);}});}
function cuSelRefresh(params)
{var arrRefreshEl=params.refreshEl.split(","),lenArr=arrRefreshEl.length,i;for(i=0;i<lenArr;i++)
{var refreshScroll=jQuery(arrRefreshEl[i]).parents(".cusel").find(".cusel-scroll-wrap").eq(0);refreshScroll.find(".cusel-scroll-pane").jScrollPaneRemoveCusel();refreshScroll.css({visibility:"hidden",display:"block"});var arrSpan=refreshScroll.find("span"),defaultHeight=arrSpan.eq(0).outerHeight();if(arrSpan.length>params.visRows)
{refreshScroll.css({height:defaultHeight*params.visRows+"px",display:"none",visibility:"visible"}).children(".cusel-scroll-pane").css("height",defaultHeight*params.visRows+"px");}
else
{refreshScroll.css({display:"none",visibility:"visible"});}}}
(function($){$.jScrollPaneCusel={active:[]};$.fn.jScrollPaneCusel=function(settings)
{settings=$.extend({},$.fn.jScrollPaneCusel.defaults,settings);var rf=function(){return false;};return this.each(function()
{var $this=$(this);var cuselWid=this.parentNode.offsetWidth;$this.css('overflow','hidden');var paneEle=this;if($(this).parent().is('.jScrollPaneContainer')){var currentScrollPosition=settings.maintainPosition?$this.position().top:0;var $c=$(this).parent();var paneWidth=cuselWid;var paneHeight=$c.outerHeight();var trackHeight=paneHeight;$('>.jScrollPaneTrack, >.jScrollArrowUp, >.jScrollArrowDown',$c).remove();$this.css({'top':0});}else{var currentScrollPosition=0;this.originalPadding=$this.css('paddingTop')+' '+$this.css('paddingRight')+' '+$this.css('paddingBottom')+' '+$this.css('paddingLeft');this.originalSidePaddingTotal=(parseInt($this.css('paddingLeft'))||0)+(parseInt($this.css('paddingRight'))||0);var paneWidth=cuselWid;var paneHeight=$this.innerHeight();var trackHeight=paneHeight;$this.wrap($('<div></div>').attr({'className':'jScrollPaneContainer'}).css({'height':paneHeight+'px','width':paneWidth+'px'}));if(!window.navigator.userProfile)
{var borderWid=parseInt($(this).parent().css("border-left-width"))+parseInt($(this).parent().css("border-right-width"));paneWidth-=borderWid;$(this).css("width",paneWidth+"px").parent().css("width",paneWidth+"px");}
$(document).bind('emchange',function(e,cur,prev)
{$this.jScrollPaneCusel(settings);});}
if(settings.reinitialiseOnImageLoad){var $imagesToLoad=$.data(paneEle,'jScrollPaneImagesToLoad')||$('img',$this);var loadedImages=[];if($imagesToLoad.length){$imagesToLoad.each(function(i,val){$(this).bind('load',function(){if($.inArray(i,loadedImages)==-1){loadedImages.push(val);$imagesToLoad=$.grep($imagesToLoad,function(n,i){return n!=val;});$.data(paneEle,'jScrollPaneImagesToLoad',$imagesToLoad);settings.reinitialiseOnImageLoad=false;$this.jScrollPaneCusel(settings);}}).each(function(i,val){if(this.complete||this.complete===undefined){this.src=this.src;}});});};}
var p=this.originalSidePaddingTotal;var cssToApply={'height':'auto','width':paneWidth-settings.scrollbarWidth-settings.scrollbarMargin-p+'px'}
if(settings.scrollbarOnLeft){cssToApply.paddingLeft=settings.scrollbarMargin+settings.scrollbarWidth+'px';}else{cssToApply.paddingRight=settings.scrollbarMargin+'px';}
$this.css(cssToApply);var contentHeight=$this.outerHeight();var percentInView=paneHeight/contentHeight;if(percentInView<.99){var $container=$this.parent();$container.append($('<div></div>').attr({'className':'jScrollPaneTrack'}).css({'width':settings.scrollbarWidth+'px'}).append($('<div></div>').attr({'className':'jScrollPaneDrag'}).css({'width':settings.scrollbarWidth+'px'}).append($('<div></div>').attr({'className':'jScrollPaneDragTop'}).css({'width':settings.scrollbarWidth+'px'}),$('<div></div>').attr({'className':'jScrollPaneDragBottom'}).css({'width':settings.scrollbarWidth+'px'}))));var $track=$('>.jScrollPaneTrack',$container);var $drag=$('>.jScrollPaneTrack .jScrollPaneDrag',$container);if(settings.showArrows){var currentArrowButton;var currentArrowDirection;var currentArrowInterval;var currentArrowInc;var whileArrowButtonDown=function()
{if(currentArrowInc>4||currentArrowInc%4==0){positionDrag(dragPosition+currentArrowDirection*mouseWheelMultiplier);}
currentArrowInc++;};var onArrowMouseUp=function(event)
{$('html').unbind('mouseup',onArrowMouseUp);currentArrowButton.removeClass('jScrollActiveArrowButton');clearInterval(currentArrowInterval);};var onArrowMouseDown=function(){$('html').bind('mouseup',onArrowMouseUp);currentArrowButton.addClass('jScrollActiveArrowButton');currentArrowInc=0;whileArrowButtonDown();currentArrowInterval=setInterval(whileArrowButtonDown,100);};$container.append($('<div></div>').attr({'className':'jScrollArrowUp'}).css({'width':settings.scrollbarWidth+'px'}).bind('mousedown',function()
{currentArrowButton=$(this);currentArrowDirection=-1;onArrowMouseDown();this.blur();return false;}).bind('click',rf),$('<div></div>').attr({'className':'jScrollArrowDown'}).css({'width':settings.scrollbarWidth+'px'}).bind('mousedown',function()
{currentArrowButton=$(this);currentArrowDirection=1;onArrowMouseDown();this.blur();return false;}).bind('click',rf));var $upArrow=$('>.jScrollArrowUp',$container);var $downArrow=$('>.jScrollArrowDown',$container);if(settings.arrowSize){trackHeight=paneHeight-settings.arrowSize-settings.arrowSize;$track.css({'height':trackHeight+'px',top:settings.arrowSize+'px'})}else{var topArrowHeight=$upArrow.height();settings.arrowSize=topArrowHeight;trackHeight=paneHeight-topArrowHeight-$downArrow.height();$track.css({'height':trackHeight+'px',top:topArrowHeight+'px'})}}
var $pane=$(this).css({'position':'absolute','overflow':'visible'});var currentOffset;var maxY;var mouseWheelMultiplier;var dragPosition=0;var dragMiddle=percentInView*paneHeight/2;var getPos=function(event,c){var p=c=='X'?'Left':'Top';return event['page'+c]||(event['client'+c]+(document.documentElement['scroll'+p]||document.body['scroll'+p]))||0;};var ignoreNativeDrag=function(){return false;};var initDrag=function()
{ceaseAnimation();currentOffset=$drag.offset(false);currentOffset.top-=dragPosition;maxY=trackHeight-$drag[0].offsetHeight;mouseWheelMultiplier=2*settings.wheelSpeed*maxY/contentHeight;};var onStartDrag=function(event)
{initDrag();dragMiddle=getPos(event,'Y')-dragPosition-currentOffset.top;$('html').bind('mouseup',onStopDrag).bind('mousemove',updateScroll);if($.browser.msie){$('html').bind('dragstart',ignoreNativeDrag).bind('selectstart',ignoreNativeDrag);}
return false;};var onStopDrag=function()
{$('html').unbind('mouseup',onStopDrag).unbind('mousemove',updateScroll);dragMiddle=percentInView*paneHeight/2;if($.browser.msie){$('html').unbind('dragstart',ignoreNativeDrag).unbind('selectstart',ignoreNativeDrag);}};var positionDrag=function(destY)
{destY=destY<0?0:(destY>maxY?maxY:destY);dragPosition=destY;$drag.css({'top':destY+'px'});var p=destY/maxY;$pane.css({'top':((paneHeight-contentHeight)*p)+'px'});$this.trigger('scroll');if(settings.showArrows){$upArrow[destY==0?'addClass':'removeClass']('disabled');$downArrow[destY==maxY?'addClass':'removeClass']('disabled');}};var updateScroll=function(e)
{positionDrag(getPos(e,'Y')-currentOffset.top-dragMiddle);};var dragH=Math.max(Math.min(percentInView*(paneHeight-settings.arrowSize*2),settings.dragMaxHeight),settings.dragMinHeight);$drag.css({'height':dragH+'px'}).bind('mousedown',onStartDrag);var trackScrollInterval;var trackScrollInc;var trackScrollMousePos;var doTrackScroll=function()
{if(trackScrollInc>8||trackScrollInc%4==0){positionDrag((dragPosition-((dragPosition-trackScrollMousePos)/2)));}
trackScrollInc++;};var onStopTrackClick=function()
{clearInterval(trackScrollInterval);$('html').unbind('mouseup',onStopTrackClick).unbind('mousemove',onTrackMouseMove);};var onTrackMouseMove=function(event)
{trackScrollMousePos=getPos(event,'Y')-currentOffset.top-dragMiddle;};var onTrackClick=function(event)
{initDrag();onTrackMouseMove(event);trackScrollInc=0;$('html').bind('mouseup',onStopTrackClick).bind('mousemove',onTrackMouseMove);trackScrollInterval=setInterval(doTrackScroll,100);doTrackScroll();};$track.bind('mousedown',onTrackClick);$container.bind('mousewheel',function(event,delta){initDrag();ceaseAnimation();var d=dragPosition;positionDrag(dragPosition-delta*mouseWheelMultiplier);var dragOccured=d!=dragPosition;return false;});var _animateToPosition;var _animateToInterval;function animateToPosition()
{var diff=(_animateToPosition-dragPosition)/settings.animateStep;if(diff>1||diff<-1){positionDrag(dragPosition+diff);}else{positionDrag(_animateToPosition);ceaseAnimation();}}
var ceaseAnimation=function()
{if(_animateToInterval){clearInterval(_animateToInterval);delete _animateToPosition;}};var scrollTo=function(pos,preventAni)
{if(typeof pos=="string"){$e=$(pos,$this);if(!$e.length)return;pos=$e.offset().top-$this.offset().top;}
$container.scrollTop(0);ceaseAnimation();var destDragPosition=-pos/(paneHeight-contentHeight)*maxY;if(preventAni||!settings.animateTo){positionDrag(destDragPosition);}else{_animateToPosition=destDragPosition;_animateToInterval=setInterval(animateToPosition,settings.animateInterval);}};$this[0].scrollTo=scrollTo;$this[0].scrollBy=function(delta)
{var currentPos=-parseInt($pane.css('top'))||0;scrollTo(currentPos+delta);};initDrag();scrollTo(-currentScrollPosition,true);$('*',this).bind('focus',function(event)
{var $e=$(this);var eleTop=0;while($e[0]!=$this[0]){eleTop+=$e.position().top;$e=$e.offsetParent();}
var viewportTop=-parseInt($pane.css('top'))||0;var maxVisibleEleTop=viewportTop+paneHeight;var eleInView=eleTop>viewportTop&&eleTop<maxVisibleEleTop;if(!eleInView){var destPos=eleTop-settings.scrollbarMargin;if(eleTop>viewportTop){destPos+=$(this).height()+15+settings.scrollbarMargin-paneHeight;}
scrollTo(destPos);}})
if(location.hash){scrollTo(location.hash);}
$(document).bind('click',function(e)
{$target=$(e.target);if($target.is('a')){var h=$target.attr('href');if(h.substr(0,1)=='#'){scrollTo(h);}}});$.jScrollPaneCusel.active.push($this[0]);}else{$this.css({'height':paneHeight+'px','width':paneWidth-this.originalSidePaddingTotal+'px','padding':this.originalPadding});$this.parent().unbind('mousewheel');}})};$.fn.jScrollPaneRemoveCusel=function()
{$(this).each(function()
{$this=$(this);var $c=$this.parent();if($c.is('.jScrollPaneContainer')){$this.css({'top':'','height':'','width':'','padding':'','overflow':'','position':''});$this.attr('style',$this.data('originalStyleTag'));$c.after($this).remove();}});}
$.fn.jScrollPaneCusel.defaults={scrollbarWidth:10,scrollbarMargin:5,wheelSpeed:18,showArrows:false,arrowSize:0,animateTo:false,dragMinHeight:1,dragMaxHeight:99999,animateInterval:100,animateStep:3,maintainPosition:true,scrollbarOnLeft:false,reinitialiseOnImageLoad:false};$(window).bind('unload',function(){var els=$.jScrollPaneCusel.active;for(var i=0;i<els.length;i++){els[i].scrollTo=els[i].scrollBy=null;}});})(jQuery);(function($){$.event.special.mousewheel={setup:function(){var handler=$.event.special.mousewheel.handler;if($.browser.mozilla)
$(this).bind('mousemove.mousewheel',function(event){$.data(this,'mwcursorposdata',{pageX:event.pageX,pageY:event.pageY,clientX:event.clientX,clientY:event.clientY});});if(this.addEventListener)
this.addEventListener(($.browser.mozilla?'DOMMouseScroll':'mousewheel'),handler,false);else
this.onmousewheel=handler;},teardown:function(){var handler=$.event.special.mousewheel.handler;$(this).unbind('mousemove.mousewheel');if(this.removeEventListener)
this.removeEventListener(($.browser.mozilla?'DOMMouseScroll':'mousewheel'),handler,false);else
this.onmousewheel=function(){};$.removeData(this,'mwcursorposdata');},handler:function(event){var args=Array.prototype.slice.call(arguments,1);event=$.event.fix(event||window.event);$.extend(event,$.data(this,'mwcursorposdata')||{});var delta=0,returnValue=true;if(event.wheelDelta)delta=event.wheelDelta/120;if(event.detail)delta=-event.detail/3;event.data=event.data||{};event.type="mousewheel";args.unshift(delta);args.unshift(event);return $.event.handle.apply(this,args);}};$.fn.extend({mousewheel:function(fn){return fn?this.bind("mousewheel",fn):this.trigger("mousewheel");},unmousewheel:function(fn){return this.unbind("mousewheel",fn);}});})(jQuery);



/*
 * jQuery Color Animations
 * Copyright 2007 John Resig
 * Released under the MIT and GPL licenses.
 */

(function(jQuery){

	// We override the animation for all of these color styles
	jQuery.each(['backgroundColor', 'borderBottomColor', 'borderLeftColor', 'borderRightColor', 'borderTopColor', 'color', 'outlineColor'], function(i,attr){
		jQuery.fx.step[attr] = function(fx){
			if ( fx.state == 0 ) {
				fx.start = getColor( fx.elem, attr );
				fx.end = getRGB( fx.end );
			}

			fx.elem.style[attr] = "rgb(" + [
				Math.max(Math.min( parseInt((fx.pos * (fx.end[0] - fx.start[0])) + fx.start[0]), 255), 0),
				Math.max(Math.min( parseInt((fx.pos * (fx.end[1] - fx.start[1])) + fx.start[1]), 255), 0),
				Math.max(Math.min( parseInt((fx.pos * (fx.end[2] - fx.start[2])) + fx.start[2]), 255), 0)
			].join(",") + ")";
		}
	});

	// Color Conversion functions from highlightFade
	// By Blair Mitchelmore
	// http://jquery.offput.ca/highlightFade/

	// Parse strings looking for color tuples [255,255,255]
	function getRGB(color) {
		var result;

		// Check if we're already dealing with an array of colors
		if ( color && color.constructor == Array && color.length == 3 )
			return color;

		// Look for rgb(num,num,num)
		if (result = /rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(color))
			return [parseInt(result[1]), parseInt(result[2]), parseInt(result[3])];

		// Look for rgb(num%,num%,num%)
		if (result = /rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(color))
			return [parseFloat(result[1])*2.55, parseFloat(result[2])*2.55, parseFloat(result[3])*2.55];

		// Look for #a0b1c2
		if (result = /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(color))
			return [parseInt(result[1],16), parseInt(result[2],16), parseInt(result[3],16)];

		// Look for #fff
		if (result = /#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(color))
			return [parseInt(result[1]+result[1],16), parseInt(result[2]+result[2],16), parseInt(result[3]+result[3],16)];

		// Otherwise, we're most likely dealing with a named color
		return colors[jQuery.trim(color).toLowerCase()];
	}
	
	function getColor(elem, attr) {
		var color;

		do {
			color = jQuery.curCSS(elem, attr);

			// Keep going until we find an element that has color, or we hit the body
			if ( color != '' && color != 'transparent' || jQuery.nodeName(elem, "body") )
				break; 

			attr = "backgroundColor";
		} while ( elem = elem.parentNode );

		return getRGB(color);
	};
	
	// Some named colors to work with
	// From Interface by Stefan Petre
	// http://interface.eyecon.ro/

	var colors = {
		aqua:[0,255,255],
		azure:[240,255,255],
		beige:[245,245,220],
		black:[0,0,0],
		blue:[0,0,255],
		brown:[165,42,42],
		cyan:[0,255,255],
		darkblue:[0,0,139],
		darkcyan:[0,139,139],
		darkgrey:[169,169,169],
		darkgreen:[0,100,0],
		darkkhaki:[189,183,107],
		darkmagenta:[139,0,139],
		darkolivegreen:[85,107,47],
		darkorange:[255,140,0],
		darkorchid:[153,50,204],
		darkred:[139,0,0],
		darksalmon:[233,150,122],
		darkviolet:[148,0,211],
		fuchsia:[255,0,255],
		gold:[255,215,0],
		green:[0,128,0],
		indigo:[75,0,130],
		khaki:[240,230,140],
		lightblue:[173,216,230],
		lightcyan:[224,255,255],
		lightgreen:[144,238,144],
		lightgrey:[211,211,211],
		lightpink:[255,182,193],
		lightyellow:[255,255,224],
		lime:[0,255,0],
		magenta:[255,0,255],
		maroon:[128,0,0],
		navy:[0,0,128],
		olive:[128,128,0],
		orange:[255,165,0],
		pink:[255,192,203],
		purple:[128,0,128],
		violet:[128,0,128],
		red:[255,0,0],
		silver:[192,192,192],
		white:[255,255,255],
		yellow:[255,255,0]
	};
	
})(jQuery);

/**
 * jQuery.ScrollTo - Easy element scrolling using jQuery.
 * Copyright (c) 2007-2009 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
 * Dual licensed under MIT and GPL.
 * Date: 5/25/2009
 * @author Ariel Flesler
 * @version 1.4.2
 *
 * http://flesler.blogspot.com/2007/10/jqueryscrollto.html
 */
;(function(d){var k=d.scrollTo=function(a,i,e){d(window).scrollTo(a,i,e)};k.defaults={axis:'xy',duration:parseFloat(d.fn.jquery)>=1.3?0:1};k.window=function(a){return d(window)._scrollable()};d.fn._scrollable=function(){return this.map(function(){var a=this,i=!a.nodeName||d.inArray(a.nodeName.toLowerCase(),['iframe','#document','html','body'])!=-1;if(!i)return a;var e=(a.contentWindow||a).document||a.ownerDocument||a;return d.browser.safari||e.compatMode=='BackCompat'?e.body:e.documentElement})};d.fn.scrollTo=function(n,j,b){if(typeof j=='object'){b=j;j=0}if(typeof b=='function')b={onAfter:b};if(n=='max')n=9e9;b=d.extend({},k.defaults,b);j=j||b.speed||b.duration;b.queue=b.queue&&b.axis.length>1;if(b.queue)j/=2;b.offset=p(b.offset);b.over=p(b.over);return this._scrollable().each(function(){var q=this,r=d(q),f=n,s,g={},u=r.is('html,body');switch(typeof f){case'number':case'string':if(/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(f)){f=p(f);break}f=d(f,this);case'object':if(f.is||f.style)s=(f=d(f)).offset()}d.each(b.axis.split(''),function(a,i){var e=i=='x'?'Left':'Top',h=e.toLowerCase(),c='scroll'+e,l=q[c],m=k.max(q,i);if(s){g[c]=s[h]+(u?0:l-r.offset()[h]);if(b.margin){g[c]-=parseInt(f.css('margin'+e))||0;g[c]-=parseInt(f.css('border'+e+'Width'))||0}g[c]+=b.offset[h]||0;if(b.over[h])g[c]+=f[i=='x'?'width':'height']()*b.over[h]}else{var o=f[h];g[c]=o.slice&&o.slice(-1)=='%'?parseFloat(o)/100*m:o}if(/^\d+$/.test(g[c]))g[c]=g[c]<=0?0:Math.min(g[c],m);if(!a&&b.queue){if(l!=g[c])t(b.onAfterFirst);delete g[c]}});t(b.onAfter);function t(a){r.animate(g,j,b.easing,a&&function(){a.call(this,n,b)})}}).end()};k.max=function(a,i){var e=i=='x'?'Width':'Height',h='scroll'+e;if(!d(a).is('html,body'))return a[h]-d(a)[e.toLowerCase()]();var c='client'+e,l=a.ownerDocument.documentElement,m=a.ownerDocument.body;return Math.max(l[h],m[h])-Math.min(l[c],m[c])};function p(a){return typeof a=='object'?a:{top:a,left:a}}})(jQuery);

/*+++++++++++++++++++ NICE RADIO ++++++++++++++++++++++++++++*/
jQuery(document).ready(function(){

jQuery(".niceRadio").each(
/* при загрузке страницы меняем обычные на стильные radio */
function() {
     
     changeRadioStart(jQuery(this));
     
});


});


function changeRadio(el)
/* 
	функция смены вида и значения radio при клике на контейнер
*/
{

	var el = el,
		input = el.find("input").eq(0);
	var nm=input.attr("name");
		
	jQuery(".niceRadio input").each(
	
	function() {
     
		if(jQuery(this).attr("name")==nm)
		{
			jQuery(this).parent().removeClass("radioChecked");
		}
	   
	   
	});					  
	
	
	if(el.attr("class").indexOf("niceRadioDisabled")==-1)
	{	
		el.addClass("radioChecked");
		input.attr("checked", true);
	}
	
    return true;
}

function changeVisualRadio(input)
{
/*
	меняем вид radio при смене значения
*/

	
	var wrapInput = input.parent();
	var nm=input.attr("name");
		
	jQuery(".niceRadio input").each(
	
	function() {
     
		if(jQuery(this).attr("name")==nm)
		{
			jQuery(this).parent().removeClass("radioChecked");
		}
	   
	   
	});

	if(input.attr("checked")) 
	{
		wrapInput.addClass("radioChecked");
	}
}

function changeRadioStart(el)
/* 
	новый контрол выглядит так <span class="niceRadio"><input type="radio" name="[name radio]" id="[id radio]" [checked="checked"] /></span>
	новый контрол получает теже name, id и другие атрибуты что и были у обычного
*/
{

try
{
var el = el,
	radioName = el.attr("name"),
	radioId = el.attr("id"),
	radioChecked = el.attr("checked"),
	radioDisabled = el.attr("disabled"),
	radioTab = el.attr("tabindex"),
	radioValue = el.attr("value");
	if(radioChecked)
		el.after("<span class='niceRadio radioChecked'>"+
			"<input type='radio'"+
			"name='"+radioName+"'"+
			"id='"+radioId+"'"+
			"checked='"+radioChecked+"'"+
			"tabindex='"+radioTab+"'"+
			"value='"+radioValue+"' /></span>");
	else
		el.after("<span class='niceRadio'>"+
			"<input type='radio'"+
			"name='"+radioName+"'"+
			"id='"+radioId+"'"+
			"tabindex='"+radioTab+"'"+
			"value='"+radioValue+"' /></span>");
	
	/* если контрол disabled - добавляем соответсвующий класс для нужного вида и добавляем атрибут disabled для вложенного radio */		
	if(radioDisabled)
	{
		el.next().addClass("niceRadioDisabled");
		el.next().find("input").eq(0).attr("disabled","disabled");
	}
	
	/* цепляем обработчики стилизированным radio */		
	el.next().bind("mousedown", function(e) { changeRadio(jQuery(this)) });
	if(jQuery.browser.msie)	el.next().find("input").eq(0).bind("click", function(e) { changeVisualRadio(jQuery(this)) });	
	else el.next().find("input").eq(0).bind("change", function(e) { changeVisualRadio(jQuery(this)) });
	el.remove();
}
catch(e)
{
	// если ошибка, ничего не делаем
}

    return true;
}



// проставляем галочку для радиокнопок
function radioMarkPlace(){
	
	if (jQuery('.listOfSost').length !== 0)
	{
		var  parent=$('.listOfSost').parent().parent();
		parent.find('.markGood').removeClass('markDis');
		parent.find('.markGood').animate({
	        width:"15px"
	    }, 500 );	
	}
		
}

/**
 * Функция возвращает окончание для множественного числа слова на основании числа и массива окончаний
 * @param  iNumber Integer Число на основе которого нужно сформировать окончание
 * @param  aEndings Array Массив слов или окончаний для чисел (1, 4, 5),
 *         например ['яблоко', 'яблока', 'яблок']
 * @return String
 */
function getNumEnding(iNumber)
{
	var aEndings = ['продукт', 'продукта', 'продуктов'];
	var sEnding, i;
	iNumber = iNumber % 100;
	if (iNumber>=11 && iNumber<=19) {
		sEnding=aEndings[2];
	}
	else {
		i = iNumber % 10;
		switch (i)
		{
			case (1): sEnding = aEndings[0]; break;
			case (2):
			case (3):
			case (4): sEnding = aEndings[1]; break;
			default: sEnding = aEndings[2];
		}
	}
	return sEnding;
}

