/**
 * nmcFormHelper plugin - v1.0.2
 * Author: Eli Van Zoeren
 * Copyright (c) 2009 New Media Campaigns
 * http://www.newmediacampaigns.com 
 **/
var nmcFormHelper={init:function(){nmcFormHelper.input_classes.init();var b=document.createElement("input");"placeholder"in b||nmcFormHelper.placeholder.init();"autofocus"in b||nmcFormHelper.autofocus.init();nmcFormHelper.validation.init()},input_classes:{init:function(){$(":input").each(function(){$(this).addClass("input-"+$(this).attr("type"))})}},placeholder:{styling:{color:"#aaa"},init:function(){$("[placeholder]").each(nmcFormHelper.placeholder.show).focus(nmcFormHelper.placeholder.hide).blur(nmcFormHelper.placeholder.show);
$("form").submit(function(){$("[placeholder]",this).each(function(){$input=$(this);$input.val()==$input.attr("placeholder")&&$input.val("");return true})})},show:function(){$input=$(this);if($input.val()==""){$input.val($input.attr("placeholder"));$input.css(nmcFormHelper.placeholder.styling)}},hide:function(){$input=$(this);if($input.val()==$input.attr("placeholder")){$input.val("");$input.css("color",null)}}},autofocus:{init:function(){$("[autofocus]").slice(0,1).focus()}},validation:{init:function(){$("form").submit(nmcFormHelper.validation.check)},
check:function(){$form=$(this);$invalidElements=$([]);var b=$("input, textarea",$form);b.removeClass("requiredError patternError");nmcFormHelper.validation.hideErrors(b);$("input[required], textarea[required]",$form).each(function(){var a=$(this);if(a.val()==""||a.val()==a.attr("placeholder")){a.addClass("requiredError");$invalidElements=$invalidElements.add(a)}});$("input[pattern], textarea[pattern]",$form).each(function(){var a=$(this);if(!(new RegExp("^(?:"+a.attr("pattern")+")$")).test(a.val())){a.addClass("patternError");
$invalidElements=$invalidElements.add(a)}});if($invalidElements.length>0){nmcFormHelper.validation.displayErrors($invalidElements);return false}},hideErrors:function(b){b.removeClass("hasError");b.siblings("label.errorMsg").remove()},displayErrors:function(b){b.each(function(){$this=$(this);var a=$this.attr("title")?$this.attr("title"):"There was an error with this field";$this.after('<label for="'+$this.attr("id")+'" class="errorMsg">'+a+"</label>")}).addClass("hasError")}}};