﻿$land_offer_form = {
	form : null,
	validator : null,
	initValidator:function(){
		if(!this.form) this.form = $("#land-offer-for-sale-form");
		if(!this.validator){
			var msg="*";
			this.validator=this.form.validate({
				rules : {
					xml_seller : {
						required: true
					},
					xml_email : {
						required: true,
						email : true
					},
					xml_telephone : {
						required: true,
						number:true
					},
					xml_location : {
						required:true
					}
				},
				messages: {
					xml_seller:msg,
					xml_email:msg,
					xml_telephone:msg,
					xml_location:msg
				},
				event : 'keyup'
			});
		}
	},
	init : function(){
		var _this = this;
		if(!this.buttonElement.btnSubmit) this.buttonElement.init();
		this.buttonElement.btnSubmit.click(function(){
			_this.submit();
		});
	},
	buttonElement:{
		btnSubmit:null, btnSubmitDisable:null,
		btnLoader:null, btnCancel:null,
		init:function(){
			if(!this.btnSubmit) this.btnSubmit = $(".btnSubmit");
			if(!this.btnSubmitDisable) this.btnSubmitDisable=$('.btnSubmit-Disable');
			if(!this.btnLoader) this.btnLoader=$('.button-loader');
			if(!this.btnCancel) this.btnCancel=$('.btnCancel');
			this.btnCancel.click(function(){
				if(parent && parent.hs) parent.hs.close();
			});
		},
		showLoader:function(){
			this.btnSubmit.attr("disabled",true).addClass("button-loading");
			this.btnSubmit.hide(); this.btnSubmitDisable.show(); this.btnLoader.show();
		},
		hideLoader:function(){
			this.btnSubmit.attr("disabled",false).removeClass("button-loading");
			this.btnSubmit.show(); this.btnSubmitDisable.hide(); this.btnLoader.hide();
		},
		closeDialog:function(){
			if(parent && parent.hs) parent.hs.close();
		}
	},
	submit:function(){
		// ##### Begin Track
		pageTracker._trackPageview('/virtual-event/touchpoint/offer-land/click-submit');
		// ##### End Track
		var _this=this;
		if(!this.form) this.form = $("#land-offer-for-sale-form");
		var form=this.form;
		var successMsg = $('input:hidden[name=success-message]', form).val();
		var failureMsg = $('input:hidden[name=failure-message]', form).val();
		if(this.validator.form())
		{
			this.buttonElement.showLoader();
			this.form.ajaxSubmit({
				success : function(responseText){
					_this.buttonElement.showLoader();
					_this.form[0].reset();

					// On success
					alert(successMsg);
					// HS CLOSE
					_this.buttonElement.closeDialog();
				},
				error : function(XMLHttpRequest, textStatus, errorThrown){
					alert(failureMsg);
				}
			});
		}
	}
};
$(function(){
	// Init Button
	$land_offer_form.buttonElement.init();
	$land_offer_form.initValidator();
	$land_offer_form.init();
});