
var xmlHttp;
var xmlHttpTrack;
var xmlHttpLogin;
var xmlHttpSchedule;
var current_slot;
var current_id;
var current_noautostart;
var addthis_url_override;
var addthis_title_override;
var noautostart_override;

// for image swapping
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}


function stristr( haystack, needle, bool ) {
    var pos = 0;

    haystack += '';
    pos = haystack.toLowerCase().indexOf( (needle+'').toLowerCase() );
    if( pos == -1 ){
        return false;
    } else{
        if( bool ){
            return haystack.substr( 0, pos );
        } else{
            return haystack.slice( pos );
        }
    }
}

function loadScreen(id, slot, noautostart)
{
  noautostart_override = noautostart;
  current_slot = slot; 
  current_id = id;
  current_noautostart = noautostart;
  xmlHttp = GetXmlHttpObject();
  if(xmlHttp==null) { alert('Your browser does not support AJAX.'); return; }
 
  var url='/module/setup.php';
  url=url+'?ajax=1&item_id=' + id;
  xmlHttp.onreadystatechange=stateChanged;
  xmlHttp.open("GET",url,true);
  xmlHttp.send(null);
}

function trackClick(id)
{
  xmlHttpTrack = GetXmlHttpObject();
  if(xmlHttpTrack==null) { alert('Your browser does not support AJAX.'); return; }
 
  var url='/module/setup.php';
  url = url+'?track=1&item_id=' + id;
  xmlHttpTrack.onreadystatechange = donothing;
  xmlHttpTrack.open("GET", url, true);
  xmlHttpTrack.send(null);
}

function donothing() {

}

function openFullScreen(url) {
	window.open(url, '', 'fullscreen=yes, menubar=no,status=no, toolbar=no, location=no,scrollbars=auto');
}

function stateChanged()
{
  if (xmlHttp.readyState==4){
	var response = xmlHttp.responseText;
	var dataObject = eval("(" + response + ")");
	var screenContent = '';
	var uiMode = 'mini';
	var item_url_link = document.getElementById('a_l_' + current_slot).href;
	var autostart1 = 1;
	var autostart2 = 'true';
	
	if (noautostart_override) {
		autostart1 = 0;
		autostart2 = 'false';
	}

	// this stuff is for resetting the mouseover settings for the item icons
	for (i = 0 ; i < 10; i++) {
		var playb = 'btn_play' + i;
		if (document.getElementById(playb)) {
			document.getElementById(playb).src = dataObject['cdn'] + '/images/btn_play.gif';
			document.getElementById(playb).oSrc = dataObject['cdn'] + '/images/btn_play.gif';
		}
	}
	document.getElementById('btn_play' + current_slot).src = dataObject['cdn'] + '/images/icon_playing.gif';
	document.getElementById('btn_play' + current_slot).oSrc = dataObject['cdn'] + '/images/icon_playing.gif';
	document.getElementById('sinopsis_title').innerHTML = dataObject['feed_name'];
	if (dataObject['website_url']) {
		document.getElementById('sinopsis_website_url').style.display = '';
		document.getElementById('sinopsis_website_url').innerHTML = dataObject['website_url'];
	} else {
		document.getElementById('sinopsis_website_url').style.display = 'none';
	}
	document.getElementById('sinopsis_subtitle').innerHTML = dataObject['item_title'];
	document.getElementById('sinopsis_text').innerHTML = dataObject['item_description'].substring(0,70) + ' ...';
	document.title = dataObject['item_title'] + " - miiTV It's TV Made For You";	
	if (dataObject['feed_html']) {
		document.getElementById('chat').innerHTML = dataObject['feed_html'].substring(0,2000);
	}

	if (dataObject['is_radio'] == 1) {
		uiMode = 'invisible';		
	}

	// section for updating the screen video div
	if (dataObject['is_wmv_feed'] == 1) {
		screenContent = 
		       "<object id='MediaPlayer' width='464' height='346' classid='CLSID:6BF52A52-394A-11D3-B153-00C04F79FAA6' standby='Loading ...' type='application/x-mplayer2' codebase='http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,7,1112'><param name='windowlessvideo' value='true' /><param name='wmode' value='transparent'><param name='uimode' value='" + uiMode + "'><param name='url' value='" + dataObject['item_player'] + "' /><param name='ShowControls' value='true' /><param name='stretchtofit' value='true'><param name='ShowStatusBar' value='true' /><param name='ShowDisplay' value='false' /><param name='enabled' value='false' /><param name='autostart' value='" + autostart2 + "' /><embed type='application/x-mplayer2' src='" + dataObject['item_player'] + "' name='MediaPlayer' width='464' height='346' bgcolor='#000000' quality='high' showcontrols='1' showstatusbar='1' showdisplay='0' autostart='" + autostart1  + "' wmode='transparent' stretchtofit='1' uimode='" + uiMode + "'></embed></object>";

	} else if (dataObject['is_youtube'] == 1) {
		dataObject['item_player'] = dataObject['item_player'].replace('.swf','');
		screenContent = "<embed id='MediaPlayer' src='" + dataObject['item_player'] + "&hl=en&fs=1&rel=0&showsearch=0&autoplay=" + autostart1 + "' width='464' height='346' wmode='transparent' type='application/x-shockwave-flash' allowscriptaccess='always' allowfullscreen='true'></embed>";
	} else {
		screenContent = "<object id='MediaPlayer' width='464' height='346'><param name='allowFullScreen' value='true'><param name='movie' value='" + dataObject['item_player'] + "'></param><embed src='" + dataObject['item_player'] + "' wmode='transparent' width='464' height='346' type='application/x-shockwave-flash' allowfullscreen='true'></embed></object>";
	}

	// try to do static miitv overlay image for radio items
	if (dataObject['is_radio'] == 1) {
		screenContent = screenContent + "<div id='screen_in_overlay'><img width='464' height='346' src='"+ dataObject['radio_image_path'] +"' /></div>";
	}
	
	// and send wonderful google some ga tracking
	ajax_ga(item_url_link);
	
	// set addthis url override
	addthis_url_override = item_url_link;
	addthis_title_override = dataObject['item_title'];
	
	if (dataObject['require_login'] == 1) {
		screenContent = getLogin(0);
	}
	
	if (dataObject['is_flash'] == 1) {
		var s1 = new SWFObject('http://cdn.broadscaler.com/jwplayer/player.swf','player','464','346','9');
		s1.addParam('allowfullscreen','true');
		s1.addParam('allowscriptaccess','always');
		s1.addParam('flashvars','file=' +  dataObject['item_player'] + '&autostart=' + autostart2);
		s1.addParam('wmode','transparent');
		s1.addVariable('type','video');
		s1.write('screen_in');
		return true;
	}

	// handle hulu items
	/*
	if (stristr(dataObject['item_player'], 'hulu')) {
		screenContent = "<object width='464' height='346'><param name='movie' value='" + dataObject['item_player'] + "'></param><embed src ='" + dataObject['item_player'] + "' width='464px' height='346px' type='application/x-shockwave-flash' /></embed></object>";
	}
	*/

	// lock and load the new video
	document.getElementById('screen_in').innerHTML = screenContent;

	// for full screen 2nd window
	// openFullScreen('http://miitv.com/player_full.php?id=' + dataObject['id']);
  }
}

function goLogin() {
	var al_username = document.getElementById('al_login').value;
	var al_key = document.getElementById('al_key').value;
  
	xmlHttpLogin = GetXmlHttpObject();
	if(xmlHttpLogin==null) { alert('Your browser does not support AJAX.'); return; }
	 
	var url='/module/setup.php';
	url = url + '?login=1&al_username=' + al_username + '&al_key=' + al_key;
	xmlHttpLogin.onreadystatechange = handleLogin;
	xmlHttpLogin.open("GET", url, true);
	xmlHttpLogin.send(null);
}

function handleLogin()
{
  if (xmlHttpLogin.readyState==4){
	var response = xmlHttpLogin.responseText;
	var dataObject = eval("(" + response + ")");
	if (dataObject['is_auth'] == 1) {
		loadScreen(current_id, current_slot, current_noautostart)
	} else {
		document.getElementById('screen_in').innerHTML = getLogin(1);
	}
  }
}

function getLogin(retry) {
	var screenContent = "<div style='width:100%;height:100%;text-align:center;background-color:#ffffee;color:#404040;font-size:12px;'><br /><br/><br/>";
	screenContent += "You must enter your credentials before accessing this video.<br /><br /><br />";
	screenContent += "Username <input type='text' id='al_login' /><br /><br />";
	screenContent += "Password <input type='text' id='al_key' /><br /><br />";
	screenContent += "<input type='button' value='Login' onclick='goLogin();' />";

	if (retry) {
		screenContent += '<br /><br />Invalid Login!';
	}

	screenContent += "</div>";
	return screenContent;
}

function goFs() {
	alert('Press ESC To Exit Full Screen Mode');
	document.getElementById('MediaPlayer').fullScreen = 'true';
	document.getElementById('MediaPlayer').fs = '1';
}
	
function ajax_ga(link) {
	pageTracker._trackPageview(link);
}

function void_it() {
	void(0);
}

function GetXmlHttpObject()
{
  var xmlHttp=null;
  try{ xmlHttp=new XMLHttpRequest(); }
  catch (e){
    try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); }
    catch (e) { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); }
  }
  return xmlHttp;
}

function TagToTipMiitv(id) {
	TagToTip(id, WIDTH, 350, LEFT, true, BORDERWIDTH, 3, PADDING, 5, BGCOLOR, '#000000', BORDERCOLOR, '#9EC1EF', OPACITY, 85);
}

function loadVideo(id, slot, track, noautostart) {
	loadScreen(id, slot, noautostart);
	if (track) {
		trackClick(id); 
	}
	return false;
}

function getElem(str) {
	return document.getElementById(str); 
}

function loadModal(divId)
{
  var tmp = getElem(divId).innerHTML;
  var sWidth = screen.width;
  var newWidth = Math.floor(sWidth/2) - 420;
  if(newWidth < 0) { newWidth = 400; }
  //var tmp2 = "<div style='text-align:right;'><a href='#' onclick=\"$('loadModal').fade(); $('loadFullScreen').fade(); return false;\">Close [x]</a></div>";
  var tmp2 = "<div style='text-align:right;'><a href='Javascript:closeLoaders();'><img src='http://cdn.broadscaler.com/miitv/images/licensing/closeBtn.gif'></a></div>";
  getElem('loadModal').innerHTML = "<div id='modal' style='left: "+newWidth+"px'>" + tmp2 + tmp + "</div>";
  getElem('loadModal').style.display='';
}

function closeLoaders()
{
  getElem('loadModal').style.display = 'none';
}

function loadAS() {
	// load the schedules via ajax
	// --------------------------------------------
	loadAS_check();
	setTimeout("loadAS();",5000);
}

function loadAS_check() {
	// send the ajax request and get receive back via json
	// --------------------------------------------
	xmlHttpSchedule = GetXmlHttpObject();
	if(xmlHttpSchedule==null) { alert('Your browser does not support AJAX.'); return; }
	 
	var url='/module/setup.php';
	url = url + '?ajax=1&method=schedule&aid='+ account_id +'&id=' + current_id;
	xmlHttpSchedule.onreadystatechange = handleSchedule;
	xmlHttpSchedule.open("GET", url, true);
	xmlHttpSchedule.send(null);
}

function handleSchedule() {
	// get the json data back and then redirect if needed to scheduled item
	// --------------------------------------------
	if (xmlHttpSchedule.readyState==4){
		var response = xmlHttpSchedule.responseText;
		var dataObject = eval("(" + response + ")");
		if (dataObject['item_id']) {
			if (dataObject['item_id'] != current_id) {
				window.location = dataObject['url'];
			}
		}
	}
}

function res_rd(json) {
	var rd = eval("(" + json + ")");
	var sw = screen.width;
	for (i = 0; i < rd.length; i++) {
		if (rd[i]['type'] == 1 && (sw < rd[i]['value'])) {
			window.location = rd[i]['redirect_url'];
		} else if (rd[i]['type'] == 2 && (sw > rd[i]['value'])) {
			window.location = rd[i]['redirect_url'];
		}
	}
}

function scroll_group(hide_id, show_id) {
	//new Effect.Fade('group_' + hide_id, { queue: 'front', duration: 0.0});
	$('group_' + hide_id).style.display = 'none';
	new Effect.Appear('group_' + show_id, { queue: 'front', duration: 0.5});
}


