﻿//Variaveis Globais.
var glbUserID = "";
var glbDesktopID = "";
var glbDesktopArr = new Array();
var strDesktopType = "PE";
var glbScreen = "logadaprofessor";
var glbTipoUsuario = "";

//Função que faz o Pre-Load do Gadget.
function preLoadGadget()
    {
        document.getElementById("dvLoadGadget").innerHTML = "<b>Gadget incluido com sucesso! Verifique abaixo na sua área de conteúdo.</b>"; 
    }

//Função de Pré-Load da Página.
function preLoad(action)
    {
        //glbUserID = Bic.Conteudo.logadaprofessor.requestUserID().value;
        
        if(action == 1)
        {
            //Caso o Usuario esteja logado, carrega a lista de Gadget.
            $(document).ready(function() { 
                $.unblockUI();    
            });  
        }        
        resizeCaller();          
    }

function recuperaUsuario() 
    {
        glbUserID = Bic.Conteudo.logadaprofessor.requestUserID().value;
        return glbUserID;
    }
     
//Exibe Modal para Erros e Mesagens.
function getModal(blShow, strMessage, strAutoHide)
    {
        //Modal.
        if (blShow)
            {
                document.getElementById('msgRetorno').innerHTML = strMessage;
                
                if (strAutoHide)
                    {
                        $(document).ready(function() { 
                                $.blockUI({ message: $('#msgRetorno') });
                                setTimeout($.unblockUI, 2000);              
                        });                           
                    }      
                else
                    {
                        $(document).ready(function() { 
                                $.blockUI({ message: $('#msgRetorno') });              
                        });                       
                    }                                     
            }
        else
            {
                $(document).ready(function() { 
                    $.unblockUI();    
                });             
            }     
    }
//Modal Esquecinha senha.
function abreEsqueciSenha()
    {
        if(document.getElementById("dvSenha").style.display == 'none')
        {
            $(document).ready(function() { 
                $.blockUI({ message: $('#dvSenha') });              
            });     
        }
        else
        {
            $(document).ready(function() { 
                $.unblockUI();    
            });  
        }
              
    }
    
//Modal de Help!!
function abreHelp(IFheight, IFwidth)
    {
        if(document.getElementById("dvHelp").style.display == 'none')
        {
            $(document).ready(function() { 
                $.blockUI({
                    message: $('#dvHelp'),
                    css: { 
                        top:  ($(window).height() - IFheight) /2 + 'px', 
                        left: ($(window).width() - IFwidth) /2 + 'px', 
                        width: IFwidth+'px',
                        border: 'none'
                    }  
                });              
            });     
        }
        else
        {
            $(document).ready(function() { 
                $.unblockUI();    
            });  
        }
              
    }
//Abre o Modal de Cadastro de Usuário.
function getModalFormCadastro(strMessage)
    {
        document.getElementById('dvCadastro').innerHTML = strMessage;
        
        $(document).ready(function() { 
                $.blockUI({ message: $('#dvCadastro'), css: {margin: '-5%,0,0,0'} });
                setTimeout($.unblockUI, 3000);             
        });  
    }    

//Função que Abre/Fecha a Aba de Conteudos.
function toogleConteudo()
    {
        var objBtMenuProfe = document.getElementById('btMenuProfe');

        if (objBtMenuProfe.src.split("/")[objBtMenuProfe.src.split("/").length-1].toString() == "icone_minimizar.gif")
            {
               
                objBtMenuProfe.src = "images/icone_envio_pdf.gif";
                $('#ProfessorDesktopAluno:visible').slideToggle(200);
            }
        else
            {
                objBtMenuProfe.src = "images/icone_minimizar.gif";
                $('#ProfessorDesktopAluno:hidden').slideToggle(200);        
            }
    }
    
//Função de Gravação de Posicionamento de Gadgets.
function insertGadget(strDados)
    {
        try
          {              
              if(Bic.Conteudo.logadaprofessor.insertGadget(strDados).value)
                {
                  strMessage = "<br /><h2>Desktop Atualizado com Sucesso!!!</h2><br />";                  
                  getModal(true, strMessage, true);
                }
          }
        catch(ex)
          {
              alert(ex.description);
          }    
    }  
    
//Função que Recupera o Posicionamento de Gadgets.
function getGadget(intDesktopID)
    {
        try
          {
                var ds = Bic.Conteudo.logadaprofessor.getGadget(intDesktopID).value;
                var rows = ds.Tables[0].Rows.length;
                var avaliableGadget;
                
                if (rows > 0)
                    {
                        for(i=0;i<=rows-1;i++)
                            {
                                avaliableGadget = 'gadget' + ds.Tables[0].Rows[i].GADGET_COLUNA + ds.Tables[0].Rows[i].GADGET_LINHA;
                                window.frames.frmGadget.getGadget(avaliableGadget, ds.Tables[0].Rows[i].GADGET_TIPO_ID, ds.Tables[0].Rows[i].RSS_URL, ds.Tables[0].Rows[i].GADGET_ID);
                            }                                                
                    }

                    if (document.getElementById("msgRetorno").style.display == "block") {
                        getModal(false, "", false);
                    }
          }                         
        catch(ex)
          {
              alert(ex.description);
          }

        resizeCaller();          
    }     
    
//Função para Chamar os Gadgets quando clicado nas opções pré-fixadas.
function callGadget(strType, strURLRSS)
    {        
        self.frmGadget.loadGadget(strType, strURLRSS);
        resizeCaller();
    }

//Função para criação de um novo Gadget.
function newRss(strType, strURLRSS)
    {
        if (strURLRSS == "" || strURLRSS == "Adicionar RSS")
            {
                return
            }
            
        callGadget(strType, strURLRSS);
        
        tb_remove();
    }    

//Função para Carregar o Desktop do Usuario dependendo da aba clicada.
function getDesktop(strType)
    {        
        if (strType == "PE")
            {
                strMessage = "<br /><img src='images/busy.gif' border=0/> <h2>Carregando Desktop Pessoal</h2><br />";
                document.getElementById('imgPessoal').src = "images/bt_pessoal_active.gif";
                document.getElementById('imgProfissional').src = "images/bt_profissional.gif";
            }
        else
            {
                strMessage = "<br /><img src='images/busy.gif' border=0/> <h2>Carregando Desktop Profissional</h2><br />";
                document.getElementById('imgPessoal').src = "images/bt_pessoal.gif";
                document.getElementById('imgProfissional').src = "images/bt_profissional_active.gif";                
            }
        
        getModal(true, strMessage, false);
        strDesktopType = strType;
        document.getElementById('frmGadget').contentWindow.location.reload(true);                                                                                                                                                                  
    }
    
//Pega parâmetro da URL.
function getParameter( name )
{ 
    name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]"); 
    var regexS = "[\\?&]"+name+"=([^&#]*)"; 
    var regex = new RegExp( regexS ); 
    var results = regex.exec( window.location.href ); 
    if( results == null ) 
    return ""; 
    else 
    return results[1];
}

//Redireciona para a pagina de criacao de novos Desktops.
function redirectDesktop(strType)
    {
        if (strType == "PF")
            {
                window.location = "desktopprofessoraluno.aspx";
            }
        else
            {
                window.location = "desktoppapeleiro.aspx";
            }
    }

function findPosX(obj)
{
    var curleft = 0;
    if(obj.offsetParent)
        while(1)
        {
          curleft += obj.offsetLeft;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.x)
        curleft += obj.x;
    return curleft;
}

function findPosY(obj)
{
    var curtop = 0;
    if(obj.offsetParent)
        while(1)
        {
          curtop += obj.offsetTop;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.y)
        curtop += obj.y;
    return curtop;
}


function getElementsByAttribute(oElm, strTagName, strAttributeName, strAttributeValue)
{
    var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
    var arrReturnElements = new Array();
    var oAttributeValue = (typeof strAttributeValue != "undefined")? new RegExp("(^|\\s)" + strAttributeValue + "(\\s|$)", "i") : null;
    var oCurrent;
    var oAttribute;
    for(var i=0; i<arrElements.length; i++)
    {
        oCurrent = arrElements[i];
        oAttribute = oCurrent.getAttribute && oCurrent.getAttribute(strAttributeName);
        if(typeof oAttribute == "string" && oAttribute.length > 0){ 
            if(typeof strAttributeValue == "undefined" || (oAttributeValue && oAttributeValue.test(oAttribute))){
                arrReturnElements.push(oCurrent);
            }
        }
    }
    return arrReturnElements;
}

//Reajusta Tamanho do Frame para todos os Browsers.
    
// declare iframe ids here:
var iframeids=["frmGadget"]

//Should script hide iframe from browsers that don't support this script (non IE5+/NS6+ browsers. Recommended):
var iframehide="yes"

var getFFVersion=navigator.userAgent.substring(navigator.userAgent.indexOf("Firefox")).split("/")[1]
var FFextraHeight=parseFloat(getFFVersion)>=0.1? 16 : 0 //extra height in px to add to iframe in FireFox 1.0+ browsers

function resizeCaller() {
var dyniframe=new Array()
for (i=0; i<iframeids.length; i++){
if (document.getElementById)
resizeIframe(iframeids[i])
//reveal iframe for lower end browsers? (see var above):
if ((document.all || document.getElementById) && iframehide=="no"){
var tempobj=document.all? document.all[iframeids[i]] : document.getElementById(iframeids[i])
tempobj.style.display="block"
}
}
}

function resizeIframe(frameid){
    try {
        var currentfr = document.getElementById(frameid)
        if (currentfr && !window.opera) {
            currentfr.style.display = "block"
            if (currentfr.contentDocument && currentfr.contentDocument.body.offsetHeight) //ns6 syntax
                currentfr.height = currentfr.contentDocument.body.offsetHeight + FFextraHeight;
            else if (currentfr.Document && currentfr.Document.body.scrollHeight) //ie5+ syntax
                currentfr.height = currentfr.Document.body.scrollHeight;
            if (currentfr.addEventListener)
                currentfr.addEventListener("load", readjustIframe, false)
            else if (currentfr.attachEvent) {
                currentfr.detachEvent("onload", readjustIframe) // Bug fix line
                currentfr.attachEvent("onload", readjustIframe)
            }
        }    
    }
    catch (ex) { 
    }
}

function readjustIframe(loadevt) {
var crossevt=(window.event)? event : loadevt
var iframeroot=(crossevt.currentTarget)? crossevt.currentTarget : crossevt.srcElement
if (iframeroot)
resizeIframe(iframeroot.id);
}

function loadintoIframe(iframeid, url){
if (document.getElementById)
document.getElementById(iframeid).src=url
}

if (window.addEventListener)
window.addEventListener("load", resizeCaller, false)
else if (window.attachEvent)
window.attachEvent("onload", resizeCaller)
else
window.onload=resizeCaller    