// JavaScript Document


JAPI._commonLibrary = {
	
	addEvent : function(elm, evType, fn, useCapture) {
		if (elm.addEventListener) {
			elm.addEventListener(evType, fn, useCapture);
			return true;
		} else if (elm.attachEvent) {
			var r = elm.attachEvent('on' + evType, fn);
			return r;
		} else {
			elm['on' + evType] = fn;
		} // end if..elseif..else
	}, // end function

	removeEvent : function(elm, evType, fn, useCapture){
		if(elm.removeEventListener){
			elm.removeEventListener(evType, fn, useCapture);
			return true;
		} else if(elm.detachEvent) {
			var r = elm.detachEvent('on' + evType, fn);
			return r;
		} else {
			elm['on' + evTyle] = null;
		} // end if..elseif..else
	}, // end function

	getCookie :  function(name) {
		var start = document.cookie.indexOf(name + "=");
		var len = start + name.length + 1;
		if ((!start) && (name != document.cookie.substring(0, name.length))){
			return null;
		} // end if
		if (start == -1) return null;
		var end = document.cookie.indexOf(";", len);
		if (end == -1) end = document.cookie.length;
		return unescape(document.cookie.substring(len, end));
	}, // end function

	setCookie : function(name, value, expires, path, domain, secure) {
		var today = new Date();
		today.setTime(today.getTime());
		if (expires) {
			expires = expires * 1000 * 60 * 60 * 24;
		} // end if
		var expires_date = new Date(today.getTime() + (expires));
		document.cookie = name+"="+escape(value) +
			((expires) ? ";expires="+expires_date.toGMTString() : "") + //expires.toGMTString()
			((path) ? ";path=" + path : "") +
			((domain) ? ";domain=" + domain : "") +
			((secure) ? ";secure" : "");
	}, // end function

	deleteCookie : function(name, path, domain) {
		if (getCookie(name)) {
			document.cookie = name + "=" +
			((path) ? ";path=" + path : "") +
			((domain) ? ";domain=" + domain : "" ) +
			";expires=Thu, 01-Jan-1970 00:00:01 GMT";
		} // end if
	}, // end function

	insertAfter : function(parent, node, referenceNode) {
		parent.insertBefore(node, referenceNode.nextSibling);	
	}, // end function

	toggle : function(obj) {
		var el = document.getElementById(obj);
		if ( el.style.display != 'none' ) {
			el.style.display = 'none';
		} else {
			el.style.display = '';
		} // end if..else
	}, // end function

	getElementsByClass : function(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++;
			} // end if
		} // end for
		return classElements;
	}, // end function

	addLoadEvent : function(func) {
		var oldonload = window.onload;
		if (typeof window.onload != 'function') {
			window.onload = func;
		} else {
			window.onload = function() {
				oldonload();
				func();
			} // end anonymous function 
		} // end if..else
	}, // end function
		
	getStyle : function(element, property) {
		if (element.style[property]) {
			return element.style[property]
		} else if (element.currentStyle) {
			return element.currentStyle[property]
		} else if (document.defaultView && document.defaultView.getComputedStyle) {
			var style = document.defaultView.getComputedStyle(element, null)
			return style.getPropertyValue(property)
		} else {
			return null
		} // end if..else
	}, // end function	
			
	removePX : function(str) {
		  re = /px/g;
          return parseInt(str.replace(re, ""));
	}, // end function
		
	randomNumber : function(maxNr, minNr) {
		if(!minNr) minNr = 0;
		return Math.floor(Math.random()*(maxNr-minNr)) + minNr
	}, // end function 
	
	imagePreload : function(img_url) {
		var image = new Image();
		image.src = img_url;
	} // end function
			
} // end library


