var IE = "IE";
var IE7 = "IE7";
var Firefox = "Firefox";
var Opera = "Opera";
var Safari = "Safari";
var Mozilla = "Mozilla";

var BROWSER = null;

var ua = navigator.userAgent.toLowerCase();
if ( ua.indexOf( "opera" ) != -1 ) {
	BROWSER = Opera;
} else if(document.all && window.XMLHttpRequest && !window.opera) {
	BROWSER = IE7;
} else if ( ua.indexOf( "msie" ) != -1 ) {
	BROWSER = IE;
} else if ( ua.indexOf( "safari" ) != -1 ) {
	BROWSER = Safari;
} else if ( ua.indexOf( "mozilla" ) != -1 ) {
	if ( ua.indexOf( "firefox" ) != -1 ) {
		BROWSER = Firefox;
	} else {
		BROWSER = Mozilla;
	}
}

String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}

function cleanNode(node) {
	if(node && node.firstChild)
		while(node.firstChild)
			node.removeChild(node.firstChild);
}

function isEmail(s) {
	return new RegExp('^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+@[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$').test(s);
}

function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		do {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		} while (obj = obj.offsetParent);
	}
	return [curleft,curtop];
}

function cleanText(str) {
	var ns = "";
	var length = str.length;
	for(var i = 0; i < length; i++) {
		var mychar = str.charCodeAt(i);
		if((mychar < 32 && mychar != 9 && mychar != 10 && mychar != 13) || mychar > 127) continue;
		ns += str.charAt(i); 
	}
	return ns;
};

function rand(n) {  
	return ( Math.floor ( Math.random ( ) * n + 1 ) );
};

function showLoadingBar(node, clear) {
	if(clear)  clearNode(node);
	var img = document.createElement("img");
	img.src = "/lib/img/loading-bar.gif";
	img.alt = "loading...";
	node.appendChild(img);
};

function recursiveNodeRemove(node) {
	var fc;
	while(fc = node.firstChild) {
		recursiveNodeRemove(fc);
	}
	node.parentNode.removeChild(node);
}

function clearNode(node) {
	while(node.firstChild)
		recursiveNodeRemove(node.firstChild);
}

