/* --------- /javascripts/dom-drag.js --------- */ 

var Drag={obj:null,init:function(o,oRoot,minX,maxX,minY,maxY,bSwapHorzRef,bSwapVertRef,fXMapper,fYMapper)
{o.onmousedown=Drag.start;o.hmode=bSwapHorzRef?false:true;o.vmode=bSwapVertRef?false:true;o.root=oRoot&&oRoot!=null?oRoot:o;if(o.hmode&&isNaN(parseInt(o.root.style.left)))o.root.style.left="0px";if(o.vmode&&isNaN(parseInt(o.root.style.top)))o.root.style.top="0px";if(!o.hmode&&isNaN(parseInt(o.root.style.right)))o.root.style.right="0px";if(!o.vmode&&isNaN(parseInt(o.root.style.bottom)))o.root.style.bottom="0px";o.minX=typeof minX!='undefined'?minX:null;o.minY=typeof minY!='undefined'?minY:null;o.maxX=typeof maxX!='undefined'?maxX:null;o.maxY=typeof maxY!='undefined'?maxY:null;o.xMapper=fXMapper?fXMapper:null;o.yMapper=fYMapper?fYMapper:null;o.root.onDragStart=new Function();o.root.onDragEnd=new Function();o.root.onDrag=new Function();},start:function(e)
{var o=Drag.obj=this;e=Drag.fixE(e);var y=parseInt(o.vmode?o.root.style.top:o.root.style.bottom);var x=parseInt(o.hmode?o.root.style.left:o.root.style.right);o.root.onDragStart(x,y);o.lastMouseX=e.clientX;o.lastMouseY=e.clientY;if(o.hmode){if(o.minX!=null)o.minMouseX=e.clientX-x+o.minX;if(o.maxX!=null)o.maxMouseX=o.minMouseX+o.maxX-o.minX;}else{if(o.minX!=null)o.maxMouseX=-o.minX+e.clientX+x;if(o.maxX!=null)o.minMouseX=-o.maxX+e.clientX+x;}
if(o.vmode){if(o.minY!=null)o.minMouseY=e.clientY-y+o.minY;if(o.maxY!=null)o.maxMouseY=o.minMouseY+o.maxY-o.minY;}else{if(o.minY!=null)o.maxMouseY=-o.minY+e.clientY+y;if(o.maxY!=null)o.minMouseY=-o.maxY+e.clientY+y;}
document.onmousemove=Drag.drag;document.onmouseup=Drag.end;return false;},drag:function(e)
{e=Drag.fixE(e);var o=Drag.obj;var ey=e.clientY;var ex=e.clientX;var y=parseInt(o.vmode?o.root.style.top:o.root.style.bottom);var x=parseInt(o.hmode?o.root.style.left:o.root.style.right);var nx,ny;if(o.minX!=null)ex=o.hmode?Math.max(ex,o.minMouseX):Math.min(ex,o.maxMouseX);if(o.maxX!=null)ex=o.hmode?Math.min(ex,o.maxMouseX):Math.max(ex,o.minMouseX);if(o.minY!=null)ey=o.vmode?Math.max(ey,o.minMouseY):Math.min(ey,o.maxMouseY);if(o.maxY!=null)ey=o.vmode?Math.min(ey,o.maxMouseY):Math.max(ey,o.minMouseY);nx=x+((ex-o.lastMouseX)*(o.hmode?1:-1));ny=y+((ey-o.lastMouseY)*(o.vmode?1:-1));if(o.xMapper)nx=o.xMapper(y)
else if(o.yMapper)ny=o.yMapper(x)
Drag.obj.root.style[o.hmode?"left":"right"]=nx+"px";Drag.obj.root.style[o.vmode?"top":"bottom"]=ny+"px";Drag.obj.lastMouseX=ex;Drag.obj.lastMouseY=ey;Drag.obj.root.onDrag(nx,ny);return false;},end:function()
{document.onmousemove=null;document.onmouseup=null;Drag.obj.root.onDragEnd(parseInt(Drag.obj.root.style[Drag.obj.hmode?"left":"right"]),parseInt(Drag.obj.root.style[Drag.obj.vmode?"top":"bottom"]));Drag.obj=null;},fixE:function(e)
{if(typeof e=='undefined')e=window.event;if(typeof e.layerX=='undefined')e.layerX=e.offsetX;if(typeof e.layerY=='undefined')e.layerY=e.offsetY;return e;}};/* --------- /javascripts/kropper.js --------- */ 

function setup_image_cropper(max_zoom)
{if($("image_cropper"))
{crop_canvas_obj=$("crop_canvas");cropcanvas=new Object();cropcanvas.w=crop_canvas_obj.clientWidth;cropcanvas.h=crop_canvas_obj.clientHeight;crop_stencil_obj=$("crop_stencil");cropstencil=new Object();cropstencil.l=crop_stencil_obj.offsetLeft;cropstencil.t=crop_stencil_obj.offsetTop;cropstencil.w=crop_stencil_obj.offsetWidth;cropstencil.h=crop_stencil_obj.offsetHeight;cropstencil.aspect_ratio=cropstencil.h/cropstencil.w;zoom_slider_obj=$("zoom_slider");zoom_slider_handle_obj=$("zoom_slider_handle");slider_range=zoom_slider_obj.offsetWidth-zoom_slider_handle_obj.offsetWidth;min_zoom=1;uncropped_image_obj=$("uncropped_image");img=new Object();img.w=uncropped_image_obj.width;img.h=uncropped_image_obj.height;img.aspect_ratio=(img.h/img.w);img.display=new Object();if(img.aspect_ratio>cropstencil.aspect_ratio)
{img.display.orig_w=cropstencil.w;img.display.orig_h=cropstencil.w*img.aspect_ratio;}
else
{img.display.orig_w=cropstencil.h/img.aspect_ratio;img.display.orig_h=cropstencil.h;}
form_params=new Object();form_params.crop_left=$("crop_left");form_params.crop_top=$("crop_top");form_params.crop_width=$("crop_width");form_params.crop_height=$("crop_height");form_params.stencil_width=$("stencil_width");form_params.stencil_height=$("stencil_height");set_initial_positions(uncropped_image_obj,form_params,zoom_slider_handle_obj,img,cropstencil,min_zoom,max_zoom,slider_range);image_dragger_obj=$("image_dragger");Drag.init(image_dragger_obj,uncropped_image_obj,-5000,5000,-5000,5000);Drag.init(zoom_slider_handle_obj,null,0,slider_range,0,0);uncropped_image_obj.onDrag=function(x,y)
{img.display.l=x;img.display.t=y;img=ensure_stencil_is_inside_image(img,cropstencil);set_dom_obj_dimensions(uncropped_image_obj,img.display);set_crop_form_params(form_params,img,cropstencil);}
zoom_slider_handle_obj.onDrag=function(x,y)
{slider_pos=x/slider_range;zoom=(slider_pos*(max_zoom-min_zoom))+min_zoom;center_x=img.display.l+(img.display.w/2);center_y=img.display.t+(img.display.h/2);img.display.w=img.display.orig_w*zoom;img.display.h=img.display.orig_h*zoom;img.display.l=center_x-(img.display.w/2);img.display.t=center_y-(img.display.h/2);img=ensure_stencil_is_inside_image(img,cropstencil);set_dom_obj_dimensions(uncropped_image_obj,img.display);set_crop_form_params(form_params,img,cropstencil);}
if($("crop_reset_btn"))
{reset_link=$("crop_reset_btn");reset_link.onclick=function()
{set_initial_positions(uncropped_image_obj,form_params,zoom_slider_handle_obj,img,cropstencil,min_zoom,max_zoom,slider_range);}}
Effect.Fade("crop_loading_overlay");}}
function set_initial_positions(uncropped_image_obj,form_params,zoom_slider_handle_obj,img,cropstencil,min_zoom,max_zoom,slider_range)
{img.display.w=img.display.orig_w;img.display.h=img.display.orig_h;img.display.l=cropstencil.l-((img.display.w-cropstencil.w)/2);img.display.t=cropstencil.t-((img.display.h-cropstencil.h)/2);set_dom_obj_dimensions(uncropped_image_obj,img.display);set_crop_form_params(form_params,img,cropstencil);zoom_slider_handle_obj.style.left=parseInt(((1-min_zoom)/max_zoom)*slider_range)+'px';}
function set_crop_form_params(form_params,img,cropstencil)
{form_params.crop_left.value=((cropstencil.l-img.display.l)/img.display.w)*img.w;form_params.crop_top.value=((cropstencil.t-img.display.t)/img.display.h)*img.h;form_params.crop_width.value=(cropstencil.w/img.display.w)*img.w;form_params.crop_height.value=(cropstencil.h/img.display.h)*img.h;form_params.stencil_width.value=cropstencil.w;form_params.stencil_height.value=cropstencil.h;}
function ensure_stencil_is_inside_image(img,cropstencil)
{if(img.display.l>cropstencil.l)
{img.display.l=cropstencil.l;}
if(img.display.t>cropstencil.t)
{img.display.t=cropstencil.t;}
if((img.display.l+img.display.w)<(cropstencil.l+cropstencil.w))
{img.display.l=(cropstencil.l+cropstencil.w)-img.display.w;}
if((img.display.t+img.display.h)<(cropstencil.t+cropstencil.h))
{img.display.t=(cropstencil.t+cropstencil.h)-img.display.h;}
return img;}
function process_stencil_stickiness(img,cropstencil,stencil_stickiness)
{if(dist(img.display.l,cropstencil.l)<=stencil_stickiness)
{img.display.l=cropstencil.l;}
if(dist(img.display.t,cropstencil.t)<=stencil_stickiness)
{img.display.t=cropstencil.t;}
if(dist(img.display.l+img.display.w,cropstencil.l+cropstencil.w)<=stencil_stickiness)
{img.display.l=(cropstencil.l+cropstencil.w)-img.display.w;}
if(dist(img.display.t+img.display.h,cropstencil.t+cropstencil.h)<=stencil_stickiness)
{img.display.t=(cropstencil.t+cropstencil.h)-img.display.h;}
return img;}
function set_dom_obj_dimensions(obj,rect)
{obj.style.left=rect.l+'px';obj.style.top=rect.t+'px';obj.style.width=rect.w+'px';obj.style.height=rect.h+'px';}
function dist(a,b)
{delta=a-b;return Math.sqrt(delta*delta);}/* --------- /javascripts/builder.js --------- */ 

var Builder={NODEMAP:{AREA:'map',CAPTION:'table',COL:'table',COLGROUP:'table',LEGEND:'fieldset',OPTGROUP:'select',OPTION:'select',PARAM:'object',TBODY:'table',TD:'table',TFOOT:'table',TH:'table',THEAD:'table',TR:'table'},node:function(elementName){elementName=elementName.toUpperCase();var parentTag=this.NODEMAP[elementName]||'div';var parentElement=document.createElement(parentTag);try{parentElement.innerHTML="<"+elementName+"></"+elementName+">";}catch(e){}
var element=parentElement.firstChild||null;if(element&&(element.tagName.toUpperCase()!=elementName))
element=element.getElementsByTagName(elementName)[0];if(!element)element=document.createElement(elementName);if(!element)return;if(arguments[1])
if(this._isStringOrNumber(arguments[1])||(arguments[1]instanceof Array)||arguments[1].tagName){this._children(element,arguments[1]);}else{var attrs=this._attributes(arguments[1]);if(attrs.length){try{parentElement.innerHTML="<"+elementName+" "+
attrs+"></"+elementName+">";}catch(e){}
element=parentElement.firstChild||null;if(!element){element=document.createElement(elementName);for(attr in arguments[1])
element[attr=='class'?'className':attr]=arguments[1][attr];}
if(element.tagName.toUpperCase()!=elementName)
element=parentElement.getElementsByTagName(elementName)[0];}}
if(arguments[2])
this._children(element,arguments[2]);return element;},_text:function(text){return document.createTextNode(text);},ATTR_MAP:{'className':'class','htmlFor':'for'},_attributes:function(attributes){var attrs=[];for(attribute in attributes)
attrs.push((attribute in this.ATTR_MAP?this.ATTR_MAP[attribute]:attribute)+'="'+attributes[attribute].toString().escapeHTML().gsub(/"/,'&quot;')+'"');return attrs.join(" ");},_children:function(element,children){if(children.tagName){element.appendChild(children);return;}
if(typeof children=='object'){children.flatten().each(function(e){if(typeof e=='object')
element.appendChild(e)
else
if(Builder._isStringOrNumber(e))
element.appendChild(Builder._text(e));});}else
if(Builder._isStringOrNumber(children))
element.appendChild(Builder._text(children));},_isStringOrNumber:function(param){return(typeof param=='string'||typeof param=='number');},build:function(html){var element=this.node('div');$(element).update(html.strip());return element.down();},dump:function(scope){if(typeof scope!='object'&&typeof scope!='function')scope=window;var tags=("A ABBR ACRONYM ADDRESS APPLET AREA B BASE BASEFONT BDO BIG BLOCKQUOTE BODY "+"BR BUTTON CAPTION CENTER CITE CODE COL COLGROUP DD DEL DFN DIR DIV DL DT EM FIELDSET "+"FONT FORM FRAME FRAMESET H1 H2 H3 H4 H5 H6 HEAD HR HTML I IFRAME IMG INPUT INS ISINDEX "+"KBD LABEL LEGEND LI LINK MAP MENU META NOFRAMES NOSCRIPT OBJECT OL OPTGROUP OPTION P "+"PARAM PRE Q S SAMP SCRIPT SELECT SMALL SPAN STRIKE STRONG STYLE SUB SUP TABLE TBODY TD "+"TEXTAREA TFOOT TH THEAD TITLE TR TT U UL VAR").split(/\s+/);tags.each(function(tag){scope[tag]=function(){return Builder.node.apply(Builder,[tag].concat($A(arguments)));}});}}/* --------- /javascripts/applesearch.js --------- */ 

if(!applesearch)var applesearch={};applesearch.init=function()
{if(navigator.userAgent.toLowerCase().indexOf('safari')<0&&document.getElementById)
{this.clearBtn=false;var appleStyle=document.createElement('link');appleStyle.rel='stylesheet';appleStyle.type='text/css';appleStyle.media='screen';appleStyle.href='/stylesheets/applesearch.css';document.getElementsByTagName("head")[0].appendChild(appleStyle);}}
applesearch.onChange=function(fldID,btnID)
{var fld=document.getElementById(fldID);var btn=document.getElementById(btnID);if(fld.value.length>0&&!this.clearBtn)
{btn.style.background="white url('/images/icons/srch_r_f2.gif') no-repeat top left";btn.fldID=fldID;btn.onclick=this.clearBtnClick;this.clearBtn=true;}else if(fld.value.length==0&&this.clearBtn)
{btn.style.background="white url('/images/icons/srch_r.gif') no-repeat top left";btn.onclick=null;this.clearBtn=false;}}
applesearch.clearFld=function(fldID,btnID)
{var fld=document.getElementById(fldID);fld.value="";this.onChange(fldID,btnID);}
applesearch.clearBtnClick=function()
{applesearch.clearFld(this.fldID,this.id);}
