﻿
function setDateTimeSelect(dt)
{
    var objSelect = document.getElementById("dateSelect");
    var strSelection = "";
    if(objSelect)
    {
        strSelection = dt.getFullYear() + "," + (dt.getMonth()+1) + "," + dt.getDate();
        objSelect.value = strSelection;
    }	    

    objSelect = document.getElementById("timeSelect");
    if(objSelect)
    {
        strSelection = dt.getHours() + ":" ;
        strSelection += formatInt(dt.getMinutes(),2);
        objSelect.value = strSelection;    	    
    }
}




function useGridCache(nSID)
{
    for(var n=0; n<cachedProviders.length; n++)
    {
        if(nSID==cachedProviders[n])
        {
            return true;
        }
    }
    return false;
}

//
// gets current string in a listbox or returns the default
//
function getSelectListValue(strListName, boolDefault)
{
	var list = document.getElementById(strListName);
	if(list)
	{
		return list[list.selectedIndex].value;
	}
	return boolDefault;	
}

//
// gets select index of a listbox or -1
//
function getSelectListIndex(strListName)
{
	var list = document.getElementById(strListName);
	
	if(list)
	{
		return list.selectedIndex;
	}
	return -1;	
}

function readChannelsCookie()
{     
	//
	// get selected channels from cookie
	//
	rawChannelsCookie = readCookie(cookieSelectedChannels+iServiceID);
	if(rawChannelsCookie)
	{ 
	    arSelectedChannels = rawChannelsCookie.split("|");
	    if(arSelectedChannels.length>0)
	    {
	        return;
	    }
    }
    //
    // delete array
    //
    arSelectedChannels = null;
    
    //
    // reset filter flag
    //
    // if(bDebug){ alert('setting optionFavChannels to FALSE [01]'); }
    optionFavChannels = false;

    //
    // reset genre selector
    //
	objGenreSelect.selectedIndex = 0;
}

function getQueryParam(strQuery, strName)
{
    var u,i;
    u = strQuery + "";
    i = u.indexOf(strName+"=",0);
    if(i>=0)
    {
        i += strName.length+1;
        var n = u.indexOf('&',i);
        if(n>i)
        {
            return unescape(u.substring(i,n));
        }
        else if(i<u.length)
        {
            return unescape(u.substring(i));
        }
    }
    return "";
}

//
// returns true or false depending on whether channel is selected
//
function isSelectedChannel(iSrcID, strChannelNum)
{
	var n;
    var tmpSelChan = iSrcID + "_" + strChannelNum;
    
	if(forceOptionsCreate)
	{
	    if(arSelectedChannels)
	    {
	        for(n=0; n<arSelectedChannels.length; n++)
	        {
                // look for the NEW SourceID_ChannelNo
                var sc = arSelectedChannels[n].split('_');
                if(sc.length>1)
                {
                    // new cookie just compare whole string
                    if(tmpSelChan==arSelectedChannels[n])
                    {
                        return true;
                    }
                }
                else
                {
                    // old cookie - compare source id
                    if(iSrcID==arSelectedChannels[n])
                    {
                        return true;
                    }
                }            
	        }
	    }
	    return false;		
	}	
	else
	{
		var selList = objSelectedChannelsCombo;
	
		if(selList)
		{
			for(n=iLastFilterMatch; n<selList.length; n++)
			{
			    var str = selList.options[n].value;
			    var opt = str.split("|");
			    if (tmpSelChan == (opt[colSource] + "_" + opt[colNumber]))
				{
					// point to previous index to fix shared channels
					// ie - check the last value again just in case
				    iLastFilterMatch = n;
					return true;
				}
				// prevent over-comparing becuase order is guaranteed
				if( n >= parseInt(opt[colSort],10))
				{
					iLastFilterMatch = n;
					return false;
			    }
			}
			return false;
		}
		return false;
	}
}

function isSpecialRow(oRowData)
{
	switch(magicIDtype)
	{
		case 1:
			if(oRowData[colNetworkID]==magicSourceID){ return true; }
			break;
		default:
			if(oRowData[colSourceID]==magicSourceID){ return true; }
			break;	
    }
    return false;
}

function gotoMagicUrl() 
{
    window.open(magicLink);
}

function getDateStub(dt)
{
    return formatInt(dt.getMonth()+1,2) + '/' + formatInt(dt.getDate(),2);
}

//
// fixes a problem with encoded querys
//
function fixQueryString(qs)
{
    qs = qs.replace(/%3D/gi,"=");
    qs = qs.replace(/%26/gi,"&"); 
    return qs;  
}

function getBooleanInt(bool)
{
	if(bool){return 1;}
	return 0;
}

function intToBool(i)
{
	if(parseInt(i,10)!==0){return true;}
	return false;
}


function setSelectByValue(strID, strValue)
{
	var o = document.getElementById(strID);
	if(o)
	{
		for(var n=0; n<o.options.length; n++)
		{
			if(o.options[n].value==strValue)
			{
				o.selectedIndex = n;
				return;
			}
		}
	}
}

function setCheckbox(strID, bChecked)
{
	var o = document.getElementById(strID);
	if(o)
	{
		o.checked = bChecked;
	}
}


function formatInt(iValue,iDigits)
{
    iValue = '' + iValue;
    while(iValue.length<iDigits)
    {
        iValue = '0' + iValue;
    }
    return iValue;
}

function formatTime(dt)
{
	var hour = dt.getHours();
	var AmPm = "am";
	
	if(hour===0)
	{
		hour = 12;
	}
	else
	{
		if(hour>=12)
		{
			AmPm = "pm";
			if(hour>12)
			{
				hour -= 12;
			}
		}
	}
	var mins = formatInt(dt.getMinutes(),2);
	return hour + ":" + mins + AmPm;
}

function getDateFromParam(str)
{
	return new Date(parseInt(str.substring(0,4),10),parseInt(str.substring(4,6),10)-1,parseInt(str.substring(6,8),10),parseInt(str.substring(8,10),10),parseInt(str.substring(10,12),10),0); 	
}

//
// gets the value of a checkbox or radiobox
//
function isOptionChecked(strOptionName, boolDefault)
{
	var chkBox = document.getElementById(strOptionName);
	
	if(chkBox)
	{
		return chkBox.checked;
	}
	return boolDefault;
}


function isOptionsVisible()
{
    var optsDiv = document.getElementById("GridOptsDiv");
    if(optsDiv)
    {
        if(optsDiv.style.display != "none") {
            return true;
        }
    }
    optsDiv = document.getElementById("FavChansDiv");
    if (optsDiv) {
        if (optsDiv.style.display != "none") {
            return true;
        }
    }
    return false;
}

function disableSelect(obj)
{
    if (typeof obj.onselectstart!="undefined") 
    {
        // Internet Explorer
	    obj.onselectstart=function(){return false;};  
    }
    else if (typeof obj.style.MozUserSelect!="undefined") 
    {
        // Firefox
	    obj.style.MozUserSelect="none";
	}
}


function getFranchiseCheckinDiv()
{
	if(typeof(franchiseCheckin)=="undefined") { return ""; }
	var strChkIn = "";
	if(franchiseCheckin!==null)
	{
		if(franchiseCheckin.ProgramID>0)
		{
			strChkIn = "<div style='float:left; height:21px; overflow:hidden; padding: 2px 0px 0px 0px; margin:0px 0px 0px 0px; border:none;'>";
			strChkIn += "<div class='ch-b-w tvo-" + franchiseCheckin.ObjectID + " epprog-" + franchiseCheckin.ProgramID;
			strChkIn += "' data-checkintype='" + getCheckinType(franchiseCheckin.CategoyID, franchiseCheckin.SeriesID, franchiseCheckin.SportsNonEvent);
			strChkIn += "' data-sourcetype='2' franchiserow='1' id='franchise-row' style='display:inline; padding:0px 0px 0px 0px;' data-image='small'>";
			strChkIn += "<span class='ch-b-t' style='display:none;'>";
			strChkIn += franchiseCheckin.ProgramTitle + "~" + franchiseCheckin.EpisodeTitle + "~" + franchiseCheckin.ObjectUrl + "~" + franchiseCheckin.CallLetters + "~";
			strChkIn += modifyShareDate(getDateFromParam(franchiseCheckin.StartTime)) + "~" + franchiseCheckin.BadgeUrl;
			strChkIn += "</span>";
			strChkIn += "</div>";
			strChkIn += "</div>";
		}
		// alert(strChkIn);
	}
	return strChkIn;
}   


// this comment is necessary


