// show a loader:
function arhi_Loader() {
	if ($(".arhi-loader").length==0) {
		$("body").append('<div class="arhi-loader"></div>');
		$(".arhi-loader").css({
		'left':arhi_MouseX,
		'top':arhi_MouseY
		});
		$(document).bind('mousemove.arhiLoader',function(e){
			$(".arhi-loader").css({
			'left':arhi_MouseX,
			'top':arhi_MouseY
			});
		});
	}
	else {
		$(document).unbind('mousemove.arhiLoader');
		$(".arhi-loader").remove();
	}
}
// init a slider:
function arhi_Slider(obj) {
	var iContentScrollableHeight = $("#arhi_content_item_"+$(obj).attr('rel')+" .arhi-content-item-content .content-scrollable").height();
	var iContentHeight = $("#arhi_content_item_"+$(obj).attr('rel')+" .arhi-content-item-content .content").height();
	if (iContentScrollableHeight > iContentHeight) {
		// init slider:
		var oSlider = $("#arhi_content_item_"+$(obj).attr('rel')+" .arhi-content-item-content .slider");
		var oScrollable = $("#arhi_content_item_"+$(obj).attr('rel')+" .arhi-content-item-content .content");
		oSlider.slider({
			orientation: "vertical",
			slide: function(e,ui){
				var maxScroll = oScrollable.attr("scrollHeight")-oScrollable.height();
				oScrollable.attr({scrollTop: -(ui.value*maxScroll)/100});
			},
			min: -100,
			max: 0,
			/*value: -100,
			range: "min"*/
		});
	}
}
// after load/switch content:
function arhi_AfterLoad(iPos,obj,loaded) {
	// remove active class:
	$("#arhi_controls li a").removeClass("active");
	// add active class:
	$(obj).addClass("active");
	// remove all dashes:
	$("#arhi_controls li a span").remove();
	// add dash:
	$(obj).append('<span>-</span>');
	// switch:
	$("#arhi_content_items").cycle(iPos);
	if (loaded==false) {
		arhi_Slider(obj);
		// slimbox:
		$("#arhi_content_item_"+$(obj).attr('rel')+" .arhi-content-item-content .content-scrollable .gallery a[rel^='lightbox']").slimbox({}, null, function(el) {
			return (this == el) || ((this.rel.length > 8) && (this.rel == el.rel));
		});
	}
	return false;
}
// slide/switch content:
function arhi_SwitchContent(iPos,obj) {
	var oContentObj = $("#arhi_content_item_"+$(obj).attr('rel')+" .arhi-content-item-content");
	// load content via ajax first, then slide:
	if (oContentObj.html().length==0) {
		// show loader:
		arhi_Loader();
		// load:
		var sLoadURL = sAppHttpPath+"display.php?content="+$(obj).attr('rel')+"&ajax=1&nocache="+new Date().getTime();
		oContentObj.load(sLoadURL,function(){
			arhi_AfterLoad(iPos,obj,false);
			// close loader:
			arhi_Loader();
		});
	}
	// just slide:
	else {
		arhi_AfterLoad(iPos,obj,true);
	}
}
// controls:
function arhi_Controls() {
	$("#arhi_controls_menu li a").each(function(iPos,obj){
		$(obj).attr('href','javascript:void(0);');
		$(obj).click(function(){
			arhi_SwitchContent(iPos,obj);
		});
	});
}
// init app:
$(function() {
	$(document).mousemove(function(e){
		arhi_MouseX = e.pageX+20;
		arhi_MouseY = e.pageY-20;
	});
	// init cycle:
	$("#arhi_content_items").cycle({
		fx: 'scrollHorz',
		timeout: 0,
		speed: 1500
	});
	// init controls:
	arhi_Controls();
});
