// ********************************************************************** 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 -----------------------------
	
	
	
	// Crush Festival
  eval('pic'+n).pic="http://sacdine.com/images/banners/main_banner/crush-festival-2010-mb.jpg";
	eval('pic'+n).link = 'http://sacdine.com/crushfestival';
	eval('pic'+n).date = '2010,8,12'; // Sep 12, 2010
	eval('pic'+n).name = 'pic'+n;
	eval('pic'+n).target = '';
  n++;
	
	// A day in the country
  eval('pic'+n).pic="http://sacdine.com/images/banners/main_banner/a-day-in-the-country-mb.jpg";
	eval('pic'+n).link = 'http://sacdine.com/adayinthecountry';
	eval('pic'+n).date = '2010,8,12'; // Sep 12, 2010
	eval('pic'+n).name = 'pic'+n;
	eval('pic'+n).target = '';
  n++;
	
	// Cafe Americain
  eval('pic'+n).pic="http://sacdine.com/images/banners/main_banner/cafe-americain-mb-2010-06.jpg";
	eval('pic'+n).link = 'http://www.sacdine.com/profiles.php?id=2821';
	eval('pic'+n).date = '2010,6,30'; // May 30, 2010
	eval('pic'+n).name = 'pic'+n;
	eval('pic'+n).target = '';
  n++;
	
	// State Fair 2010
  eval('pic'+n).pic="http://sacdine.com/images/banners/main_banner/CSF-SacDineEsigns-400x200.jpg";
	eval('pic'+n).link = 'http://www.bigfun.org/';
	eval('pic'+n).date = '2010,7,1';
	eval('pic'+n).name = 'pic'+n; // August 1, 2010
	eval('pic'+n).target = 'link';
  n++;
	
	// Quick Bites
  eval('pic'+n).pic="http://sacdine.com/images/banners/main_banner/quickbites.jpg";
	eval('pic'+n).link = '';
	eval('pic'+n).date = '2010,9,31'; // Oct 31, 2010
	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 = '2010,9,31'; // Oct 31, 2010
	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 = '2010,9,31'; // Oct 31, 2010
	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.mediawebconnect.com/';
	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);
	}
	
}