﻿var pn1 = new PN1();

pn1.addEventHandler(window,'load',function() {
  var sliders = pn1.getElementsByClassName(document,'projectcategoryslider','div');
  if (sliders.length > 0) {
    var index = new Array();
    var allowprev = new Array();
    var allownext = new Array();
    
    for (var a = 0; a < sliders.length; a++) {
      index[a] = 3;
      allowprev[a] = false;
      allownext[a] = false;
      
      var slider = sliders[a];
      var projectelements = pn1.getElementsByClassName(slider,'projectelements','div')[0];
      var belt = pn1.getElementsByClassName(projectelements,'belt','div')[0];
      var elements = pn1.getElementsByClassName(belt,'element','div');
      
      var width = elements.length * 273;
      belt.style.width = width + 'px';
      
      var slideprev = document.createElement('div');
      var slidenext = document.createElement('div');
      slideprev.className = 'slidecontrol prev';
      slidenext.className = 'slidecontrol next';
      
      var slideprevimg = document.createElement('img');
      var slidenextimg = document.createElement('img');
      slideprevimg.className = 'prev';
      slideprevimg.setAttribute('src','/Files/Billeder/TKNEW/sliderelements/refcat_prev.png');
      slidenextimg.className = 'next';
      slidenextimg.setAttribute('src','/Files/Billeder/TKNEW/sliderelements/refcat_next.png');
      
      slideprevimg.style.display = 'none';
      if (elements.length <= 3) {
        slidenextimg.style.display = 'none';
      } else {
        allownext[a] = true;
        slidenextimg.style.cursor = 'pointer';
        slidenext.style.cursor = 'pointer';
      }
      
      projectelements.appendChild(slideprev);
      projectelements.appendChild(slidenext);
      projectelements.appendChild(slideprevimg);
      projectelements.appendChild(slidenextimg);
      
      pn1.addEventHandler(slideprevimg,'click',function() {
        var beltindex = arguments[5];
        
        if (allowprev[beltindex]) {
          var noe = arguments[1];
          var spi = arguments[2];
          var sni = arguments[3];
          var b = arguments[4];
          var sp = arguments[6];
          var sn = arguments[7];
          
          $(b).stop(true,true).animate({marginLeft: '+=273px'},500);
          index[beltindex]--;
          
          if (index[beltindex] > 3 && index[beltindex]-1 < noe) {
            spi.style.display = 'block';
            sni.style.display = 'block';
            spi.style.cursor = 'pointer';
            sni.style.cursor = 'pointer';
            sp.style.cursor = 'pointer';
            sn.style.cursor = 'pointer';
            allownext[beltindex] = true;
            allowprev[beltindex] = true;
          } else if (index[beltindex] == 3) {
            spi.style.display = 'none';
            sni.style.display = 'block';
            spi.style.cursor = 'default';
            sni.style.cursor = 'pointer';
            sp.style.cursor = 'default';
            sn.style.cursor = 'pointer';
            allownext[beltindex] = true;
            allowprev[beltindex] = false;
          } else if (index[beltindex]-1 == noe) {
            spi.style.display = 'block';
            sni.style.display = 'none';
            spi.style.cursor = 'pointer';
            sni.style.cursor = 'default';
            sp.style.cursor = 'pointer';
            sn.style.cursor = 'default';
            allowprev[beltindex] = true;
            allownext[beltindex] = false;
          }
        }
      }.bind(this, index[a], elements.length, slideprevimg, slidenextimg, belt, a, slideprev, slidenext));
      
      pn1.addEventHandler(slidenextimg,'click',function() {
        var beltindex = arguments[5];
        
        if (allownext[beltindex]) {
          var noe = arguments[1];
          var spi = arguments[2];
          var sni = arguments[3];
          var b = arguments[4];
          var sp = arguments[6];
          var sn = arguments[7];
          
          $(b).stop(true,true).animate({marginLeft: '-=273px'},500);
          
          if (index[beltindex] > 2 && index[beltindex]+1 < noe) {
            spi.style.display = 'block';
            sni.style.display = 'block';
            spi.style.cursor = 'pointer';
            sni.style.cursor = 'pointer';
            sp.style.cursor = 'pointer';
            sn.style.cursor = 'pointer';
            allownext[beltindex] = true;
            allowprev[beltindex] = true;
          } else if (index[beltindex] == 2) {
            spi.style.display = 'none';
            sni.style.display = 'block';
            spi.style.cursor = 'default';
            sni.style.cursor = 'pointer';
            sp.style.cursor = 'default';
            sn.style.cursor = 'pointer';
            allownext[beltindex] = true;
            allowprev[beltindex] = false;
          } else if (index[beltindex]+1 == noe) {
            spi.style.display = 'block';
            sni.style.display = 'none';
            spi.style.cursor = 'pointer';
            sni.style.cursor = 'default';
            sp.style.cursor = 'pointer';
            sn.style.cursor = 'default';
            allowprev[beltindex] = true;
            allownext[beltindex] = false;
          }
          
          index[beltindex]++;
        }
      }.bind(this, index[a], elements.length, slideprevimg, slidenextimg, belt, a, slideprev, slidenext));
      
      pn1.addEventHandler(slideprev,'click',function() {
        var beltindex = arguments[5];
        
        if (allowprev[beltindex]) {
          var noe = arguments[1];
          var spi = arguments[2];
          var sni = arguments[3];
          var b = arguments[4];
          var sp = arguments[6];
          var sn = arguments[7];
          
          $(b).stop(true,true).animate({marginLeft: '+=273px'},500);
          index[beltindex]--;
          
          if (index[beltindex] > 3 && index-1 < noe) {
            spi.style.display = 'block';
            sni.style.display = 'block';
            spi.style.cursor = 'pointer';
            sni.style.cursor = 'pointer';
            sp.style.cursor = 'pointer';
            sn.style.cursor = 'pointer';
            allownext[beltindex] = true;
            allowprev[beltindex] = true;
          } else if (index[beltindex] == 3) {
            spi.style.display = 'none';
            sni.style.display = 'block';
            spi.style.cursor = 'default';
            sni.style.cursor = 'pointer';
            sp.style.cursor = 'default';
            sn.style.cursor = 'pointer';
            allownext[beltindex] = true;
            allowprev[beltindex] = false;
          } else if (index[beltindex]-1 == noe) {
            spi.style.display = 'block';
            sni.style.display = 'none';
            spi.style.cursor = 'pointer';
            sni.style.cursor = 'default';
            sp.style.cursor = 'pointer';
            sn.style.cursor = 'default';
            allowprev[beltindex] = true;
            allownext[beltindex] = false;
          }
        }
      }.bind(this, index[a], elements.length, slideprevimg, slidenextimg, belt, a, slideprev, slidenext));
      
      pn1.addEventHandler(slidenext,'click',function() {
        var beltindex = arguments[5];
        
        if (allownext[beltindex]) {
          var noe = arguments[1];
          var spi = arguments[2];
          var sni = arguments[3];
          var b = arguments[4];
          var sp = arguments[6];
          var sn = arguments[7];
          
          $(b).stop(true,true).animate({marginLeft: '-=273px'},500);
          
          if (index[beltindex] > 2 && index[beltindex]+1 < noe) {
            spi.style.display = 'block';
            sni.style.display = 'block';
            spi.style.cursor = 'pointer';
            sni.style.cursor = 'pointer';
            sp.style.cursor = 'pointer';
            sn.style.cursor = 'pointer';
            allownext[beltindex] = true;
            allowprev[beltindex] = true;
          } else if (index[beltindex] == 2) {
            spi.style.display = 'none';
            sni.style.display = 'block';
            spi.style.cursor = 'default';
            sni.style.cursor = 'pointer';
            sp.style.cursor = 'default';
            sn.style.cursor = 'pointer';
            allownext[beltindex] = true;
            allowprev[beltindex] = false;
          } else if (index[beltindex]+1 == noe) {
            spi.style.display = 'block';
            sni.style.display = 'none';
            spi.style.cursor = 'pointer';
            sni.style.cursor = 'default';
            sp.style.cursor = 'pointer';
            sn.style.cursor = 'default';
            allowprev[beltindex] = true;
            allownext[beltindex] = false;
          }
          
          index[beltindex]++;
        }
      }.bind(this, index[a], elements.length, slideprevimg, slidenextimg, belt, a, slideprev, slidenext));
    }
  }
}.bind(this));
