// JavaScript Document
$(document).ready(function (){
	// Validate and submit Contact Us form
	$("#errorBox").hide();
	$("#loginError").hide();
	$("#messageBox").hide();
	//$("#newTopicMsg").hide();
	remove_notice();
	
	$("form#contactUsForm").submit(function(){
		//Do the validation
		var error = "";
		var name = jQuery.trim( $("#fullname").val());
		var email = jQuery.trim( $("#email").val());
		var phone = jQuery.trim( $("#phone").val());
		var message = jQuery.trim( $("#message").val());

		if (!name) {
			error += "Please enter your full name<br />";
			$("#fullname").focus();
		}
		if (!email) {
			error += "Please enter your email address<br />";
			$("#email").focus();
			} else {	
					if(!isValidEmailAddress(email)) {
						error += "Please enter a valid email address<br />";
						$("#email").focus();
						$("#email").val('');
					}
			}
		if (!phone) {
			error += "Please enter your Phone number<br />";
			$("#phone").focus();
		} 
		if (!message) {
			error += "Please enter your message\n";
			$("#message").focus();
		}
		if (error) {
			$("#error_box").show();
			$("#error_box").html("<b>Please correct the following errors:</b><br><br>" + error + "");
			remove_notice();
			return false;
		}
		var dataStr = $("form#contactUsForm").serialize();
		$.ajax({
		type: "post",
		data: dataStr,
		url : "contact_us.php",
		success : function(data){
			if (jQuery.trim(data) == "success")
					{		
						$("#message_box").show();
						$("#error_box").hide();
						$("#fullname").val("");
						$("#email").val("");
						$("#phone").val("");
						$("#message").val("");
						$("#message_box").html("<b>Thank you for your feed back. We will get back to you soon.</b>");
						remove_notice();
						return false;
					} else {
						$("#error_box").show();
						$("#error_box").html("<b>There was some errors, please try again.</b>");
						$("#message_box").hide();
						remove_notice();
						return false;
						}
			}		
		});
	return false;
	});// End of the contact us form submission
	
	
	
	// Validation for the info request form
	$("#info_request").submit(function(){
		
		var error = "";
		var fullname = jQuery.trim( $("#fullname").val());
		var phone = jQuery.trim( $("#phone").val());
		var email = jQuery.trim( $("#email").val());
		var address = jQuery.trim( $("#address").val());
		var city_zip = jQuery.trim( $("#city_zip").val());
		var information = jQuery.trim( $("#information").val());

		if (!fullname) {
			error += "Enter your full name<br>";
			$("#fullname").focus();
		}
		if (!phone) {
			error += "Enter your Phone number<br>";
			$("#phone").focus();
		} 
		if (!email) {
			error += "Enter your email address<br>";
			$("#email").focus();
			} else {	
					if(!isValidEmailAddress(email)) {
						error += "Enter a valid email address<br>";
						$("#email").focus();
						$("#email").val('');
					}
			}
		if (!address) {
		//	error += "Enter your address<br>";
			$("#address").focus();
		}
		
		if (!city_zip) {
		//	error += "Enter your City name and zip<br>";
			$("#city_zip").focus();
		}
		
		if (!information) {
			error += "Enter any special information or question<br>";
			$("#information").focus();
		}	
		if (error) {
			//alert("Check error:\n" + error);
			$("#errorBox").html("<b>Please check following errors:</b><br>"+ error +" ");
			$("#errorBox").show("slow");
			remove_notice();
			return false;
		}
		var dataStr = $("#info_request").serialize();
		$.ajax({
		type: "post",
		data: dataStr,
		url : "info_request.php",
		success : function(data){
			if (jQuery.trim(data) == "success")
					{		
						$("#messageBox").show();
						$("#errorBox").hide();
						$("#fullname").val("");
						$("#phone").val("");
						$("#email").val("");
						$("#address").val("");
						$("#city_zip").val("");
						$("#information").val("");
						$("#messageBox").html("Thank you for your feed back. We will get back to you soon.</b>");
						remove_notice();
						return false;
					} else {
						$("#errorBox").show();
						$("#messageBox").html("<b>There was some errors, could not send your request. Please try again.</b>");
						remove_notice();
						$("#fullname").val("");
						$("#phone").val("");
						$("#email").val("");
						$("#address").val("");
						$("#city_zip").val("");
						$("#information").val("");
						$("#messageBox").hide();
						return false;
						}
			}		
		});
	return false;
	});// End of the info request form submission
	
	
	// Displaying the rentals while clicking the sub menu
	$("a.display_rental").click(function(){
		var rentalId = this.id;
		$("#pageContent").load("rental_details.php?type=available&id="+rentalId);		
		return false;
	});
	// end of the sub menu display
	
	// Displaying the rentals already on rent link
	$("a.rental_booked").click(function (){
		$("#pageContent").load("rental_details.php?type=booked");		
		return false;
	});
	// end of the already on rent 
	
	
});

function isValidEmailAddress(emailAddress) {
var pattern = new RegExp(/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/);
return pattern.test(emailAddress);
}


//Function to validate and post the Testimonial 


function submitTestimonial(){
	
	var error = "";
	var email = jQuery.trim( $("#testimoEmail").val());
	if(!jQuery.trim( $("#testimoName").val()))
		{
		error += "- Enter the Name<br>";
		$("#testimoName").focus();
		}
	if (!email) {
			error += "- Enter your Email Address<br>";
			} else {	
				if(!isValidEmailAddress(email)) {
					error += "- Enter a valid Email Address<br>";
					$("#testimoEmail").focus();
					$("#testimoEmail").val('');
					}
				}
	if(!jQuery.trim( $("#testimoMessage").val()))
		{
		error += "- Enter the Message<br>";
		$("#testimoMessage").focus();
	}
	if(error) {
		$("#errorBox").html("<b>Please check following errors:</b><br>"+ error +" ");
		$("#errorBox").show("slow");
		remove_notice();
		return false;
		} 
		var dataStr = $("#Testimonial_form").serialize();
			$.ajax({
				type: "post",
				data: dataStr,
				url : "testimonial.php",
				success : function(data){
					if (jQuery.trim(data) == "success"){	
						$("#messageBox").show();
						$("#errorBox").hide();
						$("#testimoName").val("");
						$("#testimoCity").val("");
						$("#testimoCountry").val("");
						$("#testimoEmail").val("");
						$("#testimoMessage").val("");
						$("#messageBox").html("<b>Thank you for the testimonial. We will displayed it shortly.</b>");
						remove_notice();
						return false;
						} else {
						$("#messageBox").html("<b>Some error occured, could not add your testimonial. Try again.</b>");
						remove_notice();
						return false;
					}
				}
			});		
	return false;				
}


//	Function to limit the text in text area
function limtTextArea() {
	var textField = $("#testimoMessage").val();	
	var charLength = textField.length;
	$('span#charCount').html(charLength + ' of 150 characters used');
	if(charLength > 150)	{
		$('span#charCount').html('You may only have up to 150 characters.');
		$("#testimoMessage").val(textField.substring(0,150));
	}
}

// Image preview for the rental page
function previewImage(rentalId,imageName) { 
	//var rentalId = this.id;								  
	//var imageName = this.name;
	var txt = '<a id='+rentalId+' title="Click to enlarge images" href="rental_enlarge_images.php?id='+rentalId+'" target="_blank" >';
	txt += '<img src="./images/rentals/tn/tn_'+imageName+'" width="440" height="220"  style="margin:5px 0 0 5px;"/>';
	txt += '</a>';
	$("#imagePreview").animate({'opacity':'.1'},1000,function(){
		$("#imagePreview").html(txt).animate({'opacity':'1'},1000);
	});		
	return false;
} // End of the preview


// function to display file list
function file_list(id,cId) {
	$("#files_"+cId).load("ajax_file.php?id="+id+"&cId="+cId);
	$("#files_"+cId).toggle('slow');
	return false;
	}
	
// Function to validate the login form
function validatelogin(){
	var error = "";
	var username = jQuery.trim( $("#username").val());
	var password = jQuery.trim( $("#password").val());
	if(!username ){
		error += "username";
		$("#username").focus();
	}
	if(!username && !password){
		error += " and ";
		}
	if(!password) {
		error += "password";
		$("#password").focus();
	}
	if(error) {
		$("#loginError").html("<b>Please enter "+ error +"</b>");
		$("#loginError").show("slow");
		remove_notice();
		return false;
	} else {
		$("#loginError").hide("slow");
		var dataStr = $("#loginForm").serialize();
			$.ajax({
				type: "post",
				data: dataStr,
				url : "login.php",
				success : function(data){
					if (jQuery.trim(data) == "success"){
						window.location ="property_management.php";
						return true;
						} else {
							$("#loginError").html("<b>The username or password you entered is incorrect.</b>");
							remove_notice();
							$("#loginError").show("slow");
							$("#username").val("");
							$("#password").val("");
							remove_notice()
							return false;
					}
				}
			});	
	}
	remove_notice();
	return false;	
}

// Function to display the post details while clicking on the post/topic
function showPost(postId){
	window.location = "property_management.php?type=displayTopic&id="+postId;
	remove_notice();
	return false;
}

// Function to validate and submit reply message
function submitReply(){
	var name = $("#name").val();
	var message = $("#replyMessage").val();
	var postId = $("#postId").val();
	var error = '';
	if(!name){ error+=" name"; }
	if(!name && !message){ error+=" and"; }
	if(!message){ error+=" message"; }
	if(error){
		$("#errorBox").html("<b>Please enter your"+error+".</b>");
		$("#errorBox").show("slow");
		return false;
		} else {
			$("#errorBox").hide("slow");
			$.post("ajax_property.php",{type:"addReply", postId:postId, name:name, message:message },function(data){
				data = jQuery.trim(data);
				var ret = data.split("#");
				if(ret[0] == "success"){
					$("#name").val("");
					$("#replyMessage").val("");
					$("#replyList").load("ajax_property.php?type=display&id="+postId);
					$("#errorBox").html("<b>"+ret[1]+"</b>");
					$("#errorBox").show("slow");
					} else if(ret[0] == "error") {
						$("#errorBox").html("<b>"+ret[1]+"</b>");
						$("#errorBox").show("slow");	
				}
			});
			remove_notice();
			return false;
	}
}

function submitTopic(){
	var title = $("#title").val();
	var name = $("#name").val();
	var message = $("#topicMessage").val();
	var error = '';
	if(!title){ error += " - Enter the topic title.<br />"; }
	if(!name){ error += " - Enter your name.<br />"; }
	if(!message){ error += " - Enter the topic message.<br />"; }
	if(error){
		$("#errorBox").html("<b>Please check the following errors.</b><br>"+error);
		$("#errorBox").show("slow");
		remove_notice();
		return false;
		} else {
			$("#errorBox").hide("slow");
			var dataStr = $("form#addTopic").serialize();
			$.ajax({
				url:"ajax_property.php",
				type:"post",
				data:dataStr,
				success:function(data){ 
					data = jQuery.trim(data);
					var ret = data.split("#");
					if(ret[0] == "success"){
						window.location = "property_management.php";
						remove_notice();
						return false;
						} else if(ret[0] == "error") {
							$("#errorBox").html("<b>"+ret[1]+"</b>");
							$("#errorBox").show("slow");	
					}
				}
			});
			
			return false;
	}
}

// Fuction to go back
function goBack(){
	window.location = "property_management.php";
	remove_notice();
	return false;
}

function remove_notice(){
	$('#messageBox').animate({opacity: 1.0}, 4000)
			.fadeOut('slow', function() {
				$(this).hide('slow');
			});
	
	$('#errorBox').animate({opacity: 1.0}, 4000)
			.fadeOut('slow', function() {
					$(this).hide('slow');
					});
	$('.messageBox').animate({opacity: 1.0}, 4000)
			.fadeOut('slow', function() {
				$(this).hide('slow');
			});
	
	$('.errorBox').animate({opacity: 1.0}, 4000)
			.fadeOut('slow', function() {
					$(this).hide('slow');
					});
}; 


// Validation for the feed back form
function MgmtQuoteRequest(){
	var error = "";
	var fullname = jQuery.trim( $("#fullname").val());
	var phone = jQuery.trim( $("#phone").val());
	var email = jQuery.trim( $("#email").val());
	var buildingName = jQuery.trim( $("#buildingName").val());
	var buildingNo = jQuery.trim( $("#buildingNo").val());
	var information = jQuery.trim( $("#information").val());

	if (!fullname) {
		error += " -Enter your full name<br>";
		$("#fullname").focus();
	}
	if (!phone) {
		error += " -Enter your Phone number<br>";
		$("#phone").focus();
	} 
	if (!email) {
		error += " -Enter your email address<br>";
		$("#email").focus();
		} else {	
				if(!isValidEmailAddress(email)) {
					error += " -Enter a valid email address<br>";
					$("#email").focus();
					$("#email").val('');
				}
		}
	if (!buildingName) {
		error += " -Enter the building name<br>";
		$("#buildingName").focus();
	}
	if (!buildingNo) {
		error += " -Enter the building number<br>";
		$("#buildingNo").focus();
	}
	if (!information) {
		error += " -Enter any special information or question<br>";
		$("#information").focus();
	}
	if (error) {
		$("#errorBox").html("<b>Please check following errors:</b><br>"+ error +" ");
		$("#errorBox").show("slow");
		remove_notice();
		return false;
	}
	var dataStr = $("#serviceRequest").serialize();
	
	$.ajax({
	type: "post",
	data: dataStr,
	url : "./management-quote-request.php",
	success : function(data){
		
		if (jQuery.trim(data) == "success")
				{
					$("#errorBox").hide();
					$("#fullname").val("");
					$("#phone").val("");
					$("#email").val("");
					$("#address").val("");
					$("#city_zip").val("");
					$("#buildingName").val("");
					$("#buildingNo").val("");
					$("#information").val("");
					$("#errorBox").html("<b>Your request has been sent to the concerned person. We will get back to you soon.</b>");		
					$("#errorBox").show();
					remove_notice();
					return false;
				} else {
					$("#errorBox").html("<b>There was some errors, could not send your request. Please try again.</b>");
					$("#errorBox").show();
					$("#fullname").val("");
					$("#phone").val("");
					$("#email").val("");
					$("#address").val("");
					$("#city_zip").val("");
					$("#buildingName").val("");
					$("#buildingNo").val("");
					$("#information").val("");
					remove_notice();
					return false;
					}
		}		
	});
return false;
}// End of the feed back form submission

// Validate the request quote form
function validateRequest(){
	var name = $("#name").val();
	var phone = $("#phone").val();
	var email = $("#email").val();
	var address1 = $("#address1").val();
	var address2 = $("#address2").val();
	var cc_name = $("#cc_name").val();
	var query = $("#query").val();
	var error = '';
	if(!name){
		error += " -Enter your full name.<br />";
		} else if(!validateName(name)) {
			error += " -Enter a valid name.<br />";	
	}
	if(!phone){
		error += " -Enter your phone number.<br />";
		} else if(!validatePhone(phone)){
	}
	if(!email){
		error += " -Enter your email address.<br />";
		} else if(!isValidEmailAddress(email)){
			error += " -Enter a valid email address. <br />";
	}
	if(!address1){
		error += " -Enter your address.<br />";
	}
	if(!address2){
		error += " -Enter city name and pin.<br />";
	}
	if(!cc_name){
		error += " -Enter condominimun/complex name.<br />";
	}
	if(!query){
		error += " -Enter your message/query.<br />";
	}
	if(error){
		$("#errorBox").html("<b>Please check following error(s):</b><br>"+ error +" ");
		$("#errorBox").show("slow");
		return false;
	}
	
	var dataStr = $("#serviceRequest").serialize();
	
	$.ajax({
	type: "post",
	data: dataStr,
	url : "./service-request.php",
	success : function(data){
		if (jQuery.trim(data) == "success")
				{
					$("#errorBox").hide();
					$("#name").val("");
					$("#phone").val("");
					$("#email").val("");
					$("#address1").val("");
					$("#address2").val("");
					$("#cc_name").val("");
					$("#query").val("");
					$("#errorBox").html("<b>Your request has been sent to the concerned person. We will get back to you soon.</b>");		
					$("#errorBox").show();
					remove_notice();
					return false;
				} else {
					$("#errorBox").html("<b>There was some errors, could not send your request. Please try again.</b>");
					$("#errorBox").show();
					$("#name").val("");
					$("#phone").val("");
					$("#email").val("");
					$("#address1").val("");
					$("#address2").val("");
					$("#cc_name").val("");
					$("#query").val("");
					remove_notice();
					return false;
					}
		}		
	});
	return false;
}

// Phone number validation
function validatePhone(phone){
	return phoneRegX = (/^[0-9- ]{10,15}$/).test(phone);
}
// Phone name validation
function validateName(name){
	return nameRegX = (/^[a-zA-Z-' ]{4,15}$/).test(name);
}