var Page_ConfirmationVer = "1.7";



function ConfirmationOnLoad()
{
    
    if ( !ConfirmationBrowserCapable() ) return;
    if (typeof(Page_Confirmations) == "undefined") return;


    var i, confirmButton;
    for (i = 0; i < Page_Confirmations.length; i++) {
        confirmButton = Page_Confirmations[i];
        if (typeof(confirmButton) == "string") {
            confirmButton = document.getElementById( confirmButton );
        }
        
        if ( typeof(confirmButton.confirmationmessage ) == "undefined" ) {
            if ( typeof( confirmButton.attributes ) != "undefined" ) {
                confirmButton.confirmationmessage = confirmButton.attributes["confirmationmessage"].value;
            } else {
                confirmButton.confirmationmessage = "Sei sicuro di fare questo?";
            }
        }
        ConfirmationHookupControl(confirmButton);
        
    }
}

function ConfirmationBrowserCapable()
{
    if ( typeof( document.getElementById ) == "undefined" ) {
        if( typeof( document.all ) != "undefined" ) {
            document.getElementById = function( elementId ) { return document.all[elementId]; };
            return true;
        }
        return false;
    }
    return true;
}



function ConfirmationHookupControl( confirmButton )
{
    var ev = confirmButton.onclick;
    
    if (typeof(ev) == "function" ) {            
        ev = ev.toString();
        ev = ev.substring(ev.indexOf("{") + 1, ev.lastIndexOf("}"));
    }
    else {
        ev = "";
    }
    var func = new Function("if ( !ConfirmationOnClick( this ) ){return false;} " + ev);
    confirmButton.onclick = func;
}

function ConfirmationOnClick( confirmButton )
{
	// Se non è presente il messaggio non visualizzo la maschera di conferma.
	if (confirmButton.confirmationmessage=='')
		return true;
		
	var risposta=confirm( confirmButton.confirmationmessage );
	
	// Controllo l'eventuale presenza di qualche operazione che deve essere fatta comunque sia che si accetti sia 
	// che si annulli la confirm. Un operazione che deve essere eseguita comunque presenta un campo edit dove
	// inserire la risposta dell'utente alla confirm.
	if ((confirmButton.attributes["editrisposta"].value!='')) {
		if (risposta)
			document.getElementById(confirmButton.attributes["editrisposta"].value).value='yes';
		else 
			document.getElementById(confirmButton.attributes["editrisposta"].value).value='';
		return true;
	}

	// Apre la popup di attesa se specificata nell'url.
	if ((confirmButton.attributes["popupattesa"].value!='')) {
		if (risposta) {
			var mywin=window.open(confirmButton.attributes["popupattesa"].value, 'PopUpAttesa', 'width=300, height=120, top=30, left=30');			
			mywin.focus();
			return true;
		}
	}
	
	return risposta;
}