window.addEvent('domready', function() {
  SqueezeBox.assign($$('a[rel=boxed]'), {
    handler: 'iframe', 
    size: {x: 620, y: 700}
  });
  
  SqueezeBox.assign($$('a[rel=small-boxed]'), {
    handler: 'iframe', 
    size: {x: 620, y: 500}
  });

  if($$('img.rotatorimage').length > 0) {
    initSmallRotator();
  }
  
  if(Browser.Engine.trident) {
    $$('ul#subNavigation').each(function(elm) {
      last = elm.getLast('li');
      if(last!=null) {
        last.setStyle('margin-right','0');
      }
    });
    $$('div#content').each(function(elm) {
      last = elm.getLast('div.contentBlock');
      if(last!=null) {
        last.setStyle('border-bottom','none');
      }
    });
    $$('div.contentBlock').each(function(elm) {
      last = elm.getLast('div.block');
      if(last!=null) {
        last.setStyle('margin-right','0');
      }
      last = elm.getLast('div.smallBlock');
      if(last!=null) {
        last.setStyle('margin-right','0');
      }
      last = elm.getLast('div.contentBlockMedium');
      if(last!=null) {
        last.setStyle('margin-right','0');
      }
      last = elm.getLast('div.mediumBlock');
      if(last!=null) {
        last.setStyle('margin-right','0');
      }
    });
  }
  
  initRollOvers();
  
  $$('div.textAccordeon').each(function(elm) {
  	infoRel = elm.get('rel');
  	var info = infoRel.toString().split('|');
  	readMoreContainer = new Element('div', {
  		'class': 'readMoreContainer'
  	});
  	readMoreContainer.inject(elm,'after');
  	readMoreLink = new Element('a', {
  		events: {
  			'click': function(e) {
  				if(e != null) {
  					e.preventDefault();
  				}
  				elm = $(this);
  				readLess = elm.retrieve('readLess');
  				readScrollSize = readLess.getScrollSize();
  				readLess.setStyles({
  					'height': readScrollSize.y,
  					'overflow': 'hidden'
  				});
  				readLess.set('html', $(elm.get('rel')).get('html'));
  				elm.getParent().destroy();
  				
  				var myFx = new Fx.Tween(readLess, {
					    duration: 'short',
					    transition: Fx.Transitions.Sine.easeInOut,
					    property: 'height'
					});
					newReadScrollSize = readLess.getScrollSize();
  				myFx.start(newReadScrollSize.y);
  			}
  		},
  		'class': 'readMoreLink',
  		'href': '#',
  		'html': '+ '+info[1],
  		'rel': info[0]
  	});
  	readMoreLink.store('readLess', elm);
  	readMoreLink.inject(readMoreContainer);
  });
  
  if($('referenceoverviewcontainer') != null) {
  	initReferenceOverview();
  }
});

function initSmallRotator() {
  var images = $$('img.rotatorimage');
  var currentImageNr = 0;
  var maxImage = images.length-1;
  var newImageNr = 0;
  var timer = null;
  
  currentImage = images[currentImageNr];
  currentImage.setStyle('visibility','visible');
  relValues = currentImage.get('rel');
  if($('reftitle') != null && relValues != null) {
    relValues = relValues.split('|');
    $('reftitle').set('html', relValues[0]);
    $('reftitle').set('href', relValues[2]);
    $('refdesc').set('html', relValues[1]);
  }
  
  qouteBlock = window.document.getElement('div.quoteblock');
  
  
  if(qouteBlock != null && relValues != null) {
    qouteSubTitle = window.document.getElement('div.qoutesubtitle');
    if(relValues[3] != '' && relValues[3] != undefined) {
      qouteBlock.set('html', '<p>"'+relValues[3]+'"</p>');
      qouteSubTitle.set('html', '<p><strong>'+relValues[4]+'</strong><br />'+relValues[5]+'</p>');
    } else {
      qouteBlock.empty();
      qouteSubTitle.empty();
    }
  }
  
  textBlock = $('content').getElement('div.infoSlider').getElement('div.textBlock');
  previousButton = textBlock.getElement('a.left');
  nextButton = textBlock.getElement('a.right');
  
  if(images.length > 1) {
    
    previousButton.addEvent('click', function(e) {
      if(e != null) {
        e.preventDefault();
      }
      if(images.indexOf(currentImage) == 0) {
        newImageNr = maxImage;
      } else {
        newImageNr--;
      }
      
      if(timer != null) {
      	clearInterval(timer);
      }
      
      var newImage = images[newImageNr];
      switchImage(images[newImageNr], newImageNr, currentImage, currentImageNr);
      currentImage = newImage;
      currentImageNr = newImageNr;
    });
    
    nextButton.addEvent('click', function(e) {
      if(e != null) {
        e.preventDefault();
      }
      if(images.indexOf(currentImage) == maxImage) {
        newImageNr = 0;
      } else {
        newImageNr++;
      }
      
      if(timer != null && e != null) {
      	clearInterval(timer);
      }

      var newImage = images[newImageNr];
      switchImage(images[newImageNr], newImageNr, currentImage, currentImageNr);
      currentImage = newImage;
      currentImageNr = newImageNr;
    });
    
    timer = (function(){  
  		textBlock = $('content').getElement('div.infoSlider').getElement('div.textBlock');
  		nextButton = textBlock.getElement('a.right');
  		nextButton.fireEvent('click');
 		}).periodical(3000);	
    
  } else {
    previousButton.setStyle('display','none');
    nextButton.setStyle('display','none');
  }
}

function switchImage(newImage, newImageNr, currentImage, currentImageNr) {
  
  
  newImage.setStyle('z-index',91);
  newImage.setStyle('opacity','0');
  newImage.setStyle('visibility','visible');
  
  var myEffects = new Fx.Tween(newImage, {
  	duration: 500, 
  	transition: Fx.Transitions.Sine.easeOut,
  	onComplete: function() {
		  currentImage.setStyle('z-index', currentImageNr);
		  currentImage.setStyle('visibility', 'hidden');
		  
		  relValues = newImage.get('rel');
		  newImage.setStyle('z-index',90);
		  
		  if($('piccounter') != null) {
		    $('piccounter').set('html', ''+(newImageNr+1)+'');
		  }
		  
		  if($('reftitle') != null && relValues != null) {
		    relValues = relValues.split('|');
		    $('reftitle').set('html', relValues[0]);
		    $('reftitle').set('href', relValues[2]);
		    $('refdesc').set('html', relValues[1]);
		  }
		  
		  qouteBlock = window.document.getElement('div.quoteblock');
		  
		  
		  if(qouteBlock != null && relValues != null) {
		    qouteSubTitle = window.document.getElement('div.qoutesubtitle');
		    if(relValues[3] != '' && relValues[3] != undefined) {
		      qouteBlock.set('html', '<p>"'+relValues[3]+'"</p>');
		      qouteSubTitle.set('html', '<p><strong>'+relValues[4]+'</strong><br />'+relValues[5]+'</p>');
		    } else {
		      qouteBlock.empty();
		      qouteSubTitle.empty();
		    }
		  }
  	}});
  	
  	myEffects.start('opacity',0,1);
}

function initRollOvers() {
	$$('div.contentBlock .smallBlock','div.contentBlock .block','div.contentBlock .mediumBlock', 'div.referenties div.ref').each(function(elm){
    if(!elm.hasClass('branches') && !elm.hasClass('introText')) {
      
      elm.removeEvents('click');
      elm.removeEvents('mouseenter');
      elm.removeEvents('mouseleave');
      
      elm.addEvent('click', function(e) {
        if(e != null) {
          e.preventDefault();
        }
        link = this.getElement('a');
        if(link.get('rel') != 'boxed') {
          linkUrl = link.get('href');
          if(linkUrl == 'javascript:;') {
            link = this.getElement('h2 a');
            linkUrl = link.get('href');
          }
          window.location = linkUrl;
        }
      });
      elm.addEvent('mouseenter', function(e) {
        if(e != null) {
          e.preventDefault();
        }
        this.addClass('blockHover');
      });
      elm.addEvent('mouseleave', function(e) {
        if(e != null) {
          e.preventDefault();
        }
        this.removeClass('blockHover');
      });
    }
  });
}

function initReferenceOverview() {
	
	$$('ul.referentieMenu li a').each(function(elm) {
		
		elm.addEvent('click', function(e) {
			if(e != null) {
				e.preventDefault();
			}
			loadReferenceOverview($(this));
		});
		
	});
	
	if($('gielissenloader') != null) {
		var containerCoords = $('referenceoverviewcontainer').getParent().getCoordinates();
		$('gielissenloader').setStyle('left',(containerCoords.left+(containerCoords.width/2))-32);
	}
	
}

function loadReferenceOverview(elm) {
	$$('ul.referentieMenu li').removeClass('active');
	elmLi = elm.getParent('li');
	elmLi.addClass('active');
	link = elm.get('href');
	questionMarkLocation = link.indexOf("?");
	queryString = link.substring(questionMarkLocation+1);
	
	var myHTMLRequest = new Request.HTML({
		url:'/application/assets/default/handlers/references.php?'+queryString,
		onRequest: function() {
			contCoords = $('referenceoverviewcontainer').getCoordinates();
			if(contCoords.height > 100) {
				$('referenceoverviewcontainer').tween('opacity', 0.3);
				(function(){$('gielissenloader').setStyle('display','block');}).delay(300);
			}
		},
		onSuccess: function(tree,elms,HTML,javascript) {
			(function(){
				
				$('referenceoverviewcontainer').set('html', HTML);
				$('gielissenloader').setStyle('display','none');
				$('referenceoverviewcontainer').tween('opacity', 1);
				initRollOvers();
			}).delay(800);
		}
		}).get();
}


