/*
 * IdeaValley Innovation
 * FlipSite
 * Maio 2006
 * Luiz Paulo dos Prazeres J?nior
 * 
 * Player Class
 */
 
var playerDoublePath	 = playerPath+"flipPlayerDouble/";
var PlayerDoubleClass		= Class.create();

PlayerDoubleClass.prototype = {


	initialize: function () {

		this.initVars();
		this.initPlayer();
		this.initFunctions();
        objThis = this;
        try{
            $('changePage0').onmouseover = objThis.openPagina0;
            $('changePage0').onmousemove = objThis.openPagina0;
            $("pagina0").onmouseout      = objThis.closePagina0;
        }catch (e){}
		if(typePlayer == "double") FlipAction.register(this.closePagina0All, "gotoPage", "before");
		if(typePlayer == "double") FlipAction.register(this.openClosePagina0, "gotoPage", "after");

	}, //Method initialize


	initFunctions: function () {

		FlipAction.register(this.gotoPage, "gotoPage", "action");
		FlipAction.register(this.gotoEditoria, "gotoEditoria", "action");
		FlipAction.register(FlipAction.gotoEditoria, "gotoMateria", "action");
		FlipAction.register(FlipAction.gotoEditoria, "gotoAnuncio", "action");

	}, //Method initFunctions


	initVars: function (){

		this.myPags	   = 0;
		this.offsetX   = 22;
        this.offsetY   = 2;
        shadowStrength = 40;

	}, //Method initVars


    autoRun: function () {

        page2go = 1;
        if(getQueryString("autoFlip") != ""){
            /*
             * Ativando o autoFlip via endere?o ( queryString ) automaticamente o flip vai para a segunda p?gina e ativar? o modo autom?tico
             * Este processo est? sendo criado neste ponto, pois, o javascript n?o tem controle sobre o carregamento das p?ginas FLASH, ficando a obriga??o do FLASH em ir para a segunda p?gina no carregamento inicial
             * 
             */
            page2go = 2;
        }

        if(getQueryString("page2go") != ""){

            page2go = parseInt(getQueryString("page2go"));
            /*
             * Procedimento criado para evitar BUG do playerDuplo
             * Esse BUG aparece um NAN quando tentamos ir para uma p?gina PAR maior que 5
             * Com esse filtro, o gotoPage do autoRun ir? sempre para a p?gina impar do flip aberto
             */
            if((page2go > 5) && (page2go % 2 == 0) && (page2go != maxPages))
                page2go = page2go+1;

            // Verifica se a p?gina passada como parametro ? maior que o m?ximo de p?ginas
            page2go = (page2go > maxPages) ? maxPages : page2go;
        }
        if(page2go != 1) this.closePagina0All();
        return page2go;

    }, //Method autoRun


	initPlayer: function () {

        try{
            playerSWFPath = playerSWFPath;
        }catch(e){
            playerSWFPath = playerDoublePath+'swf/flip.swf';
        }
        try{
            var uid         = new Date().getTime();
            this.flashProxy = new FlashProxy(uid, frameworkPath+'FlashJavascriptGateway/JavaScriptFlashGateway.swf');
    		this.flash	    = new FlashTag(playerSWFPath,1000, 1000);
    		this.flash.setFlashvars('lcId='+uid);
    		this.flash.setId("playerDouble"+uid);
            this.flash.setSalign("lt");
    		this.flash.setWMode("transparent");

            player  = "<div id='displayPlayerDouble'>"+this.flash.toString()+"</div><!-- displayPlayerDouble -->";
            newComponent(player, "top", $("displayPlayer"));

    		$('displayPlayerDouble').onscroll = function () { $('displayPlayerDouble').scrollTop = 0; $('displayPlayerDouble').scrollLeft = 0; };

            this.setSize();
        }catch ( e ){
//            alert(e.message);
        }

	}, //Method initPlayer


	initFlash: function () {
		//alert(comboOrder[0]+" --- "+comboOrder[1]+" --- "+comboOrder[2]);
        startPage = (getQueryString("page2go") != "") ? getQueryString("page2go") : 1;
        Player.flashProxy.call('initFlip',
    		{
				flipNaWeb:				flipNaWeb,												//Path contendo a url onde o flip esta instalado
    		    layoutPath:       		themePath+"swf/",                                       //Path para SWFs utilizados no Player
    		    pagePath:         		filePath+idPublicacao+"/"+idEdicaoXml+"/PAGINAS3D/",    //Path para paginas .FLIP
    		    useXmlInPath:     		xml,                                                    //Path para XML
    		    smoothness:       		3,                                                      //Suavidade de movimento. OBS: N?o aceita valores menor que 1 pois este ? um divisor.
    		    mapAreaColor:     		0xffffff,                                               //Cor utilizada na area mapeada comum
    		    mapAreaAlpha:     		0,                                                      //Alpha da da area mapeada
    		    mapAreaColorOver: 		areasColour,                                            //Cor utilizada no mouseover da area mapeada comum
    		    mapAreaAlphaOver: 		20,                                                     //Alpha da da area mapeada comum
    		    mapAreaUrlColor:		areasUrlColour,											//Cor utilizada na area mapeada de URL
    		    mapAreaUrlAlpha:		30,														//Alpha da area mapeada de URL
    		    mapAreaUrlColorOver: 	areasColour,											//Cor utilizada no mouseover da area mapeada de URL
    		    mapAreaUrlAlphaOver:	20,														//Alpha utilizado no mouseover da area mapeada de URL
    		    lockModeURI:      		themePath+"swf/lockmode.swf",                           //Preloader das paginas
    		    canTear:          		false,                                                  //Bolean para Arrancar pagina
                idCaderno:        		idCaderno,                                              //Id do Caderno a ser carregado no XML
    		    startPage:        		parseInt(startPage),                                    //P?gina a ser inicializada
                marginLeft:             marginLeft,                                             //Margem à esquerda do player
                marginTop:              marginTop,                                              //Margem no topo do player
				idPublicacao:			idPublicacao,											//idPublicação
				comboOrder:				comboOrder,												//Ordem dos combo de edição, cadernos e seções 
                dataEdicao:				dataEdicao
            }
    	);

	}, //Method initFlash


	setSize: function () {

		$('playerDouble').onmousedown = function (){ Player.closePagina0All(); return false; };
		$('playerDouble').onmouseup   = this.openClosePagina0;

        //$("displayPlayerDouble").style.width  = ((parseInt(formatoCaderno.split("x")[0])*2)+(this.offsetX*2))+"px";
        //$("displayPlayerDouble").style.height = (parseInt(formatoCaderno.split("x")[1])+(parseInt(formatoCaderno.split("x")[0])/3)-20)+"px";
        
        $("divSpacePlayer").style.display     =  "none";
        try{
            $("changePage0").style.display     =  "block";
            $("changePage0").style.left        =  0+"px";
    //        $("changePage0").style.marginTop   = -($("displayPlayerDouble").offsetHeight)+"px";
            $("changePage0").style.height      = formatoCaderno.split("x")[1]+"px";
            $("changePage0").style.width       = formatoCaderno.split("x")[0]+"px";
    
            $("pagina0").style.display     =  "block";
            $("pagina0").style.left        =  0+"px";
    //        $("pagina0").style.marginTop   = -($("displayPlayerDouble").offsetHeight)+"px";
            $("pagina0").style.height      = formatoCaderno.split("x")[1]+"px";
            $("pagina0").style.width       = formatoCaderno.split("x")[0]+"px";
        }catch(e){}

	}, //Method setSize


	gotoPage: function () {

   		Player.flashProxy.call('gotoPage', arguments[0]); // arguments[0] = numPage

	}, //Method gotoPage


    gotoEditoria: function (page, ID_Edicao, ID_Caderno, origem) {

        ID_Edicao   = (!isNull(ID_Edicao))  ? ID_Edicao      : "";
        ID_Caderno  = (!isNull(ID_Caderno)) ? ID_Caderno     : "";
        page        = (!isNull(page))       ? parseInt(page) : 1;
		arquivoFlip = (demo)                ? '?preview=1&'  : '?';

		if (((ID_Caderno == idCaderno) && (ID_Edicao == idEdicaoXml)) || ((ID_Caderno == "") && (ID_Edicao == idEdicaoXml))) {

			FlipAction.gotoPage(page);

		} else {
            if(ID_Edicao == "" && ID_Caderno == "") return true;
			origemView = (origem == undefined) ? '' : '&origem='+origem;
       	    url = arquivoFlip+"idEdicao="+ID_Edicao+"&idCaderno="+ ID_Caderno + "&page2go=" + page + origemView;		
		    document.location.href = url;
		}
        return true;

    },


	closePagina0: function () {
	    try{
		    $("pagina0").style.zIndex = 0;
	    }catch(e){ }
	}, //Method closePagina0


	openPagina0: function () {
	    try{
	        if(StateMachine.isZoom){
	            Player.closePagina0All();
	        }else if(StateMachine.onFront() && !StateMachine.isFlipping){
                $("pagina0").style.zIndex = 50;
    			try{ $("AnunciantesUL").style.overflow = "auto"; }catch(e){ }
            }else if(typePlayer == "double"){
                Player.closePagina0();
            }
	    }catch(e){ }
	}, //Method openPagina0


	openClosePagina0: function () {
	    try{
            $("changePage0").style.display = (StateMachine.onFront()) ? "block" : "none";
            Player.closePagina0();
	    }catch(e){ }
	}, //Method openClosePagina0


	closePagina0All: function () {
	    try{
            $("changePage0").style.display = "none";
    		try{ $("AnunciantesUL").style.overflow = "hidden"; }catch(e){ }
            Player.closePagina0();
	    }catch(e){ }
	}, //Method openClosePagina0


	end: function () { } //Method end

};

if(!isNull($("btnModoCompleto"))){
	origem = (getQueryString("origem")) ? "&origem="+getQueryString("origem") : "";
	$("btnModoCompleto").onclick = function () { page = (typePlayer == "single") ? StateMachine.getPage() : StateMachine.getPageLeft(); if(page == 0){ page = 1; } if(typePlayer != "double") document.location = "index.php?playerType=double&idEdicao="+idEdicaoXml+"&idCaderno="+idCaderno+"&page2go="+page+origem; return false; };
}

if(typePlayer == "double"){
    Player = new PlayerDoubleClass();
}

function initFlash(){ Player.initFlash(); }