var current = 0;

var Site = {
	
	start: function(){	
		//Site.preloader();
		if ($('kwick')) Site.parseKwicks();
		Site.initLinks();
		Site.lastWorkInit();
	},
	
	parseKwicks: function(){
		var kwicks = $$('#kwick .kwick');
		var fx = new Fx.Elements(kwicks, {wait: false, duration: 300, transition: Fx.Transitions.quadOut});
		kwicks.each(function(kwick, i){
			kwick.addEvent('mouseenter', function(e){
				var obj = {};
				obj[i] = {
					'width': [kwick.getStyle('width').toInt(), 124]
				};
				kwicks.each(function(other, j){
					if (other != kwick){
						var w = other.getStyle('width').toInt();
						if (w != 62) obj[j] = {'width': [w, 62]};
					}
				});
				fx.start(obj);
			});
		});
		
		$('kwick').addEvent('mouseleave', function(e){
			var obj = {};
			kwicks.each(function(other, j){
				obj[j] = {'width': [other.getStyle('width').toInt(), 80]};
				if (j==3) obj[j] = {'width': [other.getStyle('width').toInt(), 70]};
			});			
			fx.start(obj);
		});
	},
	
	initLink: function(id){
		var links = $$('a',id);		
		links.each(function(link, i){				
			//if(link.href.indexOf('?target=') != -1 && link.href.indexOf('web2map') == -1 && link.href.indexOf('#') == -1) {	
			if(link.rel == 'request' && link.href) {
				var href = link.href.split('studiowebdesign.fr/')[1].split('.')[0];				
				link.removeAttribute('href');
				link.onclick = function() { Site.request(href); } ; //function() { Site.request(url[0]); } ;				
			}
			else if(link.rel == 'lightbox' && link.href) {
				//link.onclick = return Lightbox.open([['url1', 'caption1'], ['url2', 'caption2'], ['url3', 'caption3']], 0);
				var href  = link.href;
				var title = link.title;
				link.removeAttribute('href');
				link.onclick = function() { return Lightbox.open([[href, title]], 0); } ;
			}
		});		
	},
	
	initLinks: function(){
		if ($('web2art')) 			Site.initLink('web2art');
		if ($('head_menu')) 		Site.initLink('head_menu');
		if ($('content_menu')) 		Site.initLink('content_menu');
		if ($('text_sitemap')) 		Site.initLink('text_sitemap');
		if ($('text_page')) 		Site.initLink('text_page');
		if ($('content_sidebar')) 	Site.initLink('content_sidebar');
		if ($('footer_sitemap')) 	Site.initLink('footer_sitemap');
		if ($('footer_copy_right')) Site.initLink('footer_copy_right');
	},
	
	request: function (page)
	{		
		if(page == 'index') page = 'home';
		$('preloader').style.position = 'fixed';
		$('preloader').style.display  = 'block';
		$('preloader').style.opacity  = .7;
		$('preloader').style.MozOpacity  = .7;
		$('preloader').style.KhtmlOpacity  = .7;
		$('preloader').style.filter  = "alpha(opacity=70)";
		$('preloader').xOpacity = .7;
		//$('text_page').xOpacity = 0;
		var xhr=null;		
		if (window.XMLHttpRequest) xhr = new XMLHttpRequest();
		else if (window.ActiveXObject) xhr = new ActiveXObject("Microsoft.XMLHTTP");
			
		xhr.onreadystatechange = function() 
		{ 
			if (xhr.readyState==4) 
			{				
				$('text_page').innerHTML = xhr.responseText;
				Site.managePage(page);
				Site.initLink('text_page');
				Site.xFade('preloader','out',1);
				//Site.xFade('text_page','in',1000);
			}
		};
	
		xhr.open("GET", page + ".php", true);
		xhr.send(null);
	},
	
	addAccordion: function () {
		var accordion = new Accordion('h3.atStart', 'div.atStart', {
			opacity: true,
			hideAll: true,
			onActive: function(titlesection, element){
				titlesection.setStyle('background-image', 'url(style/img/barre_activ.gif)');
				titlesection.setStyle('height', '40px');
			},
		
			onBackground: function(titlesection, element){
				titlesection.setStyle('background-image', 'url(style/img/barre.gif)');
				titlesection.setStyle('margin-bottom', '0px');
				titlesection.setStyle('height', '22px');
			}
		}, $('accordion')); 
	},
	
	xFade: function(id,fx,speed){
		if(fx=='in'){
			nOpacity = $(id).xOpacity;	
			nOpacity += .1;	
			$(id).xOpacity = nOpacity;	
			Site.setOpacity($(id));	
			if(nOpacity>=.99){
				return;
			}
			else {
				setTimeout(function() { Site.xFade(id,'in',speed); },speed*.1);
			}
		}
		else if (fx=='out'){
			nOpacity = $(id).xOpacity;	
			nOpacity -= .1;	
			$(id).xOpacity = nOpacity;	
			Site.setOpacity($(id));	
			if(nOpacity<=.0){
				$(id).style.display  = 'none';
				return;
			}
			else {
				setTimeout(function() { Site.xFade(id,'out',speed); },speed*.1);
			}
		}
	},

	setOpacity: function(elem){
		if(elem.xOpacity>.99){
			elem.xOpacity = .99;
			return;
		}	
		elem.style.filter     = 'alpha(opacity=' + (elem.xOpacity*100) + ')';	
		elem.style.MozOpacity = elem.xOpacity;
		elem.style.opacity    = elem.xOpacity;	
	},
	
	sendMail: function() {
		if($('email').value!='' && $('email').value!='votre email')
		{
			$("notify").innerHTML  = "Envoie du mail en cours...";
			$("notify").className  = "display";	
			
			var xhr=null;    
			if (window.XMLHttpRequest) { 
				xhr = new XMLHttpRequest();
			}
			else if (window.ActiveXObject) 
			{
				xhr = new ActiveXObject("Microsoft.XMLHTTP");
			}
			
			var queryString = "send=1" + "&nom=" + $('nom').value + "&email=" + $('email').value + "&sujet=" + $('sujet').value + "&message=" + $('message').value;

			xhr.open("GET", "mail.php?" + queryString, true);
			xhr.send(null);
			
			setTimeout( 'document.getElementById("notify").innerHTML  = "Le mail &agrave; &eacute;t&eacute; envoyé avec succ&egrave;s.";', 500 );
			setTimeout( 'document.getElementById("notify").className  = "hide";', 2500 );
		}
		else
		{
			alert('Veuillez indiquer votre adresse e-mail');
		}
		return (false);
	},
	
	lastWorkInit: function (){	
		css = document.createElement('link');
		css.setAttribute('href','style/style2.css');
		css.setAttribute('rel','stylesheet');
		css.setAttribute('type','text/css');
		document.getElementsByTagName('head')[0].appendChild(css);
		
		var	lastworks = document.getElementById('last_works').getElementsByTagName('div');
		for(i=1;i<lastworks.length;i++) lastworks[i].xOpacity = 0;
		lastworks[0].style.display = 'block';
		lastworks[0].xOpacity = .99;
	
		setTimeout(function() { Site.lastWorkFade(); },6000);	
	},
	
	lastWorkFade: function (){
		var	lastworks = document.getElementById('last_works').getElementsByTagName('div');
		
		cOpacity = lastworks[current].xOpacity;
		nIndex = lastworks[current+1]?current+1:0;
		nOpacity = lastworks[nIndex].xOpacity;
	
		cOpacity-=.05;
		nOpacity+=.05;
	
		lastworks[nIndex].style.display = 'block';
		lastworks[current].xOpacity = cOpacity;
		lastworks[nIndex].xOpacity = nOpacity;
	
		Site.setOpacity(lastworks[current]);
		Site.setOpacity(lastworks[nIndex]);
	
		if(cOpacity<=0)
		{
			lastworks[current].style.display = 'none';
			current = nIndex;
			setTimeout(function() { Site.lastWorkFade(); },6000);	
		}
		else
		{
			setTimeout(function() { Site.lastWorkFade(); },50);	
		}	
	},
	
	preloader: function(){
		$('preloader').style.position = 'fixed';
		$('preloader').style.display  = 'block';
		$('preloader').style.opacity  = .9;
		$('preloader').style.MozOpacity  = .9;
		$('preloader').style.KhtmlOpacity  = .9;
		$('preloader').style.filter  = "alpha(opacity=90)";
		$('preloader').xOpacity = .9;
		
		var loader = new ImagePreloader({
			/*onProgress : function(idx,src)
			{
				$(document.body).adopt(
				  new Element('img').setProperties({
					'src' : src,
					'id'  : 'pic' + idx
				  })
				);    			
		  	},*/
		  	onComplete : function()
		  	{
				Site.xFade('preloader','out',1);				
			}.bind(this)
		});
		
		//loader.preload('http://studiowebdesign.fr/style/img/',  ['logo_swd_reflect.jpg','banner_home.jpg']);
		new Asset.images(['http://studiowebdesign.fr/style/img/logo_swd_reflect.jpg',
						  'http://studiowebdesign.fr/style/img/banner_home.jpg',
						  'http://studiowebdesign.fr/style/img/content_menu_background.jpg',
						  'http://studiowebdesign.fr/style/img/contact_background.jpg',
						  'http://studiowebdesign.fr/style/img/side_bar_top.jpg'], {
			onComplete: function(){
				Site.xFade('preloader','out',1);
			}
		});
	},
	
	managePage: function(page){			
		var char             = " <img src='style/img/char.gif' alt=''/> ";
		var home             = "Accueil";
		var home_link        = "<a onclick=\"Site.request('home'); return false;\">Accueil</a>";
		var ajax             = "Applications Web2.0/Ajax";
		var ajax_link        = "<a onclick=\"Site.request('ajax'); return false;\">Applications Web2.0/Ajax</a>";
		var design           = "Design &amp; Conception";
		var design_link      = "<a onclick=\"Site.request('design'); return false;\">Design &amp; Conception</a>";
		var development      = "D&eacute;veloppement";
		var development_link = "<a onclick=\"Site.request('development'); return false;\">D&eacute;veloppement</a>";
		var identity         = "Identit&eacute; visuelle";
		var identity_link    = "<a onclick=\"Site.request('identity'); return false;\">Identit&eacute; visuelle</a>";
			
		switch (page)
		{
			case "design" :
				$("text_sitemap").innerHTML = home_link+char+design;	
				$("banner_img").className = "banner_design";
				break;
				
			case "identity" :	
				$("text_sitemap").innerHTML = home_link+char+design_link+char+identity;	
				$("banner_img").className = "banner_design";
				break;
		
			case "alluby" :
				$("text_sitemap").innerHTML = home_link+char+design_link+char+identity_link+char+"Alluby";	
				$("banner_img").className = "banner_design";
				break;
		
			case "seen-net" :
				$("text_sitemap").innerHTML = home_link+char+design_link+char+identity_link+char+"Seen Net";	
				$("banner_img").className = "banner_design";
				break;
		
			case "antilles-communication" :
				$("text_sitemap").innerHTML = home_link+char+design_link+char+identity_link+char+"Antilles Comm...";	
				$("banner_img").className = "banner_design";
				break;
		
			case "cocoknel-logo" :
				$("text_sitemap").innerHTML = home_link+char+design_link+char+identity_link+char+"CocoK'nel";	
				$("banner_img").className = "banner_design";
				break;
						
			case "concept" :
				$("text_sitemap").innerHTML = home_link+char+design_link+char+"Concepts du design";	
				$("banner_img").className = "banner_design";
				break;
				
			case "interactive-app" :
				$("text_sitemap").innerHTML = home_link+char+design_link+char+"Applications interactives";	
				$("banner_img").className = "banner_design";
				break;
		
			case "development" :
				$("text_sitemap").innerHTML = home_link+char+development;	
				$("banner_img").className = "banner_development";
				break;
		
			case "naruto-rpg" :
				$("text_sitemap").innerHTML = home_link+char+development_link+char+"Naruto Rpg";	
				$("banner_img").className = "banner_development";
				break;
				
			case "evacheck" :
				$("text_sitemap").innerHTML = home_link+char+development_link+char+"EvaCheck";	
				$("banner_img").className = "banner_development";
				break;
				
			case "ajax" :	
				$("text_sitemap").innerHTML = home_link+char+development_link+char+ajax;	
				$("banner_img").className = "banner_development";
				break;
				
			case "standard" :
				$("text_sitemap").innerHTML = home_link+char+development_link+char+"Pour un Web Standard";	
				$("banner_img").className = "banner_development";
				break;
				
			case "web2map" :
				$("text_sitemap").innerHTML = home_link+char+development_link+char+ajax_link+char+"web2map";	
				$("banner_img").className = "banner_development";			
				break;
				
			case "services" :
				$("banner_img").className = "banner_home";
				$("text_sitemap").innerHTML = home_link+char+"Services";
				Site.addAccordion();
				break;
				
			case "portfolio" :
				$("banner_img").className = "banner_home";
				$("text_sitemap").innerHTML = home_link+char+"Portfolio";	
				Site.addAccordion();
				break;
				
			case "about" :		
				$("banner_img").className = "banner_home";
				$("text_sitemap").innerHTML = home_link+char+"About";
				Site.addAccordion();
				break;
				
			case "contact" :
				$("banner_img").className = "banner_home";
				$("text_sitemap").innerHTML = home_link+char+"Me contacter";			
				break;
				
			case "sitemap" :
				$("banner_img").className = "banner_home";
				$("text_sitemap").innerHTML = home_link+char+"Sitemap";
				break;
				
			default :		
				$("banner_img").className = "banner_home";
				$("text_sitemap").innerHTML = home;
				break;
		}
	}
};

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