// Functions to handle PDF container resizing and positioning
// ----------------------------------------------------------
var Action = {
	onFocus : 'OnFocus',
	onBlur : 'OnBlur',
	onSubmit : 'OnSubmit'
}

function movePDFObject(x,y,w,h) 
{
    var divRef = document.getElementById("pdfContent");
    divRef.style.left=x;
    divRef.style.top=y;
    
    var pdfRef=document.getElementById("PDFObjectID");	
    pdfRef.width=w;
    pdfRef.height=h;
}

function hidePDFObject(){
    document.getElementById("pdfContent").style.visibility="hidden";
}
	
function showPDFObject()
{
    document.getElementById("pdfContent").style.visibility="visible";
}

function loadPDFObject()
{
	document.getElementById("pdfContent").innerHTML = '<object id=PDFObjectID height=500 width=100% data="form.pdf"></object>';
	setTimeout(registerPDFMessageHandlers, 2000);
}

function registerPDFMessageHandlers()
{
	try
	{
		var PDFObject = document.getElementById("PDFObjectID");
		PDFObject.messageHandler = {
				onMessage:onMessageHandler,
				onError:onErrorHandler
		};
	}
	catch(e)
	{
		alert("Error: " + e);
	}
}

function onMessageHandler(params)
{
	// params - Array
	// 0: Action triggered
	// 1: FieldName
	// 2: FieldValue
	var action = params[0];
	var fieldName = params[1];
	var fieldValue = params[2];
	
	var swf = getMovie("PDFSample");
	
	if( swf )
	{
		switch( action )
		{
			case Action.onFocus:
				swf.sendOnFocus(fieldName);
			break;
			
			case Action.onBlur:
				swf.sendOnBlur(fieldName, trim(fieldValue));
			break;
		}
	}
	else
	{
		alert( "SWF Object not found" );
	}
}

function onErrorHandler(error, message)
{
	alert("Error: " + error);
}

function getMovie( movieName )
{
	if (navigator.appName.indexOf("Microsoft") != -1) 
	{
		return window[movieName];
	} 
	else 
	{
		return document[movieName];
	}
}

function trim(stringToTrim) 
{
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}

