$(function(){
	
	menuHover();
	showCalendar();
	fixPaginator();
	submitSearchForm();
	detailsInfoTabs();
	calendarOperations();
	
});

function menuHover(){
	$('.topMenu li').not('.sel').hover(function(){
		$(this).addClass('hover');
		$(this).append('<div class="arrowSel"></div>');
	},function(){
		$(this).removeClass('hover');
		$(this).children('.arrowSel').remove();
	});
	
	$('.topMenu li.sel').append('<div class="arrowSel"></div>');
}


function showCalendar(){
	$('input.date')
		.attr("readonly","readonly")
		.datepicker({
			dateFormat: 'dd.mm.yy',
			minDate: 0
		});
}

function calendarOperations(){
	
	var date_from_field = $('input[name=date_from]');
	var date_to_field 	= $('input[name=date_to]');
	var nigths_field	= $('input[name=nights]');
	

	
	
	//При промяна на първата дата, правим втората да не е по-малка от първата
	date_from_field.change(function(){
		var date_from = date_from_field.datepicker("getDate");
		date_from.setDate(date_from.getDate()+1);
		date_to_field.datepicker( "option", "minDate", date_from);
	});
	
	
	nigths_field.keyup(function(){
		calculateDateTo();
	});
	
	function calculateDateTo(){
		var date_from = date_from_field.val();
		var nights = nigths_field.val();
		
		if(nights*1 != nights){
			 nigths_field.val('');
			 return false;
		}
		nights = nights *1;		
		if(date_from != 0 && nights>0){
			var date_from = date_from_field.datepicker("getDate");
			var date_to = date_from;
			date_to.setDate(date_from.getDate()+nights);
			
			date_to_field.val(date_to.getDate()+'.'+ (date_to.getMonth()+1) + '.'+date_to.getFullYear());
		}
	}
	
	
	
	//при промяна на датите
	$('input.date').change(function(){
	var date_from = date_from_field.val();
	var date_to = date_to_field.val();
		//Ако са попълнени и двете дати броим нощувките
		if(date_from != '' && date_to != ''){			
			var url = $.domain + $.language + '/countDatesDif';
			$.post(url, {date_from: date_from, date_to:date_to}, function(data){
				nigths_field.val(data);
			});				
		}
		
		
		
	});
}

function fixPaginator(){	
	if($('.paginator').length===0){return false;}
	
	//Броим броя на линковете
	var countLinks = $('.paginator a').length;
	if(countLinks>21){
		return false;
	}	
	var fixWidth = (366-((countLinks-2)*19))/2;
	$('.paginator .fix').css({"width":fixWidth+'px'});	
}

function submitSearchForm(){
	var form = $('#searchForm');
	
	form.children('a.submit').click(function(e){
		e.preventDefault();
		var valide = valideteSearchForm(form);
		if(valide==false){
			return false;
		}
		
		var url = '';
		form.find("input,hidden").each(function (i, el) {
			if(el.name != ''){				
				url += '/'+el.name+':'+$(el).val();
			}
		});
		url = form.attr('action') + url;
		location.replace(url);
	});
}

function valideteSearchForm(form){
	
	$('#dialog').dialog({
			autoOpen: false,
			buttons: {
				"Ok": function() { 
					$(this).dialog("close"); 
				}				
			}
		});

	
	var place 		= form.find('input[name=place]').val();
	var hotel 		= form.find('input[name=hotel]').val();
	var date_from 	= form.find('input[name=date_from]').val();
	var date_to 	= form.find('input[name=date_to]').val();
	
	var mess = '';
	
	if(place==''){
		mess = 'choose_place_first';
	}
	else if( (date_from!='' && date_to =='')){
		mess = 'choose_date_to';
	}
	else if( (date_to!='' && date_from =='')){
		mess = 'choose_date_from';
	}
	
	if(mess == ''){
		return true;
	}
	
	var url = $.domain+$.language+'/getLangValue';
	$.post(url, {key:mess}, function(data){
		$('#dialog').html(data).dialog('open');
	});
	
	return false;
}


/*
 * Детайли
 */

function detailsInfoTabs(){
	
	var cont = $('#hotelDetails');		
	var tabsContent = $('#tabsContent');
	var hiddenCont 	= $('#hiddenContent');
	
	
	if(cont.length===0){return false;}	
	
	changeBigPic();
	
	//При първото зареждане вземаме съдържанието на #desc
	if(location.hash.substring(1)!=''){		
		var id = location.hash.substring(1);
		
		if(id=='map'){
			hiddenCont.children('#map').show(0);
		}else{
			$('#tabsContent').html($('#hiddenContent #'+id).html());
		}	
	}else{
		$('#tabsContent').html($('#hiddenContent #desc').html());
	}	 
	
	
	cont.find('.tabs a').click(function(){
		
		var href = $(this).attr('href');
		spl = href.split('#');
		id = spl[1];
		
		if(id=='map'){
			tabsContent.html('');
			hiddenCont.children('#map').show(0);
			
		}else{
			hiddenCont.children('#map').hide(0);
			
			//Търсим такъв дива и му вземаме съдържанието
			var htmlCont = hiddenCont.children('#'+id).html();
			tabsContent.html(htmlCont);
		}
	});	
}


function changeBigPic(){
	$('#tabsContent .small a').live('click', function(e){
		e.preventDefault();
		var bigImg = $('#tabsContent .big img');
		var newSrc = $(this).siblings('img').attr('src');
				
		bigImg.attr('src', newSrc);
	});
}

function showLoading(){
	$('#loading').fadeIn(500);
}

function hideLoading(){
	$('#loading').fadeOut(500);
}

var sendingContact = false;
function sendContact(){
	if(sendingContact == true){return false}
	sendingContact = true;
	var form = $('form.contactsForm');
	var formData = form.serialize();
	var url = $.domain+$.language+'/sendContact';
	
	$.post(url, formData, function (data){
		sendingContact = false;	
		obj = string2json(data);
		if(obj.status == false){			
			viewMess(obj.mess);
			return false;			
		}else if(obj.status==true){
			viewMess(obj.mess);		
			clearForm(form);
		}else{
			viewMess('Error!');
			return false;
		}
	});	
}


