var _editor_url="http://www.bbwparties.com/ocPortal/data/areaedit/";
var _editor_backend=null;
var _editor_lang=(window.ocp_lang)?ocp_lang.toLowerCase():'en';

// Startup
var pageLoaded=false;
function scriptLoadStuff()
{
   var i;

   // IE5
   if (!Array.prototype.push) Array.prototype.push=function()
   {
      var l=this.length;
      for (var i=0;i<arguments.length;i++)
      {
         this[l]=arguments[i];
         l++;
      }
      return l;
   };
   if (!Array.prototype.pop) Array.prototype.pop=function()
   {
      var temp=this[this.length-1];
      this.length--;
      return temp;
   };
   if (!window.encodeURI) window.encodeURI=window.escape;
   if (!window.decodeURI) window.decodeURI=window.unescape;
   if (!window.encodeURIComponent) window.encodeURIComponent=function ()
   {
      return window.escape(arguments[0]).replace('+','%2B').replace(':','%3A').replace('/','%2F').replace('?','%3F').replace('=','%3D').replace('&','%26').replace('@','%40').replace('#','%23').replace('$','%24').replace(';','%3B');
   }
   if (!window.decodeURIComponent) window.decodeURIComponent=window.unescape;
/*   if (browser_matches('ie5')) // Quirks mode box model
   {
      window.setTimeout(function() {
         var elements=document.getElementsByClassName('dequirk');
         for (var i=0;i<elements.length;i++)
            dequirkElement(elements[i]);
         var elements=document.getElementsByClassName('dequirk_w');
         for (var i=0;i<elements.length;i++)
            dequirkElement(elements[i],false,true);
         var elements=document.getElementsByClassName('dequirk_h');
         for (var i=0;i<elements.length;i++)
            dequirkElement(elements[i],true,false);
      }, 2000);
   }*/

   // Dynamic images need preloading
   var preloader=new Image();
   var images=new Array();
   images[0]="http://www.bbwparties.com/ocPortal/themes/Washington_Metro_BBW_Swingers/images/menus/menu_bullet_hover.png";
   for(i=0;i<images.length;i++) preloader.src=images[i];

   if (window.expandImages) expandImages();
   for (i=0;i<document.images.length;i++)
   {
      var j=document.images[i];
      if ((firstClassName(j.className)=='img_thumb') || (j.className.indexOf(' img_thumb')!=-1))
      {
         setOpacity(j,0.7);
      }
   }

   var helper_pic=document.getElementById('global_helper_panel_pic');
   if (helper_pic) setOpacity(helper_pic,0.2);
   fixImages();

   // Tell ocPortal we have Javascript, so don't degrade things for reasons of compatibility
   SetCookie('js_on',1,120);
   SetCookie('screen_width',getWindowWidth(),120);

   if (window.load_html_edit)
   {
      for (i=0;i<document.forms.length;i++)
      {
         load_html_edit(document.forms[i]);
      }
   }

   move_dyn_bottom();
   addEventListenerAbstract(window,'resize',move_dyn_bottom);
   window.setInterval(move_dyn_bottom,1000);

   if (window.scriptLoadStuffStaff) scriptLoadStuffStaff();

   window.mouseX=0;
   window.mouseY=0;
   addEventListenerAbstract(window,'mousemove',getMouseXY);

   if (window.addEventListener)
      window.addEventListener('click',captureClickKeyStates,true); // Workaround for a dodgy firefox extension

   /*if (window.want_form_saving)
   {
      init_form_saving();
   }*/

   pageLoaded=true;
}

function dequirkElement(element,w_skip,h_skip,recur)
{
   if (!w_skip)
   {
      element.orig_width=element.style.width;
      var w=sts(element.currentStyle.width);
      if (w==0) w=findWidth(element);
      var wd=sts(element.currentStyle.paddingLeft)+sts(element.currentStyle.paddingRight)+sts(element.currentStyle.borderLeft)+sts(element.currentStyle.borderRight);
      if (w>wd) element.style.width=(w-wd*2)+'px';
   }
   if (!h_skip)
   {
      element.orig_height=element.style.height;
      var h=h=sts(element.currentStyle.height);
      if (h==0) h=findHeight(element);
      var hd=sts(element.currentStyle.paddingTop)+sts(element.currentStyle.paddingBottom)+sts(element.currentStyle.borderTop)+sts(element.currentStyle.borderBottom);
      if (h>hd) element.style.height=(h+hd*2)+'px';
   }
   if (!recur)
   {
      addEventListenerAbstract(window,'resize',function ()
      {
         if (element.orig_width!='')
         {
            element.style.width=element.orig_width;
            element.orig_width='';
            element.style.height=element.orig_height;
            element.orig_height='';
            window.setTimeout(function() { dequirkElement(element,w_skip,h_skip,true); },1000);
         }
      });
   }
}

function sts(src)
{
   if (!src) return 0;
   if (src.indexOf('px')==-1) return 0;
   return window.parseInt(src.replace('px',''));
}

function captureClickKeyStates(event)
{
   window.capture_event=event;
}

function magicKeypress(event)
{
   if (window.capture_event) event=window.capture_event;
   return ((event.shiftKey) && ((event.altKey) || (event.metaKey)) && (event.ctrlKey));
}

// Main function to retrieve mouse x-y pos.s
function getMouseXY(e)
{
   window.mouseX=getMouseX(e);
   window.mouseY=getMouseY(e);
   return true
}

function escape_html(value)
{
   if (!value) return '';
   return value.replace(/&/g,'&amp;').replace(/"/g,'&quot;').replace(/</g,'&lt;').replace(/>/g,'&gt;');
}

function escape_comcode(value)
{
   return value.replace(/\\/g,'\\\\').replace(/"/g,'\\"');
}

function setOpacity(element,fraction)
{
   element.style.opacity=fraction;
   element.style.filter="progid:DXImageTransform.Microsoft.Alpha(opacity='"+parseInt(fraction*100)+"')";
}

var element_bottom,element_global,panel_left,panel_right,global_message,global_div_inner;
function move_dyn_bottom()
{
   if (!element_bottom) element_bottom=document.getElementById('dyn_bottom');
   if (!element_bottom) return;
   if (!element_global)
   {
      element_global=document.getElementById('global_div');
      global_message=document.getElementById('global_message');
      global_div_inner=document.getElementById('global_div_inner');
   }
   if (!element_global) return;
   if (!global_div_inner) return;
   if (!panel_left) panel_left=document.getElementById('panel_left');
   if (!panel_right) panel_right=document.getElementById('panel_right');

   // Move bottom of page if need-be (should never have white underneath it)
   if (!element_bottom) return;

   var max_height=0,test_height;
   if (panel_left)
   {
      test_height=findHeight(panel_left);
      if (test_height>max_height) max_height=test_height;
   }
   if (panel_right)
   {
      test_height=findHeight(panel_right);
      if (test_height>max_height) max_height=test_height;
   }

   var e_height=findHeight(global_div_inner);
   var extra_height=0;
   if (e_height>max_height)
   {
      max_height=e_height;
   }
   if (global_message)
   {
      extra_height=findHeight(global_message)+20;
   }
   var window_height=getWindowHeight();

   var bottom_style='position: absolute; margin-left: 0; margin-right: 0'; // Using style property fixed Konqueror bug (but IE still needs style array usage)
   if (element_bottom.style.position!='absolute')
   {
      element_bottom.style.position='absolute';
      element_bottom.style.marginLeft='0';
      element_bottom.style.marginRight='0';
      element_bottom.style.zIndex=5;
   }

   var new_top=(max_height+0-4+extra_height+findPosY(element_global)+26)+'px';

   if (element_global)
   {
      element_global.style.marginBottom='0px';
   }
   if (window_height-findHeight(element_bottom)-findPosY(element_global)-extra_height>max_height)
   {
      if (element_global)
      {
         var new_global_height=(window_height-findHeight(element_bottom)-findPosY(element_global)-extra_height)+'px';
         if (element_global.style.height!=new_global_height)
         {
            element_global.style.height=new_global_height;
            bottom_style+='; z-index: 5; bottom: 0px';
            element_bottom.style.bottom='0px';
            element_bottom.setAttribute('style',bottom_style);
         }
      }
   } else
   {
      if (element_global)
      {
         var new_global_height=(max_height+12)+'px';
         if (element_global.style.height!=new_global_height)
         {
            element_global.style.height=new_global_height;
            bottom_style+='; z-index: 5; top: '+new_top;
            element_bottom.style.top=new_top;
            element_bottom.setAttribute('style',bottom_style);
         }
      }
   }
}

// Cookies
function SetCookie(cookieName,cookieValue,nDays)
{
   var today=new Date();
   var expire=new Date();
   if (nDays==null || nDays==0) nDays=1;
   expire.setTime(today.getTime()+3600000*24*nDays);
   var extra="";
   if ("/"!="") extra=extra+";path=/";
   if (".bbwparties.com"!="") extra=extra+";domain=.bbwparties.com";
   document.cookie=cookieName+"="+encodeURIComponent(cookieValue)+";expires="+expire.toUTCString()+extra;
}
function ReadCookie(cookieName)
{
   var theCookie=""+document.cookie;
   var ind=theCookie.indexOf(cookieName);
   if (ind==-1 || cookieName=="") return "";
   var ind1=theCookie.indexOf(';',ind);
   if (ind1==-1) ind1=theCookie.length;
   return window.decodeURIComponent(theCookie.substring(ind+cookieName.length+1,ind1));
}

// Filtering class names
function firstClassName(className)
{
   var p=className.indexOf(' ');
   if (p!=-1)
   {
      return className.substr(0,p);
   }
   return className;
}

function get_elements_by_class_name(node,classname)
{
	if (node)
	{
		var a=new Array();
		var re=new RegExp('(^| )'+classname+'( |$)');
		var els=node.getElementsByTagName("*");

		for(var i=0,j=els.length; i<j; i++)
		{
			if(re.test(els[i].className))
			{
				a.push(els[i]);
			}
		}

		return a;
	}
	else return []; // Error actually, but to avoid typing error, we'll just return an empty list
}

document.getElementsByClassName=function(cl) // From http://javascript.about.com/library/bldom08.htm
{
   var retnode=new Array();
   var myclass=new RegExp('\\b'+cl+'\\b');
   var elem=browser_matches('ie5')?document.all:this.getElementsByTagName('*');
   for (var i=0;i<elem.length;i++)
   {
      var classes=elem[i].className;
      if (myclass.test(classes)) retnode.push(elem[i]);
   }
   return retnode;
};

// Type checking
function isInteger(val)
{
   if (val=="") return false;
   var c;
	for (var i=0;i<val.length;i++)
   {
      c=val.charAt(i);
      if ((c!="0") && (c!="1") && (c!="2") && (c!="3") && (c!="4") && (c!="5") && (c!="6") && (c!="7") && (c!="8") && (c!="9"))
         return false;
   }
	return true;
}

// Browser sniffing
function is_opera()
{
   return browser_matches('opera');
}
function is_ie()
{
   return browser_matches('ie');
}
function browser_matches(code)
{
   var browser=navigator.userAgent.toLowerCase();
   var os=navigator.platform.toLowerCase()+' '+browser;

   var _is_opera=browser.indexOf('opera')!=-1;
   var is_konqueror=browser.indexOf('konqueror')!=-1;
   var is_safari=browser.indexOf('applewebkit')!=-1;
   var is_gecko=(browser.indexOf('gecko')!=-1) && !_is_opera && !is_konqueror;
   var _is_ie=(browser.indexOf('msie')!=-1) && !_is_opera;
   var is_ie_old=(browser.indexOf('msie 7')==-1) && _is_ie;
   var is_ie5=(browser.indexOf('msie 5')!=-1) && _is_ie;
   var is_ie_new=(!is_ie_old) && _is_ie;

   switch (code)
   {
      case 'no_alpha_ie':
         // By Erik Arvidsson
         return ((/MSIE ((5\.5)|[6])/.test(navigator.userAgent)) && (navigator.platform=="Win32") && (!_is_opera));
      case 'wysiwyg':
         return _is_ie || is_gecko;
      case 'windows':
         return os.indexOf('windows')!=-1 || os.indexOf('win32')!=-1;
      case 'mac':
         return os.indexOf('mac')!=-1;
      case 'linux':
         return os.indexOf('linux')!=-1;
      case 'odd_os':
         return (os.indexOf('windows')==-1) && (os.indexOf('mac')==-1) && (os.indexOf('linux')==-1);
      case 'opera':
         return _is_opera;
      case 'ie':
         return _is_ie;
      case 'ie5':
         return is_ie5;
      case 'ie_old':
         return is_ie_old;
      case 'ie_new':
         return is_ie_new;
      case 'has_artificial_monopoly':
         return _is_ie;
      case 'has_fanboys':
         return is_gecko;
      case 'gecko':
         return is_gecko;
      case 'konqueror':
         return is_konqueror;
      case 'safari':
         return is_safari;
      case 'odd_browser':
         return !_is_opera && !is_konqueror && !is_safari && !is_gecko && !_is_ie;
      case 'quirk__internalised_list_indent':
         return is_gecko;
      case 'quirk__list_indent_in_ul_instead_of_li':
         return _is_opera;
   }

   // Should never get here
   return false;
}

// Enforcing a session using AJAX
function confirm_session(jump_initial_test)
{
   if (!window.load_XML_doc) return false;

   var url='http://www.bbwparties.com/ocPortal/data/confirm_session.php';
   var ret=null;
   if (!jump_initial_test)
   {
      require_javascript("javascript_ajax");
      if (window.load_XML_doc) ret=load_XML_doc(url+keep_stub(true),false);
      if (!ret) return false;
   }
   var promptt="!";
   while (((!ret) || ((ret.responseText!='') && (ret.responseText))) && (promptt!='') && (promptt))
   {
      promptt=window.prompt('Password','');
      if ((window.load_XML_doc) && (promptt!='') && (promptt))
         ret=load_XML_doc(url,false,'login_username='+ret.responseText+'&password='+promptt+keep_stub());
   }
   return ret.responseText=='' || (!ret.responseText);
}

// Dynamic inclusion
function load_snippet(code)
{
   var title=document.getElementsByTagName('title')[0].innerHTML;
   var metas=document.getElementsByTagName('meta');
   var i;
   var url=window.location.href;
   for (i=0;i<metas.length;i++)
   {
      if (metas[i].getAttribute('name')=='self_url') url=metas[i].getAttribute('content');
   }
   var html;
   if (window.load_XML_doc)
   {
      var url2="http://www.bbwparties.com/ocPortal/data/snippet.php?snippet="+code+"&url="+window.encodeURIComponent(url)+'&title='+window.encodeURIComponent(title)+keep_stub();
      html=load_XML_doc(url2);
   }
   return html.responseText;
}
function require_css(sheet)
{
   if (document.getElementById('loading_css_'+sheet)) return;
   var link=document.createElement('link');
   link.setAttribute('id','loading_css_'+sheet);
   link.setAttribute('type',"text/css");
   link.setAttribute('rel',"stylesheet");
   link.setAttribute('href',"http://www.bbwparties.com/ocPortal/data/sheet.php?sheet="+sheet);
   document.getElementsByTagName('head')[0].appendChild(link);
}
function require_javascript(script,lang)
{
   if (document.getElementById('loading_js_'+script)) return;
   var link=document.createElement('script');
   link.setAttribute('id','loading_js_'+script);
   link.setAttribute('type',"text/javascript");
   var url="http://www.bbwparties.com/ocPortal/data/javascript.php?script="+script;
   if (lang) url=url+"&lang="+lang;
   link.setAttribute('src',url);
   document.getElementsByTagName('head')[0].appendChild(link);
}

// Draw functionality
function hideTag(element)
{
   var pics=element.getElementsByTagName('img');
   var pic=pics[0];
   toggleSectionInline('','block',pic,get_elements_by_class_name(element,'hide_tag')[0]);
}
function toggleSectionTable(id)
{
   toggleSectionInline(id,browser_matches('ie')?'block':'table');
}
function toggleSectionInline(id,type,pic,itm)
{
   if (!itm) itm=document.getElementById(id);
   if (!pic) pic=document.getElementById('e_'+id);

   if (itm.style.display=='none')
   {
      itm.style.display=type;
      if (pic)
      {
         pic.src=(pic.src.indexOf("themewizard.php")!=-1)?pic.src.replace("expand","contract"):"http://www.bbwparties.com/ocPortal/themes/Washington_Metro_BBW_Swingers/images/contract.png";
      }
   } else
   {
      itm.style.display='none';
      if (pic)
      {
         pic.src=(pic.src.indexOf("themewizard.php")!=-1)?pic.src.replace("contract","expand"):"http://www.bbwparties.com/ocPortal/themes/Washington_Metro_BBW_Swingers/images/expand.png";
      }
   }
   if (pic) fixImage(pic);
   if (element_global) element_global.style.height='auto';
}

// Helper to change class on checkbox check
function changeClass(box,theId,to,from)
{
   var cell=document.getElementById(theId);
   cell.className=(box.checked)?to:from;
}

// Dimension functions
function getMouseX(event)
{
   return event.pageX?event.pageX:event.clientX+getWindowScrollX();
}
function getMouseY(event)
{
   return event.pageY?event.pageY:event.clientY+getWindowScrollY();
}
function getWindowWidth()
{
   if (window.innerWidth) return window.innerWidth-18;
   if ((document.documentElement) && (document.documentElement.clientWidth)) return document.documentElement.clientWidth;
   if ((document.body) && (document.body.clientWidth)) return document.body.clientWidth;
   return 0;
}
function getWindowHeight()
{
   if (window.innerHeight) return window.innerHeight-18;
   if ((document.documentElement) && (document.documentElement.clientHeight)) return document.documentElement.clientHeight;
   if ((document.body) && (document.body.clientHeight)) return document.body.clientHeight;
   return 0;
}
function getWindowScrollWidth()
{
   return document.body.scrollWidth;
}
function getWindowScrollHeight()
{
   return document.body.scrollHeight;
}
function getWindowScrollX()
{
  	if (window.pageXOffset) return window.pageXOffset;
  	if ((document.documentElement) && (document.documentElement.scrollLeft)) return document.documentElement.scrollLeft;
  	if ((document.body) && (document.body.scrollLeft)) return document.body.scrollLeft;
  	if (window.scrollX) return window.scrollX;
   return 0;
}
function getWindowScrollY()
{
  	if (window.pageYOffset) return window.pageYOffset;
  	if ((document.documentElement) && (document.documentElement.scrollTop)) return document.documentElement.scrollTop;
  	if ((document.body) && (document.body.scrollTop)) return document.body.scrollTop;
  	if (window.scrollTop) return window.scrollTop;
   return 0;
}
function findPosX(obj) // Courtesy of quirksmode
{
	var curleft=0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
		   if ((obj.style.position=='absolute') && (obj.style.left.indexOf('px')!=-1))
		   {
		      curleft+=sts(obj.style.left);
		      break;
		   }
			curleft+=obj.offsetLeft
			obj=obj.offsetParent;
		}
	}
	else if (obj.x) curleft+=obj.x;
	return curleft;
}
function findPosY(obj) // Courtesy of quirksmode
{
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
		   if ((obj.style.position=='absolute') && (obj.style.top.indexOf('px')!=-1))
		   {
		      curtop+=sts(obj.style.top);
		      break;
		   }
			curtop+=obj.offsetTop
			obj=obj.offsetParent;
		}
	}
	else if (obj.y) curtop+=obj.y;
	return curtop;
}
function findWidth(obj)
{
   return obj.offsetWidth;
}
function findHeight(obj)
{
   return obj.offsetHeight;
}

function enter_pressed(event,altChar)
{
   if (!event) event=window.event;
   if ((altChar) && (((event.which) && (event.which==altChar.charCodeAt(0))) || ((event.keyCode) && (event.keyCode==altChar.charCodeAt(0))))) return true;
   return (((event.which) && (event.which==13)) || ((event.keyCode) && (event.keyCode==13)));
}

// Tooltips
function activateTooltip(ac,event,tooltip,width,pic)
{
   if (!pageLoaded) return;
   if (tooltip=='') return;
   if (ac.getAttribute('title')) ac.setAttribute('title','');

   var tooltipElement;
   if (ac.tooltipId)
   {
      tooltipElement=document.getElementById(ac.tooltipId);
   } else
   {
      tooltipElement=document.createElement("div");
      tooltipElement.style.left='5px';
      tooltipElement.style.top='5px';
      tooltipElement.className="ocp_tooltip";
      tooltipElement.innerHTML=tooltip;
      if (pic)
      {
         var img=document.createElement('img');
         img.src=pic;
         img.style.position='absolute';
         img.style.right='0px';
         img.style.top='0px';
         tooltipElement.appendChild(img);
      }
      if ((is_ie()) || (width=='auto')) tooltipElement.style.width=width; else tooltipElement.style.maxWidth=width;
      tooltipElement.style.position='absolute';
      tooltipElement.id=Math.floor(Math.random()*1000);
      ac.tooltipId=tooltipElement.id;
      document.body.appendChild(tooltipElement);
   }
   tooltipElement.style.display='block';

   repositionTooltip(ac,event);
}
function repositionTooltip(ac,event)
{
   if (!pageLoaded) return;
   if (!ac.tooltipId) return;

   var tooltipElement=document.getElementById(ac.tooltipId);
   if (tooltipElement)
   {
      var x=(event.type=='focus')?(getWindowScrollX()+getWindowWidth()/2):(getMouseX(event)+10);
      var y=(event.type=='focus')?(getWindowScrollY()+getWindowHeight()/2-40):(getMouseY(event)+10);
      var x_excess=x-getWindowWidth()-getWindowScrollX()+tooltipElement.scrollWidth+10;
      if (x_excess>0) x-=x_excess;
      var y_excess=y-getWindowHeight()-getWindowScrollY()+tooltipElement.scrollHeight+10;
      if (y_excess>0) y-=y_excess;
      tooltipElement.style.left=x+'px';
      tooltipElement.style.top=y+'px';
   }
}
function deactivateTooltip(ac,event)
{
   if ((!pageLoaded) || (!ac.tooltipId)) return;

   var tooltipElement=document.getElementById(ac.tooltipId);
   if (tooltipElement) tooltipElement.style.display='none';
}

function resizeFrame(name)
{
   var frame_element=document.getElementById(name);
   var frame_window;
   if (top.frames[name]) frame_window=top.frames[name]; else if (window.frames[name]) frame_window=window.frames[name]; else return;
   if ((frame_element) && (frame_window) && (frame_window.document) && (frame_window.document.body))
   {
      var h=frame_window.document.body.scrollHeight;
      if ((h)+'px'!=frame_element.style.height)
      {
         frame_element.style.height=(h)+'px';
         if (element_global) element_global.style.height='auto';
      }
   }
}

// Marking things (to avoid illegally nested forms)
function addFormMarkedPosts(work_on,prefix)
{
   var elements=document.getElementsByTagName('input');
   var i;
   var append='';
   for (i=0;i<elements.length;i++)
      if ((elements[i].type=='checkbox') && (elements[i].name.substring(0,prefix.length)==prefix) && (elements[i].checked))
         append+='&'+elements[i].name+'=1';
   work_on.action+=append;
}
function markAllTopics()
{
   var e=document.getElementsByTagName('input');
   var i;
   for (i=0;i<e.length;i++)
   {
      if ((e[i].type=='checkbox') && (e[i].name.substr(0,5)=='mark_'))
      {
         e[i].checked=!e[i].checked;
         changeClass(e[i],e[i].parentNode.parentNode.parentNode.id,'ocf_on','ocf_off');
      }
   }
}

// PNG hack, Loosely by PieNG (http://dynarch.com/mishoo/articles.epl?art_id=430)
// Limitations: no CSS imgs
function fixImages()
{
   for(var i=0;i<document.images.length;i++) fixImage(document.images[i]);
   var inputs=document.getElementsByTagName('input');
   for(var i=0;i<inputs.length;i++) fixImage(inputs[i]);
}
function fixImage(img)
{
   if (!browser_matches('no_alpha_ie')) return;
   if (!img.src) return;
   if (window.location.href.indexOf('keep_noiepng')!=-1) return;

   var imgName=img.src.toUpperCase();
   if (imgName.substring(imgName.length-3,imgName.length)=="PNG")
   {
      if ((img.className) && (firstClassName(img.className)=='blend') && (!img.style.filter))
      {
         var srcURL=img.src;
         img.origsrc=img.src;
         if (browser_matches('ie5'))
         {
            if (!img.style.width) img.style.width=findWidth(img)+'px';
            if (!img.style.height) img.style.height=findHeight(img)+'px';
         }
         img.src="http://www.bbwparties.com/ocPortal/data/images/blank.gif";
         var new_filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+srcURL+"',sizingMethod='image');";
         img.runtimeStyle.filter=new_filter;

         if ((img.title) && (img.title!=''))
         {
            var title=img.title;
            img.attachEvent("onmousemove",function() { repositionTooltip(img,event); });
            img.attachEvent("onmouseout",function() { deactivateTooltip(img,event); });
            img.attachEvent("onmouseover",function() { activateTooltip(img,event,title,'auto'); });
            img.title="";
         }

         addEventListenerAbstract(window,"onbeforeprint",function() { img.src=img.origsrc; img.runtimeStyle.filter=''; } );
         addEventListenerAbstract(window,"onafterprint",function() { fixImage(img); } );
      }
   }
}

// Event listeners
function addEventListenerAbstract(element,the_event,command,capture)
{
	if(element)
	{
		if(element.addEventListener)
		{
			//W3C
			return element.addEventListener(the_event,command,capture);
		}
		else if(element.attachEvent)
		{
			//Microsoft - no capturing :(
			return element.attachEvent("on"+the_event,command);
		}
		else return false;
	}
	else return false;
}
function cancelBubbling(event,for_element)
{
   if (!for_element) for_element='';

   if (!event) event=window.event;
   var src=event.srcElement?event.srcElement:event.target;

   if (src.nodeName.toLowerCase()==for_element)
   {
      if (event.stopPropagation) event.stopPropagation();
      event.cancelBubble=true;
      return true;
   }
   return false;
}

function keep_stub(starting_url)
{
   var to_add='',i;
   var search=(window.location.search=='')?'?':window.location.search.substr(1);
   var bits=search.split('&');
   var done_session=false;
   var gap_symbol;
   for (i=0;i<bits.length;i++)
   {
      if (bits[i].substr(0,5)=='keep_')
      {
         gap_symbol=(((to_add=='') && (starting_url))?'?':'&');
         to_add=to_add+gap_symbol+bits[i];
         if (bits[i]=='keep_session') done_session=true;
      }
   }
   if (!done_session)
   {
      var session=ReadCookie('ocp_session');
      gap_symbol=(((to_add=='') && (starting_url))?'?':'&');
      if (session) to_add=to_add+gap_symbol+'keep_session='+window.encodeURIComponent(session);
   }
   return to_add;
}


