/* =====================================
   Intralign™ V1.00 - Released July 2010
   Copyright © 2010, Intraversed Pty Ltd
   Sydney, NSW Australia
   -------------------------------------
   History:
   V1.00 - first release.

   Author: Mark Gavin Atkins
   =====================================
*/
// JavaScript Document
// code to handle hover popup messages, timeout and cookies.

var cakeFrontPage = '../pages/login.php';

// a popup window used for browsing other URL's
function popup(mylink, windowname)
{
if (! window.focus)return true;
var href;
if (typeof(mylink) == 'string')
   href=mylink;
else
   href=mylink.href;
window.open(href, windowname, 'width=400,height=200,scrollbars=yes');
return false;
}


// Determine how much the visitor had scrolled

function closeMsgPopup() {
	document.getElementById("msgpopup").style.display = "none";
	setOpacity(0);
	$('#msgpopup p:first').html('');
}


function msgPopupRelocate() {
	var scrolledX, scrolledY;
	if( self.pageYOffset ) {
		scrolledX = self.pageXOffset;
	  	scrolledY = self.pageYOffset;
	} else if( document.documentElement && document.documentElement.scrollTop ) {
  		scrolledX = document.documentElement.scrollLeft;
  		scrolledY = document.documentElement.scrollTop;
	} else if( document.body ) {
  		scrolledX = document.body.scrollLeft;
  		scrolledY = document.body.scrollTop;
	}

// Determine the coordinates of the center of the page

	var centerX, centerY;
	if( self.innerHeight ) {
  		centerX = self.innerWidth;
  		centerY = self.innerHeight;
	} else if( document.documentElement && document.documentElement.clientHeight ) {
  		centerX = document.documentElement.clientWidth;
  		centerY = document.documentElement.clientHeight;
	} else if( document.body ) {
  		centerX = document.body.clientWidth;
  		centerY = document.body.clientHeight;
	}

	var leftOffset, topOffset;
	if (centerX > 780) {
		var diffX = centerX - 780;
		leftOffset = scrolledX + (centerX - diffX - 280) / 2;
	} else {
		leftOffset = scrolledX + (centerX - 280) / 2;
	}
	topOffset = scrolledY + (centerY - 100) / 2;
 	document.getElementById("msgpopup").style.top = topOffset + "px";
 	document.getElementById("msgpopup").style.left = leftOffset + "px";
// alert("X is " + centerX + " and Y is " + centerY + ". Scrolled X is " + scrolledX + " and scrolled Y is " + scrolledY + ". Leftoffset is " + leftOffset);

}

function setOpacity( value ) {
 	document.getElementById("msgpopup").style.opacity = value / 10;
 	document.getElementById("msgpopup").style.filter = 'alpha(opacity=' + value * 10 + ')';
	}

function fadeInMsgPopup() {
 	for( var i = 0 ; i <= 100 ; i++ )
   		setTimeout( 'setOpacity(' + (i / 10) + ')' , 8 * i );
}

function fadeOutMsgPopup() {
 	for( var i = 0 ; i <= 100 ; i++ ) {
   		setTimeout( 'setOpacity(' + (10 - i / 10) + ')' , 8 * i );
 	}

 	setTimeout('closeMsgPopup()', 800 );
}

function msgPopup(hold) {
 	msgPopupRelocate();
 	setOpacity( 0 );
	document.getElementById("msgpopup").style.display = "block";
 	fadeInMsgPopup();
 	document.body.onscroll = msgPopupRelocate;
 	window.onscroll = msgPopupRelocate;
 	if (!hold) window.setTimeout("fadeOutMsgPopup()", 4000);
}

 
function setCookie(c_name,value,expiredays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate()+expiredays);
document.cookie=c_name+ "=" +escape(value)+
((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}

function getCookie(c_name)
{
if (document.cookie.length>0)
  {
  c_start=document.cookie.indexOf(c_name + "=");
  if (c_start!=-1)
    {
    c_start=c_start + c_name.length+1;
    c_end=document.cookie.indexOf(";",c_start);
    if (c_end==-1) c_end=document.cookie.length;
    return unescape(document.cookie.substring(c_start,c_end));
    }
  }
return "";
}

function checkCookie()
{
username=getCookie('CAKEuser');
if (username!=null && username!="")
  {
  document.getElementById("loginUsernameId").value = username;
  document.getElementById("rememberMeId").checked = true;
  }
}

function rememberMe()
{
	var username;
	if (document.getElementById("rememberMeId").checked==true)
		{
		username=document.getElementById("loginUsernameId").value;
		if (username!=null && username!="")
			{
			setCookie('CAKEuser', username, 7);
			}
		}

}

function getLink()
{
	var myName;
	myName = document.getElementById("fullFileName").value;
	if (myName == null) myName = "nothing";
	alert("filename is " + myName);
	var myElement = document.getElementsByName("fullFileName");
	alert("value is " + myElement.item(0).value);
}

// -------------------------------
// jQuery functions
// -------------------------------

// display a short message using the JavaScript popup.
// requires the msmpopup div

jQuery.fn.sms = function(sms, hold)
	{
	var sms = sms || 'No message!';
	var hold = hold || false;
	if( $('#msgpopup').css('display') == 'none' && $('#msgpopup').css('opacity') == '0'){
		$('#msgpopup p:first').html(sms);
		msgPopup(hold);
	}else{
		if( $('#msgpopup p:first').text() == '' )
			$('#msgpopup p:first').html(sms);
		else
			$('#msgpopup p:first').append('<br />' + sms);
		msgPopup(true);
	}	
	};
	
// hide all sibling divs under #mainContent except me.

jQuery.fn.showMeOnly = function(t)
	{
//	var x = $(t).html();
//	alert('I contain: ' + x);
		$(t).parent().find('div').not('#controls, #fileTreeArea, #termSubscription, #recentTerms').hide('fast');
		$(t).slideDown('fast');
	};

jQuery.fn.varPrint = function(n)
	{
	function populateMe(t, v)
		{
		$(t).find('p:first').css({'padding-left' : '2em'}).html('Retrieving information...').addClass('wait');
		$.post('../actions/JQvarPrint.php', { varname: escape(n) },
			function(data)		{
								$(t).find('p:first').css({'padding-left' : '0'}).removeClass('wait').html(data);
								$(t).slideDown('fast');
			});
		}
	populateMe($(this), n);
	};

jQuery.fn.sessionCheck = function(d){
	var errmsg = $('#timeout',d).text();
	if (errmsg != ''){
		alert(errmsg);
		document.location.href = cakeFrontPage;
		return true;
	}else{
		return false;
	}
};