// 2007/09/29 making NSK k.matsuda
var loadingwait = function() { this.initialize.apply(this,arguments); };
loadingwait.prototype = {
	'initialize' : function()
	{
		this.element    = new Object();
		this.ov_element = new Object();
	},
	'use' : function(elementname)
	{
		if(this.element[elementname] == undefined) return false; else return true;
	},
	'add' : function(elementname,disp,classname,alpha)
	{
		if(disp == undefined) { disp = 0; }
		if(classname == undefined) { classname = 'loading_wait1'; }
		if(alpha == undefined) { alpha = 0.5; }

		if(!this.use(elementname))
		{
			this.element[elementname] = document.getElementById(elementname);
			this.ov_element[elementname] = document.createElement('div');
			this.ov_element[elementname].style.display  = 'none';
			this.ov_element[elementname].style.position = 'absolute';
		}


		var e = this.ov_element[elementname];
		// this.element[elementname].offsetParent.appendChild(e);
		(this.element[elementname] || document.body).offsetParent.appendChild(e);

		e.style.left     = this.element[elementname].offsetLeft+'px';
		e.style.top      = this.element[elementname].offsetTop+'px';
		e.style.width    = this.element[elementname].offsetWidth+'px';
		e.style.height   = this.element[elementname].offsetHeight+'px';

		this.changeclass(elementname,classname);
		this.changealpha(elementname,alpha);

		if(disp) { this.show(elementname); }
	},
	'show' : function(elementname,classname,alpha)
	{
		if(this.use(elementname))
		{
			this.changeclass(elementname,classname);
			this.changealpha(elementname,alpha);
			this.ov_element[elementname].style.display  = 'inline';
		}
		else
		{
			this.add(elementname,1,classname,alpha);
		}
	},
	'hide' : function(elementname)
	{
		if(this.use(elementname))
		{
			this.ov_element[elementname].style.display  = 'none';
		}
	},
	'changeclass' : function(elementname,classname)
	{
		if(this.use(elementname))
		{
			if(classname != undefined) this.ov_element[elementname].className = classname;
		}
	},
	'changealpha' : function(elementname,alpha)
	{
		if(this.use(elementname))
		{
			if(alpha != undefined)
			{
				var e = this.ov_element[elementname];
				try { e.style.filter = 'alpha(opacity='+Math.round(alpha * 100)+')';} catch(e) {};
				try { e.style.opacity      = alpha; } catch(e) {}
				try { e.style.MozOpacity   = alpha; } catch(e) {}
				try { e.style.KhtmlOpacity = alpha; } catch(e) {}
			}
		}
	},
	'delayhide' : function(elementname,wait)
	{
		if(wait == undefined) { wait = 3; }
		wait = wait * 1000;

		if(this.use(elementname))
		{
			var selfthis = this;
			window.setTimeout((function(){selfthis.hide.apply(selfthis,[elementname]);}),wait);
		}
	}

/*
,
	'drop' : function(elementname)
	{
		if(this.use(elementname))
		{
			this.element[elementname].parentNode.removeChild(this.ov_element);
			delete this.ov_element[elementname];
			delete this.element[elementname];
		}
	}
*/



};

//
var LoadingWait = new loadingwait();


