$(function(){
	showdatePicker();
	submenu();
	correctHeight();
	apartmentsListTable();
});

function showdatePicker(){
	if($('input.date').length==0){return false;}
	$('input.date').attr("readOnly", true).datepick({dateFormat: 'dd.mm.yy'});
}



function correctHeight(){
	if(document.getElementById("nast_bottom")){
		var top = document.getElementById("nast_bottom").offsetTop;
		var dif = top-150;
		var current_height = parseInt($('#nastanqvane_container').css("height"));
		var current_top = parseInt($('#nastanqvane_container').css("top"));		
		$('#nastanqvane_container').css({"height":current_height-dif+'px'}).css({"top":current_top+dif+'px'});
	}
}

function submenu(){
	var timer = 0;
	
	$('.top_item').hover(function(){		
		timer = window.clearTimeout(timer);
		hideSubmenu(); // скриваме отворените менюта
		$(this).children('.submenu').css({"display":"block"});
	},function(){
		timer = window.setTimeout('hideSubmenu()',300);		
	});	
}

function hideSubmenu(){
	$('.submenu:visible').css({"display":"none"});
}

function checkZaetost(obj){
	
	var form = $(obj).parents('form.zaetost');
	
	//var form = $('form.zaetost');
	var url = $.domain+$.language+'/booking/';
	
	var date_from = form.find('input[name=date_from]').val();
	var date_to = form.find('input[name=date_to]').val();
	
	if(date_from!='' && date_from!=undefined){
		url += 'date_from:'+date_from+'/';
	}
	
	if(date_to!='' && date_to!=undefined){
		url += 'date_to:'+date_to+'/';
	}	
	window.location.href=url;	
}

function isValidEmail(strEmail){
	validRegExp = /^[^@]+@[^@]+.[a-z]{2,}$/i;
	if (strEmail.search(validRegExp) == -1) 
	{
	return false;
	} 
	return true; 
}

function validateForm(fill_all, invalid_mail){

	var fname			= $('#name').val();
	var fphone 			= $('#phone').val();
	var femail 			= $('#email').val();
	var fdate_arrive 	= $('#date_arrive').val();
	var fdate_leave 	= $('#date_leave').val();
	var froom_count 	= $('#room_count').val();
	var fadults_count 	= $('#adults_count').val();
	var fclildren_count = $('#clildren_count').val();
	var fmessage 			= $('#text').val();
	
	
	var mess = '';
	if(fname == '' || fphone == '' || femail == '' ||fdate_arrive == '' ||fdate_leave == '' || froom_count == '' ||fadults_count == '' || fclildren_count == '' || fclildren_count == '' || fmessage == ''){
		mess += fill_all;
	}
	else if(isValidEmail(femail)== false){mess += invalid_mail}
	
	if(mess != ''){
		//$('form#reservation_form').append('<div id="errorMSG"></div>');
		$('#errorMSG').html(mess);
		return false;
	}else{
		return true;
	}
}

function validateNewRegistrationForm(fill_all, invalid_mail){

	var fname			= $('#first_name').val();
	var lname			= $('#last_name').val();
	var fphone 			= $('#phone').val();
	var femail 			= $('#email').val();
	var fdate_arrive 	= $('#date_accommodation').val();
	var fdate_leave 	= $('#date_leaving').val();
	var froom_count 	= $('#number_of_rooms').val();
	var fadults_count 	= $('#number_of_guests').val();
	var fclildren_count = $('#number_of_children').val();
	var fmessage 			= $('#text').val();
	
	
	var mess = '';
	if(fname == '' || lname == '' || fphone == '' || femail == '' ||fdate_arrive == '' ||fdate_leave == '' || froom_count == '' ||fadults_count == '' || fclildren_count == '' || fclildren_count == '' || fmessage == ''){
		mess += fill_all;
	}
	else if(isValidEmail(femail)== false){mess += invalid_mail}
	
	if(mess != ''){
		//$('form#reservation_form').append('<div id="errorMSG"></div>');
		$('#errorMSG').html(mess);
		return false;
	}else{
		return true;
	}
}

function validateRegisterFormForm(fill_all, invalid_mail){
	var ffirst_name 	= $('#first_name').val();
	var flast_name 		= $('#last_name').val();
	var femail 			= $('#email').val();

	
	var mess = '';
	if(ffirst_name == '' || flast_name == '' || femail == ''){
		mess += fill_all;
	}
	
	else if(isValidEmail(femail)== false){mess += '<br />'+invalid_mail}
	
	
	
	if(mess != ''){
		$('#errorMSG').html(mess);
		return false;
	}else{
		return true;
	}
}

function apartmentsListTable(){
	var table = $('table.apartmentsList');
	if(table.length===0){return false;}
	
	table.find('tbody tr').hover(function(){
		$(this).addClass('hover');
	},function(){
		$(this).removeClass('hover');
	});
}


function login(){
	var url = $.domain+$.language+'/booking/login/';
	var formData = $('form#login').serialize();
	$.post(url, formData, function(data){
		obj = string2json(data);
		switch (obj.status){			
			case false:
				viewMess(obj.mess);
				break;				
			case true:
				window.location=obj.url;
				//$('.login_field').fadeOut(200).remove();
				//$('.login_field_container').hide().html(obj.mess).fadeIn(200);				
				break;				
			default:
				alert('Error!!!!!!!!!!!!');
				break;	
		}
	});
}

function profile(){
	var url = $.domain+$.language+'/booking/profile/';
	var formData = $('form#profileForm').serialize();
	$.post(url, formData, function(data){
		obj = string2json(data);
		switch (obj.status){			
			case false:
				viewMess(obj.mess);
				break;				
			case true:
				//		
				break;				
			default:
				alert('Error!!!!!!!!!!!!');
				break;	
		}
	});
}

function youmustagree(msg){
	if (!$('#i_agree').is(':checked')) {
	viewMess(msg);
	}
}

function forgotten(){
	var url = $.domain+$.language+'/booking/forgotten/';
	var formData = $('form#forgotten').serialize();
	$.post(url, formData, function(data){
		obj = string2json(data);
		switch (obj.status){			
			case false:
				viewMess(obj.mess);
				break;				
			default:
				alert('Error!!!!!!!!!!!!');
				break;	
		}
	});
}

function register(){
	var url = $.domain+$.language+'/booking/register/';
	var formData = $('form#registerForm').serialize();
	$.post(url, formData, function(data){
		obj = string2json(data);
		switch (obj.status){			
			case false:
				alert(obj.mess);
				break;				
			case true:
				if(confirm(obj.mess)){
					location.replace(obj.url);
				}
				break;	
				
			default:
				alert('Error!!!!!!!!!!!!');
				break;	
		}
	});
}

function detailsDateForm(url){
	var form = $('form#detailsDateForm');
	
	if(form.length===false){
		return false;
	}
	
	form.find('select').each(function(){
		var opt = $(this).children('option:selected');
		url += $(this).attr('name')+':'+$(this).find('option:selected').val()+'/';
	});
	location.replace(url);
}

function deleteBooking(){
	var url = $.domain+$.language+'/booking/deleteBooking';
	
	$.post(url,{del:'asdf'}, function(data){
		obj = string2json(data);
		
		switch(obj.status){
			case true:
				location.replace(obj.url);
				break;				
			case false:
				viewMess(obj.mess);
				break;		
		}		
	});	
}


function add2Cart(h){
	var url = $.domain+$.language+'/booking/add2Cart/hash:'+h;
	$.post(url, {action:'viewForm'}, function(data){
		var obj =string2json(data);
		
		switch(obj.status){
			case false:
				viewMess(obj.mess);
				break;
			case true:
				openModal(obj.mess);
				break;			
			default:
				viewMess('Error!!!');
				break;
			}		
	});
}

function postAdd2Cart(h){
	var url = $.domain+$.language+'/booking/add2Cart/hash:'+h;
	var formData = $('form#postAdd2Cart').serialize();
	$.post(url, formData, function(data){
		var obj = string2json(data);
		
		switch(obj.status){
			case true:
				if(confirm(obj.mess)){
					window.location.href = obj.url
				}
				break;				
			case false:
				viewMess(obj.mess);
				break;				
			default:
				viewMess('Error! Try again Later!');
				break;	
		}		
	});
}


function calcBookTotal(){
	//Вземаме тотала от дните
	var apInfoTotal = ($('input[name=apInfoTotal]').val())*1;
	
	$('select.extras').each(function(){
		var val = $(this).children('option:selected').val();
		if(val >0){
			var spl = $(this).attr('name').split('_');
			var price = $('input.extras[name=price_'+spl[1]+']').val();
			if(price>0){
				apInfoTotal += price*val;
			}
		}
	});
	
	$('#end_total').html(apInfoTotal)
}


function ownersDatesForm(){
	var form = $('form#filter');
	if(form.length === 0){
		return false;
	}
	form.submit();
}

function removeFormCart(apHash){
	var url = $.domain+$.language+'/booking/removeFormCart';
	
	
	$.post(url, {apHash:apHash}, function(data){
		var obj = string2json(data);
		
		switch(obj.status){
			case true:				
				window.location.reload();				
				break;				
			case false:
				viewMess(obj.mess);
				break;				
			default:
				viewMess('Error! Try again Later!');
				break;	
		}		
	});
}

