/* $RCSfile: swlgallery.php,v $
 * $Author: wells $
 * $Date: 2009-02-20 09:44:04 -0600 (Fri, 20 Feb 2009) $
 * $Revision: 9161 $
 * Copyright (C) 2006 Small World Labs
 *
*/

var userHasRatedThis = false;
var max_rating = 5;

function toggle_box(which)
{
  box = $(which);
  if (box == null) return;
  if (box.hasClassName('closed')) 
  {
    box.toggleClassName('closed')
    new Effect.SlideDown(box);
  }
  else 
  {
    box.toggleClassName('closed')
    new Effect.SlideUp(box);
  }
}

function ajax_comment(formname)
{
  theform = $(formname);
  params = theform.serialize(true);
  theform.disable();
  $('comment_message').update('Submitting Comment.');
  toggle_box('comments_section');
  new Ajax.Request('index.php', {
    parameters: params,
    onSuccess: function() {  $('comment_message').update('Comment Submitted.'); },
    onFailure: function() {  $('comment_message').update('Error Submitting Comment.'); }
  });
}

function createRequestObject()
{
  var request_o; //declare the variable to hold the object.
  var browser = navigator.appName; //find the browser name
  if(browser == "Microsoft Internet Explorer")
  {
  /* Create the object using MSIE's method */
    request_o = new ActiveXObject("Microsoft.XMLHTTP");
  }
  else
  {
  /* Create the object using other browser's method */
    request_o = new XMLHttpRequest();
  }
  return request_o; //return the object
}

var http = createRequestObject();

function save_state(mid) {
  for (var i=0; i<max_rating; i++)
  {
    var img = $('starimage'+mid+'_'+i);
    img.old_source = img.src;
  }
}

function ajax_starrate(mid, star_id)
{
  save_state(mid);
  for (i=0; i<=star_id; i++)
  {
    $('starimage'+mid+'_'+i).src="/images/star_on.gif";
  }
  for (i=star_id+1; i<=4; i++)
  {
    $('starimage'+mid+'_'+i).src="/images/star_off.gif";
  }
}

function revert(mid)
{
  for (var i=0; i<max_rating; i++)
  {
    var img = $('starimage'+mid+'_'+i);
    img.src = img.old_source;
  }
}

function handleRequestItem()
{
  if (http.readyState == 4)
  {
  }
}

function setUserHasRatedThis(value) {
	userHasRatedThis = value;
}

function rate_the_item(mid, star_id, pid, type)
{
//	if (userHasRatedThis) return;
  for (i=0; i<=star_id; i++)
  {
    document.getElementById("starimage"+mid+"_"+i).src="/images/star_on.gif";
  }
  for (i=star_id+1; i<=4; i++)
  {
    document.getElementById("starimage"+mid+"_"+i).src="/images/star_off.gif";
  }
  for(i=0; i<5; i++)
  {
    el=document.getElementById("starrating"+mid+"_"+i);
    el.onmouseout=null;
//    el.onclick=function(){return false;};
    el.onmouseover=null;
  }
  el=document.getElementById("swlgallery_total_ratings"+mid);
  if (el && !userHasRatedThis)
  {
    el.innerHTML=String(parseInt(document.getElementById("swlgallery_total_ratings"+mid).innerHTML)+1);
    if (el.innerHTML == "1")
    {
    	document.getElementById("rating_plural").style.display = "none";
    	document.getElementById("rating_nonplural").style.display = "inline";
    }
    else
    {
      document.getElementById("rating_plural").style.display = "inline";
      document.getElementById("rating_nonplural").style.display = "none";
    }
    el.style.display="inline";
  }
  http.open('post', '/index.php', true);
  http.onreadystatechange = handleRequestItem;
  http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  if (type=="photos")
  {
    http.send('page_id=257&pid='+pid+'&rating='+String(star_id+1));
  }
  else
  {
    http.send('page_id=259&mid='+pid+'&rating='+String(star_id+1));
  }
  userHasRatedThis = true;
}
//----------------
function set_rate(star,num_of_stars,item_id)
{
  for ( i = 0; i < num_of_stars; i++)
  {
    current_image = $( "star_"+item_id+"_"+i) ;
    if ( i < star )
    {
      current_image.src = "images/star_on.gif";
    }
    else if ( i == star )
    {
      current_image.src = "images/star_on.gif";
    }
    else
    {
      current_image.src = "images/star_off.gif";
    }
  }
}

function set_rate_mouseout(e,item_id)
{
  feedback_rating = $( "feedback_rating_"+item_id) ;
  set_rate(parseInt(feedback_rating.value)-1);
}

function submitRating(star,item_id,category,secondary_item_id,ajax_indicator)
{
  $( "feedback_rating_"+item_id).value = star+1;
  sendData_rating_site_page_feedback(item_id, category,$( "feedback_rating_"+item_id).value-1,secondary_item_id,ajax_indicator);
}

function sendData_rating_site_page_feedback(item_id, category,rating,secondary_item_id,ajax_indicator)
{
  rating = parseInt(rating) + 1;
  $("rating_confirmation_"+item_id).innerHTML = ajax_indicator;
  
  url="index.php?page_id=125&section=rating&item_id="+item_id+"&category="+category+"&rating="+rating+"&secondary_item_id="+secondary_item_id+"&ajax=1";
  //alert(url);
  new Ajax.Request(url,
  {
    method:'get',
    onSuccess: function(success)
    {
      $("rating_confirmation_"+item_id).innerHTML = "Your rating has been saved";
    },
    onFailure: function()
    {
      alert('An error occured saving subscription.  Please reload the page.');
    }
  });

  
  
}
