function inarray(a,v,relaxed) {
	if (isArray(a)) {
		for (var i in a) {
			if ((a[i] === v) || (relaxed && a[i] == v)) {
				return true;
			}
		}
	}
	if ((a === v) || (relaxed && a == v)) {
		return true;
	}
	return false;
}

function inArrayIndex(a,v,relaxed) {
	if (isArray(a)) {
		for (var i = 0; i < a.length; i++) {
			if ((a[i] === v) || (relaxed && a[i] == v)) {
				return i;
			}
		}
	}
	if ((a === v) || (relaxed && a == v)) {
		return 0;
	}
	return -1;
}

function isArray(obj) {	return (obj.constructor.toString().indexOf("Array") !== -1); }

function $() {
	var elements = [];
	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;
}

function puw (url,w,h,name,scroll,status,resize) {
	//if (url.indexOf('http://') == -1) {url = "http://<%=www%>/" + url}
	var left = (screen.width) ? (screen.width-w)/2 : 0;
	var top = (screen.height) ? (screen.height-h)/2 : 0;
	if (!name) { name = 'puw'; }
	if (!scroll) { scroll = 'yes'; }
	if (!status) { status = 'no'; }
	if (!resize) { resize = 'no'; }
	var nw = window.open(url,name,'scrollbars=' + scroll + ',status=' + status + ',width=' + w + ',height=' + h + ',top=' + top + ',left=' + left + ',resizable=' + resize + '');
	nw.focus();
}

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;
}
