function changeBigPhoto(imgObj) { var bigPhoto = $('detaliuMare'); bigPhoto.src = imgObj.src; bigPhoto.title = imgObj.title; bigPhoto.alt = imgObj.alt; $(bigPhoto.up('a')).href = imgObj.src.replace('_details_', ''); } function getComments(fkProductID, page) { new Ajax.Request(document.getElementsByTagName('base')[0].href+'index.html/ajaxgate|productComments', { method:'post', parameters: {'fkProductID': fkProductID, 'pageID': page}, onSuccess: function(transport){ var response = transport.responseXML; writeComments(response); }, onFailure: function(){ } }); } function writeComments(rXML) { $('commentsListing').innerHTML = ''; if(document.all) { root = rXML.childNodes[1]; } else { root = rXML.childNodes[0]; } var pagingInfo = root.getElementsByTagName('detalii')[0]; var comments = root.getElementsByTagName('comentarii')[0]; var sysMessage = root.getElementsByTagName('sysMessage')[0]; if(comments.hasChildNodes()) { var items = comments.childNodes; for(var i = 0; i < items.length; i++) { var dl = $(document.createElement('dl')); dl.addClassName('comentariuUtilizator'); var dt = $(document.createElement('dt')); var username = document.createTextNode(items[i].getElementsByTagName('PersonName')[0].firstChild.nodeValue); dt.appendChild(username); dl.appendChild(dt); var dtDate = $(document.createElement('dt')); dtDate.addClassName('data'); var cDate = document.createTextNode(items[i].getElementsByTagName('postDate')[0].firstChild.nodeValue); dtDate.appendChild(cDate); dl.appendChild(dtDate); var dd = $(document.createElement('dd')); var message = items[i].getElementsByTagName('message')[0].firstChild.nodeValue; dd.innerHTML = message; dl.appendChild(dd); dd = $(document.createElement('dd')); dd.addClassName('note'); var rank = $(document.createElement('div')); rank.setStyle({ 'background-image':'url(images/backgrounds/rating.png)', 'background-position':'-' + (80 - (parseInt(items[i].getElementsByTagName('rank')[0].firstChild.nodeValue) * 16)) + 'px 0px', 'background-repeat':'no-repeat', 'border':'none', 'height':'16px', 'width':'80px' }); dd.appendChild(rank); dl.appendChild(dd); $('commentsListing').appendChild(dl); } } if(pagingInfo && pagingInfo.hasChildNodes) { var pageID = pagingInfo.getElementsByTagName('pagina')[0].firstChild.nodeValue; var nPages = pagingInfo.getElementsByTagName('totalpagini')[0].firstChild.nodeValue; var nElements = pagingInfo.getElementsByTagName('totalcomentarii')[0].firstChild.nodeValue; var elementID = pagingInfo.getElementsByTagName('ID')[0].firstChild.nodeValue; if(nPages && nPages > 1) { var cleaner = $(document.createElement('div')); cleaner.addClassName('cleaner'); $('commentsListing').appendChild(cleaner); var ppage = $(document.createElement('p')); ppage.id = 'paginare'; var span = $(document.createElement('span')); span.addClassName('paginare'); var paginare = document.createTextNode('Paginare'); span.appendChild(paginare); ppage.appendChild(span); for(var i = 1; i < nPages; i++) { if(i == pageID) { var pageTag = $(document.createElement('span')); } else { var pageTag = $(document.createElement('a')); pageTag.href = 'javascript: void(0);' pageTag.onclick = new Function('getComments(' + elementID + ', ' + i + ')'); } var pageText = document.createTextNode(i); pageTag.appendChild(pageText); ppage.appendChild(pageTag); } $('commentsListing').appendChild(ppage); $('commentsListing').appendChild(cleaner); } } if(sysMessage) { showToolTipFader(sysMessage.firstChild.nodeValue, $('comenteazaSiTuID')); } } function nl2br(str) { if(typeof(str)=="string") return str.replace(/(\r\n)|(\n\r)|\r|\n/g,"
"); else return str; } //COMMENTS function displayCommentForm(formID, userID, fieldToFocus, message) { if(parseInt(userID)) { Effect.toggle($(formID),'slide'); setTimeout('$(\''+fieldToFocus+'\').focus();', 1000); } else { // showToolTipFader(message, $('comenteazaSiTuID')); if(!$('commentGoToLogin')) { var commentGoToLogin = $(document.createElement('div')); commentGoToLogin.id = 'commentGoToLogin'; commentGoToLogin.setStyle({'display':'none'}); var div = $(document.createElement('div')); var msg = document.createTextNode(message); div.appendChild(msg); var br = document.createElement('br'); div.appendChild(br); msg = document.createTextNode('Pentru a intra in contul dumneavoastra, dati click '); div.appendChild(msg); var loginLink = $(document.createElement('a')); loginLink.href = document.getElementsByTagName('base')[0].href + 'index.html/account|login'; msg = document.createTextNode('aici'); loginLink.appendChild(msg); div.appendChild(loginLink); commentGoToLogin.appendChild(div); $('comenteazaSiTuID').parentNode.appendChild(commentGoToLogin); new Effect.SlideDown(commentGoToLogin); } } } function validateComment(fieldsToBeValidated) { var ok = true; if(fieldsToBeValidated.length) { for(i = 0; i < fieldsToBeValidated.length; i++) { if(!$(fieldsToBeValidated[i]).value.trim().length) { ok = false; showToolTipFader('Completati...',$(fieldsToBeValidated[i])); } } } return ok; } function postComment(formID, fkProductID, fieldsToBeValidated) { if(validateComment(fieldsToBeValidated)) { Effect.toggle($(formID),'slide'); new Ajax.Request(document.getElementsByTagName('base')[0].href+'index.html/ajaxgate|productComments', { method:'post', parameters: {'fkProductID': fkProductID, comment: $('comment').value, 'rank':$('rank').value, postComment: '1' }, onSuccess: function(transport){ $('comment').value =''; $('rank').value =''; $('ranking').style.backgroundPosition = '-80px 0px'; var response = transport.responseXML; writeComments(response); }, onFailure: function(){ } }); } } function buildRanking() { var ratingSelector = $('ranking'); function mouseOver() { this.parentNode.style.backgroundPosition = -(80 - (this.firstChild.nodeValue * 16)) + "px 0px"; } function mouseOut() { this.parentNode.style.backgroundPosition = -(80 - (this.parentNode.firstChild.value * 16)) + "px 0px"; } function mouseClick() { this.parentNode.firstChild.value = this.firstChild.nodeValue; return false; } for (var i = 1; i <= 5; i++) { var star = document.createElement("a"); star.href = "#"; star.title = i + "/5"; star.appendChild(document.createTextNode(i)); star.onmouseover = mouseOver; star.onmouseout = mouseOut; star.onclick = mouseClick; ratingSelector.appendChild(star); } }