/*
*	Activate / deactivate several standard onload-scripts
*/
var g_bMouseOver = true;
var g_bMenu = true;

/*
*	Run onload functions if they're activated
*/
window.onload = function() 
{
	// Show submenu a page in the specific menu is shown.
	var sPage = document.getElementsByTagName( 'body' ).item( 0 ).getAttribute( 'name' );
	if( document.getElementById( sPage ) )
	{
		document.getElementById( sPage ).className = 'subover';
		document.getElementById( sPage ).parentNode.parentNode.style.display = 'block';
	}		
	
	// If activated, add mouseover functions.
	if( g_bMouseOver )
		onLoadMouseOver();
	
	// If activated, add submenu functions
	if( g_bMenu )
		onLoadMenu();

	adjustAnchors();
}

/*
*	Standard onload functions
*/

/*
*	onLoadMouseOver()
*	Adds mouseover functionality to images with the 'rel'-attribute set to 'mouseover'.
*
*	Usage: Add a 'rel'-attribute to an image and set the 'name'-attribute to the basename of the image;
*	f.e.:	rel="mouseover" name="button" ( for images called 'button.gif' and 'button_ov.gif' )
*	To just highlight an image ( i.e. show the onmouseover image ), set the 'rel'-attribute to 'active'.
*/
function onLoadMouseOver()
{
	if( !document.getElementById )
		return false;

	// Get list of all image-elements.
	var l_eImages = document.getElementsByTagName( 'img' );

	// Itterate through list to identify images to add mouseover to.
	for( var i = 0; i < l_eImages.length; i++ )
	{
		var l_eImage = l_eImages[ i ];
		
		// If 'rel'-attribute is set to 'mouseover'
		if( l_eImage.getAttribute( "rel" ) == "mouseover" )
		{
			l_eImage.onmouseover = function() { this.src = 'images/' + this.getAttribute( 'name' ) + '_ov.gif'; }
			l_eImage.onmouseout = function() { this.src = 'images/' + this.getAttribute( 'name' ) + '.gif'; }
		}
		else if( l_eImage.getAttribute( "rel" ) == "active" )
		{
			l_eImage.src = 'images/' + l_eImage.name + '_ov.gif';
		}
	}
}

/*
*	onLoadMenu()
*
*/
function onLoadMenu()
{
	if( !document.getElementById )
		return false;

	// Get list of all image-elements.
	var l_eAnchors = document.getElementsByTagName( 'a' );

	// Itterate through list to identify images to add mouseover to.
	for( var i = 0; i < l_eAnchors.length; i++ )
	{
		var l_eAnchor = l_eAnchors[ i ];

		var l_sRel = String( l_eAnchor.getAttribute( "rel" ) );

		if( l_sRel.indexOf( 'submenu' ) == 0 )
		{
			l_sRel = l_sRel.split( '[' );
			l_sRel = l_sRel[1].split( ']' );

			l_eAnchor.l_sName = l_sRel[0];

			l_eAnchor.onclick = function() 
			{
				var l_eSubmenu = document.getElementById( this.l_sName );

				if( l_eSubmenu.bActive )
				{
					Effect.SlideUp( l_eSubmenu, {duration: 0.4});
					//l_eSubmenu.style.display = "none";
					l_eSubmenu.bActive = false;
				}
				else
				{
					Effect.SlideDown( l_eSubmenu, {duration: 0.4});
					//l_eSubmenu.style.display = "block";					
					l_eSubmenu.bActive = true;
				}

				return false;
			}
		}
	}
}

/*
*	adjustAnchors()
*/
function adjustAnchors()
{
	if ( document.createElement && document.getElementsByTagName )
	{
		var l_lAnchors = document.getElementsByTagName("a");
		for ( var i = 0; i < l_lAnchors.length; i++ )
		{
			var l_eAnchor = l_lAnchors[i];
			if ( l_eAnchor.getAttribute( "rel" ) == "ext" )
			{
				l_eAnchor.target = "_blank";
			}
		}
	}
}

/*
*	unfold()
*/
function unfold( p_sId, p_eImage )
{
	if ( !document.getElementById )
		return false;

	var l_eElement = document.getElementById( p_sId );

	if( !l_eElement.bUnfolded || l_eElement.bUnfolded == null )
	{
		l_eElement.style.display = 'block';
		p_eImage.setAttribute( 'src', 'images/min.gif' );
		l_eElement.bUnfolded = true;
	}
	else
	{
		l_eElement.style.display = 'none';
		p_eImage.setAttribute( 'src', 'images/plus.gif' );
		l_eElement.bUnfolded = false;
	}

	return false;
}

/*
*	Get login data
*/
function Login()
{
	if ( !document.getElementById )
		return false;

	var l_sUsername = document.getElementById( 'username' ).value;
	var l_sPassword = document.getElementById( 'password' ).value;

	var l_eMessage = document.getElementById( 'message' );
	Effect.Appear( l_eMessage, {duration: 0.4, from: 0.0, to: 1.0});


	new Ajax.Request('ajax-files/login.php', {
		parameters: { username: l_sUsername, password: l_sPassword },
		onSuccess: function( p_oResult ) {
			l_oXml = p_oResult.responseXML;

			var l_eError = l_oXml.getElementsByTagName( 'error' ).item( 0 );
			if( l_eError.getAttribute( 'fault' ) == 1 )
			{
				l_eMessage.innerHTML = l_eError.firstChild.nodeValue;
			}
			else
			{
				
				Effect.Appear( l_eMessage, {duration: 0.4, from: 1.0, to: 0.0});
				var l_iId = l_oXml.getElementsByTagName( 'user' ).item( 0 ).getAttribute( 'id' );
				
				var l_sAanhef = l_oXml.getElementsByTagName( 'aanhef' ).item( 0 ).firstChild.nodeValue;
				var l_sVoornaam = l_oXml.getElementsByTagName( 'voornaam' ).item( 0 ).firstChild.nodeValue;
				if( l_oXml.getElementsByTagName( 'tussenvoegsel' ).item( 0 ).firstChild != undefined ) {
					var l_sTussenvoegsel = l_oXml.getElementsByTagName( 'tussenvoegsel' ).item( 0 ).firstChild.nodeValue;
				} else {
					var l_sTussenvoegsel = "";
				}
				var l_sAchternaam = l_oXml.getElementsByTagName( 'achternaam' ).item( 0 ).firstChild.nodeValue;
				var l_sAdres = l_oXml.getElementsByTagName( 'adres' ).item( 0 ).firstChild.nodeValue;
				var l_sPostcode = l_oXml.getElementsByTagName( 'postcode' ).item( 0 ).firstChild.nodeValue;
				var l_sPlaats = l_oXml.getElementsByTagName( 'plaats' ).item( 0 ).firstChild.nodeValue;
				var l_sTelefoon = l_oXml.getElementsByTagName( 'telefoon' ).item( 0 ).firstChild.nodeValue;
				var l_sEmail = l_oXml.getElementsByTagName( 'email' ).item( 0 ).firstChild.nodeValue;
				if( l_oXml.getElementsByTagName( 'bedrijfsnaam' ).item( 0 ).firstChild != undefined ) {
					var l_sBedrijfsnaam = l_oXml.getElementsByTagName( 'bedrijfsnaam' ).item( 0 ).firstChild.nodeValue;
				} else {
					var l_sBedrijfsnaam = "";
				}
				
				var l_sKorting = l_oXml.getElementsByTagName( 'korting' ).item( 0 ).firstChild.nodeValue;
				
				document.afrekenen.userid.value = l_iId;
				setRadioButton( document.afrekenen.aanhef, l_sAanhef );				
				document.afrekenen.voornaam.value = l_sVoornaam;
				document.afrekenen.tussenvoegsel.value = l_sTussenvoegsel;
				document.afrekenen.achternaam.value = l_sAchternaam;
				document.afrekenen.adres.value = l_sAdres;
				document.afrekenen.postcode.value = l_sPostcode;
				document.afrekenen.plaats.value = l_sPlaats;
				document.afrekenen.telefoon.value = l_sTelefoon;
				document.afrekenen.email.value = l_sEmail;
				document.afrekenen.bedrijfsnaam.value = l_sBedrijfsnaam;
				
				if( l_sKorting != '0' )
				{
					document.getElementById( 'klant' ).style.display = 'block';
					document.afrekenen.klantenkorting.value = l_sKorting;
					document.getElementById( 'klantenkortingproc' ).innerHTML = l_sKorting;
				}

				document.getElementById( 'oprekening' ).style.display = 'block';

				updatePage();
			}
			
		},
		onFailure: function() {
			l_eMessage.innerHTML = 'Er is een fout opgetreden. Neem contact met ons op als dit probleem blijft bestaan'; 
		}
	} ); 
}

/*
*	Set value of a radiobutton.
*/
function setRadioButton( p_eRadio, p_sValue ) {
	if( !p_eRadio )
		return;
	var l_iLength = p_eRadio.length;
	if( l_iLength == undefined ) {
		p_eRadio.checked = ( p_eRadio.value == p_sValue.toString() );
		return;
	}
	for(var i = 0; i < l_iLength; i++) {
		p_eRadio[i].checked = false;
		if(p_eRadio[i].value == p_sValue.toString()) {
			p_eRadio[i].checked = true;
		}
	}
}

/*
*	Set a number to currency format.
*/
function toCurrency( p_iPrice )
{
	var i = parseFloat( p_iPrice );
	if(isNaN(i)) { i = 0.00; }
	var minus = '';
	if(i < 0) { minus = '-'; }
	i = Math.abs(i);
	i = parseInt((i + .005) * 100);
	i = i / 100;
	s = new String(i);
	if(s.indexOf('.') < 0) { s += ',00'; }
	if(s.indexOf('.') == (s.length - 2)) { s += '0'; }
	s = minus + s;
	return s.replace( '.', ',' );
}
