

function Logger(values)
{
	var _windowName = "LoggerWindow";
	var _windowCreate = "";
	
	var clientIP = "";
	
    var win = window;

	var loggingIPAddresses = new Array();

	loggingIPAddresses[0] = '127.0.0.1';
	loggingIPAddresses[1] = '192.168.3';
	loggingIPAddresses[2] = '209.221.8.194';
	
	var _performLogging = false;
	
	var _documentURL = document.location.toString();
	
	if ( _documentURL.indexOf('localhost') != -1 || _documentURL.indexOf('build') != -1)
	{
		//alert("gonna log for localhost");
		//_performLogging = true;
	}
	
	
	if ( _performLogging )
	{
		win = window.open("", null, "width=500,height=400," +
	                          "scrollbars=yes,resizable=yes,status=no," +
	                          "location=no,menubar=no,toolbar=no");

						if (win != null) {
						        //if (!win) return;
						var _log = "log";
					
						var _erase = "<script> function erase() {  var _divLog = document.getElementById('log'); _divLog.innerHTML = '';}</script>";
						_erase += '<a href="javascript:" onclick="erase();">erase</a>';
						
						var _close = "<script> function closeWindow() { window.opener._logger._performLogging = false; self.close(); } </script> <a href='javascript:' onclick='closeWindow();'>close</a>";
						
						var _updateDiv = "<script> function updateDiv() { var _divLog = document.getElementById('log'); _divLog.scrollTop = _divLog.scrollHeight; var _divUpdateTimeout = setTimeout('updateDiv()',100); } </script>"
						_updateDiv += "<script> updateDiv(); </script>"
						        var doc = win.document;
						        doc.write("<html><head><title>Debug Log</title></head>" +
						                  "<body style='font-family:verdana;font-size:10px;margin-left:1px;margin-right:1px;margin-top:1px;'>" + _erase + _close + "<div id='log' style='width: 490px;height:375px;overflow:auto;'></div>" + _updateDiv + "</body></html>");
						        doc.close();
						        //log.window_ = win;
						}
		win.focus();
	}
	
	//this.logEvent( this.getRunLevel(),this,'logger init complete');
	
	this.runLevel = "";
	this.setRunLevel = function (x) { this.runLevel = x;  }
	this.getRunLevel = function () { return this.runLevel; }
	
	this.logInNewWindow = false;
	this.setLogInNewWindow = function(x) { this.logInNewWindow = x; }
	this.getLoginInNewWindow = function() { return this.logInNewWindow; }
	
	this.loggingDiv = "divLogger";
	this.setLoggingDiv = function(x) { this.loggingDiv = x; }
	this.getLoggingDiv = function() { return this.loggingDiv; }
	
	this.styleColorCounter = 0;
	
	// iterate through all the configurations and populate local variables
	for (var n in values) 
	{ 
		//alert( n  + values[n]);
		this[n] = values[n]; 
		 
	}
	
	for(var x=0; x < loggingIPAddresses.length ;x++)
	{
		if ( this.clientIP == loggingIPAddresses[x] )
		{
			//alert( loggingIPAddresses[x] );
		}
	}
	
	
	this.logEvent = function (runLevel,x,message)
	{	
		if ( _performLogging && ! win.closed)
		{
			var time = new Date()
			var hours = time.getHours()
			var minutes = time.getMinutes();
			minutes=((minutes < 10) ? "0" : "") + minutes
			var seconds = time.getSeconds()
			seconds=((seconds < 10) ? "0" : "") + seconds
			var clock = hours + ":" + minutes + ":" + seconds
		
		
		
			if ( this.styleColorCounter%2)
			{
				_styleColor = 'wheat';
			}
			else
			{
				_styleColor = 'white';
			}

	        //var win = window.open("", null, "width=400,height=200," +
	        //                      "scrollbars=yes,resizable=yes,status=no," +
	        //                      "location=no,menubar=no,toolbar=no");
		

			//try
			//{
			    var logLine = win.document.createElement("div");
			    //logLine.appendChild(win.document.createTextNode(clock + "||" + this.getRunLevel() + "||" + x.name + "||" + message) );
				var _div = win.document.getElementById('log') ;
				//win.document.body.innerHTML += "<br/>" + clock + "::" + this.getRunLevel() + "::" + x + "::" + message;
				//alert(_div)
				//win.close();
				_div.innerHTML += ("<br/> <div id='logRow' style='line-height:10px;background-color:" + _styleColor + ";'>" + clock + "::" + this.getRunLevel() + "::" + x + "::" + message + "</div>") ;   
		
				this.styleColorCounter++; 
			//}
			//catch (ex)
			//{
			
			//}
		}
	}
	

	
}




