﻿function BOB_checkLengthItem(campo, lunghezza, nome, formo) {
	
	var sValue;	
	if (formo == null) {formo = "bob_formo"}	
	sValue = document.forms[formo].elements[campo].value;
	if (sValue.length > lunghezza) {
		alert ("La lunghezza del campo '" + nome + "' dev'essere minore di " + lunghezza + " caratteri.\n\nTu ne hai digitati " + sValue.length);
		document.forms[formo].elements[campo].focus();
		return false
	} else {
		return true
	}
}

function BOB_RegExpTest(patrn, strng) {
	var regEx = new RegExp(patrn);
	//alert("patrn: " + patrn + "\n strng: " + strng + "\n esito: " + regEx.test(strng));
	return regEx.test(strng)
}


function BOB_checkForm(lingua, formo) {
	
	var i, sName;
	
	// 22/03/2005 - controllo sicurezza input (sono nell'area riservata?)
	var isAR = false;
	var percorso = document.URL.split("/");	
	for (var loop=0; loop < percorso.length; loop++) { if (percorso[loop] == "areariservata") {isAR = true;break};}
	
	if (formo == null) {formo = "bob_formo"}	
	for (i=0;i < document.forms[formo].length; i++) {
		sName = document.forms[formo].elements[i].name;
		sId = document.forms[formo].elements[i].id;
		sValue = document.forms[formo].elements[i].value;
		sTitle = document.forms[formo].elements[i].title;
		
		// 22/03/2005 - controllo sicurezza input
		if ((sValue != "") && (!isAR)) {
			if ((sValue.indexOf('<') > -1)) {
				alert("Carattere '<' nel campo '" + sName + "' non valido!");
				document.forms[formo].elements[i].focus();
				break
			}
			if ((sValue.indexOf('>') > -1)) {
				alert("Carattere '>' nel campo '" + sName + "' non valido!");
				document.forms[formo].elements[i].focus();
				break
			}
		}
		
		// controllo che i campi obbligatori abbiano un valore
		if ((sName.charAt(0) != "_") && (sId.charAt(0) != "_")) {
			if (sValue == "") {			
				if (lingua == "ita") alert ("Il campo  [ " + sName + " ]  è obbligatorio!")
				else if (lingua == "spa") alert ("Todas las casillas son obligatorias!")
				else if (lingua == "ing") alert ("Please compile the [ " + sName + " ]  obligatory field!")
				else if (lingua == "ted") alert ("Alle Einträge sind obligatorisch!")
				else if (lingua == "fra") alert ("Tous les champs sont obligatoires!")
				else if (lingua == "por") alert ("Please compile the [ " + sName + " ]  obligatory field!")
				else alert ("...");
				
				document.forms[formo].elements[i].focus();
				
				break
			} else {
				// 5/10/2007 - devo controllare comunque che la mail sia valida
				pt = "^([a-zA-Z0-9]{1,})([\\w\-])*([\.])*([\\w\-])*([a-zA-Z0-9]{1,})([\@])([a-zA-Z0-9]{1,})([\\w\-])*([\.])*([\\w\-])*([a-zA-Z0-9]{1,})([\.])([a-zA-Z]{2,})$";				
				if (((sName.indexOf('MAIL') > -1) || (sName.indexOf('mail') > -1)) && (!BOB_RegExpTest(pt, sValue))) { 
					if (lingua == "ita") alert ("L'email inserita non è valida!")
					else if (lingua == "spa") alert ("La dirección e-mail no es correcta!")
					else if (lingua == "ing") alert ("Please insert a valid e-mail address!")
					else if (lingua == "ted") alert ("Die eingegebene e-Mail-Adresse ist ungültig")
					else if (lingua == "fra") alert ("Adresse e-mail non valable")
					else if (lingua == "por") alert ("Please insert a valid e-mail address!")
					else alert ("...");
					
					document.forms[formo].elements[i].focus();
					
					break
				}
			}
		}
		
	}

	if (i == document.forms[formo].length) {
		return true
	} else {
		return false
	}
}


function BOB_submit(lingua, formo) {
	if (formo == null) {formo = "bob_formo"}
	if (BOB_checkForm(lingua, formo)) {
		document.forms[formo].submit();
	}
}

function BOB_saveformo(tabella, lingua) {
	testo = "Sei sicuro di voler aggiornare quest" + tabella + "?";
	//if (lingua == "ita") {testo = "Sei sicuro di voler aggiornare quest" + tabella + "?"}

	if (confirm(testo)) {
		if (BOB_checkForm(lingua)) {
			document.bob_formo.submit()
		}
	}
}

function BOB_delart(tabella, lingua) {
	testo1 = "?";
	testo2 = "!";
	if (lingua == "ita") {
		testo1 = "Sei sicuro di voler eliminare quest" + tabella + "?"
		testo2 = "Nessun" + tabella + " selezionata!"
	}

	if (confirm(testo1)) {
		if (document.bob_formo._ID.value == "") {
			alert (testo2);
		} else {
			document.bob_formo._Cosa.value = "Del";
			document.bob_formo.submit()
		}
	}
}

function BOB_openBrWindow(theURL,winName,features) {
	if ((winName == "pspwin") && (theURL.indexOf('passaparola.asp') > -1)) {
		// nel caso di passaparola allargo per far posto all'ADDTHIS
		features = 'scrollbars=yes,resizable=yes,width=550,height=600';
	}
	
	// apro la finestra e la porto in evidenza
	mywin = window.open(theURL,winName,features);
	if (mywin != null) {mywin.focus();}
}

function BOB_openPassaparola() {
	BOB_openBrWindow('http://www.santantonio.org/portale/passaparola.asp','addthiswin','resizable=yes,width=500,height=600');
}

function BOB_openMailing(a) {
	var s = document.URL;
	var aS = s.split("/");
	var w = "";
	i = -1;
	do { 
		i += 1;
		w += aS[i] + "/";
	}
	while ((aS[i] != "ita") && (aS[i] != "fra") && (aS[i] != "ing") && (aS[i] != "ted") && (aS[i] != "spa") && (aS[i] != "por"))
	BOB_openBrWindow(w + 'mailing/mailing.asp?a=' + a,'malwin','scrollbars=no,width=400,height=300');
}

function BOB_setDiesis() {
	if (document.bob_formo.link_cartella.value == "#") {document.bob_formo.link.value = "top"}
}

function BOB_setInternalPage(p,i,t) {
	document.bob_formo.link_cartella.value = p;	
	document.bob_formo.link.value = "pagina.asp?ID=" + i + "&T=" + t;
}

function BOB_nocopertina(oggetto, path) {
	oggetto.src= path + '/upload/catalogo/copertina.gif';
	oggetto.border=0;
	oggetto.width=0;
	oggetto.height=0;
}

function IsNumeric(sText)
{
	var ValidChars = "0123456789";
	var IsNumber=true;
	var Char;
	
	for (i = 0; i < sText.length && IsNumber == true; i++) {
		Char = sText.charAt(i); 
		if (ValidChars.indexOf(Char) == -1) {IsNumber = false;}
	}
	
	return IsNumber;
}


function IsValidKey(sText)
{
	alert(sText);
	var ValidChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMOPQRSTUVWXYZ:;,.+-*()[]{}èéòàùì'%&=?!/\@#^0123456789 ";
	var IsValidKey=true;
	var Char;
	
	for (i = 0; i < sText.length && IsValidKey == true; i++) {
		Char = sText.charAt(i); 
		if (ValidChars.indexOf(Char) == -1) {IsValidKey = false;}
	}
	
	return IsValidKey;
}


function BOB_controllacarattere (e, cosa) {
	
	var key = window.event ? e.keyCode : e.which;		
	var esito = false;
	
	switch(cosa) {
	case "euro":
		// permetto solo i caratteri (0-9) e la virgola
		if ((key == 8) || (key == 44) || ((key >= 48) && (key <= 57))) {
			esito = true
		}
		break;
	
	case "numerico":
		// permetto solo i caratteri (0-9) e il backspace
		if ((key == 8) || ((key >= 48) && (key <= 57))) {
			esito = true
		}
		break;
	
	case "alfanumerico":
		// permetto solo i caratteri (0-9) (A-Z) (a-z) e il backspace
		if ((key == 8) || ((key >= 48) && (key <= 57)) || ((key >= 65) && (key <= 90)) || ((key >= 97) && (key <= 122))) {
			esito = true
		}
		break;
	}
	
	//alert(key + "-" + cosa + "-" + esito);
	return esito
}

