var mlAppType=0;
var mlDemoType=0;
var msCmd='';
var mbConnected=false;

function mOnLoad()
{
	if (document.all.txtMethod.value=='Start')
		mStartApp(-1)
	else if (document.all.txtMethod.value=='StartDemo')
		mStartApp(99,2)
	else if (document.all.txtMethod.value=='Register')
		mStartApp(99,1)
}
function mStartApp(lAppType,lDemoType)
{
	var sCmd, sServer;
	var sWindowFeatures;
	var sPosition;
    var sBrowser;
    var bAllowFF3 = false;
    
	//alert('Die Anwendung wird im Moment aktualisiert und ist ab ca. 13:00 Uhr wieder verfügbar');
	//return;

	mlAppType = lAppType;
	mlDemoType = lDemoType;
	
    sBrowser = navigator.userAgent;
    if (sBrowser.indexOf('Firefox/3.0')>0 && bAllowFF3)
    {
        mbConnected=false;
        mStartApp2();
        return;
    }
    
	var sBrowser=navigator.appVersion;		
	sBrowser = sBrowser.substr(sBrowser.search(/MSIE/i)+5,1)


	if (sBrowser<'5')
		alert('Mindestens Internet Explorer 5.0 erforderlich !');
	else
		mCheckSettings()
}

function mStartApp2()
{
	var sName;
	
	if (mbConnected)
		return;
		
	mbConnected = true;

	if (document.all.chkSSL.checked)
		sServer = 'https://' + msServer;
	else
		sServer = 'http://' + msServer + msPort;
		
	if (msWebRootNameSSL!='' && document.all.chkSSL.checked)
	{
	    sCmd = msWebRootNameSSL;
	}
	else
    {
        sCmd = sServer + msWebPageRoot;
    }
		
	if (mlAppType==99)
	{
		if (mlDemoType==2 || mlDemoType==9 || mlDemoType==99)
			sCmd = sCmd + '/ie50/UserAccounts/ChooseDemoVersion.aspx?Type='+mlDemoType;
		else
			sCmd = sCmd + '/ie50/UserAccounts/CreateAccount.aspx?Type='+mlDemoType;

		sWindowFeatures = 'menubar=no,resizable=yes,fullscreen=no,';
		sPosition = 'left=' + (screen.availWidth/2-300) + ',top=' + (screen.availHeight/2-270) + ',height=600,width=800'
		sName = 'MyFactoryAccount';

		if (document.all.txtPartnerID.value!='') 
		{
			window.open('empty.htm',sName,sWindowFeatures + sPosition);
			msCmd = sCmd;
			window.setTimeout('mPostUserData()',50);
			return;
		}

		if (document.all.txtAdvisor.value!='')
			sCmd = sCmd + '&Advisor=' + document.all.txtAdvisor.value;
	}
	else
	{
		sCmd = sCmd + '/ie50/system/login/sysloginbackground.aspx?login=start&apptype=' + mlAppType;
		sWindowFeatures = 'menubar=no,resizable=yes,fullscreen=no,status=yes,';
		sPosition = 'left=' + (screen.availWidth/2-300) + ',top=' + (screen.availHeight/2-270) + ',height=450,width=600'
		sName = 'MyFactoryMain';

		if (document.all.txtPartnerID.value!='')
			sCmd = sCmd + '&PartnerID=' + document.all.txtPartnerID.value;

		if (document.all.txtForeignUser.value!='')
			sCmd = sCmd + '&ForeignUser=' + document.all.txtForeignUser.value;
	}

	window.open(sCmd,sName,sWindowFeatures + sPosition);
}
function mPostUserData()
{
	var frm = window.frmData;
	frm.target = 'MyFactoryAccount';
	frm.method = 'post';
	frm.action = msCmd;
	frm.submit();
}

function mCheckSettings()
{
	var sAnswer;

	try
	{
		var oHttp = new ActiveXObject("Microsoft.XMLHTTP")
	}
	catch(e)
	{
		window.showModalDialog(msWebPageRoot + '/ie50/system/window/errtextactivex.aspx','','resizable:yes');
		return;
	}

	try
	{
		
		sAnswer = gsCallServerMethod(msWebPageRoot + '/IE50/System/Check/CheckASPDebugFlag.aspx','')
		if (sAnswer!="abc")
			{
			alert("ASP Debug Flag:"+sAnswer);
			}
		else
			{
			// alert("OK"+sAnswer);
			}
	}
	catch(e)
	{
		alert(e.description);
	}


	try
	{
		if (msPort==':443' || msPort==':444')
			oHttp.open('POST','https://' + msServer + msPort + msWebPageRoot + '/Empty.aspx',true);
		else
			oHttp.open('POST','http://' + msServer + msPort + msWebPageRoot + '/Empty.aspx',true);

		oHttp.onreadystatechange = mStartApp2;
		oHttp.send('<?xml version="1.0" ?><a></a>');
		mbConnected = false;
		window.setTimeout("mErrNoConnection()",30000);
	}
	catch(e)
	{
		alert(e.description);
	}


}
function mErrNoConnection()
{
	if (!mbConnected)
		window.showModalDialog(msWebPageRoot + '/ie50/system/window/errtextproxy.aspx','','resizable:yes');
}

function gsCallServerMethod(sURL,sParams)
{
	var sResponse;	
	var sXml = '<?xml version="1.0"?><Call><Params>' + sParams + '</Params></Call>';
	
	var oHttp = new ActiveXObject("Microsoft.XMLHTTP");
	if (sParams>'' && sParams!='undefined')
	{
		oHttp.open('POST',sURL,false);
		oHttp.send(sXml);
	}
	else
	{
		oHttp.open('GET',sURL,false);
		oHttp.send('');
	}	
	// trim the response	
	sResponse= oHttp.responseText;
	sResponse = sResponse.replace(/(^\s*)|(\s*$)/g, "");
	return(sResponse);
}
