isIE=document.all?true:false;
isNS4=document.layers?true:false;
isNS6=document.getElementById?true:false;
isOpera=navigator.appName.indexOf('opera')!=-1?true:false;


function Theme( deliCat,count, destId , MenuT , header, footer ) { 
    this.deliCat = deliCat; 
    this.count = count; 
    this.destId = destId; 
    this.MenuT = MenuT;  
    this.header = header;
    this.footer = footer;    
}
function MenuItem( linkLabel, url,note ) { 
    this.linkLabel = linkLabel; 
    this.url = url;  
    this.note = note;
}
var H2OalbumsT = [];				
var SurfalbumsT = [];
var WindsurfalbumsT = [];
var KitealbumsT = [];
var CountryalbumsT = [];
var linksT = [];
var freeInfoT = [];
var newsletterT = [];
var friendsT = [];
var alertT = [];
var hotStuffT = [];

var current_Section = null;
var homeDivT=['header','footer','frame_menu','menu','menuRight','popinPage'];
var photoDivT=['sponsorprojects','presentation_en','presentation_fr','prices','prices_fr','gallery'];
var projectDivT=['worldsouk','anymap','pmp','openatlas','yr','pb','donators','opensource','presentation'];

myThemes = {
	"windsurf":new Theme( "photowindsurf","20", "iframeMenudelicious" , WindsurfalbumsT,"Windsurf Photos",""  ),
	"kite":new Theme( "photokite","20", "iframeMenudelicious" , KitealbumsT ,"Kite Photos","" ),
	"surf":new Theme( "photosurf","20", "iframeMenudelicious" , SurfalbumsT,"Surf Photos",""  ),
	"oceatoonphoto":new Theme( "photooceatoon","20", "iframeMenudelicious" , H2OalbumsT,"Oceatoon Photos",""  ),
	"country":new Theme( "photocountry","20", "iframeMenudelicious" , CountryalbumsT ,"Country Photos","" ),
	"links":new Theme( "","20", "delicious" , linksT ,"Latest Bookmark Links","" ),
	"freeInfo":new Theme( "freeUsefullInformation","7", "iframeMenudelicious" , freeInfoT,"Information",""  ),
	"newsletter":new Theme( "oct09","10", "" , newsletterT,"Current Newsletter",""  ),
	"friends":new Theme( "sitefriends","30", "" , friendsT,"Friends Sites",""  ),
	"alert":new Theme( "alert","10", "" , alertT,"Alert - Wake up - Ring the Alarm",""  ),
	"hotStuff":new Theme( "hotStuffOceatoon","20", "" , hotStuffT,"Oceatoon Hot Stuff",""  )
}

	function hideAll(T){
			for(var i = 0 ; i < T.length ; i++){
				if($(T[i]))
					$(T[i]).hide() ;
				//Effect.Fade(T[i]) ;
			}
	} 
	function closePage(T){
		for(var x = 0 ; x < T.length ; x++){
				$(T[x]).show() ;
				//Effect.Appear(T[i]);
			}
	}
var current_pageName="",selected_pageName="";
	function openPage(pageName,param){
		hideAll(homeDivT);
		$('popinContent').update('<img src="gfx/common/loader3.gif" width="50px"/>');
		current_pageName = pageName;
		selected_pageName=pageName;
		current_menu = (param!=null) ? param.menu : "";
		if(pageName.indexOf("http://")>=0){
			doThis = new Ajax.Updater('popinContent', 'pages/popinmenuiframe.html?date='+new Date().getTime(), {method: 'get',evalScripts:true});
		}
		else{
			doThis = new Ajax.Updater('popinContent', pageName+'?date='+new Date().getTime(), {method: 'get',evalScripts:true});
		}
		$('popinPage').style.display= 'block' ;
	}

	function doMenu (theme,destIdOveride,menuLink){
		if(theme!=null){
			themeObj = myThemes[theme];
			destId = (destIdOveride!="")?destIdOveride:themeObj.destId;
			//alert("doMenu::"+theme+"::"+themeObj.destId);
			if(themeObj!=null)
				getAndBuildDeliciousList( destId , theme ,true);
		}else 
			openX(destIdOveride,menuLink,true);
	}
	function showHide(id){
		if( $(id).style.display == 'block' ){
			Effect.Fade(id);//$(id).style.display = 'none' ;
		}
		else {
			Effect.Appear(id);//$(id).style.display = 'block' ;
		}
	}
	function openX(id,pageName,sh){
		$(id).update('<img src="gfx/common/loader3.gif" width="50px"/>');
		if(sh){
			showHide(id);
		}
		doThis = new Ajax.Updater(id, pageName+'?date='+new Date().getTime(), {method: 'get',evalScripts:true});
	}
	function gotoUrl(url){
		window.location=url;
		/*var browserName=navigator.appName; 
		if (browserName=="Netscape"){
			window.location=url;
		}else { 
		 if (browserName=="Microsoft Internet Explorer"){
		  	window.location=url;
		  } else{
		   window.location=url;
		   }
		} */
	}
	
	
	var numberOfStyles = 7;
	var StyleObj={"texts":"white","hover":"#B1B112","titles":"#FF9400","borders":"white"};
	function changeStyle( tag , styl , val ) {
		var T = document.getElementsByTagName(tag);
		if( T.length > 0 ){
	  		for(x = 0 ; x < T.length ; x++){
				T[x].style[styl] = val;
	  		}
		}
	}
	function setStylee(st){
		switch(st){
			case 1 : $("fondImg").src = "style/images/fonds/fond3.jpg"; changeStyle( "a" , "color" , "#010137");  break;
			case 2 : $("fondImg").src = "style/images/fonds/fond.jpg"; changeStyle( "a" , "color" , "#003300");  break;
			case 3 : $("fondImg").src = "";  changeStyle( "a" , "color" , "#ff99ff");  break;
			case 4 : $("fondImg").src = "style/images/fonds/big_world_map.jpg"; changeStyle( "a" , "color" , "#010137"); break;
			case 5 : $("fondImg").src = "style/images/fonds/panoHossegor.jpg"; changeStyle( "a" , "color" , "white");break;
			case 6 : $("fondImg").src = "gfx/projects/peaceMapProjectWallpaper.jpg"; changeStyle( "a" , "color" , "#010137");break;
			default : $("fondImg").src = "style/images/fonds/fond2.jpg"; changeStyle( "a" , "color" , "white"); break;
		}
	}
	
	
	
/* Keyboard interface to the site*/	
//Menu Item Object  
var bestofSize = 10;
var keycodeObj = {"backspace":8,"tab":9,"enter":13,"shift":16,"ctrl":17,"alt":18,"pause/break":19,"capslock":20,"escape":27,"pageup":33,"pagedown":34,"end":35,"home":36,"left":37,"up":38,"right":39,"down":40,"insert":45,"delete":46,"0":48,"1":49,"2":50,"3":51,"4":52,"5":53,"6":54,"7":55,"8":56,"9":57,"a":65,"b":66,"c":67,"d":68,"e":69,"f":70,"g":71,"h":72,"i":73,"j":74,"k":75,"l":76,"m":77,"n":78,"o":79,"p":80,"q":81,"r":82,"s":83,"t":84,"u":85,"v":86,"w":87,"x":88,"y":89,"z":90,"left window key":91,"right window key":92,"select key":93,"numpad 0":96,"numpad 1":97,"numpad 2":98,"numpad 3":99,"numpad 4":100,"numpad 5":101,"numpad 6":102,"numpad 7":103,"numpad 8":104,"numpad 9":105,"multiply":106,"add":107,"subtract":109,"decimal point":110,"divide":111,"f1":112,"f2":113,"f3":114,"f4":115,"f5":116,"f6":117,"f7":118,"f8":119,"f9":120,"f10":121,"f11":122,"f12":123,"num lock":144,"scroll lock":145,"semi-colon":186,"equal sign":187,"comma":188,"dash":189,"period":190,"forward slash":191,"grave accent":192,"open bracket":219,"back slash":220,"close braket":221,"single quote":222};					  
//oceatoonphoto,surf,wind,country,kite,style
var indexT = [0,0,0,0,0];
var active_albumT = [];

    function showImage(img){ return (function(){ img.style.display='inline'; }); }
	//@theme is a delicious category
	//@destId is div container
	//@MenuT is the memory of the delicious list
	//@menuLink is the side link of the theme
	function getAndBuildDeliciousList( destId , theme , build ,buildStyle){
		MenuT = myThemes[theme].MenuT;
		destId = (destId!=null)? destId : "delicious";
		count = (myThemes[theme].count!=null)? myThemes[theme].count : "20";
		deliCatUrl = (myThemes[theme].deliCat!=null)? "/"+myThemes[theme].deliCat+"?count="+count : "?count="+count;
    	if(destId!=null && destId!="" && destId!="swappingSection")
    		$(destId).update('<img src="gfx/common/loader3.gif" width="50px"/>');
    	MenuTlength = MenuT.length;
    	//alert("getAndBuildDeliciousList :: get "+deliCatUrl+" update ::"+destId);
    	if(MenuTlength==0)
    		LoadScript('http://del.icio.us/feeds/json/oceatoon'+deliCatUrl,function () {buildDeliciousList(destId,theme,build,buildStyle);},destId);
    	else
    		buildDeliciousList(destId,theme,build,buildStyle);
    	
    }	
    
    function buildDeliciousList(destId,theme,build,buildStyle){
    	menuT = myThemes[theme].MenuT;
    	//getting and caching 
    	MenuTlength = menuT.length;
    	if(menuT.length==0 || menuT.length==1){
    		for (var i=0, post; post = Delicious.posts[i]; i++) {
    			
		       menuT[i] = new MenuItem(post.d,post.u,post.n);
		    }
	    }
	   // alert("buildDeliciousList "+buildStyle+" building menu ? "+build+" :: "+menuT.length+":"+theme);
	    if(build){
	    	if(buildStyle == "flatButtonList"){
	    		 for (var ix=0; ix < MenuTlength; ix++) {
			        var a = document.createElement('a');
			        a.id = "swapSecButton"+ix;
			        if(ix==0)
			        	a.style.cssText= "padding:5px;margin-right:5px;background-color:red;  ";
			        else
			        	a.style.cssText = "padding:5px;margin-right:5px;background-color:#010137;  ";
			        a.onclick="swapInfoSection('"+ix+"')";
			        a.className="button ListLink";
			        a.href= "#";
			        a.appendChild(document.createTextNode(ix+1));
			        document.getElementById(destId).appendChild(a);
			    }
			     buildStyle="";
	    	}
	    	else{
			    MenuTlength = menuT.length;
			    //alert("building menu :: "+MenuTlength+":"+theme);
		    	//build the html src
		    	destId = (destId!=null)? destId : "delicious";
		    	$(destId).update('<img src="gfx/common/loader3.gif" width="50px"/>');
		    	var ul = document.createElement('ul');
		    	ul.style.cssText = "list-style-type:none;width:100%;padding:0px;margin:0px;";
			    for (var i=0; i < MenuTlength; i++) {
			    	var obj = menuT[i];
			        var li = document.createElement('li');
			        li.className = "bottomBorder";
			        var a = document.createElement('a');
			        a.style.marginLeft = '20px';
			        var img = document.createElement('img');
			        img.style.position = 'absolute';
			        img.style.display = 'none';
			        img.height = img.width = 16;
			        img.src = obj.url.split('/').splice(0,3).join('/')+'/favicon.ico';
			        img.onload = showImage(img);
			        
			        if(theme!=null && theme!="links" && theme!= "newsletter"  && theme!= "friends"){
			        	a.onclick="openPage('"+obj.url+"',{'menu':'"+theme+"'})";
			        	a.href="javascript:openPage('"+obj.url+"',{'menu':'"+theme+"'})";
			        }else{
			        	a.href=obj.url;
			        	a.setAttribute('target', "_blank");
			        }
			        var Aclass = "ListLink";
			        if(selected_pageName == obj.url)
			        	Aclass ="selectedLink";
			        a.className = Aclass;
			        a.appendChild(document.createTextNode(obj.linkLabel));
			        li.appendChild(img);
			        li.appendChild(a);
			        ul.appendChild(li);
			        var header = document.createElement('span');
			        header.className="title";
			        header.appendChild(document.createTextNode(myThemes[theme].header));
			    }
				document.getElementById(destId).innerHTML = "";
			    document.getElementById(destId).appendChild(header);
			    document.getElementById(destId).appendChild(ul);
	    	}
	    }
    }	
    
	function buildObjectHTML(id , url , w , h){
		 $(id).update('<object width="'+w+'" height="'+h+'"><param name="movie" value="'+url+'"></param><embed src="'+url+'" type="application/x-shockwave-flash" width="'+w+'" height="'+h+'"></embed></object>');
	}
	
	var photoix = 1;
	var photoT = [];
	function buildorSwapTPhoto(){
		if(photoT.length==0){
			doThis = new Ajax.Request('scripts/getFlickr.php', { method:'get',
			  	onSuccess: function(requestObj){
			  		var xmlDoc = requestObj.responseXML;	
					var photos = xmlDoc.documentElement.getElementsByTagName("photo");
				      
			      for (var i = 0; i < photos.length; i++) {
			        var active_photo = photos[i];
			        var farmId = active_photo.getAttribute("farm");
			        var serverId = active_photo.getAttribute("server");
			        var photoId = active_photo.getAttribute("id");
			        var secret = active_photo.getAttribute("secret");
			        var url = "http://farm"+farmId+".static.flickr.com/"+serverId+"/"+photoId+"_"+secret+".jpg";
			        
			        photoT.push(url);
			        if(i==0){$('flickrImg').src = url;}
				    }
			    },
			    onFailure: function(requestObj){		    
			    	alert('an error occured.' ) ; 
			    }
			});	
		}else{
			$('flickrImg').src = photoT[photoix]; 
			photoix = ( photoix >= photoT.length-1 ) ? 0 : photoix+1;
		}
	}
	function LoadScript(url,func,destId){
	
			//alert("LoadScript getting : "+url);
			if(destId!="" && destId!=null && destId!="swappingSection")
	    		$(destId).update('<img src="gfx/common/loader3.gif" width="50px"/>');
			var head = document.getElementsByTagName('head')[0];
			var script = document.createElement('script');
			script.type = 'text/javascript';
			script.src = url;
			if (/msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent)) {
		      // IE
		      script.onreadystatechange = function(){ if (this.readyState == 'loaded') { func(); } }
		    } else {
		      // Other browsers
		      script.onload = func;
		    }
		   	head.appendChild(script);
		
	}
	function keyMap(str){
	   var ValidChars = "0123456789";
	   var IsNumber=true;
	   for (i = 0; i < str.length && IsNumber == true; i++) { 
	      if (ValidChars.indexOf(str.charAt(i)) == -1) {
	         IsNumber = false;}
	   }
	   
	   if(!IsNumber){str = keycodeObj[str];} 
	  
		switch(str){
			case keycodeObj["t"] : openX('section5', "gfx/tagcloud/mainTagCloud.html",true ); break;
			case keycodeObj["a"] : active_albumT = myThemes["oceatoonphoto"].MenuT; openPage( active_albumT[indexT[0]].url ,{'menu':'oceatoonphoto'}); indexT[0] = ( indexT[0] == active_albumT.length-1 )? 0 : indexT[0]+1; break;
			case keycodeObj["s"] : changeAnchor("surf");active_albumT = myThemes["surf"].MenuT; openPage( active_albumT[indexT[1]].url ,{'menu':'surf'}); indexT[1] = ( indexT[1] == active_albumT.length-1 )? 0 : indexT[1]+1; break;
			case keycodeObj["w"] : changeAnchor("windsurf");active_albumT = myThemes["windsurf"].MenuT; openPage( active_albumT[indexT[2]].url ,{'menu':'windsurf'}); indexT[2] = ( indexT[2] == active_albumT.length-1 )? 0 : indexT[2]+1; break;
			case keycodeObj["c"] : changeAnchor("country");active_albumT = myThemes["country"].MenuT; openPage( active_albumT[indexT[3]].url ,{'menu':'country'}); indexT[3] = ( indexT[3] == active_albumT.length-1 )? 0 : indexT[3]+1; break;
			case keycodeObj["i"] : active_albumT = myThemes["kite"].MenuT; openPage( active_albumT[indexT[4]].url ,{'menu':'kite'}); indexT[4] = ( indexT[4] == active_albumT.length-1 )? 0 : indexT[4]+1; break;
			case keycodeObj["x"] : if($('popinPage').style.display == 'block'){closePage(homeDivT);changeAnchor("home")} else{ hideAll(homeDivT); openX('menu1','pages/shortcuts_menu.html',true);}; break;
			case keycodeObj["y"] : setStylee(indexT[5]); indexT[5] = ( indexT[5] == numberOfStyles-1 )? 0 : indexT[5]+1;break;
			case keycodeObj["n"] : changeAnchor("news");openPage( "pages/news_info.html" ,{'menu':'pages/news_menu.html'});break;
			case keycodeObj["f"] : changeAnchor("photo");openPage( 'pages/whatIsPhotoProject.html' ,{'menu':''});break;
			case keycodeObj["i"] : openX('section5','pages/info_menu.html');break;
			case keycodeObj["h"] : openX('menu1','pages/menu.html',true);break;
			case keycodeObj["l"] : doMenu (null,'menu2','pages/links_menu.html');break;
			case keycodeObj["p"] : changeAnchor("project");openPage( "pages/projects.html" ,{'menu':''}); $('popinPage').style.backgroundColor="#010137"; break;//openX('section5','pages/projects_menu.html');break;
			case keycodeObj["d"] : openPage('http://maps.google.com/maps/ms?ie=UTF8&hl=en&msa=0&msid=108090590461268873678.000455f845bff77b6efb1&ll=-21.252502,55.435638&spn=0.058955,0.104713&t=h&z=14',{'menu':''});break;
			case keycodeObj["o"] : openX('section5','pages/contact_info.html');break;
			case keycodeObj["m"] : openX('menu2','pages/deezer.html',true);break;
			case keycodeObj["k"] : changeAnchor("kite");openPage( "pages/keyboardAccess.html" ,{'menu':''}); break;
			case keycodeObj["e"] : openPage( "pages/keyboardAccess.html" ,{'menu':''}); break;
			case keycodeObj["u"] : changeStyle( "a" , "color" ,"red");  break;
			case keycodeObj["g"] : gotoUrl( "pages/freemind.html");break;
			case keycodeObj["v"] : openPage( "pages/proverb.html" ,{'menu':''}); break;
			case keycodeObj["backspace"] : openPage( "pages/todo.html" ,{'menu':''}); break;	
			//case keycodeObj["up"] : AlbumScroll("next",active_albumT);break;
			//case keycodeObj["down"] : AlbumScroll("prev",active_albumT);break;
		}
	}
	
	function checkKeycode(e) {
		var keycode;
		if (window.event) {keycode = window.event.keyCode;e=event;}
		else if (e){ keycode = e.which;}
		//alert("keycode: " + keycode);
		if(e.shiftKey && keycode==keycodeObj["a"] ){
			alert("combination");//shiftKey ctrlKey altKey
		}
		else{
			keyMap(keycode);
		}
	}
	
//document.onkeydown = checkKeycode; 

activeSwapId = 0;
function swapInfoSection(id){
	if(hotStuffT.length!=0){
		//$("swapSecButton"+activeSwapId).style.backgroundColor = '#010137';
		activeSwapId = (activeSwapId >= hotStuffT.length-1)? 0 : activeSwapId+1;
		swapItem = hotStuffT[activeSwapId];
		//console.log("swapItem :: "+swapItem);
		//console.log("swapItem :: "+swapItem.url);
		$('swappingSectionImg').src = (swapItem.note=="") ? "gfx/home/water.jpg" : swapItem.note;
		$("swappingSection").onclick = (swapItem.url.indexOf("http://")>=0) ? function(){ window.open(swapItem.url,swapItem.linkLabel);} : function(){eval(swapItem.url);};
		$("swapSecName").innerHTML = swapItem.linkLabel;
		//$("swapSecButton"+activeSwapId).style.backgroundColor = 'red';		
	}
	setTimeout(swapInfoSection, 5000);
}

window.onload = function (){
	//fill all the MenuT for all themes 
	for(t in myThemes){
		themeObj = myThemes[t];
		getAndBuildDeliciousList( "" , t,false );
	}
	/*hotStuffT.push(H2OalbumsT[0]);
	hotStuffT.push(H2OalbumsT[1]);
	hotStuffT.push(H2OalbumsT[2]);*/
	for(ix = 0 ; ix < hotStuffT.length ; ix++){
		img = new Image();
		//console.log(ix+"::"+hotStuffT[ix].url );
		img.src = hotStuffT[ix].note;
	}
	
	keyMap('h');
	openX('container','pages/home.html');
	keyMap('l');
	getAndBuildDeliciousList( "newsletterMenu" , "newsletter",true );
	getAndBuildDeliciousList( "friendsMenu" , "friends",true );
	getAndBuildDeliciousList( "alertMenu" , "alert",true );
    //pageSwitch();
	keyMap('p');
};

