var hideSubmenuTimeout = null;
var globalBuffer = null;

window.onload = function()
{
	// Set logo overlay for IE6 -_-
	/*var sNavigatorVersion = navigator.appVersion;
	if ( sNavigatorVersion.indexOf( 'MSIE ' ) >= 0 )
	{
		sNavigatorVersion = sNavigatorVersion.split( 'MSIE ' )[ 1 ];
		sNavigatorVersion = sNavigatorVersion.split( ';' )[ 0 ];
		if ( parseInt( sNavigatorVersion ) < 7 )
			document.getElementById( 'LogoOverlay' ).src = "Images/Visuals/OverlayFootball.gif";			 
	}*/

	// Set login link action	
    var eLoginLink = document.getElementById( 'LoginLink' );
    if ( eLoginLink != null )
    {
        eLoginLink.href = "javascript: void(0)";
        eLoginLink.onclick = function() { ShowHideElement( 'Loginbox' ) };
    }
}

function ShowHideElement( pId )
{
    var element = document.getElementById( pId );

    if ( element.style.display == "none" )
        element.style.display = '';
    else
        element.style.display = 'none';
}


// Submenus
function ShowSubmenu( pId )
{
	hideSubmenuTimeout = null;
	HideAllSubmenus();

	var eSubmenu = document.getElementById( 'Submenu' + pId );
	var eMenuItem = document.getElementById( 'MenuItem' + pId );

    if ( document.all )
    {
        if ( eSubmenu.childNodes.length < 1 )
            return;
    }
    else if ( eSubmenu.childNodes.length <= 1 )
    {
	    return;
    }

	eSubmenu.className = 'Submenu';
	eMenuItem.className = eMenuItem.className.replace( 'Hover', '' ) + "Hover";
}

function HideSubmenu( pId, pTimeoutPassed )
{
	var eSubmenu = document.getElementById( 'Submenu' + pId );
	var eMenuItem = document.getElementById( 'MenuItem' + pId );

    if ( eSubmenu == null )
		return;

	if ( document.all )
    {
        if ( eSubmenu.childNodes.length < 1 )
            return;
    }
    else if ( eSubmenu.childNodes.length <= 1 )
    {
	    return;
    }

	if ( pTimeoutPassed != null )
	{
		if ( hideSubmenuTimeout == null )
			return;

		eSubmenu.className = 'Hidden';
	    eMenuItem.className = eMenuItem.className.replace( 'Hover', '' );
	}
	else
	{
		var targetId = pId;
		hideSubmenuTimeout = setTimeout( "HideSubmenu( "+targetId+", true )", 750 );
	}
}

function HideAllSubmenus()
{
	var cLists = document.getElementsByTagName( 'UL' );
	var bListFound = false;

	for( var i=0; i<cLists.length; i++ )
	{
		if ( cLists[ i ].attributes[ "name" ] != null )
		{
			// This element has a name
			if ( cLists[ i ].attributes[ "name" ].value == "Submenu" )
			{
				// Submenu found, hide it
				cLists[ i ].className = 'Hidden';

				// And change the class for the anchor calling this submenu
				for( var j=0; j<cLists[ i ].parentNode.childNodes.length; j++ )
				{
					if ( cLists[ i ].parentNode.childNodes[ j ].tagName == "A" )
					{
						cLists[ i ].parentNode.childNodes[ j ].className = cLists[ i ].parentNode.childNodes[ j ].className.replace( 'Hover', '' );
						break;
					}
				}
			}
		}
	}
}


// BBCode / Emoticons
function InsertBeforeCursor( pFieldId, pValue )
{
    eField = document.getElementById( pFieldId );

    // IE support
    if ( document.selection )
    {
        eField.focus();
        var sel = document.selection.createRange();
        sel.text = pValue;
    }

    // MOZILLA/NETSCAPE support
    else if ( eField.selectionStart || eField.selectionStart == '0' )
    {
        var startPos = eField.selectionStart;
        var endPos = eField.selectionEnd;
        eField.value = eField.value.substring( 0, startPos )
                        + pValue
                        + eField.value.substring( endPos, eField.value.length );
    }

    // Fallback
    else
    {
        pField.value += pValue;
    }

    eField.focus();
}


// Misc validation
function CheckIfFieldsMatch( pField1Id, pField2Id, pOutputElementId )
{
    var eOutputElement = document.getElementById( pOutputElementId );
    var eField1Element = document.getElementById( pField1Id );
    var eField2Element = document.getElementById( pField2Id );

    if ( eField1Element.value == '' || eField2Element.value == '' )
    {
        eOutputElement.style.color = 'red';
        eOutputElement.innerHTML = 'voer een wachtwoord in a.u.b.';
    }
    else
    {
        if ( eField1Element.value == eField2Element.value )
        {
            eOutputElement.style.color = 'green';
            eOutputElement.innerHTML = 'wachtwoorden zijn OK';
        }
        else
        {
            eOutputElement.style.color = 'red';
            eOutputElement.innerHTML = 'wachtwoorden komen niet overeen';
        }
    }
}


// XmlHttp
function CheckIfLoginExists( pLogin, pOutputElement )
{
    globalBuffer = pOutputElement;

    var xmlHttpResponse = OpenRequest( applicationUrl + '/XmlHttp.php?script=CheckIfLoginExists&login=' + pLogin, CheckIfLoginExistsResponseHandler );
}

function CheckIfLoginExistsResponseHandler( pResponse, pResponseCode, pScript )
{
    var eOutputElement = document.getElementById( globalBuffer );
    globalBuffer = null;

    if ( eOutputElement != null )
    {
        // Split response text from code
        pResponse = pResponse.split( '/' );

        switch( pResponse[ 0 ] )
        {
            case 'positive':
                eOutputElement.style.color = 'green';
                break;
            case 'negative':
                eOutputElement.style.color = 'red';
                break;
            default:
                eOutputElement.style.color = '';
                break;
        }

        eOutputElement.innerHTML = pResponse[ 1 ];
    }
}

function OpenRequest( pScript, pHandler, pMethod, pQueryString )
{
	var xmlHttp = false;
	var xmlHttpResponse = null;

	/*@cc_on @*/
	/*@if (@_jscript_version >= 5)
	// JScript gives us Conditional compilation, we can cope with old IE versions.
	// and security blocked creation of the objects.
	try
	{
		xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
	}
	catch ( e )
	{
		try {
			xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch ( E )
		{
			xmlHttp = false;
		}
	}
	@end @*/

	if ( !xmlHttp && typeof XMLHttpRequest != 'undefined' )
	{
		try
		{
			xmlHttp = new XMLHttpRequest();
		}
		catch ( e )
		{
			xmlHttp = false;
		}
	}

	if ( !xmlHttp && window.createRequest )
	{
		try
		{
			xmlHttp = window.createRequest();
		}
		catch ( e )
		{
			xmlHttp = false;
		}
	}

	if ( !xmlHttp )
		return;

	// OnReadyStateChange function
	xmlHttp.onreadystatechange = function()
	{
		if ( xmlHttp != null )
		{
			if ( xmlHttp.readyState == 4 )
			{
				if ( xmlHttp.status == 200 )
					xmlHttpResponse = xmlHttp.responseText;
				else
					alert( 'Er is een verbindingsfout opgetreden tijdens het opvragen van de informatie.\r\nProbeer het a.u.b. opnieuw.' );

				if ( pHandler != null )
					pHandler( xmlHttpResponse, xmlHttp.status, pScript );
			}
		}
	}

	if ( !pMethod )
		var pMethod = "GET";

	var timestamp = new Date();
	if ( pScript.indexOf( '?' ) != '-1' )
		pScript += '&cache_Timestamp=' + escape( timestamp );
	else
		pScript += '?cache_Timestamp=' + escape( timestamp );

	xmlHttp.open( pMethod, pScript, true );
	if ( pMethod == "POST" )
	{
		if ( !pQueryString )
			pQueryString = null;

		xmlHttp.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded; charset=UTF-8" );
		xmlHttp.send( pQueryString );
	}
	else
	{
		xmlHttp.send( null );
	}
}

// Misc
function DisableSubmitButtonsInForm( eForm )
{
	// Get submit buttons
	for ( var i=0; i<eForm.elements.length; i++ )
	{
		var eFormElement = eForm.elements[ i ];
		if ( eFormElement.type == "submit" )
			eFormElement.disabled = true;
	}
}

function ResizeLargeImagesInPosts()
{
	var cImages = document.getElementsByTagName( 'IMG' );

    for( var i=0; i<cImages.length; i++ )
    {
        var eImageParent = cImages[ i ].parentNode;
        if ( eImageParent.id.indexOf( 'PostScrollArea' ) > -1 )
        {
            if ( eImageParent.clientWidth < cImages[ i ].clientWidth )
            {
                if ( document.all )
                    cImages[ i ].width = eImageParent.clientWidth;
                else
                    cImages[ i ].width = eImageParent.clientWidth - 14;

                cImages[ i ].style.margin = '-3px -3px 3px -3px';

                var eLinkElement = document.createElement( 'A' );
                eLinkElement.href = cImages[ i ].src;
                eLinkElement.target = '_blank';
                eLinkElement.style.display = 'block';
                eLinkElement.style.border = '1px solid #000';
                eLinkElement.style.backgroundColor = '#000';
                eLinkElement.style.color = '#FFF';
                eLinkElement.style.textDecoration = 'none';
                eLinkElement.style.padding = '3px';

                eImageParent.insertBefore( eLinkElement, cImages[ i ] );
                eLinkElement.appendChild( cImages[ i ] );
                eLinkElement.appendChild( document.createElement( "BR" ) );
                eLinkElement.appendChild( document.createTextNode( "Klik om te vergroten." ) );
            }
        }
    }
}