function addEvent(obj, evType, fn, useCapture){
  if (obj == null)
    return false;
  if (obj.addEventListener){
    obj.addEventListener(evType, fn, useCapture);
    return true;
  } else if (obj.attachEvent){
    var r = obj.attachEvent('on' + evType, fn);
    return r;
  } else {
    alert('Handler could not be attached');
  }
}

function removeEvent(obj, evType, fn, useCapture){
  if (obj.removeEventListener){
    obj.removeEventListener(evType, fn, useCapture);
    return true;
  } else if (obj.detachEvent){
    var r = obj.detachEvent(evType, fn);
    return r;
  } else {
    alert('Handler could not be removed');
  }
}

function addLoadEvent(func)
{	
	var oldonload = window.onload;
	if (typeof window.onload != 'function'){
    	window.onload = func;
	} else {
		window.onload = function(){
		oldonload();
		func();
		}
	}
}

function $() {
	var elements = new Array();
	for (var i = 0; i < arguments.length; i++) {
		var element = arguments[i];
		if (typeof element == 'string')
			element = document.getElementById(element);
		if (arguments.length == 1)
			return element;
		elements.push(element);
	}
	return elements;
}

function cancelEvent(e){
	if(!e) var e = window.event;
	e.returnValue = false;
	//e.cancelBubble is supported by IE - this will kill the bubbling process.
	if(e.cancelBubble){
		e.cancelBubble = true;
		e.returnValue = false;
	}

	//e.stopPropagation works only in Firefox.
	if (e.stopPropagation) {
		e.stopPropagation();
		e.preventDefault();
	}
}

function getEventTarget(e){
	var target = window.event ? window.event.srcElement : e ? e.target : null;
    if (!target) return null;
    return target;
}

function openPopupWindow(url, features, replace){
	return window.open(url, 'seek4_popup', features, replace);
}

function getSelectedValue( htmlSelect )
{
    return htmlSelect.options[htmlSelect.selectedIndex].value;
}

/* XML manipulation */
function parseToXML(text)
{
    var xmlDoc;
    if (window.ActiveXObject) // IE
    {
        var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
        xmlDoc.async = "false";
        xmlDoc.loadXML(text);
    }
    else if (document.implementation && document.implementation.createDocument) // Mozilla, Firefox, Opera, etc.
    {
        var parser = new DOMParser();
        xmlDoc = parser.parseFromString(text,"text/xml");
    }
    
    return(xmlDoc);
}
