function popup(name, url, width, height){
	void(window.open(url, '', "width=" + width + ", height=" + height + ", location=no,menubar=no, status=no, toolbar=no"));
//	return false;
}

function persistScrollPosition() {
	document.getElementById("cms_scrollPosition").value = getScrollY();
}

function getScrollY() {
/*	if (typeof window.pageYOffset != 'undefined') return pageYOffset
	else if (document.documentElement) return document.documentElement.scrollTop
	else if (document.body) return document.body.scrollTop
	else return 0;
*/
	if (typeof window.pageYOffset != 'undefined') return pageYOffset
	else if (document.documentElement) return  document.getElementById('container').scrollTop
	else if (document.body) return document.body.scrollTop
	else return 0;
}

function persistOpenerScrollPosition() {
	window.opener.document.getElementById("cms_scrollPosition").value = getOpenerScrollY();
}

function getOpenerScrollY() {
	if (typeof window.opener.pageYOffset != 'undefined') return pageYOffset
	else if (window.opener.document.documentElement) return window.opener.document.documentElement.scrollTop
	else if (window.opener.document.body) return window.opener.document.body.scrollTop
	else return 0;
}

function popupManager(name, url, width, height, scrolling){
	var t = 100;
	persistScrollPosition();
	if(scrolling == true)
		window.open(url, name, "width=" + width + ", height=" + height + ",location=no, menubar=no, status=no, toolbar=no, scrollbars=yes");
	else
		window.open(url, name, "width=" + width + ", height=" + height + ",location=no, menubar=no, status=no, toolbar=no, scrollbars=yes");
}

function setStatus(sender){
	document.getElementById('cms_editform').cms_status.value = sender.value;
	document.getElementById('cms_editformSubmit').value = 'reload';
	try{
		document.getElementById('cms_editform').onsubmit();
	}catch(e)
	{}
	try{
		document.getElementById('cms_editform').submit();
	}
	catch(e)
	{}
}

function askForSettingStatus(sender){
	if(confirm("You are not allowed to put this item online - if you press OK an email will be sent to the responsible editor to ask for publication."))
		setStatus(sender);
}

function save(){
//	persistScrollPosition();
	document.getElementById('cms_editform').cms_editformSubmit.value = 'submit';
	try{
		document.getElementById('cms_editform').onsubmit();
	}
	catch(e){}
	document.getElementById('cms_editform').submit();
}

function cancel(){
	document.cms_editform.cms_editformCancel.value=true;
	document.cms_editform.submit();
}

function closeAndReloadOpener(){
	window.opener.document.getElementById('cms_editformSubmit').value = 'reload';
	try{
		window.opener.document.getElementById('cms_editform').onsubmit();
	}catch(e)
	{}
	try{
		window.opener.document.getElementById('cms_editform').submit();
	}
	catch(e)
	{}
	window.close();
}

function closeAndAlert(message){
	alert(message);
	window.close();
}

function showEvent(id){
	if(!id){
		if(hilitedEvent < eventsArray.length - 1)
			id = hilitedEvent + 1;
		else
			id = 0;
	}
	if(eventsArray.length && id >= 0 && id < eventsArray.length){
		for(var e in eventsArray){
			if(e != id)
				eventsArray[e].style.display = "none";
			else
				eventsArray[e].style.display = "";
		}
		hilitedEvent = id;
	}
}		
	
function initEvents(){
	eventsArray = new Array();
	hilitedEvent = 0;
	var eventsDiv = document.getElementById("events").childNodes;
	for(var e = 0; e < eventsDiv.length; e++){
		if(eventsDiv[e].tagName == "DIV"){
			eventsArray.push(eventsDiv[e]);
			eventsDiv[e].style.display = "none";
		}
	}
	showEvent(0);
	eventUpdater = window.setInterval('showEvent()', 5000);
}

/*==================================================* Copyright 2003 Patrick Fitzgerald http://www.barelyfitz.com/webdesign/articles/filterlist/ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. ... *==================================================*/
function filterlist(selectobj) {
	
//==================================================
// PARAMETERS
//==================================================  
	// HTML SELECT object
// For example, set this to document.myform.myselect  this.selectobj = selectobj;  
	// Flags for regexp matching.  
	// "i" = ignore case; "" = do not ignore case
// You can use the set_ignore_case() method to set this  this.flags = 'i';  
	// Which parts of the select list do you want to match?  this.match_text = true;  this.match_value = false;  
	// You can set the hook variable to a function that
// is called whenever the select list is filtered.
// For example:
// myfilterlist.hook = function() { }
// Flag for debug alerts
// Set to true if you are having problems.  this.show_debug = false;
//==================================================
// METHODS
//==================================================
//-------------------------------------------------- 
this.init = function() {  
// This method initilizes the object.  
// This method is called automatically when you create the object.  
// You should call this again if you alter the selectobj parameter. 
   if (!this.selectobj) return this.debug('selectobj not defined');  
  if (!this.selectobj.options) 
	return this.debug('selectobj.options not defined');  
// Make a copy of the select list options array 
   this.optionscopy = new Array();
    if (this.selectobj && this.selectobj.options) {   
	  for (var i=0; i < this.selectobj.options.length; i++) {      
// Create a new Option
        this.optionscopy[i] = new Option();      
// Set the text for the Option
        this.optionscopy[i].text = selectobj.options[i].text;      
// Set the value for the Option.      
// If the value wasn't set in the original select list,      
// then use the text.        
if (selectobj.options[i].value) {
this.optionscopy[i].value = selectobj.options[i].value;
        } 
else {
this.optionscopy[i].value = selectobj.options[i].text;  
      }  
    }  
  } 
 }


//--------------------------------------------------  
this.reset = function() {  
// This method resets the select list to the original state.  
// It also unselects all of the options.    
this.set(''); 
 }
//-------------------------------------------------- 
 this.set = function(pattern) {  
// This method removes all of the options from the select list,  
// then adds only the options that match the pattern regexp.  
// It also unselects all of the options.  
  var loop=0, index=0, regexp, e;  
  if (!this.selectobj) 
		return this.debug('selectobj not defined');  
  if (!this.selectobj.options)
 		return this.debug('selectobj.options not defined');  
// Clear the select list so nothing is displayed 
   this.selectobj.options.length = 0;  
// Set up the regular expression.  
// If there is an error in the regexp,  
// then return without selecting any items.  
  try {    
// Initialize the regexp  
    regexp = new RegExp(pattern, this.flags);    } catch(e) {    
// There was an error creating the regexp.    
// If the user specified a function hook,    
// call it now, then return    
  if (typeof this.hook == 'function') {   
	     this.hook();   
	   }     
	 return;  
	  }  
// Loop through the entire select list and  
// add the matching items to the select list  
  for (loop=0; loop < this.optionscopy.length; loop++) {    
// This is the option that we're currently testing  
    var option = this.optionscopy[loop];    
// Check if we have a match   
   if ((this.match_text && regexp.test(option.text)) ||          (this.match_value && regexp.test(option.value))) {      
// We have a match, so add this option to the select list      
// and increment the index     
   this.selectobj.options[index++] =          new Option(option.text, option.value, false); 
     }  
  }  
// If the user specified a function hook,  
// call it now  
  if (typeof this.hook == 'function') { 
	     this.hook();    }  }
//-------------------------------------------------- 
 this.set_ignore_case = function(value) {  
// This method sets the regexp flags.  
// If value is true, sets the flags to "i".  
// If value is false, sets the flags to "". 
  if (value) {     
	 this.flags = 'i'; 
	   } 
	else {  
		    this.flags = ''; 
		   } 
		 }
//-------------------------------------------------- 
 this.debug = function(msg) { 
	   if (this.show_debug) {  
		    alert('FilterList: ' + msg);
		    }
		}
//==================================================
// Initialize the object
//================================================== 
 this.init();
}