1/* pagination */ 2var IGlobal = { 3init:function(){ 4 /* prayer submit and newsletter subcribe */ 5 $Jq('#ipray-share-button').click(function(e) 6 { 7 if($Jq('#ipray-prayers-container').css('display')=='block') 8 { 9 $Jq(this).text($Jq(this).data('open')); 10 $Jq(this).removeClass('open'); 11 $Jq('#ipray-prayers-container,#newsletter-container').hide(); 12 13 } 14 else 15 { 16 if($Jq('#newsletter-container').css('display')=='block') 17 { 18 $Jq('#ipray-subscribe-button').trigger("click"); 19 } 20 $Jq('#ipray-notifications').removeAttr('class').html(''); 21 $Jq(this).text($Jq(this).data('close')); 22 $Jq(this).addClass('open'); 23 $Jq('#ipray-prayers-container').show(); 24 } 25 26 }); 27 $Jq('#ipray-subscribe-button').click(function(e) 28 { 29 if($Jq('#newsletter-container').css('display')=='block') 30 { 31 $Jq(this).text($Jq(this).data('open')); 32 $Jq(this).removeClass('open'); 33 $Jq('#newsletter-container,#ipray-prayers-container').hide(); 34 35 } 36 else 37 { 38 if($Jq('#ipray-prayers-container').css('display')=='block') 39 { 40 $Jq('#ipray-share-button').trigger("click"); 41 } 42 $Jq('#ipray-notifications').removeAttr('class').html(''); 43 $Jq(this).text($Jq(this).data('close')); 44 $Jq(this).addClass('open'); 45 $Jq('#newsletter-container').show(); 46 } 47 48 }); 49 /* ipray submit link*/ 50 $Jq('body').on( "click", ".ipray-submitlink", function(e) { 51 if($Jq(this).hasClass('active')) 52 { 53 IGlobal.iPrayed($Jq(this)); 54 } 55 }); 56 /* prayer submit and newsletter subcribe end */ 57 /* init ajax request */ 58 IGlobal.PrayerList($Jq('.ipray-main-container'), $Jq('form#ipraylistHiddenForm') ); 59 /* validate form */ 60 $Jq("#ipray-newsletter-form").validate({ 61 rules: { 62 email: { 63 required: true, 64 email: true, 65 } 66 }, 67 messages: { 68 /*email: { 69 required: "We need your email address to contact you", 70 email: "Your email address must be in the format of [email protected]" 71 }*/ 72 }, 73 submitHandler: function(form) { 74 IGlobal.formNewsLetterSubmit(form); 75 } 76 });
77 $Jq("#ipray-prayer-submit-form").validate({ 78 rules: { 79 name: "required", 80 desired_share_option: "required", 81 prayer: "required", 82 email: { 83 required: true, 84 email: true 85 } 86 }, 87 /* messages: { 88 name: "Please specify your name", 89 email: { 90 required: "We need your email address to contact you", 91 email: "Your email address must be in the format of [email protected]" 92 } 93 }*/ 94 submitHandler: function(form) { 95 IGlobal.formPrayerSubmit(form); 96 } 97 98 }); 99 }, 100/* global listing helper */ 101search:{ 102 action: null, 103 params:{}, 104 draw_pagination:true, 105 sDiv: null, 106 sFrm: null, 107 sBlockType: 'item', 108 sResultDiv: null, 109 }, 110/* prayer count */ 111iPrayed: function(obj){ 112 if(obj.hasClass('locked')) 113 { 114 return ; 115 } 116 var link_text = obj.text(); 117 obj.text($Jq('#ipray-notifications').data('sending-text')); 118 /*disable for continue click */ 119 obj.addClass('locked'); 120 $thisInst = this; 121 $Jq.ajax({ 122 type: "POST", 123 url: $thisInst.search.action, 124 data: {prayer_id:obj.data('id'),requesturi:$Jq('#ipray-notifications').data('requesturi'),action:'iprayed'}, 125 dataType: 'json', 126 success: function(data, textStatus){ 127 if(data.prayer_count) 128 { 129 obj.siblings('.prayer_count').text(data.prayer_count_msg); 130 obj.removeClass('active').addClass('deactive'); 131 /* release lock */ 132 obj.removeClass('locked'); 133 obj.text(link_text); 134 } 135 }, 136 error: function(errorObj, textStatus, errorThrown){ 137 $Jq('#ipray-notifications').html($Jq('#ipray-notifications').data('error-msg')); 138 } 139 }); 140 }, 141/* form nesletter submit */ 142formNewsLetterSubmit: function(d){ 143 $thisInst = this; 144 145 var submit_val = $Jq(d).find("input[type=submit]").val(); 146 $Jq(d).find("input[type=submit]").val($Jq('#ipray-notifications').data('sending-text')); 147 148 $Jq.ajax({ 149 type: "POST", 150 url: $thisInst.search.action, 151 data: $Jq(d).serialize(), 152 dataType: 'json', 153 success: function(data, textStatus){ 154 if(data.submit) 155 { 156 $Jq(d).find("input[type=submit]").val(submit_val); 157 if(data.submit == 2) 158 { 159 $Jq('#ipray-notifications').addClass('error').html(data.msg); 160 } 161 else 162 { 163 $Jq(d).parent().hide(); 164 $Jq(d).find("input[type=text]").val(""); 165 $Jq('#ipray-notifications').addClass('success').html(data.msg); 166 $Jq('#ipray-subscribe-button').text($Jq('#ipray-subscribe-button').data('open')); 167 168 } 169 } 170 else 171 { 172 $Jq('#ipray-notifications').addClass('error').html($Jq('#ipray-notifications').data('error-msg')); 173 } 174 }, 175 error: function(errorObj, textStatus, errorThrown){ 176 $Jq('#ipray-notifications').html($Jq('#ipray-notifications').data('error-msg')); 177 } 178 }); 179 }, 180/* form prayer submit */ 181formPrayerSubmit: function(d){ 182 $thisInst = this; 183 var submit_val = $Jq(d).find("input[type=submit]").val(); 184 $Jq(d).find("input[type=submit]").val($Jq('#ipray-notifications').data('sending-text')); 185 $Jq.ajax({ 186 type: "POST", 187 url: $thisInst.search.action, 188 data: $Jq(d).serialize(), 189 dataType: 'json', 190 success: function(data, textStatus){ 191 $Jq(d).find("input[type=submit]").val(submit_val); 192 if(data.submit) 193 { 194 $Jq(d).parent().hide(); 195 $Jq(d).find("input[type=text], textarea").val(""); 196 $Jq('#ipray-notifications').html($Jq('#notification').data('success-msg')); 197 $Jq('#ipray-share-button').text($Jq('#ipray-share-button').data('open')); 198 IGlobal.PrayerList($Jq('.ipray-main-container'), $Jq('form#ipraylistHiddenForm') ); 199 } 200 else 201 { 202 $Jq('#ipray-notifications').html($Jq('#ipray-notifications').data('error-msg')); 203 } 204 }, 205 error: function(errorObj, textStatus, errorThrown){ 206 $Jq('#ipray-notifications').html($Jq('#ipray-notifications').data('error-msg')); 207 } 208 }); 209 }, 210/* global ajax prayer list */ 211ajaxListData: function(){ 212 $thisInst = this; 213 $thisInst.search.sDiv.find('.ipray-loading').show(); 214 var searchPg = $thisInst.search.sDiv.find('.ipray-results-page'); 215 searchPg = $thisInst.search.sResultDiv || searchPg;
216 searchPg.html(''); 217 //$thisInst.setUrlState(); 218 $Jq.ajax({ 219 type: "POST", 220 url: $thisInst.search.action, 221 data: $thisInst.search.sFrm.serialize(), 222 dataType: 'json', 223 success: function(data, textStatus){ 224 $thisInst.search.sDiv.find('.ipray-loading').hide(); 225 if( data.res_count > 0 ) 226 { 227 $Jq.each(data.display_results, function( k, v ) { 228 searchPg.append(IGlobal.prayerListTemplate(v,data.setting)); 229 }); 230 if($thisInst.search.draw_pagination ) 231 { 232 /* restriction for pagination display on one page */ 233 allowForOne = Math.ceil(data.res_count/data.per_page); 234 if(allowForOne!== 0 && allowForOne >1) 235 { 236 $thisInst.draw_pagination(data.res_count, data.per_page); 237 } 238 } 239 } 240 else 241 { 242 searchPg.html('<div class="clsNoRecordsFound">'+ searchPg.attr('data-msg-data-not-found') +'</div>'); 243 $Jq('.ipray-results-pagination').html(''); 244 } 245 }, 246 error: function(errorObj, textStatus, errorThrown){ 247 $thisInst.search.sDiv.find('.iprayloading').hide(); 248 searchPg.html('<div class="NotRecordsFound">'+ searchPg.attr('data-msg-data-not-found') +'</div>'); 249 $Jq('.ipray-results-pagination').html(''); 250 } 251 }); 252 }, 253/* pagination draw */ 254draw_pagination: function(total_result, show_per_page){ 255 $thisInst = this; 256 $Jq('.ipray-results-pagination').pagination({ 257 items: total_result, 258 itemsOnPage: show_per_page, 259 currentPage: 1, 260 onPageClick: function(p, e) 261 { 262 e.preventDefault(); 263 var start = parseInt(show_per_page*(p-1)); 264 $thisInst.search.sFrm.find('input[name="start"]').val(start); 265 $thisInst.search.draw_pagination = false; 266 $Jq("html, body").animate({scrollTop:0}, 1300); 267 $thisInst.ajaxListData(); 268 } 269 }); 270 }, 271 /* list all prayers */ 272 PrayerList: function(d, f){ 273 $thisInst = this; 274 $thisInst.search.action = f.attr('action'); 275 $thisInst.search.sDiv = d; 276 $thisInst.search.sFrm = f; 277 $thisInst.ajaxListData(); 278 }, 279/* convert json data to html*/ 280 prayerListTemplate: function(d,setting){ 281 h =d.unsubscribe; 282 h +='<div id="prayer'+d.ID+'" class="ipray-prayer ipray-prayer-'+d.class+' well">'; 283 h +='<div id="count'+d.ID+'" class="ipray-count-area pull-right text-align-center">'; 284 h +='<a class="btn btn-primary ipray-submitlink '+((d.is_pray_allow)?'active':'deactive')+'" '; 285 h +='data-action="ipray" data-id="'+d.ID+'" href="javascript:;">'; 286 h +=setting.prayer_text+'</a><br>'; 287 h +='<span class="prayer_count">'; 288 if(d.prayer_count != 0) 289 { 290 h +=d.prayer_count_msg; 291 } 292 h +='</span>'; 293 h +='</div>'; 294 h +='<h5>'+d.name+'</h5>'; 295 h +='<p>'+d.prayer+'</p>'; 296 h +='<strong style="font-size:12px;">'+setting.recieve_text+'</strong><span class="meta-data">'+d.date_time+'</span>'; 297 h +='</div>'; 298 return h; 299 }, 300};
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.