//<![CDATA[

var IsIE = (document.all ? true : false);

/* START PROTOTYPE */ 

String.prototype.InnerTrim = function() {
	var re = new RegExp(arguments[0]);
	return this.valueOf().replace(re, "");
}

String.prototype.Trim = function() {
	return this.replace( /(^\s*)|(\s*$)/g, '' ) ;
}

String.prototype.IsEmail = function() {
	var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
	var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,5}|[0-9]{1,3})(\\]?)$");
	if (!(!r1.test(this.valueOf()) && r2.test(this.valueOf()))) 	{
		return false;
	}
	return true;
}

String.prototype.IsEmpty = function() {
	return (this.Trim() == "");
}

String.prototype.IsPSC = function() {
	return !isNaN(Number(this.replace(" ", "")));
}

Array.prototype.Find = function(value) {
	var Result = -1;
	for (var i = 0; i < this.length; i++) {
		if (this[i] == value) { 
			Result = i;
			break;
		}
	}
	return Result;
}

/* END PROTOTYPE */

function Window_Open(URL, target, title, fullscreen, resizable, left, top, width, height, toolbars, focus) {
	var wnd = window.open(URL, target, "fullscreen=" + fullscreen + ", titlebar=1, locationbar=" + toolbars + ", toolbar=" + toolbars + ", scrollbars=1, location=" + toolbars + ", statusbar=" + toolbars + ", menubar=" + toolbars + ", resizable=" + resizable + ", hotkeys=0, width=" + width + ", height=" + height);
	if (wnd) { 
		if (title) {
			wnd.document.title = title;
		}
		if (focus) {
			wnd.focus();
		}
	}
	return wnd;
}


function SU_Inspect(elm) {
  var str = "";
  for (var i in elm){
    str += i + ": " + elm[i] + "\n";
  }
//  alert(str);
	var newWnd = Window_Open("javascript:void();", "inspect", "title", 0, 1, 100, 100, 600, 400, 0, 1);
	newWnd.document.body.innerHTML = "<pre>" + str + "</pre>";
	return true;
}

function SetImgSrc(sender, src) {
	sender.src = src;
}

function ClickByID(ID) {
	var AEL = document.getElementById(ID);
	if (AEL) {
		if (AEL.target) {
			window.open(AEL, AEL.target);
		} else {
			window.open(AEL, "_self");
		}
	}
}

function mouseX(evt) {
if (evt.pageX) return evt.pageX;
else if (evt.clientX)
   return evt.clientX + (document.documentElement.scrollLeft ?
   document.documentElement.scrollLeft :
   document.body.scrollLeft);
else return null;
}

function mouseY(evt) {
if (evt.pageY) return evt.pageY;
else if (evt.clientY)
   return evt.clientY + (document.documentElement.scrollTop ?
   document.documentElement.scrollTop :
   document.body.scrollTop);
else return null;
}

function SU_MoveObject(obj, e) {
  var tempX = 0;
  var tempY = 0;
  var offset = 5;
  var objHolder = obj;  
  if (obj==null) return;
  if (document.all) {
  	obj.style.top  = mouseY(e);
  	obj.style.left  = mouseX(e);
  	return;
  } else {
    tempX = e.pageX;
    tempY = e.pageY;
  }
  if (tempX < 0){tempX = 0}
  if (tempY < 0){tempY = 0}
  obj.style.top  = (tempY + offset) + 'px';
  obj.style.left = (tempX + offset) + 'px';
}

/* HTTP UTILS ----------- */

var XMLHTTP;
function XMLDoc_Request(url, processReqChange) {

	XMLHTTP = false;
  // branch for native XMLHttpRequest object
  if(window.XMLHttpRequest) {
  	try {
		XMLHTTP = new XMLHttpRequest();
      } catch(e) {
		XMLHTTP = false;
      }
  // branch for IE/Windows ActiveX version
  } else if(window.ActiveXObject) {
     	try {
      	XMLHTTP = new ActiveXObject("Msxml2.XMLHTTP");
    	} catch(e) {
      	try {
        		XMLHTTP = new ActiveXObject("Microsoft.XMLHTTP");
      	} catch(e) {
        		XMLHTTP = false;
      	}
		}
  }

	if(XMLHTTP) {
		XMLHTTP.onreadystatechange = processReqChange;
		if (url) {
			XMLHTTP.open("GET", url, true);
//			XMLHTTP.setRequestHeader("Content-Type", "text/xml;charset=UTF-8");			
			XMLHTTP.send(null);
		}
	}
//	return XMLHTTP;
}

//]]>