function fun_fadeopacity(s_obj, i_mode, i_str_mode) {
 var i_id = document.getElementById("ico_main"+s_obj).id;
 if(i_str_mode!="0"){
  var i_div = document.getElementById("div_sites_tip");
 }
 if (i_mode==0) {
  fadeOpacity(i_id, 'oR1');
  switch(s_obj){
   case "1": 
    switch(i_str_mode) {
     case "1":
      i_div.innerHTML = "Personal site, was updated from 2002 till 2005 years. Was created for my friends and just for me. Was made in cyber-eye style.";
      break;
     case "2":
      i_div.innerHTML = "Персональный сайт, обновлялся с 2002 по 2005 год. Был создан для знакомых и просто для себя. Выполнен в cyber-eye стиле.";
      break;
     default:
    }
    break;
   case "2":
    switch(i_str_mode) {
     case "1":
      i_div.innerHTML = "Official LAN-site's copy for Samara's computer net. Strict style for medium business. Authorization for member's only.";
      break;
     case "2":
      i_div.innerHTML = "Копия официального LAN-сайта компьютерной сети Самары. Деловой стиль для среднего бизнеса. Авторизация - только для абонентов сети.";
      break;
     default:
    }
    break;
   case "3":
    switch(i_str_mode) {
     case "1":
      i_div.innerHTML = "Copy of HiQ. A place for Donetsk DJ's in internet. Only owners have access to AdminPanel and mini-CMS.";
      break;
     case "2":
      i_div.innerHTML = "Копия HiQ. Представительство донецких диджеев в интернете. Панель администратора и мини-CMS доступна только владельцам.";
      break;
     default:
    }
    break;
   case "4":
    switch(i_str_mode) {
     case "1":
      i_div.innerHTML = "Special portal for special radio.";
      break;
     case "2":
      i_div.innerHTML = "Особый портал для особого радио.";
      break;
     default:
    }
  }
 } else {
  fadeOpacity.back(i_id);
  if(i_str_mode!="0") {
   i_div.innerHTML ="";
  }
 }
}

function setElementOpacity(oElem, nOpacity) {
 var p = getOpacityProperty();
 (setElementOpacity = p=="filter"?new Function('oElem', 'nOpacity', 'nOpacity *= 100;	var oAlpha = oElem.filters["DXImageTransform.Microsoft.alpha"] || oElem.filters.alpha;	if (oAlpha) oAlpha.opacity = nOpacity; else oElem.style.filter += "progid:DXImageTransform.Microsoft.Alpha(opacity="+nOpacity+")";'):p?new Function('oElem', 'nOpacity', 'oElem.style.'+p+' = nOpacity;'):new Function)(oElem, nOpacity);
}

function getOpacityProperty() {
 var p;
 if (typeof document.body.style.opacity == 'string') p = 'opacity';
 else if (typeof document.body.style.MozOpacity == 'string') p =  'MozOpacity';
 else if (typeof document.body.style.KhtmlOpacity == 'string') p =  'KhtmlOpacity';
 else if (document.body.filters && navigator.appVersion.match(/MSIE ([\d.]+);/)[1]>=5.5) p =  'filter';
 return (getOpacityProperty = new Function("return '"+p+"';"))();
}

function fadeOpacity(sElemId, sRuleName, bBackward) {
 var elem = document.getElementById(sElemId);
 if (!elem || !getOpacityProperty() || !fadeOpacity.aRules[sRuleName]) return;
 var rule = fadeOpacity.aRules[sRuleName];
 var nOpacity = rule.nStartOpacity;
 if (fadeOpacity.aProc[sElemId]) {clearInterval(fadeOpacity.aProc[sElemId].tId); nOpacity = fadeOpacity.aProc[sElemId].nOpacity;}
 if ((nOpacity==rule.nStartOpacity && bBackward) || (nOpacity==rule.nFinishOpacity && !bBackward)) return;
 fadeOpacity.aProc[sElemId] = {'nOpacity':nOpacity, 'tId':setInterval('fadeOpacity.run("'+sElemId+'")', fadeOpacity.aRules[sRuleName].nDalay), 'sRuleName':sRuleName, 'bBackward':Boolean(bBackward)};
}

fadeOpacity.addRule = function(sRuleName, nStartOpacity, nFinishOpacity, nDalay){fadeOpacity.aRules[sRuleName]={'nStartOpacity':nStartOpacity, 'nFinishOpacity':nFinishOpacity, 'nDalay':(nDalay || 30),'nDSign':(nFinishOpacity-nStartOpacity > 0?1:-1)};};

fadeOpacity.back = function(sElemId){fadeOpacity(sElemId,fadeOpacity.aProc[sElemId].sRuleName,true);};

fadeOpacity.run = function(sElemId){
 var proc = fadeOpacity.aProc[sElemId];
 var rule = fadeOpacity.aRules[proc.sRuleName];
 proc.nOpacity = Math.round(( proc.nOpacity + .1*rule.nDSign*(proc.bBackward?-1:1) )*10)/10;
 setElementOpacity(document.getElementById(sElemId), proc.nOpacity);
 if (proc.nOpacity==rule.nStartOpacity || proc.nOpacity==rule.nFinishOpacity) clearInterval(fadeOpacity.aProc[sElemId].tId);
}

fadeOpacity.aProc = {};
fadeOpacity.aRules = {};
