(function(A){if(!A.fn.c1){A.fn.c1=function(C,B){if(this.c1[C]){return this.c1[C].call(this,B)}return this}}A.fn.c1.form=function(O){var M=A(this);O=A.extend({clean:"",cleantype:"default",cleanmap:{},placeholder:"input[title], textarea[title], input[placeholder], textarea[placeholder]"},O);var H=":not(:checkbox, :radio)";if(O["default"]){O.placeholder=O["default"]}if(O.cleantype=="default"){O.cleanmap={"[\u2018\u2019]":"'","[\u201C\u201D]":'"',"[\u2026]":"..."}}else{if(O.cleantype=="sms"){O.cleanmap={"[\u2018\u2019]":"'","[\u201C\u201D]":'"',"[\u2026]":"...","[^a-zA-Z0-9 !@#$%&*()\\-_+=:;'\",<.>/?]":"?"}}}function K(){var P=A(this).val();A.each(O.cleanmap,function(Q){P=P.replace(new RegExp(Q,"g"),this)});A(this).val(P).change()}if(O.clean){A(O.clean,this).filter(H).blur(K).each(function(){J=true;return false})}var J=false;if(O.placeholder){A(O.placeholder,this).filter(H).each(function(){if(A(this).attr("placeholder")==""){A(this).attr("placeholder",A(this).attr("title"));if(A(this).val()==A(this).attr("placeholder")||A(this).val()==A(this).attr("title")){A(this).val("")}}});if(!("placeholder" in document.createElement("input"))){O.removePlaceholder=true;A(O.placeholder,this).filter(H).focus(function(){if(A(this).is("select")){A(this).removeClass("empty")}else{if(A(this).val()==A(this).attr("placeholder")){A(this).removeClass("empty").val(A(this).hasClass("use-title")?A(this).attr("placeholder"):"")}}}).blur(function(){if(A(this).is("select")&&A(this).val()==""){A(this).addClass("empty")}else{if(A(this).val()==""||A(this).val()==A(this).attr("placeholder")){A(this).addClass("empty").val(A(this).attr("placeholder"))}}}).change(function(){A(this)[A(this).val()==A(this).attr("placeholder")?"addClass":"removeClass"]("empty")}).each(function(){J=true;A(this).blur()})}}if(O.dependencies){var M=A(this);function D(P,Q){return M.find('input[type="text"][name="'+P+'"], input[type="text"][name^="'+P+'["], input[type="radio"][name^="'+P+'"]'+(Q?":checked":"")+', input[type="checkbox"][name^="'+P+'"]'+(Q?":checked":"")+', select[name="'+P+'"], select[name^="'+P+'["], textarea[name="'+P+'"], textarea[name^="'+P+'["]')}function L(P,Q){if(O.values&&O.values[P]){return O.values[P]}return D(P,Q).val()}function F(P){var Q=P.split(" ");return Q[0]}function N(P){var Q=P.split(" ");return Q.length==1?"=":Q[1]}function E(Q){if(Q[0]){var P=false;A.each(Q,function(S,R){if(E(R)){P=true;return false}});return P}var P=true;A.each(Q,function(U,S){var T=L(F(U),true);var R=N(U);if(R=="="&&A.inArray(T,S)<0||R=="!="&&(T==null||A.inArray(T,S)>=0)){P=false;return false}});return P}function I(){A.each(O.dependencies,function(Q,P){var S=Q.substr(0,1);var R=(S==="#"||S===".")?M.find(Q):D(Q).closest(".field");R[E(P)?"show":"hide"]()})}var G={};function C(Q,P){A.each(P,function(T,R){var S=F(T);if(G[S]!=true){G[S]=true;D(S).change(function(){I()})}})}A.each(O.dependencies,function(Q,P){if(P[0]){A.each(P,function(S,R){C(Q,R)})}else{C(Q,P)}});I()}if(J){var B=A(this).is("form")?A(this):A(this).closest("form");B.submit(function(){if(O.removePlaceholder){A(O.placeholder,this).filter(H).each(function(){if(A(this).val()==A(this).attr("title")){A(this).val("")}})}if(O.convert){A(O.convert,this).each(convert)}})}return this};A.fn.c1.country=function(B){var C=A(this);if(B==null){B={}}B=A.extend({country:'select[name="country"]',state:'input[name="state"], select[name="state"]'},B);var D=C.find(B.country).change(function(){var E=A(this).val();A.fn.c1.country.load(E,function(I,F){if(E!=I){return }var G=C.find(B.state);var H=A("");H.attr("name",G.attr("name"));A.each(F.states,function(L,J){var K=A("").val(L).text(J);H.append(K)});if(H.find("option").length<=1&&H.find("option:first").val()==""){H=A('').attr("name",G.attr("name"))}H.val(G.val());G.replaceWith(H);if(B.fields){A.each(F.required,function(K,J){if(B.fields[K]){A(B.fields[K]).closest("tr, li").find("label.label em")[J?"show":"hide"]()}});A.each(F.labels,function(K,J){if(B.fields[K]){var M=A(B.fields[K]).closest("tr, li").find("label.label");var L=M.find("em");M.text(J+": ");M.append(L)}})}})}).change();return this};A.fn.c1.country.load=function(B,C){if(A.fn.c1.country._countries[B]){C.call(window,B,A.fn.c1.country._countries[B]);return true}A.c1.api({module:"system",controller:"tools",method:"country",data:{country:B,blank:""},success:function(D){A.fn.c1.country._countries[B]=D;C.call(window,B,A.fn.c1.country._countries[B])}})};A.fn.c1.country._countries={};A.fn.c1.grid=function(B){var C=A(this);function D(){C.find("> thead")[C.find("> tbody > tr").length>1?"show":"hide"]()}if(!B.count){B.count=A("tr").length+1}C.find("> tfoot button").click(function(){var F=A(this).closest("table").find("> tbody > tr.grid-template");var H=F.clone(true).removeClass("grid-template").attr("id","");H.find("input, select, textarea").each(function(){A(this).attr("name",A(this).attr("name").replace(B.name+"[-1]",B.name+"["+B.count+"]"))});var G=H.find(".ui-date");if(G.datepicker){G.each(function(){A(this).datepicker("destroy").attr("id","").datepicker({dateFormat:"dd-M-yy",changeYear:true})})}var E=H.find(".ui-input-object");if(E.c1browse){E.each(function(){var J=A(this);var I=J.c1browse("cloneOptions");var M=J.find('input[type="hidden"]').clone();var L=J.parent();var K=A("");K.append(M);J.replaceWith(K);K.c1browse(I)})}F.before(H);B.count++;D();return false});C.find("> tbody > tr > td > a.grid-remove").click(function(){A(this).closest("tr").remove();D();return false});C.find("> tbody").sortable({axis:"y",items:"> tr"});D();return this};A.fn.c1.ranking=function(B){var C=A(this);B=A.extend({items:".ranking-option"});C.find(B.items).css("cursor","pointer");C.sortable({items:B.items,placeholder:"ranking-placeholder",start:function(D,E){E.item.css("cursor","move")},stop:function(D,E){E.item.css("cursor","pointer")},update:function(E,F){var D=1;C.find(B.items).each(function(){A("select",this).val(D++)})}});return this};A.fn.c1.suburb=function(B){var C=A(this);if(typeof B=="string"){if(B=="search"){return C.autocomplete("search")}return this}B=A.extend({country:'select[name="country"]',state:'input[name="state"], select[name="state"]',postcode:'input[name="postcode"]'},B);var D={minLength:2,source:function(G,F){var H={term:G.term};var I=A(B.country).val();var E=[];A(B.state).find("option").each(function(){E.push(A(this).val())});if(B.limitTo&&!I&&E.length==0){if(B.limitTo.country){I=B.limitTo.country}if(B.limitTo.states){E=B.limitTo.states}}if(I){H.country=I}if(E.length>0){H.states=E}A.c1.api({module:"system",controller:"tools",method:"suburb",data:H,success:function(J){if(J.length==0&&B.empty){J=B.empty}F(J)}})},select:function(G,I){if(I.item){var F=C.closest("form");var E=F.find(B.postcode).val(I.item.postcode);var J=F.find(B.country).val(I.item.country);var H=F.find(B.state).val(I.item.state);if(H.val()!=I.item.state){H.append(A("").text(I.item.state).val(I.item.state)).val(I.item.state)}E.change();J.change();if(B.value){I.item.value=B.value;A.each(I.item,function(K,L){I.item.value=I.item.value.replace(K,L)})}}}};if(B.change){D.change=B.change}C.autocomplete(D);return this}})(jQuery);