/* Sitewide scripts Bureau amateurkunsten site (c) Sander Sanders 2005	*/

/* Functies voor valideren forms:	*/

function isEmpty(str){
	return(str==""||str=="undefined"||str==0||str=="null"||str==null)
}

function inArray(x,arr){
	for(var i=0;i<arr.length;i++){
		if(arr[i] == x){ break;	}
	}
	return(i < arr.length);
}

function fakeEmail(str){
	var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/					// not valid E-mail addres
	var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/	// valid E-mail address
	return(reg1.test(str) || !reg2.test(str))
}

function fakeTelNr(str){
	return(isEmpty(str) || str.length < 10)
}

function killSpace(str){
	/* Haal alle spaties uit de string		*/
	re1 = /\s/g
	str = str.replace(re1,"")
	return(str)
}

function onlyLetters(str){
	/* alleen de letters en cijfers er uit halen	*/
	var re = /[^a-z,A-Z,0-9]/g
	str = str.replace(re,"")
	return(str)
}

function getRadio(myRadio){
	/* haal de geselecteerde waarde op	*/
	var ret = ""
	for(var i = 0;i<myRadio.length;i++){
		if(myRadio[i].checked){
			ret = myRadio[i].value
		}
	}
	return(ret)
}

/* einde functies valideren forms	*/


/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* Laad een in de searchstring opgegeven pagina in een subframe		*/
/* Functie aanroepen als onLoad in frameset tag!				*/
/* Input: location van de parent pagina, naam van het te laden frame	*/
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

function combineQueries(q1,q2){
	/* combineer twee querystrings tot n	*/
	var str = "";
	var re = /\?/g;	/* evt vraagtekens er eerst uit halen	*/
	q1 = q1.replace(re,"");
	q2 = q2.replace(re,"");
	if(q1.length && q2.length)	str = "?" + q1 + "&" + q2;
	else if(q1.length && !q2.length) str = "?" + q1;
	else if(q2.length && !q1.length) str = "?" + q2;
	return(str);
}

function loadSubPage(loc,frameName){
	if(loc.search.length <=1 || loc.href.indexOf("?") < 0)return;
	var siteLoc = loc.toString()
	/* in de search string kunnen ook slashes voorkomen!	*/
	siteLoc = siteLoc.substring(0,siteLoc.lastIndexOf("?"));
	siteLoc = siteLoc.substring(0,siteLoc.lastIndexOf("/")+1);
	var pageName = getValueByName("page",location.search + location.hash)
	var myFrame = searchFrameNameTree(top.frames,frameName)
	if(myFrame)
		myFrame.location.href = siteLoc + pageName;
	else
		alert("Function loadSubPageFrame error:\nFramename not found:\n\n\""+frameName+"\"")
}

/* Zoek het frame met de opgegeven naam recursief in de tree	*/

function searchFrameNameTree(parentFrame,frameName){
	var myFrame = false
	for(var i=0;i<parentFrame.frames.length;i++){
		if(parentFrame[i].name == frameName) return(parentFrame[i]);
		/* Subframes? Zoek (evt. weer opnieuw) een niveau dieper	*/
		else if(parentFrame[i].frames.length > 0){
			searchFrameNameTree(parentFrame[i],frameName) /* recursief!	*/
			if(myFrame) return(myFrame);
		}	
	}
	return(myFrame)
}

/* * * * * * * * * * * * * * * * * * * */

function countSlashes(folderPath){
	/* telt de folderdiepte	*/
	var pos, nr = 0;
	if(!folderPath || folderPath.length==0)return(0);
	for(var i=0;1;i++){
		pos = folderPath.indexOf("/");
		if(pos<0)break;
		++nr;
		folderPath = folderPath.substring(pos+1,folderPath.length)
	}
	return(nr);
}

String.prototype.reverse = function() {
    var s = "";
    var i = this.length;
    while (i>0) {
        s += this.substring(i-1,i);
        i--;
    }
    return s;
}

function isRightHomepageTitle(theTitle){
	/* bepaal of het de goede page title is	*/
	var ok = true;
	ok = theTitle.indexOf("Bureau Amateurkunsten Maastricht:") >= 0;
	if(ok)ok = theTitle.indexOf("homepage") >= 0;
	return(ok);
}

function redirectToIndex(whichIndex,folderDepth){
	/* Opgeven: in welke index laden, folderDepth = hoeveel subfolders diep, default = 0	*/
	if(!folderDepth || folderDepth < 1) var folderDepth = 0;
	if(!whichIndex || whichIndex.length == 0) var whichIndex = "index.html";
	var topTitle = top.document.title;
	if(topTitle.indexOf("#") > 0)
		topTitle = topTitle.substring(0,topTitle.indexOf("#")); /* hash ervan af	*/
	if(topTitle!="Bureau Amateurkunsten Maastricht: homepage" && topTitle!="Contribute frameset"){
		var thisPage = this.location.href;
		if(thisPage.indexOf("?")>0)
			thisPage = thisPage.substring(0,thisPage.lastIndexOf("?"));
		var query2 = this.location.search;	/* query van deze pagina bewaren	*/
		/* in hoofdfolder? Dan kan het korter:	*/
		if(folderDepth == 0) thisPage = thisPage.substring(thisPage.lastIndexOf("/")+1,thisPage.length);
		else{
			var reverseStr = thisPage.reverse();
			var s = "";
			for(var i=-1;i<folderDepth;i++){
				s += reverseStr.substring(0,reverseStr.indexOf("/")+1);
				reverseStr = reverseStr.substring(reverseStr.indexOf("/")+1,reverseStr.length);
			}
			thisPage = s.substring(0,s.length-1).reverse();
		}
		var up = folderDepth? "./" : "";
		for(var i=0;i<folderDepth;i++){up = "../" + up}
		/* Als automaat niet werkt, link afbeelden:	*/
		var str = "<p align='center'><a href = '" + up + whichIndex + "' target='_top'>Naar Homepage Bureau Amateurkunsten Maastricht</a></p>";
		document.write(str);
		var query1 = "?page=" + thisPage;	/* query van de index, combineren met die van de subpagina	*/
		str = up + whichIndex + combineQueries(query1,query2);
		top.location.href = str;
	}
}
/*---------------------------------------------*/
/* Functie om een search querystring te parsen	*/
/* Sander Sanders juni 2003			*/
/*---------------------------------------------*/

function getValueByName(vName,locSearch){
	var name,value,varArr = new Array()
	if(arguments.length < 2) locSearch = location.search;
	
	locSearch = locSearch.substring(locSearch.indexOf("?")+1,locSearch.length)

	var arr = locSearch.split("&")

	function variable(name,value){
	/* bouw een variable object	*/
	this.name	= name
	this.value	= value
	}

	for(var i=0;i<arr.length;i++){
		name 		= arr[i].substring(0, arr[i].indexOf("="))
		value 		= arr[i].substring(arr[i].indexOf("=") + 1, arr[i].length)
		varArr[i] 	= new variable(name,value)
		varArr[name]	= varArr[i]	/* maak een identifier, identiek aan de name van de variabele	*/
	}
	return(typeof varArr[vName] == "undefined"? "" : unescape(varArr[vName].value))
}

/* functie voor het positioneren van de << >> buttons	*/
function placeButtons(){
	/* schermbreedte?	*/
	var screenW = document.body.offsetWidth;
	var tableW = 706;
	var layerW = 90;
	var marges = ((screenW - tableW)/2) > 0?((screenW - tableW)/2) : 0;
	var xPos =  marges + tableW - layerW - 10; /* breedte scrollbalk eraf!	*/
	document.getElementById("Layer1").style.left = xPos + "px";
}

/* coderen en decoderen van mail links	*/
var theMail = "info|amateurkunstenmaastricht.nl";

function mailLink(address,bodyText){
	/* default aan BAKM	*/
	if(!address || address.length == 0){
		var address = theMail;
	}
	if(!bodyText || !bodyText.length) var bodyText = ""
	var subjectText = "Bericht%20van%20BAKM%20site:%20" + this.location.hostname + this.location.pathname
	/* email adressen gecodeerd als persoon|adres ipv persoon@adres ivm email harvesting	*/
	address = address.replace(/[|]/g,"@")
	location.href = "mailto:" + address + "?subject=" + subjectText + "&body=" + bodyText
}

function writeMailLink(address,bodyText){
	/* Schrijf een maillink als mailadres in de pagina, default aan kumulus	*/
	if(!address || address.length == 0) var address = theMail;
	if(!bodyText || !bodyText.length) var bodyText = ""
	var subjectText = "Bericht%20van%20BAKM%20site:%20" + this.location.hostname + this.location.pathname
	/* email adressen gecodeerd als persoon|adres ipv persoon@adres ivm email harvesting	*/
	var str = '<a href=\"javascript:mailLink(\'' + address + '\',\'' + bodyText + '\')\">' + address.replace(/[|]/g,"@") + '</a>'
	document.write(str)
}
function intraSearch(myForm){
	if(myForm.query.value == ""){
		var word = prompt("Welk zoekwoord wil je zoeken?","");
		if(!isEmpty(word)){
			myForm.query.value = word;
			return(true);
			}
		else{
			myForm.query.focus();
			return(false);
			}
		}
}

function addLoadEvent(func){
	var oldonload = window.onload;
	if (typeof window.onload != 'function'){
		window.onload = func;
	}
	else{
		window.onload = function(){
			if(oldonload){
				oldonload();
			}
		func(); 
		};
	}
}

/* Inlinken IE specifieke styles:	*/

if (document.all) document.createStyleSheet("http://www.amateurkunstenmaastricht.nl/css/ie.css");