function preg_match(match, string) {
	var count = 0;
	while(match.exec(string)) {
		count++;
	}
	return count;
}

function loadHead(responseText, newUrl) {
	var MetaTags = responseText.split('<head>');
	var BeforeTitle = MetaTags[1].split('</title>');
	var Title = BeforeTitle[0].split('<title>');
	
	var CreateTitle = document.createElement("title");
	CreateTitle.innerHTML = Title[1];
	
	//var re = new RegExp(RegEx, "g");
	Title[0] = Title[0].replace(/\<base href\=\"(.*?)\" \/\>/g, "");
	
	var headTags = document.getElementById("head");
	//headTags.innerHTML += Title[0];
	headTags.appendChild(CreateTitle);
	
	loadJSPhotos(responseText, newUrl);
}

function loadHomepageWelcome(responseText, newUrl) {
	if(document.getElementById("welcome-content") && newUrl == "homepagina") {
		var HandleContentParts = responseText.split('<table class="contentpaneopen">');
		var ContentWelcomeTitle = HandleContentParts[1].split('</td>');
		var ContentWelcomeText = ContentWelcomeTitle[0].split('<td class="contentheading" width="100%">');
		
		var ContentWelcomeTextH2 = document.createElement('h2');
		ContentWelcomeTextH2.innerHTML = ContentWelcomeText[1];
		document.getElementById("welcome-content").appendChild(ContentWelcomeTextH2);
		
		var ContentWelcomeContent = HandleContentParts[2].split('</td></tr></table>');
		var ContentWelcomeContentText = ContentWelcomeContent[0].split('<td valign="top" colspan="2">');
		document.getElementById("welcome-content").innerHTML += ContentWelcomeContentText[1];
	}
}

function loadHomepageNews(newUrl) {
	if(document.getElementById("column-right") && newUrl == "homepagina") {
		// new request to "homepagemeldingen"
		
		var req = new Ajax("/web/homepagemeldingen/", {
			method: "POST",
			onComplete: function(responseText) {
				// article heading
				var News = responseText.split('<span class="article_separator">&nbsp;</span>');
				var NewsLength = parseInt(News.length)-1;
				
				var i = 0;
				for(var s=0; s<NewsLength; s++) {
					var NewsDivRow = document.createElement('div');
					NewsDivRow.className = "row"+i;
					var NewsArticles = News[s].split('<table class="contentpaneopen">');
					
					for(var k=1; k<NewsArticles.length; k++) {
						if(NewsArticles[k].indexOf('<td class="contentheading" width="100%">') >= 0) {
							// titel
							var NewsArticleTitleParts = NewsArticles[k].split('<td class="contentheading" width="100%">');
							var NewsArticleTitle = NewsArticleTitleParts[1].split('</td>');
							
							var NewsTitleH2 = document.createElement('h2');
							NewsTitleH2.innerHTML = NewsArticleTitle[0];
							
							if(NewsArticleTitle[0] != undefined) {
								NewsDivRow.appendChild(NewsTitleH2);
							}
						} else {
							// artikel
							var NewsArticleContent = NewsArticles[k].split('<td valign="top" colspan="2">');
							var NewsContent = NewsArticleContent[1];
							
							var howmuch = preg_match(/\<script/g, NewsContent);
							if(howmuch > 0) {
								var m = 0;
								while(m <= howmuch) {
									var posStart = parseInt(NewsContent.indexOf('<script'));
									var posEind = parseInt(NewsContent.indexOf('</script>'))+9;
									
									NewsContent = NewsContent.slice(0, posStart);
									NewsContent += NewsContent.slice(posEind, 0);
									m++;
								}
							}
							
							if(NewsContent != undefined) {
								NewsDivRow.innerHTML += NewsContent;
							}
						}
					}
					
					if(i == 0) {
						i = 1;					
					} else {
						i = 0;
					}
					
					document.getElementById("column-right").appendChild(NewsDivRow);
				}
			}
		}).request();
	}
}

function trim(value) {
	value = value.replace(/^\s+/,'');
	value = value.replace(/\s+$/,'');
	return value;
}

function loadNormalPage(responseText, newUrl) {
	if(newUrl != "homepagina") {
		var PageTitle = responseText.split('<div class="componentheading">');
		var PageTitlePart2 = PageTitle[1].split('</div>');
		
		var PageTitleH2 = document.createElement('h2');
		PageTitleH2.innerHTML = PageTitlePart2[0];
		
		document.getElementById('container-left').appendChild(PageTitleH2);
		
		// article heading
		var Articles = responseText.split('<table class="contentpaneopen">');
		var s = 0;
		while(s<Articles.length) {
			if(s > 0) {
				var ArticleTitle = Articles[s].split('</td>');
				var ArticleTitleText = ArticleTitle[0].split('<td class="contentheading" width="100%">');
				
				var ArticleTitleH3 = document.createElement('h3');
				ArticleTitleH3.innerHTML = ArticleTitleText[1];
				if(ArticleTitleText[1] != undefined) {
					document.getElementById('container-left').appendChild(ArticleTitleH3);
				}
				
				// article text
				s = parseInt(s)+1;
				
				var ArticleText = Articles[s].split('<span class="article_separator">&nbsp;</span>');
				if(newUrl != "fotos") {
					var ArticleTextContent = ArticleText[0].split('<td valign="top" colspan="2">');
				} else {
					var ArticleTextContent = ArticleTextPart2.split('<td valign="top">');
				}
				
				if(ArticleTextContent[1] != undefined) {
					document.getElementById('container-left').innerHTML += ArticleTextContent[1];
				}
			}
			s++;
		}
	}
}

function loadJSPhotos(responseText, newUrl) {
	if(newUrl == "fotos") {
		var aJScripts = responseText.split('<script type="text/javascript">');
		var aJSCode = aJScripts[1].split('</script>');
		// aJSCode[0] bevat de javascript code
		var headTagsJS = document.getElementById("head");
		var newScriptTag = document.createElement("script");
		newScriptTag.type = "text/javascript";
		newScriptTag.innerHTML = aJSCode[0];
		
		headTagsJS.appendChild(newScriptTag);
	}
}

function loadMenu(responseText, newUrl) {
	var NewMenuUL = document.createElement("ul");
	document.getElementById("menu").appendChild(NewMenuUL);
	var MenuSplit = responseText.split('<ul class="menu">');
	var MenuItems = MenuSplit[1].split('</span></a></li>');
	MenuItems.pop( );
	
	var i = 0;
	while(i<MenuItems.length) {
		var MenuItem = MenuItems[i].split('<a href="');
		var MenuItemOpt = MenuItem[1].split('"><span>');
		// MenuItemOpt[0] = href, MenuItemOpt[1] = linktekst
		var MenuItemOptHref = MenuItemOpt[0].split("web/");
		var NewMenuLI = document.createElement("li");
		if(newUrl == MenuItemOptHref[1]) {
			NewMenuLI.className = "active";
		}
		
		var NewMenuA = document.createElement("a");
		NewMenuA.href = MenuItemOptHref[1];
		NewMenuA.innerHTML = MenuItemOpt[1];
		NewMenuLI.appendChild(NewMenuA);
		NewMenuUL.appendChild(NewMenuLI);
		i ++;
	}
}

function loadWebsiteLinks() {
	new Ajax("/web/links/", {
		method: "POST",
		onComplete: function(responseText) {
			var Articles = responseText.split('<span class="article_separator">&nbsp;</span>');
			var ElementsTotal = Articles[0].split('<td valign="top" colspan="2">');
			var Elements = ElementsTotal[1].split('<p>');
			
			for(var i = 1; i<Elements.length; i++) {
				var Settings = Elements[i].split('</p>');
				var Options = Settings[0].split('<br />');
				
				for(var s = 0; s<Options.length; s++) {
					if(Options[s].indexOf('img') >= 0) {
						var imgUrl = Options[s].substring(6, (parseInt(Options[s].length)-1));
					} else if(Options[s].indexOf('url') >= 0) {
						var linkUrl = Options[s].substring(6, (parseInt(Options[s].length)-1));
					} else if(Options[s].indexOf('header') >= 0) {
						var headerTxt = Options[s].substring(9, (parseInt(Options[s].length)-1));
					} else if(Options[s].indexOf('subtitle') >= 0) {
						var subtitleTxt = Options[s].substring(11, (parseInt(Options[s].length)-1));
					}
				}
				//alert(imgUrl + "|" + linkUrl + "|" + headerTxt + "|" + subtitleTxt);
				
				var newALink = document.createElement('a');
				newALink.href = linkUrl;
				
				var newDivLink = document.createElement('div');
				newDivLink.className = "link";
				
				var newImg = document.createElement('img');
				newImg.src = imgUrl;
				newImg.border = "0";
				newDivLink.appendChild(newImg);
				
				var newTitle = document.createElement('h1');
				newTitle.innerHTML = "&raquo;			"+headerTxt;
				newDivLink.appendChild(newTitle);
				
				var newSubTitle = document.createElement('span');
				newSubTitle.className = "subtitle";
				newSubTitle.innerHTML = subtitleTxt;
				newDivLink.appendChild(newSubTitle);
				newALink.appendChild(newDivLink);
				
				document.getElementById("container-right").appendChild(newALink);
			}
		}
	}).request();
}

function ajaxLoad(newUrl) {
	if(newUrl == ""){
		newUrl = "homepagina";
	}
	
	new Ajax("/web/"+newUrl+"/", {
		method: "POST",
		onComplete: function(responseText) {
			
			/* fill head */
			loadHead(responseText, newUrl);
			
			/* handle homepage welcome */
			loadHomepageWelcome(responseText, newUrl);
			
			/* handle homepage news */
			loadHomepageNews(newUrl);
			
			/* handle menu */
			loadMenu(responseText, newUrl);
			
			/* load website links (right column) */
			loadWebsiteLinks();
			
			/* handle normal pages */
			loadNormalPage(responseText, newUrl);
		}
	}).request();
}
