//yelp
var numReviews = 4;
function constructYelpURL() {
	 var URL = "http://api.yelp.com/business_review_search?"+
	 "callback=" + "handleResults&term=18th%amendment&num_biz_requested=1&lat=38.885102&long=-76.997882&radius=0&ywsid=Q4-SsLHXGM7UGsP_eKP0Lw&category=pubs";
	 return encodeURI(URL);
}
function getYelp(num) {
	 var yelpRequestURL = constructYelpURL();
	 /* do the api request */
	 var script = document.createElement('script');
	 script.src = yelpRequestURL;
	 script.type = 'text/javascript';
	 var head = document.getElementsByTagName('head').item(0);
	 head.appendChild(script);
	 numReviews = num;
	 return false;
}
function handleResults(data) {
	 if(data.message.text == "OK") {
		  if (data.businesses.length == 0) {
				alert("Error: No businesses were found near that location");
				return;
		  }
		  biz = data.businesses[0];
		  formatData(biz);
	 } else {
		  alert("Error: " + data.message.text);
	 }
}
function formatData(biz) {
	 var html = "";
	 html = "<span class=\"name\">" + biz.name +"<br/>";
	 html += constructAddress(biz) + "<br/>";
	 html += "<img src=\"" + getRatingImage(biz.avg_rating) + "\"/></span><br/>";
	 html += "<span class=\"reviewTitle\">Latest Reviews:</span><br/>";
	 for (var i=0;i<numReviews;i++) {
		  html += generateReviewHtml(biz.reviews[i]);
	 }
	 document.getElementById("businessData").innerHTML = html;
}
function constructAddress(biz) {
	 var returnValue = "";
	 returnValue += biz.address1 +"<br/>";
	 returnValue += biz.address2;
	 if(biz.address2!="") {
		  returnValue += "<br/>";
	 }
	 returnValue += biz.address3;
	 if(biz.address3 != "") {
		  returnValue += "<br/>";
	 }
	 returnValue += biz.city + ", " + biz.state + " " + biz.zip + "<br/>";
	 returnValue += formatPhone(biz.phone) + "<br/>";
	 return returnValue;
}
function getRatingImage(rating) {
	 var starRating = "";
	 if(rating==3) {
		  starRating = "Images/3stars.png";
	 }
	 else if(rating==4) {
		  starRating = "Images/4stars.png";
	 }
	 else if(rating==2) {
		  starRating = "Images/2stars.png";
	 }
	 else if(rating==1) {
		  starRating = "Images/1stars.png";
	 }
	 else {
		  starRating = "Images/5stars.png";
	 }
	 return starRating;
}
function formatPhone(phone) {
	 var returnValue = "( ";
	 returnValue += phone.substring(0, 3)+" ) ";
	 returnValue += phone.substring(3, 6) + " - ";
	 returnValue += phone.substring(6);
	 return returnValue;
}
function generateReviewHtml(review) {
	 var returnValue="";
	 var starRating=null;
	 returnValue = "<div class=\"bubble\">";
	 returnValue += "<div class=\"review yelp\">";
	 returnValue += "<a href=\"" + review.user_url + "\" target=\"_blank\"><img src=\"" + review.user_photo_url + "\" width=\"65\" height=\"65\"></a>";
	 returnValue += "<span>" + review.text_excerpt  + "...<a href=\"" + review.url + "\" target=\"_blank\">Read more</a></span>";
	 returnValue += "<img src=\"" + getRatingImage(review.rating) + "\"/>";
	 returnValue += "<address>Posted By ";
	 returnValue += "<a href=\"" + review.user_url + "\" target=\"_blank\">" + review.user_name + "</a>";
	 returnValue += " on: <a href=\"" + review.URL + "\" target=\"_blank\">Yelp.com</a></address></div><div class=\"cite\"></div></div>";
	 return returnValue;
}