Advertisement
RoloTortu

Landing Blogger Template by RoloTortu

Dec 11th, 2014
298
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 91.17 KB | None | 0 0
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3. <html expr:dir='data:blog.languageDirection' xmlns='http://www.w3.org/1999/xhtml' xmlns:b='http://www.google.com/2005/gml/b' xmlns:data='http://www.google.com/2005/gml/data' xmlns:expr='http://www.google.com/2005/gml/expr'>
  4. <head>
  5.  
  6. <link href='http://fonts.googleapis.com/css?family=Droid+Sans:regular,bold' rel='stylesheet' type='text/css'/>
  7.  
  8. <b:include data='blog' name='all-head-content'/>
  9.  
  10. <title>
  11. <b:if cond='data:blog.homepageUrl == data:blog.url'>
  12. <data:blog.title/>
  13. <b:else/>
  14. <data:blog.pageName/> | <data:blog.title/>
  15. </b:if>
  16. </title>
  17.  
  18. <b:skin><![CDATA[/*
  19. -----------------------------------------------
  20. Template Name : Landis
  21. Author : NewBloggerThemes.com
  22. Author URL : http://newbloggerthemes.com/
  23. Theme URL : http://newbloggerthemes.com/landis-blogger-template/
  24. Created Date : Saturday, April 20, 2013
  25. License : This template is free for both personal and commercial use, But to satisfy the 'attribution' clause of the license, you are required to keep the footer links intact which provides due credit to its authors.For more information about this license, please use this link :http://creativecommons.org/licenses/by/3.0/
  26. ----------------------------------------------- */
  27. body#layout ul{list-style-type:none;list-style:none}
  28. body#layout ul li{list-style-type:none;list-style:none}
  29. body#layout #nbtbottomsec {display:none;}
  30. /* Variable definitions
  31. ====================
  32. */
  33. /* Use this with templates/template-twocol.html */
  34. /*---------[RESET]---------*/
  35. html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var,
  36. b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend { margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; background: transparent; }
  37. body, .body-fauxcolumn-outer { line-height: 1; }
  38. ol, ul { list-style: none; }
  39. blockquote, q { quotes: none; }
  40. blockquote:before, blockquote:after,q:before, q:after { content: ''; content: none; }
  41. :focus { outline: 0; }
  42. ins { text-decoration: none; }
  43. del { text-decoration: line-through; }
  44. table { border-collapse: collapse; border-spacing: 0; }
  45. *{font-family:Helvetica}
  46. a,img{outline:none!important}
  47. /*---------[BODY]---------*/
  48. body, .body-fauxcolumn-outer { font-size:11px; color:#414141; font-weight:normal; text-align:left; line-height:14px; cursor:default; background:transparent url(http://3.bp.blogspot.com/-kyLC80ZqmZc/UYllvAl3U3I/AAAAAAAAI8o/EX6mG6LLJnk/s000/footer_bg.png); background-repeat:repeat;}
  49. img {padding:0px; margin:0px; border:0px solid green;}
  50. a {color:#3693B7; text-decoration: none;} a:hover {color:#3693B7; text-decoration:none;}
  51. h1,h2,h3,h4,h5,h6{margin-top:0; text-align: left; font-weight:normal;}
  52. h1 {font-size:22px;}
  53. h2 {font-size:20px; padding:15px 5px 10px 0px; color:#777777;}
  54. h3{ font-size:18px; padding:13px 10px 3px 5px; color:#777777;}
  55. h4{ font-size:16px; padding:13px 10px 3px 5px; color:#777777;}
  56. h5{ font-size:14px; padding:5px 10px 3px 5px; color:#777777;}
  57. h6{ font-size:12px; padding:5px 10px 2px 5px; color:#777777;}
  58. /*--------[HELPERS]---------*/
  59. .left {float:left;}
  60. .right { float:right!important;}
  61. *+html .right{float:left!important;}
  62. .align_left {text-align:left;}
  63. .align_center {text-align:center;}
  64. .align_right {text-align:right;}
  65. .show{display:none;}
  66. /*----------[TIMER]---------*/
  67. #countdowntext{text-shadow:0 2px 0 #000;color:#fff;font:18px/30px 'Droid Sans'}
  68. .countdown{margin:23px auto;width:460px;height:93px;background:url(http://3.bp.blogspot.com/-ayjuDj3QlDk/UYllvnwUNDI/AAAAAAAAI8w/mvUehbMX3AY/s000/countdown.png) top center no-repeat;display:block;padding:18px 0 45px}
  69. .countdown_section{width:115px;height:93px;float:left;text-align:center}
  70. .countdown_amount{color:#fff;font:bold 40px/40px 'Droid Sans'}
  71. .countdown_day{font:14px 'Droid Sans';text-transform:lowercase;color:#fff}
  72. /*---------[404]----------*/
  73. .page404{font-size:96px!important;color:#fbdc00!important;float:left;display:block;height:59px;margin:40px 0 0 0;}
  74. .page404span{font-size:31px;font-family:Helvetica;text-align:center;float:left;width:80%;line-height:46px;text-shadow:0px 1px 0px #fcfcf9;color:#777777;}
  75. /*---------[CONTAINER]---------*/
  76. #container { width:961px; margin:0 auto 0 auto; text-align:left; }
  77. .container { width:961px; margin:0px auto 0 auto; text-align:left; }
  78. /*---------[HEADER]---------*/
  79. #header-holder { width:100%; float:left; color:#fff; background-image:url(http://i.imgur.com/q230YxY.png);background-repeat:repeat-x;}
  80. #logo{margin:113px 0 45px 0; width:100%;text-align:center; display:block;}
  81. .Page_title{font-family:'Droid Sans';font-weight:bold;font-size:27px;text-shadow:0px 2px 0px #000;width:800px;text-align:center;padding:10px;margin:17px auto 30px auto;}
  82. .Page_content{font-family:'Droid Sans';font-size:13px;width:560px;text-align:center;margin:0 auto;padding:0 0 56px 0;line-height:22px;color:#ffbda4;text-shadow:0px 1px 0px #000}
  83. /*---------[FRONT-PAGE]---------*/
  84. #front_page_container {width:100%; height:218px; margin:0 auto 0 auto; background:transparent url(http://i.imgur.com/DVmTNbb.png); background-repeat:repeat;float:left;}
  85. /*---------[front-page content]---------*/
  86. /*---[front-left-cell]---*/
  87. #front_left_cell {float:left; margin:30px 0px 50px 0px; width:973px;text-align:center; }
  88. /*---[front-right-cell]---*/
  89. #front_right_cell {float:left; margin:10px 0px 50px 0px;width:280px; padding:0 20px 0 0;}
  90. /*---------[FOOTER]---------*/
  91. #footer *{font-family:Helvetica}
  92. #footer {margin:0px 0px 0px 0px;text-align:center;background:transparent url(http://3.bp.blogspot.com/-kyLC80ZqmZc/UYllvAl3U3I/AAAAAAAAI8o/EX6mG6LLJnk/s000/footer_bg.png) repeat top center ;clear:both;width:100%;float:left;font-family:Helvetica;height:400px;}
  93. #footer_wrap{ margin:0px 0px 0px 0px; padding:0 0 0 0px!important;float:left;width:980px;width:980px\0/;}
  94. .footer_box {float:left;color:#fff; margin:1px 30px 25px 8px; padding:0px 0px 0px 0px!important;width:207px; }
  95. .footer_box ul {margin:0px 0px 25px 0px; width:206px;}
  96. /*---------[copyright]---------*/
  97. #copyright *{color:#fff;font:12px/18px Helvetica}
  98. #copyright {text-align:left; margin:0 auto 0 auto; background:transparent url(http://3.bp.blogspot.com/-nAZ4ZYYd-wI/UYllwzx_SFI/AAAAAAAAI9I/LjOnUFbKqE8/s000/copyright_bg_red.png) repeat-x top center ;clear:both;width:100%;float:left;height:32px;padding:31px 0;}
  99. #spreadtheword{background-image:url(http://3.bp.blogspot.com/-egR6jDDZHXU/UYllxBfmKfI/AAAAAAAAI9Q/MU9d3pXhStU/s000/spreadtheword.png);background-position:top center;background-repeat:no-repeat;width:227px;height:78px;margin:0 auto;padding:65px 0 0 24px;}
  100. #copyright-wrap {width:961px;margin:0 auto;text-align:center;font-family:'Droid Sans';color:#8c8c8c;}
  101. #copyright a, a:href{color:#000; display:inline; font-family:'Droid Sans'; }
  102. #copyright a{color:#000!important;font-family:'Droid Sans';}
  103. h2.date-header{margin:1.5em 0 .5em;display:none}
  104. .main .widget{margin:0 0 5px;padding:0 0 2px}
  105. .main .Blog{border-bottom-width:0}
  106. #Blog1, #Blog2 {display:none;}
  107. .nbtbottomsec {display:none;}
  108. .nbtbottomsec .widget {display:none;}
  109. #header .description{color:#fff;font-size:14px;text-shadow:0 1px 0 #000}
  110. #comments{padding:10px;color:#666;margin-bottom:20px}
  111. #comments h4{font-size:22px;margin-bottom:10px}
  112. #comment-name-url{width:365px;float:left}
  113. #comment-date{width:365px;float:left;margin-top:5px;font-size:10px}
  114. #comment-header{float:left;padding:5px 0 40px 10px;margin:5px 0 15px 0;position:relative;background-color:#fff;border:1px dashed #eee}
  115. .avatar-image-container{background:url(http://2.bp.blogspot.com/-Ay9Jn2-BxYM/UYllxvGJa2I/AAAAAAAAI9Y/HpNgzjh9eZU/s000/comment-avatar.jpg);width:32px;height:32px;float:right;margin:5px 10px 5px 5px;border:1px solid #ddd}
  116. .avatar-image-container img{width:32px;height:32px}
  117. a.comments-autor-name{color:#000;font:normal bold 14px Arial,Tahoma,Verdana}
  118. a.says{color:#000;font:normal 14px Arial,Tahoma,Verdana}
  119. .says a:hover{text-decoration:none}
  120. .deleted-comment{font-style:italic;color:gray}
  121. #blog-pager-newer-link{float:left}
  122. #blog-pager-older-link{float:right}
  123. #blog-pager{text-align:center;padding:5px}
  124. .feed-links{clear:both}
  125. .profile-img{float:left;margin-top:0;margin-right:5px;margin-bottom:5px;margin-left:0;padding:4px;border:1px solid #eee}
  126. .profile-data{margin:0;text-transform:uppercase;letter-spacing:.1em;color:#000;font-weight:bold;line-height:1.6em}
  127. .profile-datablock{margin:.5em 0 .5em}
  128. .profile-textblock{margin:0.5em 0;line-height:1.6em}
  129. .avatar-image-container{background:url(http://2.bp.blogspot.com/-Ay9Jn2-BxYM/UYllxvGJa2I/AAAAAAAAI9Y/HpNgzjh9eZU/s000/comment-avatar.jpg);width:32px;height:32px;float:right;margin:5px 10px 5px 5px;border:1px solid #ddd}
  130. .avatar-image-container img{width:32px;height:32px}
  131. .profile-link{text-transform:uppercase;letter-spacing:.1em}
  132. .comment-form{max-width:600px}
  133. #navbar-iframe{height:0;visibility:hidden;display:none}
  134. .PopularPosts .widget-content ul li{padding:6px 0}
  135. .reaction-buttons table{border:none;margin-bottom:5px}
  136. .reaction-buttons table,.reaction-buttons td{border:none}
  137. ]]></b:skin>
  138.  
  139. <script src='https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js' type='text/javascript'/>
  140.  
  141. <script type='text/javascript'>
  142. //<![CDATA[
  143.  
  144. /* http://keith-wood.name/countdown.html
  145. Countdown for jQuery v1.5.9.
  146. Written by Keith Wood (kbwood{at}iinet.com.au) January 2008.
  147. Dual licensed under the GPL (http://dev.jquery.com/browser/trunk/jquery/GPL-LICENSE.txt) and
  148. MIT (http://dev.jquery.com/browser/trunk/jquery/MIT-LICENSE.txt) licenses.
  149. Please attribute the author if you use it. */
  150.  
  151. /* Display a countdown timer.
  152. Attach it with options like:
  153. $('div selector').countdown(
  154. {until: new Date(2009, 1 - 1, 1, 0, 0, 0), onExpiry: happyNewYear}); */
  155.  
  156. (function($) { // Hide scope, no $ conflict
  157.  
  158. /* Countdown manager. */
  159. function Countdown() {
  160. this.regional = []; // Available regional settings, indexed by language code
  161. this.regional[''] = { // Default regional settings
  162. // The display texts for the counters
  163. labels: ['Years', 'Months', 'Weeks', 'Days', 'Hours', 'Minutes', 'Seconds'],
  164. // The display texts for the counters if only one
  165. labels1: ['Year', 'Month', 'Week', 'Day', 'Hour', 'Minute', 'Second'],
  166. compactLabels: ['y', 'm', 'w', 'd'], // The compact texts for the counters
  167. whichLabels: null, // Function to determine which labels to use
  168. timeSeparator: ':', // Separator for time periods
  169. isRTL: false // True for right-to-left languages, false for left-to-right
  170. };
  171. this._defaults = {
  172. until: null, // new Date(year, mth - 1, day, hr, min, sec) - date/time to count down to
  173. // or numeric for seconds offset, or string for unit offset(s):
  174. // 'Y' years, 'O' months, 'W' weeks, 'D' days, 'H' hours, 'M' minutes, 'S' seconds
  175. since: null, // new Date(year, mth - 1, day, hr, min, sec) - date/time to count up from
  176. // or numeric for seconds offset, or string for unit offset(s):
  177. // 'Y' years, 'O' months, 'W' weeks, 'D' days, 'H' hours, 'M' minutes, 'S' seconds
  178. timezone: null, // The timezone (hours or minutes from GMT) for the target times,
  179. // or null for client local
  180. serverSync: null, // A function to retrieve the current server time for synchronisation
  181. format: 'dHMS', // Format for display - upper case for always, lower case only if non-zero,
  182. // 'Y' years, 'O' months, 'W' weeks, 'D' days, 'H' hours, 'M' minutes, 'S' seconds
  183. layout: '', // Build your own layout for the countdown
  184. compact: false, // True to display in a compact format, false for an expanded one
  185. significant: 0, // The number of periods with values to show, zero for all
  186. description: '', // The description displayed for the countdown
  187. expiryUrl: '', // A URL to load upon expiry, replacing the current page
  188. expiryText: '', // Text to display upon expiry, replacing the countdown
  189. alwaysExpire: false, // True to trigger onExpiry even if never counted down
  190. onExpiry: null, // Callback when the countdown expires -
  191. // receives no parameters and 'this' is the containing division
  192. onTick: null, // Callback when the countdown is updated -
  193. // receives int[7] being the breakdown by period (based on format)
  194. // and 'this' is the containing division
  195. tickInterval: 1 // Interval (seconds) between onTick callbacks
  196. };
  197. $.extend(this._defaults, this.regional['']);
  198. this._serverSyncs = [];
  199. }
  200.  
  201. var PROP_NAME = 'countdown';
  202.  
  203. var Y = 0; // Years
  204. var O = 1; // Months
  205. var W = 2; // Weeks
  206. var D = 3; // Days
  207. var H = 4; // Hours
  208. var M = 5; // Minutes
  209. var S = 6; // Seconds
  210.  
  211. $.extend(Countdown.prototype, {
  212. /* Class name added to elements to indicate already configured with countdown. */
  213. markerClassName: 'hasCountdown',
  214.  
  215. /* Shared timer for all countdowns. */
  216. _timer: setInterval(function() { $.countdown._updateTargets(); }, 980),
  217. /* List of currently active countdown targets. */
  218. _timerTargets: [],
  219.  
  220. /* Override the default settings for all instances of the countdown widget.
  221. @param options (object) the new settings to use as defaults */
  222. setDefaults: function(options) {
  223. this._resetExtraLabels(this._defaults, options);
  224. extendRemove(this._defaults, options || {});
  225. },
  226.  
  227. /* Convert a date/time to UTC.
  228. @param tz (number) the hour or minute offset from GMT, e.g. +9, -360
  229. @param year (Date) the date/time in that timezone or
  230. (number) the year in that timezone
  231. @param month (number, optional) the month (0 - 11) (omit if year is a Date)
  232. @param day (number, optional) the day (omit if year is a Date)
  233. @param hours (number, optional) the hour (omit if year is a Date)
  234. @param mins (number, optional) the minute (omit if year is a Date)
  235. @param secs (number, optional) the second (omit if year is a Date)
  236. @param ms (number, optional) the millisecond (omit if year is a Date)
  237. @return (Date) the equivalent UTC date/time */
  238. UTCDate: function(tz, year, month, day, hours, mins, secs, ms) {
  239. if (typeof year == 'object' && year.constructor == Date) {
  240. ms = year.getMilliseconds();
  241. secs = year.getSeconds();
  242. mins = year.getMinutes();
  243. hours = year.getHours();
  244. day = year.getDate();
  245. month = year.getMonth();
  246. year = year.getFullYear();
  247. }
  248. var d = new Date();
  249. d.setUTCFullYear(year);
  250. d.setUTCDate(1);
  251. d.setUTCMonth(month || 0);
  252. d.setUTCDate(day || 1);
  253. d.setUTCHours(hours || 0);
  254. d.setUTCMinutes((mins || 0) - (Math.abs(tz) < 30 ? tz * 60 : tz));
  255. d.setUTCSeconds(secs || 0);
  256. d.setUTCMilliseconds(ms || 0);
  257. return d;
  258. },
  259.  
  260. /* Convert a set of periods into seconds.
  261. Averaged for months and years.
  262. @param periods (number[7]) the periods per year/month/week/day/hour/minute/second
  263. @return (number) the corresponding number of seconds */
  264. periodsToSeconds: function(periods) {
  265. return periods[0] * 31557600 + periods[1] * 2629800 + periods[2] * 604800 +
  266. periods[3] * 86400 + periods[4] * 3600 + periods[5] * 60 + periods[6];
  267. },
  268.  
  269. /* Retrieve one or more settings values.
  270. @param name (string, optional) the name of the setting to retrieve
  271. or 'all' for all instance settings or omit for all default settings
  272. @return (any) the requested setting(s) */
  273. _settingsCountdown: function(target, name) {
  274. if (!name) {
  275. return $.countdown._defaults;
  276. }
  277. var inst = $.data(target, PROP_NAME);
  278. return (name == 'all' ? inst.options : inst.options[name]);
  279. },
  280.  
  281. /* Attach the countdown widget to a div.
  282. @param target (element) the containing division
  283. @param options (object) the initial settings for the countdown */
  284. _attachCountdown: function(target, options) {
  285. var $target = $(target);
  286. if ($target.hasClass(this.markerClassName)) {
  287. return;
  288. }
  289. $target.addClass(this.markerClassName);
  290. var inst = {options: $.extend({}, options),
  291. _periods: [0, 0, 0, 0, 0, 0, 0]};
  292. $.data(target, PROP_NAME, inst);
  293. this._changeCountdown(target);
  294. },
  295.  
  296. /* Add a target to the list of active ones.
  297. @param target (element) the countdown target */
  298. _addTarget: function(target) {
  299. if (!this._hasTarget(target)) {
  300. this._timerTargets.push(target);
  301. }
  302. },
  303.  
  304. /* See if a target is in the list of active ones.
  305. @param target (element) the countdown target
  306. @return (boolean) true if present, false if not */
  307. _hasTarget: function(target) {
  308. return ($.inArray(target, this._timerTargets) > -1);
  309. },
  310.  
  311. /* Remove a target from the list of active ones.
  312. @param target (element) the countdown target */
  313. _removeTarget: function(target) {
  314. this._timerTargets = $.map(this._timerTargets,
  315. function(value) { return (value == target ? null : value); }); // delete entry
  316. },
  317.  
  318. /* Update each active timer target. */
  319. _updateTargets: function() {
  320. for (var i = this._timerTargets.length - 1; i >= 0; i--) {
  321. this._updateCountdown(this._timerTargets[i]);
  322. }
  323. },
  324.  
  325. /* Redisplay the countdown with an updated display.
  326. @param target (jQuery) the containing division
  327. @param inst (object) the current settings for this instance */
  328. _updateCountdown: function(target, inst) {
  329. var $target = $(target);
  330. inst = inst || $.data(target, PROP_NAME);
  331. if (!inst) {
  332. return;
  333. }
  334. $target.html(this._generateHTML(inst));
  335. $target[(this._get(inst, 'isRTL') ? 'add' : 'remove') + 'Class']('countdown_rtl');
  336. var onTick = this._get(inst, 'onTick');
  337. if (onTick) {
  338. var periods = inst._hold != 'lap' ? inst._periods :
  339. this._calculatePeriods(inst, inst._show, this._get(inst, 'significant'), new Date());
  340. var tickInterval = this._get(inst, 'tickInterval');
  341. if (tickInterval == 1 || this.periodsToSeconds(periods) % tickInterval == 0) {
  342. onTick.apply(target, [periods]);
  343. }
  344. }
  345. var expired = inst._hold != 'pause' &&
  346. (inst._since ? inst._now.getTime() < inst._since.getTime() :
  347. inst._now.getTime() >= inst._until.getTime());
  348. if (expired && !inst._expiring) {
  349. inst._expiring = true;
  350. if (this._hasTarget(target) || this._get(inst, 'alwaysExpire')) {
  351. this._removeTarget(target);
  352. var onExpiry = this._get(inst, 'onExpiry');
  353. if (onExpiry) {
  354. onExpiry.apply(target, []);
  355. }
  356. var expiryText = this._get(inst, 'expiryText');
  357. if (expiryText) {
  358. var layout = this._get(inst, 'layout');
  359. inst.options.layout = expiryText;
  360. this._updateCountdown(target, inst);
  361. inst.options.layout = layout;
  362. }
  363. var expiryUrl = this._get(inst, 'expiryUrl');
  364. if (expiryUrl) {
  365. window.location = expiryUrl;
  366. }
  367. }
  368. inst._expiring = false;
  369. }
  370. else if (inst._hold == 'pause') {
  371. this._removeTarget(target);
  372. }
  373. $.data(target, PROP_NAME, inst);
  374. },
  375.  
  376. /* Reconfigure the settings for a countdown div.
  377. @param target (element) the containing division
  378. @param options (object) the new settings for the countdown or
  379. (string) an individual property name
  380. @param value (any) the individual property value
  381. (omit if options is an object) */
  382. _changeCountdown: function(target, options, value) {
  383. options = options || {};
  384. if (typeof options == 'string') {
  385. var name = options;
  386. options = {};
  387. options[name] = value;
  388. }
  389. var inst = $.data(target, PROP_NAME);
  390. if (inst) {
  391. this._resetExtraLabels(inst.options, options);
  392. extendRemove(inst.options, options);
  393. this._adjustSettings(target, inst);
  394. $.data(target, PROP_NAME, inst);
  395. var now = new Date();
  396. if ((inst._since && inst._since < now) ||
  397. (inst._until && inst._until > now)) {
  398. this._addTarget(target);
  399. }
  400. this._updateCountdown(target, inst);
  401. }
  402. },
  403.  
  404. /* Reset any extra labelsn and compactLabelsn entries if changing labels.
  405. @param base (object) the options to be updated
  406. @param options (object) the new option values */
  407. _resetExtraLabels: function(base, options) {
  408. var changingLabels = false;
  409. for (var n in options) {
  410. if (n != 'whichLabels' && n.match(/[Ll]abels/)) {
  411. changingLabels = true;
  412. break;
  413. }
  414. }
  415. if (changingLabels) {
  416. for (var n in base) { // Remove custom numbered labels
  417. if (n.match(/[Ll]abels[0-9]/)) {
  418. base[n] = null;
  419. }
  420. }
  421. }
  422. },
  423.  
  424. /* Calculate interal settings for an instance.
  425. @param target (element) the containing division
  426. @param inst (object) the current settings for this instance */
  427. _adjustSettings: function(target, inst) {
  428. var now;
  429. var serverSync = this._get(inst, 'serverSync');
  430. var serverOffset = 0;
  431. var serverEntry = null;
  432. for (var i = 0; i < this._serverSyncs.length; i++) {
  433. if (this._serverSyncs[i][0] == serverSync) {
  434. serverEntry = this._serverSyncs[i][1];
  435. break;
  436. }
  437. }
  438. if (serverEntry != null) {
  439. serverOffset = (serverSync ? serverEntry : 0);
  440. now = new Date();
  441. }
  442. else {
  443. var serverResult = (serverSync ? serverSync.apply(target, []) : null);
  444. now = new Date();
  445. serverOffset = (serverResult ? now.getTime() - serverResult.getTime() : 0);
  446. this._serverSyncs.push([serverSync, serverOffset]);
  447. }
  448. var timezone = this._get(inst, 'timezone');
  449. timezone = (timezone == null ? -now.getTimezoneOffset() : timezone);
  450. inst._since = this._get(inst, 'since');
  451. if (inst._since != null) {
  452. inst._since = this.UTCDate(timezone, this._determineTime(inst._since, null));
  453. if (inst._since && serverOffset) {
  454. inst._since.setMilliseconds(inst._since.getMilliseconds() + serverOffset);
  455. }
  456. }
  457. inst._until = this.UTCDate(timezone, this._determineTime(this._get(inst, 'until'), now));
  458. if (serverOffset) {
  459. inst._until.setMilliseconds(inst._until.getMilliseconds() + serverOffset);
  460. }
  461. inst._show = this._determineShow(inst);
  462. },
  463.  
  464. /* Remove the countdown widget from a div.
  465. @param target (element) the containing division */
  466. _destroyCountdown: function(target) {
  467. var $target = $(target);
  468. if (!$target.hasClass(this.markerClassName)) {
  469. return;
  470. }
  471. this._removeTarget(target);
  472. $target.removeClass(this.markerClassName).empty();
  473. $.removeData(target, PROP_NAME);
  474. },
  475.  
  476. /* Pause a countdown widget at the current time.
  477. Stop it running but remember and display the current time.
  478. @param target (element) the containing division */
  479. _pauseCountdown: function(target) {
  480. this._hold(target, 'pause');
  481. },
  482.  
  483. /* Pause a countdown widget at the current time.
  484. Stop the display but keep the countdown running.
  485. @param target (element) the containing division */
  486. _lapCountdown: function(target) {
  487. this._hold(target, 'lap');
  488. },
  489.  
  490. /* Resume a paused countdown widget.
  491. @param target (element) the containing division */
  492. _resumeCountdown: function(target) {
  493. this._hold(target, null);
  494. },
  495.  
  496. /* Pause or resume a countdown widget.
  497. @param target (element) the containing division
  498. @param hold (string) the new hold setting */
  499. _hold: function(target, hold) {
  500. var inst = $.data(target, PROP_NAME);
  501. if (inst) {
  502. if (inst._hold == 'pause' && !hold) {
  503. inst._periods = inst._savePeriods;
  504. var sign = (inst._since ? '-' : '+');
  505. inst[inst._since ? '_since' : '_until'] =
  506. this._determineTime(sign + inst._periods[0] + 'y' +
  507. sign + inst._periods[1] + 'o' + sign + inst._periods[2] + 'w' +
  508. sign + inst._periods[3] + 'd' + sign + inst._periods[4] + 'h' +
  509. sign + inst._periods[5] + 'm' + sign + inst._periods[6] + 's');
  510. this._addTarget(target);
  511. }
  512. inst._hold = hold;
  513. inst._savePeriods = (hold == 'pause' ? inst._periods : null);
  514. $.data(target, PROP_NAME, inst);
  515. this._updateCountdown(target, inst);
  516. }
  517. },
  518.  
  519. /* Return the current time periods.
  520. @param target (element) the containing division
  521. @return (number[7]) the current periods for the countdown */
  522. _getTimesCountdown: function(target) {
  523. var inst = $.data(target, PROP_NAME);
  524. return (!inst ? null : (!inst._hold ? inst._periods :
  525. this._calculatePeriods(inst, inst._show, this._get(inst, 'significant'), new Date())));
  526. },
  527.  
  528. /* Get a setting value, defaulting if necessary.
  529. @param inst (object) the current settings for this instance
  530. @param name (string) the name of the required setting
  531. @return (any) the setting's value or a default if not overridden */
  532. _get: function(inst, name) {
  533. return (inst.options[name] != null ?
  534. inst.options[name] : $.countdown._defaults[name]);
  535. },
  536.  
  537. /* A time may be specified as an exact value or a relative one.
  538. @param setting (string or number or Date) - the date/time value
  539. as a relative or absolute value
  540. @param defaultTime (Date) the date/time to use if no other is supplied
  541. @return (Date) the corresponding date/time */
  542. _determineTime: function(setting, defaultTime) {
  543. var offsetNumeric = function(offset) { // e.g. +300, -2
  544. var time = new Date();
  545. time.setTime(time.getTime() + offset * 1000);
  546. return time;
  547. };
  548. var offsetString = function(offset) { // e.g. '+2d', '-4w', '+3h +30m'
  549. offset = offset.toLowerCase();
  550. var time = new Date();
  551. var year = time.getFullYear();
  552. var month = time.getMonth();
  553. var day = time.getDate();
  554. var hour = time.getHours();
  555. var minute = time.getMinutes();
  556. var second = time.getSeconds();
  557. var pattern = /([+-]?[0-9]+)\s*(s|m|h|d|w|o|y)?/g;
  558. var matches = pattern.exec(offset);
  559. while (matches) {
  560. switch (matches[2] || 's') {
  561. case 's': second += parseInt(matches[1], 10); break;
  562. case 'm': minute += parseInt(matches[1], 10); break;
  563. case 'h': hour += parseInt(matches[1], 10); break;
  564. case 'd': day += parseInt(matches[1], 10); break;
  565. case 'w': day += parseInt(matches[1], 10) * 7; break;
  566. case 'o':
  567. month += parseInt(matches[1], 10);
  568. day = Math.min(day, $.countdown._getDaysInMonth(year, month));
  569. break;
  570. case 'y':
  571. year += parseInt(matches[1], 10);
  572. day = Math.min(day, $.countdown._getDaysInMonth(year, month));
  573. break;
  574. }
  575. matches = pattern.exec(offset);
  576. }
  577. return new Date(year, month, day, hour, minute, second, 0);
  578. };
  579. var time = (setting == null ? defaultTime :
  580. (typeof setting == 'string' ? offsetString(setting) :
  581. (typeof setting == 'number' ? offsetNumeric(setting) : setting)));
  582. if (time) time.setMilliseconds(0);
  583. return time;
  584. },
  585.  
  586. /* Determine the number of days in a month.
  587. @param year (number) the year
  588. @param month (number) the month
  589. @return (number) the days in that month */
  590. _getDaysInMonth: function(year, month) {
  591. return 32 - new Date(year, month, 32).getDate();
  592. },
  593.  
  594. /* Determine which set of labels should be used for an amount.
  595. @param num (number) the amount to be displayed
  596. @return (number) the set of labels to be used for this amount */
  597. _normalLabels: function(num) {
  598. return num;
  599. },
  600.  
  601. /* Generate the HTML to display the countdown widget.
  602. @param inst (object) the current settings for this instance
  603. @return (string) the new HTML for the countdown display */
  604. _generateHTML: function(inst) {
  605. // Determine what to show
  606. var significant = this._get(inst, 'significant');
  607. inst._periods = (inst._hold ? inst._periods :
  608. this._calculatePeriods(inst, inst._show, significant, new Date()));
  609. // Show all 'asNeeded' after first non-zero value
  610. var shownNonZero = false;
  611. var showCount = 0;
  612. var sigCount = significant;
  613. var show = $.extend({}, inst._show);
  614. for (var period = Y; period <= S; period++) {
  615. shownNonZero |= (inst._show[period] == '?' && inst._periods[period] > 0);
  616. show[period] = (inst._show[period] == '?' && !shownNonZero ? null : inst._show[period]);
  617. showCount += (show[period] ? 1 : 0);
  618. sigCount -= (inst._periods[period] > 0 ? 1 : 0);
  619. }
  620. var showSignificant = [false, false, false, false, false, false, false];
  621. for (var period = S; period >= Y; period--) { // Determine significant periods
  622. if (inst._show[period]) {
  623. if (inst._periods[period]) {
  624. showSignificant[period] = true;
  625. }
  626. else {
  627. showSignificant[period] = sigCount > 0;
  628. sigCount--;
  629. }
  630. }
  631. }
  632. var compact = this._get(inst, 'compact');
  633. var layout = this._get(inst, 'layout');
  634. var labels = (compact ? this._get(inst, 'compactLabels') : this._get(inst, 'labels'));
  635. var whichLabels = this._get(inst, 'whichLabels') || this._normalLabels;
  636. var timeSeparator = this._get(inst, 'timeSeparator');
  637. var description = this._get(inst, 'description') || '';
  638. var showCompact = function(period) {
  639. var labelsNum = $.countdown._get(inst,
  640. 'compactLabels' + whichLabels(inst._periods[period]));
  641. return (show[period] ? inst._periods[period] +
  642. (labelsNum ? labelsNum[period] : labels[period]) + ' ' : '');
  643. };
  644. var showFull = function(period) {
  645. var labelsNum = $.countdown._get(inst, 'labels' + whichLabels(inst._periods[period]));
  646. return ((!significant && show[period]) || (significant && showSignificant[period]) ?
  647. '<span class="countdown_section">'+ '<span class="countdown_amount">' +
  648. inst._periods[period] + '</span><br/><span class="countdown_day">' +
  649. (labelsNum ? labelsNum[period] : labels[period]) + '</span></span>' : '');
  650. };
  651. return (layout ? this._buildLayout(inst, show, layout, compact, significant, showSignificant) :
  652. ((compact ? // Compact version
  653. '<span class="countdown_row countdown_amount' +
  654. (inst._hold ? ' countdown_holding' : '') + '">' +
  655. showCompact(Y) + showCompact(O) + showCompact(W) + showCompact(D) +
  656. (show[H] ? this._minDigits(inst._periods[H], 2) : '') +
  657. (show[M] ? (show[H] ? timeSeparator : '') +
  658. this._minDigits(inst._periods[M], 2) : '') +
  659. (show[S] ? (show[H] || show[M] ? timeSeparator : '') +
  660. this._minDigits(inst._periods[S], 2) : '') :
  661. // Full version
  662. '<span class="countdown_row countdown_show' + (significant || showCount) +
  663. (inst._hold ? ' countdown_holding' : '') + '">' +
  664. showFull(Y) + showFull(O) + showFull(W) + showFull(D) +
  665. showFull(H) + showFull(M) + showFull(S)) + '</span>' +
  666. (description ? '<span class="countdown_row countdown_descr">' + description + '</span>' : '')));
  667. },
  668.  
  669. /* Construct a custom layout.
  670. @param inst (object) the current settings for this instance
  671. @param show (string[7]) flags indicating which periods are requested
  672. @param layout (string) the customised layout
  673. @param compact (boolean) true if using compact labels
  674. @param significant (number) the number of periods with values to show, zero for all
  675. @param showSignificant (boolean[7]) other periods to show for significance
  676. @return (string) the custom HTML */
  677. _buildLayout: function(inst, show, layout, compact, significant, showSignificant) {
  678. var labels = this._get(inst, (compact ? 'compactLabels' : 'labels'));
  679. var whichLabels = this._get(inst, 'whichLabels') || this._normalLabels;
  680. var labelFor = function(index) {
  681. return ($.countdown._get(inst,
  682. (compact ? 'compactLabels' : 'labels') + whichLabels(inst._periods[index])) ||
  683. labels)[index];
  684. };
  685. var digit = function(value, position) {
  686. return Math.floor(value / position) % 10;
  687. };
  688. var subs = {desc: this._get(inst, 'description'), sep: this._get(inst, 'timeSeparator'),
  689. yl: labelFor(Y), yn: inst._periods[Y], ynn: this._minDigits(inst._periods[Y], 2),
  690. ynnn: this._minDigits(inst._periods[Y], 3), y1: digit(inst._periods[Y], 1),
  691. y10: digit(inst._periods[Y], 10), y100: digit(inst._periods[Y], 100),
  692. y1000: digit(inst._periods[Y], 1000),
  693. ol: labelFor(O), on: inst._periods[O], onn: this._minDigits(inst._periods[O], 2),
  694. onnn: this._minDigits(inst._periods[O], 3), o1: digit(inst._periods[O], 1),
  695. o10: digit(inst._periods[O], 10), o100: digit(inst._periods[O], 100),
  696. o1000: digit(inst._periods[O], 1000),
  697. wl: labelFor(W), wn: inst._periods[W], wnn: this._minDigits(inst._periods[W], 2),
  698. wnnn: this._minDigits(inst._periods[W], 3), w1: digit(inst._periods[W], 1),
  699. w10: digit(inst._periods[W], 10), w100: digit(inst._periods[W], 100),
  700. w1000: digit(inst._periods[W], 1000),
  701. dl: labelFor(D), dn: inst._periods[D], dnn: this._minDigits(inst._periods[D], 2),
  702. dnnn: this._minDigits(inst._periods[D], 3), d1: digit(inst._periods[D], 1),
  703. d10: digit(inst._periods[D], 10), d100: digit(inst._periods[D], 100),
  704. d1000: digit(inst._periods[D], 1000),
  705. hl: labelFor(H), hn: inst._periods[H], hnn: this._minDigits(inst._periods[H], 2),
  706. hnnn: this._minDigits(inst._periods[H], 3), h1: digit(inst._periods[H], 1),
  707. h10: digit(inst._periods[H], 10), h100: digit(inst._periods[H], 100),
  708. h1000: digit(inst._periods[H], 1000),
  709. ml: labelFor(M), mn: inst._periods[M], mnn: this._minDigits(inst._periods[M], 2),
  710. mnnn: this._minDigits(inst._periods[M], 3), m1: digit(inst._periods[M], 1),
  711. m10: digit(inst._periods[M], 10), m100: digit(inst._periods[M], 100),
  712. m1000: digit(inst._periods[M], 1000),
  713. sl: labelFor(S), sn: inst._periods[S], snn: this._minDigits(inst._periods[S], 2),
  714. snnn: this._minDigits(inst._periods[S], 3), s1: digit(inst._periods[S], 1),
  715. s10: digit(inst._periods[S], 10), s100: digit(inst._periods[S], 100),
  716. s1000: digit(inst._periods[S], 1000)};
  717. var html = layout;
  718. // Replace period containers: {p<}...{p>}
  719. for (var i = Y; i <= S; i++) {
  720. var period = 'yowdhms'.charAt(i);
  721. var re = new RegExp('\\{' + period + '<\\}(.*)\\{' + period + '>\\}', 'g');
  722. html = html.replace(re, ((!significant && show[i]) ||
  723. (significant && showSignificant[i]) ? '$1' : ''));
  724. }
  725. // Replace period values: {pn}
  726. $.each(subs, function(n, v) {
  727. var re = new RegExp('\\{' + n + '\\}', 'g');
  728. html = html.replace(re, v);
  729. });
  730. return html;
  731. },
  732.  
  733. /* Ensure a numeric value has at least n digits for display.
  734. @param value (number) the value to display
  735. @param len (number) the minimum length
  736. @return (string) the display text */
  737. _minDigits: function(value, len) {
  738. value = '' + value;
  739. if (value.length >= len) {
  740. return value;
  741. }
  742. value = '0000000000' + value;
  743. return value.substr(value.length - len);
  744. },
  745.  
  746. /* Translate the format into flags for each period.
  747. @param inst (object) the current settings for this instance
  748. @return (string[7]) flags indicating which periods are requested (?) or
  749. required (!) by year, month, week, day, hour, minute, second */
  750. _determineShow: function(inst) {
  751. var format = this._get(inst, 'format');
  752. var show = [];
  753. show[Y] = (format.match('y') ? '?' : (format.match('Y') ? '!' : null));
  754. show[O] = (format.match('o') ? '?' : (format.match('O') ? '!' : null));
  755. show[W] = (format.match('w') ? '?' : (format.match('W') ? '!' : null));
  756. show[D] = (format.match('d') ? '?' : (format.match('D') ? '!' : null));
  757. show[H] = (format.match('h') ? '?' : (format.match('H') ? '!' : null));
  758. show[M] = (format.match('m') ? '?' : (format.match('M') ? '!' : null));
  759. show[S] = (format.match('s') ? '?' : (format.match('S') ? '!' : null));
  760. return show;
  761. },
  762.  
  763. /* Calculate the requested periods between now and the target time.
  764. @param inst (object) the current settings for this instance
  765. @param show (string[7]) flags indicating which periods are requested/required
  766. @param significant (number) the number of periods with values to show, zero for all
  767. @param now (Date) the current date and time
  768. @return (number[7]) the current time periods (always positive)
  769. by year, month, week, day, hour, minute, second */
  770. _calculatePeriods: function(inst, show, significant, now) {
  771. // Find endpoints
  772. inst._now = now;
  773. inst._now.setMilliseconds(0);
  774. var until = new Date(inst._now.getTime());
  775. if (inst._since) {
  776. if (now.getTime() < inst._since.getTime()) {
  777. inst._now = now = until;
  778. }
  779. else {
  780. now = inst._since;
  781. }
  782. }
  783. else {
  784. until.setTime(inst._until.getTime());
  785. if (now.getTime() > inst._until.getTime()) {
  786. inst._now = now = until;
  787. }
  788. }
  789. // Calculate differences by period
  790. var periods = [0, 0, 0, 0, 0, 0, 0];
  791. if (show[Y] || show[O]) {
  792. // Treat end of months as the same
  793. var lastNow = $.countdown._getDaysInMonth(now.getFullYear(), now.getMonth());
  794. var lastUntil = $.countdown._getDaysInMonth(until.getFullYear(), until.getMonth());
  795. var sameDay = (until.getDate() == now.getDate() ||
  796. (until.getDate() >= Math.min(lastNow, lastUntil) &&
  797. now.getDate() >= Math.min(lastNow, lastUntil)));
  798. var getSecs = function(date) {
  799. return (date.getHours() * 60 + date.getMinutes()) * 60 + date.getSeconds();
  800. };
  801. var months = Math.max(0,
  802. (until.getFullYear() - now.getFullYear()) * 12 + until.getMonth() - now.getMonth() +
  803. ((until.getDate() < now.getDate() && !sameDay) ||
  804. (sameDay && getSecs(until) < getSecs(now)) ? -1 : 0));
  805. periods[Y] = (show[Y] ? Math.floor(months / 12) : 0);
  806. periods[O] = (show[O] ? months - periods[Y] * 12 : 0);
  807. // Adjust for months difference and end of month if necessary
  808. now = new Date(now.getTime());
  809. var wasLastDay = (now.getDate() == lastNow);
  810. var lastDay = $.countdown._getDaysInMonth(now.getFullYear() + periods[Y],
  811. now.getMonth() + periods[O]);
  812. if (now.getDate() > lastDay) {
  813. now.setDate(lastDay);
  814. }
  815. now.setFullYear(now.getFullYear() + periods[Y]);
  816. now.setMonth(now.getMonth() + periods[O]);
  817. if (wasLastDay) {
  818. now.setDate(lastDay);
  819. }
  820. }
  821. var diff = Math.floor((until.getTime() - now.getTime()) / 1000);
  822. var extractPeriod = function(period, numSecs) {
  823. periods[period] = (show[period] ? Math.floor(diff / numSecs) : 0);
  824. diff -= periods[period] * numSecs;
  825. };
  826. extractPeriod(W, 604800);
  827. extractPeriod(D, 86400);
  828. extractPeriod(H, 3600);
  829. extractPeriod(M, 60);
  830. extractPeriod(S, 1);
  831. if (diff > 0 && !inst._since) { // Round up if left overs
  832. var multiplier = [1, 12, 4.3482, 7, 24, 60, 60];
  833. var lastShown = S;
  834. var max = 1;
  835. for (var period = S; period >= Y; period--) {
  836. if (show[period]) {
  837. if (periods[lastShown] >= max) {
  838. periods[lastShown] = 0;
  839. diff = 1;
  840. }
  841. if (diff > 0) {
  842. periods[period]++;
  843. diff = 0;
  844. lastShown = period;
  845. max = 1;
  846. }
  847. }
  848. max *= multiplier[period];
  849. }
  850. }
  851. if (significant) { // Zero out insignificant periods
  852. for (var period = Y; period <= S; period++) {
  853. if (significant && periods[period]) {
  854. significant--;
  855. }
  856. else if (!significant) {
  857. periods[period] = 0;
  858. }
  859. }
  860. }
  861. return periods;
  862. }
  863. });
  864.  
  865. /* jQuery extend now ignores nulls!
  866. @param target (object) the object to update
  867. @param props (object) the new settings
  868. @return (object) the updated object */
  869. function extendRemove(target, props) {
  870. $.extend(target, props);
  871. for (var name in props) {
  872. if (props[name] == null) {
  873. target[name] = null;
  874. }
  875. }
  876. return target;
  877. }
  878.  
  879. /* Process the countdown functionality for a jQuery selection.
  880. @param command (string) the command to run (optional, default 'attach')
  881. @param options (object) the new settings to use for these countdown instances
  882. @return (jQuery) for chaining further calls */
  883. $.fn.countdown = function(options) {
  884. var otherArgs = Array.prototype.slice.call(arguments, 1);
  885. if (options == 'getTimes' || options == 'settings') {
  886. return $.countdown['_' + options + 'Countdown'].
  887. apply($.countdown, [this[0]].concat(otherArgs));
  888. }
  889. return this.each(function() {
  890. if (typeof options == 'string') {
  891. $.countdown['_' + options + 'Countdown'].apply($.countdown, [this].concat(otherArgs));
  892. }
  893. else {
  894. $.countdown._attachCountdown(this, options);
  895. }
  896. });
  897. };
  898.  
  899. /* Initialise the countdown functionality. */
  900. $.countdown = new Countdown(); // singleton instance
  901.  
  902. })(jQuery);
  903.  
  904. //]]>
  905. </script>
  906.  
  907. <script type='text/javascript'>
  908. //<![CDATA[
  909.  
  910. $(document).ready(function () {
  911.  
  912. var time = new Date();
  913. time = new Date(2014, 12 - 1, 19, 10, 1);
  914. $('#defaultCountdown').countdown({
  915. until: time
  916. });
  917.  
  918. $('#removeCountdown').toggle(function () {
  919. $(this).text('Re-attach');
  920. $('#defaultCountdown').countdown('destroy');
  921. }, function () {
  922. $(this).text('Remove');
  923. $('#defaultCountdown').countdown({
  924. until: time
  925. });
  926. });
  927.  
  928.  
  929. $('.show').fadeIn(600);
  930.  
  931. });
  932.  
  933. //]]>
  934. </script>
  935.  
  936. </head>
  937.  
  938. <body>
  939.  
  940. <div id='header-holder'>
  941. <div class='show' id='header'>
  942.  
  943. <div id='logo'>
  944. <a expr:href='data:blog.homepageUrl'><img src='http://i.imgur.com/O78LsCU.png'/></a>
  945. </div><!--close logo-->
  946.  
  947. <div class='Page_title'>Estamos Actualizando, Paciencia.</div>
  948.  
  949. <div class='Page_content'>
  950. Estamos en mantenimiento, Gracias por tu visita :D
  951. </div>
  952.  
  953. </div><!--close header-->
  954. </div><!-- close header-holder -->
  955.  
  956. <div id='front_page_container'>
  957. <div id='front_page'>
  958. <div class='container'>
  959.  
  960. <div class='show' id='front_left_cell'>
  961. <span id='countdowntext'>El blog estará listo en...</span>
  962. <span class='countdown' id='defaultCountdown'/>
  963. </div><!--close front_left_cell-->
  964.  
  965. </div><!--close continer-->
  966. </div><!--close front_page-->
  967. </div><!--front_page_container-->
  968.  
  969. <div id='footer'>
  970.  
  971. <div id='copyright'>
  972. <div id='copyright-wrap'>
  973.  
  974. <div id='Spread the word'>
  975. <a class='twitter-share-button' data-count='horizontal' data-text=' TortuLandia muy pronto estará lista :D' href='http://twitter.com/rolotortu' style='float:left; margin:0px 0px 0px 20px;'>Tweet</a><script src='http://platform.twitter.com/widgets.js' type='text/javascript'/>
  976. </div>
  977.  
  978.  
  979.  
  980. </div>
  981. </div> <!--close copy-->
  982.  
  983. <div class='container'>
  984. <div id='footer_content'>
  985. <div id='footer_wrap'/>
  986. </div>
  987. </div><!--close container-->
  988.  
  989. </div><!--close footer-->
  990.  
  991. <b:section class='nbtbottomsec' id='nbtbottomsec' preferred='yes'>
  992. <b:widget id='Blog1' locked='true' title='Entradas del blog' type='Blog'>
  993. <b:includable id='main' var='top'>
  994. <b:if cond='data:mobile == &quot;false&quot;'>
  995.  
  996. <!-- posts -->
  997. <div class='blog-posts hfeed'>
  998.  
  999. <b:include data='top' name='status-message'/>
  1000.  
  1001. <data:defaultAdStart/>
  1002. <b:loop values='data:posts' var='post'>
  1003. <b:if cond='data:post.isDateStart'>
  1004. <b:if cond='data:post.isFirstPost == &quot;false&quot;'>
  1005. &lt;/div&gt;&lt;/div&gt;
  1006. </b:if>
  1007. </b:if>
  1008. <b:if cond='data:post.isDateStart'>
  1009. &lt;div class=&quot;date-outer&quot;&gt;
  1010. </b:if>
  1011. <b:if cond='data:post.dateHeader'>
  1012. <h2 class='date-header'><span><data:post.dateHeader/></span></h2>
  1013. </b:if>
  1014. <b:if cond='data:post.isDateStart'>
  1015. &lt;div class=&quot;date-posts&quot;&gt;
  1016. </b:if>
  1017. <div class='post-outer'>
  1018. <b:include data='post' name='post'/>
  1019. <b:if cond='data:blog.pageType == &quot;static_page&quot;'>
  1020. <b:include data='post' name='comment_picker'/>
  1021. </b:if>
  1022. <b:if cond='data:blog.pageType == &quot;item&quot;'>
  1023. <b:include data='post' name='comment_picker'/>
  1024. </b:if>
  1025. </div>
  1026. <b:if cond='data:post.includeAd'>
  1027. <b:if cond='data:post.isFirstPost'>
  1028. <data:defaultAdEnd/>
  1029. <b:else/>
  1030. <data:adEnd/>
  1031. </b:if>
  1032. <div class='inline-ad'>
  1033. <data:adCode/>
  1034. </div>
  1035. <data:adStart/>
  1036. </b:if>
  1037. </b:loop>
  1038. <b:if cond='data:numPosts != 0'>
  1039. &lt;/div&gt;&lt;/div&gt;
  1040. </b:if>
  1041. <data:adEnd/>
  1042. </div>
  1043.  
  1044. <!-- navigation -->
  1045. <b:include name='nextprev'/>
  1046.  
  1047. <!-- feed links -->
  1048. <b:include name='feedLinks'/>
  1049.  
  1050. <b:if cond='data:top.showStars'>
  1051. <script src='//www.google.com/jsapi' type='text/javascript'/>
  1052. <script type='text/javascript'>
  1053. google.load(&quot;annotations&quot;, &quot;1&quot;, {&quot;locale&quot;: &quot;<data:top.languageCode/>&quot;});
  1054. function initialize() {
  1055. google.annotations.setApplicationId(<data:top.blogspotReviews/>);
  1056. google.annotations.createAll();
  1057. google.annotations.fetch();
  1058. }
  1059. google.setOnLoadCallback(initialize);
  1060. </script>
  1061. </b:if>
  1062.  
  1063. <b:else/>
  1064. <b:include name='mobile-main'/>
  1065. </b:if>
  1066.  
  1067. <b:if cond='data:top.showDummy'>
  1068. <data:top.dummyBootstrap/>
  1069. </b:if>
  1070.  
  1071. </b:includable>
  1072. <b:includable id='backlinkDeleteIcon' var='backlink'>
  1073. <span expr:class='&quot;item-control &quot; + data:backlink.adminClass'>
  1074. <a expr:href='data:backlink.deleteUrl' expr:title='data:top.deleteBacklinkMsg'>
  1075. <img src='//www.blogger.com/img/icon_delete13.gif'/>
  1076. </a>
  1077. </span>
  1078. </b:includable>
  1079. <b:includable id='backlinks' var='post'>
  1080. <a name='links'/><h4><data:post.backlinksLabel/></h4>
  1081. <b:if cond='data:post.numBacklinks != 0'>
  1082. <dl class='comments-block' id='comments-block'>
  1083. <b:loop values='data:post.backlinks' var='backlink'>
  1084. <div class='collapsed-backlink backlink-control'>
  1085. <dt class='comment-title'>
  1086. <span class='backlink-toggle-zippy'>&#160;</span>
  1087. <a expr:href='data:backlink.url' rel='nofollow'><data:backlink.title/></a>
  1088. <b:include data='backlink' name='backlinkDeleteIcon'/>
  1089. </dt>
  1090. <dd class='comment-body collapseable'>
  1091. <data:backlink.snippet/>
  1092. </dd>
  1093. <dd class='comment-footer collapseable'>
  1094. <span class='comment-author'><data:post.authorLabel/> <data:backlink.author/></span>
  1095. <span class='comment-timestamp'><data:post.timestampLabel/> <data:backlink.timestamp/></span>
  1096. </dd>
  1097. </div>
  1098. </b:loop>
  1099. </dl>
  1100. </b:if>
  1101. <p class='comment-footer'>
  1102. <a class='comment-link' expr:href='data:post.createLinkUrl' expr:id='data:widget.instanceId + &quot;_backlinks-create-link&quot;' target='_blank'><data:post.createLinkLabel/></a>
  1103. </p>
  1104. </b:includable>
  1105. <b:includable id='comment-form' var='post'>
  1106. <div class='comment-form'>
  1107. <a name='comment-form'/>
  1108. <b:if cond='data:mobile'>
  1109. <h4 id='comment-post-message'>
  1110. <a expr:id='data:widget.instanceId + &quot;_comment-editor-toggle-link&quot;' href='javascript:void(0)'><data:postCommentMsg/></a></h4>
  1111. <p><data:blogCommentMessage/></p>
  1112. <data:blogTeamBlogMessage/>
  1113. <a expr:href='data:post.commentFormIframeSrc' id='comment-editor-src'/>
  1114. <iframe allowtransparency='true' class='blogger-iframe-colorize blogger-comment-from-post' frameborder='0' height='410' id='comment-editor' name='comment-editor' src='' style='display: none' width='100%'/>
  1115. <b:else/>
  1116. <h4 id='comment-post-message'><data:postCommentMsg/></h4>
  1117. <p><data:blogCommentMessage/></p>
  1118. <data:blogTeamBlogMessage/>
  1119. <a expr:href='data:post.commentFormIframeSrc' id='comment-editor-src'/>
  1120. <iframe allowtransparency='true' class='blogger-iframe-colorize blogger-comment-from-post' frameborder='0' height='410' id='comment-editor' name='comment-editor' src='' width='100%'/>
  1121. </b:if>
  1122. <data:post.friendConnectJs/>
  1123. <data:post.cmtfpIframe/>
  1124. <script type='text/javascript'>
  1125. BLOG_CMT_createIframe(&#39;<data:post.appRpcRelayPath/>&#39;, &#39;<data:post.communityId/>&#39;);
  1126. </script>
  1127. </div>
  1128. </b:includable>
  1129. <b:includable id='commentDeleteIcon' var='comment'>
  1130. <span expr:class='&quot;item-control &quot; + data:comment.adminClass'>
  1131. <b:if cond='data:showCmtPopup'>
  1132. <div class='goog-toggle-button'>
  1133. <div class='goog-inline-block comment-action-icon'/>
  1134. </div>
  1135. <b:else/>
  1136. <a class='comment-delete' expr:href='data:comment.deleteUrl' expr:title='data:top.deleteCommentMsg'>
  1137. <img src='//www.blogger.com/img/icon_delete13.gif'/>
  1138. </a>
  1139. </b:if>
  1140. </span>
  1141. </b:includable>
  1142. <b:includable id='comment_count_picker' var='post'>
  1143. <b:if cond='data:post.forceIframeComments'>
  1144. <span class='cmt_count_iframe_holder' expr:data-count='data:post.numComments' expr:data-onclick='data:post.addCommentOnclick' expr:data-url='data:post.canonicalUrl'>
  1145. </span>
  1146. <b:else/>
  1147. <b:if cond='data:post.commentSource == 1'>
  1148. <span class='cmt_count_iframe_holder' expr:data-count='data:post.numComments' expr:data-onclick='data:post.addCommentOnclick' expr:data-url='data:post.canonicalUrl'>
  1149. </span>
  1150. <b:else/>
  1151. <a class='comment-link' expr:href='data:post.addCommentUrl' expr:onclick='data:post.addCommentOnclick'>
  1152. <data:post.commentLabelFull/>:
  1153. </a>
  1154. </b:if>
  1155. </b:if>
  1156. </b:includable>
  1157. <b:includable id='comment_picker' var='post'>
  1158. <b:if cond='data:post.forceIframeComments'>
  1159. <b:include data='post' name='iframe_comments'/>
  1160. <b:if cond='data:post.showThreadedComments'>
  1161. <b:include data='post' name='threaded_comments'/>
  1162. <b:else/>
  1163. <b:include data='post' name='comments'/>
  1164. </b:if>
  1165. <b:else/>
  1166. <b:if cond='data:post.commentSource == 1'>
  1167. <b:include data='post' name='iframe_comments'/>
  1168. <b:else/>
  1169. <b:if cond='data:post.showThreadedComments'>
  1170. <b:include data='post' name='threaded_comments'/>
  1171. <b:else/>
  1172. <b:include data='post' name='comments'/>
  1173. </b:if>
  1174. </b:if>
  1175. </b:if>
  1176. </b:includable>
  1177. <b:includable id='comments' var='post'>
  1178. <div class='comments' id='comments'>
  1179. <a name='comments'/>
  1180. <b:if cond='data:post.allowComments'>
  1181. <h4><data:post.commentLabelFull/>:</h4>
  1182.  
  1183. <b:if cond='data:post.commentPagingRequired'>
  1184. <span class='paging-control-container'>
  1185. <b:if cond='data:post.hasOlderLinks'>
  1186. <a expr:class='data:post.oldLinkClass' expr:href='data:post.oldestLinkUrl'><data:post.oldestLinkText/></a>
  1187. &#160;
  1188. <a expr:class='data:post.oldLinkClass' expr:href='data:post.olderLinkUrl'><data:post.olderLinkText/></a>
  1189. &#160;
  1190. </b:if>
  1191.  
  1192. <data:post.commentRangeText/>
  1193.  
  1194. <b:if cond='data:post.hasNewerLinks'>
  1195. &#160;
  1196. <a expr:class='data:post.newLinkClass' expr:href='data:post.newerLinkUrl'><data:post.newerLinkText/></a>
  1197. &#160;
  1198. <a expr:class='data:post.newLinkClass' expr:href='data:post.newestLinkUrl'><data:post.newestLinkText/></a>
  1199. </b:if>
  1200. </span>
  1201. </b:if>
  1202.  
  1203. <div expr:id='data:widget.instanceId + &quot;_comments-block-wrapper&quot;'>
  1204. <dl expr:class='data:post.avatarIndentClass' id='comments-block'>
  1205. <b:loop values='data:post.comments' var='comment'>
  1206. <dt expr:class='&quot;comment-author &quot; + data:comment.authorClass' expr:id='data:comment.anchorName'>
  1207. <b:if cond='data:comment.favicon'>
  1208. <img expr:src='data:comment.favicon' height='16px' style='margin-bottom:-2px;' width='16px'/>
  1209. </b:if>
  1210. <a expr:name='data:comment.anchorName'/>
  1211. <b:if cond='data:blog.enabledCommentProfileImages'>
  1212. <data:comment.authorAvatarImage/>
  1213. </b:if>
  1214. <b:if cond='data:comment.authorUrl'>
  1215. <a expr:href='data:comment.authorUrl' rel='nofollow'><data:comment.author/></a>
  1216. <b:else/>
  1217. <data:comment.author/>
  1218. </b:if>
  1219. <data:commentPostedByMsg/>
  1220. </dt>
  1221. <dd class='comment-body' expr:id='data:widget.instanceId + data:comment.cmtBodyIdPostfix'>
  1222. <b:if cond='data:comment.isDeleted'>
  1223. <span class='deleted-comment'><data:comment.body/></span>
  1224. <b:else/>
  1225. <p>
  1226. <data:comment.body/>
  1227. </p>
  1228. </b:if>
  1229. </dd>
  1230. <dd class='comment-footer'>
  1231. <span class='comment-timestamp'>
  1232. <a expr:href='data:comment.url' title='comment permalink'>
  1233. <data:comment.timestamp/>
  1234. </a>
  1235. <b:include data='comment' name='commentDeleteIcon'/>
  1236. </span>
  1237. </dd>
  1238. </b:loop>
  1239. </dl>
  1240. </div>
  1241.  
  1242. <b:if cond='data:post.commentPagingRequired'>
  1243. <span class='paging-control-container'>
  1244. <a expr:class='data:post.oldLinkClass' expr:href='data:post.oldestLinkUrl'>
  1245. <data:post.oldestLinkText/>
  1246. </a>
  1247. <a expr:class='data:post.oldLinkClass' expr:href='data:post.olderLinkUrl'>
  1248. <data:post.olderLinkText/>
  1249. </a>
  1250. &#160;
  1251. <data:post.commentRangeText/>
  1252. &#160;
  1253. <a expr:class='data:post.newLinkClass' expr:href='data:post.newerLinkUrl'>
  1254. <data:post.newerLinkText/>
  1255. </a>
  1256. <a expr:class='data:post.newLinkClass' expr:href='data:post.newestLinkUrl'>
  1257. <data:post.newestLinkText/>
  1258. </a>
  1259. </span>
  1260. </b:if>
  1261.  
  1262. <p class='comment-footer'>
  1263. <b:if cond='data:post.embedCommentForm'>
  1264. <b:if cond='data:post.allowNewComments'>
  1265. <b:include data='post' name='comment-form'/>
  1266. <b:else/>
  1267. <data:post.noNewCommentsText/>
  1268. </b:if>
  1269. <b:else/>
  1270. <b:if cond='data:post.allowComments'>
  1271. <a expr:href='data:post.addCommentUrl' expr:onclick='data:post.addCommentOnclick'><data:postCommentMsg/></a>
  1272. </b:if>
  1273. </b:if>
  1274.  
  1275. </p>
  1276. </b:if>
  1277. <b:if cond='data:showCmtPopup'>
  1278. <div id='comment-popup'>
  1279. <iframe allowtransparency='true' frameborder='0' id='comment-actions' name='comment-actions' scrolling='no'>
  1280. </iframe>
  1281. </div>
  1282. </b:if>
  1283.  
  1284. <div id='backlinks-container'>
  1285. <div expr:id='data:widget.instanceId + &quot;_backlinks-container&quot;'>
  1286. <b:if cond='data:post.showBacklinks'>
  1287. <b:include data='post' name='backlinks'/>
  1288. </b:if>
  1289. </div>
  1290. </div>
  1291. </div>
  1292. </b:includable>
  1293. <b:includable id='feedLinks'>
  1294. <b:if cond='data:blog.pageType != &quot;item&quot;'> <!-- Blog feed links -->
  1295. <b:if cond='data:feedLinks'>
  1296. <div class='blog-feeds'>
  1297. <b:include data='feedLinks' name='feedLinksBody'/>
  1298. </div>
  1299. </b:if>
  1300.  
  1301. <b:else/> <!--Post feed links -->
  1302. <div class='post-feeds'>
  1303. <b:loop values='data:posts' var='post'>
  1304. <b:if cond='data:post.allowComments'>
  1305. <b:if cond='data:post.feedLinks'>
  1306. <b:include data='post.feedLinks' name='feedLinksBody'/>
  1307. </b:if>
  1308. </b:if>
  1309. </b:loop>
  1310. </div>
  1311. </b:if>
  1312. </b:includable>
  1313. <b:includable id='feedLinksBody' var='links'>
  1314. <div class='feed-links'>
  1315. <data:feedLinksMsg/>
  1316. <b:loop values='data:links' var='f'>
  1317. <a class='feed-link' expr:href='data:f.url' expr:type='data:f.mimeType' target='_blank'><data:f.name/> (<data:f.feedType/>)</a>
  1318. </b:loop>
  1319. </div>
  1320. </b:includable>
  1321. <b:includable id='iframe_comments' var='post'>
  1322.  
  1323. <b:if cond='data:post.allowIframeComments'>
  1324. <script expr:src='data:post.iframeCommentSrc' type='text/javascript'/>
  1325. <div class='cmt_iframe_holder' expr:data-href='data:post.canonicalUrl' expr:data-viewtype='data:post.viewType'/>
  1326.  
  1327. <b:if cond='data:post.embedCommentForm == &quot;false&quot;'>
  1328. <a expr:href='data:post.addCommentUrl' expr:onclick='data:post.addCommentOnclick'><data:postCommentMsg/></a>
  1329. </b:if>
  1330. </b:if>
  1331. </b:includable>
  1332. <b:includable id='mobile-index-post' var='post'>
  1333. <div class='mobile-date-outer date-outer'>
  1334. <b:if cond='data:post.dateHeader'>
  1335. <div class='date-header'>
  1336. <span><data:post.dateHeader/></span>
  1337. </div>
  1338. </b:if>
  1339.  
  1340. <div class='mobile-post-outer'>
  1341. <a expr:href='data:post.url'>
  1342. <h3 class='mobile-index-title entry-title' itemprop='name'>
  1343. <data:post.title/>
  1344. </h3>
  1345.  
  1346. <div class='mobile-index-arrow'>&amp;rsaquo;</div>
  1347.  
  1348. <div class='mobile-index-contents'>
  1349. <b:if cond='data:post.thumbnailUrl'>
  1350. <div class='mobile-index-thumbnail'>
  1351. <div class='Image'>
  1352. <img expr:src='data:post.thumbnailUrl'/>
  1353. </div>
  1354. </div>
  1355. </b:if>
  1356.  
  1357. <div class='post-body'>
  1358. <b:if cond='data:post.snippet'><data:post.snippet/></b:if>
  1359. </div>
  1360. </div>
  1361.  
  1362. <div style='clear: both;'/>
  1363. </a>
  1364.  
  1365. <div class='mobile-index-comment'>
  1366. <b:if cond='data:blog.pageType != &quot;static_page&quot;'>
  1367. <b:if cond='data:post.allowComments'>
  1368. <b:if cond='data:post.numComments != 0'>
  1369. <b:include data='post' name='comment_count_picker'/>
  1370. </b:if>
  1371. </b:if>
  1372. </b:if>
  1373. </div>
  1374. </div>
  1375. </div>
  1376. </b:includable>
  1377. <b:includable id='mobile-main' var='top'>
  1378. <!-- posts -->
  1379. <div class='blog-posts hfeed'>
  1380.  
  1381. <b:include data='top' name='status-message'/>
  1382.  
  1383. <b:if cond='data:blog.pageType == &quot;index&quot;'>
  1384. <b:loop values='data:posts' var='post'>
  1385. <b:include data='post' name='mobile-index-post'/>
  1386. </b:loop>
  1387. <b:else/>
  1388. <b:loop values='data:posts' var='post'>
  1389. <b:include data='post' name='mobile-post'/>
  1390. </b:loop>
  1391. </b:if>
  1392. </div>
  1393.  
  1394. <b:include name='mobile-nextprev'/>
  1395. </b:includable>
  1396. <b:includable id='mobile-nextprev'>
  1397. <div class='blog-pager' id='blog-pager'>
  1398. <b:if cond='data:newerPageUrl'>
  1399. <div class='mobile-link-button' id='blog-pager-newer-link'>
  1400. <a class='blog-pager-newer-link' expr:href='data:newerPageUrl' expr:id='data:widget.instanceId + &quot;_blog-pager-newer-link&quot;' expr:title='data:newerPageTitle'>&amp;lsaquo;</a>
  1401. </div>
  1402. </b:if>
  1403.  
  1404. <b:if cond='data:olderPageUrl'>
  1405. <div class='mobile-link-button' id='blog-pager-older-link'>
  1406. <a class='blog-pager-older-link' expr:href='data:olderPageUrl' expr:id='data:widget.instanceId + &quot;_blog-pager-older-link&quot;' expr:title='data:olderPageTitle'>&amp;rsaquo;</a>
  1407. </div>
  1408. </b:if>
  1409.  
  1410. <div class='mobile-link-button' id='blog-pager-home-link'>
  1411. <a class='home-link' expr:href='data:blog.homepageUrl'><data:homeMsg/></a>
  1412. </div>
  1413.  
  1414. <div class='mobile-desktop-link'>
  1415. <a class='home-link' expr:href='data:desktopLinkUrl'><data:desktopLinkMsg/></a>
  1416. </div>
  1417.  
  1418. </div>
  1419. <div class='clear'/>
  1420. </b:includable>
  1421. <b:includable id='mobile-post' var='post'>
  1422. <div class='date-outer'>
  1423. <b:if cond='data:post.dateHeader'>
  1424. <h2 class='date-header'><span><data:post.dateHeader/></span></h2>
  1425. </b:if>
  1426. <div class='date-posts'>
  1427. <div class='post-outer'>
  1428.  
  1429. <div class='post hentry uncustomized-post-template' itemscope='itemscope' itemtype='http://schema.org/BlogPosting'>
  1430. <b:if cond='data:post.thumbnailUrl'>
  1431. <meta expr:content='data:post.thumbnailUrl' itemprop='image_url'/>
  1432. </b:if>
  1433. <meta expr:content='data:blog.blogId' itemprop='blogId'/>
  1434. <meta expr:content='data:post.id' itemprop='postId'/>
  1435.  
  1436. <a expr:name='data:post.id'/>
  1437. <b:if cond='data:post.title'>
  1438. <h3 class='post-title entry-title' itemprop='name'>
  1439. <b:if cond='data:post.link'>
  1440. <a expr:href='data:post.link'><data:post.title/></a>
  1441. <b:else/>
  1442. <b:if cond='data:post.url'>
  1443. <b:if cond='data:blog.url != data:post.url'>
  1444. <a expr:href='data:post.url'><data:post.title/></a>
  1445. <b:else/>
  1446. <data:post.title/>
  1447. </b:if>
  1448. <b:else/>
  1449. <data:post.title/>
  1450. </b:if>
  1451. </b:if>
  1452. </h3>
  1453. </b:if>
  1454.  
  1455. <div class='post-header'>
  1456. <div class='post-header-line-1'/>
  1457. </div>
  1458.  
  1459. <div class='post-body entry-content' expr:id='&quot;post-body-&quot; + data:post.id' itemprop='articleBody'>
  1460. <data:post.body/>
  1461. <div style='clear: both;'/> <!-- clear for photos floats -->
  1462. </div>
  1463.  
  1464. <div class='post-footer'>
  1465. <div class='post-footer-line post-footer-line-1'>
  1466. <span class='post-author vcard'>
  1467. <b:if cond='data:top.showAuthor'>
  1468. <b:if cond='data:post.authorProfileUrl'>
  1469. <span class='fn' itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'>
  1470. <meta expr:content='data:post.authorProfileUrl' itemprop='url'/>
  1471. <a expr:href='data:post.authorProfileUrl' rel='author' title='author profile'>
  1472. <span itemprop='name'><data:post.author/></span>
  1473. </a>
  1474. </span>
  1475. <b:else/>
  1476. <span class='fn' itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'>
  1477. <span itemprop='name'><data:post.author/></span>
  1478. </span>
  1479. </b:if>
  1480. </b:if>
  1481. </span>
  1482.  
  1483. <span class='post-timestamp'>
  1484. <b:if cond='data:top.showTimestamp'>
  1485. <data:top.timestampLabel/>
  1486. <b:if cond='data:post.url'>
  1487. <meta expr:content='data:post.canonicalUrl' itemprop='url'/>
  1488. <a class='timestamp-link' expr:href='data:post.url' rel='bookmark' title='permanent link'><abbr class='published' expr:title='data:post.timestampISO8601' itemprop='datePublished'><data:post.timestamp/></abbr></a>
  1489. </b:if>
  1490. </b:if>
  1491. </span>
  1492.  
  1493. <span class='post-comment-link'>
  1494. <b:if cond='data:blog.pageType != &quot;item&quot;'>
  1495. <b:if cond='data:blog.pageType != &quot;static_page&quot;'>
  1496. <b:if cond='data:post.allowComments'>
  1497. <b:include data='post' name='comment_count_picker'/>
  1498. </b:if>
  1499. </b:if>
  1500. </b:if>
  1501. </span>
  1502. </div>
  1503.  
  1504. <div class='post-footer-line post-footer-line-2'>
  1505. <b:if cond='data:top.showMobileShare'>
  1506. <div class='mobile-link-button goog-inline-block' id='mobile-share-button'>
  1507. <a href='javascript:void(0);'><data:shareMsg/></a>
  1508. </div>
  1509. </b:if>
  1510. <b:if cond='data:top.showDummy'>
  1511. <div class='goog-inline-block dummy-container'><data:post.dummyTag/></div>
  1512. </b:if>
  1513. </div>
  1514.  
  1515. </div>
  1516. </div>
  1517.  
  1518. <b:if cond='data:blog.pageType == &quot;static_page&quot;'>
  1519. <b:include data='post' name='comment_picker'/>
  1520. </b:if>
  1521. <b:if cond='data:blog.pageType == &quot;item&quot;'>
  1522. <b:include data='post' name='comment_picker'/>
  1523. </b:if>
  1524. </div>
  1525. </div>
  1526. </div>
  1527. </b:includable>
  1528. <b:includable id='nextprev'>
  1529. <div class='blog-pager' id='blog-pager'>
  1530. <b:if cond='data:newerPageUrl'>
  1531. <span id='blog-pager-newer-link'>
  1532. <a class='blog-pager-newer-link' expr:href='data:newerPageUrl' expr:id='data:widget.instanceId + &quot;_blog-pager-newer-link&quot;' expr:title='data:newerPageTitle'><data:newerPageTitle/></a>
  1533. </span>
  1534. </b:if>
  1535.  
  1536. <b:if cond='data:olderPageUrl'>
  1537. <span id='blog-pager-older-link'>
  1538. <a class='blog-pager-older-link' expr:href='data:olderPageUrl' expr:id='data:widget.instanceId + &quot;_blog-pager-older-link&quot;' expr:title='data:olderPageTitle'><data:olderPageTitle/></a>
  1539. </span>
  1540. </b:if>
  1541.  
  1542. <a class='home-link' expr:href='data:blog.homepageUrl'><data:homeMsg/></a>
  1543.  
  1544. <b:if cond='data:mobileLinkUrl'>
  1545. <div class='blog-mobile-link'>
  1546. <a expr:href='data:mobileLinkUrl'><data:mobileLinkMsg/></a>
  1547. </div>
  1548. </b:if>
  1549.  
  1550. </div>
  1551. <div class='clear'/>
  1552. </b:includable>
  1553. <b:includable id='post' var='post'>
  1554. <div class='post hentry' itemprop='blogPost' itemscope='itemscope' itemtype='http://schema.org/BlogPosting'>
  1555. <b:if cond='data:post.firstImageUrl'>
  1556. <meta expr:content='data:post.firstImageUrl' itemprop='image_url'/>
  1557. </b:if>
  1558. <meta expr:content='data:blog.blogId' itemprop='blogId'/>
  1559. <meta expr:content='data:post.id' itemprop='postId'/>
  1560.  
  1561. <a expr:name='data:post.id'/>
  1562. <b:if cond='data:post.title'>
  1563. <h3 class='post-title entry-title' itemprop='name'>
  1564. <b:if cond='data:post.link'>
  1565. <a expr:href='data:post.link'><data:post.title/></a>
  1566. <b:else/>
  1567. <b:if cond='data:post.url'>
  1568. <b:if cond='data:blog.url != data:post.url'>
  1569. <a expr:href='data:post.url'><data:post.title/></a>
  1570. <b:else/>
  1571. <data:post.title/>
  1572. </b:if>
  1573. <b:else/>
  1574. <data:post.title/>
  1575. </b:if>
  1576. </b:if>
  1577. </h3>
  1578. </b:if>
  1579.  
  1580. <div class='post-header'>
  1581. <div class='post-header-line-1'/>
  1582. </div>
  1583.  
  1584. <b:if cond='data:blog.metaDescription == &quot;&quot;'>
  1585. <!-- Then use the post body as the schema.org description,
  1586. for good G+/FB snippeting. -->
  1587. <div class='post-body entry-content' expr:id='&quot;post-body-&quot; + data:post.id' itemprop='description articleBody'>
  1588. <data:post.body/>
  1589. <div style='clear: both;'/> <!-- clear for photos floats -->
  1590. </div>
  1591. <b:else/>
  1592. <div class='post-body entry-content' expr:id='&quot;post-body-&quot; + data:post.id' itemprop='articleBody'>
  1593. <data:post.body/>
  1594. <div style='clear: both;'/> <!-- clear for photos floats -->
  1595. </div>
  1596. </b:if>
  1597.  
  1598. <b:if cond='data:post.hasJumpLink'>
  1599. <div class='jump-link'>
  1600. <a expr:href='data:post.url + &quot;#more&quot;' expr:title='data:post.title'><data:post.jumpText/></a>
  1601. </div>
  1602. </b:if>
  1603.  
  1604. <div class='post-footer'>
  1605. <div class='post-footer-line post-footer-line-1'><span class='post-author vcard'>
  1606. <b:if cond='data:top.showAuthor'>
  1607. <data:top.authorLabel/>
  1608. <b:if cond='data:post.authorProfileUrl'>
  1609. <span class='fn' itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'>
  1610. <meta expr:content='data:post.authorProfileUrl' itemprop='url'/>
  1611. <a expr:href='data:post.authorProfileUrl' rel='author' title='author profile'>
  1612. <span itemprop='name'><data:post.author/></span>
  1613. </a>
  1614. </span>
  1615. <b:else/>
  1616. <span class='fn' itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'>
  1617. <span itemprop='name'><data:post.author/></span>
  1618. </span>
  1619. </b:if>
  1620. </b:if>
  1621. </span> <span class='post-timestamp'>
  1622. <b:if cond='data:top.showTimestamp'>
  1623. <data:top.timestampLabel/>
  1624. <b:if cond='data:post.url'>
  1625. <meta expr:content='data:post.canonicalUrl' itemprop='url'/>
  1626. <a class='timestamp-link' expr:href='data:post.url' rel='bookmark' title='permanent link'><abbr class='published' expr:title='data:post.timestampISO8601' itemprop='datePublished'><data:post.timestamp/></abbr></a>
  1627. </b:if>
  1628. </b:if>
  1629. </span> <span class='post-comment-link'>
  1630. <b:if cond='data:blog.pageType != &quot;item&quot;'>
  1631. <b:if cond='data:blog.pageType != &quot;static_page&quot;'>
  1632. <b:if cond='data:post.allowComments'>
  1633. <b:include data='post' name='comment_count_picker'/>
  1634. </b:if>
  1635. </b:if>
  1636. </b:if>
  1637. </span> <span class='post-icons'>
  1638. <!-- email post links -->
  1639. <b:if cond='data:post.emailPostUrl'>
  1640. <span class='item-action'>
  1641. <a expr:href='data:post.emailPostUrl' expr:title='data:top.emailPostMsg'>
  1642. <img alt='' class='icon-action' height='13' src='http://img1.blogblog.com/img/icon18_email.gif' width='18'/>
  1643. </a>
  1644. </span>
  1645. </b:if>
  1646.  
  1647. <!-- quickedit pencil -->
  1648. <b:include data='post' name='postQuickEdit'/>
  1649. </span> <div class='post-share-buttons goog-inline-block'>
  1650. <b:if cond='data:post.sharePostUrl'>
  1651. <b:include data='post' name='shareButtons'/>
  1652. </b:if>
  1653. </div> <span class='post-backlinks post-comment-link'>
  1654. <b:if cond='data:blog.pageType != &quot;item&quot;'>
  1655. <b:if cond='data:blog.pageType != &quot;static_page&quot;'>
  1656. <b:if cond='data:post.showBacklinks'>
  1657. <a class='comment-link' expr:href='data:post.url + &quot;#links&quot;'><data:top.backlinkLabel/></a>
  1658. </b:if>
  1659. </b:if>
  1660. </b:if>
  1661. </span> </div>
  1662.  
  1663. <div class='post-footer-line post-footer-line-2'><span class='post-labels'>
  1664. <b:if cond='data:post.labels'>
  1665. <data:postLabelsLabel/>
  1666. <b:loop values='data:post.labels' var='label'>
  1667. <a expr:href='data:label.url' rel='tag'><data:label.name/></a><b:if cond='data:label.isLast != &quot;true&quot;'>,</b:if>
  1668. </b:loop>
  1669. </b:if>
  1670. </span> </div>
  1671.  
  1672. <div class='post-footer-line post-footer-line-3'><span class='reaction-buttons'>
  1673. <b:if cond='data:top.showReactions'>
  1674. <table border='0' cellpadding='0' cellspacing='0' width='100%'><tr>
  1675. <td class='reactions-label-cell' nowrap='nowrap' valign='top' width='1%'>
  1676. <span class='reactions-label'>
  1677. <data:top.reactionsLabel/></span>&#160;</td>
  1678. <td><iframe allowtransparency='true' class='reactions-iframe' expr:src='data:post.reactionsUrl' frameborder='0' name='reactions' scrolling='no'/></td>
  1679. </tr></table>
  1680. </b:if>
  1681. </span> <span class='post-location'>
  1682. <b:if cond='data:top.showLocation'>
  1683. <b:if cond='data:post.location'>
  1684. <data:postLocationLabel/>
  1685. <a expr:href='data:post.location.mapsUrl' target='_blank'><data:post.location.name/></a>
  1686. </b:if>
  1687. </b:if>
  1688. </span> </div>
  1689. </div>
  1690. </div>
  1691. </b:includable>
  1692. <b:includable id='postQuickEdit' var='post'>
  1693. <b:if cond='data:post.editUrl'>
  1694. <span expr:class='&quot;item-control &quot; + data:post.adminClass'>
  1695. <a expr:href='data:post.editUrl' expr:title='data:top.editPostMsg'>
  1696. <img alt='' class='icon-action' height='18' src='http://img2.blogblog.com/img/icon18_edit_allbkg.gif' width='18'/>
  1697. </a>
  1698. </span>
  1699. </b:if>
  1700. </b:includable>
  1701. <b:includable id='shareButtons' var='post'>
  1702. <b:if cond='data:top.showEmailButton'><a class='goog-inline-block share-button sb-email' expr:href='data:post.sharePostUrl + &quot;&amp;target=email&quot;' expr:title='data:top.emailThisMsg' target='_blank'><span class='share-button-link-text'><data:top.emailThisMsg/></span></a></b:if><b:if cond='data:top.showBlogThisButton'><a class='goog-inline-block share-button sb-blog' expr:href='data:post.sharePostUrl + &quot;&amp;target=blog&quot;' expr:onclick='&quot;window.open(this.href, \&quot;_blank\&quot;, \&quot;height=270,width=475\&quot;); return false;&quot;' expr:title='data:top.blogThisMsg' target='_blank'><span class='share-button-link-text'><data:top.blogThisMsg/></span></a></b:if><b:if cond='data:top.showTwitterButton'><a class='goog-inline-block share-button sb-twitter' expr:href='data:post.sharePostUrl + &quot;&amp;target=twitter&quot;' expr:title='data:top.shareToTwitterMsg' target='_blank'><span class='share-button-link-text'><data:top.shareToTwitterMsg/></span></a></b:if><b:if cond='data:top.showFacebookButton'><a class='goog-inline-block share-button sb-facebook' expr:href='data:post.sharePostUrl + &quot;&amp;target=facebook&quot;' expr:onclick='&quot;window.open(this.href, \&quot;_blank\&quot;, \&quot;height=430,width=640\&quot;); return false;&quot;' expr:title='data:top.shareToFacebookMsg' target='_blank'><span class='share-button-link-text'><data:top.shareToFacebookMsg/></span></a></b:if><b:if cond='data:top.showOrkutButton'><a class='goog-inline-block share-button sb-orkut' expr:href='data:post.sharePostUrl + &quot;&amp;target=orkut&quot;' expr:title='data:top.shareToOrkutMsg' target='_blank'><span class='share-button-link-text'><data:top.shareToOrkutMsg/></span></a></b:if><b:if cond='data:top.showDummy'><div class='goog-inline-block dummy-container'><data:post.dummyTag/></div></b:if>
  1703. </b:includable>
  1704. <b:includable id='status-message'>
  1705. <b:if cond='data:navMessage'>
  1706. <div class='status-msg-wrap'>
  1707. <div class='status-msg-body'>
  1708. <data:navMessage/>
  1709. </div>
  1710. <div class='status-msg-border'>
  1711. <div class='status-msg-bg'>
  1712. <div class='status-msg-hidden'><data:navMessage/></div>
  1713. </div>
  1714. </div>
  1715. </div>
  1716. <div style='clear: both;'/>
  1717. </b:if>
  1718. </b:includable>
  1719. <b:includable id='threaded-comment-form' var='post'>
  1720. <div class='comment-form'>
  1721. <a name='comment-form'/>
  1722. <b:if cond='data:mobile'>
  1723. <p><data:blogCommentMessage/></p>
  1724. <data:blogTeamBlogMessage/>
  1725. <a expr:href='data:post.commentFormIframeSrc' id='comment-editor-src'/>
  1726. <iframe allowtransparency='true' class='blogger-iframe-colorize blogger-comment-from-post' frameborder='0' height='410' id='comment-editor' name='comment-editor' src='' style='display: none' width='100%'/>
  1727. <b:else/>
  1728. <p><data:blogCommentMessage/></p>
  1729. <data:blogTeamBlogMessage/>
  1730. <a expr:href='data:post.commentFormIframeSrc' id='comment-editor-src'/>
  1731. <iframe allowtransparency='true' class='blogger-iframe-colorize blogger-comment-from-post' frameborder='0' height='410' id='comment-editor' name='comment-editor' src='' width='100%'/>
  1732. </b:if>
  1733. <data:post.friendConnectJs/>
  1734. <data:post.cmtfpIframe/>
  1735. <script type='text/javascript'>
  1736. BLOG_CMT_createIframe(&#39;<data:post.appRpcRelayPath/>&#39;, &#39;<data:post.communityId/>&#39;);
  1737. </script>
  1738. </div>
  1739. </b:includable>
  1740. <b:includable id='threaded_comment_js' var='post'>
  1741. <script async='async' expr:src='data:post.commentSrc' type='text/javascript'/>
  1742.  
  1743. <script type='text/javascript'>
  1744. (function() {
  1745. var items = <data:post.commentJso/>;
  1746. var msgs = <data:post.commentMsgs/>;
  1747. var config = <data:post.commentConfig/>;
  1748.  
  1749. // <![CDATA[
  1750. var cursor = null;
  1751. if (items && items.length > 0) {
  1752. cursor = parseInt(items[items.length - 1].timestamp) + 1;
  1753. }
  1754.  
  1755. var bodyFromEntry = function(entry) {
  1756. if (entry.gd$extendedProperty) {
  1757. for (var k in entry.gd$extendedProperty) {
  1758. if (entry.gd$extendedProperty[k].name == 'blogger.contentRemoved') {
  1759. return '<span class="deleted-comment">' + entry.content.$t + '</span>';
  1760. }
  1761. }
  1762. }
  1763. return entry.content.$t;
  1764. }
  1765.  
  1766. var parse = function(data) {
  1767. cursor = null;
  1768. var comments = [];
  1769. if (data && data.feed && data.feed.entry) {
  1770. for (var i = 0, entry; entry = data.feed.entry[i]; i++) {
  1771. var comment = {};
  1772. // comment ID, parsed out of the original id format
  1773. var id = /blog-(\d+).post-(\d+)/.exec(entry.id.$t);
  1774. comment.id = id ? id[2] : null;
  1775. comment.body = bodyFromEntry(entry);
  1776. comment.timestamp = Date.parse(entry.published.$t) + '';
  1777. if (entry.author && entry.author.constructor === Array) {
  1778. var auth = entry.author[0];
  1779. if (auth) {
  1780. comment.author = {
  1781. name: (auth.name ? auth.name.$t : undefined),
  1782. profileUrl: (auth.uri ? auth.uri.$t : undefined),
  1783. avatarUrl: (auth.gd$image ? auth.gd$image.src : undefined)
  1784. };
  1785. }
  1786. }
  1787. if (entry.link) {
  1788. if (entry.link[2]) {
  1789. comment.link = comment.permalink = entry.link[2].href;
  1790. }
  1791. if (entry.link[3]) {
  1792. var pid = /.*comments\/default\/(\d+)\?.*/.exec(entry.link[3].href);
  1793. if (pid && pid[1]) {
  1794. comment.parentId = pid[1];
  1795. }
  1796. }
  1797. }
  1798. comment.deleteclass = 'item-control blog-admin';
  1799. if (entry.gd$extendedProperty) {
  1800. for (var k in entry.gd$extendedProperty) {
  1801. if (entry.gd$extendedProperty[k].name == 'blogger.itemClass') {
  1802. comment.deleteclass += ' ' + entry.gd$extendedProperty[k].value;
  1803. } else if (entry.gd$extendedProperty[k].name == 'blogger.displayTime') {
  1804. comment.displayTime = entry.gd$extendedProperty[k].value;
  1805. }
  1806. }
  1807. }
  1808. comments.push(comment);
  1809. }
  1810. }
  1811. return comments;
  1812. };
  1813.  
  1814. var paginator = function(callback) {
  1815. if (hasMore()) {
  1816. var url = config.feed + '?alt=json&v=2&orderby=published&reverse=false&max-results=50';
  1817. if (cursor) {
  1818. url += '&published-min=' + new Date(cursor).toISOString();
  1819. }
  1820. window.bloggercomments = function(data) {
  1821. var parsed = parse(data);
  1822. cursor = parsed.length < 50 ? null
  1823. : parseInt(parsed[parsed.length - 1].timestamp) + 1
  1824. callback(parsed);
  1825. window.bloggercomments = null;
  1826. }
  1827. url += '&callback=bloggercomments';
  1828. var script = document.createElement('script');
  1829. script.type = 'text/javascript';
  1830. script.src = url;
  1831. document.getElementsByTagName('head')[0].appendChild(script);
  1832. }
  1833. };
  1834. var hasMore = function() {
  1835. return !!cursor;
  1836. };
  1837. var getMeta = function(key, comment) {
  1838. if ('iswriter' == key) {
  1839. var matches = !!comment.author
  1840. && comment.author.name == config.authorName
  1841. && comment.author.profileUrl == config.authorUrl;
  1842. return matches ? 'true' : '';
  1843. } else if ('deletelink' == key) {
  1844. return config.baseUri + '/delete-comment.g?blogID='
  1845. + config.blogId + '&postID=' + comment.id;
  1846. } else if ('deleteclass' == key) {
  1847. return comment.deleteclass;
  1848. }
  1849. return '';
  1850. };
  1851.  
  1852. var replybox = null;
  1853. var replyUrlParts = null;
  1854. var replyParent = undefined;
  1855.  
  1856. var onReply = function(commentId, domId) {
  1857. if (replybox == null) {
  1858. // lazily cache replybox, and adjust to suit this style:
  1859. replybox = document.getElementById('comment-editor');
  1860. if (replybox != null) {
  1861. replybox.height = '250px';
  1862. replybox.style.display = 'block';
  1863. replyUrlParts = replybox.src.split('#');
  1864. }
  1865. }
  1866. if (replybox && (commentId !== replyParent)) {
  1867. document.getElementById(domId).insertBefore(replybox, null);
  1868. replybox.src = replyUrlParts[0]
  1869. + (commentId ? '&parentID=' + commentId : '')
  1870. + '#' + replyUrlParts[1];
  1871. replyParent = commentId;
  1872. }
  1873. };
  1874.  
  1875. var hash = (window.location.hash || '#').substring(1);
  1876. var startThread, targetComment;
  1877. if (/^comment-form_/.test(hash)) {
  1878. startThread = hash.substring('comment-form_'.length);
  1879. } else if (/^c[0-9]+$/.test(hash)) {
  1880. targetComment = hash.substring(1);
  1881. }
  1882.  
  1883. // Configure commenting API:
  1884. var configJso = {
  1885. 'maxDepth': config.maxThreadDepth
  1886. };
  1887. var provider = {
  1888. 'id': config.postId,
  1889. 'data': items,
  1890. 'loadNext': paginator,
  1891. 'hasMore': hasMore,
  1892. 'getMeta': getMeta,
  1893. 'onReply': onReply,
  1894. 'rendered': true,
  1895. 'initComment': targetComment,
  1896. 'initReplyThread': startThread,
  1897. 'config': configJso,
  1898. 'messages': msgs
  1899. };
  1900.  
  1901. var render = function() {
  1902. if (window.goog && window.goog.comments) {
  1903. var holder = document.getElementById('comment-holder');
  1904. window.goog.comments.render(holder, provider);
  1905. }
  1906. };
  1907.  
  1908. // render now, or queue to render when library loads:
  1909. if (window.goog && window.goog.comments) {
  1910. render();
  1911. } else {
  1912. window.goog = window.goog || {};
  1913. window.goog.comments = window.goog.comments || {};
  1914. window.goog.comments.loadQueue = window.goog.comments.loadQueue || [];
  1915. window.goog.comments.loadQueue.push(render);
  1916. }
  1917. })();
  1918. // ]]>
  1919. </script>
  1920. </b:includable>
  1921. <b:includable id='threaded_comments' var='post'>
  1922. <div class='comments' id='comments'>
  1923. <a name='comments'/>
  1924. <h4><data:post.commentLabelFull/>:</h4>
  1925.  
  1926. <div class='comments-content'>
  1927. <b:if cond='data:post.embedCommentForm'>
  1928. <b:include data='post' name='threaded_comment_js'/>
  1929. </b:if>
  1930. <div id='comment-holder'>
  1931. <data:post.commentHtml/>
  1932. </div>
  1933. </div>
  1934.  
  1935. <p class='comment-footer'>
  1936. <b:if cond='data:post.allowNewComments'>
  1937. <b:include data='post' name='threaded-comment-form'/>
  1938. <b:else/>
  1939. <data:post.noNewCommentsText/>
  1940. </b:if>
  1941. </p>
  1942.  
  1943. <b:if cond='data:showCmtPopup'>
  1944. <div id='comment-popup'>
  1945. <iframe allowtransparency='true' frameborder='0' id='comment-actions' name='comment-actions' scrolling='no'>
  1946. </iframe>
  1947. </div>
  1948. </b:if>
  1949.  
  1950. <div id='backlinks-container'>
  1951. <div expr:id='data:widget.instanceId + &quot;_backlinks-container&quot;'>
  1952. <b:if cond='data:post.showBacklinks'>
  1953. <b:include data='post' name='backlinks'/>
  1954. </b:if>
  1955. </div>
  1956. </div>
  1957. </div>
  1958. </b:includable>
  1959. </b:widget>
  1960. <b:widget id='Header1' locked='true' title='El blog de Rolo Tortu (cabecera)' type='Header'>
  1961. <b:includable id='main'>
  1962.  
  1963. <b:if cond='data:useImage'>
  1964. <b:if cond='data:imagePlacement == &quot;BEHIND&quot;'>
  1965. <!--
  1966. Show image as background to text. You can't really calculate the width
  1967. reliably in JS because margins are not taken into account by any of
  1968. clientWidth, offsetWidth or scrollWidth, so we don't force a minimum
  1969. width if the user is using shrink to fit.
  1970. This results in a margin-width's worth of pixels being cropped. If the
  1971. user is not using shrink to fit then we expand the header.
  1972. -->
  1973. <b:if cond='data:mobile'>
  1974. <div id='header-inner'>
  1975. <div class='titlewrapper' style='background: transparent'>
  1976. <h1 class='title' style='background: transparent; border-width: 0px'>
  1977. <b:include name='title'/>
  1978. </h1>
  1979. </div>
  1980. <b:include name='description'/>
  1981. </div>
  1982. <b:else/>
  1983. <div expr:style='&quot;background-image: url(\&quot;&quot; + data:sourceUrl + &quot;\&quot;); &quot; + &quot;background-position: &quot; + data:backgroundPositionStyleStr + &quot;; &quot; + data:widthStyleStr + &quot;min-height: &quot; + data:height + &quot;_height: &quot; + data:height + &quot;background-repeat: no-repeat; &quot;' id='header-inner'>
  1984. <div class='titlewrapper' style='background: transparent'>
  1985. <h1 class='title' style='background: transparent; border-width: 0px'>
  1986. <b:include name='title'/>
  1987. </h1>
  1988. </div>
  1989. <b:include name='description'/>
  1990. </div>
  1991. </b:if>
  1992. <b:else/>
  1993. <!--Show the image only-->
  1994. <div id='header-inner'>
  1995. <a expr:href='data:blog.homepageUrl' style='display: block'>
  1996. <img expr:alt='data:title' expr:height='data:height' expr:id='data:widget.instanceId + &quot;_headerimg&quot;' expr:src='data:sourceUrl' expr:width='data:width' style='display: block'/>
  1997. </a>
  1998. <!--Show the description-->
  1999. <b:if cond='data:imagePlacement == &quot;BEFORE_DESCRIPTION&quot;'>
  2000. <b:include name='description'/>
  2001. </b:if>
  2002. </div>
  2003. </b:if>
  2004. <b:else/>
  2005. <!--No header image -->
  2006. <div id='header-inner'>
  2007. <div class='titlewrapper'>
  2008. <h1 class='title'>
  2009. <b:include name='title'/>
  2010. </h1>
  2011. </div>
  2012. <b:include name='description'/>
  2013. </div>
  2014. </b:if>
  2015. </b:includable>
  2016. <b:includable id='description'>
  2017. <div class='descriptionwrapper'>
  2018. <p class='description'><span><data:description/></span></p>
  2019. </div>
  2020. </b:includable>
  2021. <b:includable id='title'>
  2022. <b:if cond='data:blog.url == data:blog.homepageUrl'>
  2023. <data:title/>
  2024. <b:else/>
  2025. <a expr:href='data:blog.homepageUrl'><data:title/></a>
  2026. </b:if>
  2027. </b:includable>
  2028. </b:widget>
  2029. <b:widget id='Profile1' locked='false' title='About Me' type='Profile'>
  2030. <b:includable id='main'>
  2031. <b:if cond='data:title != &quot;&quot;'>
  2032. <h2><data:title/></h2>
  2033. </b:if>
  2034. <div class='widget-content'>
  2035. <b:if cond='data:team == &quot;true&quot;'> <!-- team blog profile -->
  2036. <ul>
  2037. <b:loop values='data:authors' var='i'>
  2038. <li><a class='profile-name-link g-profile' expr:href='data:i.userUrl' expr:style='&quot;background-image: url(&quot; + data:i.profileLogo + &quot;);&quot;'><data:i.display-name/></a></li>
  2039. </b:loop>
  2040. </ul>
  2041.  
  2042. <b:else/> <!-- normal blog profile -->
  2043.  
  2044. <b:if cond='data:photo.url != &quot;&quot;'>
  2045. <a expr:href='data:userUrl'><img class='profile-img' expr:alt='data:photo.alt' expr:height='data:photo.height' expr:src='data:photo.url' expr:width='data:photo.width'/></a>
  2046. </b:if>
  2047.  
  2048. <dl class='profile-datablock'>
  2049. <dt class='profile-data'>
  2050. <a class='profile-name-link g-profile' expr:href='data:userUrl' expr:style='&quot;background-image: url(&quot; + data:profileLogo + &quot;);&quot;' rel='author'>
  2051. <data:displayname/>
  2052. </a>
  2053. <b:if cond='data:hasgoogleprofile'>
  2054. <br/>
  2055. <div class='g-plus' data-action='follow' data-width='100' expr:data-href='data:userUrl'/>
  2056. </b:if>
  2057. </dt>
  2058.  
  2059. <b:if cond='data:showlocation == &quot;true&quot;'>
  2060. <dd class='profile-data'><data:location/></dd>
  2061. </b:if>
  2062.  
  2063. <b:if cond='data:aboutme != &quot;&quot;'><dd class='profile-textblock'><data:aboutme/></dd></b:if>
  2064. </dl>
  2065. <a class='profile-link' expr:href='data:userUrl' rel='author'><data:viewProfileMsg/></a>
  2066. </b:if>
  2067.  
  2068. <b:include name='quickedit'/>
  2069. </div>
  2070. </b:includable>
  2071. </b:widget>
  2072. <b:widget id='Navbar1' locked='true' title='Barra de navegación' type='Navbar'>
  2073. <b:includable id='main'>&lt;script type=&quot;text/javascript&quot;&gt;
  2074. function setAttributeOnload(object, attribute, val) {
  2075. if(window.addEventListener) {
  2076. window.addEventListener(&#39;load&#39;,
  2077. function(){ object[attribute] = val; }, false);
  2078. } else {
  2079. window.attachEvent(&#39;onload&#39;, function(){ object[attribute] = val; });
  2080. }
  2081. }
  2082. &lt;/script&gt;
  2083. &lt;div id=&quot;navbar-iframe-container&quot;&gt;&lt;/div&gt;
  2084. &lt;script type=&quot;text/javascript&quot; src=&quot;https://apis.google.com/js/plusone.js&quot;&gt;&lt;/script&gt;
  2085. &lt;script type=&quot;text/javascript&quot;&gt;
  2086. gapi.load(&quot;gapi.iframes:gapi.iframes.style.bubble&quot;, function() {
  2087. if (gapi.iframes &amp;&amp; gapi.iframes.getContext) {
  2088. gapi.iframes.getContext().openChild({
  2089. url: &#39;https://www.blogger.com/navbar.g?targetBlogID\75864033943096749904\46blogName\75El+blog+de+Rolo+Tortu\46publishMode\75PUBLISH_MODE_HOSTED\46navbarType\75LIGHT\46layoutType\75LAYOUTS\46searchRoot\75http://www.tortulandia.hol.es/search\46blogLocale\75es\46v\0752\46homepageUrl\75http://www.tortulandia.hol.es/\46blogFollowUrl\75https://plus.google.com/112198993032717475891\46vt\75-5846070261672755721&#39;,
  2090. where: document.getElementById(&quot;navbar-iframe-container&quot;),
  2091. id: &quot;navbar-iframe&quot;
  2092. });
  2093. }
  2094. });
  2095. &lt;/script&gt;&lt;script type=&quot;text/javascript&quot;&gt;
  2096. (function() {
  2097. var script = document.createElement(&#39;script&#39;);
  2098. script.type = &#39;text/javascript&#39;;
  2099. script.src = &#39;//pagead2.googlesyndication.com/pagead/js/google_top_exp.js&#39;;
  2100. var head = document.getElementsByTagName(&#39;head&#39;)[0];
  2101. if (head) {
  2102. head.appendChild(script);
  2103. }})();
  2104. &lt;/script&gt;
  2105. </b:includable>
  2106. </b:widget>
  2107. <b:widget id='Attribution1' locked='true' title='' type='Attribution'>
  2108. <b:includable id='main'>
  2109. <b:if cond='data:feedbackSurveyLink'>
  2110. <div class='mobile-survey-link' style='text-align: center;'>
  2111. <data:feedbackSurveyLink/>
  2112. </div>
  2113. </b:if>
  2114.  
  2115. <div class='widget-content' style='text-align: center;'>
  2116. <b:if cond='data:attribution != &quot;&quot;'>
  2117. <data:attribution/>
  2118. </b:if>
  2119. </div>
  2120.  
  2121. <b:include name='quickedit'/>
  2122. </b:includable>
  2123. </b:widget>
  2124. <b:widget id='BlogArchive1' locked='false' title='Blog Archive' type='BlogArchive'>
  2125. <b:includable id='main'>
  2126. <b:if cond='data:title'>
  2127. <h2><data:title/></h2>
  2128. </b:if>
  2129. <div class='widget-content'>
  2130. <div id='ArchiveList'>
  2131. <div expr:id='data:widget.instanceId + &quot;_ArchiveList&quot;'>
  2132. <b:if cond='data:style == &quot;HIERARCHY&quot;'>
  2133. <b:include data='data' name='interval'/>
  2134. </b:if>
  2135. <b:if cond='data:style == &quot;FLAT&quot;'>
  2136. <b:include data='data' name='flat'/>
  2137. </b:if>
  2138. <b:if cond='data:style == &quot;MENU&quot;'>
  2139. <b:include data='data' name='menu'/>
  2140. </b:if>
  2141. </div>
  2142. </div>
  2143. <b:include name='quickedit'/>
  2144. </div>
  2145. </b:includable>
  2146. <b:includable id='flat' var='data'>
  2147. <ul class='flat'>
  2148. <b:loop values='data:data' var='i'>
  2149. <li class='archivedate'>
  2150. <a expr:href='data:i.url'><data:i.name/></a> (<data:i.post-count/>)
  2151. </li>
  2152. </b:loop>
  2153. </ul>
  2154. </b:includable>
  2155. <b:includable id='interval' var='intervalData'>
  2156. <b:loop values='data:intervalData' var='i'>
  2157. <ul class='hierarchy'>
  2158. <li expr:class='&quot;archivedate &quot; + data:i.expclass'>
  2159. <b:include data='i' name='toggle'/>
  2160. <a class='post-count-link' expr:href='data:i.url'><data:i.name/></a>
  2161. <span class='post-count' dir='ltr'>(<data:i.post-count/>)</span>
  2162. <b:if cond='data:i.data'>
  2163. <b:include data='i.data' name='interval'/>
  2164. </b:if>
  2165. <b:if cond='data:i.posts'>
  2166. <b:include data='i.posts' name='posts'/>
  2167. </b:if>
  2168. </li>
  2169. </ul>
  2170. </b:loop>
  2171. </b:includable>
  2172. <b:includable id='menu' var='data'>
  2173. <select expr:id='data:widget.instanceId + &quot;_ArchiveMenu&quot;'>
  2174. <option value=''><data:title/></option>
  2175. <b:loop values='data:data' var='i'>
  2176. <option expr:value='data:i.url'><data:i.name/> (<data:i.post-count/>)</option>
  2177. </b:loop>
  2178. </select>
  2179. </b:includable>
  2180. <b:includable id='posts' var='posts'>
  2181. <ul class='posts'>
  2182. <b:loop values='data:posts' var='i'>
  2183. <li><a expr:href='data:i.url'><data:i.title/></a></li>
  2184. </b:loop>
  2185. </ul>
  2186. </b:includable>
  2187. <b:includable id='toggle' var='interval'>
  2188. <b:if cond='data:interval.toggleId'>
  2189. <b:if cond='data:interval.expclass == &quot;expanded&quot;'>
  2190. <a class='toggle' href='javascript:void(0)'>
  2191. <span class='zippy toggle-open'>&#9660;&#160;</span>
  2192. </a>
  2193. <b:else/>
  2194. <a class='toggle' href='javascript:void(0)'>
  2195. <span class='zippy'>
  2196. <b:if cond='data:blog.languageDirection == &quot;rtl&quot;'>
  2197. &#9668;&#160;
  2198. <b:else/>
  2199. &#9658;&#160;
  2200. </b:if>
  2201. </span>
  2202. </a>
  2203. </b:if>
  2204. </b:if>
  2205. </b:includable>
  2206. </b:widget>
  2207. </b:section>
  2208.  
  2209. </body>
  2210. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement