window.addEvent('domready',function() {
		if($('seminars')) {
			if($('secret-field').getProperty('alt') != '') {
				$('registration-form-div').removeClass('hide');
				winScroller = new Fx.Scroll(window, {
							wait: false,
							duration: 1000,
							transition: Fx.Transitions.Quad.easeInOut
						}).toElement($('registration-form'));
			}
			$$('.reg-link').each(function(item) {
					item.addEvent('click',function(e ) {
						var event = new Event(e ).stop();
						$('registration-form-div').removeClass('hide');
						winScroller = new Fx.Scroll(window, {
							wait: false,
							duration: 1000,
							transition: Fx.Transitions.Quad.easeInOut
						}).toElement($('registration-form'));
						var id = item.getProperty('alt');
						$('event-id').setProperty('value',id);
						var seminar = item.getProperty('name');
						$('event-name').setText(seminar);
						$('event-name-hidden').setProperty('value',seminar);
						if(item.hasClass('max-30')) {
								if($('time-label').hasClass('hide')) {
										$('time-label').removeClass('hide');
										$('time-select').removeClass('hide');
								}
								
						}
						else {
								if(!$('time-label').hasClass('hide')) {	
										$('time-label').addClass('hide');
										$('time-select').addClass('hide');
								}
						}
						
					});
			});
		}
});

function check_form() {
	var errors = 0;
	var email_addresses = [];
	for(var x = 0; x < count; x++) {
		if($('attendee_' + x + '_name').value == '') { $('attendee_' + x + '_name').addClass('error-input'); errors = errors + 1; } else { $('attendee_' + x + '_name').removeClass('error-input'); }
		if($('attendee_' + x + '_email').value)
		{
			if(email_addresses.contains($('attendee_' + x + '_email').value)) { 
				$('attendee_' + x + '_email').addClass('error-input'); errors = errors + 1;
			}
			else {
				var email = $('attendee_'+x+'_email').value;
				var email_trimmed = email.replace(/^\s+|\s+$/g, '') ;
				if(email_trimmed != '') {
					email_addresses.push($('attendee_' + x + '_email').value);
				}
			}	
		}
		//$('attendee_' + x + '_email').value == '') { $('attendee_' + x + '_email').addClass('error-input'); errors = errors + 1; } else { $('attendee_' + x + '_email').removeClass('error-input'); }
		if($('attendee_' + x + '_position').value == '') { $('attendee_' + x + '_position').addClass('error-input'); errors = errors + 1; } else { $('attendee_' + x + '_position').removeClass('error-input'); }
	}
	$('add-error').setStyle('display', (errors ? 'inline' : 'none'));
	return errors ? false : true;
}
		

var Replica = new Class({
	initialize: function(container,url) {
		this.container = $(container);       //the container where the ajax response will go
		this.url = url;                      //the url for the ajax call
	},
	insert: function(count) {
		var that = this;
		var ajaxCall = new Request({
			url:this.url,
			method:'get',
			data:'count='+count,
			onComplete:function(request){
				var id = 'attendee-'+count;
				var new_div = new Element('div',{'id':id});
				new_div.set('html', request);
				that.container.adopt(new_div);
				//var myslide = new Fx.Slide(id).hide();
				//myslide.slideIn();
			}
		}).send();
	}
});

var AutoSearch = new Class({
      Implements: [Options, Events],
        options: {
              container:'auto-search-results',                   //the container to hold search results
              searchResultsClass:'.auto-search',               //the css class for items returned by search
              searchInputFields:[],                                   //the input field to supply search term
              onChange: $empty
        },
 	initialize: function(input, url, options) {
                this.setOptions(options);
                this.options.container = $(this.options.container);
                this.input = $(input);                                 //input field to trigger the auto search
                this.url = url;                                             //the url of the method that executes the search and returns the html results
                this.input.addEvent('keyup',function(event) {
                        var event = new Event(event).stop();
                        this.style_container();
                        this.do_search();
                }.bind(this));
                window.document.addEvent('click', function(){
                   this.options.container.setStyle('display','none');  //hides the auto search results with a click in document window
                 }.bind(this));            
        },
        style_container: function() {
             // positions the container of search results just underneath the input box
            var coordinates = this.input.getCoordinates($('badge-table'));
				if(window.ie) {
					 var top = (coordinates.top + coordinates.height +10);
					 var left = coordinates.left +10;
				}
				else {
					 var top = (coordinates.top + coordinates.height);
					 var left = coordinates.left;
				}
            var width = coordinates.width - 10;
            this.options.container.setStyles({
                'display':'block',
					 'top':top,
                'left':left,
                'width':width
            
            });     
        },
        do_search: function() {
                //conducts the search and puts result in input box when clicked
				 var that = this;
				 var letter = this.input.getProperty('value');
				 var year = $('next_year').getProperty('value');
				 var post ='auto_search='+letter+'&nextyear='+year;
				 var auto_search = new Request.HTML({
						url:this.url,
						data:post,
						update:this.options.container,
						onComplete:function(){
							if($$('.auto-search').length == 0) { 
								$('auto-search-results').setStyle('display','none');
							}
							else {
							$$('.auto-search').each(function(element) {
								element.addEvent('click', function() {
									var text = element.get('text');
									var id = element.getProperty('id');
									var year = $('next_year').getProperty('value');
									var newtext = (text.substring(0,text.indexOf('/')));
									that.input.setProperty('value',newtext);
									var fill = new Request.HTML({
											url:that.url,
											data:'b=fill&id='+id+'&nextyear='+year,
											onComplete:function(tree,els,return_data){
												var data = return_data.split('/');
												$('business-name').setProperty('value',data[0]);
												$('address_1').setProperty('value',data[1]);
												$('address_2').setProperty('value',data[2]);
												$('city').setProperty('value',data[3]);
												$('state').setProperty('value',data[4]);
												$('country').getElements('option').each(function(item,index) {
														if(item.getProperty('value') == data[6]) { item.setProperty('selected','selected'); }
												});
												$('zip').setProperty('value',data[5]);
												$('phone').setProperty('value',data[7]);
												$('type').getElements('option').each(function(item,index) {
														if(item.getProperty('value') == data[8]) { item.setProperty('selected','selected'); }
												});
												$('jbt-radio').getElements('input').each(function(item,index) {
														if(item.getProperty('value') == data[9]) { item.setProperty('checked','checked'); }
												});
												if(data[9] == '0') {
													$('sales_tax_id_row').removeClass('hide');
													$('sales_tax_id').setProperty('value',data[10]);
												}
												var attendees = new Request.HTML({
														url:that.url,
														update:$('current-attendees-ul'),
														data:'a=attendee&id='+id,
														onComplete:function(returned_data){
															if(returned_data) {
																var div = $('current-attendees');
																div.removeClass('hide');
																//var attendeeslide = new Fx.Slide(div).hide();
																//attendeeslide.slideIn();
																$$('#business_id').setProperty('value',id);
															}
														}
												}).send();
											}
									}).send();
								 });    
					  });  
			}
						}
			 }).post();
        }   
});


