
var matrizUbigeo = new Array();
var IdReg;
var IdPro;
var IdDis;

function Ocultar(ind){
	//document.all.pEfecDistri.style.display='none';	
	//document.all.pEfecReg.style.display='none';	
}

function Ocultar_Provincia(ind){
	//document.all.pEfecDistri.style.display='none';		
}

function objLugar( id,lugar,c1,c2,c3,c4,items) {
	this.id=id;
	this.lugar=lugar;
	this.c1=c1;
	this.c2=c2;
	this.c3=c3;
	this.c4=c4;
	this.items=items;
}

function importaXML(fichero, funcion) {  
	var xmlDoc;  
	var mozilla = (typeof document.implementation != 'undefined')      
					&& (typeof document.implementation.createDocument != 'undefined');  
	var ie = (typeof window.ActiveXObject != 'undefined');  
	if (mozilla) {    
		xmlDoc = document.implementation.createDocument("", "", null)
		xmlDoc.load(fichero);    
		xmlDoc.onload = function()    
		{      
		 funcion(xmlDoc);    
		}
	} else if (ie) {
		xmlDoc = new ActiveXObject("Microsoft.XMLDOM");    
		xmlDoc.async = false;    
		xmlDoc.load(fichero);    
		if (xmlDoc.readyState == 4) funcion(xmlDoc);  
	}  
	else {    
		alert('Tu navegador no puede manejar este script, intenta con Internet Explorer 6 (o m&aacute;s) &oacute; FireFox');    
		return;  
	}
}


function importaRegion(fichero) {  
	importaXML(fichero, muestraRegion);	
}

function importaProvincia(fichero) {  	
	importaXML(fichero, muestraProvincia);
}

function importaDistrito(fichero) {  	
	importaXML(fichero, muestraDistrito);
}

function muestraRegion(xmlDoc){  
	var divReg = document.getElementById('IdMap');
	var x = xmlDoc.getElementsByTagName('ubigeo');
	for (i=0;i<x.length;i++)	{   				
		idRegion	= x[i].getElementsByTagName("idRegion")[0].firstChild.data;    
		txRegion	= x[i].getElementsByTagName("txRegion")[0].firstChild.data;    
		coord1		= x[i].getElementsByTagName("coord1")[0].firstChild.data;    
		coord2		= x[i].getElementsByTagName("coord2")[0].firstChild.data;    
		coord3		= x[i].getElementsByTagName("coord3")[0].firstChild.data;    
		coord4		= x[i].getElementsByTagName("coord4")[0].firstChild.data;    
		cantMapa	= x[i].getElementsByTagName("cantMapa")[0].firstChild.data;

		miArea = document.createElement('area');
		miArea.coords = coord1+","+coord2+","+coord3+","+coord4;
		miArea.alt = txRegion;
		miArea.title = txRegion;		
		dep = idRegion;
		miArea.href = "javascript:OpenRegion(" + dep + ");";
		divReg.appendChild(miArea);
	}	
}

function muestraProvincia(xmlDoc){
  	var divReg = document.getElementById('IdMap');
	var x = xmlDoc.getElementsByTagName('ubigeo');
	for (i=0;i<x.length;i++)	{
			idRegion	= x[i].getElementsByTagName("idRegion")[0].firstChild.data;    
			idProvincia	= x[i].getElementsByTagName("idProvincia")[0].firstChild.data;    				
			txProvincia	= x[i].getElementsByTagName("txProvincia")[0].firstChild.data;    
			coord1		= x[i].getElementsByTagName("coord1")[0].firstChild.data;    
			coord2		= x[i].getElementsByTagName("coord2")[0].firstChild.data;    
			coord3		= x[i].getElementsByTagName("coord3")[0].firstChild.data;    
			coord4		= x[i].getElementsByTagName("coord4")[0].firstChild.data;    
			cantMapa	= x[i].getElementsByTagName("cantMapa")[0].firstChild.data;
  			try {
				miArea = document.createElement('area');
				miArea.coords =coord1+","+coord2+","+coord3+","+coord4;
				miArea.alt= txProvincia;
				miArea.title= txProvincia;
				prov= idProvincia;
				miArea.href="javascript:Provincia("+idRegion+"," + prov  + ");";
				divReg.appendChild(miArea);
			} catch(e) {
				//alert(e);
			}
	}
}

function muestraDistrito(xmlDoc){
  	var divReg = document.getElementById('IdMap');
	var x = xmlDoc.getElementsByTagName('ubigeo');
	for (i=0;i<x.length;i++)	{   				
		idRegion	= x[i].getElementsByTagName("idRegion")[0].firstChild.data;
		idProvincia	= x[i].getElementsByTagName("idProvincia")[0].firstChild.data;
		idDistrito	= x[i].getElementsByTagName("idDistrito")[0].firstChild.data;
		txDistrito	= x[i].getElementsByTagName("txDistrito")[0].firstChild.data;
		coord1		= x[i].getElementsByTagName("coord1")[0].firstChild.data;
		coord2		= x[i].getElementsByTagName("coord2")[0].firstChild.data;
		coord3		= x[i].getElementsByTagName("coord3")[0].firstChild.data;
		coord4		= x[i].getElementsByTagName("coord4")[0].firstChild.data;
		capital		= x[i].getElementsByTagName("capital")[0].firstChild.data;

  		try {
			miArea = document.createElement('area');
			miArea.coords =coord1+","+coord2+","+coord3+","+coord4;
			miArea.alt= txDistrito;
			miArea.title= txDistrito;
			dist= idDistrito;
			if (capital != 1) {
				miArea.href="javascript:distrito("+idRegion+"," + idProvincia + "," + dist + ");";
			}
			else {
				miArea.href="javascript:alert('Este es un distrito capital.');";
			}
			divReg.appendChild(miArea);
		} 
		catch(e) {
			//alert(e);
		}
	}
}

function efect_ver(ind,c1,c2,c3,c4)
{	
	importaProvincia("xml/xProvincias.xml");	
	// Borrar L&iacute;nea
		borraLinea = document.getElementById('miLinea');
		linea = borraLinea.parentNode;
		linea.removeChild(borraLinea);
	// Borrar Tabla Region
		borraTableReg = document.getElementById('mitableReg');
		tableReg = borraTableReg.parentNode;
		tableReg.removeChild(borraTableReg);
	// Borrar Tabla Provincia
		borraTableProv = document.getElementById('mitableProv');
		tableProv = borraTableProv.parentNode;
		tableProv.removeChild(borraTableProv);
	// Llenar Tabla Regi&oacute;n
		divReg = document.getElementById('divRegion');
		mitableReg = document.createElement('table');
		mitableReg.setAttribute('id', 'mitableReg');
		mitbodyReg = document.createElement('tbody');
		micurrent_rowReg = document.createElement('tr');
		micurrent_cellReg = document.createElement('td');
		currenttextReg = document.createTextNode('REGION '+matrizUbigeo[ind].lugar);
		celdaicono = document.createElement('td');
		iconoProvincia = document.createElement('img');
		iconoProvincia.setAttribute('src','images/map_mas.png');
		iconoProvincia.setAttribute('border','0');
		linkProvincia = document.createElement('a');
		linkProvincia.setAttribute('href', "javascript:OpenRegion(" + ind +")");
		linkProvincia.setAttribute('title', 'Ingresar a la Region ' + matrizUbigeo[ind].lugar);
		linkProvincia.appendChild(iconoProvincia);
		celdaicono.appendChild(linkProvincia);

		micurrent_cellReg.appendChild(currenttextReg);
		micurrent_rowReg.appendChild(celdaicono);
		micurrent_rowReg.appendChild(micurrent_cellReg);
		mitbodyReg.appendChild(micurrent_rowReg);
		mitableReg.appendChild(mitbodyReg);
	// Llenar Tabla Provincias
		mitable = document.createElement('table');
		mitable.setAttribute('id', 'mitableProv');
		for (i=1;i<=matrizUbigeo[ind].items;i++)
		{	mitbody = document.createElement('tbody');
			micurrent_row = document.createElement('tr');

			micurrent_row.setAttribute('onmouseover','this.style.backgroundColor="#3E3E3F"; this.style.cursor="pointer";');
			micurrent_row.setAttribute('onmouseout','this.style.backgroundColor="#7A7C7F";');			
			
			micurrent_cell_1 = document.createElement('td');
			micurrent_cell_2 = document.createElement('td');

			iconoVerDistri = document.createElement('img');
			iconoVerDistri.setAttribute('src','images/flechas.png');
			iconoVerDistri.setAttribute('border','0');
			iconoVerDistri.setAttribute('title','Ver Distritos');
			iconoVerDistri.style.cursor='hand';
			
			idProv = matrizUbigeo[ind][i].id;
		
			var linkDistri =document.createElement('a');
			linkDistri.className="LinkBlanco";
			linkDistri.setAttribute("href","javascript:openDistri("+ind+","+idProv+");");
		linkDistri.appendChild(iconoVerDistri);
			currenttext = document.createTextNode(matrizUbigeo[ind][i].lugar);
		
			var linkProvin =document.createElement('a');
			linkProvin.className="LinkBlanco";
			linkProvin.setAttribute("href","javascript:Provincia("+ ind + "," + idProv +");");
			linkProvin.setAttribute('title','Ingresar a la Provincia de ' + matrizUbigeo[ind][i].lugar);
		linkProvin.appendChild(currenttext);
		
			micurrent_cell_1.appendChild(linkProvin);
			micurrent_cell_2.appendChild(linkDistri);
			micurrent_row.appendChild(micurrent_cell_1);
			micurrent_row.appendChild(micurrent_cell_2);
			mitbody.appendChild(micurrent_row);
			mitable.appendChild(mitbody);
		}		

		miLinea = document.createElement('<hr>');
		miLinea.id='miLinea';

		divReg.appendChild(mitableReg);divReg.appendChild(miLinea);
		divReg.appendChild(mitable);
		Ocultar()
		document.all.pEfecReg.style.display='block';		
		document.all.pEfecReg.style.left=c1;
		document.all.pEfecReg.style.top=c2;
		document.all.hTdLeft.value=c1;
		document.all.hTdTop.value=c2;
		//document.all.imRegion.href='javascript:OpenRegion('+ matrizUbigeo[ind].id +');';
		//document.all.imProvincias.href='javascript:openProv(this);';
}

function efect_ver_region(reg, ind,c1,c2,c3,c4)
{
	importaDistrito('xml/prov/prov_' + reg + '_' + ind + '.xml');
	// Borrar L&iacute;nea
		borraLinea = document.getElementById('miLinea');
		linea = borraLinea.parentNode;
		linea.removeChild(borraLinea);
	// Borrar Tabla Distritos
		borraTableDistri = document.getElementById('mitableDistri');
		tableDistri = borraTableDistri.parentNode;
		tableDistri.removeChild(borraTableDistri);
	// Borrar Tabla Provincias
		borraTableProv = document.getElementById('mitableProv');
		tableProv = borraTableProv.parentNode;
		tableProv.removeChild(borraTableProv);
	// Llenar Tabla Provincias
		var divReg = document.getElementById('divProvincias');
		var mitableReg = document.createElement('table');
		mitableReg.setAttribute('id', 'mitableProv');
		mitableReg.setAttribute('border', '0');
		var mitbodyReg = document.createElement('tbody');
		var micurrent_rowReg = document.createElement('tr');
		var micurrent_cellReg = document.createElement('td');
		var currenttextReg = document.createTextNode('PROVINCIA: '+matrizUbigeo[reg][ind].lugar);		
		var celdaicono = document.createElement('td');
		var iconoProvincia = document.createElement('img');
		iconoProvincia.setAttribute('src','images/map_mas.png');
		iconoProvincia.setAttribute('border','0');
		var linkProvincia = document.createElement('a');
		linkProvincia.setAttribute('href', "javascript:Provincia(" + reg + "," + ind +")");
		linkProvincia.setAttribute('title', 'Ingresar a la Provincia de ' + matrizUbigeo[reg][ind].lugar);
		linkProvincia.appendChild(iconoProvincia);
		celdaicono.appendChild(linkProvincia);
		micurrent_cellReg.appendChild(currenttextReg);
		micurrent_rowReg.appendChild(celdaicono);
		micurrent_rowReg.appendChild(micurrent_cellReg);
		var tituloDistritosRow = document.createElement('tr');
		var tituloDistritosCell = document.createElement('td');
		tituloDistritosCell.colspan=2;
		var currenttextx = document.createTextNode(" ");
		tituloDistritosCell.appendChild(currenttextx);
		tituloDistritosRow.appendChild(tituloDistritosCell);
		mitbodyReg.appendChild(micurrent_rowReg);
		mitbodyReg.appendChild(tituloDistritosRow);
		mitableReg.appendChild(mitbodyReg);

	// Llenar Tabla Distritos
		var mitableDistri = document.createElement('table');
		mitableDistri.setAttribute('id', 'mitableDistri');
		for (i=1;i<=matrizUbigeo[reg][ind].items + 2 ;i++)
		{
			try  {
				var capital = matrizUbigeo[reg][ind][i].items;
				var currenttext_Distri = document.createTextNode("- "+matrizUbigeo[reg][ind][i].lugar);
				var mitbodyDistri = document.createElement('tbody');
				var micurrent_row_Distri = document.createElement('tr');
				var micurrent_cell_vacio = document.createElement('td');
				micurrent_cell_vacio.setAttribute('width','10px');
				var micurrent_cell_Distri = document.createElement('td');
				if (capital != "1" ) {
				var newlink = document.createElement('a');
				newlink.className="LinkBlanco";
				newlink.setAttribute('href', "javascript:distrito(" + reg +"," + ind +","+i+")");
				newlink.setAttribute('title', 'Ingresar al Distrito de ' + matrizUbigeo[reg][ind][i].lugar);
				newlink.appendChild(currenttext_Distri);
				micurrent_cell_Distri.appendChild(newlink);
				}
				else {
					//Bloqueamos para que no se visualice el distrito capital
					//micurrent_cell_Distri.appendChild(currenttext_Distri);
				}
				micurrent_row_Distri.appendChild(micurrent_cell_vacio);
				micurrent_row_Distri.appendChild(micurrent_cell_Distri);
				mitbodyDistri.appendChild(micurrent_row_Distri);
				mitableDistri.appendChild(mitbodyDistri);
			} catch(e) {
				//alert(e);
				}
			
		}
		var miLinea = document.createElement('<hr>');
		miLinea.id='miLinea';
		divReg.appendChild(mitableReg);divReg.appendChild(miLinea);
		divReg.appendChild(mitableDistri);

		document.all.pEfecReg.style.display='block';
		document.all.pEfecReg.style.left=c1;
		document.all.pEfecReg.style.top=c2;
		document.all.hTdLeft.value=c1;
		document.all.hTdTop.value=c2;
}

function efect_ocultar(obj)
{
	return;
	document.all.pEfecDep.innerText='';
	document.all.pEfecDep.style.left=0;
	document.all.pEfecDep.style.top=0;
}

function cerrarReg()
{
	document.all.pEfecReg.style.display='none';
	document.all.pEfecDistri.style.display='none';
}

function openDistri(reg,prov)
{
	importaDistrito('xml/prov/prov_' + reg + '_' + prov + '.xml');
	// Borrar L&iacute;nea
		borraLinea = document.getElementById('miLineaDistri');
		linea = borraLinea.parentNode;
		linea.removeChild(borraLinea);
	// Borrar Nombre Provincia
		borranombreProvincia = document.getElementById('tablanombreProvincia');
		lineanombreProvincia = borranombreProvincia.parentNode;
		lineanombreProvincia.removeChild(borranombreProvincia);
	// Borrar Tabla Distritos
		borraTableDistri = document.getElementById('mitableDistri');
		tableDistri = borraTableDistri.parentNode;
		tableDistri.removeChild(borraTableDistri);
	// Llenar Tabla Distritos
		midivDistri = document.getElementById('divDistritos');
		// T&iacute;tulo de Provincia
		mitableReg = document.createElement('table');
		mitableReg.setAttribute('id', 'tablanombreProvincia');
		mitbodyReg = document.createElement('tbody');
		micurrent_rowReg = document.createElement('tr');
		micurrent_cellReg = document.createElement('td');
		currenttextReg = document.createTextNode('PROVINCIA: '+matrizUbigeo[reg][prov].lugar);
		celdaicono = document.createElement('td');
		iconoProvincia = document.createElement('img');
		iconoProvincia.setAttribute('src','images/map_mas.png');
		iconoProvincia.setAttribute('border','0');
		linkProvincia = document.createElement('a');
		linkProvincia.setAttribute('href', "javascript:Provincia(" + reg + "," + prov +")");
		linkProvincia.setAttribute('title', 'Ingresar a la Provincia de ' + matrizUbigeo[reg][prov].lugar);
		linkProvincia.appendChild(iconoProvincia);
		celdaicono.appendChild(linkProvincia);
		micurrent_cellReg.appendChild(currenttextReg);
		micurrent_rowReg.appendChild(celdaicono);
		micurrent_rowReg.appendChild(micurrent_cellReg);
		mitbodyReg.appendChild(micurrent_rowReg);
		mitableReg.appendChild(mitbodyReg);
		// Distritos
		mitableDistri = document.createElement('table');
		mitableDistri.setAttribute('id', 'mitableDistri');
		mitbodyDistri = document.createElement('tbody');
		for (i=1;i<=matrizUbigeo[reg][prov].items ;i++)
		{
			try  {
			    var capital = matrizUbigeo[reg][prov][i].items;
			    currenttext_Distri = document.createTextNode(matrizUbigeo[reg][prov][i].lugar);
			    micurrent_row_Distri = document.createElement('tr');
				micurrent_cell_Distri = document.createElement('td');
				if (capital != "1" ) {
				newlink = document.createElement('a');
				newlink.className="LinkBlanco";
				newlink.setAttribute('href', "javascript:distrito(" + reg +"," + prov +","+i+")");
				newlink.setAttribute('title', 'Ingresar al Distrito de ' + matrizUbigeo[reg][prov][i].lugar);
				newlink.appendChild(currenttext_Distri);
				micurrent_cell_Distri.appendChild(newlink);
				}
				micurrent_row_Distri.appendChild(micurrent_cell_Distri);
				mitbodyDistri.appendChild(micurrent_row_Distri);
				mitableDistri.appendChild(mitbodyDistri);
			} catch(e) {
				//alert(e);
				}			
		}
	miLineaProvincia = document.createElement('<hr>');
		miLineaProvincia.id='miLineaDistri';
	midivDistri.appendChild(mitableReg);midivDistri.appendChild(miLineaProvincia);
	midivDistri.appendChild(mitableDistri);

	document.all.pEfecDistri.style.display='block';
	document.all.pEfecDistri.style.left = eval(document.all.hTdLeft.value) + 150 ;
	document.all.pEfecDistri.style.top = eval(document.all.hTdTop.value) - 190 ;
}

function Provincia(reg, prov)
{	
	document.location="loc_nacional.aspx?cb=2&fg=2&idreg=" + reg + "&idprov=" + prov;
	
}

function cerrarDistri()
{
	document.all.pEfecDistri.style.display='none';
}

function OpenRegion(obj, items)
{
	document.location="loc_nacional.aspx?cb=2&fg=1&idreg=" + obj+"&item=" + items;
}

function distrito(reg, prov, dist){
	document.location="loc_nacional.aspx?cb=2&fg=3&idreg=" + reg + "&idprov=" + prov + "&iddist=" + dist;
}	

function LlenarRegion(archivo){
	importaRegion(archivo);
}

function LlenarProvincia(archivo, CodReg){
	IdReg = CodReg;
	importaProvincia(archivo);	
}

function LlenarDistrito(archivo, CodReg, CodPro){
	IdReg = CodReg;
	IdPro = CodPro;
	importaDistrito(archivo);
}


/* --------------------------------------------------------------------------------------------------
	Otras Funciones
   --------------------------------------------------------------------------------------------------  */

function newWindow(a_str_windowURL, 
					a_str_windowName, 
					wWidth, 
					wHeight, 
					a_bool_scrollbars, 
					a_bool_resizable, 
					a_bool_menubar, 
					a_bool_toolbar, 
					a_bool_addressbar, 
					a_bool_statusbar, 
					a_bool_fullscreen) {
					
	var int_windowLeft = (screen.width - wWidth) / 2;
	var int_windowTop = (screen.height - wHeight) / 2;
	var str_windowProperties = 'height=' + wHeight + ',width=' + wWidth + ',top=' + int_windowTop + ',left=' + int_windowLeft + ',scrollbars=' + a_bool_scrollbars + ',resizable=' + a_bool_resizable + ',menubar=' + a_bool_menubar + ',toolbar=' + a_bool_toolbar + ',location=' + a_bool_addressbar + ',statusbar=' + a_bool_statusbar + ',fullscreen=' + a_bool_fullscreen + '';
	var obj_window = window.open(a_str_windowURL, a_str_windowName, str_windowProperties);
		if (parseInt(navigator.appVersion) >= 4) {
			obj_window.window.focus();
		}
}
