function show_error1(obj, error_text) {
	hide_error2();
	hide_error3();
	
	//find the position of the form element
	var x=findPosX(obj)+(obj.offsetWidth);
	var y=findPosY(obj)+(obj.offsetHeight/2);
	var text = obj.id;
	//fill error message and position
	//document.getElementById('error_message1').innerHTML = "showing "+text+" at: ("+x+","+y+")"; //or = error_text
	document.getElementById('error_message1').innerHTML = error_text;
	var err = document.getElementById('error_bubble1');
	var winwidth = (typeof(window.innerWidth)!="undefined")?window.innerWidth:document.body.offsetWidth;
	err.style.left = (Math.min(winwidth-err.offsetWidth-5, x-5))+"px";
	err.style.top = (y-err.offsetHeight)+"px";
	hide_error3();
}
function hide_error1() {
	var err = document.getElementById('error_bubble1');
	err.style.left = "-9999em";
	err.style.top = "-9999em";
}

function show_error2(obj, error_text) {
	hide_error1();
	hide_error3();
	
	//find the position of the form element
	var x=findPosX(obj)+(obj.offsetWidth);
	var y=findPosY(obj)+(obj.offsetHeight/2);
	var text = obj.id;
	
	//for testing
	if (text == "billing_lastname") 
		text = "<p>paragraph one</p><p>paragraph2</p>";
		
	//fill error message and position
	document.getElementById('error_message2').innerHTML = error_text
	var err = document.getElementById('error_bubble2');
	var winwidth = (typeof(window.innerWidth)!="undefined")?window.innerWidth:document.body.offsetWidth;
	err.style.left = Math.min(winwidth-err.offsetWidth, x)+"px";
	err.style.top = (y-(err.offsetHeight/2)-14)+"px";
	theTimeout = setTimeout(function() {hide_error1();}, 1000);
}
function hide_error2() {
	var err = document.getElementById('error_bubble2');
	err.style.left = "-9999em";
	err.style.top = "-9999em";
	document.getElementById('error_message2').innerHTML = '';
}

function show_error3(obj, error_text) {
	hide_error1();
	hide_error2();
	
	//find the position of the form element
	var x=findPosX(obj)+(obj.offsetWidth);
	var y=findPosY(obj)+(obj.offsetHeight/2);
	var text = obj.id;
		
	//fill error message and position
	document.getElementById('error_message3').innerHTML = error_text;
	var err = document.getElementById('error_bubble3');
	var winwidth = (typeof(window.innerWidth)!="undefined")?window.innerWidth:document.body.offsetWidth;
	err.style.left = Math.min(winwidth-err.offsetWidth-5, x-5)+"px";
	err.style.top = y+"px";
	hide_error1();
}
function hide_error3() {
	var err = document.getElementById('error_bubble3');
	err.style.left = "-9999em";
	err.style.top = "-9999em";
	document.getElementById('error_message3').innerHTML = '';
}

function testMe(){
	alert('here');	
}

//position finders
function findPosX(obj)
{
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}

function findPosY(obj)
{
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}


function attentionCallout(errorMessage) {
	var warning_message = "An unexpected error has occured.";
	var attentionWindowWidth = 647;
	var winwidth = (typeof(window.innerWidth)!="undefined")?window.innerWidth:document.body.offsetWidth;
	var err=document.getElementById("attention_callout");
	err.style.left = findPosX(document.getElementById("regBoxBody")) + ((document.getElementById("regBoxBody").offsetWidth - attentionWindowWidth) / 2) + "px";
	var tableAndWarningMessage = '<table border=0 cellpadding=0 cellspacing=0 width=475><tr><td align=left valign=middle width=475 height=55><span class=warningText>'+ errorMessage +'</span></td></tr></table>';
	err.innerHTML = tableAndWarningMessage;	
	/*	
	var myVar = '';
	myVar += '\nTotal Width of Registration Box: ' + document.getElementById("regBoxBody").offsetWidth;
	myVar += '\nTotal Width of Attention Box: 647' ;// + document.getElementById("attention_callout").offsetWidth;
	myVar += '\nTotal Remaining Space:' + (document.getElementById("regBoxBody").offsetWidth - document.getElementById("attention_callout").offsetWidth);
	myVar += '\nPadding from Start of Reg: '+ ((document.getElementById("regBoxBody").offsetWidth - document.getElementById("attention_callout").offsetWidth) / 2);
	myVar += '\nStart of Registration Box (x): '+ findPosX(document.getElementById("regBoxBody"));
	myVar += '\nPlacement of Attention Box (x): '+ (findPosX(document.getElementById("regBoxBody")) +  ((document.getElementById("regBoxBody").offsetWidth - document.getElementById("attention_callout").offsetWidth) / 2));
	alert(myVar)
	*/
}

function parentInsertCallout() {
	var parentInsertWindowWidth = 295;
	var winwidth = (typeof(window.innerWidth)!="undefined")?window.innerWidth:document.body.offsetWidth;
	var err=document.getElementById("parent_insert_callout");
	err.style.left = 60 + findPosX(document.getElementById("parentInsertBoxBody")) + ((document.getElementById("parentInsertBoxBody").offsetWidth - parentInsertWindowWidth) / 2) + "px";
	/*var myVar = '';
	myVar += '\nTotal Width of Registration Box: ' + document.getElementById("parentInsertBoxBody").offsetWidth;
	myVar += '\nTotal Width of Attention Box: 295' ;// + document.getElementById("attention_callout").offsetWidth;
	myVar += '\nTotal Remaining Space:' + (document.getElementById("parentInsertBoxBody").offsetWidth - document.getElementById("parent_insert_callout").offsetWidth);
	myVar += '\nPadding from Start of Reg: '+ ((document.getElementById("parentInsertBoxBody").offsetWidth - document.getElementById("parent_insert_callout").offsetWidth) / 2);
	myVar += '\nStart of Registration Box (x): '+ findPosX(document.getElementById("parentInsertBoxBody"));
	myVar += '\nPlacement of Attention Box (x): '+ (findPosX(document.getElementById("parentInsertBoxBody")) +  ((document.getElementById("parentInsertBoxBody").offsetWidth - document.getElementById("parent_insert_callout").offsetWidth) / 2));
	alert(myVar)*/
	
}

function parentInsertCalloutHide() {
	var parentInsertWindowWidth = 295;
	var winwidth = (typeof(window.innerWidth)!="undefined")?window.innerWidth:document.body.offsetWidth;
	var err=document.getElementById("parent_insert_callout");
	err.style.left = 60 + findPosX(document.getElementById("parentInsertBoxBody")) + ((document.getElementById("parentInsertBoxBody").offsetWidth - parentInsertWindowWidth) / 2) + "px";
	/*var myVar = '';
	myVar += '\nTotal Width of Registration Box: ' + document.getElementById("parentInsertBoxBody").offsetWidth;
	myVar += '\nTotal Width of Attention Box: 295' ;// + document.getElementById("attention_callout").offsetWidth;
	myVar += '\nTotal Remaining Space:' + (document.getElementById("parentInsertBoxBody").offsetWidth - document.getElementById("parent_insert_callout").offsetWidth);
	myVar += '\nPadding from Start of Reg: '+ ((document.getElementById("parentInsertBoxBody").offsetWidth - document.getElementById("parent_insert_callout").offsetWidth) / 2);
	myVar += '\nStart of Registration Box (x): '+ findPosX(document.getElementById("parentInsertBoxBody"));
	myVar += '\nPlacement of Attention Box (x): '+ (findPosX(document.getElementById("parentInsertBoxBody")) +  ((document.getElementById("parentInsertBoxBody").offsetWidth - document.getElementById("parent_insert_callout").offsetWidth) / 2));
	alert(myVar)*/
	
} 

