﻿/* JS Document pour les pages du Parlement europeen */
/* Scripts gerant les principaux add on a appliquer aux splash pages */

/* ======================================================================================================== */
/* ACTIVATION DES SCRIPTS ================================================================================= */
/* ======================================================================================================== */
	var widget_js			= true;

/* ======================================================================================================== */
/* MobileChecker ========================================================================================== */
/* ======================================================================================================== */
/* Classe JS gerant la verification de l'affichage de la boite d'alerte pour l'affichage en mobile */

	function MobileChecker(Lang){
		// Parametres autorises lors de la creation de la classe JS:
			// 	Lang						:String			>> version linguistique (encode sur deux caracteres [exemple : en])
		// - - - - - - - - - - - - - - - - - - - - - - - - - - - -
		// Exemple d'utilisation
			//	var s = new MobileChecker("en");
		// - - - - - - - - - - - - - - - - - - - - - - - - - - - -
		// Variables
		var This;
		var Address						= "http://m.europarl.europa.eu/EPMobile/menu.htm?language={XX}";
		// - - - - - - - - - - - - - - - - - - - - - - - - - - - -
		// Autorisation d'activation du sondage pour toutes les planetes
		var Authorize					= true;
		// - - - - - - - - - - - - - - - - - - - - - - - - - - - -
		// Classe utilisee
			// HTManager					>> htmanager.js
		// - - - - - - - - - - - - - - - - - - - - - - - - - - - -
		// Fonction ajoutant l'action aux boutons
		this.init = function(VL){
			// Verification a l'acces aux scripts de gestion et creation
			if(typeof(htmanager_js) == "boolean" && htmanager_js){
				This						= this;
				// Verification de la langue
				VL							= String(VL).toLowerCase();		
				if(VL.length != 2 || 
					(VL != "bg" && VL != "cs" && VL != "da" && VL != "de" && VL != "el" && VL != "en" && VL != "es" && VL != "et" && VL != "fi" && VL != "fr" && VL != "hu" && 
					 VL != "it" && VL != "lt" && VL != "lv" && VL != "mt" && VL != "nl" && VL != "pl" && VL != "pt" && VL != "ro" && VL != "sk" && VL != "sl" && VL != "sv")){
						VL					= "en";
				}
				// Liste des mobiles a detecter
				var l						= [	"android", "avantgo", "blackberry", "blazer", "eudoraweb", "handspring", "htc", "iphone", "ipod", "kyocera", "lg", "motorola", "netfront", "nokia", "palm", "playstation portable", "samsung", 
												"smartphone", "sonyericsson", "symbian", "wap", "windows ce"];
				var m						= l.length;
				// Identification du navigateur
				var n						= navigator.userAgent;
				n							= String(n).toLowerCase();
				// Verification du navigateur de type "mobile"
				var b						= false;
				var i;
				for(i = 0; i < m; i++){
					if(n.indexOf(l[i]) > -1){	b = true;	break }
				};
				// Creation du panneau
				if(b){
					var H					= new HTManager();
					// Recuperation linguistique
					switch(VL){
						case "bg":	l		= {cancel:	"Не, благодаря", 	validate: "Да, моля", 				text:"Изглежда, че Вие разглеждате страницата от мобилно устройство.<br />Искате ли да влезете в мобилната версия на нашата уеб страница?"	};
						case "cs":	l		= {cancel:	"Ne", 				validate: "Ano",					text:"Zdá se, že si tyto stránky prohlížíte z mobilního zařízení.<br />Přejete si pokračovat na mobilní verzi stránek?"						};
						case "da":	l		= {cancel:	"No, thanks", 		validate: "Nej tak", 				text:"Det lader til, at du browser fra en mobil enhed<br />Kunne du tænke dig at få adgang til den mobile version af vores websted?"		};
						case "de":	l		= {cancel:	"Nein, danke", 		validate: "Ja, bitte", 				text:"Sie rufen unserer Webseite von einem Smartphone auf?<br />Wollen Sie die Version unserer Webseite für mobile Endgeräte nutzen?"		};
						case "el":	l		= {cancel:	"Ναι", 				validate: "Όχι", 					text:"Μάλλον χρησιμοποιείτε κινητό<br />Θέλετε την έκδοση της ιστοσελίδας για κινητό;"														};
						case "es":	l		= {cancel:	"No, gracias", 		validate: "Sí, por favor", 			text:"Parece que navegas desde un dispositivo móvil.<br />¿Quieres acceder a la versión para móviles de nuestra web?"						};
						case "et":	l		= {cancel:	"Ei, aitäh!", 		validate: "Jah, palun!", 			text:"Tundub, et kasutate mobiilset seadet.<br />Kas soovite kasutada meie veebilehe mobiilversiooni?"										};
						case "fi":	l		= {cancel:	"Ei kiitos", 		validate: "Kyllä kiitos", 			text:"Selailette sivujamme mobiililaitteella.<br />Haluaisitteko kokeilla nettisivujemme mobiiliversiota?"									};
						case "fr":	l		= {cancel:	"Non, merci", 		validate: "Oui, s'il vous plait", 	text:"Il semblerait que vous naviguez à partir d'un appareil mobile.<br />Voulez-vous accéder à la version mobile de notre site web ?"		};
						case "hu":	l		= {cancel:	"Nem", 				validate: "Igen.", 					text:"Úgy tűnik, hogy mobilkészülékről böngészik.<br />Szeretné honlapunk mobilnetes verzióján folytatni a böngészést?"						};
						case "it":	l		= {cancel:	"No, grazie", 		validate: "Si, per favore", 		text:"Sembra che tu stia utilizzando un cellulare.<br />Vuoi accedere alla versione del sito per il cellulare?"								};
						case "lt":	l		= {cancel:	"Ne, ačiū", 		validate: "Taip", 					text:"Panašu, kad naršote internetą mobiliojo įrenginio pagalba.<br />Ar norėtumėte pasinaudoti mobiliąja EP svetainės versija?"			};
						case "lv":	l		= {cancel:	"No, thanks", 		validate: "Yes, please", 			text:"It seems you're browsing from a mobile device.<br />Would you like to access the mobile version of our website?"						};
						case "mt":	l		= {cancel:	"Le.", 				validate: "Iva", 					text:"Jidher li qed tara s-sit fuq mowbajl<br />Tixtieq tara verżjoni tas-sit apposta għall-mowbajl?"										};
						case "nl":	l		= {cancel:	"Nee, dank u", 		validate: "Ja, graag", 				text:"Bezoekt u deze website via een mobiele telefoon?<br />Wilt u liever de mobiele versie van de website bezoeken?"						};
						case "pl":	l		= {cancel:	"Nie, dziękuje", 	validate: "Tak, poproszę", 			text:"Wydaje nam się, że korzystasz z urządzenia mobilnego.<br />Czy chcesz przejść na mobilną wersję naszej strony?"						};
						case "pt":	l		= {cancel:	"No, thanks", 		validate: "Yes, please", 			text:"It seems you're browsing from a mobile device.<br />Would you like to access the mobile version of our website?"						};
						case "ro":	l		= {cancel:	"Nu, mulțumesc", 	validate: "Da", 					text:"Se pare că navigați de pe un telefon mobil.<br />Ați vrea să accesați versiunea pentru mobil a site-ului?"							};
						case "sk":	l		= {cancel:	"Nie.", 			validate: "Áno", 					text:"Zdá sa, že si tieto stránky prezeráte z mobilného zariadenia.<br />Prajete si pokračovať na mobilnú verziu stránok?"					};
						case "sl":	l		= {cancel:	"Ne, hvala", 		validate: "Da",		 				text:"Kaže, da do strani dostopate z mobilno napravo.<br />Bi radi vstopili na spletno stran prilagojeno za mobilnike?"						};
						case "sv":	l		= {cancel:	"Nej, tack", 		validate: "Ja, tack", 				text:"Du verkar surfa via telefon eller annan mobil enhet.<br />Vill du att vi överför dig till den mobila versionen av sajten?"			};
						case "en":
						default:	l		= {cancel:	"No, thanks.", 		validate: "Yes, please", 			text:"It seems you're browsing from a mobile device.<br />Would you like to access the mobile version of our website?"						};
					}
					// Creation du conteneur
					m						= H.createNode("div", {id:"alertmobile"});
					i						= H.createNode("div", {className:"ep_content"});
					m.appendChild(i);
					// Creation du texte
					n						= H.createNode("div", {className:"ep_text"});
					n.innerHTML				= l.text;
					i.appendChild(n);
					// Boutons
					n						= H.createNode("span", l.validate);
					n						= H.createNode("a", {href:String(Address).replace("{XX}", VL)}, n);
					b						= H.createNode("div", {className:"ep_button"}, n);
					i.appendChild(b);
					n						= H.createNode("span", l.cancel);
					var c					= H.createNode("a", {href:"#closealert"}, n);
					b						= H.createNode("div", {className:"ep_button"}, c);
					i.appendChild(b);
					// Reference au corps de la page
					b						= document.getElementsByTagName("body")[0];
					if(H.check(b)){
						// Initialisation du conteneur
						m.style.height		= 0;
						// Integration de la boite
						n					= b.childNodes[0];
						b.insertBefore(m, n);
						// Calcul des dimensions du conteneur
						l					= i.offsetHeight;
						// Ajout de l'action de cloture
						c.onclick			= function(){	This.close(b, m, l); return(false);		};
						// Lancement de l'animation
						This.display(b, m, l);
					}
				}
			}
		};
		// - - - - - - - - - - - - - - - - - - - - - - - - - - - -
		// Fonction animant l'affichage de la boite
		this.display = function(Body, Box, ref){
			// Recuperation de la hauteur actuelle
			var h		= parseFloat(Box.style.height);
			var i		= Math.max(1, (h/50)*2);
			if(h + i >= ref){
				Box.style.height	= ref + "px";
			}else{
				Box.style.height	= (h + i) + "px";
				setTimeout(function(){ This.display(Body, Box, ref); }, 10);
			}
		};
		this.close = function(Body, Box, ref){
			// Recuperation de la hauteur actuelle
			var h		= parseFloat(Box.style.height);
			var i		= Math.max(1, (h/50)*2);
			if(h - i <= 0){
				Body.removeChild(Box);
			}else{
				Box.style.height	= (h - i) + "px";
				setTimeout(function(){ This.close(Body, Box, ref); }, 10);
			}
		};
		// - - - - - - - - - - - - - - - - - - - - - - - - - - - -
		// Lancement automatique de la fonction d'initialisation
		this.init(Lang);
	};

/* ======================================================================================================== */
/* AnimatedText =========================================================================================== */
/* ======================================================================================================== */
/* Classe JS gerant le changement de texte <h1> */

	function AnimatedText(){
		// Fonction autogeree >> ne necessitant pas d'etre parametree
		// - - - - - - - - - - - - - - - - - - - - - - - - - - - -
		// Exemple d'utilisation
			//	var s = new AnimatedText();
		// - - - - - - - - - - - - - - - - - - - - - - - - - - - -
		// Classe utilisee
			// HTManager					>> htmanager.js
		// - - - - - - - - - - - - - - - - - - - - - - - - - - - -
		// Fonction ajoutant l'action aux boutons
		this.init = function(){
			// Verification a l'acces aux scripts de gestion et creation
			if(typeof(htmanager_js) == "boolean" && htmanager_js){
				// Sauvegarde des references
				var H				= new HTManager();
				// Recherche de la liste des liens a traiter
				var m				= document.getElementById("internet");
				var t				= document.getElementById("title");
				if(H.check(m) && H.check(t)){
					r				= document.getElementsByTagName("span");
					// Verification de l'acces aux balises span
					if(H.check(r[0]) && H.check(r[1])){
						function add(tag){
							H.addEvent(tag, "mouseover", 	function(){	r[0].innerHTML	= v[tag.hreflang][0]; 		r[1].innerHTML	= v[tag.hreflang][1]; 	t.lang	= tag.hreflang;	});
							H.addEvent(tag, "focus", 		function(){	r[0].innerHTML	= v[tag.hreflang][0]; 		r[1].innerHTML	= v[tag.hreflang][1]; 	t.lang	= tag.hreflang;	});
							H.addEvent(tag, "mouseout", 	function(){	r[0].innerHTML	= v.en[0]; 					r[1].innerHTML	= v.en[1]; 				t.lang	= "en";			});
							H.addEvent(tag, "blur", 		function(){	r[0].innerHTML	= v.en[0]; 					r[1].innerHTML	= v.en[1]; 				t.lang	= "en";			});
						}
						// Recuperation des textes linguistiques
						var v		= new Object();
						v.bg		= ["Добре дошли в ", 		"Европейския парламент"		];
						v.cs		= ["Vítejte ", 				"v EVROPSKÉM PARLAMENTU"	];
						v.da		= ["Velkommen til ", 		"Europa-Parlamentet"		];
						v.de		= ["Willkommen im ", 		"Europäischen Parlament"	];
						v.el		= ["Καλωσoρίσατε στο ", 	"ΕΥΡΩΠΑΪΚΌ ΚΟΙΝΟΒΟYΛΙΟ"		];
						v.en		= ["Welcome to ", 			"the European Parliament"	];
						v.es		= ["Bienvenido ", 			"al PARLAMENTO EUROPEO"		];
						v.et		= ["Tere tulemast ", 		"EUROOPA PARLAMENTI"		];
						v.fi		= ["Tervetuloa ", 			"EUROOPAN PARLAMENTTIIN"	];
						v.fr		= ["Bienvenue au ", 		"PARLEMENT EUROPÉEN"		];
						v.hu		= ["Üdvözöljük az ", 		"Európai Parlamentben"		];
						v.it		= ["Benvenuti ", 			"al PARLAMENTO EUROPEO"		];
						v.lt		= ["Susipažinkite - ", 		"EUROPOS PARLAMENTAS"		];
						v.lv		= ["Iepazīstieties ", 		"EIROPAS PARLAMENTS"		];
						v.mt		= ["Merħba", 				"fil-PARLAMENT EWROPEW"		];
						v.nl		= ["Welkom bij het ", 		"EUROPEES PARLEMENT"		];
						v.pl		= ["Witamy ", 				"w PARLAMENCIE EUROPEJSKIM"	];
						v.pt		= ["Bem-vindo ao ", 		"PARLAMENTO EUROPEU"		];
						v.ro		= ["Bun venit la ", 		"Parlamentul European"		];
						v.sk		= ["Vitajte ", 				"v EURÓPSKOM PARLAMENTE"	];
						v.sl		= ["Dobrodošli v ", 		"EVROPSKEM PARLAMENTU"		];
						v.sv		= ["Välkommen till ", 		"EUROPAPARLAMENTET"			];
						// Recherche de la liste des liens a traiter
						var l		= m.getElementsByTagName("a");
						m			= l.length;
						for(var i = 0; i < m; i++){ add(l[i]);	}
					}
				}
			}
		};
		// - - - - - - - - - - - - - - - - - - - - - - - - - - - -
		// Lancement automatique de la fonction d'initialisation
		this.init();
	};
	
	
