function $( $v ) { return document.getElementById( $v ); }

String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g,""); }

function dropdown( name ) {
	var menus = getElementsByClassName( name );
	for ( var j = 0; j < menus.length; j++ ) {
		var sfEls = menus[ j ].getElementsByTagName( "LI" );
		for ( var i = 0; i < sfEls.length; i++ ) {
			dropDown = sfEls[ i ].getElementsByTagName( "UL" );
			if( dropDown.length > 0 ) {
			    sfEls[ i ].onmouseover = function() { this.className += " sfhover"; }
				sfEls[ i ].onmouseout = function() { this.className = this.className.replace( new RegExp( " sfhover\\b" ), "" ); }
			}
		}
	}
}

function getElementsByClassName(className, tag, elm){
	var testClass = new RegExp("(^|\\\\s)" + className + "(\\\\s|$)");
	var tag = tag || "*";
	var elm = elm || document;
	var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
	var returnElements = [];
	var current;
	var length = elements.length;
	for(var i=0; i<length; i++){
		current = elements[i];
		if(testClass.test(current.className)){
			returnElements.push(current);
		}
	}
	return returnElements;
}

function getCookie( name ) {
	var start = document.cookie.indexOf( name + "=" );
	var len = start + name.length + 1;
	if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) ) {
		return null;
	}
	if ( start == -1 ) return null;
	var end = document.cookie.indexOf( ';', len );
	if ( end == -1 ) end = document.cookie.length;
	return unescape( document.cookie.substring( len, end ) );
}

function setCookie( name, value, expires, path, domain, secure ) {
	var today = new Date();
	today.setTime( today.getTime() );
	var expires_date = new Date( today.getTime() + (expires) );
	document.cookie = name+'='+escape( value ) +
		( ( expires ) ? ';expires='+expires_date.toGMTString() : '' ) + //expires.toGMTString()
		( ( path ) ? ';path=' + path : '' ) +
		( ( domain ) ? ';domain=' + domain : '' ) +
		( ( secure ) ? ';secure' : '' );
}

function deleteCookie( name, path, domain ) {
	if ( getCookie( name ) ) document.cookie = name + '=' +
			( ( path ) ? ';path=' + path : '') +
			( ( domain ) ? ';domain=' + domain : '' ) +
			';expires=Thu, 01-Jan-1970 00:00:01 GMT';
}


function printPreview() {
	setActiveStyleSheet( "Print Preview" );
	$( 'printMessage' ).className = "notice";
	$( 'printMessage' ).innerHTML = "<strong>Print Version</strong> - <a href=\"#\" onclick=\"printCancel();\" >Click here</a> to return to the normal view";
}

function printCancel() {
	setActiveStyleSheet( "default" );
	$( 'printMessage' ).className = "";
	$( 'printMessage' ).innerHTML = "";
}

function setActiveStyleSheet( title ) {
	var i, a, main;
	for( i = 0; ( a = document.getElementsByTagName( "link" )[ i ] ); i++ ) {
		if( a.getAttribute( "rel" ).indexOf( "style" ) != -1 && a.getAttribute( "title" ) ) {
			a.disabled = true;
			if( a.getAttribute( "title" ) == title ) { a.disabled = false };
		}
	}
}
