/* 
    MASTER JS FOR REMAX BROKER BETA 
    Combines "jquery-1.2.6.min.js", "jquery-ui-personalized-1.6rc1.min.js", "jquery.autocomplete.js", "autocomplete.js", "scripts.js"
*/

/* BEGIN CONTENT FROM: "jquery-1.2.6.min.js" */
        /*
     * jQuery 1.2.6 - New Wave Javascript
     *
     * Copyright (c) 2008 John Resig (jquery.com)
     * Dual licensed under the MIT (MIT-LICENSE.txt)
     * and GPL (GPL-LICENSE.txt) licenses.
     *
     * $Date: 2008-05-24 14:22:17 -0400 (Sat, 24 May 2008) $
     * $Rev: 5685 $
     */
    (function(){var _jQuery=window.jQuery,_$=window.$;var jQuery=window.jQuery=window.$=function(selector,context){return new jQuery.fn.init(selector,context);};var quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/,isSimple=/^.[^:#\[\.]*$/,undefined;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;return this;}if(typeof selector=="string"){var match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1])selector=jQuery.clean([match[1]],context);else{var elem=document.getElementById(match[3]);if(elem){if(elem.id!=match[3])return jQuery().find(selector);return jQuery(elem);}selector=[];}}else
    return jQuery(context).find(selector);}else if(jQuery.isFunction(selector))return jQuery(document)[jQuery.fn.ready?"ready":"load"](selector);return this.setArray(jQuery.makeArray(selector));},jquery:"1.2.6",size:function(){return this.length;},length:0,get:function(num){return num==undefined?jQuery.makeArray(this):this[num];},pushStack:function(elems){var ret=jQuery(elems);ret.prevObject=this;return ret;},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elems);return this;},each:function(callback,args){return jQuery.each(this,callback,args);},index:function(elem){var ret=-1;return jQuery.inArray(elem&&elem.jquery?elem[0]:elem,this);},attr:function(name,value,type){var options=name;if(name.constructor==String)if(value===undefined)return this[0]&&jQuery[type||"attr"](this[0],name);else{options={};options[name]=value;}return this.each(function(i){for(name in options)jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name));});},css:function(key,value){if((key=='width'||key=='height')&&parseFloat(value)<0)value=undefined;return this.attr(key,value,"curCSS");},text:function(text){if(typeof text!="object"&&text!=null)return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(text));var ret="";jQuery.each(text||this,function(){jQuery.each(this.childNodes,function(){if(this.nodeType!=8)ret+=this.nodeType!=1?this.nodeValue:jQuery.fn.text([this]);});});return ret;},wrapAll:function(html){if(this[0])jQuery(html,this[0].ownerDocument).clone().insertBefore(this[0]).map(function(){var elem=this;while(elem.firstChild)elem=elem.firstChild;return elem;}).append(this);return this;},wrapInner:function(html){return this.each(function(){jQuery(this).contents().wrapAll(html);});},wrap:function(html){return this.each(function(){jQuery(this).wrapAll(html);});},append:function(){return this.domManip(arguments,true,false,function(elem){if(this.nodeType==1)this.appendChild(elem);});},prepend:function(){return this.domManip(arguments,true,true,function(elem){if(this.nodeType==1)this.insertBefore(elem,this.firstChild);});},before:function(){return this.domManip(arguments,false,false,function(elem){this.parentNode.insertBefore(elem,this);});},after:function(){return this.domManip(arguments,false,true,function(elem){this.parentNode.insertBefore(elem,this.nextSibling);});},end:function(){return this.prevObject||jQuery([]);},find:function(selector){var elems=jQuery.map(this,function(elem){return jQuery.find(selector,elem);});return this.pushStack(/[^+>] [^+>]/.test(selector)||selector.indexOf("..")>-1?jQuery.unique(elems):elems);},clone:function(events){var ret=this.map(function(){if(jQuery.browser.msie&&!jQuery.isXMLDoc(this)){var clone=this.cloneNode(true),container=document.createElement("div");container.appendChild(clone);return jQuery.clean([container.innerHTML])[0];}else
    return this.cloneNode(true);});var clone=ret.find("*").andSelf().each(function(){if(this[expando]!=undefined)this[expando]=null;});if(events===true)this.find("*").andSelf().each(function(i){if(this.nodeType==3)return;var events=jQuery.data(this,"events");for(var type in events)for(var handler in events[type])jQuery.event.add(clone[i],type,events[type][handler],events[type][handler].data);});return ret;},filter:function(selector){return this.pushStack(jQuery.isFunction(selector)&&jQuery.grep(this,function(elem,i){return selector.call(elem,i);})||jQuery.multiFilter(selector,this));},not:function(selector){if(selector.constructor==String)if(isSimple.test(selector))return this.pushStack(jQuery.multiFilter(selector,this,true));else
    selector=jQuery.multiFilter(selector,this);var isArrayLike=selector.length&&selector[selector.length-1]!==undefined&&!selector.nodeType;return this.filter(function(){return isArrayLike?jQuery.inArray(this,selector)<0:this!=selector;});},add:function(selector){return this.pushStack(jQuery.unique(jQuery.merge(this.get(),typeof selector=='string'?jQuery(selector):jQuery.makeArray(selector))));},is:function(selector){return!!selector&&jQuery.multiFilter(selector,this).length>0;},hasClass:function(selector){return this.is("."+selector);},val:function(value){if(value==undefined){if(this.length){var elem=this[0];if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";if(index<0)return null;for(var i=one?index:0,max=one?index+1:options.length;i<max;i++){var option=options[i];if(option.selected){value=jQuery.browser.msie&&!option.attributes.value.specified?option.text:option.value;if(one)return value;values.push(value);}}return values;}else
    return(this[0].value||"").replace(/\r/g,"");}return undefined;}if(value.constructor==Number)value+='';return this.each(function(){if(this.nodeType!=1)return;if(value.constructor==Array&&/radio|checkbox/.test(this.type))this.checked=(jQuery.inArray(this.value,value)>=0||jQuery.inArray(this.name,value)>=0);else if(jQuery.nodeName(this,"select")){var values=jQuery.makeArray(value);jQuery("option",this).each(function(){this.selected=(jQuery.inArray(this.value,values)>=0||jQuery.inArray(this.text,values)>=0);});if(!values.length)this.selectedIndex=-1;}else
    this.value=value;});},html:function(value){return value==undefined?(this[0]?this[0].innerHTML:null):this.empty().append(value);},replaceWith:function(value){return this.after(value).remove();},eq:function(i){return this.slice(i,i+1);},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments));},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem);}));},andSelf:function(){return this.add(this.prevObject);},data:function(key,value){var parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value===undefined){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data===undefined&&this.length)data=jQuery.data(this[0],key);return data===undefined&&parts[1]?this.data(parts[0]):data;}else
    return this.trigger("setData"+parts[1]+"!",[parts[0],value]).each(function(){jQuery.data(this,key,value);});},removeData:function(key){return this.each(function(){jQuery.removeData(this,key);});},domManip:function(args,table,reverse,callback){var clone=this.length>1,elems;return this.each(function(){if(!elems){elems=jQuery.clean(args,this.ownerDocument);if(reverse)elems.reverse();}var obj=this;if(table&&jQuery.nodeName(this,"table")&&jQuery.nodeName(elems[0],"tr"))obj=this.getElementsByTagName("tbody")[0]||this.appendChild(this.ownerDocument.createElement("tbody"));var scripts=jQuery([]);jQuery.each(elems,function(){var elem=clone?jQuery(this).clone(true)[0]:this;if(jQuery.nodeName(elem,"script"))scripts=scripts.add(elem);else{if(elem.nodeType==1)scripts=scripts.add(jQuery("script",elem).remove());callback.call(obj,elem);}});scripts.each(evalScript);});}};jQuery.fn.init.prototype=jQuery.fn;function evalScript(i,elem){if(elem.src)jQuery.ajax({url:elem.src,async:false,dataType:"script"});else
    jQuery.globalEval(elem.text||elem.textContent||elem.innerHTML||"");if(elem.parentNode)elem.parentNode.removeChild(elem);}function now(){return+new Date;}jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(target.constructor==Boolean){deep=target;target=arguments[1]||{};i=2;}if(typeof target!="object"&&typeof target!="function")target={};if(length==i){target=this;--i;}for(;i<length;i++)if((options=arguments[i])!=null)for(var name in options){var src=target[name],copy=options[name];if(target===copy)continue;if(deep&&copy&&typeof copy=="object"&&!copy.nodeType)target[name]=jQuery.extend(deep,src||(copy.length!=null?[]:{}),copy);else if(copy!==undefined)target[name]=copy;}return target;};var expando="jQuery"+now(),uuid=0,windowData={},exclude=/z-?index|font-?weight|opacity|zoom|line-?height/i,defaultView=document.defaultView||{};jQuery.extend({noConflict:function(deep){window.$=_$;if(deep)window.jQuery=_jQuery;return jQuery;},isFunction:function(fn){return!!fn&&typeof fn!="string"&&!fn.nodeName&&fn.constructor!=Array&&/^[\s[]?function/.test(fn+"");},isXMLDoc:function(elem){return elem.documentElement&&!elem.body||elem.tagName&&elem.ownerDocument&&!elem.ownerDocument.body;},globalEval:function(data){data=jQuery.trim(data);if(data){var head=document.getElementsByTagName("head")[0]||document.documentElement,script=document.createElement("script");script.type="text/javascript";if(jQuery.browser.msie)script.text=data;else
    script.appendChild(document.createTextNode(data));head.insertBefore(script,head.firstChild);head.removeChild(script);}},nodeName:function(elem,name){return elem.nodeName&&elem.nodeName.toUpperCase()==name.toUpperCase();},cache:{},data:function(elem,name,data){elem=elem==window?windowData:elem;var id=elem[expando];if(!id)id=elem[expando]=++uuid;if(name&&!jQuery.cache[id])jQuery.cache[id]={};if(data!==undefined)jQuery.cache[id][name]=data;return name?jQuery.cache[id][name]:id;},removeData:function(elem,name){elem=elem==window?windowData:elem;var id=elem[expando];if(name){if(jQuery.cache[id]){delete jQuery.cache[id][name];name="";for(name in jQuery.cache[id])break;if(!name)jQuery.removeData(elem);}}else{try{delete elem[expando];}catch(e){if(elem.removeAttribute)elem.removeAttribute(expando);}delete jQuery.cache[id];}},each:function(object,callback,args){var name,i=0,length=object.length;if(args){if(length==undefined){for(name in object)if(callback.apply(object[name],args)===false)break;}else
    for(;i<length;)if(callback.apply(object[i++],args)===false)break;}else{if(length==undefined){for(name in object)if(callback.call(object[name],name,object[name])===false)break;}else
    for(var value=object[0];i<length&&callback.call(value,i,value)!==false;value=object[++i]){}}return object;},prop:function(elem,value,type,i,name){if(jQuery.isFunction(value))value=value.call(elem,i);return value&&value.constructor==Number&&type=="curCSS"&&!exclude.test(name)?value+"px":value;},className:{add:function(elem,classNames){jQuery.each((classNames||"").split(/\s+/),function(i,className){if(elem.nodeType==1&&!jQuery.className.has(elem.className,className))elem.className+=(elem.className?" ":"")+className;});},remove:function(elem,classNames){if(elem.nodeType==1)elem.className=classNames!=undefined?jQuery.grep(elem.className.split(/\s+/),function(className){return!jQuery.className.has(classNames,className);}).join(" "):"";},has:function(elem,className){return jQuery.inArray(className,(elem.className||elem).toString().split(/\s+/))>-1;}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}callback.call(elem);for(var name in options)elem.style[name]=old[name];},css:function(elem,name,force){if(name=="width"||name=="height"){var val,props={position:"absolute",visibility:"hidden",display:"block"},which=name=="width"?["Left","Right"]:["Top","Bottom"];function getWH(){val=name=="width"?elem.offsetWidth:elem.offsetHeight;var padding=0,border=0;jQuery.each(which,function(){padding+=parseFloat(jQuery.curCSS(elem,"padding"+this,true))||0;border+=parseFloat(jQuery.curCSS(elem,"border"+this+"Width",true))||0;});val-=Math.round(padding+border);}if(jQuery(elem).is(":visible"))getWH();else
    jQuery.swap(elem,props,getWH);return Math.max(0,val);}return jQuery.curCSS(elem,name,force);},curCSS:function(elem,name,force){var ret,style=elem.style;function color(elem){if(!jQuery.browser.safari)return false;var ret=defaultView.getComputedStyle(elem,null);return!ret||ret.getPropertyValue("color")=="";}if(name=="opacity"&&jQuery.browser.msie){ret=jQuery.attr(style,"opacity");return ret==""?"1":ret;}if(jQuery.browser.opera&&name=="display"){var save=style.outline;style.outline="0 solid black";style.outline=save;}if(name.match(/float/i))name=styleFloat;if(!force&&style&&style[name])ret=style[name];else if(defaultView.getComputedStyle){if(name.match(/float/i))name="float";name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var computedStyle=defaultView.getComputedStyle(elem,null);if(computedStyle&&!color(elem))ret=computedStyle.getPropertyValue(name);else{var swap=[],stack=[],a=elem,i=0;for(;a&&color(a);a=a.parentNode)stack.unshift(a);for(;i<stack.length;i++)if(color(stack[i])){swap[i]=stack[i].style.display;stack[i].style.display="block";}ret=name=="display"&&swap[stack.length-1]!=null?"none":(computedStyle&&computedStyle.getPropertyValue(name))||"";for(i=0;i<swap.length;i++)if(swap[i]!=null)stack[i].style.display=swap[i];}if(name=="opacity"&&ret=="")ret="1";}else if(elem.currentStyle){var camelCase=name.replace(/\-(\w)/g,function(all,letter){return letter.toUpperCase();});ret=elem.currentStyle[name]||elem.currentStyle[camelCase];if(!/^\d+(px)?$/i.test(ret)&&/^\d/.test(ret)){var left=style.left,rsLeft=elem.runtimeStyle.left;elem.runtimeStyle.left=elem.currentStyle.left;style.left=ret||0;ret=style.pixelLeft+"px";style.left=left;elem.runtimeStyle.left=rsLeft;}}return ret;},clean:function(elems,context){var ret=[];context=context||document;if(typeof context.createElement=='undefined')context=context.ownerDocument||context[0]&&context[0].ownerDocument||document;jQuery.each(elems,function(i,elem){if(!elem)return;if(elem.constructor==Number)elem+='';if(typeof elem=="string"){elem=elem.replace(/(<(\w+)[^>]*?)\/>/g,function(all,front,tag){return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?all:front+"></"+tag+">";});var tags=jQuery.trim(elem).toLowerCase(),div=context.createElement("div");var wrap=!tags.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!tags.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||tags.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!tags.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!tags.indexOf("<td")||!tags.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!tags.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||jQuery.browser.msie&&[1,"div<div>","</div>"]||[0,"",""];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--)div=div.lastChild;if(jQuery.browser.msie){var tbody=!tags.indexOf("<table")&&tags.indexOf("<tbody")<0?div.firstChild&&div.firstChild.childNodes:wrap[1]=="<table>"&&tags.indexOf("<tbody")<0?div.childNodes:[];for(var j=tbody.length-1;j>=0;--j)if(jQuery.nodeName(tbody[j],"tbody")&&!tbody[j].childNodes.length)tbody[j].parentNode.removeChild(tbody[j]);if(/^\s/.test(elem))div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]),div.firstChild);}elem=jQuery.makeArray(div.childNodes);}if(elem.length===0&&(!jQuery.nodeName(elem,"form")&&!jQuery.nodeName(elem,"select")))return;if(elem[0]==undefined||jQuery.nodeName(elem,"form")||elem.options)ret.push(elem);else
    ret=jQuery.merge(ret,elem);});return ret;},attr:function(elem,name,value){if(!elem||elem.nodeType==3||elem.nodeType==8)return undefined;var notxml=!jQuery.isXMLDoc(elem),set=value!==undefined,msie=jQuery.browser.msie;name=notxml&&jQuery.props[name]||name;if(elem.tagName){var special=/href|src|style/.test(name);if(name=="selected"&&jQuery.browser.safari)elem.parentNode.selectedIndex;if(name in elem&&notxml&&!special){if(set){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)throw"type property can't be changed";elem[name]=value;}if(jQuery.nodeName(elem,"form")&&elem.getAttributeNode(name))return elem.getAttributeNode(name).nodeValue;return elem[name];}if(msie&&notxml&&name=="style")return jQuery.attr(elem.style,"cssText",value);if(set)elem.setAttribute(name,""+value);var attr=msie&&notxml&&special?elem.getAttribute(name,2):elem.getAttribute(name);return attr===null?undefined:attr;}if(msie&&name=="opacity"){if(set){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(value)+''=="NaN"?"":"alpha(opacity="+value*100+")");}return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100)+'':"";}name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(set)elem[name]=value;return elem[name];},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeArray:function(array){var ret=[];if(array!=null){var i=array.length;if(i==null||array.split||array.setInterval||array.call)ret[0]=array;else
    while(i)ret[--i]=array[i];}return ret;},inArray:function(elem,array){for(var i=0,length=array.length;i<length;i++)if(array[i]===elem)return i;return-1;},merge:function(first,second){var i=0,elem,pos=first.length;if(jQuery.browser.msie){while(elem=second[i++])if(elem.nodeType!=8)first[pos++]=elem;}else
    while(elem=second[i++])first[pos++]=elem;return first;},unique:function(array){var ret=[],done={};try{for(var i=0,length=array.length;i<length;i++){var id=jQuery.data(array[i]);if(!done[id]){done[id]=true;ret.push(array[i]);}}}catch(e){ret=array;}return ret;},grep:function(elems,callback,inv){var ret=[];for(var i=0,length=elems.length;i<length;i++)if(!inv!=!callback(elems[i],i))ret.push(elems[i]);return ret;},map:function(elems,callback){var ret=[];for(var i=0,length=elems.length;i<length;i++){var value=callback(elems[i],i);if(value!=null)ret[ret.length]=value;}return ret.concat.apply([],ret);}});var userAgent=navigator.userAgent.toLowerCase();jQuery.browser={version:(userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[])[1],safari:/webkit/.test(userAgent),opera:/opera/.test(userAgent),msie:/msie/.test(userAgent)&&!/opera/.test(userAgent),mozilla:/mozilla/.test(userAgent)&&!/(compatible|webkit)/.test(userAgent)};var styleFloat=jQuery.browser.msie?"styleFloat":"cssFloat";jQuery.extend({boxModel:!jQuery.browser.msie||document.compatMode=="CSS1Compat",props:{"for":"htmlFor","class":"className","float":styleFloat,cssFloat:styleFloat,styleFloat:styleFloat,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing"}});jQuery.each({parent:function(elem){return elem.parentNode;},parents:function(elem){return jQuery.dir(elem,"parentNode");},next:function(elem){return jQuery.nth(elem,2,"nextSibling");},prev:function(elem){return jQuery.nth(elem,2,"previousSibling");},nextAll:function(elem){return jQuery.dir(elem,"nextSibling");},prevAll:function(elem){return jQuery.dir(elem,"previousSibling");},siblings:function(elem){return jQuery.sibling(elem.parentNode.firstChild,elem);},children:function(elem){return jQuery.sibling(elem.firstChild);},contents:function(elem){return jQuery.nodeName(elem,"iframe")?elem.contentDocument||elem.contentWindow.document:jQuery.makeArray(elem.childNodes);}},function(name,fn){jQuery.fn[name]=function(selector){var ret=jQuery.map(this,fn);if(selector&&typeof selector=="string")ret=jQuery.multiFilter(selector,ret);return this.pushStack(jQuery.unique(ret));};});jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(){var args=arguments;return this.each(function(){for(var i=0,length=args.length;i<length;i++)jQuery(args[i])[original](this);});};});jQuery.each({removeAttr:function(name){jQuery.attr(this,name,"");if(this.nodeType==1)this.removeAttribute(name);},addClass:function(classNames){jQuery.className.add(this,classNames);},removeClass:function(classNames){jQuery.className.remove(this,classNames);},toggleClass:function(classNames){jQuery.className[jQuery.className.has(this,classNames)?"remove":"add"](this,classNames);},remove:function(selector){if(!selector||jQuery.filter(selector,[this]).r.length){jQuery("*",this).add(this).each(function(){jQuery.event.remove(this);jQuery.removeData(this);});if(this.parentNode)this.parentNode.removeChild(this);}},empty:function(){jQuery(">*",this).remove();while(this.firstChild)this.removeChild(this.firstChild);}},function(name,fn){jQuery.fn[name]=function(){return this.each(fn,arguments);};});jQuery.each(["Height","Width"],function(i,name){var type=name.toLowerCase();jQuery.fn[type]=function(size){return this[0]==window?jQuery.browser.opera&&document.body["client"+name]||jQuery.browser.safari&&window["inner"+name]||document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(Math.max(document.body["scroll"+name],document.documentElement["scroll"+name]),Math.max(document.body["offset"+name],document.documentElement["offset"+name])):size==undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,size.constructor==String?size:size+"px");};});function num(elem,prop){return elem[0]&&parseInt(jQuery.curCSS(elem[0],prop,true),10)||0;}var chars=jQuery.browser.safari&&parseInt(jQuery.browser.version)<417?"(?:[\\w*_-]|\\\\.)":"(?:[\\w\u0128-\uFFFF*_-]|\\\\.)",quickChild=new RegExp("^>\\s*("+chars+"+)"),quickID=new RegExp("^("+chars+"+)(#)("+chars+"+)"),quickClass=new RegExp("^([#.]?)("+chars+"*)");jQuery.extend({expr:{"":function(a,i,m){return m[2]=="*"||jQuery.nodeName(a,m[2]);},"#":function(a,i,m){return a.getAttribute("id")==m[2];},":":{lt:function(a,i,m){return i<m[3]-0;},gt:function(a,i,m){return i>m[3]-0;},nth:function(a,i,m){return m[3]-0==i;},eq:function(a,i,m){return m[3]-0==i;},first:function(a,i){return i==0;},last:function(a,i,m,r){return i==r.length-1;},even:function(a,i){return i%2==0;},odd:function(a,i){return i%2;},"first-child":function(a){return a.parentNode.getElementsByTagName("*")[0]==a;},"last-child":function(a){return jQuery.nth(a.parentNode.lastChild,1,"previousSibling")==a;},"only-child":function(a){return!jQuery.nth(a.parentNode.lastChild,2,"previousSibling");},parent:function(a){return a.firstChild;},empty:function(a){return!a.firstChild;},contains:function(a,i,m){return(a.textContent||a.innerText||jQuery(a).text()||"").indexOf(m[3])>=0;},visible:function(a){return"hidden"!=a.type&&jQuery.css(a,"display")!="none"&&jQuery.css(a,"visibility")!="hidden";},hidden:function(a){return"hidden"==a.type||jQuery.css(a,"display")=="none"||jQuery.css(a,"visibility")=="hidden";},enabled:function(a){return!a.disabled;},disabled:function(a){return a.disabled;},checked:function(a){return a.checked;},selected:function(a){return a.selected||jQuery.attr(a,"selected");},text:function(a){return"text"==a.type;},radio:function(a){return"radio"==a.type;},checkbox:function(a){return"checkbox"==a.type;},file:function(a){return"file"==a.type;},password:function(a){return"password"==a.type;},submit:function(a){return"submit"==a.type;},image:function(a){return"image"==a.type;},reset:function(a){return"reset"==a.type;},button:function(a){return"button"==a.type||jQuery.nodeName(a,"button");},input:function(a){return/input|select|textarea|button/i.test(a.nodeName);},has:function(a,i,m){return jQuery.find(m[3],a).length;},header:function(a){return/h\d/i.test(a.nodeName);},animated:function(a){return jQuery.grep(jQuery.timers,function(fn){return a==fn.elem;}).length;}}},parse:[/^(\[) *@?([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/,/^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/,new RegExp("^([:.#]*)("+chars+"+)")],multiFilter:function(expr,elems,not){var old,cur=[];while(expr&&expr!=old){old=expr;var f=jQuery.filter(expr,elems,not);expr=f.t.replace(/^\s*,\s*/,"");cur=not?elems=f.r:jQuery.merge(cur,f.r);}return cur;},find:function(t,context){if(typeof t!="string")return[t];if(context&&context.nodeType!=1&&context.nodeType!=9)return[];context=context||document;var ret=[context],done=[],last,nodeName;while(t&&last!=t){var r=[];last=t;t=jQuery.trim(t);var foundToken=false,re=quickChild,m=re.exec(t);if(m){nodeName=m[1].toUpperCase();for(var i=0;ret[i];i++)for(var c=ret[i].firstChild;c;c=c.nextSibling)if(c.nodeType==1&&(nodeName=="*"||c.nodeName.toUpperCase()==nodeName))r.push(c);ret=r;t=t.replace(re,"");if(t.indexOf(" ")==0)continue;foundToken=true;}else{re=/^([>+~])\s*(\w*)/i;if((m=re.exec(t))!=null){r=[];var merge={};nodeName=m[2].toUpperCase();m=m[1];for(var j=0,rl=ret.length;j<rl;j++){var n=m=="~"||m=="+"?ret[j].nextSibling:ret[j].firstChild;for(;n;n=n.nextSibling)if(n.nodeType==1){var id=jQuery.data(n);if(m=="~"&&merge[id])break;if(!nodeName||n.nodeName.toUpperCase()==nodeName){if(m=="~")merge[id]=true;r.push(n);}if(m=="+")break;}}ret=r;t=jQuery.trim(t.replace(re,""));foundToken=true;}}if(t&&!foundToken){if(!t.indexOf(",")){if(context==ret[0])ret.shift();done=jQuery.merge(done,ret);r=ret=[context];t=" "+t.substr(1,t.length);}else{var re2=quickID;var m=re2.exec(t);if(m){m=[0,m[2],m[3],m[1]];}else{re2=quickClass;m=re2.exec(t);}m[2]=m[2].replace(/\\/g,"");var elem=ret[ret.length-1];if(m[1]=="#"&&elem&&elem.getElementById&&!jQuery.isXMLDoc(elem)){var oid=elem.getElementById(m[2]);if((jQuery.browser.msie||jQuery.browser.opera)&&oid&&typeof oid.id=="string"&&oid.id!=m[2])oid=jQuery('[@id="'+m[2]+'"]',elem)[0];ret=r=oid&&(!m[3]||jQuery.nodeName(oid,m[3]))?[oid]:[];}else{for(var i=0;ret[i];i++){var tag=m[1]=="#"&&m[3]?m[3]:m[1]!=""||m[0]==""?"*":m[2];if(tag=="*"&&ret[i].nodeName.toLowerCase()=="object")tag="param";r=jQuery.merge(r,ret[i].getElementsByTagName(tag));}if(m[1]==".")r=jQuery.classFilter(r,m[2]);if(m[1]=="#"){var tmp=[];for(var i=0;r[i];i++)if(r[i].getAttribute("id")==m[2]){tmp=[r[i]];break;}r=tmp;}ret=r;}t=t.replace(re2,"");}}if(t){var val=jQuery.filter(t,r);ret=r=val.r;t=jQuery.trim(val.t);}}if(t)ret=[];if(ret&&context==ret[0])ret.shift();done=jQuery.merge(done,ret);return done;},classFilter:function(r,m,not){m=" "+m+" ";var tmp=[];for(var i=0;r[i];i++){var pass=(" "+r[i].className+" ").indexOf(m)>=0;if(!not&&pass||not&&!pass)tmp.push(r[i]);}return tmp;},filter:function(t,r,not){var last;while(t&&t!=last){last=t;var p=jQuery.parse,m;for(var i=0;p[i];i++){m=p[i].exec(t);if(m){t=t.substring(m[0].length);m[2]=m[2].replace(/\\/g,"");break;}}if(!m)break;if(m[1]==":"&&m[2]=="not")r=isSimple.test(m[3])?jQuery.filter(m[3],r,true).r:jQuery(r).not(m[3]);else if(m[1]==".")r=jQuery.classFilter(r,m[2],not);else if(m[1]=="["){var tmp=[],type=m[3];for(var i=0,rl=r.length;i<rl;i++){var a=r[i],z=a[jQuery.props[m[2]]||m[2]];if(z==null||/href|src|selected/.test(m[2]))z=jQuery.attr(a,m[2])||'';if((type==""&&!!z||type=="="&&z==m[5]||type=="!="&&z!=m[5]||type=="^="&&z&&!z.indexOf(m[5])||type=="$="&&z.substr(z.length-m[5].length)==m[5]||(type=="*="||type=="~=")&&z.indexOf(m[5])>=0)^not)tmp.push(a);}r=tmp;}else if(m[1]==":"&&m[2]=="nth-child"){var merge={},tmp=[],test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(m[3]=="even"&&"2n"||m[3]=="odd"&&"2n+1"||!/\D/.test(m[3])&&"0n+"+m[3]||m[3]),first=(test[1]+(test[2]||1))-0,last=test[3]-0;for(var i=0,rl=r.length;i<rl;i++){var node=r[i],parentNode=node.parentNode,id=jQuery.data(parentNode);if(!merge[id]){var c=1;for(var n=parentNode.firstChild;n;n=n.nextSibling)if(n.nodeType==1)n.nodeIndex=c++;merge[id]=true;}var add=false;if(first==0){if(node.nodeIndex==last)add=true;}else if((node.nodeIndex-last)%first==0&&(node.nodeIndex-last)/first>=0)add=true;if(add^not)tmp.push(node);}r=tmp;}else{var fn=jQuery.expr[m[1]];if(typeof fn=="object")fn=fn[m[2]];if(typeof fn=="string")fn=eval("false||function(a,i){return "+fn+";}");r=jQuery.grep(r,function(elem,i){return fn(elem,i,m,r);},not);}}return{r:r,t:t};},dir:function(elem,dir){var matched=[],cur=elem[dir];while(cur&&cur!=document){if(cur.nodeType==1)matched.push(cur);cur=cur[dir];}return matched;},nth:function(cur,result,dir,elem){result=result||1;var num=0;for(;cur;cur=cur[dir])if(cur.nodeType==1&&++num==result)break;return cur;},sibling:function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType==1&&n!=elem)r.push(n);}return r;}});jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8)return;if(jQuery.browser.msie&&elem.setInterval)elem=window;if(!handler.guid)handler.guid=this.guid++;if(data!=undefined){var fn=handler;handler=this.proxy(fn,function(){return fn.apply(this,arguments);});handler.data=data;}var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){if(typeof jQuery!="undefined"&&!jQuery.event.triggered)return jQuery.event.handle.apply(arguments.callee.elem,arguments);});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];handler.type=parts[1];var handlers=events[type];if(!handlers){handlers=events[type]={};if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem)===false){if(elem.addEventListener)elem.addEventListener(type,handle,false);else if(elem.attachEvent)elem.attachEvent("on"+type,handle);}}handlers[handler.guid]=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8)return;var events=jQuery.data(elem,"events"),ret,index;if(events){if(types==undefined||(typeof types=="string"&&types.charAt(0)=="."))for(var type in events)this.remove(elem,type+(types||""));else{if(types.type){handler=types.handler;types=types.type;}jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];if(events[type]){if(handler)delete events[type][handler.guid];else
    for(handler in events[type])if(!parts[1]||events[type][handler].type==parts[1])delete events[type][handler];for(ret in events[type])break;if(!ret){if(!jQuery.event.special[type]||jQuery.event.special[type].teardown.call(elem)===false){if(elem.removeEventListener)elem.removeEventListener(type,jQuery.data(elem,"handle"),false);else if(elem.detachEvent)elem.detachEvent("on"+type,jQuery.data(elem,"handle"));}ret=null;delete events[type];}}});}for(ret in events)break;if(!ret){var handle=jQuery.data(elem,"handle");if(handle)handle.elem=null;jQuery.removeData(elem,"events");jQuery.removeData(elem,"handle");}}},trigger:function(type,data,elem,donative,extra){data=jQuery.makeArray(data);if(type.indexOf("!")>=0){type=type.slice(0,-1);var exclusive=true;}if(!elem){if(this.global[type])jQuery("*").add([window,document]).trigger(type,data);}else{if(elem.nodeType==3||elem.nodeType==8)return undefined;var val,ret,fn=jQuery.isFunction(elem[type]||null),event=!data[0]||!data[0].preventDefault;if(event){data.unshift({type:type,target:elem,preventDefault:function(){},stopPropagation:function(){},timeStamp:now()});data[0][expando]=true;}data[0].type=type;if(exclusive)data[0].exclusive=true;var handle=jQuery.data(elem,"handle");if(handle)val=handle.apply(elem,data);if((!fn||(jQuery.nodeName(elem,'a')&&type=="click"))&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)val=false;if(event)data.shift();if(extra&&jQuery.isFunction(extra)){ret=extra.apply(elem,val==null?data:data.concat(val));if(ret!==undefined)val=ret;}if(fn&&donative!==false&&val!==false&&!(jQuery.nodeName(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]();}catch(e){}}this.triggered=false;}return val;},handle:function(event){var val,ret,namespace,all,handlers;event=arguments[0]=jQuery.event.fix(event||window.event);namespace=event.type.split(".");event.type=namespace[0];namespace=namespace[1];all=!namespace&&!event.exclusive;handlers=(jQuery.data(this,"events")||{})[event.type];for(var j in handlers){var handler=handlers[j];if(all||handler.type==namespace){event.handler=handler;event.data=handler.data;ret=handler.apply(this,arguments);if(val!==false)val=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}}return val;},fix:function(event){if(event[expando]==true)return event;var originalEvent=event;event={originalEvent:originalEvent};var props="altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target timeStamp toElement type view wheelDelta which".split(" ");for(var i=props.length;i;i--)event[props[i]]=originalEvent[props[i]];event[expando]=true;event.preventDefault=function(){if(originalEvent.preventDefault)originalEvent.preventDefault();originalEvent.returnValue=false;};event.stopPropagation=function(){if(originalEvent.stopPropagation)originalEvent.stopPropagation();originalEvent.cancelBubble=true;};event.timeStamp=event.timeStamp||now();if(!event.target)event.target=event.srcElement||document;if(event.target.nodeType==3)event.target=event.target.parentNode;if(!event.relatedTarget&&event.fromElement)event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;if(event.pageX==null&&event.clientX!=null){var doc=document.documentElement,body=document.body;event.pageX=event.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc.clientLeft||0);event.pageY=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc.clientTop||0);}if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode))event.which=event.charCode||event.keyCode;if(!event.metaKey&&event.ctrlKey)event.metaKey=event.ctrlKey;if(!event.which&&event.button)event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));return event;},proxy:function(fn,proxy){proxy.guid=fn.guid=fn.guid||proxy.guid||this.guid++;return proxy;},special:{ready:{setup:function(){bindReady();return;},teardown:function(){return;}},mouseenter:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseover",jQuery.event.special.mouseenter.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseover",jQuery.event.special.mouseenter.handler);return true;},handler:function(event){if(withinElement(event,this))return true;event.type="mouseenter";return jQuery.event.handle.apply(this,arguments);}},mouseleave:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseout",jQuery.event.special.mouseleave.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseout",jQuery.event.special.mouseleave.handler);return true;},handler:function(event){if(withinElement(event,this))return true;event.type="mouseleave";return jQuery.event.handle.apply(this,arguments);}}}};jQuery.fn.extend({bind:function(type,data,fn){return type=="unload"?this.one(type,data,fn):this.each(function(){jQuery.event.add(this,type,fn||data,fn&&data);});},one:function(type,data,fn){var one=jQuery.event.proxy(fn||data,function(event){jQuery(this).unbind(event,one);return(fn||data).apply(this,arguments);});return this.each(function(){jQuery.event.add(this,type,one,fn&&data);});},unbind:function(type,fn){return this.each(function(){jQuery.event.remove(this,type,fn);});},trigger:function(type,data,fn){return this.each(function(){jQuery.event.trigger(type,data,this,true,fn);});},triggerHandler:function(type,data,fn){return this[0]&&jQuery.event.trigger(type,data,this[0],false,fn);},toggle:function(fn){var args=arguments,i=1;while(i<args.length)jQuery.event.proxy(fn,args[i++]);return this.click(jQuery.event.proxy(fn,function(event){this.lastToggle=(this.lastToggle||0)%i;event.preventDefault();return args[this.lastToggle++].apply(this,arguments)||false;}));},hover:function(fnOver,fnOut){return this.bind('mouseenter',fnOver).bind('mouseleave',fnOut);},ready:function(fn){bindReady();if(jQuery.isReady)fn.call(document,jQuery);else
    jQuery.readyList.push(function(){return fn.call(this,jQuery);});return this;}});jQuery.extend({isReady:false,readyList:[],ready:function(){if(!jQuery.isReady){jQuery.isReady=true;if(jQuery.readyList){jQuery.each(jQuery.readyList,function(){this.call(document);});jQuery.readyList=null;}jQuery(document).triggerHandler("ready");}}});var readyBound=false;function bindReady(){if(readyBound)return;readyBound=true;if(document.addEventListener&&!jQuery.browser.opera)document.addEventListener("DOMContentLoaded",jQuery.ready,false);if(jQuery.browser.msie&&window==top)(function(){if(jQuery.isReady)return;try{document.documentElement.doScroll("left");}catch(error){setTimeout(arguments.callee,0);return;}jQuery.ready();})();if(jQuery.browser.opera)document.addEventListener("DOMContentLoaded",function(){if(jQuery.isReady)return;for(var i=0;i<document.styleSheets.length;i++)if(document.styleSheets[i].disabled){setTimeout(arguments.callee,0);return;}jQuery.ready();},false);if(jQuery.browser.safari){var numStyles;(function(){if(jQuery.isReady)return;if(document.readyState!="loaded"&&document.readyState!="complete"){setTimeout(arguments.callee,0);return;}if(numStyles===undefined)numStyles=jQuery("style, link[rel=stylesheet]").length;if(document.styleSheets.length!=numStyles){setTimeout(arguments.callee,0);return;}jQuery.ready();})();}jQuery.event.add(window,"load",jQuery.ready);}jQuery.each(("blur,focus,load,resize,scroll,unload,click,dblclick,"+"mousedown,mouseup,mousemove,mouseover,mouseout,change,select,"+"submit,keydown,keypress,keyup,error").split(","),function(i,name){jQuery.fn[name]=function(fn){return fn?this.bind(name,fn):this.trigger(name);};});var withinElement=function(event,elem){var parent=event.relatedTarget;while(parent&&parent!=elem)try{parent=parent.parentNode;}catch(error){parent=elem;}return parent==elem;};jQuery(window).bind("unload",function(){jQuery("*").add(document).unbind();});jQuery.fn.extend({_load:jQuery.fn.load,load:function(url,params,callback){if(typeof url!='string')return this._load(url);var off=url.indexOf(" ");if(off>=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}callback=callback||function(){};var type="GET";if(params)if(jQuery.isFunction(params)){callback=params;params=null;}else{params=jQuery.param(params);type="POST";}var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified")self.html(selector?jQuery("<div/>").append(res.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(selector):res.responseText);self.each(callback,[res.responseText,status,res]);}});return this;},serialize:function(){return jQuery.param(this.serializeArray());},serializeArray:function(){return this.map(function(){return jQuery.nodeName(this,"form")?jQuery.makeArray(this.elements):this;}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password/i.test(this.type));}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:val.constructor==Array?jQuery.map(val,function(val,i){return{name:elem.name,value:val};}):{name:elem.name,value:val};}).get();}});jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=now();jQuery.extend({get:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data=null;}return jQuery.ajax({type:"GET",url:url,data:data,success:callback,dataType:type});},getScript:function(url,callback){return jQuery.get(url,null,callback,"script");},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json");},post:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data={};}return jQuery.ajax({type:"POST",url:url,data:data,success:callback,dataType:type});},ajaxSetup:function(settings){jQuery.extend(jQuery.ajaxSettings,settings);},ajaxSettings:{url:location.href,global:true,type:"GET",timeout:0,contentType:"application/x-www-form-urlencoded",processData:true,async:true,data:null,username:null,password:null,accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(s){s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));var jsonp,jsre=/=\?(&|$)/g,status,data,type=s.type.toUpperCase();if(s.data&&s.processData&&typeof s.data!="string")s.data=jQuery.param(s.data);if(s.dataType=="jsonp"){if(type=="GET"){if(!s.url.match(jsre))s.url+=(s.url.match(/\?/)?"&":"?")+(s.jsonp||"callback")+"=?";}else if(!s.data||!s.data.match(jsre))s.data=(s.data?s.data+"&":"")+(s.jsonp||"callback")+"=?";s.dataType="json";}if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++;if(s.data)s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";window[jsonp]=function(tmp){data=tmp;success();complete();window[jsonp]=undefined;try{delete window[jsonp];}catch(e){}if(head)head.removeChild(script);};}if(s.dataType=="script"&&s.cache==null)s.cache=false;if(s.cache===false&&type=="GET"){var ts=now();var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"");}if(s.data&&type=="GET"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data;s.data=null;}if(s.global&&!jQuery.active++)jQuery.event.trigger("ajaxStart");var remote=/^(?:\w+:)?\/\/([^\/?#]+)/;if(s.dataType=="script"&&type=="GET"&&remote.test(s.url)&&remote.exec(s.url)[1]!=location.host){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=s.url;if(s.scriptCharset)script.charset=s.scriptCharset;if(!jsonp){var done=false;script.onload=script.onreadystatechange=function(){if(!done&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){done=true;success();complete();head.removeChild(script);}};}head.appendChild(script);return undefined;}var requestDone=false;var xhr=window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();if(s.username)xhr.open(type,s.url,s.async,s.username,s.password);else
    xhr.open(type,s.url,s.async);try{if(s.data)xhr.setRequestHeader("Content-Type",s.contentType);if(s.ifModified)xhr.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");xhr.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default);}catch(e){}if(s.beforeSend&&s.beforeSend(xhr,s)===false){s.global&&jQuery.active--;xhr.abort();return false;}if(s.global)jQuery.event.trigger("ajaxSend",[xhr,s]);var onreadystatechange=function(isTimeout){if(!requestDone&&xhr&&(xhr.readyState==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival=null;}status=isTimeout=="timeout"&&"timeout"||!jQuery.httpSuccess(xhr)&&"error"||s.ifModified&&jQuery.httpNotModified(xhr,s.url)&&"notmodified"||"success";if(status=="success"){try{data=jQuery.httpData(xhr,s.dataType,s.dataFilter);}catch(e){status="parsererror";}}if(status=="success"){var modRes;try{modRes=xhr.getResponseHeader("Last-Modified");}catch(e){}if(s.ifModified&&modRes)jQuery.lastModified[s.url]=modRes;if(!jsonp)success();}else
    jQuery.handleError(s,xhr,status);complete();if(s.async)xhr=null;}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout>0)setTimeout(function(){if(xhr){xhr.abort();if(!requestDone)onreadystatechange("timeout");}},s.timeout);}try{xhr.send(s.data);}catch(e){jQuery.handleError(s,xhr,null,e);}if(!s.async)onreadystatechange();function success(){if(s.success)s.success(data,status);if(s.global)jQuery.event.trigger("ajaxSuccess",[xhr,s]);}function complete(){if(s.complete)s.complete(xhr,status);if(s.global)jQuery.event.trigger("ajaxComplete",[xhr,s]);if(s.global&&!--jQuery.active)jQuery.event.trigger("ajaxStop");}return xhr;},handleError:function(s,xhr,status,e){if(s.error)s.error(xhr,status,e);if(s.global)jQuery.event.trigger("ajaxError",[xhr,s,e]);},active:0,httpSuccess:function(xhr){try{return!xhr.status&&location.protocol=="file:"||(xhr.status>=200&&xhr.status<300)||xhr.status==304||xhr.status==1223||jQuery.browser.safari&&xhr.status==undefined;}catch(e){}return false;},httpNotModified:function(xhr,url){try{var xhrRes=xhr.getResponseHeader("Last-Modified");return xhr.status==304||xhrRes==jQuery.lastModified[url]||jQuery.browser.safari&&xhr.status==undefined;}catch(e){}return false;},httpData:function(xhr,type,filter){var ct=xhr.getResponseHeader("content-type"),xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0,data=xml?xhr.responseXML:xhr.responseText;if(xml&&data.documentElement.tagName=="parsererror")throw"parsererror";if(filter)data=filter(data,type);if(type=="script")jQuery.globalEval(data);if(type=="json")data=eval("("+data+")");return data;},param:function(a){var s=[];if(a.constructor==Array||a.jquery)jQuery.each(a,function(){s.push(encodeURIComponent(this.name)+"="+encodeURIComponent(this.value));});else
    for(var j in a)if(a[j]&&a[j].constructor==Array)jQuery.each(a[j],function(){s.push(encodeURIComponent(j)+"="+encodeURIComponent(this));});else
    s.push(encodeURIComponent(j)+"="+encodeURIComponent(jQuery.isFunction(a[j])?a[j]():a[j]));return s.join("&").replace(/%20/g,"+");}});jQuery.fn.extend({show:function(speed,callback){return speed?this.animate({height:"show",width:"show",opacity:"show"},speed,callback):this.filter(":hidden").each(function(){this.style.display=this.oldblock||"";if(jQuery.css(this,"display")=="none"){var elem=jQuery("<"+this.tagName+" />").appendTo("body");this.style.display=elem.css("display");if(this.style.display=="none")this.style.display="block";elem.remove();}}).end();},hide:function(speed,callback){return speed?this.animate({height:"hide",width:"hide",opacity:"hide"},speed,callback):this.filter(":visible").each(function(){this.oldblock=this.oldblock||jQuery.css(this,"display");this.style.display="none";}).end();},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle.apply(this,arguments):fn?this.animate({height:"toggle",width:"toggle",opacity:"toggle"},fn,fn2):this.each(function(){jQuery(this)[jQuery(this).is(":hidden")?"show":"hide"]();});},slideDown:function(speed,callback){return this.animate({height:"show"},speed,callback);},slideUp:function(speed,callback){return this.animate({height:"hide"},speed,callback);},slideToggle:function(speed,callback){return this.animate({height:"toggle"},speed,callback);},fadeIn:function(speed,callback){return this.animate({opacity:"show"},speed,callback);},fadeOut:function(speed,callback){return this.animate({opacity:"hide"},speed,callback);},fadeTo:function(speed,to,callback){return this.animate({opacity:to},speed,callback);},animate:function(prop,speed,easing,callback){var optall=jQuery.speed(speed,easing,callback);return this[optall.queue===false?"each":"queue"](function(){if(this.nodeType!=1)return false;var opt=jQuery.extend({},optall),p,hidden=jQuery(this).is(":hidden"),self=this;for(p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)return opt.complete.call(this);if(p=="height"||p=="width"){opt.display=jQuery.css(this,"display");opt.overflow=this.style.overflow;}}if(opt.overflow!=null)this.style.overflow="hidden";opt.curAnim=jQuery.extend({},prop);jQuery.each(prop,function(name,val){var e=new jQuery.fx(self,opt,name);if(/toggle|show|hide/.test(val))e[val=="toggle"?hidden?"show":"hide":val](prop);else{var parts=val.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),start=e.cur(true)||0;if(parts){var end=parseFloat(parts[2]),unit=parts[3]||"px";if(unit!="px"){self.style[name]=(end||1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit;}if(parts[1])end=((parts[1]=="-="?-1:1)*end)+start;e.custom(start,end,unit);}else
    e.custom(start,val,"");}});return true;});},queue:function(type,fn){if(jQuery.isFunction(type)||(type&&type.constructor==Array)){fn=type;type="fx";}if(!type||(typeof type=="string"&&!fn))return queue(this[0],type);return this.each(function(){if(fn.constructor==Array)queue(this,type,fn);else{queue(this,type).push(fn);if(queue(this,type).length==1)fn.call(this);}});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue)this.queue([]);this.each(function(){for(var i=timers.length-1;i>=0;i--)if(timers[i].elem==this){if(gotoEnd)timers[i](true);timers.splice(i,1);}});if(!gotoEnd)this.dequeue();return this;}});var queue=function(elem,type,array){if(elem){type=type||"fx";var q=jQuery.data(elem,type+"queue");if(!q||array)q=jQuery.data(elem,type+"queue",jQuery.makeArray(array));}return q;};jQuery.fn.dequeue=function(type){type=type||"fx";return this.each(function(){var q=queue(this,type);q.shift();if(q.length)q[0].call(this);});};jQuery.extend({speed:function(speed,easing,fn){var opt=speed&&speed.constructor==Object?speed:{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&easing.constructor!=Function&&easing};opt.duration=(opt.duration&&opt.duration.constructor==Number?opt.duration:jQuery.fx.speeds[opt.duration])||jQuery.fx.speeds.def;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false)jQuery(this).dequeue();if(jQuery.isFunction(opt.old))opt.old.call(this);};return opt;},easing:{linear:function(p,n,firstNum,diff){return firstNum+diff*p;},swing:function(p,n,firstNum,diff){return((-Math.cos(p*Math.PI)/2)+0.5)*diff+firstNum;}},timers:[],timerId:null,fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;if(!options.orig)options.orig={};}});jQuery.fx.prototype={update:function(){if(this.options.step)this.options.step.call(this.elem,this.now,this);(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if(this.prop=="height"||this.prop=="width")this.elem.style.display="block";},cur:function(force){if(this.elem[this.prop]!=null&&this.elem.style[this.prop]==null)return this.elem[this.prop];var r=parseFloat(jQuery.css(this.elem,this.prop,force));return r&&r>-10000?r:parseFloat(jQuery.curCSS(this.elem,this.prop))||0;},custom:function(from,to,unit){this.startTime=now();this.start=from;this.end=to;this.unit=unit||this.unit||"px";this.now=this.start;this.pos=this.state=0;this.update();var self=this;function t(gotoEnd){return self.step(gotoEnd);}t.elem=this.elem;jQuery.timers.push(t);if(jQuery.timerId==null){jQuery.timerId=setInterval(function(){var timers=jQuery.timers;for(var i=0;i<timers.length;i++)if(!timers[i]())timers.splice(i--,1);if(!timers.length){clearInterval(jQuery.timerId);jQuery.timerId=null;}},13);}},show:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.show=true;this.custom(0,this.cur());if(this.prop=="width"||this.prop=="height")this.elem.style[this.prop]="1px";jQuery(this.elem).show();},hide:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0);},step:function(gotoEnd){var t=now();if(gotoEnd||t>this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var done=true;for(var i in this.options.curAnim)if(this.options.curAnim[i]!==true)done=false;if(done){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,"display")=="none")this.elem.style.display="block";}if(this.options.hide)this.elem.style.display="none";if(this.options.hide||this.options.show)for(var p in this.options.curAnim)jQuery.attr(this.elem.style,p,this.options.orig[p]);}if(done)this.options.complete.call(this.elem);return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;this.pos=jQuery.easing[this.options.easing||(jQuery.easing.swing?"swing":"linear")](this.state,n,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update();}return true;}};jQuery.extend(jQuery.fx,{speeds:{slow:600,fast:200,def:400},step:{scrollLeft:function(fx){fx.elem.scrollLeft=fx.now;},scrollTop:function(fx){fx.elem.scrollTop=fx.now;},opacity:function(fx){jQuery.attr(fx.elem.style,"opacity",fx.now);},_default:function(fx){fx.elem.style[fx.prop]=fx.now+fx.unit;}}});jQuery.fn.offset=function(){var left=0,top=0,elem=this[0],results;if(elem)with(jQuery.browser){var parent=elem.parentNode,offsetChild=elem,offsetParent=elem.offsetParent,doc=elem.ownerDocument,safari2=safari&&parseInt(version)<522&&!/adobeair/i.test(userAgent),css=jQuery.curCSS,fixed=css(elem,"position")=="fixed";if(elem.getBoundingClientRect){var box=elem.getBoundingClientRect();add(box.left+Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),box.top+Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));add(-doc.documentElement.clientLeft,-doc.documentElement.clientTop);}else{add(elem.offsetLeft,elem.offsetTop);while(offsetParent){add(offsetParent.offsetLeft,offsetParent.offsetTop);if(mozilla&&!/^t(able|d|h)$/i.test(offsetParent.tagName)||safari&&!safari2)border(offsetParent);if(!fixed&&css(offsetParent,"position")=="fixed")fixed=true;offsetChild=/^body$/i.test(offsetParent.tagName)?offsetChild:offsetParent;offsetParent=offsetParent.offsetParent;}while(parent&&parent.tagName&&!/^body|html$/i.test(parent.tagName)){if(!/^inline|table.*$/i.test(css(parent,"display")))add(-parent.scrollLeft,-parent.scrollTop);if(mozilla&&css(parent,"overflow")!="visible")border(parent);parent=parent.parentNode;}if((safari2&&(fixed||css(offsetChild,"position")=="absolute"))||(mozilla&&css(offsetChild,"position")!="absolute"))add(-doc.body.offsetLeft,-doc.body.offsetTop);if(fixed)add(Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));}results={top:top,left:left};}function border(elem){add(jQuery.curCSS(elem,"borderLeftWidth",true),jQuery.curCSS(elem,"borderTopWidth",true));}function add(l,t){left+=parseInt(l,10)||0;top+=parseInt(t,10)||0;}return results;};jQuery.fn.extend({position:function(){var left=0,top=0,results;if(this[0]){var offsetParent=this.offsetParent(),offset=this.offset(),parentOffset=/^body|html$/i.test(offsetParent[0].tagName)?{top:0,left:0}:offsetParent.offset();offset.top-=num(this,'marginTop');offset.left-=num(this,'marginLeft');parentOffset.top+=num(offsetParent,'borderTopWidth');parentOffset.left+=num(offsetParent,'borderLeftWidth');results={top:offset.top-parentOffset.top,left:offset.left-parentOffset.left};}return results;},offsetParent:function(){var offsetParent=this[0].offsetParent;while(offsetParent&&(!/^body|html$/i.test(offsetParent.tagName)&&jQuery.css(offsetParent,'position')=='static'))offsetParent=offsetParent.offsetParent;return jQuery(offsetParent);}});jQuery.each(['Left','Top'],function(i,name){var method='scroll'+name;jQuery.fn[method]=function(val){if(!this[0])return;return val!=undefined?this.each(function(){this==window||this==document?window.scrollTo(!i?val:jQuery(window).scrollLeft(),i?val:jQuery(window).scrollTop()):this[method]=val;}):this[0]==window||this[0]==document?self[i?'pageYOffset':'pageXOffset']||jQuery.boxModel&&document.documentElement[method]||document.body[method]:this[0][method];};});jQuery.each(["Height","Width"],function(i,name){var tl=i?"Left":"Top",br=i?"Right":"Bottom";jQuery.fn["inner"+name]=function(){return this[name.toLowerCase()]()+num(this,"padding"+tl)+num(this,"padding"+br);};jQuery.fn["outer"+name]=function(margin){return this["inner"+name]()+num(this,"border"+tl+"Width")+num(this,"border"+br+"Width")+(margin?num(this,"margin"+tl)+num(this,"margin"+br):0);};});})();
/* END CONTENT FROM: "jquery-1.2.6.min.js" */

/* BEGIN CONTENT FROM: "jquery-ui-personalized-1.6rc1.min.js" */
    ;(function($){var _remove=$.fn.remove;$.fn.remove=function(){$("*",this).add(this).triggerHandler("remove");return _remove.apply(this,arguments);};function isVisible(element){function checkStyles(element){var style=element.style;return(style.display!='none'&&style.visibility!='hidden');}
    var visible=checkStyles(element);(visible&&$.each($.dir(element,'parentNode'),function(){return(visible=checkStyles(this));}));return visible;}
    $.extend($.expr[':'],{data:function(a,i,m){return $.data(a,m[3]);},tabbable:function(a,i,m){var nodeName=a.nodeName.toLowerCase();return(a.tabIndex>=0&&(('a'==nodeName&&a.href)||(/input|select|textarea|button/.test(nodeName)&&'hidden'!=a.type&&!a.disabled))&&isVisible(a));}});$.keyCode={BACKSPACE:8,CAPS_LOCK:20,COMMA:188,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38};function getter(namespace,plugin,method,args){function getMethods(type){var methods=$[namespace][plugin][type]||[];return(typeof methods=='string'?methods.split(/,?\s+/):methods);}
    var methods=getMethods('getter');if(args.length==1&&typeof args[0]=='string'){methods=methods.concat(getMethods('getterSetter'));}
    return($.inArray(method,methods)!=-1);}
    $.widget=function(name,prototype){var namespace=name.split(".")[0];name=name.split(".")[1];$.fn[name]=function(options){var isMethodCall=(typeof options=='string'),args=Array.prototype.slice.call(arguments,1);if(isMethodCall&&options.substring(0,1)=='_'){return this;}
    if(isMethodCall&&getter(namespace,name,options,args)){var instance=$.data(this[0],name);return(instance?instance[options].apply(instance,args):undefined);}
    return this.each(function(){var instance=$.data(this,name);(!instance&&!isMethodCall&&$.data(this,name,new $[namespace][name](this,options)));(instance&&isMethodCall&&$.isFunction(instance[options])&&instance[options].apply(instance,args));});};$[namespace][name]=function(element,options){var self=this;this.widgetName=name;this.widgetEventPrefix=$[namespace][name].eventPrefix||name;this.widgetBaseClass=namespace+'-'+name;this.options=$.extend({},$.widget.defaults,$[namespace][name].defaults,$.metadata&&$.metadata.get(element)[name],options);this.element=$(element).bind('setData.'+name,function(e,key,value){return self._setData(key,value);}).bind('getData.'+name,function(e,key){return self._getData(key);}).bind('remove',function(){return self.destroy();});this._init();};$[namespace][name].prototype=$.extend({},$.widget.prototype,prototype);$[namespace][name].getterSetter='option';};$.widget.prototype={_init:function(){},destroy:function(){this.element.removeData(this.widgetName);},option:function(key,value){var options=key,self=this;if(typeof key=="string"){if(value===undefined){return this._getData(key);}
    options={};options[key]=value;}
    $.each(options,function(key,value){self._setData(key,value);});},_getData:function(key){return this.options[key];},_setData:function(key,value){this.options[key]=value;if(key=='disabled'){this.element[value?'addClass':'removeClass'](this.widgetBaseClass+'-disabled');}},enable:function(){this._setData('disabled',false);},disable:function(){this._setData('disabled',true);},_trigger:function(type,e,data){var eventName=(type==this.widgetEventPrefix?type:this.widgetEventPrefix+type);e=e||$.event.fix({type:eventName,target:this.element[0]});return this.element.triggerHandler(eventName,[e,data],this.options[type]);}};$.widget.defaults={disabled:false};$.ui={plugin:{add:function(module,option,set){var proto=$.ui[module].prototype;for(var i in set){proto.plugins[i]=proto.plugins[i]||[];proto.plugins[i].push([option,set[i]]);}},call:function(instance,name,args){var set=instance.plugins[name];if(!set){return;}
    for(var i=0;i<set.length;i++){if(instance.options[set[i][0]]){set[i][1].apply(instance.element,args);}}}},cssCache:{},css:function(name){if($.ui.cssCache[name]){return $.ui.cssCache[name];}
    var tmp=$('<div class="ui-gen">').addClass(name).css({position:'absolute',top:'-5000px',left:'-5000px',display:'block'}).appendTo('body');$.ui.cssCache[name]=!!((!(/auto|default/).test(tmp.css('cursor'))||(/^[1-9]/).test(tmp.css('height'))||(/^[1-9]/).test(tmp.css('width'))||!(/none/).test(tmp.css('backgroundImage'))||!(/transparent|rgba\(0, 0, 0, 0\)/).test(tmp.css('backgroundColor'))));try{$('body').get(0).removeChild(tmp.get(0));}catch(e){}
    return $.ui.cssCache[name];},disableSelection:function(el){$(el).attr('unselectable','on').css('MozUserSelect','none').bind('selectstart.ui',function(){return false;});},enableSelection:function(el){$(el).attr('unselectable','off').css('MozUserSelect','').unbind('selectstart.ui');},hasScroll:function(e,a){var scroll=(a&&a=='left')?'scrollLeft':'scrollTop',has=false;if(e[scroll]>0){return true;}
    e[scroll]=1;has=(e[scroll]>0);e[scroll]=0;return has;}};$.ui.mouse={_mouseInit:function(){var self=this;this.element.bind('mousedown.'+this.widgetName,function(e){return self._mouseDown(e);});if($.browser.msie){this._mouseUnselectable=this.element.attr('unselectable');this.element.attr('unselectable','on');}
    this.started=false;},_mouseDestroy:function(){this.element.unbind('.'+this.widgetName);($.browser.msie&&this.element.attr('unselectable',this._mouseUnselectable));},_mouseDown:function(e){(this._mouseStarted&&this._mouseUp(e));this._mouseDownEvent=e;var self=this,btnIsLeft=(e.which==1),elIsCancel=(typeof this.options.cancel=="string"?$(e.target).parents().add(e.target).filter(this.options.cancel).length:false);if(!btnIsLeft||elIsCancel||!this._mouseCapture(e)){return true;}
    this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){self.mouseDelayMet=true;},this.options.delay);}
    if(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)){this._mouseStarted=(this._mouseStart(e)!==false);if(!this._mouseStarted){e.preventDefault();return true;}}
    this._mouseMoveDelegate=function(e){return self._mouseMove(e);};this._mouseUpDelegate=function(e){return self._mouseUp(e);};$(document).bind('mousemove.'+this.widgetName,this._mouseMoveDelegate).bind('mouseup.'+this.widgetName,this._mouseUpDelegate);return false;},_mouseMove:function(e){if($.browser.msie&&!e.button){return this._mouseUp(e);}
    if(this._mouseStarted){this._mouseDrag(e);return false;}
    if(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,e)!==false);(this._mouseStarted?this._mouseDrag(e):this._mouseUp(e));}
    return!this._mouseStarted;},_mouseUp:function(e){$(document).unbind('mousemove.'+this.widgetName,this._mouseMoveDelegate).unbind('mouseup.'+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;this._mouseStop(e);}
    return false;},_mouseDistanceMet:function(e){return(Math.max(Math.abs(this._mouseDownEvent.pageX-e.pageX),Math.abs(this._mouseDownEvent.pageY-e.pageY))>=this.options.distance);},_mouseDelayMet:function(e){return this.mouseDelayMet;},_mouseStart:function(e){},_mouseDrag:function(e){},_mouseStop:function(e){},_mouseCapture:function(e){return true;}};$.ui.mouse.defaults={cancel:null,distance:1,delay:0};})(jQuery);(function($){$.widget("ui.draggable",$.extend({},$.ui.mouse,{_init:function(){if(this.options.helper=='original'&&!(/^(?:r|a|f)/).test(this.element.css("position")))
    this.element[0].style.position='relative';(this.options.cssNamespace&&this.element.addClass(this.options.cssNamespace+"-draggable"));(this.options.disabled&&this.element.addClass('ui-draggable-disabled'));this._mouseInit();},_mouseStart:function(e){var o=this.options;if(this.helper||o.disabled||$(e.target).is('.ui-resizable-handle'))
    return false;var handle=!this.options.handle||!$(this.options.handle,this.element).length?true:false;$(this.options.handle,this.element).find("*").andSelf().each(function(){if(this==e.target)handle=true;});if(!handle)return false;if($.ui.ddmanager)
    $.ui.ddmanager.current=this;this.helper=$.isFunction(o.helper)?$(o.helper.apply(this.element[0],[e])):(o.helper=='clone'?this.element.clone():this.element);if(!this.helper.parents('body').length)this.helper.appendTo((o.appendTo=='parent'?this.element[0].parentNode:o.appendTo));if(this.helper[0]!=this.element[0]&&!(/(fixed|absolute)/).test(this.helper.css("position")))this.helper.css("position","absolute");this.margins={left:(parseInt(this.element.css("marginLeft"),10)||0),top:(parseInt(this.element.css("marginTop"),10)||0)};this.cssPosition=this.helper.css("position");this.offset=this.element.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};this.offset.click={left:e.pageX-this.offset.left,top:e.pageY-this.offset.top};this.scrollTopParent=function(el){do{if(/auto|scroll/.test(el.css('overflow'))||(/auto|scroll/).test(el.css('overflow-y')))return el;el=el.parent();}while(el[0].parentNode);return $(document);}(this.helper);this.scrollLeftParent=function(el){do{if(/auto|scroll/.test(el.css('overflow'))||(/auto|scroll/).test(el.css('overflow-x')))return el;el=el.parent();}while(el[0].parentNode);return $(document);}(this.helper);this.offsetParent=this.helper.offsetParent();var po=this.offsetParent.offset();if(this.offsetParent[0]==document.body&&$.browser.mozilla)po={top:0,left:0};this.offset.parent={top:po.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:po.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)};var p=this.element.position();this.offset.relative=this.cssPosition=="relative"?{top:p.top-(parseInt(this.helper.css("top"),10)||0)+(this.scrollTopParent[0].scrollTop||0),left:p.left-(parseInt(this.helper.css("left"),10)||0)+(this.scrollLeftParent[0].scrollLeft||0)}:{top:0,left:0};this.originalPosition=this._generatePosition(e);this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()};if(o.cursorAt){if(o.cursorAt.left!=undefined)this.offset.click.left=o.cursorAt.left+this.margins.left;if(o.cursorAt.right!=undefined)this.offset.click.left=this.helperProportions.width-o.cursorAt.right+this.margins.left;if(o.cursorAt.top!=undefined)this.offset.click.top=o.cursorAt.top+this.margins.top;if(o.cursorAt.bottom!=undefined)this.offset.click.top=this.helperProportions.height-o.cursorAt.bottom+this.margins.top;}
    if(o.containment){if(o.containment=='parent')o.containment=this.helper[0].parentNode;if(o.containment=='document'||o.containment=='window')this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,$(o.containment=='document'?document:window).width()-this.offset.relative.left-this.offset.parent.left-this.helperProportions.width-this.margins.left-(parseInt(this.element.css("marginRight"),10)||0),($(o.containment=='document'?document:window).height()||document.body.parentNode.scrollHeight)-this.offset.relative.top-this.offset.parent.top-this.helperProportions.height-this.margins.top-(parseInt(this.element.css("marginBottom"),10)||0)];if(!(/^(document|window|parent)$/).test(o.containment)){var ce=$(o.containment)[0];var co=$(o.containment).offset();this.containment=[co.left+(parseInt($(ce).css("borderLeftWidth"),10)||0)-this.offset.relative.left-this.offset.parent.left,co.top+(parseInt($(ce).css("borderTopWidth"),10)||0)-this.offset.relative.top-this.offset.parent.top,co.left+Math.max(ce.scrollWidth,ce.offsetWidth)-(parseInt($(ce).css("borderLeftWidth"),10)||0)-this.offset.relative.left-this.offset.parent.left-this.helperProportions.width-this.margins.left-(parseInt(this.element.css("marginRight"),10)||0),co.top+Math.max(ce.scrollHeight,ce.offsetHeight)-(parseInt($(ce).css("borderTopWidth"),10)||0)-this.offset.relative.top-this.offset.parent.top-this.helperProportions.height-this.margins.top-(parseInt(this.element.css("marginBottom"),10)||0)];}}
    this._propagate("start",e);this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()};if($.ui.ddmanager&&!o.dropBehaviour)$.ui.ddmanager.prepareOffsets(this,e);this.helper.addClass("ui-draggable-dragging");this._mouseDrag(e);return true;},_convertPositionTo:function(d,pos){if(!pos)pos=this.position;var mod=d=="absolute"?1:-1;return{top:(pos.top
    +this.offset.relative.top*mod
    +this.offset.parent.top*mod
    -(this.cssPosition=="fixed"||(this.cssPosition=="absolute"&&this.offsetParent[0]==document.body)?0:(this.scrollTopParent[0].scrollTop||0))*mod
    +(this.cssPosition=="fixed"?$(document).scrollTop():0)*mod
    +this.margins.top*mod),left:(pos.left
    +this.offset.relative.left*mod
    +this.offset.parent.left*mod
    -(this.cssPosition=="fixed"||(this.cssPosition=="absolute"&&this.offsetParent[0]==document.body)?0:(this.scrollLeftParent[0].scrollLeft||0))*mod
    +(this.cssPosition=="fixed"?$(document).scrollLeft():0)*mod
    +this.margins.left*mod)};},_generatePosition:function(e){var o=this.options;var position={top:(e.pageY
    -this.offset.click.top
    -this.offset.relative.top
    -this.offset.parent.top
    +(this.cssPosition=="fixed"||(this.cssPosition=="absolute"&&this.offsetParent[0]==document.body)?0:(this.scrollTopParent[0].scrollTop||0))
    -(this.cssPosition=="fixed"?$(document).scrollTop():0)),left:(e.pageX
    -this.offset.click.left
    -this.offset.relative.left
    -this.offset.parent.left
    +(this.cssPosition=="fixed"||(this.cssPosition=="absolute"&&this.offsetParent[0]==document.body)?0:(this.scrollLeftParent[0].scrollLeft||0))
    -(this.cssPosition=="fixed"?$(document).scrollLeft():0))};if(!this.originalPosition)return position;if(this.containment){if(position.left<this.containment[0])position.left=this.containment[0];if(position.top<this.containment[1])position.top=this.containment[1];if(position.left>this.containment[2])position.left=this.containment[2];if(position.top>this.containment[3])position.top=this.containment[3];}
    if(o.grid){var top=this.originalPosition.top+Math.round((position.top-this.originalPosition.top)/o.grid[1])*o.grid[1];position.top=this.containment?(!(top<this.containment[1]||top>this.containment[3])?top:(!(top<this.containment[1])?top-o.grid[1]:top+o.grid[1])):top;var left=this.originalPosition.left+Math.round((position.left-this.originalPosition.left)/o.grid[0])*o.grid[0];position.left=this.containment?(!(left<this.containment[0]||left>this.containment[2])?left:(!(left<this.containment[0])?left-o.grid[0]:left+o.grid[0])):left;}
    return position;},_mouseDrag:function(e){this.position=this._generatePosition(e);this.positionAbs=this._convertPositionTo("absolute");this.position=this._propagate("drag",e)||this.position;if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+'px';if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+'px';if($.ui.ddmanager)$.ui.ddmanager.drag(this,e);return false;},_mouseStop:function(e){var dropped=false;if($.ui.ddmanager&&!this.options.dropBehaviour)
    var dropped=$.ui.ddmanager.drop(this,e);if((this.options.revert=="invalid"&&!dropped)||(this.options.revert=="valid"&&dropped)||this.options.revert===true){var self=this;$(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10)||500,function(){self._propagate("stop",e);self._clear();});}else{this._propagate("stop",e);this._clear();}
    return false;},_clear:function(){this.helper.removeClass("ui-draggable-dragging");if(this.options.helper!='original'&&!this.cancelHelperRemoval)this.helper.remove();this.helper=null;this.cancelHelperRemoval=false;},plugins:{},uiHash:function(e){return{helper:this.helper,position:this.position,absolutePosition:this.positionAbs,options:this.options};},_propagate:function(n,e){$.ui.plugin.call(this,n,[e,this.uiHash()]);if(n=="drag")this.positionAbs=this._convertPositionTo("absolute");return this.element.triggerHandler(n=="drag"?n:"drag"+n,[e,this.uiHash()],this.options[n]);},destroy:function(){if(!this.element.data('draggable'))return;this.element.removeData("draggable").unbind(".draggable").removeClass('ui-draggable-dragging ui-draggable-disabled');this._mouseDestroy();}}));$.extend($.ui.draggable,{defaults:{appendTo:"parent",axis:false,cancel:":input",delay:0,distance:1,helper:"original",scope:"default",cssNamespace:"ui"}});$.ui.plugin.add("draggable","cursor",{start:function(e,ui){var t=$('body');if(t.css("cursor"))ui.options._cursor=t.css("cursor");t.css("cursor",ui.options.cursor);},stop:function(e,ui){if(ui.options._cursor)$('body').css("cursor",ui.options._cursor);}});$.ui.plugin.add("draggable","zIndex",{start:function(e,ui){var t=$(ui.helper);if(t.css("zIndex"))ui.options._zIndex=t.css("zIndex");t.css('zIndex',ui.options.zIndex);},stop:function(e,ui){if(ui.options._zIndex)$(ui.helper).css('zIndex',ui.options._zIndex);}});$.ui.plugin.add("draggable","opacity",{start:function(e,ui){var t=$(ui.helper);if(t.css("opacity"))ui.options._opacity=t.css("opacity");t.css('opacity',ui.options.opacity);},stop:function(e,ui){if(ui.options._opacity)$(ui.helper).css('opacity',ui.options._opacity);}});$.ui.plugin.add("draggable","iframeFix",{start:function(e,ui){$(ui.options.iframeFix===true?"iframe":ui.options.iframeFix).each(function(){$('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1000}).css($(this).offset()).appendTo("body");});},stop:function(e,ui){$("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this);});}});$.ui.plugin.add("draggable","scroll",{start:function(e,ui){var o=ui.options;var i=$(this).data("draggable");o.scrollSensitivity=o.scrollSensitivity||20;o.scrollSpeed=o.scrollSpeed||20;i.overflowY=function(el){do{if(/auto|scroll/.test(el.css('overflow'))||(/auto|scroll/).test(el.css('overflow-y')))return el;el=el.parent();}while(el[0].parentNode);return $(document);}(this);i.overflowX=function(el){do{if(/auto|scroll/.test(el.css('overflow'))||(/auto|scroll/).test(el.css('overflow-x')))return el;el=el.parent();}while(el[0].parentNode);return $(document);}(this);if(i.overflowY[0]!=document&&i.overflowY[0].tagName!='HTML')i.overflowYOffset=i.overflowY.offset();if(i.overflowX[0]!=document&&i.overflowX[0].tagName!='HTML')i.overflowXOffset=i.overflowX.offset();},drag:function(e,ui){var o=ui.options,scrolled=false;var i=$(this).data("draggable");if(i.overflowY[0]!=document&&i.overflowY[0].tagName!='HTML'){if((i.overflowYOffset.top+i.overflowY[0].offsetHeight)-e.pageY<o.scrollSensitivity)
    i.overflowY[0].scrollTop=scrolled=i.overflowY[0].scrollTop+o.scrollSpeed;if(e.pageY-i.overflowYOffset.top<o.scrollSensitivity)
    i.overflowY[0].scrollTop=scrolled=i.overflowY[0].scrollTop-o.scrollSpeed;}else{if(e.pageY-$(document).scrollTop()<o.scrollSensitivity)
    scrolled=$(document).scrollTop($(document).scrollTop()-o.scrollSpeed);if($(window).height()-(e.pageY-$(document).scrollTop())<o.scrollSensitivity)
    scrolled=$(document).scrollTop($(document).scrollTop()+o.scrollSpeed);}
    if(i.overflowX[0]!=document&&i.overflowX[0].tagName!='HTML'){if((i.overflowXOffset.left+i.overflowX[0].offsetWidth)-e.pageX<o.scrollSensitivity)
    i.overflowX[0].scrollLeft=scrolled=i.overflowX[0].scrollLeft+o.scrollSpeed;if(e.pageX-i.overflowXOffset.left<o.scrollSensitivity)
    i.overflowX[0].scrollLeft=scrolled=i.overflowX[0].scrollLeft-o.scrollSpeed;}else{if(e.pageX-$(document).scrollLeft()<o.scrollSensitivity)
    scrolled=$(document).scrollLeft($(document).scrollLeft()-o.scrollSpeed);if($(window).width()-(e.pageX-$(document).scrollLeft())<o.scrollSensitivity)
    scrolled=$(document).scrollLeft($(document).scrollLeft()+o.scrollSpeed);}
    if(scrolled!==false)
    $.ui.ddmanager.prepareOffsets(i,e);}});$.ui.plugin.add("draggable","snap",{start:function(e,ui){var inst=$(this).data("draggable");inst.snapElements=[];$(ui.options.snap.constructor!=String?(ui.options.snap.items||':data(draggable)'):ui.options.snap).each(function(){var $t=$(this);var $o=$t.offset();if(this!=inst.element[0])inst.snapElements.push({item:this,width:$t.outerWidth(),height:$t.outerHeight(),top:$o.top,left:$o.left});});},drag:function(e,ui){var inst=$(this).data("draggable");var d=ui.options.snapTolerance||20;var x1=ui.absolutePosition.left,x2=x1+inst.helperProportions.width,y1=ui.absolutePosition.top,y2=y1+inst.helperProportions.height;for(var i=inst.snapElements.length-1;i>=0;i--){var l=inst.snapElements[i].left,r=l+inst.snapElements[i].width,t=inst.snapElements[i].top,b=t+inst.snapElements[i].height;if(!((l-d<x1&&x1<r+d&&t-d<y1&&y1<b+d)||(l-d<x1&&x1<r+d&&t-d<y2&&y2<b+d)||(l-d<x2&&x2<r+d&&t-d<y1&&y1<b+d)||(l-d<x2&&x2<r+d&&t-d<y2&&y2<b+d))){if(inst.snapElements[i].snapping)(inst.options.snap.release&&inst.options.snap.release.call(inst.element,null,$.extend(inst.uiHash(),{snapItem:inst.snapElements[i].item})));inst.snapElements[i].snapping=false;continue;}
    if(ui.options.snapMode!='inner'){var ts=Math.abs(t-y2)<=d;var bs=Math.abs(b-y1)<=d;var ls=Math.abs(l-x2)<=d;var rs=Math.abs(r-x1)<=d;if(ts)ui.position.top=inst._convertPositionTo("relative",{top:t-inst.helperProportions.height,left:0}).top;if(bs)ui.position.top=inst._convertPositionTo("relative",{top:b,left:0}).top;if(ls)ui.position.left=inst._convertPositionTo("relative",{top:0,left:l-inst.helperProportions.width}).left;if(rs)ui.position.left=inst._convertPositionTo("relative",{top:0,left:r}).left;}
    var first=(ts||bs||ls||rs);if(ui.options.snapMode!='outer'){var ts=Math.abs(t-y1)<=d;var bs=Math.abs(b-y2)<=d;var ls=Math.abs(l-x1)<=d;var rs=Math.abs(r-x2)<=d;if(ts)ui.position.top=inst._convertPositionTo("relative",{top:t,left:0}).top;if(bs)ui.position.top=inst._convertPositionTo("relative",{top:b-inst.helperProportions.height,left:0}).top;if(ls)ui.position.left=inst._convertPositionTo("relative",{top:0,left:l}).left;if(rs)ui.position.left=inst._convertPositionTo("relative",{top:0,left:r-inst.helperProportions.width}).left;}
    if(!inst.snapElements[i].snapping&&(ts||bs||ls||rs||first))
    (inst.options.snap.snap&&inst.options.snap.snap.call(inst.element,null,$.extend(inst.uiHash(),{snapItem:inst.snapElements[i].item})));inst.snapElements[i].snapping=(ts||bs||ls||rs||first);};}});$.ui.plugin.add("draggable","connectToSortable",{start:function(e,ui){var inst=$(this).data("draggable");inst.sortables=[];$(ui.options.connectToSortable).each(function(){if($.data(this,'sortable')){var sortable=$.data(this,'sortable');inst.sortables.push({instance:sortable,shouldRevert:sortable.options.revert});sortable._refreshItems();sortable._propagate("activate",e,inst);}});},stop:function(e,ui){var inst=$(this).data("draggable");$.each(inst.sortables,function(){if(this.instance.isOver){this.instance.isOver=0;inst.cancelHelperRemoval=true;this.instance.cancelHelperRemoval=false;if(this.shouldRevert)this.instance.options.revert=true;this.instance._mouseStop(e);this.instance.element.triggerHandler("sortreceive",[e,$.extend(this.instance.ui(),{sender:inst.element})],this.instance.options["receive"]);this.instance.options.helper=this.instance.options._helper;}else{this.instance._propagate("deactivate",e,inst);}});},drag:function(e,ui){var inst=$(this).data("draggable"),self=this;var checkPos=function(o){var l=o.left,r=l+o.width,t=o.top,b=t+o.height;return(l<(this.positionAbs.left+this.offset.click.left)&&(this.positionAbs.left+this.offset.click.left)<r&&t<(this.positionAbs.top+this.offset.click.top)&&(this.positionAbs.top+this.offset.click.top)<b);};$.each(inst.sortables,function(i){if(checkPos.call(inst,this.instance.containerCache)){if(!this.instance.isOver){this.instance.isOver=1;this.instance.currentItem=$(self).clone().appendTo(this.instance.element).data("sortable-item",true);this.instance.options._helper=this.instance.options.helper;this.instance.options.helper=function(){return ui.helper[0];};e.target=this.instance.currentItem[0];this.instance._mouseCapture(e,true);this.instance._mouseStart(e,true,true);this.instance.offset.click.top=inst.offset.click.top;this.instance.offset.click.left=inst.offset.click.left;this.instance.offset.parent.left-=inst.offset.parent.left-this.instance.offset.parent.left;this.instance.offset.parent.top-=inst.offset.parent.top-this.instance.offset.parent.top;inst._propagate("toSortable",e);}
    if(this.instance.currentItem)this.instance._mouseDrag(e);}else{if(this.instance.isOver){this.instance.isOver=0;this.instance.cancelHelperRemoval=true;this.instance.options.revert=false;this.instance._mouseStop(e,true);this.instance.options.helper=this.instance.options._helper;this.instance.currentItem.remove();if(this.instance.placeholder)this.instance.placeholder.remove();inst._propagate("fromSortable",e);}};});}});$.ui.plugin.add("draggable","stack",{start:function(e,ui){var group=$.makeArray($(ui.options.stack.group)).sort(function(a,b){return(parseInt($(a).css("zIndex"),10)||ui.options.stack.min)-(parseInt($(b).css("zIndex"),10)||ui.options.stack.min);});$(group).each(function(i){this.style.zIndex=ui.options.stack.min+i;});this[0].style.zIndex=ui.options.stack.min+group.length;}});})(jQuery);(function($){$.widget("ui.resizable",$.extend({},$.ui.mouse,{_init:function(){var self=this,o=this.options;var elpos=this.element.css('position');this.originalElement=this.element;this.element.addClass("ui-resizable").css({position:/static/.test(elpos)?'relative':elpos});$.extend(o,{_aspectRatio:!!(o.aspectRatio),helper:o.helper||o.ghost||o.animate?o.helper||'proxy':null,knobHandles:o.knobHandles===true?'ui-resizable-knob-handle':o.knobHandles});var aBorder='1px solid #DEDEDE';o.defaultTheme={'ui-resizable':{display:'block'},'ui-resizable-handle':{position:'absolute',background:'#F2F2F2',fontSize:'0.1px'},'ui-resizable-n':{cursor:'n-resize',height:'4px',left:'0px',right:'0px',borderTop:aBorder},'ui-resizable-s':{cursor:'s-resize',height:'4px',left:'0px',right:'0px',borderBottom:aBorder},'ui-resizable-e':{cursor:'e-resize',width:'4px',top:'0px',bottom:'0px',borderRight:aBorder},'ui-resizable-w':{cursor:'w-resize',width:'4px',top:'0px',bottom:'0px',borderLeft:aBorder},'ui-resizable-se':{cursor:'se-resize',width:'4px',height:'4px',borderRight:aBorder,borderBottom:aBorder},'ui-resizable-sw':{cursor:'sw-resize',width:'4px',height:'4px',borderBottom:aBorder,borderLeft:aBorder},'ui-resizable-ne':{cursor:'ne-resize',width:'4px',height:'4px',borderRight:aBorder,borderTop:aBorder},'ui-resizable-nw':{cursor:'nw-resize',width:'4px',height:'4px',borderLeft:aBorder,borderTop:aBorder}};o.knobTheme={'ui-resizable-handle':{background:'#F2F2F2',border:'1px solid #808080',height:'8px',width:'8px'},'ui-resizable-n':{cursor:'n-resize',top:'0px',left:'45%'},'ui-resizable-s':{cursor:'s-resize',bottom:'0px',left:'45%'},'ui-resizable-e':{cursor:'e-resize',right:'0px',top:'45%'},'ui-resizable-w':{cursor:'w-resize',left:'0px',top:'45%'},'ui-resizable-se':{cursor:'se-resize',right:'0px',bottom:'0px'},'ui-resizable-sw':{cursor:'sw-resize',left:'0px',bottom:'0px'},'ui-resizable-nw':{cursor:'nw-resize',left:'0px',top:'0px'},'ui-resizable-ne':{cursor:'ne-resize',right:'0px',top:'0px'}};o._nodeName=this.element[0].nodeName;if(o._nodeName.match(/canvas|textarea|input|select|button|img/i)){var el=this.element;if(/relative/.test(el.css('position'))&&$.browser.opera)
    el.css({position:'relative',top:'auto',left:'auto'});el.wrap($('<div class="ui-wrapper" style="overflow: hidden;"></div>').css({position:el.css('position'),width:el.outerWidth(),height:el.outerHeight(),top:el.css('top'),left:el.css('left')}));var oel=this.element;this.element=this.element.parent();this.element.data('resizable',this);this.element.css({marginLeft:oel.css("marginLeft"),marginTop:oel.css("marginTop"),marginRight:oel.css("marginRight"),marginBottom:oel.css("marginBottom")});oel.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});if($.browser.safari&&o.preventDefault)oel.css('resize','none');o.proportionallyResize=oel.css({position:'static',zoom:1,display:'block'});this.element.css({margin:oel.css('margin')});this._proportionallyResize();}
    if(!o.handles)o.handles=!$('.ui-resizable-handle',this.element).length?"e,s,se":{n:'.ui-resizable-n',e:'.ui-resizable-e',s:'.ui-resizable-s',w:'.ui-resizable-w',se:'.ui-resizable-se',sw:'.ui-resizable-sw',ne:'.ui-resizable-ne',nw:'.ui-resizable-nw'};if(o.handles.constructor==String){o.zIndex=o.zIndex||1000;if(o.handles=='all')o.handles='n,e,s,w,se,sw,ne,nw';var n=o.handles.split(",");o.handles={};var insertionsDefault={handle:'position: absolute; display: none; overflow:hidden;',n:'top: 0pt; width:100%;',e:'right: 0pt; height:100%;',s:'bottom: 0pt; width:100%;',w:'left: 0pt; height:100%;',se:'bottom: 0pt; right: 0px;',sw:'bottom: 0pt; left: 0px;',ne:'top: 0pt; right: 0px;',nw:'top: 0pt; left: 0px;'};for(var i=0;i<n.length;i++){var handle=$.trim(n[i]),dt=o.defaultTheme,hname='ui-resizable-'+handle,loadDefault=!$.ui.css(hname)&&!o.knobHandles,userKnobClass=$.ui.css('ui-resizable-knob-handle'),allDefTheme=$.extend(dt[hname],dt['ui-resizable-handle']),allKnobTheme=$.extend(o.knobTheme[hname],!userKnobClass?o.knobTheme['ui-resizable-handle']:{});var applyZIndex=/sw|se|ne|nw/.test(handle)?{zIndex:++o.zIndex}:{};var defCss=(loadDefault?insertionsDefault[handle]:''),axis=$(['<div class="ui-resizable-handle ',hname,'" style="',defCss,insertionsDefault.handle,'"></div>'].join('')).css(applyZIndex);o.handles[handle]='.ui-resizable-'+handle;this.element.append(axis.css(loadDefault?allDefTheme:{}).css(o.knobHandles?allKnobTheme:{}).addClass(o.knobHandles?'ui-resizable-knob-handle':'').addClass(o.knobHandles));}
    if(o.knobHandles)this.element.addClass('ui-resizable-knob').css(!$.ui.css('ui-resizable-knob')?{}:{});}
    this._renderAxis=function(target){target=target||this.element;for(var i in o.handles){if(o.handles[i].constructor==String)
    o.handles[i]=$(o.handles[i],this.element).show();if(o.transparent)
    o.handles[i].css({opacity:0});if(this.element.is('.ui-wrapper')&&o._nodeName.match(/textarea|input|select|button/i)){var axis=$(o.handles[i],this.element),padWrapper=0;padWrapper=/sw|ne|nw|se|n|s/.test(i)?axis.outerHeight():axis.outerWidth();var padPos=['padding',/ne|nw|n/.test(i)?'Top':/se|sw|s/.test(i)?'Bottom':/^e$/.test(i)?'Right':'Left'].join("");if(!o.transparent)
    target.css(padPos,padWrapper);this._proportionallyResize();}
    if(!$(o.handles[i]).length)continue;}};this._renderAxis(this.element);o._handles=$('.ui-resizable-handle',self.element);if(o.disableSelection)
    o._handles.each(function(i,e){$.ui.disableSelection(e);});o._handles.mouseover(function(){if(!o.resizing){if(this.className)
    var axis=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);self.axis=o.axis=axis&&axis[1]?axis[1]:'se';}});if(o.autoHide){o._handles.hide();$(self.element).addClass("ui-resizable-autohide").hover(function(){$(this).removeClass("ui-resizable-autohide");o._handles.show();},function(){if(!o.resizing){$(this).addClass("ui-resizable-autohide");o._handles.hide();}});}
    this._mouseInit();},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,options:this.options,originalSize:this.originalSize,originalPosition:this.originalPosition};},_propagate:function(n,e){$.ui.plugin.call(this,n,[e,this.ui()]);if(n!="resize")this.element.triggerHandler(["resize",n].join(""),[e,this.ui()],this.options[n]);},destroy:function(){var el=this.element,wrapped=el.children(".ui-resizable").get(0);this._mouseDestroy();var _destroy=function(exp){$(exp).removeClass("ui-resizable ui-resizable-disabled").removeData("resizable").unbind(".resizable").find('.ui-resizable-handle').remove();};_destroy(el);if(el.is('.ui-wrapper')&&wrapped){el.parent().append($(wrapped).css({position:el.css('position'),width:el.outerWidth(),height:el.outerHeight(),top:el.css('top'),left:el.css('left')})).end().remove();_destroy(wrapped);}},_mouseStart:function(e){if(this.options.disabled)return false;var handle=false;for(var i in this.options.handles){if($(this.options.handles[i])[0]==e.target)handle=true;}
    if(!handle)return false;var o=this.options,iniPos=this.element.position(),el=this.element,num=function(v){return parseInt(v,10)||0;},ie6=$.browser.msie&&$.browser.version<7;o.resizing=true;o.documentScroll={top:$(document).scrollTop(),left:$(document).scrollLeft()};if(el.is('.ui-draggable')||(/absolute/).test(el.css('position'))){var sOffset=$.browser.msie&&!o.containment&&(/absolute/).test(el.css('position'))&&!(/relative/).test(el.parent().css('position'));var dscrollt=sOffset?o.documentScroll.top:0,dscrolll=sOffset?o.documentScroll.left:0;el.css({position:'absolute',top:(iniPos.top+dscrollt),left:(iniPos.left+dscrolll)});}
    if($.browser.opera&&/relative/.test(el.css('position')))
    el.css({position:'relative',top:'auto',left:'auto'});this._renderProxy();var curleft=num(this.helper.css('left')),curtop=num(this.helper.css('top'));if(o.containment){curleft+=$(o.containment).scrollLeft()||0;curtop+=$(o.containment).scrollTop()||0;}
    this.offset=this.helper.offset();this.position={left:curleft,top:curtop};this.size=o.helper||ie6?{width:el.outerWidth(),height:el.outerHeight()}:{width:el.width(),height:el.height()};this.originalSize=o.helper||ie6?{width:el.outerWidth(),height:el.outerHeight()}:{width:el.width(),height:el.height()};this.originalPosition={left:curleft,top:curtop};this.sizeDiff={width:el.outerWidth()-el.width(),height:el.outerHeight()-el.height()};this.originalMousePosition={left:e.pageX,top:e.pageY};o.aspectRatio=(typeof o.aspectRatio=='number')?o.aspectRatio:((this.originalSize.height/this.originalSize.width)||1);if(o.preserveCursor)
    $('body').css('cursor',this.axis+'-resize');this._propagate("start",e);return true;},_mouseDrag:function(e){var el=this.helper,o=this.options,props={},self=this,smp=this.originalMousePosition,a=this.axis;var dx=(e.pageX-smp.left)||0,dy=(e.pageY-smp.top)||0;var trigger=this._change[a];if(!trigger)return false;var data=trigger.apply(this,[e,dx,dy]),ie6=$.browser.msie&&$.browser.version<7,csdif=this.sizeDiff;if(o._aspectRatio||e.shiftKey)
    data=this._updateRatio(data,e);data=this._respectSize(data,e);this._propagate("resize",e);el.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});if(!o.helper&&o.proportionallyResize)
    this._proportionallyResize();this._updateCache(data);this.element.triggerHandler("resize",[e,this.ui()],this.options["resize"]);return false;},_mouseStop:function(e){this.options.resizing=false;var o=this.options,num=function(v){return parseInt(v,10)||0;},self=this;if(o.helper){var pr=o.proportionallyResize,ista=pr&&(/textarea/i).test(pr.get(0).nodeName),soffseth=ista&&$.ui.hasScroll(pr.get(0),'left')?0:self.sizeDiff.height,soffsetw=ista?0:self.sizeDiff.width;var s={width:(self.size.width-soffsetw),height:(self.size.height-soffseth)},left=(parseInt(self.element.css('left'),10)+(self.position.left-self.originalPosition.left))||null,top=(parseInt(self.element.css('top'),10)+(self.position.top-self.originalPosition.top))||null;if(!o.animate)
    this.element.css($.extend(s,{top:top,left:left}));if(o.helper&&!o.animate)this._proportionallyResize();}
    if(o.preserveCursor)
    $('body').css('cursor','auto');this._propagate("stop",e);if(o.helper)this.helper.remove();return false;},_updateCache:function(data){var o=this.options;this.offset=this.helper.offset();if(data.left)this.position.left=data.left;if(data.top)this.position.top=data.top;if(data.height)this.size.height=data.height;if(data.width)this.size.width=data.width;},_updateRatio:function(data,e){var o=this.options,cpos=this.position,csize=this.size,a=this.axis;if(data.height)data.width=(csize.height/o.aspectRatio);else if(data.width)data.height=(csize.width*o.aspectRatio);if(a=='sw'){data.left=cpos.left+(csize.width-data.width);data.top=null;}
    if(a=='nw'){data.top=cpos.top+(csize.height-data.height);data.left=cpos.left+(csize.width-data.width);}
    return data;},_respectSize:function(data,e){var el=this.helper,o=this.options,pRatio=o._aspectRatio||e.shiftKey,a=this.axis,ismaxw=data.width&&o.maxWidth&&o.maxWidth<data.width,ismaxh=data.height&&o.maxHeight&&o.maxHeight<data.height,isminw=data.width&&o.minWidth&&o.minWidth>data.width,isminh=data.height&&o.minHeight&&o.minHeight>data.height;if(isminw)data.width=o.minWidth;if(isminh)data.height=o.minHeight;if(ismaxw)data.width=o.maxWidth;if(ismaxh)data.height=o.maxHeight;var dw=this.originalPosition.left+this.originalSize.width,dh=this.position.top+this.size.height;var cw=/sw|nw|w/.test(a),ch=/nw|ne|n/.test(a);if(isminw&&cw)data.left=dw-o.minWidth;if(ismaxw&&cw)data.left=dw-o.maxWidth;if(isminh&&ch)data.top=dh-o.minHeight;if(ismaxh&&ch)data.top=dh-o.maxHeight;var isNotwh=!data.width&&!data.height;if(isNotwh&&!data.left&&data.top)data.top=null;else if(isNotwh&&!data.top&&data.left)data.left=null;return data;},_proportionallyResize:function(){var o=this.options;if(!o.proportionallyResize)return;var prel=o.proportionallyResize,el=this.helper||this.element;if(!o.borderDif){var b=[prel.css('borderTopWidth'),prel.css('borderRightWidth'),prel.css('borderBottomWidth'),prel.css('borderLeftWidth')],p=[prel.css('paddingTop'),prel.css('paddingRight'),prel.css('paddingBottom'),prel.css('paddingLeft')];o.borderDif=$.map(b,function(v,i){var border=parseInt(v,10)||0,padding=parseInt(p[i],10)||0;return border+padding;});}
    prel.css({height:(el.height()-o.borderDif[0]-o.borderDif[2])+"px",width:(el.width()-o.borderDif[1]-o.borderDif[3])+"px"});},_renderProxy:function(){var el=this.element,o=this.options;this.elementOffset=el.offset();if(o.helper){this.helper=this.helper||$('<div style="overflow:hidden;"></div>');var ie6=$.browser.msie&&$.browser.version<7,ie6offset=(ie6?1:0),pxyoffset=(ie6?2:-1);this.helper.addClass(o.helper).css({width:el.outerWidth()+pxyoffset,height:el.outerHeight()+pxyoffset,position:'absolute',left:this.elementOffset.left-ie6offset+'px',top:this.elementOffset.top-ie6offset+'px',zIndex:++o.zIndex});this.helper.appendTo("body");if(o.disableSelection)
    $.ui.disableSelection(this.helper.get(0));}else{this.helper=el;}},_change:{e:function(e,dx,dy){return{width:this.originalSize.width+dx};},w:function(e,dx,dy){var o=this.options,cs=this.originalSize,sp=this.originalPosition;return{left:sp.left+dx,width:cs.width-dx};},n:function(e,dx,dy){var o=this.options,cs=this.originalSize,sp=this.originalPosition;return{top:sp.top+dy,height:cs.height-dy};},s:function(e,dx,dy){return{height:this.originalSize.height+dy};},se:function(e,dx,dy){return $.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,dx,dy]));},sw:function(e,dx,dy){return $.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,dx,dy]));},ne:function(e,dx,dy){return $.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,dx,dy]));},nw:function(e,dx,dy){return $.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,dx,dy]));}}}));$.extend($.ui.resizable,{defaults:{cancel:":input",distance:1,delay:0,preventDefault:true,transparent:false,minWidth:10,minHeight:10,aspectRatio:false,disableSelection:true,preserveCursor:true,autoHide:false,knobHandles:false}});$.ui.plugin.add("resizable","containment",{start:function(e,ui){var o=ui.options,self=$(this).data("resizable"),el=self.element;var oc=o.containment,ce=(oc instanceof $)?oc.get(0):(/parent/.test(oc))?el.parent().get(0):oc;if(!ce)return;self.containerElement=$(ce);if(/document/.test(oc)||oc==document){self.containerOffset={left:0,top:0};self.containerPosition={left:0,top:0};self.parentData={element:$(document),left:0,top:0,width:$(document).width(),height:$(document).height()||document.body.parentNode.scrollHeight};}
    else{self.containerOffset=$(ce).offset();self.containerPosition=$(ce).position();self.containerSize={height:$(ce).innerHeight(),width:$(ce).innerWidth()};var co=self.containerOffset,ch=self.containerSize.height,cw=self.containerSize.width,width=($.ui.hasScroll(ce,"left")?ce.scrollWidth:cw),height=($.ui.hasScroll(ce)?ce.scrollHeight:ch);self.parentData={element:ce,left:co.left,top:co.top,width:width,height:height};}},resize:function(e,ui){var o=ui.options,self=$(this).data("resizable"),ps=self.containerSize,co=self.containerOffset,cs=self.size,cp=self.position,pRatio=o._aspectRatio||e.shiftKey,cop={top:0,left:0},ce=self.containerElement;if(ce[0]!=document&&/static/.test(ce.css('position')))
    cop=self.containerPosition;if(cp.left<(o.helper?co.left:cop.left)){self.size.width=self.size.width+(o.helper?(self.position.left-co.left):(self.position.left-cop.left));if(pRatio)self.size.height=self.size.width*o.aspectRatio;self.position.left=o.helper?co.left:cop.left;}
    if(cp.top<(o.helper?co.top:0)){self.size.height=self.size.height+(o.helper?(self.position.top-co.top):self.position.top);if(pRatio)self.size.width=self.size.height/o.aspectRatio;self.position.top=o.helper?co.top:0;}
    var woset=(o.helper?self.offset.left-co.left:(self.position.left-cop.left))+self.sizeDiff.width,hoset=(o.helper?self.offset.top-co.top:self.position.top)+self.sizeDiff.height;if(woset+self.size.width>=self.parentData.width){self.size.width=self.parentData.width-woset;if(pRatio)self.size.height=self.size.width*o.aspectRatio;}
    if(hoset+self.size.height>=self.parentData.height){self.size.height=self.parentData.height-hoset;if(pRatio)self.size.width=self.size.height/o.aspectRatio;}},stop:function(e,ui){var o=ui.options,self=$(this).data("resizable"),cp=self.position,co=self.containerOffset,cop=self.containerPosition,ce=self.containerElement;var helper=$(self.helper),ho=helper.offset(),w=helper.innerWidth(),h=helper.innerHeight();if(o.helper&&!o.animate&&/relative/.test(ce.css('position')))
    $(this).css({left:(ho.left-co.left),top:(ho.top-co.top),width:w,height:h});if(o.helper&&!o.animate&&/static/.test(ce.css('position')))
    $(this).css({left:cop.left+(ho.left-co.left),top:cop.top+(ho.top-co.top),width:w,height:h});}});$.ui.plugin.add("resizable","grid",{resize:function(e,ui){var o=ui.options,self=$(this).data("resizable"),cs=self.size,os=self.originalSize,op=self.originalPosition,a=self.axis,ratio=o._aspectRatio||e.shiftKey;o.grid=typeof o.grid=="number"?[o.grid,o.grid]:o.grid;var ox=Math.round((cs.width-os.width)/(o.grid[0]||1))*(o.grid[0]||1),oy=Math.round((cs.height-os.height)/(o.grid[1]||1))*(o.grid[1]||1);if(/^(se|s|e)$/.test(a)){self.size.width=os.width+ox;self.size.height=os.height+oy;}
    else if(/^(ne)$/.test(a)){self.size.width=os.width+ox;self.size.height=os.height+oy;self.position.top=op.top-oy;}
    else if(/^(sw)$/.test(a)){self.size.width=os.width+ox;self.size.height=os.height+oy;self.position.left=op.left-ox;}
    else{self.size.width=os.width+ox;self.size.height=os.height+oy;self.position.top=op.top-oy;self.position.left=op.left-ox;}}});$.ui.plugin.add("resizable","animate",{stop:function(e,ui){var o=ui.options,self=$(this).data("resizable");var pr=o.proportionallyResize,ista=pr&&(/textarea/i).test(pr.get(0).nodeName),soffseth=ista&&$.ui.hasScroll(pr.get(0),'left')?0:self.sizeDiff.height,soffsetw=ista?0:self.sizeDiff.width;var style={width:(self.size.width-soffsetw),height:(self.size.height-soffseth)},left=(parseInt(self.element.css('left'),10)+(self.position.left-self.originalPosition.left))||null,top=(parseInt(self.element.css('top'),10)+(self.position.top-self.originalPosition.top))||null;self.element.animate($.extend(style,top&&left?{top:top,left:left}:{}),{duration:o.animateDuration||"slow",easing:o.animateEasing||"swing",step:function(){var data={width:parseInt(self.element.css('width'),10),height:parseInt(self.element.css('height'),10),top:parseInt(self.element.css('top'),10),left:parseInt(self.element.css('left'),10)};if(pr)pr.css({width:data.width,height:data.height});self._updateCache(data);self._propagate("animate",e);}});}});$.ui.plugin.add("resizable","ghost",{start:function(e,ui){var o=ui.options,self=$(this).data("resizable"),pr=o.proportionallyResize,cs=self.size;if(!pr)self.ghost=self.element.clone();else self.ghost=pr.clone();self.ghost.css({opacity:.25,display:'block',position:'relative',height:cs.height,width:cs.width,margin:0,left:0,top:0}).addClass('ui-resizable-ghost').addClass(typeof o.ghost=='string'?o.ghost:'');self.ghost.appendTo(self.helper);},resize:function(e,ui){var o=ui.options,self=$(this).data("resizable"),pr=o.proportionallyResize;if(self.ghost)self.ghost.css({position:'relative',height:self.size.height,width:self.size.width});},stop:function(e,ui){var o=ui.options,self=$(this).data("resizable"),pr=o.proportionallyResize;if(self.ghost&&self.helper)self.helper.get(0).removeChild(self.ghost.get(0));}});$.ui.plugin.add("resizable","alsoResize",{start:function(e,ui){var o=ui.options,self=$(this).data("resizable"),_store=function(exp){$(exp).each(function(){$(this).data("resizable-alsoresize",{width:parseInt($(this).width(),10),height:parseInt($(this).height(),10),left:parseInt($(this).css('left'),10),top:parseInt($(this).css('top'),10)});});};if(typeof(o.alsoResize)=='object'){if(o.alsoResize.length){o.alsoResize=o.alsoResize[0];_store(o.alsoResize);}
    else{$.each(o.alsoResize,function(exp,c){_store(exp);});}}else{_store(o.alsoResize);}},resize:function(e,ui){var o=ui.options,self=$(this).data("resizable"),os=self.originalSize,op=self.originalPosition;var delta={height:(self.size.height-os.height)||0,width:(self.size.width-os.width)||0,top:(self.position.top-op.top)||0,left:(self.position.left-op.left)||0},_alsoResize=function(exp,c){$(exp).each(function(){var start=$(this).data("resizable-alsoresize"),style={},css=c&&c.length?c:['width','height','top','left'];$.each(css||['width','height','top','left'],function(i,prop){var sum=(start[prop]||0)+(delta[prop]||0);if(sum&&sum>=0)
    style[prop]=sum||null;});$(this).css(style);});};if(typeof(o.alsoResize)=='object'){$.each(o.alsoResize,function(exp,c){_alsoResize(exp,c);});}else{_alsoResize(o.alsoResize);}},stop:function(e,ui){$(this).removeData("resizable-alsoresize-start");}});})(jQuery);(function($){$.widget("ui.selectable",$.extend({},$.ui.mouse,{_init:function(){var self=this;this.element.addClass("ui-selectable");this.dragged=false;var selectees;this.refresh=function(){selectees=$(self.options.filter,self.element[0]);selectees.each(function(){var $this=$(this);var pos=$this.offset();$.data(this,"selectable-item",{element:this,$element:$this,left:pos.left,top:pos.top,right:pos.left+$this.width(),bottom:pos.top+$this.height(),startselected:false,selected:$this.hasClass('ui-selected'),selecting:$this.hasClass('ui-selecting'),unselecting:$this.hasClass('ui-unselecting')});});};this.refresh();this.selectees=selectees.addClass("ui-selectee");this._mouseInit();this.helper=$(document.createElement('div')).css({border:'1px dotted black'}).addClass("ui-selectable-helper");},toggle:function(){if(this.options.disabled){this.enable();}else{this.disable();}},destroy:function(){this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable");this._mouseDestroy();},_mouseStart:function(e){var self=this;this.opos=[e.pageX,e.pageY];if(this.options.disabled)
    return;var options=this.options;this.selectees=$(options.filter,this.element[0]);this.element.triggerHandler("selectablestart",[e,{"selectable":this.element[0],"options":options}],options.start);$('body').append(this.helper);this.helper.css({"z-index":100,"position":"absolute","left":e.clientX,"top":e.clientY,"width":0,"height":0});if(options.autoRefresh){this.refresh();}
    this.selectees.filter('.ui-selected').each(function(){var selectee=$.data(this,"selectable-item");selectee.startselected=true;if(!e.metaKey){selectee.$element.removeClass('ui-selected');selectee.selected=false;selectee.$element.addClass('ui-unselecting');selectee.unselecting=true;self.element.triggerHandler("selectableunselecting",[e,{selectable:self.element[0],unselecting:selectee.element,options:options}],options.unselecting);}});var isSelectee=false;$(e.target).parents().andSelf().each(function(){if($.data(this,"selectable-item"))isSelectee=true;});return this.options.keyboard?!isSelectee:true;},_mouseDrag:function(e){var self=this;this.dragged=true;if(this.options.disabled)
    return;var options=this.options;var x1=this.opos[0],y1=this.opos[1],x2=e.pageX,y2=e.pageY;if(x1>x2){var tmp=x2;x2=x1;x1=tmp;}
    if(y1>y2){var tmp=y2;y2=y1;y1=tmp;}
    this.helper.css({left:x1,top:y1,width:x2-x1,height:y2-y1});this.selectees.each(function(){var selectee=$.data(this,"selectable-item");if(!selectee||selectee.element==self.element[0])
    return;var hit=false;if(options.tolerance=='touch'){hit=(!(selectee.left>x2||selectee.right<x1||selectee.top>y2||selectee.bottom<y1));}else if(options.tolerance=='fit'){hit=(selectee.left>x1&&selectee.right<x2&&selectee.top>y1&&selectee.bottom<y2);}
    if(hit){if(selectee.selected){selectee.$element.removeClass('ui-selected');selectee.selected=false;}
    if(selectee.unselecting){selectee.$element.removeClass('ui-unselecting');selectee.unselecting=false;}
    if(!selectee.selecting){selectee.$element.addClass('ui-selecting');selectee.selecting=true;self.element.triggerHandler("selectableselecting",[e,{selectable:self.element[0],selecting:selectee.element,options:options}],options.selecting);}}else{if(selectee.selecting){if(e.metaKey&&selectee.startselected){selectee.$element.removeClass('ui-selecting');selectee.selecting=false;selectee.$element.addClass('ui-selected');selectee.selected=true;}else{selectee.$element.removeClass('ui-selecting');selectee.selecting=false;if(selectee.startselected){selectee.$element.addClass('ui-unselecting');selectee.unselecting=true;}
    self.element.triggerHandler("selectableunselecting",[e,{selectable:self.element[0],unselecting:selectee.element,options:options}],options.unselecting);}}
    if(selectee.selected){if(!e.metaKey&&!selectee.startselected){selectee.$element.removeClass('ui-selected');selectee.selected=false;selectee.$element.addClass('ui-unselecting');selectee.unselecting=true;self.element.triggerHandler("selectableunselecting",[e,{selectable:self.element[0],unselecting:selectee.element,options:options}],options.unselecting);}}}});return false;},_mouseStop:function(e){var self=this;this.dragged=false;var options=this.options;$('.ui-unselecting',this.element[0]).each(function(){var selectee=$.data(this,"selectable-item");selectee.$element.removeClass('ui-unselecting');selectee.unselecting=false;selectee.startselected=false;self.element.triggerHandler("selectableunselected",[e,{selectable:self.element[0],unselected:selectee.element,options:options}],options.unselected);});$('.ui-selecting',this.element[0]).each(function(){var selectee=$.data(this,"selectable-item");selectee.$element.removeClass('ui-selecting').addClass('ui-selected');selectee.selecting=false;selectee.selected=true;selectee.startselected=true;self.element.triggerHandler("selectableselected",[e,{selectable:self.element[0],selected:selectee.element,options:options}],options.selected);});this.element.triggerHandler("selectablestop",[e,{selectable:self.element[0],options:this.options}],this.options.stop);this.helper.remove();return false;}}));$.extend($.ui.selectable,{defaults:{distance:1,delay:0,cancel:":input",appendTo:'body',autoRefresh:true,filter:'*',tolerance:'touch'}});})(jQuery);(function($){$.widget("ui.accordion",{_init:function(){var options=this.options;if(options.navigation){var current=this.element.find("a").filter(options.navigationFilter);if(current.length){if(current.filter(options.header).length){options.active=current;}else{options.active=current.parent().parent().prev();current.addClass("current");}}}
    options.headers=this.element.find(options.header);options.active=findActive(options.headers,options.active);if($.browser.msie){this.element.find('a').css('zoom','1');}
    if(!this.element.hasClass("ui-accordion")){this.element.addClass("ui-accordion");$('<span class="ui-accordion-left"/>').insertBefore(options.headers);$('<span class="ui-accordion-right"/>').appendTo(options.headers);options.headers.addClass("ui-accordion-header").attr("tabindex","0");}
    var maxHeight;if(options.fillSpace){maxHeight=this.element.parent().height();options.headers.each(function(){maxHeight-=$(this).outerHeight();});var maxPadding=0;options.headers.next().each(function(){maxPadding=Math.max(maxPadding,$(this).innerHeight()-$(this).height());}).height(maxHeight-maxPadding);}else if(options.autoHeight){maxHeight=0;options.headers.next().each(function(){maxHeight=Math.max(maxHeight,$(this).outerHeight());}).height(maxHeight);}
    options.headers.not(options.active||"").next().hide();options.active.parent().andSelf().addClass(options.selectedClass);if(options.event){this.element.bind((options.event)+".accordion",clickHandler);}},activate:function(index){clickHandler.call(this.element[0],{target:findActive(this.options.headers,index)[0]});},destroy:function(){this.options.headers.next().css("display","");if(this.options.fillSpace||this.options.autoHeight){this.options.headers.next().css("height","");}
    $.removeData(this.element[0],"accordion");this.element.removeClass("ui-accordion").unbind(".accordion");}});function scopeCallback(callback,scope){return function(){return callback.apply(scope,arguments);};};function completed(cancel){if(!$.data(this,"accordion")){return;}
    var instance=$.data(this,"accordion");var options=instance.options;options.running=cancel?0:--options.running;if(options.running){return;}
    if(options.clearStyle){options.toShow.add(options.toHide).css({height:"",overflow:""});}
    instance._trigger('change',null,options.data);}
    function toggle(toShow,toHide,data,clickedActive,down){var options=$.data(this,"accordion").options;options.toShow=toShow;options.toHide=toHide;options.data=data;var complete=scopeCallback(completed,this);options.running=toHide.size()===0?toShow.size():toHide.size();if(options.animated){if(!options.alwaysOpen&&clickedActive){$.ui.accordion.animations[options.animated]({toShow:jQuery([]),toHide:toHide,complete:complete,down:down,autoHeight:options.autoHeight});}else{$.ui.accordion.animations[options.animated]({toShow:toShow,toHide:toHide,complete:complete,down:down,autoHeight:options.autoHeight});}}else{if(!options.alwaysOpen&&clickedActive){toShow.toggle();}else{toHide.hide();toShow.show();}
    complete(true);}}
    function clickHandler(event){var options=$.data(this,"accordion").options;if(options.disabled){return false;}
    if(!event.target&&!options.alwaysOpen){options.active.parent().andSelf().toggleClass(options.selectedClass);var toHide=options.active.next(),data={options:options,newHeader:jQuery([]),oldHeader:options.active,newContent:jQuery([]),oldContent:toHide},toShow=(options.active=$([]));toggle.call(this,toShow,toHide,data);return false;}
    var clicked=$(event.target);clicked=$(clicked.parents(options.header)[0]||clicked);var clickedActive=clicked[0]==options.active[0];if(options.running||(options.alwaysOpen&&clickedActive)){return false;}
    if(!clicked.is(options.header)){return;}
    options.active.parent().andSelf().toggleClass(options.selectedClass);if(!clickedActive){clicked.parent().andSelf().addClass(options.selectedClass);}
    var toShow=clicked.next(),toHide=options.active.next(),data={options:options,newHeader:clickedActive&&!options.alwaysOpen?$([]):clicked,oldHeader:options.active,newContent:clickedActive&&!options.alwaysOpen?$([]):toShow,oldContent:toHide},down=options.headers.index(options.active[0])>options.headers.index(clicked[0]);options.active=clickedActive?$([]):clicked;toggle.call(this,toShow,toHide,data,clickedActive,down);return false;};function findActive(headers,selector){return selector?typeof selector=="number"?headers.filter(":eq("+selector+")"):headers.not(headers.not(selector)):selector===false?$([]):headers.filter(":eq(0)");}
    $.extend($.ui.accordion,{defaults:{selectedClass:"selected",alwaysOpen:true,animated:'slide',event:"click",header:"a",autoHeight:true,running:0,navigationFilter:function(){return this.href.toLowerCase()==location.href.toLowerCase();}},animations:{slide:function(options,additions){options=$.extend({easing:"swing",duration:300},options,additions);if(!options.toHide.size()){options.toShow.animate({height:"show"},options);return;}
    var hideHeight=options.toHide.height(),showHeight=options.toShow.height(),difference=showHeight/hideHeight;options.toShow.css({height:0,overflow:'hidden'}).show();options.toHide.filter(":hidden").each(options.complete).end().filter(":visible").animate({height:"hide"},{step:function(now){var current=(hideHeight-now)*difference;if($.browser.msie||$.browser.opera){current=Math.ceil(current);}
    options.toShow.height(current);},duration:options.duration,easing:options.easing,complete:function(){if(!options.autoHeight){options.toShow.css("height","auto");}
    options.complete();}});},bounceslide:function(options){this.slide(options,{easing:options.down?"bounceout":"swing",duration:options.down?1000:200});},easeslide:function(options){this.slide(options,{easing:"easeinout",duration:700});}}});$.fn.activate=function(index){return this.accordion("activate",index);};})(jQuery);(function($){$.widget("ui.tabs",{_init:function(){this.options.event+='.tabs';this._tabify(true);},_setData:function(key,value){if((/^selected/).test(key))
    this.select(value);else{this.options[key]=value;this._tabify();}},length:function(){return this.$tabs.length;},_tabId:function(a){return a.title&&a.title.replace(/\s/g,'_').replace(/[^A-Za-z0-9\-_:\.]/g,'')||this.options.idPrefix+$.data(a);},ui:function(tab,panel){return{options:this.options,tab:tab,panel:panel,index:this.$tabs.index(tab)};},_tabify:function(init){this.$lis=$('li:has(a[href])',this.element);this.$tabs=this.$lis.map(function(){return $('a',this)[0];});this.$panels=$([]);var self=this,o=this.options;this.$tabs.each(function(i,a){if(a.hash&&a.hash.replace('#',''))
    self.$panels=self.$panels.add(a.hash);else if($(a).attr('href')!='#'){$.data(a,'href.tabs',a.href);$.data(a,'load.tabs',a.href);var id=self._tabId(a);a.href='#'+id;var $panel=$('#'+id);if(!$panel.length){$panel=$(o.panelTemplate).attr('id',id).addClass(o.panelClass).insertAfter(self.$panels[i-1]||self.element);$panel.data('destroy.tabs',true);}
    self.$panels=self.$panels.add($panel);}
    else
    o.disabled.push(i+1);});if(init){this.element.addClass(o.navClass);this.$panels.each(function(){var $this=$(this);$this.addClass(o.panelClass);});if(o.selected===undefined){if(location.hash){this.$tabs.each(function(i,a){if(a.hash==location.hash){o.selected=i;if($.browser.msie||$.browser.opera){var $toShow=$(location.hash),toShowId=$toShow.attr('id');$toShow.attr('id','');setTimeout(function(){$toShow.attr('id',toShowId);},500);}
    scrollTo(0,0);return false;}});}
    else if(o.cookie){var index=parseInt($.cookie('ui-tabs-'+$.data(self.element[0])),10);if(index&&self.$tabs[index])
    o.selected=index;}
    else if(self.$lis.filter('.'+o.selectedClass).length)
    o.selected=self.$lis.index(self.$lis.filter('.'+o.selectedClass)[0]);}
    o.selected=o.selected===null||o.selected!==undefined?o.selected:0;o.disabled=$.unique(o.disabled.concat($.map(this.$lis.filter('.'+o.disabledClass),function(n,i){return self.$lis.index(n);}))).sort();if($.inArray(o.selected,o.disabled)!=-1)
    o.disabled.splice($.inArray(o.selected,o.disabled),1);this.$panels.addClass(o.hideClass);this.$lis.removeClass(o.selectedClass);if(o.selected!==null){this.$panels.eq(o.selected).show().removeClass(o.hideClass);this.$lis.eq(o.selected).addClass(o.selectedClass);var onShow=function(){self._trigger('show',null,self.ui(self.$tabs[o.selected],self.$panels[o.selected]));};if($.data(this.$tabs[o.selected],'load.tabs'))
    this.load(o.selected,onShow);else
    onShow();}
    $(window).bind('unload',function(){self.$tabs.unbind('.tabs');self.$lis=self.$tabs=self.$panels=null;});}
    else
    o.selected=this.$lis.index(this.$lis.filter('.'+o.selectedClass)[0]);if(o.cookie)
    $.cookie('ui-tabs-'+$.data(self.element[0]),o.selected,o.cookie);for(var i=0,li;li=this.$lis[i];i++)
    $(li)[$.inArray(i,o.disabled)!=-1&&!$(li).hasClass(o.selectedClass)?'addClass':'removeClass'](o.disabledClass);if(o.cache===false)
    this.$tabs.removeData('cache.tabs');var hideFx,showFx,baseFx={'min-width':0,duration:1},baseDuration='normal';if(o.fx&&o.fx.constructor==Array)
    hideFx=o.fx[0]||baseFx,showFx=o.fx[1]||baseFx;else
    hideFx=showFx=o.fx||baseFx;var resetCSS={display:'',overflow:'',height:''};if(!$.browser.msie)
    resetCSS.opacity='';function hideTab(clicked,$hide,$show){$hide.animate(hideFx,hideFx.duration||baseDuration,function(){$hide.addClass(o.hideClass).css(resetCSS);if($.browser.msie&&hideFx.opacity)
    $hide[0].style.filter='';if($show)
    showTab(clicked,$show,$hide);});}
    function showTab(clicked,$show,$hide){if(showFx===baseFx)
    $show.css('display','block');$show.animate(showFx,showFx.duration||baseDuration,function(){$show.removeClass(o.hideClass).css(resetCSS);if($.browser.msie&&showFx.opacity)
    $show[0].style.filter='';self._trigger('show',null,self.ui(clicked,$show[0]));});}
    function switchTab(clicked,$li,$hide,$show){$li.addClass(o.selectedClass).siblings().removeClass(o.selectedClass);hideTab(clicked,$hide,$show);}
    this.$tabs.unbind('.tabs').bind(o.event,function(){var $li=$(this).parents('li:eq(0)'),$hide=self.$panels.filter(':visible'),$show=$(this.hash);if(($li.hasClass(o.selectedClass)&&!o.unselect)||$li.hasClass(o.disabledClass)||$(this).hasClass(o.loadingClass)||self._trigger('select',null,self.ui(this,$show[0]))===false){this.blur();return false;}
    self.options.selected=self.$tabs.index(this);if(o.unselect){if($li.hasClass(o.selectedClass)){self.options.selected=null;$li.removeClass(o.selectedClass);self.$panels.stop();hideTab(this,$hide);this.blur();return false;}else if(!$hide.length){self.$panels.stop();var a=this;self.load(self.$tabs.index(this),function(){$li.addClass(o.selectedClass).addClass(o.unselectClass);showTab(a,$show);});this.blur();return false;}}
    if(o.cookie)
    $.cookie('ui-tabs-'+$.data(self.element[0]),self.options.selected,o.cookie);self.$panels.stop();if($show.length){var a=this;self.load(self.$tabs.index(this),$hide.length?function(){switchTab(a,$li,$hide,$show);}:function(){$li.addClass(o.selectedClass);showTab(a,$show);});}else
    throw'jQuery UI Tabs: Mismatching fragment identifier.';if($.browser.msie)
    this.blur();return false;});if(!(/^click/).test(o.event))
    this.$tabs.bind('click.tabs',function(){return false;});},add:function(url,label,index){if(index==undefined)
    index=this.$tabs.length;var o=this.options;var $li=$(o.tabTemplate.replace(/#\{href\}/g,url).replace(/#\{label\}/g,label));$li.data('destroy.tabs',true);var id=url.indexOf('#')==0?url.replace('#',''):this._tabId($('a:first-child',$li)[0]);var $panel=$('#'+id);if(!$panel.length){$panel=$(o.panelTemplate).attr('id',id).addClass(o.hideClass).data('destroy.tabs',true);}
    $panel.addClass(o.panelClass);if(index>=this.$lis.length){$li.appendTo(this.element);$panel.appendTo(this.element[0].parentNode);}else{$li.insertBefore(this.$lis[index]);$panel.insertBefore(this.$panels[index]);}
    o.disabled=$.map(o.disabled,function(n,i){return n>=index?++n:n});this._tabify();if(this.$tabs.length==1){$li.addClass(o.selectedClass);$panel.removeClass(o.hideClass);var href=$.data(this.$tabs[0],'load.tabs');if(href)
    this.load(index,href);}
    this._trigger('add',null,this.ui(this.$tabs[index],this.$panels[index]));},remove:function(index){var o=this.options,$li=this.$lis.eq(index).remove(),$panel=this.$panels.eq(index).remove();if($li.hasClass(o.selectedClass)&&this.$tabs.length>1)
    this.select(index+(index+1<this.$tabs.length?1:-1));o.disabled=$.map($.grep(o.disabled,function(n,i){return n!=index;}),function(n,i){return n>=index?--n:n});this._tabify();this._trigger('remove',null,this.ui($li.find('a')[0],$panel[0]));},enable:function(index){var o=this.options;if($.inArray(index,o.disabled)==-1)
    return;var $li=this.$lis.eq(index).removeClass(o.disabledClass);if($.browser.safari){$li.css('display','inline-block');setTimeout(function(){$li.css('display','block');},0);}
    o.disabled=$.grep(o.disabled,function(n,i){return n!=index;});this._trigger('enable',null,this.ui(this.$tabs[index],this.$panels[index]));},disable:function(index){var self=this,o=this.options;if(index!=o.selected){this.$lis.eq(index).addClass(o.disabledClass);o.disabled.push(index);o.disabled.sort();this._trigger('disable',null,this.ui(this.$tabs[index],this.$panels[index]));}},select:function(index){if(typeof index=='string')
    index=this.$tabs.index(this.$tabs.filter('[href$='+index+']')[0]);this.$tabs.eq(index).trigger(this.options.event);},load:function(index,callback){var self=this,o=this.options,$a=this.$tabs.eq(index),a=$a[0],bypassCache=callback==undefined||callback===false,url=$a.data('load.tabs');callback=callback||function(){};if(!url||!bypassCache&&$.data(a,'cache.tabs')){callback();return;}
    var inner=function(parent){var $parent=$(parent),$inner=$parent.find('*:last');return $inner.length&&$inner.is(':not(img)')&&$inner||$parent;};var cleanup=function(){self.$tabs.filter('.'+o.loadingClass).removeClass(o.loadingClass).each(function(){if(o.spinner)
    inner(this).parent().html(inner(this).data('label.tabs'));});self.xhr=null;};if(o.spinner){var label=inner(a).html();inner(a).wrapInner('<em></em>').find('em').data('label.tabs',label).html(o.spinner);}
    var ajaxOptions=$.extend({},o.ajaxOptions,{url:url,success:function(r,s){$(a.hash).html(r);cleanup();if(o.cache)
    $.data(a,'cache.tabs',true);self._trigger('load',null,self.ui(self.$tabs[index],self.$panels[index]));o.ajaxOptions.success&&o.ajaxOptions.success(r,s);callback();}});if(this.xhr){this.xhr.abort();cleanup();}
    $a.addClass(o.loadingClass);setTimeout(function(){self.xhr=$.ajax(ajaxOptions);},0);},url:function(index,url){this.$tabs.eq(index).removeData('cache.tabs').data('load.tabs',url);},destroy:function(){var o=this.options;this.element.unbind('.tabs').removeClass(o.navClass).removeData('tabs');this.$tabs.each(function(){var href=$.data(this,'href.tabs');if(href)
    this.href=href;var $this=$(this).unbind('.tabs');$.each(['href','load','cache'],function(i,prefix){$this.removeData(prefix+'.tabs');});});this.$lis.add(this.$panels).each(function(){if($.data(this,'destroy.tabs'))
    $(this).remove();else
    $(this).removeClass([o.selectedClass,o.unselectClass,o.disabledClass,o.panelClass,o.hideClass].join(' '));});}});$.ui.tabs.defaults={unselect:false,event:'click',disabled:[],cookie:null,spinner:'Loading&#8230;',cache:false,idPrefix:'ui-tabs-',ajaxOptions:{},fx:null,tabTemplate:'<li><a href="#{href}"><span>#{label}</span></a></li>',panelTemplate:'<div></div>',navClass:'ui-tabs-nav',selectedClass:'ui-tabs-selected',unselectClass:'ui-tabs-unselect',disabledClass:'ui-tabs-disabled',panelClass:'ui-tabs-panel',hideClass:'ui-tabs-hide',loadingClass:'ui-tabs-loading'};$.ui.tabs.getter="length";$.extend($.ui.tabs.prototype,{rotation:null,rotate:function(ms,continuing){continuing=continuing||false;var self=this,t=this.options.selected;function start(){self.rotation=setInterval(function(){t=++t<self.$tabs.length?t:0;self.select(t);},ms);}
    function stop(e){if(!e||e.clientX){clearInterval(self.rotation);}}
    if(ms){start();if(!continuing)
    this.$tabs.bind(this.options.event,stop);else
    this.$tabs.bind(this.options.event,function(){stop();t=self.options.selected;start();});}
    else{stop();this.$tabs.unbind(this.options.event,stop);}}});})(jQuery);;(function($){$.effects=$.effects||{};$.extend($.effects,{save:function(el,set){for(var i=0;i<set.length;i++){if(set[i]!==null)$.data(el[0],"ec.storage."+set[i],el[0].style[set[i]]);}},restore:function(el,set){for(var i=0;i<set.length;i++){if(set[i]!==null)el.css(set[i],$.data(el[0],"ec.storage."+set[i]));}},setMode:function(el,mode){if(mode=='toggle')mode=el.is(':hidden')?'show':'hide';return mode;},getBaseline:function(origin,original){var y,x;switch(origin[0]){case'top':y=0;break;case'middle':y=0.5;break;case'bottom':y=1;break;default:y=origin[0]/original.height;};switch(origin[1]){case'left':x=0;break;case'center':x=0.5;break;case'right':x=1;break;default:x=origin[1]/original.width;};return{x:x,y:y};},createWrapper:function(el){if(el.parent().attr('id')=='fxWrapper')
    return el;var props={width:el.outerWidth({margin:true}),height:el.outerHeight({margin:true}),'float':el.css('float')};el.wrap('<div id="fxWrapper" style="font-size:100%;background:transparent;border:none;margin:0;padding:0"></div>');var wrapper=el.parent();if(el.css('position')=='static'){wrapper.css({position:'relative'});el.css({position:'relative'});}else{var top=el.css('top');if(isNaN(parseInt(top)))top='auto';var left=el.css('left');if(isNaN(parseInt(left)))left='auto';wrapper.css({position:el.css('position'),top:top,left:left,zIndex:el.css('z-index')}).show();el.css({position:'relative',top:0,left:0});}
    wrapper.css(props);return wrapper;},removeWrapper:function(el){if(el.parent().attr('id')=='fxWrapper')
    return el.parent().replaceWith(el);return el;},setTransition:function(el,list,factor,val){val=val||{};$.each(list,function(i,x){unit=el.cssUnit(x);if(unit[0]>0)val[x]=unit[0]*factor+unit[1];});return val;},animateClass:function(value,duration,easing,callback){var cb=(typeof easing=="function"?easing:(callback?callback:null));var ea=(typeof easing=="object"?easing:null);return this.each(function(){var offset={};var that=$(this);var oldStyleAttr=that.attr("style")||'';if(typeof oldStyleAttr=='object')oldStyleAttr=oldStyleAttr["cssText"];if(value.toggle){that.hasClass(value.toggle)?value.remove=value.toggle:value.add=value.toggle;}
    var oldStyle=$.extend({},(document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle));if(value.add)that.addClass(value.add);if(value.remove)that.removeClass(value.remove);var newStyle=$.extend({},(document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle));if(value.add)that.removeClass(value.add);if(value.remove)that.addClass(value.remove);for(var n in newStyle){if(typeof newStyle[n]!="function"&&newStyle[n]&&n.indexOf("Moz")==-1&&n.indexOf("length")==-1&&newStyle[n]!=oldStyle[n]&&(n.match(/color/i)||(!n.match(/color/i)&&!isNaN(parseInt(newStyle[n],10))))&&(oldStyle.position!="static"||(oldStyle.position=="static"&&!n.match(/left|top|bottom|right/))))offset[n]=newStyle[n];}
    that.animate(offset,duration,ea,function(){if(typeof $(this).attr("style")=='object'){$(this).attr("style")["cssText"]="";$(this).attr("style")["cssText"]=oldStyleAttr;}else $(this).attr("style",oldStyleAttr);if(value.add)$(this).addClass(value.add);if(value.remove)$(this).removeClass(value.remove);if(cb)cb.apply(this,arguments);});});}});$.fn.extend({_show:$.fn.show,_hide:$.fn.hide,__toggle:$.fn.toggle,_addClass:$.fn.addClass,_removeClass:$.fn.removeClass,_toggleClass:$.fn.toggleClass,effect:function(fx,o,speed,callback){return $.effects[fx]?$.effects[fx].call(this,{method:fx,options:o||{},duration:speed,callback:callback}):null;},show:function(){if(!arguments[0]||(arguments[0].constructor==Number||/(slow|normal|fast)/.test(arguments[0])))
    return this._show.apply(this,arguments);else{var o=arguments[1]||{};o['mode']='show';return this.effect.apply(this,[arguments[0],o,arguments[2]||o.duration,arguments[3]||o.callback]);}},hide:function(){if(!arguments[0]||(arguments[0].constructor==Number||/(slow|normal|fast)/.test(arguments[0])))
    return this._hide.apply(this,arguments);else{var o=arguments[1]||{};o['mode']='hide';return this.effect.apply(this,[arguments[0],o,arguments[2]||o.duration,arguments[3]||o.callback]);}},toggle:function(){if(!arguments[0]||(arguments[0].constructor==Number||/(slow|normal|fast)/.test(arguments[0]))||(arguments[0].constructor==Function))
    return this.__toggle.apply(this,arguments);else{var o=arguments[1]||{};o['mode']='toggle';return this.effect.apply(this,[arguments[0],o,arguments[2]||o.duration,arguments[3]||o.callback]);}},addClass:function(classNames,speed,easing,callback){return speed?$.effects.animateClass.apply(this,[{add:classNames},speed,easing,callback]):this._addClass(classNames);},removeClass:function(classNames,speed,easing,callback){return speed?$.effects.animateClass.apply(this,[{remove:classNames},speed,easing,callback]):this._removeClass(classNames);},toggleClass:function(classNames,speed,easing,callback){return speed?$.effects.animateClass.apply(this,[{toggle:classNames},speed,easing,callback]):this._toggleClass(classNames);},morph:function(remove,add,speed,easing,callback){return $.effects.animateClass.apply(this,[{add:add,remove:remove},speed,easing,callback]);},switchClass:function(){return this.morph.apply(this,arguments);},cssUnit:function(key){var style=this.css(key),val=[];$.each(['em','px','%','pt'],function(i,unit){if(style.indexOf(unit)>0)
    val=[parseFloat(style),unit];});return val;}});jQuery.each(['backgroundColor','borderBottomColor','borderLeftColor','borderRightColor','borderTopColor','color','outlineColor'],function(i,attr){jQuery.fx.step[attr]=function(fx){if(fx.state==0){fx.start=getColor(fx.elem,attr);fx.end=getRGB(fx.end);}
    fx.elem.style[attr]="rgb("+[Math.max(Math.min(parseInt((fx.pos*(fx.end[0]-fx.start[0]))+fx.start[0]),255),0),Math.max(Math.min(parseInt((fx.pos*(fx.end[1]-fx.start[1]))+fx.start[1]),255),0),Math.max(Math.min(parseInt((fx.pos*(fx.end[2]-fx.start[2]))+fx.start[2]),255),0)].join(",")+")";}});function getRGB(color){var result;if(color&&color.constructor==Array&&color.length==3)
    return color;if(result=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(color))
    return[parseInt(result[1]),parseInt(result[2]),parseInt(result[3])];if(result=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(color))
    return[parseFloat(result[1])*2.55,parseFloat(result[2])*2.55,parseFloat(result[3])*2.55];if(result=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(color))
    return[parseInt(result[1],16),parseInt(result[2],16),parseInt(result[3],16)];if(result=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(color))
    return[parseInt(result[1]+result[1],16),parseInt(result[2]+result[2],16),parseInt(result[3]+result[3],16)];if(result=/rgba\(0, 0, 0, 0\)/.exec(color))
    return colors['transparent']
    return colors[jQuery.trim(color).toLowerCase()];}
    function getColor(elem,attr){var color;do{color=jQuery.curCSS(elem,attr);if(color!=''&&color!='transparent'||jQuery.nodeName(elem,"body"))
    break;attr="backgroundColor";}while(elem=elem.parentNode);return getRGB(color);};var colors={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0],transparent:[255,255,255]};jQuery.easing['jswing']=jQuery.easing['swing'];jQuery.extend(jQuery.easing,{def:'easeOutQuad',swing:function(x,t,b,c,d){return jQuery.easing[jQuery.easing.def](x,t,b,c,d);},easeInQuad:function(x,t,b,c,d){return c*(t/=d)*t+b;},easeOutQuad:function(x,t,b,c,d){return-c*(t/=d)*(t-2)+b;},easeInOutQuad:function(x,t,b,c,d){if((t/=d/2)<1)return c/2*t*t+b;return-c/2*((--t)*(t-2)-1)+b;},easeInCubic:function(x,t,b,c,d){return c*(t/=d)*t*t+b;},easeOutCubic:function(x,t,b,c,d){return c*((t=t/d-1)*t*t+1)+b;},easeInOutCubic:function(x,t,b,c,d){if((t/=d/2)<1)return c/2*t*t*t+b;return c/2*((t-=2)*t*t+2)+b;},easeInQuart:function(x,t,b,c,d){return c*(t/=d)*t*t*t+b;},easeOutQuart:function(x,t,b,c,d){return-c*((t=t/d-1)*t*t*t-1)+b;},easeInOutQuart:function(x,t,b,c,d){if((t/=d/2)<1)return c/2*t*t*t*t+b;return-c/2*((t-=2)*t*t*t-2)+b;},easeInQuint:function(x,t,b,c,d){return c*(t/=d)*t*t*t*t+b;},easeOutQuint:function(x,t,b,c,d){return c*((t=t/d-1)*t*t*t*t+1)+b;},easeInOutQuint:function(x,t,b,c,d){if((t/=d/2)<1)return c/2*t*t*t*t*t+b;return c/2*((t-=2)*t*t*t*t+2)+b;},easeInSine:function(x,t,b,c,d){return-c*Math.cos(t/d*(Math.PI/2))+c+b;},easeOutSine:function(x,t,b,c,d){return c*Math.sin(t/d*(Math.PI/2))+b;},easeInOutSine:function(x,t,b,c,d){return-c/2*(Math.cos(Math.PI*t/d)-1)+b;},easeInExpo:function(x,t,b,c,d){return(t==0)?b:c*Math.pow(2,10*(t/d-1))+b;},easeOutExpo:function(x,t,b,c,d){return(t==d)?b+c:c*(-Math.pow(2,-10*t/d)+1)+b;},easeInOutExpo:function(x,t,b,c,d){if(t==0)return b;if(t==d)return b+c;if((t/=d/2)<1)return c/2*Math.pow(2,10*(t-1))+b;return c/2*(-Math.pow(2,-10*--t)+2)+b;},easeInCirc:function(x,t,b,c,d){return-c*(Math.sqrt(1-(t/=d)*t)-1)+b;},easeOutCirc:function(x,t,b,c,d){return c*Math.sqrt(1-(t=t/d-1)*t)+b;},easeInOutCirc:function(x,t,b,c,d){if((t/=d/2)<1)return-c/2*(Math.sqrt(1-t*t)-1)+b;return c/2*(Math.sqrt(1-(t-=2)*t)+1)+b;},easeInElastic:function(x,t,b,c,d){var s=1.70158;var p=0;var a=c;if(t==0)return b;if((t/=d)==1)return b+c;if(!p)p=d*.3;if(a<Math.abs(c)){a=c;var s=p/4;}
    else var s=p/(2*Math.PI)*Math.asin(c/a);return-(a*Math.pow(2,10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p))+b;},easeOutElastic:function(x,t,b,c,d){var s=1.70158;var p=0;var a=c;if(t==0)return b;if((t/=d)==1)return b+c;if(!p)p=d*.3;if(a<Math.abs(c)){a=c;var s=p/4;}
    else var s=p/(2*Math.PI)*Math.asin(c/a);return a*Math.pow(2,-10*t)*Math.sin((t*d-s)*(2*Math.PI)/p)+c+b;},easeInOutElastic:function(x,t,b,c,d){var s=1.70158;var p=0;var a=c;if(t==0)return b;if((t/=d/2)==2)return b+c;if(!p)p=d*(.3*1.5);if(a<Math.abs(c)){a=c;var s=p/4;}
    else var s=p/(2*Math.PI)*Math.asin(c/a);if(t<1)return-.5*(a*Math.pow(2,10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p))+b;return a*Math.pow(2,-10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p)*.5+c+b;},easeInBack:function(x,t,b,c,d,s){if(s==undefined)s=1.70158;return c*(t/=d)*t*((s+1)*t-s)+b;},easeOutBack:function(x,t,b,c,d,s){if(s==undefined)s=1.70158;return c*((t=t/d-1)*t*((s+1)*t+s)+1)+b;},easeInOutBack:function(x,t,b,c,d,s){if(s==undefined)s=1.70158;if((t/=d/2)<1)return c/2*(t*t*(((s*=(1.525))+1)*t-s))+b;return c/2*((t-=2)*t*(((s*=(1.525))+1)*t+s)+2)+b;},easeInBounce:function(x,t,b,c,d){return c-jQuery.easing.easeOutBounce(x,d-t,0,c,d)+b;},easeOutBounce:function(x,t,b,c,d){if((t/=d)<(1/2.75)){return c*(7.5625*t*t)+b;}else if(t<(2/2.75)){return c*(7.5625*(t-=(1.5/2.75))*t+.75)+b;}else if(t<(2.5/2.75)){return c*(7.5625*(t-=(2.25/2.75))*t+.9375)+b;}else{return c*(7.5625*(t-=(2.625/2.75))*t+.984375)+b;}},easeInOutBounce:function(x,t,b,c,d){if(t<d/2)return jQuery.easing.easeInBounce(x,t*2,0,c,d)*.5+b;return jQuery.easing.easeOutBounce(x,t*2-d,0,c,d)*.5+c*.5+b;}});})(jQuery);;(function($){$.effects.highlight=function(o){return this.queue(function(){var el=$(this),props=['backgroundImage','backgroundColor','opacity'];var mode=$.effects.setMode(el,o.options.mode||'show');var color=o.options.color||"#ffff99";var oldColor=el.css("backgroundColor");$.effects.save(el,props);el.show();el.css({backgroundImage:'none',backgroundColor:color});var animation={backgroundColor:oldColor};if(mode=="hide")animation['opacity']=0;el.animate(animation,{queue:false,duration:o.duration,easing:o.options.easing,complete:function(){if(mode=="hide")el.hide();$.effects.restore(el,props);if(mode=="show"&&jQuery.browser.msie)this.style.removeAttribute('filter');if(o.callback)o.callback.apply(this,arguments);el.dequeue();}});});};})(jQuery);
/* END CONTENT FROM: "jquery-ui-personalized-1.6rc1.min.js" */

/* BEGIN CONTENT FROM: "jquery.autocomplete.js" */
    jQuery.autocomplete = function(input, options) {
	    // Create a link to self
	    var me = this;

	    // Create jQuery object for input element
	    var $input = $(input).attr("autocomplete", "off");

	    // Apply inputClass if necessary
	    if (options.inputClass) $input.addClass(options.inputClass);

	    // Create results
	    var results = document.createElement("div");
	    // Create jQuery object for results
	    var $results = $(results);
	    $results.hide().addClass(options.resultsClass).css("position", "absolute");
	    if( options.width > 0 ) $results.css("width", options.width);

	    // Add to body element
	    $("body").append(results);

	    input.autocompleter = me;

	    var timeout = null;
	    var prev = "";
	    var active = -1;
	    var cache = {};
	    var keyb = false;
	    var hasFocus = false;
	    var lastKeyPressCode = null;

	    // flush cache
	    function flushCache(){
		    cache = {};
		    cache.data = {};
		    cache.length = 0;
	    };

	    // flush cache
	    flushCache();

	    // if there is a data array supplied
	    if( options.data != null ){
		    var sFirstChar = "", stMatchSets = {}, row = [];

		    // no url was specified, we need to adjust the cache length to make sure it fits the local data store
		    if( typeof options.url != "string" ) options.cacheLength = 1;

		    // loop through the array and create a lookup structure
		    for( var i=0; i < options.data.length; i++ ){
			    // if row is a string, make an array otherwise just reference the array
			    row = ((typeof options.data[i] == "string") ? [options.data[i]] : options.data[i]);

			    // if the length is zero, don't add to list
			    if( row[0].length > 0 ){
				    // get the first character
				    sFirstChar = row[0].substring(0, 1).toLowerCase();
				    // if no lookup array for this character exists, look it up now
				    if( !stMatchSets[sFirstChar] ) stMatchSets[sFirstChar] = [];
				    // if the match is a string
				    stMatchSets[sFirstChar].push(row);
			    }
		    }

		    // add the data items to the cache
		    for( var k in stMatchSets ){
			    // increase the cache size
			    options.cacheLength++;
			    // add to the cache
			    addToCache(k, stMatchSets[k]);
		    }
	    }

	    $input
	    .keydown(function(e) {
		    // track last key pressed
		    lastKeyPressCode = e.keyCode;
		    switch(e.keyCode) {
			    case 38: // up
				    e.preventDefault();
				    moveSelect(-1);
				    break;
			    case 40: // down
				    e.preventDefault();
				    moveSelect(1);
				    break;
			    case 9:  // tab
			    case 13: // return
				    if( selectCurrent() ){
					    // make sure to blur off the current field
					    $input.get(0).blur();
					    e.preventDefault();
				    }
				    break;
			    default:
				    active = -1;
				    if (timeout) clearTimeout(timeout);
				    timeout = setTimeout(function(){onChange();}, options.delay);
				    break;
		    }
	    })
	    .focus(function(){
		    // track whether the field has focus, we shouldn't process any results if the field no longer has focus
		    hasFocus = true;
	    })
	    .blur(function() {
		    // track whether the field has focus
		    hasFocus = false;
		    hideResults();
	    });

	    hideResultsNow();

	    function onChange() {
		    // ignore if the following keys are pressed: [del] [shift] [capslock]
		    if( lastKeyPressCode == 46 || (lastKeyPressCode > 8 && lastKeyPressCode < 32) ) return $results.hide();
		    var v = $input.val();
		    if (v == prev) return;
		    prev = v;
		    if (v.length >= options.minChars) {
			    $input.addClass(options.loadingClass);
			    requestData(v);
		    } else {
			    $input.removeClass(options.loadingClass);
			    $results.hide();
		    }
	    };

 	    function moveSelect(step) {

		    var lis = $("li", results);
		    if (!lis) return;

		    active += step;

		    if (active < 0) {
			    active = 0;
		    } else if (active >= lis.size()) {
			    active = lis.size() - 1;
		    }

		    lis.removeClass("ac_over");

		    $(lis[active]).addClass("ac_over");

		    // Weird behaviour in IE
		    // if (lis[active] && lis[active].scrollIntoView) {
		    // 	lis[active].scrollIntoView(false);
		    // }

	    };

	    function selectCurrent() {
		    var li = $("li.ac_over", results)[0];
		    if (!li) {
			    var $li = $("li", results);
			    if (options.selectOnly) {
				    if ($li.length == 1) li = $li[0];
			    } else if (options.selectFirst) {
				    li = $li[0];
			    }
		    }
		    if (li) {
			    selectItem(li);
			    return true;
		    } else {
			    return false;
		    }
	    };

	    function selectItem(li) {
		    if (!li) {
			    li = document.createElement("li");
			    li.extra = [];
			    li.selectValue = "";
		    }
		    var v = $.trim(li.selectValue ? li.selectValue : li.innerHTML);
		    input.lastSelected = v;
		    prev = v;
		    $results.html("");
		    $input.val(v);
		    hideResultsNow();
		    if (options.onItemSelect) setTimeout(function() { options.onItemSelect(li) }, 1);
	    };

	    // selects a portion of the input string
	    function createSelection(start, end){
		    // get a reference to the input element
		    var field = $input.get(0);
		    if( field.createTextRange ){
			    var selRange = field.createTextRange();
			    selRange.collapse(true);
			    selRange.moveStart("character", start);
			    selRange.moveEnd("character", end);
			    selRange.select();
		    } else if( field.setSelectionRange ){
			    field.setSelectionRange(start, end);
		    } else {
			    if( field.selectionStart ){
				    field.selectionStart = start;
				    field.selectionEnd = end;
			    }
		    }
		    field.focus();
	    };

	    // fills in the input box w/the first match (assumed to be the best match)
	    function autoFill(sValue){
		    // if the last user key pressed was backspace, don't autofill
		    if( lastKeyPressCode != 8 ){
			    // fill in the value (keep the case the user has typed)
			    $input.val($input.val() + sValue.substring(prev.length));
			    // select the portion of the value not typed by the user (so the next character will erase)
			    createSelection(prev.length, sValue.length);
		    }
	    };

	    function showResults() {
		    // get the position of the input field right now (in case the DOM is shifted)
		    var pos = findPos(input);
		    // either use the specified width, or autocalculate based on form element
		    var iWidth = (options.width > 0) ? options.width : $input.width();
		    // reposition
		    $results.css({
			    width: parseInt(iWidth) + "px",
			    top: (pos.y + input.offsetHeight) + "px",
			    left: pos.x + "px"
		    }).show();
	    };

	    function hideResults() {
		    if (timeout) clearTimeout(timeout);
		    timeout = setTimeout(hideResultsNow, 200);
	    };

	    function hideResultsNow() {
		    if (timeout) clearTimeout(timeout);
		    $input.removeClass(options.loadingClass);
		    if ($results.is(":visible")) {
			    $results.hide();
		    }
		    if (options.mustMatch) {
			    var v = $input.val();
			    if (v != input.lastSelected) {
				    selectItem(null);
			    }
		    }
	    };

	    function receiveData(q, data) {
		    if (data) {
			    $input.removeClass(options.loadingClass);
			    results.innerHTML = "";

			    // if the field no longer has focus or if there are no matches, do not display the drop down
			    if( !hasFocus || data.length == 0 ) return hideResultsNow();

			    if ($.browser.msie) {
				    // we put a styled iframe behind the calendar so HTML SELECT elements don't show through
				    $results.append(document.createElement('iframe'));
			    }
			    results.appendChild(dataToDom(data));
			    // autofill in the complete box w/the first match as long as the user hasn't entered in more data
			    if( options.autoFill && ($input.val().toLowerCase() == q.toLowerCase()) ) autoFill(data[0][0]);
			    showResults();
		    } else {
			    hideResultsNow();
		    }
	    };

	    function parseData(data) {
		    if (!data) return null;
		    var parsed = [];
		    var rows = data.split(options.lineSeparator);
		    for (var i=0; i < rows.length; i++) {
			    var row = $.trim(rows[i]);
			    if (row) {
				    parsed[parsed.length] = row.split(options.cellSeparator);
			    }
		    }
		    return parsed;
	    };

	    function dataToDom(data) {
		    var ul = document.createElement("ul");
		    var num = data.length;

		    // limited results to a max number
		    if( (options.maxItemsToShow > 0) && (options.maxItemsToShow < num) ) num = options.maxItemsToShow;

		    for (var i=0; i < num; i++) {
			    var row = data[i];
			    if (!row) continue;
			    var li = document.createElement("li");
			    if (options.formatItem) {
				    li.innerHTML = options.formatItem(row, i, num);
				    li.selectValue = row[0];
			    } else {
				    li.innerHTML = row[0];
				    li.selectValue = row[0];
			    }
			    var extra = null;
			    if (row.length > 1) {
				    extra = [];
				    for (var j=1; j < row.length; j++) {
					    extra[extra.length] = row[j];
				    }
			    }
			    li.extra = extra;
			    ul.appendChild(li);
			    $(li).hover(
				    function() { $("li", ul).removeClass("ac_over"); $(this).addClass("ac_over"); active = $("li", ul).indexOf($(this).get(0)); },
				    function() { $(this).removeClass("ac_over"); }
			    ).click(function(e) { e.preventDefault(); e.stopPropagation(); selectItem(this) });
		    }
		    return ul;
	    };

	    function requestData(q) {
		    if (!options.matchCase) q = q.toLowerCase();
		    var data = options.cacheLength ? loadFromCache(q) : null;
		    // recieve the cached data
		    if (data) {
			    receiveData(q, data);
		    // if an AJAX url has been supplied, try loading the data now
		    } else if( (typeof options.url == "string") && (options.url.length > 0) ){
			    $.get(makeUrl(q), function(data) {
				    data = parseData(data);
				    addToCache(q, data);
				    receiveData(q, data);
			    });
		    // if there's been no data found, remove the loading class
		    } else {
			    $input.removeClass(options.loadingClass);
		    }
	    };

	    function makeUrl(q) {
		    var url = options.url + "?q=" + encodeURI(q);
		    for (var i in options.extraParams) {
			    url += "&" + i + "=" + encodeURI(options.extraParams[i]);
		    }
		    return url;
	    };

	    function loadFromCache(q) {
		    if (!q) return null;
		    if (cache.data[q]) return cache.data[q];
		    if (options.matchSubset) {
			    for (var i = q.length - 1; i >= options.minChars; i--) {
				    var qs = q.substr(0, i);
				    var c = cache.data[qs];
				    if (c) {
					    var csub = [];
					    for (var j = 0; j < c.length; j++) {
						    var x = c[j];
						    var x0 = x[0];
						    if (matchSubset(x0, q)) {
							    csub[csub.length] = x;
						    }
					    }
					    return csub;
				    }
			    }
		    }
		    return null;
	    };

	    function matchSubset(s, sub) {
		    if (!options.matchCase) s = s.toLowerCase();
		    var i = s.indexOf(sub);
		    if (i == -1) return false;
		    return i == 0 || options.matchContains;
	    };

	    this.flushCache = function() {
		    flushCache();
	    };

	    this.setExtraParams = function(p) {
		    options.extraParams = p;
	    };

	    this.findValue = function(){
		    var q = $input.val();

		    if (!options.matchCase) q = q.toLowerCase();
		    var data = options.cacheLength ? loadFromCache(q) : null;
		    if (data) {
			    findValueCallback(q, data);
		    } else if( (typeof options.url == "string") && (options.url.length > 0) ){
			    $.get(makeUrl(q), function(data) {
				    data = parseData(data)
				    addToCache(q, data);
				    findValueCallback(q, data);
			    });
		    } else {
			    // no matches
			    findValueCallback(q, null);
		    }
	    }

	    function findValueCallback(q, data){
		    if (data) $input.removeClass(options.loadingClass);

		    var num = (data) ? data.length : 0;
		    var li = null;

		    for (var i=0; i < num; i++) {
			    var row = data[i];

			    if( row[0].toLowerCase() == q.toLowerCase() ){
				    li = document.createElement("li");
				    if (options.formatItem) {
					    li.innerHTML = options.formatItem(row, i, num);
					    li.selectValue = row[0];
				    } else {
					    li.innerHTML = row[0];
					    li.selectValue = row[0];
				    }
				    var extra = null;
				    if( row.length > 1 ){
					    extra = [];
					    for (var j=1; j < row.length; j++) {
						    extra[extra.length] = row[j];
					    }
				    }
				    li.extra = extra;
			    }
		    }

		    if( options.onFindValue ) setTimeout(function() { options.onFindValue(li) }, 1);
	    }

	    function addToCache(q, data) {
		    if (!data || !q || !options.cacheLength) return;
		    if (!cache.length || cache.length > options.cacheLength) {
			    flushCache();
			    cache.length++;
		    } else if (!cache[q]) {
			    cache.length++;
		    }
		    cache.data[q] = data;
	    };

	    function findPos(obj) {
		    var curleft = obj.offsetLeft || 0;
		    var curtop = obj.offsetTop || 0;
		    while (obj = obj.offsetParent) {
			    curleft += obj.offsetLeft
			    curtop += obj.offsetTop
		    }
		    return {x:curleft,y:curtop};
	    }
    }

    jQuery.fn.autocomplete = function(url, options, data) {
	    // Make sure options exists
	    options = options || {};
	    // Set url as option
	    options.url = url;
	    // set some bulk local data
	    options.data = ((typeof data == "object") && (data.constructor == Array)) ? data : null;

	    // Set default values for required options
	    options.inputClass = options.inputClass || "ac_input";
	    options.resultsClass = options.resultsClass || "ac_results";
	    options.lineSeparator = options.lineSeparator || "\n";
	    options.cellSeparator = options.cellSeparator || "|";
	    options.minChars = options.minChars || 1;
	    options.delay = options.delay || 400;
	    options.matchCase = options.matchCase || 0;
	    options.matchSubset = options.matchSubset || 1;
	    options.matchContains = options.matchContains || 0;
	    options.cacheLength = options.cacheLength || 1;
	    options.mustMatch = options.mustMatch || 0;
	    options.extraParams = options.extraParams || {};
	    options.loadingClass = options.loadingClass || "ac_loading";
	    options.selectFirst = options.selectFirst || false;
	    options.selectOnly = options.selectOnly || false;
	    options.maxItemsToShow = options.maxItemsToShow || -1;
	    options.autoFill = options.autoFill || false;
	    options.width = parseInt(options.width, 10) || 0;

	    this.each(function() {
		    var input = this;
		    new jQuery.autocomplete(input, options);
	    });

	    // Don't break the chain
	    return this;
    }

    jQuery.fn.autocompleteArray = function(data, options) {
	    return this.autocomplete(null, options, data);
    }

    jQuery.fn.indexOf = function(e){
	    for( var i=0; i<this.length; i++ ){
		    if( this[i] == e ) return i;
	    }
	    return -1;
    };
/* END CONTENT FROM: "jquery.autocomplete.js" */

/* BEGIN CONTENT FROM: "autocomplete.js" */
    $(function() {
	    function findValue(li) {
	    // if( li == null ) return alert("No match!");

	    // if coming from an AJAX call, let's use the CityId as the value
	    if( !!li.extra ) var sValue = li.extra[0];

	    // otherwise, let's just display the value in the text box
	    else var sValue = li.selectValue;

	    // alert("The value you selected was: " + sValue);
    }

    function selectItem(li) {
	    findValue(li);
    }

    function formatItem(row) {
	    return row[0] + " (id: " + row[1] + ")";
    }

    function lookupAjax(){
	    var oSuggest = $(".pricerangeautocomplete")[0].autocompleter;

	    oSuggest.findValue();

	    return false;
    }

    $(document).ready(function() {


	    $(".pricerangeautocomplete").autocompleteArray(
		    [
			    "10,000", "25,000", "30,000", "40,000", "50,000", "55,000", "60,000", "65,000", "70,000", "75,000","80,000", "85,000", "90,000", "95,000", "100,000", "105,000", "110,000", "115,000", "120,000", "125,000", "130,000", "140,000", "145,000", "150,000", "155,000", "160,000", "165,000", "170,000", "175,000", "180,000", "185,000", "190,000", "195,000", "200,000", "205,000", "210,000", "215,000", "220,000", "225,000", "230,000", "235,000", "240,000", "245,000", "250,000", "255,000", "260,000", "265,000", "270,000", "275,000", "280,000", "285,000", "290,000", "300,000", "305,000", "310,000", "315,000", "320,000", "325,000", "330,000", "335,000", "340,000", "345,000", "350,000", "355,000", "360,000", "365,000", "370,000", "375,000", "380,000", "385,000", "390,000", "395,000", "400,000", "405,000", "410,000", "415,000", "420,000", "425,000", "430,000", "435,000", "440,000", "445,000", "450,000", "455,000", "460,000", "465,000", "470,000", "475,000", "480,000", "485,000", "490,000", "500,000", "505,000", "510,000", "515,000", "520,000", "525,000", "530,000", "535,000", "540,000", "545,000", "550,000", "555,000", "560,000", "565,000", "570,000", "575,000", "580,000", "585,000", "590,000", "600,000", "605,000", "610,000", "615,000", "620,000", "625,000", "630,000", "635,000", "640,000", "645,000", "650,000", "655,000", "660,000", "665,000", "670,000", "675,000", "680,000", "685,000", "690,000", "700,000", "705,000", "710,000", "715,000", "720,000", "725,000", "730,000", "735,000", "740,000", "745,000", "750,000", "755,000", "760,000", "765,000", "770,000", "775,000", "780,000", "785,000", "790,000", "800,000", "805,000", "810,000", "815,000", "820,000", "825,000", "830,000", "835,000", "840,000", "845,000", "850,000", "855,000", "860,000", "865,000", "870,000", "875,000", "880,000", "885,000", "890,000", "900,000", "905,000", "910,000", "915,000", "920,000", "925,000", "930,000", "935,000", "940,000", "945,000", "950,000", "955,000", "960,000", "965,000", "970,000", "975,000", "980,000", "985,000", "990,000", "1,000,000", "1,100,000", "1,200,000", "1,250,000", "1,300,000", "1,400,000", "1,500,000", "1,600,000", "1,700,000", "1,750,000", "1,800,000", "1,900,000", "2,000,000", "2,500,000 +" 
		    ],
		    {
			    delay:10,
			    minChars:1,
			    matchSubset:1,
			    onItemSelect:selectItem,
			    onFindValue:findValue,
			    autoFill:true,
			    maxItemsToShow:5
		    }
	    );
    });

    });
/* END CONTENT FROM: "autocomplete.js" */

/* BEGIN CONTENT FROM: "scripts.js" */
    function clearText(thefield){
        if (thefield.defaultValue==thefield.value)
        thefield.value = ""
    } 

    function styleWriter() {
       if ((navigator.userAgent).indexOf("Safari")!=-1) {
	       document.write('<link href="css/safari.css" media="screen" rel="Stylesheet" type="text/css" />')
       } else if ((navigator.appName).indexOf("Opera")!=-1) {
	       document.write('')
       }
     }
    styleWriter();

    REMAX = {
	    Menu: {
		    hide:function(id) {
			    var menu = $("."+id);
			    if (!menu.hasClass("hovered")) {
				    $("#"+id).hide();
				    $("."+id).removeClass("hovered");
			    }
		    }
	    }
    };


    jQuery(window).load(function () {
    //	$('.inputcorner').corner({
    //	tl: { radius: 5 },
    //	tr: { radius: 5 },
    //	bl: { radius: 5 },
    //	br: { radius: 5 },
    //	antiAlias: true,
    //	autoPad: false,
    //	validTags: ["div", "form", "select", "input"] });
    //	
    //	$('.smallinput').corner({
    //	tl: { radius: 5 },
    //	tr: { radius: 5 },
    //	bl: { radius: 5 },
    //	br: { radius: 5 },
    //	antiAlias: true,
    //	autoPad: false,
    //	validTags: ["div", "form", "select", "input"] });

    });


    $(function() {
    	
	    function selectTarget(node) {
		    return (node.nodeName == "LI")
			    ? node
			    : node.parentNode;
	    }
    	
	    $(".second ul").hide().addClass("");

	    $(".expandable")
		    .hover(function(evt) {
			    $(".second ul").addClass("visible").hide();
			    var targetId = selectTarget(evt.target).className.split(" ")[0];
			    $(this).addClass("hovered");
			    $(this).addClass("visible");
			    $("#"+targetId).show();
		    },function(evt) {
			    var targetId = selectTarget(evt.target).className.split(" ")[0];
			    $(this).removeClass("hovered");
			    $("#"+targetId).removeClass("hovered");
			    window.setTimeout((function(targetId) {return function(){REMAX.Menu.hide(targetId);}})(targetId), 300);
		    });

	    $(".second ul")
		    .hover(function(evt) {
			    $("."+this.id).addClass("hovered");
			    $("."+this.id).addClass("visibility:visible;display:block");
		    }, function(evt) {
			    $("."+this.id).removeClass("hovered");
			    window.setTimeout((function(targetId) {return function(){REMAX.Menu.hide(targetId);}})(this.id), 300);
		    });

	    $('#tours > ul').tabs({ selected: 0, height: 'toggle', opacity: 'toggle' });  
	    $('#neighborhoodschools > ul').tabs({ selected: 0, height: 'toggle', opacity: 'toggle' }); 	
	    $('#searchtabs > ul').tabs({ selected: 0, height: 'toggle', opacity: 'toggle' });
	    $('#myremaxtabs > ul').tabs({ selected: 0, height: 'toggle', opacity: 'toggle' });
	    $('#rt > ul').tabs({ selected: 0, height: 'toggle', opacity: 'toggle' });              

	    $('h5.toggle').click(function() {
		    $(this).next().toggle("slow");
		    $(this).toggleClass("collapsed");
	        return false;
	    });
    	
	    $('h5.toggleopp').click(function() {
		    $(this).next().toggle("slow");
		    $(this).toggleClass("open");
	        return false;
	    });
    	



	    var swap_text_boxes = [];

	    function init_swap_text_boxes(){
	      //Store the default value for each box
	      $('input[type=text][value].swaptextbox').each(function() {
	        swap_text_boxes[$(this).attr('id')] = $(this).attr('value');
	      });
	      //Add focus and blur events to set or clear the value
	      $('input[type=text][value].swaptextbox').bind('focus', function() {
	        if($(this).val() == swap_text_boxes[$(this).attr('id')]) {
	          $(this).val('');
		      $(this).toggleClass("blue");
	        }
	      });
	      //$('input[type=text][value].swaptextbox').bind('blur', function() {
	      //  if($(this).val() == '') {
	      //    $(this).val(swap_text_boxes[$(this).attr('id')]);
		  //    $(this).toggleClass("blue");
	      //  }
	      //});
	    };

	    init_swap_text_boxes();
    	
	    $(document).bind("beforeReveal.facebox", function(){$
	    ("select").hide();})
	    $(document).bind("close.facebox", function(){$("select").show();})
    	
	    $(function()
	    {
		    $("#additionalexpand").hide();
		    $("#additionaltrigger").click(function(event) {
			    $("#additionalexpand").slideToggle();
			    $("#additionaltrigger").toggleClass("opentrigger");
		    });

	    });
    	
    	
    	
	    jQuery(document).ready(function($) {
		    $(function() {
		        $(".formSection").hide().eq(0).show();
		        $(".formProgressor").click(function(event){
		            $(this).parents(".formSection").eq(0).hide().next().show();
		        });
			    $(".lastItem").click(function(event){
		            $(this).parents(".formSection").eq(0).hide().prev().show();
		        });
		    });
    		
        //      //  Added for sorting tables - TM
        //        
        //     $('#sortable-table-office').dataTable({
        //  "bFilter": false,
        //  "bLengthChange": false ,
        //  "sPaginationType": "full_numbers",
        //  "bInfo": false,
        //        "aoColumns": [
        //              /* Office Name */ null,
        //              /* Office Location */ null,
        //              /* State/Province */ null,
        //              /* Photo */ {"bSortable": false},
        //              /* Email */ {"bSortable": false}
        //        ]
        // });
        // 
        // $('#sortable-table-agent').dataTable({
        //  "bFilter": false,
        //  "bLengthChange": false ,
        //  "sPaginationType": "full_numbers",
        //  "bInfo": false,
        //        "aoColumns": [
        //              /* Last Name */ null,
        //              /* First Name */ null,
        //              /* Office Location */ null,
        //              /* State/Province */ null,
        //              /* Picture */ {"bSortable": false},
        //              /* Email */ {"bSortable": false}
        //        ]
        // });
	    });
    	
    });
/* END CONTENT FROM: "scripts.js" */

/* BEGIN CONTENT FROM: "/SharedControls/Resources/FloatingControl.js" */
var end_opacity;
var increase_opacity_by;
var timeout;
var win;
var winbackground;
var wincontent;
var winID;
var winbackgroundID;
var wincontentID;
var cur_opacity;
var timer;

function loadFloatingControl(winID, winbackgroundID, wincontentID) {
    win = document.getElementById(winID);
    winbackground = document.getElementById(winbackgroundID);
    wincontent = document.getElementById(wincontentID);
    
    if (typeof AppendEventHandlerByElement != "undefined") {
        AppendEventHandlerByElement(window, "onscroll", ScrollFloatingControl);   
        AppendEventHandlerByElement(window, "onresize", ScrollFloatingControl);  
    }
};

function ScrollFloatingControl() {
    SetPosition(true);
};

function IsFF() {
	var blnIsFF = false;
	if (navigator.appName.indexOf('Netscape') >= 0) {
		blnIsFF = true;
	}
	return blnIsFF;
};

function SetPosition(blnScroll) {
    if (win) {  
        var xy = FindWindowPos(win);
        var intHeight, intWidth;
        intHeight = pageHeight();
        intWidth = pageWidth();
        if (IsFF()) {
            intWidth = intWidth - 18;
        }
        if (!blnScroll) {
            win.style.marginLeft = (xy[0] * -1) + 'px';
            win.style.marginTop = (xy[1] * -1) + 'px';      
            win.style.height = intHeight + "px";
            win.style.width = intWidth + "px"; 
            wincontent.style.top = (posTop() + getPercentageOfHeight(8)) + "px";           
        }               
        winbackground.style.height = (intHeight + posTop()) + "px";    
        winbackground.style.width = intWidth + "px";               
    }
};

function getPercentageOfHeight(intPercent) {
    var intPixels;
    var intHeight = pageHeight();
    intPercent = parseInt(intPercent)/100;
    intPixels = parseInt(intPercent * intHeight);
    return intPixels;
};

function showFloatingControl(winID, winbackgroundID, wincontentID) {
    loadFloatingControl(winID, winbackgroundID, wincontentID);
    
    SetPosition();
    
	if(timeout > 0) {
		cur_opacity = 0;
		winbackground.style.opacity = cur_opacity / 100;
		winbackground.style.filter = "alpha(opacity=" + cur_opacity + ")";
		win.style.display = 'block';
		wincontent.style.display = 'none';
		timer = setTimeout("increase_opacity()",timeout);
	}
	else {
		winbackground.style.opacity = end_opacity / 100;
		winbackground.style.filter = "alpha(opacity=" + end_opacity + ")";
		win.style.display = 'block';
		wincontent.style.display = 'block';
	}
};

function increase_opacity() {
	cur_opacity += increase_opacity_by;

	winbackground.style.opacity = cur_opacity / 100;
	winbackground.style.filter = "alpha(opacity=" + cur_opacity + ")";
	
	if(cur_opacity < end_opacity) {
		timer = setTimeout("increase_opacity()",timeout);
	}
	else {
		wincontent.style.display = 'block';
	}
};

function hideFloatingControl(winID, winbackgroundID, wincontentID) {
    loadFloatingControl(winID, winbackgroundID, wincontentID);
	win.style.display = 'none';
};

function FindWindowPos(obj, ExcludeClassesAndIDs) {
	var curleft = 0;
	var curtop = 0;
	if (obj.offsetParent && !IsIE8()) {
	    obj = obj.offsetParent; 
		curleft = obj.offsetLeft;
		curtop = obj.offsetTop;						
		while (obj = obj.offsetParent) {	
			if (obj.className.indexOf(ExcludeClassesAndIDs) < 0 && obj.id.indexOf(ExcludeClassesAndIDs) < 0) { 
			    curleft += obj.offsetLeft;
			    curtop += obj.offsetTop;
			}
		}
	} else if (obj.parentNode) {
	    var blnOffsetParent = false;
	    obj = obj.parentNode; 
		while (obj) {
			if (obj.className.indexOf(ExcludeClassesAndIDs) < 0 && obj.id.indexOf(ExcludeClassesAndIDs) < 0) { 
			    if (obj.nodeName == "FORM" || obj.nodeName == "BODY") {
	                return [curleft,curtop];
	            }
	            if (blnOffsetParent) {
			        curleft += obj.offsetLeft;
			        curtop += obj.offsetTop;
			    }
			    if (obj.offsetParent) {
			        obj = obj.offsetParent;
			        blnOffsetParent = true;
			    } else {
			        obj = obj.parentNode;
			        blnOffsetParent = false;
			    }
			}
		}
	} 
	return [curleft,curtop];
};

 function findPosX(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 findPosY(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 IsIE() {
	var blnIsIE = false;
	if (navigator.appName.indexOf('Microsoft') >= 0) {
		blnIsIE = true;
	}
	return blnIsIE;
};

function IsIE8() {
	return (IsIE() && GetBrowserVersion() == 8);
};

function GetBrowserVersion() {
	var version=0;
	if (navigator.appVersion.indexOf("MSIE")!=-1){
	    temp = navigator.appVersion.split("MSIE");
	    version = parseFloat(temp[1]);
	}
	return version;
};

// Browser Window Size and Position
// copyright Stephen Chapman, 3rd Jan 2005, 8th Dec 2005
// you may copy these functions but please keep the copyright notice as well
function pageWidth() 
{
return window.innerWidth != null? window.innerWidth : document.documentElement && document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body != null ? document.body.clientWidth : null;
}; 

function pageHeight() 
{
return  window.innerHeight != null? window.innerHeight : document.documentElement && document.documentElement.clientHeight ?  document.documentElement.clientHeight : document.body != null? document.body.clientHeight : null;
}; 

function posLeft() 
{
return typeof window.pageXOffset != 'undefined' ? window.pageXOffset :document.documentElement && document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ? document.body.scrollLeft : 0;
};

function posTop() 
{
return typeof window.pageYOffset != 'undefined' ?  window.pageYOffset : document.documentElement && document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ? document.body.scrollTop : 0;
};

function posRight() 
{
return posLeft()+pageWidth();
}; 

function posBottom() 
{
return posTop()+pageHeight();
};
/* END CONTENT FROM: "/SharedControls/Resources/FloatingControl.js" */

/* BEGIN CONTENT FROM: "/propertysearch/customcontrols/PhotoViewer_RMX.js */
function SlideShowControl(
    strInstanceName, 
    strPhotoViewerMainContainerID,
    strPhotosDivContainerID, 
    strLargePhotoID, 
    strCurrentPositionLabelID, 
    strTotalCountLabelID, 
    intThumnbnailWidth, 
    intThumbnailSpacing,
    intLargeImageMaxWidth,
    intLargeImageMaxHeight,
    strMoveLeftButtonID,
    strPauseSlideShowButtonID,
    strPlaySlideShowButtonID,
    strMoveRightButtonID,
    strCaptionDivID,
    strPhotoViewerDisplayMode) {
    
    // Set Instance Properties
    //  DOM object references
    this._strInstanceName = strInstanceName;
    this._divPhotoViewerMainContainerRefereence = document.getElementById(strPhotoViewerMainContainerID);    // entire photo viewer
    this._divContainerReference = document.getElementById(strPhotosDivContainerID);    // holds thumbnails
    this._imgLargePhotoReference = document.getElementById(strLargePhotoID);
    this._lblCurrentPositionReference = document.getElementById(strCurrentPositionLabelID);
    this._lblTotalCountReference = document.getElementById(strTotalCountLabelID);
    this._divCaptionReference = document.getElementById(strCaptionDivID);
    
    //Control buttons
    this._btnMoveLeft = document.getElementById(strMoveLeftButtonID);
    this._btnPauseSlideShow = document.getElementById(strPauseSlideShowButtonID);
    this._btnPlaySlideShow = document.getElementById(strPlaySlideShowButtonID);
    this._btnMoveRight = document.getElementById(strMoveRightButtonID);
    
    //Verify DOM references exist
    try {
        if (!this._divPhotoViewerMainContainerRefereence || 
                !this._divContainerReference || 
                !this._imgLargePhotoReference || 
                !this._lblCurrentPositionReference || 
                !this._lblTotalCountReference || 
                !this._divCaptionReference || 
                !this._btnMoveLeft || 
                !this._btnPauseSlideShow || 
                !this._btnPlaySlideShow || 
                !this._btnMoveRight) {
            
            // Can't do slideshow without DOM references
            return;
        }
    } catch(e) {
        // one or more of the references is bad; exit;
        return;
    }
    
    // Init the container DIV scrolling properties
    try {
        this._divContainerReference.style.position = "relative";
        this._divContainerReference.style.left = "0px";
        this._divContainerReference.style.marginLeft = "0px";
    } catch (e) {
        var objAttribute = document.createAttribute("style");
        objAttribute.value = "position:relative;left:0px;margin-left:0px";
        this._divContainerReference.attributes.add(objAttribute);
    }
       
    // Set Global Properties
    this._blnIsMoving = false;
    this._blnIsSlideShow = false;
    this._blnRewinding = false;
    this._blnIsPaused = false;
    this._blnScrollingToUserSelectedImage = false;
    this._largeImageMaxWidth = intLargeImageMaxWidth;
    this._largeImageMaxHeight = intLargeImageMaxHeight;
    this._thumbnailWidth = intThumnbnailWidth;
    this._thumbnailSpacing = intThumbnailSpacing;
    this._numberOfThumbnails = this._divContainerReference.getElementsByTagName("div").length;
    this._intOriginalScrollerWidth = parseInt(this._divContainerReference.style.width);
    this._strPhotoViewerDisplayMode = strPhotoViewerDisplayMode;
    this._intUserSelectedImagePosition = 0; // set when user clicks directly on a thumbnail
    this._intCurrentScrollPosition = 1; //
    this._blnOverrideChangeImageOnScrollEnd = false;

    // Scrolling constants
    this._intThumnailWidthTotal = this._thumbnailWidth + this._thumbnailSpacing;
    this._intMaxLeftMarginPos = ((this._numberOfThumbnails * this._intThumnailWidthTotal) - this._intOriginalScrollerWidth) * (-1);
    this._intCurrentTimeOutID = 0;
    
    // Scrolling storage vars (width)
    this._intCurrentInitialWidth = this._intOriginalScrollerWidth;
    this._intCurrentChangingWidth = 0;
    this._intCurrentFinalWidth = 0;
    
    // Scrolling storage vars (marginLeft)
    this._intCurrentInitialLeftMarginPos = parseInt(this._divContainerReference.style.marginLeft);
    this._intCurrentChangingLeftMarginPos = 0;
    this._intCurrentFinalLeftMarginPos = 0;
    
    //Vars to set current selected Thumbnail at center
    this._intCurrentSelectedImagePos = 1;
    this._arrImages = new Array;
  
    // Set Instance Methods
    this.initMoveLeft = function() {
        if (this._blnIsMoving) { return; }
        if (this._blnScrollingToUserSelectedImage) { window.clearTimeout(this._intCurrentTimeOutID) }
        this._blnIsMoving = true;
       
        this._intCurrentInitialWidth = parseInt(this._divContainerReference.style.width);
        this._intCurrentInitialLeftMarginPos = parseInt(this._divContainerReference.style.marginLeft);
        this._intCurrentChangingLeftMarginPos = this._intCurrentInitialLeftMarginPos;
     
        if (this._intCurrentScrollPosition > 1) {
            this._intCurrentScrollPosition -= 1;
        }        
        
        if(this._intCurrentInitialLeftMarginPos == 0 || this._intCurrentScrollPosition >= this._arrImages.length - 2) { 
            this._lblCurrentPositionReference.innerHTML = this._intCurrentScrollPosition;
            this._intCurrentSelectedImagePos = this._intCurrentScrollPosition;
            this._blnIsMoving = false;

            if (this._blnScrollingToUserSelectedImage) {
                if (this._intUserSelectedImagePosition == this._intCurrentSelectedImagePos) {
                    this._blnScrollingToUserSelectedImage = false;
                } else {
                    this._intCurrentTimeOutID = window.setTimeout(this._strInstanceName + ".initMoveLeft()", 10);
                }
            }
            
            if (!this._blnScrollingToUserSelectedImage || this._blnOverrideChangeImageOnScrollEnd) {
                this._blnOverrideChangeImageOnScrollEnd = false;
                changeImage(this.getImageAtPosition(this._intCurrentScrollPosition), this._imgLargePhotoReference, this._divCaptionReference, this._strPhotoViewerDisplayMode);
            }

             //handle left button disable
            if (this._intCurrentScrollPosition == 1) {
                this.handleButtonState(this._btnMoveLeft, false);
            } else if (this._intCurrentScrollPosition <= this._arrImages.length - 1) {
                this.handleButtonState(this._btnMoveRight, true);
            }   
            

            return false; 
        }
     
        this._intCurrentFinalLeftMarginPos = Math.round(this._intCurrentInitialLeftMarginPos + this._intThumnailWidthTotal);
        this._intCurrentFinalWidth = Math.round(this._intCurrentInitialWidth - this._intThumnailWidthTotal);
        this._intCurrentChangingWidth = this._intCurrentInitialWidth;
        
        //Create the movement
        this._intCurrentTimeOutID = window.setInterval(this._strInstanceName + ".movingLeft()",10);
    }
    
    this.initMoveRight = function() {
        if (this._blnIsMoving) { return; }
        if (this._blnIsSlideShow || this._blnScrollingToUserSelectedImage) { window.clearTimeout(this._intCurrentTimeOutID) }
        
        this._blnIsMoving = true;
        
        //Check current image position; only move slider if the middle image is selected
        if (this._intCurrentScrollPosition < this._arrImages.length) {
            this._intCurrentScrollPosition += 1;
        }
     
        
        //Get the current width and position of scrolling DIV
        this._intCurrentInitialWidth = parseInt(this._divContainerReference.style.width);
        this._intCurrentInitialLeftMarginPos = parseInt(this._divContainerReference.style.marginLeft);
        this._intCurrentChangingLeftMarginPos = this._intCurrentInitialLeftMarginPos;
        
        // Get the current final leftmargin Pos
        this._intCurrentFinalLeftMarginPos = Math.round(this._intCurrentInitialLeftMarginPos - this._intThumnailWidthTotal);
      
        // if one more "move right" will be too much, we are max to the right
        // Also if we are on left most photo or right most photo, no movement is necessary
        // Finally if SlideShow is on, turn off the slideshow if there is only one image to go
        if(this._intCurrentFinalLeftMarginPos <= this._intMaxLeftMarginPos || this._intCurrentScrollPosition <= 3 || this._intCurrentScrollPosition >= this._arrImages.length - 1) {
            this._lblCurrentPositionReference.innerHTML = this._intCurrentScrollPosition;
            this._intCurrentSelectedImagePos = this._intCurrentScrollPosition;
            this._blnIsMoving = false; 
             
            if (this._blnIsSlideShow) {
                if (this._blnIsPaused) {
                    this.pauseSlideShow();
                    return;
                }
                if (this._intCurrentSelectedImagePos == this._arrImages.length) {
                    this._blnIsSlideShow = false;
                    this._intCurrentTimeOutID = window.setTimeout(this._strInstanceName + ".playSlideShow()", 2000);
                } else {
                    this._intCurrentTimeOutID = window.setTimeout(this._strInstanceName + ".initMoveRight()", 2000);
                }
            }

            if (this._blnScrollingToUserSelectedImage) {
                if (this._intUserSelectedImagePosition == this._intCurrentSelectedImagePos) {
                    this._blnScrollingToUserSelectedImage = false;
                } else {
                    this._intCurrentTimeOutID = window.setTimeout(this._strInstanceName + ".initMoveRight()", 10);
                }
            }

            if (!this._blnScrollingToUserSelectedImage || this._blnOverrideChangeImageOnScrollEnd) {
                this._blnOverrideChangeImageOnScrollEnd = false;
                changeImage(this.getImageAtPosition(this._intCurrentScrollPosition), this._imgLargePhotoReference, this._divCaptionReference, this._strPhotoViewerDisplayMode);
            }
            
            //Handle buttons
            if (this._intCurrentScrollPosition == this._arrImages.length) {
                this.handleButtonState(this._btnMoveRight, false);
            } else if (this._intCurrentScrollPosition == 1) {
                this.handleButtonState(this._btnMoveRight, true);
                this.handleButtonState(this._btnMoveLeft, false);
            } else if (this._intCurrentScrollPosition >= 2) {
                this.handleButtonState(this._btnMoveLeft, true);
            }
       
            return; 
        }
        
        this._intCurrentChangingWidth = this._intCurrentInitialWidth;
        this._intCurrentFinalWidth = Math.round(this._intCurrentInitialWidth + this._intThumnailWidthTotal);
        
        //Create the movement
        this._intCurrentTimeOutID = window.setInterval(this._strInstanceName + ".movingRight()",10);
    }
    
   this.movingLeft = function() {
        this._intCurrentChangingLeftMarginPos += 2;
        this._divContainerReference.style.marginLeft = this._intCurrentChangingLeftMarginPos + "px";
        
        this._intCurrentChangingWidth -= 2;
        this._divContainerReference.style.width = this._intCurrentChangingWidth + "px";
        
        if (this._intCurrentChangingLeftMarginPos == this._intCurrentFinalLeftMarginPos) {
            window.clearInterval(this._intCurrentTimeOutID);
            this._blnIsMoving = false;
           
            if (this._arrImages.length > 0) {
                if (this._blnIsSlideShow && this._blnRewinding) {
                    this.handleSlideShowRewound();
                } else {
                    this._lblCurrentPositionReference.innerHTML = this._intCurrentScrollPosition;
                    this._intCurrentSelectedImagePos = this._intCurrentScrollPosition;

                    if (this._blnScrollingToUserSelectedImage) {
                        if (this._intUserSelectedImagePosition == this._intCurrentScrollPosition) {
                            this._blnScrollingToUserSelectedImage = false;
                            changeImage(this.getImageAtPosition(this._intCurrentScrollPosition), this._imgLargePhotoReference, this._divCaptionReference, this._strPhotoViewerDisplayMode);
                        } else if (this._intUserSelectedImagePosition < this._intCurrentScrollPosition) {
                            this._intCurrentTimeOutID = window.setTimeout(this._strInstanceName + ".initMoveLeft()", 10);
                            if (this._intUserSelectedImagePosition = this._intCurrentScrollPosition - 1) {
                                this._blnOverrideChangeImageOnScrollEnd = true;
                            }
                        }
                    } else {
                        changeImage(this.getImageAtPosition(this._intCurrentScrollPosition), this._imgLargePhotoReference, this._divCaptionReference, this._strPhotoViewerDisplayMode);
                    }
                }
            }
        }
    }
    
    this.movingRight = function() { 
        this._intCurrentChangingLeftMarginPos -= 2;
        this._divContainerReference.style.marginLeft = this._intCurrentChangingLeftMarginPos + "px";
               
        this._intCurrentChangingWidth += 2;
        this._divContainerReference.style.width = this._intCurrentChangingWidth + "px";
                
        if (this._intCurrentChangingLeftMarginPos <= this._intCurrentFinalLeftMarginPos) {
            window.clearInterval(this._intCurrentTimeOutID);
            this._blnIsMoving = false;
            
            this._lblCurrentPositionReference.innerHTML = this._intCurrentScrollPosition;
            this._intCurrentSelectedImagePos = this._intCurrentScrollPosition;
            
            if (this._blnIsSlideShow) {
                if (this._blnIsPaused) {
                    this.pauseSlideShow();
                    return;
                }
                this._intCurrentTimeOutID = window.setTimeout(this._strInstanceName + ".initMoveRight()", 2000);
            } 
            
            if (this._blnScrollingToUserSelectedImage) {
                if (this._intUserSelectedImagePosition == this._intCurrentScrollPosition) {
                    this._blnScrollingToUserSelectedImage = false;
                    changeImage(this.getImageAtPosition(this._intCurrentScrollPosition), this._imgLargePhotoReference, this._divCaptionReference, this._strPhotoViewerDisplayMode);
                } else if (this._intUserSelectedImagePosition > this._intCurrentScrollPosition) {
                    this._intCurrentTimeOutID = window.setTimeout(this._strInstanceName + ".initMoveRight()", 10);
                    if (this._intUserSelectedImagePosition = this._intCurrentScrollPosition + 1) {
                        this._blnOverrideChangeImageOnScrollEnd = true;
                    }
                }
            } else if (!this._blnScrollingToUserSelectedImage) {
                changeImage(this.getImageAtPosition(this._intCurrentScrollPosition), this._imgLargePhotoReference, this._divCaptionReference, this._strPhotoViewerDisplayMode);
            }

        }
    }
    
    this.pauseSlideShow = function() {
        // Make sure that slideshow is enabled and not rewinding or moving, 
        // to prevent stopping the movement in the middle of a thumbnail
        this._blnIsPaused = true;

        if(!this._blnIsMoving && this._blnIsSlideShow && !this._blnScrollingToUserSelectedImage) {
            this._blnIsSlideShow = false;
            this._blnIsPaused = false;
            window.clearTimeout(this._intCurrentTimeOutID);
            
            // slideshow paused; disable button
            this.handleButtonState(this._btnPlaySlideShow, true);
            this.handleButtonState(this._btnPauseSlideShow, false);
        }
    }

    this.playSlideShow = function() {

        if (this._arrImages.length < 2) {
            return false;
        }
        
        if (!this._blnIsSlideShow && !this._blnScrollingToUserSelectedImage) {
            this._blnIsSlideShow = true;
            window.clearTimeout(this._intCurrentTimeOutID);
            
            // slideshow already playing; disable button
            this.handleButtonState(this._btnPlaySlideShow, false);
            this.handleButtonState(this._btnPauseSlideShow, true);
            
            //rewind if at the end
            if (this._intCurrentFinalLeftMarginPos < this._intMaxLeftMarginPos && this._numberOfThumbnails > 5 && this._intCurrentSelectedImagePos == this._arrImages.length) {
                
                this._intCurrentInitialLeftMarginPos =  parseInt(this._divContainerReference.style.marginLeft);
                this._intCurrentChangingLeftMarginPos = this._intCurrentInitialLeftMarginPos; 
                this._intCurrentFinalLeftMarginPos = 0;
                
                this._intCurrentInitialWidth = parseInt(this._divContainerReference.style.width);
                this._intCurrentChangingWidth = this._intCurrentInitialWidth; 
                this._intCurrentFinalWidth = this._intOriginalScrollerWidth;
                
                this._blnIsMoving = true;
                this._blnRewinding = true;
                this._intCurrentTimeOutID = window.setInterval(this._strInstanceName + ".movingLeft()", 10);
                
                // disable all buttons during rewind
                this.handleButtonState(this._btnMoveLeft, false);
                this.handleButtonState(this._btnPauseSlideShow, false);
                this.handleButtonState(this._btnPlaySlideShow, false);
            } else {
                if (this._numberOfThumbnails <= 5 && parseInt(this._lblCurrentPositionReference.innerHTML) == this._arrImages.length) {
                    // handle "rewind" in case of less than 5 images if at the last image
                    // Since less than 5 thumbnails involves no scrolling, handle rewound event immediately
                    this._blnRewinding = true;
                    this.handleSlideShowRewound();
                } else {
                    // otherwise do slideshow move to next right image...
                    if (!this._blnRewinding) {
                        this._intCurrentTimeOutID = window.setTimeout(this._strInstanceName + ".initMoveRight();", 2000);
                    }
                }
            }
        }
    }
    
    this.buildImagesArray = function() {
    
        var objArrayOfDivs = this._divContainerReference.getElementsByTagName("div");
        var objImage;
        
        for (var i = 0; i < objArrayOfDivs.length; i++) {
            var objImage;
            
            if (objArrayOfDivs[i].children) { // IE supports children property, 
                objImage = objArrayOfDivs[i].children[0]; // IE does not see text node; can use children[0] or childNodes[0]
            } else {
                objImage = objArrayOfDivs[i].childNodes[1]; // FF sees a text node for childNodes[0]
            }

            if (typeof objImage == 'object'&& objImage.src != "undefined") {
                this._arrImages.push(objImage);
            }
        }

        this._lblTotalCountReference.innerHTML = this._arrImages.length.toString();
        if (this._arrImages.length > 0) {
            return true;
        }
        return false;
    }
    
    
    // When user clicks on any thumbnail, it will scroll
    // to center position and display the corresponding large image
    this.viewImage = function(elImage) {
        if (!this._blnIsMoving && !this._blnIsSlideShow) {
            window.clearTimeout(this._intCurrentTimeOutID);
            
            // Set desired image position
            this._blnScrollingToUserSelectedImage = true;
            this._intUserSelectedImagePosition = this.getUserClickedThumbnailImagePosition(elImage.src);
            
            // if already viewing the desired image, do nothing
            if (this._intUserSelectedImagePosition == this._intCurrentSelectedImagePos) {
                this._blnScrollingToUserSelectedImage = false;
            } else {
                // the desired image is either to left or to right
                if (this._intUserSelectedImagePosition < this._intCurrentScrollPosition) {
                    // desired image is to the left
                    this._intCurrentTimeOutID = window.setTimeout(this._strInstanceName + ".initMoveLeft()", 10);
                } else {
                    // desired image is to the right
                    this._intCurrentTimeOutID = window.setTimeout(this._strInstanceName + ".initMoveRight()", 10);
                }
            }
        }
    }
    
    this.getUserClickedThumbnailImagePosition = function(strImageSrc) {
        for (var i = 0; i < this._arrImages.length; i++) {
            if (strImageSrc == this._arrImages[i].src) {
                return i + 1;
            }
        }
    }

    this.getImageAtPosition = function(intPosition) {
        var intPositionInArray = intPosition - 1;
        for (var i = 0; i < this._arrImages.length; i++) {
            if (i == intPositionInArray) {
                return this._arrImages[i];
            }
        }
    }
    
    // Buttons Handling
    this.handleButtonState = function(objButton, blnEnabled) {
        if (blnEnabled) {
            if (objButton.src.indexOf("_disabled") >= 0) {
                objButton.src = objButton.src.replace("_disabled","");
            }
        } else { 
            if (objButton.src.indexOf("_disabled") == -1) {
                objButton.src = objButton.src.replace(".gif", "_disabled.gif");
            }
        }
    }

    this.handleSlideShowRewound = function() {
        //Re-initiate slideshow after rewinding
        this._blnRewinding = false;
        
        var objImage = this._arrImages[0];
        changeImage(objImage, this._imgLargePhotoReference, this._divCaptionReference, this._strPhotoViewerDisplayMode);
        
        this._lblCurrentPositionReference.innerHTML = 1;
        this._intCurrentSelectedImagePos = 1;
        this._intCurrentScrollPosition = 1;
        
        // handle buttons after rewind
        this.handleButtonState(this._btnMoveRight, true);
        this.handleButtonState(this._btnMoveLeft, false);
        this.handleButtonState(this._btnPauseSlideShow, true);
        this.handleButtonState(this._btnPlaySlideShow, false);
        
        if (this._blnIsPaused) {
            this.pauseSlideShow();
            return;
        }
        
        this._intCurrentTimeOutID = window.setTimeout(this._strInstanceName + ".initMoveRight()", 2000);   
    }
    
    this.hide = function() {
        this._divPhotoViewerMainContainerRefereence.style.visibility = "hidden";
    }
    this.unHide = function() {
        this._divPhotoViewerMainContainerRefereence.style.visibility = "visible";
    }
        
}   
/* END CONTENT FROM: "/propertysearch/customcontrols/PhotoViewer_RMX.js */

/* BEGIN CONTENT FROM: "/propertysearch/customcontrols/PhotoViewer_RMX_Functions.js */
function ResizeImage(elImage, MaxWidth, MaxHeight) {
    var newImg = new Image();
    var resImg = elImage;
    newImg.src = resImg.src;		
    if (newImg.height > MaxHeight && MaxHeight != 0) {
        resImg.height = MaxHeight;
    }
    if (newImg.width > MaxWidth && MaxWidth != 0) {
        resImg.width = MaxWidth;
    } 
};

function changeImage(elImage, elLargeImage, divCaption, strPhotoViewerDisplayMode) {
    if (!elImage || !elLargeImage || strPhotoViewerDisplayMode == "" || strPhotoViewerDisplayMode == undefined) {
        return false;
    } 

    if (document.all) {
        try {
		    elLargeImage.style.filter="blendTrans(duration=2)";
		    elLargeImage.style.filter="blendTrans(duration=crossFadeDuration)";
		    elLargeImage.filters.blendTrans.Apply();
		} catch (e) {
		    // doesn't work!
		}
	}
			
    var objNewImg = new Image();
    var objResImg = elImage;
    objNewImg.src = objResImg.src;
    
    function handleChangeImage()
    {
        RemoveEventHandlerByElement(objNewImg, "load", handleChangeImage);
        
        var intMaxWidth;
        var intMaxHeight;

        if (strPhotoViewerDisplayMode == "SideBox") {
            intMaxWidth = 300;
            intMaxHeight = 180;
        } else {
            intMaxWidth = 600;
            intMaxHeight = 360;
        }
        
        var intImgWidth = objNewImg.width;
        var intImgHeight = objNewImg.height;
        var intNewWidth = 0;
        var intNewHeight = 0;
        
        try {
            if ((intImgWidth <= intMaxWidth) && (intImgHeight < intMaxHeight)) {
                intNewWidth = intImgWidth;
                intNewHeight = intImgHeight;
            } else {
                if ((intMaxWidth / intImgWidth) <= (intMaxHeight / intImgHeight)) {
                    intNewWidth = intMaxWidth;
                    intNewHeight = Math.round((intImgHeight / intImgWidth) * intNewWidth);
                } else {
                    intNewHeight = intMaxHeight;
                    intNewWidth = Math.round((intImgWidth / intImgHeight) * intNewHeight);
                } 
            } 
        } catch (e) {
            intNewWidth = intImgWidth;
            intNewHeight = intImgHeight;
        }
        
        elLargeImage.src = objNewImg.src;
        elLargeImage.width = intNewWidth;
        elLargeImage.height = intNewHeight;
        elLargeImage.style.width = intNewWidth + "px";
        elLargeImage.style.height = intNewHeight + "px";
        
        if (strPhotoViewerDisplayMode == "LargeBox") {
            elLargeImage.alt = elImage.alt;
        }
        
        if (divCaption) {
            divCaption.innerHTML = elImage.alt;
        }
        
        if (document.all) {
            try {
	            elLargeImage.filters.blendTrans.Play();
	        } catch (e) {
	            // doesn't work!
	        }
        }
    };	
    
    // For FF, the images sometimes don't load fast enough and the width/height ends up as 0
    // Thus in FF the Image load event has to be used (which does not work in IE)
    if (navigator.appName.indexOf('Microsoft') >= 0) {
		handleChangeImage();
    } else {
        AppendEventHandlerByElement(objNewImg, "load", handleChangeImage);
	}
};
/* END CONTENT FROM: "/propertysearch/customcontrols/PhotoViewer_RMX_Functions.js */

/* BEGIN CONTENT FROM: /includegeneral/AppendToWindowOnloadMethod.js */
function AppendToWindowOnloadEvent(objFunctionToCall)
{
	if(window.addEventListener) {
		window.addEventListener('load', objFunctionToCall, false);
	} else if(window.attachEvent) {
		window.attachEvent('onload', objFunctionToCall);
	}
};

function AppendEventHandler(strElementSourceID, strEvent, objHandlerFunction) {
	var objElement = document.getElementById(strElementSourceID);
	if (!objElement) {
		return false;
	}

	if(window.addEventListener) {
		//FireFox events do not use the "on" prefix; remove the prefix if present
		if (strEvent.indexOf("on") != -1) {
			strEvent = strEvent.replace("on", "");
		}
		objElement.addEventListener(strEvent, objHandlerFunction, false);
	} else if(window.attachEvent) {
		//IE events use the "on" prefix; add the prefix if mising
		if (strEvent.indexOf("on") == -1) {
			strEvent = "on" + strEvent;
		}
		objElement.attachEvent(strEvent, objHandlerFunction);
	}	
};

function AppendEventHandlerByElement(objElement, strEvent, objHandlerFunction) {
	if (!objElement) {
		return false;
	}

	if(window.addEventListener) {
		//FireFox events do not use the "on" prefix; remove the prefix if present
		if (strEvent.indexOf("on") != -1) {
			strEvent = strEvent.replace("on", "");
		}
		objElement.addEventListener(strEvent, objHandlerFunction, false);
	} else if(window.attachEvent) {
		//IE events use the "on" prefix; add the prefix if mising
		if (strEvent.indexOf("on") == -1) {
			strEvent = "on" + strEvent;
		}
		objElement.attachEvent(strEvent, objHandlerFunction);
	}	
};

function RemoveEventHandlerByElement(objElement, strEvent, objHandlerFunction) {
	if (!objElement) {
		return false;
	}

	if(window.removeEventListener) {
		//FireFox events do not use the "on" prefix; remove the prefix if present
		if (strEvent.indexOf("on") != -1) {
			strEvent = strEvent.replace("on", "");
		}
		objElement.removeEventListener(strEvent, objHandlerFunction, false);
	} else if(window.detachEvent) {
		//IE events use the "on" prefix; add the prefix if mising
		if (strEvent.indexOf("on") == -1) {
			strEvent = "on" + strEvent;
		}
		objElement.detachEvent(strEvent, objHandlerFunction);
	}	
};
/* END CONTENT FROM: /includegeneral/AppendToWindowOnloadMethod.js */

/* BEGIN CONTENT FROM: eNMap2.js */
var objMap;
var g_strXML;
var browserName = navigator.appName;
var blnAggregateMode = false;
var strXSL;
var intAggregationMode = 0;
var g_strURL;
var g_strQS;
var g_CenterX;
var g_CenterY;
var g_InitialZoom;
var g_strListingCountHolder;
var strLastSearch;
var g_strAction = '';
var elImage;
var elImageHolder;
var elInfoWindowHolder;
var g_blnPreload;
var g_blnZoomingOut = false;
var g_LoadingImageID;
var g_LoadingImageHolderID;
var g_MapHolderID;
var g_blnEnableAJAX;
var g_InfoWindowHolderID;
var g_blnDisableInfoDetail;
var g_intNewAggregationMode;
var g_TipHolderID;
var g_MoveEndListener, g_MoveStartListener, g_ZoomEndListener, g_ClickListener;
var g_MapTypeHolderID;
var g_blnTrackMapLoaded;
var g_intTempOffset;
var g_arrMarkersOn = [];
var g_arrMarkersOff = [];
var g_arrHTML = [];
var g_arrMarkersHighlighted = [];
var g_blnEnableIconSwapping;
var g_blnFitAll;
var x, y;
var g_blnInfoWindowOpen = false;
var intTopLeft;
var intTopTop;
var intBottomLeft;
var intBottomTop;
var g_InfoWindowLeftPos;
var g_InfoWindowTopPos;
var g_intAggInfoWindowHeight = 215;
var g_intAggInfoWindowWidth = 350;
var g_intListingInfoWindowHeight = 215;
var g_intListingWindowWidth = 350;
var g_blnKeepInfoWindowOpen;
var g_blnEnableIconHighlighting;
var objStreetView;
var g_intMapMode = 1;
var g_blnExternalSuppress = false;
var g_blnHideMapMarkers;

//window.onunload = function() {DisposeMap();}

function DisposeMap() {
	GUnload();
	CloseStreetView();
};

function InitENMap(){
    AppendToWindowOnloadEvent(LoadMap);
    AppendToWindowOnloadEvent(GotoScroll);
    AppendToWindowOnloadEvent(HandleMouseMove);
    AppendToWindowOnloadEvent(AddWindowEvents);
    AppendToWindowOnloadEvent(GetScroll);
};

function AddWindowEvents() {
	window.onscroll = function() {GetScroll();}
	window.onclick = function() {GetScroll();}
	window.onkepress = function() {GetScroll();}
};

function LoadMap() {
    if (g_blnExternalSuppress) {
        window.scrollTo(0, 0);
        return false;
    }
	var CenterX = g_CenterX;
	var CenterY = g_CenterY;
	var InitialZoom = g_InitialZoom;
	var blnResetMap;
	if (g_blnPreload || ShouldMaintainStateOnReturn()) {
		if (g_intMapMode != 2) {
			ShowLoadingImage();
			LoadMapByPointAndZoom(CenterX, CenterY, InitialZoom);
		} else {
			LoadStreetView();
		}
	} else {
		if (g_CenterX != 0 && g_CenterY != 0) {
			blnResetMap = false;
		} else {
			blnResetMap = true;
		}
		GetData(null, null, null, blnResetMap);
	}
};

function LoadMapByPointAndZoom(CenterX, CenterY, InitialZoom){
	if (ShouldMaintainStateOnReturn()) {
		CenterX = parseFloat(document.getElementById('MapCenterLatHolder').value);
		CenterY = parseFloat(document.getElementById('MapCenterLongHolder').value);
		InitialZoom = parseInt(document.getElementById('MapZoomHolder').value);
	}

	objMap = new GMap2(document.getElementById(g_MapHolderID));
	objMap.setCenter(new GLatLng(CenterX, CenterY), parseInt(InitialZoom), GetMapType());
	objMap.enableDoubleClickZoom();
	
	var intZoomLevel = objMap.getZoom();
	document.getElementById('MapZoomHolder').value = intZoomLevel;

	var objLatLng = objMap.getCenter();
	document.getElementById('MapCenterLatHolder').value = objLatLng.lat();
	document.getElementById('MapCenterLongHolder').value = objLatLng.lng();

	var objBounds = objMap.getBounds();
	var objNELatLng = objBounds.getNorthEast();
	var objSWLatLng = objBounds.getSouthWest();
	
	document.getElementById('NWLatHolder').value = objNELatLng.lat();
	document.getElementById('NWLongHolder').value = objNELatLng.lng();
	document.getElementById('SELatHolder').value = objSWLatLng.lat();
	document.getElementById('SELongHolder').value = objSWLatLng.lng();

	var mt = objMap.getMapTypes(); 
    for (var i=0; i<mt.length; i++) { 
        mt[i].getMinimumResolution = function() {return 5;} 
        mt[i].getMaximumResolution = function() {return 18;} 
    } 

	AddMapControls();

	var strURL = document.getElementById('URLHolder').value;
	
	if (ShouldMaintainStateOnReturn() && strURL != '') {
		CallURL(strURL, false);
	} else {
		if (g_blnPreload) {
			ProcessXMLData(GXml.parse(g_strXML));
		} 
	}
	AddMapListeners();
	MaintainStateOnReturn(false);
	
	if (g_blnTrackMapLoaded) {
		setTimeout("isComplete()", 5000); 
	}
};

function isComplete() {
	var elMapHolder = document.getElementById(g_MapHolderID); 
    var imgNodes = elMapHolder.getElementsByTagName('IMG');
    var blnComplete = false; 
    for (var i = 0; i < imgNodes.length; i++) { 
		var srcc = imgNodes[i].src; 
		if (imgNodes[i].readyState == 'complete') {
			blnComplete = true;
		} else {
			blncomplete = false;
			break;
		}
    }
	document.getElementById('MapLoadedHolder').value = blnComplete + '';   
};

function ClearMapListeners() {
	if (g_MoveEndListener) {
		GEvent.removeListener(g_MoveEndListener);
		GEvent.removeListener(g_MoveStartListener);
		GEvent.removeListener(g_ZoomEndListener);
		GEvent.removeListener(g_ClickListener);
	}
};

function AddMapListeners() {
	if (g_blnEnableAJAX) {
		g_MoveEndListener = GEvent.addListener(objMap, 'moveend', function(){HandleMoveEnd();});
		g_MoveStartListener = GEvent.addListener(objMap, 'movestart', function(){HandleMoveStart();});
		g_ZoomEndListener = GEvent.addListener(objMap, 'zoomend', function(oldLevel, newLevel){HandleZoomEnd(oldLevel, newLevel);});
		g_ClickListener = GEvent.addListener(objMap, 'click', function(overlay, point){HandleMapClick(overlay, point);});
	}
};

function HandleMapClick(overlay, point) {
	if (!overlay) {
		CloseInfoWindow();
	}
};

function HandleZoomEnd(oldLevel, newLevel) {
	if (newLevel < oldLevel) {
		g_blnZoomingOut = true;
		g_strAction = 'zoomout';
	} else {
		g_strAction = 'zoomin';
	}
	CloseInfoWindow();
	if (blnAggregateMode || g_blnZoomingOut) {
		if (!g_blnZoomingOut) {
			SetSuppressGet(false);
		}
		if (g_blnZoomingOut && g_intNewAggregationMode == 2) {
			SetSuppressGet(false);
		}
		GetData(objMap.getBounds(), objMap.getZoom());
		g_blnZoomingOut = false;
	}
	var intZoomLevel = objMap.getZoom();
	document.getElementById('MapZoomHolder').value = intZoomLevel;

	var objLatLng = objMap.getCenter();
	document.getElementById('MapCenterLatHolder').value = objLatLng.lat();
	document.getElementById('MapCenterLongHolder').value = objLatLng.lng();

	var objBounds = objMap.getBounds();
	var objNELatLng = objBounds.getNorthEast();
	var objSWLatLng = objBounds.getSouthWest();
	document.getElementById('NWLatHolder').value = objNELatLng.lat();
	document.getElementById('NWLongHolder').value = objNELatLng.lng();
	document.getElementById('SELatHolder').value = objSWLatLng.lat();
	document.getElementById('SELongHolder').value = objSWLatLng.lng();
	
	ShowTip(3);
};

function HandleMoveEnd() {
	if (g_strAction.indexOf("zoom") < 0)  {
		g_strAction = 'moveend';
		if (!blnAggregateMode) {
			GetData(objMap.getBounds(), objMap.getZoom());
		}
		var intZoomLevel = objMap.getZoom();
		document.getElementById('MapZoomHolder').value = intZoomLevel;

		var objLatLng = objMap.getCenter();
		document.getElementById('MapCenterLatHolder').value = objLatLng.lat();
		document.getElementById('MapCenterLongHolder').value = objLatLng.lng();

		var objBounds = objMap.getBounds();
		var objNELatLng = objBounds.getNorthEast();
		var objSWLatLng = objBounds.getSouthWest();
		document.getElementById('NWLatHolder').value = objNELatLng.lat();
		document.getElementById('NWLongHolder').value = objNELatLng.lng();
		document.getElementById('SELatHolder').value = objSWLatLng.lat();
		document.getElementById('SELongHolder').value = objSWLatLng.lng();
		document.getElementById('CenterModeHolder').value = '2';
	}
};

function HandleMoveStart() {
	g_strAction = 'movestart'
	CloseInfoWindow();
};

function ProcessXMLData(objXML, blnResetMap) {
   ShowLoadingImage();
   if (objXML) {
	    AddOverlaysFromXML(objXML, blnResetMap);
	    UpdateQSHolder(objXML);
   }
   HideLoadingImage();
};

var elDiv = document.createElement('div');
var arrEl;
var strAction;
function createMarker(point, strHTML, objIcon) {
	var marker;
	var strAction;
	if (objIcon) {
		marker = new GMarker(point, objIcon);
	} else {
		marker = new GMarker(point);
	}
	if (!g_blnDisableInfoDetail) {
		GEvent.addListener(marker, 'mouseover', function() {
			MarkerMouseOver(strHTML, marker);
		});
		GEvent.addListener(marker, 'click', function() {
			KeepInfoWindowOpen(strHTML, marker);
		});
		
		if (strHTML.indexOf('DoubleClickAction') >= 0) {
			elDiv.innerHTML = strHTML;
			arrEl = elDiv.getElementsByTagName('a');
			for (var i = 0; i < arrEl.length; i++) {
				if (arrEl[i].id == 'DoubleClickAction') {
					strAction = arrEl[i].href;
					strAction = strAction.replace(/JavaScript:/i, '');
					strAction = unescape(strAction)
				}
			}
			GEvent.addListener(marker, 'dblclick', function() {
				eval(strAction);
			});
		}
	}

	return marker;
};

function MarkerMouseOver(strHTML, marker) {
	if (!g_blnKeepInfoWindowOpen) {
		ShowInfoWindow(strHTML, marker);
	}
};

function ToggleMarker(strTextToFind) {
    if (g_blnEnableIconSwapping) {	
		for (var i = 0; i < g_arrHTML.length; i++) {	
			if (g_arrHTML[i].indexOf(strTextToFind) >= 0) {	
				if (g_arrMarkersOn[i][1]) {
			        objMap.removeOverlay(g_arrMarkersOn[i][0]);
					objMap.addOverlay(g_arrMarkersOff[i][0]);
					g_arrMarkersOff[i][1] = true;
					g_arrMarkersOn[i][1] = false;
				} else {
				    objMap.removeOverlay(g_arrMarkersOff[i][0]);
					objMap.addOverlay(g_arrMarkersOn[i][0]);
					g_arrMarkersOff[i][1] = false;
					g_arrMarkersOn[i][1] = true;			
				}
				return true;
			}
		}
	}
};

function HighlightMarker(strTextToFind, blnHighlight) {
	if (g_blnEnableIconHighlighting) {
		for (var i = 0; i < g_arrHTML.length; i++) {	
			if (g_arrHTML[i].indexOf(strTextToFind) >= 0) {
				if (g_arrMarkersOn[i][1]) {
					if (blnHighlight) {
						KeepInfoWindowOpen(g_arrHTML[i], g_arrMarkersOn[i][0]);
						//PageToDetail(strTextToFind);
					} else {
						CloseInfoWindow();
						//PageToDetail(strTextToFind);
					}
				} else if (g_arrMarkersOff[i][1]) {
					if (blnHighlight) {
						KeepInfoWindowOpen(g_arrHTML[i], g_arrMarkersOn[i][0]);
					} else {
						CloseInfoWindow();
					}
				} else {
					objMap.removeOverlay(g_arrMarkersHighlighted[i][0]);
					objMap.addOverlay(g_arrMarkersOn[i][0]);
					g_arrMarkersHighlighted[i][1] = false;
					g_arrMarkersOn[i][1] = true;			
				}	
				return true;
			} 
		}
	}
};

function AddOverlaysFromXML(objXmlDoc, blnResetMap) {
   var marker;
   var Lat;
   var Long;
   var CenterLat;
   var CenterLong;
   var NewZoomLevel;
   var NELat, NELong, SWLat, SWLong;
   var intCountOutOfBounds = 0;
   var intFinalCount = 0;
   var intNewAggregationMode;
   var strResultText;
   var point;
   var elChildren;
   var strHTML;
   var objXML;
   var intCount;
   var blnZoomIn = true;
   var objXSL = GXml.parse(strXSL + '');
   var objXSLProcessor;
   var objHTMLDoc;
   var objSer, strXML;
   var strAllHTML = '';
   var ListingID, Zip, City, State;
   var objIcon, objAlternateIcon, objHighlightedIcon;
   var intArrIndex;
   var lastPoint, lastIcon, lastAltIcon, lastHighIcon;
   
   if (browserName.indexOf('Microsoft') != 0) {
	    objXSLProcessor = new XSLTProcessor();
	    objXSLProcessor.importStylesheet(objXSL);
		objSer = new XMLSerializer();
   }
   
   if (blnResetMap) {
       if (objMap) {
           objMap.clearOverlays();
       }
   }
     
   if (objXmlDoc.documentElement.childNodes.length == 0) {
		if (!objMap) {
			document.getElementById(g_MapHolderID).innerHTML = "<BR><B><Div align='center' valing='middle'>No properties matched your search</div></B><BR>";
		} else {
			UpdateResultCount("0 matches for your search");
		}
   } else {
		if (blnResetMap) {
			CenterLat = objXmlDoc.documentElement.getAttribute("CenterPointLat");
			CenterLong = objXmlDoc.documentElement.getAttribute("CenterPointLong");
			NewZoomLevel = objXmlDoc.documentElement.getAttribute("ZoomLevel");
		} else {
			CenterLat = g_CenterX;
			CenterLong = g_CenterY;
			NewZoomLevel = g_InitialZoom;
		}
	       
		if (!objMap) {
			LoadMapByPointAndZoom(CenterLat, CenterLong, NewZoomLevel);
		} 
       
		if (blnResetMap) {
			ClearMapListeners();
			intCount = NewZoomLevel - objMap.getZoom();
				if (intCount < 0) {
					intCount = intCount * -1;
					blnZoomIn = false;
				}
		       
				for (var i = 0; i < intCount; i++) {
					if (blnZoomIn) {
					objMap.zoomIn();
					} else {
					objMap.zoomOut();
					}
				}
		       
				objMap.panTo(new GLatLng(CenterLat, CenterLong));
		       
				var intZoomLevel = objMap.getZoom();
				document.getElementById('MapZoomHolder').value = intZoomLevel;

				var objLatLng = objMap.getCenter();
				document.getElementById('MapCenterLatHolder').value = objLatLng.lat();
				document.getElementById('MapCenterLongHolder').value = objLatLng.lng();

				var objBounds = objMap.getBounds();
				var objNELatLng = objBounds.getNorthEast();
				var objSWLatLng = objBounds.getSouthWest();
				document.getElementById('NWLatHolder').value = objNELatLng.lat();
				document.getElementById('NWLongHolder').value = objNELatLng.lng();
				document.getElementById('SELatHolder').value = objSWLatLng.lat();
				document.getElementById('SELongHolder').value = objSWLatLng.lng();
		        AddMapListeners();
		}
   
		NELat = GetNELat();
		NELong = GetNELong();
		SWLat = GetSWLat();
		SWLong = GetSWLong();
		
		elChildren = objXmlDoc.documentElement.childNodes;
       
		if (elChildren.length > 0) {
			if (elChildren[0].getElementsByTagName("ListingID").length > 0){
				intNewAggregationMode = 1;
				blnAggregateMode = false;
			} else {
				if (elChildren[0].getElementsByTagName("Zip").length > 0) {
					intNewAggregationMode = 2;
				} else {
					intNewAggregationMode = 3;
				}
				blnAggregateMode = true;
				SetSuppressGet(true);
			}

		}
	    g_intNewAggregationMode = intNewAggregationMode;
		if (intNewAggregationMode != intAggregationMode) {
			objMap.clearOverlays();
		}      
		intAggregationMode = intNewAggregationMode;
		var checkZoom;
		for (var i = 0; i < elChildren.length; i++) {		
			if (elChildren[i].getElementsByTagName("Lat")[0] && parseFloat(elChildren[i].getElementsByTagName("Lat")[0].firstChild.nodeValue)) {
				Lat = parseFloat(elChildren[i].getElementsByTagName("Lat")[0].firstChild.nodeValue);
				Long = parseFloat(elChildren[i].getElementsByTagName("Long")[0].firstChild.nodeValue);
				if (Lat >= NELat || Lat <= SWLat || Long >= NELong || Long <= SWLong ) {
				    if (g_blnFitAll) {
				        while (Lat >= NELat || Lat <= SWLat || Long >= NELong || Long <= SWLong ) {
							checkZoom = objMap.getZoom();			        
				            objMap.setZoom(objMap.getZoom() - 1);
				            if (checkZoom == objMap.getZoom()) {break}
				            NELat = GetNELat();
		                    NELong = GetNELong();
		                    SWLat = GetSWLat();
		                    SWLong = GetSWLong();
				        }
				    }
					intCountOutOfBounds++;
				}
				point = new GLatLng(Lat, Long);
				if (elChildren[i].xml) {
					objXML = GXml.parse(elChildren[i].xml);
					strHTML = objXML.transformNode(objXSL);
				} else {
					strXML = objSer.serializeToString(elChildren[i]);
					objXML = GXml.parse(strXML);
					objHTMLDoc = objXSLProcessor.transformToDocument(objXML);
					strHTML = objSer.serializeToString(objHTMLDoc.childNodes[0]);
				}
				strHTML = strHTML.replace(/&lt;img/gi, "<img");
				strHTML = strHTML.replace(/&gt;&lt;\/img&gt;/gi, "></img>");

                if (!g_blnHideMapMarkers) {				
				    objIcon = GetIcon(elChildren[i]);
    				
				    if (g_blnEnableIconSwapping) {
					    objAlternateIcon = GetIcon(elChildren[i], true);
				    }
    				
				    if (g_blnEnableIconHighlighting) {
					    objHighlightedIcon = GetIcon(elChildren[i], false, true);
				    }
    				
				    if (intNewAggregationMode == 1) {
					    ListingID = elChildren[i].getElementsByTagName("ListingID")[0].firstChild.nodeValue;
				    } else if (intNewAggregationMode == 2) {
					    Zip = elChildren[i].getElementsByTagName("Zip")[0].firstChild.nodeValue;
				    } else {
					    City = elChildren[i].getElementsByTagName("City")[0].firstChild.nodeValue;
					    State = elChildren[i].getElementsByTagName("State")[0].firstChild.nodeValue;
				    } 
				    if (lastPoint) {
					    if (lastPoint.lat() != point.lat() || lastPoint.lng() != point.lng()) {									    
						    marker = createMarker(lastPoint, strAllHTML, lastIcon);
						    objMap.addOverlay(marker);		
						    CreateAltIcons(marker, lastPoint, strAllHTML, lastAltIcon, lastHighIcon);
						    strAllHTML = '';
					    }
				    } else if (i == (elChildren.length - 1)) {						
                        marker = createMarker(point, strHTML, objIcon);
					    objMap.addOverlay(marker);
				    }
    				
    				
				    strAllHTML = strAllHTML + strHTML;				
    				
				    lastPoint = point;			
				    lastIcon = objIcon;
				    lastAltIcon = objAlternateIcon;
				    lastHighIcon = objHighlightedIcon;
    				
				    if (i == (elChildren.length - 1)) {			
					    marker = createMarker(point, strAllHTML, objIcon);
					    objMap.addOverlay(marker);
					    CreateAltIcons(marker, point, strAllHTML, objAlternateIcon, objHighlightedIcon);
					    strAllHTML = '';
				    }
				}// end no map marker
			} 
       }
   if (intNewAggregationMode == 3) {
       strResultText = 'cities with properties';
       intFinalCount = elChildren.length - intCountOutOfBounds;
   } else if (intNewAggregationMode == 2) {
       strResultText = 'zip codes with properties';
       intFinalCount = elChildren.length - intCountOutOfBounds;
   } else {
       strResultText = 'properties match your search';
       intFinalCount = elChildren.length;
   }
   UpdateResultCount(elChildren.length + ' ' + strResultText);
   HideLoadingImage();
   }
};

function CreateAltIcons(marker, point, strAllHTML, objAlternateIcon, objHighlightedIcon) {
	if (g_blnEnableIconSwapping || g_blnEnableIconHighlighting) {
		intArrIndex = g_arrMarkersOn.length
		g_arrMarkersOn[intArrIndex] = new Array(2);
		g_arrMarkersOn[intArrIndex][0] = marker;
		g_arrMarkersOn[intArrIndex][1] = true;
		g_arrHTML[intArrIndex] = strAllHTML
	}
	
	if (g_blnEnableIconSwapping) {
		var markerAlt;
		var strNewHTML;
		strNewHTML = strAllHTML.replace(/custom savelisting/g, "custom savelisting savedlisting");
		markerAlt = createMarker(point, strNewHTML, objAlternateIcon);
		g_arrMarkersOff[intArrIndex] = new Array(2);
		g_arrMarkersOff[intArrIndex][0] = markerAlt;
		g_arrMarkersOff[intArrIndex][1] = false;
	}
	
	if (g_blnEnableIconHighlighting) {
		var markerHigh;
		markerHigh = createMarker(point, strAllHTML, objHighlightedIcon);
		g_arrMarkersHighlighted[intArrIndex] = new Array(2);
		g_arrMarkersHighlighted[intArrIndex][0] = markerHigh;
		g_arrMarkersHighlighted[intArrIndex][1] = false;
	}
};

function UpdateResultCount(intCount) {
   if (g_strListingCountHolder > '') {
       document.getElementById(g_strListingCountHolder).innerHTML = intCount + '';
   }
};

function GetData(objLatLngBounds, ZoomLevel, strAdditionalParams, blnResetMap) {
	var blnIsHidden = true;
	if (objMap) {
			if (!objMap.getInfoWindow().isHidden()) {
				blnIsHidden = false;
			}
	}
	if (!objMap || (!ShouldSuppress() && blnIsHidden)) {
		ShowLoadingImage();
		var strQS = g_strQS;
		var strCoords;
		var strZoomLevel;
		var strURL;
		if (strAdditionalParams) {
			strQS = strQS + '&' + strAdditionalParams;
			strLastSearch = strAdditionalParams;
		} else if (strLastSearch) {
			strQS = strQS + '&' + strLastSearch;
		}
		strURL = g_strURL + strQS;
		if (objLatLngBounds) {
			strCoords = 'NELat=' + objLatLngBounds.getNorthEast().lat() + '&NELong=' + objLatLngBounds.getNorthEast().lng() + '&SWLat=' + objLatLngBounds.getSouthWest().lat() + '&SWLong=' + objLatLngBounds.getSouthWest().lng();
			strURL = strURL + '&' + strCoords;
		}
		if (ZoomLevel) {           strZoomLevel = 'ZoomLevel=' + ZoomLevel + '';
			strURL = strURL + '&' + strZoomLevel;
		}
		strURL = strURL + '&AggregationMode=' + intAggregationMode + '&action=' + g_strAction;
		CallURL(strURL, blnResetMap);
		document.getElementById('URLHolder').value = strURL;
   } else {
		if (ShouldSuppress() && g_strAction == 'moveend' && g_intNewAggregationMode == 1) {
			ShowTip(2);
		}
   }
};

function CallURL(strURL, blnResetMap) {
   var request = GXmlHttp.create();
	request.open('GET', strURL, true);
	request.onreadystatechange = getCallbackFunction(request, ProcessXMLData, blnResetMap);
	request.send(null);
};

function getCallbackFunction(req, processDataFunction, blnResetMap) {
   return function () {
		if (req.readyState == 4) {
	    	if (req.status == 200) {
				processDataFunction(req.responseXML, blnResetMap);
			} else {
				//alert('HTTP error: ' + req.status);
			}
		}
	}
};

function ShowLoadingImage() {
    if (!g_blnHideMapMarkers) {
	    elImage = document.getElementById(g_LoadingImageID);
	    elImageHolder = document.getElementById(g_LoadingImageHolderID);
	    var elMapHolder = document.getElementById(g_MapHolderID);
	    var intCenterTop = Math.ceil(elMapHolder.style.height.replace(/px/, '')/2);
	    var intCenterLeft = Math.ceil(elMapHolder.style.width.replace(/px/, '')/2);
	    var objImage = new Image();
	    objImage.src = '/images/systemimages/MapLoading.gif';
	    var intHalfWidth = Math.ceil(objImage.width/2);
	    var intHalfHeight = Math.ceil(objImage.height/2);
	    var elMapHolder = document.getElementById(g_MapHolderID);
	    var point = FindPos(elMapHolder, 'PageWrapper');
	    var mapX, mapY;
	    mapX = point[0];
	    mapY = point[1];
	    elImage.src = objImage.src;
	    elImageHolder.style.left = (mapX + intCenterLeft - intHalfWidth) + 'px';
	    elImageHolder.style.top = (mapY + intCenterTop - intHalfHeight) + 'px';
	    elImageHolder.style.visibility = 'visible';
	    elImageHolder.style.display = 'inline';
	    }
};

function HideLoadingImage() {
    if (!g_blnHideMapMarkers) {
   elImageHolder.style.display = 'none';
   elImageHolder.style.visibility = 'hidden';
   }
};

function CloseInfoWindow() {
   HideInfoWindow();
};

function MaintainStateOnReturn(blnMaintain) {
   document.getElementById('MaintainStateOnReturn').value = blnMaintain;
};

function ShouldMaintainStateOnReturn() {
	if (document.getElementById('MaintainStateOnReturn').value == 'true') {
		return true;
	} else {
		return false;
	}
};

var scrollX = 0;
var scrollY = 0;
function GetScroll() {
	if (document.all) {
		if (!document.documentElement.scrollLeft) {
			scrollX = document.body.scrollLeft;
		} else {
			scrollX = document.documentElement.scrollLeft;
		}
		if (!document.documentElement.scrollTop) {
			scrollY = document.body.scrollTop;
		} else {
			scrollY = document.documentElement.scrollTop;
		}
	} else {
		scrollX = window.pageXOffset;
		scrollY = window.pageYOffset;
	}
	document.getElementById('ScrollLeftHolder').value = scrollX;
	document.getElementById('ScrollTopHolder').value = scrollY;
};

function GotoScroll() {
   var x = parseInt(document.getElementById('ScrollLeftHolder').value);
   var y = parseInt(document.getElementById('ScrollTopHolder').value);
   window.scrollTo(x, y);
};

function SetSuppressGet (blnSuppressGet) {
   document.getElementById('SuppressGetHolder').value = (blnSuppressGet + '').toLowerCase();
};

function ShouldSuppress() {
   var blnSuppressGet = false;
   if (document.getElementById('SuppressGetHolder').value) {
       if (document.getElementById('SuppressGetHolder').value.toLowerCase() == 'true') {
           blnSuppressGet = true;
       }
   }
   return blnSuppressGet;
};

function GetNELat() {
   return objMap.getBounds().getNorthEast().lat();
};

function GetNELong() {
   return objMap.getBounds().getNorthEast().lng();
};

function GetSWLat() {
   return objMap.getBounds().getSouthWest().lat();
};

function GetSWLong() {
   return objMap.getBounds().getSouthWest().lng();
};

function ShowInfoWindow(strHTML, objMarker) {
    var elChild;
	elImageHolder = document.getElementById(g_LoadingImageHolderID);
	if (elImageHolder.style.visibility != 'visible') {
		var strID;
		elInfoWindowHolder = document.getElementById(g_InfoWindowHolderID);
		elInfoWindowHolder.innerHTML = strHTML;
		var intHolderHeight = (blnAggregateMode) ? 127 : 212; 		
		for (var i=0; i < elInfoWindowHolder.childNodes.length; i++) {
			if (elInfoWindowHolder.childNodes[i]) {		
					if (i != 0) {
						elInfoWindowHolder.childNodes[i].style.position = 'absolute';
						elInfoWindowHolder.childNodes[i].style.display = 'none';				
					}
					strID = i + '_' + objMarker.getPoint().lat() + '_'  + objMarker.getPoint().lng();
				elInfoWindowHolder.childNodes[i].id = strID;
				elInfoWindowHolder.childNodes[i].innerHTML = elInfoWindowHolder.childNodes[i].innerHTML.replace(/divID/g, "'" + strID + "'");
				if (elInfoWindowHolder.childNodes.length > 1) {
					elInfoWindowHolder.childNodes[i].innerHTML = elInfoWindowHolder.childNodes[i].innerHTML.replace(/ItemHidden/g, "ItemVisible");
					elChild = GetChildElement(elInfoWindowHolder.childNodes[i], 'span', 'ListingCount');
					if (elChild) {
					    GetChildElement(elInfoWindowHolder.childNodes[i], 'span', 'ListingCount').innerHTML = elInfoWindowHolder.childNodes.length + '&nbsp;';
					}
				} else {
					//elInfoWindowHolder.childNodes[i].innerHTML = elInfoWindowHolder.childNodes[i].innerHTML.replace(/MapInfoNextBar/g, "");
				}
			}
			if (IsIE() && GetBrowserVersion() <= 6) {
				if (blnAggregateMode) {
					elInfoWindowHolder.childNodes[i].innerHTML = elInfoWindowHolder.childNodes[i].innerHTML.replace(/MapOuterTableSmall/g, "MapOuterTableSmallIE6");
				} else {	
					elInfoWindowHolder.childNodes[i].innerHTML = elInfoWindowHolder.childNodes[i].innerHTML.replace(/MapOuterTable/g, "MapOuterTableIE6");
				}
			}
		}	
		if (typeof window.InfoWindow_Show != "undefined") {
			InfoWindow_Show(elInfoWindowHolder);
		}
		var objIcon = objMarker.getIcon();
		var objPoint = objMap.fromLatLngToDivPixel(objMarker.getPoint());
		var objCenterPixel = objMap.fromLatLngToDivPixel(objMap.getCenter());
		var intX = objPoint.x - objIcon.iconAnchor.x + objIcon.infoWindowAnchor.x;
		var intY = objPoint.y - objIcon.iconAnchor.y + objIcon.infoWindowAnchor.y;
		var intWidth = objMap.getSize().width;
		var intHeight = objMap.getSize().height;
		var quadrantOffX = 48;
		var intAdjustedCenter = intWidth - g_intListingWindowWidth;		
		if (intAdjustedCenter < 0) {intAdjustedCenter = 0;}
		if (objPoint.x > intAdjustedCenter) {
			quadrantOffX = g_intListingWindowWidth - quadrantOffX + 10;
			elInfoWindowHolder.innerHTML = elInfoWindowHolder.innerHTML.replace(/footer/g, "footerRight")
		}
		var intOffsetX = Math.ceil(intWidth/2) - objCenterPixel.x - quadrantOffX;
		var intOffsetY = Math.ceil(intHeight/2) - objCenterPixel.y - intHolderHeight;
		var elMapHolder = document.getElementById(g_MapHolderID);
		var point = FindPos(elMapHolder);
		var mapX, mapY;
		mapX = point[0];
		mapY = point[1];	
		var left = mapX + intX + intOffsetX;		
		var top = mapY + intY + intOffsetY;			
		left = left + 'px';
		top = top + 'px';
		elInfoWindowHolder.style.left = left;
		elInfoWindowHolder.style.top = top;				
		elInfoWindowHolder.style.visibility = 'visible';
		elInfoWindowHolder.style.display = 'inline';		
		g_blnInfoWindowOpen = true;
		var intAreaHeight, intAreaWidth;
		var intIconHeight = objMarker.getIcon().iconSize.height;
		if (blnAggregateMode) {
			intAreaHeight = g_intAggInfoWindowHeight + intIconHeight;
			intAreaWidth = g_intAggInfoWindowWidth;
		} else {
			intAreaHeight = g_intListingInfoWindowHeight + intIconHeight;
			intAreaWidth = g_intListingWindowWidth;
		}	
		var arrPos = FindPos(elInfoWindowHolder);
		g_InfoWindowLeftPos = arrPos[0];
		g_InfoWindowTopPos = arrPos[1];
		intTopLeft = g_InfoWindowLeftPos - scrollX;
		intTopTop = g_InfoWindowTopPos - scrollY;
		intBottomLeft = g_InfoWindowLeftPos - scrollX + intAreaWidth;
		intBottomTop = g_InfoWindowTopPos - scrollY + intAreaHeight;	
		
		if (typeof window.ToggleSavedButton != "undefined") {
		    var el = elInfoWindowHolder.getElementsByTagName("a");
		    var intLID = 0;
		    for (var i = 0; i < el.length; i++) {
		        if (el[i].id != "") {
		            if (el[i].id.indexOf("btn_SaveListingOnMap_") >= 0) {
		                intLID = el[i].id.replace(/btn_SaveListingOnMap_/g, "");
		                ToggleSavedButton(intLID);
		            }
		        }
		    }
		}
	}
};

function HideInfoWindow() {
   if (elInfoWindowHolder) {
       elInfoWindowHolder.style.display = 'none';
       elInfoWindowHolder.style.visibility = 'hidden';
       g_blnInfoWindowOpen = false;
       g_blnKeepInfoWindowOpen = false;
   }
};

function HandleMouseMove() {
    if (window.Event) {
        if (typeof document.captureEvents != "undefined") {
            document.captureEvents(Event.MOUSEMOVE);
        }
    }
    AppendEventHandlerByElement(document, "onmousemove", MapMouseMove);
};
function MapMouseMove(e) {
  if (event) {
    x = event.clientX;
    y = event.clientY;
  } else if (e) {
    x = e.pageX;
    y = e.pageY;
  }
  if (!IsIE()) {
	x = x - scrollX;
	y = y - scrollY;
  }
  if (g_blnInfoWindowOpen) {
	if (x >= intTopLeft && x <= intBottomLeft && y >= intTopTop && y <= intBottomTop) {
	
	} else {
		if (!g_blnKeepInfoWindowOpen) {
			HideInfoWindow();
		}	
	}
  }
};

function SetMapTypeByInt(intMapType) {
	var objMapType;
	//if (intMapType == 0) {objMapType = NOT_SET}
	if (intMapType == 1) {objMapType = G_NORMAL_MAP}
	if (intMapType == 2) {objMapType = G_SATELLITE_MAP}
	if (intMapType == 3) {objMapType = G_HYBRID_MAP}
	SetMapType(objMapType);
	SetMapTypeHolderByInt(intMapType);
};

function SetMapType(MapType) {
	objMap.setMapType(MapType);
	SetMapTypeHolder(MapType);
};

function GetMapType() {
	var intMapType = document.getElementById(g_MapTypeHolderID).value;
	var objMapType = G_NORMAL_MAP;
	if (intMapType) {
		intMapType = parseInt(intMapType);
		//if (intMapType == 0) {objMapType = NOT_SET}
		if (intMapType == 1) {objMapType = G_NORMAL_MAP}
		if (intMapType == 2) {objMapType = G_SATELLITE_MAP}
		if (intMapType == 3) {objMapType = G_HYBRID_MAP}
	} 
	return objMapType;
};

function SetMapTypeHolder(objMapType) {
	var elMapTypeHolder = document.getElementById(g_MapTypeHolderID);
	var intMapType = 0;
	if (objMapType == G_NORMAL_MAP) {intMapType = 1} 
	if (objMapType == G_SATELLITE_MAP) {intMapType = 2}
	if (objMapType == G_HYBRID_MAP) {intMapType = 3}
	SetMapTypeHolderByInt(intMapType);
};

function SetMapTypeHolderByInt(intMapType) {
	var elMapTypeHolder = document.getElementById(g_MapTypeHolderID);
	elMapTypeHolder.value = intMapType;
};

function RefreshData() {	
	GetData(objMap.getBounds(), objMap.getZoom());
};

function GotoNextDetail(divID, blnNext) {
	var intIndexToShow;
	var intIndexToHide;
	for (var i = 0; i < elInfoWindowHolder.childNodes.length; i++) {
		if (elInfoWindowHolder.childNodes[i].id == divID) {
			intIndexToHide = i;
			if (blnNext) {
				if (elInfoWindowHolder.childNodes[i + 1]) {
					intIndexToShow = i + 1;
				} else {
					intIndexToShow = 0;
				}
			} else {
				if (i == 0) {
					if (elInfoWindowHolder.childNodes[elInfoWindowHolder.childNodes.length - 1]) {
						intIndexToShow = elInfoWindowHolder.childNodes.length - 1;
					} else {
						//sometimes there's a blank element
						intIndexToShow = elInfoWindowHolder.childNodes.length - 2;
					}
				} else {
					intIndexToShow = i - 1;
				}
			}
			GetChildElement(elInfoWindowHolder.childNodes[intIndexToShow], 'span', 'ListingIndex').innerHTML = intIndexToShow + 1 + '';
			elInfoWindowHolder.childNodes[intIndexToShow].style.display = 'inline';
			elInfoWindowHolder.childNodes[intIndexToShow].style.visibility = 'visible';			
			elInfoWindowHolder.childNodes[intIndexToHide].style.display = 'none';
			elInfoWindowHolder.childNodes[intIndexToHide].style.visibility = 'hidden';			
		}
	}
};

function PageToDetail(strTextToFind) {
	var intIndexToShow;
	var intIndexToHide;
	for (var i = 0; i < elInfoWindowHolder.childNodes.length; i++) {
		if (elInfoWindowHolder.childNodes[i].innerHTML.indexOf(strTextToFind) >= 0) {
			intIndexToShow = i;
		} else {
			if (elInfoWindowHolder.childNodes[i].style.display != 'none') {
				intIndexToHide = i;
			}
		}			
	}
	GetChildElement(elInfoWindowHolder.childNodes[intIndexToShow], 'span', 'ListingIndex').innerHTML = intIndexToShow + 1 + '';
	elInfoWindowHolder.childNodes[intIndexToShow].style.display = 'inline';
	elInfoWindowHolder.childNodes[intIndexToShow].style.visibility = 'visible';		
	if (intIndexToHide >= 0) {
		elInfoWindowHolder.childNodes[intIndexToHide].style.display = 'none';
		elInfoWindowHolder.childNodes[intIndexToHide].style.visibility = 'hidden';
	}	
};

function GetChildElement(objElement, strTagName, strID) {
	var arrElements = objElement.getElementsByTagName(strTagName);
	var objTarget;
	for (var i = 0; i < arrElements.length; i++) {
		if (arrElements[i].id == strID) {
			objTarget = arrElements[i];
		}
	}
	return objTarget;
};

function ShowTip(TipNumber) {
	var strTip;
	var elTipHolder = document.getElementById(g_TipHolderID);
	
	if (elTipHolder) {
		if (TipNumber == 2) {
			strTip = "<span class='MapAlert'>NOTE: You are moving outside your search results, <a href='JavaScript:ClearSearch();'>click to clear</a></span>";
		} else if (TipNumber == 3) {
			var intRnd = Math.floor(Math.random()*100)
			if (intRnd >= 50) {
				strTip = "TIP: Double left-click to zoom in";
			} else {
				strTip = "TIP: Double right-click to zoom out";
			}
		} else {
			strTip = "TIP: Use the mouse to drag the map";
		}
		elTipHolder.innerHTML = strTip;
	}
};

function ClearSearch() {
	SetSuppressGet(false);
	SetCity('');
	SetZip('');
	GetData(objMap.getBounds(), objMap.getZoom(), "City=&State=&Zip=");
	ShowTip(1);
};

function ResetSearch() {
	SetCity('');
	SetZip('');
	GetData(null, null, null, true);
};

function FindPos(obj, ExcludeClassesAndIDs) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft;
		curtop = obj.offsetTop;
		while (obj = obj.offsetParent) {
			if (obj.className.indexOf(ExcludeClassesAndIDs) < 0 && obj.id.indexOf(ExcludeClassesAndIDs) < 0) { 
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
			}
		}
	}
	return [curleft,curtop];
};

function KeepInfoWindowOpen(strHTML, marker) {
	ShowInfoWindow(strHTML, marker);
	g_blnKeepInfoWindowOpen = true;
}	;

function IsIE() {
	var blnIsIE = false;
	if (browserName.indexOf('Microsoft') >= 0) {
		blnIsIE = true;
	}
	return blnIsIE;
};

function GetBrowserVersion() {
	var version=0
	if (navigator.appVersion.indexOf("MSIE")!=-1){
	temp=navigator.appVersion.split("MSIE")
	version=parseFloat(temp[1])
	}
	return version;
};

function OpenStreetView(latitude, longitude) {
	var PropertyPoint = new GLatLng(latitude,longitude);
	panoramaOptions = { latlng:PropertyPoint };
	objStreetView = new GStreetviewPanorama(document.getElementById(g_MapHolderID), panoramaOptions);
	GEvent.addListener(objStreetView, "error", HandleNoFlash);
};

function HandleNoFlash(errorCode) {  
	if (errorCode == 603) {    
	    strError = "StreetView requires Adobe Flash Player.\nPlease visit http://get.adobe.com/flashplayer/"
	    alert(strError);
		return;  
	}
};

function CloseStreetView() {
	if (objStreetView) {
		objStreetView.remove();
	}
};

function LoadStreetView() {
	var objXmlDoc;
	var latitude,longitude;
	if (g_strXML != "") {
		objXmlDoc = GXml.parse(g_strXML);
		latitude = parseFloat(objXmlDoc.documentElement.childNodes[0].getElementsByTagName("Lat")[0].firstChild.nodeValue);
		longitude = parseFloat(objXmlDoc.documentElement.childNodes[0].getElementsByTagName("Long")[0].firstChild.nodeValue);	
		OpenStreetView(latitude, longitude);
	}
};

//Street View Location Validation
function StreetViewAvailable(ReturnDataDelegate) {
    var intLatitude, intLongitude;
	var panoClient;
	var objLatLong;
	
	if (g_strXML != "") {
		objXmlDoc = GXml.parse(g_strXML);
		intLatitude = parseFloat(objXmlDoc.documentElement.childNodes[0].getElementsByTagName("Lat")[0].firstChild.nodeValue);
		intLongitude = parseFloat(objXmlDoc.documentElement.childNodes[0].getElementsByTagName("Long")[0].firstChild.nodeValue);	
	}
	
	//Create LatLng object to pass for verification
	objLatLong = new GLatLng(intLatitude, intLongitude);
	
	//Check if this is a valid location (GStreetviewClient only provides "nearest" methods, not 
	//specifically documenting how far out "nearest" LatLng is checked for
	panoClient = new GStreetviewClient();
	panoClient.getNearestPanoramaLatLng(objLatLong, ReturnDataDelegate);
};
function GetSearchQS() {
    var elURLHolder = document.getElementById('SearchQS');
    var strURL;
    var iPos;
    var strQS = "";
    if (elURLHolder) {
        strQS = elURLHolder.value;
    }
    return strQS;
};
function GotoSearchPage(strPage) {
    var strURL;
    strURL = strPage + GetSearchQS();
    window.parent.location = strURL;
};
function UpdateQSHolder(objXML) {
    if (objXML) {
        var strQS = "";
        strQS = objXML.documentElement.getAttribute("SearchQS");
        if (!strQS) {
            strQS = "";
        }
        if (document.getElementById("SearchQS")) {
            document.getElementById("SearchQS").value = strQS;
        }
    }
};
/* END CONTENT FROM: eNMap2.js */

/* BEGIN CONTENT FROM Tracking.js */
function TrackClick(cat, src, type) {
    try
    {
        var axel = Math.random() + ""; 
        var a = axel * 10000000000000; 
        var url;
        var img = new Image();
        if (!src) {
            src = "1167610";
        }
        if (!type) {
            type = "remax001";
        }
        url = "http://ad.doubleclick.net/activity;src=" + src + ";type=" + type + ";cat=" + cat + ";ord=" + a + "?";
        img.src = url;
        return true;
    } 
    catch(err)
    {
        return true;
    }
};
/* END CONTENT FROM Tracking.js */

/* BEGIN CONTENT FROM CheckboxSelectFunctions.js */
function fn_selectOnly(CheckBoxID, ParentID) {

    CheckBoxID.checked = true;

    var collection = document.getElementById(ParentID).getElementsByTagName('INPUT');
    for (var x = 0; x < collection.length; x++) {                     
        if (collection[x].id != CheckBoxID.id ){
            collection[x].checked = false;
        }
    }
 };

 function fn_selectAll(CheckBoxID, ParentID) {
     if (CheckBoxID.checked == true) {
         checkByParent(ParentID, true);
     }
     else {
         checkByParent(ParentID, false);
     }
 };
 
 function checkByParent(aId, aChecked) {
     var collection = document.getElementById(aId).getElementsByTagName('INPUT');
     for (var x = 0; x < collection.length; x++) {
         if (collection[x].type.toUpperCase() == 'CHECKBOX')
             collection[x].checked = aChecked;
     }
 };
 /* END CONTENT FROM CheckboxSelectFunctions.js */
 
/* BEGIN CONTENT FROM DynamicListingCountDisplay.js */
// Global Variables;
var g_strInputSourceControlClientID = "";
var g_strOutputLabelClientID = "";
var g_strParsedValue = "";
var g_objInputSource = null;
var g_blnLastMatchSuccessful = false;
var g_ListingMode = 0;

function getListingCountStatement(event, strInputSourceControlClientID, strOutputLabelClientID, focusListingMode) {
    g_strInputSourceControlClientID = strInputSourceControlClientID;
    g_strOutputLabelClientID = strOutputLabelClientID;
    g_ListingMode = focusListingMode;
	if (g_strInputSourceControlClientID != "") {
		g_objInputSource = document.getElementById(g_strInputSourceControlClientID);
		
		if (g_objInputSource && parseTextValue(g_objInputSource.value)) {
			var strQS = "apitask=2&qs=" + g_strParsedValue + "&listingmode=" + g_ListingMode;
			ExecuteHTTPRequest(strQS, handleXmlHttpResponse);
		} else {
			if (!g_blnLastMatchSuccessful) {
				handleXmlHttpResponse("0"); // clears the listing count label
			}
		}
	}

}

function parseTextValue(strValue) {
	var objRegExpZip = /\b[0-9]{5}(?:-[0-9]{4})?\b/;
	var objRegExpCityState = /\b(?:ALASKA|AMERICAN SAMOA|ARIZONA|CALIFORNIA|COLORADO|CONNECTICUT|DELAWARE|DISTRICT OF COLUMBIA|FEDERATED STATES OF MICRONESIA|FLORIDA|GEORGIA|GUAM|HAWAII|IDAHO|IOWA|KENTUCKY|MAINE|MARSHALL ISLANDS|MARYLAND|MASSACHUSETTS|MINNESOTA|MONTANA|NEBRASKA|NEVADA|NEW HAMPSHIRE|NEW MEXICO|NORTH CAROLINA|NORTH DAKOTA|NORTHERN MARIANA ISLANDS|OHIO|OREGON|PALAU|PENNSYLVANIA|PUERTO RICO|RHODE ISLAND|SOUTH CAROLINA|SOUTH DAKOTA|TENNESSEE|UTAH|VERMONT|VIRGIN ISLANDS|VIRGINIA|WASHINGTON|WEST VIRGINIA|WISCONSIN|WYOMING|AK|AS|AZ|CA|CO|CT|DE|DC|FM|FL|GA|GU|HI|ID|IA|KY|ME|MH|MD|MA|MN|MT|NE|NV|NH|NM|NC|ND|MP|OH|OR|PW|PA|PR|RI|SC|SD|TN|UT|VT|VI|VA|WA|WI|WV|WY)\s*$/i;
	//temp remove MS,MI,LA,MO,NJ,IL,NY,KS,IN,OK,AL,AR,TX

	var arrFinalArray = new Array();
	
	if (strValue.match(objRegExpZip)) {
		g_strParsedValue = strValue.match(objRegExpZip)
		g_blnLastMatchSuccessful = true;
		return true;
	} else {
		//remove any zip numbers since Zip Code did not match
		strValue = strValue.replace(/[0-9]/g, ''); 
		
		//check for spaces and commas to ensure multiple words before doing match
		if (strValue.indexOf(" ") != -1) {
			var arrSplitValues = new Array();
			arrTempValues = strValue.split(" ");
			for (var i = 0; i < arrTempValues.length; i++) {
				var strCurrentValue = arrTempValues[i]
				if (strCurrentValue.indexOf(",") != -1) {
					var arrTempTempValues = strCurrentValue.split(",");
					for (var ii = 0; ii < arrTempTempValues.length; ii++) {
						arrTempValues.push(arrTempTempValues[ii]);
					}
				} else {
					arrSplitValues.push(arrTempValues[i]);
				}
			}
		} else if (strValue.indexOf(",") != -1) {
			var arrSplitValues = strValue.split(",");
		} else {
			g_blnLastMatchSuccessful = false;
			return false;
		}
		
		// Sift through array and add useful elements to a final array (exclude spaces, single characters, etc)
		for (var iii = 0; iii < arrSplitValues.length; iii++) {
			if (arrSplitValues[iii] != " " && arrSplitValues[iii] != "," && arrSplitValues[iii] != "" && arrSplitValues[iii].length >= 2 ) {
				arrFinalArray.push(arrSplitValues[iii]);
			}
		}
	
		// Try the match - if there are only two segments, they must be CITY + STATE
		if (arrFinalArray.length < 2) {
			g_blnLastMatchSuccessful = false;
			return false;
		} else if (arrFinalArray.length >= 2) {
			if (strValue.match(objRegExpCityState)) {
				g_strParsedValue = strValue
				g_blnLastMatchSuccessful = true;
				return true;
			}
		} else {
			// the value in the string must be STATE
			var strTempValue = arrFinalArray[arrFinalArray.length - 1]
			if (strTempValue.match(objRegExpCityState)) {
				g_strParsedValue = strValue
				g_blnLastMatchSuccessful = true;
				return true;
			}
		}
	}

	// no match
	g_blnLastMatchSuccessful = false;
	return false;
}

function handleXmlHttpResponse(strResponseText) {
	var objOutputLabel = document.getElementById(g_strOutputLabelClientID)
	if (objOutputLabel) {
		if (strResponseText != "0" && strResponseText != "") {
			objOutputLabel.innerHTML = strResponseText + " Listings in the Area";
		} else {
			objOutputLabel.innerHTML = "";
		}
	}
}
/* BEGIN CONTENT FROM DynamicListingCountDisplay.js */

/*BEGIN Galleriffic */
/*
 * jQuery Galleriffic plugin
 *
 * Copyright (c) 2008 Trent Foley (http://trentacular.com)
 * Licensed under the MIT License:
 *   http://www.opensource.org/licenses/mit-license.php
 *
 * Thanks to Taku Sano (Mikage Sawatari), whose history plugin I adapted to work with Galleriffic
 * Modified by Ghismo (ghismo.com) to disable the location rewrite 
 */
;(function($) {

    // Write noscript style
    document.write("<style type='text/css'>.noscript{display:none}</style>");

    var ver = 'galleriffic-1.0';
    var galleryOffset = 0;
    var galleries = [];
    var allImages = [];
    var historyCurrentHash;
    var historyBackStack;
    var historyForwardStack;
    var isFirst = false;
    var dontCheck = false;
    var isInitialized = false;

    function getHashFromString(hash) {
        if (!hash) return -1;
        hash = hash.replace(/^.*#/, '');
        if (isNaN(hash)) return -1;
        return (+hash);
    }

    function getHash() {
        var hash = location.hash;
        return getHashFromString(hash);
    }

    function registerGallery(gallery) {
        galleries.push(gallery);

        // update the global offset value
        galleryOffset += gallery.data.length;
    }

    function getGallery(hash) {
        for (i = 0; i < galleries.length; i++) {
            var gallery = galleries[i];
            if (hash < (gallery.data.length + gallery.offset))
                return gallery;
        }
        return 0;
    }

    function getIndex(gallery, hash) {
        return hash - gallery.offset;
    }

    function clickHandler(e, gallery, link) {
        gallery.pause();

        if (!gallery.settings.enableHistory) {
            var hash = getHashFromString(link.href);
            if (hash >= 0) {
                var index = getIndex(gallery, hash);
                if (index >= 0)
                    gallery.goto(index);
            }
            e.preventDefault();
        }
    }

    function historyCallback() {
        // Using present location.hash always (seems to work, unlike the hash argument passed to this callback)
        var hash = getHash();
        if (hash < 0) return;

        var gallery = getGallery(hash);
        if (!gallery) return;

        var index = hash - gallery.offset;
        gallery.goto(index);
    }

    function historyInit() {
        if (isInitialized) return;
        isInitialized = true;

        var current_hash = location.hash; //(enableHistory) ? location.hash : currentIndexHash; // Ghismo

        historyCurrentHash = current_hash;
        if ($.browser.msie) {
            // To stop the callback firing twice during initilization if no hash present
            if (historyCurrentHash == '') {
                historyCurrentHash = '#';
            }
        } else if ($.browser.safari) {
            // etablish back/forward stacks
            historyBackStack = [];
            historyBackStack.length = history.length;
            historyForwardStack = [];
            isFirst = true;
        }

        setInterval(function() { historyCheck(); }, 100);
    }

    function historyAddHistory(hash) {
        // This makes the looping function do something
        historyBackStack.push(hash);
        historyForwardStack.length = 0; // clear forwardStack (true click occured)
        isFirst = true;
    }

    function historyCheck() {
        if ($.browser.safari) {
            if (!dontCheck) {
                var historyDelta = history.length - historyBackStack.length;

                if (historyDelta) { // back or forward button has been pushed
                    isFirst = false;
                    if (historyDelta < 0) { // back button has been pushed
                        // move items to forward stack
                        for (var i = 0; i < Math.abs(historyDelta); i++) historyForwardStack.unshift(historyBackStack.pop());
                    } else { // forward button has been pushed
                        // move items to back stack
                        for (var i = 0; i < historyDelta; i++) historyBackStack.push(historyForwardStack.shift());
                    }
                    var cachedHash = historyBackStack[historyBackStack.length - 1];
                    if (cachedHash != undefined) {
                        historyCurrentHash = location.hash; // (enableHistory) ? location.hash : currentIndexHash; // Ghismo
                        historyCallback();
                    }
                } else if (historyBackStack[historyBackStack.length - 1] == undefined && !isFirst) {
                    historyCallback();
                    isFirst = true;
                }
            }
        } else {
            // otherwise, check for location.hash
            var current_hash = location.hash; // (enableHistory) ? location.hash : currentIndexHash; // Ghismo
            if (current_hash != historyCurrentHash) {
                historyCurrentHash = current_hash;
                historyCallback();
            }
        }
    }

    var defaults = {
        delay: 3000,
        numThumbs: 20,
        preloadAhead: 40, // Set to -1 to preload all images
        enableTopPager: false,
        enableBottomPager: true,
        imageContainerSel: '',
        captionContainerSel: '',
        controlsContainerSel: '',
        loadingContainerSel: '',
        renderSSControls: true,
        renderNavControls: true,
        playLinkText: 'Play',
        pauseLinkText: 'Pause',
        prevLinkText: 'Previous',
        nextLinkText: 'Next',
        nextPageLinkText: 'Next &rsaquo;',
        prevPageLinkText: '&lsaquo; Prev',
        enableHistory: false,
        autoStart: false,
        strPhotoViewerDisplayMode: '',
        onChange: undefined, // accepts a delegate like such: function(prevIndex, nextIndex) { ... }
        onTransitionOut: undefined, // accepts a delegate like such: function(callback) { ... }
        onTransitionIn: undefined, // accepts a delegate like such: function() { ... }
        onPageTransitionOut: undefined, // accepts a delegate like such: function(callback) { ... }
        onPageTransitionIn: undefined  // accepts a delegate like such: function() { ... }
    };

    $.fn.galleriffic = function(thumbsContainerSel, settings) {
        //  Extend Gallery Object
        $.extend(this, {
            ver: function() {
                return ver;
            },

            initializeThumbs: function() {
                this.data = [];
                var gallery = this;

                this.$thumbsContainer.find('ul.thumbs > li').each(function(i) {
                    var $li = $(this);
                    var $aThumb = $li.find('a.thumb');
                    var hash = gallery.offset + i;
                    gallery.data.push({
                        title: $aThumb.attr('title'),
                        slideUrl: $aThumb.attr('href'),
                        caption: $aThumb.attr('title'),
                        hash: hash
                    });

                    // Setup history
                    $aThumb.attr('rel', 'history');
                    $aThumb.attr('href', '#' + hash);
                    $aThumb.click(function(e) {
                        clickHandler(e, gallery, this);
                    });
                });
                return this;
            },

            isPreloadComplete: false,

            preloadInit: function() {
                if (this.settings.preloadAhead == 0) return this;

                this.preloadStartIndex = this.currentIndex;
                var nextIndex = this.getNextIndex(this.preloadStartIndex);
                return this.preloadRecursive(this.preloadStartIndex, nextIndex);
            },

            preloadRelocate: function(index) {
                // By changing this startIndex, the current preload script will restart
                this.preloadStartIndex = index;
                return this;
            },

            preloadRecursive: function(startIndex, currentIndex) {
                // Check if startIndex has been relocated
                if (startIndex != this.preloadStartIndex) {
                    var nextIndex = this.getNextIndex(this.preloadStartIndex);
                    return this.preloadRecursive(this.preloadStartIndex, nextIndex);
                }

                var gallery = this;

                // Now check for preloadAhead count
                var preloadCount = currentIndex - startIndex;
                if (preloadCount < 0)
                    preloadCount = this.data.length - 1 - startIndex + currentIndex;
                if (this.settings.preloadAhead >= 0 && preloadCount > this.settings.preloadAhead) {
                    // Do this in order to keep checking for relocated start index
                    setTimeout(function() { gallery.preloadRecursive(startIndex, currentIndex); }, 500);
                    return this;
                }

                var imageData = this.data[currentIndex];
                if (!imageData)
                    return this;

                // If already loaded, continue
                if (imageData.image)
                    return this.preloadNext(startIndex, currentIndex);

                // Preload the image
                var image = new Image();

                image.onload = function() {
                    imageData.image = this;
                    gallery.preloadNext(startIndex, currentIndex);
                };

                image.alt = imageData.title;
                image.src = imageData.slideUrl;

                var intMaxWidth;
                var intMaxHeight;

                if (this.settings.strPhotoViewerDisplayMode == "SideBox") {
                    intMaxWidth = 300;
                    intMaxHeight = 180;
                } else {
                    intMaxWidth = 600;
                    intMaxHeight = 360;
                }

                var intImgWidth = image.width == 0 ? 300 : image.width;
                var intImgHeight = image.height == 0 ? 180 : image.height;
                var intNewWidth = 0;
                var intNewHeight = 0;

                try {
                    if ((intImgWidth <= intMaxWidth) && (intImgHeight < intMaxHeight)) {
                        intNewWidth = intImgWidth;
                        intNewHeight = intImgHeight;
                    } else {
                        if ((intMaxWidth / intImgWidth) <= (intMaxHeight / intImgHeight)) {
                            intNewWidth = intMaxWidth;
                            intNewHeight = Math.round((intImgHeight / intImgWidth) * intNewWidth);
                        } else {
                            intNewHeight = intMaxHeight;
                            intNewWidth = Math.round((intImgWidth / intImgHeight) * intNewHeight);
                        }
                    }
                } catch (e) {
                    intNewWidth = intImgWidth;
                    intNewHeight = intImgHeight;
                }

                image.width = intNewWidth;
                image.height = intNewHeight;

                return this;
            },

            preloadNext: function(startIndex, currentIndex) {
                var nextIndex = this.getNextIndex(currentIndex);
                if (nextIndex == startIndex) {
                    this.isPreloadComplete = true;
                } else {
                    // Use set timeout to free up thread
                    var gallery = this;
                    setTimeout(function() { gallery.preloadRecursive(startIndex, nextIndex); }, 100);
                }
                return this;
            },

            getNextIndex: function(index) {
                var nextIndex = index + 1;
                if (nextIndex >= this.data.length)
                    nextIndex = 0;
                return nextIndex;
            },

            getPrevIndex: function(index) {
                var prevIndex = index - 1;
                if (prevIndex < 0)
                    prevIndex = this.data.length - 1;
                return prevIndex;
            },

            pause: function() {
                if (this.interval)
                    this.toggleSlideshow();

                return this;
            },

            play: function() {
                if (!this.interval)
                    this.toggleSlideshow();

                return this;
            },

            toggleSlideshow: function() {
                if (this.interval) {
                    clearInterval(this.interval);
                    this.interval = 0;
                    if (this.settings.strPhotoViewerDisplayMode == "SideBox") {
                        g_blnSmallSlideShowPlaying = false;
                    }
                    if (this.$controlsContainer) {
                        this.$controlsContainer
							.find('div.ss-controls a').removeClass().addClass('play')
							.attr('title', 'Play')
							.attr('href', '#play')
							.html(this.settings.playLinkText);
                    }
                } else {
                    if (this.settings.strPhotoViewerDisplayMode == "SideBox") {
                        g_blnSmallSlideShowPlaying = true;
                    } else {
                        g_blnSmallSlideShowPlaying = true;
                    }
                    this.ssAdvance();

                    var gallery = this;
                    this.interval = setInterval(function() {
                        gallery.ssAdvance();
                    }, this.settings.delay);

                    if (this.$controlsContainer) {
                        this.$controlsContainer
							.find('div.ss-controls a').removeClass().addClass('pause')
							.attr('title', 'Pause')
							.attr('href', '#pause')
							.html(this.settings.pauseLinkText);
                    }
                }

                return this;
            },

            ssAdvance: function() {
                var nextIndex = this.getNextIndex(this.currentIndex);
                var nextHash = this.data[nextIndex].hash;

                // Seems to be working on both FF and Safari
                if (this.settings.enableHistory)
                    location.href = '#' + nextHash;
                else
                    this.goto(nextIndex);

                // IE we need to explicity call goto
                //if ($.browser.msie) {
                //	this.goto(nextIndex);
                //}

                return this;
            },

            goto: function(index) {
                if (index < 0) index = 0;
                else if (index >= this.data.length) index = this.data.length - 1;

                if (this.settings.onChange)
                    this.settings.onChange(this.currentIndex, index);

                this.currentIndex = index;
                this.preloadRelocate(index);
                if (this.settings.strPhotoViewerDisplayMode == "SideBox") {
                    $('#lblCurrentPosition_PhotoViewer_LargeSmall_RMX1_PhotoViewer_RMX_SideBox').text(index + 1);
                    $('#lblCurrentPosition_HomePage1_FeaturedListing1_PhotoViewer_LargeSmall_RMX1_PhotoViewer_RMX_SideBox').text(index + 1);
                } else {
                    $('#lblCurrentPosition_PhotoViewer_LargeSmall_RMX1_flPhotoViewLarge_PhotoViewer_RMX_LargeFloating').text(index + 1);
                    $('#lblCurrentPosition_HomePage1_FeaturedListing1_PhotoViewer_LargeSmall_RMX1_flPhotoViewLarge_PhotoViewer_RMX_LargeFloating').text(index + 1);
                }

                return this.refresh();
            },

            refresh: function() {
                var imageData = this.data[this.currentIndex];
                if (!imageData)
                    return this;

                // Flag we are transitioning
                var isTransitioning = true;

                var gallery = this;

                var transitionOutCallback = function() {
                    // Flag that the transition has completed
                    isTransitioning = false;

                    // Update Controls
                    if (gallery.$controlsContainer) {
                        gallery.$controlsContainer
							.find('div.nav-controls a.prev').attr('href', '#' + gallery.data[gallery.getPrevIndex(gallery.currentIndex)].hash).end()
							.find('div.nav-controls a.next').attr('href', '#' + gallery.data[gallery.getNextIndex(gallery.currentIndex)].hash);
                    }

                    var imageData = gallery.data[gallery.currentIndex];

                    // Replace Caption
                    if (gallery.$captionContainer) {
                        gallery.$captionContainer.empty().append(imageData.caption);
                    }
                    //alert(imageData.title);

                    if (imageData.image) {
                        gallery.buildImage(imageData.image);
                    } else {
                        // Show loading container
                        if (gallery.$loadingContainer) {
                            gallery.$loadingContainer.show();
                        }
                    }
                }

                if (this.settings.onTransitionOut) {
                    this.settings.onTransitionOut(transitionOutCallback);
                } else {
                    this.$transitionContainers.hide();
                    transitionOutCallback();
                }

                if (!imageData.image) {
                    var image = new Image();

                    // Wire up mainImage onload event
                    image.onload = function() {
                        imageData.image = this;

                        if (!isTransitioning) {
                            gallery.buildImage(imageData.image);
                        }
                    };

                    // set alt and src
                    image.alt = imageData.title;
                    image.src = imageData.slideUrl;

                    var intMaxWidth;
                    var intMaxHeight;

                    if (this.settings.strPhotoViewerDisplayMode == "SideBox") {
                        intMaxWidth = 300;
                        intMaxHeight = 180;
                    } else {
                        intMaxWidth = 600;
                        intMaxHeight = 360;
                    }

                    var intImgWidth = image.width == 0 ? 300 : image.width;
                    var intImgHeight = image.height == 0 ? 180 : image.height;
                    var intNewWidth = 0;
                    var intNewHeight = 0;

                    try {
                        if ((intImgWidth <= intMaxWidth) && (intImgHeight < intMaxHeight)) {
                            intNewWidth = intImgWidth;
                            intNewHeight = intImgHeight;
                        } else {
                            if ((intMaxWidth / intImgWidth) <= (intMaxHeight / intImgHeight)) {
                                intNewWidth = intMaxWidth;
                                intNewHeight = Math.round((intImgHeight / intImgWidth) * intNewWidth);
                            } else {
                                intNewHeight = intMaxHeight;
                                intNewWidth = Math.round((intImgWidth / intImgHeight) * intNewHeight);
                            }
                        }
                    } catch (e) {
                        intNewWidth = intImgWidth;
                        intNewHeight = intImgHeight;
                    }

                    image.width = intNewWidth;
                    image.height = intNewHeight;
                }

                // This causes the preloader (if still running) to relocate out from the currentIndex
                this.relocatePreload = true;

                return this.syncThumbs();
            },

            buildImage: function(image) {
                if (this.$imageContainer) {
                    this.$imageContainer.empty();

                    var gallery = this;
                    var nextIndex = this.getNextIndex(this.currentIndex);

                    // Hide the loading conatiner
                    if (this.$loadingContainer) {
                        this.$loadingContainer.hide();
                    }

                    // Setup image
                    this.$imageContainer
						.append('<span class="image-wrapper"><a class="advance-link" onclick="return setLargePhotoViewerOpenCheck(' + this.currentIndex + ');" rel="history" href="javascript:void(0)" title="View All Photos"></a></span>')
						.find('a')
						.append(image)
						.click(function(e) {
						    clickHandler(e, gallery, this);
						});
                }

                if (this.settings.onTransitionIn)
                    this.settings.onTransitionIn();
                else
                    this.$transitionContainers.show();

                return this;
            },

            syncThumbs: function() {
                if (this.$thumbsContainer) {
                    var page = Math.floor(this.currentIndex / this.settings.numThumbs);
                    if (page != this.currentPage) {
                        this.currentPage = page;
                        this.updateThumbs();
                    }

                    // Remove existing selected class and add selected class to new thumb
                    var $thumbs = this.$thumbsContainer.find('ul.thumbs').children();
                    $thumbs.filter('.selected').removeClass('selected');
                    $thumbs.eq(this.currentIndex).addClass('selected');
                }

                return this;
            },

            updateThumbs: function() {
                var gallery = this;
                var transitionOutCallback = function() {
                    gallery.rebuildThumbs();

                    // Transition In the thumbsContainer
                    if (gallery.settings.onPageTransitionIn)
                        gallery.settings.onPageTransitionIn();
                    else
                        gallery.$thumbsContainer.show();
                };

                // Transition Out the thumbsContainer
                if (this.settings.onPageTransitionOut) {
                    this.settings.onPageTransitionOut(transitionOutCallback);
                } else {
                    this.$thumbsContainer.hide();
                    transitionOutCallback();
                }

                return this;
            },

            rebuildThumbs: function() {
                // Initialize currentPage to first page
                if (this.currentPage < 0)
                    this.currentPage = 0;

                var needsPagination = this.data.length > this.settings.numThumbs;

                // Rebuild top pager
                var $topPager = this.$thumbsContainer.find('div.top');
                if ($topPager.length == 0)
                    $topPager = this.$thumbsContainer.prepend('<div class="top pagination"></div>').find('div.top');

                if (needsPagination && this.settings.enableTopPager) {
                    $topPager.empty();
                    this.buildPager($topPager);
                }

                // Rebuild bottom pager
                if (needsPagination && this.settings.enableBottomPager) {
                    var $bottomPager = this.$thumbsContainer.find('div.bottom');
                    if ($bottomPager.length == 0)
                        $bottomPager = this.$thumbsContainer.append('<div class="bottom pagination"></div>').find('div.bottom');
                    else
                        $bottomPager.empty();

                    this.buildPager($bottomPager);
                }

                var startIndex = this.currentPage * this.settings.numThumbs;
                var stopIndex = startIndex + this.settings.numThumbs - 1;
                if (stopIndex >= this.data.length)
                    stopIndex = this.data.length - 1;

                // Show/Hide thumbs
                var $thumbsUl = this.$thumbsContainer.find('ul.thumbs');
                $thumbsUl.find('li').each(function(i) {
                    var $li = $(this);
                    if (i >= startIndex && i <= stopIndex) {
                        $li.show();
                    } else {
                        $li.hide();
                    }
                });

                // Remove the noscript class from the thumbs container ul
                $thumbsUl.removeClass('noscript');

                return this;
            },

            buildPager: function(pager) {
                var gallery = this;
                var startIndex = this.currentPage * this.settings.numThumbs;

                // Prev Page Link
                if (this.currentPage > 0) {
                    var prevPage = startIndex - this.settings.numThumbs;
                    pager.append('<a rel="history" href="#' + this.data[prevPage].hash + '" title="' + this.settings.prevPageLinkText + '">' + this.settings.prevPageLinkText + '</a>');
                }

                // Page Index Links
                for (i = this.currentPage - 3; i <= this.currentPage + 3; i++) {
                    var pageNum = i + 1;

                    if (i == this.currentPage)
                        pager.append('<span class="current">' + pageNum + '</span>');
                    else if (i >= 0 && i < this.numPages) {
                        var imageIndex = i * this.settings.numThumbs;
                        pager.append('<a rel="history" href="#' + this.data[imageIndex].hash + '" title="' + pageNum + '">' + pageNum + '</a>');
                    }
                }

                // Next Page Link
                var nextPage = startIndex + this.settings.numThumbs;
                if (nextPage < this.data.length) {
                    pager.append('<a rel="history" href="#' + this.data[nextPage].hash + '">' + this.settings.nextPageLinkText + '</a>');
                }

                pager.find('a').click(function(e) {
                    clickHandler(e, gallery, this);
                });

                return this;
            }
        });

        // Now initialize the gallery
        this.settings = $.extend({}, defaults, settings);
        //enableHistory = this.settings.enableHistory; // Ghismo

        if (this.interval)
            clearInterval(this.interval);

        this.interval = 0;

        if (this.settings.imageContainerSel) this.$imageContainer = $(this.settings.imageContainerSel);
        if (this.settings.captionContainerSel) this.$captionContainer = $(this.settings.captionContainerSel);
        if (this.settings.loadingContainerSel) this.$loadingContainer = $(this.settings.loadingContainerSel);

        // Setup the jQuery object holding each container that will be transitioned
        this.$transitionContainers = $([]);
        if (this.$imageContainer)
            this.$transitionContainers = this.$transitionContainers.add(this.$imageContainer);
        if (this.$captionContainer)
            this.$transitionContainers = this.$transitionContainers.add(this.$captionContainer);

        // Set the hash index offset for this gallery
        this.offset = galleryOffset;

        this.$thumbsContainer = $(thumbsContainerSel);
        this.initializeThumbs();

        // Add this gallery to the global galleries array
        registerGallery(this);

        this.numPages = Math.ceil(this.data.length / this.settings.numThumbs);
        this.currentPage = -1;
        this.currentIndex = 0;
        var gallery = this;

        // Hide the loadingContainer
        if (this.$loadingContainer)
            this.$loadingContainer.hide();

        // Setup controls
        if (this.settings.controlsContainerSel) {
            this.$controlsContainer = $(this.settings.controlsContainerSel).empty();

            if (this.settings.renderNavControls) {
                var $navControls = this.$controlsContainer
					.append('<div class="nav-controls"><a class="prev" rel="history" title="Previous">' + this.settings.prevLinkText + '</a></div>')
					.find('div.nav-controls a.prev')
					.click(function(e) {
					    clickHandler(e, gallery, this);
					});
            }
            if (this.settings.renderSSControls) {
                if (this.settings.autoStart) {
                    this.$controlsContainer
						.append('<div class="ss-controls"><a href="#pause" class="pause" title="Pause">' + this.settings.pauseLinkText + '</a></div>');
                } else {
                    this.$controlsContainer
						.append('<div class="ss-controls"><a href="#play" class="play" title="Play">' + this.settings.playLinkText + '</a></div>');
                }

                this.$controlsContainer.find('div.ss-controls a')
					.click(function(e) {
					    gallery.toggleSlideshow();
					    e.preventDefault();
					    return false;
					});
            }
            if (this.settings.renderNavControls) {
                var $navControls = this.$controlsContainer
					.append('<div class="nav-controls"><a class="next" rel="history" title="Next">' + this.settings.nextLinkText + '</a></div>')
					.find('div.nav-controls a.next')
					.click(function(e) {
					    clickHandler(e, gallery, this);
					});
            }

        }

        // Initialize history only once when the first gallery on the page is initialized
        historyInit();

        // Build image
        var hash = getHash();
        var hashGallery = (hash >= 0) ? getGallery(hash) : 0;
        var gotoIndex = (hashGallery && this == hashGallery) ? (hash - this.offset) : 0;
        this.goto(gotoIndex);

        if (this.settings.autoStart) {

            setTimeout(function() { gallery.play(); }, this.settings.delay);
        }

        // Kickoff Image Preloader after 1 second
        setTimeout(function() { gallery.preloadInit(); }, 1000);

        return this;
    };
})(jQuery);
/*END Galleriffic*/