/** flash objects **/
var so = new SWFObject("swf/events.swf", "featured_events", "714", "310", "8", "#262772");
so.addVariable("sourceXML", "xml/events.xml");
so.write( "featured_events" );
var so = new SWFObject("swf/sponsors.swf", "founding_partners", "307", "121", "8", "#ffffff");
so.addParam("wmode","opaque");
so.write("sc_founding_partners");
/** end flash objects **/

/** 
* style functions 
* kate placed this file here originally.
* need to find out if this is needed.
**/
styleWriter( );
function styleWriter( )
{
    if ((navigator.userAgent).indexOf("Safari")!=-1)
	{ document.write('<link href="css/safari.css" media="screen" rel="Stylesheet" type="text/css" />'); }
   
    else if ((navigator.appName).indexOf("Microsoft")!=-1) 
    { document.write('<link href="css/ie.css" media="screen" rel="Stylesheet" type="text/css" />'); }
    
    else if ((navigator.appName).indexOf("Opera")!=-1) 
    { document.write('<link href="css/opera.css" media="screen" rel="Stylesheet" type="text/css" />'); }
}

/** vCal function **/
function outlookWarning( url ) 
{
	var calendarCheck = confirm( "You are about to add multiple events to your calendar. If you do not wish to do this, click Cancel.\n\nTO ADD MULTIPLE EVENTS TO YOUR MICROSOFT OUTLOOK CALENDAR:\n\n1. When your browser asks \"Do you want to open or save this file?\" click \"Save\" and choose a convenient location for the file.\n2. Open Microsoft Outlook and select the Calendar section.\n3. Select \"Import and Export\" under the \"File\" menu.\n4. Select the action \"Import an Icalendar or Vcalendar file (.vcs)\", and click \"Next.\"\n5. Browse to the saved file location, select the file and click \"OK.\"\n\nThe file contains multiple events which are added to your Outlook calendar." );

	if(calendarCheck){ window.open( url, "icalwindow" ); }
}

/** mootools scripts **/
var mySlide2 = new Fx.Slide('events', {mode:'horizontal'});
var mySlide3 = new Fx.Slide('news', {mode:'horizontal'});
var mySlide4 = new Fx.Slide('offers', {mode:'horizontal'});
mySlide2.slideIn();
mySlide3.slideOut();
mySlide4.slideOut();

$('slideevents').addEvent('click', function(e){
	e = new Event(e);
	mySlide2.slideIn();
	mySlide3.slideOut();
	mySlide4.slideOut();
	$$('#slideevents img')[0].src = 'images/website/index/eventsbox/events_on.gif';
	$$('#slidenews img')[0].src = 'images/website/index/eventsbox/news.gif';
	$$('#slideoffers img')[0].src = 'images/website/index/eventsbox/offers.gif';
	e.stop();
});

$('slidenews').addEvent('click', function(e){
	e = new Event(e);
	mySlide2.slideOut();
	mySlide3.slideIn();
	mySlide4.slideOut();
	$$('#slideevents img')[0].src = 'images/website/index/eventsbox/events.gif';
	$$('#slidenews img')[0].src = 'images/website/index/eventsbox/news_on.gif';
	$$('#slideoffers img')[0].src = 'images/website/index/eventsbox/offers.gif';
	e.stop();
});

$('slideoffers').addEvent('click', function(e){
	e = new Event(e);
	mySlide2.slideOut();
	mySlide3.slideOut();
	mySlide4.slideIn();
	$$('#slideevents img')[0].src = 'images/website/index/eventsbox/events.gif';
	$$('#slidenews img')[0].src = 'images/website/index/eventsbox/news.gif';
	$$('#slideoffers img')[0].src = 'images/website/index/eventsbox/offers_on.gif';
	e.stop();
});

/** http://docs.mootools.net/Plugins/Accordion **/
var accordion = new Accordion($$('img.atStart'), $$('div.atStart'),{
	onActive:function(toggler, element) {
		toggler.src = toggler.src.replace(".gif", "_on.gif");
	},
	onBackground:function(toggler, element) {
		toggler.src = toggler.src.replace("_on.gif", ".gif");
	}
}, $("accordian"));

/** signup validation functions **/
function signup_check( )
{
	// define script wide variables.
	var email = trim( document.form1.email.value );
	var name = trim( document.form1.firstname.value );
	var zipcode = trim( document.form1.zipcde.value );
	var errorArray = new Array( );
	var errorNum = 0;
	var validate = true;
	
	// validate form fields.
	if( email.length == 0 )
	{ errorArray[ errorNum ] = ' * Email field is blank.\n'; errorNum++; }
	else if( !checkForEmail( email ) )
	{ errorArray[ errorNum ] = ' * Email is not in correct email address standards.\n'; errorNum++; }
	
	if( name.length == 0 )
	{ errorArray[ errorNum ] = ' * First name field is blank.\n'; errorNum++; }
	
	if( zipcode.length == 0 )
	{ errorArray[ errorNum ] = ' * Zip code field is blank.\n'; errorNum++; }
	// end validate form fields.
	
	// check for errors.
	if( errorNum > 0 )
	{
		// set error message.
		var errorMessage = 'Please correct the following information.\n\n';
	
		// collect all error message for display.
		for( i = 0; i < errorNum; i++ ) { errorMessage += errorArray[ i ]; }
		
		//display error.
		alert( errorMessage );
		
		// a false value will keep the form information from being processed.
		validate = false;			
	}
	
	return validate;
}

// validate email address. email addresses have to in correct form. ie, email@address.com
function checkForEmail( email ) 
{
	// define regular expression.	this one was failing.	
	// http://regexlib.com/Search.aspx?k=email
	var re = /^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@(([0-9a-zA-Z])+([-\w]*[0-9a-zA-Z])*\.)+[a-zA-Z]{2,9})$/i;
	var success = true;
	
	// check string against defined regular expression.
	if( !email.match( re ) ) { success = false; }
	
	// return the outcome of the regular expression check.
	return success;
} // end checkForEmail.

// remove all blank spaces from the left and right of the string.
function trim( stringToTrim ){ return stringToTrim.replace( /^\s+|\s+$/g,"" ); }

/** DW created functions **/
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}