/************************************************************************************************************
(C) www.dhtmlgoodies.com, September 2005

This is a script from www.dhtmlgoodies.com. You will find this and a lot of other scripts at our website.	

Terms of use:
LGPL: See web page for more info.

Thank you!

www.dhtmlgoodies.com
Alf Magne Kalleland

************************************************************************************************************/	
var operaBrowser = false;
if(navigator.userAgent.indexOf('Opera')>=0)operaBrowser=1;
var MSIE = navigator.userAgent.indexOf('MSIE')>=0?true:false;
var navigatorVersion = navigator.appVersion.replace(/.*?MSIE (\d\.\d).*/g,'$1')/1;


function cancelEvent()
{
	return false;
}
var activeImage = false;
//var readyToMove = false;
var moveTimer = -1;
var dragDropDiv;
var insertionMarker;

/*var offsetX_marker = -3;	// offset X - element that indicates destinaton of drop
var offsetY_marker = 0;	// offset Y - element that indicates destinaton of drop

var firefoxOffsetX_marker = -3;
var firefoxOffsetY_marker = -2;

if(navigatorVersion<6 && MSIE){	/* IE 5.5 fix */
//	offsetX_marker-=23;
//	offsetY_marker-=10;		
//}

var destinationObject = false;
	
var tmpLeft = 0;
var tmpTop = 0;

var eventDiff_x = 0;
var eventDiff_y = 0;
	
function getTopPos(inputObj)
{		
  var returnValue = inputObj.offsetTop;
  while((inputObj = inputObj.offsetParent) != null){
  	if(inputObj.tagName!='HTML'){
  		returnValue += (inputObj.offsetTop - inputObj.scrollTop);
  		if(document.all)returnValue+=inputObj.clientTop;
  	}
  } 
  return returnValue;
}
function getLeftPos(inputObj)
{	  
  var returnValue = inputObj.offsetLeft;
  while((inputObj = inputObj.offsetParent) != null){
  	if(inputObj.tagName!='HTML'){
  		returnValue += inputObj.offsetLeft;
  		if(document.all)returnValue+=inputObj.clientLeft;
  	}
  }
  return returnValue;
}
	
function selectImage(e)
{
	if(document.all && !operaBrowser)e = event;
	var obj = this.parentNode;
	//if(activeImage)activeImage.className='imageBox';
	//obj.className = 'imageBoxHighlighted';
	activeImage = obj;
		
	moveTimer=0;
	
	prop=0;
	startMoveTimer();
	
	return false;	
}

function startMoveTimer(){
	if(moveTimer>=0 && moveTimer<10){
		moveTimer++;
		setTimeout('startMoveTimer()',15);
	}
	if(moveTimer==10){
		var subElements = dragDropDiv.getElementsByTagName('DIV');
		if(subElements.length>0){
			dragDropDiv.removeChild(subElements[0]);
		}
	
		
		var newDiv = activeImage.cloneNode(true);
		newDiv.className='imageBox';	
		newDiv.id='';
		dragDropDiv.appendChild(newDiv);	
		
		dragDropDiv.style.top = tmpTop + 'px';
		dragDropDiv.style.left = tmpLeft + 'px';
		
		dragDropDiv.style.display='block';
						
	}
	return false;
}

function dragDropEnd()
{
	readyToMove = false;
	moveTimer = -1;
	hanging = false;
	if(dragDropDiv)dragDropDiv.style.display='none';
	//if(insertionMarker)insertionMarker.style.display='none';
	getElementsByClassName(document, "div", "verberg", "toon");
	
	if(destinationObject && destinationObject!=activeImage){
		
		var parentObj = destinationObject.parentNode;
		act = activeImage.id.split("_");
		dest = destinationObject.id.split("_");
		if(act[1]==dest[1]) {
			parentObj.insertBefore(activeImage,destinationObject);
			loadpage('/cms/cms/photoranking.php?tb_id='+act[1]+'&table='+dbconstant+act[2]+'&voorid='+dest[3]+'&teveranderen='+act[3]+'&end=yes','test')
		}
		//activeImage.className='imageBox';
		activeImage = false;
		destinationObject.className='imageBox';
		destinationObject=false;	
	} 
	return false;
}
function setOverhangaf(e) {
	if(document.all && !operaBrowser)e = event;
	var obj = this.parentNode;
	//obj.className = "imageBox";
	this.className = "imageBox_theImage";
	prop = 0;
}
function setOverhang(e) {
	if(document.all && !operaBrowser)e = event;
	var obj = this.parentNode;
	if(moveTimer!=-1) {
		act = activeImage.id.split("_");
		dest = obj.id.split("_");
		if(act[1]==dest[1] && act[2]==dest[2]) {
			prop = obj.id;
			if(hanging && act[3]!=dest[3]) {
				//obj.className = 'imageBox_border_'+dest[4]+'_'+dest[5];
				this.className = 'imageBox_theImage imageBox_border_'+dest[4]+'_'+dest[5];
			}
		} else {
			prop = 0;
		}
	}
}
function dragDropMove(e)
{
	if(moveTimer==-1)return;
	if(document.all && !operaBrowser)e = event;
	
	dragDropDiv.style.top = e.clientY + document.documentElement.scrollTop - 125 + 'px';
	dragDropDiv.style.left = e.clientX + document.documentElement.scrollLeft - 15 + 'px';
	
	if(e.button!=1 && document.all &&  !operaBrowser)dragDropEnd();
	
	getElementsByClassName(document, "div", "toon", "verberg");
	
	if(prop!=0) {
		destinationObject = document.getElementById(prop);
	}	
	hanging = true;
}


function saveImageOrder()
{
	var orderString = "";
	var objects = document.getElementsByTagName('DIV');
	for(var no=0;no<objects.length;no++){
		if(objects[no].className=='imageBox' || objects[no].className=='imageBoxHighlighted'){
			if(orderString.length>0)orderString = orderString + ',';
			orderString = orderString + objects[no].id;
		}			
	}
	
	document.getElementById('debug').innerHTML = 'This is the new order of the images(IDs) : <br>' + orderString;
	
}
var hanging = false;
function initGallery()
{
	var prop = 0;
	var overhang = 0;
	var activeImage = false;
	var divs = document.getElementsByTagName('DIV');
	for(var no=0;no<divs.length;no++){
		if(divs[no].className=='imageBox_theImage' || divs[no].className=='imageBox_theImage imageBox_border_img_left' || divs[no].className=='imageBox_theImage  imageBox_border_img_right' || divs[no].className=='imageBox_theImage  imageBox_border_img_top' || divs[no].className=='imageBox_theImage  imageBox_border_img_bottom'){
			divs[no].onmousedown = selectImage;	
			divs[no].onmouseover = setOverhang;
			divs[no].onmouseout = setOverhangaf;
		}
	}
	
	//var insObj = document.getElementById('insertionMarker');
	//var images = insObj.getElementsByTagName('IMG');
	document.body.onselectstart = cancelEvent;
	document.body.ondragstart = cancelEvent;
	document.body.onmouseup = dragDropEnd;
	document.body.onmousemove = dragDropMove;

	
	//window.onresize = getDivCoordinates;
	
	dragDropDiv = document.getElementById('dragDropContent');
	insertionMarker = document.getElementById('insertionMarker');
	//getDivCoordinates();
}

// Voor alt bewerking 
function aanuit(id,aanuit) {
	document.getElementById(id).style.display=aanuit;
	if(aanuit=='') {	
		$(id+'form').focus();
	}
}
function naarboven(id){
	maxz = maxz+2;
	$(id).style.zIndex=maxz;
}
function getElementsByClassName(oElm, strTagName, strClassName, toClassName){
	var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	strClassName = strClassName.replace(/-/g, "\-");
	var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
	var oElement;
	for(var i=0; i<arrElements.length; i++){
		oElement = arrElements[i];
		if(oRegExp.test(oElement.className)){
			oElement.className = toClassName;
		}
	}
	return (arrReturnElements)
}
function zetdrag(what) {
	if(what=="aan") {
		getElementsByClassName(document, "div", "verberg", "toon");
		var divs = document.getElementsByTagName('DIV');
		for(var no=0;no<divs.length;no++){
			if(divs[no].className=='imageBox_theImage' || divs[no].className=='imageBox_theImage imageBox_border_img_left' || divs[no].className=='imageBox_theImage  imageBox_border_img_right' || divs[no].className=='imageBox_theImage  imageBox_border_img_top' || divs[no].className=='imageBox_theImage  imageBox_border_img_bottom'){
				divs[no].onmousedown = selectImage;	
				divs[no].onmouseover = setOverhang;
				divs[no].onmouseout = setOverhangaf;
			}
		}
		document.body.onselectstart = cancelEvent;
		document.body.ondragstart = cancelEvent;
		document.body.onmouseup = dragDropEnd;
		document.body.onmousemove = dragDropMove;
	}
	if(what=="uit") {
		getElementsByClassName(document, "div", "toon", "verberg");
		var divs = document.getElementsByTagName('DIV');
		for(var no=0;no<divs.length;no++){
			if(divs[no].className=='imageBox_theImage' || divs[no].className=='imageBox_theImage imageBox_border_img_left' || divs[no].className=='imageBox_theImage  imageBox_border_img_right' || divs[no].className=='imageBox_theImage  imageBox_border_img_top' || divs[no].className=='imageBox_theImage  imageBox_border_img_bottom'){
				divs[no].onmousedown = '';	
				divs[no].onmouseover = '';
				divs[no].onmouseout = '';
			}
		}
		document.body.onselectstart = '';
		document.body.ondragstart = '';
		document.body.onmouseup = '';
		document.body.onmousemove = '';
	}
	
}
function findPosX(obj)
{
var curleft = 0;
if(obj.offsetParent)
    while(1) 
    {
      curleft += obj.offsetLeft;
      if(!obj.offsetParent)
        break;
      obj = obj.offsetParent;
    }
else if(obj.x)
    curleft += obj.x;
return curleft;
}

function findPosY(obj)
{
var curtop = 0;
if(obj.offsetParent)
    while(1)
    {
      curtop += obj.offsetTop;
      if(!obj.offsetParent)
        break;
      obj = obj.offsetParent;
    }
else if(obj.y)
    curtop += obj.y;
return curtop;
}

function getY( oElement )
{
var iReturnValue = 0;
while( oElement != null ) {
iReturnValue += oElement.offsetTop;
oElement = oElement.offsetParent;
}
return iReturnValue;
}

function getX( oElement )
{
var iReturnValue = 0;
while( oElement != null ) {
iReturnValue += oElement.offsetLeft;
oElement = oElement.offsetParent;
}
return iReturnValue;
}
//window.onload = initGallery;