var Accordion = Class.create();
Accordion.prototype = {
  initialize: function(element) {
    this.questions = $$('div#' + element.id + ' a.Question');
    this.answers = $$('div#' + element.id + ' div.Answer');
  },

  hideAnswers: function() {
    this.answers.each(function(answer) 
    {
        answer.hide();
    });
  },

  linkQuestions: function() {
    this.questions.each(function(question) 
    {
        question.observe('click', function () {
            question.toggleClassName('current');
            Effect.toggle(question.next(), 'slide', {duration: 0.5});
        }, false);
    });
  }
};

/* ----------------------------------- */

function lookFor(idOfButton)
{
    var found = ($(idOfButton) != null);
    
    if (found == true)
    {
        // call the other function
        clearTimeout(t);
        $(idOfButton).href = 'javascript:;';
        
        if ($(idOfButton).up('form'))
        {
            $(idOfButton).up('form').onsubmit = verifyTrialForm;
        }

        eval(idOfButton + '()');
    }
    else
    {
        // keep looking
        var t = setTimeout("lookFor('" + idOfButton + "')",1)
    }
}

function linkButton1()
{
    $('linkButton1').observe('click', function(event)
    {
        new Ajax.Updater(Control.Modal.container, 'modal1.aspx', 
            {
                onComplete: 
                    function() 
                    {
                        lookFor('modalSubmit');
                    }
            }
        );
    });
}

function linkButton2()
{
    $('linkButton2').observe('click', function(event)
    {
        new Ajax.Updater(Control.Modal.container, 'modal2.aspx', 
            {
                onComplete: 
                    function() 
                    {
                        lookFor('modalSubmit');
                    }
            }
        );
    });
}

function verifyTrialForm()
{
		var complete = true
		$(this).getInputs('text').each(function(x) {
			switch(x.name) {
				case 'first_name':
				case 'last_name':
				case 'city':
				case 'state':
				case 'zip':
				case 'company':
				case 'email':
				case 'phone':
					if (complete && x.value.empty())
						complete = false;
					break;
				case 'street':
					if (complete && x.value.empty() && x.id == 'street')
						complete = false;
					break;
			}
		});
		if (complete) {
			$(this).request({
				parameters: { URL:'' }
			});
	    new Ajax.Updater(Control.Modal.container, $('retURL').value);
		}
		else {
			alert('Please complete all required fields first.');
		}
		return false;
}

function verifyBuyForm(form)
{
		var complete = true;
		$(form).getInputs().each( function(x) {
			switch(x.name) {
				case 'first_name':
				case 'last_name':
				case 'city':
				case 'state':
				case 'zip':
				case 'email':
				case 'phone':
					if (complete && x.value.empty())
						complete = false;
					break;
				case 'street':
					if (complete && x.value.empty() && x.id == 'street')
						complete = false;
					break;
			}
		});
		if (!complete) {
			alert('Please complete all required fields first.');
		}
		return complete;
}
