//-------------------------------------------------------------------
// SETTINGS : Actions Templates
//-------------------------------------------------------------------

// JQUERY - START READY FUNCTIONS
$(document).ready(function(){
	
	//-------------------------------------------------------------------
	// JQUERY - Page - onload Functions	
	
		modalState = "";	
		$(".donation_on_behalf_btn").mouseover(function(){
			$(".make_your_donation_btn").css("background-position","0px -86px");
		});
		$(".donation_on_behalf_btn").mouseout(function(){
			$(".make_your_donation_btn").css("background-position","0px 0px");
		});
		$(".donation_on_behalf_btn").click(function(){
			modalState = "donate_on_behalf";
			initModal(modalState);				
		});
		
		// for the Donate button, set the onClick and remove the href
		$(".btn_give").click(function () {
			fncDonate();
		});
		$(".btn_give").attr("href","#");
		
		$(".make_your_donation_btn").click(function () {
			modalState = "donate";
			initModal(modalState);
		});
		
		// for the close button, remove the href
		$("#btn_close").click(function () {
			fncDonate();
		});
		$("#btn_close").attr("href","#");
		
		
		// *** BELOW FOR MODAL *** //
		
		// enable these
		$("#donation_on_behalf_btn").css("display","block");
		// disable these 
		$("#donation_on_behalf").css("display","none");
		$("#gift_options").css("display","none");	
		
		$("#donation_on_behalf_btn").click(			
				function () {
					if (modalState=="donate_on_behalf") {
						modalState = "donate";
						initModal(modalState);
					} else {
						modalState = "donate_on_behalf";
						initModal(modalState);
					}
				}
		);
		
		$("input[@name='donate_on_behalf']").click(			
				function () {
					if ( $("input[@name='donate_on_behalf']:checked").val() == "yes" ) {						
						modalState = "donate_on_behalf";												
						initModal(modalState);
					} else {
						modalState = "donate";						
						initModal(modalState);						
					}
				}
		);		
		
		
		$("input[@name='send_via_email']").click(function() {
			if ( $("input[@name='send_via_email']:checked").val() == "yes" ) {
				$("#gift_options").css("display","block");
				$("#receipt_info").css("display","none");
				
				// validation for email
				$("input[name='email_recipient']").rules("add", {
					required: true,
					email: true
				});
			} else {
				$("#gift_options").css("display","none");
				$("#receipt_info").css("display","block");
				
				$("input[name='email_recipient']").rules("remove", "required");					
			}
		});
		
		$("#donation_form").validate({
			errorPlacement: function(error, element) {
				if ( element.attr("name")=="amount" || element.attr("name")=="amount_other_box" ) {
					$("#amount_error").html("");
					error.appendTo("#amount_error");
				} else {
					error.insertAfter(element);
				}
			},
			rules: {
				amount: "required",
				amount_other_box: {
					required: "#amount_other:checked",
					digits: true
				}				
			},
			messages: {
     			amount: "Please select a donation amount",
				amount_other_box: "Please type in the amount.  Make sure to use digits only.",
				email_recipient: "Please enter a valid<br/> email address"
			},
			success: function() {				
				// call the urchin tracker for google checkout
				setUrchinInputCode(pageTracker);
			}
		});

		
	//-------------------------------------------------------------------
	// JQUERY - Donation Window Functions
	jQuery.fn.fncDonationWindow = function(bOn) {
		
		// set up the cover
		jQuery.fn.fncPageCover(bOn);
		
	} // fncDonationWindow
	
	
}); // end jQuery load

function initModal(state){
	if ( state=="donate_on_behalf" ) {			
		$("#donate_on_behalf_yes").attr('checked', true);
		$("#donate_on_behalf_no").attr('checked', false);		
		
		$("#donation_on_behalf_btn").css({"background-position":"0px -104px","height":"69px"});
		$("#donation_on_behalf_btn").unbind("mouseout");
		
		$("#donation_on_behalf").css("display","block");							
		
		// validation			
		$("input[name='name_recipient']").rules("add", "required");
	} else if ( state=="donate" ) {		
		$("#donate_on_behalf_yes").attr('checked', false);
		$("#donate_on_behalf_no").attr('checked', true);
		
		$("#donation_on_behalf_btn").css({"background-position":"0px 0px","height":"52px"});				
		$("#donation_on_behalf_btn").bind("mouseout",function() {			
			$(this).css("background-position","0px 0px");											
		});										
		
		$("#donation_on_behalf").css("display","none");										
		
		// validation			
		$("input[name='name_recipient']").rules("remove", "required");
	}
}



//*************************
// FORM FUNCTIONS

	// open close windows
	function fncDonate() {		
		if ( $("#page_cover").is(":visible") ) {
			bDonationWindowOpen = false;	
		} else {
			bDonationWindowOpen = true;
		}
		
		jQuery.fn.fncDonationWindow(bDonationWindowOpen);
		
		// set up sifr for this page
		sIFR.replace(glyphaBold, {
		  selector: '#box_1 h2',
		  css: '.sIFR-root {color:#FF6500;font-size:24px;font-weight:bold;line-height:32px;}',
		  wmode: 'transparent'
		});
	}; // fncChangeClass	
	
	// limits field to numbers and commas
	function fncNumbersOnly(e) {
		// make sure the radio button is selected
		fncBoxOther();
		
		// make sure it is an approved key stroke
		var keynum;
		var keychar;
		
		if(window.event) { // IE
			keynum = e.keyCode;
		} else if(e.which) { // Netscape/Firefox/Opera
			keynum = e.which;
		}
		keychar = String.fromCharCode(keynum);
		
		if ( keynum==46 ) { alert("You can only enter whole numbers.") }
				
		if ( fncIsNumeric(keychar)  || keynum==8 || keynum==44 || keynum==undefined ) { // limit to numbers, comma, backspace, and undefined (arrows,del)
			return true;
		} else {
			return false;
		}
	} // fncNumbersOnly

	// selects the other radio button when other text box is clicked
	function fncBoxOther() {
		$("#amount_other").attr('checked', true);
	} // fncBoxOther
	
	function fncIsNumeric(x) {
		var RegExp = /\d/;		
		var bIsNumber = false;
		if ( x.match(RegExp) == x ) { bIsNumber = true; }	
		return bIsNumber;
	}

// set up sifr for this page
	sIFR.replace(glyphaBold, {
	  selector: '#head h1',
	  css: '.sIFR-root {color:#FF6500;font-size:32px;font-weight:bold;line-height:32px;}',
	  wmode: 'transparent'
	});