// JavaScript functionality for devlat CMS powered web sites

      // Page scrolling things
      var $currentPage;
      var $pageCount;
      var $scrollingSpeed;
      var $scrollingPosition;
      var $scroller;
      
      // Tools
      function getElementByIdCompatible (the_id) {
        if (typeof the_id != 'string') {
          return the_id;
        }
        if (typeof document.getElementById != 'undefined') {
          return document.getElementById(the_id);
        } else if (typeof document.all != 'undefined') {
          return document.all[the_id];
        } else if (typeof document.layers != 'undefined') {
            return document.layers[the_id];
        } else {
            return null;
        }
      }
      function getElementsByClass(searchClass) {
	var classElements = new Array();
	var node = document;
	var els = node.getElementsByTagName('*');
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
	}
      function PopupProcess(actionCode)
      {
        if (actionCode == 'show') {
          $('#popup_menu').css('display', 'block');
        }
        if (actionCode == 'hide') {
          $('#popup_menu').css('display', 'none');
        }
      }
      
      function ButtonImage(buttonObject, pageNumber, actionCode)
      {
          if (actionCode == 'in') {
            buttonObject.src='img/toggle_on.png';
          }
          if (actionCode == 'out') {
            if (pageNumber == $currentPage) {
              buttonObject.src='img/toggle_on.png';
            } else {
              buttonObject.src='img/toggle_off.png';
            }
          }
      }
      function performScrolling(oldPage, newPage)
      {
        clearTimeout($scroller);
        if ($scrollingPosition == 0-688*newPage) {
          $scrollingSpeed = 0;
          var $n;
          for ($n=0; $n < $pageCount; $n++) {
            ButtonImage(getElementByIdCompatible('page'+$n), $n, 'out');
          }
          // Set the correct text...
          $.get('site_ajax_imagedesc_'+newPage+'.html', function(data) {
	    $('#BannerText').html(data);
    	  });
          return;
        }
        var neededPosition = 0-688*newPage;
        var startPosition = 0-688*oldPage;
        var Direction = 1;
        if (neededPosition<startPosition) Direction = -1;
        // "smart" scrolling speed calculation
        var startDistance = Math.abs(startPosition-$scrollingPosition);
        var endDistance = Math.abs(neededPosition-$scrollingPosition);
        $scrollingSpeed = 20;
        if (startDistance<50) $scrollingSpeed = startDistance/8+10;
        if (endDistance<50) $scrollingSpeed = endDistance/8+10;
        if ($scrollingSpeed == 0) $scrollingSpeed = 1;
        $scrollingPosition += Direction*$scrollingSpeed;
        if ((Direction == -1) && ($scrollingPosition<neededPosition)) $scrollingPosition = neededPosition;
        if ((Direction == 1) && ($scrollingPosition>neededPosition)) $scrollingPosition = neededPosition;
        $('#BannerImages').css('left', $scrollingPosition);
        $scroller = setTimeout("performScrolling("+oldPage+", "+newPage+")", 20);
      }
      
      function ScrollPage(pageNumber)
      {
        if (pageNumber<0) pageNumber = 0;
        if (pageNumber>=$pageCount) pageNumber = $pageCount-1;
        performScrolling($currentPage, pageNumber);
        $currentPage = pageNumber;
      }
      

