

function getWindowHeight() {
			var windowHeight = 0;
			if (typeof(window.innerHeight) == 'number') {
				windowHeight = window.innerHeight;
			}
			else {
				if (document.documentElement && document.documentElement.clientHeight) {
					windowHeight = document.documentElement.clientHeight;
				}
				else {
					if (document.body && document.body.clientHeight) {
						windowHeight = document.body.clientHeight;
					}
				}
			}
			return windowHeight;
		}

function trim(str)
{
    return str.replace(/^\s*|\s*$/g,"");
}

function displayError( message )
{
    SetErrorMessage(message);
    ShowErrorMessage();
    return false;    
}
		
function setFooter() {
	if (document.getElementById) {
		var windowHeight = getWindowHeight();
		if (windowHeight > 0) {
			var contentHeight = document.getElementById('Content').offsetHeight;
			var footerElement = document.getElementById('footer');
			var headerElement = document.getElementById('Header');
			var footerHeight  = footerElement.offsetHeight;
			var headerHeight = headerElement.offsetHeight;
			if (windowHeight + 10 - (headerHeight + contentHeight + footerHeight) >= 0) {
				footerElement.style.top = (windowHeight +10 - (headerHeight + contentHeight + footerHeight)) + 'px';
			}
			else 
			{
				footerElement.style.top = '0px';
			}
		}
	}
}

function BackRefresh() 
{ 
	//alert(document.getElementById('hidOnLoadFlag').value);
	statetarget=document.getElementById('stateTarget').value;
	
	if ( document.getElementById('hidEnableRefresh') != null )
	{
		if ( document.getElementById('hidEnableRefresh').value == "true" )
		{
			if ( document.getElementById('hidOnLoadFlag') != null )
			{
				if( document.getElementById('hidOnLoadFlag').value != 'NoRefresh' )
				{
					location.href='index.aspx?target=' + statetarget + '&AllowEntry=true';
					location.replace('index.aspx?target=' + statetarget + '&AllowEntry=true');
				} 
			}
		}
	}	
}

function SetHidLoadFlagToBlank()
{
	if ( document.getElementById('hidOnLoadFlag') != null )
	{
		document.getElementById('hidOnLoadFlag').value = '';
	}
}

/** Web Parts region **/
function SetWebPartTitle()
{
   //alert('SetWebPartTitle()');
   //Store webpartlist  in a hidden field
    if ( webPartTitles )
    {
        document.getElementById('webPartTitlesField').value = BuildList(webPartTitles);   
    }
   
    //scan all webpart to remove titles
    if ( webPartTitles && webPartTitles.length)
    {
       
        var webpart;
        var title;
        
        for ( var x=0; x<webPartTitles.length; x++ )
        {
            webpart = document.getElementById(webPartTitles[x]);
            
            if ( webpart )
            {
            
            
            title = webpart.children[0].children[0].children[0];
           
            
           
            if ( title.innerText.indexOf('Restore') != -1)
            {
                title.className = "minimizedTitle";
                title.style.width = "100px";
                //alert('pippo');
            }
            
            else
            {
                title.style.visibility="hidden";
                //alert(title.style.visibility);
                //alert(webpart.children[0].children[0].children[0].children[0].children[0].children[0].children[0].children[0].innerText);
                webpart.children[0].children[0].children[0].children[0].children[0].children[0].children[0].children[0].innerText = " ";
                //alert(webpart.children[0].children[0].children[0].children[0].children[0].children[0].children[0].children[0].innerText);
            }
            
            
            if ( title.innerText.indexOf('u') != -1 )
            {
                webpart.onmouseenter = function(){
                                                    var title = this.children[0].children[0].children[0];
                                                    title.style.visibility="visible"
                                                    this.style.borderColor = "#e7efff";
                                                 }
                /*webpart.onclick = function(){ 
                                                    
                                                    var title = this.children[0].children[0].children[0];
                                                    if (title.style.display == "none")
                                                    {
                                                        title.style.display="";
                                                        this.className = "editMode";
                                                    }
                                                    else
                                                    {
                                                        title.style.display="none";
                                                        this.className = "";
                                                    }
                                                }*/
                webpart.onmouseleave = function(){
                                                var title = this.children[0].children[0].children[0];
                                                if ( title.innerText.indexOf('Restore') == -1 )
                                                {
                                                  title.style.visibility="hidden";
                                                }
                                                this.style.borderColor = "white";
                                               }
              }
           }
        }
    }
}

/* Create a list of web part titles*/
function BuildList ( Titles )
{

    var list = "";
    for ( var x=0; x<Titles.length; x++ )
    {
        list = list + "'" + Titles[x] + "',";
    }
   
    return list.substring(0,list.length-1);
}

function openPopup(url)
{
    window.open(url,'','location=no,scrollbars=no,resizable=no,height=250,width=500');
}

// DOUBLE DELEGATE
// this very important function takes two function pointers and
// returns a third one calling the two in sequence.
// EXAMPLE:
// window.onload = appendFunction(window.onload, myNewFunction);
function appendFunction(function1, function2)
{
    if (typeof(function1)=='string')
        function1=new Function(function1);
    if (typeof(function2)=='string')
        function2=new Function(function2);

    return function()
    {
        if (function1)
            function1.call(this);
        if (function2)
            function2.call(this);
    }
}

/*
function GetPortalPath()
{
    var url=window.location;
    var urlArray.split("/");
    urlArray=urlArray.splice(0, 4);
    url=urlArray.join("/")+"/";
    return url;
}
*/