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;
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
//	alert(name + ' - ' + value + ' - ' + days);
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

function navcollapse() {
	var navcollapseRegExp = new RegExp("(^|\\s)navcollapse(\\s|$)");
	var navinitopenRegExp = new RegExp("(^|\\s)ncinitopen(\\s|$)");
	var navopenRegExp = new RegExp("(^|\\s)ncopen(\\s|$)");
	var navList = readCookie('navList');
	var navListArray = new Array();
	if(navList != null) {
		navListArray = navList.split('^');
	}
	if(document.getElementById && document.getElementsByTagName) {
		var navcollapseArray = getElementsByClass('navcollapse',document,'li');
		for(var i=0; i<navcollapseArray.length; i++) {
			if(navListArray[i]) {
				thisNavStatus = navListArray[i];
				statusSet = true;
			} else {
				thisNavStatus = '';
				statusSet = false;
			}
			if( ( navinitopenRegExp.test(navcollapseArray[i].className) && !statusSet ) || navopenRegExp.test(thisNavStatus) ) {
				navcollapseArray[i].className += navcollapseArray[i].className?' ncopen':'ncopen';
			} else {
				navcollapseArray[i].className += navcollapseArray[i].className?' ncclosed':'ncclosed';
			}
			lia = navcollapseArray[i].firstChild;
			lia.onclick = function() {
				var navopenRegExp = new RegExp("(^|\\s)ncopen(\\s|$)");
				var navclosedRegExp = new RegExp("(^|\\s)ncclosed(\\s|$)");
				var navcollapseArray = getElementsByClass('navcollapse',document,'li');
				var navCollapseStatus = '';
				if(navopenRegExp.test(this.parentNode.className)) {
					this.parentNode.className = this.parentNode.className.replace("ncopen", "ncclosed");
				} else {
					this.parentNode.className = this.parentNode.className.replace("ncclosed", "ncopen");
				}
				for(var j=0; j<navcollapseArray.length; j++) {
					if( navopenRegExp.test(navcollapseArray[j].className) ) {
						navCollapseStatus += '^ncopen';
					} else {
						navCollapseStatus += '^ncclosed';
					}
				}
				createCookie('navList',navCollapseStatus.substring(1,navCollapseStatus.length),1)
				return false;
			}
		}
	}
}

function createElementNode(tagName,textNode) {
	elementNode = document.createElement(tagName);
	for(var i=2; i<arguments.length; i++) {
		thisArg = arguments[i].split('=');
		if(typeof elementNode[thisArg[0]] != "undefined") {
			elementNode[thisArg[0]] = thisArg[1];
		} else {
			elementNode.setAttribute(thisArg[0],thisArg[1]);
		}
	}
	if(typeof textNode != "undefined" && textNode != '') {
		elementNode.appendChild(document.createTextNode(textNode));
	}
	return elementNode;
}

function addCorners() {
	if(!document.createElement) { return; }
	var contentboxArray = getElementsByClass('contentbox');
	var classArray = ['tl','tr','br','bl'];
	for(var i=0; i<contentboxArray.length; i++) {
		for(var j=0; j<classArray.length; j++) {
			contentboxArray[i].appendChild(createElementNode('span','','className=' + classArray[j]));
		}
	}
}

window.onload = function()
{
	navcollapse();
	addCorners();
}
