/*******************************************/
/* javascript by gonchuki - (c)soho - 2007 */
/****************************************************/
/* CEOjs: modular abstraction layer for javascript  */
/****************************************************/

var CEO = CEO || {};

CEO.comunas = {
	comunas: {
		'I - Tarapaca': [
			{name: 'Alto Hospicio'},
			{name: 'Cami&ntilde;a', value: 'Camina'},
			{name: 'Colchane'},
			{name: 'General Lagos'},
			{name: 'Huara'},
			{name: 'Iquique'},
			{name: 'Pica'},
			{name: 'Pozo Almonte'}
		],
		
		'II - Antofagasta': [
			{name: 'Antofagasta'},
			{name: 'Calama'},
			{name: 'Mar&iacute;a Elena', value: 'Maria Elena'},
			{name: 'Mejillones'},
			{name: 'Ollag&uuml;e', value: 'Ollague'},
			{name: 'San Pedro de Atacama'},
			{name: 'Sierra Gorda'},
			{name: 'Taltal'},
			{name: 'Tocopilla'}
		],
		
		'III - Atacama': [
			{name: 'Alto del Carmen'},
			{name: 'Caldera'},
			{name: 'Cha&ntilde;aral', value: 'Chanaral'},
			{name: 'Copiap&oacute;', value: 'Copiapo'},
			{name: 'Diego de Almagro'},
			{name: 'Freirina'},
			{name: 'Huasco'},
			{name: 'Tierra Amarilla'},
			{name: 'Vallenar'}
		],
		
		'IV - Coquimbo': [
			{name: 'Andacollo'},
			{name: 'Canela'},
			{name: 'Combarbal&aacute;', value: 'Combarbala'},
			{name: 'Coquimbo'},
			{name: 'Illapel'},
			{name: 'La Higuera'},
			{name: 'La Serena'},
			{name: 'Los Vilos', value: 'losvilos'},
			{name: 'Monte Patria'},
			{name: 'Ovalle'},
			{name: 'Paihuano'},
			{name: 'Punitaqui'},
			{name: 'R&iacute;o Hurtado', value: 'Rio Hurtado'},
			{name: 'Salamanca'},
			{name: 'Vicu&ntilde;a', value: 'Vicuna'}
		],
		
		'V - Valparaiso': [
			{name: 'Algarrobo'},
			{name: 'Cabildo'},
			{name: 'Calera'},
			{name: 'Calle Larga'},
			{name: 'Cartagena'},
			{name: 'Casablanca'},
			{name: 'Catemu'},
			{name: 'Conc&oacute;n', value: 'Concon'},
			{name: 'El Quisco'},
			{name: 'El Tabo'},
			{name: 'Hijuelas'},
			{name: 'Isla de Pascua'},
			{name: 'Juan Fern&aacute;ndez', value: 'Juan Fernandez'},
			{name: 'La Cruz'},
			{name: 'La Ligua'},
			{name: 'Limache'},
			{name: 'Llaillay'},
			{name: 'Los Andes'},
			{name: 'Nogales'},
			{name: 'Olmu&eacute;', value: 'Olmue'},
			{name: 'Panquehue'},
			{name: 'Papudo'},
			{name: 'Petorca'},
			{name: 'Puchuncav&iacute;', value: 'Puchuncavi'},
			{name: 'Putaendo'},
			{name: 'Quillota'},
			{name: 'Quilpu&eacute;', value: 'Quilpue'},
			{name: 'Quintero'},
			{name: 'Rinconada'},
			{name: 'San Antonio'},
			{name: 'San Esteban'},
			{name: 'San Felipe'},
			{name: 'Santa Mar&iacute;a', value: 'Santa Maria'},
			{name: 'Santo Domingo'},
			{name: 'Valpara&iacute;so', value: 'Valparaiso'},
			{name: 'Villa Alemana'},
			{name: 'Vi&ntilde;a Del Mar', value: 'Vina Del Mar'},
			{name: 'Zapallar'}
		],
		
		'RM - Metropolitana': [
			{name: 'Alhu&eacute;', value: 'Alhue'},
			{name: 'Buin'},
			{name: 'Calera De Tango'},
			{name: 'Cerrillos'},
			{name: 'Cerro Navia'},
			{name: 'Colina'},
			{name: 'Conchal&iacute;', value: 'Conchali'},
			{name: 'Curacav&iacute;', value: 'Curacavi'},
			{name: 'El Bosque'},
			{name: 'El Monte'},
			{name: 'Estaci&oacute;n Central', value: 'Estacion Central'},
			{name: 'Huechuraba'},
			{name: 'Independencia'},
			{name: 'Isla de Maipo'},
			{name: 'La Cisterna'},
			{name: 'La Florida'},
			{name: 'La Granja'},
			{name: 'La Pintana'},
			{name: 'La Reina'},
			{name: 'Lampa'},
			{name: 'Las Condes'},
			{name: 'Lo Barnechea'},
			{name: 'Lo Espejo'},
			{name: 'Lo Prado'},
			{name: 'Macul'},
			{name: 'Maip&uacute;', value: 'Maipu'},
			{name: 'Maria Pinto'},
			{name: 'Melipilla'},
			{name: '&Ntilde;u&ntilde;oa', value: 'Nunoa'},
			{name: 'Padre Hurtado'},
			{name: 'Paine'},
			{name: 'Pedro Aguirre Cerda'},
			{name: 'Pe&ntilde;aflor', value: 'Penaflor'},
			{name: 'Pe&ntilde;alol&eacute;n', value: 'Penalolen'},
			{name: 'Pirque'},
			{name: 'Providencia'},
			{name: 'Pudahuel'},
			{name: 'Puente Alto'},
			{name: 'Quilicura'},
			{name: 'Quinta Normal'},
			{name: 'Recoleta'},
			{name: 'Renca'},
			{name: 'San Bernardo'},
			{name: 'San Joaqu&iacute;n', value: 'San Joaquin'},
			{name: 'San Jos&eacute; de Maipo', value: 'San Jose de Maipo'},
			{name: 'San Miguel'},
			{name: 'San Pedro'},
			{name: 'San Ram&oacute;n', value: 'San Ramon'},
			{name: 'Santiago'},
			{name: 'Talagante'},
			{name: 'TilTil'},
			{name: 'Vitacura'}
		],
		
		'VI - Libertador O\'Higgins': [
			{name: 'Ch&eacute;pica', value: 'Chepica'},
			{name: 'Chimbarongo'},
			{name: 'Codegua'},
			{name: 'Co&iacute;nco', value: 'Coinco'},
			{name: 'Coltauco'},
			{name: 'Do&ntilde;ihue', value: 'Donihue'},
			{name: 'Graneros'},
			{name: 'La Estrella'},
			{name: 'Las Cabras'},
			{name: 'Litueche'},
			{name: 'Lolol'},
			{name: 'Machal&iacute;', value: 'Machali'},
			{name: 'Malloa'},
			{name: 'Marchihue'},
			{name: 'Mostazal'},
			{name: 'Nancagua'},
			{name: 'Navidad'},
			{name: 'Olivar'},
			{name: 'Palmilla'},
			{name: 'Paredones'},
			{name: 'Peralillo'},
			{name: 'Peumo'},
			{name: 'Pichidegua'},
			{name: 'Pichilemu'},
			{name: 'Placilla'},
			{name: 'Pumanque'},
			{name: 'Quinta De Tilcoco'},
			{name: 'Rancagua'},
			{name: 'Rengo'},
			{name: 'Requinoa'},
			{name: 'San Fernando'},
			{name: 'San Vicente'},
			{name: 'Santa Cruz'}
		],
		
		'VII - Maule': [
			{name: 'Cauquenes'},
			{name: 'Chanco'},
			{name: 'Colb&uacute;n', value: 'Colbun'},
			{name: 'Constituci&oacute;n', value: 'Constitucion'},
			{name: 'Curepto'},
			{name: 'Curic&oacute;', value: 'Curico'},
			{name: 'Empedrado'},
			{name: 'Huala&ntilde;&eacute;', value: 'Hualane'},
			{name: 'Licant&eacute;n', value: 'Licanten'},
			{name: 'Linares'},
			{name: 'Longav&iacute;', value: 'Longavi'},
			{name: 'Maule'},
			{name: 'Molina'},
			{name: 'Parral'},
			{name: 'Pelarco'},
			{name: 'Pelluhue'},
			{name: 'Pencahue'},
			{name: 'Rauco'},
			{name: 'Retiro'},
			{name: 'R&iacute;o Claro', value: 'Rio Claro'},
			{name: 'Romeral'},
			{name: 'Sagrada Familia'},
			{name: 'San Clemente'},
			{name: 'San Javier'},
			{name: 'San Rafael'},
			{name: 'Talca'},
			{name: 'Teno'},
			{name: 'Vichuqu&eacute;n', value: 'Vichuquen'},
			{name: 'Villa Alegre'},
			{name: 'Yerbas Buenas'}
		],
		
		'VIII - Biobio': [
			{name: 'Antuco'},
			{name: 'Arauco'},
			{name: 'Bulnes'},
			{name: 'Cabrero'},
			{name: 'Ca&ntilde;ete', value: 'Canete'},
			{name: 'Chiguayante'},
			{name: 'Chill&aacute;n', value: 'Chillan'},
			{name: 'Chill&aacute;n Viejo', value: 'Chillan Viejo'},
			{name: 'Cobquecura'},
			{name: 'Coelemu'},
			{name: 'Coihueco'},
			{name: 'Concepci&oacute;n', value: 'Concepcion'},
			{name: 'Contulmo'},
			{name: 'Coronel'},
			{name: 'Curanilahue'},
			{name: 'El Carmen'},
			{name: 'Florida'},
			{name: 'Hualqui'},
			{name: 'Laja'},
			{name: 'Lebu'},
			{name: 'Los Alamos'},
			{name: 'Los Angeles'},
			{name: 'Lota'},
			{name: 'Mulch&eacute;n', value: 'Mulchen'},
			{name: 'Nacimiento'},
			{name: 'Negrete'},
			{name: 'Ninhue'},
			{name: '&Ntilde;iqu&eacute;n', value: 'Niquen'},
			{name: 'Pemuco'},
			{name: 'Penco'},
			{name: 'Pinto'},
			{name: 'Portezuelo'},
			{name: 'Quilaco'},
			{name: 'Quilleco'},
			{name: 'Quill&oacute;n', value: 'Quillon'},
			{name: 'Quirihue'},
			{name: 'R&aacute;nquil', value: 'Ranquil'},
			{name: 'San Carlos'},
			{name: 'San Fabi&aacute;n', value: 'San Fabian'},
			{name: 'San Ignacio'},
			{name: 'San Nicol&aacute;s', value: 'San Nicolas'},
			{name: 'San Pedro de la Paz'},
			{name: 'San Rosendo'},
			{name: 'Santa B&aacute;rbara', value: 'Santa Barbara'},
			{name: 'Santa Juana'},
			{name: 'Talcahuano'},
			{name: 'Tir&uacute;a', value: 'Tirua'},
			{name: 'Tom&eacute;', value: 'Tome'},
			{name: 'Trehuaco'},
			{name: 'Tucapel'},
			{name: 'Yumbel'},
			{name: 'Yungay'}
		],
		
		'IX - Araucania': [
			{name: 'Angol'},
			{name: 'Carahue'},
			{name: 'Collipulli'},
			{name: 'Cunco'},
			{name: 'Curacaut&iacute;n', value: 'Curacautin'},
			{name: 'Curarrehue'},
			{name: 'Ercilla'},
			{name: 'Freire'},
			{name: 'Galvarino'},
			{name: 'Gorbea'},
			{name: 'Lautaro'},
			{name: 'Loncoche'},
			{name: 'Lonquimay'},
			{name: 'Los Sauces'},
			{name: 'Lumaco'},
			{name: 'Melipeuco'},
			{name: 'Nueva Imperial'},
			{name: 'Padre Las Casas'},
			{name: 'Perquenco'},
			{name: 'Pitrufqu&eacute;n', value: 'Pitrufquen'},
			{name: 'Puc&oacute;n', value: 'Pucon'},
			{name: 'Pur&eacute;n', value: 'Puren'},
			{name: 'Renaico'},
			{name: 'Saavedra'},
			{name: 'Temuco'},
			{name: 'Teodoro Schmidt'},
			{name: 'Tolt&eacute;n', value: 'Tolten'},
			{name: 'Traigu&eacute;n', value: 'Traiguen'},
			{name: 'Victoria'},
			{name: 'Vilc&uacute;n', value: 'Vilcun'},
			{name: 'Villarrica'}
		],
		
		'X - De los Lagos': [
			{name: 'Ancud'},
			{name: 'Calbuco'},
			{name: 'Castro'},
			{name: 'Chait&eacute;n', value: 'Chaiten'},
			{name: 'Chonchi'},
			{name: 'Cocham&oacute;', value: 'Cochamo'},
			{name: 'Corral'},
			{name: 'Curaco De V&eacute;lez', value: 'Curaco De Velez'},
			{name: 'Dalcahue'},
			{name: 'Fresia'},
			{name: 'Frutillar'},
			{name: 'Futaleuf&uacute;', value: 'Futaleufu'},
			{name: 'Futrono'},
			{name: 'Hualaihu&eacute;', value: 'Hualaihue'},
			{name: 'La Uni&oacute;n', value: 'La Union'},
			{name: 'Lago Ranco'},
			{name: 'Lanco'},
			{name: 'Llanquihue'},
			{name: 'Los Lagos'},
			{name: 'Los Muermos'},
			{name: 'M&aacute;fil', value: 'Mafil'},
			{name: 'Mariquina'},
			{name: 'Maull&iacute;n', value: 'Maullin'},
			{name: 'Osorno'},
			{name: 'Paillaco'},
			{name: 'Palena'},
			{name: 'Panguipulli'},
			{name: 'Puerto Montt'},
			{name: 'Puerto Octay'},
			{name: 'Puerto Varas'},
			{name: 'Puqueld&oacute;n', value: 'Puqueldon'},
			{name: 'Purranque'},
			{name: 'Puyehue'},
			{name: 'Queil&eacute;n', value: 'Queilen'},
			{name: 'Quell&oacute;n', value: 'Quellon'},
			{name: 'Quemchi'},
			{name: 'Quinchao'},
			{name: 'R&iacute;o Negro', value: 'Rio Negro'},
			{name: 'R&iacute;o Bueno', value: 'Rio Bueno'},
			{name: 'San Juan de la Costa'},
			{name: 'San Pablo'},
			{name: 'Valdivia'}
		],
		
		'XI - Aysen': [
			{name: 'Ais&eacute;n', value: 'Aisen'},
			{name: 'Chile Chico'},
			{name: 'Cisnes'},
			{name: 'Cochrane'},
			{name: 'Coihaique'},
			{name: 'Guaitecas'},
			{name: 'Lago Verde'},
			{name: 'O\'Higgins'},
			{name: 'R&iacute;o Ib&aacute;&ntilde;ez', value: 'Rio Ibanez'},
			{name: 'Tortel'}
		],
		
		'XII - Magallanes y Antartica Chilena': [
			{name: 'Ant&aacute;rtica', value: 'Antartica'},
			{name: 'Laguna Blanca'},
			{name: 'Natales'},
			{name: 'Navarino'},
			{name: 'Porvenir'},
			{name: 'Primavera'},
			{name: 'Punta Arenas'},
			{name: 'R&iacute;o Verde', value: 'Rio Verde'},
			{name: 'San Gregorio'},
			{name: 'Timaukel'},
			{name: 'Torres del Paine'}
		],
		
		'XIV - De los Rios': [
			{name: 'Corral'},
			{name: 'Futrono'},
			{name: 'La Uni&oacute;n', value: 'La Union'},
			{name: 'Lago Ranco'},
			{name: 'Lanco'},
			{name: 'Los Lagos'},
			{name: 'Paillaco'},
			{name: 'Panguipulli'},
			{name: 'R&iacute;o Bueno', value: 'Rio Bueno'},
			{name: 'San Jos&eacute; de la Mariquina', value: 'San Jose de la Mariquina'},
			{name: 'Valdivia'}
		],
		
		'XV - Arica y Parinacota': [
			{name: 'Arica'},
			{name: 'Camarones'},
			{name: 'Cuya'},
			{name: 'Parinacota'},
			{name: 'Putre'},
			{name: 'Visviri'}
		]
	},
	
	/* usar este metodo para tener las comunas de una region, a modo de 
		 abstraer el objeto comunas para posibles futuras implementaciones */
	get_comunas_by_region_name: function (name) {
		return(this.comunas[name]);
	},
	
	/* funcion auxiliar 'por si acaso' */
	get_comuna_display_from_value: function (value) {
		for (i in this.comunas) {
			for (var j = 0; j < this.comunas[i].length; j++) {
				var val = this.comunas[i][j].value || this.comunas[i][j].name;
				if (val == value) return this.comunas[i][j].name;
			}
		}
	},
	
	/* funcion que rellena el combo de comunas, toma como entrada el combo 
		 de regiones, y crea la salida en el combo to_select */
	fill_comunas_select: function (from_select, to_select, _selected) {
		to_select = document.getElementById(to_select);
		
		this.reset_select(to_select);
		
		try {
			if (from_select.selectedIndex) {
				var comunas = this.get_comunas_by_region_name(from_select.value);
				
			for (var i = 0; i < comunas.length; i++) {
					var opt = document.createElement('option');
							
							opt.setAttribute('value', comunas[i].value || comunas[i].name);
							if (_selected == comunas[i].name || _selected == comunas[i].value){
								
								opt.setAttribute('selected', 'selected');
							}							
							opt.innerHTML = comunas[i].name; //necesario para que el navegador parsee las entities
					to_select.appendChild(opt);
				}
			}
		}catch(e){
			
		}
	},
	
	/* vacia un select y lo deja solo con la opcion default */
	reset_select: function (select) {
		try{
			select.options.length = 1;
		}catch(e){
		}
	}
};
