var ProdCat_Repository = "/international/web/lg/fr/prodcatfr.nsf/RepositoryByAlias/Like30Std/$FILE/"; function SecureShoppingCartOffer( WebShopIsEnabled, WebShopUser ) { // Refresh quantity and open RFQ/Order form var sessionID = getCookie("ShoppingCartSessionID"); if (sessionID == null) { shwDialog( "Title",runAgent("", BuildXMLVariables("ErrNoID")) ); return; } if (ShoppingCart_CheckQuantity() == false) return; var ProductID = ""; var ProductQty = ShoppingCart_GetQuantityFromAll(); // open RFQ form or Web-Shop step 0 // swap to new path using secure socket layer // make function adaptable for generic sites: var fullUrl = window.location.href; var urlArr = fullUrl.split("/"); var sslUrlStart = "https://" + urlArr[2]; if (WebShopIsEnabled == "1") { result = runAgent("", BuildXMLVariables("prepareWebShopSteps", sessionID, WebShopUser, ProductQty)); //window.location.href = sslUrlStart + dbPath + "0/"+ result window.location.href = sslUrlStart + dbPath + "GoToSSL?OpenForm&"+ result //window.location.href = dbPath + "0/"+ result } else { result = runAgent("", BuildXMLVariables("prepareForOffer", sessionID, ProductID, ProductQty)); // comment next row to turn off ssl: // window.location.href = sslUrlStart + dbPath + "PCOrder?OpenForm&"+sessionID window.location.href = dbPath + "PCOrder?OpenForm&"+sessionID } } function ShoppingCartAddBASIC( ProductActionCode, ProductID ) { if (checkCookie() == false) { result = runAgent("", BuildXMLVariables("ErrNoCookies")); return result; } if (CheckActivatedActiveX() == -1) { return "Please activate the ActiveX Controlls first. Reload the page after your change."; } var sessionID = getCookie("ShoppingCartSessionID"); if (sessionID == null) { var mysid = Math.random(); var Jetzt = new Date(); sessionID = Jetzt.getFullYear()+"-"+(Jetzt.getMonth()+1)+"-"+Jetzt.getDate()+"-"+Jetzt.getTime()+"-"+mysid.toString(); WSsetCookie("ShoppingCartSessionID", sessionID, 0); // sessionID = getCookie("ShoppingCartSessionID") // Make sure it is the correct value (on set a 0 is added ??) } return decodeURIComponent( runAgent("", BuildXMLVariables(ProductActionCode, sessionID, ProductID, "")) ); } function ShoppingCartAdd( ProductID ) { // Standard version //alert( ShoppingCartAddBASIC( "addToCart", ProductID ) ); ShoppingCartAddBASIC( "addToCart", ProductID ); } function ShoppingCartAddFR( ProductID ) { // French version //alert( ShoppingCartAddBASIC( "addToCartFR", ProductID ) ); ShoppingCartAddBASIC( "addToCartFR", ProductID ); } function ShoppingCartRemove() { // Remove selected products and refresh quantity - BUT only when products are selected var sessionID = getCookie("ShoppingCartSessionID"); if (sessionID == null) { shwDialog( "Title",runAgent("", BuildXMLVariables("ErrNoID")) ); return; } if (ShoppingCart_CheckQuantity() == false) return; var ProductID = ShoppingCart_GetSelected(); var ProductQty = ShoppingCart_GetQuantityFromAll(); if (ProductID == "") return; // no need to refresh result = runAgent("", BuildXMLVariables("removeFromCart", sessionID, ProductID, ProductQty)); if (Trim(result) == "DONE") window.location.href = window.location.href; else shwDialog( "Title",decodeURIComponent( result )); } function ShoppingCartUpdate() { // Remove selected products and refresh quantity - INDEPENDEND of selected products // See function ShoppingCartRemove() var sessionID = getCookie("ShoppingCartSessionID"); if (sessionID == null) { shwDialog( "Title",runAgent("", BuildXMLVariables("ErrNoID")) ); return; } if (ShoppingCart_CheckQuantity() == false) return; var ProductID = ShoppingCart_GetSelected(); var ProductQty = ShoppingCart_GetQuantityFromAll(); result = runAgent("", BuildXMLVariables("updateCart", sessionID, ProductID, ProductQty)); if (Trim(result) == "DONE") window.location.href = window.location.href; else shwDialog( "Title",decodeURIComponent( result )); } function ShoppingCartRecalc() { // Recalculate the price and refresh/store quantity var sessionID = getCookie("ShoppingCartSessionID"); if (sessionID == null) { shwDialog( "Title", runAgent("", BuildXMLVariables("ErrNoID")) ); return; } if (ShoppingCart_CheckQuantity() == false) return; var ProductID = ""; var ProductQty = ShoppingCart_GetQuantityFromAll(); result = runAgent("", BuildXMLVariables("recalcCart", sessionID, ProductID, ProductQty)); if (Trim(result) == "DONE") window.location.href = window.location.href; else shwDialog( "Title",decodeURIComponent( result )); } function ShoppingCartOffer( WebShopIsEnabled, WebShopUser ) { // Refresh quantity and open RFQ/Order form var sessionID = getCookie("ShoppingCartSessionID"); if (sessionID == null) { shwDialog( "Title",runAgent("", BuildXMLVariables("ErrNoID")) ); return; } if (ShoppingCart_CheckQuantity() == false) return; var ProductID = ""; var ProductQty = ShoppingCart_GetQuantityFromAll(); // open RFQ form or Web-Shop step 0 // swap to new path using secure socket layer // make function adaptable for generic sites: var fullUrl = window.location.href; var urlArr = fullUrl.split("/"); var sslUrlStart = "https://" + urlArr[2]; if (WebShopIsEnabled == "1") { result = runAgent("", BuildXMLVariables("prepareWebShopSteps", sessionID, WebShopUser, ProductQty)); // comment next row to turn off ssl: window.location.href = sslUrlStart + dbPath + "0/"+ result // window.location.href = dbPath + "0/"+ result } else { result = runAgent("", BuildXMLVariables("prepareForOffer", sessionID, ProductID, ProductQty)); // comment next row to turn off ssl: window.location.href = sslUrlStart + dbPath + "PCOrder?OpenForm&"+sessionID // window.location.href = dbPath + "PCOrder?OpenForm&"+sessionID } } function ShoppingCart_GetSelected() { var f = document.forms["ShopCart"]; var tmpSD = ""; if (f.ProdShopCartList.length == undefined) { if (f.ProdShopCartList.checked == true) tmpSD = f.ProdShopCartList.value; } else { for (var i=0; i"); document.writeln(""); document.writeln(""); if (SubTitleRight != "") document.writeln(""); document.writeln("
"+SubTitleLeft+""+SubTitleRight+"
"); document.writeln("
"); } function ProdCat_VerticalLineInTable (NumberOfCols) // Creates a line with an image. These kind of border is not possible with html/css { document.writeln(""); } function Trim(s){ if (s!=""){s = s.replace(/^\s+/,"")} if (s!=""){s = s.replace(/\s+$/,"")} return s; } function getFrac(num) { num=""+num; return parseFloat("0."+num.substring(num.length-((num.indexOf(".")>=0)?num.length-num.indexOf(".")-1:0),num.length)); } function dezInt(num,size,prefix) { prefix=(prefix)?prefix:"0"; var minus=(num<0)?"-":"", result=(prefix=="0")?minus:""; num=Math.abs(parseInt(num,10)); size-=(""+num).length; for(var i=1;i<=size;i++) { result+=""+prefix; } result+=((prefix!="0")?minus:"")+num; return result; } function dezFrac(num,size,postfix) { postfix=(postfix)?postfix:"0"; var i, result=getFrac(Math.abs(num)); result=(result)?""+result:""; if(result) { result=result.substring(2,result.length); } size-=result.length; for(i=1;i<=size;i++) { result+=postfix; } return result; } function dez(num,presize,postsize,prefix,postfix,fracSign) { fracSign=(fracSign)?fracSign:"."; var result=dezInt(num,presize,prefix)+fracSign+dezFrac(num,postsize,postfix); result=(result.substring(result.length-1,result.length)==fracSign)?result.substring(0,result.length-1):result; return result; } // ========================================================================================= function BuildXMLFormVariables( myActionCode, sessionID, myTempOrderDocUID, myForm ) { // This function build a XML var with all fields from the specified form. if (myActionCode == null) myActionCode = ""; if (sessionID == null) sessionID = ""; if (myTempOrderDocUID == null) myTempOrderDocUID = ""; if (myForm == null) myForm = document.forms[0].name; if (myForm == "") myForm = document.forms[0].name; // Create new DOMParser - This "If" condition tests the browser (for Mozzilla, non IE). if (document.implementation && document.implementation.createDocument) { // Mozilla, create a new DOMParser var parser = new DOMParser(); xmlString = ""; xmlString = xmlString + "" + myActionCode + "" xmlString = xmlString + "" + sessionID + "" xmlString = xmlString + "" + myTempOrderDocUID + "" xmlString = xmlString + "" + myForm + "" } // This "If" condition tests the browser (for IE). else if (window.ActiveXObject) { // IE, create a new DOMParser var objDOM = new ActiveXObject("Microsoft.XMLDOM") RootEl = objDOM.createNode(1, "RootElement", "") objDOM.documentElement = RootEl objHeaders = objDOM.createNode(1, "ActionCode", "") objHeaders.text = myActionCode RootEl.appendChild(objHeaders) objHeaders = objDOM.createNode(1, "SessionID", "") objHeaders.text = sessionID RootEl.appendChild(objHeaders) objHeaders = objDOM.createNode(1, "TempOrderDocUID", "") objHeaders.text = myTempOrderDocUID RootEl.appendChild(objHeaders) objHeaders = objDOM.createNode(1, "myFormName", "") objHeaders.text = myForm RootEl.appendChild(objHeaders) } // Builds the XML variables with all fields from the given form. Using form[0] if myForm is not defined. var f = document.forms[myForm]; rememberEmptyCheckboxFields = "#"; for (var i=0; i" + escape(fv) + "" } else if (window.ActiveXObject) { // IE objHeaders = objDOM.createNode(1, fe.name, ""); objHeaders.text = escape(fv); RootEl.appendChild(objHeaders); } } } fadd = false; break; case "textarea": fv = fe.value; // noch return etc umwandeln !!! break; default: // text, select-one fv = fe.value; break; } // Add to XML-Variable if (fadd==true) { if (document.implementation && document.implementation.createDocument) { // Mozilla xmlString = xmlString + "<"+fe.name+">" + escape(fv) + "" } else if (window.ActiveXObject) { // IE objHeaders = objDOM.createNode(1, fe.name, ""); objHeaders.text = escape(fv); RootEl.appendChild(objHeaders); } } } // Close the DomParser if (document.implementation && document.implementation.createDocument) { // Mozilla xmlString = xmlString + "" objDOM = parser.parseFromString(xmlString, "text/xml"); } else if (window.ActiveXObject) { // IE // no special close needed } return objDOM; } function BuildXMLVariables( myActionCode, sessionID, ProductID, myXMLText ) { // Builds the XML variables that will be sent to the agent. if (myActionCode == null) myActionCode = ""; if (sessionID == null) sessionID = ""; if (ProductID == null) ProductID = ""; if (myXMLText == null) myXMLText = ""; // This "If" condition tests the browser (for Mozzilla, non IE). if (document.implementation && document.implementation.createDocument) { // Mozilla, create a new DOMParser var parser = new DOMParser(); xmlString = "" // add as many as you'd like to here. These variables will be accessible via the agent. xmlString = xmlString + "" + myActionCode + "" xmlString = xmlString + "" + sessionID + "" xmlString = xmlString + "" + ProductID + "" xmlString = xmlString + "" + myXMLText + "" xmlString = xmlString + "" objDOM = parser.parseFromString(xmlString, "text/xml"); } // This "If" condition tests the browser (for IE). If you have a specific else if (window.ActiveXObject) { // IE, create a new XML document using ActiveX and use loadXML as a DOM parser. var objDOM = new ActiveXObject("Microsoft.XMLDOM") RootEl = objDOM.createNode(1, "RootElement", "") objDOM.documentElement = RootEl // add as many of these nodes as you need. These variables will be accessible via the agent. objHeaders = objDOM.createNode(1, "ActionCode", "") objHeaders.text = myActionCode RootEl.appendChild(objHeaders) objHeaders = objDOM.createNode(1, "SessionID", "") objHeaders.text = sessionID RootEl.appendChild(objHeaders) objHeaders = objDOM.createNode(1, "ProductID", "") objHeaders.text = ProductID RootEl.appendChild(objHeaders) objHeaders = objDOM.createNode(1, "myXMLText", "") objHeaders.text = myXMLText RootEl.appendChild(objHeaders) } return objDOM; } function runAgent(strAgentName, strXMLvariables) { // Cross-Browser ----- Calls the Agent strAgentName = "ProductCatalogUniversalWebAgent"; // set fix strUrl = dbPath + strAgentName+"?OpenAgent"; // dbPath set by LIKE // This "If" condition tests the browser (for Mozzilla, non IE). if (document.implementation && document.implementation.createDocument) { objHTTP = new XMLHttpRequest(); objHTTP.open("POST", strUrl, false); } else if (window.ActiveXObject) { objHTTP = new ActiveXObject("Microsoft.XMLHTTP"); objHTTP.open("POST", strUrl, false, null, null); } objHTTP.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); objHTTP.send(strXMLvariables); resp = objHTTP.responseText; objHTTP = null; return resp; } function CheckActivatedActiveX() { // IE Windows only -- check for ActiveX control; Return: 0=No IE; 1=active; -1=inactive result = 0; if (window.ActiveXObject) { result = -1; eval ('try {var xObj = new ActiveXObject("Microsoft.XMLDOM");if (xObj) result = 1; xObj = null; } catch (e) {}'); } return result; } // ========================================================================================= function WSsetCookie(name,value,expires) { // own cookie, because like standard allow no expire "after browser close". var s=name+"="+escape(value)+";"; if(expires!=null && expires!=0) { var later=new Date(); later.setTime(later.getTime()+(expires*1000)); s+=" expires="+later.toGMTString()+";"; } document.cookie=s+"path=/;"; } function checkCookie() { // returns false, if the browser accepts no cookies setCookie("CookieTest", "OK") if (!getCookie("CookieTest")) return false; else { delCookie("CookieTest"); return true; } }