/*
ATTENTION: If you modify this file, remember to update the gzipped variant too!
*/

var httpURL="";


function updateMood(){
	window.open("/mytlnet/updatemood.php", "updatemood", "left="+(document.body.clientWidth/3)+",top="+(document.body.clientHeight/3)+",width=340,height=210,location=no,menubar=no,status=no,toolbar=no,resizable=no,scrollbars=no");
}

function toggleShowQuote(id){
	toggleHidden('showQuoteRest_'+id, 'showQuoteLink_'+id, 'Show nested quote +', 'Hide nested quote -');
}

function getSpoilerHeader(spoilerTitle, show) {
	showPre  = '+ Show ';
	showPost = ' +';
	hidePre  = '- Hide ';
	hidePost = ' -';
	
	truncatedTitle = truncateText(spoilerTitle, 40);
	
	spoilerTitle = (spoilerTitle.length > 0) 
		? ' [' + truncatedTitle + ']'
		: '';
	
	return show
		? showPre + 'Spoiler' + spoilerTitle + showPost
		: hidePre + 'Spoiler' + spoilerTitle + hidePost;
}

function toggleShowSpoiler(spoilerLink, spoilerTitle, ubbSpoilerCount) {
	spoilerDiv = document.getElementById('spoiler_' + ubbSpoilerCount);
	if (spoilerLink.innerHTML.match('^\\+')) {
		spoilerLink.innerHTML = getSpoilerHeader(spoilerTitle, false);
		spoilerDiv.style.display = '';
	}
	else {
		spoilerLink.innerHTML = getSpoilerHeader(spoilerTitle, true);
		spoilerDiv.style.display = 'none';
	}
}

function toggleShowMoreEvents() {
	toggleHidden('span_more_events', 'link_show_more_events', 'More', 'Less');
}

function toggleHidden(spanId, linkId, textHidden, textShown) {
	span = document.getElementById(spanId);
	link = document.getElementById(linkId);
	if(span.style.display != 'none') {
		span.style.display = 'none';
		link.innerHTML = textHidden;
	}
	else {
		span.style.display = '';
		link.innerHTML = textShown;
	}
}

function resize_images()
{
	var imgs = document.getElementsByTagName('img');
	var i;
	for (i = 0; i < imgs.length; i++)
	{
		var img = imgs[i];
		var classes = img.className.split(' ');
		var maxWidth = 590;

		if(classes[0] == "ie-image")
		{
			if(classes[1] == "img-quoted")
				maxWidth = 542;

			if (img.width > maxWidth)
			{
				img.style.border = "1px solid yellow";
				img.width = maxWidth;
				img.onclick = function() { window.open (this.src); };
			}

			img.style.position = 'static';
			img.style.visibility = 'visible';
		}
		else if (classes[0] == 'css-image')
		{
			var maxWidth = parseInt(img.style.maxWidth);
			if (img.width >= maxWidth)
			{
				img.style.border = "1px solid yellow";
				img.onclick = function() { window.open (this.src); };
			}
		}
	}
}

function getHTTPObject() {
  if (typeof XMLHttpRequest != 'undefined') {
    return new XMLHttpRequest();
  }
  try {
    return new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) {
    try {
      return new ActiveXObject("Microsoft.XMLHTTP");
    } catch (e) {}
  }
  return false;
}

function getElement(element) {
  var selectionStart, selectionLength;
  if (typeof(document.selection) != 'undefined' && !window.opera) {
    var range = document.selection.createRange(); 
    var storedRange = range.duplicate(); 
    storedRange.moveToElementText(element); 
    storedRange.setEndPoint('EndToEnd', range); 
    element.selectionStart = storedRange.text.length - range.text.length; 
    element.selectionEnd   = element.selectionStart + range.text.length; 
  }
  return element;
}

function getUserSelection(element) {  
  var element = getElement(element);
  var selection = element.value.substring(element.selectionStart, element.selectionEnd);
  return selection;
}

function setUserSelection(element, newText) {
  var element = getElement(element);
  element.value = element.value.substring(0, element.selectionStart) + newText 
    + element.value.substring(element.selectionEnd);
}

function addUBB_selected(elementId, tag) {
  var replyArea = document.getElementById(elementId);
  var scrollTop = replyArea.scrollTop;
  var scrollLeft = replyArea.scrollLeft;
  var selectedText = getUserSelection(replyArea); 
  if (selectedText.length == 0) {
    replyArea.value = replyArea.value + '[' + tag + '][/' + tag + ']';
  } else {
    setUserSelection(replyArea, '[' + tag + ']' + selectedText + '[/' + tag + ']');
  }
  replyArea.scrollTop = scrollTop;
  replyArea.scrollLeft = scrollLeft;
}

function _tlpdize(elementId, undo, mode) {  
  // Reply Area
  var replyArea = document.getElementById(elementId);
  var scrollTop = replyArea.scrollTop;
  var scrollLeft = replyArea.scrollLeft;
  var selectedText = getUserSelection(replyArea); 
  var text;
  if (selectedText.length == 0) {
    text = replyArea.value;
  } else {
    text = selectedText;
  }
  
  // AJAX request variables
  var http   = getHTTPObject();
  var url    = '/tlpd/tlpdize.php';
  var params = 'text=' + encodeURIComponent(text.replace(/\+/g, '@_PLUS_CHARACTER_#'));
  if (mode != null) {
    params += '&mode=' + mode;
  }
  if (undo) {
    params += '&undo=1';
  }
  
  // Saving/changing reply area's bg color
  var oldBgColor = replyArea.style.backgroundColor; 
  replyArea.style.backgroundColor = '#ccc';
  
  // AJAX request
  http.open('POST', url, true);
  http.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
  http.setRequestHeader('Content-length', params.length);
  http.setRequestHeader('Connection', 'close');
  http.onreadystatechange = function() {
    // On AJAX request done
    if (http.readyState == 4 && http.status == 200) {
      // Setting the changed text + changing the bg color back
      if (selectedText.length == 0) {
        replyArea.value = http.responseText;
      }
      else {
        setUserSelection(replyArea, http.responseText);
      }
      replyArea.style.backgroundColor = oldBgColor;
      replyArea.scrollTop = scrollTop;
      replyArea.scrollLeft = scrollLeft;
    }
  } 
  http.send(params);
}

function tlpdize(elementId) {
  _tlpdize(elementId, false, 'tlpd');
}
function tsldize(elementId) {
  _tlpdize(elementId, false, 'tsld');
}
function untlpdize(elementId) {
  _tlpdize(elementId, true, null);
}

function truncateText(string, maxlength) {
	if (string.length > maxlength) {
		return string.substring(0, maxlength - 2) + '..';
	}
	return string;
}

function setTZCountDown(nowtime,thentime) {
  var toDate = new Date();
  toDate.setTime(thentime);
  var fromDate = new Date();
  fromDate.setTime(nowtime);
  var diffDate = new Date(0);
  diffDate.setMilliseconds(toDate - fromDate);
  return Math.floor(diffDate.valueOf()/1000);
}
function displayTZCountDown(countdown,tzcd) 
{
  if (countdown < 0) {
    if(document.getElementById(tzcd).innerHTML == '&nbsp;')
      document.getElementById(tzcd).innerHTML = '00:00:00';
    else
      document.getElementById(tzcd).innerHTML = '&nbsp;';
    setTimeout('displayTZCountDown('+(countdown-1)+',\''+tzcd+'\');',700);
  }
  else {
    var secs = countdown % 60; 
    if (secs < 10) secs = '0'+secs;
    var countdown1 = (countdown - secs) / 60;
    var mins = countdown1 % 60; 
    if (mins < 10) mins = '0'+mins;
    countdown1 = (countdown1 - mins) / 60;
    var hours = countdown1 % 24;
    if (hours < 10) hours = '0'+hours;
    var days = (countdown1 - hours) / 24;
    if(days < 1)
      document.getElementById(tzcd).innerHTML = hours+':'+mins+':'+secs;
    else
      document.getElementById(tzcd).innerHTML = days + ' day' + (days == 1 ? '' : 's') + ', ' +hours+ ' hours, ' +mins+ ' mins, '+secs+' secs';
    setTimeout('displayTZCountDown('+(countdown-1)+',\''+tzcd+'\');',999);
  }
}

var httpo;
	
function RateBlog(blogid, rating){
	var answer = confirm("Rate this blog post a " + rating + "?");
	if (answer){
		var browser = navigator.appName;
		if (browser == "Microsoft Internet Explorer")
			httpo = new ActiveXObject("Microsoft.XMLHTTP");
		else
			httpo = new XMLHttpRequest();

		httpo.open("get", "http://www.teamliquid.net/blogs/rateblog.php?postid="+blogid+"&rating="+rating);
		httpo.onreadystatechange = HandleResults;
		httpo.send(null);

		document.getElementById("star1-"+blogid).src = "http://www.teamliquid.net/blogs/images/graystarSmall.gif";
		document.getElementById("star2-"+blogid).src = "http://www.teamliquid.net/blogs/images/graystarSmall.gif";
		document.getElementById("star3-"+blogid).src = "http://www.teamliquid.net/blogs/images/graystarSmall.gif";
		document.getElementById("star4-"+blogid).src = "http://www.teamliquid.net/blogs/images/graystarSmall.gif";
		document.getElementById("star5-"+blogid).src = "http://www.teamliquid.net/blogs/images/graystarSmall.gif";

		for (i = 1; i <= rating; i++){
			document.getElementById("star"+i+"-"+blogid).src = "http://www.teamliquid.net/blogs/images/blackstar.gif";
		}
	}				
}

function HandleResults(){		
	if (httpo.readystate == 4){}
}
