// JavaScript Document
var header={'Content-type': 'application/x-www-form-urlencoded; charset=utf-8'}; 

var dom=false;
var _ini=false;
var ini_path='';
var tit_ld=0;
var v_ld=0;
var menu;
var prodpr;

var a_ini=new Request({		   
    url: path+"/lib/ajax.php",
    onSuccess: function(rs){
	menu=JSON.decode(rs);
	menu.n=0;
	for(var i=0; i<menu.length; i++){
		if(menu[i].typ=='prod'){
			prodpr=menu[i];
			menu.prev=false;  
			break;
		}
	}
	if(dom)ini();
    },
    headers:header
});
a_ini.send('call=ini');

function handleChange(event) {
    if(_ini){
	  handleLoc(String(event.path).split('/'));
    }
}

function handleLoc(urls){
    var tit='FREDERIK ROIJÉ';
	 var zoom_img='';
    urls=urls.filter(function(item){
			
			if(item && item !=''){
				var url=item.split('.');
				var ext=url.pop();
				if(ext.toLowerCase()=='jpg'){
					zoom_img=item;
				}else{
					return item;
				}
			}
			
	});
	 if(zoom_img){
		slideZoom(zoom_img);
	 }
    if(urls.length)tit+=' - '+urls[0];
    SWFAddress.setTitle(tit);
    if(urls.length){
	  var act=getActEls(urls);
	  menu_jump(act.lb,act.lb.els[act.n]);
    }
	 if($('wrap').target)$('wrap').hide();
}

function getActEls(urls){
    var lb;
    var el='';
    var n;
    for(var i=0; i<menu.length; i++){
	  if(menu[i].url==urls[0]){
		lb=menu[i];//|| (menu.act-i)==menu.length-1
		n=((menu.prev)? lb.data.length-1 :0 );//((((menu.act-i)==1  )&& menu.act!=undefined)? lb.data.length-1 : 0);
		if(menu.prev){
		    lb.act=n;
		    $(lb.typ).getElement('.hd .wrap')._reset(n);
		    $(lb.typ).getElement('.bd .wrap')._reset(n);
		    menu.prev=false;
		}
		el=lb.data[n];
		break;
	  }
	  
    }
    if(urls[1]){
	  for(var i=0; i<lb.data.length; i++){
		if(String(lb.data[i].url).toLowerCase()==urls[1]){
		    n=i;
		    el=lb.data[i];
		    break;
		}
	  }    
    }
    return {'lb':lb,'el':el,'n':n};
}


window.addEvent('domready',function(){
    if(menu){
	  ini();
    }else{
	  dom=true;
    }
});

function ini(){
    $('cont').wrap=$('cont').getElement('.wrap');
    $('cont').wrap.els=new Array();
    $('menu').empty();
    if(String(window.location).indexOf('#')>-1){
	  ini_path=String(window.location).split('#')[1];
    }else{
	  ini_path=menu[0].url;
    }
    var urls=String(ini_path).split('/');
    urls=urls.filter(function(item){if(item && item !='')return item;});
    _ini=getActEls(urls);
    if(urls[1] && _ini.n){
	  ld1st();
    }else{
	  show1st();
    }
}

function show1st(){
    $$('.block').setStyle('display','inline');
    $(_ini.lb.typ).setStyle('z-index','100');
    $('wrap').setStyle('display','inline');
    var ims=$(_ini.lb.typ).getElements('.im');
    if(_ini.n)ims[0].setStyle('z-index','0');
    ims[_ini.n].setStyles({'z-index':'100','display':'inline'});
    _ld();
    //$$('.info').setStyle('display','inline');
    $('cross').setStyle('display','block');
}


function _ld(){
    if(menu.n<menu.length){
	menu_mkEl()
	cont_mkEl();
    }else{
	ini1st();
	iniEnws();
	iniLocator();
	ini_nav();
	iniWrap();
	iniZoom();
    }
}

function ld1st(){
    var img=new Asset.image(path+'/media/head/'+_ini.el.img,{'onload':function(){
	  var tits=$(_ini.lb.typ).getElement('.hd .wrap').getElements('.tit');
	  tits[_ini.n].grab(img);
	  tits[0].setStyle('z-index','0');
	  tits[_ini.n].setStyle('z-index','100');
	   _ini.el.data=_ini.lb.data[_ini.n];
	  var imgs=fillImgs(_ini.lb,_ini.el,0);
	  if(imgs.length){
		ldImg_v(_ini.lb,imgs,"0",_ini.el,"");
	  }else{
		 show1st();
	  }
    }});
    
}


function ini1st(){
    SWFAddress.addEventListener(SWFAddressEvent.CHANGE, handleChange);
    $('menu').getElements('.mask').each(function(item){
	item.th=item.getElement('.mask_sub').getSize().y;
	item.fx=new Fx.Tween(item);
    });
    menu.act=_ini.lb.n;
    menu[menu.act].act=_ini.n;
    menu[menu.act].el.sh();
    $(menu[menu.act].typ).getElement('.hd .wrap').act=_ini.n;
    $(menu[menu.act].typ).getElement('.bd .wrap').act=_ini.n;
   
    
    //cont_fillPh();
    cont_fillInfo(menu[menu.act],menu[menu.act].els[menu[menu.act].act]);
    /*if(menu[menu.act].els[menu[menu.act].act].data.imgs[0].l_src){
	  var img=$(menu[menu.act].typ).getElement('.bd .wrap .im img');
	  var src={'src':path+'/media/'+menu[menu.act].typ+'/'+menu[menu.act].els[menu[menu.act].act].data.imgs[0].l_src,'w':menu[menu.act].els[menu[menu.act].act].data.imgs[0].l_src_w,'h':menu[menu.act].els[menu[menu.act].act].data.imgs[0].l_src_h};
	  setZoom(img,src);
    }
    _auto.ini();*/
    
    //handleLoc(ini_path.split('/'));
   tLd();
}

function ini_nav(){
    $('cross').getElements('span').each(function(item,n){
	item.n=n;
	item.addEvent('click',function(){
	  if($('cont').wrap.act==menu.act){
	   switch(this.n){
		case 1:
		    var wrap=$(menu[menu.act].typ).getElement('.bd .wrap');
		    wrap.els[wrap.act].getElement('.wrap').move('left');
			_auto._reset();
		break;    
		case 0:
		   //menu_slide('up');
		   if(menu[menu.act].act){
			  menu[menu.act].els[menu[menu.act].act-1].fireEvent('click');
		    }else{
			  var tmp=((menu.act>0)? menu.act-1: menu.length-1);
			  menu.prev=true;
			  menu[tmp].el.nm.fireEvent('click');
		    }	
		break;
		case 3:
		    //menu_slide('down');
		    if(menu[menu.act].act < (menu[menu.act].els.length-1)){
			  menu[menu.act].els[menu[menu.act].act+1].fireEvent('click');
		    }else{
			  var tmp=((menu.act< (menu.length-1))? menu.act+1: 0);
			  menu[tmp].el.nm.fireEvent('click');
		    }		  
		break;
		case 2:
		     var wrap=$(menu[menu.act].typ).getElement('.bd .wrap');
		    wrap.els[wrap.act].getElement('.wrap').move('right');
			_auto._reset();
		break;    
	    }
	    }
	});
    });
    cont_iniNav($('cont').wrap,menu,560);
    $('cont').wrap.act=_ini.lb.n;
}


function iniEnws(){
    var form=$('news').getElement('#e_nws');
    var but=$('news').getElement('#enter')
    form.set('send', {url: 'e_nws.php', method: 'post','onComplete':function(rs){
	form.getElement('.msg').set('text',rs);
    }});
    but.addEvent('click',function(){
	form.send();
    })
}

function iniLogin(els){
	els.each(function(el,n){
		if(el.data.typ=='press' || el.data.typ=='retail'){
			var inps=$('about').getElements('.im')[n].getElements('input');
			var submit=inps[2];
			submit._form=submit.getParent();
			submit._form.inps=inps;
			submit.typ=el.data.typ;
			submit.addEvent('click',function(e){
					var ev=new Event(e);
					ev.stop();
					a_login.ob = this._form;
					a_login.send('nm=' + this._form.inps[0].value + '&pass=' + this._form.inps[1].value + '&typ=' + this.typ+'&ajax=true');
				
			});
		}		
	});
}

function iniWrap(){
	$('wrap').target=false;
     $('wrap').slide=new Fx.Tween($('wrap'),{'onComplete':function(wrap){
	if(wrap._dir=='in'){
	  _auto._reset();
	    wrap.addClass('bottom');
	    wrap.setStyles({'top':'','cursor':'pointer'});
	    var div=new Element('div',{'class':'zoom'});
	  $(document.body).grab(div);
	  var ob=menu[menu.act];
    var item=ob.els[ob.act];
	 if(ob.typ=='about'){
		var dir=((ob.typ!='about')? ob.typ : 'a_proj');
	  var _n=$('about').getElements('.im')[ob.act].getElement('.a_proj')._n;
	  var ar=item.data.sub[_n].imgs;
	 }else{
		var dir=ob.typ;
		var ar=item.data.imgs;
	 };
	 for(var i=0; i<ar.length; i++){
			if(ar[i].l_src==wrap.img){
				wrap.target=ar[i];
				break;
			}
		}
	  
	  var img=new Asset.image(path+'/media/'+dir+'/'+wrap.target.l_src,{'width':wrap.target.l_src_w,'height':wrap.target.l_src_h,'onload':function(){
		div.grab(img);
		posZoom();
		window.addEvent('resize',posZoom);
		img.addEvent('click',function(e){ $('wrap').fireEvent('click',e)});
		img.setStyles({'cursor':'pointer'});
	  }});	
	    wrap.addEvent('click',function(){
		
		SWFAddress.setValue(String(window.location).split('#')[1].split('/'+this.target.l_src)[0]);
	    })
		 
		 
	}else{
	    wrap.addClass('center');
	    wrap.setStyles({'top':'','cursor':''});
	    wrap.removeEvents();
	}
    }});
	   $('wrap').hide=function(){
			this.target=false;
			var ty=window.getSize().y;
		var y=this.getPosition().y;
		this.removeClass('bottom');
		this.setStyle('top',y);
		this.slide.start('top',Math.ceil(ty*0.5)-300);
		this._dir='out';
		document.body.getElement('.zoom').dispose();
		window.removeEvents();
		}
}


function iniZoom(){
    menu.each(function(ob){
	  switch(ob.typ){
		case 'prod':
		    if(ob.data[0].imgs[0].l_src){
			  var r=ob.data[0].imgs[0];
			  var src={'src':path+'/media/prod/'+r.l_src,'w':r.l_src_w,'h':r.l_src_h};
			  var img=$(ob.typ).getElement('.bd .im img');
			  setZoom(img,src);
		    }
		break;
		case 'proj':
		    for(var i=0; i<2; i++){
			  if(ob.data[0].imgs[i].l_src){
				var src={'src':path+'/media/'+ob.typ+'/'+ob.data[0].imgs[i].l_src,'w':ob.data[0].imgs[i].l_src_w,'h':ob.data[i].imgs[0].l_src_h};
				var img=$(ob.typ).getElements('.bd .im img');
				setZoom(img[i],src);
			  }
		    }
		break;
		case 'about':
		    if(ob.data[0].typ=='a_proj' && ob.data[0].sub[0]){
			  for(var i=0; i<2; i++){
				if(ob.data[0].sub[0].imgs[i].l_src){
				    var r=ob.data[0].sub[0].imgs[i];
				    var src={'src':path+'/media/a_proj/'+r.l_src,'w':r.l_src_w,'h':r.l_src_h}
				    var img=$(ob.typ).getElements('.bd .im img');
				    setZoom(img[i],src);
				}
			  }
		    }    
		break;
		case 'news':
		    if(!_ini.n){
			  for(var i=0; i<2; i++){
			     if(ob.data[0].news[i]){
				    for(var j=0; j< ob.data[0].news[i].imgs.length; j++){
				    if(ob.data[0].news[i].imgs[j].l_src){
					  var r=ob.data[0].news[i].imgs[j];
					  var src={'src':path+'/media/news/'+r.l_src,'w':r.l_src_w,'h':r.l_src_h};
					  var img=$(ob.typ).getElements('.bd .im img');
					  setZoom(img[i+j],src);
					 }
				    }
			     }
			  }
		    }
		break;
	  }	
    });
}

function slideZoom(img){
		var w=$('wrap');
		var ty=window.getSize().y;
		var y=w.getPosition().y;
		w.removeClass('center');
		w.setStyle('top',y+'px');
		w.img=img;
		w.slide.start('top',ty-151);
		w._dir='in';
}


function posZoom(){
    var z=document.body.getElement('.zoom');
    var h=z.getSize().y;
    var im=z.getElement('img');
    var iw=$('wrap').target.l_src_w;
    var ih=$('wrap').target.l_src_h;
    if(iw<825 && ih<(h-45)){
	  
    }else{
	  if(iw>ih){
		if((ih*(iw/825))<h){
		    im.height=(ih*(iw/825));
		    im.width=825;	     
		}else{
		    im.width=(iw*((h-45)/ih));
		    im.height=h-45;
		}
	  }else{
		im.height=h-45;
		im.width=(iw*((h-45)/ih));
	  }
	 
    }
    im.setStyles({'margin-left':'-'+Math.floor(im.width*0.5)+'px','margin-top':'-'+Math.floor(im.height*0.5)+'px'});
}








