function appearShow(id, opacity, duration)
{
	if (!opacity)
		opacity = 1;
	if (!duration)
		duration = 500;

	appear_fx = new Fx.Style(id, 'opacity', {duration : duration, onStart : function() {$(id).style.display='block';} });
	appear_fx.set(0);
	appear_fx.start(0,opacity);
}
function appearHide(id, opacity, duration)
{
	if (!opacity)
		opacity = 1;
	if (!duration)
		duration = 500;

	appear_fx = new Fx.Style(id, 'opacity', {duration : duration, onComplete : function() {$(id).style.display='none';$(id).setStyle('opacity',1);} });
	appear_fx.start(opacity,0);
}
function appearToggle(id, opacity)
{
	if ($(id).style.display == 'none')
		appearShow(id, opacity);
	else
		appearHide(id, opacity);
}
function offsetPos(element)
{
	var x=0;
	var y=0;

	var temp_element = element;
	x = element.offsetLeft;
	y = element.offsetTop;
	while(temp_element.offsetParent)
	{
		x += temp_element.offsetParent.offsetLeft;
		y += temp_element.offsetParent.offsetTop;
		temp_element = temp_element.offsetParent;
	}

	return new Array(x,y);
}


function voterSondage(pollid, num_option, id_membre, div)
{
	new Request(
			{
				update : $(div),
				encoding : 'ISO-8859-15',
				method : 'post', 
				url : '/?action=voter_sondage',
				data : 'pollid='+pollid+'&option='+num_option+'&id_membre='+id_membre,
				onFailure : function() {alert('Problème de connexion au serveur..');}
			}).send();
}

function loginForums(login_url)
{
	var cookieuser = 0;
	var login = $('vb_login_username').value;
	var vb_login_password = $('vb_login_password');
	var vb_login_md5password = $('vb_login_md5password');
	var vb_login_md5password_utf = $('vb_login_md5password_utf');
	md5hash(vb_login_password,vb_login_md5password,vb_login_md5password_utf);
	
	if ($('login_souvenir').checked)
		cookieuser = $('login_souvenir').value;
	
	if ($('login_inscription'))
		$('login_inscription').style.display = 'none';
	if ($('login-loading'))
		$('login-loading').style.display = 'block';
	ajax_login_forum = new Request(
					{
						 method : 'post', encoding : 'ISO-8859-15',
						 url : login_url,
						 data : 'do=login&vb_login_username='+escape(login)
							 			+'&vb_login_password='+escape(vb_login_password.value)
							 			+'&vb_login_md5password='+escape(vb_login_md5password.value)
							 			+'&vb_login_md5password_utf='+escape(vb_login_md5password_utf.value)
							 			+'&cookieuser='+escape(cookieuser)
							 			+'&ajaxlogin=1',
						 onSuccess : loginForumsResult,
						 onFailure : function()
									{
										if ($('login_inscription'))
											$('login_inscription').style.display = 'block';
									},
						 onComplete : function() 
									{
										if ($('login-loading'))
											$('login-loading').style.display = 'none';
											
										if (typeof window.chargerPageCommentaires == 'function') {
											chargerPageCommentaires(1);
										}
									}
					});
	ajax_login_forum.send();
}
function logoutForums(login_url)
{
	var userid = $('id_membre').value;
	var logouthash = $('logouthash').value;
	if( $('securitytoken') )
		var securitytoken = $('securitytoken').value;
	else
		var securitytoken = $('logouthash').value;

	if ($('login-connecte'))
		$('login-connecte').style.display = 'none';
	if ($('login-loading'))
		$('login-loading').style.display = 'block';
	ajax_login_forum = new Request(
					{
						 method : 'post', encoding : 'ISO-8859-15',
						 url : login_url,
						 data : 'do=logout&logouthash='+logouthash
										+'&securitytoken='+securitytoken
						 				+'&u='+userid
						 				+'&ajaxlogin=1',
						 onSuccess : logoutForumsResult,
						 onComplete : function()
									{
										if ($('login-loading'))
											$('login-loading').style.display = 'none';
											
										if (typeof window.chargerPageCommentaires == 'function') {
											chargerPageCommentaires(1);
										}											
									}
					});
	ajax_login_forum.send();
}

// rechargement de la pub..
function rechargerPubs()
{	
	//if ($('pub-leaderboard-contenu'))
	//	new Ajax('/?page=ajax_leaderboard&skin=skin-portail2010', { update : $('pub-leaderboard-contenu'), evalScripts : true }).request();
	//if ($('pub-rectangle-contenu'))
	//	new Ajax('/?page=ajax_rectangle&skin=skin-portail2010', { update : $('pub-rectangle-contenu'), evalScripts : true }).request();
}

function cacherPubs(display)
{	
	//if ($('pub-leaderboard-contenu'))
	//	$('pub-leaderboard-contenu').style.display = display;
	//if ($('pub-rectangle-contenu'))
	//	$('pub-rectangle-contenu').style.display = display;
}

// limiter le nombre de caractere d'un champ de saisie
function limiterCaracteres(champ, limite)
{
	if (champ.value.length > limite)
	{
		champ.addClass('erreur_champ');
//		champ.className = champ.className + ' erreur_champ';
		champ.value = champ.value.substring(0,limite);
	}
	else
		champ.removeClass('erreur_champ');
//		champ.className = champ.className.replace(' erreur_champ', '');
}

// limiter la longueur en px d'un champ texte
function limiterLongueur(champ, limite, classe)
{
	test_longueur = $('test_longueur');
	if (classe) test_longueur.className = classe;
	test_longueur.innerHTML = champ.value;
	if (test_longueur.offsetWidth <= limite)
		champ.className = champ.className.replace(' erreur_champ', '');

	class_erreur = champ.className + ' erreur_champ';
	while (test_longueur.offsetWidth > limite)
	{
		champ.className = class_erreur;
		champ.value = champ.value.substring(0,champ.value.length-1);
		test_longueur.innerHTML = champ.value;
	}
}

function modifierTitreNews(id_news)
{
	var champ_titre = '<input type="text" id="champ_titre_news_'+id_news+'" class="champ_texte" style="width : '+$('titre_news_'+id_news).offsetWidth+'px" id="champ_titre_news_'+id_news+'" value="'+$('titre_news_'+id_news).innerHTML+'"/>';
	champ_titre += '&nbsp;<input type="button" id="bouton_titre_news_'+id_news+'" value="Enregistrer" onclick="enregistrerTitreNews('+id_news+')"><span class="erreur" id="erreur_titre_news_'+id_news+'"></span>';
	$('titre_news_'+id_news).innerHTML = champ_titre;
	$('champ_titre_news_'+id_news).focus();
}
function enregistrerTitreNews(id_news)
{
	if (id_news && $('champ_titre_news_'+id_news).value)
	{
		$('details-news-loading_'+id_news).style.display = 'block';
		$('bouton_titre_news_'+id_news).style.display = 'none';
		new Request(
						{
							method : 'post',
							encoding : 'ISO-8859-15',
							url : '/ecrire/?exec=news_save', 
							data : 'id_news='+id_news+'&update=titre&titre='+escape($('champ_titre_news_'+id_news).value),
							onSuccess : function(reponse)
										{
											if (reponse == 'ok')
												$('titre_news_'+id_news).innerHTML = $('champ_titre_news_'+id_news).value;
											else
											{
												$('erreur_titre_news_'+id_news).innerHTML = 'Erreur';
												$('bouton_titre_news_'+id_news).style.display = 'block';
											}
										},
							onFailure : function()
										{
											$('erreur_titre_news_'+id_news).innerHTML = 'Erreur';
											$('bouton_titre_news_'+id_news).style.display = 'block';
										},
							onComplete : function() { $('details-news-loading_'+id_news).style.display = 'none';}
						}).send();
	}
}

function modifierPitchNews(id_news)
{
	var champ_pitch = '<input type="text" id="champ_pitch_news_'+id_news+'" class="champ_texte" style="width : '+$('pitch_news_'+id_news).offsetWidth+'px" id="champ_pitch_news_'+id_news+'" value="'+$('pitch_news_'+id_news).innerHTML+'"/>';
	champ_pitch += '<input type="button" id="bouton_pitch_news_'+id_news+'" value="Enregistrer" onclick="enregistrerPitchNews('+id_news+')"><span class="erreur" id="erreur_pitch_news_'+id_news+'"></span>';
	$('pitch_news_'+id_news).innerHTML = champ_pitch;
	$('champ_pitch_news_'+id_news).focus();
}
function enregistrerPitchNews(id_news)
{
	if (id_news && $('champ_pitch_news_'+id_news).value)
	{
		$('details-news-loading_'+id_news).style.display = 'block';
		$('bouton_pitch_news_'+id_news).style.display = 'none';
		new Request(
						{
							method : 'post',
							encoding : 'ISO-8859-15',
							url : '/ecrire/?exec=news_save', 
							data : 'id_news='+id_news+'&update=pitch&pitch='+escape($('champ_pitch_news_'+id_news).value),
							onSuccess : function(reponse)
										{
											if (reponse == 'ok')
												$('pitch_news_'+id_news).innerHTML = $('champ_pitch_news_'+id_news).value;
											else
											{
												$('erreur_pitch_news_'+id_news).innerHTML = 'Erreur';
												$('bouton_pitch_news_'+id_news).style.display = 'block';
											}
										},
							onFailure : function()
										{
											$('erreur_pitch_news_'+id_news).innerHTML = 'Erreur';
											$('bouton_pitch_news_'+id_news).style.display = 'block';
										},
							onComplete : function(transport) { $('details-news-loading_'+id_news).style.display = 'none';}
						}).send();
	}
}

function proposerNews()
{
	if ($('proposer-news-loading'))
		$('proposer-news-loading').style.display = 'block';
	$('formulaire_proposer_news').set('send',
									{
										encoding : 'ISO-8859-15',
										onSuccess : function(transport)
										{
											finirProposerNews(); // a définir dans la skin
										},
										onComplete : function() {if ($('proposer-news-loading')) $('proposer-news-loading').style.display = 'none';}
									});
	$('formulaire_proposer_news').send();
}

function proposerFeedback()
{
	var id_membre = $('champ_id_membre_feedback') ? $('champ_id_membre_feedback').value : '';
	var email = $('champ_email_feedback') ? $('champ_email_feedback').value : '';
	var url = window.location.href; //$('champ_url_feedback').value;
	var titre = $('champ_titre_feedback').value;
	var texte = $('champ_texte_feedback').value;
	var id_site = $('champ_id_site_feedback').value;

	$('proposer-feedback-loading').style.display = 'block';
	new Request(
					{
						method : 'post',
						encoding : 'ISO-8859-15',
						url : '/?action=feedback',
						data : 'id_membre='+id_membre+'&email='+email+'&url='+url+'&titre='+escape(titre)+'&description='+escape(texte)+'&id_site='+id_site,
						onSuccess : function(reponse)
									{
										$('proposer-feedback-loading').style.display = 'none';
										finirProposerFeedback(); // a définir dans la skin
									}
					}
	).send();
}

function proposerError()
{
	var email = $('champ_email_error') ? $('champ_email_error').value : '';
	var desc = $('champ_desc_error').value;
	var code = $('champ_code_error').value;
	var referer = $('champ_referer_error').value;

	$('proposer-error-loading').style.display = 'block';
	new Request(
					{
						method : 'post',
						encoding : 'ISO-8859-15',
						url : '/?action=error',
						data : 'email='+email+'&description='+escape(desc)+'&error='+code+'&referer='+encodeURIComponent(referer),
						onSuccess : function(reponse)
									{
										$('proposer-error-loading').style.display = 'none';
										finirProposerError(); // a définir dans la skin
									}
					}
	).send();
}

pop_up = '';

function popUp(url)
{
//	if (pop_up != url)
//	{ // on charge la page
		$('pop-up').innerHTML = '';

		showPopUp();

		$('pop-up-loading').style.display = 'block';

		new Request.HTML(
			{
				url : url,
				update : $('pop-up'),
				evalScripts : true,
				onSuccess : function()
							{
								pop_up = url;
							},
				onFailure : function()
							{
								hidePopUp();
							},
				onComplete : function()
							{
								$('pop-up-loading').style.display = 'none';
							}
			}	
		).send();
//	}
//	else // pas besoin de recharger la page
//		showPopUp();
}

function showPopUp()
{
	// on affiche le masque
	$('masque').style.display = 'block';

	// et enfin, le pop-up
	$('pop-up').style.display = 'block';

	window.location.replace('#pop-up');
}
function hidePopUp()
{
	$('pop-up-loading').style.display = 'none';
	
	$('pop-up').style.display = 'none';

	$('masque').style.display = 'none';
}

function afficherPub(on)
{
	/*if (on=='on')
		display = 'visible';
	else
		display = 'hidden';

	if ($('leaderboard'))
		$('leaderboard').setStyle('visibility', display);
	if ($('pub-rectangle'))
		$('pub-rectangle').setStyle('visibility', display);
	if ($('skycrapper'))
		$('skycrapper').setStyle('visibility', display);*/

}

function popUpScreen(e)
{
	if (navigator.appName.indexOf('Microsoft') != -1) var isMSIE = true;
	else var isMSIE = false;
	
	if (isMSIE) var href = e.event.srcElement.href; // Internet Explorer
	else var href = e.target.getParent().href; // FireFox, Chrome, Safari, Opera, etc

	if (!href || !(href.contains('.jpg') || href.contains('.jpeg') 
	   || href.contains('.png') || href.contains('.gif')))
		return;
	
	e = new Event(e);
	e.stop();
	
	if (isMSIE) { // Internet Explorer
		var objtop = 0; var objleft = 0;
		var obj = e.event.srcElement;
		
		while (obj != document.body) { 
			objtop += obj.offsetTop; 
			objleft += obj.offsetLeft; 
			obj = obj.offsetParent; 
		} 
		
		var posx = objleft;
		var posy = objtop;			
	}
	else { // FireFox, Chrome, Safari, Opera, etc
		var posx = e.target.getPosition().x;
		var posy = e.target.getPosition().y;	
	}

	var div = new Element('div');
	div.addClass('loading_popup_screen');
	
	if (isMSIE) { // Internet Explorer
		div.style.setAttribute('top', posy);
		div.style.setAttribute('left', posx);
		div.style.setAttribute('width', e.target.offsetWidth);
		div.style.setAttribute('height', e.target.offsetHeight);	
	}
	else { // FireFox, Chrome, Safari, Opera, etc
		div.setStyle('top', posy);
		div.setStyle('left', posx);
		div.setStyle('width', e.target.offsetWidth);
		div.setStyle('height', e.target.offsetHeight);
	}
	
	$$('body').adopt(div);

	var container_div = new Element('div');
	container_div.addClass('popup_screen');
		
	if (isMSIE) { // Internet Explorer
		container_div.style.setAttribute('top', posy);
		container_div.style.setAttribute('left', posx);
		container_div.style.setAttribute('opacity', 0);
	}
	else { // FireFox, Chrome, Safari, Opera, etc
		container_div.setStyle('top', posy);
		container_div.setStyle('left', posx);
		container_div.setStyle('opacity', 0);
	}	
	
	var close_button = new Element('div');
	close_button.title='Fermer l\'image';
	new Tips(close_button, {className : 'tooltip'});
	close_button.addClass('popup_screen_fermer');
	close_button.addEvent('click', closeScreenPopUp);
	container_div.adopt(close_button);

	var fullscreen_button = new Element('div');
	fullscreen_button.title='Voir l\'image en taille réelle';
	new Tips(fullscreen_button, {className : 'tooltip'});
	fullscreen_button.addClass('popup_screen_fullscreen');
	fullscreen_button.addEvent('click', function(e) { e=new Event(e); e.stop(); window.open(url_image); closeScreenPopUp(e)} );
	container_div.adopt(fullscreen_button);

	var resize_button = new Element('div');
	resize_button.title='Redimensionner l\'image';
	new Tips(resize_button, {className : 'tooltip'});
	resize_button.addClass('popup_screen_resize');
	container_div.adopt(resize_button);

	container_div.makeResizable({handle : resize_button});
		
	$$('body').adopt(container_div);
	
	var data = {position : 'center', moyenature : href};

	if (isMSIE) {
		if (e.event.srcElement.rel) data = JSON.decode(e.event.srcElement.rel); // Internet Explorer
	}
	else {
		if (e.target.getParent().rel) data = JSON.decode(e.target.getParent().rel); // FireFox, Chrome, Safari, Opera, etc
	}
	
	if (!data.position) data.position = 'center';

	var image = new Element('img');

	var url_image = href; 
	image.addClass('screen_preview');
	
	if (e.target.title) {
		image.title = e.target.title + ' :: ';
		new Tips(image, {maxTitleChars : 200, className : 'tooltip'});
	}

	image.addEvent('load', function() {
					div.dispose();

					var max_width = 700;

					var to_width = this.width <= max_width ? this.width : max_width;
					var to_height = this.width <= max_width ? this.height : this.height*max_width/this.width;

					var from_x = posx;
					var from_y = posy;
					var center_x = from_x - to_width/2 +  e.target.offsetWidth/2;
					var center_y = from_y - to_height/2 +  e.target.offsetHeight/2;

					switch(data.position) {
						case 'nw' :
							to_x = from_x;
							to_y = from_y;
						break;
						case 'n' :
							to_x = center_x;
							to_y = from_y;
						break;
						case 'ne' :
							to_x = from_x - to_width + e.target.offsetWidth;
							to_y = from_y;
						break;
						case 'e' :
							to_x = from_x - to_width + e.target.offsetWidth;
							to_y = center_y;
						break;
						case 'se' :
							to_x = from_x - to_width + e.target.offsetWidth;
							to_y = from_y - to_height + e.target.offsetHeight;
						break;
						case 's' :
							to_x = center_x;
							to_y = from_y - to_height + e.target.offsetHeight;
						break;
						case 'sw' :
							to_x = from_x;
							to_y = from_y - to_height + e.target.offsetHeight;
						break;
						case 'w' :
							to_x = from_x;
							to_y = center_y;
						break;
						case 'center' :
						default :
							to_x = center_x;
							to_y = center_y;
						break;
					}
					
					container_div.adopt(this);

					var pos = this.getCoordinates()
					this.setStyle('width', e.target.offsetWidth);
					this.setStyle('height', e.target.offsetHeight);

					new Fx.Morph(container_div, {duration : 400, transition : Fx.Transitions.Quad.easeOut}).start(
						{
							'left' : to_x, 
							'top' : to_y,
							'opacity' : 1});
					new Fx.Morph(this, {duration : 400, transition : Fx.Transitions.Quad.easeOut}).start(
						{
							'width' : to_width, 
							'height' : to_height
							});
				});
				
	image.src = data.moyenature;
	image.makeResizable({handle : resize_button});
	new Drag(container_div, {handle : image});
}

function closeScreenPopUp(e)
{
	e = new Event(e);
	e.stop();
		
	new Fx.Style(e.target.getParent(), 'opacity', {onComplete : function() {e.target.getParent().dispose();e.target.dispose()} }).start(0,0);
	$$('.tooltip-tip').dispose();
}

function thisIsNew(element)
{
	var sign = new Element('div');
	sign.setStyle('position', 'absolute');
	var size = element.getPosition();
	sign.setStyle('left', size.x-25); 
	sign.setStyle('top', size.y-42);
	sign.setStyle('opacity', '0');
	sign.addClass('new_sign');
	sign.addEvent('click', function(e) {this.setStyle('display', 'none');});
	$$('body').adopt(sign);
			
	var blink = new Fx.Style(sign, 'opacity');
	blink.set('duration', 'short');
	blink.start(0,1).chain(
	function(){ this.start(1,0); },
	function(){ this.start(0,1); },
	function()
	{
		var fadeout = function() { sign.fade('out'); };
		fadeout.delay(5*1000);
	}
	);			
}


// GROSSSSSSSE Bidouille pour activer les activeX sous IE....
// Get all objects from the page as an array
var aTechsourceObjects = document.getElementsByTagName('object');
var iObjectsCounter;

// This function waits until the document is ready and then activates the objects
function TechsourceWaitReadyStateIsComplete() {
  // Is the document loaded, parsed and ready?
  if( document.readyState != 'complete' ) {
    // No, wait a bit more
    self.setTimeout( "TechsourceWaitReadyStateIsComplete()", 100 );
  } else if( iTechsource != 1 ) {
    iTechsource = 1;
    // Loop on objects
    for( iObjectsCounter = 0; iObjectsCounter < aTechsourceObjects.length; iObjectsCounter++ ) {
      // Check if it's a techsource generated object
//      if( aTechsourceObjects[iObjectsCounter].id.substring(0,11) == 'techsource_' ) {
        // Reassign the outerHTML code to itself
        aTechsourceObjects[iObjectsCounter].outerHTML=aTechsourceObjects[iObjectsCounter].outerHTML;
//      }
    }
  }
}
//if( navigator.userAgent && navigator.userAgent.indexOf("MSIE")>=0 ) {
//  TechsourceWaitReadyStateIsComplete();
//}

var iTechsource = 0;

