//######################################################################################################
//######################################################################################################

window.addEvent('domready', function(){
	var link;
	$$('.video').each(function(el){
		link = el.href;
		el.href = "javascript: void(0);";
		el.addEvent('click', function() { ajaxGet(link,$('myframe'),false); });
	});

	if($('home')){
		ajaxGet("hotsite/01-home.html",$('home'),false);
	}
	
	if($('quem-somos')){
		ajaxGet("hotsite/02-quem-somos.html",$('quem-somos'),false);
	}
	
	if($('servicos')){
		ajaxGet("hotsite/10-servicos.html",$('servicos'),false);
	}
	
	if($('casting')){
		ajaxGet("hotsite/03-casting.html",$('casting'),false);
	}
	
	if($('contato')){
		ajaxGet("hotsite/09-contato.html",$('contato'),false);
	}
	
	if($('cotacao')){
		ajaxGet("hotsite/06-cotacao.html",$('cotacao'),false);
	}

	if($('faca-parte')){
		ajaxGet("hotsite/08-faca-parte.html",$('faca-parte'),false);
	}

	if($('portfolio')){
		ajaxGet("hotsite/portfolio.html",$('portfolio'),false);
	}
	
	if($('casting')){
		ajaxGet("hotsite/03-casting.html",$('casting'),false);
	}
	
	if($('e-learning')){
		ajaxGet("hotsite/14-e-learning.html",$('e-learning'),false);
	}

	if($('gravacao')){
		ajaxGet("hotsite/17-gravacao.html",$('gravacao'),false);
	}

	if($('institucional')){
		ajaxGet("hotsite/11-institucional.html",$('institucional'),false);
	}

	if($('narracao')){
		ajaxGet("hotsite/16-narracao.html",$('narracao'),false);
	}

	if($('novas')){
		ajaxGet("hotsite/20-novas.html",$('novas'),false);
	}

	if($('producao')){
		ajaxGet("hotsite/19-producao.html",$('producao'),false);
	}

	if($('publicidade')){
		ajaxGet("hotsite/12-publicidade.html",$('publicidade'),false);
	}

	if($('softwares')){
		ajaxGet("hotsite/15-softwares.html",$('softwares'),false);
	}

	if($('telefonia')){
		ajaxGet("hotsite/13-telefonia.html",$('telefonia'),false);
	}

	if($('traducao')){
		ajaxGet("hotsite/18-traducao.html",$('traducao'),false);
	}
	
	if($('locutor')){
		ajaxGet("hotsite/04-locutor.html",$('locutor'),false);
	}
	
	if($('quem-somos')){
		ajaxGet("hotsite/02-quem-somos.html",$('quem-somos'),false);
	}
	
	if($('contato_form')){
		ajaxGet("sugar/mailpro.php?config.cfg;currentPage=1",$('contato_form'),false);
	}

	if($('onde-sao')){
		ajaxGet("hotsite/21-onde-sao.html",$('onde-sao'),false);
	}
	
	if($('prazos')){
		ajaxGet("hotsite/22-prazos.html",$('prazos'),false);
	}
	
	if($('pagamento')){
		ajaxGet("hotsite/23-pagamento.html",$('pagamento'),false);
	}
	
	if($('voiceover-unavailable')){
		ajaxGet("hotsite/05-voiceover-unavailable.html",$('voiceover-unavailable'),false);
	}	
	
}); //end window.addEvent

//######################################################################################################
//######################################################################################################

//---- Função Centraliza o Conteudo ------------------------------------------------------------------//

function center(element, target){
    try{
        element = $(element);
//		target = $(target);
    }catch(e){
        return;
    }
/*	
	var my_width  = 0;
    var my_height = 0;

    if ( typeof( window.innerWidth ) == 'number' ){
        my_width  = window.innerWidth;
        my_height = window.innerHeight;
    }else if ( document.documentElement && 
             ( document.documentElement.clientWidth ||
               document.documentElement.clientHeight ) ){
        my_width  = document.documentElement.clientWidth;
        my_height = document.documentElement.clientHeight;
    }
    else if ( document.body && 
            ( document.body.clientWidth || document.body.clientHeight ) ){
        my_width  = document.body.clientWidth;
        my_height = document.body.clientHeight;
    }

    var scrollY = 0;

    if ( document.documentElement && document.documentElement.scrollTop ){
        scrollY = document.documentElement.scrollTop;
    }else if ( document.body && document.body.scrollTop ){
        scrollY = document.body.scrollTop;
    }else if ( window.pageYOffset ){
        scrollY = window.pageYOffset;
    }else if ( window.scrollY ){
        scrollY = window.scrollY;
    }

*/

  	var targetPosition = target.getPosition();
  	var targetDimensions = target.getSize();
	var elementDimensions = element.getSize();

    var setX = targetPosition.x + ( targetDimensions.size.x  - elementDimensions.size.x  ) / 2;
    var setY = targetPosition.y + ( targetDimensions.size.y  - elementDimensions.size.y  ) / 2;
//    var setY = ( my_height - elementDimensions.size.y ) / 2 + scrollY;

    setX = ( setX < 0 ) ? 0 : setX;
    setY = ( setY < 0 ) ? 0 : setY;

    element.style.left = setX + "px";
    element.style.top  = setY + "px";
}

//---- Funções AJAX ----------------------------------------------------------------------------------//

function ajaxGet(url,elemento_retorno,exibe_carregando){
/******
* ajaxGet - Coloca o retorno de uma url em um elemento qualquer
* Use a vontade mas coloque meu nome nos créditos. Dúvidas, me mande um email.
* Versão: 1.2 - 20/04/2006
* Autor: Micox - Náiron José C. Guimarães - micoxjcg@yahoo.com.br
* Parametros:
* url: string; elemento_retorno: object||string; exibe_carregando:boolean
*  - Se elemento_retorno for um elemento html (inclusive inputs e selects),
*    exibe o retorno no innerHTML / value / options do elemento
*  - Se elemento_retorno for o nome de uma variavel
*    (o nome da variável deve ser declarado por string, pois será feito um eval)
*    a função irá atribuir o retorno à variável ao receber a url.
*******/
    var ajax1 = pegaAjax();
    if(ajax1){
        url = antiCacheRand(url)
        ajax1.onreadystatechange = ajaxOnReady
        ajax1.open("GET", url ,true);
        //ajax1.setRequestHeader("Content-Type", "text/html; charset=utf-8");//"application/x-www-form-urlencoded");
        ajax1.setRequestHeader("Cache-Control", "no-cache");
        ajax1.setRequestHeader("Pragma", "no-cache");
        if(exibe_carregando){ 
			center("carregando", elemento_retorno)
			$('carregando').style.display="block" }
        ajax1.send(null)
//        return true;
    }else{
        return false;
    }
    function ajaxOnReady(){
        if (ajax1.readyState==4){
            if(ajax1.status == 200){
                var texto=ajax1.responseText;
                if(texto.indexOf(" ")<0) texto=texto.replace(/\+/g," ");
                //texto=unescape(texto); //descomente esta linha se tiver usado o urlencode no php ou asp
                put(texto);
                extraiScript(texto);
				if(exibe_carregando){$('carregando').style.display="none";}
				}else{
                if(exibe_carregando){put("Falha no carregamento. " + httpStatus(ajax1.status));}
            }
            ajax1 = null
        }else if(exibe_carregando){//para mudar o status de cada carregando
				center("carregando", elemento_retorno)
				$('carregando').style.display="block" 
		}
    }
    function put(valor){ //coloca o valor na variavel/elemento de retorno
        if((typeof(elemento_retorno)).toLowerCase()=="string"){ //se for o nome da string
            if(valor!="Falha no carregamento"){
                eval(elemento_retorno + '= unescape("' + escape(valor) + '")')
            }
        }else if(elemento_retorno.tagName.toLowerCase()=="input"){
            valor = escape(valor).replace(/\%0D\%0A/g,"")
            elemento_retorno.value = unescape(valor);
        }else if(elemento_retorno.tagName.toLowerCase()=="select"){        
            select_innerHTML(elemento_retorno,valor)
        }else if(elemento_retorno.tagName){
            elemento_retorno.innerHTML = valor;
            //alert(elemento_retorno.innerHTML)
        } 
   }
    function pegaAjax(){ //instancia um novo xmlhttprequest
        //baseado na getXMLHttpObj que possui muitas cópias na net e eu nao sei quem é o autor original
        if(typeof(XMLHttpRequest)!='undefined'){return new XMLHttpRequest();}
        var axO=['Microsoft.XMLHTTP','Msxml2.XMLHTTP','Msxml2.XMLHTTP.6.0','Msxml2.XMLHTTP.4.0','Msxml2.XMLHTTP.3.0'];
        for(var i=0;i<axO.length;i++){ try{ return new ActiveXObject(axO[i]);}catch(e){} }
        return null;
    }
    function httpStatus(stat){ //retorna o texto do erro http
        switch(stat){
            case 0: return "Erro desconhecido de javascript";
            case 400: return "400: Solicitação incompreensível"; break;
            case 403: case 404: return "404: Não foi encontrada a URL solicitada"; break;
            case 405: return "405: O servidor não suporta o método solicitado"; break;
            case 500: return "500: Erro desconhecido de natureza do servidor"; break;
            case 503: return "503: Capacidade máxima do servidor alcançada"; break;
            default: return "Erro " + stat + ". Mais informações em http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"; break;
        }
    }
    function antiCacheRand(aurl){
        var dt = new Date();
        if(aurl.indexOf("?")>=0){// já tem parametros
            return aurl + "&" + encodeURI(Math.random() + "_" + dt.getTime());
        }else{ return aurl + "?" + encodeURI(Math.random() + "_" + dt.getTime());}
    }
}
function select_innerHTML(objeto,innerHTML){
/******
* select_innerHTML - altera o innerHTML de um select independente se é FF ou IE
* Corrige o problema de não ser possível usar o innerHTML no IE corretamente
* Veja o problema em: http://support.microsoft.com/default.aspx?scid=kb;en-us;276228
* Use a vontade mas coloque meu nome nos créditos. Dúvidas, me mande um email.
* Versão: 1.0 - 06/04/2006
* Autor: Micox - Náiron José C. Guimarães - micoxjcg@yahoo.com.br
* Parametros:
* objeto(tipo object): o select a ser alterado
* innerHTML(tipo string): o novo valor do innerHTML
*******/
    objeto.innerHTML = ""
    var selTemp = document.createElement("micoxselect")
    var opt;
    selTemp.id="micoxselect1"
    document.body.appendChild(selTemp)
    selTemp = document.getElementById("micoxselect1")
    selTemp.style.display="none"
    if(innerHTML.toLowerCase().indexOf("<option")<0){//se não é option eu converto
        innerHTML = "<option>" + innerHTML + "</option>"
    }
    innerHTML = innerHTML.replace(/<option/g,"<span").replace(/<\/option/g,"</span")
    selTemp.innerHTML = innerHTML
    for(var i=0;i<selTemp.childNodes.length;i++){
        if(selTemp.childNodes[i].tagName){
            opt = document.createElement("OPTION")
            for(var j=0;j<selTemp.childNodes[i].attributes.length;j++){
                opt.setAttributeNode(selTemp.childNodes[i].attributes[j].cloneNode(true))
            }
            opt.value = selTemp.childNodes[i].getAttribute("value")
            opt.text = selTemp.childNodes[i].innerHTML
            if(document.all){ //IEca
                objeto.add(opt)
            }else{
                objeto.appendChild(opt)
            }                    
        }    
    }
    document.body.removeChild(selTemp)
    selTemp = null
}

function extraiScript(texto){
//Maravilhosa função feita pelo SkyWalker.TO do imasters/forum
//http://forum.imasters.com.br/index.php?showtopic=165277&
    // inicializa o inicio ><
    var ini = 0;
    // loop enquanto achar um script
    while (ini!=-1){
        // procura uma tag de script
        ini = texto.indexOf('<script', ini);
        // se encontrar
        if (ini >=0){
            // define o inicio para depois do fechamento dessa tag
            ini = texto.indexOf('>', ini) + 1;
            // procura o final do script
            var fim = texto.indexOf('</script>', ini);
            // extrai apenas o script
            codigo = texto.substring(ini,fim);
            // executa o script
            //eval(codigo);
            /**********************
            * Alterado por Micox - micoxjcg@yahoo.com.br
            * Alterei pois com o eval não executava funções.
            ***********************/
            novo = document.createElement("script")
            novo.text = codigo;
            document.body.appendChild(novo);
        }
    }
}

//----------------------------------------------------------------------------------------------------//

