// JavaScript Document
//
// Funciones comunes; creado y regado por jan sanchez a.
// Creado: Viernes, 27 de Marzo del 2009
// joejansanchez@hotmail.com
// Modificado: Viernes, 27 de Marzo del 2009
//


// Funciones con jquery
// autor: jan sanchez


function enviarFormFile2(nombreForm,div,url){
	
		$$('#'+nombreForm).ajaxForm({ 
			success: function(html) {			
			$$('#'+div).fadeOut("fast");
			$$('#'+div).html("");
			loadUrl(html);
			
			} 
		});
}


function eliminarMP3(id,url){
	$$.ajax({
		type: "POST",
		url: url,
		data: "id_subcategoria2_pcs="+id+"&opcion=eliminar",
		success: function(html){
		  
		   loadUrl(html);
		},
	   beforeSend: function(){
		 // Handle the beforeSend event
		 muestraCarga();
	   },
	   complete: function(){
		 // Handle the complete event
		 ocultaCarga();
	   }	
	});
}


function eliminarMP32(id,url){
	$$.ajax({
		type: "POST",
		url: url,
		data: "id_galeriav_pcs="+id+"&opcion=eliminar",
		success: function(html){
		  
		   loadUrl(html);
		},
	   beforeSend: function(){
		 // Handle the beforeSend event
		 muestraCarga();
	   },
	   complete: function(){
		 // Handle the complete event
		 ocultaCarga();
	   }	
	});
}






function popupTiny(pagina,ancho,alto,barras,objeto){
	
	//alert(objeto.id); // = des_tipo_persona|1
	
	a_objeto=objeto.id.split("|");
	a_objeto2=objeto.id.split("_");
	
	var id=a_objeto[1]; // = 1	
	var campo=a_objeto2[0]; // des	
	var tabla=objeto.lang; // tabla
	
	
	izquierda = (screen.width) ? (screen.width - ancho) / 2 : 100;
	arriba = (screen.height) ? (screen.height - alto) / 2 : 100;
	opciones ='toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars='+ barras +',resizable=0,width=' + ancho + ',height=' + alto + ',left=' + izquierda + ',top=' + arriba + '';
	var numero=Math.random()*10000;
	window.open(pagina+'?id='+id+'&campo='+campo+'&tabla='+tabla,"editor_"+numero,opciones);
	
}

function popupTiny2(pagina,ancho,alto,barras,objeto){
	
	a_objeto2=objeto.id.split("_");
	
	var campo=a_objeto2[0];
	var tabla=objeto.lang;
	
	izquierda = (screen.width) ? (screen.width - ancho) / 2 : 100;
	arriba = (screen.height) ? (screen.height - alto) / 2 : 100;
	opciones ='toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars='+ barras +',resizable=0,width=' + ancho + ',height=' + alto + ',left=' + izquierda + ',top=' + arriba + '';
	var numero=Math.random()*10000;
	window.open(pagina+'?campo='+campo+'&tabla='+tabla,"editor_"+numero,opciones);
	
}


function popup(pagina,ancho,alto,barras){
	
	izquierda = (screen.width) ? (screen.width - ancho) / 2 : 100;
   	arriba = (screen.height) ? (screen.height - alto) / 2 : 100;
	opciones ='toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars='+ barras +',resizable=0,width=' + ancho + ',height=' + alto + ',left=' + izquierda + ',top=' + arriba + '';
	window.open(pagina,"popup",opciones);
}



function cerrar_ventanaPanel(url){	
$$('#ventanaPanel').fadeOut('slow');
$$('#ventanaPanel').css({'zIndex':'-1'});

loadUrl(url);
}


function cerrar_ventana(url,div){	
$$('#'+div).fadeOut('slow');
$$('#'+div).css({'zIndex':'-1'});

	if(url!=""){
	loadUrl(url);
	}

}


function enviarFormFile(nombreForm,url){
		$$('#'+nombreForm).ajaxForm({ 
			success: function(html) { 
			
			$$('#cuerpo').fadeIn('slow');
			
				loadUrlVentana(url);
			
			loadUrl(html);
			} 
		});
}



	


function enviarForm(nombreForm){
		$$('#'+nombreForm).ajaxForm({ 
			target: '#cuerpo', 
			success: function(html) { 
			$$('#cuerpo').fadeIn('slow');
			
			} 
		});
}



function enviarFormValidado(nombreForm,funcionValidacion){

	if(funcionValidacion!=""){		
	
		
		var nuevaFuncion=eval(funcionValidacion);
		
		if(nuevaFuncion()==false){
			//hacer si es falso
			
		}else{
		
		$$('#'+nombreForm).ajaxForm({ 
			target: '#cuerpo',
			success: function(html){
			$$('#cuerpo').fadeIn('slow');
			//alert(html);
			} 
		});
		
		}
	}
}


function loadUrl(script){

$$.ajax({
	type: "GET",
	url: script,
	data: "",
	success: function(html){
       $$("#cuerpo").fadeIn("slow");
	   $$("#cuerpo").html(html);
	},
   beforeSend: function(){
     // Handle the beforeSend event
	 muestraCarga();
   },
   complete: function(){
     // Handle the complete event
	 ocultaCarga();
   }	
});

}

function loadVentana(script,div){

$$.ajax({
	type: "GET",
	url: script,
	data: "",
	success: function(html){
       $$('#'+div).css({'zIndex':'1'});
	   $$('#'+div).html(html);
	   $$('#'+div).fadeIn("slow");
	},
   beforeSend: function(){
     // Handle the beforeSend event
	 muestraCarga();
   },
   complete: function(){
     // Handle the complete event
	 ocultaCarga();
   }	
});

}

function loadUrlVentana(script){

$$.ajax({
	type: "GET",
	url: script,
	data: "",
	success: function(html){
       $$('#ventanaPanel').css({'zIndex':'1'});
	   $$("#ventanaPanel").html(html);
	   $$("#ventanaPanel").fadeIn("slow");
	},
   beforeSend: function(){
     // Handle the beforeSend event
	 muestraCarga();
   },
   complete: function(){
     // Handle the complete event
	 ocultaCarga();
   }	
});

}



function loadUrl2(script){

$$.ajax({
	type: "POST",
	url: script,
	data: "",
	success: function(html){
	   $$("#cuerpo").html(html);
	},
   beforeSend: function(){
     // Handle the beforeSend event
	 muestraCarga();
   },
   complete: function(){
     // Handle the complete event
	 ocultaCarga();
   }	
});

}

function alerta(titulo,contenido){

$$("#alerta").html("<br />"+contenido);

		$$("#alerta").dialog({
					bgiframe: false,
					modal: true,
					resizable: false,
					title: titulo,
					closeOnEscape: true,
					close: function(){
						$$(this).dialog('destroy');
					},
					buttons:{
						Ok: function() {
							$$(this).dialog('close');
							$$(this).dialog('destroy');
						}
					}
		});

}

function confirmacion(titulo,contenido,funcionSi,funcionNo){

$$("#alerta").html("<br />"+contenido);
		$$("#alerta").dialog({
			bgiframe: true,
			resizable: false,
			title: titulo,
			height: 140,
			modal: true,
			overlay: {
				backgroundColor: '#000',
				opacity: 0.5
			},
			close: function(){
				$$(this).dialog('destroy');
			},
			buttons: {
				'No': function() {					
				
					if(funcionNo!=""){
						var nuevaFuncion=eval(funcionNo);
						nuevaFuncion();	
					}
									
					$$(this).dialog('close');
					$$(this).dialog('destroy');
					//negacion
					
				},
				'Si': function() {
					
					if(funcionSi!=""){
						var nuevaFuncion=eval(funcionSi);
						nuevaFuncion();	
					}				
					
					$$(this).dialog('close');
					$$(this).dialog('destroy');
					//confirmacion
				}
			}
		});
}




// funciones mias



function onFocusText(objetoHTML,claseCss){
	//textBoxColorPLogin
	document.getElementById(objetoHTML.id).className=claseCss;
	
}
function onBlurText(objetoHTML,claseCss){
	//textBoxPLogin
	document.getElementById(objetoHTML.id).className=claseCss;
}



function validarEmail(valor){
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(valor)){   
	return true; // valido
	} else {
	return false; // invalido
	}
}

function getDecimal(numero,decimales){
	return (numero.toString().indexOf(".")!=-1)?numero.toString().substring(0,numero.toString().indexOf(".")+decimales+1):numero.toString()+".00";
}

function validarSiEsUnScript(valor){
	switch(valor.value.substring(valor.value.length-3)){
		case "php":
		case "asp":
		case "sql":
		case "exe":
		case "htm":
		case "tml":
		case ".js":
		case "zip":
		case "xml":
		case "mxm":
		case ".as":
		case "css":
		case "jsp":
		case "spx":
		disableAllButtons();
		
		alerta("Peligro","Usted esta intentando subir un archivo \""+valor.value.substring(valor.value.length-3)+"\" que puede ser peligroso para este website por lo cual no sera admitido."); 
		
		return false;
		break;
		default:
		enableAllButtons();
		break;
		}
}

function estaVacio(objeto){
var resultado=(document.getElementById(objeto).value!="")?false:true; 	return resultado;
}

function disableAllButtons(){
  inputs=document.getElementsByTagName("input");
  for (i=0;i<inputs.length;i++)
  {
    if(inputs[i].getAttribute("type").toLowerCase()=="submit"){
		$(inputs[i].getAttribute("name")).disabled="disabled";
    }
  }
}

function enableAllButtons(){
  inputs=document.getElementsByTagName("input");
  for (i=0;i<inputs.length;i++)
  {
    if(inputs[i].getAttribute("type").toLowerCase()=="submit"){
		$(inputs[i].getAttribute("name")).disabled="";
    }
  }
}




/*

 success: function(html){
	   $$("#cuerpo").html(html);
	},


function loadUrl(url){
	ajax=xmlhttp();
	ajax.open("POST", url,true);
	ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	ajax.send(null);
	
	ajax.onreadystatechange=function(){
		if(ajax.readyState==4){
			//if(parseInt(ajax.responseText.toString())!=0){
			if(ajax.status==200){
			document.getElementById("cuerpo").innerHTML=ajax.responseText.toString();
			ocultaCarga();
			}else{
			muestraCarga();
			}
		}else{
			if(ajax.readyState==1){
			document.getElementById("dTextoLoading").innerHTML="Conectando con el servidor...";
			muestraCarga();
			}
			if(ajax.readyState==2){
			document.getElementById("dTextoLoading").innerHTML="Recibiendo datos...";
			muestraCarga();
			}
			if(ajax.readyState==3){
			muestraCarga();
			document.getElementById("dTextoLoading").innerHTML="Escribiendo datos...";
			}
			
		}		
	}
}
*/

/*
function procesarEventos()
{
  alert('Valor de la propiedad readyState:'+conexion1.readyState);
  var resultados = document.getElementById("resultados");
  if(conexion1.readyState == 4)
  {
    resultados.innerHTML = conexion1.responseText;
  } 
  else
    if (conexion1.readyState==1 || conexion1.readyState==2 || conexion1.readyState==3)
    {
      resultados.innerHTML = 'Procesando...';
    }
}

*/


///////////////////////////////////////////////////////////////////////////////////
// Funciones agregadas de otros autores ( osea funciones de otra gente )
///////////////////////////////////////////////////////////////////////////////////



function soloLetras(title,evt,objeto){ 

evt = (evt) ? evt : event; 
var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode : 
((evt.which) ? evt.which : 0));
if (charCode > 31 && (charCode < 64 || charCode > 90) && (charCode < 97 || charCode > 122) && (charCode < 32 || charCode > 46) && charCode!=57 && charCode!=241)  
	{ 
	title=(title=="")?"Aviso":title;
	alerta(title,"Solo se permiten letras en este campo."); 
	document.getElementById(objeto.id).focus();
	return false; 
	} 
	return true;
}



function soloAlfanumericos(title,evt,objeto){ 

evt = (evt) ? evt : event; 
var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode : 
((evt.which) ? evt.which : 0));
if (charCode > 31 && (charCode < 64 || charCode > 90) && (charCode < 97 || charCode > 122) && (charCode < 48 || charCode > 57) && charCode!=57 && charCode!=209 )  
	{ 
	title=(title=="")?"Aviso":title;
	alerta(title,"Solo se permiten letras y numeros en este campo."); 
	document.getElementById(objeto.id).focus();
	return false; 
	} 
	return true;
}








function cerosIquierda(tamano, numero){
if (numero.toString().length <= tamano) return cerosIquierda(tamano, "0" + numero)
else return numero;
}


function getFechaNumerica(fecha){
		var dia=fecha.toString().substr(0,2);
		var mes=fecha.toString().substr(3,2);
		nmes=cerosIquierda(1, parseFloat(mes)-1);
		var ano=fecha.toString().substr(6,4);
		
		var hora=(fecha.toString().substr(11,2)=="")?0:fecha.toString().substr(11,2);
		var minuto=(fecha.toString().substr(14,2)=="")?0:fecha.toString().substr(14,2);
		var segundo=(fecha.toString().substr(17,2)=="")?0:fecha.toString().substr(17,2);

		return Date.parse(new Date(ano,nmes,dia,hora,minuto,segundo)).toString().substring(0, 10);
}


function base64_encode(data){    
// Encodes string using MIME base64 algorithm       
//  
// version: 909.322  
// discuss at: http://phpjs.org/functions/base64_encode     
// +   original by: Tyler Akins (http://rumkin.com)     
// +   improved by: Bayron Guevara     
// +   improved by: Thunder.m     
// +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)    
// +   bugfixed by: Pellentesque Malesuada     
// +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)    
// -    depends on: utf8_encode  
// *     example 1: base64_encode('Kevin van Zonneveld');   
// *     returns 1: 'S2V2aW4gdmFuIFpvbm5ldmVsZA=='     
// mozilla has this native 
// - but breaks in 2.0.0.12!   
//if (typeof this.window['atob'] == 'function') {  
//    return atob(data);  
//} 
   
var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; 
   
var o1, o2, o3, h1, h2, h3, h4, bits, i = 0, ac = 0, enc="", tmp_arr = []; 
    
if (!data) { 
       
return data; 
    
} 
    
data = this.utf8_encode(data+''); 
    
do { // pack three octets into four hexets 
       
o1 = data.charCodeAt(i++); 
       
o2 = data.charCodeAt(i++); 
        
o3 = data.charCodeAt(i++); 
       
bits = o1<<16 | o2<<8 | o3;        
h1 = bits>>18 & 0x3f;       
h2 = bits>>12 & 0x3f;        
h3 = bits>>6 & 0x3f;      
h4 = bits & 0x3f; 
       
// use hexets to index into b64, and append result to encoded string 
       
tmp_arr[ac++] = b64.charAt(h1) + b64.charAt(h2) + b64.charAt(h3) + b64.charAt(h4); 
 
} while (i < data.length); 
   
enc = tmp_arr.join('');    
switch (data.length % 3) {         
case 1:            
enc = enc.slice(0, -2) + '==';         
break;        
case 2:            
enc = enc.slice(0, -1) + '=';        
break;    
}    
return enc; 
}





function base64_decode(data){
// Decodes string using MIME base64 algorithm   
//     
// version: 909.322    
// discuss at: http://phpjs.org/functions/base64_decode   
// +   original by: Tyler Akins (http://rumkin.com)    
// +   improved by: Thunder.m   
// +      input by: Aman Gupta   
// +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)   
// +   bugfixed by: Onno Marsman   
// +   bugfixed by: Pellentesque Malesuada   
// +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)   
// +      input by: Brett Zamir (http://brett-zamir.me)   
// +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)    
// -    depends on: utf8_decode     
// *     example 1: base64_decode('S2V2aW4gdmFuIFpvbm5ldmVsZA==');    
// *     returns 1: 'Kevin van Zonneveld'    
// mozilla has this native   
// - but breaks in 2.0.0.12!  
//if (typeof this.window['btoa'] == 'function') {    
//    return btoa(data);    
//}     
var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";     
var o1, o2, o3, h1, h2, h3, h4, bits, i = 0, ac = 0, dec = "", tmp_arr = [];
   
if (!data) {      
return data;    
} 
 
data += ''; 
    
do {  // unpack four hexets into three octets using index points in b64 
       
h1 = b64.indexOf(data.charAt(i++));         
h2 = b64.indexOf(data.charAt(i++));         
h3 = b64.indexOf(data.charAt(i++));         
h4 = b64.indexOf(data.charAt(i++)); 
       
bits = h1<<18 | h2<<12 | h3<<6 | h4; 
        
o1 = bits>>16 & 0xff;       
o2 = bits>>8 & 0xff;         
o3 = bits & 0xff; 
 
        
if (h3 == 64){       
tmp_arr[ac++] = String.fromCharCode(o1);      
} else if (h4 == 64) {           
tmp_arr[ac++] = String.fromCharCode(o1, o2);      
} else {         
tmp_arr[ac++] = String.fromCharCode(o1, o2, o3);       
}    
} while (i < data.length); 

dec = tmp_arr.join(''); 
    
dec = this.utf8_decode(dec); 
    
return dec; 
}



