// ********************************************************************** VARIABLES
// the date from php
var phpDate = new Date();

//Max # of banners
var max = 10;

//size of preloaded image
var x = 400;
var y = 200;
var bn = 0;
var w = 0;
var p = 0;
var next = 0;
var autoMove = 1;
var nextAuto = -400;
var currentBanner = 'string';
var currentBannerNum = 0;
// array
var banners = new Array();
// border color
var border = '#000000';
// rotation delay
var delay = 5000;

// ********************************************************************** ONLOAD
window.onload = function(){
	var today = document.getElementById('todayDate').value.split(',');
  phpDate.setFullYear(today[0]);
  phpDate.setMonth(today[1]);
  phpDate.setDate(today[2]);
	phpDate.setHours(0, 0, 0, 0); // set hours/mins/sec/mili-sec to "0"
  
	//alert(phpDate);
	compare(); 
}
	
// ********************************************************************** PRELOAD BANNERS
var n = 0;
var pic0 = new Image(x,y);
var pic1 = new Image(x,y);
var pic2 = new Image(x,y);
var pic3 = new Image(x,y);
var pic4 = new Image(x,y);
var pic5 = new Image(x,y);
var pic6 = new Image(x,y);
var pic7 = new Image(x,y);
var pic8 = new Image(x,y);
var pic9 = new Image(x,y);
var pic10 = new Image(x,y);

if (document.images)
{
	// ---------------------------- ACTIVE BANNERS -----------------------------
	
  
	// Winter wine
  eval('pic'+n).pic="http://sacdine.com/images/banners/main_banner/make-a-wish-2012-mb.jpg";
	eval('pic'+n).link = 'http://sacnortheast.wish.org/2011/11/07/24th-annual-winter-wine-food-fest/';
	eval('pic'+n).date = '2012,0,28'; // Jan 28, 2012
	eval('pic'+n).name = 'pic'+n;
	eval('pic'+n).target = 'links';
  n++;
	
  // Port Chocolate
  eval('pic'+n).pic="http://sacdine.com/images/banners/main_banner/port-wine-2012.jpg";
	eval('pic'+n).link = 'http://portandchocolate.eventbrite.com/';
	eval('pic'+n).date = '2012,1,12'; // Feb 12, 2012
	eval('pic'+n).name = 'pic'+n;
	eval('pic'+n).target = 'links';
  n++;
    
	// placer county winery
  eval('pic'+n).pic="http://sacdine.com/images/banners/main_banner/placer-county-mb.jpg";
	eval('pic'+n).link = 'http://www.sacdine.com/placer-county-wineries';
	eval('pic'+n).date = '2012,10,30'; // Nov 30, 2012
	eval('pic'+n).name = 'pic'+n;
	eval('pic'+n).target = '';
  n++;
		

	// Krupros
  eval('pic'+n).pic="http://sacdine.com/images/banners/main_banners/kupros-mb.jpg";
	eval('pic'+n).link = 'http://www.sacdine.com/profiles.php?id=2849';
	eval('pic'+n).date = '2012,11,30'; // Dec 30, 2012
	eval('pic'+n).name = 'pic'+n;
	eval('pic'+n).target = '';
  n++;	

	// 50% off
  eval('pic'+n).pic="http://sacdine.com/images/banners/main_banner/50p_off.jpg";
	eval('pic'+n).link = 'http://sacdine.com/giftcards.php';
	eval('pic'+n).date = '2011,3,28'; // Feb 28, 2011
	eval('pic'+n).name = 'pic'+n;
	eval('pic'+n).target = '';
  n++;
	
	// Quick Bites
  eval('pic'+n).pic="http://sacdine.com/images/banners/main_banner/quickbites.jpg";
	eval('pic'+n).link = '';
	eval('pic'+n).date = '2011,3,28'; // Feb 28, 2011
	eval('pic'+n).name = 'pic'+n; 
	eval('pic'+n).target = '';
  n++;
	
	// twitter
  eval('pic'+n).pic="http://sacdine.com/images/banners/main_banner/twitter-mb.jpg";
	eval('pic'+n).link = 'http://www.twitter.com/sacdine';
	eval('pic'+n).date = '2013,11,28'; // Dec 28, 2013
	eval('pic'+n).name = 'pic'+n;
	eval('pic'+n).target = 'link';
  n++;
	
	// facebook
  eval('pic'+n).pic="http://sacdine.com/images/banners/main_banner/facebook.jpg";
	eval('pic'+n).link = 'http://www.facebook.com/pages/SacDinecom/100044502461';
	eval('pic'+n).date = '2013,11,28'; // Dec 28, 2013
	eval('pic'+n).name = 'pic'+n;
	eval('pic'+n).target = 'link';
  n++;
	
	// ---------------------------- INACTIVE BANNERS ---------------------------

	
	// ---------------------------- BACKUP BANNERS -----------------------------
	
  // Backup Banners if most are expired
  backup1= new Image(x,y); 
	backup1.pic="http://sacdine.com/images/banners/main_banner/50p_off.jpg";
	backup1.link = 'http://sacdine.com/giftcards.php';
	backup1.name = 'backup1';
	backup1.target = '';
  
  backup2= new Image(x,y); 
	backup2.pic="http://sacdine.com/images/banners/main_banner/discounts.jpg";
	backup2.link = 'http://sacdine.com/specials.php?title=discounts&page=discounts';
	backup2.name = 'backup2';
	backup2.target = '';
}

// ********************************************************************** FUNCTIONS
function compare(){
	
	for(i = 0; i < max; i++){
		try{
			var n = eval('pic'+i);
      var b = new Date();
      
      var bannerDate = n.date.split(',');
      b.setFullYear(bannerDate[0]);
      b.setMonth(bannerDate[1]);
      b.setDate(bannerDate[2]);

			// if not expired
			if(b >= phpDate){
				n.src = n.pic;
				banners[bn] = n;
				bn++;
				w+=400;
			}
		} catch(error){
			//alert('no');
		}
	}
	
    // *************************************************************** BACKUP BANNERS
    // if only 1 banner in array
    if(banners.length == 1){
      backup1.src = backup1.pic;
      banners[bn] = backup1;
      bn++;
      w+=400;
    }
    
    // if only 1 banner in array
    if(banners.length == 0){
      backup1.src = backup1.pic;
      banners[bn] = backup1;
      bn++;
      w+=400;
      
      backup2.src = backup2.pic;
      banners[bn] = backup2;
      bn++;
      w+=400;
    }
    // *******************************************************************************
    
		// display the images
		displayImage();
		bannerNav();
		currentBanner = banners[0].name;
		document.getElementById(currentBanner).style.border = border+' solid 2px';
		setTimeout("smAuto(nextAuto)", delay);
}

function displayImage(){
	var obj = document.getElementById('bannerImage');
	// loop through banners and insert them into bannerImage
	for(i = 0; i < banners.length; i++){
		//if it has link
		if(banners[i].link.length > 2){
			var targetPath;
			// open in new window when banners[i].target == 'link'
			if(banners[i].target.length > 2)
			{
				targetPath = 'target="links"'; 
			}
			else
			{
				targetPath = '';
			}
			obj.innerHTML += '<a href="'+banners[i].link+'"  '+targetPath+'><img src="'+banners[i].src+'" /></a>';
		} else {
			obj.innerHTML += '<img src="'+banners[i].src+'" />';
		}
		// increase width
		obj.style.width = w+'px';
	}

  // *************************************************************** BACKUP BANNERS
  //if only 1 banner in array
  if(banners.length == 1){
    if(backup1.link.length > 2){
      obj.innerHTML += '<a href="'+backup1.link+'"  target="links"><img src="'+backup1.src+'" /></a>';
    } else {
      obj.innerHTML += '<img src="'+backup1.src+'" />';
    }
    // increase width
    obj.style.width = w+'px';
  }
  
  //if 0 banner in array
  //display backup1 banner
  if(banners.length == 0){
    if(backup1.link.length > 2){
      obj.innerHTML += '<a href="'+backup1.link+'"  target="links"><img src="'+backup1.src+'" /></a>';
    } else {
      obj.innerHTML += '<img src="'+backup1.src+'" />';
    }
  }
  
  //display backup2 banner
  if(banners.length == 0){
    if(backup2.link.length > 2){
      obj.innerHTML += '<a href="'+backup2.link+'"  target="links"><img src="'+backup2.src+'" /></a>';
    } else {
      obj.innerHTML += '<img src="'+backup2.src+'" />';
    }
  }  
    // increase width
    obj.style.width = w+'px';
}  
  // *******************************************************************************

function bannerNav(){
	for(i=0; i < banners.length; i++){
		var bi = i+1;
		document.getElementById('mainBannerNav').innerHTML += '<a href="#" onClick="sm('+next+', \''+banners[i].name+'\'); return false;"><img id="'+banners[i].name+'" class="bannerThumb" src="'+banners[i].src+'" /></a> ';
    next -= 400;
	}
}

function sm(nextP, id){
	// stop move
	try{
		clearInterval(startMove);
		clearTimeout(startTimeOut);
	} catch(error){
		// error
	}
	
	autoMove = 0;
	
	// no border
	document.getElementById(currentBanner).style.border = 'none';
	// new border
	currentBanner = eval(id+"").name;
	document.getElementById(currentBanner).style.border = border+' solid 2px';
	
	if(nextP < p){
		startMove = setInterval(function(){ changeImageRight(nextP) }, 20);
	} else {
		startMove = setInterval(function(){ changeImageLeft(nextP) }, 20);
	}
}

// *********************************************** Move RIGHT
function changeImageRight(nextP){
	var obj = document.getElementById('bannerImage');
	if(p > nextP){
		p-=50;
		obj.style.left = p+'px';
	} else {
		p = nextP;
		obj.style.left = nextP+'px';
		clearInterval(startMove);
		// if auto
		if(autoMove == 1){
			if(nextAuto == -(w-400)){
				nextAuto = 0;
			} else {
				nextAuto -= 400;
			}
			startTimeOut = setTimeout("smAuto(nextAuto)", delay);
		}
	}
}

// *********************************************** Move LEFT
function changeImageLeft(nextP){
//alert('going');
	var obj = document.getElementById('bannerImage');
	if(p < nextP){
		p+=50;
		obj.style.left = p+'px';
	} else {
		p = nextP;
		obj.style.left = nextP+'px';
		clearInterval(startMove);
		// if auto
		if(autoMove == 1){
			nextAuto = -400;
			startTimeOut = setTimeout("smAuto(nextAuto)", delay);
		}
	}
}

function smAuto(nextAuto){
	// no border
	document.getElementById(currentBanner).style.border = 'none';
	// new border
	if(currentBannerNum >= banners.length-1){
		currentBannerNum = 0;
	} else {
		currentBannerNum++;
	}
  //alert(banners[currentBannerNum].name);
	document.getElementById(banners[currentBannerNum].name).style.border = border+' solid 2px';
	currentBanner = banners[currentBannerNum].name;
	
	if(nextAuto < p){
		startMove = setInterval(function(){ changeImageRight(nextAuto) }, 20);
	} else {
		startMove = setInterval(function(){ changeImageLeft(nextAuto) }, 20);
	}
	
}
