var bgDerivativeSearch =  {
	 
	 'lastPress' : 0,
	 'charLimit' : 3,    
	 'delay' : 200,
	 'oldQuery' : '',
	 'timer' : null,
	 
	 doSearch : function(query, issuer, sort) {		            
          if (query == 'WKN/ISIN/Name') {
            return;
          }
          this.lastPress = (new Date()).getTime();              
		  if (this.timer != null) {
				clearTimeout(this.timer);
		  }
		  this.timer = setTimeout("bgDerivativeSearch.update('"+query+"','"+sort+"');", this.delay+200);                
	 },
	 
	 update : function(query, sort) {                       
		  if (this.lastPress + this.delay > (new Date()).getTime() || query.length < this.charLimit 
				|| query == this.oldQuery) {
				return;
		  }
		  
		  document.getElementById('underlyingResults').innerHTML = 'Suche wird ausgef&uuml;hrt...';
	
		  /*var query  = document.getElementById('underlyingSearch').value;        */
		  var params = {'underlyingSearch' : query, 'sort' : sort == 'undefined' ? '' : sort};
		 
		  this.oldQuery = query;      
		  bgTools.doXmlHttpRequest(bgDerivativeSearch.updateHook, '/underlyingsearch', 'POST', params);     
	 },
     
     updatePage : function(page, count) {
          var params = {'underlyingSearch' : this.oldQuery,
                        'seite'            : page                        
                       };
          document.getElementById('underlyingResults').innerHTML = 'Bitte warten...';
          bgTools.doXmlHttpRequest(bgDerivativeSearch.updateHook, '/underlyingsearch', 'POST', params);
     },
	 
	 updateHook : function(response, params) {
		  document.getElementById('underlyingResults').innerHTML = response;              
	 },
	 
	 selectUnderlying : function(object) {        
		  var rows = bgTools.getElementsByClassName(object.className);        
		  var index = 0;
		  for (i=0; i < rows.length; i++) {
				rows[i].style.display = 'none'; 
				if (rows[i] == object) {
					index = i;
				}           
		  }
		  object.style.display = '';
		  
		  var rows = bgTools.getElementsByClassName('derivatives');
		  for (i=0; i < rows.length; i++) {
				rows[i].style.display = 'none';             
		  }
		  
		  document.getElementById('derivatives'+index).style.display = '';
          document.getElementById('underlyingpagination').style.display = 'none';
	 },
	 
	 buildURL : function(identifier) {
	          
          var url = document.getElementById(identifier).action;          
          
		  var fields = bgTools.getElementsByClassName('request');		  
		  for (i=0; i < fields.length; i++) {				
                if (fields[i].type == 'radio') {
                     if (fields[i].checked) {
                          url = url + fields[i].name+'/'+fields[i].value+'/';
                     }    
                }
                if (fields[i].type == 'select-one') {
					 if (fields[i].name != '' && fields[i].options[fields[i].selectedIndex].value != '') {
						  url = url + fields[i].name+'/'+fields[i].options[fields[i].selectedIndex].value+'/';
					 }                    
				}  
				if (fields[i].type == 'text' || fields[i].type == 'hidden') {
					 if (fields[i].name != '' && fields[i].value != '') {
						  url = url + fields[i].name+'/'+fields[i].value+'/';
					 }
				}               
		  } 
		  return url+'#ergebnisse';            
	 }
}
