var scrollerUrl = "./";
var scrollerId = null;

function setScrollerUrl(_scrollerUrl) {
	scrollerUrl = _scrollerUrl;
}

function setScrollerId(_scrollerId) {
	scrollerId = _scrollerId;
}

function scroll (slider_id, direction, callAjax)
{
	if (parseInt(total[slider_id]) < 0 || typeof total[slider_id] == 'undefined') {
		total[slider_id] = target.length;
	}

	if (parseInt(current[slider_id]) < 1 || typeof current[slider_id] == 'undefined') {
		current[slider_id] = 1;
	}
	
	var desired = 1; 
	if (direction == "next") {
		 desired = current[slider_id] + 1;
	}
	else if (direction == "prev") {
		if (current[slider_id] - 1 > 0) {
			desired = current[slider_id] - 1;
		}else{
			desired = 1;
		}
	}else{
		return false;
	}
	
	if (parseInt(desired) < 1 || desired > total[slider_id] || desired == current[slider_id]) {
		return false;
	}
	checkArrows(slider_id, desired);

	if (callAjax == undefined) {
		var callAjax = true;
	}else{
		var callAjax = false;
	}
	
	if (loaded[slider_id][desired] === false && callAjax === true) {
		if (gatherData(sections[slider_id], slider_id, desired, current[slider_id])) {
			current[slider_id] = desired;
			loaded[slider_id][desired] = true;
		}
	}else{
		current[slider_id] = desired;
		$("#slider_" + slider_id + ' .scroll').scrollTo($('#pan_' + slider_id + '_' + desired), 600, {axis:'x'});
		showActivePage(slider_id, desired);
	}
	return false;	
}

function getUrlParameter (name)
{
	name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
	var regexS = "[\\?&]"+name+"=([^&#]*)";
	var regex = new RegExp( regexS );
	var results = regex.exec( window.location.href );
	if( results == null )
		return "";
	else
		return results[1];
}

function getId() {
	id = getUrlParameter('id');
	if (id == null || id == '' || id == 'undefined' || id == undefined) {
		id = scrollerId;
	}
	if (id == null) {
		id = '';
	}
	return id;
}

function gatherData(section, slider_id, desired, current)
{
	var opts = {
			url: scrollerUrl,
			data: {ajax: 1,section: section, page: desired, id: getId(), key: getUrlParameter('key'), ordtype: getUrlParameter('ordtype')},
			type: "POST",
			async:true,
			timeout:45000,
			error:function (){
				$('#ajax-loader-' + slider_id).fadeOut('slow');
				alert('System error!');
				return false;
			},
			beforeSend:function(){
				$('#ajax-loader-' + slider_id).fadeIn('slow');
			},
			complete: function(req){
				if(req.status == 200){
					if(req.responseText.length > 0){
						document.getElementById('pan_' + slider_id + '_' + desired).innerHTML = req.responseText;
						$('#ajax-loader-' + slider_id).fadeOut('slow');
						$("#slider_" + slider_id + ' .scroll').scrollTo($('#pan_' + slider_id + '_' + desired), 600, {axis:'x'});
						showActivePage(slider_id, desired);
						return true;
					}
				}
			}
		};
	return $.ajax(opts);
}

function showActivePage(slider_id, current_page)
{
	$('#pagination_' + slider_id + ' a.current_page').text(current_page);
}

function checkArrows(slider_id, desired)
{
	if (desired > 1) {
		$("#slider_" + slider_id + ' > a.arrow-left').removeClass('disleft');
		$("#pagination_" + slider_id + ' > a.prev_page').removeClass('NoActive');
	}
	if (desired == 1) {
		$("#slider_" + slider_id + ' > a.arrow-left').addClass('disleft');
		$("#pagination_" + slider_id + ' > a.prev_page').addClass('NoActive');
	}	
	if (desired == total[slider_id]) {
		$("#slider_" + slider_id + ' > a.arrow-right').addClass('disright');
		$("#pagination_" + slider_id + ' > a.next_page').addClass('NoActive');
	}
	if (desired < total[slider_id]) {
		$("#slider_" + slider_id + ' > a.arrow-right').removeClass('disright');
		$("#pagination_" + slider_id + ' > a.next_page').removeClass('NoActive');
	}
	if (loaded[slider_id][desired] != true || typeof loaded[slider_id][desired] == 'undefined') {
		loaded[slider_id][desired] = false;
	}
}