//Variables auxiliares para la composición de la ruta a telefonicaonline en hhtp o https
var protocolo	= location.protocol;
//var tol			= protocolo + "//www.telefonicaonline.com";
var tol			= "";

//las imagenes de los canales deben residir en la ruta rutaLogosTV con formato jpg. Los nombres de los ficheros se componen del valor asociado del canal y un sufijo que indique el tamaño (por ejemplo _85) con extensión .jpg
//los trailers de los canales deben residir en la ruta rutaTrailersTV con formato wmv. Los nombres de los ficheros se componen del valor asociado del canal con extensión .wmv
var rutaLogosTV		= tol+"/on/images/imagenio/logos_tv/";
var rutaTrailersTV	= tol+"/on/images/imagenio/trailers_tv/";

function canal (tipocanal, iddemarcacion, idcanal, nombre, descripcion, url, trailer, extension) {
	this.tipocanal		= tipocanal;
	this.iddemarcacion	= iddemarcacion;//0 - difusión nacional, !=0 - difusión autonómica
	this.idcanal		= idcanal;
	this.nombre			= nombre;
	this.descripcion	= descripcion;
	this.url			= url;
	this.trailer		= trailer;
	this.extension		= extension;
}

var tipos_de_canales = new Array();
tipos_de_canales['cine'] = txt_tipo_cine;
tipos_de_canales['seri'] = txt_tipo_seri;
tipos_de_canales['infa'] = txt_tipo_infa;
tipos_de_canales['docu'] = txt_tipo_docu;
tipos_de_canales['depo'] = txt_tipo_depo;
tipos_de_canales['musi'] = txt_tipo_musi;
tipos_de_canales['info'] = txt_tipo_info;
tipos_de_canales['otro'] = txt_tipo_otro;
tipos_de_canales['inte'] = txt_tipo_inte;
tipos_de_canales['gene'] = txt_tipo_gene;


//Descripciones de canales
var txt_desc_8tv					= "8tv es la única televisión privada, de ámbito autonómico, existente en Cataluña. Un canal de televisión generalista por el que cada día pasan más de 1,5 millones de espectadores, y que actualmente está batiendo su record de audiencia, gracias a la calidad de sus series, películas, y al divertido magazín de Alfonso Arús.";
var txt_desc_goltv					= "Gol Televisión. El mejor fútbol de la Champions, Liga y Copa. Siempre se emitirán 3 partidos de Primera División el fin de semana (siempre uno del Real Madrid o del FC Barcelona), 2 partidos de Champions League, y además, la Segunda División, Copa del Rey y ligas extranjeras.";

var canales_tv  = new Array ();
//Canales generalistas

canales_tv ['promocional']			= new canal ("otro", 0, 0, "Promocional Imagenio", txt_desc_promocional,'', true,'flv');
canales_tv ['tve1'] 				= new canal ("gene", 0, 1, "TVE, La Primera", txt_desc_tve1, "http://www.rtve.es/");
canales_tv ['la2'] 					= new canal ("gene", 0, 2, "TVE, La 2", txt_desc_la2, "http://www.rtve.es/");
canales_tv ['antena3']				= new canal ("gene", 0, 3, "Antena 3", txt_desc_antena3, "http://www.antena3tv.es/");
canales_tv ['canalcuatro']			= new canal ("gene", 0, 4, "Cuatro", txt_desc_canalcuatro, "http://www.cuatro.com/");
canales_tv ['tele5'] 				= new canal ("gene", 0, 5, "Tele 5", txt_desc_tele5, "http://www.telecinco.es/");
canales_tv ['lasexta'] 				= new canal ("gene", 0, 6, "La Sexta", txt_desc_lasexta, "http://www.lasexta.com");
canales_tv ['intereconomia']		= new canal ("gene", 0, 10, "Intereconomía TV", txt_desc_intereconomia, "http://www.intereconomia.com/");
canales_tv ['libertaddigital'] 		= new canal ("gene", 0, 11, "Libertad Digital Televisión", txt_desc_libertaddigital);
//canales_tv ['veotv'] 				= new canal ("gene", 0, 11, "Veo7", txt_desc_veotv);
//canales_tv ['populartv'] 			= new canal ("gene", 0, 12, "Popular TV", txt_desc_populartv);
canales_tv ['canaldelmes']			= new canal ("gene", 0, 13, "Canal del mes", txt_desc_canaldelmes);
//canales_tv ['granhermano']	 	= new canal ("seri", 0, 13, "Reality 24h GRAN HERMANO", txt_desc_granhermano);
//canales_tv ['casatuvida']	 		= new canal ("seri", 0, 13, "La casa de tu vida", txt_desc_casatuvida);
//canales_tv ['supermodelo']	 	= new canal ("seri", 0, 13, "Supermodelo 2008", txt_desc_supermodelo);
//canales_tv ['otriunfo'] 			= new canal ("seri", 0, 14, "Reality 24h OPERACIÓN TRIUNFO", txt_desc_otriunfo);
canales_tv ['elcorteingles'] 		= new canal ("gene", 0, 15, "La Tienda en Casa", txt_desc_elcorteingles);
canales_tv ['fox'] 					= new canal ("seri", 0, 20, "Fox", txt_desc_fox);
canales_tv ['axn'] 					= new canal ("seri", 0, 21, "AXN", txt_desc_axn, "http://www.axn.es");
canales_tv ['tnt'] 					= new canal ("seri", 0, 22, "TNT", txt_desc_tnt);
canales_tv ['calle13'] 				= new canal ("seri", 0, 23, "Calle 13", txt_desc_calle13, "http://www.calle13-es.com/", true);
canales_tv ['animax']	 			= new canal ("seri", 0, 24, "Animax", txt_desc_animax,"http://www.animax.es");
canales_tv ['paramountcomedy']	 	= new canal ("seri", 0, 25, "Paramount Comedy", txt_desc_paramountcomedy, "http://www.paramountcomedy.es/home1.htm");
canales_tv ['cosmopolitan'] 		= new canal ("seri", 0, 26, "Cosmo", txt_desc_cosmopolitan, "http://www.canalcosmo.com", true);
canales_tv ['veotv2'] 				= new canal ("seri", 0, 27, "Sony TV", txt_desc_veotv2);
//canales_tv ['peoplearts'] 		= new canal ("seri", 0, 24, "People&arts", txt_desc_peoplearts);
canales_tv ['foxcrime']				= new canal ("seri", 0, 28, "Fox Crime", txt_desc_foxcrime);
canales_tv ['crimen-investigacion']	= new canal ("seri", 0, 29, "Crimen & Investigación", txt_desc_crimen_investigacion);

//canales_tv ['fdf']	 			= new canal ("seri", 0, 26, "Factoría de Ficción (FDF)", txt_desc_fdf, "http://www.factoriadeficcion.com/");
canales_tv ['syfy'] 				= new canal ("seri", 0, 30, "syfy", txt_desc_syfy);

//Antiguo
//canales_tv ['buzz']				= new canal ("seri", 0, 30, "Buzz", txt_desc_buzz, "http://www.canalbuzz.tv/");
//Nuevo
canales_tv ['fdf']					= new canal ("seri", 0, 31, "FDF", txt_desc_fdf);
canales_tv ['antenaneox']    		= new canal ("seri", 0, 32, "Neox", txt_desc_antenaneox);
canales_tv ['lasexta2']				= new canal ("seri", 0, 33, "La Sexta2", txt_desc_lasexta2,"http://www.lasexta.com/guiatv/ver/lasexta2");
canales_tv ['nitro']				= new canal ("seri", 0, 34, "Nitro", txt_desc_nitro,"http://www.antena3.com/nitro/");
canales_tv ['divinity']				= new canal ("seri", 0, 36, "Divinity", txt_desc_divinity,"http://www.divinity.es/");
canales_tv ['telecincosport'] 		= new canal ("seri", 0, 37, "La Siete", txt_desc_telecincosport);
canales_tv ['antenanova']    		= new canal ("gene", 0, 38, "Nova", txt_desc_antenanova);
canales_tv ['mtvespana']	 		= new canal ("seri", 0, 39, "MTV España", txt_desc_mtvespana, "http://www.mtv.es/");
canales_tv ['canalhollywood']		= new canal ("cine", 0, 40, "Canal Hollywood", txt_desc_canalhollywood, "http://www.canal-hollywood.com/");
canales_tv ['mgm'] 					= new canal ("cine", 0, 41, "MGM", txt_desc_mgm);
canales_tv ['disneycinemagic']		= new canal ("cine", 0, 42, "Disney Cinemagic", txt_desc_disneycinemagic);
//canales_tv ['cinestar'] 			= new canal ("cine", 0, 46, "Cinestar", txt_desc_cinestar);
canales_tv ['sundance'] 			= new canal ("cine", 0, 43, "Sundance Channel", txt_desc_sundance);
canales_tv ['tcm'] 					= new canal ("cine", 0, 44, "TCM", txt_desc_tcm);
canales_tv ['tcm_clasico'] 			= new canal ("cine", 0, 45, "TCM Autor", txt_desc_tcmautor);
canales_tv ['showtimeextreme'] 		= new canal ("cine", 0, 46, "Xtreme TV", txt_desc_showtimeextreme);
canales_tv ['somos'] 				= new canal ("cine", 0, 47, "Somos", txt_desc_somos);
canales_tv ['ctk'] 					= new canal ("cine", 0, 48, "CTK", txt_desc_ctk);
canales_tv ['lasexta3']				= new canal ("cine", 0, 49, "La Sexta3", txt_desc_lasexta3,"http://www.lasexta.com/guiatv/ver/lasexta3");
canales_tv ['disneycinemagic1']		= new canal ("cine", 0, 50, "Disney Cinemagic+1", txt_desc_disneycinemagic1);
//canales_tv ['jetix'] 				= new canal ("infa", 0, 54, "Jetix", txt_desc_jetix, "http://www.jetix.net");
//canales_tv ['canalplus'] 			= new canal ("gene", 0, 55, "Canal Plus", txt_desc_canalplus, "http://www.plus.es/");
canales_tv ['canalpluscarta'] 		= new canal ("gene", 0, 55, "Canal+ 1", txt_desc_canalpluscarta, "http://www.plus.es/");
canales_tv ['babytv']				= new canal ("infa", 0, 60, "Baby TV", txt_desc_babytv);
canales_tv ['cartoonito']			= new canal ("infa", 0, 61, "Cartoonito", txt_desc_cartoonito);
canales_tv ['playhousedisney'] 		= new canal ("infa", 0, 62, "Disney Junior", txt_desc_playhousedisney, "http://www.disney.es/disney-junior/index.jsp");
canales_tv ['panda']				= new canal ("infa", 0, 63, "Panda", txt_desc_panda);
canales_tv ['kidsco'] 				= new canal ("infa", 0, 64, "Kidsco", txt_desc_kidsco);
canales_tv ['cartoonnetwork']		= new canal ("infa", 0, 65, "Cartoon Network", txt_desc_cartoonnetwork);
canales_tv ['nickelodeon'] 			= new canal ("infa", 0, 66, "Nickelodeon", txt_desc_nickelodeon, "http://nickelodeon.es");
canales_tv ['disneyxd'] 			= new canal ("infa", 0, 67, "Disney XD", txt_desc_disneyxd);
canales_tv ['disneychannel']		= new canal ("infa", 0, 68, "Disney Channel", txt_desc_disneychannel, "http://www.disney.es/DisneyChannel/", true);
canales_tv ['boing'] 				= new canal ("infa", 0, 69, "Boing", txt_desc_boing, "http://www.boing.es/");
canales_tv ['clantve']				= new canal ("infa", 0, 70, "Clan TV", txt_desc_clantve);
canales_tv ['disneychannel1']		= new canal ("infa", 0, 71, "Disney Channel +1", txt_desc_disneychannel1);


//para evitar errores de caché, dejamos los dos, ya se eliminarán después
//canales_tv ['canalgalicia']		= new canal ("docu", 0, 65, "Destino Galicia", txt_desc_canalgalicia);
//canales_tv ['ctt']				= new canal ("docu", 0, 67, "Canal Temático de Turismo", txt_desc_ctt);
canales_tv ['discoverychannel'] 	= new canal ("docu", 0, 80, "Discovery Channel", txt_desc_discoverychannel, "http://epak.discovery.com/", true);
canales_tv ['ngeographic'] 			= new canal ("docu", 0, 81, "National Geographic", txt_desc_ngeographic, "http://www.natgeo.es/");
canales_tv ['viajar'] 				= new canal ("docu", 0, 82, "Viajar", txt_desc_viajar, "http://www.canalviajar.com/", true);
canales_tv ['odisea'] 				= new canal ("docu", 0, 83, "Odisea", txt_desc_odisea, "http://www.odisea-odisseia.com/");
canales_tv ['canalhistoria']		= new canal ("docu", 0, 84, "Canal de Historia", txt_desc_canalhistoria, "http://www.canalhistoria.com/es/");
canales_tv ['biography']			= new canal ("docu", 0, 85, "Bio", txt_desc_biography);
canales_tv ['canalcocina'] 			= new canal ("docu", 0, 86, "Canal Cocina", txt_desc_canalcocina, "http://www.canalcocina.es", true);
canales_tv ['decasa'] 				= new canal ("docu", 0, 87, "Decasa", txt_desc_decasa);
canales_tv ['discoveryscience'] 	= new canal ("docu", 0, 88, "Discovery Science", txt_desc_discoveryscience);
canales_tv ['discoverycivilization']= new canal ("docu", 0, 89, "Discovery Civilization", txt_desc_discoverycivilization);
canales_tv ['discoveryturbo'] 		= new canal ("docu", 0, 90, "Discovery Turbo", txt_desc_discoveryturbo);
canales_tv ['iberalia']    			= new canal ("depo", 0, 91, "Iberalia", txt_desc_iberalia);

//canales_tv ['documania'] 			= new canal ("docu", 0, 79, "Documania", txt_desc_documania);
//canales_tv ['docutv'] 			= new canal ("docu", 0, 79, "Canal Cultura", txt_desc_docutv);
//canales_tv ['andaluciaturismo'] 	= new canal ("docu", 0, 81, "Andalucía Turismo", txt_desc_andaluciaturismo);
//canales_tv ['artchannel']			= new canal ("otro", 0, 82, "Art Televisión", txt_desc_artchannel,"http://www.artchannel.info");

canales_tv ['abonofutbol1']    		= new canal ("depo", 0, 98, "Abono Fútbol 1", txt_desc_abonofutbol1);
canales_tv ['abonofutbol2']    		= new canal ("depo", 0, 97, "Abono Fútbol 2", txt_desc_abonofutbol2);
canales_tv ['abonofutbol3']    		= new canal ("depo", 0, 96, "Abono Fútbol 3", txt_desc_abonofutbol3);
canales_tv ['goltv'] 				= new canal ("depo", 0, 99, "Gol Televisión", txt_desc_goltv);
canales_tv ['eurosport']    		= new canal ("depo", 0, 100, "Eurosport", txt_desc_eurosport, "http://www.eurosport.es/");
canales_tv ['eurosport2'] 			= new canal ("depo", 0, 101, "Eurosport 2", txt_desc_eurosport2);
canales_tv ['sportmania'] 			= new canal ("depo", 0, 102, "Sportmanía", txt_desc_sportmania);
canales_tv ['teledeporte'] 			= new canal ("depo", 0, 103, "Teledeporte", txt_desc_teledeporte);
canales_tv ['marcatv']    			= new canal ("depo", 0, 104, "Marca TV", txt_desc_marcatv);
canales_tv ['extremesports'] 		= new canal ("depo", 0, 105, "Xtreme Sports", txt_desc_extremesports);
canales_tv ['espnclassic'] 			= new canal ("depo", 0, 106, "ESPN Classic", txt_desc_espnclassic, "http://www.espnclassic.com/fs.asp?l=1");
//canales_tv ['rmadridtv'] 			= new canal ("depo", 0, 94, "Real Madrid TV", txt_desc_rmadridtv);
canales_tv ['barcatv'] 				= new canal ("depo", 0, 107, "Barça TV", txt_desc_barcatv);
canales_tv ['thepokerchannel']		= new canal ("depo", 0, 108, "The Poker Channel", txt_desc_thepokerchannel);
canales_tv ['sailing'] 				= new canal ("depo", 0, 109, "Nautical Channel", txt_desc_sailing);

canales_tv ['40latino'] 			= new canal ("musi", 0, 120, "40 Latino", txt_desc_40latino, "http://www.40tv.com/", true);
canales_tv ['solmusica'] 			= new canal ("musi", 0, 121, "Sol Música", txt_desc_solmusica);
canales_tv ['40tv']			 		= new canal ("musi", 0, 122, "40 TV", txt_desc_40tv, "http://www.40tv.com/", true);
canales_tv ['vh1'] 					= new canal ("musi", 0, 123, "VH1", txt_desc_vh1, "http://www.vh1e.com/");
canales_tv ['mtvrocks'] 			= new canal ("musi", 0, 124, "MTV Rocks", txt_desc_mtvrocks);
//canales_tv ['mtv2'] 				= new canal ("musi", 0, 124, "MTV Rocks", txt_desc_mtv2);
canales_tv ['vh1classics'] 			= new canal ("musi", 0, 125, "VH1 Classic", txt_desc_vh1classics);
canales_tv ['mtvhits'] 				= new canal ("musi", 0, 126, "MTV Hits", txt_desc_mtvhits);
canales_tv ['mtvdance']	 			= new canal ("musi", 0, 127, "MTV Dance", txt_desc_mtvdance);
canales_tv ['tracetv'] 				= new canal ("musi", 0, 128, "Trace TV", txt_desc_tracetv);
canales_tv ['classica'] 			= new canal ("musi", 0, 129, "Unitel Classica", txt_desc_classica, "http://www.unitelclassica.es/");

//Se quita el canal 120
//canales_tv ['flymusic'] 			= new canal ("musi", 0, 120, "Fly Music", txt_desc_flymusic);
//canales_tv ['hogar10'] 			= new canal ("docu", 0, 121, "Hogar 10", txt_desc_hogar10);
//canales_tv ['canalclasico'] 		= new canal ("musi", 0, 122, "Canal Clásico", txt_desc_canalclasico);
//canales_tv ['tribunaltv'] 		= new canal ("info", 0, 141, "Tribunal TV", txt_desc_tribunaltv);
canales_tv ['cnni'] 				= new canal ("info", 0, 140, "CNN Internacional", txt_desc_cnni);
canales_tv ['euronews'] 			= new canal ("info", 0, 141, "Euronews", txt_desc_euronews, "http://www.euronews.net/");
//canales_tv ['cnnplus'] 			= new canal ("info", 0, 133, "CNN+", txt_desc_cnnplus);
canales_tv ['bbcworld'] 			= new canal ("info", 0, 142, "BBC WORLD", txt_desc_bbcworld);
canales_tv ['canal24h'] 			= new canal ("info", 0, 143, "Canal 24 horas", txt_desc_canal24h);
canales_tv ['foxnews'] 				= new canal ("info", 0, 144, "Fox News", txt_desc_foxnews);
canales_tv ['aljazeera'] 			= new canal ("info", 0, 145, "Al Jazeera", txt_desc_aljazeera);
canales_tv ['france24'] 			= new canal ("info", 0, 146, "France 24", txt_desc_france24);
canales_tv ['rusiatoday'] 			= new canal ("info", 0, 147, "Russia Today", txt_desc_rusiatoday);
canales_tv ['cnbc'] 				= new canal ("info", 0, 148, "CNBC", txt_desc_cnbc);
canales_tv ['cctve'] 				= new canal ("info", 0, 149, "CCTV-E", txt_desc_cctve);
canales_tv ['tv5monde']  			= new canal ("info", 0, 150, "TV5 Monde", txt_desc_tv5monde);
canales_tv ['bloomberg']  	 		= new canal ("info", 0, 151, "Bloomberg", txt_desc_bloomberg, "http://www.bloomberg.com/media/index.html", true);
canales_tv ['canalparlamento']		= new canal ("info", 0, 152, "Canal Parlamento", txt_desc_canalparlamento);
canales_tv ['intereconomia_business'] = new canal ("info", 0, 153, "Business TV", txt_desc_intereconomia_business);
canales_tv ['canaldelasestrellas']	= new canal ("inte", 0, 160, "Canal de las Estrellas", txt_desc_canaldelasestrellas);
canales_tv ['tvnacdechile']			= new canal ("inte", 0, 161, "TV Chile Internacional", txt_desc_tvnacdechile);
canales_tv ['tvrecord']				= new canal ("inte", 0, 162, "TV Record", txt_desc_tvrecord);
canales_tv ['telefe']				= new canal ("inte", 0, 163, "Telefé Internacional", txt_desc_telefe);
canales_tv ['caracol']				= new canal ("inte", 0, 164, "Caracol TV Internacional", txt_desc_caracol);
canales_tv ['telecolombia']			= new canal ("inte", 0, 165, "TV Colombia", txt_desc_telecolombia);
//canales_tv ['rtu']					= new canal ("inte", 0, 162, "RTU", txt_desc_rtu);
//canales_tv ['ecuavisa']				= new canal ("inte", 0, 163, "Ecuavisa Internacional", txt_desc_ecuavisa);
//canales_tv ['perumagico']			= new canal ("inte", 0, 164, "Perú Mágico", txt_desc_perumagico);
//canales_tv ['atel']					= new canal ("inte", 0, 166, "Atel, Americana de televisión", txt_desc_atel);
canales_tv ['tvazteca']				= new canal ("inte", 0, 166, "Azteca Internacional", txt_desc_tvazteca);
//canales_tv ['thesunchannel']		= new canal ("inte", 0, 168, "Sun Channel Tourism Televisión", txt_desc_thesunchannel);
canales_tv ['cubavision']			= new canal ("inte", 0, 167, "Cubavisión Internacional", txt_desc_cubavision);
canales_tv ['telesur']				= new canal ("inte", 0, 168, "Telesur", txt_desc_telesur);
canales_tv ['phoenixcne']			= new canal ("inte", 0, 170, "Phoenix CNE", txt_desc_phoenixcne);
canales_tv ['infonewschannel']		= new canal ("inte", 0, 171, "InfoNews Channel", txt_desc_infonewschannel);
//canales_tv ['canallatino']			= new canal ("inte", 0, 173, "Canal Latino TV", txt_desc_canallatino);
canales_tv ['ewtn']					= new canal ("otro", 0, 180, "EWTN", txt_desc_ewtn);
canales_tv ['tvgeuropa'] 			= new canal ("otro", 0, 181, "TVG Europa", txt_desc_tvgeuropa);
canales_tv ['etbsat'] 				= new canal ("otro", 0, 182, "ETB SAT", txt_desc_etbsat);
canales_tv ['andaluciatv']			= new canal ("otro", 0, 183, "Andalucía TV", txt_desc_andaluciatv, "http://www.canalsur.es/index2.htm");
canales_tv ['telemadridsat'] 		= new canal ("otro", 0, 184, "Telemadrid SAT", txt_desc_telemadridsat, "http://www.telemadrid.com/");
//canales_tv ['tvvi'] 				= new canal ("gene", 0, 178, "TVV Internacional", txt_desc_tvvi, "http://www.rtvv.es/");
//canales_tv ['tvcanariainter']		= new canal ("gene", 0, 179, "TV Canaria Sat", txt_desc_tvcanariainter, "http://www.tvcanaria.tv/");
canales_tv ['tvci']		 			= new canal ("otro", 0, 185, "TVC Internacional", txt_desc_tvci, "http://www.tvcatalunya.com");
canales_tv ['ibsat']		 		= new canal ("otro", 0, 186, "IB Sat", txt_desc_ibsat);
canales_tv ['canaleuskadi'] 		= new canal ("otro", 0, 187, "Canal Euskadi TV", txt_desc_canaleuskadi);
//canales_tv ['aprende_inglestv']		= new canal ("otro", 0, 188, "Aprende Inglés TV", txt_desc_aprende_inglestv);
//canales_tv ['aragon_sat'] 			= new canal ("gene", 0, 182, "Aragón SAT", txt_desc_aragon_sat);

//canales_tv ['adivinatv']			= new canal ("otro", 0, 183, "Adivina TV", txt_desc_adivinatv);
//canales_tv ['nexotv']				= new canal ("otro", 0, 183, "Nexo TV", txt_desc_nexotv);

canales_tv ['goltv_hd'] 			= new canal ("depo", 0, 599, "Gol Televisión HD", txt_desc_goltv_hd);
canales_tv ['eurosport_hd']    		= new canal ("depo", 0, 600, "Eurosport HD", txt_desc_eurosport_hd, "http://www.eurosport.es/");
canales_tv ['ngeographic_hd'] 		= new canal ("docu", 0, 592, "National Geographic Wild HD", txt_desc_ngeographic_hd, "http://www.natgeo.es/");
canales_tv ['axn_hd'] 				= new canal ("seri", 0, 521, "AXN HD", txt_desc_axn_hd, "http://www.axn.es");
canales_tv ['mgm_hd'] 				= new canal ("cine", 0, 541, "MGM HD", txt_desc_mgm_hd);
canales_tv ['classica_hd'] 			= new canal ("musi", 0, 629, "Unitel Classica HD", txt_desc_classica_hd, "http://www.unitelclassica.es/");
canales_tv ['fox_hd'] 				= new canal ("seri", 0, 520, "Fox HD", txt_desc_fox_hd);

//Canales autonómicos
canales_tv ['castillalamancha']		= new canal ("gene", 1, 7, "Castilla la Mancha", txt_desc_castillalamancha, "http://www.rtvcm.es/");
canales_tv ['tv3'] 					= new canal ("gene", 1, 7, "TV3", txt_desc_tv3, "http://www.tvcatalunya.com/");
canales_tv ['canal33'] 				= new canal ("gene", 1, 8, "Canal 33", txt_desc_canal33, "http://www.tvcatalunya.com/");
canales_tv ['8tv'] 					= new canal ("gene", 1, 9, "8tv", txt_desc_8tv);
canales_tv ['canal9'] 				= new canal ("gene", 6, 7, "Canal 9", txt_desc_canal9, "http://www.rtvv.es/");
canales_tv ['punt2'] 				= new canal ("gene", 6, 8, "24/9", txt_desc_punt2, "http://www.rtvv.es/");
canales_tv ['ib3'] 					= new canal ("gene", 10, 7, "IB3", txt_desc_ib3, "http://www.ib3.es/");
canales_tv ['7regiondemurcia']	 	= new canal ("gene", 12, 7, "7 Región de Murcia", txt_desc_7regiondemurcia, "http://www.7rm.es");
canales_tv ['tvprincipadoasturias'] = new canal ("gene", 13, 7, "Radio Televisión Principado de Asturias", txt_desc_tvprincipadoasturias);
canales_tv ['canalsur'] 			= new canal ("gene", 15, 7, "Canal Sur", txt_desc_canalsur, "http://www.canalsur.es/index2.htm");
canales_tv ['canal2andalucia'] 		= new canal ("gene", 15, 8, "Canal Sur 2", txt_desc_canal2andalucia, "http://www.canalsur.es/index2.htm");
canales_tv ['telemadrid'] 			= new canal ("gene", 19, 7, "Telemadrid", txt_desc_telemadrid, "http://www.telemadrid.com/");
canales_tv ['laotra'] 				= new canal ("gene", 19, 8, "La Otra", txt_desc_laotra, "http://www.telemadrid.com/");
canales_tv ['la10'] 				= new canal ("gene", 19, 9, "La 10", txt_desc_la10);
canales_tv ['tvg'] 					= new canal ("gene", 24, 7, "TV de Galicia", txt_desc_tvg);
canales_tv ['extremaduratv'] 		= new canal ("gene", 32, 7, "Canal Extremadura TV", txt_desc_extremaduratv);
canales_tv ['aragontv'] 			= new canal ("gene", 34, 7, "Aragón TV", txt_desc_aragontv);
canales_tv ['etb1'] 				= new canal ("gene", 36, 7, "ETB 1", txt_desc_etb1);
canales_tv ['etb2'] 				= new canal ("gene", 36, 8, "ETB 2", txt_desc_etb2);
canales_tv ['tvcanaria'] 			= new canal ("gene", 37, 7, "TV Canaria", txt_desc_tvcanaria, "http://www.tvcanaria.tv/");
//canales_tv ['canarias2'] 			= new canal ("gene", 37, 8, "Canarias 2", txt_desc_canarias2);
canales_tv ['cmtv'] 				= new canal ("gene", 38, 7, "CMT", txt_desc_cmtv, "http://www.rtvcm.es");

//Esta función permite ordenar por el nombre del canal.
function ordenar(a,b) 
{
   var aOrd=a.toUpperCase();
   var bOrd=b.toUpperCase();
   if (aOrd>bOrd) return 1;
   if (aOrd<bOrd) return -1;
   return 0;
}
var ocanales_tv_ordenados = new Array();
for (var oElem in canales_tv)
{
	ocanales_tv_ordenados.push(canales_tv[oElem].nombre + "$" + oElem);
}
ocanales_tv_ordenados.sort(ordenar);

var canales_tv_ordenados = new Array();
for (var valorAsoc in ocanales_tv_ordenados)
{
	canales_tv_ordenados.push (ocanales_tv_ordenados[valorAsoc].split('$')[1]);
}

//función que devuelve un array únicamente con los valores asociativos de los canales que sean del mismo tipo que el pasado como parámetro
//los canales ya estan ordenados alfabéticamente ya que se obtines de canales_tv_ordenados
function get_canalesXtipo (tipo_canal, demarcacion) {
	if (demarcacion == null)	//si no se pasa demarcación se seleccionan los canales de todas las demarcaciones
		demarcacion = -1;
		
	var canales_filtrados = new Array();

	for (var canali in canales_tv_ordenados) {
		var valorAsoc = canales_tv_ordenados[canali];
		
		if ((canales_tv[valorAsoc].tipocanal == tipo_canal) && ((demarcacion == -1) || (canales_tv[valorAsoc].iddemarcacion == demarcacion) || (canales_tv[valorAsoc].iddemarcacion == 0)))
			canales_filtrados.push (valorAsoc)
	}

	return canales_filtrados;
}


//función que devuelve un array únicamente con los valores asociativos de los canales de la demarcacion pasado por parámetro
//los canales ya estan ordenados alfabéticamente ya que se obtines de canales_tv_ordenados
function get_canalesXdemarcacion (demarcacion) {
	if (demarcacion == null)	//si no se pasa demarcación se seleccionan los canales de todas las demarcaciones
		demarcacion = -1;
		
	var canales_filtrados = new Array();

	for (var canali in canales_tv_ordenados) {
		var valorAsoc = canales_tv_ordenados[canali];
		
		if ((demarcacion == -1) || (canales_tv[valorAsoc].iddemarcacion == demarcacion) || (canales_tv[valorAsoc].iddemarcacion == 0))
			canales_filtrados.push (valorAsoc)
	}

	return canales_filtrados;
}

//funcion que devuelve el valor asociativo del identificador del canal y demarcación pasados cómo parámetro
//si detecta que el idcanal es de un canal de difusión nacional, omite el valor de iddemarcacion
function get_valorasoc (idcanal, iddemarcacion) {
	var valorasoc = null;
	for (var i in canales_tv) {
		if ((canales_tv[i].idcanal==idcanal) && (canales_tv[i].iddemarcacion==iddemarcacion || canales_tv[i].iddemarcacion==0)) {
			valorasoc = i;
			break;
		}
	}

	return valorasoc;
}

//function que muestra los combos para realizar una selección de canales
function print_selector_canales() {
	var modo;
	if (top.document.location.hostname == "imagenio.telefonicaonline.com") {
		modo = getParametro('modo', top.document);
		if ((modo==null) || (modo=='undefined') || (modo=='') || ((modo!='abierto')&&(modo!='cerrado')))
			modo = 'abierto';
	}
	else {
		modo = (esAbierto())?'abierto':'cerrado';
	}

	document.write ("<div class='separador3'><span></span></div>")
	document.write ("<div id='listado_productos' class='altura_buscador'>");
	document.write ("	<form id='form_consulta_canales' name='form_consulta_canales' onsubmit='return submit_selector_canales(this)' action='"+protocolo+"//imagenio.telefonicaonline.com/EST/HTML/programacion-imagenio-television.html?modo="+modo+"&uri=/DIN/programacion_canal_tv.jsp' target='_top'>");
	document.write ("		<div class='ajuste_buscador1'><span class='texto2_2'>" + txt_acceda_desc_prog + "</span></div>");
	document.write ("		<select name='tipo_canal' onchange='change_tipo_canal()'>");
	document.write ("			<option value='' selected>" + txt_tipo_canal + "</option>");
	document.write ("			<option value='todos'>" + txt_todos_canales + "</option>");
								for (var tipo in tipos_de_canales)
	document.write ("				<option value='" + tipo + "'>" + tipos_de_canales[tipo] + "</option>");
	document.write ("		</select>");
	document.write ("		<select name='canal'>");
	document.write ("		</select>");
	document.write ("		<input class='boton_formulario' type='image' src='"+tol+"/on/images/btnSubmit.gif' alt='ir' />");
	document.write ("	</form>");
	document.write ("<p><a href='"+protocolo+"//imagenio.telefonicaonline.com/EST/HTML/programacion-imagenio-television.html?modo="+modo+"&uri=/DIN/mapa.jsp' target='_top' class='texto2_3'>" + txt_consulte_toda_programación + " <img src='"+protocolo+"//www.telefonicaonline.com/on/images/icoLink.gif' width='9' height='5' alt='ampliar informaci&oacute;n' /></a></p>");
	document.write ("</div>");

	change_tipo_canal();
}

function submit_selector_canales (selector) {
	var tipo_canal	= selector.tipo_canal.value;
	var canal		= selector.canal.value;

	if (tipo_canal == "") {
		alert (txt_alert_primero_canal);
		return false;
	}

	var idcanal			= canales_tv[canal].idcanal;
	var iddemarcacion	= canales_tv[canal].iddemarcacion;

	top.location.href = selector.action + escape("?idcanal="+idcanal + "&iddemarcacion="+iddemarcacion);

	return false;
}

//funcion que se ejecuta cuando se cambia el tipo de canales en el selector de canales
function change_tipo_canal() {
	var formulario			= document.forms['form_consulta_canales'];
	var tipo_seleccionado	= formulario.tipo_canal.value;

	//vaciamos el select de canales y ponemos los canales del tipo, o todos, o las rayitas
	formulario.canal.options.length = 0;

	if (tipo_seleccionado == "") {
		//únicamente tenemos la opción de las rayitas para mostrar algo
		formulario.canal.options[0] = new Option ("----", "");
	}
	else {
		var canales_a_mostrar;
		if (tipo_seleccionado == "todos") 
			canales_a_mostrar = canales_tv_ordenados;
		else
			canales_a_mostrar = get_canalesXtipo (tipo_seleccionado);
			
		//rellenamos el combo con los canales filtrados
		for (var i in canales_a_mostrar) {
			var canalAsoc = canales_a_mostrar[i];
			var valor = canalAsoc;
			var texto = canales_tv[canalAsoc].nombre;
	
			formulario.canal.options[formulario.canal.options.length] = new Option (texto, valor);
		}
	}
}
