var _currentPage = 1;
var totalRecords = 0;
var totalPages = 0;
var handler_pagingBack = null;
var handler_pagingNext = null;

var rel_movies_tab1_active = false;
var rel_movies_tab2_active = false;
var rel_movies_tab3_active = false;

var rel_movies_tab1_xml = new Array();
var rel_movies_tab2_xml = new Array();
var rel_movies_tab3_xml = new Array();

var handler_click_tab1 = function() {switchTab_rel_movies(1, userID_forTabs, movieID_forTabs, false, 1);}
var handler_click_tab2 = function() {switchTab_rel_movies(2, userID_forTabs, movieID_forTabs, false, 1);}
var handler_click_tab3 = function() {switchTab_rel_movies(3, userID_forTabs, movieID_forTabs, false, 1);}

addListener (window, 'load', register_tabs_clickHandlers, false);


function register_tabs_clickHandlers()
{
	addListener(document.getElementById ('relMovies_TabLink1'), 'click', handler_click_tab1, false);
	addListener(document.getElementById ('relMovies_TabLink2'), 'click', handler_click_tab2, false);
	addListener(document.getElementById ('relMovies_TabLink3'), 'click', handler_click_tab3, false);
}

function switchTab_rel_movies(tabNum,userId,movieId, forceReload, pageNum)
{

	if ( (eval("rel_movies_tab"+tabNum+"_active")) && (_currentPage == pageNum) && (!forceReload) ) {return false;}

	_currentPage = pageNum;

	var obj_relMoviesContainer = document.getElementById("relMoviesContainer"+tabNum);


	if ( (eval("rel_movies_tab"+tabNum+"_xml["+pageNum+"]") == null) || (forceReload) )
	{
		// Create http request
		var xmlhttp = getTransferObject();
		if(!xmlhttp)
		{
			throw "Download the newer Firefox/IE or upgrade your browser please.";
			return false;
		}			
		else
		{

			obj_relMoviesContainer.innerHTML = '<img src="'+VirtualPathFromRoot+'Design/Header/AjaxLoader_Arrows.gif" alt="Loading...">';

			if (tabNum == 1) {File = DomainURL+'/ajax_getPlayList.asp?rnd=' + Math.random() + '&page='+pageNum;}
			if (tabNum == 2) {File = DomainURL+'/ajax_getUserMovies.asp?userId='+userId + '&rnd=' + Math.random() + '&page='+pageNum;}
			if (tabNum == 3) {File = DomainURL+'/ajax_getRelatedMovies.asp?movieId='+movieId + '&rnd=' + Math.random() + '&page='+pageNum;}

			Parameters = '';
			TheUrl = File + Parameters;
			xmlhttp.open("GET",TheUrl ,true);
			xmlhttp.send(null);
			
			xmlhttp.onreadystatechange = function ()
			{
				
				if (xmlhttp.readyState == 4)
				{
					HttpStatus = xmlhttp.status;
					HttpResponseText = xmlhttp.responseText;
					HttpResponseXml = xmlhttp.responseXml;

					if (HttpStatus == 200)
					{
						if (tabNum == 1) {rel_movies_tab1_xml[pageNum] = HttpResponseText}
						if (tabNum == 2) {rel_movies_tab2_xml[pageNum] = HttpResponseText}
						if (tabNum == 3) {rel_movies_tab3_xml[pageNum] = HttpResponseText}

						// paging
						xmlDoc = loadXMLfromString(HttpResponseText);
						totalRecords = getXMLNodeValue(xmlDoc.getElementsByTagName("results")[0].getElementsByTagName ("totalRecords")[0]);

						totalPerPage = 12;
						totalPages = Math.ceil (totalRecords / totalPerPage);

						// render movies
						refresh_relMoviesBox (tabNum, userId, movieId, pageNum);
					}
					else
					{
						errorContent = 'An error accessing the movies list has occured.<br>Error information was sent to technical team.<br>Please try again at a later time.';
						//alert (errorContent);
						//popup_ErrorMsgBox (errorContent, HttpStatus);
					}
				}
			}
		}
		delete xmlhttp;
	}
	else
	{

		// paging
		HttpResponseText = eval("rel_movies_tab"+tabNum+"_xml["+pageNum+"]");
		xmlDoc = loadXMLfromString(HttpResponseText);
		totalRecords = getXMLNodeValue(xmlDoc.getElementsByTagName("results")[0].getElementsByTagName ("totalRecords")[0]);

		totalPerPage = 12;
		totalPages = Math.ceil (totalRecords / totalPerPage);

		// render movies
		refresh_relMoviesBox(tabNum,'','',pageNum);

	}

}


var userMoviesTab_firstTime = true;
function refresh_relMoviesBox (tabNum, userId, movieId, pageNum)
{
	handlePaging(tabNum);

	var obj_Tab_RelMovies = document.getElementById ("Tab_RelMovies");
	var obj_relMovies_TabLink1 = document.getElementById ("relMovies_TabLink1");
	var obj_relMovies_TabLink2 = document.getElementById ("relMovies_TabLink2");
	var obj_relMovies_TabLink3 = document.getElementById ("relMovies_TabLink3");
	var obj_relMoviesContainer1 = document.getElementById ("relMoviesContainer1");
	var obj_relMoviesContainer2 = document.getElementById ("relMoviesContainer2");
	var obj_relMoviesContainer3 = document.getElementById ("relMoviesContainer3");
	var obj_relMoviesContainer = obj_relMoviesContainer1;

	// set active tab
	rel_movies_tab1_active = false;
	rel_movies_tab2_active = false;
	rel_movies_tab3_active = false;
	
	if (tabNum == 1) 
	{
		
		rel_movies_tab1_active = true; 
		obj_Tab_RelMovies.style.backgroundImage = 'url('+VirtualPathFromRoot+'Design/MoviePage/Playlist_TitleBG.gif)'; 
		obj_relMovies_TabLink1.className='relMovies_ActiveTab Playlist_tab'; 
		obj_relMovies_TabLink2.className='relMovies_NonActiveTab UserMovies_tab'; 
		obj_relMovies_TabLink3.className='relMovies_NonActiveTab';
		obj_relMoviesContainer1.style.display = '';
		obj_relMoviesContainer2.style.display = 'none';
		obj_relMoviesContainer3.style.display = 'none';
		obj_relMoviesContainer = obj_relMoviesContainer1;
		//if(obj_relMoviesContainer1.innerHTML.indexOf("AjaxLoader_Arrows.gif") == -1) return;
	}
	
	if (tabNum == 2) 
	{
		rel_movies_tab2_active = true; 
		obj_Tab_RelMovies.style.backgroundImage = 'url('+VirtualPathFromRoot+'Design/MoviePage/UserMovies_TitleBG.gif)'; 
		obj_relMovies_TabLink1.className='relMovies_NonActiveTab Playlist_tab'; 
		obj_relMovies_TabLink2.className='relMovies_ActiveTab UserMovies_tab'; 
		obj_relMovies_TabLink3.className='relMovies_NonActiveTab';
		obj_relMoviesContainer1.style.display = 'none';
		obj_relMoviesContainer2.style.display = '';
		obj_relMoviesContainer3.style.display = 'none';
		obj_relMoviesContainer = obj_relMoviesContainer2;
		//if(obj_relMoviesContainer2.innerHTML.indexOf("AjaxLoader_Arrows.gif") == -1) return;
	}

	if (tabNum == 3) 
	{
		rel_movies_tab3_active = true; 
		obj_Tab_RelMovies.style.backgroundImage = 'url('+VirtualPathFromRoot+'Design/MoviePage/RelatedMovies_TitleBG.gif)'; 
		obj_relMovies_TabLink1.className='relMovies_NonActiveTab Playlist_tab'; 
		obj_relMovies_TabLink2.className='relMovies_NonActiveTab UserMovies_tab';
		obj_relMovies_TabLink3.className='relMovies_ActiveTab'; 
		obj_relMoviesContainer1.style.display = 'none';
		obj_relMoviesContainer2.style.display = 'none';
		obj_relMoviesContainer3.style.display = '';
		obj_relMoviesContainer = obj_relMoviesContainer3;
		//if(obj_relMoviesContainer3.innerHTML.indexOf("AjaxLoader_Arrows.gif") == -1) return;
	}

	// get xml data for selected tab
	HttpResponseText = eval("rel_movies_tab"+tabNum+"_xml["+pageNum+"]");

	xmlDoc_refresh_relMoviesBox = loadXMLfromString(HttpResponseText);

	xmlDoc_refresh_relMoviesBox_totalMovies = 0

	for (xmlDoc_refresh_relMoviesBox_i=0; xmlDoc_refresh_relMoviesBox_i < xmlDoc_refresh_relMoviesBox.getElementsByTagName("movies")[0].childNodes.length; xmlDoc_refresh_relMoviesBox_i++)
	{
		xmlDoc_refresh_relMoviesBox_nodeType = xmlDoc_refresh_relMoviesBox.getElementsByTagName("movies")[0].childNodes[xmlDoc_refresh_relMoviesBox_i].nodeType;
		
		if (xmlDoc_refresh_relMoviesBox_nodeType == 1)
		{
			xmlDoc_refresh_relMoviesBox_totalMovies ++ ;
		}
	}
	
	// parse xml
	var xmlDoc_refresh_relMoviesBox_HTML = "<div>";

	if ((xmlDoc_refresh_relMoviesBox_totalMovies == 0) && (tabNum == 3) && (userMoviesTab_firstTime))
	{
		userMoviesTab_firstTime = false;
		switchTab_rel_movies(2,userId,movieId, false, 1);
		return;
	}

	counter = 0;
	for (xmlDoc_refresh_relMoviesBox_i=0; xmlDoc_refresh_relMoviesBox_i < xmlDoc_refresh_relMoviesBox.getElementsByTagName("movies")[0].childNodes.length; xmlDoc_refresh_relMoviesBox_i++)
	{

		xmlDoc_refresh_relMoviesBox_nodeType = xmlDoc_refresh_relMoviesBox.getElementsByTagName("movies")[0].childNodes[xmlDoc_refresh_relMoviesBox_i].nodeType;
		xmlDoc_refresh_relMoviesBox_nodeName = xmlDoc_refresh_relMoviesBox.getElementsByTagName("movies")[0].childNodes[xmlDoc_refresh_relMoviesBox_i].nodeName;

		if (xmlDoc_refresh_relMoviesBox_nodeType == 1)
		{

			counter++;

			xmlDoc_refresh_relMoviesBox_movieID = getXMLNodeValue(xmlDoc_refresh_relMoviesBox.getElementsByTagName("movies")[0].childNodes[xmlDoc_refresh_relMoviesBox_i].attributes.getNamedItem("recordID"));
			xmlDoc_refresh_relMoviesBox_userID = getXMLNodeValue(xmlDoc_refresh_relMoviesBox.getElementsByTagName("movies")[0].childNodes[xmlDoc_refresh_relMoviesBox_i].attributes.getNamedItem("userID"));
			xmlDoc_refresh_relMoviesBox_Theusername = getXMLNodeValue(xmlDoc_refresh_relMoviesBox.getElementsByTagName("movies")[0].childNodes[xmlDoc_refresh_relMoviesBox_i].attributes.getNamedItem("username"));
			xmlDoc_refresh_relMoviesBox_rating = getXMLNodeValue(xmlDoc_refresh_relMoviesBox.getElementsByTagName("movies")[0].childNodes[xmlDoc_refresh_relMoviesBox_i].attributes.getNamedItem("rating"));
			xmlDoc_refresh_relMoviesBox_ThemovieDuration = getXMLNodeValue(xmlDoc_refresh_relMoviesBox.getElementsByTagName("movies")[0].childNodes[xmlDoc_refresh_relMoviesBox_i].attributes.getNamedItem("movieDuration"));
			xmlDoc_refresh_relMoviesBox_thumbnailURL = getXMLNodeValue(xmlDoc_refresh_relMoviesBox.getElementsByTagName("movies")[0].childNodes[xmlDoc_refresh_relMoviesBox_i].attributes.getNamedItem("thumbnailURL"));
			xmlDoc_refresh_relMoviesBox_movieTitle = getXMLNodeValue(xmlDoc_refresh_relMoviesBox.getElementsByTagName("movies")[0].childNodes[xmlDoc_refresh_relMoviesBox_i]);


			if (xmlDoc_refresh_relMoviesBox_rating.indexOf (".") != -1) {showHalfStar = true;}
			else {showHalfStar = false;}

			xmlDoc_refresh_relMoviesBox_rating = parseInt (xmlDoc_refresh_relMoviesBox_rating);

			var HTML_rating = '';
			for (j=1; j<=xmlDoc_refresh_relMoviesBox_rating; j++)
			{
				HTML_rating += '<img src="'+VirtualPathFromRoot+'Design/MainPage/icon_redstar.gif" alt="red star">';
			}

			if (showHalfStar) {HTML_rating += '<img src="'+VirtualPathFromRoot+'Design/MainPage/icon_redhalfstar.gif" alt="half star">'; j++}

			for (j=j; j<=5; j++)
			{
				HTML_rating += '<img src="'+VirtualPathFromRoot+'Design/MainPage/icon_graystar.gif" alt="gray star">';
			}

			
			// open movie row
			if (counter % 6 == 1)
			{
				xmlDoc_refresh_relMoviesBox_HTML += "<div class='relMovies_Row'>";
			}

			// add movie box to html string
			xmlDoc_refresh_relMoviesBox_HTML += "<div class=\"relMovieBox_Container\">" +
													showMovieBox (xmlDoc_refresh_relMoviesBox_thumbnailURL, xmlDoc_refresh_relMoviesBox_movieTitle, xmlDoc_refresh_relMoviesBox_i, '', xmlDoc_refresh_relMoviesBox_movieID, xmlDoc_refresh_relMoviesBox_Theusername, xmlDoc_refresh_relMoviesBox_rating, xmlDoc_refresh_relMoviesBox_ThemovieDuration, xmlDoc_refresh_relMoviesBox_userID) +
												"</div>";


			// close movie row and break into a new line
			if ((counter) % 6 == 0)
			{
				xmlDoc_refresh_relMoviesBox_HTML += "</div><div class='clearfix'></div>";
			}

		}
	}

	if ((counter) % 6 != 0)
	{	
		xmlDoc_refresh_relMoviesBox_HTML += "</div><div class='clearfix'></div>";
	}

	xmlDoc_refresh_relMoviesBox_HTML += "</div>";

	// render html data
	obj_relMoviesContainer.innerHTML = xmlDoc_refresh_relMoviesBox_HTML;

}


function handlePaging(tabNum)
{

	// if there are more pages to go next to
	if (parseInt(_currentPage) < parseInt(totalPages))
	{
		// remove previous handler if exists
		if (handler_pagingNext != null)
		{
			removeListener(document.getElementById ('btn_pagingNext'), 'click', handler_pagingNext);
		}

		// register "next" button handler
		handler_pagingNext = function() {switchTab_rel_movies(tabNum, userID_forTabs, movieID_forTabs, false, parseInt(_currentPage + 1)); return false;}
		addListener(document.getElementById ('btn_pagingNext'), 'click', handler_pagingNext, false);
		document.getElementById ('img_pagingNext').src = VirtualPathFromRoot + 'design/moviePage/B_next.gif';
	}
	else // if there are no more pages to go next to
	{
		// remove previous handler if exists
		if (handler_pagingNext != null)
		{
			removeListener(document.getElementById ('btn_pagingNext'), 'click', handler_pagingNext);
			document.getElementById ('img_pagingNext').src = VirtualPathFromRoot + 'design/moviePage/B_nextGray.gif';
		}
	}

	// if there are more pages to go back to
	if (_currentPage > 1)
	{						
		// remove previous handler if exists
		if (handler_pagingBack != null)
		{
			removeListener(document.getElementById ('btn_pagingBack'), 'click', handler_pagingBack);
		}
		
		handler_pagingBack = function() {switchTab_rel_movies(tabNum, userID_forTabs, movieID_forTabs, false, parseInt(_currentPage - 1)); return false;}
		addListener(document.getElementById ('btn_pagingBack'), 'click', handler_pagingBack, false);
		document.getElementById ('img_pagingBack').src = VirtualPathFromRoot + 'design/moviePage/B_back.gif';
	}
	else // if there are no more pages to go back to
	{
		if (handler_pagingBack != null)
		{
			removeListener(document.getElementById ('btn_pagingBack'), 'click', handler_pagingBack);
			document.getElementById ('img_pagingBack').src = VirtualPathFromRoot + 'design/moviePage/B_backGray.gif';
		}
	}

}