/* autocheck/uncheck all checkboxes in given form */
	function setCheckbox( container, checked )
	{
		var oContainer = document.getElementById(container);
		var aElement  = oContainer.getElementsByTagName('input');
		for( var i = 0; i < aElement.length; i++ )
		{
			if( 'checkbox' == aElement[i].type )
			{
				aElement[i].checked = checked;
			}
	    }

		return true;
	}



	function hideBlock(id)
	{
		var el = document.getElementById(id);

		if(el.style.display == 'none')
		{
			el.style.display = 'block';
		}
		else
		{
			el.style.display = 'none';
		}
	}


// clone an simple object ( without any other objects inside )
	function simplecloneObject( obj )
	{
    	for (i in obj)
		{
           	this[i] = obj[i];
	    }
	}


// clone the object and all the objects contains in it
	function cloneObject( obj )
	{
    	for (i in obj)
		{
        	if ( 'object' == typeof obj[i] )
        	{
            	this[i] = new cloneObject( obj[i]);
            }
        	else
            	this[i] = obj[i];
	    }
	}

// create element with name ( this is problem with IE )
	function createNamedElement( type, name )
	{
		var element;
		try
		{
			element = document.createElement('<'+type+' name="'+name+'">');
		}catch(e){}
		if (!element || !element.name) // Cool, this is not IE !!
		{
			element = document.createElement(type)
			element.name = name;
		}
		return element;
	}


// asinc serwer query. Gets responce text and pass it to callback function
	function serverQuery( callback_function, url, responseType )
	{
		//alert('cb-> ' + callback_function + ' url-> ' + url);
		//alert(' url-> ' + url);
		var XMLHttpRequestObject = false;
	    if( window.XMLHttpRequest )
	    {
			XMLHttpRequestObject = new XMLHttpRequest();
		}
		else if( window.ActiveXObject )
		{
			XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
		}

		if( XMLHttpRequestObject )
	    {
//			XMLHttpRequestObject.open( "GET", url );
			XMLHttpRequestObject.open( "POST", url );
			XMLHttpRequestObject.onreadystatechange = function()
			{
				if ( XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200 )
		    	{

					if ( '' != callback_function )
					{
						if ( 'xml' == responseType )
							answer = XMLHttpRequestObject.responseXML;
						else
							answer = XMLHttpRequestObject.responseText;

						callback_function(answer);
					}

					delete XMLHttpRequestObject;
					XMLHttpRequestObject = null;

				}
		    }
			XMLHttpRequestObject.send( null );
		}

		return true;
	}

	function getAsyncHelp( event, url )
	{

		container = document.getElementById('asynchelp_container');

		container.style.display='block';

		var scroll_x = 0, scroll_y = 0;
		if ( document.body && ( document.body.scrollTop || document.body.scrollLeft ) && !( window.debug || navigator.vendor == 'KDE' ) )
		{
			scroll_x = document.body.scrollLeft; scroll_y = document.body.scrollTop;
		}
		else if ( document.documentElement && ( document.documentElement.scrollTop || document.documentElement.scrollLeft ) && !( window.debug || navigator.vendor == 'KDE' ) )
		{
			scroll_x = document.documentElement.scrollLeft; scroll_y = document.documentElement.scrollTop;
		}

		container.style.left = event.clientX + scroll_x - container.parentNode.offsetLeft - container.offsetWidth/2 + 'px';
		container.style.top = event.clientY + scroll_y - container.parentNode.offsetTop + 20 + 'px';

		container.innerHTML = 'loading ...';

		serverQuery( setAsyncHelp, url );

	}

	function setAsyncHelp( sText )
	{
	/*
			var oCounterSpan	= document.createElement('span');
				oCounterSpan.id	= 'countTarget'+targetId;
				oCounterSpan.style.margin = '0px 5px';
				oCounterSpan.style.color = 'green';
				oCounterSpan.style.fontWeight = 'bold';
				oCounterSpan.innerHTML = '<?= $this->config->item('comment_characters'); ?>'
			var oCounterSpanText	= document.createElement('span');
				oCounterSpanText.style.margin = '0px 5px';
				oCounterSpanText.style.color = 'green';
				oCounterSpanText.style.fontWeight = 'bold';
				oCounterSpanText.innerHTML = '<?= $this->lang->line('_characters_left'); ?>'
	*/

		var oImg			= document.createElement('img');
			oImg.src		= 'theme/_images/stop.png';
			oImg.onclick	= function(){hideAsyncHelp()};
			oImg.className	= 'asyncClose';

		container = document.getElementById('asynchelp_container');

		container.innerHTML = sText;
		container.appendChild(oImg);
	}

	function hideAsyncHelp()
	{
		container = document.getElementById('asynchelp_container');
		container.style.display = 'none';
	}


	function initAsyncHelp( event, url )
	{

		if ( !event )
			event = window.event;

 		getAsyncHelp( event, url)

		return true;

	}
