regionChosen = dayChosen = "null";

displayVenueStr     = "";
var regionName      = "";									//name of region selected through the sidebar
var cityName        = "";									//name of city   selected through the sidebar
var stateName       = "";									//name of state  selected through the sidebar
var regionChosen    = 0;									//id of region   selected through the sidebar
var dayChosen       = 0;									//numeric value of the day chosen (dayoffset) on the search/listing page
var checkInfoVenues = 1;
var l_fastsearch_action = null;
var mapStreet       = "";
var mapSuburb       = "";
var mapState        = "";


function displayVenues(typeOfDisplay) {
	//get location details from cookie
	if(findInCookie('bpme_cinema_location','regionid') != 0) 	regionChosen = findInCookie('bpme_cinema_location','regionid');		// get region id
	if(findInCookie('bpme_cinema_location','region') != '') 	regionName 	 = findInCookie('bpme_cinema_location','region');			// get region name
	if(findInCookie('bpme_cinema_location','city') != '')  		cityName 		 = findInCookie('bpme_cinema_location','city');				// get city name
	if(findInCookie('bpme_cinema_location','state') != '')		stateName  	 = findInCookie('bpme_cinema_location','state');			// get state name
	if(findInCookie('bpme_cinema_date','dayoffset') != '')		dayChosen 	 = findInCookie('bpme_cinema_date','dayoffset');			// get day offset (numeric, 0-6)

	//create the search action object
	var l_fastsearch = new MetaWrap.XML.Action.Showtimes.venuessessionsandtitlesofregion(regionChosen,dayChosen);

	//this will serialise it into XML and post it to the aspx file
	l_fastsearch_action = new MetaWrap.XML.Action(l_fastsearch,strShowtimesPath+"venuessessionsandtitlesofregion.aspx");

	switch(typeOfDisplay) {
		case "theatre":
			//display showtimes with for one particular cinema (search by cinema)
			l_fastsearch_action.run(fastsearch_venuessessionsandtitlesofregion_done_theatre);
		break;

		case "movie":
			//display showtimes for a particular film (search by movie - used within the movie_showtimes.xsl template)
			l_fastsearch_action.run(fastsearch_venuessessionsandtitlesofregion_done_movie);
			setCinemaLocationForSingleMovie();
		break;

		case "showtimes":
			// display showtimes for all cinemas (search by location)
			l_fastsearch_action.run(fastsearch_venuessessionsandtitlesofregion_done);
		break;
	}
}


var l_fastsearch_action = null;

// showtimes - display showtimes for all cinemas (search by location)
function fastsearch_venuessessionsandtitlesofregion_done() {
	var l_response      = l_fastsearch_action.m_transaction.m_response.m_venuessessionsandtitlesofregion;
	var l_results       = l_response.m_results;
	var l_dayoffset     = l_response.m_dayoffset;							// value (numeric mod7) of dayoffset paramater. zero is current day, 6 is end of week.
	var l_dayname       = l_results.m_label;									// day of the week
	var l_region        = l_response.m_region;								// value (numeric) of region id
	var l_venues        = l_results.m_venues;
	var l_venues_number = l_venues.length;										// number of venues returned

  var d = new Date();
	var weekday   = new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");
	var daybutton = new Array('dayFirst','daySecond','dayThird','dayFourth','dayFifth','daySixth','daySeventh');

	displayVenueStr = "<h1 class='showtimes'><img src='" + strTemplateResourcePath + "images/cinema/icon_clapper.gif' width='34' height='32' alt='' title='' name='clapper' /> Showtimes</h1>";
	displayVenueStr += "<h2 class='whatsShowing'>What's showing at cinemas in: <span>" + regionName + " (" + cityName + ", " + stateName + ")</span></h2>";
	displayVenueStr += "<ul id='movieDays'>";

	// loop through the week
	for(var x = 0; x < 7; x++) {
		var y = (x + d.getDay());
		if (y > 6) y = (y - 7);
		displayVenueStr += "<li id='" + daybutton[(x)] + "'";
		if (x == dayChosen) displayVenueStr += " class='daySelected'";
		displayVenueStr += "><a class='movieDay' href='#' onclick='changeDay(this);return false;'>";
		if (x == 0) displayVenueStr += "Today";
		if (x == 1) displayVenueStr += "Tomorrow";
		if (x > 1)  displayVenueStr += weekday[y];
		displayVenueStr += "</a></li>";
	}

	displayVenueStr += "</ul>";
	displayVenueStr += "<h3 class='cinemaDay'>Today</h3>";

	//Check that we have venues to list ( if l_venues.length = 1 then if l_title.length = 0 then we have no information to display else we have 1 real venue so carry on )
	if (l_venues.length == 1) {
		for(var i = 0 ; i<l_venues.length ; i++) {
			var l_titles = l_venues[i].m_titles;
			if (l_titles.length == 0) {
				checkInfoVenues = 0;
			}
		}
	}

	if (checkInfoVenues == 0) {
		//displayVenueStr += "<h4 class='faveCinemaHeading1'>No sessions found for this day - you could try another day or location and search again</h4>";
		checkInfoVenues = 1; // reset for next search;
		noSessionsFound(0);  //reset selected day tab
	} else {
		for(var i = 0 ; i<l_venues.length ; i++) {
			var l_titles = l_venues[i].m_titles;

			// loop through venues (loop one of two) to get movie details for favourite cinemas (as stored in cookie) ...
			faveCinemasListStr = "";
			displayVenueStr += "<h4 class='faveCinemaHeading1'>Favourite Cinemas</h4>";

			for(var i = 0 ; i<l_venues.length ; i++) {
				var l_titles        = l_venues[i].m_titles;
				var l_venue_name    = l_venues[i].m_name;
				var l_venue_id      = l_venues[i].m_id;
				var l_venue_address = l_venues[i].m_address.m_line1 + " " + l_venues[i].m_address.m_line2 + " " + l_venues[i].m_address.m_line3 + " " + l_venues[i].m_address.m_state + " " + l_venues[i].m_address.m_postcode;
				var l_venue_phone   = l_venues[i].m_phone;
				var l_movies_num    = l_titles.length;									// how many movies are showing...

				if(getCookie(cinemaCookie) && unescape(getCookie(cinemaCookie)).indexOf(l_venue_name) != -1) {
					faveCinemasListStr = faveCinemasListStr + "<li>";
					faveCinemasListStr = faveCinemasListStr + "<a class='isntFavourite' onclick='toggleFave(this);return false;' href='#'><div><span>Make this a favourite cinema</span></div></a>";
					faveCinemasListStr = faveCinemasListStr + "<a href='" + strTemplateResourcePath + "at_the_cinema/in_cinemas_now/?theatre="+escape(l_venue_name)+"' class='cinemaName' title='Find out more about this cinema'>" + l_venue_name + "</a>";
					faveCinemasListStr = faveCinemasListStr + "<a href='#' class='seeWhatsOn' onclick='toggleWhatsOn(this);return false;'>See what's on</a>";
					faveCinemasListStr = faveCinemasListStr + "<ul class='movieList'>";

					// loop through movies to get session details
					for(var j = 0 ; j<l_titles.length ; j++) {
						var l_sessions = l_titles[j].m_sessions;

						// TEST FOR INSTANCE OF A TITLE WITH NO SESSIONS
						if (l_sessions != null) {
							var l_movie_name      = l_titles[j].m_title;																	// movie name
							var l_movie_id        = l_titles[j].m_id;																			// movie id
							var l_sessions_number = l_sessions.length;																		// how many sessions for each movie

							//check that we have a movie title...
							if(l_movie_name != null) {
								movieTimesClasses = (l_sessions.length > 10) ? "movieTimes manySessions" : "movieTimes";
								faveCinemasListStr = faveCinemasListStr + '<li><a href="' + strTemplateResourcePath + 'libraries/article_library/movie_listings/'+getMovieUrl(l_movie_id,l_movie_name)+'?display=showtimes" class="movieName">' + l_movie_name + ' </a>';
								faveCinemasListStr = faveCinemasListStr + '<ul class="'+movieTimesClasses+'">';

								// loop through session times getting dates
								for(var k = 0 ; k<l_sessions.length ; k++) {
									comma = (k<l_sessions.length-1) ? ',': '';
									var l_session_id    = l_sessions[k].m_id;						// session id
									var l_session_time  = l_sessions[k].m_date;					// session time

									// TEST FOR INSTANCE OF A SESSION WITH NO SESSION TIMES
									if (l_session_time == null) {
										//alert("TESTING: no session times here!");
									} else {
										faveCinemasListStr = faveCinemasListStr + "<li>" + l_session_time.toLowerCase().replace(/ /,'') + comma + " </li>";
									}
								}
								faveCinemasListStr = faveCinemasListStr + "</ul></li>";
							}
						}
					}
					faveCinemasListStr = faveCinemasListStr + "</ul></li>";
				}
			}
			if(faveCinemasListStr !="") {
				displayVenueStr += "<ul class='cinemaList' id='cinemaList'>" + faveCinemasListStr + "</ul>";
			} else {
				displayVenueStr += "<p class='noFavourites'>Click on the stars next to your favourite cinemas to get their showtimes at the top of your results next time.</p>";
			}
		//	displayVenueStr += "</ul>";


			// loop through venues (loop two) to get movie details for un-favourite cinemas ...
			displayVenueStr += "<h4 class='faveCinemaHeading2'>Other Cinemas in your Area</h4>";
			displayVenueStr += "<ul class='cinemaList' id='cinemaList'>";

			for(var i = 0 ; i<l_venues.length ; i++) {
				var l_titles        = l_venues[i].m_titles;
				var l_venue_name    = l_venues[i].m_name;								// cinema details
				var l_venue_id      = l_venues[i].m_id;
				var l_venue_address = l_venues[i].m_address.m_line1 + " " + l_venues[i].m_address.m_line2 + " " + l_venues[i].m_address.m_line3 + " " + l_venues[i].m_address.m_state + " " + l_venues[i].m_address.m_postcode;
				var l_venue_phone   = l_venues[i].m_phone;
				var l_movies_num    = l_titles.length;									// how many movies are showing...

				if(!(getCookie(cinemaCookie) && unescape(getCookie(cinemaCookie)).indexOf(l_venue_name) != -1)) {
					displayVenueStr += "<li>";
					displayVenueStr += "<a class='isntFavourite' onclick='toggleFave(this);return false;' href='#'><div><span>Make this a favourite cinema</span></div></a>";
					displayVenueStr += "<a href='" + strTemplateResourcePath + "at_the_cinema/in_cinemas_now/?theatre="+escape(l_venue_name)+"' class='cinemaName' title='Find out more about this cinema'>" + l_venue_name + "</a>";
					displayVenueStr += "<a href='#' class='seeWhatsOn' onclick='toggleWhatsOn(this);return false;'>See what's on</a>";
					displayVenueStr += "<ul class='movieList'>";

					// looping through movies to get session details
					for(var j = 0 ; j<l_titles.length ; j++) {
						var l_sessions        = l_titles[j].m_sessions;
						var l_movie_name      = l_titles[j].m_title;																	// movie name
						var l_movie_id        = l_titles[j].m_id;																			// movie id
						var l_sessions_number = l_sessions.length;																		// how many sessions for each movie

						//check that we have a movie name...
						if(l_movie_name != null) {
							movieTimesClasses = (l_sessions.length > 10) ? "movieTimes manySessions" : "movieTimes";
							displayVenueStr += '<li><a href="' + strTemplateResourcePath + 'libraries/article_library/movie_listings/'+getMovieUrl(l_movie_id,l_movie_name)+'?display=showtimes" class="movieName">' + l_movie_name + ' </a>';
							displayVenueStr += '<ul class="'+movieTimesClasses+'">';

							// loop through session times getting dates
							for(var k = 0 ; k<l_sessions.length ; k++) {
								comma = (k<l_sessions.length-1) ? ',': '';
								var l_session_id    = l_sessions[k].m_id;						// session id
								var l_session_time  = l_sessions[k].m_date;					// session time
								displayVenueStr += "<li>" + l_session_time.toLowerCase().replace(/ /,'') + comma + " </li>";
							}
							displayVenueStr += "</ul></li>";
						}
					}
					displayVenueStr += "</ul></li>";
				}
			}
			displayVenueStr += "</ul>";
		}
	}
	updateVenues();
	updateFaveCinemaStars();
}


//theatre - display showtimes with for one particular cinema (search by cinema)
function fastsearch_venuessessionsandtitlesofregion_done_theatre() {
	var l_response      = l_fastsearch_action.m_transaction.m_response.m_venuessessionsandtitlesofregion;
	var l_results       = l_response.m_results;
	var l_dayoffset     = l_response.m_dayoffset;							// value (numeric mod7) of dayoffset paramater. zero is current day, 6 is end of week.
	var l_dayname       = l_results.m_label;									// day of the week
	var l_region        = l_response.m_region;								// value (numeric) of region id
	var l_venues        = l_results.m_venues;
	var l_venues_number = l_venues.length;										// number of venues returned

	var d = new Date();
	var weekday   = new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");
	var daybutton = new Array('dayFirst','daySecond','dayThird','dayFourth','dayFifth','daySixth','daySeventh');

	displayVenueStr = "<h1 class='showtimes'><img src='" + strTemplateResourcePath + "images/cinema/icon_clapper.gif' width='34' height='32' alt='' title='' name='clapper' /> Showtimes</h1>";

	for(var i = 0; i < l_venues_number; i++ ){
		if(l_venues[i].m_name != unescape(thisTheatre)) {
			checkInfoVenues = 0;
		} else {
			checkInfoVenues = 1;
			break;
		}
	}
	if (checkInfoVenues == 0) {
		//alert('No sessions found for this day - you could try another day or location and search again');
		checkInfoVenues = 1; // reset for next search;
		noSessionsFound(0);  //reset selected day tab
	} else {

		for(var i = 0; i < l_venues_number; i++ ){
			if(l_venues[i].m_name == unescape(thisTheatre)) {

				displayVenueStr += '<div class="cinemaInfo"><h2><a class="isntFavourite" onclick="toggleFave(this);return false;" href="#"><div><span>Make this a favourite cinema</span></div></a><a class="cinemaName">' + l_venues[i].m_name + '</a></h2>';
				displayVenueStr += '<p class="address">';
				if(l_venues[i].m_address.m_line1) displayVenueStr += l_venues[i].m_address.m_line1 + '<br />';
				if(l_venues[i].m_address.m_line2) displayVenueStr += l_venues[i].m_address.m_line2 + '<br />';
				if(l_venues[i].m_address.m_line3) displayVenueStr += l_venues[i].m_address.m_line3 + '<br />';
				displayVenueStr += l_venues[i].m_address.m_state + ' ' + l_venues[i].m_address.m_postcode + '<br /><span class="phoneNumber">' + l_venues[i].m_address.m_phone + '</span></p>';
				displayVenueStr += '</div>';

				mapSuburb = '';
				if(l_venues[i].m_address.m_line2)    mapStreet   = l_venues[i].m_address.m_line2 ;
				if(l_venues[i].m_address.m_state)    mapState    = l_venues[i].m_address.m_state ;
			//if(l_venues[i].m_address.m_locale)   mapSuburb   = "'" + l_venues[i].m_address.m_locale + "'";
			//if(l_venues[i].m_address.m_postcode) mapPostcode = "'" + l_venues[i].m_address.m_postcode + "'";
				displayVenueStr += '<div id="map-filler" class="map-filler"></div>';

				// list of movie days
				displayVenueStr += '<ul id="movieDays">';

				// loop through the week
				for(var x = 0; x < 7; x++) {
					var y = (x + d.getDay());
					if (y > 6) y = (y - 7);
					displayVenueStr += '<li id="' + daybutton[(x)] + '"';
					if (x == dayChosen) displayVenueStr += ' class="daySelected"';
					displayVenueStr += '><a class="movieDay" href="#" onclick="changeDay(this);return false;">';
					if (x == 0) displayVenueStr += 'Today';
					if (x == 1) displayVenueStr += 'Tomorrow';
					if (x > 1)  displayVenueStr += weekday[y];
					displayVenueStr += '</a></li>';
				}
				displayVenueStr += '</ul>';
				displayVenueStr += '<h3 class="cinemaDay">Today</h3>';
				displayVenueStr += '<ul class="cinemaList">';
				var l_titles 	= l_venues[i].m_titles;

				for(j=0;j<l_titles.length;j++){
					var l_sessions = l_titles[j].m_sessions;

					// check that we have a movie name
					if((l_titles[j].m_title) != null) {
						movieTimesClasses = (l_sessions.length > 10) ? "movieTimes manySessions" : "movieTimes";
						displayVenueStr += '<li><a href="' + strTemplateResourcePath + 'libraries/article_library/movie_listings/'+getMovieUrl(l_titles[j].m_id,l_titles[j].m_title)+'?display=showtimes" class="movieName">' + l_titles[j].m_title + ' (' + l_titles[j].m_classification + ')</a><ul class="'+movieTimesClasses+'">';

						for(k=0;k<l_sessions.length;k++) {
							comma = (k<l_sessions.length-1) ? ',': '';
							displayVenueStr += '<li>' + l_sessions[k].m_date.toLowerCase().replace(/ /,'') + comma + '</li>';
						}
						displayVenueStr += '</ul>';
						displayVenueStr += '</li>';
					}
				}
				displayVenueStr += '</ul>';
			}
		}
		updateVenues();
		updateFaveCinemaStars();
	}
}


//movie - display showtimes for a particular film (search by movie - used within the movie.xsl template)
function fastsearch_venuessessionsandtitlesofregion_done_movie() {
	var l_response      = l_fastsearch_action.m_transaction.m_response.m_venuessessionsandtitlesofregion;
	var l_results       = l_response.m_results;
	var l_dayoffset     = l_response.m_dayoffset;							// value (numeric mod7) of dayoffset paramater. zero is current day, 6 is end of week.
	var l_dayname       = l_results.m_label;									// day of the week
	var l_region        = l_response.m_region;								// value (numeric) of region id
	var l_venues        = l_results.m_venues;
	var l_venues_number = l_venues.length;										// number of venues returned

	var d = new Date();
	var weekday   = new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");
	var daybutton = new Array('dayFirst','daySecond','dayThird','dayFourth','dayFifth','daySixth','daySeventh');

	// list of movie days
	displayVenueStr = '<ul id="movieDays">';

	// loop through the week
	for(var x = 0; x < 7; x++) {
		var y = (x + d.getDay());
		if (y > 6) y = (y - 7);
		displayVenueStr += '<li id="' + daybutton[(x)] + '"';
		if (x == dayChosen) displayVenueStr += ' class="daySelected"';
		displayVenueStr += '><a class="movieDay" href="#" onclick="changeDay(this);return false;">';
		if (x == 0) displayVenueStr += 'Today';
		if (x == 1) displayVenueStr += 'Tomorrow';
		if (x > 1)  displayVenueStr += weekday[y];
		displayVenueStr += '</a></li>';
	}
	displayVenueStr += '</ul>';

	displayVenueStr += '<h3 class="cinemaDay">Today</h3>';

	//Check that we have ANY venues to list at all ( if l_venues.length = 1 then if l_title.length = 0 then we have no information to display else we have 1 real venue so carry on )
	if (l_venues.length == 1) {
		for(var i = 0 ; i<l_venues.length ; i++) {
			var l_titles = l_venues[i].m_titles;
			if (l_titles.length == 0) {
				checkInfoVenues = 0;
			}
		}
	}

	if (checkInfoVenues == 0) {
		//displayVenueStr += "<h4 class='faveCinemaHeading1'>No sessions found for this day - you could try another day or location and search again</h4>";
		checkInfoVenues = 1; // reset for next search;
		if(dayChosen != 0){
			noSessionsFound(0);  //reset selected day tab to today and write alert msg
		}
	} else {
		sessionListItemsStr = ""; // set flag
		displayCinemaList = '<ul class="cinemaList">';

		for(i=0;i<l_venues_number;i++) {
			l_titles = l_venues[i].m_titles;
			for(j=0;j<l_titles.length;j++){
				if(l_titles[j].m_id == thisMovie){ // display ONLY sessions for this movie
					l_sessions = l_titles[j].m_sessions;
					movieTimesClasses = (l_sessions.length > 10) ? "movieTimes manySessions" : "movieTimes";
					sessionListItemsStr += '<li><a class="isntFavourite" onclick="toggleFave(this);return false;" href="#"><div><span>Make this a favourite cinema</span></div></a>';
					sessionListItemsStr += '<a href="' + strTemplateResourcePath + 'at_the_cinema/in_cinemas_now/?theatre='+escape(l_venues[i].m_name)+'" class="cinemaName" title="Find out more about this cinema">' + l_venues[i].m_name + '</a><ul class="'+movieTimesClasses+'">';

					for(k=0;k<l_sessions.length;k++){
						comma = (k<l_sessions.length-1) ? ',': '';
						sessionListItemsStr += '<li>' + l_sessions[k].m_date.toLowerCase().replace(/ /,'') + comma + '</li>';
					}
					sessionListItemsStr += '</ul>';
					sessionListItemsStr += '</li>';
				}
			}
		}
		displayCinemaList += sessionListItemsStr + '</ul>';

		// display error if there are no sessions for this movie, otherwise add the cinema listings to the display string
		if(sessionListItemsStr == "") {
		//displayVenueStr += "<h4 class='faveCinemaHeading1'>No sessions found for this day - you could try another day or location and search again</h4>";
			if(dayChosen != 0 && dayChosen != ''){
				noSessionsFound(0);  //reset selected day tab
			}
		} else {
			displayVenueStr += displayCinemaList;
		}
	}
	updateVenues();
	updateFaveCinemaStars();
}

function areThereSessions(l_venues) {
	//Check that we have venues to list ( if l_venues.length = 1 then if l_title.length = 0 then we have no information to display else we have 1 real venue so carry on )
	if (l_venues.length == 1) {
		for(var i = 0 ; i<l_venues.length ; i++) {
			var l_titles = l_venues[i].m_titles;
/*			if (l_titles.length == 0) {
				checkInfoVenues = 0;
			} */
			return l_titles;
		}
	}
}


//theatre check - are there any movie sessions for this theatre?
function checkForSessions(thisTheatre) {
	var checkSessionsThisVenue = 2;

	//create the search action object
	var l_fastsearch = new MetaWrap.XML.Action.Showtimes.venuessessionsandtitlesofregion(regionChosen,dayChosen);

	//this will serialise it into XML and post it to the aspx file
	l_fastsearch_action = new MetaWrap.XML.Action(l_fastsearch,strShowtimesPath+"venuessessionsandtitlesofregion.aspx");

	l_fastsearch_action.run(fastsearch_venuessessionsandtitlesofregion_done_theatre_checksessions);

	function fastsearch_venuessessionsandtitlesofregion_done_theatre_checksessions() {
		var l_venues        = l_results.m_venues;
		var l_venues_number = l_venues.length;
		for(var i = 0; i < l_venues_number; i++ ){
			if(l_venues[i].m_name != unescape(thisTheatre)) {
				checkSessionsThisVenue = 0;
			} else {
				checkSessionsThisVenue = 1;
				break;
			}
		}
	}

	var l_fastsearch_action = null;
}


// write out current location for title, e.g. "Showtimes for Beowulf, in location of City and East (Sydney, NSW)"
// or if no cookie set, show location changer and remove titles that aren't relevant.
function setCinemaLocationForSingleMovie() {
	if($('cinema_location')) {
		if(regionName == "") {
			$('cinema_location').innerHTML = "Tell us where you are and we'll show you when this movie's showing this week";
			$('changeLocation').style.display = "block";
			$('locationLinks').style.display = "none";
			$('changeLocationHeader').innerHTML = "Tell us where you are:"
			populateStates(2);
		} else {
			$('cinema_location').innerHTML = 'In location of '+ findInCookie('bpme_cinema_location','region') + ' ('+ findInCookie('bpme_cinema_location','state') +', '+ findInCookie('bpme_cinema_location','city') +')';
		}
	}
}


//old javascript to convert a movie id & name into an url.
function getMovieUrl(id, name) {
	stripEllipsis = name.replace(/[\.]+/g,' '); // replace ellipses with a single space
	stripColons   = stripEllipsis.replace(/[:]/g,' ') // replace colons with single space
	stripDash     = stripColons.replace(/[-]/g,' ') // replace dash with single space so it gets escaped back into a '-' in the end. X-Files bug.
	stripBrackets = stripDash.replace(/[()]/g,' ') // replace brackets with spaces
	return id + '-' + stripBrackets.replace(/[^!A-Za-z0-9\s]/g,'').replace(/[\s]+/g,'-'); // remove all non-alphanumeric characters (except exclamation marks), then replace all spaces with hyphens
}

//new javascript to convert a movie id & name into an url. 
//this matches the c# code which generates urls for movies - speak to james or shane or shakthi before modifying.
//this works in FF3 and SF3, but does not return l_result in IE6 - the url results in "movie_id + hyphen + another hypehn inseatd of a name"
//disabled and reverting to the old code above
/*
function getMovieUrl(id, name) {
	var l_allowable = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz!";
	var l_result = "";
	var l_mode = 0;
	for(var i = 0;i < name.length;i++){
		//alert(name[i])
		var l_c = name[i];
		switch(l_mode){
			case 0: {
				// Some characters we just don't want
				if ( (l_c == '\'') || (l_c == '?') || (l_c == '\"') ) {
				  // Skip it
				} else
					if (l_allowable.indexOf(l_c) != -1) {
					  l_result += l_c;
					} else {
						// force ourselves into space mode
						l_mode = 1;
						l_result += '-';
					}
			  }
			  break;
				// In space mode
				  case 1: {
						// If its a character we want - then get out of space mode - else strip it.
						if (l_allowable.indexOf(l_c) != -1){
							l_mode = 0;
							l_result += l_c;
						}
				  }
				  break;
			}
	  }
//return l_result;
//alert(id + '-' + l_result);
	return id + '-' + l_result;
}
*/

function updateVenues() {
	//document.getElementById('displayVenues').innerHTML = displayVenueStr;
	document.getElementById('displayVenues').innerHTML = '';
	var tempDisplayVenueStr = displayVenueStr;
	document.getElementById('displayVenues').innerHTML = tempDisplayVenueStr;

	//changeInnerHTML('displayVenues',displayVenueStr)
}

//safari testing
/*
function changeInnerHTML(divId,html){
	if (document.getElementById) {
		document.getElementById(divId).innerHTML= html;
	} else {
		document.layers[divId].document.open();
		document.layers[divId].document.write(html);
		document.layers[divId].document.close();
	}
}
*/


/* WHEREIS geocode & mapping */
//     sends street address, suburb, state (mapStreet, mapSuburb, mapState) to whereis
//     returns longitute & latitude coordinates (lonlat)
//	   sends lonlat to whereis to get the map
// note: mapSuburb is required by geocode.findAddress, but we don't use it, it's an empty field
// note: whereis don't support use of postcodes now (Dec 07), but plan to in the future

var map, geocoder;

/* this has been moved to custom.js
window.onload = function(){
	updateFaveCinemaStars;			//used in ?
	loaded();										//used by whereis code
	getGeocode();								//used by whereis code
}
*/

function loaded() {
	if(displayType == 'theatre'){
		geocoder = new EMS.Services.Geocoder();
		map = new EMS.Services.Map('map', {onInit: setupMap});
	}
}
function setupMap(theMap){
	//setup the initial default map, which gets overwritten later
	//var lonlat = new EMS.LonLat(151.21499, -33.87940);
	//map.setCenter(lonlat,12);
}
function getGeocode(){
	if(displayType == 'theatre'){
		if(mapStreet != ''){
			geocoder.findAddress(mapStreet,mapSuburb,mapState,processAddress);
		}
	}
}
function processAddress(addresses){
	if(addresses.results.length > 0){
		var coords = addresses.results[0].address.coordinates;
		var lonlat = new EMS.LonLat(coords.longitude, coords.latitude);
		map.setCenter(lonlat, 12);
	} else {
		//alert('Whereis address not found, map cannot be displayed correctly');
	}
}
