var reg1 = 0;
var reg2 = 0;
var totalreg = 0;
var del = new Array();
var exh = new Array();
var numberTicket = new Array();
var value = new Array();
var delegatePrice = 400;
var exhibitorPrice = 1500;
var delDiscount = 0;
for(i=1;i<=10;i++) {
	del[i] = 0;
	exh[i] = 0;
	numberTicket[i] = 0;
}
var stripe = '';
var regType = new Array();
var addReg = new Array();
var objectCan = new Array();
var copyFieldsStart = 5;
var galaTickets = 0;
var ticketPrice = 125;
var totalNumberTickets = 0;
var discount = 0;
regType = ['input_102','input_202', 'input_302', 'input_402', 'input_502', 'input_602', 'input_702', 'input_802', 'input_902', 'input_1002'];
addReg = ['#field_1_200', '#field_1_300', '#field_1_400', '#field_1_500', '#field_1_600', '#field_1_700', '#field_1_800', '#field_1_900', '#field_1_1000'];

jQuery.fn.exists = function(){return jQuery(this).length>0;} //function to test if a selector exists

function copyFields(name) {
	var $objectsource = jQuery('.reg1');
	var $objectdest = jQuery('li.'+name+'');
	$objectsource.each(function(index){
		objectCan[index] = (jQuery(this).find(':input').val());
	});
	$objectdest.each(function(index){
		if(index>=copyFieldsStart) {
			(jQuery(this).find(':input').val(objectCan[index]));
		}
	});
}

var subtotal = function () {
	for (i=1;i<=(regType.length);i++) {
		regName = 'li.gchoice_'+regType[Number(i)-1].substr(6);
		value[i] = jQuery(':radio[name|=input_'+regType[Number(i)-1].substr(6)+']:checked').val();
		
			if(value[i] == 'Delegate'){
				del[i]=1;
				exh[i]=0;
				jQuery(regName+'_1 label').addClass('active');
				jQuery(regName+'_0 label').removeClass('active');
			}
			if(value[i] == 'Exhibitor'){
				exh[i] = 1;
				del[i] = 0;
				jQuery(regName+'_0 label').addClass('active');
				jQuery(regName+'_1 label').removeClass('active');
			}
	}
	for (i=0;i<(addReg.length);i++) {
		if(!jQuery(':checkbox[name|=input_'+addReg[Number(i)].substr(9)+'.1]').attr('checked')){
			del[i+2] = 0;
			exh[i+2] = 0;
		}
	}
	del[0] = 0;
	exh[0] = 0;
	
	for(i=1;i<=10;i++) {
		del[0]+=del[i];
		exh[0]+=exh[i];
	};
	totalNumberTickets = 0;
	jQuery('body').find('.gala :checkbox').each(function(index){
		if (jQuery(this).attr('checked')){
			totalNumberTickets ++;
			numberTicket[index+1] = 1;
		}
	})
	if(jQuery('input#choice_15_1:checkbox:checked').val()){
		discount = delegatePrice;
	} else {
		discount = 0;
	}
  if (exh[0] == 1 && del[2] == 1) {
    delDiscount = delegatePrice;
  } else {
    delDiscount = 0;
  }
	galaTickets = ticketPrice * totalNumberTickets;
	totaldel = del[0]*delegatePrice;
	totalexh = exh[0]*exhibitorPrice;
	totalreg = delegatePrice*del[0] + exhibitorPrice*exh[0] + Number(galaTickets);
	if(del[1] && discount){
		totalreg = totalreg - discount;//speaker discount
		if(!jQuery('.discount').exists()){
			jQuery('.delegate-num').parent().after('<p class="sub">Speaker discount <span class="discount right">$ -'+discount+'.00</span></p>');
		}
	}else{
		jQuery('.discount').parent().remove();
		discount = 0;
	}
  if(delDiscount){
		totalreg = totalreg - delDiscount;//speaker discount
		if(!jQuery('.delDiscount').exists()){
			jQuery('.delegate-num').parent().after('<p class="sub">Exhibitor discount <span class="delDiscount right">$ -'+delDiscount+'.00</span></p>');
		}
	}else{
		jQuery('.delDiscount').parent().remove();
		discount = 0;
	}
	gst = totalreg*0.05
	totalprice = totalreg+gst
	jQuery('#total-section p .exhibitor-num').html(exh[0]);
	jQuery('#total-section p .exhibitor-sub').html('$ '+totalexh.toFixed(2));
	jQuery('#total-section p .delegate-num').html(del[0]);
	jQuery('#total-section p .delegate-sub').html('$ '+totaldel.toFixed(2));
	jQuery('#total-section p .gala-num').html(totalNumberTickets);
	jQuery('#total-section p .gala-sub').html('$ '+galaTickets.toFixed(2));
	jQuery('#total-section p .subtotal').html('$ '+totalreg.toFixed(2));
	jQuery('#total-section p .gst').html('$ '+gst.toFixed(2));
	jQuery('#total-section p .total').html('$ '+totalprice.toFixed(2));
	jQuery(':hidden[name|=input_37]').val(exh[0]);
	jQuery(':hidden[name|=input_30]').val(totalexh);
	jQuery(':hidden[name|=input_31]').val(del[0]);
	jQuery(':hidden[name|=input_32]').val(totaldel);
	jQuery(':hidden[name|=input_33]').val(totalreg);
	jQuery(':hidden[name|=input_63]').val(gst);
	jQuery(':hidden[name|=input_64]').val(totalprice);
};
	
// add an remove registrants

function addRemoveReg(name) {
	regName = 'input_'+addReg[name].substr(9)+'.1';
	nextName = Number(name)+2;
	if(jQuery(':checkbox[name|='+regName+']').attr('checked')){
		jQuery("label[for="+jQuery(':checkbox[name|='+regName+']').attr('id')+"]").text('Remove registrant');
		for (i=name;i<=addReg.length;i++) {
				if(jQuery(addReg[Number(i)+1]).css('display')=='none'){
				jQuery(addReg[Number(i)+1]).css('display', 'block');
				break;				
			}
		}
	}else{
		
		
		if(name < 8){
			if (jQuery(':checkbox[name|='+'input_'+addReg[Number(name)+1].substr(9)+'.1'+']').attr('checked')){
					var copyContent = Number(name)+2
					for (i=addReg.length;i>=copyContent;i--){
						if(jQuery(':checkbox[name|=input_'+addReg[Number(i)-1].substr(9)+'.1]').attr('checked')){
							var lastCopy = Number(i);
							break;
						}
				}
				for (i=copyContent;i<=lastCopy;i++){
					sourceNumber = Number(i)+1;
					destNumber = Number(i);
					var $objectsource = jQuery('li.reg'+sourceNumber);
					var $objectdest = jQuery('li.reg'+destNumber);
					$objectsource.each(function(index){
						if(jQuery(this).find(':input').attr('checked')){
							objectCan[index]='checked'
						}else{
							objectCan[index] = (jQuery(this).find(':input').val());
							jQuery(this).find(':input').val('').attr('checked', false);
						}
					});
					$objectdest.each(function(index){
						if (objectCan[index]=='checked'){
							jQuery(this).find(':input').attr('checked', true);
						}else{
							(jQuery(this).find(':input').val(objectCan[index]).attr('checked', false));
						}
					});
					}
					jQuery(':checkbox[name|=input_'+addReg[Number(lastCopy)-1].substr(9)+'.1]').attr('checked',false).siblings('label').text('Add another registrant');
					jQuery(':checkbox[name|=input_'+addReg[Number(copyContent)-2].substr(9)+'.1]').attr('checked',true);
					var rulesIDoff = jQuery(addReg[Number(lastCopy)-1]).next('li').attr('id');
					var rulesIDon = jQuery(addReg[Number(copyContent)-2]).next('li').attr('id');
					rulesIDoff = rulesIDoff.substr(-3);
					rulesIDon = rulesIDon.substr(-3);
					if(lastCopy == 9){rulesIDoff = 1001}
					gf_apply_rules(1,[rulesIDoff,rulesIDoff]);
					gf_apply_rules(1,[rulesIDon,rulesIDon]);
				
				} else {
					del[nextName]=0; exh[nextName]=0;
					jQuery("label[for="+jQuery(':checkbox[name|='+regName+']').attr('id')+"]").text('Add another registrant');
					if(addReg[Number(name)-1]){
						if(!jQuery(':checkbox[name|=input_'+addReg[Number(name)-1].substr(9)+'.1]').attr('checked')){
							jQuery(addReg[name]).css('display', 'none');
						}
					}	
			}
		} else {
			jQuery("label[for="+jQuery(':checkbox[name|='+regName+']').attr('id')+"]").text('Add another registrant');
		}
		for (i=0;i<=addReg.length;i++) {
			if(addReg[Number(i)]){
				if (!jQuery(':checkbox[name|=input_'+addReg[Number(i)].substr(9)+'.1]').attr('checked')){
					jQuery(addReg[Number(i)+1]).css('display', 'none');
					jQuery('.reg'+(Number(i)+2)).each(function(){
						inputType = jQuery(this).find('input');
						if(inputType.attr('type') != 'checkbox'){
						jQuery(this).find('input').val('');
						} else {
						jQuery(this).find('input').attr('checked', false);
						}
					})
				}
			}
		}
	}
}

jQuery(document).ready(function() {
	
	jQuery('.gala :checkbox').each( function() {
		jQuery(this).change(function(){
			if (jQuery(this).attr('checked')){
				var classList = jQuery(this).parents('.gfield').attr('class').split(/\s+/);
				numberTicket[Number(classList[2].substr(-1))] = 1;
			}else{
				var classList = jQuery(this).parents('.gfield').attr('class').split(/\s+/);
				numberTicket[Number(classList[2].substr(-1))] = 0;
			}

			subtotal();
		})
	})



	jQuery('.reg-type').each(function(index){
		thisID=(jQuery(this).attr('id'));
		regNumber=index+1
		stripe = '';
		jQuery('#'+thisID+' ~ li').each(function(index){
			if(stripe == '' || stripe == 'even'){
				stripe = 'odd'
			}else{
				stripe = 'even'
			}
			thisClass = jQuery(this).attr('class').split(' ').slice(-1);
			jQuery(this).addClass('reg'+regNumber+' '+stripe);
			if (index == copyFieldsStart && regNumber != 1){
				jQuery(this).prepend('<div class="copy reg'+regNumber+'"></div>');
			}
			return(thisClass != 'end');
		});
	});
	
	jQuery('#field_1_10').appendTo(jQuery('.gform_heading'));

	/*prepend the required star
	*/
	jQuery('span.gfield_required').each(function(){
		jQuery(this).prependTo(jQuery(this).parent()); 
	}); 
	if(jQuery('body').attr('class').split(' ').slice(-1) == 'registration'){
	
	//change function for registrant choice
	for (x in regType) {
		jQuery(':radio[name|='+ regType[x] + ']').change(function(){
			subtotal();
			
		});
	}
	jQuery('input#choice_15_1').click(function(){
			subtotal();
			
		});

// copy fields click function

	jQuery('div.copy').click(function(){
		var section = jQuery(this).attr('class').split(' ').slice(-1);
		copyFields(section);
	});

	for (x in addReg) {
		jQuery(':checkbox[name|=input_'+addReg[x].substr(9)+'.1]').change(function(){
			for (x in addReg) {
				if(addReg[x] == ('#'+jQuery(this).parent().parent().parent().parent().attr('id'))){
					addRemoveReg(x);
					subtotal();
				}
			}
		});
	//jQuery(':checkbox[name|=input_'+addReg[x].substr(9)+'.1]').confirm();
		addRemoveReg(x);
	}
	subtotal();


// Event sponser check and hide

//	if((jQuery(':checkbox[name|=input_14.1]').attr('checked')) || (jQuery(':checkbox[name|=input_15.1]').attr('checked'))){
//		jQuery('#input_1_16 li.gchoice_16_0').css('display','none');
//		jQuery('#input_1_16 li.gchoice_16_1').css('display','none');
//		jQuery('#input_1_16 input').attr('checked','');
//	}

	
jQuery('#gform_submit_button_1').attr('value','');
jQuery('#field_1_21').prepend('<div id="paypal-verified"></div>');

//	jQuery(':checkbox[name|=input_14.1],:checkbox[name|=input_15.1]').change(function(){
//		if(jQuery(this).attr('checked')){
//			jQuery('#input_1_16 li.gchoice_16_0').css('display','none');
//			jQuery('#input_1_16 li.gchoice_16_1').css('display','none');
//			jQuery('#input_1_16 input').attr('checked','');
//		}else{
//		if((this.id == 'choice_14_1' || this.id == 'choice_15_1') && (!jQuery(':checkbox[name|=input_14.1]').attr('checked') && !jQuery(':checkbox[name|=input_15.1]').attr('checked'))){
//			jQuery('#input_1_16 li.gchoice_16_0').css('display','block');
//			jQuery('#input_1_16 li.gchoice_16_1').css('display','block');
//		jQuery('#input_1_16 input').attr('checked','');

//		}

		}
//
//	});


	

//	}
	
});



if (jQuery.browser.msie && jQuery.browser.version.substr(0,1)<=7) {
jQuery(function() {
            var offset = jQuery("#total-section").offset();
            var topPadding = 250;
            //jQuery('#post-87').css('position','relative').css('right','-50px'); 
            jQuery(window).scroll(function() {
                if (jQuery(window).scrollTop() > offset.top - topPadding) {
                    jQuery("#total-section").stop().animate({
                        marginTop: jQuery(window).scrollTop() - offset.top + topPadding
                    } , 200);
                } else {
                    jQuery("#total-section").stop().animate({
                        marginTop: 0
                    }); 
                };  
            }); 
        }); 
}else{
jQuery(function() {
            var offset = jQuery("#total-section").offset();
            var topPadding = 50;
            xposition=((jQuery(document).width()-850)/2-20);
			jQuery("#total-section").css('right', xposition);
            jQuery(window).resize(function() {
            xposition=((jQuery(document).width()-850)/2-20);
			jQuery("#total-section").css('right', xposition);
			});
			jQuery(window).scroll(function() {
                if (jQuery(window).scrollTop() > offset.top - topPadding) {
                    jQuery("#total-section").addClass('posfix');
                } else {
                    jQuery("#total-section").removeClass('posfix');
                };
            });
        });
        }

