function addListener(obj, event, func) {
	if (window.addEventListener)
		obj.addEventListener(event, func, false);
	else
		obj.attachEvent('on' + event, func);  
}

function console_debug(arg) {
  return;
  try {
    console.log(arg);
  } catch (e) {
    // alert(arg);
  }
}

if ( self != top ) 
	top.location.href = self.location.href;

function utf8_encode(s) {
  return unescape(encodeURIComponent(s));
}

function utf8_decode(s) {
  return decodeURIComponent(escape(s));
}

function getCookie(name) {
	var default_value = arguments.length < 2 ? null : arguments[1];
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for ( var i = 0; i < ca.length; i++ ) {
		var c = ca[i];
		while ( c.charAt(0) == ' ' ) 
			c = c.substring(1,c.length);
		if ( c.indexOf(nameEQ) == 0 ) 
			return unescape(c.substring(nameEQ.length,c.length)).replace(/\+/g, ' ');
	}
	return default_value;
}

// ==========================================================================
// text inputs with backgrounds

function focusInput(name) {
	var input = document.getElementsByName(name)[0];
	input.style.backgroundPosition = '0 20px';
}

function blurInput(name) {
	var input = document.getElementsByName(name)[0];
	var offset = input.clientHeight == 20 ? 0 : -5;
	if ( input.value == '' ) 
		input.style.backgroundPosition = '0 ' + offset + 'px';
}

function initInput(name) {
	focusInput(name);
	blurInput(name);
}

function enhanceInputs() {
	var inputs = document.getElementsByTagName('INPUT');
	for ( var i = 0; i < inputs.length; i++ ) {
		var input = inputs[i];
		if ( input.style.background && input.className != 'cse-search-input' ) {
			addListener(input, 'focus', new Function('focusInput("' + input.name + '");'));
			addListener(input, 'blur', new Function('blurInput("' + input.name + '");'));
			initInput(input.name);
		}
	}
}

addListener(window, 'load', enhanceInputs);


