/*
 *	Cookies
 */
function getCookie ( cookie_name )
{
	var results = document.cookie.match ( '(^|;) ?' + cookie_name + '=([^;]*)(;|$)' );
	
	if ( results )
		return ( unescape ( results[2] ) );
	else
		return null;
}

function setCookie ( name, value, exp_y, exp_m, exp_d, path, domain, secure )
{
	var cookie_string = name + "=" + escape ( value );
	
	if ( exp_y )
	{
		var expires = new Date ( exp_y, exp_m, exp_d );
		cookie_string += "; expires=" + expires.toGMTString();
	}
	
	if ( path )
		cookie_string += "; path=" + escape ( path );
	
	if ( domain )
		cookie_string += "; domain=" + escape ( domain );
	
	if ( secure )
		cookie_string += "; secure";
	
	document.cookie = cookie_string;
}

function deleteCookie ( cookie_name )
{
	var cookie_date = new Date ( );  // current date & time
	cookie_date.setTime ( cookie_date.getTime() - 1 );
	document.cookie = cookie_name += "=; expires=" + cookie_date.toGMTString();
}

/*
 *	End Cookies
 */

/*
 *	Client Size
 */
function clientSizeFilterResult(n_win, n_docel, n_body) {
	var n_result = n_win ? n_win : 0;
	if (n_docel && (!n_result || (n_result < n_docel)))
		n_result = n_docel;
	return n_body && (!n_result || (n_result < n_body)) ? n_body : n_result;
};

function getClientWidth() {
	return clientSizeFilterResult (
		window.innerWidth ? window.innerWidth : 0,
		document.documentElement ? document.documentElement.clientWidth : 0,
		document.body ? document.body.clientWidth : 0
	);
};
function getClientHeight() {
	return clientSizeFilterResult (
		window.innerHeight ? window.innerHeight : 0,
		document.documentElement ? document.documentElement.clientHeight : 0,
		document.body ? document.body.clientHeight : 0
	);
};
function getClientScrollLeft() {
	return clientSizeFilterResult (
		window.pageXOffset ? window.pageXOffset : 0,
		document.documentElement ? document.documentElement.scrollLeft : 0,
		document.body ? document.body.scrollLeft : 0
	);
};
function getClientScrollTop() {
	return clientSizeFilterResult (
		window.pageYOffset ? window.pageYOffset : 0,
		document.documentElement ? document.documentElement.scrollTop : 0,
		document.body ? document.body.scrollTop : 0
	);
};

/*
 *	End Client Size
 */
