//v.28.10.2002 added 1
//v.10.09.2002 added
//v.09.09.2002 added
//v.08.09.2002 added
//v.07.09.2002 added/changed
//v.27.08.2002
function createLayDOM(play,w,h,doc){	
	if(!doc)doc=document;
var nl=doc.createElement("DIV");
	with(nl.style){
		width=w;
		height=h;
		position="absolute";
	}
	return play?play.appendChild(nl):doc.body.appendChild(nl);
}
function clipLayDOM(lobj,sx,sy,w,h){
	lobj.style.clip="rect("+sy+" "+(sx+w)+" "+(sy+h)+" "+sx+")";
}
function createLayNN(play,w,h){
var lobj=play?new Layer(w,play):new Layer(w);
	lobj.visibility="inherit";
	return lobj;
}
function writeLayNN(lobj,msg){
	with(lobj.document){
		open("text/html");
		write(msg);
		close();
	}
}
function clipLayNN(lobj,sx,sy,w,h){
	with(lobj.clip){
		top=sy;
		left=sx;
		bottom=sy+h;
		right=sx+w;
	}
}
function findLayerNN(lname,doc){
var i;
var obj;
	if(!doc)doc=document;
	obj=doc[lname];
	for(i=0;!obj&&i<doc.layers.length;i++)
		obj=findLayerNN(lname,doc.layers[i].document);
	return obj;
}
function _findTAG(tname,iname,doc){
var obj=doc.getElementsByTagName(tname),i;
	for(i=0;i<obj.length;i++){
		if((obj[i].id==iname)||(obj[i].name==iname))return obj[i];
	}
}
function findLayerDOM(lname,doc){
	return _findTAG("DIV",lname,doc?doc:document);
}
function findImageDOM(iname,doc){
	return _findTAG("IMG",iname,doc?doc:document);
}
function findImageNN(iname,doc){
var i,res=0;
	if(!doc)doc=document;
	if(doc.images[iname])return doc.images[iname];
	for(i=0;i<doc.layers.length&&!res;i++){
		res=findImageNN(iname,doc.layers[i].document);
	}
	return res;
}
var fnc_clip=document.layers?clipLayNN:clipLayDOM;
var fnc_create=document.layers?createLayNN:createLayDOM;
var fnc_move=document.layers?new Function("lobj","x","y","lobj.top=y;lobj.left=x;"):new Function("lobj","x","y","with(lobj.style){top=y;left=x};");
var fnc_write=document.layers?writeLayNN:new Function("lobj","msg","lobj.innerHTML=msg;");
var fnc_show=document.layers?new Function("lobj","v","lobj.visibility=v?'show':'hide';"):new Function("lobj","v","lobj.style.visibility=v?'visible':'hidden';");
var fnc_bgimg=document.layers?new Function("lobj","isrc","lobj.background.src=isrc;"):new Function("lobj","isrc","lobj.style.backgroundImage='url('+isrc+')';");
var fnc_bgcolor=document.layers?new Function("lobj","col","lobj.bgColor=col;"):new Function("lobj","col","lobj.style.backgroundColor=col;");
var fnc_getlayer=document.layers?findLayerNN:findLayerDOM;
var fnc_getimage=document.layers?findImageNN:findImageDOM;
var fnc_zindex=document.layer?new Function("lobj","zi","lobj.zIndex=zi;"):new Function("lobj","zi","lobj.style.zIndex=zi;");
function xls_dom_init(){
	//netscape 4.0
	fnc_clip=document.layers?clipLayNN:clipLayDOM;
	fnc_create=document.layers?createLayNN:createLayDOM;
	fnc_write=document.layers?writeLayNN:new Function("lobj","msg","lobj.innerHTML=msg;");
	fnc_getlayer=document.layers?findLayerNN:findLayerDOM;
	fnc_getimage=document.layers?findImageNN:findImageDOM;
}
var _xls_images=new Array;
function xlsPreload(cnt,sts,ssrc,iext){
var i,id,j;
	id=_xls_images.length;
	_xls_images[id]=new Array(cnt);
	sts--;
	for(i=0;i<cnt;i++){
		if(sts){
			_xls_images[id][i]=new Array(sts+1);
			for(j=0;j<sts+1;j++){
				_xls_images[id][i][j]=new Image;
				_xls_images[id][i][j].src=ssrc+i.toString+j.toString+iext;
			}
		}else{
			_xls_images[id][i]=new Image;
			_xls_images[id][i].src=ssrc+i+iext;
		}
	}
	return id;
}
//text header options
var tohf=1;//use font name
var tohs=2;//use font size
var tohc=4;//use font color
var tohw=8;//use font weight
function build_text_hdr(top){
var msg='<span style="';
var arg_id=1;
	if(top&tohf) msg+='font-face:'+arguments[arg_id++]+'; ';
	if(top&tohs) msg+='font-size:'+arguments[arg_id++]+'px; ';
	if(top&tohc)msg+='color:'+arguments[arg_id++]+'; ';
	if(top&tohw)msg+='font-weight:'+arguments[arg_id++]+'; ';
	msg+='">';
	return msg;
}
function xls_point(x,y){
	this.x=x;
	this.y=y;
}
function xls_rect(){
var aid=0;
var obj=arguments[aid++];
	if(typeof(obj)==='object'){
		this.x=obj.x;
		this.y=obj.y;
	}else{
		this.x=obj;
		this.y=arguments[aid++];
	}
	obj=arguments[aid++];
	if(typeof(obj)==='object'){
		this.w=obj.x;
		this.h=obj.y;
	}else{
		this.w=obj;
		this.h=arguments[aid];
	}
}
