function disableAnchor(obj, disable){
  if(disable){
    var href = obj.getAttribute("href");
    if(href && href != "" && href != null){
       obj.setAttribute('href_bak', href);
    }
    obj.removeAttribute('href');
  }
  else{
    obj.setAttribute('href', obj.attributes['href_bak'].nodeValue);
  }
}

Effect.Scroll = Class.create();
Object.extend(Object.extend(Effect.Scroll.prototype, Effect.Base.prototype), {
  initialize: function(element) {
    this.element = $(element);
    var options = Object.extend({
      x:    0,
      y:    0,
      mode: 'absolute'
    } , arguments[1] || {}  );
    this.start(options);
  },
  setup: function() {
    if (this.options.continuous && !this.element._ext ) {
      this.element.cleanWhitespace();
      this.element._ext=true;
      this.element.appendChild(this.element.firstChild);
    }
   
    this.originalLeft=this.element.scrollLeft;
    this.originalTop=this.element.scrollTop;
   
    if(this.options.mode == 'absolute') {
      this.options.x -= this.originalLeft;
      this.options.y -= this.originalTop;
    } else {
   
    }
  },
  update: function(position) {   
    this.element.scrollLeft = this.options.x * position + this.originalLeft;
    this.element.scrollTop  = this.options.y * position + this.originalTop;
  }
});

var req_x = 0;
var req_y = 0;
var timeout = 0;
var index = 0;
var noOfSlides;
var slide_width = 850;
var slide_padding = 0;
var scroll_duration = 1.5;

function init_slides(){
	var thisOne = document.getElementById('slides');
	var items = thisOne.getElementsByTagName("div");
	noOfSlides = items.length;
	updatePageInfo();
	$('slides').style.width = noOfSlides*(slide_width+slide_padding)+10 + 'px';
	$('page_info').appear({duration:2, delay:0});
	$('controls').appear({duration:2, delay:0.5});
	disablePrevious(true);
	if(noOfSlides==1) disableNext(true);
}
function gotoX(req_index){
	if (req_index<noOfSlides && req_index>-1){
		index = req_index
	}
	if (index==0){
		disablePrevious(true);
	}else{
		disablePrevious(false);
	}
	if (index==noOfSlides-1){
		disableNext(true);
	}else{
		disableNext(false);
	}
	updatePageInfo()
	req_x = index*(slide_width+slide_padding);
	new Effect.Scroll($('slide_container'), {x:req_x, duration:scroll_duration});
}
function disablePrevious(disable){
	if(disable==true){
		$('control_first').setAttribute('class', 'disabled');
		$('control_previous').setAttribute('class', 'disabled');
	}else{
		$('control_first').setAttribute('class', '');
		$('control_previous').setAttribute('class', '');
	}
}
function disableNext(disable){
	if(disable==true){
		$('control_last').setAttribute('class', 'disabled');
		$('control_next').setAttribute('class', 'disabled');
	}else{
		$('control_last').setAttribute('class', '');
		$('control_next').setAttribute('class', '');
	}
}
function updatePageInfo(){
	$('page_info').innerHTML = (index+1)+"/"+noOfSlides;
}
function slide_first(){
	gotoX(0);
}
function slide_previous(){
	gotoX(index-1);
}
function slide_next(){
	gotoX(index+1);
}
function slide_last(){
	gotoX(noOfSlides-1);
}
//window.onload = init_slides;
