function openMsgWin(messageCode){
	switch(messageCode){
	case 'NO_SPACES_FOUND':
		document.getElementById('msgWinTitleText').innerHTML = "No spaces found.";
		document.getElementById('msgWinText').innerHTML = "We didn't find any spaces that matched your criteria.<br><br>Try changing the search options. Click on <b>show advanced</b> to broaden your search, or try changing the date or time of your search.<br><br><br><br>";
		break;
	case 'APPROXIMATE_RESULT':
		document.getElementById('msgWinTitleText').innerHTML = "Please be more specific.";
		document.getElementById('msgWinText').innerHTML = "We are unable to find the address you entered. This may be due to an incorrect street number or misspelling. Please check your requested address.<br><br><br><br>";
		break;
	case 'SEARCH_ERROR':
		document.getElementById('msgWinTitleText').innerHTML = "Error.";
		document.getElementById('msgWinText').innerHTML = "There was a problem submitting your search.<br><br>Please try again.<br><br><br><br>";
		break;
	case 'LIST_ERROR':
		document.getElementById('msgWinTitleText').innerHTML = "Error.";
		document.getElementById('msgWinText').innerHTML = "There was a problem listing your space.<br><br>Please try again.<br><br><br><br>";
		break;
	case 'LOGGED_OUT':
		document.getElementById('msgWinTitleText').innerHTML = "You must log in.";
		document.getElementById('msgWinText').innerHTML = "In order to list your space, you must first log in.<br><br>Close this window and log in using the form above. If you don't have an account click the sign up button.<br><br><br><br>";
		break;
	case 'ALREADY_LISTED':
		document.getElementById('msgWinTitleText').innerHTML = "Error.";
		document.getElementById('msgWinText').innerHTML = "There is a space already listed for this vehicle.<br><br>Choose a different vehicle or cancel the current listing for this vehicle first.<br><br><br><br>";
		break;
	case 'BAD_PASSWORD':
		document.getElementById('msgWinTitleText').innerHTML = "Incorrect Username or Password.";
		document.getElementById('msgWinText').innerHTML = "The Username or Password you entered is incorrect.<br><br>Please try again.<br><br>Did you <a href=\"#\" onClick=\"showPasswordReminder();return false\">forget your password</a>?<br><br><br><br>";
		break;
	case 'REMINDER_SENT':
		document.getElementById('msgWinTitleText').innerHTML = "Reminder Email Sent";
		document.getElementById('msgWinText').innerHTML = "An Email has been sent to your address.<br><br><br><br>";
		break;
	case 'CANCEL_RESERVATION_SUCCESS':
		document.getElementById('msgWinTitleText').innerHTML = "Reservation cancelled.";
		document.getElementById('msgWinText').innerHTML = "Your reservation has been cancelled.<br><br><br><br>";
		break;
	case 'CANCEL_RESERVATION_NO_SPACE':
		document.getElementById('msgWinTitleText').innerHTML = "Reservation Doesn't Exist";
		document.getElementById('msgWinText').innerHTML = "This reservation no longer exists in the system. It may have already been deleted or expired. Please refresh your browser.<br><br><br><br>";
		break;
	case 'CANCEL_RESERVATION_LOGGED_OUT':
		document.getElementById('msgWinTitleText').innerHTML = "You must log in.";
		document.getElementById('msgWinText').innerHTML = "In order to cancel your reservation, you must first log in.<br><br><br><br>";
		break;
	case 'CANCEL_LISTING_SUCCESS':
		document.getElementById('msgWinTitleText').innerHTML = "Listing cancelled.";
		document.getElementById('msgWinText').innerHTML = "Your listing has been cancelled.<br><br><br><br>";
		break;
	case 'CANCEL_LISTING_NO_SPACE':
		document.getElementById('msgWinTitleText').innerHTML = "Listing Doesn't Exist";
		document.getElementById('msgWinText').innerHTML = "This listing no longer exists in the system. It may have already been deleted or expired. Please refresh your browser.<br><br><br><br>";
		break;
	case 'CANCEL_LISTING_LOGGED_OUT':
		document.getElementById('msgWinTitleText').innerHTML = "You must log in.";
		document.getElementById('msgWinText').innerHTML = "In order to cancel your listing, you must first log in.<br><br><br><br>";
		break;
	case 'CHANGES_SAVED':
		document.getElementById('msgWinTitleText').innerHTML = "Changes Saved";
		document.getElementById('msgWinText').innerHTML = "Your changes have been saved.<br><br><br><br>";
		break;
	case 'SIGNUP_ERROR':
		document.getElementById('msgWinTitleText').innerHTML = "Error.";
		document.getElementById('msgWinText').innerHTML = "There was a problem completing the sign up process. We apologize for the inconvenience. Please try again.<br><br><br><br>";
		break;
	case 'ISSUE_SENT':
		document.getElementById('msgWinTitleText').innerHTML = "Message Sent";
		document.getElementById('msgWinText').innerHTML = "Your message has been sent. We will do our best to address this issue and respond in a timely fashion.<br/><br/>Thank you for using Streetparknyc.com!<br><br><br><br>";
		break;
	default:
		document.getElementById('msgWinTitleText').innerHTML = "An error has occurred.";
		document.getElementById('msgWinText').innerHTML = "An error occurred when trying to process your request. Please try again. If you continue to receive this message, please try logging out and logging back in.<br><br><br><br>";
		break;
	}
	document.getElementById('msgWin').style.top=100 + $(document.body).cumulativeScrollOffset()[1];
	document.getElementById('msgWin').style.display='block';
	$('msgWinOK').focus();
}
/**
 * Use message from server response if available
 */
function openResponseMsgWin(response){
	var title;
	var html;
	if (response.messageTitle) {
		title = response.messageTitle;
	} else {
		title = response.success ? "Operation succeeded" : "An error has occurred.";
	}
	if (response.messageHTML) {
	    html = response.messageHTML;
	} else {
		html = "An error occurred when trying to process your request. Please try again. If you continue to receive this message, please try logging out and logging back in.<br><br><br><br>";
	}
	document.getElementById('msgWinTitleText').innerHTML = title;
	document.getElementById('msgWinText').innerHTML = html + "<br/><br/><br/><br/>";
	document.getElementById('msgWin').style.display='block';
	$('msgWinOK').focus();
}

function closeMsgWin(){
	document.getElementById('msgWin').style.display='none';
}
function closeConfirmWin(){
	document.getElementById('confirmWin').style.display='none';
}

//TODO: this is hacky, do this better when we have time;
var confirmAction = 'cancel_reservation'

function openConfirmWin(messageCode){
	switch(messageCode){
	case 'CONFIRM_CANCEL_LISTING':
		document.getElementById('confirmWinTitleText').innerHTML = "Please confirm.";
		document.getElementById('confirmWinText').innerHTML = "Are you sure you want to cancel this listing?<br><br>If your space has been reserved, and you cancel within 2 hours of the scheduled meeting time you may be penalized.<br><br><br><br>";
		$('confirmWinYes').value = "Yes, Cancel My Listing";
		$('confirmWinNo').value = "No, Go back";
		confirmAction = 'cancel_listing';
		break;
	case 'CONFIRM_CANCEL_RESERVATION':
		document.getElementById('confirmWinTitleText').innerHTML = "Please confirm.";
		document.getElementById('confirmWinText').innerHTML = "Are you sure you want to cancel this reservation?<br><br>If you cancel within 2 hours of the scheduled meeting time you will not receive a refund.<br><br><br><br>";
		$('confirmWinYes').value = "Yes, Cancel My Reservation";
		$('confirmWinNo').value = "No, Go back";
		confirmAction = 'cancel_reservation';
		break;
	}
	document.getElementById('confirmWin').style.top=100 + $(document.body).cumulativeScrollOffset()[1];
	document.getElementById('confirmWin').style.display='block';
	$('confirmWinNo').focus();
}

function doConfirmation(){
	if (confirmAction=='cancel_listing'){
		cancelListing();
		closeConfirmWin();
	}
	if (confirmAction=='cancel_reservation'){
		cancelReservation();
		closeConfirmWin();
	}
}
