function fnDisableLink(obj, disable){
	if(disable){
	 var href = document.getElementById(obj).getAttribute("href");
		
		if(href && href != "" && href != null){
			obj.setAttribute('href_bak', href);
		}
		obj.removeAttribute('href');
		obj.style.color="#ccc";
	} else {
		obj.setAttribute('href', obj.attributes['href_bak'].nodeValue);
		obj.style.color="333";
	}
}


function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
function MM_goToURL() { //v3.0
  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

//------------------------------------------------------------------------
//------------------------------------------------------------------------
function fnCheckRicercaForm( theForm, codeField, txtField, cbField ) {
	var f2 = document.forms[theForm].elements[cbField];
	var f1 = document.forms[theForm].elements[txtField];
	var f0 = document.forms[theForm].elements[codeField];
	var ret = true;

	if( (f0.value == '') && (f1.value == '') && (f2.value == 0) ) {
        alert("E' necessario impostare il campo CODICE o il campo TESTO o il campo UTILIZZO.");
		ret = false;
    }
	document.retVal = ret;
}
//------------------------------------------------------------------------
//------------------------------------------------------------------------
function fnSubmitPage(theForm,page) {
	document.forms[theForm].action = page;
	document.forms[theForm].submit();
	document.retVal = false;
}
//------------------------------------------------------------------------
//------------------------------------------------------------------------
function fnAskSubmitPage(theForm,page,flAsk) {
var ret=true;

	if( flAsk == 'del' ) { ret = confirm("Eliminare il record?"); }
	if( flAsk == 'mod' ) { ret = confirm("Modificare lo stato del record?"); }
	if( flAsk == 'mods' ) { ret = confirm("Modificare lo stato dei records selezionati?"); }
	if( flAsk == 'save' ) { ret = confirm("Salvare il nuovo record?"); }
	if( ret ) {
		document.forms[theForm].action = page;
		document.forms[theForm].submit();
	}
	document.retVal = false;
}
//------------------------------------------------------------------------
//------------------------------------------------------------------------
function fnGotoURL() {
 var i, args=fnGotoURL.arguments; document.retVal = false;
	
	for (i=0; i<(args.length-1); i+=2) {
		eval(args[i]+".location='"+args[i+1]+"'");
	}
}

//------------------------------------------------------------------------
//------------------------------------------------------------------------
function fnAskGoToPage(flag,lang) {
 var szText;

	if( lang == null ) lang = 'ita';
	
	if( lang == 'ita' ) {
		if( flag == 'del' ) { szText = 'Eliminare il record selezionato?';}
		if( flag == 'convert' ) { szText = 'Convertire tutti i record in clienti?';}
		if( flag == 'samplescart_empty' ) { szText = 'Svuotare il carrello Richiesta Campioni?';}
		if( flag == 'samplescart_delArt' ) { szText = 'Eliminare il prodotto dal carrello?';}
	} else {
		if( flag == 'del' ) { szText = 'Delete the selected record?';}
		if( flag == 'convert' ) { szText = 'Convert all records in customers?';}
		if( flag == 'samplescart_empty' ) { szText = 'Empty the Cart?';}
		if( flag == 'samplescart_delArt' ) { szText = 'Delete Product from Cart?';}
	}
	document.retVal = confirm(szText);
}
//------------------------------------------------------------------------
//------------------------------------------------------------------------
function fnOpenBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
//------------------------------------------------------------------------
//------------------------------------------------------------------------
function findPosX(obj) {
var curleft = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}
function findPosY(obj) {
var curtop = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}

function fnShowTooltip(id,idObj,szText) {
 var elem = document.getElementById(id);
 var obj = document.getElementById(idObj);
 var x = findPosX(obj);
 var y = findPosY(obj);

	//alert(x + ' - ' + y);
	if( elem.style.visibility = "hidden" ) {
		elem.style.left = x + 20;
   		elem.style.top = y;
		elem.style.visibility = "visible";
		elem.innerHTML = szText;
	}
} 
function fnHideTooltip(id) {
 var elem = document.getElementById(id);

	if( elem.style.visibility = "visible" ) {
		elem.style.visibility = "hidden";
	}
} 

function fnShowDivViewImage(id, szImage) {
 var x = event.x; //Cordinata X del Mouse
 var y = event.y; //Cordinata Y del Mouse
 var elem = document.getElementById(id);


	if( elem.style.visibility = "hidden" ) {
		elem.style.left = x - 200;
   		elem.style.top = y;
		elem.style.visibility = "visible";
		elem.innerHTML = "<img src=\"" + szImage + "\">";
	}
} 
function fnHideDiv(id) {
 var elem = document.getElementById(id);

	if( elem.style.visibility = "visible" ) {
		elem.style.visibility = "hidden";
	}
} 

//------------------------------------------------------------------------
//------------------------------------------------------------------------
function setBkColor(theObj, theAction, theDefaultColor, theOverColor)
{
    // 1. Pointer and mark feature are disabled or the browser can't get the
    //    row -> exits
    if ((theOverColor == '' && theDefaultColor == '') || typeof(theObj.style) == 'undefined') {
        return false;
    }

    // 3. Gets the current color...
    var domDetect    = 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(theObj.getAttribute) != 'undefined') {
        domDetect    = true;
    }
    // 3.2 ... with other browsers
    else {
        domDetect    = false;
    } // end 3

    // 4. Defines the new color
    // 4.1 Current color is the default one
	if (theAction == 'over' ) {
		newColor = theOverColor;
	}
	else if (theAction == 'out') {
		newColor = theDefaultColor;
	}
	else {
		return false;
	}
    // 5. Sets the new color...
    if (newColor) {
        // 5.1 ... with DOM compatible browsers except Opera
        if (domDetect) {
                theObj.setAttribute('bgcolor', newColor, 0);
        }
        // 5.2 ... with other browsers
        else {
                theObj.style.backgroundColor = newColor;
        }
    } // end 5

    return true;
} // end of the 'setBkColor()' function

/**
 * Checks/unchecks all tables
 *
 * @param   string   the form name
 * @param   boolean  whether to check or to uncheck the element
 *
 * @return  boolean  always true
 */
function fnSetCheckBoxes(the_form, the_check, do_check)
{
    var obj = document.forms[the_form].elements[the_check];
    var obj_cnt = obj.length;
	for (var i = 0; i < obj_cnt; i++) {
		obj[i].checked = do_check;
	}

    return true;
} // end of the 'fnSetCheckBoxes()' function

/**
  * Checks/unchecks all options of a <select> element
  *
  * @param   string   the form name
  * @param   string   the element name
  * @param   boolean  whether to check or to uncheck the element
  *
  * @return  boolean  always true
  */
function setSelectOptions(the_form, the_select, do_check)
{
    var selectObject = document.forms[the_form].elements[the_select];
    var selectCount  = selectObject.length;

    for (var i = 0; i < selectCount; i++) {
        selectObject.options[i].selected = do_check;
    } // end for

    return false;
} // end of the 'setEnableControls()' function

/*------------------------------------------------------------------------------------
* enable/disable checkboxes group element
*
* @param   string   the form name
* @param   string   the element name
* @param   boolean  whether to enable or to disable the element
*
* @return  boolean  always true
------------------------------------------------------------------------------------*/
function setEnableControls(the_form, the_controls, flag)
{
 var theObject = document.forms[the_form].elements[the_controls];
 var objCount  = theObject.length;

    for (var i = 0; i < objCount; i++) {
        theObject[i].disabled = flag;
    } // end for

    return true;
} // end of the 'setEnableControls()' function
