function sss(element, expand) {
	element = $(element);
	if (element.expanded && !expand) {
		scale(element, 50, element.oldStyle);
		element.expanded = 0;
	}
	else if (!element.expanded && expand) {
		element.oldStyle = getStyle(element);
		scale(element, 200);
		element.expanded = 1;
	}
}

function getStyle(element) {
	element = $(element);
	var oldStyle = {
		opacity: element.getInlineOpacity(),
		 position: element.getStyle('position'),
		 top:  element.style.top,
		 left: element.style.left,
		 width: element.style.width,
		 height: element.style.height
	};
	return oldStyle;
}

function scale(element, scl, stl) {
		element = $(element);
		return new Effect.Parallel(
			[
				new Effect.Scale(element, scl,
				{
					sync: true,
					scaleFromCenter: false,
					scaleContent: true,
					restoreAfterFinish: false
				})
			],
			Object.extend({
				duration: 1.0,
                      beforeSetupInternal: function(effect) {
                      Position.absolutize(effect.effects[0].element)
            },
			afterFinishInternal: function(effect) {
					if (stl)
						effect.effects[0].element.setStyle(stl);
				}
			}, arguments[1] || { }));
}


function center_html(html, style) {
	return "<table align='center' width='100%' height='100%'><tr>" +
				"<td style='text-align: center;" + style + "'>" + html +
				"</td></tr></table>";
}
function get_keycode(e) {
	var key  = (window.event) ?    // MSIE or Firefox?
		event.keyCode : e.keyCode;
   return key;
}

function is_enter_key(e) {
	var key = get_keycode(e);
	return key == 13;
}

function is_escape_key(e) {
	var key = get_keycode(e);
	var Esc = (window.event) ?   
		27 : e.DOM_VK_ESCAPE // MSIE : Firefox
	return key == Esc;
}

// windowDimensions: taken from http://codesnippets.joyent.com/tag/prototype
function windowDimensions() {
	var x, y;
	if (self.innerHeight) {
		// all except Explorer
		x = self.innerWidth;
		y = self.innerHeight;
	} else if (document.documentElement && 
		document.documentElement.clientHeight) {
		// Explorer 6 Strict Mode
		x = document.documentElement.clientWidth;
		y = document.documentElement.clientHeight;
	} else if (document.body) {
		// other Explorers
		x = document.body.clientWidth;
		y = document.body.clientHeight;
	}

	if (!x) x = 0;
	if (!y) y = 0;

	arrayWindowSize = new Array(x,y);
	return arrayWindowSize;
}

function split(str, chr) {
	sp = str.indexOf(chr);
	if (sp == -1)
		return null;
	a = str.substr(0, sp);
	b = str.substr(sp + 1);
	arr = new Array(a,b);
	return arr;
}

// Changes the value of a css class element
// taken from http://www.shawnolson.net/a/503/
function changecss(theClass,element,value) {
	
	var cssRules;
	if (document.all) {
		cssRules = 'rules';
	}
	else if (document.getElementById) {
		cssRules = 'cssRules';
	}
	for (var S = 0; S < document.styleSheets.length; S++){
		for (var R = 0; R < 
				document.styleSheets[S][cssRules].length; R++) {
			if (document.styleSheets[S][cssRules][R].selectorText == theClass) 
			{
				document.styleSheets[S][cssRules][R].style[element] = value;
			}
		}
	}	
}

