$(document).ready(function() {	
	
	$("a[rel|=external]").attr('target', '_blank');
	
	if ($("#reason").length>0){
		$("#reason").textareaCounter({ limit: 2000 });
	}
	
	$("input.submit").each(function(){
		$(this).replaceWith('<a href="#" class="sendit"><span>' + $(this).attr('value') + '</span></a>');
	});
	$(".sendit").click(function(event) {
		event.preventDefault();
		$(this).parents('form').submit();
	});

	if ($(".jqtransform").length) $(".jqtransform").jqTransform();	// Style forms(input and checkboxes)
	if($('textarea').hasClass('jqtransformdone')) {return false;}

	// Remove default text from input on focus
	$('.guide').each(function() {
		var def_value = this.value;
		$(this).focusin(function() {
			if(this.value == def_value) {
				this.value = '';
			}
		});
		$(this).focusout(function() {
			if(this.value == '') {
				this.value = def_value;
			}
		});
	});
	
	// Submit form when you click Enter on input field
	$('form.validate input').keydown(function(e){
		if (e.keyCode == 13) {
			$(this).parents('form').submit();
			return false;
		}
	});
	
		// Form validation
	$(".validate").each(function() {
		$(this).validate({
			focusInvalid: false,
			errorPlacement: function(error, element) {
				if ($(element).is('select')) {
					error.insertAfter( element.parents("div.jqTransformSelectWrapper"));
				} else if ($(element).is('input[type=checkbox]')) {
					error.insertAfter( element.parents("span.jqTransformCheckboxWrapper").next());
				} else if(element.parent().parent().parent().hasClass('cc_selection')) {
					error.appendTo( element.parents(".cc_selection"));
				} else if(element.parent().parent().parent().hasClass('amountbox')) {
					error.appendTo( element.parents(".donationInfo"));
				} else if(element.attr('id') == "other_amount") {
					error.insertAfter( element.parents(".amountInfo"));
				} else if ($(element).is('input[type=text]')) {
					error.insertAfter( element.parents("div.jqTransformInputWrapper"));
				} else{
					error.insertAfter(element);
				}
			},
			onfocusout: false,
			onkeyup: false,
			onclick: false
		});
		$("input#file, input#file2, input#file3").each( function(){
			$(this).rules("add", {
				accept:"(pdf)",
				messages: {
					accept: "Please upload a file with a valid extension."
				}
			});
		});
		$("input#link, input#link2, input#link3").each( function(){
			$(this).rules("add", {
				url:true,
				messages: {
					url: "Please enter a valid URL. e.g http://www.website.com"
				}
			});
		});
		// Donation Form
		if ($('#other_amount').length > 0 ) {
			$("#other_amount").rules("add", {
				messages: {
				   required: "Please specify an amount"
				}
			});
			$("#amount_num").rules("add", {
				messages: {
				   required: "Please specify an amount"
				}
			});
			$("#visa_num").rules("add", {
				messages: {
				   required: "Please select a credit card"
				}
			});
			$.validator.addMethod("fselect_required", function(value, element) {
				return ($(element).val().length > 0 && $(element).val() != 0); 
			}, "This field is required");
		}
	});	
	
	
	
	$.validator.addMethod("zipcodevalid", function(value, element) {
		if ($(element).val().length > 0) {
			var strValue = $(element).val();
			var objRegExp = /(^\d{5}$)|(^\d{5}-\d{4})$/
				if(!objRegExp.test(strValue)) {
					return false;
				} else {
					return true;
				}
		} else {
			return true;
		}
	}, "Please enter a valid Zip Code");
	
	// Donation Form Other Amount
	if ($('#other_amount').length > 0 ) {
		donateOtherAmount();
		$('#other_amount').focus(function() {
			$(this).parents().find("#other").prev().click();
		});
	
		$("input[name='tx_gafdonation_pi1[amount]']").change(function(){ 
			donateOtherAmount();
		});
	}
	
	function donateOtherAmount(){
		if ($("#other").attr('checked')){ 
			$('#other_amount').rules('add', {required: true});
		} else {
			$('#other_amount').rules('remove', 'required');
			$('#other_amount').val('');
		}
	}

});

/*
CSS Browser Selector v0.3.5 (Feb 05, 2010)
Rafael Lima (http://rafael.adm.br)
http://rafael.adm.br/css_browser_selector
License: http://creativecommons.org/licenses/by/2.5/
Contributors: http://rafael.adm.br/css_browser_selector#contributors
*/
function css_browser_selector(u){var ua = u.toLowerCase(),is=function(t){return ua.indexOf(t)>-1;},g='gecko',w='webkit',s='safari',o='opera',h=document.documentElement,b=[(!(/opera|webtv/i.test(ua))&&/msie\s(\d)/.test(ua))?('ie ie'+RegExp.$1):is('firefox/2')?g+' ff2':is('firefox/3.5')?g+' ff3 ff3_5':is('firefox/3')?g+' ff3':is('gecko/')?g:is('opera')?o+(/version\/(\d+)/.test(ua)?' '+o+RegExp.$1:(/opera(\s|\/)(\d+)/.test(ua)?' '+o+RegExp.$2:'')):is('konqueror')?'konqueror':is('chrome')?w+' chrome':is('iron')?w+' iron':is('applewebkit/')?w+' '+s+(/version\/(\d+)/.test(ua)?' '+s+RegExp.$1:''):is('mozilla/')?g:'',is('j2me')?'mobile':is('iphone')?'iphone':is('ipod')?'ipod':is('mac')?'mac':is('darwin')?'mac':is('webtv')?'webtv':is('win')?'win':is('freebsd')?'freebsd':(is('x11')||is('linux'))?'linux':'','js']; c = b.join(' '); h.className += ' '+c; return c;}; css_browser_selector(navigator.userAgent);

