var curscreen='';var secondscreen='';var userid=0;var email='';var name='';function $e(id)
{return document.getElementById(id);}
function $v(id)
{return document.getElementById(id).value;}
function $i(id)
{return document.getElementById(id).innerHTML;}
function htmldecode(htmlstring)
{return htmlstring.replace('&amp;','&').replace('&nbsp;',' ').replace('&lt;','<').replace('&gt;','>').replace('&apos;','\'').replace('&quot;','"');}
function htmlencode(htmlstring)
{return htmlstring.replace('&','&amp;').replace('<','&lt;').replace('>','&gt;').replace('\'','&apos;').replace('"','&quot;');}
function selectValue(id,value)
{var select=document.getElementById(id).getElementsByTagName('option');for(i=0;i<select.length;i++)
if(select[i].value==value)
select[i].selected='selected';else
select[i].selected=null;}
function selectElement(id,ele)
{selectValue(id,document.getElementById(ele).value);}
function selectRadioValue(name,value)
{var select=document.getElementsByName(name);for(i=0;i<select.length;i++)
if(select[i].value==value)
select[i].checked='checked';else
select[i].checked=null;}
function getradiovalue(radioname)
{if(!document.getElementsByName(radioname))
return;var ids=document.getElementsByName(radioname);for(i=0;i<ids.length;i++)
if(ids[i].checked)
return ids[i].value;return 0;}
function getselectedradio(radioname)
{if(!document.getElementsByName(radioname))
return;var ids=document.getElementsByName(radioname);for(i=0;i<ids.length;i++)
if(ids[i].checked)
return ids[i];return null;}
function getSelectedText(id)
{var select=$e(id);select=select.getElementsByTagName('option')[select.selectedIndex];return select.innerHTML;}
function getoptionText(id,value)
{var select=document.getElementById(id).getElementsByTagName('option');for(i=0;i<select.length;i++)
if(select[i].value==value)
return select[i].innerHTML;return'';}
function left(str,n)
{if(n<=0)
return'';else if(n>String(str).length)
return str;else
return String(str).substring(0,n);}
function right(str,n)
{if(n<=0)
return'';else if(n>String(str).length)
return str;else
{var iLen=String(str).length;return String(str).substring(iLen,iLen-n);}}
String.prototype.trim=function()
{a=this.replace(/^\s+/,'');return a.replace(/\s+$/,'');};function trim(a)
{a=a.replace(/^\s+/,'');return a.replace(/\s+$/,'');};function isEmail(add){if(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,5})+$/.test(add))
return true;else
return false;}
function isValidEmail(str){return(str.indexOf('.')>2)&&(str.indexOf('@')>0&&str.length>4);}
function findX(obj)
{var curleft=0;if(obj.offsetParent)
while(1)
{curleft+=obj.offsetLeft;if(!obj.offsetParent)
break;obj=obj.offsetParent;}
else if(obj.x)
curleft+=obj.x;return curleft;}
function findY(obj)
{var curtop=0;if(obj.offsetParent)
while(1)
{curtop+=obj.offsetTop;if(!obj.offsetParent)
break;obj=obj.offsetParent;}
else if(obj.y)
curtop+=obj.y;return curtop;}
function noresponse(response)
{alert('A background AJAX request was sent to retrieve details. It failed with the following message:\n'+response.responseText);hidescreen();}
function sizeUP()
{_sizeUP(40,40);}
function _sizeUP(owidth,oheight)
{if(!$e('resizeme'))
{return;}
var cwidth=parseInt((parseInt($e('resizeme').offsetWidth)+owidth));var cheight=parseInt((parseInt($e('resizeme').offsetHeight)+oheight));$e(curscreen).style.width=cwidth+'px';$e(curscreen).style.height=cheight+'px';}
function screen(divid,flag,Xwidth,Yheight)
{if(!$e(divid))
return;if(!flag)
{if(divid==curscreen)
{document.getElementById('screen').style.display='none';curscreen='';}
else
secondscreen='';document.getElementById(divid).style.display='none';}
else
{if(curscreen)
secondscreen=divid;else
curscreen=divid;document.getElementById(divid).style.display='block';document.getElementById('screen').style.display='block';sizeUP();if(!Xwidth)
{Xwidth=parseInt(parseInt($e(divid).offsetWidth));Yheight=parseInt(parseInt($e(divid).offsetHeight));}
var scrolledX,scrolledY;if(self.pageYoffset)
{scrolledX=self.pageXoffset;scrolledY=self.pageYoffset;}
else
if(document.documentElement&&document.documentElement.scrollTop)
{scrolledX=document.documentElement.scrollLeft;scrolledY=document.documentElement.scrollTop;}
else
if(document.body)
{scrolledX=document.body.scrollLeft;scrolledY=document.body.scrollTop;}
var centerX,centerY;if(self.innerHeight)
{centerX=self.innerWidth;centerY=self.innerHeight;}
else
if(document.documentElement&&document.documentElement.clientHeight)
{centerX=document.documentElement.clientWidth;centerY=document.documentElement.clientHeight;}
else
if(document.body)
{centerX=document.body.clientWidth;centerY=document.body.clientHeight;}
var leftoffset=scrolledX+(centerX-Xwidth)/2;var topoffset=scrolledY+(centerY-Yheight)/2;$e('screen').style.left=scrolledX+'px';$e('screen').style.top=scrolledY+'px';$e('screen').style.height=centerY+'px';$e('screen').style.width=centerX+'px';var r=$e(divid).style;r.position='absolute';r.height=Yheight+'px';r.width=Xwidth+'px';r.top=topoffset+'px';r.left=leftoffset+'px';r.display="block";}}
function toggle(id)
{toggleDisplay(id);}
function toggleDisplay(id)
{if($e(id).style.display=='none')
$e(id).style.display='';else
$e(id).style.display='none';}
function show(id)
{if($e(id))
$e(id).style.display='';}
function hide(id)
{if($e(id))
$e(id).style.display='none';}
function hidescreen()
{if(curscreen)
{screen(curscreen,0);}}
function closeHelp(name)
{hide('divhelp');var url='scripts/ajax/updatesession.php?name='+name+'&value=0';var ajax=new Ajax.Request(url,{method:'post'});}
function showHelp(name)
{var url='scripts/ajax/gethelp.php?name='+name;var ajax=new Ajax.Request(url,{method:'post',onSuccess:fillHelp});}
function fillHelp(response)
{$e('divhelp').innerHTML=response.responseText;show('divhelp');}
function checkDOB(id)
{var dateArray=$v(id).split('-');var dd=new Date(dateArray[0].substr(0),(dateArray[1]-1),dateArray[2]);var cur=new Date();if(dd<cur)
return true;else
return false;}
function switchTab(tabset,tabid)
{if(tabs[tabset])
{$e(tabs[tabset]).className='tab';$e(tabs[tabset]+'link').className='';}
$e(tabid).className='tab active';$e(tabid+'link').className='active';tabs[tabset]=tabid;}
function switchVirtualTab(tabset,tabid)
{if(tabs[tabset])
$e(tabs[tabset]+'link').className='';$e(tabid+'link').className='active';tabs[tabset]=tabid;}
function deleteRow(ele)
{var node=ele.parentNode;while(node&&node.tagName.toLowerCase()!='tr')
if(node.parentNode&&node.parentNode!=node)
node=node.parentNode;else
return;if(node)
node.parentNode.removeChild(node);}
function deleteNode(id)
{var node=$e(id);if(node&&node.parentNode)
node.parentNode.removeChild(node);}
function showMsgBox(response)
{$e('msgBox').innerHTML=response.responseText;show('msgBox');setTimeout(hidemsgBox,2000);}
function hasClass(ele,cls)
{return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));}
function addClass(ele,cls)
{if(!hasClass(ele,cls))ele.className+=" "+cls;}
function removeClass(ele,cls)
{var reg;if(hasClass(ele,cls))
{reg=new RegExp('(\\s|^)'+cls+'(\\s|$)');ele.className=ele.className.replace(reg,' ');}}
function passField(id)
{removeClass($e(id),'error');if($e(id+'_err'))
removeClass($e(id+'_err'),'error');}
function failField(id)
{addClass($e(id),'error');if($e(id+'_err'))
addClass($e(id+'_err'),'error');}
function validateObject(fields)
{var incomplete=false;for(var i=0;i<fields.length;i++)
{if($e(fields[i]))
{if(!$v(fields[i])||$v(fields[i])=='')
{failField(fields[i]);if(incomplete==false)
$e(fields[i]).focus();incomplete=true;}
else
passField(fields[i]);}}
return!incomplete;}
function validateNumeric(fields)
{var incomplete=false;for(var i=0;i<fields.length;i++)
{if($e(fields[i]))
{var value=null;if($v(fields[i]))
value=parseFloat($v(fields[i]));if(!value)
{failField(fields[i]);if(incomplete==false)
$e(fields[i]).focus();incomplete=true;}
else
passField(fields[i]);}}
return!incomplete;}
function validateEmail(id)
{if(isEmail($v(id)))
return true;else
{failField(id);return false;}}
function validateChecked(id)
{if($e(id).checked)
{passField(id);return true;}
else
{failField(id);return false;}}
function validatePassword(p1,p2)
{var pass=true;var p=$v(p1);if(!p||p.length<6||p.length>16)
{failField(p1);pass=false;}
if(!$v(p2)||$v(p2)!=p)
{failField(p2);pass=false;}
return pass;}
function validateEqual(id1,id2)
{if($e(id1)&&$e(id2))
{passField(id1);passField(id2);if($v(id1)!=$v(id2))
{failField(id2);return false;}
else
{if(!$v(id1))
{failField(id1);return false;}
else
return true;}}
else
return false;}
function validatePair(id,id2)
{if((!$v(id))!=(!$v(id2)))
{if(!$v(id))
failField(id);else
failField(id2);return false;}
else
{passField(id);passField(id2);return true;}}
function validateLength(id,min,max)
{var len=$v(id).length;if((!max||len<=max)&&len>=min)
{passField(id);return true;}
else
{failField(id);return false;}}
function isSingleWord(add){if(/^\w+$/.test(add))
return true;else
return false;}
function hidemsgBox()
{$e('msgBox').innerHTML='';hide('msgBox');}
function enableCtrl(id,enable)
{if(enable)
{$e(id).disabled=false;$e(id).focus();}
else
$e(id).disabled=true;}
function toggleCheckBoxes(node,name)
{var value=null;if(node.checked)
value=true;var list=document.getElementsByName(name);for(var i=0;i<list.length;i++)
if(!list[i].disabled)
list[i].checked=value;}
function salt(firstChar)
{return firstChar+'salt='+new Date().getTime();}
function na()
{alert('Not Implemented Yet');}
function hasClass(ele,cls)
{return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));}
function addClass(ele,cls)
{if(!hasClass(ele,cls))ele.className+=" "+cls;}
function removeClass(ele,cls)
{var reg;if(hasClass(ele,cls))
{reg=new RegExp('(\\s|^)'+cls+'(\\s|$)');ele.className=ele.className.replace(reg,' ');}}
function attachTAlimits()
{var list=document.getElementsByTagName('textarea');for(var i=0;i<list.length;i++)
{if(list[i].getAttribute('maxlength'))
{list[i].onblur=validateTA;list[i].onkeypress=validateTA;}}}
function validateTA()
{var max=parseInt(this.getAttribute('maxlength'));if(max)
{var cur=this.value.length;if(cur>max)
{this.value=this.value.substr(0,max);if($e(this.id+'_chars'))
{cur=this.value.length;$e(this.id+'_chars').innerHTML=(max-cur)+' chracters left.';}}}}
function validateFile(id,extn)
{passField(id);if($e(id+'ext'))
passField(id+'ext');if($v(id))
{var pos=$v(id).lastIndexOf('.');var ext=$v(id).substring(pos+1);ext=ext.toLowerCase();for(var i=0;i<extn.length;i++)
if(extn[i]==ext)
return true;}
failField(id);if($e(id+'_ext'))
failField(id+'_ext');return false;}
function redirect(url)
{window.location=url;}
function setLabelField(id)
{var node=$e(id);if(node)
{node.onfocus=function(){labelField(node,0);};node.onblur=function(){labelField(node,1);};labelField(node,1);}}
function labelField(node,state)
{if(state&&node.value=='')
{node.value=node.getAttribute('title');node.style.color='#888888';}
else
if(!state&&node.value==node.getAttribute('title'))
{node.value='';node.style.color='#000000';}}
function _goto(url)
{window.location=url;}
function forceReload()
{var url=window.location.href;window.location=url+((url.indexOf("?")!=-1)?"&":"?")+'ts='+new Date().getTime();}
function textBoxTitleON()
{if(this.value=='')
{this.value=this.getAttribute('title');this.style.color='Gray';}}
function textBoxTitleOFF()
{if(this.value==this.getAttribute('title'))
{this.value='';this.style.color='';}}
function textBoxTitles()
{var list=document.getElementsByClassName('AutoInput');for(i=0;i<list.length;i++)
if(list[i].getAttribute('title'))
{if(list[i].value=='')
{list[i].value=list[i].getAttribute('title');list[i].style.color='Gray';}
list[i].onfocus=textBoxTitleOFF;list[i].onblur=textBoxTitleON;}}
function showFrame(url,container)
{if(!container)
container='iframec';if(!$e(container))
return;$e(container).innerHTML='<div align="right"><a class="orange" href="javascript:hideFrame(\''+container+'\');">close this form</a></div><iframe scrolling="No" frameborder="0" hspace="0" vspace="0" marginheight="0" marginwidth="0" src="'+url+'" name="ifrmae1" id="ifrmae1" width="100%" height="100%" onload="javascript:resizeFrame(this);" style="visibility:hidden;"></iframe>';}
function hideFrame(container)
{if(!container)
container='iframec';if(!$e(container))
return;$e(container).innerHTML='';if(container==curscreen||container==secondscreen)
hidescreen();}
function resizeFrame(node)
{if(!node)
return;var width=node.contentWindow.document.body.scrollWidth;var height=node.contentWindow.document.body.scrollHeight;node.style.visibility='';node.style.width=(width<(node.parentNode.offsetWidth)?(width+10)+'px':'100%');node.style.height=(height+20)+'px';node.style.margin='0 auto';}
function replaceFrame(node,container)
{if(!container)
container='iframec';if(!$e(container))
return;$e(container).innerHTML=node.contentWindow.document.body.innerHTML;}
function showWait()
{var list;if(document.getElementsByClassName)
list=document.getElementsByClassName('DHTMLSuite_formCoverDiv');if(list)
{if(list.length)
{if(!list[0].id)
list[0].id='divwait';list[0].display='block';}
else
{var e1=document.createElement('div');e1.id='divwait';e1.style.overflow='hidden';e1.style.zIndex=1000;e1.style.position='absolute';e1.className='DHTMLSuite_formCoverDiv';document.body.appendChild(e1);var innerDiv=document.createElement('div');innerDiv.style.width='105%';innerDiv.style.height='105%';innerDiv.className='DHTMLSuite_formCoverDivInner';innerDiv.style.opacity='0.2';innerDiv.style.filter='alpha(opacity=20)';e1.appendChild(innerDiv);var ajaxLoad=document.createElement('div');ajaxLoad.className='DHTMLSuite_formCoverDiv_ajaxLoader';e1.appendChild(ajaxLoad);}
curscreen='divwait';}}
function tajax(url,params,callbackFunction)
{showWait();var page_request=false;if(window.XMLHttpRequest)
page_request=new XMLHttpRequest();else if(window.ActiveXObject)
{try
{page_request=new ActiveXObject("Msxml2.XMLHTTP");}
catch(e)
{try
{page_request=new ActiveXObject("Microsoft.XMLHTTP");}
catch(e){}}}
else
return false;page_request.onreadystatechange=function(){if(page_request.readyState==4&&(page_request.status==200||window.location.href.indexOf("http")==-1))
hidescreen();if(callbackFunction)
callbackFunction(page_request);}
anticache=(url.indexOf("?")!=-1)?"&"+new Date().getTime():"?"+new Date().getTime();page_request.open('POST',url+anticache,true);if(params)
page_request.send(params);else
page_request.send(null);}
function closeme()
{if(confirm('This page is trying to close itself. Do you want to continue?'))
window.close();}
function limitHeight(id,height)
{var d=document.getElementById(id);if(!d)
return;if(d.offsetHeight<=height)
{d.style.height='auto';d.style.overflow='';}
else
{d.style.height=height+'px';d.style.overflow='auto';}};function tExecuteScripts(obj)
{obj=DHTMLSuite.getEl(obj);var scriptTags=obj.getElementsByTagName('script');var string='';var jsCode='';for(var no=0;no<scriptTags.length;no++){if(scriptTags[no].src){var head=document.getElementsByTagName("head")[0];var scriptObj=document.createElement("script");scriptObj.setAttribute("type","text/javascript");scriptObj.setAttribute("src",scriptTags[no].src);}else{if(DHTMLSuite.clientInfoObj&&DHTMLSuite.clientInfoObj.isOpera){jsCode=jsCode+scriptTags[no].text+'\n';}
else
jsCode=jsCode+scriptTags[no].innerHTML;}}
if(jsCode)
{try{if(!jsCode)
return;if(window.execScript){window.execScript(jsCode)}else if(window.jQuery&&jQuery.browser.safari){window.setTimeout(jsCode,0);}else{window.setTimeout(jsCode,0);}}catch(e){}}}
function updateMsgBox(response)
{if($e('msgBox1'))
$e('msgBox1').innerHTML=response.responseText;else
$e('msgBox').innerHTML=response.responseText;hidescreen();tExecuteScripts('msgBox');setTimeout("$e('msgBox').innerHTML = '';",10000);}
function updateContent(response)
{$e('content_inner').innerHTML=response.responseText;tExecuteScripts('content_inner');}
function updateObject(response)
{$e('divobject').innerHTML='<div align="right" width="100%">[ <a href="javascript:hidescreen();">CLOSE</a> ]</div><div id="msgBox1"></div><table id="resizeme" width="800px"><tr valign="top"><td width="100%">'+response.responseText+'</td></tr></table><center>[ <a href="javascript:hidescreen();">CLOSE</a> ]</center>';screen('divobject',1);tExecuteScripts('divobject');}
function addAnimalNameField()
{var input=document.createElement('input');input.type="text";input.name="animal[]";input.size="32";input.maxlength="128";var div=document.createElement('div');div.appendChild(input);$e('animals').appendChild(div);}
function deleteAnimal(id)
{$e('divanimal'+id).innerHTML='<input type="hidden" name="deleteanimal[]" value="'+id+'" />';$e('deleteanimals').appendChild($e('divanimal'+id));}
function changeSignupForm(usertype)
{var display='none';if(usertype=='Customer')
display='';var rows=$e('frmForm1').getElementsByTagName('tr');for(var i=0;i<rows.length;i++)
if(hasClass(rows[i],'Customer'))
rows[i].style.display=display;}
function validateSignUp()
{var fields;if($v('usertype')=='Customer')
fields=new Array('name','email','pass1','animal0','city','state','code');else
fields=new Array('name','email','pass1');var status=validateObject(fields);status=status&validateEmail('email');if(!validateLength('pass1',5,16))
{status=false;failField('pass1');}
status=status&validatePassword('pass1','pass2');return status;}
function validateLogin()
{var fields=new Array('email','pass');var status=validateObject(fields);status=status&validateEmail('email');return status;}
function validateOrder()
{var fields=new Array('quantity');var status=validateObject(fields);status=status&validateNumeric(new Array('quantity'));return status;}
function validateProduct()
{var fields=new Array('name','price');var status=validateObject(fields);status=status&validateNumeric(new Array('price'));return status;}
function validateProfile()
{var fields=new Array('city','state');var status=validateObject(fields);if($v('pass1'))
{if(!validateLength('pass1',5,16))
{status=false;failField('pass1');}
status=status&validatePassword('pass1','pass2');}
return status;}
function validatePRemind()
{var fields=new Array('email','email2','code');var status=validateObject(fields);status=status&validateEqual('email','email2');return status;}
function validatePReset()
{var fields=new Array('pass1','pass2');var status=validateObject(fields);if(!validateLength('pass1',5,16))
{status=false;failField('pass1');}
status=status&validatePassword('pass1','pass2');return status;}
function validateFeedback()
{var fields=new Array('name','email','subject','message');if($e('code'))
fields[fields.length]='code';var status=validateObject(fields);status=status&validateEmail('email');return status;}
function searchItems()
{if(validateObject(new Array('search')))
{$e(paging_cpage).innerHTML='Search Results &nbsp; &bull; <a href="javascript:$e(\'search\').value=\'\';pagingForceReload();">Show All</a>';var url=paging_url+'0'+'&search='+$v('search');pagingReload(url);}}
function addToOrder(product)
{tajax('content/popups/addproduct.php',null,updateObject);}
function showanimals(id)
{var url='content/utils/animal.php?id='+id;tajax(url,null,animal);}
function animal(response)
{$e('animals').innerHTML=response.responseText;updateNewOrderButtons();}
function updateNewOrderButtons()
{if($e('animal'))
{$e('saveorder').disabled=null;$e('revieworder').disabled=null;$e('saveorder').className='btn2';$e('revieworder').className='btn2';$e('noanimal').style.display='none';}
else
{$e('saveorder').disabled=true;$e('revieworder').disabled=true;$e('saveorder').className='btn1';$e('revieworder').className='btn1';$e('noanimal').style.display='';}}
function showAddress(show)
{if(show)
$e('newaddress').style.display="";else
$e('newaddress').style.display="none";}
function showProductDescription(id,e)
{if(!$e('details'+id))
$e('details').innerHTML='No Description';else{var html=$e('details'+id).innerHTML;if(html)
$e('details').innerHTML=html;else
$e('details').innerHTML='No Description';}
$e('details').innerHTML='<div align="right">Esc to <a href="javascript:hidescreen();">close</a></div><br />'+$e('details').innerHTML;screen('details',1);};var pages=0;var curpage=0;var paging_url=null;var paging_divc=null;var paging_div='paging';var paging_cpage='curpage';function pagingFirst()
{if(curpage==0)
return;$e(paging_cpage).innerHTML="Page 1 of "+pages;var url=paging_url+"0";curpage=0;pagingReload(url);}
function pagingPrev()
{if(curpage>0)
{curpage=parseInt(curpage)-1;$e(paging_cpage).innerHTML="Page "+(parseInt(curpage)+1)+" of "+pages;var url=paging_url+curpage;pagingReload(url);}}
function pagingNext()
{if(curpage<(pages-1))
{curpage=parseInt(curpage)+1;$e(paging_cpage).innerHTML="Page "+(parseInt(curpage)+1)+" of "+pages;var url=paging_url+curpage;pagingReload(url);}}
function pagingLast()
{var newpage=parseInt(parseInt(pages)-parseInt(1));if(curpage==newpage)
return;curpage=newpage;$e(paging_cpage).innerHTML="Page "+pages+" of "+pages;var url=paging_url+curpage;pagingReload(url);}
function pagingForceReload()
{if($e(paging_cpage))
$e(paging_cpage).innerHTML="Page "+(parseInt(curpage)+1)+" of "+pages;var url=paging_url+'0';pagingReload(url);}
function pagingReload(url)
{if($e(paging_divc))
$e(paging_divc).innerHTML="Loading ...";var frmPaging=new DHTMLSuite.form({formRef:"frmPaging",action:url,responseEl:paging_divc});frmPaging.submit();}
function initPaging(div)
{var x='';if(pages)
{if(pages==1)
x+='<div class="paging" id="paging"><span id="curpage">Page 1 of '+pages+'</span>&nbsp;&nbsp;</div>';else
{x+='<div class="paging" id="paging"> \
 <a href="javascript:void(0);" onclick="javascript:pagingFirst();">&laquo;</a> \
 <a href="javascript:void(0);" onclick="javascript:pagingPrev();">&lsaquo;</a> \
 <span id="curpage">Page 1 of '+pages+'</span> \
 <a href="javascript:void(0);" onclick="javascript:pagingNext();">&rsaquo;</a> \
 <a href="javascript:void(0);" onclick="javascript:pagingLast();">&raquo;</a> \
</div>';}}
else
x+='<div class="paging" id="paging"><span id="curpage"> </span>&nbsp;&nbsp;</div>';x+='<form id="frmPaging" name="frmPaging"></form>';if(div)
$e(div).innerHTML=x;else
document.write(x);};function sack(file){this.xmlhttp=null;this.resetData=function(){this.method="POST";this.queryStringSeparator="?";this.argumentSeparator="&";this.URLString="";this.encodeURIString=true;this.execute=false;this.element=null;this.elementObj=null;this.requestFile=file;this.vars=new Object();this.responseStatus=new Array(2);};this.resetFunctions=function(){this.onLoading=function(){};this.onLoaded=function(){};this.onInteractive=function(){};this.onCompletion=function(){};this.onError=function(){};this.onFail=function(){};};this.reset=function(){this.resetFunctions();this.resetData();};this.createAJAX=function(){try{this.xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");}catch(e1){try{this.xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");}catch(e2){this.xmlhttp=null;}}
if(!this.xmlhttp){if(typeof XMLHttpRequest!="undefined"){this.xmlhttp=new XMLHttpRequest();}else{this.failed=true;}}};this.setVar=function(name,value){this.vars[name]=Array(value,false);};this.encVar=function(name,value,returnvars){if(true==returnvars){return Array(encodeURIComponent(name),encodeURIComponent(value));}else{this.vars[encodeURIComponent(name)]=Array(encodeURIComponent(value),true);}}
this.processURLString=function(string,encode){encoded=encodeURIComponent(this.argumentSeparator);regexp=new RegExp(this.argumentSeparator+"|"+encoded);varArray=string.split(regexp);for(i=0;i<varArray.length;i++){urlVars=varArray[i].split("=");if(true==encode){this.encVar(urlVars[0],urlVars[1]);}else{this.setVar(urlVars[0],urlVars[1]);}}}
this.createURLString=function(urlstring){if(this.encodeURIString&&this.URLString.length){this.processURLString(this.URLString,true);}
if(urlstring){if(this.URLString.length){this.URLString+=this.argumentSeparator+urlstring;}else{this.URLString=urlstring;}}
this.setVar("rndval",new Date().getTime());urlstringtemp=new Array();for(key in this.vars){if(false==this.vars[key][1]&&true==this.encodeURIString){encoded=this.encVar(key,this.vars[key][0],true);delete this.vars[key];this.vars[encoded[0]]=Array(encoded[1],true);key=encoded[0];}
urlstringtemp[urlstringtemp.length]=key+"="+this.vars[key][0];}
if(urlstring){this.URLString+=this.argumentSeparator+urlstringtemp.join(this.argumentSeparator);}else{this.URLString+=urlstringtemp.join(this.argumentSeparator);}}
this.runResponse=function(){eval(this.response);}
this.runAJAX=function(urlstring){if(this.failed){this.onFail();}else{this.createURLString(urlstring);if(this.element){this.elementObj=document.getElementById(this.element);}
if(this.xmlhttp){var self=this;if(this.method=="GET"){totalurlstring=this.requestFile+this.queryStringSeparator+this.URLString;this.xmlhttp.open(this.method,totalurlstring,true);}else{this.xmlhttp.open(this.method,this.requestFile,true);try{this.xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded")}catch(e){}}
this.xmlhttp.onreadystatechange=function(){switch(self.xmlhttp.readyState){case 1:self.onLoading();break;case 2:self.onLoaded();break;case 3:self.onInteractive();break;case 4:self.response=self.xmlhttp.responseText;self.responseXML=self.xmlhttp.responseXML;self.responseStatus[0]=self.xmlhttp.status;self.responseStatus[1]=self.xmlhttp.statusText;if(self.execute){self.runResponse();}
if(self.elementObj){elemNodeName=self.elementObj.nodeName;elemNodeName=elemNodeName.toLowerCase();if(elemNodeName=="input"||elemNodeName=="select"||elemNodeName=="option"||elemNodeName=="textarea"){self.elementObj.value=self.response;}else{self.elementObj.innerHTML=self.response;}}
if(self.responseStatus[0]=="200"){self.onCompletion();}else{self.onError();}
self.URLString="";delete self.xmlhttp['onreadystatechange'];self.xmlhttp=null;self.responseStatus=null;self.response=null;self.responseXML=null;break;}};this.xmlhttp.send(this.URLString);}}};this.reset();this.createAJAX();};;var DHTMLSuite=new Object();DHTMLSuite.formUtil=function()
{}
DHTMLSuite.getEl=function(elRef){if(typeof elRef=='string'){if(document.getElementById(elRef))return document.getElementById(elRef);if(document.forms[elRef])return document.forms[elRef];if(document[elRef])return document[elRef];if(window[elRef])return window[elRef];}
return elRef;}
DHTMLSuite.formUtil.prototype={getFamily:function(el,formRef)
{var els=formRef.elements;var retArray=new Array();for(var no=0;no<els.length;no++){if(els[no].name==el.name)retArray[retArray.length]=els[no];}
return retArray;},hasFileInputs:function(formRef)
{var els=formRef.elements;for(var no=0;no<els.length;no++){if(els[no].tagName.toLowerCase()=='input'&&els[no].type.toLowerCase()=='file')return true;}
return false;},getValuesAsArray:function(formRef)
{var retArray=new Object();formRef=DHTMLSuite.getEl(formRef);var els=formRef.elements;for(var no=0;no<els.length;no++){if(els[no].disabled)continue;var tag=els[no].tagName.toLowerCase();switch(tag){case"input":var type=els[no].type.toLowerCase();if(!type)type='text';switch(type){case"text":case"image":case"hidden":case"password":retArray[els[no].name]=els[no].value;break;case"checkbox":var boxes=this.getFamily(els[no],formRef);if(boxes.length>1){retArray[els[no].name]=new Array();for(var no2=0;no2<boxes.length;no2++){if(boxes[no2].checked){var index=retArray[els[no].name].length;retArray[els[no].name][index]=boxes[no2].value;}}}else{if(els[no].checked)retArray[els[no].name]=els[no].value;}
break;case"radio":if(els[no].checked)retArray[els[no].name]=els[no].value;break;}
break;case"select":var string='';var mult=els[no].getAttribute('multiple');if(mult||mult===''){retArray[els[no].name]=new Array();for(var no2=0;no2<els[no].options.length;no2++){var index=retArray[els[no].name].length;if(els[no].options[no2].selected)retArray[els[no].name][index]=els[no].options[no2].value;}}else{retArray[els[no].name]=els[no].options[els[no].selectedIndex].value;}
break;case"textarea":retArray[els[no].name]=els[no].value;break;}}
return retArray;},getValue:function(formEl)
{switch(formEl.tagName.toLowerCase()){case"input":case"textarea":return formEl.value;case"select":return formEl.options[formEl.selectedIndex].value;}},areEqual:function(input1,input2)
{input1=DHTMLSuite.getEl(input1);input2=DHTMLSuite.getEl(input2);if(this.getValue(input1)==this.getValue(input2))return true;return false;}}
DHTMLSuite.variableStorage=new Object();DHTMLSuite.variableStorage.arrayDSObjects=new Array();DHTMLSuite.form=function(propArray)
{var formRef;var method;var responseEl;var action;var responseFile;var formUtil;var objectIndex;var sackObj;var coverDiv;var layoutCSS;var iframeName;this.method='POST';this.sackObj=new Array();this.formUtil=new DHTMLSuite.formUtil();this.layoutCSS='form.css';this.objectIndex=DHTMLSuite.variableStorage.arrayDSObjects.length;DHTMLSuite.variableStorage.arrayDSObjects[this.objectIndex]=this;if(propArray)this.__setInitProperties(propArray);}
DHTMLSuite.form.prototype={submit:function()
{this.__createCoverDiv();var index=this.sackObj.length;if(this.formUtil.hasFileInputs(this.formRef)){this.__createIframe();this.formRef.submit();}else{this.__createSackObject(index);this.__populateSack(index);this.sackObj[index].runAJAX();}
this.__positionCoverDiv();return false;},__createIframe:function()
{if(this.iframeName)return;var ind=this.objectIndex;var div=document.createElement('DIV');document.body.appendChild(div);this.iframeName='DHTMLSuiteForm'+this.getUniqueId();div.innerHTML='<iframe style="visibility:hidden;width:5px;height:5px" id="'+this.iframeName+'" name="'+this.iframeName+'" onload="parent.DHTMLSuite.variableStorage.arrayDSObjects['+ind+'].__getIframeResponse()"></iframe>';this.formRef.method=this.method;this.formRef.action=this.action;this.formRef.target=this.iframeName;if(!this.formRef.enctype)this.formRef.enctype='multipart/form-data';},getUniqueId:function()
{var no=Math.random()+'';no=no.replace('.','');var no2=Math.random()+'';no2=no2.replace('.','');return no+no2;},__getIframeResponse:function()
{if(this.responseEl){if(this.responseFile){if(!this.responseEl.id)this.responseEl.id='DHTMLSuite_formResponse'+DHTMLSuite.getUniqueId();var dynContent=new DHTMLSuite.dynamicContent();dynContent.loadContent(this.responseEl.id,this.responseFile);}else{this.responseEl.innerHTML=self.frames[this.iframeName].document.body.innerHTML;this.__evaluateJs(this.responseEl);this.__evaluateCss(this.responseEl);}}
this.coverDiv.style.display='none';this.__handleCallback('onComplete');},__positionCoverDiv:function()
{if(!this.responseEl)return;try{var st=this.coverDiv.style;st.display='block';}catch(e){}},__createCoverDiv:function()
{if(this.coverDiv)return;this.coverDiv=document.createElement('DIV');var el=this.coverDiv;el.style.overflow='hidden';el.style.zIndex=1000;el.style.position='absolute';el.className='DHTMLSuite_formCoverDiv';document.body.appendChild(el);var innerDiv=document.createElement('DIV');innerDiv.style.width='105%';innerDiv.style.height='105%';innerDiv.className='DHTMLSuite_formCoverDivInner';innerDiv.style.opacity='0.2';innerDiv.style.filter='alpha(opacity=20)';el.appendChild(innerDiv);var ajaxLoad=document.createElement('DIV');ajaxLoad.className='DHTMLSuite_formCoverDiv_ajaxLoader';el.appendChild(ajaxLoad);},__createSackObject:function(ajaxIndex)
{var ind=this.objectIndex;this.sackObj[ajaxIndex]=new sack();this.sackObj[ajaxIndex].requestFile=this.action;this.sackObj[ajaxIndex].method=this.method;this.sackObj[ajaxIndex].onCompletion=function(){DHTMLSuite.variableStorage.arrayDSObjects[ind].__getResponse(ajaxIndex);}},__getResponse:function(ajaxIndex)
{if(this.responseEl){if(this.responseFile){if(!this.responseEl.id)this.responseEl.id='DHTMLSuite_formResponse'+DHTMLSuite.getUniqueId();var dynContent=new DHTMLSuite.dynamicContent();dynContent.loadContent(this.responseEl.id,this.responseFile);}else{this.responseEl.innerHTML=this.sackObj[ajaxIndex].response;this.__evaluateJs(this.responseEl);this.__evaluateCss(this.responseEl);}}
this.coverDiv.style.display='none';this.sackObj[ajaxIndex]=null;this.__handleCallback('onComplete');},isArray:function(el)
{if(el.constructor.toString().indexOf("Array")!=-1)return true;return false;},__populateSack:function(ajaxIndex)
{var els=this.formUtil.getValuesAsArray(this.formRef);for(var prop in els){if(this.isArray(els[prop])){for(var no=0;no<els[prop].length;no++){var name=prop+'['+no+']';if(prop.indexOf('[')>=0){name=prop.replace('[','['+no);}
this.sackObj[ajaxIndex].setVar(name,els[prop][no]);}}else{this.sackObj[ajaxIndex].setVar(prop,els[prop]);}}},__setInitProperties:function(props)
{if(props.formRef)this.formRef=DHTMLSuite.getEl(props.formRef);if(props.method)this.method=props.method;if(props.responseEl)this.responseEl=DHTMLSuite.getEl(props.responseEl);if(props.action)this.action=props.action;if(props.responseFile)this.responseFile=props.responseFile;if(props.callbackOnComplete)this.callbackOnComplete=props.callbackOnComplete;if(!this.action)this.action=this.formRef.action;if(!this.method)this.method=this.formRef.method;},__handleCallback:function(action)
{var callbackString='';switch(action){case"onComplete":callbackString=this.callbackOnComplete;break;}
if(callbackString){if(callbackString.indexOf('(')==-1)callbackString=callbackString+'("'+this.formRef.name+'")';eval(callbackString);}},__evaluateJs:function(obj)
{obj=DHTMLSuite.getEl(obj);var scriptTags=obj.getElementsByTagName('script');var string='';var jsCode='';for(var no=0;no<scriptTags.length;no++){if(scriptTags[no].src){var head=document.getElementsByTagName("head")[0];var scriptObj=document.createElement("script");scriptObj.setAttribute("type","text/javascript");scriptObj.setAttribute("src",scriptTags[no].src);}else{if(DHTMLSuite.clientInfoObj&&DHTMLSuite.clientInfoObj.isOpera){jsCode=jsCode+scriptTags[no].text+'\n';}
else
jsCode=jsCode+scriptTags[no].innerHTML;}}
if(jsCode)this.__installScript(jsCode);},__installScript:function(script)
{try{if(!script)
return;if(window.execScript){window.execScript(script)}else if(window.jQuery&&jQuery.browser.safari){window.setTimeout(script,0);}else{window.setTimeout(script,0);}}catch(e){}},__evaluateCss:function(obj)
{obj=DHTMLSuite.getEl(obj);var cssTags=obj.getElementsByTagName('STYLE');var head=document.getElementsByTagName('HEAD')[0];for(var no=0;no<cssTags.length;no++){head.appendChild(cssTags[no]);}},getLeftPos:function(el)
{if(document.getBoxObjectFor){if(el.tagName!='INPUT'&&el.tagName!='SELECT'&&el.tagName!='TEXTAREA')return document.getBoxObjectFor(el).x}
var returnValue=el.offsetLeft;while((el=el.offsetParent)!=null){if(el.tagName!='HTML'){returnValue+=el.offsetLeft;if(document.all)returnValue+=el.clientLeft;}}
return returnValue;},getTopPos:function(el)
{if(document.getBoxObjectFor){if(el.tagName!='INPUT'&&el.tagName!='SELECT'&&el.tagName!='TEXTAREA')return document.getBoxObjectFor(el).y}
var returnValue=el.offsetTop;while((el=el.offsetParent)!=null){if(el.tagName!='HTML'){returnValue+=(el.offsetTop-el.scrollTop);if(document.all)returnValue+=el.clientTop;}}
return returnValue;}};