
function node(obj,document){
  var doc = window.document;
  if(document && document !='undefined'){
    if(typeof(document)=='string'){doc = window.frames[document].document;}
    else{ doc = document;}
  }

 if(typeof(obj)=='string'){ return doc.getElementById(obj);}
 else if(typeof(obj)=='object'){return obj;}
 else { return false;}
  return obj;
}

function hide(obj,doc){
  var o = node(obj,doc);
  o.style.display='none';
}

function  show(obj,doc){
  var o = node(obj,doc);
  o.style.display='block';
}




var setslistjs = new Array();
var popupbodybind = false;
var noticeOnHide= false;
var noticeOnHideParams = false;
var waitPic30 = new Image();
waitPic30.src = base+"img/widgets/wait/wait30trans.gif";
function showPopup(obj,text){

   if(!popupbodybind){
     t = setTimeout( function(){ $('body').bind('click',hidePopups)},'100');
     popup1bodybind = true;
   }

  obj_popup = obj+'_popup';
  if(!window.document.getElementById(obj+'_popup')){
    $("#"+obj).after('<div class="popup" id="'+obj_popup+'" >'+text+'</div>');
  }
  else{$("#"+obj_popup).html(text);}
    t1 = setTimeout( "showPopupDelay('"+obj_popup+"')",'100');
  return false;
}

function showPopupDelay(obj){
  $("#"+obj).css({'display':'block'});
}

function hidePopups(){
  $(".popup").css({'display':'none'});
  popupbodybind =false;
  $('body').unbind('click',hidePopups);
  return false;
}


function showNotice(text,onhide,onhideParams){
 //alert(text);return;
  blockWindow();
  if(!node('widgets_notice')){
    var o = window.document.createElement("div");
    o.setAttribute("id", "widgets_notice");
    window.document.body.appendChild(o);

    o.innerHTML = '<table><tr class="tr1"><td class="td1" ></td><td class="td2" ></td><td class="td3" ></td></tr><tr class="tr2" ><td class="td1"  ></td><td class="td2" id="widgets_notice_text" ></td><td class="td3" ></td></tr><tr class="tr3" ><td class="td1" ></td><td class="td2" ></td><td class="td3" ></td></tr></table>';
  }
  setOpacity('widgets_notice', 0.8);
  var div = node('widgets_notice');
  div.style.marginTop = parseInt(top.document.body.scrollTop);


  if(!text){text='Произошла непредвиденная ошибка';}
  var o_text = node('widgets_notice_text');
  o_text.innerHTML = text;
  show('widgets_notice');

  var delays = parseInt(Math.round(text.length/40));
  if(delays<1){delays=1;}
 // alert(delays);

  var t = setTimeout(hideNotice,(2000*delays));
  if(onhide){
    noticeOnHide = onhide;
    noticeOnHideParams = onhideParams;
  }
}


function hideNotice(){
  setOpacity('widgets_notice',0,0.5,50);
  var t = setTimeout(removeNotice,610);
}



function removeNotice(){
  unblockWindow();
  hide('widgets_notice');
  if(noticeOnHide){

    if(typeof(noticeOnHide) =='function'){noticeOnHide(noticeOnHideParams);}
    else{
        var tmp = eval('('+noticeOnHide+')');
        if(typeof(tmp) =='function'){tmp(noticeOnHideParams);}
    }
  }
  noticeOnHide = false;
  noticeOnHideParams = false;
}


function blockWindow(){
  var div = node("widget_BlockWindow");
  if (!div){
    var o = window.document.createElement("div");
    o.setAttribute("id", "widget_BlockWindow");
    o.setAttribute("onclick", "return false;");
    div = window.document.body.appendChild(o);
  }

  var winH = getDocumentHeight();
  div.style.height = parseInt(winH);
  setOpacity('widget_BlockWindow',0.7,0,20);
}


function unblockWindow(){

  //hide('widgets_notice');
  setOpacity('widget_BlockWindow',0,0.7,20,'window.document.body.removeChild(node("widget_BlockWindow"))');
  //window.document.body.removeChild(node("widget_BlockWindow"));
}



function showPopupWindow(url,w,h,hideTitle){
 blockWindow();
   if(!node('widgets_PopupWindow')){
     var o = window.document.createElement("div");
        o.setAttribute("id", "widgets_PopupWindow");
        top.document.body.appendChild(o);

    o.innerHTML = '<table><tr id ="widgets_PopupWindow_Title_Tr" class="tr1"><td class="td2"  ><div id="widgets_PopupWindow_Title"></div><a class="widgets_popupWindowClose" title="Закрыть" onclick="hidePopupWindow();"></a></td></tr><tr class="tr2" ><td class="td2"><iframe id="widgets_PopupWindow_text" frameborder="0" scrolling="no"></iframe></td></tr></table>';
  }
  var nodetr = node('widgets_PopupWindow_Title_Tr');
  if(hideTitle ==1){ nodetr.style.display='none';}
  else{nodetr.style.display='';}
  var win = node('widgets_PopupWindow');
  var frame = node("widgets_PopupWindow_text");


  if(w >0 && h >0){}
  else{w=800;h=600;}
    win.style.width = w;
    win.style.height = h;

    var winH = parseInt(document.body.clientHeight);
    var marginLeft = -Math.round(w/2);
    var wintop = Math.round((winH - h)/2);


    if(h > winH){wintop=20;}
    win.style.top = parseInt(top.document.body.scrollTop) + wintop;
    win.style.marginLeft = marginLeft;
    //window.style.marginTop = marginTop;



  if(url && url !=''){frame.src = url;}
  else{frame.removeAttribute('src');}
  show('widgets_PopupWindow');
  return false;
}

function hidePopupWindow(){
 unblockWindow();
  var frame = node("widgets_PopupWindow_text",top.document);
  //var frame =top.document.getElementById('widgets_PopupWindow_text');
  frame.src='';
  hide('widgets_PopupWindow');

  return false;
}



function zoom(src,w,h,name){
      var image = new Image();
      image.name = name;
//       alert(src);

      var window = parent.window;
      if(document.getElementById('widget_ImageZoom')){window.document.body.removeChild(document.getElementById('widget_ImageZoom'));}
      var marginLeft = Math.round(w)+2;
      var marginTop = parseInt(Math.round(h/2));
      var style="width:"+w+"px;height:"+h+"px;";
      var o = window.document.createElement("div");
      o.setAttribute("id", "widget_ImageZoom");
      var div = window.document.body.appendChild(o);
      div.innerHTML = "<center><div style='"+style+"'><a class='close' onclick='hideZoomImage();' style='margin-left:"+marginLeft+"px' title='Закрыть'></a><img  src='"+waitPic30.src+"'  alt='"+name+"'  title='"+name+"' onclick='hideZoomImage()' id='widget_ImageZoommed'/></div></center>";
      var nodeimg = node('widget_ImageZoommed');
      nodeimg.style.marginTop = marginTop;
      //$("#widget_ImageZoom > center >  div > a.close").css('margin-left',);
      var top = parseInt(window.document.body.scrollTop)+50;
      //alert(top);
      div.style.top = parseInt(top);
      //$("#widget_ImageZoom").css('top',top);
      image.onload = function(){
      var src=this.src;
      var w = this.width;
      var h=this.height;
      var name=this.name;
      var imagenode = node('widget_ImageZoommed');
      imagenode.style.marginTop = 0;
      imagenode.src = src;
      setOpacity(imagenode,0);
      setOpacity(imagenode,1,0,30);
     // alert(123);
      //$("#widget_ImageZoom > center >  div > img").attr('src',src);
      //$("#widget_ImageZoom > center >  div > img").fadeTo(0,0.1);
      //$("#widget_ImageZoom > center >  div > img").fadeTo(2500,1);

      };
      image.src=src;
      return false;
}

function hideZoomImage(){
  //$("#widget_ImageZoom > center > div > img").fadeTo(500,0);
  var imagenode = node('widget_ImageZoom');
   setOpacity(imagenode,0,1,20);
  setTimeout("  window.document.body.removeChild(node('widget_ImageZoom'))",510);
}



function showLoadedImage(img){
var pic = node('widget_PreloadImagePic');
//pic.style.backgroundImage = 'none';
//pic.style.display='none';
//var preload = node();
setOpacity(pic,0.3,1,30,"var pic1 = node('widget_PreloadImagePic'); pic1.style.display='none';");

//var x = setTimeout("var pic1 = node('widget_PreloadImagePic'); pic1.style.display='none';",320);
}

function hideLoadedImage(onHide){

//alert(onHide);
var pic = node('widget_PreloadImagePic');
pic.style.display='block';
//setOpacity(pic,0,1);
setOpacity(node('widget_PreloadImagePic'),1,0,30,onHide);
//pic.style.backgroundImage = 'none';
//pic.style.display='none';
//var preload = node();
//setOpacity(pic,0,1,30);

//var x = setTimeout("var pic1 = node('widget_PreloadImagePic'); pic1.style.display='none';",320);
}


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);
}

// Функция getOpacityProperty() возвращает свойство которое используется для смены прозрачности или undefined, и может использоваться для проверки возможности изменения прозрачности
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+"';"))();
}

/* Функции для плавного изменения прозрачности:

1) fadeOpacity.addRule('opacityRule1', 1, 0.5, 30); //вначале создаем правило, задаем имя правила, начальную прозрачность и конечную, необязательный параметр задержки, влийяющий на скорость смены прозрачности
2) fadeOpacity('elemID', 'opacityRule1'); // выполнить плавную смену прозрачности элемента с id равным elemID, по правилу opacityRule1
3) fadeOpacity.back('elemID'); //вернуться в исходное сотояние прозрачности
*/
function fadeOpacity(sElemId, sRuleName, bBackward,onDone)
{
  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),'onDone':onDone};
}

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,onDone)
{
  var proc = fadeOpacity.aProc[sElemId];
  var rule = fadeOpacity.aRules[proc.sRuleName];
 // alert(proc.nOpacity);
  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);
    //alert('test');
   if(proc.onDone && proc.onDone !='undefined'){
        //alert(proc.onDone);
        if(typeof(proc.onDone) =='function'){proc.onDone();}
        else{eval(proc.onDone);}
      }
  };
}
fadeOpacity.aProc = {};
fadeOpacity.aRules = {};


function setOpacity(obj,to,from,time,onDone){
  var o;
  if(typeof(obj)=='object'){o = obj.id;}
  else{o=obj;}

  time=parseInt(time);
  to=parseFloat(to);
  from=parseFloat(from);

  if(time > 0 ){
    fadeOpacity.aRules['rule']='';
    fadeOpacity.aProc[o] = '';
    fadeOpacity.addRule('rule', from, to, time);
    fadeOpacity(o, 'rule',null,onDone);
   // alert(from);
  }
  else{

    var nOpacity = to;
    var opacityProp = getOpacityProperty();
    var elem = node(o);
    if (!elem || !opacityProp) {return;}
    if (opacityProp=="filter") {
      nOpacity *= 100;
      var oAlpha = elem.filters['DXImageTransform.Microsoft.alpha'] || elem.filters.alpha;
      if (oAlpha) {oAlpha.opacity = nOpacity;}
      else {elem.style.filter += "progid:DXImageTransform.Microsoft.Alpha(opacity="+nOpacity+")";}
    }
    else {elem.style[opacityProp] = nOpacity;}

  }
}



var ua = navigator.userAgent.toLowerCase();
var isOpera = (ua.indexOf('opera')  > -1);
var isIE = (!isOpera && ua.indexOf('msie') > -1);

function getDocumentHeight() {
   return Math.max(document.compatMode != 'CSS1Compat' ? document.body.scrollHeight : document.documentElement.scrollHeight, getViewportHeight());
  }

 function getViewportHeight() {
   return ((document.compatMode || isIE) && !isOpera) ? (document.compatMode == 'CSS1Compat') ? document.documentElement.clientHeight : document.body.clientHeight : (document.parentWindow || document.defaultView).innerHeight;
 }



function runCode(text,param){
  if(typeof(text) =='function'){  text.call('',param); }
  else{eval(text);}
}



function MoveDragabble(){


}





