// functions: GetXmlHttpObject, validar, doValidar, popup, validate, validate_password, parseParams, redir, doRedir
var debug = false;
var loadingMsg = "Cargando...";
var sendingMsg = "Verificando!";
var successMsg = "Comentario enviado!";
var badMsg = "Verifique los campos marcados en rojo!";
var root ='../';
var t;
var lastSearch = '';
var columna;
var xmlHttp;
var actualContent = '';
var inner = '';
var _SPEED_FADEOUT = 500;
var _SPEED_FADEIN = 500;	
var NOPOSTS = '<b style="font-size: 200%;">No se han encontrado entradas.</b>';
var lastSearch = '';
var id;
var estado;

// ----------------- AJAX ------------------- //

var xmlHttp;
function GetXmlHttpObject(){var xmlHttp=null;try{xmlHttp=new XMLHttpRequest();}catch(e){try{xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");}catch(e){xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");}}return xmlHttp;}

///////////////////// VALIDAR ////////////////////////

var sent = false;
var redireccion;
var data;

function validar(campos,mode,url,id){
	
	if(sent) return false;

	popup(loadingMsg,'hold','no');
	
	xmlHttp=GetXmlHttpObject();
	
	if (xmlHttp==null){
		alert ('Tu explorador no soporta AJAX.');
		return;
	} 
	
	if(url) {
	redireccion = url;
	}else {
	redireccion = 0;
	}
		
	data = document.getElementById(campos).value;
	data = data.split(',');
	var params = parseParams(data);
	
	xmlHttp.onreadystatechange = doValidar;
	xmlHttp.open("POST",root+'validate.php?mode='+mode+'&id='+id,true);
	xmlHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	xmlHttp.setRequestHeader("Content-length",params.length);
	xmlHttp.setRequestHeader("Connection", "close");
	popup(sendingMsg,'hold','no');
	xmlHttp.send(params);
	
}

function doValidar(){ 

var errores = 0;

	if (xmlHttp.readyState==4){
	
		//$('html, body').animate({scrollTop:0}, 1500);

		var r = xmlHttp.responseText;

		// debug
		if(debug == true) alert(r);
		if(debug == true && redireccion!=0) alert('redireccionar a la url: '+redireccion+' si es que todos los campos estan validados.');
		
		var x = 0;
		var f = new Array();
		
		for(i in data){
			f[x] = r.substr(x,1);
			
			//if(fulldebug == true) alert('campo numero:'+f[x]);
			validate(f[x],data[i]);
			x++;
		}
		
		for(i in f){
			if(f[i] == '0') errores++;
		}
		
		//if(fulldebug == true) alert('errores='+errores);
				
		if(errores > 0){
			popup(badMsg,'fade','no');
		}else{
			sent = true;
			popup(successMsg,'fade','no');
			if(redireccion!=0) redir(redireccion,5000);
			//redir(root,2800);
		}
	
	}

}

///////////////////// POPUP ////////////////////////

function popup(msg,unblock,red){

if(unblock=='click') msg = msg + ' (Click para continuar) ';

$.blockUI({ 
message: msg.replace(/\n/gi,'<br/>'),
//fadeIn: 700, 
//fadeOut: 700, 
//timeout: 3000,
showOverlay: false, 
//centerY: false, 
	css: {
		width: '350px', 
		//top: '10px', 
		//left: '',
        //top:  ($(window).height() - 500) /2 + 'px', 
        //left: ($(window).width() - 500) /2 + 'px', 
		//right: '10px', 
		border: 'none', 
		padding:'15px',
		size:'12.0pt',
		backgroundColor:'#00B3F0', //color del fondo del mensaje
		'-webkit-border-radius': '10px', 
		'-moz-border-radius': '10px',
		opacity: 9,
		color:'#fff' //Color de las letras del mensaje
	}
});

// UNBLOCK HOLD
if(unblock=='hold'){
	// DO NOTHING
}

// UNBLOCK FADE
if(unblock=='fade'){
	window.setTimeout($.unblockUI, 2500);
		//$(document).bind('click', function() {
			//window.setTimeout($.unblockUI, 100);
			//if(red=='si') redir('',5000);
		//});
	if(red=='si') redir('',3000);
}

// UNBLOCK FADE
if(unblock=='fadefast'){
	window.setTimeout($.unblockUI, 800);
		//$(document).bind('click', function() {
			//window.setTimeout($.unblockUI, 100);
			//if(red=='si') redir('',5000);
		//});
	if(red=='si') redir('',900);
}

// UNBLOCK CLICK
if(unblock=='click'){
		$(document).bind('click', function() {
			window.setTimeout($.unblockUI, 100);
			if(red=='si') redir('',200);
		});
	if(red=='si') redir('',5000);
}

}

////////////////// COLOREA CAMPOS ///////////////////////////

//FUNCTION VOTAR ///
function votar(id){
	
	popup('Voto registrado!','hold','no');
	
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null){
		alert ('Tu explorador no soporta AJAX.');
		return;
	} 

	var params = 'id='+id;

	xmlHttp.onreadystatechange = doaprobar;
	xmlHttp.open("POST",root+'ajax/ADMvotar.php?id='+id,true);
	xmlHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	xmlHttp.setRequestHeader("Content-length", params.length);
	xmlHttp.setRequestHeader("Connection", "close");
	xmlHttp.send(params);
}
function doaprobar(){ 
if (xmlHttp.readyState==4){
var r = xmlHttp.responseText;
//alert(r);
popup('Gracias por votar','fade','no');
redir("#",3000);
}
}

//FIN FUNCTION VOTAR
// validate estilo de campos
function validate(status,id){
if(status == 0){
$("#"+id).css('background','#ffe3e3');
$("#"+id).css('color','red');
if(id=='email_sus') {
$("#"+id).css('border','1px solid red');
}else {
$("#"+id).css('border','2px solid red');
}
}else{
$("#"+id).css('background','#8FDDF8');
$("#"+id).css('color','#fff');
if(id=='email_sus') {
$("#"+id).css('border','1px solid #00B3F0');
}else {
$("#"+id).css('border','2px solid #00B3F0');
}
}
}

//////////////////// PARSER /////////////////////////

// parser
function parseParams(params){
var contenedor = '';
for(var contar in params){
var type = gettype(params[contar]);
if(type == 'checkbox' || type == 'radio'){
contenedor += params[contar]+'='+getcheck(params[contar])+'&';
}else if(type == 'select-multiple'){
contenedor += params[contar]+'='+getMultiple(params[contar])+'&';
}else{
contenedor += params[contar]+'='+escape(getval(params[contar]))+'&';
}
}
return contenedor.substr(0,contenedor.length-1);
}

// Get And Sets
function setval(id,val){
document.getElementById(id).value = val;
}
function getval(id){
return document.getElementById(id).value;
}
function getcheck(id){
return document.getElementById(id).checked;
}
function gettype(id){
return document.getElementById(id).type;
}
function getMultiple(ob){
ob = document.getElementById(ob);
selected = new Array();
for(var i = 0; i < ob.options.length; i++) if(ob.options[i].selected) selected.push(ob.options[i].value);
return selected;
}

///////////////// REDIR ////////////////////////////

// redir
function redir(url,timeout){
	setTimeout('doRedir(\''+url+'\')',timeout);
}

// do redir
function doRedir(url){
	if(url=='#' || url=='') {
	window.location.reload();
	}else {
	window.location = url;
	}
}

//FUNCION BUSCAR
// search

// search

function sendAjax(){
	clearTimeout(t);
	t = setTimeout('sendAjax2();',600);
}

function sendAjax2(){
	var text = document.getElementById('inputTerm').value;
	if(lastSearch.trim() == text.trim()) return;
	lastSearch = text;
	hide('unclose');
	hide('close');
	show('loading');

	if(text.trim() == ''){
			cerrar();
			return;
	}
	
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null){
		alert('Tu explorador no soporta AJAX !');
		return;
	}
	var params = "term="+text;
	xmlHttp.onreadystatechange = doSearch;
	xmlHttp.open("POST","/buscar.php",true);
	xmlHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	xmlHttp.setRequestHeader("Content-length", params.length);
	xmlHttp.setRequestHeader("Connection", "close");
	xmlHttp.send(params);
} 

function getCenterCol(){
	return 'col1-blog';
}

function doSearch(){ 
	if (xmlHttp.readyState==4){ 
		var r = xmlHttp.responseText;
		if(r.trim() == ''){
			r = NOPOSTS;
		}
		
		inner = document.getElementById('col1-blog').innerHTML;
		hide('loading');
		hide('unclose');
		show('close');
		
		if(r.trim() == inner.trim()) return;
		jQuery('#'+'col1-blog').slideUp(_SPEED_FADEOUT,function(){
			document.getElementById('col1-blog').innerHTML = r;
			jQuery('#'+'col1-blog').slideDown(_SPEED_FADEIN);
		});
	}
}

function show(id){
	document.getElementById(id).style.display = 'block';
}
function hide(id){
	document.getElementById(id).style.display = 'none';
}
String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}
String.prototype.ltrim = function() {
	return this.replace(/^\s+/,"");
}
String.prototype.rtrim = function() {
	return this.replace(/\s+$/,"");
}

function GetXmlHttpObject(){var xmlHttp=null;try{xmlHttp=new XMLHttpRequest();}catch(e){try{xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");}catch(e){xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");}}return xmlHttp;}

function cargar(){
	columna = getCenterCol();
	if(document.getElementById('inputTerm') != null){
		inner = document.getElementById('col1-blog').innerHTML;
		if(inner.trim() == ''){
			document.getElementById('col1-blog').innerHTML = NOPOSTS;
		}
		hide('close');
		hide('loading');
		show('unclose');
		document.getElementById('inputTerm').value = '';
		inner = document.getElementById('col1-blog').innerHTML;
		actualContent = inner;
	}
}

function cerrar(){
	/*hide('close');
	hide('loading');
	show('unclose');
	lastSearch = '';
	document.getElementById('inputTerm').value = '';
	jQuery('#col1-blog').slideUp(_SPEED_FADEOUT,function(){
		document.getElementById('col1-blog').innerHTML = actualContent;
		jQuery('#col1-blog').slideDown(_SPEED_FADEIN);
	});*/
	
	var term = 'todo';
	xmlHttp.onreadystatechange = doSearch;
	xmlHttp.open("POST","/buscar.php",true);
	xmlHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	xmlHttp.setRequestHeader("Content-length", term.length);
	xmlHttp.setRequestHeader("Connection", "close");
	xmlHttp.send(term);
}
