1Drupal.locale = { 'pluralFormula': function ($n) { return Number((($n==1)?(0):(($n==0)?(1):(($n==2)?(2):(((($n%100)>=3)&&(($n%100)<=10))?(3):(((($n%100)>=11)&&(($n%100)<=99))?(4):5)))))); }, 'strings': {"":{"An AJAX HTTP error occurred.":"\u062d\u062f\u062b \u062e\u0637\u0623 \u0623\u062c\u0627\u0643\u0633 HTTP.","HTTP Result Code: !status":"\u0646\u062a\u064a\u062c\u0629 \u0643\u0648\u062f PHP: !status","An AJAX HTTP request terminated abnormally.":"\u062a\u0645 \u0625\u0646\u0647\u0627\u0621 \u0637\u0644\u0628 AJAX HTTP \u0628\u0634\u0643\u0644 \u063a\u064a\u0631 \u0639\u0627\u062f\u064a.","Debugging information follows.":"\u064a\u0644\u064a\u0647 \u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0627\u0644\u062a\u0646\u0642\u064a\u062d.","Path: !uri":"\u0627\u0644\u0645\u0633\u0627\u0631: !uri","StatusText: !statusText":"\u0646\u0635 \u0627\u0644\u062d\u0627\u0644\u0629: !statusText","ResponseText: !responseText":"ResponseText: !responseText","ReadyState: !readyState":"ReadyState: !readyState","All":"\u0627\u0644\u0643\u0644","Show shortcuts":"\u0639\u0631\u0636 \u0627\u0644\u0627\u062e\u062a\u0635\u0627\u0631\u0627\u062a","Hide shortcuts":"\u0625\u062e\u0641\u0627\u0621 \u0627\u0644\u0627\u062e\u062a\u0635\u0627\u0631\u0627\u062a","Re-order rows by numerical weight instead of dragging.":"\u0625\u0639\u0627\u062f\u0629 \u062a\u0631\u062a\u064a\u0628 \u0627\u0644\u0633\u0637\u0648\u0631 \u062d\u0633\u0628 \u0648\u0632\u0646 \u0631\u0642\u0645\u064a \u0628\u062f\u0644\u0627 \u0645\u0646 \u0633\u062d\u0628\u0647\u0627.","Show row weights":"\u0625\u0638\u0647\u0627\u0631 \u0623\u0648\u0632\u0627\u0646 \u0627\u0644\u0623\u0633\u0637\u0631","Hide row weights":"\u0625\u062e\u0641\u0627\u0621 \u0623\u0648\u0632\u0627\u0646 \u0627\u0644\u0633\u0637\u0648\u0631","Drag to re-order":"\u0627\u0633\u062d\u0628 \u0644\u062a\u063a\u064a\u0631 \u0627\u0644\u062a\u0631\u062a\u064a\u0628","Changes made in this table will not be saved until the form is submitted.":"\u0627\u0644\u062a\u063a\u064a\u064a\u0631\u0627\u062a \u0627\u0644\u062d\u0627\u062f\u062b\u0629 \u0639\u0644\u0649 \u0647\u0630\u0627 \u0627\u0644\u062c\u062f\u0648\u0644 \u0644\u0646 \u062a\u064f\u062d\u0641\u0638 \u0625\u0644\u0627 \u0628\u0639\u062f \u0625\u0631\u0633\u0627\u0644 \u0627\u0644\u0627\u0633\u062a\u0645\u0627\u0631\u0629.","Hide":"\u0625\u062e\u0641\u0627\u0621","Show":"\u0639\u0631\u0636","(active tab)":"(\u0639\u0644\u0627\u0645\u0629 \u0627\u0644\u062a\u0628\u0648\u064a\u0628 \u0627\u0644\u0646\u0634\u0637\u0629)","Edit":"\u062a\u062d\u0631\u064a\u0631","Configure":"\u0636\u0628\u0637","Customize dashboard":"\u062a\u062e\u0635\u064a\u0635 \u0644\u0648\u062d\u0629 \u0627\u0644\u062a\u062d\u0643\u0645","Disabled":"\u0645\u0639\u0637\u0644","Not published":"\u0644\u0645 \u064a\u0646\u0634\u0631","Please wait...":"\u064a\u0631\u062c\u0649 \u0627\u0644\u0627\u0646\u062a\u0638\u0627\u0631...","Add":"\u0625\u0636\u0627\u0641\u0629","Select all rows in this table":"\u0627\u062e\u062a\u0631 \u0643\u0644 \u0627\u0644\u0635\u0641\u0648\u0641 \u0641\u064a \u0647\u0630\u0627 \u0627\u0644\u062c\u062f\u0648\u0644","Deselect all rows in this table":"\u0623\u0644\u063a \u0627\u062e\u062a\u064a\u0627\u0631 \u0643\u0644 \u0627\u0644\u0635\u0641\u0648\u0641 \u0641\u064a \u0647\u0630\u0627 \u0627\u0644\u062c\u062f\u0648\u0644","Next":"\u0627\u0644\u062a\u0627\u0644\u064a","Sunday":"\u0627\u0644\u0623\u062d\u062f","Monday":"\u0627\u0644\u0627\u062b\u0646\u064a\u0646","Tuesday":"\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621","Wednesday":"\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621","Thursday":"\u0627\u0644\u062e\u0645\u064a\u0633","Friday":"\u0627\u0644\u062c\u0645\u0639\u0629","Saturday":"\u0627\u0644\u0633\u0628\u062a","Upload":"\u0631\u0641\u0639","Done":"\u062a\u0645\u0651","Prev":"\u0627\u0644\u0633\u0627\u0628\u0642","Mon":"\u0627\u062b\u0646\u064a\u0646","Tue":"\u062b\u0644\u0627\u062b\u0627\u0621","Wed":"\u0623\u0631\u0628\u0639\u0627\u0621","Thu":"\u062e\u0645\u064a\u0633","Fri":"\u062c\u0645\u0639\u0629","Sat":"\u0633\u0628\u062a","Sun":"\u0623\u062d\u062f","January":"\u064a\u0646\u0627\u064a\u0631","February":"\u0641\u0628\u0631\u0627\u064a\u0631","March":"\u0645\u0627\u0631\u0633","April":"\u0623\u0628\u0631\u064a\u0644","May":"\u0645\u0627\u064a\u0648","June":"\u064a\u0648\u0646\u064a\u0648","July":"\u064a\u0648\u0644\u064a\u0648","August":"\u0623\u063a\u0633\u0637\u0633","September":"\u0633\u0628\u062a\u0645\u0628\u0631","October":"\u0623\u0643\u062a\u0648\u0628\u0631","November":"\u0646\u0648\u0641\u0645\u0628\u0631","December":"\u062f\u064a\u0633\u0645\u0628\u0631","Today":"\u0627\u0644\u064a\u0648\u0645","Jan":"\u064a\u0646\u0627\u064a\u0631","Feb":"\u0641\u0628\u0631\u0627\u064a\u0631","Mar":"\u0645\u0627\u0631\u0633","Apr":"\u0623\u0628\u0631\u064a\u0644","Jun":"\u064a\u0648\u0646\u064a\u0648","Jul":"\u064a\u0648\u0644\u064a\u0648","Aug":"\u0623\u063a\u0633\u0637\u0633","Sep":"\u0633\u0628\u062a\u0645\u0628\u0631","Oct":"\u0623\u0643\u062a\u0648\u0628\u0631","Nov":"\u0646\u0648\u0641\u0645\u0628\u0631","Dec":"\u062f\u064a\u0633\u0645\u0628\u0631","Su":"\u0627\u0644\u0623\u062d\u062f","Mo":"\u0627\u0644\u0625\u062b\u0646\u064a\u0646","Tu":"\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621","We":"\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621","Th":"\u0627\u0644\u062e\u0645\u064a\u0633","Fr":"\u0627\u0644\u062c\u0645\u0639\u0629","Sa":"\u0627\u0644\u0633\u0628\u062a","mm\/dd\/yy":"mm\/dd\/yy","Only files with the following extensions are allowed: %files-allowed.":"\u064a\u064f\u0633\u0645\u062d \u0628\u0627\u0644\u0645\u0644\u0641\u0627\u062a \u0627\u0644\u062a\u064a \u062a\u062d\u0645\u0644 \u0647\u0630\u0647 \u0627\u0644\u0627\u0645\u062a\u062f\u0627\u062f\u0627\u062a \u0641\u0642\u0637: %files-allowed.","By @
1name on @date":"\u0645\u0646 @name \u0628\u062a\u0627\u0631\u064a\u062e \u00a0@date","By @name":"\u0645\u0646 %name","Not in menu":"\u063a\u064a\u0631 \u0645\u0648\u062c\u0648\u062f \u0641\u064a \u0627\u0644\u0642\u0627\u0626\u0645\u0629","Alias: @alias":"\u0627\u0644\u0628\u062f\u064a\u0644: @alias","No alias":"\u0644\u0627 \u064a\u0648\u062c\u062f \u0628\u062f\u0627\u0626\u0644","New revision":"\u0645\u0631\u0627\u062c\u0639\u0629 \u062c\u062f\u064a\u062f\u0629","The changes to these blocks will not be saved until the \u003Cem\u003ESave blocks\u003C\/em\u003E button is clicked.":"\u0644\u0646 \u062a\u064f\u062d\u0641\u0638 \u0627\u0644\u062a\u063a\u064a\u064a\u0631\u0627\u062a \u0641\u064a \u0647\u0630\u0647 \u0627\u0644\u0635\u0646\u0627\u062f\u064a\u0642 \u0642\u0628\u0644 \u0627\u0644\u0646\u0642\u0631 \u0639\u0644\u0649 \u0632\u0631 \u003Cem\u003E\u0627\u062d\u0641\u0638 \u0627\u0644\u0635\u0646\u0627\u062f\u064a\u0642\u003C\/em\u003E.","This permission is inherited from the authenticated user role.":"\u0647\u0630\u0647 \u0627\u0644\u0635\u0644\u0627\u062d\u064a\u0629 \u0645\u0646\u0628\u062b\u0642\u0629 \u0645\u0646 \u062f\u0648\u0631 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 \u0627\u0644\u0645\u0639\u0631\u0641.","No revision":"\u0644\u0627 \u062a\u0648\u062c\u062f \u0623\u064a \u0645\u0631\u0627\u062c\u0639\u0629","@number comments per page":"@number \u062a\u0639\u0644\u064a\u0642 \u0641\u064a \u0627\u0644\u0635\u0641\u062d\u0629","Requires a title":"\u0627\u0644\u0639\u0646\u0648\u0627\u0646 \u0636\u0631\u0648\u0631\u064a","Not restricted":"\u063a\u064a\u0631 \u0645\u0642\u064a\u062f","Not customizable":"\u063a\u064a\u0631 \u0642\u0627\u0628\u0644 \u0644\u0644\u062a\u062e\u0635\u064a\u0635","Restricted to certain pages":"\u062e\u0627\u0636\u0639 \u0644\u0628\u0639\u0636 \u0627\u0644\u0635\u0641\u062d\u0627\u062a","The block cannot be placed in this region.":"\u0644\u0627 \u064a\u0645\u0643\u0646 \u0648\u0636\u0639 \u0627\u0644\u0635\u0646\u062f\u0648\u0642 \u0641\u064a \u0647\u0630\u0647 \u0627\u0644\u0645\u0646\u0637\u0642\u0629.","Hide summary":"\u0625\u062e\u0641\u0627\u0621 \u0627\u0644\u0645\u0648\u062c\u0632","Edit summary":"\u062a\u0639\u062f\u064a\u0644 \u0627\u0644\u0645\u0644\u062e\u0635","Don\u0027t display post information":"\u0639\u062f\u0645 \u0639\u0631\u0636 \u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0627\u0644\u0645\u0634\u0627\u0631\u0643\u0629","The selected file %filename cannot be uploaded. Only files with the following extensions are allowed: %extensions.":"\u0644\u0627 \u064a\u0645\u0643\u0646 \u0631\u0641\u0639 \u0627\u0644\u0645\u0644\u0641 \u0627\u0644\u0645\u062d\u062f\u062f %filename. \u064a\u0633\u0645\u062d \u0641\u0642\u0637 \u0628\u0627\u0644\u0645\u0644\u0641\u0627\u062a \u0630\u0627\u062a \u0627\u0644\u0644\u0648\u0627\u062d\u0642 \u0627\u0644\u062a\u0627\u0644\u064a\u0629: %extensions.","Autocomplete popup":"\u0646\u0627\u0641\u0630\u0629 \u0627\u0644\u0625\u0643\u0645\u0627\u0644 \u0627\u0644\u062a\u0644\u0642\u0627\u0626\u064a","Searching for matches...":"\u062c\u0627\u0631\u064a \u0627\u0644\u0628\u062d\u062b \u0639\u0646 \u0627\u0644\u0643\u0644\u0645\u0627\u062a \u0627\u0644\u0645\u0637\u0627\u0628\u0642\u0629..."}} };; 2/* 3 @file 4 Defines the simple modal behavior 5*/ 6(function ($) { 7 Drupal.behaviors.event_popup = { 8 attach: function(context, settings) { 9 10 if ($("#event-popup-container").length == 0) { 11 // Add a container to the end of the body tag to hold the dialog 12 $('body').append('<div id="event-popup-container" style="display:none;"></div>'); 13 try { 14 // Attempt to invoke the simple dialog 15 $( "#event-popup-container").dialog({ 16 autoOpen: false, 17 modal: true, 18 close: function(event, ui) { 19 // Clear the dialog on close. Not necessary for your average use 20 // case, butis useful if you had a video that was playing in the 21 // dialog so that it clears when it closes 22 $('#event-popup-container').html(''); 23 } 24 }); 25 var defaultOptions = Drupal.event_popup.explodeOptions(settings.event_popup.defaults); 26 $('#event-popup-container').dialog('option', defaultOptions); 27 } 28 catch (err) { 29 // Catch any errors and report 30 Drupal.event_popup.log('[error] Event Dialog: ' + err); 31 } 32 } 33 // Add support for custom classes if necessary 34 var classes = ''; 35 if (settings.event_popup.classes) { 36 classes = ', .' + settings.event_popup.classes; 37 } 38 $('a.event-popup' + classes, context).each(function(event) { 39 if (!event.metaKey && !$(this).hasClass('simpleEventProcessed')) { 40 // Add a class to show that this link has been processed already 41 $(this).addClass('simpleEventProcessed'); 42 $(this).click(function(event) { 43 // prevent the navigation 44 event.preventDefault(); 45 // Set up some variables 46 var url = $(this).attr('href'); 47 var title = $(this).attr('title'); 48 // Use defaults if not provided 49 var selector = $(this).attr('name') ? 'event-calendar' : 'event_calendar'; 50 51 var options = Drupal.event_popup.explodeOptions('width:auto;height:auto;position:[300,140]'); 52 53 if (url && title && selector) { 54 // Set the custom options of the dialog 55 $('#event-popup-container').dialog('option', options); 56 57 // Set the title of the dialog 58 $('#event-popup-container').dialog('option', 'title', title); 59 60 // Add a little loader into the dialog while data is loaded 61 $('#event-popup-container').html('<div class="event-popup-ajax-loader"></div>'); 62 63 // Change the height if it's set to auto 64 if (options.height && options.height == 'auto') { 65 $('#event-popup-container').dialog('option', 'height', 200); 66 } 67 68 // Use jQuery .get() to request the target page 69 $.get(url, function(data) { 70 // Re-apply the height if it's auto to accomodate the new content 71 if (options.height && options.height == 'auto') { 72 73 $('#event-popup-container').dialog('option', 'height', options.height); 74 75 } 76 // Some trickery to make sure any inline javascript gets run. 77 // Inline javascript gets removed/moved around when passed into 78 // $() so you have to create a fake div and add the raw data into 79 // it then find what you need and clone it. Fun. 80 $('#event-popup-container').html( $( '<div></div>' ).html( data ).find( ':regex(class, .*'+selector+'.*)' ).not('.field').clone() ); 81 82 // Attach any behaviors to the loaded content 83 //Drupal.attachBehaviors($('#event-popup-container')); 84 85 }); 86 // Open the dialog 87 $('#event-popup-container').dialog('open'); 88 // Return false for good measure 89 return false;
90 } 91 }); 92 } 93 }); 94 var op = Drupal.settings.event_popup.op; 95 if(op) { 96 $('table.full tr td, table.mini tr td', context).click(function () { 97 //$('.fc-sun', context).click(function () { 98 var node_type = Drupal.settings.event_popup.content_type; 99 node_type = node_type.replace('_', '-'); 100 var url = Drupal.settings.basePath + 'node/add/' + node_type; 101 var title = 'Create Event'; 102 // Use defaults if not provided 103 var selector = Drupal.settings.event_popup.selector; 104 //var options = Drupal.event_popup.explodeOptions(settings.event_popup.defaults); 105 var options = Drupal.event_popup.explodeOptions('width:auto;height:auto;position:[300,140]'); 106 if (url && title && selector) { 107 var event_date = $(this).attr('data-date'); 108 /* var event_date_sep = event_date.split('-'); 109 var year = event_date_sep[0]; 110 var month = event_date_sep[1]; 111 var day = event_date_sep[2]; */ 112 // Set the custom options of the dialog 113 $('#event-popup-container').dialog('option', options); 114 // Set the title of the dialog 115 $('#event-popup-container').dialog('option', 'title', title); 116 // Add a little loader into the dialog while data is loaded 117 $('#event-popup-container').html('<div class="event-popup-ajax-loader"></div>'); 118 // Change the height if it's set to auto 119 if (options.height && options.height == 'auto') { 120 $('#event-popup-container').dialog('option', 'height', 200); 121 } 122 // Use jQuery .get() to request the target page 123 124 $.get(url, {'date':event_date}, function(data) { 125 126 // Re-apply the height if it's auto to accomodate the new content 127 if (options.height && options.height == 'auto') { 128 $('#event-popup-container').dialog('option', 'height', options.height); 129 } 130 // Some trickery to make sure any inline javascript gets run. 131 // Inline javascript gets removed/moved around when passed into 132 // $() so you have to create a fake div and add the raw data into 133 // it then find what you need and clone it. Fun. 134 $('#event-popup-container').html( $( '<div></div>' ).html( data ).find( '#' + selector ).clone() ); 135 // Attach any behaviors to the loaded content 136 //Drupal.attachBehaviors($('#event-popup-container')); 137 }); 138 // Open the dialog 139 $('#event-popup-container').dialog('open'); 140 // Return false for good measure 141 return false; 142 } 143 }); 144 } 145 } 146 147 }; 148 149 150// Create a namespace for our simple dialog module 151 Drupal.event_popup = {}; 152 153 // Convert the options to an object 154 Drupal.event_popup.explodeOptions = function (opts) { 155 var options = opts.split(';'); 156 var explodedOptions = {}; 157 for (var i in options) { 158 if (options[i]) { 159 // Parse and Clean the option 160 var option = Drupal.event_popup.cleanOption(options[i].split(':')); 161 explodedOptions[option[0]] = option[1]; 162 } 163 } 164 return explodedOptions; 165 } 166 167 // Function to clean up the option. 168 Drupal.event_popup.cleanOption = function(option) { 169 // If it's a position option, we may need to parse an array 170 if (option[0] == 'position' && option[1].match(/\[.*,.*\]/)) { 171 option[1] = option[1].match(/\[(.*)\]/)[1].split(','); 172 // Check if positions need be converted to int 173 if (!isNaN(parseInt(option[1][0]))) { 174 option[1][0] = parseInt(option[1][0]); 175 } 176 if (!isNaN(parseInt(option[1][1]))) { 177 option[1][1] = parseInt(option[1][1]); 178 } 179 } 180 // Convert text boolean representation to boolean 181 if (option[1] === 'true') { 182 option[1]= true; 183 } 184 else if (option[1] === 'false') { 185 option[1] = false; 186 } 187 return option; 188 } 189 190 Drupal.event_popup.log = function(msg) { 191 if (window.console) { 192 window.console.log(msg); 193 } 194 195 } 196 197})(jQuery); 198; 199/* 200 @file 201 Defines the simple modal behavior 202*/ 203(function ($) {
204 Drupal.behaviors.validates = { 205 attach: function(context, settings) { 206 var nodeType = Drupal.settings.event_popup.content_type; 207 nodeType = nodeType.replace('_', '-'); 208 var formId = '#' + nodeType + '-node-form #edit-submit'; 209 $( formId ).click(function () { 210 if ($("#display_error").length == 0) { 211 $('#event-calendar-node-form').prepend('<div class="messages error" id = "display_error"><h2 class="element-invisible">Error message</h2><ul id="cl" style="margin-left: 51px;"></ul></div>'); 212 } 213 var eventTitle = $( '#edit-title'), 214 startDate = $( '#edit-event-calendar-date-und-0-value-datepicker-popup-0' ), 215 endDate = $( '#edit-event-calendar-date-und-0-value2-datepicker-popup-0' ), 216 showEndDate = $( '#edit-event-calendar-date-und-0-show-todate'), 217 allFields = $( [] ).add( eventTitle ).add( startDate ).add( endDate ), 218 tips = $( '#cl' ); 219 var bValid = true; 220 allFields.removeClass( "ui-state-error" ); 221 bValid = bValid && checkLength( eventTitle, "Event title", 1 ); 222 bValid = bValid && checkStartDateLength( startDate, "Date", 1 ); 223 if(showEndDate.attr('checked')) { 224 bValid = bValid && checkEndDateLength( endDate, "Date", 1 ); 225 bValid = bValid && DateCompare( startDate, endDate ); 226 } 227 if(!bValid) { 228 return false; 229 } 230 231 function updateTips( t ) { 232 tips 233 .html( '<li>' + t + '</li>' ) 234 .addClass( "ui-state-highlight" ); 235 setTimeout(function() { 236 tips.removeClass( "ui-state-highlight", 1500 ); 237 }, 500 ); 238 } 239 function checkLength( o, n, min ) { 240 if ( o.val().length < 1 ) { 241 o.addClass( "ui-state-error" ); 242 updateTips( "Please enter event title"); 243 return false; 244 } else { 245 return true; 246 } 247 } 248 249 function checkStartDateLength( o, n, min ) { 250 if ( o.val().length < 1 ) { 251 o.addClass( "ui-state-error" ); 252 updateTips( "Please enter start date"); 253 return false; 254 } else { 255 return true; 256 } 257 } 258 259 function checkEndDateLength( o, n, min ) { 260 if ( o.val().length < 1 ) { 261 o.addClass( "ui-state-error" ); 262 updateTips( "Please enter end date"); 263 return false; 264 } else { 265 return true; 266 } 267 } 268 269 function DateCompare(startDate, endDate) { 270 var str1 = startDate.val(); 271 var str2 = endDate.val(); 272 if (str1.trim() != '' && str2.trim() != '') { 273 var yr1 = parseInt(str1.substring(6, 10), 10); 274 var dt1 = parseInt(str1.substring(3, 5), 10); 275 var mon1 = parseInt(str1.substring(0, 2), 10); 276 var yr2 = parseInt(str2.substring(6, 10), 10); 277 var dt2 = parseInt(str2.substring(3, 5), 10); 278 var mon2 = parseInt(str2.substring(0, 2), 10); 279 var startDate1 = new Date(yr1, mon1, dt1); 280 var endDate1 = new Date(yr2, mon2, dt2); 281 if (startDate1 > endDate1) { 282 startDate.addClass( "ui-state-error" ); 283 endDate.addClass( "ui-state-error" ); 284 updateTips( "Please enter valid date"); 285 return false; 286 } 287 } 288 return true; 289 } 290 }); 291 } 292 }; 293 294})(jQuery); 295;
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.