// catch possible bugs with WebTV and other older browsers
var is_regexp   = (window.RegExp) ? true : false;
var re_mobile   = new RegExp("[0-9]{9}");
var re_numcell  = new RegExp("[0-9]{6}");
var re_quantity = new RegExp("[0-9]{1}");
var prefissi    = new Array('391','392','393','320','323','327','328','329','330','331','333','334','335','336','337','338','339','360','363','366','368','340','343','345','346','347','348','349','380','383','388','389','377','373');

// make an array to store cached locations of objects called by fetch_object
var docObjs = new Array();
var checkCart = 0;

var vbDOMtype = '';
if (document.getElementById) {
	vbDOMtype = "std";
} else if (document.all) {
	vbDOMtype = "ie4";
} else if (document.layers) {
	vbDOMtype = "ns4";
}

// #############################################################################
// function to emulate document.getElementById
function fetch_object(idname, forcefetch)
{
	if (forcefetch || typeof(docObjs[idname]) == "undefined")
	{
		switch (vbDOMtype)
		{
			case "std":	{
				docObjs[idname] = document.getElementById(idname);
			}
			break;

			case "ie4": {
				docObjs[idname] = document.all[idname];
			}
			break;

			case "ns4":	{
				docObjs[idname] = document.layers[idname];
			}
			break;
		}
	}
	return docObjs[idname];
}
// #############################################################################


// #############################################################################
// function trim a string
function trim( StrToTrim )
{
    // CONTROLLA CHE IL VALORE IN INPUT SIA DI TIPO STRING
    if (typeof StrToTrim != "string")
    {
        return StrToTrim;
    }

    // CATTURA IL PRIMO CARATTERE DELLA STRINGA PER CONTROLLARE CHE NON SIA UNO SPAZIO VUOTO
    var StrBlank = StrToTrim.substring(0, 1);

    // ELIMINA LO SPAZIO VUOTO DALLA PRIMA POSIZIONE DELLA STRINGA
    while (StrBlank == " ")
    {
        StrToTrim = StrToTrim.substring(1, StrToTrim.length);
        StrBlank = StrToTrim.substring(0, 1);
    }

    // CATTURA L'ULTIMO CARATTERE DELLA STRINGA PER CONTROLLARE CHE NON SIA UNO SPAZIO VUOTO
    StrBlank = StrToTrim.substring(StrToTrim.length - 1, StrToTrim.length);

    // ELIMINA LO SPAZIO VUOTO DALL'ULTIMA POSIZIONE DELLA STRINGA
    while (StrBlank == " ")
    {
        StrToTrim = StrToTrim.substring(0, StrToTrim.length-1);
        StrBlank = StrToTrim.substring(StrToTrim.length-1, StrToTrim.length);
    }

    // ELIMINA POTENZIALI SPAZI VUOTI MULTIPLI ALL'INIZIO ED ALLA FINE DI UNA STRINGA
    while (StrToTrim.indexOf("  ") != -1)
    {
        StrToTrim = StrToTrim.substring(0, StrToTrim.indexOf("  "));
        StrToTrim += StrToTrim.substring(StrToTrim.indexOf("  ") + 1, StrToTrim.length);
    }

    // RESTITUISCE IL VALORE FINALE SENZA SPAZI VUOTI DI CONTORNO
    return StrToTrim;
}

// #############################################################################


// #############################################################################
// function to validate a general input by value lenght
function check_input(field_name, field_size, message)
{
	if (form.elements[field_name] && (form.elements[field_name].type != "hidden" && form.elements[field_name].type != "image"))
	{

		var field_value = form.elements[field_name].value;

		if ( field_value == '' || trim(field_value).length < field_size )
		{
			error_message = error_message + "* " + message + "\n";
			error = true;
		}
	}
}
// #############################################################################

// #############################################################################
// function to validate a radio button
function check_radio(field_name, message)
{
	var isChecked = false;
	if (form.elements[field_name] && (form.elements[field_name].type != "hidden"))
	{
		var radio = form.elements[field_name];
		for (var i=0; i<radio.length; i++)
		{
			if (radio[i].checked == true)
			{
				isChecked = true;
				break;
			}
		}

		if (isChecked == false)
		{
			error_message = error_message + "* " + message + "\n";
			error = true;
		}
	}
}
// #############################################################################

// #############################################################################
// function to validate a radio button value
function check_radioValue(field_name, id_Checked, message)
{
	var isChecked = false;
	if (form.elements[field_name] && (form.elements[field_name].type != "hidden"))
	{
		var radio = form.elements[field_name];
		for (var i=0; i<radio.length; i++)
		{
			if (radio[i].checked == true)
			{
				if(!id_Checked || radio[i].id == id_Checked)
				{
					isChecked = true;
					break;
				}
			}
		}
		if (isChecked == false)
		{
			error_message = error_message + "* " + message + "\n";
			error = true;
		}
	}
}
// #############################################################################

// #############################################################################
// function to validate a checkbox value
function check_checkbox(field_name, message)
{
	if (form.elements[field_name] && (form.elements[field_name].type != "hidden"))
	{
		var checkbox = form.elements[field_name];
		if (checkbox.checked != true)
		{
			error_message = error_message + "* " + message + "\n";
			error = true;
		}
	}
}
// #############################################################################

// #############################################################################
// function to validate a select
function check_select(field_name, field_default, message)
{

	if (form.elements[field_name] && (form.elements[field_name].type != "hidden"))
	{
		var field_value = form.elements[field_name].value;

		if (field_value == field_default)
		{
			error_message = error_message + "* " + message + "\n";
			error = true;
		}
	}
}
// #############################################################################

// #############################################################################
// function to check password
function check_password(field_name_1, field_name_2, field_size, message_1, message_2)
{
	if (form.elements[field_name_1] && (form.elements[field_name_1].type != "hidden"))
	{
		var password = form.elements[field_name_1].value;
		var confirmation = form.elements[field_name_2].value;
		if (password == '' || password.length < field_size)
		{
			error_message = error_message + "* " + message_1 + "\n";
			error = true;
		}
		else if (password != confirmation)
		{
			error_message = error_message + "* " + message_2 + "\n";
			error = true;
		}
	}
}
// #############################################################################

// #############################################################################
// function to validate a new password
function check_password_new(field_name_1, field_name_2, field_name_3, field_size, message_1, message_2, message_3)
{
	if (form.elements[field_name_1] && (form.elements[field_name_1].type != "hidden"))
	{
		var password_current = form.elements[field_name_1].value;
		var password_new = form.elements[field_name_2].value;
		var password_confirmation = form.elements[field_name_3].value;
		if (password_current == '' || password_current.length < field_size)
		{
			error_message = error_message + "* " + message_1 + "\n";
			error = true;
		}
		else if (password_new == '' || password_new.length < field_size)
		{
			error_message = error_message + "* " + message_2 + "\n";
			error = true;
		}
		else if (password_new != password_confirmation)
		{
			error_message = error_message + "* " + message_3 + "\n";
			error = true;
		}
	}
}
// #############################################################################

// #############################################################################
// function to validate a hidden field
function check_hidden(field_name, field_size, message)
{
	if (form.elements[field_name])
	{
		var field_value = form.elements[field_name].value;
		if (field_value == '' || field_value.length < field_size)
		{
			error_message = error_message + "* " + message + "\n";
			error = true;
		}
	}
}

// #############################################################################
// simple function to toggle the 'display' attribute of an object
function toggle_display(idname)
{
	var obj = fetch_object(idname);
	if (obj)
	{
		if (obj.style.display == "none")
		{
			obj.style.display = "";
		}
		else
		{
			obj.style.display = "none";
		}
	}
	return false;
}
// #############################################################################

// #############################################################################
// function to validate number of product in shopping cart form
function setCheckboxes(Form, Obj)
{
	var form      = fetch_object(Form);
	var elms      = (typeof(form.elements[Obj]) != 'undefined') ? form.elements[Obj] : '';
	var elms_cnt  = (typeof(elms.length) != 'undefined') ? elms.length : 0;

	var do_check  = (checkCart) ? false : true;
	checkCart = (checkCart) ? 0 : 1;

	// Se è un array di pr0dotti
	if(elms_cnt)
	{
		for (var i = 0; i < elms_cnt; i++)
		{
			elms[i].checked = do_check;
		} // end for
	}
	// Se è un solo prodotto
	else
	{
		elms.checked = do_check;
	} // end if... else

	fetch_object("selectAllCart").checked = do_check;

	return true;
}
// #############################################################################

// #############################################################################
// function to validate usimCharge form
function validateCharge( theForm )
{
	theForm = fetch_object( theForm );
	var chargePref1     = theForm.elements['ricarica_prefisso'];
	//var chargePref2   = theForm.elements['ricarica_prefisso_ctrl'];
	var chargePhone1    = theForm.elements['ricarica_telefono'];
	//var chargePhone2  = theForm.elements['ricarica_telefono_ctrl'];
	var chargeValue     = theForm.elements['products_id'];
	var chargePagamento = theForm.elements['metododipagamento'];

	var chargeID        = chargeValue.value;
	var chargePrefisso  = chargePref1.value;
	var chargeTelefono  = chargePrefisso + "" + chargePhone1.value;
	var chargePeriodica = chargeTelefono + "::" + chargeID;

	if ( chargePref1.value == '' )
	{
		alert('Prefixo incorrecto');
		chargePref1.focus();
	}
	else if ( !validatePrefisso( chargePref1.value ) )
	{
		alert('Prefixo incorrecto');
		chargePref1.focus();
	}
	else if ( !re_numcell.test(chargePhone1.value) )
	{
		alert('Digite o número de telefone pretendido!');
		chargePhone1.focus();
	}
	//else if ( chargePref1.value != chargePref2.value )
	//{
	//	alert('I prefissi telefonici dei numeri di telefono non coincidono!');
	//	chargePref2.focus();
	//}
	//else if ( chargePhone1.value != chargePhone2.value )
	//{
	//	alert('I numeri di telefono non coincidono!');
	//	chargePhone2.focus();
	//}
	else if( chargePagamento.value == '' )
	{
		alert('Selecione o método de pagamento');
		chargePagamento.focus();
	}
	else if ( chargeValue.selectedIndex <= 0 )
	{
		alert('Selecione um valor na lista');
		chargeValue.focus();
	}
	else if ( checkPeriodica( chargePeriodica ) )
	{
		alert('Atenção! Você já tem um regular cobrança do mesmo valor a este número de telefone!A\n Modificare il contenuto del vostro carrello se volete procedere ad una ricarica singola!');
		chargeValue.focus();
	}
	else
	{
		document.cookie = chargePref1.value + chargePhone1.value
		theForm.submit();
	}
	return false;
}

//***********
// function to validate usimCharge form
function validateChargeLog( theForm )
{
	theForm = fetch_object( theForm );
	var chargeNumber    = theForm.elements['ricarica_rubrica'];
	var chargePref1     = theForm.elements['ricarica_prefisso'];
	var chargePhone1    = theForm.elements['ricarica_telefono'];
	var chargePagamento = theForm.elements['metododipagamento'];
	var chargeValue     = theForm.elements['products_id'];

	var chargeID        = chargeValue.value;
	var chargePrefisso  = chargePref1.value;
	var chargeTelefono  = chargePrefisso + "" + chargePhone1.value;
	var chargePeriodica = chargeTelefono + "::" + chargeID;
	var chargeNum       = chargeNumber.options[chargeNumber.selectedIndex].value;

	if( chargePrefisso || chargePhone1.value )
	{
		if ( !validatePrefisso(chargePrefisso) )
		{
			alert('Prefixo incorrecto');
			chargePref1.focus();
		}
		else if ( !re_numcell.test(chargePhone1.value) )
		{
			alert('Digite o número de telefone pretendido!');
			chargePhone1.focus();
		}
		else if( chargePagamento.value == '' )
		{
			alert('Selecione o método de pagamento');
			chargePagamento.focus();
		}
		else if( chargeValue.selectedIndex <= 0 )
		{
			alert('Selecione um valor na lista');
			chargeValue.focus();
		}
		else
		{
			document.cookie = chargeNumber.value
			theForm.submit();
		}
	}
	else
	{
		if( chargeNumber.selectedIndex <= 0 )
		{
			alert('Selecione um número do telefone');
			chargeNumber.focus();
		}
		else if( chargePagamento.value == '' )
		{
			alert('Selecione o método de pagamento');
			chargePagamento.focus();
		}
		else if( chargeValue.selectedIndex <= 0 )
		{
			alert('Selecione um valor na lista');
			chargeValue.focus();
		}

		else
		{
			document.cookie = chargeNumber.value
			theForm.submit();
		}
	}

	return false;
}
//***********

function checkPeriodica( value )
{
	var error_periodiche = 0;
	for (var i = 0; i < ctrl_periodiche.length; i++)
	{
		if(	ctrl_periodiche[i] == value)
			error_periodiche++;
	}

	if (error_periodiche)
		return true;

	return false;
}
// #############################################################################

// #############################################################################
// function to validate shopping Cart form
function validateCart(Form)
{
	// Controllo i numeri di telefono
	if (!validateTel(Form, 'cart_numTel[]'))
	{
		return false;
	}
	// Controllo la quantita dei prodotti
	if (!validateQuantity(Form, 'cart_quantity[]'))
	{
		return false;
	}
	return true;
}
// #############################################################################

// #############################################################################
// function to validate telephone number array in shopping Cart form
function validateTel(Form, Obj)
{
	var prefisso, telefono;

	var form      = fetch_object(Form);
	var elms      = (typeof(form.elements[Obj]) != 'undefined') ? form.elements[Obj] : '';
	var elms_cnt  = (typeof(elms.length) != 'undefined') ? elms.length : 0;

	// Se un array di prodotti
	if (elms_cnt)
	{
		for (var i = 0; i < elms_cnt; i++)
		{
			if (elms[i].type == 'text')
			{
				prefisso = elms[i].value.substr(0, 3);
				telefono = elms[i].value.substring(3);

				if ( !re_mobile.test(elms[i].value) )
				{
					alert('O número do telefone celular deve conter no mínimo 9 caracteres');
					elms[i].focus();
					return false;
				}
				if (!validatePrefisso(prefisso))
				{
					alert('Conferir o prefixo');
					elms[i].focus();
					return false;
				}
				if (!re_numcell.test(telefono))
				{
					alert('Digite o número de telefone pretendido! \n(Mínimo de 6 números)');
					elms[i].focus();
					return false;
				}
			}
		} // end for
	// Se un solo prodotto
	} else {
		if (elms.type == 'text')
		{
			prefisso = elms.value.substr(0, 3);
			telefono = elms.value.substring(3);

			if ( !re_mobile.test(elms.value) )
			{
				alert('O número deve conter no mínimo 9 caracteres');
				elms.focus();
				return false;
			}

			if (!validatePrefisso(prefisso))
			{
				alert('Conferir o prefixo');
				elms.focus();
				return false;
			}
			if (!re_numcell.test(telefono))
			{
				alert('Digite o número de telefone pretendido! \n(Mínimo de 6 números))');
				elms.focus();
				return false;
			}
		}
	}
	return true;
}
// #############################################################################

// #############################################################################
// function to validate suffix telephone number
function validatePrefisso(prefisso)
{
//	var errore_prefisso = 0;
//	for (var j = 0; j <= prefissi.length; j++)
//	{
//		if (prefisso == prefissi[j])
//		{
//			errore_prefisso++;
//		}
//	}
//	if (!errore_prefisso)
//	{
//		return false;
//	}
	return true;
}
// #############################################################################

// #############################################################################
// function to validate a mobile phone
function check_mobile(field_name, message_1, message_2, message_3)
{
	var prefisso, telefono;

	if (form.elements[field_name] && (form.elements[field_name].type != "hidden"))
	{
		var field_value = form.elements[field_name].value;
		prefisso = field_value.substr(0, 3);
		telefono = field_value.substring(3);
		if ( !re_mobile.test(field_value) )
		{
			error_message = error_message + "* " + message_1 + "\n";
			error = true;
		}
		else if ( !validatePrefisso(prefisso) )
		{
			error_message = error_message + "* " + message_2 + "\n";
			error = true;
		}
		else if ( !re_numcell.test(telefono) )
		{
			error_message = error_message + "* " + message_3 + "\n";
			error = true;
		}
	}
}
// #############################################################################

// #############################################################################
// function to validate number of product in shopping cart form
function validateQuantity(Form, Obj)
{
	var form      = fetch_object(Form);
	var elms      = (typeof(form.elements[Obj]) != 'undefined') ? form.elements[Obj] : '';
	var elms_cnt  = (typeof(elms.length) != 'undefined') ? elms.length : 0;

	// Se un array di prodotti
	if (elms_cnt)
	{
		for (var i = 0; i < elms_cnt; i++)
		{
			if (elms[i].type == 'text')
			{
				if (!re_quantity.test(elms[i].value) || elms[i].value < "1")
				{
					alert('Verifique o montante incluído, como deve ser um inteiro positivo!');
					elms[i].focus();
					return false;
				}
			}
		} // end for
	// Se un solo prodotto
	} else {
		if (!re_quantity.test(elms.value) || elms.value < "1")
		{
			alert('Verifique o montante incluído, como deve ser um inteiro positivo');
			elms.focus();
			return false;
		}
	}
	return true;
}
// #############################################################################

// #############################################################################
// function to get the osCommerce cookie
function get_cookie(Name)
{
	var search = Name + "="
	var returnvalue = "";
	if (document.cookie.length > 0)
	{
		offset = document.cookie.indexOf(search)
		// if cookie exists
		if (offset != -1)
		{
			offset += search.length
			// set index of beginning of value
			end = document.cookie.indexOf(";", offset);
			// set index of end of cookie value
			if (end == -1) end = document.cookie.length;
				returnvalue=unescape(document.cookie.substring(offset, end))
		}
	}
	return returnvalue;
}
// #############################################################################

// #############################################################################
// function to preload a rollover images
function MM_preloadImages()
{ //v3.0
	var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
	var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
	if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
// #############################################################################

// #############################################################################
// function to fswap a rollover image
function MM_swapImage()
{ //v3.0
	var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
	if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
// #############################################################################

// #############################################################################
// function to restore a rollover images
function MM_swapImgRestore()
{ //v3.0
	var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
// #############################################################################

// #############################################################################
// function to find a obj in HTML document
function MM_findObj(n, d)
{ //v4.01
	var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length)
{
	d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
	if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
	for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
	if(!x && d.getElementById) x=d.getElementById(n); return x;
}
// #############################################################################

// #############################################################################
// function to add2favorite
function bookmark()
{
	var bookmarkurl   = "https://www.shop3.it/catalog/";
	var bookmarktitle = "Shop3.it - Il primo E-shop totalmente dedicato agli utenti Tre.!";
	if (document.all)
	{
		window.external.AddFavorite(bookmarkurl,bookmarktitle)
	}
}
// #############################################################################

function MM_validateFormlogin( theForm )
{
  if( theForm.email_address.value == "" )
  {
    alert( 'Digite um endereço de e-mail válido' );
    theForm.email_address.focus();
    return false;
  }
  else if( theForm.password.value == "" )
  {
    alert( 'Digite a senha' );
    theForm.password.focus();
    return false;
  }
  return true;
}




function controlla_ricarica_form_loggato(form_name) {

	var error = '';
	
	var chargeNumber    = form_name.elements['ricarica_rubrica'];
	var chargePref1     = form_name.elements['ricarica_prefisso'];
	var chargePhone1    = form_name.elements['ricarica_telefono'];
	var chargePrefisso  = chargePref1.value;
	var chargeTelefono  = chargePrefisso + "" + chargePhone1.value;
	
	if( chargePrefisso || chargePhone1.value ) {
	
		for(x=0;x<form_name.elements.length;x++) {			
			if(form_name.elements[x].id == 'prefix_check')	error += check_prefix(form_name.elements[x].value, '- Conferir o prefixo \n');
			if(form_name.elements[x].id == 'mobile_check')	error += check_mobile_number(form_name.elements[x].value);
			if(form_name.elements[x].id == '_op')	        error += check_select2(form_name.elements[x].value, '- Selecione operadora \n');
			if(form_name.elements[x].id == 'chargeValue')	error += check_select2(form_name.elements[x].value, '- Selecione o valor \n');
		}

	} else {

		if( chargeNumber.selectedIndex <= 0 )
		{
			alert('Selecione um número do telefone');
			chargeNumber.focus();
			return false;
			
		}else if( chargeValue.selectedIndex <= 0 ){
			
			alert('Selecione um valor na lista');
			chargeValue.focus();
			return false;
			
		}
		
	}

	if(error != '') {
		alert(error);
		return false;
	}

}



function controlla_ricarica_form(form_name) {

	var error = '';
	 
	for(x=0;x<form_name.elements.length;x++) {			
		if(form_name.elements[x].id == 'prefix_check')	error += check_prefix(form_name.elements[x].value, '- Conferir o prefixo \n');
		if(form_name.elements[x].id == 'mobile_check')	error += check_mobile_number(form_name.elements[x].value);
		if(form_name.elements[x].id == 'chargeValue')	error += check_select2(form_name.elements[x].value, '- Selecione o valor \n');
	}

	 

	if(error != '') {
		alert(error);
		return false;
	}

}


// ################################### FUNZIONI CHECK FORM ALBERTO ###########################################
function controlla_form(form_name) {

	var error = '';

	for(x=0;x<form_name.elements.length;x++) {

		if(form_name.elements[x].id == 'testo_check')	error += check_text(form_name.elements[x].value, 2, 'O nome do campo deve conter pelo menos 2 caracteres\n');
		if(form_name.elements[x].id == 'prefix_check')	error += check_prefix(form_name.elements[x].value, '- Conferir o prefixo \n');
		if(form_name.elements[x].id == 'mobile_check')	error += check_mobile_number(form_name.elements[x].value);
		if(form_name.elements[x].id == 'mail_check')	error += check_mail(form_name.elements[x].value, '- Endereço de e-mail incorrecto \n');
		if(form_name.elements[x].id == 'select_check')	error += check_select2(form_name.elements[x].value, '- Selecione o valor \n');
		if(form_name.elements[x].id == 'code_sayall')	error += check_sayall(form_name.elements[x].value, '- Formato codice non valido \n');
		if(form_name.elements[x].id == 'usim_check')	error += check_usim(form_name.elements[x].value, '- Campo Usim non valido \n');

	}

	if(error != '') {
		alert(error);
		return false;
	}

}

function check_text(testo_check, max_size, msg_error) {
	if(testo_check.length < max_size) {
		return msg_error;
	}
	return '';
}

function check_prefix(prefix_check, msg_error) {
	if(prefix_check == 0) 
	{
		return '- Conferir o prefixo \n';
	}
	else
	{
		var numericExpression = /^[0-9]+$/;
		if(prefix_check.match(numericExpression))
		{
			if(prefix_check.length < 2) 
			{
				return '- Número incorrecto \n';
			}
			else
				return '';
		}
		else
			return '- Somente números \n';
	}
	
	return '';
}

function check_mobile_number(mobile_check) {
	var numericExpression = /^[0-9]+$/;
	if(mobile_check.match(numericExpression)) {
		if(mobile_check.length < 8) {
			return '- Número incorrecto \n';
		}
	}
	else {
		if(mobile_check.length < 1)
			return '- Número incorrecto \n';
		else
			return '- Somente números \n';
	}
	return '';
}

function isAlphabet(elem, msg_error) {
	var alphaExp = /^[a-zA-Z]+$/;
	if(elem.value.match(alphaExp)) {
		return '';
	}else {
		return msg_error;
	}
}

function check_mail(mail_check, msg_error) {
	var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
	if(mail_check.match(emailExp)) {
		return '';
	}else {
		return msg_error;
	}
}

function check_select2(select_check, msg_error) {
	if(select_check == '') {
		return msg_error;
	}
	return '';
}

function check_sayall(code_sayall, msg_error) {
	var codeExp = /^[0-9]{3}-[0-9]{3}[A-Z]{3}$/;
	if(code_sayall.match(codeExp)) {
		return '';
	}else {
		return msg_error;
	}
}

function check_usim(code_usim, msg_error) {
	var numericExpression = /^[0-9a-zA-Z]{19,20}$/;
	if(code_usim.match(numericExpression) && code_usim.length <= 20 && code_usim.length >= 19) {
		return '';
	}
	else {
		return msg_error;
	}
}


// ################################### END FUNZIONI CHECK FORM ALBERTO #######################################


// ################################### FUNZIONI EFFETTI GRAFICI ALBERTO #######################################
var selected;
var percorso = "https://www.shoptre.it/shop3/images/";


function selectObjectEffect( object, buttonSelect, Cvalue, Pid, Color ) 
{
	var m = document.getElementsByName( "btn_charge" );
	for( i = 0 ; i < m.length; i++ ) 
	{
		m[i].src = percorso + "chargefree/btn_seleziona_off.gif";
	}
	
	var m = document.getElementsByName( "head_charge" );
	for( i = 0 ; i < m.length; i++ ) 
	{
		m[i].src = percorso + "chargefree/" + m[i].id + ".png";
	}
	
	var m = document.getElementsByName( "tbl_ric" );
	for( i = 0 ; i < m.length; i++ ) 
	{
		//m[i].src = "images/chargefree/" + m[i].id + ".png";
		if( m[i] != object )
			m[i].style.background = '#FFFFFF';
	}
	
	if( object != selected )
	{
		img1 = document.getElementById( Cvalue );
		img1.src = percorso + "chargefree/btn_seleziona_on.gif";
	
		img2 = document.getElementById( 'head_ric_' + Cvalue );
		img2.src = percorso + "chargefree/head_ric_" + Cvalue + "_on.png";
	
		document.form_ricariche.products_id.value = Pid;
	
		if( !selected ) 
		{
			if( document.getElementById ) 
			{
				selected = document.getElementById( 'defaultSelected' );
			} 
			else 
			{
				selected = document.all['defaultSelected'];
			}
		}
	
		if( selected ) 
			object.style.background = Color
			
		selected = object;
	}
	else
	{
		object.style.background = '#FFFFFF';
		document.form_ricariche.products_id.value = '';
		selected = '';
	}
	

		
}

function objectOverEffect( object, Cvalue, Color )
{
	if( object != selected )
	{
		object.style.background = Color;
		
		img1 = document.getElementById( Cvalue );
		img1.src = percorso + "chargefree/btn_seleziona_on.gif";
	
		img2 = document.getElementById( 'head_ric_' + Cvalue );
		img2.src = percorso + "chargefree/head_ric_" + Cvalue + "_on.png";
	}
	else
	{
		img1 = document.getElementById( Cvalue );
		img1.src = percorso + "chargefree/btn_seleziona_off.gif";
	}
}

function objectOutEffect( object, Cvalue, Color )
{
	if( object != selected )
	{
		object.style.background = Color;
		
		img1 = document.getElementById( Cvalue );
		img1.src = percorso + "chargefree/btn_seleziona_off.gif";
	
		img2 = document.getElementById( 'head_ric_' + Cvalue );
		img2.src = percorso + "chargefree/head_ric_" + Cvalue + ".png";	
	}
	else
	{
		img1 = document.getElementById( Cvalue );
		img1.src = percorso + "chargefree/btn_seleziona_on.gif";
	}
}

function checkChargeForm( object ) 
{
	var status = true;
	var msg = '';

	if( object.products_id.value == 0 || object.products_id.value == '' )
	{
		msg += 'Selecione o corte tarifação!';
		status = true;
	}
	
	return true;
}

// ################################### END FUNZIONI EFFETTI GRAFICI ALBERTO #######################################


