jQuery(document).ready(function() {

	var xyzprev = jQuery('#xyzprev');
	var xyznext = jQuery('#xyznext');
	var browsecountcurrent = jQuery('#browsecountcurrent');
	var browsecounttotal = jQuery('#browsecounttotal');

	var nkbrowsecontent = jQuery('#nkbrowsecontent');
	var xyzkids = nkbrowsecontent.find('div.xyz');
	var xyzIdx = 0;

	browsecounttotal.html(xyzkids.length);

	var effectMove = function(distance) {
		var tmpNext = null;
		var tmpPrev = null;
		animateTime = 500;
		if (nkbrowsecontentorient == 'hor') {
			tmpNext = xyznext;
			tmpPrev = xyzprev;
			nkbrowsecontent.animate({left: distance},animateTime);
		} else {
			tmpNext = xyzprev;	// when 'vert': vert and hor are switched, this looks better in the UI
			tmpPrev = xyznext;
			nkbrowsecontent.animate({top: distance},animateTime);
		}
		browsecountcurrent.html(xyzIdx + 1);
		if(xyzkids[xyzIdx+1] == null) {
			tmpNext.hide();
		} else {
			tmpNext.show();
		}
		if(xyzkids[xyzIdx-1] == null) {
			tmpPrev.hide();
		} else {
			tmpPrev.show();
		}
	}

	jQuery('a[href^=#c]').each(function(){
	  jQuery(this).click(function() {
			var targetId = 'br' + jQuery(this).attr('href').substr(1);	// #c91 -> brc91
			var targetKid = jQuery(targetId);
			if (targetKid != null) {
				xyzIdx = xyzkids.indexOf(targetKid);
				var newPos = 0;
				if (nkbrowsecontentorient == 'hor') {
					newPos = 0 - targetKid.offsetLeft;
				} else {
					newPos = 0 - targetKid.offsetTop;
				}
				effectMove(newPos);
				return false;
			}
	  });
	});

	var fragment = window.document.location['hash'];	// #c83
	if (fragment != '') {
		var targetId = 'br' + fragment.substr(1);	// #c83 -> brc83
		var targetKid = $(targetId);
		if (targetKid != null) {
			xyzIdx = xyzkids.indexOf(targetKid);
			var newPos = 0;
			if (nkbrowsecontentorient == 'hor') {
				newPos = 0 - targetKid.offsetLeft;
			} else {
				newPos = 0 - targetKid.offsetTop;
			}
			effectMove(newPos);
		}
	}

	browsecountcurrent.html(xyzIdx + 1);


	var nextFunc = null;
	var prevFunc = null;

	if (nkbrowsecontentorient == 'hor') {
		nextFunc = function() {
			if(xyzkids[xyzIdx+1] != null) {
				var newLeft = 0 - (xyzkids[++xyzIdx]).offsetLeft;
				effectMove(newLeft);
			}
			return false;
		};
		prevFunc = function() {
			if(xyzkids[xyzIdx-1] != null) {
				var newLeft = 0 - (xyzkids[--xyzIdx]).offsetLeft;
				effectMove(newLeft);
			}
			return false;
		};
	} else {
		nextFunc = function() {	// doet eigenlijk prev
			if(xyzkids[xyzIdx-1] != null) {
				var newTop = 0 - (xyzkids[--xyzIdx]).offsetTop;
				effectMove(newTop);
			}
			return false;
		};
		prevFunc = function() {	// doet eigenlijk next
			if(xyzkids[xyzIdx+1] != null) {
				var newTop = 0 - (xyzkids[++xyzIdx]).offsetTop;
				effectMove(newTop);
			}
			return false;
		};
	}

	xyznext.click(nextFunc);
	xyzprev.click(prevFunc);
	
	if (xyzkids.length < 2) {
		if (nkbrowsecontentorient == 'hor') {
			xyznext.hide();
		} else {
			xyzprev.hide();
		}
	}

	// stop selection event, cudo's to Noel Verschaeren:
	jQuery('#contentcontainer').click(function(thisEvent) {
		if (thisEvent.target == thisEvent.currentTarget) {
			return false;
		} // allow other events inside contentcontainer (text-selection, click-enlarge, etc) to continue
	});
});


