// -- return an XmlHttpRequest for all navigators
function getXhr(){
	if (window.ActiveXObject){
		try {
         var xhr = new ActiveXObject("Msxml2.XMLHTTP");
         return xhr;
      } catch (e) {
      	var xhr = new ActiveXObject("Microsoft.XMLHTTP");
      	return xhr;
      }
	} else  if(window.XMLHttpRequest) {// Firefox et autres
	   var xhr = new XMLHttpRequest();
	   return xhr; 
	} else { // XMLHttpRequest not supported by browser
	   alert("Your browser doesn't support XMLHTTPRequest objects..."); 
	   var xhr = false; 
	} 
}

var responseText = "";

function fillEll(itemId){
	document.getElementById(itemId).innerHTML = responseText;
}
function loadDiv(url,item){
    
    var xhrLoc = getXhr();

    item.innerHTML="<img src=\"rubriques/commun/img/loader.gif\" width=\"16\" height=\"16\" />";

    xhrLoc.onreadystatechange = function()
    {
        if(xhrLoc.readyState == 4 && xhrLoc.status == 200)
        {					
		
        	//setTimeout("fillEll(\'"+item.id+"\')",600);
        	item.innerHTML = xhrLoc.responseText;        	
					responseText = xhrLoc.responseText;
									
            if(scripts = xhrLoc.responseText.match(/<script[^>]*?>[\S\s]*?<\/script>/g)){
                 for(var i=0;i< scripts.length;i++){                            
                     eval(scripts[i].replace(/^<script[^>]*?>/, '').replace(/<\/script>$/, ''));
                 }
            }
        }
    }			
    
    var params = "";
    if(url.indexOf("?")!=-1){   
        params = url.substring(url.indexOf("?")+1,url.length);
        url = url.substring(0,url.indexOf("?"));
    }
    
    xhrLoc.open("POST", url, true);
    xhrLoc.setRequestHeader('Content-Type','application/x-www-form-urlencoded');    
    xhrLoc.send(params);
}

window.simpleBox = function (pageUrl){

	var overlayElt = new Element('div', {
    'id': 'sb-overlay',
    'class': 'sb-class',
    'styles': {
        'opacity': '0',
        'width':window.getSize().x,
        'height':window.getScrollSize().y
    }
  });
  
  overlayElt.addEvent('click',closeSimpleBox);
  
  window.addEvent('resize',function(){
  	var overlayElt = $('sb-overlay');
    if(overlayElt){
    	overlayElt.setStyle('width', window.getSize().x);
    	overlayElt.setStyle('height', window.getScrollSize().y);
    }    
	});

  
  var containerElt = new Element('div', {
    'id': 'sb-container',
    'styles': {
        'height': '365px'
        ,'top':window.getScroll().y + 100
    }
  });
  
  containerElt.addEvent('click',closeSimpleBox);
  
  var contentElt = new Element('div', {
    'id': 'sb-content',
    'class': 'sb-class',
    'styles': {
        'width': '500px',
        'height': '365px',
        'background-color':'transparent',
        'opacity':'0'
    }
  });

  contentElt.addEvent('click',function (){ return false; });
  
  $(document.body).adopt(overlayElt);
  containerElt.adopt(contentElt);
  $(document.body).adopt(containerElt);
  
  var myFx = new Fx.Elements($$('.sb-class'));
  myFx.start({
    '0': {
        'opacity': '0.8'
    },
    '1': {        
        'opacity': '1'
    }
	});
	  
  if(pageUrl){
		loadDiv(pageUrl,contentElt);
	}
}

window.closeSimpleBox = function (){
	
	var myFx = new Fx.Elements($$('.sb-class'), {
												'onComplete':function (){
														$('sb-overlay').destroy();
														$('sb-container').destroy();
													}
												});
	
	myFx.start({
    '0': {
        'opacity': '0'
    },
    '1': {        
        'opacity': '0'
    }
	});

}

window.FotoBox = function (container,data,imageRootDir){
	
	this.container = container;
	this.data = data;
	this.imageRootDir = imageRootDir;
	
	this.currentIndex = 0;
	this.imgList = new Array();
	
	this.show = function (){
		
		this.data = new Hash(this.data);
		
		var box = $(this.container);
		//var hoverNav = new Element('div', { 'id':'hoverNav' } );
		/*var prevLink = new Element('a', { 'id':'prevLink','href':'#','styles':{
																			'height':'342px'
																			,'display':'block'
																			,'visibility':'hidden'
																			,'background':'transparent url(/img/transparent.gif) no-repeat scroll left 15%'
																		}
															});
		var nextLink = new Element('a', { 'id':'nextLink','href':'#','styles':{
																			'height':'342px'
																			,'display':'block'
																			,'background':'transparent url(/img/transparent.gif) no-repeat scroll left 15%'
																		}
															});*/												
		var prevLink = $('prevLink');
		var nextLink = $('nextLink');
		prevLink.addEvent('click',this.previous);
		nextLink.addEvent('click',this.next);
		
		//prevLink.addEvent('mouseover',function (){$('prevLink').setStyle('background','transparent url(/img/galerie/prevlabel.gif) no-repeat scroll left 15%');});
		//nextLink.addEvent('mouseover',function (){$('nextLink').setStyle('background','transparent url(/img/galerie/nextlabel.gif) no-repeat scroll right 15%');});
		
		//prevLink.addEvent('mouseout',function (){$('prevLink').setStyle('background','transparent url(/img/galerie/prevlabel.gif) no-repeat scroll left 15%');});
		//nextLink.addEvent('mouseout',function (){$('nextLink').setStyle('background','transparent url(/img/galerie/nextlabel.gif) no-repeat scroll right 15%');});
		
		//hoverNav.adopt(prevLink);
		//hoverNav.adopt(nextLink);
		
		
		this.data.each(function(value, key){
			
    	    var imageObj = new Image();
    	    imageObj.src = this.imageRootDir + "/" + key;
    	    
	    	var img = new Element('img', {'class':'centerDiv', 'src': this.imageRootDir + "/" + key , 'styles':{'position':'absolute','top':'0','left':'0','opacity':'0'} });    	
	    	$(this.container).adopt(img);
	    	
	    	this.imgList[this.imgList.length] = img;
    	
		},this);
		
		this.showImg(0,-1);
		
	}
			
	this.next = function (){
		fotoBox.showImg(fotoBox.currentIndex+1,fotoBox.currentIndex);
		fotoBox.currentIndex++;
		
		$('numeroImgGal').innerHTML = ((fotoBox.currentIndex+1)<10?'0'+(fotoBox.currentIndex+1):(fotoBox.currentIndex+1));

		if(fotoBox.currentIndex == (fotoBox.imgList.length-1)){
			$('nextLink').setStyle('visibility', 'hidden');
		}
		else if (fotoBox.currentIndex > 0) {
			$('prevLink').setStyle('visibility', 'visible');
		}
	}
	
	this.previous = function (){
		fotoBox.showImg(fotoBox.currentIndex-1,fotoBox.currentIndex);
		fotoBox.currentIndex--;

		$('numeroImgGal').innerHTML = ((fotoBox.currentIndex+1)<10?'0'+(fotoBox.currentIndex+1):(fotoBox.currentIndex+1));
		
		if(fotoBox.currentIndex == 0){
			$('prevLink').setStyle('visibility', 'hidden');
		}
		else if (fotoBox.currentIndex < (fotoBox.imgList.length-1)) {
			$('nextLink').setStyle('visibility', 'visible');
		}
	}
	
	this.showImg = function (imgIdxToShow,imgIdxToHide){
				
		if(this.imgList[imgIdxToShow].getSize().y > $(this.container).getSize().y)
			$(this.container).setStyle('height',this.imgList[imgIdxToShow].getSize().y);
		
		if(imgIdxToHide == -1){
			
			var imgArray = [this.imgList[imgIdxToShow]];
			
			var myFx = new Fx.Elements(imgArray);
	
			myFx.start({
		    '0': {
		        'opacity': '1'
		    }
			});
			
		}
		else{
	
			var imgArray = [this.imgList[imgIdxToShow],this.imgList[imgIdxToHide]];
			
			var myFx = new Fx.Elements(imgArray);
			
				myFx.start({
			    '0': {
			        'opacity': '1'
			 		}
			 		,'1': {
			        'opacity': '0'
			 		}
			 	});
		}
	}
	
}
