////////////////////////////////////////////////////////////////////////////////////////////////////////
//Ads
function recordadimpress(adid,asst,assid,prgid,roll,prgtype,media,ctype,mchid) {

	var dataSource = pathtoajaxcalls + "adimp.asp";
			
	var XMLHttpRequestObject = false; 
	if (window.XMLHttpRequest) {
		XMLHttpRequestObject = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
	}	
	
	if(XMLHttpRequestObject) {
	  XMLHttpRequestObject.open("POST", dataSource); 
	  XMLHttpRequestObject.setRequestHeader('Content-Type','application/x-www-form-urlencoded');

	  XMLHttpRequestObject.onreadystatechange = function() 
	  { 
		if (XMLHttpRequestObject.readyState == 4 && 
		  XMLHttpRequestObject.status == 200) { 		  		  				
			delete XMLHttpRequestObject;
			XMLHttpRequestObject = null;	
		} 
	  } 

	var p = "rSid=" + prgsch_stationid;		
		p += '&playnum=' + urlen(g_PlayerNumber);
		p += '&g_listeningLogId=' + urlen(g_listeningLogId);
		p += '&adid=' + urlen(adid);
		p += '&asst=' + urlen(asst);
		p += '&assid=' + urlen(assid);
		p += '&prgid=' + urlen(prgid);
		p += '&roll=' + urlen(roll);
		p += '&prgtype=' + urlen(prgtype);
		p += '&lisid=' + g_ListenerId;
		p += '&media=' + media;
		p += '&mcnum=2';
		p += '&ctype=' + ctype;
		p += '&mchid=' + mchid;
		p += '&sesid=' + g_SessionID;
		
		XMLHttpRequestObject.send(p); 
	}	
}

function DisplayBannerAd(adid,url,hyp,asst,assid,prgid,roll,prgtype,ctype,mchid) {
	var h = "";
	var hc = "";
	var img = "";
	var d = "";	
	var t = "";
	var bn = gid('bannerad');
	if (bn) {	
		if (url != '') {	    
			if (hyp != '') {
			    if (hyp.substring(0, 10) == 'customlink') {
			        t = '<a href="#" onClick="return RunCustomLink(\'' + hyp + '\');"><img src="' + url + '" border="0"></a>';
			    }
			    else if (hyp.substring(0, 18) == 'Rp1MediaCenterLink') {
			        t = '<a href="#" onClick="return '+hyp+'"><img src="' + url + '" border="0"></a>';
			    }			    
			    else {
			        //incase the url was already encoded have to replace the %2520 with %20
			        var encurl = urlen(hyp);
			        encurl = encurl.replace(/%2520/gi, "%20");

			        var shyp = pathtoajaxcalls + "clickthru.asp?rSid=" + prgsch_stationid;
			        shyp += '&turl=' + encurl;
			        shyp += '&g_ListenerId=' + urlen(g_ListenerId);
			        shyp += '&g_PlayerNumber=' + urlen(g_PlayerNumber);
			        shyp += '&g_listeningLogId=' + urlen(g_listeningLogId);
			        shyp += '&adid=' + urlen(adid);
			        shyp += '&asst=' + urlen(asst);
			        shyp += '&assid=' + urlen(assid);
			        shyp += '&prgid=' + urlen(prgid);
			        shyp += '&roll=' + urlen(roll);
			        shyp += '&prgtype=' + urlen(prgtype);
			        shyp += '&lisid=' + g_ListenerId;
			        shyp += '&media=b';
			        shyp += '&ctype=' + ctype;
			        shyp += '&mchid=' + mchid;
			        shyp += '&sesid=' + g_SessionID;
			        if (shyp != "") {
			            t = '<a href="' + shyp + '" target="_blank">';
			        }
			        t += '<img src="' + url + '" border="0">';
			        if (shyp != "") {
			            t += "</a>";
			        }
			    }
			}//hyp != ''		
			else {
				t += '<img src="' + url + '" border="0">';
			}//hyp == ''
	
			bn.innerHTML = t;						
		} //url != ''	
		recordadimpress(adid,asst,assid,prgid,roll,prgtype,"b",ctype,mchid);
	} //if banner exists
}

function ActivateOverlays() {
	if (gid('overlayimage')) {
		gid('overlayimage').style.display = '';
	}
}
function DeactivateOverlays() {
	if (gid('overlayimage')) {
		gid('overlayimage').style.display = 'none';
	}
}

function DisplayOverlayAd(adid,url,hyp,asst,assid,prgid,roll,prgtype,ctype,mchid) {
	var t = "";
	var ov = gid('overlayimage');
	if (ov) {
		if (url != '') {
			if (hyp != '') {
				if (hyp.substring(0,10) == 'customlink') {
					t = '<a href="#" onClick="return RunCustomLink(\'' + hyp + '\');"><img src="' + url + '" border="0"></a>';
            	}
	            else if (hyp.substring(0, 18) == 'Rp1MediaCenterLink') {
	                t = '<a href="#" onClick="return ' + hyp + '"><img src="' + url + '" border="0"></a>';
	            }					
				else {
					//incase the url was already encoded have to replace the %2520 with %20
					var encurl = urlen(hyp);				
					encurl = encurl.replace(/%2520/gi,"%20");
					
					var shyp = pathtoajaxcalls + "clickthru.asp?rSid=" + prgsch_stationid;
						shyp += '&turl=' + encurl;			
						shyp += '&g_ListenerId=' + urlen(g_ListenerId);
						shyp += '&g_PlayerNumber=' + urlen(g_PlayerNumber);
						shyp += '&g_listeningLogId=' + urlen(g_listeningLogId);				
						shyp += '&adid=' + urlen(adid);
						shyp += '&asst=' + urlen(asst);
						shyp += '&assid=' + urlen(assid);
						shyp += '&prgid=' + urlen(prgid);
						shyp += '&roll=' + urlen(roll);
						shyp += '&prgtype=' + urlen(prgtype);
						shyp += '&lisid=' + g_ListenerId;
						shyp += '&media=o';
						shyp += '&ctype=' + ctype;
						shyp += '&mchid=' + mchid;
						shyp += '&sesid=' + g_SessionID;
					if (shyp != "") {
						t = '<a href="' + shyp + '" target="_blank">';
					}
					t += '<img src="' + url + '" border="0">';
					if (shyp != "") {
						t += "</a>";
					}	
				}
			}//hyp != ''		
			else {
				t += '<img src="' + url + '" border="0">';
			}//hyp == ''
			
			ov.innerHTML = t;
		}
		if (ov.style.display != 'none') {
			recordadimpress(adid,asst,assid,prgid,roll,prgtype,"o",ctype,mchid);
		}
	}
}

function SetupGraphicAds(prgid,roll,prgtype,ctype,mchid) {
   //printTrace("SetupGraphicAds: " + prgid + " roll: " + roll + " prgtype: " + prgtype); 
	var dur;
	if (gid('overlayimage')) {
		if (isArray(g_arrOverlays)) {		
			DisplayOverlayAd(g_arrOverlays[0][0],g_arrOverlays[0][3],g_arrOverlays[0][4],g_arrOverlays[0][8],g_arrOverlays[0][1],prgid,roll,prgtype,ctype,mchid);
			//if overlay has a synced banner than display it
			if (g_arrOverlays[0][5] != '' && g_arrOverlays[0][6] != '') {
				DisplayBannerAd(g_arrOverlays[0][5],g_arrOverlays[0][6],g_arrOverlays[0][7],g_arrOverlays[0][8],g_arrOverlays[0][1],prgid,roll,prgtype,ctype,mchid);
				g_allowBannerRotate = false;
			}
			else {
				g_allowBannerRotate = true;
			}
			if (g_arrOverlays[0][2] == '') { dur = 30; } else { dur = g_arrOverlays[0][2] }
	
			g_SwitchOvAdTimerId = g_SwitchOvAdTimerId + 1;
			if (g_SwitchOvAdTimerId > 2)
				g_SwitchOvAdTimerId = 0;
	
			if (g_arrOverlays.length > 1) {
				setTimeout("SwitchGraphicAd('o',0,'"+prgid+"','" + roll + "','" + prgtype+ "','" +g_SwitchOvAdTimerId+"','" + ctype+ "','" + mchid+ "')", (dur * 1000) );
			}	
		}
	}
	if (gid('bannerad')) {
	    if (isArray(g_arrBanners)) {
			if (g_allowBannerRotate == true) {
				DisplayBannerAd(g_arrBanners[0][0],g_arrBanners[0][3],g_arrBanners[0][4],g_arrBanners[0][5],g_arrBanners[0][1],prgid,roll,prgtype,ctype,mchid);
			}
			if (g_arrBanners[0][2] == '') { dur = 30; } else { dur = g_arrBanners[0][2] }
	
			g_SwitchBnAdTimerId = g_SwitchBnAdTimerId + 1;
			if (g_SwitchBnAdTimerId > 2)
				g_SwitchBnAdTimerId = 0;
				
			if (g_arrBanners.length > 1) {
				setTimeout("SwitchGraphicAd('b',0,'"+prgid+"','" + roll + "','" + prgtype+ "','" +g_SwitchBnAdTimerId+"','" + ctype+ "','" + mchid+ "')", (dur * 1000) );
			}	
		}
	}
	
}

function SwitchGraphicAd(t,lasti,prgid,roll,prgtype,timerid,ctype,mchid) {	
	var r = lasti + 1;
	var dur;
	if (t == 'o') {	
		if (gid('overlayimage')) {
			if (timerid == g_SwitchOvAdTimerId) {
				if (isArray(g_arrOverlays)) {	
					if ((g_arrOverlays.length - 1) < r) {
						r = 0;
					}
					DisplayOverlayAd(g_arrOverlays[r][0],g_arrOverlays[r][3],g_arrOverlays[r][4],g_arrOverlays[r][8],g_arrOverlays[r][1],prgid,roll,prgtype,ctype,mchid);
					if (g_arrOverlays[r][5] != '' && g_arrOverlays[r][6] != '') {
						DisplayBannerAd(g_arrOverlays[r][5],g_arrOverlays[r][6],g_arrOverlays[r][7],g_arrOverlays[r][8],g_arrOverlays[r][1],prgid,roll,prgtype,ctype,mchid);
						g_allowBannerRotate = false;
					}
					else {
						g_allowBannerRotate = true;
					}
					if (g_arrOverlays[r][2] == '') { dur = 30; } else { dur = g_arrOverlays[r][2] }
					setTimeout("SwitchGraphicAd('o',"+r+",'"+prgid+"','" + roll + "','" + prgtype+ "','" +timerid+"','" + ctype+ "','" + mchid+ "')", (dur * 1000) );
				}
			}
		}
	}
	else {
		if (gid('bannerad')) {
			if (timerid == g_SwitchBnAdTimerId) {
				if (isArray(g_arrBanners)) {
					if ((g_arrBanners.length - 1) < r) {
						r = 0;
					}
					if (g_allowBannerRotate == true) {
						DisplayBannerAd(g_arrBanners[r][0],g_arrBanners[r][3],g_arrBanners[r][4],g_arrBanners[r][5],g_arrBanners[r][1],prgid,roll,prgtype,ctype,mchid);
					}
					if (g_arrBanners[r][2] == '') { dur = 30; } else { dur = g_arrBanners[r][2] }			
					setTimeout("SwitchGraphicAd('b',"+r+",'"+prgid+"','" + roll + "','" + prgtype+ "','" +timerid+"','" + ctype+ "','" + mchid+ "')", (dur * 1000) );
				}
			}
		}
	}
}

function CheckForGraphicAds(rolltype,oID,bnID,prgid,mediatype,isad,pformat,ctype,mchid) {	
	var ls = "n";
	if (pformat == 'live') {
		ls = "y";
	}
	
	 var dataSource = pathtoajaxcalls + "getCheckForGraphicAds5.asp?rSid=" + prgsch_stationid;
		dataSource += "&roll=" + rolltype + "&oid=" + oID + "&bnId=" + bnID + "&prgid=" + prgid + "&mtype=" + mediatype + "&isad=" + isad + "&ls=" + ls + "&cid=" + prgsch_catid + "&ctype=" + ctype + "&mchid=" + mchid + "&tabid=" + g_TabId + "&isp="+g_isPlaying+"&mp="+g_musicPlaying+"&subroll="+g_psRoll;			
    
    //check to make sure not calling the same thing again
 	if (g_lastAdChkUrl != dataSource) {
	    g_lastAdChkUrl = dataSource;

	    var XMLHttpRequestObject = false;
	    if (window.XMLHttpRequest) {
	        XMLHttpRequestObject = new XMLHttpRequest();
	    } else if (window.ActiveXObject) {
	        XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
	    }

	    if (XMLHttpRequestObject) {
	        XMLHttpRequestObject.open("GET", dataSource);

	        XMLHttpRequestObject.onreadystatechange = function() {
	            if (XMLHttpRequestObject.readyState == 4 &&
	      XMLHttpRequestObject.status == 200) {
	                var r = XMLHttpRequestObject.responseText;

	                if (r != 'n') {
	                    try {
	                        eval(r);
	                        SetupGraphicAds(prgid, rolltype, pformat, ctype, mchid);
	                    }
	                    catch (exception1) {
	                    }
	                }

	                delete XMLHttpRequestObject;
	                XMLHttpRequestObject = null;
	            }
	        }
	        //printTrace(dataSource);
	        XMLHttpRequestObject.send(null);
	    }
	}
}

//Functions for performing custom links
function RunCustomLink(s) {
	var ps = new Querystring(s.substring(11));
	var lt = ps.get("linkto");
	var a = "";
	//parse parameters and build string
	if (lt != 'program') {
		if (lt == "rss") {
			a = "Views/news.aspx?StationID=" + prgsch_stationid + "&TabID=" + ps.get("tabid") + "&FeedID=" + ps.get("feedid");
		}
		else if (lt == "schedule") {
			a = "Views/StationSchedule.aspx?StationID=" + prgsch_stationid + "&TabID=" + ps.get("tabid");
			if (ps.get("catid"))
				a = a + "&CategoryID=" + ps.get("catid");
		}
		else if (lt == "html") {
			a = "Views/Custom.aspx?StationID=" + prgsch_stationid + "&TabID=" + ps.get("tabid");
		}
		loadintoIframe('ifrSchedule', a);
	}		
}

function isArray(testObject) {
    return testObject && !(testObject.propertyIsEnumerable('length')) && typeof testObject === 'object' && typeof testObject.length === 'number';
}
function urlen(val) {
    return escape(val);
}

