﻿/****************************

	flashSetter class

	ver 2.02 (2009/09/14)

*****************************/



/*

var flashSavObj = new Object();	// flash contents 溜め込み

flashSavObj.ObjArray = new Array();

flashSavObj.SrcArray = new Array();

*/



var pluginsURI = new Object();

pluginsURI.en = "http://www.macromedia.com/go/getflashplayer";	// English
pluginsURI.ja = "http://www.macromedia.com/go/getflashplayer";	// Japanese

pluginsURI.locAdr = parent.location.href.toString();	//2009/09/14 http and https switches
pluginsURI.locAdr2 = pluginsURI.locAdr.substr(0,5);

pluginsURI.httpProtocol = "http";
if(pluginsURI.locAdr2 == "https") pluginsURI.httpProtocol = "https";
pluginsURI.codeBase= 'codebase="' + pluginsURI.httpProtocol + '://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0"'

// Constructor

var flashSetObj = new Object();

flashSetObj.FlashSetter = function (getObj) {

//propaty

	var retPluginVer = 0;
	var retPluginVer_r = new Array();

	var plugin = 0;

	var retWork = "";	


	if (!getObj.specifiedVer) getObj.specifiedVer = 9;

	if (!getObj.swfDir) getObj.swfDir = '';

	if (!getObj.idName) getObj.idName = 'flashSetter';

	if (!getObj.bgcolor) getObj.bgcolor = "#ffffff";

	if (!getObj.quality) getObj.quality = "high";

	//if (!getObj.wmode) getObj.wmode= "transparent";

	if (!getObj.pluginLang) getObj.pluginLang = 'en';

	if (!getObj.altURI) getObj.altURI = "";

	if (!getObj.altSrc) getObj.altSrc = "";

	if (!getObj.swLiveConnect) getObj.swLiveConnect = "false";

	if (!getObj.menu) getObj.menu = "false";

	if (!getObj.flashVars) getObj.flashVars= '';


	// for Win MSIE ActiveX chek


	var retVersion = ActiveXGetter();

	if(retVersion) {
		retPluginVer = parseInt(retVersion.substring(retVersion.indexOf("Win") +4));
		var retPluginVer_ra = retVersion.substring(retVersion.indexOf("Win") +4).split(",");
		retPluginVer_r[0] = Number(retPluginVer_ra[0]);
		retPluginVer_r[1] = Number(retPluginVer_ra[1]);
		retPluginVer_r[2] = Number(retPluginVer_ra[2]);
	} else 	{

		plugin = pluginGetter();

		if (plugin) {
			retPluginVer = parseInt(plugin.description.substring(plugin.description.indexOf("Flash") +6));
			var retPluginVer_ra = plugin.description.substring(plugin.description.indexOf("Flash") +6).split(".");
			var retPluginVer_rb = retPluginVer_ra[1].split(" r");
			retPluginVer_r[0] = Number(retPluginVer_ra[0]);
			retPluginVer_r[1] = Number(retPluginVer_rb[0]);
			retPluginVer_r[2] = Number(retPluginVer_rb[1]);

		}
		//retPluginVer = parseInt(plugin.description.substring(plugin.description.indexOf(".") -1));
		
	} 




	// flash contents 溜め込み

	/*

	var x=0;

	var fpos=0;

	while (document.getElementsByTagName("script").item(x)) {

		var scriptObj = document.getElementsByTagName("script").item(x);	

		if((scriptObj.innerHTML.indexOf("FlashSetter") !=-1)&&(scriptObj.innerHTML.indexOf(getObj.idName))) {

			flashSavObj.ObjArray[fpos] = scriptObj;

			if(retPluginVer < getObj.specifiedVer){

				flashSavObj.SrcArray[fpos] = getObj.altSrc;

			} else {

 				flashSavObj.SrcArray[fpos] = getObjectElement();

			}

			fpos++;

		}

		x++;

	}

	*/

	// flash contents 出力

	document.open();

	var verOkFlg = true;

	if(getObj.specifiedVer.length >1) {

		if(retPluginVer_r[0]) {
			
			if(getObj.specifiedVer[0]>retPluginVer_r[0]) verOkFlg = false;

			if(verOkFlg) {
				if((getObj.specifiedVer[0]==retPluginVer_r[0])&&(getObj.specifiedVer[1]>retPluginVer_r[1])) verOkFlg = false;
			}

			if(verOkFlg) {
				if((getObj.specifiedVer[0]==retPluginVer_r[0])&&(getObj.specifiedVer[1]==retPluginVer_r[1])&&(getObj.specifiedVer[2]>retPluginVer_r[2])) verOkFlg = false;
			}

			if(verOkFlg == false){
				document.write(putAltURI() + '<p>Flash Player used now is version (' + retPluginVer_r[0] + '.' + retPluginVer_r[1] + '.' + retPluginVer_r[2] + ').<br>It is more necessary than version (' + getObj.specifiedVer[0] + '.' + getObj.specifiedVer[1] + '.' + getObj.specifiedVer[2] + ') for the reproduction of this contents.<br>Please install Flash player of the latest version.<\/p>' ); 
			} else {
 				document.write(getObjectElement());
			}
		
		} else {
			document.write(putAltURI() +'<p>Flash Player is not installed or it is invalid. <br>Please obtain and install latest flash Player when it is not possession. <\/p>');
		}
	
	} else {
		if(retPluginVer < getObj.specifiedVer){
			document.write(putAltURI() +'<p>Flash Player is not installed or it is invalid. <br>Please obtain and install latest flash Player when it is not possession. <\/p>');
		} else {
 			document.write(getObjectElement());
		}
	}
	
	if (getObj.fotSRC) document.write(getObj.fotSRC);

	document.close();




	//Method Active-x

	function ActiveXGetter() {

		var fAxol;

		var fVersion;

		var e;

		try {

			fAxo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");

			if(fAxo) fVersion = fAxo.GetVariable("$version");

		} catch (e) {

		}

		

		return fVersion;

	}



	//Method

	function pluginGetter () {

		if(navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"]){

			return navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin;

		}

	}



	//Method

	function putAltURI () {

		if (getObj.altURI != '') location.href = getObj.altURI;

		return getObj.altSrc;

	}



	//Method

	function putAltSrc () {

		if (getObj.altURI != '') return "";

		return getObj.altSrc;

	}



	//Method

	function getObjectElement (){

	//	if (window.opera)  return putAltURI();

		

		if (!getObj.swfFile || !getObj.width || !getObj.height || !getObj.idName) return "";

	

		retWork += '<Object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"';



		if(!getObj.disableCodebase){

			//retWork += ' codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0"';
			retWork +=' ' + pluginsURI.codeBase;

		}

		retWork += ' id="' + getObj.idName + '" width="' + getObj.width + '" height="' + getObj.height + '" name="' + getObj.idName + '">';

		retWork += '<param name="movie" value="' + getObj.swfDir + getObj.swfFile + '"/>';

		retWork += '<param name="quality" value="' + getObj.quality + '"/>';

		retWork += '<param name="bgcolor" value="' + getObj.bgcolor + '"/>';

		retWork += '<param name="menu" value="' + getObj.menu + '"' + '/>';

		if (getObj.wmode) retWork += '<param name="wmode" value="' + getObj.wmode + '"' + '/>';	//080701 addition

		if (getObj.salign) retWork += '<param name="salign" value="' + getObj.salign + '"' + '/>';

		if (getObj.scale) retWork += '<param name="scale" value=' + getObj.scale + '' + '/>';

		if (getObj.flashVars) retWork += '<param name="FlashVars" value="' + getObj.flashVars+ '"' + '/>';



		if ((navigator.appVersion.indexOf('Win',0) != -1 && navigator.appName.indexOf("Microsoft Internet Explorer",0) != -1) && !window.opera){

			retWork += putAltSrc();

		} else {

			getEmbedElement();

		}

		retWork += '</Object>';

		return retWork;

	}





	//Method

	function getEmbedElement(){

		

	/*

		if (Obj.moz_exec != 1 && (navigator.userAgent.indexOf("Gecko/") != -1)) return pfAltAction(Obj);



		if (Obj.macie4exec != 1 && (navigator.appVersion.indexOf('Mac',0) != -1)){

			if (navigator.appVersion.indexOf('MSIE 4.',0) != -1) return pfAltAction(Obj);

			if (navigator.appVersion.indexOf('MSIE 3.',0) != -1) return pfAltAction(Obj);

		}

	*/

		retWork += '<embed src="' + getObj.swfDir + getObj.swfFile + '"';

		retWork += ' menu="' + getObj.menu + '"';

		retWork += ' quality="' + getObj.quality + '"';

		if (getObj.wmode) retWork += ' wmode="' + getObj.wmode + '"';

		retWork += ' swLiveConnect="' + getObj.swLiveConnect + '"';

		retWork += ' bgcolor="' + getObj.bgcolor + '"';

		retWork += ' width="' + getObj.width + '"';

		retWork += ' height="' + getObj.height + '"';

		if (getObj.salign) retWork += ' salign="' + getObj.salign + '"';

		if (getObj.scale) retWork += ' scale="' + getObj.scale + '"';

		if (getObj.flashVars) retWork += ' FlashVars="' + getObj.flashVars + '"';

		retWork += ' type="application/x-shockwave-flash"';

		//retWork += ' pluginspage="' + pluginsURI[getObj.pluginLang] + '"';

		retWork += ' name="' + getObj.idName + '"';

		retWork += '></embed>';



		//return retWork;



	}




}





/*-----------------------

Anti-cash measure module

-----------------------*/

flashSetObj.getRandam = function(){

var retRndNum = Math.random()* 65535;

	if(retRndNum == 0){

		retRndNum =1;

	}else{

		retRndNum =Math.ceil(retRndNum);

	}

	return retRndNum;



}

