//Globals


var SCROLLBARWIDTH = 21;
var VIEW_SUMMARIES = true;
var mouseX = 0;
var mouseY = 0;


function prepareFromPHP(decodeMe) {  
  var arrTokens = decodeMe.split(/\++/);
  if(arrTokens.length == 0)
    return decodeMe;

  var newStr = '';
  var str = decodeMe.replace(/\+/g, " ");
  for(var i = 0; i < arrTokens.length; i++) {
    //get spaces in front of each token
    newStr += str.substring(0, str.indexOf(arrTokens[i]));
    str = str.substring(str.indexOf(arrTokens[i]));
    
    //append token to newStr
    newStr += decodeURIComponent(arrTokens[i]);
    str = str.substring(arrTokens[i].length);
  }
   
  //get spaces following str
  //if(str.length > 0)
  //  newStr += getSpaces(str);
  
  return newStr;
}

function reply_window(mouseEvent){
	
	if (!mouseEvent)
	  mouseEvent = window.event;
	  
	if (mouseEvent.pageX || mouseEvent.pageY) 	{
		mouseX = mouseEvent.pageX;
		mouseY = mouseEvent.pageY;
	}
	else if (mouseEvent.clientX || mouseEvent.clientY) 	{
		mouseX = mouseEvent.clientX + document.body.scrollLeft
			+ document.documentElement.scrollLeft;
		mouseY = mouseEvent.clientY + document.body.scrollTop
			+ document.documentElement.scrollTop;
	}
	
	var element = document.getElementById('reply_div');
	
	//alert(mouseX + ' ' + mouseY);
	
	if(mouseX > 400){
		mouseX = mouseX / 5;
		
	}else if(mouseX > 200){
		
		mouseX = mouseX - 200;
	}
	
	if(mouseY > 400){
		mouseY = mouseY / 4;
	}
	
	element.style.position = 'absolute';
	element.style.top = mouseY + 'px';
	element.style.left = mouseX + 'px';
	//element.style.z-index = "100";
	//alert('x' + mouseX + '' + 'y' + mouseY);
}


function updateMouseCoords(mouseEvent) {
	if (!mouseEvent)
	  mouseEvent = window.event;
	  
	if (mouseEvent.pageX || mouseEvent.pageY) 	{
		mouseX = mouseEvent.pageX;
		mouseY = mouseEvent.pageY;
	}
	else if (mouseEvent.clientX || mouseEvent.clientY) 	{
		mouseX = mouseEvent.clientX + document.body.scrollLeft
			+ document.documentElement.scrollLeft;
		mouseY = mouseEvent.clientY + document.body.scrollTop
			+ document.documentElement.scrollTop;
	}
	
	//alert('x' + mouseX + '' + 'y' + mouseY);
	
}


function highlightRow(row_id, boolOn) {
						
	var bg_color = "#CCFFFF";
	if(!boolOn) {
		bg_color = "";
	}
	
	var row_obj = document.getElementById(row_id);
	if(row_obj && row_obj.cells) {
		for(var i = 0; i < row_obj.cells.length; i++) {
			row_obj.cells[i].style.backgroundColor = bg_color;
		}		
	}
	
}


function popupSummary(boolShow, post_id, contents, subject, category, from) {
	
	// hide if necessary
	if(!boolShow) {
		var div_obj = document.getElementById('summary'+post_id);
		if(div_obj) {
			document.body.removeChild(div_obj);
		}
		
		return;
	}
	
	//test if already showing, or if should not show
  var popup = document.getElementById('summary'+post_id);
  if(popup || !VIEW_SUMMARIES) {
    return;
  }
  
  	var viewDim = getViewSize();
  	var width = 450;
  	var height = 400;
	var xpos = viewDim['width'] - width - SCROLLBARWIDTH + document.body.scrollLeft - 150;
	var ypos = viewDim['height'] - height - SCROLLBARWIDTH + document.body.scrollTop;
	
	var div_obj = document.createElement('div');	
	div_obj.className = 'float-window';
	div_obj.style.cssText =
		'position:absolute; z-index:10; ' +
		'top:' + ypos + 'px; left:' + xpos + 'px; ' +
		'width:' + width + 'px; height:' + height + 'px; ' +
		'border:1px solid #000'; 
		
/*	div_obj.innerHTML = '<table width=100% cellpadding=0 cellspacing=0><tr bgcolor="#006bb5"><td style="color: #FFFFFF; font-weight: normal;">&nbsp;<span style="font-weight: bold;">Subject: </span>' + prepareFromPHP(subject) + 
	'</td></tr><tr bgcolor="#006bb5"><td style="color: #FFFFFF; font-weight: bold;">&nbsp;<span style="font-weight: bold;">Categoryer: </span>' + prepareFromPHP(category) + 
	'</td></tr><tr bgcolor="#006bb5"><td style="color: #FFFFFF; font-weight: normal;">&nbsp;<span style="font-weight: bold;">From: </span>' + prepareFromPHP(from) + 
	'</td></tr><tr><td>' + prepareFromPHP(contents) + '</td></tr></table>';
*/	
	div_obj.innerHTML = '<div class="header"><p><label>Subject: </label>' + prepareFromPHP(subject) + '</p><p><label>Category: </label>' + prepareFromPHP(category) + '</p><p><label>From: </label>' + prepareFromPHP(from) + '</p></div><div class="content-padding"' + prepareFromPHP(contents) + '</div>';
	
	div_obj.id = 'summary' + post_id;	
	
	// avoid annoying flashing when mouse is over popup window
	// doesn't work in firefox
  if(mouseX >= xpos && mouseX <= (xpos+width) && mouseY >= ypos && ypos <= (ypos+height)) {
    return;
  }
	
	document.body.appendChild(div_obj);
	
}


function getViewSize() {
    
  var winHeight = document.body.clientHeight;
  var winWidth = document.body.clientWidth;
  
  if(window.innerWidth) {
    winWidth =  window.innerWidth;
    winHeight =  window.innerHeight;
  }
  
  var ret = new Array();
  ret['width'] = winWidth;
  ret['height'] = winHeight;
  
  return ret;
  
}


function toggleSummaryView() {
	
	VIEW_SUMMARIES = !VIEW_SUMMARIES;
	
}//Globals


