/*
Keith Hards 2009 for KwikSurveys.com

BASED ON :		rating.js
---------------------------------------------------------
Page:           rating.js
Created:        Aug 2006
Last Mod:       Mar 11 2007
Handles actions and requests for rating bars.	
--------------------------------------------------------- 
ryan masuga, masugadesign.com
ryan@masugadesign.com 
Licensed under a Creative Commons Attribution 3.0 License.
http://creativecommons.org/licenses/by/3.0/
See readme.txt for full credit details.
--------------------------------------------------------- */

var xmlhttp
	/*@cc_on @*/
	/*@if (@_jscript_version >= 5)
	  try {
	  xmlhttp=new ActiveXObject("Msxml2.XMLHTTP")
	 } catch (e) {
	  try {
	    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")
	  } catch (E) {
	   xmlhttp=false
	  }
	 }
	@else
	 xmlhttp=false
	@end @*/
	if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
	 try {
	  xmlhttp = new XMLHttpRequest();
	 } catch (e) {
	  xmlhttp=false
	 }
	}
	function myXMLHttpRequest() {
	  var xmlhttplocal;
	  try {
	    xmlhttplocal= new ActiveXObject("Msxml2.XMLHTTP")
	 } catch (e) {
	  try {
	    xmlhttplocal= new ActiveXObject("Microsoft.XMLHTTP")
	  } catch (E) {
	    xmlhttplocal=false;
	  }
	 }

	if (!xmlhttplocal && typeof XMLHttpRequest!='undefined') {
	 try {
	  var xmlhttplocal = new XMLHttpRequest();
	 } catch (e) {
	  var xmlhttplocal=false;
	  alert('couldn\'t create xmlhttp object');
	 }
	}
	return(xmlhttplocal);
}

function sndReq(vote,id_num,ip_num,units)
{
	e=document.getElementById("unit_ra"+id_num);
	//alert("unit_ra"+id_num);
	e.style.width = vote*30 + 'px';
	e=document.getElementById(id_num);
	e.value= vote;
	return false;
	
}

function resetRating(num,start,id)
{
	for (j=0;j<num;j++)
	{
		var eid = id+( parseInt(start)+parseInt(j) );
		//alert (eid );
		e=document.getElementById( "unit_ra"+eid );
		e.style.width = '0px';
		e=document.getElementById(eid);
		//alert(eid+' = '+e.value);
		e.value = 0;
	}
}

var ratingAction =
{
	'a.rater' : function(element)
	{
		element.onclick = function()
		{
			var parameterString = this.href.replace(/.*\?(.*)/, "$1");
			var parameterTokens = parameterString.split("&");
			var parameterList = new Array();
			for (j = 0; j < parameterTokens.length; j++)
			{
				var parameterName = parameterTokens[j].replace(/(.*)=.*/, "$1"); // j
				var parameterValue = parameterTokens[j].replace(/.*=(.*)/, "$1"); // 1
				parameterList[parameterName] = parameterValue;
			}
			var theratingID = parameterList['q'];
			var theVote = parameterList['j'];
			var theuserIP = parameterList['t'];
			var theunits = parameterList['c'];
			sndReq(theVote,theratingID,theuserIP,theunits); 
			return false;		
		}
	}
	,'a.resetRating' : function(element)
	{
		element.onclick = function()
		{
			var parameterString = this.href.replace(/.*\?(.*)/, "$1");
			var parameterTokens = parameterString.split("&");
			var parameterList = new Array();
			for (j = 0; j < parameterTokens.length; j++)
			{
				var parameterName = parameterTokens[j].replace(/(.*)=.*/, "$1"); // j
				var parameterValue = parameterTokens[j].replace(/.*=(.*)/, "$1"); // 1
				parameterList[parameterName] = parameterValue;
			}
			var num = parameterList['n'];
			var start = parameterList['s'];
			var id = parameterList['i'];
			resetRating(num,start,id);
			//alert(num+' '+start+' '+id);
			return false;		
		}
	}
};
Behaviour.register(ratingAction);