// Site-wide enable/disable button
// 
// By Jonathan Clark
// Written on May 24, 2004
//
// REQUIRES: sub_cookie.js

var defaultEnableState = true;
var enableButtonText = 'Enable';
var disableButtonText = 'Disable';
var enableMessage = 'This feature will be enabled the next time you load a page on this site.';
var disableMessage = 'This feature will be disabled the next time you load a page on this site.';

// OPTION FUNCTIONS -----------------------------------------------------------------------------------------------------
function setEnableButtonText( str ) {
	enableButtonText = str;
}
function setDisableButtonText( str ) {
	disableButtonText = str;
}
function setEnableMessage( str ) {
	enableMessage = str;
}
function setDisableMessage( str ) {
	disableMessage = str;
}
function setDefaultEnableState( bool ) {
	defaultEnableState = bool;
}

// MAIN PROGRAM FUNCTIONS -----------------------------------------------------------------------------------------------

function loadEnableState() {
	enableState = toBoolean( getSubCookie( "EnableV1", "State" ) );
	if( enableState != true && enableState != false ) {
		enableState = defaultEnableState;
		saveEnableState( enableState );
	}
	return enableState;
}

function saveEnableState( state ) {
	setSubCookie( "EnableV1", "State", state );
}

// Show the enable/disable button on the page
function writeButton() {
	var localButtonText = "Enable V1";
	var enableState = loadEnableState();
	if( enableState == true )
		localButtonText = disableButtonText;
	else if( enableState == false )
		localButtonText = enableButtonText;
	document.write( '<form name="enableForm"><input type="button" name="enableButton" value="' + localButtonText + '" onClick="toggleEnableState();"></form>' );
}

// Toggle enable/disable state
function toggleEnableState() {
	var enableState = loadEnableState();
	if( enableState == true ) {
		enableState = false;
		alert( disableMessage );
		document.enableForm.enableButton.value = enableButtonText;
	}
	else if( enableState == false ) {
		enableState = true;
		alert( enableMessage );
		document.enableForm.enableButton.value = disableButtonText;
	}
	saveEnableState( enableState );
}

function beginEnabledCodeblock() {
	var enableState = loadEnableState();
	if( enableState == false )
		document.write( '<!--' );
}

function toBoolean( str ) {
	if( str == "true" )
		return true;
	else if( str == "false" )
		return false;
	return null;
}
	