	// images s'ouvrent dans une nouvelles fenetres //
function open_img(file_url) {
	window.open("img.php?file=" + file_url, "image", "menubar=no,location=no,resizable=yes,scrollbars=no,status=no"); return false;
}

function changeHeaderState() {
	if($('header_state').content == "collapsed") {
		$$('#header_2', 'a#return').setStyle('background', 'url(../img/cache.jpg) bottom no-repeat');
		$$('#header_2', 'a#return').each(function(el, i) { el.effect('height').start(57,175); });
		$('left_col').addEvent('mouseover', function() { this.setStyle('background', '#cccccc url(../img/lamp_b.gif) bottom no-repeat'); });
		$('left_col').addEvent('mouseout', function() { this.setStyle('background', 'transparent url(../img/lamp_a.gif) bottom no-repeat'); });
		$$('#left_col', '#right_col').each(function(el, i) { el.effect('top').start(55,170); });
		$$('#right_col ul.options li.header a').setStyle('background-image', 'url(../img/arrow_up.png)');
		$('header_state').content = "expanded";
		Cookie.set('header', 'expanded');
	}else{
		$$('#header_2', 'a#return').setStyle('background-image', 'none');
		$$('#header_2', 'a#return').each(function(el, i) { el.effect('height').start(175,57); });
		$$('#left_col', '#right_col').each(function(el, i) { el.effect('top').start(170,55); });
		$$('#right_col ul.options li.header a').setStyle('background-image', 'url(../img/arrow_down.png)');
		$('header_state').content = "collapsed";
		Cookie.set('header', 'collapsed');
	}
}
function changeFontSize(incrementation) {}
function changeRightColState() {}
function changeLeftColState() {
	if($('left_col_state').content == "collapsed") {
		$('content').effect('margin-left').start(25,180);
		$('content').setStyle('text-align', 'left');
		$$('#content p', '#content div.p').setStyle('text-align', 'left');
		$('left_col').effect('width').start(17,170);
		$('left_col').setStyles({ 'height': 'auto', 'padding': '20px 0 90px 0', 'background': 'url(../img/lamp_a.gif) bottom no-repeat' });
		$$('#left_col .nav').setStyle('display', 'block');
		$$('#collapse_left_col a').setStyle('background-image', 'url(../img/arrow_left.png)');
		$('left_col_state').content = "expanded";
		Cookie.set('left_col', 'expanded');
	}else{
		$('content').effect('margin-left').start(180,25);
		$('content').setStyle('text-align', 'center');
		$$('#content p', '#content div.p').setStyle('text-align', 'center');
		$('left_col').effect('width').start(170,17);
		$('left_col').setStyles({ 'height': '17px', 'padding': '0', 'background': 'none' });
		$$('#left_col .nav').setStyle('display', 'none');
		$$('#collapse_left_col a').setStyle('background-image', 'url(../img/arrow_right.png)');
		$('left_col_state').content = "collapsed";
		Cookie.set('left_col', 'collapsed');

	}
}

	// BBCode //
// Surrounds the selected text with text1 and text2.
function surroundText(text1, text2, textarea) {
	if (typeof(textarea.caretPos) != "undefined" && textarea.createTextRange) {// Can a text range be created?
		var caretPos = textarea.caretPos;

		caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text1 + caretPos.text + text2 + ' ' : text1 + caretPos.text + text2;
		caretPos.select();
	}else if (typeof(textarea.selectionStart) != "undefined") { // Mozilla text range wrap.
		var begin = textarea.value.substr(0, textarea.selectionStart);
		var selection = textarea.value.substr(textarea.selectionStart, textarea.selectionEnd - textarea.selectionStart);
		var end = textarea.value.substr(textarea.selectionEnd);
		var newCursorPos = textarea.selectionStart;
		var scrollPos = textarea.scrollTop;

		textarea.value = begin + text1 + selection + text2 + end;

		if (textarea.setSelectionRange) {
			if (selection.length == 0)
				textarea.setSelectionRange(newCursorPos + text1.length, newCursorPos + text1.length);
			else
				textarea.setSelectionRange(newCursorPos, newCursorPos + text1.length + selection.length + text2.length);
			textarea.focus();
		}
		textarea.scrollTop = scrollPos;
	}else{ // Just put them on the end, then.
		textarea.value += text1 + text2;
		textarea.focus(textarea.value.length - 1);
	}
}


// Fonction qui vrifie les champs du formulaire d'envoi d'Emails
function validate_forms(page) {
	
	var warning = "";
	var first = false;
	
	var form = document.forms['post'];
	
	if (form.elements['name'].value.length == 0) {
		warning = warning + "- votre nom.\n";
		first = form.elements['name'];
	}
	if ((form.elements['email'].value.indexOf("@") < 0) || (form.elements['email'].value.lastIndexOf(".") < 3)) {
	// il faut au moins un caractre, un "@", au moins un caractre puis un point.
		warning = warning + "- une adresse Email valide.\n";
		if(!first) first = form.elements['email'];
	}
	if (form.elements['text'].value.length == 0) {
		warning = warning + "- un commentaire.\n";
		if(!first) first = form.elements['text'];
	}
	
	if (page == 'commande') {
		if (form.elements['addr'].value.length == 0) {
			warning = warning + "- votre adresse.\n";
			if(!first) first = form.elements['commande'];
		}
		if (form.elements['npa'].value.length == 0) {
			warning = warning + "- votre numéro postal.\n";
			if(!first) first = form.elements['npa'];
		}
		if (form.elements['state'].value.length == 0) {
			warning = warning + "- votre localité.\n";
			if(!first) first = form.elements['state'];
		}
	}
	
	
	if (page == 'contact') {
		if (form.elements['subj'].value.length == 0) {
			warning = warning + "- un sujet.\n";
			if(!first) first = form.elements['subj'];
		}
	}
	
	if (page == 'blog') {
		if (form.elements['captcha'].value != document.getElementById("gotcha-captcha").alt) {
			warning = warning + "- le code sur l'image.\n";
			if(!first) first = form.elements['captcha'];
		}
	}
	
	if (warning != "") {
		warning = "Veuillez entrer:\n" + warning;
		first.select();
		alert(warning);
		return false;
	}else{
		return true;
	}
}


// Definition of the Class Site
var Site = {
	start: function(){
		Site.open_ext_link();
		Site.imageOpacity();
		Site.dynamiseNav();
		if(document.forms['post']) { document.forms['post'].elements['name'].focus(); }

		$$('ul#gallery li .s2').each(function(el, i) { el.setStyle('-moz-border-radius', '12px'); });
		$$('ul#gallery a').each(function(el, i) {
			el.setStyle('-moz-border-radius', '10px');
			el.setOpacity('0.8');
			el.addEvent('mouseover', function(){
				this.setOpacity('1');
			});
			el.addEvent('mouseout', function(){
				this.setOpacity('0.8');
			});
		});
		$$('ul#gallery li a:hover').each(function(el, i) { el.setOpacity('1'); });
		$$('#left_col', '#right_col', '#right_col div#news').each(function(el, i) {
			el.setStyle('-moz-border-radius', '20px');
		//	el.makeRounded({radius: 20});
		});
	},
		// fonction pour les liens de la page internet
	imageOpacity: function() {
		var imgs = $$('img');
		imgs.each(function(el, i) {
			if(el.hasClass('internet_link_l') || el.hasClass('internet_link_r')) {
				el.setOpacity('0.6');
			}
		});
	},
	
	open_ext_link: function() {
		var links = $$('a');
		links.each(function(el, i) {
			if(el.hasClass('target_blank')) {
				el.title += " - Will open in a new window - "
				el.addEvent('click', function(e){
					e = new Event(e).stop();
					window.open(this.href);
				});
			}
		});
	},
	
	dynamiseNav: function(){
		
		//var mySlide = new Fx.Slide('references');
		var mySlide = new Fx.Slide('references', {wait: false, duration: 500});

		
		var references = $$('.nav li ul#references');
		var referencesLi = $$('ul.nav li.references');
		var referencesLink = $$('ul.nav li.references a.references');
		referencesLink.setProperty('href', 'javascript:void(0)');
		mySlide.hide();
		referencesLink.addEvent('click', function(e){
			e = new Event(e);
			mySlide.toggle();
			e.stop();
		});
		referencesLi.addEvent('mouseenter', function(e){
			e = new Event(e);
			mySlide.slideIn();
			e.stop();
		});
		referencesLi.addEvent('mouseleave', function(e){
			e = new Event(e);
			mySlide.slideOut();
			e.stop();
		});
		
		var sideblocks = $$('ul.nav li');
		
		sideblocks.each(function(el, i){
						 
			var first = el.getFirst();
			var parentUl = el.getParent();
			if (!first || first.getTag() != 'a' || parentUl.hasClass('s_nav')) return;
	
			var overfxs = new Fx.Styles(first, {wait: false, duration: 300, transition: Fx.Transitions.quadOut});
			
			if (el.hasClass('right')){
				var tocolor = '333';
				var fromcolor = 'fff';
			} else {
				var tocolor = 'c37370';
				var fromcolor = 'fff';
			}
			el.mouseouted = true;
			el.style.position = 'relative';
			el.addEvent('mouseenter', function(e){
				overfxs.start({
					'color': tocolor,
					'padding-top': 10,
					'padding-bottom': 10
				});
			});
			el.addEvent('mouseleave', function(e){
				overfxs.start({
					'color': fromcolor,
					'padding-top': 3,
					'padding-bottom': 3
				});
			});

		}, this);
	}
}

window.addEvent('domready', Site.start);
