// Copyright 2008-2009 VetTix.org

var timeout	= 500;
var closetimer	= 0;
var ddmenuitem	= 0;

// javascript question for donations
function ticket_donate_verify()
{
 var agree = confirm("Do you really want to donate tickets?  Click OK to have someone contact you");
 if (agree)
 {
   return true;
 }
 else
 {
  return false;
  }
}


// to change text value in a textarea
function htmlData(selectValue,targetTextArea)
{
   var txtNode=document.createTextNode(selectValue);
   var textArea=document.getElementById(targetTextArea);
   textArea.appendChild(txtNode);
}

// open hidden layer
function mopen(id)
{
	// cancel close timer
	mcancelclosetime();

	// close old layer
	if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';

	// get new layer and show it
	ddmenuitem = document.getElementById(id);
	ddmenuitem.style.visibility = 'visible';

}
// close showed layer
function mclose()
{
	if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
}

// go close timer
function mclosetime()
{
	closetimer = window.setTimeout(mclose, timeout);
}

// cancel close timer
function mcancelclosetime()
{
	if(closetimer)
	{
		window.clearTimeout(closetimer);
		closetimer = null;
	}
}

// close layer when click-out
document.onclick = mclose;

function autoTab(input,len, e)
{
	var isNN = (navigator.appName.indexOf("Netscape")!=-1);
	var keyCode = (isNN) ? e.which : e.keyCode;
	var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
	if(input.value.length >= len && !containsElement(filter,keyCode))
	{
		input.value = input.value.slice(0, len);
		input.form[(getIndex(input)+1) % input.form.length].focus();
	}

	function containsElement(arr, ele)
	{
		var found = false, index = 0;
		while(!found && index < arr.length)
		if(arr[index] == ele)
			found = true;
		else
			index++;
		return found;
	}

	function getIndex(input)
	{
		var index = -1, i = 0, found = false;
		while (i < input.form.length && index == -1)
		if (input.form[i] == input)index = i;
		else i++;
		return index;
	}
	return true;
}

function checkEmail (strng) {
  var error = "";
  if (strng == "") {
    error = "Please enter an email address.\n";
    return error;
  }

  var emailFilter=/^.+@.+\..{2,3}$/;
  if (!(emailFilter.test(strng))) {
    error += "Please enter a valid email address.\n";
  }
  //test email for illegal characters
  var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/;
  if (strng.match(illegalChars)) {
    error += "Your email address contains illegal characters.\n";
  }

  return error;
}

function expand(id)
{
    var item  = document.getElementById(id);

    if( item.style.visibility == 'hidden' )
    {
        item.style.position   = 'relative';
        item.style.visibility = 'visible';
    }
    else
    {
        item.style.visibility = 'hidden';
        item.style.position   = 'absolute';
    }

    return false;
}

function showtable(id)
{
    var item  = document.getElementById(id);
    item.style.position   = 'relative';
    item.style.visibility = 'visible';
    return true;
}

function closetable(id)
{
    var item  = document.getElementById(id);
    item.style.position   = 'absolute';
    item.style.visibility = 'hidden';
    return true;
}

function expandDonator(id){
	var item  = document.getElementById(id);
	var num = item.value;
	if (num > 0)
	{
		for (i = 1;i <= num ; i++ )
		{
			donatorid = "donator" + i;
			showtable(donatorid);
		}
	}
	else
	{
		// make sure all are closed
		for (k= 1;k<=5;k++ )
		{
			donatorid = "donator" + k;
			closetable(donatorid);
		}
	}
}

function expandRequestor(id){
	var item  = document.getElementById(id);
	var num = item.value;
	if (num > 0)
	{
		for (i = 1;i <= num ; i++ )
		{
			requestorid = "requestor" + i;
			showtable(requestorid);
		}
	}
	else
	{
		// make sure all are closed
		for (k= 1;k<=5;k++ )
		{
			requestorid = "requestor" + k;
			closetable(requestorid);
		}
	}
}

function largeRequest(id){
	var item  = document.getElementById(id);
	var num = item.value;
	if (num > 4)
	{
			showtable('reqexp');
	}
	else
	{
			closetable('reqexp');
	}
}

function changeCreedTotal() 
{
    var riders = document.CreedRide.riders.value;
    var extra_hands = document.CreedRide.extra_hands.value;
    var wild_card = document.CreedRide.wild_card.value;
	var shirt_size = document.CreedRide.shirt_size.value;
    document.CreedRide.custom.value = riders + ":" + extra_hands + ":" + wild_card + ":" + shirt_size;
    document.CreedRide.item_name.value = "Craig Creed Memorial Poker Run with " + riders + " Riders, " + extra_hands + " Extra Hands, " + wild_card + " Wild Card";
    var rider_cost = 25;
    if (riders == 2)
    {
        rider_cost = 35;
    }
    extra_hands = extra_hands * 10;
    wild_card = wild_card * 20;
    document.CreedRide.amount.value = rider_cost + extra_hands + wild_card;  
}


