var TextSizer = {
	"alterPageTextSize" : function(event) {
		var element = PythonEvent.element(event);

		// Safari hack
		if (element.tagName.toUpperCase() != 'A') {
			element = element.parentNode;
		}
		
		var sizeClass = "normal";
		if (element.id == "text-size-medium"){
			sizeClass = "medium";
		}
		else if (element.id == "text-size-large"){
			sizeClass = "large";
		}
		 
		createCookie('textSizeCookie', sizeClass, 1);
		TextSizer.setPageTextSize();
		return false;
  },
  "setPageTextSize" : function() {
   	var sizeClass = readCookie('textSizeCookie');
   	if (sizeClass == null) {
   		return;
   	}
   	
   	var existingClass = document.body.className;
		if (existingClass.indexOf(" normal")>0 || existingClass.indexOf(" medium")>0){
			existingClass = existingClass.substring(0, existingClass.length - 7);
		}
		if (existingClass.indexOf(" large") > 0){
			existingClass = existingClass.substring(0, existingClass.length - 6);
		}
		if (existingClass == "normal" || existingClass == "medium" || existingClass == "large"){
			existingClass = "";
		}
		
		
	if (isIE()){
		window.location.reload();
	}
	else {
		document.body.className = existingClass  + " " + sizeClass;
	}
	return false;
  }
};

function isIE(){
	return !!(window.attachEvent && !window.opera);
}

var TextSizerRules = {
	"div#text-size a" : function(element) {
		PythonEvent.observe(element, "click", TextSizer.alterPageTextSize);
	}
};

Behaviour.register(TextSizerRules);
