// JavaScript Document


var navi = navigator.appVersion;
var browserIE = false;
var browserIE6 = false;
var browserSAF = false;
if(navi.indexOf("MSIE")>-1){
browserIE = true
var navAr = navi.split(";");
browserIE6 = (parseFloat(navAr[1].split(" ")[2])<=6.0?true:false);
} else if(navi.indexOf("Safari")>-1){
 browserSAF = true;
}

var besch_1 		= 0;
var besch_2 		= 0;
var breedte 		= 0;
var hoogte  		= 0;
var pos_x  			= 0;
var pos_y  			= 0;

var hoogte_content  = 0;
var folder		= 'images/bg/'
var bgContent	= new Array('BG.jpg');

var or_breedte  = 1000;
var or_hoogte	= 700;
var border_space= 20;
var or_coef		= or_breedte / or_hoogte;

var menu_isloaded = false;

var previous_width 		= 0;
var previous_height 	= 0;

var current_page		= 0;
/*
current_page	1 	about
current_page	2 	agenda
current_page	3 	gallery
current_page 	4 	contact
*/

function OpenSite(){
	
	besch_1 = screen.availWidth;
	besch_2 = screen.availHeight;
  	boven  = 0;
	links  = 0;
	
	if(browserIE==true){
	window.open('homeIE.php','OFFCORSO','left='+links+',top='+boven+',width='+besch_1+',height='+besch_2+',scrollbars=no,toolbar=no,location=no,statusbar=no'); 
	}else{
	window.open('homeFF.php','OFFCORSO','left='+links+',top='+boven+',width='+besch_1+',height='+besch_2+',scrollbars=no,toolbar=no,location=no,statusbar=no'); 
	}
}

function setInterface(){
	//main container schalen & positioneren
	besch_1 = document.documentElement.clientWidth;
	besch_2 = document.documentElement.clientHeight;
	
	sizer		= 0.80;
	max_breedte = Math.floor(sizer * besch_1);
	max_hoogte 	= Math.floor(sizer * besch_2);
	max_coef	= max_breedte / max_breedte
	
	if(max_breedte >= or_breedte && max_hoogte >= or_hoogte){
		new_breedte = or_breedte;
		new_hoogte  = or_hoogte; 	
	}else if(max_coef < or_coef){
		//breedte bepalend
		new_breedte = max_breedte;
		new_hoogte  = Math.floor(max_breedte / or_coef);
	}else{
		//hoogte bepalend
		new_hoogte   = max_hoogte;
		new_breedte  = Math.floor(max_hoogte * or_coef);
	}
	
	
	previous_width 		= new_breedte;
	previous_height 	= new_hoogte;
	
	pos_x = parseInt((besch_1 - new_breedte) / 2);
	pos_y = parseInt((besch_2 - new_hoogte) / 2);
	
	changeAlpha('big_image',0,0.1,0);
	changeAlpha('content_1',0,0.1,0);
	changeAlpha('content_2',0,0.1,0);
	changeAlpha('content_2_footer',0,0.1,0);
	changeAlpha('mailiglist',0,0.1,0);
	changeAlpha('musicplayer',0,0.1,0);
	//changeAlpha('div_content_container',0,0.1,0);

	document.getElementById("div_container").style.left = pos_x + 'px';
	document.getElementById("div_container").style.top = pos_y + 'px';
	document.getElementById("div_container").style.width = new_breedte + 'px';
	document.getElementById("div_container").style.height = new_hoogte + 'px';
	
	document.getElementById("big_image_holder").style.width = new_breedte + 'px';
	document.getElementById("big_image_holder").style.height = new_hoogte + 'px';
	
	
	
	
	//!!! 5 px extra ....rechter space > linker space
	pos_x_content_1 	= border_space;
	pos_x_content_2 	= new_breedte - border_space - 400;
	pos_x_mailiglist 	= border_space;
	pos_x_musicplayer 	= new_breedte - border_space - 201;
	
	document.getElementById("content_1").style.left 	= pos_x_content_1 + 'px';
	document.getElementById("content_2").style.left 	= pos_x_content_2 + 'px';
	document.getElementById("content_2_footer").style.left 	= pos_x_content_2 + 'px';
	document.getElementById("mailiglist").style.left 	= pos_x_mailiglist + 'px';
	document.getElementById("musicplayer").style.left 	= pos_x_musicplayer + 'px';
	document.getElementById("musiccontent").style.left 	= (pos_x_musicplayer-10) + 'px';
	
	pos_y_content_1 	= border_space;
	pos_y_content_2 	= border_space;
	pos_y_mailiglist 	= new_hoogte - border_space - 57;
	pos_y_musicplayer 	= new_hoogte - border_space - 47;
	
	document.getElementById("content_1").style.top 		= pos_y_content_1 + 'px';
	document.getElementById("content_2").style.top 		= pos_y_content_2 + 'px';
	document.getElementById("mailiglist").style.top 	= pos_y_mailiglist + 'px';
	document.getElementById("musicplayer").style.top 	= pos_y_musicplayer + 'px';
	document.getElementById("musiccontent").style.top 	= (pos_y_musicplayer -36)+ 'px';
	
	document.getElementById("powered_by").style.left = (pos_x + (new_breedte - 90)) + 'px';
	document.getElementById("powered_by").style.top = (pos_y + (new_hoogte + 10)) + 'px';
	document.getElementById("powered_by").style.display = 'block';
	
	
	url_string = folder + bgContent[0];
	loa=new ImageLoader('big_image_im',url_string,0,'big_image');
	loa.loadImage();
	
}


function setIndex(id){
	setBigImage(folder,id)
}

function setMaandAgenda(maand,jaar){
	targetPage = 'agenda.php?month=' + maand + '&year=' + jaar;
	changeAlphaAndAjaxPage('content_2_container', 0, 1, 'content_2_container', targetPage);
	changeAlphaAndAjaxPage('content_2_footer', 0, 1, 'content_2_footer', 'agenda_info.php');
}

function disableAllAndLoad(new_page){
	if(current_page==3 || current_page==2){
		if(current_page==3){
			changeAlpha('foto_holder',0,1,0);
		}
		var target = 'content_2_footer';
		var speed  = 1;
		var alpha  = 0;
		if(browserIE6==true){
			var attributes = {
			opacity: 
				{ to: alpha } 
			};
			var anim = new YAHOO.util.Motion(target, attributes, speed, YAHOO.util.Easing.easeOut);
			anim.onComplete.subscribe(function(){
					document.getElementById(target).style.display = "none";	
					document.getElementById(target).innerHTML = "";	
					switch(new_page){
						case 1:
							changeAlphaAndAjaxPage('content_2_container', 0, 1, 'content_2_container', 'about.html');
						break;
						case 2:
							changeAlphaAndAjaxPage('content_2_container', 0, 1, 'content_2_container', 'agenda.php');
							changeAlphaAndAjaxPage('content_2_footer', 0, 1, 'content_2_footer', 'agenda_info.php');
						break;
						case 3:
							changeAlphaAndAjaxPage('content_2_container', 0, 1,'content_2_container','gallery.html');
							changeAlphaAndAjaxPage('content_2_footer', 1, 1, 'content_2_footer', 'thumbs.php');
						break;
						case 4:
							changeAlphaAndAjaxPage('content_2_container', 0, 1, 'content_2_container', 'contact.html');
						break;
					}
			});
			anim.animate();
		}else{
			if(alpha==0){
				document.getElementById(target).style.display = "none";	
				document.getElementById(target).innerHTML = "";	
				switch(new_page){
					case 1:
						changeAlphaAndAjaxPage('content_2_container', 0, 1, 'content_2_container', 'about.html');
						break;
					case 2:
						changeAlphaAndAjaxPage('content_2_container', 0, 1, 'content_2_container', 'agenda.php');
						changeAlphaAndAjaxPage('content_2_footer', 0, 1, 'content_2_footer', 'agenda_info.php');
					break;
					case 3:
						changeAlphaAndAjaxPage('content_2_container', 0, 1,'content_2_container','gallery.html');
						changeAlphaAndAjaxPage('content_2_footer', 0, 1, 'content_2_footer', 'thumbs.php');
					break;
					case 4:
						changeAlphaAndAjaxPage('content_2_container', 0, 1, 'content_2_container', 'contact.html');
					break;
				}
			}		
		}
	}else{
		switch(new_page){
			case 1:
				changeAlphaAndAjaxPage('content_2_container', 0, 1, 'content_2_container', 'about.html');
			break;
			case 2:
				changeAlphaAndAjaxPage('content_2_container', 0, 1, 'content_2_container', 'agenda.php');
				changeAlphaAndAjaxPage('content_2_footer', 0, 1, 'content_2_footer', 'agenda_info.php');
			break;
			case 3:
				changeAlphaAndAjaxPage('content_2_container', 0, 1,'content_2_container', 'gallery.html');				
				changeAlphaAndAjaxPage('content_2_footer', 0, 1, 'content_2_footer', 'thumbs.php');
			break;
			case 4:
				changeAlphaAndAjaxPage('content_2_container', 0, 1, 'content_2_container', 'contact.html');
			break;
		}
	}
	current_page = new_page;
}

function openAbout(){
	if(current_page!=1){
		disableAllAndLoad(1);
	}
}
function openAgenda(){
	if(current_page!=2){
		disableAllAndLoad(2);
	}
}
function openGalley(){
	if(current_page!=3){
		previous_width  = 357;
		previous_height = 257;
		disableAllAndLoad(3);
	}
}
function openContact(){
	if(current_page!=4){
		disableAllAndLoad(4);
	}
}


function showAgendaInfo(info_id, datum){
	
	document.getElementById('mini_info').scrollTop=0;	
	
	var poststr = '&waarde='+info_id+'&datum='+datum
	makePOSTRequest('agenda_info_get.php', poststr, 'get_agenda_info')
	//alert(info);	
}

function changeAlpha(target, alpha, speed, action){
	if(alpha==1){
		document.getElementById(target).style.display = "block";	
	}
	if(browserIE6==false){
		var attributes = {
		opacity: 
			{ to: alpha } 
		};
		var anim = new YAHOO.util.Motion(target, attributes, speed, YAHOO.util.Easing.easeOut);
		if(alpha==0){
			anim.onComplete.subscribe(function(){
				document.getElementById(target).style.display = "none";	
			});
		}		
		anim.animate();
	}else{
		if(alpha==0){
			document.getElementById(target).style.display = "none";	
		}		
	}
}

function changeAlphaAndAjaxPage(target, alpha, speed, target_page, url){
	if(alpha==1){
		document.getElementById(target).style.display = "block";	
	}
	if(browserIE6==false){
		var attributes = {
		opacity: 
			{ to: alpha } 
		};
		var anim = new YAHOO.util.Motion(target, attributes, speed, YAHOO.util.Easing.easeOut);
		anim.onComplete.subscribe(function(){
			ajaxpage(url, target_page,1);
		});
		anim.animate();
	}else{
		ajaxpage(target_page, url,1);
		if(alpha==0){
			document.getElementById(target).style.display = "none";	
		}		
	}
}

function changeAlphaAndMakePost(target, alpha, speed, url, parameters, category){
	if(alpha==1){
		document.getElementById(target).style.display = "block";	
	}
	if(browserIE6==false){
		var attributes = {
		opacity: 
			{ to: alpha } 
		};
		var anim = new YAHOO.util.Motion(target, attributes, speed, YAHOO.util.Easing.easeOut);
		anim.onComplete.subscribe(function(){
			makePOSTRequest(url, parameters, category);
		});
		anim.animate();
	}else{
			makePOSTRequest(url, parameters, category);
		if(alpha==0){
			document.getElementById(target).style.display = "none";	
		}		
	}
}
							

function makePOSTRequest(url, parameters, category) {
	http_request = false;
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
	 		if (http_request.overrideMimeType) {
				http_request.overrideMimeType('text/html');
	 		}
		} else if (window.ActiveXObject) { // IE
	 		try {
				http_request = new ActiveXObject("Msxml2.XMLHTTP");
	 		} catch (e) {
			try {
		   		http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
	 	}
	}
	if (!http_request) {
		alert('Cannot create XMLHTTP instance');
		return false;
	}
	
	switch(category){
		case 'set_fotoholder':
			http_request.onreadystatechange = alertSetFotoHolder;
		break;
		case 'get_agenda_info':
			http_request.onreadystatechange = alertSetAgendaInfo;
		break;
		case 'contact':
			http_request.onreadystatechange = alertContents;
		break;
		case 'newsletter':
			http_request.onreadystatechange = alertSetNewsletter;
		break;
	}
	
	http_request.open('POST', url, true);
	http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http_request.setRequestHeader("Content-length", parameters.length);
	http_request.setRequestHeader("Connection", "close");
	http_request.send(parameters);
}

function checkStatus(){
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
			return true;
		} else {
			return false;
		}
	}else{
		return false;
	}
}



function alertSetNewsletter(){
	var gereed = checkStatus();
	if(gereed == true){
		result = http_request.responseText;
		document.getElementById('newsletter').innerHTML = result;
		gereed = false;
	}
}

function alertSetFotoHolder(){
	var gereed = checkStatus();
	if(gereed == true){
		result = http_request.responseText;
		document.getElementById('content_2_container').innerHTML = result;
		setBigImage('images/gallery/',1,'foto');
		changeAlpha('content_2_container', 1, 0.5, 0);
		gereed = false;
	}
}

function alertSetAgendaInfo(){
	var gereed = checkStatus();
	if(gereed == true){
		result = http_request.responseText;
		document.getElementById('mini_info_span').innerHTML = result;
		gereed = false;
	}
}


function alertContents() {
  if (http_request.readyState == 4) {
	 if (http_request.status == 200) {
		//alert(http_request.responseText);
		result = http_request.responseText;
		document.getElementById('myspan_contact').innerHTML = result;            
	 } else {
		alert('Er is een probleem opgetreden, probeer het nogmaals.');
	 }
  }
}

var loadMenu = false;
function ajaxpageSWF(url, containerid){
	loadMenu = true;
	ajaxpage(url, containerid,1);
}
function ajaxpage(url, containerid, alphaEditor){
	var page_request = false
	if (window.XMLHttpRequest) // if Mozilla, Safari etc
		page_request = new XMLHttpRequest()
	else if (window.ActiveXObject){ // if IE
		try {
			page_request = new ActiveXObject("Msxml2.XMLHTTP")
		} 
		catch (e){
			try{
				page_request = new ActiveXObject("Microsoft.XMLHTTP")
			}
		catch (e){}
		}
	}
	else
		return false
		page_request.onreadystatechange=function(){
		loadpage(page_request, containerid, alphaEditor)
	}
	page_request.open('GET', url, true)
	page_request.send(null)
}

function loadpage(page_request, containerid, alphaEditor){
	//alert(containerid);
	if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1)){
		document.getElementById(containerid).innerHTML = page_request.responseText;
		if(alphaEditor==1){
			changeAlpha(containerid,1,1,0);	
			if(current_page==3 && containerid=='content_2_container'){
				setBigImage('images/gallery/',1,'foto');	
			}
		}
	}
}
//agenda

previous_item = 0;

function changePos(x, y, target, speed){
	var attributes_Size = {
		points: 
		{ by: [x, y] }
	};
	var anim1 = new YAHOO.util.Motion(target, attributes_Size, speed, YAHOO.util.Easing.easeOut);
	anim1.animate();	
}
function changeWidth(b, target, speed){
	var attributes_Size = {
	  	width: 
			{ to: b}
	};
	var anim1 = new YAHOO.util.Motion(target, attributes_Size, speed, YAHOO.util.Easing.easeOut);
	anim1.animate();	
}
function changeHeight(b, target, speed){
	var attributes_Size = {
	  	height: 
			{ to: b}
	};
	var anim1 = new YAHOO.util.Motion(target, attributes_Size, speed, YAHOO.util.Easing.easeOut);
	anim1.animate();	
}


//IMAGES



function setBigImage(folder,photo_id,target){
	if (status_image==false){
		status_image = true;
		alphaImage(target, 0, 0.5, folder, photo_id, 0);
	}
}

var maxItems 	= 3;
var ItemsCount 	= 1;
var Items		= Array('content_1','content_2','mailiglist','musicplayer','content_2_footer');

function changeAlphaNext(target, alpha, speed, action, nextVictim){
	if(alpha==1){
		document.getElementById(target).style.display = "block";	
	}
	var attributes = {
	opacity: 
		{ to: alpha } 
	};
	var anim = new YAHOO.util.Motion(target, attributes, speed, YAHOO.util.Easing.easeOut);
	if(alpha==0){
		anim.onComplete.subscribe(function(){
			document.getElementById(target).style.display = "none";	
		});
		
	}
	
	if(nextVictim!='' && menu_isloaded == false){
		anim.onComplete.subscribe(function(){
			if(target=='musicplayer'){
				var so = new SWFObject("music.swf", "CIVIL", "210", "200", "9", "86A098");
				so.addParam("wmode", "transparent"); 
				so.useExpressInstall('expressinstall.swf');
				so.write("musiccontent");	
			}
			if(ItemsCount<=maxItems){
				ItemsCount++;
				changeAlphaNext(nextVictim,1,1,0, Items[ItemsCount]);
			}else{
				//alert('1');
				menu_isloaded = true;
				previous_width  = 357;
				previous_height = 257;
				//setBigImage('images/gallery/',1,'foto');
			}
		});
	}
	anim.animate();	
}

function alphaImage(target, alpha, speed, folder, photo_id, cat){
	var attributes_Alpha = {
	  opacity: 
		{ to: alpha } 
	};
	var anim = new YAHOO.util.Motion(target, attributes_Alpha, speed, YAHOO.util.Easing.easeOut);
	anim.onComplete.subscribe(function(){
		if(photo_id=='xx'){
			status_image = false;
			changeAlphaNext('content_1',1,1,0, Items[ItemsCount]);
			document.getElementById(target+'_loader').style.display = "none";
		}else{
			url_string = folder+photo_id+'.jpg';
			loadd=new ImageLoader(target+'_im',url_string,0,target);
			loadd.loadImage();	
			document.getElementById(target+'_loader').style.display = "block";
		}
		if(target=='big_image' && alpha == 0){
			document.getElementById('big_image').style.display = "none";
		}
	});
	anim.animate();
}


function ImageLoader(id,url,left,target){
	this.i 				= new Image();
	this.url 			= url;
	this.rand 			= Math.floor(Math.random()*100000000000); //cache verhindern
	this.imEl			= document.getElementById(id);
	
	this.loadImage = function(){
		this.i.src 		= this.url+'?r='+this.rand;
		objRef 			= this;
		objRef.waitForImage();
	};   
 
	this.waitForImage = function(){
		if(objRef.i.complete){
			objRef.imEl.src=this.i.src;	
			if(target=='big_image'){
				width_this  = previous_width;
				height_this = previous_height;
				objRef.imEl.width	= new_breedte;
			}else{
				width_this  = this.i.width;
				height_this = this.i.height;
			}
			left_this   = parseInt((previous_width  - width_this)/2);
			top_this    = parseInt((previous_height - height_this)/2);
			//alert(height);
			//alert(width);
			document.getElementById(target).style.display = "block";
			//alphaImage(target, 1, 1, 0, 'xx', 0);
			resizeImageholder(target+'_holder',1, height_this, width_this,  left_this, top_this, 0.5, 1, target);
			previous_width  = width_this;
			previous_height = height_this;
			
			/*
			objRef.imEl.width=new_breedte;
			document.getElementById(target).style.display = "block";
			alphaImage(target, 1, 1, 0, 'xx', 0);
			*/
		
			//bg 4 items
		}else{
			setTimeout('objRef.waitForImage()', 100);
		}
	};
}

function resizeContent(target,speed, width){
	var attributes_Alpha = {
	  width: 
		{ to: width} 
	};
	var anim = new YAHOO.util.Motion(target, attributes_Alpha, speed, YAHOO.util.Easing.easeOut);
	anim.animate();
}


function resizeImageholder(target, alpha, height, width, x, y, speed, page, target_2){
	var attributes_Alpha = {
	  opacity: 
		{ to: alpha } ,
	  height: 
		{ to: height} ,
	  width: 
		{ to: width} ,
	  points: 
	  	{ by: [x,y] }
	};
	var anim = new YAHOO.util.Motion(target, attributes_Alpha, speed, YAHOO.util.Easing.easeOut);
	anim.onComplete.subscribe(function(){
		document.getElementById(target_2).style.visibility = "visible";
		alphaImage(target_2, 1, 0.5, 0, 'xx', 0);	
	});
	anim.animate();
}

var ourInterval;
var scrollSpeed = 2;
var scrollHeight = 2;



function scrollStart(direction, divID, elementID){
	ourInterval = setInterval("move"+direction+"('"+divID+"')", scrollSpeed);
}

function scrollEnd(which){
	//document.getElementById(which).style.backgroundColor = origColor;
	clearInterval(ourInterval);
}
function moveUp(which){
	document.getElementById(which).scrollTop = document.getElementById(which).scrollTop - scrollHeight;	
}
function moveDown(which){
	//alert(which);
	document.getElementById(which).scrollTop+=scrollHeight;	
}

if (document.images)
{
// de plaatjes pre-laden
afbeelding01Uit = new Image();
afbeelding01Uit.src = "images/btns/about.gif";
afbeelding01Aan = new Image();
afbeelding01Aan.src = "images/btns/about_color.gif";

afbeelding02Uit = new Image();
afbeelding02Uit.src = "images/btns/agenda.gif";
afbeelding02Aan = new Image();
afbeelding02Aan.src = "images/btns/agenda_color.gif";

afbeelding03Uit = new Image();
afbeelding03Uit.src = "images/btns/gallery.gif";
afbeelding03Aan = new Image();
afbeelding03Aan.src = "images/btns/gallery_color.gif";

afbeelding04Uit = new Image();
afbeelding04Uit.src = "images/btns/contact.gif";
afbeelding04Aan = new Image();
afbeelding04Aan.src = "images/btns/contact_color.gif";
}

function afbeeldingAan(Naam){ 
	if (document.images){
		tekstAanNaam = eval(Naam + "Aan.src");
		document.images[Naam].src = tekstAanNaam;
	}
}

function afbeeldingUit(Naam){ 
	if (document.images){
		tekstUitNaam = eval(Naam + "Uit.src");
		document.images[Naam].src = tekstUitNaam;
	} 
}
  
function checkEmail( veld ) {
	//kijk naar formaat: name@site.nl
	var objRegExp  = /^([a-zA-Z0-9_\-])([a-zA-Z0-9_\-\.]*)@(\[((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}|((([a-zA-Z0-9\-]+)\.)+))([a-zA-Z]{2,}|(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\])$/;
	if( veld==null || veld=='')
		return false;
	else if( objRegExp.test(veld)==false) {
		return false;
		}
		else
		return true;
}

function getContact(){
	s = new String(encodeURI( document.getElementById("contact_inhoud").value ));
	var inhoud = s.replace(/&/g,"*am*");
	
	if(checkEmail( document.getElementById("contact_mail").value )){
		var poststr = "naam=" + encodeURI( document.getElementById("contact_naam").value ) +  "&inhoud=" + inhoud +  "&mail=" + encodeURI( document.getElementById("contact_mail").value ) +  "&module_in=" + encodeURI( document.getElementById("contact_module").value ) +  "&formsubmit=true";
		//alert(poststr);
		document.getElementById('myspan_contact').innerHTML = "ONE MOMENT PLEASE.....";
		makePOSTRequest('send_contact.php', poststr,'contact');
	}else{
		document.getElementById('myspan_contact').innerHTML = "EMAIL INCORRECT.";
	}
}

function getNewsletter(){
	if(checkEmail( document.getElementById("lm_mail").value )){
		var poststr = "mail=" + encodeURI( document.getElementById("lm_mail").value ) +  "&formsubmit=true";
		makePOSTRequest('get_nieuwsbrief.php', poststr,'newsletter');
	}else{
		document.getElementById("lm_mail").value = "EMAIL INCORRECT";
	}
}

function checkValue(){
	if(document.getElementById("lm_mail").value == "EMAIL INCORRECT"){
		document.getElementById("lm_mail").value = '';
	}
}
