var zr = { init : function() { var cn = 'zooclubRating', cv; if(cv = this.cookie.getCookie(cn)) { return cv; } else { var cv = this.rnd(32); this.cookie.setCookie(cn, cv); return cv; } }, // генерит случайную строку длиной strLen rnd : function(strLen) { var s= ''; var randomChar = function() { var n = Math.floor(Math.random() * 62); if(n < 10) return n; //1-10 if(n < 36) return String.fromCharCode(n + 55); //A-Z return String.fromCharCode(n + 61); //a-z }; while(s.length < strLen) s += randomChar(); return s; }, cookie : { //возвращает cookie если есть или undefined getCookie : function (name) { var matches = document.cookie.match(new RegExp("(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)")); return matches ? decodeURIComponent(matches[1]) : undefined; }, // удаляет cookie deleteCookie : function (name) { setCookie( name, null, { expires: -1 } ); }, // уcтанавливает cookie setCookie : function (name, value, props) { props = props || {} var exp = props.expires; if (typeof exp == "number" && exp) { var d = new Date(); d.setTime(d.getTime() + exp*1000); exp = props.expires = d; } if(exp && exp.toUTCString) { props.expires = exp.toUTCString(); } value = encodeURIComponent(value); var updatedCookie = name + "=" + value; for(var propName in props) { updatedCookie += "; " + propName; var propValue = props[propName]; if(propValue !== true) { updatedCookie += "=" + propValue; } } document.cookie = updatedCookie; } } }; var s = zr.init(); var qs = '1&325&' + s; document.write( '
' );