// ******* FUNZIONNI GLOBALI ****** 
function Left(str, n){
	if (n <= 0)
	    return "";
	else if (n > String(str).length)
	    return str;
	else
	    return String(str).substring(0,n);
}
function Right(str, n){
    if (n <= 0)
       return "";
    else if (n > String(str).length)
       return str;
    else {
       var iLen = String(str).length;
       return String(str).substring(iLen, iLen - n);
    }
}
// ********************************* 

// funzione validazione campi obbligatori Form
function validateForm(formInstance) {
	var i = 0;
	var field = formInstance.elements[i];
	var validateField = true;
	while(field){
		// dal title del campo si estrae il nome (prima occorenza della funzione split con ;)
		msgFieldName = '';
		if (field.title!=''){
			if (field.title.indexOf(';')>0){
				msgFieldName = field.title.split(';')[0];
			} else {
				msgFieldName= field.title;
			}
		}
		// verifico se obbligatorio e se vuoto
		if (field.title.indexOf('obbligatorio')>=0){
			if(field.value==''){
				alert ('Specificare un valore per il campo:\n' + msgFieldName);
				validateField = false;
				break;
				}
		}
	i++;
	var field = formInstance.elements[i];
	}
	// se uno dei campi non è corretto, viene evidenziato con il focus e con un bordino rosso
	if (!validateField){
		field.focus();
		field.style.border='1px solid red;';
		if ((field.type=='text')||(field.type=='textarea')){
			// nel caso sia un text, viene selezionato il testo all'interno del campo
			field.select();
		}
	}
	return validateField;
}

// Invio Form con validazione
function submitForm(formInstance, validateField) {
	if (validateField) {
		if (validateForm(formInstance)) {
			formInstance.submit();
		}
		else {
			return;
		}
	}
	formInstance.submit();
}

// funzione per accettazione privacy e continua 
function choosePrivacy(scelta, trustButton){
	if (scelta == 'si') {
		document.getElementById(trustButton).disabled=false;
	}
	if (scelta == 'no') {
		document.getElementById(trustButton).disabled=true;
	}
}


// funzione per lo switch di visualizzazione di un div
function FCK_prw(prwMode){
	var myDiv1 = document.getElementById('prwSave_FCK');
	var myDiv2 = document.getElementById('box_FCK'); 
	if(prwMode=='true')
	{
		myDiv1.style.display = '';
		myDiv2.style.display ='none';
	}
	else
	{	
		myDiv1.style.display = 'none';
		myDiv2.style.display ='block';
	}
}

// Apri finestra figlio
function openChild(file,window,param) {
	childWindow=open(file,window,param);
	if (childWindow.opener == null) childWindow.opener = self;
}

// verifica il formato del file e invia il form
// verifica i tipi di file JPG GIF PNG
function TrustedSubmit(nomeForm,inputID) {
	var myName = document.getElementById(inputID).value.toUpperCase();
	if ((myName.lastIndexOf("'") >= 0) || (myName.lastIndexOf("\"") >= 0)) {
		alert('ERRORE: non sono ammessi caratteri di punteggiatura nel nome del file. es: \", \', \\, /');
		document.getElementById(inputID).value = "";
	}
	else {
		var myExt = Right(myName, 3);
		if ( (myExt == 'JPG') || (myExt == 'GIF') || (myExt == 'PNG') ){
			document.getElementById(nomeForm).submit();
			//alert ('buono: ' + nomeForm );
		}
		else {
			alert('ERRORE: sono ammessi solo tipi di immagini JPG, GIF, PNG.');
			document.getElementById(inputID).value = "";
		}
	}
}

/* Elimina prodotto */
function EliminaFoto(inputID){
	document.getElementById('NomeFotoDEL').value = document.getElementById(inputID).value;
	document.getElementById(inputID).value="";
	document.getElementById('PhotoDEL').style.display="none";
	document.getElementById('PhotoADD').style.display="block";
}


// funziona che ritorna un array contenente gli elementi (tag) aventi una determinata classe CSS
document.getElementsByClassName = function(className) {
	var children = document.getElementsByTagName('*') || document.all;
	var elems = new Array();
	for (i=0; i<children.length; i++){
		var child = children[i];
		var classNames = child.className.split(' ');
		for (j=0; j<classNames.length; j++){
			if (classNames[j] == className){
				elems.push(child);
				break;
			}
		}
	}
	return elems;
}

// funzione per lo switch di visualizzazione di un elemento (tag)
function DisplaySwitch(elem,defStatus){
	// defStatus: '', 'none', 'block'.
	if (!defStatus){defStatus = ''}
	var tmpStatus = elem.style.display;
	if (defStatus=='none'){
		if ((tmpStatus=='none')||(tmpStatus=='')){
			elem.style.display = 'block';
		} else {
			elem.style.display = 'none';
		}
	} else if (defStatus=='block'){
		if ((tmpStatus=='block')||(tmpStatus=='')){
			elem.style.display = 'none';
		} else {
			elem.style.display = 'block';
		}
	} else {
		if (tmpStatus==''){
			elem.style.display = 'none';
		} else {
			elem.style.display = '';
		}
	}
}

// funzione per lo switch di visual. tramite l'attributo 'id'
function DisplaySwitchById(idName,defStatus){
	if (!defStatus){defStatus = ''}
	elem = document.getElementById(idName);
	DisplaySwitch(elem,defStatus);
}

// funzione per lo switch di visual. tramite l'attributo 'class'
function DisplaySwitchByClass(className,defStatus) {
	if (!defStatus){defStatus = ''}
	elems = document.getElementsByClassName(className);
	for (i=0; i<elems.length; i++) {
		DisplaySwitch(elems[i],defStatus);
	}
}

// funzione per realizzare un pagePanel
// nascondo gli elementi della classe e mostro l'elemento via ID;
function PageDisplay(className, idName){
	elems = document.getElementsByClassName(className);
	for (i=0; i<elems.length; i++) {
		elems[i].style.display = 'none';
	}
	document.getElementById(idName).style.display = 'block';
}


// ************  API FCKEditor ***********************
// funzioni per la gestione del multilingua con FCKEditor
function getfck(fckIstance){
	fck = FCKeditorAPI.GetInstance(fckIstance);
	return fck.GetXHTML();
}

function setfck(fckIstance,HTML){
	fck = FCKeditorAPI.GetInstance(fckIstance);
	fck.SetHTML(HTML);
}

function setFCK_content(fckIstance,sigla){
	langFck = document.getElementById('idLinguaEdit').value;
	var1 = "FCKcnt_" + langFck;
	document.getElementById(var1).value = getfck(fckIstance);
	
	var2 = "FCKcnt_" + sigla;
	newFckContent = document.getElementById(var2).value;
	setfck(fckIstance,newFckContent);
	
	document.getElementById('idLinguaEdit').value = sigla;
}


// ******* FUNZIONNI META TAG INPUT ****** 
function DoCnt(fieldid, counter, minlen, maxlen) { 
	var fldlen = parseInt(document.getElementById(fieldid).value.length);
	var cntval = '<span style="color:red;">0';
	if(fldlen<minlen || fldlen>maxlen) {
		cntval = '<span style="color:red;">'+fldlen+'</span>';
	}
	else {
		cntval = '<span style="color:green;">'+fldlen+'</span>';
	}
	document.getElementById(counter).innerHTML = cntval;
}
   
function DoCntWords(fieldid, counter, minlen, maxlen) { 
	var words = new Array();
	words = document.getElementById(fieldid).value.split(',');
	var fldlen = parseInt(words.length);
	var cntval = '<span style="color:red;">0</span>';
	if(fldlen<minlen || fldlen>maxlen) {
		cntval = '<span style="color:red;">'+fldlen+'</span>';
	}
	else {
		cntval = '<span style="color:green;">'+fldlen+'</span>';
	}
	document.getElementById(counter).innerHTML = cntval;
}
