String.prototype.replaceAll  = function(s1,s2){   
  return this.replace(new RegExp(s1,"gm"),s2);   
} 


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.isOpera = (navigator.userAgent.toLowerCase().indexOf("opera")!=-1);
if (Browser.isMozilla) {
	HTMLElement.prototype.removeNode = function() {
		this.parentNode.removeChild(this);
	}
}

function findPosX(obj) {
	var curleft = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curleft += obj.offsetLeft;
			obj = obj.offsetParent;
		}
	} else if (obj.x) curleft += obj.x;
	return curleft;
}

function findPosY(obj) {
	var curtop = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curtop += obj.offsetTop;
			obj = obj.offsetParent;
		}
	} else if (obj.y) curtop += obj.y;
	return curtop;
}
function isIn(mousex,mousey,obj){
    var objleft = findPosX(obj);
    var objtop = findPosY(obj);
    if(mousex>=objleft && mousex<=objleft+obj.offsetWidth && mousey>=objtop && mousey<=objtop+obj.offsetHeight) return true;
    else return false;
}
function dynamicUri(uri){
    return uri+(uri.indexOf('?') == -1 ? '?' : '&')+'now='+new Date().getTime();
}
function nowTime(){
    return new Date().getTime();
}
function formSubmitToIframe(formRef,iframeRef,callback) {
     function onloadcallback(){
         if(callback){
            var doc = iframeRef.document || iframeRef.contentDocument || window.frames[iframeRef.name].document;
            callback(doc);
         }
     }
     formRef.target = iframeRef.name;
     //iframeRef.onload = onloadcallback;
	 formRef.submit();

	 setTimeout(iframeCheck,(window.opera ? 250 : 100));  
	 function iframeCheck() {
		 doc = iframeRef.document || iframeRef.contentDocument || window.frames[iframeRef.name].document;
		 //document.getElementById('messageDiv').innerHTML = doc.getElementById;
		 var dr = doc.readyState;
		 
		 if (dr == 'complete' || (!document.getElementById && dr == 'interactive')){
		     if (callback) callback(doc);
		 }else
		     setTimeout(iframeCheck , 50);
	 }

	 return true;     

}
var InputFilter = new Object();
InputFilter.onInteger=function(event){  
	var key = window.event ? e.keyCode : e.which;
	var keychar = String.fromCharCode(key);
	reg = /\d/;
	return reg.test(keychar);
}

function getScrollPosY(){
	var scrollPos;
	if (typeof window.pageYOffset != 'undefined') {
	   scrollPos = window.pageYOffset;
	}
	else if (typeof document.compatMode != 'undefined' &&
	     document.compatMode != 'BackCompat') {
	   scrollPos = document.documentElement.scrollTop;
	}
	else if (typeof document.body != 'undefined') {
	   scrollPos = document.body.scrollTop;
	}
	return scrollPos;
}

 function isValidUrl(o)
 {
  var pattern = /^http:\/\/{1}((\w)+[.]){1,3}/;
  return pattern.test(o);
 }

var MessageBox = new Object();
MessageBox.intCount = 0;
MessageBox.show=function(msg, title){
    var div = $("autoHideMsgBox");
	if(!div){
		div = document.createElement("div");
		div.id = "autoHideMsgBox";
		document.body.appendChild(div);
	}
	div.innerHTML = msg;
	div.style.display ="";
	this.intCount = 0;
	this.autoHide();
}
MessageBox.autoHide=function(){
	var id=window.setTimeout("MessageBox.autoHide()",1000);  
	MessageBox.intCount = MessageBox.intCount+1;  
	if(MessageBox.intCount==3)  
	{  
	     window.clearTimeout(id);  
		 $("autoHideMsgBox").style.display="none";  
	}  
}
