dc.Event.domReady(function(){
   Sitemap.init();
   new LeftMenu();
   new BoxOver();
   checkUrl();
   FlashText.init();
});

//:]
function checkUrl(){
 if(URL && URL.length > 0 && $('content')){
   var as = $('content').getElementsByTagName('a');
   var imgs = $('content').getElementsByTagName('img');


   var pos = location.href.indexOf(location.pathname);
   if(pos > 0){
      var s = location.href.substr(0,pos);
   }
   changeUrl(as,s,'href');
   changeUrl(imgs,s,'src');
   }
}
function changeUrl(els,s,attr){
   for(var i = 0;i< els.length;++i){
      var e = els[i];
      var h = e.getAttribute(attr);
      if(h.indexOf(s) == 0){
         h = h.substr(s.length);
      }
      if(h.charAt(0) == '/' && h.indexOf(URL) != 0 ){
         h = URL+h.substr(1);
         e.setAttribute(attr,h);
      }
   }
}


function aflashText(){
   var sid = 1;
   var url = URL +'www/site/flash/flashtext.swf'
   var sidName = 'flashText_';
   var h2 = document.getElementsByTagName('h2');
   for(var i = h2.length-1;i>-1;i--){
      var e = h2[i];
      var s = e.innerHTML;
      var w = e.offsetWidth, h = e.offsetHeight;
      if(s.length > 0 && w && h && e.className.indexOf('flashText') > -1){
         e.setAttribute('id',sidName+sid);
         var swfObj = new SWFObject(url,sidName+'cont_'+sid, w, h,'7','#FCFCFC');
         swfObj.addParam("scale","noscale");
         swfObj.addParam("salign","lt");
         swfObj.addParam("menu","false");
         swfObj.addParam("wmode", "transparent");
         swfObj.addVariable("divName", sidName+sid);
         //swfObj.addVariable("fontSize",'');
         swfObj.addVariable("fontColor",'0xe4e3e3');
         swfObj.addVariable("text",e.innerHTML);
         swfObj.addVariable("maxWidth",w);
         //swfObj.addVariable("initHeight", e.offsetHeight);
         //swfObj.addVariable("destURL", destURL);
         swfObj.write(sidName+sid);
         sid++;
      }
   }
}
var FlashText = {
   init:function(){
      this.sid = 1;
      this.url = URL +'www/site/flash/flashtext.swf';
      this.name = 'flashText_';
      this.defaultAlign = 'left';
      this.defaultColor = '#fcfcfc';
      this.prepare();
   },
   prepare:function(){
      var h2 = document.getElementsByTagName('h2');
      for(var i = h2.length-1;i>-1;i--){
         if(h2[i].className.indexOf('flashText') > -1){
            this.add(h2[i]);
         }
      }
   },
   add:function(e){
      if(e){
         var t = e;
         var s = this.stripTags(t.innerHTML);
         var w = e.offsetWidth, h = e.offsetHeight;
         if(s.length > 0 && w && h){
            e.setAttribute('id',this.name+this.sid);
            var align = e.className.indexOf('center') > -1 ? 'center' : this.defaultAlign;
            var bgcolor = this.defaultColor;
            var url = null;
            var color = 'e4e3e3';
            if(e.className.indexOf('sitemap') > -1){
               bgcolor = '#ffffff';
               color = 'FF9306'
               url = "javascript:Sitemap.toggle();";
            }else if(e.className.indexOf('toup') > -1){
               url = "#top";
            }else if(e.className.indexOf('back') > -1){
               url = "javascript:historyBack();";
            }
            this.addFlash(url,s,w,h,color,bgcolor,align);
         }
      }
   },
   stripTags: function(txt){
      return txt.replace(/<([^>]+)>/g, '');
   },
   addFlash:function(url, text, width, height, color, bgcolor, align){
      var swf = new SWFObject(this.url,this.name+'cont_'+this.sid, width, height,'7',bgcolor);
      swf.addParam("scale","noscale");
      swf.addParam("salign","lt");

      swf.addVariable("alignText", align);

      swf.addParam("menu","false");
      swf.addParam("wmode", "transparent");
      swf.addVariable("divName", this.name+this.sid);
      swf.addVariable("fontColor",'0x'+color);
      swf.addVariable("text",text);
      swf.addVariable("maxWidth",width);

      if(url){
        swf.addVariable("destURL", url);
      }

    //swf.addVariable("initHeight", e.offsetHeight);
      swf.addVariable("fontSize",'19');

      swf.write(this.name + this.sid);
      this.sid++;
   }
};

var BoxOver = new Class({
   init:function(){
      var page = $('page');
      if(page && page.className == 'pageColMain'){
         var ds = page.getElementsByTagName('div');
         var f = [];
         for(var i = 0; i < ds.length;i++){
            if(ds[i].className =='col'){
               f.push(ds[i]);
            }
         }
      }
      this.prepareCol(f);
   },
   prepareCol:function(cols){
      if(cols)
      for(var i = 0; i < cols.length;i++){
         var d = document.createElement('div');
         dc.Event.addListener(d,'mouseover',this.over,this,d);
         dc.Event.addListener(d,'mouseout',this.out,this,d);
         cols[i].parentNode.insertBefore(d,cols[i]);
         d.appendChild(cols[i]);
      }
   },
   over:function(e,el){
      e.stop();
      el.className = 'colOver';
   },
   out:function(e,el){
      e.stop();
      el.className = '';
   }
});


var LeftMenu = new Class({
   init:function(){
      this.menu  = $('leftColMenu');
      this.lis = [];
      if(this.menu){
         this.prepare(this.menu);
         this.findActive(this.menu);
      }
   },
   prepare:function(menu){
      var c = menu.childNodes;
      var count = 0;
      for(var i = 0; i < c.length;i++){
         if(c[i].tagName && c[i].tagName.toLowerCase() == 'li'){
            var cc = c[i].childNodes;
            var a;
            for(var j = 0;j < cc.length;j++){
               var tag = cc[j].tagName;
               if(tag){
                  tag = tag.toLowerCase();
                  if(tag == 'a'){
                     dc.Event.addListener(cc[j],'click',this.toggle,this,count++);
                     //jesli nie maja pod kategorii
                     if(c[i].getElementsByTagName('li').length != 0)
                        cc[j].setAttribute('href','#m');
                  }else if(tag == 'ul'){
                     cc[j].style.display = 'none';
                     this.lis.push(cc[j]);
                  }
               }
            }
         }
      }
   },
   findActive:function(menu){
      var ls = menu.getElementsByTagName('li');
      for(var i = 0;i < ls.length;i++){
         if(ls[i].className == 'select'){
            var l = ls[i];
            for(var j = 0;j < this.lis.length;j++){
               if(this.lis[j] == l.parentNode){
                  this.toggle(null,j);
                  break;
               }
            }
            break;
         }
      }
   },
   toggle:function(e,i){
      if(this.act != i){
         for(var j = 0;j < this.lis.length;j++){
            this.lis[j].style.display = (j==i) ? 'block' : 'none';
         }
      }
      this.act = i;

   }
});

var Sitemap = {
   init:function(){
      if(window.opera) return;
      this.dom = $('siteMap');
      this.cheight = 80;

      if (this.dom) {
         this.tween = new dc.Tween({
            duration: 400,
            fps: 25
         });
         this.tween.addListener(this);

         $('container').className ='containerMax';

         this.height = this.dom.offsetHeight;
         this.cont = document.createElement('div');
         this.cont.className = 'sMCont';
         this.dom.parentNode.appendChild(this.cont);
         this.cont.appendChild(this.dom);

         this.dom.style.marginTop = '0';
         this.cont.style.marginTop = '-80px';

         this.cont.style.height = this.cheight +'px';

         var div = $('siteMapTitle');
         if (div) {
            div.style.cursor = 'pointer';
            dc.Event.addListener(div, 'click',this.toggle,this);
         }
      }
   },
   toggle:function(){

      if(!this.isMove){
         this.isMove = true;
         if(this.isOpen){
            this.tween.start(this.height,this.cheight);
         }else{
            this.scroll = dc.Dom.scrollOffset().y;
            this.tween.start(this.cheight,this.height);
         }
      }
   },
   onStep: function(pos){
      this.cont.style.height = pos +'px';
      if(!this.isOpen) {
         window.scrollTo(0,this.scroll+pos-this.cheight);
      }
   },
   onComplete: function(){
      this.isOpen = !this.isOpen;
      this.isMove = false;
   }
};
