var flashHeaderHeight = 442;
var isIntro = false;
var xmlFile = 'xml/intro_spring.xml';

//stores the current season
//can be entered on query string
//still need code to generate season from date
var stoneHillSeason;	
var color1;
var color2;

/*
* temporary js to handle switching seasons by use of query string
* also stores last queried season into cookie
*/
// Create a new QueryString object
var myQuery = new QueryString();
// Read query string from browser into the new QueryString object, name myQuery
myQuery.read();
// Check the status, to make sure it read the query string
// Then write out the query string arguments
if(myQuery.getStatus() && myQuery.get('season')) {	
	stoneHillSeason = myQuery.get('season');
	setCookie(stoneHillSeason);
} else {
	var cookieval = document.cookie;
	var a = cookieval.split(';');
	for(var i=0; i<a.length; i++) {
		var b = a[i].split('=');
		var b0 = b[0].replace(' ', '');
		if(b0 == 'stoneHillSeason') {
			stoneHillSeason = b[1];
		}
	}
}

if(stoneHillSeason==undefined || stoneHillSeason=='none') stoneHillSeason = getSeasonByDate();

//define the seasonal var to control which xml file gets loaded into the flash header
xmlFile = 'xml/intro_' + stoneHillSeason + '.xml';
//define the seasonal var to control which main css file gets loaded
var cssFile = 'css/main_' + stoneHillSeason + '.css';
//alert('css: ' + cssFile);

//define colors to pass in to flash headers
if(stoneHillSeason == 'winter') {
	color1 = '5684b8';
	color2 = '3a4971';
}
else if (stoneHillSeason == 'summer') {
	color1 = '486620';
	color2 = '263611';
}
else if (stoneHillSeason == 'fall') {
	color1 = 'a78a29';
	color2 = '6d5a1b';
}
else { //spring
	color1 = 'a0a940';
	color2 = '5e6620';
}



function getSeasonByDate() {
	var today = new Date();
	var winterDate = new Date();
	winterDate.setMonth(9); //Oct
	winterDate.setDate(15);
	var springDate = new Date();
	springDate.setMonth(3); //Apr
	springDate.setDate(1);
	var summerDate = new Date();
	summerDate.setMonth(5); //Jun
	summerDate.setDate(20);
	var fallDate = new Date();
	fallDate.setMonth(8); //Sep
	fallDate.setDate(1);
	
	if(today.getTime() < springDate.getTime()) return 'winter';
	if(today.getTime() < summerDate.getTime()) return 'spring';
	if(today.getTime() < fallDate.getTime()) return 'summer';
	if(today.getTime() < winterDate.getTime()) return 'fall';
	return 'winter';
}

function setCookie(season) {
	document.cookie = 'stoneHillSeason=' + season;
}

/*
 * functions below are used to insert flash into html containers via swfobject
 * these are convenience methods used to keep the html page code clean
 */
 
rarebrick.useFlash = function() {
	return(swfobject.hasFlashPlayerVersion("8.0.0"));
}

 //create a flash headline, assuming there is a <div> with id=flashHeadline
//which contains a <h1> wrapping the headline name
function makeFlashHeader() {
	if(!rarebrick.useFlash()) return;
	var flashid = 'flashheaderReplace';
	
	var xmlHtml = getXml(flashid);
	
	var flashvars = {};
	flashvars.isIntro = isIntro;
	flashvars.xmlFile = xmlFile;
	flashvars.xmlHtml = xmlHtml;
	flashvars.stoneHillSeason = stoneHillSeason;
	flashvars.color1 = color1;
	flashvars.color2 = color2;
	var params = {};
	params.allowScriptAccess = "always";
	params.wmode = "transparent";
	var attributes = {};
	attributes.id = flashid;
	swfobject.embedSWF('intro_1005.swf', flashid, '1010', flashHeaderHeight, '8.0.0', rarebrick.baseURL+'swf/expressInstall.swf', flashvars, params, attributes);
	
	swfobject.createCSS("#flashheaderReplace", "display:block;");
	
}
 
//create a flash headline, assuming there is a <div> with id=flashHeadline
//which contains a <h1> wrapping the headline name
function makeFlashHeadline() {
	if(!rarebrick.useFlash()) return;

	var flashid = 'flashHeadline';
	var elem = document.getElementById(flashid);
	var xml = elem.innerHTML;
	xml = xml.replace(/<br>/g, '<br/>');
	xml = escape(xml);
	
	var flashvars = {};
	flashvars.xml = xml;
	flashvars.color2 = color2;
	var params = {};
	params.allowScriptAccess = "always";
	params.wmode = "transparent";
	var attributes = {};
	attributes.id = flashid;
	swfobject.embedSWF('headline.swf', flashid, '763', '85', '8.0.0', rarebrick.baseURL+'swf/expressInstall.swf', flashvars, params, attributes);
	
}

//create a flash button, assuming there is a <div> with id=flashid
//which contains an <a> wrapping the button name
function makeFlashButton(flashid, width) {
	if(!rarebrick.useFlash()) return;

	var elem = document.getElementById(flashid);
	var xml = elem.innerHTML;
	xml = xml.replace(/<br>/g, '<br/>');
	xml = escape(xml);
	
	var flashvars = {};
	flashvars.xml = xml;
	flashvars.color1 = color1;
	flashvars.color2 = color2;
	var params = {};
	params.allowScriptAccess = "always";
	params.wmode = "transparent";
	var attributes = {};
	attributes.id = flashid;
	swfobject.embedSWF('button.swf', flashid, width, '32', '8.0.0', rarebrick.baseURL+'swf/expressInstall.swf', flashvars, params, attributes);
}

//create a flash button, assuming there is a <div> with id=flashid
//which contains an <a> wrapping the button name
function makeFlashNextRoom() {
	if(!rarebrick.useFlash()) return;

	var flashid = 'nextRoom';
	var elem = document.getElementById(flashid);
	var xml = elem.innerHTML;
	xml = xml.replace(/<br>/g, '<br/>');
	xml = escape(xml);
	
	var flashvars = {};
	flashvars.xml = xml;
	flashvars.color1 = color1;
	flashvars.color2 = color2;
	var params = {};
	params.allowScriptAccess = "always";
	params.wmode = "transparent";
	var attributes = {};
	attributes.id = flashid;
	swfobject.embedSWF('nextRoom.swf', flashid, '309', '45', '8.0.0', rarebrick.baseURL+'swf/expressInstall.swf', flashvars, params, attributes);
}

//create a flash button, assuming there is a <div> with id=flashid
//which contains an <a> wrapping the button name
function makeFlashLabelGradRev(flashid) {
	if(!rarebrick.useFlash()) return;

	var elem = document.getElementById(flashid);
	var xml = elem.innerHTML;
	xml = xml.replace(/<br>/g, '<br/>');
	xml = escape(xml);
	
	var flashvars = {};
	flashvars.xml = xml;
	flashvars.color1 = color1;
	var params = {};
	params.allowScriptAccess = "always";
	params.wmode = "transparent";
	var attributes = {};
	attributes.id = flashid;
	swfobject.embedSWF('label_gradrev.swf', flashid, '705', '29', '8.0.0', rarebrick.baseURL+'swf/expressInstall.swf', flashvars, params, attributes);

}

function footerBugs() {
	document.writeln('<img src="images/bugs_' + stoneHillSeason + '.gif" width="1010" height="120">');
}

function pullQuotes(st) {
	return st.replace(/\"/g, 'quote72');
}

var shareMenuState = false;

function shareOver() {
	if(shareMenuState == true) return;
	shareTurnOn();
}

function shareOut() {
	if(shareMenuState == false) return;
	shareTurnOff();
}

function shareTurnOn() {
	var elem = document.getElementById('shareDropdown');
	elem.style.display = 'block';
	shareMenuState = true;
}

function shareTurnOff() {
	var elem = document.getElementById('shareDropdown');
	elem.style.display = 'none';
	shareMenuState = false;
}

function shareLink(address) {
	//alert(document.location);
	document.location = address + document.location;
}

function emailSignup(email) {
	var dx=590;
	var dy=400;
	var url = 'http://ccprod.roving.com/roving/d.jsp?m=1011210686082&p=oi&go=Go';
	if(email != undefined) url = url + '&ea=' + email;

	var w = window.open(url, 'emailPop', 'width=' + dx + ',height=' + dy + ',status=no,resizable=yes,menubar=yes,location=no,scrollbars=yes,toolbar=no');
	w.focus();
}


/*
 * private functions below here
 */
 
function hideElem(flashid) {
	var elem = document.getElementById(flashid);
	elem.style.visibility = 'hidden';
}
 
function showElem(flashid) {
	var elem = document.getElementById(flashid);
	elem.style.visibility = 'visible';
}

function getXml(flashid) {
	var elem = document.getElementById(flashid);
	var xml = elem.innerHTML;
	//xml = xml.replace(/\n/g, '');
	
	xml = xml.replace(/(<.*?[ |>])/g, function(txt){return txt.toLowerCase();});
	xml = xml.replace(/""/g, '"null"');
	xml = xml.replace(/"/g, '');
	xml = xml.replace(/ /g, '  ');
	
	xml = xml.replace(/([<| ])(.*?[^?].*?)=([^"].*?[^"])([ |>])/g, '$1$2="$3"$4');	
	
	xml = xml.replace(/<?.br?.>/g, '<br/>');
	//xml = xml.replace(/<\/li>/g, '');
	//xml = xml.replace(/<\/ul>/g, '\n</ul>');
	//xml = xml.replace(/<li>(..*?)\n/g, '<li>$1</li>\n');
	xml = xml.replace(/  /g, ' ');
	
	xml = '<div>' + xml + '</div>';
	
	//alert(xml);
	return escape(xml);
}

if(rarebrick.useFlash()) {
	swfobject.createCSS("#flashheaderReplace", "display:none;");
}

