/*	----------------------------------------------------------------- 
	Classe Controladora do Site
	Desenvolvida por Anderson Triacca - anderson@andersontriacca.com
	19/02/2007
-----------------------------------------------------------------	*/

//Objeto Site
function Site() {
	Site.prototype.criarObj = criarObj;	
	Site.prototype.efetuarPedido = efetuarPedido;		
	Site.prototype.addListener = addListener;		
	Site.prototype.retornarQueryString = retornarQueryString;		
	Site.prototype.addSwf = addSwf;		
}

//Cria um objeto xmlhttp
function criarObj() {
	var xmlhttp;
	/*@cc_on
		@if (@_jscript_version >= 5)
			try {
				xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
				try {
					xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e) {
					xmlhttp = false;
				}
			}
	@else
		xmlhttp = false;
	@end @*/
	if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
		try {
			xmlhttp = new XMLHttpRequest();
		} catch (e) {
			xmlhttp = false;
		}
	}
	this.obj = xmlhttp;
}

//Efetua a requisição através do objeto
function efetuarPedido(url, metodo, conteudo){
	this.obj.open(metodo, url, true);
	this.obj.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	this.obj.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate"); 
	this.obj.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
	this.obj.setRequestHeader("Pragma", "no-cache");
	this.carregado = false;
	this.status = 'carregando';
	this.obj.send(conteudo);
}

//Adiciona ouvintes ao site
function addListener(obj, evento, funcao) {
	if(window.attachEvent) {
		obj.attachEvent('on'+evento, funcao);
	} else{
		obj.addEventListener(evento, funcao, false);
	} 
}

//Retorna a querystring
var req = window.location.search.substr(1,window.location.search.length);
var dbl = req.split('&');
var aPrm = new Array();
var aVal = new Array();
var objQS = new Object();
for (i=0;i < dbl.length;i++) {
  aPrm[i+1] = dbl[i].substring(0,dbl[i].indexOf('='));
  aVal[i+1] = unescape(dbl[i].substring(dbl[i].indexOf('=')+1,dbl[i].length));
  objQS[aPrm[i+1]] = aVal[i+1];
}
function retornarQueryString(string) {
  return eval("objQS." + string);
}

//Adiciona SWF ao Site
function addSwf(swf, alvo, largura, altura, variavel){
	var so = new SWFObject(swf, alvo, largura, altura, "8", "");
	if(variavel){
		so.addVariable("pagina", variavel);
	}
	so.addParam("wmode", "transparent");
	so.write(alvo);
}
