var JQ = jQuery.noConflict();
JQ(document).ready(function(){
	
	JQ("#txtarrival").datepicker({
		dateFormat: 'mm/dd/yy',
		minDate: '0',
		showOn: 'both',
		buttonImage: "images/buttons_icons_logos/CalendarIcon.png",
		buttonImageOnly: true,
		buttonText: 'Calendar',
		onSelect: function(selectedDate){ 
			var instance = JQ(this).data("datepicker");
			var date = JQ.datepicker.parseDate(instance.settings.dateFormat || JQ.datepicker._defaults.dateFormat, selectedDate, instance.settings);
			JQ("#txtdeparture").datepicker("option", "minDate", date); // Restrict the min date for the check out date
		}
	});
	
	JQ("#txtdeparture").datepicker({
		dateFormat: 'mm/dd/yy',
		minDate: '+1d',
		showOn: 'both',
		buttonImage: "images/buttons_icons_logos/CalendarIcon.png",
		buttonImageOnly: true,
		buttonText: 'Calendar',
		onSelect: function(selectedDate){ 
			var instance = JQ(this).data("datepicker");
			var date = JQ.datepicker.parseDate(instance.settings.dateFormat || JQ.datepicker._defaults.dateFormat, selectedDate, instance.settings);
			JQ("#txtarrival").datepicker("option", "maxDate", date); // Restrict the min date for the check out date
		}
	});
	
	JQ("#txtphone").keyup(function(){
		var str = JQ(this).val();
		var len = str.length;
		var num = str.charAt((len - 1));
		if(num.match(/^\DJQ/) || len > 14){
			str = str.substr(0, (len - 1));
		}
		
		str = (((str.replace('-','')).replace('(','')).replace(' ','')).replace(')','');
		len = str.length;
		if(len < 4){
			JQ(this).val(str);
			return true;
		}
		if(len >= 4 && len < 7){
			var newstr = '(' + str.substr(0,3) + ') ' + str.substr(3);
			JQ(this).val(newstr);
			return true;
		}
		else{
			var newstr = '(' + str.substr(0,3) + ') ' + str.substr(3,3) + '-' + str.substr(6,4);
			JQ(this).val(newstr);
			return true;
		}
	});
	
	JQ("#response").dialog({
		autoOpen: false,
		modal: true,
		close: function(event, ui){
			JQ("#loading").remove();
			JQ("#send").css('display', 'block');
		}
	});
	
	JQ("#send").click(function(){
		JQ(this).css('display', 'none');
		JQ("#contactForm").append('<img id="loading" align="right" src="images/buttons_icons_logos/loading.gif" border="0" style="margin: 19px 19px 0 0;" alt="loading..." />');
		var form = JQ("#contact_form").serialize();
		JQ.ajax({
			
			url: "includes/valid_form.php",
			type: "POST",
			data: form,
			dataType: "xml",
			
			success: function(xml) {
				var exito = JQ(xml).find('status').attr('id');
				var lang = JQ(xml).find('status').attr('title');
				var errors;
				if(exito < 0){
					errors = '<span class="ui-icon ui-icon-alert"></span><div style="position: relative; margin: -16px 0 0 25px;">';
					errors += ((lang == 'es') ? 'Esta informaci&oacute;n es requerida:' : 'This information is required:') + '</div><ul>';
					JQ(xml).find('errors').each(function(){
						var id = JQ(this).find('type').attr('id');
						errors = errors + "<li>"+ JQ(this).find('type').text()+"</li>";
					});
					errors += "</ul>";
				}
				else {
					errors = '<span class="ui-icon ui-icon-check"></span><div style="position: relative; margin: -16px 0 0 25px;">';
					errors += ((lang == 'es') ? 'Tu informaci&oacute;n fue enviada. &iexcl;Gracias!' : 'Your information was submited, Thank You!') + '</div>';
					JQ("#clear").trigger('click');
				}
				JQ("#response").html(errors);
				JQ("#response").dialog('open');
			},
			error: function(xhr, status, error) {
				var error = '<span class="ui-icon ui-icon-alert"></span><span>';
				errors += ((lang == 'es') ? 'Disculpa: Un error ha ocurrido.<br/>Int&eacute;ntelo denuevo m&aacute;s tarde.' : 'Sorry: An error has ocurred.<br/>Try again later.') + '</span>';
				JQ("#response").html('');
				JQ("#response").dialog('open');
			}
			
		});
	});
	
	JQ("#clear").click(function(){
		document.contact_form.reset();
	});
});

