//Dynamic HTML API
//Copy right Sumit Thomas aka SavageKid

////////////////// Scanning the Browser //////////////////////////////
function browserScan()
{
	this.version=parseInt(navigator.appVersion);
	this.agent = navigator.userAgent.toLowerCase();
	this.dom=document.getElementById?true:false;
	this.op=(this.agent.indexOf("opera") != -1) && this.dom
	this.ie=(this.agent.indexOf("msie") !=-1 && !this.op)?true:false;
	this.ie4=(this.ie && this.version>=4 && !this.dom)?true:false;
	this.ie5=(this.ie && this.dom)?true:false;
	this.ns=((this.agent.indexOf('mozilla')!=-1) && ((this.agent.indexOf('spoofer')==-1) && (this.agent.indexOf('compatible') == -1)));
	this.ns4=(this.ns && this.version>=4 && !this.dom)?true:false;
	this.ns5=(this.ns && this.version<6 && this.dom) ?true:false;
	
}

var brw=new browserScan();

//////////////////// End of BrowserScan //////////////////////////

function docStat()
{
this.w=brw.ie && document.body.offsetWidth-5 || innerWidth || 0;
this.h=brw.ie && document.body.offsetHeight-5 || innerHeight || 0;
}


//////////////////// DOM Switches ////////////////////////////////

doc=(brw.ns4)?"document.layers['":(brw.ie4)?"document.all['":(brw.dom || brw.op)?"document.getElementById('":""
sty=(brw.ns4)?"']":(brw.ie4)?"'].style":(brw.dom || brw.op)?"').style":""
htm=(brw.ns4)?"']":(brw.ie4)?"']":(brw.dom || brw.op)?"')":""

///////////////////////////////////////////////////////////////////

function divObj(name,nest)
{
this.sty=(brw.ie4 || brw.dom)?eval(doc+name+sty):(nest)?eval(doc+nest+sty+"."+doc+name+sty):eval(doc+name+sty);
this.htm=(brw.ie4 || brw.dom)?eval(doc+name+htm):(nest)?eval(doc+nest+htm+"."+doc+name+htm):eval(doc+name+htm);
this.ext=(brw.ns4)?this.htm.document:document;

this.x=this.sty.left||this.sty.pixelLeft||this.htm.offsetLeft||0;
this.y=this.sty.top||this.sty.pixelTop||this.htm.offsetTop||0;
this.w=this.ext.width||this.htm.offsetWidth||this.sty.pixelWidth||0;
this.h=this.ext.height||this.htm.offsetHeight||this.sty.pixelHeight||0;
var clipv=0;
if((brw.ie || brw.dom) && this.sty.clip)clipv =this.sty.clip.split("rect(")[1].split(")")[0].split("px");
this.ct=this.sty.clip.top || clipv[0] || 0;
this.cr=this.w || this.sty.clip.right || clipv[1] || 0;
this.cb=this.h || this.sty.clip.bottom || clipv[2] || 0;
this.cl=this.sty.clip.left || clipv[3] || 0;
this.show=showDiv;this.hide=hideDiv;
this.bgcolor=changeBg;this.write=writeDiv;
this.moveto=moveTo;this.moveby=moveBy;
this.clipto=clipTo;this.clipby=clipBy;
this.index=changeIndex;
this.obj=divObj+'Obj';eval(this.obj+"=this");
}

function showDiv(){this.sty.visibility='visible';}
function hideDiv(){this.sty.visibility='hidden';}
function changeBg(color)
{
if(brw.ns4){this.sty.bgColor=color;}
else{this.sty.backgroundColor=color;}
}
function writeDiv(value)
{
if(brw.ns4){this.ext.open();this.ext.write(value);this.ext.close();}
else{this.htm.innerHTML=value;}
}
function moveTo(x,y){ this.x=x;this.y=y;this.sty.left=x;this.sty.top=y}
function moveBy(x,y){this.moveto(parseInt(this.x+x),parseInt(this.y+y));}
function clipTo(t,r,b,l){
this.ct=t;this.cr=r;this.cb=b;this.cl=l;
if(brw.ns4){this.sty.clip.left=l;this.sty.clip.top=t;this.sty.clip.right=r;this.sty.clip.bottom=b;}
else{this.sty.clip="rect("+t+","+r+","+b+","+l+")"}
}
function clipBy(t,r,b,l){this.clipto(this.ct+t,this.cr+r,this.cb+b,this.cl+l)}
function changeIndex(index){this.sty.zIndex=index;}

/////////////////////////////////// The End for now///////////////////////////

