//Dollar sign
//function $() {
	//var elements = new Array();
	//for (var i = 0; i < arguments.length; i++) {
		//var element = arguments[i];
		//if (typeof element == 'string')
			//element = document.getElementById(element);
		//if (arguments.length == 1)
			//return element;
		//elements.push(element);
	//}
	//return elements;
//}

// Ajax: get/post
function Ajax() {
	var http = false;
	if(navigator.appName == "Microsoft Internet Explorer") {
		http = new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		http = new XMLHttpRequest();
	}
	this.get = function(url, vars, callback) {
		http.open("GET", url+"?"+vars, true);
		http.onreadystatechange = function() {
			if(http.readyState == 4 && http.status == 200) {
				callback(http.responseText);
			}
		}
		http.send(null);
	}
	this.post = function(url, vars, callback) {
		http.open("POST", url, true);
		http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		http.setRequestHeader("Content-length", vars.length);
		http.setRequestHeader("Connection", "close");
		http.onreadystatechange = function() {
			if(http.readyState == 4 && http.status == 200) {
				callback(http.responseText);
			}
		}
		http.send(vars);
	}
}

// Cookies: read/write/delete
function Cookie(name) {
	this.name = name;
	this.write = function(value, expire) {
		if (value == null || value == "") value = "";
		if (expire == null || expire == "") expire = 14;
		var days = expire;
		var expire = new Date();
		expire.setTime(expire.getTime() + (days*24*60*60*1000));
		expire = "; expires=" + expire.toGMTString();
		if (document.cookie = this.name + "=" + value + expire + "; path=/") {
			return true;
		} else {
			return false;
		}
	}
	this.read = function() {
		var cookieName = this.name + "=";
		var cookieArr = document.cookie.split(';');
		for (var i=0; i < cookieArr.length;i++) {
			var cookie = cookieArr[i];
			while (cookie.charAt(0) == ' ') {
				cookie = cookie.substring(1,cookie.length);
			}
			if (cookie.indexOf(cookieName) == 0) {
				var value = cookie.substring(cookieName.length, cookie.length);
				if (value != null && value != "" && value != this.name) {
					return value;
				}
			}
		}
		return false;
	}
	this.erase = function() {
		return this.write(this.name, "", -1);
	}
	return true;
}

// Toggle show/hide
function toggle(object, showHide) {
	var object = document.getElementById(object);
	if (showHide == 'show') {
		object.style.display = 'block';
	} else if (showHide == 'hide') {
		object.style.display = 'none';
	} else {
		if (object.style.display != 'none') {
			object.style.display = 'none';
		} else {
			object.style.display = 'block';
		}
	}
}

// Get Elements by Class
function getElementsByClass(searchClass, node, tag) {
	var classElements = new Array();
	if (node == null) node = document;
	if (tag == null) tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if (pattern.test(els[i].className)) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}

// Trim whitespace
function trim(string) {
	return string.replace(/^\s+|\s+$/g,"");
}
// Trim left
function ltrim(string) {
	return string.replace(/^\s+/,"");
}
// Trim right
function rtrim(string) {
	return string.replace(/\s+$/,"");
}

