// these functions override the "street" definitions

/**
* add to my street
* - open dialog
*/
function flash_addToMyStreet(param)
{
	// param = "http:////sesamestreet.cignex.com//mystreet?p_p_id=MY_STREET&p_p_action=0&p_p_state=exclusive&_MY_STREET_struts_action=%2Fext%2FmyStreet%2Fadd_my_street&uid=d6d4b4ee-fd05-11dc-85bd-bba570c82bb8&cmd=addPref&assetType=GAME";
	
	param = param + "&cmd=addPref";
	//alert("param======="+param);
	 var userid =0;
	 day = new Date();
	 id = day.getTime();
	
	 if(document.playerForm.userId!=null)
	{
		 userid = document.playerForm.userId.value;
		 redirect = document.playerForm.redirect.value;
		 param = param.replace("maximized","normal");
			
		 //alert(userid+" red "+redirect);
		if(userid==0)
		{
			param = param.replace("exclusive","maximized");
			param = param+"&redirect="+redirect;
			 //alert("red "+param);
			document.location.href=param;
		}
		else{
			//alert("open it");
			eval("page" + id + " = window.open(param, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=1,width=250,height=250');");
		}
	}

	// call for tracking add to my street from workshop

	flash_sendStatsUrl(lastStatsUrl + "/addtomystreet");
}

/**
* Share dialog
*/
function flash_openShareDialog(param){
	var redirect = document.playerForm.redirect.value;

	var message = Liferay.Popup(
	{
	width: 350,
	height:300,
	modal: true,
	title: "Share"
	});

	url = "/sesame-portlets-4.3.6.9/share_dialog.jsp?sf_url="+redirect;

	AjaxUtil.update(url, message, {onComplete: function(){Liferay.Popup.center()}});
}
/**
* handle urchin stats calls from flash
* @param context - the player which called this method (PlaylistPlayer,GamePlayer,VideoPlayer + other variants)
* @param eventType - the event which occured
	"start" indicates asset has begun playback 
	"finish" means asset has completed playback normally. 
	"abort" indicates asset was terminated early)
* @param assetId - ID of affected asset (from XML)
* @param assetUrl - directLink URL (from XML)
* @param assetDuration - duration of playback in milliseconds (zero for a "start" event)
* @param assetTitle - title of asset (from XML)
*/
var statsWindow;
var playlistData={};
var lastStatsUrl="";

function flash_urchinStats(context, eventType, assetId, assetType, assetUrl, assetDuration, assetTitle){
	//alert("start");
	
	var statsUrl = flash_generateStatsUrl(context, eventType, assetId, assetType, assetUrl, assetDuration, assetTitle);
	
	//	alert(statsUrl);

	lastStatsUrl = flash_generateStatsUrl(context, null, assetId, assetType, assetUrl, assetDuration, assetTitle);

//alert(lastStatsUrl);

// for workshpop videos get page name 

	var currentPageName = document.location.href ;
	var pageNameUrl = currentPageName.substring(currentPageName.indexOf(".org")+4);
//	alert(pageNameUrl);
//	alert(statsUrl);

	statsUrl = pageNameUrl + statsUrl

	flash_sendStatsUrl(statsUrl);
}

function shareToAFriendTrack(lastStatsUrl_new)
{
	//alert(lastStatsUrl);
	flash_sendStatsUrl(lastStatsUrl + "/share-complete");

}


function flash_sendStatsUrl(statsUrl){
	pageTracker._trackPageview(statsUrl);
	flash_debugStats(statsUrl);
}

function flash_generateStatsUrl(context, eventType, assetId, assetType, assetUrl, assetDuration, assetTitle){	
	var topLevel=context;
	switch(context){
		case "FavoritesPlayer" : 
			topLevel="mystreet"; 
			break;
		case "PlaylistPlayer" : 
			topLevel="playlist"; 
			break;
		case "GamePlayer" : 
			topLevel="games"; 
			break;
		default :
			topLevel = "videos/"+context;
			break
	}
	
	// TEST -- TITLE REWRITE
	// just for kicks
	var titleArray = ["Sesame Street"];
	titleArray.push(topLevel);
	if(playlistData && playlistData.playlistName){
		titleArray.push(playlistData.playlistName);
	}
	titleArray.push(assetTitle);
	//document.title = titleArray.join(" - ");
	// END TEST

	var statsArray = [topLevel];
	var statsUrl;	

	// if this event comes from playlist just store its name and abort
	if(assetType=="playlist" ){		
		playlistData.playlistName=assetTitle;
		statsArray.push(flash_escapeTitle(playlistData.playlistName));
		if(eventType!=null) statsArray.push(eventType);
		statsUrl = "/"+statsArray.join("/");		
		return statsUrl;
	}

	if(playlistData && playlistData.playlistName){
		statsArray.push(flash_escapeTitle(playlistData.playlistName));
	}
	statsArray.push(assetType);	
	statsArray.push(assetId + "--" + flash_escapeTitle(assetTitle));
	if(eventType!=null) statsArray.push(eventType);
	statsUrl = "/"+statsArray.join("/");	

	return statsUrl;
}



function flash_debugStats(str){
	try{
		document.getElementById("last-stats-call").value += ("\n"+str)
	}catch(e){}
}

function flash_escapeTitle(title){
	//alert(title);
	if(title==null)
	{
		title="noTitle";
		return title;
	}
	var rex = /[^a-zA-Z0-9_-]/g;
	var rex2 = /_{2,}/g
	var newTitle = title.split(" ").join("_");
	newTitle = newTitle.replace(rex,"").replace(rex2,"_");
	
	return newTitle;
}

/** 
* return a reference to a flash movie
*/
function getFlashMovie(movieName) {
	var isIE = navigator.appName.indexOf("Microsoft") != -1;
	return (isIE) ? window[movieName] : document[movieName];
}


/**
* ask the donate muppet what muppet is active
*/
function flash_requestDonateButtonIndex() {
	var donateMov = getFlashMovie("donate-muppet-swf");
	donateMov.getMuppetIndex();
}

/** (workshop) 
* muppet donate button - return the active muppet as an urchin call
* essentially a callback for the method above
*/
function flash_sendDonateButtonStats(idx){
	try{
		var muppetname="unknown";
		idx=parseInt(idx);
		switch(idx){
			case 1: muppetname="name1"; break;
			case 2: muppetname="name2"; break;
			case 3: muppetname="name3"; break;
			case 4: muppetname="name4"; break;
			case 5: muppetname="name5"; break;
			case 6: muppetname="name6"; break;
			case 7: muppetname="name7"; break;
			case 8: muppetname="name8"; break;
			case 9: muppetname="name9"; break;
			case 10: muppetname="name10"; break;
			case 11: muppetname="name11"; break;
			case 12: muppetname="name12"; break;
		}
		
		var statsUrl = "/special/donate-click/"+muppetname;
		//alert(statsUrl);	// take this out
		sendStatsUrl(statsUrl);
	}catch(e){}
}
