// AJAX
var g_LastRowOpened = false;
var g_LastDetailLabel = false;
var g_ShowOnlyOne = false;

function showdetail(t,i,c){
 var l_TR = html_CascadeUpTill(t,'TR');
 var l_ThisTable = html_CascadeUpTill(t,'TABLE');
 ShowHideDetailRow(t,l_ThisTable,l_TR,i,c);	
 g_LastDetailLabel = t; // set the last show/hide_detail clicked
 g_LastRowOpened = l_TR; // set the last row clicked	
}

function ShowHideDetailRow(pThis,pTable,pTR,pID,pCount){
 var l_Detail = 'detail'+pID;
 var l_NumCells = pTR.cells.length
 if(pTR.rowIndex == pTable.rows.length-1 || pTable.rows[pTR.rowIndex+1].className != "detail"){
   var myNewRow = pTable.insertRow(pTR.rowIndex+1);
   myNewRow.className = "detail";
   var myNewCell = myNewRow.insertCell(0);
   myNewCell.className = "";
   myNewCell.setAttribute("wrap", "wrap");
   myNewCell.colSpan=l_NumCells;
   var get = new htmldb_Get(null,html_GetElement('pFlowId').value,'APPLICATION_PROCESS=BlogPostComments',8);
   get.add('TEMPORARY_ITEM',pID);
   gReturn = get.get();
   myNewCell.innerHTML = gReturn;
   html_ShowElement(l_Detail);
 }else{
   html_ToggleElement(pTable.rows[pTR.rowIndex+1]);
 }
 SetDetailLabel(pThis,pCount);
}

function SetDetailLabel(pThis,pCount){
 if(pThis.innerHTML == 'Show Comments ('+ pCount + ')'){
   pThis.innerHTML = 'Hide Comments (' + pCount + ')'; 
 }else{
   pThis.innerHTML = 'Show Comments (' + pCount + ')';
 }
}

function getCheckboxValues(pCheckbox, pValue) {
 cb_name = html_GetElement(pCheckbox+'_0').name;
 cb_array = document.getElementsByName(cb_name);
 var val_str = ':';
 for(i=0; i<cb_array.length; i++){
    if (cb_array[i].checked){
      val_str += cb_array[i].value + ':';	 			 
    }
 }
 html_GetElement(pValue).value = val_str;
}

// Rating system
var NUMBER_OF_STARS = 5;

function init_rating(){
 var ratings = document.getElementsByTagName('div');
 for (var i = 0; i < ratings.length; i++){
   if (ratings[i].className != 'rating')
     continue;
   var rating = ratings[i].firstChild.nodeValue;
   ratings[i].removeChild(ratings[i].firstChild);
   if (rating > NUMBER_OF_STARS || rating < 0)
     continue;
   for (var j = 0; j < NUMBER_OF_STARS; j++){
      var star = document.createElement('img');
      if (rating >= 1){
         star.setAttribute('src', 'http://dgielis.shellprompt.net/rating/rating_on.gif');
         star.className = 'on';
         rating--;
      }else if(rating == 0.5){
         star.setAttribute('src', 'http://dgielis.shellprompt.net/rating/rating_half.gif');
         star.className = 'half';
         rating = 0;
      } else{
         star.setAttribute('src', 'http://dgielis.shellprompt.net/rating/rating_off.gif');
         star.className = 'off';
      }
      var widgetId = ratings[i].getAttribute('id').substr(7);
      star.setAttribute('id', 'star_'+widgetId+'_'+j);
      star.onmouseover = new Function("evt", "displayHover("+widgetId+", "+j+");");
      star.onmouseout = new Function("evt", "displayNormal("+widgetId+", "+j+");");
      star.onclick = new Function("evt", "submitRating("+widgetId+", "+j+");");
      ratings[i].appendChild(star);
     } 
    }
}

function displayHover(ratingId, star){
 var user_id = '&USER_ID.'
 for (var i = 0; i <= star; i++){ 
   if (user_id != '') 
     document.getElementById('star_'+ratingId+'_'+i).setAttribute('src', 'http://dgielis.shellprompt.net/rating/rating_over.gif');
 }
}

function displayNormal(ratingId, star){
 for (var i = 0; i <= star; i++){
    var status = document.getElementById('star_'+ratingId+'_'+i).className;
    document.getElementById('star_'+ratingId+'_'+i).setAttribute('src', 'http://dgielis.shellprompt.net/rating/rating_'+status+'.gif');
 }
}

function submitRating(evt,star){
 var tmp = document.getElementById('star_'+evt+'_'+star).getAttribute('id').substr(5);
 var widgetId = tmp.substr(0, tmp.indexOf('_'));
 var starNbr = tmp.substr(tmp.indexOf('_')+1);
 starNbr = eval(starNbr) + 1;
 var ajaxRequest = new htmldb_Get(null,$v('pFlowId'),'APPLICATION_PROCESS=AddBlogRating',8);
 ajaxRequest.add('P8_BLG_ID',widgetId);
 ajaxRequest.add('P8_RATING',starNbr);
 ajaxResult = ajaxRequest.get();
 ajaxRequest = null;
}

$(document).ready(function() {
  init_rating();
});

