/**
 *		showForm()
 *
 *		Weergeeft formulier.
 **/
function showForm()
{
	// Hide link
	$( "#idDiv_ShowForm" ).hide();
	
	// Show form
	$( "#idDiv_Form" ).show();
	
	// No User-Agent follow
	return false;	
}



/**
 *		onOndertekeningSubmit()
 *
 *		Versturen van het teken formulier.
 **/
function onOndertekeningSubmit()
{
	// Ophalen veldwaarden
	var strNaam 			= $( "#idInput_Naam" ).val();
	var strWoonplaats		= $( "#idInput_Woonplaats" ).val();
	var strOpmerking		= $( "#idTextarea_Opmerking" ).val();
	
	// Trim
	strNaam 		= jQuery.trim( strNaam );
	strWoonplaats 	= jQuery.trim( strWoonplaats );
	strOpmerking 	= jQuery.trim( strOpmerking );
	
	// Encode
	strNaam			= encodeURIComponent( strNaam );
	strWoonplaats 	= encodeURIComponent( strWoonplaats );
	strOpmerking 	= encodeURIComponent( strOpmerking );
	
	
	// Reset highlighting
	$( ".Highlight" ).removeClass( "Highlight" );


	// Validatie
	// Naam is verplicht
	if ( strNaam.length == 0 )
	{
		// Highlight
		$( "#idInput_Naam" ).addClass( "Highlight" );
	
		// Message
		alert( "Je hebt geen naam ingevuld, dit is echter wel verplicht. Je mag ook alleen je voornaam invullen hoor ;-)" );

		// Focus
		$( "#idInput_Naam" ).get( 0 ).focus();	
	
		// Faillure
		return false;
	}
	
	
	// Woonplaats is verplicht
	if ( strWoonplaats.length == 0 )
	{
		// Highlight
		$( "#idInput_Woonplaats" ).addClass( "Highlight" );
	
		// Message
		alert( "Je hebt geen woonplaats ingevuld, dit is echter wel verplicht. We willen graag weten waar alle studenten vandaan komen!" );

		// Focus
		$( "#idInput_Woonplaats" ).get( 0 ).focus();	
	
		// Faillure
		return false;
	}

	// Disable button
	$( "#idButton_SubmitOndertekening" ).attr( "disabled", true );
	
	
	// Set up AJAX request
	var strDataUrl = "Method=PostOndertekening&Naam=" + strNaam + "&Woonplaats=" + strWoonplaats + "&Opmerking=" + strOpmerking;
	
	// Send AJAX request
	sendAjaxRequest( strDataUrl, "html", onOndertekeningSubmit_Callback );	// Processed in callback
	
	
	// No User-Agent follow
	return false;
}



/**
 *		Callback
 **/
function onOndertekeningSubmit_Callback( response )
{
	// Fetch response values
	var strResult 	= getXmlChildElementValue( response, "response", "result" );
	var strMessage 	= getXmlChildElementValue( response, "response", "message" );	

	// Success?
	if ( parseStringToBoolean( strResult ) )
	{
		// Hide form
		$( "#idDiv_Form" ).hide( 0 );
	
		// Get data
		var strData_Datum 		= getXmlChildElementValue( response, "data", "datum" );	
		var strData_Naam 		= getXmlChildElementValue( response, "data", "naam" );	
		var strData_Woonplaats 	= getXmlChildElementValue( response, "data", "woonplaats" );	
		var strData_Opmerking 	= getXmlChildElementValue( response, "data", "opmerking" );	
		
		// Add in GUI
		$( "#idSpan_New_Datum" ).html( strData_Datum );		
		$( "#idSpan_New_Naam" ).html( strData_Naam );		
		$( "#idSpan_New_Woonplaats" ).html( strData_Woonplaats );		

		try {
 			if ( strData_Opmerking.length > 0 )
			{
				$( "#idDiv_NewOndertekening_Opmerking" ).show(); 
				$( "#idSpan_New_Opmerking" ).html( strData_Opmerking );		
			}
		} catch(e)
		{}	
				
		// Show!
		$( "#idDiv_NewOndertekening" ).show( 500 );		
	}
	else
	{
		// Print error message
		alert( strMessage );
		
		// Enable button
		$( "#idButton_SubmitOndertekening" ).attr( "disabled", false );
	}
}






/**
 *		onAdminEnter()
 *
 *		Enter pressed in admin
 **/
function onAdminEnter( event )
{
	// Enter pressed?
	if ( event.keyCode == 13 ) {
		// Simulate click
		$( "#idButton_SubmitAdminLogin" ).click();
	}
}



/**
 *		onAdminOndertekeningEdit()
 *
 *		Wijzigen ondertekening.
 **/
function onAdminOndertekeningEdit( id )
{
	// Set up AJAX request
	var strDataUrl = "Method=PetitieOndertekeningData&Id=" + id;
	
	// Send AJAX request
	sendAjaxRequest( strDataUrl, "html", onAdminOndertekeningEdit_Callback );	// Processed in callback

	
	// No User-Agent follow
	return false;	
}



/**
 *		onAdminOndertekeningEdit()
 *
 *		Wijzigen ondertekening.
 **/
function onAdminOndertekeningEdit_Callback( response )
{
	// Fetch response values
	var strResult 	= getXmlChildElementValue( response, "response", "result" );
	var strMessage 	= getXmlChildElementValue( response, "response", "message" );	

	// Success?
	if ( parseStringToBoolean( strResult ) )
	{
		// Get data
		var strData_Id 			= getXmlChildElementValue( response, "data", "id" );	
		var strData_Naam 		= getXmlChildElementValue( response, "data", "naam" );	
		var strData_Woonplaats 	= getXmlChildElementValue( response, "data", "woonplaats" );	
		var strData_Opmerking 	= getXmlChildElementValue( response, "data", "opmerking" );	
	
	
		// Set values
		$( "#idInput_Naam_" + strData_Id ).val( strData_Naam );
		$( "#idInput_Woonplaats_" + strData_Id ).val( strData_Woonplaats );
		$( "#idTextarea_Opmerking_" + strData_Id ).val( strData_Opmerking );
	
	
		// Hide
		$( "#idSpan_NaamHolder_" + strData_Id ).hide();			// Naam
		$( "#idSpan_KommaHolder_" + strData_Id ).hide();		// Komma
		$( "#idSpan_WoonplaatsHolder_" + strData_Id ).hide();	// Woonplaats
		$( "#idSpan_OpmerkingHolder_" + strData_Id ).hide();	// Opmerking
		$( "#idDiv_EditLink_" + strData_Id ).hide();			// Edit-Link
		
		
		// Show
		$( "#idDiv_NaamEditor_" + strData_Id ).show();
		$( "#idSpan_WoonplaatsEditor_" + strData_Id ).show();
		$( "#idDiv_OpmerkingEditor_" + strData_Id ).show();
		$( "#idSpan_ProcessingLinks_" + strData_Id ).show();	// Save/Cancel-Links
	}
	else
	{
		alert( strMessage );		
	}	
}



/**
 *		onAdminOndertekeningEdit_Save()
 *
 *		Opslaan wijzigingen aan ondertekening.
 **/
function onAdminOndertekeningEdit_Save( id )
{
	// Ophalen veldwaarden
	var strNaam = $( "#idInput_Naam_" + id ).val();
	var strWoonplaats= $( "#idInput_Woonplaats_" + id ).val();
	var strOpmerking= $( "#idTextarea_Opmerking_" + id ).val();
	
	// Trim
	strNaam 		= jQuery.trim( strNaam );
	strWoonplaats 	= jQuery.trim( strWoonplaats );
	strOpmerking 	= jQuery.trim( strOpmerking );
	
	// Encode
	strNaam			= encodeURIComponent( strNaam );
	strWoonplaats 	= encodeURIComponent( strWoonplaats );
	strOpmerking 	= encodeURIComponent( strOpmerking );
	
	// Reset highlighting
	$( ".Highlight" ).removeClass( "Highlight" );


	// Validatie
	// Naam is verplicht
	if ( strNaam.length == 0 )
	{
		// Highlight
		$( "#idInput_Naam_" + id ).addClass( "Highlight" );
	
		// Message
		alert( "Naam is een verplicht veld!" );

		// Focus
		$( "#idInput_Naam_" + id ).get( 0 ).focus();	
	
		// Faillure
		return false;
	}
	
	
	// Woonplaats is verplicht
	if ( strWoonplaats.length == 0 )
	{
		// Highlight
		$( "#idInput_Woonplaats_" + id ).addClass( "Highlight" );
	
		// Message
		alert( "Woonplaats is een verplicht veld!" );

		// Focus
		$( "#idInput_Woonplaats_" + id ).get( 0 ).focus();	
	
		// Faillure
		return false;
	}

	
	// Set up AJAX request
	var strDataUrl = "Method=UpdateOndertekening&Id=" + id + "&Naam=" + strNaam + "&Woonplaats=" + strWoonplaats + "&Opmerking=" + strOpmerking;
	
	// Send AJAX request
	sendAjaxRequest( strDataUrl, "html", onAdminOndertekeningEdit_Save_Callback );	// Processed in callback
	

	// No User-Agent follow
	return false;	
}



/**
 *		onAdminOndertekeningEdit_Save_Callback()
 *
 *		Callback na updaten ondertekening.
 **/
function onAdminOndertekeningEdit_Save_Callback( response )
{
	// Fetch response values
	var strResult 	= getXmlChildElementValue( response, "response", "result" );
	var strMessage 	= getXmlChildElementValue( response, "response", "message" );	


	// Success?
	if ( parseStringToBoolean( strResult ) )
	{
		// Get data
		var strData_Id 			= getXmlChildElementValue( response, "data", "id" );	
		var strData_Naam 		= getXmlChildElementValue( response, "data", "naam" );	
		var strData_Woonplaats 	= getXmlChildElementValue( response, "data", "woonplaats" );	
		var strData_Opmerking 	= getXmlChildElementValue( response, "data", "opmerking" );	
	
	
	
		// Set values
		$( "#idSpan_NaamHolder_" + strData_Id ).html( strData_Naam );
		$( "#idSpan_WoonplaatsHolder_" + strData_Id ).html( strData_Woonplaats );
		$( "#idSpan_OpmerkingHolder_" + strData_Id ).html( strData_Opmerking );
	
	
		// Show
		$( "#idSpan_NaamHolder_" + strData_Id ).show();			// Naam
		$( "#idSpan_KommaHolder_" + strData_Id ).show();		// Komma
		$( "#idSpan_WoonplaatsHolder_" + strData_Id ).show();	// Woonplaats
		$( "#idSpan_OpmerkingHolder_" + strData_Id ).show();	// Opmerking
		$( "#idDiv_EditLink_" + strData_Id ).show();			// Edit-Link
		
		
		// Hide
		$( "#idDiv_NaamEditor_" + strData_Id ).hide();
		$( "#idSpan_WoonplaatsEditor_" + strData_Id ).hide();
		$( "#idDiv_OpmerkingEditor_" + strData_Id ).hide();
		$( "#idSpan_ProcessingLinks_" + strData_Id ).hide();	// Save/Cancel-Links
	}
	else
	{
		// Print error message
		alert( strMessage );
	}
}



/**
 *		onAdminOndertekeningEdit_Save()
 *
 *		Annuleren wijzigingen aan ondertekening.
 **/
function onAdminOndertekeningEdit_Cancel( id )
{
	// Show
	$( "#idSpan_NaamHolder_" + id ).show();			// Naam
	$( "#idSpan_KommaHolder_" + id ).show();		// Komma
	$( "#idSpan_WoonplaatsHolder_" + id ).show();	// Woonplaats
	$( "#idSpan_OpmerkingHolder_" + id ).show();	// Opmerking
	$( "#idDiv_EditLink_" + id ).show();			// Edit-Link
	
	
	// Hide
	$( "#idDiv_NaamEditor_" + id ).hide();
	$( "#idSpan_WoonplaatsEditor_" + id ).hide();
	$( "#idDiv_OpmerkingEditor_" + id ).hide();
	$( "#idSpan_ProcessingLinks_" + id ).hide();	// Save/Cancel-Links

	// No User-Agent follow
	return false;		
}



/**
 *		onAdminLoginSubmit()
 *
 *		Versturen van het login formulier.
 **/
function onAdminLoginSubmit()
{
	// Ophalen veldwaarden
	var strUsername = $( "#idInput_Username" ).val();
	var strPassword = $( "#idInput_Password" ).val();
	
	
	// Check
	if ( strUsername.length == 0 || strPassword.length == 0 ) {
		alert( "Vul je gebruikersnaam en wachtwoord in" );
		return false;
	}
	
	
	// Trim
	strUsername = jQuery.trim( strUsername );
	strPassword = jQuery.trim( strPassword );
	
	// Encode
	strUsername = hex_md5( strUsername );
	strPassword = hex_md5( strPassword );
	
	
	// Set up AJAX request
	var strDataUrl = "Method=AdminLogin&Username=" + strUsername + "&Password=" + strPassword;
	
	// Send AJAX request
	sendAjaxRequest( strDataUrl, "xml", onAdminLoginSubmit_Callback );	// Processed in callback
	
	// No User-Agent follow
	return false;
}



/**
 *		Callback
 **/
function onAdminLoginSubmit_Callback( response )
{
	// Fetch response values
	var strResult 	= getXmlChildElementValue( response, "response", "result" );
	var strMessage 	= getXmlChildElementValue( response, "response", "message" );	

	// Success?
	if ( parseStringToBoolean( strResult ) )
	{
		// Clear form field
		var strUsername = $( "#idInput_Username" ).val( "" );
		var strPassword = $( "#idInput_Password" ).val( "" );
		
		$( "#idDiv_Form" ).html( "<span class=\"HighlightBackground SmallPadding\">" + strMessage + "</span>" );
	}
	else
	{
		alert( strMessage );
	}
}



/**
 *		onAdminOndertekeningDelete()
 *
 *		Versturen van verwijdering.
 **/
function onAdminOndertekeningDelete( id )
{
	// Confirmation
	if ( ! confirm( "Weet u zeker dat u deze ondertekening PERMANENT wilt verwijderen?" ) )
		return false;

	// Set up AJAX request
	var strDataUrl = "Method=AdminDeleteOndertekening&Id=" + id;
	
	// Send AJAX request
	sendAjaxRequest( strDataUrl, "xml", onAdminOndertekeningDelete_Callback );	// Processed in callback

	// No User-Agent follow
	return false;
}


/**
 *		Callback
 **/
function onAdminOndertekeningDelete_Callback( response )
{
	// Fetch response values
	var strResult 	= getXmlChildElementValue( response, "response", "result" );
	var strMessage 	= getXmlChildElementValue( response, "response", "message" );	

	// Success?
	if ( parseStringToBoolean( strResult ) )
	{
		var strId 	= getXmlChildElementValue( response, "data", "id" );	
		
		// Remove from GUI
		$( "#idDiv_Ondertekening_" + strId ).hide( 1000 );
	}
	else
	{
		alert( strMessage );
	}
}