jQuery(document).ready(function(){
	jQuery( "#dialog:ui-dialog" ).dialog( "destroy" );

	var name = jQuery( "#name" ),
		email = jQuery( "#email" ),
		message = jQuery( "#message" ),
		allFields = jQuery( [] ).add( name ).add( email ).add( message ),
		tips = jQuery( ".validateTips" );

	function updateTips( t ) {
		tips
			.text( t )
			.addClass( "ui-state-highlight" );
		setTimeout(function() {
			tips.removeClass( "ui-state-highlight", 1500 );
		}, 500 );
	}

	function checkLength( o, n, min, max ) {
		
		if ( o.val().length < min ) {
			o.addClass( "ui-state-error" );
			updateTips( n + ": " + locallang.lengthGreater + min + "." );
			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;
		}
	}

	jQuery("#dialog-form" ).dialog({
		autoOpen: false,
		height: 500,
		width: 500,
		modal: true,
		buttons: {
			"Send": function() {
				var bValid = true;
				allFields.removeClass( "ui-state-error" );				
				bValid = bValid && checkLength( email, "Email", 5 );
				bValid = bValid && checkLength( name, "Name", 3 );
				bValid = bValid && checkLength( message, "Message", 5 );

				bValid = bValid && checkRegexp( email, /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i, locallang.invalidEmail );
				
				if ( bValid ) {
					var params = {
						"logoId" : jQuery("#logoId").val(),
						"email" : email.val(),
						"name" : name.val(),
						"message" : message.val()
					};
					jQuery.ajax ({
						type: "POST",
						url: "index.php?eID=playground",
						data: params,
						dataType: "json",
						success: function(data){
							if(data.result == 1){
								jQuery( "#dialog-form" ).dialog("close");
							}else{
								jQuery("p.validateTips").html(locallang.problem);
							}							
						}
					});					
				}
			},
			Cancel: function() {
				jQuery( this ).dialog( "close" );
				jQuery("p.validateTips").html();
			}
		},
		close: function() {
			allFields.val( "" ).removeClass( "ui-state-error" );
			jQuery("p.validateTips").html("");
		}
	});

	jQuery("#playgroundContainer a").each( function(i) {
		jQuery(this).click( function(event){
			jQuery("#playgroundContainer a.selected").removeClass("selected");
			jQuery(this).addClass("selected");
			jQuery("p.validateTips").html("");
			
			var contactLogo = jQuery("#playgroundContainer a.selected").attr("id").replace("contactForm_","");
			jQuery( "#logoId" ).val(contactLogo);			
			jQuery("#contactText").html(jQuery("#contactBodytext_" + contactLogo).html());
			jQuery( "#dialog-form" ).dialog( "open" );
			jQuery(".ui-dialog-buttonset button").eq(0).addClass("sendBtn");
			jQuery(".ui-dialog-buttonset button").eq(1).addClass("cancelBtn");
		});
	});
});
