// constants
/**
	This has all the constants that we need to run the swf. 
	The constantList defines what index to look for then which pagedetail to load.
	The constantList is defined in getIndexVar();  (these should probably be combined in an obj in the next round of dev )
	
**/
var pageDetails = new Array();
var constantList = new constants();
pageDetails[constantList.whatsnew] = new pagedetail('swf/whatsnew.swf', 'teen/t080_1.xml', 'coverImageId');
pageDetails[constantList.sun] = new pagedetail('swf/overview.swf', 'teen/t500_1.xml', 'catId, coverImageId,flip');
pageDetails[constantList.sun_products] = new pagedetail('swf/overviewsunproduct.swf', 'teen/t501_1.xml' , 'coverImageId');
pageDetails[constantList.search] = new pagedetail('swf/search.swf', 'teen/t070.xml', 'category,subCategory,productID,catId,skinTypeId,skinCondId,pageStart,query,searchType,whatsNewCategory, coverImageId');
pageDetails[constantList.regimens] = new pagedetail('swf/regimens.swf', 'teen/t800_1.xml',  'catId,subCatId,regimenId,coverImageId');
pageDetails[constantList.products] = new pagedetail('swf/products.swf', 'teen/t500_1.xml', 'catId,subCatId,coverImageId');
pageDetails[constantList.products_details] = new pagedetail('swf/details.swf', 'teen/t500_1.xml', 'catId,subCatId,productId,coverImageId');
pageDetails[constantList.index] = new pagedetail('swf/toc.swf', 'teen/t003b_1.xml', 'coverImageId');
pageDetails[constantList.hair] = new  pagedetail('swf/overview.swf', 'teen/t400_1.xml','catId, coverImageId,flip' );
pageDetails[constantList.hair_products] = new pagedetail('swf/overviewhairproduct.swf', 'teen/t401_1.xml', 'coverImageId');
pageDetails[constantList.face] = new pagedetail('swf/overview.swf', 'teen/t100_1.xml', 'catId,coverImageId,flip');
pageDetails[constantList.face_products] = new pagedetail('swf/overviewfaceproduct.swf', 'teen/t101_1.xml', 'coverImageId');
pageDetails[constantList.expertcenter] = new pagedetail('swf/experts.swf', 'teen/t710_1.xml', 'category,condition,static_path,coverImageId');
pageDetails[constantList.cosmetics] = new pagedetail('swf/overview.swf', 'teen/t200_1.xml', 'catId,coverImageId,flip');
pageDetails[constantList.cosmetics_products] = new pagedetail('swf/overviewcosmeticsproduct.swf', 'teen/t201_1.xml', 'coverImageId');
pageDetails[constantList.bath] = new pagedetail('swf/overview.swf', 'teen/t600_1.xml', 'catId,coverImageId,flip');
pageDetails[constantList.bath_products_overview] = new pagedetail('swf/overviewbathproduct.swf', 'teen/t601_1.xml', 'coverImageId');
pageDetails[constantList.articles] = new pagedetail('swf/article.swf', 'teen/t83_1.xml', 'content_path,coverImageId');

function buildSwf()
{
	// get the index value
	var index = getIndexVar();
	// find the index in the "hash" table
	var page = pageDetails[index];
		
	var so = new SWFObject("/econsumer/ntg/swf/main.swf", "main", "968", "543", "8", "#e1e1e1");
	so.addVariable("config_path", "config/teen/_config.xml");
	so.addVariable("global_path", "config/teen/global.xml");	
	so.addVariable("xml_path", page.xml_path);
	so.addVariable("swf_path", page.swf);
	so.addParam("allowScriptAccess", "sameDomain");	
	so.addParam("allowFullScreen", "false");
	so.addParam("play", "true");	
	so.addParam("wmode", "transparent");
	
	var swfParams = page.params.split(',');

	for (var x=0;  x < swfParams.length; x++)
	{
		if (swfParams[x] != '')
		{
			var variable_value = parseRequestParameters(swfParams[x]);
			
			if (variable_value)
			{
				so.addVariable(swfParams[x], variable_value);
			}
		}
	}
		
	so.write("flashcontent_main");

}

function getIndexVar() {
	
	//divide the URL in half at the '?'
	var urlHalves = String(document.location).split('?');
	// get the url string
	var path = urlHalves[0];
	// split the url string using the / as delimiter
	var splits = String(path).split('/');
	// get everything from the last /
	var pagename = splits[splits.length-1];	
	// remove anything past .html or .view that will mess up the index lookup
	var regCheck = /(\.view|\.html)/;
	var newsplits = pagename.split(regCheck);
	pagename = newsplits[0];
	
	// get the servername
	var servername = splits[2];	
	// get the constants obj
	var constantObj = new constants();
	
	// if the pagename is teenproductsoverview.view or teenproducts category, grab the catId and append
	if (pagename == 'teenproductsoverview' || pagename == 'teenproductscategory')
	{
		pagename = pagename + '|' + parseRequestParameters('catId');
	}

	switch (pagename)
	{
		case 'teenproductsoverview|1': return constantObj.face;
		case 'teenproductsoverview|2': return constantObj.cosmetics;
		case 'teenproductsoverview|3': return constantObj.sun;
		case 'teenproductsoverview|4': return constantObj.hair;
		case 'teenproductsoverview|5': return constantObj.bath;

		case 'teenproductscategory|1': return constantObj.face_products;
		case 'teenproductscategory|2': return constantObj.cosmetics_products;
		case 'teenproductscategory|3': return constantObj.sun_products;
		case 'teenproductscategory|4': return constantObj.hair_products;
		case 'teenproductscategory|5': return constantObj.bath_products_overview;
	
		case 'teenregimenlist': return constantObj.regimens;
		case 'teenregimendetail': return constantObj.regimens;
		case 'teensearch': return constantObj.search;
		case 'teenhome': return constantObj.index;
		case 'teenexpertcenter': return constantObj.expertcenter;									
		case 'teenproductslistpage': return constantObj.products;
		case 'teenprodlist': return constantObj.products_details;
		case 'teenannouncementdetail': return constantObj.articles;
		case 'teenarticledetail': return constantObj.articles;
		case 'teenproductdetail': return constantObj.products_details;

		// whats new details
		case 'teennewproducts': return constantObj.whatsnew;
		case 'teenspecialoffer': return constantObj.whatsnew;
		case 'teenarticlelist': return constantObj.whatsnew;
		case 'teenarticle': return constantObj.whatsnew;
		case 'teenannouncement': return constantObj.whatsnew;
		
		default: return constantObj.index;
	}
}

/**
* parseRequestParameters()
*/
function parseRequestParameters(key) {

	// parse the query line into a list of request parameters
	var query = document.location.search;
	// drop the leading question mark
	if(query.length > 0 && query.charAt(0) == '?') {
		query = query.substring(1);
	}
	// split the name/value pairs into an array
	var params = query.split('&');
	// create an associative array from the name/value pairs
	if(params != null && params.length > 0) {
		paramList = new Array(params.length);
		for(var i = 0; i < params.length; i++) {
			var nodes = params[i].split('=');
			paramList[nodes[0]] = nodes[1];	
		}
	}
	return paramList[key];
}


// JavaScript Pagedetail Object
function pagedetail (swf, structural_xml, params)
{
	this.swf = swf;
	if (params)
	{
		this.params = params.replace(/^\s*|\s*$/g,'');
	}
	else
	{
		this.params = '';
	}
	this.xml_path = 'pages/content/' + structural_xml;
}

// JavaScript Constants Object
/**
*   used to store page constants used by the script
*/
function constants (swf, structural_xml, params)
{
	this.whatsnew = 'whatsnew';
	this.sun = 'sun';
	this.sun_products = 'sun_products';
	this.search = 'search';
	this.regimens = 'regimens';
	this.products = 'products';
	this.products_search = 'products_search';
	this.products_details = 'products_details';
	this.index = 'index';
	this.hair = 'hair';
	this.hair_products = 'hair_products';
	this.face = 'face';
	this.face_products = 'face_products';
	this.expertcenter = 'expertcenter';
	this.cosmetics = 'cosmetics';
	this.cosmetics_products = 'cosmetics_products';
	this.bath = 'bath';
	this.bath_products_overview = 'bath_products_overview';
	this.articles = 'articles';
}	

function thisMovie(movieName) 
{
	if (navigator.appName.indexOf("Microsoft") != -1) {
		return window[movieName];
	} else {
		return document[movieName];
	}
}

function sendToActionScript(value) 
{
	alert("sendToActionscript");
	thisMovie("main").sendToActionScript(value);
}
