// JavaScript Document
// skrypt generuje mape w wybranym planie


function xObj(q,d,c,r){



	this.numb=q;
	this.query='get.php?J='+q;
	this.div=d;
	this.timeOut=20;   // 2s
	this.interval=500;
	this.request=0;
	this.timer_H=-1;
	this.xml=0;
	this.cols=c;
	this.rows=r;
	
	
	this.init=xObj_init;
	this.timer=xObj_timer;
	this.show=xObj_show;


//preload
	this.img=new Image();
	this.imgs=new Array();
	this.preH=-1
	this.preIndex=0

	this.preInit=xObj_pre_init;
	this.preDo=xObj_pre_do;
//preload.end


	this.pb=new progObj(this.div,this.numb)
	this.init();
}


function xObj_init(){
	if(!IE6){
	  this.request=new XMLHttpRequest()
		this.request.open('GET',this.query,false)
		this.request.send(null)
	}else{
		this.request=new ActiveXObject('Microsoft.XMLDOM')
	  this.request.async=false
	  this.request.load(this.query)
	}
	
	var _intr=this
	function intr_f(){_intr.timer()}
	_intr.timer_f=intr_f
	this.timer_H=setInterval(intr_f,this.interval)
}

function xObj_timer(){

	switch(this.request.readyState){
	  case 0: // inicjacja
	    this.div.innerHTML='ładowanie...'
	    break;
	  case 1: // otwarte
	    break;
	  case 2: // wyslano
	    break;
	  case 3: // odbieranie
	    break;
	  case 4: // zakonczono
	    clearInterval(this.timer_H);
	    if(!IE6)this.xml=this.request.responseXML.childNodes[0];
			else this.xml=this.request.childNodes[1];

			this.preInit();
//				this.show();
	    break;
	}
}

//  ladowanie xml koniec


function xObj_show(){
	
	
	var a='';
	for(i=0;i<this.xml.childNodes.length;i++){
	  var x=this.xml.childNodes[i].attributes[3].value;
		var y=this.xml.childNodes[i].attributes[2].value;
		var pic=this.numb+this.xml.childNodes[i].attributes[1].value;

	var d_a='<a class="save" href="save.php?F='+pic+'" onmouseover="_ON=true" onmouseout="_ON=false">zachowaj na dysku</a>';
	var d_bar='<div style="display:none; margin-top:10px">'+
							'<img class="ico" onmouseover="ico_event(this,1)" onmouseout="ico_event(this,0)" src="img/preview.gif">&nbsp;'
						 +'<a href="save.php?F='+pic+'" onmouseover="_ON=true" onmouseout="_ON=false"><img class="ico" onmouseover="ico_event(this,1)" onmouseout="ico_event(this,0)" src="img/save.gif"></a></div>';

	  if(this.xml.childNodes[i].attributes[0].value==2)a+='<div class="map_p0" style="left:'+(x*150)+'px; top:'+(y*93)+'px; background:url(map/'+this.numb+'0-'+y+'-'+x+'.gif)">&nbsp;</div>'
//	  if(this.xml.childNodes[i].attributes[0].value==1)a+='<div class="map_p1" style="left:'+(x*150)+'px; top:'+(y*93)+'px; background:url(map/'+this.numb+'0-'+y+'-'+x+'.gif) -1px -1px" onmouseover="map_piece(this,\'map/'+this.numb+'1-'+y+'-'+x+'.gif\',1)" onmouseout="map_piece(this,\'map/'+this.numb+'0-'+y+'-'+x+'.gif\',0)" onclick="map_show(\''+this.numb+''+this.xml.childNodes[i].attributes[1].value+'.jpg\')">'+this.xml.childNodes[i].attributes[1].value+'<br><a href="save.php?F='+pic+'"><img onmouseover="_ON=true" onmouseout="_ON=false" class="noBo" src="img/save.gif"></a></div>'
//	  if(this.xml.childNodes[i].attributes[0].value==1)a+='<div class="map_p1" style="left:'+(x*150)+'px; top:'+(y*93)+'px; background:url(map/'+this.numb+'0-'+y+'-'+x+'.gif) -1px -1px" onmouseover="map_piece(this,\'map/'+this.numb+'1-'+y+'-'+x+'.gif\',1)" onmouseout="map_piece(this,\'map/'+this.numb+'0-'+y+'-'+x+'.gif\',0)" onclick="map_show(\''+this.numb+''+this.xml.childNodes[i].attributes[1].value+'.jpg\')">'+this.xml.childNodes[i].attributes[1].value+'<br><a class="save" href="save.php?F='+pic+'" onmouseover="_ON=true" onmouseout="_ON=false">zachowaj na dysku</a></div>'
	  if(this.xml.childNodes[i].attributes[0].value==1)a+='<div class="map_p1" style="left:'+(x*150)+'px; top:'+(y*93)+'px; background:url(map/'+this.numb+'0-'+y+'-'+x+'.gif) -1px -1px" '+
																														 'onmouseover="map_piece(this,\'map/'+this.numb+'1-'+y+'-'+x+'.gif\',1,'+this.xml.childNodes[i].attributes[1].value+',\''+pic+'\')" '+
																														 'onmouseout="map_piece(this,\'map/'+this.numb+'0-'+y+'-'+x+'.gif\',0,'+this.xml.childNodes[i].attributes[1].value+',\''+pic+'\')" '+
																														 'onclick="map_show(\''+this.numb+''+this.xml.childNodes[i].attributes[1].value+'.jpg\')"><div class="map_pd">arkusz nr '+this.xml.childNodes[i].attributes[1].value+''+d_bar+'</div></div>';
	}

	this.div.innerHTML=a;
	this.div.style.height=(this.rows*93+16)+'px'
	this.div.style.width=(this.cols*150)+'px'
}

function ico_event(o,e){
	if(e==1){
		o.style.opacity=1;
		o.style.filter='alpha(opacity=100)';
	}
	if(e==0){
		o.style.opacity=.6;
		o.style.filter='alpha(opacity=60)';
	}
}

_ON=false
function map_piece(o,i,e,v1,pic){
	o.style.background='url("'+i+'") -1px -1px';
	if(e==1)o.style.border='1px solid #505050';
	else o.style.border='1px solid #e0e0e0';
	
	var d1=o.firstChild.childNodes[1]
	
	switch(e){
		case 0:
			d1.style.display='none';
			break;
		case 1:
			d1.style.display='block';
			break;
	}
}

_TT2=false
function showTT(){
	document.getElementById('tt2').innerHTML=_ON;
}

function map_show(i){
	if(_ON)return
	w=window.open('img.php?P='+i,'obrazek','location=no, menubar=no, resizable=no, scrollbars=no, status=no, dialog=yes, width=800, height=500')
	w.focus()
}

//    preload

function xObj_pre_init(){
	for(i=0;i<this.xml.childNodes.length;i++){
	  x=this.xml.childNodes[i].attributes[3].value;
		y=this.xml.childNodes[i].attributes[2].value;

		if(this.xml.childNodes[i].attributes[0].value==1){
			this.imgs.push('map/'+this.numb+'0-'+y+'-'+x+'.gif')
			this.imgs.push('map/'+this.numb+'1-'+y+'-'+x+'.gif')
		}
		if(this.xml.childNodes[i].attributes[0].value==2)
			this.imgs.push('map/'+this.numb+'0-'+y+'-'+x+'.gif')
	}
//	return
	var _int=this;
	function tmr(){_int.preDo()};
	_int.pre_tmr=tmr;
	this.preH=setInterval(tmr,50);
}

function xObj_pre_do(){
	this.pb.value((this.preIndex/this.imgs.length)*100);
	if(this.preIndex>0)if(!this.img[this.preIndex-1].complete)return
	this.img[this.preIndex]=new Image();
	this.img[this.preIndex].src=this.imgs[this.preIndex]
	this.preIndex++;
	if(this.preIndex>this.imgs.length){
	  clearInterval(this.preH);
		this.show();
	}
}

//    preload.end


