//Mouvement du bandeau de texte suppl�ementaire
var interval = null;
var text_timer = 40;
var text_start = 996;
var text_end = 0;
var text_nbpx = 1;
var text_leftpos=0;

function opacifyAll(bloca)
{
	new Effect.Opacity(bloca,{ duration:1, from:1.0, to:0.3});
}

function getElementsByClassName(clsName){
    var retVal = new Array();
    var elements = document.getElementsByTagName("*");
    for(var i = 0;i < elements.length;i++){
    	if(elements[i].className != "")
    	{
        	if(elements[i].className == clsName)
        	{
        		retVal.push(elements[i]);
        	}
        }
    }	
    return retVal;
}

function getItemVisible(className)
{
	tabItemCalendrier = getElementsByClassName(className);
	tabVisible = [];
	for(var ii = 0; ii < tabItemCalendrier.length; ii++)
	{
		if($(tabItemCalendrier[ii]).style.display == "overflow: visible;" || $(tabItemCalendrier[ii]).style.display == "")
		{
			tabVisible.push(tabItemCalendrier[ii]);
		}
	}
	return tabVisible;
}

function calendrierApparait(my_numcalendrier)
{
	var item_Visible = getItemVisible('spectacle_calendrier');
	var itemToShow = [];
	var dureeShow = 0.5;
	var dureeHide = 0.5;
	if(my_numcalendrier == "*")
		itemToShow = getElementsByClassName('spectacle_calendrier');
	else
		itemToShow.push(my_numcalendrier);
	if(item_Visible.length > 1)
		dureeHide = 0.1;
	if(itemToShow.length > 1)
		dureeShow = 0.1;
	for(var i = 0; i < item_Visible.length; i++)
		new Effect.SlideUp($(item_Visible[i]), {queue:'front',duration:dureeHide});
	for(var i = 0; i < itemToShow.length; i++)
	{
		var itemToShow_name = itemToShow[i].id.replace('lienspectacle','calendrierspectacle');
		if(itemToShow_name != null && typeof(itemToShow_name) != 'undefined')
		{
			new Effect.SlideDown($(itemToShow_name), {queue:'end',duration:dureeShow});
		}
	}
}

function moveLeft()
{
	if(text_leftpos > text_end)
	{
		text_leftpos -= text_nbpx;
		$('bandeau_spectacle').style.left = text_leftpos +"px";
	}
	else
	{
		clearInterval(interval);
		setTimeout("textdefil()",500);
	}
}

function textdefil()
{
	var bandeau  = $('bandeau_spectacle');
	var odim = bandeau.getDimensions();
	text_end = (odim.width * -1)+50;
	text_leftpos = text_start;
	bandeau.style.left = text_start +"px";
	interval = setInterval("moveLeft()",text_timer);
	
}

var hsrc="";
var objA="";
function header_rotate()
{
	objA.clear();
	var hanim = objA.image(hsrc, 0, 0, 70, 70);
	hanim.animate({rotation: 360}, 1600);
}

function survolSpectacleAccueil(bloca)
{
	var seek = 'imageauteurspectacle:';
	var repl = 'num:';
	
	bloca.onmouseover = function()
	{
		numapparait = bloca.id.replace(seek,'');
		//new Effect.Appear(bloca,{duration:0.2});
		var numdisp = repl + numapparait;

		if($(numdisp))
			new Effect.Morph($(numdisp),{style: 'font-size:38px;',duration: 0.4,transition: Effect.Transitions.linear});
		else
			console.log(numdisp+" INEXISTANT");
		$('receiver').innerHTML = $('textespectacle:'+numapparait).innerHTML;
	}
	
	bloca.onmouseout = function()
	{
		numapparait = bloca.id.replace(seek,'');
		var numdisp = repl + numapparait;

		if($(numdisp))
			new Effect.Morph($(numdisp),{style: 'font-size:48px;',duration: 0.2,transition: Effect.Transitions.linear});
		else
			console.log(numdisp+" INEXISTANT");

		$('receiver').innerHTML = $('textespectacle:'+$('textedefaut').value).innerHTML;
	}
}

var myrules = {
	'.num':function(numspectaclecalendrier)
	{
		numspectaclecalendrier.onmouseover = function()
		{
			var numspectacle = numspectaclecalendrier.id.replace("num:","");
			
			//alert(numspectaclecalendrier.id);
			
			if($("titrespectacle:"+numspectacle))
			{
				$("titrespectacle:"+numspectacle).style.display = "block";
			}
		}

		numspectaclecalendrier.onmouseout = function()
		{
			var numspectacle = numspectaclecalendrier.id.replace("num:","");

			//alert(numspectaclecalendrier.id);
			
			if($("titrespectacle:"+numspectacle))
			{
				$("titrespectacle:"+numspectacle).style.display = "none";
			}
		}
	},
		
	'#spectacle_displayer':function(spdsp)
	{
		var num_spectacle_to_display = $('direct_display').value;
		if(num_spectacle_to_display != "" && typeof(num_spectacle_to_display) != 'undefined')
		{
			calendrierApparait($("lienspectacle:"+num_spectacle_to_display));
		}
	},
	
	'#lire_cgi':function(lcgi)
	{
		lcgi.onclick = function()
		{
			new Effect.Grow($('contenu_cgi'));
		}
	},
	
	'#contenu_cgi':function(ccgi)
	{
		ccgi.onclick = function()
		{
			new Effect.Shrink($('contenu_cgi'));
		}
	},
	
	'.imageauteurspectacle': function(bloca)
	{
		survolSpectacleAccueil(bloca);
	},
	
	'.itemcal_rouge': function(numcalendrier_r)
	{
		numcalendrier_r.onclick = function()
		{
			calendrierApparait(numcalendrier_r);	
		}
	},
	
	'.itemcal_rouge_pastel': function(numcalendrier_r)
	{
		numcalendrier_r.onclick = function()
		{
			calendrierApparait(numcalendrier_r);	
		}
	},

	'.itemcal_bleu': function(numcalendrier_r)
	{
		numcalendrier_r.onclick = function()
		{
			calendrierApparait(numcalendrier_r);	
		}
	},
	
	'.itemcal_bleu_pastel': function(numcalendrier_r)
	{
		numcalendrier_r.onclick = function()
		{
			calendrierApparait(numcalendrier_r);	
		}

	},
	
	'.itemcal_noir' : function(numcalendrier_n)
	{
		numcalendrier_n.onclick = function()
		{
			calendrierApparait(numcalendrier_n);	
		}
	},
	
	'.itemcal_noir_pastel' : function(numcalendrier_n)
	{
		numcalendrier_n.onclick = function()
		{
			calendrierApparait(numcalendrier_n);	
		}
	},
	
	'.itemcal_tout' : function(tout)
	{
		tout.onclick = function()
		{
			calendrierApparait("*");	
		}
	},
	
	'#validercontact': function(vc) {
		var bloc = $('message_information');
		var en_cours = $('contact_encours');
		var attente = $('message_attente');
		
		vc.onclick = function(){
			if(en_cours.value == '1')
				return;
			en_cours.value = '1';
			new Effect.Appear(attente, {queue:'front', beforeStart: function(){attente.innerHTML = 'Veuillez patientez pendant la validation de votre message ...';}});
			
			var chPOST = "&checkedField=formemail"+"|"+
									"formsujet"+"|"+
									"formmessage"+"|"+
									"codeimage"+"|"+
									"formcaptcha"+"|"+
						"&fieldValue="+$('formemail').value+"|"+
									$('formsujet').value+"|"+
									$('formmessage').value+"|"+
									$('codeimage').value+"|"+
									$('formcaptcha').value;
												
			new Ajax.Request(urltask, {
				asynchronous: 'true', 
				postBody: 'tache=enregistre_contact'+chPOST,
				onSuccess: function(xhr)
				{
					var result = treatTaskMsg(xhr.responseText);
					if (result == true)
					{
						new Effect.BlindUp(bloc, {queue:'end', afterFinish: function(){bloc.innerHTML = xhr.responseText.substr(13)}});
						new Effect.BlindDown(bloc, {queue:'end'});
					}
					new Effect.SwitchOff(attente, {queue:'end', afterFinish: function(){en_cours.value = '0'; Behaviour.apply();}});
				}
			});
 		}
	},
	
	'img.actualise_captcha' : function(ac){
 		var bloc = $('contenu_captcha');
 		var en_cours = $('image_encours');
 		var attente = $('attente_image');
 		var src_ori = attente.src;
 		var image_attente = $('chemin_image').value;
 		
 		ac.onclick = function(){
 			if(en_cours.value == '1')
				return;
 			
 			en_cours.value = '1';
 			
 			new Effect.BlindUp(bloc, {queue:'front', beforeStart: function(){attente.src = image_attente}});
 						
 			var url_aff = siteencours+'module/ajax/index.php?module=affichagemoteur';
				new Ajax.Request(url_aff, {
					asynchronous: 'true',
					postBody: 'tpl=section/pratique/captcha',
					onSuccess: function (ahr)
					{
						new Effect.BlindDown(bloc, {queue:'end', beforeStart: function(){bloc.innerHTML = ahr.responseText;}, afterFinish: function(){attente.src = src_ori; en_cours.value = '0'; Behaviour.apply();}});
					}
				});
 		}
 	},
 	
 	'#bandeau_spectacle' : function(bandeau) {
 		textdefil();
 	},

 	'.logo_rotate' : function(bandeau) {
		var div = $('div_rotate');
		div.style.display="";
		var img = $('img_rotate');
		hsrc = img.src;
		img.style.display = "none";

		if(objA=="")
		{
			objA = Raphael("div_rotate", 70, 70);
			header_rotate();
			hanim_interval = setInterval("header_rotate()",4000);
		}

 	},
};

// Enregistrement des regles definies ci dessus dans Behaviour
Behaviour.register(myrules);
