
//var console = console || { log : function(l){ /* alert(l); */ } }; // "catch-log" pour !firefox

/*
 * i18n
 *
 */

var i18n = (function(){
	var text = {
		fr: {
			'ouvrir cette page en popup': 'ouvrir cette page en popup',
			'Faire suivre cette page': 'Faire suivre cette page', // envoi ami ---v
			'confirmBlock': 'Votre envoi a été effectué avec succès. Cliquez ici pour procéder à un autre envoi.',
			'De la part de': 'De la part de…',
			'votre nom': 'votre nom tel qu\'il apparaitra dans le courrier',
			'A lattention de': 'À l\'attention de…',
			'destinataire1': 'email destinataire 1',
			'destinataire2': 'email destinataire 2',
			'destinataire3': 'email destinataire 3',
			'Votre message (facultatif)': 'Votre message (facultatif) :',
			'sendFriend_legal': 'RTE ne conserve aucune adresse email communiquée au moyen de ce formulaire.',
			'annuler': 'annuler',
			'envoyer': 'transmettre',
			'xhr_forward_success': 'L\'envoi a été effectué avec succès !',
			'xhr_forward_error': 'L\'envoi a échoué, merci de réessayer plus tard.', // envoi ami ---^
			'masquer ': 'masquer ', // espace dl ---v
			'afficher ': 'afficher ',
			'retirer "': 'retirer "',
			'" des favoris': '" des favoris',
			'ajouter "': 'ajouter "',
			'" aux favoris': '" aux favoris',
			'télécharger "': 'télécharger "',
			'ne pas télécharger "': 'ne pas télécharger "',
			'Vos favoris :': 'Vos favoris :',
			' télécharger les données favorites': ' télécharger les données favorites',
			' télécharger les données sélectionnées': ' télécharger les données sélectionnées',
			'rechercher une donnée…': 'rechercher une donnée…',
			'" target="_blank" title="visualiser la donnée">': '" target="_blank" title="visualiser la donnée">',
			'<span>vous n\'avez pas de favoris</span>': '<span>vous n\'avez pas de favoris</span>',
			'retirer': 'retirer',
			'des favoris': 'des favoris',
			'ajouter': 'ajouter',
			'aux favoris': 'aux favoris',
			'ne pas télécharger': 'ne pas télécharger',
			' Obtenir de l\'aide': ' Obtenir de l\'aide',
			'télécharger': 'télécharger', // fin de espace dl ---^
			'plus d\'informations': 'plus d\'informations', // dashboard ---v
			'consulter cette donnée': 'consulter cette donnée',
			'masquer cette donnée': 'masquer cette donnée',
			'masquer les informations': 'masquer les informations',
			'Nombre maximum de groupes atteint, veuillez en retirer.': 'Nombre maximum de groupes atteint, veuillez en retirer.',
			'Ajout dun groupe de production': 'Ajout d\'un groupe de production',
			'Afficher les filières :': 'Afficher les filières :',
			'Charbon': 'Charbon',
			'Fioul et pointe': 'Fioul et pointe',
			'Gaz': 'Gaz',
			'Hydraulique fil et éclusée': 'Hydraulique fil et éclusée',
			'Hydraulique lac': 'Hydraulique lac',
			'Nucléaire': 'Nucléaire'// fin de dashboard ---^
		},
		en: {
			'ouvrir cette page en popup': 'open in a new window',
			'Faire suivre cette page': 'Transmit this webpage', // envoi ami ---v
			'confirmBlock': 'Your mail have been send ! Click here to send more mails.',
			'De la part de': 'From…',
			'votre nom': 'your name as it will be displayed',
			'A lattention de': 'To…',
			'destinataire1': 'destination email 1',
			'destinataire2': 'destination email 2',
			'destinataire3': 'destination email 3',
			'Votre message (facultatif)': 'Your message (not required):',
			'sendFriend_legal': 'RTE do not save any email address entered in this form.',
			'annuler': 'cancel',
			'envoyer': 'send',
			'xhr_forward_success': 'Mail have been send !',
			'xhr_forward_error': 'An error has occured, please try again later.', // envoi ami ---^
			'masquer ': 'hide ', // espace dl ---v
			'afficher ': 'show ',
			'retirer "': 'remove "',
			'" des favoris': '" from favourites',
			'ajouter "': 'add "',
			'" aux favoris': '" to favourites',
			'télécharger "': 'download "',
			'ne pas télécharger "': 'do not download "',
			'Vos favoris :': 'Your favourites :',
			' télécharger les données favorites': ' download favourite data',
			' télécharger les données sélectionnées': ' download selected data',
			'rechercher une donnée…': 'search for data…',
			'" target="_blank" title="visualiser la donnée">': '" target="_blank" title="preview this data">',
			'<span>vous n\'avez pas de favoris</span>': '<span>you don\'t have any favourite</span>',
			'retirer': 'remove',
			'des favoris': 'from favourites',
			'ajouter': 'add',
			'aux favoris': 'to favourites',
			'ne pas télécharger': 'do not download',
			' Obtenir de l\'aide': ' get help',
			'télécharger': 'download', // fin de espace dl ---^
			'plus d\'informations': 'about that data', // dashboard ---v
			'consulter cette donnée': 'view this data',
			'masquer cette donnée': 'hide this data',
			'masquer les informations': 'close information panel',
			'Nombre maximum de groupes atteint, veuillez en retirer.': 'Dashboard maximum capacity reached, please remove some widgets.',
			'Ajout dun groupe de production': 'Add a generation unit',
			'Afficher les filières :': 'Display by type :',
			'Charbon': 'Coal',
			'Fioul et pointe': 'Fuel-oil & peak',
			'Gaz': 'Gas',
			'Hydraulique fil et éclusée': 'Hydropower',
			'Hydraulique lac': 'Lake hydropower',
			'Nucléaire': 'Nuclear'// fin de dashboard ---^
		}
	}
	var lang = document.documentElement.lang;
	return {
		get: function(t){
			return text[lang][t];
		}
	};
})();
 
/*
 * profil + ring dropdown
 * 
 */

function computeDropdown(e, trigger, menu){
	if (e.type == 'mouseover') {
		Amed.DOM.addClassName(trigger, 'trigered');
		Amed.DOM.addClassName(menu, 'trigered');
	}
	else if(e.type == 'mouseout'){
		if(Amed.DOM.isAChildOfB(e.relatedTarget, trigger) || Amed.DOM.isAChildOfB(e.relatedTarget, menu)) return;
		
		Amed.DOM.removeClassName(trigger, 'trigered');
		Amed.DOM.removeClassName(menu, 'trigered');
	}
}
function initProfilDropdown(){
	
	if(Amed.DOM.$('profilPrompt')){
		
		var trig = Amed.DOM.$('profilPrompt').getElementsByTagName('a')[0],
			drop = Amed.DOM.$('profilPrompt').getElementsByTagName('div')[0];
		
		Amed.Event.add(trig, 'mouseover', computeDropdown, trig, drop);
		Amed.Event.add(trig, 'mouseout',  computeDropdown, trig, drop);
		Amed.Event.add(drop, 'mouseout',  computeDropdown, trig, drop);
	}
}
/*
function initRingDropdown(){
	var trig = Amed.DOM.$('tl_ring').getElementsByTagName('a')[0],
		drop = Amed.DOM.$('tl_ring').getElementsByTagName('dd')[0];
	
	Amed.Event.add(trig, 'mouseover', computeDropdown, trig, drop);
	Amed.Event.add(trig, 'mouseout',  computeDropdown, trig, drop);
	Amed.Event.add(drop, 'mouseout',  computeDropdown, trig, drop);;
}
*/


/*
 * types
 * 
 */

function initTypes(){
	var headlines = Amed.DOM.$('main').getElementsByTagName('h1');
	for(var i = headlines.length; i--;) Amed.Type.typify(headlines[i], _baseurl + '/swf/all/all/rte_type.swf');
	
	var headlines = Amed.DOM.$('main').getElementsByTagName('h2');
	for(var i = headlines.length; i--;) Amed.Type.typify(headlines[i], _baseurl + '/swf/all/all/rte_type.swf');
	/*
	var headlines = Amed.DOM.$('navigation').getElementsByTagName('h3');
	for(var i = headlines.length; i--;)
		if(headlines[i].getElementsByTagName('span')[0]) Amed.Type.typify(headlines[i].getElementsByTagName('span')[0], '/' + _baseurl + '/swf/all/all/rte_type.swf');
		else Amed.Type.typify(headlines[i], '/' + _baseurl + '/swf/all/all/rte_type.swf');
	
	var headlines = Amed.DOM.$('accueilColRight').getElementsByTagName('h3');
	for(var i = headlines.length; i--;)
		if(headlines[i].getElementsByTagName('span')[0]) Amed.Type.typify(headlines[i].getElementsByTagName('span')[0], '/' + _baseurl + '/swf/all/all/rte_type.swf');
		else Amed.Type.typify(headlines[i], '/' + _baseurl + '/swf/all/all/rte_type.swf');
	*/
	
	if(Amed.DOM.$('profilPrompt')){
		
		var headlines = Amed.DOM.$('profilPrompt').getElementsByTagName('span');
		for(var i = headlines.length; i--;) Amed.Type.typify(headlines[i], _baseurl + '/swf/all/all/rte_type.swf');
		
		var headlines = Amed.DOM.$('profilPrompt').getElementsByTagName('strong');
		for(var i = headlines.length; i--;) Amed.Type.typify(headlines[i], _baseurl + '/swf/all/all/rte_type.swf');
	}
	
	var headlines = Amed.DOM.$('profilSelected');
	if(headlines) Amed.Type.typify(headlines, _baseurl + '/swf/all/all/rte_type.swf');
}

/*
 * popups barre d'onglet
 *
 */

function addPopupTab(url, title, w, h){
	if(!url) return;
	var tab = Amed.DOM.$('tabBar').getElementsByTagName('strong')[0].getElementsByTagName('span')[0],
		popLink = document.createElement('a'),
		params = 'scrollbars=yes, resizable=yes,',
		title = title || i18n.get('ouvrir cette page en popup');
	
	if(w) params += ('width=' + w);
	if(w&&h) params += ',';
	if(h) params += ('height=' + h);
	
	popLink.setAttribute('class', 'tabPop');
	/*@cc_on popLink.setAttribute('className', 'tabPop'); @*/
	popLink.setAttribute('href', '#');
	popLink.setAttribute('title', title);
	
	Amed.Event.add(popLink, 'click', function(e){
		e.preventDefault();
		window.open(url, Math.round(Math.random()*100), params);
	});
	tab.appendChild(popLink);
}

/*
 * wrapper popup
 *
 */

function openPopup(url, params){
	var params = params || 'scrollbars=yes, resizable=yes';
	
	window.open(url, Math.round(Math.random()*100), params);
	return void(0);
}

/*
 * applet refresh
 *
 */

function appletRepaint(){
	var applets = document.getElementsByTagName('applet'),
		scrollFlag = false,
		painterPeriod,
		painter = function (){
			if(!scrollFlag){
				window.clearInterval(painterPeriod);
				painterPeriod = null;
				for(var i = applets.length; i--; applets[i].repaint());
			}
			else scrollFlag = false;
		};
	
	if (!applets[0]) return; // pas d'applets sur la page
	
	Amed.Event.add(window, 'scroll', function(){
		scrollFlag = true;
		if(!painterPeriod) painterPeriod = window.setInterval(painter, 150);
	});
}

/*
 * zoom images
 *
 */

 Amed.Overlay = function(color, callback){
	var f = document.createDocumentFragment(),
		i = document.createElement('iframe'),
		o = document.createElement('div'),
		v = Amed.BOM.getViewportVector(),
		d = Amed.BOM.getItemVector(document.body),
		h = (v[1] > d[1])?v[1]:d[1];
	
	i.setAttribute('url', 'javascript:null');
	i.setAttribute('frameBorder', 'no');
	i.style.position = 'absolute';
	i.style.top = '0';
	i.style.left = '0';
	i.style.width = '100%';
	i.style.height = h + 'px';
	i.style.opacity = '0';
	/*@cc_on i.style.filter = 'alpha(opacity=0)'; @*/
	i.style.zIndex = '30';
	
	o.style.backgroundColor = color;
	o.style.position = 'absolute';
	o.style.top = '0';
	o.style.left = '0';
	o.style.width = '100%';
	o.style.height = h + 'px';
	o.style.opacity = '0.7';
	/*@cc_on o.style.filter = 'alpha(opacity=70)'; @*/
	o.style.zIndex = '31';
	o.chime = i;
	
	if(callback) Amed.Event.add(o, 'click', callback, Array.prototype.slice.call(arguments, 2));
	
	f.appendChild(i);
	f.appendChild(o);
	f.remove = function(){
		document.body.removeChild(i);
		document.body.removeChild(o);
	}
	
	return f;
};

function zoomPic(e){
	e.preventDefault();
	var f = document.createDocumentFragment(),
		w = document.createElement('div'),
		i = new Image(),
		o = Amed.Overlay('#000000', remove),
		v = Amed.BOM.getViewportVector(),
		s = Amed.BOM.getScrollVector();
	
	function remove(){
		o.remove();
		document.body.removeChild(w);
	}
	
	w.setAttribute('id', 'zoomer');
	i.style.cursor = 'pointer';
	w.appendChild(i);
	f.appendChild(o);
	f.appendChild(w);
	
	Amed.Event.add(w, 'click', remove);
	
	Amed.Event.add(i, 'load', function(){
		w.style.top = s[1] + 25 + 'px';
		w.style.left = s[0]/2 + v[0]/2 - i.width/2 + 'px';
		document.body.appendChild(f);
	});
	i.src = this;
}

/*
 * suivre à un ami
 *
 */

var QuickXHR = function(){
	
	function xhrFactory(){
		var xhrs = [
			function(){ return new XMLHttpRequest(); },
			function(){ return new ActiveXObject("Msxml2.XMLHTTP"); },
			function(){ return new ActiveXObject("Msxml3.XMLHTTP"); },
			function(){ return new ActiveXObject("Microsoft.XMLHTTP"); }
		];
		var xhr = false;
		for (var i=0; i<xhrs.length; i++){
			try{ xhr = xhrs[i](); }
			catch(e){ continue; }
			break;
		}
		return xhr;
	}
	
	return {
		doReq : function(url, callback, params){
			var req = xhrFactory();
			var method = (params)?"POST":"GET";
			req.open(method, url, true);
			req.setRequestHeader("User-Agent", "XHR");
			req.setRequestHeader("Accept-Encoding", "bz2");
			req.setRequestHeader("boo", "boo2");
			if(method == "POST") req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			req.onreadystatechange = function(){
				if(req.readyState != 4) return;
				if(req.status != 200 && req.status != 304){
					//alert("erreur " + req.status);
					return;
				}
				callback(req);
			};
			if(req.readyState == 4) return;
			req.send(params);
		}
	};
}();

function forwardPage(){
	
	var win = Amed.DOM.$('ctn_sendFriend'),
		shim = Amed.DOM.$('ctn_sendFriend_shime'),
		ctn = Amed.DOM.$('ctn_toolbar'),
		tmp = document.createDocumentFragment();
	
	if(!win){
		
		// ne pose l'iframe que si nécessaire car cela nuit à la réactivité
		var needShim = document.getElementsByTagName('applet')[0];
		
		if(needShim) var t0 = tmp.appendChild( Amed.DOM.build('iframe', {'id' : 'ctn_sendFriend_shime', 'frameborder' : '0', 'src' : 'javascript:void(0)'}) ); // <iframe>
		
		var t1 = tmp.appendChild( Amed.DOM.build('div', {'id' : 'ctn_sendFriend'}) ); // <div>
			var t10 = t1.appendChild( Amed.DOM.build('a', {'href' : '#', 'id' : 'ctnsf_close', '_text' : 'x'}) ); // <a>
			var t11 = t1.appendChild( Amed.DOM.build('h3', {'_text' : i18n.get('Faire suivre cette page')}) ); // <h3>
			var t12 = t1.appendChild( Amed.DOM.build('a', {'href' : '#', 'id' : 'ctn_sendFriendFeedback', '_text' : i18n.get('confirmBlock')}) ); // <a>
			var t13 = t1.appendChild( Amed.DOM.build('form') ); // <form>
				var t131 = t13.appendChild( Amed.DOM.build('div', {'class' : 'clearer'}) ); // <div.clearer>
				
				var t132 = t13.appendChild( Amed.DOM.build('label', {'for' : 'ctnsf_sender', '_text' : i18n.get('De la part de')}) ); // <label>
				var t133 = t13.appendChild( Amed.DOM.build('input', {'id'  : 'ctnsf_sender', 'type' : 'text', 'value' : i18n.get('votre nom')}, {'width' : '270px'}) ); // <input>
				
				var t134 = t13.appendChild( Amed.DOM.build('div', {'class' : 'clearer'}) ); // <div.clearer>
				
				var t135 = t13.appendChild( Amed.DOM.build('label', {'for' : 'ctnsf_dest1', '_text' : i18n.get('A lattention de')}) ); // <label>
				var t136 = t13.appendChild( Amed.DOM.build('input', {'id'  : 'ctnsf_dest1', 'type' : 'text', 'value' : i18n.get('destinataire1')}) ); // <input>
				var t137 = t13.appendChild( Amed.DOM.build('input', {'type' : 'text', 'value' : i18n.get('destinataire2')}) ); // <input>
				var t138 = t13.appendChild( Amed.DOM.build('input', {'type' : 'text', 'value' : i18n.get('destinataire3')}) ); // <input>
				
				var t139 = t13.appendChild( Amed.DOM.build('div', {'class' : 'clearer'}) ); // <div.clearer>
				
				var t13a = t13.appendChild( Amed.DOM.build('label',    {'for' : 'ctnsf_mess', '_text' : i18n.get('Votre message (facultatif)')}) ); // <label>
				var t13b = t13.appendChild( Amed.DOM.build('textarea', {'id'  : 'ctnsf_mess'}) ); // <input>
				
			var t14 = t1.appendChild( Amed.DOM.build('a', {'href' : '#', 'id' : 'ctn_sendFriendConfirm', '_text' : i18n.get('envoyer'), 'class' : 'solidBtn solidBtnGreen'}) ); // <a>
				var t141 = t14.appendChild( Amed.DOM.build('span') ); // <span>
			var t15 = t1.appendChild( Amed.DOM.build('a', {'href' : '#', 'id' : 'ctn_sendFriendCancel',  '_text' : i18n.get('annuler'), 'class' : 'solidBtn'}) ); // <a>
			var t16 = t1.appendChild( Amed.DOM.build('em', {'_text' : i18n.get('sendFriend_legal')}) ); // <em>
		
		ctn.appendChild(tmp);
		
		// workaround : empèche l'iframe de
		// capturer le focus au premier affichage
		if(needShim){
			
			setTimeout(function(){
				
				t0.style.display = 'none';
				
				setTimeout(function(){
					
					t0.style.display = 'block';
				}, 0);
			}, 0);
		}
		
		Amed.Event.add(t10, 'click', hideForward);
		Amed.Event.add(t15, 'click', hideForward);
		
		smartAutoClear(t133);
		smartAutoClear(t136);
		smartAutoClear(t137);
		smartAutoClear(t138);
		
		// signature => validateAndForward (e, sender, recipients, message)
		Amed.Event.add(t14, 'click', validateAndForward, t133, [t136, t137, t138], t13b);
		
		// confirmBlock
		Amed.Event.add(t12, 'click', function(e){
			
			e.preventDefault();
			e.target.style.display = "none";
		});
	}
	else {
		
		win.style.display = 'block';
		if(shim) shim.style.display = 'block';
	}
	
	// on click outside
	Amed.Event.add(document.documentElement, 'click', hideForward);
}

function hideForward(e){
	
	var win = Amed.DOM.$('ctn_sendFriend'),
		shim = Amed.DOM.$('ctn_sendFriend_shime'),
		btn = Amed.DOM.$('ctnTB_mail'),
		cancel = Amed.DOM.$('ctn_sendFriendCancel'),
		cancelX = Amed.DOM.$('ctnsf_close');
	
	if(e.target!==win && !Amed.DOM.isAChildOfB(e.target, win)
	&& e.target!==btn && !Amed.DOM.isAChildOfB(e.target, btn)){
		
		win.style.display = 'none';
		if(shim) shim.style.display = 'none';
	}
	else if(e.target === cancel || e.target === cancelX){
		
		e.preventDefault();
		//win.style.display = 'none';
		//if(shim) shim.style.display = 'none';
		
		// si cancel explicite on efface tout pour reseter les champs
		Amed.DOM.$('ctn_toolbar').removeChild(win);
		if(shim) Amed.DOM.$('ctn_toolbar').removeChild(shim);
	}
}

function smartAutoClear(el){
	
	el.initialValue = el.value;
	
	Amed.Event.add(el, 'focus', function(e){
		
		if(this.value === this.initialValue) this.value = '';
	});
	
	Amed.Event.add(el, 'blur', function(e){
		
		if(this.value.match(/^\s*$/)) this.value = this.initialValue;
	});
}

function validateAndForward(e, sender, recipients, message){
	
	e.preventDefault();
	
	var sendable = false, // validation globale
		validSender = false,
		validDest1 = false,
		validDest2, // facultatif
		validDest3; // facultatif
	
	function mailCheck(mail){
		
		return (/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]{2,}[.][a-zA-Z]{2,4}$/.test(mail));
	}
	function notEmptyCheck(val){
		
		return !(/^\s*$/.test(val));
	}
	function clearErrorMark(e){
		
		Amed.DOM.removeClassName(this, 'error');
		Amed.Event.remove(this, 'focus', clearErrorMark);
	}
	function markUnvalid(el){
		
		Amed.DOM.addClassName(el, 'error');
		Amed.Event.add(el, 'focus', clearErrorMark);
	}
	function trim(s){
		
		return s.replace(/(^\s*)|(\s*$)/g,'');
	}
	function sanitize(s){
		
		return encodeURI(trim(s));
	}

	
	// validité
	if(sender.value !== sender.initialValue)
		validSender = notEmptyCheck(sender.value);
	
	if(recipients[0].value !== recipients[0].initialValue)
		validDest1 = mailCheck(recipients[0].value);
	
	if(recipients[1].value !== recipients[1].initialValue)
		validDest2 = mailCheck(recipients[1].value);
	
	if(recipients[2].value !== recipients[2].initialValue)
		validDest3 = mailCheck(recipients[2].value);
	
	
	// validité globale
	sendable = validSender && validDest1;
	if(validDest2 !== undefined) sendable = sendable && validDest2;
	if(validDest3 !== undefined) sendable = sendable && validDest3;
	
	
	if(!sendable){
		
		// highlight les erreurs
		if(validSender === false) markUnvalid(sender);
		if(validDest1  === false) markUnvalid(recipients[0]);
		if(validDest2  === false) markUnvalid(recipients[1]);
		if(validDest3  === false) markUnvalid(recipients[2]);
	}
	else{
		
		if(e.target.wip != true){ // prévient les duplicatas
			
			sendable = "lang=" + document.documentElement.lang + "&sender=" + sanitize(sender.value) + "&dest1=" + sanitize(recipients[0].value);
			if(validDest2 !== undefined) sendable += "&dest2=" + sanitize(recipients[1].value);
			if(validDest3 !== undefined) sendable += "&dest3=" + sanitize(recipients[2].value);
			if(!/^\s*$/.test(message.value))   sendable += "&message=" + sanitize(message.value);
			sendable += "&url=" + sanitize(window.location.pathname + window.location.search + window.location.hash);
			
			e.target.wip = true;
			e.target.style.cursor = "wait";
			QuickXHR.doReq(_baseurl + "/forward/index.jsp", handleResponse, sendable);
		}
	}
}

function handleResponse(req){
	
	function trim(s){
		
		return s.replace(/(^\s*)|(\s*$)/g,'');
	}
	
	var em = Amed.DOM.$('ctn_sendFriend').getElementsByTagName('em')[0],
		btn = Amed.DOM.$('ctn_sendFriendConfirm'),
		rep = trim(req.responseText);
	
	btn.wip = false;
	btn.style.cursor = "";
	
	if(req.readyState === 4
		//&& req.status === 200
		&& rep === "true"){
		
		Amed.DOM.$('ctn_sendFriendFeedback').style.display = "block";
		Amed.DOM.removeClassName(em, 'error');
		Amed.DOM.addClassName(em, 'success');
		em.innerHTML = i18n.get('xhr_forward_success');
	}
	else{
		
		var errorMsg = (rep === "")
			? i18n.get('xhr_forward_error')
			: rep;
		
		Amed.DOM.removeClassName(em, 'success');
		Amed.DOM.addClassName(em, 'error');
		em.innerHTML = rep;
	}
}

/*
 * initialisations
 * 
 */

Amed.Event.add(document, 'DOMContentLoaded', initProfilDropdown);
//Amed.Event.add(document, 'DOMContentLoaded', initRingDropdown);
if(hasReqestedFlashVersion) Amed.Event.add(document, 'DOMContentLoaded', initTypes);
Amed.Event.add(document, 'DOMContentLoaded', appletRepaint);

