//////////////////////////////////////////////////
//FUNCION OBJETO AJAX
function objetoAjax() {	
	var xmlhttp=false;
	try {
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
		try {
		   xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (e) {
			xmlhttp = false;
  		}
	}
	if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
		xmlhttp = new XMLHttpRequest();
	}
	return xmlhttp;
}
//
//////////////////////////////////////////////////

//----------------------------------------------//

//////////////////////////////////////////////////
//FUNCION OBTIENE ELEMENTOS DEL FORMULARIO
function getFormValues(x) { 
	var str = ""; var valueArr = null; var val = ""; var cmd = ""; 
	for(var i = 0; i < document.forms[x].elements.length;i++) { 
		switch(document.forms[x].elements[i].type) { 
			case "hidden": 
				str += document.forms[x].elements[i].name + "=" + escape(document.forms[x].elements[i].value) + "&"; 
				break;
			case "text":
				cmd = "(" + 'document.forms[x].elements[i].value' + ")"; 
				val = eval(cmd)
				str += document.forms[x].elements[i].name + "=" + escape(document.forms[x].elements[i].value) + "&";
				break;
			case "textarea": 
				cmd = "(" + 'document.forms[x].elements[i].value' + ")"; 
				val = eval(cmd) 
				str += document.forms[x].elements[i].name + "=" + escape(document.forms[x].elements[i].value) + "&"; 
				break;                                  
			case "radio": 
				var nombre=document.forms[x].elements[i].name;
				var form_nombre=document.forms[x].name;
				var numero_radios = eval("(" + 'document.'+form_nombre+'.'+nombre+'.length' + ")"); 
				var elvalor; var aux; var k = 0;
				while(k < numero_radios) {
					aux = eval("(" + 'document.'+form_nombre+'.'+nombre+'[' + k + ']' + ")")
					if(aux.checked) elvalor = aux.value;
					k++;
				}
				str += nombre + "=" + escape(elvalor) + "&"; 
				break;
			case "checkbox": 
                if (document.forms[x].elements[i].checked) {
	                str += document.forms[x].elements[i].name + "=" + document.forms[x].elements[i].value + "&";
                }
                break;
			case "select-one": 
				str += document.forms[x].elements[i].name + "=" + document.forms[x].elements[i].options[document.forms[x].elements[i].selectedIndex].value + "&"; 
				break; 
		} 
	} 
	str = str.substr(0,(str.length - 1)); 
	return str; 
}
//
//////////////////////////////////////////////////

//----------------------------------------------//

////////////////////////////////////////////////
//FUNCION CAMBIAR TAB
function cambiarTab(n,t) {
	for (i=1; i<=t; i++) {
		document.getElementById("tabheader"+i).style.display="none";
	}
	document.getElementById("tabheader"+n).style.display="block";
}
//
/////////////////////////////////////////////////

//----------------------------------------------//

////////////////////////////////////////////////
//FUNCION MOSTRAR DATOS BOLETIN BASICO
function mostrardatos_boleb(capa,id) {
	var menos=document.getElementById(id);
	menos.innerHTML='<a href="#" onclick="ocultardatos_boleb(\''+capa+'\',\''+id+'\'); return false;">[-] Ocultar</a>';
	var muestra=document.getElementById(capa);
	muestra.style.display="block";
	cambiarConfig(capa, 1);
}
//
/////////////////////////////////////////////////

//----------------------------------------------//

////////////////////////////////////////////////
//FUNCION OCULTAR DATOS BOLETIN BASICO
function ocultardatos_boleb(capa,id) {
	var menos=document.getElementById(id);
	menos.innerHTML='<a href="#" onclick="mostrardatos_boleb(\''+capa+'\',\''+id+'\'); return false;">[+] Mostrar</a>';
	var muestra=document.getElementById(capa);
	muestra.style.display="none";
	cambiarConfig(capa, 0);
}
//
/////////////////////////////////////////////////

//----------------------------------------------//

//*****************************************************//

/////////////////////////////////////////////////
//PROVEEDORES
//formar array proveedores
var arrayprov=new Array();
//elementos plus proveedores
//0 => no tiene
//1 => si tiene
arrayprov[2]=new Array(0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1,  1, 0, 0, 0); //proveedor 2 (id=2)
arrayprov[5]=new Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,  0, 0, 0, 1); //proveedor 5 (id=5)
arrayprov[7]=new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,  0, 0, 1, 0); //proveedor 7 (id=7)
//0 => Aniversarios
//1 => Asociaciones
//2 => Cámaras
//3 => Certificados
//4 => Chat
//5 => Congresos
//6 => Cursos
//7 => Descargas
//8 => Distribuidores
//9 => Expos
//10 => Ferias
//11 => Foros
//12 => ISO
//13 => Marcas
//14 => Miembros
//15 => Premios
//16 => Simposiums

//17 => nivel alto
//18 => nivel medio
//19 => nivel bajo
//20 => nivel optimo

/////////////////////////////////////////////////
//FUNCION BUSCANDO
function buscando(){
      var buscador='<font style="font-family:Arial, Helvetica, sans-serif; font-size:12px;">Buscando...</font>';
      return buscador;
}
//
/////////////////////////////////////////////////

//----------------------------------------------//

////////////////////////////////////////////////
//FUNCION BUSCAR PROVEEDORES
function buscarProveedoresPlus(frm) {
	var divBuscar=document.getElementById("buscador_plus");
	divBuscar.innerHTML=buscando();
	var arraybus=new Array();
	var vc="";
	for (i=0; i < 18; i++) {
		c=(frm["plus"+i].checked==true)?1:0; //
		arraybus[i]=c;
		vc+=c+"|";
	}
	vc+="@cosmos.com.mx"
	var nc="ep"+url();
	crearCookie(nc,vc,1);
	var e=0;

	for (i=0; i<arrayprov.length; i++) {
		if (typeof(arrayprov[i])=="undefined")
			continue;
		mostrar=0;
		cp=0;
		for (j=0; j < 17; j++) {
			cp+=arrayprov[i][j];
			((arraybus[j]==1) && (arrayprov[i][j]==1))?mostrar++:"";
		}
		((cp == 0) && (arraybus[17]==1))?mostrar++:"";
		(mostrar > 0)?e++:"";
		var divProveedor=document.getElementById("proveedor"+i);
		(divProveedor!=null)?divProveedor.style.display=(mostrar>0)?"block":"none":"";
	}
	document.getElementById("pencontrados").innerHTML=e;
	var por=((e * 100) / total_prov);
	var por2d=Math.round(por * 100) / 100;
	document.getElementById("pporcentaje").innerHTML=por2d;
	document.getElementById("resultado_proveedores").style.display="block";
	document.location="#proveedores";
	divBuscar.innerHTML="";
}
//
/////////////////////////////////////////////////

//----------------------------------------------//

////////////////////////////////////////////////
//FUNCION BUSCAR PROVEEDORES NIVEL
function buscarProveedoresNivel(frm) {
	var divBuscar=document.getElementById("buscador_nivel");
	divBuscar.innerHTML=buscando();
	var a=(frm["nivel1"].checked==true)?1:0;
	var m=(frm["nivel2"].checked==true)?1:0;
	var b=(frm["nivel3"].checked==true)?1:0;
	var e=0;
	for (i=0; i<arrayprov.length; i++) {
		if (typeof(arrayprov[i])=="undefined")
			continue;
		mostrar=0;
		((a==1) && (arrayprov[i][17]==1))?mostrar++:"";
		((m==1) && (arrayprov[i][18]==1))?mostrar++:"";
		((b==1) && (arrayprov[i][19]==1))?mostrar++:"";
		(arrayprov[i][20]==1)?mostrar++:"";
		(mostrar > 0)?e++:"";
		var divProveedor=document.getElementById("proveedor"+i);
		(divProveedor!=null)?divProveedor.style.display=(mostrar>0)?"block":"none":"";
	}
	document.getElementById("pencontrados").innerHTML=e;
	var por=((e * 100) / total_prov);
	var por2d=Math.round(por * 100) / 100;
	document.getElementById("pporcentaje").innerHTML=por2d;
	document.getElementById("resultado_proveedores").style.display="block";
	document.location="#proveedores";
	divBuscar.innerHTML="";
}
//
/////////////////////////////////////////////////

//----------------------------------------------//

////////////////////////////////////////////////
//FUNCION GENERAR COOKIE
function crearCookie(nombre,valor,dc) {
	//dc=>dias para caducar
	if (dc) {
		var date = new Date();
		date.setTime(date.getTime()+(dc*24*60*60*1000));
		var expira = "; expires="+date.toGMTString();
	} else
		var expira = "";
	document.cookie = nombre+"="+valor+expira+"; path=/";
}
//
/////////////////////////////////////////////////

//----------------------------------------------//

////////////////////////////////////////////////
//FUNCION BORRAR COOKIE
function borrarCookie(nombre) {
	var date = new Date();
	date.setTime(date.getTime()+(-1*24*60*60*1000));
	var expira = "; expires="+date.toGMTString();
	document.cookie = nombre+"="+expira+"; path=/";
}
//
/////////////////////////////////////////////////

//----------------------------------------------//

////////////////////////////////////////////////
//FUNCION LEER COOKIE
function leerCookie(nombre) {
	var nombrec = nombre + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ')
			c = c.substring(1,c.length);
		if (c.indexOf(nombrec) == 0)
			return c.substring(nombrec.length,c.length);
	}
	return null;
}
//
/////////////////////////////////////////////////

//----------------------------------------------//

////////////////////////////////////////////////
//FUNCION OBTENER URL
function url() {
	var url = document.location.href; 
	var sep = url.split("/");
	var na=sep[sep.length - 2] + sep[sep.length - 1];
	var nom = na.split(".");
	return nom[0];
}
//
/////////////////////////////////////////////////

//----------------------------------------------//

////////////////////////////////////////////////
//FUNCION CONSOLA DE HERRAMIENTAS
function consola() {
	var frm=document.forms["consola_herramientas"];
	var nc="ep"+url();
	var valorc=leerCookie(nc);
	if (valorc) {
		var vs=valorc.split("|");
		for (i=0; i < 18; i++) {
			cb=frm["plus"+i];
			cb.checked=((cb.disabled==false) && (vs[i]==1))?true:false;
		}
	}
}
//
/////////////////////////////////////////////////

//----------------------------------------------//

////////////////////////////////////////////////
//FUNCION COOKIE GENERAL DE CONFIGURACION
function config() {
	var nc="gconfig";
	var vc=leerCookie(nc);
	if (vc) {
		var v=vc.split("|");
		var dh=v[0].split("=");
		var dd=v[1].split("=");
		var dr=v[2].split("=");
		var dn=v[3].split("=");
		(dh[1]==0)?ocultardatos_boleb("herramientas","m_herramientas"):"";
		(dd[1]==0)?ocultardatos_boleb("distancias","m_distancias"):"";
		(dr[1]==0)?ocultardatos_boleb("recipientes","m_recipientes"):"";
		(dn[1]==0)?ocultardatos_boleb("noticias","m_noticias"):"";
	}
}
//
/////////////////////////////////////////////////

//----------------------------------------------//

////////////////////////////////////////////////
//FUNCION COOKIE GENERAL DE CONFIGURACION
function cambiarConfig(nombre, valor) {
	var nc="gconfig";
	var vc=leerCookie(nc);
	if (vc) {
		var v=vc.split("|");
		var valores="";
		for (i=0; i < v.length - 1; i++) {
			sv=v[i].split("=");
			valores+=(sv[0]==nombre)?nombre+"="+valor+"|":sv[0]+"="+sv[1]+"|";
		}
		valores+="@cosmos.com.mx";
	} else {
		var dh=(document.getElementById("herramientas").style.display=="none")?0:1;
		var dd=(document.getElementById("distancias").style.display=="none")?0:1;
		var dr=(document.getElementById("recipientes").style.display=="none")?0:1;
		var dn=(document.getElementById("noticias").style.display=="none")?0:1;
		var valores="herramientas="+dh+"|distancias="+dd+"|recipientes="+dr+"|noticias="+dn+"|@cosmos.com.mx";
	}
	crearCookie(nc,valores,1);
}
//
/////////////////////////////////////////////////

//----------------------------------------------//

////////////////////////////////////////////////
//BASE64
var base64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split("");
var base64inv = {}; 
for (var i = 0; i < base64chars.length; i++) {
   base64inv[base64chars[i]] = i; 
}
//
/////////////////////////////////////////////////

//----------------------------------------------//

////////////////////////////////////////////////
//FUNCION CODIFICA A BASE64
function encode(s) {
	//s=>string a codoficar
	var r = "";
	var p = "";
	var c = s.length % 3;
	
	if (c > 0) {
		for (; c < 3; c++) {
			p += '='; s += "\0";
		}
	}
	for (c = 0; c < s.length; c += 3) {
		if (c > 0 && (c / 3 * 4) % 76 == 0) {
			r += "\r\n";
		}
		var n = (s.charCodeAt(c) << 16) + (s.charCodeAt(c+1) << 8) + s.charCodeAt(c+2);
		n = [(n >>> 18) & 63, (n >>> 12) & 63, (n >>> 6) & 63, n & 63];
		r += base64chars[n[0]] + base64chars[n[1]] + base64chars[n[2]] + base64chars[n[3]];
	}
	return r.substring(0, r.length - p.length) + p;
}
//
/////////////////////////////////////////////////

//----------------------------------------------//

////////////////////////////////////////////////
//FUNCION DECODIFICA A BASE64
function decode(s){
	//s=>string a decodificar
	var p = (s.charAt(s.length-1) == '=' ? (s.charAt(s.length-2) == '='	? 'AA' : 'A') : "");
	var r = "";
	s = s.substr(0, s.length - p.length) + p;
	s = s.replace(new RegExp('[^'+base64chars.join("")+']', 'g'), "");
	
	for (var c = 0; c < s.length; c += 4) {
		var n = (base64inv[s.charAt(c)] << 18) + base64inv[s.charAt(c+3)] +	(base64inv[s.charAt(c+1)] << 12) + (base64inv[s.charAt(c+2)] << 6);
		r += String.fromCharCode((n >>> 16) & 255, (n >>> 8) & 255, n & 255);
	}
	return r.substring(0, r.length - p.length);
}
//
/////////////////////////////////////////////////

//----------------------------------------------//

////////////////////////////////////////////////
//FUNCION DATOS USUARIO
function datosUsuario(frm) {
	var nom=encode(frm.c_nombre.value);
	var ape=encode(frm.c_apellidos.value);
	var car=encode(frm.c_cargo.value);
	//var ocu=encode(frm.c_ocupa.options[frm.ocupa.selectedIndex].value);
	var ocu=""
	//var sexo=(frm.c_sexo[0].checked==true)?encode(frm.c_sexo[0].value):encode(frm.c_sexo[1].value);
	var sexo=""
	var cdia=encode(frm.c_day.options[frm.c_day.selectedIndex].value);
	var cmes=encode(frm.c_month.options[frm.c_month.selectedIndex].value);
	var canio=encode(frm.c_year.options[frm.c_year.selectedIndex].value);
	var rs=encode(frm.c_organizaci.value);
	var dir=encode(frm.c_direccion.value);
	var cp=encode(frm.c_codipost.value);
	var ciu=encode(frm.c_ciudad.value);
	var pais=encode(frm.c_pais.options[frm.c_pais.selectedIndex].value);
	var edo=encode(frm.c_estado.options[frm.c_estado.selectedIndex].value);
	var tarea=encode(frm.c_telareacod.value);
	var tel=encode(frm.c_telefonos.value);
	//var farea=encode(frm.c_faxareacod.value);
	var farea=""
	//var fax=encode(frm.c_fax.value);
	var fax=""
	var email=encode(frm.c_email.value);
	var url=encode(frm.c_url.value);
	//var usu=encode(frm.c_user.value);
	var usu=""
	//var pass=encode(frm.c_pass.value);
	var pass=""
	
	//var datos="nombre#&"+nom+"|apellido#&"+ape+"|cargo#&"+car+"|ocupacion#&"+ocu+"|sexo#&"+sexo+"|cdia#&"+cdia+"|cmes#&"+cmes+"|canio#&"+canio+"|social#&"+rs+"|direccion#&"+dir+"|cp#&"+cp+"|ciudad#&"+ciu+"|pais#&"+pais+"|estado#&"+edo+"|telefonoarea#&"+tarea+"|telefono#&"+tel+"|faxarea#&"+farea+"|fax#&"+fax+"|email#&"+email+"|url#&"+url+"|usuario#&"+usu+"|password#&"+pass+"|@cosmos.com.mx";
        var datos="nombre#&"+nom+"|apellido#&"+ape+"|cargo#&"+car+"|ocupacion#&"+ocu+"|sexo#&"+sexo+"|cdia#&"+cdia+"|cmes#&"+cmes+"|canio#&"+canio+"|social#&"+rs+"|direccion#&"+dir+"|cp#&"+cp+"|ciudad#&"+ciu+"|pais#&"+pais+"|estado#&"+edo+"|telefonoarea#&"+tarea+"|telefono#&"+tel+"|faxarea#&"+farea+"|fax#&"+fax+"|email#&"+email+"|url#&"+url+"|usuario#&"+usu+"|password#&"+pass+"|@cosmos.com.mx";
	crearCookie("datos",datos,1);
}
//
/////////////////////////////////////////////////

//----------------------------------------------//

////////////////////////////////////////////////
//FUNCION LEER DATOS
function leerDatos() {
	var nc="datos";
	var datos=leerCookie(nc);
	var valor="";
	if (datos) {
		var valor=new Array();
		var ds=datos.split("|");
		for (i=0; i < ds.length - 1; i++) {
			v=ds[i].split("#&");
			valor[v[0]]=decode(v[1]);
		}
	}
	return valor;
}
//
/////////////////////////////////////////////////

//----------------------------------------------//

////////////////////////////////////////////////
//FUNCION DEFAULT SELECTED
function defaultSelected(combo, valor) {
	for (i=0; i<combo.length; i++) {
		if (combo[i].value==valor) {
			combo[i].selected=true;
			break;
		}
	}
}
//
/////////////////////////////////////////////////

//----------------------------------------------//

////////////////////////////////////////////////
//FUNCION CARGAR DATOS
function cargarDatos(frm, f) {
	var dato=leerDatos();
	if (dato && f==1) {
		frm.c_nombre.value=dato["nombre"];
		frm.c_apellidos.value=dato["apellido"];
		frm.c_cargo.value=dato["cargo"];
		//defaultSelected(frm.c_ocupa, dato["ocupacion"]);
		(dato["sexo"]=="H")?frm.c_sexo[0].checked=true:frm.c_sexo[1].checked=true;
		defaultSelected(frm.c_day, dato["cdia"]);
		defaultSelected(frm.c_month, dato["cmes"]);
		defaultSelected(frm.c_year, dato["canio"]);
		frm.c_organizaci.value=dato["social"];
		frm.c_direccion.value=dato["direccion"];
		frm.c_codipost.value=dato["cp"];
		frm.c_ciudad.value=dato["ciudad"];
		defaultSelected(frm.c_pais, dato["pais"]);
		defaultSelected(frm.c_estado, dato["estado"]);
		frm.c_telareacod.value=dato["telefonoarea"];
		frm.c_telefonos.value=dato["telefono"];
		//frm.c_faxareacod.value=dato["faxarea"];
		//frm.c_fax.value=dato["fax"];
		frm.c_email.value=dato["email"];
		frm.c_url.value=dato["url"];
		//frm.c_user.value=dato["usuario"];
		//frm.c_pass.value=dato["password"];
		//frm.rcontrasena.value=dato["password"];
	} else if (dato && f==2) {
		frm.c_nombre.value=dato["nombre"];
		frm.c_apellidos.value=dato["apellido"];
		frm.c_organizaci.value=dato["social"];
		frm.c_cargo.value=dato["cargo"];
		frm.c_email.value=dato["email"];
		frm.c_telareacod.value=dato["telefonoarea"];
		frm.c_telefonos.value=dato["telefono"];
		frm.c_direccion.value=dato["direccion"];
		frm.c_codipost.value=dato["cp"];
		frm.c_ciudad.value=dato["ciudad"];
		defaultSelected(frm.c_pais, dato["pais"]);
		defaultSelected(frm.c_estado, dato["estado"]);
		frm.c_url.value=dato["url"];
	}
}
//
/////////////////////////////////////////////////

//----------------------------------------------//

////////////////////////////////////////////////
//FUNCION LATITUD Y LONGITUD
function latLon() {
	var nc="latlong";
	var cookie=leerCookie(nc);
	if (!cookie) {
		var ajax=new objetoAjax();
		ajax.open("GET", "http://www.cosmos.com.mx/Ajax/geo2xx.cgi?c_ip2latlon=x", true);
		ajax.onreadystatechange=function() {
			if (ajax.readyState==4 && ajax.status==200) {
				var resp=ajax.responseText;
				var ll=resp.split(",");
				var datos=ll[0]+"|"+ll[1]+"|@cosmos.com.mx";
				crearCookie(nc,datos,1);
			}
		}
		ajax.send(null);
	}
}
//
/////////////////////////////////////////////////

//----------------------------------------------//

////////////////////////////////////////////////
//FUNCION CARGA LATITUD Y LONGITUD
function cargaLatLon() {
	var nc="latlong";
	var cookie=leerCookie(nc);
	if (cookie) {
		var ll=cookie.split("|");
		document.getElementById("lat").value=ll[0];
		document.getElementById("long").value=ll[1];
	}
}
//
/////////////////////////////////////////////////

//----------------------------------------------//

////////////////////////////////////////////////
//FUNCION ACTUALIZA LATITUD Y LONGITUD
var arrayprovdis=new Array();
function latLonActualiza() {
	var cargador=document.getElementById("cargador_latlon");
	cargador.style.visibility="visible";
	var nc="latlong";
	var lat=document.getElementById("lat").value;
	var lon=document.getElementById("long").value;
	var datos=lat+"|"+lon+"|@cosmos.com.mx";
	crearCookie(nc,datos,1);
	
	for (i=0; i<arrayprovll.length; i++) {
		var idp=arrayprovll[i][0];
		arrayprovdis[i]=new Array();
		arrayprovdis[i][0]=idp;
		for (j=1; j<arrayprovll[i].length; j++) {
			var ll=arrayprovll[i][j].split(",");
			var spll=document.getElementById("dis"+idp+"_"+j);
			if (spll!=null) {
				dis=calculaDistancia(lat, lon, ll[0], ll[1]);
				arrayprovdis[i][j]=dis;
				spll.innerHTML=dis;
			}
		}
	}
	cargador.style.visibility="hidden";
	document.location="#proveedores";
}
//
/////////////////////////////////////////////////

//----------------------------------------------//

////////////////////////////////////////////////
//FUNCION CARGA LATITUD Y LONGITUD  DE TODOS LOS PROVEEDORES
function latLonLoad() {
	var nc="latlong";
	var cookie=leerCookie(nc);
	if (cookie) {
		var llc=cookie.split("|");
		for (i=0; i<arrayprovll.length; i++) {
			var idp=arrayprovll[i][0];
			arrayprovdis[i]=new Array();
			arrayprovdis[i][0]=idp;
			for (j=1; j<arrayprovll[i].length; j++) {
				var ll=arrayprovll[i][j].split(",");
				var spll=document.getElementById("dis"+idp+"_"+j);
				if (spll!=null) {
					dis=calculaDistancia(llc[0], llc[1], ll[0], ll[1]);
					arrayprovdis[i][j]=dis;
					spll.innerHTML=dis;
				}
			}
		}
	}
}
//
/////////////////////////////////////////////////

//----------------------------------------------//

////////////////////////////////////////////////
//FUNCION CALCULA DISTANCIA
function calculaDistancia(lato, lono, latd, lond) {
	var lato=lato/180*Math.PI;
	var latd=latd/180*Math.PI;
	var lono=lono/180*Math.PI;
	var lond=lond/180*Math.PI;
	var x;
	with (Math)  {
		x=sin(lato)*sin(latd)+cos(lato)*cos(latd)*cos(lond-lono);
		var dist=60*acos(x);
		dist=dist*180/PI;
		
		var km=round(dist*1.852*pow(10,2))/pow(10,2);
	}
	return km;
}
//
/////////////////////////////////////////////////

//----------------------------------------------//

//////////////////////////////////////////////////
//FUNCION MOVER OPCIONES ENTRE SELECTS
function moverOpcion(de, a) {
	for(i = 0; i < de.options.length; i++ ) {
		if(de.options[i].selected) {
			de.options[i].selected = false;
			a.appendChild(de.removeChild(de.options[i]));
			i--;
		}
	}
	var error=document.getElementById("error_ubicacion");
	(document.ubicacion.alugar.options.length==0)?error.style.display="block":error.style.display="none";
}
//
//////////////////////////////////////////////////

//----------------------------------------------//

//////////////////////////////////////////////////
//FUNCION MOSTRAR PROVEEDORES UBICADOS EN LAS REGIONES
function mostrarProveedorRegion(frm) {
	var inc=frm.alugar;
	if (inc.options.length==0) return;
	var cargador=document.getElementById("cargador_ubicacion");
	cargador.style.visibility="visible";
	var arrayfrm=new Array();
	for(i = 0; i < inc.options.length; i++ )
		arrayfrm[i]=inc.options[i].value;
	e=0;
	for (i=0; i<arrayprovsuc.length; i++) {
		var m=0
		var idp=arrayprovsuc[i][0];
		for (j=1; j<arrayprovsuc[i].length; j++) {
			for (x=0; x<arrayfrm.length; x++) {
				if (arrayprovsuc[i][j]==arrayfrm[x]) {
					m++;
					break;
				}
			}
			if (m>0) break;
		}
		(m > 0)?e++:"";
		var divProveedor=document.getElementById("proveedor"+idp);
		(divProveedor!=null)?divProveedor.style.display=(m>0)?"block":"none":"";
	}
	document.getElementById("pencontrados").innerHTML=e;
	var por=((e * 100) / total_prov);
	var por2d=Math.round(por * 100) / 100;
	document.getElementById("pporcentaje").innerHTML=por2d;
	document.getElementById("resultado_proveedores").style.display="block";
	cargador.style.visibility="hidden";
	document.location="#proveedores";
}
//
//////////////////////////////////////////////////

//----------------------------------------------//

//////////////////////////////////////////////////
//FUNCION MOSTRAR PROVEEDORES
function mostrarProveedor(frm) {
	var ded=frm.dedistancia.value;
	var ad=frm.adistancia.value;
	var e=0;
	for (i=0; i<arrayprovdis.length; i++) {
		var idp=arrayprovdis[i][0];
		var m=0
		for (j=1; j<arrayprovdis[i].length; j++) {
			if ((ded <= arrayprovdis[i][j]) && (ad >= arrayprovdis[i][j])) {
				m++;
				break;
			}
		}
		(m > 0)?e++:"";
		var divProveedor=document.getElementById("proveedor"+idp);
		(divProveedor!=null)?divProveedor.style.display=(m>0)?"block":"none":"";
	}
	document.getElementById("pencontrados").innerHTML=e;
	var por=((e * 100) / total_prov);
	var por2d=Math.round(por * 100) / 100;
	document.getElementById("pporcentaje").innerHTML=por2d;
	document.getElementById("resultado_proveedores").style.display="block";
	document.location="#proveedores";
}
//
//////////////////////////////////////////////////

//----------------------------------------------//

/////////////////////////////////////////////////
//FUNCION CENTRAR DIV
function centrarDiv(divObj){
	var ie=document.all && !window.opera;
	var dom=document.getElementById;
	standardbody=(document.compatMode=="CSS1Compat")? document.documentElement : document.body
	var scroll_top=(ie)? standardbody.scrollTop : window.pageYOffset;
	var scroll_left=(ie)? standardbody.scrollLeft : window.pageXOffset;
	var docwidth=(ie)? standardbody.clientWidth : window.innerWidth-16;
	var docheight=(ie)? standardbody.clientHeight: window.innerHeight;
	var docheightcomplete=(standardbody.offsetHeight>standardbody.scrollHeight)? standardbody.offsetHeight : standardbody.scrollHeight;
	var objwidth=divObj.offsetWidth;
	var objheight=divObj.offsetHeight;
	var topposition=(docheight>objheight)? scroll_top+docheight/2-objheight/2+"px" : scroll_top+"px";
	divObj.style.left=docwidth/2-objwidth/2+"px";
	divObj.style.top=Math.floor(parseInt(topposition))+"px";
}
//
/////////////////////////////////////////////////

//----------------------------------------------//

/////////////////////////////////////////////////
//FUNCION MOSTRAR TRANSPARENCIA
function transparent(){
	var trans=document.getElementById("trans");
	
	var ie=document.all && !window.opera;
	var dom=document.getElementById;
	standardbody=(document.compatMode=="CSS1Compat")? document.documentElement : document.body
	var docwidth=(ie)? standardbody.clientWidth : window.innerWidth-16;
	var docheight=(ie)? standardbody.clientHeight: window.innerHeight;
	var docheightcomplete=(standardbody.offsetHeight>standardbody.scrollHeight)? standardbody.offsetHeight : standardbody.scrollHeight;
	
	trans.style.width=docwidth+"px";
	trans.style.height=docheightcomplete+"px";
	trans.style.visibility="visible";
}
//
/////////////////////////////////////////////////

//----------------------------------------------//

//////////////////////////////////////////////////
//FUNCION CERRAR TRANSPARENT
function cerrarVentana() {
	var cont=document.getElementById("contenido");
	cont.style.visibility="hidden";
	
	var trans=document.getElementById("trans");
	trans.style.visibility="hidden";
}
//////////////////////////////////////////////////

//----------------------------------------------//

//////////////////////////////////////////////////
//FUNCION RECOMENDAR PAGINA
function recomendarPagina() {
	transparent();
	var car=document.getElementById("cargador");
	centrarDiv(car);
	car.style.visibility="visible";
	var divResultado=document.getElementById("contenido");
	
	var ajax=new objetoAjax();
	ajax.open("GET","recomendar.php", true);
	ajax.onreadystatechange=function() {
		if (ajax.readyState==4 && ajax.status==200)	{ 
			divResultado.innerHTML=ajax.responseText;
			centrarDiv(divResultado);
			car.style.visibility="hidden";
			divResultado.style.visibility="visible";
		} 
	}
	ajax.send(null);
}
//////////////////////////////////////////////////

//----------------------------------------------//

//////////////////////////////////////////////////
//FUNCION RECOMENDAR PAGINA ENVIO
function recomendarPaginaEnvio(frm) {
	var btn=frm.enviar;
	btn.value="Enviando...";
	btn.disabled=true;
	var e=document.getElementById("exito");
	e.style.display="none";
	
	var str = getFormValues(frm.name);
	var ajax=new objetoAjax();
	ajax.open("POST", "recomendar_envio.php", true);
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	ajax.send(str);
	ajax.onreadystatechange=function() {
		if (ajax.readyState==4 && ajax.status==200) {
			e.style.display="block";
			frm.reset();
			btn.value="Enviar";
			btn.disabled=false;
		}
	}
}
//////////////////////////////////////////////////

//----------------------------------------------//

//////////////////////////////////////////////////
//FUNCION ENVIAR EMAIL
function enviarEmail() {
	transparent();
	var car=document.getElementById("cargador");
	centrarDiv(car);
	car.style.visibility="visible";
	var divResultado=document.getElementById("contenido");
	
	var ajax=new objetoAjax();
	ajax.open("GET","mail.php", true);
	ajax.onreadystatechange=function() {
		if (ajax.readyState==4 && ajax.status==200)	{ 
			divResultado.innerHTML=ajax.responseText;
			centrarDiv(divResultado);
			car.style.visibility="hidden";
			divResultado.style.visibility="visible";
		} 
	}
	ajax.send(null);
}
//////////////////////////////////////////////////

//----------------------------------------------//

//////////////////////////////////////////////////
//FUNCION  ENVIAR EMAIL ENVIO
function enviarEmailEnvio(frm) {
	var btn=frm.enviar;
	btn.value="Enviando...";
	btn.disabled=true;
	var e=document.getElementById("exito");
	e.style.display="none";
	
	var str = getFormValues(frm.name);
	var ajax=new objetoAjax();
	ajax.open("POST", "mail_envio.php", true);
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	ajax.send(str);
	ajax.onreadystatechange=function() {
		if (ajax.readyState==4 && ajax.status==200) {
			e.style.display="block";
			frm.reset();
			btn.value="Enviar";
			btn.disabled=false;
		}
	}
}
//////////////////////////////////////////////////

//----------------------------------------------//

//////////////////////////////////////////////////
//FUNCION MOSTRAR TODOS LOS PROVEEDORES
function restaurarProveedores() {
	for (i=0; i<arrayprovsuc.length; i++) {
		var divProveedor=document.getElementById("proveedor"+arrayprovsuc[i][0]);
		(divProveedor!=null)?divProveedor.style.display="block":"";
	}
	document.getElementById("pencontrados").innerHTML=total_prov;
	document.getElementById("pporcentaje").innerHTML=100;
}
//
//////////////////////////////////////////////////

//----------------------------------------------//

//////////////////////////////////////////////////
//FUNCION MOSTRAR U OCULTAR UBICACION
function moUbicacion(m) {
	var u1=document.getElementById("tubicacion1");
	var u2=document.getElementById("tubicacion2");
	u1.style.display="none";
	u2.style.display="none";
	document.getElementById("tubicacion"+m).style.display="block";
}
//
//////////////////////////////////////////////////

//----------------------------------------------//

/////////////////////////////////////////////////
//FUNCION CARGA ESTADOS
function cargaEstados(idp) {
	var comboE=document.getElementById("u_estado");
	comboE.length=0;
	var nuevaOpcionE=document.createElement("option");
	nuevaOpcionE.value="";
	if (idp!="") {
		var ajax=new objetoAjax();
		ajax.open("GET", "http://www.cosmos.com.mx/Ajax/geo2xx.cgi?c_cc2region2="+idp+"&AUTHENTICATED_USERNAME=geoip&AUTHENTICATED_PASSWORD=l4tl0n", true);
		ajax.onreadystatechange=function() {
			  if (ajax.readyState==1) {
					nuevaOpcionE.innerHTML="Cargando...";
					comboE.appendChild(nuevaOpcionE);
			  }
			  if (ajax.readyState==4 && ajax.status==200) { 
					document.getElementById("fila_estadou").innerHTML=ajax.responseText;
			  }
		}
		ajax.send(null);
	} else {
		nuevaOpcionE.innerHTML="[Seleccione Estado]";
		comboE.appendChild(nuevaOpcionE);
	}
}

//
/////////////////////////////////////////////////

//----------------------------------------------//

////////////////////////////////////////////////
//FUNCION ACTUALIZA LATITUD Y LONGITUD
var arrayprovdis=new Array();
function latLonActualizaUbicacion() {
	var cargador=document.getElementById("cargador_latlon2");
	cargador.style.visibility="hidden";
	var error=document.getElementById("error_latlon2");
	error.style.display="none";
	var objp=document.getElementById("u_pais");
	var obje=document.getElementById("u_estado");
	var pa=objp.options[objp.selectedIndex].value;
	var edo=obje.options[obje.selectedIndex].value;
	var cp=document.getElementById("u_cp").value;
	if ((pa=="") && (edo=="") && (cp=="")) {
		error.style.display="block";
		return false;
	}
	if ((pa=="") && (cp!="")) {
		error.style.display="block";
		return false;
	} else if ((pa!="") && (cp!="")) {
		url="";
	} else if ((pa!="") && (edo!="")) {
		url="http://www.cosmos.com.mx/Ajax/geo2xx.cgi?c_ccrr2latlon="+edo;
	} else {
		url="http://www.cosmos.com.mx/Ajax/geo2xx.cgi?c_ccrr2latlon="+pa;
	}
	cargador.style.visibility="visible";
	
	var ajax=new objetoAjax();
	ajax.open("GET", url+"&AUTHENTICATED_USERNAME=geoip&AUTHENTICATED_PASSWORD=l4tl0n", true);
	ajax.onreadystatechange=function() {
		  if (ajax.readyState==4 && ajax.status==200) { 
				var latlon=ajax.responseText;
				var latlon=latlon.split(",");
				document.getElementById("lat").value=latlon[0];
				document.getElementById("long").value=latlon[1];
				var nc="latlong";
				var datos=latlon[0]+"|"+latlon[1]+"|@cosmos.com.mx";
				
				for (i=0; i<arrayprovll.length; i++) {
					var idp=arrayprovll[i][0];
					arrayprovdis[i]=new Array();
					arrayprovdis[i][0]=idp;
					for (j=1; j<arrayprovll[i].length; j++) {
						var ll=arrayprovll[i][j].split(",");
						var spll=document.getElementById("dis"+idp+"_"+j);
						if (spll!=null) {
							dis=calculaDistancia(latlon[0], latlon[1], ll[0], ll[1]);
							arrayprovdis[i][j]=dis;
							spll.innerHTML=dis;
						}
					}
				}
				cargador.style.visibility="hidden";
				document.location="#proveedores";
		  }
	}
	ajax.send(null);
}
//
/////////////////////////////////////////////////

//----------------------------------------------//