$(document).ready(farteenShowInit);

var farts = new Array('fart1.wav', 'fart3.wav');
var ac = 0;    // table for qty/amt pairs
var aqty = new Array ();  // qty brkpt
var aamt = new Array ();  // amount to charge
var pc = 0;    // table for qty/percent pairs
var pqty = new Array ();  // qty brkpt
var pper = new Array ();  // percent to discount
var ppForms = new Array(
		{
			'name' : 'paypal-aiga-members',
			'qty1' : 1,
			'price1' : 35.00,
			'qty2' : 3,
			'price2' : 33.3333,
			'qty3' : 4,
			'price3' : 30.00,
		},
		{
			'name' : 'paypal-nonmembers',
			'qty1' : 1,
			'price1' : 50.00,
			'qty2' : 3,
			'price2' : 46.6667,
			'qty3' : 4,
			'price3' : 45.00,
		},
		{
			'name' : 'paypal-student-members',
			'qty1' : 1,
			'price1' : 10.00,
			'qty2' : 3,
			'price2' : 8.3333,
			'qty3' : 4,
			'price3' : 8.00,
		},
		{
			'name' : 'paypal-student-nonmembers',
			'qty1' : 1,
			'price1' : 20.00,
			'qty2' : 3,
			'price2' : 18.3333,
			'qty3' : 4,
			'price3' : 15.00,
		}
	);

function farteenShowInit()
{
	$('#header .next a').click(soundFart);
	$('#header .prev a').click(soundFart);
	$('#start a').click(soundFart);
	$('div.Entryform form').submit(processPaypal);
}

function soundFart(e)
{
	var fart = Math.floor(Math.random()*farts.length)
	$.sound.play('sounds/' + farts[fart]);
	setTimeout('location.href="'+e.target.href+'"', 500);
	return false;
}

function processPaypal(e)
{
	alert
	var form = $(e.currentTarget);
	e.target = 'paypal';
	for (var x = 0; x < ppForms.length; x++)
	{
		if (form.attr('id') == ppForms[x].name)
		{
			SetAmt(ppForms[x].qty1, ppForms[x].price1, ppForms[x].qty2, ppForms[x].price2, ppForms[x].qty3, ppForms[x].price3);
			break;
		}
		else {
			if (x + 1 == ppForms.length)
			{
				return false;
			}
		}
	}
	return Readform (e);
}

function Dollar (val) {  // force to valid dollar amount
var str,pos,rnd=0;
  if (val < .995) rnd = 1;  // for old Netscape browsers
  str = escape (val*1.0 + 0.005001 + rnd);  // float, round, escape
  pos = str.indexOf (".");
  if (pos > 0) str = str.substring (rnd, pos + 3);
  return str;
}

function Readform (obj1) { // quantity based discounts
var i,amt,des,qty;
  amt = obj1.currentTarget.baseamt.value*1.0; // base amount
  des = obj1.currentTarget.basedes.value;     // base description
  qty = obj1.currentTarget.qty.value;         // get user quantity
  if (isNaN (qty) || qty < 1) { // make sure it's good
    alert ('"' + qty + '"' + ' is not a valid number!');
    ac = 0;                     // always zap the table
    pc = 0;
    return false;               // th-th-that's all, folks.
  }
  qty = qty*1.0;                // force to numeric

  for (i=ac-1; i>=0; i=i-1) {   // run table backwards
    if (qty >= aqty[i]) {       // use this entry
      amt = aamt[i];            // this is the real amount
      break;                    // get out, we're done
    }
  }
  for (i=pc-1; i>=0; i=i-1) {   // run table backwards
    if (qty >= pqty[i]) {       // use this entry
      amt = amt - (amt/100.0 * pper[i]);
      break;                    // get out, we're done
    }
  }

  obj1.currentTarget.item_name.value = des + " " + qty + " Entries(s) @" +
                         Dollar (amt) + " each.";
  obj1.currentTarget.amount.value = Dollar (amt * qty);
  ac = 0;  // reset item discount
  pc = 0;
}

function SetAmt (q1, a1) {  // set up a quantity-based amount table
var i;
  ac = 0;
  for (i=0; i<arguments.length; i=i+2) {  // build the table
    aqty[ac] = arguments[i];   // get real args and store 
    aamt[ac] = arguments[i+1];
    ac = ac + 1;               // number of pairs in table
  }
}


