$(document).ready(function() {   

	var endDate = getEndDate();


	if ($("#zimmersucheForm").length) {
		
		
		var lang = $("input#sprache").val();			
		
		/** calendar **/
		$.tools.dateinput.localize("de",  {
		   months:        'Januar,Februar,M&auml;rz,April,Mai,Juni,Juli,August,' +
							'September,Oktober,November,Dezember',
		   shortMonths:   'Jan,Feb,M&auml;r,Apr,Mai,Jun,Jul,Aug,Sep,Okt,Nov,Dez',
		   days:          'Sonntag,Montag,Dienstag,Mittwoch,Donnerstag,Freitag,Samstag',
		   shortDays:     'So,Mo,Di,Mi,Do,Fr,Sa'
		});	
		
		$(":date").dateinput({ lang: lang, trigger: true, format: 'dd.mm.yyyy', min: -1, max: endDate, selectors: true, firstDay: 1, yearRange: [-1,2] });
		
		$(":date").bind("onShow onHide", function()  {
			$(this).parent().toggleClass("active"); 
		});	

		// erstes anreisetag
		$(":date:eq(0)").data("dateinput").onHide(function(event, date) {
			$(":date:eq(1)").data("dateinput").setMin(this.getValue(), false);
			var anreise = this.getValue('yyyy-mm-dd');
			var	abreise = $(":date:eq(1)").data("dateinput").getValue('yyyy-mm-dd');
			var test = 0;
			if (anreise == abreise) {
				
				openModal('equaldates', true, 0);
				test = 1;
			}				
		});		
		
		// erster abreisetag
		$(":date:eq(1)").data("dateinput").onHide(function(event, date) {
			$(":date:eq(0)").data("dateinput").setMax(this.getValue(), false);
			var anreise = this.getValue('yyyy-mm-dd');
			var	abreise = $(":date:eq(0)").data("dateinput").getValue('yyyy-mm-dd');
			var test = 0;
			if (anreise == abreise) {
				
				openModal('equaldates', true, 0);
				test = 1;
			}			
		});	
		
		
		/** form validate **/
		
	 	// Localize the form validator
		$.tools.validator.localize("de", {
			':email'  		: '<div><em/></div>Bitte geben Sie eine gültige Email-Adresse ein',
			':number' 		: '<div><em/></div>Bitte geben Sie eine Zahl ein',
			'[max]'	 		: '<div><em/></div>Bitte geben Sie eine kleinere Zahl als $1 ein',
			'[min]'	 		: '<div><em/></div>Mindestens $1 erforderlich',
			'[required]' 	: '<div><em/></div>Feld ist erforderlich'
		});	
		
	 	// Localize the form validator
		$.tools.validator.localize("en", {
			':email'  		: '<div><em/></div>Please enter a valid email',
			':number' 		: '<div><em/></div>Please enter number',
			'[max]'	 		: '<div><em/></div>Please enter a number smaller than $1',
			'[min]'	 		: '<div><em/></div>Please enter $1 at least',
			'[required]' 	: '<div><em/></div>Field is required'
		});	
		
       $.tools.validator.fn("#dzimmer", {
            de: '<div><em/></div>Zimmeranzahl',
			en: '<div><em/></div>Number of rooms'
        }, function(input, value){
			
			if ($('#ezimmer').val() > 0)
				return true;
			else if (value < 1) 	
				return false;
			else
				return (value == "") ? false : true;
			
        });		
		
		$("input#dzimmer, input#ezimmer").change(function(){
			var tmp_val = 0;
			var tmp_ezimmer = $("input#ezimmer").val();
			var tmp_dzimmer = $("input#dzimmer").val();
			if (tmp_ezimmer == "")
				tmp_ezimmer = 0;
			if (tmp_dzimmer == "")
				tmp_dzimmer = 0;	
			tmp_val = parseFloat(tmp_val);	
			tmp_dzimmer = parseFloat(tmp_dzimmer);
			tmp_ezimmer = parseFloat(tmp_ezimmer);						
			var new_val = tmp_ezimmer + ( tmp_dzimmer * 2 );
			$("input#personen").val(new_val);
		});
		

					
			
        /*$.tools.validator.fn("#ezimmer", {
            de: '<div><em/></div>* Zimmeranzahl',
			en: '<div><em/></div>* Number of rooms'
        }, function(input, value){
			
			if ($('#ezimmer').val() > 0)
				return true;
			else if (value < 1) 	
				return false;
			else
				return (value == "") ? false : true;
			
        });*/	
						
		
		$("#zimmersucheForm").validator({messageClass: 'cof-error', lang: lang});
		
	}


	/** general functions **/
	
	$(":input.ngZ").blur(function(){
		var value = $(this).val();
		var val = $(this).val().replace(/[^\d]/g, '');	
		$(this).val(val);
	});
	
	$(":input.nZ").blur(function(){
		var value = $(this).val();
		var val = $(this).val().replace(/[^.^\d]/g, '');	
		$(this).val(val);
	});		
	
	
	  
	 function getEndDate() {
	 	
		var now = new Date();
		var year = now.getFullYear();
		var month = now.getMonth();
		
		var endDate = new Date(year, month+6, 0, 1, 55, 0);
		
		return endDate;
		
	 };  
	 
	 
	   function openModal(divID, loadMethod, triggers){
			$("#" + divID).overlay({	   
			   mask: {
	                color: '#2B2729',
	                loadSpeed: 200,
	                opacity: 0.9
	            },
	            closeOnClick: true,
				load: loadMethod					 
			});
			
	    };		 
	 
	 

});
