
var error_messages=new Array();var error_current_message=-1;var error_is_initialized=false;var error_has_eventListener=false;var error_prev_link="<a onclick=\"errorPreviousMessage();\""+"title=\"previous\"> << </a>";var error_close_link="<a onclick=\"errorCloseMessages();\""+"title=\"close\"> [x] </a>";var error_next_link="<a onclick=\"errorNextMessage();\""+"title=\"next\"> >> </a>";function setOpacity(element,opacity)
{opacity=(opacity>=100||opacity<0)?99.999:opacity;var _opacity=(opacity==0)?opacity:opacity/100;element.style.opacity=_opacity;element.style.filter="alpha(opacity = "+_opacity*100+")";}
function fadeIn(objId,from,to,step,speed)
{if(document.getElementById){var obj=document.getElementById(objId);if(from<=to){setOpacity(obj,from);from+=step;window.setTimeout("fadeIn('"+objId+"',"+from+","+to+","+
step+","+speed+")",speed);}else{doneFadeIn(objId);}}}
function fadeOut(objId,from,to,step,speed)
{if(document.getElementById){var obj=document.getElementById(objId);if(from>=to){from-=step;if(from<0){doneFadeOut(objId);}
setOpacity(obj,from);window.setTimeout("fadeOut('"+objId+"',"+from+","+to+","+
step+","+speed+")",speed);}}}
function error(message)
{error_messages[error_messages.length]=message;error_current_message=error_messages.length-1;if(error_is_initialized==false){errorInitialize();error_is_initialized=true;}else{background=document.getElementById('error_background');setOpacity(background,0);background.style.visibility='visible';background.style.width='100%';background.style.height='100%';navigation=document.getElementById('error_navigation');setOpacity(navigation,0);navigation.style.visibility='visible';message=document.getElementById('error_message');setOpacity(message,0);message.style.visibility='visible';}
fadeIn("error_background",0,70,10,100);}
function doneFadeIn(objId)
{if(objId=="error_background"){errorShowNavigationBar();fadeIn("error_navigation",0,100,10,100);}
if(objId=="error_navigation"){errorShowMessageAt(error_current_message);fadeIn("error_message",0,100,10,100);}}
function calculateErrorMsgPosition(event)
{var background=document.getElementById('error_background');if(navigator.userAgent.indexOf("Firefox")!=-1){background.style.width=parseInt(window.clientWidth)+"px";background.style.height=parseInt(window.innerHeight+window.scrollMaxY)+"px";}else if(navigator.userAgent.indexOf("Safari")!=-1){background.style.width=parseInt(window.clientWidth)+"px";background.style.height=parseInt(document.body.scrollHeight)+"px";}else if(navigator.userAgent.indexOf("MSIE 7.0")!=-1){background.style.width=parseInt(document.body.clientWidth)+16+"px";background.style.height=parseInt(document.documentElement.clientHeight)+"px";}
var message=document.getElementById('error_message');var width;if(navigator.userAgent.indexOf("MSIE 7.0")!=-1){width=parseInt(message.currentStyle['width']);}else{width=parseInt(window.getComputedStyle(message,"").width);}
var val=width/2.0;message.style.marginLeft="-"+val+"px";}
function errorInitialize()
{var body=document.getElementsByTagName('body').item(0);message=document.createElement('div');message.setAttribute('id','error_message');message.setAttribute('visibility','hidden');setOpacity(message,0);body.insertBefore(message,body.firstChild);navigation=document.createElement('div');navigation.setAttribute('id','error_navigation');setOpacity(navigation,0);body.insertBefore(navigation,body.firstChild);background=document.createElement('div');background.setAttribute('id','error_background');background.style.width='100%';background.style.height='100%';setOpacity(background,0);body.insertBefore(background,body.firstChild);}
function errorShowNavigationBar()
{var navigation=document.getElementById('error_navigation');var idx=0;var history_size=error_messages.length;navigation.innerHTML="<table style=\"width:100%\"><tr>"+"<td style=\"width:40%\"></td>"+"<td style=\"width:20%; text-align:center; \">Error Message "
+"<span id=\"index\">"+idx+"</span>"+" of "+history_size+"</td>"+"<td style=\"width:40%; text-align:right; padding-right:20px;\">"
+error_prev_link+error_close_link+error_next_link+"</td>"+"</tr></table>";}
function errorShowMessageAt(index)
{var msg=error_messages[index];var idx=index+1;var message=document.getElementById('error_message');if(message){if(index>=0){document.getElementById('index').innerHTML=idx;message.style.visibility="hidden";message.innerHTML="<span>"+msg+"</span>";message.style.visibility="visible";if(error_has_eventListener==false){if(window.attachEvent){window.attachEvent("onresize",calculateErrorMsgPosition);window.attachEvent("onscroll",calculateErrorMsgPosition);}else if(window.addEventListener){window.addEventListener("resize",calculateErrorMsgPosition,false);}
error_has_eventListener=true;}
calculateErrorMsgPosition();}else{message.innerHTML="";}}}
function errorPreviousMessage()
{if(error_current_message>0){error_current_message--;errorShowMessageAt(error_current_message);}}
function errorNextMessage()
{if(error_current_message<error_messages.length-1){error_current_message++;errorShowMessageAt(error_current_message);}}
function errorCloseMessages()
{for(var i=error_messages.length-1;i>=0;i--){error_messages.splice(i,1);}
error_current_message=-1;errorShowMessageAt(error_current_message);document.getElementById('error_message').style.visibility='hidden';document.getElementById('error_navigation').style.visibility='hidden';fadeOut("error_background",70,0,10,200);if(error_has_eventListener==true){if(window.attachEvent){window.detachEvent("onresize",calculateErrorMsgPosition);window.detachEvent("onscroll",calculateErrorMsgPosition);}else if(window.addEventListener){window.removeEventListener("resize",calculateErrorMsgPosition,false);}
error_has_eventListener=false;}}
function doneFadeOut(objId)
{document.getElementById('error_background').style.visibility='hidden';}