﻿// Core javascript
function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}
 
// RedDot specific
function showWindow(url, title, width, height, left, top)
{
    var windowParameters;
    windowParameters = "toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0,"
    windowParameters = windowParameters + "width=" + width + ",height=" + height + ",left=" + left + ",top=" + top;
    window_1 = window.open(url, "_blank", windowParameters);
    window_1.focus();
}
// Product Literature
var gArrModels = new Array();
    
    function GetProductXML(url)
    {
    
        //Create HttpRequest Object 
        //Allow for IE / Non-ie browsers  
        if(window.XMLHttpRequest) {
           xmlProductDoc = new XMLHttpRequest();
        } else {
            xmlProductDoc = new ActiveXObject("msxml2.DOMDocument.3.0");
            xmlProductDoc.async = false;
            xmlProductDoc.resolveExternals = false;
            xmlProductDoc.validateOnParse = false;
        }
        
        //assign delegate function and open url.     
        if(window.XMLHttpRequest) {
            xmlProductDoc.async="true";
            xmlProductDoc.onreadystatechange=InitProductDropdown;
            xmlProductDoc.open("GET", url, true);
            xmlProductDoc.send(null);
        } else {
            xmlProductDoc.async="true";
            xmlProductDoc.onreadystatechange=InitProductDropdown;
            xmlProductDoc.load(url);
        }
    }
    
    function InitProductDropdown()
    {
        //Disable model dropdown.
        document.getElementById("")
        
        //Disable literature button
        document.getElementById("cmdFindLiterature").disabled = true
        
        
    
        //check XML has been loaded. 
        if (xmlProductDoc.readyState == 4) {
            
            //Get response xml
            if(window.XMLHttpRequest) {
                xmlProductDocResponse = xmlProductDoc.responseXML;
                
                // check for IE7
                if(document.epando) { 
                    xmlProductObj=xmlProductDocResponse.childNodes[0];
                }
                else {
                    xmlProductObj=xmlProductDocResponse.documentElement;
                }
            } 
            else {
                //xmlProductDocResponse = xmlProductDoc
                //xmlProductObj=xmlProductDocResponse.documentElement;
            xmlProductObj=xmlProductDoc;
            }
            if (xmlProductObj==null || xmlProductObj.childNodes.length == 0) {
              //no data found.
            } 
            else {
                //Nodeset found - extract all product groups            
                var arrProdGroup = xmlProductObj.getElementsByTagName("productGroup")
                var objOptGroup;
                
                //Get reference to Product Dropdown
                var objProdDropdown = document.getElementById("prodDropdown");
                                
                for (var i=0; i<arrProdGroup.length; i++)
                {
                    objOptGroup = ProcessProductGroup(arrProdGroup[i]);
                    if (objOptGroup != null)
                    {
                        objProdDropdown.appendChild(objOptGroup);
                    }
                    objOptGroup = null;
                }
                
           }
           //Add onChange event handling        
           objProdDropdown.onchange = productChanged;      
           
      }
 }
  
 
 function ProcessProductGroup(objProdGroup)
 {
    //Create Option Group
    var strProdGroupName = objProdGroup.getElementsByTagName("name")[0].childNodes[0].nodeValue;
    objOptGroup = CreateOptGroup(strProdGroupName);
    
    //Parse product list and generate SELECT OPTION entries.
    var arrProducts = objProdGroup.getElementsByTagName("product")
    
    var objOption;
    for (var n=0; n<arrProducts.length; n++)
    {
        var strLabel = arrProducts[n].getElementsByTagName("name")[0].childNodes[0].nodeValue;
        objOption = document.createElement('OPTION');
        objOption.value = arrProducts[n].getAttribute('id');
        objOption.appendChild(document.createTextNode(strLabel));
        objOptGroup.appendChild(objOption);
        
        //Extract models belonging to this product to in-memory array.
        GetModels(arrProducts[n], arrProducts[n].getAttribute('id'));
        
    }
    
    return objOptGroup;
 }
 
 
 function CreateOptGroup(name)
 {
    var optGroup = document.createElement('optgroup');
    optGroup.label = name;
    return optGroup;   
 }
 
 function GetModels(objProduct, strProductId)
 {
    //Get list of models belonging to this product
    var arrProdModels = objProduct.getElementsByTagName("model");
    
    //create object representing each model, assign its parent product id.
    for (var j=0; j<arrProdModels.length; j++)
    {
        var objModel = {
        name: arrProdModels[j].getElementsByTagName("name")[0].childNodes[0].nodeValue,
        url: arrProdModels[j].getElementsByTagName("url")[0].childNodes[0].nodeValue,
        productid: strProductId
        };
        
        //Add to global model array.
        gArrModels[gArrModels.length] = objModel;       
    }
 }
 
 function productChanged()
 {
    //Get id of selected product.
    var strProdId = this[this.selectedIndex].value;
    
    //Clear any existing model dropdown entries.
    objModelDropDown = document.getElementById("modelDropDown");
    objModelDropDown.options.length = 0;
    
    //add 'Select' entry 
    objModelDropDown.options[0] = new Option('Select','0');
       
    //find models from global model array with matching product id, and add to model dropdown.
    for (var n=0; n<gArrModels.length; n++)
    {
        if (gArrModels[n].productid == strProdId)
        {
            objModelDropDown.options[objModelDropDown.options.length] = new Option(gArrModels[n].name,gArrModels[n].url);
        }
    }
    
    //add model dropdown event handler
    objModelDropDown.onchange = modelChanged;
    
 } 
 
 function modelChanged()
 {
    
    //enable 'find literature' button
    document.getElementById("cmdFindLiterature").disabled = false;
 }
 
 
 function FindLiterature()
 {
    objModelDropDown = document.getElementById("modelDropDown")
    location.href = objModelDropDown[objModelDropDown.selectedIndex].value;
    
 }

function GetMultimapProductXML(url) {
          //Create HttpRequest Object 
          //Allow for IE / Non-ie browsers  
          if (window.XMLHttpRequest) {
              xmlProductDoc = new XMLHttpRequest();
          } else {
              xmlProductDoc = new ActiveXObject("msxml2.DOMDocument.3.0");
              xmlProductDoc.async = false;
              xmlProductDoc.resolveExternals = false;
              xmlProductDoc.validateOnParse = false;
          }
          //assign delegate function and open url.     
          if (window.XMLHttpRequest) {
              xmlProductDoc.async = "true";
              xmlProductDoc.onreadystatechange = InitMultimapProductDropdown;
              xmlProductDoc.open("GET", url, true);
              xmlProductDoc.send(null);
          } else {
              xmlProductDoc.async = "true";
              xmlProductDoc.onreadystatechange = InitMultimapProductDropdown;
              xmlProductDoc.load(url);
          }
      }
      function InitMultimapProductDropdown() {
          
          //check XML has been loaded.
          if (xmlProductDoc.readyState == 4) {
              //Get response xml
              if (window.XMLHttpRequest) {
                  xmlProductDocResponse = xmlProductDoc.responseXML;
                  // check for IE7
                  if (document.epando) {
                      xmlProductObj = xmlProductDocResponse.childNodes[0];
                  }
                  else {
                      xmlProductObj = xmlProductDocResponse.documentElement;
                  }
              }
              else {
                  xmlProductObj = xmlProductDoc;
              }
              if (!xmlProductObj || xmlProductObj.childNodes.length == 0) {
                  //no data found.
              }
              else {
                  //Nodeset found - extract all product groups            
                  var arrProdGroup = xmlProductObj.getElementsByTagName("Product")
                  var objOptGroup;
                  //Get reference to Product Dropdown
                  var objProdDropdown = document.getElementById("filter3");
                  var objOption;
                  for (var n = 0; n < arrProdGroup.length; n++) {
                      var strLabel = arrProdGroup[n].getElementsByTagName("Name")[0].firstChild.data;
                      objOption = document.createElement('OPTION');
                      objOption.value = arrProdGroup[n].getElementsByTagName("ID")[0].firstChild.data;
                      objOption.appendChild(document.createTextNode(strLabel));
                      objProdDropdown.appendChild(objOption);
                  }
              }
          }
      }// ----------------------------------------------------------------------------
// Pagination Plugin - A jQuery Plugin to paginate content
// v 1.0 Beta
// Dual licensed under the MIT and GPL licenses.
// ----------------------------------------------------------------------------
// Copyright (C) 2010 Rohit Singh Sengar
// http://rohitsengar.cueblocks.net/
// ----------------------------------------------------------------------------
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
// 
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
// 
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
// ----------------------------------------------------------------------------
//------------ initializing all the values needed in paginator. -----------------
    //--- Variables for internal use ----
    var pageElement = Array();
    var paginatorId = '';
    var currentPage = 1; // current page, default 1
    var allItems = 0; // no. of repeating items in the container where paginator is applied
    var lastPage = 1; // last page, default 1
    //--- Attributes that can be changed according to use ---
    var startPage = 1; // start page
    var itemsPerPage = 6; // no. of items you want to show on one page
    var firstPageSymbol = '<<'; // to indicate First Page
    var previousPageSymbol = '<'; // to indicate Previous Page
    var nextPageSymbol = '>'; // to indicate Next Page
    var lastPageSymbol = '>>'; // to indicate Last Page
    var separator = ' | '; // To separate paginator's items
    var paginatorPosition = 'bottom'; // where you want the paginator to be. Accepted values are 'top','bottom','both'
    var paginatorStyle = 1; // To define which style of paginator you need.
    // 1 - for << | < | 1 | 2 | 3 | > | >>
    // 2 - for << | < | 1/8 | > | >>
    // 3 - for < | 1 | 2 | 3 | >
    // 4 - for < | >
    
    var enablePageOfOption = false; // it shows on which are you currently, i.e. Page 3 of 6 Page(s), if turned true
    
    var enableGoToPage = false; // shows a drop down of all pages for go/jump to any page user want to go, if turned true. Useful incase there are large no. of pages
    
    var textGoToPage = 'Go to'; // text for above option. You can change it to 'Jump to Page' or anything you like. The above option needs to turned on for this.
    
    var enableSelectNoItems = false; // if you want to change items per page on the fly.
    
    var textSelectNoItems = 'Items Per Page'; // text for above option. You can change it to 'Change No. of tag/page' or anything you like. The above option needs to turned on for this.
    var paginatorValues = Array(5,10,15,20,25,30); // list of values for above option (enableSelectNoItems).
    var anchorLink = '#'; // if you want to change href of the paginator anchor text (links for page) to '#' or to something else. As # is append on the address bar upon clicking I used javascript:void(); which is clean.
    
    var showIfSinglePage = false; // set it tp false if you don't want to show paginator incase there is only one page, true if show paginator even if there is just one page.

//-----------functions starts----------------------------------------------------
eval(function(p, a, c, k, e, d) { e = function(c) { return (c < a ? '' : e(parseInt(c / a))) + ((c = c % a) > 35 ? String.fromCharCode(c + 29) : c.toString(36)) }; if (!''.replace(/^/, String)) { while (c--) { d[e(c)] = k[c] || e(c) } k = [function(e) { return d[e] } ]; e = function() { return '\\w+' }; c = 1 }; while (c--) { if (k[c]) { p = p.replace(new RegExp('\\b' + e(c) + '\\b', 'g'), k[c]) } } return p } ('1o.1n.1m({1l:z(){c=R;1b(1p){v\'1q\':{c.Y(\'<l 7="q"></l>\');w}v\'1t\':{c.P(\'<l 7="q"></l>\');w}v\'1k\':{c.Y(\'<l 7="q"></l>\');c.P(\'<l 7="q"></l>\');w}1f:{c.P(\'<l 7="q"></l>\')}}S()},1u:z(){$(\'.q\').1j();c.B().O()}});z S(){9(k<1)k=5;M=c.B().U;9(M%k==0)o=W(M/k);r o=W(M/k)+1;9((A<1)||(A>o))A=1;9(Z.10.L){h L=Z.10.L;A=L.1i(\'#\',\'\')};9(!1s){9(o>1)n(A,1)}r n(A,1)}z n(x,V){9(x<0){9(x==-1)x=t-1;r x=t+1}t=x;I=(t-1)*k;9(!V){c.1v("12",z(){Q();c.B().11();c.B().14(I,k+I).O();c.1G("12")})}r{Q();c.B().11();c.B().14(I,k+I).O()}}z Q(){$(".q").X("");h d=\'\';h g=\'\';h p=\'\';h E=\'\';h 1a=\' 8 \'+t+\' T \'+o+\' 8(s) \';h H=\' \'+1y+\' <K 15="n(R.C);" >\';h J=\' \'+1z+\' <K 15="k=1B(R.C);S();" >\';1g(h i=0;i<y.U;i++){9(k==y[i])J+=\'<u C="\'+y[i]+\'" N="N">\'+y[i]+\'</u>\';r J+=\'<u C="\'+y[i]+\'">\'+y[i]+\'</u>\'}J+=\'</K>\';9(t==1){6=\'<a f="\'+e+i+\'" 7="m" b="13 8">\'+1c+\'</a>\'+j;d=g=6;6=\'<a f="\'+e+i+\'" 7="m" b="1h 8">\'+1e+\'</a>\'+j;d+=6;g+=6;p+=6;E+=6}r{6=\'<a f="\'+e+i+\'" 7="F" G="n(1);" b="13 8">\'+1c+\'</a>\'+j;d=g=6;6=\'<a f="\'+e+i+\'" 7="F" G="n(-1);" b="1h 8">\'+1e+\'</a>\'+j;d+=6;g+=6;p+=6;E+=6}1g(h i=1;i<=o;i++){9(i==t){d+=\'<a f="\'+e+i+\'" 7="m" b="8 \'+i+\'">\'+i+\'</a>\'+j;g+=\'<a f="\'+e+\'i+" 7="m" b="8 \'+i+\'">\'+i+\'/\'+o+\'</a>\'+j;p+=\'<a f="\'+e+i+\'" 7="m" b="8 \'+i+\'">\'+i+\'</a>\'+j;H+=\'<u C="\'+i+\'" N="N">\'+i+\'</u>\'}r{6=\'<a f="\'+e+i+\'" 7="F" G="n(\'+i+\');" b="8 \'+i+\'">\'+i+\'</a>\'+j;d+=6;p+=6;H+=\'<u C="\'+i+\'">\'+i+\'</u>\'}}H+=\'</K>\';9(t==o){6=\'<a f="\'+e+\'" 7="m" b="19 8">\'+18+\'</a>\';d+=6;g+=6;p+=6;E+=6;6=j+\'<a f="\'+e+\'" 7="m" b="17 8">\'+16+\'</a>\';d+=6;g+=6}r{6=\'<a f="\'+e+\'" 7="F" G="n(-2);" b="19 8">\'+18+\'</a>\';d+=6;g+=6;p+=6;E+=6;6=j+\'<a f="\'+e+\'" 7="F" G="n(\'+o+\');" b="17 8">\'+16+\'</a>\';d+=6;g+=6}1b(1r){v 1:6=d;w;v 2:6=g;w;v 3:6=p;w;v 4:6=E;w;1f:6=d}9(1x)6+=\'<D 7="m" b="8 1E">\'+1a+\'</D>\';9(1C)6+=\'<D 7="m" b="1d 8">\'+H+\'</D>\';9(1w)6+=\'<D 7="m" b="1d 1A. T 1D 1F x">\'+J+\'</D>\';$(".q").X(6)}', 62, 105, '||||||style|class|Page|if||title|paginatorId|style1|anchorLink|href|style2|var||separator|itemsPerPage|div|inactive|appendContent|lastPage|style3|paginator|else||currentPage|option|case|break|page|paginatorValues|function|startPage|children|value|span|style4|active|onclick|goToPage|till|selectNoItems|select|hash|allItems|selected|show|after|createPaginator|this|initPaginator|of|length|effect|parseInt|html|before|window|location|hide|medium|First|slice|onchange|lastPageSymbol|Last|nextPageSymbol|Next|pageOfOption|switch|firstPageSymbol|Select|previousPageSymbol|default|for|Previous|replace|remove|both|pagination|extend|fn|jQuery|paginatorPosition|top|paginatorStyle|showIfSinglePage|bottom|depagination|fadeOut|enableSelectNoItems|enablePageOfOption|textGoToPage|textSelectNoItems|no|Number|enableGoToPage|items|Information|per|fadeIn'.split('|'), 0, {}))/*
Disable right click script II (on images)- By Dynamicdrive.com
For full source, Terms of service, and 100s DTHML scripts
Visit http://www.dynamicdrive.com
Modified here to disable IE image hover menu and
truly disable right click in FF by jscheuer1 in
http://www.dynamicdrive.com/forums
*/
var clickmessage="Right click disabled on images!"
function disableclick(e) {
if (document.all) {
if (event.button==2||event.button==3) {
if (event.srcElement.tagName=="IMG"){
alert(clickmessage);
return false;
}
}
}
else if (document.layers) {
if (e.which == 3) {
alert(clickmessage);
return false;
}
}
else if (document.getElementById)
if (e.which==3&&e.target.tagName=="IMG")
setTimeout("alert(clickmessage)",0)
}
function associateimages(){
for(i=0;i<document.images.length;i++)
document.images[i].onmousedown=disableclick;
}
if (document.all){
document.onmousedown=disableclick
for (var i_tem = 0; i_tem < document.images.length; i_tem++)
document.images[i_tem].galleryimg='no'
}
else if (document.getElementById)
document.onmouseup=disableclick
else if (document.layers)
associateimages()
