 try {
  document.execCommand("BackgroundImageCache", false, true);
} catch(err) {}

addDOMLoadEvent = (function(){
    // create event function stack
    var load_events = [],safari_timer,done,exec,script;

 var init = function () {
            done = true;

            // kill the timer
            clearInterval(safari_timer);

            // execute each function in the stack in the order they were added
            while (exec = load_events.shift())
                exec();

            if (script) script.onreadystatechange = '';
        }

    return function (func) {
        // if the init function was already ran, just run this function now and stop
        if (done) return func();

        if (!load_events[0]) {
            // for Mozilla/Opera9
            if (document.addEventListener)
                document.addEventListener("DOMContentLoaded", init, false);

            if (/WebKit/i.test(navigator.userAgent)) { // sniff
                safari_timer = setInterval(function() {
                    if (/loaded|complete/.test(document.readyState))
                        init(); // call the onload handler
                }, 10);
            }

            old_onload = window.onload;
            window.onload = function() {
                init();
                if (old_onload) old_onload();
            };
        }

        load_events.push(func);
    }
})();

 
 function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
	window.onload = func;
	} else {
	window.onload = function() {
	oldonload();
	func();
		}
	}
 }
 
 function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
 }	
 
var data1 = new Date();
var photos_array = new Array();	

var current_photo = 0;

var relocate = [null,null,current_photo+1];
current_photo = relocate[2]-1;

function path_images ()
 {
	var photos_img= $$('.photo');
	
	 for(m=0; m<photos_img.length; m++)
   {  
	  photos_array[m] = photos_img[m].getAttribute('src');
	  
	  }
	
 }
 
 function externalLinks() {
 if (!document.getElementsByTagName) return;
 var anchors = document.getElementsByTagName("a");
 for (var i=0; i<anchors.length; i++) {
   var anchor = anchors[i];
   if (anchor.getAttribute("href") &&
       anchor.getAttribute("rel") == "external")
     anchor.target = "_blank";
 }
}
 
 Fx.Properties = Fx.Styles.extend({	
			increase: function(){for (	var p in this.now) this.element[p] = this.now[p];	}	
		});



		Fx.FlyingScroller = Fx.Properties.extend({
			initialize: function(el, options){
				this.parent(el, options);
				this.options = Object.extend(this.options || {}, Object.extend({
					paddingLeft: 0,
					paddingTop: 0
				}, options || {}));
			},
			toElement: function(el, paddingLeft, paddingTop){
				this.goTo(el.offsetLeft - (paddingLeft || this.options.paddingLeft || 0), el.offsetTop - (paddingTop || this.options.paddingTop || 0));
			},
			goTo: function(x, y){
				this.start({
					'scrollLeft': [this.element.scrollLeft, x],
					'scrollTop': [this.element.scrollTop, y]
				})
			}
		});

function id(id)
	{
		var elem = document.getElementById(id);
		return elem;
	}		
	
/*
	Navigation is used for main menu slide
*/
	
 function navigation ()
 { var contents = $('contents');
   var photos_big = $$('.photo');
         
   for(x=0; x<photos_big.length; x++)
   {  photos_big[x].setAttribute('src','./images/pix.gif');
	}
   var photos = document.getElementById('photos');
   var photos_img= $$('#photos img');
   var photos_span = $$('#photos span'); 
   
   var galerie = document.getElementById('galerie');
   galerie.removeChild(photos);
   var photos_wrapper = document.createElement('div');
   photos_wrapper.setAttribute('id','photos_wrapper');
   galerie.appendChild(photos_wrapper);
        
   
   for(m=0; m<photos_img.length; m++)
   {photos_wrapper.appendChild(photos_img[m]);
	   photos_img[m].style.top = m*555 + 'px';
	   photos_img[m].removeAttribute('alt');
	  }
  

 
   var photos_nav2 = $('photos_nav2');
   photos_nav2.style.visibility = 'visible';
   photos_nav2.style.position = 'absolute';
   photos_nav2.style.top = 471 + 'px';
   photos_nav2.style.left = 0;
   photos_nav2.style.margin = 0;
 
   var photos_nav_h4 = document.createElement('h4');
  photos_nav2.appendChild(photos_nav_h4);
   photos_nav_h4.innerHTML = photos_span[0].innerHTML;

  var main_nav = new Fx.FlyingScroller($('contents_wrapper'), {
		transition: Fx.Transitions.quadInOut,
		duration: 1500,
		paddingLeft: 0,
		paddingTop: 0
	
	});
	
  if(!relocate[0]) {main_nav.clearTimer().toElement($('acceuil')); }
  else {
	  main_nav.clearTimer().toElement($(relocate[0]));
	  var hovered = getElementsByClass(relocate[0],$('photos_nav2'),'a');
	  if(hovered.length>0) {
	  hovered[0].setAttribute('id','hovered');
	  }
  }
   
  var gal_nav = new Fx.FlyingScroller($('photos_wrapper'), {
		transition: Fx.Transitions.quadInOut,
		duration: 1500,
		paddingLeft: 0,
		paddingTop: 0
		
	
	});
  gal_nav.clearTimer().toElement($('photo1'));
  
   var contact_nav = new Fx.FlyingScroller($('contacts'), {
		transition: Fx.Transitions.quadInOut,
		duration: 1500,
		paddingLeft: 0,
		paddingTop: 0
		
	
	});
  
   if(!relocate[1]) {contact_nav.clearTimer().toElement($('contacts_start'));}
  else {contact_nav.clearTimer().toElement($(relocate[1])); }
  

 
   var main_nav_lks = new Array();
   var linkuri = $$('a');
   var photo_nav2_lks = $$('#photos_nav2 a');
   
	photo_nav2_lks[0].setAttribute('id','selectat');
	var content_div =  $$('.content');
   
   for (m=0; m<linkuri.length; m++)
   {
	 if(linkuri[m].getAttribute('rel')=='main_menu')
	 {
	    main_nav_lks.push(linkuri[m]); 	 
	  }
	}
   for (i=0; i<main_nav_lks.length; i++)
   {
	 main_nav_lks[i].onclick = function ()
	 {     
	   var hovered = $('hovered');
		if(hovered) {hovered.removeAttribute('id');}
		if(this.className!='home') {this.setAttribute('id','hovered');}
		
		var target_page = $(this.className);
		if(this.getAttribute('rel')=='main_menu')
	   { 
	   main_nav.clearTimer().toElement($(target_page )); 
		 relocate[0] = this.className;
	   }
	   
	   if(this.className=='contacts')
	   { 
		 contact_nav.clearTimer().toElement($('contacts_start')); 
		
	   }
	   
		 relocate[1] = null;
		
		/* Function update desc. text */
		update_text(this.className);
		
       return false;  
	  }
   }
   
  
   
   var photos_nav = document.createElement('ul');
   photos_nav.setAttribute('id','photos_nav')
   for(i=0; i<2; i++)
   { var li = document.createElement('li');
     var a = document.createElement('a');
	 a.setAttribute('href','#');
	 photos_nav.appendChild(li);
	 li.appendChild(a);
	}
	galerie.appendChild(photos_nav);
	var photos_nav_lks = photos_nav.getElementsByTagName('a');
	photos_nav_lks[0].setAttribute('id','photo_inapoi');
	photos_nav_lks[1].setAttribute('id','photo_inainte');
	
   var photo_inapoi = photos_nav_lks[0];
   var photo_inainte = photos_nav_lks[1];
	
	if(relocate[2]!=1) {
		gal_nav.clearTimer().toElement($('photo'+relocate[2]));
		photo_nav2_lks[relocate[2]-1].fireEvent('click');
		var selectat = $('selectat');
		if(selectat) {selectat.removeAttribute('id');}
		photo_nav2_lks[relocate[2]-1].setAttribute('id','selectat');
		if(current_photo==0) 
		 {photo_inapoi.style.visibility = 'hidden';
		  photo_inainte.style.visibility = 'visible';
		 }
		 else if (current_photo==(photo_nav2_lks.length-1)) 
		 {photo_inainte.style.visibility = 'hidden';
		 photo_inapoi.style.visibility = 'visible';
		 } 
		 else {
		  photo_inapoi.style.visibility = 'visible';	
		  photo_inainte.style.visibility = 'visible';
		 }
		
	}
	else {
		gal_nav.clearTimer().toElement($('photo'+relocate[2]));
	}
   
   photo_inapoi.onclick = function () 
   { 
	
     if(current_photo==1) 
	 {this.style.visibility = 'hidden';}
     if(current_photo>0) 
      { current_photo--; }
	  
	  var selectat = $('selectat');
      if(selectat) {selectat.removeAttribute('id');}
	  photo_nav2_lks[current_photo].setAttribute('id','selectat');
	  photo_inainte.style.visibility  = 'visible';
	
	 gal_nav.clearTimer().toElement($('photo'+(current_photo+1)));
	 
	 photos_nav_h4.innerHTML = photos_span[current_photo].innerHTML;
	 relocate[2] = current_photo+1;
	 return false;
   }
   
   photo_inainte.onclick = function () 
   { 
     if(current_photo==photo_nav2_lks.length-2) 
	 {this.style.visibility = 'hidden';}
     if(current_photo<photo_nav2_lks.length-1) 
      { current_photo++; }
	  
      var selectat = $('selectat');
      if(selectat) {selectat.removeAttribute('id');}
	  photo_nav2_lks[current_photo].setAttribute('id','selectat');
	  photo_inapoi.style.visibility  = 'visible';
	
	 gal_nav.clearTimer().toElement($('photo'+(current_photo+1)));
	 photos_nav_h4.innerHTML = photos_span[current_photo].innerHTML;
	 relocate[2] = current_photo+1;
	 
	 return false;
   }
   
   
   for(x=0; x<photo_nav2_lks.length; x++)
  {
	 
	  photo_nav2_lks[x].addEvent('click',function(e) {
			  if (!e) var e = window.event;
			  var selectat = $('selectat');
			  if(selectat) {selectat.removeAttribute('id');}
			  this.setAttribute('id','selectat');
			  for(z=0; z<photo_nav2_lks.length; z++)
			  {

				  if(photo_nav2_lks[z].getAttribute('id')=='selectat')
				  {  current_photo = z;
					  if(current_photo==0) 
					 {photo_inapoi.style.visibility = 'hidden';
					  photo_inainte.style.visibility = 'visible';
					 }
					 else if (current_photo==(photo_nav2_lks.length-1)) 
					 {photo_inainte.style.visibility = 'hidden';
					 photo_inapoi.style.visibility = 'visible';
					 } 
					 else {
					  photo_inapoi.style.visibility = 'visible';	
					  photo_inainte.style.visibility = 'visible';
					 }
					 
					gal_nav.clearTimer().toElement($('photo'+(current_photo+1)));
					photos_nav_h4.innerHTML = photos_span[current_photo].innerHTML;
					
					relocate[2] = current_photo+1;
				  }
				 
				}
				
			  if(e) {
				if(e.preventDefault) e.preventDefault();
				if(e.returnValue) e.returnValue = false;
				} 

				return false;
			 }													
																
		
	  )
	
	 
	 
  }
  
  	 var champel_contact_lk = document.getElementById('champel_contact_link');
	 var lancy_contact_lk = document.getElementById('lancy_contact_link');
	 var map_lk = document.getElementById('map_link');
	 
     champel_contact_lk.onclick = function () 
	  {
		if (jQuery("#currentmap").attr("alt") == "boutiqueLancy") {
			contact_nav.clearTimer().toElement($('contact_start')); 
			setTimeout('to_map(\'champel\')',1700);
		} else {
			jQuery("#currentmap").attr("src","images/boutiqueChampel.jpg");
			contact_nav.clearTimer().toElement($('map')); 
		}
		 relocate[1] = 'map';
		 jQuery("#currentmap").attr("alt","boutiqueChampel");
		 
		 return false;
	   }
	   
	lancy_contact_lk.onclick = function () 
	  {
		if (jQuery("#currentmap").attr("alt") == "boutiqueChampel") {
			contact_nav.clearTimer().toElement($('contact_start')); 
			setTimeout('to_map(\'lancy\')',1700);
		} else {
			jQuery("#currentmap").attr("src","images/boutiqueLancy.jpg");
			contact_nav.clearTimer().toElement($('map')); 
		}
		 relocate[1] = 'map';
		 jQuery("#currentmap").attr("alt","boutiqueLancy");
		 
		 return false;
	   }
	   
	map_lk.onclick = function () 
	  {
		 contact_nav.clearTimer().toElement($('contact_start')); 
		  relocate[1] = 'contact_start';
		  jQuery("#currentmap").attr("alt","start");
		 
		 return false;
	   }      
  
  }
  function to_map(map) {
	var contact_nav = new Fx.FlyingScroller($('contacts'), {
		transition: Fx.Transitions.quadInOut,
		duration: 1500,
		paddingLeft: 0,
		paddingTop: 0
		
	
	});
	if (map=="champel"){
		jQuery("#currentmap").attr("src","images/boutiqueChampel.jpg");
	} else if (map=="lancy"){
		jQuery("#currentmap").attr("src","images/boutiqueLancy.jpg");
	}
	contact_nav.clearTimer().toElement($('map'));
  }
  

  function update_text(name){
	document.getElementById('accueil_text').style.display='none';
	document.getElementById('galerie_text').style.display='none';
	document.getElementById('contacts_text').style.display='none';
	document.getElementById('hauteCouture_text').style.display='none';
	document.getElementById('surMesure_text').style.display='none';
	document.getElementById('corporateImage_text').style.display='none';
	document.getElementById('autresServices_text').style.display='none';
	
	document.getElementById(name+'_text').style.display='block';
	
	//document.getElementById('description').innerHTML = document.getElementById(name+'_text').innerHTML;
  }
  
  function selectReplacement(obj) {
      obj.className += ' replaced';
      var ul = document.createElement('ul');
      ul.className = 'selectReplacement';
	  ul.setAttribute('id','selectReplacement');
      var opts = obj.options;
      for (var i=0; i<opts.length; i++) {
        var selectedOpt;
        if (opts[i].selected) {
          selectedOpt = i;
          break;
        } else {
          selectedOpt = 0;
        }
      }
      for (var i=0; i<opts.length; i++) {
        var li = document.createElement('li');
		
		var txt = document.createTextNode(opts[i].text);
        li.appendChild(txt);
		
        li.selIndex = opts[i].index;
        li.selectID = obj.id;
        li.onclick = function() {
          selectMe(this);
        }
		
        if (i == selectedOpt) {
          li.className = 'selected';
          li.onclick = function() {
            this.parentNode.className += ' selectOpen';
            this.onclick = function() {
              selectMe(this);
            }
          }
		  
        }
        if (window.attachEvent) {
          li.onmouseover = function() {
            this.className += ' hover';
          }
          li.onmouseout = function() {
            this.className = 
              this.className.replace(new RegExp(" hover\\b"), '');
          }
        }
        ul.appendChild(li);
      }
      obj.parentNode.insertBefore(ul,obj);
    }
    function selectMe(obj) {
      var lis = obj.parentNode.getElementsByTagName('li');
      for (var i=0; i<lis.length; i++) {
        if (lis[i] != obj) {
          lis[i].className='';
          lis[i].onclick = function() {
            selectMe(this);
          }
        } else {
          setVal(obj.selectID, obj.selIndex);
          obj.className='selected';
          obj.parentNode.className = 
            obj.parentNode.className.replace(new RegExp(" selectOpen\\b"), '');
          obj.onclick = function() {
            obj.parentNode.className += ' selectOpen';
            this.onclick = function() {
              selectMe(this);
            }
          }
        }
      }
    }
    function setVal(objID, selIndex) {
      var obj = document.getElementById(objID);
      obj.selectedIndex = selIndex;
    }
    function setForm() {
      var s = document.getElementsByTagName('select');
      for (var i=0; i<s.length; i++) {
        selectReplacement(s[i]);
      }
    }
    
  
	
 function photos_big_replace() {
	 var photos_big = $$('.photo');
	 for(m=0; m<photos_big.length; m++)
    {   photos_big[m].setAttribute('src',photos_array[m]);
	  }
	 
	}	
  
 function timer_img ()
	{ var data2 = new Date();
	  window.setTimeout(photos_big_replace,data2-data1);	
	}
  addDOMLoadEvent(path_images);
  addDOMLoadEvent(navigation);
  addDOMLoadEvent(setForm);
 
  addDOMLoadEvent(externalLinks);
  addLoadEvent(timer_img);
//  addLoadEvent(date_chooser_init);
//  addLoadEvent(date_chooser_call);
