
function store( num , depth ) {
	this.mode = depth
	this.recommended = not_ie()
	this.menu = document.getElementById("menu")
	if( this.menu )
		this.height = this.menu.offsetHeight
	this.count = 0
	this.width = 0
	this.frames = num
	this.array = new Array()
	this . g = document.getElementById("guar")
	this . struct = new Array()
	this . _menu  = new active_menu()
}

function not_ie() {
	if(window.ActiveXObject)
		return false
	return true
}

function update() {
	page_width()
}

function load_menu( menu ) {
	var list = menu.childNodes
	for( var i = 0 ; i < list.length ; ++i ) {
		var ele = list[i]
		if( ele . nodeName == "LI" ) {
			menu_logic( ele ) ;  ++driver . count
		}
	}
}
function membuf ( p , m , binary ) {
	this . w = 0
	this . h = p
	this . m = m
	this . known = binary
}
function get_index( li )
{	
	var i = 0 , index = 0
	var list = li.parentNode.childNodes
	for (var j = 0 ; j < list.length ; ++j )
	while ( list[i] != li ) {
		if ( list[i].nodeName == "LI"  )
			++index
		++i
	}
	return index
}

function menu_logic( element ) {
	
	var ele , ul 
	ele  = element . getElementsByTagName("a")[ 0 ] 	
	ul  = element . getElementsByTagName("ul")[ 0 ] 	

	ele . onmouseover = activate
	ul . onmouseover = activation
	ele .onmouseout = deactivate
	ul . onmouseout = deactivation
	
	var dx = ele . offsetWidth
	var margin = 0
	var pad , top
		
	margin = driver . width - 10 * ( 1 - driver . count )
			
	driver . width += dx
	pad = ele . offsetHeight
	
	var buf = new membuf( pad , margin , false )
	driver . struct[driver . count] = buf
	menu_styles ( ul , pad , margin )
}
function activate(event) {
	var ul = this . parentNode . getElementsByTagName("ul")[0]
	driver . _menu .  pending = ul 
	driver . _menu . hover = 1
		
	if( ! driver . _menu . mutex ) {
		driver . _menu .  active = ul 
		this.className += " active"		
		ul . style . visibility = "visible"
		driver . _menu . mutex = 1
	}
}
function deactivate(event) { 
	driver . _menu . hover = 0
	setTimeout( 'menu_off( driver . _menu . active )' , 50 ) 
	this.className = this.className.replace( " active" , "" )	
}

function deactivation(event) {
	driver . _menu . activated = 0
	setTimeout( 'menu_off( driver . _menu . active )' , 50 ) 
}
function activation(event) {
	driver . _menu . activated = 1
}
function active_menu( ) {
	this . mutex = 0
	this . hover = 0
	this . activated = 0
	this . active = 0 
	this . pending = 0
}
function menu_styles ( ul , h , m ) {
	ul . style . left =  m + 20 + "px"
	
	if( ! driver . recommended ) {
		if( driver . count )
                	ul . parentNode . style.marginTop = - 18 + "px" ;// h - 10 + "px"
                ul.style.top = h -10 + "px" ;// h - 10 + "px"
		ul . style . left =  m - 20 + "px"

	}
	else if( driver . count > 0 ) {
                ul.style.top = h - 10 + "px"
        }
        //        ul.style.top = 20 + "px"
        else
                ul.style.top = 30 + "px"

	var new_block = ul . getElementsByTagName("a")
	
	for ( var i = 0 ; i < new_block.length ; ++i ) {
		var x = new_block[i] . offsetWidth
		if ( x > driver . struct[ driver . count ] . w ) driver . struct[ driver . count] . w = x
	}
	for ( var i = 0 ; i < new_block.length ; ++i ) {
		var x = new_block[i] . offsetWidth
		new_block[i] . style . paddingRight = driver . struct[driver . count] . w - x + 20 + "px"
	}
}

function menu_off( element ) {
	var ul = element
	if( ! driver . _menu . activated ) {
		 if ( ! driver . _menu . hover ) {
			ul . style . visibility = "hidden"
			driver . _menu . mutex = 0
		}
		else if( ul != driver . _menu . pending ) { //!= driver . _menu . active ) {
			ul . style . visibility = "hidden"
			driver . _menu .  active = driver . _menu . pending
			driver . _menu .  pending . style . visibility = "visible"
		}
	}
}
function highlight(event) {
	var img_src = "images/vert_" + this.getAttribute("id") + ".gif"
	document.getElementById("display").setAttribute("src" , img_src )		
}
function normal(event) {
	var img_src = "images/socket.gif"
	document.getElementById("display").setAttribute("src" , img_src )		
}

function page_width() {
	var width = getWindowWidth()
	var image_list = document.getElementsByTagName("img")
	for( var i = 0 ; i < image_list.length ; ++i ) {
		var elem = image_list[i]
		if( elem.className .search( "full" ) > -1 )  {
		
			if ( width < 800 )
				elem.style.width = "840px"
			else
				elem.style.width = "100%"
		}
	}
}
function getWindowWidth() {
	if (window.self && self.innerWidth)
		return self.innerWidth
	if (document.documentElement && document.documentElement.clientWidth) {
		return document.documentElement.clientWidth
	}
	return 0
}

