﻿



var app;
window.addEvent('domready', function(){

	$('body').addEvent('contextmenu',function(e) {e.stop();	});
	//$$('html')[0].removeClass('notready').addClass('ready');
	
	//var locCurrent = locEn;
	//var locDefault = 'en';
	var onChangeLocal = function( loc ) {
	
		if (loc == 'fr')
		{
			//alert("fr");
			locCurrent = locFr;
			locDefault = 'fr';
		}
		else //if (loc == 'en')
		{
			locCurrent = locEn;
			locDefault = '';
			//alert(locDefault);
		}
	
		//return(false);
	
	};
	
	var l = ( "" + window.location ).split('?')[1];
	if (l) l = l.split('#')[0];
	
	onChangeLocal(l);
	
	if ($('main-fr'))
		$('main-fr').onclick=function(e) { /*window.location = window.location + '?fr';*/ /*e.preventDefault();*/ onChangeLocal( 'fr' );  startApp(); };
	if ($('main-en'))
		$('main-en').onclick=function(e) { /*window.location = window.location + '?en';*/ /*e.preventDefault();*/ onChangeLocal( 'en' );  startApp(); };
	
	var content1 = $('contentRoot');
	content1.setStyles({top : -1000});
	
	var popupFxIn = new Fx.Morph(content1,
    {
      duration   : 750,
      wait       : false,
      transition : Fx.Transitions.Sine.easeInOut,
      fps        : 30,
	  onStart    : function() { 
			enableKeyboard = false; 
			$('popcontent').setStyles({opacity:0}); 
			$('contentRoot').setStyles({display:'block', visibility: 'visible'}); 
			//$('navigation-root').setStyles({visibility: 'hidden', display:'none'}); 
			$('use-your-keyboard').setStyles({visibility: 'hidden', display:'none'}); 
			$('navigation-show').setStyles({visibility: 'hidden', display:'none'}); 
			
			//$('navigation-show-nav').morph({'bottom' : '600px'});
		},
      onComplete : function() { 
		$('navigation-show-nav').setStyles({'top':'170px', 'bottom' : ''}); 
		//$('navigation-root').setStyles({display:'block', visibility: 'visible'}); 
	  }
	});	
	
	var popupFxOut = new Fx.Morph(content1,
    {
      duration   : 750,
      wait       : false,
      transition : Fx.Transitions.Sine.easeInOut,
      fps        : 30,
	  onStart    : function() { 
		$('navigation-show-nav').setStyles({'top':'', 'bottom' : '10%'}); 
		$('use-your-keyboard').setStyles({display:'block', visibility: 'visible'}); 
		//$('navigation-root').setStyles({display:'block', visibility: 'visible'}); 
		$('navigation-show').setStyles({display:'block', visibility: 'visible'});  
	  },
	  onComplete    : function() { 
			
			$('contentRoot').setStyles({display:'none', visibility: 'hidden'}); 
			$('popcontent').set('html', '');  
			enableKeyboard = true;
			
			//$('navigation-show-nav').morph({'bottom' : '100px'});
		}
	});	
	//get the scrollSize of the contentElements
//var c1Height = content1.getSize().scrollSize.y;

	 var onContentDisplayClick = function(src){
	 
		//if (src == null)
		$('popcontent').set('html', '');
		
		{
			if ((src) && (src.href != null))
			{
				//alert("herf="+src.href);
				src = src.href.split('#')[1];
			}
		}
		
		
		$$('#menu a').each(function(el) { 
				if ( el.selected != null )
				{
					delete el.selected;
					el.setStyle('background','url(./images/bg.jpg)');
					el.morph({'margin-left' : '0'});
				}
			});
		
		//if ((src == null) ||( src == '' ))
		//	return;
		
		/*var ar = src.split('_');
		src = ar[0];
		var subsrc = ar[1];
		if ((subsrc == null) || ( subsrc  == '' ))
			return;*/
		
		
		popupFxOut.cancel();
		popupFxIn.cancel();
		//content1.fade('in');
	  //toggle height transition (hide-show)
	  //alert(src);
	  if (((src == null) ||(src == '') || (src == '#')) /*&&(content1.getStyle('top').toInt() >= 0)*/){
		//hide
		//b1Toggle.start(0);
		
		
		
		var fx = function() {
			popupFxOut.start({'top': -1000});
		}.delay(100);
	  }else{
		//show
		
		
			
		
			
		setupVMenu(src );
		var fx = function() {
			
			if (content1.getStyle('top').toInt() != 30)
			{
				popupFxIn.start({'top': 30}).chain( function() {
					//$('popcontent').load('./'+navigation[src][0]+'.html');
					loadContent( $('popcontent'), src );
					//alert(src);
				});
			}
			else
			{
				loadContent( $('popcontent'), src );
			}
}.delay(100);
	  }
	  return true;
	};
	
	if ($('popupClose'))
		$('popupClose').onclick=function(e) {onContentDisplayClick(null);};
	
	var onContentSwitchClick = function( src ){
		//alert(window.location);
		if (src.href)
			{
				//alert("herf="+src.href);
				src = src.href.split('#')[1];
			}
			
		
		//alert(src);		
		//$('popcontent').load('./'+src+'.html');
		loadContent( $('popcontent'), src );
 
		return false;
	};
	
	var loadContent = function( elmt, src ) {
		
		
		
		elmt.set('html', '');
		
		var ar = src.split('_');
		src = ar[0];
		var subsrc = ar[1];
		
		//alert('load ' + src + ' ' + subsrc);
		
		var arr = navigation[src];
			if ( arr == null )
				return;
				
		app.selectNav(src);
				
		elmt.setStyles({'opacity' : '0'});
		elmt.morph({'opacity' : '1'});
		
		
		var filename = navigation[src][0];
		if ((subsrc != null) && (subsrc != ''))
		{
			for( var i = 0 ; i < arr.length ; i ++ )
			{
				if ( arr[i] == subsrc)
				{
					filename = navigation[src][i];
					break;
				}
			}
		}
		
		var elid = 'mv'+src+'_'+filename;
		//alert(elid);
		if ($(elid))
		{
			//alert("bb");
			$$('#menu a').each(function(el) { 
				if ( el.selected != null )
				{
					delete el.selected;
					el.setStyle('background','url(./images/bg.jpg)');
					el.morph({'margin-left' : '0'});
				}
			});
			$(elid).selected = true;
			//alert("aa");
			$(elid).setStyle('background','url(./images/bg1.jpg)');
			//myEffect = el.effect('margin-left', {duration: 100,transition: Fx.Transitions.linear, wait: true}).start('10','30');
			$(elid).morph({'margin-left' : '10'});
		}
		
		//alert('filename ' + filename);
		if (window.location.protocol != 'file:')
			elmt.load('./pages/'+src+'/'+filename+locDefault+'.html');
		else
		new Request({
				url: './pages/'+src+'/'+filename+locDefault+'.html',
				method: 'get',
				//encoding:'iso-8859-1',
				encoding: 'uft-8',
				//update : $('popcontent'),
				onSuccess:function(response){
					if ((response) && ( response.responseText ))
					{
						elmt.set('html', response.responseText);
						//alert('resptxt ' + response.responseText );
					}
					else if (response) 
					{
						elmt.set('html', response);
						//alert('resp ' + response );
					}
					else
					{
						alert('noresp onComplete' );
					}
				},
				onFailure: function(response){
					if ((response) && ( response.responseText ))
					{
						elmt.set('html', response.responseText);
						//alert('resptxt ' + response.responseText );
					}
					else if (response) 
					{
						elmt.set('html', response);
						//alert('resp ' + response );
					}
					else
					{
						alert('noresp onComplete' );
					}
					
				}
			}).send();
	 };
	//http://code.google.com/chrome/extensions/xhr.html
	
	var currentVMenu = null;
	
	var setupVMenu = function( src ) {
	
		var ar = src.split('_');
		src = ar[0];
		//subsrc = ar[1];
		
		if (currentVMenu == src)
			return;
		currentVMenu = src;
		
		//alert("src vmenu="+src);
	
		
		
		$('menu').set('html', '');
		
		var arr = navigation[src];
		if (arr == null)
			return;

		for( var i = 0 ; i < arr.length ; i ++ )
		{
			var elmt = new Element('li');
			var aref = new Element('a', {id:'mv'+src+'_'+arr[i], href:'#'+src+'_'+arr[i], 'class': 'toggler', html:''+locCurrent[arr[i]]});
			//aref.onclick=function() { onContentSwitchClick( this ); };
			//aref.onclick=function() {  el.selected = true; };
			elmt.adopt(aref);
			$('menu').adopt(elmt);
		}
		//<img src="./images/drop-shadow.png" />		
		
			//myStretch = $$('*').filterByClass('toggler');
		//myStretcher = $$('*').filterByClass('accordion');

		myStretch = getElementsByClassName('toggler');
		myStretcher = getElementsByClassName('accordion');
		// setup the accordion elements by clearing display styles	
		/*myStretcher.each(function(el){
			el.style.display = '';
		});*/

		if ((myStretch.length)&&(myStretcher.length))
		{
			var ac = new Accordion(myStretch,myStretcher,
		  {
				onActive: function(tog){
				 tog.setStyle('color', '#ACDA4E');
				tog.setStyle('background-color', '#1d1d1d');
				tog.setStyle('cursor', 'help');
		   },

			onBackground: function(tog){
				tog.setStyle('color', '#FFF');
				tog.setStyle('background-color', '#2d2d2d');
				tog.setStyle('cursor', 'help');
		   },

				alwaysHide: true,
				start : 'all-closed',
				height: true,
				opacity : true			
			});
		//}
		}
	//st = $$('*').filterByClass('toggler2');
		//stc = $$('*').filterByClass('accordion2');
		st = getElementsByClassName('toggler2');
		stc = getElementsByClassName('accordion2');

		// setup the accordion elements by clearing display styles	
		/*stc.each(function(el){
			el.style.display = '';
		});*/

		var acc = new Accordion(st,stc,
		{
			onActive: function(tog){
				 tog.setStyle('color', '#ACDA4E');
				tog.setStyle('background-color', '#1d1d1d');
				tog.setStyle('cursor', 'help');
			},

			onBackground: function(tog){
				tog.setStyle('color', '#FFF');
				tog.setStyle('background-color', '#2d2d2d');
				tog.setStyle('cursor', 'help');
			},

			alwaysHide: true,
			start : 'all-closed',
			opacity : true			

		});

		$$('#menu a').each(function(el) { 
		el.addEvent('mouseenter',function(){
		//p = el.innerHTML.toUpperCase();
		//el.innerHTML = p;
			el.setStyle('background','url(./images/bg1.jpg)');
		//myEffect = el.effect('margin-left', {duration: 100,transition: Fx.Transitions.linear, wait: true}).start('10','30');
			el.morph({'margin-left' : '10'});
		});
		
		el.addEvent('mouseleave',function(){
		//p = el.innerHTML.toLowerCase();
		//el.innerHTML = p;
			if (el.selected == null)
			{
				el.setStyle('background','url(./images/bg.jpg)');
				//myEffect = el.effect('margin-left', {duration: 800,transition: Fx.Transitions.Bounce.easeOut, wait: true}).start('30','0');
				el.morph({'margin-left' : '0'});
			}
		});
	});

	};

	var setupHMenu = function( ) {
		
		//alert(navigation);
		$('navigation-show').set('html', '');
		$('navigation-show-nav').set('html', '');

		//alert(locDefault);
		
		var ind = 1;
		for( var i in navigation  )
		{
			//alert(i);
			
			var elmt = new Element('li');
			var aref = new Element('a', {"class" : "toto", href:'#'+i, html:''+locCurrent[i]});
			var cont = i;
			//alert(cont);
			aref.onclick= function() { current_url_w_hash = ''; /*onContentDisplayClick( this );*/ }
			elmt.adopt(aref);
			$('navigation-show').adopt(elmt);
			
			elmt = new Element('li' , {/*title : locCurrent[i]*/ id:''+i});
			elmt.set('text', /*ind ++*/locCurrent[i]);
			elmt.onclick= function(e) { if (enableKeyboard == false) onContentDisplayClick( this.id ); }
			
			//elmt.onmouseenter = function() { this.setStyle( "color", "#ffffff" ); };
			//elmt.onmouseleave = function() { };
			
			$('navigation-show-nav').adopt(elmt);
		}
		
		 $each($$('.toto'), function(el) {
			var original = el.getStyle('color');
			var morph = new Fx.Morph(el,{ 'duration':'300', link:'cancel' });
			el.addEvents({
			  'mouseenter' : function() { /*el.set( 'text', "aaa");*/ morph.start({ 'color':'#ffffff', 'font-size' : '105px' }) },
			  'mouseleave' : function() { morph.start({ 'color': original, 'font-size' : '100px' }) }
			});
		  });
		//<img src="./images/drop-shadow.png" />		
	};

	var current_url_w_hash = ( "" + window.location ).split('#')[1];
	var enableKeyboard = true;
	var startApp = function() {
	
		setupHMenu();
		app = new App;
		
		// add Keyboard
		$(document).addEvent('keyup', function(event){
			// couldn't be any easier!
			if (enableKeyboard == false)
				return;
				
			if (event.key == 'left')
				app.navigationShow.showPrevious({ transition: 'pushRight' });
			else if (event.key == 'right')
				app.navigationShow.showNext({ transition: 'pushLeft' });
		});
	
		var current_url_w_hash = ( "" + window.location ).split('#')[1];
		//
		//if ( navigation[src] != null )
		{
			//alert(src + " " + navigation[src]);	
			onContentDisplayClick(current_url_w_hash);
		}
		
		$('use-your-keyboard').set('text', locCurrent['navkeys']);
	}
	
	startApp();
	
	//var page_url = 'http://www.yoursite.com/'; // full path leading up to hash;
	//var current_url_w_hash = page_url + window.location.hash; // now you might have something like: http://www.yoursite.com/#123

	var RunTabs = setInterval( function TrackHash() {
		var new_url_w_hash = ( "" + document.location ).split('#')[1];
		//alert(current_url_w_hash);
		//alert(new_url_w_hash);
		if (new_url_w_hash != current_url_w_hash) {
			//window.location = document.location;
			//onContentDisplayClick('#');
			onContentDisplayClick(new_url_w_hash);
			current_url_w_hash = new_url_w_hash;
		}
		return false;
	}, 200);
});
