/*
 JoomlaXTC VMBanners Module
 version 1.0 for Joomla 1.5
 copyright (c) 2008 Monev Software, LLC.
 All Rights Reserved
*/

function vmbanners(id, type, direction, infoxy, infow, wd, hg, sp, layer){

	var ff = 'sans-serif';
	var fs = '3';
	var fc = '#ffffff';
	var ff2 = 'sans-serif';
	var fs2 = '2';
	var fc2 = '#ffffff';
	var pp = '19';
	
  var vmbanner = $$('.vmbanner');
  vmbanner.setStyles({'height':'0px', 'display':'none'});
  var repeat;
	var i = 0;
	var j = 1; 

  
	switch (type) {
	case 'fade':  top1 = 0; left1 = 0; top2 = 0; left2 = 0; break;
	case 'slideHor': top1 = 0; left1 = 0; top2 = 0; left2 = wd + 0; break;
	case 'slideVer': top1 = 0; left1 = 0; top2 = hg; left2 = 0; break;
	}

	var dix = $(id);
  dix.setStyles({'overflow': 'hidden', 'position': 'relative', 'padding':'0px'});
  
	var div = new Element('div',{
			'styles':{
			'position':'absolute',
			'width': wd + 'px',
			'height': hg + 'px',
			'top': top1 + 'px',
			'left': left1 + 'px'
			}
	});
	
	var div2 = new Element('div',{
			'styles':{
			'position':'absolute',
			'width': wd + 'px',
			'height': hg + 'px',
			'top': top2 + 'px',
			'left': left2 + 'px'
		}
	});
	
	var box = new Element('div',{
			'styles': {
      'display': 'block',
			'overflow': 'hidden',
			'position': 'relative',
			'top': '0px',
			'width': wd + 'px',
			'height': hg + 'px',
//			'padding': '3px',
//      'border': '1px solid #C0C0C0',
			'z-index': layer
			}
  });
   
  var info = new Element('div',{
			'styles': {
      'display': 'block',
      'overflow': 'hidden',
			'position': 'absolute',
			'width': wd - 38 + 'px',
			'padding': '19px',
			'padding-top': '10px',
			'border': '0px solid',
      'color': '#FFF',
      'font-size': '28px',
			'font-family': 'Arial',
      'background-image': 'url(modules/mod_jxtc_vmbanners/images/infobackground.png)',
			'z-index': layer + 1
			}
  });


  var fxinfo = new Fx.Styles(info, {duration:800, wait:false});
         
	box.injectInside(dix); 
  info.injectInside(box);
	div.injectInside(box);
	div2.injectInside(box); 


	if(type=='fade'){
	var loop = function(){
  
			var fx2 = new Fx.Styles(div2, {duration:(sp/2), wait:false});
			var fx = new Fx.Styles(div2, {duration:sp, wait:false});
			var htmlC = vmbanner[j].getAttribute('title') + '<p style="font-size:12px;">' + vmbanner[j].getAttribute('rev') + '</p>';
      
			div.setHTML(vmbanner[i].innerHTML);
			div2.setHTML(vmbanner[j].innerHTML);
			info.setHTML(htmlC);

      info.setHTML(htmlC);
      var ihg = info.getStyle('height').toInt();
        
      if(infoxy=='bottom'){
      info.setStyle('left', '0px');
      info.setStyle('bottom', -ihg + 'px');
      fxinfo.start({'height': '0px'});
      } 
      
      if(infoxy=='top'){
      info.setStyle('left', '0px');
      info.setStyle('top', -ihg + 'px');
      fxinfo.start({'top': '0px'});
      }
      
      if(infoxy=='right'){
      info.setStyle('bottom', '0px');
      info.setStyle('width', infow + 'px');
      info.setStyle('height', hg + 'px');
      info.setStyle('left', wd + 'px');
      fxinfo.start({'left': wd - infow + 'px'});
      } 
      
      if(infoxy=='left'){
      info.setStyle('bottom', '0px');
      info.setStyle('width', infow + 'px');
      info.setStyle('height', hg + 'px');
      info.setStyle('left', -wd + 'px');
      fxinfo.start({'left': '0px'}); 
      }
      
			div.setStyle('opacity',0);
						
			fx2.start({'opacity': 1}).chain(function(){
        fx.start({'opacity': 1}).chain(function(){
          div.setHTML(vmbanner[i].innerHTML);
            fx2.start({'opacity': 0}).chain(function(){
              fx2.start('opacity',1).chain(function(){
              });
            });
				});
			});
			
			i++;
			j++;
			if(i>vmbanner.length-1){i=0;}
			if(j>vmbanner.length-1){j=0;}
	}
	var timex = sp*2;
	}





	if(type=='slideHor'){
	var loop = function(){

			var fx = new Fx.Styles(div, {duration:800, wait:false});
			var fx2 = new Fx.Styles(div2, {duration:800, wait:false});
			var fxA = new Fx.Styles(div, {duration:sp, wait:false});
      var htmlC = vmbanner[j].getAttribute('title') + 
        '<p style="font-size:9pt;color:#FFFFFF;">' + vmbanner[j].getAttribute('rev') + '</p>';
 			
      info.setHTML(htmlC);
      var ihg = info.getStyle('height').toInt();
      
      if(infoxy=='bottom'){
      info.setStyle('left', '0px');
      info.setStyle('bottom', -ihg + 'px');
      fxinfo.start({'bottom': '0px'});
      } 
      
      if(infoxy=='top'){
      info.setStyle('left', '0px');
      info.setStyle('top', -ihg + 'px');
      fxinfo.start({'top': '0px'});
      }
      
      if(infoxy=='right'){
      info.setStyle('bottom', '0px');
      info.setStyle('width', infow + 'px');
      info.setStyle('height', hg + 'px');
      info.setStyle('left', wd + 'px');
      fxinfo.start({'left': wd - infow + 'px'});
      } 
      
      if(infoxy=='left'){
      info.setStyle('bottom', '0px');
      info.setStyle('width', infow + 'px');
      info.setStyle('height', hg + 'px');
      info.setStyle('left', -wd + 'px');
      fxinfo.start({'left': '0px'}); 
      }
      
      if(direction=='RightLeft'){
      	div.setHTML(vmbanner[i].innerHTML);
        div2.setHTML(vmbanner[j].innerHTML); 
        
        div.setStyle('left',0);
        div2.setStyle('left', wd + 0); 
      
        fx.start({'left': -(wd + 0)}).chain(function(){
          fxA.start({});
        });

        fx2.start({'left': 0}).chain(function(){
          fxA.start({});
        });
			}
      
      if(direction=='LeftRight'){
      	div.setHTML(vmbanner[j].innerHTML);
        div2.setHTML(vmbanner[i].innerHTML); 
      
        div.setStyle('left', -(wd + 0));
        div2.setStyle('left', 0); 
      
        fx.start({'left': 0}).chain(function(){
          fxA.start({});
        });

        fx2.start({'left': wd + 0}).chain(function(){
          fxA.start({});
        });
			}
      
      i++;
			j++;
			if(i>vmbanner.length-1){i=0;}
			if(j>vmbanner.length-1){j=0;}
	}
	var timex = sp;
	}


	if(type=='slideVer'){
	var loop = function(){
			var fx = new Fx.Styles(div, {duration:800, wait:false});
			var fx2 = new Fx.Styles(div2, {duration:800, wait:false});
			var fxA = new Fx.Styles(div, {duration:sp, wait:false});
      var htmlC = vmbanner[j].getAttribute('title') + 
        '<p style="font-size:9pt;color:#FFFFFF;">' + vmbanner[j].getAttribute('rev') + '</p>';
      
      info.setHTML(htmlC);
      var ihg = info.getStyle('height').toInt();
      
      if(infoxy=='bottom'){
      info.setStyle('left', '0px');
      info.setStyle('bottom', -ihg + 'px');
      fxinfo.start({'bottom': '0px'});
      } 
      
      if(infoxy=='top'){
      info.setStyle('left', '0px');
      info.setStyle('top', -ihg + 'px');
      fxinfo.start({'top': '0px'});
      }
      
      if(infoxy=='right'){
      info.setStyle('bottom', '0px');
      info.setStyle('width', infow + 'px');
      info.setStyle('height', hg + 'px');
      info.setStyle('left', wd + 'px');
      fxinfo.start({'left': wd - infow + 'px'});
      } 
      
      if(infoxy=='left'){
      info.setStyle('bottom', '0px');
      info.setStyle('width', infow + 'px');
      info.setStyle('height', hg + 'px');
      info.setStyle('left', -wd + 'px');
      fxinfo.start({'left': '0px'}); 
      }
      
      if(direction=='BottomTop'){
      	div.setHTML(vmbanner[i].innerHTML);
        div2.setHTML(vmbanner[j].innerHTML);
      
        div.setStyle('top',0);
        div2.setStyle('top', hg + 0);

        fx.start({'top': -(hg + 0)}).chain(function(){
          fxA.start({})
        });

        fx2.start({'top': 0}).chain(function(){
          fxA.start({})
        });
			}
      
      if(direction=='TopBottom'){
      	div.setHTML(vmbanner[j].innerHTML);
        div2.setHTML(vmbanner[i].innerHTML);
      
        div.setStyle('top', -(hg + 0));
        div2.setStyle('top', 0);

        fx.start({'top': 0}).chain(function(){
          fxA.start({})
        });

        fx2.start({'top': hg + 0}).chain(function(){
          fxA.start({})
        });
			}
      
      
			i++;
			j++;
			if(i>vmbanner.length-1){i=0;}
			if(j>vmbanner.length-1){j=0;}
	}
	var timex = sp;
	}

	
	loop();
	repeat = loop.periodical(timex);
	return true;
}