piwigo/template/yoga/rating.js
rvelices 711ebcbf2c - thumbnails creation for all local sites (not only site id 1)
- urls for images in notification (rss & mail) is now correct
- removed "Recent pictures" from title in when the flat view is in effect
- removed unnecessary class="" from comments.tpl
- english language correction
- removed unused web service files
- set rating star button left & right margin to 0 (javascript)
- admin menu - put site manager and synchronize together

git-svn-id: http://piwigo.org/svn/trunk@1814 68402e56-0260-453c-a942-63ccdbb3a9ee
2007-02-14 00:36:34 +00:00

90 lines
No EOL
2.5 KiB
JavaScript

makeNiceRatingForm();
function makeNiceRatingForm()
{
var form = document.getElementById('rateForm');
if (!form) return; //? template changed
gRatingButtons = form.getElementsByTagName('input');
gUserRating = "";
for (var i=0; i<gRatingButtons.length; i++)
{
if ( gRatingButtons[i].type=="button" )
{
gUserRating = gRatingButtons[i].value;
break;
}
}
for (var i=0; i<gRatingButtons.length; i++)
{
var rateButton = gRatingButtons[i];
rateButton.initialRateValue = rateButton.value; // save it as a property
rateButton.value = ""; //hide the text IE/Opera
with (rateButton.style)
{
textIndent = "-50px"; //hide the text FF
marginLeft = marginRight = 0;
}
if (i!=gRatingButtons.length-1 && rateButton.nextSibling.nodeType == 3 /*TEXT_NODE*/)
rateButton.parentNode.removeChild(rateButton.nextSibling);
if (i>0 && rateButton.previousSibling.nodeType == 3 /*TEXT_NODE*/)
rateButton.parentNode.removeChild(rateButton.previousSibling);
if(window.addEventListener){ // Mozilla, Netscape, Firefox
rateButton.addEventListener("click", updateRating, false );
rateButton.addEventListener("mouseout", resetRatingStarDisplay, false );
rateButton.addEventListener("mouseover", updateRatingStarDisplayEvt, false );
}
else if(window.attachEvent) { // IE
rateButton.attachEvent("onclick", updateRating);
rateButton.attachEvent("onmouseout", resetRatingStarDisplay);
rateButton.attachEvent("onmouseover", updateRatingStarDisplayEvt);
}
}
resetRatingStarDisplay();
}
function resetRatingStarDisplay()
{
updateRatingStarDisplay( gUserRating );
}
function updateRatingStarDisplay(userRating)
{
for (i=0; i<gRatingButtons.length; i++)
{
var rateButton = gRatingButtons[i];
if (userRating!=="" && userRating>=rateButton.initialRateValue )
{
rateButton.className = "rateButtonStarFull";
}
else
{
rateButton.className = "rateButtonStarEmpty";
}
}
}
function updateRatingStarDisplayEvt(e)
{
if (e.target)
updateRatingStarDisplay(e.target.initialRateValue);
else //IE
updateRatingStarDisplay(e.srcElement.initialRateValue);
}
function updateRating(e)
{
if (e.target)
var rateButton = e.target;
else //IE
var rateButton = e.srcElement;
if (rateButton.initialRateValue == gUserRating)
return false; //nothing to do
// some ajax here one day would be nice
rateButton.value = rateButton.initialRateValue; // put back real value
return true;
}