function clearInput() {
    $('.fade').focus(function() {
        $(this).select();
        $(this).next().fadeTo(150, 0);
    });
    $('.fade').blur(function() {
        if($(this).val() == '' ) {
            $(this).next().fadeTo(150, 1);
        }
    });
}
	
function showSubmenu(){
    $('.nav_item').hover(function() {
        $(this).children('.submenu').toggle();
    });
	
}
function initSlideshow() {
    $('#slides')
    .before('<div id="nav">')
    .cycle({
        timeout: 0,
        speed:	 1000,
        pager: '#nav',
        pagerEvent:	  'mouseover', // name of event which drives the pager navigation
        pauseOnPagerHover: true,
        allowPagerClickBubble: true
    });
    $('#nav a').last().addClass('lastitem');
    
    $('#nav a').each(function () {
        var link = $('#link' + $(this).attr('id')).attr('href');
        $(this).attr('href', link);
    });
}

/*speed:       200, 
timeout:     3000, 
pager:      '#nav', 
pagerEvent: 'mouseover', 
pauseOnPagerHover: true*/


function initphotoShow() {
    $('#images').cycle({
        fx:     'fade',
        timeout: 5500,
        speed:	 1500,
        pause:	true,
        next:   '#next', 
        prev:   '#prev'
    });
}

//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) {
    if(p_sForm == 'contactformHome'){
        var rules = {};
        rules[aFields[0]] = {
            required: true
        };
        rules[aFields[1]] = {
            required: true
        };
        rules[aFields[2]] = {
            required: true
        };
        rules[aFields[3]] = {
            required: true
        };
		
        var messages = {};
        messages[aFields[0]] = {
            required: 'De code is niet gevuld.'
        };
        messages[aFields[1]] = {
            required: 'Vul uw Naam in.'
        };
        messages[aFields[2]] = {
            required: 'Vul uw e-mailadres in.'
        };
        messages[aFields[3]] = {
            required: 'Vul een telefoonnummer in'
        };

        $('#'+p_sForm).validate({
            rules: rules,
            messages: messages,
            errorPlacement: function(error, element) {
                var obj = element.parent();
                //error.insertAfter(obj);
                obj.attr('class','input invalid');
                
            },
            success: function(label) {
                label.prev('div.icon').attr('class','icon valid');
                label.remove();
            },
            submitHandler: function(form) {
                form.trigger('submit');
            }
        });	

    } else {
	
        var rules = {};
        rules[aFields[0]] = {
            required: true
        };
        rules[aFields[1]] = {
            required: true,
            nonumber: true
        };
        rules[aFields[2]] = {
            required: true,
            minlength: 3
        };
        rules[aFields[3]] = {
            required: false,
            notags: true,
            minlength: 6
        };
        rules[aFields[4]] = {
            required: false,
            nonumber: true
        };
        rules[aFields[5]] = {
            required: false,
            number: true,
            minlength: 6
        };
        rules[aFields[6]] = {
            required: true,
            email: true
        };
        rules[aFields[7]] = {
            required: false,
            notags: true,
            minlength: 5
        };
		rules[aFields[8]] = {
            required: true,
            minlength: 1
        };
		
        var messages = {};
        messages[aFields[0]] = {
            required: 'De code is niet gevuld.'
        };
        messages[aFields[1]] = {
            required: 'Vul uw Naam in.',
            nonumber: 'Getallen zijn niet toegestaan'
        };
        messages[aFields[2]] = {
            required: 'Vul uw adres in.',
            minlength: 'Vul een geldig adres in'
        };
        messages[aFields[3]] = {
            required: 'Vul een postcode in',
            notags: 'Tags zijn niet toegestaan',
            minlength: 'Vul een geldige postcode in'
        };
        messages[aFields[4]] = {
            required: 'Vul uw plaats in',
            nonumber: 'Vul een geldige plaats in.'
        };
        messages[aFields[5]] = {
            required: 'Vul een telefoonnummer in',
            number: 'Vul een geldig telefoonnummer in',
            minlength: 'Vul een geldig telefoonnummer in'
        };
        messages[aFields[6]] = {
            required: 'Vul uw e-mailadres in.',
            email: 'Vul een geldig e-mailadres in.'
        };
        messages[aFields[7]] = {
            required: 'Vul een bericht in.',
            notags: 'Tags zijn niet toegestaan',
            minlength:  'Vul een bericht van minimaal 5 tekens in'
        };
        messages[aFields[8]] = {
            required: 'Vul een huisnummer in.',
            minlength:  'Vul een huisnummer van minimaal 1 teken in'
        };
        
        $('#'+p_sForm).validate({
            rules: rules,
            messages: messages,
            errorPlacement: function(error, element) {
                var obj = element.parent().next('div.icon');
                error.insertAfter(obj);
                obj.attr('class','icon invalid');
            },
            success: function(label) {
                label.prev('div.icon').attr('class','icon valid');
                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;
}

function initPostcodeCheck () {
    $(this).applyAutocomplete({
        // Invoer velden
        postcode: '.postcode',
        streetnumber: '.huisnummer',
        // Uitvoer velden
        street: '.adres',
        city: '.plaats'
    });
}
