﻿var lastIndex = 100;
var shiftUp = 2000;

if ( window.ie ) {
}

var closedStickies = [];
var openStickies = [];
var autosizeStickies = [];
var allStickies = [];
var oldHTML;
var topWindow;

var stickyNr = 0;
var ieS = window.ie? 60 : 0;
var ieP = window.ie? 0 : 0;

function loadDataForSlide() {}

//var dragWidth = window.ie? parseInt($(window).getSize().size.x + 30) : parseInt($(window).getSize().size.x);
//var dragHeight = window.ie? parseInt($(window).getSize().size.y + 30) : parseInt($(window).getSize().size.y);

var loginStatus;

function condReplace(el, first, second)
{
	if( el.value == first ) {
		el.value = second
	}
}

window.addEvent('domready', function(){
	getLoginStatus();
	getModuleAccess();
	getCurrentTheme();
	
	//getStayLoggedIn();
});

window.addEvent('load', function() {
	toggleLinks();
  $('stickySurface').setStyle('visibility', 'visible');
});

function toggleLinks() {
	var linkBox = $('allLinks');
	if ($defined(linkBox)) {
		var accordion = new Fx.Accordion($$('.toggler'),$$('.linkContainer'), {
			alwaysHide: true,
			display: -1,
			opacity: false,
			onActive:  function(toggler) { toggler.setStyle('color', '#000');  },
			onBackground: function(toggler) { toggler.setStyle('color', '#999'); }
		});
	}
}

function getCurrentTheme()
{
	$$('div.set_color').addEvent('click', colordiv);
	var themeColor = readCookie('color');
	if(themeColor){
		$$('.colorlink').each(function(item){
			item.setStyle('color',themeColor);
		});
		//$('toolbar_title').setStyle('background-color',themeColor);
		//$('popularLabel').setStyle('border-top','3px solid '+themeColor);
		if(themeColor == 'transparent')
		{
			$$('.titleBar').setStyle('border','1px solid #4DB6FE');
			$$('.titleBar').setStyle('color','black');
			$$('.container').setStyle('border','1px solid #4DB6FE');
			$$('.container').setStyle('background-color','transparent');
			$$('.container').setStyle('color','black');
			$$('.container p').setStyle('color','black');
			$$('.container input').setStyle('color','black');
			$$('.container label').setStyle('color','black');
			$$('.container a').setStyle('color','black');
			$$('.container li').setStyle('color','black');
			$('popularLabel').setStyle('border-top','1px solid #4DB6FE');
			$$('.Close').setStyle('background-image',"url('./gfx/close-black.gif')");
		}
	}
	
	var background = readCookie('background2009');
	/*
	if(!background){
		
		var sinterklaas = new Date();
		sinterklaas.setFullYear( 2008, 11, 5 );
		var kerst = new Date();
		kerst.setFullYear( 2008, 11, 26 );
		var today = new Date();
		var specialBG = false;
		
		if($('BGName')) {
			if (today <= sinterklaas) {
				$('BGName').innerHTML = '<p>pepernoten</p>';
			} else if( today <= kerst && today > sinterklaas ) {
				$('BGName').innerHTML = '<p>ho ho ho</p>';
			} else if( today > kerst && specialBG == true ) {
				$('BGName').innerHTML = '<p>schaatsen</p>';
			} else {
				$('BGName').innerHTML = '<p>amsterdam</p>';
			}
		}

		if (today <= sinterklaas) {
			$('stickySurface').setStyle( 'background', '#FFFFFF url( bgpics/pepernoten.jpg ) no-repeat top left' );
		} else if( today <= kerst && today > sinterklaas ) {
			$('stickySurface').setStyle( 'background', '#FFFFFF url( bgpics/santa.jpg ) no-repeat top left' );
		} else if( today > kerst && specialBG == true ) {
			$('stickySurface').setStyle( 'background', '#FFFFFF url( bgpics/skating.jpg ) no-repeat top left' );
		} else {
			$('stickySurface').setStyle( 'background', '#000000 url( bgpics/amsterdam.jpg ) no-repeat top left' );
		}
	} else {
	*/
	if(background){
		var options = background.split('|');
		if($('BGName')) {
			$('BGName').innerHTML = '<p>'+options[4]+'</p>';
		}
		$('stickySurface').setStyle( 'background', ''+options[3]+' url( '+options[0]+' ) no-repeat '+options[2]+' '+options[1]+'' );
	} else {
		$('BGName').innerHTML = '<p>ideas</p>';
		$('stickySurface').setStyle( 'background', '#0d0601 url( bgpics/ideas.jpg ) no-repeat top right' );
	}
	
}

function getLoginStatus()
{
	new Ajax('mods/loginBox/status.php', {
		method: 'get',
		onSuccess: function(response){
			if(response != undefined)
			{
				loginStatus = response;
				getModuleAccess(loginStatus);
			}
			else
			{
				loginStatus = 0;
			}
			return loginStatus;
		}
	}).request();
}

function getModuleAccess(loginStatus){
	$$('div.maximize').addEvent('click', maxdiv);
	$$('a.popular').addEvent('click', togglePopular);
	$$('a.react').addEvent('click', getArticle);
	$$('a.rate').addEvent('click', getArticle);
	$$('a.portfolio_item').addEvent('click', getPortfolio);
	if ($('formSearch')) {
		$('formSearch').addEvent('submit', search);
	}
	if ($('replace_article')) {
		var themeColor = readCookie('color');
		$ES('a', 'replace_article').each(function(item){
			item.setStyle('color', themeColor)
		});
	}
	
	if($('formProfile')) {
		$('formProfile').addEvent('submit', register);
	}
	
	if($('formMailingList')) {
		$('formMailingList').addEvent('submit', addmaillinglist);
	}

/*
	if(loginStatus == 1 || loginStatus == 2)
	{
		$('formReaction').addEvent('submit', addReaction);
		$('add_link').addEvent('click', newLink);
	}
	if(loginStatus == 2)
	{
		$('about_edit').addEvent('click', editAbout);
		$('contact_edit').addEvent('click', editContact);
		$('portfolio_edit').addEvent('click', editPortfolio);
		$('article_add').addEvent('click', newArticle);
		$('motd_add').addEvent('click', newMotd);
		$('iotd_add').addEvent('click', newIotd);
		$('guestblog_add').addEvent('click', addGuestblog);

		$('formArticle').addEvent('submit', addArticle);
		$('formAddlink').addEvent('submit', addLink);
		$('formMovieoftheday').addEvent('submit', addMotd);
		$('formGuestblog').addEvent('submit', addGuestblog);
	}
*/
}

function register(e)
{
	new Event(e).stop();
	var myAjax = new Ajax(this.action, {
		method: 'post',
		data: $(this.id),
		onSuccess: function(response){
			alert(response);
		}
	}).request();
}
/*
function addmaillinglist(e)
{
	new Event(e).stop();
	var myAjax = new Ajax(this.action, {
		method: 'post',
		data: $(this.id),
		update : $('replace_MAIL'),
		//onSuccess: function(response){
		//	alert(response);
		//}
	}).request();
}*/

function search(e)
{
	new Event(e).stop();
	new Ajax(this.action, {
		method: 'post',
		data: $(this.id),
		update : $('replace_SRE'),
		onSuccess : function(){
			maxApplet('SRE');
			var themeColor = readCookie('color');
			$$('.colorlink').each(function(item){
					item.setStyle('color',themeColor);
				});
			$$('a.react').addEvent('click', getArticle);
		}
	}).request();
}

function addGuestblog(e)
{
	activate('ADDGBL');
	new Event(e).stop();
	var myAjax = new Ajax(this.action, {
		method: 'post',
		data: $(this.id),
		onSuccess: function(){
			refresh('GBL','mods/gastBlog/content.php');
		}
	}).request();
}

function getBlog(id) {
	$('replace_GBL').empty();
	var url = 'mods/gastBlog/content.php?id='+id;
	new Ajax(url, {
		method: 'get',
		update : $('replace_GBL')
	}).request();
}

function refresh(el, url)
{
	new Ajax(url, {
		method: 'get',
		update : $('replace_'+el)
	}).request();
}

function getPortfolio(e)
{
	new Event(e).stop();
	new Ajax(this.href, {
		method: 'get',
		update : $('replace_portfolio'),
		onComplete: function(){
			$$('a.portfolio_item').addEvent('click', getPortfolio);
			var themeColor = readCookie('color');
			if(themeColor){
				$$('.colorlink').each(function(item){
					item.setStyle('color',themeColor);
				});
			}
		}
	}).request();
}

function getBanners(e)
{
	new Event(e).stop();
	new Ajax(this.href, {
		method: 'get',
		update : $('replace_BANNERS'),
		onComplete: function(){
			$('moreBanners').addEvent('click', getBanners);
		}
	}).request();
}

function newArticle(e)
{
	new Event(e).stop();

	if($('ADDARTICLE').getStyle( 'opacity') == 0)
	{
		maxApplet('ADDARTICLE');
	}
	$('replace_ADDARTICLE').empty();
	var url = 'mods/add_article/content.php';
	new Ajax(url, {
		method: 'get',
		update : $('replace_ADDARTICLE'),
		onComplete: function(){
			$('formArticle').addEvent('submit', addArticle);
		}
	}).request();
}

function newLink(e)
{
	new Event(e).stop();

	if($('LINK').getStyle( 'opacity') == 0)
	{
		maxApplet('LINK');
	}
}

function newMotd(e)
{
	new Event(e).stop();

	if($('ADDMOVIE').getStyle( 'opacity') == 0)
	{
		maxApplet('ADDMOVIE');
	}
}

function newIotd(e)
{
	new Event(e).stop();

	if($('ADDIMAGE').getStyle( 'opacity') == 0)
	{
		maxApplet('ADDIMAGE');
	}
}

function addArticle(e) {
	new Event(e).stop();
	var url = "mods/add_article/content.php";
	new Ajax(url, {
		method: 'post',
		data: $('formArticle'),
		update: $('replace_ADDARTICLE'),
		onComplete: function() {
			getLatestTopics();
			getArchive();
		}
	}).request();
}

function addLink(e)
{
	new Event(e).stop();

	var log = $('replace_LINK');
	this.send({
		update: log,
		onComplete: function() {
			getDumplinks();
			minApplet('LINK');
			$('formAddlink').addEvent('submit', addLink);
		}
	});
}

function addReaction(e)
{
	new Event(e).stop();
	var url = "mods/article/content.php";
	new Ajax(url, {
		method: 'post',
		data: $('formReaction'),
		update: $('replace_article'),
		onComplete: function() {
			$('formReaction').addEvent('submit', addReaction);
		}
	}).request();
}

function addMotd(e) {
	new Event(e).stop();
	var log = $('replace_MOVIEOFTHEDAY').empty().addClass('ajax-loading');
	this.send({
		update: log,
		onComplete: function() {
			log.removeClass('ajax-loading');
			getMotd();
		}
	});
}

function showShowReel() {
	activate('SHOWREEL');
}

function addIotd(e) {
	new Event(e).stop();
	var log = $('replace_ADDIMAGE');
	var form = $('formImageoftheday');
	form.send({
		update: log
	});
}

function getDumplinks()
{
	$('replace_DUMPLINKS').empty();
	var url = 'mods/dumplinks/content.php';
	new Ajax(url, {
		method: 'get',
		update : $('replace_DUMPLINKS'),
		onComplete: function(){
			maxApplet('DUMPLINKS');
		}
	}).request();
}

function getLatestTopics(startid)
{
	if (startid == undefined) {
		startid = 0;
	}
	var url = 'mods/latest_topics/content.php?startid=' + startid;
	new Ajax(url, {
		method: 'get',
		update : $('replace_LATESTTOPICS'),
		onComplete: function() {
			getCurrentTheme();
			$$('a.react').addEvent('click', getArticle);
			$$('a.rate').addEvent('click', getArticle);
		}
	}).request();
}

function getArchive()
{
	$('replace_archive').empty();
	var url = 'mods/archive/content.php';
	new Ajax(url, {
		method: 'get',
		update : $('replace_archive'),
		onComplete: function(){
			$$('a.react').addEvent('click', getArticle);
			$$('a.rate').addEvent('click', getArticle);
		}
	}).request();
}

function getArchiveList(e, maand, jaar)
{
	new Event(e).stop();
	$('replace_archive').empty();
	var url = 'mods/archive/content.php?maand='+maand+'&jaar='+jaar;
	new Ajax(url, {
		method: 'get',
		update : $('replace_archive'),
		onComplete: function(){
			$$('a.react').addEvent('click', getArticle);
			$$('a.rate').addEvent('click', getArticle);
		}
	}).request();
}

function getMotd()
{
	$('replace_MOVIEOFTHEDAY').empty();
	var url = 'mods/movieoftheday/content.php';
	new Ajax(url, {
		method: 'get',
		update : $('replace_MOVIEOFTHEDAY')
	}).request();
}

function getMovie(id, link, e) {
	if (e) {
		new Event(e).stop();
	}
	var url = 'mods/movieoftheday/content.php?id='+id;
	new Ajax(url, {
		method: 'get',
		update : $('replace_MOVIEOFTHEDAY'),
		onComplete: function(){
		   var so = new SWFObject(link, "FLVPlayer", "425", "360", "9", "#eeeeee");
		   so.addParam("wmode", "transparent");
		   so.addParam("salign", "t");
		   so.write("flashContentMovieOfTheDay");
		   
   			var themeColor = readCookie('color');
			if(themeColor){
				$$('.colorlink').each(function(item){
					item.setStyle('color',themeColor);
				});
			}
		}
	}).request();
}

function getArticle(e)
{
	new Event(e).stop();
	var url = this.href;
	var url = url.split("/article/");
	var url = 'mods/article/' + url[1];
	$('replace_article').empty();
	new Ajax(url, {
		method: 'get',
		update : $('replace_article'),
		onComplete: function(){
			maxApplet('article');
			getCurrentTheme();
			var themeColor = readCookie('color');
			$ES('a','replace_article').each(function(item) {
				item.setStyle('color', themeColor)
			});
			if(loginStatus)
			{
				$('formReaction').addEvent('submit', addReaction);
			}
		}
	}).request();
}

function rateArticle(e, rating, id) {
	new Event(e).stop();
	
	var url = 'mods/article/content.php?id='+id+'&rating='+rating;
	$('replace_article').empty();
	new Ajax(url, {
		method: 'get',
		update : $('replace_article'),
		onComplete: function(){
			maxApplet('article');
			if(loginStatus)
			{
				$('formReaction').addEvent('submit', addReaction);
			}
		}
	}).request();
}

function getLabels(id)
{
	var cookie = readCookie('label_id_'+id);
	
	if(cookie) {
		eraseCookie('label_id_'+id);
	} else {
		createCookie('label_id_'+id, id, 30);
	}
	
	var url = 'mods/labelList/content.php?label_id=' + id;
	new Ajax(url, {
		method: 'get',
		update : $('replace_LLA'),
		onComplete: function() {
			getCurrentTheme();
			setTimeout( function() {
					getLatestTopics();
					getArchive();
				}, 100);
		}
	}).request();
}

function togglePopular(state) {
	var url = '';
	switch(state) {
		case 'true':
			url = 'mods/labelList/content.php?popular=true'
			new Ajax(url, {
				method: 'get',
				update : $('replace_LLA'),
				onComplete: function() {
					getCurrentTheme();
					getLatestTopics();
					//getArchive();
				}
			}).request();
			break;
		default:
			url = 'mods/labelList/content.php?popular=false'
			new Ajax(url, {
				method: 'get',
				update : $('replace_LLA'),
				onComplete: function() {
					getCurrentTheme();
					getLatestTopics();
					//getArchive();
				}
			}).request();
			break;
	}
}

function getLogin(e)
{
	new Event(e).stop();
	var log = $('replace_LOA');
	
	this.send({
		onRequest: function() {
			// check if a cookie has te be set to keep the user logged in
			if($('login_remember')) {
				if($('login_remember').checked == true) {
					createCookie('stayLoggedIn', SHA1($('login_password').value), '14');
				}
			}
			
			// check if user logs out
			if($('logout')) {
				eraseCookie('stayLoggedIn');
			}
			log.empty();
		},
		update: log,
		onSuccess: function() {
			getModuleAccess(loginStatus);
		},
		onComplete: function() {
			//$('formLogin').addEvent('submit', getLogin);
			document.location.reload();
		}
	});
}

function getStayLoggedIn() {
	setTimeout(function() {
		// check to see if there's a cookie
		var cookie = readCookie('stayLoggedIn');
		var loggedIn = readCookie('loggedIn');
		if(cookie) {
			// user has checked the checkbox to stay online
			var url = 'mods/loginBox/getStayLoggedIn.php';
			new Ajax(url, {
				method: 'get',
				onComplete: function() {
					new Ajax('mods/loginBox/content.php', {
						method: 'get',
						update : $('replace_LOA'),
						onComplete: function() {
							new Ajax('mods/loginBox/status.php', {
								method: 'get',
								onSuccess: function(response){
									if(response != undefined)
									{
										loginStatus = response;
										getModuleAccess(loginStatus);
									}
									else
									{
										loginStatus = 0;
									}
									//$('formLogin').addEvent('submit', getLogin);
								}
							}).request();
						}
					}).request();
				}
			}).request();
		}
	}, 1000);
}

function getProfile(e) {
	var formProfile = $('formProfile');
	formProfile.send({
		onRequest: function() {
			formProfile.empty();
		},
		update: formProfile,
		onComplete: function() {
			if($('registerButton')) {
				$('registerButton').addEvent('click', getProfile);
			}
		}
	});
}

function getForgotPass() {
	$('forgotPassForm').addEvent('submit', getForgotPassSend);
	$("FORPASSresponse").setStyle("display", "none");
	maxApplet('FORPASS');
}

function getForgotPassSend(e) {
	new Event(e).stop();
	var log = $('replace_FORPASS');
	this.send({
		update: log,
		onComplete: function() {
			$("FORPASSresponse").setStyle("display", "block");
			$('forgotPassForm').addEvent('submit', getForgotPassSend);
		}
	});
}

function getBackgroundSelector() {
	for(var i=0; i <= 1000; i++) {
		var name = "BGSELbackgroundPic"+i;
		if ($(name)) {
			$(name).addEvent('click', changeBackground);
		}
	}
	maxApplet('BGSEL');
}

function changeBackground(e) {
	var res = this.getProperty('res');
	createCookie('background2009', res, '365');
	
	var options = res.split('|');
	$('stickySurface').setStyle( 'background', ''+options[3]+' url( '+options[0]+' ) no-repeat '+options[2]+' '+options[1]+'' );
	$('BGName').innerHTML = '<p>'+options[4]+'</p>'
	minApplet('BGSEL');
}

function colordiv(e) {
	new Event(e).stop();
	var themeColor = this.getStyle('backgroundColor');
	setCookie('color',themeColor);
	setCookie('handleColor',themeColor);
	document.location.reload();
}

function maxdiv(e) {
	new Event(e).stop();
	var id = this.id.substring(4,this.id.length);
	this.setStyle('display','none');
	maxApplet(id);
}

function maxApplet(id)
{
	if ($(id)) {
		if ($(id).getStyle('top').toInt() < -1000) {
			updateCookie(id, 'active=1|');
			$(id).setStyle('top', parseInt($(id).getStyle('top').toInt() + shiftUp) + 'px');
      updateCookie(id, 'top='+$(id).getStyle("top").toInt()+'|');
			bringToFront(id);
			var myFx = new Fx.Style($(id), 'opacity', {
				duration: 200
			});
			myFx.start(0, 1);
			
			return true;
		}
	}
}

function activate(id)
{
	if($(id).getStyle( 'opacity') == 0)
	{
		if ($('max_' + id)) {
			$('max_' + id).setStyle('display', 'none');
		}
		maxApplet(id);
	}
}

function minApplet(id)
{
	if($(id).getStyle( 'opacity' ) == 1)
	{
		fadeElt( id, 0, 0 );
		$(id).setStyle( 'opacity', '0' );
		updateCookie(id,'active=0|');
		$(id).setStyle( 'top', parseInt($(id).getStyle('top').toInt() - shiftUp) + 'px' );
	}
}

function editAbout(e)
{
	new Event(e).stop();
	if($('about').getStyle( 'opacity') == 0)
	{
		$('max_about').setStyle('display','none');
		maxApplet('about');
	}

	var url = "mods/about/functions.php";
	var log = $('replace_about').empty().addClass('ajax-loading');

	new Ajax(url, {
		method: 'get',
		update: $('replace_about'),
		onComplete: function() {
			log.removeClass('ajax-loading');

			$('about_back').addEvent('click', backAbout);
			function backAbout(e){
				var url = "mods/about/content.php";
				new Ajax(url, {
					method: 'get',
					update: $('replace_about')
				}).request();
			}

			$('formAbout').addEvent('submit', addAbout);
			function addAbout(e){
				new Event(e).stop();

				var url = "mods/about/content.php";
				new Ajax(url, {
					method: 'post',
					data: $('formAbout'),
					update: $('replace_about')
				}).request();
			}
		}
	}).request();
}

function editContact(e)
{
	new Event(e).stop();
	if($('contact').getStyle( 'opacity') == 0)
	{
		$('max_contact').setStyle('display','none');
		maxApplet('contact');
	}

	var url = "mods/contact/functions.php";
	var log = $('replace_contact').empty().addClass('ajax-loading');

	new Ajax(url, {
		method: 'get',
		update: $('replace_contact'),
		onComplete: function() {
			log.removeClass('ajax-loading');

			$('contact_back').addEvent('click', backContact);
			function backContact(e){
				var url = "mods/contact/content.php";
				new Ajax(url, {
					method: 'get',
					update: $('replace_contact')
				}).request();
			}

			$('formContact').addEvent('submit', addContact);
			function addContact(e){
				new Event(e).stop();

				var url = "mods/contact/content.php";
				new Ajax(url, {
					method: 'post',
					data: $('formContact'),
					update: $('replace_contact')
				}).request();
			}
		}
	}).request();
}

function editPortfolio(e)
{
	new Event(e).stop();
	if($('portfolio').getStyle( 'opacity') == 0)
	{
		$('max_portfolio').setStyle('display','none');
		maxApplet('portfolio');
	}

	var url = "mods/portfolio/functions.php";
	var log = $('replace_portfolio').empty().addClass('ajax-loading');

	new Ajax(url, {
		method: 'get',
		update: $('replace_portfolio'),
		onComplete: function() {
			$$('a.portfolio_item').addEvent('click',editPortfolio);
			log.removeClass('ajax-loading');
			tinyMCE.execCommand('mceAddControl', false, 'portfolio_content');

			$('formPortfolio').addEvent('submit', addPortfolio);
			function addPortfolio(e){
				new Event(e).stop();
				tinyMCE.execCommand('mceRemoveControl', false, 'portfolio_content');
				var url = "mods/portfolio/content.php";
				new Ajax(url, {
					method: 'post',
					data: $('formPortfolio'),
					update: $('replace_portfolio')
				}).request();
			}
		}
	}).request();
}

function initPage() {
	chainOpenStickies();
	
	if ($('styleLeft')) {
		$('styleLeft').removeClass('styleLeft');
	}
	
	closedStickies.forEach(function(curSticky){
		if ($(curSticky)) {
			$(curSticky).fireEvent('mousedown');
		}
	});
	
	autosizeStickies.forEach(function(curSticky){
		 autoSize( curSticky );
	});
	allStickies.forEach( function(curSticky) {
	  if ( $(curSticky).options.iframe == '1' )
		 startIframe( curSticky, $(curSticky).options.src );
	});
}

function chainOpenStickies(){
	var myChain = new Chain();
	openStickies.forEach(function(curSticky){
		if(curSticky != 'createprofile') {
			var myFx = new Fx.Style($(curSticky), 'opacity', {duration: 200});
			myChain.chain( function(){ 
				myFx.start(0,1);
			});
		}
	});
	myChain.chain( function(){
		var cookie = readCookie('style');
		if (cookie != 'business') {
			//bringToFront($('LATESTTOPICS'));
			if ($('contact').style.left == '105px' && $('contact').style.top == '295px') {
				var myMove = new Fx.Styles($('contact'), {
					duration: 300,
					transition: Fx.Transitions.Quad.easeIn
				});
				myChain.chain(function(){
					myMove.start({
						'left': 407,
						'top': 37
					});
				});
			}
		}
	});
	// bepaal of het createprofile venster moet worden getoond en voeg deze toe aan de chain
	//myChain.chain(function () { 
	//	if(loginStatus == 0) {
	//		var myFx = new Fx.Style($('createprofile'), 'opacity', {duration: 200, onComplete: function() { 
	//			$('registerButton').addEvent('click', getProfile);
	//		}});
	//		myFx.start(0,1);
	//	} else {
	//		getModuleAccess();
	//	}
	//});
	
	/*
var a = $('labelList').getChildren();
	var selected;
	a.forEach(function(item) {
		if($(item).hasClass('selected')) {
			selected = true;;
		}
	})
	if(!selected) {
		myChain.chain(
			function(){ 
					createCookie('label_id_1', '1', '30');
					createCookie('label_id_3', '3', '30');
					
					new Ajax('http://85.12.15.38/~tacm/mods/labelList/content.php', {
					method: 'get',
					update: $('replace_LLA'),
					onComplete: function() {
						getLatestTopics();
						getArchive();
					}
				}).request();
			});
	}
*/
	
	// Add handlers to certain elements when finished animating
	myChain.chain(
		function() {
			//$('popularLabel').setStyle('border-top','3px solid #FE4D6A');
			if ($('formLogin')) {
				//$('formLogin').addEvent('submit', getLogin);
			}
			if ($('forgotPassForm')) {
				$('forgotPassForm').addEvent('submit', getForgotPassSend);
			}
			if($('forgotPassLink')) {
				$('forgotPassLink').addEvent( 'click', getForgotPass );
			}
			for(var i=0; i <= 100; i++) {
				var name = "BGSELbackgroundPic"+i;
				if ($(name)) {
					$(name).addEvent('click', changeBackground);
				}
			}
		}
	);
	
	// Show showreel if user visits site for first time
	/*
	myChain.chain(
		function() {
			var cookie = readCookie('firstTimeVisit');
			if(!cookie) {
				activate('SHOWREEL');
				createCookie('firstTimeVisit', '1', '10950');
			}
		}
	);
*/
	
	var runChain = function() { 
		myChain.callChain();
		if (myChain.chains.length == 0) {
			runChain = $clear(timer);
		} 
	}
	var timer = runChain.periodical(300);
}

function fullScreen( elt ) {
   var winSize = $(window).getSize();
   var newHeight = winSize.size.y;
   var newWidth = winSize.size.x;
   //var newHeight = window.getScrollHeight().toInt();
   //var newWidth  = window.getScrollWidth().toInt();
   $(elt).setStyles({
	  top:	  '0px',
	  width:  newWidth + 'px',
	  height: newHeight + 'px',
	  left:   '0px'
   });
}

function startIframe( elt, src ) {
   getMWindowContent( elt, $(elt).options.type );
}

function resizeIframe( elt ) {
   var children = $(elt + 'CN').getChildren();
   if ( $(elt).options.hasTitle == '1' ) {
		 if ( ! window.ie ) {
			var newHeight = $(elt).getStyle( 'height' ).toInt() -
			   $(elt + 'DH').getStyle( 'height' ).toInt() -
			   $(elt + 'DH').getStyle( 'margin-top' ).toInt() -
			   $(elt + 'DH').getStyle( 'margin-bottom' ).toInt() -
			   $(elt + 'DH').getStyle( 'padding-top' ).toInt() -
			   $(elt + 'DH').getStyle( 'padding-bottom' ).toInt() + 'px';
		 }
		 else {
			var newHeight = $(elt).getStyle( 'height' ).toInt() -
			   $(elt + 'DH').getStyle( 'height' ).toInt() + 'px';
		 }
	  $(children[0]).setStyle( 'height', newHeight );
   }
   else {
	  $(children[0]).setStyle( 'height', $(elt).getStyle( 'height' ));
   }
   $(children[0]).setStyle( 'width', $(elt).getStyle( 'width' ) );
   $(elt+'CN').setStyle( 'opacity', '1' );
}

function bringToFront( elt ) {
   var tmpIndex = $(elt).getStyle( 'z-index' );
   leaveShadow(topWindow);
   $(elt).setStyle( 'z-index', lastIndex + 1 );
   /* TODO: kill line below and sort z-index neatly */
   lastIndex = lastIndex + 1;
   topWindow = elt;
   enterShadow(elt);
}

function enterShadow (elt) {
   if ($(elt).className.indexOf('hasShadow')!=-1) {
	 if ($(elt).style.BoxShadow !== undefined) {
		$(elt).style.BoxShadow = '10px 10px 40px rgba(0, 0, 0, 0.7)';
	 } else if ($(elt).style.MozBoxShadow !== undefined) { 
	    $(elt).style.MozBoxShadow = '10px 10px 40px rgba(0, 0, 0, 0.7)';
	 } else if ($(elt).style.WebkitBoxShadow !== undefined) {
		$(elt).style.WebkitBoxShadow = '10px 10px 40px rgba(0, 0, 0, 0.7)';
	 } else if ( window.ie ) {
	    $(elt).setStyles({
			'width'			: parseInt($(elt).getSize().size.x+20)+'px',
			'height'		: parseInt($(elt).getSize().size.y+20)+'px',
			'margin-top'	: '-10px',
			'margin-left'	: '-10px'
		});
		$(elt).getFirst().style.padding = '40px';
		$(elt).getFirst().setStyles({
			'height'			: parseInt($(elt).getStyle('height').toInt()-60)+'px'
		});
		$(elt).getFirst().getFirst().setStyles({
			'width'			: parseInt($(elt).getSize().size.x-80)+'px',
			'height'		: parseInt($(elt).getSize().size.y-80)+'px',
			'top'			: '10px',
			'left'			: '10px'
		});
		//alert($(elt).getFirst().getStyle('padding'));
	  }
   }
}

function leaveShadow (elt) {
   if ($(elt).className.indexOf('hasShadow')!=-1) {
     if ($(elt).style.BoxShadow !== undefined) {
		$(elt).style.BoxShadow = '5px 5px 30px rgba(0, 0, 0, 0.5)';
	 } else if ($(elt).style.MozBoxShadow !== undefined) { 
	    $(elt).style.MozBoxShadow = '5px 5px 30px rgba(0, 0, 0, 0.5)';
	 } else if ($(elt).style.WebkitBoxShadow !== undefined) {
		$(elt).style.WebkitBoxShadow = '5px 5px 30px rgba(0, 0, 0, 0.5)';
	 } else if ( window.ie ) {
		$(elt).setStyles({
			'width'			: parseInt($(elt).getSize().size.x-20)+'px',
			'height'		: parseInt($(elt).getSize().size.y-20)+'px',
			'margin-top'	: '0',
			'margin-left'	: '0'
		});
		$(elt).getFirst().style.padding = '30px';
		$(elt).getFirst().setStyles({
			'height'			: parseInt($(elt).getStyle('height').toInt()-60)+'px'
		});
		$(elt).getFirst().getFirst().setStyles({
			'top'			: '0px',
			'left'			: '0px'
		});
	 }
   }
}

function fadeElt( elt, start, end ) {
   if ( $defined($(elt)) && start == end ) {
	  $(elt).setStyle( 'opacity', start );
   }
   else {
	  topFx = new Fx.Style( elt, 'opacity', {
		 duration: 100,
		 transition: Fx.Transitions.cubicIn
	  });
	  topFx.start(start,end);
   }
}

function maxSticky( elt ) {
   $(elt).options.fullscreen = 1;
   $(elt).orgWidth	= $(elt).getStyle( 'width' );
   $(elt).orgHeight = $(elt).getStyle( 'height' );
   $(elt).orgTop	= $(elt).getStyle( 'top' );
   $(elt).orgLeft	= $(elt).getStyle( 'left' );
   fullScreen( elt );
   $(elt + 'MX').removeClass( 'maxHandle' );
   $(elt + 'MX').addClass( 'maxHandleRestore' );
   $(elt + 'MX').removeEvents();
   $(elt + 'MX').addEvent( 'mousedown', function() {
	  maxRestore( elt );
   });
   if ($(elt).options.iframe == '1' ) {
	  resizeIframe( elt );
   }
}

function maxRestore( elt ) {
   $(elt).options.fullscreen = 0;
   $(elt).setStyles({
	  'top'    : $(elt).orgTop,
	  'left'   : $(elt).orgLeft,
	  'width'  : $(elt).orgWidth,
	  'height' : $(elt).orgHeight
   });
   $(elt + 'MX').removeEvents();
   $(elt + 'MX').addEvent( 'mousedown', function() {
	  maxSticky( elt );
   });
   $(elt + 'MX').addClass( 'maxHandle' );
   $(elt + 'MX').removeClass( 'maxHandleRestore' );
   if ($(elt).options.iframe == '1' ) {
	  resizeIframe( elt );
   }
}

function autoSize( elt ) {
   var newHeight = 0;
   if ( $( elt + 'DH') ) {
	  newHeight = newHeight + $(elt + 'DH').getStyle( 'height' ).toInt();
	  newHeight = newHeight + $(elt + 'DH').getStyle( 'padding-top' ).toInt();
	  newHeight = newHeight + $(elt + 'DH').getStyle( 'padding-bottom' ).toInt();
	  newHeight = newHeight + $(elt + 'DH').getStyle( 'margin-top' ).toInt();
	  newHeight = newHeight + $(elt + 'DH').getStyle( 'margin-bottom' ).toInt();
   }
   newHeight = newHeight + $(elt + 'CN').getStyle( 'padding-top' ).toInt();
   newHeight = newHeight + $(elt + 'CN').getStyle( 'padding-bottom' ).toInt();
   newHeight = newHeight + $(elt + 'CN').getStyle( 'height' ).toInt();
   newHeight = newHeight + $(elt + 'CN').getStyle( 'margin-top' ).toInt();
   newHeight = newHeight + $(elt + 'CN').getStyle( 'margin-bottom' ).toInt();
   $(elt).setStyle( 'height', newHeight + ieS + 'px' );
   $(elt+'CN').setStyle( 'opacity', '1' );
}

var stickyWindow = new Class({

	initialize: function( options ) {

	  for( type in stdOptions ) {
		 if ( !options[type] ) {
			options[type] = stdOptions[type];
		 }
	  }

		/* prepare component names */

		options.exitName	  = options.element + 'EX';
		options.toggleName	  =	options.element + 'TG';
		options.refreshName   = options.element + 'RF';
		options.handleName	  = options.element + 'DH';
		options.handleDragName= options.element + 'DH';
		options.sizerName	  = options.element + 'SZ';
		options.maxerName	  = options.element + 'MX';
		options.containerName = options.element + 'CN';

		this.options = options;

	  $(options.element).options = options;

	  topWindow = options.element;
		/* set styles */

	  $(options.element).addClass( 'stickyWindow' );
	  $(options.element).setStyles({
		'top'			 : options.top - shiftUp + ieP + 'px',
		'width' 		 : parseInt(options.width.toInt() + ieS) + 'px',
		'left'			 : parseInt(options.left.toInt() + ieP)   + 'px',
		'opacity'		 : 0,
		'overflow'		 : 'hidden',
		'z-index'		 : lastIndex
	  });

	  lastIndex = lastIndex + 1;

	  /* add title + content container div */

		var shadeWidth = options.width - 37;
		var shadeRightLeft = options.width;
		var shadeHeight = options.height.toInt() - 24;
		
	  var arVersion = navigator.appVersion.split("MSIE")
	  var version = parseFloat(arVersion[1])
	  if (version > 0) {
	  	// toon geen schaduw
		var shade = '';
	  } else {
	  	var shade = '';
	  	//var shade = '<div id="shadeRight" style="left: '+shadeRightLeft+'px; "><div id="shadeRightTop"><img src="gfx/design2/shadow/rightTop.png" alt="shadeRightTop"></div><div id="shadeRightCenter" style="height: '+shadeHeight+'px; "></div></div><div id="shadeBottom"><div id="shadeBotLeft"></div><div id="shadeBotCenter" style="width: '+ shadeWidth +'px; "></div><div id="shadeBotRight"></div></div>';
	  }

	  oldHTML = '<!-- replaceable content div --><div id="replace_'+options.element+'">'+$(options.element).innerHTML+'</div><!-- /replaceable content div -->';
	  if ( options.hasTitle == '1' ) {
		 $(options.element).innerHTML = '<div class="ieshadow"><div class="anchorfix"><span id="' + options.handleName + '"><span id="' + options.handleDragName + '"><span class="titleText">' + options.title + '</span></span></span><div id="' + options.containerName + '">' + oldHTML + '</div>' + shade + '</div></div>';
		 $(options.handleName).addClass('titleBar');
		 if ( options.draggable == '1' ) { $(options.handleName).addClass('dragHandleDragger'); }
		 //$(options.handleName).setStyle( 'background-color', options.handleColor );
		 //$(options.handleName).setStyle( 'color', options.titleColor );
	  }
	  else {
		 $(options.element).innerHTML = '<div class="ieshadow"><div class="anchorfix"><div id="' + options.containerName + '">' + oldHTML + '</div>' + shade + '</div></div>';
	  }
	  
		$(options.containerName).addClass( 'container' );
		
		// check id color is set, else have white background and black border
		
		if (options.color) {
			//$(options.element).setStyle('background', '#FFFFFF url(gfx/design2/windowBG.gif)');
			//$(options.element).setStyle('background-color', '#FFFFFF');
			//$(options.element).addClass('hasShadow');
			$(options.element).setStyles({
				'top'			  : options.top - shiftUp + 'px',
				'left'			  : options.left  + 'px',
				'width'			  : options.width + 'px'
				
			});
			if (options.autosize == '1') {
				$(options.element).setStyles({
					'height'		  : options.height + 'px'
				});
			}
		} else {
		    $(options.element).addClass('hasShadow');
			$(options.element).setStyle('background-color', '#FFFFFF');
			$(options.element).getChildren().forEach(function(el){
				if(el.hasClass('titleBar')) {
					$(el).getChildren().forEach(function(chEl){
						$(chEl).getChildren().forEach(function(chChEl){
							if(chChEl.hasClass('titleText')) {
								chChEl.setStyle('background-color', '#F79418');
							}
						});
					});
				}
			});
			$(options.element).setStyle('border', '1px solid #000000');
		}
        if ( options.noborder == '1' ) {
			$(options.containerName).setStyle( 'margin', '0px' );
		}

	  /*
	  if ( options.autosize == '0' ) {
		 $(options.element).setStyle( 'height', parseInt(options.height) + ieS + 'px' );
	  }
	  */
		/* scrolling? */
		if ( options.scrolling == '0' ) {
			$(options.containerName).setStyle( 'overflow',	'hidden' );
		}

		/* resize allowed? */
	  if ( options.resizable == '1' ) {
		   this.stickySizer( options );
	  }

	  		/* resize allowed? */
	  if ( options.toggle == '1' ) {
		   this.toggle( options );
	  }


		/* minimizing allowed? */
	  if ( options.closeable == '1' ) {
		 this.stickyCloser( options );
		}
	  if ( options.active == '0' ) {
		 closedStickies.extend([options.exitName]);
	  }
	  else {
		 openStickies.extend([options.element]);
	  }
	  
	  allStickies.extend([options.element]);


		/* draggin allowed? */

	  //if ( ( options.draggable == '1' ) && ( options.hasTitle == '1' ) ) {
	  if ( options.draggable == '1' ) {
		   this.stickyMover( options );
		}
		$(options.element).addEvent('mousedown', function() {
				bringToFront( options.element );
		});
	    

	  if ( options.autosize == '1' ) {
		 /* new height is titlebar, container */
		 autosizeStickies.extend([options.element]);
	  }
	  if ( options.iframe == '1' ) {
		 /* resizeIframe( options.element ); */
	  }

	  $(options.element ).setStyle( 'top', $(options.element).getStyle('top').toInt() + shiftUp + 'px' );
	  $( options.containerName ).setStyle( 'opacity', '1' );
	},

   stickyMover: function( options ) {
	  /*
		 makes current block movable
	  */

	  var curDragger = options.element;
	  if ( options.hasTitle == '1' ) {
		 curDragger = options.handleDragName;
		 $(options.handleDragName).addClass('dragHandleDragger');
	  $(options.handleName).addEvent('mouseup', function() {
		 /* make sure dragging can be stopped */
	  });
	  }
	  $(options.element).makeDraggable({
		 //limit: { x:[ieP,dragWidth],y:[ieP,dragHeight] },
		 container: $('stickySurface'),
		 handle: curDragger,
		 onStart:	  function() {
			if (window.ie) {
				$E('.anchorfix', $( options.element)).setStyle( 'filter', 'alpha(opacity = 75)' );
			} else {
				$( options.containerName ).setStyle( 'opacity', '.75' );
				$( options.element).setStyle( 'opacity', '.75' );
			}
			if ($('shadeBottom') && $('shadeRight')) {
				$('shadeBottom').setStyle('opacity', '.4');
				$('shadeRight').setStyle('opacity', '.4');
			}
			bringToFront( options.element );
		 },
		 onComplete:  function() {
			var newleft = $(options.element).getStyle('left').toInt();
			var newtop = $(options.element).getStyle('top').toInt();

			var newCookie = 'left='+newleft+'|top='+newtop+'|';
			updateCookie(options.element, newCookie);
			if (window.ie) {
				$E('.anchorfix', $( options.element)).setStyle( 'filter', 'alpha(opacity = 100)' );
			} else {
				$( options.element).setStyle( 'opacity', '1' );
				$( options.containerName ).setStyle( 'opacity', '1' );
			}
			if ($('shadeBottom') && $('shadeRight')) {
				$('shadeBottom').setStyle('opacity', '1');
				$('shadeRight').setStyle('opacity', '1');
			}
		 }
	  });
   },

	stickyCloser: function( options ) {
		/*
			makes current block closable
		*/

		if ( options.hasTitle == '1' )
		{
			oldHTML = $(options.handleName).innerHTML;
			$(options.handleName).innerHTML = oldHTML + '<a id="' + options.maxerName + '" href="#"></a>' + '<a id="' + options.refreshName + '" href="#"></a>' + '<a id="' + options.exitName + '" href="#"></a>';
			if ( options.maxable == '1' )
			{
				$(options.maxerName).addClass( 'maxHandle' );
				$(options.refreshName).addClass( 'refreshHandle' );
				$(options.maxerName).addEvent( 'mousedown', function() {
					maxSticky( options.element );
				});
				$(options.refreshName).addEvent( 'mousedown', function() {
					getMWindowContent( options.element, options.type );
				});
			}
			else
			{
				$(options.handleDragName).innerHTML = oldHTML + '<a id="' + options.exitName + '" href="#"></a>';
			}
		}
		else
		{
			oldHTML = $(options.containerName).innerHTML;
			$(options.containerName).innerHTML = oldHTML + '<a id="' + options.maxerName + '" href="#"></a>' + '<a id="' + options.exitName + '" href="#"></a>';
			if ( options.maxable == '1' )
			{
				$(options.maxerName).addClass( 'maxHandle' );
				$(options.maxerName).addEvent( 'mousedown', function() {
					maxSticky( options.element );
				});
			}
			else
			{
				$(options.containerName).innerHTML = oldHTML + '<a id="' + options.exitName + '" href="#"></a>';
			}
		}

		$(options.exitName).addClass( 'Close' );

		$(options.exitName).addEvent( 'mousedown', function(){
			var maxEl = 'max_'+options.element;
			var maxArray = $$('div.maximize');
			maxArray.each(function(item)
			{
				if(item.id == maxEl)
				{
					$(maxEl).setStyle('display','block');
				}
			});
			fadeElt( options.element, 0, 0 );
			$(options.element).setStyle( 'opacity', '0' );
			updateCookie(options.element,'active=0|');
			if ($(options.element).getStyle('top').toInt() >= 0) $(options.element).setStyle( 'top', $(options.element).getStyle('top').toInt() - shiftUp + 'px' );			
		});
	},

	toggle: function( options ) {

		var oldHTML = $(options.element).innerHTML;
		$(options.element).innerHTML = '<span id="' + options.toggleName + '"><a href="#">--</a></span>' + oldHTML;
		var mySlide = new Fx.Slide(options.element + 'CN');
		$(options.element + 'TG').addEvent('click', function(e){
			e = new Event(e);
			mySlide.toggle();
			e.stop();
		});
		$(options.toggleName).addClass( 'toggleHandle' );
	},

	stickySizer: function( options ) {
		/*
			makes current block closable
		*/

		var oldHTML = $(options.element).innerHTML;

		$(options.element).innerHTML = oldHTML + '<div class="sizeRow"><div id="' + options.sizerName + '"></div></div>';

		$(options.element).makeResizable({
			handle: options.sizerName,
			limit:{
				x:[options.minwidth,options.maxwidth],
				y:[options.minheight,options.maxheight]
			},
			onStart: function() {
				$( options.element ).setStyle( 'opacity', '.5' );
				$( options.containerName ).setStyle( 'opacity', '0' );
				bringToFront( options.element );
			},
			onComplete:  function() {
				var newheight = $(options.element).getStyle('height').toInt() + ieS;
				var newwidth = $(options.element).getStyle('width').toInt() +ieS;

				updateCookie(options.element,'height='+newheight+'|width='+newwidth+'|');

				$( options.element ).setStyle( 'opacity', '1' );

				if ( options.iframe == '1' ) {
					resizeIframe( options.element );
				}

				$( options.containerName ).setStyle( 'opacity', '1' );
			}
		});
		$(options.sizerName).addClass( 'sizerHandle' );
		$(options.sizerName).addEvent('mousedown', function() {
			/* make sure resizing is stopped */
		});
	}
});

var stickyBackground = new Class({
		/* set styles */

	initialize: function( options ) {
	  for( type in stdOptions ) {
		 if ( !options[type] ) {
			options[type] = stdOptions[type];
		 }
	  }

		$(options.element).addClass( 'stickyBackground' );
		$(options.element).setStyles({
			'top'			  : options.top + 'px',
			'background-color': options.color,
			'height'		  : options.height + 'px',
			'width' 		  : options.width  + 'px',
			'left'			  : options.left   + 'px',
			'opacity'		  : 1,
			'z-index'		  : 5
			});
   }
});

var stickyForeground = new Class({
		/* set styles */

	initialize: function( options ) {
	  for( type in stdOptions ) {
		 if ( !options[type] ) {
			options[type] = stdOptions[type];
		 }
	  }

		$(options.element).addClass( 'stickyBackground' );
		$(options.element).setStyles({
			'top'			  : options.top + 'px',
			'background-color': options.color,
			'height'		  : options.height + 'px',
			'width' 		  : options.width  + 'px',
			'left'			  : options.left   + 'px',
			'opacity'		  : .5,
			'z-index'		  : 500
			});
	  fullScreen( options.element );
   }
});

var stickyBox = new Class({

	initialize: function( options ) {

		this.options = options;
		$(options.element).addClass('stickyBox');
	}
});

var stickySurface = new Class({

	initialize: function( options ) {
		this.options = options;
		fullScreen( options.element );
		$(options.element).addClass('stickySurface');
	}

});

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/;domain="+document.domain;
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

function eraseCookies() {
	new Ajax('lib/clearlabels.php', {
		method: 'get',
		onComplete: function() {
			var ca = document.cookie.split('; ');
			for(var i=0;i < ca.length;i++) {
				var c = ca[i].split('=');
				if(c[0] != 'PHPSESSID' && c[0] != 'stayLoggedIn' && c[0] != 'firstTimeVisit') { 
					eraseCookie(c[0])
				};
			}
			document.location.reload();
		}
	}).request();
}

function updateCookie(name, newCookie) {

	var c;
	var oldCookie = readCookie(name);
	eraseCookie(name);
	if(oldCookie){
		var ca = oldCookie.split('|');
		for(var i=0;i < ca.length;i++) {
			c = ca[i].split('=');
			var add = newCookie.search(c[0]);
			if(add == -1)
			{
				newCookie += c[0]+'='+c[1]+'|';
			}
		}
	}
	createCookie(name,newCookie,365);
}

function setCookie(name, value)
{
	eraseCookie(name);
	createCookie(name, value, 365);
	return true;
}

/**
* Function : dump()
* Arguments: The data - array,hash(associative array),object
*    The level - OPTIONAL
* Returns  : The textual representation of the array.
* This function was inspired by the print_r function of PHP.
* This will accept some data as the argument and return a
* text that will be a more readable version of the
* array/hash/object that is given.
*/
function dump(arr,level) {
var dumped_text = "";
if(!level) level = 0;

//The padding given at the beginning of the line.
var level_padding = "";
for(var j=0;j<level+1;j++) level_padding += "    ";

if(typeof(arr) == 'object') { //Array/Hashes/Objects
 for(var item in arr) {
  var value = arr[item];
 
  if(typeof(value) == 'object') { //If it is an array,
   dumped_text += level_padding + "'" + item + "' ...\n";
   dumped_text += dump(value,level+1);
  } else {
   dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
  }
 }
} else { //Stings/Chars/Numbers etc.
 dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
}
return dumped_text;
} 

/* end function dump()*/

function reloadDumpLinks() {
	var url = "mods/dumplinks/content.php";
	new Ajax(url, {
		method: 'get',
		update: $('replace_DUMPLINKS')
	}).request();
}

function doLoginCookies(email, pass, rank) {
	setCookie('tacmLoggedInEmail', email);
	setCookie('tacmLoggedInPass', pass);
	setCookie('tacmLoggedInRank', rank);
}

/**
*
*  Secure Hash Algorithm (SHA1)
*  http://www.webtoolkit.info/
*
**/

function SHA1 (msg) {

    function rotate_left(n,s) {
        var t4 = ( n<<s ) | (n>>>(32-s));
        return t4;
    };

    function lsb_hex(val) {
        var str="";
        var i;
        var vh;
        var vl;

        for( i=0; i<=6; i+=2 ) {
            vh = (val>>>(i*4+4))&0x0f;
            vl = (val>>>(i*4))&0x0f;
            str += vh.toString(16) + vl.toString(16);
        }
        return str;
    };

    function cvt_hex(val) {
        var str="";
        var i;
        var v;

        for( i=7; i>=0; i-- ) {
            v = (val>>>(i*4))&0x0f;
            str += v.toString(16);
        }
        return str;
    };


    function Utf8Encode(string) {
        string = string.replace(/\r\n/g,"\n");
        var utftext = "";

        for (var n = 0; n < string.length; n++) {

            var c = string.charCodeAt(n);

            if (c < 128) {
                utftext += String.fromCharCode(c);
            }
            else if((c > 127) && (c < 2048)) {
                utftext += String.fromCharCode((c >> 6) | 192);
                utftext += String.fromCharCode((c & 63) | 128);
            }
            else {
                utftext += String.fromCharCode((c >> 12) | 224);
                utftext += String.fromCharCode(((c >> 6) & 63) | 128);
                utftext += String.fromCharCode((c & 63) | 128);
            }

        }

        return utftext;
    };

    var blockstart;
    var i, j;
    var W = new Array(80);
    var H0 = 0x67452301;
    var H1 = 0xEFCDAB89;
    var H2 = 0x98BADCFE;
    var H3 = 0x10325476;
    var H4 = 0xC3D2E1F0;
    var A, B, C, D, E;
    var temp;

    msg = Utf8Encode(msg);

    var msg_len = msg.length;

    var word_array = new Array();
    for( i=0; i<msg_len-3; i+=4 ) {
        j = msg.charCodeAt(i)<<24 | msg.charCodeAt(i+1)<<16 |
        msg.charCodeAt(i+2)<<8 | msg.charCodeAt(i+3);
        word_array.push( j );
    }

    switch( msg_len % 4 ) {
        case 0:
            i = 0x080000000;
        break;
        case 1:
            i = msg.charCodeAt(msg_len-1)<<24 | 0x0800000;
        break;

        case 2:
            i = msg.charCodeAt(msg_len-2)<<24 | msg.charCodeAt(msg_len-1)<<16 | 0x08000;
        break;

        case 3:
            i = msg.charCodeAt(msg_len-3)<<24 | msg.charCodeAt(msg_len-2)<<16 | msg.charCodeAt(msg_len-1)<<8    | 0x80;
        break;
    }

    word_array.push( i );

    while( (word_array.length % 16) != 14 ) word_array.push( 0 );

    word_array.push( msg_len>>>29 );
    word_array.push( (msg_len<<3)&0x0ffffffff );


    for ( blockstart=0; blockstart<word_array.length; blockstart+=16 ) {

        for( i=0; i<16; i++ ) W[i] = word_array[blockstart+i];
        for( i=16; i<=79; i++ ) W[i] = rotate_left(W[i-3] ^ W[i-8] ^ W[i-14] ^ W[i-16], 1);

        A = H0;
        B = H1;
        C = H2;
        D = H3;
        E = H4;

        for( i= 0; i<=19; i++ ) {
            temp = (rotate_left(A,5) + ((B&C) | (~B&D)) + E + W[i] + 0x5A827999) & 0x0ffffffff;
            E = D;
            D = C;
            C = rotate_left(B,30);
            B = A;
            A = temp;
        }

        for( i=20; i<=39; i++ ) {
            temp = (rotate_left(A,5) + (B ^ C ^ D) + E + W[i] + 0x6ED9EBA1) & 0x0ffffffff;
            E = D;
            D = C;
            C = rotate_left(B,30);
            B = A;
            A = temp;
        }

        for( i=40; i<=59; i++ ) {
            temp = (rotate_left(A,5) + ((B&C) | (B&D) | (C&D)) + E + W[i] + 0x8F1BBCDC) & 0x0ffffffff;
            E = D;
            D = C;
            C = rotate_left(B,30);
            B = A;
            A = temp;
        }

        for( i=60; i<=79; i++ ) {
            temp = (rotate_left(A,5) + (B ^ C ^ D) + E + W[i] + 0xCA62C1D6) & 0x0ffffffff;
            E = D;
            D = C;
            C = rotate_left(B,30);
            B = A;
            A = temp;
        }

        H0 = (H0 + A) & 0x0ffffffff;
        H1 = (H1 + B) & 0x0ffffffff;
        H2 = (H2 + C) & 0x0ffffffff;
        H3 = (H3 + D) & 0x0ffffffff;
        H4 = (H4 + E) & 0x0ffffffff;

    }

    var temp = cvt_hex(H0) + cvt_hex(H1) + cvt_hex(H2) + cvt_hex(H3) + cvt_hex(H4);

    return temp.toLowerCase();

}

function getMWindowContent( elt, moduleName ) {
   $(elt+'CN').setStyle( 'opacity', '0' );
   var url = 'getMod.php?'
   + 'moduleName=' + moduleName + '&elt=' + elt;
   var rand = Math.random(9999);
   var containerName = elt + 'CN';
   if ( $(elt).options.iframe == '1' ) {
      var myAjax = new Ajax(
         url, {
            method: 'get',
            update: containerName,
            onComplete: setTimeout( "resizeIframe( '" + elt + "' )", 200 )
         }
      );
   }
   else if ( $(elt).options.fullscreen == '1' ) {
      var myAjax = new Ajax(
         url, {
            method: 'get',
            update: containerName,
            onComplete: setTimeout( "fadeElt( '" + elt + "CN',1 ,1 )", 10 )
         }
      );
   }
   else {
      var myAjax = new Ajax(
         url, {
            method: 'get',
            update: containerName,
            onComplete: setTimeout( "autoSize( '" + elt + "' )", 100 )
         }
      );
   }
   myAjax.request();
}

// function that searches in array similar to in_array function of PHP
function in_array(stringToSearch, arrayToSearch) {
	for (s = 0; s < arrayToSearch.length; s++) {
		thisEntry = arrayToSearch[s].toString();
		if (thisEntry == stringToSearch) {
		   return true;
		}
	}
	return false;
}

