$B64 = function(str) { return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, function toSolidBytes(match, p1) { return String.fromCharCode('0x' + p1); })); } $.fn.to_em_raw = function(settings){ settings = jQuery.extend({ scope: 'body' }, settings); var that = parseInt(this[0]||"0",10), scopeTest = jQuery('
 
').appendTo(settings.scope), scopeVal = scopeTest.height(); scopeTest.remove(); return (that / scopeVal).toFixed(8); }; $.fn.to_em = function(settings){ return $(this[0]).to_em_raw(settings) + 'em'; }; $.fn.get_val = function () { if ($(this).is('input') || $(this).is('select') || $(this).is('textarea')) { return $(this).val(); } else { var ret = $(this).html().replace(/
/g,'').replace(/<\/div>/g,'\n').replace(//g,'\n').replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>').replace(/"/g,'"').replace(/'/g,'\'').trim(); if (ret == '') $(this).empty(); return ret; } }; $.fn.set_val = function (val) { if ($(this).is('input') || $(this).is('select') || $(this).is('textarea')) { $(this).val(val); } else { $(this).text(val); } }; $.fn.serializePrettyXML = function () { return vkbeautify.xml(this.serializeXML(),' '); }; $.fn.serializeXML = function () { var out = ''; if (typeof XMLSerializer == 'function') { var xs = new XMLSerializer(); this.each(function() { out += xs.serializeToString(this); }); } else if (this[0] && this[0].xml != 'undefined') { this.each(function() { out += this.xml; }); } return out; }; String.prototype.repeat = function(num) { return new Array(num + 1).join(this); }; String.prototype.unserialize = function() { var data = this.split("&"); var ret = new Array(); $.each(data, function(){ var properties = this.split("="); ret.push([properties[0], properties[1]]); }); return ret; }; $XR = function(xmlstr) { if (typeof xmlstr == "string") { return $.parseXML(xmlstr); } else { return $(xmlstr.ownerDocument || xmlstr); } }; $X = function(xmlstr) { return $($.parseXML(xmlstr).documentElement); };