/* 
	Questo file, condiviso da tutti i clienti, ha tutte le funzioni necessarie per il fare il 
	submit dei form tipo contatti, richiest info ecc...ecc...
*/ 



/* questa func riceve il form da submittare ed il messaggio da restituire dopo il submit */
function submitAjaxForm(obj, nomeForm, msg) {
	
	var err = checkFormFields(nomeForm) ;	
	
	if (err) {
		return false;
	}


	var dataString = 'obj='+obj+"&action=submitAjaxForm" ;	
	dataString += getDataSting_SubmitAjaxForm(nomeForm) ;


	jQuery.ajax({
  		type: "POST",
  		url: "./ajax/mailContatti.php",
  		data: dataString,
  		success: function(html) {
			
			
    		jQuery('#'+nomeForm).html("<div id='message'></div>");
    		jQuery('#message').html(msg).hide().fadeIn(1200, function() {
				
		    });
		}
	});
	
	return false;
}




/* questa func riceve il form da cui prender ei dati del login, l'id dove vado a scrivere l'attendere prego e l'url del redirect */
function submitAjaxFormLogin(obj, nomeForm, idLoading, lodingText, redirectUrl) {
	
	var err = checkFormFields(nomeForm) ;	
	
	if (err) {
		return false;
	}


	var dataString = 'obj='+obj+"&action=submitAjaxFormLogin" ;	
	dataString += getDataSting_SubmitAjaxForm(nomeForm) ;


	jQuery.ajax({
  		type: "POST",
  		url: "./ajax/mailContatti.php",
  		data: dataString,
  		beforeSend: function() {
  			jQuery('#'+idLoading).html(lodingText) ;
  		},
  		success: function(html) {

    		jQuery('#'+nomeForm).html("<div id='message'></div>");
    		jQuery('#message').html(msg).hide().fadeIn(1200, function() {
				
		    });
		}
	});
	
	return false;
}


function getDataSting_SubmitAjaxForm(nomeForm) {
	
	var dataString = '' ;
	
	jQuery.each(jQuery('#'+nomeForm).serializeArray(), function(i, field) {

		if ((field.type == 'radio') || (field.type == 'checkbox')) {
        	if (field.checked) {
        		dataString += "&"+field.name+"="+field.value ;
            }
        }
        else {
        	dataString += "&"+field.name+"="+encodeURIComponent(field.value) ;
     	}

	}) ;
	
	return dataString ; 
}

function checkFormFields(nomeForm) {

	var err = false ;
	
	jQuery('.error').hide() ;
	jQuery.each(jQuery('#'+nomeForm).find('*'), function(i, field) {
		
		try {
						
			var errorId = field.id.split("_") ;
			
			if (errorId[1] == 'error') {

				var campo = errorId[0] ;
				
				if (jQuery("#"+field.id).attr('tipologia') == 'checkbox') {
					
					if (!jQuery("#ID_"+campo).attr('checked')) {
						jQuery("label#"+field.id).show();
		      			jQuery("input#ID_"+campo).focus();
		      			err = true ;
		      			return false ;
		      			
					}
				}
				if (jQuery("#"+field.id).attr('tipologia') == 'VAR') {
					
					if (jQuery("#"+campo).val() == "" || jQuery("#"+campo).val() == 1) {
		      			jQuery("label#"+field.id).show();
		      			jQuery("input#"+campo).focus();
		      			err = true ;
		      			return false ;
		      			
		    		}
					
				}
				else {
					
					if (jQuery("#ID_"+campo).val() == "") {
		      			jQuery("label#"+field.id).show();
		      			jQuery("input#ID_"+campo).focus();
		      			err = true ;
		      			return false ;
		      			
		    		}
		    	}

			}
			
			if (errorId[1] == 'email') {
				
				var campo = errorId[0] ;
				var emailRegEx = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i;
			    if (jQuery("#ID_"+campo).val().search(emailRegEx) == -1) {
			    	jQuery("label#"+field.id).show();
	      			jQuery("input#ID_"+campo).focus();
			    	err = true ;
	      			return false ;
			    }
			    
			}
			
			
			if (errorId[1] == 'login') {

				var logincheck = "obj="+obj+"&action=checkLogin&login="+encodeURIComponent(jQuery('#ID_XACCESS01').val()) ;
				
				var statusLogin = 	jQuery.ajax({
										async: false,
										url: "./ajax/mailContatti.php",
										data: logincheck
									}).responseText;
 
				if (statusLogin == 'ko') {
			    	jQuery("label#"+field.id).show();
	      			jQuery("input#ID_"+campo).focus();
			    	err = true ;
	      			return false ;
			    }
			}

		}
		catch(e) {}

	}) ;
	
	return err ;
}
