/* 
  - Author(s): J.Leuckel
  - Date: 15.09.2004
  - Version: 1.00
  - Description: special JavaScriptfunctions to enable dragging and dropping
  -
  - Change history:
  -
 */
var hiderId, currentId;

function startDragging(divId) {
  dragAllowed = true;
  if (typeof divId == 'string') {
    dragDrop(divId);
  }
  else {
    dragObject(divId);
  }
}

function dragDrop(divId) {
  hiderId = divId + 'Hider';
  currentId = divId;
  if (dragAllowed) {
    document.onmousemove  = mousePosition;
    document.onmouseup    = disableDragging;
    if (browserId == 'Safari') {
      documentLeftScroll  = 0;
      documentTopScroll   = 0;
    }
    else{
      documentLeftScroll  = getWindowInformation('scrollLeft');
      documentTopScroll   = getWindowInformation('scrollTop');
    }
    if (typeof mouseY != 'undefined') {
      moveObject(divId,mouseX + documentLeftScroll - getDivInformation(divId,'width')/2, mouseY + documentTopScroll - getDivInformation(divId,'height')/2);
      moveObject(hiderId,mouseX + documentLeftScroll - getDivInformation(divId,'width')/2, mouseY + documentTopScroll - getDivInformation(divId,'height')/2);
    }
    loopDragging = setTimeout('dragDrop(currentId)',10);
  }
}

function dragObject(divNum) {
  currentObjNo = divNum;
  if (dragAllowed) {
    document.onmousemove = mousePosition;
    document.onmouseup = disableDragging;
    if (typeof mouseY != 'undefined' && mouseY >= 0) {
      sliderMove(divNum);
    }
    if(mouseY + documentTopScroll <= getDivInformation(scrollParentArray[divNum],'offsetTop') + 4) {
        moveObject(scrollChildArray[divNum],'',0);
        moveObject(scrollHideArray[divNum],'', - sliderHeight);
        moveObject(contentChildArray[divNum],'',0);
      }
    loopDragging = setTimeout('dragObject(currentObjNo)',10);
  }
}

function disableDragging() {
  dragAllowed = false;
  clearTimeout(loopDragging);
}