	 /*
	getElementsByClassName
*/
document.getElementsByClassName = function (needle){
    var s = [document.documentElement || document.body], i = 0, r = [], l = 0, e;
    var re = new RegExp('(^|\\s)' + needle + '(\\s|$)');

    do{
        e = s[i];

        while (e){
            if (e.nodeType == 1){
                if (e.className && re.test(e.className)) r[l++] = e;

                s[i++] = e.firstChild;
            }

            e = e.nextSibling;
        }
    }
	
    while (i--);

    return r;
}
    
 function initTabs() {
		var tabs = document.getElementsByClassName('isTab');
/*		alert(findPos(tabs[0])[1]);*/



		if(tabs.length) {
			/* perform tabbing */
			//alert('sdfs');
            //alert(document.getElementById('mainHeading').innerHTML);
            /* 1. create container */
            tabContainer = document.createElement('ul');
            tabContainer.id = 'tabContainer';

            
            /* 2. add items */
			for(var i=0; i<tabs.length; i++) {
            	captions = tabs[i].getElementsByTagName('h2');
                var caption = '';
                if (captions.length) {
                	caption = captions[0].innerHTML;
					captions[0].className = 'tabHeader '+captions[0].className;

                }
				var newItem = document.createElement('li');
				if (i==0) {
					newItem.className = 'firstChild active firstChildActive';
				} else if (i == (tabs.length-1)) {
					newItem.className = 'lastChild';
					tabs[i].style.display = 'none';
				} else {
					newItem.className = 'middleChild';
					tabs[i].style.display = 'none';					
				}
				newItem.onclick = function() {
					/* remove active and set it on this item */
					tabNavs = document.getElementById('tabContainer').getElementsByTagName('li');
					for(var i=0; i<tabNavs.length; i++) {
						if(tabNavs[i].className.indexOf('active')) {
							tabNavs[i].className = tabNavs[i].className.replace(' active', '');
							/* ie6 */
							tabNavs[i].className = tabNavs[i].className.replace(' firstChildActive', '');
							tabNavs[i].className = tabNavs[i].className.replace(' middleChildActive', '');
							tabNavs[i].className = tabNavs[i].className.replace(' lastChildActive', '');
						}
					}
					this.className = this.className + ' active';

					if(this.className.indexOf('firstChild')>=0) {
							this.className = this.className + ' firstChildActive';					
					}
					if(this.className.indexOf('middleChild')>=0) {
							this.className = this.className + ' middleChildActive';					
					}
					if(this.className.indexOf('lastChild')>=0) {
							this.className = this.className + ' lastChildActive';					
					}


					/* */
					var tabs = document.getElementsByClassName('isTab');
					for(var i=0; i<tabs.length; i++) {
						if ( i == this.getAttribute('tabID')) {
							tabs[i].style.display = 'block';
						} else {
							tabs[i].style.display = 'none';
						}
					}
					if(document.getElementById('map')) {
						var iframe = document.createElement('iframe');
						iframe.src = '/nl/maps/maps-amsterdam-cruises.html';
						document.getElementById('map').innerHTML = '';
						document.getElementById('map').appendChild(iframe);
					}
				}
				var captionHolder = document.createTextNode(caption);
				if (caption == "Aanbiedingen") {
					captionContainer = document.createElement("span"); 
					captionContainer.appendChild(captionHolder);
					captionContainer.style.color="#ff0000";
					newItem.appendChild(captionContainer);
					newItem.setAttribute('tabID', i);
					tabContainer.appendChild(newItem);

				} else {
					newItem.appendChild(captionHolder);
					newItem.setAttribute('tabID', i);
					tabContainer.appendChild(newItem);
				}
               
            }	
			/* 3. insert in document */       
			//alert(document.getElementById('content').innerHTML);
			var introTexts = document.getElementsByClassName('introText');
			
		 /*   tabs[0].parentNode.insertBefore(tabContainer, tabs[0]);	*/
			 tabContainer.style.margin = tabs[0].offsetTop + 'px 0px 0px 0px';

			document.getElementById('sideColumnOne').appendChild(tabContainer);
		}
    }
	function initHovers() {
		hoveables = document.getElementsByClassName("hoveable");
		for (var i=0; i <hoveables.length; i++) {
			hoveables[i].onmouseover = function() {
				if(this.src.indexOf('-on.jpg')<0) {
					this.src = this.src.replace('.jpg','-on.jpg');
				}
				if(this.src.indexOf('-on.png')<0) {
					this.src = this.src.replace('-png','-on.png');
				}	
			}
			hoveables[i].onmouseout = function() {
				if(this.src.indexOf('-on.jpg')>0) {
					this.src = this.src.replace('-on.jpg','.jpg');
				}
				if(this.src.indexOf('-on.png')>0) {
					this.src = this.src.replace('-on.png','.png');
				}				
			}
		}
		
	}
	function validateOfferteForm() {
		returnValue = true;
		requiredFields = ['vertrekDatum','schip', 'achternaamEerstePersoon','voornamenEerstePersoon','typeAanvraag', 'email', 'telefoon', 'huttype','hoegevonden'];
		for (var i=0; i < requiredFields.length; i++) {
			curField = document.getElementById(requiredFields[i]);
			if(curField.nodeName.toUpperCase() == 'SELECT') {
				if(curField.options[curField.selectedIndex].value == '') {
					returnValue = false;
				}
			} else {
				if(curField.value == '' ) {
						returnValue = false;
				}
			}
		}
		if (!returnValue) {
			alert('U heeft niet alle verplichte velden ingevuld. Wij hebben deze nodig om uw aanvraag af te handelen.');
		}
		return returnValue;
	}
	
		function initZebraTables(){
		var tables = document.getElementById('content').getElementsByTagName('table');
	    var counter = 0;
		for(var j = 0; j< tables.length; j++){
			if (tables[j].id == 'cruiseTop15') {
				var rows = tables[j].getElementsByTagName('tr');
				for(var i = 0; i< rows.length; i++){
					if((i % 2) == 0){
						rows[i].className += ' odd';
					}else{
						rows[i].className += ' even';
					}
				}
			} else {
				var rows = tables[j].getElementsByTagName('tr');
				for(var i = 0; i< rows.length; i++){
					if((counter % 2) == 0){
						rows[i].className += ' odd';
					}else{
						rows[i].className += ' even';
					}
					counter++;
				}

			}
		}
	}

	function initExcursies(){
		if (document.getElementById('reisschema')) {

			var lokaties = document.getElementsByClassName('reisschemaLokatie');
			
			for(var j = 0; j< lokaties.length; j++){
				var rows = lokaties[j].getElementsByTagName('strong');
				if (rows.length > 0) {
					var excursies = lokaties[j].parentNode.getElementsByTagName('span');
					if(excursies.length) {
						excursies[0].style.display = 'none';
						rows[0].style.cursor = 'pointer';
					
						rows[0].onclick = function () {
							var excursies = this.parentNode.getElementsByTagName('span');
							if(excursies[0].style.display == 'none') {
									excursies[0].style.display = 'block';
							} else {
									excursies[0].style.display = 'none';
							}
						}
					}
				}
			}
		}
	}
	function initAdvancedSearch() {
		if (document.getElementById('advancedSearchPanel')) {
		  var advButton = document.getElementById('activateAdvanced');
		  var advItems = document.getElementById('advancedSearchPanel');
		  
		  var newAnchor = document.createElement('a');
		  var newText = document.createTextNode('geavanceerd zoeken');
		  newAnchor.appendChild(newText);
		  advButton.appendChild(newAnchor);
		  
		  advItems.style.display = 'none';
		  advButton.className = 'advancedHide';
		  
		  newAnchor.onclick = function() {
			  if(advItems.style.display == 'none') {
				  advItems.style.display = 'block';
				  advButton.className = 'advancedShow';				
			  } else {
				  advItems.style.display = 'none';
				  advButton.className = 'advancedHide';								
			  }
		  }
		}
	}
	
	function initMaps() {
		if(document.getElementById('map')) {
			//var iframe = document.createElement('iframe');
			//iframe.src = '/nl/maps/maps-amsterdam-cruises.html';
			//document.getElementById('map').appendChild(iframe);
		}
	}
	
	function initFaq() {
			var containers = document.getElementsByClassName('faqlist');

			if (containers.length) {
			
				for (var j=0; j <containers.length; j++) {		
					var items = containers[j].getElementsByTagName('h4');
					for (var i=0; i <items.length; i++) {
						items[i].parentNode.className = 'collapsed';
				  
					    items[i].onclick = function() {
						   if (this.parentNode.className == 'collapsed') {
						    this.parentNode.className = 'uncollapsed';
					        } else {
						    this.parentNode.className = 'collapsed';					
					       }
						}
				     }
			    }   
			
		     }
	}
	
	function initNieuwsbrief() {
		if(document.getElementById('ChronoContact_nieuwsbrief')) {
			
				document.getElementById('ChronoContact_nieuwsbrief').onsubmit = function() {
						if ((document.getElementById('email-nieuwsbrief').value == '') && (document.getElementById('naam-nieuwsbrief').value == '') ){
							alert('Kunt u in het aanmeldformulier uw naam en e-mail adres invullen?');
							return false;
						}
						if (document.getElementById('email-nieuwsbrief').value == '') {
							alert('Kunt u in het aanmeldformulier uw e-mail adres invullen?');							
							return false;
						}
						if (document.getElementById('naam-nieuwsbrief').value == '') {
							alert('Kunt u in het aanmeldformulier uw naam invullen?');
							return false;
						}
						
						return true;
				};
		}
	}
	function initContactAlgemeen() {
		if(document.getElementById('ChronoContact_contactAlgemeen')) {
			
				document.getElementById('ChronoContact_contactAlgemeen').onsubmit = function() {
						if ((document.getElementById('naam').value == '') || (document.getElementById('voorletters').value == '')  || (document.getElementById('email').value == '') ){
							alert('Kunt u in het contactformulier uw naam, voorletters en e-mail adres invullen?');
							return false;
						}
						
						return true;
				};
		}
	}
	

