/** 
* @file PortaMx.js
* Common Javascript functions
*
* @author PortaMx - Portal Management Extension
* @author Copyright 2008-2010 by PortaMx - http://portamx.com
* @Version: 0.980
* @Date: 20.03.2010
*/

// Toggle the titles for upshrink boxex
function PmxBlock_Toggle(elm, smfToggle, collapse, expand) {
	eval(smfToggle + ".toggle()");

	var curtitle = elm.title;
	if(curtitle.indexOf(collapse) != -1)
		elm.title = curtitle.replace(collapse, expand);
	else
		elm.title = curtitle.replace(expand, collapse);
	return false;
}

// Toggle the info boxes
function Info_Toggle(elm) {
	elm2 = elm + "2";
	elm2State = document.getElementById(elm2).style.display;
	document.getElementById(elm2).style.display = document.getElementById(elm).style.display;
	document.getElementById(elm).style.display = elm2State; }

// expand / collapse a teased html page
function ShowHTML(pageid) {
	var teasedid = "teasedhtml" + pageid;
	var fullid = "fullhtml" + pageid;
	if(document.getElementById(fullid).style.display == "none")
	{
		document.getElementById(teasedid).style.display = "none"
		document.getElementById(fullid).style.display = ""
	}
	else
	{
		document.getElementById(fullid).style.display = "none"
		document.getElementById(teasedid).style.display = ""
	}
}

// resize images
function ResizeImages(ID, rescale) {
	var ImgData = eval("MsgImages"+ID);
	var setlen = ImgData.length -1;
	var elements = new Array();
	var elm = 0;
	var failed = 0;

	for(var idx = 0; idx < setlen; idx++)
	{
		for(var i = 0; i < document.getElementsByName(ImgData[idx]).length; i++)
		{
			if(document.getElementsByName(ImgData[idx])[i].src != "")
			{
				if(document.getElementsByName(ImgData[idx])[i].complete)
				{
					elements[elm] = document.getElementsByName(ImgData[idx])[i];
					elm++;
				}
				else
					failed++;
			}
		}
	}

	if(failed == 0)
	{
		window.clearInterval(ImgData[setlen]);
		var imgsrc = "";
		for(var idx = 0; idx < elements.length; idx++)
		{
			if(imgsrc != elements[idx].src)
			{
				imgsrc = elements[idx].src
				var Xsize = elements[idx].width;
				var Ysize = elements[idx].height;
			}
			var fact = ((Xsize > rescale || Ysize > rescale) ? (Xsize > Ysize ? Xsize : Ysize) : rescale);
			elements[idx].width = Math.ceil(Xsize * (rescale / fact));
			elements[idx].height = Math.ceil(Ysize * (rescale / fact));
		}
	}
}

// xbarkey events
function xBarKeys(Events) {
	if(pmx_xBarKeys)
	{
		var xKey = 0;
		if(!Events)
			Events = window.event;
		if(Events.ctrlKey)
		{
			if(Events.which)
				xKey = Events.which;
			else
			{
				if(Events.keyCode)
					xKey = Events.keyCode;
			}
			switch(xKey)
			{
				case 37:
					leftPanel.toggle();
					return false;
				case 38:
					topPanel.toggle();
					return false;
				case 39:
					rightPanel.toggle();
					return false;
				case 40:
					bottomPanel.toggle();
					return false;
				default:
					return true;
			}
		}
		else if(Events.altKey)
		{
			if(Events.which)
				xKey = Events.which;
			else
			{
				if(Events.keyCode)
					xKey = Events.keyCode;
			}
			switch(xKey)
			{
				case 38:
					headPanel.toggle();
					return false;
				case 40:
					footPanel.toggle();
					return false;
				default:
					return true;
			}
		}
		else
			return true;
	}
	else
		return true;
}
document.onkeydown = xBarKeys;

