function clearInput(){
	$('.fade').focus(function() {
		$(this).select();
		$(this).next().fadeTo(150, 0);
	});
	$('.fade').blur(function() {
		if($(this).val() == '' ) {
			$(this).next().fadeTo(150, 1);
		}
	});
}

function initSubmenu(){
	$('.item').hover(function(){
		$(this).children('.main').toggleClass('show');
		$(this).children('.submenu').toggle();
	});
}

function initCycle(){
	$('#autos').cycle({
		fx: 'fade',
		cleartype: true,
		cleartypeNoBg: true	
	});
}

function initSelectboxes(){
	$('div.select select').selectbox();
	var zIndex = 9999;
	$('div.form div.entry').each(function(){
		$(this).css('z-index',zIndex);
		zIndex--;
	});
}

function validateForm(p_sForm) {
	var rules = {};
	rules[aFields[0]] = {
		required: true
	};
	rules[aFields[1]] = {
		required: true
	};
	rules[aFields[2]] = {
		required: false
	};
	rules[aFields[3]] = {
		required: false,
		minlength: 6
	};
	rules[aFields[4]] = {
		required: false
	};
	rules[aFields[5]] = {
		required: false,
		minlength: 6
	};
	rules[aFields[6]] = {
		required: false,
		digits: true,
		minlength: 10
	};
	rules[aFields[7]] = {
		required: true,
		email: true
	};
	rules[aFields[8]] = {
		required: true,
		notags: true,
		minlength: 5
	};
	
	var messages = {};
	messages[aFields[0]] = {
		required: 'De code komt niet overeen'
	};
	messages[aFields[1]] = {
		required: 'Vul uw naam in.'
	};
	messages[aFields[2]] = {
		required: 'Vul uw adres in.'
	};
	messages[aFields[3]] = {
		required: 'Vul een postcode in',
		minlength: 'Vul een geldige postcode in.'
	};
	messages[aFields[4]] = {
		required: 'Vul uw woonplaats in'
	};
	messages[aFields[5]] = {
		required: 'Vul uw telefoonnumer in',
		minlength: 'Vul een geldig telefoonnummer in'
	};
	messages[aFields[6]] = {
		required: 'Vul uw mobiele telefoonnumer in',
		digits: 'Vul een geldig mobiele telefoonnummer in',
		minlength: 'Vul een geldig mobiele telefoonnummer in'
	};
	messages[aFields[7]] = {
		required: 'Vul uw e-mailadres in.',
		email: 'Vul een geldig e-mailadres in.'
	};
	messages[aFields[8]] = {
		required: 'Vul een bericht in',
		notags: 'Tags zijn niet toegestaan.',
		minlength: 'Een bericht moet mimimaal 5 tekens lang zijn.'
	};

	$('#'+p_sForm).validate({
		rules: rules,
		messages: messages,
		errorPlacement: function(error, element) {
			var obj = element.parent();
			error.insertAfter(obj);
		},
		success: function(label) {
			label.remove();
		},
		submitHandler: function(form) {
			form.trigger('submit');
		}
	});	
}

function twitter(p_sUsername,p_nCount,p_bAvatar){
	$.ajax({
		url: 'http://api.twitter.com/1/statuses/user_timeline/'+p_sUsername+'.json?include_rts=true&include_entities=true&count='+p_nCount+'&callback=?',
		dataType: 'json',
		success: function(result){
			var sHtml = '';
			$.each(result, function(i,oTweet){
				
				var sTweet = '';
				
				sTweet += '<div class="tweet">';
				if(p_bAvatar){
					sTweet += '<div class="image">';
					sTweet += '<a href="http://www.twitter.com/'+oTweet.user.screen_name+'" target="_blank">';
					sTweet += '<img src="'+oTweet.user.profile_image_url+'" alt="'+oTweet.user.name+'" />';
					sTweet += '</a>';
					sTweet += '</div>';
				}
				sTweet += '<span class="date">'+formatTime(oTweet.created_at)+'</span>';
                sTweet += '<div class="content">'+formatTweet(oTweet.text)+'</div>';
				sTweet += '</div>';
				
				sHtml += sTweet;
			});
			$('#twittter').html(sHtml);
		}
	});
}
function parseDate(p_sString){
	var aString = p_sString.split(' ');
	return new Date(Date.parse(aString[1]+' '+aString[2]+', '+aString[5]+' '+aString[3]+' UTC'));
}
function formatTweet(p_sText){
	var sText = p_sText;

	sText = sText.replace(/((ftp|https?):\/\/([-\w\.]+)+(:\d+)?(\/([\w/_\.]*(\?\S+)?)?)?)/gm,'<a href="$1" target="_blank">$1</a>');
	sText = sText.replace(/([^\w])\@([\w\-]+)/gm,'$1@<a href="http://twitter.com/$2" target="_blank">$2</a>');	
	sText = sText.replace(/([^\w])\#([\w\-]+)/gm,'$1<a href="http://twitter.com/search?q=%23$2" target="_blank">#$2</a>');

	return sText;
}
function formatTime(p_sTime){
	
	//tijd berekenen
	var oDateTweet = parseDate(p_sTime);
	var nTimeTweet = oDateTweet.getTime();
	var oDate = new Date();
	var nTime = oDate.getTime();
	var nDiff = parseInt((nTime - nTimeTweet)/1000);
	
	//tijdverschil terugsturen
	if(nDiff <= 30) return 'Een paar seconden geleden';
	if(nDiff <= 60) return 'Een minuut geleden';
	if(nDiff < 3600) return parseInt(nDiff/60) + ' minuten geleden';
	if(nDiff <= 1.5*3600) return 'Een uur geleden';
	if(nDiff < 23.5*3600) return Math.round(nDiff/3600) + ' uren geleden';
	if(nDiff < 1.5*24*3600) return 'Een dag geleden';
	
	//wanneer langer dan een dag, exacte datum terugsturen
	var sDateTweet = oDateTweet.getDate() + '/' + parseInt(oDateTweet.getMonth()+1) + '/' + oDateTweet.getFullYear();
	
	var nMinuteTweet = oDateTweet.getMinutes()
	if (nMinuteTweet < 10){
		nMinuteTweet = '0' + nMinuteTweet;
	}
	var sTimeTweet = oDateTweet.getHours() + ':' + nMinuteTweet;
	return sDateTweet + ' ' + sTimeTweet;
}
