//Cria e executa função anônima, para isolar o bloco, ela é criada e imediatamente executada
(function() {

	//Define o target para exibir conteudos no site alvo
	var ALVO = '#viagem_natureza_widget';
	
	//Define url de base do widget
	var URL_BASE = 'http://viagem-natureza.com.br/'
	
	//Inicia variavel local para a funcao, para utilizar jquery
	var jQuery;

	//Verifica se já existe jquery carregado
	if(window.jQuery === undefined || window.jQuery.fn.jquery !== '1.5') {

		//Cria e configura elemento script
	    var script_tag = document.createElement('script');
	    script_tag.setAttribute("type","text/javascript");
	    script_tag.setAttribute("src", URL_BASE + "app/webroot/js/jquery.js");
	    
	    //Define callback, ao executar apos carregar o script
	    script_tag.onload = callbackCarregaScript;
	    
	    //Mesma coisa, porêm para internet explorer
	    script_tag.onreadystatechange = function () {
	        if (this.readyState == 'complete' || this.readyState == 'loaded') {
	        	callbackCarregaScript();
	        }
	    };
	    
	    //Tenta inserir o elemento no head, se não é possível, insere no final da body
	    (document.getElementsByTagName("head")[0] || document.documentElement).appendChild(script_tag);
	} 
	
	//Recebe versão da página
	else {
		
	    //Recebe a versão global do jquery
	    jQuery = window.jQuery;
	    
	    //Se executa
	    principal();
	}

	//Callback ao carregar o jquery
	function callbackCarregaScript() {
		
		//Evita conflitos, restaurando o jquery global e recebendo uma instância para o bloco da funcao
	    jQuery = window.jQuery.noConflict(true);
	    
	    //Se executa
	    principal(); 
	}

	//Função a ser executada
	function principal() { 
		
		//Exibe mensagem para espera
		jQuery(ALVO).html('carregando...');
		
		//Utiliza ao carregar o jquery, a partir da funcao, é possivel utilizar '$' como chamada jquery
	    jQuery(document).ready(function($) { 
	    	
	    	//Recebe e envia para o controller os estilos da div
	    	var altura  = jQuery(ALVO).css('height');	
	    	var largura = jQuery(ALVO).css('width');	
	    	
	    	//Define url e faz a chamada em jsonp
	        var jsonp_url = URL_BASE + "widget/index/"+altura+"/"+largura+"/?callback=?";
	        $.getJSON(jsonp_url, function(data) {
	        	
	        	//Escreve o retorno no elemento alvo
	        	$(ALVO).html(data.html);
	        });	    	
	    });
	}
})();
