var dateFormat="d MMM yyyy";$.fn.valueText=function(A){return this.value(A,true)};$.fn.value=function(B,C){if(B!=undefined){B=B.split(", ");this.each(function(){switch(this.type){case"text":case"textarea":case"password":case"button":case"submit":case"hidden":this.value=B;break;case"checkbox":this.checked=$.inArray(this.value,B)>-1?"checked":"";break;case"select-one":case"select-multiple":for(var D=0;D<this.options.length;D++){this.options[D].selected=C||this.options[D].value==null?$.inArray(this.options[D].text,B)>-1:$.inArray(this.options[D].value,B)>-1?"selected":""}break;default:alert("value set type '"+this.type+"' not handled");break}})}else{var A=this.attr("tagName");B=[];this.each(function(){switch(this.type){case"text":case"textarea":case"password":case"button":case"submit":case"hidden":B.push(this.value);break;case"checkbox":if(this.checked){B.push(this.value)}break;case"select-one":case"select-multiple":for(var D=0;D<this.options.length;D++){if(this.options[D].selected){B.push((C||this.options[D].value==null)?this.options[D].text:this.options[D].value)}}break;default:alert("value get type '"+this.type+"' not handled");break}});return B}};function dataBindShowHide(B,A,C){A=B.find(A);C=$cv(C);A.attr("checked",C.css("display")!="none");A.change(function(){C.css("display",A.attr("checked")?"":"none");B.data("isChanged",true)})}function dataBind(C,B,E,A,F,D){B=C.find(B.concat(":input"));B.unbind("change",B.data("onChange")).unbind("keyup",B.data("onKeyup"));if(E){E=$cv(E);var G=A?E.attr(A):$.trim(E.html());B.valueText(G);if(F){F.value(E.html())}}B.data("onChange",function(){var H=B.valueText().join(", ");if(B.hasClass("date")||B.hasClass("monthYear")){if(H.length>0){if(H.isDate()){H=H.format(B.hasClass("monthYear")?"MMM yyyy":dateFormat);B.valueText(H)}}}if(E){if(A){E.attr(A,H)}else{E.html(H)}}C.data("isChanged",true);if(D){D(this,E)}}).bind("change",B.data("onChange")).data("onKeyup",function(){B.removeClass("invalid")}).bind("keyup",B.data("onKeyup"))}var newId=0;function dataBindList(O,F,H,E,M,N,C,D){var L=$cv(C).data("isTemplate",true);var J=function(){var P=L.clone().attr("id","NewItem_".concat(newId++)).attr("class","column").data("isAddRow",true);L.after(P);return P};if(!F.data("templateRow")){F.data("templateRow",F.contents(".listRow")).data("detailsHeight",H.height()).data("save",function(){var P=true;if(F.data("selectedRow")){F.data("selectedRow").data("isChanged",H.data("isChanged")).data("setTitle")()}F.find(".listRow").each(function(){if(!$(this).data("save")()){P=false;return false}});return P});H.css("opacity",0).css("height",0).css("display","").css("zIndex","1001").data("hide",function(){H.animate({height:0,opacity:0},{duration:250,easing:"swing"})}).data("show",function(){H.animate({height:K,opacity:1},{duration:500,easing:"swing",complete:function(){var P=K+H.offset().top-F.offset().top-F.height();if(P>0){F.animate({scrollTop:P},{duration:500,easing:"swing"})}}})});J()}var B=F.data("templateRow");var K=F.data("detailsHeight");var I=0;F.after(H).data("selectedRow",null).contents().remove();var G=function(R){if(D){var P=$("<a class='upButton tool'>&uarr;</a>");R.prepend(P);P.click(function(T){R.data("move")(-1);T.stopPropagation();return false});var Q=$("<a class='downButton tool'>&darr;</a>");R.prepend(Q);Q.click(function(T){R.data("move")(1);T.stopPropagation();return false})}var S=$("<a class='deleteButton tool'>&times;</a>");R.prepend(S);S.click(function(T){if(confirm("Delete '".concat(R.children(".title").text(),"'"))){R.data("deactivate")(true);H.animate({height:0},{duration:250,easing:"swing"});saveDelete(H,R)}T.stopPropagation();return false})};var A=function(S,Q){var U=B.clone();var R=U.find(".active:input");var T;T=S.attr("id");U.data("id",T.split("_")[1].replace("n","-"));if(S.data("isAddRow")){U.data("id",-U.data("id")).addClass("addRow");R.css("display","none").attr("checked","")}else{G(U);R.attr("name","Active_".concat(U.data("id")))}var P=$("<input class='index' name='index_".concat(U.data("id"),"' type='hidden' value='",I,"' />"));P.change(function(){O.data("isChanged",true)});U.data("index",I).data("item",S).addClass(T).data("save",function(){if(U.data("isChanged")){if(U!=F.data("selectedRow")){N(T)}if(save(H,U,function(){R.attr("name","Active_".concat(U.data("id"))).change();P.attr("name","Index_".concat(U.data("id")));save(O)})){if(S.data("isAddRow")){S.data("isAddRow",false);R.css("display","").attr("checked","checked");U.removeClass("addRow").data("activate")();G(U);A(J(),true)}return true}else{return false}}return true}).data("setTitle",function(){U.children(".title").text(M(S))}).data("activate",function(){S.css("display","")}).data("deactivate",function(V){if(V){S.remove()}else{if(!R.attr("checked")){S.css("display","none")}}}).data("move",function(W){if(U==F.data("selectedRow")){U.click()}if(W<0){W--}var V=U.data("index")+W;if(V<0){V=0}else{if(V>F.children().length){V=F.children().length}}F.children().eq(V).after(U);I=0;F.children().each(function(){var X=$(this);S.parent().append(X.data("item"));X.data("index",I).find(".index").val(I);I++});O.data("isChanged",true);U.removeClass("hover")}).data("isChanged",false);U.data("setTitle")();I++;U.append(P).contents(".row").click(function(V){V.stopPropagation()}).end().click(function(){if(F.data("selectedRow")){var V=F.data("selectedRow");if(H.data("isChanged")){V.data("isChanged",true).data("setTitle")();if(!V.data("save")()){return }}else{U.data("deactivate")()}V.removeClass("selected");H.data("hide")()}if(F.data("selectedRow")==U){F.data("selectedRow",null)}else{U.after(H).addClass("selected");F.data("selectedRow",U);H.data("isChanged",U.data("isChanged")).data("id",U.data("id"));U.data("activate")();cvScrollTo(T);H.validate();N(T);H.data("show")()}}).mouseover(function(){$(this).addClass("hover")}).mouseout(function(){$(this).removeClass("hover")});Q?F.prepend(U):F.append(U);dataBindShowHide(O,".".concat(T," .active"),"#".concat(T))};$cv(E).each(function(){var P=$(this);if(!P.data("isTemplate")){A(P)}})}function saveDelete(B,A){if(cvId==0){A.remove()}else{setStatus("saving changes...",statusTypes.working);$.ajax({type:"POST",dataType:"json",url:"/Build/Delete/".concat(cvId),data:"FormName="+B.attr("Name")+"&Id="+A.data("id"),success:function(C,D){if(C.Exception){setStatus("delete failed, ready",statusTypes.invalid,C.Exception)}else{A.remove();setStatus("deleted, ready");setStatus("")}},error:function(C,E,D){setStatus("delete error, please try again",statusTypes.invalid)},timeout:60000})}}var validationKeyupId;$.validator.setDefaults({errorClass:"invalid",errorLabelContainer:false,onkeyup:function(B){if(validationKeyupId){clearTimeout(validationKeyupId);validationKeyupId=null}if(B.name in this.submitted||B==this.lastElement){var A=this;validationKeyupId=setTimeout(function(){A.element(B)},2500)}},ignore:".ignore",showErrors:function(B,D){var C=[];for(var A=0;A<D.length;A++){C.push(D[A].message)}if(C.length>0){setStatus(C.join("<br />"),statusTypes.invalid);this.defaultShowErrors()}else{setStatus("")}}});$.validator.addMethod("monthYear",function(B,A){return(A.name=="EndDate"&&B=="current")||this.optional(A)||B.isDate()});function save(B,A,C){if(!B.validate().form()){return false}if(B.data("isChanged")&&cvId>0){setStatus("saving changes...",statusTypes.working);$.ajax({type:"POST",dataType:"json",url:"/Build/Save/".concat(cvId),data:"FormName=".concat(B.attr("Name"),(A?"&Id="+A.data("id"):""),"&",B.serialize()),success:function(D,E){if(D.Exception){setStatus("save failed {0}",statusTypes.invalid,D.Exception)}else{B.data("isChanged",false);if(A){A.data("isChanged",false);A.data("id",D.Id)}if(C){C(D.Id)}setStatus("changes saved, ready");setStatus("")}},error:function(D,F,E){setStatus("save error, please try again",statusTypes.invalid)},timeout:60000})}return true};