157 linhas
5.8 KiB
JavaScript
157 linhas
5.8 KiB
JavaScript
/*
|
|
* Copyright 2008, 2009 UFPE - Universidade Federal de Pernambuco
|
|
*
|
|
* Este arquivo é parte do programa Amadeus Sistema de Gestão de Aprendizagem, ou simplesmente Amadeus LMS
|
|
*
|
|
* O Amadeus LMS é um software livre; você pode redistribui-lo e/ou modifica-lo dentro dos termos da Licença Pública Geral GNU como
|
|
* publicada pela Fundação do Software Livre (FSF); na versão 2 da Licença.
|
|
*
|
|
* Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU para maiores detalhes.
|
|
*
|
|
* Você deve ter recebido uma cópia da Licença Pública Geral GNU, sob o título "LICENCA.txt", junto com este programa, se não, escreva para a Fundação do Software Livre (FSF) Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
*
|
|
*/
|
|
|
|
var msgCancel;
|
|
var msgApprove;
|
|
|
|
var lastRequest = null;
|
|
|
|
function ajaxLoadingConfig(div, innerHTML) {
|
|
document.getElementById(div).innerHTML = innerHTML;
|
|
document.getElementById(div).style.textAlign = "center";
|
|
document.getElementById(div).style.color = "#2f7445";
|
|
document.getElementById(div).style.fontWeight = "bolder";
|
|
}
|
|
|
|
function init(approve, cancel) {
|
|
msgCancel = cancel;
|
|
msgApprove = approve;
|
|
pinballEffect();
|
|
}
|
|
|
|
function showDetails(requestId) {
|
|
if (lastRequest != null)
|
|
hideDetails(lastRequest);
|
|
lastRequest = requestId;
|
|
|
|
document.getElementById('request'+requestId).className = "requestExpanded";
|
|
document.getElementById('reqInfo'+requestId).style.display = "BLOCK";
|
|
document.getElementById('reqBtns'+requestId).style.display = "BLOCK";
|
|
}
|
|
|
|
function hideDetails(requestId, innerHTML, msgSuccess) {
|
|
document.getElementById('request'+requestId).className = "requestColapsed";
|
|
document.getElementById('reqInfo'+requestId).style.display = "NONE";
|
|
document.getElementById('reqJust'+requestId).style.display = "NONE";
|
|
document.getElementById('reqBtns'+requestId).style.display = "NONE";
|
|
|
|
document.getElementById('reqJustification'+requestId).value = '';
|
|
document.getElementById('reqBtnLeft'+requestId).blur();
|
|
document.getElementById('reqBtnLeft'+requestId).value = msgApprove;
|
|
document.getElementById('reqBtnLeft'+requestId).onclick = function() {approveRequest(requestId, innerHTML, msgSuccess)};
|
|
document.getElementById('reqBtnRight'+requestId).onclick = function() {showJustBox(requestId, innerHTML, msgSuccess)};
|
|
}
|
|
|
|
function showJustBox(requestId, innerHTML, msgSuccess) {
|
|
document.getElementById('reqInfo'+requestId).style.display = "NONE";
|
|
document.getElementById('reqJust'+requestId).style.display = "BLOCK";
|
|
|
|
document.getElementById('reqJustification'+requestId).focus();
|
|
document.getElementById('reqBtnLeft'+requestId).value = msgCancel;
|
|
document.getElementById('reqBtnLeft'+requestId).onclick = function() {showDetails(requestId, innerHTML, msgSuccess)};
|
|
document.getElementById('reqBtnRight'+requestId).onclick = function() {disaproveRequest(requestId, innerHTML, msgSuccess)};
|
|
}
|
|
|
|
function approveRequest(requestId, innerHTML, msgSuccess) {
|
|
ajaxLoadingConfig("reqBtns"+requestId, innerHTML);
|
|
var cb = {callback:function(data) {requestServerResponse(requestId, data);}};
|
|
|
|
UtilDWR.getInclude('/approvedTeachingRequest.do?parameter=Aprovacao&userRequestId='+requestId,
|
|
function(data) {
|
|
dwr.util.setValue('request'+requestId, msgSuccess, { escapeHtml:false });
|
|
document.getElementById('request'+requestId).className = "NONE";
|
|
lastRequest = null;
|
|
}
|
|
);
|
|
}
|
|
|
|
function disaproveRequest(requestId, innerHTML, msgSuccess) {
|
|
|
|
var just = document.getElementById('reqJustification'+requestId).value;
|
|
var cb = {callback:function(data) {requestServerResponse(requestId, data);}};
|
|
if (just == "") {alert("Você deve escrever uma justificativa");
|
|
}else{
|
|
ajaxLoadingConfig("reqBtns"+requestId, innerHTML);
|
|
UtilDWR.getInclude('/disapprovedTeachingRequest.do?parameter=Reprovacao&userRequestId='+requestId+'&justification='+just,
|
|
function(data) {
|
|
dwr.util.setValue('request'+requestId, msgSuccess, { escapeHtml:false });
|
|
document.getElementById('request'+requestId).className = "NONE";
|
|
lastRequest = null;
|
|
}
|
|
);
|
|
|
|
}
|
|
}
|
|
|
|
function requestServerResponse(requestId, data) {
|
|
if (data != null) {
|
|
alert(data);
|
|
} else {
|
|
$('request'+requestId).style.display = 'none';
|
|
}
|
|
}
|
|
|
|
// ## PinBall Effect ## //
|
|
|
|
var lastElement = null;
|
|
var W3CDOM = (document.createElement && document.getElementsByTagName);
|
|
|
|
function pinballEffect() {
|
|
if (!W3CDOM) return;
|
|
var allElements = document.getElementsByTagName('div');
|
|
var originalBackgrounds=new Array();
|
|
for (var i=0; i<allElements.length; i++) {
|
|
if (allElements[i].className.indexOf('pinball-scoop') !=-1) {
|
|
pinballAddEvents(allElements[i]);
|
|
}
|
|
}
|
|
}
|
|
|
|
function mouseGoesOver() {
|
|
originalClassNameString = this.className;
|
|
this.className += " pinball-on";
|
|
this.style.cursor = "pointer";
|
|
//this.style.cursor = "hand";
|
|
}
|
|
|
|
function mouseGoesOut() {
|
|
this.className = originalClassNameString;
|
|
}
|
|
|
|
function mouseGoesClick() {
|
|
var allThisAreasElements = this.getElementsByTagName('*');
|
|
for (var j=0; j<allThisAreasElements.length; j++) {
|
|
if (allThisAreasElements[j].className.indexOf('pinball-sinkhole') != -1) {
|
|
if (lastElement != null)
|
|
pinballAddEvents(lastElement);
|
|
|
|
lastElement = this;
|
|
allThisAreasElements[j].onclick();
|
|
originalClassNameString = this.className;
|
|
pinballRemoveEvents(this);
|
|
}
|
|
}
|
|
}
|
|
|
|
function pinballAddEvents(element) {
|
|
element.onmouseover = mouseGoesOver;
|
|
element.onmouseout = mouseGoesOut;
|
|
element.onclick = mouseGoesClick;
|
|
}
|
|
function pinballRemoveEvents(element) {
|
|
element.onmouseover = function() {};
|
|
element.onmouseout = function() {};
|
|
element.onclick = function() {};
|
|
element.style.cursor = 'default';
|
|
} |