function getCities(obj) {
	if (obj.value.length>=5) {
		$.ajax({
			type: "GET",
			url: "http://foodio54.com/ajax_zipreturn.php",
			data: "zip=" + obj.value,
			success: function(msg) {
				zips = msg.split(";");
				$("#cityGroup").attr("innerHTML","");
				for (var i=0;i<zips.length-1;i++) {
					$("#cityGroup").attr("innerHTML",$("#cityGroup").attr("innerHTML") + "<input type=\"radio\" name=\"cities\" class=\"radio\" value=\""+zips[i]+"\" onclick=\"saveCityState(this);\">"+zips[i]+"<br />");
				}
				$("#cityGroupDiv").show();
			}
		});

	} else {
		$("#cityDiv").hide();
		$("#cityGroup").attr("innerHTML","");
	}
}

function getAvailable() {
	objUserName = $("#username");

	if (objUserName.val().length>0) {
		$.ajax({
			type: "GET",
			url: "http://foodio54.com/checkUsernameAvailability.php",
			data: "username=" + objUserName.val(),
			beforeSend: function() { $("#username").className = "displayOff"; },
			success: function(msg) {
				objAvailMsg = $("#availMsg");
				objUserName = $("#username");

				if (msg=="0") {
					objAvailMsg.attr("innerHTML","Good news, the username &quot;" + objUserName.val() + "&quot; is available.");
					objAvailMsg.attr("className","f54");
				} else {
					objAvailMsg.attr("innerHTML","Sorry, the username &quot;" + objUserName.val() + "&quot; is already taken, please select another.");
					objAvailMsg.attr("className","badMinor");
				}
			}
		});
	}
}

function saveCityState(obj) {
	if (obj.value!="Other") {
		$("#cityDiv").hide();
		$("#stateDiv").hide();

		var cityState = obj.value.split(",");
		$("#city").val(trim(cityState[0]));
		$("#state").val(trim(cityState[1]));
	} else {
		$("#city").val("");
		$("#state").val("");

		$("#cityDiv").show();
		$("#stateDiv").show();
	}
}

function submitForm(formId) {
	document.getElementById(formId).submit();
}

function submitOnEnter(obj,evt) {
	var charCode = (evt.which) ? evt.which : evt.keyCode;
	if (charCode==13) {
		evt.cancel = true;
		getNextParentTag(obj,'form').submit();
		return false;
	}
	return true;
}

function rShow(obj,r,s) {
	pObj = obj.parentNode;
	var pid = pObj.id.substring(4);
	for (var i=1;i<=5;i++) {
		getNonTextChild(pObj,i).className = (i<=r) ? "ratingOn"+s : "ratingOff";
	}
}

function rDefault(obj) {
	var pObj = obj.parentNode;
	var pid = pObj.id.substring(4);
	rShow(obj,document.getElementById("dr"+pid).value,document.getElementById("rType"+pid).className);
}

function rVote(obj,r) {
	var pObj = obj.parentNode;
	var pid = pObj.id.substring(4);
	var randNum = Math.round(Math.random()*1000000);

	$.ajax({
		type: "GET",
		url: "http://foodio54.com/ratePlace.php",
		data: "pid=" + pid + "&r=" + r + "&rand=" + randNum,
		success: function(msg) {
			var pidRate = new Array();
			pidRate = msg.split(";");
			if ((pidRate[0]=="0")||(pidRate[1]=="")||(pidRate[2]=="")) {
				openPop(1);
			} else {
				$("#rType"+pidRate[1]).removeClass();
				$("#dr"+pidRate[1]).val(pidRate[2]);
				var avgBox = $("#avgBox"+pidRate[1]);
				if (avgBox.attr("innerHTML").indexOf("Be the first")>-1) {
					var avgR = pidRate[3];
					avgBox.attr("innerHTML","<em>"+avgR+"</em> <i>Average<br/>1 ratings</i>");
				} else {
					var avgR = pidRate[3];
					var totR = pidRate[4];
					avgBox.attr("innerHTML","<em>"+avgR+"</em> <i>Average<br/>"+totR+" ratings</i>");
				}
			}
			rDefault(document.getElementById("dr"+pidRate[1]));
		}
	});
}

function getNonTextChild(obj,target) {
	index = 0;
	while (index<target) {
		if (obj.childNodes[index].nodeName!="#text") index++;
	}
	return obj.childNodes[index];
}

function getNextNonTextSibling(obj) {
	obj = obj.nextSibling;
	while (obj.nodeType==3) {
		obj = obj.nextSibling;
	}
	return obj;
}

function getNextParentTag(obj,tag) {
	if (obj.parentNode) {
		while (obj.parentNode) {
			obj = obj.parentNode;
			if (obj.nodeName.toLowerCase() == tag.toLowerCase()) return obj;
		}
	}
	return false;
}

function getPreviousNonTextSibling(obj) {
	obj = obj.previousSibling;
	while (obj.nodeType==3) {
		obj = obj.previousSibling;
	}
	return obj;
}


function toggleTags(obj,pid,tacols) {
	if (tacols==null) tacols="77";
	objTags = $("#tags"+pid);
	if (objTags.attr("className")=="displayOff") {
		if ((objTags.attr("innerHTML")==null)||(objTags.attr("innerHTML")=="")) {
			$.ajax({
				type: "GET",
				url: "http://foodio54.com/getTags.php",
				data: "pid=" + pid,
				success: function(msg) {
					var pidTags = new Array();
					pidTags = msg.split(";");
					var objTags = $("#tags"+pidTags[0]);
					objTags.html(" ");
					for (var i=1;i<pidTags.length;i++) {
						objTags.html(objTags.html() + pidTags[i] + ", ");
					}
					objTags.html($.trim(objTags.html().substring(0,objTags.html().length-2)));
					objTags.html(objTags.html() + "<br /><a href=\"#\" onclick=\"openEditTags(" + pidTags[0] + "," + tacols + ");return false;\">Edit these tags</a><br />");
					objTags.attr("className","showTags");
				}
			});
		} else {
			objTags.attr("className","showTags");
		}
		obj.innerHTML = "hide tags";
	} else {
		obj.innerHTML = "view tags";
		objTags.attr("className","displayOff");
	}
}

function setActivePlace(obj) {
	var pObj = getNextParentTag(obj,'ul');
	var pid = pObj.id.substring(7);
	$('#activePlace').val(pid);
}

function getActivePlace() {
	return $('#activePlace').val();
}

function emailPlace(obj) {
	var pid = getActivePlace();
	$.ajax({
		type: "GET",
		url: "http://foodio54.com/emailPlace.php",
		data: "pid=" + pid + "&to=" + $('#toname').val() + "&from=" + $('#yourname').val() + "&email=" + $('#email').val(),
		beforeSend: function() { $('#beforeEmail').hide(); },
		success: function(msg) { $('#afterEmail').show(); }
	});
}

function deletePlace() {
	var pid = getActivePlace();
	$.ajax({
		type: "GET",
		url: "http://foodio54.com/deletePlace.php",
		data: "pid=" + pid + "&reason=" + $('#reason').val(),
		beforeSend: resetDeletePop,
		success: function(msg) {
			if (msg=='1') {
				$('#beforeDelete').hide();
				$('#afterDelete').show();
			} else {
				closeAllPops();
				openPop(1);
			}
		}
	});
}

function deletePlaceDetails() {
	$.ajax({
		type: "GET",
		url: "http://foodio54.com/deletePlace.php",
		data: "pid=" + $('#pid').val() + "&reason=" + $('#reason').val(),
		success: function(msg) {
			if (msg=='1') {
				$('#deleteListing').hide();
				$('#thanks').show();
			} else {
				closeAllPops();
				openPop(1);
			}
		}
	});
}

function resetDeletePop() {
	$('#reason').value = "";
	$('#beforeDelete').show();
	$('#afterDelete').hide();
}

function setDeleteTitle(title) {
	var pid = getActivePlace();
	$('#lgdDeleteTitle').text("Delete " + title);
}

function toggleAllSelects(isShown) {
	objSelects = document.getElementsByTagName("select");

	if (isShown) {
		var displayClass = "displayInline";
	} else {
		var displayClass = "displayOff";
	}

	$("select").each(function() {
		if (!isInPopGroup(this)) this.className = displayClass;
	});
}

function isInPopGroup(obj) {
	if (obj.parentNode) {
		while (obj.parentNode) {
			if (obj.id=="popGroup") return true;
			obj = obj.parentNode;
		}
	}
	return false;
}

function closeAllPops() {
	$("#popOverlay").hide();
	for (var i=1;i<=11;i++) {
		$("#pop"+i).hide();
	}
	toggleAllSelects(true);
}

function openPop(index,setWidth) {
	if (setWidth == null) setWidth = -1;

	toggleAllSelects(false);
	var objOverlay = document.getElementById("popOverlay");
	var objPop = document.getElementById("pop" + index);

	var yScroll;
	if (self.pageYOffset) {
		yScroll = self.pageYOffset;
	} else if (document.documentElement && document.documentElement.scrollTop) {
		yScroll = document.documentElement.scrollTop;
	} else if (document.body) {
		yScroll = document.body.scrollTop;
	}

	var xScrollMax, yScrollMax;
	if (window.innerHeight && window.scrollMaxY) {	
		xScrollMax = document.body.scrollWidth;
		yScrollMax = window.innerHeight + window.scrollMaxY;
	} else if (document.documentElement && document.documentElement.scrollHeight) {
		if (document.documentElement.scrollHeight > document.documentElement.offsetHeight) {
			xScrollMax = document.documentElement.scrollWidth;
			yScrollMax = document.documentElement.scrollHeight;
		} else {
			xScrollMax = document.documentElement.offsetWidth;
			yScrollMax = document.documentElement.offsetHeight;
		}
	} else if (document.body.scrollHeight > document.body.offsetHeight) {
		xScrollMax = document.body.scrollWidth;
		yScrollMax = document.body.scrollHeight;
	} else {
		xScrollMax = document.body.offsetWidth;
		yScrollMax = document.body.offsetHeight;
	}

	var windowWidth, windowHeight;
	if (self.innerHeight) {
		windowWidth = self.innerWidth;
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) {
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) {
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}
	pageHeight = (yScrollMax < windowHeight) ? windowHeight : yScrollMax;
	pageWidth = (xScrollMax < windowWidth) ? windowWidth : xScrollMax;

	objOverlay.style.height = pageHeight + "px";
	objOverlay.style.width = pageWidth + "px";
	$(objOverlay).show();
	$(objPop).show().attr("className","displayPop");

	if (setWidth>0) objPop.style.width = setWidth  + "px";
	var popWidth = objPop.offsetWidth;

	var popTop = yScroll + Math.round(windowHeight / 3);
	var popLeft = Math.round(pageWidth / 2) - Math.round(popWidth / 2);

	(popTop>0) ? objPop.style.top = popTop + "px" : objPop.style.top = "0px";
	(popLeft>0) ? objPop.style.left = popLeft + "px" : objPop.style.left = "0px";
}

function closePop(index) {
	$("#popOverlay").hide();
	$("#pop" + index).hide();
	toggleAllSelects(true);
}

window.onscroll = function () {
	if (document.getElementById("popGroup")!=null) {
		$("popGroup div.displayPop").each(function() { openPop(this.id.substring(3)); });
	}
}

function ajaxLogin() {
	var username = $('#pop_login_username').val();
	var password = $('#pop_login_password').val();

	$.ajax({
		type: "GET",
		url: "http://foodio54.com/ajaxLogin.php",
		data: "pop_login_username=" + username + "&pop_login_password=" + password,
		beforeSend: function() { $('#loginMsg').show(); },
		success: function(msg) {
			if (msg.length<40) {
				document.location = "http://foodio54.com/signin.php?error_code=" + msg;
			} else {
				$.ajax({
					url: "http://foodio54.com/ajaxGetUsernameFromSid.php",
					success: function(username) {
						$('#loginMsg').html("<p><strong>Logged in as " + username + "</strong></p><a href=\"#\" onclick=\"closeAllPops(); return false;\">Close Window</a>");
						$('#enterLoginInfo').hide();
					}
				});
			}
		}
	});
}

function openHPnav(obj) {
	var displayClass = (getNextNonTextSibling(obj.parentNode).getElementsByTagName("form")[0].className=="displayInline") ? "" : "smallNav";

	$("#nav form").each(function() {
		this.className = "displayOff";
		getPreviousNonTextSibling(this.parentNode).className = displayClass;
	});
	getNextNonTextSibling(obj.parentNode).getElementsByTagName("form")[0].className = (displayClass=="") ? "displayOff" : "displayInline";
}

function openHelp(helpIndex) {
	$.ajax({
		type: "GET",
		url: "http://foodio54.com/getHelp.php",
		data: "helpIndex="+helpIndex,
		success: function(msg) {
			$('#helpContent').html(msg);
			openPop(6);
		}
	});
}

function openBuildRSS() {
	var serpDataArr = $('rssSerpDesc').value.split("£");
	$('rssName').value = trim(serpDataArr[3]);
	$('rssName').value = $('rssName').value.substring(0,1).toUpperCase() + $('rssName').value.substring(1);
	closeAllPops();
	openPop(7);
}


function buildRSS() {
	var serpDataArr = $('#rssSerpDesc').val().split("£");
	$.ajax({
		type: "GET",
		url: "http://foodio54.com/buildRSS.php",
		data: "m=" + serpDataArr[0] + "&q=" + serpDataArr[1] + "&loc=" + serpDataArr[2] + "&rssOrder=" + $('#rssOrder').val() + "&rssName=" + $('#rssName').val(),
		beforeSend: function() {
			$('#buildrss').hide();
			$('#addRSStofeed').html("<h1>Creating RSS Feed...</h1>");
		},
		success: function(msg) { $('#addRSStofeed').html(msg).show(); }
	});
}

function openDL(obj) {
	objDL = getNextParentTag(obj,'dl');
	objDD = getNextNonTextSibling(obj.parentNode);
	arrDD = objDL.getElementsByTagName('DD');
	for (var i=0;i<arrDD.length;i++) {
		arrDD[i].className = "displayOff";
	}
	objDD.className = "displayOn";
}

//Thanks scottandrew.com
function addEvent(obj, evType, fn, useCapture){
	if (obj.addEventListener){
		obj.addEventListener(evType, fn, useCapture);
		return true;
	} else if (obj.attachEvent){
		var r = obj.attachEvent("on"+evType, fn);
		return r;
	}
}

function setupLinkToUs(url,loc,q) {
	if (q!="") q=q+" ";
	$('#linkToUs').val() = "<a href=\"" + url + "\">Find " + q + "Restaurants in " + loc + "</a>";
	openPop(8);
}

function cookieVal(cookieName) {
	cookies = document.cookie;
	var startLoc=cookies.indexOf(cookieName);
	if (startLoc==-1) {
		return("");
	}
	var sepLoc=cookies.indexOf("=",startLoc);
	var endLoc=cookies.indexOf(";",startLoc);
	if (endLoc==-1) {
		endLoc=cookies.length;
	}
	return(cookies.substring(sepLoc+1,endLoc));
}

function deleteCookie(cookieName) {
	document.cookie = cookieName + "=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT";
	document.cookie = "; expires=Thu, 01-Jan-1970 00:00:01 GMT";
}

function isRememberMe() {
	var user = cookieVal('username');
	if (user.indexOf("__utm")>-1) user = "";
	if ($('login_username')!=null && (user!="")) {
		$('#login_username').val(user);
		$('#rememberMe').attr("checked",true);
	}
}

function checkRememberMe() {
	if ($('#rememberMe').attr("checked")==true) {
		document.cookie = "username=" + $('#login_username').val() + "; expires=Thu, 01-Jan-2017 00:00:01 GMT";
	} else {
		deleteCookie('username');
	}
}

function inviteFriend() {
	var rand = Math.round(Math.random() * 1000000);
	$.ajax({
		type: "GET",
		url: "http://foodio54.com/ajax_invite.php",
		data: "yn=" + $('#yn').val() + "&fn=" + $('#fn').val() + "&fe=" + $('#fe').val() + "&rand=" + rand,
		success: function(msg) {
			$("#inviteFormDisp").hide();
			$("#inviteThanks").show();
		}
	});
}

function inviteAnother() {
	$("#inviteFormDisp").show();
	$("#inviteThanks").hide();
	$("#fn").val("");
	$("#fe").val("");
}

//Thanks msdn.com
function getIEVersion() {
	var rv = -1; // Return value assumes failure.
	if (navigator.appName == 'Microsoft Internet Explorer') {
		var ua = navigator.userAgent;
		var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
		if (re.exec(ua) != null) rv = parseFloat( RegExp.$1 );
	}
	return rv;
}

function cleanUpHP() {
	if ((getIEVersion()>0)&&(getIEVersion()<7))  document.getElementById('signinLink').click();
}

function setList(lid) {
	$('#listSelected').val(lid);
	showList(lid);
}

function showList() {
	var lid = $('#listSelected').val();
	var sortBy = $('#listSort').val();
	var randNum = Math.round(Math.random()*1000000);
	$.ajax({
		type: "GET",
		url: "http://foodio54.com/showList.php",
		data: "lid=" + lid + "&sortBy=" + sortBy + "&rand=" + randNum,
		success: function(msg) { $('#listPlaces').html(msg); }
	});
}

function sortAllList() {
	var sortBy = $('#allSort').val();
	var randNum = Math.round(Math.random()*1000000);
	$.ajax({
		type: "GET",
		url: "http://foodio54.com/showAllList.php",
		data: "sortBy=" + sortBy + "&rand=" + randNum,
		success: function(msg) { $('#allPlaces').html(msg); }
	});
}

function selectListItem(obj) {
	$('#selectedItem').val(obj.id);
	$('allPlaces').children().each(function() {this.className = "";});
	$('listPlaces').children().each(function() {this.className = "";});
	obj.className = "itemSelected";
}

function addListPlace() {
	var lid = $('#listSelected').val();
	var pid = $('#selectedItem').val();
	if (pid.indexOf("item")==0) return false;
	pid = pid.substring(pid.indexOf("_")+1);
	var randNum = Math.round(Math.random()*1000000);
	$.ajax({
		type: "GET",
		url: "http://foodio54.com/addListItem.php",
		data: "lid=" + lid + "&pid=" + pid + "&rand=" + randNum,
		success: function(msg) { showList(); }
	});
}

function removeListPlace() {
	var lid = $('#listSelected').val();
	var item = $('#selectedItem').val();
	if (item.indexOf("pid")==0) return false;
	item = item.substring(item.indexOf("_")+1);
	var randNum = Math.round(Math.random()*1000000);
	$.ajax({
		type: "GET",
		url: "http://foodio54.com/removeListItem.php",
		data: "lid=" + lid + "&item=" + item + "&rand=" + randNum,
		success: function(msg) { showList(); }
	});
}

function getHPBackground() {
	var now = new Date();
	thisHour = now.getHours();
	if ((thisHour>3)&&(thisHour<=10)) $('#search').addClass("HP_Breakfast");
	if ((thisHour>10)&&(thisHour<16)) $('#search').addClass("HP_Lunch");
	if ((thisHour>=16)&&(thisHour<22)) $('#search').addClass("HP_Dinner");
	if ((thisHour<=3)||(thisHour>=22)) $('#search').addClass("HP_4thMeal");
}

function refreshKNN() {
	var randNum = Math.round(Math.random()*1000000);
	$.ajax({
		type: "GET",
		url: "http://foodio54.com/ajaxKNN.php",
		data: "&rand=" + randNum
	});
}

function sendKudos(cid,good) {
	$.ajax({
		type: "GET",
		url: "http://foodio54.com/sendKudos.php",
		data: "cid=" + cid + "&good=" + good,
		success: function(msg) {
			if (msg!="") {
				rArr = msg.split(",");
				var cid = rArr[0];
				var good = parseInt(rArr[1]);
				if (document.getElementById("kMsg"+cid)==null) {
					$("#kGood"+cid).html(parseInt($("kGood"+cid).innerHTML)+good);
					$("#kTot"+cid).html(parseInt($("kTot"+cid).innerHTML)+1);
				} else {
					$("#kMsg"+cid).html("("+good+" of 1 people found this helpful)");
				}
				$("#askKudos"+cid).html("");
			}
		}
	});
}


function getTagCloud(lat,lon,baseurl) {
	var randNum = Math.round(Math.random()*1000000);
	$.ajax({
		type: "GET",
		url: "http://foodio54.com/getTagCloud.php",
		data: "lat=" + lat + "&lon=" + lon + "&baseurl=" + baseurl + "&rand=" + randNum,
		beforeSend: function() {
			$('#tagCloud').html("<div class=\"alignCenter\" style=\"width:100%\"><img src=\"http://foodio54.com/images/ajax-loader.gif\" alt=\"Loading Tag Cloud...\" /></div>").show();
			$('#tagCloudLink').hide();
		},
		success: function(msg) { $('#tagCloud').hide().html(msg).show("show"); }
	});
}

function editPlace() {
	var randNum = Math.round(Math.random()*1000000);
	$.ajax({
		type: "GET",
		url: "http://foodio54.com/ajaxCheckLoginOnly.php",
		data: "rand=" + randNum,
		success: function(msg) {
			if (msg=="1") {
				var pid = getActivePlace();
				$.ajax({
					type: "GET",
					url: "http://foodio54.com/getPlaceData.php",
					data: "pid=" + pid + "&rand=" + randNum,
					success: function(msg) {
						if (msg!="") {
							var pid = getActivePlace();
							var rowObj = $("#row" + pid);
							var backup = rowObj.html();
							rowObj.attr("className","editPlace");
							placeData = msg.split("|");

							name = placeData[0];
							addr = placeData[1];
							city = placeData[2];
							state = placeData[3];
							zip = placeData[4];
							phone1 = placeData[5];
							phone2 = placeData[6];
							fax = placeData[7];
							url = placeData[8];

							var rowInnerHTML = "";
							rowInnerHTML += "<div class=\"placeContainer\">";
							rowInnerHTML += "<div class=\"editDelCol\">";
							rowInnerHTML += "<a href=\"#\" onclick=\"cancelEditPlace("+pid+");return false;\">cancel</a> <a href=\"#\" onclick=\"saveEdit("+pid+");return false;\">save</a>";
							rowInnerHTML += "</div>";
							rowInnerHTML += "<div class=\"placeInfoColBig\">";
							rowInnerHTML += "<input type='hidden' id='backup"+pid+"' value='' />";
							rowInnerHTML += "<label for='edit_name"+pid+"'>Name:</label><input type='text' id='edit_name"+pid+"' value=\""+name+"\" /><br />";
							rowInnerHTML += "<label for='edit_phone"+pid+"'>Phone:</label><input type='text' id='edit_1phone"+pid+"' value=\""+phone1+"\" /><br />";
							rowInnerHTML += "<label for='edit_phone"+pid+"'>Phone:</label><input type='text' id='edit_2phone"+pid+"' value=\""+phone2+"\" /><br />";
							rowInnerHTML += "<label for='edit_fax"+pid+"'>Fax:</label><input type='text' id='edit_fax"+pid+"' value=\""+fax+"\" /><br />";
							rowInnerHTML += "<label for='edit_url"+pid+"'>URL:</label><input type='text' id='edit_url"+pid+"' value=\""+url+"\" /><br />";
							rowInnerHTML += "</div>";
							rowInnerHTML += "<div class=\"placeInfoCol\">";//Mid
							rowInnerHTML += "<label for='edit_addr"+pid+"'>Address:</label><input type='text' id='edit_addr"+pid+"' value=\""+addr+"\" /><br />";
							rowInnerHTML += "<label for='edit_city"+pid+"'>City:</label><input type='text' id='edit_city"+pid+"' value=\""+city+"\" /><br />";
							rowInnerHTML += "<label for='edit_state"+pid+"'>State:</label><select id='edit_state"+pid+"'><option value='AL'>Alabama</option><option value='AK'>Alaska</option><option value='AZ'>Arizona</option><option value='AR'>Arkansas</option><option value='CA'>California</option><option value='CO'>Colorado</option><option value='CT'>Connecticut</option><option value='DE'>Delaware</option><option value='FL'>Florida</option><option value='GA'>Georgia</option><option value='HI'>Hawaii</option><option value='ID'>Idaho</option><option value='IL'>Illinois</option><option value='IN'>Indiana</option><option value='IA'>Iowa</option><option value='KS'>Kansas</option><option value='KY'>Kentucky</option><option value='LA'>Louisiana</option><option value='ME'>Maine</option><option value='MD'>Maryland</option><option value='MA'>Massachusetts</option><option value='MI'>Michigan</option><option value='MN'>Minnesota</option><option value='MS'>Mississippi</option><option value='MO'>Missouri</option><option value='MT'>Montana</option><option value='NE'>Nebraska</option><option value='NV'>Nevada</option><option value='NH'>New Hampshire</option><option value='NJ'>New Jersey</option><option value='NM'>New Mexico</option><option value='NY'>New York</option><option value='NC'>North Carolina</option><option value='ND'>North Dakota</option><option value='OH'>Ohio</option><option value='OK'>Oklahoma</option><option value='OR'>Oregon</option><option value='PA'>Pennsylvania</option><option value='RI'>Rhode Island</option><option value='SC'>South Carolina</option><option value='SD'>South Dakota</option><option value='TN'>Tennessee</option><option value='TX'>Texas</option><option value='UT'>Utah</option><option value='VT'>Vermont</option><option value='VA'>Virginia</option><option value='WA'>Washington</option><option value='DC'>Washington, D.C.</option><option value='WV'>West Virginia</option><option value='WI'>Wisconsin</option><option value='WY'>Wyoming</option><option value='AB'>Alberta</option><option value='BC'>British Columbia</option><option value='MB'>Manitoba</option><option value='NB'>New Brunswick</option><option value='NL'>Newfoundland and Labrador</option><option value='NT'>Northwest Territories</option><option value='NS'>Nova Scotia</option><option value='NU'>Nunavut</option><option value='ON'>Ontario</option><option value='PE'>Prince Edward Island</option><option value='QC'>Quebec</option><option value='SK'>Saskatchewan</option><option value='YT'>Yukon Territories</option></select><br />";
							rowInnerHTML += "<label for='edit_zip"+pid+"'>ZIP Code:</label><input type='text' id='edit_zip"+pid+"' value=\""+zip+"\" maxlength='6'/><br /><br />";
							rowInnerHTML += "</div>";
							//rowInnerHTML += "<div class=\"placeInfoCol\">&nbsp;</div>";
							rowInnerHTML += "</div>";
							rowInnerHTML += "<div class=\"clearAll\"> </div>";

							rowObj.html(rowInnerHTML);
							$("#edit_state" + pid).val(state);
							$("#backup" + pid).val(backup);
						} else {
							openPop(1);
						}
					}
				});
			} else {
				openPop(1);
			}
		}
	});
}

function cancelEditPlace(pid) {
	$("#row" + pid).html($("#backup" + pid).val()).attr("className","");
}

function saveEdit(pid) {
	var name = $("#edit_name" + pid).val();
	var addr = $("#edit_addr" + pid).val();
	var city = $("#edit_city" + pid).val();
	var state = $("#edit_state" + pid).val();
	var zip = $("#edit_zip" + pid).val();
	var phone1 = $("#edit_1phone" + pid).val();
	var phone2 = $("#edit_2phone" + pid).val();
	var fax = $("#edit_fax" + pid).val();
	var url = $("#edit_url" + pid).val();

	var randNum = Math.round(Math.random()*1000000);
	var qs = "&pid="+pid+"&name="+name+"&addr="+addr+"&city="+city+"&state="+state+"&zip="+zip+"&phone1="+phone1+"&phone2="+phone2+"&fax="+fax+"&url="+url;

	$.ajax({
		type: "GET",
		url: "http://foodio54.com/requestChange.php",
		data: "rand=" + randNum + qs
	});

	cancelEditPlace(pid);
	openPop(10);
}

function openEditDetails() {
	var randNum = Math.round(Math.random()*1000000);
	$.ajax({
		type: "GET",
		url: "http://foodio54.com/ajaxCheckLoginOnly.php",
		data: "rand=" + randNum,
		success: function(msg) {
			if (msg=="1") {
				$("#normalListing").hide();
				$("#editListing").show();
			} else {
				openPop(1);
			}
		}
	});
}

function saveEditDetails() {
	var pid = $("#pid").val();
	var name = $("#edit_name").val();
	var addr = $("#edit_addr").val();
	var city = $("#edit_city").val();
	var state = $("#edit_state").val();
	var zip = $("#edit_zip").val();
	var phone1 = $("#edit_phone2").val();
	var phone2 = $("#edit_phone1").val();
	var fax = $("#edit_fax").val();
	var url = $("#edit_url").val();

	var randNum = Math.round(Math.random()*1000000);
	var qs = "&pid="+pid+"&name="+name+"&addr="+addr+"&city="+city+"&state="+state+"&zip="+zip+"&phone1="+phone1+"&phone2="+phone2+"&fax="+fax+"&url="+url;

	$.ajax({
		type: "GET",
		url: "http://foodio54.com/requestChange.php",
		data: "rand=" + randNum + qs
	});

	$("#editListing").hide();
	$("#thanks").show();
}

function openEditTags(pid,tacols) {
	objTags = $("#tags" + pid);
	objTags.html("<textarea id=\"edit_tags"+pid+"\" rows=\"4\" cols=\""+tacols+"\">"+objTags.html().substring(0,objTags.html().indexOf("<"))+"</textarea>");
	objTags.html(objTags.html() + "<br /><a href=\"#\" onclick=\"saveEditTags("+pid+");return false;\">Save Tags</a> | <a href=\"#"+pid+"\" onclick='toggleTags($(\"tagLink"+pid+"\"),"+pid+");return false;'>Cancel Editing</a><br />");
}

function saveEditTags(pid) {
	var randNum = Math.round(Math.random()*1000000);

	$.ajax({
		type: "GET",
		url: "http://foodio54.com/requestChangeTag.php",
		data: "rand=" + randNum + "&pid=" + pid + "&tags=" + $("#edit_tags"+pid).val()
	});

	toggleTags(document.getElementById("tagLink"+pid),pid);
	openPop(10);
}

function sendFeedback() {
	var randNum = Math.round(Math.random()*1000000);
	$.ajax({
		type: "GET",
		url: "http://foodio54.com/submitFeedback.php",
		data: "rand=" + randNum + "&feedback=" + $('#feedback').val()
	});

	$('#feedback').val("");
	$('#showFeedback').hide();
	$('#feedbackThanks').show();
}

function openEditReview(cid) {
	$("#reviewOptions"+cid).hide();
	objReview = $("#comment" + cid);
	$("#backup" + cid).val(objReview.html());
	objReview.html("<textarea id=\"edit_review"+cid+"\" rows=\"4\" cols=\"77\">"+objReview.html()+"</textarea>");
	objReview.html(objReview.html() + "<br /><a href=\"#\" onclick=\"saveEditReview("+cid+");return false;\">Save Review</a> | <a href=\"#"+cid+"\" onclick='cancelEditReview("+cid+");return false;'>Cancel Editing</a><br />");
}

function saveEditReview(cid) {
	var randNum = Math.round(Math.random()*1000000);
	$.ajax({
		type: "GET",
		url: "http://foodio54.com/editReview.php",
		data: "rand=" + randNum + "&cid=" + cid + "&review=" + $("#edit_review"+cid).val()
	});

	$("#comment"+cid).html($("#edit_review"+cid).val());
	$("#reviewOptions"+cid).show();
}

function cancelEditReview(cid) {
	$("#comment" + cid).html($("#backup" + cid).val());
	$("#reviewOptions"+cid).show();
}

function deleteReview(cid) {
	var randNum = Math.round(Math.random()*1000000);
	$.ajax({
		type: "GET",
		url: "http://foodio54.com/deleteReview.php",
		data: "rand=" + randNum + "&cid=" + cid
	});

	$("#row"+cid).hide();
}

function openEditName(lid) {
	$("#editList"+lid).hide();
	$("#saveEditList"+lid).attr("className","displayInline");
	$("#list"+lid).html("<input type=\"text\" id=\"editListName"+lid+"\" name=\"editListName"+lid+"\" value=\""+$("list"+lid).innerHTML+"\" />");
}

function saveEditList(lid) {
	document.location = "http://foodio54.com/member_lists.php?action=edit&edit_lid=" + lid + "&editListName=" + $("editListName"+lid).value;
}

function writeEmbeddedObject(embedded_object) {
	document.write(embedded_object);
	document.write('\n');
}

var userSearchIndex = 0;
function userSearchTransition() {
	$("#results li").each(function(i) { t = setTimeout("showUserSearch();", i*150); });
}

function showUserSearch() {
	i=userSearchIndex-0;
	userSearchIndex++;
	var r = document.getElementById('results').getElementsByTagName('li');
	if (i<r.length-1) {
		r[i+1].getElementsByTagName('div')[0].className = "userSearchTrans";
	}
	r[i].getElementsByTagName('div')[0].className = "";
	r[i].getElementsByTagName('div')[1].className = "userImg";
	r[i].getElementsByTagName('div')[2].className = "userActions";
}

function setSearchSort(so) {
	document.cookie = "so=" + so + "; expires=Thu, 01-Jan-2017 00:00:01 GMT";
}

function setDefaultFeedbackTxt(obj,way) {
	if (way==0) {
		if (obj.value=="Leave feedback here...") obj.value="";
	} else {
		if (obj.value=="") obj.value="Leave feedback here...";
	}
}

function getRecs(miles) {

	if (miles==15) openPop(11);
	var randNum = Math.round(Math.random()*1000000);
	$.ajax({
		type: "GET",
		url: "http://foodio54.com/ajaxRecs.php",
		data: "miles=" + miles + "&rand=" + randNum,
		success: function(msg) {
			var div = msg.indexOf("|");
			var tot = msg.substring(0,div);
			var avg = msg.substring(div+1,msg.indexOf("|",div+1));
			if ((miles==15)&&((tot<20)||(avg<4))) {
				getRecs(30);
			} else {
				$('#recs').html(msg.substring(msg.indexOf("|",div+1)+1));
				closeAllPops();
			}
		}
	});
}

function lookupAddr(loc,m,p,q) {
	var rand = Math.round(Math.random() * 1000000);
	var locArr = loc.split(" ");
	if (((locArr.length>1)&&(locArr[0].substring(0,1).match(/^[0-9]+$/)))||(loc.indexOf(" & ")>-1)||(loc.indexOf(" and ")>-1)||(loc.indexOf(" at ")>-1)) {
		$.ajax({
			type: "GET",
			url: "http://foodio54.com/ajaxLookupAddr.php",
			data: "loc=" + loc + "&rand=" + rand,
			beforeSend: function() {
				openPop(11);
				$("#pop11").html("<h2>Searching restaurants</h2><div class=\"clearAll\"> </div>");
			},
			success: function(msg) {
				if (msg.substring(0,4)=="Good") {
					var msgArr = msg.split(";");
					loc = msgArr[1];
					document.location="http://foodio54.com/restaurants/" + loc + "/" + m + "/" + p + "/" + q;
				} else {
					$("#pop11 div").html("<p>We were unable to find " + loc + ".</p><p><a href='#' onclick='closePop(11);return false;'>Close Window</a></p>");
	
				}
			}
		});
	} else {
		loc = loc.replace(/\s/g,"_");
		document.location="http://foodio54.com/restaurants/" + loc + "/" + m + "/" + p + "/" + q;
	}
}

function hiLiteMarker(index) {
	for (var i=0;i<m.length;i++) {
		unHiLiteMarker(i)
	}
	mapObj.panTo(m[index].getPoint());
	m[index].setImage("http://foodio54.com/images/gmap/marker"+String.fromCharCode(index + 65)+"2.png");
}

function unHiLiteMarker(index) {
	m[index].setImage("http://foodio54.com/images/gmap/marker"+String.fromCharCode(index + 65)+"1.png");
}

function showPromo() {
	if (document.getElementById('promotion')!=null) {
		document.getElementById('promotion').innerHTML = "Foodio54 is giving away cash and t-shirts! <a href='http://foodio54.com/rewards-for-reviews.php'>See the details...</a>";
	} else {
		$('promotion').hide();
	}
}

function getChefmoz(pid) {
	$.ajax({
		type: "GET",
		url: "http://foodio54.com/ajax_chefmoz.php",
		data: "pid=" + pid,
		success: function(msg) {
			var reviews = msg.split("<hr>");
			var ul = document.getElementById("comments");
			for (var i=0;i<reviews.length-1;i++) {
				reviewli = document.createElement("li");
				reviewli.innerHTML = reviews[i];
				ul.appendChild(reviewli);
			}
		}
	});
}