function log(msg, obj)
{
	if( typeof( console) != 'undefined' )
	{
		if ( obj )
			console.log("%s: %o", msg, obj);
		else
			console.log("%o", msg);
	}
}

function XHConn()
{

  var xmlhttp, bComplete = false;
  try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }
  catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }
  catch (e) { try { xmlhttp = new XMLHttpRequest(); }
  catch (e) { xmlhttp = false; }}}
  if (!xmlhttp) return null;
  this.connect = function(sURL, sMethod, sVars, fnDone)
  {

    if (!xmlhttp) return false;
    bComplete = false;
    sMethod = sMethod.toUpperCase();

    try {
      if (sMethod == "GET")
      {
        xmlhttp.open(sMethod, sURL+"?"+sVars, true);
        sVars = "";
      }
      else
      {
        xmlhttp.open(sMethod, sURL, true);
        xmlhttp.setRequestHeader("Method", "POST "+sURL+" HTTP/1.1");
        xmlhttp.setRequestHeader("Content-Type",
          "application/x-www-form-urlencoded");
      }
      xmlhttp.onreadystatechange = function(){
        if (xmlhttp.readyState == 4 && !bComplete)
        {
          bComplete = true;
          //alert( xmlhttp.responseText );
          data = eval( '(' + xmlhttp.responseText + ')' );
          fnDone(data);
        }};
      xmlhttp.send(sVars);
    }
    catch(z) { return false; }
    return true;
  };



  return this;
}

function postFormOnEnterPressed(event)
{
	var key = (window.Event) ? event.which : event.keyPress;

	if(key == 13 && event.currentTarget.form )
		event.currentTarget.form.submit();

}

function selectOnFocus( event )
{
	event.currentTarget.select();
}

function selectOnBlur( event )
{
	if(event.currentTarget.form )
		event.currentTarget.form.submit();
}

function sortResults( form, col, dir )
{
	$(form).order.value=col;
	$(form).direction.value=dir;
    $(form).submit();
}

function gotoPage( form, pageIndex )
{
	$(form).page.value=pageIndex;
	$(form).submit();
}

function editPrices(id)
{
    if ($('proPrice-' + id).disabled == true) {
        $('proPrice-' + id).disabled = false;
        if ($('pubPrice-' + id)) {
            $('pubPrice-' + id).disabled = false;
        }
    }
    else {
        $('proPrice-' + id).disabled = true;
        if ($('pubPrice-' + id)) {
            $('pubPrice-' + id).disabled = true;
        }
    }
}

function enableOnEmptyList(fieldList_id, fieldText_id)
{
    if ($(fieldList_id).value == 0 || $(fieldList_id).value == '') {
        $(fieldText_id).disabled = false;
    }
    else {
        $(fieldText_id).disabled = true;
    }
}

var _currentTarget;
function filter( type, kwd, target, callback )
{
	_currentTarget = target;
	ajax = new XHConn();
	ajax.connect( BASE_URL + '/async/'+type+'/kwd/'+kwd, 'POST', '', callback );
}