﻿

/* BO Style Switcher */

function fontsizeup() {
  active = getActiveStyleSheet();
  switch (active) {
    case 'A-' : 
      setActiveStyleSheet('A');
      break;
    case 'A' : 
      setActiveStyleSheet('A+');
      break;
    case 'A+' : 
       break;
    default :
      setActiveStyleSheet('A');
      break;
  }
}

function fontsizedown() {
  active = getActiveStyleSheet();
  switch (active) {
    case 'A+' : 
      setActiveStyleSheet('A');
      break;
    case 'A' : 
      setActiveStyleSheet('A-');
      break;
    case 'A-' : 
       break;
    default :
      setActiveStyleSheet('A');
      break;
  }
}

function setActiveStyleSheet(title) {
  var i, a, main;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
      a.disabled = true;
      if(a.getAttribute("title") == title) a.disabled = false;
    }
  }
}

function getActiveStyleSheet() {
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title");
  }
  return null;
}

function getPreferredStyleSheet() {
  return ('A');
}

function createCookie(name,value,days) {
  if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
  }
  else expires = "";
  document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
  }
  return null;
}

window.onload = function(e) {
  var cookie = readCookie("style");
  var title = cookie ? cookie : getPreferredStyleSheet();
  setActiveStyleSheet(title);
}

window.onunload = function(e) {
  var title = getActiveStyleSheet();
  createCookie("style", title, 365);
}

var cookie = readCookie("style");
var title = cookie ? cookie : getPreferredStyleSheet();
if (title == 'null') {
  title = getPreferredStyleSheet();
}

setActiveStyleSheet(title);

/* EO Style Switcher */

/* BO Search Input Field */

function checkScope(value) {
    var target = document.getElementById('modifier');
    if(value!='partno') {
       if (document.getElementById('searchmessage') != null) {
           document.getElementById('searchmessage').firstChild.nodeValue = '';
       }
       if (document.getElementById('leftofsearchmessage') != null) {
           document.getElementById('leftofsearchmessage').style.visibility='hidden';    
       }
    }        
    if(value=='products') {
        target.style.visibility='visible';
    } else {
        target.style.visibility='hidden';
    }
} 
           
function checkValidation(form) {
    var scope = document.getElementById('scope').value;
    var searchterm = document.forms[0].elements['searchterm'].value  // getElementById doesn't work in IE 6
    var searchtermlength = document.forms[0].elements['searchterm'].value.length;  // getElementById doesn't work in IE 6
                
    if (scope == 'partno') {
        if (searchtermlength < 6) {
            for (var i = searchtermlength; i < 6; i++) {
                searchterm = '0' + searchterm;
         }
    }
        if ( !searchterm.match(/^[0-9][0-9][0-9][0-9][0-9][0-9]$/) && !searchterm.match(/^[0-9][0-9][0-9][0-9][0-9][0-9][-][0-9][0-9][0-9][0-9]$/) ) {
            document.getElementById('searchmessage').firstChild.nodeValue = 'Bitte gültige Artikel-Nr. im Format 123456 oder 123456-1234 eingeben!';
            document.getElementById('leftofsearchmessage').style.visibility='visible';  
            return false;
        } else { 
            document.forms[0].elements['searchterm'].value = searchterm;
        } 
        return true;
    } else {
        return true;
    }
}

/* EO Search Input Field */

/* BO Session Cookie Helper */
function showElement(elmnt) {
    document.getElementById(elmnt).style.display='block';
}
function hideElement(elmnt) {
    document.getElementById(elmnt).style.display='none';
}
function UrlExists(url)
{
    // Provide the XMLHttpRequest class for IE 5.x-6.x:
    // Other browsers (including IE 7.x-8.x) ignore this
    //   when XMLHttpRequest is predefined
    if (typeof(XMLHttpRequest) == "undefined") {
        XMLHttpRequest = function() {
            try { return new ActiveXObject("Msxml2.XMLHTTP.6.0"); }
                catch(e) {}
            try { return new ActiveXObject("Msxml2.XMLHTTP.3.0"); }
                catch(e) {}
            try { return new ActiveXObject("Msxml2.XMLHTTP"); }
                catch(e) {}
            try { return new ActiveXObject("Microsoft.XMLHTTP"); }
                catch(e) {}
            throw new Error("This browser does not support XMLHttpRequest.");
        };
    }
  var http = new XMLHttpRequest();
  http.open('HEAD', url, false);
  http.send(null);
  return http.status!=404;
}
function cookieEnabled() {
    Set_Cookie ('pf_detect_cookie', 'none', '', '/', '', '');
    // if Get_Cookie succeeds, cookies are enabled, since the cookie was successfully created.
    if (Get_Cookie('pf_detect_cookie')) {
        hideElement('cookiesmessage');
        Delete_Cookie('pf_detect_cookie', '/', '');
    } else {
        // hs.htmlExpand(document.getElementById("nocookielink"), {objectType: 'ajax', align: 'center' });
        showElement('cookiesmessage');
        UrlExists('/no_cookie_enabled.html');
    }
}
/* EO Session Cookie Helper */

/* BO Heart Beat */
// Die Funktion getXMLHTTPObject erzeugt abhängig vom Browser ein XMLHTTPObjekt, mit dem Requests an den Server gestellt werden können.
function getXMLHTTPObject()
{
    var xmlhttp = false;
    
    // xmlHttpRequest Objekt wird erzeugt
    /*@cc_on @*/
    /*@if (@_jscript_version >= 5)
    // JScript gives us Conditional compilation, we can cope with old IE versions.
    // and security blocked creation of the objects.
     try {
          xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
     }
    catch (e)
     {
          try {
               xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
          } 
        catch (E)
         {
               xmlhttp = false;
          }
     }
    @end @*/
    // Mozilla, Opera, Safari sowie Internet Explorer 7
    if (!xmlhttp && typeof XMLHttpRequest != 'undefined')
     {
        try
         {
            xmlhttp = new XMLHttpRequest();
        }
         catch (e)
         {
            xmlhttp = false;
        }
    }
    if (!xmlhttp && window.createRequest)
    {
        try 
        {
            xmlhttp = window.createRequest();
        }
        catch (e)
        {
            xmlhttp = false;
        }
    }
    
    return xmlhttp;
}

// Die Funktion sendRequest bekommt eine Instanz von xmlHttpRequest und eine Url als Parameter
// Ein Request wird an den Server mit der angegebenen Url gestellt.
function sendRequest(url)
{
    var xmlhttp = getXMLHTTPObject();
    xmlhttp.open('GET', url, true);
    xmlhttp.send("");
}

// Die Funktion loadImage lädt ein Bild, das in der angegebenen Url ist.
// Diese Funktion wird als Rückfallebene verwendet, falls sendRequest nicht verwendet werden kann
function loadImage(url)
{
    if (url != '')
    {
        var image = new Image();
        image.src = url;
    }
}

function setupHeartBeat(heart_beat_url, heart_beat_image_url, restart_interval)
{
    if (getXMLHTTPObject())
    {
        // Wenn das Objekt erfolgreich erzeugt wurde, wird eine Abfrage dem Server durch das Objekt geschickt.
        var aktiv = window.setInterval("sendRequest('" + heart_beat_url + "')", restart_interval);
    }
    else
    {
        // Sonst wird ein Bild geladen. Dafür wird auch eine Abfrage an den Server geschickt. 
        // Sowohl der angegebenen Url als auch der Url des Bildes wurde die SessionID der aktuellen Session angehängt.
        var aktiv = window.setInterval("loadImage('" + heart_beat_image_url +"')", restart_interval);
    }
}
/* EO Heart Beat */
 
/*BO PCV */


function submitPCV(form) {
                document.getElementById('result').innerHTML = "&nbsp;";
                document.getElementById('error').innerHTML = "&nbsp;";
                
                var start; 
                start = document.forms[1].elements['istart'].value;
                if (start.match(/-/)){
                    document.getElementById('error').innerHTML = "Bitte geben Sie korrekte Werte ein!";
                    return false;
                }
                start = start.replace(/,/g,"."); //Komma mit Punkt ersetzen für Math.funktion erforderlich
                length = parseInt(start);
                start4end = Math.round(start*100)/100; //abrunden mit zwei Kommastellen
                if (start4end > 9999.99)  {
                    document.getElementById('error').innerHTML = "Der maximale Startwert betr&auml;gt „9999“!";
                    return false;
                }                
                start = Math.floor(start/10)*10; //abrunden Zehner
                if (isNaN(start)) {
                    document.getElementById('error').innerHTML = "Bitte geben Sie korrekte Werte ein!";
                    return false;
                }    

               
                var length; 
                length = document.forms[1].elements['ilength'].value;
                if (length.match(/-/)){
                    document.getElementById('error').innerHTML = "Bitte geben Sie korrekte Werte ein!";
                return false;
                }

                length = length.replace(/,/g,".");
               
                               
                if ((Math.ceil(length)) > 100)  {
                    document.getElementById('error').innerHTML = "Die maximale L&auml;nge betr&auml;gt „100“!";
                    return false;
                } else {
                    if (isNaN(length)){
                            document.getElementById('error').innerHTML = "Bitte geben Sie korrekte Werte ein!";
                            return false;
                        } else {

                            length = Math.round(length*100)/100;  
                            var end = Math.round((start4end + length)*100);
                                
                            var result="<br class='clear'/><H2>Grundlage zur Berechnung</H2><div>Startwert in Meter: "+start4end+"<br class='clear'/>Codebandl&auml;nge in Meter: "+length+"</div>";
                            
                            var result = result+"<br class='clear'/><H2>PDF-Download</H2><UL class='sub'>";
                        
                                                         
                            var x = start *100;
                            var y = end-1;

                            if (y > 999999) { 
                                y = 999999;
                                document.getElementById('error').innerHTML = "Die maximale L&auml;nge wurde erreicht!";
                            }
                                               
                            while (x <= y) {
                                var xStr = String(x);
                                var xStrlength= xStr.length;
                                if (xStrlength < 6) {
                                    while (xStrlength < 6) {
                                        xStr = "0"+xStr;
                                        xStrlength = xStrlength +1;
                                    }
                                }
                                
                                var result = result+"<li><a target='_blank' href='/cps/data/general/pcv/PCV10M-CA20-"+xStr+".pdf'>PCV10M-CA20-"+xStr+".pdf</a></li>";
                                x = x+1000;
                            } 
                            
                            var result = result+"</ul>";
                            
                            document.getElementById('result').innerHTML = result;
                        }
                        return false;
                    }
}



function submitPCVMarker(form) {
                document.getElementById('resultmarker').innerHTML = "&nbsp;";
                document.getElementById('errormarker').innerHTML = "&nbsp;";
                
                var markernr; 
                markernr = document.forms[2].elements['imarkernr'].value;

                if (!markernr.match(/^[0-9]{1,3}$/)){                    
                    document.getElementById('errormarker').innerHTML = "Bitte geben Sie korrekte Werte ein!";
                    return false;
                }

                if (markernr > 10) {
                    document.getElementById('errormarker').innerHTML = "Die maximale Marker-Nummer betr&auml;gt „10&quot;!";
                    return false;
                }  
                
                var strmarkernr;
                strmarkernr = String(markernr);
                var strmarkernrlength= strmarkernr.length;
                if (strmarkernrlength < 3) {
                   while (strmarkernrlength < 3) {
                   strmarkernr = "0"+strmarkernr ;
                   strmarkernrlength = strmarkernrlength +1;
                   }
                }

                            var result="<br class='clear'/><H2>Grundlage zur Berechnung</H2><div>Marker-Nummer: "+markernr+"</div>";
                            
                            var result = result+"<br class='clear'/><H2>PDF-Download</H2><UL class='sub'>";


                            var result = result+"<li><a target='_blank' href='/cps/data/general/pcvmarker/PCV-CM20-"+strmarkernr+".pdf'>PCV10M-CA20-"+strmarkernr+".pdf</a></li>"
            
                            var result = result+"</ul>";
                            
                            document.getElementById('resultmarker').innerHTML = result;

                    return false;

}

/*EO PCV */
