var isIE = navigator.appVersion.indexOf( "MSIE" ) != -1;

var classAttributeName = ( isIE ? "className" : "class" );

var isIE6 = navigator.appVersion.indexOf( "MSIE 6" ) != -1;

if( typeof XMLHttpRequest == "undefined" ) XMLHttpRequest = function() {
  try { return new ActiveXObject("Msxml2.XMLHTTP.6.0") } catch(e) {}
  try { return new ActiveXObject("Msxml2.XMLHTTP.3.0") } catch(e) {}
  try { return new ActiveXObject("Msxml2.XMLHTTP") } catch(e) {}
  try { return new ActiveXObject("Microsoft.XMLHTTP") } catch(e) {}
};

function registerBannerClick( id, zone, key )
{
	var request = new XMLHttpRequest();
	
	if( request )
	{
		request.open( "GET", "/scripts/register_click.php?id=" + id + "&zone=" + zone + "&key=" + key, true );
		request.send( "" );
	}
}

function showStrLength( id )
{	
	alert( "Antal tegn i teksten: " + document.getElementById(id).value.length );
}

function autofillDateInput( name )
{
	now = new Date();
		
	document.getElementsByName(name + "[day]")[0].value = now.getDate();
	document.getElementsByName(name + "[month]")[0].value = now.getMonth()+1;
	document.getElementsByName(name + "[year]")[0].value = now.getFullYear();
}

function setBackgroundImage( nodeId )
{
	if( document.getElementById )
	{
		var node = document.getElementById( nodeId );
		
		if( node )
		{
			var value = node.getAttribute( classAttributeName );
			
			if( value )
			{
				var result = value.match( / bg:(([a-z_\/]+)\/([a-z0-9_-]+)\.([a-z]{3}))$/ );
				
				if( result && ( result.length == 5 ) )
				{
					node.style.backgroundImage = "url(" + result[1] + ")";
				}
			}
		}
	}
}

function removeAllChildNodes( node )
{
	while( node.hasChildNodes )
	{
		node.removeChild( node.lastChild );
	}
}

function addWrapperToChildNodes( node, wrapperClass )
{
	var childNodes = new Array();
	
	while( node.hasChildNodes() )
	{
		childNodes.push( node.removeChild( node.firstChild ) );
	}
	
	var wrapper = document.createElement( "div" );
	
	wrapper.setAttribute( classAttributeName, wrapperClass );
	
	node.appendChild( wrapper );

	for( var i = 0 ; i < childNodes.length ; i++ )
	{
		wrapper.appendChild( childNodes[i] );
	}
	
	return wrapper;
}

function applyTopCornerEffect( className )
{
	var node = getBodyNode();

	if( node )
	{
		var elements = getElementsByClassName( node, "div", className );
		
		for( var i = 0 ; i < elements.length ; i++ )
		{
			addWrapperToChildNodes( elements[i], "c2" );
			addWrapperToChildNodes( elements[i], "c1" );
		}
	}
}

function applyCornerEffectRight( className )
{
	var node = getBodyNode();

	if( node )
	{
		var elements = getElementsByClassName( node, "div", className );
		
		for( var i = 0 ; i < elements.length ; i++ )
		{
			addWrapperToChildNodes( elements[i], "c2" );
			addWrapperToChildNodes( elements[i], "c3" );
		}
	}
}

function applyCornerEffect( className, tagName, padding )
{
	if( !isIE6 )
	{
		var node = getBodyNode();
	
		if( node )
		{
			var elements = getElementsByClassName( node, tagName ? tagName : "div", className );
			
			for( var i = 0 ; i < elements.length ; i++ )
			{
				var insertedNode = addWrapperToChildNodes( elements[i], "c4" );
				addWrapperToChildNodes( elements[i], "c3" );
				addWrapperToChildNodes( elements[i], "c2" );
				addWrapperToChildNodes( elements[i], "c1" );
							
				if( padding )
				{
					elements[i].style.padding = "0";
	
					insertedNode.style.padding = padding;
				}
			}
		}
	}
}

function applyCornerEffectWithNodeId( nodeId )
{
	if( !isIE6 )
	{
		if( document.getElementById )
		{
			var node = document.getElementById( nodeId );
					
			if( node )
			{
				addWrapperToChildNodes( node, "c4" );
				addWrapperToChildNodes( node, "c3" );
				addWrapperToChildNodes( node, "c2" );
				addWrapperToChildNodes( node, "c1" );
			}
		}
	}
}

function applyCornerEffects()
{
	applyCornerEffect( "HavenytFormFormElement", "form" );
	applyCornerEffect( "ErrorMessages" );
	applyCornerEffect( "Messages" );
	applyCornerEffect( "Comments" );
	applyCornerEffect( "Text", "div", "20px 40px 10px 40px" );
	applyTopCornerEffect( "RelatedDocuments" );
}

function applyDropShadow( className, prefix )
{
	var node = getBodyNode();

	if( node )
	{
		var elements = getElementsByClassName( node, "div", className );
		
		for( var i = 0 ; i < elements.length ; i++ )
		{
			for( var e = 1 ; e <= 8 ; e++ )
			{
				addWrapperToChildNodes( elements[i], prefix + e );
			}
		}
	}
}

function getBodyNode()
{
	var nodes = document.getElementsByTagName( "body" );
	
	if( nodes.length == 1 )
	{
		return nodes[0];
	}
	
	return null;
}

function getElementsByClassName( node, tag, className )
{
	elements = new Array();
	
	if( nodes = node.getElementsByTagName( tag ) )
	{
		for( i = 0 ; i < nodes.length ; i++ )
		{		
			if( nodes[i].getAttribute( classAttributeName ) == className )
			{
				elements.push( nodes[i] );
			}
		}
	}
	
	return elements;
}