/*
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.
--------------------------------------------------------- */



function parseResponseText(responseText) {
    start = responseText.indexOf('<div class="tx-kontingent-ajax-begin"></div>')+44;
    end   = responseText.indexOf('<div class="tx-kontingent-ajax-end"></div>');
    return responseText.substring(start,end);
}

function changeText( div2show, text ) {
    // Detect Browser
    var IE = (document.all) ? 1 : 0;
    var DOM = 0; 
    if (parseInt(navigator.appVersion) >=5) {DOM=1};

    // Grab the content from the requested "div" and show it in the "container"
    if (DOM) {
        var viewer = document.getElementById(div2show);
        viewer.innerHTML = text;
    }  else if(IE) {
        document.all[div2show].innerHTML = text;
    }
}

/* =============================================================== */
var ratingAction = {
	'a.rater' : function(element){
	
		var oldHref = element.href;
		element.href = 'javascript:void(0);';
	
		element.onclick = function(){

			var parameterString = oldHref.replace(/.*\?(.*)/, "$1"); // onclick="sndReq('j=1&q=2&t=127.0.0.1&c=5');
			var parameterTokens = parameterString.split("&"); // onclick="sndReq('j=1,q=2,t=127.0.0.1,c=5');
			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'];
			var thername = parameterList['n'];
			//for testing	alert('sndReq('+theVote+','+theratingID+','+theuserIP+','+theunits+')'); return false;
			//sndReq(theVote,theratingID,theuserIP,theunits,thername); return false;		
			
			var theUL = document.getElementById('unit_ul'+theratingID); 
			// the UL
			// switch UL with a loading div
			theUL.innerHTML = '<div class="loading"></div>';
			
			
			var bulid_params = '';
			bulid_params += 'tx_pnmaudiodoo_pi4[ajax_request]=rating';
			bulid_params += '&tx_pnmaudiodoo_pi4[j]='+theVote;
			bulid_params += '&tx_pnmaudiodoo_pi4[q]='+theratingID;
			bulid_params += '&tx_pnmaudiodoo_pi4[t]='+theuserIP;
			bulid_params += '&tx_pnmaudiodoo_pi4[c]='+theunits;
			bulid_params += '&tx_pnmaudiodoo_pi4[n]='+thername;
			

			//alert(window.location.pathname);
			
			new Ajax.Request(window.location.pathname, {
					method: 'post',
					parameters: bulid_params,
					onComplete: function(transport) {
						var response = parseResponseText(transport.responseText);
				        var update = new Array();
						
						//alert(response); 

				        if(response.indexOf('|') != -1) {
				            update = response.split('|');
				            $(update[0]).innerHTML = update[1];
				        }
					}
				}
			);	
		}
	}
};
Behaviour.register(ratingAction);

