// DIRECTORY LINKS
var gamesLoc = "games/"
var downloadLoc = "downloads/"
var styleLoc = "stylegallery/"
var locatorLoc = "storelocator/"

// PROMO IMAGE NAMES
var gamePromos = ["G1","G2","G3","G4","G5","G6","G7","G8","G9"]
var mailroomPromos = ["M1","M2","M5"]
var downloadsPromos = ["D1","D2","D3","D4","D5","D6","D7","D8","D9","D10","D11"]
var locatorPromos = ["L1","L2"]
var stylePromos = ["S1","S2","S3","S4"]
var randomPromos = ["Z1"]//,"Z2","Z3"]

// PROMO LINKS
var gamePromosLinks = [gamesLoc + "index",gamesLoc + "yourstyle/index",gamesLoc + "logologic/index",gamesLoc + "schoolnightmare/index",gamesLoc + "crypto/index",gamesLoc + "styleslider/index",gamesLoc + "pogo/index",gamesLoc + "springwishlist/index",gamesLoc + "yourstyle/index"]
var mailroomPromosLinks = ["mailroom","mailroom","mailroom"]
var downloadsPromosLinks = [downloadLoc + "wallpaper",downloadLoc + "stationery",downloadLoc + "cardmaker/index",downloadLoc + "index",downloadLoc + "calendar/index",downloadLoc + "lockerposter/index",downloadLoc + "stickers/index",downloadLoc + "catcher/index",downloadLoc + "frame/index",downloadLoc + "doorhanger/index",downloadLoc + "frame/index"]
var locatorPromosLinks = [locatorLoc + "index",locatorLoc + "index"]
var stylePromosLinks = [styleLoc + "index",styleLoc + "index",styleLoc + "index",styleLoc + "index"]
var randomPromosLinks = ["contest/photo/index","sweepstake/index","contest/designer/index"]

// PROMO ALT Tags
var gamePromosAlt = ["Check out these games!","What&#39;s Your Style? Take the Quiz!","Match Em Up! Logo Logic!","Beware the Lunch Lady! School Nightmare!","Can you figure it out? Cryptogram!","Classic puzzle game with modern style.  In-Style Slider!","Can you beat it? Polo Pogo!","RL Fashion Wishlist! What's on YOUR list?","Prep? Sporty? Play What&#39;s your style?"]
var mailroomPromosAlt = ["What do you have to say? Tell us!","You&#39;re UNIQUE tell us what you think in the Mailroom!","New entries in the mailroom!"]
var downloadsPromosAlt = ["Put Ralph Lauren Style on your desktop!","Write in Style! Ralph Lauren Stationery","Create, print & stay in touch!","Cool Downloads and Printables","Plan the season Ralph Lauren style!","Dress up your locker Ralph Lauren Style!","Ralph Lauren Stickers!","Get Your Fashion Fortune!","Frame It!","Knock-knock! RL Door Hangers","Look your best! RL photo frames!"]
var locatorPromosAlt = ["Find RL styles near you!","Where can you find Ralph Lauren Styles?"]
var stylePromosAlt = ["What&#39;s your Style?","What&#39;s new? Check the Style Gallery","The latest Ralph Lauren Styles","Get your own RL Girl Magalog"]
var randomPromosAlt = ["Ralph Lauren Photo Contest Winners","Enter the Back to School Sweepstakes 500 Dollar Wardrobe!","Become a Fashion Designer!"]


RotatingPromo = new RotatingPromo([gamePromos,mailroomPromos,downloadsPromos,locatorPromos,stylePromos,randomPromos],[gamePromosLinks,mailroomPromosLinks,downloadsPromosLinks,locatorPromosLinks,stylePromosLinks,randomPromosLinks],[gamePromosAlt,mailroomPromosAlt,downloadsPromosAlt,locatorPromosAlt,stylePromosAlt,randomPromosAlt]);


// Steps through each promo category (Games, Mailroom, etc) and builds an object for each one
function RotatingPromo(promoCategories, promoLinks, promoAltTags) {
	this.PromoCategories = promoCategories;
	this.PromoLinks = promoLinks;
	this.PromoAltTags = promoAltTags;
	
	for (i=0; i < this.PromoCategories.length; i++) {
		eval("this.Promo" + i +' = new PromoCategory(this.PromoCategories[i],this.PromoLinks[i],this.PromoAltTags[i])');
	}
}

// Each promo category is an object holding an array to its members
function PromoCategory(arrPromoMembers,arrPromoLinks,arrPromoAltTags) {
	this.PromoMembers = arrPromoMembers;
	this.PromoLinks = arrPromoLinks;
	this.PromoAltTags = arrPromoAltTags;
}


// Generate random number between a certain range
function generateRandom(range) {
	return (Math.floor(Math.random() * range));
}


// Generates a random number that corresponds to a Promo Category and a second
// random number that corresponds to a Promo Member within that category
// All random numbers are determined by the length of the array
// Returns the randomly selected promo to the page that called the function
function callGeneratePromo(delimiter) {
	var randomNum1;
	var randomNum2;
	var promoImg;
	var promoLink;
	var promoAlt;

	
	//looks for delimiter - if one is given promos from only a particular category are shown
	switch (delimiter){
		case "games": 
			randomNum1 = 0;
			break;
		case "mailroom": 
			randomNum1 = 1;
			break;
		case "download": 
			randomNum1 = 2;
			break;
		case "locator":
			randomNum1 = 3;
			break;
		case "style":
			randomNum1 = 4;
			break;
		case "random":
			randomNum1 = 5;
			break;
		default: 
			randomNum1 = generateRandom(RotatingPromo.PromoCategories.length);
	}
	
	randomNum2 = generateRandom(eval("RotatingPromo.Promo" + randomNum1 + ".PromoMembers.length"));
	
	var promoCat = eval("RotatingPromo.Promo" + randomNum1);
	
	
	
	// get path from Root Directory passed from page calling function
	promoImg = rootDirPath + "images/promos/" + "promo_" + promoCat.PromoMembers[randomNum2] + ".gif";
	promoLink = rootDirPath + promoCat.PromoLinks[randomNum2] + ".jhtml";
	
	promoAlt = promoCat.PromoAltTags[randomNum2];
	
	return "<a href='" + promoLink + "'><img src=" + promoImg + " width='156' height='120' border='0' alt='" + promoAlt + "'></a>";
}


function generatePromo(delimiter) {
	loop = 0;
	promo = callGeneratePromo(delimiter);
	
	for (i = 0; i < promoException.length; i++) {
		if (promoException[i] != "") {
			while (promo.indexOf(promoException[i]) != -1) {
				promo = callGeneratePromo(delimiter);
			}
		}
	}
	
	return promo;
}





