var aTextClass = ['mini', 'midi', 'maxi'];
function setTextSize(size, elId) {
    var c = (elId) ? document.getElementById(elId) : document.body;    
    if (c) {
	c.style.fontSize = size+"px"; 
    }
}
function setTextCookie(val) {
    var c = Cookie.write('site_fontsize', val, {path:'/', duration:365});
}
function resizeText(e) {
    var s = {'mini':14, 'midi':17, 'maxi':20}
    var el = $(e); 
    if (!el) {
        return;
    }
    var cl = el.get('class').clean();
    if (s[cl]) {
	setTextSize(s[cl], 'content');
        aTextClass.each(function(e) {
            var el = $('metanavi').getElement('a.'+e);
	    if (el) {
	       el.removeClass('selected');
	    }
       	});
    	el.addClass('selected');
    	setTextCookie(cl);
    }
    return false;
}

function revRot(str) {
    return str.replace(/[a-zA-Z]/g, function(c) {
        return String.fromCharCode((c<="Z"?90:122)>=(c=c.charCodeAt(0)+13)?c:c-26);
    }); 
}

function deobfuscateLink(link) {
    var clink = link.clone(true);
    if (!clink) {
        return false;
    }
    var href = clink.getAttribute('href'),
    r = new RegExp("^mailto\:(.+)"),
    value,d;
         
    value = href.match(r);
    if (value == null) {
        return false;
    } 
    d = revRot(value[1]);
    clink.setAttribute('href', 'mailto:'+d);
    return clink 
}

function deobfuscateLinks() {
    var a = document.getElementsByTagName('a'),
        s = a.length;
    for(i=0; i<s; i++) {
        var link = a[i];
        if (!link) {
            continue;
        }
        deobfuscateLink(link); 
    }
    
}
function initLinks() {
    var a = document.getElementsByTagName('a'),
        s = a.length,
        r = new RegExp("^mailto:(.+)");
    for(i=0; i<s; i++) {
        if (a[i].getAttribute('href').match(r)) {
            var l = $(a[i]);
            var n;
            l.addEvent("click", function(e) {
                if (!e.target) {
                    return false;
                }
                n = deobfuscateLink(e.target);
                window.location.href = n.getAttribute('href');
                return false;
            });
        }
    }
}

window.addEvent('domready', function() {
    initLinks();
    var i=14;
    aTextClass.each(function(e) {
        var el = $('metanavi').getElement('a.'+e);
	if (el) {
	    el.addEvent("click", function() {
	    	return resizeText(el);
	    });
	}
	i+=5;
    });
    var cf = Cookie.read('site_fontsize');
    if (cf) {
   	var el = $('metanavi').getElement('a.'+cf);
	if (el) {
	    resizeText(el);
	}
    }
});


