var current;
var newdiv;
var splitted;
var result = new String();
var nodeIdArr = new Array();
var selected = 0;
var counter;
var searchText;
var hasSearchResult = 0;
var divresult;

// ===
var xwidth = 392; // Teksboks-størrelsen
var mouseovercolor = 'yellow';
var siteurl = "http://www.asak.no/";
var ajaxurl = "layout/set/ajax/vztlibrary/search/";
var linkurl = "nor/intranett/bildebank?produkt=";
//var linkurl = "nor/content/view/full/";
var showlink = false;
// Sjekk bunnen av fila for eksempler på PHP og HTML/CSS kode.

function expand( i )
{
	current = document.getElementById( 'child' + i );

	if ( current.style.display == 'none' )
		current.style.display = 'inline';
	else
		current.style.display = 'none';
}

var myFunction;

function prodchildren(parent)
{
	var poststr = "parent=" + encodeURI( parent);
	myFunction = 'prodchildren';
	postRequest( "/layout/set/ajax/vztlibrary/prodchildren", poststr );
	
}

function hentPHP() {
  if ( http_request.readyState == 4 ) {
	 if ( http_request.status == 200 ) 
	 {
		//alert(http_request.responseText);
		result = http_request.responseText;
		removeList();
		
		if ( myFunction == 'prodchildren' )
		{
			alert(result);
			myFunction == '';
		}
		else
		{
			if ( result.length > 0 )
			{
					var products = new Array();
					products = result.split( ';' );
					counter = 0;
					hasSearchResult = 1;
					str = '';
					
					if ( products.length > 0 )
						document.getElementById( 'result' ).style.display = 'inline';
					
					while ( counter < products.length )
					{
						splitted = products[counter].split( "," );
			
						if ( splitted[0].length > 0 )
						{
							newdiv = document.createElement('div');
							style( products.length );
		
							if ( showlink == true )
								newdiv.innerHTML = "<a href=" + siteurl + linkurl + splitted[1] + ">" + splitted[0] + "</a>";
							else
								newdiv.innerHTML = splitted[0];
							
							document.getElementById( 'result' ).appendChild( newdiv );
							
							nodeIdArr[counter] = splitted[1];
						}
						counter+=1;
					}
				setWhiteBg();
			}
		}
	} 
	 else 
	 {
		//alert( 'Problemer med å finne fila det postes til.' );
	 }
  }
}

function ajaxSearch( e ) 
{
	searchText = document.getElementById( 'searchbox' );
	var result = document.getElementById("result");
	
	if ( searchText.value.length > 1 )
	{
		code =  e.keyCode;
		
		if ( code == '27' ) {
			// Escape
			removeList(); 
		}
		else if ( code == '13' ) {
			// Enter
			nodeid =  nodeIdArr[selected-1];
			this.window.location = siteurl + linkurl + nodeid;
		}
		else if ( code == '40' ) {
			// Ned
			if ( selected == 0 && hasSearchResult == 1 )
			{
				selected = 1;
				highlight( 1 );
			}
			else if ( selected != 0 && document.getElementById( 'searchitem' + selected ) )
			{
				if ( selected != counter )
					selected += 1;
				
				setWhiteBg();
				highlight( selected );
			}
			else
			{
				doSearch();	
			}
		}
		else if ( code == '38' ) {
			// Opp
			if ( selected == 0 )
			{
				// do nothing
			}
			else if ( selected == 1 )
			{
				selected = 0;
				setWhiteBg();
			}
			else if ( selected != 0 && document.getElementById( 'searchitem' + selected ) )
			{
				selected -= 1;
				setWhiteBg();
				highlight( selected );
			}
			else
			{
				doSearch();					
			}
		}
		else
		{
			doSearch();
		}
	}
	else
	{
		removeList();
	}
}

function doSearch()
{
	removeList();
	var poststr = "searchtext=" + encodeURI( searchText.value );
	postRequest( siteurl + ajaxurl, poststr );
}

function minMouseOver()
{
	setWhiteBg();
	this.style.backgroundColor = mouseovercolor;
	idname = this.getAttribute( 'id' );
	number = idname.substr(10,1)
	selected = number;
}

function minMouseOverIE( evt )
{
	setWhiteBg();
	evt.srcElement.style.backgroundColor = mouseovercolor;
	idname = evt.srcElement.getAttribute( 'id' );
	number = idname.substr(10,1)
	selected = number;
}

function minClick()
{
	idname = this.getAttribute( 'id' );
	number = idname.substr(10,1)
	selected = number;
	nodeid =  nodeIdArr[selected-1];
	window.location = siteurl + linkurl + nodeid;
}

function minClickIE( evt )
{
	idname = evt.srcElement.getAttribute( 'id' );
	number = idname.substr(10,1)
	selected = number;
	nodeid =  nodeIdArr[selected-1];
	window.location = siteurl + linkurl + nodeid;
}

function setWhiteBg()
{
	for (i=1;i<=counter;i++)
	{
		document.getElementById( 'searchitem' + i ).style.background = "#fff";
	}
}



function highlight( i )
{
	document.getElementById( 'searchitem' + i ).style.background = mouseovercolor;
}

function removeList()
{
	hasSearchResult = 0;
	selected = 0;
	divresult = document.getElementById( 'result' );
	
	if ( divresult.hasChildNodes() )
	{
		while ( divresult.childNodes.length >= 1 )
		{
			divresult.removeChild( divresult.firstChild );       
		} 
	}	
}

function style( size )
{
	newdiv.setAttribute('class', 'searchitem');
	newdiv.setAttribute('id', 'searchitem' + ( counter + 1 ) );
	
	if ( isIE() == true )
	{
		newdiv.attachEvent("onmouseover", minMouseOverIE );
		newdiv.attachEvent("onclick", minClickIE );
	}
	else
	{
		newdiv.addEventListener("mouseover", minMouseOver, false );
		newdiv.addEventListener("click", minClick, false );
	}
	
	newdiv.style.width = xwidth + 'px';
	newdiv.style.borderLeft = '1px solid #716f64';
	newdiv.style.borderRight = '1px solid #716f64';
		
	if ( counter + 1 == size )
		newdiv.style.borderBottom = '1px solid #716f64';
	
	newdiv.style.padding = '5px';
	
}

function isIE()
{
	var browserCheck = ( document.all ) ? 1 : 0; 
	
	if ( browserCheck > 0 )  // if MSIE is set greater than 0 (e.g. 1)
		return true;
		
	return false;
}

function postRequest(url, parameters) {
  http_request = false;
  if (window.XMLHttpRequest) { // Mozilla, Safari,...
	 http_request = new XMLHttpRequest();
	 if (http_request.overrideMimeType) {
		// set type accordingly to anticipated content type
		//http_request.overrideMimeType('text/xml');
		http_request.overrideMimeType('text/html');
	 }
  } else if (window.ActiveXObject) { // IE
	 try {
		http_request = new ActiveXObject("Msxml2.XMLHTTP");
	 } catch (e) {
		try {
		   http_request = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (e) {}
	 }
  }
  if (!http_request) {
	 alert('Kan ikke opprette XMLHTTP instansen. Bytt browser');
	 return false;
  }

  http_request.onreadystatechange = hentPHP;
  
  http_request.open('POST', url, true);
  http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  http_request.setRequestHeader("Content-length", parameters.length);
  http_request.setRequestHeader("Connection", "close");
  http_request.send(parameters);
}

/*
	HTML
	<input id="searchbox" type="searchbox" onkeyup="ajaxSearch(event)" style="width:400px;" />
	<div id="resultOuter">
		<div id="result"></div>
	</div>
*/

/* CSS
	
	
	#resultOuter {
		position: relative;
	}
	
	#result {
		display: none;
		position: absolute;
		top: 0px;
		left: 0px;
		z-index: 10;
	}
	
	.searchitem {
		background-color: #fff;
		text-transform: capitalize;
	}
*/

/* PHP
	
	viewet er vztlibrary/search
	
	<?php
	
	include_once( 'kernel/classes/ezcontentobject.php' );
	
	$st = $_POST['searchtext'];
	//$st = utf8_encode( $st ); // for testing
	
	$node = eZContentObjectTreeNode::fetch( 143 );
	$children = $node->subtree( array( 	
						'Depth' => 2, 
						'ClassFilterType' => 'include', 
						'ClassFilterArray' => array( 'produkt' ),
						'SortBy' => array( 'name', true ) ) ) ;
	
	$firstarr = array();
	$arr = array();
	$limit = 10;
	$j = 0;
	
	foreach ( $children  as $item )
	{
		if ( $limit == $j )
			break;
	
		$name = $item->attribute( 'name' );
		$node_id = $item->attribute( 'main_node_id' );
		
		if ( eregi( $st, $name ) )
		{
			$nameto = str_ireplace( $st, '<strong>' . $st . '</strong>', $name );
			
			if ( strtolower($st) == strtolower( substr( $name, 0, strlen( $st ) ) ) )
				$firstarr[] = ";" . $nameto . "," . $node_id;
			else	
				$arr[] = ";" . $nameto . "," . $node_id;
				
			$j++;
		}
	}
	
	$i = 0;		
	
	foreach ( $firstarr as $fa )
	{
		if ( $i == 0 )
		 echo ereg_replace( ";", "", $fa );
		else
			echo $fa;
		$i++;
	}
	
	foreach ( $arr as $a )
	{
		if ( $i == 0 )
		 echo ereg_replace( ";", "", $a );
		else
			echo $a . "ssss";
		$i++;
	}
	
	function str_ireplace( $needle, $str, $haystack ) 
	{
		return preg_replace( "/$needle/i", $str, $haystack );
	} 
	
	?>

*/ 


