/* [Logik Standard functions
 (c)2011 [Logik software + consulting GmbH
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 !!! DO NOT MODIFY !!
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
*/
function DlgMsgBox(MsgText)
{
	Logik_DialogWindow = Logik_StackGetActive();
	
	if (Logik_DialogWindow == -1)
	{
		
	   	Dialog.alert(MsgText, {width:300, okLabel: "Ok", ok:function(win) {return true;}});
	}
	else
	{
		
		function Logik_AlertMessage()
		{
			
			if (Logik_DialogStatus != "")
			{
				setTimeout(function() {Logik_AlertMessage()},50);
				return;
			}
			Logik_DialogWindow.content.contentWindow.Logik_DialogMessage(MsgText);
	   }
		
		Logik_AlertMessage();
	}
}
function DlgCancel(MsgText)
{
	if (Logik_SrvBsy == "ni")
	{
		Set_Get("logik_frame_control.php?CleanSession=true&USID="+Unique_Session);
	}
	else
	{
		Logik_FuncStackNext();
	}
	setTimeout(function(alert){Dialog.alert(Logik_RetrieveJS_Msg("CFG_CANCEL"), {width:300, height:100, okLabel: "Ok", ok:function(win) {return true;}})},500);
}

function UserEvent(Name, Par1, Par2, Par3)
{
	Logik_SrvBsy = "nuev";

	var Logik_UEventFunctionObj = Logik_FuncUEVObj;
	if (typeof(Logik_UEventFunctionObj) != "function")
	{
		alert("Userevent-Function not declared!");
	}

	Logik_UEventFunctionObj(Name, Par1, Par2, Par3);
}

function UevDone()
{
	Logik_SrvBsy = "bsy";
	Logik_FuncStackNext();
}

function ExecDone()
{
	Logik_FuncStackNext();
	Logik_Term_fx();
}

function DlgOpen(CommStr)
{
	var docwidth  = null;
	var docheight = null;
	if(CommStr.substr(0,4)=="zlib")
	{
		CommStr = JXG.decompress(CommStr.substr(4));
	}
	
	if (window.innerWidth || window.innerHeight)
	{
		docwidth = window.innerWidth;
		docheight = window.innerHeight;
	}
	
	if (document.body.clientWidth || document.body.clientHeight)
	{
		docwidth = document.body.clientWidth;
		docheight = document.body.clientHeight;
	}
	
	var Logik_RcvValues   = CommStr.split(Logik_SplitChar);
	var Logik_WinPosTop 	= Number((docheight/2)-(Logik_RcvValues[2]/2));
	var Logik_WinPosLeft 	= Number((docwidth/2) -(Logik_RcvValues[1]/2));
	var Logik_WindowURL = String(Logik_DialogOutput + Logik_RcvValues[0] + ".htm");
	
	
	if(Logik_RcvValues[2] > docheight)
	{
		Logik_WinPosTop = 0;
	}
	
	Logik_DialogStatus = "lo";
	
	var Logik_NewDialog = new Window({className: Logik_WindowTheme, url: Logik_WindowURL , width:Logik_RcvValues[1], height:Logik_RcvValues[2] ,top:Logik_WinPosTop,left:Logik_WinPosLeft,showEffect:Element.show,hideEffect:Effect.SwitchOff,resizable:false,maximizable:false, destroyOnClose:true, wiredDrag:true});
	Logik_NewDialog.show();
	Logik_StackAdd(Logik_NewDialog);
}

function DlgClose()
{
	try
	{
		Logik_DialogWindow = Logik_StackGetActive();
		
		Logik_StackRemove();		
		
		Logik_WinClose(Logik_DialogWindow);
	}
	catch(e)
	{
		;
	}
}

function GPar(ParValue)
{
	switch (Logik_TargetElemTyp)
	{
	case LOGIK_RET_TYPE_CALLBACKFNC:
		alert("Not implemented yet!");
		break;
			
	case LOGIK_RET_TYPE_INPUT:
		Logik_TargetElemObj.value = ParValue;
		break;
	
	case LOGIK_RET_TYPE_LIST:
		
		var ValuesArr = ParValue.split(ParValue.charAt(0));
		var NumVal = ValuesArr.length;
			
		for (i=1; i < NumVal; i++)
		{
			var newOption   = self.document.createElement("option");
			newOption.text  = ValuesArr[i];
			newOption.value = ValuesArr[i];
			
			if (document.all && window.createPopup)
				Logik_TargetElemObj.add(newOption);
			else
				Logik_TargetElemObj.appendChild(newOption);
		}
		break;
	case LOGIK_RET_TYPE_VARIABLE:
		Logik_TargetElemObj =ParValue;
		break;	
	}
	Logik_FuncStackNext();
}

function DlgSetData(Unicode, CommStr)
{
	if(CommStr.substr(0,4)=="zlib")
	{
		CommStr = JXG.decompress(CommStr.substr(4));
	}
	
	Logik_DataStr = CommStr;	
	Logik_SetData();
}

function Logik_SetData()
{	
	Logik_DialogWindow = Logik_StackGetActive();
	if (Logik_DialogWindow == -1 || Logik_DialogStatus != "")
	{
			setTimeout(function() {Logik_SetData()}, 100);
			return;
	}
	var Logik_ContentWindow = Logik_DialogWindow.content.contentWindow;
	
	Logik_ContentWindow.Logik_WriteElemVal();
	Logik_ContentWindow.Logik_CheckButtonState(0);
	
	if (Logik_IFrame.tenabled == true)
		Logik_ContentWindow.Exp_DrawIFrame();
	
	if (Logik_ContentWindow.$("ExpIFrame"))
	{
		if (Logik_IFrame.src != Logik_ContentWindow.$("ExpIFrame").src)
		{
			setTimeout(function(){Logik_ContentWindow.self.$("ExpIFrame").src = Logik_IFrame.src;},50);
		}
		if(Logik_IFrame.src != "about:blank")
		{
			Logik_ContentWindow.Exp_IFrameReload();
		}
	}
}

function TableAllowEnterCell()
{
	Logik_TableAllowEnterCell = true;
}

function Logik_ErrorMessage(Text)
{
	Dialog.alert(Text, {width:300, height:100, okLabel: "Ok", ok:function(win) {return true;}});
}

function Logik_SetServerState(State)
{
	Logik_SrvBsy = State;
}

function Logik_CleanSession()
{
	Set_Get('logik_frame_control.php?CleanSession=true');
}
function WebUpload(Destination,AllowedMimes,MaxSize)
{
	Logik_DialogWindow = Logik_StackGetActive();
	Logik_DialogWindow.Logik_Show_Overlay("UPLOAD",Destination,AllowedMimes,MaxSize);
}
function CancelConfig()
{
	Dialog.confirm(Logik_RetrieveJS_Msg("DLG_CLOSE"), {width:400, okLabel:Logik_RetrieveJS_Msg("DLG_CLOSE_TRUE"),cancelLabel:Logik_RetrieveJS_Msg("DLG_CLOSE_FALSE"), ok:function(win){Logik_StackClear();Set_Post("logik_frame_control.php","dlgmsg="+LOGIK_SMS_DLGCANCEL+"&dlgcauser=&dlgdata=");parent.Cancel = true; return true}, cancel:function(win){Logik_StackRemove();Set_Post("logik_frame_control.php","dlgmsg="+LOGIK_SMS_DLGREOPEN+"&dlgcauser=&dlgdata=");parent.Cancel = false; return true}});
}

