    var Framework = new Object();

    /*
    |-------------------------------------------------------------------|
    |                                                                   |
    | Title : CrossBrowser Framework                                    |
    | Resume: Framework CrossBrowser para IE, Firefox, Netscape etc.    |
    | Author: José Carlos de Jesus Junior                               |
    | File  : Cappuccino.Framework.Web.UI.JS                            |
    |-------------------------------------------------------------------|
    */

    function openWin(url, name, w, h)
    {	
	    largura = screen.width;
	    altura  = screen.height;
	    XX = (largura-w) / 2;
	    YY = (altura-h) / 2;
	    action = "";
	    newwindow = window.open(url, name, 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,height='+ h +',width='+ w +',left='+XX+',top='+YY);
    }
    		
    function openWinResize(url, name, w, h)
    {	
	    largura = screen.width;
	    altura  = screen.height;
	    XX =(largura-w)/2;
	    YY =(altura-h)/2;
	    action ="";
	    newwindow = window.open(url,name,'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,height='+h+',width='+w+',left='+XX+',top='+YY);
    }

    function openWinNoScroll(url,name,w,h)
    {	
	    largura = screen.width;
	    altura = screen.height;
	    XX =(largura-w)/2;
	    YY =(altura-h)/2;
	    action ="";
	    newwindow = window.open(url,name,'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,height='+h+',width='+w+',left='+XX+',top='+YY);
    }

    function RodarFlash(path, variaveis, _width, _height)
    {
	    document.write('<div style="z-index: 0;"><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="'+_width+'" height="'+_height+'">')
		    document.write('<param name="movie" value="'+path+'?'+variaveis+'">')
		    document.write('<param name="quality" value="high">')
		    document.write('<param name="wmode" value="transparent">')
		    document.write('<embed src="'+path+'?'+variaveis+'" width="'+_width+'" height="'+_height+'" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent"></embed>')
	    document.write('</object></div>')
    }
    
    function CrossBrowser()
    {
        /*
		    Funcao          :   Browser
		    Descricao       :   Retorna as configurações no navagedor do usuário;
		    Entrada         :   N/A;
	    */
        this.Browser = function()
        {
            try
            {
	            var agent	= navigator.userAgent.toLowerCase();
	            this.isWin	= agent.indexOf("win") > -1;
	            this.isMac	= agent.indexOf("mac") > -1;
	            this.isUNIX	= agent.indexOf("x11") > -1;

	            this.isOpera = agent.indexOf("opera") > -1;
	            this.isFirefox	= agent.indexOf("firefox") > -1;
	            this.isIE	= agent.indexOf("msie") > -1;
	            this.isNS	= agent.indexOf("netscape") > -1;

	            this.resWidth	= window.screen.width;
	            this.resHeight = window.screen.height;
	        }
	        catch(e)
	        {
	            alert('Atenção:\n\nOcorreu um no método Browser.Detalhes:\n' + e.description);
	            return false;
	        }
        }
        
        /*
		    Funcao          :   GetElementWidth
		    Descricao       :   Retorna a propriedade WIDTH de um elemento;
		    Entrada         :   (string:ID)
	    */
        this.GetElementWidth = function(ID) 
        {
            try
            {
	            if (this.Browser.isNS)
	            {
		            var elem = getObjNN4(document, Elem);
		            return elem.clip.width;
	            } 
	            else 
	            {
	                var elem = this.GetElementByID(ID);
        		
		            if (this.Browser.isOpera) 
		            {
			            xPos = elem.style.pixelWidth;
		            } 
		            else 
		            {
			            xPos = elem.offsetWidth;
		            }
        		    
		            return xPos;
	            }
	        }
	        catch(e)
	        {
	            alert('Atenção:\n\nOcorreu um no método GetElementWidth.Detalhes:\n' + e.description);
	            return false;
	        }
        }
        
        /*
		    Funcao          :   GetElementHeight
		    Descricao       :   Retorna a propriedade HEIGHT de um elemento;
		    Entrada         :   (string:ID)
	    */
        this.GetElementHeight =  function(ID)
        {
            try
            {
	            if (this.Browser.isNS) 
	            {
		            var elem = getObjNN4(document, ID);
		            return elem.clip.height;
	            } 
	            else 
	            {
	                var elem = this.GetElementByID(ID);
	                
		            if (this.Browser.isOpera) 
		            { 
			            xPos = elem.style.pixelHeight;
		            } 
		            else 
		            {
			            xPos = elem.offsetHeight;
		            }
        		    
		            return xPos;
                }
	        }
	        catch(e)
	        {
	            alert('Atenção:\n\nOcorreu um no método GetElementHeight.Detalhes:\n' + e.description);
	            return false;
	        }
        }
        
        
        /*
		    Funcao          :   GetElementTop
		    Descricao       :   Retorna a propriedade TOP de um elemento;
		    Entrada         :   (string:ID)
	    */
        this.GetElementTop = function(ID) 
        {
            try
            {
	            if (this.Browser.isNS) 
	            {
		            var elem = getObjNN4(document, ID);
		            return elem.pageY;
	            } 
	            else 
	            {
		            if(document.getElementById)
		            {	
			            var elem = document.getElementById(ID);
		            }
		            else if (document.all) 
		            {
			            var elem = document.all[ID];
		            }
                    
                    yPos = elem.offsetTop;
		            tempEl = elem.offsetParent;
        		    
		            while (tempEl != null) 
		            {
  			            yPos += tempEl.offsetTop;
	  		            tempEl = tempEl.offsetParent;
  		            }
        		
		            return yPos;
	            }
	        }
	        catch(e)
	        {
	            alert('Atenção:\n\nOcorreu um no método GetElementTop.Detalhes:\n' + e.description);
	            return false;
	        }
        }
        
        /*
		    Funcao          :   GetElementLeft
		    Descricao       :   Retorna a propriedade LEFT de um elemento;
		    Entrada         :   (string:ID)
	    */
        this.GetElementLeft = function(ID) 
        {
            try
            {
	            if (this.Browser.isNS) 
	            {
		            var elem = getObjNN4(document, ID);
		            return elem.pageX;
	            } 
	            else 
	            {
    	            
                    var elem = this.GetElementByID(ID);		        
        		
		            xPos = elem.offsetLeft;
		            tempEl = elem.offsetParent;
        		    
  		            while (tempEl != null) 
  		            {
  			            xPos += tempEl.offsetLeft;
	  		            tempEl = tempEl.offsetParent;
  		            }
		            return xPos;
	            }
	        }
	        catch(e)
	        {
	            alert('Atenção:\n\nOcorreu um no método GetElementLeft.Detalhes:\n' + e.description);
	            return false;
	        }
        }
        
         /*
		    Funcao          :   GetElementByID
		    Descricao       :   Retorna um elemento de acordo com seu ID;
		    Entrada         :   (string:ID)
	    */
	    this.GetElementByID = function(ID)
	    {
	        var elemento = null;
    	    
	        try
	        {
                if( document.layers) 
                {   
                    elemento = document.layers[ID];
                }
                else if(document.all)
                {
                    elemento = document.all[ID];
                    
                }
                else if(document.getElementById)
                {
                    elemento = document.getElementById(ID);
                }
                return elemento;
            }
            catch(e)
	        {
            alert('Atenção:\n\nOcorreu um no método GetElementByID.Detalhes:\n' + e.description);
	            return false;
	        }
	    }
    	
	     /*
		    Funcao          :   GetElementByID
		    Descricao       :   Retorna uma lista de elementos de uma TAG específica;
		    Entrada         :   (string:TagName)
	    */
	    this.GetElementsByTagName = function(TagName)
	    {
	        try
	        {
               return document.getElementsByTagName(TagName);
            }
            catch(e)
	        {
                alert('Atenção:\n\nOcorreu um no método GetElementsByTagName.Detalhes:\n' + e.description);
	            return false;
	        }
	    }
	    
	    /*
		    Funcao          :   HelloWord
		    Descricao       :   Método de exemplo para função Hello World
		    Entrada         :   (int:ID)
	    */
	    this.HelloWord = 
	    {
	        Message1 : "Mensagem One",
	        Message2 : "Mensagem Two",
	        Message3 : "Mensagem Three",
        	
	        Show : function()
	        {
	            if(arguments.length>0)
	            {
	                var I = arguments[0];
	                
	                if(I==1)alert(this.Message1);
	                if(I==2)alert(this.Message2);
	                if(I==3)alert(this.Message3);
	            }
	        }
        }
        
        this.Flash = 
        {
            ActivateFlash : function()
            {
                var objects = document.getElementsByTagName("object");
                
                for (var i = 0; i < objects.length; i++) 
                { 
                    objects[i].outerHTML = objects[i].outerHTML;
                } 
            },
            
            ActivateById : function(ID)
            {
                var object = Framework.GetElementByID(ID); 
                
                if(object)
                {
                    object.outerHTML = object.outerHTML;    
                }
            }
        }
    }
    
    
    /*
		Funcao          :   InitializeFramework
		Descricao       :   Método de Inicialização do Framework para Javascript CrossBrowser
		Entrada         :   N/A
	*/
	this.InitializeFramework = function()
	{
        try
        {
            Framework           = new CrossBrowser();
            Framework.Browser   = new Framework.Browser();  
        }
        catch(e)
        {
            alert('Atenção:\n\nOcorreu um no método InitializeFramework.Detalhes:\n' + e.description);
            return false;
        }
    }
    
    InitializeFramework();

