// Support construction of dynamic PayPal args.
// NOTE uses old PP email
/*var blk1  = "https://www.paypal.com/cart/";
var blk1a = "add=1";
var blk1d = "display=1";
var blk2  = "&business=isotope244%40isotope244.com";
var blk3  = "&item_name=";
var blk3n = "Test";
var blk4  = "&amount=";
var blk4a = "0";
var blk5  = "&image_url=https%3a//www.isotope244order.com/i/logo_paypal.jpg"
var winpar = "width=700,height=400,scrollbars," +
             "location," +  // some users delete this
             "resizable,status";

<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="isotope244@isotope244.com">
<input type="hidden" name="item_name" value="Isotope244 Graphics LLC Products">
<input type="hidden" name="amount" value="$10.00">
<input type="hidden" name="image_url" value="https://www.isotope244order.com/i/logo_paypal.jpg">
<input type="hidden" name="return" value="http://www.isotope244.com/order/success.html">
<input type="hidden" name="cancel_return" value="http://www.isotope244.com/order/cancel.html">
<input type="image" src="https://www.paypal.com/images/x-click-but23.gif" border="0" name="submit" alt="Make payments with PayPal - it's fast, free and secure!">
</form>

"&image_url=https%3a//www.isotope244order.com/i/logo_small.gif" +

*/

var blk1  = "https://www.paypal.com/xclick/";
var blk1a = "";
var blk1d = "";
var blk2  = "business=ppsales%40isotope244.com";
var blk3  = "&item_name=";
var blk3n = "Test";
var blk4  = "&amount=";
var blk4a = "0";
var blk5  = "&return=https%3A//www.isotope244order.com/paypal_success.asp" +
			"&cancel_return=https%3A//www.isotope244order.com/cancel.html";
var winpar = "width=650,height=500,scrollbars," +
             //"location," +  // some users delete this
             "resizable,status";


function AddBoth (strn1, strn2, arg) {  // add to both fields
	AddStyle (strn1, "0");  // add to description
	AddPrice (strn2, arg);  // add to price
}

function AddPrice (strn, arg) {  // add to current price
	var r1,r2,pos;
	r1 = blk4a * 1.0 + 0.005; // float 'em
	r2 = strn * 1.0;
	strn = escape (r1 + r2);  // add and put back to string
	pos = strn.indexOf ("."); // find decimal point
	blk4a = strn.substring (0, pos + 3);  // lop off extra
	if (arg != "0") CallPay ();
}

function AddStyle (strn, arg) {  // add to current description
	blk3n = blk3n + "%2C%20" + escape (strn);
	if (arg != "0") CallPay ();
}

function CallPay()
{ 
	// call the PayPal shopping cart
	//alert(blk1 + blk1a + blk2 + blk3 + blk3n + blk4 + blk4a + blk5);
	//window.navigate(blk1 + blk1a + blk2 + blk3 + blk3n + blk4 + blk4a + blk5);
	//window.open(blk1 + blk1a + blk2 + blk3 + blk3n + blk4 + blk4a + blk5, "cartwin", winpar);

	var url = blk1 + blk1a + blk2 + blk3 + blk3n + blk4 + blk4a + blk5;

	//var orderpage = readCookie("orderpage");
	//if(orderpage)
	//	url += "&custom=" + orderpage

	//alert(url);
	window.location.href = url
	
	return false;
	//alert(url);
	//alert(window.location.href);
	//window.location.href = "test2.html";
	//window.close();
	//window.navigate(url);
	//alert(window.location.href);
}

/*
function CallView() { // call the PayPal shopping cart view
window.open (blk1 + blk1d +  // open the PayPal cart window
blk2,
"cartwin",
winpar);
}
*/

function SetDesc (strn) {  // set the desc field
  blk3n = escape (strn);
}

function SetPrice (strn) {  // set the current price
  blk4a = '0.0';
  AddPrice (strn, '0');
}

// Alan Simpson - www.coolnerds.com
function currency(anynum)
{
	//-- Returns passed number as string in $xxx,xxx.xx format.
	anynum=eval(anynum)
	workNum=Math.abs((Math.round(anynum*100)/100));workStr=""+workNum
	if (workStr.indexOf(".")==-1){workStr+=".00"}
	dStr=workStr.substr(0,workStr.indexOf("."));dNum=dStr-0
	pStr=workStr.substr(workStr.indexOf("."))
	while (pStr.length<3){pStr+="0"}

	//--- Adds comma in thousands place.
	if (dNum>=1000) {
	    dLen=dStr.length
	    dStr=parseInt(""+(dNum/1000))+","+dStr.substring(dLen-3,dLen)
	}

	//-- Adds comma in millions place.
	if (dNum>=1000000) {
	    dLen=dStr.length
	    dStr=parseInt(""+(dNum/1000000))+","+dStr.substring(dLen-7,dLen)
	}
	retval = dStr + pStr 
	//-- Put numbers in parentheses if negative.
	if (anynum<0) {retval="("+retval+")"}
	return "$"+retval
}

var orderTotal = 0;
var orderSubTotal = 0;
var orderDiscount = 0;
var orderDiscountTotal = 0;
var numItems = 0;
var descItems = "";

var numWindows = 0;
var numScreensavers = 0;
var numPocketPC = 0;
var numSP = 0;
var numGoodie = 0;
var numPocketSavers = 0;
var numMegaPacks = 0;
var numMac = 0;

function IncTotal(name, abbrev, type, price, discountPrice)
{
	if(document.getElementById(abbrev) && document.getElementById(abbrev).checked)
	{
		if(type == "1")
			numScreensavers++;
		if(type == "2")
			numWindows++;
		if(type == "3")
			numPocketPC++;
		if(type == "4")
			numSP++;
		if(type == "5")
			numGoodie++;
		if(type == "6")
			numPocketSavers++;
		if(type == "7")
			numMac++;
		if(type == "100")
			numMegaPacks++;

		if(descItems != "")
		{
			descItems += ", "
		}
		descItems += name
		orderSubTotal += price;
		orderDiscountTotal += price - discountPrice;
		
		if(price - discountPrice > 0)
			numItems++;
	}
}


function AddProdDesc(desc, num, type)
{
	if(num > 0)
	{
		if(desc != "")
			desc += ","
		desc += " " + num + type
		if(num > 1)
			desc += "s"
	}
	return desc;
}


function SelectionChange()
{
	orderTotal = 0;
	orderSubTotal = 0;
	orderDiscount = 0;
	orderDiscountTotal = 0;
	numItems = 0;
	descItems = "";
	numWindows = 0;
	numMac = 0;
	numScreensavers = 0;
	numPocketPC = 0;
	numSP = 0;
	numGoodie = 0;
	numPocketSavers = 0;
	numMegaPacks = 0;

	CalcTotals();
	
	orderTotal = orderSubTotal - orderDiscount;
	
	var st = document.getElementById("subtotal")
	if(st)
		st.innerHTML = currency(orderSubTotal);
	var dis = document.getElementById("discount")
	if(dis)
		dis.innerHTML = currency(orderDiscount);
	if(document.getElementById("total"))
		document.getElementById("total").innerHTML = currency(orderTotal);

	var desc = ""

	desc = AddProdDesc(desc, numPocketPC, " Pocket PC game")
	desc = AddProdDesc(desc, numWindows, " Windows game")
	desc = AddProdDesc(desc, numMac, " Macintosh game")
	desc = AddProdDesc(desc, numScreensavers, " screensaver")
	desc = AddProdDesc(desc, numSP, " SmartPhone game")
	desc = AddProdDesc(desc, numGoodie, " Goodie")
	desc = AddProdDesc(desc, numPocketSavers, " Pocket PC screensaver")
	desc = AddProdDesc(desc, numMegaPacks, " MEGAPACK")

	if(desc == "")
		desc = ""
	else
		desc = "You selected" + desc + "."

	if(document.getElementById("item_description"))
		document.getElementById("item_description").innerHTML = desc;
}

function CheckOut()
{
	SelectionChange();
	SetPrice(orderTotal);
	SetDesc(descItems);

	if(document.getElementById("WINDOWSPACK"))
	{
		if(numWindows > 0 && document.getElementById("WINDOWSPACK").checked)
		{
			alert("When ordering a MEGAPACK there is no need to order each game as well, please uncheck the games under the megapack you ordered.");
			return false;
		}

		if(numPocketPC > 0 && document.getElementById("POCKETPCPACK").checked)
		{
			alert("When ordering a MEGAPACK there is no need to order each game as well, please uncheck the games under the megapack you ordered.");
			return false;
		}

		if(numScreensavers > 0 && document.getElementById("SCREENSAVERPACK").checked)
		{
			alert("When ordering a MEGAPACK there is no need to order each screensaver as well, please uncheck the screensaver under the megapack you ordered.");
			return false;
		}
	}

	if(descItems == "" || orderTotal == 0)
	{
		alert("Please click the checkbox next the item you want to buy.");
		return false;
	}
	else
	{
		if(numGoodie > 0 && descItems.indexOf("CD Backup") >= 0)
		{
			var ret = confirm("Please remember to provide your shipping information on the following PayPal page so your CD-ROM can be sent to you.  Please allow 2-4 weeks for delivery of your software on CD.  You will also receive download links and your registration codes via email immediately.");
			if(ret == 0)
				return false;
		}
		return CallPay();
	}
}


function CheckProduct(id)
{
	var queryProductId;

	if(QueryString("product"))
		queryProductId = QueryString("product").toLowerCase();
		
	if(QueryString("pid") != null)
		queryProductId = QueryString("pid").toLowerCase();

	if(queryProductId == id.toLowerCase())
	{
		/*
		if(id == "LD")
		{
			document.getElementById("sectiontitle").innerHTML = "Buy Screensavers";
			
			var first = document.getElementById("productsfirst");
			var products = document.getElementById("products1");

			var newdiv = document.createElement("span");
			first.appendChild(newdiv);
			newdiv.innerHTML = products.innerHTML;

			//first.innerHTML = products.innerHTML;
			//alert(products.firstChild.innerHtml);
		}*/
			
		document.getElementById(id).checked = true;
	}
}


function showGiftInfo()
{
	var e = document.getElementById("GiftInfo");
	if(e)
		e.style.display = "block";
}


function setShowGroup(group, display)
{
	var e = document.getElementById("products" + group + "m");
	if(e)
		e.style.display = display;

	e = document.getElementById("listcontrol" + group);
	if(e)
	{
		if(display == "none")
			e.src = "i/list-expand.gif";
		else
			e.src = "i/list-contract.gif";
	}
		
	var count = 0;
	e = document.getElementById("products" + group + count);
	while(e)
	{
		count++;
		e.style.display = display;
		e = document.getElementById("products" + group + count);
	}
}


function toggleShowGroup(group)
{
	var e = document.getElementById("products" + group + "0");
	if(e)
	{
		if(e.style.display == "none")
			setShowGroup(group, "block");
		else
			setShowGroup(group, "none");
	}
}


function moveGroupToFirst(group)
{
	var count = 0;
	var e = document.getElementById("products" + group + count);
	while(e)
	{
		document.getElementById("productsfirst" + count).innerHtml = e.innerHtml;
		count++;
		e = document.getElementById("products" + group + count);
	}
}


function GotoOrderPage()
{
	if(window.location.href.indexOf("order.html") < 0)
		return;

	var id, newpage;
	if(QueryString("product"))
		id = QueryString("product");
	if(QueryString("pid"))
		id = QueryString("pid");
	if(id == null)
		return;
	id = id.toUpperCase();

	// Forward to 3d-screensaver specific order page if request for order page was for a screensaver
	// Results of AB TEST 5/6 showed 6% increase in sales
	if(id=="LD" || id=="DD" || id=="TIE" || id=="RBS" || id=="RM" || id=="SL" || id=="LI" || id=="SF" || id=="PC")
	{
		//setShowGroup(2, "none");
		//setShowGroup(3, "none");
		//setShowGroup(1, "none");
		//setShowGroup(7, "none");
		//setShowGroup(4, "none");
	
		newpage = "order-3d-screensavers.html?" + window.location.search.substring(1);
		window.location.href = newpage;
		return;
	}

	/*
	var orderpage;
	orderpage = readCookie("orderpage");
	if(orderpage == null)
	{
		if(Math.random() > 0.5)
			createCookie("orderpage", "7", 7)
		else
			createCookie("orderpage", "8", 7)
	}

	orderpage = readCookie("orderpage");

	if(window.location.href.indexOf("order.html") >= 0 && orderpage == "7")
		return;
	*/

	// Forward to 3d-screensaver specific order page if request for order page was for a screensaver
	// Results of AB TEST 7/8 showed 9% increase in sales
	if(id=="ACM" || id=="AC" || id=="ACP")
		newpage = "order-ac.html?" + window.location.search.substring(1);
	if(id=="ABM" || id=="AB" || id=="ABP")
		newpage = "order-ab.html?" + window.location.search.substring(1);
	if(id=="MWM" || id=="MW" || id=="MWP")
		newpage = "order-mw.html?" + window.location.search.substring(1);
	if(id=="BDM" || id=="BD" || id=="BDP")
		newpage = "order-bd.html?" + window.location.search.substring(1);
	if(id=="LASW" || id=="LASM" || id=="LASP" || id=="LASI")
		newpage = "order-lasw.html?" + window.location.search.substring(1);

	if(newpage != null)
		window.location.href = newpage;
}


	// OLD A/B TESTS

	/*
	var orderpage;
	orderpage = readCookie("orderpage");
	if(orderpage == null)
	{
		if(Math.random() > 0.5)
			createCookie("orderpage", "7", 7)
		else
			createCookie("orderpage", "8", 7)
	}

	orderpage = readCookie("orderpage");

	if(window.location.href.indexOf("order.html") >= 0 && orderpage == "7")
		return;

	if(id=="ACM" || id=="AC" || id=="ACP")
		newpage = "order-ac.html?" + window.location.search.substring(1);
	if(id=="ABM" || id=="AB" || id=="ABP")
		newpage = "order-ab.html?" + window.location.search.substring(1);
	if(id=="MWM" || id=="MW" || id=="MWP")
		newpage = "order-mw.html?" + window.location.search.substring(1);
	if(id=="BDM" || id=="BD" || id=="BDP")
		newpage = "order-bd.html?" + window.location.search.substring(1);

	if(newpage != null)
		window.location.href = newpage;
	*/

	/*if(orderpage == null)
	{
		if(Math.random() > 0.5)
			createCookie("orderpage", "5", 7)
		else
			createCookie("orderpage", "6", 7)
	}

	orderpage = readCookie("orderpage");

	if(orderpage != null && window.location.href.indexOf("order.html") >= 0 && orderpage == "6")
	*/
	
	/*
	if(orderpage == null)
	{
		if(Math.random() > 0.5)
			createCookie("orderpage", "3", 7)
		else
			createCookie("orderpage", "4", 7)
	}

	orderpage = readCookie("orderpage");
	
	if(orderpage != null && window.location.href.indexOf("order.html") >= 0)
	{
		//alert("going to page 1");

		if(orderpage == "3")
			window.location.href = "order3.html";
			
		if(orderpage == "4")
		{
			var id, newpage;

			if(QueryString("product"))
				id = QueryString("product");

			if(QueryString("pid"))
				id = QueryString("pid");
				
			if(id != null)
				id = id.toUpperCase();
		
			if(id=="AC" || id=="ACP" || id=="ACM" || id=="ACSP")
				newpage = "order-ac.html";
			else if(id=="AB" || id=="ABP")
				newpage = "order-ab.html";
			else if(id=="BD" || id=="BDP")
				newpage = "order-bd.html";
			else
				newpage = "order4.html";

			if(id && QueryString("source") != "internal")
				newpage += "?pid=" + id;
				
			window.location.href = newpage;
		}
	}
	*/

/*
function GotoProductPage()
{
	if(window.location.href.indexOf("order.html") < 0)
		return;
		
	var id, newpage;

	if(QueryString("product"))
		id = QueryString("product");

	if(QueryString("pid"))
		id = QueryString("pid");
		
	if(id != null)
		id = id.toUpperCase();

	//alert(QueryString("product"));

	//if(id=="LD" || id=="DD" || id=="LI" || id=="SL" || id=="TIE" || id=="RM" || id=="PC" || id=="SF")
	//	newpage = "order-3d-screensavers.html";
	//if(id=="LIQUID+DESKTOP" || id=="DESKTOP+DESTROYER" || id=="SIMPLE+LIFE" || id=="SLIDERS" ||
	//	 id=="TROPICAL+ISLAND+ESCAPE" || id=="REAL+3D+MATRIX" || id=="PICTURE+CUBE+3D" || id=="SNOWFLAKE+3D")
	//	newpage = "order-3d-screensavers.html";

	if(newpage != null)
	{
		if(id && QueryString("source") != "internal")
			newpage += "?pid=" + id;

		window.location.href = newpage;
	}
}
*/

function OnLoad()
{
	//GotoProductPage();
	GotoOrderPage();
	CheckProducts();	
	SelectionChange();
}


//
// QueryString
//

function QueryString(key)
{
	var value = null;
	for (var i=0;i<QueryString.keys.length;i++)
	{
		if (QueryString.keys[i]==key)
		{
			value = QueryString.values[i];
			break;
		}
	}
	return value;
}
QueryString.keys = new Array();
QueryString.values = new Array();

function QueryString_Parse()
{
	var query = window.location.search.substring(1);
	if(query == null)
		return;
	query = unescape(query);
	var pairs = query.split("&");
	
	for (var i=0;i<pairs.length;i++)
	{
		var pos = pairs[i].indexOf('=');
		if (pos >= 0)
		{
			var argname = pairs[i].substring(0,pos);
			var value = pairs[i].substring(pos+1);
			QueryString.keys[QueryString.keys.length] = argname;
			QueryString.values[QueryString.values.length] = value;		
		}
	}

}

QueryString_Parse();
