// Ver 1.1
// # 2009. 01. 08  15:57:30  ***modify by joy***
// 이재욱
// 2009. 08. 04  16:53:34
var panLoadInfo = {
	ProgID : "FirstLoad.PanLoader.1",
	ID : "Loader",
	NAME : "Loader",
	CLASSID : "clsid:8218BB3D-2D62-4719-B6EC-FEBE7A079CBD",
	CODEBASE : "http://imgcdn.pandora.tv/pan_img/app/FirstLoad1.0.0.3.cab#version=1,0,0,3",
	Installer_CLASS : '{92A60D3C-E725-4C2E-AE49-BD90103A9369}',
	Installer_IID : '{E6787D69-D5FB-49AA-815A-D6ACE45035AB}'
};

var miniAxInfo = {
	ID : "MiniAX",
	NAME : "MiniAX",
	CLASSID : "clsid:4D28696D-65D6-4C2F-9471-545CE7B61624",
	Installer_HOST : 'imgcdn.pandora.tv',
	Installer_File : '/pan_img/app/MiniAX_1.0.0.141.zip',
	CODEBASE : "MiniAX.ocx#version=1.0.0.141",
	Installer_Version : "MiniAX.ocx#1.0.0.141"
//*/
};


var browser = function () {
	var agent = navigator.userAgent.toLowerCase();
	return (agent.indexOf("msie") != -1 && agent.indexOf("opera") == -1 ? "IE" : (agent.indexOf("opera") != -1 ? "OP" : (agent.indexOf("chrome") != -1 ? "CR" : (agent.indexOf("safari") != -1 ? "SF" : (agent.indexOf("firefox") != -1 ? "FF" : "ETC")))));
}


var loadActiveX = {
	installCheck : [],
	_construct : function (loadPan)
	{
		this.installCheck["PanLoader"] = this.setLoad(panLoadInfo);
		if (this.installCheck["PanLoader"])
		{

			this.setActiveX(panLoadInfo); //판로더 로더
			this.setActiveXInstall(miniAxInfo, 0); //MiniAX 업데이트 OR 설치
			this.setActiveX(miniAxInfo); //MiniAX 로더
			this.runStreamer();
		}
		else
			if (loadPan)
				this.setActiveX(panLoadInfo);
	},

	setLoad : function(loadObj)
	{
		try
		{
			var obj = new ActiveXObject(loadObj.ProgID);
			if (obj)
				return true;
		}
		catch(e)
		{
			return false;
		}
	},

	isInstalled : function (Exename)
	{
		var k = 0;
		try
		{
			k = MiniAX.rtnEventSetupState(Exename);
		}
		catch (e) { }
		return k;
		// 0 : 설치 안된
		// 1 : 설치 되어 있슴
	},

	miniAxInstall : function (Exename)
	{
		var k = '';
		k = MiniAX.EventSetupRun(Exename);
		return k;
		// 0 : 설치 오류
		// 1 : 설치 완료
	},

	setActiveXInstall : function(installAX, perm)
	{
		var ret;
		var Installer;
		if (this.isInstalled["PanLoader"]==false) this.setActiveX(panLoadInfo);

		if( perm == 0 ) Installer = Loader.CreateInstanceNormal(panLoadInfo.Installer_CLASS,panLoadInfo.Installer_IID);
		else Installer = Loader.CreateInstance(panLoadInfo.Installer_CLASS,panLoadInfo.Installer_IID);

		Installer.Host = installAX.Installer_HOST;
		Installer.File = installAX.Installer_File;
		Installer.Level = perm;
		Installer.Version = installAX.Installer_Version;

		ret = Installer.Install();
		//alert(ret);
		// 기타 에러 0
		// 성공 1
		// 파일 다운 실패 2
		// 파일 다운 실패 3
		// 파일 다운 실패 4
		// 파일 다운 실패 5
		// 파일읽기 실패 6
		// 인터페이스 얻기 실패 7
		// 잘못된 URL 8
		// 시스템 폴더 구하기 실패 9
		// 잘못된 파라미터 10
		// 파일 생성 실패 11
		// 파일 쓰기 실패 12
		// 파일 등록 실패 13
		// 설치 취소 14
		// 압축풀기 에러 15
		// 브라우져 종료 16
		// 설치 안해도 됨 17
		// 버전 정보 잘못됨 18
		// OCX 사용중 19
		// admin 권한이 필요하다 20
		switch( ret )
		{
		case 1:
		case 17:
	//		this.setActiveX(installAX);
		break;
		case 20:
			this.setActiveXInstall(installAX, 1);
			break;
		default: ; break;
		}
	},
	setActiveX : function(loadObj)
	{
		This= this;
		if (document.getElementById('activeXLauncher')) {
			var objLoad = '<OBJECT';
			if (loadObj.ID)			objLoad += ' id="' + loadObj.ID + '"';
			if (loadObj.NAME)		objLoad += ' name="' + loadObj.NAME + '"';
			if (loadObj.CLASSID)	objLoad += ' classid="' + loadObj.CLASSID + '"';
			if (loadObj.CODEBASE)	objLoad += ' codebase="' + loadObj.CODEBASE + '"';
									objLoad += ' width="0" height="0"></OBJECT>';
			document.getElementById('activeXLauncher').innerHTML = document.getElementById('activeXLauncher').innerHTML+objLoad;
		}
		else
			setTimeout(function () {This.setActiveX(loadObj);}, 500);
	},
	runStreamer : function ()
	{
		try
		{
			MiniAX.ReturnLiteSetup("OnlyLite", "KR");
		}
		catch (e)
		{

		}
	}
}

var timeOutId;
var installProgram, isPccheck, isEclean, isTabalm, isSmartOn, isGreenOpen, isKeyword, isAutoGet, isNeov;
var installRun = false;
var nowAgree = "agreeTab1";
var viewInstaller =
{
	divView : function ()
	{
		if (loadActiveX.setLoad(panLoadInfo))
		{
//			isPccheck		= loadActiveX.isInstalled('pccheck.exe');
//			isMini2			= loadActiveX.isInstalled('mini2.exe');
//100114 키워드플러스바 -- 탭알리미 교체
//			isKeyword		= loadActiveX.isInstalled('keywordplusbar.exe');

			isSmartKeyword	= loadActiveX.isInstalled('smartkeyword.exe');

			isGreenOpen		= loadActiveX.isInstalled('greenopen.exe');
			isTabalrimi		= loadActiveX.isInstalled('pandoratabdown.exe');
			isAutoGet		= loadActiveX.isInstalled('autoget.exe');

			//업체추가 - 유저스캔 added 100111 by ryan.lee
			isUserScan		= loadActiveX.isInstalled('userscan.exe');
			//업체추가 - 판도라AIR added 100111 by ryan.lee
			isPandoraAir	= loadActiveX.isInstalled('pandoraair.exe');

			// 2010-03-03 업체 추가 메디캅 smith.oh
			isMedicap		= loadActiveX.isInstalled('mediccop_pandora.exe');

			isNeov			= 0;
			isPccheck		= 1;
			//isTabalrimi		= 1; //100114 키워드플러스바 <-> 탭알리미 교체
			isKeyword = 1
			isMini2			= 1;
//			isSmartKeyword	= 1;

/* 묶음 상품 (3중 하나만 안깔려 있어두 깔리는 화면이 나오면 됨 */
/*
			isGreenOpen		= 1;
			isKeyword		= 1;
			isAutoGet		= 1;
*/
			isMedicap	= 1;

			//if (isGreenOpen == 1 && isKeyword == 1 && isAutoGet == 1) {  //100114 키워드플러스바 <-> 탭알리미 교체
			if (isGreenOpen == 1 && isTabalrimi == 1 && isAutoGet == 1) {
				isNeov		= 1;
			}

			//랜덤 출력
			var nowTime = new Date();
			var nowSeconds = nowTime.getSeconds();

//			if (isPccheck == 0 && isSmartKeyword==0 && isTabalrimi==0)
//			if (isPccheck == 0 && isTabalrimi==0 && isMini2 == 0) {
//			if (isTabalrimi==0 && isMini2 == 0) {

/* -- 노출 순서 결정(네오브이 미니2) - 시간 계산 random 노출
			if (isNeov == 0 && isMini2 == 0) {
				if (nowSeconds%2==1)
					installProgram = "neov";
				else
					installProgram = "smartKeyword";

			} else {

				if (isPccheck==0)
					installProgram = "pccheck";
				else if (isTabalrimi==0)
				if (isTabalrimi==0)
					installProgram = "tabalrimi";
				else if (isMini2==0)
					installProgram = "mini";
				else if (isSmartKeyword==0)
					installProgram = "smartKeyword";


				if (isNeov == 0)
					installProgram = "neov";
				else if (isSmartKeyword == 0)
				  if
					installProgram = "smartKeyword";
			}
 */
// 노출순서 - 월1~일0 1.네오브이 2.유저스캔 3.스마트키워드 100205
    				if (isNeov == 0)
    					installProgram = "neov";
    				else if (isUserScan == 0)
    					installProgram = "userscan";
    				else if (isMedicap == 0)
    					installProgram = "medicap";
    				else if (isSmartKeyword == 0)
    					installProgram = "smartKeyword";
            //else 문 기술시 무조건 실행(?)되기 때문에 기술하지 마세요.
		}
		else
			installProgram = "notActivex";

		if (installProgram) {
			document.getElementById("flvIcf").style.display="none";
			document.getElementById("divPlayer").style.display="none";
			document.getElementById("divActiveX").style.display="";
			document.getElementById("divActiveX").innerHTML = eval("install_"+installProgram);
		}

		/* event create smith.oh 2009-12-01 start */
		/* --
		try { Event.observe("agreeTab1", "click", function () {
				var obj = Event.element(arguments[0]);

				if (nowAgree != "agreeTab1") {
					$("agreeArea").innerHTML	= eval(obj.getAttribute("agreename"));
					$(nowAgree).className		= "tabOff";
					$("agreeTab1").className	= "tabOn";
					nowAgree = "agreeTab1";
				}
			}) } catch(e) {}
		try { Event.observe("agreeTab2", "click", function () {
			if (nowAgree != "agreeTab2") {
				var obj = Event.element(arguments[0]);

					$("agreeArea").innerHTML	= eval(obj.getAttribute("agreename"));
					$(nowAgree).className		= "tabOff";
					$("agreeTab2").className	= "tabOn";
					nowAgree = "agreeTab2";
				}
			}) } catch(e) {}
		try { Event.observe("agreeTab3", "click", function () {
				var obj = Event.element(arguments[0]);

				if (nowAgree != "agreeTab3") {
					$("agreeArea").innerHTML	= eval(obj.getAttribute("agreename"));
					$(nowAgree).className		= "tabOff";
					$("agreeTab3").className	= "tabOn";
					nowAgree = "agreeTab3";
				}
			}) } catch(e) {}
			-- */
		/* event create smith.oh 2009-12-01 end */

/* 구찮아 -_-;;; 언제 지울지 모름 이재욱 2009. 06. 17  18:29:16 */
		if (installProgram=="pccheck") {

			document.getElementById("AgreeCheck").onclick = function () {
				if (document.getElementById("AgreeCheck").checked == true)
				{
					document.getElementById("AgreeCheck").checked = true;
					document.getElementById("AgreeCheck1").checked = true;
					document.getElementById("AgreeCheck2").checked = true;
				}
				else
				{
					document.getElementById("AgreeCheck").checked = false;
					document.getElementById("AgreeCheck1").checked = false;
					document.getElementById("AgreeCheck2").checked = false;
				}
			}
			document.getElementById("AgreeCheck1").onclick = function () {
				if (document.getElementById("AgreeCheck1").checked == true)
				{
					document.getElementById("AgreeCheck").checked = true;
					document.getElementById("AgreeCheck1").checked = true;
					document.getElementById("AgreeCheck2").checked = true;
				}
				else
				{
					document.getElementById("AgreeCheck").checked = false;
					document.getElementById("AgreeCheck1").checked = false;
					document.getElementById("AgreeCheck2").checked = false;
				}
			}
			document.getElementById("AgreeCheck2").onclick = function () {
				if (document.getElementById("AgreeCheck2").checked == true)
				{
					document.getElementById("AgreeCheck").checked = true;
					document.getElementById("AgreeCheck1").checked = true;
					document.getElementById("AgreeCheck2").checked = true;
				}
				else
				{
					document.getElementById("AgreeCheck").checked = false;
					document.getElementById("AgreeCheck1").checked = false;
					document.getElementById("AgreeCheck2").checked = false;
				}
			}
		}

/* 구찮아 -_-;;; 언제 지울지 모름 이재욱 2009. 06. 17  18:29:16 */
		if (installProgram) {
			timeOutId = window.setTimeout(function(){
				viewInstaller.divClose(true);
			}, 10000);
		} else {
			exit_extend_ad(1, 'endSetup');
		}


		//document.getElementById("wiselogdiv").innerHTML = "<iframe src='http://www.pandora.tv/wiselog/pccheck.ptv?stats=open' width='0' height='0'></iframe>";
	},
	divClose : function ()
	{
		var Installed = arguments[0];
		window.clearTimeout(timeOutId);
		document.getElementById("flvIcf").style.display="";
		document.getElementById("divPlayer").style.display="";
		document.getElementById("divActiveX").style.display="none";
		exit_extend_ad(1, 'endSetup');
	},
	divEndClose : function ()
	{
		document.getElementById("flvIcf").style.display="";
		document.getElementById("divPlayer").style.display="";
		document.getElementById("divActiveX").style.display="none";
		exit_extend_ad(1, 'endSetup');
	},
	divProgress : function (obj)
	{
		var el = Event.element(obj);
		if (el.id != undefined && (el.id == "agreeTab1" || el.id == "agreeTab2" || el.id == "agreeTab3" || el.id == "AgreeCheck")) {
			return;
		}
		if (installRun == true) {
			return;
		}
		installRun = true;

		if (document.getElementById("AgreeCheck").checked==false)
		{
			alert("약관에 동의함에 체크 하십시요");
			installRun = false;
			return false;
		}
		if (installProgram=="pccheck")
		{
			loadActiveX.miniAxInstall('pccheck.exe');
			document.getElementById("divActiveX").innerHTML = eval("complate_"+installProgram);
		}
/* -- //100114 키워드플러스바 <-> 탭알리미 교체
		else if (installProgram=="tabalrimi")
		{
			loadActiveX.miniAxInstall('tabalrimi.exe');
		}
-- */
		else if (installProgram=="smartKeyword")
		{
			loadActiveX.miniAxInstall('smartKeyword.exe');
		}
		else if (installProgram == "mini") {
			loadActiveX.miniAxInstall('mini2.exe');
		}
		else if (installProgram == "neov") {
			loadActiveX.miniAxInstall('autoget.exe');
			loadActiveX.miniAxInstall('greenopen.exe');
			loadActiveX.miniAxInstall('pandoratabdown.exe');
		}
		else if (installProgram == "AutoGet"){
			loadActiveX.miniAxInstall('autoget.exe');
		}
		else if (installProgram == "userscan"){
			loadActiveX.miniAxInstall('userscan.exe');
		}
		else if (installProgram == "pandoraAir"){
			loadActiveX.miniAxInstall('pandoraair.exe');
		}
		else if (installProgram == "medicap"){
			loadActiveX.miniAxInstall('mediccop_pandora.exe');
		}
		/* 업체 추가 else if */

		this.divComplete();
	},
	divComplete : function ()
	{
		setTimeout(function () { viewInstaller.divClose(true) }, 1000);
	}
}

