/*
 *  Element Slider v1.1.2b
 *  author: Peet
 *  e-mail: peet@root.hu
 *
 *  Usage: Put the CreateSlider(parameters) function below the slider boxes
 *         create the arrows (if you want, if dont, use "" in the
 *         parameter list) and use doScroll(parameters) method to scroll
 */


// --- configuration for debugging, please DO NOT edit below --- //

var debug = false;
var debugdiv = 'debug';

// end of configuration for debugging, please DO NOT edit below //

var slider = new Array();

function CreateSlider(element,parent,distance,leftid,rightid) {

  ewidth = VT_GetObj(element).offsetWidth;
  pwidth = VT_GetObj(parent).offsetWidth;

 if (ewidth > pwidth) {                                                 // tobb slider adatainak tarolosora is kepes hash feltoltese
  if (!slider[element]) {
      slider[element] = new Array();
      slider[element]['run'] = 0;    
      slider[element]['parent'] = parent;
      slider[element]['distance'] = distance;
      slider[element]['count'] = distance;  
      slider[element]['direction'] = 'left';
      slider[element]['status'] = 'start';
      slider[element]['rightarrowid'] = rightid;
      slider[element]['leftarrowid'] = leftid;
  }
 } else {                                                               // ha rovidebb a belso mint a kulso doboz, eltunteti a nyilakat (ha vannak)
  if ((leftid != "") && (rightid != "")) {
    VT_GetObj(leftid).style.visibility = 'hidden';
    VT_GetObj(rightid).style.visibility = 'hidden';
  }
  if (ewidth < 10) {                                                    // ha nincs (vagy nagyon kicsi) belso doboz, eltunteti azt is
    VT_GetObj(parent).style.visibility = 'hidden'; 
    VT_GetObj(parent).style.position = 'absolute';
  }

 }
}

function doScroll(element,direction) {
 
  if (!slider[element]) {
    alert('nincsenek letrehozva a(z) '+ element +' elemhez tartozo beallitasok'); // ha nincs a slider hash adatokkal feltoltve 
  } else {
    if (slider[element]['run'] == 0) {
      slider[element]['run'] = 1;
      slider[element]['direction'] = direction;  
      scrolling = setInterval("pScroll('" + element +"')",100);
    }
  }
}

function pScroll(element) {
    slider[element]['count'] = Math.floor(slider[element]['count'] / 2);
    offset = VT_GetObj(element).offsetLeft + 1;
    pwidth = VT_GetObj(slider[element]['parent']).offsetWidth;
    ewidth = VT_GetObj(element).offsetWidth;
    limit = pwidth - ewidth;
    if (slider[element]['direction'] == 'left') {
      newpos = offset - slider[element]['count'];
    } else {
      newpos = offset + slider[element]['count'];
    }

  
  
  if ( offset >= -1 ) {
    slider[element]['status'] = 'begin';
    if (slider[element]['rightarrowid'] != "") {
      VT_GetObj(slider[element]['rightarrowid']).style.visibility = 'hidden';
    }
  }
  else if ( newpos - 2 <= limit ) {
    slider[element]['status'] = 'end';
    if (slider[element]['leftarrowid'] != "") {
      VT_GetObj(slider[element]['leftarrowid']).style.visibility = 'hidden';
    }
  }
  else {
    slider[element]['status'] = 'run';
    if (slider[element]['leftarrowid'] != "" && slider[element]['rightarrowid']) {
      VT_GetObj(slider[element]['leftarrowid']).style.visibility = 'visible';
      VT_GetObj(slider[element]['rightarrowid']).style.visibility = 'visible';
    }
  }

  
  if (newpos < 0 && newpos >= limit) {
      VT_GetObj(element).style.left = newpos + "px";
  } 

  if (slider[element]['count'] == 0) {
    slider[element]['run'] = 0;
    slider[element]['count'] = slider[element]['distance'];
    clearInterval(scrolling);
  }  

  //debugging 
 
  if (debug) {
    VT_GetObj(debugdiv).innerHTML  = " offset: " + VT_GetObj(element).offsetLeft + "<br/>";
    VT_GetObj(debugdiv).innerHTML += " left: " + VT_GetObj(element).style.left + "<br/>";  
    VT_GetObj(debugdiv).innerHTML += " distance: " + slider[element]['distance'] + "<br/>";
    VT_GetObj(debugdiv).innerHTML += " status: " + slider[element]['status'] + "<br/>";
    VT_GetObj(debugdiv).innerHTML += " newpos: " + newpos + "<br/>";
    VT_GetObj(debugdiv).innerHTML += " width: " + ewidth + "<br/>";
    VT_GetObj(debugdiv).innerHTML += " parentwidth: " + pwidth + "<br/>";  
    VT_GetObj(debugdiv).innerHTML += " limit: " + limit + "<br/>";
  }
  
   
}
