/* -------------------------------------------------- *
 * ToggleVal 3.0
 * Updated: 01/15/2010
 * -------------------------------------------------- *
 * Author: Aaron Kuzemchak
 * URL: http://aaronkuzemchak.com/
 * Copyright: 2008-2010 Aaron Kuzemchak
 * License: MIT License
** -------------------------------------------------- */
(function(a){a.fn.toggleVal=function(c){if(!c||typeof c=="object"){c=a.extend({},a.fn.toggleVal.defaults,c)}else{if(typeof c=="string"&&c.toLowerCase()=="destroy"){var b=true}}return this.each(function(){if(b){a(this).unbind("focus.toggleval").unbind("blur.toggleval").removeData("defText");return false}var d="";if(a(this).val()==""){switch(c.populateFrom){case"title":if(a(this).attr("title")){d=a(this).attr("title");a(this).val(d)}break;case"label":if(a(this).attr("id")){d=a('label[for="'+a(this).attr("id")+'"]').text();a(this).val(d)}break;case"custom":d=c.text;a(this).val(d);break;default:d=a(this).val()}a(this).addClass("toggleval").data("defText",d)}else{switch(c.populateFrom){case"title":if(a(this).attr("title")){d=a(this).attr("title")}break;case"label":if(a(this).attr("id")){d=a('label[for="'+a(this).attr("id")+'"]').text()}break;case"custom":d=c.text;break;default:d=a(this).val()}a(this).addClass(c.focusClass).data("defText",d)}if(c.removeLabels==true&&a(this).attr("id")){a('label[for="'+a(this).attr("id")+'"]').remove()}a(this).bind("focus.toggleval",function(){if(a(this).val()==a(this).data("defText")){a(this).val("")}a(this).addClass(c.focusClass)}).bind("blur.toggleval",function(){if(a(this).val()==""&&!c.sticky){a(this).addClass("toggleval").data("defText",d);a(this).val(a(this).data("defText"))}a(this).removeClass(c.focusClass);if(a(this).val()!=""&&a(this).val()!=a(this).data("defText")){a(this).addClass(c.changedClass)}else{a(this).removeClass(c.changedClass)}})})};a.fn.toggleVal.defaults={focusClass:"tv-focused",changedClass:"tv-changed",populateFrom:"default",text:null,removeLabels:false,sticky:false};a.extend(a.expr[":"],{toggleval:function(b){return a(b).data("defText")||false},changed:function(b){if(a(b).data("defText")&&a(b).val()!=a(b).data("defText")){return true}return false}})})(jQuery);
