// -*- javascript -*-

window.onload=function s(){
      var n = new Date();
      var g=n.getHours();
      var b=document.getElementsByName("Submit");
     for (i=0;i<b.length;i++){
       b[i].onclick = function(){ 
         if (g>1 && g<8){return false;}
	     if (g>12 && g<13){return false;}
	     if (g>19 && g<23){return false;} 
       }
	 }
   }
function StarItWidget2(url, container) {
   var targetURL         = url;
   var widgetContainerId = 'starit-widget-container';
   if(arguments.length > 1) {
      widgetContainerId = container;
   }

   var cache = '&cache=' + (new Date()).getTime();

   var baseURL  = 'http://star.recompile.net';
   var imageDir = baseURL + '/images/';
   var statURL  = baseURL + '/r/' + targetURL + cache;
   var postURL  = baseURL + '/p/';
   var iframeURL= baseURL + '/api/hidden_frame';

   var documentHead    = document.getElementsByTagName('head').item(0);
   var widgetContainer = document.getElementById(widgetContainerId);

   var data = null;

   function createStarImage(index, point) {
      var image = document.createElement('img');

      image.id = 'starit-star-' + index;
      image.style.cursor = 'pointer';
      image.style.verticalAlign = 'text-top';

      image.onmouseover = overrideStarImage;
      image.onmouseout = redrawStarImage;
      image.onclick = function() { postRating(index + 1) };

      setStarImage(image, point);

      return image;
   }
   function postRating(score) {
      var script = document.createElement('script');
      var url = postURL + + score + '/' + targetURL + cache;

      script.setAttribute('type', 'text/javascript');
      script.setAttribute('src', url);
      script.setAttribute('id',  'starit-script-' + (++ this.counter));

      documentHead.appendChild(script);
   }
   function overrideStarImage() {
      var pos = parseInt(this.id.split('-')[2]);
      for(var i = 0; i < 5; i++) {
         var image = document.getElementById('starit-star-' + i);
         setStarImage(image, pos - (i - 1));
      }
   }
   function redrawStarImage() {
      for(var i = 0; i < 5; i++) {
         var image = document.getElementById('starit-star-' + i);
         setStarImage(image, starit2.data.average - i)
      }
      var label = document.getElementById('starit-label');
      label.innerHTML = ' ' + starit2.data.count + 'ratings';
   }
   function setStarImage(image, point) {
      if(point >= 1) {
         image.src = imageDir + 'star_16x16_full.png';
      } else if(point > 0) {
         image.src = imageDir + 'star_16x16_half.png';
      } else {
         image.src = imageDir + 'star_16x16_none.png';
      }
   }

   this.draw = function(data) {
      this.data = data;

      var widget = widgetContainer;

      for(var i = 0; i < 5; i++) {
         var image = createStarImage(i, data.average - i);
         widget.appendChild(image);
      }

      var label = document.createElement('span');
      label.style.verticalAlign = 'text-top';

      var text  = document.createTextNode(' ' + data.count + 'ratings');
      label.id = 'starit-label';
      label.style.fontSize = '12px';
      label.style.color    = '#495159';
      label.title = 'average: ' + data.average;
      label.appendChild(text);

      widget.appendChild(label);
   }
   this.fetchStatistic = function() {
      var script = document.createElement('script');
      script.setAttribute('id', 'starit-script-' + (++ this.counter));
      script.setAttribute('type', 'text/javascript');
      script.setAttribute('src', statURL);

      documentHead.appendChild(script);
   }
   this.redraw = function() {
      redrawStarImage();
   }
   this.afterPost = function(data) {
      var label = document.getElementById('starit-label');
      label.innerHTML = ' Thanks!';

      for(var i = 0; i < 5; i++) {
         var image = document.getElementById('starit-star-' + i);
         image.onmouseover = function() {};
         image.onmouseout = function() {};
         image.onclick = function() {};
         image.style.cursor = '';
      }
      this.data = data;
      window.setTimeout("starit2.redraw();", 2000);
   }
}

function StarItWidget() {
   this.fetch = function() {}
}

starit2 = new StarItWidget2(escape(document.location.href));
starit2.fetchStatistic();
