﻿var xmlHttp = null;
var CONST_NOT_INITIALIZED = 0;
var CONST_SETUP = 1;
var CONST_SENT = 2;
var CONST_IN_PROCESS = 3;
var CONST_COMPLETE = 4;
var oUserRatings = new Object();


function GetXmlHttpObject()
{
  var xmlHttp = null;
  
  try
  {
    // Firefox, Opera 8.0+, Safari
    xmlHttp=new XMLHttpRequest();
  }
  catch (e)
  {
    // Internet Explorer
    try
    {
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e)
    {
      try
      {
        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch (e)
      {
        alert("Your browser does not support AJAX!");
        return false; 
      }
    }
  }
  
  xmlHttp.onreadystatechange = postStatusChanged;
  return xmlHttp
}

function rate(brandId,mediaId,rating)
{
  oUserRatings[brandId] = rating;
  ResetRating(brandId, mediaId);

  xmlHttp = GetXmlHttpObject();
  if (!xmlHttp)
  {
    return false;
  }
  
  var params = "b=" + brandId + "&m=" + mediaId + "&r=" + rating;
  xmlHttp.open("POST","rate.aspx",true);
  xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
  xmlHttp.setRequestHeader("Content-length", params.length);
  xmlHttp.setRequestHeader("Connection","close");
  xmlHttp.send(params);
}

function postStatusChanged() 
{ 
  if (xmlHttp.readyState == CONST_COMPLETE)
  { 
//    alert(xmlHttp.responseText);
  }
}

var disabledStar = "images/stard.gif";
var enabledStar = "images/star.gif";

function ResetRating(brandId, mediaId)
{
  SetImageRatings(brandId, mediaId, oUserRatings[brandId]);
}

function SetImageRatings(brandId, mediaId, rating)
{
  SwitchRatingImage(brandId, mediaId, 1, rating);
  SwitchRatingImage(brandId, mediaId, 2, rating);
  SwitchRatingImage(brandId, mediaId, 3, rating);
  SwitchRatingImage(brandId, mediaId, 4, rating);
  SwitchRatingImage(brandId, mediaId, 5, rating);
}

function SwitchRatingImage(brandId, mediaId, starId, rating)
{
  var star = document.getElementById("s" + brandId + "_" + mediaId + "_" + starId);

  if (star)
  {
    if (starId > rating)
    {
      star.src = disabledStar;
    }
    else
    {
      star.src = enabledStar;
    }
  }
}
