var sRedir = "<!--redir:", sCookie = "<!--#cookie:";

function submitDialog(formName, callback) {
	
	changeImage(document.getElementById("imgState"), "/images/gen/icon/dialog/loading.gif");
	disableDialog();
	
	var frm = document.forms[formName];
	var param = getFormData(frm,true);
	
	var pid = Math.round(Math.random() * 100);
	
	ajSendRequest(frm.action, param, 2, pid, callback);		
}

function doSignOn(goToURI) {

	if(!ajGetXmlRequester()) {		
		var sUrl = "/usr/login/show.do";
		if(goToURI) sUrl += "?goToURI="+goToURI;							
		location.href = sUrl;
	} else {    	    
		var sUrl = "/ajx/signOn/show.do";
		
		var sParam = "";		
		if(goToURI) sParam = "goToURI="+goToURI;	
		
		var sFingerPrint = pul_getFP();	
		if(sFingerPrint) sParam += "&fingerprint="+sFingerPrint;
			
		var processId = Math.round(Math.random() * 100);				
		ajSendRequest(sUrl, sParam, 0, processId, "catchSignOn");
	} 
}

function submitSignOn(callback) {    
    document.forms['signOnForm'].fingerprint.value = pul_getFP();    
    submitDialog('signOnForm',callback);
}

function catchSignOn(response) {    
    catchLogin(response, "layerstd");   
}

function doLogin(goToURI) {

	if(!ajGetXmlRequester()) {		
		var sUrl = "/usr/login/show.do";
		if(goToURI) sUrl += "?goToURI="+goToURI;							
		location.href = sUrl;
	} else {	    	
		var sUrl = "/ajx/login/show.do";		
		var sParam = "";		
		
		if(goToURI) sParam = "goToURI="+goToURI;
		
		var processId = Math.round(Math.random() * 100);				
		ajSendRequest(sUrl, sParam, 0, processId, "catchDialogLogin");
	} //fuer headlogin erweitern!
}

function submitLogin(callback) {    
    document.forms['logForm'].fingerprint.value = pul_getFP();    
    submitDialog('logForm',callback);
}

function catchDialogLogin(response) {
    catchLogin(response, "layerstd");   
}

function catchHeadLogin(response) {    
    catchLogin(response, "loginlayer");   
}

function catchLogin(response, layername) {

	response = unescape(response);
	
	iCookiePos = -1;
	
	if(layername == "loginlayer") {
    	iCookiePos = response.indexOf(sCookie);
    	if(iCookiePos != -1) {
    	    
    	    var sSessionId = response.substring(iCookiePos+sCookie.length, response.indexOf("#-->",iCookiePos));	
      
    	    if(!fetchCookie("balogin")) { //fuer verticals anpassen!
                storeCookie("balogin", sSessionId, 365, "/");
            }
    	}
    }
		
	if(response.indexOf(sRedir,iCookiePos>-1?iCookiePos:0) != -1) {	
	     
	   if(checkVisibility(layername)) {
	     fadeElement(layername,95,0,1); 
	   }  		
       redir(response);
       
    } else {
      
        document.getElementById(layername).innerHTML = response;
    	
    	var isForm = response.indexOf("<form") != -1;
    	var isVisible = checkVisibility(layername);
    
    	if(!isVisible && isForm) {
    	  fadeElement(layername,95,0,1,-1,-1,400,600); 		
    	} else if(isVisible && !isForm) {
    	  fadeElement(layername,95,0,1);
    	  if(window.location.href.indexOf("logout") != -1) {
    	    location.href = "/usr/show.do";
    	  } else {
    	    window.location.reload(); 
    	  }
    	}	
    }
}

function doAccess() {

	if(!ajGetXmlRequester()) {		
		var sUrl = "/usr/access/show.do";		
		var frm = document.jobForm;
		if(frm) {
		 sParam = "/emp/cat/job/show.do?regist=auth&jobId="+frm.jobId.value+"&cat="+frm.cat.value+"&next="+frm.dialog.value+"&sessionId="+frm.sessionId.value;
		 sUrl = sUrl + "?goToURI=" + encodeURI(sParam);
		}						
		location.href = sUrl;
	} else {		
		var sUrl = "/ajx/access/show.do";		
		var processId = Math.round(Math.random() * 100);
				
		ajSendRequest(sUrl, "", 0, processId, "catchAccess");
	}
}

function catchAccess(response) {		
	
	response = unescape(response);
	document.getElementById("layerstd").innerHTML = response;
	
	var isForm = response.indexOf("<form") != -1;
	var isVisible = checkVisibility("layerstd");

	if(!isVisible && isForm) {
	  fadeElement('layerstd',95,0,1,-1,-1,400,260);	  		
	} else if(isVisible && !isForm) {
	  fadeElement('layerstd',95,0,1);	  
	}	
}

function doFriends() {
	
	if(!ajGetXmlRequester()) {		
		location.href = "/gbl/friends/show.do";
	} else {				
		var sUrl = "/ajx/friends/show.do";
		var pid = Math.round(Math.random() * 100);
					
		ajSendRequest(sUrl, "", 0, pid, "catchFriends");		
	}
}

function catchFriends(response) {		
	
	response = unescape(response);
		
	var isForm = response.indexOf("<form") != -1;
	var isVisible = checkVisibility("layerstd");

	if(!isVisible && isForm) {
	  document.getElementById("layerstd").innerHTML = response;	
	  fadeElement('layerstd',95,0,1,-1,-1,400,330);	  		
	} else if(isVisible && !isForm) {
	  fadeElement('layerstd',95,0,1);	  	  
	} else {
	  document.getElementById("layerstd").innerHTML = response;	
	}	
}

function showMovie() {

	if(ajGetXmlRequester()) {						
		var sUrl = "/ajx/gbl/movie/show.do";
		var pid = Math.round(Math.random() * 100);
			
		ajSendRequest(sUrl, "", 0, pid, "catchMovie");	
	}
}

function catchMovie(response) {		
	
	response = unescape(response);

	document.getElementById("layerstd").innerHTML = response;

	var isVisible = checkVisibility("layerstd");

	if(!isVisible) {
	  fadeElement('layerstd',100,0,1,-1,-1,511,340);	  		
	} else if(isVisible) {
	  fadeElement('layerstd',100,0,1);	  
	}
}

function showVideo(videoId) {
	
	if(ajGetXmlRequester()) {						
		var sUrl = "/ajx/gbl/video/show.do";
		var sPid = Math.round(Math.random() * 100);
		var sParam = "videoId="+videoId;
		
		ajSendRequest(sUrl, sParam, 0, sPid, "catchVideo");	
	}
}

function catchVideo(response) {		
	
	response = unescape(response);
	
	document.getElementById("layerstd").innerHTML = response;

	var isVisible = checkVisibility("layerstd");

	if(!isVisible) {
	  fadeElement('layerstd',100,0,1,-1,-1,511,340);	  		
	} else if(isVisible) {
	  fadeElement('layerstd',100,0,1);	  
	}
}

function redir(response) {	
    
    var iStart = response.indexOf(sRedir);
	var sUrl = response.substring(iStart+sRedir.length, response.indexOf("-->", iStart));
	
	if(sUrl.indexOf(";") == -1) {
	
    	var iQuestPos = sUrl.indexOf("?")+1;
    	if(iQuestPos > 0) {		   
    	   var sParamEncStr = "";
    	   var sParamStr = sUrl.substring(iQuestPos);

    	   /*if(sParam.substring(0,8) == "goToURI=") {		   	  
    	      sParam = sParam.substring(0,8) + escape(sParam.substring(8));
    	      sUrl = sUrl.substring(0,iQuestPos)+sParam;		      
    	   }*/
    	   var sParamList = sParamStr.split("&");
    	   for(i = 0; i < sParamList.length; i++) {    	    
    	      var sParam = sParamList[i].split("=");
    	      if(sParam.length == 2) {
    	        sParamEncStr += sParam[0] + "=" + escape(sParam[1]) + "&";   	        
    	      }     	        
    	   }	
    	   sUrl = sUrl.substring(0,iQuestPos)+sParamEncStr;   		
    	} 	
				
    	location.href = sUrl;
    	
    } else {
        eval(sUrl);
    }	
}

function disableDialog() {
	
	var oImgClose = document.getElementById("imgClose");
	if(oImgClose) oImgClose.src="/images/gen/icon/closeoff.gif";
	
	//document.getElementById("btnSend").disabled = true;
	//document.getElementById("btnCancel").disabled = true;
}
