

function getPlayerAx( id ) {
    if( id == undefined ) id = "Player";
	var obj = new Object();
	obj.classid = 'clsid:80D3F494-8FA3-481E-B2CD-2B79970E7722';
	obj.id = id;
	obj.name = id;
	obj.codebase = 'http://music.daum.net/activex/player/DaumMusicPlayer.cab#version=2,0,2,0';
	obj.height = 560;
	var paramPlayer = [
	   ["DllURL", "JnOu7fIcVdTL6KNBAQmip6xcglADaDU5DLPb_twsIROOH-VSbOhygNKER6nJCEIjvuzGRaMkMxcrtFi8HMhQifkBV6Ho1yPsSIbKrJPe_KU0"]
	   ,["DllVersion", "CdRyudqTjuqqBzs4L.6Nhw00 "] // 2.0.3.5
	   ,["DebugMode", "so.oZfxfXFA0"]
	   ,["optionParam", "lZVY1zN2de2C1QW1JnGt2g00"]
	];
	obj.param = paramPlayer;	 
	
	obj.xmantitle = "Daum뮤직 플레이어"; // 타이틀명 (20 bytes 제한)
	obj.xmandesc = "는 Daum뮤직 서비스를 통해 음악을 듣기 위해 반드시 필요합니다."; // 설명 (110 bytes 제한)
	//obj.xmanupdate = "버전 업그레이드"; // 업데이트시 설명문구 (생략해도 됩니다.)
	obj.xmanvalidkey = "V5y5JPkvTLIZ48Nt.NwFThOwqlqn6mdWI1zUveK66eUyhkvEIsppC-ePFQMIW-gg7o-UjfNxJkeSb7KskDcJ2belXS4JctUaKBwcwzfHbTVV7uWr7BX-zAn7XWbmbqa5Hb7YmzipAOs0";
	return obj;
}

function getDownloaderAx( id ) {
	var obj = new Object();
	obj.classid = 'clsid:6F8C7464-921F-4BB3-BFFF-BF9B9007AE68';
	obj.id = id;
	obj.name = id;
	obj.codebase = 'http://music.daum.net/activex/downloader/DaumMusicDownloader.cab#version=1,0,3,3';
	// /js/downloader/download.js 에 g_szDaumDLX_Version의  버전도 동일하게 맞춰주세요 - 해당 파일은 외부업체에서 제공된 js를 merge한 파일입니다.
	
	obj.xmantitle = "Daum뮤직 다운로더"; // 타이틀명 (20 bytes 제한)
	obj.xmandesc = "는 Daum뮤직 서비스에서 구매한 MP3를 다운로드 받기 위해 반드시 필요합니다."; // 설명 (110 bytes 제한)
	//obj.xmanupdate = "버전 업그레이드"; // 업데이트시 설명문구 (생략해도 됩니다.)
	obj.xmanvalidkey = "WW4gvYsrxz583OvPGn..mjtu2tGlvdL9B7AudusRujXwKnOcC5aB4GyytdEwM4HkDyREuME4EowoRPTV6E.FgR5pfAk7mC7iPRW.onqq8tLS-fxDAnRczj.eUzNuZ-Y1rg-SG2EVbMfOtmMy4tToxg00";
	return obj;
}
var g_szDaumDLX_CodeBase = "http://music.daum.net/activex/downloader/DaumMusicDownloader.cab";
var g_szDaumDLX_Version  = "1,0,3,3";

/*
<object classid="clsid:6A2E758A-028B-46BB-A11D-0608AB5A4ED3" name="daumbgm" id="daumbgm" width="100" height="50">
  <param name="OIData" value="flH6jkii_UmF72Y.CQaTbzGosFLBozBbVlr6.ltnSS3Wbv.Jnk79YVydQthlXfWw" />
</object>
*/

function getBgmPlayerAx( id ) {
    if( id == undefined ) id = "BGMCtrl";
	var obj = new Object();
	obj.classid = 'clsid:6A2E758A-028B-46BB-A11D-0608AB5A4ED3';
	obj.id = id;
	obj.name = id;
	obj.codebase = 'http://music.daum.net/activex/bgm/DaumBgmPlayer.cab#version=0,0,2,0';
	obj.width = 100;
	obj.height = 50;
	var paramBgm = [
	   [ "OIData", "flH6jkii_UmF72Y.CQaTbzGosFLBozBbVlr6.ltnSS3Wbv.Jnk79YVydQthlXfWw" ]
	];
	obj.param = paramBgm;	
	
	obj.xmantitle = "Daum 배경음악 플레이어"; // 타이틀명 (20 bytes 제한)
	obj.xmandesc = "는 Daum에서 배경음악을 듣기 위해 반드시 필요합니다."; // 설명 (110 bytes 제한)
	//obj.xmanupdate = "버전 업그레이드"; // 업데이트시 설명문구 (생략해도 됩니다.)
	obj.xmanvalidkey = "NJXTWaZ_aYE7Kpsr3cr6EeR13jLijakrs8JGx3UGNGLmglnPPU.sBrR46jfk7MIN86YkJBxye9ncURyITWcM2BV_jp5vh2Nv9B15O6Tkcy6fcn5nyjQtdLFJdjSxX4xQ";
	return obj;
}




/*
[ActiveX.js]
UI Center 박한얼

- id와 name이 없을 경우는 daumActiveXObject[0~99]로 임의로 생성
- id와 name중 하나만 값을 넣을 경우, id와 name을 같은 값으로 설정
- id와 name의 값을 모두 지정한 경우, 해당값으로 설정
- width와 height를 지정하지 않은 경우는 100%를 기본값으로 설정
- codebase를 지정하지 않은 경우는 empty string으로 설정
- activeX에 필요한 파라미터는 한쌍의 배열로 name과 value를 지정

ex)
----------------------------------------------------------------
<div id="activeXControl"></div>
<script type="text/javascript" src="activeX.js"></script>
<script type="text/javascript">
<!--
var obj = new Object();
obj.type = 'application/x-shockwave-flash';
obj.classid = 'CLSID:A00B2A53-60D9-4477-ADA3-60490770C5E0';
obj.id = 'FileUpload';
obj.name = 'FileUpload';
obj.width = '100%';
obj.height = '126';
obj.codebase = '/hanmail-ax/hanmail.cab#version=1,0,0,21';

var param = [
    ['PID','30476'],
    ['ActionTime','20060123161002'],
    ['BIG_UploadURL','/Mail-bin/bigfile_attach.cgi'],
    ['BIG_PrecheckURL','/Mail-bin/bigfile_precheck.cgi'],
    ['BIG_ServerName','bigmail21.mail.daum.net'],
    ['MaxNormalSize','200480000'],
    ['MinBigFileSize','20480000'],
    ['MaxFileCount','10'],
    ['BIG_ExpireDay','7'],
    ['Normal_ServerName','premium65.daum.net'],
    ['Normal_UploadURL','/Mail-bin/attach_mail.frame_ax.cgi'],
];

obj.param = param;
daumActiveX(obj,'activeXControl');
// -->
</script>
----------------------------------------------------------------

* version history

- 1.0
  ; object, embed 태그를 js로 삽입
  ; ie의 경우 object 태그로, 이외의 경우 embed 태그로 activex 삽입

- 1.1
  ; 모질라의 경우 swf에 파라미터를 전달할 경우 flashvars를 src.swf?var=aaa로 값 전달 할 수 있도록 변경.

- 1.2
  ; IE에서 오랜시간 동안 '페이지 로딩 중...'으로 표시되는 문제 해결
  ; 모질라에서 wmode=transparent 안되던 문제 해결

- 1.3
  ; MS에서 제시한 구현방법대로 했을 경우 이미 설치된 ActiveX의 경우에는 문제가 없으나,
    아직 설치되지 않은 ActiveX의 경우 '설치하시겠습니까?'라는 창이 뜨지 않고, x-box로 표시되는 문제 해결.

----------------------------------------------------------------

* 새로운 버젼 적용 방법

- daumActiveX 함수만 최근 버젼으로 교체.
*/
var docTit='';

function daumActiveX(obj, div){
    if(obj.type == "application/x-shockwave-flash") docTit = document.title;

    // generate html code
    // for ie obejct
    var html = '<object ';
    if (!obj.id && !obj.name){
        var r = Math.round(Math.random()*100);
        html += 'id="daumActiveXObject'+r+'" name="daumActiveXObject'+r+'" ';
    } else {
        if (obj.id) html += 'id="'+obj.id+'" ';
        else html += 'id="'+obj.name+'" ';
        if (obj.name) html += 'name="'+obj.name+'" ';
        else html += 'name="'+obj.id+'" ';
    }
    if (obj.type) html += 'type="'+obj.type+'" ';
    if (obj.classid) html += 'classid="'+obj.classid+'" ';
    if (obj.width) html += 'width="'+obj.width+'" ';
    if (obj.height) html += 'height="'+obj.height+'" ';
    if (obj.codebase)   html += 'codebase="'+obj.codebase+'" ';
    if (obj.onError) html += ' onError="'+obj.onError+'" ';

    // append events
    if( obj.events != null && typeof(obj.events) != "undefined" ) {
        for (var i in obj.events ){
            if (obj.events[i]){
                html += obj.events[i][0]+'="'+obj.events[i][1]+'" ';
            }
        }
    }
    // end of object tag
    html += '>\n';
    // append params

    for (var i in obj.param){
    // for (var i =0; i < obj.param.length; i++ ){
        if( obj.param[i] != null && typeof(obj.param[i]) != "undefined" && typeof(obj.param[i]) != "function" && obj.param[i] != "______array" && obj.param[i] != "Array" ) {
            html += '<param name="'+obj.param[i][0]+'" value="'+obj.param[i][1]+'"/>\n';
        }
    }

    // for ns embed
    html += '<embed ';
    if (!obj.id && !obj.name){
        var r = Math.round(Math.random()*100);
        html += 'id="daumActiveXObject'+r+'" name="daumActiveXObject'+r+'" ';
    } else {
        if (obj.id) html += 'id="'+obj.id+'" ';
        if (obj.name) html += 'name="'+obj.name+'" ';
    }
    if (obj.type) html += 'type="'+obj.type+'" ';
    if (obj.width) html += 'width="'+obj.width+'" ';
    if (obj.height) html += 'height="'+obj.height+'" ';

    // append params
    for (var i in obj.param){
    // for (var i =0; i < obj.param.length; i++ ){
//      alert( obj.param[i] );
//      alert( typeof( obj.param[i] ) );
        if( obj.param[i] != null && typeof(obj.param[i]) != "undefined" && typeof(obj.param[i]) != "function" && obj.param[i] != "______array" ) {
            if (obj.param[i][0]!= null && (obj.param[i][0]=='movie' || obj.param[i][0]=='src')){
                var _src = obj.param[i][1];
            }
            if (obj.param[i][0]!= null &&  obj.param[i][0].toLowerCase()=='flashvars'){
                if (_src){
                    var tmpArr = html.split('src="'+_src+'"');
                    html = tmpArr[0]+' src="'+_src+'?'+obj.param[i][1]+'" '+tmpArr[1];
                } else {
                    obj.param[obj.param.length] = obj.param[i];
                }
            } else {
                html += obj.param[i][0]+'="'+obj.param[i][1]+'" ';
            }
        }
    }
    html += '/>\n';
    html += '</object>';
    

    var isIE = (document.all)?true:false;
    if (isIE){
        //window.setTimeout(showHtml.bind(this,div, html) , 100);
        document.getElementById(div).innerHTML = html;
    } else if (obj.type=='application/x-shockwave-flash' || obj.classid=='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000'){
        // ie외의 브라우저에서 activex가 flash인 경우만 노출
        document.getElementById(div).innerHTML = html;
    }
    if(obj.type == "application/x-shockwave-flash") document.title = docTit;
}

function showHtml(div, html) {
//      alert(div +":" + html);
    if(document.getElementById(div))
        document.getElementById(div).innerHTML = html;
}

// 한페이지에 한종류의 activeX가 복수개 삽입되는 경우 하단과 같이 function을 만들어서 사용
function daumFlash(src,width,height,div,allow, fvars){
    var obj = new Object();
    obj.type = 'application/x-shockwave-flash';
    obj.classid = 'clsid:d27cdb6e-ae6d-11cf-96b8-444553540000';
    obj.codebase = 'http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0';
    obj.wmode = 'transparent';
    obj.width = width;
    obj.height = height;

    if(!allow){
        allow = "sameDomain";
    }else{
        allow = "always";
    }
    if(!fvars){
        fvars = "";
    }
    var param = [
        ['movie',src],
        ['src',src],
        ['quality','high'],
        ['wmode','transparent'],
        ['allowScriptAccess', allow],
        ['bgcolor','#FFFFFF'],
        ['FlashVars',fvars],
        ['pluginspage','http://www.macromedia.com/go/getflashplayer']
    ];

    obj.param = param;
    daumActiveX(obj,div);
}

/*
어플개발팀 김학재
version: 2,0,0,6
*/


/*****************************************************/
/* 초기화 */
/*****************************************************/
/* 업데이트 정보 */
var _xman_codebase = 'http://mail.daum.net/hanmail-ax/DaumActiveX/2_0_0_6/DaumActiveX.cab';
var _xman_newver = '2,0,0,6';
var _xman_updateinfo = "http://mail.daum.net/hanmail-ax/DaumActiveX/2_0_0_6/updateinfo.txt";
var _xman_updateinfo_validkey ="d6C7LnVwqQ.qCbHMlPN-Hu7C2Y44dlKsPsZ_mnWshirndc29ZTSm6.qjRQTqp7JsFo5pynLj2Yt6c5mDnU2.rLwPLnrqHyLD";
/* 업데이트 정보 끝 */

var daumXman=null;
var curroot='';
var curpath='';
var _xman_cur_obj=null;
var _xman_dep_obj=null;
var _xman_cur_div='';
var _xman_dep_div=null;
var _timeout=0;

var _xman_just_updated = false;

//CS페이지 주소
var _csrul = 'http://cs.daum.net/daumfaq/top.jsp?SITE_ID=124';


var _err_handler=function(errstr){};

// URL이 아닌 주소를 완성하기 위한 현재페이지의 주소 파싱 //
var curhost = document.domain;
var curURL = document.URL;


if( curhost == '' )
// 로컬주소로 판별시 //
{
    if( res = curURL.match(/^(.+:\/\/\/?)(.+[\\\/])/) )
    {
        curroot = res[1];
        curpath = res[1] + res[2];
    }
}
else
// 웹주소로 판별시 //
{
    if( res = curURL.match(/^(.+:\/\/[^\/]+)(\/[^\?^#]+\/)/) )
    {
        curroot = res[1];
        curpath = res[1] + res[2];
    }
}


if(document.getElementById('daumXmanObject')==null)
// Xman을 페이지에 로드 //
{
    document.writeln('<div id="daumXmanObject" width="0" height="0" style="position:absolute;"></div>');
    document.writeln('<div id="daumXmanObjectPre" width="0" height="0" style="position:absolute;"></div>');
    document.close();
}

/*****************************************************/
/* 함수 정의 */
/*****************************************************/
//////////////// daumActiveXman ////////////////
function daumActiveXman(obj,div)
{
/// alert("daumActiveXman(obj,div)"+ obj + ", " + div);
    if(typeof(obj) == 'object' && obj.length > 0)
    {
        _xman_cur_obj = obj[0];
        _xman_dep_obj = obj;
        _xman_cur_div = div[0];
        _xman_dep_div = div;
    }
    else
    {
        _xman_cur_obj = obj;
        _xman_cur_div = div;
    }

    var ua = navigator.userAgent;
    // 브라우저에 찍히는 코드명 http://en.wikipedia.org/wiki/History_of_Microsoft_Windows#Current_NT_line_product_progression
/*  if(
        (
            ua.indexOf('Windows 98') != -1
            ||
            (ua.indexOf('Windows NT') != -1 && ua.indexOf('Windows NT 6.') == -1 ) // Vista 이상은 지원안함.
        )
    )
    {
    }
    else
    {
        daumActiveX(_xman_cur_obj,_xman_cur_div);
        _load_dep_obj();
        return false;
    }
*/
    // 보안성 검사 & codebase 수정 //
    if( _daumXmanCheckSecurity(_xman_cur_obj) == false )
    {
        daumActiveX(_xman_cur_obj,_xman_cur_div);
        _load_dep_obj();
        return false;
    }

    daumXman = document.getElementById('daumXman');
    if(daumXman==null)
    // Xman을 페이지에 로드 //
    {
        

        //setTimeout( function(){ daumActiveX(daumXmanobj,'daumXmanObject') }, 10 );
        var daumXmanobj = new Object();
		daumXmanobj.classid = 'CLSID:B9B38E70-EEF6-4E3A-AE84-DDE59A053B7C';
		daumXmanobj.id = 'daumXman';
		daumXmanobj.name = 'daumXman';
		daumXmanobj.width = '0';
		daumXmanobj.height = '0';
		daumXmanobj.codebase = _xman_codebase+'?ver='+_xman_newver+'#version=1,1,0,0'; //주의! 버전 수정하지말것, IE통한 업데이트는 일어나지 않도록.
		daumXmanobj.param = [];
		daumActiveX(daumXmanobj,'daumXmanObject')
        _wait(30000);
        //_wait(2000);
        return;
    }
    _daumActiveXman2();
}

function daumActiveXmanPre()
{
    daumXmanPre = document.getElementById('daumXmanPre');
    if(daumXmanPre==null)
    // Xman을 페이지에 로드 //
    {
        var daumXmanobjPre = new Object();
        daumXmanobjPre.classid = 'CLSID:B9B38E70-EEF6-4E3A-AE84-DDE59A053B7C';
        daumXmanobjPre.id = 'daumXmanPre';
        daumXmanobjPre.name = 'daumXmanPre';
        daumXmanobjPre.width = '0';
        daumXmanobjPre.height = '0';

        daumActiveX(daumXmanobjPre,'daumXmanObjectPre');
    }
}

function _wait(msec)
{
    var __intv = 500;
    if( msec > 0 )
    {
        _timeout = msec;
    }

    _timeout -= __intv;

    try
    {
        daumXman = document.getElementById('daumXman');
        
        if( typeof(daumXman.Version) == 'string' )
        {
            _daumActiveXman2();
        }
        else
        {
            if( _timeout == 0 )
            {
                _daumActiveXman2();
                return;
            }
            else
            {
                setTimeout('_wait(0)',__intv);
            }
        }

    }
    catch (e)
    {
        daumActiveX(_xman_cur_obj,_xman_cur_div);
        _load_dep_obj();
    }
}

function _daumActiveXman2()
{
    // 설치나 업데이트 필요여부 확인 //
    if( typeof(daumXman.Version) != 'string')
    {
        daumActiveX(_xman_cur_obj,_xman_cur_div);
        _load_dep_obj();
        return false;
    }
    else
    if( daumXman.isEnabled() == false )
    {
        daumActiveX(_xman_cur_obj,_xman_cur_div);
        _load_dep_obj();
        return false;
    }



    /* 자체 업데이트 처리 */
    if( daumXman.needUpdate('{B9B38E70-EEF6-4E3A-AE84-DDE59A053B7C}',_xman_newver) )
    {
        err = daumXman.updateSelf(_xman_updateinfo,_xman_updateinfo_validkey);
        if( err == false )
        {
            daumActiveX(_xman_cur_obj,_xman_cur_div);
            _load_dep_obj();
            return false;
        }
        else
        {
            _xman_just_updated = true;
        }
    }
    /* 자체 업데이트 처리끝 */


    if( daumXman.needInstall(_UUID(_xman_cur_obj.classid)) == true )
    {
        _daumXmanShowInstall(false,false);
        return true;
    }
    else
    if( _xman_cur_obj.codebase && daumXman.needUpdate(_UUID(_xman_cur_obj.classid),_VER(_xman_cur_obj.codebase)) )
    {
        _daumXmanShowInstall(true,false);
        return true;
    }
    else
    {
        daumActiveX(_xman_cur_obj,_xman_cur_div);
        _load_dep_obj();
        return true;
    }
}


/*****************************************************/
/* 내부적으로 사용하는 함수들 */
/*****************************************************/

////////////// Util ///////////////

function _UUID(classid)
{
    return '{'+classid.substr(6)+'}';
}

function _VER(codebase)
{
    var res = codebase.match(/#version=(.+)$/i);
    return res[1];
}

function _daumXmanCheckSecurity(obj)
{
    var codebase = obj.codebase;
    if( !codebase ) return false;

    var res;

    // URL검사 //
    var urlOK = false;
    if( res = codebase.match(/^(.+):\/\//) )
    // URL의 프로토콜형식을 따르면 //
    {
        if( res[1] == 'http' || res[1] == 'https' )
        // 지원하는 프로토콜이면 //
        {
            urlOK = true;
        }
        else
        {
            urlOK = false;
        }
    }
    else
    // 절대 또는 상대경로라면 //
    {
        // 절대경로 // curroot 를 붙여준다.
        if( codebase.substr(0,1) == '/' )
        {
            codebase = curroot + codebase;
            urlOK = true;
        }
        // 상대경로 // curpath 를 붙여준다.
        else
        {
            codebase = curpath + codebase;
            urlOK = true;
        }
    }
    obj.codebase = codebase;

    // URL검사 결과처리 //
    if( urlOK == false )
    {
        return false;
    }


    // 도메인검사 //
    var domainOK = false;
    if( res = obj.codebase.match(/.+:\/\/([^\/]+)\//))
    {
        var _d = res[1];
        if(
            _d.match(/^(daum|hanmail)\.net$/i)
            ||
            _d.match(/\.(daum|hanmail)\.net$/i)
            ||
            _d.match(/^(daum|hanmail)\.net:\d+$/i)
            ||
            _d.match(/\.(daum|hanmail)\.net:\d+$/i)
        )
        {
            domainOK = true;
        }
        else
        {
            domainOK = false;
        }
    }

    // 도메인검사 결과처리 //
    if( domainOK == false )
    {
        return false;
    }

    return true;
}

function _load_dep_obj()
{
    if( _xman_dep_obj!=null && _xman_dep_obj.length > 1 )
    {
        for(var i=1; i<_xman_dep_obj.length; i++)
        {
            daumActiveX(_xman_dep_obj[i],_xman_dep_div[i]);
        }
    }
}
// _xman_cur_obj;
// _xman_cur_div;
function _daumXmanShowInstall(isUpdate,force)
{
    var msg;
    if( isUpdate && _xman_cur_obj.xmanupdate )
    {
        msg = ' <font color="#80602A"><b>버전 ' + _VER(_xman_cur_obj.codebase) + '으로 업데이트</b></font><br>';
        msg += _xman_cur_obj.xmanupdate;
    }
    else
    {
        msg = _xman_cur_obj.xmandesc;
    }

    /* 설치안함 지정시 */
    if( force == false )
    {
        // 업데이트가 필요없고, _xman_just_updated도 false 일때
//      if( (!daumXman.needUpdate('{B9B38E70-EEF6-4E3A-AE84-DDE59A053B7C}', "1,2,0,0")) ) // 1, 1, 0, 0 에서는 지원안됨.
//      {
            // 저장된 값대로 분기
            var saved = daumXman.getSaved(_xman_cur_obj.xmantitle);
            if( saved == 1 ) //바로 설치
            {
                _daumXmanInstall(isUpdate);
                return;
            }
            else if(saved == 0 )
            {
                if( _xman_cur_obj.xmanhidden == true )
                {
                }
                else
                {
                    _daumXmanInstallFailed(isUpdate);
                    return;
                }
            }
//      }
//      else
//      {
//      }
    }

    if( daumXman.confirm(_xman_cur_obj.xmantitle,msg,_csrul,isUpdate,false) )
    {
        _daumXmanInstall(isUpdate);
    }
    else
    {
        _daumXmanInstallFailed(isUpdate);
    }
}

function _daumXmanShowFail(isUpdate)
{
    var msg;
    if( isUpdate && _xman_cur_obj.xmanupdate )
    {
        msg = ' <font color="#80602A"><b>버전 ' + _VER(_xman_cur_obj.codebase) + '으로 업데이트</b></font><br>';
        msg += _xman_cur_obj.xmanupdate;
    }
    else
    {
        msg = _xman_cur_obj.xmandesc;
    }

    if( daumXman.confirm(_xman_cur_obj.xmantitle,msg,_csrul,isUpdate,true) )
    {
        _daumXmanInstall(isUpdate);
    }
    else
    {
        // 설치 실패시 거부하면 Xman이 설치를 시도하지 않음.
        daumActiveX(_xman_cur_obj,_xman_cur_div);
        _load_dep_obj();
    }
}

// 설치
function _daumXmanInstall(isUpdate)
{
    //location = _xman_cur_obj.codebase;
    err = daumXman.install(_UUID(_xman_cur_obj.classid),_VER(_xman_cur_obj.codebase),_xman_cur_obj.codebase,_xman_cur_obj.xmantitle,_xman_cur_obj.xmanvalidkey);
  if ( err == -99 )
    {
        daumActiveX(_xman_cur_obj,_xman_cur_div);
        _load_dep_obj();
    }
    else if( err == 0 )
    {
        daumActiveX(_xman_cur_obj,_xman_cur_div);
        _load_dep_obj();
    }
    else
    {
        _daumXmanShowFail(isUpdate);
    }
}


function _daumXmanInstallFailed(isUpdate)
{
    if( _xman_cur_obj.xmanhidden == true ) return;

    var isUpdateStr;
    if( isUpdate == true )
        isUpdateStr = 'true';
    else
        isUpdateStr = 'false';

    var html = '';

    if( _xman_cur_obj.xmanmsgtype == 1 )
    {

        html += '<div style="position:relative; width:'+_xman_cur_obj.width+'; height:'+_xman_cur_obj.height+'; background-color:#EEEEEE;">';
        html += '<div style="color:#515151; top:50%; left:50%; height:0px; width:0px; position:absolute; z-index:10; background-color:#444444;">';

        html += '<div style="border:solid 1px #dddddd; background-color:#FFFFFF; width:160px; text-align:center; position:absolute; left:-80px; top:-10px;">';
        html += '<a href="#" title="폰샷사진편집기설치" style="text-decoration:none;font-family:돋움,dotum;font-weight:bold;color:#ff6633;font-size:8pt;letter-spacing:-1px;" onmouseover="this.style.textDecoration=\'underline\'" onmouseout="this.style.textDecoration=\'none\'"  onclick="_daumXmanShowInstall('+isUpdateStr+',true);">';
        html += '<img src="http://image.hanmail.net/hanmail/s_img/xman/i_xmandown.gif" width="9" height="12" border="0" alt="" style="vertical-align:middle;margin-bottom:3px;">';
        html += _xman_cur_obj.xmantitle;
        html += '설치 <img src="http://image.hanmail.net/hanmail/s_img/xman/b_xmango.gif" width="17" height="12" border="0" alt="" style="vertical-align:middle;margin-bottom:3px;"></a></div>';

        html += '</div>';
        html += '</div>';

    }
    else
    {
        html += '<div style="position:relative; width:'+_xman_cur_obj.width+'; height:'+_xman_cur_obj.height+'; z-index:15000">';
        html += '<div style="color:#515151; top:50%; left:50%; height:0px; width:0px; position:absolute; z-index:10;">';
        html += '<div style="color:#515151; top:-28px; left:-150px; width:200px; height:26px; position:absolute; z-index:10;color:#515151; font-size:12px;border:1px solid #666; background:url(http://cafeimg.hanmail.net/cto/images/x_icon01.gif) no-repeat -10px -25px #eee;overflow:hidden;">';
        html += '<p style="padding:6px 0;text-indent:15px;">';
        html += '       <a href="javascript:;" onclick="_daumXmanShowInstall('+isUpdateStr+',true);" style="color:#666;"><strong style="font-size:13px; color:#355C77;">'+_xman_cur_obj.xmantitle+'</strong> 설치</a>';
        html += '</p>';
        html += '</div>';
        html += '</div>';
        html += '</div>';

    }

    if( _xman_cur_obj.xmanmsgdiv )
    {
        document.getElementById(_xman_cur_obj.xmanmsgdiv).innerHTML = html;
    }
    else
    {
        //document.getElementById(_xman_cur_div).innerHTML = html;
        var msg = "이전에 Active-X를 자동으로 설치하지 못하셨습니다. 수동설치를 진행하시겠습니까?";
        var playerInstaller = "http://music.daum.net/activex/player/module/2_0_3_2/Daum_Musicplay.exe";
        //var downloaderInstaller = "http://music.daum.net/activex/player/module/2_0_3_2/Daum_Musicplay.exe";
        var downloaderInstaller = "http://music.daum.net/activex/downloader/Daum_Musicdown.exe";
        var bgmplayerInstaller = "http://music.daum.net/activex/bgm/Install_DaumBGMPlayer.exe";
		if( confirm( msg ) ){
		    switch( _xman_cur_obj.id ){
		    case "PlayerHandle":// 본문, 플레이어 핸들러
		    case "aodPlayerHandleAx":// 미니플레이어 (게시판)
		    case "Player":// 플레이어 팝업창 
		        location.href=playerInstaller;
		        break;
		    case "xManConfirm":// 다운로더
		        location.href=downloaderInstaller;
		        break;
		    case "BGMPlayer":// BGM플레이어
                location.href=bgmplayerInstaller;
                break;
		    default:
		        alert( _xman_cur_obj.id + "의 설치 기능이 추가되지 않았습니다.");
		    }
		} else {
		    if( opener ){
		        self.close();
		    } else {
                document.location.reload();
            }
		}
    }
}

