/*Made by Kojomina Irina 06.09.2010
Скрипт, определяющий какие компоненты установлены и их версию
*/ 


 var instal = "";
 var nonInst = "";
 var versHP = "";
 var versC = "";
 var versRT = "";  
 var MyShell = null;  
 var fso = null;
 var warnAX = "";
 
 function getW()
 {
   var w = "";
   w += "sfs";
   return w;
 }
     
  function checkActiveX()
  {
    try
	{
	  if (!((MyShell = new ActiveXObject("WScript.Shell")) && (fso = new ActiveXObject("Scripting.FileSystemObject"))))
	  {
	    return false;
      }
	  else
	  { 
	    return true;
      }
	}
	catch(err)
	{
	   return false;
	}
  }
  
  //Функция, проверяющая блокировку всплывающих окон 
  function checkPopup()
  {
    if (checkActiveX()) 
	{
	  try
	  {
	    var sNPopup = MyShell.RegRead("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\2\\1809");
	    var IPopup = MyShell.RegRead("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\3\\1809");
        if (checkSafeNodes())
		{
	      if (sNPopup == 3) 
	      {	 
            return true;
	      }
	      else
	      {
	        return false;
	      }
		}
        else
        {
		  if (IPopup == 3)
		  {
		    return true;
		  }
		  else
		  {
		    return false;
		  }
        }		
	    
	    MyShell.Close(); 
	  }
	  catch (err)
	  {
	    return false;
	  }
	}
    else
    {
	  return false;
	}
	
  }   
    
 //**************************** 



 
function getWarnA()
{
  var warn = "";
   
  if (!(checkActiveX()))
  {
    
    warn += '<h2 class = "warning"><img src = "/RSPortal/images/warning01.gif" width = "14" height = "14"/>Запуск элементов ActiveX запрещен!!!</h2>';
    warn += '<p class = "helpMore">Вам необходимо изменить настройки браузера. &nbsp;';
    warn += '<a href = "hlpActiveX.htm" target = "_blank" class = "helpMore">Подробнее</a></p>';		
  }
  else
  {
    warn += "";
  }
  return warn;
}

/*function CopyCert()
{
  var path = "";
  if (checkActiveX())
  {
    var path1 = "C:\\koren.cer";
    userName = MyShell.RegRead("HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon\\DefaultUserName");
    var path2 = "C:\\Documents and Settings\\"+userName+"\\Local Settings\\Temporary Internet Files";		
	
	if (fso.FolderExists(path2))
	{
	  var file = fso.GetFile(path1);
	  try
	  {
	    file.Copy("C:\\Documents and Settings\\koren.cer");
		alert ("aa");
	   }
	   catch(er)
	   { 
	     alert ("bb");
	   }
	 
	  //path = path2 + "\\koren.cer"; 
	  //alert(path);	  
	}
	else
	{
	   alert ("Директория " + path2 + " не существует!!!");
	}	
  }
  else
  {
    alert ("Невозможно скопировать корневой сертификат! Запуск элементов ActiveX запрещен!!!");
  }  
}*/


function getWarnP()
{
  var warn = "";
  if (checkActiveX())
  {
    if (!(checkPopup()))
    {
     warn += '<h2 class = "warning"><img src = "/RSPortal/images/warning01.gif" width = "14" height = "14"/>Всплывающие окна заблокированы!!!</h2>';
     warn += '<p class = "helpMore">Вам необходимо изменить настройки браузера. &nbsp;';
     warn += '<a href = "hlpPopup.htm" target = "_blank" class = "helpMore">Подробнее</a></p>';   
    }
    else
    {
      warn += "";
    }    
  }
  return warn;
 } 
 
 //Check safe nodes   
 function checkUbZv()
 {
    if (checkActiveX())
	{
	  try
	  {
	    var ubZv = MyShell.RegRead("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\ZoneMap\\Domains\\unicreditbank.kg\\*");	
		return true;
		MyShell.Close();
	  }
	  catch(err)
	  {
	    return false;
	  }
	}
	else
	{
	  return false;
	}   
 }
 
 function checkUbHttp()
 {
    if (checkActiveX())
	{
	  try
	  {
	    var ubHttp = MyShell.RegRead("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\ZoneMap\\Domains\\unicreditbank.kg\\http");	
		return true;
		MyShell.Close();
	  }
	  catch(err)
	  {
	    return false;
	  }
	}
	else
	{
	  return false;
	}   
 }
 
 function checkUbHttps()
 {
    if (checkActiveX())
	{
	  try
	  {
	    var ubHttps = MyShell.RegRead("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\ZoneMap\\Domains\\unicreditbank.kg\\https");	
		return true;
		MyShell.Close();
	  }
	  catch(err)
	  {
	    return false;
	  }
	}
	else
	{
	  return false;
	}  
}	

 
 function checkOubZv()
 {
     if (checkActiveX())
	{
	  try
	  {
	    var oubZv = MyShell.RegRead("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\ZoneMap\\Domains\\unicreditbank.kg\\online\\*");	
		return true;
		MyShell.Close();
	  }
	  catch(err)
	  {
	    return false;
	  }
	}
	else
	{
	  return false;
	}   
 }
 
 function checkOubHttp()
 {
     if (checkActiveX())
	{
	  try
	  {
	    var oubHttp = MyShell.RegRead("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\ZoneMap\\Domains\\unicreditbank.kg\\online\\http");	
		return true;
		MyShell.Close();
	  }
	  catch(err)
	  {
	    return false;
	  }
	}
	else
	{
	  return false;
	}   
 }
 
 function checkOubHttps()
 {
     if (checkActiveX())
	{
	  try
	  {
	    var oubHttps = MyShell.RegRead("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\ZoneMap\\Domains\\unicreditbank.kg\\online\\https");	
		return true;
		MyShell.Close();
	  }
	  catch(err)
	  {
	    return false;
	  }
	}
	else
	{
	  return false;
	}   
 }
 
  function checkSafeNodes()  
  {
    if ((checkUbZv() == true) || (checkOubZv() == true) || ((checkUbHttp() == true) && (checkUbHttps() == true)) || ((checkOubHttp() == true) && (checkOubHttps() == true)))
	{
	  return true;
	}
	else
	{
	  return false;
	}
  }
  
  function checkAXSettings()
  {   
    if (checkActiveX())
	{
	  try
	  {
	    //Registry category for safe nodes
	    var regCat = "HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\2\\";
	    //Automatic query for ActiveX controls
		var aq = MyShell.RegRead(regCat + "2201");
		//Scripting ActiveX elements marked as safe
		var ess = MyShell.RegRead(regCat + "1405");
		//Download unsigned ActiveX elements
		var duse = MyShell.RegRead(regCat + "1004");
		//Download signed ActiveX elements
		var dse = MyShell.RegRead(regCat + "1001");
		//Execution ActiveX elements and plug-ins
		var eep = MyShell.RegRead(regCat + "1200");
		//Use of elements not marked as safe
		var uuse = MyShell.RegRead(regCat + "1201");
		//Behavior of binary and script
		var bbs = MyShell.RegRead(regCat + "2000");
		
		
		
		if (checkSafeNodes() == false)
	   {
	     warnAX += '<p class = "attent">Сайт банка не добавлен в надежные узлы!!!</p>';
		 warnAX += '<ol class = "text">';
		 warnAX += '<li>Выбрать в меню Internet Explorer пункт <SPAN CLASS="menuTopic">Сервис - Свойства обозревателя...</SPAN>, перейти на вкладку <SPAN CLASS="menuTopic">Безопасность</SPAN>.</li>'
		 warnAX += '<li>Выделить зону <SPAN CLASS="menuTopic">Надежные узлы</SPAN>, нажать кнопку <SPAN CLASS="menuTopic">Узлы</SPAN>, убрать галочку <SPAN CLASS="menuTopic">"Для всех узлов этой зоны требуется проверка серверов (https:)"</SPAN> и добавить сайт банка  <font style="color:#00008B;" size=2 >*.unicreditbank.kg</font> в список.</li></ol>';
		 warnAX += '<HR />';
	   }
		
		if (aq != 0)
		{
		  warnAX += '<p class = "attent">Не изменен параметр безопасности <b>Автоматические запросы элементов управления ActiveX</b>!!!</p>';   
          warnAX += '<ol class = "text">';
		  warnAX += '<li>Выбрать в меню Internet Explorer пункт <SPAN CLASS="menuTopic">Сервис - Свойства обозревателя...</SPAN>, перейти на вкладку <SPAN CLASS="menuTopic">Безопасность</SPAN>.</li>';
		  warnAX += '<li>Выделить зону <SPAN CLASS="menuTopic">Надежные узлы</SPAN>, нажать <SPAN CLASS="menuTopic">Другой...</SPAN> и установить в настройках <SPAN CLASS="menuTopic">Автоматические запросы элементов управления ActiveX</SPAN> значение: <SPAN CLASS="menuTopic">Разрешить</SPAN></li>';
		  warnAX += '</ol>';
		  warnAX += "<HR />";
		}
		
		if (ess != 0)		
		{
		  warnAX += '<p class = "attent">Не изменен параметр безопасности <b>Выполнять сценарии элементов ActiveX, помеченных как безопасные</b>!!!</p>';   
          warnAX += '<ol class = "text">';
		  warnAX += '<li>Выбрать в меню Internet Explorer пункт <SPAN CLASS="menuTopic">Сервис - Свойства обозревателя...</SPAN>, перейти на вкладку <SPAN CLASS="menuTopic">Безопасность</SPAN>.</li>';
		  warnAX += '<li>Выделить зону <SPAN CLASS="menuTopic">Надежные узлы</SPAN>, нажать <SPAN CLASS="menuTopic">Другой...</SPAN> и установить в настройках <SPAN CLASS="menuTopic">Автоматические запросы элементов управления ActiveX</SPAN> значение: <SPAN CLASS="menuTopic">Разрешить</SPAN></li>';
		  warnAX += '</ol>';
		  warnAX += "<HR />";
		}
		
		if (duse != 0)
		{
		   warnAX += '<p class = "attent">Не изменен параметр безопасности <b>Загрузка неподписанных элементов ActiveX</b>!!!</p>';   
           warnAX += '<ol class = "text">';
		   warnAX += '<li>Выбрать в меню Internet Explorer пункт <SPAN CLASS="menuTopic">Сервис - Свойства обозревателя...</SPAN>, перейти на вкладку <SPAN CLASS="menuTopic">Безопасность</SPAN>.</li>';
		   warnAX += '<li>Выделить зону <SPAN CLASS="menuTopic">Надежные узлы</SPAN>, нажать <SPAN CLASS="menuTopic">Другой...</SPAN> и установить в настройках <SPAN CLASS="menuTopic">Загрузка неподписанных элементов ActiveX</SPAN> значение: <SPAN CLASS="menuTopic">Разрешить</SPAN></li>';
		   warnAX += '</ol>';
		   warnAX += "<HR />";
		}
		
		if (dse != 0)
		{
		   warnAX += '<p class = "attent">Не изменен параметр безопасности <b>Загрузка подписанных элементов ActiveX</b>!!!</p>';   
           warnAX += '<ol class = "text">';
		   warnAX += '<li>Выбрать в меню Internet Explorer пункт <SPAN CLASS="menuTopic">Сервис - Свойства обозревателя...</SPAN>, перейти на вкладку <SPAN CLASS="menuTopic">Безопасность</SPAN>.</li>';
		   warnAX += '<li>Выделить зону <SPAN CLASS="menuTopic">Надежные узлы</SPAN>, нажать <SPAN CLASS="menuTopic">Другой...</SPAN> и установить в настройках <SPAN CLASS="menuTopic">Загрузка подписанных элементов ActiveX</SPAN> значение: <SPAN CLASS="menuTopic">Разрешить</SPAN></li>';
		   warnAX += '</ol>';
		   warnAX += "<HR />";
		}
		
		if (eep != 0)
		{
		   warnAX += '<p class = "attent">Не изменен параметр безопасности <b>Запуск элементов ActiveX и модулей подключения</b>!!!</p>';   
           warnAX += '<ol class = "text">';
		   warnAX += '<li>Выбрать в меню Internet Explorer пункт <SPAN CLASS="menuTopic">Сервис - Свойства обозревателя...</SPAN>, перейти на вкладку <SPAN CLASS="menuTopic">Безопасность</SPAN>.</li>';
		   warnAX += '<li>Выделить зону <SPAN CLASS="menuTopic">Надежные узлы</SPAN>, нажать <SPAN CLASS="menuTopic">Другой...</SPAN> и установить в настройках <SPAN CLASS="menuTopic">Запуск элементов ActiveX и модулей подключения<</SPAN> значение: <SPAN CLASS="menuTopic">Разрешить</SPAN></li>';
		   warnAX += '</ol>';
		   warnAX += "<HR />";
		}
		
		if (uuse != 0)
		{
		   warnAX += '<p class = "attent">Не изменен параметр безопасности <b>Использование элементов ActiveX, не помеченных как безопасные</b>!!!</p>';   
           warnAX += '<ol class = "text">';
		   warnAX += '<li>Выбрать в меню Internet Explorer пункт <SPAN CLASS="menuTopic">Сервис - Свойства обозревателя...</SPAN>, перейти на вкладку <SPAN CLASS="menuTopic">Безопасность</SPAN>.</li>';
		   warnAX += '<li>Выделить зону <SPAN CLASS="menuTopic">Надежные узлы</SPAN>, нажать <SPAN CLASS="menuTopic">Другой...</SPAN> и установить в настройках <SPAN CLASS="menuTopic">Использование элементов ActiveX, не помеченных как безопасные</SPAN> значение: <SPAN CLASS="menuTopic">Разрешить</SPAN></li>';
		   warnAX += '</ol>';
		   warnAX += "<HR />";
		}
		
		if (bbs != 0)
		{
		   warnAX += '<p class = "attent">Не изменен параметр безопасности <b>Поведение двоичных кодов и сценариев</b>!!!</p>';   
           warnAX += '<ol class = "text">';
		   warnAX += '<li>Выбрать в меню Internet Explorer пункт <SPAN CLASS="menuTopic">Сервис - Свойства обозревателя...</SPAN>, перейти на вкладку <SPAN CLASS="menuTopic">Безопасность</SPAN>.</li>';
		   warnAX += '<li>Выделить зону <SPAN CLASS="menuTopic">Надежные узлы</SPAN>, нажать <SPAN CLASS="menuTopic">Другой...</SPAN> и установить в настройках <SPAN CLASS="menuTopic">Поведение двоичных кодов и сценариев</SPAN> значение: <SPAN CLASS="menuTopic">Разрешить</SPAN></li>';
		   warnAX += '</ol>';
		   warnAX += "<HR />";		  
		}
		
		if ((aq != 0) || (ess != 0) || (duse != 0) || (dse != 0) || (eep != 0) || (uuse != 0) || (bbs != 0))
		{
		  return false;
		}
		else
		{
		  return true;
		}
		
	  }
	  catch(err)
	  {
	    
	    return false;
	  }
	}
	else
	{
	   
	   return false;
	}	
	
  }
  
 //Check capicom   
  function checkCapicom()
  {
    if (checkActiveX())  
	{
      try
     {	
        var clsid = MyShell.RegRead("HKEY_CLASSES_ROOT\\CAPICOM.Signer\\CLSID\\");        
		var strIE = MyShell.RegRead("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Ext\\Stats\\" + clsid + "\\");		
		var user = new ActiveXObject("WScript.Network").UserName;	        
		var windir = fso.GetSpecialFolder(0);
        var dir = "C:\\Documents and Settings\\" + user + "\\Local Settings\\Temp\\SetupDriver\\addition\\ActiveX";
		if (fso.FolderExists(dir))
        {
		   if (fso.FileExists(dir + "\\capicom.dll"))
		   { 
		     versC = fso.GetFileVersion(dir + "\\capicom.dll")
			 return true
		   }		   
        }
		else 
		{	    
		  if (fso.FolderExists(windir + "\\system32"))
	      {		   
	        if (fso.FileExists(windir + "\\system32\\capicom.dll"))
	        {
	          versC = fso.GetFileVersion(windir + "\\system32\\capicom.dll");	 
			  return true;			
	        } 
            else
            {
		      return false;
            }		  
	      }		
	      else if (fso.FolderExists(windir + "\\SysWOW64\\"))
	      {
	         if (fso.FileExists(windir + "\\SysWOW64\\capicom.dll"))
	         {     
		       versC = fso.GetFileVersion(windir + "\\SysWOW64\\capicom.dll");
               return true;			 
	         }
             else
            {
		      return false;
            }			   
          }	    
	    }
     }	 
	 catch(err)
	 {
	    
	    return false;
	 }
    }
	else
	{
	   return false;
	}
  }
  
 //check HttpFile 
  function checkHTTPFile()
  {
    if (checkActiveX())
	{
	  try
	  {
        var clsid = MyShell.RegRead("HKEY_CLASSES_ROOT\\HTTPFile.HTTPFileCtl\\CLSID\\");
		var ieExt = MyShell.RegRead("HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Ext\\Stats\\" + clsid + "\\");
	    versHP = MyShell.RegRead("HKEY_CLASSES_ROOT\\CLSID\\" + clsid + "\\version\\");  	  	    
		return true;
	  }
	  catch(err)
	  {
	    return false;
      }  
    }
    else
    {
	    return false;
	}
  }    
  
 //check RuToken drivers  
  function checkRuToken()
  {
    if (checkActiveX())
	{
	   try
	   {
	      var windir = fso.GetSpecialFolder(0);		  		  
	      if (fso.FolderExists(windir + '\\system32'))		  
	      {	    
            if (fso.FileExists(windir + '\\system32\\Aktiv Co\\rtIFDH\\rtifdh.sys'))
	        {
				versRT = fso.GetFileVersion(windir + "\\system32\\Aktiv Co\\rtIFDH\\rtifdh.sys");	    	          
			    return true;	  
     		}
	        else
	        {
			  if (fso.FileExists(windir + '\\system32\\drivers\\rtIFDH.sys'))			  
			  {	
			     versRT = fso.GetFileVersion(windir + "\\system32\\drivers\\rtIFDH.sys");	    	          
			     return true;	 
              }
			  else
			  {			  
			     try
			     {
					var rt = MyShell.RegRead("HKEY_LOCAL_MACHINE\\SOFTWARE\\Aktiv Co.\\RuToken\\");
                    versRT = "";					
				    return true;
			     }
			     catch(err)
			     {
			      return false;
			     }	
              }				 
	        }
	      }          		  
	   }
	   catch(err)
	   {
	        return false;
	   }
	}
	else
	{
	    return false;
	}
  }
  
  function getVersion()
  {
    var ver = "";  
	
	
	if (checkActiveX())
	{
	  if ((checkCapicom() == false) && (checkHTTPFile() == false) && (checkRuToken() == false))
	  {
	    ver += "";
	  }
	  else
	  {
        ver +=  "<p><b>Установлено следующее программное обеспечение:</b></p>";
		if  (checkRuToken())	 
	     {
		   if (versRT == "")
		   {
		      ver += "<li>Драйвера RuToken</li>";
		   }
		   else
		   {
		      ver += "<li>Драйвера RuToken версии " + versRT + "</li>";
		   }
	       
	     }
         if (checkCapicom())
	     {  
	        ver += "<li>ActiveX компонент Capicom версии " + versC + "</li>";
	     }
         if (checkHTTPFile())
	     {
	       ver += "<li>ActiveX компонент HTTPFile версии " + versHP + "</li>";		
	     }
	     if (checkSafeNodes())
	     {
	       ver += "<li>Сайт банка добавлен в надежные узлы!</li>";
	     }  
        
		ver +=  "<br/><br/><hr />";		 
		
		
	  }
	  
	}
	else
	{
	  ver += "";
	}
	return ver;  
  }

  function getWarn()
  {
    if ((checkAXSettings() == false) || (checkSafeNodes() == false))
	{   
	   
	   document.getElementById('warnAX').innerHTML = warnAX;    	   
	}	
  }
  
  
  
 
  
