eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('9 u=k(){9 g=/^([^#.>`]*)(#|\\.|\\>|\\`)(.+)$/;k u(a,b){9 c=a.J(/\\s*\\,\\s*/);9 d=[];n(9 i=0;i<c.l;i++){d=d.v(o(c[i],b))};6 d};k o(a,b,c){a=a.z(" ","`");9 d=a.r(g);9 e,5,m,7,i,h;9 f=[];4(d==8){d=[a,a]};4(d[1]==""){d[1]="*"};4(c==8){c="`"};4(b==8){b=E};K(d[2]){w"#":7=d[3].r(g);4(7==8){7=[8,d[3]]};e=E.L(7[1]);4(e==8||(d[1]!="*"&&!x(e,d[1]))){6 f};4(7.l==2){f.A(e);6 f};6 o(7[3],e,7[2]);w".":4(c!=">"){5=p(b,d[1])}y{5=b.B};n(i=0,h=5.l;i<h;i++){e=5[i];4(e.C!=1){q};7=d[3].r(g);4(7!=8){4(e.j==8||e.j.r("(\\\\s|^)"+7[1]+"(\\\\s|$)")==8){q};m=o(7[3],e,7[2]);f=f.v(m)}y 4(e.j!=8&&e.j.r("(\\\\s|^)"+d[3]+"(\\\\s|$)")!=8){f.A(e)}};6 f;w">":4(c!=">"){5=p(b,d[1])}y{5=b.B};n(i=0,h=5.l;i<h;i++){e=5[i];4(e.C!=1){q};4(!x(e,d[1])){q};m=o(d[3],e,">");f=f.v(m)};6 f;w"`":5=p(b,d[1]);n(i=0,h=5.l;i<h;i++){e=5[i];m=o(d[3],e,"`");f=f.v(m)};6 f;M:4(c!=">"){5=p(b,d[1])}y{5=b.B};n(i=0,h=5.l;i<h;i++){e=5[i];4(e.C!=1){q};4(!x(e,d[1])){q};f.A(e)};6 f}};k p(a,b){4(b=="*"&&a.F!=8){6 a.F};6 a.p(b)};k x(a,b){4(b=="*"){6 N};6 a.O.G().z("P:","")==b.G()};6 u}();k Q(a,b){9 c=u(a);n(9 i=0;i<c.l;i++){c[i].R=k(){4(t.j.H(b)==-1){t.j+=" "+b}};c[i].S=k(){4(t.j.H(b)!=-1){t.j=t.j.z(b,"")}}}}4(D.I&&!D.T){D.I("U",V)}',58,58,'||||if|listNodes|return|subselector|null|var||||||||limit||className|function|length|listSubNodes|for|doParse|getElementsByTagName|continue|match||this|parseSelector|concat|case|matchNodeNames|else|replace|push|childNodes|nodeType|window|document|all|toLowerCase|indexOf|attachEvent|split|switch|getElementById|default|true|nodeName|html|hoverForIE6|onmouseover|onmouseout|opera|onload|ieHover'.split('|'),0,{})) 
 
function ieHover() { 
 hoverForIE6("#header .contacts .menu li, .datepicker", "hover"); 
}
﻿ 
 
jQuery(function($){
 $.datepicker.regional['af'] = {
 closeText: 'Selekteer',
 prevText: 'Vorige',
 nextText: 'Volgende',
 currentText: 'Vandag',
 monthNames: ['Januarie','Februarie','Maart','April','Mei','Junie',
 'Julie','Augustus','September','Oktober','November','Desember'],
 monthNamesShort: ['Jan', 'Feb', 'Mrt', 'Apr', 'Mei', 'Jun',
 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Des'],
 dayNames: ['Sondag', 'Maandag', 'Dinsdag', 'Woensdag', 'Donderdag', 'Vrydag', 'Saterdag'],
 dayNamesShort: ['Son', 'Maa', 'Din', 'Woe', 'Don', 'Vry', 'Sat'],
 dayNamesMin: ['So','Ma','Di','Wo','Do','Vr','Sa'],
 weekHeader: 'Wk',
 dateFormat: 'dd/mm/yy',
 firstDay: 1,
 isRTL: false,
 showMonthAfterYear: false,
 yearSuffix: ''};
 $.datepicker.setDefaults($.datepicker.regional['af']);
});
﻿ 
 
 
 
jQuery(function($){
 $.datepicker.regional['ar'] = {
 closeText: 'إغلاق',
 prevText: '&#x3c;السابق',
 nextText: 'التالي&#x3e;',
 currentText: 'اليوم',
 monthNames: ['كانون الثاني', 'شباط', 'آذار', 'نيسان', 'آذار', 'حزيران',
 'تموز', 'آب', 'أيلول', 'تشرين الأول', 'تشرين الثاني', 'كانون الأول'],
 monthNamesShort: ['1','2','3','4','5','6','7','8','9','10','11','12'],
 dayNames: ['السبت', 'الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة'],
 dayNamesShort: ['سبت', 'أحد', 'اثنين', 'ثلاثاء', 'أربعاء', 'خميس', 'جمعة'],
 dayNamesMin: ['سبت', 'أحد', 'اثنين', 'ثلاثاء', 'أربعاء', 'خميس', 'جمعة'],
 weekHeader: 'أسبوع',
 dateFormat: 'dd/mm/yy',
 firstDay: 0,
 isRTL: true,
 showMonthAfterYear: false,
 yearSuffix: ''};
 $.datepicker.setDefaults($.datepicker.regional['ar']);
});﻿ 
 
jQuery(function($) {
 $.datepicker.regional['az'] = {
 closeText: 'Bağla',
 prevText: '&#x3c;Geri',
 nextText: 'İrəli&#x3e;',
 currentText: 'Bugün',
 monthNames: ['Yanvar','Fevral','Mart','Aprel','May','İyun',
 'İyul','Avqust','Sentyabr','Oktyabr','Noyabr','Dekabr'],
 monthNamesShort: ['Yan','Fev','Mar','Apr','May','İyun',
 'İyul','Avq','Sen','Okt','Noy','Dek'],
 dayNames: ['Bazar','Bazar ertəsi','Çərşənbə axşamı','Çərşənbə','Cümə axşamı','Cümə','Şənbə'],
 dayNamesShort: ['B','Be','Ça','Ç','Ca','C','Ş'],
 dayNamesMin: ['B','B','Ç','С','Ç','C','Ş'],
 weekHeader: 'Hf',
 dateFormat: 'dd.mm.yy',
 firstDay: 1,
 isRTL: false,
 showMonthAfterYear: false,
 yearSuffix: ''};
 $.datepicker.setDefaults($.datepicker.regional['az']);
});﻿ 
 
jQuery(function($){
 $.datepicker.regional['bg'] = {
 closeText: 'затвори',
 prevText: '&#x3c;назад',
 nextText: 'напред&#x3e;',
 nextBigText: '&#x3e;&#x3e;',
 currentText: 'днес',
 monthNames: ['Януари','Февруари','Март','Април','Май','Юни',
 'Юли','Август','Септември','Октомври','Ноември','Декември'],
 monthNamesShort: ['Яну','Фев','Мар','Апр','Май','Юни',
 'Юли','Авг','Сеп','Окт','Нов','Дек'],
 dayNames: ['Неделя','Понеделник','Вторник','Сряда','Четвъртък','Петък','Събота'],
 dayNamesShort: ['Нед','Пон','Вто','Сря','Чет','Пет','Съб'],
 dayNamesMin: ['Не','По','Вт','Ср','Че','Пе','Съ'],
 weekHeader: 'Wk',
 dateFormat: 'dd.mm.yy',
 firstDay: 1,
 isRTL: false,
 showMonthAfterYear: false,
 yearSuffix: ''};
 $.datepicker.setDefaults($.datepicker.regional['bg']);
});
﻿ 
 
jQuery(function($){
 $.datepicker.regional['bs'] = {
 closeText: 'Zatvori', 
 prevText: '&#x3c;', 
 nextText: '&#x3e;', 
 currentText: 'Danas', 
 monthNames: ['Januar','Februar','Mart','April','Maj','Juni',
 'Juli','August','Septembar','Oktobar','Novembar','Decembar'],
 monthNamesShort: ['Jan','Feb','Mar','Apr','Maj','Jun',
 'Jul','Aug','Sep','Okt','Nov','Dec'],
 dayNames: ['Nedelja','Ponedeljak','Utorak','Srijeda','Četvrtak','Petak','Subota'],
 dayNamesShort: ['Ned','Pon','Uto','Sri','Čet','Pet','Sub'],
 dayNamesMin: ['Ne','Po','Ut','Sr','Če','Pe','Su'],
 weekHeader: 'Wk',
 dateFormat: 'dd.mm.yy',
 firstDay: 1,
 isRTL: false,
 showMonthAfterYear: false,
 yearSuffix: ''};
 $.datepicker.setDefaults($.datepicker.regional['bs']);
}); 
 
jQuery(function($){
 $.datepicker.regional['ca'] = {
 closeText: 'Tancar',
 prevText: '&#x3c;Ant',
 nextText: 'Seg&#x3e;',
 currentText: 'Avui',
 monthNames: ['Gener','Febrer','Mar&ccedil;','Abril','Maig','Juny',
 'Juliol','Agost','Setembre','Octubre','Novembre','Desembre'],
 monthNamesShort: ['Gen','Feb','Mar','Abr','Mai','Jun',
 'Jul','Ago','Set','Oct','Nov','Des'],
 dayNames: ['Diumenge','Dilluns','Dimarts','Dimecres','Dijous','Divendres','Dissabte'],
 dayNamesShort: ['Dug','Dln','Dmt','Dmc','Djs','Dvn','Dsb'],
 dayNamesMin: ['Dg','Dl','Dt','Dc','Dj','Dv','Ds'],
 weekHeader: 'Sm',
 dateFormat: 'dd/mm/yy',
 firstDay: 1,
 isRTL: false,
 showMonthAfterYear: false,
 yearSuffix: ''};
 $.datepicker.setDefaults($.datepicker.regional['ca']);
});﻿ 
 
jQuery(function($){
 $.datepicker.regional['cs'] = {
 closeText: 'Zavřít',
 prevText: '&#x3c;Dříve',
 nextText: 'Později&#x3e;',
 currentText: 'Nyní',
 monthNames: ['leden','únor','březen','duben','květen','červen',
 'červenec','srpen','září','říjen','listopad','prosinec'],
 monthNamesShort: ['led','úno','bře','dub','kvě','čer',
 'čvc','srp','zář','říj','lis','pro'],
 dayNames: ['neděle', 'pondělí', 'úterý', 'středa', 'čtvrtek', 'pátek', 'sobota'],
 dayNamesShort: ['ne', 'po', 'út', 'st', 'čt', 'pá', 'so'],
 dayNamesMin: ['ne','po','út','st','čt','pá','so'],
 weekHeader: 'Týd',
 dateFormat: 'dd.mm.yy',
 firstDay: 1,
 isRTL: false,
 showMonthAfterYear: false,
 yearSuffix: ''};
 $.datepicker.setDefaults($.datepicker.regional['cs']);
});
﻿ 
 
jQuery(function($){
 $.datepicker.regional['da'] = {
 closeText: 'Luk',
 prevText: '&#x3c;Forrige',
 nextText: 'Næste&#x3e;',
 currentText: 'Idag',
 monthNames: ['Januar','Februar','Marts','April','Maj','Juni',
 'Juli','August','September','Oktober','November','December'],
 monthNamesShort: ['Jan','Feb','Mar','Apr','Maj','Jun',
 'Jul','Aug','Sep','Okt','Nov','Dec'],
 dayNames: ['Søndag','Mandag','Tirsdag','Onsdag','Torsdag','Fredag','Lørdag'],
 dayNamesShort: ['Søn','Man','Tir','Ons','Tor','Fre','Lør'],
 dayNamesMin: ['Sø','Ma','Ti','On','To','Fr','Lø'],
 weekHeader: 'Uge',
 dateFormat: 'dd-mm-yy',
 firstDay: 1,
 isRTL: false,
 showMonthAfterYear: false,
 yearSuffix: ''};
 $.datepicker.setDefaults($.datepicker.regional['da']);
});
﻿ 
 
jQuery(function($){
 $.datepicker.regional['de'] = {
 closeText: 'schließen',
 prevText: '&#x3c;zurück',
 nextText: 'Vor&#x3e;',
 currentText: 'heute',
 monthNames: ['Januar','Februar','März','April','Mai','Juni',
 'Juli','August','September','Oktober','November','Dezember'],
 monthNamesShort: ['Jan','Feb','Mär','Apr','Mai','Jun',
 'Jul','Aug','Sep','Okt','Nov','Dez'],
 dayNames: ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'],
 dayNamesShort: ['So','Mo','Di','Mi','Do','Fr','Sa'],
 dayNamesMin: ['So','Mo','Di','Mi','Do','Fr','Sa'],
 weekHeader: 'Wo',
 dateFormat: 'dd.mm.yy',
 firstDay: 1,
 isRTL: false,
 showMonthAfterYear: false,
 yearSuffix: ''};
 $.datepicker.setDefaults($.datepicker.regional['de']);
});
﻿ 
 
jQuery(function($){
 $.datepicker.regional['el'] = {
 closeText: 'Κλείσιμο',
 prevText: 'Προηγούμενος',
 nextText: 'Επόμενος',
 currentText: 'Τρέχων Μήνας',
 monthNames: ['Ιανουάριος','Φεβρουάριος','Μάρτιος','Απρίλιος','Μάιος','Ιούνιος',
 'Ιούλιος','Αύγουστος','Σεπτέμβριος','Οκτώβριος','Νοέμβριος','Δεκέμβριος'],
 monthNamesShort: ['Ιαν','Φεβ','Μαρ','Απρ','Μαι','Ιουν',
 'Ιουλ','Αυγ','Σεπ','Οκτ','Νοε','Δεκ'],
 dayNames: ['Κυριακή','Δευτέρα','Τρίτη','Τετάρτη','Πέμπτη','Παρασκευή','Σάββατο'],
 dayNamesShort: ['Κυρ','Δευ','Τρι','Τετ','Πεμ','Παρ','Σαβ'],
 dayNamesMin: ['Κυ','Δε','Τρ','Τε','Πε','Πα','Σα'],
 weekHeader: 'Εβδ',
 dateFormat: 'dd/mm/yy',
 firstDay: 1,
 isRTL: false,
 showMonthAfterYear: false,
 yearSuffix: ''};
 $.datepicker.setDefaults($.datepicker.regional['el']);
});﻿ 
 
jQuery(function($){
 $.datepicker.regional['en'] = {
 closeText: 'Done',
 prevText: 'Prev',
 nextText: 'Next',
 currentText: 'Today',
 monthNames: ['January','February','March','April','May','June',
 'July','August','September','October','November','December'],
 monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
 dayNames: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
 dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
 dayNamesMin: ['Su','Mo','Tu','We','Th','Fr','Sa'],
 weekHeader: 'Wk',
 dateFormat: 'dd/mm/yy',
 firstDay: 1,
 isRTL: false,
 showMonthAfterYear: false,
 yearSuffix: ''};
 $.datepicker.setDefaults($.datepicker.regional['en']);
});
﻿ 
 
jQuery(function($){
 $.datepicker.regional['eo'] = {
 closeText: 'Fermi',
 prevText: '&lt;Anta',
 nextText: 'Sekv&gt;',
 currentText: 'Nuna',
 monthNames: ['Januaro','Februaro','Marto','Aprilo','Majo','Junio',
 'Julio','Aŭgusto','Septembro','Oktobro','Novembro','Decembro'],
 monthNamesShort: ['Jan','Feb','Mar','Apr','Maj','Jun',
 'Jul','Aŭg','Sep','Okt','Nov','Dec'],
 dayNames: ['Dimanĉo','Lundo','Mardo','Merkredo','Ĵaŭdo','Vendredo','Sabato'],
 dayNamesShort: ['Dim','Lun','Mar','Mer','Ĵaŭ','Ven','Sab'],
 dayNamesMin: ['Di','Lu','Ma','Me','Ĵa','Ve','Sa'],
 weekHeader: 'Sb',
 dateFormat: 'dd/mm/yy',
 firstDay: 0,
 isRTL: false,
 showMonthAfterYear: false,
 yearSuffix: ''};
 $.datepicker.setDefaults($.datepicker.regional['eo']);
});
 
 
jQuery(function($){
 $.datepicker.regional['es'] = {
 closeText: 'Cerrar',
 prevText: '&#x3c;Ant',
 nextText: 'Sig&#x3e;',
 currentText: 'Hoy',
 monthNames: ['Enero','Febrero','Marzo','Abril','Mayo','Junio',
 'Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre'],
 monthNamesShort: ['Ene','Feb','Mar','Abr','May','Jun',
 'Jul','Ago','Sep','Oct','Nov','Dic'],
 dayNames: ['Domingo','Lunes','Martes','Mi&eacute;rcoles','Jueves','Viernes','S&aacute;bado'],
 dayNamesShort: ['Dom','Lun','Mar','Mi&eacute;','Juv','Vie','S&aacute;b'],
 dayNamesMin: ['Do','Lu','Ma','Mi','Ju','Vi','S&aacute;'],
 weekHeader: 'Sm',
 dateFormat: 'dd/mm/yy',
 firstDay: 1,
 isRTL: false,
 showMonthAfterYear: false,
 yearSuffix: ''};
 $.datepicker.setDefaults($.datepicker.regional['es']);
});﻿ 
 
jQuery(function($){
 $.datepicker.regional['et'] = {
 closeText: 'Sulge',
 prevText: 'Eelnev',
 nextText: 'Järgnev',
 currentText: 'Täna',
 monthNames: ['Jaanuar','Veebruar','Märts','Aprill','Mai','Juuni',
 'Juuli','August','September','Oktoober','November','Detsember'],
 monthNamesShort: ['Jaan', 'Veebr', 'Märts', 'Apr', 'Mai', 'Juuni',
 'Juuli', 'Aug', 'Sept', 'Okt', 'Nov', 'Dets'],
 dayNames: ['Pühapäev', 'Esmaspäev', 'Teisipäev', 'Kolmapäev', 'Neljapäev', 'Reede', 'Laupäev'],
 dayNamesShort: ['Pühap', 'Esmasp', 'Teisip', 'Kolmap', 'Neljap', 'Reede', 'Laup'],
 dayNamesMin: ['P','E','T','K','N','R','L'],
 weekHeader: 'Sm',
 dateFormat: 'dd.mm.yy',
 firstDay: 1,
 isRTL: false,
 showMonthAfterYear: false,
 yearSuffix: ''};
 $.datepicker.setDefaults($.datepicker.regional['et']);
}); ﻿ 
 
jQuery(function($){
 $.datepicker.regional['eu'] = {
 closeText: 'Egina',
 prevText: '&#x3c;Aur',
 nextText: 'Hur&#x3e;',
 currentText: 'Gaur',
 monthNames: ['Urtarrila','Otsaila','Martxoa','Apirila','Maiatza','Ekaina',
 'Uztaila','Abuztua','Iraila','Urria','Azaroa','Abendua'],
 monthNamesShort: ['Urt','Ots','Mar','Api','Mai','Eka',
 'Uzt','Abu','Ira','Urr','Aza','Abe'],
 dayNames: ['Igandea','Astelehena','Asteartea','Asteazkena','Osteguna','Ostirala','Larunbata'],
 dayNamesShort: ['Iga','Ast','Ast','Ast','Ost','Ost','Lar'],
 dayNamesMin: ['Ig','As','As','As','Os','Os','La'],
 weekHeader: 'Wk',
 dateFormat: 'yy/mm/dd',
 firstDay: 1,
 isRTL: false,
 showMonthAfterYear: false,
 yearSuffix: ''};
 $.datepicker.setDefaults($.datepicker.regional['eu']);
});﻿ 
 
 
jQuery(function($) {
 $.datepicker.regional['fa'] = {
 closeText: 'بستن',
 prevText: '&#x3c;قبلي',
 nextText: 'بعدي&#x3e;',
 currentText: 'امروز',
 monthNames: ['فروردين','ارديبهشت','خرداد','تير','مرداد','شهريور',
 'مهر','آبان','آذر','دي','بهمن','اسفند'],
 monthNamesShort: ['1','2','3','4','5','6','7','8','9','10','11','12'],
 dayNames: ['يکشنبه','دوشنبه','سه‌شنبه','چهارشنبه','پنجشنبه','جمعه','شنبه'],
 dayNamesShort: ['ي','د','س','چ','پ','ج', 'ش'],
 dayNamesMin: ['ي','د','س','چ','پ','ج', 'ش'],
 weekHeader: 'هف',
 dateFormat: 'yy/mm/dd',
 firstDay: 6,
 isRTL: true,
 showMonthAfterYear: false,
 yearSuffix: ''};
 $.datepicker.setDefaults($.datepicker.regional['fa']);
}); 
 
jQuery(function($){
 $.datepicker.regional['fi'] = {
 closeText: 'Sulje',
 prevText: '&laquo;Edellinen',
 nextText: 'Seuraava&raquo;',
 currentText: 'T&auml;n&auml;&auml;n',
 monthNames: ['Tammikuu','Helmikuu','Maaliskuu','Huhtikuu','Toukokuu','Kes&auml;kuu',
 'Hein&auml;kuu','Elokuu','Syyskuu','Lokakuu','Marraskuu','Joulukuu'],
 monthNamesShort: ['Tammi','Helmi','Maalis','Huhti','Touko','Kes&auml;',
 'Hein&auml;','Elo','Syys','Loka','Marras','Joulu'],
 dayNamesShort: ['Su','Ma','Ti','Ke','To','Pe','Su'],
 dayNames: ['Sunnuntai','Maanantai','Tiistai','Keskiviikko','Torstai','Perjantai','Lauantai'],
 dayNamesMin: ['Su','Ma','Ti','Ke','To','Pe','La'],
 weekHeader: 'Vk',
 dateFormat: 'dd.mm.yy',
 firstDay: 1,
 isRTL: false,
 showMonthAfterYear: false,
 yearSuffix: ''};
 $.datepicker.setDefaults($.datepicker.regional['fi']);
});
﻿ 
 
jQuery(function($){
 $.datepicker.regional['fo'] = {
 closeText: 'Lat aftur',
 prevText: '&#x3c;Fyrra',
 nextText: 'Næsta&#x3e;',
 currentText: 'Í dag',
 monthNames: ['Januar','Februar','Mars','Apríl','Mei','Juni',
 'Juli','August','September','Oktober','November','Desember'],
 monthNamesShort: ['Jan','Feb','Mar','Apr','Mei','Jun',
 'Jul','Aug','Sep','Okt','Nov','Des'],
 dayNames: ['Sunnudagur','Mánadagur','Týsdagur','Mikudagur','Hósdagur','Fríggjadagur','Leyardagur'],
 dayNamesShort: ['Sun','Mán','Týs','Mik','Hós','Frí','Ley'],
 dayNamesMin: ['Su','Má','Tý','Mi','Hó','Fr','Le'],
 weekHeader: 'Vk',
 dateFormat: 'dd-mm-yy',
 firstDay: 0,
 isRTL: false,
 showMonthAfterYear: false,
 yearSuffix: ''};
 $.datepicker.setDefaults($.datepicker.regional['fo']);
});
﻿ 
 
jQuery(function($){
 $.datepicker.regional['fr-CH'] = {
 closeText: 'Fermer',
 prevText: '&#x3c;Préc',
 nextText: 'Suiv&#x3e;',
 currentText: 'Courant',
 monthNames: ['Janvier','Février','Mars','Avril','Mai','Juin',
 'Juillet','Août','Septembre','Octobre','Novembre','Décembre'],
 monthNamesShort: ['Jan','Fév','Mar','Avr','Mai','Jun',
 'Jul','Aoû','Sep','Oct','Nov','Déc'],
 dayNames: ['Dimanche','Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi'],
 dayNamesShort: ['Dim','Lun','Mar','Mer','Jeu','Ven','Sam'],
 dayNamesMin: ['Di','Lu','Ma','Me','Je','Ve','Sa'],
 weekHeader: 'Sm',
 dateFormat: 'dd.mm.yy',
 firstDay: 1,
 isRTL: false,
 showMonthAfterYear: false,
 yearSuffix: ''};
 $.datepicker.setDefaults($.datepicker.regional['fr-CH']);
});﻿ 
 
jQuery(function($){
 $.datepicker.regional['fr'] = {
 closeText: 'Fermer',
 prevText: '&#x3c;Préc',
 nextText: 'Suiv&#x3e;',
 currentText: 'Courant',
 monthNames: ['Janvier','Février','Mars','Avril','Mai','Juin',
 'Juillet','Août','Septembre','Octobre','Novembre','Décembre'],
 monthNamesShort: ['Jan','Fév','Mar','Avr','Mai','Jun',
 'Jul','Aoû','Sep','Oct','Nov','Déc'],
 dayNames: ['Dimanche','Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi'],
 dayNamesShort: ['Dim','Lun','Mar','Mer','Jeu','Ven','Sam'],
 dayNamesMin: ['Di','Lu','Ma','Me','Je','Ve','Sa'],
 weekHeader: 'Sm',
 dateFormat: 'dd/mm/yy',
 firstDay: 1,
 isRTL: false,
 showMonthAfterYear: false,
 yearSuffix: ''};
 $.datepicker.setDefaults($.datepicker.regional['fr']);
});﻿ 
 
jQuery(function($){
 $.datepicker.regional['he'] = {
 closeText: 'סגור',
 prevText: '&#x3c;הקודם',
 nextText: 'הבא&#x3e;',
 currentText: 'היום',
 monthNames: ['ינואר','פברואר','מרץ','אפריל','מאי','יוני',
 'יולי','אוגוסט','ספטמבר','אוקטובר','נובמבר','דצמבר'],
 monthNamesShort: ['1','2','3','4','5','6',
 '7','8','9','10','11','12'],
 dayNames: ['ראשון','שני','שלישי','רביעי','חמישי','שישי','שבת'],
 dayNamesShort: ['א\'','ב\'','ג\'','ד\'','ה\'','ו\'','שבת'],
 dayNamesMin: ['א\'','ב\'','ג\'','ד\'','ה\'','ו\'','שבת'],
 weekHeader: 'Wk',
 dateFormat: 'dd/mm/yy',
 firstDay: 0,
 isRTL: true,
 showMonthAfterYear: false,
 yearSuffix: ''};
 $.datepicker.setDefaults($.datepicker.regional['he']);
});
﻿ 
 
jQuery(function($){
 $.datepicker.regional['hr'] = {
 closeText: 'Zatvori',
 prevText: '&#x3c;',
 nextText: '&#x3e;',
 currentText: 'Danas',
 monthNames: ['Siječanj','Veljača','Ožujak','Travanj','Svibanj','Lipanj',
 'Srpanj','Kolovoz','Rujan','Listopad','Studeni','Prosinac'],
 monthNamesShort: ['Sij','Velj','Ožu','Tra','Svi','Lip',
 'Srp','Kol','Ruj','Lis','Stu','Pro'],
 dayNames: ['Nedjelja','Ponedjeljak','Utorak','Srijeda','Četvrtak','Petak','Subota'],
 dayNamesShort: ['Ned','Pon','Uto','Sri','Čet','Pet','Sub'],
 dayNamesMin: ['Ne','Po','Ut','Sr','Če','Pe','Su'],
 weekHeader: 'Tje',
 dateFormat: 'dd.mm.yy.',
 firstDay: 1,
 isRTL: false,
 showMonthAfterYear: false,
 yearSuffix: ''};
 $.datepicker.setDefaults($.datepicker.regional['hr']);
}); 
 
jQuery(function($){
 $.datepicker.regional['hu'] = {
 closeText: 'bezárás',
 prevText: '&laquo;&nbsp;vissza',
 nextText: 'előre&nbsp;&raquo;',
 currentText: 'ma',
 monthNames: ['Január', 'Február', 'Március', 'Április', 'Május', 'Június',
 'Július', 'Augusztus', 'Szeptember', 'Október', 'November', 'December'],
 monthNamesShort: ['Jan', 'Feb', 'Már', 'Ápr', 'Máj', 'Jún',
 'Júl', 'Aug', 'Szep', 'Okt', 'Nov', 'Dec'],
 dayNames: ['Vasárnap', 'Hétfö', 'Kedd', 'Szerda', 'Csütörtök', 'Péntek', 'Szombat'],
 dayNamesShort: ['Vas', 'Hét', 'Ked', 'Sze', 'Csü', 'Pén', 'Szo'],
 dayNamesMin: ['V', 'H', 'K', 'Sze', 'Cs', 'P', 'Szo'],
 weekHeader: 'Hé',
 dateFormat: 'yy-mm-dd',
 firstDay: 1,
 isRTL: false,
 showMonthAfterYear: false,
 yearSuffix: ''};
 $.datepicker.setDefaults($.datepicker.regional['hu']);
});
 
 
jQuery(function($){
 $.datepicker.regional['hy'] = {
 closeText: 'Փակել',
 prevText: '&#x3c;Նախ.',
 nextText: 'Հաջ.&#x3e;',
 currentText: 'Այսօր',
 monthNames: ['Հունվար','Փետրվար','Մարտ','Ապրիլ','Մայիս','Հունիս',
 'Հուլիս','Օգոստոս','Սեպտեմբեր','Հոկտեմբեր','Նոյեմբեր','Դեկտեմբեր'],
 monthNamesShort: ['Հունվ','Փետր','Մարտ','Ապր','Մայիս','Հունիս',
 'Հուլ','Օգս','Սեպ','Հոկ','Նոյ','Դեկ'],
 dayNames: ['կիրակի','եկուշաբթի','երեքշաբթի','չորեքշաբթի','հինգշաբթի','ուրբաթ','շաբաթ'],
 dayNamesShort: ['կիր','երկ','երք','չրք','հնգ','ուրբ','շբթ'],
 dayNamesMin: ['կիր','երկ','երք','չրք','հնգ','ուրբ','շբթ'],
 weekHeader: 'ՇԲՏ',
 dateFormat: 'dd.mm.yy',
 firstDay: 1,
 isRTL: false,
 showMonthAfterYear: false,
 yearSuffix: ''};
 $.datepicker.setDefaults($.datepicker.regional['hy']);
}); 
 
jQuery(function($){
 $.datepicker.regional['id'] = {
 closeText: 'Tutup',
 prevText: '&#x3c;mundur',
 nextText: 'maju&#x3e;',
 currentText: 'hari ini',
 monthNames: ['Januari','Februari','Maret','April','Mei','Juni',
 'Juli','Agustus','September','Oktober','Nopember','Desember'],
 monthNamesShort: ['Jan','Feb','Mar','Apr','Mei','Jun',
 'Jul','Agus','Sep','Okt','Nop','Des'],
 dayNames: ['Minggu','Senin','Selasa','Rabu','Kamis','Jumat','Sabtu'],
 dayNamesShort: ['Min','Sen','Sel','Rab','kam','Jum','Sab'],
 dayNamesMin: ['Mg','Sn','Sl','Rb','Km','jm','Sb'],
 weekHeader: 'Mg',
 dateFormat: 'dd/mm/yy',
 firstDay: 0,
 isRTL: false,
 showMonthAfterYear: false,
 yearSuffix: ''};
 $.datepicker.setDefaults($.datepicker.regional['id']);
}); 
 
jQuery(function($){
 $.datepicker.regional['is'] = {
 closeText: 'Loka',
 prevText: '&#x3c; Fyrri',
 nextText: 'N&aelig;sti &#x3e;',
 currentText: '&Iacute; dag',
 monthNames: ['Jan&uacute;ar','Febr&uacute;ar','Mars','Apr&iacute;l','Ma&iacute','J&uacute;n&iacute;',
 'J&uacute;l&iacute;','&Aacute;g&uacute;st','September','Okt&oacute;ber','N&oacute;vember','Desember'],
 monthNamesShort: ['Jan','Feb','Mar','Apr','Ma&iacute;','J&uacute;n',
 'J&uacute;l','&Aacute;g&uacute;','Sep','Okt','N&oacute;v','Des'],
 dayNames: ['Sunnudagur','M&aacute;nudagur','&THORN;ri&eth;judagur','Mi&eth;vikudagur','Fimmtudagur','F&ouml;studagur','Laugardagur'],
 dayNamesShort: ['Sun','M&aacute;n','&THORN;ri','Mi&eth;','Fim','F&ouml;s','Lau'],
 dayNamesMin: ['Su','M&aacute;','&THORN;r','Mi','Fi','F&ouml;','La'],
 weekHeader: 'Vika',
 dateFormat: 'dd/mm/yy',
 firstDay: 0,
 isRTL: false,
 showMonthAfterYear: false,
 yearSuffix: ''};
 $.datepicker.setDefaults($.datepicker.regional['is']);
}); 
 
jQuery(function($){
 $.datepicker.regional['it'] = {
 closeText: 'Chiudi',
 prevText: '&#x3c;Prec',
 nextText: 'Succ&#x3e;',
 currentText: 'Oggi',
 monthNames: ['Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno',
 'Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre'],
 monthNamesShort: ['Gen','Feb','Mar','Apr','Mag','Giu',
 'Lug','Ago','Set','Ott','Nov','Dic'],
 dayNames: ['Domenica','Luned&#236','Marted&#236','Mercoled&#236','Gioved&#236','Venerd&#236','Sabato'],
 dayNamesShort: ['Dom','Lun','Mar','Mer','Gio','Ven','Sab'],
 dayNamesMin: ['Do','Lu','Ma','Me','Gi','Ve','Sa'],
 weekHeader: 'Sm',
 dateFormat: 'dd/mm/yy',
 firstDay: 1,
 isRTL: false,
 showMonthAfterYear: false,
 yearSuffix: ''};
 $.datepicker.setDefaults($.datepicker.regional['it']);
});
﻿ 
 
jQuery(function($){
 $.datepicker.regional['ja'] = {
 closeText: '閉じる',
 prevText: '&#x3c;前',
 nextText: '次&#x3e;',
 currentText: '今日',
 monthNames: ['1月','2月','3月','4月','5月','6月',
 '7月','8月','9月','10月','11月','12月'],
 monthNamesShort: ['1月','2月','3月','4月','5月','6月',
 '7月','8月','9月','10月','11月','12月'],
 dayNames: ['日曜日','月曜日','火曜日','水曜日','木曜日','金曜日','土曜日'],
 dayNamesShort: ['日','月','火','水','木','金','土'],
 dayNamesMin: ['日','月','火','水','木','金','土'],
 weekHeader: '週',
 dateFormat: 'yy/mm/dd',
 firstDay: 0,
 isRTL: false,
 showMonthAfterYear: true,
 yearSuffix: '年'};
 $.datepicker.setDefaults($.datepicker.regional['ja']);
}); 
 
jQuery(function($){
 $.datepicker.regional['ko'] = {
 closeText: '닫기',
 prevText: '이전달',
 nextText: '다음달',
 currentText: '오늘',
 monthNames: ['1월(JAN)','2월(FEB)','3월(MAR)','4월(APR)','5월(MAY)','6월(JUN)',
 '7월(JUL)','8월(AUG)','9월(SEP)','10월(OCT)','11월(NOV)','12월(DEC)'],
 monthNamesShort: ['1월(JAN)','2월(FEB)','3월(MAR)','4월(APR)','5월(MAY)','6월(JUN)',
 '7월(JUL)','8월(AUG)','9월(SEP)','10월(OCT)','11월(NOV)','12월(DEC)'],
 dayNames: ['일','월','화','수','목','금','토'],
 dayNamesShort: ['일','월','화','수','목','금','토'],
 dayNamesMin: ['일','월','화','수','목','금','토'],
 weekHeader: 'Wk',
 dateFormat: 'yy-mm-dd',
 firstDay: 0,
 isRTL: false,
 showMonthAfterYear: false,
 yearSuffix: '년'};
 $.datepicker.setDefaults($.datepicker.regional['ko']);
}); 
 
jQuery(function($){
 $.datepicker.regional['kz'] = {
 closeText: 'Жабу',
 prevText: '&#x3c;Алдыңғы',
 nextText: 'Келесі&#x3e;',
 currentText: 'Бүгін',
 monthNames: ['Қаңтар','Ақпан','Наурыз','Сәуір','Мамыр','Маусым',
 'Шілде','Тамыз','Қыркүйек','Қазан','Қараша','Желтоқсан'],
 monthNamesShort: ['Қаң','Ақп','Нау','Сәу','Мам','Мау',
 'Шіл','Там','Қыр','Қаз','Қар','Жел'],
 dayNames: ['Жексенбі','Дүйсенбі','Сейсенбі','Сәрсенбі','Бейсенбі','Жұма','Сенбі'],
 dayNamesShort: ['жкс','дсн','ссн','срс','бсн','жма','снб'],
 dayNamesMin: ['Жк','Дс','Сс','Ср','Бс','Жм','Сн'],
 weekHeader: 'Не',
 dateFormat: 'dd.mm.yy',
 firstDay: 1,
 isRTL: false,
 showMonthAfterYear: false,
 yearSuffix: ''};
 $.datepicker.setDefaults($.datepicker.regional['kz']);
});
 
 
jQuery(function($){
 $.datepicker.regional['lt'] = {
 closeText: 'Uždaryti',
 prevText: '&#x3c;Atgal',
 nextText: 'Pirmyn&#x3e;',
 currentText: 'Šiandien',
 monthNames: ['Sausis','Vasaris','Kovas','Balandis','Gegužė','Birželis',
 'Liepa','Rugpjūtis','Rugsėjis','Spalis','Lapkritis','Gruodis'],
 monthNamesShort: ['Sau','Vas','Kov','Bal','Geg','Bir',
 'Lie','Rugp','Rugs','Spa','Lap','Gru'],
 dayNames: ['sekmadienis','pirmadienis','antradienis','trečiadienis','ketvirtadienis','penktadienis','šeštadienis'],
 dayNamesShort: ['sek','pir','ant','tre','ket','pen','šeš'],
 dayNamesMin: ['Se','Pr','An','Tr','Ke','Pe','Še'],
 weekHeader: 'Wk',
 dateFormat: 'yy-mm-dd',
 firstDay: 1,
 isRTL: false,
 showMonthAfterYear: false,
 yearSuffix: ''};
 $.datepicker.setDefaults($.datepicker.regional['lt']);
}); 
 
jQuery(function($){
 $.datepicker.regional['lv'] = {
 closeText: 'Aizvērt',
 prevText: 'Iepr',
 nextText: 'Nāka',
 currentText: 'Šodien',
 monthNames: ['Janvāris','Februāris','Marts','Aprīlis','Maijs','Jūnijs',
 'Jūlijs','Augusts','Septembris','Oktobris','Novembris','Decembris'],
 monthNamesShort: ['Jan','Feb','Mar','Apr','Mai','Jūn',
 'Jūl','Aug','Sep','Okt','Nov','Dec'],
 dayNames: ['svētdiena','pirmdiena','otrdiena','trešdiena','ceturtdiena','piektdiena','sestdiena'],
 dayNamesShort: ['svt','prm','otr','tre','ctr','pkt','sst'],
 dayNamesMin: ['Sv','Pr','Ot','Tr','Ct','Pk','Ss'],
 weekHeader: 'Nav',
 dateFormat: 'dd-mm-yy',
 firstDay: 1,
 isRTL: false,
 showMonthAfterYear: false,
 yearSuffix: ''};
 $.datepicker.setDefaults($.datepicker.regional['lv']);
}); 
 
jQuery(function($){
 $.datepicker.regional['ms'] = {
 closeText: 'Tutup',
 prevText: '&#x3c;Sebelum',
 nextText: 'Selepas&#x3e;',
 currentText: 'hari ini',
 monthNames: ['Januari','Februari','Mac','April','Mei','Jun',
 'Julai','Ogos','September','Oktober','November','Disember'],
 monthNamesShort: ['Jan','Feb','Mac','Apr','Mei','Jun',
 'Jul','Ogo','Sep','Okt','Nov','Dis'],
 dayNames: ['Ahad','Isnin','Selasa','Rabu','Khamis','Jumaat','Sabtu'],
 dayNamesShort: ['Aha','Isn','Sel','Rab','kha','Jum','Sab'],
 dayNamesMin: ['Ah','Is','Se','Ra','Kh','Ju','Sa'],
 weekHeader: 'Mg',
 dateFormat: 'dd/mm/yy',
 firstDay: 0,
 isRTL: false,
 showMonthAfterYear: false,
 yearSuffix: ''};
 $.datepicker.setDefaults($.datepicker.regional['ms']);
});﻿ 
 
jQuery(function($){
 $.datepicker.regional.nl = {
 closeText: 'Sluiten',
 prevText: '←',
 nextText: '→',
 currentText: 'Vandaag',
 monthNames: ['januari', 'februari', 'maart', 'april', 'mei', 'juni',
 'juli', 'augustus', 'september', 'oktober', 'november', 'december'],
 monthNamesShort: ['jan', 'feb', 'maa', 'apr', 'mei', 'jun',
 'jul', 'aug', 'sep', 'okt', 'nov', 'dec'],
 dayNames: ['zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag'],
 dayNamesShort: ['zon', 'maa', 'din', 'woe', 'don', 'vri', 'zat'],
 dayNamesMin: ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'],
 weekHeader: 'Wk',
 dateFormat: 'dd/mm/yy',
 firstDay: 1,
 isRTL: false,
 showMonthAfterYear: false,
 yearSuffix: ''};
 $.datepicker.setDefaults($.datepicker.regional.nl);
}); 
 
jQuery(function($){
 $.datepicker.regional['no'] = {
 closeText: 'Lukk',
 prevText: '&laquo;Forrige',
 nextText: 'Neste&raquo;',
 currentText: 'I dag',
 monthNames: ['Januar','Februar','Mars','April','Mai','Juni',
 'Juli','August','September','Oktober','November','Desember'],
 monthNamesShort: ['Jan','Feb','Mar','Apr','Mai','Jun',
 'Jul','Aug','Sep','Okt','Nov','Des'],
 dayNamesShort: ['Søn','Man','Tir','Ons','Tor','Fre','Lør'],
 dayNames: ['Søndag','Mandag','Tirsdag','Onsdag','Torsdag','Fredag','Lørdag'],
 dayNamesMin: ['Sø','Ma','Ti','On','To','Fr','Lø'],
 weekHeader: 'Uke',
 dateFormat: 'yy-mm-dd',
 firstDay: 0,
 isRTL: false,
 showMonthAfterYear: false,
 yearSuffix: ''};
 $.datepicker.setDefaults($.datepicker.regional['no']);
});
 
 
jQuery(function($){
 $.datepicker.regional['pl'] = {
 closeText: 'Zamknij',
 prevText: '&#x3c;Poprzedni',
 nextText: 'Następny&#x3e;',
 currentText: 'Dziś',
 monthNames: ['Styczeń','Luty','Marzec','Kwiecień','Maj','Czerwiec',
 'Lipiec','Sierpień','Wrzesień','Październik','Listopad','Grudzień'],
 monthNamesShort: ['Sty','Lu','Mar','Kw','Maj','Cze',
 'Lip','Sie','Wrz','Pa','Lis','Gru'],
 dayNames: ['Niedziela','Poniedziałek','Wtorek','Środa','Czwartek','Piątek','Sobota'],
 dayNamesShort: ['Nie','Pn','Wt','Śr','Czw','Pt','So'],
 dayNamesMin: ['N','Pn','Wt','Śr','Cz','Pt','So'],
 weekHeader: 'Tydz',
 dateFormat: 'dd.mm.yy',
 firstDay: 1,
 isRTL: false,
 showMonthAfterYear: false,
 yearSuffix: ''};
 $.datepicker.setDefaults($.datepicker.regional['pl']);
});
 
 
jQuery(function($){
 $.datepicker.regional['pt-BR'] = {
 closeText: 'Fechar',
 prevText: '&#x3c;Anterior',
 nextText: 'Pr&oacute;ximo&#x3e;',
 currentText: 'Hoje',
 monthNames: ['Janeiro','Fevereiro','Mar&ccedil;o','Abril','Maio','Junho',
 'Julho','Agosto','Setembro','Outubro','Novembro','Dezembro'],
 monthNamesShort: ['Jan','Fev','Mar','Abr','Mai','Jun',
 'Jul','Ago','Set','Out','Nov','Dez'],
 dayNames: ['Domingo','Segunda-feira','Ter&ccedil;a-feira','Quarta-feira','Quinta-feira','Sexta-feira','S&aacute;bado'],
 dayNamesShort: ['Dom','Seg','Ter','Qua','Qui','Sex','S&aacute;b'],
 dayNamesMin: ['Dom','Seg','Ter','Qua','Qui','Sex','S&aacute;b'],
 weekHeader: 'Sm',
 dateFormat: 'dd/mm/yy',
 firstDay: 0,
 isRTL: false,
 showMonthAfterYear: false,
 yearSuffix: ''};
 $.datepicker.setDefaults($.datepicker.regional['pt-BR']);
});﻿ 
jQuery(function($){
 $.datepicker.regional['ro'] = {
 closeText: 'Închide',
 prevText: '&laquo; Luna precedentă',
 nextText: 'Luna următoare &raquo;',
 currentText: 'Azi',
 monthNames: ['Ianuarie','Februarie','Martie','Aprilie','Mai','Iunie',
 'Iulie','August','Septembrie','Octombrie','Noiembrie','Decembrie'],
 monthNamesShort: ['Ian', 'Feb', 'Mar', 'Apr', 'Mai', 'Iun',
 'Iul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
 dayNames: ['Duminică', 'Luni', 'Marţi', 'Miercuri', 'Joi', 'Vineri', 'Sâmbătă'],
 dayNamesShort: ['Dum', 'Lun', 'Mar', 'Mie', 'Joi', 'Vin', 'Sâm'],
 dayNamesMin: ['Du','Lu','Ma','Mi','Jo','Vi','Sâ'],
 weekHeader: 'Săpt',
 dateFormat: 'dd.mm.yy',
 firstDay: 1,
 isRTL: false,
 showMonthAfterYear: false,
 yearSuffix: ''};
 $.datepicker.setDefaults($.datepicker.regional['ro']);
});
 
 
jQuery(function($){
 $.datepicker.regional['ru'] = {
 closeText: 'Закрыть',
 prevText: '&#x3c;Пред',
 nextText: 'След&#x3e;',
 currentText: 'Сегодня',
 monthNames: ['Январь','Февраль','Март','Апрель','Май','Июнь',
 'Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'],
 monthNamesShort: ['Янв','Фев','Мар','Апр','Май','Июн',
 'Июл','Авг','Сен','Окт','Ноя','Дек'],
 dayNames: ['воскресенье','понедельник','вторник','среда','четверг','пятница','суббота'],
 dayNamesShort: ['вск','пнд','втр','срд','чтв','птн','сбт'],
 dayNamesMin: ['Вс','Пн','Вт','Ср','Чт','Пт','Сб'],
 weekHeader: 'Не',
 dateFormat: 'dd.mm.yy',
 firstDay: 1,
 isRTL: false,
 showMonthAfterYear: false,
 yearSuffix: ''};
 $.datepicker.setDefaults($.datepicker.regional['ru']);
}); 
 
jQuery(function($){
 $.datepicker.regional['sk'] = {
 closeText: 'Zavrieť',
 prevText: '&#x3c;Predchádzajúci',
 nextText: 'Nasledujúci&#x3e;',
 currentText: 'Dnes',
 monthNames: ['Január','Február','Marec','Apríl','Máj','Jún',
 'Júl','August','September','Október','November','December'],
 monthNamesShort: ['Jan','Feb','Mar','Apr','Máj','Jún',
 'Júl','Aug','Sep','Okt','Nov','Dec'],
 dayNames: ['Nedel\'a','Pondelok','Utorok','Streda','Štvrtok','Piatok','Sobota'],
 dayNamesShort: ['Ned','Pon','Uto','Str','Štv','Pia','Sob'],
 dayNamesMin: ['Ne','Po','Ut','St','Št','Pia','So'],
 weekHeader: 'Ty',
 dateFormat: 'dd.mm.yy',
 firstDay: 1,
 isRTL: false,
 showMonthAfterYear: false,
 yearSuffix: ''};
 $.datepicker.setDefaults($.datepicker.regional['sk']);
});
 
 
 
jQuery(function($){
 $.datepicker.regional['sl'] = {
 closeText: 'Zapri',
 prevText: '&lt;Prej&#x161;nji',
 nextText: 'Naslednji&gt;',
 currentText: 'Trenutni',
 monthNames: ['Januar','Februar','Marec','April','Maj','Junij',
 'Julij','Avgust','September','Oktober','November','December'],
 monthNamesShort: ['Jan','Feb','Mar','Apr','Maj','Jun',
 'Jul','Avg','Sep','Okt','Nov','Dec'],
 dayNames: ['Nedelja','Ponedeljek','Torek','Sreda','&#x10C;etrtek','Petek','Sobota'],
 dayNamesShort: ['Ned','Pon','Tor','Sre','&#x10C;et','Pet','Sob'],
 dayNamesMin: ['Ne','Po','To','Sr','&#x10C;e','Pe','So'],
 weekHeader: 'Teden',
 dateFormat: 'dd.mm.yy',
 firstDay: 1,
 isRTL: false,
 showMonthAfterYear: false,
 yearSuffix: ''};
 $.datepicker.setDefaults($.datepicker.regional['sl']);
});
﻿ 
 
jQuery(function($){
 $.datepicker.regional['sq'] = {
 closeText: 'mbylle',
 prevText: '&#x3c;mbrapa',
 nextText: 'Përpara&#x3e;',
 currentText: 'sot',
 monthNames: ['Janar','Shkurt','Mars','Prill','Maj','Qershor',
 'Korrik','Gusht','Shtator','Tetor','Nëntor','Dhjetor'],
 monthNamesShort: ['Jan','Shk','Mar','Pri','Maj','Qer',
 'Kor','Gus','Sht','Tet','Nën','Dhj'],
 dayNames: ['E Diel','E Hënë','E Martë','E Mërkurë','E Enjte','E Premte','E Shtune'],
 dayNamesShort: ['Di','Hë','Ma','Më','En','Pr','Sh'],
 dayNamesMin: ['Di','Hë','Ma','Më','En','Pr','Sh'],
 weekHeader: 'Ja',
 dateFormat: 'dd.mm.yy',
 firstDay: 1,
 isRTL: false,
 showMonthAfterYear: false,
 yearSuffix: ''};
 $.datepicker.setDefaults($.datepicker.regional['sq']);
});
﻿ 
 
jQuery(function($){
 $.datepicker.regional['sr-SR'] = {
 closeText: 'Zatvori',
 prevText: '&#x3c;',
 nextText: '&#x3e;',
 currentText: 'Danas',
 monthNames: ['Januar','Februar','Mart','April','Maj','Jun',
 'Jul','Avgust','Septembar','Oktobar','Novembar','Decembar'],
 monthNamesShort: ['Jan','Feb','Mar','Apr','Maj','Jun',
 'Jul','Avg','Sep','Okt','Nov','Dec'],
 dayNames: ['Nedelja','Ponedeljak','Utorak','Sreda','Četvrtak','Petak','Subota'],
 dayNamesShort: ['Ned','Pon','Uto','Sre','Čet','Pet','Sub'],
 dayNamesMin: ['Ne','Po','Ut','Sr','Če','Pe','Su'],
 weekHeader: 'Sed',
 dateFormat: 'dd/mm/yy',
 firstDay: 1,
 isRTL: false,
 showMonthAfterYear: false,
 yearSuffix: ''};
 $.datepicker.setDefaults($.datepicker.regional['sr-SR']);
});
﻿ 
 
jQuery(function($){
 $.datepicker.regional['sr'] = {
 closeText: 'Затвори',
 prevText: '&#x3c;',
 nextText: '&#x3e;',
 currentText: 'Данас',
 monthNames: ['Јануар','Фебруар','Март','Април','Мај','Јун',
 'Јул','Август','Септембар','Октобар','Новембар','Децембар'],
 monthNamesShort: ['Јан','Феб','Мар','Апр','Мај','Јун',
 'Јул','Авг','Сеп','Окт','Нов','Дец'],
 dayNames: ['Недеља','Понедељак','Уторак','Среда','Четвртак','Петак','Субота'],
 dayNamesShort: ['Нед','Пон','Уто','Сре','Чет','Пет','Суб'],
 dayNamesMin: ['Не','По','Ут','Ср','Че','Пе','Су'],
 weekHeader: 'Сед',
 dateFormat: 'dd/mm/yy',
 firstDay: 1,
 isRTL: false,
 showMonthAfterYear: false,
 yearSuffix: ''};
 $.datepicker.setDefaults($.datepicker.regional['sr']);
});
﻿ 
 
jQuery(function($){
 $.datepicker.regional['sv'] = {
 closeText: 'Stäng',
 prevText: '&laquo;Förra',
 nextText: 'Nästa&raquo;',
 currentText: 'Idag',
 monthNames: ['Januari','Februari','Mars','April','Maj','Juni',
 'Juli','Augusti','September','Oktober','November','December'],
 monthNamesShort: ['Jan','Feb','Mar','Apr','Maj','Jun',
 'Jul','Aug','Sep','Okt','Nov','Dec'],
 dayNamesShort: ['Sön','Mån','Tis','Ons','Tor','Fre','Lör'],
 dayNames: ['Söndag','Måndag','Tisdag','Onsdag','Torsdag','Fredag','Lördag'],
 dayNamesMin: ['Sö','Må','Ti','On','To','Fr','Lö'],
 weekHeader: 'Ve',
 dateFormat: 'yy-mm-dd',
 firstDay: 1,
 isRTL: false,
 showMonthAfterYear: false,
 yearSuffix: ''};
 $.datepicker.setDefaults($.datepicker.regional['sv']);
});
﻿ 
 
jQuery(function($){
 $.datepicker.regional['ta'] = {
 closeText: 'மூடு',
 prevText: 'முன்னையது',
 nextText: 'அடுத்தது',
 currentText: 'இன்று',
 monthNames: ['தை','மாசி','பங்குனி','சித்திரை','வைகாசி','ஆனி',
 'ஆடி','ஆவணி','புரட்டாசி','ஐப்பசி','கார்த்திகை','மார்கழி'],
 monthNamesShort: ['தை','மாசி','பங்','சித்','வைகா','ஆனி',
 'ஆடி','ஆவ','புர','ஐப்','கார்','மார்'],
 dayNames: ['ஞாயிற்றுக்கிழமை','திங்கட்கிழமை','செவ்வாய்க்கிழமை','புதன்கிழமை','வியாழக்கிழமை','வெள்ளிக்கிழமை','சனிக்கிழமை'],
 dayNamesShort: ['ஞாயிறு','திங்கள்','செவ்வாய்','புதன்','வியாழன்','வெள்ளி','சனி'],
 dayNamesMin: ['ஞா','தி','செ','பு','வி','வெ','ச'],
 weekHeader: 'Не',
 dateFormat: 'dd/mm/yy',
 firstDay: 1,
 isRTL: false,
 showMonthAfterYear: false,
 yearSuffix: ''};
 $.datepicker.setDefaults($.datepicker.regional['ta']);
});
﻿ 
 
jQuery(function($){
 $.datepicker.regional['th'] = {
 closeText: 'ปิด',
 prevText: '&laquo;&nbsp;ย้อน',
 nextText: 'ถัดไป&nbsp;&raquo;',
 currentText: 'วันนี้',
 monthNames: ['มกราคม','กุมภาพันธ์','มีนาคม','เมษายน','พฤษภาคม','มิถุนายน',
 'กรกฏาคม','สิงหาคม','กันยายน','ตุลาคม','พฤศจิกายน','ธันวาคม'],
 monthNamesShort: ['ม.ค.','ก.พ.','มี.ค.','เม.ย.','พ.ค.','มิ.ย.',
 'ก.ค.','ส.ค.','ก.ย.','ต.ค.','พ.ย.','ธ.ค.'],
 dayNames: ['อาทิตย์','จันทร์','อังคาร','พุธ','พฤหัสบดี','ศุกร์','เสาร์'],
 dayNamesShort: ['อา.','จ.','อ.','พ.','พฤ.','ศ.','ส.'],
 dayNamesMin: ['อา.','จ.','อ.','พ.','พฤ.','ศ.','ส.'],
 weekHeader: 'Wk',
 dateFormat: 'dd/mm/yy',
 firstDay: 0,
 isRTL: false,
 showMonthAfterYear: false,
 yearSuffix: ''};
 $.datepicker.setDefaults($.datepicker.regional['th']);
}); 
 
jQuery(function($){
 $.datepicker.regional['tr'] = {
 closeText: 'kapat',
 prevText: '&#x3c;geri',
 nextText: 'ileri&#x3e',
 currentText: 'bugün',
 monthNames: ['Ocak','Şubat','Mart','Nisan','Mayıs','Haziran',
 'Temmuz','Ağustos','Eylül','Ekim','Kasım','Aralık'],
 monthNamesShort: ['Oca','Şub','Mar','Nis','May','Haz',
 'Tem','Ağu','Eyl','Eki','Kas','Ara'],
 dayNames: ['Pazar','Pazartesi','Salı','Çarşamba','Perşembe','Cuma','Cumartesi'],
 dayNamesShort: ['Pz','Pt','Sa','Ça','Pe','Cu','Ct'],
 dayNamesMin: ['Pz','Pt','Sa','Ça','Pe','Cu','Ct'],
 weekHeader: 'Hf',
 dateFormat: 'dd.mm.yy',
 firstDay: 1,
 isRTL: false,
 showMonthAfterYear: false,
 yearSuffix: ''};
 $.datepicker.setDefaults($.datepicker.regional['tr']);
}); 
 
jQuery(function($){
 $.datepicker.regional['uk'] = {
 closeText: 'Закрити',
 prevText: '&#x3c;',
 nextText: '&#x3e;',
 currentText: 'Сьогодні',
 monthNames: ['Січень','Лютий','Березень','Квітень','Травень','Червень',
 'Липень','Серпень','Вересень','Жовтень','Листопад','Грудень'],
 monthNamesShort: ['Січ','Лют','Бер','Кві','Тра','Чер',
 'Лип','Сер','Вер','Жов','Лис','Гру'],
 dayNames: ['неділя','понеділок','вівторок','середа','четвер','п’ятниця','субота'],
 dayNamesShort: ['нед','пнд','вів','срд','чтв','птн','сбт'],
 dayNamesMin: ['Нд','Пн','Вт','Ср','Чт','Пт','Сб'],
 weekHeader: 'Не',
 dateFormat: 'dd/mm/yy',
 firstDay: 1,
 isRTL: false,
 showMonthAfterYear: false,
 yearSuffix: ''};
 $.datepicker.setDefaults($.datepicker.regional['uk']);
});﻿ 
 
jQuery(function($){
 $.datepicker.regional['vi'] = {
 closeText: 'Đóng',
 prevText: '&#x3c;Trước',
 nextText: 'Tiếp&#x3e;',
 currentText: 'Hôm nay',
 monthNames: ['Tháng Một', 'Tháng Hai', 'Tháng Ba', 'Tháng Tư', 'Tháng Năm', 'Tháng Sáu',
 'Tháng Bảy', 'Tháng Tám', 'Tháng Chín', 'Tháng Mười', 'Tháng Mười Một', 'Tháng Mười Hai'],
 monthNamesShort: ['Tháng 1', 'Tháng 2', 'Tháng 3', 'Tháng 4', 'Tháng 5', 'Tháng 6',
 'Tháng 7', 'Tháng 8', 'Tháng 9', 'Tháng 10', 'Tháng 11', 'Tháng 12'],
 dayNames: ['Chủ Nhật', 'Thứ Hai', 'Thứ Ba', 'Thứ Tư', 'Thứ Năm', 'Thứ Sáu', 'Thứ Bảy'],
 dayNamesShort: ['CN', 'T2', 'T3', 'T4', 'T5', 'T6', 'T7'],
 dayNamesMin: ['CN', 'T2', 'T3', 'T4', 'T5', 'T6', 'T7'],
 weekHeader: 'Tu',
 dateFormat: 'dd/mm/yy',
 firstDay: 0,
 isRTL: false,
 showMonthAfterYear: false,
 yearSuffix: ''};
 $.datepicker.setDefaults($.datepicker.regional['vi']);
});
 
 
jQuery(function($){
 $.datepicker.regional['zh-CN'] = {
 closeText: '关闭',
 prevText: '&#x3c;上月',
 nextText: '下月&#x3e;',
 currentText: '今天',
 monthNames: ['一月','二月','三月','四月','五月','六月',
 '七月','八月','九月','十月','十一月','十二月'],
 monthNamesShort: ['一','二','三','四','五','六',
 '七','八','九','十','十一','十二'],
 dayNames: ['星期日','星期一','星期二','星期三','星期四','星期五','星期六'],
 dayNamesShort: ['周日','周一','周二','周三','周四','周五','周六'],
 dayNamesMin: ['日','一','二','三','四','五','六'],
 weekHeader: '周',
 dateFormat: 'yy-mm-dd',
 firstDay: 1,
 isRTL: false,
 showMonthAfterYear: true,
 yearSuffix: '年'};
 $.datepicker.setDefaults($.datepicker.regional['zh-CN']);
});
 
 
jQuery(function($){
 $.datepicker.regional['zh-HK'] = {
 closeText: '關閉',
 prevText: '&#x3c;上月',
 nextText: '下月&#x3e;',
 currentText: '今天',
 monthNames: ['一月','二月','三月','四月','五月','六月',
 '七月','八月','九月','十月','十一月','十二月'],
 monthNamesShort: ['一','二','三','四','五','六',
 '七','八','九','十','十一','十二'],
 dayNames: ['星期日','星期一','星期二','星期三','星期四','星期五','星期六'],
 dayNamesShort: ['周日','周一','周二','周三','周四','周五','周六'],
 dayNamesMin: ['日','一','二','三','四','五','六'],
 weekHeader: '周',
 dateFormat: 'dd-mm-yy',
 firstDay: 0,
 isRTL: false,
 showMonthAfterYear: true,
 yearSuffix: '年'};
 $.datepicker.setDefaults($.datepicker.regional['zh-HK']);
});
﻿ 
 
jQuery(function($){
 $.datepicker.regional['zh-TW'] = {
 closeText: '關閉',
 prevText: '&#x3c;上月',
 nextText: '下月&#x3e;',
 currentText: '今天',
 monthNames: ['一月','二月','三月','四月','五月','六月',
 '七月','八月','九月','十月','十一月','十二月'],
 monthNamesShort: ['一','二','三','四','五','六',
 '七','八','九','十','十一','十二'],
 dayNames: ['星期日','星期一','星期二','星期三','星期四','星期五','星期六'],
 dayNamesShort: ['周日','周一','周二','周三','周四','周五','周六'],
 dayNamesMin: ['日','一','二','三','四','五','六'],
 weekHeader: '周',
 dateFormat: 'yy/mm/dd',
 firstDay: 1,
 isRTL: false,
 showMonthAfterYear: true,
 yearSuffix: '年'};
 $.datepicker.setDefaults($.datepicker.regional['zh-TW']);
});

 
;(function($){var m=$.scrollTo=function(b,h,f){$(window).scrollTo(b,h,f)};m.defaults={axis:'xy',duration:parseFloat($.fn.jquery)>=1.3?0:1};m.window=function(b){return $(window).scrollable()};$.fn.scrollable=function(){return this.map(function(){var b=this,h=!b.nodeName||$.inArray(b.nodeName.toLowerCase(),['iframe','#document','html','body'])!=-1;if(!h)return b;var f=(b.contentWindow||b).document||b.ownerDocument||b;return $.browser.safari||f.compatMode=='BackCompat'?f.body:f.documentElement})};$.fn.scrollTo=function(l,j,a){if(typeof j=='object'){a=j;j=0}if(typeof a=='function')a={onAfter:a};if(l=='max')l=9e9;a=$.extend({},m.defaults,a);j=j||a.speed||a.duration;a.queue=a.queue&&a.axis.length>1;if(a.queue)j/=2;a.offset=n(a.offset);a.over=n(a.over);return this.scrollable().each(function(){var k=this,o=$(k),d=l,p,g={},q=o.is('html,body');switch(typeof d){case'number':case'string':if(/^([+-]=)?\d+(\.\d+)?(px)?$/.test(d)){d=n(d);break}d=$(d,this);case'object':if(d.is||d.style)p=(d=$(d)).offset()}$.each(a.axis.split(''),function(b,h){var f=h=='x'?'Left':'Top',i=f.toLowerCase(),c='scroll'+f,r=k[c],s=h=='x'?'Width':'Height';if(p){g[c]=p[i]+(q?0:r-o.offset()[i]);if(a.margin){g[c]-=parseInt(d.css('margin'+f))||0;g[c]-=parseInt(d.css('border'+f+'Width'))||0}g[c]+=a.offset[i]||0;if(a.over[i])g[c]+=d[s.toLowerCase()]()*a.over[i]}else g[c]=d[i];if(/^\d+$/.test(g[c]))g[c]=g[c]<=0?0:Math.min(g[c],u(s));if(!b&&a.queue){if(r!=g[c])t(a.onAfterFirst);delete g[c]}});t(a.onAfter);function t(b){o.animate(g,j,a.easing,b&&function(){b.call(this,l,a)})};function u(b){var h='scroll'+b;if(!q)return k[h];var f='client'+b,i=k.ownerDocument.documentElement,c=k.ownerDocument.body;return Math.max(i[h],c[h])-Math.min(i[f],c[f])}}).end()};function n(b){return typeof b=='object'?b:{top:b,left:b}}})(jQuery);
 
 
(function($) { 
 $.fn.validationEngineLanguage = function() {}; 
 $.validationEngineLanguage = { 
 newLang: function() { 
 $.validationEngineLanguage.allRules = { 
 "required":{ // Add your regex rules here, you can take telephone as an example 
 "regex":"none", 
 "alertText":"Заполните поле", 
 "alertTextCheckboxMultiple":"Пожалуйста выберите один из вариантов", 
 "alertTextCheckboxe":"Выбор является обязательным"}, 
 "length":{ 
 "regex":"none", 
 "alertText":"Допустимая длина от ", 
 "alertText2":" до ", 
 "alertText3": " символов"}, 
 "maxCheckbox":{ 
 "regex":"none", 
 "alertText":"* Checks allowed Exceeded"}, 
 "minCheckbox":{ 
 "regex":"none", 
 "alertText":"Пожалуйста, сделайте выбор ", 
 "alertText2":" options"}, 
 "radio":{ 
 "regex":"none", 
 "alertText":"Пожалуйста, выберите один из вариантов", 
 "alertText2":" options"}, 
 "confirm":{ 
 "regex":"none", 
 "alertText":"Поле не соответствует требуемому значению"}, 
 "telephone":{ 
 "regex":"/^[0-9\-\(\)\ +]+$/", 
 "alertText":"Некорректный формат телефонного номера"}, 
 "email":{ 
 "regex":"/^\\s*[a-zA-Z0-9_\.\-]+\@([a-zA-Z0-9\-]+\.)+[a-zA-Z0-9]{2,4}\\s*$/", 
 "alertText":"Укажите email"}, 
 "emails":{ 
 "regex":"/^([a-zA-Z0-9_\.\-]+\@([a-zA-Z0-9\-]+\.)+[a-zA-Z0-9]{2,4})+([, ]+[a-zA-Z0-9_\.\-]+\@([a-zA-Z0-9\-]+\.)+[a-zA-Z0-9]{2,4})*$/", 
 "alertText":"Укажите email"}, 
 "password":{ 
 "regex":"/^.+$/", 
 "alertText":"Укажите пароль"}, 
 "date":{ 
 "regex":"/^[0-9]{1,2}\.[0-9]{1,2}\.[0-9]{4}$/", 
 "alertText":"Некорректная дата, должна быть в формате DD.MM.YYYY"}, 
 "onlyNumber":{ 
 "regex":"/^[0-9\ ]+$/", 
 "alertText":"Допустимы только цифры"}, 
 "noSpecialCaracters":{ 
 "regex":"/^[0-9a-zA-Z]+$/", 
 "alertText":"Спецсимволы недопустимы"}, 
 "ajaxUser":{ 
 "file":"validateUser.php", 
 "extraData":"name=eric", 
 "alertTextOk":"* This user is available", 
 "alertTextLoad":"* Loading, please wait", 
 "alertText":"* This user is already taken"}, 
 "ajaxName":{ 
 "file":"validateUser.php", 
 "alertText":"* This name is already taken", 
 "alertTextOk":"* This name is available", 
 "alertTextLoad":"* Loading, please wait"}, 
 "onlyLetter":{ 
 "regex": "/^([a-zA-Z-'])+([\ \.a-zA-Z-'])*$/", 
 "alertText":"Необходимо ввести фамилию/имя на английском языке согласно записи в заграничном паспорте"}, 
 "validate2fields":{ 
 "nname":"validate2fields", 
 "alertText":"Укажите имя и фамилию"}, 
 "onlyNumberNatur":{ 
 "regex":"/(?!0)([0-9])+$/", 
 "alertText":'Допустимы только цифры кроме "0"'}, 
 "domain" : { 
 "regex" : "/^[A-Za-z0-9.-]+\.[A-Za-z]{2,6}$/", 
 "alertText" : "Укажите адрес сайта. Допустимые символы: буквы, цифры, точка и &laquo;&ndash;&raquo; (дефис, минус)." 
 }, 
 "onlyNumberSp": { 
 "regex": "/^[0-9\ ]+$/", 
 "alertText": "* Только числа" 
 } 
 } 
 } 
 } 
})(jQuery); 
 
$(document).ready(function() { 
 $.validationEngineLanguage.newLang() 
});
 
 
(function($) { 
 
 $.fn.validationEngine = function(settings) { 
 
 if($.validationEngineLanguage){ // IS THERE A LANGUAGE LOCALISATION ? 
 allRules = $.validationEngineLanguage.allRules; 
 }else{ 
 $.validationEngine.debug("Validation engine rules are not loaded check your external file"); 
 } 
 settings = jQuery.extend({ 
 allrules:allRules, 
 validationEventTriggers: "keyup", 
 inlineValidation: true, 
 returnIsValid:false, 
 liveEvent:true, 
 unbindEngine:true, 
 containerOverflow:false, 
 containerOverflowDOM:"", 
 ajaxSubmit: false, 
 scroll:true, 
 promptPosition: "topRight", // OPENNING BOX POSITION, IMPLEMENTED: topLeft, topRight, bottomLeft, centerRight, bottomRight 
 success : false, 
 beforeSuccess : function() {}, 
 failure : function() {}, 
 fixed: false 
 }, settings); 
 $.validationEngine.settings = settings; 
 $.validationEngine.ajaxValidArray = new Array(); // ARRAY FOR AJAX: VALIDATION MEMORY 
 
 if(settings.inlineValidation == true){ // Validating Inline ? 
 if(!settings.returnIsValid){ // NEEDED FOR THE SETTING returnIsValid 
 allowReturnIsvalid = false; 
 if(settings.liveEvent){ // LIVE event, vast performance improvement over BIND 
 $(this).find("[class*=validate][type!=checkbox]").live(settings.validationEventTriggers, function(caller){ 
 if (caller.keyCode != 9 && caller.keyCode != 37 && caller.keyCode != 38 && caller.keyCode != 39 && caller.keyCode != 40) _inlinEvent(this); 
 }); 
 $(this).find("[class*=validate][type=checkbox]").live("click", function(caller){ _inlinEvent(this); }) 
 }else{ 
 $(this).find("[class*=validate]").not("[type=checkbox]").bind(settings.validationEventTriggers, function(caller){ _inlinEvent(this); }) 
 $(this).find("[class*=validate][type=checkbox]").bind("click", function(caller){ _inlinEvent(this); }) 
 } 
 firstvalid = false; 
 } 
 function _inlinEvent(caller){ 
 $.validationEngine.settings = settings; 
 if($.validationEngine.intercept == false || !$.validationEngine.intercept){ // STOP INLINE VALIDATION THIS TIME ONLY 
 $.validationEngine.onSubmitValid = false; 
 $.validationEngine.loadValidation(caller); 
 
 }else{ 
 $.validationEngine.intercept = false; 
 } 
 } 
 } 
 if (settings.returnIsValid){ // Do validation and return true or false, it bypass everything; 
 if ($.validationEngine.submitValidation(this,settings)){ 
 return false; 
 }else{ 
 return true; 
 } 
 }; 
 var closeErrors = function(){ 
 $('body').bind('keydown', function(){ 
 $(".formError").fadeOut(150,function(){ $(this).remove(); $('body').unbind('keydown'); }) 
 }); 
 }; 
 $(this).bind("submit", function(caller){ // ON FORM SUBMIT, CONTROL AJAX FUNCTION IF SPECIFIED ON DOCUMENT READY 
 $.validationEngine.onSubmitValid = true; 
 $.validationEngine.settings = settings; 
 if($.validationEngine.submitValidation(this,settings) == false){ 
 if($.validationEngine.submitForm(this,settings) == true) { 
 closeErrors(); 
 return false; 
 } 
 }else{ 
 settings.failure && settings.failure(); 
 closeErrors(); 
 return false; 
 } 
 }); 
 
 $(".formError").live("click",function(){ // REMOVE BOX ON CLICK 
 $(this).fadeOut(150,function(){ $(this).remove() }) 
 }); 
 
}; 
$.validationEngine = { 
 defaultSetting : function(caller) { // NOT GENERALLY USED, NEEDED FOR THE API, DO NOT TOUCH 
 if($.validationEngineLanguage){ 
 allRules = $.validationEngineLanguage.allRules; 
 }else{ 
 $.validationEngine.debug("Validation engine rules are not loaded check your external file"); 
 } 
 settings = { 
 allrules:allRules, 
 validationEventTriggers:"blur", 
 inlineValidation: true, 
 containerOverflow:false, 
 containerOverflowDOM:"", 
 returnIsValid:false, 
 scroll:false, 
 unbindEngine:true, 
 ajaxSubmit: false, 
 promptPosition: "topRight", // OPENNING BOX POSITION, IMPLEMENTED: topLeft, topRight, bottomLeft, centerRight, bottomRight 
 success : false, 
 failure : function() {} 
 } 
 $.validationEngine.settings = settings; 
 }, 
 loadValidation : function(caller) { // GET VALIDATIONS TO BE EXECUTED 
 if(!$.validationEngine.settings) $.validationEngine.defaultSetting() 
 rulesParsing = $(caller).attr('class'); 
 rulesRegExp = /\[(.*)\]/; 
 getRules = rulesRegExp.exec(rulesParsing); 
 if(getRules == null) return false; 
 str = getRules[1]; 
 pattern = /\[|,|\]/; 
 result = str.split(pattern); 
 var validateCalll = $.validationEngine.validateCall(caller,result); 
 return validateCalll; 
 }, 
 validateCall : function(caller,rules) { // EXECUTE VALIDATION REQUIRED BY THE USER FOR THIS FIELD 
 var promptText ="" 
 
 if(!$(caller).attr("id")) $.validationEngine.debug("This field have no ID attribut( name & class displayed): "+$(caller).attr("name")+" "+$(caller).attr("class")) 
 
 caller = caller; 
 ajaxValidate = false; 
 var callerName = $(caller).attr("name"); 
 $.validationEngine.isError = false; 
 $.validationEngine.showTriangle = true; 
 callerType = $(caller).attr("type"); 
 for (i=0; i<rules.length;i++){ 
 switch (rules[i]){ 
 case "optional": 
 if(!$(caller).val()){ 
 $.validationEngine.closePrompt(caller); 
 return $.validationEngine.isError; 
 } 
 break; 
 case "required": 
 _required(caller,rules); 
 break; 
 case "custom": 
 _customRegex(caller,rules,i); 
 break; 
 case "exemptString": 
 _exemptString(caller,rules,i); 
 break; 
 case "ajax": 
 if(!$.validationEngine.onSubmitValid) _ajax(caller,rules,i); 
 break; 
 case "length": 
 _length(caller,rules,i); 
 break; 
 case "radio": 
 _radio(caller,rules,i); 
 break; 
 case "maxCheckbox": 
 _maxCheckbox(caller,rules,i); 
 groupname = $(caller).attr("name"); 
 caller = $("input[name='"+groupname+"']"); 
 break; 
 case "minCheckbox": 
 _minCheckbox(caller,rules,i); 
 groupname = $(caller).attr("name"); 
 caller = $("input[name='"+groupname+"']"); 
 break; 
 case "confirm": 
 _confirm(caller,rules,i); 
 break; 
 case "funcCall": 
 _funcCall(caller,rules,i); 
 break; 
 default :; 
 }; 
 }; 
 radioHack(); 
 if ($.validationEngine.isError == true){ 
 var linkTofieldText = "." +$.validationEngine.linkTofield(caller); 
 if(linkTofieldText != "."){ 
 if(!$(linkTofieldText)[0]){ 
 $.validationEngine.buildPrompt(caller,promptText,"error"); 
 }else{ 
 $.validationEngine.updatePromptText(caller,promptText); 
 } 
 }else{ 
 $.validationEngine.updatePromptText(caller,promptText); 
 } 
 }else{ 
 $.validationEngine.closePrompt(caller); 
 } 
 
 
 function radioHack(){ 
 if($("input[name='"+callerName+"']").size()> 1 && (callerType == "radio" || callerType == "checkbox")) { // Hack for radio/checkbox group button, the validation go the first radio/checkbox of the group 
 caller = $("input[name='"+callerName+"'][type!=hidden]:first"); 
 $.validationEngine.showTriangle = false; 
 } 
 } 
 
 function _required(caller,rules){ // VALIDATE BLANK FIELD 
 callerType = $(caller).attr("type"); 
 if (callerType == "text" || callerType == "password" || callerType == "textarea"){ 
 
 if(!$(caller).val()){ 
 $.validationEngine.isError = true; 
 promptText += $.validationEngine.settings.allrules[rules[i]].alertText+"<br />"; 
 } 
 } 
 if (callerType == "radio" || callerType == "checkbox" ){ 
 callerName = $(caller).attr("name"); 
 
 if($("input[name='"+callerName+"']:checked").size() == 0) { 
 $.validationEngine.isError = true; 
 if($("input[name='"+callerName+"']").size() ==1) { 
 promptText += $.validationEngine.settings.allrules[rules[i]].alertTextCheckboxe+"<br />"; 
 }else{ 
 promptText += $.validationEngine.settings.allrules[rules[i]].alertTextCheckboxMultiple+"<br />"; 
 } 
 } 
 } 
 if (callerType == "select-one") { // added by paul@kinetek.net for select boxes, Thank you 
 if(!$(caller).val()) { 
 $.validationEngine.isError = true; 
 promptText += $.validationEngine.settings.allrules[rules[i]].alertText+"<br />"; 
 } 
 } 
 if (callerType == "select-multiple") { // added by paul@kinetek.net for select boxes, Thank you 
 if(!$(caller).find("option:selected").val()) { 
 $.validationEngine.isError = true; 
 promptText += $.validationEngine.settings.allrules[rules[i]].alertText+"<br />"; 
 } 
 } 
 } 
 function _customRegex(caller,rules,position){ // VALIDATE REGEX RULES 
 customRule = rules[position+1]; 
 
 if (customRule == 'emails-f') { 
 customRule = 'emails'; 
 $.validationEngine.settings.fixed = true; 
 } 
 pattern = eval($.validationEngine.settings.allrules[customRule].regex); 
 if(!pattern.test($(caller).attr('value'))){ 
 $.validationEngine.isError = true; 
 promptText += $.validationEngine.settings.allrules[customRule].alertText+"<br />"; 
 } 
 //$.validationEngine.isError = false; 
 } 
 function _exemptString(caller,rules,position){ // VALIDATE REGEX RULES 
 customString = rules[position+1]; 
 if(customString == $(caller).attr('value')){ 
 $.validationEngine.isError = true; 
 promptText += $.validationEngine.settings.allrules['required'].alertText+"<br />"; 
 } 
 } 
 
 function _funcCall(caller,rules,position){ // VALIDATE CUSTOM FUNCTIONS OUTSIDE OF THE ENGINE SCOPE 
 customRule = rules[position+1]; 
 funce = $.validationEngine.settings.allrules[customRule].nname; 
 
 var fn = window[funce]; 
 if (typeof(fn) === 'function'){ 
 var fn_result = fn(); 
 if(!fn_result){ 
 $.validationEngine.isError = true; 
 } 
 
 promptText += $.validationEngine.settings.allrules[customRule].alertText+"<br />"; 
 } 
 } 
 function _ajax(caller,rules,position){ // VALIDATE AJAX RULES 
 
 customAjaxRule = rules[position+1]; 
 postfile = $.validationEngine.settings.allrules[customAjaxRule].file; 
 fieldValue = $(caller).val(); 
 ajaxCaller = caller; 
 fieldId = $(caller).attr("id"); 
 ajaxValidate = true; 
 ajaxisError = $.validationEngine.isError; 
 
 if($.validationEngine.settings.allrules[customAjaxRule].extraData){ 
 extraData = $.validationEngine.settings.allrules[customAjaxRule].extraData; 
 }else{ 
 extraData = ""; 
 } 
 
 if(!ajaxisError){ 
 $.ajax({ 
 type: "POST", 
 url: postfile, 
 async: true, 
 data: "validateValue="+fieldValue+"&validateId="+fieldId+"&validateError="+customAjaxRule+"&extraData="+extraData, 
 beforeSend: function(){ // BUILD A LOADING PROMPT IF LOAD TEXT EXIST 
 if($.validationEngine.settings.allrules[customAjaxRule].alertTextLoad){ 
 
 if(!$("div."+fieldId+"formError")[0]){ 
 return $.validationEngine.buildPrompt(ajaxCaller,$.validationEngine.settings.allrules[customAjaxRule].alertTextLoad,"load"); 
 }else{ 
 $.validationEngine.updatePromptText(ajaxCaller,$.validationEngine.settings.allrules[customAjaxRule].alertTextLoad,"load"); 
 } 
 } 
 }, 
 error: function(data,transport){ $.validationEngine.debug("error in the ajax: "+data.status+" "+transport) }, 
 success: function(data){ // GET SUCCESS DATA RETURN JSON 
 data = eval( "("+data+")"); // GET JSON DATA FROM PHP AND PARSE IT 
 ajaxisError = data.jsonValidateReturn[2]; 
 customAjaxRule = data.jsonValidateReturn[1]; 
 ajaxCaller = $("#"+data.jsonValidateReturn[0])[0]; 
 fieldId = ajaxCaller; 
 ajaxErrorLength = $.validationEngine.ajaxValidArray.length; 
 existInarray = false; 
 
 if(ajaxisError == "false"){ // DATA FALSE UPDATE PROMPT WITH ERROR; 
 
 _checkInArray(false) // Check if ajax validation alreay used on this field 
 
 if(!existInarray){ // Add ajax error to stop submit 
 $.validationEngine.ajaxValidArray[ajaxErrorLength] = new Array(2); 
 $.validationEngine.ajaxValidArray[ajaxErrorLength][0] = fieldId; 
 $.validationEngine.ajaxValidArray[ajaxErrorLength][1] = false; 
 existInarray = false; 
 } 
 
 $.validationEngine.ajaxValid = false; 
 promptText += $.validationEngine.settings.allrules[customAjaxRule].alertText+"<br />"; 
 $.validationEngine.updatePromptText(ajaxCaller,promptText,"",true); 
 }else{ 
 _checkInArray(true); 
 $.validationEngine.ajaxValid = true; 
 if(!customAjaxRule) {$.validationEngine.debug("wrong ajax response, are you on a server or in xampp? if not delete de ajax[ajaxUser] validating rule from your form ")} 
 if($.validationEngine.settings.allrules[customAjaxRule].alertTextOk){ // NO OK TEXT MEAN CLOSE PROMPT 
 $.validationEngine.updatePromptText(ajaxCaller,$.validationEngine.settings.allrules[customAjaxRule].alertTextOk,"pass",true); 
 }else{ 
 ajaxValidate = false; 
 $.validationEngine.closePrompt(ajaxCaller); 
 } 
 } 
 function _checkInArray(validate){ 
 for(x=0;x<ajaxErrorLength;x++){ 
 if($.validationEngine.ajaxValidArray[x][0] == fieldId){ 
 $.validationEngine.ajaxValidArray[x][1] = validate; 
 existInarray = true; 
 
 } 
 } 
 } 
 } 
 }); 
 } 
 } 
 function _confirm(caller,rules,position){ // VALIDATE FIELD MATCH 
 confirmField = rules[position+1]; 
 
 if($(caller).attr('value') != $("#"+confirmField).attr('value')){ 
 $.validationEngine.isError = true; 
 promptText += $.validationEngine.settings.allrules["confirm"].alertText+"<br />"; 
 } 
 } 
 function _length(caller,rules,position){ // VALIDATE LENGTH 
 
 startLength = eval(rules[position+1]); 
 endLength = eval(rules[position+2]); 
 feildLength = $(caller).attr('value').length; 
 
 if(feildLength<startLength || feildLength>endLength){ 
 $.validationEngine.isError = true; 
 promptText += $.validationEngine.settings.allrules["length"].alertText+startLength+$.validationEngine.settings.allrules["length"].alertText2+endLength+$.validationEngine.settings.allrules["length"].alertText3+"<br />" 
 } 
 } 
 function _radio(caller,rules,position){ // VALIDATE CHECKBOX NUMBER 
 groupname = $(caller).attr("name"); 
 groupSize = $("input[name='"+groupname+"']:checked").length; 
 if (!groupSize){ 
 $.validationEngine.showTriangle = false; 
 $.validationEngine.isError = true; 
 promptText += $.validationEngine.settings.allrules["radio"].alertText+"<br />"; 
 } 
 } 
 function _maxCheckbox(caller,rules,position){ // VALIDATE CHECKBOX NUMBER 
 nbCheck = eval(rules[position+1]); 
 groupname = $(caller).attr("name"); 
 groupSize = $("input[name='"+groupname+"']:checked").size(); 
 if(groupSize > nbCheck){ 
 $.validationEngine.showTriangle = false; 
 $.validationEngine.isError = true; 
 promptText += $.validationEngine.settings.allrules["maxCheckbox"].alertText+"<br />"; 
 } 
 } 
 function _minCheckbox(caller,rules,position){ // VALIDATE CHECKBOX NUMBER 
 
 nbCheck = eval(rules[position+1]); 
 groupname = $(caller).attr("name"); 
 groupSize = $("input[name='"+groupname+"']:checked").size(); 
 if(groupSize < nbCheck){ 
 
 $.validationEngine.isError = true; 
 $.validationEngine.showTriangle = false; 
 promptText += $.validationEngine.settings.allrules["minCheckbox"].alertText+" "+nbCheck+" "+$.validationEngine.settings.allrules["minCheckbox"].alertText2+"<br />"; 
 } 
 } 
 return ($.validationEngine.isError) ? $.validationEngine.isError : false; 
 }, 
 submitForm : function(caller){ 
 if($.validationEngine.settings.ajaxSubmit){ 
 if($.validationEngine.settings.ajaxSubmitExtraData){ 
 extraData = $.validationEngine.settings.ajaxSubmitExtraData; 
 }else{ 
 extraData = ""; 
 } 
 $.ajax({ 
 type: "POST", 
 url: $.validationEngine.settings.ajaxSubmitFile, 
 async: true, 
 data: $(caller).serialize()+"&"+extraData, 
 error: function(data,transport){ $.validationEngine.debug("error in the ajax: "+data.status+" "+transport) }, 
 success: function(data){ 
 if(data == "true"){ // EVERYTING IS FINE, SHOW SUCCESS MESSAGE 
 $(caller).css("opacity",1) 
 $(caller).animate({opacity: 0, height: 0}, function(){ 
 $(caller).css("display","none"); 
 $(caller).before("<div class='ajaxSubmit'>"+$.validationEngine.settings.ajaxSubmitMessage+"</div>"); 
 $.validationEngine.closePrompt(".formError",true); 
 $(".ajaxSubmit").show("slow"); 
 if ($.validationEngine.settings.success){ // AJAX SUCCESS, STOP THE LOCATION UPDATE 
 $.validationEngine.settings.success && $.validationEngine.settings.success(); 
 return false; 
 } 
 }) 
 }else{ // HOUSTON WE GOT A PROBLEM (SOMETING IS NOT VALIDATING) 
 data = eval( "("+data+")"); 
 if(!data.jsonValidateReturn){ 
 $.validationEngine.debug("you are not going into the success fonction and jsonValidateReturn return nothing"); 
 } 
 errorNumber = data.jsonValidateReturn.length 
 for(index=0; index<errorNumber; index++){ 
 fieldId = data.jsonValidateReturn[index][0]; 
 promptError = data.jsonValidateReturn[index][1]; 
 type = data.jsonValidateReturn[index][2]; 
 $.validationEngine.buildPrompt(fieldId,promptError,type); 
 } 
 } 
 } 
 }) 
 return true; 
 } 
 // LOOK FOR BEFORE SUCCESS METHOD 
 if(!$.validationEngine.settings.beforeSuccess()){ 
 if ($.validationEngine.settings.success){ // AJAX SUCCESS, STOP THE LOCATION UPDATE 
 if($.validationEngine.settings.unbindEngine){ $(caller).unbind("submit") } 
 $.validationEngine.settings.success && $.validationEngine.settings.success(); 
 return true; 
 } 
 }else{ 
 return true; 
 } 
 return false; 
 }, 
 buildPrompt : function(caller,promptText,type,ajaxed) { // ERROR PROMPT CREATION AND DISPLAY WHEN AN ERROR OCCUR 
 if(!$.validationEngine.settings){ 
 $.validationEngine.defaultSetting() 
 } 
 deleteItself = "." + $(caller).attr("id") + "formError" 
 
 if($(deleteItself)[0]){ 
 $(deleteItself).stop(); 
 $(deleteItself).remove(); 
 } 
 var divFormError = document.createElement('div'); 
 var formErrorContent = document.createElement('div'); 
 linkTofield = $.validationEngine.linkTofield(caller) 
 $(divFormError).addClass("formError") 
 
 if(type == "pass") $(divFormError).addClass("greenPopup") 
 if(type == "load") $(divFormError).addClass("blackPopup") 
 if(ajaxed) $(divFormError).addClass("ajaxed") 
 
 $(divFormError).addClass(linkTofield); 
 $(formErrorContent).addClass("formErrorContent"); 
 
 if($.validationEngine.settings.containerOverflow){ // Is the form contained in an overflown container? 
 $(caller).before(divFormError); 
 }else{ 
 $("body").append(divFormError); 
 } 
 
 $(divFormError).append(formErrorContent); 
 
 if($.validationEngine.showTriangle != false){ // NO TRIANGLE ON MAX CHECKBOX AND RADIO 
 var arrow = document.createElement('div'); 
 $(arrow).addClass("formErrorArrow"); 
 $(divFormError).append(arrow); 
 if($.validationEngine.settings.promptPosition == "bottomLeft" || $.validationEngine.settings.promptPosition == "bottomRight"){ 
 $(arrow).addClass("formErrorArrowBottom") 
 $(arrow).html('<div class="line1"><!-- --></div><div class="line2"><!-- --></div><div class="line3"><!-- --></div><div class="line4"><!-- --></div><div class="line5"><!-- --></div><div class="line6"><!-- --></div><div class="line7"><!-- --></div><div class="line8"><!-- --></div><div class="line9"><!-- --></div><div class="line10"><!-- --></div>'); 
 } 
 if($.validationEngine.settings.promptPosition == "topLeft" || $.validationEngine.settings.promptPosition == "topRight"){ 
 $(divFormError).append(arrow); 
 $(arrow).html('<div class="line10"><!-- --></div><div class="line9"><!-- --></div><div class="line8"><!-- --></div><div class="line7"><!-- --></div><div class="line6"><!-- --></div><div class="line5"><!-- --></div><div class="line4"><!-- --></div><div class="line3"><!-- --></div><div class="line2"><!-- --></div><div class="line1"><!-- --></div>'); 
 } 
 } 
 $(formErrorContent).html(promptText) 
 var calculatedPosition = $.validationEngine.calculatePosition(caller,promptText,type,ajaxed,divFormError) 
 
 calculatedPosition.callerTopPosition +="px"; 
 calculatedPosition.callerleftPosition +="px"; 
 calculatedPosition.marginTopSize +="px"; 
 
 if (promptText == 'Заполните поле<br />') 
 { 
 $(formErrorContent).width(93); 
 }; 
 
 $(divFormError).css({ 
 "top":calculatedPosition.callerTopPosition, 
 "left":calculatedPosition.callerleftPosition, 
 "marginTop":calculatedPosition.marginTopSize, 
 "opacity":0 
 }); 
 return $(divFormError).animate({"opacity":0.87},function(){return true;}); 
 }, 
 updatePromptText : function(caller,promptText,type,ajaxed) { // UPDATE TEXT ERROR IF AN ERROR IS ALREADY DISPLAYED 
 
 linkTofield = $.validationEngine.linkTofield(caller); 
 var updateThisPrompt = "."+linkTofield; 
 
 if(type == "pass") { $(updateThisPrompt).addClass("greenPopup") }else{ $(updateThisPrompt).removeClass("greenPopup")}; 
 if(type == "load") { $(updateThisPrompt).addClass("blackPopup") }else{ $(updateThisPrompt).removeClass("blackPopup")}; 
 if(ajaxed) { $(updateThisPrompt).addClass("ajaxed") }else{ $(updateThisPrompt).removeClass("ajaxed")}; 
 
 $(updateThisPrompt).find(".formErrorContent").html(promptText); 
 
 var calculatedPosition = $.validationEngine.calculatePosition(caller,promptText,type,ajaxed,updateThisPrompt) 
 
 calculatedPosition.callerTopPosition +="px"; 
 calculatedPosition.callerleftPosition +="px"; 
 calculatedPosition.marginTopSize +="px"; 
 
 $(updateThisPrompt).animate({ "top":calculatedPosition.callerTopPosition,"marginTop":calculatedPosition.marginTopSize }); 
 
 }, 
 calculatePosition : function(caller,promptText,type,ajaxed,divFormError){ 
 
 if($.validationEngine.settings.containerOverflow){ // Is the form contained in an overflown container? 
 callerTopPosition = 0; 
 callerleftPosition = 0; 
 callerWidth = $(caller).width(); 
 inputHeight = $(divFormError).height(); // compasation for the triangle 
 var marginTopSize = "-"+inputHeight; 
 }else{ 
 callerTopPosition = $(caller).offset().top; 
 callerleftPosition = $(caller).offset().left; 
 callerWidth = $(caller).width(); 
 inputHeight = $(divFormError).height(); 
 var marginTopSize = 0; 
 } 
 
 
 if($.validationEngine.settings.promptPosition == "topRight"){ 
 if($.validationEngine.settings.containerOverflow){ // Is the form contained in an overflown container? 
 callerleftPosition += callerWidth -30; 
 }else{ 
 callerleftPosition += callerWidth -30; 
 callerTopPosition += -inputHeight; 
 } 
 } 
 if($.validationEngine.settings.promptPosition == "topLeft"){ callerTopPosition += -inputHeight -10; } 
 
 if($.validationEngine.settings.promptPosition == "centerRight"){ callerleftPosition += callerWidth +13; } 
 
 if($.validationEngine.settings.promptPosition == "bottomLeft"){ 
 callerHeight = $(caller).height(); 
 callerTopPosition = callerTopPosition + callerHeight + 15; 
 } 
 if($.validationEngine.settings.promptPosition == "bottomRight"){ 
 callerHeight = $(caller).height(); 
 callerleftPosition += callerWidth -30; 
 callerTopPosition += callerHeight +5; 
 } 
 return { 
 "callerTopPosition":callerTopPosition, 
 "callerleftPosition":callerleftPosition, 
 "marginTopSize":marginTopSize 
 } 
 }, 
 linkTofield : function(caller){ 
 var linkTofield = $(caller).attr("id") + "formError"; 
 linkTofield = linkTofield.replace(/\[/g,""); 
 linkTofield = linkTofield.replace(/\]/g,""); 
 return linkTofield; 
 }, 
 closePrompt : function(caller,outside) { // CLOSE PROMPT WHEN ERROR CORRECTED 
 if(!$.validationEngine.settings){ 
 $.validationEngine.defaultSetting() 
 } 
 if(outside){ 
 $(caller).fadeTo("fast",0,function(){ 
 $(caller).remove(); 
 }); 
 return false; 
 } 
 if(typeof(ajaxValidate)=='undefined'){ajaxValidate = false} 
 if(!ajaxValidate){ 
 linkTofield = $.validationEngine.linkTofield(caller); 
 closingPrompt = "."+linkTofield; 
 $(closingPrompt).fadeTo("fast",0,function(){ 
 $(closingPrompt).remove(); 
 }); 
 } 
 }, 
 debug : function(error) { 
 
 }, 
 submitValidation : function(caller) { // FORM SUBMIT VALIDATION LOOPING INLINE VALIDATION 
 var stopForm = false; 
 $.validationEngine.ajaxValid = true; 
 var toValidateSize = $(caller).find("[class*=validate]").size(); 
 
 $(caller).find("[class*=validate]").each(function(){ 
 linkTofield = $.validationEngine.linkTofield(this); 
 
 if(!$("."+linkTofield).hasClass("ajaxed")){ // DO NOT UPDATE ALREADY AJAXED FIELDS (only happen if no normal errors, don't worry) 
 var validationPass = $.validationEngine.loadValidation(this); 
 return(validationPass) ? stopForm = true : ""; 
 }; 
 }); 
 ajaxErrorLength = $.validationEngine.ajaxValidArray.length; // LOOK IF SOME AJAX IS NOT VALIDATE 
 for (x=0;x<ajaxErrorLength;x++){ 
 if($.validationEngine.ajaxValidArray[x][1] == false) $.validationEngine.ajaxValid = false; 
 } 
 if(stopForm || !$.validationEngine.ajaxValid){ // GET IF THERE IS AN ERROR OR NOT FROM THIS VALIDATION FUNCTIONS 
 if($.validationEngine.settings.scroll){ 
 if(!$.validationEngine.settings.containerOverflow){ 
 var destination = $(".formError:not('.greenPopup'):first").offset().top; 
 $(".formError:not('.greenPopup')").each(function(){ 
 testDestination = $(this).offset().top; 
 if(destination>testDestination) destination = $(this).offset().top; 
 }); 
 if(!$.validationEngine.settings.fixed) 
 $("html:not(:animated),body:not(:animated)").animate({ scrollTop: destination}, 1100); 
 }else{ 
 var destination = $(".formError:not('.greenPopup'):first").offset().top; 
 var scrollContainerScroll = $($.validationEngine.settings.containerOverflowDOM).scrollTop(); 
 var scrollContainerPos = - parseInt($($.validationEngine.settings.containerOverflowDOM).offset().top); 
 var destination = scrollContainerScroll + destination + scrollContainerPos -5 
 var scrollContainer = $.validationEngine.settings.containerOverflowDOM+":not(:animated)" 
 
 if(!$.validationEngine.settings.fixed) $(scrollContainer).animate({ scrollTop: destination}, 1100); 
 } 
 } 
 return true; 
 }else{ 
 return false; 
 } 
 } 
} 
})(jQuery);
 
jQuery.fn.extend({ 
 everyTime: function(interval, label, fn, times) { 
 return this.each(function() { 
 jQuery.timer.add(this, interval, label, fn, times); 
 }); 
 }, 
 oneTime: function(interval, label, fn) { 
 return this.each(function() { 
 jQuery.timer.add(this, interval, label, fn, 1); 
 }); 
 }, 
 stopTime: function(label, fn) { 
 return this.each(function() { 
 jQuery.timer.remove(this, label, fn); 
 }); 
 } 
}); 
 
jQuery.extend({ 
 timer: { 
 global: [], 
 guid: 1, 
 dataKey: "jQuery.timer", 
 regex: /^([0-9]+(?:\.[0-9]*)?)\s*(.*s)?$/, 
 powers: { 
 // Yeah this is major overkill... 
 'ms': 1, 
 'cs': 10, 
 'ds': 100, 
 's': 1000, 
 'das': 10000, 
 'hs': 100000, 
 'ks': 1000000 
 }, 
 timeParse: function(value) { 
 if (value == undefined || value == null) 
 return null; 
 var result = this.regex.exec(jQuery.trim(value.toString())); 
 if (result[2]) { 
 var num = parseFloat(result[1]); 
 var mult = this.powers[result[2]] || 1; 
 return num * mult; 
 } else { 
 return value; 
 } 
 }, 
 add: function(element, interval, label, fn, times) { 
 var counter = 0; 
 
 if (jQuery.isFunction(label)) { 
 if (!times) 
 times = fn; 
 fn = label; 
 label = interval; 
 } 
 
 interval = jQuery.timer.timeParse(interval); 
 
 if (typeof interval != 'number' || isNaN(interval) || interval < 0) 
 return; 
 
 if (typeof times != 'number' || isNaN(times) || times < 0) 
 times = 0; 
 
 times = times || 0; 
 
 var timers = jQuery.data(element, this.dataKey) || jQuery.data(element, this.dataKey, {}); 
 
 if (!timers[label]) 
 timers[label] = {}; 
 
 fn.timerID = fn.timerID || this.guid++; 
 
 var handler = function() { 
 if ((++counter > times && times !== 0) || fn.call(element, counter) === false) 
 jQuery.timer.remove(element, label, fn); 
 }; 
 
 handler.timerID = fn.timerID; 
 
 if (!timers[label][fn.timerID]) 
 timers[label][fn.timerID] = window.setInterval(handler,interval); 
 
 this.global.push( element ); 
 
 }, 
 remove: function(element, label, fn) { 
 var timers = jQuery.data(element, this.dataKey), ret; 
 
 if ( timers ) { 
 
 if (!label) { 
 for ( label in timers ) 
 this.remove(element, label, fn); 
 } else if ( timers[label] ) { 
 if ( fn ) { 
 if ( fn.timerID ) { 
 window.clearInterval(timers[label][fn.timerID]); 
 delete timers[label][fn.timerID]; 
 } 
 } else { 
 for ( var fn in timers[label] ) { 
 window.clearInterval(timers[label][fn]); 
 delete timers[label][fn]; 
 } 
 } 
 
 for ( ret in timers[label] ) break; 
 if ( !ret ) { 
 ret = null; 
 delete timers[label]; 
 } 
 } 
 
 for ( ret in timers ) break; 
 if ( !ret ) 
 jQuery.removeData(element, this.dataKey); 
 } 
 } 
 } 
}); 
 
jQuery(window).bind("unload", function() { 
 jQuery.each(jQuery.timer.global, function(index, item) { 
 jQuery.timer.remove(item); 
 }); 
}); 

// VERSION: 1.8 LAST UPDATE: 9.03.2011 
 
 (function(g){for(var d,j=document.getElementsByTagName("head")[0].style,h="transformProperty WebkitTransform OTransform msTransform MozTransform".split(" "),e=0;e<h.length;e++)j[h[e]]!==void 0&&(d=h[e]);var i="v"=="\v";jQuery.fn.extend({ImageRotate:function(a){if(!this.Wilq32||!this.Wilq32.PhotoEffect)return a=g.extend(!0,{},a),(new Wilq32.PhotoEffect(this.get(0),a))._rootObj},rotate:function(a){if(!(this.length===0||typeof a=="undefined")){typeof a=="number"&&(a={angle:a});for(var c= 
 [],b=0,d=this.length;b<d;b++){var f=this.get(b);typeof f.Wilq32=="undefined"?c.push(g(g(f).ImageRotate(a))):f.Wilq32.PhotoEffect._handleRotation(a)}return c}}});Wilq32=window.Wilq32||{};Wilq32.PhotoEffect=function(){return d?function(a,c){a.Wilq32={PhotoEffect:this};this._img=this._rootObj=this._eventObj=a;this._handleRotation(c)}:function(a,c){this._img=a;this._rootObj=document.createElement("span");this._rootObj.style.display="inline-block";this._rootObj.Wilq32={PhotoEffect:this};a.parentNode.insertBefore(this._rootObj, 
 a);if(a.complete)this._Loader(c);else{var b=this;jQuery(this._img).bind("load",function(){b._Loader(c)})}}}();Wilq32.PhotoEffect.prototype={_setupParameters:function(a){this._parameters=this._parameters||{};if(typeof this._angle!=="number")this._angle=0;if(typeof a.angle==="number")this._angle=a.angle;this._parameters.animateTo=typeof a.animateTo==="number"?a.animateTo:this._angle;this._parameters.easing=a.easing||this._parameters.easing||function(a,b,d,f,e){return-f*((b=b/e-1)*b*b*b-1)+d};this._parameters.duration= 
 a.duration||this._parameters.duration||1E3;this._parameters.callback=a.callback||this._parameters.callback||function(){};a.bind&&a.bind!=this._parameters.bind&&this._BindEvents(a.bind)},_handleRotation:function(a){this._setupParameters(a);this._angle==this._parameters.animateTo?this._rotate(this._angle):this._animateStart()},_BindEvents:function(a){if(a&&this._eventObj){if(this._parameters.bind){var c=this._parameters.bind,b;for(b in c)c.hasOwnProperty(b)&&jQuery(this._eventObj).unbind(b,c[b])}this._parameters.bind= 
 a;for(b in a)a.hasOwnProperty(b)&&jQuery(this._eventObj).bind(b,a[b])}},_Loader:function(){return i?function(a){var c=this._img.width,b=this._img.height;this._img.parentNode.removeChild(this._img);this._vimage=this.createVMLNode("image");this._vimage.src=this._img.src;this._vimage.style.height=b+"px";this._vimage.style.width=c+"px";this._vimage.style.position="absolute";this._vimage.style.top="0px";this._vimage.style.left="0px";this._container=this.createVMLNode("group");this._container.style.width= 
 c;this._container.style.height=b;this._container.style.position="absolute";this._container.setAttribute("coordsize",c-1+","+(b-1));this._container.appendChild(this._vimage);this._rootObj.appendChild(this._container);this._rootObj.style.position="relative";this._rootObj.style.width=c+"px";this._rootObj.style.height=b+"px";this._rootObj.setAttribute("id",this._img.getAttribute("id"));this._rootObj.className=this._img.className;this._eventObj=this._rootObj;this._handleRotation(a)}:function(a){this._rootObj.setAttribute("id", 
 this._img.getAttribute("id"));this._rootObj.className=this._img.className;this._width=this._img.width;this._height=this._img.height;this._widthHalf=this._width/2;this._heightHalf=this._height/2;var c=Math.sqrt(this._height*this._height+this._width*this._width);this._widthAdd=c-this._width;this._heightAdd=c-this._height;this._widthAddHalf=this._widthAdd/2;this._heightAddHalf=this._heightAdd/2;this._img.parentNode.removeChild(this._img);this._aspectW=(parseInt(this._img.style.width,10)||this._width)/ 
 this._img.width;this._aspectH=(parseInt(this._img.style.height,10)||this._height)/this._img.height;this._canvas=document.createElement("canvas");this._canvas.setAttribute("width",this._width);this._canvas.style.position="relative";this._canvas.style.left=-this._widthAddHalf+"px";this._canvas.style.top=-this._heightAddHalf+"px";this._canvas.Wilq32=this._rootObj.Wilq32;this._rootObj.appendChild(this._canvas);this._rootObj.style.width=this._width+"px";this._rootObj.style.height=this._height+"px";this._eventObj= 
 this._canvas;this._cnv=this._canvas.getContext("2d");this._handleRotation(a)}}(),_animateStart:function(){this._timer&&clearTimeout(this._timer);this._animateStartTime=+new Date;this._animateStartAngle=this._angle;this._animate()},_animate:function(){var a=+new Date,c=a-this._animateStartTime>this._parameters.duration;if(c&&!this._parameters.animatedGif)clearTimeout(this._timer);else{(this._canvas||this._vimage||this._img)&&this._rotate(~~(this._parameters.easing(0,a-this._animateStartTime,this._animateStartAngle, 
 this._parameters.animateTo-this._animateStartAngle,this._parameters.duration)*10)/10);var b=this;this._timer=setTimeout(function(){b._animate.call(b)},10)}if(this._parameters.callback&&c)this._angle=this._parameters.animateTo,this._rotate(this._angle),this._parameters.callback.call(this._rootObj)},_rotate:function(){var a=Math.PI/180;return i?function(a){this._angle=a;this._container.style.rotation=a%360+"deg"}:d?function(a){this._angle=a;this._img.style[d]="rotate("+a%360+"deg)"}:function(c){this._angle= 
 c;c=c%360*a;this._canvas.width=this._width+this._widthAdd;this._canvas.height=this._height+this._heightAdd;this._cnv.translate(this._widthAddHalf,this._heightAddHalf);this._cnv.translate(this._widthHalf,this._heightHalf);this._cnv.rotate(c);this._cnv.translate(-this._widthHalf,-this._heightHalf);this._cnv.scale(this._aspectW,this._aspectH);this._cnv.drawImage(this._img,0,0)}}()};if(i)Wilq32.PhotoEffect.prototype.createVMLNode=function(){document.createStyleSheet().addRule(".rvml","behavior:url(#default#VML)"); 
 try{return!document.namespaces.rvml&&document.namespaces.add("rvml","urn:schemas-microsoft-com:vml"),function(a){return document.createElement("<rvml:"+a+' class="rvml">')}}catch(a){return function(a){return document.createElement("<"+a+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">')}}}()})(jQuery); 

 
jQuery.fn.tmstars = function(options){ 
 var options = jQuery.extend({ 
 onChange: function(val, text){} 
 },options); 
 var selectBox = this//.hide(); 
 
 var container = jQuery('<span class="form-stars"></span>'); 
 var value = jQuery('<input type="hidden" />').appendTo(container).val(selectBox.val()); 
 if(selectBox.attr('name')) 
 { 
 value.attr('name', selectBox.attr('name')); 
 } 
 var selectStar = function(star){ 
 var iter = 0; 
 container.find('a').each(function(){ 
 if(++iter <= star) 
 { 
 jQuery(this).addClass('active'); 
 } 
 else 
 { 
 jQuery(this).removeClass('active'); 
 } 
 }); 
 } 
 selectBox.find('option').each(function(i){ 
 var a = jQuery('<a href="#"></a>').attr('title', jQuery(this).attr('title')).attr('rel', jQuery(this).val()).text(jQuery(this).text()).bind('mousedown', function(){ 
 var val = jQuery(this).next().text(); 
 value.val($(this).attr('rel')); 
 selectStar(val); 
 return false; 
 }).click(function(){return false;}).appendTo(container); 
 if (this.selected) selectStar((i+1)); 
 jQuery('<span></span>').text((i+1)).appendTo(container); 
 }); 
 
 selectBox.after(container); 
 selectBox.remove(); 
 return container; 
}; 

 
(function($, undefined){

var multiselectID = 0;

$.widget("ech.multiselect", {
 
 // default options
 options: {
 header: true,
 height: 175,
 minWidth: 225,
 classes: '',
 checkAllText: 'Check all',
 uncheckAllText: 'Uncheck all',
 noneSelectedText: 'Select options',
 selectedText: '# selected',
 selectedList: 0,
 show: '',
 hide: '',
 autoOpen: false,
 multiple: true,
 position: {}
 },

 _create: function(){
 var el = this.element.hide(),
 o = this.options;
 
 this.speed = $.fx.speeds._default; // default speed for effects
 this._isOpen = false; // assume no
 
 var 
 button = (this.button = $('<button type="button"><span class="ui-icon ui-icon-triangle-2-n-s"></span></button>'))
 .addClass('ui-multiselect ui-widget ui-state-default ui-corner-all')
 .addClass( o.classes )
 .attr({ 'title':el.attr('title'), 'aria-haspopup':true, 'tabIndex':el.attr('tabIndex') })
 .insertAfter( el ),
 
 buttonlabel = (this.buttonlabel = $('<span id="selectedText" />'))
 .html( o.noneSelectedText )
 .appendTo( button ),
 
 menu = (this.menu = $('<div />'))
 .addClass('ui-multiselect-menu ui-widget ui-widget-content ui-corner-all')
 .addClass( o.classes )
 .insertAfter( button ),
 
 header = (this.header = $('<div />'))
 .addClass('ui-widget-header ui-corner-all ui-multiselect-header ui-helper-clearfix')
 .appendTo( menu ),
 
 headerLinkContainer = (this.headerLinkContainer = $('<ul />'))
 .addClass('ui-helper-reset')
 .html(function(){
 if( o.header === true ){
 return '<li><a class="ui-multiselect-all" href="#"><span class="ui-icon ui-icon-check"></span><span>' + o.checkAllText + '</span></a></li><li><a class="ui-multiselect-none" href="#"><span class="ui-icon ui-icon-closethick"></span><span>' + o.uncheckAllText + '</span></a></li>';
 } else if(typeof o.header === "string"){
 return '<li>' + o.header + '</li>';
 } else {
 return '';
 }
 })
 .append('<li class="ui-multiselect-close"><a href="#" class="ui-multiselect-close"><span class="ui-icon ui-icon-circle-close"></span></a></li>')
 .appendTo( header ),
 
 checkboxContainer = (this.checkboxContainer = $('<ul />'))
 .addClass('ui-multiselect-checkboxes ui-helper-reset')
 .appendTo( menu );
 button.wrap('<div class="select">');
 // perform event bindings
 this._bindEvents();
 
 // build menu
 this.refresh( true );
 
 // some addl. logic for single selects
 if( !o.multiple ){
 menu.addClass('ui-multiselect-single');
 }
 },
 
 _init: function(){
 if( this.options.header === false ){
 this.header.hide();
 }
 if( !this.options.multiple ){
 this.headerLinkContainer.find('.ui-multiselect-all, .ui-multiselect-none').hide();
 }
 if( this.options.autoOpen ){
 this.open();
 }
 if( this.element.is(':disabled') ){
 this.disable();
 }
 },
 
 refresh: function( init ){
 var el = this.element,
 o = this.options,
 menu = this.menu,
 checkboxContainer = this.checkboxContainer,
 optgroups = [],
 html = [],
 id = el.attr('id') || multiselectID++; // unique ID for the label & option tags
 
 // build items
 this.element.find('option').each(function( i ){
 var $this = $(this), 
 parent = this.parentNode,
 title = this.innerHTML,
 value = this.value,
 inputID = this.id || 'ui-multiselect-'+id+'-option-'+i, 
 isDisabled = this.disabled,
 isSelected = this.selected,
 labelClasses = ['ui-corner-all'],
 optLabel;
 // is this an optgroup?
 if( parent.tagName.toLowerCase() === 'optgroup' ){
 optLabel = parent.getAttribute('label');
 
 // has this optgroup been added already?
 if( $.inArray(optLabel, optgroups) === -1 ){
 html.push('<li class="ui-multiselect-optgroup-label"><a href="#">' + optLabel + '</a></li>');
 optgroups.push( optLabel );
 }
 }
 
 if( isDisabled ){
 labelClasses.push('ui-state-disabled');
 }

 // browsers automatically select the first option
 // by default with single selects
 if( isSelected && !o.multiple ){
 labelClasses.push('ui-state-active');
 }
 
 html.push('<li class="' + (isDisabled ? 'ui-multiselect-disabled' : '') + '">');
 
 // create the label
 html.push('<label for="'+inputID+'" class="'+labelClasses.join(' ')+ '">');
 html.push('<input id="'+inputID+'" name="multiselect_'+id+'" type="'+(o.multiple ? "checkbox" : "radio")+'" value="'+value+'" title="'+title+'"');

 // pre-selected?
 if( isSelected ){
 html.push(' checked="checked"');
 html.push(' aria-selected="true"');
 }

 // disabled?
 if( isDisabled ){
 html.push(' disabled="disabled"');
 html.push(' aria-disabled="true"');
 }

 // add the title and close everything off
 html.push(' /><span>' + title + '</span></label></li>');
 });
 // insert into the DOM
 checkboxContainer.html(html.join('')) ;

 // cache some moar useful elements
 //this.labels = menu.find('label');
 
 // set widths
 this._setButtonWidth();
 this._setMenuWidth();
 
 // remember default value
 this.button[0].defaultValue = this.update();
 
 // broadcast refresh event; useful for widgets
 
 },
 
 // updates the button text. call refresh() to rebuild
 update: function(){
 this.labels = this.menu.find('label');
 
 var o = this.options,
 $inputs = this.labels.find('input'),
 $checked = $inputs.filter(':checked'),
 numChecked = $checked.length,
 value;
 if( numChecked === 0 ){
 value = o.noneSelectedText;
 } else {
 if($.isFunction(o.selectedText)){
 value = o.selectedText.call(this, numChecked, $inputs.length, $checked.get());
 } else if( /\d/.test(o.selectedList) && o.selectedList > 0 && numChecked <= o.selectedList){
 value = $checked.map(function(){ return this.title; }).get().join(', ');
 } else {
 value = o.selectedText.replace('#', numChecked).replace('#', $inputs.length);
 }
 }
 $('#selectedText').html( value );
 return value;
 },
 
 // binds events
 _bindEvents: function(){
 var self = this, button = this.button;
 function clickHandler(){
 self[ self._isOpen ? 'close' : 'open' ]();
 return false;
 }
 
 // webkit doesn't like it when you click on the span :(
 button
 .find('span')
 .bind('click.multiselect', clickHandler);
 
 // button events
 button.bind({
 click: clickHandler,
 keypress: function(e){
 switch(e.which){
 case 27: // esc
 case 38: // up
 case 37: // left
 self.close();
 break;
 case 39: // right
 case 40: // down
 self.open();
 break;
 }
 },
 mouseenter: function(){
 if( !button.hasClass('ui-state-disabled') ){
 $(this).addClass('ui-state-hover');
 }
 },
 mouseleave: function(){
 $(this).removeClass('ui-state-hover');
 },
 focus: function(){
 if( !button.hasClass('ui-state-disabled') ){
 $(this).addClass('ui-state-focus');
 }
 },
 blur: function(){
 $(this).removeClass('ui-state-focus');
 }
 });

 // header links
 this.header
 .delegate('a', 'click.multiselect', function(e){
 // close link
 if( $(this).hasClass('ui-multiselect-close') ){
 self.close();
 
 // check all / uncheck all
 } else {
 self[ $(this).hasClass('ui-multiselect-all') ? 'checkAll' : 'uncheckAll' ]();
 }
 
 e.preventDefault();
 });
 
 // optgroup label toggle support
 this.menu
 .delegate('li.ui-multiselect-optgroup-label a', 'click.multiselect', function(e){
 e.preventDefault();
 var $this = $(this),
 $inputs = $this.parent().nextUntil('li.ui-multiselect-optgroup-label').find('input:visible:not(:disabled)'),
 nodes = $inputs.get(),
 label = $this.parent().text();
 
 // trigger event and bail if the return is false
 if( self._trigger('beforeoptgrouptoggle', e, { inputs:nodes, label:label }) === false ){
 return;
 }
 
 // toggle inputs
 self._toggleChecked(
 $inputs.filter(':checked').length !== $inputs.length,
 $inputs
 );

 self._trigger('optgrouptoggle', e, {
 inputs: nodes,
 label: label,
 checked: nodes[0].checked
 });
 })
 .delegate('label', 'mouseenter.multiselect', function(){
 if( !$(this).hasClass('ui-state-disabled') ){
 self.labels.removeClass('ui-state-hover');
 $(this).addClass('ui-state-hover').find('input').focus();
 };
 })
 .delegate('label', 'keydown.multiselect', function(e){
 e.preventDefault();
 switch(e.which){
 case 9: // tab
 case 27: // esc
 self.close();
 break;
 case 38: // up
 case 40: // down
 case 37: // left
 case 39: // right
 self._traverse(e.which, this);
 break;
 case 13: // enter
 $(this).find('input')[0].click();
 break;
 }
 })
 .delegate('input[type="checkbox"]:visible, input[type="radio"]:visible', 'click', function(e){
 var $this = $(this),
 val = this.value,
 checked = this.checked,
 tags = self.element.find('option');
 
 // bail if this input is disabled or the event is cancelled
 if( this.disabled || self._trigger('click', e, { value:val, text:this.title, checked:checked }) === false ){
 e.preventDefault();
 return;
 }
 
 // toggle aria state
 $this.attr('aria-selected', checked);
 
 // set the original option tag to selected
 
 
 // some additional single select-specific logic
 if( !self.options.multiple ){
 self.labels.removeClass('ui-state-active');
 $this.closest('label').toggleClass('ui-state-active', checked );
 
 // close menu
 self.close();
 }
 
 // setTimeout is to fix multiselect issue #14 and #47. caused by jQuery issue #3827
 // http://bugs.jquery.com/ticket/3827 
 setTimeout($.proxy(self.update, self), 10);
 });
 
 // close each widget when clicking on any other element/anywhere else on the page
 $(document).bind('mousedown.multiselect', function(e){
 if(self._isOpen && !$.contains(self.menu[0], e.target) && !$.contains(self.button[0], e.target) && e.target !== self.button[0]){
 self.close();
 }
 });
 
 // deal with form resets. the problem here is that buttons aren't
 // restored to their defaultValue prop on form reset, and the reset
 // handler fires before the form is actually reset. delaying it a bit
 // gives the form inputs time to clear.
 $(this.element[0].form).bind('reset.multiselect', function(){
 setTimeout(function(){ self.update(); }, 10);
 });
 },

 // set button width
 _setButtonWidth: function(){
 var width = this.element.outerWidth(),
 o = this.options;
 
 if( /\d/.test(o.minWidth) && width < o.minWidth){
 width = o.minWidth;
 }
 
 // set widths
 this.button.width( width );
 },
 
 // set menu width
 _setMenuWidth: function(){
 var m = this.menu,
 width = this.button.outerWidth()-
 parseInt(m.css('padding-left'),10)-
 parseInt(m.css('padding-right'),10)-
 parseInt(m.css('border-right-width'),10)-
 parseInt(m.css('border-left-width'),10);
 
 m.width( width || this.button.outerWidth() );
 },
 
 // move up or down within the menu
 _traverse: function(which, start){
 var $start = $(start),
 moveToLast = which === 38 || which === 37,
 
 // select the first li that isn't an optgroup label / disabled
 $next = $start.parent()[moveToLast ? 'prevAll' : 'nextAll']('li:not(.ui-multiselect-disabled, .ui-multiselect-optgroup-label)')[ moveToLast ? 'last' : 'first']();
 
 // if at the first/last element
 if( !$next.length ){
 var $container = this.menu.find('ul:last');
 
 // move to the first/last
 this.menu.find('label')[ moveToLast ? 'last' : 'first' ]().trigger('mouseover');
 
 // set scroll position
 $container.scrollTop( moveToLast ? $container.height() : 0 );
 
 } else {
 $next.find('label').trigger('mouseover');
 }
 },

 // This is an internal function to toggle the checked property and
 // other related attributes of a checkbox.
 //
 // The context of this function should be a checkbox; do not proxy it.
 _toggleCheckbox: function( prop, flag ){
 return function(){
 !this.disabled && (this[ prop ] = flag);

 if( flag ){
 this.setAttribute('aria-selected', true);
 } else {
 this.removeAttribute('aria-selected');
 }
 }
 },

 _toggleChecked: function(flag, group){
 var $inputs = (group && group.length) ?
 group :
 this.labels.find('input'),

 self = this;

 // toggle state on inputs
 $inputs.each(this._toggleCheckbox('checked', flag));
 
 // update button text
 this.update();
 
 // gather an array of the values that actually changed
 var values = $inputs.map(function(){
 return this.value;
 }).get();

 // toggle state on original option tags
 this.element
 .find('option')
 .each(function(){
 if( !this.disabled && $.inArray(this.value, values) > -1 ){
 self._toggleCheckbox('selected', flag).call( this );
 }
 });
 },

 _toggleDisabled: function( flag ){
 this.button
 .attr({ 'disabled':flag, 'aria-disabled':flag })[ flag ? 'addClass' : 'removeClass' ]('ui-state-disabled');
 
 this.menu
 .find('input')
 .attr({ 'disabled':flag, 'aria-disabled':flag })
 .parent()[ flag ? 'addClass' : 'removeClass' ]('ui-state-disabled');
 
 this.element
 .attr({ 'disabled':flag, 'aria-disabled':flag });
 },
 
 // open the menu
 open: function(e){
 var self = this,
 button = this.button,
 menu = this.menu,
 speed = this.speed,
 o = this.options;
 
 // bail if the multiselectopen event returns false, this widget is disabled, or is already open 
 if( this._trigger('beforeopen') === false || button.hasClass('ui-state-disabled') || this._isOpen ){
 return;
 }
 
 var $container = menu.find('ul:last'),
 effect = o.show,
 pos = button.position();
 
 // figure out opening effects/speeds
 if( $.isArray(o.show) ){
 effect = o.show[0];
 speed = o.show[1] || self.speed;
 }
 
 // set the scroll of the checkbox container
 $container.scrollTop(0).height(o.height);
 
 // position and show menu
 if( $.ui.position && !$.isEmptyObject(o.position) ){
 o.position.of = o.position.of || button;
 
 menu
 .show()
 .position( o.position )
 .hide()
 .show( effect, speed );
 
 // if position utility is not available...
 } else {
 menu.css({ 
 top: pos.top+button.outerHeight(),
 left: pos.left
 }).show( effect, speed );
 }
 
 // select the first option
 // triggering both mouseover and mouseover because 1.4.2+ has a bug where triggering mouseover
 // will actually trigger mouseenter. the mouseenter trigger is there for when it's eventually fixed
 this.labels.eq(0).trigger('mouseover').trigger('mouseenter').find('input').trigger('focus');
 
 button.addClass('ui-state-active');
 this._isOpen = true;
 this._trigger('open');
 },
 
 // close the menu
 close: function(){
 if(this._trigger('beforeclose') === false){
 return;
 }
 
 var o = this.options, effect = o.hide, speed = this.speed;
 
 // figure out opening effects/speeds
 if( $.isArray(o.hide) ){
 effect = o.hide[0];
 speed = o.hide[1] || this.speed;
 }
 
 this.menu.hide(effect, speed);
 this.button.removeClass('ui-state-active').trigger('blur').trigger('mouseleave');
 this._isOpen = false;
 this._trigger('close');
 },

 enable: function(){
 this._toggleDisabled(false);
 },
 
 disable: function(){
 this._toggleDisabled(true);
 },
 
 checkAll: function(e){
 this._toggleChecked(true);
 this._trigger('checkAll');
 },
 
 uncheckAll: function(){
 this._toggleChecked(false);
 this._trigger('uncheckAll');
 },
 
 getChecked: function(){
 return this.menu.find('input').filter(':checked');
 },
 
 destroy: function(){
 // remove classes + data
 $.Widget.prototype.destroy.call( this );
 
 this.button.remove();
 this.menu.remove();
 this.element.show();
 
 return this;
 },
 
 isOpen: function(){
 return this._isOpen;
 },
 
 widget: function(){
 return this.menu;
 },
 
 // react to option changes after initialization
 _setOption: function( key, value ){
 var menu = this.menu;
 
 switch(key){
 case 'header':
 menu.find('div.ui-multiselect-header')[ value ? 'show' : 'hide' ]();
 break;
 case 'checkAllText':
 menu.find('a.ui-multiselect-all span').eq(-1).text(value);
 break;
 case 'uncheckAllText':
 menu.find('a.ui-multiselect-none span').eq(-1).text(value);
 break;
 case 'height':
 menu.find('ul:last').height( parseInt(value,10) );
 break;
 case 'minWidth':
 this.options[ key ] = parseInt(value,10);
 this._setButtonWidth();
 this._setMenuWidth();
 break;
 case 'selectedText':
 case 'selectedList':
 case 'noneSelectedText':
 this.options[key] = value; // these all needs to update immediately for the update() call
 this.update();
 break;
 case 'classes':
 menu.add(this.button).removeClass(this.options.classes).addClass(value);
 break;
 }
 
 $.Widget.prototype._setOption.apply( this, arguments );
 }
});

})(jQuery);


 
(function($){
 var rEscape = /[\-\[\]{}()*+?.,\\^$|#\s]/g;
 
 $.widget("ech.multiselectfilter", {
 
 options: {
 label: "Filter:",
 width: null, 
 placeholder: "Enter keywords"
 },
 
 _create: function(){
 var self = this,
 opts = this.options,
 instance = (this.instance = $(this.element).data("multiselect")),
 
 // store header; add filter class so the close/check all/uncheck all links can be positioned correctly
 header = (this.header = instance.menu.find(".ui-multiselect-header").addClass("ui-multiselect-hasfilter")),
 
 // wrapper elem
 wrapper = (this.wrapper = $('<div class="ui-multiselect-filter">'+(opts.label.length ? opts.label : '')+'<input placeholder="'+opts.placeholder+'" type="search"' + (/\d/.test(opts.width) ? 'style="width:'+opts.width+'px"' : '') + ' /></div>').prependTo( this.header ));

 // reference to the actual inputs
 this.inputs = instance.menu.find('input[type="checkbox"], input[type="radio"]');
 
 // build the input box
 this.input = wrapper
 .find("input")
 .bind({
 keydown: function( e ){
 // prevent the enter key from submitting the form / closing the widget
 if( e.which === 13 ){
 e.preventDefault();
 }
 },
 keyup: $.proxy(self._handler, self),
 click: $.proxy(self._handler, self)
 });
 
 // cache input values for searching
 this.updateCache();
 
 // rewrite internal _toggleChecked fn so that when checkAll/uncheckAll is fired,
 // only the currently filtered elements are checked
 instance._toggleChecked = function(flag, group){
 var $inputs = (group && group.length) ?
 group :
 this.labels.find('input'),
 
 _self = this,

 // do not include hidden elems if the menu isn't open.
 selector = self.instance._isOpen ?
 ":disabled, :hidden" :
 ":disabled";

 $inputs = $inputs.not( selector ).each(this._toggleCheckbox('checked', flag));
 
 // update text
 this.update();
 
 // figure out which option tags need to be selected
 var values = $inputs.map(function(){
 return this.value;
 }).get();
 
 // select option tags
 this.element
 .find('option')
 .filter(function(){
 if( !this.disabled && $.inArray(this.value, values) > -1 ){
 _self._toggleCheckbox('selected', flag).call( this );
 }
 });
 };
 
 // rebuild cache when multiselect is updated
 $(document).bind("multiselectrefresh", function(){
 self.updateCache();
 self._handler();
 });
 },
 refresh: function(){
 this.updateCache();
 this._handler();
 },
 
 // thx for the logic here ben alman
 _handler: function( e ){
 var term = $.trim( this.input[0].value.toLowerCase() ),
 // speed up lookups
 rows = this.rows, inputs = this.inputs, cache = this.cache;
 if( !term || term == 'SEARCH_HOTEL'.translate().toLowerCase()){
 rows.show();
 } else {
 rows.hide();
 
 var regex = new RegExp(term.replace(rEscape, "\\$&"), 'gi');
 this._trigger( "filter", e, $.map(cache, function(v,i){
 if( v.search(regex) !== -1 ){
 rows.eq(i).show();
 return inputs.get(i);
 }
 return null;
 }));
 }

 // show/hide optgroups
 this.instance.menu.find(".ui-multiselect-optgroup-label").each(function(){
 var $this = $(this);
 $this[ $this.nextUntil('.ui-multiselect-optgroup-label').filter(':visible').length ? 'show' : 'hide' ]();
 });
 },
 
 updateCache: function(){
 // each list item
 this.rows = this.instance.menu.find(".ui-multiselect-checkboxes li:not(.ui-multiselect-optgroup-label)");
 // cache
 this.cache = this.instance.menu.find('input').map(function(){
 var self = $(this);
 
 // see _create() in jquery.multiselect.js
 if( !self.val().length ){
 return null;
 }
 return self.map(function(){
 return this.title.toLowerCase();
 }).get();
 }).get();
 },
 
 widget: function(){
 return this.wrapper;
 },
 
 destroy: function(){
 $.Widget.prototype.destroy.call( this );
 this.input.val('').trigger("keyup");
 this.wrapper.remove();
 }
 });
})(jQuery);

$(document).ready(function(){ 
 var header = { 
 
 initialized : false, 
 
 init : function(){ 
 if(this.initialized) 
 { 
 return; 
 } 
 this.initialized = true; 
 this.signinForm.init(); 
 this.languageSelector.init(); 
 this.currencySelector.init(); 
 this.locationSelector.init(); 
 }, 
 
 signinForm : { 
 init : function(){ 
 var f = $('#headerSigninForm'); 
 if(f.size() == 0) 
 { 
 return; 
 } 
 f.validationEngine({ 
 inlineValidation: false, 
 success : false, 
 failure : function() { 
 f.find(':submit').button('enable'); 
 } 
 }); 
 } 
 }, 
 
 languageSelector : { 
 init : function(){ 
 var o = $('#languageSelector'); 
 if(o.size() == 0) 
 { 
 return; 
 } 
 o.bind('change', function(){ 
 var o = $('#languageSelector').parents('.currency'); 
 o.find('img:first').css('visibility', 'hidden'); 
 document.location = o.find('i:first').text() + $(this).val(); 
 }); 
 } 
 }, 
 
 currencySelector : { 
 init : function(){ 
 var o = $('#currencySelector'); 
 if(o.size() == 0) 
 { 
 return; 
 } 
 o.bind('change', function(event, data){ 
 var val = $(this).val(); 
 $.ajax({ 
 url : '/a_index.changeSearchCurrency', 
 type : 'GET', 
 dataType : 'text', 
 timeout : 60000, 
 async : true, 
 cache : false, 
 data : { 
 search_currency_code: val 
 }, 
 success : function(responseData, textStatus, XMLHttpRequest) { 
 if (responseData) { 
 if (typeof recalculateItemsPrices == 'function') { 
 recalculateItemsPrices(responseData); 
 } 
 } 
 } 
 }); 
 }); 
 } 
 }, 
 
 locationSelector: { 
 init: function(){ 
 $('.drop-holder input').change(function(){ 
 
 document.location.href = this.value; 
 }) 
 } 
 } 
 } 
 
 var main = { 
 
 initialized : false, 
 
 init : function(){ 
 if(this.initialized) 
 { 
 return; 
 } 
 this.initialized = true; 
 $.datepicker.setDefaults($.extend($.datepicker.regional[$('#currentLanguage').text()], { 
 dateFormat: 'dd.mm.yy', 
 showAnim: 'fold', 
 minDate: '+0d', 
 maxDate: '+1y', 
 changeMonth: true, 
 changeYear: true, 
 showOn: 'focus' 
 })); 
 this.formErrors.init(); 
 
 }, 
 
 formErrors : { 
 
 close: function(fast){ 
 if(fast == true) 
 { 
 $('div.formError').remove(); 
 $('form .ui-state-error').remove(); 
 return; 
 } 
 $('div.formError').fadeOut(500, function(){ 
 $(this).remove(); 
 }) 
 $('form .ui-state-error').fadeOut(500, function(){ 
 $(this).remove(); 
 }); 
 }, 
 
 init : function(){ 
 
 $('body').bind('mousedown', function(){ 
 main.formErrors.close(true); 
 }); 
 } 
 } 
 } 
 
 
 
 
 main.init(); 
 header.init(); 
 initButtons(); 
 $('input[type="text"],input[type="password"],textarea').not('.datepicker').addClass('ui-widget-content').addClass('ui-corner-all'); 
 
 $('.pager-box a[href="#"]').bind('click', function(){return false;}) 
 
 var o = $('.messages:first'); 
 if(o.length) 
 { 
 $.scrollTo(o, {duration: 1000, offset: -50}); 
 } 
 
 $('.mandatory').append('<span class="icon-mandatory">&nbsp;</span>'); 
 
// $('form').each(function(){ 
// $(this).bind('submit', function(){ 
// $(this).find('input[type="submit"]').attr('disabled', 'disabled').addClass('ui-state-disabled'); 
// }); 
// }); 
 initTooltips(); 
 showTipsFavorites(); 
 initButtonToTop(); 
 initMainPage(); 
 
 
 
}); 
 
String.prototype.translate = function(params) 
{ 
 if(tm_l18n && tm_l18n[this]) 
 { 
 var str = tm_l18n[this], re; 
 if(params) 
 { 
 for(param in params) 
 { 
 re = new RegExp('%' + param + '%', 'g'); 
 str = str.replace(re, params[param]); 
 } 
 } 
 return str; 
 } 
 else 
 { 
 return this; 
 } 
 
} 
 
function initButtons() { 
 $('input.button,button,a.button').button(); 
} 
function initMainPage(){ 
 $('.offers .item').each(function(){ 
 var _hold = $(this); 
 _hold.find('.drop-box-holder').hide(); 
 _hold.find('.opener').click(function(){ 
 _hold 
 .addClass('open') 
 .find('.drop-box-holder') 
 .slideDown(); 
 return false; 
 }); 
 _hold.find('.hide').click(function(){ 
 _hold 
 .find('.drop-box-holder') 
 .slideUp(300, function(){ 
 _hold.removeClass('open'); 
 }); 
 return false; 
 }); 
 }) 
} 
// button go to top 
function initButtonToTop(){ 
 var page = $('body > div:eq(0)').attr('id') == 'container' ? $('#container') : $("body") 
 if (page.height()> 1500) { 
 $(function () { 
 $(window).scroll(function () { 
 if ($(this).scrollTop() > 300) { 
 $('#back-top').fadeIn(); 
 } else { 
 $('#back-top').fadeOut(); 
 } 
 }); 
 
 // прокрутить плавно тело документа к 0px при нажатии 
 $('#back-top').click(function () { 
 $('body,html').animate({ 
 scrollTop: 0 
 }, 800); 
 return false; 
 }); 
 }); 
 }; 
} 
function initTooltips(){ 
 $('.tooltip-holder').each(function(){ 
 var _tt = $(this).find('.tooltip'); 
 var _t = parseInt(_tt.css('top')); 
 var _l = parseInt(_tt.css('left')); 
 var _this = $(this); 
 if ($(this).find('.quest').length) { 
 _this = $(this).find('.quest'); 
 _l = _this.outerWidth(true) + 10; 
 } 
 _tt.appendTo('body'); 
 $(this).mouseenter(function(){ 
 _tt.stop().css({ 
 opacity: 0, 
 top: _this.offset().top + _t, 
 left: _this.offset().left + _l 
 }).show().animate({opacity:1},{duration:300, queue: false}) 
 }).mouseleave(function(){ 
 _tt.stop().animate({opacity:0},{duration:300, queue: false, complete:function(){$(this).hide();}}) 
 }) 
 }); 
 $('.rooms-available, .food').live('mouseenter', function(){ 
 var _qw = $(this)//.find('.quest'); 
 var _left = _qw.offset().left; 
 if (_left > $('body').width() - $('#tt-'+_qw.attr('rel')).outerWidth() ) _left = $('body').width() - $('#tt-'+_qw.attr('rel')).outerWidth() -20; 
 $('#tt-'+_qw.attr('rel')).css({ 
 opacity: 0, 
 top: _qw.offset().top+18, 
 left: _left 
 }).stop().show().animate({opacity:1},{duration:300, queue: false}) 
 }).live('mouseleave', function(){ 
 $('.tooltip').stop().animate({opacity:0},{duration:300, queue: false, complete:function(){$(this).hide();}}); 
 }) 
} 
function showTipsFavorites(){ 
 $('.must-registration').appendTo('body').hide(); 
 var _tt; 
 $('.favorites a').each(function(){ 
 var _hold = $(this); 
 var _t; 
 _hold 
 .mouseenter(function(){ 
 if (_t) clearTimeout(_t); 
 _hold.addClass('hover'); 
 _tt = $('.reg-'+_hold.text()); 
 if (_hold.hasClass('add')) return; 
 _tt 
 .show() 
 .css({ 
 top: _hold.offset().top, 
 left: _hold.offset().left -_tt.outerWidth()/2+7 
 }) 
 .mouseenter(function(){ 
 if (_t) clearTimeout(_t); 
 }) 
 .mouseleave(function(){ 
 if (_t) clearTimeout(_t); 
 _t = setTimeout(function(){ 
 _tt.hide().unbind('mouseenter').unbind('mouseleave'); 
 _hold.removeClass('hover'); 
 if (_t) clearTimeout(_t); 
 },10) 
 }); 
 }) 
 .mouseleave(function(){ 
 if (_t) clearTimeout(_t); 
 _t = setTimeout(function(){ 
 _tt.hide().unbind('mouseenter').unbind('mouseleave'); 
 _hold.removeClass('hover'); 
 if (_t) clearTimeout(_t); 
 },10) 
 }); 
 
 }) 
} 
function addBuildNumToPath(path) { 
 var buildNum = $('#buildNum').text(); 
 if (buildNum) { 
 return path.replace(/(\.\w+)$/, '.' + buildNum + '$1'); 
 } 
 return path; 
} 
function disablePage(){ 
 if ($('.overlay').length) $('.overlay').height($('body').height()).addClass('white').show(); 
 else $('<div class="overlay white">').height($('body').height()).appendTo('body'); 
} 
function enablePage(){ 
 $('.overlay').removeClass('white').hide(); 
}
