<!-- // Prepare any common client-side script here -->

function CSClient_Window( fileName, width, height, scrollBars )
{
	// Obtain the browser version
	strAppVersion = navigator.appVersion;
	
	if ( ( strAppVersion.indexOf( 'MSIE' ) != -1 ) && ( strAppVersion.substr( strAppVersion.indexOf( 'MSIE' ) + 5, 1 ) > 4 ) )
	{
		var winstyle = "dialogWidth:" + width + "px; dialogHeight:" + height + "px; center:yes; status:no; resizable:no; scroll:" + ( scrollBars ? "1" : "0" ) + "";
		window.showModelessDialog( fileName, null, winstyle );
	}
	else
	{
		window.open( fileName, "SubWindow", "width=" + width + ",height=" + height + ", scrollbars=" + ( scrollBars ? "1" : "0" ) + ", center=1", true);
	}
}

function CSClient_ConfirmUrl( message, url )
{
	if ( confirm( message ) )
	{
		location.href = url;
	}
}

function CSClient_LoadPicture( pictureName, newFilename )
{
	document[ pictureName ].src = newFilename;
}

/*function CSClient_CorrectPNG() 
{
	//if ( ( strAppVersion.indexOf( 'MSIE' ) != -1 ) && ( strAppVersion.substr( strAppVersion.indexOf( 'MSIE' ) + 5, 1 ) > 5.5 ) )
	{	
		for( var i = 0 ; i < document.images.length; i++ )
		{
			var img = document.images[ i ]
			var imgName = img.src.toUpperCase()
			
			if ( imgName.substring( imgName.length-3, imgName.length ) == "PNG" )
			{
				var imgID = (img.id) ? "id='" + img.id + "' " : "";
				var imgClass = (img.className) ? "class='" + img.className + "' " : "";
				var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' ";
				var imgStyle = "display:inline-block;" + img.style.cssText ;
				
				if (img.align == "left") imgStyle = "float:left;" + imgStyle;
				if (img.align == "right") imgStyle = "float:right;" + imgStyle;
				if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle;
				
				var strNewHTML = "<span " + imgID + imgClass + imgTitle + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";" + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader" + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>";
				img.outerHTML = strNewHTML;
				i = i-1;
			}
		}
	}
}
window.attachEvent( "onload", CSClient_CorrectPNG );*/

// "Internal" function to return the decoded value of a cookie
function getCookieVal( offset )
{
	var endstr = document.cookie.indexOf( ";", offset );
  
	if ( endstr == -1 )
	{
		endstr = document.cookie.length;
	}

	return unescape( document.cookie.substring( offset, endstr ) );
}

//
//  Function to correct for 2.x Mac date bug.  Call this function to
//  fix a date object prior to passing it to SetCookie.
//  IMPORTANT:  This function should only be called *once* for
//  any given date object!  See example at the end of this document.
//
function FixCookieDate( date )
{
	var base = new Date( 0 );
	var skew = base.getTime(); // dawn of (Unix) time - should be 0
	
	if ( skew > 0 )  // Except on the Mac - ahead of its time
	{
		date.setTime ( date.getTime() - skew );
	}
}

//
//  Function to return the value of the cookie specified by "name".
//    name - String object containing the cookie name.
//    returns - String object containing the cookie value, or null if
//      the cookie does not exist.
//
function CSClientScript_GetCookie( name )
{
	var arg = name + "=";
	var alen = arg.length;
	var clen = document.cookie.length;
	var i = 0;
	
	while ( i < clen )
	{
		var j = i + alen;
		
		if ( document.cookie.substring( i, j ) == arg )
		{
			return getCookieVal( j );
		}
		
		i = document.cookie.indexOf( " ", i ) + 1;
		
		if ( 0 == i )
		{
			break; 
		}
	}
	
	return null;
}
//
//  Function to create or update a cookie.
//    name - String object containing the cookie name.
//    value - String object containing the cookie value.  May contain
//      any valid string characters.
//    [expires] - Date object containing the expiration data of the cookie.  If
//      omitted or null, expires the cookie at the end of the current session.
//    [path] - String object indicating the path for which the cookie is valid.
//      If omitted or null, uses the path of the calling document.
//    [domain] - String object indicating the domain for which the cookie is
//      valid.  If omitted or null, uses the domain of the calling document.
//    [secure] - Boolean (true/false) value indicating whether cookie transmission
//      requires a secure channel (HTTPS).  
//
//  The first two parameters are required.  The others, if supplied, must
//  be passed in the order listed above.  To omit an unused optional field,
//  use null as a place holder.  For example, to call SetCookie using name,
//  value and path, you would code:
//
//      SetCookie ("myCookieName", "myCookieValue", null, "/");
//
//  Note that trailing omitted parameters do not require a placeholder.
//
//  To set a secure cookie for path "/myPath", that expires after the
//  current session, you might code:
//
//      SetCookie (myCookieVar, cookieValueVar, null, "/myPath", null, true);
//
function CSClientScript_SetCookie( name, value, expires, path, domain, secure )
{
	document.cookie = name + "=" + escape( value ) +
    	( ( expires ) ? "; expires=" + expires.toGMTString() : "" ) +
    	( ( path ) ? "; path=" + path : "" ) +
    	( ( domain ) ? "; domain=" + domain : "" ) +
    	( ( secure ) ? "; secure" : "" );
}

//
//  Function to delete a cookie. (Sets expiration date to start of epoch)
//    name -   String object containing the cookie name
//    path -   String object containing the path of the cookie to delete.  This MUST
//             be the same as the path used to create the cookie, or null/omitted if
//             no path was specified when creating the cookie.
//    domain - String object containing the domain of the cookie to delete.  This MUST
//             be the same as the domain used to create the cookie, or null/omitted if
//             no domain was specified when creating the cookie.
//
function CSClientScript_DeleteCookie( name, path, domain )
{
	if ( GetCookie( name ) )
	{
		document.cookie = name + "=" +
			( ( path ) ? "; path=" + path : "" ) +
			( ( domain ) ? "; domain=" + domain : "" ) +
			"; expires=Thu, 01-Jan-70 00:00:01 GMT";
  }
}
