var MSGTIMER = 20;
var MSGSPEED = 20;
var MSGOFFSET = 0;
var MSGHIDE = 3;
var codeInit = '';

// build out the divs, set attributes and call the fade function //
function inlineMsg(target,string,autohide,setfocusOn,setfocus) {
	var msg;
  	var msgcontent;
	var bodyObj = document.getElementById('jsControl');
  	setfocus = (setfocus) ? setfocus : '1';
  	if(!document.getElementById(codeInit + 'msg')){
    	msg = document.createElement('DIV');
    	msg.id = codeInit+'msg';
    	msgcontent = document.createElement('DIV');
    	msgcontent.id = codeInit+'msgcontent'; 
    	bodyObj.appendChild(msg);
    	msg.appendChild(msgcontent);
    	msg.style.filter = 'alpha(opacity=0)';
    	msg.style.opacity = 0;
    	msg.alpha = 0;
  	}else{
    	msg = document.getElementById(codeInit + 'msg');
    	msgcontent = document.getElementById(codeInit + 'msgcontent');
  	}

  	msgcontent.innerHTML = string;
  	msg.style.display = 'block';  
  	var msgheight = msg.offsetHeight;
  	var targetdiv = document.getElementById(target);  
  	var setfocusOnObj = document.getElementById(setfocusOn);  
	if(setfocus == 1){
		setfocusOnObj.focus();  
	}
  	var targetheight = targetdiv.offsetHeight;
  	var targetwidth = targetdiv.offsetWidth;
  	var topposition = topPosition(targetdiv) - ((msgheight - targetheight) / 2);
 	var leftposition = leftPosition(targetdiv) + targetwidth + MSGOFFSET;
  	msg.style.top = topposition + 'px';
  	msg.style.left = leftposition + 'px';
  	clearInterval(msg.timer);
  	msg.timer = setInterval("fadeMsg(1)", MSGTIMER);
	if(!autohide){
		autohide = MSGHIDE;  
	}
	// The following line has been commented so that the message doesnt hide after a few secs
 	setTimeout("hideMsg()", (autohide * 3000)); 
}

// hide the form alert //
function hideMsg(msg){
	var msg = document.getElementById(codeInit + 'msg');
	if(!msg.timer){
    	msg.timer = setInterval("fadeMsg(0)", MSGTIMER);
  	}
}

// face the message box //
function fadeMsg(flag){
	if(flag == null){
		flag = 1;
	}
  	var msg = document.getElementById(codeInit + 'msg');
  	var value;
	if(flag == 1){
		value = msg.alpha + MSGSPEED;
	}else{
    	value = msg.alpha - MSGSPEED;
  	}
	msg.alpha = value;
	msg.style.opacity = (value / 100);
	msg.style.filter = 'alpha(opacity=' + value + ')';
	if(value >= 99) {
   		clearInterval(msg.timer);
    	msg.timer = null;
  	}else if(value <= 1){
    	msg.style.display = "none";
    	clearInterval(msg.timer);
  	}
}

// calculate the position of the element in relation to the left of the browser //
function leftPosition(target){
	var left = 0;
	if(target.offsetParent){
		while(1){
			left += target.offsetLeft;
		  	if(!target.offsetParent) {
		    	break;
		  	}
	  		target = target.offsetParent;
		}
	}else if(target.x){
    	left += target.x;
  	}
	return left;
}

// calculate the position of the element in relation to the top of the browser window //
function topPosition(target){
	var top = 0;
  	if(target.offsetParent){
    	while(1) {
      		top += target.offsetTop;
      		if(!target.offsetParent){
        		break;
      		}
      		target = target.offsetParent;
    	}
  	}else if(target.y){
    	top += target.y;
  	}
  	return top;
}
arrow = new Image(); 
arrow.src = "/images/msg_arrow.gif"; 



