var menuAttivo = false;
var statusMenuNews = 0;
var editElement = 0;
var enableCloseLightBox = true;

function showTemplatesByType(type, types)
{
    for(var i=0;i<types.length;i++)
    {
        if(i==type)
            document.getElementById('templates_'+i).style.display = "";
        else
            document.getElementById('templates_'+i).style.display = "none";
    }
}

function switchElement(destElement,inputId,formId,style,defaultValue,elementType,callback)
{
    if(!elementType)
        elementType = "input";
	editElement++;
    var value = destElement.innerHTML;
    destElement.innerHTML = "";
    var mouseClickAction = destElement.onclick;
    destElement.onclick = "";
    //var element = document.createElement("input");
    var element = document.createElement(elementType);
    element.value = value;
    element.id = "temp_"+inputId;
    for(i in style)
    {
        element.style[i] = style[i];
    }
    destElement.appendChild(element);
    element.focus();
    element.focus();
    element.select();
    if(callback)
        callback();
    /*var button = document.createElement("input");
    button.type = "button";
    button.value = "salva";
    button.onclick = function ()
    					{ 
    						editElement--;
    						destElement.innerHTML = element.value ;
    						destElement.onmouseover = dblClickAction;
    						var destInput = document.getElementById(inputId);
    						if(!destInput)
    						{
    							var destInput = document.createElement("input");
    							destInput.type = "hidden";
    							destInput.id = inputId;
    							destInput.name = inputId;
    							document.getElementById(formId).appendChild(destInput);
    						}
    						destInput.value = element.value;
    					}*/
    element.onblur = function ()
    					{ 
    						editElement--;
    						destElement.innerHTML = element.value ? element.value : defaultValue;
    						destElement.onclick = mouseClickAction;
    						var destInput = document.getElementById(inputId);
    						if(!destInput)
    						{
    							var destInput = document.createElement("input");
    							destInput.type = "hidden";
    							destInput.id = inputId;
    							destInput.name = inputId;
    							//destInput.value = element.value
    							document.getElementById(formId).appendChild(destInput);
    						}
    						if(element.value == defaultValue)
    						element.value = "";
    						if(value != element.value)
    						  destInput.value = element.value;
    					};
    //destElement.appendChild(button);
}

function __switchElement(origElement,destElement,disableSave)
{
    var parentNode = origElement.parentNode;
    
    var nodi = parentNode.childNodes;
    var totNodi = nodi.length;
    for (var i=0;i<totNodi;i++)
    {
        nodi[0].parentNode.removeChild(nodi[0]);
    }
    
    var element = document.createElement(destElement.elType);
    element.id = "element";
    if(destElement.inputType)
        element.type = destElement.inputType;
    if(destElement.innerHTML)
        element.innerHTML = destElement.innerHTML;
    if(destElement.ondblclick)
        element.ondblclick = destElement.ondblclick;
        
    parentNode.appendChild(element);
        
    if(disableSave)
    {
        element.value = origElement.innerHTML;
        if(destElement.idHidden)
        {
            document.getElementById(destElement.idHidden).value = origElement.value;
            
        }
    }
    else
    {
        element.value = origElement.innerHTML;
        var save    = document.createElement('input');
        save.type = "button";
        save.value = "save";
        save.id = "save";
        save.className = "submit";
        parentNode.appendChild(save);
        save.onclick = function (){switchElement(element,{elType:'span',innerHTML:element.value,ondblclick:origElement.ondblclick,idHidden:destElement.idHidden},true)}
    }
    
    
    
}

function showHideElement(id)
{
    var element = document.getElementById(id);
    if(element.style.display == '')
        element.style.display = 'none';
    else
        element.style.display = '';
}

function showElement(id)
{
    document.getElementById(id).style.display = '';
}

function hideElement(id)
{
    document.getElementById(id).style.display = 'none';
}

function makeRequest(url,callback,async) 
{
    if(async!==false)
        async = true
    
	if (window.XMLHttpRequest) // Mozilla, Safari,...
	{ 
		http_request = new XMLHttpRequest();
	} 
	else if (window.ActiveXObject) // IE
	{ 
		http_request = new ActiveXObject("Microsoft.XMLHTTP");
	}
	if(!http_request)
	{
		return;
	}
	if(callback && async===true)
		http_request.onreadystatechange = callback;
	http_request.open('GET', url, async);
	http_request.send(null);
	if(async===false)
	{
	   callback();
	}
}

function openPopUp(url,width,height)
{
	leftValue = (screen.width - width)/2;
	topValue = (screen.height - height)/2;
	window.open(url,'emoticons','width='+width+',height='+height+',top='+topValue+',left='+leftValue+',scrollbars=1');
}

function getViewportSize()
{
    var viewportwidth;
    var viewportheight;
    
    // the more standards compliant browsers (mozilla/netscape/opera/IE7) use window.innerWidth and window.innerHeight
    
    if (typeof window.innerWidth != 'undefined')
    {
      viewportwidth = window.innerWidth,
      viewportheight = window.innerHeight
    }
    
    // IE6 in standards compliant mode (i.e. with a valid doctype as the first line in the document)
    
    else if (typeof document.documentElement != 'undefined'
     && typeof document.documentElement.clientWidth !=
     'undefined' && document.documentElement.clientWidth != 0)
    {
       viewportwidth = document.documentElement.clientWidth,
       viewportheight = document.documentElement.clientHeight
    }
    
    // older versions of IE
    
    else
    {
       viewportwidth = document.getElementsByTagName('body')[0].clientWidth,
       viewportheight = document.getElementsByTagName('body')[0].clientHeight
    }
    return [viewportwidth, viewportheight];
}

function showLightBox(urlContenuto)
{
    closeLightBox();
    var altezza = document.documentElement.clientHeight;
    var container = document.createElement('DIV');
    container.style.width = "100%";
    container.style.height = altezza+"px";
    
    container.style.position = "absolute";
    container.style.top = "0px";
    container.style.left = "0px";
    
    var viewportSize = getViewportSize();
    var xPos = Math.round(viewportSize[0]);
    var yPos = Math.round(viewportSize[1]);
    container.id = "lightBox";
    var html = '<div style="border:0px solid #f00;position:relative;z-index:100000;filter:alpha(opacity=80);opacity:0.8;width:100%;height:'+altezza+'px;background:#000"></div>';
    html     +='<div onclick="closeLightBox()" style="border:0px solid #0f0;z-index:100000;position:absolute;top:0px;width:100%;left:0px;height:'+altezza+'px"><table onclick="enableCloseLightBox=false" align="center" style="z-index:9999999;height:100%;border:0px solid #f00" onclick=""><tr><td valign="middle" id="lightBoxContent"></td></tr></table></div>';

    container.innerHTML = html;
    document.getElementsByTagName("body")[0].appendChild(container);
    makeRequest(urlContenuto,   function()
                                {
                                    if (http_request.readyState == 4 && http_request.status == 200) 
                                    {
                                        if(http_request.responseText)
                                            document.getElementById("lightBoxContent").innerHTML = http_request.responseText;

                                    }
                                    
                                })
}

function closeLightBox()
{
    if(!enableCloseLightBox)
    {
        enableCloseLightBox = true;
        return;
    }
    var container = document.getElementById("lightBox");
    if(container)
        container.parentNode.removeChild(container);
}

function setQuestionType(obj)
{
    switch(obj.value)
    {
        case 'text':
            document.getElementById("tabellaItems").style.display       = "none";
            document.getElementById("tabellaOpenAnswer").style.display  = "";
            document.getElementById("tabellaSubQuestion").style.display = "none";
            document.getElementById("matrixItemLabel").style.display    = "none";
        break;
        case 'matrix':
            document.getElementById("tabellaSubQuestion").style.display = "";
            document.getElementById("tabellaItems").style.display       = "";
            document.getElementById("tabellaOpenAnswer").style.display  = "none";
            document.getElementById("matrixItemLabel").style.display    = "";
        break;
        default:
            document.getElementById("tabellaItems").style.display       = "";
            document.getElementById("tabellaOpenAnswer").style.display  = "none";
            document.getElementById("tabellaSubQuestion").style.display = "none";
            document.getElementById("matrixItemLabel").style.display    = "none";
        break;
    }
}

function stopEvent(e)
{
    
}

