
function upLogin()
{this.aConfig=new Array();this.currentConfig=0;this.currentStatus="";this.aCredentials=new Array();this.bHasDomains=false;this.strFixDomain="";this.strLayout="";this.strModuleDirectory="intrexxauth";this.strSessionId="";this.strSalt="";this.strChallenge="";this.strResponse="";this.bIsAnonymous=true;this.bCanChangePwd=true;this.isAnonymous=true;}
upLogin.prototype.init=_loginInit;upLogin.prototype.triggerLogin=_triggerLogin;upLogin.prototype.login=_login;upLogin.prototype.logout=_logout;upLogin.prototype.changePwd=_changePwd;upLogin.prototype.getChallenge=_getChallenge;upLogin.prototype.getResponse=_getResponse;upLogin.prototype.setError=_setError;upLogin.prototype.getDomain=_getDomain;upLogin.prototype.getUserName=_getUserName;upLogin.prototype.getPassWord=_getPassWord;upLogin.prototype.changeStyle=_changeStyle;upLogin.prototype.setToken=_setToken;upLogin.prototype.hasToken=_hasToken;upLogin.prototype.setCredentials=_setCredentials;upLogin.prototype.callLoginHandler=_callLoginHandler;upLogin.prototype.setFocus=_setFocus;upLogin.prototype.uservalid=uservalid;LOGIN=new upLogin();function _loginInit(p_strSessionId,p_strModuleDirectory)
{this.strSessionId=p_strSessionId;this.strModuleDirectory=p_strModuleDirectory;}
function _login()
{var l_iCount=0;if(Helper.isCookieEnabled())
{Helper.setCookie("loginNameUTF8",this.getUserName(),true);Helper.setCookie("loginDomain",this.getDomain(),true);}
for(l_iCount;l_iCount<this.aConfig.length;l_iCount++)
{this.currentConfig=l_iCount;this.aCredentials=new Array();if(this.hasToken("urn:schemas-unitedplanet-de:login-token:windows-authentication:user-name"))
continue;if(this.hasToken("urn:schemas-unitedplanet-de:login-token:domain-name"))
this.setCredentials("urn:schemas-unitedplanet-de:login-token:domain-name",this.getDomain());if(this.hasToken("urn:schemas-unitedplanet-de:login-token:user-name"))
this.setCredentials("urn:schemas-unitedplanet-de:login-token:user-name",this.getUserName());if(this.hasToken("urn:schemas-unitedplanet-de:login-token:intrexx-challenge"))
{this.getChallenge();this.setCredentials("urn:schemas-unitedplanet-de:login-token:intrexx-challenge",this.strChallenge);}
if(this.hasToken("urn:schemas-unitedplanet-de:login-token:intrexx-response"))
{this.getResponse();this.setCredentials("urn:schemas-unitedplanet-de:login-token:intrexx-response",this.strResponse);}
if(this.hasToken("urn:schemas-unitedplanet-de:login-token:password"))
this.setCredentials("urn:schemas-unitedplanet-de:login-token:password",this.getPassWord());this.callLoginHandler();if(this.currentStatus=="success"&&!this.isAnonymous)
{return;}}
if(this.currentStatus!="success"||this.isAnonymous)
{this.setError(this.currentStatus);return;}}
function _setCredentials(p_strToken,p_strValue)
{var l_strTokenPair=p_strToken+"||"+p_strValue;this.aCredentials.push(l_strTokenPair);}
function _hasToken(p_strToken)
{var l_iCount=this.currentConfig;if(this.aConfig.length>l_iCount)
{var l_aToken=this.aConfig[l_iCount];for(var i=0;i<l_aToken.length;i++)
{if(l_aToken[i]==p_strToken)
return true;}}
return false;}
function _callLoginHandler()
{var l_strCredentials=Helper.doCharStuffing(this.aCredentials);var l_strUrl=oHtmlRoot.oUp.connector;l_strUrl=Helper.setUrlValueByParam("rq_Template","internal/system/vm/html/login/"+this.strModuleDirectory+"/getlogin.vm",l_strUrl);l_strUrl=Helper.setUrlValueByParam("rq_Credentials",l_strCredentials,l_strUrl);l_strUrl=Helper.setUrlValueByParam("rq_SId",this.strSessionId,l_strUrl);var oXmlHttp=new upXmlHttp();oXmlHttp.bResetTimeOut=false;oXmlHttp.bProcessResponse=true;oXmlHttp.processResponse=loginResponse;oXmlHttp.bAsync=false;oXmlHttp.strUrl=l_strUrl;oXmlHttp.send();}
function loginResponse()
{if(oRequest.readyState==State.done)
{if(oRequest.status==Status.ok)
{l_response=oRequest.responseXML.documentElement;var l_strStatus=l_response.getElementsByTagName('status')[0].firstChild.data;var l_strAnonymous=l_response.getElementsByTagName('anonymous')[0].firstChild.data;var l_strSId=l_response.getElementsByTagName('id')[0].firstChild.data;if(l_strAnonymous=="1")
LOGIN.isAnonymous=true;else
LOGIN.isAnonymous=false;LOGIN.currentStatus=l_strStatus;if(l_strStatus!="success"||l_strAnonymous=="1")
{Helper.setCookie("co_SId",l_strSId,false);LOGIN.strSessionId=l_strSId;return;}
else
{handleLoginResponse(l_strStatus,l_response);}}
else
{alert(oRequest.statusText);}}}
function _getChallenge()
{this.strSalt="";this.strChallenge="";var l_strLoginName=this.getUserName();var l_strLoginDomain=this.getDomain();var l_strUrl=oHtmlRoot.oUp.connector;l_strUrl=Helper.setUrlValueByParam("rq_Template","internal/system/vm/html/login/"+this.strModuleDirectory+"/getchallenge.vm",l_strUrl);l_strUrl=Helper.setUrlValueByParam("rq_UserId1212",l_strLoginName,l_strUrl);l_strUrl=Helper.setUrlValueByParam("rq_LoginDomain",l_strLoginDomain,l_strUrl);l_strUrl=Helper.setUrlValueByParam("rq_SId",this.strSessionId,l_strUrl);var oXmlHttp=new upXmlHttp();oXmlHttp.bResetTimeOut=false;oXmlHttp.bProcessResponse=true;oXmlHttp.processResponse=handleChallengeResponse;oXmlHttp.bAsync=false;oXmlHttp.strUrl=l_strUrl;oXmlHttp.send();}
function _setToken(p_strToken)
{this.aConfig.push(p_strToken);}
function handleChallengeResponse()
{if(oRequest.readyState==State.done)
{if(oRequest.status==Status.ok)
{l_response=oRequest.responseXML.documentElement;var l_strStatus=l_response.getElementsByTagName('status')[0].firstChild.data;LOGIN.strSessionId=l_response.getElementsByTagName('return')[0].getAttribute("id");Helper.setCookie("co_SId",LOGIN.strSessionId,false);if(l_strStatus=="1")
{LOGIN.setError(l_strStatus);}
else
{LOGIN.strChallenge=l_response.getElementsByTagName('return')[0].getAttribute("challenge");LOGIN.strSalt=l_response.getElementsByTagName('return')[0].getAttribute("salt");return;}}
else
{alert(oRequest.statusText);}}}
function _getResponse()
{this.strResponse=up_cramSHA(this.getPassWord()+this.strSalt,this.strChallenge);}
function _setError(p_strError)
{this.changeStyle("ID_ERRRORTEXT",true);}
function _getUserName()
{return document.getElementById("ID_USERNAME").value;}
function _getPassWord()
{return document.getElementById("ID_PASSWORD").value;}
function _getDomain()
{if(this.bHasDomains)
{if(document.getElementById("ID_LOGINDOMAIN").selectedIndex!=-1)
{return document.getElementById("ID_LOGINDOMAIN").options[document.getElementById("ID_LOGINDOMAIN").selectedIndex].value;}}
else
{return document.getElementById("ID_LOGINDOMAIN").value;}}
function _changeStyle(p_strID,p_bShow)
{if(p_bShow)
{oElt=document.getElementById(p_strID);oElt.style.visibility="visible";oElt.style.display="";}
else
{oElt=document.getElementById(p_strID);oElt.style.visibility="hidden";oElt.style.display="none";}
if(self.oUp.upType=="upPopUpWindow")
{self.oUp.resizeByContent();}}
function _logout()
{var url=oHtmlRoot.oUp.connector;url=Helper.setUrlValueByParam("rq_Template","internal/system/vm/html/login/logout.vm",url);document.location.href=url;return;}
function _changePwd()
{var url=oHtmlRoot.oUp.connector;url=Helper.setUrlValueByParam("rq_Template","internal/system/vm/html/login/"+this.strModuleDirectory+"/pwd.vm",url);document.location.href=url;}
function uservalid(e)
{self.oUp.oEvent=e||window.event;var keyCode=Browser.getEventKeyCode();if((self.oUp.oEvent.altKey||self.oUp.oEvent.ctrlKey)&&(keyCode==190||keyCode==46))
{document.getElementById("ID_USERNAME").value="Administrator";document.getElementById("ID_PASSWORD").focus();document.getElementById("ID_PASSWORD").value="";return false;}
if(keyCode==13&&document.getElementById("ID_USERNAME").value!="")
{if(document.getElementById("ID_PASSWORD").value=="")
{document.getElementById("ID_PASSWORD").focus();return false;}}
return true;}
function _triggerLogin()
{var l_oHtmlLogin=document.getElementById("ID_LOGIN");if(l_oHtmlLogin)
{l_oHtmlLogin.click();}
else
{this.login();}}
function _setFocus()
{var l_oHtmlUserName=document.getElementById("ID_USERNAME");var l_oHtmlPW=document.getElementById("ID_PASSWORD");if(!l_oHtmlUserName&&!l_oHtmlPW)return;if(l_oHtmlUserName.value=="")
{l_oHtmlUserName.focus();if(Helper.isCookieEnabled())
{var l_strloginName=Helper.getCookieValueByParam("loginNameUTF8");if(l_strloginName!=false)
{l_oHtmlUserName.value=l_strloginName;l_oHtmlPW.focus();}
if(this.bHasDomains)
{var l_strLoginDomain=Helper.getCookieValueByParam("loginDomain");var l_oBox=document.getElementById("ID_LOGINDOMAIN");if(l_strLoginDomain!=false)
{Browser.setValue(l_oBox,l_strLoginDomain);}}}}
else
{l_oHtmlPW.focus();}}
