var header_search_last_value;
var header_search_last_counter = 0;
var header_search_wait_time = 500;

function confirm_submit(question)
{
	var agree=confirm(question);
	if (agree)
	    return true;
	else
	    return false;
}

function header_search(input) {
    header_search_last_counter++;
	var func_call = "header_search_perform_search(" + header_search_last_counter + ", '" + input + "')";
	setTimeout(func_call, header_search_wait_time);
}

function header_search_perform_search(counter, value) {

	if (counter != header_search_last_counter) {
		return;
	}

		
    if(value.length < 2) {
	  $('header_search_name_result').style.display="none";
	  $('header_search_name_result').innerHTML='';
      return false;
    }

    if (value == header_search_last_value) {
    	return;
    }
    
	header_search_last_value = value;
	
    ok_func = function (transport) { header_search_update_search(transport); };
    failed_func = function (transport) { header_search_update_search(transport); };
    var url = '/search/ajax/autocomplete.cgi'
    var pars = 'value=' + value;
    var myAjax = new Ajax.Request( url,
                                  { method: 'get',
                                    parameters: pars,
                                    onSuccess: ok_func,
				    				onFailure: failed_func
                                  });
    return false;
}

function hash_lookup(value, keys, values) {
    for (var i = 0; i < keys.length; i++) {
        if (keys[i] == value) {
            return values[i];
        }
    }
}

function header_search_update_search(transport) {
  
  var string = '';
  var data;

  var myKeys = ['brand', 'tag'];
  var myVals = ['', 'Taggen '];
  var myLinks = ['varumarke/', 'tag/'];
   
  try
  {
     data = eval(transport.responseText);
  }
  catch(e)
  {
    return false;
  }  
  for (var i = 0; i < data.length; i++) {
      string += '<div class="headerSearchResultRow"><a href="' + hash_lookup(data[i].type, myKeys, myLinks) + data[i].url + '" onkeydown="return goto_dropdown(event,' + "'" + 'header_search_name_result' + "'" + ', '+i+',' + "'" + 'headerSearchField' + "'" + ');">' + hash_lookup(data[i].type, myKeys, myVals) + data[i].value + '</a></div>';
  }
  if(data.length > 0) {
      $('header_search_name_result').style.display="block";
      $('header_search_name_result').innerHTML = string;
  }
}


function goto_dropdown(e,div,row,inputDiv) {
    if(!e) e=window.event;
    if(e.keyCode == 40) {
        var elements = $(div).select('a');
        if(elements[row+1]) {
            elements[row+1].focus();
        }
        return false;
    }
    else if(e.keyCode == 38) {
        if(row<=0) {
            $(inputDiv).focus();
            return false;
        }
        var elements = $(div).select('a');
        if(elements[row-1]) {
            elements[row-1].focus();
        }
        return false;
    }
    return true;
}

function show_all(e, type, context, key, div, offset) {
    var browser=navigator.appName;
    if(!e) e=window.event;
    if (browser == 'Netscape' && e.button == 1) {
        return true;
    }
    ok_func = function (transport) { _update_show_all(div, transport); };
    var url;
    if (type == 'brand' || type =='brand_history') {
        url = '/brand/show_all_brands.cgi';
    } else if (type == 'member') {
        url = '/member/show_all_members.cgi';
    }
    var pars = 'indiv=' + div + '&context=' + context + '&type=' + type + '&key=' + key + '&offset=' + offset;
    var myAjax = new Ajax.Request( url,
                                  { method: 'get',
                                    parameters: pars,
                                    onSuccess: ok_func
                                  });
    return false;
}

function _update_show_all (div, transport) {
    $(div).innerHTML = transport.responseText;
    $(div).style.display='block';
}


function report_error (formname,div) {
    var pars = $(formname).serialize();
    var url = '/ajax/save_report_error.cgi';
    var ok_func = function (transport) { _report_error_ok(transport,div);  };
    var myAjax = new Ajax.Request( url,
                                   { method: 'get',
                                     parameters: pars,
                                     onSuccess: ok_func
                                   });
    return false;
}

function _report_error_ok(transport, div) {
    if($('describe_'+div)) {
        $('describe_'+div).style.display='none';
    }
    if($('feedback_'+div)) {
        $('feedback_'+div).style.display='block';
    }

}
