function tvgAjaxPreback(id)
{
switch (id)
    {
	case 'tvgShowDetails':
    tvgShowLightBox('tvgShowDetailsWrapper');
    break;	
		
    case 'tvgListingCompHidden':
    tvgPrepareScrolling('tvgListingComp');
	tvgHideLightBox();
    break;
	
	case 'tvgListingComp':
	tvgHideLightBox();
    break;
    default:
    break;
    }
}
function tvgAjaxCallback(id)
    {
		switch (id)
        {
			
		case 'tvgDetailsCatchup':
		tvgClearParameter("tvgClipsPerPage");
		break;
		
		
        case 'tvgListingCompHidden':
        tvgImplementScrolling('tvgListingComp');
		       
        case 'tvgListingComp':
		tvgPreLoadLinks("tvg_listings_nav_next");	
		tvgClose('tvgShowDetailsWrapper');
        tvgClose('tvgSearchWrapper');
		
        break;
	
        
        case 'tvgShowDetails':
        var wrapper = document.getElementById('tvgShowDetailsWrapper');
        var box = document.getElementById('tvgDescription');
        wrapper.style.display='none';
        wrapper.style.display='block';
		
		
        if (box.style.visibility == 'visible')

        {

            wrapper.style.left = "170px";

            wrapper.style.top = "110px";

            box.style.zIndex=-1;

            }
		
		if (document.getElementById('tvg_remind_me_form') == null)
            { 
            document.getElementById('tvgReminder').style.display='block';
            }
        else
        	{ 
            document.getElementById('tvgReminder').style.display='none';
            }
       
          
		//position the details box...

            
		var popup_offset = tvgGetOffset(wrapper); 

		var popup_position = (wrapper.style.top = (document.all? ((document.compatMode && document.compatMode != "BackCompat")? document.documentElement : document.body).scrollTop  : pageYOffset - popup_offset[1] + 200) );
		
		if  (popup_position < 110)
			{
			wrapper.style.top = 110 + "px";
			}
		else
			{
			wrapper.style.top = popup_position + "px";
			}
		tvgLinkTo('clips', 'tvgDetailsCatchup', '', '?tvgEpisodeID=&tvgVideoSearchBroadcaster=OnlineTV&tvgClipsPerPage=4');
		
		tvgShowPopUpMPU();

        break;

        case 'tvgSearchDiv':
        document.getElementById('tvgSearchWrapper').style.display='block';
        tvgClose('tvgShowDetailsWrapper');
		if (document.getElementById('genres') != undefined)
		{
		document.getElementById('genres').style.display='none';
		}
		if (document.getElementById('tvg_listings_nav_days') != undefined)
		{
		document.getElementById('tvg_listings_nav_days').style.display='none';
		}
		if (document.getElementById('tvg_listings_24_select') != undefined)
		{
		document.getElementById('tvg_listings_24_select').style.display='none';
		}
		tvgClose('tvgShowDetailsWrapper');
        break;
		
	
        }
    }
    
function tvgClose(div)
{
	
	var el = document.getElementById(div);
    
    if (el.style.display != 'none')
        {

       el.style.display='none';
	
		if (div == 'tvgSearchWrapper')
			{
			tvgClearParameter("tvgPageNumber");		
			tvgClearParameter("tvgSearchPhrase");
			document.getElementById('genres').style.display='block';	
			document.getElementById('tvg_listings_nav_days').style.display='block';
			document.getElementById('tvg_listings_24_select').style.display='block';
			}
		if (div == 'tvgShowDetails')
			{
			document.getElementById('tvgDescription').style.zIndex=1;
			tvgClearParameter("tvgSearchPhrase");
			}
		  if (div == 'tvgShowDetailsWrapper')
	
			{
			tvgHideLightBox();
			document.getElementById('tvgDescription').style.zIndex=1;
			tvgClearParameter("tvgShowID");
			tvgClearParameter("tvgEpisodeID");
			}
			
		}
}



function tvgSearchKeyDown(e)
{
if (e.keyCode == 13)
            {
            tvgDoSearch();
            }
 }
  

function tvgDoSearch()
{
if (tvgVerifySearch('tvgSearchBox'))
    {
	tvgLinkTo('search', '', '../search/', '?tvgPageNumber=1&tvgEpisodeID=&tvgShowID=&tvgSearchPhrase=' + encodeURIComponent( document.getElementById('tvgSearchBox').value) );
	}
}  


function tvgSetCategory(cat)
{
	tvgSetCookie('tvgIgnoreFavouriteChannels', 'Yes');
	tvgLinkTo('listingcomp', 'tvgListingComp', '', '?tvgListingsCategory=' + cat + '&tvgScroll=');
	return false;
}

function createLink(date, channelName, linkName)
{
var link = document.createElement('a');
link.setAttribute('href','?tvgSearchPhrase=' + date + '+' + channelName);
link.appendChild(document.createTextNode(linkName));
return link;
}

function tvgLoadSite()
{
var tvg_ajax_qs = tvgGetQueryString();
tvgLoadComponent (tvg_ajax_qs + "&name=search", "");
tvgLoadComponent (tvg_ajax_qs + "&name=search_nav", "tvgSearchNav");
}

function tvgSetSearchOnline()
{
tvgTVSearchURL="../watch-tv-online/";
}


function tvgShowLightBox(id)
{
var el = document.getElementById('lightbox');
var parent = document.getElementById(id);
    
if (el == undefined && parent != undefined)
    {
    el = document.createElement('div');
    el.id = "lightbox";
    
    parent.parentNode.insertBefore(el, parent);
    }

tvgHideAll('iframe');
tvgHideAll('select');

}

function tvgHideLightBox()
{
var el = document.getElementById('lightbox');
if (el != undefined)
    {
    el.parentNode.removeChild(el);
    }

tvgShowAll('iframe');
tvgShowAll('select');

}


function tvgHideAll( tag)
{
var els = document.getElementsByTagName(tag);
for (var i = 0; i < els.length; i++)
    {
    if (els[i].visibility_old == null)
        {
        if (els[i].style.visibility != null)
            {
            els[i].visibility_old = els[i].style.visibility;
            }
        else
            {
            els[i].visibility_old = 'visible';
            }
        }

    els[i].style.visibility = 'hidden';
    }
}

function tvgShowAll( tag)
{
var els = document.getElementsByTagName(tag);
for (var i = 0; i < els.length; i++)
    {
    if (els[i].visibility_old != null)
        {
        els[i].style.visibility = els[i].visibility_old;
        }
    else
        {
        els[i].style.visibility = 'visible';
        }
    }
}



function tvgDoLogin()
{
var screenName = AOL.sns.screenname;
var contact = tvgGetCookie("tvgContact", "");

if (screenName != contact)
{
//need to refresh the page...
    if (screenName =="")
        {
        //need to log out
        tvgSetCookie("tvgContact", "");
        }
    else
        {
        tvgSetCookie("tvgContact", screenName);
        tvgSetCookie("tvgPasswordHash", hex_md5( screenName + '218ef').toUpperCase().substr(0,12));
        }
        
    location.reload();
}


}

tvgAjaxProxy='/ajaxproxy/';
tvgAjaxProxyParameters= '';



/*
 * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message
 * Digest Algorithm, as defined in RFC 1321.
 * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009
 * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
 * Distributed under the BSD License
 * See http://pajhome.org.uk/crypt/md5 for more info.
 */
var hexcase=0;function hex_md5(a){return rstr2hex(rstr_md5(str2rstr_utf8(a)))}function hex_hmac_md5(a,b){return rstr2hex(rstr_hmac_md5(str2rstr_utf8(a),str2rstr_utf8(b)))}function md5_vm_test(){return hex_md5("abc").toLowerCase()=="900150983cd24fb0d6963f7d28e17f72"}function rstr_md5(a){return binl2rstr(binl_md5(rstr2binl(a),a.length*8))}function rstr_hmac_md5(c,f){var e=rstr2binl(c);if(e.length>16){e=binl_md5(e,c.length*8)}var a=Array(16),d=Array(16);for(var b=0;b<16;b++){a[b]=e[b]^909522486;d[b]=e[b]^1549556828}var g=binl_md5(a.concat(rstr2binl(f)),512+f.length*8);return binl2rstr(binl_md5(d.concat(g),512+128))}function rstr2hex(c){try{hexcase}catch(g){hexcase=0}var f=hexcase?"0123456789ABCDEF":"0123456789abcdef";var b="";var a;for(var d=0;d<c.length;d++){a=c.charCodeAt(d);b+=f.charAt((a>>>4)&15)+f.charAt(a&15)}return b}function str2rstr_utf8(c){var b="";var d=-1;var a,e;while(++d<c.length){a=c.charCodeAt(d);e=d+1<c.length?c.charCodeAt(d+1):0;if(55296<=a&&a<=56319&&56320<=e&&e<=57343){a=65536+((a&1023)<<10)+(e&1023);d++}if(a<=127){b+=String.fromCharCode(a)}else{if(a<=2047){b+=String.fromCharCode(192|((a>>>6)&31),128|(a&63))}else{if(a<=65535){b+=String.fromCharCode(224|((a>>>12)&15),128|((a>>>6)&63),128|(a&63))}else{if(a<=2097151){b+=String.fromCharCode(240|((a>>>18)&7),128|((a>>>12)&63),128|((a>>>6)&63),128|(a&63))}}}}}return b}function rstr2binl(b){var a=Array(b.length>>2);for(var c=0;c<a.length;c++){a[c]=0}for(var c=0;c<b.length*8;c+=8){a[c>>5]|=(b.charCodeAt(c/8)&255)<<(c%32)}return a}function binl2rstr(b){var a="";for(var c=0;c<b.length*32;c+=8){a+=String.fromCharCode((b[c>>5]>>>(c%32))&255)}return a}function binl_md5(p,k){p[k>>5]|=128<<((k)%32);p[(((k+64)>>>9)<<4)+14]=k;var o=1732584193;var n=-271733879;var m=-1732584194;var l=271733878;for(var g=0;g<p.length;g+=16){var j=o;var h=n;var f=m;var e=l;o=md5_ff(o,n,m,l,p[g+0],7,-680876936);l=md5_ff(l,o,n,m,p[g+1],12,-389564586);m=md5_ff(m,l,o,n,p[g+2],17,606105819);n=md5_ff(n,m,l,o,p[g+3],22,-1044525330);o=md5_ff(o,n,m,l,p[g+4],7,-176418897);l=md5_ff(l,o,n,m,p[g+5],12,1200080426);m=md5_ff(m,l,o,n,p[g+6],17,-1473231341);n=md5_ff(n,m,l,o,p[g+7],22,-45705983);o=md5_ff(o,n,m,l,p[g+8],7,1770035416);l=md5_ff(l,o,n,m,p[g+9],12,-1958414417);m=md5_ff(m,l,o,n,p[g+10],17,-42063);n=md5_ff(n,m,l,o,p[g+11],22,-1990404162);o=md5_ff(o,n,m,l,p[g+12],7,1804603682);l=md5_ff(l,o,n,m,p[g+13],12,-40341101);m=md5_ff(m,l,o,n,p[g+14],17,-1502002290);n=md5_ff(n,m,l,o,p[g+15],22,1236535329);o=md5_gg(o,n,m,l,p[g+1],5,-165796510);l=md5_gg(l,o,n,m,p[g+6],9,-1069501632);m=md5_gg(m,l,o,n,p[g+11],14,643717713);n=md5_gg(n,m,l,o,p[g+0],20,-373897302);o=md5_gg(o,n,m,l,p[g+5],5,-701558691);l=md5_gg(l,o,n,m,p[g+10],9,38016083);m=md5_gg(m,l,o,n,p[g+15],14,-660478335);n=md5_gg(n,m,l,o,p[g+4],20,-405537848);o=md5_gg(o,n,m,l,p[g+9],5,568446438);l=md5_gg(l,o,n,m,p[g+14],9,-1019803690);m=md5_gg(m,l,o,n,p[g+3],14,-187363961);n=md5_gg(n,m,l,o,p[g+8],20,1163531501);o=md5_gg(o,n,m,l,p[g+13],5,-1444681467);l=md5_gg(l,o,n,m,p[g+2],9,-51403784);m=md5_gg(m,l,o,n,p[g+7],14,1735328473);n=md5_gg(n,m,l,o,p[g+12],20,-1926607734);o=md5_hh(o,n,m,l,p[g+5],4,-378558);l=md5_hh(l,o,n,m,p[g+8],11,-2022574463);m=md5_hh(m,l,o,n,p[g+11],16,1839030562);n=md5_hh(n,m,l,o,p[g+14],23,-35309556);o=md5_hh(o,n,m,l,p[g+1],4,-1530992060);l=md5_hh(l,o,n,m,p[g+4],11,1272893353);m=md5_hh(m,l,o,n,p[g+7],16,-155497632);n=md5_hh(n,m,l,o,p[g+10],23,-1094730640);o=md5_hh(o,n,m,l,p[g+13],4,681279174);l=md5_hh(l,o,n,m,p[g+0],11,-358537222);m=md5_hh(m,l,o,n,p[g+3],16,-722521979);n=md5_hh(n,m,l,o,p[g+6],23,76029189);o=md5_hh(o,n,m,l,p[g+9],4,-640364487);l=md5_hh(l,o,n,m,p[g+12],11,-421815835);m=md5_hh(m,l,o,n,p[g+15],16,530742520);n=md5_hh(n,m,l,o,p[g+2],23,-995338651);o=md5_ii(o,n,m,l,p[g+0],6,-198630844);l=md5_ii(l,o,n,m,p[g+7],10,1126891415);m=md5_ii(m,l,o,n,p[g+14],15,-1416354905);n=md5_ii(n,m,l,o,p[g+5],21,-57434055);o=md5_ii(o,n,m,l,p[g+12],6,1700485571);l=md5_ii(l,o,n,m,p[g+3],10,-1894986606);m=md5_ii(m,l,o,n,p[g+10],15,-1051523);n=md5_ii(n,m,l,o,p[g+1],21,-2054922799);o=md5_ii(o,n,m,l,p[g+8],6,1873313359);l=md5_ii(l,o,n,m,p[g+15],10,-30611744);m=md5_ii(m,l,o,n,p[g+6],15,-1560198380);n=md5_ii(n,m,l,o,p[g+13],21,1309151649);o=md5_ii(o,n,m,l,p[g+4],6,-145523070);l=md5_ii(l,o,n,m,p[g+11],10,-1120210379);m=md5_ii(m,l,o,n,p[g+2],15,718787259);n=md5_ii(n,m,l,o,p[g+9],21,-343485551);o=safe_add(o,j);n=safe_add(n,h);m=safe_add(m,f);l=safe_add(l,e)}return Array(o,n,m,l)}function md5_cmn(h,e,d,c,g,f){return safe_add(bit_rol(safe_add(safe_add(e,h),safe_add(c,f)),g),d)}function md5_ff(g,f,k,j,e,i,h){return md5_cmn((f&k)|((~f)&j),g,f,e,i,h)}function md5_gg(g,f,k,j,e,i,h){return md5_cmn((f&j)|(k&(~j)),g,f,e,i,h)}function md5_hh(g,f,k,j,e,i,h){return md5_cmn(f^k^j,g,f,e,i,h)}function md5_ii(g,f,k,j,e,i,h){return md5_cmn(k^(f|(~j)),g,f,e,i,h)}function safe_add(a,d){var c=(a&65535)+(d&65535);var b=(a>>16)+(d>>16)+(c>>16);return(b<<16)|(c&65535)}function bit_rol(a,b){return(a<<b)|(a>>>(32-b))};