var Gurman = {
	defaultNicknameText: 'Логин',
	defaultSearchText: 'Поиск...',
	defaultCommentName: 'Ваше имя',
	defaultCommentAuthor: 'Гость',
	defaultCommentOpinion: 'Ваше мнение',
	checkMaxInput: function(textArea, counter, maxLength)
	{
		var rest = maxLength;
		if (textArea.value.length > maxLength)
			textArea.value = textArea.value.substring(0, maxLength);
		else
			rest -= textArea.value.length;
			counter.html(rest);
	},
	checkEmail: function(field, wrapper, form)
	{
		var addressPattern = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;
  		if (!addressPattern.test(field.val()))
			wrapper.html('адрес неправильный');
		else {
			wrapper.html('&nbsp;');
			form.submit();
		}
	}
};
var pairNameValue={
	chooseStars:{name:'raitingStars',hide:'later'},
	loginBlock:{name:'atLogin',hide:'later'},
	selectorABC:{name:'emulateSelecor',hide:'now'},
	selectKichen:{name:'emulateSelecor2',hide:'now',variant:'pSelector',sliceLength:10,defaultInputValue:'Кухня'},
	selectGennre:{name:'emulateSelecor3',hide:'now',variant:'pSelector',sliceLength:10,defaultInputValue:'Тип'},
	selectCheck:{name:'emulateSelecor4',hide:'now',variant:'pSelector',sliceLength:10,defaultInputValue:'Средний счет'},
	selectUndergroung:{name:'emulateSelecor5',hide:'now',variant:'pSelector',sliceLength:8,defaultInputValue:'Метро'},
	selectRecipeKitchen:{name:'emulateSelecor6',hide:'now',variant:'pSelector',sliceLength:10,defaultInputValue:'Кухня'},
	selectRecipeFoodType:{name:'emulateSelecor7',hide:'now',variant:'pSelector',sliceLength:12,defaultInputValue:'Тип блюда'}
};

$(document).ready(function(){
	$(document).pngFix();
	
	$('.textYourOpinion').click(function(){if (this.value==Gurman.defaultCommentOpinion) this.value='';});
	$('.textYourOpinion').blur(function(){if (this.value=='') this.value=Gurman.defaultCommentOpinion;});
	
	$('.yourName').val(Gurman.defaultCommentName);
	$('.yourName').click(function(){if (this.value==Gurman.defaultCommentName) this.value='';});
	$('.yourName').blur(function(){if (this.value=='') this.value=Gurman.defaultCommentName;});
	
	$('#searchField').click(function(){if (this.value==Gurman.defaultSearchText) this.value='';});
	$('#searchField').blur(function(){if (this.value=='') this.value=Gurman.defaultSearchText;});

	$('#loginButton').attr("disabled", true);

	$('#nicknameField').val(Gurman.defaultNicknameText);
	$('#nicknameField').click(function(){if (this.value==Gurman.defaultNicknameText) this.value='';});
	$('#nicknameField').blur(function(){if (this.value=='') this.value=Gurman.defaultNicknameText;});
	
	$('#commentAuthor').click(function(){if (this.value==Gurman.defaultCommentAuthor) this.value='';});
	$('#commentAuthor').blur(function(){if (this.value=='') this.value=Gurman.defaultCommentAuthor;});
	
	$('#nicknameField').change(
		function(){
			str = jQuery.trim(this.value);
			if (str == '' || str == Gurman.defaultNicknameText) 
				$('#loginButton').attr("disabled", true);
			else
				$('#loginButton').attr("disabled", false);
		}
	);
	$('#passwordField').change(
		function(){
			str = jQuery.trim(this.value);
			if (str == '') $('#loginButton').attr("disabled", true);
			else $('#loginButton').attr("disabled", false);
		}
	);
	$('#searchBottom').click(function(){$('#userActions form').submit();});
//clear windows authorization
	$('#authorizationUser').click(function(){return Login.openWindow();});
	$('#closeLogin').click(function(){return Login.closeWindow();});
//quick selector search
	$('#searchBottom2').click(function(){document.searchRestauransForm.submit()});
	$('#searchBottom3').click(function(){document.searchRecipeForm.submit()});
//IE bugfix
	var noBackgronds=['.recomendGurman li','.popularForums li','.centerColumn div.blog','#restaurantAttrib li']
	for (i=0; i<noBackgronds.length;i++){$(noBackgronds[i]+':last').addClass('noBck');}

	var widthActiveLi=$('#restaurantAttrib li.active a').width();
	widthActiveLi+=12;
	$('#restaurantAttrib li.active').css({width:widthActiveLi+'px'})
//menu list
	$('.menuNames tr:odd').addClass('menuListOdd');
	$('.menuNames tr:even').addClass('menuListEven');
//corners
	$('.recomendGurman,.choosePeople,.yourOpinion').before('<div class="corners ltl"></div><div class="corners rtl"></div>');
	$('.recomendGurman,.choosePeople,.yourOpinion').after('<div class="corners lbl"></div><div class="corners rbl"></div>');
	
	$('.columnEditor,.partners').before('<div class="corners ltg"></div><div class="corners rtg"></div>');
	$('.columnEditor,.partners').after('<div class="corners lbg"></div><div class="corners rbg"></div>');

	$('.specialOffer,.responsesUsers').before('<div class="corners ltb"></div><div class="corners rtb"></div>');
	$('.specialOffer,.responsesUsers').after('<div class="corners lbb"></div><div class="corners rbb"></div>');
	
	$('.popularForums,.responseUser').before('<div class="corners ltl"></div><div class="corners rtl"></div>');
	
	$('.popularForums,.evenResponse').after('<div class="corners lbl"></div><div class="cornersQ rql"></div>');
	
	$('.oddResponse').after('<div class="cornersQ lql"></div><div class="corners rbl"></div>');
	$('#searchRestauransForm,#searchRecipeForm').after('<div class="corners lbd"></div><div class="corners rbd"></div>');
	$('.hrPromo').before('<div class="corners ltd"></div><div class="corners rtd"></div>');
	$('.hrPromo').after('<div class="corners lbd"></div><div class="corners rbd"></div>');
	$('#restaurantAttrib li.active').prepend('<div class="corners lti"></div><div class="corners rti"></div>');
	$('#infoCard').before('<div class="corners rtp"></div>');
	$('#infoCard').after('<div class="corners lbp"></div><div class="corners rbp"></div>');
	$('.innerOpinion').before('<div class="corners ltw"></div><div class="corners rtw"></div>');
	$('.innerOpinion').after('<div class="corners lbw"></div><div class="corners rbw"></div>');
//events popup windows
	var speedSlider=120;
	document.onclick=doOutline;
	function doOutline(e){
		e=e||window.event;
		var element=e.target||e.srcElement;
		for (var i in pairNameValue){
			if(element.className==pairNameValue[i].name){
				if(pairNameValue[i].variant=='pSelector'){
					var leftPosition=element.offsetLeft-10;
					var topPosition=element.offsetTop+20;
					$('.'+pairNameValue[i].name+'-view').css({left:leftPosition,top:topPosition});
				}
				if($('.'+pairNameValue[i].name+'-view').css('display')=='block')
				{$('.'+pairNameValue[i].name+'-view').slideUp(speedSlider)}
				else
				{$('.'+pairNameValue[i].name+'-view').slideDown(speedSlider)}
			}else if(pairNameValue[i].hide=='now') $('.'+pairNameValue[i].name+'-view').slideUp(speedSlider)
		}
	}
//close popup windows
	$('.closePopupWindow').click(function(){
		for (var i in pairNameValue){
			$('.'+pairNameValue[i].name+'-view').slideUp(speedSlider)
		}
	})
	document.onkeydown=escFunction;
	function escFunction(e){
		e=e||window.event;
		if(e.keyCode==27){
			for (var i in pairNameValue){
				$('.'+pairNameValue[i].name+'-view').slideUp(speedSlider)
			}
		}
	}
//pseSelectors
	$('#qsRecipeFoodType,#qsRecipeCuisine,#qsCuisine,#qsGenre,#qsBill,#qsMetro').change(function(){
		for (var i in pairNameValue){
			if('.'+pairNameValue[i].name+'-view'=='.'+this.parentNode.className){
				$('#'+$(this).attr('id')+' option:selected').each(function(){
					str=$(this).text();
					if (str.length>9) str=str.slice(0,pairNameValue[i].sliceLength)+'&hellip;';
					$('.'+pairNameValue[i].name).html(str);
				});
			}
		}
	})
//default value pseSelectors
	for (var i in pairNameValue){
		if(pairNameValue[i].variant=='pSelector'&&$('.'+pairNameValue[i].name+'-view select option:selected')[0]){
			
			if($('.'+pairNameValue[i].name+'-view select option:selected').val()==''){
				$('.'+pairNameValue[i].name).html(pairNameValue[i].defaultInputValue)
			}else{
				str=$('.'+pairNameValue[i].name+'-view select option:selected')[0].innerHTML;
				if (str.length>9) str=str.slice(0,pairNameValue[i].sliceLength)+'&hellip;';
				$('.'+pairNameValue[i].name).html(str)
			}
		}
	}
//slider
	var idSlider=1;
	$('#numberSlider a').click(function(){
		idSlider=$(this).attr('id').slice(6);
		changeSlider('click');
	});
	function changeSlider(triggerSlider){
		if(triggerSlider=='click') window.clearInterval(intervalID);
		else{
			if (idSlider<$('#numberSlider a').length) idSlider++;
			else idSlider=1}
		$('#numberSlider a').removeClass('active');
		$('#sliderImages img,#linksFixOpacity h5').removeClass('active').removeAttr('style');
		$('#slideImage'+idSlider+',#slogan'+idSlider).fadeIn(400).addClass('active');
		$('#number'+idSlider).addClass('active');
	}
	var intervalID=window.setInterval(changeSlider,5000)
//stars
	var valueStars;
	var localArrayStars;
	var allStars=$('.raitingStars-view .stars img');
	if(allStars.length>0){var oldSrc=$(allStars[0]).attr('src');var newSrc=oldSrc.replace(/star_0/,'star_1');}
	var arrayHiddenInput=$('#ratePerformance input:hidden');
	$('.raitingStars-view .stars img').click(function(){
		if(!$(this.parentNode).hasClass('noChangeStars')){
			valueStars=$(this).attr('alt').slice(4);
			document.ratePerformance[$(this).attr('class')].value=valueStars;
			for (z=0; z<valueStars;z++){localArrayStars[z].src=newSrc}
			$(this.parentNode).addClass('noChangeStars');
		}
	});
	allStars.mouseover(function(){
		valueStars=$(this).attr('alt').slice(4);
		localArrayStars=this.parentNode.getElementsByTagName('img');
		if(!$(this.parentNode).hasClass('noChangeStars')) for (j=0; j<valueStars;j++){localArrayStars[j].src=newSrc}
	});
	allStars.mouseout(function(){
		if(!$(this.parentNode).hasClass('noChangeStars')) $(localArrayStars).attr({src:oldSrc})
	});
	$('#checkRatingResult').click(function(){
		var counterHiddenInput=0;
		for (x=0;x<arrayHiddenInput.length;x++){if(arrayHiddenInput[x].value!='') counterHiddenInput++}
		if (counterHiddenInput==5) $('#ratePerformance').submit();
		else alert('Нужно оценить ресторан по всем позициям');
	});
//column header fix height
	$('#columnHeaderFixHeight h5').height(Math.max($('.minLeftColumn h5').height(),$('.minCenterColumn h5').height(),$('.minRightColumn h5').height()));
});