 
jQuery(document).ready(function(){

	//tfuse_form(); //controls the contact form located in library/tfuse_framework/js/sendmail.js
	tfuse_form();
	control_newsletter();
	control_unscribe_newsletter();
	sostText(); //sostituzione valore form con quello di default

});

function control_unscribe_newsletter(){
	jQuery(".newsletter_unscribe #send").bind("click", function(){
		var my_error = false;
		jQuery(".newsletter_unscribe input").each(function(i){
			var surrounding_element = jQuery(this);
			var value 				= jQuery(this).attr("value"); 
			var check_for 			= jQuery(this).attr("id");
			var required 			= jQuery(this).hasClass("required"); 
			var defaultVal = jQuery(this).attr("default");
			
			if(check_for == "email"){
				surrounding_element.removeClass("error valid");
				baseclases = surrounding_element.attr("class");
				if(!value.match(/^\w[\w|\.|\-]+@\w[\w|\.|\-]+\.[a-zA-Z]{2,4}$/)){
					surrounding_element.attr("class",baseclases).addClass("error");
					my_error = true;
				}else{
					surrounding_element.attr("class",baseclases).addClass("valid");	
				}
			}
		});
		if(my_error == false){
			
			jQuery(".newsletter_unscribe").slideUp(400);
			var $datastring = "ajax=true";
			jQuery(".newsletter_unscribe input").each(function(i){
				var $name = jQuery(this).attr('name');	
				var $value = encodeURIComponent(jQuery(this).attr('value'));
				$datastring = $datastring + "&" + $name + "=" + $value;
			});
			jQuery.ajax({
			   type: "POST",
			   url: LURL + "json/newsletter_unscribe/",
			   data: $datastring,
			   success: function(response){
				   jQuery(".ajaxresponse").remove();
				   jQuery(".newsletter_unscribe").before("<div class='ajaxresponse' style='display: none;'></div>");
				   jQuery(".ajaxresponse").html(response).slideDown(400).delay(5000).slideUp(400); 
				   jQuery(".newsletter_unscribe .sostText").each(function(i){
					   var t = jQuery(this);
					   t.removeClass('valid');
						t.val(t.attr("default"));
					});
				   jQuery(".newsletter_unscribe").delay(6000).slideDown(400);
				}
			});	
		}
		
		return false;
	});
}

function control_newsletter(){
	jQuery(".newsletter_form #send").bind("click", function(){
		var my_error = false;
		jQuery(".newsletter_form input").each(function(i){
			var surrounding_element = jQuery(this);
			var value 				= jQuery(this).attr("value"); 
			var check_for 			= jQuery(this).attr("id");
			var required 			= jQuery(this).hasClass("required"); 
			var defaultVal = jQuery(this).attr("default");
			
			if(check_for == "email"){
				surrounding_element.removeClass("error valid");
				baseclases = surrounding_element.attr("class");
				if(!value.match(/^\w[\w|\.|\-]+@\w[\w|\.|\-]+\.[a-zA-Z]{2,4}$/)){
					surrounding_element.attr("class",baseclases).addClass("error");
					my_error = true;
				}else{
					surrounding_element.attr("class",baseclases).addClass("valid");	
				}
			}
			
			if(check_for == "name"){
				surrounding_element.removeClass("error valid");
				baseclases = surrounding_element.attr("class");
				if(value == "" || value == defaultVal ){ 
					surrounding_element.attr("class",baseclases).addClass("error");
					my_error = true;
				}else{
					surrounding_element.attr("class",baseclases).addClass("valid");
				}
			}
		});
		if(my_error == false){
			
			jQuery(".newsletter_form").slideUp(400);
			var $datastring = "ajax=true";
			jQuery(".newsletter_form input").each(function(i){
				var $name = jQuery(this).attr('name');	
				var $value = encodeURIComponent(jQuery(this).attr('value'));
				$datastring = $datastring + "&" + $name + "=" + $value;
			});
			jQuery.ajax({
			   type: "POST",
			   url: LURL + "json/newsletter/",
			   data: $datastring,
			   success: function(response){
				   jQuery(".ajaxresponse").remove();
				   jQuery(".newsletter_form").before("<div class='ajaxresponse' style='display: none;'></div>");
				   jQuery(".ajaxresponse").html(response).slideDown(400).delay(5000).slideUp(400); 
				   jQuery(".newsletter_form .sostText").each(function(i){
					   var t = jQuery(this);
					   t.removeClass('valid');
						t.val(t.attr("default"));
					});
				   jQuery(".newsletter_form").delay(6000).slideDown(400);
				}
			});	
		}
		
		return false;
	});
}

function tfuse_form(){
	var my_error;
	jQuery(".ajax_form #send").bind("click", function(){
											 
	my_error = false;
	jQuery(".ajax_form input, .ajax_form textarea, .ajax_form radio, .ajax_form select").each(function(i){
		
				var surrounding_element = jQuery(this);
				var value = surrounding_element.attr("value"); 
				var check_for = surrounding_element.attr("id");
				var required = surrounding_element.hasClass("required"); 
				var defaultVal = surrounding_element.attr("default");

				if(check_for == "email"){
					surrounding_element.removeClass("error valid");
					baseclases = surrounding_element.attr("class");
					if(!value.match(/^\w[\w|\.|\-]+@\w[\w|\.|\-]+\.[a-zA-Z]{2,4}$/)){
						surrounding_element.attr("class",baseclases).addClass("error");
						my_error = true;
					}else{
						surrounding_element.attr("class",baseclases).addClass("valid");	
					}
				}
				
				if(check_for == "name" || check_for == "message"){
					surrounding_element.removeClass("error valid");
					baseclases = surrounding_element.attr("class");
				 
					if(value == "" || value == defaultVal){ 
						surrounding_element.attr("class",baseclases).addClass("error");
						my_error = true;
					}else{
						surrounding_element.attr("class",baseclases).addClass("valid");
					}
				}
				
				if(required && check_for != "name" && check_for != "email" && check_for != "message"){
					surrounding_element.removeClass("error valid");
					baseclases = surrounding_element.attr("class");
					if(value == "" || value == defaultVal){					
						surrounding_element.attr("class",baseclases).addClass("error");
						my_error = true;
					}else{
						surrounding_element.attr("class",baseclases).addClass("valid");	
					}
				}
				
				
			   	if(jQuery(".ajax_form input, .ajax_form textarea, .ajax_form radio, .ajax_form select").length  == i+1){
						if(my_error == false){
							jQuery(".ajax_form").slideUp(400);
							
							var $datastring = "ajax=true";
							jQuery(".ajax_form input, .ajax_form textarea, .ajax_form radio, .ajax_form select").each(function(i){
								var $name = jQuery(this).attr('name');	
								var $value = encodeURIComponent(jQuery(this).attr('value'));
								$datastring = $datastring + "&" + $name + "=" + $value;
							});
							jQuery(".ajax_form #send").fadeOut(100);	
							
							jQuery.ajax({
							   type: "POST",
				   			   url: LURL + "json/sendmail/",
							   data: $datastring,
							   success: function(response){
								   jQuery(".ajaxresponse").remove();
								   jQuery(".ajax_form").before("<div class='ajaxresponse' style='display: none;'></div>");
								   jQuery(".ajaxresponse").html(response).slideDown(400).delay(5000).slideUp(400); 
								   jQuery(".ajax_form .sostText").each(function(i){
									   var t = jQuery(this);
									   t.removeClass('valid');
										t.val(t.attr("default"));
									});
								   jQuery(".ajax_form #send").fadeIn(10);	
								   jQuery(".ajax_form").delay(6000).slideDown(400);
								}
							});
						} 
					}
			});
			return false;
	});
}

function sostText(){
	jQuery(".sostText").each(function(){
		var e = jQuery(this);
		var defaultVal = e.attr("default");
		e.bind("focus", function(){
			if(e.val() == defaultVal) e.val('');
		});
		e.bind("blur", function(){
			if(e.val() == '') e.val(defaultVal);
		});
	});
}
