$(function() {
  $('li.mega').hoverIntent({
    interval: 250,
	timeout: 250,		 
    sensitivity: 4,
    over: function() {
	  $(this).addClass('hovering').find('>div').hide().slideDown('fast');
    },
    out: function() {
      $(this).removeClass('hovering').find('>div').slideUp('fast');
    }
  });
  
  $('a.form-button').bind('click', function() {
	var id = $(this).attr('href'), wrap = $(id), buffer = 20, speed = 300;
	
	$('div.form-wrap:not(' + id + ')').slideUp(speed);
	
	wrap.css({ top: (wrap.height() + buffer) * -1 });
	wrap.slideToggle(speed);
	wrap.find('input.c').bind('click', function() {
	  wrap.slideUp(speed);											
	  
	  return false;
	});
	
	return false;
  });
});

var SIDString = '';

function getRandomLetter() {
	return String.fromCharCode(getRandom(65, 90));
}

function getRandom(lowerBound, upperBound) {
	return Math.floor((upperBound - lowerBound + 1) * Math.random() + lowerBound);
}

function SetSID()
{
	if (SIDString.length > 0)
	{
		return SIDString;
	}

	sidc = 0;

	while (sidc < 32)
	{
		SIDString = SIDString + getRandomLetter();
		sidc++;
	}
	return SIDString;
}

function CheckForm1(f) {
	var email_re = /[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/i;
	
	if (!email_re.test(f.email.value)) {
		alert("Please enter your email address.");
		f.email.focus();
		return false;
	}

	if (f.captcha.value == "") {
		alert("Please enter the security code shown");
		f.captcha.focus();
		return false;
	}
			
	return true;
}



	validate = {
	  setForms: function(forms) {
		this.forms = forms;
	  },
	  
	  getForms: function() {
		return this.forms;
	  },	  
	  
	  getForm: function(form) {
		return this.forms[form];
	  },
	  
	  run: function(form, options, selector) {
		var self = this;

		$(function() {
		  if (form && self.forms[form]) {
		    $(selector ? selector : form).validate($.extend(self.defaults, self.forms[form], options));
		  } else {
		    $.each( self.forms, function(i, n) { $(i).validate($.extend(self.defaults, n, options)); } );
		  }
	    });
	  },
	  
	  init: function(forms) {		  
		if (typeof forms == 'object') {
		  this.setForms(forms);
		}
	  },
	  
	  defaults: { 
	    ignoreTitle: true,
		errorClass: 'error-message',
		errorElement: 'label',
		errorPlacement: function(error, element) {
		  if (element.is(":radio,:checkbox")) {
			element.parent().append(error);
		  } else {
			element.next().size() ? element.nextAll().after(error) : element.after(error);
		  }
		},			
		success: function(label) {
		  label.html('&nbsp;').addClass('success-message');
	    }
	  },
	  forms: {}
	}