// (c) geoVue 2009

var HttpState=['UNINITIALIZED','LOADING','LOADED','INTERACTIVE','COMPLETED'];var reqIsProccessing=false;function $g(elementID){return document.getElementById(elementID);}
function stopEventPropagating(e){if(e){if(e.stopPropagation)e.stopPropagation()
else e.cancelBubble=true;}}
function cancelEvent(e){e=e||event;stopEventPropagating(e);return false;}
function ce(e,stateFieldID,panelID)
{e=e||event;var target=e.srcElement||e.target;if(target.id=="collapseLink"){target=target.previousSibling;if(!target.id)target=target.previousSibling;}
var state_field=$("#"+stateFieldID);var panel=$("#"+panelID);if(panel.length==0){panel=$("#"+target.id).parents(".cRoot").find("div[id*='"+panelID+"']");}
if(panel){var icon=target.src;var i=icon.indexOf('plus.gif');if(i>0){icon=icon.replace(/plus.gif/,"minus.gif");panel.show();state_field.val('on');}
else{icon=icon.replace(/minus.gif/,"plus.gif");panel.hide();state_field.val('off');}
target.src=icon;}
return false;}
function LoadingSpan(container){var self=this;var span=$g("loadingSpan");if(span&&typeof(container)!='undefined'){span.style.top=getTopPos(container);span.style.left=getLeftPos(container);}
this.ShowLoading=function(){if(span)span.style.display="inline";}
this.HideLoading=function(){if(span)span.style.display="none";}}
function ShowError(msg){var d=$g('MVPErrorWindow');if(!d){d=document.createElement('div');d.id='MVPErrorWindow';document.body.appendChild(d);}
else
d.style.display='block';d.style.left=document.body.scrollLeft;d.style.top=document.body.scrollTop;d.innerHTML='<table style="width:100%"><tr><td><b>Error Message:</b></td><td><div style="text-align:right;"><a href="#" onclick="$g(\'MVPErrorWindow\').style.display=\'none\'">Close <img src="images/x.gif" /></a></div></td></tr></table>'+msg;return false;}
function loader(show,message){var p=$g('progressBar');if(p){p=p.parentNode;p.style.display=show?"block":"none";var span=p.getElementsByTagName('span')[0];span.innerHTML=show&&message?message:"Working...";}}
function toggleDisplay(el,type){el.style.display=el.style.display=="none"?type:"none";}
function toggleDetails(e,panel){e=e||eval;var src=e.srcElement||e.target;var p=$g(panel).style;if(p.display!='block'){p.display='block';src.value='Hide Details';}
else{p.display='none';src.value='Show Details';}}
function execBtn(btn)
{if(event.keyCode==13&&btn){event.returnValue=false;event.cancel=true;btn.click();}}
function execButton(btn){if(event.keyCode==13){btn.click();return false;}
return true;}
function createXMLHttp(){if(typeof XMLHttpRequest!="undefined"){return new XMLHttpRequest();}else if(window.ActiveXObject){var versions=["MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XmlHttp"];for(var i=0;i<versions.length;i++){try{return new ActiveXObject(versions[i]);}
catch(ex){}}}
throw new Error("XMLHttp object could not be created.");}
function getTopPos(obj)
{var r=obj.offsetTop;while((obj=obj.offsetParent)!=null){if(obj.tagName!='HTML')r+=obj.offsetTop;}
return r;}
function getLeftPos(obj)
{var r=obj.offsetLeft;while((obj=obj.offsetParent)!=null){if(obj.tagName!='HTML')r+=obj.offsetLeft;}
return r;}
function hideHelp(){$('#HelpWindow').hide();window.status='';return false;}
function displayHelp(keyword,category,e,defaultPosition){var help=$g('HelpWindow');if(help&&help.name==keyword){help.style.display="block";return false;}
e=e||event;var target=e.srcElement||e.target;var pos=document.URL.indexOf('/',8);pos=document.URL.indexOf('/',pos+1);var root=document.URL.substr(0,pos);var helpPath=root+'/Help/'+keyword+'.htm';var imgSrc=root+'/images/x.gif';var header="";switch(category){case'DemandUnitClass':header="Demand Unit Class Settings";break;case'map':header="Description of Current Map Mode";break;case'iplan':header="IPLAN Configuration Settings";break;case'model':header="Model Settings";break;case'market':header="Market Settings";break;case'scenario':header="Scenario Settings";break;case'analysis':header="Analysis Settings";break;case'purge':header="Purge Delete Task";break;default:header=category;}
var topPos=this.offsetTop;var xmlHttpReqHelp=createXMLHttp();xmlHttpReqHelp.onreadystatechange=function(){window.status='Help loading status: '+HttpState[xmlHttpReqHelp.readyState];if(xmlHttpReqHelp.readyState==4){var helpExists=!!help;if(!helpExists){help=document.createElement("div");help.id='HelpWindow';help.style.top=defaultPosition?10:getTopPos(target)+20;help.style.left=10;}
help.innerHTML='<table class="tLeft"><tr style="background-color:#B3B38F;"><th>'+header+'</th><td><div style="text-align:right;"><a href="#" onclick="return hideHelp()">Close <img src="'+imgSrc+'" style="border:1px solid #ddd"/></a></div></td></tr></table><div class="msg">'+xmlHttpReqHelp.responseText+'</div>';help.name=keyword;if(helpExists)help.style.display='block';else document.body.appendChild(help);}};xmlHttpReqHelp.open("GET",helpPath);xmlHttpReqHelp.send();return cancelEvent(e);}
function getPos(pos){return pos.replace('px','')/1;}
var prevCode=0;function fnTrapEnter()
{var code=event.keyCode;if(code==13&&prevCode!=40&&prevCode!=38)
{event.returnValue=false;event.cancelBubble=true;var b=findSiblingButton(event.srcElement);if(b)b.click();}
prevCode=code;}
function disableControl(c,disabled){c.disabled=disabled;for(var i=0;i<c.children.length;i++){c.children[i].disabled=disabled;disableControl(c.children[i],disabled);}}
function clearDefault(element,defaultValue){if(element.value==defaultValue)element.value='';element.style.color='black';}
function restoreDefault(element,defaultValue){if(element.value==''){element.value=defaultValue;element.style.color='gray';}}
function getJsonData(controlID){var data=$("#"+controlID).children("input[id$='server2client']").val();if(data){try{data=eval(data)[controlID]}
catch(ex){}}
return data;}
function confirmDel(obj){return confirm('Are you sure you want to delete this '+obj+'?');}
function findSiblingButton(el){for(var p=el;p;p=p.nextSibling)
if(p.tagName=="INPUT"&&p.type=="submit")return p;return null;}
function findSiblingByID(el,id){for(var p=el;p;p=p.nextSibling)
if(p.id&&p.id.indexOf(id)!=-1)return p;return null;}
function findSibling(el,className){if(el)for(var p=el.nextSibling;p;p=p.nextSibling)if(p.className==className)return p;return null;}
function findControl(tagName,id,root){root=root||document;var controls=root.getElementsByTagName(tagName);for(var i=0;i<controls.length;i++)
if(controls[i].id.indexOf(id)>-1)return controls[i];return null;}
function getFreez(p){while(p){if(p.id=='freezingDiv')return p.scrollLeft;p=p.parentElement;}}