
var Browser = new Object();

Browser.isMozilla = (typeof document.implementation != 'undefined') && (typeof document.implementation.createDocument != 'undefined') && (typeof HTMLDocument != 'undefined');
Browser.isIE = window.ActiveXObject ? true : false;
Browser.isFirefox = (navigator.userAgent.toLowerCase().indexOf("firefox") != - 1);
Browser.isSafari = (navigator.userAgent.toLowerCase().indexOf("safari") != - 1);
Browser.isOpera = (navigator.userAgent.toLowerCase().indexOf("opera") != - 1);

var Utils = new Object();

Utils.htmlEncode = function(text)
{
  return text.replace(/&/g, '&amp;').replace(/"/g, '&quot;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
}


Utils.stripHTMLTag = function(text)
{
    var reTag = /<\/?[^>]*>/g;
    return text.replace(reTag,"");
}

Utils.trim = function( text )
{
  if (typeof(text) == "string")
  {
    return text.replace(/^\s*|\s*$/g, "");
  }
  else
  {
    return text;
  }
}

Utils.isEmpty = function( val )
{
  switch (typeof(val))
  {
    case 'string':
      return Utils.trim(val).length == 0 ? true : false;
      break;
    case 'number':
      return val == 0;
      break;
    case 'object':
      return val == null;
      break;
    case 'array':
      return val.length == 0;
      break;
    default:
      return true;
  }
}

Utils.isNumber = function(val)
{
  var reg = /[\d|\.|,]+/;
  return reg.test(val);
}

Utils.isInt = function(val)
{
  var reg = /\d+/;
  return reg.test(val);
}

Utils.isEmail = function( email )
{
  var reg1 = /([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)/;

  return reg1.test( email );
}

Utils.fixEvent = function(e)
{
  var evt = (typeof e == "undefined") ? window.event : e;
  return evt;
}

Utils.srcElement = function(e)
{
  if (typeof e == "undefined") e = window.event;
  var src = document.all ? e.srcElement : e.target;

  return src;
}

Utils.isTime = function(val)
{
  var reg = /^\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}$/;

  return reg.test(val);
}


Utils.getCenterX = function(offsetX) {
    var posX;
    if (Browser.isIE) {
        posX = (document.documentElement.clientWidth - offsetX) / 2;
    } else {
        posX = (document.body.clientWidth - offsetX) / 2;
    }
    
    return posX;
}

Utils.getCenterY = function(offsetY) {
    var posY;
	
    posY = document.documentElement.scrollTop + offsetY;
   
    return posY;
}


Utils.observe =  function(element, eventName, handler) {
  if (element.addEventListener) {
    element.addEventListener(eventName, handler, false);
  } else {
    element.attachEvent("on" + eventName, handler);
  }
}


function rowindex(tr)
{
  if (Browser.isIE)
  {
    return tr.rowIndex;
  }
  else
  {
    table = tr.parentNode.parentNode;
    for (i = 0; i < table.rows.length; i ++ )
    {
      if (table.rows[i] == tr)
      {
        return i;
      }
    }
  }
}

Function.prototype.bind = function(object) {
    var method = this;
    return function() {
        method.apply(object, arguments);
    }
}



document.getCookie = function(sName)
{
  // cookies are separated by semicolons
  var aCookie = document.cookie.split("; ");
  for (var i=0; i < aCookie.length; i++)
  {
    // a name/value pair (a crumb) is separated by an equal sign
    var aCrumb = aCookie[i].split("=");
    if (sName == aCrumb[0])
      return unescape(aCrumb[1]);
  }

  // a cookie with the requested name does not exist
  return null;
}

document.setCookie = function(sName, sValue, sExpires)
{
  var sCookie = sName + "=" + encodeURIComponent(sValue);

  if (sExpires != null)
  {
	var exp  = new Date();    
	exp.setTime(exp.getTime() + sExpires);  
    sCookie += ";path=/; expires=" + exp.toGMTString();
  }

  document.cookie = sCookie;

}

document.removeCookie = function(sName,sValue)
{
 // document.cookie = sName + "=" + escape(sValue) + "; expires=Fri, 31 Dec 1999 23:59:59 GMT;";
}


Array.prototype.del=function(n) {
  return this.slice(0,n).concat(this.slice(n+1,this.length));  
}

function findPosX(obj) {
	var curleft = 0;
	if (obj.offsetParent) {
		while (obj) {
			curleft += obj.offsetLeft;
			obj = obj.offsetParent;
		}
	}
	return curleft;
}

function findPosY(obj) {
	var curtop = 0;
	if (obj.offsetParent) {
		while (obj) {
			curtop += obj.offsetTop;
			obj = obj.offsetParent;
		}
	}
	return curtop;
}


function eval_script(html){
	var re = /(?:<script([^>]*)?>)((\n|\r|.)*?)(?:<\/script>)/ig; 
	var match = re.exec(html);
	if(match){
		if(window.execScript) { 
			window.execScript(match[2]);
		} else {
			window.eval(match[2]);
		}
	}
	
}

function openLiveHelp1(){
	window.open("/leave_message.php?act=leave_message","_blank","height=400,width=600,scrollbars=no,location=no")
}
