$(document).ready(function(){
	externalLinks();
	toggleGericht();
	clearSearchfield();
	poll();
});

function externalLinks() {  
	if (!document.getElementsByTagName) return;  
	var anchors = document.getElementsByTagName("a");  
	for (var i=0; i<anchors.length; i++) {  
  	var anchor = anchors[i];  
  	if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external")  
    	anchor.target = "_blank";
	}
}

function toggleGericht(){
	$('a#gericht').click(function(){
		$('form#search ul').show(0);
		$('form#search ul').hover(function(){
			// geen actie
		}, function(){
			$(this).hide(0);
		});
	});
	$('a#close_gericht').click(function(){
		$('form#search ul').hide(0);
	});
}

function clearSearchfield() {
	$('input.sSearch').focus(function() {
		$(this).prev().fadeTo(150, 0.33);
		$(this).keydown(function() {
			$(this).css('background-repeat', 'repeat');			 
		});
	});
	$('input.sSearch').blur(function() {
		if ( $(this).val() == '' ) {
			$(this).css('background-repeat', 'no-repeat');
			$(this).prev().fadeTo(150, 1);
		}
	});
}

function toggleOpen() {
	$('h4').click(function() {
		if($(this).next('ul').children().length > 0){
			$(this).next('ul').slideToggle('fast');
			$(this).children('a').toggleClass('toggleopen');
		}
	});
	if($('ul.agenda').is(':visible')){
		$('ul.agenda:visible').prev('h4').children('a').addClass('toggleopen');	
	}
}

function poll() {
	$('.pollID label').click(function(){
		$(this).parents('form').next('.stem').removeClass('stem');
	});
	$('.verder').not('#tijdelijk,#terugpluskaart').click(function(){
		var sPoll = $(this).prev('form').attr('class');
		var aPoll = sPoll.split('_');
		var nPoll = aPoll[1]
		var sAntwoord = $(this).prev('form').find('input:checked').val();
		$.ajax({
			type: 'POST',
			url: sDomain+'inc/poll.inc.php',
			data: 'sAntwoord='+sAntwoord+'&nPoll='+nPoll,
			success: function(sResult){
				$('.poll_'+nPoll).parent('.poll').html(sResult);
				uitslagPoll();
			}
		});
	});
}

function uitslagPoll() {
	$('#antwoorden .uitslag').each(function(){
		var sId = $(this).attr('id');
		var aId = sId.split('_');
		var nProcent = aId[2];
		var nSpeed = nProcent*25;
		var nCounter = 0;
		$(this).animate({
			width: nProcent+'%',
			timeout: 500
		},
			nSpeed
		);
		$('span#uitslag_'+aId[1]+'_'+nProcent).next('em').html(nCounter+'%');
		if(nProcent > 0) {
			updateProcent(aId[1],nProcent,nCounter);
		}
	});
}

function updateProcent(p_nId,p_nProcent,p_nCounter) {
	nCounter = p_nCounter;
	nCounter++;
	$('span#uitslag_'+p_nId+'_'+p_nProcent).next('em').html(nCounter+'%');
	if(nCounter < p_nProcent) {
		setTimeout("updateProcent('"+p_nId+"','"+p_nProcent+"','"+nCounter+"')", 25);
	}
}

function validateForm(p_sForm) {

	var iconOK = {
		'background-position' : '0 -20px'
	}
	var iconError = {
		'background-position' : '0 0'
	};

	var aMessage = new Array();
	aMessage[0] = 'Vul uw naam in.';
	aMessage[1] = 'Vul uw e-mailadres in.';
	aMessage[2] = 'Vul een geldig e-mailadres in.';
	aMessage[3] = 'Vul de naam van de ontvanger in.';
	aMessage[4] = 'Vul het e-mailadres van de ontvanger in.';

	$.validator.addMethod("geennummers", function(geennummers, element) {
		   var reg = /[0-9]/;
		   return this.optional(element) || !geennummers.match(reg);
	}, "Getallen zijn niet toegestaan.");
	
	$('#'+p_sForm).validate({
		rules: {
			sNaam: {
				required: true,
				geennummers: true
			},
			sEmail: {
				required: true,
				email: true
			},
			sNaamontvanger: {
				required: true,
				geennummers: true
			},
			sEmailontvanger: {
				required: true,
				email: true
			}
		},
		messages: {
			sNaam: aMessage[0],
			sEmail: {
				required: aMessage[1],
				email: aMessage[2]
			},
			sNaamontvanger: aMessage[3],
			sEmailontvanger: {
				required: aMessage[4],
				email: aMessage[2]
			}
		},
		errorPlacement: function(error, element) {
			error.insertAfter(element.parent().next('span.icon'));
			element.parent().next('span.icon').css(iconError);
		},
		success: function(label) {
			label.prev('span.icon').css(iconOK);
			label.remove();
		},
		submitHandler: function(form) {
			form.submit();
		}
	});	
}
function slider() {
	$("#slider").tabs({fx:{opacity: "toggle"}}).tabs("rotate", 6000, true);
	/*$(".callout").click(function(){
		slider();						 
	});*/
}


function selectBoxPluskaart(){
	$('#selectcat, #selectrub, #sorteer').selectbox();	
}

function clearZoek(){
	$('#sTrefwoord').val('').prev().show();
	var sValue = $('#selectcat option:first').text();
	$('#selectcat_input').val(sValue);
	$('#selectcat_container ul li.selected').removeClass('selected');
	$('#selectcat option:selected').removeAttr('selected');	
	$('#reset2').hide();
}

function pluskaart(p_bKaartje){
	
	var sUrl = $('#ajax').attr('class');
	
	selectBoxPluskaart();
	sorteerActies();
	paging(sUrl);
	tijdelijkeActies();
		
	$('ul#zoekalfabet li a, ul.categorien li a').click(function(){
		$(this).toggleClass('selected');
	});
	$('input#zoeken').click(function(){	
		clearZoek();
		if(p_bKaartje){
			//location.reload();
			$('#kaartje').children().remove();
			initKaartje(sDomain+sUrl);
		}
		
		var sLetters = '';
		var sCats = '';
		var nCats = 0;
		var nLetters = 0;
		var nTotalCats = $('ul.categorien li a.selected').size();
		var nTotalLetters = $('ul#zoekalfabet li a.selected').size();
		$('ul#zoekalfabet li a.selected, ul.categorien li a.selected').each(function(){
			
			var sValue = $(this).attr('id').replace('cat_','');

			if(isNaN(sValue)){
				nLetters++;
				sLetters += sValue;
				if(nLetters < nTotalLetters) {
					sLetters += ',';
				}
			} else {
				nCats++;
				sCats += sValue;
				if(nCats < nTotalCats) {
					sCats += ',';
				}
			}
		});
		loadPluskaart('sLetters=' + sLetters + '&sCats=' + sCats + '&sUrl=' + sUrl);
		$('a#reset').show();
		var nOffset = $('#ajax').offset();
		$('html, body').animate({
			scrollTop:nOffset.top
		}, 'slow');
	});
	$('a.reset').click(function(){
		if( $('.plus-detail').length > 0 ){
			$('#ajax').hide();
		}
		clearZoek();
		$('a.selected').each(function(){
			$(this).removeClass('selected');				  
		});
		loadPluskaart('sReset=1&sUrl=' + sUrl);
		$('a.reset').hide();
		if(p_bKaartje){
			//location.reload();
			$('#kaartje').children().remove();
			initKaartje(sDomain+sUrl);
		}
	});
	/*$('#kortingzoeken').submit(function(){
		var sTrefwoord = $('#sTrefwoord').val();
		var nCat = $('#selectcat').val();
		loadPluskaart('sTrefwoord=' + sTrefwoord + '&nCat=' + nCat + '&sUrl=' + sUrl);
		var nOffset = $('#ajax').offset();
		$('html, body').animate({
			scrollTop:nOffset.top
		}, 'slow');
		return false;
	});*/
}
function initKaartje(p_sUrl, p_sProvincie){
	$('#kaartje').flash({   
		swf: sDomain + 'flash/nederland_cs3.swf',
		width: 218,
		height: 254,
		flashvars: {
			sLink: p_sUrl,
			sProvincie: p_sProvincie
		}
	});	
}
function pluskaartProvincie(p_sProvincie){
	loadPluskaart('sProvincie=' + p_sProvincie);
	$('a#reset').show();
	var nOffset = $('#ajax').offset();
	$('html, body').animate({
		scrollTop:nOffset.top
	}, 'slow');
}
function sorteerActies(){
	$('#sorteer_container ul li').click(function(){
		var nValue = $(this).attr('id');
		loadPluskaart('nSort=' + nValue);
	});
}

function paging(){
	$('ul.paging li a').click(function(){
		var nPage = $(this).attr('id').replace('page_','');	
		loadPluskaart('nPage=' + nPage);
	});
}

function tijdelijkeActies(){
	$('#tijdelijk').click(function(){
		loadPluskaart('nTijdelijk=1');
		$('a#reset').show();
	});
}	

function loadPluskaart(p_sData){
	$.ajax({
		type: 'POST',
		url: sDomain + 'inc/pluskaart.inc.php',
		data: p_sData,
		success: function(result){
			$('#ajax').html(result);
			$('#sorteer').selectbox();
			sorteerActies();
			paging();
			tijdelijkeActies();
		}
	});	
}
