var host = 'http://www.3d2.pl/';
//var host = 'http://192.168.0.104/3d2.pl/';
//var host = 'http://www.kwadraty.infranet.pl/';



/* tablica z ID menu */
var menuelem = Array();
	//menuelem['arch'] = false;
	//menuelem['meb'] = false;
	menuelem['gal'] = false;
	menuelem['rea'] = false;
	menuelem['wyk'] = false;
	menuelem['wiz'] = false;
	menuelem['anto'] = false;
	menuelem['ofer'] = false;
	menuelem['ofer1'] = false;
	menuelem['ofer2'] = false;
	menuelem['adr'] = false;
	menuelem['mail'] = false;
	menuelem['formu'] = false;
var slideR=0;
var slideL;
var posAr; 
var pos;
var posg, poso;
var galms=false;
var oferms=false;
var gale=false;
var ofere=false;
/* tablica z zawartością podstron */
var ajxAr = Array();
	//ajxAr['architektura-wnetrz'] = '';
	//ajxAr['projektowanie-mebli'] = '';
	ajxAr['realizacje'] = '';
	ajxAr['wizualizacje'] = '';
	ajxAr['wykonawstwo'] = '';
	ajxAr['o-nas'] = '';
	ajxAr['oferta1'] = '';
	ajxAr['oferta'] = '';
	ajxAr['adres'] = '';
	ajxAr['kontakt'] = '';
	ajxAr['formularz'] = '';
var NOfirst = true; // czy wyswietlana strona to pierwsza
var dimensions;

var ar_mpl1=new Array(0, 0.2, 0.4, 0.6, 0.8, 1, 1.2, 1.4, 1.6, 1.8);
var ar_mple1=new Array();
	
var ar_mpl2=new Array(0, 0.2, 0.4, 0.6, 0.8, 1, 1.2, 1.4, 1.6, 1.8);
var ar_mple2=new Array();	
	
var ar_mpl3=new Array(0, 0.2, 0.4, 0.6, 0.8, 1, 1.2, 1.4, 1.6, 1.8);
var ar_mple3=new Array();

var t;	

var res=true;
	
var imgb;	
	
document.observe("dom:loaded", function() {
  	imgb =new Image();
	imgb.src = 'http://www.3d2.pl/i/lay/bcg_main.jpg';
  	
  	if(krw){
  		var awt = new Element('div',{id:'awt'});
  		awt.update('architektura wnętrz');
  		$('bo').insert(awt);
  		
  		resize();
  		Element.hide('bb');
  		Element.hide('navib');
  		//Element.show("kr");
  		Element.hide("bgrl");
  		Element.hide("bgrr");
  		Element.hide("logo");
  		Element.hide("awt");
  		setTimeout("setbackground()",2000);
  		/*Element.hide.delay(2, "kr");
  		Element.show.delay(2,'b');
  		Element.show.delay(2,'navib');
  		setTimeout("resize()",2000);*/	
  	}else{
  		setbackground();
  		Element.show("navib");
  		Element.hide("krf");
  		resize();
  	}	
  	
 
  	
  	
  	
	Event.observe(document.onresize ? document : window, "resize", function() {resize();}); 
	
	
	
  	//$('navib').show();
  	//posAr = $('gal').positionedOffset();
  	//pos = posAr[0];
  	ajxAr['index'] = $('ajx').innerHTML;
  	
  	
	$$('.ml').each(function(el){
		Event.observe(el, 'click', function(event) {
			if(galms && el.identify()=='gal'){
				$('galm').show();
				galms=false;
			}else if(oferms && el.identify()=='ofer'){
				$('oferm').show();
				oferms=false;
			}else{
				galms=false;
				oferms=false;
				mmove(el.identify());
				switch(el.identify()){
					case 'anto':
						getContent('o-nas');
						break;
					case 'mail':
						getContent('kontakt');
						break;
				}
			}
			Event.stop(event);
		});
	});
	
	$$('.gm').each(function(el){
		Event.observe(el, 'click', function(event) {
			//$('glh').removeClassName('hide');
			setTimeout("getContents(\""+el.identify()+"\")",1000);
			Event.stop(event);
			$('galm').hide();
			galms=true;
		});
	});
	
	$$('.om').each(function(el){
		Event.observe(el, 'click', function(event) {
			//$('glh').removeClassName('hide');
			setTimeout("getContents(\""+el.identify()+"\")",1000);
			Event.stop(event);
			$('oferm').hide();
			oferms=true;
		});
	});
	
	fstl();
	
	//sleftPos=Math.round((1650-dimensions.width)/2);
	//leftPos= -sleftPos;
	//if(sleftPos<0)lrr = false;
	//else leftPos= -sleftPos;
	if(sleftPos<mov)lr = sleftPos;
	else lr = mov;
	
	//var vx = document.viewport.getDimensions();
	//stopPos=Math.round((881-vx.height)/2);
	//if(stopPos<0)ubr = false;
	//else topPos= -stopPos;
	
	if(stopPos<mov)ub = stopPos;
	else ub = mov;
	
	moveb();

	Event.observe(document, 'mousemove', function(e) {
		var nmouseX = Event.pointerX(e);
		var nmouseY = Event.pointerY(e);		

		if(kruch){
			omouseX = Event.pointerX(e);
			omouseY = Event.pointerY(e);
			kruch = false;
		}
		if(!ruch && (Math.abs(nmouseX-omouseX)>diff || Math.abs(nmouseY-omouseY)>diff) && mouseX!=0 && mouseY!=0){
			ruch = true;
			if(lrr){
				if(nmouseX>mouseX){
					mleft = 2;	
				}else if(nmouseX<mouseX){
					mleft = 1;
				}
			}
			if(ubr){
				if(nmouseY>mouseY){
					mtop = 2;
				}else if(nmouseY<mouseY){
					mtop = 1;
				}
			}
			mTimer = setTimeout("movef()",100);	
		}
		
		mouseX = nmouseX
		mouseY = nmouseY;
	});
	/*if(window.scrollbar=='undefined'){
		var scrollbar = new Control.ScrollBar('scrollbar_content','scrollbar_track');
	}*/
});	

function setbackground(){
	$('bo').setStyle({
		'backgroundImage':"url('"+imgb.src+"')",
		'backgroundRepeat':'no-repeat'
		//background: "url('http://www.3d2.pl/i/lay/bcg_main.jpg') center no-repeat"
	});
}

function resize(){
	
	dimensions = $('bb').getDimensions();//alert(dimensions.height);
  	t = Math.round(((document.viewport.getDimensions().height-(560+12)))/2);
  	if(t<0)t=0;
  	poy=t;
  //	if($('b').getStyle('position')=='relative'){
  
	  	$('bb').setStyle({
	  		'paddingTop': t + 'px'
	  	});	
	  	$('bgrl').setStyle({
			top: (t + 50) + 'px',
			width: ($('navi').positionedOffset()[0]) + 'px'
		});
		var tmpx=$('navi').positionedOffset()[0]+$('navi').getDimensions().width-1;
		pox=$('navi').positionedOffset()[0];
		$('bgrr').setStyle({
			top: (t + 50) + 'px',
			left: tmpx + 'px',
			width: (dimensions.width-tmpx) + 'px'
		});
		/*$('navi').setStyle({
				top: t+ 'px'
		});
		$('main').setStyle({
				top: t+ 'px'
		});*/
	  	$('navib').setStyle({
			top: (t)+ 'px',
			left: ($('navi').positionedOffset()[0]) + 'px'
		});
		//alert(t);
		$('logo').setStyle({
			top: (t)+ 'px',
			left: ($('navi').positionedOffset()[0]) + 'px'
		});
		/*$('aw').setStyle({
			top: (t + 20 + 199)+ 'px',
			left: ($('navi').positionedOffset()[0]) + 'px'
		});*/
		if($('awt')){
			$('awt').setStyle({
				top: (t + 178)+ 'px',
				left: ($('navi').positionedOffset()[0]) + 'px'
			});
		}
		if($('map')){
			$('map').setStyle({
				top: (t + 382)+ 'px',
				left: ($('navi').positionedOffset()[0]+590) + 'px'
			});
		}
		
		/*$('l0').setStyle({
			//'margin-top': t+ 'px',
			height: dimensions.height + 'px'
		});*/
  /*	}else{
  		$('navib').setStyle({
			left: ($('navi').positionedOffset()[0]) + 'px'
		});
		$('bgrl').setStyle({
			width: ($('navi').positionedOffset()[0]) + 'px'
		});
		var tmpx=$('navi').positionedOffset()[0]+$('navi').getDimensions().width;
		$('bgrr').setStyle({
			left: tmpx + 'px',
			width: (dimensions.width-tmpx) + 'px'
		});
  	}*/
  	tlo();
  	posAr = $('gal').positionedOffset();
  	pos = posAr[0];
  	res=false;
}


//na pierwszej stronie pojawiające się linki
function fstl(){
	Event.observe('mpl1', 'mouseenter', function(event) {
		var i_mpl1=0;
		ar_mple1=new Array();
		$$('.mplc1').each(function(el){
			ar_mple1[i_mpl1]=Element.appear.delay(ar_mpl1[i_mpl1], el);
			i_mpl1++;
		});
	});
	Event.observe('mpl1', 'mouseleave', function(event) {
		l1h();
		setTimeout("l1h()",100);	
	});
	
	Event.observe('mpl2', 'mouseenter', function(event) {
		var i_mpl2=0;
		ar_mple2=new Array();
		$$('.mplc2').each(function(el){
			ar_mple2[i_mpl2]=Element.appear.delay(ar_mpl2[i_mpl2], el);
			i_mpl2++;
		});
	});
	Event.observe('mpl2', 'mouseleave', function(event) {
		l2h();
		setTimeout("l2h()",100);	
	});
	
	Event.observe('mpl3', 'mouseenter', function(event) {
		var i_mpl3=0;
		ar_mple3=new Array();
		$$('.mplc3').each(function(el){
			ar_mple3[i_mpl3]=Element.appear.delay(ar_mpl3[i_mpl3], el);
			i_mpl3++;
		});
	});
	Event.observe('mpl3', 'mouseleave', function(event) {
		l3h();
		setTimeout("l3h()",100);		
	});
}

function l1h(){
	var i_mpl1=0;
	$$('.mplc1').each(function(el){
		if(ar_mple1[i_mpl1])window.clearTimeout(ar_mple1[i_mpl1]);
		el.hide();
		i_mpl1++;
	});
}

function l2h(){
	var i_mpl2=0;
	$$('.mplc2').each(function(el){
		if(ar_mple2[i_mpl2])window.clearTimeout(ar_mple2[i_mpl2]);
		el.hide();
		i_mpl2++;
	});
}

function l3h(){
	var i_mpl3=0;
	$$('.mplc3').each(function(el){
		if(ar_mple3[i_mpl3])window.clearTimeout(ar_mple3[i_mpl3]);
		el.hide();
		i_mpl3++;
	});
}
	
function mmove(el){
	var a;
	var mem;
	for(a in menuelem){
		if($(a)){
			if(menuelem[a]){
				// zabezpieczenie przed kliknieciem w przesuwajace sie menu
				var xAr = $(a).positionedOffset();
				var x = xAr[0]-pos;
				slideR.cancel();
				// przesuń menu w lewo, tyle ile przesuneło sie w prawo
				// w trakcie jego przesuwania w prawo
				slideL = new Effect.Move(a, { x: -x, y: 0 });
				/*if(el=='arch' || el=='meb'){
					$('ajx').update('');
				}*/
				if($('gal').visible()){
					Element.hide('galm');
				}
				if($('ofer').visible()){
					Element.hide('oferm');
				}
				if(gale){
					window.clearTimeout(gale);
					gale=false;
				}
				if(ofere){
					window.clearTimeout(ofere);
					ofere=false;
				}
				mem = a;
				// jak zwijasz wysuniete menu powrót contentu do 1st page
				if(a == el){
					$('ajx').update(ajxAr['index']);
					fstl();
					NOfirst = false;
					/*if(el=='arch' || el=='meb'){
						$('glh').addClassName('hide');
					}*/
				}
			}
		}
		menuelem[a] = false;
		$('bgrr').setStyle({
			backgroundColor: 'gray',
			opacity: 0.2
		});
		if($('map'))$('map').hide();
	}
	if(el==''){
		$('ajx').update(ajxAr['index']);
		fstl();
		NOfirst = false;
	}else{
		// jak menu nie jest wysunięte to je wysuwam
		if(!menuelem[el] && mem!=el){
			if(el=='gal'){
				$('ajx').update('');
				//Element.show.delay(1,'galm');
				gale=Effect.Appear.delay(1,'galm');
				if(!posg){ 
					posg = $('galm').positionedOffset();
					//TODO:wartość (pozycja rozwijanego menu)
					var y=250;
					$('galm').setStyle({
						left: (posg[0]+300) + 'px',
						top: y + 'px'
					});
				}
				$('bgrl').setStyle({
					backgroundColor: 'gray',
					opacity: 0.2
				});
				$('bgrr').setStyle({
					backgroundColor: 'gray',
					opacity: 0.2
				});
			}else if(el=='ofer'){
				$('ajx').update('');
				//Element.show.delay(1,'ofem');
				ofere=Effect.Appear.delay(1,'oferm');
				if(!poso){ 
					poso = $('oferm').positionedOffset();
					//TODO:wartość (pozycja rozwijanego menu)
					var y=414;
					$('oferm').setStyle({
						left: (poso[0]+290) + 'px',
						top: y + 'px'
					});
				}
				$('bgrl').setStyle({
					backgroundColor: 'gray',
					opacity: 0.2
				});
				$('bgrr').setStyle({
					backgroundColor: 'gray',
					opacity: 0.2
				});
			}
			
			
			menuelem[el] = true;
			slideR = new Effect.Move(el, { x: 80, y: 0 });
			/*if(el=='arch' || el=='meb'){
				$('glh').removeClassName('hide');
				setTimeout("getContents(\""+el+"\")",1000);
			}*/
			
		}
	}
}

function getContents(page){
	if('arch'==page)page='architektura-wnetrz';
	if('meb'==page)page='projektowanie-mebli';
	if('rea'==page)page='realizacje';
	if('wyk'==page)page='wykonawstwo';
	if('wiz'==page)page='wizualizacje';
	if('ofe1'==page)page='oferta1';
	if('ofe2'==page)page='oferta';
	if('formu'==page)page='formularz';
	getContent(page);
}

//skaluje mape w kontakcie
function scalemap(){
	Event.stopObserving('mapi', 'click');
	//new Effect.Move('mapi', { x: -300, y: -177, mode: 'relative' });
	new Effect.Move('map', { x: -300, y: -177, mode: 'relative' });
	//TODO:wartość skalowania
	new Effect.Scale('mapi', 235, {scaleMode: { originalWidth: 208, originalHeight: 132 }});
	Event.observe.delay(1, 'mapi', 'click',function(e){
		//new Effect.Move('mapi', { x: 300, y: 177, mode: 'relative' });
		new Effect.Move('map', { x: 300, y: 177, mode: 'relative' });
		new Effect.Scale('mapi', 43);
		Event.stopObserving('mapi', 'click');
		Event.observe.delay(1, 'mapi', 'click',function(e){
			scalemap();
		});
	});
}

function getContent(page){
	var param = 'page='+page;
	// jak nie ma strony w tablicy pobierz ją AJAXem
	if(ajxAr[page]==''){
		new Ajax.Request(host + 'ajaxContent',{method:'post',postBody:param, 
	  		onSuccess: function(transport) {
	  			ajxAr[page] = transport.responseText;
	  			if(!(page=='oferta')){
					$('ajx').hide('');
				}
				
	      		$('ajx').update(transport.responseText);
	      		$('abc').addClassName('hide');
	      		
	      		if(page=='wizualizacje' || page=='realizacje'){
					/*$('bgrl').setStyle({
						backgroundColor: 'black',
						opacity: 0.99,
						zIndex:100
					});*/
					$('bgrr').setStyle({
						backgroundColor: 'black',
						opacity: 0.9
					});
					$('maska').setStyle({
						left: ($('navi').positionedOffset()[0]) + 'px',
						top: ($('navi').positionedOffset()[1]) + 'px'
					});
				}else if(page=='oferta' || page=='oferta1'){
					$('bgrr').setStyle({
						backgroundColor: 'black',
						opacity: 0.2
					});
					setTimeout("bopa()",1000);
				}else if(page=='formularz'){	
					if($('fo'))Element.show.delay(1, "fo");			
				}else{
					/*$('bgrl').setStyle({
						backgroundColor: 'gray',
						opacity: 0.2
					});*/
					$('bgrr').setStyle({
						backgroundColor: 'gray',
						opacity: 0.2
					});
				}
	      		
	      		if(page=='oferta'){
	      			var scrollbar = new Control.ScrollBar('scrollbar_content','scrollbar_track');
	      			$('ajx').hide();
	      			//$('ajx').update('');
	      		}
	      		if(page=='kontakt'){
	      			var klon = Element.clone('map', true);
	      			$('map').remove(); 
	      			document.body.appendChild(klon);      			
	      			Event.observe('mapi', 'click',function(e){
	      				scalemap();
	      			});
					$('map').setStyle({
						top: (t + 382)+ 'px',
						left: ($('navi').positionedOffset()[0]+590) + 'px'
					});
	      		}else{
	      			if($('map'))$('map').hide();
	      		}
	      		$('ajx').appear();
	      		pageTracker._trackPageview('/' + page);
	  		}
		});
	// strona jest w tablicy wyświetl ją
	}else{
		if(NOfirst){
			if(!(page=='oferta')){
				$('ajx').hide();
				//$('ajx').update('');
			}
			if($('map'))$('map').remove(); 
			$('ajx').update(ajxAr[page]);
			$('abc').addClassName('hide');
			
			if(page=='wizualizacje' || page=='realizacje'){
				/*$('bgrl').setStyle({
					backgroundColor: 'black',
					opacity: 0.99,
					zIndex:100
				});*/
				$('bgrr').setStyle({
					backgroundColor: 'black',
					opacity: 0.9
				});
				$('maska').setStyle({
					left: ($('navi').positionedOffset()[0]) + 'px',
					top: ($('navi').positionedOffset()[1]) + 'px'
				});
			}else if(page=='oferta' || page=='oferta1'){
				$('bgrr').setStyle({
					backgroundColor: 'black',
					opacity: 0.2
				});
				setTimeout("bopa()",1000);		
			}else{
				/*$('bgrl').setStyle({
					backgroundColor: 'gray',
					opacity: 0.2
				});*/
				$('bgrr').setStyle({
					backgroundColor: 'gray',
					opacity: 0.2
				});
			}
			
			if(page=='oferta'){
	      		var scrollbar = new Control.ScrollBar('scrollbar_content','scrollbar_track');
	      		$('ajx').hide();
	      		//$('ajx').update('');
	      	}
	      	if(page=='kontakt'){
      			var klon = Element.clone('map', true);
      			$('map').remove(); 
      			document.body.appendChild(klon);      			
      			Event.observe('mapi', 'click',function(e){
      				scalemap();
      			});
				$('map').setStyle({
					top: (t + 382)+ 'px',
					left: ($('navi').positionedOffset()[0]+590) + 'px'
				});
      		}else{
      			if($('map'))$('map').hide();
      		}
      		//{ duration: 3.0 }
			$('ajx').appear();
			pageTracker._trackPageview('/' + page);
		}
	}
	NOfirst = true;
}

function bopa(){
	new Effect.Opacity('bgrr', { from: 0.2, to: 0.9, duration: 1.0 });
}

function viewPhoto(img){
	var i = '<div id="divFotka"><a href="javascript:void(0);" onclick="hidePhoto();" title="kliknij by zamknąć zdjęcie"><img src="'+ host + img + '" border="0" style="margin-top:50px;" /></a></div>';
	$('bigFoto').update(i);
	$('bigFoto').show();
	
	$('fotoDiv').setStyle({
		width: dimensions.width + 'px',
		height: dimensions.height + 'px'
	});
	$('bigFoto').setStyle({
		width: dimensions.width + 'px',
		height: dimensions.height + 'px'
	});
	$('fotoDiv').removeClassName('hide');
	$('bigFoto').removeClassName('hide');
	if(img.substring(6,10)=='arch'){
		pageTracker._trackPageview('/foto/wnetrza/' + img.substring(15));
	}else{
		pageTracker._trackPageview('/foto/meble/' + img.substring(16));
	}
}

function hidePhoto(){
	$('bigFoto').hide();
	$('fotoDiv').addClassName('hide');
	$('bigFoto').addClassName('hide');
}

// obsluga formularza kontaktowego
function kontakt(){
	var param = 'imie=' + $('fimie').value + '&email=' + $('femail').value + '&pytanie=' + $('fpytanie').value;
	new Ajax.Request(host + 'ajaxKontakt',{method:'post',postBody:param, 
		onSuccess: function(transport) {
			$('msg').update(transport.responseText);
			$('msg').removeClassName('hide');
		},
		onFailure: function(transport) {
			$('msg').update('Błąd komunikacji.<br />Spróbuj ponownie za chwilę.');
			$('msg').removeClassName('hide');
		}
	});
}



//var leftPos=0;
//var topPos=0;

//var sleftPos;
//var stopPos;

var mouseX = 0;
var mouseY = 0;

var omouseX = 0;
var omouseY = 0;

var ruch = false;
var kruch = false;
var mTimer; 

var ub = 0;
//var ubr = true;
var lr = 0;
//var lrr = true;

var mleft=0, mtop=0; 

var speed = 5;
var mov = 10; // o ile max sie ma ruszyć
var diff = 3; // po jakim ruchu kursora ma zacząć ruszać w px
/*function moveb(){
	$('b').style.backgroundPosition= leftPos+"px "+topPos+"px ";
}*/
/*
Event.observe(window, 'load', function() {	
	
});*/

function movef(){
	moveb();
	if(mleft==2){
		if(leftPos>-sleftPos+lr){
			if(mtop==0)ruch = false;
			else mleft=0;
		}else{
			leftPos+=speed;
		}
	}else if(mleft==1){
		if(leftPos<-sleftPos-lr){
			if(mtop==0)ruch = false;
			else mleft=0;
		}else{
			leftPos-=speed;
		}
	}
	if(mtop==2){
		if(topPos>-stopPos+ub){
			if(mleft==0)ruch = false;
			else mtop=0;
		}else{
			topPos+=speed;
		}
	}else if(mtop==1){	
		if(topPos<-stopPos-ub){
			if(mleft==0)ruch = false;
			else mtop=0;
		}else{
			topPos-=speed;
		}
	}
	
	if(ruch)mTimer = setTimeout("movef()",100);	
	else kruch = true;	
}

//znika krata
function killFlash(){
	Event.stopObserving(document.onresize ? document : window, "resize", function() {resize();});
	Element.remove.delay(5, 'krf');
	$('awt').remove();
    if($('bb'))Element.appear('bb');
  	Element.show('navib');
  	Element.show('bgrl');
    Element.show('bgrr');
    Element.show('logo');
    Element.show('awt');

	$('navib').setStyle({
		left: ($('navi').positionedOffset()[0]) + 'px'
	});
	$('logo').setStyle({
		left: ($('navi').positionedOffset()[0]) + 'px'
	});
	$('bgrr').setStyle({
		left: ($('navi').positionedOffset()[0]+$('navi').getDimensions().width - 1) + 'px'
	});	
	Event.observe(document.onresize ? document : window, "resize", function() {resize();}); 
	
}