/*util*/
// var bullet="<img src='/images/bulletbg_check.gif' width='13'>";
var d=document;
var sub_f_go=true;
var md5_ar=false;
var email_primaria="";
var arrow="<span style='font-size:15px;color:red;'>&#9668;</span> ";
var up_arrow="<span style='font-size:20px;color:red;line-height:15px;'>&#9650;</span> ";
Array.prototype.inArray = function(valeur) {
	if(md5_ar) valeur=md5(valeur);
  for (var i in this) { if (this[i] === valeur) return i; }
  return false;
}
function round ( val, precision )
{
    var precision = (round.arguments.length > 1) ? round.arguments[1] : 0;
    return Math.round(val * Math.pow(10, precision))/Math.pow(10, precision);
}
function clear_er(id)
{
	document.getElementById(id).innerHTML="";
}
function clear_input(id)
{
	v=id.toUpperCase();
	document.getElementById(v).className="input_field";
	v=id.toLowerCase()+"_error";
	document.getElementById(v).innerHTML="";
}
function trim2(str)
{
		return str.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
}      
String.prototype.trim = function()
{
	return this.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
}
function empty( mixed_var )
{
	return ( mixed_var === "" || mixed_var === 0   || mixed_var === "0" || mixed_var === null  || mixed_var === false  ||  mixed_var === undefined || mixed_var.length === 0  );
}
function OpenPopup(url,h,w,myname)
{
  var scroll = 'yes';
  var resizable = 'yes';
	winprops = ' left=250, top=0, height='+h+',width='+w+',scrollbars='+scroll+',resizable='+resizable;
	mywin=window.open(url,myname,winprops);
	mywin.focus();
}
function on_off_div(el)
{
	a=d.getElementById(el).style;
	if(a.display!="block") a.display="block";
	else a.display="none";
}
function off_div(el)
{
	a=d.getElementById(el).style;
	a.display="none";
}
function set_email_primaria(val)
{
	email_primaria=val;
}
function substr_count( haystack, needle, offset, length )
{
    var pos = 0, cnt = 0;
    if(isNaN(offset)) offset = 0;
    if(isNaN(length)) length = 0;
    offset--;
    while( (offset = haystack.indexOf(needle, offset+1)) != -1 ){
        if(length > 0 && (offset+needle.length) > length){            return false;
        } else{            cnt++;        }
    }
    return cnt;
}
function md5(str){}
function utf8_encode ( string ) {}

function check_field(nameForm,field,obb)
{
	switch(field)
  {
//social net
	case "EMAIL":
 		if (ControlloEmailCustom(d[nameForm][field].value.trim()))
                {
		// d.getElementById("email_error").innerHTML = bullet;
		d[nameForm][field].className = "input_field";
	        }
	else 
		d[nameForm][field].className = "input_field_red";
	  break;    
	case "EMAILSECONDARIA":
 		if (action_check_emailSecondaria()) {
			if (d[nameForm][field].value.trim() != "")
                        {
	  		on_off_div('emailsecondaria_help2');
	  		// d.getElementById("emailsecondaria_error").innerHTML = bullet;
	  	        }
			d[nameForm][field].className = "input_field";
		}
    break;    
	case "PASSWORD":
		if (ControlloPassword(d[nameForm][field].value.trim(),'password_error'))
                {
		// d.getElementById("password_error").innerHTML = bullet;
		d[nameForm][field].className = "input_field";
	        }
	else 
		d[nameForm][field].className = "input_field_red";
	  break;    
	case "CONFIRMPASSWORD":
		if (ControlloConfermaPassword(d[nameForm][field].value.trim(), d[nameForm]['PASSWORD'].value.trim(),'confirmpassword_error'))
                {
		// d.getElementById("confirmpassword_error").innerHTML = bullet;
		d[nameForm][field].className = "input_field";
	        }
	else 
		d[nameForm][field].className = "input_field_red";
	  break;    
	case "NEWPASSWORD":
		if (ControlloPassword(d[nameForm][field].value.trim(),'newpassword_error'))
                {
		// d.getElementById("newpassword_error").innerHTML = bullet;
		d[nameForm][field].className = "input_field";
	        }
	else 
		d[nameForm][field].className = "input_field_red";
	  break;    
	case "CONFIRM_NEWPASSWORD":
		if (ControlloConfermaPassword(d[nameForm][field].value.trim(), d[nameForm]['NEWPASSWORD'].value.trim(),'confirm_newpassword_error'))
                {
		// d.getElementById("confirm_newpassword_error").innerHTML = bullet;
		d[nameForm][field].className = "input_field";
	        }
	else 
		d[nameForm][field].className = "input_field_red";
	  break;    
	case "YEARBIRTH":
		if(ControlloDatanascita(d[nameForm]['DAYBIRTH'].value.trim(),d[nameForm]['MONTHBIRTH'].value.trim(),d[nameForm]['YEARBIRTH'].value.trim()))
                {
		//	d.getElementById("dateofbirth_error").innerHTML=bullet;
			d[nameForm]['DAYBIRTH'].className = "form-select";
			d[nameForm]['MONTHBIRTH'].className = "form-select";
			d[nameForm]['YEARBIRTH'].className = "form-select";
		}
                else
                {
			d[nameForm]['DAYBIRTH'].className = "form-select_red";
			d[nameForm]['MONTHBIRTH'].className = "form-select_red";
			d[nameForm]['YEARBIRTH'].className = "form-select_red";
		}
	  break;    
	case "PROVINCE":
		if(d[nameForm][field].value.trim()!="")
                {
			// d.getElementById("province_error").innerHTML=bullet;
			d[nameForm][field].className = "form-select";
		}
                else
                {
			d.getElementById("province_error").innerHTML= arrow+"Campo obbligatorio";
			d[nameForm][field].className = "form-select_red";
		}
	  break;    
	case "CHECKSTR":
		if(d[nameForm][field].value.trim()!="")
                {
			d[nameForm][field].className = "input_field";
                }
		else{
			d.getElementById("checkstr_error").innerHTML= arrow+"Campo obbligatorio";
			d[nameForm][field].className = "input_field_red";
		}
	  break;    
	case "NOME":
		if(ControlloNome(d[nameForm][field].value.trim()))
                {
			// d.getElementById("nome_error").innerHTML=bullet;
			d[nameForm][field].className = "input_field";
		}
                else
			d[nameForm][field].className = "input_field_red";
	  break;    
	case "COGNOME":
		if(ControlloCognome(d[nameForm][field].value.trim()))
                {
		//	d.getElementById("cognome_error").innerHTML=bullet;
			d[nameForm][field].className = "input_field";
		}
                else
			d[nameForm][field].className = "input_field_red";
	  break;    

//recuperopassword e password
	case "OLDPASSWORD":
		if (d[nameForm][field].value.trim() != "") {
			d.getElementById("oldpassword_error").innerHTML='';
			d[nameForm][field].className = "input_field";
		}
		else {
			d.getElementById("oldpassword_error").innerHTML = arrow + "Campo obbligatorio";
			d[nameForm][field].className = "input_field_red";
		}
	  break;    

//  http://registrazione.libero.it/
	case "CEL_PHONE":
		if (ControlloCellulare(d[nameForm][field].value.trim(), false))
                {
		//	if (d[nameForm][field].value.trim() != "") d.getElementById("cel_phone_error").innerHTML = bullet;
			d[nameForm][field].className = "input_field";
		}
		else 
			d[nameForm][field].className = "input_field_red";
	  break;    
	case "USERNAME":
		if(ControlloUsername(d[nameForm][field].value.trim()))
                {
		//	d.getElementById("username_error").innerHTML=bullet;
			d[nameForm][field].className = "input_field2";
	        }
                else
			d[nameForm][field].className = "input_field2_red";
	  break;    
	case "DOMANDASEGRETA":
		if (ControlloFrasesegreta(d[nameForm][field].value.trim(), obb , 'domandasegreta_error'))
                {
                   if (d[nameForm][field].value.trim() != '')
                   {
		  //	d.getElementById("domandasegreta_error").innerHTML = bullet;
		  	d[nameForm][field].className = 'input_field';
		  }
		}
		else
                {
	 		d[nameForm][field].className = 'input_field_red';
		}
	  break;    
	case "RISPOSTASEGRETA":
		if ( ControlloFrasesegreta( d[nameForm][field].value.trim(), obb , 'rispostasegreta_error' ) )
                {
	           if (d[nameForm][field].value.trim() != '')
                   {
		  	// d.getElementById("rispostasegreta_error").innerHTML = bullet;
		  	d[nameForm][field].className = 'input_field';
		   }
		}
		else
    {
	 		d[nameForm][field].className = 'input_field_red';
		}
    
	  break;    

	case "RAGIONESOCIALE":
		if (ControlloRagionesociale(d[nameForm][field].value.trim(), false))
                {
	           // if(d[nameForm][field].value.trim()!="")  d.getElementById("ragionesociale_error").innerHTML = bullet;
		   d[nameForm][field].className = 'input_field';
		}
		else 
                   d[nameForm][field].className = 'input_field_red';
	  break;    

	case "INDIRIZZO":
		if(ControlloAddress(d[nameForm][field].value.trim(),false,"indirizzo_error"))
                {
                   // if(d[nameForm][field].value.trim()!="") d.getElementById("indirizzo_error").innerHTML=bullet;
		   d[nameForm][field].className = 'input_field';
		}
                else 
                   d[nameForm][field].className = 'input_field_red';
	  break;    
	case "AZ_INDIRIZZO":
		if (ControlloAddress(d[nameForm][field].value.trim(), false, "az_indirizzo_error"))
                {
                   // if(d[nameForm][field].value.trim()!="") d.getElementById("az_indirizzo_error").innerHTML = bullet;
		   d[nameForm][field].className = 'input_field';
		}
                else 
		   d[nameForm][field].className = 'input_field_red';
	  break;    

	case "COMUNE":
		if (ControlloComune(d[nameForm][field].value.trim(), true, 'comune_error'))
                {
	           // d.getElementById("comune_error").innerHTML = bullet;
                   d[nameForm][field].className = "input_field";
		}
		else 
		   d[nameForm][field].className = "input_field_red";
	  break;    
	case "COMUNENASCITA":
		if(ControlloComune(d[nameForm][field].value.trim(),false,'comunenascita_error'))
                {
	           // if(d[nameForm][field].value.trim()!="") d.getElementById("comunenascita_error").innerHTML=bullet;
		   d[nameForm][field].className = "input_field";
		}
                else 
		   d[nameForm][field].className = "input_field_red";
	  break;    
	case "AZ_COMUNE":
		if(ControlloComune(d[nameForm][field].value.trim(),false,'az_comune_error'))
                {
                   // if(d[nameForm][field].value.trim()!="") d.getElementById("az_comune_error").innerHTML=bullet;
		   d[nameForm][field].className = "input_field";
		}
                else 
	           d[nameForm][field].className = "input_field_red";
	  break;    

	case "CAP":
		if(ControlloCap(d[nameForm][field].value.trim(),false,"cap_error"))
                {
                   //  if(d[nameForm][field].value.trim()!="") d.getElementById("cap_error").innerHTML=bullet;
		   d[nameForm][field].className = "input_field";
		}
                else 
                   d[nameForm][field].className = "input_field_red";
	  break;    
	case "AZ_CAP":
		if (ControlloCap(d[nameForm][field].value.trim(),false,"az_cap_error"))
                {
                   // if(d[nameForm][field].value.trim()!="") d.getElementById("az_cap_error").innerHTML=bullet;
		   d[nameForm][field].className = "input_field";
		}
                else 
		   d[nameForm][field].className = "input_field_red";
	  break;    

	case "PHONE":
		if(ControlloTelefono(d[nameForm][field].value.trim(),false,"phone_error"))
                {
                   // if(d[nameForm][field].value.trim()!="") d.getElementById("phone_error").innerHTML=bullet;
		   d[nameForm][field].className = "input_field";
		}
                else 
		   d[nameForm][field].className = "input_field_red";
	  break;    
	case "AZ_PHONE":
		if (ControlloTelefono(d[nameForm][field].value.trim(),false,"az_phone_error"))
                {
                   // if(d[nameForm][field].value.trim()!="") d.getElementById("az_phone_error").innerHTML=bullet;
		   d[nameForm][field].className = "input_field";
		}
                else 
	           d[nameForm][field].className = "input_field_red";
	  break;    

	case "CODICEFISCALE":
		if (ControlloCodicefiscale(d[nameForm][field].value.trim(),false,"codicefiscale_error"))
                {
                   // if(d[nameForm][field].value.trim()!="") d.getElementById("codicefiscale_error").innerHTML=bullet;
		   d[nameForm][field].className = "input_field";
		}
                else 
                  d[nameForm][field].className = "input_field_red";
	  break;    
	case "LIBEROID":
		if(ControlloLiberoID(d[nameForm][field].value.trim()))
                {
                   // d.getElementById("liberoid_error").innerHTML=bullet;
		   d[nameForm][field].className = "input_field";
		}
                else 
                   d[nameForm][field].className = "input_field_red";
	  break;    

	default:
	}
}

function assegnaXMLHttpRequest()
{
  var  XHR = null;
  browserUtente = navigator.userAgent.toUpperCase();
  if ( typeof(XMLHttpRequest) === "function" || typeof(XMLHttpRequest) === "object" ) 
      XHR = new XMLHttpRequest();
  else if ( window.ActiveXObject && browserUtente.indexOf("MSIE 4") < 0 )
  {
     if ( browserUtente.indexOf("MSIE 5") < 0)
        XHR = new ActiveXObject("Msxml2.XMLHTTP");
     else
        XHR = new ActiveXObject("Microsoft.XMLHTTP");
  }
 return XHR;
}


function ajax_call( ajax, method, action, params, handle_result )
{
  method = method.toLowerCase();

  if ( method != 'post' && method != 'get' )
     method = 'post';

  if ( method == 'post' )
     ajax.open ( 'post', action, true );
  else
     ajax.open ( 'get', action + "?" + params, true );

  if ( method == 'post' )
  {
     ajax.setRequestHeader ( 'content-type', "application/x-www-form-urlencoded" );
  }

  ajax.onreadystatechange = function()
  {
    // verifica stato
    if (ajax.readyState === 4)
    {
      // verifica risposta da parte del server
      if (ajax.status == 200)
      {
        // operazione avvenuta con successo
          var resp = ajax.responseText;
          handle_result('OK', resp);
      }
      else
      {
        // errore caricamento
        handle_result('KO', '');
      }
    }
  }
  
/*
  ajax.timeout = 12000;  // 12 secondi

  ajax.ontimeout = function(){ ajax.onreadystatechange= function(){return;}; ajax.abort(); handle_result('KO', '') }; 
*/

  ajax.send(params);
}


function new_ajax_call( ajax, method, action, params, handle_result )
{
  method = method.toLowerCase();

  if ( method != 'post' && method != 'get' )
     method = 'post';

  ajax.onreadystatechange = processReqChange;

  if ( method == 'post' )
     ajax.open ( 'post', action, true );
  else
     ajax.open ( 'get', action + '?' + params, true );

  if ( method == 'post' )
  {
     ajax.setRequestHeader ( 'content-type', "application/x-www-form-urlencoded" );
  }

/* Il seguente tipo di timeout non funziona su Firefox */

  ajax.timeout = 10000; 

  ajax.ontimeout = function()
                   {
                     ajax.onreadystatechange = function(){return;};
                     ajax.abort();
                     handle_result('KO', 'TIMEOUT');
                   };

  // timer = setTimeout(processTimeout,5000);

  ajax.send(params);

  // ajax.onreadystatechange = function()
  function processReqChange()
  {
    // verifica stato
    if (ajax.readyState === 4)
    {
      // verifica risposta da parte del server
      if (ajax.status == 200)
      {
        // operazione avvenuta con successo
          var resp = ajax.responseText;
          handle_result('OK', resp);
      }
      else
      {
        // errore caricamento
        handle_result('KO', '');
      }
    }
  }

/*
  function processTimeout()
  {
     // GESTIONE TIMEOUT
     ajax.onreadystatechange = function(){return;};
     ajax.abort();
     handle_result('KO', 'TIMEOUT')
  }
*/

}


