var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";

function decode64(input) {
   var output = "";
   var chr1, chr2, chr3;
   var enc1, enc2, enc3, enc4;
   var i = 0;

   // remove all characters that are not A-Z, a-z, 0-9, +, /, or =
   input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
 
   do {
      enc1 = keyStr.indexOf(input.charAt(i++));
      enc2 = keyStr.indexOf(input.charAt(i++));
      enc3 = keyStr.indexOf(input.charAt(i++));
      enc4 = keyStr.indexOf(input.charAt(i++));

      chr1 = (enc1 << 2) | (enc2 >> 4);
      chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
      chr3 = ((enc3 & 3) << 6) | enc4;
 
      output = output + String.fromCharCode(chr1);
 
      if (enc3 != 64) {
         output = output + String.fromCharCode(chr2);
      }
      if (enc4 != 64) {
         output = output + String.fromCharCode(chr3);
      }
   } while (i < input.length);
 
   return output;
}

jQuery(document).ready(function(){

	jQuery('a.iframe-link').click(function(){
		if (document.location.href == jQuery(this).attr('href')) {
			jQuery('iframe').attr('src', decode64(jQuery(this).attr('rel')));
			jQuery('a.iframe-link').removeClass('current');
			jQuery(this).addClass('current');
		}
		else {
			document.location.href = jQuery(this).attr('href') + '/(iframesrc)/' + jQuery(this).attr('rel');
		}
		return false;
	});

	var cookieOptions = {
		domain: '',
		path: '',
		hoursToLive: 720,
		secure: false
	}

	var hidra_text_size = jQuery.cookies.get('hidra-text-size');
	if (hidra_text_size == '0.9em' || hidra_text_size == '1em') jQuery('body').css('font-size',hidra_text_size);
	
	jQuery('a#text-size-1').click(function(){
		jQuery('body').css('font-size','0.8em');
		jQuery.cookies.set('hidra-text-size','0.8em',cookieOptions);
	});

	jQuery('a#text-size-2').click(function(){
		jQuery('body').css('font-size','0.9em');
		jQuery.cookies.set('hidra-text-size','0.9em',cookieOptions);
	});

	jQuery('a#text-size-3').click(function(){
		jQuery('body').css('font-size','1em');
		jQuery.cookies.set('hidra-text-size','1em',cookieOptions);
	});
  
  jQuery('span.js-popup').mouseover(function(){
		jQuery(this).find('.inner').addClass('visible');
	});
  
  jQuery('span.js-popup').mouseout(function(){
		jQuery(this).find('.inner').removeClass('visible');
	});
  
});


var timeout    = 500;
var closetimer = null;
var ddmenuitem = null;

function ddmopen() {
  ddmcanceltimer();
  if (jQuery(this).find('ul').css('display') != 'block') ddmclose();
  ddmenuitem = jQuery(this).find('ul').toggle();
  jQuery(this).find('a.iframe-menu-select').toggleClass('active');
}

function ddmclose() {
  if (ddmenuitem) ddmenuitem.hide();
  jQuery('a.iframe-menu-select').removeClass('active');
}

function ddmtimer()
{closetimer = window.setTimeout(ddmclose, timeout);}

function ddmcanceltimer()
{if (closetimer)
   {window.clearTimeout(closetimer);
      closetimer = null;}}

jQuery(document).ready(function()
{
	jQuery('div.iframe-menu').bind('click', ddmopen);
	jQuery('a.iframe-menu-select').bind('click', ddmopen);
	jQuery('div.iframe-menu').bind('mouseover', ddmcanceltimer);
	jQuery('div.iframe-menu').bind('mouseout',  ddmtimer);
});




