//var UrlServer = "http://201.134.16.232/kropsoft/admin/";
var arrDiasMes = new Array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31);
var arrMesesCorto = new Array('Ene','Feb','Mar','Abr','May','Jun','Jul','Ago','Sep','Oct','Nov','Dic');
//Aqui me traigo el Path completo donde residen todos los ASP o archivos requeridos para el proyecto
//function getUrlServer(valor){
//	return UrlServer+valor;
//}
function getUrlProcesos(valor){
	return "Procesos/"+ valor;
}
function getUrlCatalogos(valor){
	return "Catalogos/" + valor;
}
function getUrlUtilerias(valor){
	return "Utilerias/" + valor;
}
function llenarCombo(caso, selObj, idQuery, idQuery2, idSelected){
	console.log("llenarCombo /  caso: " + caso);
	if(caso=="paises"){
		var strUrl = "data/comboboxes.php?method=paises&rnd="+ Math.random();
	}else if(caso=="estados"){
		var strUrl = "data/comboboxes.php?method=estados&pais="+ idQuery +"&rnd="+ Math.random();
	}else if(caso=="ciudades"){
		var strUrl = "data/comboboxes.php?method=ciudades&estado="+ idQuery +"&pais="+ idQuery2 +"&rnd="+ Math.random();
	
	}else if(caso=="formas"){
		var strUrl = "data/comboboxes.php?method=formas&intEmpresa="+ idQuery +"&rnd="+ Math.random();
	}else if(caso=="laboratorios"){
		var strUrl = "data/comboboxes.php?method=laboratorios&intEmpresa="+ idQuery +"&rnd="+ Math.random();
	}
	
	selObj.empty();
	if(caso=="laboratorios"){
		selObj.append('<option value="a">Seleccionar</option>');
	}

	$.get(strUrl, function(dataNew){
		var data = $.parseJSON(dataNew);
		var arrItems = data.Items;
		//console.log("idPais = " + idPais);
		for (var i=0; i<arrItems.length; i++) {
    	  //var newString = strCaracteres.replace(/[^0-9\\.]+/g, '');
			if(idSelected!=null){
				if( replaceCharCodes(idSelected)==replaceCharCodes(arrItems[i].label) || replaceCharCodes(idSelected)==replaceCharCodes(arrItems[i].id)){ var sSelected = "Selected"; }else{ var sSelected = ""; }
			}
		    
			selObj.append('<option value="' + arrItems[i].id + '" ' + sSelected + '>' + arrItems[i].label + '</option>');
		}
	});
}

function replaceCharCodes(sString){
	sString = sString.toLowerCase();
	//á = 225, é=233, í=237 , ó=243, ú=250
	var arr_busca = [225, 233, 237 , 243, 250];
	var arr_reemplaza = [97, 101, 105 , 111, 117];
	
	var newString = "";
	
	var arr_characters = sString.split("");
	for(var i=0; i<arr_characters.length; i++ ){
		var n = arr_characters[i].charCodeAt(0);
		var caracter = "";
		
		for(var j=0; j<arr_busca.length; j++ ){
			if(n==arr_busca[j]){
				caracter = arr_reemplaza[j];
				break;
			}
		}
		if(caracter==""){
			newString+=	String.fromCharCode(n);
		}else{
			newString+=	String.fromCharCode(caracter);
		}
		
		//console.log("i=" + i + ", caracter = " + arr_characters[i] + ", charcode = " + n + ", caracterNew = " + caracter + ", stringNew = " + newString);
	}
	return newString;
	
}
function printCharCodes(sString){
	//á = 225, é=233, í=237 , ó=243, ú=250
	
	var arr_characters = sString.split("");
	for(var i=0; i<arr_characters.length; i++ ){
		var n = arr_characters[i].charCodeAt(0);
		console.log("i=" + i + ", caracter = " + arr_characters[i] + ", charcode = " + n);
	}
}
function URLlimpia(sString){
	var tmp_this = sString.toLowerCase();
	//var arr_busca = "áéíóúñü".split("");
	//var arr_reemplaza = "aeiounu".split("");
	var arr_busca = "áéíóú".split("");
	var arr_reemplaza = "aeiou".split("");
	for(var i=0; i<arr_busca.length; i++ ){
		tmp_this = tmp_this.replace(arr_busca[i],arr_reemplaza[i]);
	}
	//return tmp_this.replace(/[^\\s\w]/g,"");
	return tmp_this;
}

var specialChars = [
	{val:"a",let:"áàãâä"},
	{val:"e",let:"éèêë"},
	{val:"i",let:"íìîï"},
	{val:"o",let:"óòõôö"},
	{val:"u",let:"úùûü"},
	{val:"c",let:"ç"},
	{val:"A",let:"ÁÀÃÂÄ"},
	{val:"E",let:"ÉÈÊË"},
	{val:"I",let:"ÍÌÎÏ"},
	{val:"O",let:"ÓÒÕÔÖ"},
	{val:"U",let:"ÚÙÛÜ"},
	{val:"C",let:"Ç"},
	{val:"",let:"?!()"}
];
 
function replaceSpecialChars(str) {
	var $spaceSymbol = '-';
	var regex;
	var returnString = str;
	for (var i = 0; i < specialChars.length; i++) {
		regex = new RegExp("["+specialChars[i].let+"]", "g");
		returnString = returnString.replace(regex, specialChars[i].val);
		regex = null;
	}
	return returnString.replace(/\s/g,$spaceSymbol);
}
function showNotificacion(valor){  // Funcion que muestra el proceso efectuado en la barra superior del sistema
	//$('#divNotificaciones').css("z-index", 9000000000000000000000000000000000000000000000000);
	$('#divNotificaciones').css("opacity", 1);
	$('#divNotificaciones').fadeIn(500);
	
	if(valor.toLowerCase().indexOf("error")>=0){
		valor = "<img src='images/icoTachita.png' align='absmiddle'> " + valor;	
	}else{
		valor = "<img src='images/icoPalomita.png' align='absmiddle'> " + valor;	
	}
	
	$("#divNotificaciones").html(valor);
	setTimeout("hideNotificacion()", 2500);
}

function hideNotificacion(){
	$('#divNotificaciones').fadeOut(1000);
	//$('#divNotificaciones').css("z-index", 100);
}

//Aqui valido una cadena de caracteres, esto con el fin de evitar conflictos entre lo que se envia y lo que se guarda en la BDD
function ValidarCaracteres(strValue){
	
	var Exp = /^[A-Za-z0-9]*$/;
	var Patt = /\W/g;
	var CaracteresEnc = "";
	var CharCode;
	
	if(strValue.length > 0){
		if(!Exp.test(strValue)){
			var Simbolos = strValue.match(Patt);
			var ArrSimbolos = String(Simbolos).split(',');
			for(var a=0;a<ArrSimbolos.length;a++){
				CharCode = ArrSimbolos[a].charCodeAt(0);
				switch(CharCode){
					//Estos códigos de caracteres ASCII son los que SI permito
					case 32: // (Espacio en blanco)
					case 95: // _
					case 46: // .
					case 45: // -
					case 53: // ?
					case 168: // ¿
					case 241: //ñ
					case 209: //Ñ
						break;
					default:
						CaracteresEnc += ArrSimbolos[a];
						break;
				}
			}
		}
	}
	return CaracteresEnc;
}
function rgDeleteCaracteres(strCaracteres){
	var reg = /^-?\d*\.?\d*$/;
	var newString = "";
	var regexp = new RegExp(reg);
	newString = regexp.test(strCaracteres);
	
	return newString;
}
function rgReturnFlotante(strCaracteres){
	if(strCaracteres!=""){
		
		var newString = strCaracteres.replace(/[^0-9\\.]+/g, '');
		//var newString = strCaracteres;
		return newString;
	}else{
		return "";
	}
}
function rgReturnDigitos(strCaracteres){
	var reg = /^\d+$/;
	var newString = "";
	var regexp = new RegExp(reg);
	newString = regexp.test(strCaracteres);
	
	return newString;
}
//Funcion para validar una URL de una WEB, utilizo una Expresion Regular
function isValidUrl(Url){
	var regexp = new RegExp(/(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/);
	return regexp.test(Url);
}
//Funcion para validar un correo electronico, utilizo una Expression Regular
function isValidEmailAddress(emailAddress) {
 	var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
 	return pattern.test(emailAddress);
}
//Funcion para crear una cadena string con caracteres al azar.
function createRandomString() {
	var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
	var string_length = 8;
	var randomstring = '';
	for (var i=0; i<string_length; i++) {
		var rnum = Math.floor(Math.random() * chars.length);
		randomstring += chars.substring(rnum,rnum+1);
	}
	
	return randomstring;
}
//Funcion para remover todos los elementos de un <select>
function RemoveAllFromList(selectbox){
	var i;
	for(i=selectbox.options.length-1;i>=0;i--){
		//if(selectbox.options[i].selected)
		selectbox.remove(i);
	}
}
//Funcion para agregar un elemento a un <select>
function AddToList(selectbox,value,text){
	if(value != "" ){
		var optn = document.createElement("OPTION");
		optn.text = text.toUpperCase();
		optn.value = value.toUpperCase();
		selectbox.options.add(optn);
	}
}
//Funcion para mover un elemento entre un <select> y otro
function MoveSelectedElement(FromList,ToList){
	var i;
	for(i=0;i<FromList.length;i++){
		if(FromList.options[i].selected){
			AddToList(ToList,FromList.options[i].value,FromList.options[i].text);
			FromList.remove(i);
			break;
		}
	}
}
//Funcion para remover un elemento seleccionado de un <select>
function DeleteSelectedElement(selectbox){
	var i;
	for(i=0;i<selectbox.length;i++){
		if(selectbox.options[i].selected){
			selectbox.remove(i);
			break;
		}
	}
}
//Funcion para saber si existe un elemento en un <select>
function FindElementOnList(selectbox,value){
	var Encontrado = false;
	var e;
	for(e=0;e<selectbox.length;e++){
		if(selectbox.options[e].value == value){
			Encontrado = true;
			break;
		}
	}
	return Encontrado;
}
//Funcion que trae todos los elementos de un <select> y los concatena con un separador que se le provee
function GetElementsFromList(selectbox,separator){
	var cadena;
	var i;
	for(i=0 ; i <Number(selectbox.options.length) ; i++){
		if(i == 0)
			cadena = selectbox.options[i].value;
		else
			cadena = cadena + separator + selectbox.options[i].value;
	}
	return cadena;
}

//COMENTARIO: En esta funcion me traigo la fecha para buscar en una base de datos
// Por ejemplo: 1/1/2011   --> 01/01/2011  (Tengo que arreglarla para que no me marque error)
// Tomando en cuenta que es una Fecha del TIPO JAVASCRIPT
function ConvertToBddDate(Fecha){
	//OJO SE DA POR HECHO QUE ES UNA FECHA EN FORMATO JAVASCRIPT
	var Dia;
	var Mes;
	var Ano;

	if(Fecha.getDate() < 10)
		Dia = "0"+Fecha.getDate().toString();
	else
		Dia = Fecha.getDate().toString();
	
	if((Fecha.getMonth()+1) < 10)
		Mes = "0"+(Fecha.getMonth()+1).toString();
	else
		Mes = (Fecha.getMonth()+1).toString();
	Ano = Fecha.getFullYear();
	return Ano+"-"+Mes+"-"+Dia;
	//return Dia+"/"+Mes+"/"+Ano;
}

function booleanToBDD(valor){
	if(valor.toUpperCase() == "TRUE")
		return 1;
	else
		return 0;
}

function getBirthYears(){
	var years = new Array();
	var today = new Date();
	var currentYear = today.getFullYear();
	var i=1;
	for(var t=currentYear; t >= (currentYear - 100); t--){
		years[i] = t;
		i++;
	}
	
	return years;
}

function trim(cadena){
	for(i=0; i<cadena.length; )
	{
		if(cadena.charAt(i)==" ")
			cadena=cadena.substring(i+1, cadena.length);
		else
			break;
	}

	for(i=cadena.length-1; i>=0; i=cadena.length-1)
	{
		if(cadena.charAt(i)==" ")
			cadena=cadena.substring(0,i);
		else
			break;
	}
	
	return cadena;
}

function addCommas(val){
	val += '';
	x = val.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	//return '<span style="width:100%; text-align:right;">' + x1 + x2 + '</span>';
	return x1 + x2;
}

function capitalizeFirstLetter(string) {
    return string.charAt(0).toUpperCase() + string.slice(1);
}
