// JavaScript Document

function cursor_position(e) {
    e = e || window.event;
    var cursor = {x:0, y:0};
    if (e.pageX || e.pageY) {
        cursor.x = e.pageX;
        cursor.y = e.pageY;
    } 
    else {
        var de = document.documentElement;
        var b = document.body;
        cursor.x = e.clientX + 
            (de.scrollLeft || b.scrollLeft) - (de.clientLeft || 0);
        cursor.y = e.clientY + 
            (de.scrollTop || b.scrollTop) - (de.clientTop || 0);
    }
    return cursor;
}

function object_properties(obj){
	var block = new Object;
	block.w = block.h = block.x = block.y = block.ox = block.oy = 0;
	block.w = parseInt(obj.offsetWidth);
	block.h = parseInt(obj.offsetHeight);
	block.x = block.y = 0;
	if (obj.offsetParent) {
		do {
			block.x += obj.offsetLeft;
			block.y += obj.offsetTop;
		} while (obj = obj.offsetParent);
	}
	//Offset values
	if( typeof( window.pageYOffset ) == 'number' ) {//Netscape compliant
		block.oy = window.pageYOffset;
		block.ox = window.pageXOffset;
    } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {//DOM compliant
		block.oy = document.body.scrollTop;
		block.ox = document.body.scrollLeft;
    } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {//IE6 standards compliant mode
		block.oy = document.documentElement.scrollTop;
		block.ox = document.documentElement.scrollLeft;
    }
	//alert(block.w);alert(block.h); alert(block.x);alert(block.y);alert(block.ox); alert(block.oy);
	return block;
}

function window_properties(){
	var win = new Object;
	win.w = win.h = win.x = win.y = win.ox = win.oy = 0;
	if (window.innerHeight){
		win.h = parseInt(window.innerHeight);
		win.w = parseInt(window.innerWidth);
	} else {
		win.h = parseInt(document.documentElement.offsetHeight);
		win.w = parseInt(document.documentElement.offsetWidth);
	}
	//the window always starts at 0,0
	win.x = 0;
	win.y = 0;
	
	//total height
	win.th=Math.max(document.documentElement.scrollHeight,document.documentElement.offsetHeight);
	win.tw=Math.max(document.documentElement.scrollWidth,document.documentElement.offsetWidth);

	//Offset values
	if( typeof( window.pageYOffset ) == 'number' ) {//Netscape compliant
		win.oy = window.pageYOffset;
		win.ox = window.pageXOffset;
    } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {//DOM compliant
		win.oy = document.body.scrollTop;
		win.ox = document.body.scrollLeft;
    } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {//IE6 standards compliant mode
		win.oy = document.documentElement.scrollTop;
		win.ox = document.documentElement.scrollLeft;
    }
	//alert(win.w);alert(win.h); alert(win.x);alert(win.y);alert(win.ox); alert(win.oy);
	return win;
}

function removeDOM(obj){
	if (typeof(obj)=='string'){obj = document.getElementById(obj);}
	if (obj){
		obj.parentNode.removeChild(obj);
	}
}

function maximize_z(obj){//can also return the object with the max z
	var all_obj = document.getElementsByTagName("*");
	var max_z=1;
	var max_z_obj = null;
	var this_z=0;
	for(var i=0;i<all_obj.length;i++){
		this_z=parseInt(get_style(all_obj[i],'z-index')); //NOTE: Some browsers error if using obj.style.zIndex numbers above 100. so we use get_style
		if (this_z>max_z){
			max_z_obj = all_obj[i];
			max_z=this_z;
		}
	}
	if (obj==null){return max_z_obj;};
	if (typeof(obj)=='string'){obj=document.getElementById(obj);}
	if (max_z_obj==obj){return;}
	obj.style.zIndex=(parseInt(max_z)+2)+'';
}


