String.prototype.Trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}
String.prototype.LTrim = function() {
	return this.replace(/^\s+/,"");
}
String.prototype.RTrim = function() {
	return this.replace(/\s+$/,"");
}
	
function selectByValue(ddl, value)
{
    if(!ddl) return;
    if(!value) return;
    
    for (var i = 0; i < ddl.options.length; i++) 
    {
        if (ddl.options[i].value == value)
        {
            ddl.selectedIndex = i;
            return;
        }
    }
    
    ddl.selectedIndex = 0;
}

function annullaPropagazioneEvento(e)
{
    e.cancelBubble = true;                      /*Solo per IE */
    if (e.stopPropagation) e.stopPropagation(); /* W3C*/
    
    e.returnValue = false;                      /*Solo per IE */
	if (e.preventDefault) e.preventDefault();   /* W3C*/
}


function setFocusCampoEx(campo, delay)
{
    setFocusCampo(GetClientId(campo), delay);
}

function setFocusCampo(campo, delay)
{    
    var fun = "focusCampo('" + campo + "')";
        
    setTimeout(fun, delay);
}    

function focusCampo(campo)
{
    var c = document.getElementById(campo);

    if(c) { c.focus(); }
}

function GetUniqueId(serverId)
{
    var array = serverId.split("_", 5);
    var tmp = "";
    for (var i = 0; i < array.length; i++)
    {
        tmp += array[i] + "$";
    }
    
    tmp = tmp.substring(0, tmp.length - 1);
    return tmp;
}

function setGrid(idGrid)
{
    var tbl = document.getElementById(idGrid);
    
    if(!tbl) return;
    
    var trList = tbl.getElementsByTagName("tr");
    
    for (var i = 1; i < trList.length; i++) 
    {
        if((i % 2) == 0) { trList[i].className = "alternate"; }
        
        trList[i].oldClassName = trList[i].className;
                
        trList[i].onmouseover = function() { this.className = "seleziona"; }
        trList[i].onmouseout = function() { this.className = this.oldClassName; }
    }
}

function setRowsForPostBack(idGrid)
{
    var tbl = document.getElementById(idGrid);
    
    if(!tbl) return;
    
    var trList = tbl.getElementsByTagName("tr");
    var argument;
    
    for (var i = 1; i < trList.length; i++) 
    {
        trList[i].argument = 'Select$' + (i - 1);
             
        trList[i].onclick = function () 
        {            
            __doPostBack(GetUniqueId(idGrid), this.argument);
        }
    }
}

function setRowsForAddSott(idGrid, colIndex)
{
    var tbl = document.getElementById(idGrid);
    
    if(!tbl) return;
    
    var trList = tbl.getElementsByTagName("tr");
    var td;
    var btn;
    
    for (var i = 1; i < trList.length; i++) 
    {
        td = trList[i].getElementsByTagName("td")[colIndex];
        
        if(!td) return;
        
        // pulsante ADD
        btn = td.getElementsByTagName("input")[0];
        
        if (!btn) continue;
        if (btn.id.indexOf("btnAdd") > 0)
        {
            btn.argument = 'Add$' + (i - 1);
        }
        else
        {
            if (btn.id.indexOf("btnSot") > 0)
            {
                btn.argument = 'Sott$' + (i - 1);
            }
        }
        
        btn.onclick = function (e) 
        {
            var e = e || window.event;
    	
	        //Evito che l'evento si propaghi in alto nel DOM,
	        //fino a  raggiungere l'evento del click sulla riga
            e.cancelBubble = true;                      /*Solo per IE */
            if (e.stopPropagation) e.stopPropagation(); /* W3C*/    	                

            __doPostBack(GetUniqueId(idGrid), this.argument);
        }
        
        // pulsante SOTTRAZIONE
        btn = td.getElementsByTagName("input")[1];
        
        if(!btn) continue;
        
        btn.argument = 'Sott$' + (i - 1);
        
        btn.onclick = function (e) 
        {
            var e = e || window.event;
    	
	        //Evito che l'evento si propaghi in alto nel DOM,
	        //fino a  raggiungere l'evento del click sulla riga
            e.cancelBubble = true;                      /*Solo per IE */
            if (e.stopPropagation) e.stopPropagation(); /* W3C*/    	                

            __doPostBack(GetUniqueId(idGrid), this.argument);
        }          

    }
}

function setRowsForDelete(idGrid, colIndex)
{
    var tbl = document.getElementById(idGrid);
    
    if(!tbl) return;
    
    var trList = tbl.getElementsByTagName("tr");
    var td;
    var btn;
    
    for (var i = 1; i < trList.length; i++) 
    {
        td = trList[i].getElementsByTagName("td")[colIndex];
        
        if(!td) return;
        
        // pulsante DELETE
        btn = td.getElementsByTagName("input")[0];
        
        if(!btn) continue;
        
        btn.argument = 'Delete$' + (i - 1);
        
        btn.onclick = function (e) 
        {
            var e = e || window.event;
    	
	        //Evito che l'evento si propaghi in alto nel DOM,
	        //fino a  raggiungere l'evento del click sulla riga
            e.cancelBubble = true;                      /*Solo per IE */
            if (e.stopPropagation) e.stopPropagation(); /* W3C*/    	                

            if(confirm("Vuoi eliminare l'elemento selezionato?"))
            {
                __doPostBack(GetUniqueId(idGrid), this.argument);
            }
        }
        
    }
}

function setRowsForEdit(idGrid, colIndex)
{
    var tbl = document.getElementById(idGrid);
    
    if(!tbl) return;
    
    var trList = tbl.getElementsByTagName("tr");
    var td;
    var btn;
    
    for (var i = 1; i < trList.length; i++) 
    {
        td = trList[i].getElementsByTagName("td")[colIndex];
        
        if(!td) return;
        
        btn = td.getElementsByTagName("input")[0];
        
        if(!btn) continue;
        
        btn.argument = 'Select$' + (i - 1);
    
        btn.onclick = function (e) 
        {
            var e = e || window.event;
    	
	        //Evito che l'evento si propaghi in alto nel DOM,
	        //fino a  raggiungere l'evento del click sulla riga
            e.cancelBubble = true;                      /*Solo per IE */
            if (e.stopPropagation) e.stopPropagation(); /* W3C*/    	                

            __doPostBack(GetUniqueId(idGrid), this.argument);
        }       
    }
}













function createCookie(name, value, days) 
{
	if (days)
	{
		var date = new Date();
		date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
		var expires = "; expires=" + date.toGMTString();
	}
	else var expires = "";
	
	document.cookie = name + "=" + value + expires + "; path=/";
}

function PageQuery(q) 
{    
	if(q.length > 1)
		this.q = q.substring(1, q.length);
	else
		this.q = null;
		
	this.keyValuePairs = new Array();
			
	if(this.q) 
	{	    
		for(var i = 0; i < this.q.split("&").length; i++)
		{
			this.keyValuePairs[i] = this.q.split("&")[i];
		}
	}
	
	this.getKeyValuePairs = function() 
	{ 
		return this.keyValuePairs; 
	}
	
	this.getValue = function(s) 
	{
		for(var j = 0; j < this.keyValuePairs.length; j++) 
		{
			if(this.keyValuePairs[j].split("=")[0] == s)
				return this.keyValuePairs[j].split("=")[1];
		}

		return false;
	}
	
	/*
	this.getParameters = function() 
	{
		var a = new Array(this.getLength());
		
		for(var j = 0; j < this.keyValuePairs.length; j++) 
		{
			a[j] = this.keyValuePairs[j].split("=")[0];
		}
		
		return a;
	}
	*/
	
	this.getLength = function() 
	{ 
		return this.keyValuePairs.length; 
	}
}

function queryString(key)
{
	var page = new PageQuery(window.location.search);
    return unescape(page.getValue(key));
}

function TreeviewExpandCollapseAll(treeViewId, expandAll)
{
    var displayState = (expandAll == true ? "none" : "block");
    var treeView = getElementByIdEx(treeViewId);
	
	if(treeView)
	{
		var treeLinks = treeView.getElementsByTagName("a");
		var nodeCount = treeLinks.length;
		var flag = true;
	
		for(i = 0; i < nodeCount; i++)
		{
			if(treeLinks[i].firstChild.tagName)
			{
				if(treeLinks[i].firstChild.tagName.toLowerCase() == "img")
				{
					var node = treeLinks[i];
					var level = parseInt(treeLinks[i].id.substr(treeLinks[i].id.length - 1), 10);
					var childContainer = GetParentByTagName("table", node).nextSibling;
					
					if(flag)
					{
						if(childContainer.style.display == displayState)
						{
							TreeView_ToggleNode(eval(treeViewId + "_Data"), level, node, 'r', childContainer);
						}
						flag = false;
					}
					else
					{
						if(childContainer.style.display == displayState)
							TreeView_ToggleNode(eval(treeViewId + "_Data"), level, node, 'l', childContainer);
					}
				}
			}
		}//for loop ends
	}
}//utility function to get the container of an element by tagname

function GetParentByTagName(parentTagName, childElementObj)
{
    var parent = childElementObj.parentNode;
    
    while(parent.tagName.toLowerCase() != parentTagName.toLowerCase())
    {
        parent = parent.parentNode;
    }
    
    return parent;
}

function expandAll(treeViewId)
{
     var treeView = document.getElementById(treeViewId);
     var treeLinks = treeView.getElementsByTagName("a");
     var j = true;
     for(i=0;i<treeLinks.length;i++)
     {
          if(treeLinks[i].firstChild.tagName == "IMG")
          {
            var node = treeLinks[i];
            var level = parseInt(treeLinks[i].id.substr(treeLinks[i].id.length - 1),10);
            var childContainer = document.getElementById(treeLinks[i].id + "Nodes");
           
           if(j)
            {
                if(childContainer.style.display == "none")
                TreeView_ToggleNode(eval(treeViewId +"_Data"),level,node,'r',childContainer);
                j = false;
            }
            else
            {
                if(childContainer.style.display == "none")
                TreeView_ToggleNode(eval(treeViewId +"_Data"),level,node,'l',childContainer);
            }
          }
      }
}

function collapseAll(treeViewId)
{
     var treeView = document.getElementById(treeViewId);
     var treeLinks = treeView.getElementsByTagName("a");
     var j = true;
     for(i=0;i<treeLinks.length;i++)
     {
          if(treeLinks[i].firstChild.tagName == "IMG")
          {
            var node = treeLinks[i];
            var level = parseInt(treeLinks[i].id.substr(treeLinks[i].id.length - 1),10);
            var childContainer = document.getElementById(treeLinks[i].id + "Nodes");
           
           if(j)
            {
                if(childContainer.style.display == "block")
                TreeView_ToggleNode(eval(treeViewId +"_Data"),level,node,'r',childContainer);
                j = false;
            }
            else
            {
                if(childContainer.style.display == "block")
                TreeView_ToggleNode(eval(treeViewId +"_Data"),level,node,'l',childContainer);
            }
          }
      }
}   

function roundTo(value, decimalpositions)
{
    var i = value * Math.pow(10,decimalpositions);
    i = Math.round(i);
    return i / Math.pow(10,decimalpositions);
} 

function getDataOggi()
{
    var oggi = new Date();
    var giorno = oggi.getDate();
    var mese = oggi.getMonth() + 1;
    var anno = oggi.getYear();
    var DataOggi = giorno + "/" + mese + "/" + anno;
    
    return DataOggi;
}


