// JavaScript Document
$(document).ready(function(){
										initForm();
									});

function initForm(){
	form = $('#websiteEnquiry form:first');
	//form.hide();
	closeForm = $('#websiteEnquiryClose:first');
	openForm = $('#websiteEnquiryOpen:first');
	defaultAction = '../submitform.php';
	if(form.attr("action")){
		defaultAction = form.attr("action");
	}
	
	formInput = form.find('input, select, textarea');
	//bind close to close button
	closeForm.bind('click', function(){
												form.fadeOut();
												});
	openForm.bind('click', function(){
											  form.fadeIn();
											  });
	//bind onblur action for every input field
	formInput.bind('blur', function(){
											  //get this input data
											  var inputData = $(this).serialize();
												$.ajax({
													type: "POST",
													url: defaultAction,
													data: inputData,
													success: parseXmlFormValidationInfo
												});
												//get a validation info box for this input
												var inputValidationWrapper = $('#' + $(this).attr('name') + 'ValidationInfo');
												inputValidationWrapper.removeClass('inputTextValid inputValid inputTextInvalid inputInvalid');
												if(inputValidationWrapper.hasClass('inputTextWrapper')){
													inputValidationWrapper.addClass('inputTextInteraction');
												}
												else{
													inputValidationWrapper.addClass('inputInteraction');
												}
												inputValidationWrapper.find('.validationInfo, .validationMessage').html('validating...');
											  });
	//bind submit callback for the whole contact form
	form.bind('submit', function(){
										  		validationWrappers = $(this).find('.validationInfo, .inputTextWrapper');
												validationWrappers.removeClass('inputTextValid inputValid inputTextInvalid inputInvalid');
												validationWrappers.each(function(){
																							if($(this).hasClass('inputTextWrapper')){
																								$(this).addClass('inputTextInteraction');
																							}
																							else{
																								$(this).addClass(' inputInteraction')
																							}
																							});
												
												validationWrappers.find('.validationInfo, .validationMessage').html('validating...');
												formData = $(this).serialize();
												$.ajax({
													type: "POST",
													url: defaultAction,
													data: formData + '&action=submit',
													success: parseXmlFormValidationInfo
												});
												//disable the submitt button when validating in progress
												$('#websiteEnquiry form:first .input_submit:first').attr('disabled', 'disabled');
												return false;
											});
	//remove any binging from the submit button
	$('#websiteEnquiry form:first .input_submit:first').unbind();
}
function parseXmlFormValidationInfo(xml){
	inputField = $(xml).find('inputValidation');
	inputField.each(function(){
										//find this field validation info box
										var name = $(this).attr('name');
										var validationWrapper = $('#' + name + 'ValidationInfo');
										//if valid
										if($(this).attr('valid') === '1'){
											if(validationWrapper.hasClass('inputTextWrapper')){
												validationWrapper.addClass('inputTextValid');
												validationWrapper.removeClass('inputTextInvalid');
												validationWrapper.removeClass('inputTextInteraction');
											}
											else{
												validationWrapper.addClass('inputValid');
												validationWrapper.removeClass('inputInvalid');
												validationWrapper.removeClass('inputInteraction');
											}
										}
										else{
											if(validationWrapper.hasClass('inputTextWrapper')){
												validationWrapper.removeClass('inputTextValid');
												validationWrapper.addClass('inputTextInvalid');
												validationWrapper.removeClass('inputTextInteraction');
											}
											else{
												validationWrapper.removeClass('inputValid');
												validationWrapper.addClass('inputInvalid');
												validationWrapper.removeClass('inputInteraction');
											}
										}
										//set text message
										validationWrapper.find('.validationInfo, .validationMessage').html($(this).attr('message'));
									 });
	//enable submit button when the validation completes
	$('#websiteEnquiry form:first .input_submit:first').removeAttr('disabled');
	
	submitSuccess = $(xml).find('submitSuccess').text();
	if(submitSuccess == 1){
		form = $('#websiteEnquiry form:first');
		form.hide('slow');
		$('#form_submit_success').show('slow');
		
		form[0].reset();
		
		$('#websiteEnquirySuccess').dialog({ modal:true, beforeclose:function(){form.hide('slow');}, buttons: { "Ok": function() { $(this).dialog("close"); form.hide('slow');} } });
		
		//alert('Thank You for your enquiry. Our team will review your requirements and contact you shortly. Wish you a good day.');
	}
}
