﻿
jQuery.cookie=function(name,value,options){if(typeof value!="undefined"){options=options||{};if(value===null){value="";options.expires=-1;}
var expires="";if(options.expires&&(typeof options.expires=="number"||options.expires.toUTCString)){var date;if(typeof options.expires=="number"){date=new Date;date.setTime(date.getTime()+options.expires*24*60*60*1000);}else{date=options.expires;}
expires="; expires="+date.toUTCString();}
var path=options.path?"; path="+options.path:"";var domain=options.domain?"; domain="+options.domain:"";var secure=options.secure?"; secure":"";document.cookie=[name,"=",encodeURIComponent(value),expires,path,domain,secure].join("");}else{var cookieValue=null;if(document.cookie&&document.cookie!=""){var cookies=document.cookie.split(";");for(var i=0;i<cookies.length;i++){var cookie=jQuery.trim(cookies[i]);if(cookie.substring(0,name.length+1)==name+"="){cookieValue=decodeURIComponent(cookie.substring(name.length+1));break;}}}
return cookieValue;}};(function($){$.fn.pureJSTemplate=function(options){var tplID=options.id;var input=options.data;var tplObj=tplMap[tplID];if(!tplObj){var tpl='';$.ajax({url:tplID,contentType:"text/html; charset=utf-8",async:false,cache:true,success:function(code)
{tpl=code;}});var leftjs=String.fromCharCode(21);var leftjsout=leftjs+"=";tpl=tpl.replace(replaceLeft,left+leftjs);var tplSplit=tpl.split(regexLeftRight);var js="var data=arguments[0];  var output=''; var ld='"+left+"'; var rd='"+right+"'; ";for(var i=0;i<tplSplit.length;i++){var line=tplSplit[i];if(stringStartsWith(line,leftjsout)){js+=" output+="+line.substring(leftjsout.length)+"; ";}
else if(stringStartsWith(line,leftjs)){js+=" "+line.substring(leftjs.length)+" ";}
else{js+=" output+='"+line.replace(replaceSingleQuote,"\\'").replace(replaceLineBreak,' ')+"'; ";}}
js+=" return output;";tplObj=new Function(js);tplMap[tplID]=tplObj;}
if(this.length)
{this.html(tplObj(input));return this;}
else
{return tplObj(input);}}
var tplMap={};var left="<#";var right="#>";var escapedLeft="<#";var escapedRight="#>";var specials=['$','^','?','/','.','*','+','?','|','(',')','[',']','{','}','\\'];var escapeRegex=new RegExp('(\\'+specials.join('|\\')+')','g');var replaceLeft=new RegExp(escapedLeft,"g");var regexLeftRight=new RegExp(escapedLeft+"|"+escapedRight,"g");var replaceSingleQuote=new RegExp("'","g");var replaceLineBreak=new RegExp("\\r|\\n","g");$.fn.pureJSTemplate.setDelimiters=function(l,r){if(l!=r){left=l;escapedLeft=left.replace(escapeRegex,'\\$1');replaceLeft=new RegExp(escapedLeft,"g");right=r;escapedRight=right.replace(escapeRegex,'\\$1');regexLeftRight=new RegExp(escapedLeft+"|"+escapedRight,"g");}}
function stringStartsWith(str,startsWith){return str.substring(0,startsWith.length)==startsWith;}})(jQuery);
