var host = "http://api2.sprasia.com/";
var pub = "com2";
var version = "1.0.0";

function displayPlayer(id, app, width, height, size, autoplay, autoedit, credential, lang, skin) 
{
	if (autoplay == undefined) {
		autoplay = false;
	}
	
	if (credential == undefined) {
		credential = "";
	}
	
	if (lang == undefined) {
		lang = "ja";
	}
	
	if (skin == undefined) {
		skin = "";
	}
	
	var flashvars = 'id=' + id 
	    + '&mode=' + pub 
		+ '&autostart=' + (autoplay ? 'true' : 'false') 
		+ '&type=' + size
		+ (lang != "" ? "&lang=" + escape(lang) : "")
		+ (credential != "" ? "&credential=" + escape(credential) : "")
		+ (skin != "" ? "&skin=" + escape(skin) : "");	
	
	// New player needs the app when available
	flashvars += "&app=" + app;
	
	var swf = host + 'app/ria/player/common_player'; 

	_display("sprasiaplayer_" + id, width, height, swf, flashvars);
}
function displayPlayer2(id, app, width, height, size, autoplay, autoedit, credential, lang, skin) 
{
	if (autoplay == undefined) {
		autoplay = false;
	}
	
	if (credential == undefined) {
		credential = "";
	}
	
	if (lang == undefined) {
		lang = "ja";
	}
	
	if (skin == undefined || skin == "") {
		skin = "standard";
	}
	
	var flashvars = 'id=' + id 
	    + '&mode=' + pub 
		+ '&autostart=' + (autoplay ? 'true' : 'false') 
		+ '&type=fit'
		+ (lang != "" ? "&lang=" + escape(lang) : "")
		+ (credential != "" ? "&credential=" + escape(credential) : "")
		+ "&skin=" + escape(skin);	
	
	// New player needs the app when available
	flashvars += "&app=" + app;
	
	var swf = host + 'app/ria/player/2.0/common_player'; 

	_display("sprasiaplayer_" + id, width, height, swf, flashvars);
}
function displayPreviewPlayer(id, app, width, height, fvar, autoplay, autoedit)
{
	displayPlayer(id,app,width,height,480,autoplay,autoedit);
}function displayEffect(file) {
	var id = 'preview_effect';
	var width = 490;
	var height = 400;
	var swf = host + 'swf/version2.0/site/effect_player'
	var flashvars = 'file=' + file;
	_display(id, width, height, swf, flashvars);
}
function displayTopList(lang) {
	var width = 880;
	var height = 140;
	var swf = host+"swf/top_list";
	var flashvars = "pub="+pub+"&amp;lang="+lang;
	_display('toplist',width,height,swf,flashvars);
}
function displayTVTopPage(flashvars) {
	var width = "100%";
	// 85 accounts for the Sprasia TV header and footer.
	var height = getViewableAreaHeight() - 85;	
	var swf = host+"app/studio/tvtoppage/main";
	_display('tvtoppage',width,height,swf,flashvars);
}
function getViewableAreaHeight() {
	if(window.innerHeight)
	{
		return window.innerHeight;
	}
	else
	{
		return document.documentElement.clientHeight;
	}
}function displayTopSplash() {
	var id = 'top_splash';
	var width = 880;
	var height = 300;
	var swf = host+"swf/version2.0/site/top";
	_display(id,width,height,swf);
}

function displayAppTopPageHeader(filename) {
	var swf = host + 'swf/version2.0/site/' + filename;
	var width = 880;
	var height = 300;
	var id = 'mastheadFlash';
	var flashvars = '';
	_display(id, width, height, swf, flashvars);
}
function displayRanking(id,category,lang) {
	var width = 240;
	var height = 240;
//	var swf = host+"swf/rank";
	var swf = host+"swf/version2.0/site/ranking_submenu";
	var flashvars = "category="+category+"&amp;mode="+pub+"&amp;lang="+lang;
	_display(id,width,height,swf,flashvars);
}

function displayMyPageApp(credential, lang, assetID) 
{
	var swf;
	var flashvars;
	var id = 'mypageapp';
	var width = '880';
	var height = '720';

	swf = host + 'swf/version2.0/mypage/mypagemaker';
	
	flashvars = 'mode=' + pub + '&amp;credential=' + credential + '&amp;id=' + assetID;
	
	_display(id, width, height, swf, flashvars, '#999999');	
}

function displayAlbumEditor(credential, lang, assetID, version) 
{
	var swf;
	var flashvars;
	var id = 'albumEditorApp';
	var width = '880';
	var height = '660';

	swf = host + 'swf/version2.0/sptv/album_editor';
	
	flashvars = 'mode=' + pub + '&amp;credential=' + credential + '&amp;id=' + assetID + '&amp;v=' + version;
	
	_display(id, width, height, swf, flashvars, '#999999');	
}

function displayLayoutEditor(credential, lang, assetID, version)
{
	var swf;
	var flashvars;
	var id = 'albumEditorApp';
	var width = '880';
	var height = '660';

	swf = host + 'swf/version2.0/sptv/layout_editor';
	
	flashvars = 'mode=' + pub + '&amp;credential=' + credential + '&amp;id=' + assetID + '&amp;v=' + version;
	
	_display(id, width, height, swf, flashvars, '#999999');
}
function displayNewEffectunes(credential, lang, assetID) 
{
	var swf;
	var flashvars;
	var id = 'effetunesApp'
	var width = '100%';
	var height = 660;
	
	swf = host + 'swf/version2.0/effectunes/effectunes';
	
	//flashvars = "id="+id+"&amp;ref="+ref+"&amp;lang="+lang+"&amp;pub="+pub+"&amp;api=&amp;user=&amp;v="+version;
	//flashvars = 'credential=' + credential + '&lang=ja';
	
	flashvars = 'mode=' + pub + '&amp;credential=' + credential + '&amp;id=' + assetID + '&amp;lang=' + lang;
	
	_display(id, width, height, swf, flashvars, '#999999');
}

function displayPresentationApp(credential, lang, assetID, version)
{
	var swf;
	var flashvars;
	var id = 'effetunesApp'
	var width = '100%';
	var height = 660;
	
	swf = host + 'swf/version2.0/sptv/presentation';
	
	flashvars = 'mode=' + pub + '&amp;credential=' + credential + '&amp;id=' + assetID + '&amp;v=' + version;
	
	_display(id, width, height, swf, flashvars, '#999999');
}

function displaySlideshow(credential, lang, assetID)
{
	var id = 'slideshowApp';
	var swf = host + 'swf/version2.0/slideshow/';
	swf += "slideshow";
	var width = 880;
	var height = 540;
	var flashvars = 'mode=' + pub + '&amp;credential=' + credential + '&amp;id=' + assetID + '&amp;lang=' + lang;
	
	_display(id, width, height, swf, flashvars);
}

function displayPSCMT(credential, lang, assetID)
{
	var id = 'slideshowApp';
	var swf = host + 'app/ria/pscmt/';
	swf += "slideshow";
	var width = 880;
	var height = 540;
	var flashvars = 'mode=' + pub + '&amp;credential=' + credential + '&amp;id=' + assetID + '&amp;lang=' + lang;
	
	_display(id, width, height, swf, flashvars);
}function displayOsusumaker(credential, lang, assetID)
{
	var id = 'osusumakerApp';
	var swf = host + 'swf/version2.0/osusumaker/osusumaker';
	var width = 880;
	var height = 540;
	var flashvars = 'mode=' + pub + '&amp;credential=' + credential + '&amp;id=' + assetID + '&amp;lang=' + lang;
	
	_display(id, width, height, swf, flashvars);
}function displayNewsmaker(credential, lang, assetID)
{
	var id = 'newsmakerApp';
	var swf = host + 'swf/version2.0/newsmaker/newsmaker';
	var width = 620;
	var height = 1080;
	var flashvars = 'mode=' + pub + '&amp;credential=' + credential + '&amp;id=' + assetID + '&amp;lang=' + lang;
	
	_display(id, width, height, swf, flashvars);
}
function displayEffectunes(id,lang) {
	var width = 880;
	var height = 660;
	var ref = 0;
	if(id==undefined) id=0;
	if(id<0) {
		ref = -id;
		id = 0;
	}
	var swf = host+"swf/eff_index";
	var flashvars = "id="+id+"&amp;ref="+ref+"&amp;lang="+lang+"&amp;pub="+pub+"&amp;api=&amp;user=&amp;v="+version;
	_display(id,width,height,swf,flashvars);
}
function displayUploader(credential, lang, organization) {
	var id = 'uploader';
	var width = 640;
	var height = 400;
	var swf = "http://upload4.sprasia.com/multi";
	var flashvars = "credential=" + credential + "&mode=" + pub + "&lang="  + lang;
	if (organization != undefined) {
		flashvars += "&organization=" + organization;
	}
	_display(id,width,height,swf,flashvars);
}function displayPhotoShuffleUploader(credential, lang, organization){
	var id = 'uploader';
	var width = 640;
	var height = 400;
	var swf = "http://upload4.sprasia.com/photoshufflUploader/photoshufflUploader";
	var flashvars = "credential=" + credential + "&mode=" + pub + "&lang="  + lang;
	if (organization != undefined) {
		flashvars += "&organization=" + organization;
	}
	_display(id,width,height,swf,flashvars);
}function displayPhotoshufflePlayer(id, width, height, credential, lang, organization){
	var id = id;
	var w = width;
	var h = height;
	var swf = host + "app/ria/ps2_player/Main";
	
	if(id == undefined) id = 0;
	
	var flashvars = "id=" + id + "&credential=" + credential + "&mode=" + pub + "&lang=" + lang + "&organization=" + organization;
	_display(id,w,h,swf,flashvars);
}function displayPollApp(id,lang) {
	var width = 200;
	var height = 200;
	var swf = host+"swf/poll";
	var flashvars = "pub="+pub+"&amp;lang="+lang;
	_display('toplist',width,height,swf,flashvars);
}var shost = getServiceHost();
var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;
var requiredMajorVersion = 9;
var requiredMinorVersion = 0;
var requiredRevision = 115;
var hasProductInstall = DetectFlashVer(6, 0, 65);
var hasRequestedVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);

function getServiceHost() { return location.hostname; }

function _display(id, width, height, swf, fvar, bgcolor) {

	if (bgcolor == undefined) {
		bgcolor = "#ffffff";
	}

	if(hasProductInstall && !hasRequestedVersion) {
		_displayInstaller(id,width,height);
	} else if (hasRequestedVersion) {
		_displayContent(id,width,height,swf,fvar,bgcolor);
	} else {
		_displayNoInstaller(width,height,fvar);
	}
}

function _displayContent(id,width,height,swf,fvar,bgcolor) {
	AC_FL_RunContent(
		"src", swf,
		"FlashVars", fvar,
		"width", width,
		"height", height,
		"align", "middle",
		"id", id,
		"quality", "high",
		"bgcolor", bgcolor,
		"name", id,
		"allowScriptAccess","always",
		"allowFullScreen","true",
		"type", "application/x-shockwave-flash",
		"pluginspage", "http://www.adobe.com/go/getflashplayer"
	);
}

function _displayInstaller(id,width,height) {
	var MMPlayerType = (isIE == true) ? "ActiveX" : "PlugIn";
	var MMredirectURL = window.location;
	document.title = document.title.slice(0, 47) + " - Flash Player Installation";
	var MMdoctitle = document.title;
	AC_FL_RunContent(
		"src", host+"app/ria/player/playerProductInstall",
		"FlashVars", "MMredirectURL="+MMredirectURL+'&MMplayerType='+MMPlayerType+'&MMdoctitle='+MMdoctitle+"",
		"width", width,
		"height", height,
		"align", "middle",
		"id", id,
		"quality", "high",
		"bgcolor", "#ffffff",
		"name", id,
		"allowScriptAccess","always",
		"type", "application/x-shockwave-flash",
		"pluginspage", "http://www.adobe.com/go/getflashplayer"
	);
}

function _displayNoInstaller(width,height,fvar) {
	var stringPos = fvar.indexOf("lang=en");
	var messageString = '再生するにはAdobe Flash Playerが必要です。';
	var hyperLinkString = 'Flash Playerの入手はこちら';
	if(stringPos > 0){
		messageString = 'This content requires the Adobe Flash Player.';
		hyperLinkString =  'Get Flash Player';
	}
	var alternateContent =
		'<br />' +
		'<div style="width:' + width +'px; height:'+ height +'px; text-align:center;">' +
		messageString +
		'<br/>' +
		'<a href=http://www.adobe.com/go/getflash/>'+ hyperLinkString + '</a>' +
		'</div>';	
	document.write(alternateContent);
}

function ControlVersion() {
	var version;
	var axo;
	var e;
	try {
		axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
		version = axo.GetVariable("$version");
	} catch (e) { }
	if (!version) {
		try {
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
			version = "WIN 6,0,21,0";
			axo.AllowScriptAccess = "always";
			version = axo.GetVariable("$version");
		} catch (e) { }
	}
	if (!version) {
		try {
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = axo.GetVariable("$version");
		} catch (e) { }
	}
	if (!version) {
		try {
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = "WIN 3,0,18,0";
		} catch (e) { }
	}
	if (!version) {
		try {
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
			version = "WIN 2,0,0,11";
		} catch (e) {
			version = -1;
		}
	}
	return version;
}

function GetSwfVer() {
	var flashVer = -1;
	if (navigator.plugins != null && navigator.plugins.length > 0) {
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
			var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
			var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
			var descArray = flashDescription.split(" ");
			var tempArrayMajor = descArray[2].split(".");			
			var versionMajor = tempArrayMajor[0];
			var versionMinor = tempArrayMajor[1];
			var versionRevision = descArray[3];
			if (versionRevision == "") {
				versionRevision = descArray[4];
			}
			if (versionRevision[0] == "d") {
				versionRevision = versionRevision.substring(1);
			} else if (versionRevision[0] == "r") {
				versionRevision = versionRevision.substring(1);
				if (versionRevision.indexOf("d") > 0) {
					versionRevision = versionRevision.substring(0, versionRevision.indexOf("d"));
				}
			}
			var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
		}
	}
	else if(navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
	else if(navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
	else if(navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
	else if(isIE && isWin && !isOpera) flashVer = ControlVersion();
	return flashVer;
}

function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision) {
	versionStr = GetSwfVer();
	if(versionStr == -1 ) {
		return false;
	} else if (versionStr != 0) {
		if(isIE && isWin && !isOpera) {
			tempArray = versionStr.split(" ");
			tempString = tempArray[1];
			versionArray = tempString.split(",");
		} else {
			versionArray = versionStr.split(".");
		}
		var versionMajor = versionArray[0];
		var versionMinor = versionArray[1];
		var versionRevision = versionArray[2];
		if(versionMajor > parseFloat(reqMajorVer)) {
			return true;
		} else if(versionMajor==parseFloat(reqMajorVer)) {
			if(versionMinor>parseFloat(reqMinorVer)) {
				return true;
			} else if(versionMinor==parseFloat(reqMinorVer)) {
				if(versionRevision >= parseFloat(reqRevision))
					return true;
			}
		}
		return false;
	}
}

function AC_AddExtension(src, ext) {
  return src + ext;
}

function AC_Generateobj(objAttrs, params, embedAttrs) { 
    var str = '';
    if (isIE && isWin && !isOpera) {
  		str += '<object ';
  		for (var i in objAttrs)
  			str += i + '="' + objAttrs[i] + '" ';
  		str += '>';
  		for (var i in params)
  			str += '<param name="' + i + '" value="' + params[i] + '" /> ';
  		str += '</object>';
    } else {
  		str += '<embed ';
  		for (var i in embedAttrs)
  			str += i + '="' + embedAttrs[i] + '" ';
  		str += '> </embed>';
    }
    document.write(str);
}

function AC_FL_RunContent() {
	var ret = AC_GetArgs(arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000", "application/x-shockwave-flash");
	AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_GetArgs(args, ext, srcParamName, classid, mimeType) {
	var ret = new Object();
	ret.embedAttrs = new Object();
	ret.params = new Object();
	ret.objAttrs = new Object();
	for (var i=0; i < args.length; i=i+2) {
		var currArg = args[i].toLowerCase();
		switch (currArg){	
			case "classid": break;
			case "pluginspage": ret.embedAttrs[args[i]] = args[i+1]; break;
			case "src":
			case "movie":
				args[i+1] = AC_AddExtension(args[i+1], ext);
				ret.embedAttrs["src"] = args[i+1];
				ret.params[srcParamName] = args[i+1];
				break;
			case "onafterupdate":
			case "onbeforeupdate":
			case "onblur":
			case "oncellchange":
			case "onclick":
			case "ondblClick":
			case "ondrag":
			case "ondragend":
			case "ondragenter":
			case "ondragleave":
			case "ondragover":
			case "ondrop":
			case "onfinish":
			case "onfocus":
			case "onhelp":
			case "onmousedown":
			case "onmouseup":
			case "onmouseover":
			case "onmousemove":
			case "onmouseout":
			case "onkeypress":
			case "onkeydown":
			case "onkeyup":
			case "onload":
			case "onlosecapture":
			case "onpropertychange":
			case "onreadystatechange":
			case "onrowsdelete":
			case "onrowenter":
			case "onrowexit":
			case "onrowsinserted":
			case "onstart":
			case "onscroll":
			case "onbeforeeditfocus":
			case "onactivate":
			case "onbeforedeactivate":
			case "ondeactivate":
			case "type":
			case "codebase":
				ret.objAttrs[args[i]] = args[i+1];
				break;
			case "id":
			case "width":
			case "height":
			case "align":
			case "vspace": 
			case "hspace":
			case "class":
			case "title":
			case "accesskey":
			case "name":
			case "tabindex":
				ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
				break;
			default:
				ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
		}
	}
	ret.objAttrs["classid"] = classid;
	if (mimeType)
		ret.embedAttrs["type"] = mimeType;
	return ret;
}function displayRSSNewsReader(width, account) 
{
	var id = 0;
	var height = 36;
	var accparam = '';
	
	if (account != null) {
		accparam = '&account=' + account;
	}
	
	var flashvars = 'mode=' + pub 
		+ '&width=' + width 
		+ accparam;	
	
	var swf = host + 'app/ria/newsreader/main';

	_display(id, width, height, swf, flashvars, '#ffffff');	
}
