/***********************************************************************
*              Author: Klaus Hentschel [ All rights reserved ].                        				   *
************************************************************************
* Copyright (C) by Klaus Hentschel, http//javarea.de
*
* www: http://javaera.de.de
*
* Dieses Script ist Bestandteil des JavBB 2.0.0
*
* Rating.js
*
* setRatingCords() 			- berechnet die Mausposition vom Dokument und setzt diese fuer das imageObjekt entsprechnd um
* getRating()					- ersetzt die Grafik und zeigt ein Text entsprechend der Auswahl
* preLoadImage()				- Bilder in den Browsercache laden (vorladen)
***********************************************************************/

var fID = jbb['boardID'], 
		tID = jbb['threadID'],
		onClickEvent = false,
		saveActRating,
		rateDesc;

/**
* Description: Bilder in den Browsercache vorladen
* Author: Klaus Hentschel <javaera.de>
*
* preLoadImage()
**/		
preLoadImage = function()
{
	document.preLoad = new Array();
	if (document.images)
	{
		for(var i = 0; i < preLoadImage.arguments.length; i++)
		{
			document.preLoad[i] = new Image();
			document.preLoad[i].src = preLoadImage.arguments[i];
		}
	}
	saveActRating = actRating;
}

preLoadImage('images/rate/rating_0.gif',
						 'images/rate/rating_1.gif',
						 'images/rate/rating_2.gif',
						 'images/rate/rating_3.gif',
						 'images/rate/rating_4.gif',
						 'images/rate/rating_5.gif');

/**
* Description: setzen der Mauskoordinaten 
* Author: Klaus Hentschel <javaera.de>
*
* setRatingCords()
* @param: <obj> e			mouse-event
**/
setRatingCords = function(e)
{
	if (!e)		e = window.event;
	ratingCordsX = (document.all) ? (window.event.x + document.body.scrollLeft) : e.pageX; 
	ratingCordsX -= document.getElementById("rating").offsetLeft; 		
}
document.onmousemove = setRatingCords;

/**
* Description: tauscht die Grafik aus und blendet bei mousover einen zusaetzlichen Text ein 
* Author: Klaus Hentschel <javaera.de>
*
* getRating()
**/
getRating = function()
{
	var pos = {x:0}, rateID; 
	var docImgRating = document.getElementById('rating');
	
	if (docImgRating)
	{
		var elem = docImgRating;
		while(elem && elem.tagName.toUpperCase()!='BODY')
		{
			pos.x += elem.offsetLeft;
			elem = elem.offsetParent;
		}
		pos.x -= document.getElementById("rating").offsetLeft;	
				
		if (ratingCordsX >= pos.x+1 && ratingCordsX < pos.x+12)
		{
			rateID = 1;
			rateDesc = "grotten schlecht";
		}else if(ratingCordsX >= pos.x+12 && ratingCordsX < pos.x+24)
		{
			rateID = 2;
			rateDesc = "schlecht";		
		}else if(ratingCordsX >= pos.x+24 && ratingCordsX < pos.x+36)
		{
			rateID = 3;
			rateDesc = "mittelmässig";
		}else if(ratingCordsX >= pos.x+36 && ratingCordsX < pos.x+48)
		{
			rateID = 4;
			rateDesc = "gut";		
		}else if(ratingCordsX >= pos.x+48)
		{
			rateID = 5;
			rateDesc = "sehr gut";		
		}
			
		// event onclick ausfuehren
		docImgRating.onclick = function(e)
		{
			if (perm['canvoteThread'] == true)
			{
				onClickEvent = true;
				ajaxRequest.openGetRequest(BOARD_AJAXPATH + '?action=ThreadRating&forumid='+fID+'&threadid='+tID+'&ratingID='+rateID, 0,'LoadRating()');
				indicators(1, "tRate"); 
			}
			return true;
		}
	 
		LoadRating = function()
		{
			var value = ajaxRequest.xmlHttpRequest.responseText;
			actRating = value;
			indicators(0, "tRate"); 
			docImgRating.onmouseout();
		}
		
		// event onmouseout ausfuehren	
		docImgRating.onmouseout = function()
		{		
			// onlick wurde ausgefuehrt
			if (onClickEvent)
				onClickEvent = false;		
			else
				rateID = actRating;
        
			document.images.rating.src = BOARD_IMGDIR + "/rate/rating_"+rateID+".gif";
			document.getElementById("ratingDesc").innerHTML = '';
		}
		
     
		if (!onClickEvent)
    {
      document.images.rating.src = BOARD_IMGDIR + "/rate/rating_"+rateID+".gif";	
      document.getElementById("ratingDesc").innerHTML = rateDesc;
    }
	};
}


