﻿$=jQuery.noConflict();Viki=function(){};Viki.StripTags=function(a){return a.replace(/<\/?[^>]+>/gi,"")};Viki.IsSetup=!1;$(document).ready(function(){Viki.IsSetup||Viki.Setup();Viki.IsSetup=!0});Viki.Selector=function(a){if("object"!=typeof a||void 0==a)a=""==a||void 0==a?$(document.body):$(a);return a};jQuery.extend(jQuery.expr[":"],{reallyvisible:function(a){return!(jQuery(a).is(":hidden")||jQuery(a).parents(":hidden").length||"none"==jQuery(a).css("display"))}}); Viki.Exec=function(a,b){a&&""!=a&&("function"==typeof a&&(b?a(b):a()),"string"==typeof a&&eval(a))};function getRnd(a,b){var c=Math.random()*(b-a);return Math.round(c)+a}Viki.IsNullOrEmpty=function(a){return void 0==a||""==a}; Viki.SetupLive=function(a){$(a).find("form").live("submit",{},function(a){return Viki.SubmitForm(this,a)});$(a).find("[viki-action-click]").live("click",{},function(a){return Viki.SubmitAjaxForm(this,a)});$(a).find("[viki-submit], input[viki-action], a[viki-action]").live("click",{},function(a){return Viki.SubmitAjaxForm(this,a)});$(a).find("[viki-action-change]").vikilive("change",{},!0,function(a,c){return Viki.SubmitAjaxForm(a,c)});$(a).find("[viki-validation-change]").vikilive("change",{},!1, function(a,c){Viki.ValidationChange(a,c)});$(a).find("[viki-tabs]").live("click",{},function(a){return Viki.Tabs.Click(this,a)});Viki.Site.SetupLive&&Viki.Site.SetupLive(a)};Viki.SetupPartial=function(a){Viki.PartialLoader.Init(a);Viki.KeyPressDdl.Init();Viki.Watermark.Init();Viki.DataPicker.Init();VikiNamedPopupCloseClick.Init();VikiPopup.Init();Viki.Grid.Init();Viki.Site.SetupPartial&&Viki.Site.SetupPartial(a)};Viki.Setup=function(a){a=Viki.Selector(a);Viki.SetupLive(a);Viki.SetupPartial(a)}; Viki.Grid=function(){}; Viki.Grid.Init=function(){var a=0,b=$(".PLGMain").attr("viki-grid-color-hover");$(".PLGMain TR:has(td)").each(function(){a++;if(1<a){var c=a%2?"PLGAlternatingItemStyle":"PLGItemStyle";$(this).addClass(c);c=$(this).css("background-color");$(this).attr("viki-grid-color",c);$(this).hover(function(){$(this).animate({"background-color":b},200,function(){$(this).addClass("PLGOnMouseItemStyle")})},function(){$(this).animate({"background-color":$(this).attr("viki-grid-color")},200,function(){$(this).removeClass("PLGOnMouseItemStyle")})})}})}; Viki.PartialLoader=function(){};Viki.PartialLoader.Init=function(a){$(a).find("[viki-partial-loader]").each(function(){var a=$(this).attr("viki-partial-loader");Viki.AjaxMapTo($(this),a,null,!0,function(){$("[viki-partial-loader="+a+"]").removeClass("viki-partial-loader")},!1)})};Viki.TypeWatch=function(){var a=0;return function(b,c){clearTimeout(a);a=setTimeout(b,c)}}();Viki.KeyPressDdl=function(){}; Viki.KeyPressDdl.Init=function(){var a=Viki.Selector();$(a).find("[viki-keypress-ddl]").bind("keyup",function(a){return Viki.KeyPressDdl.KeyUp(this,a)});$(a).find("[viki-keypress-ddl]").mouseout(function(){$(this).nextAll("div.viki-keypress-ddl:first").css("display","none")});$(a).find("[viki-keypress-ddl]").focusin(function(){$(this).nextAll("div.viki-keypress-ddl:first").css("display","none")});$(a).find("div.viki-keypress-ddl").mouseover(function(){$(this).css("display","block")});$(a).find("div.viki-keypress-ddl").mouseout(function(){$(this).css("display", "none")})};Viki.KeyPressDdl.Sender=null;Viki.KeyPressDdl.KeyUp=function(a){Viki.KeyPressDdl.Sender=a;Viki.TypeWatch(function(){Viki.KeyPressDdl.KeyUpStart()},1E3);return!0}; Viki.KeyPressDdl.KeyUpStart=function(){var a=Viki.KeyPressDdl.Sender;$(a).nextAll("input:hidden:first").val("");var b=$(a).nextAll("div.viki-keypress-ddl:first");$(b).fadeOut();b=$(a).val();if(!b||1>=b.length)return!0;var c=$(a).attr("viki-keypress-ddl");$.ajax({url:Viki.UrlNoCach(c),dataType:"json",type:"POST",async:"async",data:{words:b},success:function(b){var c=$(a).nextAll("div.viki-keypress-ddl:first"),g=c.find("ul:first"),f="";if(null!==b.Values&&"undefined"!=typeof b.Values)for(var h=0;h< b.Values.length;h+=2)f+="<li><a href='#' viki-val='"+b.Values[h]+"' Title='"+Viki.StripTags(b.Values[h+1])+"'>"+b.Values[h+1]+"</a></li>";0<f.length&&(g.html(f),g.find("a").bind("click",function(){var a=$(this).parents("div.viki-keypress-ddl:first"),b=a.prevAll("input:hidden:first"),c=a.prevAll("input[viki-keypress-ddl]:first");c.val(Viki.StripTags($(this).html()));var d=$(this).attr("viki-val");b.attr("value",d);c.focus();$(a).fadeOut();return!1}),$(c).fadeIn())},error:function(){}});return!0}; Viki.FixIEIsWait=!1;Viki.FixIE=function(a,b,c){if(Viki.FixIEIsWait)return!1;Viki.FixIEIsWait=!0;c&&setTimeout(function(){var d=c(a,b);Viki.FixIEIsWait=!1;return d},200);return!0};(function(a){a.fn.extend({vikilive:function(b,c,d,e){a(this).live(b,c,function(b){b=Viki.FixIE(a(this),b,e);return d?b:!0})}})})(jQuery);Viki.Tabs=function(){};Viki.Tabs.Click=function(a){var b=$(a).attr("viki-tabs").split(" ");1<b.length&&($("."+b[0]).hide(),$("."+b[1]).fadeIn());return"A"==$(a)[0].tagName?!1:!0}; VikiPopup=function(){};VikiPopup.Init=function(){$(".viki-popup-button").mouseover(function(){$(this).next("div").fadeIn(300)});$(".viki-popup-button").mouseout(function(){$(this).next("div").css("display","none")});$(".viki-popup").mouseover(function(){$(this).css("display","block")});$(".viki-popup").mouseout(function(){$(this).css("display","none")})};VikiNamedPopupCloseClick=function(){}; VikiNamedPopupCloseClick.Init=function(){$("[viki-popup]").each(function(a,b){var c=$(b).attr("viki-popup"),d=$("."+c);void 0!=d&&(d.css("display","none"),$(b).bind("click",function(){$(d).is(":reallyvisible")?$(d).fadeOut():$(d).fadeIn();return!1}));c=$("."+c+"-close");void 0!=c&&c.bind("click",function(){$(d).fadeOut();return!1})})}; Viki.AddField=function(a,b,c){if(a=Viki.ParentActionSelector(a)){var d=$(a).find("#"+b);0==d.length?$(a).append("<input type='hidden' id='"+b+"' name='"+b+"' value='"+c+"' />"):$(d).val(c);return a}};Viki.SubmitWithField=function(a,b,c){(a=Viki.AddField($(a),b,c))&&("FORM"==$(a)[0].tagName?$(a).submit():Viki.SubmitAjaxForm(a));return!1};Viki.PadNumber=function(a){a=new String(a);1==a.length&&(a="0"+a);return a};Viki.DataPicker=function(){}; Viki.DataPicker.Init=function(){var a={showButtonPanel:!0,changeMonth:!0,changeYear:!0,beforeShowDay:function(a){var c=$(this).attr("id"),c=$("#"+c+"_AllowDates").val();if(void 0!=c){var d=Viki.PadNumber(a.getDate()),e=Viki.PadNumber(a.getMonth()+1),a=a.getFullYear();return 0<=c.indexOf(d+"."+e+"."+a)?[!0]:[!1]}return[!0]}};$.datepicker&&$.datepicker.setDefaults(a);$(".viki-datepicker").live("focusin",{},function(a){return Viki.DataPicker.Focus($(this),a)})}; Viki.DataPicker.Focus=function(a){if($(a).is(":data(datepicker)"))$(a).datepicker().focus();else{var b=$(a).attr("viki-datepicker_attr");void 0!=b?(b=eval("["+b+"]")[0],$(a).datepicker($.extend(b)).focus()):$(a).datepicker().focus()}return!0};Viki.Watermark=function(){}; Viki.Watermark.Init=function(){$(document.body).find("input:[viki-watermark]").live("focusin",{},function(){var a=$(this).attr("viki-watermark");$.trim($(this).val())===a&&$(this).val("")});$(document.body).find("input:[viki-watermark]").live("focusout",{},function(){Viki.Watermark.IsEmpty($(this))})};Viki.Watermark.IsEmpty=function(a){var b=a.attr("viki-watermark"),c=""===$.trim(a.val())||$.trim(a.val())===b;c&&a.val(b);return c}; Viki.AjaxLink=function(a){var a=$(a),b=a.attr("viki-ajax-type");b&&Viki.AjaxMapTo(a,a.attr("href"),null,"async"==b,null,!0);return!1};Viki.SubmitForm=function(a){var a=$(a),b=a.attr("viki-validator"),c=b?Validator.Check(b):!0;b&&a.attr("viki-validation-submitted","1");if(!c)return!1;return(b=a.attr("viki-ajax-type"))?(Viki.AjaxMapTo(a,a.attr("action"),Viki.Serialize(null,a),"async"==b,null,!0),!1):!0}; Viki.ParentActionSelector=function(a){var b=a.attr("viki-action-click");b||(b=a.attr("viki-action-change"));b||(b=a.attr("viki-action"));var c=a,c=a.parents('[viki-action="'+b+'"]');0==c.length&&(c=a.parents('[action="'+b+'"]'));0==c.length&&!b&&(c=a.parents("[viki-action]"));0==c.length&&!b&&(c=a.parents("form"));0==c.length&&(c=a);return c};Viki.Serialize=function(a,b){return a?$(a).serialize():$(b).find("input:not([viki-noserialize]), textarea:not([viki-noserialize]), select:not([viki-noserialize])").serialize()}; Viki.SubmitAjaxForm=function(a){var a=$(a),b=Viki.ParentActionSelector(a);a.attr("viki-submit")&&(a=b);var c=b.attr("viki-action-click");c||(c=b.attr("viki-action-change"));c||(c=b.attr("viki-action"));c||(c=b.attr("action"));var d=b.attr("viki-validator");if(d&&(b.attr("viki-validation-submitted","1"),!Validator.Check(d)))return!1;if(d=b.attr("viki-validation-change"))validselector=b.parents('[viki-validator="'+d+'"]'),0<validselector.length&&validselector.attr("viki-validation-submitted")&&Validator.Check(d); d=b.attr("viki-ajax-dataselector");d=Viki.Serialize(d,b);0==d.length&&(d=Viki.Serialize(null,b));var e=a.attr("viki-ajax-type");e||(e=b.attr("viki-ajax-type"));e?Viki.AjaxMapTo(a,c,d,"async"==e,null,!0):"FORM"==b[0].tagName&&$(b[0]).submit();return!1};Viki.ValidationChange=function(a){var a=$(a).attr("viki-validation-change"),b=$(document.body).find("[viki-validator="+a+"]");if(0==b.length)return!1;if(!$(b[0]).attr("viki-validation-submitted"))return!1;a&&Validator.Check(a);return!1}; Viki.UrlNoCach=function(a){return a+=(-1!=a.indexOf("?")?"&":"?")+"rnd="+Math.random()}; Viki.AjaxMapTo=function(a,b,c,d,e,g){var f;$.ajax({url:Viki.UrlNoCach(b),dataType:"json",type:"POST",async:d,data:c,success:function(b){if(null!==b.Redirect&&"undefined"!=typeof b.Redirect&&0<b.Redirect.length){var c=b.Redirect;setTimeout(function(){$(document.body).html("");location.href=c},200)}if(null!==b.Validation&&"undefined"!=typeof b.Validation){var d=b.Validation.Group;null!=d&&"undefined"!=typeof d&&0<d.length&&Validator.SetSummary(d,b.Validation.Messages,"{0}",!0)}if((d=a.attr("viki-ajax-update"))&& null!==b.Html&&"undefined"!=typeof b.Html){for(var e=d.split(";"),f=0;f<e.length;f++)b.Html.length>=f+1&&($(e[f]).html(b.Html[f]),$(e[f]).animate({opacity:0.1}).animate({opacity:1},function(){}));Viki.SetupPartial(d)}(d=a.attr("viki-ajax-on-success"))&&eval(d)(a,b)},beforeSend:function(){f=a;var b=a.attr("viki-ajax-on-begin");if(b&&!eval(b)(a))return!1;if(null==f)return!0;if("FORM"==$(a)[0].tagName||$(a).attr("viki-action"))f=$(a).find("input[type=submit], [viki-submit]"),$(f).attr("disabled","disabled"); else if("SELECT"==$(a)[0].tagName)$(f).attr("disabled","disabled");else if("A"==$(a)[0].tagName){f=a;if($(f).hasClass("viki-ajax-worked"))return!1;$(f).addClass("viki-ajax-worked")}var c=0;g&&$(f).each(function(){c++;var a=$(this).offset();Viki.IsNullOrEmpty($(this).attr("id"))&&$(this).attr("id","viki-ajax-"+getRnd(1,1E4));var b=$(this).attr("id")+"-wait",d=$("#"+b);if(void 0==d||0>=d.length){if(!Viki.IsNullOrEmpty($(this).attr("viki-ajax-float"))&&"right"==$(this).attr("viki-ajax-float"))a.left= a.left+35+$(this).outerWidth(!0);$(document.body).append('<div id="'+b+'" class="viki-ajax-wait" style="top:'+(a.top-3)+"px;left:"+(0>a.left-30?0:a.left-30)+'px"></div>');d=$("#"+b)}$(d).fadeIn()})},complete:function(){if(null!=a||null!=f){"FORM"==$(a)[0].tagName||"SELECT"==$(a)[0].tagName?$(f).removeAttr("disabled"):"A"==$(a)[0].tagName&&$(f).removeClass("viki-ajax-worked");var b=0;g&&$(f).each(function(){b++;var a=$(this).attr("id")+"-wait",a=$("#"+a);$(a).fadeOut();$(a).remove()})}Viki.Exec(e); var c=a.attr("viki-ajax-on-complete");c&&eval(c)(a)},error:function(a){500==a.status&&alert("\u0418\u0437\u0432\u0438\u043d\u0438\u0442\u0435, \u0441\u0435\u0440\u0432\u0438\u0441 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0437\u0430\u0439\u0442\u0438 \u0447\u0435\u0440\u0435\u0437 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0438\u043d\u0443\u0442.")}})}; var Validator={SetSummary:function(a,b,c,d){if(!(0>=b.length)){var e=$("["+a+"_summary]");if(e){$("["+a+"_summary] [custom]").remove();for(var g=0;g<b.length;g++){var f=b[g];e.append("<li custom='1' style='display:block'>"+c.replace("{0}",f.Text)+"</li>");""!=f.Key&&$("["+a+"_for="+f.Key+"]").addClass("err-field")}e.show(d?500:0);(a=$("[viki-validator="+a+"]"))&&a.attr("viki-validation-submitted","1")}}},GetValue:function(a){var b=$(a).attr("viki-watermark");if(b){var c=$(a).val();if($.trim(c)==$.trim(b))return""}return $(a).val()}, ValidateRequired:function(a,b,c){var d={lastRule:a.lastRule,isValid:a.isValid};if(a.isValid&&-1!=b.indexOf("required"))d.lastRule="required",d.isValid=!Validator.isEmpty(c);return d},ValidateMail:function(a,b,c){var d={lastRule:a.lastRule,isValid:a.isValid};if(a.isValid&&-1!=b.indexOf("email"))d.lastRule="email",d.isValid=!Validator.Test(c,/^([\w-+\.]+)@((?:[\w]+\.)+)([a-zA-Z]{2,4})$/);return d},ValidateRange:function(a,b,c){var d={lastRule:a.lastRule,isValid:a.isValid};if(a.isValid&&(-1!=b.indexOf("max[")|| -1!=b.indexOf("min["))){var e=b.indexOf("min["),a=b.indexOf("max[");if(d.isValid&&-1!=e){d.lastRule="min";var g=b.indexOf("]",e),e=parseInt(b.substring(e+4,g));if(!isNaN(e))d.isValid=Validator.isMin(c,e)}if(d.isValid&&-1!=a&&(d.lastRule="max",g=b.indexOf("]",a),b=parseInt(b.substring(a+4,g)),!isNaN(b)))d.isValid=Validator.isMax(c,b)}return d},ValidateInt:function(a,b,c){a={lastRule:a.lastRule,isValid:a.isValid};if(a.isValid&&-1!=b.indexOf("int")){a.lastRule="int";var d=parseInt(c);a.IsValid=!isNaN(d); if(a.isValid&&(a.isValid=d.toString().length==c.length,a.isValid&&(c=b.indexOf("int["),-1!=c))){var e=b.indexOf("]",c),e=b.substring(c+4,e).split(";"),g=Number.NaN,f=Number.NaN;1==e.length&&-1==b.indexOf(";",c)?g=parseFloat(e[0]):1==e.length&&-1!=b.indexOf(";",c)?f=parseFloat(e[0]):(g=parseFloat(e[0]),f=parseFloat(e[1]));if(!isNaN(g)&&d<g)a.isValid=!1;if(!isNaN(f)&&d>f)a.isValid=!1}}return a},ValidateDate:function(a,b,c){a={lastRule:a.lastRule,isValid:a.isValid};if(a.isValid&&-1!=b.indexOf("datetime")){a.lastRule= "datetime";for(var d=b.split(" "),b="",e=0;e<d.length;e++)if(-1!=d[e].indexOf("datetime")){b=d[e];break}d=b.indexOf("[");e=b.indexOf("]");if(-1!=d&&-1!=e){d=b.substring(d+1,b.length-1);b=d.split(",");d=0==b.length?d:b[0];e=2==b.length?b[1]:"";b=function(a){a=a.split(".");if(3==a.length){var b=new Date;b.setFullYear(a[2]);b.setMonth(a[1]);b.setDate(a[0]);b.setHours(0);b.setMinutes(0);b.setSeconds(0);b.setMilliseconds(0);return b}return""};d=""!=d?b(d):null;e=""!=e?b(e):null;if(a.isValid&&d)a.isValid= b(c)>=d;if(a.isValid&&e)a.isValid=b(c)<=e}else a.isValid=(new Date).setDate(c)}return a},ValidateCustom:function(a,b,c){var a={lastRule:a.lastRule,isValid:a.isValid},d=b.indexOf("custom_");if(a.isValid&&-1!=d){a.lastRule="custom_";b="Validator."+b.substring(d+7)+"("+c+")";try{a.isValid=eval(b)}catch(e){a.isValid=!0}}return a},CheckSet:function(a,b,c){$("["+a+"_summary] [custom]").remove();$("["+a+"_summary] > li").each(function(){if("none"!=$(this).css("display")){var b=$(this).attr(a+"_show_for"), b=$("["+a+"_item="+b+"]");(!b||0>=b.length)&&$(this).hide(0)}});var d=!0;c||(c=!1);d&&$(":input["+a+"]").each(function(){var e=!0;"hidden"!=$(this).attr("type")&&!1==$(this).is(":reallyvisible")&&(e=!1);$.isArray($(this).val())||$(this).val($.trim($(this).val()));var g=Validator.GetValue(this),f=$(this).attr(a),h={lastRule:"",isValid:!0};if(e)if(b)$(this).val("");else{h=Validator.ValidateRequired(h,f,"checkbox"==$(this).attr("type")&&!$(this).is(":checked")?"":g);h=Validator.ValidateMail(h,f,g);h= Validator.ValidateRange(h,f,g);h=Validator.ValidateInt(h,f,g);h=Validator.ValidateDate(h,f,g);h=Validator.ValidateCustom(h,f,g);if(e=$(this).attr(a+"_sameval")){h.lastRule="sameval";var i=Validator.GetValue(this);$(":input["+a+"_sameval:"+e+"]").each(function(){if(i!=Validator.GetValue(this))Validator.SetField(this,a,c,!1,""),h.IsValid=!1})}Validator.SetField(this,a,c,h.isValid,h.lastRule);d=d&&h.isValid}});$("["+a+"_show]").each(function(){$(this).attr(a+"_show_for")||Validator.ShowBlock(this,a, d)});return d},Check:function(a){return Validator.CheckSet(a,!1)},CheckBySelector:function(a){return Validator.CheckSet(a,!1,!0)},SetField:function(a,b,c,d,e){a=c?a.id:$(a).attr(b+"_item");c=$("["+b+"_for="+a+"]");d?c.removeClass("err-field"):c.addClass("err-field");$("["+b+"_show_for="+a+"]").each(function(){var a=$(this).attr(b+"_show_rules");a?-1!=a.indexOf(e)?Validator.ShowBlock(this,b,d):Validator.ShowBlock(this,b,!0):Validator.ShowBlock(this,b,d)})},ShowBlock:function(a,b,c){b=$(a).attr(b+"_show"); "none"==b&&$(a).css("display","none");"valid"==b&&$(a).css("display",c?"block":"none");"invalid"==b&&$(a).css("display",c?"none":"block");"invalid animation"==b&&(c?$(a).hide(0):$(a).show(500))},isMax:function(a,b){return a.length<=b},isMin:function(a,b){return a.length>=b},isEmpty:function(a){return a?0>=a.length:!0},Test:function(a,b){return!(""==a||RegExp(b).test(a))}};
