var pinfoajaxObj = createXMLHttp();

function createXMLHttp() {
    var XMLHttpRequestObject = false;
    if (window.XMLHttpRequest) {
        XMLHttpRequestObject = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
        XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
    }
    return XMLHttpRequestObject;
}

function SetupPinfoLinks(v) {
    if (v == 'np')
        doChangeClassName('tabDesc', 'selected');
    else
        doChangeClassName('tabDesc', '');
    if (v == 'next')
        doChangeClassName('tabNext', 'selected');		
    else
        doChangeClassName('tabNext', '');
    if (v == 'share')
        doChangeClassName('tabShare', 'selected');
    else
        doChangeClassName('tabShare', '');
    if (v == 'help')
        doChangeClassName('tabHelp', 'selected');
    else
        doChangeClassName('tabHelp', '');
    if (v == 'similar')
        doChangeClassName('tabSimilar', 'selected');
    else
        doChangeClassName('tabSimilar', '');        
}

function doChangeClassName(id, cname) {
    if (gid(id)) {        
        gid(id).className = cname;
    }
}

function LoadPrgSimilarPanel(prgid, pagenum) {
    var p = 'act=similar';
    SetupPinfoLinks('similar');
    if (prgid != '') { p += '&prgid=' + prgid; }
    if (pagenum != '') { p += '&cpage=' + pagenum; }
    showpinfoloading();
    sendrequest("GetPlayerDetailBox.aspx", p, LoadPrgSimilarPanel_callback);
}
function LoadPrgSimilarPanel_callback(t) {
    if (gid("prginfobox"))
        gid("prginfobox").innerHTML = t;
    hidepinfoloading();
}
function SimilarPrgsPageChange(prgid, pagenum) {
    LoadPrgSimilarPanel(prgid, pagenum);
}

function LoadPrgHelpPanel(prgid) {    
    var p = 'act=help';
    SetupPinfoLinks('help');
    if (prgid != '') { p += '&prgid=' + prgid; }
    showpinfoloading();    
    sendrequest("GetPlayerDetailBox.aspx", p, LoadPrgHelpPanel_callback);
}
function LoadPrgHelpPanel_callback(t) {
    if (gid("prginfobox"))
        gid("prginfobox").innerHTML = t;
    hidepinfoloading();
}

function LoadPrgSharePanel(prgid) {
    var p = 'act=share';
    SetupPinfoLinks('share');
    if (prgid != '') { p += '&prgid=' + prgid; }
    showpinfoloading();
    sendrequest("GetPlayerDetailBox.aspx", p, LoadPrgSharePanel_callback);
}

function LoadPrgSharePanel_callback(t) {
    if (gid("prginfobox"))
        gid("prginfobox").innerHTML = t;
    hidepinfoloading();
}

function LoadNextPrgDetailsPanel(sid,prgid) {
    var p = 'act=next';
    SetupPinfoLinks('next');
    if (sid != '') { p += '&rsid=' + sid; }
    if (prgid != '') { p += '&prgid=' + prgid; }
    showpinfoloading();
    sendrequest("GetPlayerDetailBox.aspx", p, LoadNextPrgDetailsPanel_callback);
}

function LoadNextPrgDetailsPanel_callback(t) {
    if (gid("prginfobox"))
        gid("prginfobox").innerHTML = t;
    hidepinfoloading();
}

function LoadNowPlaying(t, id, isr) {
    //if now playing is being shown the schedule iframe then have to call to update it
    if (gid("ifrSchedule")) {
        var ifr = gid("ifrSchedule");
        if (typeof ifr.contentWindow.LoadNowPlaying == 'function') {
            ifr.contentWindow.LoadNowPlaying();
        }
    }
    
    var p = 'act=np&refresh='+isr;

	//check if now playing box is shown
	if (gid("prginfobox")) {
		p += '&shownp=y';
	}
	else {
		p += '&shownp=n';
	}
	
    SetupPinfoLinks('np');
    if (id == '') {
    }
    else if (t == 'm') {
        if (id != '') { p += '&mchid=' + id; }
    }
    else if (t == 'p') {
        if (id != '') { p += '&prgid=' + id; }
    }
    showpinfoloading();
    sendrequest("GetPlayerDetailBox.aspx", p, LoadNowPlay_callback);
}
function LoadNowPlay_callback(t) {
	//check if prginfobox is displayed, otherwise we just eval the result
	if (gid("prginfobox")) {
        gid("prginfobox").innerHTML = t;
				
		//check if need to call play music
		if (gid("mnpeval")) {
			eval(gid("mnpeval").innerHTML);
		}
		if (gid("prgnpactionstext")) {
			if (gid("PrgActContainer")) {
				var v = gid("prgnpactionstext").innerHTML;
				gid("PrgActContainer").innerHTML = v;
				if (v == '') {
					gid("PrgActContainer").style.display = 'none';
				} else {
					gid("PrgActContainer").style.display = '';
				}
			}
		}
	}
	else {
		if (t != 'n' && t != '') {
			eval(t);
		}
	}
        
        
    hidepinfoloading();
}

function LoadPrgActions(t) {
   
}

function showpinfoloading() {
    if (gid("prgInfoLoading"))
        gid("prgInfoLoading").style.display = '';
}
function hidepinfoloading() {
    if (gid("prgInfoLoading"))
        gid("prgInfoLoading").style.display = 'none';
}

function sendrequest(url, parameters, callback) {
    var dataSource = url;
    var p = parameters;
	
//	printTrace(url);
//	printTrace(parameters);
	if (!pinfoajaxObj) {
        pinfoajaxObj = createXMLHttp();
    }
    else if (pinfoajaxObj.readyState != 0) {
        pinfoajaxObj.abort();
    }

    if (pinfoajaxObj) {
        pinfoajaxObj.open("POST", dataSource);
        pinfoajaxObj.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        pinfoajaxObj.setRequestHeader('Content-length', p.length);
        pinfoajaxObj.setRequestHeader('Connection', 'close');

        pinfoajaxObj.onreadystatechange = function() {
            if (pinfoajaxObj.readyState == 4 && pinfoajaxObj.status == 200) {
                callback(pinfoajaxObj.responseText);
                delete pinfoajaxObj;
            }
        }
        pinfoajaxObj.send(p);
    }
}

function ReloadPrgDescPanel() {
    if (g_descpnlactive == true) {
        DoReloadPrgDescPanel("y");
    }
}

function DoReloadPrgDescPanel(isr) {
    g_descpnlactive = true;
    g_nextprgpnlactive = false;
    if (g_musicPlaying == true) {
        LoadNowPlaying("m", g_musicchid, isr);
    } else {
        LoadNowPlaying("p", g_selectedprgid, isr);
    }
}

function ReloadNextPrgPanel() {
	if (g_nextprgpnlactive == true) {
		//ClientScript.GetPostBackEventReference(lnkPrgInfoNext,"")
		DoReloadNextPrgPanel();
	}
}

function DoReloadNextPrgPanel() {
	g_descpnlactive = false;
	g_nextprgpnlactive = true;	
    LoadNextPrgDetailsPanel(prgsch_stationid, g_selectedprgid);
}

function DoReloadPrgSharePanel() {
    g_descpnlactive = false;
    g_nextprgpnlactive = false;
    LoadPrgSharePanel(g_selectedprgid, 1);
}

function DoReloadHelpPrgPanel() {
    g_descpnlactive = false;
    g_nextprgpnlactive = false;
    LoadPrgHelpPanel(g_selectedprgid);
}

function DoReloadSimilarPrgPanel() {
    g_descpnlactive = false;
    g_nextprgpnlactive = false;
    LoadPrgSimilarPanel(g_selectedprgid);
}


