﻿
function changeSingleChannel(objSel)
{
	objSel.blur();

	if (objSel.selectedIndex === 0) 
	{
	    disableTabs(false,true);
		iCurrentTab = -1;
		iLastGenreValue = -1;
		tabClick(null,0);
		return;
	}
	
	var tmp2 = objSel.options[objSel.selectedIndex].value;
	var tmp = tmp2.split("_");
	
	var optTxt = objSel.options[objSel.selectedIndex].text;
		
    if(optionDontUseGoButton)
    {     	
		if(tmp.length==2)
		{
			optTxt = optTxt.replace((" " + tmp[1]),"");
			scl(tmp[1], parseInt(tmp[0],10), optTxt);
		}
		else
		{
			scl("", parseInt(tmp2,10), optTxt);
		}
	}
	else
	{
		if(tmp.length==2)
		{
			iSingleSourceID = parseInt(tmp[0],10);
			SingleSourceChannel = tmp[1];
			SingleSourceLetters = optTxt.replace((" " + tmp[1]),"");
			SingleSourceIDString = iSingleSourceID + "_" + SingleSourceChannel;	
		}
		else
		{
			iSingleSourceID = parseInt(tmp2,10);
			SingleSourceChannel = "";
			SingleSourceIDString = iSingleSourceID;	
			SingleSourceLetters = optTxt;
		}			
	}
}

function getChannelSelector()
{
	var objSelect = document.getElementById("timeSelect");
	if(objSelect===null)
	{
		return;
	}
	
	var objDateSel = document.getElementById("dateSelect");
	objDateSel.style.display = "none";

	// clear existing options
    objSelect.options.length = 0;
    
    // first option is ALL channels
    var tmpOpt = new Option("All Channels", "", false, false);
    objSelect.options[objSelect.length] = tmpOpt;
	
	// grab the data
    var data = objGridData[1];	
	
	// walk the data and add channels
	for(var i=0; i<data.length; i++)
	{
		// data is CALL_LETTERS\bCHAN_NUM\bSOURCE_ID
		var one = data[i].split("\b");

		// build SRCID_CHNUM
		var tmp = one[2];
		if(one[1].length>0)
		{ 
			tmp += "_" + one[1]; 
		}
		
		// check for selected and add to options list
		tmpOpt = new Option(one[0] + " " + one[1], tmp, false, false);
		if(tmp==SingleSourceIDString) { tmpOpt.selected = true; }		
		objSelect.options[objSelect.length] = tmpOpt;
		
	}

	objSelect.onchange = function(){changeSingleChannel(this);};
}

function fillSingleChannelTimebar() 
{
	getChannelSelector();

    var txt = "";
    var data = objGridData[0];
    var tb = data[10].split("|");
    
	var iScGridWidthPx = iGridWidthPixels - iChannelWidthPx - 20;
    
    txt += "<table cellpadding='0' cellspacing='0' width='100%' style='border-bottom:solid 1px #dddddd;'><tr>";
    txt += "<td style='width:"+iChannelWidthPx+"px;height:24px;background-color:#DDDDCC;vertical-align:middle;'><input type='button' value='FULL GRID' style='width:"+iChannelWidthPx+"px;font-size:11px;font-weight:bold;color:#CC0000;' onclick='javascript:reloadGrid()'><\/td>";
    txt += "<td style='width:"+iScGridWidthPx+"px;height:24px;background-color:#DDDDCC;color:#000000;font-weight:bold;text-align:left;vertical-align:middle;'>&nbsp;Daily programming on <font style='color:#cc0000;'>" + SingleSourceLetters + " " + SingleSourceChannel + "</font> for&nbsp;&nbsp;" + tb[0] + "&nbsp;&nbsp;thru&nbsp;&nbsp;" + tb[(iSingleSourceDays-1)] + "<\/td>";
    txt += "<\/tr><\/table>"; 
    
	var tbdv = document.getElementById("timebarDiv");    
	if(tbdv) { tbdv.innerHTML = txt; }
}

function drawSingleChannelGrid()
{	
    var theGridDiv = document.getElementById("gridDiv");
    var data = objGridData[0];
    var tb = data[10].split("|");
	var txt = "";
	
    iGridAds = 0;
    sclScrollCount = 0;
    sclScrollTarget = 0;
                
    for(var i=0; i<iSingleSourceDays; i++)
    {
		txt += "<table cellpadding='0' cellspacing='0' width='100%'><tr>";
		txt += "<td style='height:20px;color:#FFFFFF;background-color:#878878;text-align:center;vertical-align:middle;border-bottom: solid 1px #DDDDDD; font-size:11px; font-weight:bold;'>" + tb[i] + "<\/td>";
		txt += "<\/tr><\/table>";
		sclScrollCount += 20;
		if(isIE){sclScrollCount++;}
		txt += getSingleChannelCell(i);
	}
	
    // disableTabs(true,false);
            
    // place generated HTML into the gridDiv
    theGridDiv.innerHTML = txt;
    
	fillSingleChannelTimebar();   

	// Add the "days" and "srcid" parameters
    if(!boolIgnorePrefs)
    {
		var lg = readCookie("LastGrid");
		
		// remove old values
		lg = lg.replace(/\&srcid=\d+/gi,"");
		lg = lg.replace(/\&days=\d+/gi,"");
		
		// add new values
		lg += "&days="+iSingleSourceDays+"&srcid=" + iSingleSourceID;
		
        setCookie("LastGrid", lg, 0);
    }
    // update the print link
    var prlnk = document.getElementById("printlinkv2");
	prlnk.style.display = 'none';
    
    //if(prlnk!=null){prlnk.href = "/print/listings.ashx?type=single"; prlnk.onclick=new Function("pdfPrintOmni('single')"); }

	// count the pageview    
	if(bCountTabsAsPageViews) { countListingsView(); }
    
    //
    // wait 2 seconds then draw ad calls
    //
    // wait 2 seconds then draw ad calls
    if(bEnableDelayedAds) {
		try { setTimeout("refreshAllAdsEx(true)", (iDelayedAdSeconds * 1000)); }
		catch(e) { setTimeout("refreshAllAdsEx(true)", (2 * 1000));  }
    } else {
		setTimeout("drawAdCalls(5)",1000);  
	}
      
    theGridDiv.scrollTop = sclScrollTarget;
}

function scl(chno, srcid, ltrs)
{
	iSingleSourceID = srcid;
	SingleSourceLetters = ltrs;
	SingleSourceChannel = chno;	
	SingleSourceIDString = iSingleSourceID;
	if(SingleSourceChannel.length>0)
	{
		SingleSourceIDString += "_" + SingleSourceChannel;
	}
    disableTabs(true,false);
	loadSingleChannel();
}

function getSingleChannelCell(dayidx)
{
    var txt = "";
    txt += "<table cellpadding='0' cellspacing='0' style='width:100%'>";
    
    var iFirstDataRow = 2;
    
    // reset grid ad count
    iRowCount = 0;

    var data = objGridData[0];
    var tb = data[10].split("|");    
    
    var tbDateStr = tb[dayidx];
    tbDateStr = tbDateStr.replace(/\d+$/,"");
    
    var iScGridWidthPx = iGridWidthPixels - iChannelWidthPx - 20;

    for(var n=iFirstDataRow; n<objGridData.length; n++)
    {
    	var objOneRow = objGridData[n];
    	
    	if(objOneRow[colSortOrder]==dayidx)
		{
			// use block count
			var pl = objOneRow[colDuration];
			
			var ab = getProgramCellClass(objOneRow).split('\t');
			var bShowProgram = (ab[0]!==0);
			var strClassName = ab[1];
	        
			var strProgramLink = "f3(" + n + "," + n + ")";
			
			var iAdFreq = iInGridAdFrequency;
			if(bHDTVOnlyFilter) { iAdFreq = 10; }
			
			if((GridAds)&&(iGridAds<MaxGridAds))
			{
				if (((iRowCount-iFirstGridAdRow) > 0) && ((iRowCount-iFirstGridAdRow) % iAdFreq === 0) || ((iRowCount==iFirstGridAdRow)&&(iGridAds===0)))
				{
					var strAdID = "adframe_"  + iGridAds + "_mid_banner";
					txt += "<tr class='gridAdRow'><td colspan='2' style='height:100px; padding:5px 0px 5px 5px; background-color: #DCDDCB; border-left: solid 1px #DCDDCB; text-align:left;'>";      
					if(bEnableDelayedAds) {
						txt += "<iframe id='"+strAdID+"' frameborder='no' scrolling='no' style='width:728px; height:90px; border: none;'><\/iframe>";
						frameArray.push(strAdID);
					} else {
						txt += "<iframe id='inGridAdCell" + iGridAds + "' frameborder='no' scrolling='no' style='width:728px; height:90px; border: none;'><\/iframe>";
					}
					txt += "<\/td><\/tr>";
					sclScrollCount += 100;  
					if(isIE){sclScrollCount++;}					             
					iGridAds++; 
					// if((figIndex<0)&&(figRow<0)) { figOffsetFudge += 100; }
				}
			}
			
			
			// open the row
			txt += "<tr>";
			
			if(n==iFirstDataRow)
			{
				// top row gets slightly different html
	            txt += "<td style='width:"+iChannelWidthPx+"px;height:"+iGridRowHeight+"px; background-color:#878878; border-bottom: solid 1px #DDDDDD; vertical-align:top; text-align:left; font-size:11px; color:#FFFFFF; font-weight:bold; border-top: solid 1px #DDDDDD;'>&nbsp;12:00am<br>&nbsp;"+tbDateStr+"<\/td>";
				txt += "<td id='q"+n+"' onclick='"+strProgramLink+"' class='"+strClassName+"' style='width:"+iScGridWidthPx+"px;height:"+iGridRowHeight+"px; overflow:hidden; border-bottom: solid 1px #DDDDDD; border-right: solid 1px #DDDDDD; vertical-align:top; text-align:left; font-size:11px; color:#000000; border-top: solid 1px #DDDDDD;'>";
			}
			else
			{
				// do normal rows
	            txt += "<td style='width:"+iChannelWidthPx+"px;height:"+iGridRowHeight+"px; background-color:#878878; border-bottom: solid 1px #DDDDDD; vertical-align:top; text-align:left; font-size:11px; color:#FFFFFF; font-weight:bold;'>&nbsp;"+formatTime(getDateFromParam(objOneRow[colStartTime]))+"<br>&nbsp;"+tbDateStr+"<\/td>";
				txt += "<td id='q"+n+"' onclick='"+strProgramLink+"' class='"+strClassName+"' style='width:"+iScGridWidthPx+"px;height:"+iGridRowHeight+"px; overflow:hidden; border-bottom: solid 1px #DDDDDD; border-right: solid 1px #DDDDDD; vertical-align:top; text-align:left; font-size:11px; color:#000000;'>";
			}
	        
	        txt += "<div style='padding: 0px 0px 0px 2px;'>";
			txt += getProgramCellText(objOneRow);
			txt += "</div><\/td><\/tr>";
			
			// check program time against selected time to setup initial scroll position			
			var dtProgramEnd = getDateFromParam(objOneRow[colStartTime]);
			var dtCurrentView = new Date(paramGridYear,paramGridMonth-1,paramGridDay,paramGridHour,paramGridMinute,0);
			
			dtProgramEnd.setTime( dtProgramEnd.getTime() + (objOneRow[colDuration]*60000) );
						
			sclScrollCount += iGridRowHeight;
			if(isIE){sclScrollCount++;}
			if(dtProgramEnd.getTime()<dtCurrentView.getTime())
			{
				sclScrollTarget = sclScrollCount;
			}	
			
		
			// add the hidden row for the inline closeup			
			var trclass = "icuie";
			if((isFF)||(isSafari)) { trclass = "icuff"; }
			txt += "<tr class='" + trclass + "' id='icr" + n + "'><td colspan='2' class='icutd' id='icd" + n + "'></td></tr>";
			
			// increment row counter
			iRowCount++;     
		}  
	}

    txt += "<\/table>";
    return txt;
}


// this comment is necessary

