/*
Title:      Main JavaScript	
Author:     Cristian Deschamps, cristian.deschamps@rocler.com

*/

// ------[ IE6 Cache Control (remove flicker on mouseover) ]------------------------------------------------- //	
try {
  document.execCommand('BackgroundImageCache', false, true);
} catch(e) {}

// ------[ Master Onload for all page. ]------------------------------------------------- //	
window.VESPA = window.VESPA || {};

VESPA = {	
	Init : function() {											
		VESPA.Column.Init();
		VESPA.Search.Init();
		VESPA.MediasBrowser.Init(9999);	// Set the Delay for the timer in millisecond.
		VESPA.SiteMap.Init();
		Shadowbox.init();
		VESPA.Link.Init();

	}
};
YAHOO.util.Event.onDOMReady(VESPA.Init, VESPA, true);

// ------[ Column Height 100% ]------------------------------------------------- //
VESPA.Column = {
	Init : function() {
		var oContent = YAHOO.util.Dom.get('content');
		var oSubContent = YAHOO.util.Dom.get('sub-content');
		
		if(oContent && oSubContent) {
			if (YAHOO.env.ua.ie) {			
				var contentHeight = oContent.offsetHeight;			 			
				var subContentHeight = oSubContent.offsetHeight;
			} else {
				contentHeight =  parseInt(YAHOO.util.Dom.getStyle(oContent, 'height'));	
				subContentHeight =  parseInt(YAHOO.util.Dom.getStyle(oSubContent, 'height'));		
			}
			
			if(contentHeight > subContentHeight) {
				YAHOO.util.Dom.setStyle(oContent, 'height', contentHeight-18 + "px");
				YAHOO.util.Dom.setStyle(oSubContent, 'height', contentHeight + "px");			
				
			} else if (subContentHeight > contentHeight) { 
				YAHOO.util.Dom.setStyle(oContent, 'height', subContentHeight-18 + "px");
				YAHOO.util.Dom.setStyle(oSubContent, 'height', subContentHeight + "px");
				
			}
		}
	}
}


// ------[ Link ]------------------------------------------------- //
VESPA.Link = {
	Init : function() {
		a = document.getElementsByTagName("a");

		for(x=0; x<a.length; x++) {			
			if(a[x].firstChild.tagName == 'IMG') {
				YAHOO.util.Dom.addClass(a[x], 'img');

				att = a[x].getAttribute("rel");
				if(att == "shadowbox") {
					YAHOO.util.Dom.addClass(a[x], 'img-shadowbox');

					var img  = document.createElement('img');
						img.src = basePath + "images/zoom.png";
						img.className = "img-zoom";
					a[x].appendChild(img);

        		}												
			}			
		}
	}
}

// ------[ Media Browser ]------------------------------------------------- //
VESPA.MediasBrowser = {
	oMedias : null,
	oMediasList : null,
	currentMedia : 0,
	lastMedia : 0,
	timer: null,
	duration : 5000,
	
	Init : function(duration) {			
		if(duration) this.duration = duration;
		
		this.oMedias = document.getElementById('medias');
		this.oMediasList = YAHOO.util.Dom.getElementsByClassName('media', 'div', this.oMedias);
		
		if(this.oMediasList.length > 0) {
			YAHOO.util.Dom.setStyle(this.oMediasList[0], "visibility", "inherit");
			var fadeIn = new YAHOO.util.Anim(this.oMediasList[0], { opacity: { from: 0, to: 1 } }, 1);
			fadeIn.animate();										
		}
	
		if(this.oMediasList.length > 1) {
			this.timer = setTimeout("VESPA.MediasBrowser.Update()",this.duration);
		}							
	},
	
	Update : function(obj) {
		nextMedia = this.currentMedia+1;
		if(nextMedia > (this.oMediasList.length-1)) nextMedia = 0;

		YAHOO.util.Dom.setStyle(this.oMediasList[nextMedia], "visibility", "inherit");						

		var fadeOut = new YAHOO.util.Anim(this.oMediasList[this.currentMedia], { opacity: { from: 1, to: 0 } }, 1);
		var fadeIn = new YAHOO.util.Anim(this.oMediasList[nextMedia], { opacity: { from: 0, to: 1 } }, 1);
		fadeIn.animate();									
		fadeOut.animate();		
		
		fadeOut.onComplete.subscribe(function() {
			YAHOO.util.Dom.setStyle(VESPA.MediasBrowser.oMediasList[VESPA.MediasBrowser.lastMedia], "visibility", "hidden");
		})

		this.lastMedia = this.currentMedia;
		this.currentMedia = nextMedia;
		
		this.timer = setTimeout("VESPA.MediasBrowser.Update()",this.duration);
	}
	
}
//YAHOO.util.Event.addListener(window, "onLoad", VESPA.MediasBrowser.Init); 

// ------[ Search UI ]------------------------------------------------- //
VESPA.Search = {
	Init : function() {
		this.s1 = document.getElementById('search-query');	
		this.s1.label = this.s1.value;
		
		YAHOO.util.Event.addListener(this.s1, "click", this.Clic, this.s1, true);
		YAHOO.util.Event.addListener(this.s1, "blur", this.Blur, this.s1, true);	
	},	
	Clic : function() {
		if(this.value == this.label) this.value = '';
	},	
	Blur : function() {
		if(this.value == '') this.value = this.label;
	}	
}

// ------[ SiteMap UI ]------------------------------------------------- //
VESPA.SiteMap = {		
	ul : null,
	button : null,
	isOpen : false,
	height : 0,
	
	Init : function() {
		this.button = document.getElementById('button-site-plan');	
		this.button.href = "javascript:void(0);";				
		
		/* Parse sub ul for height */
		this.ul = document.getElementById('site-plan');	
		uls = this.ul.getElementsByTagName('ul');

		h = 0;
		for(x=0; x<uls.length; x++) {
			
			if(YAHOO.env.ua.ie) { // IE can get the real height when no height is set from element, it return AUTO.
				hh = parseInt(uls[x].offsetHeight);
			} else {
				hh =  parseInt(YAHOO.util.Dom.getStyle(uls[x], 'height'));				
			}

			if(hh > h) h = hh;
		}			
		for(x=0; x<uls.length; x++) {
			YAHOO.util.Dom.setStyle(uls[x], 'height', h + "px");
		}		
			
		this.height = h + 74 + 36;
		
		/* set button action */
		YAHOO.util.Event.addListener(this.button, "click", VESPA.SiteMap.Click, this, true);			

	},	
	
	Click : function() {
		if(!this.isOpen) {
			YAHOO.util.Dom.addClass(this.button, 'open');
			this.isOpen = true;
			this.Open();
//			YAHOO.util.Dom.addClass(this.ul, 'open');			
			
		} else {
			YAHOO.util.Dom.replaceClass(this.button, 'open', ' ');							
			this.isOpen = false;
			this.Close();			
//			YAHOO.util.Dom.replaceClass(this.ul, 'open', ' ');		
		}
	},
	
	Open : function() {

		var attributes = { height: {"to": this.height } };
		anim = new YAHOO.util.Motion(this.ul, attributes, .7, YAHOO.util.Easing.easeOut);
		anim.animate();				
	},
	
	Close : function() {
		var attributes = { height: {"to": 54 } };
		var anim = new YAHOO.util.Motion(this.ul, attributes, .7, YAHOO.util.Easing.easeIn);		
		anim.animate();		
	}
}


// ------[ Popup Window ]------------------------------------------------- //
VESPA.PopWindow = function(url,w,h,scroll,tools,name,center) {
	var str = "height=" + h + ",innerHeight=" + h;
	str += ",width=" + w + ",innerWidth=" + w;
	if(!center) var center = false;
	if(!scroll) scroll = 0;
	if(!tools) tools = 0;
	if(!name) name = "pop";
	if((window.screen) && (center)) {
		var ah = screen.availHeight - 30;
		var aw = screen.availWidth - 10;
		var xc = (aw - w) / 2;
		var yc = (ah - h) / 2;
		str += ",left=" + xc + ",screenX=" + xc;
		str += ",top=" + yc + ",screenY=" + yc;
		}
	pop = window.open(url,name,'toolbar=' + tools + ',location=0,directories=0,status=0,menubar=0,scrollbars=' + scroll + ',resizable=1,' + str).focus();
};



var clickmessage="Copyright VESPA!"
function disableclick(ev)
{if (document.all)
{if (event.button==2 || event.button==3)
{if (event.srcElement.tagName=="IMG")
{alert(clickmessage);
return false;}}}
if (document.layers)
{if (ev.which==3)
{alert(clickmessage);
return false;}}}
function associateimages()
{for (i=0;i<document.images.length;i++)
document.images[i].onmousedown=disableclick}
if (document.all)
document.onmousedown=disableclick
else if (document.layers)
associateimages()


function clic(e)
{
  var message = "Click Droit Interdit";
  
  if(!document.rightClickDisabled) // initialize
  {
    if(document.layers) 
    {
      document.captureEvents(Event.MOUSEDOWN);
      document.onmousedown = clic;
    }
    else document.oncontextmenu = clic;
    return document.rightClickDisabled = true;
  }
  if(document.layers || (document.getElementById && !document.all))
  {
    if (e.which==2||e.which==3)
    {
      alert(message);
      return false;
    }
  }
  else
  {
    alert(message);
    return false;
  }
}


function curseurover(e,t)
{

for(var i=1;i < t;i++) 
	{
		if (document.getElementById('news'+i).style.display == "block")
		{
			document.getElementById('news'+i).style.display = "none";
			//document.getElementById('news'+i).style.zindex = "0";
			document.getElementById('nouvelle'+i).src="/images/Blocnew.png";
		}
	}

	
	document.getElementById('news'+e).style.display='block';
	document.getElementById('nouvelle'+e).src="/images/Blocnew1.png";
}




function curseurout(t)
{

for(var i=1;i < t;i++) 
	{
		if (document.getElementById('news'+i).style.display == "block")
		{
			document.getElementById('news'+i).style.display = "none";
		}
	}

for(var i=1;i < t;i++) 
	{
		if (document.getElementById('news'+i).style.zindex == 0)
		{
			document.getElementById('news'+i).style.zindex = "1";
			document.getElementById('news'+i).style.display = "block";
		}
	}
	
}
