﻿var distanceWindowX = parseInt( screen.width >> 1 ) - (window.screenLeft? window.screenLeft:(window.screenX? window.screenX:0));		    	    
var distanceWindowY = parseInt( screen.height>> 1 ) - (window.screenTop ? window.screenTop :(window.screenY? window.screenY:0));		 

function LtnWinMsg(visor)
{
    var mainWindow;
    var viewer = visor;
    var divContent;
    var deltaXPanel = 0;
    var deltaYPanel = 0;
    var mouseClickedPanel = false;
    var documentOnMouseMove;
    this.enabled = false;
    var othis = this;
    this.getPanel = function()
    {
        return mainWindow;
    }
    this.getContent = function()
    {
        return divContent;
    }
    this.addContentNode = function(nodeContent)
    {
        divContent.appendChild(nodeContent);
    }
    this.addContentText = function(contentText)
    {
        divContent.innerHTML += contentText;
    }
   
    this.init   =   function(id, imgsrc, name, viewerP)
    {
        viewer   = viewerP;
	    mainWindow                      = document.createElement ('DIV') ;
	    mainWindow.id                   = id ;
	    mainWindow.style.position       = 'absolute';
	    mainWindow.style.zIndex         = 1000;
	    mainWindow.style.cursor         = "move";  
	    mainWindow.style.visibility     = 'visible';
	    mainWindow.style.backgroundColor= '#10669f';
	    mainWindow.style.borderLeft     = '#10669f solid 1px';
	    mainWindow.style.borderTop      = '#10669f solid 1px';
	    mainWindow.style.borderRight    = '#10669f solid 1px';
	    mainWindow.style.borderBottom   = '#10669f solid 1px';
	    mainWindow.style.padding        = '1px' ;
	    mainWindow.align                = 'right' ;
	    mainWindow.style.left	        = distanceWindowX+"px";
	    mainWindow.style.top		    = distanceWindowY+"px";
	    documentOnMouseMove             = document.onmousemove;	
	    
	    if (document.addEventListener)
		{
			mainWindow.addEventListener   ( "mousedown",    function (e)    { OnLayerBeginPanel(e); }, false);
			document.addEventListener     ( "mousemove",    function (e)    { OnLayerMovePanel(e); }, false);
			mainWindow.addEventListener   ( "mouseup",      function (e)    { OnLayerEndPanel(e); }, false);			
		}
		else
		{
			mainWindow.onmousedown	        = OnLayerBeginPanel ;
			document.onmousemove	        = OnLayerMovePanel ;
			mainWindow.onmouseup            = OnLayerEndPanel ;	
		}			
	    	
	    //mainWindow.onmouseout	        = OnLayerEndPanel ;
	    var lnk         = document.createElement ('IMG') ;
	    lnk.onclick     = close ;
	    lnk.alt         = 'Cerrar ventana';
	    lnk.src	        = document.getElementById(viewer.getBaseID() + viewer.getGUID() + "_buttonClose").value;
	    lnk.style.cursor= 'pointer';
	    lnk.aling       = 'rigth';

	    tableValueGral = document.createElement ('TABLE') ;
	    tbodyvalueGral = document.createElement('TBODY');
	    tableValueGral.cellSpacing  = '0';
	    tableValueGral.cellPadding  = '0';
	    trAuxGral               = document.createElement('TR');
	    trAuxGral.style.width   = '100%';
	    tdAuxGral               = document.createElement('TD');
	    tdAuxGral.align         = 'left';
	    tdAuxGral.valign        = 'middle';
	    if( imgsrc != null && imgsrc != "" )
	    {
	        iconPanel               = document.createElement('IMG');
	        iconPanel.src           = imgsrc;
	        tdAuxGral.appendChild (iconPanel) ;
	    }
	    fontAux         = document.createElement('FONT');
	    fontAux.face    = 'Verdana';
	    fontAux.size    = -1;
	    fontAux.color   = '#ffffff';
	    bAux0           = document.createElement('NOBR');
	    bAux            = document.createElement('STRONG');
	    bAux.appendChild(document.createTextNode(name));
	    bAux0.appendChild(bAux);
	    bAux0.innerHTML  = '&nbsp;'+bAux0.innerHTML+'&nbsp;&nbsp;&nbsp;&nbsp;';
	    fontAux.appendChild(bAux0);
    	
	    tdAuxGral.appendChild(fontAux);
	    trAuxGral.appendChild(tdAuxGral);
	    tdAuxGral           = document.createElement('TD');
	    tdAuxGral.align     = 'right';
	    tdAuxGral.valign    = 'middle';
	    tdAuxGral.appendChild (lnk) ;
	    trAuxGral.appendChild(tdAuxGral);
	    tbodyvalueGral.appendChild (trAuxGral) ; 
	    trAuxGral               = document.createElement('TR');
	    trAuxGral.style.width   = '100%';
	    tdAuxGral               = document.createElement('TD');
	    tdAuxGral.colSpan       = '2';

	    divContent = document.createElement('DIV');
        divContent.style.backgroundColor = '#eef5fe' ;
	    tdAuxGral.appendChild(divContent);
	    trAuxGral.appendChild(tdAuxGral);
	    tbodyvalueGral.appendChild (trAuxGral) ;
	    tableValueGral.appendChild (tbodyvalueGral) ;
    	
	    mainWindow.appendChild(tableValueGral);
    	
	    document.body.appendChild ( mainWindow ) ;
	    this.enabled = true;
    }
    this.finalize = function()
    {
        this.enabled = false;
        if(mainWindow != null)
	    {
            document.body.removeChild ( mainWindow ) ;
            OnLayerEndPanel ();
		    mainWindow = null ;
	    }
	    if( documentOnMouseMove != null )document.onmousemove    = documentOnMouseMove ;		
	    mouseClickedPanel = false ;
	    
    }
    function close()
    {
        viewer.releaseBehavior();
        othis.finalize();
    }
    function OnLayerBeginPanel (e)
    {
	    if (!e) e = window.event
		
	    mouseClickedPanel = true ;
	    if (!document.addEventListener) 
	            mainWindow.setCapture();
        else 
        {
            window.captureEvents(Event.MOUSEMOVE | Event.MOUSEUP );
            window.onmousemove  = OnLayerMovePanel;
            window.onmouseup    = OnLayerEndPanel;
        }
        deltaXPanel = viewer.getBrowser().mousepageX(e) - parseInt(mainWindow.style.left); 
		deltaYPanel = viewer.getBrowser().mousepageY(e) - parseInt(mainWindow.style.top); 
	    viewer.getBrowser().stopEvent(e);
    }

    function OnLayerEndPanel ()
    {
	    mouseClickedPanel = false ;
	    if ( ! document.addEventListener ) 
			mainWindow.releaseCapture();
		else
			window.releaseEvents( Event.MOUSEMOVE | Event.MOUSEUP );
    }
    function OnLayerMovePanel (e)
    {
	    if (!e)e = window.event
    		
	    if (mouseClickedPanel)
	    {
		    var browserName = navigator.appName ;
	        distanceWindowX = viewer.getBrowser().mousepageX(e) - deltaXPanel; 
		    distanceWindowY = viewer.getBrowser().mousepageY(e) - deltaYPanel; 
		    mainWindow.style.left   = distanceWindowX + 'px';
		    mainWindow.style.top    = distanceWindowY + 'px';
	    }
    }
    function isNotEmptyAndPerc(val)
    {
        val = val.toString();
        return ( val!=""  && val.charAt(val.length-1)!='%');
    }
    //Ventanas mas usadas
    this.create2FieldsWindow = function(cab1,end1,cab2,end2,name,imgSrc)
    {
        this.init('panelDistance',imgSrc, name, viewer);
	    var tableValue = document.createElement ('TABLE') ;
	    var tbodyvalue = document.createElement('TBODY');
	    tbodyvalue.id = viewer.getBaseID() + viewer.getGUID() + "tbodypanelDistance";
	    tableValue.bgColor      = '#eef5fe' ;
	    tableValue.style.width  = '100%' ;
	    tableValue.style.height = '100%' ;
	    tableValue.cellSpacing  = '5';
	    tableValue.cellPadding  = '5';
    	
	    var trAux = document.createElement('TR');
	    var tdAux = document.createElement('TD');
	    tdAux.innerHTML = '<span style="font-family:Verdana;font-size:12;"><nobr>'+cab1+'</nobr></span>';
	    trAux.appendChild(tdAux);
	    tdAux   = document.createElement('TD');
	    var divCab1 = document.createElement('DIV');
	    divCab1.id = viewer.getBaseID() + viewer.getGUID()+'divCab1';
	    divCab1.innerHTML =  '<nobr>0 '+end1+'</nobr>';  
	    tdAux.appendChild(divCab1);
	    tdAux.innerHTML = '<span style="font-family:Verdana;font-size:12;">'+tdAux.innerHTML+'</nobr></span>';
	    trAux.appendChild(tdAux);
	    tbodyvalue.appendChild (trAux) ; 
	    trAux = document.createElement('TR');
	    tdAux = document.createElement('TD');
	    tdAux.innerHTML = '<span style="font-family:Verdana;font-size:12;"><nobr>'+cab2+'</nobr></span>';
	    trAux.appendChild(tdAux);
	    tdAux = document.createElement('TD');
	    tdAux.innerHTML = "";
	    var divCab2 = document.createElement('DIV');
	    divCab2.id = viewer.getBaseID() + viewer.getGUID()+'divCab2';
	    divCab2.innerHTML = '<nobr>0 '+end2+'</nobr>'; 
	    tdAux.appendChild(divCab2);
	    tdAux.innerHTML = '<span style="font-family:Verdana;font-size:12;">'+tdAux.innerHTML+'</span>';
	    trAux.appendChild(tdAux);
	    tbodyvalue.appendChild (trAux) ;
	    tableValue.appendChild (tbodyvalue) ;
        this.addContentNode(tableValue);
    }
    this.createTableWindow = function(imgSrc, name, colres)
    {
        if(mainWindow == null) this.init('panelDistance',imgSrc, name, viewer);
        this.getContent().innerHTML = "";
        var tableParent = document.createElement('TABLE');
        var tablebody   = document.createElement('TBODY');
        tableParent.appendChild(tablebody);
        tableParent.cellSpacing  = '0';
        tableParent.cellPadding  = '1';
        tableParent.border       = '1';
        for(var namei = 0; namei < colres.length-1; namei+=2)
    	{
            trAux = document.createElement('TR');
            tdAux = document.createElement('TD');
            tdAux.innerHTML = '<span style="font-family:Verdana;font-size:12;"><nobr>&nbsp;'+colres[namei]+'</nobr></span>';
            trAux.appendChild(tdAux);
            tdAux   = document.createElement('TD');
            tdAux.innerHTML = '<span style="font-family:Verdana;font-size:12;"><nobr>&nbsp;'+colres[namei+1]+'</nobr></span>';
            trAux.appendChild(tdAux);
            tablebody.appendChild (trAux) ; 
    	}
    	this.addContentNode(tableParent);
//    	if( blink != null &&  blink)
//    	    BlinkImg(colres[colres.length-1].split(','));
    }
}
