711ebcbf2c
- 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
90 lines
No EOL
2.5 KiB
JavaScript
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;
|
|
} |