function addEventSimple( obj, evt, fn )
{
	if( obj.addEventListener )
		obj.addEventListener( evt, fn, false );
	else if( obj.attachEvent )
		obj.attachEvent( 'on' + evt, fn );
}

function getElementsByClassName( strClass, strTag, objContElm )
{
	strTag = strTag || "*";
	objContElm = objContElm || document;
	var objColl = objContElm.getElementsByTagName(strTag);
	if( !objColl.length && strTag == "*" &&  objContElm.all )
		objColl = objContElm.all;
	
	var arr = new Array();
	var delim = strClass.indexOf('|') != -1  ? '|' : ' ';
	var arrClass = strClass.split(delim);
	for( var i = 0, j = objColl.length; i < j; i++ )
	{
		var arrObjClass = objColl[i].className.split(' ');
		if( delim == ' ' && arrClass.length > arrObjClass.length ) continue;
		var c = 0;
		comparisonLoop:
		for( var k = 0, l = arrObjClass.length; k < l; k++ )
		{
      	for( var m = 0, n = arrClass.length; m < n; m++ )
      	{
				if( arrClass[m] == arrObjClass[k] ) c++;
				if(( delim == '|' && c == 1) || (delim == ' ' && c == arrClass.length))
				{
					arr.push(objColl[i]);
					break comparisonLoop;
				}
			}
		}
	}
	return arr;
}

// To cover IE 5.0's lack of the push method

//deleted

// get XMLHTTPRequest object, cross-browser
function get_http()
{
	var xhr = false;
	if( window.XMLHttpRequest )
	{
		xhr = new XMLHttpRequest();
	}
	else if( window.ActiveXObject )
	{
		try
		{
			xhr = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e)
		{
			try
			{
				xhr = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch(e)
			{
				xhr = false;
			}
		}
	}
	
	return xhr;

}

function gid( identificator )
{
	return document.getElementById( identificator );
}

function removeDOMNode( node )
{
	if( node && node.parentNode )
	{
		var comdemned = node;
		return node.parentNode.removeChild( comdemned );
	}
	else return null;
}

