var xmlHttp

function findPosX(obj)
  {
    var curleft = 0;
    if(obj.offsetParent)
        while(1) 
        {
          curleft += obj.offsetLeft;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.x)
        curleft += obj.x;
    return curleft;
  }

  function findPosY(obj){
	  var curtop = 0;
	  if(obj.offsetParent)
        while(1)
        {
          curtop += obj.offsetTop;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
	else if(obj.y)
        curtop += obj.y;
    return curtop;
  }

// TRIM FUNCTION REMOVES SPACES
function trim(s){
	while (s.substring(0,1) == ' '){
		s = s.substring(1,s.length);
	}
	while (s.substring(s.length-1,s.length) == ' '){
		s = s.substring(0,s.length-1);
	}
	return s;
}

// HIDE WARNING BOX
function f_hide_warning(){
	document.getElementById("warning_box").style.display = "none";	
}

// SHOW WARNING BOX
function f_show_warning(str_display,obj){
	str_display = trim(str_display);
	is_bad = str_display.indexOf("WARNING",0)

	if(is_bad != -1){
		warning_box = document.getElementById("warning_box");
		document.getElementById("txtHint").innerHTML=xmlHttp.responseText;
		warning_box.style.backgroundColor = "red";
		warning_box.style.display = "block";
	}else{
		//document.getElementById("warning_box").style.display = "none";
		warning_box = document.getElementById("warning_box");
		document.getElementById("txtHint").innerHTML=xmlHttp.responseText;
		warning_box.style.backgroundColor = "white";
		warning_box.style.display = "block";
	}
}

// AJAX TO GET THE INFO FROM SERVER
function showHint(str,obj){
	// FIND FIRELD USER CHANGED
	var x_pos = findPosX(document.getElementById(obj)) + 170
	var y_pos = findPosY(document.getElementById(obj))
	// alert("x:"+x_pos+"y:"+y_pos); //DEBUG
	
	// MOVE THE WARNING BOX TO OVERLAY THE ERROR
	document.getElementById("warning_box").style.left = x_pos+"px";
	document.getElementById("warning_box").style.top = y_pos+"px";
	
	if (str.length==0){ 
		document.getElementById("txtHint").innerHTML=""
		return
	}
	xmlHttp=GetXmlHttpObject()

	if (xmlHttp==null){
		alert ("Browser does not support HTTP Request")
	return
	} 
	var url="/books/book_ajax_display.cfm"
	url=url+"?iid="+str+"&xpos="+x_pos+"&ypos="+y_pos
	url=url+"&sid="+Math.random()
	xmlHttp.onreadystatechange=stateChanged 
	xmlHttp.open("GET",url,true)
	xmlHttp.send(null)
} 

function stateChanged(){ 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){
		f_show_warning(xmlHttp.responseText);
	} 
} 

function GetXmlHttpObject(){ 
	var objXMLHttp=null
	if (window.XMLHttpRequest){
		objXMLHttp=new XMLHttpRequest()
	}else if (window.ActiveXObject){
		objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
	}
	return objXMLHttp
}