/*
 * RapidWeaver 3.5.0 theme functions.
 * Script Version 2.0.
 * Updated 19 April 2006.
 */



/*
 * Function to generate "open in new window" link as W3C compliant
 */

function externalLinks() {
if (!document.getElementsByTagName) return; 
var anchors = document.getElementsByTagName("a"); 
for (var i=0; i<anchors.length; i++) { 
var anchor = anchors[i]; 
if (anchor.getAttribute("href") && 
anchor.getAttribute("rel") == "external") 
anchor.target = "_blank";
} 
} 
window.onload = externalLinks;



/*
 * Functions to generate OBJECT and EMBED tags for QuickTime content.
 * Resource: http://developer.apple.com/internet/ieembedfix.html
 */

/************** LOCALIZABLE GLOBAL VARIABLES ****************/

var gArgCountErr =	'The "%%" function requires an even number of arguments.'
				+	'\nArguments should be in the form "atttributeName", "attributeValue", ...';

/******************** END LOCALIZABLE **********************/

var gTagAttrs				= null;
var gQTGeneratorVersion		= 1.0;

function AC_QuickTimeVersion()	{ return gQTGeneratorVersion; }

function _QTComplain(callingFcnName, errMsg)
{
    errMsg = errMsg.replace("%%", callingFcnName);
	alert(errMsg);
}

function _QTAddAttribute(prefix, slotName, tagName)
{
	var		value;

	value = gTagAttrs[prefix + slotName];
	if ( null == value )
		value = gTagAttrs[slotName];

	if ( null != value )
	{
		if ( 0 == slotName.indexOf(prefix) && (null == tagName) )
			tagName = slotName.substring(prefix.length); 
		if ( null == tagName ) 
			tagName = slotName;
		return tagName + '="' + value + '" ';
	}
	else
		return "";
}

function _QTAddObjectAttr(slotName, tagName)
{
	// don't bother if it is only for the embed tag
	if ( 0 == slotName.indexOf("emb#") )
		return "";

	if ( 0 == slotName.indexOf("obj#") && (null == tagName) )
		tagName = slotName.substring(4); 

	return _QTAddAttribute("obj#", slotName, tagName);
}

function _QTAddEmbedAttr(slotName, tagName)
{
	// don't bother if it is only for the object tag
	if ( 0 == slotName.indexOf("obj#") )
		return "";

	if ( 0 == slotName.indexOf("emb#") && (null == tagName) )
		tagName = slotName.substring(4); 

	return _QTAddAttribute("emb#", slotName, tagName);
}


function _QTAddObjectParam(slotName, generateXHTML)
{
	var		paramValue;
	var		paramStr = "";
	var		endTagChar = (generateXHTML) ? ' />' : '>';

	if ( -1 == slotName.indexOf("emb#") )
	{
		// look for the OBJECT-only param first. if there is none, look for a generic one
		paramValue = gTagAttrs["obj#" + slotName];
		if ( null == paramValue )
			paramValue = gTagAttrs[slotName];

		if ( 0 == slotName.indexOf("obj#") )
			slotName = slotName.substring(4); 
	
		if ( null != paramValue )
			paramStr = '  <param name="' + slotName + '" value="' + paramValue + '"' + endTagChar + '\n';
	}

	return paramStr;
}

function _QTDeleteTagAttrs()
{
	for ( var ndx = 0; ndx < arguments.length; ndx++ )
	{
		var attrName = arguments[ndx];
		delete gTagAttrs[attrName];
		delete gTagAttrs["emb#" + attrName];
		delete gTagAttrs["obj#" + attrName];
	}
}

		

// generate an embed and object tag, return as a string
function _QTGenerate(callingFcnName, generateXHTML, args)
{
	// is the number of optional arguments even?
	if ( args.length < 4 || (0 != (args.length % 2)) )
	{
		_QTComplain(callingFcnName, gArgCountErr);
		return "";
	}
	
	// allocate an array, fill in the required attributes with fixed place params and defaults
	gTagAttrs = new Array();
	gTagAttrs["src"] = args[0];
	gTagAttrs["width"] = args[1];
	gTagAttrs["height"] = args[2];
	gTagAttrs["classid"] = "clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B";
	gTagAttrs["pluginspage"] = "http://www.apple.com/quicktime/download/";

	// set up codebase attribute with specified or default version before parsing args so
	//  anything passed in will override
	var activexVers = args[3]
	if ( (null == activexVers) || ("" == activexVers) )
		activexVers = "6,0,2,0";
	gTagAttrs["codebase"] = "http://www.apple.com/qtactivex/qtplugin.cab#version=" + activexVers;

	var	attrName,
		attrValue;

	// add all of the optional attributes to the array
	for ( var ndx = 4; ndx < args.length; ndx += 2)
	{
		attrName = args[ndx].toLowerCase();
		attrValue = args[ndx + 1];

		// "name" and "id" should have the same value, the former goes in the embed and the later goes in
		//  the object. use one array slot 
		if ( "name" == attrName || "id" == attrName )
			gTagAttrs["name"] = attrValue;

		else 
			gTagAttrs[attrName] = attrValue;
	}

	// init both tags with the required and "special" attributes
	var objTag =  '<object '
					+ _QTAddObjectAttr("classid")
					+ _QTAddObjectAttr("width")
					+ _QTAddObjectAttr("height")
					+ _QTAddObjectAttr("codebase")
					+ _QTAddObjectAttr("name", "id")
					+ _QTAddObjectAttr("tabindex")
					+ _QTAddObjectAttr("hspace")
					+ _QTAddObjectAttr("vspace")
					+ _QTAddObjectAttr("border")
					+ _QTAddObjectAttr("align")
					+ _QTAddObjectAttr("class")
					+ _QTAddObjectAttr("title")
					+ _QTAddObjectAttr("accesskey")
					+ _QTAddObjectAttr("noexternaldata")
					+ '>\n'
					+ _QTAddObjectParam("src", generateXHTML);
	var embedTag = '  <embed '
					+ _QTAddEmbedAttr("src")
					+ _QTAddEmbedAttr("width")
					+ _QTAddEmbedAttr("height")
					+ _QTAddEmbedAttr("pluginspage")
					+ _QTAddEmbedAttr("name")
					+ _QTAddEmbedAttr("align")
					+ _QTAddEmbedAttr("tabindex");

	// delete the attributes/params we have already added
	_QTDeleteTagAttrs("src","width","height","pluginspage","classid","codebase","name","tabindex",
					"hspace","vspace","border","align","noexternaldata","class","title","accesskey");

	// and finally, add all of the remaining attributes to the embed and object
	for ( var attrName in gTagAttrs )
	{
		attrValue = gTagAttrs[attrName];
		if ( null != attrValue )
		{
			embedTag += _QTAddEmbedAttr(attrName);
			objTag += _QTAddObjectParam(attrName, generateXHTML);
		}
	} 

	// end both tags, we're done
	return objTag + embedTag + '> </em' + 'bed>\n</ob' + 'ject' + '>';
}

// return the object/embed as a string
function QT_GenerateOBJECTText()
{
	return _QTGenerate("QT_GenerateOBJECTText", false, arguments);
}

function QT_GenerateOBJECTText_XHTML()
{
	return _QTGenerate("QT_GenerateOBJECTText_XHTML", true, arguments);
}

function QT_WriteOBJECT()
{
	document.writeln(_QTGenerate("QT_WriteOBJECT", false, arguments));
}

function QT_WriteOBJECT_XHTML()
{
	document.writeln(_QTGenerate("QT_WriteOBJECT_XHTML", true, arguments));
}



/* AJAX javascript */

function makeRequest(url) 
{
	
	if (window.XMLHttpRequest)
	{
		// browser has native support for XMLHttpRequest object
		request = new XMLHttpRequest();
	}
	else if (window.ActiveXObject)
	{
		// try XMLHTTP ActiveX (Internet Explorer) version
    	request = new ActiveXObject("MSXML2.XMLHTTP");
	}
	
	sendRequest(url);
}

function sendRequest(url)
{
	request.onreadystatechange = onResponse;
	request.open("GET", url, true);
	request.send(null);
}

function checkReadyState(obj)
{
	if(obj.readyState == 0)
	{
		document.getElementById('movie').innerHTML = "Sending Request..."; 
	}
	
	if(obj.readyState == 1)
	{
		document.getElementById('movie').innerHTML = "<img src='img/progress_wheel.gif'";
		//document.getElementById('body').innerHTML = "Loading Response...";
	}
	
	if(obj.readyState == 2)
	{
		document.getElementById('movie').innerHTML = "<img src='img/progress_wheel.gif'";
		//document.getElementById('body').innerHTML = "Response Loaded..."
	}
	
	if(obj.readyState == 3)
	{
		document.getElementById('movie').innerHTML = "Response Ready...";
	}
	
	if(obj.readyState == 4)
	{
		if(obj.status == 200)
		{
			return true;
		}
		else if(obj.status == 404)
		{
			// Add a custom message or redirect the user to another page
			document.getElementById('movie').innerHTML = "File not found";
		}
		else
		{
			document.getElementById('movie').innerHTML = "Oh No! There was a problem retrieving the XML.";
		}
	}
}


function onResponse() 
{
	//if(checkReadyState(request))
//	{
//		document.getElementById('movie').innerHTML = request.responseText;
//	}
//	else
//	{
		document.getElementById('movie').innerHTML = checkReadyState(request);
//	}
}




//T-SHIRT PAGE CODE

//Global Variables

var colour;
var size;

function updateColour()
{
	selectedColour = document.forms['teeForm'].colour.value;
	
	if (selectedColour == "none") {
		colour = "none";
	} else if (selectedColour == "blue") {
		colour = "blue";
	} else if (selectedColour == "grey") {
		colour = "grey";
	} else if (selectedColour == "green") {
		colour = "green";
	}
	
	image = document.getElementById("teeImage");
	largeImage = document.getElementById("teeLink");

	image.setAttribute("src", 'http://www.realmacsoftware.com/extras/tee_previews/'+colour+'.jpg');
	largeImage.setAttribute("href", 'http://www.realmacsoftware.com/extras/tee_previews/'+colour+'_front_and_back_.jpg');
}

function updateSize()
{
	selectedSize = document.forms['teeForm'].size.value;
	
	if (selectedSize == "S") {
		size = "small";
	} else if (selectedSize == "M") {
		size = "medium";
	} else if (selectedSize == "L") {
		size = "large";
	} else if (selectedSize == "XL") {
		size = "xtralarge";
	}
}

function sendToStore()
{
	//BLUE TEE'S
	if (colour == 'blue' && size == 'small') {
		SKURef = 'SKU57316424440';
	}
	
	if (colour == 'blue' && size == 'medium') {
		SKURef = 'SKU10007606669';
	}
	
	if (colour == 'blue' && size == 'large') {
		SKURef = 'SKU62698373338';
	}
	
	if (colour == 'blue' && size == 'xtralarge') {
		SKURef = 'SKU15389595556';
	}
	
	//GREY TEE'S
	if (colour == 'grey' && size == 'small') {
		SKURef = 'SKU68070212205';
	}
	
	if (colour == 'grey' && size == 'medium') {
		SKURef = 'SKU20761080070';
	}
	
	if (colour == 'grey' && size == 'large') {
		SKURef = 'SKU73452747799';
	}
	
	if (colour == 'grey' && size == 'xtralarge') {
		SKURef = 'SKU26143969918';
	}
	
	//GREEN TEE'S
	if (colour == 'green' && size == 'small') {
		SKURef = 'SKU46552747779';
	}
	
	if (colour == 'green' && size == 'medium') {
		SKURef = 'SKU99243969998';
	}
	
	if (colour == 'green' && size == 'large') {
		SKURef = 'SKU51934131116';
	}
	
	if (colour == 'green' && size == 'xtralarge') {
		SKURef = 'SKU04625858885';
	}
	
	if ( null == colour) {
		alert("Please choose a colour!");
	} else if ( null == size) {
		alert("Please choose a size!");
	} else {
		URL = 'https://secure.esellerate.net/secure/prefill.aspx?s=STR1403417896&page=MultiCart.htm&_CartItem1.SkuRefNum='+SKURef+'&_CartItem1.Quantity=1';
		window.open(URL, 'PopupPage', 'width=900,height=700,top=80,left=80,scrollbars=yes,toolbar=yes,location=yes,status=yes,directories=yes,menubar=true,resizable=yes');
		return false;
	}
}
