
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(" ", "")));
}

/* END PROTOTYPE */

// [EVENTS]
var aeOL = [];
function AddEvent(o, n, f, l) {
 var a = 'addEventListener', h = 'on'+n, b = '', s = '';
 if (o[a] && !l) return o[a](n, f, false);
 o._c |= 0;
 if (o[h]) {
  b = '_f' + o._c++;
  o[b] = o[h];
 }
 s = '_f' + o._c++;
 o[s] = f;
 o[h] = function(e) {
  e = e || window.event;
  var r = true;
  if (b) r = o[b](e) != false && r;
  r = o[s](e) != false && r;
  return r;
 }
 aeOL[aeOL.length] = { o: o, h: h };
}
// END [EVENTS]


function External_Links_Update() {
	if (!document.getElementsByTagName) {
		return;
	} else {
		var anchors = document.getElementsByTagName("a");
		for (var i = 0; i < anchors.length; i++) {
			var anchor = anchors[i];
			if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external") {
				anchor.target = "_blank";
			}
		}
	}
}

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");
		}
	}
}

/* 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;
}

  