
if (this.wm) document.write('<link href="'+wm.url('styles/website.css')+'" rel="stylesheet" type="text/css">');

function dlayer(name)
{
	var t=this;
	t.name		= name;
	t.x		= 40;
	t.y		= 40;
	t.w		= 300;
	t.h		= 230;
	t.move		= 20;
	t.dir		= 'left';
	t.speed		= 1;
	t.wait		= 10;
	t.style		= 'dlayer';
	t.mBgc		= 'red';
	t.mCols		= 1;
	t.bWidth	= 20;
	t.bHeight	= 20;
	t.bText		= '';
	t.bBgc		= 'white';
	t.bAlign	= 'center';
	t.bFFamily	= '';
	t.bFSize	= '2';
	t.bFColor	= 'white';
	t.scroll	= '1';
	t.show		= 1;
	return this;
}

SFR = (navigator.appVersion.indexOf('Safari')!=-1);
NS6 = (document.getElementById&&!document.all)
IE = (document.all)
NS = (navigator.appName=="Netscape" && navigator.appVersion.charAt(0)=="4")

var _layers = new Array();
function setPos(lyr)
{
	var dir = lyr.dir;
	var op = '';
	switch (dir) {
		case 'left'   : dir='left'; op='< 0';cl='>-'+lyr.w;break;
		case 'right'  : dir='left'; op='<'+lyr.w;cl='>'+0;break;
		case 'top'    : dir='top'; op='<0';cl='>-'+lyr.h;break;
		case 'bottom' : dir='top'; op='<lyr.h';cl='>0';break;
		default: return;
	}
	lyr._dir = dir;
	lyr._op = op;
	lyr._cl = cl;
}

function getLayer(name){return _layers[name]}
function setLayer(name, lyr){setPos(lyr); _layers[name] = lyr}

var pos_opp = new Array();
pos_opp['!right'] = 'left';
pos_opp['!left']  = 'right';
pos_opp['!top']   = 'bottom';
pos_opp['!bottom']= 'top';

function slide(lyr, opp)
{
	var move = opp?(-lyr.move):lyr.move;
	var str = 'lyr.SSM.style.'+lyr._dir;
	eval(str+'=parseInt('+str+')+'+move);
}

function mouseClick(name)
{
	var lyr = getLayer(name);
	if (lyr.show) moveBack(name, lyr.wait);
	else moveOut(name);
	lyr.show = !lyr.show;
}

var cstyle;
function mouseMove(evt)
{
	if (!cstyle) return;
        if (this.event) eventObj=event;
	if (evt) eventObj=evt;
	if (cstyle.left) {
		cstyle.left = (eventObj.clientX - cstyle.mLeft);
		cstyle.top = (eventObj.clientY - cstyle.mTop);
	}
}

function mouseDown(name, evt)
{
        div = getpElement('b'+name);
        cstyle = div.style;
        if (this.event) eventObj=event;
	if (evt) eventObj=evt;
	if (eventObj) {
                cstyle.mLeft=eventObj.clientX-div.offsetLeft;
                cstyle.mTop=eventObj.clientY-div.offsetTop;
	}
	document.onmousemove = mouseMove;
}

function mouseUp()
{
	cstyle = null;
	document.onmousemove=null;
}

function dw(s){document.write(s)}

function moveOut(name) {
	var lyr = getLayer(name);
	if (lyr.prev) moveOut(lyr.prev.name);
	if (eval('parseInt(lyr.SSM.style.'+lyr._dir+')'+lyr._op)) {
		clearTimeout(lyr.moving);
		lyr.moving = setTimeout('moveOut("'+name+'")', lyr.speed);
		slide(lyr, 0);
	} else {
		clearTimeout(lyr.moving);
		lyr.moving = setTimeout("null", 1);
	}
}

function moveBack(name, wait) {
	var lyr = getLayer(name);
	if (lyr.next) moveBack(lyr.next.name);
	clearTimeout(lyr.moving);
	lyr.moving = setTimeout('moveBack1("'+name+'")', wait);
}

function moveBack1(name) {
	var lyr = getLayer(name);
	var mw  = lyr.w;
	var left = parseInt(lyr.SSM.style.left);

	if (eval('parseInt(lyr.SSM.style.'+lyr._dir+')'+lyr._cl)) {
		clearTimeout(lyr.moving);
		lyr.moving = setTimeout('moveBack1("'+name+'")', lyr.speed);
		slide(lyr, 1);
	} else {
		clearTimeout(lyr.moving);
		lyr.moving = setTimeout("null", 1);
	}
}

function rpl(s,k,v,g){
	var i=s.indexOf(k);
	if (i==-1) return s;
	s=s.substring(0,i)+v+s.substring(i+k.length, s.length);
	return g?rpl(s,k,v,g):s;
}

function getpElement(name, obj)
{
return document.getElementById(name);
}

function getEStyle(name, obj)
{
	var o = getpElement(name, obj);
	o = (o&&o.style)?o.style:o;
	
	if (o) {
		var obj = new Object();
		obj.style   = o;
		obj.visible = new Function('this.style.visibility=NS?"show":"visible"');
		obj.hidden  = new Function('this.style.visibility=NS?"hide":"hidden"');
	}

	return obj;
}

function initSlide(lyr) {
	var name = lyr.name;
	var bssm = lyr.BSSM = getEStyle('b'+name);
	var tssm = lyr.TSSM = getEStyle('t'+name, bssm);
	var ssm  = lyr.SSM  = getEStyle(name, tssm);
	var se = getpElement(name);

	bssm.style.clip = "rect(0 "+se.offsetWidth+" "+se.offsetHeight+" 0)";

	lyr.visible = new Function('tmp=(IE||SFR)?this.BSSM:this.SSM;tmp.visible()');
	lyr.hidden  = new Function('tmp=(IE||SFR)?this.BSSM:this.SSM;tmp.hidden()');

	lyr.caption = new Function('x','if(a=getpElement("bt_"+this.name)) {a.innerHTML=""; a.innerHTML="<a href=javascript:mouseClick(\'"+this.name+"\')>"+x+"</a>";}');
	lyr.fn_move = new Function('mouseClick(this.name)');
	lyr.moving  = setTimeout('null', 1);

	if (lyr.dir=='right'||lyr.dir=='bottom') lyr.show = !lyr.show
	setLayer(name, lyr);
}

// ----------------------------------------------------------------------
// Function to build Visible layer
// ----------------------------------------------------------------------

function buildBar(lyr) {
	var tb = lyr.bText;
	var str = '_TR_<td _TD_PROP_ _MDOWN_ _MUP_>';
	var tdbt='_TEXT_';
	var tdclose='<input type=button sf:object="Button" class=Button value="X" onClick="document.cf_popup.hidden()"  class="Button">';
	if (lyr.dir=='left'||lyr.dir=='right') { 
		str+=tdclose+"<br>"+tdbt;
	} else {
		str+="<table width=100% border=0 cellpaddin=0 cellspacing=0><tr><td align=center>"+tdbt+"</td><td align=right>"+tdclose+"</td></tr></table>";
	}
	
	str+='</td>_ETR_';

	var tr = td = tp = '';
	if (lyr.dir=='left'||lyr.dir=='right') {
		tp = 'rowspan=100 width='+lyr.bWidth+' valign="top" sf:object="FavoritesMaster" class="FavoritesMaster"';
		if (tb.indexOf('<IMG')==-1) 
			for (b=0,tb=''; b<lyr.bText.length; b++) tb+=lyr.bText.charAt(b)+'<BR>';
	} else {
		tp = 'align=center height='+lyr.bHeight;
		tr = '<tr colspan=100 sf:object="FavoritesMaster" class="FavoritesMaster">'
	}

	var text = '<b>'+tb+'</b>';
	if (lyr.speed) text = '<a style="" href="javascript:mouseClick(\''+lyr.name+'\')">'+text+'</a>';
	str = rpl(str, '_TR_', tr);
	str = rpl(str, '_TD_PROP_', tp);
	str = rpl(str, '_TEXT_','<div id="bt_'+lyr.name+'">'+ text+'</div>');
	str = rpl(str, '_MDOWN_', 'onmousedown=mouseDown("'+lyr.name+'",event)');
	str = rpl(str, '_MUP_', 'onmouseup=mouseUp("'+lyr.name+'")');
	str = rpl(str, '_ETR_', tr?'</tr>':'');
	return str;
}

function bldBgn(lyr,n)
{
	var name = lyr.name;
	var temp = 't'+name;
	var base = 'b'+name;
	var left = lyr.show?0:(-(lyr.w+2));

	if (IE||NS6||SFR) {
		dw(	'<div id="'+base+'" '+
			'style="visibility:hidden'+
				';Position:Absolute'+
				';Z-Index:99;'+
				';Left:'+lyr.x+
				';Top:'+lyr.y+
				';width:'+(lyr.w+lyr.bWidth)+
				'" '+
			'>'
		);
		dw('<div class=PopupWindow id="'+name+'" '+
			'class=base '+
			'style="Position:Absolute'+
				';Left:'+left+
				';Top:0'+
				';Z-Index:99'+
			'">'
		);
	}
	var w = lyr.w;
	if (lyr.dir=='left'||lyr.dir=='right') w += lyr.bWidth;
	if (!NS) dw('<table border="0" cellpadding="0" cellspacing="0" width="'+w+'" heigth="'+lyr.h+'" class="PopupFrame"><TR><TD>');
}

function bldEnd()
{
	if (!NS) dw("</TD></TR></TABLE>");
	if (IE||NS6||SFR) dw("</DIV></DIV>");
}

function buildMenu(lyr, fn, arg, prev, next) {
	s = lyr.style?' class="'+lyr.style+'"':'';
	h = lyr.h?' height="'+lyr.h+'"':'';
	var scr		= lyr.scroll;
	if (scr) scr	= ' overflow:auto;style="height='+(lyr.h-2)+'"';
	var dir		= lyr.dir;

	bldBgn(lyr);
	dw('<table cellpadding=0 cellspacing=1 border=0 width="100%">');
	if (dir=='right'||dir=='bottom') dw(buildBar(lyr))
	dw('<tr><td width="100%"'+h+s+' valign=top>');
	dw('<div id="cnt_'+lyr.name+'"'+scr+'>');
	dw((fn && typeof(fn)=='function')?fn(arg):fn);
	dw('</div>');
	if (dir=='left'||dir=='top') dw(buildBar(lyr))
	dw('</table>');
	bldEnd();
	initSlide(lyr)
	if (prev) {
		lyr.prev = prev;
		prev.next= lyr;
	}
	if (next) {
		lyr.next = next;
		next.prev= lyr;
	}
}

function bldPopup(caption,url,x,y,w,h,dir,speed)
{
	var pu = new dlayer('popup');
	var body = document.body;
	pu.w = w?w:400
	pu.h = h?h:214;
	pu.x = x?x:parseInt((findWindowWidth()-pu.w)/2); pu.x+=findScrollWidth();
	pu.y = y?y:parseInt((findWindowHeight()-pu.h)/2); pu.y+=findScrollHeight();
	pu.dir = (dir)?dir:'bottom';
	pu.speed = (speed)?speed:0
	var swh = 'name="il_'+pu.name+'" src="'+url+'" width='+(pu.w-4)+' height='+(pu.h-4)
	pu.content = '<iframe frameborder=0 '+swh+' scrolling=no></iframe>'
	pu.bText=caption;
	buildMenu(pu, pu.content);
	pu.hidden();
	pu.reload = new Function('x','y','this.x = x?x:parseInt((findWindowWidth()-this.w)/2); this.x+=findScrollWidth(); this.y=y?y:parseInt((findWindowHeight()-this.h)/2);this.y+=findScrollHeight();getpElement("b"+this.name).style.top=this.y;getpElement("b"+this.name).style.left=this.x;getpElement("cnt_"+this.name).innerHTML=this.content;');

//	pu.reload = new Function('il_'+pu.name+'.location.reload()');
	return pu;
}

// $Revision: 11 $
// $Archive: /ShopFactory_V6/Common Files/parseLang/layer.js $ 