 function freeprint_DoFSCommand(command, args) {
			freedesignContainer_DoFSCommand(command, args) ;
	}  
	
 // Verarbeiten aller FSCommand-Meldungen in einem Flash-Film
  function freedesignContainer_DoFSCommand(command, args) {
    switch(command){
    case 'message':
        alert(args);
        break;
      case 'leaveSite':
        eval("freeprint_show_alert = " + args + ";");
        break;

      case 'showImprint':
        eval(args);
        break;
      case 'closeUploadWin':
        try{fp_uploadwin.close();}catch(e){}
        break;
      case 'printPreview':
			case 'toggleFullscreen':

					//div-FS
					if(freeprint_fullscreen_available){
			  		
			  		//normal
			  		if(freeprint_fullscreen){
			    	
					  	document.getElementById('freedesignContainer').style.left = null;
					  	document.getElementById('freedesignContainer').style.top = null;
			    		document.getElementById('freedesignContainer').style.width 	= parseInt(document.getElementById('content').offsetWidth) + 'px';
			    		document.getElementById('freedesignContainer').style.height = parseInt(document.getElementById('content').offsetHeight) + 'px';
			    		freeprint_fullscreen = false;
			    	//FS	
			    	}else{
			      	
			      	document.getElementById('freedesignContainer').style.left 	= '0px';
			    	document.getElementById('freedesignContainer').style.top 	= '0px';
			    	document.getElementById('freedesignContainer').style.width 	= '100%';
					document.getElementById('freedesignContainer').style.height = '100%';
			      	
			      	freeprint_fullscreen = true;
			      }
			  	}else{
			    	
			    	eval('void window.open(' + args + ')');
			    }
			  break;
			  
			  case 'move_boxlogin': 						
						
			      //dynamisch verruecken                      	
            if(args == 'ProductOverview'){  
              document.getElementById("loginBar").style.paddingLeft = '20px';  
              document.getElementById("logoName").style.paddingLeft = '18px'; 
              if(document.getElementById("infoBar")){
              	document.getElementById("infoBar").style.paddingRight = '20px';
              }
            }else{
              document.getElementById("loginBar").style.paddingLeft = '27px'; 
              document.getElementById("logoName").style.paddingLeft = '25px';               
              
              if(document.getElementById("infoBar")){
              	document.getElementById("infoBar").style.paddingRight = '27px';
              }
            }           
                        
			  break;
    }
  }
  
  // Hook für Internet Explorer.
  if (navigator.appName && navigator.appName.indexOf("Microsoft") != -1 && navigator.userAgent.indexOf("Windows") != -1 && navigator.userAgent.indexOf("Windows 3.1") == -1) {
    document.write('<script language=\"VBScript\"\>\n');
    document.write('On Error Resume Next\n');
    document.write('Sub freeprint_FSCommand(ByVal command, ByVal args)\n');
    document.write('  Call freedesignContainer_DoFSCommand(command, args)\n');
    document.write('End Sub\n');
    document.write('</script\>\n');
  }
  

  function freeprint_alert(){
    if(document.all){
      event.returnValue = freeprint_alert_text;
    }else{
      alert(freeprint_alert_text);
      return false;
    }
  }
  
var Options;

function init(){

	if (typeof(init_help_lyer) == "function") {
    init_help_lyer();
  }
  
	if(freeprint_template && !freeprint_fullscreen_available){		
		
		var testPopUp = window.open("about:blank", "_blank", "left=5000, top=5000, width=1, height=1");				
		
		if(testPopUp == null){
			alert(text_popupblocker_deaktivieren);
		}else {	
			testPopUp.close();
		}
	}
  	if( ! document.calcform || document.calcform.pg.value != "kalkulieren"){	  
		return true;
	}

/********		RePoFusion für eingeschränktes Template Felder ausblenden		***********/
 	 if(template && template == "limited"){
 		if(document.getElementById("row_products")){	document.getElementById("row_products").style.display = "none";}
 		if(document.getElementById("row_format")){		document.getElementById("row_format").style.display = "none";}
 		if(document.getElementById("row_seiten")){		document.getElementById("row_seiten").style.display = "none";}
 		if(document.getElementById("row_verarbeitung")){document.getElementById("row_verarbeitung").style.display = "none";}
 		if(document.getElementById("row_farbe")){		document.getElementById("row_farbe").style.display = "none";}
 		
  }
/**********************************************************************************/
	
  
  	if ( typeof(Dependence) != "object" ) {
    	alert ("Konfigurationsfehler! Module?");
    	return false;
  	}
  	Options = new ShadowObjectList(document.calcform, Ranking, Dependence);

	//wenn man von Quick-Kalkulation kommt
	if (document.calcform && document.calcform.auflage.value && document.calcform.auflage.value != mengeStr && document.calcform.auflage.value != menge){
		document.calcform.auflage.style.color = "#003399";
    	prepare_calculation('calculateGo');
	}

  	return true;   
}


function checkDependence(OBJ){
  Options.check(OBJ);
}


function getMenuValue(menu) {
  var source = eval("document.calcform."+menu);
  var out = "";
  for(i=0; i<source.options.length; i++) {
    if(source.options[i].selected) {
      out = source.options[i].value; break;
    }
  }
  return (out);
}

function prepare_calculation(WHAT, POPUP) {

  versandauswahl = getMenuValue('versandauswahl');
  if(versandauswahl!=0) { document.calcform.versand.value = versandauswahl; }
    
  set_menge();  

    if (POPUP  == true ) {
      winExt("",WHAT,0,0);
      document.calcform.target=WHAT;
    } else {
      document.calcform.target = "S";
    }
    document.calcform.pg.value = WHAT;
    document.calcform.submit();
    
}


function set_menge() {
	var oMenge = document.calcform.menge;
	if (typeof(oMenge) == "object") {
		var mengenauflage0 = new String(oMenge.options[oMenge.options.selectedIndex].text);
		var mengenauflage1 = new Array();
		mengenauflage1 = mengenauflage0.split(" ");
		// Pr�fen, ob Produkt Kopierpapier ist
		var productName = document.calcform.product.value;
		var ergebnisKopierpapier = productName.match(/kopierpapier/i);
		if(ergebnisKopierpapier){
			// f�r Kopierpapier menge ausrechnen
			if(mengenauflage1[2].toString() >= 500){
				document.calcform.auflage.value = mengenauflage1[2].toString();
			}else{
				// => multiplizieren mit 2500(Anzahl der Bl�tter im Karton)
				document.calcform.auflage.value = (mengenauflage1[2] * 2500).toString();
			}
		}else{
			document.calcform.auflage.value = mengenauflage1[0].toString();
		}
	}
}

function prepare_order() {
	set_menge();
		
	// LiveShopping: neues Feld in die Form einbinden mit der LiveShopping-Id
	if (typeof(liveshoppingProductId) == "string" || typeof(liveshoppingProductId) == "number") {
		if (document.calcform.product) {
			var sProduct = new String();
			sProduct = document.calcform.product.value;

			if (sProduct.indexOf("_") == -1) {
				var oNewFormField = document.createElement("input");
				oNewFormField.setAttribute("type", "hidden");
				oNewFormField.setAttribute("name", "LiveShoppingProductId");
				oNewFormField.setAttribute("id", "LiveShoppingProductId");
				oNewFormField.setAttribute("value", liveshoppingProductId);
				document.forms["calcform"].appendChild(oNewFormField);
			}
		}
	}
  
    document.calcform.pg.value = 'calc';
    document.calcform.orderstep.value = 'opes';
    document.calcform.target="";
		if (document.calcform.producttype && document.calcform.producttype.options.selectedIndex == "1"){			
			document.calcform.produkttyp.value = "2";
		}			
		
		if(template && template == "limited"){
			document.calcform.produkttyp.value = "2";									
		}

    document.calcform.submit();   

}

function set_field(formname, fieldname, value) {
  
  var target = eval("document."+formname+"."+fieldname);  
  target.value = value;
  
  // do calculation 
  prepare_calculation('calculateGo');
}

/* set some data... */

function set_data(BESTPRICE, VERSAND) {

  document.calcform.versand.value=VERSAND;  

  // set button 'b_angebotdrucken' 
  name = "b_angebotdrucken";
  if(BESTPRICE==1) {
    if(document.images) {
	    if (document[name]) {
	      var src = document[name].src;
	      var on = src.lastIndexOf("_on");
	      var pos = src.lastIndexOf("b_angebotdrucken");
	      if(pos != -1) {
	        if(on != -1){
	          document[name].src = src.substring(0,pos) + "b_angebotdruckenBP_on.gif";
	        }else{
	          document[name].src = src.substring(0,pos) + "b_angebotdruckenBP_off.gif";
	        }      
	      }
	    }
    }
  } else {
    if(document.images) {
	    if (document[name]) {
	      var src = document[name].src;
	      var on = src.lastIndexOf("_on");
	      var pos = src.lastIndexOf("b_angebotdrucken");
	      if(pos != -1){ 
	        if(on != -1){
	          document[name].src = src.substring(0,pos) + "b_angebotdrucken_on.gif"; 
	        }else{
	          document[name].src = src.substring(0,pos) + "b_angebotdrucken_off.gif";
	        }
	      }
	    }
    }
  }
}


function onload_error() {
 if ((typeof(errorRegister)) == 'function') {
	    // ja -> ausführen
	    errorRegister();
  } else if ((typeof(errorChangePWD)) == 'function') {
      // ja -> ausführen
      errorChangePWD();
  }
}

function endprice_error(NULL){
	if (NULL == 1){
	
		alert (alert_text);
	
	}
}

// MCO/REG Anfang
function orderHint(oThis){
	/*
	// vor Projekt MCO
	if(document.orderform || document.freeprintform)
    return confirm(sMessageCoOrderHintText);
    */

	if(document.orderform || document.freeprintform) {
	    if (document.getElementById("MCO")) {
	        if (oThis.tagName && oThis.tagName == "A") {
  		        showMessageCancelOrder(sMessageCoLogoutOrder, oThis.href);
	            return false;
	        }
        } else {
            return confirm(sMessageCoOrderHintText);
        }
    } else if (document.rf && sPg != "profile_edit" && document.rf["usrcmd"].value != "updatepwd") {
        // Dialog im Registrieren-Formular
        if (document.getElementById("REG")) {
            sMessageCoDestination = oThis.href;
            showMessageCancelRegistration(sMessageCancelRegistration, oThis.href);
            return false;
        } else {
            return confirm(sMessageCancelRegistration);
        }
    }
}
function logout() {
    /// @function logout()
    /// @description Klick auf Logout:
    /// @description wenn Kunde bereits im Orderprozess, dann Message anzeigen
    /// @author Michael Bauer <michael.bauer@unitedprint.com>
    /// @param nothing
    /// @return nothing

    if (sMessageCoIsOrderBegin == 1) {
        var oFormField = document.getElementById("MCO_Form");
        oFormField.value = sMessageCoLogoutDefaultText;
        oFormField.style.color = "#909090";
        oFormField.style.fontSize = "10px";
        showMessageCancelOrder(sMessageCoLogoutOrder);
    } else {
        doLogout(sMessageCoDestination);
    }
}
function setInput(oThis) {
    /// @function setInput()
    /// @description setzt das Feld zurueck
    /// @author Michael Bauer <michael.bauer@unitedprint.com>
    /// @param Object, Tag
    /// @return nothing

    if (oThis.value == sMessageCancelRegistrationDefaultText || oThis.value == sMessageCoLogoutDefaultText) {
        oThis.value = "";
    }
    oThis.style.color = '#000000';
    oThis.style.fontSize = "11px";
}

var wasSent = 0;

function doSend(sTodo) {
    var sSendText = new String();
    var sPg = new String();
    var sCmd = new String();

    // Wurde bereits verschickt? -> abbrechen
    // (Wird abgefragt um Mehrfachmails wegen klickwütigen und ungeduldigen Usern zu vermeiden)
    if (wasSent == 1) {
  		return;
    }
    
    switch (sTodo) {
        case "MCO":
            sSendText = document.getElementById("MCO_Form").value;
            sPg = "message_cancel_order";
            sCmd = "send_MCO"
            sMessageCoExitPoint = "Order step 1 of 2";
            break;
        case "REG":
            sSendText = document.getElementById("REG_Form").value;
            sPg = "message_cancel_registration";
            sCmd = "send_REG"
            sMessageCoExitPoint = "register";
            break;
    }
    
    if (sSendText.toString() == sMessageCoLogoutDefaultText.toString()
        || sSendText.length == 0
        || sSendText.toString() == sMessageCancelRegistrationDefaultText.toString()) {
        sSendText = "no comment";
    }
    
    with (new setOrderData) {
        pg = sPg;
        cmd = sCmd;
        id = sid;
        ExitPoint = sMessageCoExitPoint;
        MessageText = sSendText;
        onSuccess = function(response) {
            switch (sTodo) {
                case "MCO":
                    doLogout(sMessageCoDestination);
                    break;
                case "REG":
                    if (typeof("isExitClick") == "string") {
                        isExitClick = false;
                    }
                    document.location.href = sMessageCoDestination;
                    break;
            }
        }
        SetSuggestion();
    }
}

function doLogout(Destination) {
    /// @function doLogout()
    /// @description einfaches Logout (wie Funktion vor Einbau MCO)
    /// @param String, eventuelles Ziel, ansonsten Logout
    /// @author Michael Bauer <michael.bauer@unitedprint.com>
    /// @return nothing

    window.onbeforeunload = null;
    
    var sUrl = new String();
    
    if (Destination && Destination.length != 0) {
        sUrl = Destination;
    } else {
        sUrl = sServer_Url + sStartPage + "&pg=" + sPg + "&s_pg=" + sS_Pg + "$&usrcmd=logout";    
    }
    document.location.href = sUrl;
}
// MCO/REG Ende

// ==============[ Funktion zum Oeffnen des Hinweis-Dialoges ]==============//
/**
* @description
*   Oeffnen eines Alert-Dialoges mit OK-Button
* @author
*   Sebastian Koepsel
* @date
*   20.05.2009
* @param
*   portalShortCut  - portalShortCut
*   scAlertText     - Text fuer den Dialog
*   okLabelText     - Label fuer den Bestaetigen-Button - wird im Template gesetzt
*   dialogWidth     - Breite des Dialoges
*   alertType       - Welcher Alert soll angezeigt werden - Bestaetigung mit 'OK' oder aufforderung 'aktualisieren'/'loeschen'
* @return
*/
function openAlertConfirmDialog(portalShortCut, scAlertText, dialogHeight, dialogWidth, layerId, alertType, productCodePortal, productType, xmlId) {
    
    var refreshTextModified = refreshText.replace(/'/, "&prime;");
    var deleteTextModified = deleteText.replace(/'/, "&prime;");
    
    if (alertType != '1') {
        var refreshParams = "&quot;"+portalShortCut+"&quot;,"+layerId+",&quot;"+refreshTextModified+"&quot;";
        var deleteParams = "&quot;"+portalShortCut+"&quot;,"+layerId+",&quot;"+deleteTextModified+"&quot;";
    }
    
    var changeParams;
    if (productType && productType == '0') {
        changeParams = "&quot;kalkulieren&quot;,&quot;modifyProduct&quot;,&quot;"+productCodePortal+"&quot;,"+layerId+",&quot;&quot;";
    } else if (productType && productType == '1') {
        changeParams = "&quot;freeprint&quot;,&quot;modifyProduct&quot;,&quot;&quot;,"+layerId+",&quot;freeprint_temp_"+xmlId+"&quot;";
    } else if (productType && productType == '2') {
        changeParams = "&quot;samplecase&quot;,&quot;modifyProduct&quot;,&quot;&quot;,"+layerId+",&quot;&quot;";
    }
    
    var height = 150;
    if (dialogHeight) {
        height = dialogHeight;
    }
    
    // wenn die Seite komplett geladen wurde...
    window.onload = function() {
        var win = new Window(
           {
               className: 'overlay_'+portalShortCut,
               id: 'MessageLayerAlertDialog'+layerId,
               width: dialogWidth, 
               height: height, 
               zIndex: 700, 
               resizable: false, 
               showEffectOptions: {duration:0},
               hideEffectOptions: {duration:0},
               draggable: false, 
               wiredDrag: false,
               minimizable: false,
               maximizable: false,
               closable: false,
               recenterAuto: true
           }
        ) 
        var alertContent
        /* alertTypes
         * 1 = OK-Button - keine nachfolgende Reaktion
         * 2 = Delete- && Refresh-Button - Produkt loeschen oder automatisch aktualisieren
         * 3 = OK-Button - Loescht das Produkt
         * 4 = OK-Button - Warenkorb aktualisieren
         * 5 = Delete- && Refresh-Button - Produkt loeschen oder zur Kalkulieren-Seite zurueckfuehren
        */
        if (alertType && alertType == 3) {
            alertContent = "<div style='text-align:left;'>"+scAlertText+"<br/><br/><div id='alertConfirmButtons' style='position:absolute; width:"+dialogWidth+"px;'><center><a id='confirmButtonOK' class='button_alertOk_small' href='#' onClick='scDeletePosition("+deleteParams+");Windows.close(&quot;MessageLayerAlertDialog"+layerId+"&quot;, event)'>"+okLabelText+"</a></center></div></div>";
        } else if (alertType && alertType == 2) {
            alertContent = "<div style='text-align:left;'>"+scAlertText+"<br/><br/><div id='alertConfirmButtons' style='position:absolute; width:"+dialogWidth+"px;'><center><a id='confirmButtonRefresh' class='button_small' href='#' onClick='scRefreshPosition("+refreshParams+");Windows.close(&quot;MessageLayerAlertDialog"+layerId+"&quot;, event)'>"+refreshLabelText+"</a><a id='confirmButtonDelete' class='button_small' href='#' onClick='scDeletePosition("+deleteParams+");Windows.close(&quot;MessageLayerAlertDialog"+layerId+"&quot;, event)'>"+deleteLabelText+"</a></center></div></div>";
        } else if (alertType && alertType == 4) {
            alertContent = "<div style='text-align:left;'>"+scAlertText+"<br/><br/><div id='alertConfirmButtons' style='position:absolute; width:"+dialogWidth+"px;'><center><a id='confirmButtonOK' class='button_alertOk_small' href='/?sid="+layerId+"&orderstep=osc' onClick='openInfoDialog(&quot;refresh&quot;);'>"+okLabelText+"</a></center></div></div>";
        } else if (alertType && alertType == 5) {
            alertContent = "<div style='text-align:left;'>"+scAlertText+"<br/><br/><div id='alertConfirmButtons' style='position:absolute; width:"+dialogWidth+"px;'><center><a id='confirmButtonChange' class='button_small' href='#' onClick='submitOrderstepOSC("+changeParams+");Windows.close(&quot;MessageLayerAlertDialog"+layerId+"&quot;, event)'>"+changeLabelText+"</a><a id='confirmButtonDelete' class='button_small' href='#' onClick='scDeletePosition("+deleteParams+");Windows.close(&quot;MessageLayerAlertDialog"+layerId+"&quot;, event)'>"+deleteLabelText+"</a></center></div></div>";
        } else {
            if (document.calcform && document.calcform.pg.value == "kalkulieren") { init(); onload_error(); endprice_error(endprice_null); prepare_calculation('calculateGo')};
            alertContent = "<div style='text-align:left;'>"+scAlertText+"<br/><br/><div id='alertConfirmButtons' style='position:absolute; width:"+dialogWidth+"px; bottom:20px;'><center><a id='confirmButtonOK' class='button_alertOk_small' href='#' onClick='Windows.close(&quot;MessageLayerAlertDialog"+layerId+"&quot;, event)'>"+okLabelText+"</a></center></div></div>";
        }
        
        win.getContent().innerHTML = alertContent;
        win.showCenter(true);
        win.setDestroyOnClose();
    }
}