// DDS Galéria 2.2 Ujpart - 09.02.19.

var idstohide=new Array(); //TODO!! flash tartalmu elemek id-i.

var imgpath="http://www.lazulj.com/galeria/400x300/";
var imgpath2="http://www.lazulj.com/galeria/full/";
var thumbpath="http://www.lazulj.com/galeria/60x60/";
var videopath="/video/";
var vthumb1="/getvimage.php?img=";
var vthumb2="/getvimage.php?s=2&img=";
var noimage="images/sp.gif";
var initsize=new Array(950,560);
var mode=1; // 1 kép, 2 video
var slideshowtime=2000;
var player;
var sself;

// --
var gloaded=0;
var startimg=0;
var imagedata=new Array();
var images=new Array();

var cp=0; // mode 2 aktuális oldal
var curdir=''; //aktuális mappanév
var curdirdesc=''; //aktuális mappa leírás
var curimgdiv=1;
var slideshow=0;
var TimeToFade = 200.0;
var TimeToResize = 200.0;

var slideshowtimer;
var thumbsloaded=0;

function galSize(width,height) {
	this.width = width;
	this.height = height;
}

function isArray(obj) {
    return obj.constructor == Array;
}

function array_chunk( input, size ) {
	for(var x, i = 0, c = -1, l = input.length, n = []; i < l; i++){
		(x = i % size) ? n[c][x] = input[i] : n[++c] = [input[i]];
	}
	return n;
}

function galImage(src,txt,pnr,desc,id) {
	this.src = imgpath+src;
	this.thumb = thumbpath+src
	this.full = imgpath2+src;
	this.text = txt;
	this.desc = desc;
	this.nr = pnr;
	this.top = '';
	this.left = '';
	this.width = '';
	this.height = '';
	this.afterLoad = '';
	this.id=id;
	var galimg=this;
	this.loadImage = function() {
		galimg.preimg=new Image();
		galimg.preimg.onload=function(){
			galimg.top=-1+(310-galimg.preimg.height)/2+'px';
        		galimg.left=-1+(487-galimg.preimg.width)/2+'px';
        		galimg.width=galimg.preimg.width;
        		galimg.height=galimg.preimg.height;
        		galimg.loaded=1;
        		if(typeof(galimg.afterLoad)=="function") {
        			galimg.afterLoad();
        			galimg.afterLoad='';
        		}
               	}
        	galimg.preimg.src=galimg.src;
	}
	this.loadThumb = function() {
		galimg.pretimg=new Image();
		galimg.pretimg.onload=function(){
			galimg.tloaded=1;
        		thumbsloaded+=1;
        		if(thumbsloaded==images.length) {
        			loadThumbs();
        		}
               	}
        	galimg.pretimg.src=galimg.thumb;
	}
}

function galVideo(src,txt,pnr,desc,id) {
	this.file = videopath+src;
	this.thumb = vthumb1+src.replace(/flv/,"jpg");
	this.thumb2 = vthumb2+src.replace(/flv/,"jpg");
	this.text = txt;
	this.desc = desc;
	this.nr = pnr;
	this.top = '';
	this.left = '';
	this.width = '';
	this.height = '';
	this.afterLoad = '';
	this.id=id;
	var galimg=this;
	this.loadThumb = function() {
		galimg.pretimg=new Image();
		galimg.pretimg.onload=function(){
			galimg.tloaded=1;
        		thumbsloaded+=1;
        		if(thumbsloaded==images.length) {
        			loadThumbs();
        		}
               	}
        	galimg.pretimg.src=galimg.thumb;
	}
}


function showGallery(gid,pid){
	if(mode==1) {
		var shslider = new Slider('lbslider', 60, 10, bgcolor="#ffffff", fgcolor="#ff7d00", "1px solid #aaaaaa");
		shslider.onNewPosition = function() {
			stime=(2000 + (parseInt(shslider.position * 8000))) / 1000;
			document.getElementById("lbsliderlabel").innerHTML = stime.toFixed(1) + ' s'; 
			slideshowtime= (2000 + (parseInt(shslider.position * 8000)));
		}
	}
	if(pid) startimg=pid;
	else startimg=1;
	ipreload('/images/gallery/pause.gif');
	current=startimg-1;
	thumbsloaded=0;
}

function galleryReload() {
	image=document.getElementById('lbimage1');
	image2=document.getElementById('lbimage2');
	image2.src=noimage;
        cntr=document.getElementById('counter');
        keptxt=document.getElementById('lbtext');
        kepdesc=document.getElementById('lbdesc');
        thumbs=document.getElementById('lbthumbs');
	
	if(mode==1) {
		for(var im=0;im<imagedata.length;im++) {
			if(!images[im]) images[im] = new galImage(imagedata[im].file,imagedata[im].title,im,imagedata[im].desc,imagedata[im].id);
			//if(!images[im].loaded) images[im].loadImage();
			//if(!images[im].tloaded) images[im].loadThumb();
			images[im].w=imagedata[im].w;
			images[im].h=imagedata[im].h;
		}
	} else {
		for(var im=0;im<imagedata.length;im++) {
			if(!images[im]) images[im] = new galVideo(imagedata[im].file,imagedata[im].title,im,imagedata[im].desc,imagedata[im].id);
			//if(!images[im].loaded) images[im].loadImage();
			if(!images[im].tloaded) images[im].loadThumb();
		}
	
	}
	
	if (mode==1) {
		showItem('lbimage1',0);
		loadImages(current);
		loadImage(images[current].src);
		curimgdiv=1;
        } else {
        	//showItem('lbvideo');
        	setTimeout("videoLoad("+current+")",1000);
        }
        if(images[current].text) {
        	keptxt.innerHTML=images[current].text;
        	kepdesc.innerHTML=images[current].desc;
        }
        cntr.innerHTML=current+1+'/'+imagedata.length;
}


function prevImage(){
	
	if(curimgdiv==1) curimgdiv=2;
	else curimgdiv=1;
	image=document.getElementById('lbimage'+curimgdiv);
	changeOpacity(0,'lbimage'+curimgdiv);
	cntr=document.getElementById('counter');
	keptxt=document.getElementById('lbtext');
	kepdesc=document.getElementById('lbdesc');
	
	current--;
	if(current<0) current=images.length-1;
	if(mode==1) {
		
		loadImages(current);
		image.src=images[current].src;
		image.style.top=images[current].top;
		image.style.left=images[current].left;
		if (curimgdiv==1) { 
			fadeIn('lbimage1');
			fadeOut('lbimage2'); 
		} else { 
			fadeIn('lbimage2');
			fadeOut('lbimage1'); 
		} 
		
	} else {
		videoLoad(current);
	}
	cntr.innerHTML=current+1+'/'+images.length;
	if(images[current].text) {
		keptxt.innerHTML=images[current].text;
		kepdesc.innerHTML=images[current].desc;
		image.alt=images[current].text;
	}
	if(slideshow==1) {
		clearTimeout(slideshowtimer);
		slideshowtimer=setTimeout("nextImage()",slideshowtime);
	}

}

function nextImage(){
	if(curimgdiv==1) curimgdiv=2;
	else curimgdiv=1;
	image=document.getElementById('lbimage'+curimgdiv);
	changeOpacity(0,'lbimage'+curimgdiv);
	cntr=document.getElementById('counter');
	keptxt=document.getElementById('lbtext');
	kepdesc=document.getElementById('lbdesc');
	
	current++;
	if(current==images.length) current=0;

	if(mode==1){
		loadImages(current);
		image.src=images[current].src;
		image.style.top=images[current].top;
		image.style.left=images[current].left;
		if (curimgdiv==1) { 
			fadeIn('lbimage1');
			fadeOut('lbimage2'); 
		} else { 
			fadeIn('lbimage2');
			fadeOut('lbimage1'); 
		}
		
	} else {
		videoLoad(current);
	}
	cntr.innerHTML=current+1+'/'+images.length;
	if(images[current].text) {
		keptxt.innerHTML=images[current].text;
		kepdesc.innerHTML=images[current].desc;
		image.alt=images[current].text;
	}
	if(slideshow==1) {
		clearTimeout(slideshowtimer);
		slideshowtimer=setTimeout("nextImage()",slideshowtime);
	}
}

function prevfImage(){
	var image=document.getElementById('lbimage');
	current--;
	if(current<0) {
		current=0;
		return;//current=images.length-1;
	}
	showfImage(current);
}

function nextfImage(){
	var image=document.getElementById('lbimage');
	current++;
	if(current==images.length) {
		current=images.length-1;
		return;//current=0;
	}
	showfImage(current);
}

function changeImage(id) {
	if(mode==1 && !images[id].loaded) {
		images[id].afterLoad=function() {
			showImage(id);
		}
		loadImages(id);
	} else {
		showImage(id);
	}
	return false;
}

function showImage(id){
	if(curimgdiv==1) curimgdiv=2;
	else curimgdiv=1;
	image=document.getElementById('lbimage'+curimgdiv);
	changeOpacity(0,'lbimage'+curimgdiv);
	cntr=document.getElementById('counter');
	keptxt=document.getElementById('lbtext');
	kepdesc=document.getElementById('lbdesc');
	
	current=id;
	
	if(mode==1){
		image.src=images[current].src;
		image.style.top=images[current].top;
		image.style.left=images[current].left;
		if (curimgdiv==1) { 
			fadeIn('lbimage1');
			fadeOut('lbimage2'); 
		} else { 
			fadeIn('lbimage2');
			fadeOut('lbimage1'); 
		}
				
	} else {
		videoLoad(current);
	}
	cntr.innerHTML=current+1+'/'+images.length;
	//if(images[current].text) {
		keptxt.innerHTML=images[current].text;
		kepdesc.innerHTML=images[current].desc;
		image.alt=images[current].text;
	//} 
		
	if(slideshow==1) {
		clearTimeout(slideshowtimer);
		slideshowtimer=setTimeout("nextImage()",slideshowtime);
	}
}

function resizeImage(img){
 	pagesize=getPageSize();
 	arany=img.width/img.height;
 	if(img.height>pagesize[1]) {
 		img.height=pagesize[1]-80;
 		img.width=img.height*arany;
 	}
	if(img.width>pagesize[0]) {
 		img.width=pagesize[0]-80;
 		img.height=img.width/arany;
 	}
 	return img;
}

function showFullImage(id) {
	current=id;
	var pri=new Image();
	var page = getPageSize();
	var sizes = getImageSizes(images[id].w+20,images[id].h+50,page[0]-100,page[1]-150);
	var scroll = getPageScrollTop();
	showHideFlash();
	
	var gn=document.getElementById('gnext');
	var gp=document.getElementById('gprev');
	gn.style.color='';
	gp.style.color='';
	
	if(current==0) gp.style.color="#dddddd";
	if(current==images.length-1) gn.style.color="#dddddd";
	
	pri.onload=function() {
		var fimage=document.getElementById('lbimage');
		var box=document.getElementById('fullbox');
		var count=document.getElementById('lbcount');
		
		count.innerHTML=(current+1)+'/'+images.length;
		fimage.src=images[id].full;
		document.getElementById('lbfulltitle').innerHTML=(images[id].text)?images[id].text:'';
		fimage.width=sizes[0];
		fimage.height=sizes[1];
		overlayReload();
		center('fullbox',sizes[0]+40,sizes[1]);
		box.style.width=sizes[0]+'px';
		box.style.height=sizes[1]+'px';
		showItem('overlay');
		showItem('fullbox');
		window.onresize=overlayReload;
	}
	pri.src=images[id].full;
}

function showfImage(id) {
	current=id;
	var pri=new Image();
	var page = getPageSize();
	var sizes = getImageSizes(images[id].w+20,images[id].h+50,page[0]-100,page[1]-150);
	var positions = getcenter(sizes[0]+50,sizes[1]);
	var scroll = getPageScrollTop();
			
	var gn=document.getElementById('gnext');
	var gp=document.getElementById('gprev');
	gn.style.color='';
	gp.style.color='';
	
	if(current==0) gp.style.color="#dddddd";
	if(current==images.length-1) gn.style.color="#dddddd";
	
	pri.onload=function() {
		var fimage=document.getElementById('lbimage');
		var count=document.getElementById('lbcount');
		var box=document.getElementById('fullbox');
		var samesize = (fimage.width==sizes[0] && fimage.height==sizes[1])?1:0;
		document.getElementById('lbfulltitle').innerHTML=(images[id].text)?images[id].text:'';
		fimage.width=sizes[0];
		fimage.height=sizes[1];
		count.innerHTML=(current+1)+'/'+images.length;
		fimage.src=images[id].full;
		if(!samesize) {
			document.getElementById('fbcont').style.display='none';
			box.postAction=function() {
				document.getElementById('fbcont').style.display='';
			}
			DDSanim.resizeTo('fullbox',sizes[0],sizes[1],positions[0],positions[1],500);
		}
	}
	pri.src=images[id].full;
}

function hideFullImage(a) {
	window.onresize='';
	hideItem('overlay');
	hideItem('fullbox');
	var fimage=document.getElementById('lbimage');
	fimage.src=noimage;
	document.getElementById('lbfulltitle').innerHTML='';
	showHideFlash(1);
	if(!a) showImage(current);
}

function gInit(imagedata) {
	current=0;
	images=[];
	for(var im=0;im<imagedata.length;im++) {
		if(!images[im]) images[im] = new galImage(imagedata[im].file,imagedata[im].title,im,imagedata[im].desc,imagedata[im].id);
		//if(!images[im].loaded) images[im].loadImage();
		//if(!images[im].tloaded) images[im].loadThumb();
		images[im].w=imagedata[im].w;
		images[im].h=imagedata[im].h;
	}
	showFullImage(0);
}


function showItem(item,opc) {
	obj=document.getElementById(item);
	//alert(obj.id + ' ' + typeof(opc));
	obj.style.display='block';
	if (typeof(opc)=='number') {
		changeOpacity(opc,item);
	}
}

function hideItem(item,opc) {
	obj=document.getElementById(item);
	obj.style.display='none';
	if (typeof(opc)=='number') {
		changeOpacity(opc,item);
	}
}

function showHideItem(item) {
	obj=document.getElementById(item);
	(obj.style.display=='none')?obj.style.display='':obj.style.display='none';
}

function loadImage(src) {
	if(src.indexOf('.jpg')==-1) src=noimage;
	showItem('loading');
	image=document.getElementById('lbimage1');
	preimg=new Image();
	preimg.onload=function(){
		image.src=src;  //imgpath+imagelist[current];
		image.style.top=(310-preimg.height)/2+'px';
        	image.style.left=(487-preimg.width)/2+'px';
        	changeOpacity(0,'lbimage1');
        	fadeIn('lbimage1');
        	hideItem('loading');
        }
        preimg.src=src;
}

function loadImages(cur) {
	var nxt=cur+1;
	if (nxt==images.length) nxt=0;
	var prv=cur-1;
	if (prv==-1) prv=images.length-1;
	
	if(!images[cur].loaded) images[cur].loadImage();
	if(!images[nxt].loaded) images[nxt].loadImage();
	if(!images[prv].loaded) images[prv].loadImage();
} 

function loadThumbs() {
	 for (var x=0; x<images.length; x++) {
                var i=cp*20+x;
                var url=sself+"?p="
                url+=(mode==2)?"vgaleria":"galeria";
                url+="&amp;g="+curgal+"&amp;pic="+images[x].id;

                thumbs.innerHTML+='<a href="'+url+'" onclick="return changeImage('+x+');"><img id="thmb'+x+'" class="thumb" src="'+images[x].thumb+'" onmouseover="changeOpacity(90,this.id);" onmouseout="changeOpacity(100,this.id);" alt="'+images[x].text+'" title="'+images[x].text+'" /></a>';

        }
}

function changeOpacity(opacity, id) {
	var object = document.getElementById(id).style;
	object.opacity = (opacity / 100);
	object.MozOpacity = (opacity / 100);
	object.KhtmlOpacity = (opacity / 100);
	object.filter = "alpha(opacity=" + opacity + ")";
}

function slideShow() {
	if(slideshow==0) {
		if (mode==2) return;
		slideshow=1;
		document.getElementById('slidestartstop').src="/images/gallery/pause.gif";
		document.getElementById('slidestartstop').alt="stop";
		slideshowtimer=setTimeout("nextImage()",slideshowtime);
	} else {
		slideshow=0;
		document.getElementById('slidestartstop').src="/images/gallery/play.gif";
		document.getElementById('slidestartstop').alt="start";
		clearTimeout(slideshowtimer);
	}
}

function ipreload(img) {
	preimg=new Image();
	preimg.src=img;
}

function fadeIn(eid) {
	fade(eid,1);
}

function fadeOut(eid) {
	fade(eid,-1);
}

function fade(eid,direction) {
	var element = document.getElementById(eid);
	if(element == null)
		return;
	element.FadeTimeLeft = TimeToFade;
	if(direction == 1) element.style.display = 'block';
	setTimeout("animateFade(" + new Date().getTime() + ",'" + eid + "', " + direction + ")", 33);
}

function animateFade(lastTick, eid, direction) { 
	var curTick = new Date().getTime();
	var elapsedTicks = curTick - lastTick;
	var element = document.getElementById(eid);
 
	if(element.FadeTimeLeft <= elapsedTicks) {
		element.style.opacity = direction == 1 ? '1' : '0';
		element.style.KhtmlOpacity = direction == 1 ? '1' : '0';
		element.style.filter = 'alpha(opacity=' + (direction == 1 ? '100' : '0') + ')';
		//element.FadeState = direction == 1 ? 2 : -2;
		
		if (direction == -1) element.style.display = 'none';
		if (typeof(element.AfterFade)!='undefined') element.AfterFade();
		return;
	}

	element.FadeTimeLeft -= elapsedTicks;
	var newOpVal = element.FadeTimeLeft/TimeToFade;
	if(direction == 1)
		newOpVal = 1 - newOpVal;

	element.style.opacity = newOpVal;
	element.style.MozOpacity = newOpVal;
	element.style.KhtmlOpacity = newOpVal;
	element.style.filter = 'alpha(opacity = ' + (newOpVal*100) + ')';
	setTimeout("animateFade(" + curTick + ",'" + eid + "', " + direction +")", 33);
}

function galResize(eid,nw,mode) {
	var element = document.getElementById(eid);
	if(element == null)
		return;
	element.ResizeTimeLeft = TimeToResize;
	var ow = element.width;
	var oh = element.height;
	var nh = (oh/ow)*nw;
	setTimeout("animateResize(" + new Date().getTime() + ",'" + eid + "',"+ow+","+oh+","+nw+","+nh+")", 33);
	
}

function animateResize(lastTick, eid, ow,oh,nw,nh) { 
	var curTick = new Date().getTime();
	var elapsedTicks = curTick - lastTick;
	var element = document.getElementById(eid);
 
	if(element.ResizeTimeLeft <= elapsedTicks) {
		element.width = nw;
		element.height = nh;
		if (typeof(element.AfterResize)!='undefined') element.AfterResize();
		
		return;
	}

	element.ResizeTimeLeft -= elapsedTicks;
	var newWidth = ow + (nw - ow)*((TimeToResize-element.ResizeTimeLeft)/TimeToResize);
	var newHeight = oh + (nh - oh)*((TimeToResize-element.ResizeTimeLeft)/TimeToResize);

	element.width = newWidth;
	element.height = newHeight;
	center(eid,newWidth,newHeight);
	setTimeout("animateResize(" + curTick + ",'" + eid + "',"+ow+","+oh+","+nw+","+nh+")", 33);
}

function getPlayer(gid) {
        if(navigator.appName.indexOf("Microsoft") != -1) {
                return window[gid];
        } else {
                return document[gid];
        }
}

function videoLoad(id) {
        var obj = {file: images[id].file, image: images[id].thumb2 }; 
        player.sendEvent("STOP");
        player.sendEvent("LOAD",obj);
//        player.sendEvent("PLAY","true");
}
 
function playerReady(obj) {
	player = document.getElementById('lbvideo');
}

// lb
function overlayReload()
{
		if (window.innerHeight && window.scrollMaxY>=0 || window.innerWidth && window.scrollMaxX>=0) {
                yScroll = window.innerHeight + window.scrollMaxY;
                xScroll = window.innerWidth + window.scrollMaxX;
                var deff = document.documentElement;
                var wff = (deff&&deff.clientWidth) || document.body.clientWidth || window.innerWidth || self.innerWidth;
                var hff = (deff&&deff.clientHeight) || document.body.clientHeight || window.innerHeight || self.innerHeight;
                xScroll -= (window.innerWidth - wff);
                yScroll -= (window.innerHeight - hff);

        } else if (document.body.scrollHeight > document.body.offsetHeight || document.body.scrollWidth > document.body.offsetWidth){ // all but Explorer Mac
                yScroll = document.body.scrollHeight;
                xScroll = document.body.scrollWidth;
        } else { // Explorer Mac... Explorer 6 Strict, Mozilla, Safari
                yScroll = document.body.offsetHeight;
                xScroll = document.body.offsetWidth;
        }
        olay=document.getElementById('overlay');
        /*var pagesize = getPageSize();
        if(pagesize[1]>yScroll) yScroll=pagesize[1];
        if(pagesize[0]>xScroll) xScroll=pagesize[0];*/
        olay.style.height = yScroll +'px';
        olay.style.width = xScroll +'px';
}

function center(windowname, fwidth, fheight) {
        var successWin = document.getElementById(windowname);
        var pagesize = getPageSize();
        var arrayPageScroll = getPageScrollTop();
        lbtop = (arrayPageScroll[1] + (pagesize[1] - fheight)/3);
        lbleft = (arrayPageScroll[0] + (pagesize[0] - fwidth)/2);
        successWin.style.top = (lbtop < 0) ? "0px" : lbtop + "px";
        successWin.style.left = (lbleft < 0) ? "0px" : lbleft + "px";
}

function getcenter(fwidth,fheight) {
	  var pagesize = getPageSize();
	  var arrayPageScroll = getPageScrollTop();
	  lbtop = (arrayPageScroll[1] + (pagesize[1] - fheight)/3);
	  lbleft = (arrayPageScroll[0] + (pagesize[0] - fwidth)/2);
	  var t = (lbtop < 0) ? "0" : lbtop;
	  var l = (lbleft < 0) ? "0" : lbleft;
	  return [t,l];
}

function getPageSize(){
        var de = document.documentElement;
        var w = window.innerWidth || self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth;
        var h = window.innerHeight || self.innerHeight || (de&&de.clientHeight) || document.body.clientHeight
        arrayPageSize = new Array(w,h)
        return arrayPageSize;
}

function getPageScrollTop(){
        var yScrolltop;
        var xScrollleft;
        if (self.pageYOffset || self.pageXOffset) {
                yScrolltop = self.pageYOffset;
                xScrollleft = self.pageXOffset;
        } else if (document.documentElement && document.documentElement.scrollTop || document.documentElement.scrollLeft ){     // Explorer 6 Strict
                yScrolltop = document.documentElement.scrollTop;
                xScrollleft = document.documentElement.scrollLeft;
        } else if (document.body) {// all other Explorers
                yScrolltop = document.body.scrollTop;
                xScrollleft = document.body.scrollLeft;
        }
        arrayPageScroll = new Array(xScrollleft,yScrolltop)
        return arrayPageScroll;
}


function getImageSizes(xsize,ysize,maxx,maxy) {
	if(xsize>maxx || ysize>maxy) {
		var ax=xsize/maxx;
		var ay=ysize/maxy;
	
		var direction=1;
		if (ay>ax) direction=0;

		if (direction) {
			xsize=Math.floor(xsize/ax);
			ysize=Math.floor(ysize/ax);
		} else {
			xsize=Math.floor(xsize/ay);
			ysize=Math.floor(ysize/ay);
		}
	}
	return [xsize,ysize];
}

function showHideFlash(s) {
	var elemse = document.getElementsByTagName('embed');
	var elemso = document.getElementsByTagName('object');
	var elemss = document.getElementsByTagName('select');
	for(var i=0;i<elemse.length;i++) {
		elemse[i].style.visibility = (s)?'visible':'hidden';
	}
	for(var i=0;i<elemso.length;i++) {
		elemso[i].style.visibility = (s)?'visible':'hidden';
	}
	for(var i=0;i<elemss.length;i++) {
		elemss[i].style.visibility = (s)?'visible':'hidden';
	}
}

DDSDialog = function() {
	var dialogopen = 0;
	var elem = null;
	var parent = null;
	var dialog = null;
	var title = null;
	var content = null;
	var close = null;
	var error = null;
	this.width = "500";
	this.boxname = "";
	this.onInit = null;
	this.onClose = null;
	
	this.init = function(id,t,box,w) {
	
		dialog = document.getElementById('dds_dialog');
		title = document.getElementById('dds_dialog_title');
		content = document.getElementById('dds_dialog_content');
		close = document.getElementById('dds_dialog_close');
		error = document.getElementById('dds_dialog_error');
		
		this.reset();
		
		/*var dia = this;
		close.onclick= function() {
			dia.hide();
		}*/
		elem = document.getElementById(id);
		if(!elem) return;
		parent = elem.parentNode;
		var cont = parent.removeChild(elem);
		content.appendChild(cont);
		cont.style.display = '';
		title.innerHTML = t;
		if(box) this.boxname = box;
		if(w) this.width = w;
		this.show();
		if(typeof(this.onInit) == "function") {
			this.onInit();
			this.onInit=null;
		}
		
	}
	this.show = function() {
		dialog.style.width=this.width+'px';
		dialog.style.display='';
		showItem('overlay');
		center('dds_dialog',this.width,dialog.offsetHeight);
		/*var t = dialog.style.top;
		dialog.style.top="-600px";
		content.style.visibility='hidden';
		dialog.postAction= function () {
			content.style.visibility='visible';
		}
		DDSanim.animate('dds_dialog',{"top":[parseInt(t),"easeOutSine"]},500);*/
		overlayReload();
		window.onresize=overlayReload;
		showHideFlash();
		this.dialogopen = 1;
	}
	this.hide = function() {
		if(typeof(this.onClose) == "function") {
			this.onClose();
			this.onClose=null;
		}
		if(this.boxname) {
			ajax_reload(this.boxname);
		} else {
			var cont = elem;
			if(elem.parentNode) cont = elem.parentNode.removeChild(elem);
			parent.appendChild(cont);
			cont.style.display = 'none';
		}
		showHideFlash(1);
		dialog.style.display='none';
		hideItem('overlay');
		window.onresize="";
		this.dialogopen = 0;
	}
	this.close = function() {
		this.hide();
	}
	this.setTitle = function(t) {
		title.innerHTML = t;
	}
	this.setError = function(t) {
		error.innerHTML = t;
		error.style.display = (t=="")?'none':'';
	}
	this.setContent = function(t) {
		content.innerHTML = t;
	}

	this.reset = function() {
		dialogopen = 0;
		this.setTitle("");
		this.setContent("");
		this.setError("");
		this.boxname = "";
		this.width='500';
	}
}

DDSDialog = new DDSDialog();
