function WS(url, name, w, h)
{
	popupWin = window.open(url, name, 'resizable,scrollbars,menubar=0,width=' + w + ',height=' + h);
}

function resize_win()
{
 thisnav = document.getElementById("centerdiv"); 
 
 if (thisnav.offsetHeight<screen.height) 
  {

	var newheight;
        newheight = screen.height - document.body.offsetHeight - 100;

	thisnav.style.display = "block";
	thisnav.style.height= '800px';		

	
 }
}

function ContextShow(event)
{
  return false;
}

function ShowInPopup(url, name, w, h)  
{
	popupWin = window.open(url, name, 'resizable,scrollbars,menubar=0,status=0,width=' + w + ',height=' + h);
}




// *************************************************************
// Ajax
// *************************************************************

function getHTTPObject()
{
      if (window.ActiveXObject) 
	      return new ActiveXObject("Microsoft.XMLHTTP");
      else if (window.XMLHttpRequest) 
	      return new XMLHttpRequest();
      else
	      {
			      //alert("Your browser does not support AJAX.");
			      return null;
	      }
  }
  
// *************************************************************
// HomeLinks
// *************************************************************

var groupHttpObject = null;
var groupUpdated = null;
var groupTitleUpdated = null;
var groupUpdatedId = -1;	


function updateGroupData()
{
	      if(groupHttpObject.readyState == 4)
	      {
			      //var group_DOM_id = 'group_' + groupUpdatedId;							
			      //var group = document.getElementById(group_DOM_id);
			      //subnodes.innerHTML = treeviewHttpObject.responseText;		
			      groupUpdated.innerHTML = groupHttpObject.responseText;	
			      groupUpdatedId = -1;
			      groupUpdated = null;
	      }
}

function requestHomlinksGroup(group,id,url)
{      
    groupHttpObject = getHTTPObject();
    if (groupHttpObject != null)
    {
	//alert('request group: ' + id);
	var h;
	groupUpdated = group;
	groupUpdatedId=id;
	//alert(url);
	groupHttpObject.open("GET", url, true);						
	groupHttpObject.send();				
	groupHttpObject.onreadystatechange = updateGroupData;
     }
}	


function reloadHomelinksGroup(id,url)
{  
      //alert('reload group: ' + id);
      var group_DOM_id = 'group_' + id;
      //alert(group_DOM_id);
      var group = document.getElementById(group_DOM_id);
      requestHomlinksGroup(group,id,url);
      
}

  

// *************************************************************
// Menu
// *************************************************************
function apply_menu(advanced)
{       
    advanced_menu=document.getElementById('advanced_menu');
    main_menu=document.getElementById('main_menu');
    
    if (advanced == "1")
    {
      advanced_menu.style.display = "block";
      main_menu.style.display = "none";	
      requestApplyMenu(1);
    } else
    {
      advanced_menu.style.display = "none";
      main_menu.style.display = "block";	    
      requestApplyMenu(0);
    }
      
}

// *************************************************************
// Keyboard/Mouse events
// *************************************************************

function HandleMouseClick(event)
{
  return false;
}

function onKeyDownHandler(ev)
{  
	var key = ev.keyCode || ev.which;		
	
	if ((key == 39) && (typeof(next_pic_url) != 'undefined') && (next_pic_url != ''))
	{
	   // right arrow
	   window.location = next_pic_url;
	
	}
	if ((key == 37) && (typeof(prev_pic_url) != 'undefined') && (prev_pic_url != ''))
	{
	   // left arrow
	   window.location = prev_pic_url;
	};

}



// *************************************************************
// Timer functions
// *************************************************************
var timer_id = 0;

function page_loaded()
{
	timer_start();	
}

function timer_stop()
{
 if(timer_id) 
  {
      clearTimeout(timer_id);
      timer_id=0;
   }
}

function timer_update()
{
 if(timer_id) 
  {
      clearTimeout(timer_id);
      timer_id=0;
   }

   var tDate=new Date();

   var timeH=tDate.getHours(); 
   var timeM=tDate.getMinutes();
   var timeS=tDate.getSeconds();

   if (timeH<10) timeH="0" + timeH;
   if (timeM<10) timeM="0" + timeM;
   if (timeS<10) timeS="0" + timeS;

   var time=timeH + ":" + timeM + ":" + timeS;

   if (document.timer_form != null) document.timer_form.timer_input.value = time;
  
  
   timer_id=setTimeout("timer_update()", 1000);
}

function timer_start()
{
	timer_id = setTimeout("timer_update()", 500);
}

function textCounter(field, countfield, maxlimit) 
{
	if (field.value.length > maxlimit) 
	{
		field.value = field.value.substring(0, maxlimit);
	} else 
	{ 
		countfield.value = maxlimit - field.value.length;
	}
}


// *************************************************************
// Browser-detect
// *************************************************************


var BrowserDetect = {
	init: function () 
	{
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data)
	{
		for (var i=0;i<data.length;i++)	
		{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) 
	{
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			   string: navigator.userAgent,
			   subString: "iPhone",
			   identity: "iPhone/iPod"
	    },
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
