﻿//Onderstaande functies worden gebruikt door de applicatie, veranderingen aan deze code kan een correcte werking van de applicatie verhinderen
//verkrijg base href als deze aanwezig is voor het corrigeren van iexplorer javascript links
var baseAdres = "";
if( document.getElementsByTagName ) {
	var elems = document.getElementsByTagName('base');
	if( elems.length ) {
		baseAdres = elems[0].href;
	}
}
function setCursor(cursor){
	document.body.style.cursor = cursor;
}

var cP=0;
var oldCP = 0;
var cpMax = 0;
var cNumber = 1;
var moveX = 0;
var moveX2= 0;
var loading = false;

window.addEvent('domready', function(){	
	$$('.mainMenu').each(function(el){
		$("menuBg" + el.get('id').substr(4)).setStyle('display','block');
		$("menuBg" + el.get('id').substr(4)).setStyle('opacity',0);
		el.addEvent('mouseover',function(){
			$("menuBg" + this.get('id').substr(4)).get('tween', {property: 'opacity', duration: 200}).start(1);				 
		});
		el.addEvent('mouseout',function(){
			$("menuBg" + this.get('id').substr(4)).get('tween', {property: 'opacity', duration: 200}).start(0);				 
		});
	});
	
	if($('item1')){
		var totalWidth = 0;
		$$('.pagingActive').each(function(el){
			cNumber = el.get('id').substr(4);
		});
		var i = 0;
		$$('.pagingActive, .paging').each(function(el){
			i ++;
			el.setStyle('z-index',50 - i);
			el.setStyle('margin','0px -1px');
		});
		$$('.paging a, .pagingActive a').each(function(el){
			$("bg" + el.get('id').substr(1)).setStyle('display','block');
			var elW = el.getSize().x.toInt();
			if(elW < 18){elW += 18;}//safari padding-bug fix
			$("bg" + el.get('id').substr(1)).setStyle('width',elW);
			$("bg" + el.get('id').substr(1)).setStyle('opacity',0);
			if(cpMax < el.get('id').substr(1)){cpMax = el.get('id').substr(1)};
			totalWidth += el.getSize().y.toInt() - 2;
			el.addEvent('mouseover',function(){
				$("bg" + this.get('id').substr(1)).get('tween', {property: 'opacity', duration: 200}).start(1);			
			});
			el.addEvent('mouseout',function(){
				$("bg" + this.get('id').substr(1)).get('tween', {property: 'opacity', duration: 200}).start(0);				 
			});
			el.addEvent('click',function(){
				if(!loading){
					oldCP = cNumber;
					cNumber = this.get('id').substr(1);
					loadProject(el.get('rel').substr(3));
				}
				return false;
			});
		});
//		$('pCenter').setStyle('width',450 - (totalWidth/2));
		
		$("pPrev").addEvent('click',function(){
			if(cNumber > 1 && loading == false){
				oldCP = cNumber;
				cNumber = cNumber - 1;
				loadProject($("p" + cNumber).get('rel').substr(3));
			}
		});
		$("pNext").addEvent('click',function(){
			if(cNumber < cpMax && loading == false){
				oldCP = cNumber;
				cNumber ++;
				loadProject($("p" + cNumber).get('rel').substr(3));
			}
		});
	}

});

function loadProject(pid){
	loading = true;			
	setCursor('progress');
	cP = pid;
	if(cNumber > oldCP){
		moveX = -901;
		moveX2 = 900;
	} else {
		moveX = 901;
		moveX2 = -900;
	}
	oldCP = cNumber;
	$$('.pagingActive').each(function(elP){
		elP.set('class','paging');
	});
	$('item' + cNumber).set('class','pagingActive');
	var getProject = new Request.HTML({
		url: 'loadproject.asp',
		onSuccess: function(empty1, empty2, html){	
			
			$('content2').setStyle("display","block");
			$('content2').setStyle("left",moveX);	
			$('content2').set('html',html);
			var lImg = "";
			$$('#content2 .paginaAfbeelding').each(function(el){
				 lImg = el.getStyle('backgroundImage').replace(/url\(|\)/ig,'');
			});
			var prImg = new Image;
			prImg.onload  = animate;
			prImg.src = lImg;
		},
		onFailure: function(){
			setCursor('default');		
			alert('Het laden is mislukt, probeert u het later opnieuw.');
			loading = false;
		}
	});	
	var animate = new function(){
		$("contentSlide").get('tween', {property: 'left', duration: 2000,transition: Fx.Transitions.Quart.easeInOut,fps:30}).start(moveX2).chain(function(){
			loading = false;
			setCursor('default');
			$('content1').set('html',$("content2").get('html'));
			$("contentSlide").setStyle("left",0);
		});			
	}
	getProject.get({"epid": pid, "random" : new Date()  });		
}

//functies om popups van foto's te tonen
function openMenu(menuID,submenuID){}
function openPicture(){};
function printPagina(){
	printVenster = open("","printWindow","width=800,height=400,left=10,top=10,resizable=yes");
	var printTekst = document.getElementById("mainContentDiv").innerHTML;
	printTekst = printTekst.replace(/<div class="etalageAfbeelding".*url\((.*)\).* .*<\/div>/ig,'<img src="$1" alt="" style="float:left;margin-right:10px;"/>');
	printTekst = printTekst.replace(/<div class="paginaAfbeeldingen".*url\((.*)\).* .*<\/div>/ig,'<img src="$1" alt="" style="float:left;"/>');
	printTekst = printTekst.replace(/<div class="etalageAfbeeldingen".*url\((.*)\).* .*<\/div>/ig,'<img src="$1" alt="" style="float:left;"/>');
	printTekst = printTekst.replace(/<div style="width.*url\((.*)\).* no-repeat.*<\/div>/ig,'<img src="$1" alt="" style="float:left;"/>');

	var printHTML = '<HTML><HEAD><TITLE>' + document.title + '</TITLE>';
	if(baseAdres != ""){printHTML += '<base href="' + baseAdres +  '/" />'} 
	printHTML += '<LINK HREF="basic.css" REL="stylesheet" TYPE="text/css"></HEAD><BODY onload="window.print()">'
	printHTML += printTekst;
	printHTML += '</BODY></HTML>'
	printVenster.document.open();
	printVenster.document.write(printHTML);
	printVenster.document.close();
}

var albumActive = false;

//functie om externe links automatisch in nieuw venster te tonen
window.onload = externeLinks;
function externeLinks (){
	var hostname = window.location.hostname;
	hostname = hostname.replace("www.","").toLowerCase();
	var a = document.getElementsByTagName("a");
	this.check = function(obj){
		var href = obj.href.toLowerCase();
		return (href.indexOf("http://")!=-1 && obj.target == "" && href.indexOf("javascript")==-1 && href.indexOf(hostname)==-1) ? true : false;
	};
	this.set = function(obj){
		obj.target = "_blank";
	};
	for (var i=0;i<a.length;i++){
		if(check(a[i])) set(a[i]);
	};
};
