	function QueryString(key) {
		var value = null;
		for (var i=0;i<QueryString.keys.length;i++)
		{
			if (QueryString.keys[i]==key)
			{
				value = QueryString.values[i];
				break;
			}
		}
		return value;
	}

	QueryString.keys = new Array();
	QueryString.values = new Array();

	function QueryString_Parse() {
		var query = window.location.search.substring(1);
		var pairs = query.split("&");
		
		for (var i=0;i<pairs.length;i++)
		{
			var pos = pairs[i].indexOf('=');
			if (pos >= 0)
			{
				var argname = pairs[i].substring(0,pos);
				var value = pairs[i].substring(pos+1);
				QueryString.keys[QueryString.keys.length] = argname;
				QueryString.values[QueryString.values.length] = value;		
			}
		}

	}

	QueryString_Parse();

	var current = new Array();
	var columns = new Array(4);
	var randomsVert = new Array();
	var randomsHor = new Array();
	var reserved = new Array();

	var today;
	if (QueryString("dat") == null) {
		today = new Date().getTime();
	} else {
		today = parseInt(QueryString("dat"));
	}

	var h = 0;
	var i = 0;
	var j = 0;
	var k = 0;
	var l = 0;

	for (i=0; i<fr.length; i++) {
		start = fr[i][7];
		end = fr[i][8];
		if ((start <= today) && (end > today)) {
			current[h] = fr[i];
			h++
		}
	}

	k++;
	reserved[k] = "0";

	columns[1] = "0";
	columns[2] = "0";
	columns[3] = "0";
	columns[4] = "0";

	for (i=0; i<current.length; i++) {
		number = current[i][6];
		if (number == "3") {
			columns[1] = current[i][0];
			k++;
			reserved[k] = current[i][0];
		} else if (number == "4") {
			columns[2] = current[i][0];
			k++;
			reserved[k] = current[i][0];
		} else if (number == "5") {
			columns[3] = current[i][0];
			k++;
			reserved[k] = current[i][0];
		} else if (number == "6") {
			columns[4] = current[i][0];
			k++;
			reserved[k] = current[i][0];
		} else if (number == "1") {
			j++;
			randomsVert[j] = current[i][0];
		} else if (number == "2") {
			l++;
			randomsHor[l] = current[i][0];
		}
	}


	if (columns[1] == "0") {
		runner = 0;
		do {
			columns[1] = randomsVert[Math.round(Math.random()*randomsVert.length)];
			isItReserved = isReserved(columns[1]);
			if (isItReserved) {
				columns[1] = "0";
			}
			runner++;
		} while (isItReserved && (runner < 100));
		k++;
		reserved[k] = columns[1];
	}
	if (columns[2] == "0") {
		runner = 0;
		do {
			columns[2] = randomsVert[Math.round(Math.random()*randomsVert.length)];
			isItReserved = isReserved(columns[2]);
			if (isItReserved) {
				columns[2] = "0";
			}
			runner++;
		} while (isItReserved && (runner < 100));
		k++;
		reserved[k] = columns[2];
	}
	if (columns[3] == "0") {
		runner = 0;
		do {
			columns[3] = randomsHor[Math.round(Math.random()*randomsHor.length)];
			isItReserved = isReserved(columns[3]);
			if (isItReserved) {
				columns[3] = "0";
			}
			runner++;
		} while (isItReserved && (runner < 100));
		k++;
		reserved[k] = columns[3];
	}
	if (columns[4] == "0") {
		runner = 0;
		do {
			columns[4] = randomsHor[Math.round(Math.random()*randomsHor.length)];
			isItReserved = isReserved(columns[4]);
			if (isItReserved) {
				columns[4] = "0";
			}
			runner++;
		} while (isItReserved && (runner < 100));
		k++;
		reserved[k] = columns[4];
	}

	function isReserved(id) {
		var returnValue = false;
		for (var i=0; i<reserved.length; i++) {
			if (id == reserved[i]) {
				returnValue = true;
			}
		}
		return returnValue;
	}

	function getField(column, field) {
		var object = null;
		for (i=0; i<current.length; i++) {
			if (current[i][0] == columns[column]) {
				object = current[i];
			}
		}
		if (object == null) {
			return "";
		} else {
			return object[field].replace("&quot;", "'");
		}
	}