/* Enable thickbox window */
$j(function(){
	$j('a.login').click(function(e){
		var href = this.href + '&box=true&TB_iframe=true&height=230&width=600';
		tb_show('Please Sign In or Register', href);
		e.preventDefault();
	});
	
	$j('a.loginContinue').click(function(e){
		var href = '/krko2/login.aspx?box=true&ReturnUrl=' + encodeURI(this.href) + ' &TB_iframe=true&height=230&width=600';
		tb_show('Please Sign In or Register', href);
		e.preventDefault();
	});
});


/* ------------------------------------------------------------------
 * List of all methods in this file
 * ------------------------------------------------------------------
- $()
- addEvent
- removeEvent
- handleEvent
- fixEvent

- Element
- Element.removeChildren
- Element.show
- Element.hide
- Element.toggle

- String.format

- startup
*/ 

/* Events -----------------------------------------------------------
 * written by Dean Edwards, 2005
 * with input from Tino Zijdel
 * http://dean.edwards.name/weblog/2005/10/add-event/
 * ------------------------------------------------------------------
 */
function $() {
	if (arguments.length == 1) return get$(arguments[0]);
	var elements = [];
	$c(arguments).each(function(el){
		elements.push(get$(el));
	});
	return elements;

	function get$(el){
		if (typeof el == 'string') el = document.getElementById(el);
		return el;
	}
}

function addEvent(element, type, handler) {
	element = $(element);
	if (!handler.$$guid) handler.$$guid = addEvent.guid++;
	if (!element.events) element.events = {};
	var handlers = element.events[type];
	if (!handlers) {
		handlers = element.events[type] = {};
		if (element["on" + type]) {
			handlers[0] = element["on" + type];
		}
	}
	handlers[handler.$$guid] = handler;
	element["on" + type] = handleEvent;
};
addEvent.guid = 1;

function removeEvent(element, type, handler) {
	if (element.events && element.events[type]) {
		delete element.events[type][handler.$$guid];
	}
};

function handleEvent(event) {
	var returnValue = true;
	event = event || fixEvent(window.event);
	event.element = event.target || event.srcElement;
	var handlers = this.events[event.type];
	for (var i in handlers) {
		this.$$handleEvent = handlers[i];
		if (this.$$handleEvent(event) === false) {
			returnValue = false;
		}
	}
	return returnValue;
};

function fixEvent(event) { event.preventDefault = fixEvent.preventDefault; event.stopPropagation = fixEvent.stopPropagation; return event; };
fixEvent.preventDefault = function() { this.returnValue = false; };
fixEvent.stopPropagation = function() { this.cancelBubble = true;};

if (!window.Event) { var Event = new Object(); }

/* -----------------------------------------------------------------------------------------------------------*/

Element = {};

Element.removeChildren = function(p) {
	p = $(p);
	while(p.firstChild)
		p.removeChild(p.firstChild);
};


Element.show = function(el) {
	el = $(el);
	var value = 'block';
	var tn = el.tagName.toLowerCase();
	if (tn == 'span' || tn  == 'strong' || tn  == 'a' || tn  == 'input' )
		value = 'inline';
	
	el.style.display = value;
};
	
Element.toggle = function(el, vis) {
	el = $(el);
	if (vis == null)
		vis = el.style.display == 'none';
	
	if (vis)
		Element.show(el);
	else
		Element.hide(el);
};
		
Element.hide = function(el) {
	el = $(el);
	el.style.display = 'none';
};


String.format = function(s){
	for(var i=1; i<arguments.length; i++)
		s = s.replace("{" + (i -1) + "}", arguments[i]);
	return s;
}

/* -----------------------------------------------------------------------------------------------------*/

var domEl = function(e,c,a,p,x) {
	if(e||c) {
		if (c)
			c=(typeof c=='string'||(typeof c=='object'&&!c.length))?[c]:c;	
		e=(!e&&c.length==1)?document.createTextNode(c[0]):e;	
		var n = (typeof e=='string') ? document.createElement(e) : !(e && e===c[0])? e.cloneNode(false): e.cloneNode(true);	
		if(e.nodeType!=3) {
			if (c)
			{
				c[0]===e?c[0]='':'';
				for(var i=0,j=c.length;i<j;i++) 
					typeof c[i] == 'string' ? n.appendChild(document.createTextNode(c[i])) : n.appendChild(c[i].cloneNode(true));
			}
			
			if(a) {for(var i=(a.length-1);i>=0;i--) a[i][0]=='class'?n.className=a[i][1]:n.setAttribute(a[i][0],a[i][1]);}
		}
	}
	if(!p)return n;
	p=(typeof p=='object'&&!p.length)?[p]:p;
	for(var i=(p.length-1);i>=0;i--) {
		if(x){while(p[i].firstChild)p[i].removeChild(p[i].firstChild);
			if(!e&&!c&&p[i].parentNode)p[i].parentNode.removeChild(p[i]);}
		if(n) p[i].appendChild(n.cloneNode(true));
	}	
}

/* Startup---------------------------------------------------------------------------------------------------*/

addEvent(window, 'load', function() {
	if (document.getElementById) {
		var alltags = document.all? document.all : document.getElementsByTagName("*");
		for (i=0; i < alltags.length; i++) {
		  if (alltags[i].className == "emailCloak") {
			var oldText = alltags[i].firstChild;
			var emailAddress = alltags[i].firstChild.nodeValue;
			var user = emailAddress.substring(0, emailAddress.indexOf("("));
			var website = emailAddress.substring(emailAddress.indexOf(")")+1, emailAddress.length);
			var newText = user+"@"+website;
			var a = document.createElement("a");
			a.href = "mailto:"+newText;
			var address = document.createTextNode(newText);
			a.appendChild(address);
			alltags[i].replaceChild(a,oldText);
		  }
		}
	}
});
