1var dayOffset = 2; 2var month_names = { 3 'bn':{ 4 1:'à¦à¦¾à¦¨à§à¦¯à¦¼à¦¾à¦°à¦¿', 5 2:'ফà§à¦¬à§à¦°à§à¦¯à¦¼à¦¾à¦°à¦¿', 6 3:'মারà§à¦', 7 4:'à¦à¦ªà§à¦°à¦¿à¦²', 8 5:'মà§', 9 6:'à¦à§à¦¨', 10 7:'à¦à§à¦²à¦¾à¦', 11 8:'à¦à¦à¦¸à§à¦', 12 9:'সà§à¦ªà§à¦à§à¦®à§à¦¬à¦°', 13 10:'ঠà¦à§à¦à§à¦¬à¦°', 14 11:'নà¦à§à¦®à§à¦¬à¦°', 15 12:'ডিসà§à¦®à§à¦¬à¦°' 16 }, 17 'en':{ 18 1:'January', 19 2:'February', 20 3:'March', 21 4:'April', 22 5:'May', 23 6:'June', 24 7:'July', 25 8:'August', 26 9:'September', 27 10:'October', 28 11:'November', 29 12:'December' 30 } 31 }; 32 33var mDays = new Array(13); 34 mDays[1] = 31; 35 mDays[2] = 29; 36 mDays[3] = 31; 37 mDays[4] = 30; 38 mDays[5] = 31; 39 mDays[6] = 30; 40 mDays[7] = 31; 41 mDays[8] = 31; 42 mDays[9] = 30; 43 mDays[10] = 31; 44 mDays[11] = 30; 45 mDays[12] = 31; 46 47var bDays = new Array(11); 48 bDays[0] = '০'; 49 bDays[1] = 'à§§'; 50 bDays[2] = '২'; 51 bDays[3] = 'à§©'; 52 bDays[4] = '৪'; 53 bDays[5] = 'à§«'; 54 bDays[6] = '৬'; 55 bDays[7] = 'à§'; 56 bDays[8] = 'à§®'; 57 bDays[9] = '৯'; 58 59function banglaNumber(v){ 60 //IE7 FIX, IE7 does not index string 61 v = v.toString(); 62 v = v.split(""); 63 var bangla = ""; 64 $(v).each(function(index, element) { 65 if(parseInt(element)>=0 && parseInt(element)<=9) 66 bangla += bDays[element]; 67 else 68 bangla += element; 69 }); 70 return bangla; 71 } 72 73function languageNumber(v,l){ 74 if( l == 'bn' ){ 75 return banglaNumber(v); 76 } 77 else{ 78 return v; 79 } 80 } 81 82//IE 8 and 7 FIX 83/**Parses string formatted as YYYY-MM-DD to a Date object. 84 * If the supplied string does not match the format, an 85 * invalid Date (value NaN) is returned. 86 * @param {string} dateStringInRange format YYYY-MM-DD, with year in 87 * range of 0000-9999, inclusive. 88 * @return {Date} Date object representing the string. 89 */ 90function parseISO8601(dateStringInRange) { 91 var isoExp = /^\s*(\d{4})-(\d\d)-(\d\d)\s*$/, 92 date = new Date(NaN), month, 93 parts = isoExp.exec(dateStringInRange); 94 95 if(parts) { 96 month = +parts[2]; 97 date.setFullYear(parts[1], month - 1, parts[3]); 98 if(month != date.getMonth() + 1){ 99 date.setTime(NaN); 100 } 101 } 102 return date; 103 } 104 105 106 107var js_calender = function(st){ 108 var ths = new Object; 109 110 ths.container = st.container?st.container:''; 111 ths.language = st.language?st.language:'en'; 112 ths.lowest_year = st.lowest_year?st.lowest_year:'2005'; 113 ths.current_date = st.current_date?st.current_date:''; 114 ths.last_date = st.last_date?st.last_date:''; 115 ths.url_prefix = st.url_prefix?st.url_prefix:''; 116 ths.url_postfix = st.url_postfix?st.url_postfix:''; 117 ths.delimeter = st.delimeter?st.delimeter:'-'; 118 119 ths.afterresizeinterval = null; 120 121 ths.init = function(){ 122 123 var total_width = $(ths.container).parent().width() - 1; 124 125 var each_cell_width = parseInt(total_width / 7); 126 ths.fixed_cell_width = each_cell_width - 3; 127 128 $(ths.container + " .dayZone dt").width(ths.fixed_cell_width); 129 $(ths.container + " .dayZone dt").height(ths.fixed_cell_width); 130 $(ths.container + " .dayZone dt").css('line-height',ths.fixed_cell_width + "px"); 131 132 $(ths.container).width((each_cell_width*7) + 1); 133 ths.calenderRender('init'); 134 135 $(ths.container + " .yearSelector").change(ths.YearcalenderRender) 136 $(ths.container + " .monthSelector").change(ths.MonthcalenderRender); 137 $(ths.container + " .editionType span").click(ths.EditioncalenderRender); 138 139 } 140 141 ths.YearcalenderRender = function(){ 142 ths.calenderRender('year'); 143 } 144 ths.MonthcalenderRender = function(){ 145 ths.calenderRender('month'); 146 } 147 ths.EditioncalenderRender = function(){ 148 $(ths.container + " .editionType span").removeClass('active'); 149 $(this).addClass('active'); 150 ths.calenderRender('edition'); 151 } 152 ths.calenderRender = function(status){ 153 var month; 154 var year; 155 var last_month; 156 var last_year; 157 var d_last = new Date(parseISO8601(ths.last_date)); 158 var d = new Date(parseISO8601(ths.current_date)); 159 var d_lowest = new Date(parseISO8601(ths.lowest_year)); 160 161 if( status == 'init' ){ 162 last_month = d_last.getMonth(); 163 last_year = d_last.getFullYear(); 164 month = d.getMonth(); 165 year = d.getFullYear(); 166 167 if( d > d_last ){
168 month = last_month; 169 year = last_year; 170 } 171 172 $(ths.container + " .calendarTop .monthSelector").html(""); 173 174 if(d_last.getFullYear() == d.getFullYear()){ 175 for(i=1;i<=d_last.getMonth()+1;i++){ 176 $(ths.container + " .calendarTop .monthSelector").append("<option value="+i+">"+ month_names[ths.language][i] +"</option>"); 177 } 178 } 179 else if(d_lowest.getFullYear() == d.getFullYear()){ 180 for(i=d_lowest.getMonth()+1;i<=12;i++){ 181 $(ths.container + " .calendarTop .monthSelector").append("<option value="+i+">"+ month_names[ths.language][i] +"</option>"); 182 } 183 } 184 else{ 185 for(i=1;i<=12;i++){ 186 $(ths.container + " .calendarTop .monthSelector").append("<option value="+i+">"+ month_names[ths.language][i] +"</option>"); 187 } 188 } 189 190 $(ths.container + " .calendarTop .yearSelector").html(""); 191 for(i=d_lowest.getFullYear();i<=d_last.getFullYear();i++){ 192 var bang_year = languageNumber(i,ths.language); 193 $(ths.container + " .calendarTop .yearSelector").append("<option value="+i+">"+ bang_year +"</option>"); 194 } 195 196 $(ths.container + " .monthSelector").val(month+1); 197 $(ths.container + " .yearSelector").val(year); 198 199 } 200 else if( status == 'year' || status == 'init' ){ 201 $(ths.container + " .calendarTop .monthSelector").html(""); 202 //var d_last = new Date(parseISO8601(ths.last_date)); 203 204 if(d_last.getFullYear() == $(ths.container + " .yearSelector").val()){ 205 for(i=1;i<=d_last.getMonth()+1;i++){ 206 $(ths.container + " .calendarTop .monthSelector").append("<option value="+i+">"+ month_names[ths.language][i] +"</option>"); 207 } 208 } 209 else if(d_lowest.getFullYear() == $(ths.container + " .yearSelector").val()){ 210 for(i=d_lowest.getMonth()+1;i<=12;i++){ 211 $(ths.container + " .calendarTop .monthSelector").append("<option value="+i+">"+ month_names[ths.language][i] +"</option>"); 212 } 213 } 214 else{ 215 for(i=1;i<=12;i++){ 216 $(ths.container + " .calendarTop .monthSelector").append("<option value="+i+">"+ month_names[ths.language][i] +"</option>"); 217 } 218 } 219 } 220 221 month = $(ths.container + " .monthSelector").val(); 222 year = $(ths.container + " .yearSelector").val(); 223 224 tmpD = new Date(year,month-1,1); 225 var startDay = tmpD.getDay()+dayOffset; 226 227 var tDays = mDays[month]; 228 229 if( year % 4 && month == 2 ){ 230 tDays = 28; 231 } 232 233 if( startDay > 7 ){ 234 startDay = startDay % 7; 235 } 236 237 $(ths.container + " .dayHolder").html(ths.jFillDay(tDays,startDay,year,month)); 238 $(ths.container + " .dayZone dd, " + ths.container + " .dateZone dd, " + ths.container + " .dateZone dt, " + ths.container + " .dateZone a").width(ths.fixed_cell_width); 239 $(ths.container + " .dayZone dd, " + ths.container + " .dateZone dd, " + ths.container + " .dateZone dt, " + ths.container + " .dateZone a").height(ths.fixed_cell_width); 240 $(ths.container + " .dayZone dd, " + ths.container + " .dateZone dd, " + ths.container + " .dateZone dt, " + ths.container + " .dateZone a").css('line-height',ths.fixed_cell_width + "px"); 241 242 } 243 244 ths.jFillDay = function(month_length,startDay,y,m){ 245 246 var day = 1 247 var tBox = 42; 248 var html = ""; 249 //var curDate = new Date(parseISO8601(__jwArchiveDate)); 250 var curDate = new Date(parseISO8601(ths.current_date)); 251 var d_lowest = new Date(parseISO8601(ths.lowest_year)); 252 //last published date will be archived too, purpose will not server if arvhived date 253 //var lDate = new Date(); //new Date(__jwLastPublishedDate); 254 var lDate = new Date(parseISO8601(ths.last_date)); 255 var d = y + "-" + ( m < 10 ? '0' : '' ) + m + "-"; 256 // pad boxs 257 for (var i=1;i<startDay;i++){ 258 html += '<dd><a href="javascript:" class="blank_day disabled"> </a></dd>'; 259 tBox--; 260 } 261 262 // fill days 263 tmp2 = new Date(parseISO8601(d + "01")); 264 265 if(d_lowest.getFullYear() == y && d_lowest.getMonth()+1 == m){ 266 while(day < d_lowest.getDate()) { 267 t = ( day < 10 ? '0' : '' ) + day; 268 html += '<dd><a href="javascript:" class="disabled">'+languageNumber(t,ths.language)+'</a></dd>'; 269 day++ 270 tBox--; 271 } 272 } 273 274 edition = $(ths.container + " .editionType .active").data('val'); 275 276 while( day <= month_length && ( tmp2.getFullYear() == lDate.getFullYear() && tmp2.getMonth() <= lDate.getMonth() || tmp2.getFullYear() < lDate.getFullYear() ) ){ 277 t = ( day < 10 ? '0' : '' ) + day; 278 tmp = d + t; 279 280 tmp2 = new Date(parseISO8601(tmp)); 281 if( tmp2.getFullYear() == lDate.getFullYear() && tmp2.getMonth() == lDate.getMonth() && lDate.getDate() < tmp2.getDate() ) break; 282 283 classs = ''; 284 if( tmp2.getFullYear() == curDate.getFullYear() && tmp2.getMonth() == curDate.getMonth() && curDate.getDate() == tmp2.getDate() ) classs = "active"; 285 286 html += '<dd><a href="' + ths.url_prefix + (edition?edition+'/':'') + tmp.replace(/(-)/g, ths.delimeter) + ths.url_postfix + '" class="' + classs + '">' + languageNumber(t,ths.language) + '</a></dd>'; 287 day++ 288 tBox--; 289 } 290 291 // fill disabled days 292 293 while(day <= month_length) { 294 t = ( day < 10 ? '0' : '' ) + day; 295 html += '<dd><a href="javascript:" class="disabled">'+languageNumber(t,ths.language)+'</a></dd>'; 296 day++ 297 tBox--; 298 } 299 300 301 //remaining box 302 /*while(tBox){ 303 html += '<dd><a href="javascript:" class="disabled"> </a></dd>'; 304 tBox--; 305 }*/ 306 return html; 307 } 308 309 310 ths.resizeinit = function(){ 311 if( !ths.afterresizeinterval ) return; 312 clearInterval(ths.afterresizeinterval); 313 ths.init(); 314 } 315 ths.resize_event = function(){ 316 clearInterval(ths.afterresizeinterval); 317 ths.afterresizeinterval = setInterval(ths.resizeinit,500); 318 } 319 320 ths.afterresizeinterval = setInterval(ths.resizeinit,100); 321 322 $(window).resize(ths.resize_event); 323 }
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.