(function(a){a.wikiword={build:function(d,b){a.log("called wikiword()");var c=a.extend({},a.fn.wikiword.defaults,b);var e=a(d);return this.each(function(){var g=a(this);var f=a.meta?a.extend({},c,g.data()):c;e.change(function(){a.wikiword.handleChange(e,g,f)}).keyup(function(){a.wikiword.handleChange(e,g,f)}).change()})},handleChange:function(d,e,c){var b="";d.each(function(){b+=a(this).is(":input")?a(this).val():a(this).text()});if(b||!c.initial){b=a.wikiword.wikify(b);if(c.suffix){b+=c.suffix}if(c.prefix){b=c.prefix+b}}else{b=c.initial}a.log("result="+b);e.each(function(){if(a(this).is(":input")){a(this).val(b)}else{a(this).text(b)}})},wikify:function(e){var b="";var c=0;for(var d=0;d<e.length;d++){c=e.charCodeAt(d);if(c==192||c==193||c==194||c==195){c="A"}else{if(c==196){b+="Ae"}else{if(c==197){b+="Aa"}else{if(c==198){b+="Ae"}else{if(c==199){b+="C"}else{if(c==200||c==201||c==202||c==203){b+="E"}else{if(c==204||c==205||c==206||c==207){b+="I"}else{if(c==208){b+="d"}else{if(c==209){b+="N"}else{if(c==210||c==211||c==212||c==213){b+="O"}else{if(c==214){b+="Oe"}else{if(c==216){b+="Oe"}else{if(c==217||c==218||c==219){b+="U"}else{if(c==220){b+="Ue"}else{if(c==221){b+="Y"}else{if(c==222){b+="P"}else{if(c==223){b+="ss"}else{if(c==224||c==225||c==226||c==227){b+="a"}else{if(c==228){b+="ae"}else{if(c==229){b+="aa"}else{if(c==230){b+="ae"}else{if(c==231){b+="c"}else{if(c==232||c==233||c==234||c==235){b+="e"}else{if(c==236||c==237||c==238||c==239){b+="i"}else{if(c==240){b+="d"}else{if(c==241){b+="n"}else{if(c==242||c==243||c==244||c==245){b+="o"}else{if(c==246){b+="oe"}else{if(c==248){b+="oe"}else{if(c==249||c==250||c==251){b+="u"}else{if(c==252){b+="ue"}else{if(c==253){b+="y"}else{if(c==254){b+="p"}else{if(c==255){b+="y"}else{b+=String.fromCharCode(c)}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}b=b.replace(/[a-zA-Z\d]+/g,function(f){return f.charAt(0).toLocaleUpperCase()+f.substr(1)});b=b.replace(/[^a-zA-Z\d]/g,"");b=b.replace(/\s/g,"");return b},defaults:{suffix:"",prefix:"",initial:""}};a(function(){a.fn.wikiword=a.wikiword.build})})(jQuery);