//
//  This script was developed
//  by Creato Ltd.
//  http://creato.biz
//
//	:: feel free to use it BUT
//	:: if you want to use this code PLEASE send a note
//	:: and please keep this disclaimer intact
//

if( typeof cSelectToggle == 'undefined' )
{
	cSelectToggle = {}
}

cSelectToggle.onChange = function( hEvent )
{
	cSelectToggle.doToggle( this )
}

cSelectToggle.onClick = function( hEvent )
{
	cSelectToggle.doToggle( this )
}

cSelectToggle.doToggle = function( hSelect )
{
	var hToggleRegEx = new RegExp( "toggle_([a-z0-9_\-]*)", "i" )
	if( hSelect.previousToggleIndex == hSelect.selectedIndex )
	{
		return
	}
	var hOption
	var aRE
	var hBlock
	
	if( hSelect.previousToggleIndex )
	{
		hOption = hSelect.options[ hSelect.previousToggleIndex ]
		if( hToggleRegEx.test( hOption.className ) )
		{
			aRE = hToggleRegEx.exec( hOption.className )
			hBlock = document.getElementById( aRE[ 1 ] )
			if( hBlock )
			{
				hBlock.style.display = 'none'
			}
		}
	}


	hOption = hSelect.options[ hSelect.selectedIndex ]
	if( hToggleRegEx.test( hOption.className ) )
	{
		aRE = hToggleRegEx.exec( hOption.className )
		hBlock = document.getElementById( aRE[ 1 ] )
		if( hBlock )
		{
			hBlock.style.display = 'block'
		}
	}

	hSelect.previousToggleIndex = hSelect.selectedIndex
}

cSelectToggle.init = function( hSelect )
{
	cSelectToggle.doToggle( hSelect )
	cDomEvent.addEvent2( hSelect, 'change', cSelectToggle.onChange )
	cDomEvent.addEvent2( hSelect, 'click', cSelectToggle.onClick )
}

cDomExtensionManager.register( new cDomExtension( document, [ "select[class*=selectToggle]" ], cSelectToggle.init ) ) 
