//***Cross browser attach event function. For 'evt' pass a string value with the leading "on" omitted
//***e.g. AttachEvent(window,'load',MyFunctionNameWithoutParenthesis,false);
function AttachEvent(obj,evt,fnc,useCapture)
{
	if (!useCapture) useCapture=false; 
	if (obj.addEventListener)
	{
		obj.addEventListener(evt,fnc,useCapture);
		return true;
	} 
	else if (obj.attachEvent) 
		return obj.attachEvent("on"+evt,fnc);
	else
	{
		MyAttachEvent(obj,evt,fnc);
		obj['on'+evt]=function(){ MyFireEvent(obj,evt) };
	}
}

/*** The following are for browsers like NS4 or IE5Mac which don't support either attachEvent or addEventListener ***/
function MyAttachEvent(obj,evt,fnc)
{
	if (!obj.myEvents) obj.myEvents={};
	if (!obj.myEvents[evt]) obj.myEvents[evt]=[];
	var evts = obj.myEvents[evt];
	evts[evts.length]=fnc;
}
function MyFireEvent(obj,evt)
{
	if (!obj || !obj.myEvents || !obj.myEvents[evt]) return;
	var evts = obj.myEvents[evt];
	for (var i=0,len=evts.length;i<len;i++) evts[i]();
}

/*** Adds a new class to an object, preserving existing classes ***/
function AddClass(obj,cName)
{ 
	KillClass(obj,cName); 
	return obj && (obj.className+=(obj.className.length>0?' ':'')+cName); 
}

/*** Removes a particular class from an object, preserving other existing classes ***/
function KillClass(obj,cName)
{ 
	return obj && (obj.className=obj.className.replace(new RegExp("^"+cName+"\\b\\s*|\\s*\\b"+cName+"\\b",'g'),'')); 
}

/*** Returns true if the object has the class assigned, false otherwise ***/
function HasClass(obj,cName)
{ 
	return (!obj || !obj.className)?false:(new RegExp("\\b"+cName+"\\b")).test(obj.className) 
}

/*** removes whitespace-only text node children ***/
function cleanWhiteSpace(element) 
{
	for (var i = 0; i < element.childNodes.length; i++) 
	{
		var node = element.childNodes[i];
		if (node.nodeType == 3 && !/\S/.test(node.nodeValue))
			node.parentNode.removeChild(node);
	}
}

/*** Change Opacity of an Object ***/
function change_opacity(id, opacity) {
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
}
/*function change_opacity(imageobject, opacity)
{       
	object = document.getElementById(imageobject);
	// This changes all the different opacity settings for various browsers
	object.style.KhtmlOpacity = object.style.opacity = opacity / 100;
	object.style.filter.alpha.opacity = 'alpha(opacity='+opacity+')';
}*/ 

/*** Change Button Appearance [Back / Pause / Forward] ***/
function change_button(id, x, y)
{
	var button = document.getElementById(id);
	if(button) button.style.backgroundPosition=x+"px "+y+"px";
}


/*** Get Elements By Class Name Function ***/
function getElementsByClassName(oElm, strTagName, oClassNames){
    var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
    var arrReturnElements = new Array();
    var arrRegExpClassNames = new Array();
    if(typeof oClassNames == "object"){
        for(var i=0; i<oClassNames.length; i++){
            arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames[i].replace(/\-/g, "\\-") + "(\\s|$)"));
        }
    }
    else{
        arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames.replace(/\-/g, "\\-") + "(\\s|$)"));
    }
    var oElement;
    var bMatchesAll;
    for(var j=0; j<arrElements.length; j++){
        oElement = arrElements[j];
        bMatchesAll = true;
        for(var k=0; k<arrRegExpClassNames.length; k++){
            if(!arrRegExpClassNames[k].test(oElement.className)){
                bMatchesAll = false;
                break;                      
            }
        }
        if(bMatchesAll){
            arrReturnElements.push(oElement);
        }
    }
    return (arrReturnElements)
}

/*** Limit String Length + Add Postfix ***/
function pad(p_string, p_length, p_char) 
{ 
	if (p_string.length>p_length)
		return p_string.substr(0,p_length) + p_char;
	else
		return p_string;
}

/*** Change Iframe Video Display ***/
function loadintoIframe(iframeid, url)		
{
	document.getElementById(iframeid).src=url;
}



// L E A D  S T O R Y  F U N C T I O N S //

function launchPG(url) {
	window.open('http://www.cstv.com/'+url,'photogallery','toolbar=no,width=775,height=575');
}
function launchPGH(url) {
	window.open('http://www.cstv.com/sports/m-footbl/heisman/photogallery/'+url,'photogallery','toolbar=no,width=775,height=575');
}
function launchV1(url) {
	window.open('http://www.cstv.com/media_server/play.smil?school=cs&media_type=video&playerargs=leadid>cstvlinks,promo>&specialtemplate=rev2&bumper=first&content=http://mfile.akamai.com/9192/wmv/cstv.download.akamai.com/9192/'+url,'VideoBroadcastMediaPlayer','toolbar=no,resizable=no,scrollbars=no,width=775,height=575');
}


function launchV3(url) {  //http://mfile.akamai.com/8108/wmv/cstvcbs.download.akamai.com/8108/open/sec/mission_sec_090606-1.asx
	window.open('http://www.cstv.com/media_server/play.smil?school=cs&media_type=video&playerargs=leadid>cstvlinks,promo>&specialtemplate=rev2&bumper=first&content=http://mfile.akamai.com/8108/wmv/cstvcbs.download.akamai.com/8108/'+url,'VideoBroadcastMediaPlayer','toolbar=no,resizable=no,scrollbars=no,width=775,height=575');
}



//NEW
function launchLiveFeed(url) {//launches live stream
	window.open('http://www.cstv.com/media_server/play.smil?school=cs&media_type=video&playerargs=leadid>cstvlinks,promo>&specialtemplate=rev2&bumper=&content='+url,'VideoBroadcastMediaPlayer','toolbar=no,resizable=no,scrollbars=no,width=775,height=575');
}

function launchA1(url) {
	window.open('http://www.cstv.com/media_server/play.smil?school=cs&media_type=audio&content=http://mfile.akamai.com/9192/wma/cstv.download.akamai.com/9192/'+url,'AudioBroadcastMediaPlayer','toolbar=no,resizable=no,scrollbars=no,width=468,height=160');
}
function launchGT(url) {
	window.open('http://livestats.www.collegesports.com/livestats/data/'+url,'GameTracker','toolbar=no,resizable=no,scrollbars=no,width=780,height=540');
}
function launchV2(wid,sid,subtype,gid) {
	mediaPlayer.play({w_id: wid, sid: sid,type: subtype,gid: gid});
}
function launchPoll(url) {
	window.open('http://www.cstv.com'+url,'poll','toolbar=no,width=248,height=300');
}
function launchEPG(qstring) {
	window.open('http://allaccess.cstv.com/media/index.jsp?'+qstring);
}
function launchTvSched(qstring) {
	window.location.href='http://www.cstv.com/cgi-bin/tvsched.cgi?'+qstring;
}
function launchRankings(qstring) {
	window.location.href='http://www.cstv.com/cgi-bin/rankings.cgi?'+qstring;
}


function launchBracket() {
	window.open('http://www.cstv.com/championshipcentral/07/07_cstv_ncaa_bracket.html','photogallery','toolbar=no,width=780,height=640');

}



// gametracker function
function launchGametracker(url) { 
        gtWindow = window.open(url, 'GameTracker', 'width=976,height=700,toolbar=no,scrollbars=no'); 
} 


// launch radioPlayer
var playerWin = null;

function launchRadio(stationID, oneStat)
{
	oString = '';
	if (oneStat != null && oneStat != "") oString = '&onestat=' + oneStat;
	
	link = 'http://player.cbsradio.com/player/CBSRadio_Player.html?id=' + stationID + oString;
	
	if (playerWin != null && playerWin.closed == false)
	{
		playerWin.location = link;
		playerWin.focus();
	} else {
		playerWin = window.open(link,'','width=511,height=485,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,top=200,left=200');
	}
}




/* STORY FOOTER CHANGER
 * @author: Filipe Araujo */
loadStoryFooter = function(){
	this.logo = document.getElementById('sf_img');
	this.text = document.getElementById('sf_text');
	this.container = document.getElementById('story_footer');
		
	this.loadArray=function(){
		// listing of arrays for logos
		// ['folder name','image url','footer text']
		this.array = new Array(
							['uwire','http://graphics.cstv.com/graphics/story/uwire.jpg','These stories appear courtesy of UWIRE, a news service powered by student journalists at more than 800 universities. To learn more, visit <a href="http://www.uwire.com/">UWIRE.com</a>'],
							['test','http://graphics.cstv.com/graphics/story/uwire.jpg','These stories appear courtesy of UWIRE, a news service powered by student journalists at more than 800 universities. To learn more, visit <a href="http://www.uwire.com/">UWIRE.com</a>']
							);
				
		this.folderURL();					
	}
	this.folderURL = function(){
		
		// get folder  url
		this.folder_url = String(window.location).split("cstv.com")[1];
		this.folder_url = folder_url.split("/");
						
		this.modifyFooter();
		
	}
	this.modifyFooter = function(){
		for(x=1; x < this.folder_url.length; x++){
			for(k=0; k < this.array.length; k++){
				if (this.array[k][0] == this.folder_url[x]){
					this.logo.src = this.array[k][1];
					this.text.innerHTML = this.array[k][2];
					this.container.style.display = "block";
					return;
				}
			}
		}		
	}

this.loadArray();
}
