/*
 * Funções para controle do Ajax no site
 */



/* basicos */

/* 
 * funções para quando se passar o mouse trocar o texto do item 
 */
function hover(divid,text) {
	var div = document.getElementById(divid);
	div.innerHTML = text;
}

function out(divid) {
	var div = document.getElementById(divid);
	div.innerHTML = "";
}

function clearItem(id) {
	document.getElementById(id).value = "";
}


function openwindow(url) {
	window.open(url);
    return false;
}


/* 
 * exibe ou oculta um item 
 */
function viewdiv(idItem){
	document.getElementById(idItem).style.display = "block";
}
function hidediv(idItem){
	document.getElementById(idItem).style.display = "none";
}

function viewMSG(text){
	var div = document.getElementById("aMsgTXT");
	div.innerHTML = "<strong>"+text+"</strong>";
	document.getElementById("alertMSG").style.display = "block";
}


function confirma() {
	var confirma = confirm("Deseja remover o item?")
	if ( confirma ){ return true
	} else { return false } 
}


function noLog() {
	gLoader.show('Você precisa estar logado para acessar o painel.','info',5);
	return false;
}



function criaReqStr(oForm){
	var aPostStr = new Array();

	for(var i = 0; i < oForm.elements.length; i++){
		var sValor = encodeURIComponent(oForm.elements[i].name);
		sValor += "=";
		sValor += encodeURIComponent(oForm.elements[i].value);
		aPostStr.push(sValor);
	}
	// retorna uma string no padrão "post request":
	// nome1=valor1&nome2=valor2&...&nomeN=valorN
	return aPostStr.join("&");
}  



var ajax;

var addURL = new Object();
addURL = {
	ajax: null,
	Do: function(){
		
		var ajax = gAjax('post','http://hhide.me/urladd.php');
			ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
			ajax.setVars(global.form.CreateQuery(document.forms['form_URL']));
			
			ajax.addEvent(1,'gLoader.show("Enviando","progress");hidediv("URLhhide");');
			ajax.addEvent(4,'gLoader.close();addURL.parseDo()'); 
			addURL.ajax = ajax;
			ajax.send();  
			
	},
	parseDo: function(){
		var ajax = addURL.ajax;
		
		//alert(ajax.getResponseText())
		
		if (!ajax.isResponseXML()){
			gLoader.show(ajax.getValue('Ocorreu um erro inesperado ao enviar a URL.'),'info',5);
		}
			
		ajax = ajax.getQueryXML();
			if (ajax.getValue('attributes()->status')=='ok'){
				return addURL.URLinfo(ajax.getValue('item_details->hhideurl'),ajax.getValue('item_details->url'),ajax.getValue('item_details->id'));
			}else{
				gLoader.show(ajax.getValue('error->description'),'info',5);
			}
    
	},
	URLinfo: function(hhideURL,URL,ID){
			
			var s = ''; 
			
			s+='<div class="left spaceRight">';
			s+='<strong>&gt;</strong> sua url reduzida: ';
			s+='<input id="edURL" name="edURL" onclick="this.select()" type="text" class="URLhhideEdit" value="'+hhideURL+'" />';
			s+='</div>';
			
			//s+='<div id="botaoOption" class="left spaceRight"><a href="#" onclick="selectURL()">copiar</a></div>';
			//s+='<div id="botaoOption" class="left spaceRight"><a href="#">info</a></div>';
			//s+='<div id="botaoOption" class="left spaceRight"><a href="#">del</a></div>';

			clearItem("url");
			viewdiv("URLhhide");
			global.div.Write('URLhhide',s); 
		} 

}



var login = new Object();
login = {
	ajax: null,
	id: global.cookie.Read("bbuserid"),
	name: global.utf8.decode(decodeURIComponent(global.cookie.Read("bbusername"))),
	status:-1,
	getId: function(){
		return login.id;
	},
	
	getName: function(){
		return login.name;
	},
	
	isLogged: function(){
		return login.getId()>0;
	},	
	
	Do: function(){
		if (login.status>-1){
				return;
			}
			
		var ajax = gAjax('post','http://hhide.me/userlogin.php');
			ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
			ajax.setVars(global.form.CreateQuery(document.forms['form_pam']));
			
			ajax.addEvent(1,'gLoader.show("Logando","progress");');
			ajax.addEvent(4,'gLoader.close();login.parseDo()'); 
			login.ajax = ajax;
			ajax.send();  
			login.status = 0;
	},
	parseDo: function(){
		var ajax = login.ajax;
		var form = document.forms['form_pam'];
		
		//alert(ajax.getResponseText())
		
		if (!ajax.isResponseXML()){
			gLoader.show(ajax.getValue('Ocorreu um erro inesperado ao tentar logar.'),'info',5);
			login.status = -1;
		}
			
		ajax = ajax.getQueryXML();
			if (ajax.getValue('attributes()->status')=='ok'){

				//alert(ajax.getValue('item_details->user->name'));
				login.status = 1;
				return login.Painel(ajax.getValue('item_details->user->name'),ajax.getValue('item_details->user->id'));
			}else{
				form.username.value = '';
				form.password.value = '';
				gLoader.show(ajax.getValue('error->description'),'info',5);
				login.status = -1;
			}  
    
	},
	Painel: function(name,ID){
			var s = '';
						
			s+='Voc&ecirc; est&aacute; logado como <a href="http://hhide.me/painel/index.php"><strong>'+name+'</strong></a>';
			//alert(name);
			global.div.Write('user_p',s); 

	},
	check: function(){
			if (login.isLogged()){
				login.Painel(login.getName(),login.getId());
			}
		}

}





function criaReqStr(oForm){
	var aPostStr = new Array();

	for(var i = 0; i < oForm.elements.length; i++){
		var sValor = encodeURIComponent(oForm.elements[i].name);
		sValor += "=";
		sValor += encodeURIComponent(oForm.elements[i].value);
		aPostStr.push(sValor);
	}
	// retorna uma string no padrão "post request":
	// nome1=valor1&nome2=valor2&...&nomeN=valorN
	return aPostStr.join("&");
}  



/*
 * Realiza o login 
 */
function userlogin(){
	var oForm = document.getElementById("form_pam"); // pega o form
	var sBody = criaReqStr(oForm);
	
	ajax = new gAjax('post',oForm.action);
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
	ajax.setVars(sBody);
	gLoader.show('Logando','progress',3);
	ajax.addEvent(4,'userPainel.Do("1")');
	ajax.send();
}


//escopo global
var ajax;

var userPainel = new Object();
userPainel = {
	ajax: null,
	Do: function(n){
		//cria um novo objeto ajax
		var ajax = new gAjax('get','http://hhide.me/usLogin.php');
		ajax.addEvent(4,'userPainel.parseDo()');
		userPainel.ajax = ajax;//armzena o novo objeto ajax dentro do objetivo userPainel
		ajax.send();
	},
	parseDo: function(){
		var ajax = userPainel.ajax;
	        global.div.Write('user_p',ajax.getResponseText());
	}

}


/*
 * Realiza o logout
 */
function logout(){
	
	/* ajax = new gAjax('get','http://hhide.me/logout.php');  */
	gLoader.show('Deslogando','progress',3);
	/*ajax.addEvent(4,'userPainel.Do()');
	ajax.send(); */
	window.location='http://hhide.me/logout.php';
}


function viewLoading(div){
var div = document.getElementById(div);
var s1='<div style="text-align:center;"><strong>carregando <img src="http://hhide.me/images/pontos.gif" alt="" width="20" height="8" /></strong></div>';
	
div.innerHTML =s1;
}

 
var paginacaoList = new Object();
paginacaoList = {
	ajax: null,
	Do: function(pagina,limit){  
		//cria um novo objeto ajax
		var ajax = new gAjax('get','http://hhide.me/list.php?pagina='+pagina+'&limit='+limit);
		ajax.addEvent(1,'viewLoading("Listagem")');  
		ajax.addEvent(4,'paginacaoList.parseDo()');
		paginacaoList.ajax = ajax; 
		ajax.send();
	},
	parseDo: function(){
		var ajax = paginacaoList.ajax;
	        global.div.Write('Listagem',ajax.getResponseText());
	        global.evalScripts(ajax.getResponseText());
	}

}



/*
 * Remove URL's
 */
function urlDel(id,pagina,limit){
	
	ajax = new gAjax('get','http://hhide.me/delurl.php?id='+id);  
	gLoader.show('Removendo','progress',3);
	ajax.addEvent(4,'paginacaoList.Do("'+pagina+'","'+limit+'")');
	ajax.send(); 

}




var ViewListUrl = new Object();
ViewListUrl = {
	ajax: null,
	Do: function(url,ndias){  
		//cria um novo objeto ajax
		var ajax = new gAjax('get','http://hhide.me/listview.php?url='+url+'&ndias='+ndias);
		ajax.addEvent(1,'viewLoading("gItens")');  
		ajax.addEvent(4,'ViewListUrl.parseDo()');
		ViewListUrl.ajax = ajax; 
		ajax.send();
	},
	parseDo: function(){
		var ajax = ViewListUrl.ajax;
	        global.div.Write('gItens',ajax.getResponseText());
	        global.evalScripts(ajax.getResponseText());
	}

}


var viewOptions = new Object();
viewOptions = {
	ajax: null,
	hideAll: function(){  
		
		hidediv('d_termos');
		hidediv('d_ajuda');
		hidediv('d_contato');
		 		
	},
	showSelect: function(div){
		viewOptions.hideAll();
		viewdiv(div);
		
	}

}


function focoURL(){
	document.form_URL.url.focus();
}
