// JavaScript Document
/***********************************************
* Floating Top Bar script- © Dynamic Drive (www.dynamicdrive.com)
* Sliding routine by Roy Whittle (http://www.javascript-fx.com/)
* This notice must stay intact for legal use.
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
/* Sidebar positioning - Native Code: Begin */
var startX;

var persistclose=0 //set to 0 or 1. 1 means once the bar is manually closed, it will remain closed for browser session
var startY = 4 //set y offset of bar in pixels
var verticalpos="fromtop" //enter "fromtop" or "frombottom"

function iecompattest(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function getInternetExplorerVersion()
// Returns the version of Internet Explorer or a -1
// (indicating the use of another browser).
{
  var rv = -1; // Return value assumes failure.
  if (navigator.appName == 'Microsoft Internet Explorer')
  {
    var ua = navigator.userAgent;
    var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
    if (re.exec(ua) != null)
      rv = parseFloat( RegExp.$1 );
  }
  return rv;
}


function get_cookie(Name) {
var search = Name + "="
var returnvalue = "";
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
if (offset != -1) {
offset += search.length
end = document.cookie.indexOf(";", offset);
if (end == -1) end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset, end))
}
}
return returnvalue;
}

function closebar(){
if (persistclose)
document.cookie="remainclosed=1"
document.getElementById("topbar").style.visibility="hidden"
}


function staticbar(){
	var divoffsetLeft=document.getElementById("wrapper").offsetLeft;
	var divwidth=document.getElementById("wrapper").clientWidth;	
	
	var startX = divoffsetLeft + divwidth + 20;
	
	barheight=document.getElementById("topbar").offsetHeight;
	var ns = (navigator.appName.indexOf("Netscape") != -1) || window.opera;
	var d = document;
	function ml(id){
		var el=d.getElementById(id);
		if (!persistclose || persistclose && get_cookie("remainclosed")=="")
		el.style.visibility="visible"
		if(d.layers)el.style=el;
		el.sP=function(x,y){
			/* For All Browser Other then IE */
			this.style.left=x+"px";
			this.style.top=y+"px";
				
			/* For IE Browser Fix */						
			var ver = getInternetExplorerVersion();			

			  if ( ver > -1 )
			  {
				if ( ver >= 8.0 ){
					this.style.left=x+"px";
					this.style.top=y+"px";
				}
				else
				{
				
					this.style.left=(x - 150)+"px";
					this.style.top=y+"px";
				}
			  }
		};
		el.x = startX;
		if (verticalpos=="fromtop")
		el.y = startY;
		else{
		el.y = ns ? pageYOffset + innerHeight : iecompattest().scrollTop + iecompattest().clientHeight;
		el.y -= startY;
		}
		return el;
	}
	window.stayTopLeft=function(){
		if (verticalpos=="fromtop"){
		var pY = ns ? pageYOffset : iecompattest().scrollTop;
		ftlObj.y += (pY + startY - ftlObj.y)/8;
		}
		else{
		var pY = ns ? pageYOffset + innerHeight - barheight: iecompattest().scrollTop + iecompattest().clientHeight - barheight;
		pY = 0;
		ftlObj.y += (pY - startY - ftlObj.y)/8;
		}
		ftlObj.sP(ftlObj.x, ftlObj.y);
		setTimeout("stayTopLeft()", 10);
	}
	ftlObj = ml("topbar");	
	stayTopLeft();
}

if (window.addEventListener)
window.addEventListener("load", staticbar, false)
else if (window.attachEvent)
window.attachEvent("onload", staticbar)
else if (document.getElementById)
window.onload=staticbar
/* Sidebar positioning - Native Code: End */

/* Assorted from side-bar.js: Begin */
document.write('<style> #sideBarContents {height:0;} </style>');
var isExtended = 0;
var height = 155;
var width = 200;
var slideDuration = 1000;
var opacityDuration = 1500;

function extendContract(){
	
	if(isExtended == 0){
		
		sideBarSlide(0, height, 0, width);
		sideBarSlide5(3, height, 20, width);
		
		sideBarOpacity(0, 1);
	
		isExtended = 1;
		
		// make expand tab arrow image face left (inwards)
		//$('sideBarTab').childNodes[0].src = $('sideBarTab').childNodes[0].src.replace(/(\.[^.]+)$/, '-active$1');
		
	}
	else{
		
		sideBarSlide(height, 0, width, 0);
		
		sideBarOpacity(1, 0);

		sideBarSlide5(height, 3, width, 20);
				
		isExtended = 0;

		
		// make expand tab arrow image face right (outwards)
		
		//$('sideBarTab').childNodes[0].src = $('sideBarTab').childNodes[0].src.replace(/-active(\.[^.]+)$/, '$1');
	}

}

function sideBarSlide(fromHeight, toHeight, fromWidth, toWidth){
		var myEffects = new Fx.Styles('sideBarContents', {duration: slideDuration, transition: Fx.Transitions.linear});
		myEffects.custom({
			 'height': [fromHeight, toHeight],
			 'width': [fromWidth, toWidth]
		});
}

function sideBarOpacity(from, to){
		var myEffects = new Fx.Styles('sideBarContents', {duration: opacityDuration, transition: Fx.Transitions.linear});
		myEffects.custom({
			 'opacity': [from, to]
		});
}

function sideBarSlide5(fromHeight, toHeight, fromWidth, toWidth){
		var myEffects = new Fx.Styles('sideBar', {duration: slideDuration, transition: Fx.Transitions.linear});
		myEffects.custom({
			 'height': [fromHeight, toHeight],
			 'width': [fromWidth, toWidth]
		});
}

function init(){
	$('sideBarTab').addEvent('click', function(){extendContract()});
}

window.addEvent('load', function(){init()});
/* Assorted from side-bar.js: End */

/* Assorted from side-bar2.js: Begin */
var isExtended2 = 0;
var height2 = 155;
var width = 200;
var slideDuration = 1000;
var opacityDuration = 1500;

function extendContract2(){	
	if(isExtended2 == 0){		
		sideBarSlide2(0, height2, 0, width);
		sideBarSlide55(0, height2, 0, width);
		
		sideBarOpacity2(0, 1);
	
		isExtended2 = 1;		
		// make expand tab arrow image face left (inwards)
		//$('sideBarTab2').childNodes[0].src = $('sideBarTab2').childNodes[0].src.replace(/(\.[^.]+)$/, '-active$1');		
	}
	else{
		
		sideBarSlide2(height2, 0, width, 0);
		
		sideBarOpacity2(1, 0);

		sideBarSlide55(height2, 0, width, 20);
		
		isExtended2 = 0;
		
		// make expand tab arrow image face right (outwards)
		
		//$('sideBarTab2').childNodes[0].src = $('sideBarTab2').childNodes[0].src.replace(/-active(\.[^.]+)$/, '$1');
	}

}

function sideBarSlide2(fromHeight, toHeight, fromWidth, toWidth){
		var myEffects = new Fx.Styles('sideBarContents2', {duration: slideDuration, transition: Fx.Transitions.linear});
		myEffects.custom({
			 'height': [fromHeight, toHeight],
			 'width': [fromWidth, toWidth]
		});
}

function sideBarOpacity2(from, to){
		var myEffects = new Fx.Styles('sideBarContents2', {duration: opacityDuration, transition: Fx.Transitions.linear});
		myEffects.custom({
			 'opacity': [from, to]
		});
}

function sideBarSlide55(fromHeight, toHeight, fromWidth, toWidth){
		var myEffects = new Fx.Styles('sideBar2', {duration: slideDuration, transition: Fx.Transitions.linear});
		myEffects.custom({
			 'height': [fromHeight, toHeight],
			 'width': [fromWidth, toWidth]
		});
}

function init2(){
	$('sideBarTab2').addEvent('click', function(){extendContract2()});
}

window.addEvent('load', function(){init2()});
/* Assorted from side-bar2.js: End */

function addFavoriteCookie(title) {
	 var final_cookee_val='';
	 
	 // Read Cookee
	 var location = document.location;
	 var old_cookee_val = get_cookie("MyTextFab");	
	 var new_cookee_val = title + '#' + location;
	 
	 if(old_cookee_val != null){
		if(old_cookee_val.indexOf(location) == -1)	{
			var tmpArr = new Array();
			tmpArr = old_cookee_val.split('$');
			if(tmpArr.length <= 4) final_cookee_val = old_cookee_val+'$'+new_cookee_val;		
			else {
				tmpArr.shift();
				tmpArr[4] = new_cookee_val;
				final_cookee_val = tmpArr.join("$");
			}
		}
		else final_cookee_val = old_cookee_val;			
	 }
	 else final_cookee_val = new_cookee_val;
	 
	 // Creating Cookie
	 var dateObj1 = new Date();
	 var dateObj2 = new Date();
	 var dateObj3 = new Date();
	 dateObj2.setTime(dateObj1.getTime() + 3600000*24*365);
	 dateObj3.setTime(dateObj1.getTime() - 1);
	 document.cookie = "MyTextFab="+final_cookee_val+ ";expires="+dateObj2.toGMTString()+"; path=/";
	 
	 // Re-generating div contents
	 var myDiv = '<ul>';
	 var title_arr = new Array();
	 title_arr = final_cookee_val.split('$');
	 for(var i=0; i<title_arr.length; i++) {				
		renderVal = title_arr[i].split('#');
		myDiv += '<li><a href="'+renderVal[1]+'">'+renderVal[0]+'</a></li>';
	 }
	 myDiv += '</ul>';
	 document.getElementById('favseen').innerHTML=myDiv;
}

if(document.recentVisited) {
	var rv_final_cookee_val='';
	 
	 // Read Cookee
	 var rv_location = document.location;
	 var rv_old_cookee_val = get_cookie("MyRecentVisits");	
	 var rv_new_cookee_val = document.recentVisited.rvTitle.value + '#' + rv_location;
	 
	 if(rv_old_cookee_val != null){
		if(rv_old_cookee_val.indexOf(rv_location) == -1)	{
			var rv_tmpArr = new Array();
			rv_tmpArr = rv_old_cookee_val.split('$');
			if(rv_tmpArr.length <= 4) rv_final_cookee_val = rv_old_cookee_val+'$'+rv_new_cookee_val;		
			else {
				rv_tmpArr.shift();
				rv_tmpArr[4] = rv_new_cookee_val;
				rv_final_cookee_val = rv_tmpArr.join("$");
			}
		}
		else rv_final_cookee_val = rv_old_cookee_val;			
	 }
	 else rv_final_cookee_val = rv_new_cookee_val;
	 
	 // Creating Cookie
	 var dateObj4 = new Date();
	 var dateObj5 = new Date();
	 var dateObj6 = new Date();
	 dateObj5.setTime(dateObj4.getTime() + 3600000*24*365);
	 dateObj6.setTime(dateObj4.getTime() - 1);
	 document.cookie = "MyRecentVisits="+rv_final_cookee_val+ ";expires="+dateObj5.toGMTString()+"; path=/";
}

if (document.cookie.length>0) {		
	// Generating contents for Favourites
	var cookieFavVal = get_cookie("MyTextFab");
	if(cookieFavVal != null) {
		var myFavDiv = '<ul>';
		var title_arr = new Array();
		title_arr = cookieFavVal.split('$');
		for(var favI=0; favI<title_arr.length; favI++) {
			renderVal = title_arr[favI].split('#');
			myFavDiv += '<li><a href="'+renderVal[1]+'">'+renderVal[0]+'</a></li>';
		}
		myFavDiv += '</ul>';            
		document.getElementById('favseen').innerHTML=myFavDiv;
	}
	
	// Generating contents for Recently Visited
	var cookieRecentVisit = get_cookie("MyRecentVisits");
	if(cookieRecentVisit != null) {
		var myRecentVisitedDiv = '<ul>';
		var rv_title_arr = new Array();
		rv_title_arr = cookieRecentVisit.split('$');
		for(var rv_favI=0; rv_favI<rv_title_arr.length; rv_favI++) {
			rv_renderVal = rv_title_arr[rv_favI].split('#');
			myRecentVisitedDiv += '<li><a href="'+rv_renderVal[1]+'">'+rv_renderVal[0]+'</a></li>';
		}
		myRecentVisitedDiv += '</ul>';            
		document.getElementById('favseen2').innerHTML=myRecentVisitedDiv;
	}
}	