
	function lkOver(e) {
		if (e.title) {
			self.status = e.title;
		}
		
		//e.style.cursor = 'pointer';
		//e.style.textDecoration = 'underline';
		e.className += ' hover';
	}
	
	function lkOut(e) {
		self.status = '';
		e.className = $att(e,'defaultClass');
		//e.style.cursor = 'default';
		//e.style.textDecoration = 'none';
	}
	
	function lkClick(e) {
		if (e.confirm == true && !confirm(e.confirmMsg)) {
			return false;
		}
		
		if (e.type == 'window') {
			e.target = e.getAttribute('target');
			var features = 'width=' + e.getAttribute('width') + ',height=' + e.getAttribute('height');

			if (e.getAttribute('features'))
				features += ',' + e.getAttribute('features');
			
			window.open(e.url, e.target, features);			
		} else if (e.type == 'popup') {
			
		} else if (e.type == 'submit') {
			e.href = e.url;
			smart_submit(e);
		} else {
			//location.href = e.href;
			if (e.url) {
				location.href = e.url;
			}
		}
		
		return false;
	}
	
	function lkInit(e) {		
		e.setAttribute('defaultClass', e.className);
		
		e.url = $att(e,'href');
		
		e.title = $att(e,'title');
		e.type = $att(e,'type');
		e.target = $att(e,'target');
		e.confirmMsg = $att(e,'confirm');
		if (e.confirmMsg != undefined)
			e.confirm = true;
		else
			e.confirm = false;
		
		e.onmouseover = function() { lkOver(e) };
		e.onmouseout = function() { lkOut(e) };
		e.onclick = function() { return lkClick(e) };
	}
	
	// Form Functions
	function submit_form(frm_id, action, method) {
		var frm = $(frm_id);
		
		if (method == 'GET' || method == 'POST')
			frm.method = method;
		
		if (action) {
			frm.action = action;
		}

		frm.submit();
		return false;
	}
	
	function smart_submit(e) {
		var frm = e.getAttribute('formid');
		if (!frm && e.form.id) {			
			frm = e.form.getAttribute('id');
		}
		
		if (!frm) {
			return false;
		}
		
		var action = null;
		/*
		if (e.tagName == 'A' || e.className == 'lk') {
			action = e.href;
		} else {
			action = e.getAttribute('action');
		}*/
		
		e.action = e.getAttribute('action');
		if (e.action != undefined) {
			action = e.action;
		} else {
			action = e.href;
		}
		
		submit_form(frm, action, e.getAttribute('method'));
		return false;
	}


	// Effect functions
	function effectLk(e) {
		//if (e.hasAttribute('effect')) {
			e.effect = e.getAttribute('effect');
		//}
		
		var effect = e.effect.split(',');
		var lastEffectIndex = e.getAttribute('lastEffectIndex');
		
		if (e.element == null)
			e.element = e.id;				
		
		//alert(e.lastEffectIndex + ': ' +e.effect[e.lastEffectIndex]);
		new Effect[effect[lastEffectIndex]](e.getAttribute('element'));
		
		lastEffectIndex++;

		if (lastEffectIndex == effect.length)
			lastEffectIndex = 0;
		
		e.setAttribute('lastEffectIndex', lastEffectIndex);
		
		return lkClick(e);
	}

	function $Q(frmId) {
		frm = frmId;
		if (frm instanceof Object) {
		} else {
			var frm = $(frm);	
		}
		
		var uri = [];
		for (var i = 0; i < frm.elements.length; i++) {			
			var value = '';
			
			if (frm.elements[i].type == 'button') {				
				value = encodeURIComponent(frm.elements[i].textContent);
			} else {
				value = $F(frm.elements[i]);
			}
			
			var name = frm.elements[i].name;
			if (value && name)
				uri[i] =  name + '=' + value;
		}

		return uri.join('&');
	}

	function $att(element, att) {
		return element.readAttribute(att);
	}

	var dex = {
		include : function (src) {
			document.write('<script type="text/javascript" src="' + src +'"></script>');
		}
	}

