// --------------------------------------------
// CopyRight : Penta Security System,.Co.Ltd
// authors   : Gi Tack, Lee
// Email     : snaiper@pentasecurity.com
// --------------------------------------------

// declare penta namespace
if (!penta)          var penta = {};
if (!penta.vista)    penta.vista = {};
if (!penta.vista.js) penta.vista.js = {};

// function defintion in penta.vista.js namespace
penta.vista.js = 
{

  initActiveXElevatedObject: function (objectId)
  {
     if (objectId == null) return false;

     var version = navigator.userAgent || navigator.appVersion;

     // IE7, Vista : Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)
     var ieIdx    = version.indexOf('MSIE 7.0');
     var vistaIdx = version.indexOf('Windows NT 6.0');

     if (ieIdx == -1 || vistaIdx == -1)
        return false;
     
     var prxObj = document.getElementById('ProxyObject');
     if (prxObj == null)
     {
         alert('Not Found Vista ActiveX Helper');
         return false;
     }

     var oldObj = document.getElementById(objectId);
     var cls_id = '{' + oldObj.classid.substring(6) + '}';
     if (oldObj != null) oldObj.parentNode.removeChild(oldObj);
     
     try
     {
	    //alert(cls_id);
        var elevatedObj = prxObj.createElevatedObject(cls_id);
		//alert(elevatedObj);
        document[objectId] = elevatedObj;
		//alert(document[objectId]);
     }
     catch(err)
     {
        if (err.number == -2147467260) {}//alert('eGEBS_vista.cab를 설치해주십시요.');
        else if (err.number == -2146827850) return false; // ProxyObject 미설치시
        else                           alert('예상치 못한 에러입니다. 개발사에게 문의하여 주십시오.');
     }

     return true;
  }
}
