function mstd_getObjectPtr(id)
{
	var obj_ptr = null;
	if(document.getElementById)
	{
		obj_ptr = document.getElementById(id);
	}
	else
	{
		if(document.all)
		{
			obj_ptr = document.all[id];
		}
	}
	
	return obj_ptr;
}

function mstd_getSWidth(obj_ptr)
{
	if(!obj_ptr) return 0;
	swidth = 0;
	sw = obj_ptr.style.width;
	if(sw.length)
	{
		swidth = parseInt(sw.substr(0,sw.indexOf('px')));
	}
	return swidth;
}

function mstd_getSHeight(obj_ptr)
{
	var sheight = 0;
	var sh = obj_ptr.style.height;
	if(sh.length)
	{
		sheight = parseInt(sh.substr(0,sh.indexOf('px')));
	}
	return sheight;
}

function mstd_getSTop(obj_ptr)
{
	var stop = 0;
	var st = obj_ptr.style.top;
	if(st.length)
	{
		stop = parseInt(st.substr(0,st.indexOf('px')));
	}
	return stop;
}

function mstd_getSLeft(obj_ptr)
{
	var sleft = 0;
	var sl = obj_ptr.style.left;
	if(sl.length)
	{
		sleft = parseInt(sl.substr(0,sl.indexOf('px')));
	}
	return sleft;
}

function mstd_getAbsTop(obj_ptr)
{
	var curtop = 0;
	if (obj_ptr.offsetParent)
	{
		while (obj_ptr.offsetParent)
		{
			curtop += obj_ptr.offsetTop
			obj_ptr = obj_ptr.offsetParent;
		}
	}
	else if (obj_ptr.y)
		curtop += obj_ptr.y;
	
  return curtop;
}

function mstd_getAbsLeft(obj_ptr)
{
	var curleft = 0;
	if (obj_ptr.offsetParent)
	{
		while (obj_ptr.offsetParent)
		{
			curleft += obj_ptr.offsetLeft
			obj_ptr = obj_ptr.offsetParent;
		}
	}
	else if (obj_ptr.x)
		curleft += obj_ptr.x;
	return curleft;
}

function mstd_getSMarginTop(obj_ptr)
{
	var mt = 0;
	l = obj_ptr.style.marginTop;
	mt = parseInt(l.substr(0,l.indexOf('px')));
	return mt;
}

function mstd_getSMarginRight(obj_ptr)
{
	var mr = 0;
	l = obj_ptr.style.marginRight;
	mr = parseInt(l.substr(0,l.indexOf('px')));
	return mr;
}

function mstd_getSMarginBottom(obj_ptr)
{
	var mb = 0;
	l = obj_ptr.style.marginBottom;
	mb = parseInt(l.substr(0,l.indexOf('px')));
	return mb;
}

function mstd_getSMarginLeft(obj_ptr)
{
	var ml = 0;
	l = obj_ptr.style.marginLeft;
	ml = parseInt(l.substr(0,l.indexOf('px')));
	return ml;
}

function mstd_setSMargins(obj_ptr,margin_top,margin_right,margin_bottom,margin_left)
{
	obj_ptr.style.marginTop = margin_top + 'px';
	obj_ptr.style.marginRight = margin_right + 'px';
	obj_ptr.style.marginBottom = margin_bottom + 'px';
	obj_ptr.style.marginLeft = margin_left + 'px';
}

function mstd_getWindowSize()
{

  var w_width = 0, w_height = 0;
  if( typeof( window.innerWidth ) == 'number' ) 
  {
    w_width = window.innerWidth;
    w_height = window.innerHeight;
  } 
  else 
	if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) 
	{
		w_width = document.documentElement.clientWidth;
		w_height = document.documentElement.clientHeight;
		} 
		else 
		if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) 
		{
			w_width = document.body.clientWidth;
			w_height = document.body.clientHeight;
		}
	return [w_width,w_height];
}

function mstd_getWindowScroll() 
{
  var scr_x = 0, scr_y = 0;
  if( typeof( window.pageYOffset ) == 'number' ) 
  {
    scr_y = window.pageYOffset;
    scr_x = window.pageXOffset;
  } 
  else 
	if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) 
	{
		scr_y = document.body.scrollTop;
		scr_x = document.body.scrollLeft;
	} 
	else 
		if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) 
		{
			scr_y = document.documentElement.scrollTop;
			scr_x = document.documentElement.scrollLeft;
		}
  return [ scr_x, scr_y ];
}

var mstd_obj_coll = new Array();

function addObject(obj_ptr)
{
	mstd_obj_coll[mstd_obj_coll.length] = obj_ptr;
}

function getObject(id)
{
	obj_ptr = null;
	
	if(msdt_obj_coll[id]) return msdt_obj_coll[id];
	return obj_ptr;
}


var IE = document.all?true:false
if (!IE) document.captureEvents(Event.MOUSEMOVE)
document.onmousemove = mstd_captureMouseXY;
var tempX = 0
var tempY = 0
function mstd_captureMouseXY(e) {
  if (IE) 
  {
    tempX = event.clientX + document.body.scrollLeft
    tempY = event.clientY + document.body.scrollTop
  } 
  else 
  {
    tempX = e.pageX
    tempY = e.pageY
  }  

  if (tempX < 0){tempX = 0}
  if (tempY < 0){tempY = 0}  
  return true;
}

function mstd_getMousePosition()
{
	return [tempX, tempY];
}

function mstd_getNaturalWidth(image_ptr)
{
	if( image_ptr.naturalWidth ) {
		return image_ptr.naturalWidth;
    } 
	else 
	{
	    lgi = new Image();
	    lgi.src = image_ptr.src;
	    return lgi.width;
	}
}

function mstd_validateEmail(email)
{
	var filter=/^(\w+(?:\.\w+)*)@((?:\w+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	return (filter.test(email) && email.length);
}

var base64s =
 "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";

function encode64(decStr){
  var bits, dual, i = 0, encOut = '';
  while(decStr.length >= i + 3){
    bits =
    (decStr.charCodeAt(i++) & 0xff) <<16 |
    (decStr.charCodeAt(i++) & 0xff) <<8  |
     decStr.charCodeAt(i++) & 0xff;
    encOut +=
     base64s.charAt((bits & 0x00fc0000) >>18) +
     base64s.charAt((bits & 0x0003f000) >>12) +
     base64s.charAt((bits & 0x00000fc0) >> 6) +
     base64s.charAt((bits & 0x0000003f));
    }
  if(decStr.length -i > 0 && decStr.length -i < 3){
    dual = Boolean(decStr.length -i -1);
    bits =
     ((decStr.charCodeAt(i++) & 0xff) <<16) |
     (dual ? (decStr.charCodeAt(i) & 0xff) <<8 : 0);
    encOut +=
      base64s.charAt((bits & 0x00fc0000) >>18) +
      base64s.charAt((bits & 0x0003f000) >>12) +
      (dual ? base64s.charAt((bits & 0x00000fc0) >>6) : '=') +
      '=';
    }
  return encOut
}

function mstd_getWindowRect()
{
	var wscr = mstd_getWindowScroll();
	var wsiz = mstd_getWindowSize();
	
	var rect = new Object();
	rect.top = wscr[1];
	rect.bottom = wscr[1] + wsiz[1];
	rect.left = wscr[0];
	rect.right = wscr[0] + wsiz[0]; 
	return rect;
}

function OBJNAME(n) { return n; }
