WME AutoUR

Autofill UR comment boxes with user defined canned messages

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

// ==UserScript==
// @name        WME AutoUR
// @namespace   com.supermedic.wmeautour
// @description Autofill UR comment boxes with user defined canned messages
// @version     0.13.6
// @grant       none
// @match       https://editor-beta.waze.com/*editor/*
// @match       https://www.waze.com/*editor/*
// @thx			RickZAbel for the icon
// @icon      	data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB8AAAAlCAYAAAC6TzLyAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDIxIDc5LjE1NTc3MiwgMjAxNC8wMS8xMy0xOTo0NDowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowMzZiNThiMS1jNjMxLWU4NGEtOWJkNi1lZDhlMTc3ODMwYTAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RDMzOThDRTg4NjVEMTFFNDhGOTdBMjgwMzlCNkU5OEYiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RDMzOThDRTc4NjVEMTFFNDhGOTdBMjgwMzlCNkU5OEYiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6ODE4MzI1YmUtZWRjOS0zYjQzLTkyZDctOTZkOTkyMjFkMzE4IiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6ODRjODI0MDAtODY1ZC0xMWU0LThjNzgt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
// ==/UserScript==


/* Changelog
 * 0.13.6 - Updated merge issues
 * 0.13.5 - Merge with SK
 * 0.13.4 - Reset bugfix
 * 0.13.3 - Fixed fatal error when new settings not present
 * 0.13.2 - Issues Fixed/Closed: #39  Added insert offset along with setting to tune offset
 * 0.13.1 - Stale/Dead messages tied to filters Issues Fixed/Closed: #36 #26 #2 #8
 * 0.13.0 - Icon added (Thank you RickZAbel)
 */

function wme_auto_ur_bootstrap() {
  console.info("WME-AutoUR: starting (bootstrap)");
	var bGreasemonkeyServiceDefined     = false;

	try {
		if ("object" === typeof Components.interfaces.gmIGreasemonkeyService) {
			bGreasemonkeyServiceDefined = true;
		}
	}
	catch (err) {
		//Ignore.
	}
	if ( "undefined" === typeof unsafeWindow  ||  ! bGreasemonkeyServiceDefined) {
		unsafeWindow    = ( function () {
			var dummyElem   = document.createElement('p');
			dummyElem.setAttribute ('onclick', 'return window;');
			return dummyElem.onclick ();
		} ) ();
	}
	/* begin running the code! */
	WMEAutoUR_Create();
}

//--------------------------------------------------------------------------------------------------------------------------------------------
//----------------------  WMEAutoUR FUNCTIONS  -----------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------------------------------------------------------
/**
 *@since version 0.10.0
 */
function WMEAutoUR_Create() {
	unsafeWindow.WMEAutoUR = {};
	WMEAutoUR.version = '0.13.6';
	WMEAutoUR.logPrefix = 'WMEAutoUR';

	//--------------------------------------------------------------------------------------------------------------------------------------------
	//--------------------------------------------------------------------------------------------------------------------------------------------
	//-------------  ##########  START CODE FUNCTION ##########  ---------------------------------------------------------------------------------
	//--------------------------------------------------------------------------------------------------------------------------------------------
	//--------------------------------------------------------------------------------------------------------------------------------------------
	/**
	 *@since version 0.0.1
	 */
	WMEAutoUR.startcode = function () {
		console.info("WME-AutoUR: startcode");
		// Check if WME is loaded, if not, waiting a moment and checks again. if yes init WMEChatResize
		try {
			//if ("undefined" != typeof unsafeWindow.W.model.chat.rooms._events.listeners.add[0].obj.userPresenters[unsafeWindow.Waze.model.loginManager.user.id] ) {
			if ("undefined" != typeof Waze.map ) {
				console.info("WME-AutoUR: ready to go");
				WMEAutoUR.init();
			} else {
				console.info("WME-AutoUR: waiting for WME to load...");
				setTimeout(WMEAutoUR.startcode, 1000);
			}
		} catch(err) {
			console.info("WME-AutoUR: waiting for WME to load...(caught in an error)");
			console.info("WME-AutoUR: Error:" + err.lineNumber + ") "+err);
			setTimeout(WMEAutoUR.startcode, 1000);
		}
	};
	//--------------------------------------------------------------------------------------------------------------------------------------------
	//--------------------------------------------------------------------------------------------------------------------------------------------
	//-------------  ##########  START CODE FUNCTION ##########  ---------------------------------------------------------------------------------
	//--------------------------------------------------------------------------------------------------------------------------------------------
	//--------------------------------------------------------------------------------------------------------------------------------------------

	/**
	 *@since version 0.0.1
	 */
	WMEAutoUR.init = function() {
			WMEAutoUR.isBeta = null;
		if(Waze.Config.api_base === "/Descartes-beta/app") {
			WMEAutoUR.isBeta = true;
		} else if(Waze.Config.api_base === "/Descartes-live/app") {
			WMEAutoUR.isBeta = false;
		}
		// --- Setup Options --- //
		WMEAutoUR.Options = {};
		// --- Setup Intervals --- //
		WMEAutoUR.Intervals = {};
		// --- Load Settings --- //
		WMEAutoUR.Settings.Load();
		console.info("WME-AutoUR: starting (init)");
		// --- Create Floating UI --- //
		//WMEAutoUR_Create_FloatUI();
		// --- Create Floating UI --- //
		WMEAutoUR_Create_TabbedUI();
	// @since 0.8.2 - Turned off auto UR finding
		WMEAutoUR.Auto.index = 0;
		//WMEAutoUR.Intervals.getActive = window.setInterval(WMEAutoUR.UR.getActive,250);
		//WMEAutoUR.Intervals.SaveSettings = window.setInterval(WMEAutoUR.Settings.Save,30000);
		WMEAutoUR.showDevInfo();
		//WMEAutoUR_TabbedUI.hideWindow();
		$(document).tooltip();
		W.model.mapUpdateRequests.events.register("objectschanged", null, WMEAutoUR.UR.URsRefreshed);
		W.model.mapUpdateRequests.events.register("objectsadded", null, WMEAutoUR.UR.URsRefreshed);
		W.model.mapUpdateRequests.events.register("objectsremoved", null, WMEAutoUR.UR.URsRefreshed);
		WMEAutoUR.UR.URsRefreshed();
	};


	//--------------------------------------------------------------------------------------------------------------------------------------------
	//----------------------  MANUAL UR FUNCTIONS  -----------------------------------------------------------------------------------------------
	//--------------------------------------------------------------------------------------------------------------------------------------------
	/**
	 *@since 0.10.0
	 */
	WMEAutoUR.UR = {



		/**
		 *@since version 0.9.0
		 */
		//getActive: function() {
		newURSelected: function() {
			// --- Make beta UR window draggable --- //
			if(WMEAutoUR.isBeta) {
				window.setTimeout(function(){$('#panel-container .panel').draggable();},750);
				console.info("Make Beta UR Panel draggable");
			}
			console.info("WME-AutoUR getActive");
			WMEAutoUR.UR.selectedURid = $(this).attr('data-id');
			console.info(WMEAutoUR.UR.selectedURid);
			$('span[id="WME_AutoUR_Info"]').html(WMEAutoUR.UR.getInfo(WMEAutoUR.UR.selectedURid));
			//WMEAutoUR.Messages.Change(Waze.updateRequestsControl.currentRequest.attributes.type);
			WMEAutoUR.Messages.ChangeEditor(Waze.model.mapUpdateRequests.objects[WMEAutoUR.UR.selectedURid].attributes.type);
			WMEAutoUR.Messages.ShowComment();
		},

		/**
		 *@since version 0.2.0
		 */
		getInfo: function(urID) {

			var error_update_user_id = '-1'; //  (user ID)
			var error_update_user = 'Reporter'; //  (user ID)

			//var urID = WMEAutoUR.UR.selectedURid;
			var urObj = Waze.model.mapUpdateRequests.objects[urID];

			var now_time = new Date().getTime(); // (error number)
			var error_id = urObj.attributes.id; // (id)
			var error_num = urObj.attributes.type; // (error number)
			var error_txt = urObj.attributes.typeText; // (error text)
			var error_comments = urObj.attributes.hasComments; // (are there comments?)

			var error_x = Waze.model.mapUpdateRequests.objects[urID].attributes.geometry.y; //  (y coord)
			var error_y = Waze.model.mapUpdateRequests.objects[urID].attributes.geometry.x; //  (x coord)
			var error_drive_date_obj = new Date(Waze.model.mapUpdateRequests.objects[urID].attributes.driveDate); //  (created usec)
			var error_update_date_obj = new Date(Waze.model.mapUpdateRequests.objects[urID].attributes.updatedOn); //  (updated usec)

			if(Waze.model.mapUpdateRequests.objects[urID].attributes.updatedBy) {
				error_update_user_id = Waze.model.mapUpdateRequests.objects[urID].attributes.updatedBy; //  (user ID)
				error_update_user = Waze.model.users.get(error_update_user_id).userName; //  (user ID)
			} else {
				error_update_user_id = '-1'; //  (user ID)
				error_update_user = 'Reporter'; //  (user ID)
			}


			var info_txt = '';
			info_txt = info_txt+"<b>Error:</b> "+error_txt+" ("+error_num+")<br>";
			//info_txt = info_txt+"Comment: "+error_comments+"<br>";
			//info_txt = info_txt+"X: "+error_x+"<br>";
			//info_txt = info_txt+"Y: "+error_y+"<br>";

			var error_update_date = Math.floor(((((now_time - error_update_date_obj.getTime())/1000)/60)/60)/24);
			error_update_date = ((error_update_date>180)?'never':(error_update_date + " days ago"));
			var error_drive_date = Math.floor(((((now_time - error_drive_date_obj.getTime())/1000)/60)/60)/24) + " days ago";

			info_txt = info_txt+"<b>Created:</b> "+error_drive_date+"<br>";
			info_txt = info_txt+"<b>Updated:</b> "+error_update_date+"<br>";
			info_txt = info_txt+"<b>By:</b> "+error_update_user+"<br>";
			info_txt = info_txt+"<b>URID:</b> "+error_id+"<br>";

			//$('span[id="WME_AutoUR_Info"]').html(info_txt);
			return info_txt;
		},

		//--------------------------------------------------------------------------------------------------------------------------------------------

		/**
		 *@since version 0.2.0
		 */
		URsRefreshed: function() {
			$('.map-problem.user-generated').click(WMEAutoUR.UR.newURSelected);
		}
	};

	//--------------------------------------------------------------------------------------------------------------------------------------------
	//----------------------  END MANUAL UR FUNCTIONS  -------------------------------------------------------------------------------------------
	//--------------------------------------------------------------------------------------------------------------------------------------------

	//--------------------------------------------------------------------------------------------------------------------------------------------
	//----------------------  AUTO UR FUNCTIONS  -------------------------------------------------------------------------------------------------
	//--------------------------------------------------------------------------------------------------------------------------------------------
	WMEAutoUR.Auto = {

		/**
		 *@since version 0.1.0
		 */
		getIDs: function() {

			console.info('getIds');
			var WMEAutoURViewport = Waze.map.getExtent();
			var WMEAutoURViewTop = WMEAutoURViewport.top;
			var WMEAutoURViewBottom = WMEAutoURViewport.bottom;
			var WMEAutoURViewLeft = WMEAutoURViewport.left;
			var WMEAutoURViewRight = WMEAutoURViewport.right;

			console.info(WMEAutoUR.logPrefix+": Getting Screen IDs");
			//WMEAutoUR.Auto.UR_Objs = Waze.model.mapUpdateRequests.objects;
			WMEAutoUR.Auto.UR_VIEW_IDs = []; // IDs in view
			WMEAutoUR.Auto.UR_WORK_IDs = []; // IDs after filter
			WMEAutoUR.Auto.UR_len = 0;
			WMEAutoUR.Auto.index = 0;
			for(var e in Waze.model.mapUpdateRequests.objects) {

				var cur_x = W.model.mapUpdateRequests.objects[e].attributes.geometry.x;
				var cur_y = W.model.mapUpdateRequests.objects[e].attributes.geometry.y;

				if((cur_x > WMEAutoURViewport.left) && (cur_x < WMEAutoURViewport.right)) {
					if((cur_y > WMEAutoURViewport.bottom) && (cur_y < WMEAutoURViewport.top)) {
						//Waze.updateRequestsControl.selectById(e);

						//Waze.updateRequestsControl.selectRequest(e);
						WMEAutoUR.Auto.UR_VIEW_IDs.push(e);
						console.info(e);
					}
				}
			}
			W.model.updateRequestSessions.get(WMEAutoUR.Auto.UR_VIEW_IDs);
// --- WHY ARE WE WAITING HERE? --- //
			window.setTimeout(WMEAutoUR.Auto.filterURs,1500);

			WMEAutoUR.Auto.index = 0;
			return;
		},

		//--------------------------------------------------------------------------------------------------------------------------------------------
		/**
		 *@since version 0.11.8RE
		 */
		filterURs: function() {
			console.info("FILTER URS");

			// --- now in usec --- //
			var now_time = new Date().getTime();

			for(var i=0; i<WMEAutoUR.Auto.UR_VIEW_IDs.length;i++) {
				var cur_ur_id = WMEAutoUR.Auto.UR_VIEW_IDs[i];
				//Waze.updateRequestsControl.selectById(cur_ur_id);
				//Waze.updateRequestsControl.selectRequest(cur_ur_id)
				// --- NO FILTER --- //
				if(WMEAutoUR.Auto.specialRejects(cur_ur_id)) continue;
				if($("#WME_AutoUR_Filter_button").val() == '2') {
					WMEAutoUR.Auto.UR_len++;
					WMEAutoUR.Auto.UR_WORK_IDs.push(cur_ur_id);
					continue;
				}
				// --- CHECK SPECIAL --- //
				if(WMEAutoUR.Auto.reporterComments(cur_ur_id)) continue;
				// --- INITIAL COMMENT --- //
				if($("#WME_AutoUR_Filter_button").val() == '-1') {
					if(WMEAutoUR.Auto.Comments.initial(cur_ur_id)){
						WMEAutoUR.Auto.UR_len++;
						WMEAutoUR.Auto.UR_WORK_IDs.push(cur_ur_id);
						continue;
					}
				}
				//// === SET UP TIMES === ////
				// --- created in usec --- //
				var drive_date_obj = new Date(Waze.model.mapUpdateRequests.objects[cur_ur_id].attributes.driveDate);
				// --- created in days --- //
				var drive_date = Math.floor(((((now_time - drive_date_obj.getTime())/1000)/60)/60)/24);
				// --- updated (commented) in usec --- //
				var update_date_obj = new Date(Waze.model.mapUpdateRequests.objects[cur_ur_id].attributes.updatedOn);
				// --- updated (commented) in days --- //
				var update_date = Math.floor(((((now_time - update_date_obj.getTime())/1000)/60)/60)/24);


				  // --- STALE COMMENT --- //
				if($("#WME_AutoUR_Filter_button").val() == '0') {
					if(WMEAutoUR.Auto.Comments.stale(cur_ur_id,update_date)) {
						WMEAutoUR.Auto.UR_len++;
						WMEAutoUR.Auto.UR_WORK_IDs.push(cur_ur_id);
						continue;
					}
				}
				  // --- DEAD COMMENT --- //
				if($("#WME_AutoUR_Filter_button").val() == '1') {
					if(WMEAutoUR.Auto.Comments.dead(cur_ur_id,update_date)) {
						WMEAutoUR.Auto.UR_len++;
						WMEAutoUR.Auto.UR_WORK_IDs.push(cur_ur_id);
						continue;
					}
				}
			}
			console.info(WMEAutoUR.Auto.UR_WORK_IDs);

			//$('span[id="WMEAutoUR_URs_selected"]').html(WMEAutoUR.Auto.UR_len + " URs selected");
			if(WMEAutoUR.Auto.UR_len) {
				$('span[id="WME_AutoUR_Count"]').html((WMEAutoUR.Auto.index+1)+"/"+WMEAutoUR.Auto.UR_len);
			} else {
				$('span[id="WME_AutoUR_Count"]').html("0/0");
			}

			window.setTimeout(WMEAutoUR.Auto.firstUR,750);
		},

		//--------------------------------------------------------------------------------------------------------------------------------------------

		Comments: {

			/**
			 *@since version 0.12.3
			 */
			initial: function(cur_id) {
				if(!wazeModel.mapUpdateRequests.objects[cur_id].attributes.hasComments) {
					return true;
				}
				return false;
			},
			//--------------------------------------------------------------------------------------------------------------------------------------------
			/**
			 *@since version 0.12.3
			 */
			stale: function(cur_id,update) {
				if(wazeModel.updateRequestSessions.objects[cur_id].comments.length == 1) {
					if((update > WMEAutoUR.Options.settings.staleDays)) {
						return true;
					}
				}
				return false;
			},
			//--------------------------------------------------------------------------------------------------------------------------------------------
			/**
			 *@since version 0.12.3
			 */
			dead: function(cur_id,update) {
				if(wazeModel.updateRequestSessions.objects[cur_id].comments.length == 2) {
					if((update > WMEAutoUR.Options.settings.deadDays)) {
						return true;
					}
				}
				return false;
			},
			//--------------------------------------------------------------------------------------------------------------------------------------------
			/**
			 *@since version 0.12.3
			 */
			clean: function(cur_id) {
				var cur_ur_obj = wazeModel.mapUpdateRequests.objects[cur_id];
				if(!cur_ur_obj.attributes.hasComments) {
					WMEAutoUR.Auto.UR_len++;
					WMEAutoUR.Auto.UR_WORK_IDs.push(cur_id);
				}
				return;
			}

		},

		//--------------------------------------------------------------------------------------------------------------------------------------------
		/**
		 *@since version 0.11.16RE
		 */
		specialRejects: function(urID) {
			//var exp = /^\[([a-zA-Z]*)\]/;
			var ur_desc = Waze.model.mapUpdateRequests.objects[urID].attributes.description;
			if(ur_desc) {
				if(ur_desc.match(/^\[.*\]/)) {
					switch(ur_desc.match(/^\[([a-zA-Z]*)\]/)[1]) {
						case 'ROADWORKS':
						case 'CONSTRUCTION':
						case 'CLOSURE':
						case 'EVENT':
						case 'NOTE':		return true;
						default:		return false;
					}
				}
			}
			return false;
		},

		//--------------------------------------------------------------------------------------------------------------------------------------------
		/**
		 *@since version 0.11.17RE
		 */
		reporterComments: function(urID) {
			var reporter_comment = wazeModel.updateRequestSessions.objects[urID].comments;
			for(var i=0;i<reporter_comment.length;i++) {
				if(!reporter_comment[i].userID) {
					console.info("true");
					return true;
				}
			}
			console.info("false");
			return false;
		},

		//--------------------------------------------------------------------------------------------------------------------------------------------
		/**
		 *@since version 0.1.0
		 */
		firstUR: function() {
			console.info("FIRST");
			WMEAutoUR.Auto.gotoURByIndex(WMEAutoUR.Auto.index);
		},

		//--------------------------------------------------------------------------------------------------------------------------------------------
		/**
		 *@since version 0.1.0
		 */
		Next: function() {
			console.info("NEXT");
			if((WMEAutoUR.Auto.index+1) < WMEAutoUR.Auto.UR_len) {
				WMEAutoUR.Auto.gotoURByIndex(++WMEAutoUR.Auto.index);
			}
		},

		//--------------------------------------------------------------------------------------------------------------------------------------------
		/**
		 *@since version 0.1.0
		 */
		Prev: function() {
			console.info('WME-AutoUR: prevUR');
			if(WMEAutoUR.Auto.index > 0) {
				WMEAutoUR.Auto.gotoURByIndex(--WMEAutoUR.Auto.index);
			}
		},
		//--------------------------------------------------------------------------------------------------------------------------------------------
		/**
		 *@since version 0.1.0
		 */
		gotoURByIndex: function(URindex) {
			console.info("gotoINDEX");
			WMEAutoUR.Auto.curURid = WMEAutoUR.Auto.UR_WORK_IDs[URindex];
			WMEAutoUR.Auto.gotoURById(WMEAutoUR.Auto.curURid);
			return;
		},

		//--------------------------------------------------------------------------------------------------------------------------------------------
		/**
		 *@since version 0.1.0
		 */
		gotoURById: function(URid) {
			console.info("gotoID "+URid);
			$('span[id="WME_AutoUR_Count"]').html((WMEAutoUR.Auto.index+1)+"/"+WMEAutoUR.Auto.UR_len);
			// --- NEED TO MAKE FOR BETA --- //
			Waze.updateRequestsControl.selectById(URid);
			console.info("Selected UR");
			var x = W.model.mapUpdateRequests.objects[URid].attributes.geometry.x;
			var y = W.model.mapUpdateRequests.objects[URid].attributes.geometry.y;
			Waze.map.setCenter([x,y],3);
			console.info("Centered Map");
			$('span[id="WME_AutoUR_Info"]').html(WMEAutoUR.UR.getInfo(URid));
			console.info("Set Info");
			//WMEAutoUR.Messages.Change(W.model.mapUpdateRequests.objects[URid].attributes.type);
			WMEAutoUR.Messages.ChangeEditor(Waze.model.mapUpdateRequests.objects[URid].attributes.type);
			console.info("Change Message");
			WMEAutoUR.Messages.ShowComment();
			console.info("Show Comment");
			return;
		},

		//--------------------------------------------------------------------------------------------------------------------------------------------
		/**
		 *@since version 0.1.0
		 */
		filterButton: function(e) {
			switch($("#WME_AutoUR_Filter_button").val()) {
				case '2':		$("#WME_AutoUR_Filter_button").val(-1)
															  .css("background-color","Green")
															  .css("color","White")
															  .html("Initial");	break;
				case '0':		$("#WME_AutoUR_Filter_button").val(1)
															  .css("background-color","Red")
															  .css("color","black")
															  .html("Dead");	break;
				case '-1':		$("#WME_AutoUR_Filter_button").val(0)
															  .css("background-color","Yellow")
															  .css("color","black")
															  .html("Stale");	break;
				case '1':
				default:		$("#WME_AutoUR_Filter_button").val(2)
															  .css("background-color","White")
															  .css("color","Black")
															  .html("None");	break;
			}

			return;
		}
	};

	//--------------------------------------------------------------------------------------------------------------------------------------------
	//----------------------  END AUTO UR FUNCTIONS  ---------------------------------------------------------------------------------------------
	//--------------------------------------------------------------------------------------------------------------------------------------------

	//--------------------------------------------------------------------------------------------------------------------------------------------
	//----------------------  STORAGE/SETTINGS/MESSAGES FUNCTIONS  -------------------------------------------------------------------------------
	//--------------------------------------------------------------------------------------------------------------------------------------------
	/**
	 *@since 0.10.0
	 */
	WMEAutoUR.Settings = {

		/**
		 *@since version 0.4.1
		 */
		Save: function() {
			console.info("WME-AutoUR: Save All");

			WMEAutoUR.Settings.saveMessages();
			WMEAutoUR.Settings.saveSettings();
			WMEAutoUR.Settings.saveToStorage();
		},

		/**
		 *@since version 0.4.1
		 */
		saveMessages: function() {
			console.info("WME-AutoUR: Save Messages");
		},

		/**
		 *@since version 0.4.1
		 */
		saveSettings: function() {
			console.info("WME-AutoUR: Save Settings");
			WMEAutoUR.Options.settings.staleDays = 				$('#UR_Stale_Days').val();
			WMEAutoUR.Options.settings.deadDays = 				$('#UR_Dead_Days').val();
			WMEAutoUR.Options.settings.firstURTextareaTime = 	$('#UR_First_TA_Time').val();
			WMEAutoUR.Options.settings.nextURTextareaTime = 	$('#UR_Next_TA_Time').val();
		},

		/**
		 *@since version 0.4.1
		 */
		saveToStorage: function() {
			localStorage.setItem('WME_AutoUR', JSON.stringify(WMEAutoUR.Options));
		},

		//--------------------------------------------------------------------------------------------------------------------------------------------
		/**
		 *@since version 0.4.2
		 */
		Load: function() {

			console.info("WME-AutoUR: Load Settings");
			//WMEAutoUR.Options.names = [];
			//WMEAutoUR.Options.messages = [];
			//WMEAutoUR.Options.settings = {};
			var newOpts
			try {
				newOpts = JSON.parse(localStorage.WME_AutoUR);
			} catch(e){
				// --- SOMETHING SHOUDL BE HERE --- //
			}

			if(typeof(newOpts) !== 'undefined') {
				WMEAutoUR.Options = newOpts;
			}

			// --- Load Defaults --- //
			var field = 0;
			try {
				if(WMEAutoUR.Options.names[50]) {
				  console.info("Name test: "+WMEAutoUR.Options.names[50]);
				} else {
					throw "";
				}
			} catch(e) {
				field += 1;
			}
			try {
				if(WMEAutoUR.Options.messages[50]) {
				  console.info("Message test: "+WMEAutoUR.Options.messages[50]);
				} else {
					throw "";
				}
			} catch(e) {
				field += 2;
			}
			try {
				if(WMEAutoUR.Options.settings.nextURTextareaTime) {
					console.info("Settings test: "+WMEAutoUR.Options.settings.nextURTextareaTime);
				} else {
					throw "";
				}
			} catch(e) {
				field += 4;
			}
			console.info(field);
			if(field) {
				WMEAutoUR.Settings.setDefault(field);
			}


			console.info("WME-AutoUR: checking defaults... done");
		},

		//--------------------------------------------------------------------------------------------------------------------------------------------
		/**
		 *@since version 0.12.1
		 */
		setDefault: function() {
			console.info("setDefault");
			// --- Setup Defaults --- //
			var def_names = [];
			def_names[6] = "Incorrect turn";
			def_names[7] = "Incorrect address";
			def_names[8] = "Incorrect route";
			def_names[9] = "Missing roundabout";
			def_names[10] = "General error";
			def_names[11] = "Turn not allowed";
			def_names[12] = "Incorrect junction";
			def_names[13] = "Missing bridge overpass";
			def_names[14] = "Wrong driving direction";
			def_names[15] = "Missing Exit";
			def_names[16] = "Missing Road";
			def_names[18] = "Missing Landmark";
			def_names[19] = "Blocked Road";
			def_names[21] = "Missing Street Name";
			def_names[22] = "Incorrect Street Prefix or Suffix";
			def_names[50] = "Stale UR";
			def_names[51] = "Dead UR";

			// --- Thank you RickZAbel --- //
			var def_messages = [];
			$.each(def_names, function(k,v) {
				if(v) {
					def_messages[k] = "Thank you for your report! Can you please give me more information about the " + v + " you reported?";
				}
			});

			def_messages[50] = "Without further information this report will be closed soon.";
			def_messages[51] = "Without further information we are unable fix this report. Please resubmit with more information.";

			var def_settings = {};
			def_settings.staleDays = 7;
			def_settings.deadDays = 7;
			def_settings.firstURTextareaTime = 1000;
			def_settings.nextURTextareaTime = 500;

			// --- Load Defaults --- //
			if((typeof(arguments[0]) == 'number')) {
				var field = arguments[0];
				if(field >= 4) {
					WMEAutoUR.Options.settings = def_settings;
					field -= 4;
				}
				if(field >= 2) {
					WMEAutoUR.Options.messages = def_messages;
					field -= 2;
				}
				if(field == 1) {
					WMEAutoUR.Options.names = def_names;
					field -= 1;
				}
			} else {
				WMEAutoUR.Options.names = def_names;
				WMEAutoUR.Options.messages = def_messages;
				WMEAutoUR.Options.settings = def_settings;
			}

			console.info(WMEAutoUR.Options.settings);

			WMEAutoUR.Settings.saveToStorage();

		},

		//--------------------------------------------------------------------------------------------------------------------------------------------
		/**
		 *@since version 0.5.0
		 */
		Reset: function() {
			console.info("WME-AutoUR: RESET");
			WMEAutoUR.Settings.setDefault(7);

			WMEAutoUR.Settings.resetMessages();
			WMEAutoUR.Settings.resetSettings();
		},

		//--------------------------------------------------------------------------------------------------------------------------------------------
		/**
		 *@since version 0.5.0
		 */
		resetMessages: function() {
			console.info("WME-AutoUR: reset messages");
			$('#WMEAutoUR_Settings_Select').empty();
			$('#WMEAutoUR_Insert_Select').empty();

			$('#WME_AutoUR_MSG_Display').html('');
			WMEAutoUR_TabbedUI.createSelect($('#WMEAutoUR_Settings_Select'));
			WMEAutoUR_TabbedUI.createSelect($('#WMEAutoUR_Insert_Select'));
		},

		//--------------------------------------------------------------------------------------------------------------------------------------------
		/**
		 *@since version 0.5.0
		 */
		resetSettings: function() {

			console.info("WME-AutoUR: reset settings");
			$('#UR_Stale_Days').val(WMEAutoUR.Options.settings.staleDays);
			$('#UR_Dead_Days').val(WMEAutoUR.Options.settings.deadDays);
			$('#UR_First_TA_Time').val(WMEAutoUR.Options.settings.firstURTextareaTime);
			$('#UR_Next_TA_Time').val(WMEAutoUR.Options.settings.nextURTextareaTime);
		}
	};

	//--------------------------------------------------------------------------------------------------------------------------------------------
	/**
	 *@since 0.10.0
	 */
	WMEAutoUR.Messages = {
		//--------------------------------------------------------------------------------------------------------------------------------------------
		/**
		 *@since version 0.5.0
		 */
		SaveSettingSelect: function() {
			var id = null;
			if($(this).val() >= 1) {
				id = $(this).val();
			} else {
				id = $('#WMEAutoUR_Settings_Select').val();
			}
			//console.info(id);
			//console.info('Before: '+WMEAutoUR.Options.messages[id]);
			WMEAutoUR.Options.messages[id] = $("#WMEAutoUR_Settings_Comment").val();
			//console.info('After: '+WMEAutoUR.Options.messages[id]);
			WMEAutoUR.Settings.saveToStorage();
		},

		//--------------------------------------------------------------------------------------------------------------------------------------------
		/**
		 *@since version 0.5.0
		 */
		ChangeSettingSelect: function() {
			var index = $(this).val();

			if(index === null) {
				index = $("#WMEAutoUR_Settings_Select").val();
			}

			console.info(index);
			$("#WMEAutoUR_Settings_Comment").val(WMEAutoUR.Options.messages[index]);
			return;
		},

		//--------------------------------------------------------------------------------------------------------------------------------------------
		/**
		 *@since version 0.5.0
		 */
		ChangeEditor: function() {
			var index;
			console.info("CHANGE");
			if((arguments.length == 1) && (typeof arguments[0] == "number")) {
				index = arguments[0];
				$('#WMEAutoUR_Settings_Select').val(index);
			} else {
				index = $(this).val();
			}
			if(index === null) {
				index = $("#WMEAutoUR_Insert_Select").val();
			}
			console.info("Set ID");
			if($("#WME_AutoUR_Filter_button").val() === '0') {
				index = 50;
			} else if($("#WME_AutoUR_Filter_button").val() === '1') {
				index = 51;
			}
			console.info("Filter ID");
			console.info(index);
			$("#WME_AutoUR_MSG_Display").html(WMEAutoUR.Options.messages[index]);
			$('#WMEAutoUR_Insert_Select').val(index);
			console.info("Ofsets: "+WMEAutoUR.Options.settings.firstURTextareaTime+" : "+WMEAutoUR.Options.settings.nextURTextareaTime);

			try {
				if($("#update-request-panel textarea").length!==0) {
					setTimeout(WMEAutoUR.Messages.insertFromSelect, WMEAutoUR.Options.settings.nextURTextareaTime);
					console.info("We Have TA wait 500");
				} else {
					setTimeout(WMEAutoUR.Messages.insertFromSelect, WMEAutoUR.Options.settings.firstURTextareaTime);
					console.info("NO TA wait 1000");
				}
			} catch(err) {
				console.info("WME-AutoUR: Error:"+err);
			}
			console.info("Insert/return");
		},


		//--------------------------------------------------------------------------------------------------------------------------------------------
		/**
		 *@since version 0.3.0
		 */
		Insert: function() {
			console.info("INSERT");
			var urID = WMEAutoUR.UR.selectedURid;
			if(WMEAutoUR.isBeta) {
				//$('form.new-comment-form .new-comment-text').html(WMEAutoUR.Options.messages[Waze.model.mapUpdateRequests.objects[urID].attributes.type]);
				$('form.new-comment-form .new-comment-text').html(WMEAutoUR.Options.messages[$('#WMEAutoUR_Insert_Select').val()]);
			} else {
				//$('#update-request-panel textarea').html(WMEAutoUR.Options.messages[Waze.model.mapUpdateRequests.objects[urID].attributes.type]);
				$('#update-request-panel textarea').html(WMEAutoUR.Options.messages[$('#WMEAutoUR_Insert_Select').val()]);
			}
		},


		//--------------------------------------------------------------------------------------------------------------------------------------------
		/**
		 *@since version 0.3.0
		 */
		insertFromSelect: function() {
				$('#update-request-panel textarea').html(WMEAutoUR.Options.messages[$('#WMEAutoUR_Insert_Select').val()]);
		},

		//--------------------------------------------------------------------------------------------------------------------------------------------
		/**
		 *@since version 0.11.12RE
		 */
		Close: function() {
			$(".problem-panel-navigation button.close-button").trigger('click');
			return;
		},

		//--------------------------------------------------------------------------------------------------------------------------------------------
		/**
		 *@since version 0.11.12RE
		 */
		Send: function() {
			$('.new-comment-form button[type="submit"]').trigger('click');
			// --- MOVE NEXT --- //
			if($('#WMEAutoUR_AutoAdvance_CB').prop('checked')) {
				window.setTimeout(WMEAutoUR.Auto.Next,500);
			}
			return;
		},

		//--------------------------------------------------------------------------------------------------------------------------------------------
		/**
		 *@since version 0.11.12RE
		 */
		ShowComment: function() {
			if(!($("#edit-request btn.toggle-comment-view").hasClass('comment-view-shown'))) {
				window.setTimeout(WMEAutoUR.Messages.ShowComment,250);
				$("#edit-request btn.toggle-comment-view").trigger('click');
			}
			return;
		},

		//--------------------------------------------------------------------------------------------------------------------------------------------
		/**
		 *@since version 0.12.5
		 */
		addCustom: function() {
			var name = $('#WMEAutoUR_Settings_customName').val();
			if(WMEAutoUR.Options.messages.length<60) {
				WMEAutoUR.Options.names[60] = name;
			} else {
				WMEAutoUR.Options.names.push(name);
			}

			WMEAutoUR.Settings.resetMessages();
		},

		//--------------------------------------------------------------------------------------------------------------------------------------------
		/**
		 *@since version 0.11.11RE
		 */
		changeStatus: function() {
			// --- OPEN --- //
			//$('#edit-request #state--1').trigger("click");
			// --- SOLVED --- //
			//$('#edit-request #state-0').trigger("click");
			// --- NI --- //
			var state = $(this).attr('data-state');
			$('#edit-request #state-'+state).trigger("click");

			// --- CHANGE STATUS --- //
			if($('#WMEAutoUR_SendMessage_CB').prop('checked')) {
				WMEAutoUR.Messages.Send();
			} else {
				// --- MOVE NEXT --- //
				if($('#WMEAutoUR_AutoAdvance_CB').prop('checked')) {
					window.setTimeout(WMEAutoUR.Auto.Next,500);
				}
			}

			return;
		}
	};

	//--------------------------------------------------------------------------------------------------------------------------------------------
	//----------------------  END STORAGE/SETTINGS?MESSAGES FUNCTIONS  ---------------------------------------------------------------------------
	//--------------------------------------------------------------------------------------------------------------------------------------------

	//--------------------------------------------------------------------------------------------------------------------------------------------
	//------------------------  OTHER FUNCTIONS  -------------------------------------------------------------------------------------------------
	//--------------------------------------------------------------------------------------------------------------------------------------------
	/**
	 *@since version 0.7.2
	 */
	WMEAutoUR.showDevInfo = function() {
		var info_txt = '';
		info_txt = info_txt + 'Created by: <b>SuperMedic</b><br>';
		info_txt = info_txt + 'Icon: <b>RickZAbel</b><br>';
		info_txt = info_txt + 'Beta Testers:<br>';
		info_txt = info_txt + '<b>Stephenr1966</b><br>';
		info_txt = info_txt + '<b>seekingserenity</b><br>';
		info_txt = info_txt + '<b>t0cableguy</b><br>';
		info_txt = info_txt + '<b>ct13</b><br>';
		$('span[id="WME_AutoUR_Info"]').html(info_txt);
	};

	//--------------------------------------------------------------------------------------------------------------------------------------------

	/**
	 *@since version 0.3.1
	 */
	WMEAutoUR.showHideTools = function() {
		switch($("#WME_AutoUR_main .WME_AutoUR_main_right").css("display")) {
			case 'none': 	$("#WME_AutoUR_main .WME_AutoUR_main_right").css("display","block");	break;
			case 'block':	$("#WME_AutoUR_main .WME_AutoUR_main_right").css("display","none");		break;
			default:		$("#WME_AutoUR_main .WME_AutoUR_main_right").css("display","block");	break;
		}
	};

	//--------------------------------------------------------------------------------------------------------------------------------------------

	/**
	 *@since version 0.11.0
	 */
	WMEAutoUR.off = function() {
		console.info("WME-AutoUR Stopping...");
		//window.clearInterval(WMEAutoUR.Intervals.getActive);
		window.clearInterval(WMEAutoUR.Intervals.SaveSettings);
		WMEAutoUR.Settings.Save();
	};

	//--------------------------------------------------------------------------------------------------------------------------------------------

	/**
	 *@since version 0.11.0
	 */
	WMEAutoUR.on = function() {
		console.info("WME-AutoUR Restarting...");
		//WMEAutoUR.Intervals.getActive = window.setInterval(WMEAutoUR.UR.getActive,250);
		WMEAutoUR.Intervals.SaveSettings = window.setInterval(WMEAutoUR.Settings.Save,30000);
	};


	//--------------------------------------------------------------------------------------------------------------------------------------------
	//------------------------  END OTHER FUNCTIONS  ---------------------------------------------------------------------------------------------
	//--------------------------------------------------------------------------------------------------------------------------------------------

	WMEAutoUR.startcode();
}




//--------------------------------------------------------------------------------------------------------------------------------------------
//----------------------  WMEAutoUR FUNCTIONS  -----------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------------------------------------------------------


//--------------------------------------------------------------------------------------------------------------------------------------------
//----------------  Create Tabbed UI  ------------------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------------------------------------------------------


function WMEAutoUR_Create_TabbedUI() {
	WMEAutoUR_TabbedUI = {};
	/**
	 *@since version 0.11.0
	 */
	WMEAutoUR_TabbedUI.init = function() {
        // See if the div is already created //
		var urParentDIV = null;
		if ($("#WME_AutoUR_TAB_main").length===0) {
            urParentDIV = WMEAutoUR_TabbedUI.ParentDIV();
            $(urParentDIV).append(WMEAutoUR_TabbedUI.Title());
            //$(ParentDIV).append($('<span>').attr("id","WME_AutoUR_Info")
            //								.click(function(){$(this).html('');})
            //								.css("color","#000000"));

            $(urParentDIV).append(WMEAutoUR_TabbedUI.TabsHead());

            var TabBody = WMEAutoUR_TabbedUI.TabsBody();

            $(TabBody).append(WMEAutoUR_TabbedUI.EditorTAB);
            //$(TabBody).append(WMEAutoUR_TabbedUI.MessagesTAB);
            $(TabBody).append(WMEAutoUR_TabbedUI.SettingsTAB);

            $(urParentDIV).append(TabBody);

		// See if the div is already created //
		//if ($("#WME_AutoUR_TAB_main").length===0) {

			console.info("WME-WMEAutoUR_TabbedUI: Loaded Pannel");
			//ScriptKit.GUI.addImage(1,icon,WMEAutoUR_TabbedUI.hideWindow);
        }

		$("div.tips").after(urParentDIV);
	};

	//--------------------------------------------------------------------------------------------------------------------------------------------
	/**
	 *@since version 0.11.0
	 */
	// ---------- MAIN DIV TOGGLE --------- //
	WMEAutoUR_TabbedUI.hideWindow = function() {

		switch($("#WME_AutoUR_TAB_main").css("height")) {
			case '30px': 	$("#WME_AutoUR_TAB_main").css("height","auto");
							$("#WMEAutoUR_TabbedUI_toggle").html("-");
							WMEAutoUR.on();		break;
			default:		$("#WME_AutoUR_TAB_main").css("height","30px");
							$("#WMEAutoUR_TabbedUI_toggle").html("+");
							WMEAutoUR.off();	break;
		}
	};

	//--------------------------------------------------------------------------------------------------------------------------------------------
	/**
	 *@since version 0.11.0
	 */
	// ---------- MAIN DIV --------- //
	WMEAutoUR_TabbedUI.ParentDIV = function() {

		var MainTAB = $('<div>').attr("id","WME_AutoUR_TAB_main")
								.css("color","#FFFFFF")
								.css("border-bottom","2px solid #E9E9E9")
								.css("margin","21px 0")
								.css("padding-bottom","10px")
								.css("max-width","275px")
								.css("height","30px")
								.css("overflow","hidden")
								.css("display","block");

		return MainTAB;
	};

	//--------------------------------------------------------------------------------------------------------------------------------------------
	/**
	 *@since version 0.11.0
	 */
	// ---------- MAIN DIV --------- //
	WMEAutoUR_TabbedUI.Title = function() {
		console.info("WME-WMEAutoUR_TabbedUI: create main div ");

		// ------- TITLE  ------- //
		var mainTitle = $("<div>")
						.attr("id","WME_AutoUR_TAB_title")
						.css("width","100%")
						.css("text-align","center")
						.css("background-color","rgb(93, 133, 161)")
						.css("border-radius","5px")
						.css("padding","3px")
						.css("margin-bottom","3px")
						.html("WME-AutoUR " + WMEAutoUR.version)
						.dblclick(WMEAutoUR.showDevInfo)
						.attr("title","Click for Development Info");

		$(mainTitle).append($('<div>').attr("id","WMEAutoUR_TabbedUI_toggle")
									  .html("+")
									  .css("float","right")
									  .css("position","relative")
									  .css("color","#ffffff")
									  .css("right","3px")
									  .css("top","0")
									  .css("background","#000000")
									  .css("height","16px")
									  .css("width","16px")
									  .css("display","block")
									  .css("line-height","14px")
									  .css("border-radius","5px")
									  .click(WMEAutoUR_TabbedUI.hideWindow));

		return mainTitle;
	};

	//--------------------------------------------------------------------------------------------------------------------------------------------
	/**
	 *@since version 0.11.0
	 */
	// ---------- MAIN DIV --------- //
	WMEAutoUR_TabbedUI.TabsHead = function() {

		// ------- TABS  ------- //
		var mainTabs = $("<div>")
						.attr("id","WME_AutoUR_TAB_head")
						.css("padding","3px")
						.css("margin-bottom","3px")
						.attr("title","Click for Development Info");
		var tabs = $("<ul>").addClass("nav")
							.addClass("nav-tabs");

		$(tabs).append($("<li>").append($("<a>").attr("data-toggle","tab")
												.attr("href","#WMEAutoUR_EDIT_TAB")
												.html("Editor")
									   ).addClass("active")
					  );

		//$(tabs).append($("<li>").append($("<a>").attr("data-toggle","tab")
		//										.attr("href","#WMEAutoUR_MSG_TAB")
		//										.html("Messages")
		//							   )
		//			  );

		$(tabs).append($("<li>").append($("<a>").attr("data-toggle","tab")
												.attr("href","#WMEAutoUR_SET_TAB")
												.html("Settings")
									   )
					  );

		$(mainTabs).append(tabs);

		return mainTabs;
	};

	//--------------------------------------------------------------------------------------------------------------------------------------------
	/**
	 *@since version 0.11.0
	 */
	// ---------- MAIN DIV --------- //
	WMEAutoUR_TabbedUI.TabsBody = function() {

		// ------- TABS  ------- //
		var TabsBodyContainer = $("<div>")
							  .attr("id","WME_AutoUR_TAB_tabs")
							  .attr("style","padding: 0 !important;")
							  .addClass("tab-content");

		return TabsBodyContainer;
	};

	//--------------------------------------------------------------------------------------------------------------------------------------------

	/**
	 *@since version 0.8.1
	 */
	WMEAutoUR_TabbedUI.EditorTAB = function() {

		var editTAB = $('<div>').attr("id",'WMEAutoUR_EDIT_TAB')
								.addClass("tab-pane")
								.addClass("active");

		$(editTAB).append($("<span id='WME_AutoUR_Info'>")
							//.css("float","right")
							.css("text-align","left")
							.css("display","block")
							.css("max-width","275px")
							//.css("height","150px")
							.css("color","#000000")
							.css("clear","both"));

		var autoBar = $('<div>').css("width","100%")
								.css("clear","both")
								.css("padding-top","10px");
		$(editTAB).append($(autoBar));

		$(autoBar).append($("<button>Prev</button>")
							.click(WMEAutoUR.Auto.Prev)
							.css("position","relative")
							.css("float","left")
							.css("height","24px")
							.attr("title","Previous UR"));

		$(autoBar).append($("<button>Next</button>")
							.click(WMEAutoUR.Auto.Next)
							.css("position","relative")
							.css("float","right")
							.css("height","24px")
							.attr("title","Next UR"));

		$(autoBar).append($("<span id='WME_AutoUR_Count'>")
							.css("text-align","center")
							.css("display","block")
							.css("width","60px")
							.css("margin","0 auto")
							.css("padding","3px")
							.css("background-color","#000000")
							.css("border-radius","3px")
							.html("Auto Off")
							.dblclick(WMEAutoUR.Auto.getIDs)
							.attr("title","Double click to load/reload list of URs"));


		var actsBar = $('<div>').css("width","100%")
								.css("clear","both")
								.css("font-size","12px")
								.css("padding-top","2px");
		$(editTAB).append($(actsBar));

		$(actsBar).append($("<button>None</button>")
							  .attr("id","WME_AutoUR_Filter_button")
							  .click(WMEAutoUR.Auto.filterButton)
							  .val(2)
							  .css("float","left")
							  .css("background-color","White")
							  .css("color","Black")
							  .css("border-radius","5px")
							  .css("width","55px")
							  .attr("title","Change filter between Initial-Stale-Dead."));

		$(actsBar).append($("<button>Send</button>")
							  .click(WMEAutoUR.Messages.Send)
							  .css("float","left")
							  .css("width","55px")
							  .attr("title","Insert message. "));

		$(actsBar).append($("<button>Solve</button>")
							  .click(WMEAutoUR.Messages.changeStatus)
							  .attr("data-state","0")
							  .css("float","right")
							  .css("width","55px")
							  .attr("title","Mark Solved."));

		$(actsBar).append($("<button>Not ID</button>")
							  .click(WMEAutoUR.Messages.changeStatus)
							  .attr("data-state","1")
							  .css("float","right")
							  .css("width","55px")
							  .attr("title","Mark Not Identified."));


		var setsBar = $('<div>').css("width","275px")
								.css("margin-top","2px")
								.css("clear","both");
		$(editTAB).append($(setsBar));

		var setsBarSub1 = $('<div>').css("width","55px")
									.css("height","24px")
									.css("float","left");
		//$(setsBar).append($(setsBarSub1));


		var setsBarSub2 = $('<div>').css("width","55px")
									.css("height","24px")
									.css("float","left");
		$(setsBar).append($(setsBarSub2));
		$(setsBarSub2).append($("<label>")
							  .html("Adv.")
							  .attr("for","WMEAutoUR_AutoAdvance_CB")
							  .attr("title","Enable auto advance with Send/Solve/NI buttons.")
							  .css("color","black")
							  .css("float","left"));

		$(setsBarSub2).append($("<input>")
							  .attr("id","WMEAutoUR_AutoAdvance_CB")
							  .attr("type","checkbox")
							  .css("float","left")
							  .css("margin-left","5px")
							  .attr("title","Enable auto advance with Send/Solve/NI buttons."));


		var setsBarSub3 = $('<div>').css("width","55px")
									.css("height","24px")
									.css("float","left");
		$(setsBar).append($(setsBarSub3));
		$(setsBarSub3).append($("<label>")
							  .html("Send")
							  .attr("for","WMEAutoUR_SendMessage_CB")
							  .attr("title","Send message with Solve/NI buttons.")
							  .css("color","black")
							  .css("float","left"));

		$(setsBarSub3).append($("<input>")
							  .attr("id","WMEAutoUR_SendMessage_CB")
							  .attr("type","checkbox")
							  .css("float","left")
							  .css("margin-left","5px")
							  .attr("title","Send message with Solve/NI buttons."));




		var edit_select = $("<select>").attr("id","WMEAutoUR_Insert_Select")
									  .attr("title","Select message to be inserted")
									  .css("width","100%")
									  .css("float","left")
									  .change(WMEAutoUR.Messages.insertFromSelect)
									  .css("padding-top","5px");

		WMEAutoUR_TabbedUI.createSelect(edit_select);

		$(editTAB).append(edit_select);

		$(editTAB).append($("<span id='WME_AutoUR_MSG_Display'>")
							.css("text-align","left")
							.css("display","block")
							.css("width","275px")
							.css("padding","10px 0")
							.css("color","#000000")
							.css("clear","both"));


		$(editTAB).append($("<div>").css("clear","both"));


		return editTAB;
	};

	//--------------------------------------------------------------------------------------------------------------------------------------------
	/**
	 *@since version 0.8.1
	 */
	// ------- SETTINGS TAB ------- //
	WMEAutoUR_TabbedUI.SettingsTAB = function() {

		var setTAB = $('<div>').attr("id",'WMEAutoUR_SET_TAB')
								//.css("padding","10px")
								.css("max-width","275px")
								.css("text-align","center")
								.html("coming soon")
								.addClass("tab-pane");

		var select = $("<select>").attr("id","WMEAutoUR_Settings_Select")
								.attr("title","Select Message")
								.css("width","225px")
								.css("float","left")
								.change(WMEAutoUR.Messages.ChangeSettingSelect)
								.focus(WMEAutoUR.Messages.SaveSettingSelect)
								.css("padding-top","5px");

		WMEAutoUR_TabbedUI.createSelect(select);


		// ---  MESSAGES --- //
		$(setTAB).append($("<div>").css("clear","both")
									.css("margin-bottom","10px")
									.append($("<h3>").html("Messages")
													  .css("color","black")
													  .css("text-align","left")
										   )
									.append($("<textarea>").attr("id","WMEAutoUR_Settings_Comment")
														  .val(WMEAutoUR.Options.messages[6])
														  .css("float","left")
														  .css("height","125px")
														  .css("position","relative")
														  .css("float","left")
														  .css("margin-top","5px")
														  .css("width","100%")
														  .css("clear","both")
										   )
									.append(select)
									.append($("<button>").html("Save")
														 .css("width",'50px')
														 .css("float",'left')
														 .click(WMEAutoUR.Messages.SaveSettingSelect)
											)
									.append($("<button>").html("Custom Msg")
														 .css("width",'35%')
														 .css("float",'left')
														 .click(WMEAutoUR.Messages.addCustom)
											)
									.append($("<input>").attr('type','text')
														 .attr("id",'WMEAutoUR_Settings_customName')
														 .css("width",'65%')
											)
									.append($("<div>").css("clear","both"))
						);

		// ---  FILTERS --- //
		$(setTAB).append($("<div>").css("clear","both")
									.css("margin-bottom","10px")
									.append($("<h3>").html("Filters")
													  .css("color","black")
													  .css("text-align","left")
										   )
									.append($("<div>").attr("id","UR_Stale_Dead")
													  .css("width","135px")
													  .css("position","relative")
													  .css("float","left")
													  .css("padding-top","5px")
													  .append($("<span>").html('Stale Days')
																		.attr("title","Days since first editor comment.")
																		.css("text-align","center")
																		.css("position","relative")
																		.css("float","left")
																		.css("height","24px")
																		.css("width","99px")
																		.css("color","black")
															  )
													  .append($("<input>").attr("type","text")
																		  .attr("id","UR_Stale_Days")
																		  .attr("value",WMEAutoUR.Options.settings.staleDays)
																		  .css("height","24px")
																		  .css("width","36px")
																		  .css("text-align","center")
																		  .css("position","relative")
																		  .css("float","right")
																		  .css("padding-top","5px")
															  )
													  .append($("<span>").html('Dead Days')
																		.attr("title","Days since second editor comment.")
																		.css("text-align","center")
																		.css("position","relative")
																		.css("float","left")
																		.css("height","24px")
																		.css("width","99px")
																		.css("color","black")
															  )
													  .append($("<input>").attr("type","text")
																		  .attr("id","UR_Dead_Days")
																		  .attr("value",WMEAutoUR.Options.settings.deadDays)
																		  .css("height","24px")
																		  .css("width","36px")
																		  .css("text-align","center")
																		  .css("position","relative")
																		  .css("float","right")
																		  .css("padding-top","5px")
															  )
											)
									.append($("<div>").css("clear","both"))
						  );

		// ---  Advanced --- //
		//console.info(WMEAutoUR.Options.settings.staleDays);
		//console.info(WMEAutoUR.Options.settings.deadDays);
		//console.info(WMEAutoUR.Options.settings.firstURTextareaTime);
		//console.info(WMEAutoUR.Options.settings.nextURTextareaTime);

		$(setTAB).append($("<div>").css("clear","both")
									.css("margin-bottom","10px")
									.append($("<h3>").html("Advanced")
													  .css("color","black")
													  .css("text-align","left")
										   )
									.append($("<div>").attr("id","UR_TA_Timers")
													  .css("width","135px")
													  .css("position","relative")
													  .css("float","left")
													  .css("padding-top","5px")
													  .append($("<span>").html('1st UR TA')
																		.attr("title","Offset before attempting to insert into UR comment textarea for first loaded UR.")
																		.css("text-align","center")
																		.css("position","relative")
																		.css("float","left")
																		.css("height","24px")
																		.css("width","99px")
																		.css("color","black")
															  )
													  .append($("<input>").attr("type","text")
																		  .attr("id","UR_First_TA_Time")
																		  .attr("value",WMEAutoUR.Options.settings.firstURTextareaTime)
																		  .css("height","24px")
																		  .css("width","36px")
																		  .css("text-align","center")
																		  .css("position","relative")
																		  .css("float","right")
																		  .css("padding-top","5px")
															  )
													  .append($("<span>").html('Next UR TA')
																		.attr("title","Offset before attempting to insert into UR comment textarea for consecutive URs.")
																		.css("text-align","center")
																		.css("position","relative")
																		.css("float","left")
																		.css("height","24px")
																		.css("width","99px")
																		.css("color","black")
															  )
													  .append($("<input>").attr("type","text")
																		  .attr("id","UR_Next_TA_Time")
																		  .attr("value",WMEAutoUR.Options.settings.nextURTextareaTime)
																		  .css("height","24px")
																		  .css("width","36px")
																		  .css("text-align","center")
																		  .css("position","relative")
																		  .css("float","right")
																		  .css("padding-top","5px")
															  )
											)
									.append($("<div>").css("clear","both"))
						  );



		$(setTAB).append($("<button>Save</button>")
				  .click(WMEAutoUR.Settings.Save)
				  .css("float","left")
				  .attr("title","Save Current Comment"));




		$(setTAB).append($("<button>Reset</button>")
				  .click(WMEAutoUR.Settings.Reset)
				  .css("float","right")
				  .attr("title","Reset settings to defaults."));


		$(setTAB).append($("<div>").css("clear","both"));


		return setTAB;
	};

	/**
	*@since version 0.6.1
	*/
	WMEAutoUR_TabbedUI.createSelect = function(select) {

		var g1 = $("<optgroup>").attr('label','Default');
		var g2 = $("<optgroup>").attr('label','Stale/Dead');
		var g3 = $("<optgroup>").attr('label','Custom');

		$.each(WMEAutoUR.Options.names,function(i,v) {
			if(v) {
				var opt = $('<option>');
				$(opt).attr('value',i);
				$(opt).html(v);
				if(i<40) {
					$(g1).append(opt);
				} else if(i<60) {
					$(g2).append(opt);
				} else if(i>59) {
					$(g3).append(opt);
				}
			}
		});
		$(select).append(g1).append(g2).append(g3);
	};



	WMEAutoUR_TabbedUI.init();
}
//--------------------------------------------------------------------------------------------------------------------------------------------
//----------------  END Create floating UI  --------------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------------------------------------------------------


//--------------------------------------------------------------------------------------------------------------------------------------------
//-----------------------  WE HAVE FOUND OUR BOOTS  ------------------------------------------------------------------------------------------
//-------------------------  NOW LETS PUT THEM ON  -------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------------------------------------------------------
wme_auto_ur_bootstrap();





/*

	 // object needed Waze
	Waze //
	if ( typeof (unsafeWindow.Waze) == ' undefined ' ) {
		UR2T_addLog ( 1 , ' error ' , ' unsafeWindow.Waze NOK ' , unsafeWindow.Waze);
		window.setTimeout (UR2T_init, 500 );
		 return ;
	}
	UR2T_Waze = unsafeWindow.Waze;
	Waze.updateRequestsControl //
	if ( typeof (UR2T_Waze.updateRequestsControl) == ' undefined ' ) {
		UR2T_addLog ( 1 , ' error ' , ' UR2T_Waze.updateRequestsControl NOK ' , UR2T_Waze.updateRequestsControl);
		window.setTimeout (UR2T_init, 500 );
		 return ;
	}
	UR2T_updateRequestsControl = UR2T_Waze.updateRequestsControl;
	Waze.model //
	if ( typeof (UR2T_Waze.model) == ' undefined ' ) {
		UR2T_addLog ( 1 , ' error ' , ' UR2T_Waze.model NOK ' , UR2T_Waze.model);
		window.setTimeout (UR2T_init, 500 );
		 return ;
	}
	UR2T_Waze_model = UR2T_Waze.model;
	Waze.model.updateRequestSessions //
	if ( typeof (UR2T_Waze_model.updateRequestSessions) == ' undefined ' ) {
		UR2T_addLog ( 1 , ' error ' , ' UR2T_Waze_model.mapUpdateRequests NOK ' , UR2T_Waze_model.updateRequestSessions);
		window.setTimeout (UR2T_init, 500 );
		 return ;
	}
	UR2T_model_updateRequestSessions = UR2T_Waze_model.updateRequestSessions;
	Waze.model.mapUpdateRequests //
	if ( typeof (UR2T_Waze_model.mapUpdateRequests) == ' undefined ' ) {
		UR2T_addLog ( 1 , ' error ' , ' UR2T_Waze_model.mapUpdateRequests NOK ' , UR2T_Waze_model.mapUpdateRequests);
		window.setTimeout (UR2T_init, 500 );
		 return ;
	}
	UR2T_model_mapUpdateRequests = UR2T_Waze_model.mapUpdateRequests;
	Waze.loginManager //
	if ( typeof (UR2T_Waze.loginManager) == ' undefined ' ) {
		UR2T_addLog ( 1 , ' error ' , ' UR2T_Waze.loginManager NOK ' , UR2T_Waze.loginManager);
		window.setTimeout (UR2T_init, 500 );
		 return ;
	}
	UR2T_Waze_loginManager = UR2T_Waze.loginManager;
	Waze.loginManager.user //
	if ( typeof (UR2T_Waze_loginManager.user) == ' undefined ' ) {
		UR2T_addLog ( 1 , ' error ' , ' UR2T_Waze_loginManager.user NOK ' , UR2T_Waze_loginManager.user);
		window.setTimeout (UR2T_init, 500 );
		 return ;
	}
*/




// ------- MAIN DIV CSS  ------- //
//var WME_AutoUR_main_right_css = '.WME_AutoUR_main_right > * { clear: both; display: block; }';
//$(WMEAutoUR.MainDIV).append($('<style>')
//							.append(WME_AutoUR_main_right_css));


//$(WMEEditOverlayMainDIV).append($('<svg id="OpenLayers.Layer.Vector.RootContainer_336_svgRoot" style="display: block;" width="1339" height="309" viewBox="0 0 1339 309"></svg>').append(WMEEditOverlay.createPolyline));
//$(WMEEditOverlayMainDIV).append(WMEEditOverlay.createPolyline);




//--------------------------------------------------------------------------------------------------------------------------------------------
//----------------  Create floating UI  ------------------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------------------------------------------------------
//function WMEAutoUR_Create_FloatUI() {
//	WMEAutoUR_FloatingUI = {};
//	/**
//	 *@since version 0.8.1
//	 */
//	WMEAutoUR_FloatingUI.init = function() {
//
//		var MainDIV = WMEAutoUR_FloatingUI.MainDIV();
//
//		$(MainDIV).append(WMEAutoUR_FloatingUI.LeftSubDIV);
//		$(MainDIV).append(WMEAutoUR_FloatingUI.RightSubDIV);
//
//		// See if the div is already created //
//		if ($("#WME_AutoUR_main").length===0) {
//			$("#panels-container").append(MainDIV);
//			console.info("WME-WMEAutoUR_FloatingUI: Loaded Pannel");
//		}
//
//		// See if the div is already created //
//		if ($("#WME_AutoUR_main_toggle").length===0) {
//			WMEAutoUR_FloatingUI.MainDIVtoggle();
//		}
//
//		//--- Drag me Bishes!! ---//
//		$("#WME_AutoUR_main").draggable();
//	}
//
//	//--------------------------------------------------------------------------------------------------------------------------------------------
//
//	/**
//	 *@since version 0.10.0
//	 */
//	// ---------- MAIN DIV TOGGLE --------- //
//	WMEAutoUR_FloatingUI.MainDIVtoggle = function() {
//		console.info("WME-WMEAutoUR_FloatingUI: create main div toggle ");
//
//		var MainToggle = $('<div>').attr("title","Toggle AutoUR.")
//									.attr("id","WME_AutoUR_main_toggle")
//									.addClass("toolbar-button")
//									.css("background-image",'url("https://www.waze.com/assets-editor/images/vectors/problems/problem_pin_open-high.png")')
//									.css("background-repeat","no-repeat")
//									.css("background-position","center")
//									.append("<span>Toggle AutoUR</span>")
//									.click(WMEAutoUR_FloatingUI.hideWindow);
//
//		$("#edit-buttons").append(MainToggle);
//	};
//	/**
//	 *@since version 0.10.0
//	 */
//	// ---------- MAIN DIV TOGGLE --------- //
//	WMEAutoUR_FloatingUI.hideWindow = function() {
//
//		switch($("#WME_AutoUR_main").css("display")) {
//			case 'none': 	$("#WME_AutoUR_main").css("display","block");
//							WMEAutoUR.on();		break;
//			case 'block':	$("#WME_AutoUR_main").css("display","none");
//							WMEAutoUR.off();	break;
//			default:		$("#WME_AutoUR_main").css("display","block");	break;
//		}
//	};
//
//	//--------------------------------------------------------------------------------------------------------------------------------------------
//
//	/**
//	 *@since version 0.8.1
//	 */
//	// ---------- MAIN DIV --------- //
//	WMEAutoUR_FloatingUI.MainDIV = function() {
//
//		var MainDIV = $('<div>').css("background","rgba(93, 133, 161, 0.85)");
//		$(MainDIV).attr("id","WME_AutoUR_main");
//		//$(WMEAutoUR.MainDIV).css("padding","10px");
//		$(MainDIV).css("color","#FFFFFF");
//		$(MainDIV).css("border-radius","10px");
//		$(MainDIV).css("z-index","1000");
//		$(MainDIV).css("position","absolute");
//		$(MainDIV).css("display","block");
//
//		return MainDIV;
//	};
//
//	//--------------------------------------------------------------------------------------------------------------------------------------------
//
//	/**
//	 *@since version 0.8.1
//	 */
//	WMEAutoUR_FloatingUI.LeftSubDIV = function() {
//
//		MainDIV_left = $('<div>').addClass('WME_AutoUR_main_left')
//								  .css("padding","10px")
//								  .css("float","left");
//
//		// ------- MAIN DIV LEFT  ------- //
//		$(MainDIV_left).append($("<div>")
//						.css("width","100%")
//						.css("text-align","center")
//						.css("background-color","#000000")
//						.css("border-radius","5px")
//						.css("padding","3px")
//						.css("margin-bottom","3px")
//						.html("WME-AutoUR " + WMEAutoUR.version)
//						.dblclick(WMEAutoUR.showDevInfo)
//						.attr("title","Click for Development Info"));
//
//		$(MainDIV_left).append($("<span id='WME_AutoUR_Info'>")
//						//.css("float","right")
//						.css("text-align","left")
//						.css("display","block")
//						.css("width","275px")
//						.css("height","150px")
//						.css("clear","both"));
//
//		autoBar = $('<div>').css("width","100%")
//							.css("padding-top","10px");
//		$(MainDIV_left).append($(autoBar));
//
//		$(autoBar).append($("<button>Prev</button>")
//						.click(WMEAutoUR.Auto.Prev)
//						.css("position","relative")
//						.css("float","left")
//						.css("height","24px")
//						.attr("title","Previous UR"));
//
//		$(autoBar).append($("<button>Next</button>")
//						.click(WMEAutoUR.Auto.Next)
//						.css("position","relative")
//						.css("float","right")
//						.css("height","24px")
//						.attr("title","Next UR"));
//
//		$(autoBar).append($("<span id='WME_AutoUR_Count'>")
//						.css("text-align","center")
//						.css("display","block")
//						.css("width","60px")
//						.css("margin","0 auto")
//						.css("padding","3px")
//						.css("background-color","#000000")
//						.css("border-radius","5px")
//						.html("?/?")
//						.dblclick(WMEAutoUR.Auto.getIDs)
//						.attr("title","Double click to reload list of URs"));
//
//		return MainDIV_left;
//	};
//
//	//--------------------------------------------------------------------------------------------------------------------------------------------
//
//	/**
//	 *@since version 0.8.1
//	 */
//	// ------- MAIN DIV RIGHT  ------- //
//	WMEAutoUR_FloatingUI.RightSubDIV = function() {
//
//		MainDIV_right = $('<div>').addClass('WME_AutoUR_main_right')
//								  .css("padding","10px")
//								  .css("width","275px")
//								  .css("text-align","center")
//								  .css("float","right");
//
//		$(MainDIV_right).append($("<button>Insert</button>")
//						.click(WMEAutoUR.Messages.Insert)
//						.css("float","left")
//						.attr("title","Insert Comment"));
//
//		$(MainDIV_right).append($("<button>Send</button>")
//						.click(WMEAutoUR.Messages.sendAndNext)
//						.attr("title","Insert message, MARK OPEN, and close UR edit window. "));
//
//		$(MainDIV_right).append($("<button>Solve</button>")
//						//.dblclick(WMEAutoUR.showHideTools)
//						.attr("title","Insert message, MARK SOLVED."));
//
//		$(MainDIV_right).append($("<button>Not ID</button>")
//						//.dblclick(WMEAutoUR.showHideTools)
//						.attr("title","Insert message, MARK NOT IDENTIFIED."));
//
//		$(MainDIV_right).append($("<textarea>")
//						.attr("id","WME_AutoUR_MSG_default_comment")
//						.css("width","100%")
//						.css("height","150px")
//						.attr("title","Default Comment"));
//
//		var select = $("<select>")
//					  .attr("id","WME_AutoUR_MSG_Select")
//					  .attr("title","Select Message")
//					  .css("width","175px")
//					  .css("float","left")
//					  .change(WMEAutoUR.Messages.Change)
//					  .append("<option>-----</option>");
//
//		$(MainDIV_right).append($("<button>Save This</button>")
//						.click(WMEAutoUR.Messages.Save)
//						.css("float","right")
//						.attr("title","Save Current Comment"));
//
//		$(MainDIV_right).append(select);
//		WMEAutoUR_FloatingUI.createSelect(select);
//
//		return MainDIV_right;
//	};
//
//	/**
//	*@since version 0.6.1
//	*/
//	WMEAutoUR_FloatingUI.createSelect = function(select) {
//
//		$.each(WMEAutoUR.Options.names,function(i,v) {
//			if(v) {
//				var opt = $('<option>');
//				$(opt).attr('value',i);
//				$(opt).html(v);
//				$(select).append(opt);
//			}
//		}
//		);
//	};
//
//
//	WMEAutoUR_FloatingUI.init();
//}

//--------------------------------------------------------------------------------------------------------------------------------------------
//----------------  END Create floating UI  --------------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------------------------------------------------------

	/**
	 *@since version 0.8.1
	 */
	// ------- MESSAGES TAB ------- //
	//WMEAutoUR_TabbedUI.MessagesTAB = function() {
	//
	//	var msgTAB = $('<div>').attr("id",'WMEAutoUR_MSG_TAB')
	//							//.css("padding","10px")
	//							.css("max-width","275px")
	//							.css("text-align","center")
	//							.html("coming soon")
	//							.addClass("tab-pane");
	//
	//	var select = $("<select>").attr("id","WMEAutoUR_Inital_Select")
	//							.attr("title","Select Message")
	//							.css("width","200px")
	//							.css("float","left")
	//							.change(WMEAutoUR.Messages.Change)
	//							.focus(WMEAutoUR.Messages.Save)
	//							.css("padding-top","5px")
	//							.append("<option>-----</option>");
	//
	//	WMEAutoUR_TabbedUI.createSelect(select);
	//
	//
	//	// ---  INITIAL COMMENT --- //
	//	$(msgTAB).append($("<div>").css("clear","both")
	//								.css("height","156px")
	//								.css("margin-bottom","10px")
	//								.append($("<h3>").html("Initial")
	//												  .css("color","black")
	//												  .css("text-align","left")
	//									   )
	//								.append($("<textarea>").attr("id","WMEAutoUR_Inital_Comment")
	//													  .css("float","left")
	//													  .css("height","125px")
	//													  .css("position","relative")
	//													  .css("float","left")
	//													  .css("margin-top","5px")
	//													  .css("width","200px")
	//													  .css("clear","both")
	//									   )
	//								.append(select)
	//					  );
	//
	//
	//	// --- STALE 1 COMMENT --- //
	//	$(msgTAB).append($("<div>").css("clear","both")
	//								.css("height","134px")
	//								.append($("<h3>").html("Stale 1")
	//													.css("color","black")
	//													.css("text-align","left")
	//													.css("padding-top","20px")
	//									   )
	//								.append($("<textarea>").attr("id","UR_Stale_1_Comment")
	//													  .attr("disabled","true")
	//													  .css("height","125px")
	//													  .css("position","relative")
	//													  .css("float","left")
	//													  .css("margin-top","5px")
	//													  .css("width","200px")
	//													  .css("clear","both")
	//													  .html(WMEAutoUR.Options.stale[1].Comment)
	//										)
	//								.append($("<span>").css("position","relative")
	//													.css("float","left")
	//													.css("text-align","left")
	//													.css("margin","5px 0")
	//													.css("width","200px")
	//													.css("clear","both")
	//													.css("color","#000000")
	//													.html("Days since last comment.")
	//										)
	//								.append($("<input>").attr("type","text")
	//													.attr("id","UR_Stale_1_Days")
	//													.attr("disabled","true")
	//													.attr("value",WMEAutoUR.Options.stale[1].Days)
	//													.css("height","24px")
	//													.css("width","36px")
	//													.css("text-align","center")
	//													.css("position","relative")
	//													.css("float","left")
	//													.css("clear","both")
	//													.css("padding-top","5px")
	//										)
	//					 );
	//
	//	// --- STALE 2 COMMENT --- //
	//	$(msgTAB).append($("<div>").css("clear","both")
	//								.css("height","134px")
	//								.append($("<h3>").html("Stale 2")
	//													.css("color","black")
	//													.css("text-align","left")
	//													.css("padding-top","20px")
	//									   )
	//								.append($("<textarea>").attr("id","UR_Stale_2_Comment")
	//													  .attr("disabled","true")
	//													  .css("float","left")
	//													  .css("height","125px")
	//													  .css("position","relative")
	//													  .css("float","left")
	//													  .css("margin-top","5px")
	//													  .css("width","200px")
	//													  .css("clear","both")
	//													  .html(WMEAutoUR.Options.stale[2].Comment)
	//										)
	//								.append($("<span>").css("position","relative")
	//													.css("float","left")
	//													.css("text-align","left")
	//													.css("margin","5px 0")
	//													.css("width","200px")
	//													.css("clear","both")
	//													.css("color","#000000")
	//													.html("Days since last comment.")
	//										)
	//								.append($("<input>").attr("type","text")
	//													.attr("id","UR_Stale_2_Days")
	//													.attr("disabled","true")
	//													.attr("value",WMEAutoUR.Options.stale[2].Days)
	//													.css("height","24px")
	//													.css("width","36px")
	//													.css("text-align","center")
	//													.css("position","relative")
	//													.css("float","left")
	//													.css("clear","both")
	//													.css("padding-top","5px")
	//										)
	//					 );
	//
	//
	//
	//	$(msgTAB).append($("<button>Save</button>")
	//			  .click(WMEAutoUR.Settings.Save)
	//			  .css("float","right")
	//			  .attr("title","Save Current Comment"));
	//
	//
	//	$(msgTAB).append($("<div>").css("clear","both"));
	//
	//
	//	return msgTAB;
	//};