sketch = {};
sketch.form = {
	startErrorMessage: "<p>There is something wrong with your form submission, please check the following:</p>",
	errorFields: {},	
	html_contentOuter:"<div id='errorWrapper'>",
	html_closeBox:"<a title='close' id='closeBut' class='nyroModalClose' href='#form'>Close</a>",
	html_contentInner:"<div id='errorContent'>",
	html_closingDivs:"</div></div>",
	isIE6:true,
	createErrorPanel: function(){		
		var content = sketch.form.html_contentOuter;
		content += sketch.form.html_closeBox;
		content += sketch.form.html_contentInner;
		content += sketch.form.startErrorMessage;
		//content += "<p>Just a demonstration by chris</p>"; // sketch.form.getFailedFields();
		content += sketch.form.getFailedFields();
		content += sketch.form.html_closingDivs;
		return content;
	},
	init: function(){
		$('#contactFrmSubmit').click(function(e) {
			if(sketch.form.contact.isOk()){
				$("#contactFrm").submit();
			}else{
				e.preventDefault();
				e.stopPropagation();
				$(document).click(sketch.form.clearErrors);
				sketch.form.displayErrors();
			}
		});	
		$('#letsTalkFrmSubmit').click(function(e) {
			if(sketch.form.letstalk.isOk()){
				$("#letsTalkFrm").submit();
			}else{
				e.preventDefault();
				e.stopPropagation();
				$(document).click(sketch.form.clearErrors);
				sketch.form.displayErrors();
			}
		});	
	},
	addErrorPanelEvents: function(e){
		$("a").click(function() {				
			sketch.form.clearErrors();
		});
	},
	clearErrors: function(){
		$("#errorMessages").fadeOut("slow").empty();
		$(document).unbind();
	},
	displayErrors: function(){
		$("#errorMessages").empty();
		var html = sketch.form.createErrorPanel();
		$(html).appendTo("#errorMessages");
		sketch.form.addErrorPanelEvents();
		$("#errorMessages").fadeIn("slow");			
	},
	isEmpty: function(eleId){
		if($("#"+eleId).val().length > 0){
			var message = $("#"+eleId).attr("name");
			sketch.form.removeError(message);
			return false;
		}else{
			var message = $("#"+eleId).attr("name");
			sketch.form.addError(message);
			return true;
		}
	},
	getFailedFields: function(){
		var fields = "";
		for(error in sketch.form.errorFields){
			if (sketch.form.errorFields[error]) {
				fields += error + "<br/>";
			}
		}
		return fields;
	},
	addError: function(error){
		sketch.form.errorFields[error] = true;
	},
	removeError: function(error){
		sketch.form.errorFields[error] = false;
	}
};
sketch.form.contact = {
	init: function(){		
		//sketch.form.isIE6 = (jQuery.browser.msie && parseInt(jQuery.browser.version.substr(0,1)) < 7);
		sketch.form.isIE6 = (jQuery.browser.msie);
	},
	isOk: function(){		
		var errors =0;
		errors += (sketch.form.isEmpty("firstName"))?1:0;
		errors += (sketch.form.isEmpty("lastName"))?1:0;
		errors += (sketch.form.isEmpty("telephoneNumber"))?1:0;
		errors += (sketch.form.isEmpty("emailAddress"))?1:0;
		errors += (sketch.form.isEmpty("message"))?1:0;
		if(errors > 0){
			return false;			
		}else{
			return true;
		}

	}	
};
sketch.form.letstalk = {
	init: function(){		
		//sketch.form.isIE6 = (jQuery.browser.msie && parseInt(jQuery.browser.version.substr(0,1)) < 7);
		sketch.form.isIE6 = (jQuery.browser.msie);
	},
	isOk: function(){		
		var errors =0;
		errors += (sketch.form.isEmpty("firstName"))?1:0;
		errors += (sketch.form.isEmpty("lastName"))?1:0;
		errors += (sketch.form.isEmpty("heardFrom"))?1:0;
		errors += (sketch.form.isEmpty("emailAddress"))?1:0;
		errors += (sketch.form.isEmpty("telephoneNumber"))?1:0;
		errors += (sketch.form.isEmpty("message"))?1:0;
		if(errors > 0){
			return false;			
		}else{
			return true;
		}

	}	
};
