function initBoxType(parentObj, obj){
	if (obj){
		boxTypes = $(obj);
		initBoxType(obj);
	} else {
		var boxTypes = $('[boxType]', parentObj);
	}
	
	boxTypes.each(function(num){
		var boxType = $(boxTypes[num]).attr('boxType');
		if (!boxType){
			return;
		}
		var eventName = '_' + boxType;
		var boxoptions = $(boxTypes[num]).attr('boxoptions');
		var options;
		if (boxoptions){
			eval('options = {' + boxoptions + '}');
		}
		
		$(document).trigger(eventName, [$(boxTypes[num]), parentObj, options]);
		
	});
}
$(document).ready(function(){
	initBoxType($(this));
});

$.fn.owcAjaxSubmit = function(options) {
	var opt = {
		mySuccess: function(){},
		myFailure: function(){}
	};
	for (var tmp in options){
		opt[tmp] = options[tmp];
	}
	
	opt.success = function(data){
		var point = data.responsecode.indexOf(".");
		var responsecode = data.responsecode.substr(point+1);
		if (responsecode >= 200) {
       		opt.myFailure(data.message, data);
      } else {
 			opt.mySuccess(data.message, data);
 		}
	}
	
	return this.ajaxSubmit(opt);
};

jQuery.extend({
    owcFileUpload: function(options){
	    var opt = {
			mySuccess: function(){},
			myFailure: function(){}
		};
		for (var tmp in options){
			opt[tmp] = options[tmp];
		}
		
		opt.success = function(data){
			
			var point = data.responsecode.indexOf(".");
			var responsecode = data.responsecode.substr(point+1);
			
			if (responsecode >= 200) {
	       		opt.myFailure(data.message, data);
	      } else {
	 			opt.mySuccess(data.message, data);
	 		}
		}
		return this.ajaxFileUpload(opt);		
    },
    owcAjax: function(options){
	    var opt = {
			mySuccess: function(){},
			myFailure: function(){}
		};
		for (var tmp in options){
			opt[tmp] = options[tmp];
		}
		
		opt.success = function(data){
			
			var point = data.responsecode.indexOf(".");
			var responsecode = data.responsecode.substr(point+1);
			
			if (responsecode >= 200) {
	       	opt.myFailure(data.message, data);
	       } else {
	 			opt.mySuccess(data.message, data);
	 		}
		}
		return this.ajax(opt);		
    }
})


$(document).bind('_contact', function(e, box){
	box.submit(function(e){
		box.owcAjaxSubmit({
			dataType: 'json',
			myFailure:  function(message, data) {
				alert(message);
			},
			mySuccess:  function(message) {
				if (!message){
					alert('Message sent');
				} else {
					alert(message);
				}
			}
		});
		return false;
	});
});


function submit_contact() {

	rd = $("input[name='rd_url']").val();
	
	$("input[type='submit']").attr("disabled","disabled");
	
	if(($("input[name$='FirstName']").val().length<1) || ($("input[name$='LastName']").val().length<1) || ($("input[name$='Email']").val().length<1)) {
		alert("Please fill in marked fields.");
		$("input[type='submit']").removeAttr("disabled");
		$('#analitic').html('<iframe src="/conversion/'+rd+'" width="1" height="1" style="border:none;"></iframe>');
		return false;
	} else {
		$('#loader').removeClass('hidden');
		formelem = $('#contact_form');
		rd = $("input[name='rd_url']").val();
		var options = { 
		   		url: "/action/contact/json/?",
		   		clearForm: true,
		   		type: 'POST',
		   		datatype: 'json',
		   		success: function(res, data) {
		   			$('#loader').addClass('hidden');
		   			if(res.indexOf(".pdf")>0) {
		   				$(formelem).remove();
		   				if(res.indexOf("^")>0) {
		   					$('#form_cont').html("<div class='pdf_link'>No PDF file.</div>");
		   				} else {
		   					$('#form_cont').html("<div class='pdf_link'><a href='http://www.tregny.com/reo/"+res+"'>Download PDF File</a></div>");
		   				}
		   				$('#analitic').html('<iframe src="/conversion/'+rd+'" width="1" height="1" style="border:none;"></iframe>');
		   			} else {
			   			if (res.indexOf("101")!=-1) {
			   				window.location = "/thankyou/"+rd;
			   			} else {
		   					alert("Something went wrong, Please try again.");
		   					$("input[type='submit']").removeAttr("disabled");
			   			}
		   			}
				}
			};
		formelem.ajaxSubmit(options); 
		return false;
	}
}

