			Array.prototype.inArray = function (value,caseSensitive)
			{
				var i;
				for (i=0; i < this.length; i++) {
					if(caseSensitive){ //performs match even the string is case sensitive
						if (this[i].toLowerCase() == value.toLowerCase()) {
							return true;
						}
					}else{
						if (this[i] == value) {
							return true;
						}
					}
				}
				return false;
			};
			Array.prototype.push = function() {
				var n = this.length >>> 0;
				for (var i = 0; i < arguments.length; i++) {
					this[n] = arguments[i];
					n = n + 1 >>> 0;
				}
				this.length = n;
				return n;
			};
			Array.prototype.pop = function() {
				var n = this.length >>> 0, value;
				if (n) {
					value = this[--n];
					delete this[n];
				}
				this.length = n;
				return value;
			};
			var csvToArray = function(csv,delim) {
				var arr = new Object();
				if(csv != null)
				{
					var lines = csv.split("\r\n");
					for (var l in lines)
					{
						if(typeof(lines[l]) == 'function') { continue; }
						if(!(lines[l].length > 0)) {continue;}
						var line = "";
						line += lines[l];
						var tmparr = line.split(",");
						var d = tmparr[0];
						var t = tmparr[1];
						if(arr.hasOwnProperty(d)) {
							if(!arr[d].inArray(t)) {
								arr[d].push(t);
							}
						} else {
							arr[d] = new Array();
							arr[d].push(t);
						}
					}
				}
				return arr;
			};
			var trip_array;
			var loadTimeData = function(o)
			{
				var date = $("select#tripdate").val();
				var options = '<option value="">Please Select</option>';
				if(! trip_array[date] || !(trip_array[date].length > 0)) { options = '<option value="">==================</option>'; }
				else {
					for (var h in trip_array[date]) {
						var a = (trip_array[date])[h];
		        if(typeof(a) == 'function') {continue;}
		        options += '<option value="' + a + '">' + a + '</option>';
		      }
				}
				$("select#triptime").html(options);
				$("select#triptime").each(function(i,o){o.selectedIndex=0;o.disabled = false;});
			}
			var cbLoadData = function(data) {
				trip_array = csvToArray(data);
				var options = '<option value="">Please Select</option>';
				for (var k in trip_array) {
	        options += '<option value="' + k + '">' + k + '</option>';
	      }
	      $("select#tripdate").html(options);
				$("select#tripdate").each(function(i,o){o.selectedIndex=0;o.disabled = false;});
				$("select#tripdate").change(loadTimeData);
				loadTimeData();
			};
			var loadData = function() {
				var rand_no = Math.random();
				$.get("/contactus.csv",{rand:rand_no },cbLoadData);
			};
			$(
				function() {
					$("#msg").ajaxError(function(error_event, xmlreq,settings,ex){
						var errormsg = "";
						if(ex) {
							errormsg = ex.fileName + ":" + ex.lineNumber + " - " + ex.name + ": " + ex.message;
						} else {
							errormsg = settings.url + ": " + xmlreq.status + " " + xmlreq.statusText;
						}
						$(this).append("<span>Error requesting schedule data. (" + errormsg + ")</span>");
					});
					$("#loading").ajaxStart(function(){
						$(this).show();
					});
					$("#loading").ajaxStop(function(){
						$(this).hide();
					});
					loadData();
				}
			);
