var SubIdActive='';
var subnavtimer=null;


//http://twitter.com/Erwinholtland
function ShowTwitterUserTimeline(accountname,max)
{

  $.getJSON('http://twitter.com/status/user_timeline/'+escape(accountname)+'.json?count='+parseInt(max)+'&callback=?',function(data)
  {
    $.each(data,function(i,item)
    {
    	var urlrgx = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
  		var namergx = /@{1}([a-z0-9_-]+)/ig;
  		var hashrgx = /#{1}([a-z0-9_-]+)/ig;
      var boxhtml='';

    	var dparts=item.created_at.split(' ');//Thu Apr 22 13:49:16 +0000 2010
      var item_date=dparts[1] +' '+ dparts[2] +' '+ dparts[5] +' '+ dparts[3];

    	var currentDate = new Date(item_date);

  		var day = currentDate.getDate();
  		var month = currentDate.getMonth()+1;
  		var year = currentDate.getFullYear();
    	item_time = day + "/" + month + "/" + year;

    	item.text = item.text.replace(urlrgx,"<a href='$1' target='_blank'>$1</a>");
      	item.text = item.text.replace(namergx,"<a href='http://twitter.com/$1' target='_blank'>@$1</a>");

    //  boxhtml+=item_time + ': ';

    	boxhtml+=item.text.replace(hashrgx, "<a target='_blank' href='http://search.twitter.com/search?q=$1'>#$1</a>");

    	//boxhtml+='<br><a target="_blank" href="http://twitter.com/' + item.user.screen_name + '">' + item.user.screen_name + '</a>';

      if(i>0)
      {
        $(document.createElement('li')).addClass('lijnboven').html(boxhtml).appendTo('#twitterholder');
      } else {
        $(document.createElement('li')).html(boxhtml).appendTo('#twitterholder');
      }

    });


  });

}


function showsub(curObjId)
{
  clearTimeout(subnavtimer);
  if(curObjId!=SubIdActive)
  {
    if(SubIdActive!='') $('#'+SubIdActive).hide();
    SubIdActive=curObjId;
    $('#'+curObjId).show(100);
  }
}


function hidesub()
{
  if(SubIdActive!='')
  {
    subnavtimer=setTimeout('dohidesub()',500);
  }
}

function dohidesub()
{
  $('#hoofdnav ul.subnav').hide(100,function(){
    SubIdActive='';
  });
}

function maximizeWindow(WindowObj){
        if (parseInt(navigator.appVersion)>3){
                if (navigator.appName=="Netscape"){
                        if(WindowObj.screenX>0 || WindowObj.screenY>0) WindowObj.moveTo(0,0);
                        if(WindowObj.outerWidth < screen.availWidth) WindowObj.outerWidth=screen.availWidth;
                        if(WindowObj.outerHeight < screen.availHeight) WindowObj.outerHeight=screen.availHeight;
                } else {
                        WindowObj.moveTo(-4,-4);
                        WindowObj.resizeTo(screen.availWidth+8,screen.availHeight+8);
                }
        }
}


function NieuwVenster(waarheen){
        DetailVenster = window.open(waarheen,'Detail','toolbar=yes,location=yes,directories=yes,status=yes,scrollbars=yes,resizable=yes');
        DetailVenster.focus();
}


function SchakelHoofdmenu(MenuNr,Status){

        PrevNr=(1*MenuNr)-1;

        document.getElementById('sch'+PrevNr).className='scheiding'+Status;
        document.getElementById('hoofd'+MenuNr).className='keuze'+Status;
        document.getElementById('sch'+MenuNr).className='scheiding'+Status;


}

function doorsturen_nieuwsbrief(vorm){

        var EmailOk = true;
        strEmail=vorm.mail.value;
        if(strEmail!=''){
                if(strEmail.indexOf('@',0)==-1 || strEmail.indexOf('.', 0)==-1) EmailOk = false;
        } else {
                EmailOk = false;
        }

        if(!EmailOk){
                alert('E-mail');
        } else {
                vorm.submit();
        }

}



function aanmelden_nieuwsbrief(vorm,aktie){

        var EmailOk = true;
        strEmail=vorm.NEWSLETTER_WRD_CONTACT_EMAIL.value;
        if(strEmail!=''){
                if(strEmail.indexOf('@',0)==-1 || strEmail.indexOf('.', 0)==-1) EmailOk = false;
        } else {
                EmailOk = false;
        }

        if(aktie=='aanmelden' && EmailOk){
                vorm.redirect_success.value+='&PMax=Ok&PSkip=s';
                vorm.redirect_error.value+='&PMax=Error&PSkip=s';
                vorm.t.value='s';

                vorm.submit();
        }

        if(aktie=='afmelden' && EmailOk){
                vorm.redirect_success.value+='&PMax=Ok&PSkip=u';
                vorm.redirect_error.value+='&PMax=Error&PSkip=u';
                vorm.t.value='u';

                vorm.submit();
        }

        if(!EmailOk) alert('E-mail');

}


function VerstuurContact(Vorm){
        Msg='';

        if(Vorm.Naam.value=='') Msg+=' - Naam ';
        //if(Vorm.Adres.value=='') Msg+=' - Adres ';
        //if(Vorm.Postcode.value=='') Msg+=' - Postcode ';
        //if(Vorm.Plaats.value=='') Msg+=' - Plaats ';
        //if(Vorm.Telefoon.value=='') Msg+=' - Telefoon ';
        if(Vorm.Email.value!=''){
                if(Vorm.Email.value.indexOf('@', 0)==-1 || Vorm.Email.value.indexOf('.', 0)==-1) Msg+= ' - E-mail ';
        } else {
                Msg+=' - E-mail ';
        }
        if(Vorm.Opmerking.value=='') Msg+=' - Opmerkingen of vragen ';

        if(Msg){
                alert('Controleer de volgende velden '+Msg);
        } else {
                Vorm.PMax.value='VerstuurContact';
                Vorm.submit();
        }
}


function numbersonly(myfield, e, dec){

        var key;
        var keychar;

        if(window.event){
                key = window.event.keyCode;
        } else if(e){
                key = e.which;
        } else {
                return true;
        }

        keychar = String.fromCharCode(key);

        // control keys
        if(key==null || key==0 || key==8 || key==9 || key==13 || key==27){
                return true;
        } else if((("0123456789").indexOf(keychar) > -1)){// numbers
                return true;
        } else {
                return false;
        }
}


//Image preload routines staan hieronder
function ImagePreloader(images, callback){

        this.callback = callback;// store the callback

        this.nLoaded = 0;
        this.nProcessed = 0;
        this.aImages = new Array;
 
        this.nImages = images.length;

        for(var i=0; i < images.length; i++){// for each image, call preload()
                this.preload(images[i]);
        }
}


ImagePreloader.prototype.preload = function(image){

        // create new Image object and add to array
        //var oImage = new Image;
        var oImage = document.createElement("img"); // met new Image() werkt 't zeker niet!

        this.aImages.push(oImage);

        // set up event handlers for the Image object
        oImage.onload = ImagePreloader.prototype.onload;
        oImage.onerror = ImagePreloader.prototype.onerror;
        oImage.onabort = ImagePreloader.prototype.onabort;

        // assign pointer back to this.
        oImage.oImagePreloader = this;
        oImage.bLoaded = false;

        // assign the .src property of the Image object
        oImage.src = image;
}

ImagePreloader.prototype.onComplete = function(){
        this.nProcessed++;

        if(this.nProcessed == this.nImages){
                this.callback(this.aImages, this.nLoaded);
        }
}

ImagePreloader.prototype.onload = function(){
        this.bLoaded = true;
        this.oImagePreloader.nLoaded++;
        this.oImagePreloader.onComplete();
}

ImagePreloader.prototype.onerror = function(){
   this.bError = true;
   this.oImagePreloader.onComplete();
}

ImagePreloader.prototype.onabort = function(){
   this.bAbort = true;
   this.oImagePreloader.onComplete();

}
