var root = "/";
var sent = false;
var loadingMsg = "Enviando...";
var goodMsg = "Mensaje Enviado!";
var badMsg = "Verifique los campos marcados en rojo";
var successMsg = '<strong style="color:#FF0000;height:30px;display:block;padding:15px 0 0 0;">Su mensaje ha sido entregado correctamente.</strong>';
var debug = false;

// Cajas verdes y rojas - milisegundos
var boxSpeed = 600;

// Ir arriba - milisegundos
var scrollSpeed = 400;

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;}

function popup(msg,fade,color){
Mcolor = color || "#FFF";
$.blockUI({ css: { 
border: 'none', 
padding: '20px', 
backgroundColor: '#000', 
fontSize: '16px', 
'-webkit-border-radius': '10px', 
'-moz-border-radius': '10px', 
opacity: '.9', 
color: Mcolor
},message: msg });
if(fade==true) fade = 1500;
if(fade>0) setTimeout($.unblockUI, fade); 
}

function validate(status,id){
if(status == 0){
document.getElementById(id).style.borderColor = '#f00';
document.getElementById(id).style.color= '#f00';
}else{
document.getElementById(id).style.borderColor = '#666';
document.getElementById(id).style.color= '#333';
}
}

// 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;
}

// show subcat
function show_subcat(id){
	$('#op2').show();
	$('#op3').hide();
	$('#op4').hide();
	$('#boton_agregar').hide();
	$.post(root+'admin/_plugins/ajax/gen_subcat.php','cat_id='+id,function(e){
		$('#subcat').html(e);
	});
	
}

// show prod
function show_prod(id){
	$('#op3').show();
	$('#op4').hide();
	$('#boton_agregar').hide();
	$.post(root+'admin/_plugins/ajax/gen_prod.php','subcat_id='+id,function(e){
		$('#prod').html(e);
	});
}

// show cant + boton agregar
function show_cant(){
	if(document.getElementById('prod').value != 0){
		$('#op4').show();
		$('#boton_agregar').show();
	}else{
		$('#op4').hide();
		$('#boton_agregar').hide();
	}
}

var prods = 1;
function add_prod(){
		
	$('#lists').append('<ul class="productos" id="it_'+prods+'">'
	 + '<li class="col-1">' + $('#cat option:selected').html() + '</li>'
	 + '<input type="hidden" name="categorias" style="display:none;" id="categorias" value="' + $('#cat option:selected').html() + '"/>'
	 
	 + '<li class="col-2">' + $('#subcat option:selected').html() + '</li>'
     + '<input type="hidden" name="subcategorias" style="display:none;" id="subcategorias" value="' + $('#subcat option:selected').html() + '"/>'
   
	 + '<li class="col-3">' + $('#prod option:selected').html() + '</li>'
	 + '<input type="hidden" name="prodlist" style="display:none;" id="prodlist" value="' + $('#prod option:selected').html() + '"/>'
	 
	 + '<li class="col-4">' + $('#cantidad').val() + '</li>'
	 + '<input type="hidden" name="cantlist" style="display:none;" id="cantlist" value="' + $('#cantidad').val() + '" />'
	 
	 + '<li class="col-5">' + '<a href="javascript:removeProd('+ prods +');" style="font-size:10px;color:#222;text-decoration:underline;float:right" title="Remover del Presupuesto"><img src="../img/reset-666.png" alt="" /></a></li></ul>');
	
	jQuery('select#todos').append(
	'<option class="class_'+prods+'" selected="selected" value="'+$('#cat option:selected').html()+'">'+prods+'.categoria.'+$('#cat option:selected').html()+'</option>'+
	'<option class="class_'+prods+'" selected="selected" value="'+$('#subcat option:selected').html()+'">'+prods+'.subcategoria.'+$('#subcat option:selected').html()+'</option>'+
	'<option class="class_'+prods+'" selected="selected" value="'+$('#prod option:selected').html()+'">'+prods+'.producto.'+$('#prod option:selected').html()+'</option>'+
	'<option class="class_'+prods+'" selected="selected" value="'+$('#cantidad').val()+'">'+prods+'.cantidad.'+$('#cantidad').val()+'</option>'
	);
	prods++;
	
	$('#op2').hide();
	$('#op3').hide();
	$('#op4').hide();
	$('#boton_agregar').hide();
	document.getElementById('cat').selectedIndex = 0;
}

function removeProd(id){
	$('#it_'+id).fadeTo(200,0.3,function(){$(this).slideUp(function(){$(this).remove()})});
	$('select#todos .class_'+id).fadeTo(200,0.3,function(){$(this).slideUp(function(){$(this).remove()})});
}


/////////////////////
// VALIDACION: Contacto
/////////////////////

var campos;

function validar(validar,mode,id,tabla,tiny){
	if (tiny == 1) tinyMCE.triggerSave(false, true);
	if(sent) return false;
	popup(loadingMsg);
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null){
		alert ('Tu explorador no soporta AJAX.');
		return;
	} 

	campos = document.getElementById(validar).value;
	campos = campos.split(',');
	var params = parseParams(campos);
	
	xmlHttp.onreadystatechange = doValidar;
	xmlHttp.open("POST",root+'admin/_plugins/ajax/validate.php?mode='+mode+'&id='+id+'&tabla='+tabla,true);
	xmlHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	xmlHttp.setRequestHeader("Content-length", params.length);
	xmlHttp.setRequestHeader("Connection", "close");
	xmlHttp.send(params);
}

function doValidar(){ 

var errores = 0;

	if (xmlHttp.readyState==4){
		
		$('html, body').animate({scrollTop:0}, 600);
	
		var r = xmlHttp.responseText;
		
		// debug
		if(debug == true) alert(r);
		
		var x = 0;
		var f = new Array();
		
		for(i in campos){
			f[x] = r.substr(x,1);
			
			// debug
			//if(debug == true) alert('campo numero:'+f[x]+' valor:'+r.substr(x,1));
			
			validate(f[x],campos[i]);
			x++;
		}
		
		for(i in f){
			if(f[i] == '0') errores++;
		}
		
		// debug
		//if(debug == true) alert('errores='+errores);
				
		if(errores > 0){
			popup(badMsg,true,"#f00");
		}else{
			sent = true;
			popup(goodMsg,true);
			$('#ocultar-enviar').fadeOut('slow', function() {
			$('#mostrar-exito').html(successMsg).slideDown('slow');
			});
			//redir('?id=listar_contenidos',5000);
		}
	
	}

}