//TEST FORM SOLO PER LA PAGINA NUOVO PRODOTTO
//perchè fa il controllo su i campi numerici
function ritardaSlide()
	{
		setTimeout(function(){$("#errore").slideToggle();}, 2500);
	}

/* ------------------------ getElementsByClassName per IE ---------------------------- */

document.getElementsByClassName = function(class_name) {
    var docList = this.all || this.getElementsByTagName('*');
    var matchArray = new Array();

    /*Create a regular expression object for class*/
    var re = new RegExp("(?:^|\\s)"+class_name+"(?:\\s|$)");
    for (var i = 0; i < docList.length; i++) {
        if (re.test(docList[i].className) ) {
            matchArray[matchArray.length] = docList[i];
        }
    }

	return matchArray;
}

/* ------------------------ TEST SUI CAMPI DEI FORM ---------------------------- */

function errore()
{
	document.getElementById("errore").innerHTML = "Password errata!";
	$("#errore").slideToggle();
	ritardaSlide(); 
	
	return false;
}

//campi vuoti
function notEmpty(elem, helperMsg)
	{
		
		if (elem.value == 0)
			{
				document.getElementById("errore").innerHTML = "Compila il campo " + helperMsg;
				$("#errore").slideToggle();
				ritardaSlide(); 
				elem.focus(); // set the focus to this input
				return false;
				
			}
		else
			{
				if (elem.value.length == 0)
					{
						document.getElementById("errore").innerHTML = "Compila il campo " + helperMsg;
						$("#errore").slideToggle();
						ritardaSlide(); 
						
						elem.focus(); // set the focus to this input
						
						
						return false;

					}
				return true;
			}
		return true;
	}
	
function testForm()
	{	
		var i, x;
		var req = document.getElementsByClassName("req");
		
		var len = req.length;		//numero di campi obbligatori
		
		if (len > 0)
			{
				for (var i in req) 		//inizio a scorrerli
					{  
						var nome = req[i].name;		//ne prendo ilnome da segnalare se manca
						var valore = req[i];		//e il contenuto

						if ((notEmpty(valore,nome.toUpperCase())) == false) 	//se è vuoto
							{
								x = 0;		//esco subito dal ciclo e segnalo l'errore
								return x;
									
							}
						else
							{
								if (i == (len-1))	//controllo se li ho già controllati tutti
									{
										x = 1;		//se si esco dal ciclo e invio il form
										return x;
									}
								else
									{
										x = 1;		//altrimenti continuo a scorrere i prossimi campi
									}
							}
					}
				return x;		//ed infine esco
			}
		else
			{
				x = 1;
				return x;
			}
	}

//campi numerici
function numericItem(elem, helperMsg)
{
	var numericExpression = /^(\d|-)?(\d|,)*\.?\d*$/;
	if (elem.value != "")
		{
			if(!(elem.value.match(numericExpression)))
				{
					document.getElementById("errore").innerHTML = "Il campo " + helperMsg + " pu&oacute; contenere solo valori numerici.";
					$("#errore").slideToggle();
					ritardaSlide(); 
					
					elem.value = "";
					elem.focus(); // set the focus to this input
					return false;
				}
		}
	return true;
}

function controlNumber()
{
	var i, x;
	var num = document.getElementsByClassName("num");
	
	var len = num.length;		//numero di campi obbligatori
	
	if (len > 0)
		{
			for (var i in num) 	//inizio a scorrerli
				{  
					var nome = num[i].name;		//ne prendo il nome da segnalare se manca
					var valore = num[i];		//e il contenuto
					
					if ((numericItem(valore,nome.toUpperCase())) == false) 	//se non è numerico
						{
							x = 0;		//esco subito dal ciclo e segnalo l'errore
							return x;
						}
					else
						{
							if (i == (len-1))		//controllo se li ho già controllati tutti
								{
									x = 1;		//se si esco dal ciclo e invio il form
									return x;
								}
							else
								{
									x = 1;	//altrimenti continuo a scorrere i prossimi campi
								}
						}
				}
			return x;	//ed infine esco
		}
	else
		{
			x = 2;
			return x;
		}
}

function emailValidator (elem, helperMsg)
{
	var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
	if(!(elem.value.match(emailExp)))
		{
			document.getElementById("errore").innerHTML = "Insersci un indirizzo mail valido.";
			$("#errore").slideToggle();
			ritardaSlide(); 
			
			elem.value = "";
			elem.focus(); // set the focus to this input
			return false;
		}
}

function controlMail()
{
	var i, x;
	var mail = document.getElementsByClassName("mail");
	
	var len = mail.length;		//numero di campi obbligatori
	
	if (len > 0)
		{
			for (var i in mail) 	//inizio a scorrerli
				{  
					var nome = mail[i].name;		//ne prendo il nome da segnalare se manca
					var valore = mail[i];		//e il contenuto
					
					if ((emailValidator(valore,nome.toUpperCase())) == false) 	//se non è numerico
						{
							x = 0;		//esco subito dal ciclo e segnalo l'errore
							return x;
						}
					else
						{
							if (i == (len-1))		//controllo se li ho già controllati tutti
								{
									x = 1;		//se si esco dal ciclo e invio il form
									return x;
								}
							else
								{
									x = 1;	//altrimenti continuo a scorrere i prossimi campi
								}
						}
				}
			return x;	//ed infine esco
		}
	else
		{
			x = 2;
			return x;
		}
}

/* ----------------------- TEST FORM PER LE CATEGORIE --------------------*/

function testFormCat()
	{		
		var nome_it = document.getElementById('nome_it');
		var nome_eng = document.getElementById('nome_eng');

		// Check each input in the order that it appears in the form!
		if (notEmpty(nome_it, "NOME ITALIANO"))
			{
				if (notEmpty(nome_eng, "NOME INGLESE"))
					{
						return true;
					}
			}
		return false;
	}
	

