

/*../vendor/yui/SinglePropMin-YUI.js*/

/*
Copyright (c) 2006, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 0.12.2
yahoo-min.js
*/


if(typeof YAHOO=="undefined"){var YAHOO={};}
YAHOO.namespace=function(){var a=arguments,o=null,i,j,d;for(i=0;i<a.length;++i){d=a[i].split(".");o=YAHOO;for(j=(d[0]=="YAHOO")?1:0;j<d.length;++j){o[d[j]]=o[d[j]]||{};o=o[d[j]];}}
return o;};YAHOO.log=function(msg,cat,src){var l=YAHOO.widget.Logger;if(l&&l.log){return l.log(msg,cat,src);}else{return false;}};YAHOO.extend=function(subc,superc,overrides){var F=function(){};F.prototype=superc.prototype;subc.prototype=new F();subc.prototype.constructor=subc;subc.superclass=superc.prototype;if(superc.prototype.constructor==Object.prototype.constructor){superc.prototype.constructor=superc;}
if(overrides){for(var i in overrides){subc.prototype[i]=overrides[i];}}};YAHOO.augment=function(r,s){var rp=r.prototype,sp=s.prototype,a=arguments,i,p;if(a[2]){for(i=2;i<a.length;++i){rp[a[i]]=sp[a[i]];}}else{for(p in sp){if(!rp[p]){rp[p]=sp[p];}}}};YAHOO.namespace("util","widget","example");

/*
Copyright (c) 2006, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 0.12.2
even-min.js
*/


YAHOO.util.CustomEvent=function(type,oScope,silent,signature){this.type=type;this.scope=oScope||window;this.silent=silent;this.signature=signature||YAHOO.util.CustomEvent.LIST;this.subscribers=[];if(!this.silent){}
var onsubscribeType="_YUICEOnSubscribe";if(type!==onsubscribeType){this.subscribeEvent=new YAHOO.util.CustomEvent(onsubscribeType,this,true);}};YAHOO.util.CustomEvent.LIST=0;YAHOO.util.CustomEvent.FLAT=1;YAHOO.util.CustomEvent.prototype={subscribe:function(fn,obj,override){if(this.subscribeEvent){this.subscribeEvent.fire(fn,obj,override);}
this.subscribers.push(new YAHOO.util.Subscriber(fn,obj,override));},unsubscribe:function(fn,obj){var found=false;for(var i=0,len=this.subscribers.length;i<len;++i){var s=this.subscribers[i];if(s&&s.contains(fn,obj)){this._delete(i);found=true;}}
return found;},fire:function(){var len=this.subscribers.length;if(!len&&this.silent){return true;}
var args=[],ret=true,i;for(i=0;i<arguments.length;++i){args.push(arguments[i]);}
var argslength=args.length;if(!this.silent){}
for(i=0;i<len;++i){var s=this.subscribers[i];if(s){if(!this.silent){}
var scope=s.getScope(this.scope);if(this.signature==YAHOO.util.CustomEvent.FLAT){var param=null;if(args.length>0){param=args[0];}
ret=s.fn.call(scope,param,s.obj);}else{ret=s.fn.call(scope,this.type,args,s.obj);}
if(false===ret){if(!this.silent){}
return false;}}}
return true;},unsubscribeAll:function(){for(var i=0,len=this.subscribers.length;i<len;++i){this._delete(len-1-i);}},_delete:function(index){var s=this.subscribers[index];if(s){delete s.fn;delete s.obj;}
this.subscribers.splice(index,1);},toString:function(){return"CustomEvent: "+"'"+this.type+"', "+"scope: "+this.scope;}};YAHOO.util.Subscriber=function(fn,obj,override){this.fn=fn;this.obj=obj||null;this.override=override;};YAHOO.util.Subscriber.prototype.getScope=function(defaultScope){if(this.override){if(this.override===true){return this.obj;}else{return this.override;}}
return defaultScope;};YAHOO.util.Subscriber.prototype.contains=function(fn,obj){if(obj){return(this.fn==fn&&this.obj==obj);}else{return(this.fn==fn);}};YAHOO.util.Subscriber.prototype.toString=function(){return"Subscriber { obj: "+(this.obj||"")+", override: "+(this.override||"no")+" }";};if(!YAHOO.util.Event){YAHOO.util.Event=function(){var loadComplete=false;var listeners=[];var unloadListeners=[];var legacyEvents=[];var legacyHandlers=[];var retryCount=0;var onAvailStack=[];var legacyMap=[];var counter=0;return{POLL_RETRYS:200,POLL_INTERVAL:20,EL:0,TYPE:1,FN:2,WFN:3,OBJ:3,ADJ_SCOPE:4,isSafari:(/Safari|Konqueror|KHTML/gi).test(navigator.userAgent),isIE:(!this.isSafari&&!navigator.userAgent.match(/opera/gi)&&navigator.userAgent.match(/msie/gi)),_interval:null,startInterval:function(){if(!this._interval){var self=this;var callback=function(){self._tryPreloadAttach();};this._interval=setInterval(callback,this.POLL_INTERVAL);}},onAvailable:function(p_id,p_fn,p_obj,p_override){onAvailStack.push({id:p_id,fn:p_fn,obj:p_obj,override:p_override,checkReady:false});retryCount=this.POLL_RETRYS;this.startInterval();},onContentReady:function(p_id,p_fn,p_obj,p_override){onAvailStack.push({id:p_id,fn:p_fn,obj:p_obj,override:p_override,checkReady:true});retryCount=this.POLL_RETRYS;this.startInterval();},addListener:function(el,sType,fn,obj,override){if(!fn||!fn.call){return false;}
if(this._isValidCollection(el)){var ok=true;for(var i=0,len=el.length;i<len;++i){ok=this.on(el[i],sType,fn,obj,override)&&ok;}
return ok;}else if(typeof el=="string"){var oEl=this.getEl(el);if(oEl){el=oEl;}else{this.onAvailable(el,function(){YAHOO.util.Event.on(el,sType,fn,obj,override);});return true;}}
if(!el){return false;}
if("unload"==sType&&obj!==this){unloadListeners[unloadListeners.length]=[el,sType,fn,obj,override];return true;}
var scope=el;if(override){if(override===true){scope=obj;}else{scope=override;}}
var wrappedFn=function(e){return fn.call(scope,YAHOO.util.Event.getEvent(e),obj);};var li=[el,sType,fn,wrappedFn,scope];var index=listeners.length;listeners[index]=li;if(this.useLegacyEvent(el,sType)){var legacyIndex=this.getLegacyIndex(el,sType);if(legacyIndex==-1||el!=legacyEvents[legacyIndex][0]){legacyIndex=legacyEvents.length;legacyMap[el.id+sType]=legacyIndex;legacyEvents[legacyIndex]=[el,sType,el["on"+sType]];legacyHandlers[legacyIndex]=[];el["on"+sType]=function(e){YAHOO.util.Event.fireLegacyEvent(YAHOO.util.Event.getEvent(e),legacyIndex);};}
legacyHandlers[legacyIndex].push(li);}else{try{this._simpleAdd(el,sType,wrappedFn,false);}catch(e){this.removeListener(el,sType,fn);return false;}}
return true;},fireLegacyEvent:function(e,legacyIndex){var ok=true;var le=legacyHandlers[legacyIndex];for(var i=0,len=le.length;i<len;++i){var li=le[i];if(li&&li[this.WFN]){var scope=li[this.ADJ_SCOPE];var ret=li[this.WFN].call(scope,e);ok=(ok&&ret);}}
return ok;},getLegacyIndex:function(el,sType){var key=this.generateId(el)+sType;if(typeof legacyMap[key]=="undefined"){return-1;}else{return legacyMap[key];}},useLegacyEvent:function(el,sType){if(!el.addEventListener&&!el.attachEvent){return true;}else if(this.isSafari){if("click"==sType||"dblclick"==sType){return true;}}
return false;},removeListener:function(el,sType,fn){var i,len;if(typeof el=="string"){el=this.getEl(el);}else if(this._isValidCollection(el)){var ok=true;for(i=0,len=el.length;i<len;++i){ok=(this.removeListener(el[i],sType,fn)&&ok);}
return ok;}
if(!fn||!fn.call){return this.purgeElement(el,false,sType);}
if("unload"==sType){for(i=0,len=unloadListeners.length;i<len;i++){var li=unloadListeners[i];if(li&&li[0]==el&&li[1]==sType&&li[2]==fn){unloadListeners.splice(i,1);return true;}}
return false;}
var cacheItem=null;var index=arguments[3];if("undefined"==typeof index){index=this._getCacheIndex(el,sType,fn);}
if(index>=0){cacheItem=listeners[index];}
if(!el||!cacheItem){return false;}
if(this.useLegacyEvent(el,sType)){var legacyIndex=this.getLegacyIndex(el,sType);var llist=legacyHandlers[legacyIndex];if(llist){for(i=0,len=llist.length;i<len;++i){li=llist[i];if(li&&li[this.EL]==el&&li[this.TYPE]==sType&&li[this.FN]==fn){llist.splice(i,1);break;}}}}else{try{this._simpleRemove(el,sType,cacheItem[this.WFN],false);}catch(e){return false;}}
delete listeners[index][this.WFN];delete listeners[index][this.FN];listeners.splice(index,1);return true;},getTarget:function(ev,resolveTextNode){var t=ev.target||ev.srcElement;return this.resolveTextNode(t);},resolveTextNode:function(node){if(node&&3==node.nodeType){return node.parentNode;}else{return node;}},getPageX:function(ev){var x=ev.pageX;if(!x&&0!==x){x=ev.clientX||0;if(this.isIE){x+=this._getScrollLeft();}}
return x;},getPageY:function(ev){var y=ev.pageY;if(!y&&0!==y){y=ev.clientY||0;if(this.isIE){y+=this._getScrollTop();}}
return y;},getXY:function(ev){return[this.getPageX(ev),this.getPageY(ev)];},getRelatedTarget:function(ev){var t=ev.relatedTarget;if(!t){if(ev.type=="mouseout"){t=ev.toElement;}else if(ev.type=="mouseover"){t=ev.fromElement;}}
return this.resolveTextNode(t);},getTime:function(ev){if(!ev.time){var t=new Date().getTime();try{ev.time=t;}catch(e){return t;}}
return ev.time;},stopEvent:function(ev){this.stopPropagation(ev);this.preventDefault(ev);},stopPropagation:function(ev){if(ev.stopPropagation){ev.stopPropagation();}else{ev.cancelBubble=true;}},preventDefault:function(ev){if(ev.preventDefault){ev.preventDefault();}else{ev.returnValue=false;}},getEvent:function(e){var ev=e||window.event;if(!ev){var c=this.getEvent.caller;while(c){ev=c.arguments[0];if(ev&&Event==ev.constructor){break;}
c=c.caller;}}
return ev;},getCharCode:function(ev){return ev.charCode||ev.keyCode||0;},_getCacheIndex:function(el,sType,fn){for(var i=0,len=listeners.length;i<len;++i){var li=listeners[i];if(li&&li[this.FN]==fn&&li[this.EL]==el&&li[this.TYPE]==sType){return i;}}
return-1;},generateId:function(el){var id=el.id;if(!id){id="yuievtautoid-"+counter;++counter;el.id=id;}
return id;},_isValidCollection:function(o){return(o&&o.length&&typeof o!="string"&&!o.tagName&&!o.alert&&typeof o[0]!="undefined");},elCache:{},getEl:function(id){return document.getElementById(id);},clearCache:function(){},_load:function(e){loadComplete=true;var EU=YAHOO.util.Event;if(this.isIE){EU._simpleRemove(window,"load",EU._load);}},_tryPreloadAttach:function(){if(this.locked){return false;}
this.locked=true;var tryAgain=!loadComplete;if(!tryAgain){tryAgain=(retryCount>0);}
var notAvail=[];for(var i=0,len=onAvailStack.length;i<len;++i){var item=onAvailStack[i];if(item){var el=this.getEl(item.id);if(el){if(!item.checkReady||loadComplete||el.nextSibling||(document&&document.body)){var scope=el;if(item.override){if(item.override===true){scope=item.obj;}else{scope=item.override;}}
item.fn.call(scope,item.obj);onAvailStack[i]=null;}}else{notAvail.push(item);}}}
retryCount=(notAvail.length===0)?0:retryCount-1;if(tryAgain){this.startInterval();}else{clearInterval(this._interval);this._interval=null;}
this.locked=false;return true;},purgeElement:function(el,recurse,sType){var elListeners=this.getListeners(el,sType);if(elListeners){for(var i=0,len=elListeners.length;i<len;++i){var l=elListeners[i];this.removeListener(el,l.type,l.fn);}}
if(recurse&&el&&el.childNodes){for(i=0,len=el.childNodes.length;i<len;++i){this.purgeElement(el.childNodes[i],recurse,sType);}}},getListeners:function(el,sType){var elListeners=[];if(listeners&&listeners.length>0){for(var i=0,len=listeners.length;i<len;++i){var l=listeners[i];if(l&&l[this.EL]===el&&(!sType||sType===l[this.TYPE])){elListeners.push({type:l[this.TYPE],fn:l[this.FN],obj:l[this.OBJ],adjust:l[this.ADJ_SCOPE],index:i});}}}
return(elListeners.length)?elListeners:null;},_unload:function(e){var EU=YAHOO.util.Event,i,j,l,len,index;for(i=0,len=unloadListeners.length;i<len;++i){l=unloadListeners[i];if(l){var scope=window;if(l[EU.ADJ_SCOPE]){if(l[EU.ADJ_SCOPE]===true){scope=l[EU.OBJ];}else{scope=l[EU.ADJ_SCOPE];}}
l[EU.FN].call(scope,EU.getEvent(e),l[EU.OBJ]);unloadListeners[i]=null;l=null;scope=null;}}
unloadListeners=null;if(listeners&&listeners.length>0){j=listeners.length;while(j){index=j-1;l=listeners[index];if(l){EU.removeListener(l[EU.EL],l[EU.TYPE],l[EU.FN],index);}
j=j-1;}
l=null;EU.clearCache();}
for(i=0,len=legacyEvents.length;i<len;++i){legacyEvents[i][0]=null;legacyEvents[i]=null;}
legacyEvents=null;EU._simpleRemove(window,"unload",EU._unload);},_getScrollLeft:function(){return this._getScroll()[1];},_getScrollTop:function(){return this._getScroll()[0];},_getScroll:function(){var dd=document.documentElement,db=document.body;if(dd&&(dd.scrollTop||dd.scrollLeft)){return[dd.scrollTop,dd.scrollLeft];}else if(db){return[db.scrollTop,db.scrollLeft];}else{return[0,0];}},_simpleAdd:function(){if(window.addEventListener){return function(el,sType,fn,capture){el.addEventListener(sType,fn,(capture));};}else if(window.attachEvent){return function(el,sType,fn,capture){el.attachEvent("on"+sType,fn);};}else{return function(){};}}(),_simpleRemove:function(){if(window.removeEventListener){return function(el,sType,fn,capture){el.removeEventListener(sType,fn,(capture));};}else if(window.detachEvent){return function(el,sType,fn){el.detachEvent("on"+sType,fn);};}else{return function(){};}}()};}();(function(){var EU=YAHOO.util.Event;EU.on=EU.addListener;if(document&&document.body){EU._load();}else{EU._simpleAdd(window,"load",EU._load);}
EU._simpleAdd(window,"unload",EU._unload);EU._tryPreloadAttach();})();}
YAHOO.util.EventProvider=function(){};YAHOO.util.EventProvider.prototype={__yui_events:null,__yui_subscribers:null,subscribe:function(p_type,p_fn,p_obj,p_override){this.__yui_events=this.__yui_events||{};var ce=this.__yui_events[p_type];if(ce){ce.subscribe(p_fn,p_obj,p_override);}else{this.__yui_subscribers=this.__yui_subscribers||{};var subs=this.__yui_subscribers;if(!subs[p_type]){subs[p_type]=[];}
subs[p_type].push({fn:p_fn,obj:p_obj,override:p_override});}},unsubscribe:function(p_type,p_fn,p_obj){this.__yui_events=this.__yui_events||{};var ce=this.__yui_events[p_type];if(ce){return ce.unsubscribe(p_fn,p_obj);}else{return false;}},createEvent:function(p_type,p_config){this.__yui_events=this.__yui_events||{};var opts=p_config||{};var events=this.__yui_events;if(events[p_type]){}else{var scope=opts.scope||this;var silent=opts.silent||null;var ce=new YAHOO.util.CustomEvent(p_type,scope,silent,YAHOO.util.CustomEvent.FLAT);events[p_type]=ce;if(opts.onSubscribeCallback){ce.subscribeEvent.subscribe(opts.onSubscribeCallback);}
this.__yui_subscribers=this.__yui_subscribers||{};var qs=this.__yui_subscribers[p_type];if(qs){for(var i=0;i<qs.length;++i){ce.subscribe(qs[i].fn,qs[i].obj,qs[i].override);}}}
return events[p_type];},fireEvent:function(p_type,arg1,arg2,etc){this.__yui_events=this.__yui_events||{};var ce=this.__yui_events[p_type];if(ce){var args=[];for(var i=1;i<arguments.length;++i){args.push(arguments[i]);}
return ce.fire.apply(ce,args);}else{return null;}},hasEvent:function(type){if(this.__yui_events){if(this.__yui_events[type]){return true;}}
return false;}};

/*
Copyright (c) 2006, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 0.12.2
yahoo-dom-event.js
*/

(function(){var Y=YAHOO.util,getStyle,setStyle,id_counter=0,propertyCache={};var ua=navigator.userAgent.toLowerCase(),isOpera=(ua.indexOf('opera')>-1),isSafari=(ua.indexOf('safari')>-1),isGecko=(!isOpera&&!isSafari&&ua.indexOf('gecko')>-1),isIE=(!isOpera&&ua.indexOf('msie')>-1);var patterns={HYPHEN:/(-[a-z])/i};var toCamel=function(property){if(!patterns.HYPHEN.test(property)){return property;}
if(propertyCache[property]){return propertyCache[property];}
while(patterns.HYPHEN.exec(property)){property=property.replace(RegExp.$1,RegExp.$1.substr(1).toUpperCase());}
propertyCache[property]=property;return property;};if(document.defaultView&&document.defaultView.getComputedStyle){getStyle=function(el,property){var value=null;var computed=document.defaultView.getComputedStyle(el,'');if(computed){value=computed[toCamel(property)];}
return el.style[property]||value;};}else if(document.documentElement.currentStyle&&isIE){getStyle=function(el,property){switch(toCamel(property)){case'opacity':var val=100;try{val=el.filters['DXImageTransform.Microsoft.Alpha'].opacity;}catch(e){try{val=el.filters('alpha').opacity;}catch(e){}}
return val/100;break;default:var value=el.currentStyle?el.currentStyle[property]:null;return(el.style[property]||value);}};}else{getStyle=function(el,property){return el.style[property];};}
if(isIE){setStyle=function(el,property,val){switch(property){case'opacity':if(typeof el.style.filter=='string'){el.style.filter='alpha(opacity='+val*100+')';if(!el.currentStyle||!el.currentStyle.hasLayout){el.style.zoom=1;}}
break;default:el.style[property]=val;}};}else{setStyle=function(el,property,val){el.style[property]=val;};}
YAHOO.util.Dom={get:function(el){if(!el){return null;}
if(typeof el!='string'&&!(el instanceof Array)){return el;}
if(typeof el=='string'){return document.getElementById(el);}
else{var collection=[];for(var i=0,len=el.length;i<len;++i){collection[collection.length]=Y.Dom.get(el[i]);}
return collection;}
return null;},getStyle:function(el,property){property=toCamel(property);var f=function(element){return getStyle(element,property);};return Y.Dom.batch(el,f,Y.Dom,true);},setStyle:function(el,property,val){property=toCamel(property);var f=function(element){setStyle(element,property,val);};Y.Dom.batch(el,f,Y.Dom,true);},getXY:function(el){var f=function(el){if(el.parentNode===null||el.offsetParent===null||this.getStyle(el,'display')=='none'){return false;}
var parentNode=null;var pos=[];var box;if(el.getBoundingClientRect){box=el.getBoundingClientRect();var doc=document;if(!this.inDocument(el)&&parent.document!=document){doc=parent.document;if(!this.isAncestor(doc.documentElement,el)){return false;}}
var scrollTop=Math.max(doc.documentElement.scrollTop,doc.body.scrollTop);var scrollLeft=Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft);return[box.left+scrollLeft,box.top+scrollTop];}
else{pos=[el.offsetLeft,el.offsetTop];parentNode=el.offsetParent;if(parentNode!=el){while(parentNode){pos[0]+=parentNode.offsetLeft;pos[1]+=parentNode.offsetTop;parentNode=parentNode.offsetParent;}}
if(isSafari&&this.getStyle(el,'position')=='absolute'){pos[0]-=document.body.offsetLeft;pos[1]-=document.body.offsetTop;}}
if(el.parentNode){parentNode=el.parentNode;}
else{parentNode=null;}
while(parentNode&&parentNode.tagName.toUpperCase()!='BODY'&&parentNode.tagName.toUpperCase()!='HTML')
{if(Y.Dom.getStyle(parentNode,'display')!='inline'){pos[0]-=parentNode.scrollLeft;pos[1]-=parentNode.scrollTop;}
if(parentNode.parentNode){parentNode=parentNode.parentNode;}else{parentNode=null;}}
return pos;};return Y.Dom.batch(el,f,Y.Dom,true);},getX:function(el){var f=function(el){return Y.Dom.getXY(el)[0];};return Y.Dom.batch(el,f,Y.Dom,true);},getY:function(el){var f=function(el){return Y.Dom.getXY(el)[1];};return Y.Dom.batch(el,f,Y.Dom,true);},setXY:function(el,pos,noRetry){var f=function(el){var style_pos=this.getStyle(el,'position');if(style_pos=='static'){this.setStyle(el,'position','relative');style_pos='relative';}
var pageXY=this.getXY(el);if(pageXY===false){return false;}
var delta=[parseInt(this.getStyle(el,'left'),10),parseInt(this.getStyle(el,'top'),10)];if(isNaN(delta[0])){delta[0]=(style_pos=='relative')?0:el.offsetLeft;}
if(isNaN(delta[1])){delta[1]=(style_pos=='relative')?0:el.offsetTop;}
if(pos[0]!==null){el.style.left=pos[0]-pageXY[0]+delta[0]+'px';}
if(pos[1]!==null){el.style.top=pos[1]-pageXY[1]+delta[1]+'px';}
if(!noRetry){var newXY=this.getXY(el);if((pos[0]!==null&&newXY[0]!=pos[0])||(pos[1]!==null&&newXY[1]!=pos[1])){this.setXY(el,pos,true);}}};Y.Dom.batch(el,f,Y.Dom,true);},setX:function(el,x){Y.Dom.setXY(el,[x,null]);},setY:function(el,y){Y.Dom.setXY(el,[null,y]);},getRegion:function(el){var f=function(el){var region=new Y.Region.getRegion(el);return region;};return Y.Dom.batch(el,f,Y.Dom,true);},getClientWidth:function(){return Y.Dom.getViewportWidth();},getClientHeight:function(){return Y.Dom.getViewportHeight();},getElementsByClassName:function(className,tag,root){var method=function(el){return Y.Dom.hasClass(el,className);};return Y.Dom.getElementsBy(method,tag,root);},hasClass:function(el,className){var re=new RegExp('(?:^|\\s+)'+className+'(?:\\s+|$)');var f=function(el){return re.test(el['className']);};return Y.Dom.batch(el,f,Y.Dom,true);},addClass:function(el,className){var f=function(el){if(this.hasClass(el,className)){return;}
el['className']=[el['className'],className].join(' ');};Y.Dom.batch(el,f,Y.Dom,true);},removeClass:function(el,className){var re=new RegExp('(?:^|\\s+)'+className+'(?:\\s+|$)','g');var f=function(el){if(!this.hasClass(el,className)){return;}
var c=el['className'];el['className']=c.replace(re,' ');if(this.hasClass(el,className)){this.removeClass(el,className);}};Y.Dom.batch(el,f,Y.Dom,true);},replaceClass:function(el,oldClassName,newClassName){if(oldClassName===newClassName){return false;}
var re=new RegExp('(?:^|\\s+)'+oldClassName+'(?:\\s+|$)','g');var f=function(el){if(!this.hasClass(el,oldClassName)){this.addClass(el,newClassName);return;}
el['className']=el['className'].replace(re,' '+newClassName+' ');if(this.hasClass(el,oldClassName)){this.replaceClass(el,oldClassName,newClassName);}};Y.Dom.batch(el,f,Y.Dom,true);},generateId:function(el,prefix){prefix=prefix||'yui-gen';el=el||{};var f=function(el){if(el){el=Y.Dom.get(el);}else{el={};}
if(!el.id){el.id=prefix+id_counter++;}
return el.id;};return Y.Dom.batch(el,f,Y.Dom,true);},isAncestor:function(haystack,needle){haystack=Y.Dom.get(haystack);if(!haystack||!needle){return false;}
var f=function(needle){if(haystack.contains&&!isSafari){return haystack.contains(needle);}
else if(haystack.compareDocumentPosition){return!!(haystack.compareDocumentPosition(needle)&16);}
else{var parent=needle.parentNode;while(parent){if(parent==haystack){return true;}
else if(!parent.tagName||parent.tagName.toUpperCase()=='HTML'){return false;}
parent=parent.parentNode;}
return false;}};return Y.Dom.batch(needle,f,Y.Dom,true);},inDocument:function(el){var f=function(el){return this.isAncestor(document.documentElement,el);};return Y.Dom.batch(el,f,Y.Dom,true);},getElementsBy:function(method,tag,root){tag=tag||'*';var nodes=[];if(root){root=Y.Dom.get(root);if(!root){return nodes;}}else{root=document;}
var elements=root.getElementsByTagName(tag);if(!elements.length&&(tag=='*'&&root.all)){elements=root.all;}
for(var i=0,len=elements.length;i<len;++i){if(method(elements[i])){nodes[nodes.length]=elements[i];}}
return nodes;},batch:function(el,method,o,override){var id=el;el=Y.Dom.get(el);var scope=(override)?o:window;if(!el||el.tagName||!el.length){if(!el){return false;}
return method.call(scope,el,o);}
var collection=[];for(var i=0,len=el.length;i<len;++i){if(!el[i]){id=el[i];}
collection[collection.length]=method.call(scope,el[i],o);}
return collection;},getDocumentHeight:function(){var scrollHeight=(document.compatMode!='CSS1Compat')?document.body.scrollHeight:document.documentElement.scrollHeight;var h=Math.max(scrollHeight,Y.Dom.getViewportHeight());return h;},getDocumentWidth:function(){var scrollWidth=(document.compatMode!='CSS1Compat')?document.body.scrollWidth:document.documentElement.scrollWidth;var w=Math.max(scrollWidth,Y.Dom.getViewportWidth());return w;},getViewportHeight:function(){var height=self.innerHeight;var mode=document.compatMode;if((mode||isIE)&&!isOpera){height=(mode=='CSS1Compat')?document.documentElement.clientHeight:document.body.clientHeight;}
return height;},getViewportWidth:function(){var width=self.innerWidth;var mode=document.compatMode;if(mode||isIE){width=(mode=='CSS1Compat')?document.documentElement.clientWidth:document.body.clientWidth;}
return width;}};})();YAHOO.util.Region=function(t,r,b,l){this.top=t;this[1]=t;this.right=r;this.bottom=b;this.left=l;this[0]=l;};YAHOO.util.Region.prototype.contains=function(region){return(region.left>=this.left&&region.right<=this.right&&region.top>=this.top&&region.bottom<=this.bottom);};YAHOO.util.Region.prototype.getArea=function(){return((this.bottom-this.top)*(this.right-this.left));};YAHOO.util.Region.prototype.intersect=function(region){var t=Math.max(this.top,region.top);var r=Math.min(this.right,region.right);var b=Math.min(this.bottom,region.bottom);var l=Math.max(this.left,region.left);if(b>=t&&r>=l){return new YAHOO.util.Region(t,r,b,l);}else{return null;}};YAHOO.util.Region.prototype.union=function(region){var t=Math.min(this.top,region.top);var r=Math.max(this.right,region.right);var b=Math.max(this.bottom,region.bottom);var l=Math.min(this.left,region.left);return new YAHOO.util.Region(t,r,b,l);};YAHOO.util.Region.prototype.toString=function(){return("Region {"+"top: "+this.top+", right: "+this.right+", bottom: "+this.bottom+", left: "+this.left+"}");};YAHOO.util.Region.getRegion=function(el){var p=YAHOO.util.Dom.getXY(el);var t=p[1];var r=p[0]+el.offsetWidth;var b=p[1]+el.offsetHeight;var l=p[0];return new YAHOO.util.Region(t,r,b,l);};YAHOO.util.Point=function(x,y){if(x instanceof Array){y=x[1];x=x[0];}
this.x=this.right=this.left=this[0]=x;this.y=this.top=this.bottom=this[1]=y;};YAHOO.util.Point.prototype=new YAHOO.util.Region();


/*
Copyright (c) 2006, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 0.12.2
connection-min.js
*/
YAHOO.util.Connect={_msxml_progid:['MSXML2.XMLHTTP.3.0','MSXML2.XMLHTTP','Microsoft.XMLHTTP'],_http_header:{},_has_http_headers:false,_use_default_post_header:true,_default_post_header:'application/x-www-form-urlencoded',_isFormSubmit:false,_isFileUpload:false,_formNode:null,_sFormData:null,_poll:{},_timeOut:{},_polling_interval:50,_transaction_id:0,setProgId:function(id)
{this._msxml_progid.unshift(id);},setDefaultPostHeader:function(b)
{this._use_default_post_header=b;},setPollingInterval:function(i)
{if(typeof i=='number'&&isFinite(i)){this._polling_interval=i;}},createXhrObject:function(transactionId)
{var obj,http;try
{http=new XMLHttpRequest();obj={conn:http,tId:transactionId};}
catch(e)
{for(var i=0;i<this._msxml_progid.length;++i){try
{http=new ActiveXObject(this._msxml_progid[i]);obj={conn:http,tId:transactionId};break;}
catch(e){}}}
finally
{return obj;}},getConnectionObject:function()
{var o;var tId=this._transaction_id;try
{o=this.createXhrObject(tId);if(o){this._transaction_id++;}}
catch(e){}
finally
{return o;}},asyncRequest:function(method,uri,callback,postData)
{var o=this.getConnectionObject();if(!o){return null;}
else{if(this._isFormSubmit){if(this._isFileUpload){this.uploadFile(o.tId,callback,uri,postData);this.releaseObject(o);return;}
if(method=='GET'){if(this._sFormData.length!=0){uri+=((uri.indexOf('?')==-1)?'?':'&')+this._sFormData;}
else{uri+="?"+this._sFormData;}}
else if(method=='POST'){postData=postData?this._sFormData+"&"+postData:this._sFormData;}}
o.conn.open(method,uri,true);if(this._isFormSubmit||(postData&&this._use_default_post_header)){this.initHeader('Content-Type',this._default_post_header);if(this._isFormSubmit){this.resetFormState();}}
if(this._has_http_headers){this.setHeader(o);}
this.handleReadyState(o,callback);o.conn.send(postData||null);return o;}},handleReadyState:function(o,callback)
{var oConn=this;if(callback&&callback.timeout){this._timeOut[o.tId]=window.setTimeout(function(){oConn.abort(o,callback,true);},callback.timeout);}
this._poll[o.tId]=window.setInterval(function(){if(o.conn&&o.conn.readyState==4){window.clearInterval(oConn._poll[o.tId]);delete oConn._poll[o.tId];if(callback&&callback.timeout){delete oConn._timeOut[o.tId];}
oConn.handleTransactionResponse(o,callback);}},this._polling_interval);},handleTransactionResponse:function(o,callback,isAbort)
{if(!callback){this.releaseObject(o);return;}
var httpStatus,responseObject;try
{if(o.conn.status!==undefined&&o.conn.status!=0){httpStatus=o.conn.status;}
else{httpStatus=13030;}}
catch(e){httpStatus=13030;}
if(httpStatus>=200&&httpStatus<300){try
{responseObject=this.createResponseObject(o,callback.argument);if(callback.success){if(!callback.scope){callback.success(responseObject);}
else{callback.success.apply(callback.scope,[responseObject]);}}}
catch(e){}}
else{try
{switch(httpStatus){case 12002:case 12029:case 12030:case 12031:case 12152:case 13030:responseObject=this.createExceptionObject(o.tId,callback.argument,(isAbort?isAbort:false));if(callback.failure){if(!callback.scope){callback.failure(responseObject);}
else{callback.failure.apply(callback.scope,[responseObject]);}}
break;default:responseObject=this.createResponseObject(o,callback.argument);if(callback.failure){if(!callback.scope){callback.failure(responseObject);}
else{callback.failure.apply(callback.scope,[responseObject]);}}}}
catch(e){}}
this.releaseObject(o);responseObject=null;},createResponseObject:function(o,callbackArg)
{var obj={};var headerObj={};try
{var headerStr=o.conn.getAllResponseHeaders();var header=headerStr.split('\n');for(var i=0;i<header.length;i++){var delimitPos=header[i].indexOf(':');if(delimitPos!=-1){headerObj[header[i].substring(0,delimitPos)]=header[i].substring(delimitPos+2);}}}
catch(e){}
obj.tId=o.tId;obj.status=o.conn.status;obj.statusText=o.conn.statusText;obj.getResponseHeader=headerObj;obj.getAllResponseHeaders=headerStr;obj.responseText=o.conn.responseText;obj.responseXML=o.conn.responseXML;if(typeof callbackArg!==undefined){obj.argument=callbackArg;}
return obj;},createExceptionObject:function(tId,callbackArg,isAbort)
{var COMM_CODE=0;var COMM_ERROR='communication failure';var ABORT_CODE=-1;var ABORT_ERROR='transaction aborted';var obj={};obj.tId=tId;if(isAbort){obj.status=ABORT_CODE;obj.statusText=ABORT_ERROR;}
else{obj.status=COMM_CODE;obj.statusText=COMM_ERROR;}
if(callbackArg){obj.argument=callbackArg;}
return obj;},initHeader:function(label,value)
{if(this._http_header[label]===undefined){this._http_header[label]=value;}
else{this._http_header[label]=value+","+this._http_header[label];}
this._has_http_headers=true;},setHeader:function(o)
{for(var prop in this._http_header){if(this._http_header.hasOwnProperty(prop)){o.conn.setRequestHeader(prop,this._http_header[prop]);}}
delete this._http_header;this._http_header={};this._has_http_headers=false;},setForm:function(formId,isUpload,secureUri)
{this.resetFormState();var oForm;if(typeof formId=='string'){oForm=(document.getElementById(formId)||document.forms[formId]);}
else if(typeof formId=='object'){oForm=formId;}
else{return;}
if(isUpload){this.createFrame(secureUri?secureUri:null);this._isFormSubmit=true;this._isFileUpload=true;this._formNode=oForm;return;}
var oElement,oName,oValue,oDisabled;var hasSubmit=false;for(var i=0;i<oForm.elements.length;i++){oElement=oForm.elements[i];oDisabled=oForm.elements[i].disabled;oName=oForm.elements[i].name;oValue=oForm.elements[i].value;if(!oDisabled&&oName)
{switch(oElement.type)
{case'select-one':case'select-multiple':for(var j=0;j<oElement.options.length;j++){if(oElement.options[j].selected){if(window.ActiveXObject){this._sFormData+=encodeURIComponent(oName)+'='+encodeURIComponent(oElement.options[j].attributes['value'].specified?oElement.options[j].value:oElement.options[j].text)+'&';}
else{this._sFormData+=encodeURIComponent(oName)+'='+encodeURIComponent(oElement.options[j].hasAttribute('value')?oElement.options[j].value:oElement.options[j].text)+'&';}}}
break;case'radio':case'checkbox':if(oElement.checked){this._sFormData+=encodeURIComponent(oName)+'='+encodeURIComponent(oValue)+'&';}
break;case'file':case undefined:case'reset':case'button':break;case'submit':if(hasSubmit==false){this._sFormData+=encodeURIComponent(oName)+'='+encodeURIComponent(oValue)+'&';hasSubmit=true;}
break;default:this._sFormData+=encodeURIComponent(oName)+'='+encodeURIComponent(oValue)+'&';break;}}}
this._isFormSubmit=true;this._sFormData=this._sFormData.substr(0,this._sFormData.length-1);return this._sFormData;},resetFormState:function(){this._isFormSubmit=false;this._isFileUpload=false;this._formNode=null;this._sFormData="";},createFrame:function(secureUri){var frameId='yuiIO'+this._transaction_id;if(window.ActiveXObject){var io=document.createElement('<iframe id="'+frameId+'" name="'+frameId+'" />');if(typeof secureUri=='boolean'){io.src='javascript:false';}
else if(typeof secureURI=='string'){io.src=secureUri;}}
else{var io=document.createElement('iframe');io.id=frameId;io.name=frameId;}
io.style.position='absolute';io.style.top='-1000px';io.style.left='-1000px';document.body.appendChild(io);},appendPostData:function(postData)
{var formElements=[];var postMessage=postData.split('&');for(var i=0;i<postMessage.length;i++){var delimitPos=postMessage[i].indexOf('=');if(delimitPos!=-1){formElements[i]=document.createElement('input');formElements[i].type='hidden';formElements[i].name=postMessage[i].substring(0,delimitPos);formElements[i].value=postMessage[i].substring(delimitPos+1);this._formNode.appendChild(formElements[i]);}}
return formElements;},uploadFile:function(id,callback,uri,postData){var frameId='yuiIO'+id;var io=document.getElementById(frameId);this._formNode.action=uri;this._formNode.method='POST';this._formNode.target=frameId;if(this._formNode.encoding){this._formNode.encoding='multipart/form-data';}
else{this._formNode.enctype='multipart/form-data';}
if(postData){var oElements=this.appendPostData(postData);}
this._formNode.submit();if(oElements&&oElements.length>0){try
{for(var i=0;i<oElements.length;i++){this._formNode.removeChild(oElements[i]);}}
catch(e){}}
this.resetFormState();var uploadCallback=function()
{var obj={};obj.tId=id;obj.argument=callback.argument;try
{obj.responseText=io.contentWindow.document.body?io.contentWindow.document.body.innerHTML:null;obj.responseXML=io.contentWindow.document.XMLDocument?io.contentWindow.document.XMLDocument:io.contentWindow.document;}
catch(e){}
if(callback.upload){if(!callback.scope){callback.upload(obj);}
else{callback.upload.apply(callback.scope,[obj]);}}
if(YAHOO.util.Event){YAHOO.util.Event.removeListener(io,"load",uploadCallback);}
else if(window.detachEvent){io.detachEvent('onload',uploadCallback);}
else{io.removeEventListener('load',uploadCallback,false);}
setTimeout(function(){document.body.removeChild(io);},100);};if(YAHOO.util.Event){YAHOO.util.Event.addListener(io,"load",uploadCallback);}
else if(window.attachEvent){io.attachEvent('onload',uploadCallback);}
else{io.addEventListener('load',uploadCallback,false);}},abort:function(o,callback,isTimeout)
{if(this.isCallInProgress(o)){o.conn.abort();window.clearInterval(this._poll[o.tId]);delete this._poll[o.tId];if(isTimeout){delete this._timeOut[o.tId];}
this.handleTransactionResponse(o,callback,true);return true;}
else{return false;}},isCallInProgress:function(o)
{if(o.conn){return o.conn.readyState!=4&&o.conn.readyState!=0;}
else{return false;}},releaseObject:function(o)
{o.conn=null;o=null;}};


/*
Copyright (c) 2006, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 0.12.2

tabview-min.js
*/

YAHOO.util.Lang={isArray:function(val){if(val.constructor&&val.constructor.toString().indexOf('Array')>-1){return true;}else{return YAHOO.util.Lang.isObject(val)&&val.constructor==Array;}},isBoolean:function(val){return typeof val=='boolean';},isFunction:function(val){return typeof val=='function';},isNull:function(val){return val===null;},isNumber:function(val){return!isNaN(val);},isObject:function(val){return typeof val=='object'||YAHOO.util.Lang.isFunction(val);},isString:function(val){return typeof val=='string';},isUndefined:function(val){return typeof val=='undefined';}};YAHOO.util.Attribute=function(hash,owner){if(owner){this.owner=owner;this.configure(hash,true);}};YAHOO.util.Attribute.prototype={name:undefined,value:null,owner:null,readOnly:false,writeOnce:false,_initialConfig:null,_written:false,method:null,validator:null,getValue:function(){return this.value;},setValue:function(value,silent){var beforeRetVal;var owner=this.owner;var name=this.name;var event={type:name,prevValue:this.getValue(),newValue:value};if(this.readOnly||(this.writeOnce&&this._written)){return false;}
if(this.validator&&!this.validator.call(owner,value)){return false;}
if(!silent){beforeRetVal=owner.fireBeforeChangeEvent(event);if(beforeRetVal===false){return false;}}
if(this.method){this.method.call(owner,value);}
this.value=value;this._written=true;event.type=name;if(!silent){this.owner.fireChangeEvent(event);}
return true;},configure:function(map,init){map=map||{};this._written=false;this._initialConfig=this._initialConfig||{};for(var key in map){if(key&&map.hasOwnProperty(key)){this[key]=map[key];if(init){this._initialConfig[key]=map[key];}}}},resetValue:function(){return this.setValue(this._initialConfig.value);},resetConfig:function(){this.configure(this._initialConfig);},refresh:function(silent){this.setValue(this.value,silent);}};(function(){var Lang=YAHOO.util.Lang;YAHOO.util.AttributeProvider=function(){};YAHOO.util.AttributeProvider.prototype={_configs:null,get:function(key){var configs=this._configs||{};var config=configs[key];if(!config){return undefined;}
return config.value;},set:function(key,value,silent){var configs=this._configs||{};var config=configs[key];if(!config){return false;}
return config.setValue(value,silent);},getAttributeKeys:function(){var configs=this._configs;var keys=[];var config;for(var key in configs){config=configs[key];if(configs.hasOwnProperty(key)&&!Lang.isUndefined(config)){keys[keys.length]=key;}}
return keys;},setAttributes:function(map,silent){for(var key in map){if(map.hasOwnProperty(key)){this.set(key,map[key],silent);}}},resetValue:function(key,silent){var configs=this._configs||{};if(configs[key]){this.set(key,configs[key]._initialConfig.value,silent);return true;}
return false;},refresh:function(key,silent){var configs=this._configs;key=((Lang.isString(key))?[key]:key)||this.getAttributeKeys();for(var i=0,len=key.length;i<len;++i){if(configs[key[i]]&&!Lang.isUndefined(configs[key[i]].value)&&!Lang.isNull(configs[key[i]].value)){configs[key[i]].refresh(silent);}}},register:function(key,map){this._configs=this._configs||{};if(this._configs[key]){return false;}
map.name=key;this._configs[key]=new YAHOO.util.Attribute(map,this);return true;},getAttributeConfig:function(key){var configs=this._configs||{};var config=configs[key]||{};var map={};for(key in config){if(config.hasOwnProperty(key)){map[key]=config[key];}}
return map;},configureAttribute:function(key,map,init){var configs=this._configs||{};if(!configs[key]){return false;}
configs[key].configure(map,init);},resetAttributeConfig:function(key){var configs=this._configs||{};configs[key].resetConfig();},fireBeforeChangeEvent:function(e){var type='before';type+=e.type.charAt(0).toUpperCase()+e.type.substr(1)+'Change';e.type=type;return this.fireEvent(e.type,e);},fireChangeEvent:function(e){e.type+='Change';return this.fireEvent(e.type,e);}};YAHOO.augment(YAHOO.util.AttributeProvider,YAHOO.util.EventProvider);})();(function(){var Dom=YAHOO.util.Dom,Lang=YAHOO.util.Lang,EventPublisher=YAHOO.util.EventPublisher,AttributeProvider=YAHOO.util.AttributeProvider;YAHOO.util.Element=function(el,map){if(arguments.length){this.init(el,map);}};YAHOO.util.Element.prototype={DOM_EVENTS:null,appendChild:function(child){child=child.get?child.get('element'):child;this.get('element').appendChild(child);},getElementsByTagName:function(tag){return this.get('element').getElementsByTagName(tag);},hasChildNodes:function(){return this.get('element').hasChildNodes();},insertBefore:function(element,before){element=element.get?element.get('element'):element;before=(before&&before.get)?before.get('element'):before;this.get('element').insertBefore(element,before);},removeChild:function(child){child=child.get?child.get('element'):child;this.get('element').removeChild(child);return true;},replaceChild:function(newNode,oldNode){newNode=newNode.get?newNode.get('element'):newNode;oldNode=oldNode.get?oldNode.get('element'):oldNode;return this.get('element').replaceChild(newNode,oldNode);},initAttributes:function(map){map=map||{};var element=Dom.get(map.element)||null;this.register('element',{value:element,readOnly:true});},addListener:function(type,fn,obj,scope){var el=this.get('element');var scope=scope||this;el=this.get('id')||el;if(!this._events[type]){if(this.DOM_EVENTS[type]){YAHOO.util.Event.addListener(el,type,function(e){if(e.srcElement&&!e.target){e.target=e.srcElement;}
this.fireEvent(type,e);},obj,scope);}
this.createEvent(type,this);this._events[type]=true;}
this.subscribe.apply(this,arguments);},on:function(){this.addListener.apply(this,arguments);},removeListener:function(type,fn){this.unsubscribe.apply(this,arguments);},addClass:function(className){Dom.addClass(this.get('element'),className);},getElementsByClassName:function(className,tag){return Dom.getElementsByClassName(className,tag,this.get('element'));},hasClass:function(className){return Dom.hasClass(this.get('element'),className);},removeClass:function(className){return Dom.removeClass(this.get('element'),className);},replaceClass:function(oldClassName,newClassName){return Dom.replaceClass(this.get('element'),oldClassName,newClassName);},setStyle:function(property,value){return Dom.setStyle(this.get('element'),property,value);},getStyle:function(property){return Dom.getStyle(this.get('element'),property);},fireQueue:function(){var queue=this._queue;for(var i=0,len=queue.length;i<len;++i){this[queue[i][0]].apply(this,queue[i][1]);}},appendTo:function(parent,before){parent=(parent.get)?parent.get('element'):Dom.get(parent);before=(before&&before.get)?before.get('element'):Dom.get(before);var element=this.get('element');var newAddition=!Dom.inDocument(element);if(!element){return false;}
if(!parent){return false;}
if(element.parent!=parent){if(before){parent.insertBefore(element,before);}else{parent.appendChild(element);}}
if(!newAddition){return false;}
var keys=this.getAttributeKeys();for(var key in keys){if(!Lang.isUndefined(element[key])){this.refresh(key);}}},get:function(key){var configs=this._configs||{};var el=configs.element;if(el&&!configs[key]&&!Lang.isUndefined(el.value[key])){return el.value[key];}
return AttributeProvider.prototype.get.call(this,key);},set:function(key,value,silent){var el=this.get('element');if(!el){this._queue[this._queue.length]=['set',arguments];return false;}
if(!this._configs[key]&&!Lang.isUndefined(el[key])){_registerHTMLAttr.call(this,key);}
return AttributeProvider.prototype.set.apply(this,arguments);},register:function(key){var configs=this._configs||{};var element=this.get('element')||null;if(element&&!Lang.isUndefined(element[key])){return false;}
return AttributeProvider.prototype.register.apply(this,arguments);},configureAttribute:function(property,map,init){var el=this.get('element');if(!el){this._queue[this._queue.length]=['configureAttribute',arguments];return;}
if(!this._configs[property]&&!Lang.isUndefined(el[property])){_registerHTMLAttr.call(this,property,map);}
return AttributeProvider.prototype.configureAttribute.apply(this,arguments);},getAttributeKeys:function(){var el=this.get('element');var keys=AttributeProvider.prototype.getAttributeKeys.call(this);for(var key in el){if(!this._configs[key]){keys[key]=keys[key]||el[key];}}
return keys;},init:function(el,attr){this._queue=this._queue||[];this._events=this._events||{};this._configs=this._configs||{};attr=attr||{};attr.element=attr.element||el||null;this.DOM_EVENTS={'click':true,'keydown':true,'keypress':true,'keyup':true,'mousedown':true,'mousemove':true,'mouseout':true,'mouseover':true,'mouseup':true};var readyHandler=function(){this.initAttributes(attr);this.setAttributes(attr,true);this.fireQueue();this.fireEvent('contentReady',{type:'contentReady',target:attr.element});};if(Lang.isString(el)){_registerHTMLAttr.call(this,'id',{value:el});YAHOO.util.Event.onAvailable(el,function(){attr.element=Dom.get(el);this.fireEvent('available',{type:'available',target:attr.element});},this,true);YAHOO.util.Event.onContentReady(el,function(){readyHandler.call(this);},this,true);}else{readyHandler.call(this);}}};var _registerHTMLAttr=function(key,map){var el=this.get('element');map=map||{};map.name=key;map.method=map.method||function(value){el[key]=value;};map.value=map.value||el[key];this._configs[key]=new YAHOO.util.Attribute(map,this);};YAHOO.augment(YAHOO.util.Element,AttributeProvider);})();(function(){var Dom=YAHOO.util.Dom,Event=YAHOO.util.Event,Lang=YAHOO.util.Lang;var Tab=function(el,attr){attr=attr||{};if(arguments.length==1&&!Lang.isString(el)&&!el.nodeName){attr=el;el=attr.element;}
if(!el&&!attr.element){el=_createTabElement.call(this,attr);}
this.loadHandler={success:function(o){this.set('content',o.responseText);},failure:function(o){}};Tab.superclass.constructor.call(this,el,attr);this.DOM_EVENTS={};};YAHOO.extend(Tab,YAHOO.util.Element);var proto=Tab.prototype;proto.LABEL_TAGNAME='em';proto.ACTIVE_CLASSNAME='selected';proto.DISABLED_CLASSNAME='disabled';proto.LOADING_CLASSNAME='loading';proto.dataConnection=null;proto.loadHandler=null;proto.toString=function(){var el=this.get('element');var id=el.id||el.tagName;return"Tab "+id;};proto.initAttributes=function(attr){attr=attr||{};Tab.superclass.initAttributes.call(this,attr);var el=this.get('element');this.register('activationEvent',{value:attr.activationEvent||'click'});this.register('labelEl',{value:attr.labelEl||_getlabelEl.call(this),method:function(value){var current=this.get('labelEl');if(current){if(current==value){return false;}
this.replaceChild(value,current);}else if(el.firstChild){this.insertBefore(value,el.firstChild);}else{this.appendChild(value);}}});this.register('label',{value:attr.label||_getLabel.call(this),method:function(value){var labelEl=this.get('labelEl');if(!labelEl){this.set('labelEl',_createlabelEl.call(this));}
_setLabel.call(this,value);}});this.register('contentEl',{value:attr.contentEl||document.createElement('div'),method:function(value){var current=this.get('contentEl');if(current){if(current==value){return false;}
this.replaceChild(value,current);}}});this.register('content',{value:attr.content,method:function(value){this.get('contentEl').innerHTML=value;}});var _dataLoaded=false;this.register('dataSrc',{value:attr.dataSrc});this.register('cacheData',{value:attr.cacheData||false,validator:Lang.isBoolean});this.register('loadMethod',{value:attr.loadMethod||'GET',validator:Lang.isString});this.register('dataLoaded',{value:false,validator:Lang.isBoolean,writeOnce:true});this.register('dataTimeout',{value:attr.dataTimeout||null,validator:Lang.isNumber});this.register('active',{value:attr.active||this.hasClass(this.ACTIVE_CLASSNAME),method:function(value){if(value===true){this.addClass(this.ACTIVE_CLASSNAME);this.set('title','active');}else{this.removeClass(this.ACTIVE_CLASSNAME);this.set('title','');}},validator:function(value){return Lang.isBoolean(value)&&!this.get('disabled');}});this.register('disabled',{value:attr.disabled||this.hasClass(this.DISABLED_CLASSNAME),method:function(value){if(value===true){Dom.addClass(this.get('element'),this.DISABLED_CLASSNAME);}else{Dom.removeClass(this.get('element'),this.DISABLED_CLASSNAME);}},validator:Lang.isBoolean});this.register('href',{value:attr.href||'#',method:function(value){this.getElementsByTagName('a')[0].href=value;},validator:Lang.isString});this.register('contentVisible',{value:attr.contentVisible,method:function(value){if(value==true){this.get('contentEl').style.display='block';if(this.get('dataSrc')){if(!this.get('dataLoaded')||!this.get('cacheData')){_dataConnect.call(this);}}}else{this.get('contentEl').style.display='none';}},validator:Lang.isBoolean});};var _createTabElement=function(attr){var el=document.createElement('li');var a=document.createElement('a');a.href=attr.href||'#';el.appendChild(a);var label=attr.label||null;var labelEl=attr.labelEl||null;if(labelEl){if(!label){label=_getLabel.call(this,labelEl);}}else{labelEl=_createlabelEl.call(this);}
a.appendChild(labelEl);return el;};var _getlabelEl=function(){return this.getElementsByTagName(this.LABEL_TAGNAME)[0];};var _createlabelEl=function(){var el=document.createElement(this.LABEL_TAGNAME);return el;};var _setLabel=function(label){var el=this.get('labelEl');el.innerHTML=label;};var _getLabel=function(){var label,el=this.get('labelEl');if(!el){return undefined;}
return el.innerHTML;};var _dataConnect=function(){if(!YAHOO.util.Connect){return false;}
Dom.addClass(this.get('contentEl').parentNode,this.LOADING_CLASSNAME);this.dataConnection=YAHOO.util.Connect.asyncRequest(this.get('loadMethod'),this.get('dataSrc'),{success:function(o){this.loadHandler.success.call(this,o);this.set('dataLoaded',true);this.dataConnection=null;Dom.removeClass(this.get('contentEl').parentNode,this.LOADING_CLASSNAME);},failure:function(o){this.loadHandler.failure.call(this,o);this.dataConnection=null;Dom.removeClass(this.get('contentEl').parentNode,this.LOADING_CLASSNAME);},scope:this,timeout:this.get('dataTimeout')});};YAHOO.widget.Tab=Tab;})();(function(){YAHOO.widget.TabView=function(el,attr){attr=attr||{};if(arguments.length==1&&!Lang.isString(el)&&!el.nodeName){attr=el;el=attr.element||null;}
if(!el&&!attr.element){el=_createTabViewElement.call(this,attr);}
YAHOO.widget.TabView.superclass.constructor.call(this,el,attr);};YAHOO.extend(YAHOO.widget.TabView,YAHOO.util.Element);var proto=YAHOO.widget.TabView.prototype;var Dom=YAHOO.util.Dom;var Lang=YAHOO.util.Lang;var Event=YAHOO.util.Event;var Tab=YAHOO.widget.Tab;proto.CLASSNAME='yui-navset';proto.TAB_PARENT_CLASSNAME='yui-nav';proto.CONTENT_PARENT_CLASSNAME='yui-content';proto._tabParent=null;proto._contentParent=null;proto.addTab=function(tab,index){var tabs=this.get('tabs');if(!tabs){this._queue[this._queue.length]=['addTab',arguments];return false;}
index=(index===undefined)?tabs.length:index;var before=this.getTab(index);var self=this;var el=this.get('element');var tabParent=this._tabParent;var contentParent=this._contentParent;var tabElement=tab.get('element');var contentEl=tab.get('contentEl');if(before){tabParent.insertBefore(tabElement,before.get('element'));}else{tabParent.appendChild(tabElement);}
if(contentEl&&!Dom.isAncestor(contentParent,contentEl)){contentParent.appendChild(contentEl);}
if(!tab.get('active')){tab.set('contentVisible',false,true);}else{this.set('activeTab',tab,true);}
var activate=function(e){YAHOO.util.Event.preventDefault(e);self.set('activeTab',this);};tab.addListener(tab.get('activationEvent'),activate);tab.addListener('activationEventChange',function(e){if(e.prevValue!=e.newValue){tab.removeListener(e.prevValue,activate);tab.addListener(e.newValue,activate);}});tabs.splice(index,0,tab);};proto.DOMEventHandler=function(e){var el=this.get('element');var target=YAHOO.util.Event.getTarget(e);var tabParent=this._tabParent;if(Dom.isAncestor(tabParent,target)){var tabEl;var tab=null;var contentEl;var tabs=this.get('tabs');for(var i=0,len=tabs.length;i<len;i++){tabEl=tabs[i].get('element');contentEl=tabs[i].get('contentEl');if(target==tabEl||Dom.isAncestor(tabEl,target)){tab=tabs[i];break;}}
if(tab){tab.fireEvent(e.type,e);}}};proto.getTab=function(index){return this.get('tabs')[index];};proto.getTabIndex=function(tab){var index=null;var tabs=this.get('tabs');for(var i=0,len=tabs.length;i<len;++i){if(tab==tabs[i]){index=i;break;}}
return index;};proto.removeTab=function(tab){var tabCount=this.get('tabs').length;var index=this.getTabIndex(tab);var nextIndex=index+1;if(tab==this.get('activeTab')){if(tabCount>1){if(index+1==tabCount){this.set('activeIndex',index-1);}else{this.set('activeIndex',index+1);}}}
this._tabParent.removeChild(tab.get('element'));this._contentParent.removeChild(tab.get('contentEl'));this._configs.tabs.value.splice(index,1);};proto.toString=function(){var name=this.get('id')||this.get('tagName');return"TabView "+name;};proto.contentTransition=function(newTab,oldTab){newTab.set('contentVisible',true);oldTab.set('contentVisible',false);};proto.initAttributes=function(attr){YAHOO.widget.TabView.superclass.initAttributes.call(this,attr);if(!attr.orientation){attr.orientation='top';}
var el=this.get('element');this.register('tabs',{value:[],readOnly:true});this._tabParent=this.getElementsByClassName(this.TAB_PARENT_CLASSNAME,'ul')[0]||_createTabParent.call(this);this._contentParent=this.getElementsByClassName(this.CONTENT_PARENT_CLASSNAME,'div')[0]||_createContentParent.call(this);this.register('orientation',{value:attr.orientation,method:function(value){var current=this.get('orientation');this.addClass('yui-navset-'+value);if(current!=value){this.removeClass('yui-navset-'+current);}
switch(value){case'bottom':this.appendChild(this._tabParent);break;}}});this.register('activeIndex',{value:attr.activeIndex,method:function(value){this.set('activeTab',this.getTab(value));},validator:function(value){return!this.getTab(value).get('disabled');}});this.register('activeTab',{value:attr.activeTab,method:function(tab){var activeTab=this.get('activeTab');if(tab){tab.set('active',true);}
if(activeTab&&activeTab!=tab){activeTab.set('active',false);}
if(activeTab&&tab!=activeTab){this.contentTransition(tab,activeTab);}else if(tab){tab.set('contentVisible',true);}},validator:function(value){return!value.get('disabled');}});if(this._tabParent){_initTabs.call(this);}
for(var type in this.DOM_EVENTS){if(this.DOM_EVENTS.hasOwnProperty(type)){this.addListener.call(this,type,this.DOMEventHandler);}}};var _initTabs=function(){var tab,attr,contentEl;var el=this.get('element');var tabs=_getChildNodes(this._tabParent);var contentElements=_getChildNodes(this._contentParent);for(var i=0,len=tabs.length;i<len;++i){attr={};if(contentElements[i]){attr.contentEl=contentElements[i];}
tab=new YAHOO.widget.Tab(tabs[i],attr);this.addTab(tab);if(tab.hasClass(tab.ACTIVE_CLASSNAME)){this._configs.activeTab.value=tab;}}};var _createTabViewElement=function(attr){var el=document.createElement('div');if(this.CLASSNAME){el.className=this.CLASSNAME;}
return el;};var _createTabParent=function(attr){var el=document.createElement('ul');if(this.TAB_PARENT_CLASSNAME){el.className=this.TAB_PARENT_CLASSNAME;}
this.get('element').appendChild(el);return el;};var _createContentParent=function(attr){var el=document.createElement('div');if(this.CONTENT_PARENT_CLASSNAME){el.className=this.CONTENT_PARENT_CLASSNAME;}
this.get('element').appendChild(el);return el;};var _getChildNodes=function(el){var nodes=[];var childNodes=el.childNodes;for(var i=0,len=childNodes.length;i<len;++i){if(childNodes[i].nodeType==1){nodes[nodes.length]=childNodes[i];}}
return nodes;};})();



/*
Copyright (c) 2006, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 0.12.2
*/


(function(){var Event=YAHOO.util.Event;var Dom=YAHOO.util.Dom;YAHOO.util.DragDrop=function(id,sGroup,config){if(id){this.init(id,sGroup,config);}};YAHOO.util.DragDrop.prototype={id:null,config:null,dragElId:null,handleElId:null,invalidHandleTypes:null,invalidHandleIds:null,invalidHandleClasses:null,startPageX:0,startPageY:0,groups:null,locked:false,lock:function(){this.locked=true;},unlock:function(){this.locked=false;},isTarget:true,padding:null,_domRef:null,__ygDragDrop:true,constrainX:false,constrainY:false,minX:0,maxX:0,minY:0,maxY:0,maintainOffset:false,xTicks:null,yTicks:null,primaryButtonOnly:true,available:false,hasOuterHandles:false,b4StartDrag:function(x,y){},startDrag:function(x,y){},b4Drag:function(e){},onDrag:function(e){},onDragEnter:function(e,id){},b4DragOver:function(e){},onDragOver:function(e,id){},b4DragOut:function(e){},onDragOut:function(e,id){},b4DragDrop:function(e){},onDragDrop:function(e,id){},onInvalidDrop:function(e){},b4EndDrag:function(e){},endDrag:function(e){},b4MouseDown:function(e){},onMouseDown:function(e){},onMouseUp:function(e){},onAvailable:function(){},getEl:function(){if(!this._domRef){this._domRef=Dom.get(this.id);}
return this._domRef;},getDragEl:function(){return Dom.get(this.dragElId);},init:function(id,sGroup,config){this.initTarget(id,sGroup,config);Event.on(this.id,"mousedown",this.handleMouseDown,this,true);},initTarget:function(id,sGroup,config){this.config=config||{};this.DDM=YAHOO.util.DDM;this.groups={};if(typeof id!=="string"){YAHOO.log("id is not a string, assuming it is an HTMLElement");id=Dom.generateId(id);}
this.id=id;this.addToGroup((sGroup)?sGroup:"default");this.handleElId=id;Event.onAvailable(id,this.handleOnAvailable,this,true);this.setDragElId(id);this.invalidHandleTypes={A:"A"};this.invalidHandleIds={};this.invalidHandleClasses=[];this.applyConfig();},applyConfig:function(){this.padding=this.config.padding||[0,0,0,0];this.isTarget=(this.config.isTarget!==false);this.maintainOffset=(this.config.maintainOffset);this.primaryButtonOnly=(this.config.primaryButtonOnly!==false);},handleOnAvailable:function(){this.available=true;this.resetConstraints();this.onAvailable();},setPadding:function(iTop,iRight,iBot,iLeft){if(!iRight&&0!==iRight){this.padding=[iTop,iTop,iTop,iTop];}else if(!iBot&&0!==iBot){this.padding=[iTop,iRight,iTop,iRight];}else{this.padding=[iTop,iRight,iBot,iLeft];}},setInitPosition:function(diffX,diffY){var el=this.getEl();if(!this.DDM.verifyEl(el)){return;}
var dx=diffX||0;var dy=diffY||0;var p=Dom.getXY(el);this.initPageX=p[0]-dx;this.initPageY=p[1]-dy;this.lastPageX=p[0];this.lastPageY=p[1];this.setStartPosition(p);},setStartPosition:function(pos){var p=pos||Dom.getXY(this.getEl());this.deltaSetXY=null;this.startPageX=p[0];this.startPageY=p[1];},addToGroup:function(sGroup){this.groups[sGroup]=true;this.DDM.regDragDrop(this,sGroup);},removeFromGroup:function(sGroup){if(this.groups[sGroup]){delete this.groups[sGroup];}
this.DDM.removeDDFromGroup(this,sGroup);},setDragElId:function(id){this.dragElId=id;},setHandleElId:function(id){if(typeof id!=="string"){YAHOO.log("id is not a string, assuming it is an HTMLElement");id=Dom.generateId(id);}
this.handleElId=id;this.DDM.regHandle(this.id,id);},setOuterHandleElId:function(id){if(typeof id!=="string"){YAHOO.log("id is not a string, assuming it is an HTMLElement");id=Dom.generateId(id);}
Event.on(id,"mousedown",this.handleMouseDown,this,true);this.setHandleElId(id);this.hasOuterHandles=true;},unreg:function(){Event.removeListener(this.id,"mousedown",this.handleMouseDown);this._domRef=null;this.DDM._remove(this);},isLocked:function(){return(this.DDM.isLocked()||this.locked);},handleMouseDown:function(e,oDD){var button=e.which||e.button;if(this.primaryButtonOnly&&button>1){return;}
if(this.isLocked()){return;}
this.DDM.refreshCache(this.groups);var pt=new YAHOO.util.Point(Event.getPageX(e),Event.getPageY(e));if(!this.hasOuterHandles&&!this.DDM.isOverTarget(pt,this)){}else{if(this.clickValidator(e)){this.setStartPosition();this.b4MouseDown(e);this.onMouseDown(e);this.DDM.handleMouseDown(e,this);this.DDM.stopEvent(e);}else{}}},clickValidator:function(e){var target=Event.getTarget(e);return(this.isValidHandleChild(target)&&(this.id==this.handleElId||this.DDM.handleWasClicked(target,this.id)));},addInvalidHandleType:function(tagName){var type=tagName.toUpperCase();this.invalidHandleTypes[type]=type;},addInvalidHandleId:function(id){if(typeof id!=="string"){YAHOO.log("id is not a string, assuming it is an HTMLElement");id=Dom.generateId(id);}
this.invalidHandleIds[id]=id;},addInvalidHandleClass:function(cssClass){this.invalidHandleClasses.push(cssClass);},removeInvalidHandleType:function(tagName){var type=tagName.toUpperCase();delete this.invalidHandleTypes[type];},removeInvalidHandleId:function(id){if(typeof id!=="string"){YAHOO.log("id is not a string, assuming it is an HTMLElement");id=Dom.generateId(id);}
delete this.invalidHandleIds[id];},removeInvalidHandleClass:function(cssClass){for(var i=0,len=this.invalidHandleClasses.length;i<len;++i){if(this.invalidHandleClasses[i]==cssClass){delete this.invalidHandleClasses[i];}}},isValidHandleChild:function(node){var valid=true;var nodeName;try{nodeName=node.nodeName.toUpperCase();}catch(e){nodeName=node.nodeName;}
valid=valid&&!this.invalidHandleTypes[nodeName];valid=valid&&!this.invalidHandleIds[node.id];for(var i=0,len=this.invalidHandleClasses.length;valid&&i<len;++i){valid=!Dom.hasClass(node,this.invalidHandleClasses[i]);}
return valid;},setXTicks:function(iStartX,iTickSize){this.xTicks=[];this.xTickSize=iTickSize;var tickMap={};for(var i=this.initPageX;i>=this.minX;i=i-iTickSize){if(!tickMap[i]){this.xTicks[this.xTicks.length]=i;tickMap[i]=true;}}
for(i=this.initPageX;i<=this.maxX;i=i+iTickSize){if(!tickMap[i]){this.xTicks[this.xTicks.length]=i;tickMap[i]=true;}}
this.xTicks.sort(this.DDM.numericSort);},setYTicks:function(iStartY,iTickSize){this.yTicks=[];this.yTickSize=iTickSize;var tickMap={};for(var i=this.initPageY;i>=this.minY;i=i-iTickSize){if(!tickMap[i]){this.yTicks[this.yTicks.length]=i;tickMap[i]=true;}}
for(i=this.initPageY;i<=this.maxY;i=i+iTickSize){if(!tickMap[i]){this.yTicks[this.yTicks.length]=i;tickMap[i]=true;}}
this.yTicks.sort(this.DDM.numericSort);},setXConstraint:function(iLeft,iRight,iTickSize){this.leftConstraint=iLeft;this.rightConstraint=iRight;this.minX=this.initPageX-iLeft;this.maxX=this.initPageX+iRight;if(iTickSize){this.setXTicks(this.initPageX,iTickSize);}
this.constrainX=true;},clearConstraints:function(){this.constrainX=false;this.constrainY=false;this.clearTicks();},clearTicks:function(){this.xTicks=null;this.yTicks=null;this.xTickSize=0;this.yTickSize=0;},setYConstraint:function(iUp,iDown,iTickSize){this.topConstraint=iUp;this.bottomConstraint=iDown;this.minY=this.initPageY-iUp;this.maxY=this.initPageY+iDown;if(iTickSize){this.setYTicks(this.initPageY,iTickSize);}
this.constrainY=true;},resetConstraints:function(){if(this.initPageX||this.initPageX===0){var dx=(this.maintainOffset)?this.lastPageX-this.initPageX:0;var dy=(this.maintainOffset)?this.lastPageY-this.initPageY:0;this.setInitPosition(dx,dy);}else{this.setInitPosition();}
if(this.constrainX){this.setXConstraint(this.leftConstraint,this.rightConstraint,this.xTickSize);}
if(this.constrainY){this.setYConstraint(this.topConstraint,this.bottomConstraint,this.yTickSize);}},getTick:function(val,tickArray){if(!tickArray){return val;}else if(tickArray[0]>=val){return tickArray[0];}else{for(var i=0,len=tickArray.length;i<len;++i){var next=i+1;if(tickArray[next]&&tickArray[next]>=val){var diff1=val-tickArray[i];var diff2=tickArray[next]-val;return(diff2>diff1)?tickArray[i]:tickArray[next];}}
return tickArray[tickArray.length-1];}},toString:function(){return("DragDrop "+this.id);}};})();if(!YAHOO.util.DragDropMgr){YAHOO.util.DragDropMgr=function(){var Event=YAHOO.util.Event;return{ids:{},handleIds:{},dragCurrent:null,dragOvers:{},deltaX:0,deltaY:0,preventDefault:true,stopPropagation:true,initalized:false,locked:false,init:function(){this.initialized=true;},POINT:0,INTERSECT:1,STRICT_INTERSECT:2,mode:0,_execOnAll:function(sMethod,args){for(var i in this.ids){for(var j in this.ids[i]){var oDD=this.ids[i][j];if(!this.isTypeOfDD(oDD)){continue;}
oDD[sMethod].apply(oDD,args);}}},_onLoad:function(){this.init();Event.on(document,"mouseup",this.handleMouseUp,this,true);Event.on(document,"mousemove",this.handleMouseMove,this,true);Event.on(window,"unload",this._onUnload,this,true);Event.on(window,"resize",this._onResize,this,true);},_onResize:function(e){this._execOnAll("resetConstraints",[]);},lock:function(){this.locked=true;},unlock:function(){this.locked=false;},isLocked:function(){return this.locked;},locationCache:{},useCache:true,clickPixelThresh:3,clickTimeThresh:1000,dragThreshMet:false,clickTimeout:null,startX:0,startY:0,regDragDrop:function(oDD,sGroup){if(!this.initialized){this.init();}
if(!this.ids[sGroup]){this.ids[sGroup]={};}
this.ids[sGroup][oDD.id]=oDD;},removeDDFromGroup:function(oDD,sGroup){if(!this.ids[sGroup]){this.ids[sGroup]={};}
var obj=this.ids[sGroup];if(obj&&obj[oDD.id]){delete obj[oDD.id];}},_remove:function(oDD){for(var g in oDD.groups){if(g&&this.ids[g][oDD.id]){delete this.ids[g][oDD.id];}}
delete this.handleIds[oDD.id];},regHandle:function(sDDId,sHandleId){if(!this.handleIds[sDDId]){this.handleIds[sDDId]={};}
this.handleIds[sDDId][sHandleId]=sHandleId;},isDragDrop:function(id){return(this.getDDById(id))?true:false;},getRelated:function(p_oDD,bTargetsOnly){var oDDs=[];for(var i in p_oDD.groups){for(j in this.ids[i]){var dd=this.ids[i][j];if(!this.isTypeOfDD(dd)){continue;}
if(!bTargetsOnly||dd.isTarget){oDDs[oDDs.length]=dd;}}}
return oDDs;},isLegalTarget:function(oDD,oTargetDD){var targets=this.getRelated(oDD,true);for(var i=0,len=targets.length;i<len;++i){if(targets[i].id==oTargetDD.id){return true;}}
return false;},isTypeOfDD:function(oDD){return(oDD&&oDD.__ygDragDrop);},isHandle:function(sDDId,sHandleId){return(this.handleIds[sDDId]&&this.handleIds[sDDId][sHandleId]);},getDDById:function(id){for(var i in this.ids){if(this.ids[i][id]){return this.ids[i][id];}}
return null;},handleMouseDown:function(e,oDD){this.currentTarget=YAHOO.util.Event.getTarget(e);this.dragCurrent=oDD;var el=oDD.getEl();this.startX=YAHOO.util.Event.getPageX(e);this.startY=YAHOO.util.Event.getPageY(e);this.deltaX=this.startX-el.offsetLeft;this.deltaY=this.startY-el.offsetTop;this.dragThreshMet=false;this.clickTimeout=setTimeout(function(){var DDM=YAHOO.util.DDM;DDM.startDrag(DDM.startX,DDM.startY);},this.clickTimeThresh);},startDrag:function(x,y){clearTimeout(this.clickTimeout);if(this.dragCurrent){this.dragCurrent.b4StartDrag(x,y);this.dragCurrent.startDrag(x,y);}
this.dragThreshMet=true;},handleMouseUp:function(e){if(!this.dragCurrent){return;}
clearTimeout(this.clickTimeout);if(this.dragThreshMet){this.fireEvents(e,true);}else{}
this.stopDrag(e);this.stopEvent(e);},stopEvent:function(e){if(this.stopPropagation){YAHOO.util.Event.stopPropagation(e);}
if(this.preventDefault){YAHOO.util.Event.preventDefault(e);}},stopDrag:function(e){if(this.dragCurrent){if(this.dragThreshMet){this.dragCurrent.b4EndDrag(e);this.dragCurrent.endDrag(e);}
this.dragCurrent.onMouseUp(e);}
this.dragCurrent=null;this.dragOvers={};},handleMouseMove:function(e){if(!this.dragCurrent){return true;}
if(YAHOO.util.Event.isIE&&!e.button){this.stopEvent(e);return this.handleMouseUp(e);}
if(!this.dragThreshMet){var diffX=Math.abs(this.startX-YAHOO.util.Event.getPageX(e));var diffY=Math.abs(this.startY-YAHOO.util.Event.getPageY(e));if(diffX>this.clickPixelThresh||diffY>this.clickPixelThresh){this.startDrag(this.startX,this.startY);}}
if(this.dragThreshMet){this.dragCurrent.b4Drag(e);this.dragCurrent.onDrag(e);this.fireEvents(e,false);}
this.stopEvent(e);return true;},fireEvents:function(e,isDrop){var dc=this.dragCurrent;if(!dc||dc.isLocked()){return;}
var x=YAHOO.util.Event.getPageX(e);var y=YAHOO.util.Event.getPageY(e);var pt=new YAHOO.util.Point(x,y);var oldOvers=[];var outEvts=[];var overEvts=[];var dropEvts=[];var enterEvts=[];for(var i in this.dragOvers){var ddo=this.dragOvers[i];if(!this.isTypeOfDD(ddo)){continue;}
if(!this.isOverTarget(pt,ddo,this.mode)){outEvts.push(ddo);}
oldOvers[i]=true;delete this.dragOvers[i];}
for(var sGroup in dc.groups){if("string"!=typeof sGroup){continue;}
for(i in this.ids[sGroup]){var oDD=this.ids[sGroup][i];if(!this.isTypeOfDD(oDD)){continue;}
if(oDD.isTarget&&!oDD.isLocked()&&oDD!=dc){if(this.isOverTarget(pt,oDD,this.mode)){if(isDrop){dropEvts.push(oDD);}else{if(!oldOvers[oDD.id]){enterEvts.push(oDD);}else{overEvts.push(oDD);}
this.dragOvers[oDD.id]=oDD;}}}}}
if(this.mode){if(outEvts.length){dc.b4DragOut(e,outEvts);dc.onDragOut(e,outEvts);}
if(enterEvts.length){dc.onDragEnter(e,enterEvts);}
if(overEvts.length){dc.b4DragOver(e,overEvts);dc.onDragOver(e,overEvts);}
if(dropEvts.length){dc.b4DragDrop(e,dropEvts);dc.onDragDrop(e,dropEvts);}}else{var len=0;for(i=0,len=outEvts.length;i<len;++i){dc.b4DragOut(e,outEvts[i].id);dc.onDragOut(e,outEvts[i].id);}
for(i=0,len=enterEvts.length;i<len;++i){dc.onDragEnter(e,enterEvts[i].id);}
for(i=0,len=overEvts.length;i<len;++i){dc.b4DragOver(e,overEvts[i].id);dc.onDragOver(e,overEvts[i].id);}
for(i=0,len=dropEvts.length;i<len;++i){dc.b4DragDrop(e,dropEvts[i].id);dc.onDragDrop(e,dropEvts[i].id);}}
if(isDrop&&!dropEvts.length){dc.onInvalidDrop(e);}},getBestMatch:function(dds){var winner=null;var len=dds.length;if(len==1){winner=dds[0];}else{for(var i=0;i<len;++i){var dd=dds[i];if(this.mode==this.INTERSECT&&dd.cursorIsOver){winner=dd;break;}else{if(!winner||!winner.overlap||(dd.overlap&&winner.overlap.getArea()<dd.overlap.getArea())){winner=dd;}}}}
return winner;},refreshCache:function(groups){for(var sGroup in groups){if("string"!=typeof sGroup){continue;}
for(var i in this.ids[sGroup]){var oDD=this.ids[sGroup][i];if(this.isTypeOfDD(oDD)){var loc=this.getLocation(oDD);if(loc){this.locationCache[oDD.id]=loc;}else{delete this.locationCache[oDD.id];}}}}},verifyEl:function(el){try{if(el){var parent=el.offsetParent;if(parent){return true;}}}catch(e){}
return false;},getLocation:function(oDD){if(!this.isTypeOfDD(oDD)){return null;}
var el=oDD.getEl(),pos,x1,x2,y1,y2,t,r,b,l;try{pos=YAHOO.util.Dom.getXY(el);}catch(e){}
if(!pos){return null;}
x1=pos[0];x2=x1+el.offsetWidth;y1=pos[1];y2=y1+el.offsetHeight;t=y1-oDD.padding[0];r=x2+oDD.padding[1];b=y2+oDD.padding[2];l=x1-oDD.padding[3];return new YAHOO.util.Region(t,r,b,l);},isOverTarget:function(pt,oTarget,intersect){var loc=this.locationCache[oTarget.id];if(!loc||!this.useCache){loc=this.getLocation(oTarget);this.locationCache[oTarget.id]=loc;}
if(!loc){return false;}
oTarget.cursorIsOver=loc.contains(pt);var dc=this.dragCurrent;if(!dc||!dc.getTargetCoord||(!intersect&&!dc.constrainX&&!dc.constrainY)){return oTarget.cursorIsOver;}
oTarget.overlap=null;var pos=dc.getTargetCoord(pt.x,pt.y);var el=dc.getDragEl();var curRegion=new YAHOO.util.Region(pos.y,pos.x+el.offsetWidth,pos.y+el.offsetHeight,pos.x);var overlap=curRegion.intersect(loc);if(overlap){oTarget.overlap=overlap;return(intersect)?true:oTarget.cursorIsOver;}else{return false;}},_onUnload:function(e,me){this.unregAll();},unregAll:function(){if(this.dragCurrent){this.stopDrag();this.dragCurrent=null;}
this._execOnAll("unreg",[]);for(i in this.elementCache){delete this.elementCache[i];}
this.elementCache={};this.ids={};},elementCache:{},getElWrapper:function(id){var oWrapper=this.elementCache[id];if(!oWrapper||!oWrapper.el){oWrapper=this.elementCache[id]=new this.ElementWrapper(YAHOO.util.Dom.get(id));}
return oWrapper;},getElement:function(id){return YAHOO.util.Dom.get(id);},getCss:function(id){var el=YAHOO.util.Dom.get(id);return(el)?el.style:null;},ElementWrapper:function(el){this.el=el||null;this.id=this.el&&el.id;this.css=this.el&&el.style;},getPosX:function(el){return YAHOO.util.Dom.getX(el);},getPosY:function(el){return YAHOO.util.Dom.getY(el);},swapNode:function(n1,n2){if(n1.swapNode){n1.swapNode(n2);}else{var p=n2.parentNode;var s=n2.nextSibling;if(s==n1){p.insertBefore(n1,n2);}else if(n2==n1.nextSibling){p.insertBefore(n2,n1);}else{n1.parentNode.replaceChild(n2,n1);p.insertBefore(n1,s);}}},getScroll:function(){var t,l,dde=document.documentElement,db=document.body;if(dde&&(dde.scrollTop||dde.scrollLeft)){t=dde.scrollTop;l=dde.scrollLeft;}else if(db){t=db.scrollTop;l=db.scrollLeft;}else{YAHOO.log("could not get scroll property");}
return{top:t,left:l};},getStyle:function(el,styleProp){return YAHOO.util.Dom.getStyle(el,styleProp);},getScrollTop:function(){return this.getScroll().top;},getScrollLeft:function(){return this.getScroll().left;},moveToEl:function(moveEl,targetEl){var aCoord=YAHOO.util.Dom.getXY(targetEl);YAHOO.util.Dom.setXY(moveEl,aCoord);},getClientHeight:function(){return YAHOO.util.Dom.getViewportHeight();},getClientWidth:function(){return YAHOO.util.Dom.getViewportWidth();},numericSort:function(a,b){return(a-b);},_timeoutCount:0,_addListeners:function(){var DDM=YAHOO.util.DDM;if(YAHOO.util.Event&&document){DDM._onLoad();}else{if(DDM._timeoutCount>2000){}else{setTimeout(DDM._addListeners,10);if(document&&document.body){DDM._timeoutCount+=1;}}}},handleWasClicked:function(node,id){if(this.isHandle(id,node.id)){return true;}else{var p=node.parentNode;while(p){if(this.isHandle(id,p.id)){return true;}else{p=p.parentNode;}}}
return false;}};}();YAHOO.util.DDM=YAHOO.util.DragDropMgr;YAHOO.util.DDM._addListeners();}
YAHOO.util.DD=function(id,sGroup,config){if(id){this.init(id,sGroup,config);}};YAHOO.extend(YAHOO.util.DD,YAHOO.util.DragDrop,{scroll:true,autoOffset:function(iPageX,iPageY){var x=iPageX-this.startPageX;var y=iPageY-this.startPageY;this.setDelta(x,y);},setDelta:function(iDeltaX,iDeltaY){this.deltaX=iDeltaX;this.deltaY=iDeltaY;},setDragElPos:function(iPageX,iPageY){var el=this.getDragEl();this.alignElWithMouse(el,iPageX,iPageY);},alignElWithMouse:function(el,iPageX,iPageY){var oCoord=this.getTargetCoord(iPageX,iPageY);if(!this.deltaSetXY){var aCoord=[oCoord.x,oCoord.y];YAHOO.util.Dom.setXY(el,aCoord);var newLeft=parseInt(YAHOO.util.Dom.getStyle(el,"left"),10);var newTop=parseInt(YAHOO.util.Dom.getStyle(el,"top"),10);this.deltaSetXY=[newLeft-oCoord.x,newTop-oCoord.y];}else{YAHOO.util.Dom.setStyle(el,"left",(oCoord.x+this.deltaSetXY[0])+"px");YAHOO.util.Dom.setStyle(el,"top",(oCoord.y+this.deltaSetXY[1])+"px");}
this.cachePosition(oCoord.x,oCoord.y);this.autoScroll(oCoord.x,oCoord.y,el.offsetHeight,el.offsetWidth);},cachePosition:function(iPageX,iPageY){if(iPageX){this.lastPageX=iPageX;this.lastPageY=iPageY;}else{var aCoord=YAHOO.util.Dom.getXY(this.getEl());this.lastPageX=aCoord[0];this.lastPageY=aCoord[1];}},autoScroll:function(x,y,h,w){if(this.scroll){var clientH=this.DDM.getClientHeight();var clientW=this.DDM.getClientWidth();var st=this.DDM.getScrollTop();var sl=this.DDM.getScrollLeft();var bot=h+y;var right=w+x;var toBot=(clientH+st-y-this.deltaY);var toRight=(clientW+sl-x-this.deltaX);var thresh=40;var scrAmt=(document.all)?80:30;if(bot>clientH&&toBot<thresh){window.scrollTo(sl,st+scrAmt);}
if(y<st&&st>0&&y-st<thresh){window.scrollTo(sl,st-scrAmt);}
if(right>clientW&&toRight<thresh){window.scrollTo(sl+scrAmt,st);}
if(x<sl&&sl>0&&x-sl<thresh){window.scrollTo(sl-scrAmt,st);}}},getTargetCoord:function(iPageX,iPageY){var x=iPageX-this.deltaX;var y=iPageY-this.deltaY;if(this.constrainX){if(x<this.minX){x=this.minX;}
if(x>this.maxX){x=this.maxX;}}
if(this.constrainY){if(y<this.minY){y=this.minY;}
if(y>this.maxY){y=this.maxY;}}
x=this.getTick(x,this.xTicks);y=this.getTick(y,this.yTicks);return{x:x,y:y};},applyConfig:function(){YAHOO.util.DD.superclass.applyConfig.call(this);this.scroll=(this.config.scroll!==false);},b4MouseDown:function(e){this.autoOffset(YAHOO.util.Event.getPageX(e),YAHOO.util.Event.getPageY(e));},b4Drag:function(e){this.setDragElPos(YAHOO.util.Event.getPageX(e),YAHOO.util.Event.getPageY(e));},toString:function(){return("DD "+this.id);}});YAHOO.util.DDProxy=function(id,sGroup,config){if(id){this.init(id,sGroup,config);this.initFrame();}};YAHOO.util.DDProxy.dragElId="ygddfdiv";YAHOO.extend(YAHOO.util.DDProxy,YAHOO.util.DD,{resizeFrame:true,centerFrame:false,createFrame:function(){var self=this;var body=document.body;if(!body||!body.firstChild){setTimeout(function(){self.createFrame();},50);return;}
var div=this.getDragEl();if(!div){div=document.createElement("div");div.id=this.dragElId;var s=div.style;s.position="absolute";s.visibility="hidden";s.cursor="move";s.border="2px solid #aaa";s.zIndex=999;body.insertBefore(div,body.firstChild);}},initFrame:function(){this.createFrame();},applyConfig:function(){YAHOO.util.DDProxy.superclass.applyConfig.call(this);this.resizeFrame=(this.config.resizeFrame!==false);this.centerFrame=(this.config.centerFrame);this.setDragElId(this.config.dragElId||YAHOO.util.DDProxy.dragElId);},showFrame:function(iPageX,iPageY){var el=this.getEl();var dragEl=this.getDragEl();var s=dragEl.style;this._resizeProxy();if(this.centerFrame){this.setDelta(Math.round(parseInt(s.width,10)/2),Math.round(parseInt(s.height,10)/2));}
this.setDragElPos(iPageX,iPageY);YAHOO.util.Dom.setStyle(dragEl,"visibility","visible");},_resizeProxy:function(){if(this.resizeFrame){var DOM=YAHOO.util.Dom;var el=this.getEl();var dragEl=this.getDragEl();var bt=parseInt(DOM.getStyle(dragEl,"borderTopWidth"),10);var br=parseInt(DOM.getStyle(dragEl,"borderRightWidth"),10);var bb=parseInt(DOM.getStyle(dragEl,"borderBottomWidth"),10);var bl=parseInt(DOM.getStyle(dragEl,"borderLeftWidth"),10);if(isNaN(bt)){bt=0;}
if(isNaN(br)){br=0;}
if(isNaN(bb)){bb=0;}
if(isNaN(bl)){bl=0;}
var newWidth=Math.max(0,el.offsetWidth-br-bl);var newHeight=Math.max(0,el.offsetHeight-bt-bb);DOM.setStyle(dragEl,"width",newWidth+"px");DOM.setStyle(dragEl,"height",newHeight+"px");}},b4MouseDown:function(e){var x=YAHOO.util.Event.getPageX(e);var y=YAHOO.util.Event.getPageY(e);this.autoOffset(x,y);this.setDragElPos(x,y);},b4StartDrag:function(x,y){this.showFrame(x,y);},b4EndDrag:function(e){YAHOO.util.Dom.setStyle(this.getDragEl(),"visibility","hidden");},endDrag:function(e){var DOM=YAHOO.util.Dom;var lel=this.getEl();var del=this.getDragEl();DOM.setStyle(del,"visibility","");DOM.setStyle(lel,"visibility","hidden");YAHOO.util.DDM.moveToEl(lel,del);DOM.setStyle(del,"visibility","hidden");DOM.setStyle(lel,"visibility","");},toString:function(){return("DDProxy "+this.id);}});YAHOO.util.DDTarget=function(id,sGroup,config){if(id){this.initTarget(id,sGroup,config);}};YAHOO.extend(YAHOO.util.DDTarget,YAHOO.util.DragDrop,{toString:function(){return("DDTarget "+this.id);}});



/*
Copyright (c) 2006, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 0.12.2
container-min.js
*/

YAHOO.util.Config=function(owner){if(owner){this.init(owner);}};YAHOO.util.Config.prototype={owner:null,queueInProgress:false,checkBoolean:function(val){if(typeof val=='boolean'){return true;}else{return false;}},checkNumber:function(val){if(isNaN(val)){return false;}else{return true;}}};YAHOO.util.Config.prototype.init=function(owner){this.owner=owner;this.configChangedEvent=new YAHOO.util.CustomEvent("configChanged");this.queueInProgress=false;var config={};var initialConfig={};var eventQueue=[];var fireEvent=function(key,value){key=key.toLowerCase();var property=config[key];if(typeof property!='undefined'&&property.event){property.event.fire(value);}};this.addProperty=function(key,propertyObject){key=key.toLowerCase();config[key]=propertyObject;propertyObject.event=new YAHOO.util.CustomEvent(key);propertyObject.key=key;if(propertyObject.handler){propertyObject.event.subscribe(propertyObject.handler,this.owner,true);}
this.setProperty(key,propertyObject.value,true);if(!propertyObject.suppressEvent){this.queueProperty(key,propertyObject.value);}};this.getConfig=function(){var cfg={};for(var prop in config){var property=config[prop];if(typeof property!='undefined'&&property.event){cfg[prop]=property.value;}}
return cfg;};this.getProperty=function(key){key=key.toLowerCase();var property=config[key];if(typeof property!='undefined'&&property.event){return property.value;}else{return undefined;}};this.resetProperty=function(key){key=key.toLowerCase();var property=config[key];if(typeof property!='undefined'&&property.event){if(initialConfig[key]&&initialConfig[key]!='undefined'){this.setProperty(key,initialConfig[key]);}
return true;}else{return false;}};this.setProperty=function(key,value,silent){key=key.toLowerCase();if(this.queueInProgress&&!silent){this.queueProperty(key,value);return true;}else{var property=config[key];if(typeof property!='undefined'&&property.event){if(property.validator&&!property.validator(value)){return false;}else{property.value=value;if(!silent){fireEvent(key,value);this.configChangedEvent.fire([key,value]);}
return true;}}else{return false;}}};this.queueProperty=function(key,value){key=key.toLowerCase();var property=config[key];if(typeof property!='undefined'&&property.event){if(typeof value!='undefined'&&property.validator&&!property.validator(value)){return false;}else{if(typeof value!='undefined'){property.value=value;}else{value=property.value;}
var foundDuplicate=false;for(var i=0;i<eventQueue.length;i++){var queueItem=eventQueue[i];if(queueItem){var queueItemKey=queueItem[0];var queueItemValue=queueItem[1];if(queueItemKey.toLowerCase()==key){eventQueue[i]=null;eventQueue.push([key,(typeof value!='undefined'?value:queueItemValue)]);foundDuplicate=true;break;}}}
if(!foundDuplicate&&typeof value!='undefined'){eventQueue.push([key,value]);}}
if(property.supercedes){for(var s=0;s<property.supercedes.length;s++){var supercedesCheck=property.supercedes[s];for(var q=0;q<eventQueue.length;q++){var queueItemCheck=eventQueue[q];if(queueItemCheck){var queueItemCheckKey=queueItemCheck[0];var queueItemCheckValue=queueItemCheck[1];if(queueItemCheckKey.toLowerCase()==supercedesCheck.toLowerCase()){eventQueue.push([queueItemCheckKey,queueItemCheckValue]);eventQueue[q]=null;break;}}}}}
return true;}else{return false;}};this.refireEvent=function(key){key=key.toLowerCase();var property=config[key];if(typeof property!='undefined'&&property.event&&typeof property.value!='undefined'){if(this.queueInProgress){this.queueProperty(key);}else{fireEvent(key,property.value);}}};this.applyConfig=function(userConfig,init){if(init){initialConfig=userConfig;}
for(var prop in userConfig){this.queueProperty(prop,userConfig[prop]);}};this.refresh=function(){for(var prop in config){this.refireEvent(prop);}};this.fireQueue=function(){this.queueInProgress=true;for(var i=0;i<eventQueue.length;i++){var queueItem=eventQueue[i];if(queueItem){var key=queueItem[0];var value=queueItem[1];var property=config[key];property.value=value;fireEvent(key,value);}}
this.queueInProgress=false;eventQueue=[];};this.subscribeToConfigEvent=function(key,handler,obj,override){key=key.toLowerCase();var property=config[key];if(typeof property!='undefined'&&property.event){if(!YAHOO.util.Config.alreadySubscribed(property.event,handler,obj)){property.event.subscribe(handler,obj,override);}
return true;}else{return false;}};this.unsubscribeFromConfigEvent=function(key,handler,obj){key=key.toLowerCase();var property=config[key];if(typeof property!='undefined'&&property.event){return property.event.unsubscribe(handler,obj);}else{return false;}};this.toString=function(){var output="Config";if(this.owner){output+=" ["+this.owner.toString()+"]";}
return output;};this.outputEventQueue=function(){var output="";for(var q=0;q<eventQueue.length;q++){var queueItem=eventQueue[q];if(queueItem){output+=queueItem[0]+"="+queueItem[1]+", ";}}
return output;};};YAHOO.util.Config.alreadySubscribed=function(evt,fn,obj){for(var e=0;e<evt.subscribers.length;e++){var subsc=evt.subscribers[e];if(subsc&&subsc.obj==obj&&subsc.fn==fn){return true;}}
return false;};YAHOO.widget.Module=function(el,userConfig){if(el){this.init(el,userConfig);}};YAHOO.widget.Module.IMG_ROOT="http://us.i1.yimg.com/us.yimg.com/i/";YAHOO.widget.Module.IMG_ROOT_SSL="https://a248.e.akamai.net/sec.yimg.com/i/";YAHOO.widget.Module.CSS_MODULE="module";YAHOO.widget.Module.CSS_HEADER="hd";YAHOO.widget.Module.CSS_BODY="bd";YAHOO.widget.Module.CSS_FOOTER="ft";YAHOO.widget.Module.RESIZE_MONITOR_SECURE_URL="javascript:false;";YAHOO.widget.Module.textResizeEvent=new YAHOO.util.CustomEvent("textResize");YAHOO.widget.Module.prototype={constructor:YAHOO.widget.Module,element:null,header:null,body:null,footer:null,id:null,imageRoot:YAHOO.widget.Module.IMG_ROOT,initEvents:function(){this.beforeInitEvent=new YAHOO.util.CustomEvent("beforeInit");this.initEvent=new YAHOO.util.CustomEvent("init");this.appendEvent=new YAHOO.util.CustomEvent("append");this.beforeRenderEvent=new YAHOO.util.CustomEvent("beforeRender");this.renderEvent=new YAHOO.util.CustomEvent("render");this.changeHeaderEvent=new YAHOO.util.CustomEvent("changeHeader");this.changeBodyEvent=new YAHOO.util.CustomEvent("changeBody");this.changeFooterEvent=new YAHOO.util.CustomEvent("changeFooter");this.changeContentEvent=new YAHOO.util.CustomEvent("changeContent");this.destroyEvent=new YAHOO.util.CustomEvent("destroy");this.beforeShowEvent=new YAHOO.util.CustomEvent("beforeShow");this.showEvent=new YAHOO.util.CustomEvent("show");this.beforeHideEvent=new YAHOO.util.CustomEvent("beforeHide");this.hideEvent=new YAHOO.util.CustomEvent("hide");},platform:function(){var ua=navigator.userAgent.toLowerCase();if(ua.indexOf("windows")!=-1||ua.indexOf("win32")!=-1){return"windows";}else if(ua.indexOf("macintosh")!=-1){return"mac";}else{return false;}}(),browser:function(){var ua=navigator.userAgent.toLowerCase();if(ua.indexOf('opera')!=-1){return'opera';}else if(ua.indexOf('msie 7')!=-1){return'ie7';}else if(ua.indexOf('msie')!=-1){return'ie';}else if(ua.indexOf('safari')!=-1){return'safari';}else if(ua.indexOf('gecko')!=-1){return'gecko';}else{return false;}}(),isSecure:function(){if(window.location.href.toLowerCase().indexOf("https")===0){return true;}else{return false;}}(),initDefaultConfig:function(){this.cfg.addProperty("visible",{value:true,handler:this.configVisible,validator:this.cfg.checkBoolean});this.cfg.addProperty("effect",{suppressEvent:true,supercedes:["visible"]});this.cfg.addProperty("monitorresize",{value:true,handler:this.configMonitorResize});},init:function(el,userConfig){this.initEvents();this.beforeInitEvent.fire(YAHOO.widget.Module);this.cfg=new YAHOO.util.Config(this);if(this.isSecure){this.imageRoot=YAHOO.widget.Module.IMG_ROOT_SSL;}
if(typeof el=="string"){var elId=el;el=document.getElementById(el);if(!el){el=document.createElement("DIV");el.id=elId;}}
this.element=el;if(el.id){this.id=el.id;}
var childNodes=this.element.childNodes;if(childNodes){for(var i=0;i<childNodes.length;i++){var child=childNodes[i];switch(child.className){case YAHOO.widget.Module.CSS_HEADER:this.header=child;break;case YAHOO.widget.Module.CSS_BODY:this.body=child;break;case YAHOO.widget.Module.CSS_FOOTER:this.footer=child;break;}}}
this.initDefaultConfig();YAHOO.util.Dom.addClass(this.element,YAHOO.widget.Module.CSS_MODULE);if(userConfig){this.cfg.applyConfig(userConfig,true);}
if(!YAHOO.util.Config.alreadySubscribed(this.renderEvent,this.cfg.fireQueue,this.cfg)){this.renderEvent.subscribe(this.cfg.fireQueue,this.cfg,true);}
this.initEvent.fire(YAHOO.widget.Module);},initResizeMonitor:function(){if(this.browser!="opera"){var resizeMonitor=document.getElementById("_yuiResizeMonitor");if(!resizeMonitor){resizeMonitor=document.createElement("iframe");var bIE=(this.browser.indexOf("ie")===0);if(this.isSecure&&YAHOO.widget.Module.RESIZE_MONITOR_SECURE_URL&&bIE){resizeMonitor.src=YAHOO.widget.Module.RESIZE_MONITOR_SECURE_URL;}
resizeMonitor.id="_yuiResizeMonitor";resizeMonitor.style.visibility="hidden";document.body.appendChild(resizeMonitor);resizeMonitor.style.width="10em";resizeMonitor.style.height="10em";resizeMonitor.style.position="absolute";var nLeft=-1*resizeMonitor.offsetWidth,nTop=-1*resizeMonitor.offsetHeight;resizeMonitor.style.top=nTop+"px";resizeMonitor.style.left=nLeft+"px";resizeMonitor.style.borderStyle="none";resizeMonitor.style.borderWidth="0";YAHOO.util.Dom.setStyle(resizeMonitor,"opacity","0");resizeMonitor.style.visibility="visible";if(!bIE){var doc=resizeMonitor.contentWindow.document;doc.open();doc.close();}}
var fireTextResize=function(){YAHOO.widget.Module.textResizeEvent.fire();};if(resizeMonitor&&resizeMonitor.contentWindow){this.resizeMonitor=resizeMonitor;YAHOO.widget.Module.textResizeEvent.subscribe(this.onDomResize,this,true);if(!YAHOO.widget.Module.textResizeInitialized){if(!YAHOO.util.Event.addListener(this.resizeMonitor.contentWindow,"resize",fireTextResize)){YAHOO.util.Event.addListener(this.resizeMonitor,"resize",fireTextResize);}
YAHOO.widget.Module.textResizeInitialized=true;}}}},onDomResize:function(e,obj){var nLeft=-1*this.resizeMonitor.offsetWidth,nTop=-1*this.resizeMonitor.offsetHeight;this.resizeMonitor.style.top=nTop+"px";this.resizeMonitor.style.left=nLeft+"px";},setHeader:function(headerContent){if(!this.header){this.header=document.createElement("DIV");this.header.className=YAHOO.widget.Module.CSS_HEADER;}
if(typeof headerContent=="string"){this.header.innerHTML=headerContent;}else{this.header.innerHTML="";this.header.appendChild(headerContent);}
this.changeHeaderEvent.fire(headerContent);this.changeContentEvent.fire();},appendToHeader:function(element){if(!this.header){this.header=document.createElement("DIV");this.header.className=YAHOO.widget.Module.CSS_HEADER;}
this.header.appendChild(element);this.changeHeaderEvent.fire(element);this.changeContentEvent.fire();},setBody:function(bodyContent){if(!this.body){this.body=document.createElement("DIV");this.body.className=YAHOO.widget.Module.CSS_BODY;}
if(typeof bodyContent=="string")
{this.body.innerHTML=bodyContent;}else{this.body.innerHTML="";this.body.appendChild(bodyContent);}
this.changeBodyEvent.fire(bodyContent);this.changeContentEvent.fire();},appendToBody:function(element){if(!this.body){this.body=document.createElement("DIV");this.body.className=YAHOO.widget.Module.CSS_BODY;}
this.body.appendChild(element);this.changeBodyEvent.fire(element);this.changeContentEvent.fire();},setFooter:function(footerContent){if(!this.footer){this.footer=document.createElement("DIV");this.footer.className=YAHOO.widget.Module.CSS_FOOTER;}
if(typeof footerContent=="string"){this.footer.innerHTML=footerContent;}else{this.footer.innerHTML="";this.footer.appendChild(footerContent);}
this.changeFooterEvent.fire(footerContent);this.changeContentEvent.fire();},appendToFooter:function(element){if(!this.footer){this.footer=document.createElement("DIV");this.footer.className=YAHOO.widget.Module.CSS_FOOTER;}
this.footer.appendChild(element);this.changeFooterEvent.fire(element);this.changeContentEvent.fire();},render:function(appendToNode,moduleElement){this.beforeRenderEvent.fire();if(!moduleElement){moduleElement=this.element;}
var me=this;var appendTo=function(element){if(typeof element=="string"){element=document.getElementById(element);}
if(element){element.appendChild(me.element);me.appendEvent.fire();}};if(appendToNode){appendTo(appendToNode);}else{if(!YAHOO.util.Dom.inDocument(this.element)){return false;}}
if(this.header&&!YAHOO.util.Dom.inDocument(this.header)){var firstChild=moduleElement.firstChild;if(firstChild){moduleElement.insertBefore(this.header,firstChild);}else{moduleElement.appendChild(this.header);}}
if(this.body&&!YAHOO.util.Dom.inDocument(this.body)){if(this.footer&&YAHOO.util.Dom.isAncestor(this.moduleElement,this.footer)){moduleElement.insertBefore(this.body,this.footer);}else{moduleElement.appendChild(this.body);}}
if(this.footer&&!YAHOO.util.Dom.inDocument(this.footer)){moduleElement.appendChild(this.footer);}
this.renderEvent.fire();return true;},destroy:function(){var parent;if(this.element){YAHOO.util.Event.purgeElement(this.element,true);parent=this.element.parentNode;}
if(parent){parent.removeChild(this.element);}
this.element=null;this.header=null;this.body=null;this.footer=null;for(var e in this){if(e instanceof YAHOO.util.CustomEvent){e.unsubscribeAll();}}
YAHOO.widget.Module.textResizeEvent.unsubscribe(this.onDomResize,this);this.destroyEvent.fire();},show:function(){this.cfg.setProperty("visible",true);},hide:function(){this.cfg.setProperty("visible",false);},configVisible:function(type,args,obj){var visible=args[0];if(visible){this.beforeShowEvent.fire();YAHOO.util.Dom.setStyle(this.element,"display","block");this.showEvent.fire();}else{this.beforeHideEvent.fire();YAHOO.util.Dom.setStyle(this.element,"display","none");this.hideEvent.fire();}},configMonitorResize:function(type,args,obj){var monitor=args[0];if(monitor){this.initResizeMonitor();}else{YAHOO.widget.Module.textResizeEvent.unsubscribe(this.onDomResize,this,true);this.resizeMonitor=null;}}};YAHOO.widget.Module.prototype.toString=function(){return"Module "+this.id;};YAHOO.widget.Overlay=function(el,userConfig){YAHOO.widget.Overlay.superclass.constructor.call(this,el,userConfig);};YAHOO.extend(YAHOO.widget.Overlay,YAHOO.widget.Module);YAHOO.widget.Overlay.IFRAME_SRC="javascript:false;";YAHOO.widget.Overlay.TOP_LEFT="tl";YAHOO.widget.Overlay.TOP_RIGHT="tr";YAHOO.widget.Overlay.BOTTOM_LEFT="bl";YAHOO.widget.Overlay.BOTTOM_RIGHT="br";YAHOO.widget.Overlay.CSS_OVERLAY="overlay";YAHOO.widget.Overlay.prototype.init=function(el,userConfig){YAHOO.widget.Overlay.superclass.init.call(this,el);this.beforeInitEvent.fire(YAHOO.widget.Overlay);YAHOO.util.Dom.addClass(this.element,YAHOO.widget.Overlay.CSS_OVERLAY);if(userConfig){this.cfg.applyConfig(userConfig,true);}
if(this.platform=="mac"&&this.browser=="gecko"){if(!YAHOO.util.Config.alreadySubscribed(this.showEvent,this.showMacGeckoScrollbars,this)){this.showEvent.subscribe(this.showMacGeckoScrollbars,this,true);}
if(!YAHOO.util.Config.alreadySubscribed(this.hideEvent,this.hideMacGeckoScrollbars,this)){this.hideEvent.subscribe(this.hideMacGeckoScrollbars,this,true);}}
this.initEvent.fire(YAHOO.widget.Overlay);};YAHOO.widget.Overlay.prototype.initEvents=function(){YAHOO.widget.Overlay.superclass.initEvents.call(this);this.beforeMoveEvent=new YAHOO.util.CustomEvent("beforeMove",this);this.moveEvent=new YAHOO.util.CustomEvent("move",this);};YAHOO.widget.Overlay.prototype.initDefaultConfig=function(){YAHOO.widget.Overlay.superclass.initDefaultConfig.call(this);this.cfg.addProperty("x",{handler:this.configX,validator:this.cfg.checkNumber,suppressEvent:true,supercedes:["iframe"]});this.cfg.addProperty("y",{handler:this.configY,validator:this.cfg.checkNumber,suppressEvent:true,supercedes:["iframe"]});this.cfg.addProperty("xy",{handler:this.configXY,suppressEvent:true,supercedes:["iframe"]});this.cfg.addProperty("context",{handler:this.configContext,suppressEvent:true,supercedes:["iframe"]});this.cfg.addProperty("fixedcenter",{value:false,handler:this.configFixedCenter,validator:this.cfg.checkBoolean,supercedes:["iframe","visible"]});this.cfg.addProperty("width",{handler:this.configWidth,suppressEvent:true,supercedes:["iframe"]});this.cfg.addProperty("height",{handler:this.configHeight,suppressEvent:true,supercedes:["iframe"]});this.cfg.addProperty("zIndex",{value:null,handler:this.configzIndex});this.cfg.addProperty("constraintoviewport",{value:false,handler:this.configConstrainToViewport,validator:this.cfg.checkBoolean,supercedes:["iframe","x","y","xy"]});this.cfg.addProperty("iframe",{value:(this.browser=="ie"?true:false),handler:this.configIframe,validator:this.cfg.checkBoolean,supercedes:["zIndex"]});};YAHOO.widget.Overlay.prototype.moveTo=function(x,y){this.cfg.setProperty("xy",[x,y]);};YAHOO.widget.Overlay.prototype.hideMacGeckoScrollbars=function(){YAHOO.util.Dom.removeClass(this.element,"show-scrollbars");YAHOO.util.Dom.addClass(this.element,"hide-scrollbars");};YAHOO.widget.Overlay.prototype.showMacGeckoScrollbars=function(){YAHOO.util.Dom.removeClass(this.element,"hide-scrollbars");YAHOO.util.Dom.addClass(this.element,"show-scrollbars");};YAHOO.widget.Overlay.prototype.configVisible=function(type,args,obj){var visible=args[0];var currentVis=YAHOO.util.Dom.getStyle(this.element,"visibility");if(currentVis=="inherit"){var e=this.element.parentNode;while(e.nodeType!=9&&e.nodeType!=11){currentVis=YAHOO.util.Dom.getStyle(e,"visibility");if(currentVis!="inherit"){break;}
e=e.parentNode;}
if(currentVis=="inherit"){currentVis="visible";}}
var effect=this.cfg.getProperty("effect");var effectInstances=[];if(effect){if(effect instanceof Array){for(var i=0;i<effect.length;i++){var eff=effect[i];effectInstances[effectInstances.length]=eff.effect(this,eff.duration);}}else{effectInstances[effectInstances.length]=effect.effect(this,effect.duration);}}
var isMacGecko=(this.platform=="mac"&&this.browser=="gecko");if(visible){if(isMacGecko){this.showMacGeckoScrollbars();}
if(effect){if(visible){if(currentVis!="visible"||currentVis===""){this.beforeShowEvent.fire();for(var j=0;j<effectInstances.length;j++){var ei=effectInstances[j];if(j===0&&!YAHOO.util.Config.alreadySubscribed(ei.animateInCompleteEvent,this.showEvent.fire,this.showEvent)){ei.animateInCompleteEvent.subscribe(this.showEvent.fire,this.showEvent,true);}
ei.animateIn();}}}}else{if(currentVis!="visible"||currentVis===""){this.beforeShowEvent.fire();YAHOO.util.Dom.setStyle(this.element,"visibility","visible");this.cfg.refireEvent("iframe");this.showEvent.fire();}}}else{if(isMacGecko){this.hideMacGeckoScrollbars();}
if(effect){if(currentVis=="visible"){this.beforeHideEvent.fire();for(var k=0;k<effectInstances.length;k++){var h=effectInstances[k];if(k===0&&!YAHOO.util.Config.alreadySubscribed(h.animateOutCompleteEvent,this.hideEvent.fire,this.hideEvent)){h.animateOutCompleteEvent.subscribe(this.hideEvent.fire,this.hideEvent,true);}
h.animateOut();}}else if(currentVis===""){YAHOO.util.Dom.setStyle(this.element,"visibility","hidden");}}else{if(currentVis=="visible"||currentVis===""){this.beforeHideEvent.fire();YAHOO.util.Dom.setStyle(this.element,"visibility","hidden");this.cfg.refireEvent("iframe");this.hideEvent.fire();}}}};YAHOO.widget.Overlay.prototype.doCenterOnDOMEvent=function(){if(this.cfg.getProperty("visible")){this.center();}};YAHOO.widget.Overlay.prototype.configFixedCenter=function(type,args,obj){var val=args[0];if(val){this.center();if(!YAHOO.util.Config.alreadySubscribed(this.beforeShowEvent,this.center,this)){this.beforeShowEvent.subscribe(this.center,this,true);}
if(!YAHOO.util.Config.alreadySubscribed(YAHOO.widget.Overlay.windowResizeEvent,this.doCenterOnDOMEvent,this)){YAHOO.widget.Overlay.windowResizeEvent.subscribe(this.doCenterOnDOMEvent,this,true);}
if(!YAHOO.util.Config.alreadySubscribed(YAHOO.widget.Overlay.windowScrollEvent,this.doCenterOnDOMEvent,this)){YAHOO.widget.Overlay.windowScrollEvent.subscribe(this.doCenterOnDOMEvent,this,true);}}else{YAHOO.widget.Overlay.windowResizeEvent.unsubscribe(this.doCenterOnDOMEvent,this);YAHOO.widget.Overlay.windowScrollEvent.unsubscribe(this.doCenterOnDOMEvent,this);}};YAHOO.widget.Overlay.prototype.configHeight=function(type,args,obj){var height=args[0];var el=this.element;YAHOO.util.Dom.setStyle(el,"height",height);this.cfg.refireEvent("iframe");};YAHOO.widget.Overlay.prototype.configWidth=function(type,args,obj){var width=args[0];var el=this.element;YAHOO.util.Dom.setStyle(el,"width",width);this.cfg.refireEvent("iframe");};YAHOO.widget.Overlay.prototype.configzIndex=function(type,args,obj){var zIndex=args[0];var el=this.element;if(!zIndex){zIndex=YAHOO.util.Dom.getStyle(el,"zIndex");if(!zIndex||isNaN(zIndex)){zIndex=0;}}
if(this.iframe){if(zIndex<=0){zIndex=1;}
YAHOO.util.Dom.setStyle(this.iframe,"zIndex",(zIndex-1));}
YAHOO.util.Dom.setStyle(el,"zIndex",zIndex);this.cfg.setProperty("zIndex",zIndex,true);};YAHOO.widget.Overlay.prototype.configXY=function(type,args,obj){var pos=args[0];var x=pos[0];var y=pos[1];this.cfg.setProperty("x",x);this.cfg.setProperty("y",y);this.beforeMoveEvent.fire([x,y]);x=this.cfg.getProperty("x");y=this.cfg.getProperty("y");this.cfg.refireEvent("iframe");this.moveEvent.fire([x,y]);};YAHOO.widget.Overlay.prototype.configX=function(type,args,obj){var x=args[0];var y=this.cfg.getProperty("y");this.cfg.setProperty("x",x,true);this.cfg.setProperty("y",y,true);this.beforeMoveEvent.fire([x,y]);x=this.cfg.getProperty("x");y=this.cfg.getProperty("y");YAHOO.util.Dom.setX(this.element,x,true);this.cfg.setProperty("xy",[x,y],true);this.cfg.refireEvent("iframe");this.moveEvent.fire([x,y]);};YAHOO.widget.Overlay.prototype.configY=function(type,args,obj){var x=this.cfg.getProperty("x");var y=args[0];this.cfg.setProperty("x",x,true);this.cfg.setProperty("y",y,true);this.beforeMoveEvent.fire([x,y]);x=this.cfg.getProperty("x");y=this.cfg.getProperty("y");YAHOO.util.Dom.setY(this.element,y,true);this.cfg.setProperty("xy",[x,y],true);this.cfg.refireEvent("iframe");this.moveEvent.fire([x,y]);};YAHOO.widget.Overlay.prototype.showIframe=function(){if(this.iframe){this.iframe.style.display="block";}};YAHOO.widget.Overlay.prototype.hideIframe=function(){if(this.iframe){this.iframe.style.display="none";}};YAHOO.widget.Overlay.prototype.configIframe=function(type,args,obj){var val=args[0];if(val){if(!YAHOO.util.Config.alreadySubscribed(this.showEvent,this.showIframe,this)){this.showEvent.subscribe(this.showIframe,this,true);}
if(!YAHOO.util.Config.alreadySubscribed(this.hideEvent,this.hideIframe,this)){this.hideEvent.subscribe(this.hideIframe,this,true);}
var x=this.cfg.getProperty("x");var y=this.cfg.getProperty("y");if(!x||!y){this.syncPosition();x=this.cfg.getProperty("x");y=this.cfg.getProperty("y");}
if(!isNaN(x)&&!isNaN(y)){if(!this.iframe){this.iframe=document.createElement("iframe");if(this.isSecure){this.iframe.src=YAHOO.widget.Overlay.IFRAME_SRC;}
var parent=this.element.parentNode;if(parent){parent.appendChild(this.iframe);}else{document.body.appendChild(this.iframe);}
YAHOO.util.Dom.setStyle(this.iframe,"position","absolute");YAHOO.util.Dom.setStyle(this.iframe,"border","none");YAHOO.util.Dom.setStyle(this.iframe,"margin","0");YAHOO.util.Dom.setStyle(this.iframe,"padding","0");YAHOO.util.Dom.setStyle(this.iframe,"opacity","0");if(this.cfg.getProperty("visible")){this.showIframe();}else{this.hideIframe();}}
var iframeDisplay=YAHOO.util.Dom.getStyle(this.iframe,"display");if(iframeDisplay=="none"){this.iframe.style.display="block";}
YAHOO.util.Dom.setXY(this.iframe,[x,y]);var width=this.element.clientWidth;var height=this.element.clientHeight;YAHOO.util.Dom.setStyle(this.iframe,"width",(width+2)+"px");YAHOO.util.Dom.setStyle(this.iframe,"height",(height+2)+"px");if(iframeDisplay=="none"){this.iframe.style.display="none";}}}else{if(this.iframe){this.iframe.style.display="none";}
this.showEvent.unsubscribe(this.showIframe,this);this.hideEvent.unsubscribe(this.hideIframe,this);}};YAHOO.widget.Overlay.prototype.configConstrainToViewport=function(type,args,obj){var val=args[0];if(val){if(!YAHOO.util.Config.alreadySubscribed(this.beforeMoveEvent,this.enforceConstraints,this)){this.beforeMoveEvent.subscribe(this.enforceConstraints,this,true);}}else{this.beforeMoveEvent.unsubscribe(this.enforceConstraints,this);}};YAHOO.widget.Overlay.prototype.configContext=function(type,args,obj){var contextArgs=args[0];if(contextArgs){var contextEl=contextArgs[0];var elementMagnetCorner=contextArgs[1];var contextMagnetCorner=contextArgs[2];if(contextEl){if(typeof contextEl=="string"){this.cfg.setProperty("context",[document.getElementById(contextEl),elementMagnetCorner,contextMagnetCorner],true);}
if(elementMagnetCorner&&contextMagnetCorner){this.align(elementMagnetCorner,contextMagnetCorner);}}}};YAHOO.widget.Overlay.prototype.align=function(elementAlign,contextAlign){var contextArgs=this.cfg.getProperty("context");if(contextArgs){var context=contextArgs[0];var element=this.element;var me=this;if(!elementAlign){elementAlign=contextArgs[1];}
if(!contextAlign){contextAlign=contextArgs[2];}
if(element&&context){var elementRegion=YAHOO.util.Dom.getRegion(element);var contextRegion=YAHOO.util.Dom.getRegion(context);var doAlign=function(v,h){switch(elementAlign){case YAHOO.widget.Overlay.TOP_LEFT:me.moveTo(h,v);break;case YAHOO.widget.Overlay.TOP_RIGHT:me.moveTo(h-element.offsetWidth,v);break;case YAHOO.widget.Overlay.BOTTOM_LEFT:me.moveTo(h,v-element.offsetHeight);break;case YAHOO.widget.Overlay.BOTTOM_RIGHT:me.moveTo(h-element.offsetWidth,v-element.offsetHeight);break;}};switch(contextAlign){case YAHOO.widget.Overlay.TOP_LEFT:doAlign(contextRegion.top,contextRegion.left);break;case YAHOO.widget.Overlay.TOP_RIGHT:doAlign(contextRegion.top,contextRegion.right);break;case YAHOO.widget.Overlay.BOTTOM_LEFT:doAlign(contextRegion.bottom,contextRegion.left);break;case YAHOO.widget.Overlay.BOTTOM_RIGHT:doAlign(contextRegion.bottom,contextRegion.right);break;}}}};YAHOO.widget.Overlay.prototype.enforceConstraints=function(type,args,obj){var pos=args[0];var x=pos[0];var y=pos[1];var offsetHeight=this.element.offsetHeight;var offsetWidth=this.element.offsetWidth;var viewPortWidth=YAHOO.util.Dom.getViewportWidth();var viewPortHeight=YAHOO.util.Dom.getViewportHeight();var scrollX=document.documentElement.scrollLeft||document.body.scrollLeft;var scrollY=document.documentElement.scrollTop||document.body.scrollTop;var topConstraint=scrollY+10;var leftConstraint=scrollX+10;var bottomConstraint=scrollY+viewPortHeight-offsetHeight-10;var rightConstraint=scrollX+viewPortWidth-offsetWidth-10;if(x<leftConstraint){x=leftConstraint;}else if(x>rightConstraint){x=rightConstraint;}
if(y<topConstraint){y=topConstraint;}else if(y>bottomConstraint){y=bottomConstraint;}
this.cfg.setProperty("x",x,true);this.cfg.setProperty("y",y,true);this.cfg.setProperty("xy",[x,y],true);};YAHOO.widget.Overlay.prototype.center=function(){var scrollX=document.documentElement.scrollLeft||document.body.scrollLeft;var scrollY=document.documentElement.scrollTop||document.body.scrollTop;var viewPortWidth=YAHOO.util.Dom.getClientWidth();var viewPortHeight=YAHOO.util.Dom.getClientHeight();var elementWidth=this.element.offsetWidth;var elementHeight=this.element.offsetHeight;var x=(viewPortWidth/2)-(elementWidth/2)+scrollX;var y=(viewPortHeight/2)-(elementHeight/2)+scrollY;this.cfg.setProperty("xy",[parseInt(x,10),parseInt(y,10)]);this.cfg.refireEvent("iframe");};YAHOO.widget.Overlay.prototype.syncPosition=function(){var pos=YAHOO.util.Dom.getXY(this.element);this.cfg.setProperty("x",pos[0],true);this.cfg.setProperty("y",pos[1],true);this.cfg.setProperty("xy",pos,true);};YAHOO.widget.Overlay.prototype.onDomResize=function(e,obj){YAHOO.widget.Overlay.superclass.onDomResize.call(this,e,obj);var me=this;setTimeout(function(){me.syncPosition();me.cfg.refireEvent("iframe");me.cfg.refireEvent("context");},0);};YAHOO.widget.Overlay.prototype.destroy=function(){if(this.iframe){this.iframe.parentNode.removeChild(this.iframe);}
this.iframe=null;YAHOO.widget.Overlay.windowResizeEvent.unsubscribe(this.doCenterOnDOMEvent,this);YAHOO.widget.Overlay.windowScrollEvent.unsubscribe(this.doCenterOnDOMEvent,this);YAHOO.widget.Overlay.superclass.destroy.call(this);};YAHOO.widget.Overlay.prototype.toString=function(){return"Overlay "+this.id;};YAHOO.widget.Overlay.windowScrollEvent=new YAHOO.util.CustomEvent("windowScroll");YAHOO.widget.Overlay.windowResizeEvent=new YAHOO.util.CustomEvent("windowResize");YAHOO.widget.Overlay.windowScrollHandler=function(e){if(YAHOO.widget.Module.prototype.browser=="ie"||YAHOO.widget.Module.prototype.browser=="ie7"){if(!window.scrollEnd){window.scrollEnd=-1;}
clearTimeout(window.scrollEnd);window.scrollEnd=setTimeout(function(){YAHOO.widget.Overlay.windowScrollEvent.fire();},1);}else{YAHOO.widget.Overlay.windowScrollEvent.fire();}};YAHOO.widget.Overlay.windowResizeHandler=function(e){if(YAHOO.widget.Module.prototype.browser=="ie"||YAHOO.widget.Module.prototype.browser=="ie7"){if(!window.resizeEnd){window.resizeEnd=-1;}
clearTimeout(window.resizeEnd);window.resizeEnd=setTimeout(function(){YAHOO.widget.Overlay.windowResizeEvent.fire();},100);}else{YAHOO.widget.Overlay.windowResizeEvent.fire();}};YAHOO.widget.Overlay._initialized=null;if(YAHOO.widget.Overlay._initialized===null){YAHOO.util.Event.addListener(window,"scroll",YAHOO.widget.Overlay.windowScrollHandler);YAHOO.util.Event.addListener(window,"resize",YAHOO.widget.Overlay.windowResizeHandler);YAHOO.widget.Overlay._initialized=true;}
YAHOO.widget.OverlayManager=function(userConfig){this.init(userConfig);};YAHOO.widget.OverlayManager.CSS_FOCUSED="focused";YAHOO.widget.OverlayManager.prototype={constructor:YAHOO.widget.OverlayManager,overlays:null,initDefaultConfig:function(){this.cfg.addProperty("overlays",{suppressEvent:true});this.cfg.addProperty("focusevent",{value:"mousedown"});},init:function(userConfig){this.cfg=new YAHOO.util.Config(this);this.initDefaultConfig();if(userConfig){this.cfg.applyConfig(userConfig,true);}
this.cfg.fireQueue();var activeOverlay=null;this.getActive=function(){return activeOverlay;};this.focus=function(overlay){var o=this.find(overlay);if(o){this.blurAll();activeOverlay=o;YAHOO.util.Dom.addClass(activeOverlay.element,YAHOO.widget.OverlayManager.CSS_FOCUSED);this.overlays.sort(this.compareZIndexDesc);var topZIndex=YAHOO.util.Dom.getStyle(this.overlays[0].element,"zIndex");if(!isNaN(topZIndex)&&this.overlays[0]!=overlay){activeOverlay.cfg.setProperty("zIndex",(parseInt(topZIndex,10)+2));}
this.overlays.sort(this.compareZIndexDesc);}};this.remove=function(overlay){var o=this.find(overlay);if(o){var originalZ=YAHOO.util.Dom.getStyle(o.element,"zIndex");o.cfg.setProperty("zIndex",-1000,true);this.overlays.sort(this.compareZIndexDesc);this.overlays=this.overlays.slice(0,this.overlays.length-1);o.cfg.setProperty("zIndex",originalZ,true);o.cfg.setProperty("manager",null);o.focusEvent=null;o.blurEvent=null;o.focus=null;o.blur=null;}};this.blurAll=function(){activeOverlay=null;for(var o=0;o<this.overlays.length;o++){YAHOO.util.Dom.removeClass(this.overlays[o].element,YAHOO.widget.OverlayManager.CSS_FOCUSED);}};var overlays=this.cfg.getProperty("overlays");if(!this.overlays){this.overlays=[];}
if(overlays){this.register(overlays);this.overlays.sort(this.compareZIndexDesc);}},register:function(overlay){if(overlay instanceof YAHOO.widget.Overlay){overlay.cfg.addProperty("manager",{value:this});overlay.focusEvent=new YAHOO.util.CustomEvent("focus");overlay.blurEvent=new YAHOO.util.CustomEvent("blur");var mgr=this;overlay.focus=function(){mgr.focus(this);this.focusEvent.fire();};overlay.blur=function(){mgr.blurAll();this.blurEvent.fire();};var focusOnDomEvent=function(e,obj){overlay.focus();};var focusevent=this.cfg.getProperty("focusevent");YAHOO.util.Event.addListener(overlay.element,focusevent,focusOnDomEvent,this,true);var zIndex=YAHOO.util.Dom.getStyle(overlay.element,"zIndex");if(!isNaN(zIndex)){overlay.cfg.setProperty("zIndex",parseInt(zIndex,10));}else{overlay.cfg.setProperty("zIndex",0);}
this.overlays.push(overlay);return true;}else if(overlay instanceof Array){var regcount=0;for(var i=0;i<overlay.length;i++){if(this.register(overlay[i])){regcount++;}}
if(regcount>0){return true;}}else{return false;}},find:function(overlay){if(overlay instanceof YAHOO.widget.Overlay){for(var o=0;o<this.overlays.length;o++){if(this.overlays[o]==overlay){return this.overlays[o];}}}else if(typeof overlay=="string"){for(var p=0;p<this.overlays.length;p++){if(this.overlays[p].id==overlay){return this.overlays[p];}}}
return null;},compareZIndexDesc:function(o1,o2){var zIndex1=o1.cfg.getProperty("zIndex");var zIndex2=o2.cfg.getProperty("zIndex");if(zIndex1>zIndex2){return-1;}else if(zIndex1<zIndex2){return 1;}else{return 0;}},showAll:function(){for(var o=0;o<this.overlays.length;o++){this.overlays[o].show();}},hideAll:function(){for(var o=0;o<this.overlays.length;o++){this.overlays[o].hide();}},toString:function(){return"OverlayManager";}};YAHOO.util.KeyListener=function(attachTo,keyData,handler,event){if(!event){event=YAHOO.util.KeyListener.KEYDOWN;}
var keyEvent=new YAHOO.util.CustomEvent("keyPressed");this.enabledEvent=new YAHOO.util.CustomEvent("enabled");this.disabledEvent=new YAHOO.util.CustomEvent("disabled");if(typeof attachTo=='string'){attachTo=document.getElementById(attachTo);}
if(typeof handler=='function'){keyEvent.subscribe(handler);}else{keyEvent.subscribe(handler.fn,handler.scope,handler.correctScope);}
function handleKeyPress(e,obj){if(!keyData.shift){keyData.shift=false;}
if(!keyData.alt){keyData.alt=false;}
if(!keyData.ctrl){keyData.ctrl=false;}
if(e.shiftKey==keyData.shift&&e.altKey==keyData.alt&&e.ctrlKey==keyData.ctrl){var dataItem;var keyPressed;if(keyData.keys instanceof Array){for(var i=0;i<keyData.keys.length;i++){dataItem=keyData.keys[i];if(dataItem==e.charCode){keyEvent.fire(e.charCode,e);break;}else if(dataItem==e.keyCode){keyEvent.fire(e.keyCode,e);break;}}}else{dataItem=keyData.keys;if(dataItem==e.charCode){keyEvent.fire(e.charCode,e);}else if(dataItem==e.keyCode){keyEvent.fire(e.keyCode,e);}}}}
this.enable=function(){if(!this.enabled){YAHOO.util.Event.addListener(attachTo,event,handleKeyPress);this.enabledEvent.fire(keyData);}
this.enabled=true;};this.disable=function(){if(this.enabled){YAHOO.util.Event.removeListener(attachTo,event,handleKeyPress);this.disabledEvent.fire(keyData);}
this.enabled=false;};this.toString=function(){return"KeyListener ["+keyData.keys+"] "+attachTo.tagName+(attachTo.id?"["+attachTo.id+"]":"");};};YAHOO.util.KeyListener.KEYDOWN="keydown";YAHOO.util.KeyListener.KEYUP="keyup";YAHOO.widget.Tooltip=function(el,userConfig){YAHOO.widget.Tooltip.superclass.constructor.call(this,el,userConfig);};YAHOO.extend(YAHOO.widget.Tooltip,YAHOO.widget.Overlay);YAHOO.widget.Tooltip.CSS_TOOLTIP="tt";YAHOO.widget.Tooltip.prototype.init=function(el,userConfig){if(document.readyState&&document.readyState!="complete"){var deferredInit=function(){this.init(el,userConfig);};YAHOO.util.Event.addListener(window,"load",deferredInit,this,true);}else{YAHOO.widget.Tooltip.superclass.init.call(this,el);this.beforeInitEvent.fire(YAHOO.widget.Tooltip);YAHOO.util.Dom.addClass(this.element,YAHOO.widget.Tooltip.CSS_TOOLTIP);if(userConfig){this.cfg.applyConfig(userConfig,true);}
this.cfg.queueProperty("visible",false);this.cfg.queueProperty("constraintoviewport",true);this.setBody("");this.render(this.cfg.getProperty("container"));this.initEvent.fire(YAHOO.widget.Tooltip);}};YAHOO.widget.Tooltip.prototype.initDefaultConfig=function(){YAHOO.widget.Tooltip.superclass.initDefaultConfig.call(this);this.cfg.addProperty("preventoverlap",{value:true,validator:this.cfg.checkBoolean,supercedes:["x","y","xy"]});this.cfg.addProperty("showdelay",{value:200,handler:this.configShowDelay,validator:this.cfg.checkNumber});this.cfg.addProperty("autodismissdelay",{value:5000,handler:this.configAutoDismissDelay,validator:this.cfg.checkNumber});this.cfg.addProperty("hidedelay",{value:250,handler:this.configHideDelay,validator:this.cfg.checkNumber});this.cfg.addProperty("text",{handler:this.configText,suppressEvent:true});this.cfg.addProperty("container",{value:document.body,handler:this.configContainer});};YAHOO.widget.Tooltip.prototype.configText=function(type,args,obj){var text=args[0];if(text){this.setBody(text);}};YAHOO.widget.Tooltip.prototype.configContainer=function(type,args,obj){var container=args[0];if(typeof container=='string'){this.cfg.setProperty("container",document.getElementById(container),true);}};YAHOO.widget.Tooltip.prototype.configContext=function(type,args,obj){var context=args[0];if(context){if(!(context instanceof Array)){if(typeof context=="string"){this.cfg.setProperty("context",[document.getElementById(context)],true);}else{this.cfg.setProperty("context",[context],true);}
context=this.cfg.getProperty("context");}
if(this._context){for(var c=0;c<this._context.length;++c){var el=this._context[c];YAHOO.util.Event.removeListener(el,"mouseover",this.onContextMouseOver);YAHOO.util.Event.removeListener(el,"mousemove",this.onContextMouseMove);YAHOO.util.Event.removeListener(el,"mouseout",this.onContextMouseOut);}}
this._context=context;for(var d=0;d<this._context.length;++d){var el2=this._context[d];YAHOO.util.Event.addListener(el2,"mouseover",this.onContextMouseOver,this);YAHOO.util.Event.addListener(el2,"mousemove",this.onContextMouseMove,this);YAHOO.util.Event.addListener(el2,"mouseout",this.onContextMouseOut,this);}}};YAHOO.widget.Tooltip.prototype.onContextMouseMove=function(e,obj){obj.pageX=YAHOO.util.Event.getPageX(e);obj.pageY=YAHOO.util.Event.getPageY(e);};YAHOO.widget.Tooltip.prototype.onContextMouseOver=function(e,obj){if(obj.hideProcId){clearTimeout(obj.hideProcId);obj.hideProcId=null;}
var context=this;YAHOO.util.Event.addListener(context,"mousemove",obj.onContextMouseMove,obj);if(context.title){obj._tempTitle=context.title;context.title="";}
obj.showProcId=obj.doShow(e,context);};YAHOO.widget.Tooltip.prototype.onContextMouseOut=function(e,obj){var el=this;if(obj._tempTitle){el.title=obj._tempTitle;obj._tempTitle=null;}
if(obj.showProcId){clearTimeout(obj.showProcId);obj.showProcId=null;}
if(obj.hideProcId){clearTimeout(obj.hideProcId);obj.hideProcId=null;}
obj.hideProcId=setTimeout(function(){obj.hide();},obj.cfg.getProperty("hidedelay"));};YAHOO.widget.Tooltip.prototype.doShow=function(e,context){var yOffset=25;if(this.browser=="opera"&&context.tagName=="A"){yOffset+=12;}
var me=this;return setTimeout(function(){if(me._tempTitle){me.setBody(me._tempTitle);}else{me.cfg.refireEvent("text");}
me.moveTo(me.pageX,me.pageY+yOffset);if(me.cfg.getProperty("preventoverlap")){me.preventOverlap(me.pageX,me.pageY);}
YAHOO.util.Event.removeListener(context,"mousemove",me.onContextMouseMove);me.show();me.hideProcId=me.doHide();},this.cfg.getProperty("showdelay"));};YAHOO.widget.Tooltip.prototype.doHide=function(){var me=this;return setTimeout(function(){me.hide();},this.cfg.getProperty("autodismissdelay"));};YAHOO.widget.Tooltip.prototype.preventOverlap=function(pageX,pageY){var height=this.element.offsetHeight;var elementRegion=YAHOO.util.Dom.getRegion(this.element);elementRegion.top-=5;elementRegion.left-=5;elementRegion.right+=5;elementRegion.bottom+=5;var mousePoint=new YAHOO.util.Point(pageX,pageY);if(elementRegion.contains(mousePoint)){this.cfg.setProperty("y",(pageY-height-5));}};YAHOO.widget.Tooltip.prototype.toString=function(){return"Tooltip "+this.id;};YAHOO.widget.Panel=function(el,userConfig){YAHOO.widget.Panel.superclass.constructor.call(this,el,userConfig);};YAHOO.extend(YAHOO.widget.Panel,YAHOO.widget.Overlay);YAHOO.widget.Panel.CSS_PANEL="panel";YAHOO.widget.Panel.CSS_PANEL_CONTAINER="panel-container";YAHOO.widget.Panel.prototype.init=function(el,userConfig){YAHOO.widget.Panel.superclass.init.call(this,el);this.beforeInitEvent.fire(YAHOO.widget.Panel);YAHOO.util.Dom.addClass(this.element,YAHOO.widget.Panel.CSS_PANEL);this.buildWrapper();if(userConfig){this.cfg.applyConfig(userConfig,true);}
this.beforeRenderEvent.subscribe(function(){var draggable=this.cfg.getProperty("draggable");if(draggable){if(!this.header){this.setHeader("&#160;");}}},this,true);var me=this;var doBlur=function(){this.blur();};this.showMaskEvent.subscribe(function(){var checkFocusable=function(el){if((el.tagName=="A"||el.tagName=="BUTTON"||el.tagName=="SELECT"||el.tagName=="INPUT"||el.tagName=="TEXTAREA")&&el.type!="hidden"){if(!YAHOO.util.Dom.isAncestor(me.element,el)){YAHOO.util.Event.addListener(el,"focus",doBlur,el,true);return true;}}else{return false;}};this.focusableElements=YAHOO.util.Dom.getElementsBy(checkFocusable);},this,true);this.hideMaskEvent.subscribe(function(){for(var i=0;i<this.focusableElements.length;i++){var el2=this.focusableElements[i];YAHOO.util.Event.removeListener(el2,"focus",doBlur);}},this,true);this.beforeShowEvent.subscribe(function(){this.cfg.refireEvent("underlay");},this,true);this.initEvent.fire(YAHOO.widget.Panel);};YAHOO.widget.Panel.prototype.initEvents=function(){YAHOO.widget.Panel.superclass.initEvents.call(this);this.showMaskEvent=new YAHOO.util.CustomEvent("showMask");this.hideMaskEvent=new YAHOO.util.CustomEvent("hideMask");this.dragEvent=new YAHOO.util.CustomEvent("drag");};YAHOO.widget.Panel.prototype.initDefaultConfig=function(){YAHOO.widget.Panel.superclass.initDefaultConfig.call(this);this.cfg.addProperty("close",{value:true,handler:this.configClose,validator:this.cfg.checkBoolean,supercedes:["visible"]});this.cfg.addProperty("draggable",{value:true,handler:this.configDraggable,validator:this.cfg.checkBoolean,supercedes:["visible"]});this.cfg.addProperty("underlay",{value:"shadow",handler:this.configUnderlay,supercedes:["visible"]});this.cfg.addProperty("modal",{value:false,handler:this.configModal,validator:this.cfg.checkBoolean,supercedes:["visible"]});this.cfg.addProperty("keylisteners",{handler:this.configKeyListeners,suppressEvent:true,supercedes:["visible"]});};YAHOO.widget.Panel.prototype.configClose=function(type,args,obj){var val=args[0];var doHide=function(e,obj){obj.hide();};if(val){if(!this.close){this.close=document.createElement("DIV");YAHOO.util.Dom.addClass(this.close,"close");if(this.isSecure){YAHOO.util.Dom.addClass(this.close,"secure");}else{YAHOO.util.Dom.addClass(this.close,"nonsecure");}
this.close.innerHTML="&#160;";this.innerElement.appendChild(this.close);YAHOO.util.Event.addListener(this.close,"click",doHide,this);}else{this.close.style.display="block";}}else{if(this.close){this.close.style.display="none";}}};YAHOO.widget.Panel.prototype.configDraggable=function(type,args,obj){var val=args[0];if(val){if(this.header){YAHOO.util.Dom.setStyle(this.header,"cursor","move");this.registerDragDrop();}}else{if(this.dd){this.dd.unreg();}
if(this.header){YAHOO.util.Dom.setStyle(this.header,"cursor","auto");}}};YAHOO.widget.Panel.prototype.configUnderlay=function(type,args,obj){var val=args[0];switch(val.toLowerCase()){case"shadow":YAHOO.util.Dom.removeClass(this.element,"matte");YAHOO.util.Dom.addClass(this.element,"shadow");if(!this.underlay){this.underlay=document.createElement("DIV");this.underlay.className="underlay";this.underlay.innerHTML="&#160;";this.element.appendChild(this.underlay);}
this.sizeUnderlay();break;case"matte":YAHOO.util.Dom.removeClass(this.element,"shadow");YAHOO.util.Dom.addClass(this.element,"matte");break;default:YAHOO.util.Dom.removeClass(this.element,"shadow");YAHOO.util.Dom.removeClass(this.element,"matte");break;}};YAHOO.widget.Panel.prototype.configModal=function(type,args,obj){var modal=args[0];if(modal){this.buildMask();if(!YAHOO.util.Config.alreadySubscribed(this.beforeShowEvent,this.showMask,this)){this.beforeShowEvent.subscribe(this.showMask,this,true);}
if(!YAHOO.util.Config.alreadySubscribed(this.hideEvent,this.hideMask,this)){this.hideEvent.subscribe(this.hideMask,this,true);}
if(!YAHOO.util.Config.alreadySubscribed(YAHOO.widget.Overlay.windowResizeEvent,this.sizeMask,this)){YAHOO.widget.Overlay.windowResizeEvent.subscribe(this.sizeMask,this,true);}
if(!YAHOO.util.Config.alreadySubscribed(this.destroyEvent,this.removeMask,this)){this.destroyEvent.subscribe(this.removeMask,this,true);}
this.cfg.refireEvent("zIndex");}else{this.beforeShowEvent.unsubscribe(this.showMask,this);this.hideEvent.unsubscribe(this.hideMask,this);YAHOO.widget.Overlay.windowResizeEvent.unsubscribe(this.sizeMask,this);this.destroyEvent.unsubscribe(this.removeMask,this);}};YAHOO.widget.Panel.prototype.removeMask=function(){if(this.mask){if(this.mask.parentNode){this.mask.parentNode.removeChild(this.mask);}
this.mask=null;}};YAHOO.widget.Panel.prototype.configKeyListeners=function(type,args,obj){var listeners=args[0];if(listeners){if(listeners instanceof Array){for(var i=0;i<listeners.length;i++){var listener=listeners[i];if(!YAHOO.util.Config.alreadySubscribed(this.showEvent,listener.enable,listener)){this.showEvent.subscribe(listener.enable,listener,true);}
if(!YAHOO.util.Config.alreadySubscribed(this.hideEvent,listener.disable,listener)){this.hideEvent.subscribe(listener.disable,listener,true);this.destroyEvent.subscribe(listener.disable,listener,true);}}}else{if(!YAHOO.util.Config.alreadySubscribed(this.showEvent,listeners.enable,listeners)){this.showEvent.subscribe(listeners.enable,listeners,true);}
if(!YAHOO.util.Config.alreadySubscribed(this.hideEvent,listeners.disable,listeners)){this.hideEvent.subscribe(listeners.disable,listeners,true);this.destroyEvent.subscribe(listeners.disable,listeners,true);}}}};YAHOO.widget.Panel.prototype.configHeight=function(type,args,obj){var height=args[0];var el=this.innerElement;YAHOO.util.Dom.setStyle(el,"height",height);this.cfg.refireEvent("underlay");this.cfg.refireEvent("iframe");};YAHOO.widget.Panel.prototype.configWidth=function(type,args,obj){var width=args[0];var el=this.innerElement;YAHOO.util.Dom.setStyle(el,"width",width);this.cfg.refireEvent("underlay");this.cfg.refireEvent("iframe");};YAHOO.widget.Panel.prototype.configzIndex=function(type,args,obj){YAHOO.widget.Panel.superclass.configzIndex.call(this,type,args,obj);var maskZ=0;var currentZ=YAHOO.util.Dom.getStyle(this.element,"zIndex");if(this.mask){if(!currentZ||isNaN(currentZ)){currentZ=0;}
if(currentZ===0){this.cfg.setProperty("zIndex",1);}else{maskZ=currentZ-1;YAHOO.util.Dom.setStyle(this.mask,"zIndex",maskZ);}}};YAHOO.widget.Panel.prototype.buildWrapper=function(){var elementParent=this.element.parentNode;var originalElement=this.element;var wrapper=document.createElement("DIV");wrapper.className=YAHOO.widget.Panel.CSS_PANEL_CONTAINER;wrapper.id=originalElement.id+"_c";if(elementParent){elementParent.insertBefore(wrapper,originalElement);}
wrapper.appendChild(originalElement);this.element=wrapper;this.innerElement=originalElement;YAHOO.util.Dom.setStyle(this.innerElement,"visibility","inherit");};YAHOO.widget.Panel.prototype.sizeUnderlay=function(){if(this.underlay&&this.browser!="gecko"&&this.browser!="safari"){this.underlay.style.width=this.innerElement.offsetWidth+"px";this.underlay.style.height=this.innerElement.offsetHeight+"px";}};YAHOO.widget.Panel.prototype.onDomResize=function(e,obj){YAHOO.widget.Panel.superclass.onDomResize.call(this,e,obj);var me=this;setTimeout(function(){me.sizeUnderlay();},0);};YAHOO.widget.Panel.prototype.registerDragDrop=function(){if(this.header){this.dd=new YAHOO.util.DD(this.element.id,this.id);if(!this.header.id){this.header.id=this.id+"_h";}
var me=this;this.dd.startDrag=function(){if(me.browser=="ie"){YAHOO.util.Dom.addClass(me.element,"drag");}
if(me.cfg.getProperty("constraintoviewport")){var offsetHeight=me.element.offsetHeight;var offsetWidth=me.element.offsetWidth;var viewPortWidth=YAHOO.util.Dom.getViewportWidth();var viewPortHeight=YAHOO.util.Dom.getViewportHeight();var scrollX=window.scrollX||document.documentElement.scrollLeft;var scrollY=window.scrollY||document.documentElement.scrollTop;var topConstraint=scrollY+10;var leftConstraint=scrollX+10;var bottomConstraint=scrollY+viewPortHeight-offsetHeight-10;var rightConstraint=scrollX+viewPortWidth-offsetWidth-10;this.minX=leftConstraint;this.maxX=rightConstraint;this.constrainX=true;this.minY=topConstraint;this.maxY=bottomConstraint;this.constrainY=true;}else{this.constrainX=false;this.constrainY=false;}
me.dragEvent.fire("startDrag",arguments);};this.dd.onDrag=function(){me.syncPosition();me.cfg.refireEvent("iframe");if(this.platform=="mac"&&this.browser=="gecko"){this.showMacGeckoScrollbars();}
me.dragEvent.fire("onDrag",arguments);};this.dd.endDrag=function(){if(me.browser=="ie"){YAHOO.util.Dom.removeClass(me.element,"drag");}
me.dragEvent.fire("endDrag",arguments);};this.dd.setHandleElId(this.header.id);this.dd.addInvalidHandleType("INPUT");this.dd.addInvalidHandleType("SELECT");this.dd.addInvalidHandleType("TEXTAREA");}};YAHOO.widget.Panel.prototype.buildMask=function(){if(!this.mask){this.mask=document.createElement("DIV");this.mask.id=this.id+"_mask";this.mask.className="mask";this.mask.innerHTML="&#160;";var maskClick=function(e,obj){YAHOO.util.Event.stopEvent(e);};var firstChild=document.body.firstChild;if(firstChild){document.body.insertBefore(this.mask,document.body.firstChild);}else{document.body.appendChild(this.mask);}}};YAHOO.widget.Panel.prototype.hideMask=function(){if(this.cfg.getProperty("modal")&&this.mask){this.mask.style.display="none";this.hideMaskEvent.fire();YAHOO.util.Dom.removeClass(document.body,"masked");}};YAHOO.widget.Panel.prototype.showMask=function(){if(this.cfg.getProperty("modal")&&this.mask){YAHOO.util.Dom.addClass(document.body,"masked");this.sizeMask();this.mask.style.display="block";this.showMaskEvent.fire();}};YAHOO.widget.Panel.prototype.sizeMask=function(){if(this.mask){this.mask.style.height=YAHOO.util.Dom.getDocumentHeight()+"px";this.mask.style.width=YAHOO.util.Dom.getDocumentWidth()+"px";}};YAHOO.widget.Panel.prototype.render=function(appendToNode){return YAHOO.widget.Panel.superclass.render.call(this,appendToNode,this.innerElement);};YAHOO.widget.Panel.prototype.toString=function(){return"Panel "+this.id;};YAHOO.widget.Dialog=function(el,userConfig){YAHOO.widget.Dialog.superclass.constructor.call(this,el,userConfig);};YAHOO.extend(YAHOO.widget.Dialog,YAHOO.widget.Panel);YAHOO.widget.Dialog.CSS_DIALOG="dialog";YAHOO.widget.Dialog.prototype.initDefaultConfig=function(){YAHOO.widget.Dialog.superclass.initDefaultConfig.call(this);this.callback={success:null,failure:null,argument:null};this.cfg.addProperty("postmethod",{value:"async",handler:this.configPostMethod,validator:function(val){if(val!="form"&&val!="async"&&val!="none"&&val!="manual"){return false;}else{return true;}}});this.cfg.addProperty("buttons",{value:"none",handler:this.configButtons});};YAHOO.widget.Dialog.prototype.initEvents=function(){YAHOO.widget.Dialog.superclass.initEvents.call(this);this.beforeSubmitEvent=new YAHOO.util.CustomEvent("beforeSubmit");this.submitEvent=new YAHOO.util.CustomEvent("submit");this.manualSubmitEvent=new YAHOO.util.CustomEvent("manualSubmit");this.asyncSubmitEvent=new YAHOO.util.CustomEvent("asyncSubmit");this.formSubmitEvent=new YAHOO.util.CustomEvent("formSubmit");this.cancelEvent=new YAHOO.util.CustomEvent("cancel");};YAHOO.widget.Dialog.prototype.init=function(el,userConfig){YAHOO.widget.Dialog.superclass.init.call(this,el);this.beforeInitEvent.fire(YAHOO.widget.Dialog);YAHOO.util.Dom.addClass(this.element,YAHOO.widget.Dialog.CSS_DIALOG);this.cfg.setProperty("visible",false);if(userConfig){this.cfg.applyConfig(userConfig,true);}
this.showEvent.subscribe(this.focusFirst,this,true);this.beforeHideEvent.subscribe(this.blurButtons,this,true);this.beforeRenderEvent.subscribe(function(){var buttonCfg=this.cfg.getProperty("buttons");if(buttonCfg&&buttonCfg!="none"){if(!this.footer){this.setFooter("");}}},this,true);this.initEvent.fire(YAHOO.widget.Dialog);};YAHOO.widget.Dialog.prototype.doSubmit=function(){var pm=this.cfg.getProperty("postmethod");switch(pm){case"async":var method=this.form.getAttribute("method")||'POST';method=method.toUpperCase();YAHOO.util.Connect.setForm(this.form);var cObj=YAHOO.util.Connect.asyncRequest(method,this.form.getAttribute("action"),this.callback);this.asyncSubmitEvent.fire();break;case"form":this.form.submit();this.formSubmitEvent.fire();break;case"none":case"manual":this.manualSubmitEvent.fire();break;}};YAHOO.widget.Dialog.prototype.registerForm=function(){var form=this.element.getElementsByTagName("FORM")[0];if(!form){var formHTML="<form name=\"frm_"+this.id+"\" action=\"\"></form>";this.body.innerHTML+=formHTML;form=this.element.getElementsByTagName("FORM")[0];}
this.firstFormElement=function(){for(var f=0;f<form.elements.length;f++){var el=form.elements[f];if(el.focus&&!el.disabled){if(el.type&&el.type!="hidden"){return el;}}}
return null;}();this.lastFormElement=function(){for(var f=form.elements.length-1;f>=0;f--){var el=form.elements[f];if(el.focus&&!el.disabled){if(el.type&&el.type!="hidden"){return el;}}}
return null;}();this.form=form;if(this.cfg.getProperty("modal")&&this.form){var me=this;var firstElement=this.firstFormElement||this.firstButton;if(firstElement){this.preventBackTab=new YAHOO.util.KeyListener(firstElement,{shift:true,keys:9},{fn:me.focusLast,scope:me,correctScope:true});this.showEvent.subscribe(this.preventBackTab.enable,this.preventBackTab,true);this.hideEvent.subscribe(this.preventBackTab.disable,this.preventBackTab,true);}
var lastElement=this.lastButton||this.lastFormElement;if(lastElement){this.preventTabOut=new YAHOO.util.KeyListener(lastElement,{shift:false,keys:9},{fn:me.focusFirst,scope:me,correctScope:true});this.showEvent.subscribe(this.preventTabOut.enable,this.preventTabOut,true);this.hideEvent.subscribe(this.preventTabOut.disable,this.preventTabOut,true);}}};YAHOO.widget.Dialog.prototype.configClose=function(type,args,obj){var val=args[0];var doCancel=function(e,obj){obj.cancel();};if(val){if(!this.close){this.close=document.createElement("DIV");YAHOO.util.Dom.addClass(this.close,"close");if(this.isSecure){YAHOO.util.Dom.addClass(this.close,"secure");}else{YAHOO.util.Dom.addClass(this.close,"nonsecure");}
this.close.innerHTML="&#160;";this.innerElement.appendChild(this.close);YAHOO.util.Event.addListener(this.close,"click",doCancel,this);}else{this.close.style.display="block";}}else{if(this.close){this.close.style.display="none";}}};YAHOO.widget.Dialog.prototype.configButtons=function(type,args,obj){var buttons=args[0];if(buttons!="none"){this.buttonSpan=null;this.buttonSpan=document.createElement("SPAN");this.buttonSpan.className="button-group";for(var b=0;b<buttons.length;b++){var button=buttons[b];var htmlButton=document.createElement("BUTTON");htmlButton.setAttribute("type","button");if(button.isDefault){htmlButton.className="default";this.defaultHtmlButton=htmlButton;}
htmlButton.appendChild(document.createTextNode(button.text));YAHOO.util.Event.addListener(htmlButton,"click",button.handler,this,true);this.buttonSpan.appendChild(htmlButton);button.htmlButton=htmlButton;if(b===0){this.firstButton=button.htmlButton;}
if(b==(buttons.length-1)){this.lastButton=button.htmlButton;}}
this.setFooter(this.buttonSpan);this.cfg.refireEvent("iframe");this.cfg.refireEvent("underlay");}else{if(this.buttonSpan){if(this.buttonSpan.parentNode){this.buttonSpan.parentNode.removeChild(this.buttonSpan);}
this.buttonSpan=null;this.firstButton=null;this.lastButton=null;this.defaultHtmlButton=null;}}};YAHOO.widget.Dialog.prototype.focusFirst=function(type,args,obj){if(args){var e=args[1];if(e){YAHOO.util.Event.stopEvent(e);}}
if(this.firstFormElement){this.firstFormElement.focus();}else{this.focusDefaultButton();}};YAHOO.widget.Dialog.prototype.focusLast=function(type,args,obj){if(args){var e=args[1];if(e){YAHOO.util.Event.stopEvent(e);}}
var buttons=this.cfg.getProperty("buttons");if(buttons&&buttons instanceof Array){this.focusLastButton();}else{if(this.lastFormElement){this.lastFormElement.focus();}}};YAHOO.widget.Dialog.prototype.focusDefaultButton=function(){if(this.defaultHtmlButton){this.defaultHtmlButton.focus();}};YAHOO.widget.Dialog.prototype.blurButtons=function(){var buttons=this.cfg.getProperty("buttons");if(buttons&&buttons instanceof Array){var html=buttons[0].htmlButton;if(html){html.blur();}}};YAHOO.widget.Dialog.prototype.focusFirstButton=function(){var buttons=this.cfg.getProperty("buttons");if(buttons&&buttons instanceof Array){var html=buttons[0].htmlButton;if(html){html.focus();}}};YAHOO.widget.Dialog.prototype.focusLastButton=function(){var buttons=this.cfg.getProperty("buttons");if(buttons&&buttons instanceof Array){var html=buttons[buttons.length-1].htmlButton;if(html){html.focus();}}};YAHOO.widget.Dialog.prototype.configPostMethod=function(type,args,obj){var postmethod=args[0];this.registerForm();YAHOO.util.Event.addListener(this.form,"submit",function(e){YAHOO.util.Event.stopEvent(e);this.submit();this.form.blur();},this,true);};YAHOO.widget.Dialog.prototype.validate=function(){return true;};YAHOO.widget.Dialog.prototype.submit=function(){if(this.validate()){this.beforeSubmitEvent.fire();this.doSubmit();this.submitEvent.fire();this.hide();return true;}else{return false;}};YAHOO.widget.Dialog.prototype.cancel=function(){this.cancelEvent.fire();this.hide();};YAHOO.widget.Dialog.prototype.getData=function(){var form=this.form;var data={};if(form){for(var i=0;i<form.elements.length;i++){var formItem=form.elements[i];if(formItem){if(formItem.tagName){switch(formItem.tagName){case"INPUT":switch(formItem.type){case"checkbox":data[formItem.name]=formItem.checked;break;case"textbox":case"text":case"hidden":data[formItem.name]=formItem.value;break;}
break;case"TEXTAREA":data[formItem.name]=formItem.value;break;case"SELECT":var val=[];for(var x=0;x<formItem.options.length;x++){var option=formItem.options[x];if(option.selected){var selval=option.value;if(!selval||selval===""){selval=option.text;}
val[val.length]=selval;}}
data[formItem.name]=val;break;}}else if(formItem[0]&&formItem[0].tagName){if(formItem[0].tagName=="INPUT"){switch(formItem[0].type){case"radio":for(var r=0;r<formItem.length;r++){var radio=formItem[r];if(radio.checked){data[radio.name]=radio.value;break;}}
break;case"checkbox":var cbArray=[];for(var c=0;c<formItem.length;c++){var check=formItem[c];if(check.checked){cbArray[cbArray.length]=check.value;}}
data[formItem[0].name]=cbArray;break;}}}}}}
return data;};YAHOO.widget.Dialog.prototype.toString=function(){return"Dialog "+this.id;};YAHOO.widget.SimpleDialog=function(el,userConfig){YAHOO.widget.SimpleDialog.superclass.constructor.call(this,el,userConfig);};YAHOO.extend(YAHOO.widget.SimpleDialog,YAHOO.widget.Dialog);YAHOO.widget.SimpleDialog.ICON_BLOCK="nt/ic/ut/bsc/blck16_1.gif";YAHOO.widget.SimpleDialog.ICON_ALARM="nt/ic/ut/bsc/alrt16_1.gif";YAHOO.widget.SimpleDialog.ICON_HELP="nt/ic/ut/bsc/hlp16_1.gif";YAHOO.widget.SimpleDialog.ICON_INFO="nt/ic/ut/bsc/info16_1.gif";YAHOO.widget.SimpleDialog.ICON_WARN="nt/ic/ut/bsc/warn16_1.gif";YAHOO.widget.SimpleDialog.ICON_TIP="nt/ic/ut/bsc/tip16_1.gif";YAHOO.widget.SimpleDialog.CSS_SIMPLEDIALOG="simple-dialog";YAHOO.widget.SimpleDialog.prototype.initDefaultConfig=function(){YAHOO.widget.SimpleDialog.superclass.initDefaultConfig.call(this);this.cfg.addProperty("icon",{value:"none",handler:this.configIcon,suppressEvent:true});this.cfg.addProperty("text",{value:"",handler:this.configText,suppressEvent:true,supercedes:["icon"]});};YAHOO.widget.SimpleDialog.prototype.init=function(el,userConfig){YAHOO.widget.SimpleDialog.superclass.init.call(this,el);this.beforeInitEvent.fire(YAHOO.widget.SimpleDialog);YAHOO.util.Dom.addClass(this.element,YAHOO.widget.SimpleDialog.CSS_SIMPLEDIALOG);this.cfg.queueProperty("postmethod","manual");if(userConfig){this.cfg.applyConfig(userConfig,true);}
this.beforeRenderEvent.subscribe(function(){if(!this.body){this.setBody("");}},this,true);this.initEvent.fire(YAHOO.widget.SimpleDialog);};YAHOO.widget.SimpleDialog.prototype.registerForm=function(){YAHOO.widget.SimpleDialog.superclass.registerForm.call(this);this.form.innerHTML+="<input type=\"hidden\" name=\""+this.id+"\" value=\"\"/>";};YAHOO.widget.SimpleDialog.prototype.configIcon=function(type,args,obj){var icon=args[0];if(icon&&icon!="none"){var iconHTML="<img src=\""+this.imageRoot+icon+"\" class=\"icon\" />";this.body.innerHTML=iconHTML+this.body.innerHTML;}};YAHOO.widget.SimpleDialog.prototype.configText=function(type,args,obj){var text=args[0];if(text){this.setBody(text);this.cfg.refireEvent("icon");}};YAHOO.widget.SimpleDialog.prototype.toString=function(){return"SimpleDialog "+this.id;};YAHOO.widget.ContainerEffect=function(overlay,attrIn,attrOut,targetElement,animClass){if(!animClass){animClass=YAHOO.util.Anim;}
this.overlay=overlay;this.attrIn=attrIn;this.attrOut=attrOut;this.targetElement=targetElement||overlay.element;this.animClass=animClass;};YAHOO.widget.ContainerEffect.prototype.init=function(){this.beforeAnimateInEvent=new YAHOO.util.CustomEvent("beforeAnimateIn");this.beforeAnimateOutEvent=new YAHOO.util.CustomEvent("beforeAnimateOut");this.animateInCompleteEvent=new YAHOO.util.CustomEvent("animateInComplete");this.animateOutCompleteEvent=new YAHOO.util.CustomEvent("animateOutComplete");this.animIn=new this.animClass(this.targetElement,this.attrIn.attributes,this.attrIn.duration,this.attrIn.method);this.animIn.onStart.subscribe(this.handleStartAnimateIn,this);this.animIn.onTween.subscribe(this.handleTweenAnimateIn,this);this.animIn.onComplete.subscribe(this.handleCompleteAnimateIn,this);this.animOut=new this.animClass(this.targetElement,this.attrOut.attributes,this.attrOut.duration,this.attrOut.method);this.animOut.onStart.subscribe(this.handleStartAnimateOut,this);this.animOut.onTween.subscribe(this.handleTweenAnimateOut,this);this.animOut.onComplete.subscribe(this.handleCompleteAnimateOut,this);};YAHOO.widget.ContainerEffect.prototype.animateIn=function(){this.beforeAnimateInEvent.fire();this.animIn.animate();};YAHOO.widget.ContainerEffect.prototype.animateOut=function(){this.beforeAnimateOutEvent.fire();this.animOut.animate();};YAHOO.widget.ContainerEffect.prototype.handleStartAnimateIn=function(type,args,obj){};YAHOO.widget.ContainerEffect.prototype.handleTweenAnimateIn=function(type,args,obj){};YAHOO.widget.ContainerEffect.prototype.handleCompleteAnimateIn=function(type,args,obj){};YAHOO.widget.ContainerEffect.prototype.handleStartAnimateOut=function(type,args,obj){};YAHOO.widget.ContainerEffect.prototype.handleTweenAnimateOut=function(type,args,obj){};YAHOO.widget.ContainerEffect.prototype.handleCompleteAnimateOut=function(type,args,obj){};YAHOO.widget.ContainerEffect.prototype.toString=function(){var output="ContainerEffect";if(this.overlay){output+=" ["+this.overlay.toString()+"]";}
return output;};YAHOO.widget.ContainerEffect.FADE=function(overlay,dur){var fade=new YAHOO.widget.ContainerEffect(overlay,{attributes:{opacity:{from:0,to:1}},duration:dur,method:YAHOO.util.Easing.easeIn},{attributes:{opacity:{to:0}},duration:dur,method:YAHOO.util.Easing.easeOut},overlay.element);fade.handleStartAnimateIn=function(type,args,obj){YAHOO.util.Dom.addClass(obj.overlay.element,"hide-select");if(!obj.overlay.underlay){obj.overlay.cfg.refireEvent("underlay");}
if(obj.overlay.underlay){obj.initialUnderlayOpacity=YAHOO.util.Dom.getStyle(obj.overlay.underlay,"opacity");obj.overlay.underlay.style.filter=null;}
YAHOO.util.Dom.setStyle(obj.overlay.element,"visibility","visible");YAHOO.util.Dom.setStyle(obj.overlay.element,"opacity",0);};fade.handleCompleteAnimateIn=function(type,args,obj){YAHOO.util.Dom.removeClass(obj.overlay.element,"hide-select");if(obj.overlay.element.style.filter){obj.overlay.element.style.filter=null;}
if(obj.overlay.underlay){YAHOO.util.Dom.setStyle(obj.overlay.underlay,"opacity",obj.initialUnderlayOpacity);}
obj.overlay.cfg.refireEvent("iframe");obj.animateInCompleteEvent.fire();};fade.handleStartAnimateOut=function(type,args,obj){YAHOO.util.Dom.addClass(obj.overlay.element,"hide-select");if(obj.overlay.underlay){obj.overlay.underlay.style.filter=null;}};fade.handleCompleteAnimateOut=function(type,args,obj){YAHOO.util.Dom.removeClass(obj.overlay.element,"hide-select");if(obj.overlay.element.style.filter){obj.overlay.element.style.filter=null;}
YAHOO.util.Dom.setStyle(obj.overlay.element,"visibility","hidden");YAHOO.util.Dom.setStyle(obj.overlay.element,"opacity",1);obj.overlay.cfg.refireEvent("iframe");obj.animateOutCompleteEvent.fire();};fade.init();return fade;};YAHOO.widget.ContainerEffect.SLIDE=function(overlay,dur){var x=overlay.cfg.getProperty("x")||YAHOO.util.Dom.getX(overlay.element);var y=overlay.cfg.getProperty("y")||YAHOO.util.Dom.getY(overlay.element);var clientWidth=YAHOO.util.Dom.getClientWidth();var offsetWidth=overlay.element.offsetWidth;var slide=new YAHOO.widget.ContainerEffect(overlay,{attributes:{points:{to:[x,y]}},duration:dur,method:YAHOO.util.Easing.easeIn},{attributes:{points:{to:[(clientWidth+25),y]}},duration:dur,method:YAHOO.util.Easing.easeOut},overlay.element,YAHOO.util.Motion);slide.handleStartAnimateIn=function(type,args,obj){obj.overlay.element.style.left=(-25-offsetWidth)+"px";obj.overlay.element.style.top=y+"px";};slide.handleTweenAnimateIn=function(type,args,obj){var pos=YAHOO.util.Dom.getXY(obj.overlay.element);var currentX=pos[0];var currentY=pos[1];if(YAHOO.util.Dom.getStyle(obj.overlay.element,"visibility")=="hidden"&&currentX<x){YAHOO.util.Dom.setStyle(obj.overlay.element,"visibility","visible");}
obj.overlay.cfg.setProperty("xy",[currentX,currentY],true);obj.overlay.cfg.refireEvent("iframe");};slide.handleCompleteAnimateIn=function(type,args,obj){obj.overlay.cfg.setProperty("xy",[x,y],true);obj.startX=x;obj.startY=y;obj.overlay.cfg.refireEvent("iframe");obj.animateInCompleteEvent.fire();};slide.handleStartAnimateOut=function(type,args,obj){var vw=YAHOO.util.Dom.getViewportWidth();var pos=YAHOO.util.Dom.getXY(obj.overlay.element);var yso=pos[1];var currentTo=obj.animOut.attributes.points.to;obj.animOut.attributes.points.to=[(vw+25),yso];};slide.handleTweenAnimateOut=function(type,args,obj){var pos=YAHOO.util.Dom.getXY(obj.overlay.element);var xto=pos[0];var yto=pos[1];obj.overlay.cfg.setProperty("xy",[xto,yto],true);obj.overlay.cfg.refireEvent("iframe");};slide.handleCompleteAnimateOut=function(type,args,obj){YAHOO.util.Dom.setStyle(obj.overlay.element,"visibility","hidden");obj.overlay.cfg.setProperty("xy",[x,y]);obj.animateOutCompleteEvent.fire();};slide.init();return slide;};




/*
Copyright (c) 2006, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 0.12.2
*/


YAHOO.widget.Slider=function(sElementId,sGroup,oThumb,sType){if(sElementId){this.init(sElementId,sGroup,true);this.initSlider(sType);this.initThumb(oThumb);}};YAHOO.widget.Slider.getHorizSlider=function(sBGElId,sHandleElId,iLeft,iRight,iTickSize){return new YAHOO.widget.Slider(sBGElId,sBGElId,new YAHOO.widget.SliderThumb(sHandleElId,sBGElId,iLeft,iRight,0,0,iTickSize),"horiz");};YAHOO.widget.Slider.getVertSlider=function(sBGElId,sHandleElId,iUp,iDown,iTickSize){return new YAHOO.widget.Slider(sBGElId,sBGElId,new YAHOO.widget.SliderThumb(sHandleElId,sBGElId,0,0,iUp,iDown,iTickSize),"vert");};YAHOO.widget.Slider.getSliderRegion=function(sBGElId,sHandleElId,iLeft,iRight,iUp,iDown,iTickSize){return new YAHOO.widget.Slider(sBGElId,sBGElId,new YAHOO.widget.SliderThumb(sHandleElId,sBGElId,iLeft,iRight,iUp,iDown,iTickSize),"region");};YAHOO.widget.Slider.ANIM_AVAIL=true;YAHOO.extend(YAHOO.widget.Slider,YAHOO.util.DragDrop,{initSlider:function(sType){this.type=sType;this.createEvent("change",this);this.createEvent("slideStart",this);this.createEvent("slideEnd",this);this.isTarget=false;this.animate=YAHOO.widget.Slider.ANIM_AVAIL;this.backgroundEnabled=true;this.tickPause=40;this.enableKeys=true;this.keyIncrement=20;this.moveComplete=true;this.animationDuration=0.2;},initThumb:function(t){var self=this;this.thumb=t;t.cacheBetweenDrags=true;t.onChange=function(){self.handleThumbChange();};if(t._isHoriz&&t.xTicks&&t.xTicks.length){this.tickPause=Math.round(360/t.xTicks.length);}else if(t.yTicks&&t.yTicks.length){this.tickPause=Math.round(360/t.yTicks.length);}
t.onMouseDown=function(){return self.focus();};t.onMouseUp=function(){self.thumbMouseUp();};t.onDrag=function(){self.fireEvents(true);};t.onAvailable=function(){return self.setStartSliderState();};},onAvailable:function(){var Event=YAHOO.util.Event;Event.on(this.id,"keydown",this.handleKeyDown,this,true);Event.on(this.id,"keypress",this.handleKeyPress,this,true);},handleKeyPress:function(e){if(this.enableKeys){var Event=YAHOO.util.Event;var kc=Event.getCharCode(e);switch(kc){case 0x25:case 0x26:case 0x27:case 0x28:case 0x24:case 0x23:Event.preventDefault(e);break;default:}}},handleKeyDown:function(e){if(this.enableKeys){var Event=YAHOO.util.Event;var kc=Event.getCharCode(e),t=this.thumb;var h=this.getXValue(),v=this.getYValue();var horiz=false;var changeValue=true;switch(kc){case 0x25:h-=this.keyIncrement;break;case 0x26:v-=this.keyIncrement;break;case 0x27:h+=this.keyIncrement;break;case 0x28:v+=this.keyIncrement;break;case 0x24:h=t.leftConstraint;v=t.topConstraint;break;case 0x23:h=t.rightConstraint;v=t.bottomConstraint;break;default:changeValue=false;}
if(changeValue){if(t._isRegion){this.setRegionValue(h,v,true);}else{var newVal=(t._isHoriz)?h:v;this.setValue(newVal,true);}
Event.stopEvent(e);}}},setStartSliderState:function(){this.setThumbCenterPoint();this.baselinePos=YAHOO.util.Dom.getXY(this.getEl());this.thumb.startOffset=this.thumb.getOffsetFromParent(this.baselinePos);if(this.thumb._isRegion){if(this.deferredSetRegionValue){this.setRegionValue.apply(this,this.deferredSetRegionValue,true);this.deferredSetRegionValue=null;}else{this.setRegionValue(0,0,true,true);}}else{if(this.deferredSetValue){this.setValue.apply(this,this.deferredSetValue,true);this.deferredSetValue=null;}else{this.setValue(0,true,true);}}},setThumbCenterPoint:function(){var el=this.thumb.getEl();if(el){this.thumbCenterPoint={x:parseInt(el.offsetWidth/2,10),y:parseInt(el.offsetHeight/2,10)};}},lock:function(){this.thumb.lock();this.locked=true;},unlock:function(){this.thumb.unlock();this.locked=false;},thumbMouseUp:function(){if(!this.isLocked()&&!this.moveComplete){this.endMove();}},getThumb:function(){return this.thumb;},focus:function(){var el=this.getEl();if(el.focus){try{el.focus();}catch(e){}}
this.verifyOffset();if(this.isLocked()){return false;}else{this.onSlideStart();return true;}},onChange:function(firstOffset,secondOffset){},onSlideStart:function(){},onSlideEnd:function(){},getValue:function(){return this.thumb.getValue();},getXValue:function(){return this.thumb.getXValue();},getYValue:function(){return this.thumb.getYValue();},handleThumbChange:function(){var t=this.thumb;if(t._isRegion){t.onChange(t.getXValue(),t.getYValue());this.fireEvent("change",{x:t.getXValue(),y:t.getYValue()});}else{t.onChange(t.getValue());this.fireEvent("change",t.getValue());}},setValue:function(newOffset,skipAnim,force){if(!this.thumb.available){this.deferredSetValue=arguments;return false;}
if(this.isLocked()&&!force){return false;}
if(isNaN(newOffset)){return false;}
var t=this.thumb;var newX,newY;this.verifyOffset(true);if(t._isRegion){return false;}else if(t._isHoriz){this.onSlideStart();newX=t.initPageX+newOffset+this.thumbCenterPoint.x;this.moveThumb(newX,t.initPageY,skipAnim);}else{this.onSlideStart();newY=t.initPageY+newOffset+this.thumbCenterPoint.y;this.moveThumb(t.initPageX,newY,skipAnim);}
return true;},setRegionValue:function(newOffset,newOffset2,skipAnim,force){if(!this.thumb.available){this.deferredSetRegionValue=arguments;return false;}
if(this.isLocked()&&!force){return false;}
if(isNaN(newOffset)){return false;}
var t=this.thumb;if(t._isRegion){this.onSlideStart();var newX=t.initPageX+newOffset+this.thumbCenterPoint.x;var newY=t.initPageY+newOffset2+this.thumbCenterPoint.y;this.moveThumb(newX,newY,skipAnim);return true;}
return false;},verifyOffset:function(checkPos){var newPos=YAHOO.util.Dom.getXY(this.getEl());if(newPos[0]!=this.baselinePos[0]||newPos[1]!=this.baselinePos[1]){this.thumb.resetConstraints();this.baselinePos=newPos;return false;}
return true;},moveThumb:function(x,y,skipAnim){var t=this.thumb;var self=this;if(!t.available){return;}
t.setDelta(this.thumbCenterPoint.x,this.thumbCenterPoint.y);var _p=t.getTargetCoord(x,y);var p=[_p.x,_p.y];this.fireEvent("slideStart");if(this.animate&&YAHOO.widget.Slider.ANIM_AVAIL&&t._graduated&&!skipAnim){this.lock();this.curCoord=YAHOO.util.Dom.getXY(this.thumb.getEl());setTimeout(function(){self.moveOneTick(p);},this.tickPause);}else if(this.animate&&YAHOO.widget.Slider.ANIM_AVAIL&&!skipAnim){this.lock();var oAnim=new YAHOO.util.Motion(t.id,{points:{to:p}},this.animationDuration,YAHOO.util.Easing.easeOut);oAnim.onComplete.subscribe(function(){self.endMove();});oAnim.animate();}else{t.setDragElPos(x,y);this.endMove();}},moveOneTick:function(finalCoord){var t=this.thumb,tmp;var nextCoord=null;if(t._isRegion){nextCoord=this._getNextX(this.curCoord,finalCoord);var tmpX=(nextCoord)?nextCoord[0]:this.curCoord[0];nextCoord=this._getNextY([tmpX,this.curCoord[1]],finalCoord);}else if(t._isHoriz){nextCoord=this._getNextX(this.curCoord,finalCoord);}else{nextCoord=this._getNextY(this.curCoord,finalCoord);}
if(nextCoord){this.curCoord=nextCoord;this.thumb.alignElWithMouse(t.getEl(),nextCoord[0],nextCoord[1]);if(!(nextCoord[0]==finalCoord[0]&&nextCoord[1]==finalCoord[1])){var self=this;setTimeout(function(){self.moveOneTick(finalCoord);},this.tickPause);}else{this.endMove();}}else{this.endMove();}},_getNextX:function(curCoord,finalCoord){var t=this.thumb;var thresh;var tmp=[];var nextCoord=null;if(curCoord[0]>finalCoord[0]){thresh=t.tickSize-this.thumbCenterPoint.x;tmp=t.getTargetCoord(curCoord[0]-thresh,curCoord[1]);nextCoord=[tmp.x,tmp.y];}else if(curCoord[0]<finalCoord[0]){thresh=t.tickSize+this.thumbCenterPoint.x;tmp=t.getTargetCoord(curCoord[0]+thresh,curCoord[1]);nextCoord=[tmp.x,tmp.y];}else{}
return nextCoord;},_getNextY:function(curCoord,finalCoord){var t=this.thumb;var thresh;var tmp=[];var nextCoord=null;if(curCoord[1]>finalCoord[1]){thresh=t.tickSize-this.thumbCenterPoint.y;tmp=t.getTargetCoord(curCoord[0],curCoord[1]-thresh);nextCoord=[tmp.x,tmp.y];}else if(curCoord[1]<finalCoord[1]){thresh=t.tickSize+this.thumbCenterPoint.y;tmp=t.getTargetCoord(curCoord[0],curCoord[1]+thresh);nextCoord=[tmp.x,tmp.y];}else{}
return nextCoord;},b4MouseDown:function(e){this.thumb.autoOffset();this.thumb.resetConstraints();},onMouseDown:function(e){if(!this.isLocked()&&this.backgroundEnabled){var x=YAHOO.util.Event.getPageX(e);var y=YAHOO.util.Event.getPageY(e);this.focus();this.moveThumb(x,y);}},onDrag:function(e){if(!this.isLocked()){var x=YAHOO.util.Event.getPageX(e);var y=YAHOO.util.Event.getPageY(e);this.moveThumb(x,y,true);}},endMove:function(){this.unlock();this.moveComplete=true;this.fireEvents();},fireEvents:function(thumbEvent){var t=this.thumb;if(!thumbEvent){t.cachePosition();}
if(!this.isLocked()){if(t._isRegion){var newX=t.getXValue();var newY=t.getYValue();if(newX!=this.previousX||newY!=this.previousY){this.onChange(newX,newY);this.fireEvent("change",{x:newX,y:newY});}
this.previousX=newX;this.previousY=newY;}else{var newVal=t.getValue();if(newVal!=this.previousVal){this.onChange(newVal);this.fireEvent("change",newVal);}
this.previousVal=newVal;}
if(this.moveComplete){this.onSlideEnd();this.fireEvent("slideEnd");this.moveComplete=false;}}},toString:function(){return("Slider ("+this.type+") "+this.id);}});YAHOO.augment(YAHOO.widget.Slider,YAHOO.util.EventProvider);YAHOO.widget.SliderThumb=function(id,sGroup,iLeft,iRight,iUp,iDown,iTickSize){if(id){YAHOO.widget.SliderThumb.superclass.constructor.call(this,id,sGroup);this.parentElId=sGroup;}
this.isTarget=false;this.tickSize=iTickSize;this.maintainOffset=true;this.initSlider(iLeft,iRight,iUp,iDown,iTickSize);this.scroll=false;};YAHOO.extend(YAHOO.widget.SliderThumb,YAHOO.util.DD,{startOffset:null,_isHoriz:false,_prevVal:0,_graduated:false,getOffsetFromParent0:function(parentPos){var myPos=YAHOO.util.Dom.getXY(this.getEl());var ppos=parentPos||YAHOO.util.Dom.getXY(this.parentElId);return[(myPos[0]-ppos[0]),(myPos[1]-ppos[1])];},getOffsetFromParent:function(parentPos){var el=this.getEl();if(!this.deltaOffset){var myPos=YAHOO.util.Dom.getXY(el);var ppos=parentPos||YAHOO.util.Dom.getXY(this.parentElId);var newOffset=[(myPos[0]-ppos[0]),(myPos[1]-ppos[1])];var l=parseInt(YAHOO.util.Dom.getStyle(el,"left"),10);var t=parseInt(YAHOO.util.Dom.getStyle(el,"top"),10);var deltaX=l-newOffset[0];var deltaY=t-newOffset[1];if(isNaN(deltaX)||isNaN(deltaY)){}else{this.deltaOffset=[deltaX,deltaY];}}else{var newLeft=parseInt(YAHOO.util.Dom.getStyle(el,"left"),10);var newTop=parseInt(YAHOO.util.Dom.getStyle(el,"top"),10);newOffset=[newLeft+this.deltaOffset[0],newTop+this.deltaOffset[1]];}
return newOffset;},initSlider:function(iLeft,iRight,iUp,iDown,iTickSize){this.initLeft=iLeft;this.initRight=iRight;this.initUp=iUp;this.initDown=iDown;this.setXConstraint(iLeft,iRight,iTickSize);this.setYConstraint(iUp,iDown,iTickSize);if(iTickSize&&iTickSize>1){this._graduated=true;}
this._isHoriz=(iLeft||iRight);this._isVert=(iUp||iDown);this._isRegion=(this._isHoriz&&this._isVert);},clearTicks:function(){YAHOO.widget.SliderThumb.superclass.clearTicks.call(this);this.tickSize=0;this._graduated=false;},getValue:function(){if(!this.available){return 0;}
var val=(this._isHoriz)?this.getXValue():this.getYValue();return val;},getXValue:function(){if(!this.available){return 0;}
var newOffset=this.getOffsetFromParent();return(newOffset[0]-this.startOffset[0]);},getYValue:function(){if(!this.available){return 0;}
var newOffset=this.getOffsetFromParent();return(newOffset[1]-this.startOffset[1]);},toString:function(){return"SliderThumb "+this.id;},onChange:function(x,y){}});if("undefined"==typeof YAHOO.util.Anim){YAHOO.widget.Slider.ANIM_AVAIL=false;}



/*../vendor/yui_252/build/yahoo-dom-event/yahoo-dom-event.js*/

/*
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 2.5.2
*/
if(typeof YAHOO=="undefined"||!YAHOO){var YAHOO={};}YAHOO.namespace=function(){var A=arguments,E=null,C,B,D;for(C=0;C<A.length;C=C+1){D=A[C].split(".");E=YAHOO;for(B=(D[0]=="YAHOO")?1:0;B<D.length;B=B+1){E[D[B]]=E[D[B]]||{};E=E[D[B]];}}return E;};YAHOO.log=function(D,A,C){var B=YAHOO.widget.Logger;if(B&&B.log){return B.log(D,A,C);}else{return false;}};YAHOO.register=function(A,E,D){var I=YAHOO.env.modules;if(!I[A]){I[A]={versions:[],builds:[]};}var B=I[A],H=D.version,G=D.build,F=YAHOO.env.listeners;B.name=A;B.version=H;B.build=G;B.versions.push(H);B.builds.push(G);B.mainClass=E;for(var C=0;C<F.length;C=C+1){F[C](B);}if(E){E.VERSION=H;E.BUILD=G;}else{YAHOO.log("mainClass is undefined for module "+A,"warn");}};YAHOO.env=YAHOO.env||{modules:[],listeners:[]};YAHOO.env.getVersion=function(A){return YAHOO.env.modules[A]||null;};YAHOO.env.ua=function(){var C={ie:0,opera:0,gecko:0,webkit:0,mobile:null,air:0};var B=navigator.userAgent,A;if((/KHTML/).test(B)){C.webkit=1;}A=B.match(/AppleWebKit\/([^\s]*)/);if(A&&A[1]){C.webkit=parseFloat(A[1]);if(/ Mobile\//.test(B)){C.mobile="Apple";}else{A=B.match(/NokiaN[^\/]*/);if(A){C.mobile=A[0];}}A=B.match(/AdobeAIR\/([^\s]*)/);if(A){C.air=A[0];}}if(!C.webkit){A=B.match(/Opera[\s\/]([^\s]*)/);if(A&&A[1]){C.opera=parseFloat(A[1]);A=B.match(/Opera Mini[^;]*/);if(A){C.mobile=A[0];}}else{A=B.match(/MSIE\s([^;]*)/);if(A&&A[1]){C.ie=parseFloat(A[1]);}else{A=B.match(/Gecko\/([^\s]*)/);if(A){C.gecko=1;A=B.match(/rv:([^\s\)]*)/);if(A&&A[1]){C.gecko=parseFloat(A[1]);}}}}}return C;}();(function(){YAHOO.namespace("util","widget","example");if("undefined"!==typeof YAHOO_config){var B=YAHOO_config.listener,A=YAHOO.env.listeners,D=true,C;if(B){for(C=0;C<A.length;C=C+1){if(A[C]==B){D=false;break;}}if(D){A.push(B);}}}})();YAHOO.lang=YAHOO.lang||{};(function(){var A=YAHOO.lang,C=["toString","valueOf"],B={isArray:function(D){if(D){return A.isNumber(D.length)&&A.isFunction(D.splice);}return false;},isBoolean:function(D){return typeof D==="boolean";},isFunction:function(D){return typeof D==="function";},isNull:function(D){return D===null;},isNumber:function(D){return typeof D==="number"&&isFinite(D);},isObject:function(D){return(D&&(typeof D==="object"||A.isFunction(D)))||false;},isString:function(D){return typeof D==="string";},isUndefined:function(D){return typeof D==="undefined";},_IEEnumFix:(YAHOO.env.ua.ie)?function(F,E){for(var D=0;D<C.length;D=D+1){var H=C[D],G=E[H];if(A.isFunction(G)&&G!=Object.prototype[H]){F[H]=G;}}}:function(){},extend:function(H,I,G){if(!I||!H){throw new Error("extend failed, please check that "+"all dependencies are included.");}var E=function(){};E.prototype=I.prototype;H.prototype=new E();H.prototype.constructor=H;H.superclass=I.prototype;if(I.prototype.constructor==Object.prototype.constructor){I.prototype.constructor=I;}if(G){for(var D in G){if(A.hasOwnProperty(G,D)){H.prototype[D]=G[D];}}A._IEEnumFix(H.prototype,G);}},augmentObject:function(H,G){if(!G||!H){throw new Error("Absorb failed, verify dependencies.");}var D=arguments,F,I,E=D[2];if(E&&E!==true){for(F=2;F<D.length;F=F+1){H[D[F]]=G[D[F]];}}else{for(I in G){if(E||!(I in H)){H[I]=G[I];}}A._IEEnumFix(H,G);}},augmentProto:function(G,F){if(!F||!G){throw new Error("Augment failed, verify dependencies.");}var D=[G.prototype,F.prototype];for(var E=2;E<arguments.length;E=E+1){D.push(arguments[E]);}A.augmentObject.apply(this,D);},dump:function(D,I){var F,H,K=[],L="{...}",E="f(){...}",J=", ",G=" => ";if(!A.isObject(D)){return D+"";}else{if(D instanceof Date||("nodeType" in D&&"tagName" in D)){return D;}else{if(A.isFunction(D)){return E;}}}I=(A.isNumber(I))?I:3;if(A.isArray(D)){K.push("[");for(F=0,H=D.length;F<H;F=F+1){if(A.isObject(D[F])){K.push((I>0)?A.dump(D[F],I-1):L);}else{K.push(D[F]);}K.push(J);}if(K.length>1){K.pop();}K.push("]");}else{K.push("{");for(F in D){if(A.hasOwnProperty(D,F)){K.push(F+G);if(A.isObject(D[F])){K.push((I>0)?A.dump(D[F],I-1):L);}else{K.push(D[F]);}K.push(J);}}if(K.length>1){K.pop();}K.push("}");}return K.join("");},substitute:function(S,E,L){var I,H,G,O,P,R,N=[],F,J="dump",M=" ",D="{",Q="}";for(;;){I=S.lastIndexOf(D);if(I<0){break;}H=S.indexOf(Q,I);if(I+1>=H){break;}F=S.substring(I+1,H);O=F;R=null;G=O.indexOf(M);if(G>-1){R=O.substring(G+1);O=O.substring(0,G);}P=E[O];if(L){P=L(O,P,R);}if(A.isObject(P)){if(A.isArray(P)){P=A.dump(P,parseInt(R,10));}else{R=R||"";var K=R.indexOf(J);if(K>-1){R=R.substring(4);}if(P.toString===Object.prototype.toString||K>-1){P=A.dump(P,parseInt(R,10));}else{P=P.toString();}}}else{if(!A.isString(P)&&!A.isNumber(P)){P="~-"+N.length+"-~";N[N.length]=F;}}S=S.substring(0,I)+P+S.substring(H+1);}for(I=N.length-1;I>=0;I=I-1){S=S.replace(new RegExp("~-"+I+"-~"),"{"+N[I]+"}","g");}return S;},trim:function(D){try{return D.replace(/^\s+|\s+$/g,"");}catch(E){return D;}},merge:function(){var G={},E=arguments;for(var F=0,D=E.length;F<D;F=F+1){A.augmentObject(G,E[F],true);}return G;},later:function(K,E,L,G,H){K=K||0;E=E||{};var F=L,J=G,I,D;if(A.isString(L)){F=E[L];}if(!F){throw new TypeError("method undefined");}if(!A.isArray(J)){J=[G];}I=function(){F.apply(E,J);};D=(H)?setInterval(I,K):setTimeout(I,K);return{interval:H,cancel:function(){if(this.interval){clearInterval(D);}else{clearTimeout(D);}}};},isValue:function(D){return(A.isObject(D)||A.isString(D)||A.isNumber(D)||A.isBoolean(D));}};A.hasOwnProperty=(Object.prototype.hasOwnProperty)?function(D,E){return D&&D.hasOwnProperty(E);}:function(D,E){return !A.isUndefined(D[E])&&D.constructor.prototype[E]!==D[E];};B.augmentObject(A,B,true);YAHOO.util.Lang=A;A.augment=A.augmentProto;YAHOO.augment=A.augmentProto;YAHOO.extend=A.extend;})();YAHOO.register("yahoo",YAHOO,{version:"2.5.2",build:"1076"});(function(){var B=YAHOO.util,K,I,J={},F={},M=window.document;YAHOO.env._id_counter=YAHOO.env._id_counter||0;var C=YAHOO.env.ua.opera,L=YAHOO.env.ua.webkit,A=YAHOO.env.ua.gecko,G=YAHOO.env.ua.ie;var E={HYPHEN:/(-[a-z])/i,ROOT_TAG:/^body|html$/i,OP_SCROLL:/^(?:inline|table-row)$/i};var N=function(P){if(!E.HYPHEN.test(P)){return P;}if(J[P]){return J[P];}var Q=P;while(E.HYPHEN.exec(Q)){Q=Q.replace(RegExp.$1,RegExp.$1.substr(1).toUpperCase());}J[P]=Q;return Q;};var O=function(Q){var P=F[Q];if(!P){P=new RegExp("(?:^|\\s+)"+Q+"(?:\\s+|$)");F[Q]=P;}return P;};if(M.defaultView&&M.defaultView.getComputedStyle){K=function(P,S){var R=null;if(S=="float"){S="cssFloat";}var Q=P.ownerDocument.defaultView.getComputedStyle(P,"");if(Q){R=Q[N(S)];}return P.style[S]||R;};}else{if(M.documentElement.currentStyle&&G){K=function(P,R){switch(N(R)){case"opacity":var T=100;try{T=P.filters["DXImageTransform.Microsoft.Alpha"].opacity;}catch(S){try{T=P.filters("alpha").opacity;}catch(S){}}return T/100;case"float":R="styleFloat";default:var Q=P.currentStyle?P.currentStyle[R]:null;return(P.style[R]||Q);}};}else{K=function(P,Q){return P.style[Q];};}}if(G){I=function(P,Q,R){switch(Q){case"opacity":if(YAHOO.lang.isString(P.style.filter)){P.style.filter="alpha(opacity="+R*100+")";if(!P.currentStyle||!P.currentStyle.hasLayout){P.style.zoom=1;}}break;case"float":Q="styleFloat";default:P.style[Q]=R;}};}else{I=function(P,Q,R){if(Q=="float"){Q="cssFloat";}P.style[Q]=R;};}var D=function(P,Q){return P&&P.nodeType==1&&(!Q||Q(P));};YAHOO.util.Dom={get:function(R){if(R&&(R.nodeType||R.item)){return R;}if(YAHOO.lang.isString(R)||!R){return M.getElementById(R);}if(R.length!==undefined){var S=[];for(var Q=0,P=R.length;Q<P;++Q){S[S.length]=B.Dom.get(R[Q]);}return S;}return R;},getStyle:function(P,R){R=N(R);var Q=function(S){return K(S,R);};return B.Dom.batch(P,Q,B.Dom,true);},setStyle:function(P,R,S){R=N(R);var Q=function(T){I(T,R,S);};B.Dom.batch(P,Q,B.Dom,true);},getXY:function(P){var Q=function(R){if((R.parentNode===null||R.offsetParent===null||this.getStyle(R,"display")=="none")&&R!=R.ownerDocument.body){return false;}return H(R);};return B.Dom.batch(P,Q,B.Dom,true);},getX:function(P){var Q=function(R){return B.Dom.getXY(R)[0];};return B.Dom.batch(P,Q,B.Dom,true);},getY:function(P){var Q=function(R){return B.Dom.getXY(R)[1];};return B.Dom.batch(P,Q,B.Dom,true);},setXY:function(P,S,R){var Q=function(V){var U=this.getStyle(V,"position");if(U=="static"){this.setStyle(V,"position","relative");U="relative";}var X=this.getXY(V);if(X===false){return false;}var W=[parseInt(this.getStyle(V,"left"),10),parseInt(this.getStyle(V,"top"),10)];if(isNaN(W[0])){W[0]=(U=="relative")?0:V.offsetLeft;}if(isNaN(W[1])){W[1]=(U=="relative")?0:V.offsetTop;}if(S[0]!==null){V.style.left=S[0]-X[0]+W[0]+"px";}if(S[1]!==null){V.style.top=S[1]-X[1]+W[1]+"px";}if(!R){var T=this.getXY(V);if((S[0]!==null&&T[0]!=S[0])||(S[1]!==null&&T[1]!=S[1])){this.setXY(V,S,true);}}};B.Dom.batch(P,Q,B.Dom,true);},setX:function(Q,P){B.Dom.setXY(Q,[P,null]);},setY:function(P,Q){B.Dom.setXY(P,[null,Q]);},getRegion:function(P){var Q=function(R){if((R.parentNode===null||R.offsetParent===null||this.getStyle(R,"display")=="none")&&R!=R.ownerDocument.body){return false;}var S=B.Region.getRegion(R);return S;};return B.Dom.batch(P,Q,B.Dom,true);},getClientWidth:function(){return B.Dom.getViewportWidth();},getClientHeight:function(){return B.Dom.getViewportHeight();},getElementsByClassName:function(T,X,U,V){X=X||"*";U=(U)?B.Dom.get(U):null||M;if(!U){return[];}var Q=[],P=U.getElementsByTagName(X),W=O(T);for(var R=0,S=P.length;R<S;++R){if(W.test(P[R].className)){Q[Q.length]=P[R];if(V){V.call(P[R],P[R]);}}}return Q;},hasClass:function(R,Q){var P=O(Q);var S=function(T){return P.test(T.className);};return B.Dom.batch(R,S,B.Dom,true);},addClass:function(Q,P){var R=function(S){if(this.hasClass(S,P)){return false;}S.className=YAHOO.lang.trim([S.className,P].join(" "));return true;};return B.Dom.batch(Q,R,B.Dom,true);},removeClass:function(R,Q){var P=O(Q);var S=function(T){if(!Q||!this.hasClass(T,Q)){return false;}var U=T.className;T.className=U.replace(P," ");if(this.hasClass(T,Q)){this.removeClass(T,Q);}T.className=YAHOO.lang.trim(T.className);return true;};return B.Dom.batch(R,S,B.Dom,true);},replaceClass:function(S,Q,P){if(!P||Q===P){return false;}var R=O(Q);var T=function(U){if(!this.hasClass(U,Q)){this.addClass(U,P);return true;}U.className=U.className.replace(R," "+P+" ");if(this.hasClass(U,Q)){this.replaceClass(U,Q,P);}U.className=YAHOO.lang.trim(U.className);return true;};return B.Dom.batch(S,T,B.Dom,true);},generateId:function(P,R){R=R||"yui-gen";var Q=function(S){if(S&&S.id){return S.id;}var T=R+YAHOO.env._id_counter++;if(S){S.id=T;}return T;};return B.Dom.batch(P,Q,B.Dom,true)||Q.apply(B.Dom,arguments);},isAncestor:function(P,Q){P=B.Dom.get(P);Q=B.Dom.get(Q);if(!P||!Q){return false;}if(P.contains&&Q.nodeType&&!L){return P.contains(Q);}else{if(P.compareDocumentPosition&&Q.nodeType){return !!(P.compareDocumentPosition(Q)&16);}else{if(Q.nodeType){return !!this.getAncestorBy(Q,function(R){return R==P;});}}}return false;},inDocument:function(P){return this.isAncestor(M.documentElement,P);},getElementsBy:function(W,Q,R,T){Q=Q||"*";R=(R)?B.Dom.get(R):null||M;if(!R){return[];}var S=[],V=R.getElementsByTagName(Q);for(var U=0,P=V.length;U<P;++U){if(W(V[U])){S[S.length]=V[U];if(T){T(V[U]);}}}return S;},batch:function(T,W,V,R){T=(T&&(T.tagName||T.item))?T:B.Dom.get(T);if(!T||!W){return false;}var S=(R)?V:window;if(T.tagName||T.length===undefined){return W.call(S,T,V);}var U=[];for(var Q=0,P=T.length;Q<P;++Q){U[U.length]=W.call(S,T[Q],V);}return U;},getDocumentHeight:function(){var Q=(M.compatMode!="CSS1Compat")?M.body.scrollHeight:M.documentElement.scrollHeight;var P=Math.max(Q,B.Dom.getViewportHeight());return P;},getDocumentWidth:function(){var Q=(M.compatMode!="CSS1Compat")?M.body.scrollWidth:M.documentElement.scrollWidth;var P=Math.max(Q,B.Dom.getViewportWidth());return P;},getViewportHeight:function(){var P=self.innerHeight;
var Q=M.compatMode;if((Q||G)&&!C){P=(Q=="CSS1Compat")?M.documentElement.clientHeight:M.body.clientHeight;}return P;},getViewportWidth:function(){var P=self.innerWidth;var Q=M.compatMode;if(Q||G){P=(Q=="CSS1Compat")?M.documentElement.clientWidth:M.body.clientWidth;}return P;},getAncestorBy:function(P,Q){while(P=P.parentNode){if(D(P,Q)){return P;}}return null;},getAncestorByClassName:function(Q,P){Q=B.Dom.get(Q);if(!Q){return null;}var R=function(S){return B.Dom.hasClass(S,P);};return B.Dom.getAncestorBy(Q,R);},getAncestorByTagName:function(Q,P){Q=B.Dom.get(Q);if(!Q){return null;}var R=function(S){return S.tagName&&S.tagName.toUpperCase()==P.toUpperCase();};return B.Dom.getAncestorBy(Q,R);},getPreviousSiblingBy:function(P,Q){while(P){P=P.previousSibling;if(D(P,Q)){return P;}}return null;},getPreviousSibling:function(P){P=B.Dom.get(P);if(!P){return null;}return B.Dom.getPreviousSiblingBy(P);},getNextSiblingBy:function(P,Q){while(P){P=P.nextSibling;if(D(P,Q)){return P;}}return null;},getNextSibling:function(P){P=B.Dom.get(P);if(!P){return null;}return B.Dom.getNextSiblingBy(P);},getFirstChildBy:function(P,R){var Q=(D(P.firstChild,R))?P.firstChild:null;return Q||B.Dom.getNextSiblingBy(P.firstChild,R);},getFirstChild:function(P,Q){P=B.Dom.get(P);if(!P){return null;}return B.Dom.getFirstChildBy(P);},getLastChildBy:function(P,R){if(!P){return null;}var Q=(D(P.lastChild,R))?P.lastChild:null;return Q||B.Dom.getPreviousSiblingBy(P.lastChild,R);},getLastChild:function(P){P=B.Dom.get(P);return B.Dom.getLastChildBy(P);},getChildrenBy:function(Q,S){var R=B.Dom.getFirstChildBy(Q,S);var P=R?[R]:[];B.Dom.getNextSiblingBy(R,function(T){if(!S||S(T)){P[P.length]=T;}return false;});return P;},getChildren:function(P){P=B.Dom.get(P);if(!P){}return B.Dom.getChildrenBy(P);},getDocumentScrollLeft:function(P){P=P||M;return Math.max(P.documentElement.scrollLeft,P.body.scrollLeft);},getDocumentScrollTop:function(P){P=P||M;return Math.max(P.documentElement.scrollTop,P.body.scrollTop);},insertBefore:function(Q,P){Q=B.Dom.get(Q);P=B.Dom.get(P);if(!Q||!P||!P.parentNode){return null;}return P.parentNode.insertBefore(Q,P);},insertAfter:function(Q,P){Q=B.Dom.get(Q);P=B.Dom.get(P);if(!Q||!P||!P.parentNode){return null;}if(P.nextSibling){return P.parentNode.insertBefore(Q,P.nextSibling);}else{return P.parentNode.appendChild(Q);}},getClientRegion:function(){var R=B.Dom.getDocumentScrollTop(),Q=B.Dom.getDocumentScrollLeft(),S=B.Dom.getViewportWidth()+Q,P=B.Dom.getViewportHeight()+R;return new B.Region(R,S,P,Q);}};var H=function(){if(M.documentElement.getBoundingClientRect){return function(Q){var R=Q.getBoundingClientRect();var P=Q.ownerDocument;return[R.left+B.Dom.getDocumentScrollLeft(P),R.top+B.Dom.getDocumentScrollTop(P)];};}else{return function(R){var S=[R.offsetLeft,R.offsetTop];var Q=R.offsetParent;var P=(L&&B.Dom.getStyle(R,"position")=="absolute"&&R.offsetParent==R.ownerDocument.body);if(Q!=R){while(Q){S[0]+=Q.offsetLeft;S[1]+=Q.offsetTop;if(!P&&L&&B.Dom.getStyle(Q,"position")=="absolute"){P=true;}Q=Q.offsetParent;}}if(P){S[0]-=R.ownerDocument.body.offsetLeft;S[1]-=R.ownerDocument.body.offsetTop;}Q=R.parentNode;while(Q.tagName&&!E.ROOT_TAG.test(Q.tagName)){if(Q.scrollTop||Q.scrollLeft){if(!E.OP_SCROLL.test(B.Dom.getStyle(Q,"display"))){if(!C||B.Dom.getStyle(Q,"overflow")!=="visible"){S[0]-=Q.scrollLeft;S[1]-=Q.scrollTop;}}}Q=Q.parentNode;}return S;};}}();})();YAHOO.util.Region=function(C,D,A,B){this.top=C;this[1]=C;this.right=D;this.bottom=A;this.left=B;this[0]=B;};YAHOO.util.Region.prototype.contains=function(A){return(A.left>=this.left&&A.right<=this.right&&A.top>=this.top&&A.bottom<=this.bottom);};YAHOO.util.Region.prototype.getArea=function(){return((this.bottom-this.top)*(this.right-this.left));};YAHOO.util.Region.prototype.intersect=function(E){var C=Math.max(this.top,E.top);var D=Math.min(this.right,E.right);var A=Math.min(this.bottom,E.bottom);var B=Math.max(this.left,E.left);if(A>=C&&D>=B){return new YAHOO.util.Region(C,D,A,B);}else{return null;}};YAHOO.util.Region.prototype.union=function(E){var C=Math.min(this.top,E.top);var D=Math.max(this.right,E.right);var A=Math.max(this.bottom,E.bottom);var B=Math.min(this.left,E.left);return new YAHOO.util.Region(C,D,A,B);};YAHOO.util.Region.prototype.toString=function(){return("Region {"+"top: "+this.top+", right: "+this.right+", bottom: "+this.bottom+", left: "+this.left+"}");};YAHOO.util.Region.getRegion=function(D){var F=YAHOO.util.Dom.getXY(D);var C=F[1];var E=F[0]+D.offsetWidth;var A=F[1]+D.offsetHeight;var B=F[0];return new YAHOO.util.Region(C,E,A,B);};YAHOO.util.Point=function(A,B){if(YAHOO.lang.isArray(A)){B=A[1];A=A[0];}this.x=this.right=this.left=this[0]=A;this.y=this.top=this.bottom=this[1]=B;};YAHOO.util.Point.prototype=new YAHOO.util.Region();YAHOO.register("dom",YAHOO.util.Dom,{version:"2.5.2",build:"1076"});YAHOO.util.CustomEvent=function(D,B,C,A){this.type=D;this.scope=B||window;this.silent=C;this.signature=A||YAHOO.util.CustomEvent.LIST;this.subscribers=[];if(!this.silent){}var E="_YUICEOnSubscribe";if(D!==E){this.subscribeEvent=new YAHOO.util.CustomEvent(E,this,true);}this.lastError=null;};YAHOO.util.CustomEvent.LIST=0;YAHOO.util.CustomEvent.FLAT=1;YAHOO.util.CustomEvent.prototype={subscribe:function(B,C,A){if(!B){throw new Error("Invalid callback for subscriber to '"+this.type+"'");}if(this.subscribeEvent){this.subscribeEvent.fire(B,C,A);}this.subscribers.push(new YAHOO.util.Subscriber(B,C,A));},unsubscribe:function(D,F){if(!D){return this.unsubscribeAll();}var E=false;for(var B=0,A=this.subscribers.length;B<A;++B){var C=this.subscribers[B];if(C&&C.contains(D,F)){this._delete(B);E=true;}}return E;},fire:function(){this.lastError=null;var K=[],E=this.subscribers.length;if(!E&&this.silent){return true;}var I=[].slice.call(arguments,0),G=true,D,J=false;if(!this.silent){}var C=this.subscribers.slice(),A=YAHOO.util.Event.throwErrors;for(D=0;D<E;++D){var M=C[D];if(!M){J=true;}else{if(!this.silent){}var L=M.getScope(this.scope);if(this.signature==YAHOO.util.CustomEvent.FLAT){var B=null;if(I.length>0){B=I[0];}try{G=M.fn.call(L,B,M.obj);}catch(F){this.lastError=F;if(A){throw F;}}}else{try{G=M.fn.call(L,this.type,I,M.obj);}catch(H){this.lastError=H;if(A){throw H;}}}if(false===G){if(!this.silent){}break;}}}return(G!==false);},unsubscribeAll:function(){for(var A=this.subscribers.length-1;A>-1;A--){this._delete(A);}this.subscribers=[];return A;},_delete:function(A){var B=this.subscribers[A];if(B){delete B.fn;delete B.obj;}this.subscribers.splice(A,1);},toString:function(){return"CustomEvent: "+"'"+this.type+"', "+"scope: "+this.scope;}};YAHOO.util.Subscriber=function(B,C,A){this.fn=B;this.obj=YAHOO.lang.isUndefined(C)?null:C;this.override=A;};YAHOO.util.Subscriber.prototype.getScope=function(A){if(this.override){if(this.override===true){return this.obj;}else{return this.override;}}return A;};YAHOO.util.Subscriber.prototype.contains=function(A,B){if(B){return(this.fn==A&&this.obj==B);}else{return(this.fn==A);}};YAHOO.util.Subscriber.prototype.toString=function(){return"Subscriber { obj: "+this.obj+", override: "+(this.override||"no")+" }";};if(!YAHOO.util.Event){YAHOO.util.Event=function(){var H=false;var I=[];var J=[];var G=[];var E=[];var C=0;var F=[];var B=[];var A=0;var D={63232:38,63233:40,63234:37,63235:39,63276:33,63277:34,25:9};return{POLL_RETRYS:2000,POLL_INTERVAL:20,EL:0,TYPE:1,FN:2,WFN:3,UNLOAD_OBJ:3,ADJ_SCOPE:4,OBJ:5,OVERRIDE:6,lastError:null,isSafari:YAHOO.env.ua.webkit,webkit:YAHOO.env.ua.webkit,isIE:YAHOO.env.ua.ie,_interval:null,_dri:null,DOMReady:false,throwErrors:false,startInterval:function(){if(!this._interval){var K=this;var L=function(){K._tryPreloadAttach();};this._interval=setInterval(L,this.POLL_INTERVAL);}},onAvailable:function(P,M,Q,O,N){var K=(YAHOO.lang.isString(P))?[P]:P;for(var L=0;L<K.length;L=L+1){F.push({id:K[L],fn:M,obj:Q,override:O,checkReady:N});}C=this.POLL_RETRYS;this.startInterval();},onContentReady:function(M,K,N,L){this.onAvailable(M,K,N,L,true);},onDOMReady:function(K,M,L){if(this.DOMReady){setTimeout(function(){var N=window;if(L){if(L===true){N=M;}else{N=L;}}K.call(N,"DOMReady",[],M);},0);}else{this.DOMReadyEvent.subscribe(K,M,L);}},addListener:function(M,K,V,Q,L){if(!V||!V.call){return false;}if(this._isValidCollection(M)){var W=true;for(var R=0,T=M.length;R<T;++R){W=this.on(M[R],K,V,Q,L)&&W;}return W;}else{if(YAHOO.lang.isString(M)){var P=this.getEl(M);if(P){M=P;}else{this.onAvailable(M,function(){YAHOO.util.Event.on(M,K,V,Q,L);});return true;}}}if(!M){return false;}if("unload"==K&&Q!==this){J[J.length]=[M,K,V,Q,L];return true;}var Y=M;if(L){if(L===true){Y=Q;}else{Y=L;}}var N=function(Z){return V.call(Y,YAHOO.util.Event.getEvent(Z,M),Q);};var X=[M,K,V,N,Y,Q,L];var S=I.length;I[S]=X;if(this.useLegacyEvent(M,K)){var O=this.getLegacyIndex(M,K);if(O==-1||M!=G[O][0]){O=G.length;B[M.id+K]=O;G[O]=[M,K,M["on"+K]];E[O]=[];M["on"+K]=function(Z){YAHOO.util.Event.fireLegacyEvent(YAHOO.util.Event.getEvent(Z),O);};}E[O].push(X);}else{try{this._simpleAdd(M,K,N,false);}catch(U){this.lastError=U;this.removeListener(M,K,V);return false;}}return true;},fireLegacyEvent:function(O,M){var Q=true,K,S,R,T,P;S=E[M].slice();for(var L=0,N=S.length;L<N;++L){R=S[L];if(R&&R[this.WFN]){T=R[this.ADJ_SCOPE];P=R[this.WFN].call(T,O);Q=(Q&&P);}}K=G[M];if(K&&K[2]){K[2](O);}return Q;},getLegacyIndex:function(L,M){var K=this.generateId(L)+M;if(typeof B[K]=="undefined"){return -1;}else{return B[K];}},useLegacyEvent:function(L,M){if(this.webkit&&("click"==M||"dblclick"==M)){var K=parseInt(this.webkit,10);if(!isNaN(K)&&K<418){return true;}}return false;},removeListener:function(L,K,T){var O,R,V;if(typeof L=="string"){L=this.getEl(L);}else{if(this._isValidCollection(L)){var U=true;for(O=L.length-1;O>-1;O--){U=(this.removeListener(L[O],K,T)&&U);}return U;}}if(!T||!T.call){return this.purgeElement(L,false,K);}if("unload"==K){for(O=J.length-1;O>-1;O--){V=J[O];if(V&&V[0]==L&&V[1]==K&&V[2]==T){J.splice(O,1);return true;}}return false;}var P=null;var Q=arguments[3];if("undefined"===typeof Q){Q=this._getCacheIndex(L,K,T);}if(Q>=0){P=I[Q];}if(!L||!P){return false;}if(this.useLegacyEvent(L,K)){var N=this.getLegacyIndex(L,K);var M=E[N];if(M){for(O=0,R=M.length;O<R;++O){V=M[O];if(V&&V[this.EL]==L&&V[this.TYPE]==K&&V[this.FN]==T){M.splice(O,1);break;}}}}else{try{this._simpleRemove(L,K,P[this.WFN],false);}catch(S){this.lastError=S;return false;}}delete I[Q][this.WFN];delete I[Q][this.FN];I.splice(Q,1);return true;},getTarget:function(M,L){var K=M.target||M.srcElement;return this.resolveTextNode(K);},resolveTextNode:function(L){try{if(L&&3==L.nodeType){return L.parentNode;}}catch(K){}return L;},getPageX:function(L){var K=L.pageX;if(!K&&0!==K){K=L.clientX||0;if(this.isIE){K+=this._getScrollLeft();}}return K;},getPageY:function(K){var L=K.pageY;if(!L&&0!==L){L=K.clientY||0;if(this.isIE){L+=this._getScrollTop();}}return L;
},getXY:function(K){return[this.getPageX(K),this.getPageY(K)];},getRelatedTarget:function(L){var K=L.relatedTarget;if(!K){if(L.type=="mouseout"){K=L.toElement;}else{if(L.type=="mouseover"){K=L.fromElement;}}}return this.resolveTextNode(K);},getTime:function(M){if(!M.time){var L=new Date().getTime();try{M.time=L;}catch(K){this.lastError=K;return L;}}return M.time;},stopEvent:function(K){this.stopPropagation(K);this.preventDefault(K);},stopPropagation:function(K){if(K.stopPropagation){K.stopPropagation();}else{K.cancelBubble=true;}},preventDefault:function(K){if(K.preventDefault){K.preventDefault();}else{K.returnValue=false;}},getEvent:function(M,K){var L=M||window.event;if(!L){var N=this.getEvent.caller;while(N){L=N.arguments[0];if(L&&Event==L.constructor){break;}N=N.caller;}}return L;},getCharCode:function(L){var K=L.keyCode||L.charCode||0;if(YAHOO.env.ua.webkit&&(K in D)){K=D[K];}return K;},_getCacheIndex:function(O,P,N){for(var M=0,L=I.length;M<L;M=M+1){var K=I[M];if(K&&K[this.FN]==N&&K[this.EL]==O&&K[this.TYPE]==P){return M;}}return -1;},generateId:function(K){var L=K.id;if(!L){L="yuievtautoid-"+A;++A;K.id=L;}return L;},_isValidCollection:function(L){try{return(L&&typeof L!=="string"&&L.length&&!L.tagName&&!L.alert&&typeof L[0]!=="undefined");}catch(K){return false;}},elCache:{},getEl:function(K){return(typeof K==="string")?document.getElementById(K):K;},clearCache:function(){},DOMReadyEvent:new YAHOO.util.CustomEvent("DOMReady",this),_load:function(L){if(!H){H=true;var K=YAHOO.util.Event;K._ready();K._tryPreloadAttach();}},_ready:function(L){var K=YAHOO.util.Event;if(!K.DOMReady){K.DOMReady=true;K.DOMReadyEvent.fire();K._simpleRemove(document,"DOMContentLoaded",K._ready);}},_tryPreloadAttach:function(){if(F.length===0){C=0;clearInterval(this._interval);this._interval=null;return ;}if(this.locked){return ;}if(this.isIE){if(!this.DOMReady){this.startInterval();return ;}}this.locked=true;var Q=!H;if(!Q){Q=(C>0&&F.length>0);}var P=[];var R=function(T,U){var S=T;if(U.override){if(U.override===true){S=U.obj;}else{S=U.override;}}U.fn.call(S,U.obj);};var L,K,O,N,M=[];for(L=0,K=F.length;L<K;L=L+1){O=F[L];if(O){N=this.getEl(O.id);if(N){if(O.checkReady){if(H||N.nextSibling||!Q){M.push(O);F[L]=null;}}else{R(N,O);F[L]=null;}}else{P.push(O);}}}for(L=0,K=M.length;L<K;L=L+1){O=M[L];R(this.getEl(O.id),O);}C--;if(Q){for(L=F.length-1;L>-1;L--){O=F[L];if(!O||!O.id){F.splice(L,1);}}this.startInterval();}else{clearInterval(this._interval);this._interval=null;}this.locked=false;},purgeElement:function(O,P,R){var M=(YAHOO.lang.isString(O))?this.getEl(O):O;var Q=this.getListeners(M,R),N,K;if(Q){for(N=Q.length-1;N>-1;N--){var L=Q[N];this.removeListener(M,L.type,L.fn);}}if(P&&M&&M.childNodes){for(N=0,K=M.childNodes.length;N<K;++N){this.purgeElement(M.childNodes[N],P,R);}}},getListeners:function(M,K){var P=[],L;if(!K){L=[I,J];}else{if(K==="unload"){L=[J];}else{L=[I];}}var R=(YAHOO.lang.isString(M))?this.getEl(M):M;for(var O=0;O<L.length;O=O+1){var T=L[O];if(T){for(var Q=0,S=T.length;Q<S;++Q){var N=T[Q];if(N&&N[this.EL]===R&&(!K||K===N[this.TYPE])){P.push({type:N[this.TYPE],fn:N[this.FN],obj:N[this.OBJ],adjust:N[this.OVERRIDE],scope:N[this.ADJ_SCOPE],index:Q});}}}}return(P.length)?P:null;},_unload:function(Q){var K=YAHOO.util.Event,N,M,L,P,O,R=J.slice();for(N=0,P=J.length;N<P;++N){L=R[N];if(L){var S=window;if(L[K.ADJ_SCOPE]){if(L[K.ADJ_SCOPE]===true){S=L[K.UNLOAD_OBJ];}else{S=L[K.ADJ_SCOPE];}}L[K.FN].call(S,K.getEvent(Q,L[K.EL]),L[K.UNLOAD_OBJ]);R[N]=null;L=null;S=null;}}J=null;if(I){for(M=I.length-1;M>-1;M--){L=I[M];if(L){K.removeListener(L[K.EL],L[K.TYPE],L[K.FN],M);}}L=null;}G=null;K._simpleRemove(window,"unload",K._unload);},_getScrollLeft:function(){return this._getScroll()[1];},_getScrollTop:function(){return this._getScroll()[0];},_getScroll:function(){var K=document.documentElement,L=document.body;if(K&&(K.scrollTop||K.scrollLeft)){return[K.scrollTop,K.scrollLeft];}else{if(L){return[L.scrollTop,L.scrollLeft];}else{return[0,0];}}},regCE:function(){},_simpleAdd:function(){if(window.addEventListener){return function(M,N,L,K){M.addEventListener(N,L,(K));};}else{if(window.attachEvent){return function(M,N,L,K){M.attachEvent("on"+N,L);};}else{return function(){};}}}(),_simpleRemove:function(){if(window.removeEventListener){return function(M,N,L,K){M.removeEventListener(N,L,(K));};}else{if(window.detachEvent){return function(L,M,K){L.detachEvent("on"+M,K);};}else{return function(){};}}}()};}();(function(){var EU=YAHOO.util.Event;EU.on=EU.addListener;
/* DOMReady: based on work by: Dean Edwards/John Resig/Matthias Miller */
if(EU.isIE){YAHOO.util.Event.onDOMReady(YAHOO.util.Event._tryPreloadAttach,YAHOO.util.Event,true);var n=document.createElement("p");EU._dri=setInterval(function(){try{n.doScroll("left");clearInterval(EU._dri);EU._dri=null;EU._ready();n=null;}catch(ex){}},EU.POLL_INTERVAL);}else{if(EU.webkit&&EU.webkit<525){EU._dri=setInterval(function(){var rs=document.readyState;if("loaded"==rs||"complete"==rs){clearInterval(EU._dri);EU._dri=null;EU._ready();}},EU.POLL_INTERVAL);}else{EU._simpleAdd(document,"DOMContentLoaded",EU._ready);}}EU._simpleAdd(window,"load",EU._load);EU._simpleAdd(window,"unload",EU._unload);EU._tryPreloadAttach();})();}YAHOO.util.EventProvider=function(){};YAHOO.util.EventProvider.prototype={__yui_events:null,__yui_subscribers:null,subscribe:function(A,C,F,E){this.__yui_events=this.__yui_events||{};var D=this.__yui_events[A];if(D){D.subscribe(C,F,E);}else{this.__yui_subscribers=this.__yui_subscribers||{};var B=this.__yui_subscribers;if(!B[A]){B[A]=[];}B[A].push({fn:C,obj:F,override:E});}},unsubscribe:function(C,E,G){this.__yui_events=this.__yui_events||{};var A=this.__yui_events;if(C){var F=A[C];if(F){return F.unsubscribe(E,G);}}else{var B=true;for(var D in A){if(YAHOO.lang.hasOwnProperty(A,D)){B=B&&A[D].unsubscribe(E,G);}}return B;}return false;},unsubscribeAll:function(A){return this.unsubscribe(A);},createEvent:function(G,D){this.__yui_events=this.__yui_events||{};var A=D||{};var I=this.__yui_events;
if(I[G]){}else{var H=A.scope||this;var E=(A.silent);var B=new YAHOO.util.CustomEvent(G,H,E,YAHOO.util.CustomEvent.FLAT);I[G]=B;if(A.onSubscribeCallback){B.subscribeEvent.subscribe(A.onSubscribeCallback);}this.__yui_subscribers=this.__yui_subscribers||{};var F=this.__yui_subscribers[G];if(F){for(var C=0;C<F.length;++C){B.subscribe(F[C].fn,F[C].obj,F[C].override);}}}return I[G];},fireEvent:function(E,D,A,C){this.__yui_events=this.__yui_events||{};var G=this.__yui_events[E];if(!G){return null;}var B=[];for(var F=1;F<arguments.length;++F){B.push(arguments[F]);}return G.fire.apply(G,B);},hasEvent:function(A){if(this.__yui_events){if(this.__yui_events[A]){return true;}}return false;}};YAHOO.util.KeyListener=function(A,F,B,C){if(!A){}else{if(!F){}else{if(!B){}}}if(!C){C=YAHOO.util.KeyListener.KEYDOWN;}var D=new YAHOO.util.CustomEvent("keyPressed");this.enabledEvent=new YAHOO.util.CustomEvent("enabled");this.disabledEvent=new YAHOO.util.CustomEvent("disabled");if(typeof A=="string"){A=document.getElementById(A);}if(typeof B=="function"){D.subscribe(B);}else{D.subscribe(B.fn,B.scope,B.correctScope);}function E(J,I){if(!F.shift){F.shift=false;}if(!F.alt){F.alt=false;}if(!F.ctrl){F.ctrl=false;}if(J.shiftKey==F.shift&&J.altKey==F.alt&&J.ctrlKey==F.ctrl){var G;if(F.keys instanceof Array){for(var H=0;H<F.keys.length;H++){G=F.keys[H];if(G==J.charCode){D.fire(J.charCode,J);break;}else{if(G==J.keyCode){D.fire(J.keyCode,J);break;}}}}else{G=F.keys;if(G==J.charCode){D.fire(J.charCode,J);}else{if(G==J.keyCode){D.fire(J.keyCode,J);}}}}}this.enable=function(){if(!this.enabled){YAHOO.util.Event.addListener(A,C,E);this.enabledEvent.fire(F);}this.enabled=true;};this.disable=function(){if(this.enabled){YAHOO.util.Event.removeListener(A,C,E);this.disabledEvent.fire(F);}this.enabled=false;};this.toString=function(){return"KeyListener ["+F.keys+"] "+A.tagName+(A.id?"["+A.id+"]":"");};};YAHOO.util.KeyListener.KEYDOWN="keydown";YAHOO.util.KeyListener.KEYUP="keyup";YAHOO.util.KeyListener.KEY={ALT:18,BACK_SPACE:8,CAPS_LOCK:20,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,META:224,NUM_LOCK:144,PAGE_DOWN:34,PAGE_UP:33,PAUSE:19,PRINTSCREEN:44,RIGHT:39,SCROLL_LOCK:145,SHIFT:16,SPACE:32,TAB:9,UP:38};YAHOO.register("event",YAHOO.util.Event,{version:"2.5.2",build:"1076"});YAHOO.register("yahoo-dom-event", YAHOO, {version: "2.5.2", build: "1076"});


/*../vendor/yui_252/build/animation/animation-min.js*/

/*
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 2.5.2
*/
(function(){var B=YAHOO.util;var A=function(D,C,E,F){if(!D){}this.init(D,C,E,F);};A.NAME="Anim";A.prototype={toString:function(){var C=this.getEl()||{};var D=C.id||C.tagName;return(this.constructor.NAME+": "+D);},patterns:{noNegatives:/width|height|opacity|padding/i,offsetAttribute:/^((width|height)|(top|left))$/,defaultUnit:/width|height|top$|bottom$|left$|right$/i,offsetUnit:/\d+(em|%|en|ex|pt|in|cm|mm|pc)$/i},doMethod:function(C,E,D){return this.method(this.currentFrame,E,D-E,this.totalFrames);},setAttribute:function(C,E,D){if(this.patterns.noNegatives.test(C)){E=(E>0)?E:0;}B.Dom.setStyle(this.getEl(),C,E+D);},getAttribute:function(C){var E=this.getEl();var G=B.Dom.getStyle(E,C);if(G!=="auto"&&!this.patterns.offsetUnit.test(G)){return parseFloat(G);}var D=this.patterns.offsetAttribute.exec(C)||[];var H=!!(D[3]);var F=!!(D[2]);if(F||(B.Dom.getStyle(E,"position")=="absolute"&&H)){G=E["offset"+D[0].charAt(0).toUpperCase()+D[0].substr(1)];}else{G=0;}return G;},getDefaultUnit:function(C){if(this.patterns.defaultUnit.test(C)){return"px";}return"";},setRuntimeAttribute:function(D){var I;var E;var F=this.attributes;this.runtimeAttributes[D]={};var H=function(J){return(typeof J!=="undefined");};if(!H(F[D]["to"])&&!H(F[D]["by"])){return false;}I=(H(F[D]["from"]))?F[D]["from"]:this.getAttribute(D);if(H(F[D]["to"])){E=F[D]["to"];}else{if(H(F[D]["by"])){if(I.constructor==Array){E=[];for(var G=0,C=I.length;G<C;++G){E[G]=I[G]+F[D]["by"][G]*1;}}else{E=I+F[D]["by"]*1;}}}this.runtimeAttributes[D].start=I;this.runtimeAttributes[D].end=E;this.runtimeAttributes[D].unit=(H(F[D].unit))?F[D]["unit"]:this.getDefaultUnit(D);return true;},init:function(E,J,I,C){var D=false;var F=null;var H=0;E=B.Dom.get(E);this.attributes=J||{};this.duration=!YAHOO.lang.isUndefined(I)?I:1;this.method=C||B.Easing.easeNone;this.useSeconds=true;this.currentFrame=0;this.totalFrames=B.AnimMgr.fps;this.setEl=function(M){E=B.Dom.get(M);};this.getEl=function(){return E;};this.isAnimated=function(){return D;};this.getStartTime=function(){return F;};this.runtimeAttributes={};this.animate=function(){if(this.isAnimated()){return false;}this.currentFrame=0;this.totalFrames=(this.useSeconds)?Math.ceil(B.AnimMgr.fps*this.duration):this.duration;if(this.duration===0&&this.useSeconds){this.totalFrames=1;}B.AnimMgr.registerElement(this);return true;};this.stop=function(M){if(!this.isAnimated()){return false;}if(M){this.currentFrame=this.totalFrames;this._onTween.fire();}B.AnimMgr.stop(this);};var L=function(){this.onStart.fire();this.runtimeAttributes={};for(var M in this.attributes){this.setRuntimeAttribute(M);}D=true;H=0;F=new Date();};var K=function(){var O={duration:new Date()-this.getStartTime(),currentFrame:this.currentFrame};O.toString=function(){return("duration: "+O.duration+", currentFrame: "+O.currentFrame);};this.onTween.fire(O);var N=this.runtimeAttributes;for(var M in N){this.setAttribute(M,this.doMethod(M,N[M].start,N[M].end),N[M].unit);}H+=1;};var G=function(){var M=(new Date()-F)/1000;var N={duration:M,frames:H,fps:H/M};N.toString=function(){return("duration: "+N.duration+", frames: "+N.frames+", fps: "+N.fps);};D=false;H=0;this.onComplete.fire(N);};this._onStart=new B.CustomEvent("_start",this,true);this.onStart=new B.CustomEvent("start",this);this.onTween=new B.CustomEvent("tween",this);this._onTween=new B.CustomEvent("_tween",this,true);this.onComplete=new B.CustomEvent("complete",this);this._onComplete=new B.CustomEvent("_complete",this,true);this._onStart.subscribe(L);this._onTween.subscribe(K);this._onComplete.subscribe(G);}};B.Anim=A;})();YAHOO.util.AnimMgr=new function(){var C=null;var B=[];var A=0;this.fps=1000;this.delay=1;this.registerElement=function(F){B[B.length]=F;A+=1;F._onStart.fire();this.start();};this.unRegister=function(G,F){F=F||E(G);if(!G.isAnimated()||F==-1){return false;}G._onComplete.fire();B.splice(F,1);A-=1;if(A<=0){this.stop();}return true;};this.start=function(){if(C===null){C=setInterval(this.run,this.delay);}};this.stop=function(H){if(!H){clearInterval(C);for(var G=0,F=B.length;G<F;++G){this.unRegister(B[0],0);}B=[];C=null;A=0;}else{this.unRegister(H);}};this.run=function(){for(var H=0,F=B.length;H<F;++H){var G=B[H];if(!G||!G.isAnimated()){continue;}if(G.currentFrame<G.totalFrames||G.totalFrames===null){G.currentFrame+=1;if(G.useSeconds){D(G);}G._onTween.fire();}else{YAHOO.util.AnimMgr.stop(G,H);}}};var E=function(H){for(var G=0,F=B.length;G<F;++G){if(B[G]==H){return G;}}return -1;};var D=function(G){var J=G.totalFrames;var I=G.currentFrame;var H=(G.currentFrame*G.duration*1000/G.totalFrames);var F=(new Date()-G.getStartTime());var K=0;if(F<G.duration*1000){K=Math.round((F/H-1)*G.currentFrame);}else{K=J-(I+1);}if(K>0&&isFinite(K)){if(G.currentFrame+K>=J){K=J-(I+1);}G.currentFrame+=K;}};};YAHOO.util.Bezier=new function(){this.getPosition=function(E,D){var F=E.length;var C=[];for(var B=0;B<F;++B){C[B]=[E[B][0],E[B][1]];}for(var A=1;A<F;++A){for(B=0;B<F-A;++B){C[B][0]=(1-D)*C[B][0]+D*C[parseInt(B+1,10)][0];C[B][1]=(1-D)*C[B][1]+D*C[parseInt(B+1,10)][1];}}return[C[0][0],C[0][1]];};};(function(){var A=function(F,E,G,H){A.superclass.constructor.call(this,F,E,G,H);};A.NAME="ColorAnim";var C=YAHOO.util;YAHOO.extend(A,C.Anim);var D=A.superclass;var B=A.prototype;B.patterns.color=/color$/i;B.patterns.rgb=/^rgb\(([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\)$/i;B.patterns.hex=/^#?([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i;B.patterns.hex3=/^#?([0-9A-F]{1})([0-9A-F]{1})([0-9A-F]{1})$/i;B.patterns.transparent=/^transparent|rgba\(0, 0, 0, 0\)$/;B.parseColor=function(E){if(E.length==3){return E;}var F=this.patterns.hex.exec(E);if(F&&F.length==4){return[parseInt(F[1],16),parseInt(F[2],16),parseInt(F[3],16)];}F=this.patterns.rgb.exec(E);if(F&&F.length==4){return[parseInt(F[1],10),parseInt(F[2],10),parseInt(F[3],10)];}F=this.patterns.hex3.exec(E);if(F&&F.length==4){return[parseInt(F[1]+F[1],16),parseInt(F[2]+F[2],16),parseInt(F[3]+F[3],16)];}return null;};B.getAttribute=function(E){var G=this.getEl();if(this.patterns.color.test(E)){var H=YAHOO.util.Dom.getStyle(G,E);
if(this.patterns.transparent.test(H)){var F=G.parentNode;H=C.Dom.getStyle(F,E);while(F&&this.patterns.transparent.test(H)){F=F.parentNode;H=C.Dom.getStyle(F,E);if(F.tagName.toUpperCase()=="HTML"){H="#fff";}}}}else{H=D.getAttribute.call(this,E);}return H;};B.doMethod=function(F,J,G){var I;if(this.patterns.color.test(F)){I=[];for(var H=0,E=J.length;H<E;++H){I[H]=D.doMethod.call(this,F,J[H],G[H]);}I="rgb("+Math.floor(I[0])+","+Math.floor(I[1])+","+Math.floor(I[2])+")";}else{I=D.doMethod.call(this,F,J,G);}return I;};B.setRuntimeAttribute=function(F){D.setRuntimeAttribute.call(this,F);if(this.patterns.color.test(F)){var H=this.attributes;var J=this.parseColor(this.runtimeAttributes[F].start);var G=this.parseColor(this.runtimeAttributes[F].end);if(typeof H[F]["to"]==="undefined"&&typeof H[F]["by"]!=="undefined"){G=this.parseColor(H[F].by);for(var I=0,E=J.length;I<E;++I){G[I]=J[I]+G[I];}}this.runtimeAttributes[F].start=J;this.runtimeAttributes[F].end=G;}};C.ColorAnim=A;})();
/*
TERMS OF USE - EASING EQUATIONS
Open source under the BSD License.
Copyright 2001 Robert Penner All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

 * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
 * Neither the name of the author nor the names of contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
YAHOO.util.Easing={easeNone:function(B,A,D,C){return D*B/C+A;},easeIn:function(B,A,D,C){return D*(B/=C)*B+A;},easeOut:function(B,A,D,C){return -D*(B/=C)*(B-2)+A;},easeBoth:function(B,A,D,C){if((B/=C/2)<1){return D/2*B*B+A;}return -D/2*((--B)*(B-2)-1)+A;},easeInStrong:function(B,A,D,C){return D*(B/=C)*B*B*B+A;},easeOutStrong:function(B,A,D,C){return -D*((B=B/C-1)*B*B*B-1)+A;},easeBothStrong:function(B,A,D,C){if((B/=C/2)<1){return D/2*B*B*B*B+A;}return -D/2*((B-=2)*B*B*B-2)+A;},elasticIn:function(C,A,G,F,B,E){if(C==0){return A;}if((C/=F)==1){return A+G;}if(!E){E=F*0.3;}if(!B||B<Math.abs(G)){B=G;var D=E/4;}else{var D=E/(2*Math.PI)*Math.asin(G/B);}return -(B*Math.pow(2,10*(C-=1))*Math.sin((C*F-D)*(2*Math.PI)/E))+A;},elasticOut:function(C,A,G,F,B,E){if(C==0){return A;}if((C/=F)==1){return A+G;}if(!E){E=F*0.3;}if(!B||B<Math.abs(G)){B=G;var D=E/4;}else{var D=E/(2*Math.PI)*Math.asin(G/B);}return B*Math.pow(2,-10*C)*Math.sin((C*F-D)*(2*Math.PI)/E)+G+A;},elasticBoth:function(C,A,G,F,B,E){if(C==0){return A;}if((C/=F/2)==2){return A+G;}if(!E){E=F*(0.3*1.5);}if(!B||B<Math.abs(G)){B=G;var D=E/4;}else{var D=E/(2*Math.PI)*Math.asin(G/B);}if(C<1){return -0.5*(B*Math.pow(2,10*(C-=1))*Math.sin((C*F-D)*(2*Math.PI)/E))+A;}return B*Math.pow(2,-10*(C-=1))*Math.sin((C*F-D)*(2*Math.PI)/E)*0.5+G+A;},backIn:function(B,A,E,D,C){if(typeof C=="undefined"){C=1.70158;}return E*(B/=D)*B*((C+1)*B-C)+A;},backOut:function(B,A,E,D,C){if(typeof C=="undefined"){C=1.70158;}return E*((B=B/D-1)*B*((C+1)*B+C)+1)+A;},backBoth:function(B,A,E,D,C){if(typeof C=="undefined"){C=1.70158;}if((B/=D/2)<1){return E/2*(B*B*(((C*=(1.525))+1)*B-C))+A;}return E/2*((B-=2)*B*(((C*=(1.525))+1)*B+C)+2)+A;},bounceIn:function(B,A,D,C){return D-YAHOO.util.Easing.bounceOut(C-B,0,D,C)+A;},bounceOut:function(B,A,D,C){if((B/=C)<(1/2.75)){return D*(7.5625*B*B)+A;}else{if(B<(2/2.75)){return D*(7.5625*(B-=(1.5/2.75))*B+0.75)+A;}else{if(B<(2.5/2.75)){return D*(7.5625*(B-=(2.25/2.75))*B+0.9375)+A;}}}return D*(7.5625*(B-=(2.625/2.75))*B+0.984375)+A;},bounceBoth:function(B,A,D,C){if(B<C/2){return YAHOO.util.Easing.bounceIn(B*2,0,D,C)*0.5+A;}return YAHOO.util.Easing.bounceOut(B*2-C,0,D,C)*0.5+D*0.5+A;}};(function(){var A=function(H,G,I,J){if(H){A.superclass.constructor.call(this,H,G,I,J);}};A.NAME="Motion";var E=YAHOO.util;YAHOO.extend(A,E.ColorAnim);var F=A.superclass;var C=A.prototype;C.patterns.points=/^points$/i;C.setAttribute=function(G,I,H){if(this.patterns.points.test(G)){H=H||"px";F.setAttribute.call(this,"left",I[0],H);F.setAttribute.call(this,"top",I[1],H);}else{F.setAttribute.call(this,G,I,H);}};C.getAttribute=function(G){if(this.patterns.points.test(G)){var H=[F.getAttribute.call(this,"left"),F.getAttribute.call(this,"top")];}else{H=F.getAttribute.call(this,G);}return H;};C.doMethod=function(G,K,H){var J=null;if(this.patterns.points.test(G)){var I=this.method(this.currentFrame,0,100,this.totalFrames)/100;J=E.Bezier.getPosition(this.runtimeAttributes[G],I);}else{J=F.doMethod.call(this,G,K,H);}return J;};C.setRuntimeAttribute=function(P){if(this.patterns.points.test(P)){var H=this.getEl();var J=this.attributes;var G;var L=J["points"]["control"]||[];var I;var M,O;if(L.length>0&&!(L[0] instanceof Array)){L=[L];}else{var K=[];for(M=0,O=L.length;M<O;++M){K[M]=L[M];}L=K;}if(E.Dom.getStyle(H,"position")=="static"){E.Dom.setStyle(H,"position","relative");}if(D(J["points"]["from"])){E.Dom.setXY(H,J["points"]["from"]);}else{E.Dom.setXY(H,E.Dom.getXY(H));}G=this.getAttribute("points");if(D(J["points"]["to"])){I=B.call(this,J["points"]["to"],G);
var N=E.Dom.getXY(this.getEl());for(M=0,O=L.length;M<O;++M){L[M]=B.call(this,L[M],G);}}else{if(D(J["points"]["by"])){I=[G[0]+J["points"]["by"][0],G[1]+J["points"]["by"][1]];for(M=0,O=L.length;M<O;++M){L[M]=[G[0]+L[M][0],G[1]+L[M][1]];}}}this.runtimeAttributes[P]=[G];if(L.length>0){this.runtimeAttributes[P]=this.runtimeAttributes[P].concat(L);}this.runtimeAttributes[P][this.runtimeAttributes[P].length]=I;}else{F.setRuntimeAttribute.call(this,P);}};var B=function(G,I){var H=E.Dom.getXY(this.getEl());G=[G[0]-H[0]+I[0],G[1]-H[1]+I[1]];return G;};var D=function(G){return(typeof G!=="undefined");};E.Motion=A;})();(function(){var D=function(F,E,G,H){if(F){D.superclass.constructor.call(this,F,E,G,H);}};D.NAME="Scroll";var B=YAHOO.util;YAHOO.extend(D,B.ColorAnim);var C=D.superclass;var A=D.prototype;A.doMethod=function(E,H,F){var G=null;if(E=="scroll"){G=[this.method(this.currentFrame,H[0],F[0]-H[0],this.totalFrames),this.method(this.currentFrame,H[1],F[1]-H[1],this.totalFrames)];}else{G=C.doMethod.call(this,E,H,F);}return G;};A.getAttribute=function(E){var G=null;var F=this.getEl();if(E=="scroll"){G=[F.scrollLeft,F.scrollTop];}else{G=C.getAttribute.call(this,E);}return G;};A.setAttribute=function(E,H,G){var F=this.getEl();if(E=="scroll"){F.scrollLeft=H[0];F.scrollTop=H[1];}else{C.setAttribute.call(this,E,H,G);}};B.Scroll=D;})();YAHOO.register("animation",YAHOO.util.Anim,{version:"2.5.2",build:"1076"});

/*../vendor/yui_260/build/connection/connection-min.js*/

/*
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 2.6.0
*/
YAHOO.util.Connect={_msxml_progid:["Microsoft.XMLHTTP","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP"],_http_headers:{},_has_http_headers:false,_use_default_post_header:true,_default_post_header:"application/x-www-form-urlencoded; charset=UTF-8",_default_form_header:"application/x-www-form-urlencoded",_use_default_xhr_header:true,_default_xhr_header:"XMLHttpRequest",_has_default_headers:true,_default_headers:{},_isFormSubmit:false,_isFileUpload:false,_formNode:null,_sFormData:null,_poll:{},_timeOut:{},_polling_interval:50,_transaction_id:0,_submitElementValue:null,_hasSubmitListener:(function(){if(YAHOO.util.Event){YAHOO.util.Event.addListener(document,"click",function(B){var A=YAHOO.util.Event.getTarget(B);if(A.nodeName.toLowerCase()=="input"&&(A.type&&A.type.toLowerCase()=="submit")){YAHOO.util.Connect._submitElementValue=encodeURIComponent(A.name)+"="+encodeURIComponent(A.value);}});return true;}return false;})(),startEvent:new YAHOO.util.CustomEvent("start"),completeEvent:new YAHOO.util.CustomEvent("complete"),successEvent:new YAHOO.util.CustomEvent("success"),failureEvent:new YAHOO.util.CustomEvent("failure"),uploadEvent:new YAHOO.util.CustomEvent("upload"),abortEvent:new YAHOO.util.CustomEvent("abort"),_customEvents:{onStart:["startEvent","start"],onComplete:["completeEvent","complete"],onSuccess:["successEvent","success"],onFailure:["failureEvent","failure"],onUpload:["uploadEvent","upload"],onAbort:["abortEvent","abort"]},setProgId:function(A){this._msxml_progid.unshift(A);},setDefaultPostHeader:function(A){if(typeof A=="string"){this._default_post_header=A;}else{if(typeof A=="boolean"){this._use_default_post_header=A;}}},setDefaultXhrHeader:function(A){if(typeof A=="string"){this._default_xhr_header=A;}else{this._use_default_xhr_header=A;}},setPollingInterval:function(A){if(typeof A=="number"&&isFinite(A)){this._polling_interval=A;}},createXhrObject:function(F){var E,A;try{A=new XMLHttpRequest();E={conn:A,tId:F};}catch(D){for(var B=0;B<this._msxml_progid.length;++B){try{A=new ActiveXObject(this._msxml_progid[B]);E={conn:A,tId:F};break;}catch(C){}}}finally{return E;}},getConnectionObject:function(A){var C;var D=this._transaction_id;try{if(!A){C=this.createXhrObject(D);}else{C={};C.tId=D;C.isUpload=true;}if(C){this._transaction_id++;}}catch(B){}finally{return C;}},asyncRequest:function(F,C,E,A){var D=(this._isFileUpload)?this.getConnectionObject(true):this.getConnectionObject();var B=(E&&E.argument)?E.argument:null;if(!D){return null;}else{if(E&&E.customevents){this.initCustomEvents(D,E);}if(this._isFormSubmit){if(this._isFileUpload){this.uploadFile(D,E,C,A);return D;}if(F.toUpperCase()=="GET"){if(this._sFormData.length!==0){C+=((C.indexOf("?")==-1)?"?":"&")+this._sFormData;}}else{if(F.toUpperCase()=="POST"){A=A?this._sFormData+"&"+A:this._sFormData;}}}if(F.toUpperCase()=="GET"&&(E&&E.cache===false)){C+=((C.indexOf("?")==-1)?"?":"&")+"rnd="+new Date().valueOf().toString();}D.conn.open(F,C,true);if(this._use_default_xhr_header){if(!this._default_headers["X-Requested-With"]){this.initHeader("X-Requested-With",this._default_xhr_header,true);}}if((F.toUpperCase()==="POST"&&this._use_default_post_header)&&this._isFormSubmit===false){this.initHeader("Content-Type",this._default_post_header);}if(this._has_default_headers||this._has_http_headers){this.setHeader(D);}this.handleReadyState(D,E);D.conn.send(A||"");if(this._isFormSubmit===true){this.resetFormState();}this.startEvent.fire(D,B);if(D.startEvent){D.startEvent.fire(D,B);}return D;}},initCustomEvents:function(A,C){var B;for(B in C.customevents){if(this._customEvents[B][0]){A[this._customEvents[B][0]]=new YAHOO.util.CustomEvent(this._customEvents[B][1],(C.scope)?C.scope:null);A[this._customEvents[B][0]].subscribe(C.customevents[B]);}}},handleReadyState:function(C,D){var B=this;var A=(D&&D.argument)?D.argument:null;if(D&&D.timeout){this._timeOut[C.tId]=window.setTimeout(function(){B.abort(C,D,true);},D.timeout);}this._poll[C.tId]=window.setInterval(function(){if(C.conn&&C.conn.readyState===4){window.clearInterval(B._poll[C.tId]);delete B._poll[C.tId];if(D&&D.timeout){window.clearTimeout(B._timeOut[C.tId]);delete B._timeOut[C.tId];}B.completeEvent.fire(C,A);if(C.completeEvent){C.completeEvent.fire(C,A);}B.handleTransactionResponse(C,D);}},this._polling_interval);},handleTransactionResponse:function(F,G,A){var D,C;var B=(G&&G.argument)?G.argument:null;try{if(F.conn.status!==undefined&&F.conn.status!==0){D=F.conn.status;}else{D=13030;}}catch(E){D=13030;}if(D>=200&&D<300||D===1223){C=this.createResponseObject(F,B);if(G&&G.success){if(!G.scope){G.success(C);}else{G.success.apply(G.scope,[C]);}}this.successEvent.fire(C);if(F.successEvent){F.successEvent.fire(C);}}else{switch(D){case 12002:case 12029:case 12030:case 12031:case 12152:case 13030:C=this.createExceptionObject(F.tId,B,(A?A:false));if(G&&G.failure){if(!G.scope){G.failure(C);}else{G.failure.apply(G.scope,[C]);}}break;default:C=this.createResponseObject(F,B);if(G&&G.failure){if(!G.scope){G.failure(C);}else{G.failure.apply(G.scope,[C]);}}}this.failureEvent.fire(C);if(F.failureEvent){F.failureEvent.fire(C);}}this.releaseObject(F);C=null;},createResponseObject:function(A,G){var D={};var I={};try{var C=A.conn.getAllResponseHeaders();var F=C.split("\n");for(var E=0;E<F.length;E++){var B=F[E].indexOf(":");if(B!=-1){I[F[E].substring(0,B)]=F[E].substring(B+2);}}}catch(H){}D.tId=A.tId;D.status=(A.conn.status==1223)?204:A.conn.status;D.statusText=(A.conn.status==1223)?"No Content":A.conn.statusText;D.getResponseHeader=I;D.getAllResponseHeaders=C;D.responseText=A.conn.responseText;D.responseXML=A.conn.responseXML;if(G){D.argument=G;}return D;},createExceptionObject:function(H,D,A){var F=0;var G="communication failure";var C=-1;var B="transaction aborted";var E={};E.tId=H;if(A){E.status=C;E.statusText=B;}else{E.status=F;E.statusText=G;}if(D){E.argument=D;}return E;},initHeader:function(A,D,C){var B=(C)?this._default_headers:this._http_headers;B[A]=D;if(C){this._has_default_headers=true;}else{this._has_http_headers=true;
}},setHeader:function(A){var B;if(this._has_default_headers){for(B in this._default_headers){if(YAHOO.lang.hasOwnProperty(this._default_headers,B)){A.conn.setRequestHeader(B,this._default_headers[B]);}}}if(this._has_http_headers){for(B in this._http_headers){if(YAHOO.lang.hasOwnProperty(this._http_headers,B)){A.conn.setRequestHeader(B,this._http_headers[B]);}}delete this._http_headers;this._http_headers={};this._has_http_headers=false;}},resetDefaultHeaders:function(){delete this._default_headers;this._default_headers={};this._has_default_headers=false;},setForm:function(M,H,C){var L,B,K,I,P,J=false,F=[],O=0,E,G,D,N,A;this.resetFormState();if(typeof M=="string"){L=(document.getElementById(M)||document.forms[M]);}else{if(typeof M=="object"){L=M;}else{return ;}}if(H){this.createFrame(C?C:null);this._isFormSubmit=true;this._isFileUpload=true;this._formNode=L;return ;}for(E=0,G=L.elements.length;E<G;++E){B=L.elements[E];P=B.disabled;K=B.name;if(!P&&K){K=encodeURIComponent(K)+"=";I=encodeURIComponent(B.value);switch(B.type){case"select-one":if(B.selectedIndex>-1){A=B.options[B.selectedIndex];F[O++]=K+encodeURIComponent((A.attributes.value&&A.attributes.value.specified)?A.value:A.text);}break;case"select-multiple":if(B.selectedIndex>-1){for(D=B.selectedIndex,N=B.options.length;D<N;++D){A=B.options[D];if(A.selected){F[O++]=K+encodeURIComponent((A.attributes.value&&A.attributes.value.specified)?A.value:A.text);}}}break;case"radio":case"checkbox":if(B.checked){F[O++]=K+I;}break;case"file":case undefined:case"reset":case"button":break;case"submit":if(J===false){if(this._hasSubmitListener&&this._submitElementValue){F[O++]=this._submitElementValue;}else{F[O++]=K+I;}J=true;}break;default:F[O++]=K+I;}}}this._isFormSubmit=true;this._sFormData=F.join("&");this.initHeader("Content-Type",this._default_form_header);return this._sFormData;},resetFormState:function(){this._isFormSubmit=false;this._isFileUpload=false;this._formNode=null;this._sFormData="";},createFrame:function(A){var B="yuiIO"+this._transaction_id;var C;if(YAHOO.env.ua.ie){C=document.createElement('<iframe id="'+B+'" name="'+B+'" />');if(typeof A=="boolean"){C.src="javascript:false";}}else{C=document.createElement("iframe");C.id=B;C.name=B;}C.style.position="absolute";C.style.top="-1000px";C.style.left="-1000px";document.body.appendChild(C);},appendPostData:function(A){var D=[],B=A.split("&"),C,E;for(C=0;C<B.length;C++){E=B[C].indexOf("=");if(E!=-1){D[C]=document.createElement("input");D[C].type="hidden";D[C].name=decodeURIComponent(B[C].substring(0,E));D[C].value=decodeURIComponent(B[C].substring(E+1));this._formNode.appendChild(D[C]);}}return D;},uploadFile:function(D,N,E,C){var I="yuiIO"+D.tId,J="multipart/form-data",L=document.getElementById(I),O=this,K=(N&&N.argument)?N.argument:null,M,H,B,G;var A={action:this._formNode.getAttribute("action"),method:this._formNode.getAttribute("method"),target:this._formNode.getAttribute("target")};this._formNode.setAttribute("action",E);this._formNode.setAttribute("method","POST");this._formNode.setAttribute("target",I);if(YAHOO.env.ua.ie){this._formNode.setAttribute("encoding",J);}else{this._formNode.setAttribute("enctype",J);}if(C){M=this.appendPostData(C);}this._formNode.submit();this.startEvent.fire(D,K);if(D.startEvent){D.startEvent.fire(D,K);}if(N&&N.timeout){this._timeOut[D.tId]=window.setTimeout(function(){O.abort(D,N,true);},N.timeout);}if(M&&M.length>0){for(H=0;H<M.length;H++){this._formNode.removeChild(M[H]);}}for(B in A){if(YAHOO.lang.hasOwnProperty(A,B)){if(A[B]){this._formNode.setAttribute(B,A[B]);}else{this._formNode.removeAttribute(B);}}}this.resetFormState();var F=function(){if(N&&N.timeout){window.clearTimeout(O._timeOut[D.tId]);delete O._timeOut[D.tId];}O.completeEvent.fire(D,K);if(D.completeEvent){D.completeEvent.fire(D,K);}G={tId:D.tId,argument:N.argument};try{G.responseText=L.contentWindow.document.body?L.contentWindow.document.body.innerHTML:L.contentWindow.document.documentElement.textContent;G.responseXML=L.contentWindow.document.XMLDocument?L.contentWindow.document.XMLDocument:L.contentWindow.document;}catch(P){}if(N&&N.upload){if(!N.scope){N.upload(G);}else{N.upload.apply(N.scope,[G]);}}O.uploadEvent.fire(G);if(D.uploadEvent){D.uploadEvent.fire(G);}YAHOO.util.Event.removeListener(L,"load",F);setTimeout(function(){document.body.removeChild(L);O.releaseObject(D);},100);};YAHOO.util.Event.addListener(L,"load",F);},abort:function(E,G,A){var D;var B=(G&&G.argument)?G.argument:null;if(E&&E.conn){if(this.isCallInProgress(E)){E.conn.abort();window.clearInterval(this._poll[E.tId]);delete this._poll[E.tId];if(A){window.clearTimeout(this._timeOut[E.tId]);delete this._timeOut[E.tId];}D=true;}}else{if(E&&E.isUpload===true){var C="yuiIO"+E.tId;var F=document.getElementById(C);if(F){YAHOO.util.Event.removeListener(F,"load");document.body.removeChild(F);if(A){window.clearTimeout(this._timeOut[E.tId]);delete this._timeOut[E.tId];}D=true;}}else{D=false;}}if(D===true){this.abortEvent.fire(E,B);if(E.abortEvent){E.abortEvent.fire(E,B);}this.handleTransactionResponse(E,G,true);}return D;},isCallInProgress:function(B){if(B&&B.conn){return B.conn.readyState!==4&&B.conn.readyState!==0;}else{if(B&&B.isUpload===true){var A="yuiIO"+B.tId;return document.getElementById(A)?true:false;}else{return false;}}},releaseObject:function(A){if(A&&A.conn){A.conn=null;A=null;}}};YAHOO.register("connection",YAHOO.util.Connect,{version:"2.6.0",build:"1321"});

/*../vendor/yui_260/build/datasource/datasource-min.js*/

/*
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 2.6.0
*/
(function(){var lang=YAHOO.lang,util=YAHOO.util,Ev=util.Event;util.DataSourceBase=function(oLiveData,oConfigs){if(oLiveData===null||oLiveData===undefined){return ;}this.liveData=oLiveData;this._oQueue={interval:null,conn:null,requests:[]};this.responseSchema={};if(oConfigs&&(oConfigs.constructor==Object)){for(var sConfig in oConfigs){if(sConfig){this[sConfig]=oConfigs[sConfig];}}}var maxCacheEntries=this.maxCacheEntries;if(!lang.isNumber(maxCacheEntries)||(maxCacheEntries<0)){maxCacheEntries=0;}this._aIntervals=[];this.createEvent("cacheRequestEvent");this.createEvent("cacheResponseEvent");this.createEvent("requestEvent");this.createEvent("responseEvent");this.createEvent("responseParseEvent");this.createEvent("responseCacheEvent");this.createEvent("dataErrorEvent");this.createEvent("cacheFlushEvent");var DS=util.DataSourceBase;this._sName="DataSource instance"+DS._nIndex;DS._nIndex++;};var DS=util.DataSourceBase;lang.augmentObject(DS,{TYPE_UNKNOWN:-1,TYPE_JSARRAY:0,TYPE_JSFUNCTION:1,TYPE_XHR:2,TYPE_JSON:3,TYPE_XML:4,TYPE_TEXT:5,TYPE_HTMLTABLE:6,TYPE_SCRIPTNODE:7,TYPE_LOCAL:8,ERROR_DATAINVALID:"Invalid data",ERROR_DATANULL:"Null data",_nIndex:0,_nTransactionId:0,issueCallback:function(callback,params,error,scope){if(lang.isFunction(callback)){callback.apply(scope,params);}else{if(lang.isObject(callback)){scope=callback.scope||scope||window;var callbackFunc=callback.success;if(error){callbackFunc=callback.failure;}if(callbackFunc){callbackFunc.apply(scope,params.concat([callback.argument]));}}}},parseString:function(oData){if(!lang.isValue(oData)){return null;}var string=oData+"";if(lang.isString(string)){return string;}else{return null;}},parseNumber:function(oData){var number=oData*1;if(lang.isNumber(number)){return number;}else{return null;}},convertNumber:function(oData){return DS.parseNumber(oData);},parseDate:function(oData){var date=null;if(!(oData instanceof Date)){date=new Date(oData);}else{return oData;}if(date instanceof Date){return date;}else{return null;}},convertDate:function(oData){return DS.parseDate(oData);}});DS.Parser={string:DS.parseString,number:DS.parseNumber,date:DS.parseDate};DS.prototype={_sName:null,_aCache:null,_oQueue:null,_aIntervals:null,maxCacheEntries:0,liveData:null,dataType:DS.TYPE_UNKNOWN,responseType:DS.TYPE_UNKNOWN,responseSchema:null,toString:function(){return this._sName;},getCachedResponse:function(oRequest,oCallback,oCaller){var aCache=this._aCache;if(this.maxCacheEntries>0){if(!aCache){this._aCache=[];}else{var nCacheLength=aCache.length;if(nCacheLength>0){var oResponse=null;this.fireEvent("cacheRequestEvent",{request:oRequest,callback:oCallback,caller:oCaller});for(var i=nCacheLength-1;i>=0;i--){var oCacheElem=aCache[i];if(this.isCacheHit(oRequest,oCacheElem.request)){oResponse=oCacheElem.response;this.fireEvent("cacheResponseEvent",{request:oRequest,response:oResponse,callback:oCallback,caller:oCaller});if(i<nCacheLength-1){aCache.splice(i,1);this.addToCache(oRequest,oResponse);}oResponse.cached=true;break;}}return oResponse;}}}else{if(aCache){this._aCache=null;}}return null;},isCacheHit:function(oRequest,oCachedRequest){return(oRequest===oCachedRequest);},addToCache:function(oRequest,oResponse){var aCache=this._aCache;if(!aCache){return ;}while(aCache.length>=this.maxCacheEntries){aCache.shift();}var oCacheElem={request:oRequest,response:oResponse};aCache[aCache.length]=oCacheElem;this.fireEvent("responseCacheEvent",{request:oRequest,response:oResponse});},flushCache:function(){if(this._aCache){this._aCache=[];this.fireEvent("cacheFlushEvent");}},setInterval:function(nMsec,oRequest,oCallback,oCaller){if(lang.isNumber(nMsec)&&(nMsec>=0)){var oSelf=this;var nId=setInterval(function(){oSelf.makeConnection(oRequest,oCallback,oCaller);},nMsec);this._aIntervals.push(nId);return nId;}else{}},clearInterval:function(nId){var tracker=this._aIntervals||[];for(var i=tracker.length-1;i>-1;i--){if(tracker[i]===nId){tracker.splice(i,1);clearInterval(nId);}}},clearAllIntervals:function(){var tracker=this._aIntervals||[];for(var i=tracker.length-1;i>-1;i--){clearInterval(tracker[i]);}tracker=[];},sendRequest:function(oRequest,oCallback,oCaller){var oCachedResponse=this.getCachedResponse(oRequest,oCallback,oCaller);if(oCachedResponse){DS.issueCallback(oCallback,[oRequest,oCachedResponse],false,oCaller);return null;}return this.makeConnection(oRequest,oCallback,oCaller);},makeConnection:function(oRequest,oCallback,oCaller){var tId=DS._nTransactionId++;this.fireEvent("requestEvent",{tId:tId,request:oRequest,callback:oCallback,caller:oCaller});var oRawResponse=this.liveData;this.handleResponse(oRequest,oRawResponse,oCallback,oCaller,tId);return tId;},handleResponse:function(oRequest,oRawResponse,oCallback,oCaller,tId){this.fireEvent("responseEvent",{tId:tId,request:oRequest,response:oRawResponse,callback:oCallback,caller:oCaller});var xhr=(this.dataType==DS.TYPE_XHR)?true:false;var oParsedResponse=null;var oFullResponse=oRawResponse;if(this.responseType===DS.TYPE_UNKNOWN){var ctype=(oRawResponse&&oRawResponse.getResponseHeader)?oRawResponse.getResponseHeader["Content-Type"]:null;if(ctype){if(ctype.indexOf("text/xml")>-1){this.responseType=DS.TYPE_XML;}else{if(ctype.indexOf("application/json")>-1){this.responseType=DS.TYPE_JSON;}else{if(ctype.indexOf("text/plain")>-1){this.responseType=DS.TYPE_TEXT;}}}}else{if(YAHOO.lang.isArray(oRawResponse)){this.responseType=DS.TYPE_JSARRAY;}else{if(oRawResponse&&oRawResponse.nodeType&&oRawResponse.nodeType==9){this.responseType=DS.TYPE_XML;}else{if(oRawResponse&&oRawResponse.nodeName&&(oRawResponse.nodeName.toLowerCase()=="table")){this.responseType=DS.TYPE_HTMLTABLE;}else{if(YAHOO.lang.isObject(oRawResponse)){this.responseType=DS.TYPE_JSON;}else{if(YAHOO.lang.isString(oRawResponse)){this.responseType=DS.TYPE_TEXT;}}}}}}}switch(this.responseType){case DS.TYPE_JSARRAY:if(xhr&&oRawResponse&&oRawResponse.responseText){oFullResponse=oRawResponse.responseText;}oFullResponse=this.doBeforeParseData(oRequest,oFullResponse,oCallback);oParsedResponse=this.parseArrayData(oRequest,oFullResponse);
break;case DS.TYPE_JSON:if(xhr&&oRawResponse&&oRawResponse.responseText){oFullResponse=oRawResponse.responseText;}try{if(lang.isString(oFullResponse)){if(lang.JSON){oFullResponse=lang.JSON.parse(oFullResponse);}else{if(window.JSON&&JSON.parse){oFullResponse=JSON.parse(oFullResponse);}else{if(oFullResponse.parseJSON){oFullResponse=oFullResponse.parseJSON();}else{while(oFullResponse.length>0&&(oFullResponse.charAt(0)!="{")&&(oFullResponse.charAt(0)!="[")){oFullResponse=oFullResponse.substring(1,oFullResponse.length);}if(oFullResponse.length>0){var objEnd=Math.max(oFullResponse.lastIndexOf("]"),oFullResponse.lastIndexOf("}"));oFullResponse=oFullResponse.substring(0,objEnd+1);oFullResponse=eval("("+oFullResponse+")");}}}}}}catch(e){}oFullResponse=this.doBeforeParseData(oRequest,oFullResponse,oCallback);oParsedResponse=this.parseJSONData(oRequest,oFullResponse);break;case DS.TYPE_HTMLTABLE:if(xhr&&oRawResponse.responseText){oFullResponse=oRawResponse.responseText;}oFullResponse=this.doBeforeParseData(oRequest,oFullResponse,oCallback);oParsedResponse=this.parseHTMLTableData(oRequest,oFullResponse);break;case DS.TYPE_XML:if(xhr&&oRawResponse.responseXML){oFullResponse=oRawResponse.responseXML;}oFullResponse=this.doBeforeParseData(oRequest,oFullResponse,oCallback);oParsedResponse=this.parseXMLData(oRequest,oFullResponse);break;case DS.TYPE_TEXT:if(xhr&&lang.isString(oRawResponse.responseText)){oFullResponse=oRawResponse.responseText;}oFullResponse=this.doBeforeParseData(oRequest,oFullResponse,oCallback);oParsedResponse=this.parseTextData(oRequest,oFullResponse);break;default:oFullResponse=this.doBeforeParseData(oRequest,oFullResponse,oCallback);oParsedResponse=this.parseData(oRequest,oFullResponse);break;}oParsedResponse=oParsedResponse||{};if(!oParsedResponse.results){oParsedResponse.results=[];}if(!oParsedResponse.meta){oParsedResponse.meta={};}if(oParsedResponse&&!oParsedResponse.error){oParsedResponse=this.doBeforeCallback(oRequest,oFullResponse,oParsedResponse,oCallback);this.fireEvent("responseParseEvent",{request:oRequest,response:oParsedResponse,callback:oCallback,caller:oCaller});this.addToCache(oRequest,oParsedResponse);}else{oParsedResponse.error=true;this.fireEvent("dataErrorEvent",{request:oRequest,response:oRawResponse,callback:oCallback,caller:oCaller,message:DS.ERROR_DATANULL});}oParsedResponse.tId=tId;DS.issueCallback(oCallback,[oRequest,oParsedResponse],oParsedResponse.error,oCaller);},doBeforeParseData:function(oRequest,oFullResponse,oCallback){return oFullResponse;},doBeforeCallback:function(oRequest,oFullResponse,oParsedResponse,oCallback){return oParsedResponse;},parseData:function(oRequest,oFullResponse){if(lang.isValue(oFullResponse)){var oParsedResponse={results:oFullResponse,meta:{}};return oParsedResponse;}return null;},parseArrayData:function(oRequest,oFullResponse){if(lang.isArray(oFullResponse)){var results=[],i,j,rec,field,data;if(lang.isArray(this.responseSchema.fields)){var fields=this.responseSchema.fields;for(i=fields.length-1;i>=0;--i){if(typeof fields[i]!=="object"){fields[i]={key:fields[i]};}}var parsers={},p;for(i=fields.length-1;i>=0;--i){p=(typeof fields[i].parser==="function"?fields[i].parser:DS.Parser[fields[i].parser+""])||fields[i].converter;if(p){parsers[fields[i].key]=p;}}var arrType=lang.isArray(oFullResponse[0]);for(i=oFullResponse.length-1;i>-1;i--){var oResult={};rec=oFullResponse[i];if(typeof rec==="object"){for(j=fields.length-1;j>-1;j--){field=fields[j];data=arrType?rec[j]:rec[field.key];if(parsers[field.key]){data=parsers[field.key].call(this,data);}if(data===undefined){data=null;}oResult[field.key]=data;}}else{if(lang.isString(rec)){for(j=fields.length-1;j>-1;j--){field=fields[j];data=rec;if(parsers[field.key]){data=parsers[field.key].call(this,data);}if(data===undefined){data=null;}oResult[field.key]=data;}}}results[i]=oResult;}}else{results=oFullResponse;}var oParsedResponse={results:results};return oParsedResponse;}return null;},parseTextData:function(oRequest,oFullResponse){if(lang.isString(oFullResponse)){if(lang.isString(this.responseSchema.recordDelim)&&lang.isString(this.responseSchema.fieldDelim)){var oParsedResponse={results:[]};var recDelim=this.responseSchema.recordDelim;var fieldDelim=this.responseSchema.fieldDelim;if(oFullResponse.length>0){var newLength=oFullResponse.length-recDelim.length;if(oFullResponse.substr(newLength)==recDelim){oFullResponse=oFullResponse.substr(0,newLength);}if(oFullResponse.length>0){var recordsarray=oFullResponse.split(recDelim);for(var i=0,len=recordsarray.length,recIdx=0;i<len;++i){var bError=false,sRecord=recordsarray[i];if(lang.isString(sRecord)&&(sRecord.length>0)){var fielddataarray=recordsarray[i].split(fieldDelim);var oResult={};if(lang.isArray(this.responseSchema.fields)){var fields=this.responseSchema.fields;for(var j=fields.length-1;j>-1;j--){try{var data=fielddataarray[j];if(lang.isString(data)){if(data.charAt(0)=='"'){data=data.substr(1);}if(data.charAt(data.length-1)=='"'){data=data.substr(0,data.length-1);}var field=fields[j];var key=(lang.isValue(field.key))?field.key:field;if(!field.parser&&field.converter){field.parser=field.converter;}var parser=(typeof field.parser==="function")?field.parser:DS.Parser[field.parser+""];if(parser){data=parser.call(this,data);}if(data===undefined){data=null;}oResult[key]=data;}else{bError=true;}}catch(e){bError=true;}}}else{oResult=fielddataarray;}if(!bError){oParsedResponse.results[recIdx++]=oResult;}}}}}return oParsedResponse;}}return null;},parseXMLResult:function(result){var oResult={},schema=this.responseSchema;try{for(var m=schema.fields.length-1;m>=0;m--){var field=schema.fields[m];var key=(lang.isValue(field.key))?field.key:field;var data=null;var xmlAttr=result.attributes.getNamedItem(key);if(xmlAttr){data=xmlAttr.value;}else{var xmlNode=result.getElementsByTagName(key);if(xmlNode&&xmlNode.item(0)&&xmlNode.item(0)){data=xmlNode.item(0).firstChild.nodeValue;var item=xmlNode.item(0);data=(item.text)?item.text:(item.textContent)?item.textContent:null;
if(!data){var datapieces=[];for(var j=0,len=item.childNodes.length;j<len;j++){if(item.childNodes[j].nodeValue){datapieces[datapieces.length]=item.childNodes[j].nodeValue;}}if(datapieces.length>0){data=datapieces.join("");}}}}if(data===null){data="";}if(!field.parser&&field.converter){field.parser=field.converter;}var parser=(typeof field.parser==="function")?field.parser:DS.Parser[field.parser+""];if(parser){data=parser.call(this,data);}if(data===undefined){data=null;}oResult[key]=data;}}catch(e){}return oResult;},parseXMLData:function(oRequest,oFullResponse){var bError=false,schema=this.responseSchema,oParsedResponse={meta:{}},xmlList=null,metaNode=schema.metaNode,metaLocators=schema.metaFields||{},i,k,loc,v;try{xmlList=(schema.resultNode)?oFullResponse.getElementsByTagName(schema.resultNode):null;metaNode=metaNode?oFullResponse.getElementsByTagName(metaNode)[0]:oFullResponse;if(metaNode){for(k in metaLocators){if(lang.hasOwnProperty(metaLocators,k)){loc=metaLocators[k];v=metaNode.getElementsByTagName(loc)[0];if(v){v=v.firstChild.nodeValue;}else{v=metaNode.attributes.getNamedItem(loc);if(v){v=v.value;}}if(lang.isValue(v)){oParsedResponse.meta[k]=v;}}}}}catch(e){}if(!xmlList||!lang.isArray(schema.fields)){bError=true;}else{oParsedResponse.results=[];for(i=xmlList.length-1;i>=0;--i){var oResult=this.parseXMLResult(xmlList.item(i));oParsedResponse.results[i]=oResult;}}if(bError){oParsedResponse.error=true;}else{}return oParsedResponse;},parseJSONData:function(oRequest,oFullResponse){var oParsedResponse={results:[],meta:{}};if(lang.isObject(oFullResponse)&&this.responseSchema.resultsList){var schema=this.responseSchema,fields=schema.fields,resultsList=oFullResponse,results=[],metaFields=schema.metaFields||{},fieldParsers=[],fieldPaths=[],simpleFields=[],bError=false,i,len,j,v,key,parser,path;var buildPath=function(needle){var path=null,keys=[],i=0;if(needle){needle=needle.replace(/\[(['"])(.*?)\1\]/g,function(x,$1,$2){keys[i]=$2;return".@"+(i++);}).replace(/\[(\d+)\]/g,function(x,$1){keys[i]=parseInt($1,10)|0;return".@"+(i++);}).replace(/^\./,"");if(!/[^\w\.\$@]/.test(needle)){path=needle.split(".");for(i=path.length-1;i>=0;--i){if(path[i].charAt(0)==="@"){path[i]=keys[parseInt(path[i].substr(1),10)];}}}else{}}return path;};var walkPath=function(path,origin){var v=origin,i=0,len=path.length;for(;i<len&&v;++i){v=v[path[i]];}return v;};path=buildPath(schema.resultsList);if(path){resultsList=walkPath(path,oFullResponse);if(resultsList===undefined){bError=true;}}else{bError=true;}if(!resultsList){resultsList=[];}if(!lang.isArray(resultsList)){resultsList=[resultsList];}if(!bError){if(schema.fields){var field;for(i=0,len=fields.length;i<len;i++){field=fields[i];key=field.key||field;parser=((typeof field.parser==="function")?field.parser:DS.Parser[field.parser+""])||field.converter;path=buildPath(key);if(parser){fieldParsers[fieldParsers.length]={key:key,parser:parser};}if(path){if(path.length>1){fieldPaths[fieldPaths.length]={key:key,path:path};}else{simpleFields[simpleFields.length]={key:key,path:path[0]};}}else{}}for(i=resultsList.length-1;i>=0;--i){var r=resultsList[i],rec={};for(j=simpleFields.length-1;j>=0;--j){rec[simpleFields[j].key]=(r[simpleFields[j].path]!==undefined)?r[simpleFields[j].path]:r[j];}for(j=fieldPaths.length-1;j>=0;--j){rec[fieldPaths[j].key]=walkPath(fieldPaths[j].path,r);}for(j=fieldParsers.length-1;j>=0;--j){var p=fieldParsers[j].key;rec[p]=fieldParsers[j].parser(rec[p]);if(rec[p]===undefined){rec[p]=null;}}results[i]=rec;}}else{results=resultsList;}for(key in metaFields){if(lang.hasOwnProperty(metaFields,key)){path=buildPath(metaFields[key]);if(path){v=walkPath(path,oFullResponse);oParsedResponse.meta[key]=v;}}}}else{oParsedResponse.error=true;}oParsedResponse.results=results;}else{oParsedResponse.error=true;}return oParsedResponse;},parseHTMLTableData:function(oRequest,oFullResponse){var bError=false;var elTable=oFullResponse;var fields=this.responseSchema.fields;var oParsedResponse={results:[]};for(var i=0;i<elTable.tBodies.length;i++){var elTbody=elTable.tBodies[i];for(var j=elTbody.rows.length-1;j>-1;j--){var elRow=elTbody.rows[j];var oResult={};for(var k=fields.length-1;k>-1;k--){var field=fields[k];var key=(lang.isValue(field.key))?field.key:field;var data=elRow.cells[k].innerHTML;if(!field.parser&&field.converter){field.parser=field.converter;}var parser=(typeof field.parser==="function")?field.parser:DS.Parser[field.parser+""];if(parser){data=parser.call(this,data);}if(data===undefined){data=null;}oResult[key]=data;}oParsedResponse.results[j]=oResult;}}if(bError){oParsedResponse.error=true;}else{}return oParsedResponse;}};lang.augmentProto(DS,util.EventProvider);util.LocalDataSource=function(oLiveData,oConfigs){this.dataType=DS.TYPE_LOCAL;if(oLiveData){if(YAHOO.lang.isArray(oLiveData)){this.responseType=DS.TYPE_JSARRAY;}else{if(oLiveData.nodeType&&oLiveData.nodeType==9){this.responseType=DS.TYPE_XML;}else{if(oLiveData.nodeName&&(oLiveData.nodeName.toLowerCase()=="table")){this.responseType=DS.TYPE_HTMLTABLE;oLiveData=oLiveData.cloneNode(true);}else{if(YAHOO.lang.isString(oLiveData)){this.responseType=DS.TYPE_TEXT;}else{if(YAHOO.lang.isObject(oLiveData)){this.responseType=DS.TYPE_JSON;}}}}}}else{oLiveData=[];this.responseType=DS.TYPE_JSARRAY;}this.constructor.superclass.constructor.call(this,oLiveData,oConfigs);};lang.extend(util.LocalDataSource,DS);lang.augmentObject(util.LocalDataSource,DS);util.FunctionDataSource=function(oLiveData,oConfigs){this.dataType=DS.TYPE_JSFUNCTION;oLiveData=oLiveData||function(){};this.constructor.superclass.constructor.call(this,oLiveData,oConfigs);};lang.extend(util.FunctionDataSource,DS,{makeConnection:function(oRequest,oCallback,oCaller){var tId=DS._nTransactionId++;this.fireEvent("requestEvent",{tId:tId,request:oRequest,callback:oCallback,caller:oCaller});var oRawResponse=this.liveData(oRequest);if(this.responseType===DS.TYPE_UNKNOWN){if(YAHOO.lang.isArray(oRawResponse)){this.responseType=DS.TYPE_JSARRAY;}else{if(oRawResponse&&oRawResponse.nodeType&&oRawResponse.nodeType==9){this.responseType=DS.TYPE_XML;
}else{if(oRawResponse&&oRawResponse.nodeName&&(oRawResponse.nodeName.toLowerCase()=="table")){this.responseType=DS.TYPE_HTMLTABLE;}else{if(YAHOO.lang.isObject(oRawResponse)){this.responseType=DS.TYPE_JSON;}else{if(YAHOO.lang.isString(oRawResponse)){this.responseType=DS.TYPE_TEXT;}}}}}}this.handleResponse(oRequest,oRawResponse,oCallback,oCaller,tId);return tId;}});lang.augmentObject(util.FunctionDataSource,DS);util.ScriptNodeDataSource=function(oLiveData,oConfigs){this.dataType=DS.TYPE_SCRIPTNODE;oLiveData=oLiveData||"";this.constructor.superclass.constructor.call(this,oLiveData,oConfigs);};lang.extend(util.ScriptNodeDataSource,DS,{getUtility:util.Get,asyncMode:"allowAll",scriptCallbackParam:"callback",generateRequestCallback:function(id){return"&"+this.scriptCallbackParam+"=YAHOO.util.ScriptNodeDataSource.callbacks["+id+"]";},makeConnection:function(oRequest,oCallback,oCaller){var tId=DS._nTransactionId++;this.fireEvent("requestEvent",{tId:tId,request:oRequest,callback:oCallback,caller:oCaller});if(util.ScriptNodeDataSource._nPending===0){util.ScriptNodeDataSource.callbacks=[];util.ScriptNodeDataSource._nId=0;}var id=util.ScriptNodeDataSource._nId;util.ScriptNodeDataSource._nId++;var oSelf=this;util.ScriptNodeDataSource.callbacks[id]=function(oRawResponse){if((oSelf.asyncMode!=="ignoreStaleResponses")||(id===util.ScriptNodeDataSource.callbacks.length-1)){if(oSelf.responseType===DS.TYPE_UNKNOWN){if(YAHOO.lang.isArray(oRawResponse)){oSelf.responseType=DS.TYPE_JSARRAY;}else{if(oRawResponse.nodeType&&oRawResponse.nodeType==9){oSelf.responseType=DS.TYPE_XML;}else{if(oRawResponse.nodeName&&(oRawResponse.nodeName.toLowerCase()=="table")){oSelf.responseType=DS.TYPE_HTMLTABLE;}else{if(YAHOO.lang.isObject(oRawResponse)){oSelf.responseType=DS.TYPE_JSON;}else{if(YAHOO.lang.isString(oRawResponse)){oSelf.responseType=DS.TYPE_TEXT;}}}}}}oSelf.handleResponse(oRequest,oRawResponse,oCallback,oCaller,tId);}else{}delete util.ScriptNodeDataSource.callbacks[id];};util.ScriptNodeDataSource._nPending++;var sUri=this.liveData+oRequest+this.generateRequestCallback(id);this.getUtility.script(sUri,{autopurge:true,onsuccess:util.ScriptNodeDataSource._bumpPendingDown,onfail:util.ScriptNodeDataSource._bumpPendingDown});return tId;}});lang.augmentObject(util.ScriptNodeDataSource,DS);lang.augmentObject(util.ScriptNodeDataSource,{_nId:0,_nPending:0,callbacks:[]});util.XHRDataSource=function(oLiveData,oConfigs){this.dataType=DS.TYPE_XHR;this.connMgr=this.connMgr||util.Connect;oLiveData=oLiveData||"";this.constructor.superclass.constructor.call(this,oLiveData,oConfigs);};lang.extend(util.XHRDataSource,DS,{connMgr:null,connXhrMode:"allowAll",connMethodPost:false,connTimeout:0,makeConnection:function(oRequest,oCallback,oCaller){var oRawResponse=null;var tId=DS._nTransactionId++;this.fireEvent("requestEvent",{tId:tId,request:oRequest,callback:oCallback,caller:oCaller});var oSelf=this;var oConnMgr=this.connMgr;var oQueue=this._oQueue;var _xhrSuccess=function(oResponse){if(oResponse&&(this.asyncMode=="ignoreStaleResponses")&&(oResponse.tId!=oQueue.conn.tId)){return null;}else{if(!oResponse){this.fireEvent("dataErrorEvent",{request:oRequest,callback:oCallback,caller:oCaller,message:DS.ERROR_DATANULL});DS.issueCallback(oCallback,[oRequest,{error:true}],true,oCaller);return null;}else{if(this.responseType===DS.TYPE_UNKNOWN){var ctype=(oResponse.getResponseHeader)?oResponse.getResponseHeader["Content-Type"]:null;if(ctype){if(ctype.indexOf("text/xml")>-1){this.responseType=DS.TYPE_XML;}else{if(ctype.indexOf("application/json")>-1){this.responseType=DS.TYPE_JSON;}else{if(ctype.indexOf("text/plain")>-1){this.responseType=DS.TYPE_TEXT;}}}}}this.handleResponse(oRequest,oResponse,oCallback,oCaller,tId);}}};var _xhrFailure=function(oResponse){this.fireEvent("dataErrorEvent",{request:oRequest,callback:oCallback,caller:oCaller,message:DS.ERROR_DATAINVALID});if(lang.isString(this.liveData)&&lang.isString(oRequest)&&(this.liveData.lastIndexOf("?")!==this.liveData.length-1)&&(oRequest.indexOf("?")!==0)){}oResponse=oResponse||{};oResponse.error=true;DS.issueCallback(oCallback,[oRequest,oResponse],true,oCaller);return null;};var _xhrCallback={success:_xhrSuccess,failure:_xhrFailure,scope:this};if(lang.isNumber(this.connTimeout)){_xhrCallback.timeout=this.connTimeout;}if(this.connXhrMode=="cancelStaleRequests"){if(oQueue.conn){if(oConnMgr.abort){oConnMgr.abort(oQueue.conn);oQueue.conn=null;}else{}}}if(oConnMgr&&oConnMgr.asyncRequest){var sLiveData=this.liveData;var isPost=this.connMethodPost;var sMethod=(isPost)?"POST":"GET";var sUri=(isPost||!lang.isValue(oRequest))?sLiveData:sLiveData+oRequest;var sRequest=(isPost)?oRequest:null;if(this.connXhrMode!="queueRequests"){oQueue.conn=oConnMgr.asyncRequest(sMethod,sUri,_xhrCallback,sRequest);}else{if(oQueue.conn){var allRequests=oQueue.requests;allRequests.push({request:oRequest,callback:_xhrCallback});if(!oQueue.interval){oQueue.interval=setInterval(function(){if(oConnMgr.isCallInProgress(oQueue.conn)){return ;}else{if(allRequests.length>0){sUri=(isPost||!lang.isValue(allRequests[0].request))?sLiveData:sLiveData+allRequests[0].request;sRequest=(isPost)?allRequests[0].request:null;oQueue.conn=oConnMgr.asyncRequest(sMethod,sUri,allRequests[0].callback,sRequest);allRequests.shift();}else{clearInterval(oQueue.interval);oQueue.interval=null;}}},50);}}else{oQueue.conn=oConnMgr.asyncRequest(sMethod,sUri,_xhrCallback,sRequest);}}}else{DS.issueCallback(oCallback,[oRequest,{error:true}],true,oCaller);}return tId;}});lang.augmentObject(util.XHRDataSource,DS);util.DataSource=function(oLiveData,oConfigs){oConfigs=oConfigs||{};var dataType=oConfigs.dataType;if(dataType){if(dataType==DS.TYPE_LOCAL){lang.augmentObject(util.DataSource,util.LocalDataSource);return new util.LocalDataSource(oLiveData,oConfigs);}else{if(dataType==DS.TYPE_XHR){lang.augmentObject(util.DataSource,util.XHRDataSource);return new util.XHRDataSource(oLiveData,oConfigs);}else{if(dataType==DS.TYPE_SCRIPTNODE){lang.augmentObject(util.DataSource,util.ScriptNodeDataSource);
return new util.ScriptNodeDataSource(oLiveData,oConfigs);}else{if(dataType==DS.TYPE_JSFUNCTION){lang.augmentObject(util.DataSource,util.FunctionDataSource);return new util.FunctionDataSource(oLiveData,oConfigs);}}}}}if(YAHOO.lang.isString(oLiveData)){lang.augmentObject(util.DataSource,util.XHRDataSource);return new util.XHRDataSource(oLiveData,oConfigs);}else{if(YAHOO.lang.isFunction(oLiveData)){lang.augmentObject(util.DataSource,util.FunctionDataSource);return new util.FunctionDataSource(oLiveData,oConfigs);}else{lang.augmentObject(util.DataSource,util.LocalDataSource);return new util.LocalDataSource(oLiveData,oConfigs);}}};lang.augmentObject(util.DataSource,DS);})();YAHOO.util.Number={format:function(B,F){F=F||{};if(!YAHOO.lang.isNumber(B)){B*=1;}if(YAHOO.lang.isNumber(B)){var D=(B<0);var J=B+"";var G=(F.decimalSeparator)?F.decimalSeparator:".";var H;if(YAHOO.lang.isNumber(F.decimalPlaces)){var I=F.decimalPlaces;var C=Math.pow(10,I);J=Math.round(B*C)/C+"";H=J.lastIndexOf(".");if(I>0){if(H<0){J+=G;H=J.length-1;}else{if(G!=="."){J=J.replace(".",G);}}while((J.length-1-H)<I){J+="0";}}}if(F.thousandsSeparator){var L=F.thousandsSeparator;H=J.lastIndexOf(G);H=(H>-1)?H:J.length;var K=J.substring(H);var A=-1;for(var E=H;E>0;E--){A++;if((A%3===0)&&(E!==H)&&(!D||(E>1))){K=L+K;}K=J.charAt(E-1)+K;}J=K;}J=(F.prefix)?F.prefix+J:J;J=(F.suffix)?J+F.suffix:J;return J;}else{return B;}}};(function(){var A=function(C,E,D){if(typeof D==="undefined"){D=10;}for(;parseInt(C,10)<D&&D>1;D/=10){C=E.toString()+C;}return C.toString();};var B={formats:{a:function(D,C){return C.a[D.getDay()];},A:function(D,C){return C.A[D.getDay()];},b:function(D,C){return C.b[D.getMonth()];},B:function(D,C){return C.B[D.getMonth()];},C:function(C){return A(parseInt(C.getFullYear()/100,10),0);},d:["getDate","0"],e:["getDate"," "],g:function(C){return A(parseInt(B.formats.G(C)%100,10),0);},G:function(E){var F=E.getFullYear();var D=parseInt(B.formats.V(E),10);var C=parseInt(B.formats.W(E),10);if(C>D){F++;}else{if(C===0&&D>=52){F--;}}return F;},H:["getHours","0"],I:function(D){var C=D.getHours()%12;return A(C===0?12:C,0);},j:function(G){var F=new Date(""+G.getFullYear()+"/1/1 GMT");var D=new Date(""+G.getFullYear()+"/"+(G.getMonth()+1)+"/"+G.getDate()+" GMT");var C=D-F;var E=parseInt(C/60000/60/24,10)+1;return A(E,0,100);},k:["getHours"," "],l:function(D){var C=D.getHours()%12;return A(C===0?12:C," ");},m:function(C){return A(C.getMonth()+1,0);},M:["getMinutes","0"],p:function(D,C){return C.p[D.getHours()>=12?1:0];},P:function(D,C){return C.P[D.getHours()>=12?1:0];},s:function(D,C){return parseInt(D.getTime()/1000,10);},S:["getSeconds","0"],u:function(C){var D=C.getDay();return D===0?7:D;},U:function(F){var C=parseInt(B.formats.j(F),10);var E=6-F.getDay();var D=parseInt((C+E)/7,10);return A(D,0);},V:function(F){var E=parseInt(B.formats.W(F),10);var C=(new Date(""+F.getFullYear()+"/1/1")).getDay();var D=E+(C>4||C<=1?0:1);if(D===53&&(new Date(""+F.getFullYear()+"/12/31")).getDay()<4){D=1;}else{if(D===0){D=B.formats.V(new Date(""+(F.getFullYear()-1)+"/12/31"));}}return A(D,0);},w:"getDay",W:function(F){var C=parseInt(B.formats.j(F),10);var E=7-B.formats.u(F);var D=parseInt((C+E)/7,10);return A(D,0,10);},y:function(C){return A(C.getFullYear()%100,0);},Y:"getFullYear",z:function(E){var D=E.getTimezoneOffset();var C=A(parseInt(Math.abs(D/60),10),0);var F=A(Math.abs(D%60),0);return(D>0?"-":"+")+C+F;},Z:function(C){var D=C.toString().replace(/^.*:\d\d( GMT[+-]\d+)? \(?([A-Za-z ]+)\)?\d*$/,"$2").replace(/[a-z ]/g,"");if(D.length>4){D=B.formats.z(C);}return D;},"%":function(C){return"%";}},aggregates:{c:"locale",D:"%m/%d/%y",F:"%Y-%m-%d",h:"%b",n:"\n",r:"locale",R:"%H:%M",t:"\t",T:"%H:%M:%S",x:"locale",X:"locale"},format:function(G,F,D){F=F||{};if(!(G instanceof Date)){return YAHOO.lang.isValue(G)?G:"";}var H=F.format||"%m/%d/%Y";if(H==="YYYY/MM/DD"){H="%Y/%m/%d";}else{if(H==="DD/MM/YYYY"){H="%d/%m/%Y";}else{if(H==="MM/DD/YYYY"){H="%m/%d/%Y";}}}D=D||"en";if(!(D in YAHOO.util.DateLocale)){if(D.replace(/-[a-zA-Z]+$/,"") in YAHOO.util.DateLocale){D=D.replace(/-[a-zA-Z]+$/,"");}else{D="en";}}var J=YAHOO.util.DateLocale[D];var C=function(L,K){var M=B.aggregates[K];return(M==="locale"?J[K]:M);};var E=function(L,K){var M=B.formats[K];if(typeof M==="string"){return G[M]();}else{if(typeof M==="function"){return M.call(G,G,J);}else{if(typeof M==="object"&&typeof M[0]==="string"){return A(G[M[0]](),M[1]);}else{return K;}}}};while(H.match(/%[cDFhnrRtTxX]/)){H=H.replace(/%([cDFhnrRtTxX])/g,C);}var I=H.replace(/%([aAbBCdegGHIjklmMpPsSuUVwWyYzZ%])/g,E);C=E=undefined;return I;}};YAHOO.namespace("YAHOO.util");YAHOO.util.Date=B;YAHOO.util.DateLocale={a:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],A:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],b:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],B:["January","February","March","April","May","June","July","August","September","October","November","December"],c:"%a %d %b %Y %T %Z",p:["AM","PM"],P:["am","pm"],r:"%I:%M:%S %p",x:"%d/%m/%y",X:"%T"};YAHOO.util.DateLocale["en"]=YAHOO.lang.merge(YAHOO.util.DateLocale,{});YAHOO.util.DateLocale["en-US"]=YAHOO.lang.merge(YAHOO.util.DateLocale["en"],{c:"%a %d %b %Y %I:%M:%S %p %Z",x:"%m/%d/%Y",X:"%I:%M:%S %p"});YAHOO.util.DateLocale["en-GB"]=YAHOO.lang.merge(YAHOO.util.DateLocale["en"],{r:"%l:%M:%S %P %Z"});YAHOO.util.DateLocale["en-AU"]=YAHOO.lang.merge(YAHOO.util.DateLocale["en"]);})();YAHOO.register("datasource",YAHOO.util.DataSource,{version:"2.6.0",build:"1321"});

/*../vendor/yui_260/build/autocomplete/autocomplete-min.js*/

/*
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 2.6.0
*/
YAHOO.widget.DS_JSArray=YAHOO.util.LocalDataSource;YAHOO.widget.DS_JSFunction=YAHOO.util.FunctionDataSource;YAHOO.widget.DS_XHR=function(B,A,D){var C=new YAHOO.util.XHRDataSource(B,D);C._aDeprecatedSchema=A;return C;};YAHOO.widget.DS_ScriptNode=function(B,A,D){var C=new YAHOO.util.ScriptNodeDataSource(B,D);C._aDeprecatedSchema=A;return C;};YAHOO.widget.DS_XHR.TYPE_JSON=YAHOO.util.DataSourceBase.TYPE_JSON;YAHOO.widget.DS_XHR.TYPE_XML=YAHOO.util.DataSourceBase.TYPE_XML;YAHOO.widget.DS_XHR.TYPE_FLAT=YAHOO.util.DataSourceBase.TYPE_TEXT;YAHOO.widget.AutoComplete=function(G,B,J,C){if(G&&B&&J){if(J instanceof YAHOO.util.DataSourceBase){this.dataSource=J;}else{return ;}this.key=0;var D=J.responseSchema;if(J._aDeprecatedSchema){var K=J._aDeprecatedSchema;if(YAHOO.lang.isArray(K)){if((J.responseType===YAHOO.util.DataSourceBase.TYPE_JSON)||(J.responseType===YAHOO.util.DataSourceBase.TYPE_UNKNOWN)){D.resultsList=K[0];this.key=K[1];D.fields=(K.length<3)?null:K.slice(1);}else{if(J.responseType===YAHOO.util.DataSourceBase.TYPE_XML){D.resultNode=K[0];this.key=K[1];D.fields=K.slice(1);}else{if(J.responseType===YAHOO.util.DataSourceBase.TYPE_TEXT){D.recordDelim=K[0];D.fieldDelim=K[1];}}}J.responseSchema=D;}}if(YAHOO.util.Dom.inDocument(G)){if(YAHOO.lang.isString(G)){this._sName="instance"+YAHOO.widget.AutoComplete._nIndex+" "+G;this._elTextbox=document.getElementById(G);}else{this._sName=(G.id)?"instance"+YAHOO.widget.AutoComplete._nIndex+" "+G.id:"instance"+YAHOO.widget.AutoComplete._nIndex;this._elTextbox=G;}YAHOO.util.Dom.addClass(this._elTextbox,"yui-ac-input");}else{return ;}if(YAHOO.util.Dom.inDocument(B)){if(YAHOO.lang.isString(B)){this._elContainer=document.getElementById(B);}else{this._elContainer=B;}if(this._elContainer.style.display=="none"){}var E=this._elContainer.parentNode;var A=E.tagName.toLowerCase();if(A=="div"){YAHOO.util.Dom.addClass(E,"yui-ac");}else{}}else{return ;}if(this.dataSource.dataType===YAHOO.util.DataSourceBase.TYPE_LOCAL){this.applyLocalFilter=true;}if(C&&(C.constructor==Object)){for(var I in C){if(I){this[I]=C[I];}}}this._initContainerEl();this._initProps();this._initListEl();this._initContainerHelperEls();var H=this;var F=this._elTextbox;YAHOO.util.Event.addListener(F,"keyup",H._onTextboxKeyUp,H);YAHOO.util.Event.addListener(F,"keydown",H._onTextboxKeyDown,H);YAHOO.util.Event.addListener(F,"focus",H._onTextboxFocus,H);YAHOO.util.Event.addListener(F,"blur",H._onTextboxBlur,H);YAHOO.util.Event.addListener(B,"mouseover",H._onContainerMouseover,H);YAHOO.util.Event.addListener(B,"mouseout",H._onContainerMouseout,H);YAHOO.util.Event.addListener(B,"click",H._onContainerClick,H);YAHOO.util.Event.addListener(B,"scroll",H._onContainerScroll,H);YAHOO.util.Event.addListener(B,"resize",H._onContainerResize,H);YAHOO.util.Event.addListener(F,"keypress",H._onTextboxKeyPress,H);YAHOO.util.Event.addListener(window,"unload",H._onWindowUnload,H);this.textboxFocusEvent=new YAHOO.util.CustomEvent("textboxFocus",this);this.textboxKeyEvent=new YAHOO.util.CustomEvent("textboxKey",this);this.dataRequestEvent=new YAHOO.util.CustomEvent("dataRequest",this);this.dataReturnEvent=new YAHOO.util.CustomEvent("dataReturn",this);this.dataErrorEvent=new YAHOO.util.CustomEvent("dataError",this);this.containerPopulateEvent=new YAHOO.util.CustomEvent("containerPopulate",this);this.containerExpandEvent=new YAHOO.util.CustomEvent("containerExpand",this);this.typeAheadEvent=new YAHOO.util.CustomEvent("typeAhead",this);this.itemMouseOverEvent=new YAHOO.util.CustomEvent("itemMouseOver",this);this.itemMouseOutEvent=new YAHOO.util.CustomEvent("itemMouseOut",this);this.itemArrowToEvent=new YAHOO.util.CustomEvent("itemArrowTo",this);this.itemArrowFromEvent=new YAHOO.util.CustomEvent("itemArrowFrom",this);this.itemSelectEvent=new YAHOO.util.CustomEvent("itemSelect",this);this.unmatchedItemSelectEvent=new YAHOO.util.CustomEvent("unmatchedItemSelect",this);this.selectionEnforceEvent=new YAHOO.util.CustomEvent("selectionEnforce",this);this.containerCollapseEvent=new YAHOO.util.CustomEvent("containerCollapse",this);this.textboxBlurEvent=new YAHOO.util.CustomEvent("textboxBlur",this);this.textboxChangeEvent=new YAHOO.util.CustomEvent("textboxChange",this);F.setAttribute("autocomplete","off");YAHOO.widget.AutoComplete._nIndex++;}else{}};YAHOO.widget.AutoComplete.prototype.dataSource=null;YAHOO.widget.AutoComplete.prototype.applyLocalFilter=null;YAHOO.widget.AutoComplete.prototype.queryMatchCase=false;YAHOO.widget.AutoComplete.prototype.queryMatchContains=false;YAHOO.widget.AutoComplete.prototype.queryMatchSubset=false;YAHOO.widget.AutoComplete.prototype.minQueryLength=1;YAHOO.widget.AutoComplete.prototype.maxResultsDisplayed=10;YAHOO.widget.AutoComplete.prototype.queryDelay=0.2;YAHOO.widget.AutoComplete.prototype.typeAheadDelay=0.5;YAHOO.widget.AutoComplete.prototype.queryInterval=500;YAHOO.widget.AutoComplete.prototype.highlightClassName="yui-ac-highlight";YAHOO.widget.AutoComplete.prototype.prehighlightClassName=null;YAHOO.widget.AutoComplete.prototype.delimChar=null;YAHOO.widget.AutoComplete.prototype.autoHighlight=true;YAHOO.widget.AutoComplete.prototype.typeAhead=false;YAHOO.widget.AutoComplete.prototype.animHoriz=false;YAHOO.widget.AutoComplete.prototype.animVert=true;YAHOO.widget.AutoComplete.prototype.animSpeed=0.3;YAHOO.widget.AutoComplete.prototype.forceSelection=false;YAHOO.widget.AutoComplete.prototype.allowBrowserAutocomplete=true;YAHOO.widget.AutoComplete.prototype.alwaysShowContainer=false;YAHOO.widget.AutoComplete.prototype.useIFrame=false;YAHOO.widget.AutoComplete.prototype.useShadow=false;YAHOO.widget.AutoComplete.prototype.suppressInputUpdate=false;YAHOO.widget.AutoComplete.prototype.resultTypeList=true;YAHOO.widget.AutoComplete.prototype.queryQuestionMark=true;YAHOO.widget.AutoComplete.prototype.toString=function(){return"AutoComplete "+this._sName;};YAHOO.widget.AutoComplete.prototype.getInputEl=function(){return this._elTextbox;};YAHOO.widget.AutoComplete.prototype.getContainerEl=function(){return this._elContainer;
};YAHOO.widget.AutoComplete.prototype.isFocused=function(){return(this._bFocused===null)?false:this._bFocused;};YAHOO.widget.AutoComplete.prototype.isContainerOpen=function(){return this._bContainerOpen;};YAHOO.widget.AutoComplete.prototype.getListEl=function(){return this._elList;};YAHOO.widget.AutoComplete.prototype.getListItemMatch=function(A){if(A._sResultMatch){return A._sResultMatch;}else{return null;}};YAHOO.widget.AutoComplete.prototype.getListItemData=function(A){if(A._oResultData){return A._oResultData;}else{return null;}};YAHOO.widget.AutoComplete.prototype.getListItemIndex=function(A){if(YAHOO.lang.isNumber(A._nItemIndex)){return A._nItemIndex;}else{return null;}};YAHOO.widget.AutoComplete.prototype.setHeader=function(B){if(this._elHeader){var A=this._elHeader;if(B){A.innerHTML=B;A.style.display="block";}else{A.innerHTML="";A.style.display="none";}}};YAHOO.widget.AutoComplete.prototype.setFooter=function(B){if(this._elFooter){var A=this._elFooter;if(B){A.innerHTML=B;A.style.display="block";}else{A.innerHTML="";A.style.display="none";}}};YAHOO.widget.AutoComplete.prototype.setBody=function(A){if(this._elBody){var B=this._elBody;YAHOO.util.Event.purgeElement(B,true);if(A){B.innerHTML=A;B.style.display="block";}else{B.innerHTML="";B.style.display="none";}this._elList=null;}};YAHOO.widget.AutoComplete.prototype.generateRequest=function(B){var A=this.dataSource.dataType;if(A===YAHOO.util.DataSourceBase.TYPE_XHR){if(!this.dataSource.connMethodPost){B=(this.queryQuestionMark?"?":"")+(this.dataSource.scriptQueryParam||"query")+"="+B+(this.dataSource.scriptQueryAppend?("&"+this.dataSource.scriptQueryAppend):"");}else{B=(this.dataSource.scriptQueryParam||"query")+"="+B+(this.dataSource.scriptQueryAppend?("&"+this.dataSource.scriptQueryAppend):"");}}else{if(A===YAHOO.util.DataSourceBase.TYPE_SCRIPTNODE){B="&"+(this.dataSource.scriptQueryParam||"query")+"="+B+(this.dataSource.scriptQueryAppend?("&"+this.dataSource.scriptQueryAppend):"");}}return B;};YAHOO.widget.AutoComplete.prototype.sendQuery=function(B){var A=(this.delimChar)?this._elTextbox.value+B:B;this._sendQuery(A);};YAHOO.widget.AutoComplete.prototype.collapseContainer=function(){this._toggleContainer(false);};YAHOO.widget.AutoComplete.prototype.getSubsetMatches=function(E){var D,C,A;for(var B=E.length;B>=this.minQueryLength;B--){A=this.generateRequest(E.substr(0,B));this.dataRequestEvent.fire(this,D,A);C=this.dataSource.getCachedResponse(A);if(C){return this.filterResults.apply(this.dataSource,[E,C,C,{scope:this}]);}}return null;};YAHOO.widget.AutoComplete.prototype.preparseRawResponse=function(C,B,A){var D=((this.responseStripAfter!=="")&&(B.indexOf))?B.indexOf(this.responseStripAfter):-1;if(D!=-1){B=B.substring(0,D);}return B;};YAHOO.widget.AutoComplete.prototype.filterResults=function(J,L,P,K){if(J&&J!==""){P=YAHOO.widget.AutoComplete._cloneObject(P);var H=K.scope,O=this,B=P.results,M=[],D=false,I=(O.queryMatchCase||H.queryMatchCase),A=(O.queryMatchContains||H.queryMatchContains);for(var C=B.length-1;C>=0;C--){var F=B[C];var E=null;if(YAHOO.lang.isString(F)){E=F;}else{if(YAHOO.lang.isArray(F)){E=F[0];}else{if(this.responseSchema.fields){var N=this.responseSchema.fields[0].key||this.responseSchema.fields[0];E=F[N];}else{if(this.key){E=F[this.key];}}}}if(YAHOO.lang.isString(E)){var G=(I)?E.indexOf(decodeURIComponent(J)):E.toLowerCase().indexOf(decodeURIComponent(J).toLowerCase());if((!A&&(G===0))||(A&&(G>-1))){M.unshift(F);}}}P.results=M;}else{}return P;};YAHOO.widget.AutoComplete.prototype.handleResponse=function(C,A,B){if((this instanceof YAHOO.widget.AutoComplete)&&this._sName){this._populateList(C,A,B);}};YAHOO.widget.AutoComplete.prototype.doBeforeLoadData=function(C,A,B){return true;};YAHOO.widget.AutoComplete.prototype.formatResult=function(B,D,A){var C=(A)?A:"";return C;};YAHOO.widget.AutoComplete.prototype.doBeforeExpandContainer=function(D,A,C,B){return true;};YAHOO.widget.AutoComplete.prototype.destroy=function(){var B=this.toString();var A=this._elTextbox;var D=this._elContainer;this.textboxFocusEvent.unsubscribeAll();this.textboxKeyEvent.unsubscribeAll();this.dataRequestEvent.unsubscribeAll();this.dataReturnEvent.unsubscribeAll();this.dataErrorEvent.unsubscribeAll();this.containerPopulateEvent.unsubscribeAll();this.containerExpandEvent.unsubscribeAll();this.typeAheadEvent.unsubscribeAll();this.itemMouseOverEvent.unsubscribeAll();this.itemMouseOutEvent.unsubscribeAll();this.itemArrowToEvent.unsubscribeAll();this.itemArrowFromEvent.unsubscribeAll();this.itemSelectEvent.unsubscribeAll();this.unmatchedItemSelectEvent.unsubscribeAll();this.selectionEnforceEvent.unsubscribeAll();this.containerCollapseEvent.unsubscribeAll();this.textboxBlurEvent.unsubscribeAll();this.textboxChangeEvent.unsubscribeAll();YAHOO.util.Event.purgeElement(A,true);YAHOO.util.Event.purgeElement(D,true);D.innerHTML="";for(var C in this){if(YAHOO.lang.hasOwnProperty(this,C)){this[C]=null;}}};YAHOO.widget.AutoComplete.prototype.textboxFocusEvent=null;YAHOO.widget.AutoComplete.prototype.textboxKeyEvent=null;YAHOO.widget.AutoComplete.prototype.dataRequestEvent=null;YAHOO.widget.AutoComplete.prototype.dataReturnEvent=null;YAHOO.widget.AutoComplete.prototype.dataErrorEvent=null;YAHOO.widget.AutoComplete.prototype.containerPopulateEvent=null;YAHOO.widget.AutoComplete.prototype.containerExpandEvent=null;YAHOO.widget.AutoComplete.prototype.typeAheadEvent=null;YAHOO.widget.AutoComplete.prototype.itemMouseOverEvent=null;YAHOO.widget.AutoComplete.prototype.itemMouseOutEvent=null;YAHOO.widget.AutoComplete.prototype.itemArrowToEvent=null;YAHOO.widget.AutoComplete.prototype.itemArrowFromEvent=null;YAHOO.widget.AutoComplete.prototype.itemSelectEvent=null;YAHOO.widget.AutoComplete.prototype.unmatchedItemSelectEvent=null;YAHOO.widget.AutoComplete.prototype.selectionEnforceEvent=null;YAHOO.widget.AutoComplete.prototype.containerCollapseEvent=null;YAHOO.widget.AutoComplete.prototype.textboxBlurEvent=null;YAHOO.widget.AutoComplete.prototype.textboxChangeEvent=null;YAHOO.widget.AutoComplete._nIndex=0;
YAHOO.widget.AutoComplete.prototype._sName=null;YAHOO.widget.AutoComplete.prototype._elTextbox=null;YAHOO.widget.AutoComplete.prototype._elContainer=null;YAHOO.widget.AutoComplete.prototype._elContent=null;YAHOO.widget.AutoComplete.prototype._elHeader=null;YAHOO.widget.AutoComplete.prototype._elBody=null;YAHOO.widget.AutoComplete.prototype._elFooter=null;YAHOO.widget.AutoComplete.prototype._elShadow=null;YAHOO.widget.AutoComplete.prototype._elIFrame=null;YAHOO.widget.AutoComplete.prototype._bFocused=null;YAHOO.widget.AutoComplete.prototype._oAnim=null;YAHOO.widget.AutoComplete.prototype._bContainerOpen=false;YAHOO.widget.AutoComplete.prototype._bOverContainer=false;YAHOO.widget.AutoComplete.prototype._elList=null;YAHOO.widget.AutoComplete.prototype._nDisplayedItems=0;YAHOO.widget.AutoComplete.prototype._sCurQuery=null;YAHOO.widget.AutoComplete.prototype._sPastSelections="";YAHOO.widget.AutoComplete.prototype._sInitInputValue=null;YAHOO.widget.AutoComplete.prototype._elCurListItem=null;YAHOO.widget.AutoComplete.prototype._bItemSelected=false;YAHOO.widget.AutoComplete.prototype._nKeyCode=null;YAHOO.widget.AutoComplete.prototype._nDelayID=-1;YAHOO.widget.AutoComplete.prototype._nTypeAheadDelayID=-1;YAHOO.widget.AutoComplete.prototype._iFrameSrc="javascript:false;";YAHOO.widget.AutoComplete.prototype._queryInterval=null;YAHOO.widget.AutoComplete.prototype._sLastTextboxValue=null;YAHOO.widget.AutoComplete.prototype._initProps=function(){var B=this.minQueryLength;if(!YAHOO.lang.isNumber(B)){this.minQueryLength=1;}var E=this.maxResultsDisplayed;if(!YAHOO.lang.isNumber(E)||(E<1)){this.maxResultsDisplayed=10;}var F=this.queryDelay;if(!YAHOO.lang.isNumber(F)||(F<0)){this.queryDelay=0.2;}var C=this.typeAheadDelay;if(!YAHOO.lang.isNumber(C)||(C<0)){this.typeAheadDelay=0.2;}var A=this.delimChar;if(YAHOO.lang.isString(A)&&(A.length>0)){this.delimChar=[A];}else{if(!YAHOO.lang.isArray(A)){this.delimChar=null;}}var D=this.animSpeed;if((this.animHoriz||this.animVert)&&YAHOO.util.Anim){if(!YAHOO.lang.isNumber(D)||(D<0)){this.animSpeed=0.3;}if(!this._oAnim){this._oAnim=new YAHOO.util.Anim(this._elContent,{},this.animSpeed);}else{this._oAnim.duration=this.animSpeed;}}if(this.forceSelection&&A){}};YAHOO.widget.AutoComplete.prototype._initContainerHelperEls=function(){if(this.useShadow&&!this._elShadow){var A=document.createElement("div");A.className="yui-ac-shadow";A.style.width=0;A.style.height=0;this._elShadow=this._elContainer.appendChild(A);}if(this.useIFrame&&!this._elIFrame){var B=document.createElement("iframe");B.src=this._iFrameSrc;B.frameBorder=0;B.scrolling="no";B.style.position="absolute";B.style.width=0;B.style.height=0;B.tabIndex=-1;B.style.padding=0;this._elIFrame=this._elContainer.appendChild(B);}};YAHOO.widget.AutoComplete.prototype._initContainerEl=function(){YAHOO.util.Dom.addClass(this._elContainer,"yui-ac-container");if(!this._elContent){var C=document.createElement("div");C.className="yui-ac-content";C.style.display="none";this._elContent=this._elContainer.appendChild(C);var B=document.createElement("div");B.className="yui-ac-hd";B.style.display="none";this._elHeader=this._elContent.appendChild(B);var D=document.createElement("div");D.className="yui-ac-bd";this._elBody=this._elContent.appendChild(D);var A=document.createElement("div");A.className="yui-ac-ft";A.style.display="none";this._elFooter=this._elContent.appendChild(A);}else{}};YAHOO.widget.AutoComplete.prototype._initListEl=function(){var C=this.maxResultsDisplayed;var A=this._elList||document.createElement("ul");var B;while(A.childNodes.length<C){B=document.createElement("li");B.style.display="none";B._nItemIndex=A.childNodes.length;A.appendChild(B);}if(!this._elList){var D=this._elBody;YAHOO.util.Event.purgeElement(D,true);D.innerHTML="";this._elList=D.appendChild(A);}};YAHOO.widget.AutoComplete.prototype._enableIntervalDetection=function(){var A=this;if(!A._queryInterval&&A.queryInterval){A._queryInterval=setInterval(function(){A._onInterval();},A.queryInterval);}};YAHOO.widget.AutoComplete.prototype._onInterval=function(){var A=this._elTextbox.value;var B=this._sLastTextboxValue;if(A!=B){this._sLastTextboxValue=A;this._sendQuery(A);}};YAHOO.widget.AutoComplete.prototype._clearInterval=function(){if(this._queryInterval){clearInterval(this._queryInterval);this._queryInterval=null;}};YAHOO.widget.AutoComplete.prototype._isIgnoreKey=function(A){if((A==9)||(A==13)||(A==16)||(A==17)||(A>=18&&A<=20)||(A==27)||(A>=33&&A<=35)||(A>=36&&A<=40)||(A>=44&&A<=45)||(A==229)){return true;}return false;};YAHOO.widget.AutoComplete.prototype._sendQuery=function(G){if(this.minQueryLength<0){this._toggleContainer(false);return ;}var I=(this.delimChar)?this.delimChar:null;if(I){var B=-1;for(var F=I.length-1;F>=0;F--){var D=G.lastIndexOf(I[F]);if(D>B){B=D;}}if(I[F]==" "){for(var E=I.length-1;E>=0;E--){if(G[B-1]==I[E]){B--;break;}}}if(B>-1){var H=B+1;while(G.charAt(H)==" "){H+=1;}this._sPastSelections=G.substring(0,H);G=G.substr(H);}else{this._sPastSelections="";}}if((G&&(G.length<this.minQueryLength))||(!G&&this.minQueryLength>0)){if(this._nDelayID!=-1){clearTimeout(this._nDelayID);}this._toggleContainer(false);return ;}G=encodeURIComponent(G);this._nDelayID=-1;if(this.dataSource.queryMatchSubset||this.queryMatchSubset){var A=this.getSubsetMatches(G);if(A){this.handleResponse(G,A,{query:G});return ;}}if(this.responseStripAfter){this.dataSource.doBeforeParseData=this.preparseRawResponse;}if(this.applyLocalFilter){this.dataSource.doBeforeCallback=this.filterResults;}var C=this.generateRequest(G);this.dataRequestEvent.fire(this,G,C);this.dataSource.sendRequest(C,{success:this.handleResponse,failure:this.handleResponse,scope:this,argument:{query:G}});};YAHOO.widget.AutoComplete.prototype._populateList=function(K,F,C){if(this._nTypeAheadDelayID!=-1){clearTimeout(this._nTypeAheadDelayID);}K=(C&&C.query)?C.query:K;var H=this.doBeforeLoadData(K,F,C);if(H&&!F.error){this.dataReturnEvent.fire(this,K,F.results);if(this._bFocused||(this._bFocused===null)){var M=decodeURIComponent(K);
this._sCurQuery=M;this._bItemSelected=false;var R=F.results,A=Math.min(R.length,this.maxResultsDisplayed),J=(this.dataSource.responseSchema.fields)?(this.dataSource.responseSchema.fields[0].key||this.dataSource.responseSchema.fields[0]):0;if(A>0){if(!this._elList||(this._elList.childNodes.length<A)){this._initListEl();}this._initContainerHelperEls();var I=this._elList.childNodes;for(var Q=A-1;Q>=0;Q--){var P=I[Q],E=R[Q];if(this.resultTypeList){var B=[];B[0]=(YAHOO.lang.isString(E))?E:E[J]||E[this.key];var L=this.dataSource.responseSchema.fields;if(YAHOO.lang.isArray(L)&&(L.length>1)){for(var N=1,S=L.length;N<S;N++){B[B.length]=E[L[N].key||L[N]];}}else{if(YAHOO.lang.isArray(E)){B=E;}else{if(YAHOO.lang.isString(E)){B=[E];}else{B[1]=E;}}}E=B;}P._sResultMatch=(YAHOO.lang.isString(E))?E:(YAHOO.lang.isArray(E))?E[0]:(E[J]||"");P._oResultData=E;P.innerHTML=this.formatResult(E,M,P._sResultMatch);P.style.display="";}if(A<I.length){var G;for(var O=I.length-1;O>=A;O--){G=I[O];G.style.display="none";}}this._nDisplayedItems=A;this.containerPopulateEvent.fire(this,K,R);if(this.autoHighlight){var D=this._elList.firstChild;this._toggleHighlight(D,"to");this.itemArrowToEvent.fire(this,D);this._typeAhead(D,K);}else{this._toggleHighlight(this._elCurListItem,"from");}H=this.doBeforeExpandContainer(this._elTextbox,this._elContainer,K,R);this._toggleContainer(H);}else{this._toggleContainer(false);}return ;}}else{this.dataErrorEvent.fire(this,K);}};YAHOO.widget.AutoComplete.prototype._clearSelection=function(){var C=this._elTextbox.value;var B=(this.delimChar)?this.delimChar[0]:null;var A=(B)?C.lastIndexOf(B,C.length-2):-1;if(A>-1){this._elTextbox.value=C.substring(0,A);}else{this._elTextbox.value="";}this._sPastSelections=this._elTextbox.value;this.selectionEnforceEvent.fire(this);};YAHOO.widget.AutoComplete.prototype._textMatchesOption=function(){var A=null;for(var B=this._nDisplayedItems-1;B>=0;B--){var C=this._elList.childNodes[B];var D=(""+C._sResultMatch).toLowerCase();if(D==this._sCurQuery.toLowerCase()){A=C;break;}}return(A);};YAHOO.widget.AutoComplete.prototype._typeAhead=function(B,D){if(!this.typeAhead||(this._nKeyCode==8)){return ;}var A=this,C=this._elTextbox;if(C.setSelectionRange||C.createTextRange){this._nTypeAheadDelayID=setTimeout(function(){var F=C.value.length;A._updateValue(B);var G=C.value.length;A._selectText(C,F,G);var E=C.value.substr(F,G);A.typeAheadEvent.fire(A,D,E);},(this.typeAheadDelay*1000));}};YAHOO.widget.AutoComplete.prototype._selectText=function(D,A,B){if(D.setSelectionRange){D.setSelectionRange(A,B);}else{if(D.createTextRange){var C=D.createTextRange();C.moveStart("character",A);C.moveEnd("character",B-D.value.length);C.select();}else{D.select();}}};YAHOO.widget.AutoComplete.prototype._toggleContainerHelpers=function(D){var E=this._elContent.offsetWidth+"px";var B=this._elContent.offsetHeight+"px";if(this.useIFrame&&this._elIFrame){var C=this._elIFrame;if(D){C.style.width=E;C.style.height=B;C.style.padding="";}else{C.style.width=0;C.style.height=0;C.style.padding=0;}}if(this.useShadow&&this._elShadow){var A=this._elShadow;if(D){A.style.width=E;A.style.height=B;}else{A.style.width=0;A.style.height=0;}}};YAHOO.widget.AutoComplete.prototype._toggleContainer=function(I){var D=this._elContainer;if(this.alwaysShowContainer&&this._bContainerOpen){return ;}if(!I){this._toggleHighlight(this._elCurListItem,"from");this._nDisplayedItems=0;this._sCurQuery=null;if(!this._bContainerOpen){this._elContent.style.display="none";return ;}}var A=this._oAnim;if(A&&A.getEl()&&(this.animHoriz||this.animVert)){if(A.isAnimated()){A.stop(true);}var G=this._elContent.cloneNode(true);D.appendChild(G);G.style.top="-9000px";G.style.width="";G.style.height="";G.style.display="";var F=G.offsetWidth;var C=G.offsetHeight;var B=(this.animHoriz)?0:F;var E=(this.animVert)?0:C;A.attributes=(I)?{width:{to:F},height:{to:C}}:{width:{to:B},height:{to:E}};if(I&&!this._bContainerOpen){this._elContent.style.width=B+"px";this._elContent.style.height=E+"px";}else{this._elContent.style.width=F+"px";this._elContent.style.height=C+"px";}D.removeChild(G);G=null;var H=this;var J=function(){A.onComplete.unsubscribeAll();if(I){H._toggleContainerHelpers(true);H._bContainerOpen=I;H.containerExpandEvent.fire(H);}else{H._elContent.style.display="none";H._bContainerOpen=I;H.containerCollapseEvent.fire(H);}};this._toggleContainerHelpers(false);this._elContent.style.display="";A.onComplete.subscribe(J);A.animate();}else{if(I){this._elContent.style.display="";this._toggleContainerHelpers(true);this._bContainerOpen=I;this.containerExpandEvent.fire(this);}else{this._toggleContainerHelpers(false);this._elContent.style.display="none";this._bContainerOpen=I;this.containerCollapseEvent.fire(this);}}};YAHOO.widget.AutoComplete.prototype._toggleHighlight=function(A,C){if(A){var B=this.highlightClassName;if(this._elCurListItem){YAHOO.util.Dom.removeClass(this._elCurListItem,B);this._elCurListItem=null;}if((C=="to")&&B){YAHOO.util.Dom.addClass(A,B);this._elCurListItem=A;}}};YAHOO.widget.AutoComplete.prototype._togglePrehighlight=function(B,C){if(B==this._elCurListItem){return ;}var A=this.prehighlightClassName;if((C=="mouseover")&&A){YAHOO.util.Dom.addClass(B,A);}else{YAHOO.util.Dom.removeClass(B,A);}};YAHOO.widget.AutoComplete.prototype._updateValue=function(C){if(!this.suppressInputUpdate){var F=this._elTextbox;var E=(this.delimChar)?(this.delimChar[0]||this.delimChar):null;var B=C._sResultMatch;var D="";if(E){D=this._sPastSelections;D+=B+E;if(E!=" "){D+=" ";}}else{D=B;}F.value=D;if(F.type=="textarea"){F.scrollTop=F.scrollHeight;}var A=F.value.length;this._selectText(F,A,A);this._elCurListItem=C;}};YAHOO.widget.AutoComplete.prototype._selectItem=function(A){this._bItemSelected=true;this._updateValue(A);this._sPastSelections=this._elTextbox.value;this._clearInterval();this.itemSelectEvent.fire(this,A,A._oResultData);this._toggleContainer(false);};YAHOO.widget.AutoComplete.prototype._jumpSelection=function(){if(this._elCurListItem){this._selectItem(this._elCurListItem);
}else{this._toggleContainer(false);}};YAHOO.widget.AutoComplete.prototype._moveSelection=function(G){if(this._bContainerOpen){var F=this._elCurListItem;var E=-1;if(F){E=F._nItemIndex;}var C=(G==40)?(E+1):(E-1);if(C<-2||C>=this._nDisplayedItems){return ;}if(F){this._toggleHighlight(F,"from");this.itemArrowFromEvent.fire(this,F);}if(C==-1){if(this.delimChar){this._elTextbox.value=this._sPastSelections+this._sCurQuery;}else{this._elTextbox.value=this._sCurQuery;}return ;}if(C==-2){this._toggleContainer(false);return ;}var D=this._elList.childNodes[C];var A=this._elContent;var B=((YAHOO.util.Dom.getStyle(A,"overflow")=="auto")||(YAHOO.util.Dom.getStyle(A,"overflowY")=="auto"));if(B&&(C>-1)&&(C<this._nDisplayedItems)){if(G==40){if((D.offsetTop+D.offsetHeight)>(A.scrollTop+A.offsetHeight)){A.scrollTop=(D.offsetTop+D.offsetHeight)-A.offsetHeight;}else{if((D.offsetTop+D.offsetHeight)<A.scrollTop){A.scrollTop=D.offsetTop;}}}else{if(D.offsetTop<A.scrollTop){this._elContent.scrollTop=D.offsetTop;}else{if(D.offsetTop>(A.scrollTop+A.offsetHeight)){this._elContent.scrollTop=(D.offsetTop+D.offsetHeight)-A.offsetHeight;}}}}this._toggleHighlight(D,"to");this.itemArrowToEvent.fire(this,D);if(this.typeAhead){this._updateValue(D);}}};YAHOO.widget.AutoComplete.prototype._onContainerMouseover=function(A,C){var D=YAHOO.util.Event.getTarget(A);var B=D.nodeName.toLowerCase();while(D&&(B!="table")){switch(B){case"body":return ;case"li":if(C.prehighlightClassName){C._togglePrehighlight(D,"mouseover");}else{C._toggleHighlight(D,"to");}C.itemMouseOverEvent.fire(C,D);break;case"div":if(YAHOO.util.Dom.hasClass(D,"yui-ac-container")){C._bOverContainer=true;return ;}break;default:break;}D=D.parentNode;if(D){B=D.nodeName.toLowerCase();}}};YAHOO.widget.AutoComplete.prototype._onContainerMouseout=function(A,C){var D=YAHOO.util.Event.getTarget(A);var B=D.nodeName.toLowerCase();while(D&&(B!="table")){switch(B){case"body":return ;case"li":if(C.prehighlightClassName){C._togglePrehighlight(D,"mouseout");}else{C._toggleHighlight(D,"from");}C.itemMouseOutEvent.fire(C,D);break;case"ul":C._toggleHighlight(C._elCurListItem,"to");break;case"div":if(YAHOO.util.Dom.hasClass(D,"yui-ac-container")){C._bOverContainer=false;return ;}break;default:break;}D=D.parentNode;if(D){B=D.nodeName.toLowerCase();}}};YAHOO.widget.AutoComplete.prototype._onContainerClick=function(A,C){var D=YAHOO.util.Event.getTarget(A);var B=D.nodeName.toLowerCase();while(D&&(B!="table")){switch(B){case"body":return ;case"li":C._toggleHighlight(D,"to");C._selectItem(D);return ;default:break;}D=D.parentNode;if(D){B=D.nodeName.toLowerCase();}}};YAHOO.widget.AutoComplete.prototype._onContainerScroll=function(A,B){B._elTextbox.focus();};YAHOO.widget.AutoComplete.prototype._onContainerResize=function(A,B){B._toggleContainerHelpers(B._bContainerOpen);};YAHOO.widget.AutoComplete.prototype._onTextboxKeyDown=function(A,B){var C=A.keyCode;if(B._nTypeAheadDelayID!=-1){clearTimeout(B._nTypeAheadDelayID);}switch(C){case 9:if(!YAHOO.env.ua.opera&&(navigator.userAgent.toLowerCase().indexOf("mac")==-1)||(YAHOO.env.ua.webkit>420)){if(B._elCurListItem){if(B.delimChar&&(B._nKeyCode!=C)){if(B._bContainerOpen){YAHOO.util.Event.stopEvent(A);}}B._selectItem(B._elCurListItem);}else{B._toggleContainer(false);}}break;case 13:if(!YAHOO.env.ua.opera&&(navigator.userAgent.toLowerCase().indexOf("mac")==-1)||(YAHOO.env.ua.webkit>420)){if(B._elCurListItem){if(B._nKeyCode!=C){if(B._bContainerOpen){YAHOO.util.Event.stopEvent(A);}}B._selectItem(B._elCurListItem);}else{B._toggleContainer(false);}}break;case 27:B._toggleContainer(false);return ;case 39:B._jumpSelection();break;case 38:if(B._bContainerOpen){YAHOO.util.Event.stopEvent(A);B._moveSelection(C);}break;case 40:if(B._bContainerOpen){YAHOO.util.Event.stopEvent(A);B._moveSelection(C);}break;default:B._bItemSelected=false;B._toggleHighlight(B._elCurListItem,"from");B.textboxKeyEvent.fire(B,C);break;}if(C===18){B._enableIntervalDetection();}B._nKeyCode=C;};YAHOO.widget.AutoComplete.prototype._onTextboxKeyPress=function(A,B){var C=A.keyCode;if(YAHOO.env.ua.opera||(navigator.userAgent.toLowerCase().indexOf("mac")!=-1)&&(YAHOO.env.ua.webkit<420)){switch(C){case 9:if(B._bContainerOpen){if(B.delimChar){YAHOO.util.Event.stopEvent(A);}if(B._elCurListItem){B._selectItem(B._elCurListItem);}else{B._toggleContainer(false);}}break;case 13:if(B._bContainerOpen){YAHOO.util.Event.stopEvent(A);if(B._elCurListItem){B._selectItem(B._elCurListItem);}else{B._toggleContainer(false);}}break;default:break;}}else{if(C==229){B._enableIntervalDetection();}}};YAHOO.widget.AutoComplete.prototype._onTextboxKeyUp=function(A,C){var B=this.value;C._initProps();var D=A.keyCode;if(C._isIgnoreKey(D)){return ;}if(C._nDelayID!=-1){clearTimeout(C._nDelayID);}C._nDelayID=setTimeout(function(){C._sendQuery(B);},(C.queryDelay*1000));};YAHOO.widget.AutoComplete.prototype._onTextboxFocus=function(A,B){if(!B._bFocused){B._elTextbox.setAttribute("autocomplete","off");B._bFocused=true;B._sInitInputValue=B._elTextbox.value;B.textboxFocusEvent.fire(B);}};YAHOO.widget.AutoComplete.prototype._onTextboxBlur=function(A,C){if(!C._bOverContainer||(C._nKeyCode==9)){if(!C._bItemSelected){var B=C._textMatchesOption();if(!C._bContainerOpen||(C._bContainerOpen&&(B===null))){if(C.forceSelection){C._clearSelection();}else{C.unmatchedItemSelectEvent.fire(C,C._sCurQuery);}}else{if(C.forceSelection){C._selectItem(B);}}}if(C._bContainerOpen){C._toggleContainer(false);}C._clearInterval();C._bFocused=false;if(C._sInitInputValue!==C._elTextbox.value){C.textboxChangeEvent.fire(C);}C.textboxBlurEvent.fire(C);}};YAHOO.widget.AutoComplete.prototype._onWindowUnload=function(A,B){if(B&&B._elTextbox&&B.allowBrowserAutocomplete){B._elTextbox.setAttribute("autocomplete","on");}};YAHOO.widget.AutoComplete.prototype.doBeforeSendQuery=function(A){return this.generateRequest(A);};YAHOO.widget.AutoComplete.prototype.getListItems=function(){var C=[],B=this._elList.childNodes;for(var A=B.length-1;A>=0;A--){C[A]=B[A];}return C;};YAHOO.widget.AutoComplete._cloneObject=function(D){if(!YAHOO.lang.isValue(D)){return D;
}var F={};if(YAHOO.lang.isFunction(D)){F=D;}else{if(YAHOO.lang.isArray(D)){var E=[];for(var C=0,B=D.length;C<B;C++){E[C]=YAHOO.widget.AutoComplete._cloneObject(D[C]);}F=E;}else{if(YAHOO.lang.isObject(D)){for(var A in D){if(YAHOO.lang.hasOwnProperty(D,A)){if(YAHOO.lang.isValue(D[A])&&YAHOO.lang.isObject(D[A])||YAHOO.lang.isArray(D[A])){F[A]=YAHOO.widget.AutoComplete._cloneObject(D[A]);}else{F[A]=D[A];}}}}else{F=D;}}}return F;};YAHOO.register("autocomplete",YAHOO.widget.AutoComplete,{version:"2.6.0",build:"1321"});

/*scheduleView.js*/

var leadEmailDlg = '';
// get the url and separate out the parameters with value
// created by anil... for lead creation and identifying whether from agentside or not
function getURLParam(strParamName)
{
	var strReturn = "";
	var strHref = window.location.href;
	if(strHref.indexOf("?") > -1 )
	{
		var strQueryString = strHref.substr(strHref.indexOf("?")).toLowerCase();
		var aQueryString = strQueryString.split("&");
		for(var iParam = 0; iParam < aQueryString.length; iParam++ )
		{
			if(aQueryString[iParam].indexOf(strParamName.toLowerCase() + "=") > -1 )
			{
				var aParam = aQueryString[iParam].split("=");
				strReturn = aParam[1];
				break;
			}	
		}
	}
	return unescape(strReturn);
} 

function showLeadPopup(address,sourceLink,mlsno)
{
	if(typeof(bkTheme) != "undefined" && bkTheme == "atproperties")
	{
		if(typeof(uid) == "undefined" || uid == "" || uid == null)
		{		
			if(typeof(SignInDlg) == "string" || typeof(SignInDlg) == "undefined" || SignInDlg == null)
			{
				if($('divSignInFrm')) 
				{ 				
					$('divSignInFrm').style.display = '';			
					if(typeof(createDialog) == "function")
						SignInDlg = createDialog('divSignInFrm');
				}
			}
			$('divSignInFrm').style.dispaly = 'block';
			$('userName').value = "";
			$('userPwd').value = "";
			$('userName').className="textbox";
			$('userPwd').className="textbox";
			$('errSysLogin').innerHTML="&nbsp;";
			if($("scheAddress")) $("scheAddress").value = address;
			if($("scheSourceLink")) $("scheSourceLink").value = sourceLink;
			if($("scheMlsNo")) $("scheMlsNo").value = mlsno;
			if($("fromWhere")) $("fromWhere").value = "scheduleViewing";
			if($("signInRoloLnk")) $("signInRoloLnk").href  = '/app/auth/login.php';
			var qs = new Querystring();
			if(qs.get("frm") != null && qs.get("aid") != null && $("signInRoloLnk"))
				$("signInRoloLnk").href += "?agd="+trim(qs.get("aid"));
			SignInDlg.show();
			return;
		}
	}

	if($('divLocalSearch')){$('divLocalSearch').style.display='none';}
	var frm = getURLParam('frm');
	var aid = getURLParam('aid');
	var prefix = mlsno.substring(0,3);
		if(typeof(leadEmailDlg) == 'string')
		{
			var url = '/app/listing/getSchViewPopup.php';
			//anil...
			if(prefix == "TID" ||  prefix == "PKT" || prefix == "ENH")	var qs = 'mort=' + prefix + '&mlsno=' + mlsno.substr(3) + "&frm=" + frm + "&aid=" + aid;
			else	var qs = 'mort=' + prefix + '&mlsno=' + mlsno + "&frm=" + frm + "&aid=" + aid;
			var cbfnShowLeadPopup = function(reqObj)
			{
				var response = trim(reqObj.responseText);
				$('leadPopup').innerHTML = response;
				leadEmailDlg = createDialog('leadPopup');
			}
			ajaxRequest(url,qs,cbfnShowLeadPopup,false);
		}
		
		var addressNew = address.split(",");
		var addr = '';
		if(trim(addressNew[0])!=''){addr = addressNew[0];}
		if(trim(addressNew[1])!='')
		{
			if(addr == '')
				addr = addressNew[1];
			else
				addr = addr +","+addressNew[1];
		}
		if(trim(addressNew[2])!=''){addr = addr +","+addressNew[2];}
		if(trim(addressNew[3])!=''){addr = addr +","+addressNew[3];}
		$('errLead').innerHTML = "&nbsp;"
		enableAll();
		if($("aid"))
		{
			$("aid").value = aid;
		}
		
		if($('hdnSchCity'))
			$('hdnSchCity').value = addressNew[1];
		$('propAddress').innerHTML = addr;
		$('propFullAddress').innerHTML = address;
		$('completedMsg').style.display = 'none';
		$('completedMsg').innerHTML = 'Processing...........<img src = "'+imgThmPath+'common/loaderLogin.gif"/>';
		schviewClearAll();
		
		if(mlsno!='' &&  mlsno!='undefined')
		{
			$('propMlsNo').style.display = '';
			var startmls=mlsno.substring(0,3);
			if ( startmls == "TID" ||  startmls == "PKT" || startmls == "ENH")
			{
				var tid = mlsno.substr(3);
				$("hdnDiv").innerHTML="PKT";
				$("hdnOrgSource").innerHTML="PKT";
				$("propMLSlabel").style.display="";
				$("propMLSlabel").innerHTML="Terabitz Id&nbsp;:&nbsp;&nbsp;";
				$('propMlsNo').innerHTML = tid;
			}
			else
			{
				$("hdnDiv").innerHTML="MLS";
				$("hdnOrgSource").innerHTML = "MLS";
				$("propMLSlabel").style.display="";
				$("propMLSlabel").innerHTML="MLS ID&nbsp;:&nbsp;&nbsp;";
				$('propMlsNo').innerHTML = mlsno;
			}
			if($('hdnOrgTid'))
				$('hdnOrgTid').innerHTML = tid;
		}
		$('propSourceLink').value = sourceLink;
		leadEmailDlg.beforeHideEvent.subscribe(beforeHideLead, this);
		leadEmailDlg.beforeShowEvent.subscribe(beforeShowLead, this);
		$('leadPopup').style.display = 'block';
		$('leadPopup').parentNode.style.zIndex = 1000;
		leadEmailDlg.show();
}

function doNothing()
{	
}
function checkRadioType(id,val,divName)
{
	$(id).value=val;
	if($(id).value=='Y')
		 $(divName).style.display = "inline";
	else
		{
		 $(divName).style.display = "none";
		 errExists=$('errLead').innerHTML.indexOf('your realtor');
		 if(errExists != -1)
			{
			 $('txtRealtorName').className = 'textboxBlue';
    		 $('errLead').innerHTML = "&nbsp;";
			}
		}

}
function setTxtBoxFromDD(ddId,txtId)
{
	$(txtId).value=$(ddId).value;
	$(txtId).className='textboxBlue';
	$('errLead').innerHTML = '';

}

function responseLeadEmail(originalRequest)
{
	var response = originalRequest.responseText;
	if(response)
	{
		$('completedMsg').innerHTML = '<span class="moduleLableText" style="color:gray;">Your request has been submitted! </span>';
		//$('completedMsg').innerHTML = '<span class="errorMsg">Your request has been submitted! </span><span onclick="leadEmailDlg.hide();" class="errorMsg crsr">[close]</span>';
		schviewClearAll();
		disableAll();
		if(leadEmailDlg)
			setTimeout(function hideLeadPopup(){leadEmailDlg.hide();},5000);
		else
			setTimeout("window.close()",3000); 
	}
	else
		alert("Sorry !! Please try again later.");
}

function schviewClearAll()
{
		//$('txtfinemail1').value = '';
		//$('txtfinfname1').value = '';
		//$('txtfinlname1').value = '';
		//$('txtfinphone1').value = '';
		if($('txtRealtorName'))
			$('txtRealtorName').value='';
		//$('txtfinemail1').value = '';
		$('txtfinemail1').className = 'textboxBlue';
		$('txtfinfname1').className = 'textboxBlue';
		$('txtfinlname1').className = 'textboxBlue';
		$('txtfinphone1').className = 'textboxBlue';
		if($('txtRealtorName'))
			$('txtRealtorName').className = 'textboxBlue';
		if($('selectRealtor'))
			$('selectRealtor').selectedIndex='0';
		$('txtreach').value = '';
		//$('schView').value = '';
		$('suggesteddaytime1').value = '';
		$('suggesteddaytime2').value = '';
		$('suggesteddaytime3').value = '';
		$('txtFeedback').value = '';
		$('propSourceLink').value = '';
}
function disableAll()
{
	$('txtfinfname1').disabled="true";
	$('txtfinlname1').disabled="true";
	$('txtfinphone1').disabled="true";
	$('txtfinemail1').disabled="true";
	$('txtreach').disabled="true";
	//$('schView').disabled="true";
	$('suggesteddaytime1').disabled="true";
	$('suggesteddaytime2').disabled="true";
	$('suggesteddaytime3').disabled="true";
	$('txtFeedback').disabled="true";
}
function enableAll()
{
	$('txtfinfname1').disabled=false;
	$('txtfinlname1').disabled=false;
	$('txtfinphone1').disabled=false;
	$('txtfinemail1').disabled=false;
	$('txtreach').disabled=false;
	//$('schView').disabled=false;
	$('suggesteddaytime1').disabled=false;
	$('suggesteddaytime2').disabled=false;
	$('suggesteddaytime3').disabled=false;
	$('txtFeedback').disabled=false;
}
	
function beforeHideLead()
{
	$('leadPopup').style.display = 'none';
	var myCombox = document.getElementsByTagName("select"); 
	var lengthMyCombox = myCombox.length; 
	for(var i=0;i<lengthMyCombox;i++)
		{myCombox[i].style.visibility = "visible";}
	if ($('imgViewRequestSend').style.display == "none")
		$('imgViewRequestSend').style.display = "block";
}
function beforeShowLead()
{
	$('leadPopup').style.display = 'block';
}
function funLoadDatePicker(datepickerNo,fieldName,imgName)
{
	if(Calendar==null)
	{
		return;
	}
	else
	{
		if(datepickerNo == 1);
		{
			Calendar.setup({inputField:fieldName, button:imgName ,align: "Tr",showsTime:true,timeFormat:"12",ifFormat:'%d-%b-%Y %l:%M %p'});
		}
	}
}

function responseLeadEmailMoreInfo(originalRequest)
{
	var response = originalRequest.responseText;
	if(response)
	{
		$('completedMsg').innerHTML = '<span class="moduleLableText" style="color:gray;">Your request has been submitted! </span>';
		MoreInfoClearAll();
		disableAllMoreInfo();
		setTimeout("window.close()",3000);
	}
	else
		alert("Sorry !! Please try again later.");
}


function MoreInfoClearAll()
{
		$('txtfname').value = '';
		$('txtfname').className = 'textboxBlue';
		$('txtlname').value = '';
		$('txtlname').className = 'textboxBlue';
		$('txtemail').value = '';
		$('txtemail').className = 'textboxBlue';
		$('txtWorkingWithAgent').value = '';
		$('txtWorkingWithAgent').className = 'textboxBlue';
		$('txtMLSNo').value = '';
		$('txtMLSNo').className = 'textboxBlue';
		$('txtReferenceAddress').value = '';
		$('txtReferenceAddress').className = 'textboxBlue';
		$('txtPropertyType').value = '';
		$('txtPropertyType').className = 'textboxBlue';
		$('txtPriceFrom').value = '';
		$('txtPriceFrom').className = 'textboxBlue';
		$('txtPriceTo').value = '';
		$('txtPriceTo').className = 'textboxBlue';
		$('txtBeds').value = '';
		$('txtBeds').className = 'textboxBlue';
		$('txtBaths').value = '';
		$('txtBaths').className = 'textboxBlue';
		$('txtSqft').value = '';
		$('txtSqft').className = 'textboxBlue';
		$('txtFeedback').value = '';
		$('txtFeedback').className = 'textboxBlue';
		$('txtPhone').value = '';
		$('txtPhone').className = 'textboxBlue';
		$('txtAddress').value = '';
		$('txtAddress').className = 'textboxBlue';
		$('txtCity').value = '';
		$('txtCity').className = 'textboxBlue';
		$('cmbState').value = "";
		$('cmbState').className = 'textboxBlue';
		$('txtZip').value = '';
		$('txtZip').className = 'textboxBlue';
		$('inputLookingToBuy').value = '';
		if($('lookingToBuy'))
		{
			$('lookingToBuy').value='';
		}
}
function disableAllMoreInfo()
{		
		$('txtfname').disabled = true;
		$('txtlname').disabled = true;
		$('txtemail').disabled = true;
		$('txtWorkingWithAgent').disabled = true;
		$('txtMLSNo').disabled = true;
		$('txtReferenceAddress').disabled = true;
		$('txtPropertyType').disabled = true;
		$('txtPriceFrom').disabled = true;
		$('txtPriceTo').disabled = true;
		$('txtBeds').disabled = true;
		$('txtBaths').disabled = true;
		$('txtSqft').disabled = true;
		$('txtFeedback').disabled = true;
		$('txtPhone').disabled = true;
		$('txtAddress').disabled = true;
		$('txtCity').disabled = true;
		$('cmbState').disabled = true;
		$('txtZip').disabled = true;
		$('inputLookingToBuy').disabled = true;
}
/*Function for Free Brochure of BHI Homesite*/
function sendBrochureEmail()
{
	var validateFlag=0;
	if(!isBlank('txtFname',"your first name."))
	{
		$('txtFname').className = 'textboxRed';
		$('errLead').innerHTML = alertErrorMsg;
		validateFlag=1;
		return;
	}
	else
	{
		$('txtFname').className = 'textboxBlue';
	}
	if(!isBlank('txtLname',"your last name."))
	{
		$('txtLname').className = 'textboxRed';
		$('errLead').innerHTML = alertErrorMsg;
		validateFlag=1;
		return;
	}
	else
	{
		$('txtLname').className = 'textboxBlue';
	}
	if(!isBlank('txtEmail',"your email address."))
	{
		$('txtEmail').className = 'textboxBlue';
		$('txtEmail').className = 'textboxRed';
		$('errLead').innerHTML = alertErrorMsg;
		validateFlag=1;
		return;
	}
	else
	{
		$('txtEmail').className = 'textboxBlue';
	}
	if(trim($('txtEmail').value)!="")
	{
		if(!emailIsValid('txtEmail'))
		{
			$('txtEmail').className = 'textboxBlue';
			$('txtEmail').className = 'textboxRed';
			$('errLead').innerHTML = alertErrorMsg;
			validateFlag=1;
			return;
		}
		else
		{
			$('txtEmail').className = 'textboxBlue';
		}
	}
	if(!isBlank('txtAddress',"address."))
	{
		$('txtAddress').className = 'textboxRed';
		$('errLead').innerHTML = alertErrorMsg;
		validateFlag=1;
		return;
	}
	else
	{
		$('txtAddress').className = 'textboxBlue';
	}
	
	if(!isBlank('txtCity',"city."))
	{
		$('txtCity').className = 'textboxRed';
		$('errLead').innerHTML = alertErrorMsg;
		validateFlag=1;
		return;
	}
	else
	{
		$('txtCity').className = 'textboxBlue';
	}
	if(!isBlank('txtState',"state."))
	{
		$('txtState').className = 'textboxRed';
		$('errLead').innerHTML = alertErrorMsg;
		validateFlag=1;
		return;
	}
	else
	{
		$('txtState').className = 'textboxBlue';
	}
	
	if(!isBlank('txtZip',"zip."))
	{
		$('txtZip').className = 'textboxRed';
		$('errLead').innerHTML = alertErrorMsg;
		validateFlag=1;
		return;
	}
	else
	{
		$('txtZip').className = 'textboxBlue';
	}
	if(trim($('txtZip').value)!="")
	{
		if ( !zipIsValid("txtZip") )
	    {
	    	$('txtZip').className = 'textboxRed';
	    	$('errLead').innerHTML = alertErrorMsg;
			validateFlag=1;
			return;
	    }
	    else
		{
			$('txtZip').className = 'textboxBlue';
		}
	}
	
	if(!isBlank('txtPhone',"contact number."))
	{
		$('txtPhone').className = 'textboxRed';
		$('errLead').innerHTML = alertErrorMsg;
		validateFlag=1;
		return;
	}
	else
	{
		$('txtPhone').className = 'textboxBlue';
	}
	
	if(!validatePhone('txtPhone',"your contact number."))
	{
		$('txtPhone').className = 'textboxBlue';
		$('txtPhone').className = 'textboxRed';
		$('errLead').innerHTML = alertErrorMsg;
		validateFlag=1;
		return;
	}
	else
	{
		$('txtPhone').className = 'textboxBlue';
	}
	if(trim($('txtExt').value)!="")
	{
		if(!IsNumeric($('txtExt').value))
		{
			$('txtExt').className = 'textboxRed';
			$('errLead').innerHTML = "Please enter valid extension.";
			validateFlag=1;
			return;
		}
		else if(($('txtExt').value).length>11)
		{
			$('txtExt').className = 'textboxRed';
			$('errLead').innerHTML = "Extension length can not be greater 10.";
			validateFlag=1;
			return;
		}
		else
		{
			$('txtExt').className = 'textboxBlue';
		}
	}
	
	if(validateFlag==0)
	{
		/*if($('imgViewRequestSend')!='null')
			$('imgViewRequestSend').style.display = "none";*/
			
		$('errLead').innerHTML = "&nbsp;";
		
		
		var url = 'http://'+window.location.hostname+'/homesite/BHI/freeBrochure.php';	
		var queryString = "from=sendEmail";
		
		queryString = queryString + "&id="+escape($('id').value);
		queryString = queryString + "&type="+escape($('type').value);
		queryString = queryString + "&requestFor="+escape($('requestFor').value);
		queryString = queryString + "&email="+escape($('txtEmail').value);
		queryString = queryString + "&fname="+escape($('txtFname').value);
		queryString = queryString + "&lname="+escape($('txtLname').value);
		queryString = queryString + "&phone="+escape($('txtPhone').value);
		queryString = queryString + "&ext="+escape($('txtExt').value);
		queryString = queryString + "&address="+escape($('txtAddress').value);
		queryString = queryString + "&city="+escape($('txtCity').value);
		queryString = queryString + "&state="+escape($('txtState').value);
		queryString = queryString + "&zip="+escape($('txtZip').value);
		queryString = queryString + "&feedback="+encodeURI($('txtFeedback').value);
		queryString = queryString + "&movedate="+escape($("selectMovedate").value);		
		queryString = queryString + "&title="+escape($("title").value);		
		if ( $('selectFinancing').value != "0" )
		{
			queryString = queryString + "&financing="+escape($("selectFinancing").value);		
		}
		else
		{
			queryString = queryString + "&financing=";		
		}
		/*if ( $('selectLookhome').value != "0" )
		{
			queryString = queryString + "&lookhome="+escape($("selectLookhome").value);		
		}
		else
		{
			queryString = queryString + "&lookhome=";		
		}*/
	
		queryString = queryString + "&sourceLink="+escape($('sourceLink').value);
		queryString = queryString + "&builderid="+escape($("builderid").value);		
		queryString = queryString + "&commid="+escape($("commid").value);		
		$('completedMsg').style.display = 'block';
		ajaxRequest(url,queryString,responseBrochureEmail);
	}
}

function responseBrochureEmail(originalRequest)
{
	var response = originalRequest.responseText;
	if(response)
	{
		$('completedMsg').innerHTML = '<span class="moduleLableText" style="color:gray;">Your request has been submitted! </span>';
		freeBrochureClearAll();
		setTimeout("window.close()",3000);
	}
	else
		alert("Sorry !! Please try again later.");
}

function freeBrochureClearAll()
{
		$('txtFname').value = '';
		$('txtFname').className = 'textboxBlue';
		$('txtLname').value = '';
		$('txtLname').className = 'textboxBlue';
		$('txtEmail').value = '';
		$('txtEmail').className = 'textboxBlue';
		$('txtAddress').value = '';
		$('txtAddress').className = 'textboxBlue';
		$('txtCity').value = '';
		$('txtCity').className = 'textboxBlue';
		$('txtState').value = '';
		$('txtState').className = 'textboxBlue';
		$('txtZip').value = '';
		$('txtZip').className = 'textboxBlue';
		$('txtPhone').value = '';
		$('txtPhone').className = 'textboxBlue';
		$('txtExt').value = '';
		$('txtExt').className = 'textboxBlue';
		$('txtFeedback').value = '';
		$('txtFeedback').className = 'textareaBlue';
}


function sendLeadEmail(fromOpen)
{
	if(!isBlank('txtfinfname1',"your first name."))
	{
		$('txtfinfname1').className = 'textboxRed';
		$('txtfinemail1').className = 'textboxBlue';
		$('txtfinphone1').className = 'textboxBlue';
		if($('txtRealtorName'))
			$('txtRealtorName').className = 'textboxBlue';
		$('errLead').innerHTML = alertErrorMsg;
	}
	else if(!isBlank('txtfinemail1',"your email address."))
	{
		$('txtfinfname1').className = 'textboxBlue';
		$('txtfinemail1').className = 'textboxRed';
		$('txtfinphone1').className = 'textboxBlue';
		if($('txtRealtorName'))
			$('txtRealtorName').className = 'textboxBlue';
		$('errLead').innerHTML = alertErrorMsg;	
	}
	else if(!emailIsValid('txtfinemail1'))
	{
		$('txtfinfname1').className = 'textboxBlue';
		$('txtfinemail1').className = 'textboxRed';
		$('txtfinphone1').className = 'textboxBlue';
		if($('txtRealtorName'))
			$('txtRealtorName').className = 'textboxBlue';
		$('errLead').innerHTML = alertErrorMsg;	
	}	
	else if(trim($('txtfinphone1').value)!='' && !validatePhone('txtfinphone1',"Your phone"))
	{
		$('txtfinfname1').className = 'textboxBlue';
		$('txtfinemail1').className = 'textboxBlue';
		$('txtfinphone1').className = 'textboxRed';
		if($('txtRealtorName'))
			$('txtRealtorName').className = 'textboxBlue';
		$('errLead').innerHTML = alertErrorMsg;
	}
	else if($('txtRealtorName') && ($('realtorYes').checked) &&!isBlank('txtRealtorName'," or choose the name of your realtor."))
	{
		$('txtfinfname1').className   = 'textboxBlue';
		$('txtfinemail1').className   = 'textboxBlue';
		$('txtfinphone1').className   = 'textboxBlue';
		$('txtRealtorName').className = 'textboxRed';
		$('errLead').innerHTML = alertErrorMsg;
	}
	else
	{
		/*if($('imgViewRequestSend')!='null')
			$('imgViewRequestSend').style.display = "none";*/
			
		$('txtfinfname1').className   = 'textboxBlue';
		$('txtfinemail1').className   = 'textboxBlue';
		$('txtfinphone1').className   = 'textboxBlue';
		if($('txtRealtorName'))
			$('txtRealtorName').className = 'textboxBlue';
		$('errLead').innerHTML = "&nbsp;";
		
		var url = 'http://'+window.location.hostname+'/app/listing/leadMailHandler.php';
		var queryString = "";
		queryString = "mailType=schView";

		var fromPage = 'bk';
		var fromPageId = '0';
		if(fromOpen == 'pop')
		{
			var frm = getURLParam('frm');
			var aid = getURLParam('aid');			
			fromPage = frm;
			if(frm == 'agt' && aid!='')
				fromPageId = aid;
		}
		else
		{
			fromPage = $("hdnFromSite").value;
			fromPageId = $("hdnFromSiteId").value;
		}

		if(fromPage=="agt"|| fromPage == "lmagt")//Agentsite Homesite
		{
			queryString = queryString+ "&aid="+fromPageId+"";
		}
				
		queryString = queryString + "&frmOpen="+fromOpen;
		queryString = queryString + "&frm="+fromPage;
		queryString = queryString + "&email="+escape($('txtfinemail1').value);
		queryString = queryString + "&name="+escape($('txtfinfname1').value);
		queryString = queryString + "&lname="+escape($('txtfinlname1').value);
		queryString = queryString + "&phone="+escape($('txtfinphone1').value);
		queryString = queryString + "&reach="+escape($('txtreach').value);
		queryString = queryString + "&fchoice="+escape($('suggesteddaytime1').value);
		queryString = queryString + "&schoice="+escape($('suggesteddaytime2').value);
		queryString = queryString + "&tchoice="+escape($('suggesteddaytime3').value);
		
		queryString = queryString + "&feedback="+escape($('txtFeedback').value);
		//queryString = queryString + "&address="+trim(escape($('propAddress').innerHTML));
		queryString = queryString + "&address="+trim(escape($('propFullAddress').innerHTML));
		queryString = queryString + "&sourceLink="+escape($('propSourceLink').value);
		queryString = queryString + "&mlsno="+escape($('propMlsNo').innerHTML);
		queryString = queryString + "&city="+encodeURIComponent($('hdnSchCity').value);
		if($('hiddenTid'))	queryString = queryString + "&tid="+escape($('hiddenTid').value);

		if($('hdnDiv'))
			var source=$('hdnDiv').innerHTML;
		else
			var source="";

		queryString = queryString + "&source="+source;

		var orgSource = '';
		if($('hdnOrgSource'))
		{
			orgSource = $('hdnOrgSource').innerHTML;
			queryString = queryString + "&orgSource="+orgSource;
		}
		if($('hdnOrgTid'))
		{
			var orgTid = $('hdnOrgTid').innerHTML;
			queryString = queryString + "&orgTid="+orgTid;
		}


		if($('txtRealtorName') && ($('realtorYes').checked))
			realtorqs = "&realtor="+escape($('txtRealtorName').value);
		else
			realtorqs = "&realtor="; 
		queryString = queryString + realtorqs;
		$('completedMsg').style.display = 'block';
		ajaxRequest(url,queryString,responseLeadEmail);
	}
}

function sendLeadEmailforMoreInfo(fromOpen)
{
	var validateFlag = 0;
	var queryString = "";
	var url = 'http://'+window.location.hostname+'/app/listing/leadMailHandler.php';
		
	var fromPage = $("hdnFromSite").value;
	var fromPageId = $("hdnFromSiteId").value;

	queryString = "mailType=moreInfo";
	if(agentcode != '')
		queryString = queryString+"&agentcode="+agentcode;

	if(fromPage == "agt" || fromPage == "lmagt")
	{
		queryString = queryString+ "&aid="+fromPageId+"";
	}

	queryString = queryString + "&frmOpen="+fromOpen;
	queryString = queryString + "&frm="+fromPage;

	queryString = queryString + "&referenceAddress="+escape(encodeURI($("propAddress").innerHTML));
	if(!isBlank('txtfname',"your first name."))
	{
		$('txtfname').className = 'textboxRed';
		$('errLead').innerHTML = alertErrorMsg;
		validateFlag = 1;
		return;
	}
	else
	{
		$('txtfname').className = 'textboxBlue';
		$('errLead').innerHTML = "&nbsp;";
		queryString = queryString + "&name="+escape($('txtfname').value);				
	}
	
	if(!isBlank('txtlname',"your last name."))
	{
		$('txtlname').className = 'textboxRed';
		$('errLead').innerHTML = alertErrorMsg;
		validateFlag = 1;		
		return;
	}
	else
	{
		$('txtlname').className = 'textboxBlue';
		$('errLead').innerHTML = "&nbsp;";
		queryString = queryString + "&lname="+escape($('txtlname').value);		
	}
	
	if(!isBlank('txtemail',"email address."))
	{
		$('txtemail').className = 'textboxRed';
		$('errLead').innerHTML = alertErrorMsg;
		validateFlag = 1;		
		return;
	}
	else if(!emailIsValid('txtemail'))
	{
		$('txtemail').className = 'textboxRed';
		$('errLead').innerHTML = "Please enter valid email address.";
		validateFlag = 1;	
		return;	
	}
	else
	{
		$('txtemail').className = 'textboxBlue';
		$('errLead').innerHTML = "&nbsp;";
		queryString = queryString + "&email="+escape($('txtemail').value);		
	}
	
	queryString = queryString + "&mlsno="+escape($("propMlsNo").innerHTML);
	
	if ( isBlank("lookingToBuy") )
	{
		queryString = queryString + "&lookingToBuy="+escape($("lookingToBuy").value);
	}
	else
	{
		queryString = queryString + "&lookingToBuy=";
	}
	
	if ( isBlank("txtFeedback") )
	{
		queryString = queryString + "&otherFeature="+escape($("txtFeedback").value);
	}
	else
	{
		queryString = queryString + "&otherFeature=";
	}
	
	if ( isBlank("txtPhone") )
	{
		if ( validatePhone("txtPhone","Phone no") )
		{
			$('txtPhone').className = 'textboxBlue';
			$('errLead').innerHTML = "&nbsp";
			
			queryString = queryString + "&phone="+$('txtPhone').value;
		}
		else
		{
			$('txtPhone').className = 'textboxRed';
			//$('errLead').innerHTML = "Phone is not Valid. Please input in format like 306-954-2548.";
			$('errLead').innerHTML = alertErrorMsg;
			validateFlag = 1;
			return;	
		}
	}
	else
		queryString = queryString + "&phone=";
		
	var rbgroup = "";
	rbgroup = document.getElementsByName('Best_time_to_call');
	var timetocall = "";
	for (i=0;i<rbgroup.length;i++)
	{
    	if (rbgroup[i].checked)
  		{
        	timetocall = rbgroup[i].value;
      	}
	}
	if ( trim(timetocall) != "" )
	{
		queryString = queryString + "&bestTime="+timetocall;
	}
	
	if ( isBlank("txtAddress") )
	{
		queryString = queryString + "&address="+escape($("txtAddress").value);
	}
	else
	{
		queryString = queryString + "&address=";
	}
	
	if ( isBlank("txtCity") )
	{
		queryString = queryString + "&city="+escape($("txtCity").value);
	}
	else
	{
		queryString = queryString + "&city=";
	}
	
	if ( $('cmbState').value != "0" )
	{
		queryString = queryString + "&state="+escape($("cmbState").value);		
	}
	else
	{
		queryString = queryString + "&state=";		
	}
	
	if ( isBlank("txtZip") )
	{
		if ( zipIsValid("txtZip") )
	    {
	    	$('txtZip').className = 'textboxBlue';
			$('errLead').innerHTML = "&nbsp";
	    	queryString = queryString + "&zip="+escape($("txtZip").value);
	    }
	    else
	    {
			$('txtZip').className = 'textboxRed';
			$('errLead').innerHTML = "Please enter valid value zip.";
			validateFlag = 1;
			return;	
	    }
	}
	else
	{
		queryString = queryString + "&zip=";
	}
	if($('hiddenTid'))	queryString = queryString + "&tid="+escape($('hiddenTid').value);

	if ( validateFlag == 0 )
	{
		/*if($('imgViewRequestSend')!='null')
			$('imgViewRequestSend').style.display = "none";*/
		
		queryString = queryString + "&sourceLink="+escape($('propSourceLink').value);
		if ( $('hdnDiv') != null )
			queryString = queryString + "&source="+escape($('hdnDiv').innerHTML);

		var orgSource = '';
		if($('hdnOrgSource'))
		{
			orgSource = $('hdnOrgSource').innerHTML;
			queryString = queryString + "&orgSource="+orgSource;
		}
		if($('hdnOrgTid'))
		{
			var orgTid = $('hdnOrgTid').innerHTML;
			queryString = queryString + "&orgTid="+orgTid;
		}

		$('completedMsg').style.display = 'block';
		ajaxRequest(url,queryString,responseLeadEmailMoreInfo);
	}
}

/*validation.js*/

var alertErrorMsg="";

function isYear(id)
{
	var dt = new Date();
	dt = dt.getFullYear();
	var yr = Number($(id).value);
	if(isNaN(yr))
	{
		alertErrorMsg = "Please Enter valid Year.";
		return false;
	}
	if(yr<1000 || yr>3000)
	{
		alertErrorMsg = "Please Enter valid Year.";
		return false;
	}
/*	if($(id).value.length != oflength)
	{
		alertErrorMsg = "Only "+oflength+" characters alllowed."
		return false;
	}*/
	return true;
}
function isSqft(id)
{
	var sqft = $(id).value;
	sqft = sqft.gsub(",","");
	if(isNaN(Number(sqft)))
	{
		alertErrorMsg = "Enter valid value.";
		return false;
	}
	return true;
}
function isOfLength(id,oflength,limit)
{
	if(limit==null)
	{
		if($(id).value.length != oflength)
		{
			alertErrorMsg = "Only "+oflength+" characters alllowed."
			return false;
		}
	}
	else
	if($(id).value.length > oflength)
	{
		alertErrorMsg = "Maximum "+oflength+" characters alllowed."
		return false;
	}
	return true;
}

function isOverMaxLength(id,maxlength)
{
	return $(id).value.length > maxlength;
}

function isUnderMinLength(id,minlength)
{
	return $(id).value.length < minlength;
}

function regExTest(id,expression)
{
	return $(id).value.match(expression) != null;
}

function isDecimal(val)
{
	var decimalRE = "^(\\+|-)?[0-9][0-9]*(\\.[0-9]*)?$";
	return val.match(decimalRE) != null;
}

function isNonDecimal(number)
{
	numRegExp = /^[0-9]+$/
  	return numRegExp.test(number);
}

function isNonNegDecimal(element)
{
	var nonnegdecimalRE = "^[0-9][0-9]*(\\.[0-9]*)?$";
	return regExTest(element,nonnegdecimalRE);
}

function isProperMoney(id)
{
	if($(id).value<=0)
		return null;
	var nonnegdecimalRE = "^[0-9][0-9]*(\\.[0-9]*)?$";
	var num=String(money2num($(id).value));
	return num.match(nonnegdecimalRE) != null;
	
}

function usernameIsValid(id,min,max)
{
	if (!isBlank(id,'Username')) 
	{
		return false;
	}
	if (isOverMaxLength(id,max) || isUnderMinLength(id,min))
	{
		alertErrorMsg = "Username should between "+min+" - "+max+" characters";
		return false;
	}
	var uName = $(id).value;
	var iChars = "!@#$%^&*()+=-[]\\\';,./{}|\":<>?";
	for (var i = 0; i < uName.length; i++) 
	{
  		if (iChars.indexOf(uName.charAt(i)) != -1)
  		{
  			alertErrorMsg = "Username should not contain special characters";
  			return false;
  		}
  	}
	return true;
}

function passwordIsValid(id,reid,min,max)
{
	if ($F(id) != $F(reid))
	{
		alertErrorMsg = "Password do not match";
		return false;
	}
	if (!isBlank(id,'Password')) //|| (IsDecimal('txtName'))
	{
		return false;
	}
	if (isOverMaxLength(id,max) || isUnderMinLength(id,min))
	{
		alertErrorMsg = "Password should be between "+min+" - "+max+" characters";
		return false;
	}
	return true;
}

function emailIsValid(id)
{
	var testresults;
	if (!isBlank(id,"E-mail Address")) //|| (IsDecimal('txtName'))
	{
		alertErrorMsg = "Please Enter E-mail.";
		return false;
	}
	var str=$F(id);
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	if (filter.test(str))
	{
		testresults=true;
	}
	else
	{
		alertErrorMsg = "Please input a valid email address!";
		$(id).value="";
		$(id).focus();
		testresults=false;
	}
	return (testresults)
}

function chkOnlyEmailIsValid(id)
{
	var testresults;
	var str=$F(id);
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	
	if (filter.test(str) || str == "")
	{
		testresults=true;
	}
	else
	{
		alertErrorMsg = "Please input a valid email address!";
		$(id).value="";
		$(id).focus();
		testresults=false;
	}
	return (testresults)
}

function isValidURL(id,newRegEx){

	var flag=0;
	if (!isBlank(id,"URL")) //|| (IsDecimal('txtName'))
	{
		alertErrorMsg = "Please Enter URL.";
		return false;
	}
	var url=$F(id);

	if (url.indexOf ('http://') == -1)
	{
		if (url.indexOf ('https://') == -1)
		{
			$(id).focus();
			alertErrorMsg = "URL must start with http:// or https://";
			return false;
		}
		else
			flag=1;
	}
	else
		flag=1;

	if(flag==1)
	{
		if(url.substring(0,7)=="http://" || url.substring(0,8)=="https://" )
		{	//nothing 	
		}
		else
		{
			$(id).focus();
			alertErrorMsg = "URL must start with http:// or https://";
			return false;
		}

	}  
	var newRegCheck = false;
	if(newRegEx)
	{
		if(newRegEx != '' || newRegEx == '1')
			newRegCheck = true;
	}

	if(newRegCheck)
	{
		var RegExp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;
	}
	else
	{
		var RegExp = /^(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/;
	}

    if(RegExp.test(url))
	{
        return true;
    }
	else
	{
    	$(id).value="";
		$(id).focus();
		alertErrorMsg = "Please Enter valid URL.";		
        return false;
    }
} 

function validURL(id){
	if (!isBlank(id,"URL")) //|| (IsDecimal('txtName'))
	{
		alertErrorMsg = "Please Enter URL.";
		return false;
	}
	var url=$F(id);
    var RegExp = /^(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/;
    if(RegExp.test(url))
	{
        return true;
    }	
	else
	{
    	$(id).value="";
		$(id).focus();
		alertErrorMsg = "Please Enter valid URL.";		
        return false;
    }
}


function phoneIsValid(id,disp)
{
	var decimalRE = /^\s*(\d{3}-\d{3}-\d{4}|\(\d{3}\) \d{3}-\d{4})\s*$/;
	if(trim($(id).value)=="")
		return true;
//	var decimalRE = "^(\\+|-)?[0-9][0-9]*(\\.[0-9]*)?$";
	if(numTotal($(id).value)==0)
	{
		alertErrorMsg = "Phone is not Valid.\nPlease input in format like 306-954-2548";
		return false;
		
	}
	if (trim($F(id)) != "" && $(id).value.match(decimalRE) == null)
	{
		alertErrorMsg = "Phone is not Valid.\nPlease input in format like 306-954-2548";
		return false;
	}
	return true;
}

function zipIsValid(id,how)
{
	(how==null)?"alert":"";
	var valid = "0123456789-";
	var hyphencount = 0;

	if($F(id) != "" && $F(id) != " ")
	{
		//alert("val = "+document.getElementById(id).value+"ens");
		if ($(id).value.length!=5 && $(id).value.length!=10)
		{
			if(how=="alert")
				_alert("Please enter your 5 digit or 5 digit+4 zip code.");
			else
				alertErrorMsg = "Please enter your 5 digit or 5 digit+4 zip code.";
			$(id).value="";
			$(id).focus();
			return false;
		}
		for (var i=0; i < $(id).value.length; i++)
		{
			temp = "" + $(id).value.substring(i, i+1);
			if (temp == "-") hyphencount++;
			if (valid.indexOf(temp) == "-1")
			{
				if(how=="alert")
					_alert("Invalid characters in your zip code.  Please try again.");
				else
					alertErrorMsg = "Invalid characters in your zip code.";
				$(id).value="";
				$(id).focus();
				return false;
			}
			if ((hyphencount > 1) || (($(id).value.length==10) && ""+$(id).value.charAt(5)!="-"))
			{
				if(how=="alert")
					_alert("The hyphen character should be used with a properly formatted 5 digit+four zip code, like '12345-6789'.   Please try again.");
				else
					alertErrorMsg = "The hyphen character should be used with a properly formatted 5 digit+four zip code, like '12345-6789'.";
				
				$(id).value="";
				$(id).focus();
				return false;
			}
		}
	}
	return true;
}

function zipValid(id)
{
	var valid = "0123456789-";
	var hyphencount = 0;

	if($F(id) != "" && $F(id) != " ")
	{
		//alert("val = "+document.getElementById(id).value+"ens");
		if ($(id).value.length!=5 && $(id).value.length!=10)
		{
			alertErrorMsg = "Please enter your 5 digit or 5 digit+4 zip code.";
			$(id).value="";
			$(id).focus();
			return false;
		}
		for (var i=0; i < $(id).value.length; i++)
		{
			temp = "" + $(id).value.substring(i, i+1);
			if (temp == "-") hyphencount++;
			if (valid.indexOf(temp) == "-1")
			{
				alertErrorMsg = "Invalid characters in your zip code.";
				$(id).value="";
				$(id).focus();
				return false;
			}
			if ((hyphencount > 1) || (($(id).value.length==10) && ""+$(id).value.charAt(5)!="-"))
			{
				alertErrorMsg = "The hyphen character should be used formatted properly.";
				$(id).value="";
				$(id).focus();
				return false;
			}
		}
	}
	return true;
}


function numberIsValid(id,msg,disp,min,max)
{
	if (($F(id) != "") && ($F(id) != " ") && (isNaN($F(id))))
	{
		alertErrorMsg=msg;
		//alert(msg);
		$(id).value="";
		$(id).focus();
		return false;
	}
	if (min !=null && isUnderMinLength(id,min) && ($F(id) != "") && ($F(id) != " "))
	{
		alertErrorMsg=disp+" should be more than "+min+" characters";
		$(id).value="";
		$(id).focus();
		return false;
	}
	if (max !=null && isOverMaxLength(id,max) && ($F(id) != "") && ($F(id) != " "))
	{
		alertErrorMsg=disp+" should be less than "+max+" characters";
		$(id).value="";
		$(id).focus();
		return false;
	}
	return true;
}

function albhabetIsValid(id,msg,disp,min,max)
{
	if(($F(id) != "") && ($F(id) != " ") && $F(id).match(/^[A-Za-z\s]+$/g) == null)
	{
		alertErrorMsg=msg;
		$(id).value="";
		$(id).focus();
		return false;
	}
	if((min != null) && isUnderMinLength(id,min) && ($F(id) != "") && ($F(id) != " "))
	{
		//alert("Value of "+disp+" should have atleast "+min+" characters.")
		alertErrorMsg="Value of "+disp+" should have atleast "+min+" characters.";
		$(id).value="";
		$(id).focus();
		return false;
	}
	if((max != null) && isOverMaxLength(id,max) && ($F(id) != "") && ($F(id) != " "))
	{
		//alert("Value of "+disp+"allows only "+max+" characters.")
		alertErrorMsg="Value of "+disp+"allows only "+max+" characters.";
		$(id).value="";
		$(id).focus();
		return false;
	}
	return true;
}

function alphaNumericIsValid(id,msg,disp,min,max)
{
	if(($F(id) != "") && ($F(id) != " ") && $F(id).match(/^[A-Za-z0-9_\s]+$/g) == null)
	{
		alertErrorMsg=msg;
		$(id).value="";
		$(id).focus();
		return false;
	}
	if((min != null) && isUnderMinLength(id,min) && ($F(id) != "") && ($F(id) != " "))
	{
		//alert("Value of "+disp+" should have atleast "+min+" characters.")
		alertErrorMsg="Value of "+disp+" should have atleast "+min+" characters.";
		$(id).value="";
		$(id).focus();
		return false;
	}
	if((max != null) && isOverMaxLength(id,max) && ($F(id) != "") && ($F(id) != " "))
	{
		//alert("Value of "+disp+"allows only "+max+" characters.")
		alertErrorMsg="Value of "+disp+"allows only "+max+" characters.";
		$(id).value="";
		$(id).focus();
		return false;
	}
	return true;
}

function isBlank(id,disp)
{
	if(trim($F(id)) == "")
	{
		alertErrorMsg="Please enter "+disp;
		$(id).focus();
		return false;
	}
	return true;
}

function isBlank_withoutfocus(id,disp)
{
	if(trim($F(id)) == "")
	{
		alertErrorMsg="Please enter "+disp;
		return false;
	}
	return true;
}
function IsNumeric(sText)

{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
   }
function mobileIsValid(id,disp)
{
	var decimalRE = /^\s*(\d{3}-\d{3}-\d{4}|\(\d{3}\) \d{3}-\d{4})\s*$/;
	if(trim($(id).value)=="")
		return true;
//	var decimalRE = "^(\\+|-)?[0-9][0-9]*(\\.[0-9]*)?$";
	if(numTotal($(id).value)==0)
	{
		alertErrorMsg = "Mobile number is not Valid.\nPlease input in format like 306-954-2548";
		return false;
		
	}
	if (trim($F(id)) != "" && $(id).value.match(decimalRE) == null)
	{
		alertErrorMsg = "Mobile number is not Valid.\nPlease input in format like 306-954-2548";
		return false;
	}
	return true;
}
function faxIsValid(id,disp)
{
	var decimalRE = /^\s*(\d{3}-\d{3}-\d{4}|\(\d{3}\) \d{3}-\d{4})\s*$/;
	if(trim($(id).value)=="")
		return true;
//	var decimalRE = "^(\\+|-)?[0-9][0-9]*(\\.[0-9]*)?$";
	if(numTotal($(id).value)==0)
	{
		alertErrorMsg = "Fax number is not Valid.\nPlease input in format like 306-954-2548";
		return false;
		
	}
	if (trim($F(id)) != "" && $(id).value.match(decimalRE) == null)
	{
		alertErrorMsg = "Fax number is not Valid.\nPlease input in format like 306-954-2548";
		return false;
	}
	return true;
}

function percentageIsValid(id)
{
	var testresults;
	var filter = /^\d{1,2}(\.\d{1,2})?$/;
	var str=$F(id);
	if (!isBlank(id,"Percentage")) //|| (IsDecimal('txtName'))
	{
		alertErrorMsg = "Please Enter Percentage.";
		return false;
	}
	if (filter.test(str))
	{
		testresults=true;
	}
	else
	{
		alertErrorMsg = "Please input a valid Percentage value!";
		$(id).value="";
		$(id).focus();
		testresults=false;
	}
	return testresults;
}


function siteIsValid(id)
{
	var testresults;
	if (!isBlank(id,"E-mail Address")) //|| (IsDecimal('txtName'))
	{
		alertErrorMsg = "Please Enter E-mail.";
		return false;
	}
	var str=$F(id);
	var filter=/^([\w-]+(?:\.[\w-]+)*)\.((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	//var filter = /(\w+):\/\/([\w\.]+)\/([\w\/]+)/;
	if (filter.test(str))
	{
		testresults=true;
	}
	else
	{
		alertErrorMsg = "Please input a valid site address!";
		$(id).value="";
		$(id).focus();
		testresults=false;
	}
	return (testresults)
}

// Date Validation Javascript
// copyright 30th October 2004, by Stephen Chapman
// http://javascript.about.com

// You have permission to copy and use this javascript provided that
// the content of the script is not changed in any way.

function valDateFmt(datefmt) {myOption = -1;
for (i=0; i<datefmt.length; i++) {if (datefmt[i].checked) {myOption = i;}}
if (myOption == -1) {_alert("You must select a date format");return ' ';}
return datefmt[myOption].value;}
function valDateRng(daterng) {myOption = -1;
for (i=0; i<daterng.length; i++) {if (daterng[i].checked) {myOption = i;}}
if (myOption == -1) {_alert("You must select a date range");return ' ';}
return daterng[myOption].value;}
function stripBlanks(fld) {var result = "";for (i=0; i<fld.length; i++) {
if (fld.charAt(i) != " " || c > 0) {result += fld.charAt(i);
if (fld.charAt(i) != " ") c = result.length;}}return result.substr(0,c);}
var numb = '0123456789';
function isValid(parm,val) {if (parm == "") return true;
for (i=0; i<parm.length; i++) {if (val.indexOf(parm.charAt(i),0) == -1)
return false;}return true;}
function isNum(parm) {return isValid(parm,numb);}
var mth = new Array(' ','january','february','march','april','may','june','july','august','september','october','november','december');
var day = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
function validateDate(fld,fmt,rng)
{
	var dd, mm, yy;
	var today = new Date;
	var t = new Date;
	fld = stripBlanks(fld);
	if (fld == '') return false;
	var d1 = fld.split('\/');
	if (d1.length != 3) d1 = fld.split(' ');
	if (d1.length != 3) return false;
	if (fmt == 'u' || fmt == 'U')
	{
	 	dd = d1[1];
	 	mm = d1[0];
	 	yy = d1[2];
	 }
	else if (fmt == 'j' || fmt == 'J') {
	  dd = d1[2]; mm = d1[1]; yy = d1[0];}
	else if (fmt == 'w' || fmt == 'W'){
	  dd = d1[0]; mm = d1[1]; yy = d1[2];}
	else return false;
	var n = dd.lastIndexOf('st');
	if (n > -1) dd = dd.substr(0,n);
	n = dd.lastIndexOf('nd');
	if (n > -1) dd = dd.substr(0,n);
	n = dd.lastIndexOf('rd');
	if (n > -1) dd = dd.substr(0,n);
	n = dd.lastIndexOf('th');
	if (n > -1) dd = dd.substr(0,n);
	n = dd.lastIndexOf(',');
	if (n > -1) dd = dd.substr(0,n);
	n = mm.lastIndexOf(',');
	if (n > -1) mm = mm.substr(0,n);
	if (!isNum(dd)) return false;
	if (!isNum(yy)) return false;
	if (!isNum(mm)) {
	  var nn = mm.toLowerCase();
	  for (var i=1; i < 13; i++) {
	    if (nn == mth[i] ||
	        nn == mth[i].substr(0,3)) {mm = i; i = 13;}
	  }
}
if (!isNum(mm)) return false;
dd = parseFloat(dd); mm = parseFloat(mm); yy = parseFloat(yy);
if (yy < 100) yy += 2000;
if (yy < 1582 || yy > 4881) return false;
if (mm == 2 && (yy%400 == 0 || (yy%4 == 0 && yy%100 != 0))) day[mm-1]++;
if (mm < 1 || mm > 12) return false;
if (dd < 1 || dd > day[mm-1]) return false;
t.setDate(dd); t.setMonth(mm-1); t.setFullYear(yy);
if (rng == 'p' || rng == 'P') {
if (t > today) return false;
}
else if (rng == 'f' || rng == 'F') {
if (t < today) return false;
}
else if (rng != 'a' && rng != 'A') return false;
return true;
}

/*Function to check phone validation in format 306-954-2548 or 3-306-954-2548 */
function validatePhone(id,disp)
{
	var title = '';
	if(trim(disp)!='')
		title = disp;
	else
		title = 'Phone';

	var decimalRE = /^\s*(\d{1}-\d{3}-\d{3}-\d{4}|\d{3}-\d{3}-\d{4}|\(\d{3}\) \d{3}-\d{4})\s*$/;
	//var decimalRE = /^\s*(\d{1}-\d{3}-\d{3}-\d{4}|\(\d{1}\-\d{3}\) \d{3}-\d{4})\s*$/;
	if(trim($(id).value)=="")
		return true;
//	var decimalRE = "^(\\+|-)?[0-9][0-9]*(\\.[0-9]*)?$";
	if(numTotal($(id).value)==0)
	{
		alertErrorMsg = title + " is not Valid.<br/>Please input in format like 306-954-2548 or 3-306-954-2548";
		return false;
		
	}
	if (trim($F(id)) != "" && $(id).value.match(decimalRE) == null)
	{
		alertErrorMsg = title + " is not Valid.<br/>Please input in format like 306-954-2548 or 3-306-954-2548";
		return false;
	}
	return true;
}
	/*----------------------------------SUGGESTION EMAIL POPUP VALIDATION START--------------------------------- */
	var sugEmailPopup;
	function showSuggestionPopup()
	{	
		if($('emailPopupSuggestion'))
		{
			sugEmailPopup = createDialog('emailPopupSuggestion');		
			$('emailPopupSuggestion').style.display='block';
			if($('emailPopupSuggestion_c')) $('emailPopupSuggestion_c').style.zIndex='17';
			if($('emailPopupSuggestion_mask')) $('emailPopupSuggestion_mask').style.zIndex='16';
			if($('divContainerAdvanceSearch')) $('divContainerAdvanceSearch').style.zIndex='15';
			sugEmailPopup.show();			
			$('errEmailPro').innerHTML = '';
			$('txtComments').className = ''; $('txtComments').value = '';
			$('txtEmail').className = ''; $('txtEmail').value = '';
			$('txtName').className = ''; $('txtName').value = '';
			$('errEmailPro').innerHTML = '';
			$('sent').value = '0';

			//hide all related zindex specific div related to BUG# 10875
			if($("powerAdvSearch")) $("powerAdvSearch").style.display = "none";
			if($("divSaveSearch")) $("divSaveSearch").style.display = "none";
			if($("prpTyp")) $("prpTyp").style.display = "none";
			if($("prpStat")) $("prpStat").style.display = "none";
			if($("trSaleDate")) $("trSaleDate").style.display = "none";

			if(typeof(spl)!= "undefined")
			{	if(!spl)
				{
					hideMapList();	
					hidePwrsrchrel();
				}
			}
			
			//related to the bug specific to suggestion box;
			//Hide ProListing DIV
			if($('mapDiv') && $('mapDiv').style.display!='none')
			{
				if($("proListingDiv")){$("proListingDiv").style.display="none";}
			}
			//hide all related zindex specific div
		}
	}
	function sendSuggestion()
	{
		if($('sent').value == '0')
		{
			$('errEmailPro').innerHTML = '';
			$('txtComments').className = '';
			$('txtEmail').className = '';
			$('txtName').className = '';
			$('errEmailPro').innerHTML = '';			
			var sent = false;
			var comments = trim($('txtComments').value);
			var name = trim($('txtName').value);
			var email = trim($('txtEmail').value);
			var specialchars = "!@#$%^&*()+=-[]\\\';,/{}|\":<>?``";


			if(name)
			{
				var fName = name;
				for (var charNo = 0; charNo < fName.length; charNo++) 
				{
					if (specialchars.indexOf(fName.charAt(charNo)) != -1)
					{
						errorMsg = "Name should not contain special characters.";
						$('errEmailPro').innerHTML = errorMsg;
						$('txtName').className 	= "textboxRed";
						$('txtName').focus();
						return false ;	  				
					}
				}
			}
			
			if(email != '' && !emailIsValid("txtEmail"))
			{
				$('errEmailPro').innerHTML = "Please specify valid email.";
				$('txtEmail').focus();
				$('txtEmail').className="textboxRed";
				return false;
			}
			if(comments == '')
			{
				$('errEmailPro').innerHTML = "Please specify suggestions.";
				$('txtComments').focus();
				$('txtComments').className="textboxRed";
				return false;
			}
			if(comments)
			{			
				var specialchars = "#%^()+=[]\\\'/{}|\"<>``";
				for (var charNo = 0; charNo < comments.length; charNo++) 
				{
					if (specialchars.indexOf(comments.charAt(charNo)) != -1)
					{
						errorMsg = "Suggestions should not contain special characters.";
						$('errEmailPro').innerHTML = errorMsg;
						$('txtComments').className 	= "textboxRed";
						$('txtComments').focus();
						return false ;	  				
					}
				}
			}
			$('sent').value = '1';
			var url = "/app/listing/singlePropertyLandingNew.php";
			var qs = "action=suggestion&name="+name+"&email="+email+"&comments="+encodeURI(comments);
			ajaxRequest(url,qs,function(reqobj)
			{ 
				var varResponse = trim(reqobj.responseText);	
				if(varResponse == '1')
				{
					$('errEmailPro').innerHTML = "Your suggestions have been sent successfully.";
					$('txtComments').value = '';
					$('txtName').value = '';
					$('txtEmail').value = '';
					$('sent').value = '0';
				}
				else
				{
					$('errEmailPro').innerHTML = "Problem in email sending.";					
					$('sent').value = '0';
				}
				setTimeout('sugEmailPopup.hide();',800);
			});
		}
	}

	function atPropContactUs(fromPage, fromTitle, fromUrl)
	{
		var myQs = new Querystring();
		var frm = myQs.get("frm");
		var aid = myQs.get("aid");

		$('txtName').style.border="solid 1px #7F9DB9";
		$('txtFromEmail').style.border="solid 1px #7F9DB9";

		if(!isBlank('txtName','Full Name'))
		{
			$('errPublish').innerHTML = alertErrorMsg;
			$('txtName').style.border="solid 1px red";
			return false;
		}
		else if(!emailIsValid('txtFromEmail'))
		{
			$('errPublish').innerHTML = alertErrorMsg;
			$('txtFromEmail').style.border="solid 1px red";
			return false;
		}		
		if($F('txtPhone') != "")
		{
			var id = 'txtPhone';
			var decimalRE = /^\s*(\d{3}-\d{3}-\d{4}|\(\d{3}\) \d{3}-\d{4})\s*$/;			
			if(numTotal($(id).value)==0)
			{
				alertErrorMsg = "Phone is not Valid.\nPlease input in format like 306-954-2548";
				$('errPublish').innerHTML = alertErrorMsg;
				return false;				
			}
			if (trim($F(id)) != "" && $(id).value.match(decimalRE) == null)
			{
				alertErrorMsg = "Phone is not Valid.\nPlease input in format like 306-954-2548";
				$('errPublish').innerHTML = alertErrorMsg;
				return false;
			}				
		}

		if(agtContact != "")
			agtContact = "&agtContact="+agtContact;
		
		var qry = "name="+$('txtName').value+"&email="+$('txtFromEmail').value+"&phone="+$('txtPhone').value+"&comment="+escape($('txtComments').value)+"&sendMail=1"+agtContact;	

		if(frm != null && trim(frm) == 'agt' && aid != null && trim(aid) != "")
		{
			qry += "&aid="+aid;
		}
		try
		{
			var strSearchCriteria = getSearchCriteriaStringForEmail();
			qry = qry + "&searchCriteria="+escape(encodeURI(strSearchCriteria));
		}
		catch (ex)
		{
			// Do Nothing
		}

		if (fromPage != null && fromPage != 'undefined')
			qry += "&from_page="+fromPage;
		if (fromTitle != null && fromTitle != 'undefined')
			qry += "&from_title="+escape(fromTitle);
		if (fromUrl != null && fromUrl != 'undefined')
			qry += "&from_url="+escape(fromUrl);

		var url = "/help/"+bkTheme+"/ContactUs.php";
		ajaxRequest(url,qry,function(reqobj)
		{ 
			var varResponse = trim(reqobj.responseText);	
			if(varResponse == '1')
			{
				alert("Your information have been sent successfully.");
				$('errPublish').innerHTML = "";
				$('txtFromEmail').value = "";
				$('txtName').value = "";
				$('txtPhone').value = "";
				$('txtComments').value = "";
				window.close();
			}
			else
				alert("Problem in email sending.");
		});		
	}
 /*----------------------------------SUGGESTION EMAIL POPUP VALIDATION END--------------------------------- */
function illustratedContactUs(fromPage, fromTitle, fromUrl)
{
	var myQs = new Querystring();
	var frm = myQs.get("frm");
	var aid = myQs.get("aid");

	if(!isBlank('txtName','Full Name'))
	{
		$('errPublish').innerHTML = alertErrorMsg;
		$('txtName').style.border="solid 1px red";
		return false;
	}
	else
	{
		$('txtName').style.border="";
		$('txtName').className = "ipboxes";
		$('errPublish').html = "";
	}
	
	if(!emailIsValid('txtFromEmail'))
	{
		$('errPublish').innerHTML = alertErrorMsg;
		$('txtFromEmail').style.border="solid 1px red";
		return false;
	}
	else
	{
		$('txtFromEmail').style.border="";
		$('txtFromEmail').className = "ipboxes";
		$('errPublish').html = "";
	}

	if($F('txtPhone') != "")
	{
		var id = 'txtPhone';
		var decimalRE = /^\s*(\d{3}-\d{3}-\d{4}|\(\d{3}\) \d{3}-\d{4})\s*$/;			
		if(numTotal($(id).value)==0)
		{
			alertErrorMsg = "Phone is not Valid.\nPlease input in format like 306-954-2548";
			$('errPublish').innerHTML = alertErrorMsg;
			$('txtPhone').style.border="solid 1px red";
			return false;				
		}
		else if (trim($F(id)) != "" && $(id).value.match(decimalRE) == null)
		{
			alertErrorMsg = "Phone is not Valid.\nPlease input in format like 306-954-2548";
			$('errPublish').innerHTML = alertErrorMsg;
			$('txtPhone').style.border="solid 1px red";
			return false;
		}	
		else
		{
			$('txtPhone').style.border="";
			$('txtPhone').className = "ipboxes";
			$('errPublish').html = "";
		}
	}
	else
	{
		$('txtPhone').style.border="";
		$('txtPhone').className = "ipboxes";
		$('errPublish').html = "";
	}

	if(agtContact != "")
		agtContact = "&agtContact="+agtContact;
	
	var qry = "name="+$('txtName').value+"&email="+$('txtFromEmail').value+"&phone="+$('txtPhone').value+"&comment="+escape($('txtComments').value)+"&sendMail=1"+agtContact;	

	if(frm != null && trim(frm) == 'agt' && aid != null && trim(aid) != "")
	{
		qry += "&aid="+aid;
	}

	try
	{
		var strSearchCriteria = getSearchCriteriaStringForEmail();
		qry = qry + "&searchCriteria="+escape(encodeURI(strSearchCriteria));
	}
	catch (ex)
	{
		// Do Nothing
	}

	if (fromPage != null && fromPage != 'undefined')
		qry += "&from_page="+fromPage;
	if (fromTitle != null && fromTitle != 'undefined')
		qry += "&from_title="+escape(fromTitle);
	if (fromUrl != null && fromUrl != 'undefined')
		qry += "&from_url="+escape(fromUrl);

	var url = "/help/illustrated/ContactUs.php";
	ajaxRequest(url,qry,function(reqobj)
	{ 
		var varResponse = trim(reqobj.responseText);	
		if(varResponse == '1')
		{
			alert("Your information has been sent successfully.");
			$('errPublish').innerHTML = "";
			$('txtFromEmail').value = "";
			$('txtName').value = "";
			$('txtPhone').value = "";
			$('txtComments').value = "";
			window.close();
		}
		else
			alert("Problem in email sending.");
	});		
}

function illustratedCarrier()
{
	var myQs = new Querystring();
	var frm = myQs.get("frm");
	var aid = myQs.get("aid");

	if(!isBlank('txtName','Full Name'))
	{
		$('errPublish').innerHTML = alertErrorMsg;
		$('txtName').style.border="solid 1px red";
		return false;
	}
	else
	{
		$('txtName').style.border="";
		$('txtName').className = "ipboxes";
		$('errPublish').html = "";
	}
	
	if(!emailIsValid('txtFromEmail'))
	{
		$('errPublish').innerHTML = alertErrorMsg;
		$('txtFromEmail').style.border="solid 1px red";
		return false;
	}
	else
	{
		$('txtFromEmail').style.border="";
		$('txtFromEmail').className = "ipboxes";
		$('errPublish').html = "";
	}

	if(!isBlank('txtPhone','Phone'))
	{
		$('errPublish').innerHTML = alertErrorMsg;
		$('txtPhone').style.border="solid 1px red";
		return false;
	}
	else if($F('txtPhone') != "")
	{
		var id = 'txtPhone';
		var decimalRE = /^\s*(\d{3}-\d{3}-\d{4}|\(\d{3}\) \d{3}-\d{4})\s*$/;			
		if(numTotal($(id).value)==0)
		{
			alertErrorMsg = "Phone is not Valid.\nPlease input in format like 306-954-2548";
			$('errPublish').innerHTML = alertErrorMsg;
			$('txtPhone').style.border="solid 1px red";
			return false;				
		}
		else if (trim($F(id)) != "" && $(id).value.match(decimalRE) == null)
		{
			alertErrorMsg = "Phone is not Valid.\nPlease input in format like 306-954-2548";
			$('errPublish').innerHTML = alertErrorMsg;
			$('txtPhone').style.border="solid 1px red";
			return false;
		}	
		else
		{
			$('txtPhone').style.border="";
			$('txtPhone').className = "ipboxes";
			$('errPublish').html = "";
		}
	}
	else
	{
		$('txtPhone').style.border="";
		$('txtPhone').className = "ipboxes";
		$('errPublish').html = "";
	}

	if(agtContact != "")
		agtContact = "&agtContact="+agtContact;
	
	var qry = "name="+$('txtName').value+"&email="+$('txtFromEmail').value+"&phone="+$('txtPhone').value+"&comment="+escape($('txtComments').value)+"&sendMail=1"+agtContact;	

	if(frm != null && trim(frm) == 'agt' && aid != null && trim(aid) != "")
	{
		qry += "&aid="+aid;
	}

	var url = "/help/illustrated/carrier.php";
	ajaxRequest(url,qry,function(reqobj)
	{ 
		var varResponse = trim(reqobj.responseText);	
		if(varResponse == '1')
		{
			alert("Your information has been sent successfully.");
			$('errPublish').innerHTML = "";
			$('txtFromEmail').value = "";
			$('txtName').value = "";
			$('txtPhone').value = "";
			$('txtComments').value = "";
			window.close();
		}
		else
			alert("Problem in email sending.");
	});		
}

/* function for home valuation */
function isValidNumber(val){
	  if(val==null){return false;}
	  if (val.length==0){return false;}
	  var DecimalFound = false;
	  for (var i = 0; i < val.length; i++) {
			var ch = val.charAt(i);
			if (i == 0 && ch == "-") {
				  continue;
			}
			if (ch == "." && !DecimalFound) {
				  DecimalFound = true;
				  continue;
			}
			if (ch < "0" || ch > "9") {
				  return false;
			}
	  }
	  return true;
}

function addLeadFrmHomeValuation()
{
	$('errLeadProSelect').innerHTML = "";	
	$('txtConsEmailSelect').className = "";
	$('txtConsPhoneSelect').className = "";
	$('txtConsAddressSelect').className = "";
	$('txtConsCitySelect').className = "";
	$('txtConsStateSelect').className = "";
	$('txtConsZipSelect').className = "";

	$('txtConsBedsSelect').className = "";
	$('txtConsBathsSelect').className = "";
	$('txtConsSqftSelect').className = "";
	$('txtConsYearbuiltSelect').className = "";

	if(trim($('txtConsEmailSelect').value) == '')
	{
		errorMsg = "Please Enter Email.";
		$('errLeadProSelect').innerHTML = errorMsg;
		$('txtConsEmailSelect').className 	= "textboxRed";
		$('txtConsEmailSelect').focus();
		return false;
	}

	if(trim($('txtConsPhoneSelect').value) != '')
	{
		if(!validatePhone("txtConsPhoneSelect"))
		{
		    errorMsg = "Phone is not Valid.<br/>Please input in format like 306-954-2548.";
			$('errLeadProSelect').innerHTML =  errorMsg;
			$('txtConsPhoneSelect').className = "textboxRed";
			$('txtConsPhoneSelect').focus();
			return false;
		}
	}

	if(!emailIsValid("txtConsEmailSelect"))
	{
		errorMsg = "Please Enter Valid Email.";
		$('errLeadProSelect').innerHTML = errorMsg;
		$('txtConsEmailSelect').className 	= "textboxRed";
		$('txtConsEmailSelect').focus();
		
		return false;
	}

	if(trim($('txtConsAddressSelect').value)== "")
	{
		errorMsg = "Please Enter Address.";
		$('errLeadProSelect').innerHTML = errorMsg;
		$('txtConsAddressSelect').className = "textboxRed";
		$('txtConsAddressSelect').focus();
		return false;
	
	}

	if(trim($('txtConsCitySelect').value)== "")
	{
		errorMsg = "Please Enter City.";
		$('errLeadProSelect').innerHTML = errorMsg;
		$('txtConsCitySelect').className = "textboxRed";
		$('txtConsCitySelect').focus();
		return false;
	
	}

	if(trim($('txtConsStateSelect').value)== "")
	{
		errorMsg = "Please Enter State.";
		$('errLeadProSelect').innerHTML = errorMsg;
		$('txtConsStateSelect').className = "textboxRed";
		$('txtConsStateSelect').focus();
		return false;
	
	}

	if(trim($('txtConsZipSelect').value)== "")
	{
		errorMsg = "Please Enter Zip.";
		$('errLeadProSelect').innerHTML = errorMsg;
		$('txtConsZipSelect').className = "textboxRed";
		$('txtConsZipSelect').focus();
		return false;
	
	}
	if(!isNumeric($('txtConsZipSelect').value))
	{
		errorMsg = "Please Enter Valid Zip.";
		$('errLeadProSelect').innerHTML = errorMsg;
		$('txtConsZipSelect').className = "textboxRed";
		$('txtConsZipSelect').focus();
		return false;
	}

	if($("txtConsBedsSelect").value != "" && !isValidNumber($("txtConsBedsSelect").value))
	{
		$('errLeadProSelect').innerHTML = 'Please enter valid numeric value for Bedroom.';
		$('txtConsBedsSelect').className = "textboxRed";
		$('txtConsBedsSelect').focus();
		return false;
	}
	if($("txtConsBathsSelect").value != "" && !isValidNumber($("txtConsBathsSelect").value))
	{
		$('errLeadProSelect').innerHTML = 'Please enter valid numeric value for Bathroom.';
		$('txtConsBathsSelect').className = "textboxRed";
		$('txtConsBathsSelect').focus();
		return false;
	}
	if($("txtConsSqftSelect").value != "" && !isValidNumber($("txtConsSqftSelect").value))
	{
		$('errLeadProSelect').innerHTML = 'Please enter valid numeric value for Sq. Ft.'; 
		$('txtConsSqftSelect').className = "textboxRed";
		$('txtConsSqftSelect').focus();
		return false;
	}
	if($("txtConsYearbuiltSelect").value != "" && !isNumeric($("txtConsYearbuiltSelect").value))
	{
		$('errLeadProSelect').innerHTML = 'Please enter valid numeric value for Year Built.'; 
		$('txtConsYearbuiltSelect').className = "textboxRed";
		$('txtConsYearbuiltSelect').focus();
		return false;
	}

	var queryString="";
	var userType;
	queryString = "" ;
	
	if(trim($('txtConsNameSelect').value) != "")
		{queryString += "&name="+trim($('txtConsNameSelect').value);}

	if(trim($('txtConsPhoneSelect').value) != "")
		{queryString += "&phone="+trim($('txtConsPhoneSelect').value)}

	queryString +="&email="+trim($('txtConsEmailSelect').value)+"&address="+escape(encodeURI(trim($("txtConsAddressSelect").value)))+"&city="+trim($("txtConsCitySelect").value)+"&state="+trim($("txtConsStateSelect").value)+"&zip="+trim($("txtConsZipSelect").value);

	if(trim($("txtConsCommentsSelect").value) != "")
		{queryString += "&comments="+trim(escape($("txtConsCommentsSelect").value));}

	queryString+="&leadStatus=N";
	
	queryString += "&beds="+trim($('txtConsBedsSelect').value);
	queryString += "&baths="+trim($('txtConsBathsSelect').value);
	queryString += "&sqft="+trim($('txtConsSqftSelect').value);
	queryString += "&yearbuilt="+trim($('txtConsYearbuiltSelect').value);
	
	var objQs = new Querystring();
	var ouid = objQs.get('ouid');	
	var aid = objQs.get('aid');	
	if(aid!=null && trim(aid)!= '')
	{
		queryString = queryString+ "&frm=agt";
		queryString = queryString+ "&aid="+aid;
	}
	else if(ouid!=null && trim(ouid)!= '')
	{
		queryString = queryString+ "&frm=frch";
		queryString = queryString+ "&ouid="+ouid;
	}
	else
		queryString = queryString+ "&frm=bk";

	if($('propType'))
	{
		if($('propType').selectedIndex == 0)
			queryString+= "&propType=";
		else
			queryString+= "&propType="+$('propType').value.replace (/\'/g, '');
	}
	else
		queryString+= "&propType=";

	queryString+= "&sendMail=1";

	var url = "/help/illustrated/valueMyHome.php";

	ajaxRequest(url,queryString,function(originalResponse){
		var res = 	 originalResponse.responseText;
		if(res == '1')
		{
			alert('Your request has been submitted successfully.');
			$('txtConsNameSelect').value = "";
			$('txtConsEmailSelect').value = "";
			$('txtConsPhoneSelect').value = "";
			$('txtConsAddressSelect').value = "";
			$('txtConsCitySelect').value = "";
			$('txtConsStateSelect').value = "";
			$('txtConsZipSelect').value = "";
			$('txtConsBedsSelect').value = "";
			$('txtConsBathsSelect').value = "";
			$('txtConsSqftSelect').value = "";
			$('txtConsYearbuiltSelect').value = "";
			$('txtConsCommentsSelect').value = "";
			$('propType').selectedIndex = 0;
		}
		else
		{
			alert('There is an error while submitting your request.!!');
			return false;
		}		
	});
}

function validateMultiZip(id,how)
{
(how==null)?"alert":"";	
var valid="0123456789,";
if ($(id).value=="")
{
	alert("Please enter zip code.");
	$(id).value="";
	$(id).focus();
	return false;

}
else
{
	for (var i=0; i < $(id).value.length; i++)
	{
		temp = "" + $(id).value.substring(i, i+1);
		if (valid.indexOf(temp) == "-1")
		{
			if(how=="alert")
				alert("Invalid characters in your zip code.  Please try again.");
			else
				alertErrorMsg = "Invalid characters in your zip code.";
			$(id).value="";
			$(id).focus();
			return false;
		}
	}
}
}

/*favourite.js*/

var favDialog = '';
var favDialogDualpane = '';
var hdBtnClk = "";

if(typeof(psForBasicAgent) == "undefined")
	psForBasicAgent='1';

if(typeof(uRole) != "undefined" && uRole != "")
{
	if(uRole == "EA" || uRole == "A"){}
	else psForBasicAgent = "";
}

function showFavPopup()
{	
	
	if(typeof(favDialog) == 'string')
	{
		if($('favDiv') == null)
		{
			var url = '/app/feed/favouritePopup.php';
			var qs = '';

			if(powerSearch == 1 && enablePowerSearch == 1 && (uRole == "EA" || psForBasicAgent == "1"))
				qs = qs + "power=1";

			var cbfnLoadFavPopup = function(reqObj)
			{
				var response = trim(reqObj.responseText);
				var myDiv = document.createElement('div');
				myDiv.innerHTML = response;
				document.body.appendChild(myDiv);
			} 	
			ajaxRequest(url,qs,cbfnLoadFavPopup,false);
		}
		favDialog = createDialog('favDiv');
		favDialog.beforeHideEvent.subscribe(beforeHidefavDialog, this);
		favDialog.beforeShowEvent.subscribe(beforeShowfavDialog, this);
	}
	//var checkArr = chooseChecked('listDiv',true);
	//if(checkArr=='' || checkArr==null)
	if(chkPSAr.length==0)
	{
		alert('Please select atleast one property to add to favorite.');
		return;
	}
	
	if(powerSearch == 1 && enablePowerSearch == 1 && (uRole == "EA" || psForBasicAgent == "1"))
	{		
		$('txtGName').value = "";
		$('txtGName').className = "ipboxes";
		if($('cmbGrp'))
		{
			var url = '/app/feed/processFavourite.php';
			var qs = "action=getAllGroups&power=1";
			ajaxRequest(url,qs,function resFillComboGroups(originalRequest){
				var res = originalRequest.responseText;
				var groups = eval(res);
				var myElem = $('cmbGrp'); 
				var len = myElem.options.length;
				myElem.options[0] = new Option('--select--','');
				for(var j=1; j<len; j++)
				{
					myElem.options[j] = null;
				}
				for(var i=1; i<=groups.length; i++)
				{
					myElem.options[i] = new Option(groups[i-1]['G_NAME'],groups[i-1]['G_ID']);
				}
			});
		}
		$('favDiv').parentNode.style.zIndex = 12;
		favDialog.show();
	}
	else
	{
		var url = '/app/feed/processFavourite.php';
		ajaxRequest(url,'action=chksignin',function resChkSignin(originalRequest){
			var res = originalRequest.responseText;
			if(res==0)
			{
				alert('Please sign in to add favorite.');
				return;
			}
			else
			{
				$('txtGName').value = "";
				$('txtGName').className = "ipboxes";
				if($('cmbGrp'))
				{
					ajaxRequest(url,'action=getAllGroups',function resFillComboGroups(originalRequest){
						var res = originalRequest.responseText;
						var groups = eval(res);
						var myElem = $('cmbGrp'); 
						var len = myElem.options.length;
						myElem.options[0] = new Option('--select--','');
						for(var j=1; j<len; j++)
						{
							myElem.options[j] = null;
						}
						for(var i=1; i<=groups.length; i++)
						{
							myElem.options[i] = new Option(groups[i-1]['G_NAME'],groups[i-1]['G_ID']);
						}
					});
				}
				$('favDiv').parentNode.style.zIndex = 12;
				favDialog.show();			
			}	
		});
	}
}
function addFav(gaction,from)
{
	if(typeof(from) == "undefined")
		from = "";

	if(from == "")
		var url = '/app/feed/processFavourite.php';
	else
	{
		var url = '/app/feed/processFavourite.php';
		eval('var fromArr = '+unescape(from)+';');		
	}	

	//var tp = chooseChecked('listDiv',true);
	var checkArr = chkPSAr[0]; 
	for(var i=1;i<chkPSAr.length;i++)
	{
		chkPSAr[i] = chkPSAr[i].replace(/\#/g,"||");
		chkPSAr[i] = chkPSAr[i].replace(/\%23/g,"||");

		chkPSAr[i] = chkPSAr[i].replace(/\,/g,"|^|");
		chkPSAr[i] = chkPSAr[i].replace(/\%2C/g,"|^|");

		checkArr +=","+chkPSAr[i];
	}
	
	qs = "";
	qs = qs + "action=addFavourite";
	qs = qs + "&gaction="+gaction;	
	qs = qs + "&infoArr="+checkArr;

	//anil... lead creation
	if(typeof(fromArr) != "undefined")
		qs = qs + "&frm=" + fromArr['from'] + "&aid=" + fromArr['aid'];
	else
	{
		if($('hiddenFrm'))
			qs = qs + "&frm=" + $('hiddenFrm').value;
		else
			qs = qs + "&frm=";

		if($('hiddenAid'))
			qs = qs + "&aid=" + $('hiddenAid').value;
		else
			qs = qs + "&aid=";
	}
	//anil... end
	
	if(powerSearch == 1 && enablePowerSearch == 1 && (uRole == "EA" || psForBasicAgent == "1"))
		qs = qs + "&power=1";
	
	if(gaction=='EG')
	{
		if($('cmbGrp').value =='')
		{
			alert('Please select group name.');
			return false;
		}
		qs = qs + "&gid="+$('cmbGrp').value;
		qs = qs + "&gname="+escape($('cmbGrp').options[$('cmbGrp').selectedIndex].innerHTML);
	}
	else
	{
		if(!isBlank('txtGName','Group Name'))
		{
			alert(alertErrorMsg);
			$('txtGName').className = 'textboxRed';
			return false;
		}	
		$('txtGName').className = 'ipboxes';
		qs = qs + "&gname="+escape($('txtGName').value);
	}

	if(from == "")
		ajaxRequest(url,qs,resAddFav);	
	else //favorite handling for homesite
	{
		ajaxRequest(url,qs,function(req){
			var res = trim(req.responseText);
			var propAdded = 0;
			if(res.indexOf('error')!=-1)
			{
				//alert("Property already added in favorites.");
			}
			else if(res.indexOf('Group name already exist')!=-1)
			{
				propAdded = -1;
				if($("txtGName")) $("txtGName").className = "textboxRed";
				alert('Group name already exist, Please select it from existing groups.');
			}
			else if(res.indexOf('This is reserved group name.')!= -1)
			{
				if($("txtGName")) $("txtGName").className = "textboxRed";
				alert(res);				
				return;
			}
			else if(res.indexOf('exist')!=-1)
			{
				propAdded = -1;
				//DO NOTHING
			}
			else
			{
				//alert('Property successfully added in your favorite list.');
				propAdded = 1;
			}			
			
			if(propAdded >= 0)
			{
				if($("txtGName")) $("txtGName").className = "ipboxes";
				var locUrl = "http://"+location.hostname+"/ws/po/template/favorite.php?code="+propAdded+"&aid="+fromArr['aid']+"&from="+fromArr['from']+"&id="+fromArr['id']+"&url="+fromArr['homesiteUrl']+"&source="+fromArr['source'];
				if(typeof(fromArr['ps']) != "undefined")
					locUrl += "&ps="+fromArr['ps'];
				
				location.href = locUrl;
			}
			return;
		});
	}
}

function resAddFav(originalRequest)
{
	var res = originalRequest.responseText;

	if(res.indexOf('error')!=-1)
	{
		var res1 = res.split(':::');
		var infoArr = eval(res1[1]);
		var errStr = "Following records are not added in favorites due to either they are Inactive OR they are already added to your Favorites. \n\n";
		for(var i=0; i< infoArr.length; i++)
		{
			if(infoArr[i].Tid)
			{				
				var ancIdShow = "fs-"+infoArr[i].Tid;
				var ancIdHide = "fs1-"+infoArr[i].Tid;

				if($(ancIdShow)) $(ancIdShow).style.display="";
				if($(ancIdHide)) $(ancIdHide).style.display="none";
			}
			errStr = errStr + "Address = "+ infoArr[i].Address.replace(/_/g,',') +" ";
			//errStr = errStr + "Reason = "+ infoArr[i].Reason +" \n";
			errStr = errStr + "\n";
		}
		
		url = '/app/listing/favourite.php';		
		qs = "op=reset";
		if(typeof(powerSearch) != "undefined" && powerSearch == "1")
			qs += "&power=1";
		ajaxRequest(url,qs, function resDeleteFav(originalRequest){	});
		getImages();
		initSlideShow_pic();
		unsetAllFavoriteIncon();

		alert(errStr);
		favDialog.hide();
		return;
	}
	else if(res.indexOf('Group name already exist')!=-1)
	{
		if($("txtGName")) $("txtGName").className = "textboxRed";
		alert('Group name already exist, Please select it from existing groups.');
		return;
	}
	else if(res.indexOf('This is reserved group name.')!= -1)
	{		
		if($("txtGName")) $("txtGName").className = "textboxRed";
		alert(res);
		return;
	}
	else if(res.indexOf('exist')!=-1)
		return;
	else
	{
		if($("txtGName")) $("txtGName").className = "ipboxes";
		alert('Property successfully added in your favorite list.');
		/*var checkArr = chooseChecked('listDiv',true);
		var chkArr2 = new Array();
		for(var i=0; i<checkArr.length; i++)
		{
			var chkArr1 = checkArr[i].split(':::');
			chkArr2[i] = chkArr1[0];
		}
		for(var j=0; j<chkArr2.length; j++)
		{
			$(chkArr2[j]).checked = false;
		}*/

		var tmpAddrDetails = new Array();

		for (j=0;j<chkPSAr.length ;j++ )
		{
			tmpAddrDetails[tmpAddrDetails.length] = chkPSAr[j];
			chkPSAr[j] = null;
		}
		
		chkPSAr = chkPSAr.compact();
		getImages();		
		initSlideShow_pic();
		if($("chkHeaderCheckAll")) $("chkHeaderCheckAll").checked = false;
		
		url = '/app/listing/favourite.php';		
		qs = "op=reset";		
		if(typeof(powerSearch) != "undefined" && powerSearch == "1")
			qs += "&power=1";
		ajaxRequest(url,qs, function resDeleteFav(originalRequest){	});

		favDialog.hide();
		unsetAllFavoriteIncon();		

		if(typeof(fbApiKey) != "undefined" && fbApiKey != "" && typeof(userCCno) != "" && userCCno != "")
		{
			var url = '/app/user/userProcess.php';
			var qs = "action=getFBUser";
			
			ajaxRequest(url,qs,function(req){
				var resp = trim(req.responseText);
				var respArr = eval('('+resp+')');				
				if(respArr['fbEnable'] == "1")
				{
					var resArr = res.split(":::");
					var favLink = "http://"+location.host+"/app/mlsPropertyAlert/manageFavorites.php?id=All";

					if(typeof(resArr[1]) != "undefined" && resArr[1] != "")
						favLink = resArr[1];																	

					var respHash = $H();
					respHash["action"] = "favorites";
					respHash["orgName"] = respArr['orgName'];
					respHash["domain"] = respArr['domain'];
					respHash["theme"] = respArr['theme'];
					respHash["logo"] = respArr['logo'];
					respHash["href"] = favLink;

					if(tmpAddrDetails.length == 1)
					{
						var tmpArr = tmpAddrDetails[0].split(":::");
						var arr = tmpArr[1].split("_");
						respHash['favTitle'] = (unescape(arr[0]+", "+arr[1]+", "+arr[2]+" "+arr[3])).replace(/[+]/g," ");
					}
					else
						respHash['favTitle'] = "Click here to view favorites";

					showFeedDialog(respHash);
				}
			});			
		}
	}
}

function deleteFav(fid,action)
{
	if(confirm('Are you sure you want to delete this property from your favorites?'))
	{
		url = '/app/feed/processFavourite.php';
		qs = "";
		qs = qs + "action=deleteFav&power=1";
		if(action=='grp')
		{
			qs = qs + "&daction=grp";
			qs = qs + "&gid="+fid;
		}
		else
		{
			qs = qs + "&daction=fav";
			qs = qs + "&fid="+fid;
		}
		
		ajaxRequest(url,qs, function resDeleteFav(originalRequest){
			var res = originalRequest.responseText;
			if(res==1)
			{
//				alert('Property has been successfully deleted from the favorites.');
				loadbrokerTabs('myFavorites');
				//loadToDiv(url,'action=showAllFavourites','myFavList');
			}
		});
	}
	else
		return;
}	

// following function is used to delete consumer fav. from front site
function deleteConsFav(fid,action,grpId)
{
	var name="";
	if(action == "grp")
		name = "group";
	else
		name = "property";
	var url ="";
	var qs = "";
	if(confirm('Are you sure you want to delete this ' + name + ' from your favorites?'))
	{
		url = '/app/feed/processFavourite.php';
		qs = "";
		qs = qs + "action=deleteFav";
		if(action=='grp')
		{
			qs = qs + "&daction=grp";
			qs = qs + "&gid="+fid;
		}
		else
		{
			qs = qs + "&daction=fav";
			qs = qs + "&fid="+fid;
		}
		ajaxRequest(url,qs, function resDeleteFav(originalRequest){
			var res = originalRequest.responseText;
			if(res==1)
			{
//				alert(name + ' has been successfully deleted from the favorites.');	
				if(action == 'grp')
				{
					grpRow = 'GRP_'+fid;
					grpRow1 = 'GRP1_'+fid;
					grpRow2 = 'GRP2_'+fid;
					favRow	= 'GRP_FAV_'+fid;
					if($(grpRow)) $(grpRow).hide();
					if($(grpRow1)) $(grpRow1).hide();
					if($(grpRow2)) $(grpRow2).hide();
					if($(favRow)) $(favRow).hide();					
					favGrpCnt--;
					if(favGrpCnt == 0)
					{
						if($("noRecFnd"))$("noRecFnd").show();
						$('tblFav').style.display = 'none';
						$('tblNoFav').style.display = '';
					}
				}
				else
				{
					eval('NO_GRP_'+grpId+'--');
					grpFavCnt = eval('NO_GRP_'+grpId);
					if(grpFavCnt == 0) { $('NO_GRP_'+grpId).show();	}
					favRow = 'FAV_'+fid;
					if($(favRow)) $(favRow).hide();
				}
			}
		});
	}
	else
		return;
}	
// following function is used to load Fav Row @ from front site
function showFavRow(id,grpid)
{
	if($(id) && $(id).visible())
	{
		$(id).hide();
		$(grpid).innerHTML = '<img src="/wt/'+bkTheme+'/images/common/favorire_plus.gif"/> ';
	}
	else if($(id) && !$(id).visible())
	{
		$(id).show();
		$(grpid).innerHTML = '<img src="/wt/'+bkTheme+'/images/common/favorire_minus.gif"/> ';
	}
}

function getFavByGroup(gid)
{	
	url = '/app/feed/processFavourite.php';
	qs = "action=getFavByGroup&power=1";
	qs = qs + "&gid="+gid;
	var inDiv = 'div_'+gid;

	if($(inDiv).style.display=='none')
		$(inDiv).style.display='inline';
	else
		$(inDiv).style.display='none';
	$(inDiv).innerHTML = "Loading...";
	//menuToggle(inDiv);
	ajaxRequest(url,qs,function resGetFavByGroup(originalRequest){
		$(inDiv).innerHTML = originalRequest.responseText;
	},false);
}

function checkAll(gid)
{
	getFavByGroup(gid);
	if($('g_'+gid).checked == true)
	{
		var checkArr = chooseChecked('div_'+gid);
		for(var i=0; i<checkArr.length; i++)
		{
			$(checkArr[i]).checked = true;	
		}
	}
	else
	{
		var checkArr = chooseChecked('div_'+gid);
		for(var i=0; i<checkArr.length; i++)
		{
			$(checkArr[i]).checked = false;	
		}
	}
}

function showFavPopupDualPane(from)
{	
	if(typeof(favDialogDualpane) == 'string')
	{
		var url = '/app/feed/favoritePopupDualPane.php';
		var qs = '';
		//if(powerSearch == 1 && enablePowerSearch == 1 && (uRole == "EA" || psForBasicAgent == "1"))
		//	qs = qs + "&power=1";

		if(typeof(from) != "undefined" && from == "listing")
			qs += "&from=listing";
		
		ajaxRequest(url,qs,function(reqObj){
			var response = trim(reqObj.responseText);
			if(response == "0")
			{
				/*alert("No favorites added.");
				removeSearchCookie('searchCriteria');
				if($('bit_select_box')) $('bit_select_box').value = "";
				doPropSearch();
				setMapItCookie('favorites','del');*/
				$('tblNoFav').style.display = '';
				return;
			}
			else
			{				
				var myDiv = document.createElement('div');
				myDiv.innerHTML = response;		
				document.body.appendChild(myDiv);				
				$('favGselectDiv').style.display="block";
				favDialogDualpane = createDialog('favGselectDiv');
				//favDialogDualpane.beforeHideEvent.subscribe(clrFavDlg, this);	//Commented by saloni - redirection change for atproperties
				favDialogDualpane.beforeHideEvent.subscribe(closeFavDlg, this);	
				favDialogDualpane.show();
			}
		});	
	}
	else
	{
		var url = '/app/feed/processFavourite.php';
		var qs = 'action=getAllGoupsforDualPane';
		if(powerSearch == 1 && enablePowerSearch == 1 && (uRole == "EA" || psForBasicAgent == "1"))
			qs = qs + "&power=1";
		
		ajaxRequest(url,qs,function(reqObj){
			var response = trim(reqObj.responseText);
			if(response == "null")
			{
				alert("No favorites added.");
				setMapItCookie('favorites','del');
				return;
			}
			else
			{	
				$("dvChkGrpFav").innerHTML = "";
				var groups = eval(response);
				var str = '<table cellpadding="0" cellspacing="0" height="" width="100%">';
					str += '	<tr><td width="7%"><input type="checkbox" id="favGrpAll" value="All" onclick="javascript:selectAllFavGrp();"/></td><td class="contentSHPopup lang" width="93%">All</td></tr>';

				for(var i=0; i<groups.length; i++)
				{
					str += '	<tr><td width="7%"><input type="checkbox" id="favGrp'+groups[i]['G_ID']+'" value="'+groups[i]['G_ID']+'" onclick="javascript:uncheckSelFavGrp(this);"/></td><td class="contentSHPopup lang" width="93%">'+groups[i]['G_NAME']+'</td></tr>';
				}
				str += '</table>';
				$("dvChkGrpFav").innerHTML = str;				
				favDialogDualpane.show();			
			}
		},false);
	}
}

function loadSelectedFavGroup(from,power)
{
	var chkdArr = "";
	var chkArr = $A($("dvChkGrpFav").getElementsByTagName("input"));

	for(var i=0;i<chkArr.length;i++)
	{
		if(chkArr[i].type == "checkbox" && chkArr[i].checked == true)
			chkdArr += chkArr[i].value +",";
	}
	chkdArr = chkdArr.substr(0,chkdArr.length-1);

	if(chkdArr.include("All"))
		chkdArr = "All";
	
	if(chkdArr == "" || chkdArr == null)
	{
		alert("Please select atleast one group");
		return;
	}
	else
	{
		selFavGrps = chkdArr;
		chkdArr = null;
		favDialogDualpane.hide();

		if(typeof(from) != "undefined" && from == "listing")
		{
			if(typeof(map2) == 'object')
			{
				map2.clearOverlays();	
				localBitArr = '';
				localBitArr = new Array()
			}
			if($('bit_select_box') && $F('bit_select_box') == 'favorites')
			{	
				removePolyRelated();
			}
			$('pagiVal').value = 0;
			$('sortProp').value = "ph";		
			qryStrHash['searchSortType'] = "ph";
			qryStrHash['uid'] = uid;
			qryStrHash['grp'] = selFavGrps;
			//setUpDown(); //Commented by saloni - redirection change for atproperties
			var redirectUrl = '/app/mlsPropertyAlert/manageFavorites.php?id='+selFavGrps;
			var querys = new Querystring();
			if (querys.get("frm") == "agt")
			{
				redirectUrl += "&frm=agt&aid=" + querys.get("aid");
			}

			location.href = redirectUrl;
			/*
			if(typeof(power) != "undefined" && power == "1")
				setUpDown(sortIndex,sortType,"load");
			else
				setUpDown(sortIndex,sortType);
			*/
		}
		else
		{
			//loadBit("favorites"); //Commented by saloni - redirection change for atproperties
			var redirectUrl = '/app/mlsPropertyAlert/manageFavorites.php?id='+selFavGrps;
			var querys = new Querystring();
			if (querys.get("frm") == "agt")
			{
				redirectUrl += "&frm=agt&aid=" + querys.get("aid");
			}

			location.href = redirectUrl;
		}
	}
}

function selectAllFavGrp(from)
{
	var divObj = "";
	var selObj = "";
	if(typeof(from) == "undefined")
	{
		divObj = "dvChkGrpFav";
		selObj = "favGrpAll";
	}
	else
	{
		divObj = "multiGrpFavList";
		selObj = "G_all";
	}

	var arrChkBox = $(divObj).getElementsByTagName("input");
	var lenChkBox = arrChkBox.length;
	for(var i=0;i<lenChkBox;i++)
	{
		if(arrChkBox[i].id == selObj)
		{
		 	continue;
		}
	    if(($(selObj).checked == true) && (arrChkBox[i].type == "checkbox"))
	    {
	    	arrChkBox[i].checked = true;
	    }
	    else if(arrChkBox[i].type == "checkbox")
	    {
    		arrChkBox[i].checked = false;
	    }
	}
}

function uncheckSelFavGrp(objChkBox,from) 
{
	var selObj = "";
	if(typeof(from) == "undefined")
		selObj = "favGrpAll";
	else
		selObj = "G_all";

	if(($(selObj).checked == true) && (objChkBox.checked == false))
	{
		$(selObj).checked = false;
	}
}

function clrFavDlg()
{		
	setMapItCookie('favorites','del');	
	cancelFav();
}

var fromWhereforEmailFriend="";
function sendMailOfPowerProperty(fromWhere)
{
	if($("divSaveSearch")) {$("divSaveSearch").style.display = "none";}
	//if($("powerAdvSearch")) {$("powerAdvSearch").style.display = "none";}
	if($("prpStat")) {$("prpStat").style.display = "none";}
	if($("divEmailSaveSearch")) {$("divEmailSaveSearch").style.display = "none";}
	if($("trSaleDate")) {$("trSaleDate").style.display = "none";}
	if($("divAutoComp")) {$("divAutoComp").style.display = "none";}
	if($('RSshPopupDesc')) { $('RSshPopupDesc').style.display='none'; }
	if($('divRSType')) { $('divRSType').style.display='none'; }
	if($('prpTyp')) { $('prpTyp').style.display='none'; }
	if($('localSearchTxt') && $('divLocalSearch')) {$('divLocalSearch').style.display='none';}
	if($('mySavedSrchTxt') && $('divMySavedSrch')) {$('divMySavedSrch').style.display='none';}
	if($("divMultiCity")) $("divMultiCity").style.display = "none";

	fromWhereforEmailFriend=fromWhere;
	var selArray;
	var propExist=0;
	if(fromWhere=="fromFavourites")
	{
		selArray = chooseChecked('myFavList',true);
		for(i=0;i<selArray.length;i++)
		{
			var value = selArray[i];
			if(value.indexOf("PKT")>-1 || value.indexOf("MLS")>-1 || value.indexOf("ENH")>-1)
			{
				propExist=1
				break;
			}
		}
		if(propExist==0)
		{	
			alert("Please select properties to send in mail.");
			return;
		}
	}
	else if(fromWhere != null)
	{
        selArray = new Array(fromWhere);
	}
	else
	{
		selArray = chkPSAr;//chooseChecked('ListingsListDiv',true);
	}
	if(selArray==false || selArray.length == 0 )
	{
		alert("Please select properties to send in mail.");
		return;
	}
	dlgMLSConfirmBox = createDialog('divPowerPopup_Email');
	$('divPowerPopup_Email').style.display="block";
	//$("powerFrmEmail").value="";
	$("powerToEmail").value="";
	$("powerDesc").value="";
	$('powerPopupErr').innerHTML = '';
	$('powerToEmail').className = "textbox";		
	$('divPowerPopup_Email').style.display="block";
	$('divPowerPopup_Email').parentNode.style.zIndex = 12;

	if($('divPowerPopup_Email_c')) $('divPowerPopup_Email_c').style.zIndex='17';
	if($('divPowerPopup_Email_mask')) $('divPowerPopup_Email_mask').style.zIndex='16';

	dlgMLSConfirmBox.show();

}

function emailToFriendPower()
{
	var retFlag = checkValidationEmailPowerPopup();
	if(retFlag==false)
		return;
	//to check if from favrts email friend - or - email friend tab on mapit
	var selArray;
	var ps = "";
	if(fromWhereforEmailFriend=="fromFavourites")
	{
		 selArray = chooseChecked('myFavList',true);		 
		 for(i=i;i<selArray.length;i++)
		 {
			 if(selArray[i] == "on")
				 continue;
			 else
			 {
				 if(selArray[i].include("_"))
					 selArray[i] = selArray[i].split("_")[0];
			 }
		 }
		 ps = 1;
	}
    else if(fromWhereforEmailFriend != null)
	{
        selArray = new Array(fromWhereforEmailFriend);
	}
    else
		selArray = chkPSAr;//chooseChecked('ListingsListDiv',true);

	var toArr = ($('powerToEmail').value).split(',');
	for(i=0;i<toArr.length;i++) 
	{
		var filter=/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
		if(trim(toArr[i])!='')
		{
			if (filter.test(trim(toArr[i])))
				{
					var testResults = true;
				}
			else
				{ 	
					$('powerPopupErr').innerHTML = '<span class="errorMsg">Please input valid email addresses in recipients!</span>';
					$('powerToEmail').className = 'textboxRed';
					return false;
				}
		}	
	}

	var host = location.hostname;

	var url = "http://"+host+"/app/feed/psEmailPopup.php";
	var querys = new Querystring();
	var queryString = 'emailFlag=1&checkedArr='+selArray+"&frmEmail="+$("powerFrmEmail").value+"&toEmail="+$("powerToEmail").value+"&desc="+escape($("powerDesc").value);
	//var queryString = 'emailFlag=1&checkedArr='+selArray+"&toEmail="+$("powerToEmail").value+"&desc="+$("powerDesc").value;

	if (querys.get("ps") == "1")
	{
		queryString += "&ps=1&aid=" + querys.get("aid");
	}
	else if(ps == 1)
	{
		queryString += "&ps=1&aid=" + uid;
	}
	else if(querys.get("aid") != null)
	{
		queryString += "&aid=" + querys.get("aid");
	}	
	else if(typeof(uid) != "undefined" && typeof(uRole) != "undefined" && (uRole == "EA" || (uRole == "A" && typeof(psForBasicAgent) != "undefined" && psForBasicAgent == "1")))
		queryString += "&ps=1&aid=" + uid;

	ajaxRequest(url,queryString,function(reqobj)
	{
		var response = trim(reqobj.responseText);
		//if(response=="mail sent")
			alert('Your mail has been sent.');
			dlgMLSConfirmBox.hide();

	});
}
function checkValidationEmailPowerPopup()
{
	if(!isBlank('powerToEmail','To Email Address.'))
	{
		$('powerPopupErr').innerHTML = '<span class="errorMsg">Please provide at least one recipient email id.</span>';
		$('powerToEmail').className = 'textboxRed';
		//$('powerFrmEmail').className = 'textbox';
		return false;
	}
	$('powerPopupErr').innerHTML = '';
	$('powerToEmail').className = "textbox";		
	//$('powerFrmEmail').className = "textbox";		
}

function beforeHidefavDialog()
{
	if($("cmbGrp")) $("cmbGrp").style.display = "none";
	if(hdBtnClk == 1)
	{		
		alert(1);
		hdBtnClk = "";
		return;
	}
	else
	{
		if($('photoId0')) clearAllFav();		
	}	
}

function beforeShowfavDialog()
{
	if($("cmbGrp")) $("cmbGrp").style.display = "";	
}

function cancelFav()
{		
	if(hdBtnClk == 1)
	{		
		hdBtnClk = "";
		return;
	}
	else
	{
		removeSearchCookie('searchCriteria');
		if($('bit_select_box')) $('bit_select_box').value = "";
		doPropSearch();
	}	
	if($('bit_select_box'))
	{
		if( trim(getSearchCookie("listType")) == "all" || trim(getSearchCookie("listType")) == "")
			$('bit_select_box').selectedIndex = 0;
		else if( trim(getSearchCookie("listType")) != "" && $('bit_select_box') )
			$('bit_select_box').value =  trim(getSearchCookie("listType")); 
	}
}

// following function is used to delete all fav
function deleteAllFav()
{
	var url ="";
	var qs = "";
	if(confirm('Are you sure you want to delete all this from your favorites?'))
	{
		url = '/app/feed/processFavourite.php';
		qs = "";
		qs = qs + "action=deleteFav";
		qs = qs + "&daction=grp";
		qs = qs + "&gid="+$('hdnGroupIds').value;

		ajaxRequest(url,qs, function resDeleteFav(originalRequest){
			var res = originalRequest.responseText;
			if(res==1)
			{
//				alert('All records has been successfully deleted from the favorites.');	
				$('tblFav').style.display = 'none';
				$('tblNoFav').style.display = '';
			}
			else
			{
				alert('Operation failed!!!');
			}
		});
	}
	else
		return;
}	

function closeFavDlg()
{		
	var redirectUrl = '/app/mlsPropertyAlert/manageFavorites.php?id=All';
	var querys = new Querystring();
	if (querys.get("frm") == "agt")
	{
		redirectUrl += "&frm=agt&aid=" + querys.get("aid");
	}

	location.href = redirectUrl;
}

/*googleDrivingDirection.js*/

	var gdirmap;
	var gdirmapTab;
    var gdirections;
	var fromAdd = "26450 ascension dr, los altos, ca 94022";
	var toAdd = "10 coronado ave, los altos, ca 94022";
//	var fromAdd = "Los Altos, CA 94022";
//	var toAdd = "New York, NY 10001";
	var flg = "";
	var drivingTab = false;
	var htmlTosetDir = "";

	function closeDirectionsTab()
	{
		var i = 0 ;
		while(srTabs.getTab(i))
		{
			if(srTabs.getTab(i).get("label") == "Driving Directions")
			{
				break;
			}
			i++;
		}
		srTabs.removeTab(srTabs.getTab(i));
		drivingTab = false;
		$("dirTabBd").innerHTML = htmlTosetDir;
	}
	function showDirectionsTab(from,to,flag)
	{
		
		if(!drivingTab)
		{
			var newGDirTabArr = {}
			newGDirTabArr["Driving Directions"] = null;
			srTabs = addTabs(srTabs,newGDirTabArr,[true]);
			var i = 0 ;
			while(srTabs.getTab(i))
			{
				i++;
			}
			i--;
			drivingTab = true;
			htmlTosetDir = $("dirTabBd").innerHTML;
			$("dirTabBd").innerHTML = "";
		}
		else
		{
			var i = 0 ;
			while(srTabs.getTab(i))
			{
				if(srTabs.getTab(i).get("label") == "Driving Directions")
				{
					break;
				}
				i++;
			}
		}
		srTabs.getTab(i).set("content",'<div class="mapItListDiv">'+htmlTosetDir+'</div>');
		srTabs.getTab(i).set("disabled", false);
		srTabs.set("activeTab", srTabs.getTab(i), true);
		

			
						
		if (GBrowserIsCompatible())
		{      
			flg = flag;
			var elem = document.getElementById("gdirmapTab");
			gdirmapTab = new GMap2(elem);
			mapTypeCtrl = new mapTypeControl();
			gdirmapTab.addControl(mapTypeCtrl);
			if (bkTheme == "frontdoor")
		    {
			     ysliderCtrl = new ZoomControl();
			     gdirmapTab.addControl(ysliderCtrl);
			     gdirmapTab.addControl(new GMapTypeControl());
		    }
		    else
		    {
				 zoomCtrl = new ZoomControl();
			     gdirmap.addControl(zoomCtrl);
	        }
			GEvent.addListener(gdirmapTab,"maptypechanged",function(){highlightMapTypeBtn(gdirmapTab);});
			if (typeof(gdirmapTab) != "undefined")
			{
				gdirections = new GDirections(gdirmapTab,document.getElementById("gdirdirections"));
				GEvent.addListener(gdirections, "load", onGDirectionsLoad);
				GEvent.addListener(gdirections, "addoverlay", displayDirectionInPanel);
				GEvent.addListener(gdirections, "error", handleErrors);
				fromAdd = from;
				toAdd = to;
				setDirections(fromAdd,toAdd, "en_US");
			}
			//setDirections(from,to, "en_US");
		}
	}
    function showDirections(from,to,flag)
    {
		if (GBrowserIsCompatible())
		{      
			flg = flag;
			gdirmap = new GMap2(document.getElementById("gdirmap"));

			mapTypeCtrl = new mapTypeControl();
			gdirmap.addControl(mapTypeCtrl);

            if (bkTheme == "frontdoor")
		    {
			     ysliderCtrl = new ZoomControl();
			     gdirmap.addControl(ysliderCtrl);
			     gdirmap.addControl(new GMapTypeControl());
		    }
		    else
		    {			 
				 zoomCtrl = new ZoomControl();
			     gdirmap.addControl(zoomCtrl);			 
	        }
			
			GEvent.addListener(gdirmap,"maptypechanged",function(){highlightMapTypeBtn(gdirmap);});
			if (typeof(gdirmap) != "undefined")
			{
				gdirections = new GDirections(gdirmap,document.getElementById("gdirdirections"));
				GEvent.addListener(gdirections, "load", onGDirectionsLoad);
				GEvent.addListener(gdirections, "addoverlay", displayDirectionInPanel);
				GEvent.addListener(gdirections, "error", handleErrors);
				$('gdirmap').style.display = "";
				fromAdd = from;
				toAdd = to;
				setDirections(fromAdd,toAdd, "en_US");
			}
			//setDirections(from,to, "en_US");
		}
	}
    
    function displayDirectionInPanel() 
	{
		var objQs=new Querystring();
		var aid=objQs.get('aid');	
		var frm =objQs.get('frm');
				
		var querystring = '';
		querystring = querystring + "from=" +escape(fromAdd);
		querystring =querystring + "&to=" +escape(toAdd);
		//var printUrl = "/app/misc/showDirection.php?from="+escape(fromAdd)+"&to="+escape(toAdd);
		if(aid != '' && aid != null)
			querystring =querystring + "&aid=" +escape(aid);
		
		if(frm != '' && frm != null)
			querystring =querystring + "&frm=" +escape(frm);
		
		var printUrl = "/app/misc/showDirection.php?" + querystring;
		
		var toDisplay='<table style="width: 100%;" border="0">'+
							'<tbody>'+
								'<tr style="height: 40px;">';
		if(flg == "1")						
			toDisplay +=			'<td colspan="3" align="right"><div style="display:none;float:left;margin-left:5px;"><button id="btnPrint" onclick="window.open(\''+printUrl+'\',\'_blank\');">Print</button>&nbsp;<button id="btnClose" onclick="drivingDirectionDlg.hide();">Close</button></div><div style="display:inline;float:right;" class="apiTd"><span style="font-size: 12px; font-weight: bold;">Total:&nbsp;</span><span style="font-size: 12px;">'+gdirections.getDistance().html +' (about '+gdirections.getDuration().html+')</span></div></td>';
		else
			toDisplay +=			'<td colspan="3" align="right"><div style="display:inline;float:left;margin-left:5px;"><button id="btnPrint" onclick="window.open(\''+printUrl+'\',\'_blank\');">Print</button>&nbsp;<button id="btnClose" onclick="drivingDirectionDlg.hide();">Close</button></div><div style="display:inline;float:right;" class="apiTd"><span style="font-size: 12px; font-weight: bold;">Total:&nbsp;</span><span style="font-size: 12px;">'+gdirections.getDistance().html +' (about '+gdirections.getDuration().html+')</span></div></td>';
		toDisplay +=			'</tr>'+
								'<tr class="gdiraddtr">'+
									'<td align="center"><img src="http://www.google.com/intl/en_ALL/mapfiles/icon-dd-play-gray.png"></td>'+
									'<td class="gdirstartAt" colspan="2" align="left">Start : <span id="startAddress" style="display:">'+fromAdd+'&nbsp;<a href="#" onclick="$(\'startAddress\').style.display=\'none\';$(\'editStartAddress\').style.display=\'\';" class="moduleAnchor">edit</a></span>'+
									'<span id="editStartAddress" style="display:none"><input type="text" id="txtFromAddress" class="textbox" style="width:230px;"value="'+fromAdd+'">&nbsp;<a href="#" onclick="fromAdd=$(\'txtFromAddress\').value;setDirections(fromAdd,toAdd);$(\'startAddress\').style.display=\'\';$(\'editStartAddress\').style.display=\'none\';" class="moduleAnchor">save</a>&nbsp;<a href="#" onclick="$(\'startAddress\').style.display=\'\';$(\'editStartAddress\').style.display=\'none\';" class="moduleAnchor">cancel</a></span>'+
								'</tr>';
		var steps = gdirections.getRoute(0).getNumSteps();
		for(i=0;i<steps;i++)
		{
			toDisplay+=			'<tr style="width: 100%;">'+
									'<td class="gdirsteptd1" align="center">'+(i+1)+'</td>'+
									'<td class="gdirsteptd2" align="left">'+gdirections.getRoute(0).getStep(i).getDescriptionHtml()+'</td>'+
									'<td class="gdirsteptd3" align="right">'+gdirections.getRoute(0).getStep(i).getDistance().html+'</td>'+
								'</tr>';
		}
		toDisplay+=				'<tr class="gdiraddtr">'+
									'<td align="center"><img src="http://www.google.com/intl/en_ALL/mapfiles/icon-dd-stop-gray.png"></td>'+
									'<td class="gdirstartAt" colspan="3" align="left">End : '+toAdd+'</td>'+
								'</tr>'+
							'</tbody>'+
						'</table>';
		toDisplay+=				'<div align="right" style="font-size:12px;">' +gdirections.getCopyrightsHtml()+ '</div>';
		if(bkTheme=="frontdoor")
		{
			$("gdirDisplayTab").innerHTML=toDisplay;
		}
		else
		{
			$("gdirDisplay").innerHTML=toDisplay;
		}
		//alert(gdirections.getRoute(0).getSummaryHtml());
		
		/*to plot customize marker
		alert(gdirections.getMarker(0).getPoint().lat());
		
		gdirections.getMarker(0).hide();
		
		point = new GLatLng(gdirections.getMarker(0).getPoint().lat(),gdirections.getMarker(0).getPoint().lng());
		alert(point.lat() + "   " + point.lng());
		
		var pushPinIcon = new GIcon(); 
		pushPinIcon.image = "../../wt/terabitz/images/pushpin/airport_pushpin_h.png"; 
		pushPinIcon.iconSize = new GSize(30,34);
		pushPinIcon.iconAnchor = new GPoint(6, 20);
		pushPinIcon.infoWindowAnchor = new GPoint(5, 1);		
		alert(point);
		var startMarker = new GMarker(point,{icon: pushPinIcon});	
		alert(startMarker.getPoint().lat());
		//alert(startMarker.getPoint().lat());	
		gdirmap.addOverlay(startMarker);*/
	}
    
    
	/*function displayDirectionInPanel() 
	{
		directionsDisplay = document.getElementById("gdirDisplay");
		if (directionsDisplay.hasChildNodes())
			directionsDisplay.removeChild(directionsDisplay.firstChild);
		var tblMain = document.createElement("table");
		tblMain.border="0";
		tblMain.style.width="100%";
		
		var tr1 = document.createElement("tr");
		tr1.style.height = "40px";
		tblMain.appendChild(tr1);
		var td1 = document.createElement("td");
		tr1.appendChild(td1);
		
		td1.setAttribute("colspan","3");
		td1.align="right";
		td1.innerHTML = "<span style='font-size:12px;font-weight:bold;'>Total:&nbsp;</span><span style='font-size:12px;'>"+gdirections.getDistance().html + " (about " + gdirections.getDuration().html + ")"+"</span>";

		var startAtTr = document.createElement("tr");
		startAtTr.className="gdiraddtr";
		tblMain.appendChild(startAtTr);
		
		var startAtTdImg = document.createElement("td");
		startAtTr.appendChild(startAtTdImg);
		startAtImg = document.createElement("img");
		startAtImg.src = "http://www.google.com/intl/en_ALL/mapfiles/icon-dd-play-gray.png";
		startAtTdImg.align= "center";
		startAtTdImg.appendChild(startAtImg)
		
		var startAtTd = document.createElement("td");
		startAtTr.appendChild(startAtTd);
		
		startAtTd.setAttribute("colspan","2");
		startAtTd.align="left";
		startAtTd.className = "gdirstartAt";
		startAtTd.innerHTML = "Start : "+fromAdd;

		var steps = gdirections.getRoute(0).getNumSteps();
		if(steps>0)
		{
			for(i=0;i<steps;i++)
			{
				var steptr = document.createElement("tr");
//				steptr.className = "steptr";
				steptr.style.width = "100%";
				tblMain.appendChild(steptr);
				
				var steptd1 = document.createElement("td");
				steptd1.className="gdirsteptd1";
				steptr.appendChild(steptd1);

				var steptd2 = document.createElement("td");
				steptd2.className="gdirsteptd2";
				steptr.appendChild(steptd2);

				var steptd3 = document.createElement("td");
				steptd3.className="gdirsteptd3";
				steptr.appendChild(steptd3);
				
				steptd1.align="center";
				steptd1.innerHTML = ""+(i+1);

				steptd2.align="left";
				steptd2.innerHTML = gdirections.getRoute(0).getStep(i).getDescriptionHtml();
				steptd3.align="right";
				steptd3.innerHTML = gdirections.getRoute(0).getStep(i).getDistance().html;
			}
		}

		var endAtTr = document.createElement("tr");
		endAtTr.className="gdiraddtr";
		tblMain.appendChild(endAtTr);
		
		var endAtTdImg = document.createElement("td");
		endAtTr.appendChild(endAtTdImg);
		endAtImg = document.createElement("img");
		endAtImg.src = "http://www.google.com/intl/en_ALL/mapfiles/icon-dd-stop-gray.png";
		endAtTdImg.align= "center";
		endAtTdImg.appendChild(endAtImg)

		var endAtTd = document.createElement("td");
		endAtTr.appendChild(endAtTd);
		
		endAtTd.setAttribute("colspan","3");
		endAtTd.align="left";
		endAtTd.className = "gdirstartAt";
		endAtTd.innerHTML = "End : "+toAdd;
		directionsDisplay.appendChild(tblMain);
		
		var myIH = directionsDisplay.innerHTML;
		if (directionsDisplay.hasChildNodes())
			directionsDisplay.removeChild(directionsDisplay.firstChild);
		directionsDisplay.innerHTML = myIH;			
	}*/
    
    function setDirections(fromAddress, toAddress, locale)
	{
		if (typeof(locale) == "undefined")
			locale = "en_US";
		gdirections.load("from: " + fromAddress + " to: " + toAddress, { "locale": locale });
	}

    function handleErrors()
    {
		
		if($('gdirDisplay'))
			$('gdirDisplay').innerHTML = " ";

		if($('gdirmap'))
			$('gdirmap').style.display = "none";

		if (gdirections.getStatus().code == G_GEO_UNKNOWN_ADDRESS)
			alert("No corresponding geographic location could be found for one of the specified addresses. This may be due to the fact that the address is relatively new, or it may be incorrect.\nError code: " + gdirections.getStatus().code);
		else if (gdirections.getStatus().code == G_GEO_SERVER_ERROR)
			alert("A geocoding or directions request could not be successfully processed, yet the exact reason for the failure is not known.\n Error code: " + gdirections.getStatus().code);
		else if (gdirections.getStatus().code == G_GEO_MISSING_QUERY)
			alert("The HTTP q parameter was either missing or had no value. For geocoder requests, this means that an empty address was specified as input. For directions requests, this means that no query was specified in the input.\n Error code: " + gdirections.getStatus().code);
		//else if (gdirections.getStatus().code == G_UNAVAILABLE_ADDRESS)  <--- Doc bug... this is either not defined, or Doc is wrong
		//alert("The geocode for the given address or the route for the given directions query cannot be returned due to legal or contractual reasons.\n Error code: " + gdirections.getStatus().code);
		else if (gdirections.getStatus().code == G_GEO_BAD_KEY)
			alert("The given key is either invalid or does not match the domain for which it was given. \n Error code: " + gdirections.getStatus().code);
		else if (gdirections.getStatus().code == G_GEO_BAD_REQUEST)
			alert("A directions request could not be successfully parsed.\n Error code: " + gdirections.getStatus().code);
		else 
			alert("An unknown error occurred.");
		
		if (bkTheme == "frontdoor")
		{
			closeDirectionsTab();
		}
		else
		{
			if(YAHOO && drivingDirectionDlg)
			{
				drivingDirectionDlg.hide();
			}
		}
	}

	function onGDirectionsLoad()
	{ 
	}

function showDirectionsMS(from,to)
{
	try
	{
		fromAdd = from;
		toAdd = to;

		var locations;
		locations = new Array(fromAdd, toAdd);
		var options = new VERouteOptions;

		// Otherwise what's the point?
		options.DrawRoute      = true;

		// So the map doesn't change:
		options.SetBestMapView = true;

		// Call this function when map route is determined:
		//options.RouteCallback  = ShowTurns;

		// Show as miles
		options.DistanceUnit   = VERouteDistanceUnit.Mile;

		// Show the disambiguation dialog
		options.ShowDisambiguation = true;

		map.GetDirections(locations, options);
	}
	catch(e){}
}




/*distance.js*/

/*File Not Exists*/

/*../vendor/rolodex/rolo.js*/

//var homes = new Array();   // the homes in the rolodex
var curIndex = 0;
var curSaved = null;
var savedList = new Array();
var savedListGroup = new Array();
var carList = new Array();
var carIndex = null;
var mapLoco;
var spinEl = new Array();     // keyframes of object position, size, visiblity
var spinUl = new Array();     // upwards animation keyframes (backwards)
var spinDir = "down";
var animTimerID = null;
var batchSize = 10;
var searchResults = new Array();
var defaultImg = "http://"+window.location.hostname+"/wt/"+bkTheme+"/images/listing/noImageThmbBig.jpg" ;
//var lowerWedgeImg = "/vendor/rolodex/Images/lowerWedgeDefault.png";  // a hack
//var upperWedgeImg = "/vendor/rolodex/Images/upperWedgeDefault.png";
var lowerWedgeImg = "/vendor/rolodex/Images/lowerWedge1.png";  // a hack
var lowerWedgeImg1 = "/vendor/rolodex/Images/lowerWedge2.png";
var upperWedgeImg = "/vendor/rolodex/Images/upperWedge1.png";
var upperWedgeImg1 = "/vendor/rolodex/Images/upperWedge2.png";

var carIndex = 0;
var carLength = 4;
var roloh = 437;
var currentTab="";
var actTab = "";
var dataArr = new Array();


var homesHash = $H();
var curIndexHash = $H();
var savedListHash = $H();
var carListHash = $H();
var spinElHash = $H();
var spinUlHash = $H();
var searchResultsHash = $H();
var multiFavDelDlg = "";

function El(id, indexOff, left, top, width, height, display) {
	this.id = id;
	this.obj = document.getElementById(id);
	this.indexOffset = indexOff;
	this.left = left;
	this.top = top
	this.width = width;
	this.height = height;
	this.display = display;
}

    function initRolo(tab) {
		actTab = tab;
		this.homes = new Array();

		eval("homesHash.merge({"+tab+" : null});");
		eval("curIndexHash.merge({"+tab+" : null});");
		eval("savedListHash.merge({"+tab+" : null});");
		eval("carListHash.merge({"+tab+" : null});");
		eval("spinElHash.merge({"+tab+" : null});");
		eval("spinUlHash.merge({"+tab+" : null});");
		eval("searchResultsHash.merge({"+tab+" : null});");

        initAnim(tab);   // set up the keyframes
    }

    function Home(sr, index) {
    eval("this.heroImg"+actTab+" =  (sr.pictures.length ==0)? defaultImg : sr.pictures[0].url;");
    this.altImg = new Array();
    for (var i=1; i<sr.pictures.length; i++) {
        this.altImg[i-1] = sr.pictures[i].url;
    }

    eval("this.thumbImg = this.heroImg" + actTab + ";");
    //this.upperWedgeImg = sr.upperWedgeImg;
    //this.lowerWedgeImg = sr.lowerWedgeImg;     // this is a hack until wedge images are available
    this.upperWedgeImg = upperWedgeImg;
	this.upperWedgeImg1 = upperWedgeImg1;
    this.lowerWedgeImg = lowerWedgeImg;
	this.lowerWedgeImg1 = lowerWedgeImg1;
    this.index = index;
    this.atts = new Array();

      this.atts["bedroom"] = {abbrev:"BD", value:sr.beds};
      this.atts["bathroom"] = {abbrev:"BA", value:sr.baths};
      this.atts["price"] = {abbrev:"$$", value:sr.price};
      this.atts["sqft"] = {abbrev:"SQ", value:sr.squarefeet};
      this.atts["address"] = {abbrev:"ADR", value:{st:sr.address, city:sr.city, state:sr.state, zip:sr.zip}};
	  this.atts["copyright"] = {abbrev:"CR", value:sr.copyright};
	  this.atts["broker"] = {abbrev:"BK", value:sr.broker};
	  this.atts["sourcename"] = {abbrev:"SRC", value:sr.sourcename};

    this.detailsUrl = sr.link;
	this.mlsno = sr.mlsno;
	this.lat = sr.latitude;
	this.lng = sr.longitude;
	this.sourcename = sr.sourcename;
	this.srno = sr.srno;
	this.tid = sr.tid;
	this.pno = sr.pno;
	this.totalcount = sr.totalcount;
	if (this.mlsno.indexOf ('PKT') != -1)
	{
		this.mlslbl = "TID";
		this.mlsStr = this.mlsno.replace('PKT', '');
	}
	else
	{
		this.mlslbl = "MLS #";
		this.mlsStr = this.mlsno;
	}
    this.curAlt = null;  // which alternative image is being shown.
    this.showThumb = function(imgParent) {
        var txt;
        var bkText;
		var idxImg = "";		
		if(this.atts["broker"].value == "")
				bkText = "Listing Broker not available";
		else
				bkText = idxImg+"Courtesy of "+this.atts["broker"].value;

		txt = "<img src='/vendor/rolodex/Images/trans.gif' width=68 height=5><br><img src='" + this.thumbImg + "' width=90 height=55 border=0><br><span class='fadedFont'>"+bkText+ " <br> "+this.atts["copyright"].value+"</span>";
		imgParent.innerHTML = txt;

    }

    this.showAtts = function(tabParent) {
        var txt = new StringBuffer();
		txt.append("<table width=100% height=100% cellspacing=0 cellpadding=2 border=0>");
        txt.append("<tr><td colspan=2 align=center class='medText'>" + this.atts["address"].value.st);
        txt.append("<br>" + this.atts["address"].value.city + ", " + this.atts["address"].value.state+ " " + this.atts["address"].value.zip);
        txt.append("</td></tr><tr><td colspan=2 height=20></td></tr>");
	    if(this.atts["bedroom"].value != "") {
			this.atts["bedroom"].value = (this.atts["bedroom"].value==0 ? "-":this.atts["bedroom"].value);
            txt.append("<tr><td class='smlText' height=16>Bedroom</td><td class='smlText' align=left>");
            txt.append(this.atts["bedroom"].value + "</td></tr>");
        }
        if(this.atts["bathroom"].value != "") {
			this.atts["bathroom"].value = (this.atts["bathroom"].value==0 ? "-":this.atts["bathroom"].value);
            txt.append("<tr><td class='smlText' height=16>Bathroom</td><td class='smlText' align=left>");
            txt.append(this.atts["bathroom"].value + "</td></tr>");
        }
        if(this.atts["price"].value != "") {
			this.atts["price"].value = (this.atts["price"].value==0 ? "-":this.atts["price"].value);
            txt.append("<tr><td class='smlText' height=16>Price</td><td class='smlText' align=left>");
            txt.append("$" + format1000s(this.atts["price"].value) + "</td></tr>");
        }
        if(this.atts["sqft"].value != "") {
			this.atts["sqft"].value = (this.atts["sqft"].value==0 ? "-":this.atts["sqft"].value);
            txt.append("<tr><td class='smlText' height=16>Sqft</td><td class='smlText' align=left>");
            txt.append(format1000s(this.atts["sqft"].value) + "</td></tr>");
        }
		if(this.mlsno != "") {
            txt.append("<tr><td class='smlText' height=16>"+this.mlslbl+"</td><td class='smlText' align=left>");
            txt.append(this.mlsStr + "</td></tr>");
        }

        txt.append("<tr><td colspan=2 style='height:20px;*height:30px'></td></table>");
        tabParent.innerHTML = txt;
    }

	this.showLinks = function(tabParent) {
		var powerFlag = "";
		if(this.atts["sourcename"].value == "powersearch" && powerSearch == 1 && enablePowerSearch == 1 && ((uRole == "EA" || uRole == "A")))
			powerFlag = 1;
		var addr = this.atts["address"].value.st + ", " +this.atts["address"].value.city + ", " + this.atts["address"].value.state;
        if(powerFlag == 1)
			var txt = "<table align='center' width=100% height=40px cellspacing=0 cellpadding=2 border=0>";
		else
			var txt = "<table align='center' width=100% height=100% cellspacing=0 cellpadding=2 border=0>";
		txt+= "<tr><td colspan='2' class='smlText' height=16><a target='_blank' href='"+this.detailsUrl+"' class='dashAnchor crsr'> View Details</a></td></tr>";
				
		if(powerFlag == 1)		
		{
			//DO NOTHING
		}
		else
			txt+= "<tr><td colspan='2' class='smlText' height=16><a  href='javascript:showLeadPopup(\""+escape(addr)+"\",\""+this.detailsUrl+"\",\""+this.mlsno+"\");' class='dashAnchor crsr'> Schedule Viewing</a></td></tr>";	    

/********		 Explore Neighborhood link code			***********/
	if (bkTheme != "patrick")
	{
		nhUrl = this.detailsUrl.replace (/\/homes\//, "/homes/explorenh/");
	}
	else
	{
		var tidArr = this.tid.split("-");
		var myQs = new Querystring();
		var aid = myQs.get("aid");
		if(aid == null) aid = "";

		if(tidArr[0]=="MLS")
			tidArr[0] = brokerSource;
		else if(tidArr[0]=="PKT")
			tidArr[0] = "POCKETLISTING";
		else
			tidArr[0] = "ENHANCEDLISTING";

		nhUrl = addr.replace(/\#/,"Unit")+","+this.atts["address"].value.zip;

		if(this.sourcename != "powersearch")
				nhUrl += ","+money2num(this.atts["price"].value)+","+this.atts["bedroom"].value+","+this.atts["bathroom"].value+","+this.lat+","+this.lng+"&cf=0&pos=2&widgetnames=elementaryschools,recentsales,panoramio&noSearch=1&tid="+tidArr[1]+"&aid="+aid+"&source="+tidArr[0];
		else
				nhUrl += ","+money2num(this.atts["price"].value)+","+this.atts["bedroom"].value+","+this.atts["bathroom"].value+","+this.lat+","+this.lng+"&cf=0&pos=2&widgetnames=elementaryschools,recentsales,panoramio&noSearch=1&tid="+tidArr[2]+"&aid="+aid+"&source="+tidArr[0];
		nhUrl = "http://"+location.hostname+"/app/listing/singlePropertyLanding.php?status=EXP&address="+nhUrl;
	}
		txt+= '<tr><td colspan="2" height=16><a href="'+nhUrl+'" target="_blank" class="dashAnchor crsr" style="font-size:9px;">Explore Neighborhood&trade;</a></td></tr>';

        txt+= "</table>";
        tabParent.innerHTML = txt;
    }
    this.showHero = function() {
//        this.curAlt = null;   // set it to "unseen"
			var a = "altLeftImg"+actTab;
			var b = "altRightImg"+actTab;
        if(this.altImg.length == 0) {
            document.getElementById(a).src  = "/vendor/rolodex/Images/roloLtDisabledBtn.png";
            document.getElementById(b).src = "/vendor/rolodex/Images/roloRtDisabledBtn.png";
        } else {
            document.getElementById(a).src  = "/vendor/rolodex/Images/roloLtBtn.png";
            document.getElementById(b).src = "/vendor/rolodex/Images/roloRtBtn.png";
        }
        this.showThumb(document.getElementById("thumbParent" + actTab));
        this.showAtts(document.getElementById("attsParent"+actTab));
		this.showLinks(document.getElementById("linksParent"+actTab));
        document.getElementById("barParent"+actTab).innerHTML = barChart(this.atts,searchResults.bc);

        curFrame = 0 ;
        animateSpin();
    }

    this.showAlt = function(dir) {
        if(this.altImg.length == 0) {
            alert("No additional photos are available for this property");
            return;
        }
        var curSrc = "";
        if( dir == "next") {
             this.curAlt = (this.curAlt == null)? 0: this.curAlt+1;
        } else {
             this.curAlt = (this.curAlt == null)? this.altImg.length-1: this.curAlt-1;
        }

        if(this.curAlt >= this.altImg.length) {
                 eval("curSrc = this.heroImg" + actTab + ";");
                 this.curAlt = -1;
        }
        if(this.curAlt < 0) {
            if(this.curAlt == -1) {
                 this.curAlt = null;
                 eval("curSrc = this.heroImg" + actTab + ";");
            } else {
                 this.curAlt = this.altImg.length-1;
                 curSrc = this.altImg[this.curAlt];
            }
        }
        if(curSrc == "") curSrc = this.altImg[this.curAlt];
        document.getElementById("heroImg"+actTab).src = curSrc;

    }

    this.highlightPin = function() {
        window.status = "highlighting pin on map not yet integrated"
    }
}
    function focusRolo(index) {
        this.homes[index].showHero();
        curIndex = index;
    }

	function focusRoloMouseOver(index) {		
        this.homes[index].showHero();
        verticalSlider.setValue(Math.round(index/valSlideBy)-1);
		$("roloDetailImg" + srTabs.get("activeTab").get("label").gsub(" ","")).href = this.homes[index].detailsUrl;
		var crec = (this.homes[index].pno-1)*blockSize100 + index + 1;
		$("cProp"+srTabs.get("activeTab").get("label").gsub(" ","")).innerHTML = " "+(crec)+" ";
		curIndex = index;
    }

    function loadRolo(srArr, index,tabName) {
		var sr = new Array();
		sr = srArr.clone();
		if(tabName=="Properties" && (sr[0].placeholder == "1" && sr.length > 1) )
		{
			if(sr[1].placeholder == "1" && sr.length==2);
			else
			{
				if (sr[0].placeholder == "1")
				{
					sr.splice(0,1);
					if(index>0 && index%blockSize100 != 0)
					{
						if((index+1)%blockSize100 != 0) 
						index = index - 1;
					}
				}
				if (sr.length > 1)
				{
					if (sr[0].placeholder == "1")
					{
						sr.splice(0,1);
						if(index>0 && index%blockSize100 != 0)
						{
							if((index+1)%blockSize100 != 0) 
							index = index - 1;
						}
					}
				}
			}
		} 
//		var cntShow = index;
		var tcount = (parseInt(sr[0].totalcount - parseInt(sr[0].pno-1)*blockSize100) >= blockSize100 )?blockSize100:sr[0].totalcount - parseInt(sr[0].pno-1)*blockSize100;
		//var tcount = sr.length;
		valSlideBy = eval(tcount/250);
		var slideLen = parseInt(tcount);
		verticalSlider = YAHOO.widget.Slider.getVertSlider("vertBGDiv"+tabName, "vertHandleDiv"+tabName, 0, 250);
		verticalSlider.subscribe("change",function(offsetFromStart) {
				var curValue = (sr[0].pno-1)*blockSize100 + Math.round(verticalSlider.getValue()*valSlideBy)+1;
				if(curValue > (parseInt(sr[0].pno)-1)*blockSize100 + parseInt(tcount))	curValue = (parseInt(sr[0].pno)-1)*blockSize100 + parseInt(tcount);  
				document.getElementById("vertHandleDiv"+tabName).innerHTML = "<span style='font-weight:bold;font-size:12px;'>"+curValue+"</span>";
				if(sr[(curValue-1)%blockSize100]) setVtooltip(sr[(curValue-1)%blockSize100]);
		});
		verticalSlider.subscribe("slideEnd",function(offsetFromStart) {
			document.getElementById("vertTooltipDiv"+actTab).style.display = "none";
			var curValue = Math.round(verticalSlider.getValue()*valSlideBy)+1;
			if(curValue > tcount) curValue = tcount;
			scrollRolo(curValue);
		});

		//alert("index : "+index+" valSlideBy : "+valSlideBy)
		verticalSlider.setValue(Math.round((index%blockSize100)/valSlideBy)-1);
		//Math.round((index%blockSize100)/valSlideBy)-1
		$("cProp"+actTab).innerHTML = " "+ eval(index+1)+" ";
//		$("cProp"+actTab).innerHTML = " "+  eval((parseInt(sr[0].pno-1)*blockSize100)+(index+1))+" ";
		currentTab = tabName+"ListDiv";
		dataArr = sr;
		getDataRange(tabName,sr, searchResults);
        this.homes.length =0;
		var latArr = new Array();
		var lngArr = new Array();
		actTab = tabName;
		$("totalProp"+actTab).innerHTML = sr[0].totalcount;

        for (var i=0; i< sr.length; i++) {
           this.homes[i] = new Home(sr[i], i);
        }

		eval("homesHash.merge({"+tabName+" : this.homes});");
		eval("curIndexHash.merge({"+tabName+" : index});");

		curIndex = index%blockSize100;
		if(this.homes[curIndex]) this.homes[curIndex].showHero();
		$("roloMainDiv" + tabName).style.display="inline";

		// For setting up View Details URL
		$("roloDetailImg" + actTab).href = this.homes[curIndex].detailsUrl;

		var roloLoco = findPos(document.getElementById("roloParent"+actTab));
		roloLoco.parentObj = document.getElementById("roloParent"+actTab);
        roloLoco.height = roloLoco.parentObj.offsetHeight;
        document.getElementById("roloDiv"+actTab).style.height = roloLoco.height+"px";
        document.getElementById("heroDiv"+actTab).style.top = Math.round((roloLoco.height-234)/2)+"px";
        document.getElementById("roloDiv"+actTab).style.display = "inline";
        document.getElementById("b1Img"+actTab).style.top = (roloLoco.height-120)+"px";
        document.getElementById("b2Img"+actTab).style.top = (roloLoco.height-83)+"px";
		$(currentTab).style.position = "relative";
		$(currentTab).parentNode.parentNode.style.height="410px"
		if ($(tabName+"ListDiv"))
		{
			while ($(currentTab).hasChildNodes())
			  $(currentTab).removeChild($(currentTab).firstChild);
		}
		$(currentTab).appendChild($("roloMainDiv" + tabName));
		var disclaimerDiv = document.createElement("div");
		//disclaimerDiv.innerHTML = "<br>"+disclaimer;
		$(currentTab).appendChild(disclaimerDiv);
		var eFlag = 0;
		for(var i=0; i<sr.length ; i++)
		{
			var maxMarkerName = "commMarker"+sr[i].sourcename+sr[i].srno;
			if ( eval('window.' + maxMarkerName + ' == null') )
				continue;
			else
			{
				eFlag = 1;
				break;
			}
		}
		if(this.homes[curIndex]) clickOnCommList(this.homes[curIndex].sourcename+this.homes[curIndex].srno);
	}


    function barChart(atts, sr) {
       var txt = "<table width=100% height=100% cellspacing=0 cellpadding=0 border=0><tr>"
       var txt2 = ""
       var txt1 = "";
       var icnt = 0;
       var totalWidth = document.getElementById("barParent"+actTab).width;

       for (var i in sr) {
           if(sr[i].useStat) {   // show this in the bar chart.
               txt1+= "<td height=45 align=center style='vertical-align:bottom'>"
               var indx = Math.max(0, Math.min(4, Math.floor( 5*(atts[i].value-sr[i].min)/(sr[i].max - sr[i].min))));
               txt1+= "<img src='/vendor/rolodex/Images/bar" + indx + ".gif'></td>";
               txt2+= "<td height=22 class='tinyText' align=center>" + sr[i].abbrev + "</td>";
               icnt++;
               if(icnt >5) break;  // can't fit more than 5 in the space allowed.
           }
       }
       var pad = Math.floor((totalWidth - 10*icnt - 5*(icnt-1))/2)
       txt+= "<td height=45 width=" + pad + "></td>" + txt1 + "<td width=" + pad + "></td></tr>"
       txt+= "<tr><td width=" + pad + "></td>" + txt2 + "<td width=" + pad + "></td></tr></table>"
       return txt;
    }

    function scrollRolo(dir) {		
		bounds_diff_x=0; // reset the bound variables to resolve the map reload issue
		bounds_diff_y=0;

        if(animTimerID != null) return;  // animation in progress, don't start another
        spinDir = dir;
        if(dir == "down") {
            curIndex++;
            if(curIndex > this.homes.length-1) {
                 if(curIndex < searchResults.houseCount) {
                 //   reqBatch(curIndex, recBatch);
                 } else {
                    curIndex--;
					var crec = (parseInt(this.homes[curIndex].pno)-1)*blockSize100 + curIndex + 1;

					if(crec >= this.homes[curIndex].totalcount)
						alert("no more properties are available");
					else
					{
						paginationHash[actTab] = (this.homes[curIndex].pno)*modVal + 1;
						curIndexHash[actTab] = crec;
						if(mapToShow == "nhood" && this.homes[curIndex].sourcename == "mlsCountySearch")
							this.homes[curIndex].sourcename = "mlsHomesMode";
						reloadBit(actTab,this.homes[curIndex].sourcename,eval(parseInt(this.homes[curIndex].pno) + 1),paginationHash[actTab]);
					}
                 }
                 return;
            }
        } else if(dir == "up"){
            curIndex--;
            if(curIndex < 0) {
				var crec = (parseInt(this.homes[curIndex+1].pno)-1)*blockSize100 + curIndex;
				if(crec > 0)
				{
					paginationHash[actTab] = (this.homes[curIndex+1].pno - 1)*modVal;
					curIndexHash[actTab] = crec;
					if(mapToShow == "nhood" && this.homes[curIndex+1].sourcename == "mlsCountySearch")
						this.homes[curIndex+1].sourcename = "mlsHomesMode";
					reloadBit(actTab,this.homes[curIndex+1].sourcename,eval(parseInt(this.homes[curIndex+1].pno) - 1),paginationHash[actTab]);
				}
				else
				{
					alert("Showing first property in the search results");
				    curIndex=0;
				}
				return;
            }
        }
		else
		{
			if(curIndex < dir-1) spinDir = "down";
			else if(curIndex > dir-1) spinDir = "up";
			else return;
			curIndex = dir-1;
		}

		this.homes[curIndex].showHero();

		// For setting up View Details URL
		$("roloDetailImg" + actTab).href = this.homes[curIndex].detailsUrl;

		verticalSlider.setValue(Math.round(curIndex/valSlideBy)-1);
		var crec = (this.homes[curIndex].pno-1)*blockSize100 + curIndex + 1;
		$("cProp"+actTab).innerHTML = " "+(crec)+" ";
		curIndexHash[actTab] = crec-1;
		clickOnCommList(this.homes[curIndex].sourcename+this.homes[curIndex].srno);
    }

    function displayAltImg(dir) {
        this.homes[curIndex].showAlt(dir);
    }

    function linkToDetails(index) {
		window.open(this.homes[index].detailsUrl,"_blank");
    }

    function saveHome(index,saveDirect) {      // need to animate the transition into the saved list

		if(typeof(index) == "string")
			index = parseInt(index.replace("f",""));
		else
			index = this.homes[index].srno;

		var k = 0;
		if(typeof(srTabs) != 'undefined')
		{
			while(srTabs.getTab(k))
			{
				if(srTabs.getTab(k).get("active"))
				{
					actTab = (srTabs.getTab(k).get("label")).gsub(" ","");
					break;
				}
				k++;
			}
			eval("var dataArr = "+actTab+";");
		}
		else
		{
			var dataArr = response;	
		}
		var tid = dataArr[index].tid;
		var address = escape(dataArr[index].address);
		var price = dataArr[index].price;
		var beds = dataArr[index].beds;
		var baths = dataArr[index].baths;
        var lat = dataArr[index].latitude;
        var lng = dataArr[index].longitude;
		var status = dataArr[index].status;
		var mlsno = dataArr[index].mlsno;

		var homesiteUrl = escape(dataArr[index].link);
		imgStr=dataArr[index].pictures;
		
		if(typeof(dataArr[index].pictures) == 'object' && dataArr[index].pictures.length>0)
			var imgPath = escape(dataArr[index].pictures[0].url);
		else if(imgStr.indexOf('http://') == 0)
			var imgPath = escape(imgStr);				
		else
			var imgPath = escape("http://"+location.hostname+"/wt/"+bkTheme+"/images/listing/noImageThmb.jpg");	
		

		var tidArr = tid.split("-");
		var finalTid = tidArr[0];
		if (tidArr.length == 2)
			finalTid += "-" + tidArr[1];
		else if (tidArr.length == 3)
			finalTid += "-" + tidArr[2];
		//for powersearch favorites
		//if(powerSearch == 1 && enablePowerSearch == 1 && uRole == "EA")
		//{			
			var fullAddress = escape(dataArr[index].address)+"_"+escape(dataArr[index].city)+"_"+dataArr[index].state+"_"+dataArr[index].zip;			
			var tp = finalTid+':::'+fullAddress+':::'+status+':::'+mlsno;			
			if(typeof(chkPSAr) != 'undefined' && chkPSAr.in_array(tp) === false)
				chkPSAr[chkPSAr.length] = tp;
		//}
		//----------------------------------

		var url = "/app/listing/favourite.php";
		var qs = "op=add&tid="+finalTid+"&address="+address+"&price="+price+"&beds="+beds+"&baths="+baths+"&photourl="+imgPath+"&link="+homesiteUrl+"&lat="+lat+"&lng="+lng;
		qs += "&city="+escape(dataArr[index].city)+"&state="+dataArr[index].state+"&zip="+dataArr[index].zip+"&status="+status+"&mlsno="+mlsno;

		if(typeof(powerSearch) != "undefined" && powerSearch == "1")
			qs += "&power=1";

		ajaxRequest(url,qs,function(reqobj){
			var varResponse = trim(reqobj.responseText);

			if(varResponse != "-1" && varResponse != "0")
			{
				var myData = eval('('+varResponse+')');				
				getImages(myData);
			}
			//else if(varResponse == "-1")
			//	alert("Property already added to Favorite Bar.");
		},false);
		initSlideShow_pic();

		if(saveDirect)
		{
			saveFavorites();
		}
    }

	function addAllPropToFavTrain()
	{
		var k = 0;
		if(typeof(srTabs) != 'undefined')
		{
			while(srTabs.getTab(k))
			{
				if(srTabs.getTab(k).get("active"))
				{
					actTab = (srTabs.getTab(k).get("label")).gsub(" ","");
					break;
				}
				k++;
			}	
			eval("var dataArr = "+actTab+";");
		}
		else
		{
			var dataArr = response;	
		}
		var url = "/app/listing/favourite.php";
		var qs = "op=addAll&data="+escape(dataArr.toJSON());
		if(typeof(powerSearch) != "undefined" && powerSearch == "1")
			qs += "&power=1";
		ajaxRequest(url,qs.toString(),function(reqobj){
			var varResponse = trim(reqobj.responseText);

			if(varResponse != "-1" && varResponse != "0")
			{
				var myData = eval('('+varResponse+')');				
				getImages(myData);
			}
		},false);
		initSlideShow_pic();
		if($("chkHeaderCheckAll")) $("chkHeaderCheckAll").checked = true;
	}

	function delFav(index,gid,from)
	{		
		if(typeof(from) == "undefined")
			var answer = confirm("Are you sure you want to delete this Favorite?");
		else
			var answer = 1;
		if(answer)
		{
			if(gid.include(",") && typeof(from) == "undefined")
			{
				showMultiFavDelDlg(index,gid);
				return;
			}

			var k = 0;
			while(srTabs.getTab(k))
			{
				if(srTabs.getTab(k).get("active"))
				{
					actTab = (srTabs.getTab(k).get("label")).gsub(" ","");
					break;
				}
				k++;
			}
			eval("var dataArr = "+actTab+";");
			var tid = dataArr[index].tid;
			var bitName = dataArr[index].sourcename;
			var bitType = dataArr[index].category;
			var myDataLen = dataArr[index].totalcount;
			var group = dataArr[index].groupname;

			var url = "/app/listing/favourite.php";
			var qs = "op=delfromdb&tid="+tid+"&gid="+gid;
			if(powerSearch == 1 && enablePowerSearch == 1 && uRole == "EA")
				qs = qs + "&power=1";
			ajaxRequest(url,qs.toString(),function(reqobj){
				var varResponse = trim(reqobj.responseText);

				/*if(varResponse == "1")
				{
					alert("Property deleted from Favorites.");
				}*/
			},false);
			removeCommPushpins(bitName,myDataLen);
			removeListing(bitName,bitType,myDataLen,group);
			loadBit(bitName);
		}
	}

function getEvent(event)
{
	if (event.keyCode==13)
	{
		if($("loginDiv").visible())
		{
			validateLogin();
		}
		else
		{
			return;
		}
	}
}

	function validateLogin(fromWhere)		
	{
		if(!isBlank('userName',"Username"))
		{
			$('errSysLogin').innerHTML=alertErrorMsg;
			$('userName').focus();
			$('userName').className="textboxRed";
			$('userPwd').className="textbox";
			return false;
		}
		if(!isBlank('userPwd',"Password"))
		{
			$('errSysLogin').innerHTML=alertErrorMsg;
			$('userPwd').focus();
			$('userName').className="textbox";
			$('userPwd').className="textboxRed";
			return false;
		}
		var url = '/app/auth/validateLogin.php';
		var queryString = "from=UR&usid=" + $F('userName') + "&pass=" + escape($F('userPwd'));
		ajaxRequest(url,queryString,
		responseLogin = function(originalRequest)
		{
			var response = originalRequest.responseText;
			if(response.include("NA|"))
			{
				$('errSysLogin').innerHTML="Please activate your account";
			}
			else if(response!='NR')
			{
				SignInDlg.hide();
				//saveFavorites();
				if(typeof(roloUse) != 'undefined' && roloUse)
				{	try
					{
					roloUse = false;
					fromPage = myPriceParmObj.fromPage;
					alertType = myPriceParmObj.alertType;
					divId = myPriceParmObj.divId;
					cnt  = myPriceParmObj.cnt;
					response  = myPriceParmObj.response;
					myPriceParmObj = null;
					
					if($('divEmlSerHeader1')) $('divEmlSerHeader1').innerHTML = "Get email alerts";
					if($('divEmlSerHeader')) $('divEmlSerHeader').innerHTML = "Save This Search";
					if($('saveSerLabel')) $('saveSerLabel').innerHTML = "Name this search";
					if($('saveSerLabel1')) $('saveSerLabel1').innerHTML = "Name this search";
					if($('dailyWeeklySpan')) $('dailyWeeklySpan').innerHTML = "Send me email alerts for properties matching this search<br/><br/>";
					if($('dailyWeeklyRow')) $('dailyWeeklyRow').show();
					if($('dailyChkBox')) $('dailyChkBox').checked = true;
					if($('WeeklyChkBox')) $('WeeklyChkBox').checked = false;
	
					if(cnt == "" && $('bit_select_box') && validateRSCriteriaNew() && ($('chkOpnHome')  && !$('chkOpnHome').checked)) 
					{		
						qryStrHash['grp']='';doPropSearch();
					}
					else if(cnt == "" &&$('bit_select_box') && ($('chkOpnHome')  && !$('chkOpnHome').checked))
					{			
						return; 			
					}
					else if(cnt == "" &&typeof(fromOpenHome) != "undefined" && fromOpenHome == "1" && chkOPCriteria()) 
					{
						chkOpenHousesArr = new Array();
						openHousesAddArr = new Array();
						getOpenHomes();
						getOpenHomes('1');
					}
					else if(cnt == "" && typeof(fromOpenHome) != "undefined" && fromOpenHome == "1" && cnt == "")
					{
						return; 
					}		
					var searchCrtStr = '';
					if(alertType == 'statusAlert' && fromPage != "homeSite")
					{
						if($('divEmlSerHeader')) $('divEmlSerHeader').innerHTML = "Status alert";
						var addrStr = "";
						addrStr = response[cnt].address;
						if(response[0].unitno != "") addrStr += "#"+response[cnt].unitno;
						addrStr += ", "+response[cnt].city;
						addrStr += " "+response[cnt].state;
						addrStr += ", "+response[cnt].zip;						
						searchCrtStr = "Having address:"+addrStr;
						searchCrtStr += " and mls no:"+response[cnt].mlsno;
						searchCrtStr += "<br/><br/>You will receive an email alert if the status of this property changes.";
						if($('saveSerLabel')) $('saveSerLabel').innerHTML = "Name this alert";
					}
					else if(alertType == 'statusAlert' && fromPage == "homeSite")
					{						
						if($('divEmlSerHeader')) $('divEmlSerHeader').innerHTML = "Status alert";
						searchCrtStr = "Having address:"+propMlsAddr;
						searchCrtStr += " and mls no:"+propMlsNo;
						searchCrtStr += "<br/><br/>You will receive an email alert if the status of this property changes.";
						if($('saveSerLabel')) $('saveSerLabel').innerHTML = "Name this alert";
					}
					else if(alertType == 'marketReport' && fromMarketReport)
					{						
						var qs = new Querystring();			
						if($('divEmlSerHeader1')) $('divEmlSerHeader1').innerHTML = "Market reports";
						searchCrtStr = "Having neighborhood:"+trim(qs.get("nhood").replace('_',' '));
						searchCrtStr += "<br/><br/>You will receive an email with market information on this area every month.";
						if($('saveSerLabel1')) $('saveSerLabel1').innerHTML = "Name this alert";
						if($('dailyWeeklySpan')) $('dailyWeeklySpan').innerHTML = "";
						if($('dailyWeeklyRow')) $('dailyWeeklyRow').hide();
						if($('dailyChkBox')) $('dailyChkBox').checked = false;
						if($('WeeklyChkBox')) $('WeeklyChkBox').checked = true;
					}
					else
						searchCrtStr = getSearchCriteriaString();
							
					if(alertType != 'all' && fromMarketReport == "")
					{						
						$('srchCrtDiv').innerHTML = searchCrtStr;
						$('divEmailSaveSearch').style.display = '';		
						if(typeof(createDialog) == "function")
							emlSaveSearchDlg = createDialog('divEmailSaveSearch');
					}
					else
					{						
						if($('saveSerLabel1')) $('saveSerLabel1').innerHTML = "Name this alert";
						$('srchCrtDiv1').innerHTML = searchCrtStr;
						$('divEmailSaveSearch1').style.display = '';		
						if(typeof(createDialog) == "function")
							emlSaveSearchDlg = createDialog('divEmailSaveSearch1');
					}
					emlSaveSearchDlg.show();
					}
					catch (err)
					{
						alert(err);
					}					
				}
				else
				{
				if($("fromWhere") && $("fromWhere").value == "listing")
					showFavPopupDualPane(trim($("fromWhere").value));
				else if($("fromWhere") && $("fromWhere").value == "pricestatusAlert")
				{	
					//showDiv('divEmailSaveSearch');
					var searchCrtStr = "";
					if(typeof(propMlsNo) != "undefined" && propMlsNo != "")
						searchCrtStr = "Having mls no:"+propMlsNo;
					else
						searchCrtStr = getSearchCriteriaString();					
					$('srchCrtDiv').innerHTML = searchCrtStr;
					$('divEmailSaveSearch').style.display = '';						
					if(typeof(createDialog) == "function")
					{
						emlSaveSearchDlg = createDialog('divEmailSaveSearch');
						emlSaveSearchDlg.show();
					}
				}
				else if($("fromWhere") && $("fromWhere").value == "saveFavUrl")
				{	
					if(typeof(saveFavUrl) != "undefined" && saveFavUrl != "")
						window.open(saveFavUrl);
				}
				else if($("fromWhere") && $("fromWhere").value == "marketReport" && fromMarketReport)
				{
					var qs = new Querystring();			
					searchCrtStr = "Having neighborhood:"+trim(qs.get("nhood").replace('_',' '));
					$('srchCrtDiv').innerHTML = searchCrtStr;
					$('divEmailSaveSearch').style.display = '';						
					if(typeof(createDialog) == "function")
					{
						emlSaveSearchDlg = createDialog('divEmailSaveSearch');
						emlSaveSearchDlg.show();
					}
				}
				else if($("fromWhere") && $("fromWhere").value == "scheduleViewing"){}
				else
					showFavPopup();

				}				
				setHeader();

				//Open Schedule Viewing For Home Site
				if($("fromWhere") && $("fromWhere").value == "scheduleViewing")
				{					
					var address = "";
					var sourceLink = "";
					var mlsNumber = "";

					if($("scheAddress") && $("scheAddress").value != "")
						address = $("scheAddress").value;

					if($("scheSourceLink") && $("scheSourceLink").value != "")
						sourceLink = $("scheSourceLink").value;

					if($("scheMlsNo") && $("scheMlsNo").value != "")
						mlsNumber = $("scheMlsNo").value;

					window.setTimeout(function(){showLeadPopup(address,sourceLink,mlsNumber);}, 1000);					
				}
			}
			else
			{
				$('userName').focus();
				$('userName').value = "";
				$('userPwd').value = "";
				$('userName').className="textbox";
				$('userPwd').className="textbox";
				$('errSysLogin').innerHTML="Incorrect login information";
				//alert('Incorrect login information');
			}
		});
	}

	function beforeHideSignInFrm()
	{
		$('divSignInFrm').style.dispaly = 'none';
	}

	function beforeShowSignInFrm()
	{
		$('divSignInFrm').style.dispaly = 'none';
	}


    function saveFavorites(prop)
	{	
		/*
		if(typeof(SignInDlg) == "string" || typeof(SignInDlg) == "undefined" || SignInDlg == null)
		{
			if($('divSignInFrm')) 
			{ 
				$('divSignInFrm').style.display = '';			
				if(typeof(createDialog) == "function")
					SignInDlg = createDialog('divSignInFrm');
			}
		}
		*/
		if($("divSaveSearch")) {$("divSaveSearch").style.display = "none";}
		//if($("powerAdvSearch")) {$("powerAdvSearch").style.display = "none";}
		if($("prpStat")) {$("prpStat").style.display = "none";}
		if($("divEmailSaveSearch")) {$("divEmailSaveSearch").style.display = "none";}
		if($("trSaleDate")) {$("trSaleDate").style.display = "none";}
		if($("divAutoComp")) {$("divAutoComp").style.display = "none";}
		if($('RSshPopupDesc')) { $('RSshPopupDesc').style.display='none'; }
		if($('divRSType')) { $('divRSType').style.display='none'; }
		if($('prpTyp')) { $('prpTyp').style.display='none'; }
		if($('localSearchTxt') && $('divLocalSearch')) {$('divLocalSearch').style.display='none';}
		if($('mySavedSrchTxt') && $('divMySavedSrch')) {$('divMySavedSrch').style.display='none';}
		if($("divMultiCity")) $("divMultiCity").style.display = "none";
		
		if(typeof(prop) != "undefined")
		{
			chkPSAr.push(prop);
		}
		
		if(typeof(chkPSAr) != "undefined" && chkPSAr == "")
		{
			alert("No Properties to add in Favorites.");
			return;
		}
		if(typeof(uid) == "undefined" || uid == "" || uid == null)
		{
			var mrUrl = window.location.href;
			opensignInRegDlg(mrUrl,'R','','');
			/*
			var url = '/app/feed/processFavourite.php';
			ajaxRequest(url,'action=chksignin',function resChkSignin(originalRequest){
			var res = originalRequest.responseText;			
			if(res==0)
			{				
				SignInDlg.beforeHideEvent.subscribe(beforeHideSignInFrm, this);
				SignInDlg.beforeShowEvent.subscribe(beforeShowSignInFrm, this);
				$('divSignInFrm').style.dispaly = 'block';
				$('userName').value = "";
				$('userPwd').value = "";
				$('userName').className="textbox";
				$('userPwd').className="textbox";
				$('errSysLogin').innerHTML="&nbsp;";

				if($("fromWhere")) $("fromWhere").value = "savelisting";
				var qs = new Querystring();
				if(qs.get("frm") != null && qs.get("aid") != null && $("signInRoloLnk"))
					$("signInRoloLnk").href += "?agd="+trim(qs.get("aid"));
				if($('divSignInFrm')) $('divSignInFrm').parentNode.style.zIndex = 12;
				SignInDlg.show();				
				$('userName').focus();				
			}
			else
			{
				setHeader();
				showFavPopup();
			}
			});
			*/
		}
		else
			showFavPopup();
		
		if($('divSignInFrm_c')) $('divSignInFrm_c').style.zIndex='11';
		if($('divSignInFrm_mask')) $('divSignInFrm_mask').style.zIndex='10';
		/*var url = "./favourite.php";
		var qs = "op=save";

		if(powerSearch == 1 && enablePowerSearch == 1 && uRole == "EA")
			qs += "&power=1";	

		ajaxRequest(url,qs,function(obj){
			var response = trim(obj.responseText);

			switch(response)
			{
				case "0":
					alert("Property already added in Favorites.");
					getImages();
					initSlideShow_pic();
					break;
				case "1":
					alert("Property added to Favorites.");
					getImages();
					initSlideShow_pic();
					if(myHash["Favorites"])
					{
						eval("var bitName = Favorites[0].sourcename");
						eval("var myDataLen = Favorites[0].totalcount");
						eval("var bitType = Favorites[0].category");
						eval("var group = Favorites[0].groupname");
						removeCommPushpins(bitName,myDataLen);
						removeListing(bitName,bitType,myDataLen,group);
						loadBit(bitName);
					}
					break;
				case "2":
					if(powerSearch == 1 && enablePowerSearch == 1 && uRole == "EA")
						showFavPopup();
					else
					{						
						SignInDlg.beforeHideEvent.subscribe(beforeHideSignInFrm, this);
						SignInDlg.beforeShowEvent.subscribe(beforeShowSignInFrm, this);
						$('divSignInFrm').style.dispaly = 'block';
						$('userName').value = "";
						$('userPwd').value = "";
						$('userName').className="textbox";
						$('userPwd').className="textbox";
						$('errSysLogin').innerHTML="&nbsp;";
						SignInDlg.show();
						$('userName').focus();
					}
					break;
				case "3":
					alert("No Properties to add in Favorites.");
					getImages();
					initSlideShow_pic();
					break;
			}
		});*/
    }

    function showSaved() {
        var s = carList[curSaved]; // s is the index into the saved list
        if (s == null) return;
        curIndex = savedList[s];      // index is into homes[]
        this.homes[curIndex].showHero();
    }

    function loadCarrousel(dir) {    // scroll the carrousel left or right
		if(dir == "next") {
            carIndex = Math.max(0, Math.min(carIndex+1, savedList.length-4));
        } else {
            carIndex = Math.max(0, carIndex-1);
        }

        var j=0;

        for (var i=carIndex; i< Math.min(carIndex+carLength, savedList.length); i++) {
           carList[j] = i;
		   var sImg = "car" + j + "Img" + actTab;
           document.getElementById(sImg).src = this.homes[savedList[i]].thumbImg;
		   var ui = "s" + j + "Div" + actTab;
           document.getElementById(ui).style.display = "inline";

		   j++;
        }

        for (var i=j; i<carLength; i++) {
			var a = "s" + i + "Div"+ actTab;
           document.getElementById(a).style.display = "none";
        }

		if($("sEmptyDiv"+actTab))
		{
			if(carIndex == j)
				$("sEmptyDiv"+actTab).style.display = "inline";
			else
				$("sEmptyDiv"+actTab).style.display = "none";
		}

        document.getElementById("carLeftBtn"+actTab).src  = (carIndex == 0)? "/vendor/rolodex/Images/carLeftNone.gif" : "/vendor/rolodex/Images/carLeft.gif";
        document.getElementById("carRightBtn"+actTab).src = (carIndex == savedList.length-carLength)? "/vendor/rolodex/Images/carRightNone.gif" : "/vendor/rolodex/Images/carRight.gif";
	}


    function delSaved(index) {
		setFavoriteIcon(index,'desel');//function for powersearch to change favorite icon(added by saloni)
		var url = "/app/listing/favourite.php";
		var qs = "op=del&tid="+index;
		if(typeof(powerSearch) != "undefined" && powerSearch == "1")
			qs += "&power=1";
		ajaxRequest(url,qs.toString(),function(reqobj){
			var varResponse = trim(reqobj.responseText);

			if(varResponse == "[]")
				varResponse="";
			else
				var myData = eval('('+varResponse+')');			
			getImages(myData);

		},false);
		initSlideShow_pic();
	}

	function loadFav() {
		var url = "/app/listing/favourite.php";
		var qs = "op=get";

		if(typeof(powerSearch) != "undefined" && powerSearch == "1")
			qs += "&power=1";
		ajaxRequest(url,qs,function(reqobj){
			var varResponse = trim(reqobj.responseText);
			var myData;
			if(varResponse == "")
				varResponse="[]";
			myData = eval('('+varResponse+')');			
			getImages(myData);			
		},false);
		if($('picdivIconCollect'))
			initSlideShow_pic();
		//	added by krunal
		if($("mapLoading"))
			$("mapLoading").style.display = 'none';
	}
    function hideAllThumbDel() {   // a hack for firefox issues
        for (var i=0; i< 4; i++) {
			var a = "s" + i + "d" + actTab;
            document.getElementById(a).style.display = "none";
        }

    }
    ////////////////  Rolodex animation ///////////////
    var dtAnim = 20;  // in ms
    if(isIE) dtAnim = 40;
	var spinTimes = new Array(0, 6, 6.5, 9);

    function initAnim(tab) {
		//alert("initAnim");
		//var spinEl = new Array();
		//var spinUI = new Array();
        // this works only for spinning DOWN the list
        //
        // pop off hero - t1 becomes old-hero sized tall and moved over old hero
        spinEl[0] = [//new El("b4Img"+actTab,    3, 65, roloh-25,  200, 37, "inline"),
                     //new El("b3Img"+actTab,    2, 50, roloh-53,  230, 42, "inline"),

					 new El("b2Img"+actTab,    1, 35, roloh-85,  220, 35, "inline"),
                     new El("b1Img"+actTab,    0, 15, roloh-132, 260, 45, "inline"),

					 new El("heroImg"+actTab, -1, 9, Math.round((roloh-254)/2), 250, 180, "none"),

					 new El("t1Img"+actTab,   -1, 15, 173, 260, 160, "inline"),
                     new El("t2Img"+actTab,   -2, 15, 63, 260, 35, "inline")];

                     //new El("t3Img"+actTab,   -3, 33, 38, 265, 48, "inline"),
                     //new El("t4Img"+actTab,   -4, 50, 11, 230, 42, "inline")];

        // b1 (the new hero) resizes and slides up. t1 resizes to normal size and slides into position
        spinEl[1] = [//new El("b4Img"+actTab,    3, 50, roloh-53,  230, 42, "inline"),
                     //new El("b3Img"+actTab,    2, 33, roloh-83,  265, 48, "inline"),
                     new El("b2Img"+actTab,    1, 15, roloh-132, 260, 35, "inline"),
                     new El("b1Img"+actTab,    0, 15, roloh-252, 260, 160, "inline"),
                     new El("heroImg"+actTab,  0, 9, Math.round((roloh-234)/2), 250, 180, "none"),
                     new El("t1Img"+actTab,   -1, 15, 63, 260, 45, "inline"),
                     new El("t2Img"+actTab,   -2, 35, 25, 220, 35, "inline")];
                     //new El("t3Img"+actTab,   -3, 50, 11, 230, 42, "inline"),
                     //new El("t4Img"+actTab,   -4, 65, -12, 200, 37, "inline")];

        // new hero pops on in smaller format. all other wedges are in place.
        spinEl[2] = [//new El("b4Img"+actTab,    4, 65, roloh-25,  200, 37, "inline"),
                     //new El("b3Img"+actTab,    3, 50, roloh-53,  230, 42, "inline"),
                     new El("b2Img"+actTab,    2, 35, roloh-85,  220, 35, "inline"),
                     new El("b1Img"+actTab,    1, 15, roloh-132, 260, 45, "inline"),
                     new El("heroImg"+actTab,  0, 9, Math.round((roloh-414)/2), 250, 180, "inline"),
                     new El("t1Img"+actTab,   -1, 15, 63, 260, 45, "inline"),
                     new El("t2Img"+actTab,   -2, 35, 25, 220, 35, "inline")];
                     //new El("t3Img"+actTab,   -3, 50, 11, 230, 42, "inline"),
                     //new El("t4Img"+actTab,   -4, 65, -12, 200, 37, "inline")];

        // hero grows in size.
        spinEl[3] = [//new El("b4Img"+actTab,    4, 65, roloh-25,  200, 37, "inline"),
                     //new El("b3Img"+actTab,    3, 50, roloh-53,  230, 42, "inline"),
                     new El("b2Img"+actTab,    2, 35, roloh-85,  220, 35, "inline"),
                     new El("b1Img"+actTab,    1, 15, roloh-132, 260, 45, "inline"),
                     new El("heroImg"+actTab,  0, 9, Math.round((roloh-414)/2), 250, 180, "inline"),
                     new El("t1Img"+actTab,   -1, 15, 63, 260, 45, "inline"),
                     new El("t2Img"+actTab,   -2, 35, 25, 220, 35, "inline")];
                     //new El("t3Img"+actTab,   -3, 50, 11, 230, 42, "inline"),
                     //new El("t4Img"+actTab,   -4, 65, -12, 200, 37, "inline")];

         // parameters for upwards spin -----------------------------------------------------
         //
         spinUl[0] = [//new El("b4Img"+actTab,   4, 50, roloh-53,  230, 42, "inline"),
                     //new El("b3Img"+actTab,    3, 33, roloh-83,  265, 48, "inline"),
                     new El("b2Img"+actTab,    2, 15, roloh-212,  220, 35, "inline"),
                     new El("b1Img"+actTab,    1, 15, roloh-252, 260, 160, "inline"),
                     new El("heroImg"+actTab, -1, 9, Math.round((roloh-254)/2), 250, 180, "none"),
                     new El("t1Img"+actTab,    0, 15, 63, 260, 45, "inline"),
                     new El("t2Img"+actTab,   -1, 35, 25, 220, 35, "inline")];
                     //new El("t3Img"+actTab,   -2, 50, 11, 230, 42, "inline"),
                     //new El("t4Img"+actTab,   -3, 65, -12, 200, 37, "inline")];

        // b1 (the new hero) resizes and slides up. t1 resizes to normal size and slides into position
        spinUl[1] = [//new El("b4Img"+actTab,    4, 65, roloh-25,  200, 37, "inline"),
                     //new El("b3Img"+actTab,    3, 50, roloh-53,  230, 42, "inline"),
                     new El("b2Img"+actTab,    2, 35, roloh-85,  220, 35, "inline"),
                     new El("b1Img"+actTab,    1, 15, roloh-132, 260, 45, "inline"),
                     new El("heroImg"+actTab,  0, 9, Math.round((roloh-254)/2), 250, 180, "none"),
                     new El("t1Img"+actTab,    0, 15, 93, 260, 160, "inline"),
                     new El("t2Img"+actTab,   -1, 15, 63, 260, 45, "inline")];
                     //new El("t3Img"+actTab,   -2, 33, 38, 265, 48, "inline"),
                     //new El("t4Img"+actTab,   -3, 50, 11, 230, 42, "inline")];

        // new hero pops on in smaller format. all other wedges are in place.
        spinUl[2] = [//new El("b4Img"+actTab,    4, 65, roloh-25,  200, 37, "inline"),
                     //new El("b3Img"+actTab,    3, 50, roloh-53,  230, 42, "inline"),
                     new El("b2Img"+actTab,    2, 35, roloh-85,  220, 35, "inline"),
                     new El("b1Img"+actTab,    1, 15, roloh-132, 260, 45, "inline"),
                     new El("heroImg"+actTab,  0, 9, Math.round((roloh-414)/2), 250, 180, "inline"),
                     new El("t1Img"+actTab,   -1, 15, 63, 260, 45, "inline"),
                     new El("t2Img"+actTab,   -2, 35, 25, 220, 35, "inline")];
                     //new El("t3Img"+actTab,   -3, 50, 11, 230, 42, "inline"),
                     //new El("t4Img"+actTab,   -4, 65, -12, 200, 37, "inline")];

        // hero grows in size.
        spinUl[3] = [//new El("b4Img"+actTab,    4, 65, roloh-25,  200, 37, "inline"),
                     //new El("b3Img"+actTab,    3, 50, roloh-53,  230, 42, "inline"),
                     new El("b2Img"+actTab,    2, 35, roloh-85,  220, 35, "inline"),
                     new El("b1Img"+actTab,    1, 15, roloh-132, 260, 45, "inline"),
                     new El("heroImg"+actTab,  0, 9, Math.round((roloh-414)/2), 250, 180, "inline"),
                     new El("t1Img"+actTab,   -1, 15, 63, 260, 45, "inline"),
                     new El("t2Img"+actTab,   -2, 35, 25, 220, 35, "inline")];
                     //new El("t3Img"+actTab,   -3, 50, 11, 230, 42, "inline"),
                     //new El("t4Img"+actTab,   -4, 65, -12, 200, 37, "inline")];

		eval("spinElHash.merge({"+tab+" : spinEl});");
		eval("spinUlHash.merge({"+tab+" : spinUl});");
    }

    function animateSpin() {
		//alert("animateSpin");
		if(!document.getElementById("heroDiv"+actTab))
			return;
        var keyf = 0;
        for (var i=0; i<spinTimes.length-1; i++) {
           if(curFrame >= spinTimes[i] && curFrame <= spinTimes[i+1]) {
               keyf = i;
               break;
           }
        }

        var sEl = "";
        if(spinDir == "down")
			sEl = spinEl;
		else
			sEl = spinUl;

		if(document.getElementById("heroDiv"+actTab)) document.getElementById("heroDiv"+actTab).style.backgroundImage = "url('/vendor/rolodex/Images/trans.gif')";
        if(document.getElementById("altLeftImg"+actTab)) document.getElementById("altLeftImg"+actTab).style.display    = "none";
        if(document.getElementById("altRightImg"+actTab)) document.getElementById("altRightImg"+actTab).style.display   = "none";
        if(document.getElementById("roloDetailImg"+actTab)) document.getElementById("roloDetailImg"+actTab).style.display = "none";
        var tFrac = (curFrame-spinTimes[keyf])/(spinTimes[keyf+1]-spinTimes[keyf]);   // fraction for interpolation
        for (i=0; i< sEl[keyf].length; i++) {
             // interpolate
             // for each element i in sEl[time][i]
                // for each attribute interpolate between [time] and [time+1] based on fraction
             var o = sEl[keyf][i];
             if(curIndex+o.indexOffset >= 0 && curIndex+o.indexOffset < this.homes.length) {
				 //alert(o.id);
                   if(o.id.substring(0,1) == "t")
				   {
					   if(o.id.substring(1,2) == "1")
					   {	//o.obj.src = this.homes[curIndex + o.indexOffset].upperWedgeImg;  // if this is "t1, t2, t3, t4"
						   eval('o.obj.src = this.homes[curIndex + o.indexOffset ].heroImg'+ actTab +';');  // if this is "t1, t2, t3, t4"
					   }
					   else
					   {
						   eval('o.obj.src = this.homes[curIndex + o.indexOffset ].heroImg'+ actTab +';');
							//o.obj.src = this.homes[curIndex + o.indexOffset].upperWedgeImg1;
					   }
				   }
                   if(o.id.substring(0,1) == "b")
				   {
					   if(o.id.substring(1,2) == "1")
					   {
						   eval('o.obj.src = this.homes[curIndex + o.indexOffset ].heroImg'+ actTab +';');
						//	o.obj.src = this.homes[curIndex + o.indexOffset].lowerWedgeImg;
					   }
					   else
					   {
						   eval('o.obj.src = this.homes[curIndex + o.indexOffset ].heroImg'+ actTab +';');
						//	o.obj.src = this.homes[curIndex + o.indexOffset].lowerWedgeImg1;
					   }
				   }
                   eval('if(o.id.substring(0,1) == "h") o.obj.src = this.homes[curIndex + o.indexOffset].heroImg' + actTab + ';');
             } else {
                   if(curIndex+o.indexOffset == this.homes.length) {
                        if(o.id.substring(0,1) == "t") o.obj.src = "/vendor/rolodex/Images/lastUpper.png";
                        if(curIndex+o.indexOffset == searchResults.houseCount) {
                            if(o.id.substring(0,1) == "b") o.obj.src = "/vendor/rolodex/Images/trans.gif";
                        } else {
                            if(o.id.substring(0,1) == "b") {
                                o.obj.src = "/vendor/rolodex/Images/trans.gif";
                                //reqBatch(curIndex+o.indexOffset, recBatch)    /// request the next batch of homes
                            }
                        }
                   } else {
                        if(o.id.substring(0,1) == "t") o.obj.src = "/vendor/rolodex/Images/trans.gif";
                        if(o.id.substring(0,1) == "b") o.obj.src = "/vendor/rolodex/Images/trans.gif";
                   }
             }
             o.obj.style.left = Math.round(o.left + (sEl[keyf+1][i].left - o.left)*tFrac)+"px";
             o.obj.style.top = Math.round(o.top + (sEl[keyf+1][i].top - o.top)*tFrac)+"px";
             o.obj.style.width = Math.round(o.width + (sEl[keyf+1][i].width - o.width)*tFrac)+"px";
             o.obj.style.height = Math.round(o.height + (sEl[keyf+1][i].height - o.height)*tFrac)+"px";
             o.obj.style.display = sEl[keyf][i].display;
             //if(curFrame == spinTimes[keyf+1]) o.obj.style.display = sEl[keyf][i].display; // to avoid roundoff
             if(curFrame == spinTimes[spinTimes.length-1]) {
				 if(document.getElementById("heroDiv"+actTab))
				 {
					 document.getElementById("heroDiv"+actTab).style.backgroundImage = "url('/vendor/rolodex/Images/heroFrame.png')";
					 document.getElementById("heroDiv"+actTab).style.left = "10px";
					 document.getElementById("heroDiv"+actTab).style.top = Math.round((roloh-234)/2)+"px";
				 }
//                 document.getElementById("heroDiv"+actTab).style.width = 280;
 //                document.getElementById("heroDiv"+actTab).style.height= 210;
                 if(!document.getElementById("heroImg"+actTab).src.include("images/listing/noImageThmbBig.jpg"))
				 {
					if(document.getElementById("altLeftImg"+actTab)) document.getElementById("altLeftImg"+actTab).style.display    = "inline";
	                if(document.getElementById("altRightImg"+actTab)) document.getElementById("altRightImg"+actTab).style.display   = "inline";
				 }
                 if(document.getElementById("roloDetailImg"+actTab)) document.getElementById("roloDetailImg"+actTab).style.display = "inline";
             }
        }
        curFrame++;
        if(curFrame <= spinTimes[spinTimes.length-1]) {
            animTimerID = window.setTimeout(animateSpin, dtAnim);
        } else {
            animTimerID = null;
        }
    }

    function findPos(obj) {         // from quirksmode.org   - cross browser
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return {left:curleft, top:curtop};
}

function format1000s(val) {  // add thousands-commas  i.e:  3,104,005.3
	var rtn = "";
	if(isNaN(val)) return val;
	if(val == 0) return val;
	var tmp = to3Digits(val) + "";
	var numD = tmp.indexOf(".");
	if(numD >= 0) rtn = tmp.substring(numD);  // the decimal point and everything to the right
	var sign = "";
	if(val < 0) {
		sign= "-";
		val = -val;
	}
	tmpI = parseInt(Math.floor(val));
	while (tmpI != 0) {
		partI = tmpI % 1000;
		if(tmpI > 999) {
			zeroPad = "";
			if(partI < 10) zeroPad = "0";
			if(partI < 100) zeroPad = zeroPad + "0";
			partI = zeroPad + partI;
			rtn = "," + partI + rtn;
		} else {
			rtn = partI + rtn;
		}
		tmpI = Math.floor(tmpI/1000)
	}
	rtn = sign + rtn;
	return rtn;
}

function to3Digits(num) {  // round to 3 decimal places (used for svg floating point data)
	return Math.round(num*1000)/1000;
}

function getDataRange(tab,d,r) {
    r.bc = new Array();
    r.bc["bedroom"] =  {abbrev:"BD", useStat:true, min:1000000, max: -1000000};
    r.bc["bathroom"] = {abbrev:"BA", useStat:true, min:1000000, max: -1000000};
    r.bc["sqft"] =     {abbrev:"SQ", useStat:true, min:1000000, max: -1000000};
    r.bc["price"] =    {abbrev:"$$", useStat:true, min:100000000, max: -100000000};

    r.houseCount = d.length;
    for (var i=0; i< d.length; i++) {
        if(d[i].price != "") r.bc["price"].min = Math.min(r.bc["price"].min, parseFloat(d[i].price));
        if(d[i].price != "") r.bc["price"].max = Math.max(r.bc["price"].max, parseFloat(d[i].price));

        if(d[i].beds != "" )r.bc["bedroom"].min = Math.min(r.bc["bedroom"].min, d[i].beds);
        if(d[i].beds != "") r.bc["bedroom"].max = Math.max(r.bc["bedroom"].max, d[i].beds);

        if(d[i].baths != "") r.bc["bathroom"].min = Math.min(r.bc["bathroom"].min, d[i].baths);
        if(d[i].baths != "") r.bc["bathroom"].max = Math.max(r.bc["bathroom"].max, d[i].baths);

        if(d[i].squarefeet != "") r.bc["sqft"].min = Math.min(r.bc["sqft"].min, d[i].squarefeet);
        if(d[i].squarefeet != "") r.bc["sqft"].max = Math.max(r.bc["sqft"].max, d[i].squarefeet);
    }

	eval("searchResultsHash.merge({"+tab+" :$H(r.bc)});");

}

/************************************Slide Show Related---Pictures *****************************************/


	var displayWaitMessage_pic=true;	// Display a please wait message while images are loading?
	var activeImage_pic = false;
	var imageGalleryLeftPos_pic = false;
	var imageGalleryWidth_pic = false;
	var imageGalleryObj_pic = false;
	var maxGalleryXPos_pic = false;
	var slideSpeed_pic = 0;
	var imageGalleryCaptions_pic = new Array();
	function startSlide_pic(e)
	{
		slideSpeed_pic = 0;
		if(document.all)e = event;
		var id = this.id;
		if(this.getElementsByTagName('IMG')[0].src.indexOf('Over')<0)
			this.getElementsByTagName('IMG')[0].src = this.getElementsByTagName('IMG')[0].src.replace('.gif','Over.gif');
		if(this.id=='picarrowRight'){
			slideSpeed_pic = -4;
		}else{
			slideSpeed_pic = 6;
		}
	};

	function releaseSlide_pic()
	{
		var id = this.id;

		this.getElementsByTagName('IMG')[0].src = this.getElementsByTagName('IMG')[0].src.replace('Over','')
		slideSpeed_pic=0;
	};
	function fastSlide_pic(event)
	{
		var arrow = Event.element(event).parentNode.id;
		imageGalleryWidth_pic = $('picgalleryContainer').offsetWidth - 80;
		if(arrow.search('Left') != -1)
		{
			var leftPos = imageGalleryObj_pic.offsetLeft;
				leftPos = leftPos + imageGalleryWidth_pic;
			if(leftPos>maxGalleryXPos_pic)
			{
				leftPos = maxGalleryXPos_pic;
			}
			if(leftPos<minGalleryXPos_pic)
			{
				leftPos = minGalleryXPos_pic;
			}

			imageGalleryObj_pic.style.left = leftPos + 'px';
		}
		else
		{

			var leftPos = imageGalleryObj_pic.offsetLeft;
				leftPos = leftPos - imageGalleryWidth_pic;
			if(leftPos>maxGalleryXPos_pic)
			{
				leftPos = maxGalleryXPos_pic;
			}
			if(leftPos<minGalleryXPos_pic)
			{
				leftPos = minGalleryXPos_pic;
			}
			imageGalleryObj_pic.style.left = leftPos + 'px';
		}
	}
	function gallerySlide_pic()
	{

		if(slideSpeed_pic!=0){
			var leftPos = imageGalleryObj_pic.offsetLeft;

			leftPos = eval(leftPos + slideSpeed_pic);

			if(leftPos>maxGalleryXPos_pic){

				leftPos = maxGalleryXPos_pic;
				slideSpeed_pic = 0;
			}
			if(leftPos<minGalleryXPos_pic){
				leftPos = minGalleryXPos_pic;
				slideSpeed_pic=0;
			}

			imageGalleryObj_pic.style.left = leftPos + 'px';
		}
		setTimeout('gallerySlide_pic()',50);

	};

	function initSlideShow_pic()
	{
		if(typeof($('picdivIconCollect')) == "undefined" || $('picdivIconCollect') == null)
		{
			return;
		}

	   var arrAlldiv;
	   var lenAlldiv;
	   arrAlldiv = $('picdivIconCollect').getElementsByTagName('div');
	   lenAlldiv = arrAlldiv.length;
	   var lenAlldivLimit,carrouselDivWdth;
	   if(parseInt($('favRoloDiv').style.width) >= 700)
	   {
			carrouselDivWdth = "570";
			lenAlldivLimit = 16;
	   }
	   else if(parseInt($('favRoloDiv').style.width) >= 600)
	   {
			carrouselDivWdth = "500";
			lenAlldivLimit = 14;
	   }
	   else
	   {
			carrouselDivWdth = "320";
			lenAlldivLimit = 11;
	   }
		 
		 $("carrouselDiv").style.width = carrouselDivWdth+"px";
		 if (lenAlldiv<lenAlldivLimit)
		   {
			   $("picarrowLeftDis").style.display="block";
			   $('picarrowLeft').style.display="none";
			   $('picarrowRightDis').style.display="block";
			   $('picarrowRight').style.display="none";
			   $('picdivIconCollect').style.width= carrouselDivWdth+"px";
		   }
		   else
		   {
			   $('picdivIconCollect').style.width="auto";
			   $("picarrowLeftDis").style.display="none";
			   $('picarrowLeft').style.display="block";
			   $('picarrowRightDis').style.display="none";
			   $('picarrowRight').style.display="block";
		   }

		if($('picarrowLeft')&& $('picarrowRight'))
		{
			$('picarrowLeft').onmousemove = startSlide_pic;
			$('picarrowLeft').onmouseout = releaseSlide_pic;
			$('picarrowRight').onmousemove = startSlide_pic;
			$('picarrowRight').onmouseout = releaseSlide_pic;

			Event.observe($('picarrowLeft'), 'click', function(event) {
				fastSlide_pic(event);
			});
			Event.observe($('picarrowRight'), 'click', function(event) {
				fastSlide_pic(event);
			});
		}
		imageGalleryObj_pic = $('pictheImages');
		imageGalleryLeftPos_pic = imageGalleryObj_pic.offsetLeft;
		imageGalleryWidth_pic = $('picgalleryContainer').offsetWidth -25;
		maxGalleryXPos_pic = imageGalleryObj_pic.offsetLeft;
		sildeEnd = $('picslideEnd');
		minGalleryXPos_pic = imageGalleryWidth_pic - sildeEnd.offsetLeft;

		//alert("GalleryWidth :: "+imageGalleryWidth_pic+" min :: "+minGalleryXPos_pic+" max :: "+maxGalleryXPos_pic+" sildeEnd :: "+sildeEnd.offsetLeft);
		if(isIE)
		{
			minGalleryXPos_pic = imageGalleryWidth_pic - $('picslideEnd').offsetLeft ;
			maxGalleryXPos_pic = imageGalleryObj_pic.offsetLeft;
			//minGalleryXPos_pic += 1550;
		}

		gallerySlide_pic();
	};

/***********************************************End Slide Show*********************************/

function getImages(dataArr)
{
	//if(powerSearch == 1 && enablePowerSearch == 1 && uRole == "EA")
	//{
		if(typeof(chkPSAr) != "undefined" && chkPSAr != "")
		{
			for (j=0;j<chkPSAr.length ;j++ )
			{
				chkPSAr[j] = null;
			}
			chkPSAr = chkPSAr.compact();
		}
	//}	

	if(typeof($('favRoloDiv')) == "undefined" || $('favRoloDiv') == null)
	{
		return;
	}

	 var strHtml = new StringBuffer();
	 if(parseInt($('favRoloDiv').style.width) >= 700)
	 {
		 var pgHgt = "570px";
		 $("carrouselDiv").style.width = "500px";
	 }
	 else if(parseInt($('favRoloDiv').style.width) >= 600)
	 {
		 var pgHgt = "500px";
		 $("carrouselDiv").style.width = "440px";
	 }
	 else
	 {
		  var pgHgt = "318px";
		  $("carrouselDiv").style.width = "318px";
	 }

	strHtml.append('<div id="pictoggleDiv" style="padding:0px;">');
		strHtml.append('<div id="picdhtmlgoodies_slideshow" style="padding:0px;">');
			strHtml.append('<div id="picgalleryContainer" style="padding:0px;">');
				strHtml.append('<div id="picgalleryC" style="width:'+pgHgt+';*width:'+pgHgt+';height:80px; padding:0px;">');
					strHtml.append('<div id="picarrowLeft" style="display:inline;padding:0px;"><img src="/vendor/rolodex/Images/arrow_left.gif" alt="" /></div><div id="picarrowRight" style="display:inline;z-index:1000;padding:0px;"><img src="/vendor/rolodex/Images/arrow_right.gif" alt="" /></div>');
						strHtml.append('<div id="picarrowLeftDis" style="padding:0px;"><img src="/vendor/rolodex/Images/arrow_left_d.gif" alt="" /></div><div id="picarrowRightDis"><img src="/vendor/rolodex/Images/arrow_right_d.gif" alt="" /></div>');
							strHtml.append('<div id="pictheImages" style="height:80px;padding-left:0px;position:relative;*position:absolute;display:inline;float:left;">');
								strHtml.append('<div id="picdivIconCollect" style="height:80px;position:relative;display:inline;float:left;padding-top:5px;padding-left:5px;padding-right:0px;padding-bottom:0px;background-image:url(/vendor/rolodex/Images/middlebg.gif);background-repeat:repeat-x;">');

								if(typeof(dataArr) == "undefined" || dataArr == "")
								{
									//DO NOTHING
								}
								else
								{
									var mlsKeys = Object.keys(dataArr);									
									for(var i=0;i<mlsKeys.length;i++)
									{	
										setFavoriteIcon(mlsKeys[i],"sel");//function for powersearch to change favorite icon(added by saloni)
										//for powersearch favorites
										//if(powerSearch == 1 && enablePowerSearch == 1 && uRole == "EA")
										//{
											var fullAddress = escape(dataArr[mlsKeys[i]].address)+"_"+escape(dataArr[mlsKeys[i]].city)+"_"+dataArr[mlsKeys[i]].state+"_"+dataArr[mlsKeys[i]].zip;
											var tp = dataArr[mlsKeys[i]].tid+':::'+fullAddress+':::'+dataArr[mlsKeys[i]].status+':::'+dataArr[mlsKeys[i]].mlsno;
											if(typeof(chkPSAr) != "undefined" && chkPSAr.in_array(tp) === false)
												chkPSAr[chkPSAr.length] = tp;											
										//}
										//----------------------------------

										var homesiteUrl = dataArr[mlsKeys[i]].link;
										var image = dataArr[mlsKeys[i]].photoUrl;										

										var printUrl = '/brokerAdmin/printProperty.php?id='+mlsKeys[i];

										var qs = new Querystring();
										if(powerSearch == 1 && enablePowerSearch == 1 && (uRole == "EA" || uRole == "A"))
											printUrl += '&ps=1&aid='+uid;
										else if(qs.get("frm") && qs.get("aid"))
											printUrl += '&aid='+qs.get("aid");
										
										strHtml.append('<div id="picdivImg_'+i+'" style="width:65px;height:65px;position:static;display:inline;float:left;padding-left:0px;background-image:url(/vendor/rolodex/Images/bg.gif);background-repeat:no-repeat;">');
											strHtml.append('<table cellpadding="0" cellspacing="0">');
												strHtml.append('<tr>');
													//window.open(\''+printUrl+'\');
													//<img style="padding:0px;cursor:pointer;*cursor:hand" src="/vendor/rolodex/Images/print.gif" onclick="javascript:alert(\'Coming Soon\');" title="Click to print this Property"/>
													strHtml.append('<td align="right" style="padding-top:2px;padding-right:2px;">&nbsp;&nbsp;&nbsp;<img style="padding:0px;cursor:pointer;*cursor:hand" src="/vendor/rolodex/Images/email.gif" onclick="sendMailOfPowerProperty(\''+mlsKeys[i]+'\');" title="Click to Email this Property"/>&nbsp;&nbsp;<img style="padding:0px;cursor:pointer;*cursor:hand" src="/vendor/rolodex/Images/close.gif" onclick="delSaved(\''+mlsKeys[i]+'\');" title="Click to remove Property Photo"/></td>');
												strHtml.append('</tr>');
												strHtml.append('<tr>');
													strHtml.append('<td align="center" style="padding-top:2px;*padding-left:2px;"><a href="'+homesiteUrl+'" target="_blank" style="border:0px;"><img id="picimg_'+i+'" height="44px" width="59px" src="'+image+'" style="padding:0px;height:44px;width:59px;border:0px solid #C5C5C5" onmouseover="showPropInfo(event,\''+dataArr[mlsKeys[i]].price+'\',\''+dataArr[mlsKeys[i]].beds+'\',\''+dataArr[mlsKeys[i]].baths+'\',\''+escape(dataArr[mlsKeys[i]].address)+'\');" onmouseout="hideTooltip()"/></a></td>');
												strHtml.append('</tr>');
											strHtml.append('</table>');
										strHtml.append('</div><div style="width:3px;position:static;display:inline;float:left;padding-left:0px;">&nbsp;</div>');

									}									

									if($("chkHeaderCheckAll"))
									{		
										if(typeof(mapData) != "undefined")
										{
											var mapDataLen = mapData.length;
											var selCount = 0;

											for(var i=0; i<mapDataLen; i++)
											{
												if(mapData[i].tid && mlsKeys.indexOf(mapData[i].tid) >= 0)
												{
													selCount++;
												}				
											}
											//alert("selCount : "+selCount+"   mapDataLen : "+mapDataLen);
											
											if(selCount == mapDataLen)
											{												
												$("chkHeaderCheckAll").checked=true;
											}
											else
											{											
												$("chkHeaderCheckAll").checked=false;											
											}
										}
									}
								}
								strHtml.append('<div id="picslideEnd" style="position:static;display:inline;float:left"></div>');

								strHtml.append('</div>');
							strHtml.append('</div>');
						strHtml.append('</div>');
					strHtml.append('</div>');
				strHtml.append('</div>');
			strHtml.append('</div>');
		strHtml.append('</div>');
	
	$("roloCar").innerHTML = strHtml.toString();
}

function setHeader()
{
	var url = "/app/listing/resetHeader.php";
	var qs = "";		
	var qs1 = new Querystring();
	if(qs1.get("ps") != null && qs1.get("frm") != null && qs1.get("aid") != null)
		qs = qs + "ps=1&frm=agt&aid="+qs1.get("aid");
	else if(qs1.get("frm") != null && qs1.get("aid") != null)
		qs = qs + "frm=agt&aid="+qs1.get("aid");	
	qs = qs + "&page=resetheader";
	ajaxRequest(url,qs,
	responseLogin = function(originalRequest)
	{
		var response = originalRequest.responseText;	
		$("headerLinkSection").innerHTML = response;
		var stags = $("headerLinkSection").getElementsByTagName("script");
		for(i=0;i<stags.length;i++)
		{				
			eval(stags[i].innerHTML);
		}
	});

	var propAlertPage="";
	var qs1 = new Querystring();
	if (qs1.get("frm") == "agt")
	{
		propAlertPage = "/app/mlsPropertyAlert/mlsPropertyAlert.php?frm=agt&aid" + qs1.get("aid");
	}
	else
	{
		propAlertPage = "/app/mlsPropertyAlert/mlsPropertyAlert.php";
	}
	if($("emailAlerts")) $("emailAlerts").href = "javascript:setMapArea('"+propAlertPage+"');";
	//setMapArea(propAlertPage);
}
function setVtooltip(cNode)
{
	var lprice = (cNode.price==0)? " - " : num2moneyWrapper(cNode.price);
	var beds = (cNode.beds==0)? " - " : cNode.beds;
	var baths = (cNode.baths==0)? " - " : cNode.baths;

	document.getElementById("vertTooltipDiv"+actTab).style.top = parseInt($("vertHandleDiv"+actTab).style.top)+"px";
	document.getElementById("vertTooltipDiv"+actTab).style.display = "inline";
	document.getElementById("vertTooltipDiv"+actTab).innerHTML = "<span class='roloLblHd'>"+ lprice +"</span><br><span class='roloLblHd'> "+beds+" Br / "+baths+" Ba</span>";
}
function showPropInfo(e,lprice,beds,baths,plocation)
{
	if(beds == "0") beds = "-";
	if(baths == "0") baths = "-";

	var finalPrice = num2moneyWrapper(lprice);
	if(lprice.include("-") || lprice.include("more than"))
		finalPrice = lprice;
	
	var tipStr = "<span><b>"+ unescape(plocation).replace(/__/g,"#") +"  ("+ finalPrice +")  "+beds+" Br / "+baths+" Ba</b></span>";
	showTooltip(tipStr,e,220)
}

function selectAllComp(val)
{
	var dv = "";
	if($("comparePropList1") != null)
		dv = "comparePropList1";
	else
		dv = "comparePropList";

		var children = document.getElementById(dv).getElementsByTagName('*');
		for(i=0;i<children.length;i++)
		{
			var e = children[i];
			if(e.type=='checkbox') 
			{
				if(val)	
					e.checked = true;
				else
					e.checked = false;
			}
		}	
}
function deSelectAll(val)
{
	var dv = "";
	if($("comparePropList1") != null)
		dv = "comparePropList1";
	else
		dv = "comparePropList";

	if(!val)
		$('chk_all').checked = false;
	else
	{
		var cnt1 = 0;
		var cnt2 = 0; 
		var children = document.getElementById(dv).getElementsByTagName('*');
		for(i=0;i<children.length;i++)
		{
			var e = children[i];
			if(e.type=='checkbox') 
			{
				cnt1++;
				if(e.checked )	
					cnt2++;
			}
		}
		cnt1--;
		if(cnt1 == cnt2)
			$('chk_all').checked = true;
		else
			$('chk_all').checked = false;
	}
}
function loadCompareDiv()
{
	
	if($("divSaveSearch")) {$("divSaveSearch").style.display = "none";}
	//if($("powerAdvSearch")) {$("powerAdvSearch").style.display = "none";}
	if($("prpStat")) {$("prpStat").style.display = "none";}
	if($("divEmailSaveSearch")) {$("divEmailSaveSearch").style.display = "none";}
	//if($("trSaleDate")) {$("trSaleDate").style.display = "none";}
	if($("divAutoComp")) {$("divAutoComp").style.display = "none";}
	if($('RSshPopupDesc')) { $('RSshPopupDesc').style.display='none'; }
	if($('divRSType')) { $('divRSType').style.display='none'; }
	if($('prpTyp')) { $('prpTyp').style.display='none'; }
	if($('localSearchTxt') && $('divLocalSearch')) {$('divLocalSearch').style.display='none';}
	if($('mySavedSrchTxt') && $('divMySavedSrch')) {$('divMySavedSrch').style.display='none';}
	if($("divMultiCity")) $("divMultiCity").style.display = "none";

    if($("picdivImg_0") && $("picdivImg_1"))
    {
    
        compareDlg = createDialog('comparePropDiv');
        var url = "/app/listing/favourite.php";
		var qs = "op=get";
		
		if(typeof(powerSearch) != "undefined" && powerSearch == "1")
			qs += "&power=1";

		ajaxRequest(url,qs,function(reqobj){
			var varResponse = trim(reqobj.responseText);
			var myData;
			if(varResponse == "")
				varResponse="[]";
				
				myData = eval('('+varResponse+')');
		
				var mlsKeys = Object.keys(myData);
                var str = new StringBuffer();               
				str.append("<form name='frmAgtReport' id='frmAgtReport' method='post' action='/brokerAdmin/printProperty.php' target='_blank'>");
				str.append("<input type='hidden' name='ps' id='ps' value='0'>");
				str.append("<input type='hidden' name='show_feature' id='show_feature' value='0'>");
				str.append("<input type='hidden' name='aid' id='aid' value='"+$F('aidChk')+"'>");
				str.append("<input type='hidden' name='prp' id='prp' value=''>");
				str.append("<input type='hidden' name='exRespType' id='exRespType' value='JSONEXCEL'>");
				str.append("<input type='hidden' name='exlat' id='exlat1' value=''>");
				str.append("<input type='hidden' name='exlong' id='exlong1' value=''>");
				str.append("<table>");

				if(mlsKeys.length > 1)
				{
					str.append("<tr>");
                    str.append("<td style='BORDER-BOTTOM: #b1b9ce 1px solid;padding-bottom: 2px;' width='97px' align='center' style='width:97px;*width:96px;'><input id='chk_all' type='checkbox' value='chk_all' onclick='selectAllComp(this.checked);'/></td>");
                    str.append("<td style='BORDER-BOTTOM: #b1b9ce 1px solid;padding-bottom: 2px;' width='200px'><span style='font-size:12px;'> Select All </span></td>");
					
                    if(powerSearch == 1 && enablePowerSearch == 1 && (uRole == "EA" || uRole == "A"))
					{
						//str.append("<td style='BORDER-BOTTOM: #b1b9ce 1px solid;' align='right' width='500px'><img src='/vendor/rolodex/Images/coversheet.gif' onmouseover='this.src=\"/vendor/rolodex/Images/coversheet_Over.gif\"' onmouseout='this.src=\"/vendor/rolodex/Images/coversheet.gif\"' onmousedown='this.src=\"/vendor/rolodex/Images/coversheet_Down.gif\"' style='cursor:pointer;*cursor:hand;' onclick='javascript:getReport(4);'/>   <img src='/vendor/rolodex/Images/exportExcel_small.gif' onmouseover='this.src=\"/vendor/rolodex/Images/exportExcel_smallOver.gif\"' onmouseout='this.src=\"/vendor/rolodex/Images/exportExcel_small.gif\"' onmousedown='this.src=\"/vendor/rolodex/Images/exportExcel_smallDown.gif\"' style='cursor:pointer;*cursor:hand;' onclick='javascript:exportToExcel();'/></td>");
						str.append("<td style='BORDER-BOTTOM: #b1b9ce 1px solid;padding-bottom: 2px;' align='right' width='300px'>");
							str.append("<span class='captionSHPopup lang'>Report&nbsp;</span><select name='cmbRptTypePower' id='cmbRptTypePower' style='width:200px;' class='textboxSH'>");
								str.append("<option value=''>Select</option>");								
								str.append("<option value='1'>Summary</option>");
							   /*str.append("<option value='2'>Agent Full Report</option>");
								str.append("<option value='3'>Agent Short Report</option>");
								str.append("<option value='4'>Client Full Report</option>");
								str.append("<option value='5'>Client Short Report</option>");
							   */
								str.append("<option value='6'>Cover Sheet</option>");
								str.append("<option value='7'>Export to Excel</option>");
								str.append("<option value='8'>Comparables Market Average</option>");
							str.append("</select>&nbsp;&nbsp;<div style='display: inline; position: relative;vertical-align:middle;'><img onclick='javascript:loadRptTypeFromCombo();' src=\"/wt/"+bkTheme+"/images/dialogueBox/go_small.gif\" style=\"cursor: pointer;position:relative;top:1px;\"/></div>");
						str.append("</td>");
					}
					else
						str.append("<td style='BORDER-BOTTOM: #b1b9ce 1px solid;' align='right' width='300px'>&nbsp;</td>");

                    str.append("</tr><tr><td colspan='3'><div style='overflow: auto; height: 278px;*height: 270px;'><table>");
				}
				
                for(var i=0;i<mlsKeys.length;i++)
                {
                    var tid = mlsKeys[i];
					var tidArr = tid.split("-");
					var finalTid = tidArr[0];
					if (tidArr.length == 2)
						finalTid += "-" + tidArr[1];
					else if (tidArr.length == 3)
						finalTid += "-" + tidArr[2];
					tid = finalTid;
					var homesiteUrl = myData[mlsKeys[i]].link;
                    var image = myData[mlsKeys[i]].photoUrl;
                    var price = myData[mlsKeys[i]].price;
					if(!price.include("-"))
						price = num2moneyWrapper(price);
					var st = myData[mlsKeys[i]].status;
                    var beds = myData[mlsKeys[i]].beds;
					if(beds == "0") beds = "-";
                    var baths = myData[mlsKeys[i]].baths;
					if(baths == "0") baths = "-";
                    var addr = myData[mlsKeys[i]].address+", "+myData[mlsKeys[i]].city+", "+myData[mlsKeys[i]].state+", "+myData[mlsKeys[i]].zip;
					if(addr.indexOf(",") == 0)
						addr = addr.substr(1,addr.length);
                    str.append("<tr>");
                    str.append("<td style='BORDER-BOTTOM: #b1b9ce 1px solid;' width='100px' align='center'><input id='"+tid+"' type='checkbox' value='"+tid+":::"+addr+"' name='id[]' onclick='deSelectAll(this.checked);'/></td>");
                    str.append("<td style='BORDER-BOTTOM: #b1b9ce 1px solid;' width='130px'><img src='"+image+"' height='60px' width='75px'/></td>");
                    str.append("<td style='BORDER-BOTTOM: #b1b9ce 1px solid;' width='370px'><span class='listAddress'>"+addr+"<br/>"+st+"</span><br><span class='listPrice'>"+price+"</span><br><span class='srTdSmall'>"+beds+" Br / "+baths+" Ba</span></td>");
                    str.append("</tr>");
                }
                str.append("</table></div></td></tr></table></form>");
                if($("comparePropList1") != null)
					$("comparePropList1").innerHTML = str;
				else
					$("comparePropList").innerHTML = str;

                $("comparePropDiv").style.display = "";
				$("comparePropDiv").parentNode.style.zIndex = 15;
				$("comparePropDiv_mask").style.zIndex = 14;
				//$("powerLinkDiv").style.display = "none";
				if($("txtPowerLinkEmail")) $("txtPowerLinkEmail").value = "";
                compareDlg.show();
        });
    }
    else
    {
        alert("Please add atleast 2 properties to compare");
    }

}
function showMultiDirections()
{
        var geoUrl = "/classes/getCSZ.php";
		var geoQueryString = "csz="+$('cszDir').value + "&address=" + $('streetDir').value;
		if(trim($('cszDir').value)!= "")
		{
			if ((trim($('cszDir').value).length) > 25)
			{
				$('errMsgA').innerHTML='Please Enter City or Zip with max 25 characters.';
				$('cszDir').className  = 'textboxRed';
				$('cszDir').focus();
				return false;
			}
			ajaxRequest(geoUrl,geoQueryString,cfgeoCode,false);
		}
		else
		{
			$('errMsgA').innerHTML='Please Enter City or Zip.';
			$('cszDir').className  = 'textboxRed';
			$('cszDir').focus();
			return false;
		}

	if(errAddress == '')
		return true;
	else
		return false;
}
var cfgeoCode = function(geoResponse)
{
	var geoArr = eval('('+trim(geoResponse.responseText)+')');
	var geoStatus = geoArr[0].status;
	if(geoStatus!=0)
	{
		geoCity = "";
		geoState = "";
		geoZip = "";
		latitude="";
		longitude="";
		$('errMsgA').innerHTML='Sorry, We couldn\'t find a location for "' + geoArr[0].originaladdress + '"';
		$('cszDir').className  = 'textboxRed';
		$('cszDir').focus();
		errAddress = 1;
		return false;
	}
	else
	{
		errAddress = '';
		geoAddress = geoArr[0].address;
       	geoCity = geoArr[0].city;
	    geoState = geoArr[0].state;
		geoZip = geoArr[0].zip;
		latitude=geoArr[0].latitude;
		longitude=geoArr[0].longitude;

		if(geoCity=="" && geoZip=="")
		{
			$('errMsgA').innerHTML='Please specify City or Zip';
			return false;
		}
		else
		{
		    $('cszDir').value = geoCity + "," +geoState+ " " + geoZip ;
			//cityCheckPower();
		}
	}
    getDirDlg.hide();
/******   Redirecting to google map directions page ******/
	var furl = "/app/listing/favourite.php";
        var qs = "op=get";
	if(typeof(powerSearch) != "undefined" && powerSearch == "1")
		qs += "&power=1";
	var dataArr;
        ajaxRequest(furl,qs.toString(),function(reqobj){
                var varResponse = trim(reqobj.responseText);
                if(varResponse == "")
                        varResponse="[]";
        	dataArr = eval('('+varResponse+')');
		//var dataArr = eval('(<?php echo $_SESSION['favJson']; ?>)');
			var mlsKeys = Object.keys(dataArr);
			var url = "http://maps.google.com/maps?f=d&hl=en";
			if(trim(geoAddress) != "")
				var from = "&saddr="+geoAddress+", "+geoCity+", "+geoState+" "+geoZip;
                       	else
				var from = "&saddr="+geoCity+", "+geoState+" "+geoZip;

			var j=0;
                        while(j<mlsKeys.length)
                        {
                            	if (j==24)
                                	break;
				if(j==0)
					to = "&daddr="+escape(dataArr[mlsKeys[j]].address)+" "+dataArr[mlsKeys[j]].city+"@"+dataArr[mlsKeys[j]].lat+","+dataArr[mlsKeys[j]].lng;
				else
					to += " to:"+escape(dataArr[mlsKeys[j]].address)+" "+dataArr[mlsKeys[j]].city+"@"+dataArr[mlsKeys[j]].lat+","+dataArr[mlsKeys[j]].lng;
				j++;
                        }
	window.open(url+from+to);
	});
/*********************************************************/
  //  window.open('getDirections.php?from='+latitude+','+longitude);
}
function getComparables()
{
	var dv = "";
	if($("comparePropList1") != null)
		dv = "comparePropList1";
	else
		dv = "comparePropList";
    var checkArr = chooseChecked(dv,true);
	
    if(checkArr=='' || checkArr==null || checkArr.length < 2)
    {
        alert('Please select atleast 2 properties to compare');
        return;
    }
    else if(checkArr.length > 4)
    {
		if(checkArr.include("chk_all"))
		{
			if((checkArr.length - 1) > 4)
			{
				alert('Maximum 4 properties can be compared');
				return;
			}
		}
		else
		{
			alert('Maximum 4 properties can be compared');
	        return;
		}
    }
    
    $('selectedChk').value = checkArr;
    var myQs = new Querystring();
	var ps = myQs.get("ps");
    if(ps == null) ps = "";
    document.frmMoreActions.action = '/brokerAdmin/comparables.php?ps='+ps;
    //compareDlg.hide();
    document.frmMoreActions.submit();
}

function getStartingPoint()
{
	if($("divSaveSearch")) {$("divSaveSearch").style.display = "none";}
	//if($("powerAdvSearch")) {$("powerAdvSearch").style.display = "none";}
	if($("prpStat")) {$("prpStat").style.display = "none";}
	if($("divEmailSaveSearch")) {$("divEmailSaveSearch").style.display = "none";}
	if($("trSaleDate")) {$("trSaleDate").style.display = "none";}
	if($("divAutoComp")) {$("divAutoComp").style.display = "none";}
	if($('RSshPopupDesc')) { $('RSshPopupDesc').style.display='none'; }
	if($('divRSType')) { $('divRSType').style.display='none'; }
	if($('prpTyp')) { $('prpTyp').style.display='none'; }
	if($('localSearchTxt') && $('divLocalSearch')) {$('divLocalSearch').style.display='none';}
	if($('mySavedSrchTxt') && $('divMySavedSrch')) {$('divMySavedSrch').style.display='none';}
	if($("divMultiCity")) $("divMultiCity").style.display = "none";

    if($("picdivImg_0") && $("picdivImg_1"))
    {
        getDirDlg = createDialog('startingLocDiv');
        $("startingLocDiv").style.display="block";
		$("errMsgA").innerHTML = "";
		$("cszDir").className = "textbox";
		$("cszDir").value = "";
		$("streetDir").value = "";
        getDirDlg.show();

		if($('startingLocDiv_c')) $('startingLocDiv_c').style.zIndex='11';
		if($('startingLocDiv_mask')) $('startingLocDiv_mask').style.zIndex='10';
		if($('startingLocDiv')) $('startingLocDiv').parentNode.style.zIndex = 12;
    }
    else
        alert("Please add atleast 2 properties to get directions");

}

function clearAllFav()
{
	unsetAllFavoriteIncon();
	var url = "/app/listing/favourite.php";
	var qs = "op=reset";
	if(typeof(powerSearch) != "undefined" && powerSearch == "1")
			qs += "&power=1";
	ajaxRequest(url,qs,function(reqobj){
		if(trim(reqobj.responseText) == "1")
		{			
			getImages();
			initSlideShow_pic();
		}
	},false);	
	if($("chkHeaderCheckAll")) $("chkHeaderCheckAll").checked = false;
}

function getReport(type)
{
    var checkArr = chooseChecked('comparePropList1',true);

    if(checkArr=='' || checkArr==null || checkArr.length < 1)
    {
        alert('Please select atleast 1 property');
        return;
    }    
    
    if(type == 1 || type == 5)
	{
		$('selectedChk').value = checkArr;		
		document.frmMoreActions.action = '/brokerAdmin/getReport.php?type='+type;
		//compareDlg.hide();
		document.frmMoreActions.submit();
	}
	
	if(type == 2)
	{
		if($("txtPowerLinkEmail").value == "")
			alert("Please enter email address.");
		else if(!emailIsValid('txtPowerLinkEmail'))
			alert("Please enter valid email address.");
		else
		{
			var url = "/brokerAdmin/getReport.php";
			var qs = "type="+type+"&selectedChk="+escape(checkArr)+"&aidChk="+$("aidChk").value+"&psChk="+$("psChk").value+"&email="+escape(trim($("txtPowerLinkEmail").value));
			ajaxRequest(url,qs,function(reqobj){
				if(trim(reqobj.responseText) == "1")
				{
					alert("Mail sent successfully.");
					$("txtPowerLinkEmail").value = "";
					//compareDlg.hide();
				}
			},false);
		}
	}
	if(type == 4)
	{
		if(checkArr.length > 26)
		{
			alert('You can select maximum 26 properties');
	        return;
		}
		$('selectedChk').value = checkArr;
		document.frmMoreActions.action = '/brokerAdmin/getReport.php?type='+type;
		//compareDlg.hide();
		document.frmMoreActions.submit();
	}
	switch(type)
	{
		case 'AF':		
					$('ps').value = '1';
					$('show_feature').value = '1';
					$('frmAgtReport').submit();
					break;				
		case 'AS':
					$('ps').value = '1';
					$('show_feature').value = '0'; 
					$('frmAgtReport').submit();
					break;
		case 'CF':
					$('ps').value = '0';
					$('show_feature').value = '1'; 
					$('frmAgtReport').submit();
					break;
		case 'CS':
					$('ps').value = '0';
					$('show_feature').value = '0'; 
					$('frmAgtReport').submit();
					break;
	}
}

function showMultiFavDelDlg(index,gid)
{
	if(typeof(multiFavDelDlg) == 'string')
		multiFavDelDlg = createDialog('multiGrpFavDiv');

	var url = "/app/listing/favourite.php";
	var qs = "op=getFavGrpById&gid="+gid;
	if(typeof(powerSearch) != "undefined" && powerSearch == "1")
		qs += "&power=1";
	ajaxRequest(url,qs,function(reqobj){
		var res = trim(reqobj.responseText);	
		
		if(res != "")
		{
			$("delIndex").value = index;
			var myData = eval('('+res+')');			
			var inrHtml = "<table width='100%' cellpadding='0' cellspacing='0'>";
			inrHtml += "<tr><td width='7%'><input type='checkbox' id='G_all' value=\""+gid+"\" onclick='javascript:selectAllFavGrp(\"DG\");'/></td> <td class='contentSHPopup lang' width='93%'>All</td></tr>";
			for(var i=0;i<myData.length;i++)
			{
				inrHtml += "<tr><td width='7%'><input type='checkbox' id=\"G_"+myData[i].G_ID+"\" value=\""+myData[i].G_ID+"\" onclick='javascript:uncheckSelFavGrp(this,\"DG\");'/></td> <td class='contentSHPopup lang' width='93%'>"+myData[i].G_NAME+"</td></tr>";
			}
			inrHtml += "</table>";
			$("multiGrpFavList").innerHTML = inrHtml;
		}
		else
		{
			var inrHtml = "<table width='100%' cellpadding='0' cellspacing='0'>";
			inrHtml += "<tr><td width='100%'>No groups available.</td></tr>";
			inrHtml += "</table>";
			$("multiGrpFavList").innerHTML = inrHtml;
		}
	},false);

	$("multiGrpFavDiv").style.display = "";
	multiFavDelDlg.show();	
}

function delFavFromSelectedGrp()
{
	var delIndex = $("delIndex").value;
	var checkArr = chooseChecked('multiGrpFavList',true);

    if(checkArr=='' || checkArr==null || checkArr.length == 0)
    {
        alert('Please select atleast 1 group.');
        return;
    }
	else
	{
		delFav(delIndex,checkArr,"1");
		$("delIndex").value = "";
		multiFavDelDlg.hide();
	}
}

function exportToExcel()
{
	var checkArr = chooseChecked('comparePropList1',true);

	if(checkArr=='' || checkArr==null || checkArr.length == 0)
    {
        alert('Please select atleast 1 property to export.');
        return;
    }
	else
	{
		var srchPrp = "";
		for(var i=0;i<checkArr.length;i++)
		{
			if(checkArr[i] == "chk_all")
				continue;
			else
				srchPrp += checkArr[i].split(":::")[0]+","; 
		}

		if(srchPrp != "")
			srchPrp = srchPrp.substr(0,srchPrp.length-1);		
		if(getCookie("latLongCk"))
		{
			var latLong = eval(getCookie("latLongCk"))[0];
			$("exlat1").value = latLong.lat;
			$("exlong1").value = latLong.lng;
		}
		$("prp").value = srchPrp;
			

		$("frmAgtReport").action = "/brokerAdmin/powerSearchExport.php";
		$("frmAgtReport").submit();
		$("frmAgtReport").action = "/brokerAdmin/printProperty.php";
	}
}

/*Function for enable favorite icon*/
function setFavoriteIcon(index,from)
{
	if($("imgF-"+index))
	{
		if(from == "sel")
		{
			//Select checkbox
			$('achFR-'+index).show();
			$('achF-'+index).hide();
			$("imgF-"+index).src = $("imgF-"+index).src.replace("_desel","_sel");

		}
		else if(from == "desel")
		{
			//Deselect checkbox
			$('achFR-'+index).hide();
			$('achF-'+index).show();
			$("imgF1-"+index).src = $("imgF-"+index).src.replace("_sel","_desel");
		}
	}
	if($("fs-"+index))
	{
		if(from == "sel")
		{
			//Select checkbox
			//$("fs-"+index).innerHTML = "Added To favorites";
			$("fs1-"+index).style.display='';
			$("fs-"+index).style.display='none';

		}
		else if(from == "desel")
		{
			//Deselect checkbox
			//$("fs-"+index).innerHTML = "Add To favorites";
			$("fs1-"+index).style.display='none';
			$("fs-"+index).style.display='';
		}
	}
}

/*Function to unset Favorite icon*/
function unsetAllFavoriteIncon()
{
	var parentDiv = $("proListingDiv");
	if(parentDiv)
	{
		if(initPower)
		{
			var iconArr = $A(parentDiv.getElementsByTagName("a"));
			for(var i=0; i<iconArr.length; i++)
			{
				var nodeid = iconArr[i].id;
				if(nodeid != "" && nodeid.indexOf("achFR-")!= -1)
				{
					if($(nodeid))
					{
						$(nodeid).hide();
					}
				}
				if(nodeid != "" && nodeid.indexOf("achF-")!= -1)
				{
					if($(nodeid))
					{
						$(nodeid).show();
					}
				}
			}
		}
		
		var iconArr = $A(parentDiv.getElementsByTagName("a"));
		for(var i=0; i<iconArr.length; i++)
		{
			var nodeid = iconArr[i].id;
			if(nodeid != "" && nodeid.indexOf("fs-")!= -1)
			{	
				if($(nodeid))
				{
					$(nodeid).show();				
				}
			}
			if(nodeid != "" && nodeid.indexOf("fs1-")!= -1)
			{	
				if($(nodeid))
				{
					$(nodeid).hide();					
				}
			}
		}
		
	}
}

function loadRptTypeFromCombo()
{
	var index = $F("cmbRptTypePower");
	if (index == "")
	{
		alert("Please select any report type.");
		return;
	}

	switch(index)
	{
		case "1":		
				getReport(1);
				break;				
		case "2":
				getReport('AF');
				break;
		case "3":
				getReport('AS');
				break;
		case "4":
				getReport('CF');
				break;
		case "5":		
				getReport('CS');
				break;				
		case "6":
				getReport(4);
				break;
		case "7":
				exportToExcel();
				break;
		case "8":
				getReport(5);
				break;
	}
}


/*polygonMap1.js*/

var IE = document.all ? true : false;

var startMarker = null;
var endMarker = null;
var routePoints = new Array();
var routeOverlays = new Array();
var polyClose = null;
var minimap;
var ovmap;
var totalDistance = 0.0;
var opacity = 0.4;
var polyRouteArr = new Array();
var baseIcon;
var tmpBound;
var cRight;
var copyright;
//var NormalLayer = G_NORMAL_MAP.getTileLayers()[0]
//var SatelliteLayer = G_SATELLITE_MAP.getTileLayers()[0]
//var satProj = G_SATELLITE_MAP.getProjection();	
//var normalProj = G_NORMAL_MAP.getProjection();	

var customMaps = new Array();
var pointswitch = false;
var polyline=null;

function loadPolyMap() 
{	
	baseIcon = new GIcon();
	tmpBound = new GLatLngBounds();
	baseIcon.iconSize=new GSize(32,32);
	baseIcon.shadowSize=new GSize(56,32);
	baseIcon.iconAnchor=new GPoint(16,32);
	baseIcon.infoWindowAnchor=new GPoint(16,0);

	cRight = new GCopyrightCollection('Marcelo');
	copyright = new GCopyright(1, new GLatLngBounds(new GLatLng(-90, -180), new GLatLng(90, 180)), 0, "Marcelo©2006");
	cRight.addCopyright(copyright);	
	NormalLayer = G_NORMAL_MAP.getTileLayers()[0]
	SatelliteLayer = G_SATELLITE_MAP.getTileLayers()[0]
	satProj = G_SATELLITE_MAP.getProjection();	
	normalProj = G_NORMAL_MAP.getProjection();	

	customMaps[customMaps.length] = G_NORMAL_MAP;
	customMaps[customMaps.length] = G_SATELLITE_MAP;
	customMaps[customMaps.length] = G_HYBRID_MAP;

  if (GBrowserIsCompatible()) {
	
  	var latLong = null;
	if(getCookie("latLongCk") != "path=/")
		latLong = (getCookie("latLongCk")!=null && typeof(eval(getCookie("latLongCk"))) == "object")?(eval(getCookie("latLongCk"))[0]):null;	
	if(latLong != null)
	{
		lat = latLong.lat;
		lng = latLong.lng;
	}
	else if(typeof(defLat) != 'undefined')
	{
		var	lat = defLat;
		var	lng = defLng;	
	}
	else if(typeof(defaultLat) != "undefined")
	{
		lat = defaultLat;
		lng = defaultLng;	
	}
	//alert(lat+"=="+lng);
	var centerPoint = new GLatLng(lat, lng);
	$("mapDiv").innerHTML = "";
	document.getElementById("mapDiv").style.display="";
	minimap = new GMap2(document.getElementById("mapDiv"), {draggableCursor:"crosshair"});			
	if($("mapHeader")) $("mapHeader").show();
	if($("helpBox")) $("helpBox").show();
	getMapcenter();
	//minimap.addControl(new GScaleControl());
	//minimap.addControl(new GLargeMapControl());	
	ysliderCtrlMin = new ZoomControl(); 
	minimap.addControl(ysliderCtrlMin);
	minimap.addControl(new GMenuMapTypeControl());
	//minimap.addMapType(G_PHYSICAL_MAP);
	/*
	mapTypeCtrlMin = new mapTypeControl();
	minimap.addControl(mapTypeCtrlMin);		
	document.getElementById("btnMap").className="mapTypeButtonSelect";
	GEvent.addListener(minimap,"maptypechanged",function(){highlightMapTypeBtn(minimap);});	*/
	if(typeof(map2) != "undefined")
		minimap.setCenter(map2.getCenter(), map2.getZoom(), G_NORMAL_MAP);
	else 
		minimap.setCenter(new GLatLng(lat, lng), 14, G_NORMAL_MAP);
		
	//	minimap.enableContinuousZoom();
	GEvent.addListener(minimap, "moveend", getMapcenter);
	GEvent.addListener(minimap, "click", mapClick);  		
	polymapMousemove = GEvent.addListener(minimap,"mousemove",function(latlng,event){
			if (pointswitch) 
			{
				if(typeof(singlePoly) != "undefined" && polyRouteArr.length > 0 && singlePoly == true) return;
				if (polyline)
				{
					minimap.removeOverlay(polyline);
				}
				x2 = latlng.lat();
				y2 = latlng.lng();
				polyline = new GPolyline([
					new GLatLng(x1, y1),
					new GLatLng(x2, y2)
				], "#ff0000", 2);
				minimap.addOverlay(polyline);
				var dist = getDistance(y1, x1, y2, x2, '');
				if($("dist")) 
				{
					$("dist").innerHTML = "distance "+Math.round(dist*100)/ 100 + " miles from last point";
					$("dist").style.display = "block";
				}
			}
        });		
 }
}

function mapClick(marker, point) 
{
	if($('clrSerArea')) $('clrSerArea').style.display='';
	if($('drawSerArea')) $('drawSerArea').style.display='none';	
	//alert(marker + " --- "+ point);
	if(pointswitch)	{ point = undefined; }
	if(marker instanceof GMarker)
	{
		//alert("Instance of GMarker");
		if(routePoints.length==0) return;
		pointswitch = false;
		$("dist").style.display = "none";
		closeRoute();
		if (polyline)
		{
			minimap.removeOverlay(polyline);
		}
	}
	else 
	{ 
		//alert("Not Instance of GMarker: point"+point);
		pointswitch = true;
		if(!point)
		{
			if (typeof (x2) == "undefined" || typeof (y2) == "undefined") return;
			if(x2 == null && y2 == null) return;
			point = new GLatLng(x2,y2);
			x1 = x2;
			y1 = y2;
		}
		else
		{
			x1 = point.lat();
			y1 = point.lng();
		}
		if (polyline)
		{
			minimap.removeOverlay(polyline);
		}		
		addRoutePoint(point);
		
	}
}

function addRoutePoint(point) {
	if(typeof(singlePoly) != "undefined" && polyRouteArr.length > 0 && singlePoly == true) 
	{
		pointswitch = false; x2=null;y2=null; x1=null; y1=null; $("dist").style.display="none";
		alert("You have already drawn a polygon area. You can't draw another one.");
		clearMapList();
		return;
	}
	var dist = 0;
	routePoints.push(point);
	tmpBound.extend(point);
	if (routePoints.length > 1)	{
		plotRoute();
	}
	else {
		startMarker = createMarker(point,'Start - end','', 1)
		minimap.addOverlay(startMarker);
		routeOverlays.push( new GPolyline(routePoints,'#FF9601',3,1));
	}
}

function plotRoute() {
	minimap.removeOverlay(routeOverlays[routeOverlays.length-1]);
	if(polyClose != null)minimap.removeOverlay(polyClose);
	routeOverlays[routeOverlays.length-1] = new GPolyline(routePoints,'#FF9601',3,1);
	minimap.addOverlay(routeOverlays[routeOverlays.length-1]);

	/*
	if (routePoints.length > 2) {
		var pClose = Array();
		pClose.push(routePoints[0]);
		pClose.push(routePoints[routePoints.length-1]);
		polyClose = new GPolyline(pClose,'#9601FF',1,0.5);
		minimap.addOverlay(polyClose);
	} */

}

function closeRoute() {
	minimap.removeOverlay(routeOverlays[routeOverlays.length-1]);
	if(polyClose != null) minimap.removeOverlay(polyClose);
	minimap.removeOverlay(startMarker);
	routePoints.push(routePoints[0]);
	routeOverlays[routeOverlays.length-1] = new GPolyline(routePoints,'#FF9601',3,1);
	minimap.addOverlay(routeOverlays[routeOverlays.length-1]);
	polyRouteArr.push(routePoints);
	var centerLat = tmpBound.getCenter().lat();
	var centerLng = tmpBound.getCenter().lng();
	if(typeof(uid) == "undefined") uid = '';
	var qs="centerLat="+centerLat+"&centerLong="+centerLng+"&minLat="+tmpBound.getSouthWest().lat()+"&maxLat="+tmpBound.getNorthEast().lat()+"&minLng="+tmpBound.getSouthWest().lng()+"&maxLng="+tmpBound.getNorthEast().lng()+"&case=getCSZfromArea&aid="+uid;
	var url = "/brokerAdmin/processPowerSearch.php";
	if(typeof(isPerformance) != "undefined" && isPerformance == "1")
		qs += "&status=Sold";
	
	ajaxRequest(url,qs,cityResponseList,false);	
	if(typeof(singlePoly) != "undefined" && singlePoly == true)
	{
		if(trim(getSearchCookie('searchCriteria')) == 'favorites')
		{
			removeSearchCookie('searchCriteria');
			if($('bit_select_box')) $('bit_select_box').selectedIndex=0;
		}
		hideMapList();
	}
	if($('mlsno')) { $('mlsno').value = ''; }
	removeSearchCookie("mlsno");	
	routePoints = [];
	tmpBound = null;
	tmpBound = new GLatLngBounds();
}
var currentPoly;
function removePolygon(p)
{
	minimap.removeOverlay(routeOverlays[p-1]);
	$("Poly"+p).remove();
	polyRouteArr[p-1]=null;
	polyRouteArr = polyRouteArr.compact();  
}
function resetRoute() {
	routePoints = new Array();
	minimap.clearOverlays();
	totalDistance = 0;
	polyRouteArr.clear();
}

function undoPoint() {
	//alert(routePoints.length );

	if(routePoints.length < 2 && $('dist')) $("dist").style.display = "none";	
	if (polyline)
		minimap.removeOverlay(polyline);
	if (routePoints.length > 1)	{
		routePoints.pop();
		var tp = routePoints[routePoints.length - 1].toString();
		tp = tp.replace("(","");
		tp = tp.replace(")","");
		tp  = tp.split(",");				
		x1 = tp[0];
		y1 = tp[1];
		plotRoute();
	}
	else {
		//resetRoute();	
		routePoints = new Array();
		if(startMarker) minimap.removeOverlay(startMarker);
		pointswitch = false;
	}
}

function getMapcenter() 
{
	var center = minimap.getCenter();
	var z = minimap.getZoom();
}

function createMarker(point,markerName,markerHtml, number,mIcon,mClickable) {
	var latDMS  = DEC2DMS(point.x);
	var longDMS  = DEC2DMS(point.y);
	var re = /(\.\d{4})\d+/g;
	latDMS = latDMS.replace(re,"$1");
	longDMS = longDMS.replace(re,"$1");

	var htmlInfo = "";
	htmlInfo += '<div class="bubble">';
	htmlInfo += '<b>' + markerName + '</b><br>';
	htmlInfo += markerHtml;
	htmlInfo += '<hr style="height:1px">';
	htmlInfo += 'Lat (Dec): ' + point.x + '<br>';
	htmlInfo += 'Long (Dec): ' + point.y;
	htmlInfo += '<hr style="height:1px">';
	htmlInfo += 'Lat (DMS): ' + latDMS + '<br>';
	htmlInfo += 'Long (DMS): '+ longDMS;
	htmlInfo += '</div>';

	
	var marker;
	marker = new GMarker(point,{icon:mIcon, clickable:mClickable, title:markerName});
	if (mClickable)	{
		GEvent.addListener(marker, "click", function() {marker.openInfoWindowHtml(htmlInfo );});
	}
	return marker;
}

function DEC2DMS(dec) {

	var deg = Math.floor(Math.abs(dec));
	var min = Math.floor((Math.abs(dec)-deg)*60);
	var sec = (Math.round((((Math.abs(dec) - deg) - (min/60)) * 60 * 60) * 100) / 100 ) ;

	deg = dec < 0 ? deg * -1 : deg;

	var dms  = deg + '&deg ' + min + '\' ' + sec + '"';
	return dms;
}

function btnClick(btn,value) {
	selectButton(btn.id);
	minimap.setMapType(customMaps[value]);

	var point = new GPoint(1,1);
	var z = minimap.getZoom();

	var layers = minimap.getCurrentMapType().getTileLayers();
	
	for (var n = 0 ; n < layers.length ; n++ ) {
		var url = layers[n].getTileUrl(point,z);
		if (url.match("getTiles")) {
			url += '&sc=1';
			sDiv.innerHTML += '<img src="' + url + '">';
		}
	}
}


function refreshMap() {
	var cType = minimap.getCurrentMapType();
	minimap.setMapType(G_NORMAL_MAP);
	minimap.setMapType(cType);
}

function selectButton(btnID) {
	for (var n = 0; n < bDiv.childNodes.length ; n++ ) {
		bDiv.childNodes[n].className = 'button';
	}

	if (btnID) {
		bDiv.className = 'selectedButton';
	}
}

//-------------- Custom maps  ---------------------------

function addCustomMaps() {
	// -------- Layers -------------
	var testLayer = createCustomLayer(0,15,'polygon');
	var layers = [NormalLayer,testLayer];
	addCustomMapType("Select Polygon",layers,15,0);
}


function createCustomLayer(minRes,maxRes,theme) {
	var newLayer = new GTileLayer(cRight,minRes,maxRes);
	newLayer.getTileUrl = function (a,b) {return tileURL(a,b)};
	newLayer.getOpacity = function () {return opacity;};
	return newLayer;
}

function addCustomMapType(mName,layers,maxRes,minRes) {
	customMaps[customMaps.length] = new GMapType(layers, normalProj, mName, {maxResolution:maxRes, minResolution:minRes, errorMessage:'Boom!'}); 
	minimap.addMapType(customMaps[customMaps.length-1]);

	oButtons.innerHTML += '	<div class="button" id="btn_'+(customMaps.length-1)+'" onclick="btnClick(this,'+(customMaps.length-1)+')">'+mName+'</div>\n';

}
//-------------- End Custom maps  ---------------------------

function setMapPolygon(map)
{		
	var bound,area;
	var txtPolygonVal="";
	if(typeof(map) != "undefined") minimap=map;
	var boundset = new GLatLngBounds();
	minimap.clearOverlays();	
	if($("hdnNbrSrchType") && $F("hdnNbrSrchType") == "1" && getSearchCookie("neighborhood") != "" && typeof(powerSearch) != "undefined" && powerSearch == "1")
	{
		//abhishek
		var url = '/brokerAdmin/subNeighborhoodHandler.php';
		var qryString = "op=getPoints&nbr="+getSearchCookie("neighborhood");
		
		ajaxRequest(url,qryString,function(r){				
			rsText = trim(r.responseText);
			if(rsText != "-1")
			{
				var bound = area = rsText;
				var points = new Array; 
				mapArr = area.split("|");
				for(var i=0;i<mapArr.length;i++)
				{
					polyRouteArr.push(mapArr[i]);
					mapArr[i] = mapArr[i].replace(/\ /g,"");
					var tmpStr = mapArr[i].replace(/\),\(/g,")::(");
					var tmpArr = tmpStr.split("::");
					for(var j=0;j<tmpArr.length;j++)
					{	
						tmpArr[j] = tmpArr[j].replace(")","");
						tmpArr[j] = tmpArr[j].replace("(","");
						points.push(new GLatLng(tmpArr[j].split(",")[0],tmpArr[j].split(",")[1]));
						boundset.extend(new GLatLng(tmpArr[j].split(",")[0],tmpArr[j].split(",")[1]));
				
					} 
					var polyArea = new GPolygon(points,"#ff0000",2,0.5,"#00FF00", 0.5);
					minimap.addOverlay(polyArea);
					points = [];
					
				}
				minimap.setCenter(boundset.getCenter());
				var zoomValue = minimap.getBoundsZoomLevel(boundset);
				minimap.setZoom(zoomValue);
			}
		});
		return;
	}
	else if(trim(getSearchCookie("polygon")) != "")
		txtPolygonVal = trim(getSearchCookie("polygon")) ;
	if($("txtPolygon") && trim($F('txtPolygon')) != "")
		txtPolygonVal = trim($F('txtPolygon')) ;
	bound = area = txtPolygonVal;
	var points = new Array; 	
	var mapArr = area.split("|");
	for(var i=0;i<mapArr.length;i++)
	{
		polyRouteArr.push(mapArr[i]);
		mapArr[i] = mapArr[i].replace(/\ /g,"");
		var tmpStr = mapArr[i].replace(/\),\(/g,")::(");
		var tmpArr = tmpStr.split("::");
		for(var j=0;j<tmpArr.length;j++)
		{	
			tmpArr[j] = tmpArr[j].replace(")","");
			tmpArr[j] = tmpArr[j].replace("(","");
			points.push(new GLatLng(tmpArr[j].split(",")[0],tmpArr[j].split(",")[1]));
			boundset.extend(new GLatLng(tmpArr[j].split(",")[0],tmpArr[j].split(",")[1]));	
		} 
		var polyArea = new GPolygon(points,"#ff0000",2,0.5,"#00FF00", 0.5);
		minimap.addOverlay(polyArea);
		points = [];		
	}	
	minimap.setCenter(boundset.getCenter());	
	var zoomValue = minimap.getBoundsZoomLevel(boundset);
	minimap.setZoom(zoomValue);
}

function setMapAreaSelection(map)
{
	if(typeof(map) != "undefined") minimap=map;
	var boundset = new GLatLngBounds();
	minimap.clearOverlays();
	var bound = area = $("txtArea").value;
	if(!area.include("|"))
	{
		area = area.replace(/\ /g,"");
		area = area.replace("((","");
		area = area.replace("))","");
		area = area.replace("),(",",");
		area = area.split(",");				
		var polyline = new GPolyline([
				new GLatLng(area[0], area[1]),
				new GLatLng(area[2], area[1]),
				new GLatLng(area[2], area[3]),
				new GLatLng(area[0], area[3]),
				new GLatLng(area[0], area[1])
			], "#ff0000", 2);
		minimap.addOverlay(polyline);
		boundset.extend(new GLatLng(parseFloat(area[0]),parseFloat(area[1])));
		boundset.extend(new GLatLng(parseFloat(area[2]),parseFloat(area[3])));
		minimap.setCenter(boundset.getCenter());
		var zoomValue = minimap.getBoundsZoomLevel(boundset);
		minimap.setZoom(zoomValue);
	}
	else
	{
		mapArr = area.split("|");
		var x1 = "";
		var y1 = "";
		var x2 = "";
		var y2 = "";

		for(var i=0;i<mapArr.length;i++)
		{
			mapArr[i] = mapArr[i].replace(/\ /g,"");
			var areaArr = mapArr[i].split(",");
			
			x1 = areaArr[0].replace("((","");
			y1 = areaArr[1].replace(")","");
			x2 = areaArr[2].replace("(","");
			y2 = areaArr[3].replace("))","");

			var polyline = new GPolygon([
					new GLatLng(x1, y1),
					new GLatLng(x2, y1),
					new GLatLng(x2, y2),
					new GLatLng(x1, y2),
					new GLatLng(x1, y1)
			], "#ff0000", 2,0.5,"#00FF00", 0.5);
			//var polyArea = new GPolygon(points,"#ff0000",2,0.5,"#00FF00", 0.5);
			minimap.addOverlay(polyline);
			
			boundset.extend(new GLatLng(parseFloat(x1),parseFloat(y1)));
			boundset.extend(new GLatLng(parseFloat(x2),parseFloat(y2)));
		}
		minimap.setCenter(boundset.getCenter());
		var zoomValue = minimap.getBoundsZoomLevel(boundset);
		minimap.setZoom(zoomValue);

	}
}

function getDistance(lat1, lon1, lat2, lon2, unit) {
	var radlat1 = Math.PI * lat1/180
	var radlat2 = Math.PI * lat2/180
	var radlon1 = Math.PI * lon1/180
	var radlon2 = Math.PI * lon2/180
	var theta = lon1-lon2
	var radtheta = Math.PI * theta/180
	var dist = Math.sin(radlat1) * Math.sin(radlat2) + Math.cos(radlat1) * Math.cos(radlat2) * Math.cos(radtheta);
	dist = Math.acos(dist)
	dist = dist * 180/Math.PI
	dist = dist * 60 * 1.1515
	if (unit=="K") { dist = dist * 1.609344 }
	if (unit=="N") { dist = dist * 0.8684 }
	return dist
}     

function getPosition(e) 
{
	if($("mapHeader") && $("mapHeader").visible())
	{
		e = e || window.event;
		var cursor = {x:0, y:0};
		if (e.pageX || e.pageY) {
			cursor.x = e.pageX;
			cursor.y = e.pageY;
		}
		else {
			var de = document.documentElement;
			var b = document.body;
			cursor.x = e.clientX +	(de.scrollLeft || b.scrollLeft) - (de.clientLeft || 0);
			cursor.y = e.clientY +	(de.scrollTop || b.scrollTop) - (de.clientTop || 0);
		}	
		if($("dist"))
		{		
			$("dist").style.left =eval(cursor.x + 15) + "px"; 
			$("dist").style.top =eval(cursor.y + 15) + "px"; 		
		}
	}
}

function loadSubjectProperty(mapData)
{
	if((typeof(cmaTab) != 'undefined' && cmaTab && cmaTab=="1") || ( cmaTab!="1" && $('cmbradial') && $F('cmbradial') != "") )
	{	
		if( cmaTab!="1" && $('cmbradial') && $F('cmbradial') != "")
		{
			setPSMapIndicatorParams();
		}

		infoCWindow = new Array();
		var cma_sr = 0;			
		var	mls_title = '';
		if(rec_mls)
			mls_title = 'MLS # '+rec_mls;			
		if(rec_lat == "0" || rec_lon == "0")
		{
			rec_lat = getSearchCookie('lat');
			rec_lon = getSearchCookie('lng');
		}
		//alert(rec_lat + " == " + rec_lon);
		cmaProp = '[{"srno":'+cma_sr+',"totalcount":1,"category":"P","sourcename":"arrow","groupname":"mls Search","address":"'+rec_addr+'","city":"'+rec_city+'","state":"'+rec_state+'","zip":"'+rec_zip+'","latitude":"'+rec_lat+'","longitude":"'+rec_lon+'","beds":"'+rec_beds+'","baths":"'+rec_baths+'","price":"'+rec_curr_price+'","status":"'+rec_status+'","squarefeet":"'+rec_sqft+'","mlsno":"'+rec_mls+'","broker":"'+rec_broker+'","propType":"","DOM":"'+rec_dom+'","unitno":"'+rec_unitno+'","comment":"","datasource":"arrow","tid":"","pictures":"'+rec_photo+'","copyright":"","mlsTitle":"'+mls_title+'","link":""}]';
		//alert(cmaProp);
		cmaProp =  eval('(' + trim(cmaProp) + ')');		
		mapData = cmaProp;			
		//alert(mapData.length);
		for (var i = 0; i < mapData.length; i++)
			{
				var cnt = mapData[i].srno;
				var point = new GLatLng(mapData[i].latitude,mapData[i].longitude);
				var siteName = mapData[i].sourcename;
				var dataSource = mapData[i].datasource;
				var isFeatured = mapData[i].placeholder;
				var geoLevel = mapData[i].geocodelevel;
				var address = mapData[i].address;
				//alert("address: "+address);
				if(address.indexOf(",")>-1)
				{
					address = address.gsub(","," ");
				}
				var city = mapData[i].city;
				var state = mapData[i].state;
				var zip = mapData[i].zip;
				var beds = mapData[i].beds;
				var baths = mapData[i].baths;
				var addressUrl = mapData[i].link;
				var zp = mapData[i].zip;
				var lat = mapData[i].latitude;
				var lng = mapData[i].longitude;
				var mapAddress = "";
				mapAddress = address +", "+city+", "+state.toUpperCase()+", "+zp;
				//alert("mapAddress: "+mapAddress);
				if(mapData[i].pictures!="")
					var pics = mapData[i].pictures;
				else
					var pics = "";
				var cssName = "green";
				var price = mapData[i].price;
				var sqft = "";
				if(mapData[i].squarefeet != "")
					sqft = parseInt(mapData[i].squarefeet);
				var brokerName = mapData[i].broker;
				var mls = mapData[i].mlsno;
				pushpinImg = dataSource+"_pushpin";
				if(brokerName!="")
					brokerName = "Courtesy of " + brokerName;
				else
					brokerName = "";
				if ( brokerName.length > 40 )
				{
					brokerName = brokerName.substr(0,38) + '...';
				}
				//alert("brokerName: "+brokerName);
				var link = address+","+city+","+state+","+zip+","+price+","+beds+","+baths+","+mapData[i].latitude+","+mapData[i].longitude;
				bedbaths = "";
				if (beds == "0" || beds == "")
					bedbaths = "- Br /";
				else
					bedbaths = beds + " Br /";
				if (baths == "" || baths == "0")
					bedbaths += " - Ba";
				else
					bedbaths += " " + baths + " Ba";
				eval('ewc'+siteName+cnt+' = new EWindow(minimap,E_STYLE_21)');
				//alert("link: "+link);
				var pushPinIcon = createIcon(mapData[i].datasource);
				var bitType = mapData[i].category;
				var sourceLink = mapData[i].link;
				var txtDisp = mapData[i].status;
				var copyright = mapData[i].copyright;
				if ( trim(mapData[i].datasource) != 'blank')
				{	
					aptCls = "";
					if(cmaTab != "1" && ($('cmbradial') && $F('cmbradial') != "") )
					{	
						infoCWindow[cnt] = "";
						if(typeof(mapData[i].address) != 'undefined' && trim(mapData[i].address) != "undefined" && trim(mapData[i].address) != "")
							infoCWindow[cnt] = mapData[i].address+"&cedil;&nbsp;&nbsp;";
						
						infoCWindow[cnt] += mapData[i].city+"&cedil;"+mapData[i].state+"&nbsp;"+mapData[i].zip;
						aptCls = "tooltip";
					}
					else
						infoCWindow[cnt] = getPropertyHtml(cssName,imgThmPath,siteName,mapAddress,cnt,price,bedbaths,sqft,imgPath,sourceLink,"","","",txtDisp,dataSource,"","",pics,brokerName,mls,lat,lng,mapData[i].groupname,0,"",copyright,mapData[i].tid,mapData[i].mlsTitle,mapData[i].DOM);									
					
					eval('minimap.addOverlay(ewc' +siteName+cnt+ ')');
					eval('infoCWindow' +siteName+cnt + ' = infoCWindow[cnt]');
					eval('commMarker'+siteName+cnt+'=createCommunityMarker(point,infoCWindow[cnt],pushPinIcon,siteName+cnt,pushpinImg,mapData[i].groupname,bitType,aptCls);');
					minimap.addOverlay(eval('commMarker'+siteName+cnt));					
				}
			}
	}
}

function setPSMapIndicatorParams()
{
	if($('cmbradial') && $F('cmbradial') != "")
		{
		  rec_mls = "";
		  rec_lat = getSearchCookie('lat');
		  rec_lon = getSearchCookie('lng');
		  rec_city = getSearchCookie('city');
		  rec_state = getSearchCookie('state');
		  rec_zip = getSearchCookie('zip');
		  rec_addr = getSearchCookie('searchAddress');
		  rec_beds = "";
		  rec_baths = "";
		  rec_curr_price = "";
		  rec_status = "";
		  rec_sqft = "";
		  rec_mls = "";
		  rec_dom = "";
		  rec_unitno = ""
		  rec_photo = ""
		  mls_title = "";
		  rec_broker = ""
		}
}

/*../vendor/calendar/calendar.js*/

Calendar=function(firstDayOfWeek,dateStr,onSelected,onClose){this.activeDiv=null;this.currentDateEl=null;this.getDateStatus=null;this.getDateToolTip=null;this.getDateText=null;this.timeout=null;this.onSelected=onSelected||null;this.onClose=onClose||null;this.dragging=false;this.hidden=false;this.minYear=1970;this.maxYear=2050;this.dateFormat=Calendar._TT["DEF_DATE_FORMAT"];this.ttDateFormat=Calendar._TT["TT_DATE_FORMAT"];this.isPopup=true;this.weekNumbers=true;this.firstDayOfWeek=typeof firstDayOfWeek=="number"?firstDayOfWeek:Calendar._FD;this.showsOtherMonths=false;this.dateStr=dateStr;this.ar_days=null;this.showsTime=false;this.time24=true;this.yearStep=2;this.hiliteToday=true;this.multiple=null;this.table=null;this.element=null;this.tbody=null;this.firstdayname=null;this.monthsCombo=null;this.yearsCombo=null;this.hilitedMonth=null;this.activeMonth=null;this.hilitedYear=null;this.activeYear=null;this.dateClicked=false;if(typeof Calendar._SDN=="undefined"){if(typeof Calendar._SDN_len=="undefined")Calendar._SDN_len=3;var ar=new Array();for(var i=8;i>0;){ar[--i]=Calendar._DN[i].substr(0,Calendar._SDN_len);}Calendar._SDN=ar;if(typeof Calendar._SMN_len=="undefined")Calendar._SMN_len=3;ar=new Array();for(var i=12;i>0;){ar[--i]=Calendar._MN[i].substr(0,Calendar._SMN_len);}Calendar._SMN=ar;}};Calendar._C=null;Calendar.is_ie=(/msie/i.test(navigator.userAgent)&&!/opera/i.test(navigator.userAgent));Calendar.is_ie5=(Calendar.is_ie&&/msie 5\.0/i.test(navigator.userAgent));Calendar.is_opera=/opera/i.test(navigator.userAgent);Calendar.is_khtml=/Konqueror|Safari|KHTML/i.test(navigator.userAgent);Calendar.getAbsolutePos=function(el){var SL=0,ST=0;var is_div=/^div$/i.test(el.tagName);if(is_div&&el.scrollLeft)SL=el.scrollLeft;if(is_div&&el.scrollTop)ST=el.scrollTop;var r={x:el.offsetLeft-SL,y:el.offsetTop-ST};if(el.offsetParent){var tmp=this.getAbsolutePos(el.offsetParent);r.x+=tmp.x;r.y+=tmp.y;}return r;};Calendar.isRelated=function(el,evt){var related=evt.relatedTarget;if(!related){var type=evt.type;if(type=="mouseover"){related=evt.fromElement;}else if(type=="mouseout"){related=evt.toElement;}}while(related){if(related==el){return true;}related=related.parentNode;}return false;};Calendar.removeClass=function(el,className){if(!(el&&el.className)){return;}var cls=el.className.split(" ");var ar=new Array();for(var i=cls.length;i>0;){if(cls[--i]!=className){ar[ar.length]=cls[i];}}el.className=ar.join(" ");};Calendar.addClass=function(el,className){Calendar.removeClass(el,className);el.className+=" "+className;};Calendar.getElement=function(ev){var f=Calendar.is_ie?window.event.srcElement:ev.currentTarget;while(f.nodeType!=1||/^div$/i.test(f.tagName))f=f.parentNode;return f;};Calendar.getTargetElement=function(ev){var f=Calendar.is_ie?window.event.srcElement:ev.target;while(f.nodeType!=1)f=f.parentNode;return f;};Calendar.stopEvent=function(ev){ev||(ev=window.event);if(Calendar.is_ie){ev.cancelBubble=true;ev.returnValue=false;}else{ev.preventDefault();ev.stopPropagation();}return false;};Calendar.addEvent=function(el,evname,func){if(el.attachEvent){el.attachEvent("on"+evname,func);}else if(el.addEventListener){el.addEventListener(evname,func,true);}else{el["on"+evname]=func;}};Calendar.removeEvent=function(el,evname,func){if(el.detachEvent){el.detachEvent("on"+evname,func);}else if(el.removeEventListener){el.removeEventListener(evname,func,true);}else{el["on"+evname]=null;}};Calendar.createElement=function(type,parent){var el=null;if(document.createElementNS){el=document.createElementNS("http://www.w3.org/1999/xhtml",type);}else{el=document.createElement(type);}if(typeof parent!="undefined"){parent.appendChild(el);}return el;};Calendar._add_evs=function(el){with(Calendar){addEvent(el,"mouseover",dayMouseOver);addEvent(el,"mousedown",dayMouseDown);addEvent(el,"mouseout",dayMouseOut);if(is_ie){addEvent(el,"dblclick",dayMouseDblClick);el.setAttribute("unselectable",true);}}};Calendar.findMonth=function(el){if(typeof el.month!="undefined"){return el;}else if(typeof el.parentNode.month!="undefined"){return el.parentNode;}return null;};Calendar.findYear=function(el){if(typeof el.year!="undefined"){return el;}else if(typeof el.parentNode.year!="undefined"){return el.parentNode;}return null;};Calendar.showMonthsCombo=function(){var cal=Calendar._C;if(!cal){return false;}var cal=cal;var cd=cal.activeDiv;var mc=cal.monthsCombo;if(cal.hilitedMonth){Calendar.removeClass(cal.hilitedMonth,"hilite");}if(cal.activeMonth){Calendar.removeClass(cal.activeMonth,"active");}var mon=cal.monthsCombo.getElementsByTagName("div")[cal.date.getMonth()];Calendar.addClass(mon,"active");cal.activeMonth=mon;var s=mc.style;s.display="block";if(cd.navtype<0)s.left=cd.offsetLeft+"px";else{var mcw=mc.offsetWidth;if(typeof mcw=="undefined")mcw=50;s.left=(cd.offsetLeft+cd.offsetWidth-mcw)+"px";}s.top=(cd.offsetTop+cd.offsetHeight)+"px";};Calendar.showYearsCombo=function(fwd){var cal=Calendar._C;if(!cal){return false;}var cal=cal;var cd=cal.activeDiv;var yc=cal.yearsCombo;if(cal.hilitedYear){Calendar.removeClass(cal.hilitedYear,"hilite");}if(cal.activeYear){Calendar.removeClass(cal.activeYear,"active");}cal.activeYear=null;var Y=cal.date.getFullYear()+(fwd?1:-1);var yr=yc.firstChild;var show=false;for(var i=12;i>0;--i){if(Y>=cal.minYear&&Y<=cal.maxYear){yr.innerHTML=Y;yr.year=Y;yr.style.display="block";show=true;}else{yr.style.display="none";}yr=yr.nextSibling;Y+=fwd?cal.yearStep:-cal.yearStep;}if(show){var s=yc.style;s.display="block";if(cd.navtype<0)s.left=cd.offsetLeft+"px";else{var ycw=yc.offsetWidth;if(typeof ycw=="undefined")ycw=50;s.left=(cd.offsetLeft+cd.offsetWidth-ycw)+"px";}s.top=(cd.offsetTop+cd.offsetHeight)+"px";}};Calendar.tableMouseUp=function(ev){var cal=Calendar._C;if(!cal){return false;}if(cal.timeout){clearTimeout(cal.timeout);}var el=cal.activeDiv;if(!el){return false;}var target=Calendar.getTargetElement(ev);ev||(ev=window.event);Calendar.removeClass(el,"active");if(target==el||target.parentNode==el){Calendar.cellClick(el,ev);}var mon=Calendar.findMonth(target);var date=null;if(mon){date=new Date(cal.date);if(mon.month!=date.getMonth()){date.setMonth(mon.month);cal.setDate(date);cal.dateClicked=false;cal.callHandler();}}else{var year=Calendar.findYear(target);if(year){date=new Date(cal.date);if(year.year!=date.getFullYear()){date.setFullYear(year.year);cal.setDate(date);cal.dateClicked=false;cal.callHandler();}}}with(Calendar){removeEvent(document,"mouseup",tableMouseUp);removeEvent(document,"mouseover",tableMouseOver);removeEvent(document,"mousemove",tableMouseOver);cal._hideCombos();_C=null;return stopEvent(ev);}};Calendar.tableMouseOver=function(ev){var cal=Calendar._C;if(!cal){return;}var el=cal.activeDiv;var target=Calendar.getTargetElement(ev);if(target==el||target.parentNode==el){Calendar.addClass(el,"hilite active");Calendar.addClass(el.parentNode,"rowhilite");}else{if(typeof el.navtype=="undefined"||(el.navtype!=50&&(el.navtype==0||Math.abs(el.navtype)>2)))Calendar.removeClass(el,"active");Calendar.removeClass(el,"hilite");Calendar.removeClass(el.parentNode,"rowhilite");}ev||(ev=window.event);if(el.navtype==50&&target!=el){var pos=Calendar.getAbsolutePos(el);var w=el.offsetWidth;var x=ev.clientX;var dx;var decrease=true;if(x>pos.x+w){dx=x-pos.x-w;decrease=false;}else dx=pos.x-x;if(dx<0)dx=0;var range=el._range;var current=el._current;var count=Math.floor(dx/10)%range.length;for(var i=range.length;--i>=0;)if(range[i]==current)break;while(count-->0)if(decrease){if(--i<0)i=range.length-1;}else if(++i>=range.length)i=0;var newval=range[i];el.innerHTML=newval;cal.onUpdateTime();}var mon=Calendar.findMonth(target);if(mon){if(mon.month!=cal.date.getMonth()){if(cal.hilitedMonth){Calendar.removeClass(cal.hilitedMonth,"hilite");}Calendar.addClass(mon,"hilite");cal.hilitedMonth=mon;}else if(cal.hilitedMonth){Calendar.removeClass(cal.hilitedMonth,"hilite");}}else{if(cal.hilitedMonth){Calendar.removeClass(cal.hilitedMonth,"hilite");}var year=Calendar.findYear(target);if(year){if(year.year!=cal.date.getFullYear()){if(cal.hilitedYear){Calendar.removeClass(cal.hilitedYear,"hilite");}Calendar.addClass(year,"hilite");cal.hilitedYear=year;}else if(cal.hilitedYear){Calendar.removeClass(cal.hilitedYear,"hilite");}}else if(cal.hilitedYear){Calendar.removeClass(cal.hilitedYear,"hilite");}}return Calendar.stopEvent(ev);};Calendar.tableMouseDown=function(ev){if(Calendar.getTargetElement(ev)==Calendar.getElement(ev)){return Calendar.stopEvent(ev);}};Calendar.calDragIt=function(ev){var cal=Calendar._C;if(!(cal&&cal.dragging)){return false;}var posX;var posY;if(Calendar.is_ie){posY=window.event.clientY+document.body.scrollTop;posX=window.event.clientX+document.body.scrollLeft;}else{posX=ev.pageX;posY=ev.pageY;}cal.hideShowCovered();var st=cal.element.style;st.left=(posX-cal.xOffs)+"px";st.top=(posY-cal.yOffs)+"px";return Calendar.stopEvent(ev);};Calendar.calDragEnd=function(ev){var cal=Calendar._C;if(!cal){return false;}cal.dragging=false;with(Calendar){removeEvent(document,"mousemove",calDragIt);removeEvent(document,"mouseup",calDragEnd);tableMouseUp(ev);}cal.hideShowCovered();};Calendar.dayMouseDown=function(ev){var el=Calendar.getElement(ev);if(el.disabled){return false;}var cal=el.calendar;cal.activeDiv=el;Calendar._C=cal;if(el.navtype!=300)with(Calendar){if(el.navtype==50){el._current=el.innerHTML;addEvent(document,"mousemove",tableMouseOver);}else addEvent(document,Calendar.is_ie5?"mousemove":"mouseover",tableMouseOver);addClass(el,"hilite active");addEvent(document,"mouseup",tableMouseUp);}else if(cal.isPopup){cal._dragStart(ev);}if(el.navtype==-1||el.navtype==1){if(cal.timeout)clearTimeout(cal.timeout);cal.timeout=setTimeout("Calendar.showMonthsCombo()",250);}else if(el.navtype==-2||el.navtype==2){if(cal.timeout)clearTimeout(cal.timeout);cal.timeout=setTimeout((el.navtype>0)?"Calendar.showYearsCombo(true)":"Calendar.showYearsCombo(false)",250);}else{cal.timeout=null;}return Calendar.stopEvent(ev);};Calendar.dayMouseDblClick=function(ev){Calendar.cellClick(Calendar.getElement(ev),ev||window.event);if(Calendar.is_ie){document.selection.empty();}};Calendar.dayMouseOver=function(ev){var el=Calendar.getElement(ev);if(Calendar.isRelated(el,ev)||Calendar._C||el.disabled){return false;}if(el.ttip){if(el.ttip.substr(0,1)=="_"){el.ttip=el.caldate.print(el.calendar.ttDateFormat)+el.ttip.substr(1);}el.calendar.tooltips.innerHTML=el.ttip;}if(el.navtype!=300){Calendar.addClass(el,"hilite");if(el.caldate){Calendar.addClass(el.parentNode,"rowhilite");}}return Calendar.stopEvent(ev);};Calendar.dayMouseOut=function(ev){with(Calendar){var el=getElement(ev);if(isRelated(el,ev)||_C||el.disabled)return false;removeClass(el,"hilite");if(el.caldate)removeClass(el.parentNode,"rowhilite");if(el.calendar)el.calendar.tooltips.innerHTML=_TT["SEL_DATE"];return stopEvent(ev);}};Calendar.cellClick=function(el,ev){var cal=el.calendar;var closing=false;var newdate=false;var date=null;if(typeof el.navtype=="undefined"){if(cal.currentDateEl){Calendar.removeClass(cal.currentDateEl,"selected");Calendar.addClass(el,"selected");closing=(cal.currentDateEl==el);if(!closing){cal.currentDateEl=el;}}cal.date.setDateOnly(el.caldate);date=cal.date;var other_month=!(cal.dateClicked=!el.otherMonth);if(!other_month&&!cal.currentDateEl)cal._toggleMultipleDate(new Date(date));else newdate=!el.disabled;if(other_month)cal._init(cal.firstDayOfWeek,date);}else{if(el.navtype==200){Calendar.removeClass(el,"hilite");cal.callCloseHandler();return;}date=new Date(cal.date);if(el.navtype==0)date.setDateOnly(new Date());cal.dateClicked=false;var year=date.getFullYear();var mon=date.getMonth();function setMonth(m){var day=date.getDate();var max=date.getMonthDays(m);if(day>max){date.setDate(max);}date.setMonth(m);};switch(el.navtype){case 400:Calendar.removeClass(el,"hilite");var text=Calendar._TT["ABOUT"];if(typeof text!="undefined"){text+=cal.showsTime?Calendar._TT["ABOUT_TIME"]:"";}else{text="Help and about box text is not translated into this language.\n"+"If you know this language and you feel generous please update\n"+"the corresponding file in \"lang\" subdir to match calendar-en.js\n"+"and send it back to <mihai_bazon@yahoo.com> to get it into the distribution  ;-)\n\n"+"Thank you!\n"+"http://dynarch.com/mishoo/calendar.epl\n";}alert(text);return;case -2:if(year>cal.minYear){date.setFullYear(year-1);}break;case -1:if(mon>0){setMonth(mon-1);}else if(year-->cal.minYear){date.setFullYear(year);setMonth(11);}break;case 1:if(mon<11){setMonth(mon+1);}else if(year<cal.maxYear){date.setFullYear(year+1);setMonth(0);}break;case 2:if(year<cal.maxYear){date.setFullYear(year+1);}break;case 100:cal.setFirstDayOfWeek(el.fdow);return;case 50:var range=el._range;var current=el.innerHTML;for(var i=range.length;--i>=0;)if(range[i]==current)break;if(ev&&ev.shiftKey){if(--i<0)i=range.length-1;}else if(++i>=range.length)i=0;var newval=range[i];el.innerHTML=newval;cal.onUpdateTime();return;case 0:if((typeof cal.getDateStatus=="function")&&cal.getDateStatus(date,date.getFullYear(),date.getMonth(),date.getDate())){return false;}break;}if(!date.equalsTo(cal.date)){cal.setDate(date);newdate=true;}else if(el.navtype==0)newdate=closing=true;}if(newdate){ev&&cal.callHandler();}if(closing){Calendar.removeClass(el,"hilite");ev&&cal.callCloseHandler();}};Calendar.prototype.create=function(_par){var parent=null;if(!_par){parent=document.getElementsByTagName("body")[0];this.isPopup=true;}else{parent=_par;this.isPopup=false;}this.date=this.dateStr?new Date(this.dateStr):new Date();var table=Calendar.createElement("table");this.table=table;table.cellSpacing=0;table.cellPadding=0;table.calendar=this;Calendar.addEvent(table,"mousedown",Calendar.tableMouseDown);var div=Calendar.createElement("div");this.element=div;div.className="calendar";if(this.isPopup){if(isIE)div.style.position="absolute";else div.style.position="absolute";div.style.display="none";}div.appendChild(table);var thead=Calendar.createElement("thead",table);var cell=null;var row=null;var cal=this;var hh=function(text,cs,navtype){cell=Calendar.createElement("td",row);cell.colSpan=cs;cell.className="button";if(navtype!=0&&Math.abs(navtype)<=2)cell.className+=" nav";Calendar._add_evs(cell);cell.calendar=cal;cell.navtype=navtype;cell.innerHTML="<div unselectable='on'>"+text+"</div>";return cell;};row=Calendar.createElement("tr",thead);var title_length=6;(this.isPopup)&&--title_length;(this.weekNumbers)&&++title_length;hh("?",1,400).ttip=Calendar._TT["INFO"];this.title=hh("",title_length,300);this.title.className="title";if(this.isPopup){this.title.ttip=Calendar._TT["DRAG_TO_MOVE"];this.title.style.cursor="move";hh("&#x00d7;",1,200).ttip=Calendar._TT["CLOSE"];}row=Calendar.createElement("tr",thead);row.className="headrow";this._nav_py=hh("&#x00ab;",1,-2);this._nav_py.ttip=Calendar._TT["PREV_YEAR"];this._nav_pm=hh("&#x2039;",1,-1);this._nav_pm.ttip=Calendar._TT["PREV_MONTH"];this._nav_now=hh(Calendar._TT["TODAY"],this.weekNumbers?4:3,0);this._nav_now.ttip=Calendar._TT["GO_TODAY"];this._nav_nm=hh("&#x203a;",1,1);this._nav_nm.ttip=Calendar._TT["NEXT_MONTH"];this._nav_ny=hh("&#x00bb;",1,2);this._nav_ny.ttip=Calendar._TT["NEXT_YEAR"];row=Calendar.createElement("tr",thead);row.className="daynames";if(this.weekNumbers){cell=Calendar.createElement("td",row);cell.className="name wn";cell.innerHTML=Calendar._TT["WK"];}for(var i=7;i>0;--i){cell=Calendar.createElement("td",row);if(!i){cell.navtype=100;cell.calendar=this;Calendar._add_evs(cell);}}this.firstdayname=(this.weekNumbers)?row.firstChild.nextSibling:row.firstChild;this._displayWeekdays();var tbody=Calendar.createElement("tbody",table);this.tbody=tbody;for(i=6;i>0;--i){row=Calendar.createElement("tr",tbody);if(this.weekNumbers){cell=Calendar.createElement("td",row);}for(var j=7;j>0;--j){cell=Calendar.createElement("td",row);cell.calendar=this;Calendar._add_evs(cell);}}if(this.showsTime){row=Calendar.createElement("tr",tbody);row.className="time";cell=Calendar.createElement("td",row);cell.className="time";cell.colSpan=2;cell.innerHTML=Calendar._TT["TIME"]||"&nbsp;";cell=Calendar.createElement("td",row);cell.className="time";cell.colSpan=this.weekNumbers?4:3;(function(){function makeTimePart(className,init,range_start,range_end){var part=Calendar.createElement("span",cell);part.className=className;part.innerHTML=init;part.calendar=cal;part.ttip=Calendar._TT["TIME_PART"];part.navtype=50;part._range=[];if(typeof range_start!="number")part._range=range_start;else{for(var i=range_start;i<=range_end;++i){var txt;if(i<10&&range_end>=10)txt='0'+i;else txt=''+i;part._range[part._range.length]=txt;}}Calendar._add_evs(part);return part;};var hrs=cal.date.getHours();var mins=cal.date.getMinutes();var t12=!cal.time24;var pm=(hrs>12);if(t12&&pm)hrs-=12;var H=makeTimePart("hour",hrs,t12?1:0,t12?12:23);var span=Calendar.createElement("span",cell);span.innerHTML=":";span.className="colon";var M=makeTimePart("minute",mins,0,59);var AP=null;cell=Calendar.createElement("td",row);cell.className="time";cell.colSpan=2;if(t12)AP=makeTimePart("ampm",pm?"pm":"am",["am","pm"]);else cell.innerHTML="&nbsp;";cal.onSetTime=function(){var pm,hrs=this.date.getHours(),mins=this.date.getMinutes();if(t12){pm=(hrs>=12);if(pm)hrs-=12;if(hrs==0)hrs=12;AP.innerHTML=pm?"pm":"am";}H.innerHTML=(hrs<10)?("0"+hrs):hrs;M.innerHTML=(mins<10)?("0"+mins):mins;};cal.onUpdateTime=function(){var date=this.date;var h=parseInt(H.innerHTML,10);if(t12){if(/pm/i.test(AP.innerHTML)&&h<12)h+=12;else if(/am/i.test(AP.innerHTML)&&h==12)h=0;}var d=date.getDate();var m=date.getMonth();var y=date.getFullYear();date.setHours(h);date.setMinutes(parseInt(M.innerHTML,10));date.setFullYear(y);date.setMonth(m);date.setDate(d);this.dateClicked=false;this.callHandler();};})();}else{this.onSetTime=this.onUpdateTime=function(){};}var tfoot=Calendar.createElement("tfoot",table);row=Calendar.createElement("tr",tfoot);row.className="footrow";cell=hh(Calendar._TT["SEL_DATE"],this.weekNumbers?8:7,300);cell.className="ttip";if(this.isPopup){cell.ttip=Calendar._TT["DRAG_TO_MOVE"];cell.style.cursor="move";}this.tooltips=cell;div=Calendar.createElement("div",this.element);this.monthsCombo=div;div.className="combo";for(i=0;i<Calendar._MN.length;++i){var mn=Calendar.createElement("div");mn.className=Calendar.is_ie?"label-IEfix":"label";mn.month=i;mn.innerHTML=Calendar._SMN[i];div.appendChild(mn);}div=Calendar.createElement("div",this.element);this.yearsCombo=div;div.className="combo";for(i=12;i>0;--i){var yr=Calendar.createElement("div");yr.className=Calendar.is_ie?"label-IEfix":"label";div.appendChild(yr);}this._init(this.firstDayOfWeek,this.date);parent.appendChild(this.element);};Calendar._keyEvent=function(ev){var cal=window._dynarch_popupCalendar;if(!cal||cal.multiple)return false;(Calendar.is_ie)&&(ev=window.event);var act=(Calendar.is_ie||ev.type=="keypress"),K=ev.keyCode;if(ev.ctrlKey){switch(K){case 37:act&&Calendar.cellClick(cal._nav_pm);break;case 38:act&&Calendar.cellClick(cal._nav_py);break;case 39:act&&Calendar.cellClick(cal._nav_nm);break;case 40:act&&Calendar.cellClick(cal._nav_ny);break;default:return false;}}else switch(K){case 32:Calendar.cellClick(cal._nav_now);break;case 27:act&&cal.callCloseHandler();break;case 37:case 38:case 39:case 40:if(act){var prev,x,y,ne,el,step;prev=K==37||K==38;step=(K==37||K==39)?1:7;function setVars(){el=cal.currentDateEl;var p=el.pos;x=p&15;y=p>>4;ne=cal.ar_days[y][x];};setVars();function prevMonth(){var date=new Date(cal.date);date.setDate(date.getDate()-step);cal.setDate(date);};function nextMonth(){var date=new Date(cal.date);date.setDate(date.getDate()+step);cal.setDate(date);};while(1){switch(K){case 37:if(--x>=0)ne=cal.ar_days[y][x];else{x=6;K=38;continue;}break;case 38:if(--y>=0)ne=cal.ar_days[y][x];else{prevMonth();setVars();}break;case 39:if(++x<7)ne=cal.ar_days[y][x];else{x=0;K=40;continue;}break;case 40:if(++y<cal.ar_days.length)ne=cal.ar_days[y][x];else{nextMonth();setVars();}break;}break;}if(ne){if(!ne.disabled)Calendar.cellClick(ne);else if(prev)prevMonth();else nextMonth();}}break;case 13:if(act)Calendar.cellClick(cal.currentDateEl,ev);break;default:return false;}return Calendar.stopEvent(ev);};Calendar.prototype._init=function(firstDayOfWeek,date){var today=new Date(),TY=today.getFullYear(),TM=today.getMonth(),TD=today.getDate();this.table.style.visibility="hidden";var year=date.getFullYear();if(year<this.minYear){year=this.minYear;date.setFullYear(year);}else if(year>this.maxYear){year=this.maxYear;date.setFullYear(year);}this.firstDayOfWeek=firstDayOfWeek;this.date=new Date(date);var month=date.getMonth();var mday=date.getDate();var no_days=date.getMonthDays();date.setDate(1);var day1=(date.getDay()-this.firstDayOfWeek)%7;if(day1<0)day1+=7;date.setDate(-day1);date.setDate(date.getDate()+1);var row=this.tbody.firstChild;var MN=Calendar._SMN[month];var ar_days=this.ar_days=new Array();var weekend=Calendar._TT["WEEKEND"];var dates=this.multiple?(this.datesCells={}):null;for(var i=0;i<6;++i,row=row.nextSibling){var cell=row.firstChild;if(this.weekNumbers){cell.className="day wn";cell.innerHTML=date.getWeekNumber();cell=cell.nextSibling;}row.className="daysrow";var hasdays=false,iday,dpos=ar_days[i]=[];for(var j=0;j<7;++j,cell=cell.nextSibling,date.setDate(iday+1)){iday=date.getDate();var wday=date.getDay();cell.className="day";cell.pos=i<<4|j;dpos[j]=cell;var current_month=(date.getMonth()==month);if(!current_month){if(this.showsOtherMonths){cell.className+=" othermonth";cell.otherMonth=true;}else{cell.className="emptycell";cell.innerHTML="&nbsp;";cell.disabled=true;continue;}}else{cell.otherMonth=false;hasdays=true;}cell.disabled=false;cell.innerHTML=this.getDateText?this.getDateText(date,iday):iday;if(dates)dates[date.print("%Y%m%d")]=cell;if(this.getDateStatus){var status=this.getDateStatus(date,year,month,iday);if(this.getDateToolTip){var toolTip=this.getDateToolTip(date,year,month,iday);if(toolTip)cell.title=toolTip;}if(status===true){cell.className+=" disabled";cell.disabled=true;}else{if(/disabled/i.test(status))cell.disabled=true;cell.className+=" "+status;}}if(!cell.disabled){cell.caldate=new Date(date);cell.ttip="_";if(!this.multiple&&current_month&&iday==mday&&this.hiliteToday){cell.className+=" selected";this.currentDateEl=cell;}if(date.getFullYear()==TY&&date.getMonth()==TM&&iday==TD){cell.className+=" today";cell.ttip+=Calendar._TT["PART_TODAY"];}if(weekend.indexOf(wday.toString())!=-1)cell.className+=cell.otherMonth?" oweekend":" weekend";}}if(!(hasdays||this.showsOtherMonths))row.className="emptyrow";}this.title.innerHTML=Calendar._MN[month]+", "+year;this.onSetTime();this.table.style.visibility="visible";this._initMultipleDates();};Calendar.prototype._initMultipleDates=function(){if(this.multiple){for(var i in this.multiple){var cell=this.datesCells[i];var d=this.multiple[i];if(!d)continue;if(cell)cell.className+=" selected";}}};Calendar.prototype._toggleMultipleDate=function(date){if(this.multiple){var ds=date.print("%Y%m%d");var cell=this.datesCells[ds];if(cell){var d=this.multiple[ds];if(!d){Calendar.addClass(cell,"selected");this.multiple[ds]=date;}else{Calendar.removeClass(cell,"selected");delete this.multiple[ds];}}}};Calendar.prototype.setDateToolTipHandler=function(unaryFunction){this.getDateToolTip=unaryFunction;};Calendar.prototype.setDate=function(date){if(!date.equalsTo(this.date)){this._init(this.firstDayOfWeek,date);}};Calendar.prototype.refresh=function(){this._init(this.firstDayOfWeek,this.date);};Calendar.prototype.setFirstDayOfWeek=function(firstDayOfWeek){this._init(firstDayOfWeek,this.date);this._displayWeekdays();};Calendar.prototype.setDateStatusHandler=Calendar.prototype.setDisabledHandler=function(unaryFunction){this.getDateStatus=unaryFunction;};Calendar.prototype.setRange=function(a,z){this.minYear=a;this.maxYear=z;};Calendar.prototype.callHandler=function(){if(this.onSelected){this.onSelected(this,this.date.print(this.dateFormat));}};Calendar.prototype.callCloseHandler=function(){if(this.onClose){this.onClose(this);}this.hideShowCovered();};Calendar.prototype.destroy=function(){var el=this.element.parentNode;el.removeChild(this.element);Calendar._C=null;window._dynarch_popupCalendar=null;};Calendar.prototype.reparent=function(new_parent){var el=this.element;el.parentNode.removeChild(el);new_parent.appendChild(el);};Calendar._checkCalendar=function(ev){var calendar=window._dynarch_popupCalendar;if(!calendar){return false;}var el=Calendar.is_ie?Calendar.getElement(ev):Calendar.getTargetElement(ev);for(;el!=null&&el!=calendar.element;el=el.parentNode);if(el==null){window._dynarch_popupCalendar.callCloseHandler();return Calendar.stopEvent(ev);}};Calendar.prototype.show=function(){var rows=this.table.getElementsByTagName("tr");for(var i=rows.length;i>0;){var row=rows[--i];Calendar.removeClass(row,"rowhilite");var cells=row.getElementsByTagName("td");for(var j=cells.length;j>0;){var cell=cells[--j];Calendar.removeClass(cell,"hilite");Calendar.removeClass(cell,"active");}}this.element.style.zIndex="2000";this.element.style.display="block";this.hidden=false;if(this.isPopup){window._dynarch_popupCalendar=this;Calendar.addEvent(document,"keydown",Calendar._keyEvent);Calendar.addEvent(document,"keypress",Calendar._keyEvent);Calendar.addEvent(document,"mousedown",Calendar._checkCalendar);}this.hideShowCovered();};Calendar.prototype.hide=function(){if(this.isPopup){Calendar.removeEvent(document,"keydown",Calendar._keyEvent);Calendar.removeEvent(document,"keypress",Calendar._keyEvent);Calendar.removeEvent(document,"mousedown",Calendar._checkCalendar);}this.element.style.display="none";this.hidden=true;this.hideShowCovered();};Calendar.prototype.showAt=function(x,y){var s=this.element.style;s.left=x+"px";s.top=y+"px";this.show();};Calendar.prototype.showAtElement=function(el,opts){var self=this;var p=Calendar.getAbsolutePos(el);if(!opts||typeof opts!="string"){this.showAt(p.x,p.y+el.offsetHeight);return true;}function fixPosition(box){if(box.x<0)box.x=0;if(box.y<0)box.y=0;var cp=document.createElement("div");var s=cp.style;s.position="absolute";s.right=s.bottom=s.width=s.height="0px";document.body.appendChild(cp);var br=Calendar.getAbsolutePos(cp);document.body.removeChild(cp);if(Calendar.is_ie){br.y+=document.body.scrollTop;br.x+=document.body.scrollLeft;}else{br.y+=window.scrollY;br.x+=window.scrollX;}var tmp=box.x+box.width-br.x;if(tmp>0)box.x-=tmp;tmp=box.y+box.height-br.y;if(tmp>0)box.y-=tmp;};this.element.style.display="block";Calendar.continuation_for_the_fucking_khtml_browser=function(){var w=self.element.offsetWidth;var h=self.element.offsetHeight;self.element.style.display="none";var valign=opts.substr(0,1);var halign="l";if(opts.length>1){halign=opts.substr(1,1);}switch(valign){case"T":p.y-=h;break;case"B":p.y+=el.offsetHeight;break;case"C":p.y+=(el.offsetHeight-h)/2;break;case"t":p.y+=el.offsetHeight-h;break;case"b":break;}switch(halign){case"L":p.x-=w;break;case"R":p.x+=el.offsetWidth;break;case"C":p.x+=(el.offsetWidth-w)/2;break;case"l":p.x+=el.offsetWidth-w;break;case"r":break;}p.width=w;p.height=h+40;self.monthsCombo.style.display="none";fixPosition(p);self.showAt(p.x,p.y);};if(Calendar.is_khtml)setTimeout("Calendar.continuation_for_the_fucking_khtml_browser()",10);else Calendar.continuation_for_the_fucking_khtml_browser();};Calendar.prototype.setDateFormat=function(str){this.dateFormat=str;};Calendar.prototype.setTtDateFormat=function(str){this.ttDateFormat=str;};Calendar.prototype.parseDate=function(str,fmt){if(!fmt)fmt=this.dateFormat;this.setDate(Date.parseDate(str,fmt));};Calendar.prototype.hideShowCovered=function(){if(!Calendar.is_ie&&!Calendar.is_opera)return;function getVisib(obj){var value=obj.style.visibility;if(!value){if(document.defaultView&&typeof(document.defaultView.getComputedStyle)=="function"){if(!Calendar.is_khtml)value=document.defaultView.getComputedStyle(obj,"").getPropertyValue("visibility");else value='';}else if(obj.currentStyle){value=obj.currentStyle.visibility;}else value='';}return value;};var tags=new Array("applet","select");var el=this.element;var p=Calendar.getAbsolutePos(el);var EX1=p.x;var EX2=el.offsetWidth+EX1;var EY1=p.y;var EY2=el.offsetHeight+EY1;for(var k=tags.length;k>0;){var ar=document.getElementsByTagName(tags[--k]);var cc=null;for(var i=ar.length;i>0;){cc=ar[--i];p=Calendar.getAbsolutePos(cc);var CX1=p.x;var CX2=cc.offsetWidth+CX1;var CY1=p.y;var CY2=cc.offsetHeight+CY1;if(this.hidden||(CX1>EX2)||(CX2<EX1)||(CY1>EY2)||(CY2<EY1)){if(!cc.__msh_save_visibility){cc.__msh_save_visibility=getVisib(cc);}cc.style.visibility=cc.__msh_save_visibility;}else{if(!cc.__msh_save_visibility){cc.__msh_save_visibility=getVisib(cc);}cc.style.visibility="hidden";}}}};Calendar.prototype._displayWeekdays=function(){var fdow=this.firstDayOfWeek;var cell=this.firstdayname;var weekend=Calendar._TT["WEEKEND"];for(var i=0;i<7;++i){cell.className="day name";var realday=(i+fdow)%7;if(i){cell.ttip=Calendar._TT["DAY_FIRST"].replace("%s",Calendar._DN[realday]);cell.navtype=100;cell.calendar=this;cell.fdow=realday;Calendar._add_evs(cell);}if(weekend.indexOf(realday.toString())!=-1){Calendar.addClass(cell,"weekend");}cell.innerHTML=Calendar._SDN[(i+fdow)%7];cell=cell.nextSibling;}};Calendar.prototype._hideCombos=function(){this.monthsCombo.style.display="none";this.yearsCombo.style.display="none";};Calendar.prototype._dragStart=function(ev){if(this.dragging){return;}this.dragging=true;var posX;var posY;if(Calendar.is_ie){posY=window.event.clientY+document.body.scrollTop;posX=window.event.clientX+document.body.scrollLeft;}else{posY=ev.clientY+window.scrollY;posX=ev.clientX+window.scrollX;}var st=this.element.style;this.xOffs=posX-parseInt(st.left);this.yOffs=posY-parseInt(st.top);with(Calendar){addEvent(document,"mousemove",calDragIt);addEvent(document,"mouseup",calDragEnd);}};Date._MD=new Array(31,28,31,30,31,30,31,31,30,31,30,31);Date.SECOND=1000;Date.MINUTE=60*Date.SECOND;Date.HOUR=60*Date.MINUTE;Date.DAY=24*Date.HOUR;Date.WEEK=7*Date.DAY;Date.parseDate=function(str,fmt){var today=new Date();var y=0;var m=-1;var d=0;var a=str.split(/\W+/);var b=fmt.match(/%./g);var i=0,j=0;var hr=0;var min=0;for(i=0;i<a.length;++i){if(!a[i])continue;switch(b[i]){case"%d":case"%e":d=parseInt(a[i],10);break;case"%m":m=parseInt(a[i],10)-1;break;case"%Y":case"%y":y=parseInt(a[i],10);(y<100)&&(y+=(y>29)?1900:2000);break;case"%b":case"%B":for(j=0;j<12;++j){if(Calendar._MN[j].substr(0,a[i].length).toLowerCase()==a[i].toLowerCase()){m=j;break;}}break;case"%H":case"%I":case"%k":case"%l":hr=parseInt(a[i],10);break;case"%P":case"%p":if(/pm/i.test(a[i])&&hr<12)hr+=12;else if(/am/i.test(a[i])&&hr>=12)hr-=12;break;case"%M":min=parseInt(a[i],10);break;}}if(isNaN(y))y=today.getFullYear();if(isNaN(m))m=today.getMonth();if(isNaN(d))d=today.getDate();if(isNaN(hr))hr=today.getHours();if(isNaN(min))min=today.getMinutes();if(y!=0&&m!=-1&&d!=0)return new Date(y,m,d,hr,min,0);y=0;m=-1;d=0;for(i=0;i<a.length;++i){if(a[i].search(/[a-zA-Z]+/)!=-1){var t=-1;for(j=0;j<12;++j){if(Calendar._MN[j].substr(0,a[i].length).toLowerCase()==a[i].toLowerCase()){t=j;break;}}if(t!=-1){if(m!=-1){d=m+1;}m=t;}}else if(parseInt(a[i],10)<=12&&m==-1){m=a[i]-1;}else if(parseInt(a[i],10)>31&&y==0){y=parseInt(a[i],10);(y<100)&&(y+=(y>29)?1900:2000);}else if(d==0){d=a[i];}}if(y==0)y=today.getFullYear();if(m!=-1&&d!=0)return new Date(y,m,d,hr,min,0);return today;};Date.prototype.getMonthDays=function(month){var year=this.getFullYear();if(typeof month=="undefined"){month=this.getMonth();}if(((0==(year%4))&&((0!=(year%100))||(0==(year%400))))&&month==1){return 29;}else{return Date._MD[month];}};Date.prototype.getDayOfYear=function(){var now=new Date(this.getFullYear(),this.getMonth(),this.getDate(),0,0,0);var then=new Date(this.getFullYear(),0,0,0,0,0);var time=now-then;return Math.floor(time/Date.DAY);};Date.prototype.getWeekNumber=function(){var d=new Date(this.getFullYear(),this.getMonth(),this.getDate(),0,0,0);var DoW=d.getDay();d.setDate(d.getDate()-(DoW+6)%7+3);var ms=d.valueOf();d.setMonth(0);d.setDate(4);return Math.round((ms-d.valueOf())/(7*864e5))+1;};Date.prototype.equalsTo=function(date){return((this.getFullYear()==date.getFullYear())&&(this.getMonth()==date.getMonth())&&(this.getDate()==date.getDate())&&(this.getHours()==date.getHours())&&(this.getMinutes()==date.getMinutes()));};Date.prototype.setDateOnly=function(date){var tmp=new Date(date);this.setDate(1);this.setFullYear(tmp.getFullYear());this.setMonth(tmp.getMonth());this.setDate(tmp.getDate());};Date.prototype.print=function(str){var m=this.getMonth();var d=this.getDate();var y=this.getFullYear();var wn=this.getWeekNumber();var w=this.getDay();var s={};var hr=this.getHours();var pm=(hr>=12);var ir=(pm)?(hr-12):hr;var dy=this.getDayOfYear();if(ir==0)ir=12;var min=this.getMinutes();var sec=this.getSeconds();s["%a"]=Calendar._SDN[w];s["%A"]=Calendar._DN[w];s["%b"]=Calendar._SMN[m];s["%B"]=Calendar._MN[m];s["%C"]=1+Math.floor(y/100);s["%d"]=(d<10)?("0"+d):d;s["%e"]=d;s["%H"]=(hr<10)?("0"+hr):hr;s["%I"]=(ir<10)?("0"+ir):ir;s["%j"]=(dy<100)?((dy<10)?("00"+dy):("0"+dy)):dy;s["%k"]=hr;s["%l"]=ir;s["%m"]=(m<9)?("0"+(1+m)):(1+m);s["%M"]=(min<10)?("0"+min):min;s["%n"]="\n";s["%p"]=pm?"PM":"AM";s["%P"]=pm?"pm":"am";s["%s"]=Math.floor(this.getTime()/1000);s["%S"]=(sec<10)?("0"+sec):sec;s["%t"]="\t";s["%U"]=s["%W"]=s["%V"]=(wn<10)?("0"+wn):wn;s["%u"]=w+1;s["%w"]=w;s["%y"]=(''+y).substr(2,2);s["%Y"]=y;s["%%"]="%";var re=/%./g;if(!Calendar.is_ie5&&!Calendar.is_khtml)return str.replace(re,function(par){return s[par]||par;});var a=str.match(re);for(var i=0;i<a.length;i++){var tmp=s[a[i]];if(tmp){re=new RegExp(a[i],'g');str=str.replace(re,tmp);}}return str;};Date.prototype.__msh_oldSetFullYear=Date.prototype.setFullYear;Date.prototype.setFullYear=function(y){var d=new Date(this);d.__msh_oldSetFullYear(y);if(d.getMonth()!=this.getMonth())this.setDate(28);this.__msh_oldSetFullYear(y);};window._dynarch_popupCalendar=null;

/*../vendor/calendar/calendar-setup.js*/

Calendar.setup=function(params){function param_default(pname,def){if(typeof params[pname]=="undefined"){params[pname]=def;}};param_default("inputField",null);param_default("displayArea",null);param_default("button",null);param_default("eventName","click");param_default("ifFormat","%Y/%m/%d");param_default("daFormat","%Y/%m/%d");param_default("singleClick",true);param_default("disableFunc",null);param_default("dateStatusFunc",params["disableFunc"]);param_default("dateText",null);param_default("firstDay",null);param_default("align","Br");param_default("range",[1900,2999]);param_default("weekNumbers",true);param_default("flat",null);param_default("flatCallback",null);param_default("onSelect",null);param_default("onClose",null);param_default("onUpdate",null);param_default("date",null);param_default("showsTime",false);param_default("timeFormat","24");param_default("electric",true);param_default("step",1);param_default("position",null);param_default("cache",false);param_default("showOthers",false);param_default("multiple",null);var tmp=["inputField","displayArea","button"];for(var i in tmp){if(typeof params[tmp[i]]=="string"){params[tmp[i]]=document.getElementById(params[tmp[i]]);}}if(!(params.flat||params.multiple||params.inputField||params.displayArea||params.button)){alert("Calendar.setup:\n  Nothing to setup (no fields found).  Please check your code");return false;}function onSelect(cal){var p=cal.params;var update=(cal.dateClicked||p.electric);if(update&&p.inputField){p.inputField.value=cal.date.print(p.ifFormat);if(typeof p.inputField.onchange=="function")p.inputField.onchange();}if(update&&p.displayArea)p.displayArea.innerHTML=cal.date.print(p.daFormat);if(update&&typeof p.onUpdate=="function")p.onUpdate(cal);if(update&&p.flat){if(typeof p.flatCallback=="function")p.flatCallback(cal);}if(update&&p.singleClick&&cal.dateClicked)cal.callCloseHandler();};if(params.flat!=null){if(typeof params.flat=="string")params.flat=document.getElementById(params.flat);if(!params.flat){alert("Calendar.setup:\n  Flat specified but can't find parent.");return false;}var cal=new Calendar(params.firstDay,params.date,params.onSelect||onSelect);cal.showsOtherMonths=params.showOthers;cal.showsTime=params.showsTime;cal.time24=(params.timeFormat=="24");cal.params=params;cal.weekNumbers=params.weekNumbers;cal.setRange(params.range[0],params.range[1]);cal.setDateStatusHandler(params.dateStatusFunc);cal.getDateText=params.dateText;if(params.ifFormat){cal.setDateFormat(params.ifFormat);}if(params.inputField&&typeof params.inputField.value=="string"){cal.parseDate(params.inputField.value);}cal.create(params.flat);cal.show();return false;}var triggerEl=params.button||params.displayArea||params.inputField;triggerEl["on"+params.eventName]=function(){var dateEl=params.inputField||params.displayArea;var dateFmt=params.inputField?params.ifFormat:params.daFormat;var mustCreate=false;var cal=window.calendar;if(dateEl)params.date=Date.parseDate(dateEl.value||dateEl.innerHTML,dateFmt);if(!(cal&&params.cache)){window.calendar=cal=new Calendar(params.firstDay,params.date,params.onSelect||onSelect,params.onClose||function(cal){cal.hide();});cal.showsTime=params.showsTime;cal.time24=(params.timeFormat=="24");cal.weekNumbers=params.weekNumbers;mustCreate=true;}else{if(params.date)cal.setDate(params.date);cal.hide();}if(params.multiple){cal.multiple={};for(var i=params.multiple.length;--i>=0;){var d=params.multiple[i];var ds=d.print("%Y%m%d");cal.multiple[ds]=d;}}cal.showsOtherMonths=params.showOthers;cal.yearStep=params.step;cal.setRange(params.range[0],params.range[1]);cal.params=params;cal.setDateStatusHandler(params.dateStatusFunc);cal.getDateText=params.dateText;cal.setDateFormat(dateFmt);if(mustCreate)cal.create();cal.refresh();if(!params.position)cal.showAtElement(params.button||params.displayArea||params.inputField,params.align);else cal.showAt(params.position[0],params.position[1]);return false;};return cal;};

/*../vendor/calendar/calendar-en.js*/

Calendar._DN=new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday");Calendar._SDN=new Array("Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sun");Calendar._FD=0;Calendar._MN=new Array("January","February","March","April","May","June","July","August","September","October","November","December");Calendar._SMN=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");Calendar._TT={};Calendar._TT["INFO"]="About the calendar";Calendar._TT["ABOUT"]="DHTML Date/Time Selector\n"+"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n"+"For latest version visit: http://www.dynarch.com/projects/calendar/\n"+"Distributed under GNU LGPL.  See http://gnu.org/licenses/lgpl.html for details."+"\n\n"+"Date selection:\n"+"- Use the \xab, \xbb buttons to select year\n"+"- Use the "+String.fromCharCode(0x2039)+", "+String.fromCharCode(0x203a)+" buttons to select month\n"+"- Hold mouse button on any of the above buttons for faster selection.";Calendar._TT["ABOUT_TIME"]="\n\n"+"Time selection:\n"+"- Click on any of the time parts to increase it\n"+"- or Shift-click to decrease it\n"+"- or click and drag for faster selection.";Calendar._TT["PREV_YEAR"]="Prev. year (hold for menu)";Calendar._TT["PREV_MONTH"]="Prev. month (hold for menu)";Calendar._TT["GO_TODAY"]="Go Today";Calendar._TT["NEXT_MONTH"]="Next month (hold for menu)";Calendar._TT["NEXT_YEAR"]="Next year (hold for menu)";Calendar._TT["SEL_DATE"]="Select date";Calendar._TT["DRAG_TO_MOVE"]="Drag to move";Calendar._TT["PART_TODAY"]=" (today)";Calendar._TT["DAY_FIRST"]="Display %s first";Calendar._TT["WEEKEND"]="0,6";Calendar._TT["CLOSE"]="Close";Calendar._TT["TODAY"]="Today";Calendar._TT["TIME_PART"]="(Shift-)Click or drag to change value";Calendar._TT["DEF_DATE_FORMAT"]="%Y-%m-%d";Calendar._TT["TT_DATE_FORMAT"]="%a, %b %e";Calendar._TT["WK"]="wk";Calendar._TT["TIME"]="Time:";

/*listshare.js*/

// functions related to sharing pages
var shareDlg = "";
var fromPage = "";
var singleShare = "";
function showSharePopup()
{
	share = true;
	
	var url = '/app/dashboard/sharePopup.php';
	var myQs = new Querystring();
	var ps = myQs.get("ps");
	var aid = myQs.get("aid");
	if($('divSharePopup')==null)
	{			
		var queryString = '';
		if(ps=='1')
			queryString = "divnull=1&ps=1&aid="+aid;
		else if ( aid != null && aid != '' )
			queryString = "divnull=1&aid="+aid;		
		else
			queryString = "divnull=1";

		queryString += "&from=listsrch";

		ajaxRequest(url,queryString,function showResponseShare(originalRequest)
		{
			var response = originalRequest.responseText;
			var myDiv = document.createElement('div');
			myDiv.innerHTML = response;
			document.body.appendChild(myDiv);
			shareDlg = createDialog("divSharePopup");
			$('divSharePopup').parentNode.style.zIndex = 12;
			shareDlg.beforeHideEvent.subscribe(beforeHideShare, this);
			shareDlg.beforeShowEvent.subscribe(beforeShowShare, this);
			
			getShareUrl();
		});					
	}
	else
	{
		var queryString = '';
		if(ps=='1')
			queryString = "&ps=1&aid="+aid;
		else if ( aid != null && aid != '' )
			queryString = "&aid="+aid;		
		else
			queryString = "";

		queryString += "&from=listsrch";

		loadToDiv(url,queryString,'innerShareDiv',function(request)
		{
			var response = request.responseText;
			getShareUrl();
		});
	}
}
function getShareUrl()
{
	var url = '/app/dashboard/sharePopup.php?from=listsrch';
	
	ajaxRequest(url,'',responseIds);
}

function responseIds(originalRequest)
{
	var response = originalRequest.responseText;
	var res = response.split("_");
	
	if(fromPage=='emailToFriend')
		$('txtShowUrl').value = res[1];

	$('divSharePopup').style.display = 'block';
	shareDlg.show();
}

function sendShareMail()
{
		if(!isBlank('txtFromEmail','Your email address'))
		{
			$('errShare').innerHTML = '<span class="errorMsg">'+alertErrorMsg+'</span>';
			$('txtFromEmail').className = 'textboxRed';
			return false;
		}
		if(!emailIsValid('txtFromEmail'))
		{
			$('errShare').innerHTML = '<span class="errorMsg">'+alertErrorMsg+'</span>';
			$('txtFromEmail').className = 'textboxRed';
			return false;
		}
		else if(!isBlank('txtToEmail','To Email Address.'))
		{
			$('errShare').innerHTML = '<span class="errorMsg">Please provide at least one recipient email id.</span>';
			$('txtToEmail').className = 'textboxRed';
			$('txtFromEmail').className = 'textbox';
			return false;
		}
		else
		{
			var toArr = ($('txtToEmail').value).split(',');
			for(i=0;i<toArr.length;i++) 
			{
				//alert(toArr[i]);
				var filter=/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
				//toArr[i] = trim(toArr[i]);
				if(trim(toArr[i])!='')
				{
					if (filter.test(trim(toArr[i])))
						{
							var testResults = true;
						}
					else
						{ 	
							//$('errShare').innerHTML = '<span class="errorMsg">Please enter valid email addresses in recipient\'s Email</span>';
							$('errShare').innerHTML = '<span class="errorMsg">Please input valid email addresses in recipients!</span>';
							$('txtToEmail').className = 'textboxRed';
							return false;
						}
				}
			}
		}
		
		$('errShare').innerHTML = '&nbsp;';
		$('txtToEmail').className = "textbox";		
		$('txtFromEmail').className = "textbox";	
		
		if(fromPage == 'emailToFriend')
			fromPage = "";
		if(singleShare==true)
			var shareType = 'Single Property';
		else if(fromPage=='singleProp')
			var shareType = 'Map It';
		else 
		  	var shareType = 'Dashboard';
		var url = '/app/dashboard/sharePopup.php';
		//var toArr = $('txtToEmail').value;
		var myQs = new Querystring();
		var aid = myQs.get("aid");
		var link = $('txtShowUrl').value;
		var queryString="&from=listsrch&by=email";
		queryString = queryString+"&from="+shareType;
		queryString = queryString+"&fromEmail="+escape($('txtFromEmail').value);
		queryString = queryString+"&toArr="+toArr.without('');
		queryString = queryString+"&desc="+escape($('txtDesc').value);
		queryString = queryString+"&link="+escape($('txtGeneratedUrl').value);
		
		if (aid != null && aid != '' )
			queryString = queryString+"&aid="+aid;
			
		if($('chkMe').checked==true)
			queryString = queryString+"&sendMe=1";
		ajaxRequest(url,queryString,responseShareMail);
		
}
function responseShareMail(originalRequest)
{
	var response = originalRequest.responseText;
	if(trim(response)=='mail sent')
		$('errShare').innerHTML =  '<span class="moduleLableText" style="color:gray;">Mail has been sent. </span>'; //<span onclick="publishEmailDlg.hide();" class="errorMsg crsr">[close]</span>'
	else
		$('errShare').innerHTML =  '<span class="moduleLableText" style="color:gray;">Mail has been sent. </span>'; //<span onclick="publishEmailDlg.hide();" class="errorMsg crsr">[close]</span>'
	//Open The code for shareDlgHide
	setTimeout('shareDlg.hide();',800);
	clearAll();
}
function clearAll()
{
		$('txtToEmail').value = '';
}

function beforeHideShare()
{
	$('divSharePopup').style.display = 'none';
	share = false;
}
function beforeShowShare()
{
	$('divSharePopup').style.display = 'block';
}


/*propertySearch.js*/

var drawNbrHoodMap = false;
var recLimitArr = new Array('sevengables');
var roloUse = false;
var fromMarketReport="";
var emlSaveSearchDlg;
var oldMapData;
var map2 = undefined;
var localBitArr = new Array();
var chkAlertStatus='';
var selFavGrps = "";
var currView = "s";
var imgArr;
var ctr0=0;
var ctr1=0;
var ctr2=0;
var ctr3=0;
var ctr4=0;
var ctr5=0;
var isIE = document.all?1:0;
var isIE6 = (window.XMLHttpRequest)?0:1;
var usrAgt = navigator.userAgent.toLowerCase();
var isFF2 = (usrAgt.indexOf('firefox/2')!=-1)?1:0;
var isFF3 = (usrAgt.indexOf('firefox/3')!=-1)?1:0;
var isSafari = (usrAgt.indexOf('safari')!=-1)?1:0;
var imgThmPath = "/wt/"+bkTheme+"/images/";
var qryStrHash = new $H();
var totalRecords;
var lastView = "";
var chkPSAr = new Array();
var alertMlsNo	= ""; 
var alertPrice	= "";
var alertStatus = "";
var alertTid	= "";
var alertAddress = "";
var alertCity	= "";
var	alertState	= "";
var	alertZip	= "";
var latLong = "";

function num2moneyWrapper(num)
{
	if(num=="0" || num=="0.0" || num=="0.00" || num == "00000") 
		return "0";
	else 
		return num2money(num);
}
function exploreEnter(e)
{
	if(e.keyCode == 13)
	{
		disablePower = true;
		doPropSearch();	
	}
}
function clearSelVal(event)
{
	if(event && event.keyCode != 13 && event.type == 'keypress')
	{
		$('selVal').value='';			
	}
}
function loadView(actView)
{
	switch(actView)
	{
		case 'G':				 
				 if(lastView == "galleryView" && $('fromPage').value != "listView")
				 {
					qryStrHash['fromPage'] = "galleryView";
					extendMap('s');
				 }
				 else
				 {
					 $('fromPage').value = "galleryView";
					 clearAllFav();
					 doPropSearch();
				 }
				 break;
		case 'M':
				$('fromPage').value = "mapView"; 
				if (typeof(map2) == "undefined")
				{
					hideMapList();
				}			 
				extendMap('l');
				break;
		case 'L':				
				 if(lastView == "listView"  && $('fromPage').value != "galleryView")
				 {
					qryStrHash['fromPage'] = "listView";
					extendMap('s');
				 }
				 else
				 {
					 $('fromPage').value = "listView";
					 doPropSearch();
				 }
				 break;
	}	
}

function checkForOpenHome()
{
		if(trim(getSearchCookie('area')) != "")
			qryStrHash['area'] = trim(getSearchCookie('area'));
		if(trim(getSearchCookie('polygon')) != "")
			qryStrHash['polygon'] = trim(getSearchCookie('polygon'));
		//-------------------------CHECKING FOR SUB - NEIGHBORHOOD---------------------//		
		qryStrHash.each(function(pair)
		{	
			//alert(pair.key + " == "+pair.value);
			setSearchCookie(pair.key,pair.value);		
		});
		url = '/openHomes/navigator.php?';
		
		var nhood = getSearchCookie('neighborhood');
		if(nhood)
			url += 'nhood=' + nhood.replace(/\s/g, '_');

		var qs = new Querystring();
		if(qs.get("frm") != null && trim(qs.get("frm")) == 'agt' && qs.get("aid") != null)
		{
			url += "&frm="+trim(qs.get("frm"))+"&aid="+trim(qs.get("aid"));
		}
		if(qs.get("ps") != null )
		{
			url += "&ps="+trim(qs.get("ps"));
		}
		location.href=url;
}

function checkForForeclosure()
{
		url = '/app/listing/foreclosureListing.php?';
		
		var qs = new Querystring();
		if(qs.get("frm") != null && trim(qs.get("frm")) == 'agt' && qs.get("aid") != null)
		{
			url += "&frm="+trim(qs.get("frm"))+"&aid="+trim(qs.get("aid"));
		}
		if(qs.get("ps") != null )
		{
			url += "&ps="+trim(qs.get("ps"));
		}
		$('frmPropSearch').action = url;
		$('frmPropSearch').submit();
		//location.href=url;
}

function doPropSearch()
{		
	if(typeof(setMapZoomOutLimit) != "undefined")
		setMapZoomOutLimit = 0;
	if($('frmPropSearch')) { $('frmPropSearch').action = "";}
	nbrPolyline = "";
	if($('propHeroDiv')) $('propHeroDiv').hide();
	if($('mapHeader')) $('mapHeader').hide();	
	if( qryStrHash['fromPage'] != 'undefined' && qryStrHash['fromPage'] != null && qryStrHash['fromPage'] != "mapView")
		lastView = qryStrHash['fromPage'];	
	
	//----GETTING OLD VAL FOR LISTING TYPE. IF "FAVORITES" THEN NO NEED TO LOAD FAV-GRP-POPUP (B4  validateRSCriteriaNew())---//
	var lastListing = trim(getSearchCookie("searchCriteria"));
	if(lastListing == "favorites" && $F('bit_select_box') == 'favorites')
	{
		$('pagiVal').value = 0;
		$('sortProp').value = "ph";
		selFavGrps = qryStrHash['grp'] ;		
	}
	if(validateRSCriteriaNew())
	{
		if(chkSignInReqd == "1" && uid == "")
		{
			var drMpUrl = '/Search/';
			if(trim(getSearchCookie('city')) != "")
				drMpUrl += trim(getSearchCookie('state'))+'/'+trim(getSearchCookie('city'));
			var qstr = new Querystring();		
			if(qstr.get("frm") != null && qstr.get("aid") != null)
				drMpUrl += '&frm=agt&aid='+ trim(qstr.get("aid"));
			
			if(trim($F("txtPolygon")) != "")
			{
				var polyEncodeStr = encodePolygonToStr(trim($F("txtPolygon")));
				setSearchCookie("polygon",polyEncodeStr);
			}
			if($F("txtArea") != "")
				setSearchCookie("area",$F("txtArea"));

			opensignInRegDlg(drMpUrl,'C');
			return;
		}

		if($('mainResTbl')) { $('mainResTbl').style.height="630px"; $('mainResTbl').show();}
		if($('resContainer')) { $('resContainer').style.height="1080px"; $('resContainer').show(); }
		if($('recOperationTbl')) { $('recOperationTbl').show(); }	

		//------------ CODE FOR CLEAR LOCAL SEARCH AND REMOVE MAP OVERLAY ------------ 
		localBitArr = [];
		if(typeof(map2) == "object") map2.clearOverlays();		

		//------------  IF OPEN HOME THEN REDIRCT ON OPEN HOME NAVIGATE PAGE------------//
		if(bkTheme == 'atproperties' && $('chkOpnHome')  && $('chkOpnHome').checked)
		{
			setSearchCookie("searchCriteria","brokeropenHome");
			checkForOpenHome();
			return;
		}

		if(bkTheme == 'johngreene' && $('Foreclosure')  && $('Foreclosure').checked)
		{
			checkForForeclosure();
			return;
		}
		
		//alert("lastView: == " + lastView + " === CurrView: "+qryStrHash['fromPage']);

		hideSavedSearch($('bit_select_box'));

		/**************** Reload Page For Power Search (clear cookie and load consumer view) -- sandip **************/
			
		if(initPower && typeof(initPower) != "undefined" && disablePower && typeof(disablePower) != "undefined")
		{
			initPower = false;
			disablePower = false;

			var powerUrl = '/Search/';
			if(trim(getSearchCookie('city')) != "")
				powerUrl += trim(getSearchCookie('state'))+'/'+trim(getSearchCookie('city'));
			
			var qstr = new Querystring();		
			if(qstr.get("frm") != null && qstr.get("aid") != null)
				powerUrl += '?frm=agt&aid='+ trim(qstr.get("aid"));
			
			ClrQckSrchCookies();
			var host = "http://"+window.location.hostname+powerUrl;
			window.location.href = host;			
		}

		/************************************************************************************************************/

		//****************************IF FAVORITE LISTING COMES*******************************//
		if($F('bit_select_box') == 'favorites')
		{	
			if(typeof(uid) == "undefined" || uid == "" || uid == null)
			{
				/*
				if(typeof(SignInDlg) == "string" || typeof(SignInDlg) == "undefined" || SignInDlg == null)
				{
					if($('divSignInFrm')) 
					{ 
						$('divSignInFrm').style.display = '';			
						if(typeof(createDialog) == "function")
							SignInDlg = createDialog('divSignInFrm');
					}
				}
				SignInDlg.beforeHideEvent.subscribe(beforeHideSignInFrm, this);
				SignInDlg.beforeShowEvent.subscribe(beforeShowSignInFrm, this);
				$('divSignInFrm').style.dispaly = 'block';			
				$('userName').value = "";
				$('userPwd').value = "";
				$('userName').className="textboxSotheby";
				$('userPwd').className="textboxSotheby";
				$('errSysLogin').innerHTML="&nbsp;";
				if($("fromWhere")) $("fromWhere").value = "listing";
				if($("signInRoloLnk")) $("signInRoloLnk").href  = '/app/auth/login.php';
				var qs = new Querystring();
				if(qs.get("frm") != null && qs.get("aid") != null)
					$("signInRoloLnk").href += "?agd="+trim(qs.get("aid"));	
				SignInDlg.show();			
				$('userName').focus();
				*/						
				var mrUrl = window.location.href;
				opensignInRegDlg(mrUrl,'R','','');
			}
			else
			{	
				if(lastListing != $F('bit_select_box') || typeof(selFavGrps) == 'undefined' || selFavGrps == "")	
					showFavPopupDualPane("listing");	
				else
				{	
					removePolyRelated();
					qryStrHash['uid'] = uid;
					qryStrHash['grp'] = selFavGrps;
					setUpDown();
				}
			}		
			return;		
		}
		setUpDown();
	}	
}

function setUpDown()
{
	if(!renderRecLimit())
	{
		$('pagiVal').value = parseInt(qryStrHash['page']) - 1;
		return false;
	}
	$('lrgSmlMapDiv').show();
	$('viewTabTbl').hide();
	if($('msgTable'))	$('msgTable').hide(); // for message - santafe and sandia 	
	$('mainContainerTbl').className='mainContainerTbl1';
	$('noRecTbl').hide();
	var pageNo = $F('pagiVal');
	pageNo = parseInt(pageNo)+1;
	qryStrHash['page'] =  pageNo;
	
	if(qryStrHash['fromPage'] == "mapView")
	{
		if(lastView == "galleryView")
			recordPerPage = galleryRecPerPage;
		else 
			recordPerPage = propRecPerPage;
	}
	qryStrHash["limit"] = recordPerPage;
	if(typeof(nbrStoreArr) == "object" && nbrStoreArr.length > 0)
	{		
		var nbrString = cmImplodeArr(nbrStoreArr,",");
		qryStrHash['mul_nbrhood'] = nbrString;	
		setSearchCookie("mul_nbrhood",nbrString);
	}

	/*
	sortType = $F('highLowVal');
	if(sortType == "1")
	{
		strHtml = "<img src='"+imgThmPath+"listing/up_d.gif' id='lblAscC' title='Up'>&nbsp;<img src='"+imgThmPath+"listing/down_a.gif' id='lblDescC' class='upDownLink crsr' onclick='$(\"pagiVal\").value=0;$(\"highLowVal\").value=\"0\";sortProperty($(\"sortProp\"));' title='Down'/>";			
	}                        
	else
	{
		strHtml = "<img title='Up' src='"+imgThmPath+"listing/up_a.gif' id='lblAscC' class='upDownLink crsr' onclick='$(\"pagiVal\").value=0;$(\"highLowVal\").value=\"1\"; sortProperty($(\"sortProp\"));'/>&nbsp;<img title='Down' src='"+imgThmPath+"listing/down_d.gif' id='lblDescC' class='upDownLabel'/>";			
	}
	$("spnUpDown").innerHTML = strHtml;
	*/

	var queryStr = new Querystring();

	makeTabActive(qryStrHash['fromPage']);
	var qs = "";	
	var url = "";
	var area = "";
	var polygon = "";

	if(initPower && typeof(initPower) != "undefined")
	{
		var url = '/app/dashboard/powerSearchListing.php';
		area = getSearchCookie("area");
		if(trim(getSearchCookie("polygon")) != "")
		{
			var decodedPolyStr = decodeStrToPolygon(trim(getSearchCookie("polygon")));
			polygon = decodedPolyStr;
		}
		qs = getPowerSearchCookie();
		qs = qs.substr(1,qs.length);

		if(qryStrHash['fromPage'] == "mapView")
			qs += '&fromPage=' + lastView;
		else
			qs += '&fromPage=' + qryStrHash['fromPage'];

		qs += "&page="+qryStrHash['page']+"&limit="+qryStrHash['limit'];

		qs += "&MultiCity="+trim(getSearchCookie("multicity"));
		qs += "&MultiZip="+trim(getSearchCookie("multizip"));

		if(trim(aid) != "") qs += "&agtid="+aid;
	}
	else
	{
		url = '/app/dashboard/mlsPropertyListings.php';
		qryStrHash.each(function(pair)
		{	if(pair.key == "fromPage" &&  pair.value == "mapView")
			{			
				qs += '&' + pair.key + '=' + lastView;	
			}
			else
				qs += '&' + pair.key + '=' + pair.value;		
		});

		area = trim($("txtArea").value);
		polygon = trim($F("txtPolygon"));

		if(trim(strAgtMlsSrc) != "") 
		{ 
			var mlsSrc = strAgtMlsSrc.replace(/\+/g,' ');
			qs += '&mlsSource='+mlsSrc;
			setSearchCookie("mlsSource",mlsSrc);
		}

		if(trim(aid) != "") qs += "&aid="+aid;
	}

	/**********************************************************************************/
	
	if(area != "" && !area.include("|"))
	{
		area = area.replace(/\ /g,"");
		area = area.replace("((","");
		area = area.replace("))","");
		area = area.replace("),(",",");
		area = area.split(",");				
		qs += "&minlat="+area[0];
		qs += "&minlong="+area[1];
		qs += "&maxlat="+area[2];
		qs += "&maxlong="+area[3];
	}
	else if(area != "")
	{
		mapArr = area.split("|");
		var minLat = "";
		var minLong = "";
		
		var maxLat = "";
		var maxLong = "";

		for(var i=0;i<mapArr.length;i++)
		{
			mapArr[i] = mapArr[i].replace(/\ /g,"");
			var areaArr = mapArr[i].split(",");
			minLat += areaArr[0].replace("((","")+",";
			minLong += areaArr[1].replace(")","")+",";
			
			maxLat += areaArr[2].replace("(","")+",";
			maxLong += areaArr[3].replace("))","")+",";
		}
		minLat = minLat.substr(0,minLat.length-1);
		minLong = minLong.substr(0,minLong.length-1);
		maxLat = maxLat.substr(0,maxLat.length-1);
		maxLong = maxLong.substr(0,maxLong.length-1);						

		qs += "&minlat="+minLat;
		qs += "&minlong="+minLong;
		qs += "&maxlat="+maxLat;
		qs += "&maxlong="+maxLong;
	}
	if(trim(polygon) != "")
	{		
		var polyEncodeStr = encodePolygonToStr(polygon);

		qs +=  "&polygon="+trim(polygon);
		setSearchCookie("polygon",polyEncodeStr);
	
		if($("drawSerArea")) $("drawSerArea").hide();
		if($("clrSerArea")) $("clrSerArea").show();
	}

	if(area != "")
		setSearchCookie("area",area);
	/**********************************************************************************/
	
	
	//alert(url +" --- "+ qs);	
	$('loaderLogin').show();
	$('recOperationDiv').hide();
	$('botPagiRow').hide();
	ajaxRequest(url,qs,function(r)
	{	
		rsText = r.responseText; 		
		posAlert = rsText.indexOf('Alert:',0);
		if(posAlert == -1)
		{	
			if($('schoolratingsdiv')) $('schoolratingsdiv').show();
			if($('areaphotosdiv')) $('areaphotosdiv').show();
			$('viewTabTbl').show();				
			resArr=rsText.split('=^^=');
			response =  eval('(' + trim(resArr[2]) + ')');
			totalRecords = resArr[0];
			mapData = response;							
			showPaging(totalRecords);
			if($('msgTable'))	customMsg();	// for message - santafe and sandia 
			var htmlPart = resArr[1];			
			$("mapDiv").hide();			
			$('recOperationDiv').show();
			var totRecHtml = totalRecords + " Properties Found";
			if(parseInt(totalRecords) == 1)
				totRecHtml = totalRecords + " Property Found";
			$('resCntDiv').innerHTML = totRecHtml;
			$('sortingDiv').show();
			$('proListingDiv').show();			
			$('proListingDiv').innerHTML = htmlPart;
			if(qryStrHash['fromPage'] == "galleryView")
			{				
				imgArr = new Array();
				for(var i=0;i<mapData.length;i++)
				{					
					imgArr[i] = mapData[i].pictures.split(","); 				
				}
				//Hide Previoue/Next for GalaryView when no image available
				for(var i=0;i<imgArr.length;i++)
				{
					if(imgArr[i][0].indexOf('noImageThmbBig.jpg') != -1 || imgArr[i].length == 1)
					{
						if($('prePhoto'+i)) $('prePhoto'+i).hide();
						if($('nextPhoto'+i)) $('nextPhoto'+i).hide();
					}
				}
			}
			
			$('loaderLogin').hide();
			$("mapDiv").show();			
			if(qryStrHash['fromPage'] == "mapView")
			{	
				currView = "l";
				/*$("mapMainDiv").style.top = "2px";
				$("mapMainDiv").style.left = "10px";
				$("mapMainDiv").style.height = "350px";
				$("mapDiv").style.height = "320px";
				$("mapMainDiv").style.width =  $("mapDivHeader").style.width = $("mapDiv").style.width = "974px";
				$("mapMainDiv").style.position = "relative";*/
				$("mapMainDiv").className = "mapMainDivBig";
				$("mapDiv").className = "mapDivBig";
				$("mapDivHeader").className = "mapDivHeaderBig mapDivHeader";
			}
			else
			{
				currView = "s";
				/*$("mapMainDiv").style.position = "absolute";
				$("mapMainDiv").style.top = "101px";
				$("mapMainDiv").style.left = "663px";
				$("mapDiv").style.height = "320px";
				$("mapDiv").style.width = "323px";
				$("mapMainDiv").style.width = $("mapDivHeader").style.width = "323px";	*/	
				$("mapMainDiv").className = "mapMainDivSmall";
				$("mapDiv").className = "mapDivSmall";
				$("mapDivHeader").className = "mapDivHeaderSmall mapDivHeader";
			}
			if(typeof(map2) != "undefined" && drawNbrHoodMap)
			{
				map2.clearOverlays();
			}
			/*	Added By Krunal	for Flicker Api*/
				latLong = resArr[5];
			/*	Added By Krunal	for Flicker Api*/

			loadOnMap(mapData);			
			if(typeof(resArr[3]) != "undefined" && resArr[3] != "" && nbrPolyline=="")
			{				
				try
				{
					var ptArr = decodeLine(decodeURIComponent(resArr[3]));
					var ptStr = convPolyPointStr(ptArr);
					setMapPolygonNhood(map2,ptStr);				
					drawNbrHoodMap = true;
				}
				catch (Exception)
				{
					// Do Nothing
				}
			}

			if(typeof(map2) != "undefined") map2.checkResize();
			oldMapData = mapData;
			if($('helpBox')) $('helpBox').hide();
			$('mapDivHeader').show();
			if(currView == "l")
			{	
				$('lrgMap').style.display="none";
				$('smlMap').style.display="";				
				$('spacerRow').style.height="10px";
				$('mainContainerTbl').style.width="62%";
				$('polygonDiv').show();
				$("rightBorderTopIcons").className="";
				if($("msgTable"))$("msgTable").className="";
				//$('apiDiv').style.top="-5px";
			}
			if(currView == "s")
			{	
				$('smlMap').style.display="none";
				$('lrgMap').style.display="";				
				$('spacerRow').style.height="370px";
				$('mainContainerTbl').style.width="65%";
				$("rightBorderTopIcons").className="mainsrchBoxLeft";
				if($("msgTable"))$("msgTable").className="mainsrchBoxLeft";
				if(getSearchCookie("polygon") != "")
					$('polygonDiv').show();
				else
					$('polygonDiv').hide();
				//$('apiDiv').style.top="45px";
			}			
			
			//function for powersearch to change favorite icon and load favorite-function in rolo.js(added by saloni)			
			loadFav();
			$('favRoloDiv').show();
			if($('photoId0'))
			{
				$('mainContainerTbl').className='mainContainerTbl1';
				if($('favRoloRow')) $('favRoloRow').hide();
			}
			else
			{
				$('mainContainerTbl').className='mainContainerTbl';
				if($('favRoloRow')) $('favRoloRow').show();
			}			
			$('mapMainDiv').show();
		}
		else
		{			
			noRecRelated(rsText.substr(6));			
			if($('mapMainDiv')) $('mapMainDiv').hide();
		}
	});
}

function noRecRelated(msg)
{
	totalRecords = 0;
	if($('schoolratingsdiv')) $('schoolratingsdiv').hide();
	if($('areaphotosdiv')) $('areaphotosdiv').hide();
	$('loaderLogin').hide();
	$('botPagiRow').hide();
	$('mapDiv').hide();
	$("helpBox").hide();
	$('proListingDiv').hide();
	$('favRoloDiv').hide();
	$('recOperationDiv').hide();
	$('viewTabTbl').hide();
	if($('msgTable'))	$('msgTable').hide(); // for message - santafe and sandia 
	$('apiLoading').hide();
	if($('noRecTbl'))
	{
		$('noRecTbl').show();
		$('noRecTblMsg').innerHTML = msg;
	}	
}

function validateRSCriteriaNew()
{
	qryStrHash = new $H();	
	
	qryStrHash['city'] = '';
	qryStrHash['state'] = '';
	qryStrHash['zip'] = '';
	qryStrHash['lat'] = '';
	qryStrHash['lng'] = '';

	if(trim(getSearchCookie("searchSortType")) == "")
	{
		if(bkTheme == 'atproperties')
			qryStrHash['searchSortType'] = "atp";
		else
			qryStrHash['searchSortType'] = $F("sortProp");
	}
	else
		qryStrHash['searchSortType'] = getSearchCookie("searchSortType");

	setSearchCookie('searchSortType',qryStrHash['searchSortType']);

	var searchCSZ = trim($F('RSsearchCSZ'));
	if(!isNaN(searchCSZ) && $('selVal') && trim(getSearchCookie('neighborhood')) == "" && trim(getSearchCookie('subNhood')) == "")
	{
		$('selVal').value = 'CS';
	}
	$('mlsno').className		= 'TextBoxBig';
	$('RSsearchCSZ').className  = '';
		
	var mlsno = trim($F('mlsno'));	
	//**************************** MLS NUMBER VALIDATION *******************/
	$('mlsno').className  = 'TextBoxBig';
	var mlsurl = "/app/dashboard/mlsSearch.php";
	var mlsstr = "mlsno="+mlsno+ "&forAlert=1&ignorestatus=1&theme="+bkTheme;		    
	if(mlsno != "")
	{
		var mlsTrue = true;
		ajaxRequest(mlsurl,mlsstr,function(r)
		{	         
			if(trim(r.responseText)=='0')	           
			{
				alert('MLS NO. not found.');
				$('mlsno').className  = 'textboxRed';
				$('mlsno').value = "";
				$('mlsno').focus();	
				mlsTrue = false;
			}			
		},false);		
		if(mlsTrue)
		{
			qryStrHash['mlsno'] = mlsno;
			setSearchCookie("mlsno",mlsno);
		}
		if(!mlsTrue)
		{
			qryStrHash['mlsno'] = "";
			setSearchCookie("mlsno","");
			return false;
		}
		else
		{
			$('bit_select_box').value =  "";
			if(getSearchCookie('polygon') != "")
				removePolyRelated();
		}
	}
	else
	{
		qryStrHash['mlsno'] = "";
		setSearchCookie("mlsno","");
	}
	//**************************** CSZ VALIDATION *******************/
	if(searchCSZ == "" && mlsno == "")
	{
		alert("Please Enter Neighborhood, City or ZIP code");
		return false;
	}	
	if(searchCSZ != "")
	{		
		if($F('selVal') == "NBR")
		{			
			$('neighborhood').value = searchCSZ;
			qryStrHash['neighborhood'] = escape(encodeURI(searchCSZ));
			setSearchCookie("neighborhood",searchCSZ);			

			removeSearchCookie("city");
			removeSearchCookie("state");
			removeSearchCookie("zip");
			removeSearchCookie('subNhoodId');
			removeSearchCookie('subNhood');
			removeSearchCookie('multicity');
			removeSearchCookie('multizip');
			if(getSearchCookie('polygon') != "")
			{
				removePolyRelated();
			}
		}
		else if($F('selVal').indexOf("SNBR") != -1)
		{
			qryStrHash['subNhood'] = searchCSZ;
			var selValArr = $F('selVal').split("_");
			getPolygonFrmSNbr(selValArr[1]);
			setSearchCookie('subNhoodId',selValArr[1]);
			setSearchCookie("subNhood",searchCSZ);
			qryStrHash['subNhoodId'] = selValArr[1];			
			removeSearchCookie("city");
			removeSearchCookie("state");
			removeSearchCookie("zip");
			removeSearchCookie("neighborhood");
			removeSearchCookie('multicity');
			removeSearchCookie('multizip');
		}
		else if($F('selVal').indexOf("CS") != -1)
		{				
			var retArray = doGeoCode(searchCSZ,"");
			//alert(retArray);
			//alert($F('city') + "=="+retArray['city']);
			if($F('city') != retArray['city'] && getSearchCookie('polygon') != "")
			{					
				removePolyRelated();
			}
			if(!retArray) { $('RSsearchCSZ').className  = 'textboxRed'; $('RSsearchCSZ').focus(); return false; }
			qryStrHash['city'] = $('city').value = retArray['city'];
			qryStrHash['state'] = $('state').value = retArray['state'];
			qryStrHash['zip'] = $('zip').value = retArray['zip'];
			qryStrHash['propLatitude'] = $('lat').value = retArray['lat'];
			qryStrHash['propLongitude'] = $('lng').value = retArray['lng'];	
			
			setSearchCookie("city",retArray['city']);
			setSearchCookie("state",retArray['state']);
			setSearchCookie("zip",retArray['zip']);
			setSearchCookie("lat",retArray['lat']);
			setSearchCookie("lng",retArray['lng']);
			
			$('RSsearchCSZ').value = trim(retArray['city']+', '+retArray['state']);
			if(trim(retArray['zip']) != "") { $('RSsearchCSZ').value = retArray['zip']; }

			var latLongStr = "[{'lat':'"+retArray['lat']+"','lng':'"+retArray['lng']+"'}]";
			var now = new Date();
			now.setTime(now.getTime() + 3650 * 24 * 60 * 60 * 1000);
			setCookie("latLongCk",latLongStr,now);
			if(getSearchCookie('subNhood') != "")
			{
				removePolyRelated();
			}
			removeSearchCookie("neighborhood");
			removeSearchCookie('subNhoodId');
			removeSearchCookie('subNhood');
			removeSearchCookie('multicity');
			removeSearchCookie('multizip');
		}
		else
		{			
			if(trim(getSearchCookie("multicity")) != "" || trim(getSearchCookie("multizip")) != "")
			{
				removeSearchCookie("address");
				removeSearchCookie("city");
				removeSearchCookie("state");
				removeSearchCookie("zip");
				removeSearchCookie("lat");
				removeSearchCookie("lng");
				removeSearchCookie("neighborhood");
				removeSearchCookie('subNhoodId');
				removeSearchCookie('subNhood');
				removeSearchCookie('polygon');
				removeSearchCookie('area');				
			}
			else
			{
				setSearchCookie("city",defCity);
				setSearchCookie("state",defState);
				setSearchCookie("lat",defLat);
				setSearchCookie("lng",defLng);
				
				qryStrHash['city'] = defCity;
				qryStrHash['state'] = defState;			
				qryStrHash['propLatitude'] = defLat;
				qryStrHash['propLongitude'] = defLng;

				var latLongStr = "[{'lat':'"+defLat+"','lng':'"+defLng+"'}]";
				var now = new Date();
				now.setTime(now.getTime() + 3650 * 24 * 60 * 60 * 1000);
				setCookie("latLongCk",latLongStr,now);
				$('RSsearchCSZ').value =defCity+', '+defState;
				removeSearchCookie('polygon');
				removeSearchCookie('area');			
				removeSearchCookie('subNhoodId');
				removeSearchCookie('subNhood');
				removeSearchCookie('neighborhood');
				if(getSearchCookie('subNhood') != "")
				{
					removePolyRelated();
				}
				removeSearchCookie('multicity');
				removeSearchCookie('multizip');
			}
		}
	}
	//----------------Address Search Validation 
	qryStrHash['address'] = "";
	if(trim($F('address')) != "")
	{
		qryStrHash['address']	= escape(trim($F('address')));
	}
	setSearchCookie("address",qryStrHash['address']);
	//----------------price param validation
	var minP = Number(money2num($('minprice').value));	
	var maxP = Number(money2num($('maxprice').value));

	if(minP<0 || maxP<0)
	{		
		alert("Please enter valid price range");
		$('minprice').value = '';
		$('maxprice').value = '';
		$('minprice').focus();
		return false;
	}

	if((minP>maxP) && (minP != "" && maxP != ""))
	{		
		alert("Please enter valid price range");
		$('minprice').value = '';
		$('maxprice').value = '';
		$('minprice').focus();
		return false;
	}	
	
	if (maxP == "0")
	{
		$('maxprice').value = '';
		maxP = "";
	}
	if (minP == "0")
	{
		$('minprice').value = '';
		minP = "";
	}
	
	if( maxP != "" && minP != "" && parseInt(maxP) <= parseInt(minP) )
	{			
			$('minprice').focus();
			alert("Maximum price should be greater than minimum price.");
			$("maxprice").value = "";
			$('minprice').value = "";			
			return false;
	}
	if($("keywordSrch"))
	{
		var cntrComma = ($("keywordSrch").value).split(/,/g).length - 1;
		if(cntrComma >= 5)
		{
			alert("Maximum 5 keywords are allowed to search");
			return false;
		}

	}

	//----------------sqft param validation
	if($("minPSize"))
	{
		var sqftMin = Number($("minPSize").value);
		var sqftMax = Number($("maxPSize").value);
		if(sqftMin>sqftMax && sqftMax != 0)
		{			
			$('minPSize').focus();
			alert("Please select valid range for square feet");
			return false;
		}
	}	
    //----------------Lot Size  param validation       
	/*
	if($("minLotSize") && $("maxLotSize"))
	{
			var lotMin = Number($("minLotSize").value);
			var lotMax = Number($("maxLotSize").value);
			if(lotMin>lotMax && lotMin != '0' && lotMax != '0' )
			{					
					$('minLotSize').focus();
					alert("Please select valid range for Lot size");
					return false;
			}
	}
	*/
	//----------------listdate param validation
	if($("RStxtLFDate") && $("RStxtLTDate"))
	{
		if(trim($("RStxtLFDate").value) != "" && trim($("RStxtLTDate").value) != "")
		{
			var valLFDate = $("RStxtLFDate").value;
			var arrLFDate = valLFDate.split("-");		
			var objLFDate = new Date();
			objLFDate.setYear(arrLFDate[2]);
			objLFDate.setMonth(arrLFDate[0]);
			objLFDate.setDate(arrLFDate[1]);
			var tsLFDate = objLFDate.getTime()
			var valLTDate = $("RStxtLTDate").value;
			var arrLTDate = valLTDate.split("-");		
			var objLTDate = new Date();
			objLTDate.setYear(arrLTDate[2]);
			objLTDate.setMonth(arrLTDate[0]);
			objLTDate.setDate(arrLTDate[1]);
			var tsLTDate = objLTDate.getTime()
			if(tsLFDate > tsLTDate)
			{
				alert("To date should not be less than From date.");
				$('RStxtLFDate').value = '';
				$('RStxtLTDate').value = '';
				return false;
			}
		}
	}
	//----------------
	qryStrHash['minprice']		= minP;
	qryStrHash['maxprice']		= maxP;
	setSearchCookie("minPrice",minP);
	setSearchCookie("maxPrice",maxP);
	
	qryStrHash['beds']	= $F('searchBeds');
	setSearchCookie("searchBeds",$F('searchBeds'));	
	
	qryStrHash['baths']	= $F('searchBaths');
	setSearchCookie("searchBaths",$F('searchBaths'));
	
	//qryStrHash['searchType']	= $F('searchType');		
	qryStrHash['searchType'] = getAllCheckedPropType("value").replace(/:-:/g, ",");	
	
	/* for power search multiple property type handling */
	/*var selIndex = $('searchType').selectedIndex;
	if(selIndex == -1)
	{
		$('searchType').selectedIndex = 0;
	}*/

	//qryStrHash['searchTypeText']	= $('searchType').options[$('searchType').selectedIndex].text;
	qryStrHash['searchTypeText'] = getAllCheckedPropType("key").replace(/_/g, " ");
	
	setSearchCookie("searchType", getAllCheckedPropType("value"));
	setSearchCookie("searchTypeText",qryStrHash['searchTypeText']);
	
	displayPropType();
	
	qryStrHash['searchCriteria'] = $F('bit_select_box');
	setSearchCookie("searchCriteria",$F('bit_select_box'));
	setSearchCookie("keywordSrch",($("keywordSrch"))?$F("keywordSrch")==""?"":$F("keywordSrch"):"");
	setSearchCookie("minPSize",($("minPSize"))?$F("minPSize")==0?"":$F("minPSize"):"");	
	setSearchCookie("maxPSize",($("maxPSize"))?$F("maxPSize")==0?"":$F("maxPSize"):"");
	qryStrHash['minsqft'] = $F("minPSize");
	qryStrHash['maxsqft'] = $F("maxPSize");	
	if($("keywordSrch"))
		qryStrHash['keywordSrch'] = $F("keywordSrch");	
	
	/*
	if($("minLotSize") && $("maxLotSize"))
	{
		setSearchCookie("minLotSize",($("minLotSize"))?$F("minLotSize")==""?"":$F("minLotSize"):"");
		setSearchCookie("maxLotSize",($("maxLotSize"))?$F("maxLotSize")==""?"":$F("maxLotSize"):"");
		qryStrHash['minLotSize'] = $F("minLotSize");
		qryStrHash['maxLotSize'] = $F("maxLotSize");
	}
	*/
	//-------------------- TPL PARAMS ------------START--------//
	var addtionalThemeParam = getSearchTemplateParam ();
	if (addtionalThemeParam != null)
	{
		var setAdditionalParamCookie = addtionalThemeParam['setcookie'];
		addtionalThemeParam.remove ('setcookie');
		addtionalThemeParam.each(function(pair)
		{				
			qryStrHash[pair.key]=pair.value;
			setSearchCookie(pair.key,pair.value);
		});
	}	
	//-------------------- TPL PARAMS ------------END--------//	
	var lfDate = ''; var ltDate = '';	
	if($F('bit_select_box') == 'newListing') 
	{
		$("RStxtLFDate").value = listDate1;
		$("RStxtLTDate").value = listDate2;
	}
	else
	{
		lfDate = ''; ltDate = '';
		$("RStxtLFDate").value = '';
		$("RStxtLTDate").value = '';		
	}
	setSearchCookie("ckLFDate",($("RStxtLFDate"))?($F("RStxtLFDate")):"");
	setSearchCookie("ckLTDate",($("RStxtLTDate"))?($F("RStxtLTDate")):"");	

	var tempDate = escape(trim(getSearchCookie("ckLFDate")));	
	if (tempDate != "")
	{
		var arrTempDate = tempDate.split ("-");
		lfDate = arrTempDate[2] + "-" + arrTempDate[0] + "-" + arrTempDate[1];
		qryStrHash['lfDate'] = lfDate;
	}
	tempDate = escape(trim(getSearchCookie("ckLTDate")));	
	if (tempDate != "")
	{
		var arrTempDate = tempDate.split ("-");
		ltDate = arrTempDate[2] + "-" + arrTempDate[0] + "-" + arrTempDate[1];
		qryStrHash['ltDate'] = ltDate;
	}
	
	if($F('fromPage') == "galleryView")
		recordPerPage = galleryRecPerPage;
	else
		recordPerPage = propRecPerPage;

	qryStrHash['fromPage'] = $F('fromPage');
	if($('chkOpnHome')  && $('chkOpnHome').checked)
	{
			setSearchCookie("searchCriteria","brokeropenHome");
	}
	$('pagiVal').value = "0";
	$('highLowVal').value = "0";
	return true;
}

function loadFirstTime()
{	
	loadInCtrlFrmCookie();
	if(drawSearch)
	{
		window.setTimeout(function()
		{
			searchMap(); 
			if($('rightBorderTopIcons')) $('rightBorderTopIcons').className = "";
			if($("msgTable"))$("msgTable").className="";
			if($('helpBox')) { $('helpBox').show();}
		}, 1000);
		
	}
	else
	{
		doPropSearch();
	}
}

function sortProperty(sortBy)
{
	$('pagiVal').value=0;
	var sortStr = "";
	/*
	if($F('highLowVal') == "0" )
		sortStr = sortBy.value+"l";
	else
		sortStr = sortBy.value+"h";
	*/
	sortStr = sortBy.value;
	qryStrHash['searchSortType'] = sortStr;	
	setSearchCookie('searchSortType',sortStr);
	setUpDown();
}

function photoPaging(action,cntr,imgArrID)
{
	//alert("action:"+action+"Arr Len: "+imgArr[imgArrID].length+",id="+imgArrID);
	if((bkTheme == 'santafe' || bkTheme == 'sandia') && action == "prev" && cntr < 1 )// Continue slideshow
	{
		cntr = imgArr[imgArrID].length;
		x=eval('ctr'+imgArrID+'='+imgArr[imgArrID].length+';');
		//alert(x);
		eval('$(photoId'+imgArrID+').src="'+imgArr[imgArrID][x]+'";');
	}
	if(action == "prev" && cntr >= 1 )	
	{		
		x=eval('--ctr'+imgArrID+';');
		//alert(x);
		eval('$(photoId'+imgArrID+').src="'+imgArr[imgArrID][x]+'";');
	}
	else if(action == "next" && cntr < (imgArr[imgArrID].length-1) )	
	{	
		x=eval('++ctr'+imgArrID+';');
		//alert(x);
		eval('$(photoId'+imgArrID+').src="'+imgArr[imgArrID][x]+'";');
	}
	else
	{
		if(bkTheme == 'santafe' || bkTheme == 'sandia') // Continue slideshow, without any message
		{
			x=eval('ctr'+imgArrID+'=0;');
			//alert(x);
			eval('$(photoId'+imgArrID+').src="'+imgArr[imgArrID][x]+'";');
		}
		else
			alert("No more photos available");	
	}
}

function showPaging(totalRecords)
{	
	var pctr;
	var pagiText = " ";
	var pno = $F('pagiVal');
	pno = parseInt(pno);
	if(pno == '-1') pno = '0';		
	prev=pno-1;
	next=pno+1;	

	totalPage = totalRecords / recordPerPage;
	totalPage = Math.ceil(totalPage);
		
	sLimit = recordPerPage*pno + 1;
	sLimit = parseInt(sLimit);
	
	recordPerPage = parseInt(recordPerPage);
	eLimit = sLimit + recordPerPage-1;
	if(eLimit > totalRecords)
		eLimit = totalRecords;

	if(prev < 0) 
		prevImg = '<img src="'+imgThmPath+'common/arrow_left_deactive1.gif" />';		
	else
		prevImg = '<img class="crsr" src="'+imgThmPath+'common/arrow_left_active1.gif" onclick="javascript:goToPage(\'prev\');" title="Previous"/>';
	
	if(next >= totalPage) 
		nextImg = '<img src="'+imgThmPath+'common/arrow_right_deactive1.gif" />';
	else
		nextImg = '<img class="crsr" src="'+imgThmPath+'common/arrow_right_active1.gif" onclick="javascript:goToPage(\'next\');" title="Next"/>';
	
	//alert(sLimit + " === "+eLimit);
	//$("paginationDiv").innerHTML = '<table align="center" style="padding-left:10px;"><tr><td>'+prevImg+'</td><td class="pagiText" id="txtLimit"> &nbsp;&nbsp; '+ sLimit +' - '+ eLimit +' of '+totalRecords+' Results  &nbsp;&nbsp;</td><td>'+nextImg+'</td></tr></table>';
	//alert( sLimit +' - '+ eLimit +' of '+totalRecords);
	var pno1 = pno;
	if(totalPage - pno <= 4)
		pno1 =  parseInt(totalPage - 5);
		
	if(totalPage > 1)
	{
		var totPageStr = "'"+totalPage+"'";
		var totPageStrCnt = totPageStr.length-2;
		var pagiEnd  = 3;		
		if(totPageStrCnt > 3)
			pagiEnd  = 2;		
		for(pctr = pno1; pctr <= (pno1+pagiEnd); pctr++)
		{		pctr=parseInt(pctr);
				if(pctr >= 0 && pctr < totalPage)
				{
					var stlTag = 'class=""';
					if(pctr == pno)
						stlTag = 'class="pageSelected"';

					pagiText += '<a href="javascript:void(0)" onclick="javascript:$(\'pagiVal\').value='+pctr+';setUpDown();"'+stlTag+' >'+(pctr+1)+'</a>';
				}
				pagiText += " ";
		}
		var stlTag = 'class=""';
		if((totalPage-1) == pno)
			stlTag = 'class="pageSelected"';
		pagiText += "... "+'<a href="javascript:void(0)" onclick="javascript:$(\'pagiVal\').value='+(totalPage-1)+';setUpDown();" '+stlTag+'>'+totalPage+'</a> ';
	}
	$("paginationDiv").innerHTML = '<table align="center" style="padding-left:10px;"><tr><td>'+prevImg+'</td><td class="listPrice" id="txtLimit"> &nbsp;'+ pagiText +'&nbsp;</td><td>'+nextImg+'</td></tr></table>';
	$('paginationDiv').style.display="inline";
	
	$('botPagiRow').innerHTML = $('paginationDiv').innerHTML;
	if(totalPage > 1 && $('paginationDiv'))
	{
		$('paginationDiv').show();
		$('botPagiRow').show();
	}
	else
	{
		$('paginationDiv').hide();
		$('botPagiRow').hide();
	}
}

function goToPage(action)
{	
	var pno = $F('pagiVal');
	if(action == "goToPage")
	{
		pno = trim($("txtGoToPage").value);

		if(pno == "")
		{
			alert("Please enter page no.");			
			return;
		}
		else if(isNaN(pno) || pno.include("."))
		{
			alert("Please enter valid page no.");
			$("txtGoToPage").value = "";
			return;
		}
		else if(pno == "0")
		{
			alert("Please enter valid page no.");
			$("txtGoToPage").value = "";
			return;
		}

		pno = parseInt(pno.replace(/^[0]+/g,""));
		$("txtGoToPage").value = pno;
		if(typeof(totalPage) == "undefined" || totalPage == 0)
		{
			alert("Please perform search again.");
			$("txtGoToPage").value = "";
			return;
		}
		else if(pno <=0 || pno > totalPage)
		{
			alert("Please enter page no. between 1 to "+totalPage+".");
			$("txtGoToPage").value = "";
			return;
		}
		pno--;	
	}
	pno = parseInt(pno);	
	if(action == 'prev' && pno > 0)	
		pno--; 	
	else if(action == 'next' && pno < totalPage)	
		pno++; 			
    $('pagiVal').value = pno;
	
	setUpDown();	
}

function showDiv(id)
{	
	switch(id)
	{
		case 'divEmailSaveSearch': 
			{
				if($(id).style.display != 'none')
					$(id).style.display = 'none';
				else
					$(id).style.display = '';
			}
			break;		
	}
}

//For Price/Status Alert
function savePrStAlert()
{
	var agentId		= "";
	var alertFreq	= "";

	if(chkAlertStatus == "priceAlert")
	{
		if($('nfySrchElrChkBox') && $('nfySrchElrChkBox').checked)
			alertFreq += "Active=1";
		else 
			alertFreq += "Active=0&refineSearch=1";

		alertFreq	+= "&fromAlert=price";
	}
	else if(chkAlertStatus == "statusAlert")
	{
		if($('nfySrchElrChkBox') && $('nfySrchElrChkBox').checked)
			alertFreq += "Active=2";
		else 
			alertFreq += "Active=0&refineSearch=1";

		alertFreq	+= "&fromAlert=status";
	}
	else
	{
		alertFreq = "Active=0";	
	}
	
	if(trim($("txtSrchNm").value) == "")
	{
		alert("Please give name to your search.");
		if($("txtSrchNm")) $("txtSrchNm").focus();
		return;
	}

	var qs = new Querystring();		
	if(qs.get("frm") != null && qs.get("aid") != null)
		agentId = '&aid='+ trim(qs.get("aid"));

	var cUrl 	 = "/app/mlsPropertyAlert/propertyFinder.php";
	var queryStr = alertFreq + "&MlsNo=" + alertMlsNo + "&terabitzId=" + alertTid + "&priceAlert=" + alertPrice + "&statusAlert=" + alertStatus + agentId + "&SrchNm="+ escape($('txtSrchNm').value);
	queryStr += '&Address=' + escape(alertAddress) + '&City=' + alertCity + '&State=' + alertState + '&Zip='+ alertZip;
	ajaxRequest(cUrl,queryStr,prStCallBack,false);
}

function prStCallBack(reqObj)
{
	var response1 = trim(reqObj.responseText);
	if(response1.indexOf("=^^=") != -1)
	{
		var allResponse  = response1.split("=^^=");
		if(allResponse[3] != "" && typeof(allResponse[3]) != 'undefined')
		{
			alert("Your search has been saved successfully.");
			$("txtSrchNm").value="";
			showHideDiv('divEmailSaveSearch');
			return;
		}
	}
	else
	{
		alert("Your search has been saved successfully.");
		return;
	}
}

function saveMarketReportSearch()
{
	var cUrl 	 = "/app/mlsPropertyAlert/marketReportFinder.php";
	var queryStr = "marketReport=1&SrchNm="+trim($F('txtSrchNm1'));
	var qs = new Querystring();
	var nhood = "";
	var agentId = "";
	if(qs.get('nhood') != "" )
	nhood = qs.get('nhood');	
	queryStr += "&Neighbourhood="+nhood;

	var qs = new Querystring();		
	if(qs.get("frm") != null && qs.get("aid") != null)
		agentId = '&aid='+ trim(qs.get("aid"));

	queryStr += agentId;
	
	if($('dailyChkBox') && $('dailyChkBox').checked && $('divEmailSaveSearch1').visible())
		queryStr += "&Active=1";
	else if($('WeeklyChkBox') && $('WeeklyChkBox').checked && $('divEmailSaveSearch1').visible())
		queryStr += "&Active=2";
	else
		queryStr += "&Active=0";

	ajaxRequest(cUrl,queryStr,function(r)
	{
		var rsText = r.responseText;
		if(rsText != "FAIL")
		{
			alert('Market report alert created successfully');
		}
	},false);
}

function saveEmailAlert()
{
	var srchNmId = "txtSrchNm1";
	var agentId="";
	var qs = new Querystring();
	
	if(qs.get("frm") != null && qs.get("aid") != null)
		agentId = '&aid='+ trim(qs.get("aid"));

	var cUrl 	 = "/app/mlsPropertyAlert/propertyFinder.php";
	var queryStr = "MlsNo=" + propMlsNo;	

	if($('dailyChkBox') && $('dailyChkBox').checked)
		queryStr += "&Active=1";
	else if($('WeeklyChkBox') && $('WeeklyChkBox').checked)
		queryStr += "&Active=2";
	
	queryStr += agentId + "&SrchNm="+ escape($(srchNmId).value);
	queryStr += '&Address='+ escape(propMlsAddr);
	ajaxRequest(cUrl,queryStr,alertCallBackfn,false); 
}

//For Mls Propery Alert
function saveRefineSearch(share)
{
	var forShare = "0";
	if (typeof(share) != "undefined" && share == "1")
		forShare = "1";
	
	var srchNmId = "txtSrchNm";
	if(chkAlertStatus == "all" || chkAlertStatus == "homeEmailAlert" || fromMarketReport)
		srchNmId = "txtSrchNm1";

	var agentId="";
	if(trim($(srchNmId).value) == "" && forShare != "1")
	{
		alert("Please give name to your search.");		
		if($(srchNmId) && $(srchNmId).style.display != "none") $(srchNmId).focus();
		return;
	}

	// Call Open Home Function
	if(typeof(fromOpenHome) != "undefined" && fromOpenHome == "1")
	{
		saveRefineSearchOH();
		return;
	}

	// Call Development Function
	/*if(typeof(fromDevelopment) != "undefined" && fromDevelopment == "1")
	{
		saveDevelopmentSearch();
		return;
	}*/	
	
	// Call Market Report Alert
	if(typeof(fromMarketReport) != "undefined" && fromMarketReport == "1")
	{
		saveMarketReportSearch();
		emlSaveSearchDlg.hide();
		return;
	}

	//Call For Price/Status Alert
	if(chkAlertStatus == "priceAlert" || chkAlertStatus == "statusAlert")
	{
		savePrStAlert();
		emlSaveSearchDlg.hide();
		return;
	}

	//Call For Homesite Email Alert
	if(chkAlertStatus == "homeEmailAlert")
	{
		saveEmailAlert();
		emlSaveSearchDlg.hide();
		return;
	}	
	
	if(validateRSCriteriaNew())
	{
		var qs = new Querystring();		
		if(qs.get("frm") != null && qs.get("aid") != null)
			agentId = '&aid='+ trim(qs.get("aid"));

		var cUrl 	 = "/app/mlsPropertyAlert/propertyFinder.php";
		var queryStr = "MlsNo=" + $("mlsno").value + '&area=' + $('txtArea').value + '&polygon=' + $("txtPolygon").value;

		//Selection On Search
		if($F('selVal') == 'NBR')
			queryStr += '&Neighbourhood=' + qryStrHash['neighborhood'];
		else if($F("selVal").indexOf("SNBR") != -1)
			queryStr += '&SubNHoodName=' + qryStrHash['subNhood'].replace(/\&/g,'_') + '&SubNHoodId=' + qryStrHash['subNhoodId'];	
		else
			queryStr += '&Address='+ escape(qryStrHash['address']) + '&City=' + qryStrHash['city'] + '&State=' + qryStrHash['state'] + '&Zip='+ qryStrHash['zip'] + '&Latitude=' + qryStrHash['propLatitude'] + '&Longitude=' + qryStrHash['propLongitude'];
				
		/*if($('searchType').options[$('searchType').selectedIndex].text == "Any")
			queryStr += "&PropertyType=";
        else
            queryStr += "&PropertyType=" + $('searchType').options[$('searchType').selectedIndex].text;*/
		
		queryStr += "&PropertyType="+getAllCheckedPropType("key").replace(/_/g, " ");
		
		if(getSearchCookie("searchBeds") != "")
			queryStr += "&minBeds=" + getSearchCookie("searchBeds");

		if(getSearchCookie("searchBaths") != "")
			queryStr += "&minBaths=" + getSearchCookie("searchBaths");		

		if(getSearchCookie("minPrice") != "")
			queryStr += "&minPrice=" + getSearchCookie("minPrice");

		if(getSearchCookie("maxPrice") != "")
			queryStr += "&maxPrice=" + getSearchCookie("maxPrice");

		if(getSearchCookie("minPSize") != 0)
			queryStr += "&minSqFt=" + getSearchCookie("minPSize");

		if(getSearchCookie("maxPSize") != 0)
			queryStr += "&maxSqFt=" + getSearchCookie("maxPSize");

		if(typeof(nbrStoreArr) == "object" && nbrStoreArr.length > 0)
		{		
			var nbrString = cmImplodeArr(nbrStoreArr,",");
			queryStr += "&mul_nbrhood=" + nbrString;
			qryStrHash['mul_nbrhood'] = nbrString;				
			setSearchCookie("mul_nbrhood",nbrString);			
		}
		
		// Template Specific Code
		var addtionalThemeParam = getListingSearchTemplateParam ();
		if (addtionalThemeParam != null)
		{
			var setAdditionalParamCookie = addtionalThemeParam['setcookie'];
			addtionalThemeParam.remove ('setcookie');

			addtionalThemeParam.each(function(pair)
			{				
				queryStr += '&' + pair.key + '=' + pair.value;
			});
		}
		// Template Specific Code
		
		// Template Specific Code
		var addtionalThemeParam = getSearchTemplateParam ();
		if (addtionalThemeParam != null)
		{
			addtionalThemeParam.each(function(pair)
			{				
				queryStr += '&' + pair.key + '=' + pair.value;
			});		
		}
		// Template Specific Code

		//For Keyword Search
		if($("keywordSrch") && $F("keywordSrch") != "")
		{
			queryStr += "&KeyWordSrch=" + $F("keywordSrch");
		}

		//For Sorting
		if(qryStrHash['searchSortType'] == "ph")
			queryStr += "&sort=CURR_LISTPRICE&sortType=DESC";
		else if(qryStrHash['searchSortType'] == "pl")
			queryStr += "&sort=CURR_LISTPRICE&sortType=ASC";
		else if(qryStrHash['searchSortType'] == "brh")
			queryStr += "&sort=BEDS&sortType=DESC";
		else if(qryStrHash['searchSortType'] == "brl")
			queryStr += "&sort=BEDS&sortType=ASC";
		else if(qryStrHash['searchSortType'] == "bah")
			queryStr += "&sort=BATHS&sortType=DESC";
		else if(qryStrHash['searchSortType'] == "bal")
			queryStr += "&sort=BATHS&sortType=ASC";
		else if(qryStrHash['searchSortType'] == "sqfth")
			queryStr += "&sort=AREASQFT&sortType=DESC";
		else if(qryStrHash['searchSortType'] == "sqftl")
			queryStr += "&sort=AREASQFT&sortType=ASC";	

		if($('divEmailSaveSearch').visible())
		{
			if($('nfySrchElrChkBox') && $('nfySrchElrChkBox').checked)
				queryStr += "&Active=1";
			else
				queryStr += "&refineSearch=1&Active=0";
		}
		else if($('dailyChkBox') && $('dailyChkBox').checked && $('divEmailSaveSearch1').visible())
			queryStr += "&Active=1";
		else if($('WeeklyChkBox') && $('WeeklyChkBox').checked && $('divEmailSaveSearch1').visible())
			queryStr += "&Active=2";
		else
			queryStr += "&refineSearch=1&Active=0";

		 queryStr += "&forShare="+forShare;

		 if(forShare == 1 && typeof(qryStrHash['fromPage']) != "undefined" && qryStrHash['fromPage'] != "")
		{
			 queryStr += "&defView="+qryStrHash['fromPage'];
			 queryStr += "&listingType="+getSearchCookie("searchCriteria")
		}		

		queryStr += agentId + "&SrchNm="+ escape($(srchNmId).value);
		ajaxRequest(cUrl,queryStr,alertCallBackfn,false); 
	}
}

function alertCallBackfn(reqObj)
{
	var response1 = trim(reqObj.responseText);	
	var shareIdx = response1.indexOf ("=");
	var shareStr = "";
	if (shareIdx >= 0)
		shareStr = response1.substring (0, shareIdx);

	if (shareStr == "share")
	{
		$('shareEmailEnable').style.display = 'block';
		$('shareEmailDisable').style.display = 'none';

		$('txtGeneratedUrl').style.display = "block";
		$('urlGenerate').style.display = "none";
		$('txtGeneratedUrl').style.width="390px";
		$('txtGeneratedUrl').value = response1.substring (shareIdx+1, response1.length);
		return;
	}
	
	if(response1.indexOf("=^^=") != -1)
	{
		var allResponse  = response1.split("=^^=");
		response1	= allResponse[0];		
	}

	if(trim(response1) == "SUC")
	{
    	alert("Email Alert Saved Successfully.");
		if(typeof(fbApiKey) != "undefined" && fbApiKey != "" && typeof(userCCno) != "undefined" && userCCno != "")
		{
			var url = '/app/user/userProcess.php';
			var qs = "action=getFBUser";
			
			ajaxRequest(url,qs,function(req){
				var resp = trim(req.responseText);
				var respArr = eval('('+resp+')');				
				if(respArr['fbEnable'] == "1")
				{
					var resp = trim(reqObj.responseText);	
					var alertId = "";
					if(resp.indexOf("=^^=") != -1)
					{
						var allResp  = resp.split("=^^=");
						if(allResp[4] != "" && typeof(allResp[4]) != 'undefined')
							alertId = allResp[4];	
					}					

					var respHash = $H();
					respHash["action"] = "emailalert";
					respHash["orgName"] = respArr['orgName'];
					respHash["domain"] = respArr['domain'];
					respHash["theme"] = respArr['theme'];
					respHash["logo"] = respArr['logo'];
					respHash["href"] = "http://"+location.host+"/app/mlsPropertyAlert/propertySearchMapit.php?sid="+alertId+"&frmbk=1";

					showFeedDialog(respHash);
				}
			});			
		}
   	}
	else if(trim(response1) != "")
	{
		alert(response1);
		if(typeof(fbApiKey) != "undefined" && fbApiKey != "" && typeof(userCCno) != "" && userCCno != "")
		{
			var url = '/app/user/userProcess.php';
			var qs = "action=getFBUser";
			
			ajaxRequest(url,qs,function(req){
				var resp = trim(req.responseText);
				var respArr = eval('('+resp+')');				
				if(respArr['fbEnable'] == "1")
				{
					var resp = trim(reqObj.responseText);	
					var alertId = "";
					if(resp.indexOf("=^^=") != -1)
					{
						var allResp  = resp.split("=^^=");
						if(allResp[1] != "" && typeof(allResp[1]) != 'undefined')
							alertId = allResp[1];	
					}					

					var respHash = $H();
					respHash["action"] = "savedSearch";
					respHash["orgName"] = respArr['orgName'];
					respHash["domain"] = respArr['domain'];
					respHash["theme"] = respArr['theme'];
					respHash["logo"] = respArr['logo'];
					respHash["href"] = "http://"+location.host+"/app/mlsPropertyAlert/propertySearchMapit.php?sid="+alertId+"&frmbk=1";

					showFeedDialog(respHash);
				}
			});			
		}
	}
	else
   	{
   		alert("Email Alert can not be saved.\nCheck user or agent/broker email address");
   	}
	
	$("txtSrchNm").value="";
	$("txtSrchNm1").value="";
	//showHideDiv('divEmailSaveSearch');
	emlSaveSearchDlg.hide();
}

function showHideDiv(divID)
{
	if($(divID))
	{
		if($(divID).style.display != 'none')
			$(divID).style.display = 'none';
		else
			$(divID).style.display = 'inline';
	}
}

function extendMap(view)
{	
	currView = view;
	if(view == "l")
	{
		$('polygonDiv').show();
		qryStrHash['fromPage'] = "mapView";
		if($('photoId0'))
			lastView = 'galleryView';
		else
			lastView = 'listView';

		$('fromPage').value = "mapView";
		/*
		$("mapMainDiv").style.top = "6px";
		$("mapMainDiv").style.left = "12px";
		$("mapMainDiv").style.height = "350px";
		$("mapDiv").style.height = "320px";
		$("mapMainDiv").style.width =  $("mapDivHeader").style.width = $("mapDiv").style.width = "974px";
		$("mapMainDiv").style.position = "relative";
		*/
		$("mapMainDiv").className = "mapMainDivBig";
		$("mapDiv").className = "mapDivBig";
		$("mapDivHeader").className = "mapDivHeaderBig mapDivHeader";
		
		$("rightBorderTopIcons").className="";
		if($("msgTable"))$("msgTable").className="";
		$('lrgMap').style.display="none";
		$('smlMap').style.display="";		
		$('spacerRow').style.height="10px";
		$('mainContainerTbl').style.width="62%";		
		//$('apiDiv').style.top="-5px";
	}
	if(view == "s")
	{	
		if(getSearchCookie("polygon") != "")
			$('polygonDiv').show();
		else
			$('polygonDiv').hide();
		qryStrHash['fromPage'] = lastView;
		$('fromPage').value = lastView;		
		
		/*$("mapMainDiv").style.position = "absolute";
		$("mapMainDiv").style.top = "101px";
		$("mapMainDiv").style.left = "663px";
		$("mapDiv").style.height = "320px";
		$("mapDiv").style.width = "323px";
		$("mapMainDiv").style.width = $("mapDivHeader").style.width = "323px";*/
		$("mapMainDiv").className = "mapMainDivSmall";
		$("mapDiv").className = "mapDivSmall";
		$("mapDivHeader").className = "mapDivHeaderSmall mapDivHeader";
		
		$('smlMap').style.display="none";
		$('lrgMap').style.display="";		
		$('spacerRow').style.height="370px";
		$('mainContainerTbl').style.width="65%";
		$("rightBorderTopIcons").className="mainsrchBoxLeft";
		if($("msgTable"))$("msgTable").className="mainsrchBoxLeft";
		//$('apiDiv').style.top="45px";
	}
	makeTabActive(qryStrHash['fromPage']);
	if(typeof(map2) != "undefined") map2.checkResize();
	if(typeof(map2) != "undefined") map2.setCenter(mapCenter, map2.getZoom());
	//map2 = undefined;
	//loadOnMap(mapData);									
	$("mapDiv").show();
	$('menumtctl_main').style.visibility = "visible";
	//loadLocalBitArr();
}

function findElementPos(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};
}

function loadInCtrlFrmCookie()
{		
	setCookieTemplateParam();	
	if(trim(getSearchCookie("searchCriteria")) != "")
	{
		$('bit_select_box').value = trim(getSearchCookie("searchCriteria"));		
	}	
	if(trim(getSearchCookie("subNhoodId")) != "")
	{		
		$('selVal').value = "SNBR_"+trim(getSearchCookie("subNhoodId"));		
		$('RSsearchCSZ').value = trim(getSearchCookie("subNhood")).replace(/\\/g, '');
		$('txtArea').value = trim(getSearchCookie("area"));		
		var decodedPolyStr = decodeStrToPolygon(trim(getSearchCookie("polygon")));
		$('txtPolygon').value = decodedPolyStr;
	}
	else if(trim(getSearchCookie("neighborhood")) != "" && trim(getSearchCookie("multiNbr")) != "1")
	{		
		$('selVal').value = "NBR";
		$('neighborhood').value = $('RSsearchCSZ').value = trim(getSearchCookie("neighborhood"));
	}
	else if(trim(getSearchCookie("city")) != "")
	{
		var ckCSZ = trim(getSearchCookie("city"));
		if(trim(getSearchCookie("state")) != "")
			ckCSZ += ", "+trim(getSearchCookie("state"));

		if(trim(getSearchCookie("zip")) != "")
			ckCSZ = trim(getSearchCookie("zip"));

		$('RSsearchCSZ').value = ckCSZ;
		$('city').value = trim(getSearchCookie("city"));
		$('state').value = trim(getSearchCookie("state"));
		$('zip').value = trim(getSearchCookie("zip"));
		$('lat').value = trim(getSearchCookie("lat"));
		$('lng').value = trim(getSearchCookie("lng"));
		$('selVal').value = "CS";
	}	 
	else if(trim(paramCSZ) != "" && trim(paramCSZ) != ",")
	{
		$('RSsearchCSZ').value = trim(paramCSZ);
	}
	else if(trim(getSearchCookie("multicity")) != "" || trim(getSearchCookie("multizip")) != "")
	{
		if(trim(getSearchCookie("multicity")) != "")
			$('RSsearchCSZ').value = trim(getSearchCookie("multicity"));
		else
			$('RSsearchCSZ').value = trim(getSearchCookie("multizip"));
	}
	else
	{		
		$('RSsearchCSZ').value = defCSZ;
	}

	if(trim(getSearchCookie("searchSortType")) != "")
	{
		$('sortProp').value = trim(getSearchCookie("searchSortType"));
	}

	if(trim(getSearchCookie("address")) != "")
	{
		var addrStr = unescape(trim(getSearchCookie("address")));
		addrStr = addrStr.replace(/%20/g, " ");
		$('address').value = addrStr;
	}
	if(trim(getSearchCookie("polygon")) != "")
	{
		$("chkPolySearch").checked = true;
		$("drawSerArea").style.display = "none";		
		$("clrSerArea").style.display = "";	
		var decodedPolyStr = decodeStrToPolygon(trim(getSearchCookie("polygon")));		
		$('txtPolygon').value = decodedPolyStr;
	}
	if(trim(getSearchCookie("area")) != "")
	{
		$("chkPolySearch").checked = true;
		$("drawSerArea").style.display = "none";		
		$("clrSerArea").style.display = "";	
		$('txtArea').value = trim(getSearchCookie("area"));
	}
	if(trim(getSearchCookie("searchBeds")) != "")
	{
		$('searchBeds').value = trim(getSearchCookie("searchBeds"));
	}
	if(trim(getSearchCookie("searchBaths")) != "")
	{
		$('searchBaths').value = trim(getSearchCookie("searchBaths"));
	}
	if(trim(getSearchCookie("minPrice")) != "")
	{
		$('minprice').value = trim(getSearchCookie("minPrice"));
	}
	if(trim(getSearchCookie("maxPrice")) != "")
	{
		$('maxprice').value = trim(getSearchCookie("maxPrice"));
	}
	if(trim(getSearchCookie("searchType")) != "")
	{
		checkAllPropType();
	}
	if(trim(getSearchCookie("mlsno")) != "" && $('mlsno'))
	{
		$('mlsno').value = trim(getSearchCookie("mlsno"));
	}
	if(trim(getSearchCookie("minPSize")) != "" && $('minPSize'))
	{
		$('minPSize').value =  trim(getSearchCookie("minPSize"));
	}
	if(trim(getSearchCookie("maxPSize")) != "" && $('maxPSize'))
	{
		$('maxPSize').value =  trim(getSearchCookie("maxPSize"));
	}
	if(trim(getSearchCookie("keywordSrch")) != "" && $('keywordSrch'))
	{
		$('keywordSrch').value =  trim(getSearchCookie("keywordSrch"));
	}

	/*
	if(trim(getSearchCookie("minLotSize")) != "" && $('minLotSize') )
	{
		$('minLotSize').value =  trim(getSearchCookie("minLotSize"));
	}
	if(trim(getSearchCookie("maxLotSize")) != "" && $('maxLotSize'))
	{
		$('maxLotSize').value =  trim(getSearchCookie("maxLotSize"));
	}	
	*/
}

function makeTabActive(actView)
{
	$('galleryTab').src = "/wt/"+bkTheme+"/images/common/galleryView.gif";
	$('mapTab').src = "/wt/"+bkTheme+"/images/common/mapView.gif";
	$('listTab').src = "/wt/"+bkTheme+"/images/common/listView.gif";
	switch(actView)
	{
		case 'listView':
						$('listTab').src = "/wt/"+bkTheme+"/images/common/listview_sel.gif";						
						break;
		case 'galleryView':
						$('galleryTab').src = "/wt/"+bkTheme+"/images/common/galleryview_sel.gif";		
						break;
		case 'mapView':
						$('mapTab').src = "/wt/"+bkTheme+"/images/common/mapview_sel.gif";		
						break;				
	}
}


function viewDetails(link)
{
	window.open(link,"_blank");
}
//********START***************** LIST SEARCH MORE OPTION BUTTON SLIDING ANIMATION DIV ******************//
var hgtMoreOpt=0;
function openMoreOption()
{	
	var moreOptDivObj = $('moreOptTbl');
	var hgt = moreOptDivObj.style.height;
	hgt = parseInt(hgt);	
	if(hgt == 0)
		expandMoreOpt(hgt,maxMoreOpt);
	else
		collapseMoreOpt();
}
function expandMoreOpt()
{  
   var divObj = $('moreOptTbl');  
   if(hgtMoreOpt != maxMoreOpt)
   {
     hgtMoreOpt+=25;
     divObj.style.height = hgtMoreOpt+'px';	
     window.setTimeout("expandMoreOpt();", 1);
   }
   divObj.style.display="";
   if(hgtMoreOpt == maxMoreOpt)
   {
	 //$("imgMoreSearchOpt").src = "/wt/"+bkTheme+"/images/common/closeSearchOpt.gif";
	 $('moreOptDiv').innerHTML = "Close Expanded Search";
   }
}

function collapseMoreOpt()
{
   var divObj = $('moreOptTbl');
   hgtMoreOpt = divObj.style.height;
   hgtMoreOpt = parseInt(hgtMoreOpt);
   if(hgtMoreOpt != 0)
   {
     hgtMoreOpt-=25;
     divObj.style.height = parseInt(hgtMoreOpt)+'px';	
     window.setTimeout("collapseMoreOpt();", 1);
   }
   divObj.style.display="";
   if(hgtMoreOpt == 0) 
   {
	   divObj.style.display="none";
	  //$("imgMoreSearchOpt").src = "/wt/"+bkTheme+"/images/common/moreSearchOpt.gif";
	  $('moreOptDiv').innerHTML = "Expanded Search";
   }
}
//********END***************** LIST SEARCH MORE OPTION BUTTON SLIDING ANIMATION DIV ******************//

function searchMap(event)
{
	if(typeof(setMapZoomOutLimit) != "undefined")
		setMapZoomOutLimit = 1;
	/*var searchCSZ = trim($F('RSsearchCSZ'));
	if(searchCSZ == "" || $F('selVal') == "NBR")
	{
		alert('Please enter city,state'); return false;
	}
	else
	{
		var retArray = doGeoCode(searchCSZ,'');
		if(!retArray) { $('RSsearchCSZ').className  = 'textboxRed'; $('RSsearchCSZ').focus(); return false; }
	}*/
	var lat = map2.getCenter().lat();
	var lng = map2.getCenter().lng();
	var latLongStr = "[{'lat':'"+lat+"','lng':'"+lng+"'}]";	
	var now = new Date();
	now.setTime(now.getTime() + 3650 * 24 * 60 * 60 * 1000);
	setCookie("latLongCk",latLongStr,now);	
	map2 = undefined;
	$("mapDivHeader").hide();
	/*$("mapMainDiv").style.top = "0px";
	$("mapMainDiv").style.left = "10px";
	$("mapMainDiv").style.height = "322px";
	$("mapDiv").style.height = "320px";
	$("mapMainDiv").style.width =  $("mapDivHeader").style.width = $("mapDiv").style.width = "978px";
	$("mapMainDiv").style.position = "relative";*/
	
	$("mapMainDiv").className = "mapMainDivDSBig";
	$("mapDiv").className = "mapDivDSBig";
	$("mapDivHeader").className = "mapDivHeaderDSBig mapDivHeader";
				
	$("mapDiv").show();
	if(typeof(polyRouteArr) != "undefined") 	polyRouteArr.clear();
	loadPolyMap();
	if($F('selVal') == "NBR")
	{
		getLatLngFrmNbr($F('RSsearchCSZ'))
		minimap.setCenter(new GLatLng(getSearchCookie("lat"), getSearchCookie("lng")));
	}
}
function getLatLngFrmNbr(name)
{	
		var url = '/info/subNbrHandler.php';
		var qs = 'case=getNbrFrmProp&nbrName='+name;	
		ajaxRequest(url,qs,function(r)
		{
			var rsText = r.responseText;
			if(rsText != "")
			{
				var latLngArr = rsText.split('~!@');
						var latLongStr = "[{'lat':'"+latLngArr[0]+"','lng':'"+latLngArr[1]+"'}]";
				var now = new Date();
				now.setTime(now.getTime() + 3650 * 24 * 60 * 60 * 1000);
				setCookie("latLongCk",latLongStr,now);
				setSearchCookie("lat",latLngArr[0]);
				setSearchCookie("lng",latLngArr[1]); 						
			}
		},false);
}
function clearMapList()
{
	pointswitch = false;
	if($('dist')) $("dist").style.display = "none";	
	$('txtArea').value='';
	$('txtPolygon').value='';
	removeSearchCookie('area');
	removeSearchCookie("polygon");
	polyRouteArr.clear();
	routePoints.clear();
	if(minimap) minimap.clearOverlays();
	
	$('clrSerArea').style.display='none';
	$('drawSerArea').style.display='';		
}

function checkMapSearch()
{
	if($("chkPolySearch").checked == false) clearMapList();
	$("drawSerArea").style.display = "";
	$("clrSerArea").style.display = "none";
}

function clearMapSearch()
{	
	if(typeof(setMapZoomOutLimit) != "undefined")
		setMapZoomOutLimit = 0;
	if($('mapMainDiv') && parseInt($('mapMainDiv').style.width) < 900)
	{
		extendMap('l');
	}
	$("chkPolySearch").checked = false;
	clearMapList();	
	$("drawSerArea").style.display = "";
	$("clrSerArea").style.display = "none";
	if($('mapDiv').className == "mapDivSmall")
	{
		$('polygonDiv').hide();
	}
}

function hideHelpBox()
{	
	$("helpBox").hide();
}

function cityResponseList(resp)
{	
	var cityResp = trim((resp.responseText)).split(",");
	geoCity = cityResp[0];
	geoState = cityResp[1];
	latitude = cityResp[2];
	longitude = cityResp[3];
	if(geoCity=="")
	{
		alert("Sorry, There are no listings for the selected region.");
		while(routePoints.length > 1)
		{
			routePoints.pop();
			plotRoute();
		}
		routePoints.clear();
		minimap.removeOverlay(startMarker);
	}
	else
	{
		if(trim($("txtArea").value) == "")
		{
			$("txtArea").value = tmpBound.toString();
			$("txtPolygon").value = routePoints.toString();
		}
		else 
		{
			if($("txtPolygon").value == "")
			{
				$("txtPolygon").value = rectToPoly($("txtArea").value);
			}
			$("txtArea").value += "|" +tmpBound.toString();
			$("txtPolygon").value += "|"+routePoints.toString();
		}
		lat = latitude;
   		lng = longitude;       
		var latLongStr = "[{'lat':'"+lat+"','lng':'"+lng+"'}]";
		var now = new Date();
		now.setTime(now.getTime() + 3650 * 24 * 60 * 60 * 1000);
		setCookie("latLongCk",latLongStr,now);
		removeSearchCookie('neighborhood');
		$('RSsearchCSZ').value = geoCity+', '+geoState;
		$('selVal').value='CS';
	}
	if($("chkPolySearch")) $("chkPolySearch").checked = true;
}

function hideMapList()
{	
	if(typeof(setMapZoomOutLimit) != "undefined")
		setMapZoomOutLimit = 0;
	if($("chkPolySearch") && $("chkPolySearch").checked)
	{		
		if($("drawSerArea").style.display != 'none') { var flgalert = true; }
		$("drawSerArea").style.display = "none";
		if(singlePoly) 
		{ 			
			removeSearchCookie("neighborhood");
			var polyEncodeStr = encodePolygonToStr(trim($F("txtPolygon")));
			setSearchCookie("polygon",polyEncodeStr);
			setSearchCookie("area",$F("txtArea"));						
		}
		$("clrSerArea").style.display = "";
	}		
	
	if($("chkPolySearch") && ($F("txtPolygon")!="" || $F("txtArea")!="")) $("chkPolySearch").checked = true;
	else if($("chkPolySearch"))	$("chkPolySearch").checked = false;		
	if(trim(getSearchCookie("polygon")) == "" || $F("txtPolygon") == "")
	{
		clearMapList();
	}
	if( getSearchCookie("polygon") == "" )
	{
		$('clrSerArea').style.display='none';
		$('drawSerArea').style.display='';	
	}	
	if($("helpBox")) $("helpBox").hide();	
	if($("mapHeader")) $("mapHeader").hide();		
	//if($("mapDiv")) $("mapDiv").hide();		
	if($('RSsearchCSZ') && trim($F('RSsearchCSZ')) == "" )
	{
		$('RSsearchCSZ').value = defCSZ;
		$('selVal').value = 'CS';
	}
	doPropSearch();
}

function setPosForEmailSaveSearch(fromPage,alertType,divId,cnt)
{
	if(typeof(cnt) == 'undefined') cnt = '';
	if(fromPage == "listing")
	{
		alertAddress = response[cnt].address;
		alertCity	= response[cnt].city;		
		alertState	= response[cnt].state;		
		alertZip	= response[cnt].zip;
		alertMlsNo	= response[cnt].mlsno;
		alertPrice	= response[cnt].price;
		alertStatus = response[cnt].status;
		alertTid	= response[cnt].terabitzid;
		chkAlertStatus = alertType;
	}
	else if(fromPage == "listingView")
	{
		alertAddress = response[cnt].address;
		alertCity	= response[cnt].city;		
		alertState	= response[cnt].state;		
		alertZip	= response[cnt].zip;
		alertMlsNo	= response[cnt].mlsno;
		alertPrice	= response[cnt].price;
		alertStatus = response[cnt].status;
		alertTid	= response[cnt].terabitzid;
		chkAlertStatus = alertType;			
	}
	else if(fromPage == "homeSite")
	{
		alertAddress = propMlsAddr;
		alertMlsNo	= propMlsNo;
		alertPrice	= propPrice;
		alertStatus = propStatus;
		alertTid	= propTid;
		chkAlertStatus = alertType;		
	}
	else
	{
		chkAlertStatus = "";
	}
	if(alertType == "all") chkAlertStatus = "all";
}
var myPriceParmObj = new Object();
function savePriceStatusAlert(fromPage,alertType,divId,cnt)
{	
	myPriceParmObj.fromPage = fromPage;
	myPriceParmObj.alertType = alertType;
	myPriceParmObj.divId = divId;
	myPriceParmObj.cnt = cnt;
	if(typeof(response) == 'undefined') response = [];	
	myPriceParmObj.response = response;
	$('txtSrchNm').value = $('txtSrchNm1').value = '';
	setPosForEmailSaveSearch(fromPage,alertType,divId,cnt);
	if($('divEmailSaveSearch')) $('divEmailSaveSearch').hide();	
	if(typeof(uid) == "undefined" || uid == "" || uid == null)
	{	
		if(alertType == 'marketReport')
		{	
			var qsObj = new Querystring();			
			var mrUrl = window.location.href;
			if(qsObj.get("updateFlg") == null) mrUrl += '&updateFlg=1';
			opensignInRegDlg(mrUrl,'R','','');
		}
		else
		{				
			var mrUrl = window.location.href;
			opensignInRegDlg(mrUrl,'R','','');
			/*
			if(typeof(SignInDlg) == "string" || typeof(SignInDlg) == "undefined" || SignInDlg == null)
			{
				if($('divSignInFrm')) 
				{ 				
					$('divSignInFrm').style.display = '';			
					if(typeof(createDialog) == "function")
						SignInDlg = createDialog('divSignInFrm');
				}
			}
			$('divSignInFrm').style.dispaly = 'block';
			$('userName').value = "";
			$('userPwd').value = "";
			$('userName').className="textbox";
			$('userPwd').className="textbox";
			$('errSysLogin').innerHTML="&nbsp;";
			if($("fromWhere")) $("fromWhere").value = "pricestatusAlert";			
			if($("signInRoloLnk")) $("signInRoloLnk").href  = '/app/auth/login.php';
			var qs = new Querystring();
			if(qs.get("frm") != null && qs.get("aid") != null && $("signInRoloLnk"))
				$("signInRoloLnk").href += "?agd="+trim(qs.get("aid"));
			roloUse = true;
			SignInDlg.show();
			*/
		}
	}
	else
	{	
		if($('divEmlSerHeader1')) $('divEmlSerHeader1').innerHTML = "Get email alerts";
		if($('divEmlSerHeader')) $('divEmlSerHeader').innerHTML = "Save This Search";

		if($('saveSerLabel')) $('saveSerLabel').innerHTML = "Name this search";
		if($('saveSerLabel1')) $('saveSerLabel1').innerHTML = "Name this search";
		if($('dailyWeeklySpan')) $('dailyWeeklySpan').innerHTML = "Send me email alerts for properties matching this search<br/><br/>";
		if($('dailyWeeklyRow')) $('dailyWeeklyRow').show();

		//showDiv('divEmailSaveSearch');
		//----FOLLOWING LINE IS FOR STORING LATEST SEARCH CRITERIA IN COOKIE----//
		if(cnt == "" && $('bit_select_box') && validateRSCriteriaNew() && ($('chkOpnHome')  && !$('chkOpnHome').checked)) 
		{		
			qryStrHash['grp']='';doPropSearch();
		}
		else if(cnt == "" &&$('bit_select_box') && ($('chkOpnHome')  && !$('chkOpnHome').checked))
		{			
			return; 			
		}
		else if(cnt == "" &&typeof(fromOpenHome) != "undefined" && fromOpenHome == "1" && chkOPCriteria()) 
		{
			chkOpenHousesArr = new Array();
			openHousesAddArr = new Array();
			getOpenHomes();
			getOpenHomes('1');
		}
		else if(cnt == "" && typeof(fromOpenHome) != "undefined" && fromOpenHome == "1" && cnt == "")
		{
			return; 
		}		
		var searchCrtStr = '';
		if(alertType == 'statusAlert' && fromPage != "homeSite")
		{	
			if($('divEmlSerHeader')) $('divEmlSerHeader').innerHTML = "Status alert";
			var addrStr = "";
			addrStr = response[cnt].address;
			if(response[0].unitno != "") addrStr += "#"+response[cnt].unitno;
			addrStr += ", "+response[cnt].city;
			addrStr += " "+response[cnt].state;
			addrStr += ", "+response[cnt].zip;
			searchCrtStr = "Having address:"+addrStr;
			
			if(response[cnt].mlsno.indexOf("PKT") != -1)
			{
				var tid = response[cnt].mlsno;
				tid = tid.substr(3,tid.length);
				searchCrtStr += " and terabitz id:"+tid;
				alertTid = tid;
				alertMlsNo = "";
			}
			else
			{
				searchCrtStr += " and mls no:"+response[cnt].mlsno;
			}
			searchCrtStr += "<br/><br/>You will receive an email alert if the status of this property changes.";
			if($('saveSerLabel')) $('saveSerLabel').innerHTML = "Name this alert";
		}
		else if(alertType == 'statusAlert' && fromPage == "homeSite")
		{				
			if($('divEmlSerHeader')) $('divEmlSerHeader').innerHTML = "Status alert";
			searchCrtStr = "Having address:"+propMlsAddr;
			
			if(propMlsNo != "" && source != "ENHANCEDLISTING" && source != "POCKETLISTING")
			{
				searchCrtStr += " and mls no:"+propMlsNo;
			}
			else
			{
				if(source == "POCKETLISTING")
				{
					searchCrtStr += " and terabitz id:"+propTid;
					alertTid = propTid;
					alertMlsNo = "";
				}
				else
				{
					if(propMlsNo != "" && source == "ENHANCEDLISTING")
					{
						searchCrtStr += " and mls no:"+propMlsNo;
						alertMlsNo = propMlsNo;
					}
					else
					{
						searchCrtStr += " and terabitz id:"+propTid;
						alertTid = propTid;
						alertMlsNo = "";
					}					
				}				
			}
			
			searchCrtStr += "<br/><br/>You will receive an email alert if the status of this property changes.";
			if($('saveSerLabel')) $('saveSerLabel').innerHTML = "Name this alert";
		}
		else if(alertType == 'all' && fromPage == "homeSite")
		{
			chkAlertStatus = "homeEmailAlert";
			searchCrtStr = "Having address:"+propMlsAddr;

			if(propMlsNo != "" && source != "ENHANCEDLISTING" && source != "POCKETLISTING")
			{
				searchCrtStr += " and mls no:"+propMlsNo;
			}
			else
			{
				if(source == "POCKETLISTING")
				{
					searchCrtStr += " and terabitz id:"+propTid;
					alertTid = propTid;					
				}
				else
				{
					searchCrtStr += " and terabitz id:"+propMlsNo;
					alertTid = propMlsNo;
				}
				alertMlsNo = "";
			}

			searchCrtStr += "<br/><br/>You will receive an email alert if the status of this property changes.";
		}
		else if(alertType == 'marketReport' && fromMarketReport)
		{			
			var qs = new Querystring();
			if($('divEmlSerHeader1')) $('divEmlSerHeader1').innerHTML = "Market reports";
			searchCrtStr = "Having neighborhood:"+trim(qs.get("nhood").replace('_',' '));
			searchCrtStr += "<br/><br/>You will receive an email with market information on this area every month.";
			if($('saveSerLabel1')) $('saveSerLabel1').innerHTML = "Name this alert";
			if($('dailyWeeklySpan')) $('dailyWeeklySpan').innerHTML = "";
			if($('dailyWeeklyRow')) $('dailyWeeklyRow').hide();
		}
		else
			searchCrtStr = getSearchCriteriaString();
				
		if(alertType != 'all' && fromMarketReport == "")
		{			
			$('srchCrtDiv').innerHTML = searchCrtStr;
			$('divEmailSaveSearch').style.display = '';		
			if(typeof(createDialog) == "function")
				emlSaveSearchDlg = createDialog('divEmailSaveSearch');
		}
		else
		{
			if($('saveSerLabel1')) $('saveSerLabel1').innerHTML = "Name this alert";
			$('srchCrtDiv1').innerHTML = searchCrtStr;
			$('divEmailSaveSearch1').style.display = '';		
			if(typeof(createDialog) == "function")
				emlSaveSearchDlg = createDialog('divEmailSaveSearch1');
		}		
		emlSaveSearchDlg.show();
	}
}

function removePolyRelated()
{
	removeSearchCookie("polygon");
	removeSearchCookie("area");
	if($("txtArea")) $("txtArea").value = "";
	if($("txtPolygon")) $("txtPolygon").value = "";
	if($("chkPolySearch")) $("chkPolySearch").checked = false;
	if($("drawSerArea")) $("drawSerArea").show();
	if($("clrSerArea")) $("clrSerArea").hide();
	if($("miniMapContainer")) $("miniMapContainer").hide();
	if($('mapDiv') && $('mapDiv').className == "mapDivSmall" && $('polygonDiv'))
	{
		$('polygonDiv').hide();
	}
	if(typeof(map2) == 'object' )
	{
		map2.clearOverlays();
	}
}

function hideSavedSearch(id)
{	
	if($("aSavSearch"))
	{
		if((id).value != "officeListing" && (id).value != "brokeropenHome" && (id).value != "openHome" && (id).value != "")
		{
			$("aSavSearch").hide();
			$("btnEmailAlerts").hide();			
		}
		else
		{
			$("aSavSearch").show();
			$("btnEmailAlerts").show();
		}

		//Hide For Power Search
		if(initPower && typeof(initPower) != "undefined")
		{
			$("aSavSearch").hide();
			$("btnEmailAlerts").hide();
		}
	}
}

function loadLocalBit(bitName)
{	
	var obj = $('chkBx'+bitName);
    var crawlerName = '';
	var objName = (obj.id).replace('chkBx','');
	for(var i=0;i<bitArr.length;i++)
	{
	  if(bitArr[i]['bitname']==bitName)
	  {			
			crawlerName = bitArr[i]['wDrag'];
	  }
	}

	if (obj && obj.checked)
	{	
		if(!checkInArray(obj.id,localBitArr))
			localBitArr.push(obj.id);

		if (trim(objName) == 'wikipedia')
		{
			wikiLayer = new GLayer("org.wikipedia.en");
			window.map2.addOverlay(wikiLayer);
		}
		else
		{
			var gcenter = map2.getCenter();
			var latVar = gcenter.lat();
			var lngVar = gcenter.lng();
			if(crawlerName)
			{
				var url = 'http://'+location.hostname+'/app/dashboard/'+crawlerName;
				var queryStr = 'mapit=1&city='+getSearchCookie("city")+'&state='+getSearchCookie("state")+'&zip='+getSearchCookie("zip")+'&propLatitude='+latVar+'&propLongitude='+lngVar;
				getLocalBitz(url, queryStr);
			}
		}
	}
	else if(obj)
	{	
		localBitArr.pop(obj.id);		
		if ( trim(objName) == 'wikipedia' )
		{
			if (typeof(wikiLayer)=='object')
				window.map2.removeOverlay(wikiLayer);
		}
		else
			removeCommPushpins(objName, 20);
	}
}

function loadLocalBitArr()
{	
	if(localBitArr && localBitArr.length > 0)
	{
		for(cntL=0;cntL<localBitArr.length;cntL++)
		{
			obj = $(localBitArr[cntL]);	
			if(obj)
			{
				obj.checked = true;
				loadLocalBit(obj);				
			}
		}
	}
}

function addRemoveLocal(bitName)
{
	loadLocalBit(bitName);	
}

function getPolygonFrmSNbr(id)
{
	var url = '/info/subNbrHandler.php';
	var qs = 'id='+id;	
	ajaxRequest(url,qs,function(r)
	{
		var rsText = r.responseText;
		if(rsText != "")
		{
			var sNbrPolyAreaArr = rsText.split('~!@');
			$('txtArea').value = sNbrPolyAreaArr[0];
			$('txtPolygon').value = sNbrPolyAreaArr[1];
			if($("chkPolySearch")) $("chkPolySearch").checked = true;
			//setSearchCookie('area',sNbrPolyAreaArr[0]);
			//setSearchCookie('polygon',sNbrPolyAreaArr[1]);
		}
	},false);
}

function redirectToFavUrl(url)
{
	saveFavUrl = url;
	if(typeof(uid) == "undefined" || uid == "" || uid == null)
	{		
		/*
		if(typeof(SignInDlg) == "string" || typeof(SignInDlg) == "undefined" || SignInDlg == null)
		{
			if($('divSignInFrm')) 
			{ 				
				$('divSignInFrm').style.display = '';			
				if(typeof(createDialog) == "function")
					SignInDlg = createDialog('divSignInFrm');
			}
		}
		$('divSignInFrm').style.dispaly = 'block';
		$('userName').value = "";
		$('userPwd').value = "";
		$('userName').className="textbox";
		$('userPwd').className="textbox";
		$('errSysLogin').innerHTML="&nbsp;";
		if($("fromWhere")) $("fromWhere").value = "saveFavUrl";
		if($("signInRoloLnk")) $("signInRoloLnk").href  = '/app/auth/login.php';
		var qs = new Querystring();
		if(qs.get("frm") != null && qs.get("aid") != null && $("signInRoloLnk"))
			$("signInRoloLnk").href += "?agd="+trim(qs.get("aid"));
		SignInDlg.show();
		*/				
		var mrUrl = window.location.href;
		opensignInRegDlg(mrUrl,'R','','');
	}
	else
	{
		window.open(saveFavUrl);
	}
}

function showOpenHomeDir(id)
{
	var myQs = new Querystring();
	var frm = myQs.get("frm");
	var aid = myQs.get("aid");
	var aidParam = "";
	if(frm != null && trim(frm) == 'agt' && aid != null && trim(aid) != "")
		aidParam = "&frm=" + frm + "&aid=" + aid;

	var host = "http://"+window.location.hostname+"/app/dashboard/getDirectionDetails.php?id=" + id + aidParam;
	window.open(host,"_blank");
}

// ---- record limit while next - prev & goto page ----//
function renderRecLimit()
{	
	if(!checkInArray(bkTheme,recLimitArr)) return true;

	var myNxtPage = parseInt($F('pagiVal')) + 1;
	var rpp = parseInt(recordPerPage);
	var gpp = parseInt(galleryRecPerPage);
	var ppp = 0;
	var totRec = 0;
	if($('photoId0') != null) 
	{
		ppp = gpp;
		totRec = parseInt(gpp*myNxtPage);
	}
	else
	{
		ppp = rpp;
		totRec = parseInt(rpp*myNxtPage);
	}
	//alert('totRec: '+totRec+"===totalRecords: "+parseInt(totalRecords)+"===mlsMaxResult: "+mlsMaxResult);
	if(totRec > mlsMaxResult)
	{
			alert('Your search has returned more than '+mlsMaxResult+' results. Please refine your search criteria.');
			return false;		
	}	
	return true;
}


function decodeLine (encoded) 
{
  var len = encoded.length;
  var index = 0;
  var array = [];
  var lat = 0;
  var lng = 0;

  while (index < len) {
    var b;
    var shift = 0;
    var result = 0;
    do {
      b = encoded.charCodeAt(index++) - 63;
      result |= (b & 0x1f) << shift;
      shift += 5;
    } while (b >= 0x20);
    var dlat = ((result & 1) ? ~(result >> 1) : (result >> 1));
    lat += dlat;

    shift = 0;
    result = 0;
    do {
      b = encoded.charCodeAt(index++) - 63;
      result |= (b & 0x1f) << shift;
      shift += 5;
    } while (b >= 0x20);
    var dlng = ((result & 1) ? ~(result >> 1) : (result >> 1));
    lng += dlng;

    array.push([lat * 1e-5, lng * 1e-5]);
  }
  return array;
}

function convPolyPointStr(array)
{
	polyPointStr = "";
	cnt=0;
	for(i=0;i<array.length;i++)
	{
		cnt++;
		polyPointStr += "("+array[i][0]+", "+array[i][1]+")";
		if(cnt != array.length)
			polyPointStr +=",";
	}
	return polyPointStr;
}

function setMapPolygonNhood (map, area)
{
	bound = area;
	var polyRouteArr = new Array();
	var points = new Array; 	
	var mapArr = area.split("|");
	var boundset = new GLatLngBounds();

	for(var i=0;i<mapArr.length;i++)
	{
		polyRouteArr.push(mapArr[i]);
		mapArr[i] = mapArr[i].replace(/\ /g,"");
		var tmpStr = mapArr[i].replace(/\),\(/g,")::(");
		var tmpArr = tmpStr.split("::");
		for(var j=0;j<tmpArr.length;j++)
		{	
			tmpArr[j] = tmpArr[j].replace(")","");
			tmpArr[j] = tmpArr[j].replace("(","");
			points.push(new GLatLng(tmpArr[j].split(",")[0],tmpArr[j].split(",")[1]));
			boundset.extend(new GLatLng(tmpArr[j].split(",")[0],tmpArr[j].split(",")[1]));	
		} 
		var polyArea = new GPolygon(points,"#ff0000",2,0.5,"#00FF00", 0.5);
		map.addOverlay(polyArea);
		points = [];		
	}	
}

function getPowerSearchCookie()
{	
	var strSearchCookie = getCookie("strSearchCookie");
	var arrSearchCookie = new Array();
	if(strSearchCookie != null && strSearchCookie != "")
	{
		arrSearchCookie = strSearchCookie.split(':::');
	}

	if(arrSearchCookie.length > 0)
	{		
		var postParam = "";
		for(var i=0;i<arrSearchCookie.length;i++)
		{
			var arrKeyVal = arrSearchCookie[i].split('=');			
			arrKeyVal[1] = arrKeyVal[1].replace(/\+/g,' ');			
			if((arrKeyVal[0]=="ltDate" || arrKeyVal[0] == "lfDate") && arrKeyVal[1] != "")
			{				
					var dateTmp = arrKeyVal[1].split('-');
					arrKeyVal[1] = dateTmp[2]+"-"+dateTmp[0]+"-"+dateTmp[1];
					//alert(arrKeyVal[1] +"=="+arrKeyVal[0]);			
			}
			if(arrKeyVal[1] != "")
			{
				if(arrKeyVal[1].indexOf(":") > 0)
				{				
					arrKeyVal[1] = arrKeyVal[1].replace(/\:/g, ",");					
				}
				else if(arrKeyVal[1].indexOf("|^|") >= 0)
				{				
					arrKeyVal[1] = arrKeyVal[1].replace(/\|\^\|/g, ":-:");					
					checkAllPropType(arrKeyVal[1]);
				}
				postParam +=  "&"+arrKeyVal[0]+"="+arrKeyVal[1];
			}			
		}	
	}
	
	return postParam;	
}

/* function related to multiple property type selection */
function getAllCheckedPropType(attr)
{
	var srchTyp = "";		
	if($("chk_All").checked == true)
	{
		// IF ALL CHECKED NOTHING TO SAVE IN COOKIE
	}
	else
	{
		var arrChkBox = $("dvPropType").getElementsByTagName("input");
		var lenArrChkBox = arrChkBox.length;			

		for(k=0; k<lenArrChkBox; k++)
		{
			if(arrChkBox[k].id == "chk_All")
				continue;

			if(arrChkBox[k].checked == true)
			{
				if(attr == "value")
					srchTyp += arrChkBox[k].value+":-:";					
				else if(attr == "key")
				{
					var tmp = arrChkBox[k].id;
					tmp = tmp.substr(4, tmp.length);
					srchTyp += tmp+",";
				}
			}
		}
		
		if(srchTyp != "")
		{
			if(attr == "value")
				srchTyp = srchTyp.substr(0, srchTyp.length-3);
			else if(attr == "key")
				srchTyp = srchTyp.substr(0, srchTyp.length-1);
		}
	}
	return srchTyp;
}

function showHidePropTypeDiv()
{
	if($('dvPropTypeMain').style.display == 'block')
		$('dvPropTypeMain').style.display = 'none';
	else
		$('dvPropTypeMain').style.display = 'block';
}

function checkUnCheckPropType(obj)
{
	if(trim(obj.id) == "chk_All") // All - type checked / unchecked
	{
		var arrChkBox = $("dvPropType").getElementsByTagName("input");
		var lenArrChkBox = arrChkBox.length;
		
		if(obj.checked == true)
		{
			for(k=0; k<lenArrChkBox; k++)
			{
				arrChkBox[k].checked = true;
			}
		}
		else
		{
			for(k=0; k<lenArrChkBox; k++)
			{
				arrChkBox[k].checked = false;
			}
		}
	}
	else
	{
		var arrChkBox = $("dvPropType").getElementsByTagName("input");
		var lenArrChkBox = arrChkBox.length;
		var flag = false;

		for(k=0; k<lenArrChkBox; k++)
		{
			if(arrChkBox[k].id == "chk_All")
				continue;

			if(arrChkBox[k].checked == true)
			{
				flag = true;
				break;
			}
		}

		if(flag)
		{
		}
		else
		{
			$("chk_All").checked = false;
			return;
		}
		
		if(obj.checked == true)
		{
			var flag = false;

			for(k=0; k<lenArrChkBox; k++)
			{
				if(arrChkBox[k].id == "chk_All")
					continue;

				if(arrChkBox[k].checked == false)
				{
					flag = true;
					break;
				}
			}				

			if(flag)
				$("chk_All").checked = false;
			else
				$("chk_All").checked = true;
		}
		else
		{
			var flag = false;

			for(k=0; k<lenArrChkBox; k++)
			{
				if(arrChkBox[k].id == "chk_All")
					continue;

				if(arrChkBox[k].checked == true)
				{
					flag = true;
					break;
				}
			}				

			if(flag)
				$("chk_All").checked = false;
			else
				$("chk_All").checked = true;
		}
	}
}

function savePropType()
{
	var srchTyp = "";		
	if($("chk_All").checked == true)
	{
		// IF ALL CHECKED NOTHING TO SAVE IN COOKIE
	}
	else
	{
		var arrChkBox = $("dvPropType").getElementsByTagName("input");
		var lenArrChkBox = arrChkBox.length;			

		for(k=0; k<lenArrChkBox; k++)
		{
			if(arrChkBox[k].id == "chk_All")
				continue;

			if(arrChkBox[k].checked == true)
			{
				srchTyp += arrChkBox[k].value+":-:";					
			}
		}
		if(srchTyp != "")
			srchTyp = srchTyp.substr(0, srchTyp.length-3);
	}

	setSearchCookie("searchType", trim(srchTyp));
	displayPropType();
	showHidePropTypeDiv();
}

function displayPropType(str)
{
	var titleText = "";

	if(typeof(str) != "undefined" && str != "")
		titleText = str;
	else
		titleText = getAllCheckedPropType("key").replace(/_/g, " ");;

	if(titleText == "")
		titleText = "All";		

	if(titleText.length > 22)
		titleText = titleText.substr(0,22)+"...";

	$("dvPropTypeTitle").innerHTML = titleText;
}

function checkAllPropType(str)
{
	var stringToUse = "";
	if(typeof(str) != "undefined" && str != "")
		stringToUse = str.replace(/%20/g, " ");
	else
		stringToUse = trim(getSearchCookie("searchType"));

	var checkedArr = new Array();
	if(stringToUse.indexOf(":-:")>=0)
		checkedArr = stringToUse.split(":-:");
	else
		checkedArr[0] = stringToUse;
	
	var checkedArrLen = checkedArr.length;		

	var arrChkBox = $("dvPropType").getElementsByTagName("input");
	var lenArrChkBox = arrChkBox.length;
	var flag = false;
	
	var arrChkBoxInner = new Array();
	var arrChkBoxInnerTitle = new Array();
	for(var k=0; k<lenArrChkBox; k++)
	{
		arrChkBoxInner[k] = arrChkBox[k].value;
		arrChkBoxInnerTitle[k] = ((arrChkBox[k].id).substr(4,(arrChkBox[k].id).length)).replace(/_/, " ");
	}

	stringToUse = "";	

	for(var k=0; k<checkedArrLen; k++)
	{
		var ind = arrChkBoxInner.in_array(checkedArr[k]);
		if(ind !== false)
		{
			arrChkBox[ind].checked = true;
			stringToUse += arrChkBoxInnerTitle[ind]+",";
		}
	}

	if(stringToUse != "")
		stringToUse = stringToUse.substr(0,stringToUse.length-1);

	displayPropType(stringToUse);
}
/* function related to multiple property type selection */

/* function for sandia-santafe to display custom message */

function customMsg()
{
	var msg = "";
	if(getSearchCookie('searchCriteria')=='newListing')
	{
		msg =  " for the past 7 days";
	}
	var selInd = $('bit_select_box').selectedIndex;
	var selText = $('bit_select_box')[selInd].text; 
	if($('dvPropTypeTitle').innerHTML== "Commercial" || $('dvPropTypeTitle').innerHTML== "Lots and Land")
		selText = "All "+$('dvPropTypeTitle').innerHTML + " listings";
	var msgHtml = "You are viewing "+selText+" available in the "+ $('RSsearchCSZ').value + msg+".";
	$('msgTable').innerHTML = msgHtml;
	$('msgTable').show(); // for message - santafe and sandia 
	if($('mlsno') && $F('mlsno') != "") $('msgTable').hide();	
}

function setNeighborhoodMsg(divId)
{
	if($F(divId) == '') {
		$(divId).value = 'Choose Neighborhood';
	}
	else if($F(divId) == 'Choose Neighborhood') {
		$(divId).value = '';
	}
}

function getKeyCode(event, type)
{
	if(event && event.keyCode == 13)
	{
		qryStrHash['grp']='';
		disablePower=true;
		setTimeout(function() { doPropSearch(); },1000);
	}
}

/*../nHoodAPI/js/mapControls.js*/

/* Function for adding custon control to map */
/* Function for adding custon control to map */
function localControl(bitArr) {
	this.bitArr = bitArr;
}

localControl.prototype = new GControl();

localControl.prototype.initialize = function(map) {
  var container = document.createElement("div");
  container.setAttribute("class","ctrlLocal");
  

  var topDiv = document.createElement("div");
  topDiv.id = "topDivLocal";
  if(bkTheme == "atproperties")
	  topDiv.appendChild(document.createTextNode("  View amenities "));
  else
	  topDiv.appendChild(document.createTextNode("  Area amenities "));

  topDiv.setAttribute("title","Show amenities");

  var bottomDiv = document.createElement("div");
  bottomDiv.id = "bottomDivLocal";
  //bottomDiv.setAttribute("class","hide");
  bottomDiv.className="hide";

  var closeDiv = document.createElement("div");
  closeDiv.innerHTML = '<div class="mapEClose"><img src="/wt/'+bkTheme+'/images/common/close_dlgLog.gif" border="0" onclick="document.getElementById(\'bottomDivLocal\').className=\'hide\';" style="cursor:pointer;"/></div>';
  bottomDiv.appendChild(closeDiv);
	
 // var bottomDiv1 = document.createElement("div");
  //bottomDiv1.id = "bottomDivLocal1"; 
 // bottomDiv.appendChild(bottomDiv1);

  var mainUl = document.createElement("ul");
  mainUl.id = "ulPhotoSrcLocal";  
  var inputElements = {};
  var liElements = {};
  for (var i=0;i<this.bitArr.length;i++) {
	var icon = new Image();
    icon.src = "/wt/"+bkTheme+"/images/common/"+this.bitArr[i]['bitname']+".gif"; ;
	inputElements[this.bitArr[i]['bitname']] = document.createElement("input");
	inputElements[this.bitArr[i]['bitname']].type = 'checkbox';
	inputElements[this.bitArr[i]['bitname']].id = 'chkBx'+this.bitArr[i]['bitname'];
	inputElements[this.bitArr[i]['bitname']].name = this.bitArr[i]['bitname'];
	inputElements[this.bitArr[i]['bitname']].setAttribute("onclick", "javascript:addRemoveLocal('"+this.bitArr[i]['bitname']+"');");
	inputElements[this.bitArr[i]['bitname']].setAttribute("style", "margin-left:5px;margin-right:5px;");	
	liElements[this.bitArr[i]['bitname']] = document.createElement("li");
	liElements[this.bitArr[i]['bitname']].appendChild(inputElements[this.bitArr[i]['bitname']]);	
	liElements[this.bitArr[i]['bitname']].appendChild(icon);
	liElements[this.bitArr[i]['bitname']].appendChild(document.createTextNode(this.bitArr[i]['display']));
	mainUl.appendChild(liElements[this.bitArr[i]['bitname']]);
  }
  bottomDiv.appendChild(mainUl);
  container.appendChild(topDiv);
  container.appendChild(bottomDiv);

  map.getContainer().appendChild(container);

  if($('#topDivLocal'))
  {
  $('#topDivLocal').bind("click", function (){
	  $("#bottomDiv").addClass("hide");
	  var cls = $("#bottomDivLocal").attr("class");	  	
	  if(cls == undefined || cls == "undefined" || cls == "" )
	  {		
    	$("#topDivLocal").attr("title", "Show amenities");
		$("#bottomDivLocal").addClass("hide");
	  }
	  else
	  {		
		$("#topDivLocal").attr("title", "Hide amenities");
		$("#bottomDivLocal").removeClass("hide");		
	  }
  });
  }
  else
  {
	  $('topDivLocal').observe('click', function (){
		  var cls = $("bottomDivLocal").className;		
		  if(cls)
		  {	
			$("bottomDivLocal").className="";			
			$("topDivLocal").setAttribute("title","Hide amenities");
		  }
		  else
		  {		
			$("topDivLocal").setAttribute("title","Show amenities");
			$("bottomDivLocal").className="hide";
		  }
	  }		  
	  );
  }  
  return container;
}

localControl.prototype.getDefaultPosition = function() 
{ 
	if(typeof(nHoodApi) != 'undefined' && nHoodApi && strView)
		 return new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(182, 7));
	else
		 return new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(110, 7));
}

/*zoomCtrl2.js*/

var Bm=GEvent;
var WebRoot="/wt/"+bkTheme+"/";
function preloadImages()
{
	var img = new Array();
	for(var i=0;i<19;i++)
	{
		img[i]= new Image(100,25); 
		img[i].src=WebRoot+"images/zoom_bar/"+i+".gif"; 
	}
}

function createImageMap()
{
	var mapElm = document.createElement("map2");
	mapElm.id = "ZTracker";
	mapElm.name = "ZTracker";

	var area2 = document.createElement("area");
	area2.shape="rect";
	area2.coords="0,31,16,34";
	area2.href="javascript:DoZoom(2);";
	area2.title="Level 2";
	area2.alt="Level 2";
	mapElm.appendChild(area2);

	var area5 = document.createElement("area");
	area5.shape="rect";
	area5.coords="0,25,16,28";
	area5.href="javascript:DoZoom(5);";
	area5.title="Level 5";
	area5.alt="Level 5";
	mapElm.appendChild(area5);

	var area8 = document.createElement("area");
	area8.shape="rect";
	area8.coords="0,19,16,22";
	area8.href="javascript:DoZoom(8);";
	area8.title="Level 8";
	area8.alt="Level 8";
	mapElm.appendChild(area8);

	var area11 = document.createElement("area");
	area11.shape="rect";
	area11.coords="0,13,16,16";
	area11.href="javascript:DoZoom(11);";
	area11.title="Level 11";
	area11.alt="Level 11";
	mapElm.appendChild(area11);

	var area13 = document.createElement("area");
	area13.shape="rect";
	area13.coords="0,7,16,10";
	area13.href="javascript:DoZoom(13);";
	area13.title="Level 13";
	area13.alt="Level 13";
	mapElm.appendChild(area13);

	var area15 = document.createElement("area");
	area15.shape="rect";
	area15.coords="0,1,16,4";
	area15.href="javascript:DoZoom(15);";
	area15.title="Level 15";
	area15.alt="Level 15";
	mapElm.appendChild(area15);

	document.body.appendChild(mapElm);
}

function ZoomControl(){}
ZoomControl.prototype=new GControl();
ZoomControl.prototype.initialize=function(map2)
{
	var container=document.createElement("div");
	container.className="map_zoom clearfix";
	container.id="ZoomContainer";
	var zoomInDiv=document.createElement("div");
	zoomInDiv.className="zoom_in";
	container.appendChild(zoomInDiv);
	zoomInDiv.innerHTML="<img src='"+WebRoot+"images/zoom_bar/zoom_in.gif' />";
	Bm.addDomListener(zoomInDiv,"click",function()
	{
		if((map2.getZoom()+1)<=16)
		{
			map2.zoomIn();
			//As(false,true);
		}
	});
	var zoomLevel=document.createElement("div");
	zoomLevel.className="level";
	container.appendChild(zoomLevel);
	zoomLevel.innerHTML="<img border='0' src='"+WebRoot+"images/zoom_bar/"+map2.getZoom()+".gif' usemap='#ZTracker' />";
	Bm.addDomListener(map2,"zoomend",function()
	{
		zoomLevel.innerHTML="<img border='0' src='"+WebRoot+"images/zoom_bar/"+map2.getZoom()+".gif' usemap='#ZTracker' />";
	});
	var zoomOutDiv=document.createElement("div");
	zoomOutDiv.className="zoom_out";
	container.appendChild(zoomOutDiv);
	zoomOutDiv.innerHTML="<img src='"+WebRoot+"images/zoom_bar/zoom_out.gif' />";
	Bm.addDomListener(zoomOutDiv,"click",function()
	{		
		if(typeof(setMapZoomOutLimit) != "undefined" && setMapZoomOutLimit == 1)
		{
			//console.log(setMapZoomOutLimit+" === "+map2.getZoom());
			if(map2.getZoom() > 13)	
			{
				map2.zoomOut();	
			}
			else
			{				
				alert("You can not zoom out beyond this level for Draw Your Search Area.");
				return;
			}
		}
		else if(map2.getZoom() > 2)	
		{
			map2.zoomOut();
		}
		//As(false,true);
	});
	map2.getContainer().appendChild(container);
	preloadImages();
	createImageMap();
	return container;
};
ZoomControl.prototype.getDefaultPosition=function()
{
	return new GControlPosition(G_ANCHOR_TOP_LEFT,new GSize(8,8));
};
function DoZoom(num)
{
	map2.setZoom(num);
}


/*mapTypeControl.js*/

function mapTypeControl(){}

mapTypeControl.prototype = new GControl();

mapTypeControl.prototype.initialize = function(map)
{
	var containerT = document.createElement("div");
	containerT.style.zindex = 1000;

	var btnMap = document.createElement("label");
	btnMap.id = "btnMap";
	btnMap.style.paddingLeft="6px";
	btnMap.style.marginRight="-4px";
	this.setButtonStyle_(btnMap,"mapTypeButton");
	containerT.appendChild(btnMap);
	btnMap.appendChild(document.createTextNode("Map"));
	GEvent.addDomListener(btnMap, "click", function(){map.setMapType(G_NORMAL_MAP);});

	var btnSat = document.createElement("label");
	btnSat.id = "btnSat";
	this.setButtonStyle_(btnSat,"mapTypeButton");
	containerT.appendChild(btnSat);
	btnSat.appendChild(document.createTextNode("Sat"));
	GEvent.addDomListener(btnSat, "click", function(){map.setMapType(G_SATELLITE_MAP);});
/*
	/*var btnHyb = document.createElement("label");
	btnHyb.id = "btnHyb";
	this.setButtonStyle_(btnHyb,"mapTypeButton");
	containerT.appendChild(btnHyb);
	btnHyb.appendChild(document.createTextNode("Hyb"));
	GEvent.addDomListener(btnHyb, "click", function(){map.setMapType(G_HYBRID_MAP);});*/

	var btnTer = document.createElement("label");
	btnTer.id = "btnTer";
	this.setButtonStyle_(btnTer,"mapTypeButton");
	containerT.appendChild(btnTer);
	btnTer.appendChild(document.createTextNode("Ter"));
	GEvent.addDomListener(btnTer, "click", function(){map.setMapType(G_PHYSICAL_MAP);});

	map.getContainer().appendChild(containerT);
	return containerT;
}

mapTypeControl.prototype.getDefaultPosition = function()
{
	return new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(7, 10));
}

mapTypeControl.prototype.setButtonStyle_ = function(button,cssStyle)
{
	button.className = cssStyle;
}


/*mapProps.js*/

var latLong;
var mapCenter;
var btmLocalDivHTML = "";
var loadPolyGon = false;
var oldLen="";
var oldMapData;
var cmaCnt=0;
function setZoomCenter(map,mapData)
{
	var box = new Object();
	box.latMin = 100.0;
	box.latMax = -100.0;
	box.lonMin = 200.0;
	box.lonMax = -200.0;
	if(typeof(mapData) != 'undefined')
	{	
		for (var i=0; i<mapData.length; i++) 
		{
			var h = mapData[i];
			if(h.latitude == 0 || h.longitude == 0)
			{
				var flag = 1;
				if(trim(getSearchCookie("lat")) != "")
				{
					h.latitude = getSearchCookie("lat");
					flag = 0;
				}
				if(trim(getSearchCookie("lng")) != "")
				{
					h.longitude = getSearchCookie("lng");
					flag = 0;
				}

				if(flag)
					continue;
			}
			box.latMax = (parseFloat(h.latitude) > box.latMax) ? parseFloat(h.latitude)  : box.latMax;
			box.latMin = (parseFloat(h.latitude) < box.latMin) ? parseFloat(h.latitude)  : box.latMin;
			box.lonMax = (parseFloat(h.longitude)> box.lonMax) ? parseFloat(h.longitude) : box.lonMax;
			box.lonMin = (parseFloat(h.longitude)< box.lonMin) ? parseFloat(h.longitude) : box.lonMin;
		}
		var del = 0;    // buffer area around the box
		box.latMin = box.latMin - del;
		box.latMax = box.latMax + del;
		box.lonMin = box.lonMin - del;
		box.lonMax = box.lonMax + del;
		var center = {lon:(box.lonMax+box.lonMin)/2.0, lat:(box.latMax + box.latMin)/2.0};
		

		var lowerLeft = new GLatLng(box.latMin, box.lonMin);
		var upperRight = new GLatLng(box.latMax, box.lonMax);
		var bounds = new GLatLngBounds( lowerLeft, upperRight);		
		var zoom = map.getBoundsZoomLevel(bounds);     // get the zoom level that accomodates all the pins
		// IF SUBJECT PROPERTY FOR CMA THEN SET MAP-CENTER ACCORDINGY
		if(cmaTab && cmaTab=="1") 
		{ bounds.extend(new GLatLng(parseFloat(rec_lat),parseFloat(rec_lon))); }
		mapCenter = new GLatLng(center.lat, center.lon);	
		map.setCenter(mapCenter, zoom);
		latLong = center.lat+","+center.lon;	
	}
	else
	{
		latLong = (getCookie("latLongCk")!=null)?(eval(getCookie("latLongCk"))[0]):null;
		if(latLong != null)
		{
			lat = latLong.lat;
			lng = latLong.lng;
		}		
		map.setCenter(new GLatLng(lat, lng), 15, G_NORMAL_MAP);
	}	
}

function createIcon(sourcename)
{
	var pushpinImg = sourcename+"_pushpin";
	var iconImage = imgThmPath+"pushpin/"+pushpinImg+".png";
	var pushPinIcon = new GIcon(); 
		  pushPinIcon.image = iconImage; 		 
		  if(sourcename == 'arrow')
			 pushPinIcon.iconSize = new GSize(30,34); 
		  else
             pushPinIcon.iconSize = new GSize(45,38);

		  /*
		  else if(sourcename == 'mlsCountySearch')		  
			  pushPinIcon.iconSize = new GSize(45,38); 		  
		  else
			  pushPinIcon.iconSize = new GSize(22,33); 		  
		  */		 
		  pushPinIcon.iconAnchor = new GPoint(6, 20);
		  pushPinIcon.infoWindowAnchor = new GPoint(5, 1);	
		  pushPinIcon.shadow = imgThmPath+"pushpin/shadow.png";
	
	return pushPinIcon;
}

function createIcon1(sourcename)
{
	var pushpinImg = sourcename+"_pushpin";
	var iconImage = imgThmPath+"pushpin/"+pushpinImg+".png";
	var pushPinIcon = new GIcon(); 
		  pushPinIcon.image = iconImage; 
		  if(sourcename == 'arrow')
			pushPinIcon.iconSize = new GSize(30,34); 
		  else
			pushPinIcon.iconSize = new GSize(22,33); 
		  pushPinIcon.iconAnchor = new GPoint(6, 20);
		  pushPinIcon.infoWindowAnchor = new GPoint(5, 1);	
		  pushPinIcon.shadow = imgThmPath+"pushpin/shadow.png";	
	return pushPinIcon;
}
function backList()
{

	if($("mapDiv"))$("mapDiv").hide();
	if($("backList"))$("backList").hide();
	if($("drawsearchinfobar"))$("drawsearchinfobar").hide();
	if(totalRecords > 0)
	{
		if($("SortPageTbl"))$("SortPageTbl").show();
		if($("proListingDiv"))$("proListingDiv").show();
		if($("impMapShow"))$("impMapShow").show();
		if($("limitBar"))$("limitBar").show();
		if($("propSortBar"))$("propSortBar").show();
	}
	clearProListingDiv();	
}

function loadOnMap(mapData)
{	
	if (GBrowserIsCompatible()) 
	{			
		if(typeof(map2) != 'object' )
		{
			$("mapDiv").innerHTML = "";
			map2 = new GMap2($("mapDiv"));
			ysliderCtrl = new ZoomControl(); 
			map2.addControl(ysliderCtrl);	
			map2.addControl(new GMenuMapTypeControl());
			if(powerSearch != "1") { map2.addControl(new localControl(bitArr)); }
			if($('bottomDivLocal')) { btmLocalDivHTML = $('bottomDivLocal').innerHTML; }			
			/*
			mapTypeCtrl = new mapTypeControl();
			map2.addControl(mapTypeCtrl);
			document.getElementById("btnMap").className="mapTypeButtonSelect";
			GEvent.addListener(map2,"maptypechanged",function(){highlightMapTypeBtn(map2);});
			*/
		}
		if( (getSearchCookie("polygon") != "" || $F("txtPolygon") != "") && typeof(map2) == 'object' && $('bit_select_box') && $F('bit_select_box') != 'favorites')
		{			
			if($F("txtArea") != "" && $F("txtPolygon") != "")
				setMapPolygon(map2);
			else if($("txtArea").value != "")
				setMapAreaSelection(map2);
		}
		else if($("hdnNbrSrchType") && $F("hdnNbrSrchType") == "1" && getSearchCookie("neighborhood") != "" && typeof(powerSearch) != "undefined" && powerSearch == "1")
		{			
			setMapPolygon(map2);
		}

		if(typeof(oldMapData) == 'object')
		{		
			removeCommPushpins(oldMapData[0].sourcename,oldMapData.length);				
		}
		if($('bottomDivLocal')) { $('bottomDivLocal').innerHTML = btmLocalDivHTML; }
		if((cmaTab && cmaTab=="1") || ( cmaTab != "1" && $('cmbradial') && $F('cmbradial') != "") )
		{	
			if( cmaTab!="1" && $('cmbradial') && $F('cmbradial') != "")
			{
				setPSMapIndicatorParams();
			}

			var cma_sr = mapData.length;			
			var	mls_title = '';
			if(rec_mls)
				mls_title = 'MLS # '+rec_mls;			
			if(rec_lat == "0" || rec_lon == "0")
			{
				rec_lat = getSearchCookie('lat');
				rec_lon = getSearchCookie('lng');
			}
			cmaProp = '{"srno":'+cma_sr+',"totalcount":'+mapData[0].totalcount+',"category":"P","sourcename":"arrow","groupname":"mls Search","address":"'+rec_addr+'","city":"'+rec_city+'","state":"'+rec_state+'","zip":"'+rec_zip+'","latitude":"'+rec_lat+'","longitude":"'+rec_lon+'","beds":"'+rec_beds+'","baths":"'+rec_baths+'","price":"'+rec_curr_price+'","status":"'+rec_status+'","squarefeet":"'+rec_sqft+'","mlsno":"'+rec_mls+'","broker":"'+rec_broker+'","propType":"","DOM":"'+rec_dom+'","unitno":"'+rec_unitno+'","comment":"","datasource":"arrow","tid":"","pictures":"'+rec_photo+'","copyright":"","mlsTitle":"'+mls_title+'","link":""}';						
			//alert(cmaProp);
			cmaProp =  eval('(' + trim(cmaProp) + ')');		
			oldLen = mapData.length;
			mapData.push(cmaProp);
			//alert(mapData);
		}
		try
		{
			if( (cmaTab && cmaTab=="1") || ( cmaTab != "1" && $('cmbradial') && $F('cmbradial') != "") ) 
			{ 
				removeCommPushpins("arrow",22); 
			}	
		}
		catch (err)
		{
		}
		oldMapData = mapData;
		setZoomCenter(map2,mapData);		
		infoCWindow = new Array();
		var imgPath = "";		
		/*
		if($("txtArea").value != "" && $("txtPolygon").value != "" && !loadPolyGon)
		{ setMapPolygon(map2); loadPolyGon = true;}
		else if($("txtArea").value != "" && !loadPolyGon)
		{ setMapAreaSelection(map2); loadPolyGon = true; }
		*/
		if(typeof(mapData) != 'undefined')
		{
			for (var i = 0; i < mapData.length; i++) 
			{
				var cnt = mapData[i].srno;
				var siteName = mapData[i].sourcename;
				var dataSource = mapData[i].datasource;
				var isFeatured = mapData[i].placeholder;
				var geoLevel = mapData[i].geocodelevel;			
				var address = mapData[i].address;  
				var virtualTour = "";
				var virtualTour = mapData[i].virtualTour;
				//alert(address);
				if(address.indexOf(",")>-1)
				{
					address = address.gsub(","," ");
				}
				var city = mapData[i].city;
				var state = mapData[i].state;
				var zip = mapData[i].zip;
				var beds = mapData[i].beds;
				var baths = mapData[i].baths;
				var addressUrl = mapData[i].link;
				var zp = mapData[i].zip;
				var lat = mapData[i].latitude;
				var lng = mapData[i].longitude;
				if(lat == "0" || lng == "0" || lat == "" || lng == "")
				{
					lat =getSearchCookie("lat");
					lng = getSearchCookie("lng");
				}
				var point = new GLatLng(lat,lng);			
				var mapAddress = "";
				mapAddress = address +", "+city+", "+state.toUpperCase()+", "+zp;
				if(mapData[i].pictures!="")
					var pics = mapData[i].pictures;
				else
					var pics = "";
				var cssName = "green";
				var price = mapData[i].price;
				var sqft = "";
				if(mapData[i].squarefeet != "")
					sqft = parseInt(mapData[i].squarefeet);
				var brokerName = mapData[i].broker;
				var mls = mapData[i].mlsno;
				pushpinImg = dataSource+"_pushpin";
				var copyright = mapData[i].copyright;
				if(brokerName!="")
					brokerName = "Courtesy of " + brokerName;
				else
					brokerName = "";
				if ( brokerName.length > 40 )
				{
					brokerName = brokerName.substr(0,38) + '...';
				}
				var link = address+","+city+","+state+","+zip+","+price+","+beds+","+baths+","+mapData[i].latitude+","+mapData[i].longitude;
				
				bedbaths = "";
				if (beds == "0" || beds == "")
					bedbaths = "- bd /";
				else
					bedbaths = beds + " bd /";
				if (baths == "" || baths == "0")
					bedbaths += " - bath";
				else
					bedbaths += " " + baths + " bath"; 

				eval('ewc'+siteName+cnt+' = new EWindow(map2,E_STYLE_21)');
				var pushPinIcon = createIcon(mapData[i].datasource);
				var bitType = mapData[i].category;
				var sourceLink = mapData[i].link;
				var txtDisp = mapData[i].status;
				var mlsDatasource = mapData[i].mlsdatasource;
				var openHomeDir = mapData[i].openHomeDir;
				if(typeof(openHomeDir) == "undefined")
					openHomeDir = "";			
				if ( trim(mapData[i].datasource) != 'blank')
				{
					aptCls = "";
					if(siteName == 'arrow' && cmaTab != "1" && ($('cmbradial') && $F('cmbradial') != "") )
						{			
							infoCWindow[cnt] = "";
							if(typeof(mapData[i].address) != 'undefined' && trim(mapData[i].address) != "undefined" && trim(mapData[i].address) != "")
								infoCWindow[cnt] = mapData[i].address+"&cedil;&nbsp;&nbsp;";

							infoCWindow[cnt] += mapData[i].city+"&cedil;"+mapData[i].state+"&nbsp;"+mapData[i].zip;
							aptCls = "tooltip";
						}					
					else
						infoCWindow[cnt] = getPropertyHtml(cssName,imgThmPath,siteName,mapAddress,cnt,price,bedbaths,sqft,imgPath,sourceLink,"","","",txtDisp,dataSource,"","",pics,brokerName,mls,lat,lng,mapData[i].groupname,0,"",copyright,mapData[i].tid,mapData[i].mlsTitle,mapData[i].DOM,virtualTour,mlsDatasource,openHomeDir);

					eval('map2.addOverlay(ewc' +siteName+cnt+ ')');
					eval('infoCWindow' +siteName+cnt + ' = infoCWindow[cnt]');
					eval('commMarker'+siteName+cnt+'=createCommunityMarker(point,infoCWindow[cnt],pushPinIcon,siteName+cnt,pushpinImg,mapData[i].groupname,bitType,aptCls);');

					map2.addOverlay(eval('commMarker'+siteName+cnt));	
				}
			}
			// remove element from mapdata which contain sourcename = arrow
			for (var i=0;i<mapData.length;i++) 
			{
				if(mapData[i].sourcename == "arrow") mapData.splice(i,1);
			}
			if(typeof(oldMapData) == 'object') 
			{
				for(var i=0;i<oldMapData.length;i++) 
				{
					if(oldMapData[i].sourcename == "arrow") oldMapData.splice(i,1);
				} 
			}			
		}
	  }	 
	  // Show Local Photos,School for all -- sandip
	  //if(!initPower) getApiData(map2, qryStrHash['city'], qryStrHash['state'], qryStrHash['nhood']);
	 if(typeof(qryStrHash) != "undefined")
	 {
		 /*	Added By Krunal	for Flicker Api*/
		 if(latLong != ',' && map2) {
			 var centerLatLng	= latLong.split(',');			 
			 var centerPoint	= new GLatLng(centerLatLng[0], centerLatLng[1]);
			 map2.setCenter(centerPoint, map2.getZoom());
		 }		 
		 /*	Added By Krunal	for Flicker Api*/
		 getApiData(map2, qryStrHash['city'], qryStrHash['state'], qryStrHash['neighborhood'], '', '', agentId);
	 }	
};

function getPropertyHtml(cssName,imgThmPath,siteName,addr,cnt,price,bedbaths,sqft,imgPath,sourceLink,moreLink,valuethishomeLink,directionLink,status,dataSource,isApt,aptUnits,pics,brokerName,mlsno,lat,lng,groupname,showNearBy,cmts,copyright,tid,mlsTitle,dom,vTour,mlsDatasource,openHomeDir)
{		
	var subProp = false;
	if(cmaTab && cmaTab=="1" && oldLen == cnt )
	{
		subProp = true;
	}
	if(dom)	
		dom = ' / DOM: ' + dom;
	else
		dom = '';

	var nhUrl = escape(addr.replace(/\#/,"Unit"));
	var latitude = lat;
	var longitude = lng;
	var originalLink="";
	var favLink = '<a href="javascript:saveHome(\'f'+cnt+'\',true);" class="dashAnchor crsr" >Add to favorites</a>';
	//if(!initPower) favLink = '';
	//Not to show add to favorite for anyone
	favLink = '';
	var openHomeDirLink = "";
	if(typeof(openHomeDir) != "undefined" && openHomeDir != "" && openHomeDir != null)
	{
		openHomeDirLink = "<span class='contentSHPopup lang'>&nbsp;&nbsp;(<a class='dashAnchor crsr' href='javascript:showOpenHomeDir(\""+openHomeDir+"\");' title='Show Open Home Directions'>Directions</a>)</span>";
	}
	
	if(sourceLink!="")
	{
		originalLink='<a href="'+sourceLink+'" class="dashAnchor crsr" target="_blank">Details</a>';
	}
	else
	{
		originalLink='<span class="dashAnchor" style="text-decoration:none;color:#999999">Details</span>';
	}
	var vTourLink = "";
	if(vTour != "")
	{
		vTourLink = "<a target='_blank' class='dashAnchor crsr' href='"+vTour+"'>Virtual Tour</a>";
	}
	var imgArr = imgPath.split(",");	
	var siteNameImg="";
	var propImg = (imgArr[0]=="")? imgThmPath+'listing/noImageThmb.jpg' : imgArr[0];	
	
	siteNameImg = siteName;
	var pStatus=status;
	var pStatus1 ="'"+pStatus.toLowerCase()+"'";
	var htmlStr = new StringBuffer();
	
	if(price == 0)
		price = "&nbsp;";

	if(pics == "")
		propImage = imgThmPath+'listing/noImageThmb.jpg';
	else if(pics.indexOf(",") <= 0)
		propImage = pics;
	else
		propImage = pics.substring(0, pics.indexOf(","));

	if (sqft == "" || sqft == "0")
	{
		//sqft = "- sqft";
		sqft = "-";
	}
	else
	{
		//sqft = num2money(sqft).replace ("$", "")+" sqft";
		sqft = num2money(sqft).replace ("$", "")+"";
	}
	if(mlsDatasource == 'METROLIST')
		sqft = sqft + " Total Sqft";
	else
		sqft = sqft + " Sqft";
	var imgHtml = new StringBuffer();	
	
		addrArr = addr.split(",");
		var adr = unescape(addrArr[0]);
		
		if(adr == "")
			adr = addrArr[1] + ", " + addrArr[2]+", "+addrArr[3];
	
		
		if ( adr.length > 18 )
			adr = adr.substring(0,15) + '...';

		var smTitle = "Home for Sale";
		if (dataSource == "mlspricechange")
		{
			smTitle = "Price Changed";
			//pStatus = "Active";
		}
		else if (dataSource == "mlsbackmarket")
		{
			smTitle = "Back on Market";
			//pStatus = "Active";
		}
		else if (dataSource == "mlsnewlisting")
		{
			smTitle = "New Listing";
			//pStatus = "Active";
		}
		else if (dataSource == "mlssold")
		{
			smTitle = "Sold Listing";
		}
		else if (dataSource == "mlsfeatured")
		{
			smTitle = "Featured Listing";
		}
		else if (dataSource == "medallionhomes")
		{
			smTitle = "Medallion Homes";
		}
        else if (dataSource == "jbfeaturedlistings")
		{
			smTitle = "Office Listing";
		}
        else if (dataSource == "enhancelistings")
		{
			smTitle = "Enhanced Listing";
		}
		else
		{
			smTitle = "Home for Sale";
		}

		htmlStr.append('<table border="0" cellspacing="0" cellpadding="0" style="border:0px solid #000000;width:280px;*margin-left:12px;">');
		htmlStr.append('<tr style="height:25px;">');

		if(dataSource !="" && !subProp)
			htmlStr.append('<td class="top_bot_body_'+cssName+'"><img style="vertical-align: middle;" src="'+imgThmPath+'common/'+dataSource+'.gif" alt=""/>&nbsp;</td>');
		else
			htmlStr.append('<td class="top_bot_body_'+cssName+'">&nbsp;</td>');
		
		if(pStatus.length > 8)
		{
			pStatusLink = '<a href="javascript:void(0);"  class="none;" style="text-decoration: none;" title="'+pStatus+'"><span class="titleText" style="background-color:white;color:#DF7E00;">'+pStatus.substr(0,4)+'...</span></a>';
		}
		else
		{
			pStatusLink = pStatus;
		}
		if(subProp)
		{			
			smTitle = "Subject Property";
		}

		htmlStr.append('<td class="smartWindowTitle" style="width:210px;*width:200px;font-weight:bold;font-size:12px;padding-top:15px;padding-bottom:8px">' + smTitle + ' </td>');
		htmlStr.append('<td class="top_bot_body_'+cssName+'" style="width:90px;*width:92px;font-weight:bold;color:#DF7E00;font-size:12px;padding-top:15px;padding-bottom:8px">' + pStatusLink + ' </td>');
		htmlStr.append('<td style="text-align:center;*text-align:right;*vertical-align:top;padding-right:10px;" class="top_bot_body_'+cssName+'" ><img src="'+imgThmPath+'common/close.gif" class="imgclose" onclick="eval(ewc'+siteName+cnt+'.hide());"/></td>');

//		htmlStr.append('<tr style="height: 5px;*height: 4px;"><td colspan="2">&nbsp;</td></tr>');

		htmlStr.append('</tr>');
		htmlStr.append('<tr>');
		htmlStr.append('<td colspan="4" valign="top" align="left">');
		htmlStr.append('<table border="0" cellspacing="0" cellpadding="0" style="border:0px solid #000000;width:96%;" valign="top">');
		htmlStr.append('<tr>');
		htmlStr.append(imgHtml.toString());
		htmlStr.append('<td width="40%" valign="middle">');
		htmlStr.append('<table border="0" cellspacing="0" cellpadding="0" valign="top">');
		htmlStr.append('<tr><td valign="middle"><img src="'+propImage+'" width="100px" height="70px"/></td></tr>');
		if(!subProp)
		{			
			var picArr = pics.split(",");
			var picArrLen = picArr.length;			
			if(picArrLen == 1 && picArr[0].include("/images/listing/noImageThmb.jpg"))
				htmlStr.append('<tr><td valign="middle" align="center">&nbsp;</td></tr>');
			else
				htmlStr.append('<tr><td valign="middle" align="center"><a href="javascript:void(0);" class="dashAnchor crsr" onclick="setHeroDiv(0, \'' + escape(pics) + '\', \'' + sourceLink + '\',\'mapDiv\');">More Photos</a></td></tr>');
		}
		else if(subProp)
		{
			htmlStr.append('<tr><td valign="middle" align="center">&nbsp;</td></tr>');
		}
		htmlStr.append('</table></td><td align="left" style="padding-left:3px"><table width="99%">');

		htmlStr.append('<tr style="height:16px"><td valign="top" class="swLableText" style="width:140px;*width:135px;font-weight:bold;font-size:12px;*font-size:11px;" colspan="2">'+adr+'</td></tr>');
		if(price.include("-") || price.include("more than"))
			htmlStr.append('<tr style="height:16px"><td valign="top" class="swLableText" style="width:140px;*width:135px;font-weight:normal;font-size:12px;" colspan="2">'+price+'</td></tr>');
		else if(price > 0)
			htmlStr.append('<tr style="height:16px"><td valign="top" class="swLableText" style="width:140px;*width:135px;font-weight:normal;font-size:12px;" colspan="2">'+num2money(price)+'</td></tr>');
		else
			htmlStr.append('<tr style="height:16px"><td valign="top" class="swLableText" style="width:140px;*width:135px;font-weight:normal;font-size:12px;" colspan="2">&nbsp;</td></tr>');

		htmlStr.append('<tr style="height:16px"><td valign="top" class="swLableText" style="width:140px;"><span>'+bedbaths+'</span></td></tr>');
		htmlStr.append('<tr style="height:16px"><td valign="top" class="swLableText" colspan="2"><span >'+sqft+dom+'</span></td></tr>');		
		htmlStr.append('<tr style="height:17px"><td valign="top" class="swLableText" style="width:160px" colspan="2"><span> '+ mlsTitle +openHomeDirLink+'</span></td></tr>');

		htmlStr.append('</table>');
		htmlStr.append('</td>');
		htmlStr.append('</tr>');
		htmlStr.append('</table>');
		htmlStr.append('</td>');
		htmlStr.append('</tr>');
		
		if(cmaTab && cmaTab=="1" && oldLen == cnt && uRole != "EA")
		{				
				htmlStr.append('<tr style="height:20px;"><td valign="top" style="padding-left:5px;padding-top:3px;*padding-top:10px" colspan="3">');
		}
		else if(!subProp)
		{				
			htmlStr.append('<tr style="height:20px;"><td valign="top" style="padding-left:5px;padding-top:4px;*padding-top:6px;" colspan="3">'+originalLink);
			if(vTourLink && (uRole == "EA" || uRole == "A"))
                                htmlStr.append('<span style="font-size: 12px;"> | </span>'+ vTourLink);
		}
		
		
		/*  dataSource = 'mlssold'  added  to resolve 14955 */
//		htmlStr.append('<tr style="height:15px"><td valign="top" style="padding-left:5px" >'+favLink);
		if(dataSource == "favorites" || dataSource == "acbsannewlisting" || dataSource=="enhancelistings" || dataSource=="powersearch" || dataSource=="mlsnewlisting" || dataSource == "jbfeaturedlistings" || dataSource == "mlsopenhomes" || dataSource == "mlsbackmarket" || dataSource == "mlspricechange" || dataSource == "sanDiegoListings" || dataSource == "mlsCountySearch" || dataSource == "mlsfeatured" || dataSource == "reolistings" || dataSource == "exclusivelisting" || dataSource == "rsfeaturedprop" || dataSource == "acbVisual" || dataSource == "jwlotsandland" || dataSource == "mlsSearch" || dataSource == "luxuryproperties" || dataSource == "medallionhomes"|| dataSource == "mlssold" || dataSource =="shortsale")
		{	
			if(siteName == "" && sourceLink.include("POWERSRCH") && (uRole == "EA" || uRole == "A"))
				siteName = "powersearch";

			//if(siteName != "powersearch")
			if(cmaTab && cmaTab=="1" && oldLen == cnt && uRole != "EA" && uRole != "A")
			{
				htmlStr.append('&nbsp;</td></tr>');	
			}
			else if (uRole != "EA" && uRole != "A" && !subProp && !initPower && activeStatusStr.indexOf(pStatus1,0) >= 0) {
				htmlStr.append('<span style="font-size:12px;"> | <span><a href="javascript:showLeadPopup(\''+escape(addr)+'\',\''+sourceLink+'\',\''+mlsno+'\');" class="dashAnchor crsr" target="">Schedule Viewing</a>');
				if(vTourLink && !initPower)
					htmlStr.append('<span style="font-size: 12px;"> | </span>'+ vTourLink);
				htmlStr.append('</td></tr>');			
	//			htmlStr.append('<tr style="height:15px"><td valign="top" style="padding-left:5px" ><a href="javascript:showLeadPopup(\''+escape(addr)+'\',\''+sourceLink+'\',\''+mlsno+'\');" class="dashAnchor crsr" target="">Schedule Viewing</a></td></tr>');			
			}
	//		else
	//			htmlStr.append('<tr style="height:15px"><td valign="top" style="padding-left:5px" >&nbsp;</td></tr>');
		}
		
		//htmlStr.append('<tr style="height:3px;*height:5px;"><td colspan="2">&nbsp;</td></tr>');
		var leadAddress = "";
		var addrArrLength = addrArr.length;
		if (addrArrLength >= 2)
			leadAddress += addrArr[1].replace(/^\s+|\s+$/g,"");
		if (addrArrLength >= 3)
			leadAddress += "," + addrArr[2].replace(/^\s+|\s+$/g,"");
		if (addrArrLength >= 4)
			leadAddress += " " + addrArr[3].replace(/^\s+|\s+$/g,"");

		var chatAgentUName = "";
		var chatAgentName  = "";
		indexOfhtml = sourceLink.split("/index.html");
		terabitzId 	= indexOfhtml[0].substring(indexOfhtml[0].lastIndexOf("/")+1,indexOfhtml[0].length);

		if(brokerName == "")
			brokerName = "Listing Broker not available";

		if(brokerName.length > 45)
			brokerName = brokerName.substr(0,45)+"...";

		// To remove Courtesy of
		if(bkTheme == "atproperties" || bkTheme == "illustrated")
			brokerName = '';

		var brokerInfo = "";			
		brokerName = brokerInfo + " " +brokerName;
		
		if(uRole == "EA" || uRole == "A")
		{
			htmlStr.append('<tr><td id="localDivId" colspan="4" class="fadedFont" style="padding-left: 5px;height:13px;*height:0px "></td></tr>');
		}
		else
		{
			htmlStr.append('<tr><td id="localDivId" colspan="4" class="fadedFont" style="padding-left: 5px; height:20px;*padding-top:4px;"> ');

			if(!subProp)
			{
				htmlStr.append(favLink);
			}

			if(vTourLink && initPower)
				htmlStr.append('<span style="font-size: 12px;"> | </span>'+ vTourLink);
			htmlStr.append('</td></tr>');			
		}

		if(cmaTab && cmaTab=="1" && oldLen == cnt )
		{
			htmlStr.append(
		'<tr><td id="tdBrokerName" colspan="4" class="fadedFont" style="padding-left: 5px; height:50px;*height:48px">'+brokerName+'</td></tr>');
		}
		else if(!subProp)
		{
		htmlStr.append(
		'<tr><td id="tdBrokerName" colspan="4" class="fadedFont" style="padding-left:5px;height:20px;*height:21px">'+brokerName+'</td></tr>');
		}
		
		if(copyright != "" && copyright != null)
		{
			var title = copyright;
			if(copyright.length > 50)					
				copyright = copyright.substr(0,50)+"...";
			
			htmlStr.append(
			'<tr><td id="tdCopyright" colspan="4" class="fadedFont" style="padding-left: 5px; padding-bottom:8px;*padding-bottom:8px" title="'+title+'">'+copyright+'</td></tr>');
		}
		else
		{
			htmlStr.append(
			'<tr><td id="tdCopyright" colspan="4" class="fadedFont" style="padding-left: 5px; padding-bottom:8px;*padding-bottom:8px">&nbsp;</td></tr>');
		}
		if(siteName == "powersearch")
			htmlStr.append('<tr><td style="height:9px;*height:4px"></td></tr>');
		htmlStr.append(
		'<tr><td colspan="4" style="*height:3px;height:0px;"></td></tr>');
		htmlStr.append('</table>');	
	
	return htmlStr.toString();
}
var comWinId;

function createCommunityMarker(point,html,icon,wid,siteName,grpname,bitType,aptCls) 
{	
	//alert('createCommunityMarker  ----- ' + html);
	var marker = new GMarker(point,{icon:icon,zIndexProcess:function(marker, b){
		if (siteName.match(/^rsfeaturedprop/) != null)
			return 2;
		else if (siteName.match(/^jbfeaturedlistings/) != null)
			return 1;
		else
			return 0;
	}});
	if(aptCls=="tooltip") 
	{
		var innr = html.split(",");
   		innr = innr[0];
		var markerTooltip = new StringBuffer();
		markerTooltip.append('<table cellpadding="0" cellspacing="0" style="margin-left:1px;margin-top:-11px;*margin-top:0px;width:auto;height:auto;">');
		markerTooltip.append('<tr>');
		markerTooltip.append('<td class="mytooltipleft">&nbsp;</td>');
		markerTooltip.append('<td class="mytooltip" >'+innr+'</td>');
		markerTooltip.append('<td class="mytooltipright">&nbsp;</td>');
		markerTooltip.append('</tr>');
		markerTooltip.append('</table>');
		marker.tooltip = markerTooltip.toString();		
		GEvent.addListener(marker, "mouseover", function()
		{				
			showTooltipCity(marker);
		});
		GEvent.addListener(marker, "mouseout", function()
		{	
			tooltip.style.visibility="hidden";
		});
		/*GEvent.addListener(marker,"click", function() {
			tooltip.style.visibility="hidden";
		});*/
	}
	else
	{
		/*
		GEvent.addListener(marker, "click", function()
		{
			if(comWinId != "")
			{ 
				if(eval('window.ewc'+comWinId)!=null)
				{
					if($('div'+comWinId) !=null) $("div"+comWinId).className = "";
					eval('ewc'+comWinId+'.hide()');				
				}
			}
			comWinId=wid;
			eval('ewc'+wid+'.openOnMarker(marker,html)');
						
		});
		*/		
		GEvent.addListener(marker, "click", function() 
		{	
			if(powerSearch != "1") 
			{ 			
				map2.panTo(point);
				//map2.setCenter(point,map2.getZoom()); 
			}
			marker.setImage(imgThmPath+"pushpin/"+siteName+"_h.png");
			if(comWinId != "")
			{ 
				if(eval('window.ewc'+comWinId)!=null)
				{
					if($('div'+comWinId) !=null) $("div"+comWinId).className = "";
					eval('ewc'+comWinId+'.hide()');				
				}
			}
			comWinId=wid;			
			eval('ewc'+wid+'.openOnMarker(marker,html)');
		});		
		GEvent.addListener(marker, "mouseout", function() 
		{
			//if(wid == "arrow0") 
			//	eval('ewc'+comWinId+'.hide()'); 
			marker.setImage(imgThmPath+"pushpin/"+siteName+".png");
		})
	}
	return marker;
};

/****************** For Local Bitz *******************/
function getLocalBitz(url, queryStr)
{
//	 url = "/app/dashboard/dshbrdCommunity.php?widgetId=bank";
//	 queryStr = "city=Palo Alto&state=CA&zip=&chkVar=&propLatitude=37.4373280&propLongitude=-122.1599280&mapit=1";
	 ajaxRequest(url,queryStr,localCallBackfn,false); 
}

var localCallBackfn = function(reqObj)
{
	var varResponse = trim(reqObj.responseText);

	if(varResponse.include("Alert:") || varResponse == "No Records" || varResponse == "[]" )
	{
		var msgToshow = varResponse.gsub("Alert:","");
		alert(msgToshow);
	}
	else
	{
		var mapData = eval('('+reqObj.responseText+')');

		for (var i = 0; i < mapData.length; i++) 
		{
			var cnt			= mapData[i].srno;
			var point		= new GLatLng(mapData[i].latitude,mapData[i].longitude);
			var siteName	= mapData[i].sourcename;	
			var dataSource	= mapData[i].datasource;
			var address		= mapData[i].address; 
			var city		= mapData[i].city;
			var state		= mapData[i].state;
			var zip			= mapData[i].zip;
			var lat			= mapData[i].latitude;
			var lng			= mapData[i].longitude;
			var imgSrc		= imgThmPath+'common/'+dataSource+'.gif';
			var pushpinImg	= dataSource+"_pushpin";
			var cname		= mapData[i].name;
			var phone		= mapData[i].phone;
			var bitType		= mapData[i].category;

			if(!mapData[i].distance)
				var dist = "";
			else  
				var dist = mapData[i].distance;
			var cDistance = Math.round(100*dist)/100;

			if(address.indexOf(",")>-1)
				address = address.gsub(","," ");
								
			
			var pushPinIcon = createIcon1(mapData[i].datasource);
			var mapAddress = "";
			mapAddress = address + ", " + city + ", " + state.toUpperCase() + ", " + zip;		

			if(mapData[i].groupname=="Education")
			{
				conviction=mapData[i].comments;
				eval('ewc'+siteName+cnt+' = new EWindow(map2,E_STYLE_23)');
			}
			else 
			{
				var conviction="";
				eval('ewc'+siteName+cnt+' = new EWindow(map2,E_STYLE_22)');			
			}
							
			infoCWindow[cnt] = getCommunityHtml(dataSource,cnt,imgSrc,cname,mapAddress,cDistance,mapData[i].groupname,mapData[i].link,conviction);
			eval('map2.addOverlay(ewc' +siteName+cnt+ ')');
			eval('infoCWindow' +siteName+cnt + ' = infoCWindow[cnt]');			eval('commMarker'+siteName+cnt+'=createCommunityMarker(point,infoCWindow[cnt],pushPinIcon,siteName+cnt,pushpinImg,mapData[i].groupname,bitType,"");');
			map2.addOverlay(eval('commMarker'+siteName+cnt));
		}
	}
};

//function which returns smart window HTML for community bits
function getCommunityHtml(siteName,cnt,linkPg,cname,address,cDistance,grp,lnk,conviction)
{	
	var htmlStr = new StringBuffer();
	var title = "";
	var email = "";
	
	if(cname.length > 22)
		cname = cname.substr(0,20) + "...";
			
	if(lnk != "")
		detailsTd='<td class="lang swLableText" style="width:auto"><a href="' + lnk + '" target="_blank"><span class="lang dashAnchor crsr" style="text-decoration: underline;" >view details</span></a></td>';
	else
		detailsTd='';
		
	if(grp != "Education")
	{		
		if(!checkMultiCity())
		{
			directionTd='<td class="lang swLableText" style="width:auto"> Distance : ' + cDistance + ' miles </td>';
			address = address.sub(',', '<br/>', 1);
		}
		else
		{
			directionTd='<td class="lang swLableText" style="width:auto">&nbsp;</td>';			
			 address = address.sub(',', '<br/>', 1);
		}						
			
		htmlStr.append('<table border="0" width="100%">');
		htmlStr.append('<tr>');
		htmlStr.append('<td class="helpTopLeft"></td>');
		htmlStr.append('<td class="helpTopCenter" align="right"></td>');
		htmlStr.append('<td class="helpTopRight crsr"  onclick="eval(ewc' + siteName+cnt + '.hide());"></td>');
		htmlStr.append('</tr>');
		htmlStr.append('<tr>');
		htmlStr.append('<td class="helpMiddleLeft"></td><td style="background-color: #FFFFFF;">');
		htmlStr.append('<table>');
		htmlStr.append('<tr>');
		htmlStr.append('<td class="titleTextMapit" >');
		htmlStr.append('<table width="200px" border="0">');
		htmlStr.append('<tr>');
		htmlStr.append('<td width="5%" align="center"><img src="' + linkPg + '" alt=""/></td>');
		htmlStr.append('<td width="95%" align="left" class="titleTextMapit">' + cname + ' </td>');		
		htmlStr.append('</tr>');
		htmlStr.append('</table>');
		htmlStr.append('</td>');
		htmlStr.append('</tr>');
		htmlStr.append('<tr>');
		htmlStr.append('<td class="lang swLableText" style="width:200px">' + address + '</td>');
		htmlStr.append('</tr>');
		htmlStr.append('<tr>' +	directionTd + '</tr>');
		htmlStr.append('<tr>' +	detailsTd + '</tr>');
		if(uRole != "EA")
		{
		/*htmlStr.append(
		'<tr><td id="localDivId" class="lang swLableText" style="padding-bottom:0px"><a class="dashAnchor crsr" href="'+propAlertPage+'">Send me more homes like this</a></td></tr>');
		//<a class="dashAnchor crsr" href="javascript:void(0);" onclick="javascript:showLocalDiv();">Schools, Cafes, Grocery & more</a>
		*/
		htmlStr.append(
		'<tr><td colspan="2" id="localDivId" class="lang swLableText" style="padding-bottom:0px;height:9px;*height:11px;"></td></tr>');
		}
		htmlStr.append('</table></td><td class="helpMiddleRight"></td></tr><tr><td class="helpBottomLeft"></td><td class="helpBottomCenter"></td><td class="helpBottomRight"></td></tr></table>');
	}
	else
	{
		var pos		= address.indexOf(",");		
		var addr1	= address;
		var addr2	= "";

		if(pos > 0)
		{	
			addr1 = address.substr(0,pos);
			addr2 = address.substr(pos+1,address.length);
		}

		distanceTd='<td class="lang swLableText" style="width:auto"> Distance :'+cDistance+' miles &nbsp;&nbsp;</td>';
		if(siteName == "middleschools" || siteName == "elementaryschools" || siteName == "highschools")
		{						
			if(lnk!="")
				moreInfoLnk = '<a href="' + lnk + '" target="_blank" class="lang dashAnchor crsr" style="text-decoration: underline;" >Research School</a>';				
			else
				moreInfoLnk = '&nbsp;';
			
			if(conviction!="")
			{
				if(conviction.length>30)
					conviction = conviction.substr(0,28)+"...";
				district='<td class="lang swLableText" colspan="2">District :' + conviction + '</td>';
			}
			else			
				district='<td class="lang swLableText" colspan="2">&nbsp;</td>';
		}
		else
		{
			moreInfoLnk = '&nbsp;';
			district='<td class="lang swLableText" colspan="2">&nbsp;</td>';
		}
		
		htmlStr.append('<table border="0">');
		htmlStr.append('<tr>');
		htmlStr.append('<td class="helpTopLeft"></td>');
		htmlStr.append('<td class="helpTopCenter" align="right"></td>');
		htmlStr.append('<td class="helpTopRight crsr"  onclick="eval(ewc' + siteName + cnt + '.hide());"></td>');
		htmlStr.append('</tr>');
		htmlStr.append('<tr>');
		htmlStr.append('<td class="helpMiddleLeft"></td><td style="background-color: #FFFFFF;">');
		htmlStr.append('<table>');
		htmlStr.append('<tr>');
		htmlStr.append('<td HEIGHT="20px" class="titleTextMapit" colspan="2">');
		htmlStr.append('<table width="200" border="0">');
		htmlStr.append('<tr>');
		htmlStr.append('<td width="10%" align="center"><img src="' + linkPg + '" alt=""/></td>');
		htmlStr.append('<td width="90%" align="left" class="titleTextMapit">' + cname + ' </td>');
		htmlStr.append('</tr>');
		htmlStr.append('</table>');
		htmlStr.append('</td>');
		htmlStr.append('</tr>');
		htmlStr.append('<tr>');
		htmlStr.append('<td class="lang swLableText" style="width:200px"  colspan="2">' + addr1.strip().capitalize().gsub(' ',' -').camelize() + '</td>');
		htmlStr.append('</tr>');
		htmlStr.append('<tr>');
		htmlStr.append('<td class="lang swLableText" style="width:100px">' + addr2 + '</td> <td align="right">' + moreInfoLnk + '</td>');
		htmlStr.append('</tr>');
		htmlStr.append('<tr>' + distanceTd +	'</tr>');
		htmlStr.append('<tr> ' + district + '</tr>');
		if(uRole != "EA")
		{		
		/*htmlStr.append(
		'<tr><td colspan="2" id="localDivId" class="lang swLableText" style="padding-bottom:0px"><a class="dashAnchor crsr" href="'+propAlertPage+'">Send me more homes like this</a></td></tr>');
		//<a class="dashAnchor crsr" href="javascript:void(0);" onclick="javascript:showLocalDiv();">Schools, Cafes, Grocery & more</a>*/
		htmlStr.append(
		'<tr><td colspan="2" id="localDivId" class="lang swLableText" style="padding-bottom:0px;height:10px;"></td></tr>');
		
		}
		htmlStr.append('</table>');
		htmlStr.append('</td>');
		htmlStr.append('<td class="helpMiddleRight"></td>');
		htmlStr.append('</tr>');
		htmlStr.append('<tr>');
		htmlStr.append('<td class="helpBottomLeft"></td><td class="helpBottomCenter"></td>');
		htmlStr.append('<td class="helpBottomRight"></td>');
		htmlStr.append('</tr>');
		htmlStr.append('</table>');
	}
	
	return htmlStr.toString();
}

//function to remove pushpins from map
function removeCommPushpins(siteName, totalRecords)
{		
	for(var i=0 ; i<totalRecords ; i++)
	{
		var maxMarkerName = "commMarker"+siteName+i;
		var maxEw = "ewc"+siteName+i;
		if ( eval('window.' + maxMarkerName + ' != null') )
		{
			window.map2.removeOverlay(eval(maxMarkerName));	   				
			eval('window.' + maxMarkerName + ' = null');	
			window.map2.removeOverlay(eval(maxEw));	   				
			eval('window.' + maxEw + ' = null');	
		}
	}
};

function showTooltipCity(marker)
{	
	tooltip = document.createElement("div");
	if($("miniMapContainer") && $("miniMapContainer").visible())
	{
		map22 = minimap;
		document.getElementById("miniMapContainer").appendChild(tooltip);
	}
	if($("mapDiv") && $("mapDiv").visible())
	{
		if((typeof(map2) == "undefined" || map2 == null) && typeof(minimap) == "object")
			map22 = minimap;
		else
			map22 = map2;	
		document.getElementById("mapDiv").appendChild(tooltip);		
	}
	tooltip.style.width = "50%";
	tooltip.style.visibility="hidden";
	tooltip.innerHTML = marker.tooltip;
	var point=map22.getCurrentMapType().getProjection().fromLatLngToPixel(map22.getBounds().getSouthWest(),map22.getZoom());
	var offset=map22.getCurrentMapType().getProjection().fromLatLngToPixel(marker.getPoint(),map22.getZoom());
	var anchor=marker.getIcon().iconAnchor;
	var width=marker.getIcon().iconSize.width;
	var pos = new GControlPosition(G_ANCHOR_BOTTOM_LEFT, new GSize( offset.x - point.x - anchor.x - width/6,- offset.y + point.y +anchor.y)); 
	pos.apply(tooltip);
	tooltip.style.visibility="visible";
}

/*../vendor/ewindow/EWindow.js*/

var original_center_x_px;
var original_center_y_px;
function EStyle(stemImage, stemSize, boxClass, boxOffset) 
{
	this.stemImage = stemImage;
    this.stemSize = stemSize;
    this.boxClass = boxClass;
	this.boxOffset = boxOffset;

	//this.border = border;

    // Known fudge factors are:
    // Firefox (1.0.6 and 1.5)    5, -1
    // IE 6.0                     0, -1
    // Opera 8.54                 3, -1
    // Opera 9 prev               4, -1
    // Netscape (7.2, 8.0)        5, -1
    // Safari                     5, -1        
	
	var agent = navigator.userAgent.toLowerCase();
	var fudge = 5;  // assume Netscape if no match found
	if (agent.indexOf("opera") > -1) 
	{
		fudge = 3;
		tfudge = 0;
	}   
	
	if (agent.indexOf("firefox") > -1) 
	{
		fudge = 5;
		tfudge = 3;
	}   
	
	if (agent.indexOf("safari") > -1) 
	{
		fudge = 5;
		tfudge = 0;
	}   
	
	if ((agent.indexOf("msie") > -1) && (agent.indexOf("opera") < 1))
	{
		fudge = 0;
		tfudge = 0;
	}
	this.fudge = fudge;
}
	
	var E_STYLE_1 = new EStyle("/vendor/ewindow/green/arrow.gif", new GSize(12,22), "estyle1", new GPoint(-10,15));
	var E_STYLE_2 = new EStyle("/vendor/ewindow/red/arrow.gif", new GSize(12,22), "estyle1", new GPoint(-10,15));
	var E_STYLE_3 = new EStyle("/vendor/ewindow/blue/arrow.gif", new GSize(12,22), "estyle1", new GPoint(-10,15));
	var E_STYLE_4 = new EStyle("/vendor/ewindow/orange/arrow.gif", new GSize(12,22), "estyle1", new GPoint(-10,15));
	var E_STYLE_7 = new EStyle("/vendor/ewindow/cyan/arrow.gif", new GSize(12,22), "estyle1", new GPoint(-10,15));
	var E_STYLE_8 = new EStyle("/vendor/ewindow/mapit/arrow.gif", new GSize(31,15), "estyle2", new GPoint(-10,15));
	var E_STYLE_9 = new EStyle("/vendor/ewindow/mapit/arrow.gif", new GSize(31,15), "estyle3", new GPoint(-10,15));
	var E_STYLE_10 = new EStyle("/vendor/ewindow/green/arrow.gif", new GSize(12,22), "estyle4", new GPoint(-10,15));
	var E_STYLE_11 = new EStyle("/vendor/ewindow/mapit/arrow.gif", new GSize(31,15), "estyle5", new GPoint(-10,15));
	var E_STYLE_12 = new EStyle("/vendor/ewindow/green/arrow.gif", new GSize(12,22), "estyle6", new GPoint(-10,15));
	var E_STYLE_13 = new EStyle("/vendor/ewindow/prop/arrow.gif", new GSize(15,27), "estyle9", new GPoint(-10,15));
	var E_STYLE_14 = new EStyle("/vendor/ewindow/blue/arrow.gif", new GSize(12,22), "estyle4", new GPoint(-10,15));
	var E_STYLE_15 = new EStyle("/vendor/ewindow/mapit/arrow.gif", new GSize(31,15), "estyle7", new GPoint(-10,15));
	var E_STYLE_16 = new EStyle("/vendor/ewindow/mapit/arrow.gif", new GSize(31,15), "estyle8", new GPoint(-10,15));
	var E_STYLE_17 = new EStyle("/vendor/ewindow/prop/arrow.gif", new GSize(15,27), "estyle10", new GPoint(-10,15));
	var E_STYLE_18 = new EStyle("/vendor/ewindow/prop/arrow.gif", new GSize(15,27), "estyle11", new GPoint(-10,15));
	var E_STYLE_19 = new EStyle("/vendor/ewindow/prop/arrow.gif", new GSize(15,27), "estyle12", new GPoint(-10,15));
	var E_STYLE_20 = new EStyle("/vendor/ewindow/prop/arrow.gif", new GSize(15,27), "estyle13", new GPoint(-10,15));
	var E_STYLE_21 = new EStyle("/vendor/ewindow/prop/arrow.gif", new GSize(15,27), "estyle14", new GPoint(-10,15));
	var E_STYLE_22 = new EStyle("/vendor/ewindow/mapit/arrow.gif", new GSize(31,15), "estyle15", new GPoint(-10,15));
	var E_STYLE_23 = new EStyle("/vendor/ewindow/mapit/arrow.gif", new GSize(31,15), "estyle16", new GPoint(-10,15));
	var E_STYLE_24 = new EStyle("/vendor/ewindow/mapit/arrow.gif", new GSize(31,15), "estyle17", new GPoint(-10,15));
	var E_STYLE_25 = new EStyle("/vendor/ewindow/prop/arrow.gif", new GSize(15,27), "estyle18", new GPoint(-10,15));

function EWindow(map,estyle) 
{
	// parameters
	this.map=map;
	this.estyle=estyle;
	// internal variables
	this.visible = false;
	// browser - specific variables
	this.ie = false;
	var agent = navigator.userAgent.toLowerCase();
	if ((agent.indexOf("msie") > -1) && (agent.indexOf("opera") < 1))
	{ 
		this.ie = true
	} 
	else 
	{
		this.ie = false
	}
} 
	
	EWindow.prototype = new GOverlay();

EWindow.prototype.initialize = function(map) 
{
	var div1 = document.createElement("div");
	div1.style.position = "absolute";

	
	map.getPane(G_MAP_FLOAT_SHADOW_PANE).appendChild(div1);
	
	var div2 = document.createElement("div");
	div2.style.position = "absolute";
	div2.style.width = this.estyle.stemSize.width+"px";

	map.getPane(G_MAP_FLOAT_SHADOW_PANE).appendChild(div2);
	this.div1 = div1;
	this.div2 = div2;
}

EWindow.prototype.openOnMap = function(point, html, offset) 
{
	this.offset = offset||new GPoint(0,0);
	this.point = point;
	this.div1.innerHTML = '<div class="' + this.estyle.boxClass + '"><nobr>' + html + '</nobr></div>';

	this.decidePosition();

	var z = GOverlay.getZIndex(this.point.lat());
	this.div1.style.zIndex = z;
	this.div2.style.zIndex = z+1;
	this.visible = true;
	this.show();
	this.redraw(true);
}


EWindow.prototype.redraw = function(force) 
{
	if(this.estyle.boxClass=="estyle2")
	{
		wHeight=130;
		rightx = 190;
		bottomy = -1;
		leftx = 15;
		tfudge = 0;
	}
	else if(this.estyle.boxClass=="estyle5")
	{
		if(bkTheme=="frontdoor")
			wHeight=132;
		else
			wHeight=129;
		rightx = 190;
		bottomy = -1;
		leftx = 15;
	}
	else if(this.estyle.boxClass=="estyle8")
	{
		if(bkTheme=="frontdoor")
			wHeight=146;
		else
			wHeight=142;
		rightx = 190;
		bottomy = -1;
		leftx = 15;
	}
	else if(this.estyle.boxClass=="estyle15")
	{
		wHeight=142;
		rightx = 190;
		bottomy = -4;
		leftx = 15;
	}
	else if(this.estyle.boxClass=="estyle16")
	{
		wHeight=157;
		rightx = 190;
		bottomy = -4;
		leftx = 15;
	}
	else if(this.estyle.boxClass=="estyle17")
	{
		wHeight=150;
		rightx = 230;
		bottomy = -7;
		leftx = 25;
	}
	else if(this.estyle.boxClass=="estyle7")
	{
		wHeight=192;
		rightx = 190;
		bottomy = -1;
		leftx = 15;
	}
	else if(this.estyle.boxClass=="estyle3")
	{
		wHeight=172;
		rightx = 190;
		bottomy = -1;
		leftx = 15;
	}
	else if(this.estyle.boxClass=="estyle4")
	{
		wHeight=191;
		rightx = 221;
		bottomy = 5;
		leftx = 5;
	//	tfudge = 0;
	}
	else if(this.estyle.boxClass=="estyle9")  // Local Photos(Panoramio)
	{
		wHeight=190;
		rightx = 221;
		bottomy = 5;
		leftx = 25;
	//	tfudge = 0;
	}
	else if(this.estyle.boxClass=="estyle6")
	{
		wHeight=121;
		rightx = 225;
		bottomy = 5;
		leftx = 5;
	}
	else if(this.estyle.boxClass=="estyle10")
	{
		wHeight=151;
		rightx = 230;
		bottomy = 4;
		leftx = 30;
	}
	else if(this.estyle.boxClass=="estyle11")
	{
		wHeight=175;
		rightx = 230;
		bottomy = 5;
		leftx = 30;
	}
	else if(this.estyle.boxClass=="estyle12")  // for broker agent
	{
		wHeight=190;
		rightx = 230;
		bottomy = 5;
		leftx = 30;
	//	tfudge = 0;
	}
	else if(this.estyle.boxClass=="estyle13")
	{
		wHeight=190;
		rightx = 210;
		bottomy = 5;
		leftx = 30;
	}
	else if(this.estyle.boxClass=="estyle14")
	{
		wHeight=238;
		rightx = 230;
		bottomy = 5;
		leftx = 30;
	}
	else if(this.estyle.boxClass=="estyle18")
	{
		if(this.ie)
		{
			wHeight=178;
			bottomy = 1;
		}
		else
		{
			wHeight=180;
			bottomy = -1;
		}
		rightx = 230;		
		leftx = 30;
	}
	else
	{
		wHeight=189;
		rightx = 221;
		bottomy = 5;
		leftx = 5;
	}
	if (!this.visible) {return;}
	var p = this.map.fromLatLngToDivPixel(this.point);

	//alert(this.region_x1_px+' :: '+this.region_y1_px+' :: '+this.region_x2_px+' :: '+this.region_y2_px);
	//alert(p);
	var arrowPath = this.estyle.stemImage.substring(0,parseInt(this.estyle.stemImage.lastIndexOf('/'))+1);
	
	if((parseInt(this.region_x2_px - p.x) > 260) && (parseInt(p.y - this.region_y2_px) > 180))
	{
		var arrowImg = "arrow_1.gif";
		this.div2.style.left   = (p.x + this.offset.x) + "px";
		this.div2.style.bottom = (-p.y + this.offset.y - tfudge - this.estyle.fudge) + "px";
		this.div1.style.left   = (p.x + this.offset.x + this.estyle.boxOffset.x - leftx ) + "px";
		this.div1.style.bottom = (-p.y + this.offset.y + this.estyle.boxOffset.y + bottomy - this.estyle.fudge) + "px";
		this.div2.style.zIndex = parseInt(this.div1.style.zIndex) + 10; 
	}
	else if((parseInt(this.region_x2_px - p.x) > 270) && (parseInt(this.region_y1_px - p.y) > 180))
	{
		var arrowImg = "arrow_4.gif";
		this.div2.style.left   = (p.x + this.offset.x ) + "px";
		this.div2.style.bottom = (-p.y + this.offset.y - tfudge - this.estyle.fudge - 29) + "px";
		this.div1.style.left   = (p.x + this.offset.x + this.estyle.boxOffset.x - leftx) + "px";
		this.div1.style.bottom = (-p.y + this.offset.y + this.estyle.boxOffset.y  - wHeight - this.estyle.fudge) + "px";
		this.div2.style.zIndex = parseInt(this.div1.style.zIndex) + 10; 
	}
	else if((parseInt(p.x - this.region_x1_px) > 260) && (parseInt(p.y - this.region_y2_px) > 180))
	{
		var arrowImg = "arrow_2.gif";
		this.div2.style.left   = (p.x + this.offset.x - 5) + "px";
		this.div2.style.bottom = (-p.y + this.offset.y  - tfudge - this.estyle.fudge ) + "px";
		this.div1.style.left   = (p.x + this.offset.x + this.estyle.boxOffset.x - rightx) + "px";
		this.div1.style.bottom = (-p.y + this.offset.y + this.estyle.boxOffset.y + bottomy  - this.estyle.fudge) + "px";
		this.div2.style.zIndex = parseInt(this.div1.style.zIndex) + 10; 

	}
	else if((parseInt(p.x - this.region_x1_px) > 260) && (parseInt(this.region_y1_px - p.y) > 180))
	{
		var arrowImg = "arrow_3.gif";
		this.div2.style.left   = (p.x + this.offset.x - 5) + "px";
		this.div2.style.bottom = (-p.y + this.offset.y - tfudge - this.estyle.fudge - 29) + "px";
		this.div1.style.left   = (p.x + this.offset.x + this.estyle.boxOffset.x - rightx) + "px";
		this.div1.style.bottom = (-p.y + this.offset.y + this.estyle.boxOffset.y - wHeight - this.estyle.fudge) + "px";
		this.div2.style.zIndex = parseInt(this.div1.style.zIndex) + 10; 
	}
	else  if(parseInt(p.y - this.region_y2_px) > 180)
	{
		var gpoint = new GPoint(p.x + 10,p.y - 5);
		var gpoint_latlng = this.map.fromDivPixelToLatLng(gpoint);
		//this.map.panTo(gpoint_latlng);
		
		var arrowImg = "arrow_1.gif";
		this.div2.style.left   = (p.x + this.offset.x) + "px";
		this.div2.style.bottom = (-p.y + this.offset.y - tfudge - this.estyle.fudge) + "px";
		this.div1.style.left   = (p.x + this.offset.x + this.estyle.boxOffset.x - leftx ) + "px";
		this.div1.style.bottom = (-p.y + this.offset.y + this.estyle.boxOffset.y + bottomy - this.estyle.fudge) + "px";
		this.div2.style.zIndex = parseInt(this.div1.style.zIndex) + 10; 
		
	}
	else
	{
		var arrowImg = "arrow_3.gif";
		this.div2.style.left   = (p.x + this.offset.x - 15) + "px";
		this.div2.style.bottom = (-p.y + this.offset.y - tfudge - this.estyle.fudge - 29) + "px";
		this.div1.style.left   = (p.x + this.offset.x + this.estyle.boxOffset.x - rightx) + "px";
		this.div1.style.bottom = (-p.y + this.offset.y + this.estyle.boxOffset.y - wHeight - this.estyle.fudge) + "px";
		this.div2.style.zIndex = parseInt(this.div1.style.zIndex) + 10; 
	}
	
	var imgSrc = arrowPath + arrowImg;

/*
	if(this.ie && this.estyle.stemImage.toLowerCase().indexOf(".png")>-1) 
	{
		var loader = "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+this.estyle.stemImage+"', sizingMethod='scale');";
		this.div2.innerHTML = '<div style="height:' +this.estyle.stemSize.height+ 'px; width:'+this.estyle.stemSize.width+'px; ' +loader+ '" ></div>';
	}  
	else 
	{
*/		

		this.div2.innerHTML = '<img src="' + imgSrc + '" width="' + this.estyle.stemSize.width +'" height="' + this.estyle.stemSize.height +'">';
/*		
	}
*/

/*	
	this.div2.style.left   = (p.x + this.offset.x) + "px";
	this.div2.style.bottom = (-p.y + this.offset.y - this.estyle.fudge) + "px";
	this.div1.style.left   = (p.x + this.offset.x + this.estyle.boxOffset.x) + "px";
	this.div1.style.bottom = (-p.y + this.offset.y + this.estyle.boxOffset.y) + "px";
*/	
}


EWindow.prototype.decidePosition = function()
{
	if((original_center_x_px == null) && (original_center_y_px == null))
	{
		original_center_x_px = this.map.fromLatLngToDivPixel(this.map.getCenter()).x;
		original_center_y_px = this.map.fromLatLngToDivPixel(this.map.getCenter()).y;
	}
	
	this.pointPX = this.map.fromLatLngToDivPixel(this.point);

	this.map_width_px =  this.map.getSize().width;
	this.map_height_px =  this.map.getSize().height;
	
	
	this.region_x1_px = this.map.fromLatLngToDivPixel(this.map.getBounds().getSouthWest()).x;
	this.region_y1_px = this.map.fromLatLngToDivPixel(this.map.getBounds().getSouthWest()).y;
	this.region_x2_px = this.map.fromLatLngToDivPixel(this.map.getBounds().getNorthEast()).x;
	this.region_y2_px = this.map.fromLatLngToDivPixel(this.map.getBounds().getNorthEast()).y;

	//alert(this.region_x1_px+' :: '+this.region_y1_px+' :: '+this.region_x2_px+' :: '+this.region_y2_px);

	this.center_x_px =  this.map.fromLatLngToDivPixel(this.map.getCenter()).x;
	this.center_y_px =  this.map.fromLatLngToDivPixel(this.map.getCenter()).y;
	
	//alert(this.center_x_px+' :: '+this.center_y_px);
	//alert(this.pointPX.x+' :: '+this.pointPX.y);
	
	if((parseInt(parseInt(this.region_x1_px) + 20) <= parseInt(this.pointPX.x)) && (parseInt(this.pointPX.x) <= parseInt(parseInt(this.region_x2_px) - 20)))
	{
		this.new_center_x_px = null;
	}
	else if(parseInt(parseInt(this.region_x1_px)+20) > parseInt(this.pointPX.x)) 
	{
		this.new_center_x_px = parseInt(this.center_x_px) - parseInt(parseInt(this.region_x1_px) + 20 - parseInt(this.pointPX.x));
	}
	else if(parseInt(this.pointPX.x) > parseInt(this.region_x2_px - 20)) 
	{
		this.new_center_x_px = parseInt(this.center_x_px) + parseInt(this.pointPX.x - this.region_x2_px) + 20;
	}

	if((parseInt(parseInt(this.region_y2_px) + 30) <= parseInt(this.pointPX.y)) && (parseInt(this.pointPX.y) <= parseInt(parseInt(this.region_y1_px) - 30)))
	{
		this.new_center_y_px = null;
	}
	else if(parseInt(parseInt(this.region_y2_px)+30) > parseInt(this.pointPX.y)) 
	{
		this.new_center_y_px = parseInt(this.center_y_px) - parseInt(parseInt(this.region_y2_px) + 30 - parseInt(this.pointPX.y));
	}
	else if(parseInt(this.pointPX.y) > parseInt(this.region_y1_px - 30)) 
	{
		this.new_center_y_px = parseInt(this.center_y_px) + parseInt(this.pointPX.y - this.region_y1_px) + 30;
	}

	if((this.new_center_x_px == null) && (this.new_center_y_px == null))
	{
		//no action
	}
	else 
	{
		if(this.new_center_x_px == null)
		{
			this.new_center_x_px = this.center_x_px;
		}
		else if(this.new_center_y_px == null)
		{
			this.new_center_y_px = this.center_y_px;
		}

		this.new_center_gpoint = new GPoint(this.new_center_x_px,this.new_center_y_px);
		this.new_center_gpoint_latlng = this.map.fromDivPixelToLatLng(this.new_center_gpoint);
		this.map.panTo(this.new_center_gpoint_latlng);
	}
}

EWindow.prototype.openOnMarker = function(marker,html) 
{
	var vx = marker.getIcon().iconAnchor.x - marker.getIcon().infoWindowAnchor.x;
	var vy = marker.getIcon().iconAnchor.y - marker.getIcon().infoWindowAnchor.y;
	this.openOnMap(marker.getPoint(), html, new GPoint(vx,vy));
}


EWindow.prototype.remove = function() 
{
	this.div1.parentNode.removeChild(this.div1);
	this.div2.parentNode.removeChild(this.div2);
	this.visible = false;
}

EWindow.prototype.copy = function() 
{
	return new EWindow(this.map, this.estyle);
}

EWindow.prototype.show = function() 
{
	this.div1.style.display="";
	this.div2.style.display="";
	this.visible = true;
}

EWindow.prototype.hide = function() 
{
	this.div1.style.display="none";
	this.div2.style.display="none";
	this.visible = false;
}
