function test() {
	alert("X");
}

var map;

function showPreviewMap() {


	errors = "";
	errorCount = false;
	regionId = document.getElementById('regionSelect').value;
	cityType = document.getElementById('citySearchType').value;
	streetType = document.getElementById('streetType').value;
	streetDirection = document.getElementById('streetDirection').value;

	if (cityType == 1) {
		cityId = document.getElementById('citySelectDrop').value;
		cityName = 'x';
	}
	else {
		cityName = document.getElementById('txtSearch').value;
		cityId = 'x';
		errors += "No Custom City Entered<br />\n";	
		errorCount = true;
	}
	streetNumber = document.getElementById('streetNumber').value;
	if (!streetNumber) {
		errors += "You need a street number<br />\n";	
		errorCount = true;
	}
	streetName = document.getElementById('streetName').value;
	if (!streetName) {
		errors += "You need a street name. Obviously.<br />\n";	
		errorCount = true;
	}	
	if (errorCount == false) {
		document.getElementById('errorMap').style.display = 'none';		
		document.getElementById('previewMap').style.display = 'block';		
		http.open('get', '/includes/ajaxHandler.php?action=showPreview&sNo='+streetNumber+'&sNa='+streetName+'&cId='+cityId+'&cityName='+cityName+'&sType='+streetType+'&sDir='+streetDirection);
		http.onreadystatechange = function(finisher) {
      if (http.readyState == 4) {
			rez = http.responseText;
			GMapAdminInit(rez);
			}	
		}
		http.send(null);
	}
	else {
		document.getElementById('previewMap').style.display = 'none';
		document.getElementById('errorMap').style.display = 'block';		
		document.getElementById('mapError').innerHTML = errors;
	}
	

	
}

function GMapAdminInit(address) {
  map = new GMap(document.getElementById("map"));
	var geocoder = new GClientGeocoder();
	geocoder.getLatLng(address, function(point) {var pass = point; parseAddress(pass);});
}

function parseAddress(point){

	xPoint = new GPoint(point, 2);
	map.setCenter(point, 13);
	showmap(point);
}

function showmap(point){
	var icon = new GIcon();
	icon.image = "images/mapmarker.png";
	icon.iconSize = new GSize(36,37);
	icon.iconAnchor = new GPoint(20, 17);
	GMX = new GMarker(point, icon);
	map.addOverlay(GMX);
	map.addControl(new GSmallMapControl());
}




function fbPrefLogicCheck() {
		checkStatePrivate = document.getElementById('publishpublic').checked;
		checkStatePic = document.getElementById('publishpic').checked;
		if (checkStatePrivate == false && checkStatePic == true) {
			document.getElementById('fbWarning').style.display = 'block';
		}
		else {
			document.getElementById('fbWarning').style.display = 'none';
		}
	
}


function flipPrefs(prefType, dropdown) {

	checkState = document.getElementById('publish'+prefType).checked;
	if (checkState == true) {
		if (dropdown) {
			document.getElementById(prefType + 'Expand').style.display='block';
		}
		document.getElementById(prefType + 'On').style.display='inline';
		document.getElementById(prefType + 'Off').style.display='none';
		
	}
	else {
		if (dropdown) {
			document.getElementById(prefType + 'Expand').style.display='none';
		}
		document.getElementById(prefType + 'On').style.display='none';
		document.getElementById(prefType + 'Off').style.display='inline';		
		
	}
	
	
}
function switchDay(elementNumber) {
	elementName = 'day' + elementNumber;
	elementForm = 'dayInput' + elementNumber;
	
	currentClass = document.getElementById(elementName).className;
	if (currentClass == 'weekdayOn') {
		document.getElementById(elementName).className = 'weekdayOff';
		document.getElementById(elementForm).value = 0;
	}
	else {
		document.getElementById(elementName).className = 'weekdayOn';
		document.getElementById(elementForm).value = 1;
	}
}

function chainAction() {
	selObj = document.getElementById('chainSelect');
	selIndex = selObj.selectedIndex;	
	if (selIndex==0) {
		document.getElementById('nameInput').style.display='';
		document.getElementById('descInput').style.display='';
	}
	else {
		document.getElementById('nameInput').style.display='none';
		document.getElementById('descInput').style.display='none';
	}
	
}

function checkKeycode(e) {
var keycode;
var unicode=e.keyCode? e.keyCode : e.charCode
if (unicode==40) {
	document.getElementById("search_suggest").focus();
}

}

function switchFocus(elementId) {
		document.getElementById(elementId).focus();
}


function setSearchType(changeValue) {
	
	document.getElementById('citySearchType').value = changeValue;

}

function wipeLocation(inputId) {
	document.getElementById(inputId).value = "";
}

function showCategory() {
	document.getElementById('expandBox').style.display = 'none';
	document.getElementById('categoryBox').style.display = 'block';
}

function flipToggle(elementId) {
	
	classVar = document.getElementById(elementId).className;

	if (classVar == 'fr toggle toggleOn') {
		document.getElementById(elementId).className = 'fr toggle toggleOff';
		optionState = 2;
	}
	else {
		document.getElementById(elementId).className = 'fr toggle toggleOn';
		optionState = 1;
	}

	http.open('get', '/includes/ajaxHandler.php?action=toggle&type='+elementId+'&state='+optionState);
	http.onreadystatechange = function(foo) {
	}
	http.send(null);


}


function flipMenu(elementId) {
	
	classVar = document.getElementById('menuSwitcher').className;

	if (classVar == 'userMenuHide') {
		document.getElementById('menuSwitcher').className = 'userMenuPos';
	}
	else {
document.getElementById('menuSwitcher').className = 'userMenuHide';
	}


}

function flipPanel(elementId) {
	
	currentState = document.getElementById(elementId).style.display;
	
	if (currentState == 'block') {
		document.getElementById(elementId).style.display = 'none';
		document.getElementById('homeLink').className = 'titleLink';
	}
	else {
		document.getElementById(elementId).style.display = 'block';
		document.getElementById('homeLink').className = 'invalidLink';
	}


}

function rateButtonClick(buttonType, userId, tokenId, raId, fb) {
	checkStatus = document.getElementById(buttonType+'Status').value;
	if (checkStatus == 0) {	
		document.getElementById(buttonType + 'Status').value = 1;
		if (buttonType =="approve") {
			document.getElementById('deletionWarning').style.display = 'none';
			reverseType = 'reject';
		}
		else {
			document.getElementById('deletionWarning').style.display = 'block';
			reverseType = 'approve';
		}
		document.getElementById(reverseType+'Button').className = 'rateButton buttonOff';
		document.getElementById(reverseType+'Status').value = 0;
		document.getElementById(buttonType+'Button').className = 'rateButton button' + buttonType;
		runAjaxRating(userId, raId, buttonType, tokenId);

		if (fb==1 || fb==2 && buttonType == "approve") {
							
							if (buttonType == "approve") {
								actionValue = "positive";
							}
							else {
								actionValue = "negative";
							}
							
		        	rezName = document.getElementById('restaurantListingName').innerHTML;
		        	rezUrl = document.getElementById('restaurantURL').innerHTML;

		        	rezName = document.getElementById('restaurantListingName').innerHTML;
		        	rezUrl = document.getElementById('restaurantURL').innerHTML;
		        	linkedUrl = "<a href='"+rezUrl+"'>MealChase.com</a>";
	
		        	
		        	dataValue = {
		        								"target_url" : rezUrl,
		        								"linked_url" : linkedUrl,
		        								"restaurant_name":rezName,
		        								"action" : actionValue
		        							};
		
		        	FB.Connect.showFeedDialog(59160696502,dataValue);

			
			
		}
	}
	

}

function rateButtonOver(buttonType) {
	checkStatus = document.getElementById(buttonType+'Status').value;

	if (checkStatus == 0) {
		document.getElementById(buttonType+'Button').className = 'rateButton button' + buttonType;
	}	
}

function rateButtonOut(buttonType) {
	checkStatus = document.getElementById(buttonType+'Status').value;
	if (checkStatus == 0) {
		document.getElementById(buttonType+'Button').className = 'rateButton buttonOff';
	}		
}


function flip(elementId) {

	currentState = document.getElementById(elementId).style.display;
	
	if (currentState == 'block') {
		document.getElementById(elementId).style.display = 'none';
	}
	else {
		document.getElementById(elementId).style.display = 'block';
	}


}


function menuflip(elementId) {
	currentState = document.getElementById(elementId).style.display;
	
	if (currentState == 'block') {
		document.getElementById(elementId).style.display = 'none';
	}
	else {
		document.getElementById(elementId).style.display = 'block';
		if (elementId == 'lunchMenu') {
			document.getElementById('dinnerMenu').style.display = 'none';
		}
		else {
			document.getElementById('lunchMenu').style.display = 'none';
		}
	}

}
	
	


function flipInline(elementId) {
	
	currentState = document.getElementById(elementId).style.display;
	
	if (currentState == 'inline') {
		document.getElementById(elementId).style.display = 'none';
	}
	else {
		document.getElementById(elementId).style.display = 'inline';
	}


}

function setRating(ratingValue) {
	
	for (i=1; i<ratingValue+1; i++) {
		
		document.getElementById('star'+i).className = 'starBody star-on';
	}
	for (i=ratingValue+1; i<5; i++) {
		document.getElementById('star'+i).className = 'starBody star-off';
	}

	document.getElementById('ratingValue').value = ratingValue;
}

function setPricing(ratingValue) {
	
	for (i=1; i<ratingValue+1; i++) {
		document.getElementById('price'+i).className = 'priceBody price-on';
	}
	for (i=ratingValue+1; i<5; i++) {
		document.getElementById('price'+i).className = 'priceBody price-off';
	}
		document.getElementById('pricingValue').value = ratingValue;
}


function showAddress(elementId, dealId) {
	var x = 1;
	buttonName = 'dealButtons' + dealId;

	addressName = 'dealAddressButton' + dealId;
	
	existingButtonWidth = document.getElementById(buttonName).offsetWidth;
	newWidth = existingButtonWidth - 45;
	dividerName = 'divider' + dealId;

	document.getElementById(dividerName).style.display = 'none';
	document.getElementById(addressName).style.display = 'none';
	document.getElementById(buttonName).style.width = newWidth + 'px';

	
	
	document.getElementById(elementId).style.display = 'block';
	
}

function showId(elementId) {
	document.getElementById(elementId).style.display = 'block';
}

var http = createRequestObject(); 
var globalChangeContainer;
function createRequestObject(){
	var requestObject; 
	var browser = navigator.appName; 
	if(browser == "Microsoft Internet Explorer"){
		requestObject = new ActiveXObject("Microsoft.XMLHTTP");
	}else{
		requestObject = new XMLHttpRequest();
	}
	return requestObject; 
}

function loadCities(changeContainer, cityName){

	globalChangeContainer = changeContainer;
	selObj = document.getElementById('regionSelect');
	selIndex = selObj.selectedIndex;
	txtvalue = selObj.options[selIndex].value;


	http.open('get', '/includes/ajaxHandler.php?action=loadCity&value='+txtvalue+'&city='+cityName);



//			+ document.form_category_select.select_category_select.selectedIndex);
	/* Define a function to call once a response has been received. This will be our
		handleProductCategories function that we define below. */
	http.onreadystatechange = closeAjax; 
	/* Send the data. We use something other than null when we are sending using the POST
		method. */
	http.send(null);
}

function runAjaxRating(userId, raId, ratingType, tokenId){

http.open('get', '/includes/ajaxHandler.php?action=addRating&uId='+userId+'&raId='+raId+'&rating='+ratingType+'&tokenId='+tokenId);
http.onreadystatechange = function(foo) {
        if (http.readyState == 4) {

					rez = http.responseText;

        	jsArray = eval(rez);
					hideMessagesListing();
        	document.getElementById('messageDivRating').innerHTML = jsArray[1];
					document.getElementById('messageDivRating').style.display = 'block';					
    };
}
http.send(null);
}

function runAjaxReviewRating(userId, rId, ratingType){


http.open('get', '/includes/ajaxHandler.php?action=addReviewRating&uId='+userId+'&rId='+rId+'&rating='+ratingType);
http.onreadystatechange = function(foo) {
        if (http.readyState == 4) {

					rez = http.responseText;

        	jsArray = eval(rez);
       		hideMessagesListing();
        	document.getElementById('reviewMessageDiv').innerHTML = jsArray[1];
					document.getElementById('reviewMessageDiv').style.display = 'block';

    };
}
http.send(null);
}



function runAjaxDealRating(userId, dId, ratingType, topVar, fbPublish){


http.open('get', '/includes/ajaxHandler.php?action=addDealRating&uId='+userId+'&dId='+dId+'&rating='+ratingType);
http.onreadystatechange = function(foo) {
        if (http.readyState == 4) {

					rez = http.responseText;

        	jsArray = eval(rez);
       		hideMessagesListing();
        	if (topVar == 1) {
	        	document.getElementById('dealMessageDivTop').innerHTML = jsArray[1];
						document.getElementById('dealMessageDivTop').style.display = 'block';
					}
					else {
	        	document.getElementById('dealMessageDiv').innerHTML = jsArray[1];
						document.getElementById('dealMessageDiv').style.display = 'block';
					}
					if (fbPublish) {
						dealDesc = "'" + document.getElementById('dealBoxTitle' + dId).innerHTML + "'";
						rezName = "'" + document.getElementById('restaurantListingName').innerHTML + "'";
						rezUrl = document.getElementById('restaurantURLBase').innerHTML + dId + "/"
		        linkedUrl = "<a href='"+rezUrl+"'>MealChase.com</a>";

	        	dataValue = {
	        								"target_url" : rezUrl,
	        								"linked_url" : linkedUrl,
	        								"restaurant_name":rezName,
	        								"deal_desc" : dealDesc
	        							};
		
	        	FB.Connect.showFeedDialog(59203741502,dataValue);
						
						
					}
    };
}
http.send(null);
}

function runAjaxFavouriteDeal(dealId, userId, topValue) {
http.open('get', '/includes/ajaxHandler.php?action=addDealFavourite&uId='+userId+'&dId='+dealId);
http.onreadystatechange = function(foo) {
        if (http.readyState == 4) {

					rez = http.responseText;

        	jsArray = eval(rez);
        	returnStatus = jsArray[0];
       		hideMessagesListing();
        	if (topValue == 1) {
	        	document.getElementById('dealFavouriteDivTop').innerHTML = jsArray[1];
						document.getElementById('dealFavouriteDivTop').style.display = 'block';
						document.getElementById('top-dealPlus'+dealId).style.display = 'none';
						document.getElementById('top-dealHeart'+dealId).style.display = 'block';
						document.getElementById('dealPlus'+dealId).style.display = 'none';
						document.getElementById('dealHeart'+dealId).style.display = 'block';
					}
					else {
	        	document.getElementById('dealFavouriteDiv').innerHTML = jsArray[1];
						document.getElementById('dealFavouriteDiv').style.display = 'block';
						document.getElementById('dealPlus'+dealId).style.display = 'none';
						document.getElementById('dealHeart'+dealId).style.display = 'inline';
						if (document.getElementById('top-dealPlus'+dealId)!=null) {
							document.getElementById('top-dealPlus'+dealId).style.display = 'none';
							document.getElementById('top-dealHeart'+dealId).style.display = 'block';
						}

						
					}


    };
}
http.send(null);
}

function runAjaxFavourite(userId, raId){
http.open('get', '/includes/ajaxHandler.php?action=addFavourite&uId='+userId+'&raId='+raId);
http.onreadystatechange = function(foo) {
        if (http.readyState == 4) {

					rez = http.responseText;
        	jsArray = eval(rez);
					hideMessagesListing();
					document.getElementById('messageDiv').innerHTML = jsArray[1];
					document.getElementById('messageDiv').style.display = 'block';
					document.getElementById('addFavButton').style.display = 'none';
					document.getElementById('goFavButton').style.display = 'block';
					
    };
}
http.send(null);
}

function runAjax(changeContainer){

	globalChangeContainer = changeContainer;
	selObj = document.getElementById('activitySelect');
	selIndex = selObj.selectedIndex;
	txtvalue = selObj.options[selIndex].value;
	http.open('get', '/includes/ajaxHandler.php?action=categorySwitch&value='+txtvalue);
//			+ document.form_category_select.select_category_select.selectedIndex);
	/* Define a function to call once a response has been received. This will be our
		handleProductCategories function that we define below. */
	http.onreadystatechange = closeAjax; 
	/* Send the data. We use something other than null when we are sending using the POST
		method. */
	http.send(null);
}

function runAjaxDeleteDealFavourite(dealFavouriteId, activeDeal){

http.open('get', '/includes/ajaxHandler.php?action=wipeDealFav&udfId='+dealFavouriteId);

http.onreadystatechange = function(foo) {
        if (http.readyState == 4) {

					rez = http.responseText;
					if (activeDeal) {
						newActive = document.getElementById('activeNumber').innerHTML;
						newActive = newActive - 1;
						document.getElementById('activeNumber').innerHTML = newActive;
					}

					newActive = document.getElementById('totalNumber').innerHTML;
					newActive = newActive - 1;
					document.getElementById('totalNumber').innerHTML = newActive;					
					
        	document.getElementById('dealBox'+dealFavouriteId).style.display = 'none';					
					document.getElementById('dealMessageBox').style.display = 'block';						
        	document.getElementById('dealMessageBody').innerHTML = "The deal was removed from your favourites";
					
        return;


    };
}
http.send(null);
}

function wipeMessages(userId) {
http.open('get', '/includes/ajaxHandler.php?action=wipeMessages&userId='+userId);
http.onreadystatechange = function(foo) {
        if (http.readyState == 4) {
        document.getElementById('messageCenter').style.display = 'none';
        return;


    };
}
http.send(null);
}

function wipeFacebookMessages(fbmId) {

http.open('get', '/includes/ajaxHandler.php?action=wipeFacebookMessages&fbmId='+fbmId);
http.onreadystatechange = function(foo) {
        if (http.readyState == 4) {
        document.getElementById('facebookMessageCenter').style.display = 'none';
        return;


    };
}
http.send(null);
}



function logDeal(dealId, userId,clickType,xraId,tokenId) {
http.open('get', '/includes/ajaxHandler.php?action=logDeal&dealId='+dealId+'&userId='+userId+'&type='+clickType+'&xraId='+xraId+'&tokenId='+tokenId);
http.onreadystatechange = function(foo) {
        if (http.readyState == 4) {

        
        return;


    };
}
http.send(null);

}

function logImpressionDeal(raId, userId, clickType, dealArray) {
http.open('get', '/includes/ajaxHandler.php?action=logImpressionDeal&dealId='+dealArray+'&userId='+userId+'&type='+clickType+'&raId='+raId);
http.onreadystatechange = function(foo) {
        if (http.readyState == 4) {

        
        return;


    };
}
http.send(null);

}





function logRestaurant(raId, userId,clickType) {
http.open('get', '/includes/ajaxHandler.php?action=logRestaurant&raId='+raId+'&userId='+userId+'&type='+clickType);
http.onreadystatechange = function(foo) {
        if (http.readyState == 4) {
        return;


    };
}
http.send(null);
}

function runAjaxDeleteFavourite(favouriteId){

http.open('get', '/includes/ajaxHandler.php?action=wipeFav&fId='+favouriteId);

http.onreadystatechange = function(foo) {
        if (http.readyState == 4) {

					rez = http.responseText;
        	document.getElementById('favouriteBox'+favouriteId).style.display = 'none';					
					document.getElementById('messageBox').style.display = 'block';						
        	document.getElementById('messageBody').innerHTML = rez;					
					
        return;


    };
}
http.send(null);
}
function runAjaxWipe(userGeoCodeId){

http.open('get', '/includes/ajaxHandler.php?action=wipeLoc&value='+userGeoCodeId);

http.onreadystatechange = function(foo) {
        if (http.readyState == 4) {

					rez = http.responseText;
        	jsArray = eval(rez);
        	
			
					if (jsArray[0] == 0) {
        	document.getElementById('messageBox').style.display = 'none';						
        	document.getElementById('errorBody').innerHTML = jsArray[1];
        	document.getElementById('errorBox').style.display = 'block';						
					}
					else {
						document.getElementById('locationBar'+userGeoCodeId).style.display = 'none';
						if (jsArray[0] == 2) {
							document.getElementById('city'+jsArray[1]).style.display = 'none';
						}
					}
					//document.getElementById(newHome).style.display = 'none';
        	//document.getElementById('messageBody').innerHTML = "The selected location has been deleted";
        	//document.getElementById('messageBox').style.display = 'block';
        return;


    };
}
http.send(null);
}







function storeComment(userId){
email = document.getElementById('emA').value;	
xcomment = encodeURIComponent(document.getElementById('commentBox').value);


http.open('get', '/includes/ajaxHandler.php?action=addComment&email='+email+'&comment='+xcomment+'&userId='+userId);

http.onreadystatechange = function(foo) {
        if (http.readyState == 4) {

					rez = http.responseText;
        	jsArray = eval(rez);
        			
        	document.getElementById('messageBox').style.display = 'block';						
        	document.getElementById('messageBox').innerHTML = jsArray[1];
        return;


    };
}
http.send(null);
}









function clearReview(elementName) {
		if (document.getElementById(elementName).value == "Enter your review here") {
		document.getElementById(elementName).value = "";
	}
}

function clearComment(elementName) {
		if (document.getElementById(elementName).value == "Enter your comment here") {
		document.getElementById(elementName).value = "";
	}
}


function countChar(maxLength, elementName, updateName) {

	
	varLength = document.getElementById(elementName).value.length;
	maxLength = 300;
	if (varLength > maxLength) {
		document.getElementById(updateName).innerHTML = "<span style=\"color:red\">Character Limit Reached</span>";
		document.getElementById(elementName).value = document.getElementById(elementName).value.substr(0, maxLength);
	}
	else if (varLength > 5) {
		document.getElementById(updateName).innerHTML = maxLength - varLength + " characters remaining";
	}
	else {
		document.getElementById(updateName).innerHTML = "";
	}
	
}

function ratingError(messageVar, msgType) {
	hideMessagesListing();
	if (msgType == 1) {
		messageVar += "<div class=\"fr errorCreate\"><a href=\"/sign-in/\"><div class=\"profileBox\"></div></a></div>";	
	}
	document.getElementById('ratingErrorDivBody').innerHTML = messageVar;
	document.getElementById('ratingErrorDiv').style.display = 'block';	
		
}

function dealErrorLogin() {
	hideMessagesListing();

	document.getElementById('dealErrorDiv').style.display = 'block';
}
function favouriteError(messageVar, msgType) {
	hideMessagesListing();
	if (msgType == 1) {
		messageVar += "<div class=\"fr errorCreate\"><a href=\"/sign-in/\"><div class=\"profileBox\"></div></a></div>";
	}
	document.getElementById('messageBody').innerHTML = messageVar;
	
	document.getElementById('errorDivInline').style.display = 'block';
	}
function addReviewError(messageVar, msgType) {
	hideMessagesListing();
	if (msgType == 1) {
		messageVar += "<div class=\"fr errorCreate\"><a href=\"/sign-in/\"><div class=\"profileBox\"></div></a></div>";
	}	
	document.getElementById('reviewAddErrorBody').innerHTML = messageVar;
	document.getElementById('reviewAddError').style.display = 'block';
}

function addReviewErrorLocal(messageVar, msgType) {
	hideMessagesListing();
	if (msgType == 1) {
		messageVar += "<div class=\"fr errorCreate\"><a href=\"/sign-in/\"><div class=\"profileBox\"></div></a></div>";
	}	
	document.getElementById('reviewErrorBodyLocal').innerHTML = messageVar;
	document.getElementById('reviewErrorDivLocal').style.display = 'block';
}

function showMenu() {
	document.getElementById('userMenuX').style.marginTop= "60px";
}
	
function addReview(userId, fb){

document.getElementById('reviewMessageDiv').style.display = 'none';
reviewText = document.getElementById('reviewBox').value;
stars = document.getElementById('ratingValue').value;


var xraId = document.getElementById('raId').value;


if (reviewText == "Enter your review here" || reviewText.length < 10) {
	hideMessagesListing();
	document.getElementById('reviewErrorBody').innerHTML = "Please enter a review";
	document.getElementById('reviewErrorDiv').style.display = 'block';	
	
}
else if (stars==0) {
	hideMessagesListing();
	document.getElementById('reviewErrorBody').innerHTML = "Please select a star rating for this review";
	document.getElementById('reviewErrorDiv').style.display = 'block';		
}
else {

	http.open('get', '/includes/ajaxHandler.php?action=addReview&userId='+userId+'&raId='+xraId+'&stars='+stars+'&value='+encodeURIComponent(reviewText));
	
	http.onreadystatechange = function(foo) {
	        if (http.readyState == 4) {
						hideMessagesListing();
						rez = http.responseText;
					
	        	jsArray = eval(rez);



						document.getElementById('userReviewBox').innerHTML = jsArray[0];
						
						document.getElementById('userReviewBox').style.display = 'block';		
	        	document.getElementById('reviewSuccessDiv').innerHTML = jsArray[1];
	        	
	        	document.getElementById('reviewSuccessDiv').style.display = 'block';		
	        	document.getElementById('reviewAddButton').style.display = 'none';		
	        	document.getElementById('reviewBody').style.display = 'none';	
	        	if (fb == 1 || (fb == 2 && stars > 0)) {
	        		if (reviewText.length > 200) {
	        			shortReviewText = reviewText.substring(0, 200) + "...";
	        		}
	        		else {
	        			shortReviewText = reviewText;
	        		}

		        	rezName = document.getElementById('restaurantListingName').innerHTML;
		        	rezUrl = document.getElementById('restaurantURL').innerHTML;
		        	dataValue = {
		        								"long_desc": "'" + reviewText + "'",
		        								"short_desc" : "'" + shortReviewText + "'",
		        								"target_url" : rezUrl,
		        								"restaurant_name":"'" + rezName + "'"
		        							};
	
	
		        	FB.Connect.showFeedDialog(59114416502,dataValue);

		        }

					}
	        return;
	
	
	    
	}
	
	http.send(null);
}




}





function runAjaxHome(userGeoCodeId, hiddenHome, newHome){
var test = "bar";

http.open('get', '/includes/ajaxHandler.php?action=newHome&value='+userGeoCodeId);

http.onreadystatechange = function(foo) {
        if (http.readyState == 4) {
					
					document.getElementById('errorBox').style.display = 'none';		
					document.getElementById(hiddenHome).style.display = 'block';
					//document.getElementById(newHome).style.display = 'none';
					document.getElementById('homeBox').innerHTML = http.responseText;
        	document.getElementById('messageBody').innerHTML = "Your Home location has been changed";
        	document.getElementById('messageBox').style.display = 'block';
        return;


    };
}

http.send(null);
}

function closeAjaxHome() {
	if(http.readyState == 4){ 
		existingHtml = document.getElementById(globalChangeContainer).innerHTML;
		var response = http.responseText;
		document.getElementById(globalChangeContainer).innerHTML = response;
	//http://192.168.0.3/index.php?nId=3&dId=3
	}
}


/* Function called to handle the list that was returned from the internal_request.php file.. */
function closeAjax(){

	/* Make sure that the transaction has finished. The XMLHttpRequest object 
		has a property called readyState with several states:
		0: Uninitialized
		1: Loading
		2: Loaded
		3: Interactive
		4: Finished */
	if(http.readyState == 4){ //Finished loading the response
		/* We have got the response from the server-side script,
			let's see just what it was. using the responseText property of 
			the XMLHttpRequest object. */
		existingHtml = document.getElementById(globalChangeContainer).innerHTML;

		var response = http.responseText;
		/* And now we want to change the product_categories <div> content.
			we do this using an ability to get/change the content of a page element 
			that we can find: innerHTML. */
//alert(existingHtml);

		document.getElementById(globalChangeContainer).innerHTML = response;
		
		//
		//document.getElementById('product_cage').innerHTML = response;
	//alert(existingHtml);

	}
}


var searchReq = createRequestObject(); 

function searchSuggest() {	
	if (searchReq.readyState == 4 || searchReq.readyState == 0) {		
		var str = escape(document.getElementById('txtSearch').value);		

		selObj = document.getElementById('regionSelect');
		selIndex = selObj.selectedIndex;
		txtvalue = selObj.options[selIndex].value;
		
		searchReq.open("GET", '/includes/ajaxSearch.php?search=' + str +'&regionId=' + txtvalue, true);		
		searchReq.onreadystatechange = handleSearchSuggest; 		
		searchReq.send(null);	
	}		
}
function stripHTML(oldString) {
  return oldString.replace(/<\/?[^>]+(>|$)/g, "");

  
}

function handleSearchSuggest() {	
	if (searchReq.readyState == 4) {		
		var ss = document.getElementById('search_suggest');
		ss.innerHTML = '';		

		var str = searchReq.responseText.split("\n");		
		var workingInnerHTML = ''

		for(i=0; i < str.length - 1; i++) {			
			var suggest = '<div onmouseover="javascript:suggestOver(this),showSearchBox();" ';
			suggest += 'onmouseout="javascript:suggestOut(this);" ';			
			suggest += 'onclick="javascript:setSearch(this.innerHTML);" ';			
			suggest += 'class="suggest_link">' + str[i] + '</div>';
			workingInnerHTML += suggest;
			
		}

		if (workingInnerHTML.length > 1) {
			document.getElementById('ssx').style.display = 'block';
			document.getElementById('search_suggest').style.display = 'inline';
			ss.innerHTML = workingInnerHTML;
		}
		else {
			document.getElementById('ssx').style.display = 'none';
			document.getElementById('search_suggest_wrapper').style.display = 'none';

		}
	}
	
}
function citySwitch(cityName, selectBox) {
	if (selectBox) {
		setSearchType(1);
		document.getElementById('cityDrop').style.display = 'inline';
		document.getElementById('inputDrop').style.display = 'none';
	}

	
	else {
		document.getElementById('cityDrop').style.display = 'none';
		document.getElementById('inputDrop').style.display = 'inline';		
		setSearchType(2);
		document.getElementById('txtSearch').value = cityName;

	}
	
}


function regionSwitch(changeNumber, cityName) {

	var idx2 = document.getElementById('regionSelect');
	for (i=0; i<idx2.length; i++) {
		var x = document.getElementById("regionSelect").options[i].value;
		if (x == changeNumber) {

			document.getElementById("regionSelect").options[i].selected = true;
			loadCities('citySelectContainer', cityName);
		}
		else {
			document.getElementById("regionSelect").options[i].selected = false;
		}
	}
}

function hideSearchBox() {
	document.getElementById('ssx').style.display = 'none';
	document.getElementById('search_suggest').style.display = 'none';
}
function showSearchBox() {
	document.getElementById('ssx').style.display = 'block';
	document.getElementById('search_suggest').style.display = 'inline';
}

function suggestOver(div_value) {	
	div_value.className = 'suggest_link_over';
}


function suggestOut(div_value) {	
	div_value.className = 'suggest_link';
}


function setSearch(value) {	
	value = stripHTML(value);
	document.getElementById('txtSearch').value = value;	
	document.getElementById('search_suggest').innerHTML = '';
}

function dealError(topValue) {
	hideMessagesListing();
	message = "You need a profile to rate deals";
	message += "<div class=\"fr errorCreate\"><a href=\"/sign-in/\"><div class=\"profileBox\"></div></a></div>";	

	if (topValue == 1) {
		document.getElementById('dealTopError').innerHTML = message; 
		document.getElementById('dealFavouriteErrorDivTop').style.display = 'block';			
	}
	else {
		document.getElementById('dealError').innerHTML = message;
		document.getElementById('dealFavouriteErrorDiv').style.display = 'block';
	}
}


function runAjaxFavouriteDealError(topValue) {
	hideMessagesListing();
	message = "You need a profile to add favourites";
	message += "<div class=\"fr errorCreate\"><a href=\"/sign-in/\"><div class=\"profileBox\"></div></a></div>";	
	
	if (topValue == 1) {
		document.getElementById('dealTopError').innerHTML = message; 
		document.getElementById('dealFavouriteErrorDivTop').style.display = 'block';			
	}
	else {
		document.getElementById('dealError').innerHTML = message;
		document.getElementById('dealFavouriteErrorDiv').style.display = 'block';
	}
}


function hideUserMessages() {
						if (document.getElementById('thankYouDiv')) {
							document.getElementById('thankYouDiv').style.display = 'none';		
						}
						if (document.getElementById('newUserPoints')) {
							document.getElementById('newUserPoints').style.display = 'none';		
						}	
}

function hideMessagesListing() {

						hideUserMessages();
						document.getElementById('reviewErrorDiv').style.display = 'none';	
						document.getElementById('reviewSuccessDiv').style.display = 'none';
						document.getElementById('messageDivRating').style.display = 'none';
						document.getElementById('reviewMessageDiv').style.display = 'none';						
						document.getElementById('reviewAddError').style.display = 'none';
						document.getElementById('reviewErrorDivLocal').style.display = 'none';
						document.getElementById('dealErrorDiv').style.display = 'none';
						document.getElementById('errorDivInline').style.display = 'none';						
						document.getElementById('ratingErrorDiv').style.display = 'none';		
						document.getElementById('dealMessageDiv').style.display = 'none';		
						document.getElementById('dealMessageDivTop').style.display = 'none';		
						document.getElementById('dealFavouriteDiv').style.display = 'none';		
						document.getElementById('dealFavouriteDivTop').style.display = 'none';			
						document.getElementById('dealFavouriteErrorDivTop').style.display = 'none';			
						document.getElementById('dealFavouriteErrorDiv').style.display = 'none';			
						document.getElementById('messageDiv').style.display = 'none';			
						document.getElementById('errorResponse').style.display = 'none';			
}

function allDays() {
	for (i=1; i<8; i++) {
		elementName = 'day' + i;
		elementForm = 'dayInput' + i;
		document.getElementById(elementName).className = 'weekdayOn';
		document.getElementById(elementForm).value = 1;
	}	

}






function sendMessageFB(from, to, fbIdent) {
parentId = 0;

messageBody = document.getElementById('userMessageBody' + fbIdent).value;
messageSubject = document.getElementById('userMessageSubject' + fbIdent).value;

http.open('get', '/includes/ajaxHandler.php?action=sendMessage&from='+from+'&to='+to+'&parentId='+parentId+'&subject='+messageSubject+'&body='+messageBody);

http.onreadystatechange = function(foo) {
        if (http.readyState == 4) {
					rez = http.responseText;
					jsArray = eval(rez);
					if (jsArray[0] == 1) {
						document.getElementById('userMessageBox' + fbIdent).style.display = 'none';							
					}
					document.getElementById('userMessageCenter').innerHTML = jsArray[1];
					document.getElementById('userMessageCenter').style.display = 'block';
        	//document.getElementById('messageBox').style.display = 'block';
        return;


    };
}
http.send(null);
}

















function sendMessage(from, to, parentId) {

messageBody = document.getElementById('userMessageBody').value;
messageSubject = document.getElementById('userMessageSubject').value;

http.open('get', '/includes/ajaxHandler.php?action=sendMessage&from='+from+'&to='+to+'&parentId='+parentId+'&subject='+messageSubject+'&body='+messageBody);


http.onreadystatechange = function(foo) {
        if (http.readyState == 4) {
					rez = http.responseText;
					jsArray = eval(rez);
					if (jsArray[0] == 1) {
						if (parentId == 0) {
							document.getElementById('userMessageBox').style.display = 'none';		
						}
						else {
							document.getElementById('userMessageBox'+parentId).style.display = 'none';									
						}
						
					}
					document.getElementById('userMessageCenter').innerHTML = jsArray[1];
					document.getElementById('userMessageCenter').style.display = 'block';
        	//document.getElementById('messageBox').style.display = 'block';
        return;


    };
}
http.send(null);
}


function deleteMessage(messageId) {

http.open('get', '/includes/ajaxHandler.php?action=deleteMessage&messageId='+messageId);


http.onreadystatechange = function(foo) {
        if (http.readyState == 4) {
					rez = http.responseText;
					jsArray = eval(rez);
					document.getElementById('userMessageCenter').innerHTML = jsArray[1];
					document.getElementById('userMessageCenter').style.display = 'block';
					document.getElementById('messageContainer' + messageId).style.display = 'none';
        	//document.getElementById('messageBox').style.display = 'block';
        return;


    };
}
http.send(null);
}




function rezError(errorType, userId, tokenId, raId) {
checkError = document.getElementById('error'+errorType).value;
if (checkError == 1) {
	errorValue = 0;
	document.getElementById('error'+errorType).value = 0;
	document.getElementById('errorImage'+errorType).src = "images/big-button-off.png";
}
else {
	errorValue = 1;
	document.getElementById('error'+errorType).value = 1;
	document.getElementById('errorImage'+errorType).src = "images/big-button-delete.png";
}


http.open('get', '/includes/ajaxHandler.php?action=reportError&errorType='+errorType+'&userId='+userId+'&tokenId='+tokenId+'&raId='+raId+'&errorValue='+errorValue);

http.onreadystatechange = function(foo) {
        if (http.readyState == 4) {
					rez = http.responseText;
					jsArray = eval(rez);
					hideMessagesListing();
					document.getElementById('errorResponse').innerHTML = jsArray[1];
					document.getElementById('errorResponse').style.display = 'block';

        	//document.getElementById('messageBox').style.display = 'block';
        return;


    };
}
http.send(null);
}


function addslashes(str) {
str=str.replace(/\'/g,'\\\'');
str=str.replace(/\"/g,'\\"');
str=str.replace(/\\/g,'\\\\');
str=str.replace(/\0/g,'\\0');
return str;
}