$(document).ready(function(){
		
		var qname = $("#qname"),
		qemail = $("#qemail"),
		question = $("#question"),
		cname = $("#cname"),
		cemail = $("#cemail"),
		cphone = $("#cphone"),
		clocation = $("#location"),
		whoisit = $("#whoisit"),
		timeframe = $("#timeframe"),
		project = $("#project"),
		allFields = $([]).add(qname).add(qemail).add(question).add(cname).add(cemail).add(project),
		tips = $(".validateTips");

		function updateTips(t) {
			tips.text(t).effect("highlight",{},1500);
		}

		function checkLength(o,n,min,max) {

			if ( o.val().length > max || o.val().length < min ) {
				o.addClass('ui-state-error');
				updateTips("Length of " + n + " must be between "+min+" and "+max+".");
				return false;
			} else {
					return true;
			}

		}

		function checkRegexp(o,regexp,n) {

			if ( !( regexp.test( o.val() ) ) ) {
				o.addClass('ui-state-error');
				updateTips(n);
				return false;
			} else {
				return true;
			}

		}

		$("#question_dialog").dialog({
			bgiframe: true,
			autoOpen: false,
			dialogClass: "qmodal",
			modal: true,
			resizable: false,
			buttons: {
				'Ask Question': function() {
					var bValid = true;
					allFields.removeClass('ui-state-error');

					bValid = bValid && checkLength(qname,"Name",3,16);
					bValid = bValid && checkLength(qemail,"Email",6,80);
					bValid = bValid && checkLength(question,"Question",5,300);
					//bValid = bValid && checkRegexp(qname,/^([a-zA-Z])+$/i,"Name may consist of a-z.");
					
					if (bValid) {
						$.post('askquestion.php', {
							nme: qname.val(),
							eml: qemail.val(),
							quest: question.val()
						}, function(data) {
							$('#question_dialog').dialog('close');
						  	$('#thankyou').dialog('open');
						});
					}
				},
				Cancel: function() {
					$(this).dialog('close');
				}
			},
			close: function() {
				allFields.val('').removeClass('ui-state-error');
				updateTips('*Required field.');
			}
		});
		
		$("#contact_dialog").dialog({
			bgiframe: true,
			autoOpen: false,
			dialogClass: "cmodal",
			width: 500,
			modal: true,
			resizable: false,
			buttons: {
				'Send': function() {
					var bValid = true;
					allFields.removeClass('ui-state-error');

					bValid = bValid && checkLength(cname,"Name",3,16);
					bValid = bValid && checkLength(cemail,"Email",6,80);
					bValid = bValid && checkLength(project,"Project",5,300);

					//bValid = bValid && checkRegexp(name,/^([a-zA-Z])+$/i,"Name may consist of a-z.");
					
					if (bValid) {
						$.post('contact.php', {
							nme: cname.val(),
							eml: cemail.val(),
							phone: cphone.val(),
							who: $("input[@name='whoisit']:checked").val(),
							loc: clocation.val(),
							time: timeframe.val(),
							proj: project.val()
						}, function(data) {
							$("#contact_dialog").dialog('close');
						  	$('#thankyou').dialog('open');
							
						});
						
					}
				},
				Cancel: function() {
					$(this).dialog('close');
				}
			},
			close: function() {
				allFields.val('').removeClass('ui-state-error');
				updateTips('*Required field.');
			}
		});
		
		$("#thankyou").dialog({
			bgiframe: true,
			autoOpen: false,
			modal: true,
			resizable: false,
			buttons: {
				Ok: function() {
					$(this).dialog('close');
				}
			}
		});

		
		$('.askquestion').click(function() {
			$('#question_dialog').dialog('open');
		})
		.hover(
			function(){ 
				$(this).addClass("ui-state-hover"); 
			},
			function(){ 
				$(this).removeClass("ui-state-hover"); 
			}
		).mousedown(function(){
			$(this).addClass("ui-state-active"); 
		})
		.mouseup(function(){
				$(this).removeClass("ui-state-active");
		});
		
		$('.contactus').click(function() {
			$('#contact_dialog').dialog('open');
		})
		.hover(
			function(){ 
				$(this).addClass("ui-state-hover"); 
			},
			function(){ 
				$(this).removeClass("ui-state-hover"); 
			}
		).mousedown(function(){
			$(this).addClass("ui-state-active"); 
		})
		.mouseup(function(){
				$(this).removeClass("ui-state-active");
		});


});

