
/* Merged Plone Javascript file
 * This file is dynamically assembled from separate parts.
 * Some of these parts have 3rd party licenses or copyright information attached
 * Such information is valid for that section,
 * not for the entire composite file
 * originating files are separated by - filename.js -
 */

/* - ++resource++thickbox.js - */
// http://www.addiction-treatment-centers.com/portal_javascripts/++resource++thickbox.js?original=1
var tb_pathToImage="spinner.gif";jq(document).ready(function(){imgLoader=new Image();imgLoader.src=tb_pathToImage;jq('body').intercept('click',{'a.pop-image img': function(e){var image=jq(this).parents('a').get(0);var t=jq(image).attr('title')||jq(image).attr('name')||null;var a=jq(image).attr('href')||jq(image).attr('alt');var g=jq(image).attr('rel')||false;tb_show(t,a,g);this.blur();e.preventDefault()}})})
function tb_remove(){jq("#TB_imageOff").unbind("click");jq("#TB_closeWindowButton").unbind("click");jq('#TB_window,#TB_overlay,#TB_HideSelect').trigger("unload").unbind().remove();jq("#TB_load").remove();if(typeof document.body.style.maxHeight=="undefined"){jq("body","html").css({height:"auto",width:"auto"});jq("html").css("overflow","")}
document.onkeydown="";document.onkeyup="";return false}
function tb_show(caption,url,imageGroup){tb_remove()
try{if(typeof document.body.style.maxHeight==="undefined"){jq("body","html").css({height:"100%",width:"100%"});jq("html").css("overflow","hidden");if(document.getElementById("TB_HideSelect")===null){jq("body").append("<iframe id='TB_HideSelect'></iframe><div id='TB_overlay'></div><div id='TB_window'></div>");jq("#TB_overlay").click(tb_remove)}}else{if(document.getElementById("TB_overlay")===null){jq("body").append("<div id='TB_overlay'></div><div id='TB_window'></div>");jq("#TB_overlay").click(tb_remove)}}
if(caption===null){caption=""}
jq("body").append("<div id='TB_load'><img src='"+imgLoader.src+"' /></div>");jq('#TB_load').show();var baseURL;if(url.indexOf("?")!==-1){baseURL=url.substr(0,url.indexOf("?"))}else{baseURL=url}
var urlString=/\.jpg$|\.jpeg$|\.png$|\.gif$|\.bmp$/;var urlType=baseURL.toLowerCase().match(urlString);if(1){TB_PrevCaption="";TB_PrevURL="";TB_PrevHTML="";TB_NextCaption="";TB_NextURL="";TB_NextHTML="";TB_imageCount="";TB_FoundURL=false;if(imageGroup){TB_TempArray=jq("a[@rel="+imageGroup+"]").get();for(TB_Counter=0;((TB_Counter<TB_TempArray.length)&&(TB_NextHTML===""));TB_Counter++){var urlTypeTemp=TB_TempArray[TB_Counter].href.toLowerCase().match(urlString);if(!(TB_TempArray[TB_Counter].href==url)){if(TB_FoundURL){TB_NextCaption=TB_TempArray[TB_Counter].title;TB_NextURL=TB_TempArray[TB_Counter].href;TB_NextHTML="<span id='TB_next'>&nbsp;&nbsp;<a href='#'><strong>&#8594;</strong></a></span>"} else{TB_PrevCaption=TB_TempArray[TB_Counter].title;TB_PrevURL=TB_TempArray[TB_Counter].href;TB_PrevHTML="<span id='TB_prev'><a href='#'><strong>&#8592;</strong></a></span>&nbsp;&nbsp;"}} else{TB_FoundURL=true;TB_imageCount=(TB_Counter+1)+"/"+(TB_TempArray.length)}}}
imgPreloader=new Image();imgPreloader.onload=function(){imgPreloader.onload=null;var pagesize=tb_getPageSize();var x=pagesize[0]-150;var y=pagesize[1]-150;var imageWidth=imgPreloader.width;var imageHeight=imgPreloader.height;if(imageWidth>x){imageHeight=imageHeight *(x/imageWidth);imageWidth=x;if(imageHeight>y){imageWidth=imageWidth *(y/imageHeight);imageHeight=y}} else if(imageHeight>y){imageWidth=imageWidth *(y/imageHeight);imageHeight=y;if(imageWidth>x){imageHeight=imageHeight *(x/imageWidth);imageWidth=x}}
TB_WIDTH=imageWidth+30;TB_HEIGHT=imageHeight+60;jq("#TB_window").append("<a href='' id='TB_ImageOff' title='Close'><img id='TB_Image' src='"+url+"' width='"+imageWidth+"' height='"+imageHeight+"' alt='"+caption+"'/></a>"+"<div id='TB_caption'>"+caption+"<div id='TB_secondLine'>"+TB_PrevHTML+TB_imageCount+TB_NextHTML+"</div></div><div id='TB_closeWindow'><a href='#' id='TB_closeWindowButton' title='Close'><strong>X</strong></a></div>");jq("#TB_closeWindowButton").click(tb_remove);if(!(TB_PrevHTML==="")){
function goPrev(){if(jq(document).unbind("click",goPrev)){jq(document).unbind("click",goPrev)}
jq("#TB_window").remove();jq("body").append("<div id='TB_window'></div>");tb_show(TB_PrevCaption,TB_PrevURL,imageGroup);return false}
jq("#TB_prev").click(goPrev)}
if(!(TB_NextHTML==="")){
function goNext(){jq("#TB_window").remove();jq("body").append("<div id='TB_window'></div>");tb_show(TB_NextCaption,TB_NextURL,imageGroup);return false}
jq("#TB_next").click(goNext)}
document.onkeydown=function(e){if(e==null){keycode=event.keyCode} else{keycode=e.which}
if(keycode==27){tb_remove()} else if(keycode==190){if(!(TB_NextHTML=="")){document.onkeydown="";goNext()}} else if(keycode==188){if(!(TB_PrevHTML=="")){document.onkeydown="";goPrev()}}};tb_position();jq("#TB_load").remove();jq("#TB_ImageOff").click(tb_remove);jq("#TB_window").css({display:"block"})};imgPreloader.src=url}else{var queryString=url.replace(/^[^\?]+\??/,'');var params=tb_parseQuery(queryString);TB_WIDTH=(params['width']*1)+30||630;TB_HEIGHT=(params['height']*1)+40||440;ajaxContentW=TB_WIDTH-30;ajaxContentH=TB_HEIGHT-45;if(url.indexOf('TB_iframe')!=-1){urlNoQuery=url.split('TB_');jq("#TB_iframeContent").remove();if(params['modal']!="true"){jq("#TB_window").append("<div id='TB_title'><div id='TB_ajaxWindowTitle'>"+caption+"</div><div id='TB_closeAjaxWindow'><a href='#' id='TB_closeWindowButton' title='Close'>close</a> or Esc Key</div></div><iframe frameborder='0' hspace='0' src='"+urlNoQuery[0]+"' id='TB_iframeContent' name='TB_iframeContent"+Math.round(Math.random()*1000)+"' onload='tb_showIframe()' style='width:"+(ajaxContentW+29)+"px;height:"+(ajaxContentH+17)+"px;' > </iframe>")}else{jq("#TB_overlay").unbind();jq("#TB_window").append("<iframe frameborder='0' hspace='0' src='"+urlNoQuery[0]+"' id='TB_iframeContent' name='TB_iframeContent"+Math.round(Math.random()*1000)+"' onload='tb_showIframe()' style='width:"+(ajaxContentW+29)+"px;height:"+(ajaxContentH+17)+"px;'> </iframe>")}}else{if(jq("#TB_window").css("display")!="block"){if(params['modal']!="true"){jq("#TB_window").append("<div id='TB_title'><div id='TB_ajaxWindowTitle'>"+caption+"</div><div id='TB_closeAjaxWindow'><a href='#' id='TB_closeWindowButton'><strong>X</strong></a></div></div><div id='TB_ajaxContent' style='width:"+ajaxContentW+"px;height:"+ajaxContentH+"px'></div>")}else{jq("#TB_overlay").unbind();jq("#TB_window").append("<div id='TB_ajaxContent' class='TB_modal' style='width:"+ajaxContentW+"px;height:"+ajaxContentH+"px;'></div>")}}else{jq("#TB_ajaxContent")[0].style.width=ajaxContentW+"px";jq("#TB_ajaxContent")[0].style.height=ajaxContentH+"px";jq("#TB_ajaxContent")[0].scrollTop=0;jq("#TB_ajaxWindowTitle").html(caption)}}
jq("#TB_closeWindowButton").click(tb_remove);if(url.indexOf('TB_inline')!=-1){jq("#TB_ajaxContent").append(jq('#'+params['inlineId']).children());jq("#TB_window").unload(function(){jq('#'+params['inlineId']).append(jq("#TB_ajaxContent").children())});tb_position();jq("#TB_load").remove();jq("#TB_window").css({display:"block"})}else if(url.indexOf('TB_iframe')!=-1){tb_position();if(jq.browser.safari){jq("#TB_load").remove();jq("#TB_window").css({display:"block"})}}else{jq("#TB_ajaxContent").load(url+="&random="+(new Date().getTime()),function(){tb_position();jq("#TB_load").remove();tb_init("#TB_ajaxContent a.thickbox");jq("#TB_window").css({display:"block"})})}}
if(!params['modal']){document.onkeyup=function(e){if(e==null){keycode=event.keyCode} else{keycode=e.which}
if(keycode==27){tb_remove()}}}} catch(e){}}
function tb_showIframe(){jq("#TB_load").remove();jq("#TB_window").css({display:"block"})}
function tb_position(){jq("#TB_window").css({marginLeft:'-'+parseInt((TB_WIDTH/2),10)+'px',width:TB_WIDTH+'px'});if(!(jQuery.browser.msie&&jQuery.browser.version<7)){jq("#TB_window").css({marginTop:'-'+parseInt((TB_HEIGHT/2),10)+'px'})}}
function tb_parseQuery(query){var Params={};if(!query){return Params}
var Pairs=query.split(/[;&]/);for(var i=0;i<Pairs.length;i++){var KeyVal=Pairs[i].split('=');if(!KeyVal||KeyVal.length!=2){continue}
var key=unescape(KeyVal[0]);var val=unescape(KeyVal[1]);val=val.replace(/\+/g,' ');Params[key]=val}
return Params}
function tb_getPageSize(){var de=document.documentElement;var w=window.innerWidth||self.innerWidth||(de&&de.clientWidth)||document.body.clientWidth;var h=window.innerHeight||self.innerHeight||(de&&de.clientHeight)||document.body.clientHeight;arrayPageSize=[w,h];return arrayPageSize}


/* - adjustIFrameSize.js - */
// http://www.addiction-treatment-centers.com/portal_javascripts/adjustIFrameSize.js?original=1
function adjustIFrameSize(iframeWindow){if(iframeWindow.document.height){var iframeElement=document.getElementById(iframeWindow.name);iframeElement.style.height=iframeWindow.document.height+20+'px'} else if(document.all){var iframeElement=document.all[iframeWindow.name];if(iframeWindow.document.compatMode&&iframeWindow.document.compatMode!='BackCompat'){iframeElement.style.height=iframeWindow.document.documentElement.scrollHeight+20+'px'} else{iframeElement.style.height=iframeWindow.document.body.scrollHeight+20+'px'}}}

/* - jquery.form.js - */
// http://www.addiction-treatment-centers.com/portal_javascripts/jquery.form.js?original=1
(function($){$.fn.ajaxSubmit=function(options){if(typeof options=='function')
options={success:options};options=$.extend({url:this.attr('action')||window.location.toString(),type:this.attr('method')||'GET'},options||{});var veto={};this.trigger('form-pre-serialize',[this,options,veto]);if(veto.veto) return this;var a=this.formToArray(options.semantic);if(options.data){options.extraData=options.data;for(var n in options.data)
a.push({name:n,value:options.data[n]})}
if(options.beforeSubmit&&options.beforeSubmit(a,this,options)===false) return this;this.trigger('form-submit-validate',[a,this,options,veto]);if(veto.veto) return this;var q=$.param(a);if(options.type.toUpperCase()=='GET'){options.url+=(options.url.indexOf('?')>=0?'&':'?')+q;options.data=null}
else
options.data=q;var $form=this,callbacks=[];if(options.resetForm) callbacks.push(function(){$form.resetForm()});if(options.clearForm) callbacks.push(function(){$form.clearForm()});if(!options.dataType&&options.target){var oldSuccess=options.success|| function(){};callbacks.push(function(data){$(options.target).html(data).each(oldSuccess,arguments)})}
else if(options.success)
callbacks.push(options.success);options.success=function(data,status){for(var i=0,max=callbacks.length;i<max;i++)
callbacks[i](data,status,$form)};var files=$('input:file',this).fieldValue();var found=false;for(var j=0;j<files.length;j++)
if(files[j])
found=true;if(options.iframe||found){if($.browser.safari&&options.closeKeepAlive)
$.get(options.closeKeepAlive,fileUpload);else
fileUpload()}
else
$.ajax(options);this.trigger('form-submit-notify',[this,options]);return this;
function fileUpload(){var form=$form[0];var opts=$.extend({},$.ajaxSettings,options);var id='jqFormIO'+(new Date().getTime());var $io=$('<iframe id="'+id+'" name="'+id+'" />');var io=$io[0];var op8=$.browser.opera&&window.opera.version()<9;if($.browser.msie||op8) io.src='javascript:false;document.write("");';$io.css({position:'absolute',top:'-1000px',left:'-1000px'});var xhr={responseText:null,responseXML:null,status:0,statusText:'n/a',getAllResponseHeaders: function(){},getResponseHeader: function(){},setRequestHeader: function(){}};var g=opts.global;if(g&&!$.active++) $.event.trigger("ajaxStart");if(g) $.event.trigger("ajaxSend",[xhr,opts]);var cbInvoked=0;var timedOut=0;setTimeout(function(){var t=$form.attr('target'),a=$form.attr('action');$form.attr({target:id,encoding:'multipart/form-data',enctype:'multipart/form-data',method:'POST',action:opts.url});if(opts.timeout)
setTimeout(function(){timedOut=true;cb()},opts.timeout);var extraInputs=[];try{if(options.extraData)
for(var n in options.extraData)
extraInputs.push($('<input type="hidden" name="'+n+'" value="'+options.extraData[n]+'" />').appendTo(form)[0]);$io.appendTo('body');io.attachEvent?io.attachEvent('onload',cb):io.addEventListener('load',cb,false);form.submit()}
finally{$form.attr('action',a);t?$form.attr('target',t):$form.removeAttr('target');$(extraInputs).remove()}},10);
function cb(){if(cbInvoked++) return;io.detachEvent?io.detachEvent('onload',cb):io.removeEventListener('load',cb,false);var ok=true;try{if(timedOut) throw 'timeout';var data,doc;doc=io.contentWindow?io.contentWindow.document:io.contentDocument?io.contentDocument:io.document;xhr.responseText=doc.body?doc.body.innerHTML:null;xhr.responseXML=doc.XMLDocument?doc.XMLDocument:doc;xhr.getResponseHeader=function(header){var headers={'content-type':opts.dataType};return headers[header]};if(opts.dataType=='json'||opts.dataType=='script'){var ta=doc.getElementsByTagName('textarea')[0];xhr.responseText=ta?ta.value:xhr.responseText}
else if(opts.dataType=='xml'&&!xhr.responseXML&&xhr.responseText!=null){xhr.responseXML=toXml(xhr.responseText)}
data=$.httpData(xhr,opts.dataType)}
catch(e){ok=false;$.handleError(opts,xhr,'error',e)}
if(ok){opts.success(data,'success');if(g) $.event.trigger("ajaxSuccess",[xhr,opts])}
if(g) $.event.trigger("ajaxComplete",[xhr,opts]);if(g&&!--$.active) $.event.trigger("ajaxStop");if(opts.complete) opts.complete(xhr,ok?'success':'error');setTimeout(function(){$io.remove();xhr.responseXML=null},100)};
function toXml(s,doc){if(window.ActiveXObject){doc=new ActiveXObject('Microsoft.XMLDOM');doc.async='false';doc.loadXML(s)}
else
doc=(new DOMParser()).parseFromString(s,'text/xml');return(doc&&doc.documentElement&&doc.documentElement.tagName!='parsererror')?doc:null}}};$.fn.ajaxForm=function(options){return this.ajaxFormUnbind().bind('submit.form-plugin',function(){$(this).ajaxSubmit(options);return false}).each(function(){$(":submit,input:image",this).bind('click.form-plugin',function(e){var $form=this.form;$form.clk=this;if(this.type=='image'){if(e.offsetX!=undefined){$form.clk_x=e.offsetX;$form.clk_y=e.offsetY} else if(typeof $.fn.offset=='function'){var offset=$(this).offset();$form.clk_x=e.pageX-offset.left;$form.clk_y=e.pageY-offset.top} else{$form.clk_x=e.pageX-this.offsetLeft;$form.clk_y=e.pageY-this.offsetTop}}
setTimeout(function(){$form.clk=$form.clk_x=$form.clk_y=null},10)})})};$.fn.ajaxFormUnbind=function(){this.unbind('submit.form-plugin');return this.each(function(){$(":submit,input:image",this).unbind('click.form-plugin')})};$.fn.formToArray=function(semantic){var a=[];if(this.length==0) return a;var form=this[0];var els=semantic?form.getElementsByTagName('*'):form.elements;if(!els) return a;for(var i=0,max=els.length;i<max;i++){var el=els[i];var n=el.name;if(!n) continue;if(semantic&&form.clk&&el.type=="image"){if(!el.disabled&&form.clk==el)
a.push({name:n+'.x',value:form.clk_x},{name:n+'.y',value:form.clk_y});continue}
var v=$.fieldValue(el,true);if(v&&v.constructor==Array){for(var j=0,jmax=v.length;j<jmax;j++)
a.push({name:n,value:v[j]})}
else if(v!==null&&typeof v!='undefined')
a.push({name:n,value:v})}
if(!semantic&&form.clk){var inputs=form.getElementsByTagName("input");for(var i=0,max=inputs.length;i<max;i++){var input=inputs[i];var n=input.name;if(n&&!input.disabled&&input.type=="image"&&form.clk==input)
a.push({name:n+'.x',value:form.clk_x},{name:n+'.y',value:form.clk_y})}}
return a};$.fn.formSerialize=function(semantic){return $.param(this.formToArray(semantic))};$.fn.fieldSerialize=function(successful){var a=[];this.each(function(){var n=this.name;if(!n) return;var v=$.fieldValue(this,successful);if(v&&v.constructor==Array){for(var i=0,max=v.length;i<max;i++)
a.push({name:n,value:v[i]})}
else if(v!==null&&typeof v!='undefined')
a.push({name:this.name,value:v})});return $.param(a)};$.fn.fieldValue=function(successful){for(var val=[],i=0,max=this.length;i<max;i++){var el=this[i];var v=$.fieldValue(el,successful);if(v===null||typeof v=='undefined'||(v.constructor==Array&&!v.length))
continue;v.constructor==Array?$.merge(val,v):val.push(v)}
return val};$.fieldValue=function(el,successful){var n=el.name,t=el.type,tag=el.tagName.toLowerCase();if(typeof successful=='undefined') successful=true;if(successful&&(!n||el.disabled||t=='reset'||t=='button'||(t=='checkbox'||t=='radio')&&!el.checked||(t=='submit'||t=='image')&&el.form&&el.form.clk!=el||tag=='select'&&el.selectedIndex==-1))
return null;if(tag=='select'){var index=el.selectedIndex;if(index<0) return null;var a=[],ops=el.options;var one=(t=='select-one');var max=(one?index+1:ops.length);for(var i=(one?index:0);i<max;i++){var op=ops[i];if(op.selected){var v=$.browser.msie&&!(op.attributes['value'].specified)?op.text:op.value;if(one) return v;a.push(v)}}
return a}
return el.value};$.fn.clearForm=function(){return this.each(function(){$('input,select,textarea',this).clearFields()})};$.fn.clearFields=$.fn.clearInputs=function(){return this.each(function(){var t=this.type,tag=this.tagName.toLowerCase();if(t=='text'||t=='password'||tag=='textarea')
this.value='';else if(t=='checkbox'||t=='radio')
this.checked=false;else if(tag=='select')
this.selectedIndex=-1})};$.fn.resetForm=function(){return this.each(function(){if(typeof this.reset=='function'||(typeof this.reset=='object'&&!this.reset.nodeType))
this.reset()})};$.fn.enable=function(b){if(b==undefined) b=true;return this.each(function(){this.disabled=!b})};$.fn.select=function(select){if(select==undefined) select=true;return this.each(function(){var t=this.type;if(t=='checkbox'||t=='radio')
this.checked=select;else if(this.tagName.toLowerCase()=='option'){var $sel=$(this).parent('select');if(select&&$sel[0]&&$sel[0].type=='select-one'){$sel.find('option').select(false)}
this.selected=select}})}})(jQuery);
