/*
 * Copyright (c) 2008 AKEEBO CORPORATION. All Rights Reserved.
 *
 * This software is the confidential and proprietary information ("Confidential Information") 
 * of AKEEBO CORPORATION ("AKEEBO CORP"). Any disclosure or use of such Confidential Information other 
 * than in accordance with the terms of the license under which it was received is strictly 
 * prohibited.
 *
 * AKEEBO CORP MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF 
 * THE SOFTWARE, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE,
 * OR NON-INFRINGEMENT. AKEEBO CORP SHALL NOT BE LIABLE FOR ANY DAMAGES
 * SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING
 * THIS SOFTWARE OR ITS DERIVATIVES.
 */
var selTitleIndex = new Array();
var apGenreCache = new Array();
var	apTitleCache = new Array();
var apTitleGenreCache = new Array();
var apDescCache = new Array();
var curApIndexArr = new Array();
var apStreamNameCache = new Array();
var apUseGraphic = new Array();
var apTitleId = new Array();

var apCurrent = 0;
var apCursor = 0;
var assignedPatientPage = 0;
var prevApOption = 0;

var prevApTitle = 0;
var apTitleCurrent = 0;
var apTitleCursor = 0;
var assignedGenreClick = 0;
var assignedTitleClick = 0;


var assignedCursorIndex = 0;
var assignedPanel = 0;	
var assignedTitleTotal = 0;
var assignedTitleMax = 2;
var startAssignedIndex = 0;
var assignedColumnIndex = 0;
var assignedRowIndex = 0;
var assignTitleClick = 0;

var assignedGenreIndex = 0;
var assignedGenreCursor = 0;
var assignedGenreTotal = 0;
var filePlayStatus = false; 

function resetAssignedPanel() {
	selTitleIndex = new Array();
	apGenreCache = new Array();
	apTitleCache = new Array();
	apTitleGenreCache = new Array();
	apDescCache = new Array();
	curApIndexArr = new Array();
	apStreamNameCache = new Array();
	apUseGraphic = new Array();
	apTitleId = new Array();
	
	apCurrent = 0;
	apCursor = 0;
	assignedPatientPage = 0;
	prevApOption = 0;
	
	assignedGenreIndex = 0;
	assignedGenreCursor = 0;
	assignedGenreTotal = 0;
	assignedPanel = 0;
}
function resetAssignedTitle() {
	prevApTitle = 0;
	apTitleCurrent = 0;
	apTitleCursor = 0;
}

function launchAssignedPanel(widgetId) {
	resetAssignedPanel();
	getAssignedPatientInfo(widgetId);
}

function getAssignedPatientInfo(widgetId) {
	var params = "method=getPatientEducationInfo" + "&serial=" + serial + "&widgetId=" + widgetId;

	createAjaxRequest();
	if(ajaxRequest == null) {
		return;
	}
	ajaxRequest.onreadystatechange = function() {
//		alert(ajaxequest.readyState + "response is: " +  ajaxRequest.responseText);
		if (ajaxRequest.readyState == 4) {
	    	if(ajaxRequest.status == 200) {
	    		if(ajaxRequest.responseText == "recall") {
	    			getSpiritualInfo();
	    		} else {
	    			var response = ajaxRequest.responseText;
	    			document.getElementById("assignedOptionDescription").innerHTML = "";
	    			document.getElementById("assignedContentList").innerHTML = '';
	    			document.getElementById("assignedTitleList").innerHTML = '';
	    			if(response.length > 0) {
	    				data = response.split("-?#-");
	    				apGenreCache = data[0].split("-@#-");
	    				apTitleGenreCache = data[1].split("-@#-");
	    				apTitleCache = data[2].split("-@#-");
	    				apDescCache = data[3].split("-@#-");
	    				apStreamNameCache = data[5].split("-@#-");
	    				apUseGraphic = data[4].split("-@#-");
	    				apTitleId = data[6].split("-@#-");
	    				for(var i = 0; i < apGenreCache.length; i++) {
							var curIndex = 0;
							var indexArray = new Array();
							for(var j = 0; j < apTitleGenreCache.length; j++) {
								if(apTitleGenreCache[j] == apGenreCache[i]) {
									indexArray[curIndex] = j;
									++curIndex;
								} 
							}
							selTitleIndex[i] = indexArray;
						}
//						alert("## " + apStreamNameCache + " $$ " + apGenreCache + " $$ " +  apTitleGenreCache + " $$ " + apTitleCache + " $$ " + apDescCache );
						assignedGenreTotal = (apGenreCache.length == 0 ? 0 : apGenreCache.length - 1);	
						updateAssignedGenrePanel();
	    			} else {
						document.getElementById("assignedContentList").innerHTML = '<table width="190px" align="left" border="0px" style="margin-top:10px;margin-left:5px;" cellspacing="0" cellpadding="0">' 
									+ '<tr><td width="190px" height="30px" valign="middle" align="center" nowrap style="background:url(/view/tv/images/rowGenre.png) no-repeat;"><span width="185px" height="30px" style="margin-left:-25px;" >' + records.key372 + '</span></td></tr>'								
									+ '</table>';
	    				document.getElementById("assignedTitleList").innerHTML = "no title available";
	    			}
	    			showAssignedPanel();
	    		}
			} else if(ajaxRequest.status == 500) { 
				failureInfo();
			}
		} 
	 };
	ajaxRequest.open("POST", '/TvHandler', true);
	ajaxRequest.setRequestHeader("Content-Type" , "application/x-www-form-urlencoded");
	ajaxRequest.send(params);
	return false;
}	


function resetAssignedPanel() {
	selTitleIndex = new Array();
	apGenreCache = new Array();
	apTitleCache = new Array();
	apTitleGenreCache = new Array();
	apDescCache = new Array();
	curApIndexArr = new Array();
	apStreamNameCache = new Array();
	apUseGraphic = new Array();
	apTitleId = new Array();
	
	apCurrent = 0;
	apCursor = 0;
	assignedPatientPage = 0;
	prevApOption = 0;
	
	assignedGenreIndex = 0;
	assignedGenreCursor = 0;
	assignedGenreTotal = 0;
	assignedPanel = 0;
	
}

function resetAssignedTitle() {
	prevApTitle = 0;
	apTitleCurrent = 0;
	apTitleCursor = 0;
}
//function launchAssignedPanel(widgetId) {
//	resetAssignedPanel();
//	getAssignedPatientInfo(widgetId);
//}

function updateAssignedGenrePanel() {
	var assignedPetientPanel = "";
	var curOptionLength = apGenreCache.length; 
	var count = 0;
//	alert(apGenreCache.length);
	for(var i=0; (curOptionLength >= 9 && i < 9) || (curOptionLength < 9 && i < curOptionLength); ++i) {
//		assignedPetientPanel += '<tr>'
//							+ '<td id="assignedGenreId'+i+ '" '+ ( statusInfo == 1 ? 'onmouseover="onAssignedGenrePanel('+ i +');" style="height:40px;width:170px;padding-bottom:3px;padding-left:18px;cursor:pointer;"' : ' style="height:40px;width:170px;padding-bottom:3px;padding-left:18px;" ') +'>'
//								+ ((apGenreCache[i]).length > 28 ? apGenreCache[i] : apGenreCache[i])
//							+ '</td>'
//						+ '</tr>'
		assignedPetientPanel += '<tr><td id="assignedGenreId'+ i +'" '+ (statusInfo == 1 ? 'style="cursor:pointer;font-weight:bolder;" onmouseover="onAssignedGenrePanel(' + i + ');"' : ' style="font-weight:bolder;" ') +' width="155px" height="30px" valign=center nowrap>&nbsp;&nbsp;&nbsp;' + apGenreCache[i] + '</td></tr>';
			count++;
	}
	
//	for(var i=0; i < (10 - count) ; ++i) { 
//		if(count == 0) {
//			break;
//		}
//		assignedPetientPanel += '<tr>'
//						+ '<td id="assignedGenreId'+ (i+count) +'" >&nbsp;'
//						+ '</td>'
//					+ '</tr>';
// 	}
 	
 	document.getElementById("assignedContentList").innerHTML = ''
			+ '<table width=' + (assignedPetientPanel ? "165px" : "190px")+ ' align="left" border="0px" style="margin-top:10px;margin-left:5px;" cellspacing="0" cellpadding="0">' 
			+ (assignedPetientPanel ? assignedPetientPanel : '<tr><td width=' + (assignedPetientPanel ? "155px" : "190px") + ' height="30px" valign="middle" align="center" nowrap>' + records.key372 + '</td></tr>')								
			+ '</table>';
 	
// 	document.getElementById("assignedContentList").innerHTML = ''
//								+ '<table width="100%" align="left" valign="top" cellspacing="0" cellpadding="0" >' 
//									+ (assignedPetientPanel ? assignedPetientPanel : '<tr><td height="28" width="100%" align="center" valign="middle"><span style="width:100%;text-align:center;vertical-align:middle;background-repeat:no-repeat;">No options avaliable</span></td></tr>')
//								+ '</table>';

	updateAssignedTitle();		
	highlightApGenre();	
	assignAssignedGenreDesc();					
}	

function assignAssignedGenreDesc() {
	try {
		var titleCache = returnCurIndex();
//		alert(titleCache + ", titleCache: " + titleCache[apTitleCurrent] + "apDescCache[index]" + apDescCache[index]);
		var index = titleCache[apTitleCurrent];
		showAssignedImage();
		document.getElementById("assignedOptionDescription").innerHTML = apDescCache[index];
	} catch(x) {
		
	}
}

function showAssignedImage() {
	return;
	try {
		document.getElementById("assignedImage").innerHTML = '<img width="60px" height="60px" src="./view/tv/images/widgets/assignedPatient/assignedImage' + apCurrent + '.jpg" />';
	} catch(exception) {
		
	}
}

function assignAssignedTitleDesc() {
	try {
		var titleCache = returnCurIndex();
		var index = titleCache[apTitleCurrent];
		document.getElementById("assignedOptionDescription").innerHTML = apTitleCache[index];
	} catch(x) {
		
	}
}

function assignedPanelHome(index) {
	var color = "";
	color = (index == 1 ? "#fcf3b8" : "none");
	document.getElementById("assignedPanelHomeBtn").style.background = color;
}	

function hideAssignedTitles() {
	for(var i = 0; i < 5; i++) {
		try {
			document.getElementById("assignedTitleId" + i).style.background = "none";
		} catch(x) {
				
		}
	}
}

function highlightApGenre() {
	if(document.getElementById("assignedGenreId" + prevApOption) != null) {
 		document.getElementById("assignedGenreId" + prevApOption).style.background = "none";
// 		document.getElementById("assignedGenreId" + prevApOption).style.border = "1px solid transparent";
 	}
 	if(document.getElementById("assignedGenreId" + apCursor) != null) {
 		document.getElementById("assignedGenreId" + apCursor).style.background = 'url("/view/tv/images/rowGenre.png")';
 		document.getElementById("assignedGenreId" + apCursor).style.backgroundRepeat = "no-repeat";
 	}
}
	
function highlightApTitle() {
	
	if(document.getElementById("assignedTitleId" + prevApTitle) != null) {
		document.getElementById("assignedTitleId" + prevApTitle).style.border = "2px solid transparent";
// 		document.getElementById("assignedTitleId" + prevApTitle).style.background = "none";
 	}
 	if(document.getElementById("assignedTitleId" + apTitleCursor) != null) {
 		document.getElementById("assignedTitleId" + apTitleCursor).style.border = "2px solid paleGoldenRod";
// 		document.getElementById("assignedTitleId" + apTitleCursor).style.background = "url('/view/tv/images/selectorMealItem.png')";
// 		document.getElementById("assignedTitleId" + apTitleCursor).style.backgroundRepeat = "no-repeat";
 	}
}

function assignedKeyHandler(keyCodeNum) {
	switch(keyCodeNum) {
		case rcOK:
			var titleCache = returnCurIndex();
			var currentIndex = 3*assignedRowIndex + assignedColumnIndex;
			currentIndex = titleCache[currentIndex];
			if(!apStreamNameCache[currentIndex]) {
				return;
			}
			startAssignedPanelStream(assignedRowIndex, assignedColumnIndex, apStreamNameCache[currentIndex]);
			document.getElementById("layer57").style.display = "none";	
			break;
		case rcMENU:
			if(filePlayStatus) {
				filePlayStatus = false;
				assignedPanel = 1;
				hideStatusPanel();
				document.getElementById("statusMessagePanel").innerHTML = '';				
				document.getElementById("layer57").style.display = "block";
				if(document.getElementById("keyDigitPanel") != null)
					document.getElementById("keyDigitPanel").style.visibility = "hidden";
				document.getElementById("waitPanel").style.backgroundImage="url('./view/tv/images/banner.png')";
				if(stbTypeId == 7) {
					if(document.getElementById("epgPlayer") != null) {
						document.getElementById("epgPlayer").className = "epgPlayerOld";
					}
				}			
				if(stbTypeId == 7) {
					document.getElementById("homePanelImage").style.visibility = "hidden";
				}							
			} else {
				document.getElementById("epgPlayer").innerHTML = "";
				feedType = "igmp";
				startStream();
				filePlayStatus = false;
				assignedActive = false;
				showGoPanel();
				showGuidePanel();
			}
			break;
		case rcRIGHT:
			if(assignedPanel == 0) {
 				selAssignedTitlePanel(assignedRowIndex, assignedColumnIndex);
 				assignedPanel = 1;
 				return;
 			}
			var curIndex = assignedRowIndex*3 + assignedColumnIndex;
			if(curIndex == assignedTitleTotal || assignedColumnIndex ==2) {
 				return;
 			}
			if(assignedColumnIndex >= 0) {
				unSelAssignedTitle(assignedRowIndex, assignedColumnIndex);
				assignedColumnIndex++;
				selAssignedTitlePanel(assignedRowIndex, assignedColumnIndex);
				return;
			}
			break;
 		case rcLEFT:
 			if(assignedColumnIndex == 0) {
				assignedPanel = 0;
				unSelAssignedTitle(assignedRowIndex, assignedColumnIndex);
 				return;
 			}
 			if(assignedPanel == 0) {
 				return;
 			}
 			if(assignedColumnIndex >= 0) {
				unSelAssignedTitle(assignedRowIndex, assignedColumnIndex);
				--assignedColumnIndex;
				selAssignedTitlePanel(assignedRowIndex, assignedColumnIndex);
				return;
			}
			break;
		case rcUP:
			if(assignedPanel == 0) {
 				if(assignedGenreIndex == 0) { // first one									
					return;
				} 
				assignedGenreIndex--;
				if(assignedGenreCursor != 0) { // move cursor
					unSelAssignedGenre(assignedGenreCursor);
					assignedGenreCursor--;					
					selAssignedGenre(assignedGenreCursor);
				} else { // scroll
					var start = assignedGenreIndex; 
					var end = assignedGenreIndex + 9;	
					scrollAssignedGenre(start, end);							
				}			
				updateAssignedTitle();	
				assignedGenreClick = assignedGenreIndex	- assignedGenreCursor;	
 				return;
 			}
 			if(assignedRowIndex == 0)
				return;
			unSelAssignedTitle(assignedRowIndex, assignedColumnIndex);
			assignedRowIndex--;
			if(assignedCursorIndex != 0) { // if the cursor is moving up, no scroll is needed
				assignedCursorIndex--;
				selAssignedTitlePanel(assignedRowIndex, assignedColumnIndex);
			} else { // scroll	
				assignedCursorIndex = 0;
				var start = 0;
				start = (startAssignedIndex < 3 ? 0 : startAssignedIndex -3);
				startAssignedIndex = start;
				
				var end = ((assignedTitleTotal - start) > 8 ? (start + 8) : assignedTitleTotal);	
				scrollAssignedTitles(start, end);
			}		
			assignTitleClick =assignedRowIndex - assignedCursorIndex;
			break;
		case rcDOWN:
			if(assignedPanel == 0) {
 				if(assignedGenreIndex == assignedGenreTotal) {									
					break;
				} 
				assignedGenreIndex++;
				if(assignedGenreCursor < 9) { 
					unSelAssignedGenre(assignedGenreCursor);
					assignedGenreCursor++;					
					selAssignedGenre(assignedGenreCursor);
				} else { 
					var start = assignedGenreIndex - 9; 
					var end = assignedGenreIndex;		
					scrollAssignedGenre(start, end);							
				}			
				updateAssignedTitle();	
				assignedGenreClick = assignedGenreIndex	- assignedGenreCursor;		
				return;
 			}
			var rowIndex = assignedCursorIndex + 1;
			var columnIndex = assignedColumnIndex;
			if(rowIndex < 3) {
				if(curApIndexArr[rowIndex][columnIndex] == 0) {
					return;
				}
			}
//			assignedTitleTotal = returnCurIndex().length - 1;
			var assignedCount = (assignedTitleTotal/3);
 			if(assignedRowIndex == parseInt(assignedCount)) {
// 				alert(assignedCount + " : " + assignedTitleTotal + " : " + assignedRowIndex);
				return;
 			}
			unSelAssignedTitle(assignedRowIndex, assignedColumnIndex);
			assignedRowIndex++;
					
			if(assignedCursorIndex < assignedTitleMax) { // if the cursor is moving down, no scroll is needed
				assignedCursorIndex++;
				selAssignedTitlePanel(assignedRowIndex, assignedColumnIndex);
			} else { 
				var start = 0;
				if(assignedRowIndex < 3) {
					start = assignedRowIndex;  
					startAssignedIndex = start;
				} else {
					start = startAssignedIndex + 3;
					startAssignedIndex = start;
				}
				assignedCursorIndex = 2;
				var end = ((assignedTitleTotal - start) > 8 ? (start + 8) : assignedTitleTotal);
				scrollAssignedTitles(start, end);
			}	
			assignTitleClick =assignedRowIndex - assignedCursorIndex;
		break;
	}
}

function selAssignedTitlePanel(rowIndex, columnIndex) {
//	alert("cursor= " + assignedCursorIndex + " :row= " + rowIndex + " :click= " + assignTitleClick);
	var titleId = "assignedTitleId"+ rowIndex +""+ columnIndex;
		try {
			assignApTitleDesc(rowIndex, columnIndex);
			document.getElementById(titleId).style.border = "2px solid paleGoldenRod";
		} catch (x){
			try {
				assignedRowIndex -= 1;
				assignedCursorIndex -=1;
				selAssignedTitlePanel(assignedRowIndex, assignedColumnIndex);
			} catch(y){
				
			}
		}
}	
	
function unSelAssignedTitle(rowIndex, columnIndex) {
	var titleId = "assignedTitleId"+ rowIndex +""+columnIndex;
	if(document.getElementById(titleId) != null)
		document.getElementById(titleId).style.border = "2px solid Transparent";
}

function assignApTitleDesc(rowIndex, columnIndex) {
	try {
		var titleCache = returnCurIndex();
		var currentIndex = 3*rowIndex + columnIndex;
		currentIndex = titleCache[currentIndex];
		document.getElementById("assignedOptionDescription").innerHTML = apDescCache[currentIndex];
	} catch(x) {
		
	}
}		

function selAssignedGenre(index) {
	try {
		document.getElementById("assignedGenreId" + index).style.background = 'url("/view/tv/images/rowGenre.png")';
		document.getElementById("assignedGenreId" + index).style.backgroundRepeat = "no-repeat";
	} catch(x) {
//		alert(x);	
	}
}

function unSelAssignedGenre(index) {
	try {
		document.getElementById("assignedGenreId" + index).style.background = 'none';
	} catch(x) {
//		alert(x);	
	}
}

function scrollAssignedGenre() {
	var scrollCount = 0;
	for(var i = start; i <= end; ++i) { 
		var selCategoryOrder = "assignedGenreId" + scrollCount;
		document.getElementById(selCategoryOrder).innerHTML = (apGenreCache[i].length > 16 ? apGenreCache[i] : apGenreCache[i]);
		scrollCount ++;
	}
}

function updateAssignedTitle() {
//	alert("in title window");
	resetAssignedVars();
	var assignedTitlePanel = "";
	var titleCache = returnCurIndex();
	for(var k = 0; k < 3; k++) {
		curApIndexArr[k] = new Array(3); 
		for(var m = 0; m < 3; m++) {
			curApIndexArr[k][m] = 0;
		}
	}
	var i;
	var titleCount = 0;
	var assignedTitlePanel  = '<tr><td colspan="7" width="400px" height="10px">&nbsp;</td></tr><tr><td width="15px" height="80px">&nbsp;</td>';
	for(i=0; (titleCache.length >=9 && i<9) || (titleCache.length < 9 && i<titleCache.length); ++i) {
		titleCount++;
		var rowIndex = parseInt(i/3);
		var columnIndex = parseInt(i%3);
		if(i%3 == 0 && i != 0) {
			assignedTitlePanel += '</tr><tr><td colspan="7" width="400px" height="10px">&nbsp;</td></tr><tr><td width="15px" height="80px">&nbsp;</td>';
		} 
		curApIndexArr[rowIndex][columnIndex] = 1;
		var currentIndex = 3*rowIndex + columnIndex;
		currentIndex = titleCache[currentIndex];
		assignedTitlePanel += '<td align="center" valign="middle" nowrap '+ (statusInfo == 1 ? 'onclick="assignedKeyHandler('+ rcOK +');" onmouseover="onAssignedTitlePanel('+ i +');" style="width:80px;height:75px;cursor:pointer;" ' : 'style="width:80px;height:75px;"' ) +' >' + '<img id="assignedTitleId'+ rowIndex + ''+ columnIndex +'" style="width:75px;height:75px;border:2px solid transparent;" src='+ (apUseGraphic[currentIndex] == 1 ? '"/ImageHandler?value=' + apTitleId[currentIndex] + '&icon=-1&imageType=4"' : '"./view/tv/images/vod/logo_none.png"' )+' />'  + '</td><td width="15px" height="80px" >&nbsp;</td>';
	}
//	alert("in title assignedTitlePanel");
	if(titleCount > 0) {
		for(var j=0; j < (9 - titleCount) ; ++j) { 
			if((titleCount+j)%3 == 0) {
				assignedTitlePanel += '</tr><tr><td colspan="7" width="400px" height="10px">&nbsp;</td></tr><tr><td width="15px" height="80px">&nbsp;</td>';
			}
			assignedTitlePanel += '<td align="center" valign="middle" nowrap style="width:80px;height:80px;">&nbsp;</td><td width="15px" height="80px" >&nbsp;</td>';
		}
	}
	assignedTitlePanel += '</tr><tr><td colspan="7" width="400px" height="10px">&nbsp;</td></tr>';
 	document.getElementById("assignedTitleList").innerHTML = '<table width="100%" align="left" valign="top" cellspacing="0" cellpadding="0" >' 
									+ (assignedTitlePanel ? assignedTitlePanel : '<tr><td height="28" width="100%" align="center" valign="middle"><span style="width:100%;text-align:center;vertical-align:middle;background-repeat:no-repeat;">No options avaliable</span></td></tr>')
								+ '</table>';
//	alert(document.getElementById("assignedTitleList").innerHTML);
//	selAssignedTitlePanel(0, 0);
}

function highLightAssignedPanel(index) {
	document.getElementById("assignedPanel" + index).style.background = "#fcf3b8";
}

function escapeAssignedPanel() {
	assignedKeyHandler(rcMENU);
}

function hideAssignedPanel(index) {
	document.getElementById("assignedPanel" + index).style.background = "none";
}

function moveAssignedPanel(index) {
	if(index == 1) {
		assignedKeyHandler(rcUP);
	} else if(index == 2) {
		assignedKeyHandler(rcDOWN);
	} else if(index == 3) {
		assignedKeyHandler(rcLEFT);
	} else if(index == 4) {
		assignedKeyHandler(rcRIGHT);
	}
}

function scrollAssignedTitles(start, end) {
	assignedPanel = 1; 
	var i;
	var titleCount = 0;
	var titleCache = returnCurIndex();
	for(var k = 0; k < 3; k++) {
		curApIndexArr[k] = new Array(3); 
		for(var m = 0; m < 3; m++) {
			curApIndexArr[k][m] = 0;
		}
	}
	
	document.getElementById("assignedTitleList").innerHTML = '';
	var assignedHTML  = '<tr><td colspan="7" width="400px" height="10px">&nbsp;</td></tr><tr><td width="15px" height="80px">&nbsp;</td>';
	for(i=start; i <= end; ++i) {
		var rowIndex = parseInt(i/3);
		var columnIndex = parseInt(i%3);
		if(i%3 == 0 && i != 0 && titleCount != 0) {
			assignedHTML += '</tr><tr><td colspan="7" width="400px" height="10px">&nbsp;</td></tr><tr><td width="15px" height="80px">&nbsp;</td>';
		}
		curApIndexArr[parseInt(titleCount/3)][parseInt(titleCount%3)] = 1;
		var currentIndex = 3*rowIndex + columnIndex;
		currentIndex = titleCache[currentIndex];
		titleCount++;
		assignedHTML += '<td align="center" valign="middle" nowrap '+ (statusInfo == 1 ? ' onclick="assignedKeyHandler('+ rcOK +')"  onmouseover="onAssignedTitlePanel('+ i +');" style="width:80px;height:75px;cursor:pointer;"' : 'style="width:80px;height:75px;"') +' >' + '<img id="assignedTitleId'+ rowIndex + ''+ columnIndex +'" style="width:75px;height:75px;"  src='+ (apUseGraphic[currentIndex] == 1 ? '"/ImageHandler?value=' + apTitleId[currentIndex] + '&icon=-1&imageType=4"' : '"./view/tv/images/vod/logo_none.png"' )+' />'+'</td><td width="15px" height="80px" >&nbsp;</td>';
	}
	if(titleCount > 0) {
		for(var j=0; j < (9 - titleCount) ; ++j) { 
			if((titleCount+j)%3 == 0) {
				assignedHTML += '</tr><tr><td colspan="7" width="400px" height="10px">&nbsp;</td></tr><tr><td width="15px" height="80px">&nbsp;</td>';
			}
			assignedHTML += '<td align="center" valign="middle" nowrap style="width:80px;height:80px;">&nbsp;</td><td width="15px" height="80px" >&nbsp;</td>';
		}
	}
	
	assignedHTML += '</tr><tr><td colspan="7" width="400px" height="10px">&nbsp;</td></tr>';
	document.getElementById("assignedTitleList").innerHTML = ''
						+ '<table width="100%" align="left" valign="top" cellspacing="0" cellpadding="0" >' 
							+ (assignedHTML ? assignedHTML : '<tr><td height="28" width="100%" align="center" valign="middle"><span style="width:100%;text-align:center;vertical-align:middle;background-repeat:no-repeat;">No options avaliable</span></td></tr>')
						+ '</table>';
	selAssignedTitlePanel(assignedRowIndex, assignedColumnIndex);
//	var scrollCount = 0;
//	var titleCache = returnCurIndex();
//	for(var i = start; i <= end; ++i) { 
//		var selMealList = "assignedTitleId" + scrollCount;
//		document.getElementById(selMealList).innerHTML = (titleCache[i].length > 28 ? titleCache[i] : titleCache[i]);
//		scrollCount ++;
//	}
}

function returnCurIndex() {
	var titleCache = new Array();
//	alert(selTitleIndex[assignedGenreIndex].length);
	if(selTitleIndex[assignedGenreIndex].length > 0) {
		titleCache = (selTitleIndex[assignedGenreIndex]);
	}
	assignedTitleTotal = titleCache.length-1;
	return titleCache;
}

function resetAssignedVars() {
	curApIndexArr = new Array();
	
	assignedCursorIndex = 0;
	assignedPanel = 0;	
	assignedTitleTotal = 0;
	assignedTitleMax = 2;
	startAssignedIndex = 0;
	assignedColumnIndex = 0;
	assignedRowIndex = 0;
	assignTitleClick = 0;
}

function onAssignedGenrePanel(index) {
//	prevApOption = apCursor;
//	assignedPatientPage = 0;
//	apCursor = index;
//	apCurrent = index + assignedGenreClick;
	unSelAssignedTitle(assignedRowIndex, assignedColumnIndex);
	unSelAssignedGenre(assignedGenreCursor);
	assignedGenreIndex = index; 
	assignedGenreCursor = assignedGenreIndex - assignedGenreClick;
	selAssignedGenre(assignedGenreCursor);
//	highlightApGenre();
	assignedPanel = 0;
	assignAssignedGenreDesc();
	updateAssignedTitle();
}	
	
function onAssignedTitlePanel(index) {
	unSelAssignedTitle(assignedRowIndex, assignedColumnIndex);
	var rowIndex = parseInt(index/3);
	assignedPanel = 1;
	var columnIndex = index%3;
	assignedRowIndex = rowIndex;
	assignedColumnIndex = columnIndex;
	assignedCursorIndex = assignedRowIndex - assignTitleClick;
	selAssignedTitlePanel(assignedRowIndex, assignedColumnIndex);
}	

function startAssignedPanelStream(rowIndex, columnIndex, currentStream) {
	feedType = "rtsp";
	var hostAddr = fmsServerIp + ":" + fmsServerPort;
	filePlayStatus = false;
	if(!currentStream) {
		return;
	}
	var rtspUrl = 'src=rtsp://' + vodServer + '/' + currentStream + ';servertype=ncube';
	if(stbTypeId == 7){
		var hasRequestedVersion = DetectFlashVer(10, 0, 0);
		if(!hasRequestedVersion) {
			document.getElementById("statusMessagePanel").innerHTML = 'get the flash player now on http://www.adobe.com/go/getflashplayer/';
			return;
		} 
		var fileName = currentStream;
		var file = fileName.substring(0, fileName.indexOf("."));
		var exten = fileName.substring(fileName.indexOf(".")+1, fileName.length).toUpperCase();
	
		if(exten == "JPEG" || exten == "JPG" || exten == "GIF" || exten == "PNG" || exten == "BMP" || exten == "EXE" || exten == "TIF" || exten == "ICO" || exten == "ZIP" || exten == "TXT" || exten == "DOC" || exten == "DOCX") {
			filePlayStatus = true;  
			showStatusPanel();
			document.getElementById("statusMessagePanel").innerHTML = records.key1623;
			return;
		} else {
			if (exten == "MP4" || exten == "MOV" || exten == "F4V" ) {
				fileName = "rtmp://"+ hostAddr +"/vod/mp4:" + fileName;
			} else {
				fileName = "rtmp://"+ hostAddr +"/vod/"+ file + ".flv";
			}	
//			document.getElementById("epgPlayer").innerHTML = "<object type='application/x-shockwave-flash' classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0' width='623' height='422' id='flvPlayer'>"
//					  												+ "<param name='bgcolor' value='#000000'/>"
//					  												+ "<param name='wmode' value='opaque'>"
//					  												+ "<param name='allowFullScreen' value='true'>"
//					  												+ "<param name='movie' value='./view/online/embed/swfs/player.swf?movie="+ fileName +"&amp;bgcolor=0x000000&fgcolor=0x6f6e6d&autoplay=true&autoload=true&autorewind=on&clickurl=&clicktarget='>"
//					  												+ "<embed src='./view/online/embed/swfs/player.swf?movie="+ fileName +"&amp;bgcolor=0x000000&fgcolor=0x6f6e6d&autoplay=true&autoload=true&autorewind=on&clickurl=&clicktarget=' width='623' height='422' wmode='opaque' bgcolor='#000000' scale='exactfit' allowFullScreen='true' type='application/x-shockwave-flash'>"
//					 												+ "</object>";
			fileName = file;
			
//			fileName = "jal";
//			if(statusInfo == 1 && document.getElementById("onNowPanelHome") != null)	{
//				document.getElementById("onNowPanelHome").style.visibility = "visible";
//			}
			document.getElementById("epgPlayer").innerHTML = 
//			"<object type='application/x-shockwave-flash' classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0' width='623' height='422' id='flvPlayer'>"
//					  												+ "<param name='bgcolor' value='#000000'/>"
//					  												+ "<param name='wmode' value='opaque'>"
//					  												+ "<param name='allowFullScreen' value='true'>"
//					  												+ "<param name='movie' value='http://akeebo.tv/view/online/embed/swfs/player.swf?movie="+ fileName +"&amp;bgcolor=0x000000&fgcolor=0x6f6e6d&autoplay=true&autoload=true&autorewind=on&clickurl=&clicktarget='>"
//					  												+ "<embed src='http://akeebo.tv/view/online/embed/swfs/player.swf?movie="+ fileName +"&amp;bgcolor=0x000000&fgcolor=0x6f6e6d&autoplay=true&autoload=true&autorewind=on&clickurl=&clicktarget=' width='623' height='422' wmode='opaque' bgcolor='#000000' scale='exactfit' allowFullScreen='true' type='application/x-shockwave-flash'>"
//					 												+ "</object>";
					 												'<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="624" height="422" id="mediacasterstreammanagerLive" align="middle">'
																	+ '<param name="allowScriptAccess" value="sameDomain" />'
																	+ '<param name="allowFullScreen" value="true" />'
																	+ '<param name="movie" value="/view/tv/flash/vodTvPlayer.swf" />'
																	+ '<param name="quality" value="high" />'
																	+ '<param name="bgcolor" value="#000000" />'
																	+ '<param name="wmode" value="opaque">'
																	+ '<param name="FlashVars" value="streamName='+ fileName +'&ip='+ hostAddr +'" />'
																	+ '<embed src="/view/tv/flash/vodTvPlayer.swf" FlashVars="streamName='+ fileName +'&ip='+ hostAddr +'" wmode="opaque" quality="high" bgcolor="#000000" width="624" height="422" name="mediacasterstreammanagerLive" align="middle" allowScriptAccess="sameDomain" allowFullScreen="true" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />'
																+ '</object>';
			filePlayStatus = true;					 												
			if(document.getElementById("epgPlayer") != null) {
				document.getElementById("epgPlayer").className = "epgPlayer";
			}		
			if(stbTypeId == 7) {
				document.getElementById("homePanelImage").style.visibility = "visible";
			} 
			document.getElementById("waitPanel").style.backgroundImage="none";
		} 
	} else {
		document.getElementById("waitPanel").style.backgroundImage="none";
		filePlayStatus = true;
		playStream(rtspUrl);
	}
//	document.getElementById("layer57").style.display = "none";
}





