var pathExpressInstallFile = escape("/lib/flash/expressInstall.swf");

function initPopups() {

    $.fn.nyroModal.settings.regexImg = '[^\.]\.(jpg|jpeg|png|tiff|gif|bmp)\s*$|image.aspx';
    $.fn.nyroModal.settings.minWidth = 0;
    $.fn.nyroModal.settings.minHeight = 0;

}

function initContentFlash() {
	$('.contentflash').each(
        function() {
        	var strId = $(this).attr('id');
        	var strParams = $(this).find('a').attr('rel').split('|');

        	$('#' + strId).flashembed(
            {
            	src: strParams[0],
            	version: [strParams[1]],
            	width: strParams[2],
            	height: strParams[3],
            	expressInstall: pathExpressInstallFile,
            	wmode: 'transparent',
            	scale: 'noscale'
            })
        }
    );
}

function initPortfolioFlash() {

    $('#portfolioflash').flashembed(
            {
                src: '/lib/flash/caseheader.swf?r=' + Math.random(),
                version:[9,0],
                width: 960,
                height: 135,
                expressInstall: pathExpressInstallFile,
                wmode: 'transparent',
                scale: 'noscale'

            }, {
                xmlURL:'/lib/xml/Portfolio.ashx?taal=' + strTaal
            });
            
}

function initpersoneelsadvertentie() {

	$('#personeelsadvertentie').flashembed({
	src: '/lib/flash/personeelsadvertentie_v1.swf',
		version: [9],
		width: '960px',
		height: '905px',
		expressInstall: pathExpressInstallFile,
		scale: 'noscale',
		wmode: 'transparent'
		
	});
}



function initWerkTooltip() {

	yOffset = -20;
	xOffset = 120;

    $('#werk li a').hover(function(e) {
    	$('body').append('<div id="tooltip"><div class="titel">' + $(this).attr('title') + '</div></div>');
    	xOffset = 120;
    	xOffset += $('#tooltip').height() - 42;
    	$('#tooltip')
		    .css('top', (e.pageY - yOffset) + 'px')
		    .css('left', (e.pageX + xOffset) + 'px')
		    .fadeIn('fast');
    },
    function() {
    	$('#tooltip').remove();
    });
    $('#werk li a').mousemove(function(e) {
        $('#tooltip')
		    .css('top', (e.pageY - xOffset) + 'px')
		    .css('left', (e.pageX + yOffset) + 'px');
    });
    
};

function initInfoToggle(){
    $('a.minimize').click(function(){
        var objButton = $(this);
        objButton.next().next('.toggle').slideToggle('slow', function(){
            if(objButton.hasClass('minimize')){
                objButton.removeClass('minimize')
                objButton.addClass('maximize')
            }else{
                objButton.removeClass('maximize')
                objButton.addClass('minimize')        
            }        
        });
        return false;
    });
}

function initVacatureOverzicht(){

    var intPageSize = 3
    
    if ($('#vacatureoverzicht').length > 0) {

        if ($('#vacatureoverzicht li').length > intPageSize) {

            $('#containerprev').append('<a class="prev button" title="vorige vacatures">vorige vacatures</a>');
            $('#containernext').append('<a class="next button" title="volgende vacatures">volgende vacatures</a>');
            $('#vacatureoverzicht ul').css({height:'147px'});
            
            $('#vacatureoverzicht').scrollable({
                size: intPageSize,
                vertical: false,
                prev: '.prev',
                next: '.next',
                items: '.items',
                onSeek: null,
                clickable: false
            });
            
            if ($.browser.msie){
               $('#vacatureoverzicht .button').hover(
                function(){ $(this).addClass('ieHover') },
                function(){ $(this).removeClass('ieHover') }
               );
            }
        }
    }    
    
}

function initContactForm(){
    
    initWaterMarkedFields();

    $.validator.addMethod("validateWaterMark", validateWaterMark, "");

    $('#contactformulier').validate({
        rules: {
                bedrijfsnaam: { validateWaterMark: true },
                naam: { validateWaterMark: true },
                adres: { validateWaterMark: true },
                postcode: { validateWaterMark: true },
                woonplaats: { validateWaterMark: true },
                emailadres: { validateWaterMark: true, email: true },
                telefoonnummer: { validateWaterMark: true },
                bericht: { validateWaterMark: true }
            },
        messages: {
                bedrijfsnaam: { validateWaterMark: strErrorMessage },
                naam: { validateWaterMark: strErrorMessage },
                adres: { validateWaterMark: strErrorMessage },
                postcode: { validateWaterMark: strErrorMessage },
                woonplaats: { validateWaterMark: strErrorMessage },
                emailadres: { validateWaterMark: strErrorMessage, email: strErrorMessage },
                telefoonnummer: { validateWaterMark: strErrorMessage },
                bericht: { validateWaterMark: strErrorMessage }
            }
        }
    );   

    $('#btnVerzenden').click(function(){

        if ( $('#contactformulier').valid() ){
        
            var strBedrijfsnaam = $('#bedrijfsnaam').val();
            var strNaam = $('#naam').val();
            var strAdres = $('#adres').val();
            var strPostcode = $('#postcode').val();
            var strWoonplaats = $('#woonplaats').val();
            var strEmailadres = $('#emailadres').val();
            var strTelefoonnummer = $('#telefoonnummer').val();
            var strBericht = $('#bericht').val();
            var strformSubject = $('#formSubject').val();
            var strformMailTo = $('#formMailTo').val();
            var strformMailFrom = $('#formMailFrom').val();
            
            $.post(
                '/mail.aspx',
                { 
                    Bedrijfsnaam: strBedrijfsnaam,
                    Naam: strNaam,
                    Adres: strAdres,
                    Postcode: strPostcode,
                    Woonplaats: strWoonplaats,
                    Emailadres: strEmailadres,
                    Telefoonnummer: strTelefoonnummer,
                    Bericht: strBericht,
                    formSubject: strformSubject,
                    formMailTo: strformMailTo,
                    formMailFrom: strformMailFrom 
                },
                function(data) {
                    var strHTMLForm = $('#formcontainer').html();
                    $('#formcontainer').html(data);
                    $('#venstersluiten').click(function(){
                        $('#contactform').animate( 
                            {top: '-450px'},
                            1000,
                            'easeInCubic',
                            function(){
                                $('#formcontainer').html(strHTMLForm);
                            }
                        );   
                        return false;
                    });
                }
            );        
            
            return false;
        }
    }); 

}

function validateWaterMark(value, element){
    var strInitialValue = $(element).attr('rel');
    return value != strInitialValue;
}

var strErrorMessage = ""

function initReactieForm(){

    initWaterMarkedFields();

    $.validator.addMethod("validateWaterMark", validateWaterMark, "");
 
    $('#reactieform').validate({
        rules: {
                naam: { validateWaterMark: true  },
                email: { validateWaterMark: true, email: true  },
                reactie: { validateWaterMark: true  }
            },
        messages: {
                naam: { validateWaterMark: strErrorMessage  },
                email: { validateWaterMark: strErrorMessage, email: strErrorMessage  },
                reactie: { validateWaterMark: strErrorMessage  }
            }
        }
    );  

}

function initWaterMarkedFields(){
    $('.watermark').each(function(){
        $(this).val($(this).attr('rel'));
        $(this).focus(function(){
            if ( $(this).val() == $(this).attr('rel') )
                $(this).val('');
        });
        $(this).blur(function(){
            if ( $(this).val().length == 0 )
                $(this).val($(this).attr('rel'));
        });
    });
}

var initialClipHeight;

function initPeopleBlokken(){

    $('.blokcollapse').each(function(){
        initialClipHeight = $(this).find('.clip').height()
        if ( $(this).find('ul').height() > initialClipHeight ){
            var objListClip = $(this).find('.clip');
            var intListHeight =  $(this).find('ul').height()
            var objLeesMeer = $(this).find('a.meer')

            objLeesMeer.click(function(){
                var intNewHeight;
                var strLink;
                if ( objLeesMeer.text() == 'minder' ){
                    intNewHeight = initialClipHeight;
                    strLink = 'meer' 
                }else{
                    intNewHeight = intListHeight;
                    strLink = 'minder' 
                }
                objListClip.animate( 
                    {height: intNewHeight},
                    500,
                    'easeInCubic'
                );   
                objLeesMeer.text(strLink);
                return false;
            });
             $(this).find('a.meer').show();
        }else{
             $(this).find('a.meer').hide();        
        }
    });
}


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"; 
} 
} 
window.onload = externalLinks;
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("rel")) {
var rel = anchor.getAttribute("rel");
var external = false;
if (rel.indexOf(" ") > 0) {
while (rel.indexOf(" ") > 0 && external == false) {
if (rel.substr(0, rel.indexOf(" ")) == "external") {
external = true;
}
rel = rel.substr(rel.indexOf(" ") + 1, rel.length - rel.indexOf(" ") + 1);
}
}
if (rel == "external") {
external = true;
}
if (anchor.getAttribute("href") && external == true) {
anchor.target = "_blank";
}
}
}
return;
}

function initCaseHeaderImg() { 
    $('#caseheaderimages').innerfade({ speed: 1500, timeout: 4000, type: 'sequence', containerheight: '256px' }); 
}

function initCarousel() {

	$('#flashcarousel').flashembed({
		src: '/lib/flash/FotoSlideshow.swf',
    	version: [9],
    	width: '960px',
    	height: '256px',
    	expressInstall: pathExpressInstallFile,
    	scale: 'noscale'
    }, { xmlPath: '/lib/xml/slideshow.ashx?id=' + intStructuurId })
}



function initcluetip() {
	$('a.load-local').each(function() {
		var aantal = $(this).parent('li').find('li').size();
		var top = -70;
		var left = -80;
		top = top - ((aantal - 1) * 65);
		$(this).cluetip({
			topOffset: top,
			leftOffset: left,
			hoverIntent: true,
			sticky: true,
			local: true,
			mouseOutClose: false,
			closePosition: 'top right',
			closeText: '<img src="/lib/images/cross.png" alt="Sluiten" />'
		});
	});
}


function submitNieuwsbrief(fm) {
	var msg = '';

	if (validateEmail(fm.email.value)) {

		var url = "/NieuwsBrief.aspx?email=" + fm.email.value + "&actie=aanmelden";
		msg = 'Uw aanmelding voor de nieuwsbrief is verstuurd.\n\n Hartelijk dank voor uw interesse.';

		$.get(url);
	}
	else {
		msg = 'Vul een geldig e-mail adres in.';
	}

	if (msg != '') {
		alert(msg);
	}
}

function validateEmail(strEmail) {
	return typeof strEmail == 'string'
				? strEmail.match(/\w+([-+.'']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/) != null
				: false;
}

$(document).ready(function() {
	//Initialiseer hier je scripts
	initContentFlash();
	initPortfolioFlash();
	initPopups();
	initInfoToggle();
	//initWerkTooltip();
	initVacatureOverzicht();
	initContactForm();
	initReactieForm();
	initPeopleBlokken();
	initCaseHeaderImg();
	initCarousel();
	initpersoneelsadvertentie();

	initcluetip();
});
