var uagent    = navigator.userAgent.toLowerCase();
var is_win    =  ( (uagent.indexOf("win") != -1) || (uagent.indexOf("16bit") !=- 1) );
var is_mac    = ( (uagent.indexOf("mac") != -1) || (navigator.vendor == "Apple Computer, Inc.") );
var ua_vers   = parseInt(navigator.appVersion);

var is_safari = ( (uagent.indexOf('safari') != -1) || (navigator.vendor == "Apple Computer, Inc.") );
var is_opera  = (uagent.indexOf('opera') != -1);
var is_webtv  = (uagent.indexOf('webtv') != -1);
var is_ie     = ( (uagent.indexOf('msie') != -1) && (!is_opera) && (!is_safari) && (!is_webtv) );
var is_ie4    = ( (is_ie) && (uagent.indexOf("msie 4.") != -1) );
var is_ie7    = ( (is_ie) && (uagent.indexOf("msie 7.") != -1) );
var is_ns     = ( (uagent.indexOf('compatible') == -1) && (uagent.indexOf('mozilla') != -1) && (!is_opera) && (!is_webtv) && (!is_safari) );
var is_ns4    = ( (is_ns) && (parseInt(navigator.appVersion) == 4) );
var is_moz    = (navigator.product == 'Gecko');

var dom     = (document.getElementById && !document.all);

var field;
var isTextArea;

// JavaScript Document
function getData(str,fld,textfield)
{
	field = fld;

	isTextArea = textfield ? true : false;
	
	// make sure you don't get a cached version by giving a random number

	var url="index.php?sid=" + Math.random() + "&" + str;
	xmlHttp=GetXmlHttpObject(stateChanged);
	xmlHttp.open("GET", url , true);
	xmlHttp.send(null);

	return false;
}

function stateChanged() 
{ 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	{
		if(isTextArea)
		{
			eval("document."+field+".value=xmlHttp.responseText");
			eval("document."+field+".focus()");
		}
		else 
		{
			document.getElementById(field).innerHTML=xmlHttp.responseText;
		}
		
	} 
}

function GetXmlHttpObject(handler)
{ 
	var objXmlHttp=null
	
	if (navigator.userAgent.indexOf("MSIE")>=0)
	{ 
		var strName="Msxml2.XMLHTTP";
		if (navigator.appVersion.indexOf("MSIE 5.5")>=0) strName="Microsoft.XMLHTTP";
		
		try
		{ 
			objXmlHttp=new ActiveXObject(strName);
			objXmlHttp.onreadystatechange=handler ;
			return objXmlHttp;
		} 
		catch(err) { return xmlerror(); }
	} 
	else
	{
		try
		{
    			objXmlHttp=new XMLHttpRequest();
    			objXmlHttp.onload =handler;
    			objXmlHttp.onerror=xmlerror;
    			return objXmlHttp;
		}
		catch(err) { return xmlerror(); }
	}
}

function xmlerror()
{
	alert("Error. Scripting for ActiveX might be disabled");
	return;
}
/*--------------------------------------------*/
// Show loading layer
/*--------------------------------------------*/

function show_loading ( message )
{
	if ( ! loading_fired )
	{
		loading_fired = 1;
		
		//------------------------------------------------
		// Change text?
		//------------------------------------------------
		
		if ( message )
		{
			document.getElementById( 'loading-layer-text' ).innerHTML = message;
		}
		
		centerdiv         = new center_div();
		centerdiv.divname = 'loading-layer';
		centerdiv.move_div();
		
		//------------------------------------------------
		// Add the shadow
		//------------------------------------------------
		
		add_shadow('loading-layer-shadow', 'loading-layer-inner');
	}
	
	return;
};

/*--------------------------------------------*/
// Hide loading layer
/*--------------------------------------------*/

function hide_loading ()
{
	try
	{
		if ( centerdiv && centerdiv.divobj )
		{
			centerdiv.hide_div();
		}
	}
	catch(e)
	{
	}
	
	loading_fired = 0;
	
	return;
};
/*-------------------------------------------------------------------------*/
// Add shadow to an ID
/*-------------------------------------------------------------------------*/

function add_shadow( wrapname, divname )
{
	var divobj  = document.getElementById( divname );
	var wrapobj = document.getElementById( wrapname );
	
	//----------------------------------
	// Transform the DIV
	//----------------------------------
	
	if ( is_ie )
	{
		wrapobj.className      = 'shadow-ie';
		wrapobj.style.width    = divobj.offsetWidth  + 1 + 'px';
		wrapobj.style.height   = divobj.offsetHeight + 1 + 'px';
	}
	else
	{
		wrapobj.className      = 'shadow-moz';
		wrapobj.style.width    = divobj.offsetWidth  + 0 + 'px';
		wrapobj.style.height   = divobj.offsetHeight + 0 + 'px';
	}
}

function showFlash(o){
	var q,s,v;
	if(o.quality){q=o.quality;}else{q="high";}
	if(o.ver){v=o.ver;}else{v=6;}
	var str='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version='+v+',0,0,0" ';
	str+='id="'+o.id+'" ';
	if(o.base){str+='base="'+o.base+'" ';}
	if(o.align){str+='align="'+o.align+'" ';}
	str+='width="'+o.width+'" height="'+o.height+'"><param name="movie" value="'+o.name+'"/><param name="quality" value="'+q+'"/>';
	if(o.flashvars){str+='<param name="flashvars" value="'+o.flashvars+'"/>';}
	if(o.salign){str+='<param name="salign" value="'+o.salign+'"/>';}
	if(o.wmode){str+='<param name="wmode" value="'+o.wmode+'"/>';}
	str+='<param name="scale" value="'+s+'"/><embed type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" id="'+o.id+'-embed" src="'+o.name+'" ';
	if(o.flashvars){str+='flashvars="'+o.flashvars+'" ';}
	if(o.swLiveConnect){str+='swLiveConnect="'+o.swLiveConnect+'" ';}
	if(o.allowScriptAccess){str+='allowScriptAccess="'+o.allowScriptAccess+'" ';}
	str+='quality="'+q+'" ';
	if(o.base){str+='base="'+o.base+'" ';}
	if(o.wmode){str+='wmode="'+o.wmode+'" ';}
	if(o.salign){str+='salign="'+o.salign+'" ';}
	str+='scale="'+s+'" width="'+o.width+'" height="'+o.height+'"></embed></object>';
	document.writeln(str);
}

function my_getbyid(id)
{
	itm = null;
	
	if (document.getElementById)
	{
		itm = document.getElementById(id);
	}
	else if (document.all)
	{
		itm = document.all[id];
	}
	else if (document.layers)
	{
		itm = document.layers[id];
	}
	
	return itm;
}

function ShowHide(id1, id2) {
	  if (id1 != '') expMenu(id1);
	  if (id2 != '') expMenu(id2);
	}
	
function expMenu(id) {
	  var itm = null;
	  if (document.getElementById) {
		itm = document.getElementById(id);
	  } else if (document.all){
		itm = document.all[id];
	  } else if (document.layers){
		itm = document.layers[id];
	  }
	
	  if (!itm) {
	   // do nothing
	  }
	  else if (itm.style) {
		if (itm.style.display == "none") { itm.style.display = ""; }
		else { itm.style.display = "none"; }
	  }
	  else { itm.visibility = "show"; }
	}
	
/*-------------------------------------------------------------------------*/
// Set DIV ID to hide
/*-------------------------------------------------------------------------*/

function my_hide_div(itm)
{
	if ( ! itm ) return;
	
	itm.style.display = "none";
}

/*-------------------------------------------------------------------------*/
// Set DIV ID to show
/*-------------------------------------------------------------------------*/

function my_show_div(itm)
{
	if ( ! itm ) return;
	
	itm.style.display = "";
}

function togglecategory( fid, add )
{
	saved = new Array();
	clean = new Array();
	var allcookies = document.cookie;
	var pos = allcookies.indexOf("collapseprefs=");
	if (pos != 1) {
		var cstart = pos + 14;
		var cend   = allcookies.indexOf(";", cstart);
		if (cend == -1) { cend = allcookies.length; }
		cvalue = allcookies.substring(cstart, cend);
	}
	//-----------------------------------
	// Get any saved info
	//-----------------------------------
	
	if ( tmp = cvalue )
	{
		saved = tmp.split(",");
	}
	
	//-----------------------------------
	// Remove bit if exists
	//-----------------------------------
	
	for( i = 0 ; i < saved.length; i++ )
	{
		if ( saved[i] != fid && saved[i] != "" )
		{
			clean[clean.length] = saved[i];
		}
	}
	
	//-----------------------------------
	// Add?
	//-----------------------------------
	
	if ( add )
	{
		clean[ clean.length ] = fid;
		my_show_div( my_getbyid( 'fc_'+fid  ) );
		my_hide_div( my_getbyid( 'fo_'+fid  ) );
	}
	else
	{
		my_show_div( my_getbyid( 'fo_'+fid  ) );
		my_hide_div( my_getbyid( 'fc_'+fid  ) );
	}
	
	document.cookie = "collapseprefs="+clean.join(',')+"; path=/; expires=Wed, 1 Jan 2020 00:00:00 GMT;";
}

/*-------------------------------------------------------------------------*/
// Fix IE PNG images
/*-------------------------------------------------------------------------*/

function ie_fix_png()
{
	if ( is_ie )
	{
		document.onreadystatechange = ie_fix_png_do;
	}
}

function ie_fix_png_do()
{
	if ( document.readyState == 'complete' )
	{
		var pos     = navigator.userAgent.indexOf("MSIE ");
		var version = navigator.userAgent.substring(pos + 5);
		var blanky  = "style_images/1/blank.gif";
		var _sw     = screen.width * ( parseInt( 50 ) / 100 );
		
		if (pos == -1)
		{
			return false;
		}
	
		if ( ! ((version.indexOf("5.5") == 0) || (version.indexOf("6") == 0)) && (navigator.platform == ("Win32")) )
		{
			return;
		}
	
		var images = document.getElementsByTagName( 'IMG' );
		var _len   = images.length;
		
		if ( _len )
		{
			for ( var i = 0 ; i < _len ; i++ )
			{
				if ( images[i].src.match( /\.png$/ ) )
				{
					var element = images[i];
					var _width  = 0;
					var _height = 0;
					var _src    = 0;
					
					element._width   = element._width ? parseInt( element._width ) : 0;
					element._resized = parseInt( element._resized );
					
					if ( ! element.style.width )
					{
						_width = element.width;
					}

					if ( ! element.style.height )
					{
						_height = element.height;
					}
				
					_src        = element.src;
					
					//-----------------------------------------
					// Prevent PNG clash with topic overwrite
					//-----------------------------------------
					
					if ( _width < _sw && ! element._resized && element._width < _sw )
					{
						element.src = blanky;
						
						if ( _width )
						{
							element.style.width  = _width+"px";
						}
						if ( _height )
						{
							element.style.height = _height+"px";
						}

						element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + _src + "',sizingMethod='scale')";
					}
					else
					{
						//alert( 'Skipped: ' + images[i].src );
					}
				}
			}
		}
	}
}