/* YUI */
var $DOM = YAHOO.util.Dom;
var $EVENT = YAHOO.util.Event;

/* Globals */
var welcome = null;
var timer = null;

/* Welcome 'Spinner' */
var turnspin = 0;

/* Marketing 'Spinner' */
var marketing = null;
var currentSlab = 1;
var numberOfSlabs = 6;

var lock = false;
var goBack = false;
var switchTo = false;

/* Marketing 'Spinner' logic */

function scroll() {

  timer = setInterval(function()
  {
    lock = true;
    fadeoutmarketing();
  }, 8000);

}

function fadeoutmarketing() {

  var options = {
    opacity: { to: 0 }
  };

  var slabId = 'slab-' + currentSlab;

  var myAnim = new YAHOO.util.Anim
  (
    slabId,
    options,
    1,
    YAHOO.util.Easing.easeBothStrong
  );

  myAnim.onComplete.subscribe(changemarketing);
  myAnim.animate();
}

function fadeinmarketing() {

  var myAnim = new YAHOO.util.Anim
  (
    'slab-' + currentSlab, {
    opacity: { to: 1}},
    1,
    YAHOO.util.Easing.easeBothStrong
  );

  myAnim.animate();
}

function updatecontrol() {
  var currentActive = $DOM.getElementsByClassName('active');
  $DOM.removeClass(currentActive, 'active');
  
  var dots = $DOM.getElementsByClassName('licc-spin-ctl');
  var active = dots[currentSlab - 1];
  $DOM.addClass(active, 'active');
}

function changemarketing() {

  $DOM.addClass('slab-' + currentSlab, 'hide');

  if (!goBack) {
    currentSlab++;
  } else {
    currentSlab--;
    goBack = false;
  }

//  console.log(currentSlab);

  if(currentSlab > numberOfSlabs) {
      currentSlab = 1;
  }

  if (currentSlab < 1) {
    currentSlab = currentSlab % numberOfSlabs;
  }

  if (currentSlab == 0) {
    currentSlab = numberOfSlabs;
  }

  if (switchTo) {
    currentSlab = switchTo;
    switchTo = false;
  }

  updatecontrol();

  $DOM.removeClass('slab-' + currentSlab, 'hide');

  fadeinmarketing();

  lock = false;
}

/* Welcome 'Spinner' logic */

function fadeout(){
	
	var myAnim = new YAHOO.util.Anim('welcome', {
  	opacity: { to: 0} 
	}, 2, YAHOO.util.Easing.easeBothStrong);
    myAnim.onComplete.subscribe(changebg);
	myAnim.animate();
	
}


function fadein(){
	
	//console.log('fi');
	
	var myAnim = new YAHOO.util.Anim('welcome', {
  	opacity: { to: 1} 
	}, 1, YAHOO.util.Easing.easeBothStrong);
    myAnim.animate();
	
}

function changebg(){
	
	//console.log('cb');
	
	switch(turnspin){
	case 0:
	YAHOO.util.Dom.setStyle('welcome', 'background-image', 'url(../img/welcome_bk_resized.jpg)');
	break;
	case 1:
	YAHOO.util.Dom.setStyle('welcome', 'background-image', 'url(../img/welcome_bk_2.jpg)');
	break;
	case 2:
	YAHOO.util.Dom.setStyle('welcome', 'background-image', 'url(../img/welcome_bk_3.jpg)');
	break;
	case 3:
	YAHOO.util.Dom.setStyle('welcome', 'background-image', 'url(../img/welcome_bk_4.jpg)');
	break;
	case 4:
	YAHOO.util.Dom.setStyle('welcome', 'background-image', 'url(../img/welcome_bk_5.jpg)');
	break;
	case 5:
	YAHOO.util.Dom.setStyle('welcome', 'background-image', 'url(../img/welcome_bk_6.jpg)');
	break;
	
	
}
	fadein();
}


function spin(){
	
	timer = setInterval(function(){	
								 
	console.log('s');
	
	fadeout();
    
	if(turnspin == 6){
		
	turnspin = 0;
	
	}else{
		
	turnspin = turnspin	+1; 
	
	}
		 

	}, 10000);
}

/* Init */
$EVENT.onDOMReady(function(){						 
	
  welcome = $DOM.get('welcome', 'div');
  marketing = $DOM.get('marketing-container','div');

  var els = $DOM.getElementsByClassName('marketing-home-slab');

  $EVENT.on(els,'mouseover',function(e){
    clearInterval(timer);
  });

  $EVENT.on(els,'mouseout',function(e) {
    scroll();
  });

  if(welcome) {
    spin();
  }

  if(marketing) {
    scroll();
  }

  var previous = $DOM.get('licc-spin-previous');

  /* Marketing spinner controls */
  $EVENT.on(previous, 'click', function(e) {

    if (!lock) {
      clearInterval(timer);
      goBack = true;
      lock = true;
      fadeoutmarketing();
      scroll();
    }
    
  });

  var next = $DOM.get('licc-spin-next');

  $EVENT.on(next, 'click', function(e) {

    if (!lock) {
      clearInterval(timer);
      lock = true;
      fadeoutmarketing();
      scroll();
    }

  });

  var dots = $DOM.getElementsByClassName('licc-spin-ctl');

  for (var i = 0; i < dots.length; i++) {
    $EVENT.on(dots[i], 'click', function(e) {
      var id = this.id;
      var slabNo = id.split('-');
      slabNo= slabNo[1];

      if (!lock) {
       clearInterval(timer);
       switchTo = slabNo;
       lock = true;
       fadeoutmarketing();
       scroll();
      }
    });


  }
	
	
});


