window.addEvent('domready', function(){
// 	var footer;
// 	if (footer=$('footer')) {
// 		footer.set('tween', {duration: 'short'});
// 		footer.addEvent('mouseenter', function(e) {
// 			footer.tween('margin-bottom',0);
// 		});
// 		
// 		footer.addEvent('mouseleave', function(e) {
// 			footer.tween('margin-bottom','-60px');
// //	(function(){ footer.tween('margin-bottom','-60px'); }).delay(1000);
// 		});
// 	}

    // CONVERT EXTERNAL LINKS
    // $$('a.external').setProperty('target', '_blank');

    // add "blow-up" icon to blow up links
    $$('a.blowup').each(function(el) {
		var magDiv = new Element('div', {'class': 'magnify'}).set('html','+').injectInside(el);
    });

    // go home blob
    // if (homeLink = $('home-link')) {
    //     var homeBlob = new Element('div', {'id': 'home-blob'}).setHTML('home').injectInside(homeLink);
    // }

    // book in slide1 bounce! (is anyone reading this goddamn thing?! hey you!)
    if (slide1 = $('slide1')) {
        slide1img = $('slide1img');
        var fx = new Fx.Styles(slide1img, {duration:50, wait:false}); 
        
        slide1.addEvent('mouseover', function() {
            fx.start({'margin-top': -10}).chain(function(){
                fx.start({'margin-top': 0})
            });
        })
    }

    // ADD EVENTS TO TOGGLER DIVS
    if (togglers = $$('a.togglers')) {
        togglers.addEvent('click', function(){
            this.toggleClass('closed');
            this.toggleClass('open');
            $(this.id + '-target').toggleClass('hidden');
        });
    }
    
    // search query blanker
    if (searchQ = $('search-q')) {
        searchQ.addEvent('focus', function() {
            this.value = (this.value=='Search') ? '' : this.value;
        });
        searchQ.addEvent('blur', function() {
            this.value = (this.value=='') ? 'Search' : this.value;
        });
    }

	// if ($('next') || $('prev')) {
	// 	window.addEvent('keydown', function(evt){
	// 	   if(evt.key=='j' && $('prev')) {location.href=$('prev').href;}
	// 	   if(evt.key=='k' && $('next')) {location.href=$('next').href;}
	// 	      // console.log(evt.key);
	// 	});
	// }
	// 
});

/* Nate's mootools functions for generic form validation */

// Tries to get field name from <label>, resorts to capitalized version of 
function getFieldName(field) {
    if ($(field.id+'-label')) {
        var fieldStr = $(field.id+'-label').innerHTML;
        // strip out <input /> tags (if the <input> is inside the <label> as it is in comments.php)
        fieldStr = fieldStr.replace(/<input[^>]+\/?>/g,'');
        // strip out <span>foo</span> fields and whatnot, such as (required) (not shown) in comments form
        fieldStr = fieldStr.replace(/<[^>]+>[^<]+<[^>]+>/g,'').trim();
        // strip out colons
        fieldStr = fieldStr.replace(/:$/g,'');
    } else {
        // use field's name if <label> can't be found
        var fieldStr = field.name.replace(/-/g,' ').trim().capitalize();
    }
    return fieldStr;
}

function isEmail(str) {
       var isEmail  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	return isEmail.test(str);
}

/*  Simple form validator -- checks for inputs with class 'required' -- also validates field 'email' if present */

function checkForm(formToCheck) {
	var errorReturn = '';
	var focusAfter = '';

	var reqFields = $(formToCheck).getElements('.required-field');
	reqFields.each(function(field){
		if (field.value.trim() == '') {
			focusAfter = (focusAfter == '') ? field : focusAfter; // Set focus to first error after check
			errorReturn += 'Please enter a value for ' + getFieldName(field) + ".\n";
		}
	});	
       
	var emailFields = $(formToCheck).getElements('.isEmail');
	emailFields.each(function(field){
   		if (!isEmail(field.value))
   		{
   			focusAfter = (focusAfter == '') ? field : focusAfter;
   			errorReturn += 'Please enter a valid email for ' + getFieldName(field) + ".\n";
   		}
    });	
	
	if (errorReturn != '')
	{
		alert(errorReturn);
		focusAfter.focus();
		return false;
	} else {
		return true;
	}
}
