// JavaScript Document

Array.prototype.shuffle = function(){
	var i = this.length;
  	if ( i >0 ){
 		while ( --i ) {
			var j = Math.floor( Math.random() * ( i + 1 ) );
			var tempi = this[i];
		 	var tempj = this[j];
		 	this[i] = tempj;
		 	this[j] = tempi;
   		}
	}
}

var dragged=false;
window.addEvent('domready',ini);
function ini(){
	if(pos=Cookie.read('pos')){
		dragged=true;
		pos=pos.split('_');
		$('win').setStyles({'top':pos[0],'left':pos[1]});
	}
	$('qryform').addEvent('submit',function(e){								
			this.action+="/?qry="+$('qry').value;
	});
	var drag=new Drag($('win'),{'handle':$('win').getElement('.hd')});
	drag.addEvent('onComplete',function(el){ 
		dragged=true;
		var p=el.getStyles('top','left');
		Cookie.write('pos',p.top+'_'+p.left);
		
	});
	mkDropSh();
	
	var loc= location.href.split('http://www.eenbekendeweg.nl/')[1];
	if(loc.length){
		loc=loc.split('/');
	}else{
		loc=['route'];
	}
	if(loc[0].toLowerCase()=='route'){
		mkLiveS(loc);
		if(loc[1]){
			ldSwf();
		}
	}
	if(loc[0].toLowerCase()=='artikelen'){
		/*$('reScr').addEvent('click',function(e){
			new Event(e).stop();
			this.fx = new Fx.Scroll(window).toElement($('reacties'));
		});*/
	}
	window.onresize=snap;
	snap();
}

window.addEvent('load',function(){							
	if(ie==6)fixPng();
});

function snap(){
	var w=$('bg_wrap').getSize().x;
	if(!dragged){
		var l=w-532;
		if(w<532+(3*190)){
			$('win').setStyle('left',(l-180)+'px');
			$('vids').setStyle('width',380+'px');
			$('txt_wrap').setStyle('width',190+'px');
		}else if(w> 532+(3*190) && w< 532+(5*190)){
			$('txt_wrap').setStyle('width',380+'px');
			$('win').setStyle('left',(l-370)+'px');
			$('vids').setStyle('width',380+'px');
		}else if(w> 532+(5*190)){
			sp=w-(532+(5*190));
			$('vids').setStyle('width',570+'px');
			$('txt_wrap').setStyle('width',380+'px');
			$('win').setStyle('left',(570+(sp/2))+'px');
		}
	}
	//$('bg_wrap').getElements('.txts')[1].setStyle('width',((w<532+(3*190))? 390:570 )+'px');
	
}

function ldSwf(){
	var ver=parseInt(Browser.Plugins.Flash.version);// ((ie && ver>=9)? 'window' ):
	var pars=eval($('route').getElement('input').value);
			swf = new Swiff('/swf/N471'+((parseInt(Browser.Plugins.Flash.version)>8 && parseInt(Browser.Plugins.Flash.build)>28)? '_9': "" )+'.swf', {
			container:$('vidPH'),				
			id: 'swiffer',
			width: '512',
			height: '324',
			params: {
				align: 'top',
				allowFullScreen:'true',
            	wMode:  'window',
            	bgcolor: '#000000'
			},
			vars: {
				id:pars.id,
				flv:pars.flv,
				nxt:pars.nxt,
				keys:pars.keys,
				top5:pars.top5
				//javaname: strUid
			}
		});
		//just caching the DOM lookup here, nothing else
		//var domInsert=$('vidPH').grab(swf);
		//this is the the fix	
		/*if(window.ie){
			domInsert.innerHTML=domInsert.innerHTML;
		}*/
		$('vid').setStyle('height',$('route').getSize().y+'px');
		$('vid').act=false;
		if(ie==6)$('win').getElement('.fd').setStyle('height',$('win').getElement('.bg').getSize().y+'px');
		if(mac && Browser.Engine.gecko && Browser.Platform.mac  ){
			$('fd').setStyle('background','url(/lib/gfx/FF_bg.png)');
			$('win').getElement('.fd').setStyle('background','url(/lib/gfx/FF_bg.png)');
		}else{
			$('fd').setStyles({'background':'#000','opacity':0.8});
			$('win').getElement('.fd').setStyles({'background':'#000','opacity':0.8});
		}
		$('fd').addEvent('click',function(){						  
			Swiff.remote($('swiffer'), 'jsPlay');
		});
		$('win').getElement('.fd').addEvent('click',function(){
			Swiff.remote($('swiffer'), 'jsPlay');
			//Swiff.remote(swf, 'jsPlay');
		});
}

function fdVid(){
	if($('vid').act){
			$('fd').setStyle('display','none');
			$('win').getElement('.fd').setStyle('display','none');
			$('route').getElements('.arr').setStyle('opacity',1);
			$('route').getElement('h3').setStyle('color','#333');
			$('route').getElement('.data').setStyle('color','#333');
			$('win').getElements('.liveS').setStyle('z-index',999);
	}else{
		$('fd').setStyle('display','block');
		$('win').getElement('.fd').setStyle('display','block');
		var rs=$('route').getElements('.arr');
		rs.each(function(item,index){item.setStyle('opacity',1-(index*(1/rs.length)))});
		$('route').getElement('h3').setStyle('color','#ffd');
		$('route').getElement('.data').setStyle('color','#ffd');
		$('win').getElements('.liveS').setStyle('z-index',700);
	}
	$('vid').act=(($('vid').act)? false : true);
}

function mkLiveS(loc){
	
	$$('.liveS').each(function(item){
		$(item).getElement('a').addEvent('click',function(e){
				new Event(e).stop();
				window.location="/route/"+this.getParent().getParent().getElement('input').value;//.split(' ').join('_');
		});	
		$(item).getElement('form').addEvent('submit',function(e){
			new Event(e).stop();
		});
		var inp=$(item).getElement('input');
		inp.ini=true;
		inp.ppp=inp.getParent().getParent().getParent();
		inp.rs=inp.ppp.getElement('.rs');
		$(item).getElement('input').addEvents({
			'focus': function() {
				if(this.ini){
					this.value = '';
					this.ini=false;
				}
				this.act= true;
			},
			'blur': function() {
				//this.value = 'ik wil naar...';
				this.act= false;
				if(parseInt(this.rs.getStyle('opacity'))>0)this.rs.fade.start('opacity',0);
			},
			'keydown': function(event) {
				var event = new Event(event);
				if(event.code==13 ||event.code==38||event.code==40 ||event.code==27){
							this.rs.mvSel(event.code,event);
							this.down=true;
				}else if ((event.code == 9) || (event.code == 39) ||// tab,right
					(event.code == 16) || (event.code == 17) || // shift, ctl
					(event.code >= 18 && event.code <= 20) || // alt,pause/break,caps lock
					(event.code >= 33 && event.code <= 35) || // page up,page down,end
					(event.code >= 36 && event.code <= 37) || // home,left,up
					(event.code >= 44 && event.code <= 45)) { // print screen,insert
					this.down=true;
				};
			},
			'keyup': function(event){
				var event = new Event(event);
				if(event.code==13 && ((loc[1] && Browser.Engine.gecko && Browser.Platform.mac && this.rs.getStyle('display')=='none') || this.rs.getStyle('opacity') <0.3 )){
					window.location="/route/"+this.value;
					//this.getParent().getParent().action+="/"+this.value;
					//this.getParent().getParent().submit();
				}
				if(this.act && !this.down){
					if(this.value!='')this.ppp.autoSug(this.value, this.id);
				}
				if(this.down)this.down=false;
			}
		});
		var rs=$(item).getElement('.rs');
		if(loc[1] && Browser.Engine.gecko && Browser.Platform.mac){
			rs.setStyle('display','none');
			rs.fade=new FF_fade(rs);
		}else{
			rs.setStyle('opacity',0);
			rs.fade=new Fx.Tween(rs,{duration: 160, wait: false});
		}
		rs.mvSel=function(code){
			var spans=this.getElements('span');
			spans[this.sel].setStyle('background-color','transparent');
			switch(code){
				case 38:
					if(this.sel)this.sel--;
				break;
				case 40:
					if(this.sel<(spans.length-1))this.sel++;
				break;
				case 13:
					if(this.getStyle('opacity')>0){
						this.getParent().getElement('input').value=spans[this.sel].get('text');
						this.fade.start('opacity',0);
						//$E('input',this.getParent());
					}
				break;
				case 27:
				break;
			}
			spans[this.sel].setStyle('background-color','#8df');
		}
		$(item).getElement('.au').addEvent('click',function(){
				this.getParent().getElement('input').focus();
				var v=$A(vi);//.copy();
				v.shuffle();
				v=v.splice(0,10);
				this.getParent().autoFill(v);
				
		});
		
		item.autoFill=function(arr){
			var rs=this.getElement('.rs');
			rs.getElements('span').each(function(item){item.dispose()});
			arr.each(function(item,index){		  
				var e=new Element('span');
				e.set('text',item);
				e.nr=index;
				if(!index)e.setStyle('background-color','#8df');
				e.addEvent('mouseover',function(){
					var spans=rs.getElements('span');
					spans[rs.sel].setStyle('background-color','transparent');
					this.setStyle('background-color','#8df');
					rs.sel=this.nr;
				});	
				e.addEvent('mouseout',function(){this.setStyle('background-color','transparent')});
				e.addEvent('click',function(){
					rs.getParent().getElement('input').focus();
					rs.mvSel(13);					
					rs.getParent().getElement('input').value=this.get('text');
					
				});
				rs.adopt(e);		 
			});
			rs.sel=0;
			rs.fade.start('opacity',1);
		}
		item.autoSug=function(abc,id){
			var arr= id=='vertrek' ? ve : vi;
			var rs = arr.filter(function(item, index){
 				return item.toLowerCase().substr(0,abc.length)==abc.toLowerCase();
			});
			if(rs.length)this.autoFill(rs);
		}
	});
}

function FF_fade(ob){
	this.ob=ob;	
};
FF_fade.prototype.start=function(foo,n){
	this.sh.delay(120,this,n);
	//this.ob.setStyle('display',((n)? 'block' : 'none')).delay(500); 
}

FF_fade.prototype.sh=function(n){
	this.ob.setStyle('display',((n)? 'block' : 'none'));
}

function mkDropSh(){
	var html='';
	var ims=new Array();
	for(var i=0; i<9; i++){
		if(i!=4)ims.push('/SH/sh_'+i+'.png');
	}
	new Asset.images(ims, {
		onComplete: function(){
			$$('.sh').each(function(item){					
				var dim=item.getParent().getSize();			
				var tw=dim.x+16;
				var th=dim.y+16;
				var div=new Element('div', {
					'styles': {
						'width': (tw)+'px',
						'height': (th)+'px'
					},
					'class': 'sh'
				});
				
				for(var i=0; i<9; i++){
					if(i!=4){
					var h=((i==3 || i==5)? th-54 : 27);
					var w=((i==1 || i==7)? tw-56 : 28);
					var y=((i==3 || i==5)? 27 : ((i==6 || i==7 || i==8)? th-27 : 0 ));
					var x=((i==1 || i==7)? 28 : ((i==2 || i==5 || i==8)? tw-28 : 0 ));
					if(ie==6){
						var im=	new Element('img', {
						'src' : '/n471/SH/sh_'+i+'.png',				
						'width': w,
						'height': h,
						'styles':{'filter':'progid:DXImageTransform.Microsoft.Alpha(opacity=0), sizingMethod=\'scale\')'},
						'border':0
						});
						var sp=new Element('span',{'styles':{
							'width':w+'px',
							'height':h+'px',
							'filter':'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'/SH/sh_'+i+'.png\', sizingMethod=\'scale\')',
							'position':'absolute',
							'top':y+'px',
							'left':x+'px'
						}});
						//sp.adopt(im);
						div.adopt(sp);
					}else{
						var im=	new Element('img', {
						'src' : '/SH/sh_'+i+'.png',				
						'width': w,
						'height': h,
						'styles':{
							'position':'absolute',
							'top':y+'px',
							'left':x+'px'
							}
						});
						div.adopt(im);
					}
					}
				}
				div.replaces(item);
			});
		}
	});
	
}

function fixPng(){
	$(document.body).getElements('.pngFix').each(function(ob){												  
		var w=((ob.width)? ob.width : ob.getSize.x);
		var h=((ob.height)? ob.height : ob.getSize.y);
		var sp=new Element('span',{'styles':{
			'width':w+'px',
			'height':h+'px',
			'display':'block',
			'filter':'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\''+ob.src+'\', sizingMethod=\'scale\')'
		}});
		sp.replaces(ob);
	});
}