// Script Associato alla rubrica cerca nel frigorifero
// Controlla gli ingredienti passati prima di eseguire il submit.
function check_search_frigo(){
	var ning = 0;
	var ingrediente_doppio = "no";
	
		if(document.frigorifero.ing1.value!=''){
			ning++;
			if( ((document.frigorifero.ing1.value) == (document.frigorifero.ing2.value)) ||
				((document.frigorifero.ing1.value) == (document.frigorifero.ing3.value)) ||
				((document.frigorifero.ing1.value) == (document.frigorifero.ing4.value)) ||
				((document.frigorifero.ing1.value) == (document.frigorifero.ing5.value)) ||
				((document.frigorifero.ing1.value) == (document.frigorifero.ing6.value)) ){
				ingrediente_doppio = "si";
			}
		}
		if(document.frigorifero.ing2.value!=''){
			ning++;
			if( ((document.frigorifero.ing2.value) == (document.frigorifero.ing3.value)) ||
				((document.frigorifero.ing2.value) == (document.frigorifero.ing4.value)) ||
				((document.frigorifero.ing2.value) == (document.frigorifero.ing5.value)) ||
				((document.frigorifero.ing2.value) == (document.frigorifero.ing6.value)) ){
				ingrediente_doppio = "si";
			}
		}
		if(document.frigorifero.ing3.value!=''){
			ning++;
			if( ((document.frigorifero.ing3.value) == (document.frigorifero.ing4.value)) ||
				((document.frigorifero.ing3.value) == (document.frigorifero.ing5.value)) || 
				((document.frigorifero.ing3.value) == (document.frigorifero.ing6.value)) ){
				ingrediente_doppio = "si";
			}
		}
		if(document.frigorifero.ing4.value!=''){
			ning++;
			if( ((document.frigorifero.ing4.value) == (document.frigorifero.ing5.value)) ||
				((document.frigorifero.ing4.value) == (document.frigorifero.ing6.value)) ){
				ingrediente_doppio = "si";
			}
		}
		if(document.frigorifero.ing5.value!=''){
			ning++;
			if( ((document.frigorifero.ing5.value) == (document.frigorifero.ing6.value)) ){
				ingrediente_doppio = "si";
			}
		}
		if(document.frigorifero.ing6.value!=''){
			ning++;
		}
		if(ning >= 1){
			if(ingrediente_doppio == "si"){
					alert("Impossibile iniziare una ricerca. \n\n- Due o pių ingredienti sono uguali.");
			}else{
				document.frigorifero.submit();
			}
		}else{
			alert("Impossibile iniziare una ricerca. \n\n- č necessario almeno 1 ingrediente.");
		}
}
/*****************************************************************************************************************************/

// Script ai menų evento
function eventi(evento){
	if(evento == "index"){
		var evento = document.menu.menutype.options[document.menu.menutype.selectedIndex].value;
		if(evento == ""){
			alert('Devi selezionare un menų !');
		}else{
			Crea_finestra('./eventi/eventi.php?evento='+ evento +'','eventi','statusbar=0,menubar=0,scrollbars=1,resizable=0,width=317,height=450,top=200,left=250');
		}
	}else{
		Crea_finestra('./eventi/eventi.php?evento='+ evento +'','eventi','statusbar=0,menubar=0,scrollbars=1,resizable=0,width=317,height=450,top=200,left=250');
	}
}
/*****************************************************************************************************************************/

// Script Associato alla rubrica cerca nel sito
// Controlla i criteri prima di avviare la ricerca
function search_engine_start(){
	if( (document.search.nome_file.value == "") && (document.search.portata.value == "tutte") &&
		(document.search.regione.value == "tutte") &&(document.search.base.value == "tutte") && 
		(document.search.difficult.value == "tutte")){
		alert("Impostare almeno un criterio di ricerca");
	}else{
		document.search.submit();
	}
}
/*****************************************************************************************************************************/

// Script Associato ai preferiti
function addbookmark()
{ 
 var bookmarkurl="http://www.lochef.it"
 var bookmarktitle="LoChef.it - I segreti della buona tavola"
 if (document.all)
 	window.external.AddFavorite(bookmarkurl,bookmarktitle)
}
/*****************************************************************************************************************************/

// Script generici di gestione delle window
//gestisce apertura di una nuova window e relativo focus
function Crea_finestra(url,winName,features) 
{
	var nw = window.open(url,winName,features + ',toolbar=0,directories=0,location=0,statusbar=0');
	nw.focus();
}

// gestisce chiusura con reload della window padre tramite parameto aggiorna
function termina(aggiorna){  
	window.close();
	if(aggiorna == "aggiorna"){
		window.opener.location.reload(true);
	}
	window.opener.focus();
}
/******************************************************************************************************************************/

//Script associati al guestbook
//controlla campi obbligatori
function check_invio()
{
	if( (document.guestbook.name.value == "") || (document.guestbook.message.value == "") || (document.guestbook.sesso.value == "") || (document.guestbook.security_code.value == "") ){
		alert('I campi contrassegnati con il simbolo * sono obbligatori');
	}else{
		document.guestbook.submit()		
	}
}

// controllo che nella textarea non vengano inseriti pių char di quelli definiti in maxchars
function CheckLength()
	{
	// definisco il numero max di caratteri inseribili nella textarea del commento
	var maxchars=255;
	with (document.guestbook)
		{
		chars=message.value
		if (chars.length > maxchars)
			{
			message.value=chars.substr(0,maxchars);
			message.blur();
			}
		chr.value=maxchars-message.value.length;
		}
	}
/******************************************************************************************************************************/

//Script associati alle ricette



/* object - image to be faded (actual object, not name);
 * destop - destination transparency level (ie 80, for mostly solid)
 * rate   - time in milliseconds between trasparency changes (best under 100)
 * delta  - amount of change each time (ie 5, for 5% change in transparency)
 */

function nereidFade(object, destOp, rate, delta){
if (!document.all)
return
    if (object != "[object]"){
        setTimeout("nereidFade("+object+","+destOp+","+rate+","+delta+")",0);
        return;
    }
    clearTimeout(nereidFadeTimers[object.sourceIndex]);
    diff = destOp-object.filters.alpha.opacity;
    direction = 1;
    if (object.filters.alpha.opacity > destOp){
        direction = -1;
    }
    delta=Math.min(direction*diff,delta);
    object.filters.alpha.opacity+=direction*delta;
    if (object.filters.alpha.opacity != destOp){
        nereidFadeObjects[object.sourceIndex]=object;
        nereidFadeTimers[object.sourceIndex]=setTimeout("nereidFade(nereidFadeObjects["+object.sourceIndex+"],"+destOp+","+rate+","+delta+")",rate);
    }
}

/******************************************************************************************************************************/
/** FUNZIONE COPIATA DA PHPMYADMIN
	- Da Implementare al momento nn č utilizzata
 * Sets/unsets the pointer and marker in browse mode
 *
 * @param   object    the table row
 * @param   interger  the row number
 * @param   string    the action calling this script (over, out or click)
 * @param   string    the default background color
 * @param   string    the color to use for mouseover
 * @param   string    the color to use for marking a row
 *
 * @return  boolean  whether pointer is set or not
 */
function setPointer(theRow, theRowNum, theAction, theDefaultColor, thePointerColor, theMarkColor)
{
    var theCells = null;

    // 1. Pointer and mark feature are disabled or the browser can't get the
    //    row -> exits
    if ((thePointerColor == '' && theMarkColor == '')
        || typeof(theRow.style) == 'undefined') {
        return false;
    }

    // 2. Gets the current row and exits if the browser can't get it
    if (typeof(document.getElementsByTagName) != 'undefined') {
        theCells = theRow.getElementsByTagName('td');
    }
    else if (typeof(theRow.cells) != 'undefined') {
        theCells = theRow.cells;
    }
    else {
        return false;
    }

    // 3. Gets the current color...
    var rowCellsCnt  = theCells.length;
    var domDetect    = null;
    var currentColor = null;
    var newColor     = null;
    // 3.1 ... with DOM compatible browsers except Opera that does not return
    //         valid values with "getAttribute"
    if (typeof(window.opera) == 'undefined'
        && typeof(theCells[0].getAttribute) != 'undefined') {
        currentColor = theCells[0].getAttribute('bgcolor');
        domDetect    = true;
    }
    // 3.2 ... with other browsers
    else {
        currentColor = theCells[0].style.backgroundColor;
        domDetect    = false;
    } // end 3

    // 4. Defines the new color
    // 4.1 Current color is the default one
    if (currentColor == ''
        || currentColor.toLowerCase() == theDefaultColor.toLowerCase()) {
        if (theAction == 'over' && thePointerColor != '') {
            newColor              = thePointerColor;
        }
        else if (theAction == 'click' && theMarkColor != '') {
            newColor              = theMarkColor;
            marked_row[theRowNum] = true;
        }
    }
    // 4.1.2 Current color is the pointer one
    else if (currentColor.toLowerCase() == thePointerColor.toLowerCase()
             && (typeof(marked_row[theRowNum]) == 'undefined' || !marked_row[theRowNum])) {
        if (theAction == 'out') {
            newColor              = theDefaultColor;
        }
        else if (theAction == 'click' && theMarkColor != '') {
            newColor              = theMarkColor;
            marked_row[theRowNum] = true;
        }
    }
    // 4.1.3 Current color is the marker one
    else if (currentColor.toLowerCase() == theMarkColor.toLowerCase()) {
        if (theAction == 'click') {
            newColor              = (thePointerColor != '')
                                  ? thePointerColor
                                  : theDefaultColor;
            marked_row[theRowNum] = (typeof(marked_row[theRowNum]) == 'undefined' || !marked_row[theRowNum])
                                  ? true
                                  : null;
        }
    } // end 4

    // 5. Sets the new color...
    if (newColor) {
        var c = null;
        // 5.1 ... with DOM compatible browsers except Opera
        if (domDetect) {
            for (c = 0; c < rowCellsCnt; c++) {
                theCells[c].setAttribute('bgcolor', newColor, 0);
            } // end for
        }
        // 5.2 ... with other browsers
        else {
            for (c = 0; c < rowCellsCnt; c++) {
                theCells[c].style.backgroundColor = newColor;
            }
        }
    } // end 5

    return true;
} // end of the 'setPointer()' function
/******************************************************************************************************************************/