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