﻿    function init(uniqueSliderDiv, low, high, step, showscale, defaultValue, useflags, leftflag, 
        leftflagwidth, rightflag, rightflagwidth, showvalue, uniqueSliderInput, uniqueSliderImage, 
        uniqueSliderImageArray, uniqueSliderImageDiv, sliderBackGround, sliderIcon, sliderBarArgs,
        sliderIconWidth, sliderIconHeight, sliderWidth, sliderHeight, sliderImgDir, verticalSlider, enabledSlider, 
        secondKnob, defaultValue2, surveyobjectId, touchCtrl)
    {
      var mySlider;
      if(sliderBackGround == '')sliderBackGround = 'background.gif';
      if(sliderIcon == '')sliderIcon = 'slider.gif';
      mySlider = new Bs_Slider();
      mySlider.attachOnChange(bsSliderChange);
      mySlider.setDirection(verticalSlider);
      mySlider.attachOnSlideEnd(bsSliderEnd);
      mySlider.width = sliderWidth;
      mySlider.height = sliderHeight;
      mySlider.minVal = low;
      mySlider.maxVal = high;
      mySlider.minVal2 = low;
      mySlider.maxVal2 = high;
      mySlider.useSecondKnob = secondKnob;
      mySlider.valueInterval = 0.01;
      mySlider.valueInterval2 = 0.01;
      mySlider.setArrowAndWheelAmount(step);
      mySlider.valueDefault = defaultValue;
      mySlider.valueDefault2 = defaultValue2;
      mySlider.imgDir = sliderImgDir;
      if (!showscale) sliderBackGround = '_'+ sliderBackGround;
      mySlider.setBackgroundImage(sliderBackGround, 'no-repeat');
      mySlider.setSliderIcon(sliderIcon, sliderIconWidth, sliderIconHeight);
      mySlider.setSliderIcon2('combo_' + sliderIcon, sliderIconWidth, sliderIconHeight);
      mySlider.setEsMakerInput(uniqueSliderInput);
      mySlider.setTouchControl(touchCtrl);
      mySlider.setSurveyObjectId(surveyobjectId);
      mySlider.setSliderEnabled(enabledSlider);
      mySlider.setEsMakerImage(uniqueSliderImage, uniqueSliderImageArray);
      if(!useflags)
      {
        leftflag = '';
        leftflagwidth = 0;
        rightflag = '';
        rightflagwidth = 0;
      }
      mySlider.setArrowIconLeft(leftflag, leftflagwidth, 26);
      mySlider.setArrowIconRight(rightflag, rightflagwidth, 26);
      mySlider.useInputField = (showvalue ? 2 : (secondKnob ? 0 : 1));
      mySlider.styleValueFieldClass = 'sliderInput';
      mySlider.colorbar = new Object();
      sliderBarArgs = sliderBarArgs.split('|');
      mySlider.colorbar['color'] = sliderBarArgs[0];
      mySlider.colorbar['height'] = parseInt(sliderBarArgs[1]);
      mySlider.colorbar['widthDifference'] = parseInt(sliderBarArgs[2]);
      mySlider.colorbar['offsetLeft'] = parseInt(sliderBarArgs[3]);
      mySlider.colorbar['offsetTop'] = parseInt(sliderBarArgs[4]);
      mySlider.drawInto(uniqueSliderDiv);
      if(sliderImageArray[uniqueSliderImageArray].length > 0)
          changeImageView(uniqueSliderImage, defaultValue, uniqueSliderImageArray);
      if(secondKnob)
      {
          changeComboSelection(surveyobjectId, defaultValue, true);
          changeComboSelection(surveyobjectId, defaultValue2, false);
      }
    }

    function bsSliderChange(sliderObj, val, newPos, usi, knobId)
    {
        if(knobId == 2)
            document.getElementById(usi + '2').value = Math.round(val);
        else
            document.getElementById(usi).value = Math.round(val);
    }

    function bsSliderEnd(sliderObj, val, newPos, usi, knobId)
    {
        if(knobId == 2)
            document.getElementById(usi + '2').value = Math.round(val);
        else
            document.getElementById(usi).value = Math.round(val);
        //document.getElementById(tc).value = 'true';
    }

    var sliderArray = new Array();
    var sliderCounter = 0;
    
    function buildSliderArray(sid, l, h, s, ss, def, uf, lf, lfw, rf, rfw, sv, hid, i, arr, id, bg, si, sb, siw, sih, slw, 
        slh, dir, vsl, ebd, usk, def2, soi, touch)
    {
        sliderArray[sliderCounter] = new Array();
        sliderArray[sliderCounter][0] = sid;
        sliderArray[sliderCounter][1] = l;
        sliderArray[sliderCounter][2] = h;
        sliderArray[sliderCounter][3] = s;
        sliderArray[sliderCounter][4] = ss;
        sliderArray[sliderCounter][5] = def;
        sliderArray[sliderCounter][6] = uf;
        sliderArray[sliderCounter][7] = lf;
        sliderArray[sliderCounter][8] = lfw;
        sliderArray[sliderCounter][9] = rf;
        sliderArray[sliderCounter][10] = rfw;
        sliderArray[sliderCounter][11] = sv;
        sliderArray[sliderCounter][12] = hid;
        sliderArray[sliderCounter][13] = i;
        sliderArray[sliderCounter][14] = arr;
        sliderArray[sliderCounter][15] = id;
        sliderArray[sliderCounter][16] = bg;
        sliderArray[sliderCounter][17] = si;
        sliderArray[sliderCounter][18] = sb;
        sliderArray[sliderCounter][19] = siw;
        sliderArray[sliderCounter][20] = sih;
        sliderArray[sliderCounter][21] = slw;
        sliderArray[sliderCounter][22] = slh;
        sliderArray[sliderCounter][23] = dir;
        sliderArray[sliderCounter][24] = vsl;
        sliderArray[sliderCounter][25] = ebd;
        sliderArray[sliderCounter][26] = usk;
        sliderArray[sliderCounter][27] = def2;
        sliderArray[sliderCounter][28] = soi;
        sliderArray[sliderCounter][29] = touch;
        sliderCounter++;
    }

    function sliderInit()
    {
        for(var x = 0; x < sliderArray.length; x++)
        {
            init(sliderArray[x][0], sliderArray[x][1], sliderArray[x][2], sliderArray[x][3], sliderArray[x][4], 
                sliderArray[x][5], sliderArray[x][6], sliderArray[x][7], sliderArray[x][8], sliderArray[x][9], 
                sliderArray[x][10], sliderArray[x][11], sliderArray[x][12], sliderArray[x][13], sliderArray[x][14],
                sliderArray[x][15], sliderArray[x][16], sliderArray[x][17], sliderArray[x][18],
                sliderArray[x][19], sliderArray[x][20], sliderArray[x][21], sliderArray[x][22],
                sliderArray[x][23], sliderArray[x][24], sliderArray[x][25], sliderArray[x][26], 
                sliderArray[x][27], sliderArray[x][28], sliderArray[x][29]);
        }
    }
    
    var sliderImageArray = new Array();
    var sliderImageCounter = 0;

    function buildSliderImageArray(l, h, s, imgSrc)
    {
        var defaultImage = new Image();
        defaultImage.src = '../../../gfx/icons/toolbox/image_small.gif';
        sliderImageArray[sliderImageCounter] = new Array();
        if(imgSrc.length > 0)
        {
            imgSrc = imgSrc.split('|')
            for(var x = 0; x < imgSrc.length; x++)
            {
                var imgPieces = imgSrc[x].split('?');
                sliderImageArray[sliderImageCounter][x] = new Array();
                sliderImageArray[sliderImageCounter][x][0] = l;
                sliderImageArray[sliderImageCounter][x][1] = new Image();
                if(imgPieces[0] == '') imgPieces[0] = defaultImage.src; 
                sliderImageArray[sliderImageCounter][x][1].src = imgPieces[0];
                sliderImageArray[sliderImageCounter][x][1].style.width = imgPieces[1];
                sliderImageArray[sliderImageCounter][x][1].style.height = imgPieces[2];
                l += s;
            }
        }
        sliderImageCounter++;
    }
    
    function changeImageView(imgObj, imgSrc, imgArr)
    {
        if(sliderImageArray[imgArr].length > 0)
        {
            for(var x = 0; x < sliderImageArray[imgArr].length; x++)
            {
                if(sliderImageArray[imgArr][x][0] == imgSrc)
                {
                    document.images[imgObj].src = sliderImageArray[imgArr][x][1].src;
                    document.images[imgObj].style.width = sliderImageArray[imgArr][x][1].style.width;
                    document.images[imgObj].style.height = sliderImageArray[imgArr][x][1].style.height;
                    break;
                }
            }
        }
    }

    var sliderComboArray = new Array();
    var sliderComboCounter = 0;

    function buildSliderComboArray(surveyObjectId, hprint, vprint)
    {
        hprint = hprint.split('|');
        vprint = vprint.split('|');
        var c = 0;
        var i;
        sliderComboArray[sliderComboCounter] = new Array();
        for(i = 0; i < hprint.length; i++)
        {
            sliderComboArray[sliderComboCounter][c] = new Array();
            sliderComboArray[sliderComboCounter][c][0] = surveyObjectId;
            sliderComboArray[sliderComboCounter][c][1] = (i + 1);
            sliderComboArray[sliderComboCounter][c][2] = hprint[i];
            sliderComboArray[sliderComboCounter][c][3] = true;
            c++;
        }
        for(i = 0; i < vprint.length; i++)
        {
            sliderComboArray[sliderComboCounter][c] = new Array();
            sliderComboArray[sliderComboCounter][c][0] = surveyObjectId;
            sliderComboArray[sliderComboCounter][c][1] = (i + 1);
            sliderComboArray[sliderComboCounter][c][2] = vprint[i];
            sliderComboArray[sliderComboCounter][c][3] = false;
            c++;
        }
        sliderComboCounter++;
    }

    function changeComboSelection(soi, id, hprint)
    {
        for(var y = 0; y < sliderComboArray.length; y++)
        {
            for(var x = 0; x < sliderComboArray[y].length; x++)
            {
                if(sliderComboArray[y][x][0] == soi && sliderComboArray[y][x][1] == id && 
                    sliderComboArray[y][x][3] == hprint)
                {
                    document.getElementById((hprint ? 'h' : 'v') + 'print_' + soi).innerHTML = sliderComboArray[y][x][2];
                    break;
                }
            }
        }
    }
    
    function CheckSliderDivHeight(sliderDiv, commentDiv)
    {
        var s = document.getElementById(sliderDiv);
        var c = document.getElementById(commentDiv);
        var height = parseInt(s.style.height.replace('px',''));
        var obj = c.innerHTML.replace('\r', '').replace('\n', '').replace('\t', '');
        var i = 0;
        var arr;
        while(i < obj.length)
        {
            if(obj.substring(i, i + 7) == 'height=' || obj.substring(i, i + 7) == 'height:')
            {
                arr = i + '|';
            }
            i++;
        }
        if(arr.length > 0)
        {
            var temp;
            arr = arr.substring(0, arr.length - 1);
            arr = arr.split('|');
            var rex = /[^0123456789]/;
            for(i = 0; i < arr.length; i++)
            {
                temp = obj.substring(parseInt(arr[i]) + 7, parseInt(arr[i]) + 10).replace(' ', '').replace('\;', '');
                if(!rex.test(temp))
                    height += parseInt(temp);
            }
        }
        document.getElementById(sliderDiv).style.height = height + 25;
    }
    