var Donations = Class.create({
	initialize: function(p) {

		if(typeof d !== 'undefined') {
			this.d = d.amount;
		} else {
			this.d = 0;
		}
		
		if(typeof p === 'undefined') {
			return false;
		}
		if(typeof p.formid === 'undefined') {
			this.form = $('paypal_form');
		} else {
			this.form = p.formid;
		}
		
		if(typeof p.load === 'undefined') {
			this.load = 'inline';
		} else {
			this.load = 'ajax';
		}
		
		if(typeof p.href !== 'undefined') {
			this.href = p.href;
		}
		this.code = p.code;
		this.link = $(p.observe);
		this.donate_type = p.donate_type;
		this.formid = p.formid;
		this.dtitle = p.dtitle;
		this.callback = 'load_'+this.load;
		$(this.link).observe('click', this.load_overlay.bind(this));
		this.form_inputs = "";
		
		var ip	=	p.inputs;
		for(i=0; i<ip.length; i++) {
			
			switch(ip[i].type) {
				
				case 'text':
				this.input(ip[i]);
				break
				
				case 'select':
				this.selectList(ip[i]);
				break
				
				case 'checkbox':
				this.checkboxItem(ip[i]);
				
			}
			
		}
		
	},
	
	input: function(i) {
		
		if(typeof i.label !== 'undefined') {
			this.form_inputs += '<label>'+i.label+'</label>';
		}
		this.form_inputs += '<input type="text" name="'+i.name+'" class="donate-form" ';
		if(typeof i.callback !== 'undefined') {
			this.form_inputs += 'onchange="javascript:'+i.callback+'(this)"';
		}
		
		if(typeof i.id !== 'undefined') {
			this.form_inputs += 'id="'+i.id+'"';
		}
		
		if(typeof i.value !== 'undefined') {
			this.form_inputs += ' value="'+i.value+'"';
		}
		
		this.form_inputs += ' />';
		
	},
	
	checkboxItem: function(i) {
		
		if(typeof i.label !== 'undefined') {
			this.form_inputs += '<label>'+i.label+'</label>';
		}
		
		this.form_inputs += '<input type="checkbox" name="'+i.name+'" ';
		
		if(typeof i.id !== 'undefined') {
			this.form_inputs += 'id="'+i.id+'"';
		}
		
		if(typeof i.checked !== 'undefined') {
			this.form_inputs += 'checked="'+i.checked+'"';
		}
		
		this.form_inputs += '/>';
		
	},
	
	selectList: function(i) {
		if(typeof i.label !== 'undefined') {
			this.form_inputs += '<label>'+i.label+'</label>';
		}
		this.form_inputs += '<select name="'+i.name+'" class="donate-form"';
		if(typeof i.callback !== 'undefined') {
			this.form_inputs += 'onchange="javascript:'+i.callback+'(this);">';
		}
		var slen = i.options.length;
		var op = i.options;
		for(s=0; s<slen; s++) {
			this.form_inputs += '<option value="'+op[s].value+'">'+op[s].name+'</option>';
		}
		this.form_inputs += '</select>';
	},
	
	load_ajax: function(p) {

		var code = this.code;
		var formid = this.formid;
		var title = this.dtitle;
		var forms = this.form_inputs;
		var donate_type = this.donate_type;

		new Ajax.Request(this.href, {
			onLoading: function() {
				
				body = document.getElementsByTagName('body')[0];
				var ol = '<div id="overlay"></div>';
				$(body).insert({top: ol});
				$('overlay').insert({top: '<img src="/assets/images/icn_loading.gif" />'});
			},
			
			onComplete: function(r) {
			
				if($('overlay')) {
					var form = r.responseText;
					$('overlay').update(form);
					this.closebox = $$('.closebox');
					$(this.closebox[0]).observe('click', function() {
						$('overlay').remove();
					});
					
				}
			}
		});
	},
	
	load_inline: function() {
		this.body = document.getElementsByTagName('body')[0];
		var ol	= new Element('div', {id:'overlay'});
		this.body.insert({top:$(ol)})
		$(this.form).setStyle({
			visibility: 'visible',
			display: 'block',
			zIndex: '9999'
		})
		this.closebox = $$('.closebox');
		$(this.closebox[0]).observe('click', this.remove_overlay.bind(this));
	},	
	
	load_overlay:function() {
		
		var callback = this.callback;
		this.closebox  = $$('.closebox');
		this[callback].apply(this);
		
	},
	
	remove_overlay: function() {
		alert('removing')
		$('overlay').remove();
	},
	
	kill_observe: function() {
		$(this.link[0]).stopObserving();
	},
	
	set_amount: function() {
		alert('this.d')
	},
	
	set_donateform: function() {
		return {formid:'donate'};
	},
	
	addemup: function() {
		alert('added')
	}
	
});

function addemup(e) {

}

function setamount(a) {
	
	var val = $('amount_form').value;
	val = (val * 1);


	if($('donate-level')) {
		if(val >= 2000 && val <= 3499) {
			$('donate-level').update('leader');
			$('checkout').setStyle({
				backgroundColor: '#6c9f1d'
			})
		}

		if(val >= 3500 && val <= 4999) {
			$('donate-level').update('sponsor');
				$('checkout').setStyle({
					backgroundColor: '#6c9f1d'
				})
		}

		if(val >= 5000 && val <= 9999) {
			$('donate-level').update('benefactor');
				$('checkout').setStyle({
					backgroundColor: '#6c9f1d'
				})
		}

		if(val >= 10000) {
			$('donate-level').update('president\'s circle');
				$('checkout').setStyle({
					backgroundColor: '#6c9f1d'
				})
		}
		
		if(val < 1000) {
			$('amount_form').value = '1000'
			$('level').update('leader');
		}
		var dollars = '$'+val;
	}


	if(isInt(val)) {
		$('amount').value = val;
	} else {
		alert('you must enter an amount')
		$('donate-level').update('you must enter an amount');
	}
}

function form_submit(a) {
	alert('dont go')
	return false;
}

function setDonate(a) {
	var val = $('amount_form').value;
	val = (val * 1);

	
	if(isInt(val)) {
		$('amount').value = val;
	} else {
		alert('you must enter a number');
	}
}

function checkff() {
	
	if($('amount_form').value === '') {
		return false;
	}
	
	if($('presentation').value === '') {
		new Effect.Highlight('presentation', {});
		$('error').update('Please fill in this field').setStyle({color:'red'});
		return false;
	} else {
		var present_val = $('presentation').value;
	}
	
		
	var attendance = $$('.attendance');
	for(i=0; i<attendance.length; i++) {
		if(attendance[i].checked) {
			val = attendance[i].value;
			$('user6').value = val;
		}
	}
	
	$('user4').value = 'first_family';
	var level = $('level');
	var donate_level = $('donate-level').innerHTML;
	//alert(present_val)
	$('user7').value = present_val;
	$('user5').value = donate_level;
	//alert('first_family-FF-'+donate_level)
	$('comment1').value = 'first_family-FF-'+val+'-'+donate_level;
	$('comment2').value = present_val;
	
}

function checkgd() {
	if($('amount_form').value === '') {
		return false;
	}
	$('user7').value = 'GENLD';
	$('comment1').value = 'general donation';
}

function isInt(x) { 
  var y=parseInt(x); 
  if (isNaN(y)) return false; 
  return x==y && x.toString()==y.toString(); 
}

var donateform = new Donations({formid:'donate', load:'ajax', href:'/donateform.html?form=friend', observe:'donateform', donate_type:'friend', code:'DNAT', dtitle:'Donations', inputs: [{type:'text', name:'amount_form', id:'amount_form', label:'Amount', callback:'setDonate'}]});
var first_fam = new Donations({
	formid:'first_family', 
	load:'ajax', 
	href:'/donateform.html?form=first_family', 
	observe:'first_family', 
	code:'FFAM', 
	dtitle:'First Family<span>*</span>', 
	donate_type: 'first_family',
	inputs: [{
		type:'text', 
		label: 'Amount',
		name:'amount_form',
		value: '1000',
		id: 'amount_form',
		callback: 'setamount',
		className: 'amountItem'},
		{type:'checkbox',
		name: 'benefits',
		id:'benefits',
		checked: 'checked',
		value: '1',
		label:'Attending Events?'},
		{type:'text',
		label:'Presentation',
		id:'presentation',
		name:'presentation'}]});
var friend = new Donations({formid:'friend', load:'ajax', href:'/donateform.html?form=friend', observe:'friend', donate_type:'friend', code:'FRND', dtitle:'Friends of Near &amp; Far Aid', inputs: [{type:'text', name:'amount_form', id:'amount_form', label:'Amount', callback:setDonate}]});