var forms = {
	/*
		variables
	*/
	//path:"http://www.bottledrive.cgidev.ca/wp-content/themes/twentyten/assets/",
	//path:"/wp-content/themes/twentyten/assets/",
	path:"",	
	options:{
		sponsor:{
			validate:{
				sponsor_name:/\w+/,
				company:/\w+/,
				position:/\w+/,
				sponsor_email:/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i
			},
			populated:{
				telephone:/^\(?([2-9][0-8][0-9])\)?[-. ]?([2-9][0-9]{2})[-. ]?([0-9]{4})$/,
				mobile:/^\(?([2-9][0-8][0-9])\)?[-. ]?([2-9][0-9]{2})[-. ]?([0-9]{4})$/
			},
			extra:{
				addtovolunteer:"checkbox"
			},
			url:{}
		}
	},
	
	/*
		methods
	*/
	validate:function(obj)
	{
		var form = $(obj).parents("form");
		var id = $(form).attr("id");
		var validate = forms.options[id].validate;
		var populated = forms.options[id].populated;
		var extra = forms.options[id].extra;
		
		var error = false;
		var post = {};
		for(var prop in validate)
		{
			var val = $("#" + id + " #" + prop).val();
			var regex = validate[prop];
			if(!regex.test(val))
			{
				$("#" + id + " #" + prop).css({"border-color":"#e31836","background":"#FFFFCC"});
				error = true;
			}
			else{
				$("#" + id + " #" + prop).css({"border-color":"#CCCCCC","background":"#FFFFFF"});
				post[prop] = val;
			}
		}
		
		for(var prop in populated)
		{
			var val = $("#" + id + " #" + prop).val();
			var regex = populated[prop];
			if(val)
			{
				if(!regex.test(val))
				{
					$("#" + id + " #" + prop).css({"border-color":"#e31836","background":"#FFFFCC"});
					error = true;
				}
				else{
					$("#" + id + " #" + prop).css({"border-color":"#CCCCCC","background":"#FFFFFF"});
					post[prop] = val;
				}				
			}
		}	
		
		for(var prop in extra)
		{
			switch(extra[prop])
			{
				case "checkbox":
					var val = $("#" + id + " #" + prop).attr("checked");
				break;
				case "radio":
					$(":radio[name='" + id + "']").each(function(){
						if($(this).attr("checked")){
							var val = $(this).val();
						}
					});
				break;
				default:
					var val = $("#" + id + " #" + prop).val();
				break;
			}
			post[prop] = val;			
		}
		
		if(!error)
		{
			forms.submit(post, "services/sponsor.services.php", id);
		}
	},
	
	submit:function(post, url, id)
	{
		switch(id)
		{
			case "sponsor":
				var modal = "thanks";
				var file = $.modals.path + "modals/" + modal + ".modal.php";
				file += "?";
				for(var prop in post)
				{
					file += prop == "sponsor_name" || prop == "company" || prop == "position" || prop == "telephone" || prop == "mobile" ? prop + "=" + escape(post[prop]) + "&" : prop + "=" + post[prop] + "&";
				}
				file += "action=sponsor";
				var options = $.modals.options[modal];
				$.modals.load(file, options, modal);
			break;
		}
		return false;
	},
	
	cancel:function(obj)
	{
		var form = $(obj).parents("form");
		var id = $(form).attr("id");
		$(form).reset();	
	},
	
	mailchimp:function(obj)
	{
		var post = {};
		for(prop in obj)
		{
			post[prop] = obj[prop]
		}
		$.ajax({
			url:"/wp-content/themes/twentyten/assets/services/adduser.service.php",
			//url:"services/adduser.service.php",
			cache:false,
			data:post,
			dataType:"JSON",
			type:"POST",
			success:function(response){
				$("#ui-dialog-title-modal").html(response.success);
				$("#loading").hide();
				$("#message").show();
				$("#message p").html(response.message);
			},
			error:function(e){
				var error = e;
			}
		});
	}	
}
