//preload all images
function onLoadTasks(){
	//checkSchoolMenu();
	//Shadowbox.init();
	do_hovers();
}
function preload(){
	var images = document.getElementsByTagName('img');
    var preload_images = Array();
    for (var i=0; i< images.length; i++) {
        images[i].over_src = images[i].src;
        //alert(images[i].over_src);
        preload_images[i] = images[i].over_src;
    }
    //preload the images
    document.preloaded_images = Array();
    //alert(preload_images.length);
    for (var i=0; i<preload_images.length; i++) {
          document.preloaded_images[i] = new Image;
          document.preloaded_images[i].src = preload_images[i];
          //alert(document.preloaded_images[i].src);
    }
}

function clear_cookie(){
	var mydate = new Date();
	mydate.setTime(mydate.getTime() - 1);
	document.cookie = "TreeMenuBranchStatus=; expires=" + mydate.toGMTString();
	//location.reload(true);
	location.reload();
	//location.href(location.href);
}
function do_hovers() {
      //This function takes care of preloading and setting mouse events
      if (document.getElementsByTagName) {
            var images = document.getElementsByTagName('img');
            var preload_images = Array();
            for (var i=0; i< images.length; i++) {
                  if (images[i].className == 'rollover') {
                        cur_src = images[i].src;
                        images[i].off_src = cur_src;
                        images[i].over_src = cur_src.replace(/_inactive/g, '_active');
                        //alert(images[i].over_src);
                        preload_images[i] = images[i].over_src;
                        images[i].onmouseover = function() { this.src = this.over_src; };
                        images[i].onmouseout = function() { this.src = this.off_src; };
                  }
            }
            //preload the images
            document.preloaded_images = Array();
            for (var i=0; i<preload_images.length; i++) {
                  document.preloaded_images[i] = new Image;
                  document.preloaded_images[i].src = preload_images[i];
            }
      }
}

//SCHOOL_PAGES STAR ROLLOVERS

Rollimage = new Array();

Rollimage[0]= new Image(121,153);
Rollimage[0].src = "/images/buttons/star.gif";

Rollimage[1] = new Image(121,153);
Rollimage[1].src = "/images/buttons/star-over.gif";

function SwapOut(id){
	id = id + 1;
	for(var i=1; i < id; i++){
		var star_src = document.getElementById('star' + i);
		star_src.src = Rollimage[1].src;
	}
}
function SwapBack(id){
	id = id + 1;
	for(var i=1; i < id; i++){
		var star_src = document.getElementById('star' + i);
		star_src.src = Rollimage[0].src;
	}
}

//AJAX FUNCTIONS

function suggest_search_name(user_id, page)
{
	var search = document.getElementById('words').value;
	if(search == ''){
		document.getElementById('suggest_name_response').innerHTML = '';
	}else{
		getContent('/includes/ajax/suggest.name.php?search=' + search + '&user_id=' + user_id + '&page=' + page, 'suggest_name_response', 1);
	}
}
function suggest_search_city()
{
	var search = document.getElementById('city').value;
	if(search == ''){
		document.getElementById('suggest_city_response').innerHTML = '';
	}else{
		getContent('/includes/ajax/suggest.city.php?search=' + search, 'suggest_city_response', 1);
	}
}

/* bof image functions */
function onUploadComplete(table, id, action, temp_key){
	getContent('/includes/ajax/get_images.php?table=' + table + '&id=' + id + '&action=' + action + '&temp_key=' + temp_key, 'imageUploadComplete', 1);
}
function changePageImage(table, id, image_id, school_id, owner_id){
	getContent('/includes/ajax/school_pages_default_image.php?table=' + table + '&id=' + id + '&image_id=' + image_id + '&school_id=' + school_id + '&owner_id=' + owner_id, 'default_image', 1);
}
function imageAdmin(owner_id, school_id, page_id, image_id){
	getContent('/includes/ajax/school_pages_image_admin.php?owner_id=' + owner_id + '&school_id=' + school_id + '&page_id=' + page_id + '&image_id=' + image_id, 'image_admin', 0);
}
function updateImageCounter(image_number, image_total){
	getContent('/includes/ajax/school_pages_image_counter.php?school_id=' + school_id + '&image_total=' + image_total, 'image_counter', 0);
}
function loadSchoolImageThumbnails(table, id, school_id, owner_id, position){
	getContent('/includes/ajax/school_pages_thumbnails.php?table=' + table + '&id=' + id + '&school_id=' + school_id + '&owner_id=' + owner_id + '&position=' + position, 'thumbnails', 1);
}
function nextImage(table, id, image_id, school_id, owner_id, action){
	getContent('/includes/ajax/school_pages_default_image.php?table=' + table + '&id=' + id + '&image_id=' + image_id + '&school_id=' + school_id + '&owner_id=' + owner_id + '&action=' + action, 'default_image', 1);
}
function setDefaultImage(id, image_id, school_id, owner_id){
	getContent('/includes/ajax/school_pages_set_default_image.php?id=' + id + '&image_id=' + image_id + '&school_id=' + school_id + '&owner_id=' + owner_id, 'image_admin', 1);
}
/* eof image functions */

/* bof rating functions */
function storeRatingSchools(rating, page_id){
	getContent('/includes/ajax/school_pages_rating.php?page_id=' + page_id + '&rating=' + rating, 'rating_response', 1); 
}
function refreshRatingSchools(page_id){
	getContent('/includes/ajax/school_pages_update_rating.php?page_id=' + page_id, 'rating', 1);
}
function storeRatingAnswers(rating, response_id){
	getContent('/includes/ajax/answers_rating.php?response_id=' + response_id + '&rating=' + rating, 'rating_response_' + response_id, 1); 
}
function refreshRatingAnswers(response_id){
	getContent('/includes/ajax/answers_update_rating.php?response_id=' + response_id, 'rating_' + response_id, 1);
}
function storeRatingYoutube(rating, response_id){
	getContent('/includes/ajax/youtube_rating.php?response_id=' + response_id + '&rating=' + rating, 'rating_response', 1); 
}
function refreshRatingYoutube(response_id){
	getContent('/includes/ajax/youtube_update_rating.php?response_id=' + response_id, 'rating', 1);
}
/* eof rating functions */

/* bof menu display functions */
function updateMenuDisplay(school_id, section_id, display){
	getContent('/includes/ajax/school_menu.php?school_id=' + school_id + '&section_id=' + section_id + '&display=' + display, 'navResponse', 0);
}
/* eof menu display functions */

function getSchoolPages(table, school_id, catID){
	getContent('/includes/ajax/school_pages_list.php?table=' + table + '&school_id=' + school_id + '&cat_id=' + catID, 'schoolPages', 0);
}

/*bof click tracking */
function trackClick(words, school_id, page_id){
	getContent('/includes/ajax/track_click.php?words=' + words + '&school_id=' + school_id + '&page_id=' + page_id, 'debugClick', 0);
}
/* eof click tracking */

/*bof profile menu*/
function updateContributions(section, entry_id, user_id, action){
	getContent('/includes/ajax/update_contributions.php?section=' + section + '&entry_id=' + entry_id + '&user_id=' + user_id + '&action=' + action, 'contributions', 1);
}
/*eof profile menu*/
/*bof registration*/
function showMoreReg(choice)
{
	if(choice == 1 || choice == 2){
		document.getElementById('show_school_wrap').style.display = 'block';
		getContent('/includes/ajax/reg_find_school.php', 'reg_suggest_name_response', 1);
	}else{
		document.getElementById('show_school_wrap').style.display = 'none';
		document.reg_form.email.value = '';
	}
}
function loadSchoolNameReg(name, id){
	if(document.reg_form.role.options[document.reg_form.role.selectedIndex].value == 1){
		if(document.reg_form.email.value == ''){
			document.reg_form.email.value = 'make sure to use your ".edu" address';
		}
		getContent('/includes/ajax/reg_show_school.php?school=' + name + '&school_id=' + id, 'reg_suggest_name_response', 1);
	}else{
		getContent('/includes/ajax/reg_show_school.php?school=' + name + '&school_id=' + id, 'reg_suggest_name_response', 1);
	}
}
/*bof registration*/

function getHTTPObject()
{
  var xmlhttp;
  /*@cc_on
  @if (@_jscript_version >= 5)
	try {
	  xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
	  try {
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	  } catch (E) {
		xmlhttp = false;
	  }
	}
  @else
  xmlhttp = false;
  @end @*/
  if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
	try {
	  xmlhttp = new XMLHttpRequest();
	} catch (e) {
	  xmlhttp = false;
	}
  }
  return xmlhttp;
}

function getContent(url,location,showLoader) {
	//add ajax loader
	if(showLoader){
		document.getElementById(location).innerHTML = '<img src="/images/icons/ajax-loader.gif" styles="vertical-align: middle">';
	}
	xObj = false;
	xObj = getHTTPObject();
	xObj.open('GET', url,true);
	xObj.onreadystatechange=function() {
		if (xObj.readyState==4) {
			document.getElementById(location).innerHTML = xObj.responseText;
			if(xObj.responseText.indexOf('<' + 'script') != -1) {
				beginning = xObj.responseText.indexOf('<' + 'script');
				beginning = xObj.responseText.indexOf('>',beginning) + 1;
				ending = xObj.responseText.indexOf('</' + 'script')-1;
				scriptText = xObj.responseText.substring(beginning, ending);
				eval(scriptText);
			}
		}
	}
	xObj.send(null)
}
//END AJAX

function email_page_pop(user_id, the_page) {
	open_popup('/includes/modules/invite_friend.php?user_id=' + user_id, 'email_window', 'width=400,height=350,scrollbars=no,resizable=yes,location=no,menubar=no,status=no,toolbar=no,directories=no,personalbar=no');
}

function showLargeImage(section, folderId, imageName, width, height) {
	open_popup('/includes/modules/show_large_image.php?section=' + section + '&folder_id=' + folderId + '&image_name=' + imageName, 'email_window', 'width=' + width +',height=' + height + ',scrollbars=no,resizable=yes,location=no,menubar=no,status=no,toolbar=no,directories=no,personalbar=no');
}

var first_click = '';
function clearField(theField)
{
	if(first_click == 1)
	{
		theField.value = '';
	}
	return false;
}

//ver 1.1
var popup_array = Array();
function open_popup(url, popup_name, options) {
	var cur_popup = popup_array[popup_name];
	var is_popup_defined = (typeof(cur_popup) == 'object');
	var is_popup_open = (is_popup_defined)
		? !(cur_popup.closed)
		: false;

	if ( is_popup_defined && is_popup_open ) {
		cur_popup.document.write (' ');
		cur_popup.focus();
		cur_popup.location.href = url;
		cur_popup.focus();
	} else if ((is_popup_defined && !is_popup_open) || !is_popup_defined) {
		popup_array[popup_name] = window.open(url, popup_name, options);
	}
}


//SCHOOL NAV
function hide_show_menu(school_id, section_id){
	var elem = document.getElementById('section_pages_' + section_id);
	var elemHeader = document.getElementById('catHeader_' + section_id);
	//alert(section_id);
	if(elem.style.display == 'none'){
		elem.style.display = 'block';
		updateMenuDisplay(school_id, section_id, 'block');
		elemHeader.style.textDecorationUnderline = 'true';
	}else{
		elem.style.display = 'none';
		updateMenuDisplay(school_id, section_id, 'none');
		elemHeader.style.textDecorationUnderline = 'false';
	}
}

//Global add image
function selectPages(school_id){
	var category = document.catFrom.categories.selectedIndex;
	var catId = document.catFrom.categories.options[category].value;
	getSchoolPages('schools', school_id, catId);
}
function showUploader(school_id){
	var page = document.formPages.schoolPages.selectedIndex;
	var pageId = document.formPages.schoolPages.options[page].value;
	location.href = "/schools/add_image.html?school_id=" + school_id + "&page_id=" + pageId + "&add";
}
function hideUploader(school_id, cat_id){
	location.href = "/schools/add_image.html?school_id=" + school_id + "&cat=" + cat_id + "&hide";
}
function textCounter(field,cntfield,maxlimit) {
	if (field.value.length > maxlimit){ // if too long...trim it!
		field.value = field.value.substring(0, maxlimit);
		// otherwise, update 'characters left' counter
	}else{
		cntfield.value = maxlimit - field.value.length;
	}
}
// main function to process the fade request //
function colorFade(id,element,start,end,steps,speed) {
  var startrgb,endrgb,er,eg,eb,step,rint,gint,bint,step;
  var target = document.getElementById(id);
  steps = steps || 20;
  speed = speed || 20;
  clearInterval(target.timer);
  endrgb = colorConv(end);
  er = endrgb[0];
  eg = endrgb[1];
  eb = endrgb[2];
  if(!target.r) {
    startrgb = colorConv(start);
    r = startrgb[0];
    g = startrgb[1];
    b = startrgb[2];
    target.r = r;
    target.g = g;
    target.b = b;
  }
  rint = Math.round(Math.abs(target.r-er)/steps);
  gint = Math.round(Math.abs(target.g-eg)/steps);
  bint = Math.round(Math.abs(target.b-eb)/steps);
  if(rint == 0) { rint = 1 }
  if(gint == 0) { gint = 1 }
  if(bint == 0) { bint = 1 }
  target.step = 1;
  target.timer = setInterval( function() { animateColor(id,element,steps,er,eg,eb,rint,gint,bint) }, speed);
}

// incrementally close the gap between the two colors //
function animateColor(id,element,steps,er,eg,eb,rint,gint,bint) {
  var target = document.getElementById(id);
  var color;
  if(target.step <= steps) {
    var r = target.r;
    var g = target.g;
    var b = target.b;
    if(r >= er) {
      r = r - rint;
    } else {
      r = parseInt(r) + parseInt(rint);
    }
    if(g >= eg) {
      g = g - gint;
    } else {
      g = parseInt(g) + parseInt(gint);
    }
    if(b >= eb) {
      b = b - bint;
    } else {
      b = parseInt(b) + parseInt(bint);
    }
    color = 'rgb(' + r + ',' + g + ',' + b + ')';
    if(element == 'background') {
      target.style.backgroundColor = color;
    } else if(element == 'border') {
      target.style.borderColor = color;
    } else {
      target.style.color = color;
    }
    target.r = r;
    target.g = g;
    target.b = b;
    target.step = target.step + 1;
  } else {
    clearInterval(target.timer);
    color = 'rgb(' + er + ',' + eg + ',' + eb + ')';
    if(element == 'background') {
      target.style.backgroundColor = color;
    } else if(element == 'border') {
      target.style.borderColor = color;
    } else {
      target.style.color = color;
    }
  }
}

// convert the color to rgb from hex //
function colorConv(color) {
  var rgb = [parseInt(color.substring(0,2),16), 
    parseInt(color.substring(2,4),16), 
    parseInt(color.substring(4,6),16)];
  return rgb;
}
/*
addEvent(get('toggler'), 'click', function() {
  toggle('example');
  // heck, do more!
  toggle('foo', 'bar', 'baz', 'thunk');
});
*/
function get(el) {
  return document.getElementById(el);
}
function toggle() {
  for (var i=0, el; el = get(arguments[i]); i++) {
    el.style.display = (el.style.display != 'none' ? 'none' : '' );
  }
}
var addEvent = function() {
  if (window.addEventListener) {
    return function(el, type, fn) {
      el.addEventListener(type, fn, false);
    };
  } else if (window.attachEvent) {
    return function(el, type, fn) {
      var f = function() {
        fn.call(el, window.event);
      };
      el.attachEvent('on' + type, f);
    };
  }
}();
function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}
//decode urls encoded by encodeHTML
function decode(utftext) {
	var string = "";
	var i = 0;
	var c = c1 = c2 = 0;

	while ( i < utftext.length ) {

		c = utftext.charCodeAt(i);

		if (c < 128) {
			string += String.fromCharCode(c);
			i++;
		}
		else if((c > 191) && (c < 224)) {
			c2 = utftext.charCodeAt(i+1);
			string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
			i += 2;
		}
		else {
			c2 = utftext.charCodeAt(i+1);
			c3 = utftext.charCodeAt(i+2);
			string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
			i += 3;
		}

	}

	return string;
}
//ajax_encode
var decryptElementId;function decryptText(a,b,c){decryptElementId=a;if(b==null){b="Enter the decryption key:"}if(c!=null&&c){var d=prompt(b,"");decrypt(d)}else{vcPrompt(b,decrypt)}}function decrypt(a){if(a!=""&&a!=null){if(decryptElementId.constructor!=Array){decryptElementId=[decryptElementId]}var b=false;for(var i=0;i<decryptElementId.length;i++){var c=document.getElementById(decryptElementId[i]);var d=c.title;try{var e=GibberishAES.dec(d,a);b=true;c.innerHTML=e;c.title=""}catch(err){}}if(!b){alert("Invalid decryption key","test")}}}var overlayElt=null;var winElt=null;var passElt=null;var promptElt=null;function vcPrompt(a){if(overlayElt==null||winElt==null||passElt==null||promptElt==null){vcCreateDialog(a)}promptElt.innerHTML=a!=null?a:"Enter password:";pageSize=getPageSize();winElt.style.marginTop=Math.round(pageSize[3]*0.3)+"px";winElt.style.marginLeft=Math.round((pageSize[2]-400)/2)+"px";isIE6=/msie|MSIE 6/.test(navigator.userAgent);if(isIE6){pageScroll=getPageScroll();overlayElt.style.position="absolute";overlayElt.style.width=pageSize[0]+"px";overlayElt.style.height=pageSize[1]+"px";winElt.style.position="absolute";winElt.style.top=pageScroll[1]+"px";winElt.style.left=pageScroll[0]+"px"}passElt.value="";overlayElt.style.display="block";winElt.style.display="block";passElt.focus();passElt.select()}function vcCreateDialog(){overlayElt=document.createElement("div");overlayElt.setAttribute("id","vcOverlay");var s=overlayElt.style;s.backgroundColor="black";s.MozOpacity=0.1;s.opacity=0.1;s.filter="alpha(opacity=10)";s.position="fixed";s.top=0;s.left=0;s.width="100%";s.height="100%";s.zIndex=254;s.textAlign="left";s.margin=0;s.padding=0;var a=document.getElementsByTagName("body").item(0);a.insertBefore(overlayElt,a.firstChild);winElt=document.createElement("div");winElt.setAttribute("id","vcWin");s=winElt.style;s.position="fixed";s.top=0;s.left=0;s.width="400px";s.zIndex=255;s.border="1px solid black";s.backgroundColor="#fbfcfd";s.textAlign="left";s.margin=0;s.padding=0;a.insertBefore(winElt,a.firstChild);var b=document.createElement("div");b.setAttribute("id","vcInWin");s=b.style;s.border="5px solid #808080";s.padding="15px";s.margin=0;winElt.appendChild(b);promptElt=document.createElement("p");promptElt.setAttribute("id","vcPrompt");s=promptElt.style;s.padding=0;s.margin=0;s.fontFamily="Arial, sans-serif";s.fontSize="14px";s.textAlign="left";s.color="black";b.appendChild(promptElt);passElt=document.createElement("input");passElt.setAttribute("id","vcPass");passElt.type="text";passElt.onkeydown=function(c){if(c==null){c=window.event}if((c.keyCode==10)||(c.keyCode==13)){vcClick(1)}if(c.keyCode==27){vcClick(0)}};s=passElt.style;s.position="relative";s.width="345px";s.padding="5px";s.margin="5px 0 10px 0";s.fontFamily="monospace";s.fontSize="14px";s.textAlign="left";s.color="black";s.border="2px solid #808080";s.backgroundColor="white";b.appendChild(passElt);var c=document.createElement("div");c.style.textAlign="right";c.style.fontFamily="Arial, sans-serif";c.style.fontSize="14px";b.appendChild(c);var d=document.createElement("input");d.type="button";d.value="OK";d.onclick=function(){vcClick(1)};d.style.margin="0 0 0 0.5em";d.style.padding="5px";d.style.color="black";c.appendChild(d);d=document.createElement("input");d.type="button";d.value="Cancel";d.onclick=function(){vcClick(0)};d.style.margin="0 0 0 0.5em";d.style.padding="5px";d.style.color="black";c.appendChild(d)}function vcClick(a){overlayElt.style.display="none";winElt.style.display="none";if(a){decrypt(passElt.value)}else{}}function getPageScroll(){var a;if(self.pageYOffset){a=self.pageYOffset}else{if(document.documentElement&&document.documentElement.scrollTop){a=document.documentElement.scrollTop}else{if(document.body){a=document.body.scrollTop}}}var b;if(self.pageXOffset){b=self.pageXOffset}else{if(document.documentElement&&document.documentElement.scrollLeft){b=document.documentElement.scrollLeft}else{if(document.body){b=document.body.scrollLeft}}}arrayPageScroll=new Array(b,a);return arrayPageScroll}function getPageSize(){var a,b;if(window.innerHeight&&window.scrollMaxY){a=document.body.scrollWidth;b=window.innerHeight+window.scrollMaxY}else{if(document.body.scrollHeight>document.body.offsetHeight){a=document.body.scrollWidth;b=document.body.scrollHeight}else{a=document.body.offsetWidth;b=document.body.offsetHeight}}var c,d;if(self.innerHeight){c=self.innerWidth;d=self.innerHeight}else{if(document.documentElement&&document.documentElement.clientHeight){c=document.documentElement.clientWidth;d=document.documentElement.clientHeight}else{if(document.body){c=document.body.clientWidth;d=document.body.clientHeight}}}if(b<d){pageHeight=d}else{pageHeight=b}if(a<c){pageWidth=c}else{pageWidth=a}arrayPageSize=new Array(pageWidth,pageHeight,c,d);return arrayPageSize}var GibberishAES={Nr:14,Nb:4,Nk:8,Decrypt:false,enc_utf8:function(s){try{return unescape(encodeURIComponent(s))}catch(e){throw "Error on UTF-8 encode"}},dec_utf8:function(s){try{return decodeURIComponent(escape(s))}catch(e){throw ("Bad Key")}},padBlock:function(a){var b=[];if(a.length<16){var c=16-a.length;var b=[c,c,c,c,c,c,c,c,c,c,c,c,c,c,c,c]}for(var i=0;i<a.length;i++){b[i]=a[i]}return b},block2s:function(a,b){if(a==undefined){throw ("Decryption error: Maybe bad cipher")}var c="";if(b){var d=a[15];if(d>16){throw ("Decryption error: Maybe bad key")}if(d==16){return ""}for(var i=0;i<16-d;i++){c+=String.fromCharCode(a[i])}}else{for(i=0;i<16;i++){c+=String.fromCharCode(a[i])}}return c},a2h:function(a){var b="";for(var i=0;i<a.length;i++){b+=(a[i]<16?"0":"")+a[i].toString(16)}return b},h2a:function(s){var a=[];s.replace(/(..)/g,function(b){a.push(parseInt(b,16))});return a},s2a:function(a){a=this.enc_utf8(a);var b=[];for(var i=0;i<a.length;i++){b[i]=a.charCodeAt(i)}return b},size:function(a){switch(a){case 128:this.Nr=10;this.Nk=4;break;case 192:this.Nr=12;this.Nk=6;break;case 256:this.Nr=14;this.Nk=8;break;default:throw ("Invalid Key Size Specified:"+a)}},randArr:function(a){var b=[];for(var i=0;i<a;i++){b=b.concat(Math.floor(Math.random()*256))}return b},openSSLKey:function(a,b){var c=this.Nr>=12?3:2;var d=[];var e=[];var f=[];var g=[];data00=a.concat(b);f[0]=GibberishAES.Hash.MD5(data00);g=f[0];for(var i=1;i<c;i++){f[i]=GibberishAES.Hash.MD5(f[i-1].concat(data00));g=g.concat(f[i])}d=g.slice(0,4*this.Nk);e=g.slice(4*this.Nk,4*this.Nk+16);return {key:d,iv:e}},rawEncrypt:function(a,b,c){b=this.expandKey(b);var d=Math.ceil(a.length/16);var e=[];for(var i=0;i<d;i++){e[i]=this.padBlock(a.slice(i*16,i*16+16))}if(a.length%16===0){e.push([16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16]);d++}var f=[];for(var i=0;i<e.length;i++){e[i]=(i===0)?this.xorBlocks(e[i],c):this.xorBlocks(e[i],f[i-1]);f[i]=this.encryptBlock(e[i],b)}return f},rawDecrypt:function(a,b,c){b=this.expandKey(b);var d=a.length/16;var e=[];for(var i=0;i<d;i++){e.push(a.slice(i*16,(i+1)*16))}var f=[];for(var i=e.length-1;i>=0;i--){f[i]=this.decryptBlock(e[i],b);f[i]=(i===0)?this.xorBlocks(f[i],c):this.xorBlocks(f[i],e[i-1])}var g="";for(var i=0;i<d-1;i++){g+=this.block2s(f[i])}g+=this.block2s(f[i],true);return this.dec_utf8(g)},encryptBlock:function(a,b){this.Decrypt=false;var c=this.addRoundKey(a,b,0);for(var d=1;d<(this.Nr+1);d++){c=this.subBytes(c);c=this.shiftRows(c);if(d<this.Nr){c=this.mixColumns(c)}c=this.addRoundKey(c,b,d)}return c},decryptBlock:function(a,b){this.Decrypt=true;var c=this.addRoundKey(a,b,this.Nr);for(var d=this.Nr-1;d>-1;d--){c=this.shiftRows(c);c=this.subBytes(c);c=this.addRoundKey(c,b,d);if(d>0){c=this.mixColumns(c)}}return c},subBytes:function(a){var S=this.Decrypt?this.SBoxInv:this.SBox;var b=[];for(var i=0;i<16;i++){b[i]=S[a[i]]}return b},shiftRows:function(a){var b=[];var c=this.Decrypt?[0,13,10,7,4,1,14,11,8,5,2,15,12,9,6,3]:[0,5,10,15,4,9,14,3,8,13,2,7,12,1,6,11];for(var i=0;i<16;i++){b[i]=a[c[i]]}return b},mixColumns:function(a){var t=[];if(!this.Decrypt){for(var c=0;c<4;c++){t[c*4]=this.G2X[a[c*4]]^this.G3X[a[1+c*4]]^a[2+c*4]^a[3+c*4];t[1+c*4]=a[c*4]^this.G2X[a[1+c*4]]^this.G3X[a[2+c*4]]^a[3+c*4];t[2+c*4]=a[c*4]^a[1+c*4]^this.G2X[a[2+c*4]]^this.G3X[a[3+c*4]];t[3+c*4]=this.G3X[a[c*4]]^a[1+c*4]^a[2+c*4]^this.G2X[a[3+c*4]]}}else{for(var c=0;c<4;c++){t[c*4]=this.GEX[a[c*4]]^this.GBX[a[1+c*4]]^this.GDX[a[2+c*4]]^this.G9X[a[3+c*4]];t[1+c*4]=this.G9X[a[c*4]]^this.GEX[a[1+c*4]]^this.GBX[a[2+c*4]]^this.GDX[a[3+c*4]];t[2+c*4]=this.GDX[a[c*4]]^this.G9X[a[1+c*4]]^this.GEX[a[2+c*4]]^this.GBX[a[3+c*4]];t[3+c*4]=this.GBX[a[c*4]]^this.GDX[a[1+c*4]]^this.G9X[a[2+c*4]]^this.GEX[a[3+c*4]]}}return t},addRoundKey:function(a,b,c){var d=[];for(var i=0;i<16;i++){d[i]=a[i]^b[c][i]}return d},xorBlocks:function(a,b){var c=[];for(var i=0;i<16;i++){c[i]=a[i]^b[i]}return c},expandKey:function(a){var b=this.Nb;var c=this.Nr;var d=this.Nk;var w=[];var e=[];for(var i=0;i<d;i++){var r=[a[4*i],a[4*i+1],a[4*i+2],a[4*i+3]];w[i]=r}for(var i=d;i<(4*(c+1));i++){w[i]=[];for(var t=0;t<4;t++){e[t]=w[i-1][t]}if(i%d===0){e=this.subWord(this.rotWord(e));e[0]^=this.Rcon[i/d-1]}else{if(d>6&&i%d==4){e=this.subWord(e)}}for(var t=0;t<4;t++){w[i][t]=w[i-d][t]^e[t]}}var f=[];for(var i=0;i<(c+1);i++){f[i]=[];for(var j=0;j<4;j++){f[i].push(w[i*4+j][0],w[i*4+j][1],w[i*4+j][2],w[i*4+j][3])}}return f},subWord:function(w){for(var i=0;i<4;i++){w[i]=this.SBox[w[i]]}return w},rotWord:function(w){var a=w[0];for(var i=0;i<4;i++){w[i]=w[i+1]}w[3]=a;return w},SBox:[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],SBoxInv:[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],Rcon:[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],G2X:[0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,118,120,122,124,126,128,130,132,134,136,138,140,142,144,146,148,150,152,154,156,158,160,162,164,166,168,170,172,174,176,178,180,182,184,186,188,190,192,194,196,198,200,202,204,206,208,210,212,214,216,218,220,222,224,226,228,230,232,234,236,238,240,242,244,246,248,250,252,254,27,25,31,29,19,17,23,21,11,9,15,13,3,1,7,5,59,57,63,61,51,49,55,53,43,41,47,45,35,33,39,37,91,89,95,93,83,81,87,85,75,73,79,77,67,65,71,69,123,121,127,125,115,113,119,117,107,105,111,109,99,97,103,101,155,153,159,157,147,145,151,149,139,137,143,141,131,129,135,133,187,185,191,189,179,177,183,181,171,169,175,173,163,161,167,165,219,217,223,221,211,209,215,213,203,201,207,205,195,193,199,197,251,249,255,253,243,241,247,245,235,233,239,237,227,225,231,229],G3X:[0,3,6,5,12,15,10,9,24,27,30,29,20,23,18,17,48,51,54,53,60,63,58,57,40,43,46,45,36,39,34,33,96,99,102,101,108,111,106,105,120,123,126,125,116,119,114,113,80,83,86,85,92,95,90,89,72,75,78,77,68,71,66,65,192,195,198,197,204,207,202,201,216,219,222,221,212,215,210,209,240,243,246,245,252,255,250,249,232,235,238,237,228,231,226,225,160,163,166,165,172,175,170,169,184,187,190,189,180,183,178,177,144,147,150,149,156,159,154,153,136,139,142,141,132,135,130,129,155,152,157,158,151,148,145,146,131,128,133,134,143,140,137,138,171,168,173,174,167,164,161,162,179,176,181,182,191,188,185,186,251,248,253,254,247,244,241,242,227,224,229,230,239,236,233,234,203,200,205,206,199,196,193,194,211,208,213,214,223,220,217,218,91,88,93,94,87,84,81,82,67,64,69,70,79,76,73,74,107,104,109,110,103,100,97,98,115,112,117,118,127,124,121,122,59,56,61,62,55,52,49,50,35,32,37,38,47,44,41,42,11,8,13,14,7,4,1,2,19,16,21,22,31,28,25,26],G9X:[0,9,18,27,36,45,54,63,72,65,90,83,108,101,126,119,144,153,130,139,180,189,166,175,216,209,202,195,252,245,238,231,59,50,41,32,31,22,13,4,115,122,97,104,87,94,69,76,171,162,185,176,143,134,157,148,227,234,241,248,199,206,213,220,118,127,100,109,82,91,64,73,62,55,44,37,26,19,8,1,230,239,244,253,194,203,208,217,174,167,188,181,138,131,152,145,77,68,95,86,105,96,123,114,5,12,23,30,33,40,51,58,221,212,207,198,249,240,235,226,149,156,135,142,177,184,163,170,236,229,254,247,200,193,218,211,164,173,182,191,128,137,146,155,124,117,110,103,88,81,74,67,52,61,38,47,16,25,2,11,215,222,197,204,243,250,225,232,159,150,141,132,187,178,169,160,71,78,85,92,99,106,113,120,15,6,29,20,43,34,57,48,154,147,136,129,190,183,172,165,210,219,192,201,246,255,228,237,10,3,24,17,46,39,60,53,66,75,80,89,102,111,116,125,161,168,179,186,133,140,151,158,233,224,251,242,205,196,223,214,49,56,35,42,21,28,7,14,121,112,107,98,93,84,79,70],GBX:[0,11,22,29,44,39,58,49,88,83,78,69,116,127,98,105,176,187,166,173,156,151,138,129,232,227,254,245,196,207,210,217,123,112,109,102,87,92,65,74,35,40,53,62,15,4,25,18,203,192,221,214,231,236,241,250,147,152,133,142,191,180,169,162,246,253,224,235,218,209,204,199,174,165,184,179,130,137,148,159,70,77,80,91,106,97,124,119,30,21,8,3,50,57,36,47,141,134,155,144,161,170,183,188,213,222,195,200,249,242,239,228,61,54,43,32,17,26,7,12,101,110,115,120,73,66,95,84,247,252,225,234,219,208,205,198,175,164,185,178,131,136,149,158,71,76,81,90,107,96,125,118,31,20,9,2,51,56,37,46,140,135,154,145,160,171,182,189,212,223,194,201,248,243,238,229,60,55,42,33,16,27,6,13,100,111,114,121,72,67,94,85,1,10,23,28,45,38,59,48,89,82,79,68,117,126,99,104,177,186,167,172,157,150,139,128,233,226,255,244,197,206,211,216,122,113,108,103,86,93,64,75,34,41,52,63,14,5,24,19,202,193,220,215,230,237,240,251,146,153,132,143,190,181,168,163],GDX:[0,13,26,23,52,57,46,35,104,101,114,127,92,81,70,75,208,221,202,199,228,233,254,243,184,181,162,175,140,129,150,155,187,182,161,172,143,130,149,152,211,222,201,196,231,234,253,240,107,102,113,124,95,82,69,72,3,14,25,20,55,58,45,32,109,96,119,122,89,84,67,78,5,8,31,18,49,60,43,38,189,176,167,170,137,132,147,158,213,216,207,194,225,236,251,246,214,219,204,193,226,239,248,245,190,179,164,169,138,135,144,157,6,11,28,17,50,63,40,37,110,99,116,121,90,87,64,77,218,215,192,205,238,227,244,249,178,191,168,165,134,139,156,145,10,7,16,29,62,51,36,41,98,111,120,117,86,91,76,65,97,108,123,118,85,88,79,66,9,4,19,30,61,48,39,42,177,188,171,166,133,136,159,146,217,212,195,206,237,224,247,250,183,186,173,160,131,142,153,148,223,210,197,200,235,230,241,252,103,106,125,112,83,94,73,68,15,2,21,24,59,54,33,44,12,1,22,27,56,53,34,47,100,105,126,115,80,93,74,71,220,209,198,203,232,229,242,255,180,185,174,163,128,141,154,151],GEX:[0,14,28,18,56,54,36,42,112,126,108,98,72,70,84,90,224,238,252,242,216,214,196,202,144,158,140,130,168,166,180,186,219,213,199,201,227,237,255,241,171,165,183,185,147,157,143,129,59,53,39,41,3,13,31,17,75,69,87,89,115,125,111,97,173,163,177,191,149,155,137,135,221,211,193,207,229,235,249,247,77,67,81,95,117,123,105,103,61,51,33,47,5,11,25,23,118,120,106,100,78,64,82,92,6,8,26,20,62,48,34,44,150,152,138,132,174,160,178,188,230,232,250,244,222,208,194,204,65,79,93,83,121,119,101,107,49,63,45,35,9,7,21,27,161,175,189,179,153,151,133,139,209,223,205,195,233,231,245,251,154,148,134,136,162,172,190,176,234,228,246,248,210,220,206,192,122,116,102,104,66,76,94,80,10,4,22,24,50,60,46,32,236,226,240,254,212,218,200,198,156,146,128,142,164,170,184,182,12,2,16,30,52,58,40,38,124,114,96,110,68,74,88,86,55,57,43,37,15,1,19,29,71,73,91,85,127,113,99,109,215,217,203,197,239,225,243,253,167,169,187,181,159,145,131,141],enc:function(a,b){var c=this.randArr(8);var d=this.openSSLKey(this.s2a(b),c);var e=d.key;var f=d.iv;a=this.s2a(a);var g=this.rawEncrypt(a,e,f);var h=[[83,97,108,116,101,100,95,95].concat(c)];g=h.concat(g);return this.Base64.encode(g)},dec:function(a,b){var c=this.Base64.decode(a);var d=c.slice(8,16);var e=this.openSSLKey(this.s2a(b),d);var f=e.key;var g=e.iv;var c=c.slice(16,c.length);a=this.rawDecrypt(c,f,g);return a}};GibberishAES.Hash={MD5:function(a){function RotateLeft(b,c){return (b<<c)|(b>>>(32-c))}function AddUnsigned(b,c){var d,e,f,g,h;f=(b&2147483648);g=(c&2147483648);d=(b&1073741824);e=(c&1073741824);h=(b&1073741823)+(c&1073741823);if(d&e){return (h^2147483648^f^g)}if(d|e){if(h&1073741824){return (h^3221225472^f^g)}else{return (h^1073741824^f^g)}}else{return (h^f^g)}}function F(x,y,z){return (x&y)|((~x)&z)}function G(x,y,z){return (x&z)|(y&(~z))}function H(x,y,z){return (x^y^z)}function I(x,y,z){return (y^(x|(~z)))}function FF(b,c,d,e,x,s,f){b=AddUnsigned(b,AddUnsigned(AddUnsigned(F(c,d,e),x),f));return AddUnsigned(RotateLeft(b,s),c)}function GG(b,c,d,e,x,s,f){b=AddUnsigned(b,AddUnsigned(AddUnsigned(G(c,d,e),x),f));return AddUnsigned(RotateLeft(b,s),c)}function HH(b,c,d,e,x,s,f){b=AddUnsigned(b,AddUnsigned(AddUnsigned(H(c,d,e),x),f));return AddUnsigned(RotateLeft(b,s),c)}function II(b,c,d,e,x,s,f){b=AddUnsigned(b,AddUnsigned(AddUnsigned(I(c,d,e),x),f));return AddUnsigned(RotateLeft(b,s),c)}function ConvertToWordArray(b){var c;var d=b.length;var e=d+8;var f=(e-(e%64))/64;var g=(f+1)*16;var h=Array(g-1);var i=0;var j=0;while(j<d){c=(j-(j%4))/4;i=(j%4)*8;h[c]=(h[c]|(b[j]<<i));j++}c=(j-(j%4))/4;i=(j%4)*8;h[c]=h[c]|(128<<i);h[g-2]=d<<3;h[g-1]=d>>>29;return h}function WordToHex(b){var c="",d="",e,f;var g=[];for(f=0;f<=3;f++){e=(b>>>(f*8))&255;g=g.concat(e)}return g}function Utf8Encode(b){b=b.replace(/\r\n/g,"\n");var c="";for(var n=0;n<b.length;n++){var d=b.charCodeAt(n);if(d<128){c+=String.fromCharCode(d)}else{if((d>127)&&(d<2048)){c+=String.fromCharCode((d>>6)|192);c+=String.fromCharCode((d&63)|128)}else{c+=String.fromCharCode((d>>12)|224);c+=String.fromCharCode(((d>>6)&63)|128);c+=String.fromCharCode((d&63)|128)}}}return c}var x=Array();var k,b,c,d,e,f,g,h,i;var j=7,l=12,m=17,n=22;var o=5,p=9,q=14,r=20;var s=4,t=11,u=16,v=23;var w=6,y=10,z=15,A=21;x=ConvertToWordArray(a);f=1732584193;g=4023233417;h=2562383102;i=271733878;for(k=0;k<x.length;k+=16){b=f;c=g;d=h;e=i;f=FF(f,g,h,i,x[k+0],j,3614090360);i=FF(i,f,g,h,x[k+1],l,3905402710);h=FF(h,i,f,g,x[k+2],m,606105819);g=FF(g,h,i,f,x[k+3],n,3250441966);f=FF(f,g,h,i,x[k+4],j,4118548399);i=FF(i,f,g,h,x[k+5],l,1200080426);h=FF(h,i,f,g,x[k+6],m,2821735955);g=FF(g,h,i,f,x[k+7],n,4249261313);f=FF(f,g,h,i,x[k+8],j,1770035416);i=FF(i,f,g,h,x[k+9],l,2336552879);h=FF(h,i,f,g,x[k+10],m,4294925233);g=FF(g,h,i,f,x[k+11],n,2304563134);f=FF(f,g,h,i,x[k+12],j,1804603682);i=FF(i,f,g,h,x[k+13],l,4254626195);h=FF(h,i,f,g,x[k+14],m,2792965006);g=FF(g,h,i,f,x[k+15],n,1236535329);f=GG(f,g,h,i,x[k+1],o,4129170786);i=GG(i,f,g,h,x[k+6],p,3225465664);h=GG(h,i,f,g,x[k+11],q,643717713);g=GG(g,h,i,f,x[k+0],r,3921069994);f=GG(f,g,h,i,x[k+5],o,3593408605);i=GG(i,f,g,h,x[k+10],p,38016083);h=GG(h,i,f,g,x[k+15],q,3634488961);g=GG(g,h,i,f,x[k+4],r,3889429448);f=GG(f,g,h,i,x[k+9],o,568446438);i=GG(i,f,g,h,x[k+14],p,3275163606);h=GG(h,i,f,g,x[k+3],q,4107603335);g=GG(g,h,i,f,x[k+8],r,1163531501);f=GG(f,g,h,i,x[k+13],o,2850285829);i=GG(i,f,g,h,x[k+2],p,4243563512);h=GG(h,i,f,g,x[k+7],q,1735328473);g=GG(g,h,i,f,x[k+12],r,2368359562);f=HH(f,g,h,i,x[k+5],s,4294588738);i=HH(i,f,g,h,x[k+8],t,2272392833);h=HH(h,i,f,g,x[k+11],u,1839030562);g=HH(g,h,i,f,x[k+14],v,4259657740);f=HH(f,g,h,i,x[k+1],s,2763975236);i=HH(i,f,g,h,x[k+4],t,1272893353);h=HH(h,i,f,g,x[k+7],u,4139469664);g=HH(g,h,i,f,x[k+10],v,3200236656);f=HH(f,g,h,i,x[k+13],s,681279174);i=HH(i,f,g,h,x[k+0],t,3936430074);h=HH(h,i,f,g,x[k+3],u,3572445317);g=HH(g,h,i,f,x[k+6],v,76029189);f=HH(f,g,h,i,x[k+9],s,3654602809);i=HH(i,f,g,h,x[k+12],t,3873151461);h=HH(h,i,f,g,x[k+15],u,530742520);g=HH(g,h,i,f,x[k+2],v,3299628645);f=II(f,g,h,i,x[k+0],w,4096336452);i=II(i,f,g,h,x[k+7],y,1126891415);h=II(h,i,f,g,x[k+14],z,2878612391);g=II(g,h,i,f,x[k+5],A,4237533241);f=II(f,g,h,i,x[k+12],w,1700485571);i=II(i,f,g,h,x[k+3],y,2399980690);h=II(h,i,f,g,x[k+10],z,4293915773);g=II(g,h,i,f,x[k+1],A,2240044497);f=II(f,g,h,i,x[k+8],w,1873313359);i=II(i,f,g,h,x[k+15],y,4264355552);h=II(h,i,f,g,x[k+6],z,2734768916);g=II(g,h,i,f,x[k+13],A,1309151649);f=II(f,g,h,i,x[k+4],w,4149444226);i=II(i,f,g,h,x[k+11],y,3174756917);h=II(h,i,f,g,x[k+2],z,718787259);g=II(g,h,i,f,x[k+9],A,3951481745);f=AddUnsigned(f,b);g=AddUnsigned(g,c);h=AddUnsigned(h,d);i=AddUnsigned(i,e)}var B=WordToHex(f).concat(WordToHex(g),WordToHex(h),WordToHex(i));return B}};GibberishAES.Base64={chars:["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9","+","/"],encode:function(b,a){var c=[];var d="";totalChunks=Math.floor(b.length*16/3);for(var i=0;i<b.length*16;i++){c.push(b[Math.floor(i/16)][i%16])}for(var i=0;i<c.length;i=i+3){d+=this.chars[c[i]>>2];d+=this.chars[((c[i]&3)<<4)|(c[i+1]>>4)];if(!(c[i+1]==null)){d+=this.chars[((c[i+1]&15)<<2)|(c[i+2]>>6)]}else{d+="="}if(!(c[i+2]==null)){d+=this.chars[c[i+2]&63]}else{d+="="}}var e=d.slice(0,64)+"\n";for(var i=1;i<(Math.ceil(d.length/64));i++){e+=d.slice(i*64,i*64+64)+(Math.ceil(d.length/64)==i+1?"":"\n")}return e},decode:function(a){a=a.replace(/\s/g,"");var b=[];var c=[];var d=[];for(var i=0;i<a.length;i=i+4){c[0]=this.chars.indexOf(a.charAt(i));c[1]=this.chars.indexOf(a.charAt(i+1));c[2]=this.chars.indexOf(a.charAt(i+2));c[3]=this.chars.indexOf(a.charAt(i+3));d[0]=(c[0]<<2)|(c[1]>>4);d[1]=((c[1]&15)<<4)|(c[2]>>2);d[2]=((c[2]&3)<<6)|c[3];b.push(d[0],d[1],d[2])}b=b.slice(0,b.length-(b.length%16));return b}};if(!Array.indexOf){Array.prototype.indexOf=function(a,b){for(var i=(b||0);i<this.length;i++){if(this[i]==a){return i}}}}
function aed(s,e){
	var cs = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
	var ns = "";
	for(var i=0;i<s.length;i++){
		s.charAt(i)
		ns += s.charAt(i) + cs.charAt(Math.floor(Math.random() * 62));
	}
	return ns;
}

