/*******************************************************************************
Author : Roger D. Hosto Jr.
Version : Version 1.0 - Oct 6, 2006
*******************************************************************************
Notes :
*******************************************************************************
The code displayed in the usage area should be placed in the HEAD of the HTML 
document at the end of the page. This code also sets a session cookie, so you
will see the some message until it is reset
*******************************************************************************
Usage :
*******************************************************************************
//This calls the javascript library
<script type="text/javascript" src="randomMessage.js"></script>
<script type="text/javascript">
// Creates a new object
var randMesg = new randomMessage();
// You must add at least two messages for this to work
randMesg.addMessage( "Testing 1");
randMesg.addMessage( "Testing 2");
randMesg.addMessage( "Testing 3");
// This will randomly select a message to be displayed
randMesg.init();
</script>
// You can use this to display the message in your HTML
<script type="text/javascript">randMesg.displayMessage</script>
//root you can call in another script with this
document.write( randMesg.message );
*******************************************************************************/
/*
 * ONLY EDIT ANYTHING BELOW HERE IF YOU TRUELY KNOW WHAT YOU ARE DOING
 */
function randomMessage( name ) {
	//Public Variables
	this.message = null;
	this.setname = name;
	//Private Variables
	var CookieArray = new Array();
	var Messages = new Array();
	var that=this;
	/*
	 * Public Function
	 */
	// randomMessage.addMessage( "text message" );
	this.addMessage = function( mesg ) {
		var len = Messages.length;
		Messages[ len ] = mesg;
	}// end randomMessage.addMessage();
	//randomMessage.getMessage();
	this.init = function() {
		var num = null;
		parseCookie();
		if( this.setname ) {
			var rr= that.setname;
		}else{
			var rr="rmesg";
		}
		if( Messages.length > 0 ) {
			if( ( num = getCookie( rr ) ) == null ) {
				var num = Math.floor( ( Math.random() * ( Messages.length ) ) );
				setCookie( num );
			}
			this.message = Messages[num];
		} else {
			alert( "Error: There are no messages.\n Please add Messages with the randomMessage.addMessage( \"Message Goes Here\" ); " );
	        }
	}
	this.displayMessage = function() {
		if( this.message != null ) {
			document.write(this.message);
		} else {
			if( confirm( "Rrror : There is no message.\n Would you like to see the Documentation for this script" ) ) {
			    showHelp();
			}
	        }
	}
	// showHelp()
	function showHelp(){
		mesg = "//This calls the javascript library\n";
		mesg += "<script type=\"text/javascript\" src=\"randomMessage.js\"></script>\n";
		mesg += "<script type=\"text/javascript\">\n";
		mesg += "// Creates a new object\n";
		mesg += "var randMesg = new randomMessage();\n";
		mesg += "// You must add at least two messages for this to work\n";
		mesg += "randMesg.addMessage( \"Message 1\" );\n";
		mesg += "randMesg.addMessage( \"Message 2\" );\n";
		mesg += "randMesg.addMessage( \"Message 3\" );\n";
		mesg += "// This will randomly select a message to be displayed\n";
		mesg += "randMesg.init();\n";
		mesg += "</script>\n";
		mesg += "// You can use this to display the message in your HTML\n";
		mesg += "<script type=\"text/javascript\">randMesg.displayMessage</script>\n";
		mesg += "//or you can call in another script with this\n";
		mesg += "document.write( randMesg.message );\n";
		alert( mesg );
	}// end showHelp()
	// parseCookie()
	function parseCookie() {
		var CookieStr = document.cookie;
		var CookieSt = CookieStr.split( ';' );
		var StSize = CookieSt.length;
		for ( x = 0; ( x < StSize ); x++ ){
			CookiePces = CookieSt[x].split( '=' );
			var len = CookieArray.length;
			CookieArray[ len ] = new Array();
			// Make the remove the leading white space
			CookieArray[ len ][0] = CookiePces[0].replace( /^\s/, "");
			CookieArray[ len ][1] = unescape( CookiePces[1] );
		}
		return null;
	}//end parseCookie
	// returns the value of the key
	function getCookie( str ) {
		var len = CookieArray.length;
		for( x = 0; x < len; x++ ) {
			if( str == CookieArray[x][0] ) {
				return CookieArray[x][1];
			}
		}
		return null;
	}//end getCookie
	// seta Cookie
	function setCookie( data ) {
		if( that.setname ) {
			var rr= that.setname;
		}else{
			var rr="rmesg";
		}
		document.cookie = that.setname+"="+data+"; path=/ ;";
	}//end setCookie
}
