// Handlers for Base3000.Ru (#include suilib_lite.js)
// Created in Shogo.Ru
var msie6 = !!(suilib.client.msie && navigator.appVersion && !navigator.appVersion.match(/MSIE 7/));
function fixPNG(el,param) {
  var tmp = el.currentStyle.backgroundImage.match(/url\("(.+\.png)"\)/i);
  if(tmp && msie6) {
    tmp = tmp[1];
    if(!param) param = 'crop';
    el.runtimeStyle.backgroundImage = 'none';
    el.runtimeStyle.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' + tmp + '",sizingMethod="' + param + '")';
    $(el).filter('a',null,null,true).walkwith(function(lnk) {
      lnk.style.position = 'relative'; });
  }
}

function form_order(val) {
  switch(val) {
    case 'Оператор на телефоне':
      $('obrazov').innerHTML = "Образование.";
      $('time_vac').style.display = '';
      $('zagruzka').style.display = 'none';
      $('zp_vac').style.display = '';
      $('text_operator').innerHTML = "<textarea name='item_form[sup]' id='item_form[sup]' style='width:99%' class='inp' ></textarea>";
      $('progarms').innerHTML = "Какими программами<br />Вы свободно владеете:";
      $('inet').innerHTML = "Есть ли у Вас дома<br />прямая линия Интернет:";
      $('foto_').style.display = 'none';
      $('file').style.display = 'none';
      $('file_not').style.display = '';
      $('foto0').style.display = 'none';
    break;
/*
     case 'Педагог по направлению «Стрип-пластика».':
      $('foto_').style.display = '';
      $('file').style.display = '';
      $('file_not').style.display = 'none';
      $('foto0').style.display = '';
    break;
     case 'Педагог по направлению «Стриптиз».':
      $('foto_').style.display = '';
      $('file').style.display = '';
      $('file_not').style.display = 'none';
      $('foto0').style.display = '';
    break;
     case 'Педагог по направлению «Танец живота»':
      $('foto_').style.display = 'none';
      $('file').style.display = '';
      $('file_not').style.display = 'none';
      $('foto0').style.display = '';
    break;
     case 'Педагог по направлению "Клубная латина"':
      $('foto_').style.display = 'none';
      $('file').style.display = '';
      $('file_not').style.display = 'none';
      $('foto0').style.display = '';
    break;
*/	
    case 'Администратор танцевального зала':
      $('zagruzka').style.display = 'none';
      $('time_vac').style.display = 'none';
      $('zp_vac').style.display = 'none';
      $('obrazov').innerHTML = "Педагогическое образование.";
      $('text_operator').innerHTML = "<input type='text' name='item_form[sup]' id='item_form[sup]' value='' style='width:99%' class='inp' />";
      $('progarms').innerHTML = "Ваша танцевально-педагогическая деятельность:";
      $('inet').innerHTML = "Психологическое образование.<br />Диплом (если имеется):";
      $('foto_').style.display = 'none';
      $('file').style.display = 'none';
      $('file_not').style.display = '';
      $('foto0').style.display = 'none';
    break;
    default:
      $('time_vac').style.display = '';
      $('zagruzka').style.display = '';
      $('zp_vac').style.display = '';      
      $('obrazov').innerHTML = "Педагогическое образование.";
      $('text_operator').innerHTML = "<input type='text' name='item_form[sup]' id='item_form[sup]' value='' style='width:99%' class='inp' />";
      $('progarms').innerHTML = "Ваша танцевально-педагогическая деятельность:";
      $('inet').innerHTML = "Психологическое образование.<br />Диплом (если имеется):";
      $('foto_').style.display = 'none';
      $('file').style.display = '';
      $('file_not').style.display = 'none';
      $('foto0').style.display = '';
  }
}

function show_fileinput(elem)
{
  var id = elem.id;
  id = id.match(/item_form_file(\d)/)[1];
  var next_id = Number(Number(id) + 1);
  if(next_id < 5) $('foto'+String(next_id)).style.display = '';
}


var tabs = {
  init: function(args) {
    if (!args.apply) return false;
    var allNodes = args.apply.length ? $(suilib.body).filter('*',null,null,true) : [];
    var len = allNodes.length;
    for (var i=0; i<args.apply.length; i++) {
      this.all[i] = {};
      if (!args.apply[i].els) continue;
      if (typeof args.apply[i].els=='string') {
        var tmp = []; for(var j=0; j<len; j++) 
          if(allNodes[j] && allNodes[j].className && allNodes[j].className.split(' ').hasa(args.apply[i].els)!==false)
            tmp.push(allNodes[j]);
        this.all[i].els = tmp;
      } else if (typeof args.apply[i].els=='object' && args.apply[i].els.length)
        this.all[i].els = args.apply[i].els;
      if (args.apply[i].hds) {
        if (typeof args.apply[i].hds=='string') {
        var tmp = []; for(var j=0; j<len; j++) 
          if(allNodes[j] && allNodes[j].className && allNodes[j].className.split(' ').hasa(args.apply[i].hds)!==false)
            tmp.push(allNodes[j]);
          this.all[i].hds = tmp;
        } else if (typeof args.apply[i].hds=='object' && args.apply[i].hds.length)
          this.all[i].hds = args.apply[i].hds; }
      if (args.apply[i].open) {
        if (typeof args.apply[i].open=='string')
          this.all[i].open = $(args.apply[i].open);
        else if (typeof args.apply[i].open=='number' && args.apply[i].open<=this.all[i].els.length)
          this.all[i].open = $(this.all[i].els[args.apply[i].open-1]); }
      this.buildTabs(this.all[i]); }
  },

  all: [],
  cls: ['tab', 'tab_act'],

  buildTabs: function(tArr) {
    var tHd = [];
    for (var i=0; i<tArr.els.length; i++) {
      var el = $(tArr.els[i]), hd = false;
      if (tArr.hds) hd = $(tArr.hds[i]); else hd = el.firstChild;
      hd.style.cursor = 'pointer';
      tHd.push(hd);
      if (!tArr.hds) el.parentNode.insertBefore(hd, $(tArr.els[0]));
      if (tArr.open && el==tArr.open) tArr.open = hd;
      el.hide(); }

    var handlerClick = [];
    for (var i=0; i<tHd.length; i++) {
      handlerClick[i] = (function(){tabs.openTab(tArr, tHd, arguments.callee.obj);});
      handlerClick[i].obj = tHd[i];
      handlerClick[i].$('click', tHd[i]); }

    if (tArr.open) this.openTab(tArr, tHd, tArr.open); else this.openTab(tArr, tHd, tHd[0]);
  },

  openTab: function(tArr, tHd, tOpen) {
    var index = 0;
    for (var i=0; i<tHd.length; i++) {
      if (tHd[i]==tOpen) {
        tHd[i].classReplace('tab_act', this.cls);
        index = i; }
      else {
        tHd[i].classReplace('tab', this.cls);
        $(tArr.els[i]).hide(); }
    }
    $(tArr.els[index]).show();
  }
}

function pchanger(pics, id, runtype, effect, inter, interanim, callback) {
  if(!pics || (pics.length==1 && !runtype)) return false;
  var el = $(id) || $('pics_container'), rt = runtype || false, interval = (inter*1000 || 1500);
  var jto = { time : interanim || (interval - interval/3)/1000, transition : 'easeNone' };
  var cb = callback || suilib.anonymous;

  if(el.getAttribute('rotating')) return; else el.setAttribute('rotating','true');

  var run = function() {
    var cur = (el.firstChild.tagName==='IMG') ? el.firstChild : el.firstChild.firstChild, j = 0;
    for(var i=0,l=pics.length; i<l; i++) if(pics[i].match(/(?:\/|)([^\/]+)$/)[1]==cur.src.match(/(?:\/|)([^\/]+)$/)[1] && pics[i+1]) j = i + 1;
    var ni = new Image(), iw = cur.clientWidth, ih = cur.clientHeight;

    ni.onload = function() {
      if(effect) {
        var old_el = 'position:' + (el.style.position || 'static') + ';width:' + (el.style.width || '') + ';height:' + (el.style.height || ''),
            old_im = 'position:' + (el.style.position || 'static') + ';z-index:' + (el.style.zIndex || 0);
        var $callback = function(img) {
          if(rt) {
            el.removeAttribute('rotating');
            el.setstyle(old_el);
            $(img).setstyle(old_im);
          }
          cb(j);
        };

        el.setstyle('width:'+iw+'px;height:'+ih+'px');
        switch(effect) {
        case 'fadeIn':
          $(cur.parentNode).add('img', {'src':ni.src, 'width':iw, 'height':ih});
          var imgs = $(cur.parentNode).filter('img', null, null, true);
          $(imgs[1]).setstyle('opacity:0');
          $(imgs[0]).unset();
          if('jTweener' in window) $(imgs[1]).tweener({opacity : 1, onComplete : $callback(imgs[1])}).tween(jto); else $(imgs[1]).animate(.5, {opacity:[0, 100]}, $callback(imgs[1]));
        break;
        case 'fadeOut':
          $(cur.parentNode).add('img', {'src':ni.src, 'width':iw, 'height':ih, 'style':'display:none'});
          var imgs = $(cur.parentNode).filter('img', null, null, true);

          var callback = function(){
            $(imgs[1]).show();
            $(imgs[0]).unset();
            $callback(imgs[1]);
          };
          if('jTweener' in window) $(imgs[0]).tweener({opacity : 0, onComplete : callback}).tween(jto); else $(imgs[0]).animate(.7, {opacity:[100, 0]}, callback);
        break;
        case 'flyIn':
          if('jTweener' in window) {
            $(el).setstyle('position:relative');
            $(cur.parentNode).add('img', {'src':ni.src, 'width':iw, 'height':ih, 'style':'position:absolute;z-index:100;top:0;left:'+iw/3+'px'});
            var imgs = $(cur.parentNode).filter('img', null, null, true);
            $(imgs[1]).setstyle('opacity:0');
            $(imgs[1]).tweener({left : 0, opacity : 1, onComplete : function(){$(imgs[0]).unset();$callback(imgs[1]);} }).tween(jto);
          }
        break;
        case 'flyOut':
          if('jTweener' in window) {
            $(el).setstyle('position:relative');
            $(cur.parentNode).add('img', {'src':ni.src, 'width':iw, 'height':ih, 'style':'position:absolute;z-index:100;top:0;left:0'});
            var imgs = $(cur.parentNode).filter('img', null, null, true);
            $(imgs[0]).setstyle('position:absolute;z-index:101;left:0;top:0');
            $(imgs[0]).tweener({left : -iw/3, opacity : 0, onComplete : function(){$(imgs[0]).unset();$callback(imgs[0]);} }).tween(jto);
          }
        break;
        case 'morph': default:
          $(el).setstyle('position:relative');
          $(cur.parentNode).add('img', {'src':ni.src, 'width':iw, 'height':ih, 'style':'position:absolute;z-index:100;top:0;left:0'});
          var imgs = $(cur.parentNode).filter('img', null, null, true);
          $(imgs[1]).setstyle('opacity:0');

          var callback = function() {
            $(imgs[0]).unset();
            $callback(imgs[1]);
          };
          if('jTweener' in window) $(imgs[1]).tweener({opacity : 1, onComplete : callback}).tween(jto); else $(imgs[1]).animate(.5, {opacity:[0, 100]}, callback);
        break; }
      } else {
        cur.src = ni.src;
      }
      if(!rt) st = setTimeout(run, interval);
    }
    ni.src = pics[j];
  };

  if(rt) run(); else var st = setTimeout(run, interval);
}


suilib.ready(function() {
  // PNG IE Fix
  if(msie6) {
    $(suilib.body).filter('img',null,null,true).walkwith(function(el) {
      var tmp = el.getAttribute('src');
      if(tmp.search && tmp.search(/\.png$/i)>=0) {
        el.src = 'i/sp.gif';
        el.runtimeStyle.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' + tmp + '",sizingMethod="crop")'; }
    });
  }

  // Dymanic Tabs Handlers
  var tbs = $(suilib.body).filter('*','tabs',null,true);
  if(tbs.length != 0) {
    tabs.init({apply:[{els:'tabs', hds:'hds'}]});
    var teachers = $(suilib.body).filter('div','tch',null,true);
    if(teachers.length != 0) {
      (function(e) {
        var val = (e.target || e.srcElement).innerHTML, vacs = $('vac_list').options;
        for(var i=0; i<vacs.length; i++) {
          if (vacs[i].value == val) vacs[i].selected = true; else vacs[i].selected = false; }
        form_order(val);
        tabs.init({apply:[{els:'tabs', hds:'hds', open:2}]});
      }).$('click', teachers);
      (function(e) {
        var val = (e.target || e.srcElement).value;
        form_order(val);
      }).$('change', $('vac_list')); }
  }
});
