var mozOrFF=((navigator.userAgent.indexOf("Gecko")>-1)&&document.getElementById)||(document.layers&&!document.getElementById);function get(id,parent){if(!parent)
parent='';else
parent=parent+'.';if(document.getElementById){return(eval(parent+'document.getElementById(\''+id+'\')'))}
else{if(document.all){return(eval(parent+'document.all.'+id))}
else return null;}}
function shownHide(showid,hideid){var showObj=get(showid);var hideObj=get(hideid);hide(hideObj);show(showObj);}
function hide(obj){obj.style.visibility="hidden";obj.style.display="none";}
function show(obj){obj.style.display="inline";obj.style.visibility="visible";}
function setContainerText(container,text){container.value=text;}
function enableUserField(field){get(field).readOnly=false;}
function isAlphaNum(str){return str.match(/^[a-zA-Z0-9]*$/);}
function isAlpha(str){return str.match(/^[a-zA-Z]*$/);}
function isNumeric(str){return str.match(/^[0-9]*$/);}
function upperCase(obj){if(obj&&obj.value&&obj.value!=""){obj.value=obj.value.toUpperCase();}}
function trim(str){return str.replace(/^\s\s*/,'').replace(/\s\s*$/,'');}
String.prototype.replaceAll=function(fromStr,destStr){var i=this.indexOf(fromStr);var c=this;while(i>-1){c=c.replace(fromStr,destStr);i=c.indexOf(fromStr);}
return c;}
function rtrim(str){return str.replace(/\s+$/,"");}
function getKeyCode(e){var code;if(!e)
var e=window.event;if(!e)
return-1;if(e.keyCode)
code=e.keyCode;else if(e.which)
code=e.which;return code;}
function moveUpDown(e){var code=getKeyCode(e);if(code==upArr||code==downArr){var rowChange=1;if(code==upArr)
rowChange=-1;var el=e.target||e.srcElement;while(el.tagName!="TD")
el=el.parentNode;var cellidx=el.cellIndex;while(el.tagName!="TR")
el=el.parentNode;var rowidx=el.rowIndex;while(el.tagName!="TABLE")
el=el.parentNode;var rowResult=rowidx+rowChange;var fnd=false;while(!fnd&&rowResult>=0&&rowResult<el.rows.length){var resultCell=el.rows[rowResult].cells[cellidx];var rcNodes=resultCell.childNodes;var len=rcNodes.length;for(var i=0;i<len;i++){var rcNode=rcNodes[i];if(rcNode.focus&&!rcNode.disabled&&rcNode.type&&rcNode.type!="hidden"){rcNode.focus();if(rcNode.select)
rcNode.select();fnd=true;break;}}
rowResult+=rowChange;}
return false;}
return true;}
function numberKeyPressed(e){var code=getKeyCode(e);if(code>=48&&code<=57){return true;}else if(code<32){return true;}else{return false;}}
function militaryTimeKeyPressed(e){var code=getKeyCode(e);if(code>=48&&code<=58){return true;}else if(code<32){return true;}else{return false;}}
function letterKeyPressed(e){var code=getKeyCode(e);if((code>=65&&code<=90)||(code>=97&&code<=122)){return true;}else if(code<32){return true;}else{return false;}}
function alphaNumericKeyPressed(e){return numberKeyPressed(e)||letterKeyPressed(e);}
function isValidDate(str_date){var NUM_CENTYEAR=30;var RE_NUM=/^\-?\d+$/;var arr_date=str_date.split('/');if(arr_date.length!=3){alert("Invalid date format: '"+str_date+"'.\nFormat accepted is mm/dd/yyyy.");return false;}
if(!arr_date[1]){alert("Invalid date format: '"+str_date+"'.\nNo day of month value can be found.");return false;}
if(!RE_NUM.exec(arr_date[1])){alert("Invalid day of month value: '"+arr_date[1]+"'.\nAllowed values are unsigned integers.");return false;}
if(!arr_date[0]){alert("Invalid date format: '"+str_date+"'.\nNo month value can be found.");return false;}
if(!RE_NUM.exec(arr_date[0])){alert("Invalid month value: '"+arr_date[0]+"'.\nAllowed values are unsigned integers.");return false;}
if(!arr_date[2]){alert("Invalid date format: '"+str_date+"'.\nNo year value can be found.");return false;}
if(!RE_NUM.exec(arr_date[2])){alert("Invalid year value: '"+arr_date[2]+"'.\nAllowed values are unsigned integers.");return false;}
var dt_date=new Date();dt_date.setDate(1);if(arr_date[0]<1||arr_date[0]>12){alert("Invalid month value: '"+arr_date[0]+"'.\nAllowed range is 01-12.");return false;}
dt_date.setMonth(arr_date[0]-1);if(arr_date[2]<100)
arr_date[2]=Number(arr_date[2])+(arr_date[2]<NUM_CENTYEAR?2000:1900);dt_date.setFullYear(arr_date[2]);var dt_numdays=new Date(arr_date[2],arr_date[0],0);dt_date.setDate(arr_date[1]);if(dt_date.getMonth()!=(arr_date[0]-1)){alert("Invalid day of month value: '"+arr_date[1]+"'.\nAllowed range is 01-"+dt_numdays.getDate()+".");return false;}
return true;}
function isValidEmail(str){var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
return filter.test(str);}
function isValidPhoneNumber(phone){if(phone.length!=13){alert("Phone Number must consist of 13 characters in the following format (###)###-####");return false;}
return true;}
function addEvent(el,func,method){if(el.addEventListener){el.addEventListener(method,func,false);}else if(el.attachEvent){el.attachEvent(method,func);}else{el.onmouseover=func;el.onmouseout=func;}}
function sizeToFitWidth(img,width){if(img){var height=width*img.style.height/img.style.width;img.style.width=width+"px";img.style.height=height+"px";}}
function URLencode(sStr){return escape(sStr).replace(/\+/g,'%2B').replace(/\"/g,'%22').replace(/\'/g,'%27').replace(/\//g,'%2F');}
function URLdecode(sStr){return escape(sStr).replace('%2F',/\//g).replace('%27',/\'/g).replace('%22',/\"/g).replace('%2B',/\+/g);}
function hideElement(elementId){var element=get(elementId);element.style.display='none';}
function showElement(elementId){var element=get(elementId);element.style.display='';}
function center(elementId,height,width){var el=get(elementId);var offsetHeight=el.offsetHeight;var offsetWidth=el.offsetWidth;if(height)
offsetHeight=height;if(width)
offsetWidth=width;var top=(document.body.clientHeight-offsetHeight)/2;var left=(document.body.clientWidth-offsetWidth)/2;el.style.left=left+document.body.scrollLeft;el.style.top=top+document.body.scrollTop;}
function msAddScript(url){var eltScript=document.createElement("script");eltScript.setAttribute("type","text/javascript");eltScript.setAttribute("src",url);document.getElementsByTagName('head')[0].appendChild(eltScript);}
function addCss(url){var newstyle=document.createElement("link");newstyle.setAttribute('rel',"stylesheet");newstyle.setAttribute('type',"text/css");newstyle.setAttribute('href',url);document.getElementsByTagName('head')[0].appendChild(newstyle);}
function addBookmark(title,url){if(window.sidebar){window.sidebar.addPanel(title,url,"");}else if(document.all){window.external.AddFavorite(url,title);}else if(window.opera&&window.print){return true;}}
function getElementPosition(element){var x=0,y=0;while(element!=null){x+=element.offsetLeft-element.scrollLeft;y+=element.offsetTop-element.scrollTop;element=element.offsetParent;}
return[x,y];}
function getImageDimensions(width,height,desiredWidth,desiredHeight){var dimension="";var ratio=(height/width);if(width>desiredWidth||height>desiredHeight){var imgheight=parseInt(desiredWidth*ratio);if(imgheight>desiredHeight){dimension="height:"+desiredHeight+"px;width:"+parseInt(desiredHeight/ratio)+"px;";}
else{dimension="width:"+desiredWidth+"px;height:"+imgheight+"px;";}}
return dimension;}
function showRow(row){row.style.visibility="visible";var mozOrFF=((navigator.userAgent.indexOf("Gecko")>-1)&&document.getElementById)||(document.layers&&!document.getElementById);if(mozOrFF){row.style.display='table-row';}
else{row.style.display="block";}}
function hideRow(row){row.style.visibility="hidden";row.style.display='none';}
function decodeText(text){if(text!=null){text=text.replace(/&lt;/gi,"<");text=text.replace(/&gt;/gi,">");text=text.replace(/&amp;/gi,"&");text=text.replace(/&35;/gi,"#");}
return text;}
function quoteSafe(txt){var t=txt.replace(/"/gi,"&#34;");t=t.replace(/'/gi,"&#39;");return t;}
function getUrlParameter(name){name=name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");var regexS="[\\?&]"+name+"=([^&#]*)";var regex=new RegExp(regexS);var results=regex.exec(window.location.href);if(results==null)return"";else return results[1];}
function attachElementEvent(obj,type,listener){if(mozOrFF){obj.addEventListener(type,listener,false);}
else{obj.attachEvent(type,listener);}}
function detachElementEvent(obj,type,listener){if(mozOrFF){obj.removeEventListener(type,listener,false);}
else{obj.detachEvent(type,listener);}}
function isValidTime(str){if(str.indexOf(":")<0){return false;}
var value=str.split(":");if(value.length>2){return false;}
if(value[0].charAt(0)==0)value[0]=value[0].substr(1);if(value[1].charAt(0)==0)value[1]=value[0].substr(1);return isNumeric(value[0])&&isNumeric(value[1])&&parseInt(value[0])<=23&&parseInt(value[0])>=0&&parseInt(value[1])<=59&&parseInt(value[1])>0;}
function getDateFieldsHTML(m,d,y){return(m+1<10?'0'+(m+1):(m+1))+'/'+(d<10?'0'+(d):(d))+'/'+y;}
function getDateTimeFieldsHTML(m,d,y,h,mm){return(m+1<10?'0'+(m+1):(m+1))+'/'+(d<10?'0'+(d):(d))+'/'+y+'&nbsp;'+(h<10?'0'+(h):(h))+':'+(mm<10?'0'+(mm):(mm));}
function getObjectTimeFieldsHTML(d){var h=d.hours;var mm=d.minutes;return(h<10?'0'+(h):(h))+':'+(mm<10?'0'+(mm):(mm));}
function getObjectDateTimeFieldsHTML(d){return getDateTimeFieldsHTML(d.month,d.date,d.year+1900,d.hours,d.minutes);}
function getObjectDateFieldsHTML(d){return getDateFieldsHTML(d.month,d.date,d.year+1900);}
function createPictureFiller(width,height,str){return'<div style="width:'+width+'px;height:'+height+'px;border:1px solid black;background-color:#dadada">'+'<table cellpadding="0" cellspacing="0" width="100%" height="100%">'+'<tr>'+'<td valign="middle" align="middle" class="v10">'+(str==null?'No Picture(s) Available':str)+'</td>'+'</tr>'+'</table>'+'</div>';}