AAAAviews/index.html000066600000000000151371543200007671 0ustar00views/form/index.html000066600000000000151371543200010634 0ustar00views/form/.htaccess000066600000000177151371543200010454 0ustar00 Order allow,deny Deny from all views/form/metadata.xml000066600000000230151371543200011146 0ustar00 views/form/tmpl/default.xml000066600000001360151371543200011773 0ustar00 Display Form
views/form/tmpl/.htaccess000066600000000177151371543200011430 0ustar00 Order allow,deny Deny from all views/form/tmpl/index.html000066600000000000151371543200011610 0ustar00views/.htaccess000066600000000177151371543200007511 0ustar00 Order allow,deny Deny from all background.png000066600000000307151371543200007376 0ustar00PNG  IHDRx(5>%gAMA7tEXtSoftwareAdobe ImageReadyqe<YIDATx 0IX;Ioc````,,,XXX 0````M=!~IENDB`chrono_verification.php000066600000007337151371543200011326 0ustar00<,.|\"'[{]}_=+*&^%$#@!~"; $rand2 = substr(str_shuffle($alphanum), 0, 7); //$_SESSION['chrono_verification'] = md5(strtolower($rand)); $session->set("chrono_verification", md5(strtolower($rand)), md5('chrono')); header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); header("Cache-Control: no-store, no-cache, must-revalidate"); header("Cache-Control: post-check=0, pre-check=0", false); header("Pragma: no-cache"); header("Content-type: image/png"); //$rand = session_name(); if(JRequest::getVar('imtype') == '1'){ $font = dirname(__FILE__).'/default.ttf'; $image_size = imagettfbbox(20, 0, $font, 'X'); $image_size = 5*(abs($image_size[2] - $image_size[0])+7); $im = imagecreatetruecolor($image_size, 40); // Create some colors $white = imagecolorallocate($im, 255, 255, 255); $grey = imagecolorallocate($im, 128, 128, 128); $greylight = imagecolorallocate($im, 199, 199, 199); $black = imagecolorallocate($im, 0, 0, 0); imagefilledrectangle($im, 0, 0, $image_size -1, 39, $white); // The text to draw $text = $rand; // Replace path by your own font path $font = dirname(__FILE__).'/default.ttf'; $chars = array(); $chars2 = array(); for ($i = 0; $i < strlen($text); $i++) { $chars[] = $text[$i]; } for ($i = 0; $i < strlen($rand2); $i++) { $chars2[] = $rand2[$i]; } //$chars = str_split($text); //$chars2 = str_split($rand2); // Add some shadow to the text //imagettftext($im, 20, 0, 11, 21, $grey, $font, $text); $size2 = 20; $angle2 = 0; $x2 = 10; $y2 = 25; $bbox2 = array(); $bbox2[0] = 0; $bbox2[2] = 0; foreach($chars2 as $char2){ $angle2 = rand(-20, 20); $size2 = rand(15, 20); $y2 = rand(0, 40); imagettftext($im, $size2, $angle2, $x2, $y2, $greylight, $font, $char2); $bbox2 = imagettfbbox($size2, $angle2, $font, $char2); $x2 = $x2 + abs($bbox2[2] - $bbox2[0]) + 3; } $size = 20; $angle = 0; $x = 10; $y = 25; $bbox = array(); $bbox[0] = 0; $bbox[2] = 0; // Add the text foreach($chars as $char){ $angle = rand(-20, 20); //$size = rand(15, 20); imagettftext($im, $size, $angle, $x, $y, $black, $font, $char); $bbox = imagettfbbox($size, $angle, $font, $char); $x = $x + abs($bbox[2] - $bbox[0]) + 3; } // Using imagepng() results in clearer text compared with imagejpeg() imagepng($im); imagedestroy($im); }else{ $image = imagecreatefrompng(dirname(__FILE__).'/background.png'); $greylight = imagecolorallocate($image, 199, 199, 199); $black = imagecolorallocate($image, 0, 0, 0); imagestring ($image, 5, 8, 14, $rand2, $greylight); imagestring ($image, 5, 5, 11, $rand, $black); header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); header("Cache-Control: no-store, no-cache, must-revalidate"); header("Cache-Control: post-check=0, pre-check=0", false); header("Pragma: no-cache"); header('Content-type: image/png'); imagepng($image); imagedestroy($image); } ?>chronoforms.html.php000066600000003665151371543200010576 0ustar00form_output; if(empty($form->form_name)){ $form->form_output = 'There is no form with this name!'; }else{ if(!empty($form->main_event_actions)){ foreach($form->main_event_actions as $action => $actiondata){ if($actiondata->type == '_STOP_'){ break; } if(!empty($actiondata->id)){ if(in_array($actiondata->id, $viewed_actions)){ continue; }else{ $viewed_actions[] = $actiondata->id; } } $viewFile = JPATH_SITE.DS."administrator".DS."components".DS."com_chronoforms".DS.'form_actions'.DS.$actiondata->type.DS.'cfaction_'.$actiondata->type.'.ctp'; if(file_exists($viewFile)){ ob_start(); require($viewFile); $form->form_output .= ob_get_clean(); }else{ if(isset($actiondata->required) && ($actiondata->required == 1)){ die('Action file is missing.'); } } } } } echo $form->form_output; $form->form_output = ''; } public static function loadWidget($form, $type, $params = array()){ $widFile = JPATH_SITE.DS."administrator".DS."components".DS."com_chronoforms".DS.'form_widgets'.DS.$type.DS.'output_'.$type.'.ctp'; if(file_exists($widFile)){ ob_start(); require($widFile); $output = ob_get_clean(); return $output; }else{ return ''; } } } ?>.htaccess000066600000000177151371543200006354 0ustar00 Order allow,deny Deny from all default.ttf000066600000062224151371543200006722 0ustar00 0OS/2tNcmap,; glyfvXhead%ڋ]6hheal]$hmtxy1]loca`pmaxpjb name3cApostd` kernd} @ ,d !"#$%'&()`IJKBCDEFZN[PO]H W LjMk\l-./01G279,+86*>3@4A?:;<=5YXSRT_UVz{Qopmnsqrthiacfg|uyebwx" Sax    " & 0 :!"" R`x    & 0 9!"""d !"#$%'&()`IJKBCDEFZN[PO]H W LjMk\l-./01G279,+86*>3@4A?:;<=5{pqomnr}~YXSRQT_U|V^tvsxhifgeacbzywu  }EOjr$ET$3"m+!rN4)`@@_OT~z z +6^ X$W ^ [u7<z? 9^/a;T0? 9^/S;jz)t&T$3"m+!rN~P'`@@_OT~z zK #B|pOxOQD~SP@u% i  W-rDx#HJOCs /m O jz/j$35#UT+!rNNr!+@_Xhh[`@z?,68*@z xH{yUUB\ *W>) Mdj3F+!rN^HUT$35#yF8*@z z`@@_Xh^f xN||:m=Ui|RF]o7-`s'ynI)RuBC:dHr`oR5p[ J2> k7"qq<~~('Uia<rLLUOH  O` f^#"^: K65JWZyC Ch5Z0dgI0;-7{@7a?D-C?@65D'B'BByyBL&-4a@\h}2W U?]I-qyeV LbU#oPyZEoj %/3LKvKIw+vKIwuLKN:dodk`u^k`u_dodOR3 )2leMy82 7,; -mCy&]79RM F;J8|,8yBU,Wi<H`H}. ^_Rh.>_"!`+. +R^_[iLE.-FLKR-\V>{>V]R^hi^:^^9bn J`JTIaJh`hg0`0nni/6O p]\q_^kivu^%7}7&V+V4<+zx+<4hi5sq7B/V\YV\T0Bq\*LL)\ NGh[<o \ujE!:Q_-+v`m:;7DkB@ixI..zw9EL#vDf|0vwl!av,,`P:cl;;lK;78:MOI66roVzlc?`zd@/7u|AKiz/n<w`ay/{HPNjivd[ sv,,`nc;ol;[K;78:MmNhqq56$YtHVM|:OL{CB[  h*6OgZEK EZ\<ay/{HPNjiv`//?!cm8{y/0{HPNjivjiv[t U|;t~q~_/ r) ''H*)) xb##PY[ hBf>^')Z[!m_-+v;mm:[yk@AjB8hxx./ uZWu/U[ujknEargi{L3-HhJNq ;`<{oM!hdS(<7^s%4/PgKmqVgyjj=} / .1 !-PPKJ^]qsjgfk's:` Ps,> }dd|`//00h`/hg0/dO 8aw!-#ftO@&i<he R?=Q kQ-:;,So "`Ntq4#R}}R$5!5xv\T{sq@wt%TZ;C IVVf^zWT}CC:!/+,*F!L Sl0t(jHhy/ \PFlbZW{uZYzaaT4{lm{|u/\;(.{=.yy-.>{t~bn!b  `g`O @cMoG5\/W S X)LF&~r]Ca,xEqh%a][HJBfa=K\"3/E/g<Y0ECTb)*M0$}n/kaIyP.jCcWYTmly~~('KUia< ##jz/37j$35#UT+!rNNr!+q@_Xhh[`@z?,68*@z^##7z!%)?R@!+l\m0K[jh\{l|j@<lL:##V+/3V4<+zx+<4hi5sq7jB/V\YV\T0Bq\*LL)\##uZWu/U[ujkn##?0 #|WW|RK66K }EOW||WK66K*-jE};O""am.a STTam.aT kj3mygNI vzhl.-E}<O;.-$E}<O*X0hLHGPGQcYQsch0hh0QGYQsGi/hi/XGXrGiifc0fch0fG0fGfG0fGi/C%C<..<*%3@@"@Y@p<7 + +KVp K99WW886_V;<ilnJe (8cZA?> Z22459/cb d_ QL#c`:,-3*<]W [^e/?/5qmddr}MJX;9D22459/cb d_TUT44w|83<,-3*=]W [^:E :..3/320/320.9 66bbbT - c;}G8)Os}?,?9 ^xW||F(p_N&(r(F&-,)*,HGGG ^X,*)**'GGGH%=r;KF&-,)*,HGGG  lBB ;#$$$,*)**'GGGHOM~#"#'S*%A>**rDF&-,)*,HGGG?,%$*E/-fj.1pDEx,*)**'GGGH04FH31N z!Ar*-F&-,)*,HGGG>n>,*)**'GGGH-xJCrRF&-,)*,HGGGK41AExg@A|(2<%',*)**'GGGHG0%#nDBn;;q#"<M"!r<F&-,)*,HGGG.0DCwDKeu,*)**'GGGHT h6141;((LLjL`r%F&-,)*,HGGGXN,*)**'GGGH|4q?@X_,*PF+,])'{t^Z]_N.2nPP\# fwZs$$%*$+(MJ%$%7VRQO3S^XLM..8VcaG5jL$N=4#N(%8:&&(%8:&&`:(')(;'''&VKY5BZv}VmZVW%Yj-YRJzRMs}#+80|MHnMZDJ< $cI95<N53djB%-vz34yZjkW5Z0< Efe)ogV:' VW*)``('%99&'R;'')'$={0@A*%Y KJyOL=pi:%""5/rEE"7:%!$Ha$i.ZQJ{QNrH*80~KGn%r]%RRw{POc91NO52}TRUT{95OP83N< FFU0$,eR/-#GEo/VW)'(d_(<zBHk}HZ#=m+# 'TV% po##II$|Z41(Y[%41Z18`)/9% 9dna`opknroqb'*;*+-*).FGFFeZxYm&*)*)-* FFFFDIb2;F;*+-*).FGFFu<<P22afC$$<*)*)-* FFFF-t9 ~;2bC;*+-*).FGFFEsr__)^ECQ:9*)*)-* FFFF|{{{z< +)P&=l,r82b+95\!ea &,^F::7HW::%9 Z7-V&5V4 5NeLVL0I4{*WxNolq>,] ~   EkwRySwkEN7Npmgdb6SCHP#<5@4,801GP cojE'Xwz &^'YV*<98)8aJibX_bgM_jGLK{|JJrf[`djKac_e yQN;.*"#+H7wbyvyWWe++6+=36(';5Q0bW*$He%l<;zz<=g"kEHWW3+&1a/9R:5*&K+50B C22< 11FE31y=f!=<`6879.>6(;+(!GfC760*9aCP^m4AYo@A)&Y KKyNM>q j:%!WmO"4.rEE"7:%!ChBCicdehjgifgjfUcK  fcnERRMp6<9\(!+"" wmB?6 $Ny*TSS0`tsq6 N.,e40\XXXXn~C9mL!!Q!.Akjzz]eHED,vvo76z<:Q!_x4t]W==/=< ia`lm2{:8}~/'_<?p,,/ rj rKj/ xjj rI&C&j/R9}9+KbAnOV&&9&V9AK&dEK&K9-Mj1&dC99-bfO=K j7VKraaaHQQUXfffZC.*V@KReRen:b.ZThrhrhrhrhrhrhrh4sNVVeD<\:6$${%rNF$(B#9bbbbbb&p5IN8c;NWY6NWN=a-CzU 6NQQLLLL6`,Xl  |  Z  X^n:l"*|$P@x !b!"##T##%%&'$(P)6*N*++,f,,,-\-..J.../*/L/n////0(0J0l02 3r34 457n89;<=?h@.@AB\BCCnDrEEEFFFFGH*IJKLM MNOPZPQQRSTUJUV|WdXXYf3 ,I u , ,DIN 1451 MittelschriftRegularDIN 1451 MittelschriftDIN 1451 MittelschriftDIN 1451 MittelschriftRegularDIN 1451 MittelschriftDIN 1451 Mittelschriftchronoforms.php000066600000005217151371543200007626 0ustar00params = $string; }else{ $this->setParams($string); } } function get($k, $v = null){ if(array_key_exists($k, $this->params)){ return $this->params[$k]; }else{ return $v; } } function set($k, $v){ $this->params[$k] = $v; } function setParams($string = ''){ if(strlen(trim(($string))) > 0){ $data = json_decode($string, true); $this->params = $data; }else{ $this->params = array(); } } function toString(){ return json_encode($this->params); } function toArray(){ return $this->params; } function toObject(){ return json_decode(json_encode($this->params)); } } } /** * Load the HTML class */ //require_once(JApplicationHelper::getPath('front_html')); require_once(JPATH_SITE.DS.'components'.DS.'com_chronoforms'.DS.'chronoforms.html.php'); //require_once(JApplicationHelper::getPath('class')); require_once(JPATH_BASE.DS.'includes'.DS.'defines.php'); require_once(JPATH_BASE.DS.'includes'.DS.'framework.php'); $mainframe = JFactory::getApplication('site'); //$mainframe->initialise(); //load chronoforms classes require_once(JPATH_BASE.DS.'components'.DS.'com_chronoforms'.DS.'libraries'.DS.'chronoform.php'); jimport('joomla.application.component.controller'); jimport('joomla.application.component.helper'); jimport('joomla.html.parameter'); $mainframe = JFactory::getApplication(); $formname = JRequest::getVar('chronoform'); $event = JRequest::getVar('event'); if(empty($formname)){ $params = $mainframe->getPageParameters('com_chronoforms'); $formname = $params->get('formname'); if(empty($event)){ $event = $params->get('event'); } } $MyForm = CFChronoForm::getInstance($formname); if(empty($MyForm->form_name)){ echo "There is no form with this name or may be the form is unpublished, Please check the form and the url and the form management."; return; } //Main switch statement if(empty($event)){ $event = 'load'; } process($MyForm, $event); /*switch($task){ case 'submit': process($MyForm, 'submit'); break; default: process($MyForm, $task); break; }*/ function process($form, $event = ''){ $form->process($event); HTML_ChronoForms::processView($form); } ?>index.html000066600000000054151371543200006545 0ustar00js/datepicker/datepicker.js000066600000060453151371543200011761 0ustar00/** * datepicker.js - MooTools Datepicker class * @version 1.17 * * by MonkeyPhysics.com * * Source/Documentation available at: * http://www.monkeyphysics.com/mootools/script/2/datepicker * * -- * * Smoothly animating, very configurable and easy to install. * No Ajax, pure Javascript. 4 skins available out of the box. * * -- * * Some Rights Reserved * http://creativecommons.org/licenses/by-sa/3.0/ * */ var DatePicker = new Class({ Implements: Options, // working date, which we will keep modifying to render the calendars d: '', // just so that we need not request it over and over today: '', // current user-choice in date object format choice: {}, // size of body, used to animate the sliding bodysize: {}, // to check availability of next/previous buttons limit: {}, // element references: attachTo: null, // selector for target inputs picker: null, // main datepicker container slider: null, // slider that contains both oldContents and newContents, used to animate between 2 different views oldContents: null, // used in animating from-view to new-view newContents: null, // used in animating from-view to new-view input: null, // original input element (used for input/output) visual: null, // visible input (used for rendering) options: { pickerClass: 'datepicker', days: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], dayShort: 2, monthShort: 3, startDay: 1, // Sunday (0) through Saturday (6) - be aware that this may affect your layout, since the days on the right might have a different margin timePicker: false, timePickerOnly: false, yearPicker: true, yearsPerPage: 20, format: 'd-m-Y', allowEmpty: false, inputOutputFormat: 'U', // default to unix timestamp animationDuration: 400, useFadeInOut: !Browser.Engine.trident, // dont animate fade-in/fade-out for IE startView: 'month', // allowed values: {time, month, year, decades} positionOffset: { x: 0, y: 0 }, minDate: null, // { date: '[date-string]', format: '[date-string-interpretation-format]' } maxDate: null, // same as minDate debug: false, toggleElements: null, // and some event hooks: onShow: $empty, // triggered when the datepicker pops up onClose: $empty, // triggered after the datepicker is closed (destroyed) onSelect: $empty // triggered when a date is selected }, initialize: function(attachTo, options) { this.attachTo = attachTo; this.setOptions(options).attach(); if (this.options.timePickerOnly) { this.options.timePicker = true; this.options.startView = 'time'; } this.formatMinMaxDates(); document.addEvent('mousedown', this.close.bind(this)); }, formatMinMaxDates: function() { if (this.options.minDate && this.options.minDate.format) { this.options.minDate = this.unformat(this.options.minDate.date, this.options.minDate.format); } if (this.options.maxDate && this.options.maxDate.format) { this.options.maxDate = this.unformat(this.options.maxDate.date, this.options.maxDate.format); this.options.maxDate.setHours(23); this.options.maxDate.setMinutes(59); this.options.maxDate.setSeconds(59); } }, attach: function() { // toggle the datepicker through a separate element? if ($chk(this.options.toggleElements)) { var togglers = $$(this.options.toggleElements); document.addEvents({ 'keydown': function(e) { if (e.key == "tab") { this.close(null, true); } }.bind(this) }); }; // attach functionality to the inputs $$(this.attachTo).each(function(item, index) { // never double attach if (item.retrieve('datepicker')) return; // determine starting value(s) if ($chk(item.get('value'))) { var init_clone_val = this.format(new Date(this.unformat(item.get('value'), this.options.inputOutputFormat)), this.options.format); } else if (!this.options.allowEmpty) { var init_clone_val = this.format(new Date(), this.options.format); //max hack var init_orig_val = this.format(new Date(), this.options.inputOutputFormat); item.set('value', init_orig_val); //end max hack } else { var init_clone_val = ''; } // create clone var display = item.getStyle('display'); //max hack for date validation if($chk(item.get('id'))){ var new_id = item.get('id')+'_clone_id'; }else{ var new_id = item.get('name')+'_clone_id'; } //max hack for date validation var display = item.getStyle('display'); var clone = item .setStyle('display', this.options.debug ? display : 'none') .store('datepicker', true) // to prevent double attachment... .clone() .set('id', new_id)//max hack for date validation .store('datepicker', true) // ...even for the clone (!) .removeProperty('name') // secure clean (form)submission .setStyle('display', display) .set('value', init_clone_val) .inject(item, 'after'); // events if ($chk(this.options.toggleElements)) { togglers[index] .setStyle('cursor', 'pointer') .addEvents({ 'click': function(e) { this.onFocus(item, clone); }.bind(this) }); clone.addEvents({ 'blur': function() { item.set('value', clone.get('value')); } }); } else { clone.addEvents({ 'keydown': function(e) { if (this.options.allowEmpty && (e.key == "delete" || e.key == "backspace")) { item.set('value', ''); e.target.set('value', ''); this.close(null, true); } else if (e.key == "tab") { this.close(null, true); } else { e.stop(); } }.bind(this), 'focus': function(e) { this.onFocus(item, clone); }.bind(this) }); } }.bind(this)); }, onFocus: function(original_input, visual_input) { var init_visual_date, d = visual_input.getCoordinates(); if ($chk(original_input.get('value'))) { init_visual_date = this.unformat(original_input.get('value'), this.options.inputOutputFormat).valueOf(); } else { init_visual_date = new Date(); if ($chk(this.options.maxDate) && init_visual_date.valueOf() > this.options.maxDate.valueOf()) { init_visual_date = new Date(this.options.maxDate.valueOf()); } if ($chk(this.options.minDate) && init_visual_date.valueOf() < this.options.minDate.valueOf()) { init_visual_date = new Date(this.options.minDate.valueOf()); } } this.show({ left: d.left + this.options.positionOffset.x, top: d.top + d.height + this.options.positionOffset.y }, init_visual_date); this.input = original_input; this.visual = visual_input; this.options.onShow(); }, dateToObject: function(d) { return { year: d.getFullYear(), month: d.getMonth(), day: d.getDate(), hours: d.getHours(), minutes: d.getMinutes(), seconds: d.getSeconds() }; }, dateFromObject: function(values) { var d = new Date(); d.setDate(1); ['year', 'month', 'day', 'hours', 'minutes', 'seconds'].each(function(type) { var v = values[type]; if (!$chk(v)) return; switch (type) { case 'day': d.setDate(v); break; case 'month': d.setMonth(v); break; case 'year': d.setFullYear(v); break; case 'hours': d.setHours(v); break; case 'minutes': d.setMinutes(v); break; case 'seconds': d.setSeconds(v); break; } }); return d; }, show: function(position, timestamp) { this.formatMinMaxDates(); if ($chk(timestamp)) { this.d = new Date(timestamp); } else { this.d = new Date(); } this.today = new Date(); this.choice = this.dateToObject(this.d); this.mode = (this.options.startView == 'time' && !this.options.timePicker) ? 'month' : this.options.startView; this.render(); this.picker.setStyles(position); }, render: function(fx) { if (!$chk(this.picker)) { this.constructPicker(); } else { // swap contents so we can fill the newContents again and animate var o = this.oldContents; this.oldContents = this.newContents; this.newContents = o; this.newContents.empty(); } // remember current working date var startDate = new Date(this.d.getTime()); // intially assume both left and right are allowed this.limit = { right: false, left: false }; // render! booty! if (this.mode == 'decades') { this.renderDecades(); } else if (this.mode == 'year') { this.renderYear(); } else if (this.mode == 'time') { this.renderTime(); this.limit = { right: true, left: true }; // no left/right in timeview } else { this.renderMonth(); } this.picker.getElement('.previous').setStyle('visibility', this.limit.left ? 'hidden' : 'visible'); this.picker.getElement('.next').setStyle('visibility', this.limit.right ? 'hidden' : 'visible'); this.picker.getElement('.titleText').setStyle('cursor', this.allowZoomOut() ? 'pointer' : 'default'); // restore working date this.d = startDate; // if ever the opacity is set to '0' it was only to have us fade it in here // refer to the constructPicker() function, which instantiates the picker at opacity 0 when fading is desired if (this.picker.getStyle('opacity') == 0) { this.picker.tween('opacity', 0, 1); } // animate if ($chk(fx)) this.fx(fx); }, fx: function(fx) { if (fx == 'right') { this.oldContents.setStyles({ left: 0, opacity: 1 }); this.newContents.setStyles({ left: this.bodysize.x, opacity: 1 }); this.slider.setStyle('left', 0).tween('left', 0, -this.bodysize.x); } else if (fx == 'left') { this.oldContents.setStyles({ left: this.bodysize.x, opacity: 1 }); this.newContents.setStyles({ left: 0, opacity: 1 }); this.slider.setStyle('left', -this.bodysize.x).tween('left', -this.bodysize.x, 0); } else if (fx == 'fade') { this.slider.setStyle('left', 0); this.oldContents.setStyle('left', 0).set('tween', { duration: this.options.animationDuration / 2 }).tween('opacity', 1, 0); this.newContents.setStyles({ opacity: 0, left: 0}).set('tween', { duration: this.options.animationDuration }).tween('opacity', 0, 1); } }, constructPicker: function() { this.picker = new Element('div', { 'class': this.options.pickerClass }).inject(document.body); if (this.options.useFadeInOut) { this.picker.setStyle('opacity', 0).set('tween', { duration: this.options.animationDuration }); } var h = new Element('div', { 'class': 'header' }).inject(this.picker); var titlecontainer = new Element('div', { 'class': 'title' }).inject(h); new Element('div', { 'class': 'previous' }).addEvent('click', this.previous.bind(this)).set('text', '«').inject(h); new Element('div', { 'class': 'next' }).addEvent('click', this.next.bind(this)).set('text', '»').inject(h); new Element('div', { 'class': 'closeButton' }).addEvent('click', this.close.bindWithEvent(this, true)).set('text', 'x').inject(h); new Element('span', { 'class': 'titleText' }).addEvent('click', this.zoomOut.bind(this)).inject(titlecontainer); var b = new Element('div', { 'class': 'body' }).inject(this.picker); this.bodysize = b.getSize(); this.slider = new Element('div', { styles: { position: 'absolute', top: 0, left: 0, width: 2 * this.bodysize.x, height: this.bodysize.y }}) .set('tween', { duration: this.options.animationDuration, transition: Fx.Transitions.Quad.easeInOut }).inject(b); this.oldContents = new Element('div', { styles: { position: 'absolute', top: 0, left: this.bodysize.x, width: this.bodysize.x, height: this.bodysize.y }}).inject(this.slider); this.newContents = new Element('div', { styles: { position: 'absolute', top: 0, left: 0, width: this.bodysize.x, height: this.bodysize.y }}).inject(this.slider); }, renderTime: function() { var container = new Element('div', { 'class': 'time' }).inject(this.newContents); if (this.options.timePickerOnly) { this.picker.getElement('.titleText').set('text', 'Select a time'); } else { this.picker.getElement('.titleText').set('text', this.format(this.d, 'j M, Y')); } new Element('input', { type: 'text', 'class': 'hour' }) .set('value', this.leadZero(this.d.getHours())) .addEvents({ mousewheel: function(e) { var i = e.target, v = i.get('value').toInt(); i.focus(); if (e.wheel > 0) { v = (v < 23) ? v + 1 : 0; } else { v = (v > 0) ? v - 1 : 23; } i.set('value', this.leadZero(v)); e.stop(); }.bind(this) }) .set('maxlength', 2) .inject(container); new Element('input', { type: 'text', 'class': 'minutes' }) .set('value', this.leadZero(this.d.getMinutes())) .addEvents({ mousewheel: function(e) { var i = e.target, v = i.get('value').toInt(); i.focus(); if (e.wheel > 0) { v = (v < 59) ? v + 1 : 0; } else { v = (v > 0) ? v - 1 : 59; } i.set('value', this.leadZero(v)); e.stop(); }.bind(this) }) .set('maxlength', 2) .inject(container); new Element('div', { 'class': 'separator' }).set('text', ':').inject(container); new Element('input', { type: 'submit', value: 'OK', 'class': 'ok' }) .addEvents({ click: function(e) { e.stop(); this.select($merge(this.dateToObject(this.d), { hours: this.picker.getElement('.hour').get('value').toInt(), minutes: this.picker.getElement('.minutes').get('value').toInt() })); }.bind(this) }) .set('maxlength', 2) .inject(container); }, renderMonth: function() { var month = this.d.getMonth(); this.picker.getElement('.titleText').set('text', this.options.months[month] + ' ' + this.d.getFullYear()); this.d.setDate(1); while (this.d.getDay() != this.options.startDay) { this.d.setDate(this.d.getDate() - 1); } var container = new Element('div', { 'class': 'days' }).inject(this.newContents); var titles = new Element('div', { 'class': 'titles' }).inject(container); var d, i, classes, e, weekcontainer; for (d = this.options.startDay; d < (this.options.startDay + 7); d++) { new Element('div', { 'class': 'title day day' + (d % 7) }).set('text', this.options.days[(d % 7)].substring(0,this.options.dayShort)).inject(titles); } var available = false; var t = this.today.toDateString(); var currentChoice = this.dateFromObject(this.choice).toDateString(); for (i = 0; i < 42; i++) { classes = []; classes.push('day'); classes.push('day'+this.d.getDay()); if (this.d.toDateString() == t) classes.push('today'); if (this.d.toDateString() == currentChoice) classes.push('selected'); if (this.d.getMonth() != month) classes.push('otherMonth'); if (i % 7 == 0) { weekcontainer = new Element('div', { 'class': 'week week'+(Math.floor(i/7)) }).inject(container); } e = new Element('div', { 'class': classes.join(' ') }).set('text', this.d.getDate()).inject(weekcontainer); if (this.limited('date')) { e.addClass('unavailable'); if (available) { this.limit.right = true; } else if (this.d.getMonth() == month) { this.limit.left = true; } } else { available = true; e.addEvent('click', function(e, d) { if (this.options.timePicker) { this.d.setDate(d.day); this.d.setMonth(d.month); this.mode = 'time'; this.render('fade'); } else { this.select(d); } }.bindWithEvent(this, { day: this.d.getDate(), month: this.d.getMonth(), year: this.d.getFullYear() })); } this.d.setDate(this.d.getDate() + 1); } if (!available) this.limit.right = true; }, renderYear: function() { var month = this.today.getMonth(); var thisyear = this.d.getFullYear() == this.today.getFullYear(); var selectedyear = this.d.getFullYear() == this.choice.year; this.picker.getElement('.titleText').set('text', this.d.getFullYear()); this.d.setMonth(0); var i, e; var available = false; var container = new Element('div', { 'class': 'months' }).inject(this.newContents); for (i = 0; i <= 11; i++) { e = new Element('div', { 'class': 'month month'+(i+1)+(i == month && thisyear ? ' today' : '')+(i == this.choice.month && selectedyear ? ' selected' : '') }) .set('text', this.options.monthShort ? this.options.months[i].substring(0, this.options.monthShort) : this.options.months[i]).inject(container); if (this.limited('month')) { e.addClass('unavailable'); if (available) { this.limit.right = true; } else { this.limit.left = true; } } else { available = true; e.addEvent('click', function(e, d) { this.d.setDate(1); this.d.setMonth(d); this.mode = 'month'; this.render('fade'); }.bindWithEvent(this, i)); } this.d.setMonth(i); } if (!available) this.limit.right = true; }, renderDecades: function() { // start neatly at interval (eg. 1980 instead of 1987) while (this.d.getFullYear() % this.options.yearsPerPage > 0) { this.d.setFullYear(this.d.getFullYear() - 1); } this.picker.getElement('.titleText').set('text', this.d.getFullYear() + '-' + (this.d.getFullYear() + this.options.yearsPerPage - 1)); var i, y, e; var available = false; var container = new Element('div', { 'class': 'years' }).inject(this.newContents); if ($chk(this.options.minDate) && this.d.getFullYear() <= this.options.minDate.getFullYear()) { this.limit.left = true; } for (i = 0; i < this.options.yearsPerPage; i++) { y = this.d.getFullYear(); e = new Element('div', { 'class': 'year year' + i + (y == this.today.getFullYear() ? ' today' : '') + (y == this.choice.year ? ' selected' : '') }).set('text', y).inject(container); if (this.limited('year')) { e.addClass('unavailable'); if (available) { this.limit.right = true; } else { this.limit.left = true; } } else { available = true; e.addEvent('click', function(e, d) { this.d.setFullYear(d); this.mode = 'year'; this.render('fade'); }.bindWithEvent(this, y)); } this.d.setFullYear(this.d.getFullYear() + 1); } if (!available) { this.limit.right = true; } if ($chk(this.options.maxDate) && this.d.getFullYear() >= this.options.maxDate.getFullYear()) { this.limit.right = true; } }, limited: function(type) { var cs = $chk(this.options.minDate); var ce = $chk(this.options.maxDate); if (!cs && !ce) return false; switch (type) { case 'year': return (cs && this.d.getFullYear() < this.options.minDate.getFullYear()) || (ce && this.d.getFullYear() > this.options.maxDate.getFullYear()); case 'month': // todo: there has got to be an easier way...? var ms = ('' + this.d.getFullYear() + this.leadZero(this.d.getMonth())).toInt(); return cs && ms < ('' + this.options.minDate.getFullYear() + this.leadZero(this.options.minDate.getMonth())).toInt() || ce && ms > ('' + this.options.maxDate.getFullYear() + this.leadZero(this.options.maxDate.getMonth())).toInt() case 'date': return (cs && this.d < this.options.minDate) || (ce && this.d > this.options.maxDate); } }, allowZoomOut: function() { if (this.mode == 'time' && this.options.timePickerOnly) return false; if (this.mode == 'decades') return false; if (this.mode == 'year' && !this.options.yearPicker) return false; return true; }, zoomOut: function() { if (!this.allowZoomOut()) return; if (this.mode == 'year') { this.mode = 'decades'; } else if (this.mode == 'time') { this.mode = 'month'; } else { this.mode = 'year'; } this.render('fade'); }, previous: function() { if (this.mode == 'decades') { this.d.setFullYear(this.d.getFullYear() - this.options.yearsPerPage); } else if (this.mode == 'year') { this.d.setFullYear(this.d.getFullYear() - 1); } else if (this.mode == 'month') { this.d.setDate(1); this.d.setMonth(this.d.getMonth() - 1); } this.render('left'); }, next: function() { if (this.mode == 'decades') { this.d.setFullYear(this.d.getFullYear() + this.options.yearsPerPage); } else if (this.mode == 'year') { this.d.setFullYear(this.d.getFullYear() + 1); } else if (this.mode == 'month') { this.d.setDate(1); this.d.setMonth(this.d.getMonth() + 1); } this.render('right'); }, close: function(e, force) { if (!$(this.picker)) return; var clickOutside = ($chk(e) && e.target != this.picker && !this.picker.hasChild(e.target) && e.target != this.visual); if (force || clickOutside) { if (this.options.useFadeInOut) { this.picker.set('tween', { duration: this.options.animationDuration / 2, onComplete: this.destroy.bind(this) }).tween('opacity', 1, 0); } else { this.destroy(); } } }, destroy: function() { this.picker.destroy(); this.picker = null; this.options.onClose(); }, select: function(values) { this.choice = $merge(this.choice, values); var d = this.dateFromObject(this.choice); this.input.set('value', this.format(d, this.options.inputOutputFormat)); this.visual.set('value', this.format(d, this.options.format)); this.options.onSelect(d); this.close(null, true); }, leadZero: function(v) { return v < 10 ? '0'+v : v; }, format: function(t, format) { var f = ''; var h = t.getHours(); var m = t.getMonth(); for (var i = 0; i < format.length; i++) { switch(format.charAt(i)) { case '\\': i++; f+= format.charAt(i); break; case 'y': f += (t.getFullYear() + '').substring(2); break; case 'Y': f += t.getFullYear(); break; case 'm': f += this.leadZero(m + 1); break; case 'n': f += (m + 1); break; case 'M': f += this.options.months[m].substring(0,this.options.monthShort); break; case 'F': f += this.options.months[m]; break; case 'd': f += this.leadZero(t.getDate()); break; case 'j': f += t.getDate(); break; case 'D': f += this.options.days[t.getDay()].substring(0,this.options.dayShort); break; case 'l': f += this.options.days[t.getDay()]; break; case 'G': f += h; break; case 'H': f += this.leadZero(h); break; case 'g': f += (h % 12 ? h % 12 : 12); break; case 'h': f += this.leadZero(h % 12 ? h % 12 : 12); break; case 'a': f += (h > 11 ? 'pm' : 'am'); break; case 'A': f += (h > 11 ? 'PM' : 'AM'); break; case 'i': f += this.leadZero(t.getMinutes()); break; case 's': f += this.leadZero(t.getSeconds()); break; case 'U': f += Math.floor(t.valueOf() / 1000); break; default: f += format.charAt(i); } } return f; }, unformat: function(t, format) { var d = new Date(); d.setMonth(0); d.setDate(1); var a = {}; var c, m; t = t.toString(); for (var i = 0; i < format.length; i++) { c = format.charAt(i); switch(c) { case '\\': r = null; i++; break; case 'y': r = '[0-9]{2}'; break; case 'Y': r = '[0-9]{4}'; break; case 'm': r = '0[1-9]|1[012]'; break; case 'n': r = '[1-9]|1[012]'; break; case 'M': r = '[A-Za-z]{'+this.options.monthShort+'}'; break; case 'F': r = '[A-Za-z]+'; break; case 'd': r = '0[1-9]|[12][0-9]|3[01]'; break; case 'j': r = '[12][0-9]|3[01]|[1-9]'; break; case 'D': r = '[A-Za-z]{'+this.options.dayShort+'}'; break; case 'l': r = '[A-Za-z]+'; break; case 'G': case 'H': case 'g': case 'h': r = '[0-9]{1,2}'; break; case 'a': r = '(am|pm)'; break; case 'A': r = '(AM|PM)'; break; case 'i': case 's': r = '[012345][0-9]'; break; case 'U': r = '-?[0-9]+$'; break; default: r = null; } if ($chk(r)) { m = t.match('^'+r); if ($chk(m)) { a[c] = m[0]; t = t.substring(a[c].length); } else { if (this.options.debug) alert("Fatal Error in DatePicker\n\nUnexpected format at: '"+t+"' expected format character '"+c+"' (pattern '"+r+"')"); return d; } } else { t = t.substring(1); } } for (c in a) { var v = a[c]; switch(c) { case 'y': d.setFullYear(v < 30 ? 2000 + v.toInt() : 1900 + v.toInt()); break; // assume between 1930 - 2029 case 'Y': d.setFullYear(v); break; case 'm': case 'n': d.setMonth(v - 1); break; // FALL THROUGH NOTICE! "M" has no break, because "v" now is the full month (eg. 'February'), which will work with the next format "F": case 'M': v = this.options.months.filter(function(item, index) { return item.substring(0,this.options.monthShort) == v }.bind(this))[0]; case 'F': d.setMonth(this.options.months.indexOf(v)); break; case 'd': case 'j': d.setDate(v); break; case 'G': case 'H': d.setHours(v); break; case 'g': case 'h': if (a['a'] == 'pm' || a['A'] == 'PM') { d.setHours(v == 12 ? 0 : v.toInt() + 12); } else { d.setHours(v); } break; case 'i': d.setMinutes(v); break; case 's': d.setSeconds(v); break; case 'U': d = new Date(v.toInt() * 1000); } }; return d; } });js/datepicker/index.html000066600000000000151371543200011263 0ustar00js/datepicker/.htaccess000066600000000177151371543200011103 0ustar00 Order allow,deny Deny from all js/load_js.php000066600000002056151371543200007314 0ustar00secure_unserialize($get['code']); //output the code ?> js/.htaccess000066600000000177151371543200006770 0ustar00 Order allow,deny Deny from all js/formcheck/formcheck-max.js000066600000006525151371543200012220 0ustar00var FormCheckMax = new Class({ Extends: FormCheck, Implements: Options, /* Function: addError Private method Add error message */ addError : function(obj) { //determine position //var coord = obj.target ? document.id(obj.target).getCoordinates() : obj.getCoordinates(); var coord; if(obj.target && typeOf($(obj.target)) != 'null') { coord = $(obj.target).getCoordinates(); } else { coord = obj.getCoordinates(); } if(!obj.element && this.options.display.indicateErrors != 0) { if (this.options.display.errorsLocation == 1) { var pos = (this.options.display.tipsPosition == 'left') ? coord.left : coord.right; var options = { 'opacity' : 0, 'position' : 'absolute', 'float' : 'left', 'left' : pos + this.options.display.tipsOffsetX }; obj.element = new Element('div', {'class' : this.options.tipsClass, 'styles' : options}).injectInside(document.body); this.addPositionEvent(obj); } else if (this.options.display.errorsLocation == 2){ obj.element = new Element('div', {'class' : this.options.errorClass, 'styles' : {'opacity' : 0}}).injectBefore(obj); } else if (this.options.display.errorsLocation == 3){ obj.element = new Element('div', {'class' : this.options.errorClass, 'styles' : {'opacity' : 0}}); //hack for position if($chk(document.id('error-message-'+obj.get('name').replace(/\[\]/, '')))){ obj.element.inject(document.id('error-message-'+obj.get('name').replace(/\[\]/, ''))); }else{ if ($type(obj.group) == 'object' || $type(obj.group) == 'collection') obj.element.injectAfter(obj.group[obj.group.length-1]); else obj.element.injectAfter(obj); } //end hack } } if (obj.element && obj.element != true) { obj.element.empty(); //hack for title if($chk(obj.get('title'))){ obj.errors = [obj.get('title')]; } //end hack if (this.options.display.errorsLocation == 1) { var errors = []; obj.errors.each(function(error) { errors.push(new Element('p').set('html', error)); }); var tips = this.makeTips(errors).injectInside(obj.element); if(this.options.display.closeTipsButton) { tips.getElements('a.close').addEvent('mouseup', function(){ this.removeError(obj, 'tip'); }.bind(this)); } obj.element.setStyle('top', coord.top - tips.getCoordinates().height + this.options.display.tipsOffsetY); } else { obj.errors.each(function(error) { new Element('p').set('html',error).injectInside(obj.element); }); } if (!this.options.display.fadeDuration || Browser.Engine.trident && Browser.Engine.version == 5 && this.options.display.errorsLocation < 2) { obj.element.setStyle('opacity', 1); } else { obj.fx = new Fx.Tween(obj.element, { 'duration' : this.options.display.fadeDuration, 'ignore' : true, 'onStart' : function(){ this.fxRunning = true; }.bind(this), 'onComplete' : function() { this.fxRunning = false; if (obj.element && obj.element.getStyle('opacity').toInt() == 0) { obj.element.destroy(); obj.element = false; } }.bind(this) }); if(obj.element.getStyle('opacity').toInt() != 1) obj.fx.start('opacity', 1); } } if (this.options.display.addClassErrorToField && !obj.isChild){ obj.addClass(this.options.fieldErrorClass); obj.element = obj.element || true; } } });js/formcheck/.htaccess000066600000000177151371543200010731 0ustar00 Order allow,deny Deny from all js/formcheck/lang/pl.js000066600000003321151371543200011017 0ustar00formcheckLanguage = { required: "To pole jest wymagane.", alpha: "W tym polu dozwolone są wyłącznie litery.", alphanum: "W tym polu dozwolone sa wyłącznie litery i cyfry.", nodigit: "Cyfry w tym polu są niedozwolone.", digit: "Proszę podać poprawną liczbę.", digitmin: "Wartość musi wynosić przynajmniej %0", digitltd: "Wartość musi wynosić pomiędzy %0 a %1", number: "Proszę podać poprawny numer.", email: "Proszę podać poprawny e-mail:
np. twoje.i...@twojadres.pl", image : 'W tym polu dozwolone są tylko obrazy', phone: "Proszę podać poprawny numer telefonu.", url: "Proszę podać poprawny adres strony:
np. http://www.twojadres.pl", confirm: "To pole musi być takie samo jak %0", differs: "Ta wartość musi być inna od %0", length_str: "Niepoprawna dlugość, liczba znaków musi wynosić między %0 a %1", length_fix: "Niepoprawna dlugość, liczba znaków musi wynosić %0", lengthmax: "Niepoprawna dlugość, maksymalna dozwolona liczba znaków to %0", lengthmin: "Niepoprawna dlugość, minimalna wymagana ilość znaków to %0", words_min : "W tym polu może znajdować się minimalnie %0 słów, aktulanie masz: %1 słów", words_range : "W tym polu może znajdować się od %0 do %1 słów, aktulanie masz: %2 słów", words_max : "W tym polu może znajdować się maksymalnie %0 słów, aktualnie masz: %1 słów", checkbox: "Proszę zaznaczyć to pole", checkboxes_group : 'Proszę zaznaczyć %0 pól', radios: "Proszę wybrać jedną z opcji", select: "Proszę wybrać opcję z tego z menu", select_multiple : "Proszę wybrać przynajmniej jedną opcję" }js/formcheck/lang/it.js000066600000002073151371543200011023 0ustar00formcheckLanguage = { required : "Campo obbligatorio", alpha : "Non sono ammessi caratteri speciali e cifre", alphanum : "In questo campo sono ammessi solo lettere e cifre. I caratteri speciali non sono accettati", nodigit : "In questo campo non sono ammessi numeri", digit : "In questo campo sono accettati solo numeri interi", digitmin : "caratteri minimi %0", digitltd : "minimo %0, massimo %1 caratteri", number : "In questo campo sono accettati numeri interi e decimali, ma occorre usare il punto come separatore dei decimali", email : "Inserisci un indirizzo email valido", phone : "Inserisci un numero di telefono valido", url : "Inserisci un URL valido", confirm : "uguale a %0", differs : "diverso da %0", length_str: "La lunghezza del campo non corretta, deve essere compresa fra %0 e %1", length_fix: "La lunghezza del campo non corretta, deve essere esattamente di %0 caratteri", lengthmax : "massimo %0 caratteri", lengthmin : "minimo %0 caratteri", checkbox : "selezionare", radios : "selezionare un valore", select : "selezionare un valore" }js/formcheck/lang/ru.js000066600000003430151371543200011033 0ustar00formcheckLanguage = { required: "Это поле обязательно для заполнения.", alpha: "Это поле может содержать только буквы.", alphanum: "Это поле может содержать только буквы и цифры.", nodigit: "Это поле не может содержать цифры.", digit: "Пожалуйста укажите число.", digitmin: "Число не может быть менее %0", digitltd: "Число должно быть более %0 и менее %1", number: "Пожалуйста укажите число.", email: "Пожалуйста укажите правильный email:
Например yourname@domain.ru", phone: "Пожалуйста укажите правильный телефон.", url: "Пожалуйста укажите правильный адрес url:
Например http://www.domain.ru", confirm: "Это поле не должно отличаться от поля %0", differs: "Число должно отличаться от %0", length_str: "Длина строки должна быть от %0 до %1 символов", length_fix: "The length is incorrect, it must be exactly %0 characters", lengthmax: "Заполните поле строкой, состоящей не более чем из %0 символов", lengthmin: "Заполните поле строкой, состоящей не менее чем из %0 символов", checkbox: "Пожалуйста поставьте галочку", radios: "Пожалуйста выберите из предложенных вариантов", select: "Пожалуйста выберите из предложенных вариантов" }js/formcheck/lang/tr.js000066600000003021151371543200011026 0ustar00formcheckLanguage = { required: "Bu alanın doldurulması gereklidir.", alpha: "Bu alanda sadece alfabetik karakterler kullanılabilir.", alphanum: "Bu alanda sadece alfanumerik karakterler kullanılabilir.", nodigit: "Rakam kabul edilmez.", digit: "Lütfen geçerli bir tam sayı yazınız.", digitmin: "Rakam en az %0 olmalı", digitltd: "Değer %0 ve %1 arasında olmalı", number: "Lütfen geçerli bir numara yazınız.", email: "Lütfen geçerli bir email adresi yazınız:
Örn. adiniz@domain.com", image : 'Bu alan sadece imaj çeşitleri içermelidir', phone: "Lütfen geçerli bir telefon numarası yazınız.", url: "Lütfen geçerli bir url yazınız:
Örn. http://www.domain.com", confirm: "Bu alan %0 dan farklı", differs: "Bu alan %0 dan farklı olmalı", length_str: "Uzunluk yanlış, %0 ve %1 arasında olmalı", length_fix: "Uzunluk yanlış, tam olarak %0 karakter olmalı", lengthmax: "Uzunluk yanlış, en fazla %0 olmalı", lengthmin: "Uzunluk yanlış, en az %0 olmalı", words_min : "Bu alan en az %0 kelime içermeli, şu anki değer: %1 kelime", words_range : "Bu alan %0-%1 kelime içermeli, şu anki değer: %2 kelime", words_max : "Bu alan en fazla %0 kelime içermeli, şu anki değer: %1 kelime", checkbox: "Lütfen işaretlenecek kutuyu kontrol edin", checkboxes_group : 'Lütfen en az %0 kutu işaretleyin', radios: "Lütfen seçeneklerden birini işaretleyin", select: "Lütfen bir değer seçin", select_multiple : "Lütfen en az bir değer seçin" }js/formcheck/lang/hr.js000066600000002375151371543200011025 0ustar00formcheckLanguage = { required: "Ovo polje je obavezno.", alpha: "Ovo polje prima samo slova.", alphanum: "Ovo polje prima samo slova i brojeve.", nodigit: "Brojevi su nedozvoljeni.", digit: "Unesite cjelobrojnu vrijednost.", digitmin: "Ovaj broj mora biti najmanje %0", digitltd: "Ova vrijednost mora biti između %0 i %1.", number: "Unesite broj.", email: "Unesite ispravan email.", image : 'Odaberite sliku', phone: "Unesite ispravan broj telefona.", url: "Unesite ispravan url:
Napr. http://www.domain.com", confirm: "Ova vrijednost mora biti ista kao %0.", differs: "Ova vrijednost mora biti različita od %0.", length_str: "Duljuna mora biti između %0 i %1.", length_fix: "Duljuna mora biti točno %0 znakova.", lengthmax: "Duljuna mora biti najviše %0 znakova.", lengthmin: "Duljuna mora biti najmanje %0 znakova.", words_min : "Unesite %0 riječi, trenutno uneseno: %1 riječi", words_range : "Broj riječi mora biti od %0 do %1, trenutno uneseno: %2 riječi", words_max : "Broj riječi mora biti maksimalno %0, trenutno uneseno: %1 riječi", checkbox: "Odaberite.", radios: "Odaberite.", select: "Odaberite vrijednost.", checkboxes_group : 'Označite najmanje %0', select_multiple : "Odaberite barem jednu vrijednost" }js/formcheck/lang/fr.js000066600000003362151371543200011020 0ustar00formcheckLanguage = { required: "Ce champ est requis.", alpha: "Ce champ n'accepte que des caractères alphabétiques sans accents.", alphanum: "Ce champ n'accepte que des caractères alphanumériques.", nodigit: "Ce champ n'accepte pas les chiffres.", digit: "Ce champ n'accepte que les chiffres.", digitmin: "Cette valeur doit être au minimum %0", digitltd: "Cette valeur doit être comprise entre %0 et %1", number: "Ce champ n'accepte qu'un nombre.", email: "Veuillez entrer une adresse email valide:
Ex. votrenom@domain.com", image : 'Ce champ ne peut contenir que des images', phone: "Veuillez entrer un numéro de téléphone valide.", url: "Veuillez entrer une adresse de site internet valide:
Ex. http://www.domain.com", confirm: "Ce champ est différent de %0.", differs: "Ce champ doit être différent de %0.", length_str: "La longueur doit être comprise entre %0 et %1 caractères.", length_fix: "La longueur doit être de %0 caractères exactement.", lengthmax: "La longueur doit être au maximum de %0 caractères.", lengthmin: "La longueur doit être au minimum de %0 caractères.", words_min : "Ce champ doit contenir au moins %0 mots, actuellement : %1 mots", words_range : "Ce champ doit contenir entre %0 et %1 mots, actuellement : %2 mots", words_max : "Ce champ doit contenir au plus %0 mots, actuellement : %1 mots", checkbox: "Merci de cocher la case.", checkboxes_group : 'Merci de cocher au moins %0 case(s)', radios: "Merci de choisir une valeur.", select: "Merci de choisir une valeur dans la liste.", select_multiple: "Merci de choisir au moins une valeur dans la liste." }js/formcheck/lang/en.js000066600000002665151371543200011020 0ustar00formcheckLanguage = { required: "This field is required.", alpha: "This field accepts alphabetic characters only.", alphanum: "This field accepts alphanumeric characters only.", nodigit: "No digits are accepted.", digit: "Please enter a valid integer.", digitmin: "The number must be at least %0", digitltd: "The value must be between %0 and %1", number: "Please enter a valid number.", email: "Please enter a valid email:
E.g. yourname@domain.com", image : 'This field should only contain image types', phone: "Please enter a valid phone.", url: "Please enter a valid url:
E.g. http://www.domain.com", confirm: "This field is different from %0", differs: "This value must be different of %0", length_str: "The length is incorrect, it must be between %0 and %1", length_fix: "The length is incorrect, it must be exactly %0 characters", lengthmax: "The length is incorrect, it must be at max %0", lengthmin: "The length is incorrect, it must be at least %0", words_min : "This field must concain at least %0 words, currently: %1 words", words_range : "This field must contain %0-%1 words, currently: %2 words", words_max : "This field must contain at max %0 words, currently: %1 words", checkbox: "Please check the box", checkboxes_group : 'Please check at least %0 box(es)', radios: "Please select a radio", select: "Please choose a value", select_multiple : "Please choose at least one value" }js/formcheck/lang/hu.js000066600000003016151371543200011021 0ustar00formcheckLanguage = { required: "Ezt a mezőt kötelező kitölteni.", alpha: "Ebben a mezőben csak betűk engedélyezettek.", alphanum: "Ebben a mezőben csak számok engedélyezettek.", nodigit: "Számok beírása nem lehetséges.", digit: "Csak számok beírása lehetséges.", digitmin: "A legkisebb lehetséges szám a(z) %0.", digitltd: "Az értéknek %0 és %1 között kell lennie!", number: "Kérjük, adjon meg egy érvényes számot.", email: "Kérjük, adjon meg egy érvényes E-mail címet.", image : "A mezőnek érvényes fájlnevet kell tartalmaznia.", phone: "Kérjük, adjon meg egy érvényes telefonszámot.", url: "Kérjük, adjon meg egy érvényes internet címet.", confirm: "A mező eltér a(z) %0 értéktől.", differs: "Az értéknek a(z) %0 képest eltérőnek kell lennie.", length_str: "Az érték nem helyes, a hossznak %0 és %1 között kell lennie.", length_fix: "Az érték nem helyes, a hossznak pontosan %0 karakternek kell lennie.", lengthmax: "Az érték nem helyes, a karakterek maximális száma %0.", lengthmin: "Az érték nem helyes, a karakterek minimális száma %0.", words_min : "A minimálisan küldendő szavak száma %0, jelenleg: %1 szó van", words_range : "A mezőnek %0-%1 szót kell tartalmaznia, jelenleg: %2 szó van", words_max : "A maximálisan küldhető szavak száma %0, jelenleg: %1 szó van", checkbox: "Kérjük aktiválja.", radios: "Kérjük, válasszon ki egy értéket.", select: "Kérjük, válasszon ki egy értéket." }js/formcheck/lang/gr.js000066600000003374151371543200011024 0ustar00formcheckLanguage = { required: 'Το πεδίο είναι υποχρεωτικό.', alpha: 'Το πεδίο δέχεται μόνο αλφαβητικούς χαρακτήρες.', alphanum: 'Το πεδίο δέχεται μόνο αλφαρηθμιτικούς χαρακτήρες.', nodigit: 'Δέν επιτρέπονται αριθμοί.', digit: 'Παρακαλώ πληκτρολογήστε ένα έγκυρο ψηφίο.', digitmin: 'Ο αριθμός γραμμάτων πρέπει να είναι τουλάχιστον %0', digitltd: 'Η τιμή πρέπει να είναι ανάμεσα στο %0 και στο %1', number: 'Παρακαλώ πληκτρολογήστε ένα έγκυρο αριθμό.', email: 'Παρακαλώ πληκτρολογήστε έγκυρη μορφή email: Π.χ. yourname@domain.com', phone: 'Παρακαλώ πληκτρολογήστε έναν έγκυρο αριθμό τηλεφώνου.', url: 'Παρακαλώ πληκτρολογήστε μία έγκυρη διεύθυνση: Π.χ. http://www.domain.com', confirm: 'Αυτό το πεδίο είναι διαφορετικό από το %0', differs: 'Η τιμή πρέπει να είναι διαφορετική από %0', length_str: 'Το μήκος είναι λάθος, πρέπει να είναι από %0 μέχρι %1', lengthmax: 'Το μήκος είναι λάθος, πρέπει να είναι το πολύ %0', lengthmin: 'Το μήκος είναι λάθος, πρέπει να είναι το ελάχιστο %0', checkbox: 'Παρακαλώ τσεκάρετε το κουτί', radios: 'Παρακαλώ επιλέξτε ένα από τα κουμπιά', select: 'Παρακαλώ επιλέξτε μία τιμή' }js/formcheck/lang/cz.js000066600000003427151371543200011027 0ustar00formcheckLanguage = { required: "Toto pole je povinné.", alpha: "Toto pole může obsahovat pouze písmena.", alphanum: "Do tohoto pole můžete zadávat pouze alfanumerické znaky.", nodigit: "Toto pole nemůže obsahovat číslice.", digit: "Toto pole může obsahovat jen celá kladná čísla.", digitmin: "Číslo musí být minimálně %0", digitltd: "Hodnota musí byt v intervalu %0 až %1", number: "Číslo prosím zadejte ve správném formátu.", email: "Prosím, zadajte e-mail ve správném formátu: Např. VaseJmeno@domena.cz", image : 'Toto pole může obsahovat jen obrázky', phone: "Prosím, zadejte telefonní číslo ve správném formátu: Např. 789123456", url: "URL prosím zadejte ve správném formátu: Např. http://www.domena.cz", confirm: "Pole není totožné s polem %0", differs: "Toto pole musí bý odlišné od %0", length_str: "Zadaný řetězec nemá správnu délku, musí být v rozsahu %0 a %1", length_fix: "Zadaný řetězec nemá správnu délku, musí mít délku přesne %0 znaků", lengthmax: "Zadaný řetězec nemá správnu délku, může být dlouhý maximálně %0 znaků", lengthmin: "Zadaný řetězec nemá správnu délku, musí být kratší než %0 znakov", words_min : "Toto pole musí obsahovat minimálně %0 slov. Momentálně má jen: %1 slov", words_range : "Toto pole musí obsahovat %0-%1 slov. Momentálně má : %2 slov", words_max : "Toto pole může obsahovat maximálně %0 slov. Momentálně má: %1 slov", checkbox: "Zaškrtnutí tohoto checkboxu je povinné", checkboxes_group : 'Prosím, vyberte minimálně %0 možnost(i)', radios: "Prosím vyberte jednu z možností", select: "Prosím vyberte jednu z možností", select_multiple : "Prosím vyberte jednu nebo více možností" } js/formcheck/lang/fa.js000066600000004645151371543200011004 0ustar00/** * FormCheck Persian Language * * author * Amir Hossein Hodjati Pour ~ Boplo.ir */ formcheckLanguage = { required:"این فیلد الزامی است.", alpha:"لطفا فقط از حروف الفباء برای این بخش استفاده کنید. کاراکترهای دیگر و فاصله مجاز نیستند.", alphanum:"لطفا فقط از حروف الفباء و اعداد در این بخش استفاده کنید. کاراکترهای دیگر و فاصله مجاز نیستند.", nodigit: "لطفا عدد وارد نکنید.", digit: "لطفا یک عدد صحیح وارد کنید.", digitmin: "عدد باید بزرگتر از %0 باشد.", digitltd: "عدد باید بین %0 و 1% باشد.", number: "لطفا یک عدد معتبر وارد کنید.", email: "لطفا یک ایمیل معتبر وارد کنید:
نمونه: yourn...@domain.com", image : "لطفا فقط تصویر انتخاب کنید.", phone: "لطفا یک شماره تلفن معتبر وارد کنید.", url: "لطفا یک URL صحیح وارد کنید:
نمونه: http://www.domain.com", confirm: "این بخش با %0 متفاوت است.", differs: "این بخش باید با %0 متفاوت باشد.", length_str: "طول مقدار وارد شده صحیح نیست و باید بین %0 و %1 کاراکتر باشد.", length_fix: "طول مقدار وارد شده صحیح نیست و باید دقیقا برابر %0 کاراکتر باشد.", lengthmax: "طول مقدار وارد شده صحیح نیست و باید حداکثر %0 کاراکتر باشد.", lengthmin: "طول مقدار وارد شده صحیح نیست و باید حداقل %0 کاراکتر باشد.", words_min : "این بخش باید حاوی حداقل %0 کلمه باشد. %1 کلمه وارد شده.", words_range : "این بخش باید حاوی %0-%1 کلمه باشد. %2 کلمه وارد شده.", words_max : "این بخش باید حاوی حداکثر %0 کلمه باشد. %1 کلمه وارد شده.", checkbox: "لطفا این مورد را انتخاب کنید.", radios: "لطفا این گزینه را انتخاب کنید", select: "لطفا مقداری را انتخاب کنید" }js/formcheck/lang/cn.js000066600000002412151371543200011004 0ustar00formcheckLanguage = { required: "请输入此此项", alpha: "只能输入英文字母", alphanum: "只能输入英文字母和数字", nodigit: "输入内容不能包含数字", digit: "请输入数字", digitmin: "必须大于 %0", digitltd: "数值要在 %0 和 %1 之间", number: "请输入正确的数字", email: "请输入正确的电子邮件地址
如: xxx@domain.com", image : '只能输入图片格式', phone: "请输入正确的手机号", url: "请输入正确的链接地址:
如: http://www.domain.com", confirm: "输入内容与 %0 不一致", differs: "输入内容不能与 %0 一致", length_str: "长度必须要在 %0 和 %1 之间", length_fix: "长度有误,长度必须要等于 %0 字", lengthmax: "长度有误,长度不能超过 %0 ", lengthmin: "长度有误,长度不能小于 %0 ", words_min : "输入内容至少要包含 %0 字,当前只有: %1 字", words_range : "输入内容要有 %0-%1 字,当前只有: %2 字", words_max : "输入内容最多应包含 %0 字,当前只有: %1 字", checkbox: "请选择复选框", checkboxes_group : '至少要选择 %0 项', radios: "请选择单选框", select: "请选择一项", select_multiple : "至少要选择一项" } js/formcheck/lang/lv.js000066600000003152151371543200011027 0ustar00formcheckLanguage = { required: "Šis lauks ir obligāts.", alpha: "Šajā laukā drīkst būt tikai burti.", alphanum: "Šajā laukā drīkst būt tikai burti vai skaitļi.", nodigit: "Nedrīkst būt cipari!", digit: "Lūdzu, ievadiet veselu skaitli!", digitmin: "Skaitlim ir jābūt lielākam par %0", digitltd: "Vērtībai ir jābūt starp %0 un %1", number: "Lūdzu, ievadiet skaitli!", email: "Lūdzu, ievadiet pareizu e-pasta adresi:
Piemēram, vards.uzvards@domains.lv", image : 'Šis lauks drīkst saturēt tikai bilžu failu tipus!', phone: "Lūdzu, ievadiet pareizu telefona numuru!", url: "Lūdzu, ievadiet pareizu Interneta adresi:
Piemēram, http://www.domains.lv", confirm: "Šis lauks atšķiras no %0", differs: "Šai vērtībai ir jāatšķiras no %0", length_str: "Garums ir nepareizs, tam ir jābūt starp %0 un %1 simboliem", length_fix: "Garums ir nepareizs, tam ir jābūt tieši %0 simboliem", lengthmax: "Garums ir nepareizs, tā maksimums ir %0 simboli", lengthmin: "Garums ir nepareizs, tam ir jābūt vismaz %0 simboliem", words_min : "Laukam jāsatur vismaz %0 vārdi, šobrīd: %1 vārds(i)", words_range : "Laukam jāsatur %0-%1 vārdi, šobrīd: %2 vārds(i)", words_max : "Lauks drīkst saturēt maksimums %0 vārdus, šobrīd: %1 vārds(i)", checkbox: "Lūdzu, izvēlieties vienu variantu!", checkboxes_group : 'Lūdzu, izvēlieties vismaz %0 variantu(s)!', radios: "Lūdzu, izvēlieties vienu variantu!", select: "Lūdzu, izvēlieties vērtību!", select_multiple : "Lūdzu, izvēlieties vismaz vienu vērtību!" }js/formcheck/lang/no.js000066600000002524151371543200011024 0ustar00formcheckLanguage = { required: "Feltet er obligatorisk.", alpha: "Feltet aksepterer kun bokstaver", alphanum: "Feltet aksepterer kun bokstaver og tall", nodigit: "Feltet aksepterer ikke tall", digit: "Feltet aksepterer kun heltall", digitmin: "Verdien må være minst %0", digitltd: "Verdien må være mellom %0 og %1", number: "Feltet aksepterer kun gyldige tall.", email: "Vennligst fyll ut en gyldig epostadr:
F.eks. ola@nordmann.no", image : "Feltet aksepterer kun bildetyper", phone: "Vennligst oppgi et gyldig tlfnr.", url: "Vennligst oppgi en gyldig URL:
F.eks. http://www.domene.no", confirm: "Verdien er forskjellig fra %0", differs: "Verdien må være forskjellig fra %0", length_str: "Ugyldig lengde, må være mellom %0 og %1", length_fix: "Ugyldig lengde, må være %0 tegn", lengthmax: "Ugyldig lengde, må være maks %0 tegn", lengthmin: "Ugyldig lengde, må være minst %0 tegn", words_min : "Feltet må ha minst %0 ord, har nå %1 ord", words_range : "Feltet må ha %0-%1 ord, har nå %2 ord", words_max : "Feltet må ha maks %0 ord, har nå %1 ord", checkbox: "Vennligst kryss av boksen", checkboxes_group : 'Vennligst velg minst %0 boks(er)', radios: "Vennligst marker ditt valg", select: "Vennligst velg et av valgene", select_multiple : "Vennligst velg minst ett av valgene" }js/formcheck/lang/jp.js000066600000002541151371543200011020 0ustar00formcheckLanguage = { required: "必須項目です", alpha: "アルファベットを入力してください。", alphanum: "アルファベットと数字を入力してください。", nodigit: "桁の数字は使用できません。", digit: "有効な数字を入力してください。", digitmin: "数字は少なくとも%0で入力してください。", digitltd: "数字は%0と%1の間で入力してください。", number: "有効な数字を入力してください。", email: "有効なE-mailアドレスを入力してください。", phone: "有効な電話番号を入力してください。", url: "有効なURLを入力してください
例 http://www.domain.com", confirm: "これは%0と異なります", differs: "これは%0と異なるものを入力してください。", length_str: "長さが有効ではありません。%0と%1の間で入力してください。", length_fix: "長さが有効ではありません。 %0文字を入力してください。", lengthmax: "長さが有効ではありません。最大%0で入力してください。", lengthmin: "長さが有効ではありません。最小%0で入力してください。", checkbox: "ボックスを確認してください。", radios: "項目を選択してください。", select: "項目を選択してください。" }js/formcheck/lang/ro.js000066600000003644151371543200011034 0ustar00formcheckLanguage = { required: "Acest câmp este obligatoriu.", alpha: "Acest câmp acceptă doar caractere alfabetice.", alphanum: "Acest câmp acceptă doar caractere alfanumerice.", nodigit: "Nu sunt acceptate cifrele.", digit: "Vă rugăm introduceţi un număr intreg.", digitmin: "Numărul trebuie să fie cel puţin %0", digitltd: "Valoarea trebuie să fie între %0 si %1", number: "Vă rugăm introduceţi un număr valid.", email: "Vă rugăm introduceţi un email valid:
Ex: numeledvs@domeniu.ro", image : 'Acest câmp acceptă doar imagini', phone: "Vă rugăm introduceţi un număr valid de telefon.", url: "Vă rugăm introduceţi o adresă web validă:
Ex: http://www.domeniu.ro", confirm: "Acest câmp este diferit de %0", differs: "Această valoare trebuie să fie diferită de %0", length_str: "Lungimea este incorectă, trebuie să fie între %0 si %1", length_fix: "Lungimea este incorectă, trebuie să fie de exact %0 caractere", lengthmax: "Lungimea este incorectă, trebuie să fie cel mult %0", lengthmin: "Lungimea este incorectă, trebuie să fie cel puţin %0", words_min : "Acest câmp trebuie să conţină cel puţin %0 cuvinte, momentan conţine: %1 cuvinte", words_range : "Acest câmp trebuie să conţină %0-%1 cuvinte, momentan conţine: %2 cuvinte", words_max : "Acest câmp trebuie să conţină cel mult %0 cuvinte, momentan conţine: %1 cuvinte", checkbox: "Vă rugăm bifaţi căsuţa", radios: "Vă rugăm selectaţi o opţiune", select: "Vă rugăm alegeţi o valoare", select_multiple : "Vă rugăm alegeţi cel puţin o valoare" };js/formcheck/lang/nl.js000066600000002051151371543200011014 0ustar00formcheckLanguage = { required: "Dit veld is verplicht.", alpha: "Dit veld accepteert alleen alphabetische karakters.", alphanum: "Dit veld accepteert alleen alphanumerieke karakters.", nodigit: "Cijfers zijn niet toegestaan.", digit: "Voer een geldig getal in.", digitmin: "Het nummer moet minsten %0 lang zijn.", digitltd: "De waarde moet tussen de %0 en %1 liggen.", number: "Voer een geldig nummer in.", email: "Voer een geldig emailadres in.", phone: "Voer een geldig telefoonnummer in.", url: "Voer een geldig url in.", confirm: "Dit veld verschilt van %0", differs: "Deze waarde moet anders zijn dan %0", length_str: "De lengte is onjuist, het moet tussen de %0 en %1 lang zijn", length_fix: "De lengte is onjuist, het moet precies %0 tekens lang zijn", lengthmax: "De lengte is onjuist, het moet maximaal %0 lang zijn", lengthmin: "De lengte is onjuist, het moet minstens %0 lang zijn", checkbox: "Vink het hokje aan", checkboxes_group : 'Gelieve minstens %0 hokjes aan te vinken', radios: "Maak een keuze", select: "Kies een waarde" }js/formcheck/lang/index.html000066600000000000151371543200012032 0ustar00js/formcheck/lang/pt.js000066600000002020151371543200011022 0ustar00formcheckLanguage = { required: "Campo Obrigatório.", alpha: "Apenas caractéres alfabéticos são aceites.", alphanum: "Apenas caractéres Alfa-numericos aceites.", nodigit: "Digitos não são aceites.", digit: "Por favor insira um valor inteiro.", digitmin: "O valor tem de ser maior que %0", digitltd: "O valor tem de ser entre %0 e %1", number: "Introduza um numero valido.", email: "Introduza um email valido:
p.e. n...@dominio.pt", phone: "Introduza um telefone valido.", url: "Introduza um URL valido:
p.e. http://www.dominio.com", confirm: "Este campo é diferente de %0", differs: "Este campo tem de ser diferente de %0", length_str: "Tamanho incorrecto, tem de ser entre %0 e %1", length_fix: "Tamanho incorrecto, tem de ser exactamente %0 caractéres", lengthmax: "Tamanho incorrecto, tem de ser no máximo %0", lengthmin: "Tamanho incorrecto, tem de ser no mínimo %0", checkbox: "Confirme a opção", radios: "Seleccione uma opção", select: "Seleccione um valor" }js/formcheck/lang/de.js000066600000002252151371543200010776 0ustar00formcheckLanguage = { required: "Dieses Feld ist obligatorisch.", alpha: "In diesem Feld sind nur Buchstaben zulässig.", alphanum: "In diesem Feld sind nur Zahlen zulässig.", nodigit: "Eingabe von Nummern nicht möglich.", digit: "Nur Eingabe von Zahlen möglich.", digitmin: "Die kleinstmögliche Zahl ist %0.", digitltd: "Der Wert muss zwischen %0 und %1 liegen", number: "Geben Sie bitte eine gültige Zahl ein.", email: "Geben Sie bitte eine gültige E-mail ein.", phone: "Geben Sie bitte eine gültige Telefonnummer ein.", url: "Geben Sie bitte eine gültige Internetadresse ein.", confirm: "Das Feld ist verschieden von %0.", differs: "Der Wert muss unterschiedlich zu %0 sein.", length_str: "Das Feld ist verschieden von %0.", length_fix: "Falsche L�nge, es m�ssen exakt %0 Buchstaben sein.", lengthmax: "Der Wert ist nicht korrekt, maximale Anzahl Charakter %0.", lengthmin: "Der Wert ist nicht korrekt, minimale Anzahl Charakter %0.", checkbox: "Bitte aktivieren.", checkboxes_group : 'Bitte kreuzen Sie mindestens %0 Feld(er) an', radios: "Bitte einen Wert auswählen.", select: "Bitte einen Wert auswählen." }js/formcheck/lang/da.js000066600000002714151371543200010775 0ustar00formcheckLanguage = { required: "Dette felt skal udfyldes.", alpha: "Dette felt accepterer kun alfabetiske tegn.", alphanum: "Dette felt accepterer kun alfanumeriske tegn.", nodigit: "Cifre ikke accepteret.", digit: "Skriv venligst et gyldigt heltal.", digitmin: "Tallet skal være mindst %0", digitltd: "Værdien skal være mellem %0 og %1", number: "Skriv venligst et gyldigt nummer.", email: "Skriv venligst en gyldig e-mail adresse:
F.eks: ditnavn@gmail.com", image : 'Dette felt bør kun indeholde gyldige billedtyper.', phone: "Skriv venligst et gyldigt telefonnummer.", url: "Skriv venligst et gyldigt url:
F.eks: http://www.google.com", confirm: "Dette felt er forskelligt fra %0", differs: "Denne værdi skal være anderledes end %0", length_str: "Længden er inkorrekt, den skal være mellem %0 og %1", length_fix: "Længden er inkorrekt, den skal være præcis %0 tegn.", lengthmax: "Længden er inkorrekt, den skal max være %0", lengthmin: "Længden er inkorrekt, den skal mindst være %0", words_min : "Dette felt skal mindst indeholde %0 ord, iøjeblikket: %1 ord", words_range : "Dette felt skal indeholde %0-%1 ord, iøjeblikket: %2 ord", words_max : "Dette felt må max indeholde %0 ord, iøjeblikket: %1 ord", checkbox: "Afkryds venligst denne boks.", checkboxes_group : 'Afkryds venligst mindst %0 boks(e)', radios: "Afkryds venligst en af mulighederne.", select: "Vælg venligst en af værdierne." }js/formcheck/lang/bg.js000066600000002203151371543200010772 0ustar00formcheckLanguage = { required: " .", alpha: " .", alphanum: " .", nodigit: " .", digit: " .", digitmin: " - %0", digitltd: " %0 - %1", number: " .", email: " email:
yourname@domain.com", phone: " .", url: " :
http://www.domain.com", confirm: " %0", differs: " %0", length_str: " %0 %1 ", length_fix: " , %0 ", lengthmax: " , %0 ", lengthmin: " , %0 ", checkbox: " - ", radios: " ", select: " " }js/formcheck/lang/.htaccess000066600000000177151371543200011652 0ustar00 Order allow,deny Deny from all js/formcheck/lang/es.js000066600000003204151371543200011013 0ustar00formcheckLanguage = { required: "Este campo es requerido.", alpha: "Este campo sólo acepta letras.", alphanum: "Este campo sólo acepta caracteres alfanuméricos.", nodigit: "No se aceptan dígitos.", digit: "Por favor, introduzca un entero válido.", digitmin: "El número debe ser por lo menos %0", digitltd: "El valor debe estar entre %0 y %1", number: "Por favor, introduzca un número válido.", email: "Por favor, introduzca un correo válido:
Ej: sunom...@dominio.com", image: "Este campo debe contener una imágen válida", phone: "Por favor, introduzca un teléfono válido.", url: "Por favor, introduzca una URL válida:
Ej: http://www.dominio.com", confirm: "Este campo difiere de %0", differs: "Este campo debe ser distinto de %0", length_str: "La longitud es incorrecta, debe estar entre %0 y %1", length_fix: "La longitud es incorrecta, debe ser de exactamente %0 caracteres", lengthmax: "La longitud es incorrecta, debe tener como máximo %0", lengthmin: "La longitud es incorrecta, debe contener como mínimo %0", words_min: "Este campo debe contener como mínimo %0 palabras, actualmente contiene %1", words_max: "Este campo debe contener como máximo %0 palabras, actualmente contiene %1", words_range: "Este campo debe contener entre %0 y %1 palabras, actualmente contiene %2", checkbox: "Por favor, marque una casilla", checkboxes_group : 'Favor marcar al menos %0 casilla(s)', radios: "Por favor, seleccione un valor", select: "Por favor, seleccione un valor" }js/formcheck/lang/sl.js000066600000002603151371543200011024 0ustar00formcheckLanguage = { required: "To polje ne sme biti prazno!", alpha: "Vpišete lahko samo črke.", alphanum: "Vpišete lahko samo črke in številke.", nodigit: "Številke niso dovoljene.", digit: "Prosimo vpišite samo celotna števila.", digitmin: "Število mora biti min %0", digitltd: "Vrednost mora biti med %0 in %1", number: "Prosimo vpišite število.", email: "Prosimo vpišite veljaven e-mail naslov:
npr. vašeime@domena.com", image : 'To polje lahko vsebuje samo slike', phone: "Prosimo vpišite veljavno telefonsko številko.", url: "Prosimo vpišite veljaven URL:
npr. http://www.vašadomena.com", confirm: "To polje se razlikuje od %0", differs: "Ta vrednost mora biti drugačna od %0", length_str: "Dolžina mora biti med %0 in %1", length_fix: "Dolžina mora biti točno %0 znakov", lengthmax: "Dolžina je lahko največ %0", lengthmin: "Dolžina mora biti najmanj %0", words_min : "To polje lahko vsebuje %0 besed, trenutno: %1 besed", words_range : "To polje mora vsebovati %0-%1 besed, trenutno: %2 besed", words_max : "To polje lahko vsebuje največ %0 besed, trenutno: %1 besed", checkbox: "Prosimo obkljukajte", checkboxes_group : 'Prosimo obkljukajte vsaj %0 stvar(i)', radios: "Prosimo izberite", select: "Prosimo izberite vrednost", select_multiple : "Prosimo izberite vsaj eno vrednost" }js/formcheck/formcheck-yui.js000066600000045326151371543200012243 0ustar00var FormCheck=new Class({Implements:[Options,Events],options:{tipsClass:"fc-tbx",errorClass:"fc-error",fieldErrorClass:"fc-field-error",submit:true,submitAction:false,submitMethod:false,trimValue:false,validateDisabled:false,submitByAjax:false,ajaxResponseDiv:false,ajaxEvalScripts:false,onAjaxRequest:$empty,onAjaxComplete:$empty,onAjaxSuccess:$empty,onAjaxFailure:$empty,onSubmit:$empty,onValidateSuccess:$empty,onValidateFailure:$empty,display:{showErrors:0,titlesInsteadNames:0,errorsLocation:1,indicateErrors:1,indicateErrorsInit:0,keepFocusOnError:0,checkValueIfEmpty:1,addClassErrorToField:0,removeClassErrorOnTipClosure:0,fixPngForIe:1,replaceTipsEffect:1,flashTips:0,closeTipsButton:1,tipsPosition:"right",tipsOffsetX:-45,tipsOffsetY:0,listErrorsAtTop:false,scrollToFirst:true,fadeDuration:300},alerts:{required:"This field is required.",alpha:"This field accepts alphabetic characters only.",alphanum:"This field accepts alphanumeric characters only.",nodigit:"No digits are accepted.",digit:"Please enter a valid integer.",digitltd:"The value must be between %0 and %1",number:"Please enter a valid number.",email:"Please enter a valid email.",image:"This field should only contain image types",phone:"Please enter a valid phone.",phone_inter:"Please enter a valid international phone number.",url:"Please enter a valid url.",confirm:"This field is different from %0",differs:"This value must be different of %0",length_str:"The length is incorrect, it must be between %0 and %1",length_fix:"The length is incorrect, it must be exactly %0 characters",lengthmax:"The length is incorrect, it must be at max %0",lengthmin:"The length is incorrect, it must be at least %0",words_min:"This field must concain at least %0 words, currently: %1 words",words_range:"This field must contain %0-%1 words, currently: %2 words",words_max:"This field must contain at max %0 words, currently: %1 words",checkbox:"Please check the box",checkboxes_group:"Please check at least %0 box(es)",radios:"Please select a radio",select:"Please choose a value",select_multiple:"Please choose at least one value"},regexp:{required:/[^.*]/,alpha:/^[a-z ._-]+$/i,alphanum:/^[a-z0-9 ._-]+$/i,digit:/^[-+]?[0-9]+$/,nodigit:/^[^0-9]+$/,number:/^[-+]?\d*\.?\d+$/,email:/^([a-zA-Z0-9_\.\-\+%])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/,image:/.(jpg|jpeg|png|gif|bmp)$/i,phone:/^\+{0,1}[0-9 \(\)\.\-]+$/,phone_inter:/^\+{0,1}[0-9 \(\)\.\-]+$/,url:/^(http|https|ftp)\:\/\/[a-z0-9\-\.]+\.[a-z]{2,3}(:[a-z0-9]*)?\/?([a-z0-9\-\._\?\,\'\/\\\+&%\$#\=~])*$/i}},initialize:function(b,a){if(this.form=document.id(b)){this.form.isValid=true;this.regex=["length"];this.groups={};if(typeof(formcheckLanguage)!="undefined"){this.options.alerts=$merge(this.options.alerts,formcheckLanguage)}this.setOptions(a);this.form.setProperty("action",this.options.submitAction||this.form.getProperty("action")||"post");this.form.setProperty("method",this.options.submitMethod||this.form.getProperty("method")||"");this.validations=[];this.alreadyIndicated=false;this.firstError=false;$H(this.options.regexp).each(function(d,c){this.regex.push(c)},this);this.form.getElements("*[class*=validate]").each(function(c){this.register(c)},this);this.form.addEvents({submit:this.onSubmit.bind(this)});if(this.options.display.fixPngForIe){this.fixIeStuffs()}document.addEvent("mousewheel",function(){this.isScrolling=false}.bind(this));if(this.options.display.indicateErrorsInit){this.validations.each(function(c){if(!this.manageError(c,"submit")){this.form.isValid=false}},this)}}},register:function(el,position){el.validation=[];el.getProperty("class").split(" ").each(function(classX){if(classX.match(/^validate(\[.+\])$/)){var valid=true;var validators=eval(classX.match(/^validate(\[.+\])$/)[1]);for(var i=0;i=d[0].toFloat());e=this.options.alerts.digitmin.replace("%0",d[0])}else{f=(c.value.toFloat()>=d[0].toFloat()&&c.value.toFloat()<=d[1].toFloat());e=this.options.alerts.digitltd.replace("%0",d[0]).replace("%1",d[1])}if(a==false||f==false){c.errors.push(e);return false}}else{if(this.options.regexp[b].test(c.value)==false){c.errors.push(e);return false}}return true},validateConfirm:function(b,c){var a=c[0];if(b.value!=this.form[a].value){var d=(this.options.display.titlesInsteadNames)?this.options.alerts.confirm.replace("%0",this.form[a].getProperty("title")):this.options.alerts.confirm.replace("%0",a);b.errors.push(d);return false}return true},validateDiffers:function(a,c){var b=c[0];if(a.value==this.form[b].value){var d=(this.options.display.titlesInsteadNames)?this.options.alerts.differs.replace("%0",this.form[b].getProperty("title")):this.options.alerts.differs.replace("%0",b);a.errors.push(d);return false}return true},validateWords:function(c,d){var b=d[0];var a=d[1];var e=c.value.replace(/[ \t\v\n\r\f\p]/m," ").replace(/[,.;:]/g," ").clean().split(" ");if(a==-1){if(e.length0){if(e.lengtha){c.errors.push(this.options.alerts.words_range.replace("%0",b).replace("%1",a).replace("%2",e.length));return false}}else{if(e.length>a){c.errors.push(this.options.alerts.words_max.replace("%0",a).replace("%1",e.length));return false}}}return true},isFormValid:function(){this.form.isValid=true;this.validations.each(function(b){var a=this.manageError(b,"testonly");if(!a){this.form.isValid=false}},this);return this.form.isValid},isChildType:function(el,validators){var validator;if($defined(el.type)&&el.type=="radio"){return true}else{if(validator=validators.join().match(/group(\[.*\])/)){var group=eval(validator[1]);this.groups[group[0]]=this.groups[group[0]]||[];this.groups[group[0]][0]=this.groups[group[0]][0]||[];this.groups[group[0]][1]=group[1]||this.groups[group[0]][1]||1;this.groups[group[0]][0].push(el);el.groupID=group[0];return true}}return false},validateGroup:function(d){d.errors=[];if(d.type=="radio"){var a=this.form[d.getProperty("name")];d.group=a;var c=false;for(var b=0;b=this.groups[d.groupID][1]){return true}else{(this.groups[d.groupID][0].length>1)?d.errors.push(this.options.alerts.checkboxes_group.replace("%0",this.groups[d.groupID][1])):d.errors.push(this.options.alerts.checkbox);return false}}else{return false}}},listErrorsAtTop:function(a){if(!this.form.element){this.form.element=new Element("div",{id:"errorlist","class":this.options.errorClass}).injectTop(this.form)}if($type(a)=="collection"){new Element("p").set("html",""+a[0].name+" : "+a[0].errors[0]).injectInside(this.form.element)}else{if((a.validation.contains("required")&&a.errors.length>0)||(a.errors.length>0&&a.value&&a.validation.contains("required")==false)){a.errors.each(function(b){new Element("p").set("html",""+a.name+" : "+b).injectInside(this.form.element)},this)}}window.fireEvent("resize")},addError:function(c){var f=c.target?document.id(c.target).getCoordinates():c.getCoordinates();if(!c.element&&this.options.display.indicateErrors!=0){if(this.options.display.errorsLocation==1){var e=(this.options.display.tipsPosition=="left")?f.left:f.right;var b={opacity:0,position:"absolute","float":"left",left:e+this.options.display.tipsOffsetX};c.element=new Element("div",{"class":this.options.tipsClass,styles:b}).injectInside(document.body);this.addPositionEvent(c)}else{if(this.options.display.errorsLocation==2){c.element=new Element("div",{"class":this.options.errorClass,styles:{opacity:0}}).injectBefore(c)}else{if(this.options.display.errorsLocation==3){c.element=new Element("div",{"class":this.options.errorClass,styles:{opacity:0}});if($type(c.group)=="object"||$type(c.group)=="collection"){c.element.injectAfter(c.group[c.group.length-1])}else{c.element.injectAfter(c)}}}}}if(c.element&&c.element!=true){c.element.empty();if(this.options.display.errorsLocation==1){var d=[];c.errors.each(function(g){d.push(new Element("p").set("html",g))});var a=this.makeTips(d).injectInside(c.element);if(this.options.display.closeTipsButton){a.getElements("a.close").addEvent("mouseup",function(){this.removeError(c,"tip")}.bind(this))}c.element.setStyle("top",f.top-a.getCoordinates().height+this.options.display.tipsOffsetY)}else{c.errors.each(function(g){new Element("p").set("html",g).injectInside(c.element)})}if(!this.options.display.fadeDuration||Browser.Engine.trident&&Browser.Engine.version==5&&this.options.display.errorsLocation<2){c.element.setStyle("opacity",1)}else{c.fx=new Fx.Tween(c.element,{duration:this.options.display.fadeDuration,ignore:true,onStart:function(){this.fxRunning=true}.bind(this),onComplete:function(){this.fxRunning=false;if(c.element&&c.element.getStyle("opacity").toInt()==0){c.element.destroy();c.element=false}}.bind(this)});if(c.element.getStyle("opacity").toInt()!=1){c.fx.start("opacity",1)}}}if(this.options.display.addClassErrorToField&&!c.isChild){c.addClass(this.options.fieldErrorClass);c.element=c.element||true}},addPositionEvent:function(a){if(this.options.display.replaceTipsEffect){a.event=function(){var b=a.target?document.id(a.target).getCoordinates():a.getCoordinates();new Fx.Morph(a.element,{duration:this.options.display.fadeDuration}).start({left:[a.element.getStyle("left"),b.right+this.options.display.tipsOffsetX],top:[a.element.getStyle("top"),b.top-a.element.getCoordinates().height+this.options.display.tipsOffsetY]})}.bind(this)}else{a.event=function(){var b=a.target?document.id(a.target).getCoordinates():a.getCoordinates();a.element.setStyles({left:b.right+this.options.display.tipsOffsetX,top:b.top-a.element.getCoordinates().height+this.options.display.tipsOffsetY})}.bind(this)}window.addEvent("resize",a.event)},removeError:function(a,b){if((this.options.display.addClassErrorToField&&!a.isChild&&this.options.display.removeClassErrorOnTipClosure)||(this.options.display.addClassErrorToField&&!a.isChild&&!this.options.display.removeClassErrorOnTipClosure&&b!="tip")){a.removeClass(this.options.fieldErrorClass)}if(!a.element){return}this.alreadyIndicated=false;a.errors=[];a.isOK=true;window.removeEvent("resize",a.event);if(this.options.display.errorsLocation>=2&&a.element){new Fx.Tween(a.element,{duration:this.options.display.fadeDuration}).start("height",0)}if(!this.options.display.fadeDuration||Browser.Engine.trident&&Browser.Engine.version==5&&this.options.display.errorsLocation==1&&a.element){this.fxRunning=true;a.element.destroy();a.element=false;(function(){this.fxRunning=false}.bind(this)).delay(200)}else{if(a.element&&a.element!=true){a.fx.start("opacity",0)}}},focusOnError:function(b){if(this.options.display.scrollToFirst&&!this.alreadyFocused&&!this.isScrolling){var a;if(!this.options.display.indicateErrors||!this.options.display.errorsLocation){a=b.getCoordinates().top-30}else{switch(this.options.display.errorsLocation){case 1:a=b.element.getCoordinates().top;break;case 2:a=b.element.getCoordinates().top-30;break;case 3:a=b.getCoordinates().top-30;break}this.isScrolling=true}if(window.getScroll().y!=a){new Fx.Scroll(window,{onComplete:function(){this.isScrolling=false;if(b.getProperty("type")!="hidden"){b.focus()}}.bind(this)}).start(0,a)}else{this.isScrolling=false;b.focus()}this.alreadyFocused=true}},fixIeStuffs:function(){if(Browser.Engine.trident4){var f=new RegExp("url\\(([.a-zA-Z0-9_/:-]+.png)\\)");var h=new RegExp("(.+)formcheck.css");for(var c=0;c 0){ //check if this field is inside a tabs section if(parentPanel[0].getParent('div').getParent('div').getFirst('dl').hasClass('tabs')){ //show the parent Panel body var selectedPanel = 0; var PanelIndex = 0; parentPanel[0].getParent('div').getChildren('dd').each(function(tabBody){ if(tabBody == parentPanel[0]){ tabBody.setStyle('display', 'block'); selectedPanel = PanelIndex; }else{ tabBody.setStyle('display', 'none'); } PanelIndex = PanelIndex + 1; }); //select the correct tab var tabCounter = 0; parentPanel[0].getParent('div').getParent('div').getFirst('dl').getChildren('dt').each(function(tab){ if(tabCounter == selectedPanel){ tab.addClass('open'); tab.removeClass('closed'); }else{ tab.addClass('closed'); tab.removeClass('open'); } tabCounter = tabCounter + 1; //remove error when changing tab tab.addEvent('click', function(){ this.removeError(el); }.bind(this)); }, this); } } found = 1; } } } }, this); }, fixSliders: function(){ var found = 0; var PanelIndex = 0; this.validations.each(function(el) { if(found != 1){ var validation = this.manageError(el,'testonly'); if(!validation && (el.validation.contains('required') == false) && el.value.trim() == ''){ //do nothing }else{ if(!validation){ //found invalid field, switch to its panel var parentPanel = el.getParents('div.pane-slider'); if(parentPanel.length > 0){ //check if this field is inside a tabs section if(parentPanel[0].getParent('div').getParent('div').hasClass('pane-sliders')){ //show the parent Panel body parentPanel[0].getParent('div').getParent('div.pane-sliders').getChildren('div.panel').each(function(tabBody){ if(tabBody.getFirst('div.pane-slider') == parentPanel[0]){ tabBody.getFirst('div.pane-slider').removeClass('pane-hide'); tabBody.getFirst('div.pane-slider').addClass('pane-down'); tabBody.getFirst('div.pane-slider').setStyle('height', 'auto'); tabBody.getFirst('h3.title').removeClass('pane-toggler'); tabBody.getFirst('h3.title').addClass('pane-toggler-down'); }else{ tabBody.getFirst('div.pane-slider').addClass('pane-hide'); tabBody.getFirst('div.pane-slider').setStyle('height', '0px'); tabBody.getFirst('div.pane-slider').removeClass('pane-down'); tabBody.getFirst('h3.title').addClass('pane-toggler'); tabBody.getFirst('h3.title').removeClass('pane-toggler-down'); } }); } } found = 1; } } } }, this); } });js/formcheck/index.html000066600000000000151371543200011111 0ustar00js/formcheck/formcheck-customs.js000066600000000262151371543200013120 0ustar00function noEnglishAlpha(el){ if(!el.value.test(/^[a-z ._-]+$/i)){ el.errors.push("This field accepts alphabetic characters only."); return false; }else{ return true; } }js/index.html000066600000000000151371543200007150 0ustar00js/datepicker_moo/datepicker_dashboard/Thumbs.db000066600000015000151371543200016041 0ustar00ࡱ>  Root EntryG256_3c74af06d052af2a*A256_b960989648c08347*   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEF)\ &i JFIFC  !"$"$C&" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?/ٟ͟ŝjt?\֭.pUUxtOG/@5-7S 7ל F狮uAgU0;Y\mda [X.ט^ͦ^o{kW/I m-HB €=>_CYk:mңY0Gm!T㞴 6.!Yڏiyov:\DV)#ngo%),O\PԐxS%(%cAQV*g/Ԫw:~ 0ڦi)Z߀|5i>|AcYu+Ǵc^дO_.,.5KŦش*g1vI!I5PY]Le.Y5wz}kAMz?״=kY]h^(#;"8YDR0%\!INw^eEo;9V sCЉPNG  IHDRkQsRGBgAMA a IDATx^kT|h+4⽈xSA ^^x$@Jo /? 9֋+~@ "xbhmMyšfwlXd&3{>kޏ7C` @h1&KoavlWؘ̢˦7ӌzuՌ>˛|5HV]1,+vj?Ygj?ގŦQk[: #7훯>踲cbZK5MizES {E_o}?]UſF{mϪN@T85p9rd"Z sss?~уΟ?ϥ1h:I"kQcWǾ+W\8}_CooolI`aa!χpϝ;w)?5_i]^ =4m`||'N|sʁ3% 7~`` ~:<}4LNN~366]lFDk"-/5퓉o?۳gOo߾/SdϦnY֭[+/O_E4Mj#@^ ?iA>m͛?ă={í[Ç+g>N:޽{+ٿ"c:hiVDs hNMMomٲ"k׮w8g blبVVVlyy95u8~x8sL`޽ ?D%R;kn D d( zj.] /_԰TnA Mr!޽;\pI[z*Cjitoͅ@-5$i.8q&YnL /|H9*6x&^So+bw@8H!@ vq$B#@ IhGرdzAюcg$b I"D;Ď=@ Dv{<; @$ ;xv@8H!@ vq$B#@ IhGرdzAюcg$b I"D;Ď=@ Dv{<; @$ ;xv@8H!@ vq$B#@ IhGرdzAюcg$b I"D;Ď=@ Dv{<; @$ ;xv@8H!@ vq$B#@ IhGرdzAюcg$b I"D;Ď=@ Dv{<; @$ ;xv@8H!@ vq$B#@ IhGرdzAюcg$b I"D;Ď=@ Dv鈡z3J@WK/$kk85_O +1dFm%аI_\-5DAj]5f`h4Kvm%ZOY嘳Xmμ@ 2Fm%@ڊg o#޶@ mō3o]I @Au{\͆?r2;8s9[lsѐM @ia+o#uWBL=@ 6$' 9o W~'\ãoIENDB`js/datepicker_moo/datepicker_dashboard/datepicker_dashboard.css000066600000012522151371543200021132 0ustar00.datepicker_dashboard { position: absolute; font-size: 10px; font-family: "Lucida Grande", LucidaGrande, "Lucida Sans", Geneva, Verdana, sans-serif; color: #fff; line-height: normal; width: 172px; height: 135px; padding: 14px; background: url(frame.png) no-repeat; } /* header ********************************************************/ .datepicker_dashboard .header { position: relative; height: 15px; margin-bottom: 5px; padding-top: 1px; } .datepicker_dashboard .header .title { text-align: center; margin: 2px 18px 0 18px; } .datepicker_dashboard .header .titleText { color: #ccff00; } .datepicker_dashboard .header .previous, .datepicker_dashboard .header .next, .datepicker_dashboard .header .closeButton { position: absolute; cursor: pointer; text-indent: -40px; overflow: hidden; width: 12px; height: 12px; top: 2px; background-image: url(buttons.png); background-position: left top; background-repeat: no-repeat; } .datepicker_dashboard .header .previous { left: 4px; } .datepicker_dashboard .header .previous:hover { background-position: left bottom; } .datepicker_dashboard .header .next { right: 4px; background-position: -13px top; } .datepicker_dashboard .header .next:hover { background-position: -13px bottom; } .datepicker_dashboard .header .closeButton { display: none; right: 0px; top: 0px; background-position: right top; } .datepicker_dashboard .header .closeButton:hover { background-position: right bottom; } /* body ********************************************************/ .datepicker_dashboard .body { position: relative; top: 0px; left: 2px; width: 168px; height: 112px; overflow: hidden; } /* time ********************************************************/ .datepicker_dashboard .time { position: relative; width: 100%; height: 100%; } .datepicker_dashboard .time .hour, .datepicker_dashboard .time .separator, .datepicker_dashboard .time .minutes { background: #333; border: 0px; width: 50px; font-size: 32px; color: #fff; position: absolute; top: 10px; text-align: center; padding: 2px; } .datepicker_dashboard .time .hour { left: 15px; } .datepicker_dashboard .time .separator { background: transparent; width: 10px; left: 76px; } .datepicker_dashboard .time .minutes { left: 95px; } .datepicker_dashboard .time .ok { position: absolute; top: 65px; height: 32px; width: 136px; left: 15px; font-size: 20px; } /* days-grid ********************************************************/ .datepicker_dashboard .days .day { float: left; text-align: center; overflow: hidden; width: 23px; padding-top: 1px; height: 14px; margin: 0 1px 1px 0; font-weight: normal; } .datepicker_dashboard .days .titles { height: 15px; margin-bottom: 2px; text-transform: uppercase; color: #aaa; } .datepicker_dashboard .days .day0 { margin-right: 0; } .datepicker_dashboard .days .week5 .day { margin-bottom: 0; } /* days-colors ********************************************************/ .datepicker_dashboard .days .week .day { cursor: pointer; } .datepicker_dashboard .days .week .day:hover { color: #ccff00; } .datepicker_dashboard .days .otherMonth { color: #444444; } .datepicker_dashboard .days .selected { color: #ccff00; } /* months-grid ********************************************************/ .datepicker_dashboard .months .month { float: left; cursor: pointer; text-align: center; padding-top: 6px; width: 55px; overflow: hidden; height: 21px; margin: 0 1px 1px 0; } .datepicker_dashboard .months .month3, .datepicker_dashboard .months .month6, .datepicker_dashboard .months .month9, .datepicker_dashboard .months .month12 { margin-right: 0; } .datepicker_dashboard .months .month10, .datepicker_dashboard .months .month11, .datepicker_dashboard .months .month12 { margin-bottom: 0; } /* months-colors ********************************************************/ .datepicker_dashboard .months .month:hover { color: #ccff00; } .datepicker_dashboard .months .selected { color: #ccff00; } /* years-grid ********************************************************/ .datepicker_dashboard .years .year { float: left; cursor: pointer; text-align: center; padding-top: 6px; width: 32px; overflow: hidden; height: 21px; margin: 0 1px 1px 0; } .datepicker_dashboard .years .year4, .datepicker_dashboard .years .year9, .datepicker_dashboard .years .year14, .datepicker_dashboard .years .year19 { margin-right: 0; } .datepicker_dashboard .years .year15, .datepicker_dashboard .years .year16, .datepicker_dashboard .years .year17, .datepicker_dashboard .years .year18, .datepicker_dashboard .years .year19 { margin-bottom: 0; } /* years-colors ********************************************************/ .datepicker_dashboard .years .year:hover { color: #ccff00; } .datepicker_dashboard .years .selected { color: #ccff00 } /* global ********************************************************/ .datepicker_dashboard .unavailable { color: #533 !important; cursor: default !important; text-decoration: line-through; } .datepicker_dashboard table { border-spacing: 0; } .datepicker_dashboard th, .datepicker_dashboard tr, .datepicker_dashboard td { padding: 0; border: none; } js/datepicker_moo/datepicker_dashboard/.htaccess000066600000000177151371543200016077 0ustar00 Order allow,deny Deny from all js/datepicker_moo/datepicker_dashboard/frame.png000066600000002447151371543200016103 0ustar00PNG  IHDR5tEXtSoftwareAdobe ImageReadyqe<;PLTEź """$$$%%%&&&(((+++,,,---...///111222999???ZZZ[[[^^^```]?tRNS !"&*,./01239::BGHJKLMNOPQRSTDp7IDATxyO@p9]9rH9DTnsWQE{u'u) ׄ<S2~)2<##?f.cXXZk=ۡ7r6)":%l2*c(5]af9^qL]ryS>~ȁ`(Cʺ²oݳdM]~Ec}&fR'Hgx!N*  =+: na茼Y\E,k37A=X^_vNB ˱:##$ޠBVWxk5T=[ F2jD]|^A(r펭G8:a[WU={TU!KE =PǴt2z3e-U滲SS0#V~ٵh-Z !HZ(w(h{RDBȈAh-ZĴ.#ȃ=61<|)!AʈKEȚ(2l ;NE"TP*>Zai-ZZZ"T֢h-]h~0@k |"i-f֢h-Z֢BUafdMvvC#EVVTDnx'rzt)6"ACF2#AaȊK᭻{qQaf8lR4d61H˟uqp~/&_7Ty7B̚}s3G/c^uf>a,VP~*b 4? tRj]DZ\<+Y,~+{IENDB`js/datepicker_moo/datepicker_vista/datepicker_vista.css000066600000012426151371543200017533 0ustar00.datepicker_vista { position: absolute; font-size: 10px; font-family: Tahoma, sans-serif; color: #000; line-height: normal; width: 172px; height: 135px; padding: 14px; background: url(frame.png) no-repeat; } /* header ********************************************************/ .datepicker_vista .header { position: relative; height: 15px; margin-bottom: 5px; padding-top: 1px; } .datepicker_vista .header .title { text-align: center; margin: 0 18px 0 18px; } .datepicker_vista .header .titleText { } .datepicker_vista .header .previous, .datepicker_vista .header .next, .datepicker_vista .header .closeButton { position: absolute; cursor: pointer; text-indent: -40px; overflow: hidden; width: 12px; height: 12px; top: 2px; background-image: url(buttons.png); background-position: left top; background-repeat: no-repeat; } .datepicker_vista .header .previous { left: 4px; } .datepicker_vista .header .previous:hover { background-position: left bottom; } .datepicker_vista .header .next { right: 4px; background-position: -13px top; } .datepicker_vista .header .next:hover { background-position: -13px bottom; } .datepicker_vista .header .closeButton { display: none; right: 0px; top: 0px; background-position: right top; } .datepicker_vista .header .closeButton:hover { background-position: right bottom; } /* body ********************************************************/ .datepicker_vista .body { position: relative; top: 0px; left: 2px; width: 168px; height: 112px; overflow: hidden; } /* time ********************************************************/ .datepicker_vista .time { position: relative; width: 100%; height: 100%; } .datepicker_vista .time .hour, .datepicker_vista .time .separator, .datepicker_vista .time .minutes { border: 1px solid #ccc; background: #fff; width: 50px; font-size: 32px; position: absolute; top: 10px; text-align: center; padding: 2px; } .datepicker_vista .time .hour { left: 15px; } .datepicker_vista .time .separator { background: transparent; border: 0px; width: 10px; left: 76px; } .datepicker_vista .time .minutes { left: 95px; } .datepicker_vista .time .ok { position: absolute; top: 65px; width: 136px; left: 15px; font-size: 20px; } /* days-grid ********************************************************/ .datepicker_vista .days .day { float: left; text-align: center; overflow: hidden; width: 23px; height: 15px; margin: 0 1px 1px 0; } .datepicker_vista .days .titles { height: 15px; border-bottom: 1px solid #e0e0e0; margin-bottom: 1px; } .datepicker_vista .days .day0 { margin-right: 0; } .datepicker_vista .days .week5 .day { margin-bottom: 0; } /* days-colors ********************************************************/ .datepicker_vista .days .week .day { cursor: pointer; } .datepicker_vista .days .week .day:hover { background: url(days.png) left top no-repeat; color: #0084AA; } .datepicker_vista .days .otherMonth { color: #aaa; } .datepicker_vista .days .selected { background: url(days.png) left bottom no-repeat; color: #316879; } /* months-grid ********************************************************/ .datepicker_vista .months .month { float: left; cursor: pointer; text-align: center; padding-top: 6px; width: 55px; overflow: hidden; height: 21px; margin: 0 1px 1px 0; } .datepicker_vista .months .month3, .datepicker_vista .months .month6, .datepicker_vista .months .month9, .datepicker_vista .months .month12 { margin-right: 0; } .datepicker_vista .months .month10, .datepicker_vista .months .month11, .datepicker_vista .months .month12 { margin-bottom: 0; } /* months-colors ********************************************************/ .datepicker_vista .months .month:hover { background: url(months.png) left top no-repeat; color: #0084AA; } .datepicker_vista .months .selected { background: url(months.png) left bottom no-repeat; color: #316879; } /* years-grid ********************************************************/ .datepicker_vista .years .year { float: left; cursor: pointer; text-align: center; padding-top: 6px; width: 32px; overflow: hidden; height: 21px; margin: 0 1px 1px 0; } .datepicker_vista .years .year4, .datepicker_vista .years .year9, .datepicker_vista .years .year14, .datepicker_vista .years .year19 { margin-right: 0; } .datepicker_vista .years .year15, .datepicker_vista .years .year16, .datepicker_vista .years .year17, .datepicker_vista .years .year18, .datepicker_vista .years .year19 { margin-bottom: 0; } /* years-colors ********************************************************/ .datepicker_vista .years .year:hover { background: url(years.png) left top no-repeat; color: #0084AA; } .datepicker_vista .years .selected { background: url(years.png) left bottom no-repeat; color: #316879; } /* global ********************************************************/ .datepicker_vista .unavailable { background: none !important; color: #fbb !important; cursor: default !important; } .datepicker_vista table { border-spacing: 0; } .datepicker_vista th, .datepicker_vista tr, .datepicker_vista td { padding: 0; border: none; } js/datepicker_moo/datepicker_vista/buttons.png000066600000001274151371543200015703 0ustar00PNG  IHDR&jϬYPLTE<Cз}@Y!\#)eS83pRN)͵DZkIENDB`js/datepicker_moo/datepicker_vista/.htaccess000066600000000177151371543200015276 0ustar00 Order allow,deny Deny from all js/datepicker_moo/datepicker_vista/days.png000066600000000713151371543200015142 0ustar00PNG  IHDR;PLTE煦鏭Ӣ󒯸鐮ֈԶ21IDATxmE1wp3ۼt- 4a4ݶM)lٖq6v@VŸ%i LŸιa;;FU״ 0=zBDי2ͮLzq ojWmڅJJTF$Q ^_(mmd1'h><(a8?W-EpǑ|IENDB`js/datepicker_moo/datepicker_vista/years.png000066600000001140151371543200015320 0ustar00PNG  IHDR 7ZwPLTE煦􇨲ڒ򈨲YIDATx}SbQv2\Vxk/ &âKE;Y#> ~NRbX$Ea^bI ñp 1I úp#1J Åİ&1H?~>BчŨ?T}A=e0A W8g6ҞҍA^(pBօ3'9pf$aVbXN% aSb$ILbؕ$JbX%mɁx.aY|(6 ?0\ձ)RzIENDB`js/datepicker_moo/datepicker_vista/Thumbs.db000066600000025000151371543200015241 0ustar00ࡱ>  Root Entry`G256_3c74af06d052af2a*256_1ccdaa82cd83bc6(256_b960989648c08347*$   !"#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRTUVWXYZ[\]^_`abcdefghjklmnopqrstuvwxyzȋJFIFC  !"$"$C&" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?_/|(OfkW+y:Gz..|9q47;5'ɫ:t|9ᩬʓ*ϫPیzk9M4MlZ̏A 瀘r1n57]uG~}+1~|O5][Lv햱E(h~UI=ڦ$:ˏ 0kG‘6ZH.`KUXRB# #W6Ҍ;/?Ig~͟%hW]2e#3_}lWO[|#j,S: ,U\mz7n?+ls/UH!?G| Hmf)YI HB%ddHEzErHSU>9 JFIFC  !"$"$C" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?ssK"fCqARy:wߥ ŞŻxIo,m `8 i4 Ou`*xlrvt%:Bh-(1h98h\xÚ6+}5nzQR𒎒&\pFiz4u&=]\“I%BFqpp i W;~ #UZƱcc0pPx gyÿ25rˡ֧-,}[F*TEp {Eg^OF'Z]I X;NH<{sw {źSPNG  IHDRkQsRGBgAMA a *IDATx^o{f+Y"+ ="GA9EX)nFk표VH@(B"pdqd&`clgܦܞtW}ZzrSާU'I @<thO_Oџ;ϳ4/4g?'i'41g-c$nxF ci"hr3v QZ%H*~MOĆIzܛ4;rն5i&DůqDlDll~~뙙KCCC_jϼNc#zo~S{+n7It۲ N49FϜ9ivv7hr䈾rx]%ϟ?~yyϏ=QtdoM=t 5*vʕ+ߜ>}2z^C "ɓ'Oy׻IӭQU /_N:T*,Z4ӧǏpHb[nv}Z MMMNVIZI i@$.Fi/'Ccb RK&Z۰A$>KNsX닋g兟TZl,;qڵ'Νט5;E 'O ^B@<{,{nEv޽o/t )V4;V+luu5x"ɁJG@vUY]x0Th}P]pVQdo&Ӡ RhKdV C KtM X ɃI4$  #HMVbp5y[5YsXa #`5X1]%&qU)G+1\WӺ q@! 9@/˼b! `?XNީ>-A z6C?\Mg B! ҟ,}%@7'+ "JVjehEմw) "=@}D=uEVAJ8zhjK; XtAYH3%"/A乼UJW!Жi:HE!s'B!!XtM u9[xKI9!/C ` @`qh|rDhݵq,MF",bE#H4%Hմm R7",bESz#i8J"i~דc!"佼ٵPq,f7DS.o˼EyB\ I,y\M~5%E˼rIñOp5 o#<=)VYz?` % He{LޖyMYѱ,Ba}NF\B`,fk]A*Dqv28&7]Toi,=Dx~B i(Rt<\IN=:S]Xr<B}D}LcQ/Xx{! A:vwKC sCBkBc @э+$HnH zE_8x^CMۅBK +]T^{^NƱ xA, u.@ Xt"=B[n/qx `u[Mr7GM@`}e(x8C2/:$s+X%,\?oS,˷?LXtaW Gb=tA u!#8[)ށb^'_"QG@)$IٙOe7o6;w$# fU6Ej@T2Xcb nGK'j6Q @CFuWRIffOn...\^Iػl|"/z?_/E0p 'G}zƍOVÀNjsss_iֱA T'>xĨ&T+ :U s##g߾ qELZw֭ ؾZ7矟>~e@Y ԤvINQ7_^^ /wGn셗A)Z=33sIkgTY7+++.-- D(׺C C%H:$Ѣ}1]-]n`F )t5NR59}K&DqM#}h $dp-}uln"0r 2pGtQ @*IENDB`HeJJFIFC  !"$"$C77" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJ256_8873c61f5121430c*S`256_4fff5836210663d5*iWSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?+kX.aie@.{sҤ>V¨Mq/?^ V'>Vk~*?ޏ?ޗ$C?K}O+_PyyrH=; '8eػCd:\ +XR^LDR\[D=Ҥ-O$iRY rǼg)?A_ ߉ƺL?Z#/h{{W"+7o cM4~/W~' _;ޏ;޲A_ ߉ƏE#Woa?wR8bY>[ eH"U)_ݚ"oO&V?I'cGDžNPĘ֖?V^CZ񖈽QU66^(*GE6?J*ćςsыEtVÉw]5;@Ig6XX8Q<34g?(4ԕ:q]?G ?#dhA ?#dhß24QG{y]ZmH2HTݓ8Z(NjǚG?y[Ό8JFIFC  !"$"$C7 " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?+kX.aie@.{sҤ>V¨Mq/?^ V'>V£[hcXkstyٱ#B֍3ŴC*O;޲DM曨}-e%g,{~Q+OQN“kT)/h{wRQ~o cM4xN"R|>bM?x2cC@jִ@(?VX9 kkSՌE2ki:T6 0X}x%ME\P%js/datepicker_moo/datepicker_vista/months.png000066600000001151151371543200015507 0ustar00PNG  IHDR77"tPLTE煦鏭ՒڟӶҋ0[ IDATxڝSbQ۶tض2-:næn9ĒݏWn2H.AyoAw;T(| sߤo_U]+|W ߺTLHήwTpr6raL7M;Du~“]!` + (size.x + scroll.x)) x = (size.x + scroll.x) - pickersize.x; if ((y + pickersize.y) > (size.y + scroll.y)) y = (size.y + scroll.y) - pickersize.y; if (x < 0) x = 0; if (y < 0) y = 0; this.picker.setStyles({ left: x, top: y }); if (this.shim) this.shim.position(); return this; }, setBodySize: function(){ var bodysize = this.bodysize = this.body.getSize(); this.slider.setStyles({ width: 2 * bodysize.x, height: bodysize.y }); this.oldContents.setStyles({ left: bodysize.x, width: bodysize.x, height: bodysize.y }); this.newContents.setStyles({ width: bodysize.x, height: bodysize.y }); }, setColumnContent: function(column, content){ var columnElement = this.columns[column]; if (!columnElement) return this; var type = typeOf(content); if (['string', 'number'].contains(type)) columnElement.set('text', content); else columnElement.empty().adopt(content); return this; }, setColumnsContent: function(content, fx){ var old = this.columns; this.columns = this.newColumns; this.newColumns = old; content.forEach(function(_content, i){ this.setColumnContent(i, _content); }, this); return this.setContent(null, fx); }, setColumns: function(columns){ var _columns = this.columns = new Elements, _newColumns = this.newColumns = new Elements; for (var i = columns; i--;){ _columns.push(new Element('div.column').addClass('column_' + (columns - i))); _newColumns.push(new Element('div.column').addClass('column_' + (columns - i))); } var oldClass = 'column_' + this.options.columns, newClass = 'column_' + columns; this.picker.removeClass(oldClass).addClass(newClass); this.options.columns = columns; return this; }, setContent: function(content, fx){ if (content) return this.setColumnsContent([content], fx); // swap contents so we can fill the newContents again and animate var old = this.oldContents; this.oldContents = this.newContents; this.newContents = old; this.newContents.empty(); this.newContents.adopt(this.columns); this.setBodySize(); if (fx){ this.fx(fx); } else { this.slider.setStyle('left', 0); this.oldContents.setStyles({left: 0, opacity: 0}); this.newContents.setStyles({left: 0, opacity: 1}); } return this; }, fx: function(fx){ var oldContents = this.oldContents, newContents = this.newContents, slider = this.slider, bodysize = this.bodysize; if (fx == 'right'){ oldContents.setStyles({left: 0, opacity: 1}); newContents.setStyles({left: bodysize.x, opacity: 1}); slider.setStyle('left', 0).tween('left', 0, -bodysize.x); } else if (fx == 'left'){ oldContents.setStyles({left: bodysize.x, opacity: 1}); newContents.setStyles({left: 0, opacity: 1}); slider.setStyle('left', -bodysize.x).tween('left', -bodysize.x, 0); } else if (fx == 'fade'){ slider.setStyle('left', 0); oldContents.setStyle('left', 0).set('tween', { duration: this.options.animationDuration / 2 }).tween('opacity', 1, 0).get('tween').chain(function(){ oldContents.setStyle('left', bodysize.x); }); newContents.setStyles({opacity: 0, left: 0}).set('tween', { duration: this.options.animationDuration }).tween('opacity', 0, 1); } }, toElement: function(){ return this.picker; }, setTitle: function(content, fn){ if (!fn) fn = Function.from; this.titleText.empty().adopt( Array.from(content).map(function(item, i){ return typeOf(item) == 'element' ? item : new Element('div.column', {text: fn(item, this.options)}).addClass('column_' + (i + 1)); }, this) ); return this; }, setTitleEvent: function(fn){ this.titleText.removeEvents('click'); if (fn) this.titleText.addEvent('click', fn); this.titleText.setStyle('cursor', fn ? 'pointer' : ''); return this; } }); js/datepicker_moo/Locale.pt-BR.DatePicker.js000066600000000652151371543200014647 0ustar00/* --- name: Locale.pt-BR.DatePicker description: Portuguese Language File for DatePicker authors: Jonnathan Soares requires: [More/Locale] provides: Locale.pt-BR.DatePicker ... */ Locale.define('pt-BR', 'DatePicker', { select_a_time: 'Selecione uma hora', use_mouse_wheel: 'Use a roda do mouse para rapidamente trocar de valor', time_confirm_button: 'OK', apply_range: 'Aplicar', cancel: 'Cancelar', week: 'Sem.' }); js/datepicker_moo/Locale.he-IL.DatePicker.js000066600000000660151371543200014620 0ustar00/* --- name: Locale.he-IL.DatePicker description: Hebrew Language File for DatePicker authors: Amitay Horwitz requires: [More/Locale] provides: Locale.he-IL.DatePicker ... */ Locale.define('he-IL', 'DatePicker', { select_a_time: 'בחר זמן', use_mouse_wheel: 'השתמש בגלגלת העכבר לשינוי מהיר', time_confirm_button: 'אישור', apply_range: 'החל', cancel: 'ביטול', week: 'שבוע' }); js/datepicker_moo/Locale.cs-CZ.DatePicker.js000066600000000542151371543200014640 0ustar00/* --- name: Locale.cs-CZ.DatePicker description: Czech Language File for DatePicker authors: Jan Cerny requires: [More/Locale] provides: Locale.cs-CZ.DatePicker ... */ Locale.define('cs-CZ', 'DatePicker', { select_a_time: 'Vyberte čas', use_mouse_wheel: 'Použijte kolečko myši k rychlé změně hodnoty', time_confirm_button: 'Zvolte čas' }); js/datepicker_moo/datepicker.css000066600000011605151371543200013002 0ustar00.datepicker { position: absolute; border: 2px solid #1C3262; font-size: 11px; width: 194px; padding: 3px; height: 221px; background: #fff; line-height: normal; z-index: 3003; } .datepicker.column_2 { width: 393px; } .datepicker.column_3 { width: 592px; } .datepicker.column_4 { width: 791px; } .datepicker.column_5 { width: 990px; } /* header ********************************************************/ .datepicker .header { position: relative; background: #1C3262; height: 21px; padding-top: 4px; margin-bottom: 3px; overflow: hidden; } .datepicker .header .title { text-align: center; padding-top: 1px; position: absolute; color: #fff; font-weight: bold; width: 99999px; } .datepicker .header .titleText { } .datepicker .header .next, .datepicker .header .previous, .datepicker .header .closeButton { position: absolute; width: 15px; height: 15px; background: #fff; text-align: center; color: #666; top: 5px; cursor: pointer; } .datepicker .header .previous { left: 5px; } .datepicker .header .next { right: 28px; } .datepicker .header .closeButton { right: 5px; } /* body ********************************************************/ .datepicker .body { position: relative; top: 0px; left: 0px; height: 193px; overflow: hidden; } /* Columns */ .datepicker .body .column { float: left; width: 194px; min-height: 193px; margin-left: 5px; } .datepicker .body .column.column_1 { margin-left: 0; } .datepicker .titleText .column { float: left; width: 194px; margin-left: 5px; } .datepicker .titleText .column.column_1 { margin-left: 0; } /* Footer */ .datepicker.footer { height: 280px; } .datepicker .footer { margin-top: 3px; padding: 15px 5px; height: 26px; } /* time ********************************************************/ .datepicker .time { width: 100%; height: 100%; background: #eee; } .datepicker .time .hour, .datepicker .time .separator, .datepicker .time .minutes { border: 1px solid #ccc; background: #fff; width: 50px; font-size: 32px; position: absolute; top: 50px; text-align: center; padding: 2px; } .datepicker .time .hour { left: 30px; } .datepicker .time .separator { background: transparent; border: 0px; width: 10px; left: 91px; } .datepicker .time .minutes { left: 110px; } .datepicker .time .ok { position: absolute; top: 105px; width: 136px; left: 30px; font-size: 20px; } /* days-grid ********************************************************/ .datepicker .days .day { float: left; background: #ccc; cursor: pointer; text-align: center; padding-top: 4px; width: 25px; overflow: hidden; height: 21px; margin: 0 3px 3px 0; } .datepicker .days .day0 { margin-right: 0; } .datepicker .days .week5 .day { margin-bottom: 0; } /* days-colors ********************************************************/ .datepicker .days .title { background: #5D6E95; font-weight: bold; color: #fff; cursor: default; } .datepicker .days .otherMonth { background: #eee; color: #aaa; } /* months ********************************************************/ .datepicker .months .month { float: left; background: #eee; cursor: pointer; text-align: center; overflow: hidden; width: 62px; height: 31px; padding-top: 15px; margin: 0 3px 3px 0; } .datepicker .months .month3, .datepicker .months .month6, .datepicker .months .month9, .datepicker .months .month12 { margin-right: 0; width: 64px; } .datepicker .months .month10, .datepicker .months .month11, .datepicker .months .month12 { margin-bottom: 0; } /* years ********************************************************/ .datepicker .years .year { float: left; background: #eee; cursor: pointer; text-align: center; padding-top: 11px; width: 46px; overflow: hidden; height: 25px; margin: 0 3px 3px 0; } .datepicker .years .year3, .datepicker .years .year7, .datepicker .years .year11, .datepicker .years .year15, .datepicker .years .year19 { margin-right: 0; width: 47px; } .datepicker .years .year16, .datepicker .years .year17, .datepicker .years .year18, .datepicker .years .year19 { margin-bottom: 0; height: 26px; } /* global ********************************************************/ .datepicker .selected { background: #8C929F !important; color: #fff !important; } .datepicker .days .otherMonth.selected { background: #bbbfc8 !important; } .datepicker .unavailable, .datepicker .body .days .week .day.unavailable:hover { background: #edd !important; color: #b88 !important; cursor: default !important; } .datepicker .days .week .day:hover, .datepicker .months .month:hover, .datepicker .years .year:hover { background: #5D6E95 !important; color: #fff !important; } .datepicker .days.weeknumbers .day { width: 22px; } .datepicker .days.weeknumbers .day.weeknumber, .datepicker .days.weeknumbers .day.weeknumber:hover { color: #AAA !important; width: 16px !important; background: #EEE !important; } .datepicker table { border-spacing: 0; } .datepicker th, .datepicker td { padding: 0; } js/datepicker_moo/Picker.Date.js000066600000046317151371543200012614 0ustar00/* --- name: Picker.Date description: Creates a DatePicker, can be used for picking years/months/days and time, or all of them authors: Arian Stolwijk requires: [Picker, Picker.Attach, Locale.en-US.DatePicker, More/Locale, More/Date] provides: Picker.Date ... */ (function(){ this.DatePicker = Picker.Date = new Class({ Extends: Picker.Attach, options: {/* onSelect: function(date){}, minDate: new Date('3/4/2010'), // Date object or a string maxDate: new Date('3/4/2011'), // same as minDate availableDates: {}, // invertAvailable: false, format: null,*/ timePicker: false, timePickerOnly: false, // deprecated, use onlyView = 'time' timeWheelStep: 1, // 10,15,20,30 yearPicker: true, yearsPerPage: 20, startDay: 1, // Sunday (0) through Saturday (6) - be aware that this may affect your layout, since the days on the right might have a different margin rtl: false, startView: 'days', // allowed values: {time, days, months, years} openLastView: false, pickOnly: false, // 'years', 'months', 'days', 'time' canAlwaysGoUp: ['months', 'days'], updateAll : false, //whether or not to update all inputs when selecting a date weeknumbers: false, // if you like to use your own translations months_abbr: null, days_abbr: null, years_title: function(date, options){ var year = date.get('year'); return year + '-' + (year + options.yearsPerPage - 1); }, months_title: function(date, options){ return date.get('year'); }, days_title: function(date, options){ return date.format('%b %Y'); }, time_title: function(date, options){ return (options.pickOnly == 'time') ? Locale.get('DatePicker.select_a_time') : date.format('%d %B, %Y'); } }, initialize: function(attachTo, options){ this.parent(attachTo, options); this.setOptions(options); options = this.options; // If we only want to use one picker / backwards compatibility ['year', 'month', 'day', 'time'].some(function(what){ if (options[what + 'PickerOnly']){ options.pickOnly = what; return true; } return false; }); if (options.pickOnly){ options[options.pickOnly + 'Picker'] = true; options.startView = options.pickOnly; } // backward compatibility for startView var newViews = ['days', 'months', 'years']; ['month', 'year', 'decades'].some(function(what, i){ return (options.startView == what) && (options.startView = newViews[i]); }); options.canAlwaysGoUp = options.canAlwaysGoUp ? Array.from(options.canAlwaysGoUp) : []; // Set the min and max dates as Date objects if (options.minDate){ if (!(options.minDate instanceof Date)) options.minDate = Date.parse(options.minDate); options.minDate.clearTime(); } if (options.maxDate){ if (!(options.maxDate instanceof Date)) options.maxDate = Date.parse(options.maxDate); options.maxDate.clearTime(); } if (!options.format){ options.format = (options.pickOnly != 'time') ? Locale.get('Date.shortDate') : ''; if (options.timePicker) options.format = (options.format) + (options.format ? ' ' : '') + Locale.get('Date.shortTime'); } // Some link or input has fired an event! this.addEvent('attached', function(event, element){ // This is where we store the selected date if (!this.currentView || !options.openLastView) this.currentView = options.startView; this.date = limitDate(new Date(), options.minDate, options.maxDate); var tag = element.get('tag'), input; if (tag == 'input') input = element; else { var index = this.toggles.indexOf(element); if (this.inputs[index]) input = this.inputs[index]; } this.getInputDate(input); this.input = input; this.setColumns(this.originalColumns); }.bind(this), true); }, getInputDate: function(input){ this.date = new Date(); if (!input) return; var date = Date.parse(input.get('value')); if (date == null || !date.isValid()){ var storeDate = input.retrieve('datepicker:value'); if (storeDate) date = Date.parse(storeDate); } if (date != null && date.isValid()) this.date = date; }, // Control the previous and next elements constructPicker: function(){ this.parent(); if (!this.options.rtl){ this.previous = new Element('div.previous[html=#171;]').inject(this.header); this.next = new Element('div.next[html=#187;]').inject(this.header); } else { this.next = new Element('div.previous[html=#171;]').inject(this.header); this.previous = new Element('div.next[html=#187;]').inject(this.header); } }, hidePrevious: function(_next, _show){ this[_next ? 'next' : 'previous'].setStyle('display', _show ? 'block' : 'none'); return this; }, showPrevious: function(_next){ return this.hidePrevious(_next, true); }, setPreviousEvent: function(fn, _next){ this[_next ? 'next' : 'previous'].removeEvents('click'); if (fn) this[_next ? 'next' : 'previous'].addEvent('click', fn); return this; }, hideNext: function(){ return this.hidePrevious(true); }, showNext: function(){ return this.showPrevious(true); }, setNextEvent: function(fn){ return this.setPreviousEvent(fn, true); }, setColumns: function(columns, view, date, viewFx){ var ret = this.parent(columns), method; if ((view || this.currentView) && (method = 'render' + (view || this.currentView).capitalize()) && this[method] ) this[method](date || this.date.clone(), viewFx); return ret; }, // Render the Pickers renderYears: function(date, fx){ var options = this.options, pages = options.columns, perPage = options.yearsPerPage, _columns = [], _dates = []; this.dateElements = []; // start neatly at interval (eg. 1980 instead of 1987) date = date.clone().decrement('year', date.get('year') % perPage); var iterateDate = date.clone().decrement('year', Math.floor((pages - 1) / 2) * perPage); for (var i = pages; i--;){ var _date = iterateDate.clone(); _dates.push(_date); _columns.push(renderers.years( timesSelectors.years(options, _date.clone()), options, this.date.clone(), this.dateElements, function(date){ if (options.pickOnly == 'years') this.select(date); else this.renderMonths(date, 'fade'); this.date = date; }.bind(this) )); iterateDate.increment('year', perPage); } this.setColumnsContent(_columns, fx); this.setTitle(_dates, options.years_title); // Set limits var limitLeft = (options.minDate && date.get('year') <= options.minDate.get('year')), limitRight = (options.maxDate && (date.get('year') + options.yearsPerPage) >= options.maxDate.get('year')); this[(limitLeft ? 'hide' : 'show') + 'Previous'](); this[(limitRight ? 'hide' : 'show') + 'Next'](); this.setPreviousEvent(function(){ this.renderYears(date.decrement('year', perPage), 'left'); }.bind(this)); this.setNextEvent(function(){ this.renderYears(date.increment('year', perPage), 'right'); }.bind(this)); // We can't go up! this.setTitleEvent(null); this.currentView = 'years'; }, renderMonths: function(date, fx){ var options = this.options, years = options.columns, _columns = [], _dates = [], iterateDate = date.clone().decrement('year', Math.floor((years - 1) / 2)); this.dateElements = []; for (var i = years; i--;){ var _date = iterateDate.clone(); _dates.push(_date); _columns.push(renderers.months( timesSelectors.months(options, _date.clone()), options, this.date.clone(), this.dateElements, function(date){ if (options.pickOnly == 'months') this.select(date); else this.renderDays(date, 'fade'); this.date = date; }.bind(this) )); iterateDate.increment('year', 1); } this.setColumnsContent(_columns, fx); this.setTitle(_dates, options.months_title); // Set limits var year = date.get('year'), limitLeft = (options.minDate && year <= options.minDate.get('year')), limitRight = (options.maxDate && year >= options.maxDate.get('year')); this[(limitLeft ? 'hide' : 'show') + 'Previous'](); this[(limitRight ? 'hide' : 'show') + 'Next'](); this.setPreviousEvent(function(){ this.renderMonths(date.decrement('year', years), 'left'); }.bind(this)); this.setNextEvent(function(){ this.renderMonths(date.increment('year', years), 'right'); }.bind(this)); var canGoUp = options.yearPicker && (options.pickOnly != 'months' || options.canAlwaysGoUp.contains('months')); var titleEvent = (canGoUp) ? function(){ this.renderYears(date, 'fade'); }.bind(this) : null; this.setTitleEvent(titleEvent); this.currentView = 'months'; }, renderDays: function(date, fx){ var options = this.options, months = options.columns, _columns = [], _dates = [], iterateDate = date.clone().decrement('month', Math.floor((months - 1) / 2)); this.dateElements = []; for (var i = months; i--;){ _date = iterateDate.clone(); _dates.push(_date); _columns.push(renderers.days( timesSelectors.days(options, _date.clone()), options, this.date.clone(), this.dateElements, function(date){ if (options.pickOnly == 'days' || !options.timePicker) this.select(date) else this.renderTime(date, 'fade'); this.date = date; }.bind(this) )); iterateDate.increment('month', 1); } this.setColumnsContent(_columns, fx); this.setTitle(_dates, options.days_title); var yearmonth = date.format('%Y%m').toInt(), limitLeft = (options.minDate && yearmonth <= options.minDate.format('%Y%m')), limitRight = (options.maxDate && yearmonth >= options.maxDate.format('%Y%m')); this[(limitLeft ? 'hide' : 'show') + 'Previous'](); this[(limitRight ? 'hide' : 'show') + 'Next'](); this.setPreviousEvent(function(){ this.renderDays(date.decrement('month', months), 'left'); }.bind(this)); this.setNextEvent(function(){ this.renderDays(date.increment('month', months), 'right'); }.bind(this)); var canGoUp = options.pickOnly != 'days' || options.canAlwaysGoUp.contains('days'); var titleEvent = (canGoUp) ? function(){ this.renderMonths(date, 'fade'); }.bind(this) : null; this.setTitleEvent(titleEvent); this.currentView = 'days'; }, renderTime: function(date, fx){ var options = this.options; this.setTitle(date, options.time_title); var originalColumns = this.originalColumns = options.columns; this.currentView = null; // otherwise you'd get crazy recursion if (originalColumns != 1) this.setColumns(1); this.setContent(renderers.time( options, date.clone(), function(date){ this.select(date); }.bind(this) ), fx); // Hide « and » buttons this.hidePrevious() .hideNext() .setPreviousEvent(null) .setNextEvent(null); var canGoUp = options.pickOnly != 'time' || options.canAlwaysGoUp.contains('time'); var titleEvent = (canGoUp) ? function(){ this.setColumns(originalColumns, 'days', date, 'fade'); }.bind(this) : null; this.setTitleEvent(titleEvent); this.currentView = 'time'; }, select: function(date, all){ this.date = date; var formatted = date.format(this.options.format), time = date.strftime(), inputs = (!this.options.updateAll && !all && this.input) ? [this.input] : this.inputs; inputs.each(function(input){ input.set('value', formatted).store('datepicker:value', time).fireEvent('change'); }, this); this.fireEvent('select', [date].concat(inputs)); this.close(); return this; } }); // Renderers only output elements and calculate the limits! var timesSelectors = { years: function(options, date){ var times = []; for (var i = 0; i < options.yearsPerPage; i++){ times.push(+date); date.increment('year', 1); } return times; }, months: function(options, date){ var times = []; date.set('month', 0); for (var i = 0; i <= 11; i++){ times.push(+date); date.increment('month', 1); } return times; }, days: function(options, date){ var times = []; date.set('date', 1); while (date.get('day') != options.startDay) date.set('date', date.get('date') - 1); for (var i = 0; i < 42; i++){ times.push(+date); date.increment('day', 1); } return times; } }; var renderers = { years: function(years, options, currentDate, dateElements, fn){ var container = new Element('div.years'), today = new Date(), element, classes; years.each(function(_year, i){ var date = new Date(_year), year = date.get('year'); classes = '.year.year' + i; if (year == today.get('year')) classes += '.today'; if (year == currentDate.get('year')) classes += '.selected'; element = new Element('div' + classes, {text: year}).inject(container); dateElements.push({element: element, time: _year}); if (isUnavailable('year', date, options)) element.addClass('unavailable'); else element.addEvent('click', fn.pass(date)); }); return container; }, months: function(months, options, currentDate, dateElements, fn){ var today = new Date(), month = today.get('month'), thisyear = today.get('year'), selectedyear = currentDate.get('year'), container = new Element('div.months'), monthsAbbr = options.months_abbr || Locale.get('Date.months_abbr'), element, classes; months.each(function(_month, i){ var date = new Date(_month), year = date.get('year'); classes = '.month.month' + (i + 1); if (i == month && year == thisyear) classes += '.today'; if (i == currentDate.get('month') && year == selectedyear) classes += '.selected'; element = new Element('div' + classes, {text: monthsAbbr[i]}).inject(container); dateElements.push({element: element, time: _month}); if (isUnavailable('month', date, options)) element.addClass('unavailable'); else element.addEvent('click', fn.pass(date)); }); return container; }, days: function(days, options, currentDate, dateElements, fn){ var month = new Date(days[14]).get('month'), todayString = new Date().toDateString(), currentString = currentDate.toDateString(), weeknumbers = options.weeknumbers, container = new Element('table.days' + (weeknumbers ? '.weeknumbers' : ''), { role: 'grid', 'aria-labelledby': this.titleID }), header = new Element('thead').inject(container), body = new Element('tbody').inject(container), titles = new Element('tr.titles').inject(header), localeDaysShort = options.days_abbr || Locale.get('Date.days_abbr'), day, classes, element, weekcontainer, dateString, where = options.rtl ? 'top' : 'bottom'; if (weeknumbers) new Element('th.title.day.weeknumber', { text: Locale.get('DatePicker.week') }).inject(titles); for (day = options.startDay; day < (options.startDay + 7); day++){ new Element('th.title.day.day' + (day % 7), { text: localeDaysShort[(day % 7)], role: 'columnheader' }).inject(titles, where); } days.each(function(_date, i){ var date = new Date(_date); if (i % 7 == 0){ weekcontainer = new Element('tr.week.week' + (Math.floor(i / 7))).set('role', 'row').inject(body); if (weeknumbers) new Element('th.day.weeknumber', {text: date.get('week'), scope: 'row', role: 'rowheader'}).inject(weekcontainer); } dateString = date.toDateString(); classes = '.day.day' + date.get('day'); if (dateString == todayString) classes += '.today'; if (date.get('month') != month) classes += '.otherMonth'; element = new Element('td' + classes, {text: date.getDate(), role: 'gridcell'}).inject(weekcontainer, where); if (dateString == currentString) element.addClass('selected').set('aria-selected', 'true'); else element.set('aria-selected', 'false'); dateElements.push({element: element, time: _date}); if (isUnavailable('date', date, options)) element.addClass('unavailable'); else element.addEvent('click', fn.pass(date.clone())); }); return container; }, time: function(options, date, fn){ var container = new Element('div.time'), // make sure that the minutes are timeWheelStep * k initMinutes = (date.get('minutes') / options.timeWheelStep).round() * options.timeWheelStep if (initMinutes >= 60) initMinutes = 0; date.set('minutes', initMinutes); var hoursInput = new Element('input.hour[type=text]', { title: Locale.get('DatePicker.use_mouse_wheel'), value: date.format('%H'), events: { click: function(event){ event.target.focus(); event.stop(); }, mousewheel: function(event){ event.stop(); hoursInput.focus(); var value = hoursInput.get('value').toInt(); value = (event.wheel > 0) ? ((value < 23) ? value + 1 : 0) : ((value > 0) ? value - 1 : 23) date.set('hours', value); hoursInput.set('value', date.format('%H')); }.bind(this) }, maxlength: 2 }).inject(container); var minutesInput = new Element('input.minutes[type=text]', { title: Locale.get('DatePicker.use_mouse_wheel'), value: date.format('%M'), events: { click: function(event){ event.target.focus(); event.stop(); }, mousewheel: function(event){ event.stop(); minutesInput.focus(); var value = minutesInput.get('value').toInt(); value = (event.wheel > 0) ? ((value < 59) ? (value + options.timeWheelStep) : 0) : ((value > 0) ? (value - options.timeWheelStep) : (60 - options.timeWheelStep)); if (value >= 60) value = 0; date.set('minutes', value); minutesInput.set('value', date.format('%M')); }.bind(this) }, maxlength: 2 }).inject(container); new Element('div.separator[text=:]').inject(container); new Element('input.ok[type=submit]', { value: Locale.get('DatePicker.time_confirm_button'), events: {click: function(event){ event.stop(); date.set({ hours: hoursInput.get('value').toInt(), minutes: minutesInput.get('value').toInt() }); fn(date.clone()); }} }).inject(container); return container; } }; Picker.Date.defineRenderer = function(name, fn){ renderers[name] = fn; return this; }; var limitDate = function(date, min, max){ if (min && date < min) return min; if (max && date > max) return max; return date; }; var isUnavailable = function(type, date, options){ var minDate = options.minDate, maxDate = options.maxDate, availableDates = options.availableDates, year, month, day, ms; if (!minDate && !maxDate && !availableDates) return false; date.clearTime(); if (type == 'year'){ year = date.get('year'); return ( (minDate && year < minDate.get('year')) || (maxDate && year > maxDate.get('year')) || ( (availableDates != null && !options.invertAvailable) && ( availableDates[year] == null || Object.getLength(availableDates[year]) == 0 || Object.getLength( Object.filter(availableDates[year], function(days){ return (days.length > 0); }) ) == 0 ) ) ); } if (type == 'month'){ year = date.get('year'); month = date.get('month') + 1; ms = date.format('%Y%m').toInt(); return ( (minDate && ms < minDate.format('%Y%m').toInt()) || (maxDate && ms > maxDate.format('%Y%m').toInt()) || ( (availableDates != null && !options.invertAvailable) && ( availableDates[year] == null || availableDates[year][month] == null || availableDates[year][month].length == 0 ) ) ); } // type == 'date' year = date.get('year'); month = date.get('month') + 1; day = date.get('date'); var dateAllow = (minDate && date < minDate) || (minDate && date > maxDate); if (availableDates != null){ dateAllow = dateAllow || availableDates[year] == null || availableDates[year][month] == null || !availableDates[year][month].contains(day); if (options.invertAvailable) dateAllow = !dateAllow; } return dateAllow; }; })(); js/datepicker_moo/Locale.ru-RU.DatePicker.js000066600000000645151371543200014677 0ustar00/* --- name: Locale.ru-RU.DatePicker description: Russian Language File for DatePicker authors: https://github.com/rwz requires: [More/Locale] provides: Locale.ru-RU.DatePicker ... */ Locale.define('ru-RU', 'DatePicker', { select_a_time: 'Выберите время', use_mouse_wheel: 'Используйте колесо мышки для быстрой смены значения', time_confirm_button: 'OK' }); js/datepicker_moo/Locale.fr-FR.DatePicker.js000066600000000702151371543200014633 0ustar00/* --- name: Locale.fr-FR.DatePicker description: French Language File for DatePicker authors: ["Arian Stolwijk", "charlouze", "Abric Armand"] requires: [More/Locale] provides: Locale.fr-FR.DatePicker ... */ Locale.define('fr-FR', 'DatePicker', { select_a_time: 'Choisir l\'heure', use_mouse_wheel: 'Utiliser la molette pour changer l\'heure rapidement', time_confirm_button: 'OK', apply_range: 'Appliquer', cancel: 'Annuler', week: 'Sem' }); js/datepicker_moo/Picker.Date.Range.js000066600000006755151371543200013651 0ustar00/* --- name: Picker.Date.Range description: Select a Range of Dates authors: Arian Stolwijk requires: [Picker, Picker.Date] provides: Picker.Date.Range ... */ Picker.Date.Range = new Class({ Extends: Picker.Date, options: { getStartEndDate: function(input){ return input.get('value').split('-').map(function(date){ var parsed = Date.parse(date); return Date.isValid(parsed) ? parsed : null; }).clean(); }, setStartEndDate: function(input, dates){ input.set('value', dates.map(function(date){ return date.format(this.options.format); }, this).join(' - ')); }, footer: true, columns: 3 }, getInputDate: function(input){ if (!input) return; var dates = input.retrieve('datepicker:value'); if (dates && dates.length) dates = dates.map(Date.parse); if (!dates || !dates.length || dates.some(function(date){ return !Date.isValid(date); })){ dates = this.options.getStartEndDate.call(this, input); if (!dates.length || !dates.every(function(date){ return Date.isValid(date); })) dates = [this.date]; } if (dates.length == 1) this.date = this.startDate = this.endDate = dates[0]; else if (dates.length == 2){ this.date = this.startDate = dates[0]; this.endDate = dates[1]; } }, constructPicker: function(){ this.parent(); var footer = this.footer, self = this; if (!footer) return; var events = { click: function(){ this.focus(); }, blur: function(){ var date = Date.parse(this.get('value')); if (date.isValid) self[(this == startInput ? 'start' : 'end') + 'Date'] = date; self.updateRangeSelection(); }, keydown: function(event){ if (event.key == 'enter') self.selectRange(); } }; var startInput = this.startInput = new Element('input', {events: events}).inject(footer); new Element('span', {text: ' - '}).inject(footer); var endInput = this.endInput = new Element('input', {events: events}).inject(footer); this.applyButton = new Element('button.apply', { text: Locale.get('DatePicker.apply_range'), events: {click: self.selectRange.pass([], self)} }).inject(footer); this.cancelButton = new Element('button.cancel', { text: Locale.get('DatePicker.cancel'), events: {click: self.close.pass(false, self)} }).inject(footer); }, renderDays: function(){ this.parent.apply(this, arguments); this.updateRangeSelection(); }, select: function(date){ if (this.startDate && (this.endDate == this.startDate || date > this.endDate) && date >= this.startDate) this.endDate = date; else { this.startDate = date; this.endDate = date; } this.updateRangeSelection(); }, selectRange: function(){ this.date = this.startDate; var dates = [this.startDate, this.endDate], input = this.input; this.options.setStartEndDate.call(this, input, dates); input.store('datepicker:value', dates.map(function(date){ return date.strftime(); })).fireEvent('change'); this.fireEvent('select', dates, input); this.close(); return this; }, updateRangeSelection: function(){ var start = this.startDate, end = this.endDate || start; if (this.dateElements) for (var i = this.dateElements.length; i--;){ var el = this.dateElements[i]; if (el.time >= start && el.time <= end) el.element.addClass('selected'); else el.element.removeClass('selected'); } var formattedFirst = start.format(this.options.format) formattedEnd = end.format(this.options.format); this.startInput.set('value', formattedFirst); this.endInput.set('value', formattedEnd); return this; } }); js/datepicker_moo/index.html000066600000000000151371543200012135 0ustar00js/datepicker_moo/.htaccess000066600000000177151371543200011755 0ustar00 Order allow,deny Deny from all js/datepicker_moo/datepicker_jqui/.htaccess000066600000000177151371543200015120 0ustar00 Order allow,deny Deny from all js/datepicker_moo/datepicker_jqui/arrows.png000066600000000367151371543200015346 0ustar00PNG  IHDR!!WoIDATx @/_a1\$f`p }Xρ @=m u͐W!Sb&M) ύDV%lV<y ,asN'lI.a Xb݉l%62x&ك{Ω#GEuH"%)twCFCFFFFFFX4EPIENDB`js/datepicker_moo/datepicker_jqui/Thumbs.db000066600000011000151371543200015056 0ustar00ࡱ> Root Entry.G@ 256_b460c1ce23e67747*256_b960989648c08347*E  !"#$T' PNG  IHDR!!WosRGBgAMA a-IDATXGV 0DEEX (؂ @H "/,"]w)uU4KWV%XؿJbs?[c p}O7 MC>o<;J g'#/;qU  6[ Kİ~%yq~#pN+G>ב@L5حL0'i;ZB";!,L'$ VT]ҸGˢM,vVHS#Myr5ԤԤSߡ<IENDB`-,l(LPNG  IHDRc~sRGBgAMA aIDATx^kcUߤ$WҦUFh2"wA\t!Zn] .+BpXmӦIaڤsO;ip<{9I1wܗ}\@wݟFsX,Vr\\.W7AV$6l3w\@n2,>8Nxqq_M(Hjѧ" Xi-ygKBpn%h&^kz%˾!_, UAo;!X\99rH~t 0fN;A:~ x} gʄ@jُ"_:_BpP~KPȯ}j~Z;t:<* 4wL] ACB@kCBBSCBP (M۸. D[CBP=?fP D!! vꂀ'mo  4hgj'|wyM@qv-IFahމǞ]M0Q DԛJg@qth>ϧd]xr'AzM0戬 d]{+tm<Ӷ1NA yΝv-+/^C; ~jNmA* p5g-/zEz5B( &:ht4Kj<"@A!W y@p@!W y;sss$-:ƒ#O)LB!W y@p@!WOPV!If>S4}  O+B 8 O f"Nj .  <B   fff I;;; $GS!<B   <E:==-vww"z$t y@p@!W ySSS$=#O)LB!W y@p@"Mlj=U`: 8 O+B}J H888O 9"t! y@p@!W -r,"z$t y@p@!W yR $jHAX$ m#O pX<B   <'( I>S5[8 A!W y@p@!W Ą<h8>>c9TM @ cl'@!y@^'@yH@@@ӡc,9"t! y@p@!W y@p@!W yr9H@@@Ey@`k|'DZ<𾓄^G \x󓓓S LR&/߸$(R@boI IENDB`js/datepicker_moo/datepicker_jqui/index.html000066600000000000151371543200015300 0ustar00js/datepicker_moo/datepicker_jqui/datepicker_jqui.css000066600000013420151371543200017172 0ustar00.datepicker_jqui { position: absolute; font-size: 10px; font-family: "Trebuchet MS", Tahoma, Verdana, Arial, sans-serif; color: #333; line-height: normal; width: 185px; height: 158px; padding: 4px; background: url(frame.png) no-repeat; } /* header ********************************************************/ .datepicker_jqui .header { position: relative; height: 15px; margin-bottom: 5px; padding-top: 1px; } .datepicker_jqui .header .title { text-align: center; margin: 3px 18px 0 18px; } .datepicker_jqui .header .titleText { font-size: 11px; color: #fff; } .datepicker_jqui .header .previous, .datepicker_jqui .header .next, .datepicker_jqui .header .closeButton { position: absolute; cursor: pointer; text-indent: -40px; overflow: hidden; width: 16px; height: 16px; top: 4px; background-image: url(arrows.png); background-position: left top; background-repeat: no-repeat; } .datepicker_jqui .header .previous { left: 4px; } .datepicker_jqui .header .previous:hover { background-position: left bottom; } .datepicker_jqui .header .next { right: 4px; background-position: -17px top; } .datepicker_jqui .header .next:hover { background-position: -17px bottom; } .datepicker_jqui .header .closeButton { display: none; right: 0px; top: 0px; background-position: right top; } .datepicker_jqui .header .closeButton:hover { background-position: right bottom; } /* body ********************************************************/ .datepicker_jqui .body { position: relative; top: 6px; left: 2px; width: 185px; height: 131px; overflow: hidden; } /* time ********************************************************/ .datepicker_jqui .time { position: relative; width: 100%; height: 100%; } .datepicker_jqui .time .hour, .datepicker_jqui .time .separator, .datepicker_jqui .time .minutes { background: #fff; border: 0px; width: 50px; font-size: 32px; color: #333; border: 1px solid #aaa; position: absolute; top: 18px; text-align: center; padding: 2px; } .datepicker_jqui .time .hour { left: 23px; } .datepicker_jqui .time .separator { background: transparent; border: 0px; width: 10px; left: 84px; } .datepicker_jqui .time .minutes { left: 103px; } .datepicker_jqui .time .ok { position: absolute; top: 80px; height: 32px; width: 136px; left: 23px; font-size: 20px; } /* days-grid ********************************************************/ .datepicker_jqui .days .day { float: left; overflow: hidden; width: 19px; padding-top: 1px; padding-right: 3px; height: 13px; border: 1px solid #aaa; text-align: right; margin: 0 2px 2px 0; } .datepicker_jqui .days .titles { margin-bottom: 1px; } .datepicker_jqui .days .titles .title { border: 1px solid transparent; text-align: center; height: 16px; padding-right: 0px; width: 22px; padding-top: 2px; } .datepicker_jqui .days .day0 { margin-right: 0; } .datepicker_jqui .days .week5 .day { margin-bottom: 0; } /* days-colors ********************************************************/ .datepicker_jqui .days .week .day { background: #fcfcfc; cursor: pointer; color: #1C94C4; } .datepicker_jqui .days .week .day:hover { background: #fdf5ce; color: #c77405; border: 1px solid #fbcb09; } .datepicker_jqui .days .week .otherMonth { background: #f2f2f2; color: #94B2BE; border: 1px solid #aaa; } .datepicker_jqui .days .week .selected { background: #fff; color: #c77405; border: 1px solid #fbcb09; } /* months-grid ********************************************************/ .datepicker_jqui .months .month { float: left; text-align: center; overflow: hidden; width: 57px; cursor: pointer; background: #fcfcfc; padding-top: 7px; height: 22px; border: 1px solid #aaa; margin: 0 2px 2px 0; } .datepicker_jqui .months .month3, .datepicker_jqui .months .month6, .datepicker_jqui .months .month9, .datepicker_jqui .months .month12 { margin-right: 0; } .datepicker_jqui .months .month10, .datepicker_jqui .months .month11, .datepicker_jqui .months .month12 { margin-bottom: 0; } /* months-colors ********************************************************/ .datepicker_jqui .months .month:hover { background: #fdf5ce; color: #c77405; border: 1px solid #fbcb09; } .datepicker_jqui .months .selected { background: #fff; color: #c77405; border: 1px solid #fbcb09; } /* years-grid ********************************************************/ .datepicker_jqui .years .year { float: left; text-align: center; overflow: hidden; background: #fcfcfc; width: 32px; cursor: pointer; padding-top: 7px; height: 22px; border: 1px solid #aaa; margin: 0 2px 2px 0; } .datepicker_jqui .years .year4, .datepicker_jqui .years .year9, .datepicker_jqui .years .year14, .datepicker_jqui .years .year19 { margin-right: 0; width: 34px; } .datepicker_jqui .years .year15, .datepicker_jqui .years .year16, .datepicker_jqui .years .year17, .datepicker_jqui .years .year18, .datepicker_jqui .years .year19 { margin-bottom: 0; } /* years-colors ********************************************************/ .datepicker_jqui .years .year:hover { background: #fdf5ce; color: #c77405; border: 1px solid #fbcb09; } .datepicker_jqui .years .selected { background: #fff; color: #c77405; border: 1px solid #fbcb09; } /* global ********************************************************/ .datepicker_jqui .unavailable { cursor: default !important; background: #f0f0f0 !important; color: #ccc !important; border: 1px solid #ccc !important; } .datepicker_jqui table { border-spacing: 0; } .datepicker_jqui th, .datepicker_jqui th, .datepicker_jqui td { padding: 0; border:none; } js/datepicker_moo/datepicker_jqui/frame.png000066600000001403151371543200015113 0ustar00PNG  IHDRTmLgAMAOX2tEXtSoftwareAdobe ImageReadyqe<PLTE NPNQT!#$8998:<>@!$'*-025  G tRNS'*YrIDATx[N0%jz/}bkjH'!a= i=\q]zy* PrlNRlpmto4vscnǤjO4;IQҰ6A3)Y@Fˊ*ҳ܉`O]P- *St7d]F [)}Gy || T7Ere}Ee @K'dS2@>@p2E @@0E 6% ܦd @}@ @@ @@'3E @N& @"2@9199 bVe*\[IENDB`js/datepicker_moo/Locale.nl-NL.DatePicker.js000066600000000630151371543200014637 0ustar00/* --- name: Locale.nl-NL.DatePicker description: Dutch Language File for DatePicker authors: Arian Stolwijk requires: [More/Locale] provides: Locale.nl-NL.DatePicker ... */ Locale.define('nl-NL', 'DatePicker', { select_a_time: 'Selecteer een tijd', use_mouse_wheel: 'Gebruik uw scrollwiel om door de tijd te scrollen', time_confirm_button: 'OK', apply_range: 'OK', cancel: 'Annuleer', week: 'W' }); libraries/.htaccess000066600000000177151371543200010330 0ustar00 Order allow,deny Deny from all libraries/chronoform.php000066600000040006151371543200011412 0ustar00'; print_r($array); echo ''; } } class CFChronoForm { var $form_details; var $form_name; var $form_params; var $form_actions = array(); var $form_actions_data = array(); var $form_output = ''; var $main_event_actions = array(); var $validation_errors = array(); var $data = array(); var $debug = array(); var $files = array(); var $stop = false; var $loaded_validation = false; var $admin = false; var $session_token = null; var $extra_content = ''; var $last_action_result = null; var $disguised = false; var $extension_name = 'ChronoForms'; var $option = 'com_chronoforms'; var $connection_name = null; function __construct($formname = ''){ if(!empty($formname)){ if((strpos($formname, "_virtual_form_") !== false) && (strpos($formname, "_virtual_form_") == 0)){ $this->getVForm($formname); }else{ $this->getForm($this->_cleanName($formname)); } }else{ die('Form name can NOT be empty!'); } } public static function &getInstance($formname = '', $reset = false){ static $instances; $mainframe = JFactory::getApplication(); if(!isset($instances)){ $instances = array(); } if(empty($instances[trim($formname)]) || $reset){ $instances[trim($formname)] = new CFChronoForm($formname); return $instances[trim($formname)]; }else{ return $instances[trim($formname)]; } } function getForm($formname){ $mainframe = JFactory::getApplication(); $database = JFactory::getDBO(); $query = "SELECT * FROM `#__chronoforms` WHERE `name` = '".$formname."' AND `published` = '1' ORDER BY `id` DESC"; $database->setQuery($query); $form = $database->loadObject(); //set data array $this->_set_form_data(); if(!empty($form)){ $this->form_details = $form; $this->form_name = $form->name; //load params $this->form_params = new JParameter($form->params); //load actions $query = "SELECT * FROM `#__chronoform_actions` WHERE `chronoform_id` = '".$form->id."' ORDER BY `order`"; $database->setQuery($query); $this->form_actions = $database->loadObjectList(); return true; }else{ $this->form_details = new stdClass(); $this->form_name = '';//$formname; $this->form_params = new JParameter(''); return false; } } function getVForm($fid){ $this->form_details = new stdClass(); $this->form_name = $fid; $this->form_params = new JParameter(''); $this->_set_form_data(); return $this; } function _set_form_data(){ //set the form data if(isset($_GET) && !empty($_GET)){ $this->data = array_merge($this->data, JRequest::get('get', JREQUEST_ALLOWRAW)); } if(isset($_POST) && !empty($_POST)){ $this->data = array_merge($this->data, JRequest::get('post', JREQUEST_ALLOWRAW)); } } //get action data function get($action_id, $param_name){ if(isset($this->form_actions_data['cfaction_'.$action_id])){ $v = $this->form_actions_data['cfaction_'.$action_id]; if(isset($v->$param_name)){ //we need to get the data of a main element return $v->$param_name; }else{ //we need to get a param value $params = new JParameter($v->params); return $params->get($param_name, ''); } }else{ } } //set action data function set($action_id, $param_name, $param_value){ if(isset($this->form_actions_data) && !empty($this->form_actions_data)){ if(isset($this->form_actions_data['cfaction_'.$action_id])){ $v = $this->form_actions_data['cfaction_'.$action_id]; if(isset($v->$param_name)){ //we need to get the data of a main element $v->$param_name = $param_value; return true; }else{ //we need to get a param value $params = new JParameter($v->params); $params->set($param_name, $param_value); $v->params = $params->toString(); return true; } }else{ return false; } }else if(isset($this->form_actions) && !empty($this->form_actions)){ $action_id_pcs = explode("_", $action_id); $id = $action_id_pcs[count($action_id_pcs) - 1]; foreach($this->form_actions as $v){ if($v->order == $id){ if(isset($v->$param_name)){ //we need to get the data of a main element $v->$param_name = $param_value; return true; }else{ //we need to get a param value $params = new JParameter($v->params); $params->set($param_name, $param_value); $v->params = $params->toString(); return true; } } } return false; }else{ return false; } } function checkEvent($event){ if(isset($this->form_details->events_actions_map)){ $events = unserialize(base64_decode($this->form_details->events_actions_map)); if(!empty($event) && is_array($events['events']) && isset($events['events'][$event])){ return true; }else{ return false; } } } function injectAction($actions_list_path, $action_object, $position = 'last'){ //inject the action in the correct event in the events map $events = unserialize(base64_decode($this->form_details->events_actions_map)); $actions_list = $this->get_array_value($events, explode('.', $actions_list_path)); if($position === 'last'){ $actions_list['cfaction_'.$action_object->type.'_'.$action_object->order] = ''; }else if($position == 'first'){ } $events = $this->set_array_value($events, explode('.', $actions_list_path), $actions_list); $this->form_details->events_actions_map = base64_encode(serialize($events)); $this->form_actions[] = $action_object; } function createAction($action_name, $params = array()){ $new_action_details = new stdClass(); $new_action_details->type = $action_name; $new_action_details->enabled = 1; if(!empty($params['enabled'])){ $new_action_details->enabled = (int)$params['enabled']; } $new_action_details->content1 = ''; if(!empty($params['content1'])){ $new_action_details->content1 = $params['content1']; } $new_action_Params = new JParameter(''); foreach($params as $k => $v){ $new_action_Params->set($k, $v); } $new_action_details->params = $new_action_Params->toString(); return $new_action_details; } function process($event = null){ $return = true; //check app exclusive if(((bool)$this->form_params->get('app_exclusive', 0) === true) && !empty($this->form_details->app) && ($this->extension_name == 'ChronoForms')){ return false; } //process the event if(is_string($event) && !empty($event) && !empty($this->form_name) && isset($this->form_details->events_actions_map)){ //process the event $events = unserialize(base64_decode($this->form_details->events_actions_map)); //print_r2($events); $actionsArray = array(); if(isset($this->form_actions) && !empty($this->form_actions)){ foreach($this->form_actions as $action_index => $action_data){ $actionsArray['cfaction_'.$action_data->type.'_'.$action_data->order] = $action_data; } } $this->form_actions_data = $actionsArray; //print_r2($this->form_actions_data); $return = $this->_processEvents($event, $events['events']); //for the val $object = new stdClass(); $object->type = 'show_val'; $object->enabled = 1; $object->required = 1; $object->content1 = $this->__checkVal(); $this->main_event_actions[] = $object; } return $return; } function _processEvents($currentEvent, $events = null){ $return = true; if(is_array($events) && isset($events[$currentEvent])){ $event_value = $events[$currentEvent]; if(isset($event_value['actions']) && is_array($event_value['actions'])){ $event_actions = $event_value['actions']; foreach($event_actions as $action => $action_data){ if(!$this->stop){ if(is_int($action)){ $action = $action_data; $action_data = array(); } $action_events = null; $action_events = $this->_processAction($this->form_actions_data[$action], $action_data); //check action events if($action_events && is_array($action_data) && isset($action_data['events'])){ foreach($action_events as $action_event => $v){ $action_event = 'cfactionevent_'.$this->form_actions_data[$action]->type.'_'.$this->form_actions_data[$action]->order.'_'.$action_event; $this->_processEvents($action_event, $action_data['events']); } } }else{ //add a stop sign to halt the views processing at this point $object = new stdClass(); $object->type = '_STOP_'; $this->main_event_actions[] = $object; $return = false; } } } } return $return; } function _processAction($action_details, $action_data = array()){ $action = $action_details->type; if($action && isset($action_details->enabled) && (int)$action_details->enabled == 1){ $this->main_event_actions[] = $action_details; return $this->runAction($action_details); } } function runAction($action_details, $forceView = false){ if($forceView){ $this->main_event_actions[] = $action_details; } $this->last_action_result = null; $action = $action_details->type; $actionFile = JPATH_SITE.DS."administrator".DS."components".DS."com_chronoforms".DS.'form_actions'.DS.$action.DS.$action.'.php'; if(file_exists($actionFile)){ $classname = 'Cfaction'.$this->_camilize($action); if(!class_exists($classname)){ require_once($actionFile); } ${$classname} = new $classname(); $methods = get_class_methods(${$classname}); if(in_array('run', $methods)){ if(isset($this->form_details->id)){ ${$classname}->form_id = $this->form_details->id; } ${$classname}->form_name = $this->form_name; $this->loadActionHelper($action); ob_start(); $this->last_action_result = ${$classname}->run($this, $action_details); $this->form_output .= ob_get_clean(); if(isset(${$classname}->events) && is_array(${$classname}->events)){ return array_filter(${$classname}->events); }else{ return false; } } }else{ die('ChronoForms action file missing, Please make sure this file exists:
'."JOOMLA_ROOT".DS."administrator".DS."components".DS."com_chronoforms".DS.'form_actions'.DS.$action.'.php'); } } function loadActionHelper($action){ //Try to load helper file $classname = 'Cfaction'.$this->_camilize($action).'Helper'; $actionFile = JPATH_SITE.DS."administrator".DS."components".DS."com_chronoforms".DS.'form_actions'.DS.$action.DS.'cfaction_'.$action.'.php'; if(class_exists($classname)){ return true; }else if(!class_exists($classname) && file_exists($actionFile)){ require_once($actionFile); return true; }else{ return false; } } function getActionDetails($action_id){ if(isset($this->form_actions_data['cfaction_'.$action_id])){ return $this->form_actions_data['cfaction_'.$action_id]; }else{ return false; } } function __checkVal(){ $mainframe = JFactory::getApplication(); $database = JFactory::getDBO(); $jversion = new JVersion(); if($jversion->RELEASE > 1.5){ $query = "SELECT * FROM `#__extensions` WHERE `element` = '".$this->option."' AND `type` = 'component'"; }else{ $query = "SELECT * FROM `#__components` WHERE `option` = '".$this->option."' AND `parent` = '0' AND `admin_menu_link` = 'option=".$this->option."'"; } $database->setQuery($query); $result = $database->loadObject(); $configs = new JParameter($result->params); $extension = $this->extension_name; if($configs->get('licensevalid', 0)){ return ''; }else{ return str_replace('_EXTENSION_NAME_', $extension, ''); } } function addDebugMsg($msg = ''){ $this->debug[] = $msg; } function curly_replacer($content = '', $data = array(), $exploder = '.', $replace_null = false){ preg_match_all('/{([^(}|{| )]*?)}/i', $content, $curly_matches); if(isset($curly_matches[1]) && !empty($curly_matches[1])){ foreach($curly_matches[1] as $match){ $value = $this->get_array_value($data, explode($exploder, $match)); if(!is_null($value)){ if(is_array($value)){ $content = str_replace("{".$match."}", var_export($value, true), $content); }else{ $content = str_replace("{".$match."}", $value, $content); } }else{ if($replace_null === true){ $content = str_replace("{".$match."}", '', $content); } } } } return $content; } function _cleanName($formname){ $formname = preg_replace('/[^A-Za-z0-9_-]/', '', trim($formname)); return $formname; } function escapeVar($var){ if(is_array($var)){ foreach($var as $k => $v){ $var[$k] = $this->escapeVar($v); } return $var; }else{ return strtr($var, array("\x00" => '\x00', "\n" => '\n', "\r" => '\r', '\\' => '\\\\', "'" => "\'", '"' => '\"', "\x1a" => '\x1a')); } } function _camilize($class = ''){ $class = preg_replace('/(?:^|_)(.?)/e', "strtoupper('$1')", $class); return $class; } function getSessionToken(){ $session_key_param = $this->form_params->get('session_key_param', 'cf_sid'); if(isset($this->session_token) && !empty($this->session_token)){ //return $this->session_token; }else if(strlen(trim(JRequest::getVar($session_key_param, ''))) > 0){ $this->session_token = trim(JRequest::getVar($session_key_param, '')); }else{ $this->session_token = md5($this->form_name.rand(111111111, 999999999)); } //add the field to the end of the shown form code/page $this->extra_content .= ''; return $this->session_token; } function get_array_value($array, $indexes){ if(count($indexes) == 1){ if(is_array($array) && isset($array[$indexes[0]])){ return $array[$indexes[0]]; }else{ return NULL; } } $index = array_shift($indexes); if($index == "[n]" && is_array($array)){ //indexed numeric loop $data_array = array(); foreach($array as $k => $v){ $data_array[$k] = $this->get_array_value($array[$k], $indexes); } return $data_array; }else{ if(isset($array[$index])){ return $this->get_array_value($array[$index], $indexes); }else{ return NULL; } } } function set_array_value($array, $indexes, $value){ eval('$array["'.implode('"]["', $indexes).'"] = $value;'); return $array; } function flatten_array($array, $preserve_keys = 0, &$out = array()) { foreach($array as $key => $child) if(is_array($child)) $out = $this->flatten_array($child, $preserve_keys, $out); elseif($preserve_keys + is_string($key) > 1) $out[$key] = $child; else $out[] = $child; return $out; } function search_array($array, $params = array('value' => '')){ $results = array(); if(is_array($array)){ $value = $params['value']; if(isset($params['key'])){ $key = $params['key']; if(isset($array[$key]) && $array[$key] == $value){ $results[] = $array; } }else{ foreach($array as $k => $v){ if($v == $value){ $results[] = $array; } } } foreach($array as $subarray){ $results = array_merge($results, $this->search_array($subarray, $params)); } } return $results; } function debug_trace(){ $debug = debug_backtrace(false); foreach($debug as $k => $v){ if(!empty($debug[$k]['args'])){ foreach($debug[$k]['args'] as $dk => $dv){ if(is_object($dv) && get_class($dv) != 'stdClass'){ unset($debug[$k]['args'][$dk]); } } } } return $debug; } function data($var = null, $default = null){ if(empty($var)){ return null; } if(isset($this->data[$var])){ return $this->data[$var]; }else{ return $default; } } function getConnectionVar($var){ if(!empty($this->connection_name)){ $MyConnection = CFChronoConnection::getInstance($this->connection_name); if(isset($MyConnection->$var)){ return $MyConnection->$var; } } return null; } }libraries/includes/display_errors.php000066600000002533151371543200014110 0ustar00 get('dataload_skip', '')); ob_start(); eval( "?>".$html_code); $html_code = ob_get_clean(); if(!empty($this->validation_errors)){ foreach($this->validation_errors as $fname => $error){ $pattern_error_div = '/]*?)id=("|\')error-message-'.$fname.'("|\')([^>]*?)>([^<\/div>]*?)<\/div>/is'; if(is_array($error)){ $error = "
  1. ".implode("
  2. ", $error)."
"; } $html_code = preg_replace($pattern_error_div, '
'.$error.'
', $html_code); } } return $html_code; } function _cfskipregex($regex){ $reserved = array('[', ']'); $replace = array('\[', '\]'); return str_replace($reserved, $replace, $regex); } } ?>libraries/includes/index.html000066600000000000151371543200012316 0ustar00libraries/includes/data_republish.php000066600000026247151371543200014045 0ustar00 get('dataload_skip', '')); ob_start(); eval( "?>".$html_code); $html_code = ob_get_clean(); //get all fields names preg_match_all('/name=("|\')([^(>|"|\')]*?)("|\')/i', $html_code, $fieldsnamesmatches); $all_fields_names = array(); foreach($fieldsnamesmatches[2] as $fieldsnamesmatche){ if(strpos($fieldsnamesmatche, '[]')){ $fieldsnamesmatche = str_replace('[]', '', $fieldsnamesmatche); } $all_fields_names[] = trim($fieldsnamesmatche); } $all_fields_names = array_unique($all_fields_names); //print_r($all_fields_names ); /* foreach($all_fields_names as $field_name){ if(!isset($data[$field_name])){ //check if its an array if(strpos($field_name, '[') !== false){ $data = $this->processArrayField($field_name, $data); } }else{ if(is_array($data[$field_name])){ $data[$field_name] = implode(', ', $data[$field_name]); } $data[$field_name] = htmlentities($data[$field_name], ENT_QUOTES, 'UTF-8'); } } */ //end fields names //text/password fields + all new HTML5 fields types //$pattern_input = '/]*?)type=("|\')(text|password)("|\')([^>]*?)>/is'; $pattern_input = '/]*?)type=("|\')(text|password|color|date|datetime|datetime-local|email|month|number|range|search|tel|time|url|week)("|\')([^>]*?)>/is'; $matches = array(); preg_match_all($pattern_input, $html_code, $matches); foreach ( $matches[0] as $match ) { $pattern_value = '/value=("|\')(.*?)("|\')/i'; $pattern_name = '/name=("|\')(.*?)("|\')/i'; preg_match($pattern_name, $match, $matches_name); $field_value = $this->fieldValue($matches_name[2], $data); //check for multiple fields array if(is_array($field_value)){ $single_value = array_shift($field_value); $data[str_replace("[]", '', $matches_name[2])] = $field_value; $field_value = $single_value; if(strlen($field_value) == 0){ $field_value = "__CF_DEFAULT_VALUE_REMOVE__"; } } $field_value_count = is_array($field_value) ? count($field_value) : strlen((string)$field_value); if(!in_array($matches_name[2], $skippedarray) && $field_value_count){ $valuematch = preg_replace($pattern_value, '', $match); //fix if the value contains a dollar sign if(strpos($field_value, '$') !== false){ $field_value = str_replace('$', '\\$', $field_value); } $namematch = preg_replace($pattern_name, 'name="${2}" value="'.htmlspecialchars($field_value).'"', $valuematch); $pos = strpos($html_code, $match); $html_code = substr_replace($html_code, $namematch, $pos, strlen($match));//('/'.preg_quote($match, '/').'/', $namematch, $html_code, 1); } } $html_code = str_replace("__CF_DEFAULT_VALUE_REMOVE__", '', $html_code); //hidden fields $pattern_input = '/]*?)type=("|\')hidden("|\')([^>]*?)>/is'; $matches = array(); preg_match_all($pattern_input, $html_code, $matches); foreach ($matches[0] as $match) { //make sure its not a ghost if(strpos($match, 'alt="ghost"') === false){ $pattern_value = '/value=("|\')(.*?)("|\')/i'; $pattern_name = '/name=("|\')(.*?)("|\')/i'; preg_match($pattern_name, $match, $matches_name); $field_value = $this->fieldValue($matches_name[2], $data); $field_value_count = is_array($field_value) ? count($field_value) : strlen((string)$field_value); if(!in_array($matches_name[2], $skippedarray) && $field_value_count){ $valuematch = preg_replace($pattern_value, '', $match); //fix if the value contains a dollar sign if(strpos($field_value, '$') !== false){ $field_value = str_replace('$', '\\$', $field_value); } $namematch = preg_replace($pattern_name, 'name="${2}" value="'.htmlspecialchars($field_value).'"', $valuematch); $html_code = str_replace($match, $namematch, $html_code); } } } //checkboxes or radios fields $pattern_input = '/]*?)type=("|\')(checkbox|radio)("|\')([^>]*?)>/is'; $matches = array(); preg_match_all($pattern_input, $html_code, $matches); foreach ($matches[0] as $match) { $pattern_value = '/value=("|\')(.*?)("|\')/i'; $pattern_name = '/name=("|\')(.*?)("|\')/i'; preg_match($pattern_name, $match, $matches_name); preg_match($pattern_value, $match, $matches_value); $field_name = str_replace('[]', '', $matches_name[2]); $field_value = $this->fieldValue($matches_name[2], $data); $field_value_count = is_array($field_value) ? count($field_value) : strlen((string)$field_value); if(!in_array($field_name, $skippedarray) && $field_value_count){ $namematch = $match; //multi values if(is_array($field_value)){ if(in_array($matches_value[2], $field_value)){ $namematch = preg_replace('/'.$this->_cfskipregex('name=("|\')(.*?)("|\')').'/i', 'name="${2}" checked="checked"', $match); }else{ //remove any default value set by default $pattern_checked = '/checked=("|\')checked("|\')/i'; $namematch = preg_replace($pattern_checked, '', $match); } //single values }else{ if($matches_value[2] == $field_value){ $namematch = preg_replace($pattern_name, 'name="${2}" checked="checked"', $match); }else{ //remove any default value set by default $pattern_checked = '/checked=("|\')checked("|\')/i'; $namematch = preg_replace($pattern_checked, '', $match); } } $html_code = str_replace($match, $namematch, $html_code); } } //textarea fields $pattern_textarea = '/]*?)>(.*?)<\/textarea>/is'; $matches = array(); preg_match_all($pattern_textarea, $html_code, $matches); $namematch = ''; foreach ( $matches[0] as $match ) { $pattern_value = '/value=("|\')(.*?)("|\')/i'; $pattern_name = '/name=("|\')(.*?)("|\')/i'; preg_match($pattern_name, $match, $matches_name); $field_value = $this->fieldValue($matches_name[2], $data); $field_value_count = is_array($field_value) ? count($field_value) : strlen((string)$field_value); if(!in_array($matches_name[2], $skippedarray) && $field_value_count){ $pattern_textarea2 = '/()(.*?)(<\/textarea>)/is'; //fix if the value contains a dollar sign if(strpos($field_value, '$') !== false){ $field_value = str_replace('$', '\\$', $field_value); } $newtextarea_match = preg_replace($pattern_textarea2, '${1}'.htmlspecialchars($field_value).'${4}', $match); $html_code = str_replace($match, $newtextarea_match, $html_code); } } //select boxes $pattern_select = '//is'; $matches = array(); preg_match_all($pattern_select, $html_code, $matches); foreach ($matches[0] as $match) { $selectmatch = $match; $pattern_select2 = '/]*?)>/is'; preg_match_all($pattern_select2, $match, $matches2); $options = preg_replace(array('/'.$this->_cfskipregex($matches2[0][0]).'/is', '/<\/select>/i'), array('', ''), $match); $pattern_name = '/name=("|\')(.*?)("|\')/i'; preg_match($pattern_name, $matches2[0][0], $matches_name); $field_name = str_replace('[]', '', $matches_name[2]); $field_value = $this->fieldValue($matches_name[2], $data); $field_value_count = is_array($field_value) ? count($field_value) : strlen((string)$field_value); if(!in_array($field_name, $skippedarray) && $field_value_count){ //multi select if(strpos($matches2[0][0], 'multiple') !== false){ $pattern_options = '//is'; preg_match_all($pattern_options, $options, $matches_options); foreach($matches_options[0] as $matches_option){ $pattern_value = '/value=("|\')(.*?)("|\')/i'; preg_match($pattern_value, $matches_option, $matches_value); $optionmatch = $matches_option; if(is_array($field_value) && in_array($matches_value[2], $field_value)){ $optionmatch = preg_replace('/