var Member = {
	validate: function(form){
		var e=0,t='',r = new RegExp('^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$');
		El.getElementsByClassName('required', 'input', form).each(function(el){
			El.removeClassName(el,'bad');
			if(el.value==''||el.value==' '){e=1;El.addClassName(el,'bad');}
		});
		El.getElementsByClassName('required', 'textarea', form).each(function(el){
			El.removeClassName(el,'bad');
			if(el.value==''||el.value==' '){e=1;El.addClassName(el,'bad');}
		});
		if($('pass') && $('pass').value != $('pass2').value && $('pass').value != '' && $('pass2').value != '')t+='\n\nUw twee wachtwoorden komen niet overeen';
		if($('email') && $('email').value != '' && r.test($('email').value) == false){
			El.addClassName($('email'),'bad');
			t+='\n\nVul a.u.b. een geldig e-mail adres in.';
		}
		if(e!=0 || t!=''){alert('Vul a.u.b. minimaal alle verplichte velden in.'+t);return false;}
		return true;
	},
	ping: function(){
		var p = new Image();
		p.src = '/publer/scripts/keepalive.php';
		delete p;
		setTimeout("Member.ping()", 600000);
	}
}
var Poll = {
	queue: null,
	vote: '',
	processResults: function(json){
		var p = $('poll'), ch = p.firstChild, cid, pct, span, br;
		p.action = '#';
		El.remove($('submitpoll'));
		El.getElementsByTagName('input', p).each(function(inp){
			El.remove(inp);
		});
		El.getElementsByTagName('label', p).each(function(lab){
			cid = lab.htmlFor.substring(7);			
			try{eval('pct = json.c'+cid+';');}catch(e){alert(e.message+'\n\neval(\'pct = json.c'+cid+';\');');return false;}
			lab.title = pct+'%';
			span = document.createElement('span' );
			span.innerHTML = '<img src="/images/bodhitv/icons/poll-graph.gif" width="'+Math.round((75 * (pct / 100))+1)+'" height="8" alt="'+pct+'%"/> '+pct+'%';
			p.insertBefore(span, El.nextTag(lab));
		});
		El.createNode('br', null, null, p);
		h3 = El.getElementsByTagName('h3', p), div = document.createElement('div');
		div.id = 'confirm';
		p.insertBefore(div, h3[0]);
		div.innerHTML = '<p>Uw stem is verwerkt.<br/>Bekijk hieronder de resultaten.<br />[<a href="#" onclick="El.remove($(\'confirm\'));return false;">Verberg dit bericht</a>]</p>';
	},
	register: function(el){
		Poll.queue = new RequestQueue();
		var q = Poll.queue, p = $('poll');
		El.getElementsByClassName('check', 'input', p).each(function(el){
			el.onclick = function(){return Poll.setVote(el.value);}
		});
		q.setResponder('404', function(t){alert('404: Page not found')});
		q.setResponder('500', function(t){alert('500: Error')});
		p.onsubmit = function(){
			if(Poll.vote == ''){
				Poll.throwWarning('Selecteer a.u.b. een optie.');
				return false;
			}
			var q = Poll.queue, a = this.action, req = q.request(a+'?vote='+Poll.vote+'&pollId='+$('pollId').value+'&return=json');
			req.setResponder('200', function(data){
				var json;
				try{eval('json = '+data+';');}catch(e){alert(e.message+'\n\n'+data);return false;}
				Poll.processResults(json);
			});
			q.schedule(req);
			return false;
		}
	},
	throwWarning: function(err){
		if($('warning')){
			var div = $('warning');
		}else{
			var p = $('poll'), h3 = El.getElementsByTagName('h3', p), div = document.createElement('div');
			div.id = 'warning';
			p.insertBefore(div, h3[0]);
		}
		div.innerHTML = '<p>'+err+'<br />[<a href="#" onclick="El.remove($(\'warning\'));return false;">Verberg dit bericht</a>]</p>';
	},
	setVote: function(v){
		return Poll.vote = v;
	}
}
var Rating = {
	deselect: function(el){
		var end=el.id.substring(el.id.length-1),i;
		for(i=end; i>0; i--)El.removeClassName($('rate-me'+i), 'selected');
		i = parseInt(end)+1;
		for(i; i<6; i++)El.removeClassName($('rate-me'+i), 'deselected');
	},
	select: function(el){
		var end=el.id.substring(el.id.length-1),i;
		for(i=end; i>0; i--)El.addClassName($('rate-me'+i), 'selected');
		i = parseInt(end)+1;
		for(i; i<6; i++)El.addClassName($('rate-me'+i), 'deselected');
	}
}
var Sitestat = {
	count: function(ns_l){
		var ns_pixelUrl=ns_l, ns_0=document.referrer;
		ns_l = "http://nl.sitestat.com/klo/kzg/s?bos.bodhitv."+ns_l+"&amp;category=bos&amp;ns_webdir=bos&amp;ns__t="+new Date().getTime();
		ns_0=(ns_0.lastIndexOf('/')==ns_0.length-1)?ns_0.substring(ns_0.lastIndexOf('/'),0):ns_0;
		if(ns_0.length>0)ns_l+='&amp;ns_referrer='+escape(ns_0);
		if(document.images){var ns_1=new Image();ns_1.src=ns_l;}
		else document.write('<img src="'+ns_l+'" width="1" height="1" alt=" "/>');
	}
}
Event.add(window, 'load', function(){
	if(document.all){ // IE
		var nav = $('navigation');
		Event.add(nav, 'mouseover', function(){El.addClassName(this, 'over')});
		Event.add(nav, 'mouseout', function(){El.removeClassName(this, 'over')});
	}
	if($('login')){
		El.getElementsByClassName('loginlink', 'a').each(function(el){
			el.onclick = function(){
				var l = $('login');
				El.toggleClassName(l,'show','hide');
				$('username21').focus();
			};
		});
	}
	/*El.getElementsByClassName('collapse', 'a', $('center-column')).each(function(el){
		var div = El.nextTag(el.parentNode);
		if(div.id != 'articles' && div.id != 'movies') El.replaceClassName(div,'show','hide');
		el.onclick = function(){
			if(!El.hasClassName(El.nextTag(el.parentNode),'show'))		
				El.getElementsByClassName('collapse', 'a', $('center-column')).each(function(el2){
					if(El.hasClassName(El.nextTag(el2.parentNode),'show')) El.replaceClassName(El.nextTag(el2.parentNode),'show','hide');
				});
			El.toggleClassName(div,'hide','show');
			return false;
		};
	});*/
	if($('filter')){
		$('toggle-filter').onclick = function(){this.blur();return false;}
		var f = $('filter');
		$('toggle-filter').onmouseover = function(){
			if(El.hasClassName(f,'hide')) El.replaceClassName(f,'hide','show');
		}
		$('filter').onmouseout = function(e){
			if (!e) var e = window.event;
			var tg = (window.event) ? e.srcElement : e.target;
			if (tg.nodeName != 'UL') return;
			var reltg = (e.relatedTarget) ? e.relatedTarget : e.toElement;
			while (reltg != tg && reltg.nodeName != 'BODY') reltg= reltg.parentNode
			if (reltg== tg) return;
			if(El.hasClassName(f,'show')) El.replaceClassName(f,'show','hide');
		}
	}
	if($('rate-me')){
		El.getElementsByClassName('rate', 'a').each(function(el){
			Event.add(el, 'mouseover', function(e){Rating.select(this);});
			Event.add(el, 'mouseout', function(e){Rating.deselect(this);});
		});
	}
	if($('commentform')){
		var cf = $('commentform');
		El.replaceClassName(cf,'show','hide');
		El.getElementsByClassName('commentlink', 'a').each(function(el){
			el.onclick = function(){
				var cl = $('commentlink');
				El.toggleClassName(cf,'show','hide');
				El.toggleClassName(cl,'show','hide');
				$('comment-message').focus();
				return false;
			};
		});
	}
	if($('toggleembed')){
		var em = $('embedmovie');
		El.replaceClassName(em,'show','hide');
		$('toggleembed').onclick = function(){
			El.toggleClassName(em,'show','hide');
			return false;
		};
	}
	if($('to-friend')){
		var tf = $('to-friend');
		El.toggleClassName(tf,'show','hide');
		$('to-friend-link').onclick = function(){
			El.toggleClassName(tf,'show','hide');
			if(El.hasClassName(tf,'show')) $('name-from').focus();
			return false;
		};
	}
	if($('print-div') && window.print){
		var h2 = El.createNode('h2', null, null, $('print-div')), a = El.createNode('a', 'Print dit artikel', null, h2);
		a.id = 'print-link';
		a.href = '#';
		a.onclick = function(){urchinTracker(window.location+'print/'); window.print(); return false;}
	}
	setTimeout('Member.ping()', 600000);
});