function validRequired2(formfield,fieldlabel)
{
	var result = true;
	//alert(formfield.name+": "+formfield.value+" - "+fieldlabel);
	var n=formfield.value.length;
	spazio= new String(" ");
	spazio2=new String(" ");
	var i=0;
	for(i=0;i<n-1;i++)
	spazio=spazio+spazio2;
	if (formfield.value == spazio||formfield.value =="")
	{
		alert('Per favore riempite questo campo: "' + fieldlabel +'"');
		formfield.focus();
		result = false;
	}
	return result;
}

/*function validRadio(formfield)
{
	var result = true;
	var inter = false;
		for (i=0;i<3;i++)
			{
				if (formfield[i].checked == true)
				{ inter=true; }
				}
		if (inter ==false)
		{
		alert('Non è stata indicata la forma di pagamento scelta');
		result = false;
		}
	return result;
}*/

function validScelta(formfield,fieldlabel)
{
	var result = true;
	//if (formfield.value != "ok")
	if (formfield.checked == false){
		alert('Validation: "' + fieldlabel +'" requested');
		formfield.focus();
		result = false;
	}
	return result;
}

function inValidCharSet(str,charset){
	for (var i=0;i<str.length;i++){
		if (charset.indexOf(str.substr(i,1))<0)	{
			return false;
			break;
		}
	}
	return true;
}

function allFulls(str) //stringa che non permette spazi vuoti
{
return inValidCharSet(str,"qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNMèéòàù0123456789-_@.");
}

function allFullsNome(str) //stringa che non permette spazi vuoti
{
return inValidCharSet(str,"qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNMèéòàù0123456789");
}

function validEmail(formfield,fieldlabel,required)
{
	var result = true;
	if (result && ((formfield.value.length < 3) || !isEmailAddr(formfield.value) || !allFulls(formfield.value))){
	//if (result && ((formfield.value.length < 3) || !isEmailAddr(formfield.value))){
		alert("Formato email: yourname@domain.ext");
		formfield.focus();
		result = false;
	}
   return result;
}


function isEmailAddr(email){//controlla il formato indirizzo email
  var result = false;
  var theStr = new String(email);
  var index = theStr.indexOf("@");
  if (index > 0 ) {
    var pindex = theStr.indexOf(".",index);
    if ((pindex > index+1) && (theStr.length > pindex+1))
	result = true;
  }
  return result;
}

function checkExt(formfield,fieldlabel){
   	var result = true; 
    var filename = document.moduloutenti.foto.value;
    var filelength = parseInt(filename.length) - 3;
    var fileext = filename.substring(filelength,filelength + 3);
    // Check file extenstion
    if (fileext != "gif" && fileext != "jpg" && fileext != "png"){
      alert(fieldlabel +': Solo immagini di tipo gif, jpg o png.');
      result = false;
    }
   return result;   
}



/**/
var myRequest = null;
function CreateXmlHttpReqF(handler) {
  var xmlhttp = null;
  try {
    xmlhttp = new XMLHttpRequest();
  } catch(e) {
    try {
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch(e) {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
  xmlhttp.onreadystatechange = handler;
  return xmlhttp;
}

function myHandlerF() {
// 0=Non Inizializzato 1=In caricamento 2=Caricato 3=Interattivo
  if (myRequest.readyState == 4 && myRequest.status == 200) {
	  return myRequest.responseText;
	}
}

function  campocheck(nome,valore){
	strRes = 0;
	myRequest = CreateXmlHttpReqF(myHandlerF);
	//alert(nome+"-"+valore);
 	myRequest.open("GET","trova.php?trova=club&campoc="+escape(nome)+"&valorec="+escape(valore),false);
	//alert( "trova.php?trova=club&campoc="+escape(nome)+"&valorec="+escape(valore) );
  myRequest.send(null);
	if(myRequest.responseText != 0){
		strRes = myRequest.responseText;
	}
	return strRes;
}
/**/

//funzioni dei controlli campi (una per ogni modulo presente nel sito)

function fastcheck(nome, valore){
	//alert(nome+" - "+valore);
	cacchio=allFullsNome(valore);
	if(!cacchio){
		alert('Prego usare uso caratteri ALFANUMERICI: "a-z" "A-z" "0-9"');
	}
	if (campocheck(nome, valore)!=0){
	dnick = valore.toUpperCase();
	alert(dnick+":\nNon Disponibile!\nNon è possibile usare più volte lo/a stesso/a "+nome);
	eval("document.moduloutenti."+nome+".value=''");
	}
}

function validateIscr(theForm)
{
	if (document.moduloutenti.checkgen.checked==false){
		alert('Accettazione: "Condizioni generali" richiesta');
   		return false;
  	}
	else if (document.moduloutenti.checkgen2.checked==false){
		alert('Accettazione: "trattamento dei dati personali" richiesta');
   		return false;
  	}
	if (!validRequired2(document.moduloutenti.nazione,"nazione")){
		return false;
	}
	if (!validRequired2(document.moduloutenti.regione,"regione")){
		return false;
	}
if (!validRequired2(document.moduloutenti.provincia,"provincia")){
		return false;
	}	/*else if (document.moduloutenti.checkgen3.checked==false){
		alert('Accettazione: "trattamento dei dati personali" richiesta');
   		return false;
  	}	*/
	//theForm=eval("document."+theForm);
	/**/
	if (!validRequired2(document.moduloutenti.login,"login")){
		return false;
	}
	else{
		if (campocheck("login",document.moduloutenti.login.value)!=0){
			cacchio=allFullsNome(document.moduloutenti.login.value);
			if(!cacchio){
				alert('Prego usare uso caratteri ALFANUMERICI: "a-z", "A-z", "0-9"');
			}
			dnick = document.moduloutenti.login.value.toUpperCase();
			alert(dnick+":\nNon Disponibile!\nNon è possibile usare più volte lo stesso login");
			return false;
		}
	}
	
	if (!validRequired2(document.moduloutenti.email,"email")){
		return false;
	}
	else if (!validEmail(document.moduloutenti.email,"email",true)){
		return false;
	}
	else{
		if (campocheck("email",document.moduloutenti.email.value)!=0){
			dmail =document.moduloutenti.email.value.toUpperCase();
			alert(dnick+":\nNon Disponibile!\nNon è possibile usare più volte lo stesso indirizzo email");
			return false;
		}
	}
	if (campocheck("login",document.moduloutenti.login.value)!=0){
		if (!checkExt(document.moduloutenti.foto,"foto")){
			return false;
		}
	}	

	if (!validRequired2(document.moduloutenti.nome,"cognome")){
		return false;
	}
	else if (!validRequired2(document.moduloutenti.nome,"nome")){                                          
		return false;
	}
	else if ( (document.moduloutenti.settori.selectedIndex==0) || (document.moduloutenti.settori.selectedIndex=="---") ){
		alert("Campo 'Professione' richiesto");
		return false;
	}
	else{ 
		alert('Tutti i campi sono stati compilati:\n inizio registrazione...');
		return true;
	}
}

/*function vcampo(campo){
	var emailFilter=/^.+@.+\..{2,3}$/;
	var chkfield = document.getElementById(campo);
 	if (chkfield.name=="email"){
		if (!emailFilter.test(chkfield.value)){
			alert('Attenzione: campo '+campo+' non valido.');
			return false;
		}
	}
	else if (chkfield.value==""){
		alert('Attenzione: campo '+campo+' vuoto.');
		return false;
	}
}*/
//MINCHIATA PER CAPITALIZZARE SOLO LA PRIMA LETTERE CON JAVASCRIPT MANCA LA FUNZIONE.... CHE DOVEVO FARE?
function stCap(strObj){
	return(strObj.charAt(0).toUpperCase()+strObj.substr(1).toLowerCase());
}

function scriviregione(){
	var regioniArr = new Array("0#Scegli Regione","abruzzo#Abruzzo","basilicata#Basilicata","calabria#Calabria","campania#Campania","emilia_romagna#Emilia Romagna",
	"friuli#Friuli Venezia Giulia","lazio#Lazio","liguria#Liguria","lombardia#Lombardia","marche#Marche","molise#Molise","piemonte#Piemonte","puglia#Puglia",
	"sardegna#Sardegna","sicilia#Sicilia","toscana#Toscana","trentino#Trentino Alto Adige","umbria#Umbria","valle_aosta#Valle d'Aosta","veneto#Veneto");
	for(i=0;i<regioniArr.length;i++)
	  {	
		 RoOption =regioniArr[i].split("#");
		// alert(RoOption[1]+"-"+RoOption[0]);
		 //new Option(text, value, defaultSelected, selected)
		document.moduloutenti.regione.options[document.moduloutenti.regione.options.length]= new Option(RoOption[1],RoOption[0]);
	 }
 }


function scrivinazione (){
	var countrycod = new Array("IT#ITALY","AF#AFGHANISTAN", "AL#ALBANIA", "DZ#ALGERIA", "AS#AMERICAN SAMOA", "AD#ANDORRA", "AO#ANGOLA",
	"AI#ANGUILLA", "AQ#ANTARCTICA", "AG#ANTIGUA AND BARBUDA", "AR#ARGENTINA", "AM#ARMENIA", "AW#ARUBA", "AU#AUSTRALIA", "AT#AUSTRIA",
	"AZ#AZERBAIJAN", "BS#BAHAMAS", "BH#BAHRAIN", "BD#BANGLADESH", "BB#BARBADOS", "BY#BELARUS", "BE#BELGIUM", "BZ#BELIZE", "BJ#BENIN",
	"BM#BERMUDA", "BT#BHUTAN", "BO#BOLIVIA", "BA#BOSNIA-HERZEGOVINA", "BW#BOTSWANA", "BV#BOUVET ISLAND", "BR#BRAZIL", 
	"IO#BRIT. INDIAN OCEAN TERR.", "BN#BRUNEI DARUSSALAM", "BG#BULGARIA", "BF#BURKINA FASO", "BI#BURUNDI", "KH#CAMBODIA",
	"CM#CAMEROON", "CA#CANADA", "CV#CAPE VERDE", "KY#CAYMAN ISLANDS", "CF#CENTRAL AFRICAN REP.", "TD#CHAD", "CL#CHILE",
	"CN#CHINA", "CX#CHRISTMAS ISLAND", "CC#COCOS ISLANDS", "CO#COLOMBIA", "KM#COMOROS", "CG#CONGO", 
	"CD#CONGO DEM. REP.", "CK#COOK ISLANDS", "CR#COSTA RICA", "CI#CÔTE D'IVOIRE", "HR#CROATIA", "CU#CUBA", "CY#CYPRUS",
	"CZ#CZECH REP.", "DK#DENMARK", "DJ#DJIBOUTI", "DM#DOMINICA", "DO#DOMINICAN REP.", "EC#ECUADOR", "EG#EGYPT", 
	"SV#EL SALVADOR", "GQ#EQUATORIAL GUINEA", "ER#ERITREA", "EE#ESTONIA", "ET#ETHIOPIA", "FK#FALKLAND ISLANDS", 
	"FO#FAROE ISLANDS", "FJ#FIJI", "FI#FINLAND", "FR#FRANCE", "GF#FRENCH GUIANA", "PF#FRENCH POLYNESIA", 
	"TF#FRENCH S. TERRITORIES", "GA#GABON", "GM#GAMBIA", "GE#GEORGIA", "DE#GERMANY", "GH#GHANA", "GI#GIBRALTAR", 
	"GR#GREECE", "GL#GREENLAND", "GD#GRENADA", "GP#GUADELOUPE", "GU#GUAM", "GT#GUATEMALA", "GN#GUINEA", "GW#GUINEA-BISSAU", 
	"GY#GUYANA", "HT#HAITI", "HM#HEARD-MCDONALD ISLANDS", "VA#VATICAN CITY STATE(HOLY SEE)", "HN#HONDURAS", "HK#HONG KONG", 
	"HU#HUNGARY", "IS#ICELAND", "IN#INDIA", "ID#INDONESIA", "IR#IRAN, ISLAMIC REP.", "IQ#IRAQ", "IE#IRELAND", "IL#ISRAEL", 
	"JM#JAMAICA", "JP#JAPAN", "JO#JORDAN", "KZ#KAZAKHSTAN", "KE#KENYA", "KI#KIRIBATI", "KP#KOREA DEM. PEOPLE REP.", 
	"KR#KOREA REP.", "KW#KUWAIT", "KG#KYRGYZSTAN", "LA#LAO PEOPLE DEM. REP.", "LV#LATVIA", "LB#LEBANON", 
	"LS#LESOTHO", "LR#LIBERIA", "LY#LIBYAN ARAB JAMAHIRIYA", "LI#LIECHTENSTEIN", "LT#LITHUANIA", "LU#LUXEMBOURG", "MO#MACAO", 
	"MK#MACEDONIA (EX-YUGOSLAV REP).", "MG#MADAGASCAR", "MW#MALAWI", "MY#MALAYSIA", "MV#MALDIVES", "ML#MALI", 
	"MT#MALTA", "MH#MARSHALL ISLANDS", "MQ#MARTINIQUE", "MR#MAURITANIA", "MU#MAURITIUS", "YT#MAYOTTE", "MX#MEXICO", "FM#MICRONESIA", 
	"MD#MOLDOVA Rp.", "MC#MONACO", "MN#MONGOLIA", "MS#MONTSERRAT", "MA#MOROCCO", "MZ#MOZAMBIQUE", "MM#MYANMAR", "NA#NAMIBIA", 
	"NR#NAURU", "NP#NEPAL", "NL#NETHERLANDS", "AN#NETHERLANDS ANTILLES", "NC#NEW CALEDONIA", "NZ#NEW ZEALAND", "NI#NICARAGUA", 
	"NE#NIGER", "NG#NIGERIA", "NU#NIUE", "NF#NORFOLK ISLAND", "MP#NORTHERN MARIANA ISLANDS", "NO#NORWAY", "OM#OMAN", "PK#PAKISTAN", 
	"PW#PALAU", "PS#PALESTINIAN (OCCUPIED TERRITORY)", "PA#PANAMA", "PG#PAPUA NEW GUINEA", "PY#PARAGUAY", "PE#PERU", "PH#PHILIPPINES", 
	"PN#PITCAIRN", "PL#POLAND", "PT#PORTUGAL", "PR#PUERTO RICO", "QA#QATAR", "RE#RÉUNION", "RO#ROMANIA", "RU#RUSSIAN FEDERATION", 
	"RW#RWANDA", "SH#SAINT HELENA", "KN#SAINT KITTS AND NEVIS", "LC#SAINT LUCIA", "PM#SAINT PIERRE AND MIQUELON", 
	"VC#ST. VINCENT AND GRENADINES", "WS#SAMOA", "SM#SAN MARINO", "ST#SAO TOME AND PRINCIPE", 
	"SA#SAUDI ARABIA", "SN#SENEGAL", "CS#SERBIA AND MONTENEGRO", "SC#SEYCHELLES", "SL#SIERRA LEONE", 
	"SG#SINGAPORE", "SK#SLOVAKIA", "SI#SLOVENIA", "SB#SOLOMON ISLANDS", "SO#SOMALIA", "ZA#SOUTH AFRICA", "GS#S. GEORGIA AND S.SANDWICH", 
	"ES#SPAIN", "LK#SRI LANKA", "SD#SUDAN", "SR#SURINAME", "SJ#SVALBARD AND JAN MAYEN", "SZ#SWAZILAND", "SE#SWEDEN", "CH#SWITZERLAND", "SY#SYRIAN ARAB REP.", 
	"TW#TAIWAN, PROVINCE OF CHINA", "TJ#TAJIKISTAN", "TZ#TANZANIA UNITED REP.", "TH#THAILAND", "TL#TIMOR-LESTE", "TG#TOGO", "TK#TOKELAU", "TO#TONGA", 
	"TT#TRINIDAD AND TOBAGO", "TN#TUNISIA", "TR#TURKEY", "TM#TURKMENISTAN", "TC#TURKS AND CAICOS ISLANDS", "TV#TUVALU", "UG#UGANDA", "UA#UKRAINE", "AE#UNITED ARAB EMIRATES", 
	"GB#UNITED KINGDOM", "US#UNITED STATES", "UM#U.S. MINOR OUTLYING ISLANDS", "UY#URUGUAY", "UZ#UZBEKISTAN", "VU#VANUATU", "VE#VENEZUELA", "VN#VIET NAM", 
	"VG#VIRGIN BRITISH ISLANDS", "VI#VIRGIN U.S. ISLANDS", "WF#WALLIS AND FUTUNA", "EH#WESTERN SAHARA", "YE#YEMEN", "ZM#ZAMBIA", "ZW#ZIMBABWE");
	for(i=0;i<countrycod.length;i++){
	  	//alert(countrycod.length);
		 oOption =countrycod[i].split("#");
		 //new Option(text, value, defaultSelected, selected)
		document.moduloutenti.nazione.options[document.moduloutenti.nazione.options.length]= new Option(stCap(oOption[1]),oOption[0].toLowerCase());
	}
}
function swappacod(codnazione){
	document.moduloutenti.Rcod.value=codnazione.value;
	document.moduloutenti.Rnazione.value=codnazione.text;
			document.moduloutenti.regione.value='';
		document.moduloutenti.provincia.value='';
		document.moduloutenti.regione.disabled = true;
		document.moduloutenti.provincia.disabled = true;
	if(codnazione.value!="it"){
		document.moduloutenti.regione.value='';
		document.moduloutenti.provincia.value='';
		document.moduloutenti.regione.disabled = true;
		document.moduloutenti.provincia.disabled = true;
	}
	else if(codnazione.value=="it"){
		document.moduloutenti.regione.disabled = false;
		document.moduloutenti.provincia.disabled = false;
		scriviregione();
	}
	//alert(codnazione.value+" "+codnazione.text);
}
function swappacod2(codnazione){
	document.moduloutenti.Rcod.value=codnazione.value;
}

/*function swappacod(codnazione){
	document.moduloutenti.Rcod.value=codnazione.value;
	document.moduloutenti.Rnazione.value=codnazione.text;
	//alert(codnazione.value+" "+codnazione.text);
}*/