﻿var userAgent = navigator.userAgent.toLowerCase();
this.isFirefox = /firefox/.test(userAgent);
this.isOpera = /opera/.test(userAgent);
this.isSafari = /webkit/.test(userAgent);
this.isIE = /msie/.test(userAgent) && !/opera/.test(userAgent);
this.isIE6 = /msie 6/i.test(navigator.appVersion);
this.browserVersion = (userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/) || [0, '0'])[1];
this.isIElt8 = this.isIE && (this.browserVersion - 0 < 8);
	

function defaultBtn(e) {

  var ev = null;
  if (isFirefox) ev = e;
  if (isIE) ev = event;
  if (e) { ev = e } else { ev = event }

  if (ev.keyCode == 13)
	{ 
		search();
		//event.returnValue=false;
		//event.cancel = true;
		ev.cancelBubble = true;
		if (ev.stopPropagation) ev.stopPropagation(); 
		//document.getElementById(btnSearchID).click();
		return false;
  }
}

function defaultOrderBtn(e) {

  var ev = null;

  if (isFirefox) {e.stopPropagation();e.cancelBubble = true;e.cancel = true; }
  if (isFirefox) ev = e;
  if (isIE) ev = event;
  if (e) { ev = e } else { ev = event }

  if (ev.keyCode == 13)
	{
	  ev.returnValue = false;
	  ev.cancel = true;
	  if (ev.stopPropagation) ev.stopPropagation();
	  orderArticles();
	  return false;
  }
  
}

function defaultSingleOrderBtn(e, btnID) {
  var ev = null;
  if (isFirefox) ev = e;
  if (isIE) ev = event;
  if (e) { ev = e } else { ev = event }


  if (ev.keyCode == 13)
	{
	  ev.returnValue = false;
	  ev.cancel = true;
		document.getElementById(btnID).click();
	}	
}


function AddSearchProvider(){
	var addr = "http://"+window.location.host+"/sgs/weblink/search/searchprovider.aspx";
	window.external.AddSearchProvider(addr);
}

function getXMLHTTPRequest(){
	if (window.XMLHttpRequest) {
	// If IE7, Mozilla, Safari, and so on: Use native object
		xmlHttp = new XMLHttpRequest();
	}
	else
	{
		if (window.ActiveXObject) {
		// ...otherwise, use the ActiveX control for IE5.x and IE6
		xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	return xmlHttp;
}

function busyObject(ID) {
  if (document.getElementById(ID)) {
    if (document.getElementById(ID).innerHTML != '') {
      if (document.getElementById(ID).innerHTML.indexOf(loadingImage) == -1) {
        document.getElementById(ID).innerHTML = '<img src=\'' +  loadingImage + '\'>' + document.getElementById(ID).innerHTML
      }   
    } else {
      document.getElementById(ID).innerHTML = '<img src=\'' +  loadingImage + '\'>';
    }  
  }
}

function busyByObject(obj) {
  if (obj) {
    if (obj.innerHTML != '') {
      if (obj.innerHTML.indexOf(loadingImage) == -1) {
        obj.innerHTML = '<img src=\'' +  loadingImage + '\'>' + obj.innerHTML
      }   
    } else {
      obj.innerHTML = '<img src=\'' +  loadingImage + '\'>';
    }  
  }
}


function amountSurggestion(obj, amount) {
  if (obj) {
    if (obj.value == '') {
      obj.value = amount;
      obj.select();
    }
  }
}

var cntzx = 0;
var ajaxurls = new Array();

function orderArticles(subElement, returnResult) {

  var txts = getElementsByClass('txtOrderAmount', subElement);
  var zx = 0;
  OAResult = '';
  cntzx = 0;
  ajaxurls = new Array();
  
  try {
    document.getElementById('btnOrder').disabled = true;
  } catch (e) {}

  if (txts) {
    if (txts.length > 0) {
      for (var z = 0; z < txts.length; z++) {
        if (txts[z].value) {
          if (txts[z].value != '') {


            if (txts[z].REL) {
              if (document.all) {
                ajaxurls[zx] = '/sgs/weblink/services/addtoactivedocument.aspx?a=' + escape(txts[z].REL) + '&q=' + escape(txts[z].value) + '&z=true';
              } else {
                ajaxurls[zx] = '/sgs/weblink/services/addtoactivedocument.aspx?a=' + txts[z].REL + '&q=' + txts[z].value + '&z=true';
              }

            } else if (txts[z].rel) {
              if (document.all) {
                ajaxurls[zx] = '/sgs/weblink/services/addtoactivedocument.aspx?a=' + escape(txts[z].rel) + '&q=' + escape(txts[z].value) + '&z=true';
              } else {
                ajaxurls[zx] = '/sgs/weblink/services/addtoactivedocument.aspx?a=' + txts[z].rel + '&q=' + txts[z].value + '&z=true';
              }

            } else if (txts[z].getAttribute('rel')) {
              if (document.all) {
                ajaxurls[zx] = '/sgs/weblink/services/addtoactivedocument.aspx?a=' + escape(txts[z].getAttribute('rel')) + '&q=' + escape(txts[z].value) + '&z=true';
              } else {
                ajaxurls[zx] = '/sgs/weblink/services/addtoactivedocument.aspx?a=' + txts[z].getAttribute("rel") + '&q=' + txts[z].value + '&z=true';
              }

            } else if (txts[z].getAttribute('REL')) {
              if (document.all) {
                ajaxurls[zx] = '/sgs/weblink/services/addtoactivedocument.aspx?a=' + escape(txts[z].getAttribute('REL')) + '&q=' + escape(txts[z].value) + '&z=true';
              } else {
                ajaxurls[zx] = '/sgs/weblink/services/addtoactivedocument.aspx?a=' + txts[z].getAttribute('REL') + '&q=' + txts[z].value + '&z=true';
              }

            }

            zx++;
            
            txts[z].value = '';
            var image = document.createElement('img');
            image.src = loadingImage
            image.className = 'orderBusy';
            txts[z].parentNode.appendChild(image);
            
          }
        }  
      }    
    }
  }

  if (ajaxurls.length > 0) {
    processOrderURLS(returnResult);
  }

//  try {
//    window.setTimeout('refreshWinkelWagen()', 100);
//  } catch (ex) { alert(ex.message); }

  
  try {
    document.getElementById('btnOrder').disabled = false;
  } catch (e) {}
}

function orderClearanceSaleArticles() {
  var txts = getElementsByClass('txtOrderAmount');
  var zx = 0;
  OAResult = '';
  cntzx = 0;
  ajaxurls = new Array();
  
  //busyObject('divOrder');
  document.getElementById('btnOrder').disabled = true;
  
  if (txts) {
    if (txts.length > 0) {
      for (var z = 0; z < txts.length; z++) {
        if (txts[z].value) {
          if (txts[z].value != '') {
            
            var hiddenTxt = document.getElementById(txts[z].id.replace('txt', 'txtH'));
            
            if (document.all) {
              if (hiddenTxt) {
                ajaxurls[zx] = '/sgs/weblink/services/addtoactivedocument.aspx?a='+escape(txts[z].rel)+'&q='+escape(txts[z].value)+'&p='+escape(hiddenTxt.value)+'&s='+escape(hiddenTxt.rel)+'&z=true&m=1';
              } else {
                ajaxurls[zx] = '/sgs/weblink/services/addtoactivedocument.aspx?a='+escape(txts[z].rel)+'&q='+escape(txts[z].value)+'&p=&s=&z=true&m=1';
              }

            } else {
              if (hiddenTxt) {
                ajaxurls[zx] = '/sgs/weblink/services/addtoactivedocument.aspx?a='+txts[z].attributes['rel'].value+'&q='+txts[z].value+'&p='+hiddenTxt.value+'&s='+hiddenTxt.attributes['rel'].value+'&z=true&m=1';
              } else {
                ajaxurls[zx] = '/sgs/weblink/services/addtoactivedocument.aspx?a='+txts[z].attributes['rel'].value+'&q='+txts[z].value+'&p=&s=&z=true&m=1';
              }  
            }  
            zx++;
            
            txts[z].value = '';
            var image = document.createElement('img');
            image.src = loadingImage
            image.className = 'orderBusy';
            txts[z].parentNode.appendChild(image);
            
          }
        }  
      }    
    }
  }

  if (ajaxurls.length > 0) {
    processOrderURLS();
  }
  
  document.getElementById('btnOrder').disabled = false;
}


var ajaxOA = new Array();
var OAResult = '';

function processOrderURLS(returnResult) {

  ajaxOA[cntzx] = getAjaxObject();
  if (cntzx == ajaxurls.length -1) {
    ajaxOA[cntzx].onreadystatechange = function() {
      if (ajaxOA[ajaxurls.length - 1].readyState == 4) {
        // Finnished

        var responseText = ajaxOA[ajaxurls.length - 1].responseText.split(';');

        switch (parseInt(responseText[0])) {
          case 1:
            OAResult += '<img src="/SGS/Weblink/Images/DocumentList/Completed16x16.gif" /> ' + responseText[1] + '<br />';
            break;

          case 2:
            OAResult += '<img src="/SGS/Weblink/Images/DocumentList/megawarn.gif" /> ' + responseText[1] + '<br />';
            break;

          case 3:
            OAResult += '<img src="/SGS/Weblink/Images/DocumentList/warn.gif" /> ' + responseText[1] + '<br />';
            break;

          case 9:
            OAResult += '<img src="/SGS/Weblink/Images/DocumentList/stop.gif" /> ' + responseText[1] + '<br />';
            break;

        }

        if (!returnResult) {
          jQuery.facebox(OAResult);
          try { refreshDockPane(); } catch (e) { }
          try { window.setTimeout('closeFaceBox()', 2500); } catch (ex) { }
        }
        removeElementsByClass('orderBusy');


        try { tryUpdateActiveDocument(); } catch (ex) { }

      }

      if ((ajaxOA[ajaxurls.length - 1].readyState == 4) && (ajaxOA[ajaxurls.length - 1].status != 200)) {
        //SignOff();
      }

    };
  } else {
  ajaxOA[cntzx].onreadystatechange = function() {
    if (ajaxOA[cntzx].readyState == 4) {

      var responseText = ajaxOA[cntzx].responseText.split(';');

      switch (parseInt(responseText[0])) {
        case 1:
          OAResult += '<img src="/SGS/Weblink/Images/DocumentList/Completed16x16.gif" /> ' + responseText[1] + '<br />';

          break;
        case 2:
          OAResult += '<img src="/SGS/Weblink/Images/DocumentList/megawarn.gif" /> ' + responseText[1] + '<br />';

          break;
      }

      cntzx++;
      setTimeout('processOrderURLS(' + returnResult + ')', 10);
    }

  };
  }

  ajaxOA[cntzx].open('GET', ajaxurls[cntzx]);
  ajaxOA[cntzx].send(null);
}

var ajaxPB = null;

function loadPreviousProductBoxes() {
  
  var boxes = getElementsByClass('productBox');
  if (boxes.length > 0) {
    for (var z=0; z < boxes.length; z++) {
      var div = document.createElement('div');
      div.style.width = boxes[z].clientWidth + 'px';
      div.style.height = boxes[z].clientHeight + 'px';
      div.style.textAlign = 'center';
      div.style.verticalAlign = 'middle';
      div.className = 'productBox';
      div.innerHTML = '<br /><br /><br /><br /><br /><img src=\'' +  loadingImage + '\'>';
      
      var parent = boxes[z].parentNode;
      boxes[z].parentNode.removeChild(boxes[z]);
      parent.appendChild(div);
    }
  }
  
  ajaxPB = getAjaxObject();
  ajaxPB.onreadystatechange = function(){ 
    if ((ajaxPB.readyState == 4) && (ajaxPB.status == 200)) {
      document.getElementById('tblProductBoxes').parentNode.removeChild(document.getElementById('tblProductBoxes'));
      
      if (document.all) {
        document.getElementById('divSearchResult').insertAdjacentHTML('afterBegin', ajaxPB.responseText);
      } else {
        var r = document.getElementById('divSearchResult').ownerDocument.createRange();
		    r.setStartBefore(document.getElementById('divSearchResult'));
		    var parsedHTML = r.createContextualFragment(ajaxPB.responseText);
        document.getElementById('divSearchResult').insertBefore(parsedHTML, document.getElementById('divSearchResult').firstChild);
      }  

    }
    
    if ((ajaxPB.readyState == 4) && (ajaxPB.status != 200)) {
      //SignOff();
    }
  
  }
  ajaxPB.open('GET', serviceURL+'?cmd=loadPreviousProductBoxes');
  ajaxPB.send(null);
}

function loadNextProductBoxes() {
  
  var boxes = getElementsByClass('productBox');
  if (boxes.length > 0) {
    for (var z=0; z < boxes.length; z++) {
      var div = document.createElement('div');
      div.style.width = boxes[z].clientWidth + 'px';
      div.style.height = boxes[z].clientHeight + 'px';
      div.style.textAlign = 'center';
      div.style.verticalAlign = 'middle';
      div.className = 'productBox';
      div.innerHTML = '<br /><br /><br /><br /><br /><img src=\'' +  loadingImage + '\'>';
      
      var parent = boxes[z].parentNode;
      boxes[z].parentNode.removeChild(boxes[z]);
      parent.appendChild(div);
      
    }
  }
  
  ajaxPB = getAjaxObject();
  ajaxPB.onreadystatechange = function(){ 
    if ((ajaxPB.readyState == 4) && (ajaxPB.status == 200)) {
      document.getElementById('tblProductBoxes').parentNode.removeChild(document.getElementById('tblProductBoxes'));
      
      if (document.all) {
        document.getElementById('divSearchResult').insertAdjacentHTML('afterBegin', ajaxPB.responseText);
      } else {
        var r = document.getElementById('divSearchResult').ownerDocument.createRange();
		    r.setStartBefore(document.getElementById('divSearchResult'));
		    var parsedHTML = r.createContextualFragment(ajaxPB.responseText);
        document.getElementById('divSearchResult').insertBefore(parsedHTML, document.getElementById('divSearchResult').firstChild);
      }  
      
    }
    
    if ((ajaxPB.readyState == 4) && (ajaxPB.status != 200)) {
      //SignOff();
    }
      
  }
  ajaxPB.open('GET', serviceURL+'?cmd=loadNextProductBoxes');
  ajaxPB.send(null);
}




function getAjaxObject(){
	if (window.XMLHttpRequest) {
	// If IE7, Mozilla, Safari, and so on: Use native object
		xmlHttp = new XMLHttpRequest();
	}
	else
	{
		if (window.ActiveXObject) {
		// ...otherwise, use the ActiveX control for IE5.x and IE6
		xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	return xmlHttp;
}

function addToCustomArticleGroup(URL) {
  jQuery.facebox('<iframe frameborder="0" style="width: 525px; height: 460px;" src="'+URL+'"></iframe>')
}
