/**
 * copyright by idea-source.net
 * @author George Wing
 */

/*
 * (c)2006 Jesse Skinner/Dean Edwards/Matthias Miller/John Resig
 * Special thanks to Dan Webb's domready.js Prototype extension
 * and Simon Willison's addLoadEvent
 *
 * For more info, see:
 * http://www.thefutureoftheweb.com/blog/adddomloadevent
 * http://dean.edwards.name/weblog/2006/06/again/
 * http://www.vivabit.com/bollocks/2006/06/21/a-dom-ready-extension-for-prototype
 * http://simon.incutio.com/archive/2004/05/26/addLoadEvent
 * 
 *
 * To use: call addDOMLoadEvent one or more times with functions, ie:
 *
 *    function something() {
 *       // do something
 *    }
 *    addDOMLoadEvent(something);
 *
 *    addDOMLoadEvent(function() {
 *        // do other stuff
 *    });
 *
 */

addDOMLoadEvent = (function(){
	// create event function stack
	var load_events = [],
		load_timer,
		script,
		done,
		exec,
		old_onload,
		init = function () {
			done = true;

			// kill the timer
			clearInterval(load_timer);

			// execute each function in the stack in the order they were added
			while (exec = load_events.shift())
				exec();

			if (script) script.onreadystatechange = '';
		};

	return function (func) {
		// if the init function was already ran, just run this function now and stop
		if (done) return func();

		if (!load_events[0]) {
			// for Mozilla/Opera9
			if (document.addEventListener)
				document.addEventListener("DOMContentLoaded", init, false);

			// for Internet Explorer
			/*@cc_on @*/
			/*@if (@_win32)
				document.write("<script id=__ie_onload defer src=//0><\/scr"+"ipt>");
				script = document.getElementById("__ie_onload");
				script.onreadystatechange = function() {
					if (this.readyState == "complete")
						init(); // call the onload handler
				};
			/*@end @*/

			// for Safari
			if (/WebKit/i.test(navigator.userAgent)) { // sniff
				load_timer = setInterval(function() {
					if (/loaded|complete/.test(document.readyState))
						init(); // call the onload handler
				}, 10);
			}

			// for other browsers set the window.onload, but also execute the old window.onload
			old_onload = window.onload;
			window.onload = function() {
				init();
				if (old_onload) old_onload();
			};
		}

		load_events.push(func);
	}
})();

function addEventSimply(obj, evt, fn) {
	if(obj.addEventListener) {
		obj.addEventListener(evt, fn, false);
	}
	else if(obj.attachEvent) {
		obj.attachEvent('on'+evt, fn)
	}
}

function insertAfter(newElement, targetElement) {
	var parent = targetElement.parentNode;
	if(parent.lastChild == targetElement) {
		parent.appendChild(newElement);
	}
	else {
		parent.insertBefore(newElement, targetElement.nextSibling);
	}
}

function addClass(element, value) {
	if(!element.className) {
		element.className = value;
	}
	else {
		newClassName = element.className;
		newClassName += " ";
		newClassName += value;
		element.className = newClassName;
	}
}

(function(){
if(!document.getElementById || !document.getElementsByTagName) return;

function popup() {
	if(!document.getElementsByTagName('a')) return;

	a = document.getElementsByTagName("a");
	for(i=0;i<a.length;i++) {
		if(a[i].getAttribute('rel') && a[i].getAttribute('rel') == 'external') {
			a[i].onclick = function() {
				window.open(this.getAttribute('href'));
				return false;
			};
		}
	}
}
addEventSimply(window, 'load', popup);

function popupImage() {
	if(!document.getElementsByTagName('a')) return;
	var a = document.getElementsByTagName('a');
	for(var i=0; i<a.length; i++) {
		if(a[i].className == 'OpenImages') {
			a[i].onclick = function() {
				window.open(this.getAttribute('href'),'','resizable=no,width=624,height=450');
				return false;
			};
		}
	}
}
addEventSimply(window, 'load', popupImage);
function initHeight() {
	resizeHeightById('content_main', 'content_sub');
}
function resizeHeightById(elm, subElm) {
	var oContentMain = document.getElementById(elm);
	var oContentSub = document.getElementById(subElm);
	if(!oContentMain || !oContentSub) return;
	if(oContentMain.offsetHeight > oContentSub.offsetHeight){
		oContentSub.style.height = oContentMain.offsetHeight +"px";
	}
	else {
		oContentMain.style.height = oContentSub.offsetHeight +"px";
	}
}
function resizeHeightByClassName(elm, subElm1, subElm2) {
	var div = document.getElementsByTagName("div");
	if(!div) return;
	for(var i=0;i<div.length;i++) {
		if(div[i].parentNode.className.indexOf(elm) != -1) {
			col = div[i].parentNode;
		}
		if(div[i].className.indexOf(subElm1) != -1) {
			col1 = div[i];

			if(col.offsetHeight > col1.offsetHeight){
				col1.style.height = col.offsetHeight +"px";
			}
			else {
				col.style.height = col1.offsetHeight +"px";
			}
		}
		else if(div[i].className.indexOf(subElm2) != -1) {
			col1 = div[i];

			if(col.offsetHeight > col1.offsetHeight){
				col1.style.height = col.offsetHeight +"px";
			}
			else {
				col.style.height = col1.offsetHeight +"px";
			}
		}
	}
}
addEventSimply(window, 'load', initHeight);

}());

/*
function prepareCollapse() {
	collapse();
}
function collapse() {
	var faq = document.getElementById('faq');
	if(!faq) return;
	var dt = faq.getElementsByTagName('dt');
	if(!dt) return;
	for(var i=0;i<dt.length;i++) {
		dt[i].style.cursor = 'pointer';
		dt[i].onclick = function() {
			var panel = clearSpace(this);
			if(panel.style.display == 'none') {
				panel.style.display = '';
				this.style.background = 'url(../../images/common/icon/icon_1_bottom.gif) no-repeat 0 50%';
			}
			else {
			 	panel.style.display = 'none';
				this.style.background = 'url(../../images/common/icon/icon_1.gif) no-repeat 0 50%';
			}
			return false;
		};
	}
	
	function clearSpace(o){
		var obj = o.nextSibling;
		return (obj.nodeType == 3 ? obj.nextSibling : obj);
	}
}
addEventSimply(window, 'load', prepareCollapse);
*/