var thisanimate = null;
var animationloop = null;
var startposition = null;

function animation(target, boundary)
{
	this.theimage = document.getElementById(target);
	this.boundarytop = parseInt(this.theimage.offsetTop) + boundary;
	this.boundarybottom = parseInt(this.theimage.offsetTop) - boundary;
	this.speed = 1;
	
	// speed- how fast to animate
	// boundary - will hit this and then reverse
	animation.prototype.animate = function()
	{
		var currentposition = parseInt(this.theimage.offsetTop);
		if (currentposition == this.boundarytop)
		{
			this.speed = -this.speed;
		} else if (currentposition == this.boundarybottom)
		{
			this.speed = Math.abs(this.speed);
		}
		this.theimage.style.top = parseInt(this.theimage.offsetTop) + this.speed + 'px';
	}

}

// checks the form for errors before submission
function checkforerrors(form)
{
	
	var noerrors = true;
	var errormessage = document.getElementById("errormessage");

	
	if(form.firstname.value == "") {
		errormessage.style.display="block";
		document.getElementById("firstnameblank").style.display="block";
		noerrors = false;
	} else {
		document.getElementById("firstnameblank").style.display="none";
	}
	
	if(form.lastname.value == "") {
		errormessage.style.display="block";
		document.getElementById("lastnameblank").style.display="block";
		noerrors = false;
	} else {
		document.getElementById("lastnameblank").style.display="none";
	}
	if(form.address.value == "") {
		errormessage.style.display="block";
		document.getElementById("addressblank").style.display="block";
		noerrors = false;
	} else {
		document.getElementById("addressblank").style.display="none";
	}
	if(form.city.value == "") {
		errormessage.style.display="block";
		document.getElementById("cityblank").style.display="block";
		noerrors = false;
	} else {
		document.getElementById("cityblank").style.display="none";
	}
	if(form.state.value == "") {
		errormessage.style.display="block";
		document.getElementById("stateblank").style.display="block";
		noerrors = false;
	} else {
		document.getElementById("stateblank").style.display="none";
	}
	if(form.postcode.value == "") {
		errormessage.style.display="block";
		document.getElementById("postcodeblank").style.display="block";
		noerrors = false;
	} else {
		document.getElementById("postcodeblank").style.display="none";
	}
	if(form.phoneBH.value == "") {
		errormessage.style.display="block";
		document.getElementById("phoneBHblank").style.display="block";
		noerrors = false;
	} else {
		document.getElementById("phoneBHblank").style.display="none";
	}
	
	if(form.email.value == "") {
		errormessage.style.display="block";
		document.getElementById("emailblank").style.display="block";
		noerrors = false;
	} else {
		document.getElementById("emailblank").style.display="none";
	}
		
	if (form.email.value != "")
	{
		email = form.email.value;
		AtPos = email.indexOf("@")
		StopPos = email.lastIndexOf(".")
		emailvalid = true;
		
		if (AtPos == -1 || StopPos == -1) {
			emailvalid = false;
		}
		
		if (StopPos < AtPos) {
			emailvalid = false;
		}
		
		if (StopPos - AtPos == 1) {
			emailvalid = false;
		} 
	
		if(emailvalid == false) {
			errormessage.style.display="block";
			document.getElementById("emailnotvalid").style.display="block";
			noerrors = false;
		} else {
			document.getElementById("emailnotvalid").style.display="none";
		}
	}
	
	if(form.donationamount.value == "") {
		errormessage.style.display="block";
		document.getElementById("donationamountblank").style.display="block";
		noerrors = false;
	} else {
		document.getElementById("donationamountblank").style.display="none";
	}
	
	if ((form.donationamount.value != "") && (Number(form.donationamount.value) < Number(form.minimumamount.value)))
	{
		errormessage.style.display="block";
		document.getElementById("donationamountinvalid").style.display="block";
		noerrors = false;
	} else {
		document.getElementById("donationamountinvalid").style.display="none";
	}
	
	if (!isNumeric(form.donationamount.value))
	{
		errormessage.style.display="block";
		document.getElementById("donationamountnotnumber").style.display="block";
		noerrors = false;
	} else {
		document.getElementById("donationamountnotnumber").style.display="none";
	}
	
	var paymentoptionchosen = false;
	if (form.choosepaymenttype[0].checked == true)
	{
		paymentoptionchosen = true;
	} else if (form.choosepaymenttype[1].checked == true)
	{
		paymentoptionchosen = true;
	} else if (form.choosepaymenttype[2].checked == true)
	{
		paymentoptionchosen = true;
	}
	if (paymentoptionchosen == false)
	{
		errormessage.style.display="block";
		document.getElementById("choosepaymenttypeblank").style.display="block";
		noerrors = false;
	} else {
		document.getElementById("choosepaymenttypeblank").style.display="none";
	}
	
	if (form.choosepaymenttype[0].checked == true)
	{ // if credit card payment has been chosen
		if (form.ccname.value == "") {
			errormessage.style.display="block";
			document.getElementById("ccnameblank").style.display="block";
			noerrors = false;
		} else {
			document.getElementById("ccnameblank").style.display="none";
		}
		if (form.ccnumber.value == "") {
			errormessage.style.display="block";
			document.getElementById("ccnumberblank").style.display="block";
			noerrors = false;
		} else {
			document.getElementById("ccnumberblank").style.display="none";
		}
		if (form.cvc.value == "") {
			errormessage.style.display="block";
			document.getElementById("cvcblank").style.display="block";
			noerrors = false;
		} else {
			document.getElementById("cvcblank").style.display="none";
		}
		if (form.ccexpMM.value == "")
		{
			errormessage.style.display="block";
			document.getElementById("ccexpMMblank").style.display="block";
			noerrors = false;
		} else {
			document.getElementById("ccexpMMblank").style.display="none";
		}
		if (form.ccexpYY.value == "")
		{
			errormessage.style.display="block";
			document.getElementById("ccexpYYblank").style.display="block";
			noerrors = false;
		} else {
			document.getElementById("ccexpYYblank").style.display="none";
		}
		
		if (form.confirmation.checked == false)
		{
			errormessage.style.display="block";
			document.getElementById("confirmationblank").style.display="block";
			noerrors = false;
		} else {
			document.getElementById("confirmationblank").style.display="none";
		}
	}
	
	if (noerrors)
	{
		errormessage.style.display="none";
	}
	
	return noerrors;
}

// this will display the option they have chosen
function checkpaymentchosen(whichbox)
{
	if (whichbox[0].checked == true)
	{
		document.getElementById("creditcardpayment").style.display="block";
		document.getElementById("debitpayment").style.display="none";
		document.getElementById("internetbanking").style.display="none";
		document.getElementById("paypal").style.display="none";
	} else if (whichbox[1].checked == true)
	{
		document.getElementById("creditcardpayment").style.display="none";
		document.getElementById("debitpayment").style.display="block";
		document.getElementById("internetbanking").style.display="none";
		document.getElementById("paypal").style.display="none";
	} else if (whichbox[2].checked == true)
	{
		document.getElementById("debitpayment").style.display="none";
		document.getElementById("creditcardpayment").style.display="none";
		document.getElementById("internetbanking").style.display="block";
		document.getElementById("paypal").style.display="none";
	} else if (whichbox[3].checked == true)
	{
		document.getElementById("debitpayment").style.display="none";
		document.getElementById("creditcardpayment").style.display="none";
		document.getElementById("internetbanking").style.display="none";
		document.getElementById("paypal").style.display="block";
	}
}

function showusersearch()
{
	document.getElementById("showusersearch").style.display="block";
}

function showeditdetails()
{
	
	document.getElementById("myfirstname").style.display="none";
	document.getElementById("myfirstnameedit").style.display="block";
	
	document.getElementById("mylastname").style.display="none";
	document.getElementById("mylastnameedit").style.display="block";
	
	document.getElementById("myemailaddress").style.display="none";
	document.getElementById("myemailaddressedit").style.display="block";
	
	document.getElementById("myaddress").style.display="none";
	document.getElementById("myaddressedit").style.display="block";
	
	document.getElementById("mycity").style.display="none";
	document.getElementById("mycityedit").style.display="block";
	
	document.getElementById("mystate").style.display="none";
	document.getElementById("mystateedit").style.display="block";
	
	document.getElementById("mypostcode").style.display="none";
	document.getElementById("mypostcodeedit").style.display="block";
	
	document.getElementById("showthedetails").style.display="none";
	document.getElementById("savedetails").style.display="block";
	document.getElementById("cancelediting").style.display="block";
	
}

function hideeditdetails()
{
	document.getElementById("myfirstname").style.display="block";
	document.getElementById("myfirstnameedit").style.display="none";
	
	document.getElementById("mylastname").style.display="block";
	document.getElementById("mylastnameedit").style.display="none";
	
	document.getElementById("myemailaddress").style.display="block";
	document.getElementById("myemailaddressedit").style.display="none";
	
	document.getElementById("myaddress").style.display="block";
	document.getElementById("myaddressedit").style.display="none";
	
	document.getElementById("mycity").style.display="block";
	document.getElementById("mycityedit").style.display="none";
	
	document.getElementById("mystate").style.display="block";
	document.getElementById("mystateedit").style.display="none";
	
	document.getElementById("mypostcode").style.display="block";
	document.getElementById("mypostcodeedit").style.display="none";
	
	document.getElementById("showthedetails").style.display="block";
	document.getElementById("savedetails").style.display="none";
	document.getElementById("cancelediting").style.display="none";
}

function showchangepledgeamount()
{
	document.getElementById("savepledgeamount").style.display="block";
	document.getElementById("changepledgeamount").style.display="none";
	document.getElementById("pledgeamountedit").style.display="block";
	document.getElementById("pledgeamount").style.display="none";	
}

function showchangetargetoptions()
{
	document.getElementById("changetargetbutton").style.display="none";
	document.getElementById("saveindividualtarget").style.display="block";
	document.getElementById("individualtargetedit").style.display="block";
	document.getElementById("individualtarget").style.display="none";
}

function showchangeteamtargetoptions()
{
	document.getElementById("changeteamtargetbutton").style.display="none";
	document.getElementById("saveteamtarget").style.display="block";
	document.getElementById("teamtargetedit").style.display="block";
	document.getElementById("teamtarget").style.display="none";
}

function showforgetpassword()
{
	
	
	document.getElementById("enteremailinfo").style.display="block";
	document.getElementById("forgotpasswordemail").style.display="block";
	document.getElementById("sendusernamepassword").style.display="block";
	
}

function isNumeric(sText)
{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
}

