
var Prototype={Version:'1.6.0.2',Browser:{IE:!!(window.attachEvent&&!window.opera),Opera:!!window.opera,WebKit:navigator.userAgent.indexOf('AppleWebKit/')>-1,Gecko:navigator.userAgent.indexOf('Gecko')>-1&&navigator.userAgent.indexOf('KHTML')==-1,MobileSafari:!!navigator.userAgent.match(/Apple.*Mobile.*Safari/)},BrowserFeatures:{XPath:!!document.evaluate,ElementExtensions:!!window.HTMLElement,SpecificElementExtensions:document.createElement('div').__proto__&&document.createElement('div').__proto__!==document.createElement('form').__proto__},ScriptFragment:'<script[^>]*>([\\S\\s]*?)<\/script>',JSONFilter:/^\/\*-secure-([\s\S]*)\*\/\s*$/,emptyFunction:function(){},K:function(x){return x}};if(Prototype.Browser.MobileSafari)
Prototype.BrowserFeatures.SpecificElementExtensions=false;var Class={create:function(){var parent=null,properties=$A(arguments);if(Object.isFunction(properties[0]))
parent=properties.shift();function klass(){this.initialize.apply(this,arguments);}
Object.extend(klass,Class.Methods);klass.superclass=parent;klass.subclasses=[];if(parent){var subclass=function(){};subclass.prototype=parent.prototype;klass.prototype=new subclass;parent.subclasses.push(klass);}
for(var i=0;i<properties.length;i++)
klass.addMethods(properties[i]);if(!klass.prototype.initialize)
klass.prototype.initialize=Prototype.emptyFunction;klass.prototype.constructor=klass;return klass;}};Class.Methods={addMethods:function(source){var ancestor=this.superclass&&this.superclass.prototype;var properties=Object.keys(source);if(!Object.keys({toString:true}).length)
properties.push("toString","valueOf");for(var i=0,length=properties.length;i<length;i++){var property=properties[i],value=source[property];if(ancestor&&Object.isFunction(value)&&value.argumentNames().first()=="$super"){var method=value,value=Object.extend((function(m){return function(){return ancestor[m].apply(this,arguments)};})(property).wrap(method),{valueOf:function(){return method},toString:function(){return method.toString()}});}
this.prototype[property]=value;}
return this;}};var Abstract={};Object.extend=function(destination,source){for(var property in source)
destination[property]=source[property];return destination;};Object.extend(Object,{inspect:function(object){try{if(Object.isUndefined(object))return'undefined';if(object===null)return'null';return object.inspect?object.inspect():String(object);}catch(e){if(e instanceof RangeError)return'...';throw e;}},toJSON:function(object){var type=typeof object;switch(type){case'undefined':case'function':case'unknown':return;case'boolean':return object.toString();}
if(object===null)return'null';if(object.toJSON)return object.toJSON();if(Object.isElement(object))return;var results=[];for(var property in object){var value=Object.toJSON(object[property]);if(!Object.isUndefined(value))
results.push(property.toJSON()+': '+value);}
return'{'+results.join(', ')+'}';},toQueryString:function(object){return $H(object).toQueryString();},toHTML:function(object){return object&&object.toHTML?object.toHTML():String.interpret(object);},keys:function(object){var keys=[];for(var property in object)
keys.push(property);return keys;},values:function(object){var values=[];for(var property in object)
values.push(object[property]);return values;},clone:function(object){return Object.extend({},object);},isElement:function(object){return object&&object.nodeType==1;},isArray:function(object){return object!=null&&typeof object=="object"&&'splice'in object&&'join'in object;},isHash:function(object){return object instanceof Hash;},isFunction:function(object){return typeof object=="function";},isString:function(object){return typeof object=="string";},isNumber:function(object){return typeof object=="number";},isUndefined:function(object){return typeof object=="undefined";}});Object.extend(Function.prototype,{argumentNames:function(){var names=this.toString().match(/^[\s\(]*function[^(]*\((.*?)\)/)[1].split(",").invoke("strip");return names.length==1&&!names[0]?[]:names;},bind:function(){if(arguments.length<2&&Object.isUndefined(arguments[0]))return this;var __method=this,args=$A(arguments),object=args.shift();return function(){return __method.apply(object,args.concat($A(arguments)));}},bindAsEventListener:function(){var __method=this,args=$A(arguments),object=args.shift();return function(event){return __method.apply(object,[event||window.event].concat(args));}},curry:function(){if(!arguments.length)return this;var __method=this,args=$A(arguments);return function(){return __method.apply(this,args.concat($A(arguments)));}},delay:function(){var __method=this,args=$A(arguments),timeout=args.shift()*1000;return window.setTimeout(function(){return __method.apply(__method,args);},timeout);},wrap:function(wrapper){var __method=this;return function(){return wrapper.apply(this,[__method.bind(this)].concat($A(arguments)));}},methodize:function(){if(this._methodized)return this._methodized;var __method=this;return this._methodized=function(){return __method.apply(null,[this].concat($A(arguments)));};}});Function.prototype.defer=Function.prototype.delay.curry(0.01);Date.prototype.toJSON=function(){return'"'+this.getUTCFullYear()+'-'+
(this.getUTCMonth()+1).toPaddedString(2)+'-'+
this.getUTCDate().toPaddedString(2)+'T'+
this.getUTCHours().toPaddedString(2)+':'+
this.getUTCMinutes().toPaddedString(2)+':'+
this.getUTCSeconds().toPaddedString(2)+'Z"';};var Try={these:function(){var returnValue;for(var i=0,length=arguments.length;i<length;i++){var lambda=arguments[i];try{returnValue=lambda();break;}catch(e){}}
return returnValue;}};RegExp.prototype.match=RegExp.prototype.test;RegExp.escape=function(str){return String(str).replace(/([.*+?^=!:${}()|[\]\/\\])/g,'\\$1');};var PeriodicalExecuter=Class.create({initialize:function(callback,frequency){this.callback=callback;this.frequency=frequency;this.currentlyExecuting=false;this.registerCallback();},registerCallback:function(){this.timer=setInterval(this.onTimerEvent.bind(this),this.frequency*1000);},execute:function(){this.callback(this);},stop:function(){if(!this.timer)return;clearInterval(this.timer);this.timer=null;},onTimerEvent:function(){if(!this.currentlyExecuting){try{this.currentlyExecuting=true;this.execute();}finally{this.currentlyExecuting=false;}}}});Object.extend(String,{interpret:function(value){return value==null?'':String(value);},specialChar:{'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','\\':'\\\\'}});Object.extend(String.prototype,{gsub:function(pattern,replacement){var result='',source=this,match;replacement=arguments.callee.prepareReplacement(replacement);while(source.length>0){if(match=source.match(pattern)){result+=source.slice(0,match.index);result+=String.interpret(replacement(match));source=source.slice(match.index+match[0].length);}else{result+=source,source='';}}
return result;},sub:function(pattern,replacement,count){replacement=this.gsub.prepareReplacement(replacement);count=Object.isUndefined(count)?1:count;return this.gsub(pattern,function(match){if(--count<0)return match[0];return replacement(match);});},scan:function(pattern,iterator){this.gsub(pattern,iterator);return String(this);},truncate:function(length,truncation){length=length||30;truncation=Object.isUndefined(truncation)?'...':truncation;return this.length>length?this.slice(0,length-truncation.length)+truncation:String(this);},strip:function(){return this.replace(/^\s+/,'').replace(/\s+$/,'');},stripTags:function(){return this.replace(/<\/?[^>]+>/gi,'');},stripScripts:function(){return this.replace(new RegExp(Prototype.ScriptFragment,'img'),'');},extractScripts:function(){var matchAll=new RegExp(Prototype.ScriptFragment,'img');var matchOne=new RegExp(Prototype.ScriptFragment,'im');return(this.match(matchAll)||[]).map(function(scriptTag){return(scriptTag.match(matchOne)||['',''])[1];});},evalScripts:function(){return this.extractScripts().map(function(script){return eval(script)});},escapeHTML:function(){var self=arguments.callee;self.text.data=this;return self.div.innerHTML;},unescapeHTML:function(){var div=new Element('div');div.innerHTML=this.stripTags();return div.childNodes[0]?(div.childNodes.length>1?$A(div.childNodes).inject('',function(memo,node){return memo+node.nodeValue}):div.childNodes[0].nodeValue):'';},toQueryParams:function(separator){var match=this.strip().match(/([^?#]*)(#.*)?$/);if(!match)return{};return match[1].split(separator||'&').inject({},function(hash,pair){if((pair=pair.split('='))[0]){var key=decodeURIComponent(pair.shift());var value=pair.length>1?pair.join('='):pair[0];if(value!=undefined)value=decodeURIComponent(value);if(key in hash){if(!Object.isArray(hash[key]))hash[key]=[hash[key]];hash[key].push(value);}
else hash[key]=value;}
return hash;});},toArray:function(){return this.split('');},succ:function(){return this.slice(0,this.length-1)+
String.fromCharCode(this.charCodeAt(this.length-1)+1);},times:function(count){return count<1?'':new Array(count+1).join(this);},camelize:function(){var parts=this.split('-'),len=parts.length;if(len==1)return parts[0];var camelized=this.charAt(0)=='-'?parts[0].charAt(0).toUpperCase()+parts[0].substring(1):parts[0];for(var i=1;i<len;i++)
camelized+=parts[i].charAt(0).toUpperCase()+parts[i].substring(1);return camelized;},capitalize:function(){return this.charAt(0).toUpperCase()+this.substring(1).toLowerCase();},underscore:function(){return this.gsub(/::/,'/').gsub(/([A-Z]+)([A-Z][a-z])/,'#{1}_#{2}').gsub(/([a-z\d])([A-Z])/,'#{1}_#{2}').gsub(/-/,'_').toLowerCase();},dasherize:function(){return this.gsub(/_/,'-');},inspect:function(useDoubleQuotes){var escapedString=this.gsub(/[\x00-\x1f\\]/,function(match){var character=String.specialChar[match[0]];return character?character:'\\u00'+match[0].charCodeAt().toPaddedString(2,16);});if(useDoubleQuotes)return'"'+escapedString.replace(/"/g,'\\"')+'"';return"'"+escapedString.replace(/'/g,'\\\'')+"'";},toJSON:function(){return this.inspect(true);},unfilterJSON:function(filter){return this.sub(filter||Prototype.JSONFilter,'#{1}');},isJSON:function(){var str=this;if(str.blank())return false;str=this.replace(/\\./g,'@').replace(/"[^"\\\n\r]*"/g,'');return(/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(str);},evalJSON:function(sanitize){var json=this.unfilterJSON();try{if(!sanitize||json.isJSON())return eval('('+json+')');}catch(e){}
throw new SyntaxError('Badly formed JSON string: '+this.inspect());},include:function(pattern){return this.indexOf(pattern)>-1;},startsWith:function(pattern){return this.indexOf(pattern)===0;},endsWith:function(pattern){var d=this.length-pattern.length;return d>=0&&this.lastIndexOf(pattern)===d;},empty:function(){return this=='';},blank:function(){return/^\s*$/.test(this);},interpolate:function(object,pattern){return new Template(this,pattern).evaluate(object);}});if(Prototype.Browser.WebKit||Prototype.Browser.IE)Object.extend(String.prototype,{escapeHTML:function(){return this.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;');},unescapeHTML:function(){return this.replace(/&amp;/g,'&').replace(/&lt;/g,'<').replace(/&gt;/g,'>');}});String.prototype.gsub.prepareReplacement=function(replacement){if(Object.isFunction(replacement))return replacement;var template=new Template(replacement);return function(match){return template.evaluate(match)};};String.prototype.parseQuery=String.prototype.toQueryParams;Object.extend(String.prototype.escapeHTML,{div:document.createElement('div'),text:document.createTextNode('')});with(String.prototype.escapeHTML)div.appendChild(text);var Template=Class.create({initialize:function(template,pattern){this.template=template.toString();this.pattern=pattern||Template.Pattern;},evaluate:function(object){if(Object.isFunction(object.toTemplateReplacements))
object=object.toTemplateReplacements();return this.template.gsub(this.pattern,function(match){if(object==null)return'';var before=match[1]||'';if(before=='\\')return match[2];var ctx=object,expr=match[3];var pattern=/^([^.[]+|\[((?:.*?[^\\])?)\])(\.|\[|$)/;match=pattern.exec(expr);if(match==null)return before;while(match!=null){var comp=match[1].startsWith('[')?match[2].gsub('\\\\]',']'):match[1];ctx=ctx[comp];if(null==ctx||''==match[3])break;expr=expr.substring('['==match[3]?match[1].length:match[0].length);match=pattern.exec(expr);}
return before+String.interpret(ctx);});}});Template.Pattern=/(^|.|\r|\n)(#\{(.*?)\})/;var $break={};var Enumerable={each:function(iterator,context){var index=0;iterator=iterator.bind(context);try{this._each(function(value){iterator(value,index++);});}catch(e){if(e!=$break)throw e;}
return this;},eachSlice:function(number,iterator,context){iterator=iterator?iterator.bind(context):Prototype.K;var index=-number,slices=[],array=this.toArray();while((index+=number)<array.length)
slices.push(array.slice(index,index+number));return slices.collect(iterator,context);},all:function(iterator,context){iterator=iterator?iterator.bind(context):Prototype.K;var result=true;this.each(function(value,index){result=result&&!!iterator(value,index);if(!result)throw $break;});return result;},any:function(iterator,context){iterator=iterator?iterator.bind(context):Prototype.K;var result=false;this.each(function(value,index){if(result=!!iterator(value,index))
throw $break;});return result;},collect:function(iterator,context){iterator=iterator?iterator.bind(context):Prototype.K;var results=[];this.each(function(value,index){results.push(iterator(value,index));});return results;},detect:function(iterator,context){iterator=iterator.bind(context);var result;this.each(function(value,index){if(iterator(value,index)){result=value;throw $break;}});return result;},findAll:function(iterator,context){iterator=iterator.bind(context);var results=[];this.each(function(value,index){if(iterator(value,index))
results.push(value);});return results;},grep:function(filter,iterator,context){iterator=iterator?iterator.bind(context):Prototype.K;var results=[];if(Object.isString(filter))
filter=new RegExp(filter);this.each(function(value,index){if(filter.match(value))
results.push(iterator(value,index));});return results;},include:function(object){if(Object.isFunction(this.indexOf))
if(this.indexOf(object)!=-1)return true;var found=false;this.each(function(value){if(value==object){found=true;throw $break;}});return found;},inGroupsOf:function(number,fillWith){fillWith=Object.isUndefined(fillWith)?null:fillWith;return this.eachSlice(number,function(slice){while(slice.length<number)slice.push(fillWith);return slice;});},inject:function(memo,iterator,context){iterator=iterator.bind(context);this.each(function(value,index){memo=iterator(memo,value,index);});return memo;},invoke:function(method){var args=$A(arguments).slice(1);return this.map(function(value){return value[method].apply(value,args);});},max:function(iterator,context){iterator=iterator?iterator.bind(context):Prototype.K;var result;this.each(function(value,index){value=iterator(value,index);if(result==null||value>=result)
result=value;});return result;},min:function(iterator,context){iterator=iterator?iterator.bind(context):Prototype.K;var result;this.each(function(value,index){value=iterator(value,index);if(result==null||value<result)
result=value;});return result;},partition:function(iterator,context){iterator=iterator?iterator.bind(context):Prototype.K;var trues=[],falses=[];this.each(function(value,index){(iterator(value,index)?trues:falses).push(value);});return[trues,falses];},pluck:function(property){var results=[];this.each(function(value){results.push(value[property]);});return results;},reject:function(iterator,context){iterator=iterator.bind(context);var results=[];this.each(function(value,index){if(!iterator(value,index))
results.push(value);});return results;},sortBy:function(iterator,context){iterator=iterator.bind(context);return this.map(function(value,index){return{value:value,criteria:iterator(value,index)};}).sort(function(left,right){var a=left.criteria,b=right.criteria;return a<b?-1:a>b?1:0;}).pluck('value');},toArray:function(){return this.map();},zip:function(){var iterator=Prototype.K,args=$A(arguments);if(Object.isFunction(args.last()))
iterator=args.pop();var collections=[this].concat(args).map($A);return this.map(function(value,index){return iterator(collections.pluck(index));});},size:function(){return this.toArray().length;},inspect:function(){return'#<Enumerable:'+this.toArray().inspect()+'>';}};Object.extend(Enumerable,{map:Enumerable.collect,find:Enumerable.detect,select:Enumerable.findAll,filter:Enumerable.findAll,member:Enumerable.include,entries:Enumerable.toArray,every:Enumerable.all,some:Enumerable.any});function $A(iterable){if(!iterable)return[];if(iterable.toArray)return iterable.toArray();var length=iterable.length||0,results=new Array(length);while(length--)results[length]=iterable[length];return results;}
if(Prototype.Browser.WebKit){$A=function(iterable){if(!iterable)return[];if(!(Object.isFunction(iterable)&&iterable=='[object NodeList]')&&iterable.toArray)return iterable.toArray();var length=iterable.length||0,results=new Array(length);while(length--)results[length]=iterable[length];return results;};}
Array.from=$A;Object.extend(Array.prototype,Enumerable);if(!Array.prototype._reverse)Array.prototype._reverse=Array.prototype.reverse;Object.extend(Array.prototype,{_each:function(iterator){for(var i=0,length=this.length;i<length;i++)
iterator(this[i]);},clear:function(){this.length=0;return this;},first:function(){return this[0];},last:function(){return this[this.length-1];},compact:function(){return this.select(function(value){return value!=null;});},flatten:function(){return this.inject([],function(array,value){return array.concat(Object.isArray(value)?value.flatten():[value]);});},without:function(){var values=$A(arguments);return this.select(function(value){return!values.include(value);});},reverse:function(inline){return(inline!==false?this:this.toArray())._reverse();},reduce:function(){return this.length>1?this:this[0];},uniq:function(sorted){return this.inject([],function(array,value,index){if(0==index||(sorted?array.last()!=value:!array.include(value)))
array.push(value);return array;});},intersect:function(array){return this.uniq().findAll(function(item){return array.detect(function(value){return item===value});});},clone:function(){return[].concat(this);},size:function(){return this.length;},inspect:function(){return'['+this.map(Object.inspect).join(', ')+']';},toJSON:function(){var results=[];this.each(function(object){var value=Object.toJSON(object);if(!Object.isUndefined(value))results.push(value);});return'['+results.join(', ')+']';}});if(Object.isFunction(Array.prototype.forEach))
Array.prototype._each=Array.prototype.forEach;if(!Array.prototype.indexOf)Array.prototype.indexOf=function(item,i){i||(i=0);var length=this.length;if(i<0)i=length+i;for(;i<length;i++)
if(this[i]===item)return i;return-1;};if(!Array.prototype.lastIndexOf)Array.prototype.lastIndexOf=function(item,i){i=isNaN(i)?this.length:(i<0?this.length+i:i)+1;var n=this.slice(0,i).reverse().indexOf(item);return(n<0)?n:i-n-1;};Array.prototype.toArray=Array.prototype.clone;function $w(string){if(!Object.isString(string))return[];string=string.strip();return string?string.split(/\s+/):[];}
if(Prototype.Browser.Opera){Array.prototype.concat=function(){var array=[];for(var i=0,length=this.length;i<length;i++)array.push(this[i]);for(var i=0,length=arguments.length;i<length;i++){if(Object.isArray(arguments[i])){for(var j=0,arrayLength=arguments[i].length;j<arrayLength;j++)
array.push(arguments[i][j]);}else{array.push(arguments[i]);}}
return array;};}
Object.extend(Number.prototype,{toColorPart:function(){return this.toPaddedString(2,16);},succ:function(){return this+1;},times:function(iterator){$R(0,this,true).each(iterator);return this;},toPaddedString:function(length,radix){var string=this.toString(radix||10);return'0'.times(length-string.length)+string;},toJSON:function(){return isFinite(this)?this.toString():'null';}});$w('abs round ceil floor').each(function(method){Number.prototype[method]=Math[method].methodize();});function $H(object){return new Hash(object);};var Hash=Class.create(Enumerable,(function(){function toQueryPair(key,value){if(Object.isUndefined(value))return key;return key+'='+encodeURIComponent(String.interpret(value));}
return{initialize:function(object){this._object=Object.isHash(object)?object.toObject():Object.clone(object);},_each:function(iterator){for(var key in this._object){var value=this._object[key],pair=[key,value];pair.key=key;pair.value=value;iterator(pair);}},set:function(key,value){return this._object[key]=value;},get:function(key){return this._object[key];},unset:function(key){var value=this._object[key];delete this._object[key];return value;},toObject:function(){return Object.clone(this._object);},keys:function(){return this.pluck('key');},values:function(){return this.pluck('value');},index:function(value){var match=this.detect(function(pair){return pair.value===value;});return match&&match.key;},merge:function(object){return this.clone().update(object);},update:function(object){return new Hash(object).inject(this,function(result,pair){result.set(pair.key,pair.value);return result;});},toQueryString:function(){return this.map(function(pair){var key=encodeURIComponent(pair.key),values=pair.value;if(values&&typeof values=='object'){if(Object.isArray(values))
return values.map(toQueryPair.curry(key)).join('&');}
return toQueryPair(key,values);}).join('&');},inspect:function(){return'#<Hash:{'+this.map(function(pair){return pair.map(Object.inspect).join(': ');}).join(', ')+'}>';},toJSON:function(){return Object.toJSON(this.toObject());},clone:function(){return new Hash(this);}}})());Hash.prototype.toTemplateReplacements=Hash.prototype.toObject;Hash.from=$H;var ObjectRange=Class.create(Enumerable,{initialize:function(start,end,exclusive){this.start=start;this.end=end;this.exclusive=exclusive;},_each:function(iterator){var value=this.start;while(this.include(value)){iterator(value);value=value.succ();}},include:function(value){if(value<this.start)
return false;if(this.exclusive)
return value<this.end;return value<=this.end;}});var $R=function(start,end,exclusive){return new ObjectRange(start,end,exclusive);};var Ajax={getTransport:function(){return Try.these(function(){return new XMLHttpRequest()},function(){return new ActiveXObject('Msxml2.XMLHTTP')},function(){return new ActiveXObject('Microsoft.XMLHTTP')})||false;},activeRequestCount:0};Ajax.Responders={responders:[],_each:function(iterator){this.responders._each(iterator);},register:function(responder){if(!this.include(responder))
this.responders.push(responder);},unregister:function(responder){this.responders=this.responders.without(responder);},dispatch:function(callback,request,transport,json){this.each(function(responder){if(Object.isFunction(responder[callback])){try{responder[callback].apply(responder,[request,transport,json]);}catch(e){}}});}};Object.extend(Ajax.Responders,Enumerable);Ajax.Responders.register({onCreate:function(){Ajax.activeRequestCount++},onComplete:function(){Ajax.activeRequestCount--}});Ajax.Base=Class.create({initialize:function(options){this.options={method:'post',asynchronous:true,contentType:'application/x-www-form-urlencoded',encoding:'UTF-8',parameters:'',evalJSON:true,evalJS:true};Object.extend(this.options,options||{});this.options.method=this.options.method.toLowerCase();if(Object.isString(this.options.parameters))
this.options.parameters=this.options.parameters.toQueryParams();else if(Object.isHash(this.options.parameters))
this.options.parameters=this.options.parameters.toObject();}});Ajax.Request=Class.create(Ajax.Base,{_complete:false,initialize:function($super,url,options){$super(options);this.transport=Ajax.getTransport();this.request(url);},request:function(url){this.url=url;this.method=this.options.method;var params=Object.clone(this.options.parameters);if(!['get','post'].include(this.method)){params['_method']=this.method;this.method='post';}
this.parameters=params;if(params=Object.toQueryString(params)){if(this.method=='get')
this.url+=(this.url.include('?')?'&':'?')+params;else if(/Konqueror|Safari|KHTML/.test(navigator.userAgent))
params+='&_=';}
try{var response=new Ajax.Response(this);if(this.options.onCreate)this.options.onCreate(response);Ajax.Responders.dispatch('onCreate',this,response);this.transport.open(this.method.toUpperCase(),this.url,this.options.asynchronous);if(this.options.asynchronous)this.respondToReadyState.bind(this).defer(1);this.transport.onreadystatechange=this.onStateChange.bind(this);this.setRequestHeaders();this.body=this.method=='post'?(this.options.postBody||params):null;this.transport.send(this.body);if(!this.options.asynchronous&&this.transport.overrideMimeType)
this.onStateChange();}
catch(e){this.dispatchException(e);}},onStateChange:function(){var readyState=this.transport.readyState;if(readyState>1&&!((readyState==4)&&this._complete))
this.respondToReadyState(this.transport.readyState);},setRequestHeaders:function(){var headers={'X-Requested-With':'XMLHttpRequest','X-Prototype-Version':Prototype.Version,'Accept':'text/javascript, text/html, application/xml, text/xml, */*'};if(this.method=='post'){headers['Content-type']=this.options.contentType+
(this.options.encoding?'; charset='+this.options.encoding:'');if(this.transport.overrideMimeType&&(navigator.userAgent.match(/Gecko\/(\d{4})/)||[0,2005])[1]<2005)
headers['Connection']='close';}
if(typeof this.options.requestHeaders=='object'){var extras=this.options.requestHeaders;if(Object.isFunction(extras.push))
for(var i=0,length=extras.length;i<length;i+=2)
headers[extras[i]]=extras[i+1];else
$H(extras).each(function(pair){headers[pair.key]=pair.value});}
for(var name in headers)
this.transport.setRequestHeader(name,headers[name]);},success:function(){var status=this.getStatus();return!status||(status>=200&&status<300);},getStatus:function(){try{return this.transport.status||0;}catch(e){return 0}},respondToReadyState:function(readyState){var state=Ajax.Request.Events[readyState],response=new Ajax.Response(this);if(state=='Complete'){try{this._complete=true;(this.options['on'+response.status]||this.options['on'+(this.success()?'Success':'Failure')]||Prototype.emptyFunction)(response,response.headerJSON);}catch(e){this.dispatchException(e);}
var contentType=response.getHeader('Content-type');if(this.options.evalJS=='force'||(this.options.evalJS&&this.isSameOrigin()&&contentType&&contentType.match(/^\s*(text|application)\/(x-)?(java|ecma)script(;.*)?\s*$/i)))
this.evalResponse();}
try{(this.options['on'+state]||Prototype.emptyFunction)(response,response.headerJSON);Ajax.Responders.dispatch('on'+state,this,response,response.headerJSON);}catch(e){this.dispatchException(e);}
if(state=='Complete'){this.transport.onreadystatechange=Prototype.emptyFunction;}},isSameOrigin:function(){var m=this.url.match(/^\s*https?:\/\/[^\/]*/);return!m||(m[0]=='#{protocol}//#{domain}#{port}'.interpolate({protocol:location.protocol,domain:document.domain,port:location.port?':'+location.port:''}));},getHeader:function(name){try{return this.transport.getResponseHeader(name)||null;}catch(e){return null}},evalResponse:function(){try{return eval((this.transport.responseText||'').unfilterJSON());}catch(e){this.dispatchException(e);}},dispatchException:function(exception){(this.options.onException||Prototype.emptyFunction)(this,exception);Ajax.Responders.dispatch('onException',this,exception);}});Ajax.Request.Events=['Uninitialized','Loading','Loaded','Interactive','Complete'];Ajax.Response=Class.create({initialize:function(request){this.request=request;var transport=this.transport=request.transport,readyState=this.readyState=transport.readyState;if((readyState>2&&!Prototype.Browser.IE)||readyState==4){this.status=this.getStatus();this.statusText=this.getStatusText();this.responseText=String.interpret(transport.responseText);this.headerJSON=this._getHeaderJSON();}
if(readyState==4){var xml=transport.responseXML;this.responseXML=Object.isUndefined(xml)?null:xml;this.responseJSON=this._getResponseJSON();}},status:0,statusText:'',getStatus:Ajax.Request.prototype.getStatus,getStatusText:function(){try{return this.transport.statusText||'';}catch(e){return''}},getHeader:Ajax.Request.prototype.getHeader,getAllHeaders:function(){try{return this.getAllResponseHeaders();}catch(e){return null}},getResponseHeader:function(name){return this.transport.getResponseHeader(name);},getAllResponseHeaders:function(){return this.transport.getAllResponseHeaders();},_getHeaderJSON:function(){var json=this.getHeader('X-JSON');if(!json)return null;json=decodeURIComponent(escape(json));try{return json.evalJSON(this.request.options.sanitizeJSON||!this.request.isSameOrigin());}catch(e){this.request.dispatchException(e);}},_getResponseJSON:function(){var options=this.request.options;if(!options.evalJSON||(options.evalJSON!='force'&&!(this.getHeader('Content-type')||'').include('application/json'))||this.responseText.blank())
return null;try{return this.responseText.evalJSON(options.sanitizeJSON||!this.request.isSameOrigin());}catch(e){this.request.dispatchException(e);}}});Ajax.Updater=Class.create(Ajax.Request,{initialize:function($super,container,url,options){this.container={success:(container.success||container),failure:(container.failure||(container.success?null:container))};options=Object.clone(options);var onComplete=options.onComplete;options.onComplete=(function(response,json){this.updateContent(response.responseText);if(Object.isFunction(onComplete))onComplete(response,json);}).bind(this);$super(url,options);},updateContent:function(responseText){var receiver=this.container[this.success()?'success':'failure'],options=this.options;if(!options.evalScripts)responseText=responseText.stripScripts();if(receiver=$(receiver)){if(options.insertion){if(Object.isString(options.insertion)){var insertion={};insertion[options.insertion]=responseText;receiver.insert(insertion);}
else options.insertion(receiver,responseText);}
else receiver.update(responseText);}}});Ajax.PeriodicalUpdater=Class.create(Ajax.Base,{initialize:function($super,container,url,options){$super(options);this.onComplete=this.options.onComplete;this.frequency=(this.options.frequency||2);this.decay=(this.options.decay||1);this.updater={};this.container=container;this.url=url;this.start();},start:function(){this.options.onComplete=this.updateComplete.bind(this);this.onTimerEvent();},stop:function(){this.updater.options.onComplete=undefined;clearTimeout(this.timer);(this.onComplete||Prototype.emptyFunction).apply(this,arguments);},updateComplete:function(response){if(this.options.decay){this.decay=(response.responseText==this.lastText?this.decay*this.options.decay:1);this.lastText=response.responseText;}
this.timer=this.onTimerEvent.bind(this).delay(this.decay*this.frequency);},onTimerEvent:function(){this.updater=new Ajax.Updater(this.container,this.url,this.options);}});function $(element){if(arguments.length>1){for(var i=0,elements=[],length=arguments.length;i<length;i++)
elements.push($(arguments[i]));return elements;}
if(Object.isString(element))
element=document.getElementById(element);return Element.extend(element);}
if(Prototype.BrowserFeatures.XPath){document._getElementsByXPath=function(expression,parentElement){var results=[];var query=document.evaluate(expression,$(parentElement)||document,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);for(var i=0,length=query.snapshotLength;i<length;i++)
results.push(Element.extend(query.snapshotItem(i)));return results;};}
if(!window.Node)var Node={};if(!Node.ELEMENT_NODE){Object.extend(Node,{ELEMENT_NODE:1,ATTRIBUTE_NODE:2,TEXT_NODE:3,CDATA_SECTION_NODE:4,ENTITY_REFERENCE_NODE:5,ENTITY_NODE:6,PROCESSING_INSTRUCTION_NODE:7,COMMENT_NODE:8,DOCUMENT_NODE:9,DOCUMENT_TYPE_NODE:10,DOCUMENT_FRAGMENT_NODE:11,NOTATION_NODE:12});}
(function(){var element=this.Element;this.Element=function(tagName,attributes){attributes=attributes||{};tagName=tagName.toLowerCase();var cache=Element.cache;if(Prototype.Browser.IE&&attributes.name){tagName='<'+tagName+' name="'+attributes.name+'">';delete attributes.name;return Element.writeAttribute(document.createElement(tagName),attributes);}
if(!cache[tagName])cache[tagName]=Element.extend(document.createElement(tagName));return Element.writeAttribute(cache[tagName].cloneNode(false),attributes);};Object.extend(this.Element,element||{});}).call(window);Element.cache={};Element.Methods={visible:function(element){return $(element).style.display!='none';},toggle:function(element){element=$(element);Element[Element.visible(element)?'hide':'show'](element);return element;},hide:function(element){$(element).style.display='none';return element;},show:function(element){$(element).style.display='';return element;},remove:function(element){element=$(element);element.parentNode.removeChild(element);return element;},update:function(element,content){element=$(element);if(content&&content.toElement)content=content.toElement();if(Object.isElement(content))return element.update().insert(content);content=Object.toHTML(content);element.innerHTML=content.stripScripts();content.evalScripts.bind(content).defer();return element;},replace:function(element,content){element=$(element);if(content&&content.toElement)content=content.toElement();else if(!Object.isElement(content)){content=Object.toHTML(content);var range=element.ownerDocument.createRange();range.selectNode(element);content.evalScripts.bind(content).defer();content=range.createContextualFragment(content.stripScripts());}
element.parentNode.replaceChild(content,element);return element;},insert:function(element,insertions){element=$(element);if(Object.isString(insertions)||Object.isNumber(insertions)||Object.isElement(insertions)||(insertions&&(insertions.toElement||insertions.toHTML)))
insertions={bottom:insertions};var content,insert,tagName,childNodes;for(var position in insertions){content=insertions[position];position=position.toLowerCase();insert=Element._insertionTranslations[position];if(content&&content.toElement)content=content.toElement();if(Object.isElement(content)){insert(element,content);continue;}
content=Object.toHTML(content);tagName=((position=='before'||position=='after')?element.parentNode:element).tagName.toUpperCase();childNodes=Element._getContentFromAnonymousElement(tagName,content.stripScripts());if(position=='top'||position=='after')childNodes.reverse();childNodes.each(insert.curry(element));content.evalScripts.bind(content).defer();}
return element;},wrap:function(element,wrapper,attributes){element=$(element);if(Object.isElement(wrapper))
$(wrapper).writeAttribute(attributes||{});else if(Object.isString(wrapper))wrapper=new Element(wrapper,attributes);else wrapper=new Element('div',wrapper);if(element.parentNode)
element.parentNode.replaceChild(wrapper,element);wrapper.appendChild(element);return wrapper;},inspect:function(element){element=$(element);var result='<'+element.tagName.toLowerCase();$H({'id':'id','className':'class'}).each(function(pair){var property=pair.first(),attribute=pair.last();var value=(element[property]||'').toString();if(value)result+=' '+attribute+'='+value.inspect(true);});return result+'>';},recursivelyCollect:function(element,property){element=$(element);var elements=[];while(element=element[property])
if(element.nodeType==1)
elements.push(Element.extend(element));return elements;},ancestors:function(element){return $(element).recursivelyCollect('parentNode');},descendants:function(element){return $(element).select("*");},firstDescendant:function(element){element=$(element).firstChild;while(element&&element.nodeType!=1)element=element.nextSibling;return $(element);},immediateDescendants:function(element){if(!(element=$(element).firstChild))return[];while(element&&element.nodeType!=1)element=element.nextSibling;if(element)return[element].concat($(element).nextSiblings());return[];},previousSiblings:function(element){return $(element).recursivelyCollect('previousSibling');},nextSiblings:function(element){return $(element).recursivelyCollect('nextSibling');},siblings:function(element){element=$(element);return element.previousSiblings().reverse().concat(element.nextSiblings());},match:function(element,selector){if(Object.isString(selector))
selector=new Selector(selector);return selector.match($(element));},up:function(element,expression,index){element=$(element);if(arguments.length==1)return $(element.parentNode);var ancestors=element.ancestors();return Object.isNumber(expression)?ancestors[expression]:Selector.findElement(ancestors,expression,index);},down:function(element,expression,index){element=$(element);if(arguments.length==1)return element.firstDescendant();return Object.isNumber(expression)?element.descendants()[expression]:element.select(expression)[index||0];},previous:function(element,expression,index){element=$(element);if(arguments.length==1)return $(Selector.handlers.previousElementSibling(element));var previousSiblings=element.previousSiblings();return Object.isNumber(expression)?previousSiblings[expression]:Selector.findElement(previousSiblings,expression,index);},next:function(element,expression,index){element=$(element);if(arguments.length==1)return $(Selector.handlers.nextElementSibling(element));var nextSiblings=element.nextSiblings();return Object.isNumber(expression)?nextSiblings[expression]:Selector.findElement(nextSiblings,expression,index);},select:function(){var args=$A(arguments),element=$(args.shift());return Selector.findChildElements(element,args);},adjacent:function(){var args=$A(arguments),element=$(args.shift());return Selector.findChildElements(element.parentNode,args).without(element);},identify:function(element){element=$(element);var id=element.readAttribute('id'),self=arguments.callee;if(id)return id;do{id='anonymous_element_'+self.counter++}while($(id));element.writeAttribute('id',id);return id;},readAttribute:function(element,name){element=$(element);if(Prototype.Browser.IE){var t=Element._attributeTranslations.read;if(t.values[name])return t.values[name](element,name);if(t.names[name])name=t.names[name];if(name.include(':')){return(!element.attributes||!element.attributes[name])?null:element.attributes[name].value;}}
return element.getAttribute(name);},writeAttribute:function(element,name,value){element=$(element);var attributes={},t=Element._attributeTranslations.write;if(typeof name=='object')attributes=name;else attributes[name]=Object.isUndefined(value)?true:value;for(var attr in attributes){name=t.names[attr]||attr;value=attributes[attr];if(t.values[attr])name=t.values[attr](element,value);if(value===false||value===null)
element.removeAttribute(name);else if(value===true)
element.setAttribute(name,name);else element.setAttribute(name,value);}
return element;},getHeight:function(element){return $(element).getDimensions().height;},getWidth:function(element){return $(element).getDimensions().width;},classNames:function(element){return new Element.ClassNames(element);},hasClassName:function(element,className){if(!(element=$(element)))return;var elementClassName=element.className;return(elementClassName.length>0&&(elementClassName==className||new RegExp("(^|\\s)"+className+"(\\s|$)").test(elementClassName)));},addClassName:function(element,className){if(!(element=$(element)))return;if(!element.hasClassName(className))
element.className+=(element.className?' ':'')+className;return element;},removeClassName:function(element,className){if(!(element=$(element)))return;element.className=element.className.replace(new RegExp("(^|\\s+)"+className+"(\\s+|$)"),' ').strip();return element;},toggleClassName:function(element,className){if(!(element=$(element)))return;return element[element.hasClassName(className)?'removeClassName':'addClassName'](className);},cleanWhitespace:function(element){element=$(element);var node=element.firstChild;while(node){var nextNode=node.nextSibling;if(node.nodeType==3&&!/\S/.test(node.nodeValue))
element.removeChild(node);node=nextNode;}
return element;},empty:function(element){return $(element).innerHTML.blank();},descendantOf:function(element,ancestor){element=$(element),ancestor=$(ancestor);var originalAncestor=ancestor;if(element.compareDocumentPosition)
return(element.compareDocumentPosition(ancestor)&8)===8;if(element.sourceIndex&&!Prototype.Browser.Opera){var e=element.sourceIndex,a=ancestor.sourceIndex,nextAncestor=ancestor.nextSibling;if(!nextAncestor){do{ancestor=ancestor.parentNode;}
while(!(nextAncestor=ancestor.nextSibling)&&ancestor.parentNode);}
if(nextAncestor&&nextAncestor.sourceIndex)
return(e>a&&e<nextAncestor.sourceIndex);}
while(element=element.parentNode)
if(element==originalAncestor)return true;return false;},scrollTo:function(element){element=$(element);var pos=element.cumulativeOffset();window.scrollTo(pos[0],pos[1]);return element;},getStyle:function(element,style){element=$(element);style=style=='float'?'cssFloat':style.camelize();var value=element.style[style];if(!value){var css=document.defaultView.getComputedStyle(element,null);value=css?css[style]:null;}
if(style=='opacity')return value?parseFloat(value):1.0;return value=='auto'?null:value;},getOpacity:function(element){return $(element).getStyle('opacity');},setStyle:function(element,styles){element=$(element);var elementStyle=element.style,match;if(Object.isString(styles)){element.style.cssText+=';'+styles;return styles.include('opacity')?element.setOpacity(styles.match(/opacity:\s*(\d?\.?\d*)/)[1]):element;}
for(var property in styles)
if(property=='opacity')element.setOpacity(styles[property]);else
elementStyle[(property=='float'||property=='cssFloat')?(Object.isUndefined(elementStyle.styleFloat)?'cssFloat':'styleFloat'):property]=styles[property];return element;},setOpacity:function(element,value){element=$(element);element.style.opacity=(value==1||value==='')?'':(value<0.00001)?0:value;return element;},getDimensions:function(element){element=$(element);var display=$(element).getStyle('display');if(display!='none'&&display!=null)
return{width:element.offsetWidth,height:element.offsetHeight};var els=element.style;var originalVisibility=els.visibility;var originalPosition=els.position;var originalDisplay=els.display;els.visibility='hidden';els.position='absolute';els.display='block';var originalWidth=element.clientWidth;var originalHeight=element.clientHeight;els.display=originalDisplay;els.position=originalPosition;els.visibility=originalVisibility;return{width:originalWidth,height:originalHeight};},makePositioned:function(element){element=$(element);var pos=Element.getStyle(element,'position');if(pos=='static'||!pos){element._madePositioned=true;element.style.position='relative';if(window.opera){element.style.top=0;element.style.left=0;}}
return element;},undoPositioned:function(element){element=$(element);if(element._madePositioned){element._madePositioned=undefined;element.style.position=element.style.top=element.style.left=element.style.bottom=element.style.right='';}
return element;},makeClipping:function(element){element=$(element);if(element._overflow)return element;element._overflow=Element.getStyle(element,'overflow')||'auto';if(element._overflow!=='hidden')
element.style.overflow='hidden';return element;},undoClipping:function(element){element=$(element);if(!element._overflow)return element;element.style.overflow=element._overflow=='auto'?'':element._overflow;element._overflow=null;return element;},cumulativeOffset:function(element){var valueT=0,valueL=0;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;element=element.offsetParent;}while(element);return Element._returnOffset(valueL,valueT);},positionedOffset:function(element){var valueT=0,valueL=0;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;element=element.offsetParent;if(element){if(element.tagName=='BODY')break;var p=Element.getStyle(element,'position');if(p!=='static')break;}}while(element);return Element._returnOffset(valueL,valueT);},absolutize:function(element){element=$(element);if(element.getStyle('position')=='absolute')return;var offsets=element.positionedOffset();var top=offsets[1];var left=offsets[0];var width=element.clientWidth;var height=element.clientHeight;element._originalLeft=left-parseFloat(element.style.left||0);element._originalTop=top-parseFloat(element.style.top||0);element._originalWidth=element.style.width;element._originalHeight=element.style.height;element.style.position='absolute';element.style.top=top+'px';element.style.left=left+'px';element.style.width=width+'px';element.style.height=height+'px';return element;},relativize:function(element){element=$(element);if(element.getStyle('position')=='relative')return;element.style.position='relative';var top=parseFloat(element.style.top||0)-(element._originalTop||0);var left=parseFloat(element.style.left||0)-(element._originalLeft||0);element.style.top=top+'px';element.style.left=left+'px';element.style.height=element._originalHeight;element.style.width=element._originalWidth;return element;},cumulativeScrollOffset:function(element){var valueT=0,valueL=0;do{valueT+=element.scrollTop||0;valueL+=element.scrollLeft||0;element=element.parentNode;}while(element);return Element._returnOffset(valueL,valueT);},getOffsetParent:function(element){if(element.offsetParent)return $(element.offsetParent);if(element==document.body)return $(element);while((element=element.parentNode)&&element!=document.body)
if(Element.getStyle(element,'position')!='static')
return $(element);return $(document.body);},viewportOffset:function(forElement){var valueT=0,valueL=0;var element=forElement;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;if(element.offsetParent==document.body&&Element.getStyle(element,'position')=='absolute')break;}while(element=element.offsetParent);element=forElement;do{if(!Prototype.Browser.Opera||element.tagName=='BODY'){valueT-=element.scrollTop||0;valueL-=element.scrollLeft||0;}}while(element=element.parentNode);return Element._returnOffset(valueL,valueT);},clonePosition:function(element,source){var options=Object.extend({setLeft:true,setTop:true,setWidth:true,setHeight:true,offsetTop:0,offsetLeft:0},arguments[2]||{});source=$(source);var p=source.viewportOffset();element=$(element);var delta=[0,0];var parent=null;if(Element.getStyle(element,'position')=='absolute'){parent=element.getOffsetParent();delta=parent.viewportOffset();}
if(parent==document.body){delta[0]-=document.body.offsetLeft;delta[1]-=document.body.offsetTop;}
if(options.setLeft)element.style.left=(p[0]-delta[0]+options.offsetLeft)+'px';if(options.setTop)element.style.top=(p[1]-delta[1]+options.offsetTop)+'px';if(options.setWidth)element.style.width=source.offsetWidth+'px';if(options.setHeight)element.style.height=source.offsetHeight+'px';return element;}};Element.Methods.identify.counter=1;Object.extend(Element.Methods,{getElementsBySelector:Element.Methods.select,childElements:Element.Methods.immediateDescendants});Element._attributeTranslations={write:{names:{className:'class',htmlFor:'for'},values:{}}};if(Prototype.Browser.Opera){Element.Methods.getStyle=Element.Methods.getStyle.wrap(function(proceed,element,style){switch(style){case'left':case'top':case'right':case'bottom':if(proceed(element,'position')==='static')return null;case'height':case'width':if(!Element.visible(element))return null;var dim=parseInt(proceed(element,style),10);if(dim!==element['offset'+style.capitalize()])
return dim+'px';var properties;if(style==='height'){properties=['border-top-width','padding-top','padding-bottom','border-bottom-width'];}
else{properties=['border-left-width','padding-left','padding-right','border-right-width'];}
return properties.inject(dim,function(memo,property){var val=proceed(element,property);return val===null?memo:memo-parseInt(val,10);})+'px';default:return proceed(element,style);}});Element.Methods.readAttribute=Element.Methods.readAttribute.wrap(function(proceed,element,attribute){if(attribute==='title')return element.title;return proceed(element,attribute);});}
else if(Prototype.Browser.IE){Element.Methods.getOffsetParent=Element.Methods.getOffsetParent.wrap(function(proceed,element){element=$(element);var position=element.getStyle('position');if(position!=='static')return proceed(element);element.setStyle({position:'relative'});var value=proceed(element);element.setStyle({position:position});return value;});$w('positionedOffset viewportOffset').each(function(method){Element.Methods[method]=Element.Methods[method].wrap(function(proceed,element){element=$(element);var position=element.getStyle('position');if(position!=='static')return proceed(element);var offsetParent=element.getOffsetParent();if(offsetParent&&offsetParent.getStyle('position')==='fixed')
offsetParent.setStyle({zoom:1});element.setStyle({position:'relative'});var value=proceed(element);element.setStyle({position:position});return value;});});Element.Methods.getStyle=function(element,style){element=$(element);style=(style=='float'||style=='cssFloat')?'styleFloat':style.camelize();var value=element.style[style];if(!value&&element.currentStyle)value=element.currentStyle[style];if(style=='opacity'){if(value=(element.getStyle('filter')||'').match(/alpha\(opacity=(.*)\)/))
if(value[1])return parseFloat(value[1])/100;return 1.0;}
if(value=='auto'){if((style=='width'||style=='height')&&(element.getStyle('display')!='none'))
return element['offset'+style.capitalize()]+'px';return null;}
return value;};Element.Methods.setOpacity=function(element,value){function stripAlpha(filter){return filter.replace(/alpha\([^\)]*\)/gi,'');}
element=$(element);var currentStyle=element.currentStyle;if((currentStyle&&!currentStyle.hasLayout)||(!currentStyle&&element.style.zoom=='normal'))
element.style.zoom=1;var filter=element.getStyle('filter'),style=element.style;if(value==1||value===''){(filter=stripAlpha(filter))?style.filter=filter:style.removeAttribute('filter');return element;}else if(value<0.00001)value=0;style.filter=stripAlpha(filter)+'alpha(opacity='+(value*100)+')';return element;};Element._attributeTranslations={read:{names:{'class':'className','for':'htmlFor'},values:{_getAttr:function(element,attribute){return element.getAttribute(attribute,2);},_getAttrNode:function(element,attribute){var node=element.getAttributeNode(attribute);return node?node.value:"";},_getEv:function(element,attribute){attribute=element.getAttribute(attribute);return attribute?attribute.toString().slice(23,-2):null;},_flag:function(element,attribute){return $(element).hasAttribute(attribute)?attribute:null;},style:function(element){return element.style.cssText.toLowerCase();},title:function(element){return element.title;}}}};Element._attributeTranslations.write={names:Object.extend({cellpadding:'cellPadding',cellspacing:'cellSpacing'},Element._attributeTranslations.read.names),values:{checked:function(element,value){element.checked=!!value;},style:function(element,value){element.style.cssText=value?value:'';}}};Element._attributeTranslations.has={};$w('colSpan rowSpan vAlign dateTime accessKey tabIndex '+'encType maxLength readOnly longDesc').each(function(attr){Element._attributeTranslations.write.names[attr.toLowerCase()]=attr;Element._attributeTranslations.has[attr.toLowerCase()]=attr;});(function(v){Object.extend(v,{href:v._getAttr,src:v._getAttr,type:v._getAttr,action:v._getAttrNode,disabled:v._flag,checked:v._flag,readonly:v._flag,multiple:v._flag,onload:v._getEv,onunload:v._getEv,onclick:v._getEv,ondblclick:v._getEv,onmousedown:v._getEv,onmouseup:v._getEv,onmouseover:v._getEv,onmousemove:v._getEv,onmouseout:v._getEv,onfocus:v._getEv,onblur:v._getEv,onkeypress:v._getEv,onkeydown:v._getEv,onkeyup:v._getEv,onsubmit:v._getEv,onreset:v._getEv,onselect:v._getEv,onchange:v._getEv});})(Element._attributeTranslations.read.values);}
else if(Prototype.Browser.Gecko&&/rv:1\.8\.0/.test(navigator.userAgent)){Element.Methods.setOpacity=function(element,value){element=$(element);element.style.opacity=(value==1)?0.999999:(value==='')?'':(value<0.00001)?0:value;return element;};}
else if(Prototype.Browser.WebKit){Element.Methods.setOpacity=function(element,value){element=$(element);element.style.opacity=(value==1||value==='')?'':(value<0.00001)?0:value;if(value==1)
if(element.tagName=='IMG'&&element.width){element.width++;element.width--;}else try{var n=document.createTextNode(' ');element.appendChild(n);element.removeChild(n);}catch(e){}
return element;};Element.Methods.cumulativeOffset=function(element){var valueT=0,valueL=0;do{valueT+=element.offsetTop||0;valueL+=element.offsetLeft||0;if(element.offsetParent==document.body)
if(Element.getStyle(element,'position')=='absolute')break;element=element.offsetParent;}while(element);return Element._returnOffset(valueL,valueT);};}
if(Prototype.Browser.IE||Prototype.Browser.Opera){Element.Methods.update=function(element,content){element=$(element);if(content&&content.toElement)content=content.toElement();if(Object.isElement(content))return element.update().insert(content);content=Object.toHTML(content);var tagName=element.tagName.toUpperCase();if(tagName in Element._insertionTranslations.tags){$A(element.childNodes).each(function(node){element.removeChild(node)});Element._getContentFromAnonymousElement(tagName,content.stripScripts()).each(function(node){element.appendChild(node)});}
else element.innerHTML=content.stripScripts();content.evalScripts.bind(content).defer();return element;};}
if('outerHTML'in document.createElement('div')){Element.Methods.replace=function(element,content){element=$(element);if(content&&content.toElement)content=content.toElement();if(Object.isElement(content)){element.parentNode.replaceChild(content,element);return element;}
content=Object.toHTML(content);var parent=element.parentNode,tagName=parent.tagName.toUpperCase();if(Element._insertionTranslations.tags[tagName]){var nextSibling=element.next();var fragments=Element._getContentFromAnonymousElement(tagName,content.stripScripts());parent.removeChild(element);if(nextSibling)
fragments.each(function(node){parent.insertBefore(node,nextSibling)});else
fragments.each(function(node){parent.appendChild(node)});}
else element.outerHTML=content.stripScripts();content.evalScripts.bind(content).defer();return element;};}
Element._returnOffset=function(l,t){var result=[l,t];result.left=l;result.top=t;return result;};Element._getContentFromAnonymousElement=function(tagName,html){var div=new Element('div'),t=Element._insertionTranslations.tags[tagName];if(t){div.innerHTML=t[0]+html+t[1];t[2].times(function(){div=div.firstChild});}else div.innerHTML=html;return $A(div.childNodes);};Element._insertionTranslations={before:function(element,node){element.parentNode.insertBefore(node,element);},top:function(element,node){element.insertBefore(node,element.firstChild);},bottom:function(element,node){element.appendChild(node);},after:function(element,node){element.parentNode.insertBefore(node,element.nextSibling);},tags:{TABLE:['<table>','</table>',1],TBODY:['<table><tbody>','</tbody></table>',2],TR:['<table><tbody><tr>','</tr></tbody></table>',3],TD:['<table><tbody><tr><td>','</td></tr></tbody></table>',4],SELECT:['<select>','</select>',1]}};(function(){Object.extend(this.tags,{THEAD:this.tags.TBODY,TFOOT:this.tags.TBODY,TH:this.tags.TD});}).call(Element._insertionTranslations);Element.Methods.Simulated={hasAttribute:function(element,attribute){attribute=Element._attributeTranslations.has[attribute]||attribute;var node=$(element).getAttributeNode(attribute);return node&&node.specified;}};Element.Methods.ByTag={};Object.extend(Element,Element.Methods);if(!Prototype.BrowserFeatures.ElementExtensions&&document.createElement('div').__proto__){window.HTMLElement={};window.HTMLElement.prototype=document.createElement('div').__proto__;Prototype.BrowserFeatures.ElementExtensions=true;}
Element.extend=(function(){if(Prototype.BrowserFeatures.SpecificElementExtensions)
return Prototype.K;var Methods={},ByTag=Element.Methods.ByTag;var extend=Object.extend(function(element){if(!element||element._extendedByPrototype||element.nodeType!=1||element==window)return element;var methods=Object.clone(Methods),tagName=element.tagName,property,value;if(ByTag[tagName])Object.extend(methods,ByTag[tagName]);for(property in methods){value=methods[property];if(Object.isFunction(value)&&!(property in element))
element[property]=value.methodize();}
element._extendedByPrototype=Prototype.emptyFunction;return element;},{refresh:function(){if(!Prototype.BrowserFeatures.ElementExtensions){Object.extend(Methods,Element.Methods);Object.extend(Methods,Element.Methods.Simulated);}}});extend.refresh();return extend;})();Element.hasAttribute=function(element,attribute){if(element.hasAttribute)return element.hasAttribute(attribute);return Element.Methods.Simulated.hasAttribute(element,attribute);};Element.addMethods=function(methods){var F=Prototype.BrowserFeatures,T=Element.Methods.ByTag;if(!methods){Object.extend(Form,Form.Methods);Object.extend(Form.Element,Form.Element.Methods);Object.extend(Element.Methods.ByTag,{"FORM":Object.clone(Form.Methods),"INPUT":Object.clone(Form.Element.Methods),"SELECT":Object.clone(Form.Element.Methods),"TEXTAREA":Object.clone(Form.Element.Methods)});}
if(arguments.length==2){var tagName=methods;methods=arguments[1];}
if(!tagName)Object.extend(Element.Methods,methods||{});else{if(Object.isArray(tagName))tagName.each(extend);else extend(tagName);}
function extend(tagName){tagName=tagName.toUpperCase();if(!Element.Methods.ByTag[tagName])
Element.Methods.ByTag[tagName]={};Object.extend(Element.Methods.ByTag[tagName],methods);}
function copy(methods,destination,onlyIfAbsent){onlyIfAbsent=onlyIfAbsent||false;for(var property in methods){var value=methods[property];if(!Object.isFunction(value))continue;if(!onlyIfAbsent||!(property in destination))
destination[property]=value.methodize();}}
function findDOMClass(tagName){var klass;var trans={"OPTGROUP":"OptGroup","TEXTAREA":"TextArea","P":"Paragraph","FIELDSET":"FieldSet","UL":"UList","OL":"OList","DL":"DList","DIR":"Directory","H1":"Heading","H2":"Heading","H3":"Heading","H4":"Heading","H5":"Heading","H6":"Heading","Q":"Quote","INS":"Mod","DEL":"Mod","A":"Anchor","IMG":"Image","CAPTION":"TableCaption","COL":"TableCol","COLGROUP":"TableCol","THEAD":"TableSection","TFOOT":"TableSection","TBODY":"TableSection","TR":"TableRow","TH":"TableCell","TD":"TableCell","FRAMESET":"FrameSet","IFRAME":"IFrame"};if(trans[tagName])klass='HTML'+trans[tagName]+'Element';if(window[klass])return window[klass];klass='HTML'+tagName+'Element';if(window[klass])return window[klass];klass='HTML'+tagName.capitalize()+'Element';if(window[klass])return window[klass];window[klass]={};window[klass].prototype=document.createElement(tagName).__proto__;return window[klass];}
if(F.ElementExtensions){copy(Element.Methods,HTMLElement.prototype);copy(Element.Methods.Simulated,HTMLElement.prototype,true);}
if(F.SpecificElementExtensions){for(var tag in Element.Methods.ByTag){var klass=findDOMClass(tag);if(Object.isUndefined(klass))continue;copy(T[tag],klass.prototype);}}
Object.extend(Element,Element.Methods);delete Element.ByTag;if(Element.extend.refresh)Element.extend.refresh();Element.cache={};};document.viewport={getDimensions:function(){var dimensions={};var B=Prototype.Browser;$w('width height').each(function(d){var D=d.capitalize();dimensions[d]=(B.WebKit&&!document.evaluate)?self['inner'+D]:(B.Opera)?document.body['client'+D]:document.documentElement['client'+D];});return dimensions;},getWidth:function(){return this.getDimensions().width;},getHeight:function(){return this.getDimensions().height;},getScrollOffsets:function(){return Element._returnOffset(window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft,window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop);}};var Selector=Class.create({initialize:function(expression){this.expression=expression.strip();this.compileMatcher();},shouldUseXPath:function(){if(!Prototype.BrowserFeatures.XPath)return false;var e=this.expression;if(Prototype.Browser.WebKit&&(e.include("-of-type")||e.include(":empty")))
return false;if((/(\[[\w-]*?:|:checked)/).test(this.expression))
return false;return true;},compileMatcher:function(){if(this.shouldUseXPath())
return this.compileXPathMatcher();var e=this.expression,ps=Selector.patterns,h=Selector.handlers,c=Selector.criteria,le,p,m;if(Selector._cache[e]){this.matcher=Selector._cache[e];return;}
this.matcher=["this.matcher = function(root) {","var r = root, h = Selector.handlers, c = false, n;"];while(e&&le!=e&&(/\S/).test(e)){le=e;for(var i in ps){p=ps[i];if(m=e.match(p)){this.matcher.push(Object.isFunction(c[i])?c[i](m):new Template(c[i]).evaluate(m));e=e.replace(m[0],'');break;}}}
this.matcher.push("return h.unique(n);\n}");eval(this.matcher.join('\n'));Selector._cache[this.expression]=this.matcher;},compileXPathMatcher:function(){var e=this.expression,ps=Selector.patterns,x=Selector.xpath,le,m;if(Selector._cache[e]){this.xpath=Selector._cache[e];return;}
this.matcher=['.//*'];while(e&&le!=e&&(/\S/).test(e)){le=e;for(var i in ps){if(m=e.match(ps[i])){this.matcher.push(Object.isFunction(x[i])?x[i](m):new Template(x[i]).evaluate(m));e=e.replace(m[0],'');break;}}}
this.xpath=this.matcher.join('');Selector._cache[this.expression]=this.xpath;},findElements:function(root){root=root||document;if(this.xpath)return document._getElementsByXPath(this.xpath,root);return this.matcher(root);},match:function(element){this.tokens=[];var e=this.expression,ps=Selector.patterns,as=Selector.assertions;var le,p,m;while(e&&le!==e&&(/\S/).test(e)){le=e;for(var i in ps){p=ps[i];if(m=e.match(p)){if(as[i]){this.tokens.push([i,Object.clone(m)]);e=e.replace(m[0],'');}else{return this.findElements(document).include(element);}}}}
var match=true,name,matches;for(var i=0,token;token=this.tokens[i];i++){name=token[0],matches=token[1];if(!Selector.assertions[name](element,matches)){match=false;break;}}
return match;},toString:function(){return this.expression;},inspect:function(){return"#<Selector:"+this.expression.inspect()+">";}});Object.extend(Selector,{_cache:{},xpath:{descendant:"//*",child:"/*",adjacent:"/following-sibling::*[1]",laterSibling:'/following-sibling::*',tagName:function(m){if(m[1]=='*')return'';return"[local-name()='"+m[1].toLowerCase()+"' or local-name()='"+m[1].toUpperCase()+"']";},className:"[contains(concat(' ', @class, ' '), ' #{1} ')]",id:"[@id='#{1}']",attrPresence:function(m){m[1]=m[1].toLowerCase();return new Template("[@#{1}]").evaluate(m);},attr:function(m){m[1]=m[1].toLowerCase();m[3]=m[5]||m[6];return new Template(Selector.xpath.operators[m[2]]).evaluate(m);},pseudo:function(m){var h=Selector.xpath.pseudos[m[1]];if(!h)return'';if(Object.isFunction(h))return h(m);return new Template(Selector.xpath.pseudos[m[1]]).evaluate(m);},operators:{'=':"[@#{1}='#{3}']",'!=':"[@#{1}!='#{3}']",'^=':"[starts-with(@#{1}, '#{3}')]",'$=':"[substring(@#{1}, (string-length(@#{1}) - string-length('#{3}') + 1))='#{3}']",'*=':"[contains(@#{1}, '#{3}')]",'~=':"[contains(concat(' ', @#{1}, ' '), ' #{3} ')]",'|=':"[contains(concat('-', @#{1}, '-'), '-#{3}-')]"},pseudos:{'first-child':'[not(preceding-sibling::*)]','last-child':'[not(following-sibling::*)]','only-child':'[not(preceding-sibling::* or following-sibling::*)]','empty':"[count(*) = 0 and (count(text()) = 0 or translate(text(), ' \t\r\n', '') = '')]",'checked':"[@checked]",'disabled':"[@disabled]",'enabled':"[not(@disabled)]",'not':function(m){var e=m[6],p=Selector.patterns,x=Selector.xpath,le,v;var exclusion=[];while(e&&le!=e&&(/\S/).test(e)){le=e;for(var i in p){if(m=e.match(p[i])){v=Object.isFunction(x[i])?x[i](m):new Template(x[i]).evaluate(m);exclusion.push("("+v.substring(1,v.length-1)+")");e=e.replace(m[0],'');break;}}}
return"[not("+exclusion.join(" and ")+")]";},'nth-child':function(m){return Selector.xpath.pseudos.nth("(count(./preceding-sibling::*) + 1) ",m);},'nth-last-child':function(m){return Selector.xpath.pseudos.nth("(count(./following-sibling::*) + 1) ",m);},'nth-of-type':function(m){return Selector.xpath.pseudos.nth("position() ",m);},'nth-last-of-type':function(m){return Selector.xpath.pseudos.nth("(last() + 1 - position()) ",m);},'first-of-type':function(m){m[6]="1";return Selector.xpath.pseudos['nth-of-type'](m);},'last-of-type':function(m){m[6]="1";return Selector.xpath.pseudos['nth-last-of-type'](m);},'only-of-type':function(m){var p=Selector.xpath.pseudos;return p['first-of-type'](m)+p['last-of-type'](m);},nth:function(fragment,m){var mm,formula=m[6],predicate;if(formula=='even')formula='2n+0';if(formula=='odd')formula='2n+1';if(mm=formula.match(/^(\d+)$/))
return'['+fragment+"= "+mm[1]+']';if(mm=formula.match(/^(-?\d*)?n(([+-])(\d+))?/)){if(mm[1]=="-")mm[1]=-1;var a=mm[1]?Number(mm[1]):1;var b=mm[2]?Number(mm[2]):0;predicate="[((#{fragment} - #{b}) mod #{a} = 0) and "+"((#{fragment} - #{b}) div #{a} >= 0)]";return new Template(predicate).evaluate({fragment:fragment,a:a,b:b});}}}},criteria:{tagName:'n = h.tagName(n, r, "#{1}", c);      c = false;',className:'n = h.className(n, r, "#{1}", c);    c = false;',id:'n = h.id(n, r, "#{1}", c);           c = false;',attrPresence:'n = h.attrPresence(n, r, "#{1}", c); c = false;',attr:function(m){m[3]=(m[5]||m[6]);return new Template('n = h.attr(n, r, "#{1}", "#{3}", "#{2}", c); c = false;').evaluate(m);},pseudo:function(m){if(m[6])m[6]=m[6].replace(/"/g,'\\"');return new Template('n = h.pseudo(n, "#{1}", "#{6}", r, c); c = false;').evaluate(m);},descendant:'c = "descendant";',child:'c = "child";',adjacent:'c = "adjacent";',laterSibling:'c = "laterSibling";'},patterns:{laterSibling:/^\s*~\s*/,child:/^\s*>\s*/,adjacent:/^\s*\+\s*/,descendant:/^\s/,tagName:/^\s*(\*|[\w\-]+)(\b|$)?/,id:/^#([\w\-\*]+)(\b|$)/,className:/^\.([\w\-\*]+)(\b|$)/,pseudo:/^:((first|last|nth|nth-last|only)(-child|-of-type)|empty|checked|(en|dis)abled|not)(\((.*?)\))?(\b|$|(?=\s|[:+~>]))/,attrPresence:/^\[([\w]+)\]/,attr:/\[((?:[\w-]*:)?[\w-]+)\s*(?:([!^$*~|]?=)\s*((['"])([^\4]*?)\4|([^'"][^\]]*?)))?\]/},assertions:{tagName:function(element,matches){return matches[1].toUpperCase()==element.tagName.toUpperCase();},className:function(element,matches){return Element.hasClassName(element,matches[1]);},id:function(element,matches){return element.id===matches[1];},attrPresence:function(element,matches){return Element.hasAttribute(element,matches[1]);},attr:function(element,matches){var nodeValue=Element.readAttribute(element,matches[1]);return nodeValue&&Selector.operators[matches[2]](nodeValue,matches[5]||matches[6]);}},handlers:{concat:function(a,b){for(var i=0,node;node=b[i];i++)
a.push(node);return a;},mark:function(nodes){var _true=Prototype.emptyFunction;for(var i=0,node;node=nodes[i];i++)
node._countedByPrototype=_true;return nodes;},unmark:function(nodes){for(var i=0,node;node=nodes[i];i++)
node._countedByPrototype=undefined;return nodes;},index:function(parentNode,reverse,ofType){parentNode._countedByPrototype=Prototype.emptyFunction;if(reverse){for(var nodes=parentNode.childNodes,i=nodes.length-1,j=1;i>=0;i--){var node=nodes[i];if(node.nodeType==1&&(!ofType||node._countedByPrototype))node.nodeIndex=j++;}}else{for(var i=0,j=1,nodes=parentNode.childNodes;node=nodes[i];i++)
if(node.nodeType==1&&(!ofType||node._countedByPrototype))node.nodeIndex=j++;}},unique:function(nodes){if(nodes.length==0)return nodes;var results=[],n;for(var i=0,l=nodes.length;i<l;i++)
if(!(n=nodes[i])._countedByPrototype){n._countedByPrototype=Prototype.emptyFunction;results.push(Element.extend(n));}
return Selector.handlers.unmark(results);},descendant:function(nodes){var h=Selector.handlers;for(var i=0,results=[],node;node=nodes[i];i++)
h.concat(results,node.getElementsByTagName('*'));return results;},child:function(nodes){var h=Selector.handlers;for(var i=0,results=[],node;node=nodes[i];i++){for(var j=0,child;child=node.childNodes[j];j++)
if(child.nodeType==1&&child.tagName!='!')results.push(child);}
return results;},adjacent:function(nodes){for(var i=0,results=[],node;node=nodes[i];i++){var next=this.nextElementSibling(node);if(next)results.push(next);}
return results;},laterSibling:function(nodes){var h=Selector.handlers;for(var i=0,results=[],node;node=nodes[i];i++)
h.concat(results,Element.nextSiblings(node));return results;},nextElementSibling:function(node){while(node=node.nextSibling)
if(node.nodeType==1)return node;return null;},previousElementSibling:function(node){while(node=node.previousSibling)
if(node.nodeType==1)return node;return null;},tagName:function(nodes,root,tagName,combinator){var uTagName=tagName.toUpperCase();var results=[],h=Selector.handlers;if(nodes){if(combinator){if(combinator=="descendant"){for(var i=0,node;node=nodes[i];i++)
h.concat(results,node.getElementsByTagName(tagName));return results;}else nodes=this[combinator](nodes);if(tagName=="*")return nodes;}
for(var i=0,node;node=nodes[i];i++)
if(node.tagName.toUpperCase()===uTagName)results.push(node);return results;}else return root.getElementsByTagName(tagName);},id:function(nodes,root,id,combinator){var targetNode=$(id),h=Selector.handlers;if(!targetNode)return[];if(!nodes&&root==document)return[targetNode];if(nodes){if(combinator){if(combinator=='child'){for(var i=0,node;node=nodes[i];i++)
if(targetNode.parentNode==node)return[targetNode];}else if(combinator=='descendant'){for(var i=0,node;node=nodes[i];i++)
if(Element.descendantOf(targetNode,node))return[targetNode];}else if(combinator=='adjacent'){for(var i=0,node;node=nodes[i];i++)
if(Selector.handlers.previousElementSibling(targetNode)==node)
return[targetNode];}else nodes=h[combinator](nodes);}
for(var i=0,node;node=nodes[i];i++)
if(node==targetNode)return[targetNode];return[];}
return(targetNode&&Element.descendantOf(targetNode,root))?[targetNode]:[];},className:function(nodes,root,className,combinator){if(nodes&&combinator)nodes=this[combinator](nodes);return Selector.handlers.byClassName(nodes,root,className);},byClassName:function(nodes,root,className){if(!nodes)nodes=Selector.handlers.descendant([root]);var needle=' '+className+' ';for(var i=0,results=[],node,nodeClassName;node=nodes[i];i++){nodeClassName=node.className;if(nodeClassName.length==0)continue;if(nodeClassName==className||(' '+nodeClassName+' ').include(needle))
results.push(node);}
return results;},attrPresence:function(nodes,root,attr,combinator){if(!nodes)nodes=root.getElementsByTagName("*");if(nodes&&combinator)nodes=this[combinator](nodes);var results=[];for(var i=0,node;node=nodes[i];i++)
if(Element.hasAttribute(node,attr))results.push(node);return results;},attr:function(nodes,root,attr,value,operator,combinator){if(!nodes)nodes=root.getElementsByTagName("*");if(nodes&&combinator)nodes=this[combinator](nodes);var handler=Selector.operators[operator],results=[];for(var i=0,node;node=nodes[i];i++){var nodeValue=Element.readAttribute(node,attr);if(nodeValue===null)continue;if(handler(nodeValue,value))results.push(node);}
return results;},pseudo:function(nodes,name,value,root,combinator){if(nodes&&combinator)nodes=this[combinator](nodes);if(!nodes)nodes=root.getElementsByTagName("*");return Selector.pseudos[name](nodes,value,root);}},pseudos:{'first-child':function(nodes,value,root){for(var i=0,results=[],node;node=nodes[i];i++){if(Selector.handlers.previousElementSibling(node))continue;results.push(node);}
return results;},'last-child':function(nodes,value,root){for(var i=0,results=[],node;node=nodes[i];i++){if(Selector.handlers.nextElementSibling(node))continue;results.push(node);}
return results;},'only-child':function(nodes,value,root){var h=Selector.handlers;for(var i=0,results=[],node;node=nodes[i];i++)
if(!h.previousElementSibling(node)&&!h.nextElementSibling(node))
results.push(node);return results;},'nth-child':function(nodes,formula,root){return Selector.pseudos.nth(nodes,formula,root);},'nth-last-child':function(nodes,formula,root){return Selector.pseudos.nth(nodes,formula,root,true);},'nth-of-type':function(nodes,formula,root){return Selector.pseudos.nth(nodes,formula,root,false,true);},'nth-last-of-type':function(nodes,formula,root){return Selector.pseudos.nth(nodes,formula,root,true,true);},'first-of-type':function(nodes,formula,root){return Selector.pseudos.nth(nodes,"1",root,false,true);},'last-of-type':function(nodes,formula,root){return Selector.pseudos.nth(nodes,"1",root,true,true);},'only-of-type':function(nodes,formula,root){var p=Selector.pseudos;return p['last-of-type'](p['first-of-type'](nodes,formula,root),formula,root);},getIndices:function(a,b,total){if(a==0)return b>0?[b]:[];return $R(1,total).inject([],function(memo,i){if(0==(i-b)%a&&(i-b)/a>=0)memo.push(i);return memo;});},nth:function(nodes,formula,root,reverse,ofType){if(nodes.length==0)return[];if(formula=='even')formula='2n+0';if(formula=='odd')formula='2n+1';var h=Selector.handlers,results=[],indexed=[],m;h.mark(nodes);for(var i=0,node;node=nodes[i];i++){if(!node.parentNode._countedByPrototype){h.index(node.parentNode,reverse,ofType);indexed.push(node.parentNode);}}
if(formula.match(/^\d+$/)){formula=Number(formula);for(var i=0,node;node=nodes[i];i++)
if(node.nodeIndex==formula)results.push(node);}else if(m=formula.match(/^(-?\d*)?n(([+-])(\d+))?/)){if(m[1]=="-")m[1]=-1;var a=m[1]?Number(m[1]):1;var b=m[2]?Number(m[2]):0;var indices=Selector.pseudos.getIndices(a,b,nodes.length);for(var i=0,node,l=indices.length;node=nodes[i];i++){for(var j=0;j<l;j++)
if(node.nodeIndex==indices[j])results.push(node);}}
h.unmark(nodes);h.unmark(indexed);return results;},'empty':function(nodes,value,root){for(var i=0,results=[],node;node=nodes[i];i++){if(node.tagName=='!'||(node.firstChild&&!node.innerHTML.match(/^\s*$/)))continue;results.push(node);}
return results;},'not':function(nodes,selector,root){var h=Selector.handlers,selectorType,m;var exclusions=new Selector(selector).findElements(root);h.mark(exclusions);for(var i=0,results=[],node;node=nodes[i];i++)
if(!node._countedByPrototype)results.push(node);h.unmark(exclusions);return results;},'enabled':function(nodes,value,root){for(var i=0,results=[],node;node=nodes[i];i++)
if(!node.disabled)results.push(node);return results;},'disabled':function(nodes,value,root){for(var i=0,results=[],node;node=nodes[i];i++)
if(node.disabled)results.push(node);return results;},'checked':function(nodes,value,root){for(var i=0,results=[],node;node=nodes[i];i++)
if(node.checked)results.push(node);return results;}},operators:{'=':function(nv,v){return nv==v;},'!=':function(nv,v){return nv!=v;},'^=':function(nv,v){return nv.startsWith(v);},'$=':function(nv,v){return nv.endsWith(v);},'*=':function(nv,v){return nv.include(v);},'~=':function(nv,v){return(' '+nv+' ').include(' '+v+' ');},'|=':function(nv,v){return('-'+nv.toUpperCase()+'-').include('-'+v.toUpperCase()+'-');}},split:function(expression){var expressions=[];expression.scan(/(([\w#:.~>+()\s-]+|\*|\[.*?\])+)\s*(,|$)/,function(m){expressions.push(m[1].strip());});return expressions;},matchElements:function(elements,expression){var matches=$$(expression),h=Selector.handlers;h.mark(matches);for(var i=0,results=[],element;element=elements[i];i++)
if(element._countedByPrototype)results.push(element);h.unmark(matches);return results;},findElement:function(elements,expression,index){if(Object.isNumber(expression)){index=expression;expression=false;}
return Selector.matchElements(elements,expression||'*')[index||0];},findChildElements:function(element,expressions){expressions=Selector.split(expressions.join(','));var results=[],h=Selector.handlers;for(var i=0,l=expressions.length,selector;i<l;i++){selector=new Selector(expressions[i].strip());h.concat(results,selector.findElements(element));}
return(l>1)?h.unique(results):results;}});if(Prototype.Browser.IE){Object.extend(Selector.handlers,{concat:function(a,b){for(var i=0,node;node=b[i];i++)
if(node.tagName!=="!")a.push(node);return a;},unmark:function(nodes){for(var i=0,node;node=nodes[i];i++)
node.removeAttribute('_countedByPrototype');return nodes;}});}
function $$(){return Selector.findChildElements(document,$A(arguments));}
var Form={reset:function(form){$(form).reset();return form;},serializeElements:function(elements,options){if(typeof options!='object')options={hash:!!options};else if(Object.isUndefined(options.hash))options.hash=true;var key,value,submitted=false,submit=options.submit;var data=elements.inject({},function(result,element){if(!element.disabled&&element.name){key=element.name;value=$(element).getValue();if(value!=null&&(element.type!='submit'||(!submitted&&submit!==false&&(!submit||key==submit)&&(submitted=true)))){if(key in result){if(!Object.isArray(result[key]))result[key]=[result[key]];result[key].push(value);}
else result[key]=value;}}
return result;});return options.hash?data:Object.toQueryString(data);}};Form.Methods={serialize:function(form,options){return Form.serializeElements(Form.getElements(form),options);},getElements:function(form){return $A($(form).getElementsByTagName('*')).inject([],function(elements,child){if(Form.Element.Serializers[child.tagName.toLowerCase()])
elements.push(Element.extend(child));return elements;});},getInputs:function(form,typeName,name){form=$(form);var inputs=form.getElementsByTagName('input');if(!typeName&&!name)return $A(inputs).map(Element.extend);for(var i=0,matchingInputs=[],length=inputs.length;i<length;i++){var input=inputs[i];if((typeName&&input.type!=typeName)||(name&&input.name!=name))
continue;matchingInputs.push(Element.extend(input));}
return matchingInputs;},disable:function(form){form=$(form);Form.getElements(form).invoke('disable');return form;},enable:function(form){form=$(form);Form.getElements(form).invoke('enable');return form;},findFirstElement:function(form){var elements=$(form).getElements().findAll(function(element){return'hidden'!=element.type&&!element.disabled;});var firstByIndex=elements.findAll(function(element){return element.hasAttribute('tabIndex')&&element.tabIndex>=0;}).sortBy(function(element){return element.tabIndex}).first();return firstByIndex?firstByIndex:elements.find(function(element){return['input','select','textarea'].include(element.tagName.toLowerCase());});},focusFirstElement:function(form){form=$(form);form.findFirstElement().activate();return form;},request:function(form,options){form=$(form),options=Object.clone(options||{});var params=options.parameters,action=form.readAttribute('action')||'';if(action.blank())action=window.location.href;options.parameters=form.serialize(true);if(params){if(Object.isString(params))params=params.toQueryParams();Object.extend(options.parameters,params);}
if(form.hasAttribute('method')&&!options.method)
options.method=form.method;return new Ajax.Request(action,options);}};Form.Element={focus:function(element){$(element).focus();return element;},select:function(element){$(element).select();return element;}};Form.Element.Methods={serialize:function(element){element=$(element);if(!element.disabled&&element.name){var value=element.getValue();if(value!=undefined){var pair={};pair[element.name]=value;return Object.toQueryString(pair);}}
return'';},getValue:function(element){element=$(element);var method=element.tagName.toLowerCase();return Form.Element.Serializers[method](element);},setValue:function(element,value){element=$(element);var method=element.tagName.toLowerCase();Form.Element.Serializers[method](element,value);return element;},clear:function(element){$(element).value='';return element;},present:function(element){return $(element).value!='';},activate:function(element){element=$(element);try{element.focus();if(element.select&&(element.tagName.toLowerCase()!='input'||!['button','reset','submit'].include(element.type)))
element.select();}catch(e){}
return element;},disable:function(element){element=$(element);element.blur();element.disabled=true;return element;},enable:function(element){element=$(element);element.disabled=false;return element;}};var Field=Form.Element;var $F=Form.Element.Methods.getValue;Form.Element.Serializers={input:function(element,value){switch(element.type.toLowerCase()){case'checkbox':case'radio':return Form.Element.Serializers.inputSelector(element,value);default:return Form.Element.Serializers.textarea(element,value);}},inputSelector:function(element,value){if(Object.isUndefined(value))return element.checked?element.value:null;else element.checked=!!value;},textarea:function(element,value){if(Object.isUndefined(value))return element.value;else element.value=value;},select:function(element,index){if(Object.isUndefined(index))
return this[element.type=='select-one'?'selectOne':'selectMany'](element);else{var opt,value,single=!Object.isArray(index);for(var i=0,length=element.length;i<length;i++){opt=element.options[i];value=this.optionValue(opt);if(single){if(value==index){opt.selected=true;return;}}
else opt.selected=index.include(value);}}},selectOne:function(element){var index=element.selectedIndex;return index>=0?this.optionValue(element.options[index]):null;},selectMany:function(element){var values,length=element.length;if(!length)return null;for(var i=0,values=[];i<length;i++){var opt=element.options[i];if(opt.selected)values.push(this.optionValue(opt));}
return values;},optionValue:function(opt){return Element.extend(opt).hasAttribute('value')?opt.value:opt.text;}};Abstract.TimedObserver=Class.create(PeriodicalExecuter,{initialize:function($super,element,frequency,callback){$super(callback,frequency);this.element=$(element);this.lastValue=this.getValue();},execute:function(){var value=this.getValue();if(Object.isString(this.lastValue)&&Object.isString(value)?this.lastValue!=value:String(this.lastValue)!=String(value)){this.callback(this.element,value);this.lastValue=value;}}});Form.Element.Observer=Class.create(Abstract.TimedObserver,{getValue:function(){return Form.Element.getValue(this.element);}});Form.Observer=Class.create(Abstract.TimedObserver,{getValue:function(){return Form.serialize(this.element);}});Abstract.EventObserver=Class.create({initialize:function(element,callback){this.element=$(element);this.callback=callback;this.lastValue=this.getValue();if(this.element.tagName.toLowerCase()=='form')
this.registerFormCallbacks();else
this.registerCallback(this.element);},onElementEvent:function(){var value=this.getValue();if(this.lastValue!=value){this.callback(this.element,value);this.lastValue=value;}},registerFormCallbacks:function(){Form.getElements(this.element).each(this.registerCallback,this);},registerCallback:function(element){if(element.type){switch(element.type.toLowerCase()){case'checkbox':case'radio':Event.observe(element,'click',this.onElementEvent.bind(this));break;default:Event.observe(element,'change',this.onElementEvent.bind(this));break;}}}});Form.Element.EventObserver=Class.create(Abstract.EventObserver,{getValue:function(){return Form.Element.getValue(this.element);}});Form.EventObserver=Class.create(Abstract.EventObserver,{getValue:function(){return Form.serialize(this.element);}});if(!window.Event)var Event={};Object.extend(Event,{KEY_BACKSPACE:8,KEY_TAB:9,KEY_RETURN:13,KEY_ESC:27,KEY_LEFT:37,KEY_UP:38,KEY_RIGHT:39,KEY_DOWN:40,KEY_DELETE:46,KEY_HOME:36,KEY_END:35,KEY_PAGEUP:33,KEY_PAGEDOWN:34,KEY_INSERT:45,cache:{},relatedTarget:function(event){var element;switch(event.type){case'mouseover':element=event.fromElement;break;case'mouseout':element=event.toElement;break;default:return null;}
return Element.extend(element);}});Event.Methods=(function(){var isButton;if(Prototype.Browser.IE){var buttonMap={0:1,1:4,2:2};isButton=function(event,code){return event.button==buttonMap[code];};}else if(Prototype.Browser.WebKit){isButton=function(event,code){switch(code){case 0:return event.which==1&&!event.metaKey;case 1:return event.which==1&&event.metaKey;default:return false;}};}else{isButton=function(event,code){return event.which?(event.which===code+1):(event.button===code);};}
return{isLeftClick:function(event){return isButton(event,0)},isMiddleClick:function(event){return isButton(event,1)},isRightClick:function(event){return isButton(event,2)},element:function(event){var node=Event.extend(event).target;return Element.extend(node.nodeType==Node.TEXT_NODE?node.parentNode:node);},findElement:function(event,expression){var element=Event.element(event);if(!expression)return element;var elements=[element].concat(element.ancestors());return Selector.findElement(elements,expression,0);},pointer:function(event){return{x:event.pageX||(event.clientX+
(document.documentElement.scrollLeft||document.body.scrollLeft)),y:event.pageY||(event.clientY+
(document.documentElement.scrollTop||document.body.scrollTop))};},pointerX:function(event){return Event.pointer(event).x},pointerY:function(event){return Event.pointer(event).y},stop:function(event){Event.extend(event);event.preventDefault();event.stopPropagation();event.stopped=true;}};})();Event.extend=(function(){var methods=Object.keys(Event.Methods).inject({},function(m,name){m[name]=Event.Methods[name].methodize();return m;});if(Prototype.Browser.IE){Object.extend(methods,{stopPropagation:function(){this.cancelBubble=true},preventDefault:function(){this.returnValue=false},inspect:function(){return"[object Event]"}});return function(event){if(!event)return false;if(event._extendedByPrototype)return event;event._extendedByPrototype=Prototype.emptyFunction;var pointer=Event.pointer(event);Object.extend(event,{target:event.srcElement,relatedTarget:Event.relatedTarget(event),pageX:pointer.x,pageY:pointer.y});return Object.extend(event,methods);};}else{Event.prototype=Event.prototype||document.createEvent("HTMLEvents").__proto__;Object.extend(Event.prototype,methods);return Prototype.K;}})();Object.extend(Event,(function(){var cache=Event.cache;function getEventID(element){if(element._prototypeEventID)return element._prototypeEventID[0];arguments.callee.id=arguments.callee.id||1;return element._prototypeEventID=[++arguments.callee.id];}
function getDOMEventName(eventName){if(eventName&&eventName.include(':'))return"dataavailable";return eventName;}
function getCacheForID(id){return cache[id]=cache[id]||{};}
function getWrappersForEventName(id,eventName){var c=getCacheForID(id);return c[eventName]=c[eventName]||[];}
function createWrapper(element,eventName,handler){var id=getEventID(element);var c=getWrappersForEventName(id,eventName);if(c.pluck("handler").include(handler))return false;var wrapper=function(event){if(!Event||!Event.extend||(event.eventName&&event.eventName!=eventName))
return false;Event.extend(event);handler.call(element,event);};wrapper.handler=handler;c.push(wrapper);return wrapper;}
function findWrapper(id,eventName,handler){var c=getWrappersForEventName(id,eventName);return c.find(function(wrapper){return wrapper.handler==handler});}
function destroyWrapper(id,eventName,handler){var c=getCacheForID(id);if(!c[eventName])return false;c[eventName]=c[eventName].without(findWrapper(id,eventName,handler));}
function destroyCache(){for(var id in cache)
for(var eventName in cache[id])
cache[id][eventName]=null;}
if(window.attachEvent){window.attachEvent("onunload",destroyCache);}
return{observe:function(element,eventName,handler){element=$(element);var name=getDOMEventName(eventName);var wrapper=createWrapper(element,eventName,handler);if(!wrapper)return element;if(element.addEventListener){element.addEventListener(name,wrapper,false);}else{element.attachEvent("on"+name,wrapper);}
return element;},stopObserving:function(element,eventName,handler){element=$(element);var id=getEventID(element),name=getDOMEventName(eventName);if(!handler&&eventName){getWrappersForEventName(id,eventName).each(function(wrapper){element.stopObserving(eventName,wrapper.handler);});return element;}else if(!eventName){Object.keys(getCacheForID(id)).each(function(eventName){element.stopObserving(eventName);});return element;}
var wrapper=findWrapper(id,eventName,handler);if(!wrapper)return element;if(element.removeEventListener){element.removeEventListener(name,wrapper,false);}else{element.detachEvent("on"+name,wrapper);}
destroyWrapper(id,eventName,handler);return element;},fire:function(element,eventName,memo){element=$(element);if(element==document&&document.createEvent&&!element.dispatchEvent)
element=document.documentElement;var event;if(document.createEvent){event=document.createEvent("HTMLEvents");event.initEvent("dataavailable",true,true);}else{event=document.createEventObject();event.eventType="ondataavailable";}
event.eventName=eventName;event.memo=memo||{};if(document.createEvent){element.dispatchEvent(event);}else{element.fireEvent(event.eventType,event);}
return Event.extend(event);}};})());Object.extend(Event,Event.Methods);Element.addMethods({fire:Event.fire,observe:Event.observe,stopObserving:Event.stopObserving});Object.extend(document,{fire:Element.Methods.fire.methodize(),observe:Element.Methods.observe.methodize(),stopObserving:Element.Methods.stopObserving.methodize(),loaded:false});(function(){var timer;function fireContentLoadedEvent(){if(document.loaded)return;if(timer)window.clearInterval(timer);document.fire("dom:loaded");document.loaded=true;}
if(document.addEventListener){if(Prototype.Browser.WebKit){timer=window.setInterval(function(){if(/loaded|complete/.test(document.readyState))
fireContentLoadedEvent();},0);Event.observe(window,"load",fireContentLoadedEvent);}else{document.addEventListener("DOMContentLoaded",fireContentLoadedEvent,false);}}else{document.write("<script id=__onDOMContentLoaded defer src=//:><\/script>");$("__onDOMContentLoaded").onreadystatechange=function(){if(this.readyState=="complete"){this.onreadystatechange=null;fireContentLoadedEvent();}};}})();Hash.toQueryString=Object.toQueryString;var Toggle={display:Element.toggle};Element.Methods.childOf=Element.Methods.descendantOf;var Insertion={Before:function(element,content){return Element.insert(element,{before:content});},Top:function(element,content){return Element.insert(element,{top:content});},Bottom:function(element,content){return Element.insert(element,{bottom:content});},After:function(element,content){return Element.insert(element,{after:content});}};var $continue=new Error('"throw $continue" is deprecated, use "return" instead');var Position={includeScrollOffsets:false,prepare:function(){this.deltaX=window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0;this.deltaY=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;},within:function(element,x,y){if(this.includeScrollOffsets)
return this.withinIncludingScrolloffsets(element,x,y);this.xcomp=x;this.ycomp=y;this.offset=Element.cumulativeOffset(element);return(y>=this.offset[1]&&y<this.offset[1]+element.offsetHeight&&x>=this.offset[0]&&x<this.offset[0]+element.offsetWidth);},withinIncludingScrolloffsets:function(element,x,y){var offsetcache=Element.cumulativeScrollOffset(element);this.xcomp=x+offsetcache[0]-this.deltaX;this.ycomp=y+offsetcache[1]-this.deltaY;this.offset=Element.cumulativeOffset(element);return(this.ycomp>=this.offset[1]&&this.ycomp<this.offset[1]+element.offsetHeight&&this.xcomp>=this.offset[0]&&this.xcomp<this.offset[0]+element.offsetWidth);},overlap:function(mode,element){if(!mode)return 0;if(mode=='vertical')
return((this.offset[1]+element.offsetHeight)-this.ycomp)/element.offsetHeight;if(mode=='horizontal')
return((this.offset[0]+element.offsetWidth)-this.xcomp)/element.offsetWidth;},cumulativeOffset:Element.Methods.cumulativeOffset,positionedOffset:Element.Methods.positionedOffset,absolutize:function(element){Position.prepare();return Element.absolutize(element);},relativize:function(element){Position.prepare();return Element.relativize(element);},realOffset:Element.Methods.cumulativeScrollOffset,offsetParent:Element.Methods.getOffsetParent,page:Element.Methods.viewportOffset,clone:function(source,target,options){options=options||{};return Element.clonePosition(target,source,options);}};if(!document.getElementsByClassName)document.getElementsByClassName=function(instanceMethods){function iter(name){return name.blank()?null:"[contains(concat(' ', @class, ' '), ' "+name+" ')]";}
instanceMethods.getElementsByClassName=Prototype.BrowserFeatures.XPath?function(element,className){className=className.toString().strip();var cond=/\s/.test(className)?$w(className).map(iter).join(''):iter(className);return cond?document._getElementsByXPath('.//*'+cond,element):[];}:function(element,className){className=className.toString().strip();var elements=[],classNames=(/\s/.test(className)?$w(className):null);if(!classNames&&!className)return elements;var nodes=$(element).getElementsByTagName('*');className=' '+className+' ';for(var i=0,child,cn;child=nodes[i];i++){if(child.className&&(cn=' '+child.className+' ')&&(cn.include(className)||(classNames&&classNames.all(function(name){return!name.toString().blank()&&cn.include(' '+name+' ');}))))
elements.push(Element.extend(child));}
return elements;};return function(className,parentElement){return $(parentElement||document.body).getElementsByClassName(className);};}(Element.Methods);Element.ClassNames=Class.create();Element.ClassNames.prototype={initialize:function(element){this.element=$(element);},_each:function(iterator){this.element.className.split(/\s+/).select(function(name){return name.length>0;})._each(iterator);},set:function(className){this.element.className=className;},add:function(classNameToAdd){if(this.include(classNameToAdd))return;this.set($A(this).concat(classNameToAdd).join(' '));},remove:function(classNameToRemove){if(!this.include(classNameToRemove))return;this.set($A(this).without(classNameToRemove).join(' '));},toString:function(){return $A(this).join(' ');}};Object.extend(Element.ClassNames.prototype,Enumerable);Element.addMethods();
var Window=Class.create();Window.keepMultiModalWindow=false;Window.BUTTON_OK_NAME='button_ok';Window.prototype={initialize:function(id){if($(id))
alert("Window "+id+" is already register is the DOM!!, be sure to use setDestroyOnClose()")
this.hasEffectLib=String.prototype.parseColor!=null;this.options=Object.extend({className:"dialog",minWidth:100,minHeight:20,resizable:true,closable:true,minimizable:true,maximizable:true,draggable:true,userData:null,showEffect:(this.hasEffectLib?Effect.Appear:Element.show),hideEffect:(this.hasEffectLib?Effect.Fade:Element.hide),showEffectOptions:{},hideEffectOptions:{},effectOptions:null,parent:document.getElementsByTagName("body").item(0),title:"&nbsp;",url:null,onload:Prototype.emptyFunction,width:200,height:300,opacity:1,recenterAuto:true},arguments[1]||{});if(this.options.effectOptions){Object.extend(this.options.hideEffectOptions,this.options.effectOptions);Object.extend(this.options.showEffectOptions,this.options.effectOptions);}
if(this.options.hideEffect==Element.hide)
this.options.hideEffect=function(){Element.hide(this.element);if(this.destroyOnClose)
this.destroy();}.bind(this)
this.element=this._createWindow(id);this.eventMouseDown=this._initDrag.bindAsEventListener(this);this.eventMouseUp=this._endDrag.bindAsEventListener(this);this.eventMouseMove=this._updateDrag.bindAsEventListener(this);this.eventOnLoad=this._getWindowBorderSize.bindAsEventListener(this);this.eventMouseDownContent=this.toFront.bindAsEventListener(this);if(this.options.recenterAuto)
this.eventResize=this._recenter.bindAsEventListener(this);this.topbar=$(this.element.id+"_top");this.bottombar=$(this.element.id+"_bottom");this.content=$(this.element.id+"_content");Event.observe(this.topbar,"mousedown",this.eventMouseDown);Event.observe(this.bottombar,"mousedown",this.eventMouseDown);Event.observe(this.content,"mousedown",this.eventMouseDownContent);Event.observe(window,"load",this.eventOnLoad);if(this.options.recenterAuto){Event.observe(window,"resize",this.eventResize);Event.observe(window,"scroll",this.eventResize);}
if(this.options.draggable){this.bottombar.addClassName("bottom_draggable");this.topbar.addClassName("top_draggable");}
if(this.options.resizable){this.sizer=$(this.element.id+"_sizer");Event.observe(this.sizer,"mousedown",this.eventMouseDown);}
this.useLeft=null;this.useTop=null;if(arguments[1].left!=null){this.element.setStyle({left:parseFloat(arguments[1].left)+'px'});this.useLeft=true;}
if(arguments[1].right!=null){this.element.setStyle({right:parseFloat(arguments[1].right)+'px'});this.useLeft=false;}
if(this.useLeft==null){this.element.setStyle({left:"0px"});this.useLeft=true;}
if(arguments[1].top!=null){this.element.setStyle({top:parseFloat(arguments[1].top)+'px'});this.useTop=true;}
if(arguments[1].bottom!=null){this.element.setStyle({bottom:parseFloat(arguments[1].bottom)+'px'});this.useTop=false;}
if(this.useTop==null){this.element.setStyle({top:"0px"});this.useTop=true;}
this.storedLocation=null;this.setOpacity(this.options.opacity);if(this.options.zIndex)
this.setZIndex(this.options.zIndex)
this.destroyOnClose=false;this._getWindowBorderSize();this.width=this.options.width;this.height=this.options.height;this.visible=false;if(this.width&&this.height)
this.setSize(this.options.width,this.options.height);this.setTitle(this.options.title)
Windows.register(this);},destroy:function(){Windows.notify("onDestroy",this);Event.stopObserving(this.topbar,"mousedown",this.eventMouseDown);Event.stopObserving(this.bottombar,"mousedown",this.eventMouseDown);Event.stopObserving(this.content,"mousedown",this.eventMouseDownContent);Event.stopObserving(window,"load",this.eventOnLoad);if(this.options.recenterAuto){Event.stopObserving(window,"resize",this.eventResize);Event.stopObserving(window,"scroll",this.eventResize);}
Event.stopObserving(this.content,"load",this.options.onload);if(this._oldParent){var content=this.getContent();var originalContent=null;for(var i=0;i<content.childNodes.length;i++){originalContent=content.childNodes[i];if(Node.ELEMENT_NODE==originalContent.nodeType)break;originalContent=null;}
if(originalContent)
this._oldParent.appendChild(originalContent);this._oldParent=null;}
if(this.sizer)
Event.stopObserving(this.sizer,"mousedown",this.eventMouseDown);if(this.options.url)
this.content.src=null
Element.remove(this.element);Windows.unregister(this);},setDelegate:function(delegate){this.delegate=delegate},getDelegate:function(){return this.delegate;},getContent:function(){return this.content;},setContent:function(id,autoresize,autoposition){var element=$(id);if(null==element)throw"Unable to find element '"+id+"' in DOM";this._oldParent=element.parentNode;var d=null;var p=null;if(autoresize)
d=Element.getDimensions(element);if(autoposition)
p=Position.cumulativeOffset(element);var content=this.getContent()
content.appendChild(element);element.show();if(autoresize)
this.setSize(d.width,d.height);if(autoposition)
this.setLocation(p[1]-this.heightN,p[0]-this.widthW);},setAjaxContent:function(url,options,showCentered,showModal){this.showFunction=showCentered?"showCenter":"show";this.showModal=showModal||false;if(options==null)
options={}
this.onComplete=options.onComplete;options.onComplete=this._setAjaxContent.bind(this);new Ajax.Request(url,options);},_setAjaxContent:function(originalRequest){Element.update(this.getContent(),originalRequest.responseText);if(this.onComplete)
this.onComplete(originalRequest);this[this.showFunction](this.showModal)},setCookie:function(name,expires,path,domain,secure){name=name||this.element.id;this.cookie=[name,expires,path,domain,secure];var value=WindowUtilities.getCookie(name)
if(value){var values=value.split(',');var x=values[0].split(':');var y=values[1].split(':');var w=parseFloat(values[2]),h=parseFloat(values[3]);var mini=values[4];var maxi=values[5];this.setSize(w,h);if(mini=="true")
this.doMinimize=true;else if(maxi=="true")
this.doMaximize=true;this.useLeft=x[0]=="l";this.useTop=y[0]=="t";this.element.setStyle(this.useLeft?{left:x[1]}:{right:x[1]});this.element.setStyle(this.useTop?{top:y[1]}:{bottom:y[1]});}},getId:function(){return this.element.id;},setDestroyOnClose:function(){var destroyFunc=this.destroy.bind(this);if(this.options.hideEffectOptions.afterFinish){var func=this.options.hideEffectOptions.afterFinish;this.options.hideEffectOptions.afterFinish=function(){func();destroyFunc()}}
else
this.options.hideEffectOptions.afterFinish=function(){destroyFunc()}
this.destroyOnClose=true;},_initDrag:function(event){this.pointer=[Event.pointerX(event),Event.pointerY(event)];if(Event.element(event)==this.sizer){this.doResize=true;this.widthOrg=this.width;this.heightOrg=this.height;this.bottomOrg=parseFloat(this.element.getStyle('bottom'));this.rightOrg=parseFloat(this.element.getStyle('right'));Windows.notify("onStartResize",this);}
else{this.doResize=false;var closeButton=$(this.getId()+'_close');if(closeButton&&Position.within(closeButton,this.pointer[0],this.pointer[1]))
return;this.toFront();if(!this.options.draggable)
return;Windows.notify("onStartMove",this);}
Event.observe(document,"mouseup",this.eventMouseUp,false);Event.observe(document,"mousemove",this.eventMouseMove,false);WindowUtilities.disableScreen('__invisible__','__invisible__');document.body.ondrag=function(){return false;};document.body.onselectstart=function(){return false;};Event.stop(event);},_updateDrag:function(event){var pointer=[Event.pointerX(event),Event.pointerY(event)];var dx=pointer[0]-this.pointer[0];var dy=pointer[1]-this.pointer[1];if(this.doResize){this.setSize(this.widthOrg+dx,this.heightOrg+dy);dx=this.width-this.widthOrg
dy=this.height-this.heightOrg
if(!this.useLeft)
this.element.setStyle({right:(this.rightOrg-dx)+'px'});if(!this.useTop)
this.element.setStyle({bottom:(this.bottomOrg-dy)+'px'});}
else{this.pointer=pointer;if(this.useLeft)
this.element.setStyle({left:parseFloat(this.element.getStyle('left'))+dx+'px'});else
this.element.setStyle({right:parseFloat(this.element.getStyle('right'))-dx+'px'});if(this.useTop)
this.element.setStyle({top:parseFloat(this.element.getStyle('top'))+dy+'px'});else
this.element.setStyle({bottom:parseFloat(this.element.getStyle('bottom'))-dy+'px'});}
if(this.iefix)
this._fixIEOverlapping();this._removeStoreLocation();Event.stop(event);},_endDrag:function(event){WindowUtilities.enableScreen('__invisible__');if(this.doResize)
Windows.notify("onEndResize",this);else
Windows.notify("onEndMove",this);Event.stopObserving(document,"mouseup",this.eventMouseUp,false);Event.stopObserving(document,"mousemove",this.eventMouseMove,false);this._saveCookie()
Event.stop(event);document.body.ondrag=null;document.body.onselectstart=null;},_createWindow:function(id){var className=this.options.className;var win=document.createElement("div");win.setAttribute('id',id);win.className="dialog";var content;if(this.options.url)
content="<iframe frameborder=\"0\" name=\""+id+"_content\"  id=\""+id+"_content\" src=\""+this.options.url+"\"> </iframe>";else
content="<div id=\""+id+"_content\" class=\""+className+"_content\"></div>";var closeDiv=this.options.closable?"<div class='"+className+"_close' id='"+id+"_close' onclick='Windows.close(\""+id+"\", event)'> </div>":"";var minDiv=this.options.minimizable?"<div class='"+className+"_minimize' id='"+id+"_minimize' onclick='Windows.minimize(\""+id+"\", event)'> </div>":"";var maxDiv=this.options.maximizable?"<div class='"+className+"_maximize' id='"+id+"_maximize' onclick='Windows.maximize(\""+id+"\", event)'> </div>":"";var seAttributes=this.options.resizable?"class='"+className+"_sizer' id='"+id+"_sizer'":"class='"+className+"_se'";win.innerHTML=closeDiv+minDiv+maxDiv+"<table id='"+id+"_row1' class=\"top table_window\"><tr><td class='"+className+"_nw'>&nbsp;</td><td class='"+className+"_n'><div id='"+id+"_top' class='"+className+"_title title_window'>"+this.options.title+"</div></td><td class='"+className+"_ne'>&nbsp;</td></tr></table><table id='"+id+"_row2' class=\"mid table_window\"><tr><td class='"+className+"_w'></td><td id='"+id+"_table_content' class='"+className+"_content' valign='top'>"+content+"</td><td class='"+className+"_e'></td></tr></table><table id='"+id+"_row3' class=\"bot table_window\"><tr><td class='"+className+"_sw'>&nbsp;</td><td class='"+className+"_s'><div id='"+id+"_bottom' class='status_bar'>&nbsp;</div></td><td "+seAttributes+">&nbsp;</td></tr></table>";Element.hide(win);this.options.parent.insertBefore(win,this.options.parent.firstChild);Event.observe($(id+"_content"),"load",this.options.onload);return win;},setLocation:function(top,left){if(top<0)
top=0;if(left<0)
left=0
this.element.setStyle({top:top+'px'});this.element.setStyle({left:left+'px'});this.useLeft=true;this.useTop=true;},getLocation:function(){var location={};if(this.useTop)
location=Object.extend(location,{top:this.element.getStyle("top")});else
location=Object.extend(location,{bottom:this.element.getStyle("bottom")});if(this.useLeft)
location=Object.extend(location,{left:this.element.getStyle("left")});else
location=Object.extend(location,{right:this.element.getStyle("right")});return location;},getSize:function(){return{width:this.width,height:this.height};},setSize:function(width,height){width=parseFloat(width);height=parseFloat(height);if(width<this.options.minWidth)
width=this.options.minWidth;if(height<this.options.minHeight)
height=this.options.minHeight;if(this.options.maxHeight&&height>this.options.maxHeight)
height=this.options.maxHeight;if(this.options.maxWidth&&width>this.options.maxWidth)
width=this.options.maxWidth;this.width=width;this.height=height;this.element.setStyle({width:width+this.widthW+this.widthE+"px"})
this.element.setStyle({height:height+this.heightN+this.heightS+"px"})
var content=$(this.element.id+'_content');content.setStyle({height:height+'px'});content.setStyle({width:width+'px'});},updateHeight:function(){this.setSize(this.width,this.content.scrollHeight)},updateWidth:function(){this.setSize(this.content.scrollWidth,this.height)},toFront:function(){if(Windows.focusedWindow==this)
return;this.setZIndex(Windows.maxZIndex+20);Windows.notify("onFocus",this);},show:function(modal){if(modal){Windows.addModalWindow(this);this.modal=true;this.setZIndex(Windows.maxZIndex+20);Windows.unsetOverflow(this);}
if(this.oldStyle)
this.getContent().setStyle({overflow:this.oldStyle});if(!this.width||!this.height){var size=WindowUtilities._computeSize(this.content.innerHTML,this.content.id,this.width,this.height,0);if(this.height)
this.width=size+5
else this.height=size+5;}
this.setSize(this.width,this.height);if(this.centered)
this._center(this.centerTop,this.centerLeft);if(this.options.showEffect!=Element.show&&this.options.showEffectOptions)
this.options.showEffect(this.element,this.options.showEffectOptions);else this.options.showEffect(this.element);this._checkIEOverlapping();this.visible=true;WindowUtilities.focusedWindow=this;Windows.notify("onShow",this);},showCenter:function(modal,top,left){this.centered=true;this.centerTop=top;this.centerLeft=left;this.show(modal);},isVisible:function(){return this.visible;},_center:function(top,left){var windowScroll=WindowUtilities.getWindowScroll();var pageSize=WindowUtilities.getPageSize();if(!top)
top=(pageSize.windowHeight-(this.height+this.heightN+this.heightS))/2;top+=windowScroll.top
if(!left)
left=(pageSize.windowWidth-(this.width+this.widthW+this.widthE))/2;left+=windowScroll.left
this.setLocation(top,left);this.toFront();},_recenter:function(event){if(this.modal&&this.centered){var pageSize=WindowUtilities.getPageSize();if($('overlay_modal')){$('overlay_modal').style.height=(pageSize.pageHeight+'px');$('overlay_modal').style.width=(pageSize.pageWidth+'px');}
this._center(this.centerTop,this.centerLeft);}},hide:function(){this.visible=false;if(this.modal){Windows.removeModalWindow(this);Windows.resetOverflow();}
this.oldStyle=this.getContent().getStyle('overflow')||"auto"
this.getContent().setStyle({overflow:"hidden"});this.options.hideEffect(this.element,this.options.hideEffectOptions);if(this.iefix)
this.iefix.hide();Windows.notify("onHide",this);},minimize:function(){var r2=$(this.getId()+"_row2");var dh=r2.getDimensions().height;if(r2.visible()){var h=this.element.getHeight()-dh
r2.hide()
this.element.setStyle({height:h+"px"})
if(!this.useTop){var bottom=parseFloat(this.element.getStyle('bottom'));this.element.setStyle({bottom:(bottom+dh)+'px'});}}
else{var h=this.element.getHeight()+dh;this.element.setStyle({height:h+"px"})
if(!this.useTop){var bottom=parseFloat(this.element.getStyle('bottom'));this.element.setStyle({bottom:(bottom-dh)+'px'});}
r2.show();this.toFront();}
Windows.notify("onMinimize",this);this._saveCookie()},maximize:function(){if(this.storedLocation!=null){this._restoreLocation();if(this.iefix)
this.iefix.hide();}
else{this._storeLocation();Windows.unsetOverflow(this);var windowScroll=WindowUtilities.getWindowScroll();var pageSize=WindowUtilities.getPageSize();this.element.setStyle(this.useLeft?{left:windowScroll.left}:{right:windowScroll.left});this.element.setStyle(this.useTop?{top:windowScroll.top}:{bottom:windowScroll.top});this.setSize(pageSize.windowWidth-this.widthW-this.widthE,pageSize.windowHeight-this.heightN-this.heightS)
this.toFront();if(this.iefix)
this._fixIEOverlapping();}
Windows.notify("onMaximize",this);this._saveCookie()},isMinimized:function(){var r2=$(this.getId()+"_row2");return!r2.visible();},isMaximized:function(){return(this.storedLocation!=null);},setOpacity:function(opacity){if(Element.setOpacity)
Element.setOpacity(this.element,opacity);},setZIndex:function(zindex){this.element.setStyle({zIndex:zindex});Windows.updateZindex(zindex,this);},setTitle:function(newTitle){if(!newTitle||newTitle=="")
newTitle="&nbsp;";Element.update(this.element.id+'_top',newTitle);},setStatusBar:function(element){var statusBar=$(this.getId()+"_bottom");if(typeof(element)=="object"){if(this.bottombar.firstChild)
this.bottombar.replaceChild(element,this.bottombar.firstChild);else
this.bottombar.appendChild(element);}
else
this.bottombar.innerHTML=element;},_checkIEOverlapping:function(){if(!this.iefix&&(navigator.appVersion.indexOf('MSIE')>0)&&(navigator.userAgent.indexOf('Opera')<0)&&(this.element.getStyle('position')=='absolute')){new Insertion.After(this.element.id,'<iframe id="'+this.element.id+'_iefix" '+'style="display:none;position:absolute;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);" '+'src="javascript:false;" frameborder="0" scrolling="no"></iframe>');this.iefix=$(this.element.id+'_iefix');}
if(this.iefix)
setTimeout(this._fixIEOverlapping.bind(this),50);},_fixIEOverlapping:function(){Position.clone(this.element,this.iefix);this.iefix.style.zIndex=this.element.style.zIndex-1;this.iefix.show();},_getWindowBorderSize:function(event){var div=this._createHiddenDiv(this.options.className+"_n")
this.heightN=Element.getDimensions(div).height;div.parentNode.removeChild(div)
var div=this._createHiddenDiv(this.options.className+"_s")
this.heightS=Element.getDimensions(div).height;div.parentNode.removeChild(div)
var div=this._createHiddenDiv(this.options.className+"_e")
this.widthE=Element.getDimensions(div).width;div.parentNode.removeChild(div)
var div=this._createHiddenDiv(this.options.className+"_w")
this.widthW=Element.getDimensions(div).width;div.parentNode.removeChild(div);if(/Konqueror|Safari|KHTML/.test(navigator.userAgent))
this.setSize(this.width,this.height);if(this.doMaximize)
this.maximize();if(this.doMinimize)
this.minimize();},_createHiddenDiv:function(className){var objBody=document.getElementsByTagName("body").item(0);var win=document.createElement("div");win.setAttribute('id',this.element.id+"_tmp");win.className=className;win.style.display='none';win.innerHTML='';objBody.insertBefore(win,objBody.firstChild);return win;},_storeLocation:function(){if(this.storedLocation==null){this.storedLocation={useTop:this.useTop,useLeft:this.useLeft,top:this.element.getStyle('top'),bottom:this.element.getStyle('bottom'),left:this.element.getStyle('left'),right:this.element.getStyle('right'),width:this.width,height:this.height};}},_restoreLocation:function(){if(this.storedLocation!=null){this.useLeft=this.storedLocation.useLeft;this.useTop=this.storedLocation.useTop;this.element.setStyle(this.useLeft?{left:this.storedLocation.left}:{right:this.storedLocation.right});this.element.setStyle(this.useTop?{top:this.storedLocation.top}:{bottom:this.storedLocation.bottom});this.setSize(this.storedLocation.width,this.storedLocation.height);Windows.resetOverflow();this._removeStoreLocation();}},_removeStoreLocation:function(){this.storedLocation=null;},_saveCookie:function(){if(this.cookie){var value="";if(this.useLeft)
value+="l:"+(this.storedLocation?this.storedLocation.left:this.element.getStyle('left'))
else
value+="r:"+(this.storedLocation?this.storedLocation.right:this.element.getStyle('right'))
if(this.useTop)
value+=",t:"+(this.storedLocation?this.storedLocation.top:this.element.getStyle('top'))
else
value+=",b:"+(this.storedLocation?this.storedLocation.bottom:this.element.getStyle('bottom'))
value+=","+(this.storedLocation?this.storedLocation.width:this.width);value+=","+(this.storedLocation?this.storedLocation.height:this.height);value+=","+this.isMinimized();value+=","+this.isMaximized();WindowUtilities.setCookie(value,this.cookie)}}};var Windows={windows:[],modalWindows:[],observers:[],focusedWindow:null,maxZIndex:0,addObserver:function(observer){this.removeObserver(observer);this.observers.push(observer);},removeObserver:function(observer){this.observers=this.observers.reject(function(o){return o==observer});},notify:function(eventName,win){this.observers.each(function(o){if(o[eventName])o[eventName](eventName,win);});},getWindow:function(id){return this.windows.detect(function(d){return d.getId()==id});},getFocusedWindow:function(){return this.focusedWindow;},register:function(win){this.windows.push(win);},addModalWindow:function(win){if(this.modalWindows.length==0)
WindowUtilities.disableScreen(win.options.className,'overlay_modal',win.getId());else{if(Window.keepMultiModalWindow){$('overlay_modal').style.zIndex=Windows.maxZIndex+20;Windows.maxZIndex+=20;WindowUtilities._hideSelect(this.modalWindows.last().getId());}
else
this.modalWindows.last().element.hide();WindowUtilities._showSelect(win.getId());}
this.modalWindows.push(win);},removeModalWindow:function(win){this.modalWindows.pop();if(this.modalWindows.length==0)
WindowUtilities.enableScreen();else{if(Window.keepMultiModalWindow){this.modalWindows.last().toFront();WindowUtilities._showSelect(this.modalWindows.last().getId());}
else
this.modalWindows.last().element.show();}},register:function(win){this.windows.push(win);},unregister:function(win){this.windows=this.windows.reject(function(d){return(d==win);});},close:function(id,event){var win=this.getWindow(id);if(win&&win.visible){if(win.getDelegate()&&!win.getDelegate().canClose(win))
return;this.notify("onClose",win);win.hide();}
if(event)
Event.stop(event);},closeAll:function(){this.windows.each(function(w){Windows.close(w.getId())});},closeAllModalWindows:function(){WindowUtilities.enableScreen();this.modalWindows.each(function(win){win.hide()});},minimize:function(id,event){var win=this.getWindow(id)
if(win&&win.visible)
win.minimize();Event.stop(event);},maximize:function(id,event){var win=this.getWindow(id)
if(win&&win.visible)
win.maximize();Event.stop(event);},unsetOverflow:function(except){this.windows.each(function(d){d.oldOverflow=d.getContent().getStyle("overflow")||"auto";d.getContent().setStyle({overflow:"hidden"})});if(except&&except.oldOverflow)
except.getContent().setStyle({overflow:except.oldOverflow});},resetOverflow:function(){this.windows.each(function(d){if(d.oldOverflow)d.getContent().setStyle({overflow:d.oldOverflow})});},updateZindex:function(zindex,win){if(zindex>this.maxZIndex)
this.maxZIndex=zindex;this.focusedWindow=win;}};var Dialog={dialogId:null,onCompleteFunc:null,callFunc:null,parameters:null,confirm:function(content,parameters){if(typeof content!="string"){Dialog._runAjaxRequest(content,parameters,Dialog.confirm);return}
parameters=parameters||{};var okLabel=parameters.okLabel?parameters.okLabel:"Ok";var cancelLabel=parameters.cancelLabel?parameters.cancelLabel:"Cancel";var windowParam=parameters.windowParameters||{};windowParam.className=windowParam.className||"alert";var okButtonClass="class ='"+(parameters.buttonClass?parameters.buttonClass+" ":"")+" ok_button'"
var cancelButtonClass="class ='"+(parameters.buttonClass?parameters.buttonClass+" ":"")+" cancel_button'"
var content="<div class='"+windowParam.className+"_message'>"+content+"</div><div class='"+windowParam.className+"_buttons'><input class='button_msg' type='button' id='"+Window.BUTTON_OK_NAME+"' name='"+Window.BUTTON_OK_NAME+"' value='"+okLabel+"' onclick='Dialog.okCallback()'"+okButtonClass+"/><input class='button_msg' type='button' id='button_cancel' name='button_cancel' value='"+cancelLabel+"' onclick='Dialog.cancelCallback()' "+cancelButtonClass+"/></div>";return this._openDialog(content,parameters)},alert:function(content,parameters){if(typeof content!="string"){Dialog._runAjaxRequest(content,parameters,Dialog.alert);return;}
parameters=parameters||{};var okLabel=parameters.okLabel?parameters.okLabel:"Ok";var windowParam=parameters.windowParameters||{};windowParam.className=windowParam.className||"alert";var okButtonClass="class='"+(parameters.buttonClass?parameters.buttonClass+" ":"")+" ok_button'"
var content="<div class='"+windowParam.className+"_message'>"+content+"</div><div class='"+windowParam.className+"_buttons'><input class='button_msg' id='button_alert' name='button_alert' type='button' value='"+okLabel+"' onclick='Dialog.okCallback()' "+okButtonClass+"/></div>";return this._openDialog(content,parameters)},info:function(content,parameters){if(typeof content!="string"){Dialog._runAjaxRequest(content,parameters,Dialog.info);return}
parameters=parameters||{};parameters.windowParameters=parameters.windowParameters||{};var className=parameters.windowParameters.className||"alert";var content="<div id='modal_dialog_message' class='"+className+"_message'>"+content+"</div>";if(parameters.showProgress)
content+="<div id='modal_dialog_progress' class='"+className+"_progress'> </div>";parameters.windowParameters.ok=null;parameters.windowParameters.cancel=null;parameters.windowParameters.className=className;return this._openDialog(content,parameters)},setInfoMessage:function(message){$('modal_dialog_message').update(message);},closeInfo:function(){Windows.close(this.dialogId);},_openDialog:function(content,parameters){if(!parameters.windowParameters.height&&!parameters.windowParameters.width){parameters.windowParameters.width=WindowUtilities.getPageSize().pageWidth/2;}
if(parameters.id)
this.dialogId=parameters.id;else{var t=new Date();this.dialogId='modal_dialog_'+t.getTime();}
if(!parameters.windowParameters.height||!parameters.windowParameters.width){var size=WindowUtilities._computeSize(content,this.dialogId,parameters.windowParameters.width,parameters.windowParameters.height);if(parameters.windowParameters.height)
parameters.windowParameters.width=size+5;else parameters.windowParameters.height=size+5;}
var windowParam=parameters&&parameters.windowParameters?parameters.windowParameters:{};windowParam.resizable=windowParam.resizable||false;windowParam.effectOptions=windowParam.effectOptions||{duration:1};windowParam.minimizable=false;windowParam.maximizable=false;windowParam.closable=false;var win=new Window(this.dialogId,windowParam);win.getContent().innerHTML=content;win.showCenter(true,parameters.top,parameters.left);win.setDestroyOnClose();win.cancelCallback=parameters.cancel;win.okCallback=parameters.ok;var inputs=win.getContent().getElementsByTagName("INPUT");if(inputs.length>0){try{if(inputs[0].type.toUpperCase()=='TEXT'){inputs[0].select();inputs[0].focus();}
else inputs[0].focus();}
catch(e){}}
return win;},_getAjaxContent:function(originalRequest){Dialog.callFunc(originalRequest.responseText,Dialog.parameters)},_runAjaxRequest:function(message,parameters,callFunc){if(message.options==null)
message.options={}
Dialog.onCompleteFunc=message.options.onComplete;Dialog.parameters=parameters;Dialog.callFunc=callFunc;message.options.onComplete=Dialog._getAjaxContent;new Ajax.Request(message.url,message.options);},okCallback:function(){var win=Windows.focusedWindow;try{if(!win.okCallback||win.okCallback(win)){$$("#"+win.getId()+" input").each(function(element){element.onclick=null;});win.hide();}}catch(e){try{$$("#"+win.getId()+" input").each(function(element){element.onclick=null;});win.hide();}
catch(e){}}},cancelCallback:function(){var win=Windows.focusedWindow;$$("#"+win.getId()+" input").each(function(element){element.onclick=null})
win.hide();if(win.cancelCallback)
win.cancelCallback(win);}}
var isIE=navigator.appVersion.match(/MSIE/)=="MSIE";var WindowUtilities={getWindowScroll:function(){var w=window;var T,L,W,H;with(w.document){if(w.document.documentElement&&documentElement.scrollTop){T=documentElement.scrollTop;L=documentElement.scrollLeft;}else if(w.document.body){T=body.scrollTop;L=body.scrollLeft;}
if(w.innerWidth){W=w.innerWidth;H=w.innerHeight;}else if(w.document.documentElement&&documentElement.clientWidth){W=documentElement.clientWidth;H=documentElement.clientHeight;}else{W=body.offsetWidth;H=body.offsetHeight}}
return{top:T,left:L,width:W,height:H};},getPageSize:function(){var xScroll,yScroll;if(window.innerHeight&&window.scrollMaxY){xScroll=document.body.scrollWidth;yScroll=window.innerHeight+window.scrollMaxY;}else if(document.body.scrollHeight>document.body.offsetHeight){xScroll=document.body.scrollWidth;yScroll=document.body.scrollHeight;}else{xScroll=document.body.offsetWidth;yScroll=document.body.offsetHeight;}
var windowWidth,windowHeight;if(self.innerHeight){windowWidth=self.innerWidth;windowHeight=self.innerHeight;}else if(document.documentElement&&document.documentElement.clientHeight){windowWidth=document.documentElement.clientWidth;windowHeight=document.documentElement.clientHeight;}else if(document.body){windowWidth=document.body.clientWidth;windowHeight=document.body.clientHeight;}
var pageHeight,pageWidth;if(yScroll<windowHeight){pageHeight=windowHeight;}else{pageHeight=yScroll;}
if(xScroll<windowWidth){pageWidth=windowWidth;}else{pageWidth=xScroll;}
return{pageWidth:pageWidth,pageHeight:pageHeight,windowWidth:windowWidth,windowHeight:windowHeight};},disableScreen:function(className,overlayId,contentId){WindowUtilities.initLightbox(overlayId,className);var objBody=document.getElementsByTagName("body").item(0);var objOverlay=$(overlayId);var pageSize=WindowUtilities.getPageSize();if(contentId&&isIE){try{WindowUtilities._hideSelect();WindowUtilities._showSelect(contentId);}catch(e){}}
objOverlay.style.height=(pageSize.pageHeight+'px');objOverlay.style.width=(pageSize.windowWidth+'px');objOverlay.style.display='block';},enableScreen:function(id){id=id||'overlay_modal';var objOverlay=$(id);if(objOverlay){objOverlay.style.display='none';if(id!="__invisible__")
WindowUtilities._showSelect();objOverlay.parentNode.removeChild(objOverlay);}},_hideSelect:function(id){if(isIE){id=id==null?"":"#"+id+" ";$$(id+'select').each(function(element){if(!WindowUtilities.isDefined(element.oldVisibility)){element.oldVisibility=element.style.visibility?element.style.visibility:"visible";element.style.visibility="hidden";}});}},_showSelect:function(id){if(isIE){id=id==null?"":"#"+id+" ";$$(id+'select').each(function(element){if(WindowUtilities.isDefined(element.oldVisibility)){try{element.style.visibility=element.oldVisibility;}catch(e){element.style.visibility="visible";}
element.oldVisibility=null;}
else{if(element.style.visibility)
element.style.visibility="visible";}});}},isDefined:function(object){return typeof(object)!="undefined"&&object!=null;},initLightbox:function(id,className){if($(id)){Element.setStyle(id,{zIndex:Windows.maxZIndex+10});}
else{var objBody=document.getElementsByTagName("body").item(0);var objOverlay=document.createElement("div");objOverlay.setAttribute('id',id);objOverlay.className="overlay_"+className
objOverlay.style.display='none';objOverlay.style.position='absolute';objOverlay.style.top='0';objOverlay.style.left='0';objOverlay.style.zIndex=Windows.maxZIndex+10;objOverlay.style.width='100%';objBody.insertBefore(objOverlay,objBody.firstChild);}},setCookie:function(value,parameters){document.cookie=parameters[0]+"="+escape(value)+
((parameters[1])?"; expires="+parameters[1].toGMTString():"")+
((parameters[2])?"; path="+parameters[2]:"")+
((parameters[3])?"; domain="+parameters[3]:"")+
((parameters[4])?"; secure":"");},getCookie:function(name){var dc=document.cookie;var prefix=name+"=";var begin=dc.indexOf("; "+prefix);if(begin==-1){begin=dc.indexOf(prefix);if(begin!=0)return null;}else{begin+=2;}
var end=document.cookie.indexOf(";",begin);if(end==-1){end=dc.length;}
return unescape(dc.substring(begin+prefix.length,end));},addCss:function(event,cssFile){if((typeof(cssFile)=="undefined")||(typeof(cssFile)=="string"&&cssFile.length==0))cssFile="default.css";if(typeof(cssPath)=="undefined")cssPath="";var h=$A(document.getElementsByTagName("link"));var bAddCss=true;h.each(function(lnk){if(lnk.href==cssFile||lnk.href==cssPath+cssFile)bAddCss=false;});if(bAddCss){var l=document.createElement("link");l.setAttribute("type","text/css");l.setAttribute("rel","stylesheet");l.setAttribute("href",cssPath+cssFile);l.setAttribute("media","screen");document.getElementsByTagName("head")[0].appendChild(l);}},_computeSize:function(content,id,width,height,margin){if(margin==null)
margin=25;var objBody=document.body;var tmpObj=document.createElement("div");tmpObj.setAttribute('id',id);if(height)
tmpObj.style.height=height+"px";else tmpObj.style.width=width+"px";tmpObj.style.position='absolute';tmpObj.style.top='0';tmpObj.style.left='0';tmpObj.style.display='none';tmpObj.innerHTML=content;objBody.insertBefore(tmpObj,objBody.firstChild);var size;if(height)
size=$(id).getDimensions().width+margin;else size=$(id).getDimensions().height+margin;objBody.removeChild(tmpObj);return size;}}
var WindowCloseKey={keyCode:Event.KEY_ESC,init:function(keyCode){if(keyCode)
WindowCloseKey.keyCode=keyCode;Event.observe(document,'keydown',this._closeCurrentWindow.bindAsEventListener(this));},_closeCurrentWindow:function(event){var e=event||window.event
var characterCode=e.which||e.keyCode;var win=Windows.focusedWindow;if(characterCode==WindowCloseKey.keyCode&&win){if(characterCode==Event.KEY_ESC&&win.cancelCallback)
Dialog.cancelCallback();else Windows.close(Windows.focusedWindow.getId());}}};WindowCloseKey.init();
var Builder={NODEMAP:{AREA:'map',CAPTION:'table',COL:'table',COLGROUP:'table',LEGEND:'fieldset',OPTGROUP:'select',OPTION:'select',PARAM:'object',TBODY:'table',TD:'table',TFOOT:'table',TH:'table',THEAD:'table',TR:'table'},node:function(elementName){elementName=elementName.toUpperCase();var parentTag=this.NODEMAP[elementName]||'div';var parentElement=document.createElement(parentTag);try{parentElement.innerHTML="<"+elementName+"></"+elementName+">";}catch(e){}
var element=parentElement.firstChild||null;if(element&&(element.tagName.toUpperCase()!=elementName))
element=element.getElementsByTagName(elementName)[0];if(!element)element=document.createElement(elementName);if(!element)return;if(arguments[1])
if(this._isStringOrNumber(arguments[1])||(arguments[1]instanceof Array)||arguments[1].tagName){this._children(element,arguments[1]);}else{var attrs=this._attributes(arguments[1]);if(attrs.length){try{parentElement.innerHTML="<"+elementName+" "+
attrs+"></"+elementName+">";}catch(e){}
element=parentElement.firstChild||null;if(!element){element=document.createElement(elementName);for(attr in arguments[1])
element[attr=='class'?'className':attr]=arguments[1][attr];}
if(element.tagName.toUpperCase()!=elementName)
element=parentElement.getElementsByTagName(elementName)[0];}}
if(arguments[2])
this._children(element,arguments[2]);return element;},_text:function(text){return document.createTextNode(text);},ATTR_MAP:{'className':'class','htmlFor':'for'},_attributes:function(attributes){var attrs=[];for(attribute in attributes)
attrs.push((attribute in this.ATTR_MAP?this.ATTR_MAP[attribute]:attribute)+'="'+attributes[attribute].toString().escapeHTML().gsub(/"/,'&quot;')+'"');return attrs.join(" ");},_children:function(element,children){if(children.tagName){element.appendChild(children);return;}
if(typeof children=='object'){children.flatten().each(function(e){if(typeof e=='object')
element.appendChild(e)
else
if(Builder._isStringOrNumber(e))
element.appendChild(Builder._text(e));});}else
if(Builder._isStringOrNumber(children))
element.appendChild(Builder._text(children));},_isStringOrNumber:function(param){return(typeof param=='string'||typeof param=='number');},build:function(html){var element=this.node('div');$(element).update(html.strip());return element.down();},dump:function(scope){if(typeof scope!='object'&&typeof scope!='function')scope=window;var tags=("A ABBR ACRONYM ADDRESS APPLET AREA B BASE BASEFONT BDO BIG BLOCKQUOTE BODY "+"BR BUTTON CAPTION CENTER CITE CODE COL COLGROUP DD DEL DFN DIR DIV DL DT EM FIELDSET "+"FONT FORM FRAME FRAMESET H1 H2 H3 H4 H5 H6 HEAD HR HTML I IFRAME IMG INPUT INS ISINDEX "+"KBD LABEL LEGEND LI LINK MAP MENU META NOFRAMES NOSCRIPT OBJECT OL OPTGROUP OPTION P "+"PARAM PRE Q S SAMP SCRIPT SELECT SMALL SPAN STRIKE STRONG STYLE SUB SUP TABLE TBODY TD "+"TEXTAREA TFOOT TH THEAD TITLE TR TT U UL VAR").split(/\s+/);tags.each(function(tag){scope[tag]=function(){return Builder.node.apply(Builder,[tag].concat($A(arguments)));}});}}
String.prototype.parseColor=function(){var color='#';if(this.slice(0,4)=='rgb('){var cols=this.slice(4,this.length-1).split(',');var i=0;do{color+=parseInt(cols[i]).toColorPart()}while(++i<3);}else{if(this.slice(0,1)=='#'){if(this.length==4)for(var i=1;i<4;i++)color+=(this.charAt(i)+this.charAt(i)).toLowerCase();if(this.length==7)color=this.toLowerCase();}}
return(color.length==7?color:(arguments[0]||this));}
Element.collectTextNodes=function(element){return $A($(element).childNodes).collect(function(node){return(node.nodeType==3?node.nodeValue:(node.hasChildNodes()?Element.collectTextNodes(node):''));}).flatten().join('');}
Element.collectTextNodesIgnoreClass=function(element,className){return $A($(element).childNodes).collect(function(node){return(node.nodeType==3?node.nodeValue:((node.hasChildNodes()&&!Element.hasClassName(node,className))?Element.collectTextNodesIgnoreClass(node,className):''));}).flatten().join('');}
Element.setContentZoom=function(element,percent){element=$(element);element.setStyle({fontSize:(percent/100)+'em'});if(navigator.appVersion.indexOf('AppleWebKit')>0)window.scrollBy(0,0);return element;}
Element.getOpacity=function(element){return $(element).getStyle('opacity');}
Element.setOpacity=function(element,value){return $(element).setStyle({opacity:value});}
Element.getInlineOpacity=function(element){return $(element).style.opacity||'';}
Element.forceRerendering=function(element){try{element=$(element);var n=document.createTextNode(' ');element.appendChild(n);element.removeChild(n);}catch(e){}};Array.prototype.call=function(){var args=arguments;this.each(function(f){f.apply(this,args)});}
var Effect={_elementDoesNotExistError:{name:'ElementDoesNotExistError',message:'The specified DOM element does not exist, but is required for this effect to operate'},tagifyText:function(element){if(typeof Builder=='undefined')
throw("Effect.tagifyText requires including script.aculo.us' builder.js library");var tagifyStyle='position:relative';if(/MSIE/.test(navigator.userAgent)&&!window.opera)tagifyStyle+=';zoom:1';element=$(element);$A(element.childNodes).each(function(child){if(child.nodeType==3){child.nodeValue.toArray().each(function(character){element.insertBefore(Builder.node('span',{style:tagifyStyle},character==' '?String.fromCharCode(160):character),child);});Element.remove(child);}});},multiple:function(element,effect){var elements;if(((typeof element=='object')||(typeof element=='function'))&&(element.length))
elements=element;else
elements=$(element).childNodes;var options=Object.extend({speed:0.1,delay:0.0},arguments[2]||{});var masterDelay=options.delay;$A(elements).each(function(element,index){new effect(element,Object.extend(options,{delay:index*options.speed+masterDelay}));});},PAIRS:{'slide':['SlideDown','SlideUp'],'blind':['BlindDown','BlindUp'],'appear':['Appear','Fade']},toggle:function(element,effect){element=$(element);effect=(effect||'appear').toLowerCase();var options=Object.extend({queue:{position:'end',scope:(element.id||'global'),limit:1}},arguments[2]||{});Effect[element.visible()?Effect.PAIRS[effect][1]:Effect.PAIRS[effect][0]](element,options);}};var Effect2=Effect;Effect.Transitions={linear:Prototype.K,sinoidal:function(pos){return(-Math.cos(pos*Math.PI)/2)+0.5;},reverse:function(pos){return 1-pos;},flicker:function(pos){return((-Math.cos(pos*Math.PI)/4)+0.75)+Math.random()/4;},wobble:function(pos){return(-Math.cos(pos*Math.PI*(9*pos))/2)+0.5;},pulse:function(pos,pulses){pulses=pulses||5;return(Math.round((pos%(1/pulses))*pulses)==0?((pos*pulses*2)-Math.floor(pos*pulses*2)):1-((pos*pulses*2)-Math.floor(pos*pulses*2)));},none:function(pos){return 0;},full:function(pos){return 1;}};Effect.ScopedQueue=Class.create();Object.extend(Object.extend(Effect.ScopedQueue.prototype,Enumerable),{initialize:function(){this.effects=[];this.interval=null;},_each:function(iterator){this.effects._each(iterator);},add:function(effect){var timestamp=new Date().getTime();var position=(typeof effect.options.queue=='string')?effect.options.queue:effect.options.queue.position;switch(position){case'front':this.effects.findAll(function(e){return e.state=='idle'}).each(function(e){e.startOn+=effect.finishOn;e.finishOn+=effect.finishOn;});break;case'with-last':timestamp=this.effects.pluck('startOn').max()||timestamp;break;case'end':timestamp=this.effects.pluck('finishOn').max()||timestamp;break;}
effect.startOn+=timestamp;effect.finishOn+=timestamp;if(!effect.options.queue.limit||(this.effects.length<effect.options.queue.limit))
this.effects.push(effect);if(!this.interval)
this.interval=setInterval(this.loop.bind(this),15);},remove:function(effect){this.effects=this.effects.reject(function(e){return e==effect});if(this.effects.length==0){clearInterval(this.interval);this.interval=null;}},loop:function(){var timePos=new Date().getTime();for(var i=0,len=this.effects.length;i<len;i++)
if(this.effects[i])this.effects[i].loop(timePos);}});Effect.Queues={instances:$H(),get:function(queueName){if(typeof queueName!='string')return queueName;if(!this.instances[queueName])
this.instances[queueName]=new Effect.ScopedQueue();return this.instances[queueName];}}
Effect.Queue=Effect.Queues.get('global');Effect.DefaultOptions={transition:Effect.Transitions.sinoidal,duration:1.0,fps:60.0,sync:false,from:0.0,to:1.0,delay:0.0,queue:'parallel'}
Effect.Base=function(){};Effect.Base.prototype={position:null,start:function(options){this.options=Object.extend(Object.extend({},Effect.DefaultOptions),options||{});this.currentFrame=0;this.state='idle';this.startOn=this.options.delay*1000;this.finishOn=this.startOn+(this.options.duration*1000);this.event('beforeStart');if(!this.options.sync)
Effect.Queues.get(typeof this.options.queue=='string'?'global':this.options.queue.scope).add(this);},loop:function(timePos){if(timePos>=this.startOn){if(timePos>=this.finishOn){this.render(1.0);this.cancel();this.event('beforeFinish');if(this.finish)this.finish();this.event('afterFinish');return;}
var pos=(timePos-this.startOn)/(this.finishOn-this.startOn);var frame=Math.round(pos*this.options.fps*this.options.duration);if(frame>this.currentFrame){this.render(pos);this.currentFrame=frame;}}},render:function(pos){if(this.state=='idle'){this.state='running';this.event('beforeSetup');if(this.setup)this.setup();this.event('afterSetup');}
if(this.state=='running'){if(this.options.transition)pos=this.options.transition(pos);pos*=(this.options.to-this.options.from);pos+=this.options.from;this.position=pos;this.event('beforeUpdate');if(this.update)this.update(pos);this.event('afterUpdate');}},cancel:function(){if(!this.options.sync)
Effect.Queues.get(typeof this.options.queue=='string'?'global':this.options.queue.scope).remove(this);this.state='finished';},event:function(eventName){if(this.options[eventName+'Internal'])this.options[eventName+'Internal'](this);if(this.options[eventName])this.options[eventName](this);},inspect:function(){var data=$H();for(property in this)
if(typeof this[property]!='function')data[property]=this[property];return'#<Effect:'+data.inspect()+',options:'+$H(this.options).inspect()+'>';}}
Effect.Parallel=Class.create();Object.extend(Object.extend(Effect.Parallel.prototype,Effect.Base.prototype),{initialize:function(effects){this.effects=effects||[];this.start(arguments[1]);},update:function(position){this.effects.invoke('render',position);},finish:function(position){this.effects.each(function(effect){effect.render(1.0);effect.cancel();effect.event('beforeFinish');if(effect.finish)effect.finish(position);effect.event('afterFinish');});}});Effect.Event=Class.create();Object.extend(Object.extend(Effect.Event.prototype,Effect.Base.prototype),{initialize:function(){var options=Object.extend({duration:0},arguments[0]||{});this.start(options);},update:Prototype.emptyFunction});Effect.Opacity=Class.create();Object.extend(Object.extend(Effect.Opacity.prototype,Effect.Base.prototype),{initialize:function(element){this.element=$(element);if(!this.element)throw(Effect._elementDoesNotExistError);if(/MSIE/.test(navigator.userAgent)&&!window.opera&&(!this.element.currentStyle.hasLayout))
this.element.setStyle({zoom:1});var options=Object.extend({from:this.element.getOpacity()||0.0,to:1.0},arguments[1]||{});this.start(options);},update:function(position){this.element.setOpacity(position);}});Effect.Move=Class.create();Object.extend(Object.extend(Effect.Move.prototype,Effect.Base.prototype),{initialize:function(element){this.element=$(element);if(!this.element)throw(Effect._elementDoesNotExistError);var options=Object.extend({x:0,y:0,mode:'relative'},arguments[1]||{});this.start(options);},setup:function(){this.element.makePositioned();this.originalLeft=parseFloat(this.element.getStyle('left')||'0');this.originalTop=parseFloat(this.element.getStyle('top')||'0');if(this.options.mode=='absolute'){this.options.x=this.options.x-this.originalLeft;this.options.y=this.options.y-this.originalTop;}},update:function(position){this.element.setStyle({left:Math.round(this.options.x*position+this.originalLeft)+'px',top:Math.round(this.options.y*position+this.originalTop)+'px'});}});Effect.MoveBy=function(element,toTop,toLeft){return new Effect.Move(element,Object.extend({x:toLeft,y:toTop},arguments[3]||{}));};Effect.Scale=Class.create();Object.extend(Object.extend(Effect.Scale.prototype,Effect.Base.prototype),{initialize:function(element,percent){this.element=$(element);if(!this.element)throw(Effect._elementDoesNotExistError);var options=Object.extend({scaleX:true,scaleY:true,scaleContent:true,scaleFromCenter:false,scaleMode:'box',scaleFrom:100.0,scaleTo:percent},arguments[2]||{});this.start(options);},setup:function(){this.restoreAfterFinish=this.options.restoreAfterFinish||false;this.elementPositioning=this.element.getStyle('position');this.originalStyle={};['top','left','width','height','fontSize'].each(function(k){this.originalStyle[k]=this.element.style[k];}.bind(this));this.originalTop=this.element.offsetTop;this.originalLeft=this.element.offsetLeft;var fontSize=this.element.getStyle('font-size')||'100%';['em','px','%','pt'].each(function(fontSizeType){if(fontSize.indexOf(fontSizeType)>0){this.fontSize=parseFloat(fontSize);this.fontSizeType=fontSizeType;}}.bind(this));this.factor=(this.options.scaleTo-this.options.scaleFrom)/100;this.dims=null;if(this.options.scaleMode=='box')
this.dims=[this.element.offsetHeight,this.element.offsetWidth];if(/^content/.test(this.options.scaleMode))
this.dims=[this.element.scrollHeight,this.element.scrollWidth];if(!this.dims)
this.dims=[this.options.scaleMode.originalHeight,this.options.scaleMode.originalWidth];},update:function(position){var currentScale=(this.options.scaleFrom/100.0)+(this.factor*position);if(this.options.scaleContent&&this.fontSize)
this.element.setStyle({fontSize:this.fontSize*currentScale+this.fontSizeType});this.setDimensions(this.dims[0]*currentScale,this.dims[1]*currentScale);},finish:function(position){if(this.restoreAfterFinish)this.element.setStyle(this.originalStyle);},setDimensions:function(height,width){var d={};if(this.options.scaleX)d.width=Math.round(width)+'px';if(this.options.scaleY)d.height=Math.round(height)+'px';if(this.options.scaleFromCenter){var topd=(height-this.dims[0])/2;var leftd=(width-this.dims[1])/2;if(this.elementPositioning=='absolute'){if(this.options.scaleY)d.top=this.originalTop-topd+'px';if(this.options.scaleX)d.left=this.originalLeft-leftd+'px';}else{if(this.options.scaleY)d.top=-topd+'px';if(this.options.scaleX)d.left=-leftd+'px';}}
this.element.setStyle(d);}});Effect.Highlight=Class.create();Object.extend(Object.extend(Effect.Highlight.prototype,Effect.Base.prototype),{initialize:function(element){this.element=$(element);if(!this.element)throw(Effect._elementDoesNotExistError);var options=Object.extend({startcolor:'#ffff99'},arguments[1]||{});this.start(options);},setup:function(){if(this.element.getStyle('display')=='none'){this.cancel();return;}
this.oldStyle={};if(!this.options.keepBackgroundImage){this.oldStyle.backgroundImage=this.element.getStyle('background-image');this.element.setStyle({backgroundImage:'none'});}
if(!this.options.endcolor)
this.options.endcolor=this.element.getStyle('background-color').parseColor('#ffffff');if(!this.options.restorecolor)
this.options.restorecolor=this.element.getStyle('background-color');this._base=$R(0,2).map(function(i){return parseInt(this.options.startcolor.slice(i*2+1,i*2+3),16)}.bind(this));this._delta=$R(0,2).map(function(i){return parseInt(this.options.endcolor.slice(i*2+1,i*2+3),16)-this._base[i]}.bind(this));},update:function(position){this.element.setStyle({backgroundColor:$R(0,2).inject('#',function(m,v,i){return m+(Math.round(this._base[i]+(this._delta[i]*position)).toColorPart());}.bind(this))});},finish:function(){this.element.setStyle(Object.extend(this.oldStyle,{backgroundColor:this.options.restorecolor}));}});Effect.ScrollTo=Class.create();Object.extend(Object.extend(Effect.ScrollTo.prototype,Effect.Base.prototype),{initialize:function(element){this.element=$(element);this.start(arguments[1]||{});},setup:function(){Position.prepare();var offsets=Position.cumulativeOffset(this.element);if(this.options.offset)offsets[1]+=this.options.offset;var max=window.innerHeight?window.height-window.innerHeight:document.body.scrollHeight-
(document.documentElement.clientHeight?document.documentElement.clientHeight:document.body.clientHeight);this.scrollStart=Position.deltaY;this.delta=(offsets[1]>max?max:offsets[1])-this.scrollStart;},update:function(position){Position.prepare();window.scrollTo(Position.deltaX,this.scrollStart+(position*this.delta));}});Effect.Fade=function(element){element=$(element);var oldOpacity=element.getInlineOpacity();var options=Object.extend({from:element.getOpacity()||1.0,to:0.0,afterFinishInternal:function(effect){if(effect.options.to!=0)return;effect.element.hide().setStyle({opacity:oldOpacity});}},arguments[1]||{});return new Effect.Opacity(element,options);}
Effect.Appear=function(element){element=$(element);var options=Object.extend({from:(element.getStyle('display')=='none'?0.0:element.getOpacity()||0.0),to:1.0,afterFinishInternal:function(effect){effect.element.forceRerendering();},beforeSetup:function(effect){effect.element.setOpacity(effect.options.from).show();}},arguments[1]||{});return new Effect.Opacity(element,options);}
Effect.Puff=function(element){element=$(element);var oldStyle={opacity:element.getInlineOpacity(),position:element.getStyle('position'),top:element.style.top,left:element.style.left,width:element.style.width,height:element.style.height};return new Effect.Parallel([new Effect.Scale(element,200,{sync:true,scaleFromCenter:true,scaleContent:true,restoreAfterFinish:true}),new Effect.Opacity(element,{sync:true,to:0.0})],Object.extend({duration:1.0,beforeSetupInternal:function(effect){Position.absolutize(effect.effects[0].element)},afterFinishInternal:function(effect){effect.effects[0].element.hide().setStyle(oldStyle);}},arguments[1]||{}));}
Effect.BlindUp=function(element){element=$(element);element.makeClipping();return new Effect.Scale(element,0,Object.extend({scaleContent:false,scaleX:false,restoreAfterFinish:true,afterFinishInternal:function(effect){effect.element.hide().undoClipping();}},arguments[1]||{}));}
Effect.BlindDown=function(element){element=$(element);var elementDimensions=element.getDimensions();return new Effect.Scale(element,100,Object.extend({scaleContent:false,scaleX:false,scaleFrom:0,scaleMode:{originalHeight:elementDimensions.height,originalWidth:elementDimensions.width},restoreAfterFinish:true,afterSetup:function(effect){effect.element.makeClipping().setStyle({height:'0px'}).show();},afterFinishInternal:function(effect){effect.element.undoClipping();}},arguments[1]||{}));}
Effect.SwitchOff=function(element){element=$(element);var oldOpacity=element.getInlineOpacity();return new Effect.Appear(element,Object.extend({duration:0.4,from:0,transition:Effect.Transitions.flicker,afterFinishInternal:function(effect){new Effect.Scale(effect.element,1,{duration:0.3,scaleFromCenter:true,scaleX:false,scaleContent:false,restoreAfterFinish:true,beforeSetup:function(effect){effect.element.makePositioned().makeClipping();},afterFinishInternal:function(effect){effect.element.hide().undoClipping().undoPositioned().setStyle({opacity:oldOpacity});}})}},arguments[1]||{}));}
Effect.DropOut=function(element){element=$(element);var oldStyle={top:element.getStyle('top'),left:element.getStyle('left'),opacity:element.getInlineOpacity()};return new Effect.Parallel([new Effect.Move(element,{x:0,y:100,sync:true}),new Effect.Opacity(element,{sync:true,to:0.0})],Object.extend({duration:0.5,beforeSetup:function(effect){effect.effects[0].element.makePositioned();},afterFinishInternal:function(effect){effect.effects[0].element.hide().undoPositioned().setStyle(oldStyle);}},arguments[1]||{}));}
Effect.Shake=function(element){element=$(element);var oldStyle={top:element.getStyle('top'),left:element.getStyle('left')};return new Effect.Move(element,{x:20,y:0,duration:0.05,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:-40,y:0,duration:0.1,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:40,y:0,duration:0.1,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:-40,y:0,duration:0.1,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:40,y:0,duration:0.1,afterFinishInternal:function(effect){new Effect.Move(effect.element,{x:-20,y:0,duration:0.05,afterFinishInternal:function(effect){effect.element.undoPositioned().setStyle(oldStyle);}})}})}})}})}})}});}
Effect.SlideDown=function(element){element=$(element).cleanWhitespace();var oldInnerBottom=element.down().getStyle('bottom');var elementDimensions=element.getDimensions();return new Effect.Scale(element,100,Object.extend({scaleContent:false,scaleX:false,scaleFrom:window.opera?0:1,scaleMode:{originalHeight:elementDimensions.height,originalWidth:elementDimensions.width},restoreAfterFinish:true,afterSetup:function(effect){effect.element.makePositioned();effect.element.down().makePositioned();if(window.opera)effect.element.setStyle({top:''});effect.element.makeClipping().setStyle({height:'0px'}).show();},afterUpdateInternal:function(effect){effect.element.down().setStyle({bottom:(effect.dims[0]-effect.element.clientHeight)+'px'});},afterFinishInternal:function(effect){effect.element.undoClipping().undoPositioned();effect.element.down().undoPositioned().setStyle({bottom:oldInnerBottom});}},arguments[1]||{}));}
Effect.SlideUp=function(element){element=$(element).cleanWhitespace();var oldInnerBottom=element.down().getStyle('bottom');return new Effect.Scale(element,window.opera?0:1,Object.extend({scaleContent:false,scaleX:false,scaleMode:'box',scaleFrom:100,restoreAfterFinish:true,beforeStartInternal:function(effect){effect.element.makePositioned();effect.element.down().makePositioned();if(window.opera)effect.element.setStyle({top:''});effect.element.makeClipping().show();},afterUpdateInternal:function(effect){effect.element.down().setStyle({bottom:(effect.dims[0]-effect.element.clientHeight)+'px'});},afterFinishInternal:function(effect){effect.element.hide().undoClipping().undoPositioned().setStyle({bottom:oldInnerBottom});effect.element.down().undoPositioned();}},arguments[1]||{}));}
Effect.Squish=function(element){return new Effect.Scale(element,window.opera?1:0,{restoreAfterFinish:true,beforeSetup:function(effect){effect.element.makeClipping();},afterFinishInternal:function(effect){effect.element.hide().undoClipping();}});}
Effect.Grow=function(element){element=$(element);var options=Object.extend({direction:'center',moveTransition:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.full},arguments[1]||{});var oldStyle={top:element.style.top,left:element.style.left,height:element.style.height,width:element.style.width,opacity:element.getInlineOpacity()};var dims=element.getDimensions();var initialMoveX,initialMoveY;var moveX,moveY;switch(options.direction){case'top-left':initialMoveX=initialMoveY=moveX=moveY=0;break;case'top-right':initialMoveX=dims.width;initialMoveY=moveY=0;moveX=-dims.width;break;case'bottom-left':initialMoveX=moveX=0;initialMoveY=dims.height;moveY=-dims.height;break;case'bottom-right':initialMoveX=dims.width;initialMoveY=dims.height;moveX=-dims.width;moveY=-dims.height;break;case'center':initialMoveX=dims.width/2;initialMoveY=dims.height/2;moveX=-dims.width/2;moveY=-dims.height/2;break;}
return new Effect.Move(element,{x:initialMoveX,y:initialMoveY,duration:0.01,beforeSetup:function(effect){effect.element.hide().makeClipping().makePositioned();},afterFinishInternal:function(effect){new Effect.Parallel([new Effect.Opacity(effect.element,{sync:true,to:1.0,from:0.0,transition:options.opacityTransition}),new Effect.Move(effect.element,{x:moveX,y:moveY,sync:true,transition:options.moveTransition}),new Effect.Scale(effect.element,100,{scaleMode:{originalHeight:dims.height,originalWidth:dims.width},sync:true,scaleFrom:window.opera?1:0,transition:options.scaleTransition,restoreAfterFinish:true})],Object.extend({beforeSetup:function(effect){effect.effects[0].element.setStyle({height:'0px'}).show();},afterFinishInternal:function(effect){effect.effects[0].element.undoClipping().undoPositioned().setStyle(oldStyle);}},options))}});}
Effect.Shrink=function(element){element=$(element);var options=Object.extend({direction:'center',moveTransition:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.none},arguments[1]||{});var oldStyle={top:element.style.top,left:element.style.left,height:element.style.height,width:element.style.width,opacity:element.getInlineOpacity()};var dims=element.getDimensions();var moveX,moveY;switch(options.direction){case'top-left':moveX=moveY=0;break;case'top-right':moveX=dims.width;moveY=0;break;case'bottom-left':moveX=0;moveY=dims.height;break;case'bottom-right':moveX=dims.width;moveY=dims.height;break;case'center':moveX=dims.width/2;moveY=dims.height/2;break;}
return new Effect.Parallel([new Effect.Opacity(element,{sync:true,to:0.0,from:1.0,transition:options.opacityTransition}),new Effect.Scale(element,window.opera?1:0,{sync:true,transition:options.scaleTransition,restoreAfterFinish:true}),new Effect.Move(element,{x:moveX,y:moveY,sync:true,transition:options.moveTransition})],Object.extend({beforeStartInternal:function(effect){effect.effects[0].element.makePositioned().makeClipping();},afterFinishInternal:function(effect){effect.effects[0].element.hide().undoClipping().undoPositioned().setStyle(oldStyle);}},options));}
Effect.Pulsate=function(element){element=$(element);var options=arguments[1]||{};var oldOpacity=element.getInlineOpacity();var transition=options.transition||Effect.Transitions.sinoidal;var reverser=function(pos){return transition(1-Effect.Transitions.pulse(pos,options.pulses))};reverser.bind(transition);return new Effect.Opacity(element,Object.extend(Object.extend({duration:2.0,from:0,afterFinishInternal:function(effect){effect.element.setStyle({opacity:oldOpacity});}},options),{transition:reverser}));}
Effect.Fold=function(element){element=$(element);var oldStyle={top:element.style.top,left:element.style.left,width:element.style.width,height:element.style.height};element.makeClipping();return new Effect.Scale(element,5,Object.extend({scaleContent:false,scaleX:false,afterFinishInternal:function(effect){new Effect.Scale(element,1,{scaleContent:false,scaleY:false,afterFinishInternal:function(effect){effect.element.hide().undoClipping().setStyle(oldStyle);}});}},arguments[1]||{}));};Effect.Morph=Class.create();Object.extend(Object.extend(Effect.Morph.prototype,Effect.Base.prototype),{initialize:function(element){this.element=$(element);if(!this.element)throw(Effect._elementDoesNotExistError);var options=Object.extend({style:{}},arguments[1]||{});if(typeof options.style=='string'){if(options.style.indexOf(':')==-1){var cssText='',selector='.'+options.style;$A(document.styleSheets).reverse().each(function(styleSheet){if(styleSheet.cssRules)cssRules=styleSheet.cssRules;else if(styleSheet.rules)cssRules=styleSheet.rules;$A(cssRules).reverse().each(function(rule){if(selector==rule.selectorText){cssText=rule.style.cssText;throw $break;}});if(cssText)throw $break;});this.style=cssText.parseStyle();options.afterFinishInternal=function(effect){effect.element.addClassName(effect.options.style);effect.transforms.each(function(transform){if(transform.style!='opacity')
effect.element.style[transform.style.camelize()]='';});}}else this.style=options.style.parseStyle();}else this.style=$H(options.style)
this.start(options);},setup:function(){function parseColor(color){if(!color||['rgba(0, 0, 0, 0)','transparent'].include(color))color='#ffffff';color=color.parseColor();return $R(0,2).map(function(i){return parseInt(color.slice(i*2+1,i*2+3),16)});}
this.transforms=this.style.map(function(pair){var property=pair[0].underscore().dasherize(),value=pair[1],unit=null;if(value.parseColor('#zzzzzz')!='#zzzzzz'){value=value.parseColor();unit='color';}else if(property=='opacity'){value=parseFloat(value);if(/MSIE/.test(navigator.userAgent)&&!window.opera&&(!this.element.currentStyle.hasLayout))
this.element.setStyle({zoom:1});}else if(Element.CSS_LENGTH.test(value))
var components=value.match(/^([\+\-]?[0-9\.]+)(.*)$/),value=parseFloat(components[1]),unit=(components.length==3)?components[2]:null;var originalValue=this.element.getStyle(property);return $H({style:property,originalValue:unit=='color'?parseColor(originalValue):parseFloat(originalValue||0),targetValue:unit=='color'?parseColor(value):value,unit:unit});}.bind(this)).reject(function(transform){return((transform.originalValue==transform.targetValue)||(transform.unit!='color'&&(isNaN(transform.originalValue)||isNaN(transform.targetValue))))});},update:function(position){var style=$H(),value=null;this.transforms.each(function(transform){value=transform.unit=='color'?$R(0,2).inject('#',function(m,v,i){return m+(Math.round(transform.originalValue[i]+
(transform.targetValue[i]-transform.originalValue[i])*position)).toColorPart()}):transform.originalValue+Math.round(((transform.targetValue-transform.originalValue)*position)*1000)/1000+transform.unit;style[transform.style]=value;});this.element.setStyle(style);}});Effect.Transform=Class.create();Object.extend(Effect.Transform.prototype,{initialize:function(tracks){this.tracks=[];this.options=arguments[1]||{};this.addTracks(tracks);},addTracks:function(tracks){tracks.each(function(track){var data=$H(track).values().first();this.tracks.push($H({ids:$H(track).keys().first(),effect:Effect.Morph,options:{style:data}}));}.bind(this));return this;},play:function(){return new Effect.Parallel(this.tracks.map(function(track){var elements=[$(track.ids)||$$(track.ids)].flatten();return elements.map(function(e){return new track.effect(e,Object.extend({sync:true},track.options))});}).flatten(),this.options);}});Element.CSS_PROPERTIES=$w('backgroundColor backgroundPosition borderBottomColor borderBottomStyle '+'borderBottomWidth borderLeftColor borderLeftStyle borderLeftWidth '+'borderRightColor borderRightStyle borderRightWidth borderSpacing '+'borderTopColor borderTopStyle borderTopWidth bottom clip color '+'fontSize fontWeight height left letterSpacing lineHeight '+'marginBottom marginLeft marginRight marginTop markerOffset maxHeight '+'maxWidth minHeight minWidth opacity outlineColor outlineOffset '+'outlineWidth paddingBottom paddingLeft paddingRight paddingTop '+'right textIndent top width wordSpacing zIndex');Element.CSS_LENGTH=/^(([\+\-]?[0-9\.]+)(em|ex|px|in|cm|mm|pt|pc|\%))|0$/;String.prototype.parseStyle=function(){var element=Element.extend(document.createElement('div'));element.innerHTML='<div style="'+this+'"></div>';var style=element.down().style,styleRules=$H();Element.CSS_PROPERTIES.each(function(property){if(style[property])styleRules[property]=style[property];});if(/MSIE/.test(navigator.userAgent)&&!window.opera&&this.indexOf('opacity')>-1){styleRules.opacity=this.match(/opacity:\s*((?:0|1)?(?:\.\d*)?)/)[1];}
return styleRules;};Element.morph=function(element,style){new Effect.Morph(element,Object.extend({style:style},arguments[2]||{}));return element;};['setOpacity','getOpacity','getInlineOpacity','forceRerendering','setContentZoom','collectTextNodes','collectTextNodesIgnoreClass','morph'].each(function(f){Element.Methods[f]=Element[f];});Element.Methods.visualEffect=function(element,effect,options){s=effect.gsub(/_/,'-').camelize();effect_class=s.charAt(0).toUpperCase()+s.substring(1);new Effect[effect_class](element,options);return $(element);};Element.addMethods();
if(typeof Effect=='undefined')
throw("controls.js requires including script.aculo.us' effects.js library");var Autocompleter={}
Autocompleter.Base=function(){};Autocompleter.Base.prototype={baseInitialize:function(element,update,options){this.element=$(element);this.update=$(update);this.hasFocus=false;this.changed=false;this.active=false;this.index=0;this.entryCount=0;if(this.setOptions)
this.setOptions(options);else
this.options=options||{};this.options.paramName=this.options.paramName||this.element.name;this.options.tokens=this.options.tokens||[];this.options.frequency=this.options.frequency||0.4;this.options.minChars=this.options.minChars||1;this.options.onShow=this.options.onShow||function(element,update){if(!update.style.position||update.style.position=='absolute'){update.style.position='absolute';Position.clone(element,update,{setHeight:false,offsetTop:element.offsetHeight});}
Effect.Appear(update,{duration:0.15});};this.options.onHide=this.options.onHide||function(element,update){new Effect.Fade(update,{duration:0.15})};if(typeof(this.options.tokens)=='string')
this.options.tokens=new Array(this.options.tokens);this.observer=null;this.element.setAttribute('autocomplete','off');Element.hide(this.update);Event.observe(this.element,"blur",this.onBlur.bindAsEventListener(this));Event.observe(this.element,"keypress",this.onKeyPress.bindAsEventListener(this));},show:function(){if(Element.getStyle(this.update,'display')=='none')this.options.onShow(this.element,this.update);if(!this.iefix&&(navigator.appVersion.indexOf('MSIE')>0)&&(navigator.userAgent.indexOf('Opera')<0)&&(Element.getStyle(this.update,'position')=='absolute')){new Insertion.After(this.update,'<iframe id="'+this.update.id+'_iefix" '+'style="display:none;position:absolute;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);" '+'src="javascript:false;" frameborder="0" scrolling="no"></iframe>');this.iefix=$(this.update.id+'_iefix');}
if(this.iefix)setTimeout(this.fixIEOverlapping.bind(this),50);},fixIEOverlapping:function(){Position.clone(this.update,this.iefix,{setTop:(!this.update.style.height)});this.iefix.style.zIndex=1;this.update.style.zIndex=2;Element.show(this.iefix);},hide:function(){this.stopIndicator();if(Element.getStyle(this.update,'display')!='none')this.options.onHide(this.element,this.update);if(this.iefix)Element.hide(this.iefix);},startIndicator:function(){if(this.options.indicator)Element.show(this.options.indicator);},stopIndicator:function(){if(this.options.indicator)Element.hide(this.options.indicator);},onKeyPress:function(event){if(this.active)
switch(event.keyCode){case Event.KEY_TAB:case Event.KEY_RETURN:this.selectEntry();Event.stop(event);case Event.KEY_ESC:this.hide();this.active=false;Event.stop(event);return;case Event.KEY_LEFT:case Event.KEY_RIGHT:return;case Event.KEY_UP:this.markPrevious();this.render();if(navigator.appVersion.indexOf('AppleWebKit')>0)Event.stop(event);return;case Event.KEY_DOWN:this.markNext();this.render();if(navigator.appVersion.indexOf('AppleWebKit')>0)Event.stop(event);return;}
else
if(event.keyCode==Event.KEY_TAB||event.keyCode==Event.KEY_RETURN||(navigator.appVersion.indexOf('AppleWebKit')>0&&event.keyCode==0))return;this.changed=true;this.hasFocus=true;if(this.observer)clearTimeout(this.observer);this.observer=setTimeout(this.onObserverEvent.bind(this),this.options.frequency*1000);},activate:function(){this.changed=false;this.hasFocus=true;this.getUpdatedChoices();},onHover:function(event){var element=Event.findElement(event,'LI');if(this.index!=element.autocompleteIndex)
{this.index=element.autocompleteIndex;this.render();}
Event.stop(event);},onClick:function(event){var element=Event.findElement(event,'LI');this.index=element.autocompleteIndex;this.selectEntry();this.hide();},onBlur:function(event){setTimeout(this.hide.bind(this),250);this.hasFocus=false;this.active=false;},render:function(){if(this.entryCount>0){for(var i=0;i<this.entryCount;i++)
this.index==i?Element.addClassName(this.getEntry(i),"selected"):Element.removeClassName(this.getEntry(i),"selected");if(this.hasFocus){this.show();this.active=true;}}else{this.active=false;this.hide();}},markPrevious:function(){if(this.index>0)this.index--
else this.index=this.entryCount-1;this.getEntry(this.index).scrollIntoView(true);},markNext:function(){if(this.index<this.entryCount-1)this.index++
else this.index=0;this.getEntry(this.index).scrollIntoView(false);},getEntry:function(index){return this.update.firstChild.childNodes[index];},getCurrentEntry:function(){return this.getEntry(this.index);},selectEntry:function(){this.active=false;this.updateElement(this.getCurrentEntry());},updateElement:function(selectedElement){if(this.options.updateElement){this.options.updateElement(selectedElement);return;}
var value='';if(this.options.select){var nodes=document.getElementsByClassName(this.options.select,selectedElement)||[];if(nodes.length>0)value=Element.collectTextNodes(nodes[0],this.options.select);}else
value=Element.collectTextNodesIgnoreClass(selectedElement,'informal');var lastTokenPos=this.findLastToken();if(lastTokenPos!=-1){var newValue=this.element.value.substr(0,lastTokenPos+1);var whitespace=this.element.value.substr(lastTokenPos+1).match(/^\s+/);if(whitespace)
newValue+=whitespace[0];this.element.value=newValue+value;}else{this.element.value=value;}
this.element.focus();if(this.options.afterUpdateElement)
this.options.afterUpdateElement(this.element,selectedElement);},updateChoices:function(choices){if(!this.changed&&this.hasFocus){this.update.innerHTML=choices;Element.cleanWhitespace(this.update);Element.cleanWhitespace(this.update.down());if(this.update.firstChild&&this.update.down().childNodes){this.entryCount=this.update.down().childNodes.length;for(var i=0;i<this.entryCount;i++){var entry=this.getEntry(i);entry.autocompleteIndex=i;this.addObservers(entry);}}else{this.entryCount=0;}
this.stopIndicator();this.index=0;if(this.entryCount==1&&this.options.autoSelect){this.selectEntry();this.hide();}else{this.render();}}},addObservers:function(element){Event.observe(element,"mouseover",this.onHover.bindAsEventListener(this));Event.observe(element,"click",this.onClick.bindAsEventListener(this));},onObserverEvent:function(){this.changed=false;if(this.getToken().length>=this.options.minChars){this.startIndicator();this.getUpdatedChoices();}else{this.active=false;this.hide();}},getToken:function(){var tokenPos=this.findLastToken();if(tokenPos!=-1)
var ret=this.element.value.substr(tokenPos+1).replace(/^\s+/,'').replace(/\s+$/,'');else
var ret=this.element.value;return/\n/.test(ret)?'':ret;},findLastToken:function(){var lastTokenPos=-1;for(var i=0;i<this.options.tokens.length;i++){var thisTokenPos=this.element.value.lastIndexOf(this.options.tokens[i]);if(thisTokenPos>lastTokenPos)
lastTokenPos=thisTokenPos;}
return lastTokenPos;}}
Ajax.Autocompleter=Class.create();Object.extend(Object.extend(Ajax.Autocompleter.prototype,Autocompleter.Base.prototype),{initialize:function(element,update,url,options){this.baseInitialize(element,update,options);this.options.asynchronous=true;this.options.onComplete=this.onComplete.bind(this);this.options.defaultParams=this.options.parameters||null;this.url=url;},getUpdatedChoices:function(){entry=encodeURIComponent(this.options.paramName)+'='+
encodeURIComponent(this.getToken());this.options.parameters=this.options.callback?this.options.callback(this.element,entry):entry;if(this.options.defaultParams)
this.options.parameters+='&'+this.options.defaultParams;new Ajax.Request(this.url,this.options);},onComplete:function(request){this.updateChoices(request.responseText);}});Autocompleter.Local=Class.create();Autocompleter.Local.prototype=Object.extend(new Autocompleter.Base(),{initialize:function(element,update,array,options){this.baseInitialize(element,update,options);this.options.array=array;},getUpdatedChoices:function(){this.updateChoices(this.options.selector(this));},setOptions:function(options){this.options=Object.extend({choices:10,partialSearch:true,partialChars:2,ignoreCase:true,fullSearch:false,selector:function(instance){var ret=[];var partial=[];var entry=instance.getToken();var count=0;for(var i=0;i<instance.options.array.length&&ret.length<instance.options.choices;i++){var elem=instance.options.array[i];var foundPos=instance.options.ignoreCase?elem.toLowerCase().indexOf(entry.toLowerCase()):elem.indexOf(entry);while(foundPos!=-1){if(foundPos==0&&elem.length!=entry.length){ret.push("<li><strong>"+elem.substr(0,entry.length)+"</strong>"+
elem.substr(entry.length)+"</li>");break;}else if(entry.length>=instance.options.partialChars&&instance.options.partialSearch&&foundPos!=-1){if(instance.options.fullSearch||/\s/.test(elem.substr(foundPos-1,1))){partial.push("<li>"+elem.substr(0,foundPos)+"<strong>"+
elem.substr(foundPos,entry.length)+"</strong>"+elem.substr(foundPos+entry.length)+"</li>");break;}}
foundPos=instance.options.ignoreCase?elem.toLowerCase().indexOf(entry.toLowerCase(),foundPos+1):elem.indexOf(entry,foundPos+1);}}
if(partial.length)
ret=ret.concat(partial.slice(0,instance.options.choices-ret.length))
return"<ul>"+ret.join('')+"</ul>";}},options||{});}});Field.scrollFreeActivate=function(field){setTimeout(function(){Field.activate(field);},1);}
Ajax.InPlaceEditor=Class.create();Ajax.InPlaceEditor.defaultHighlightColor="#FFFF99";Ajax.InPlaceEditor.prototype={initialize:function(element,url,options){this.url=url;this.element=$(element);this.options=Object.extend({paramName:"value",okButton:true,okText:"ok",cancelLink:true,cancelText:"cancel",savingText:"Saving...",clickToEditText:"Click to edit",okText:"ok",rows:1,onComplete:function(transport,element){new Effect.Highlight(element,{startcolor:this.options.highlightcolor});},onFailure:function(transport){alert("Error communicating with the server: "+transport.responseText.stripTags());},callback:function(form){return Form.serialize(form);},handleLineBreaks:true,loadingText:'Loading...',savingClassName:'inplaceeditor-saving',loadingClassName:'inplaceeditor-loading',formClassName:'inplaceeditor-form',highlightcolor:Ajax.InPlaceEditor.defaultHighlightColor,highlightendcolor:"#FFFFFF",externalControl:null,submitOnBlur:false,ajaxOptions:{},evalScripts:false},options||{});if(!this.options.formId&&this.element.id){this.options.formId=this.element.id+"-inplaceeditor";if($(this.options.formId)){this.options.formId=null;}}
if(this.options.externalControl){this.options.externalControl=$(this.options.externalControl);}
this.originalBackground=Element.getStyle(this.element,'background-color');if(!this.originalBackground){this.originalBackground="transparent";}
this.element.title=this.options.clickToEditText;this.onclickListener=this.enterEditMode.bindAsEventListener(this);this.mouseoverListener=this.enterHover.bindAsEventListener(this);this.mouseoutListener=this.leaveHover.bindAsEventListener(this);Event.observe(this.element,'click',this.onclickListener);Event.observe(this.element,'mouseover',this.mouseoverListener);Event.observe(this.element,'mouseout',this.mouseoutListener);if(this.options.externalControl){Event.observe(this.options.externalControl,'click',this.onclickListener);Event.observe(this.options.externalControl,'mouseover',this.mouseoverListener);Event.observe(this.options.externalControl,'mouseout',this.mouseoutListener);}},enterEditMode:function(evt){if(this.saving)return;if(this.editing)return;this.editing=true;this.onEnterEditMode();if(this.options.externalControl){Element.hide(this.options.externalControl);}
Element.hide(this.element);this.createForm();this.element.parentNode.insertBefore(this.form,this.element);if(!this.options.loadTextURL)Field.scrollFreeActivate(this.editField);if(evt){Event.stop(evt);}
return false;},createForm:function(){this.form=document.createElement("form");this.form.id=this.options.formId;Element.addClassName(this.form,this.options.formClassName)
this.form.onsubmit=this.onSubmit.bind(this);this.createEditField();if(this.options.textarea){var br=document.createElement("br");this.form.appendChild(br);}
if(this.options.okButton){okButton=document.createElement("input");okButton.type="submit";okButton.value=this.options.okText;okButton.className='editor_ok_button';this.form.appendChild(okButton);}
if(this.options.cancelLink){cancelLink=document.createElement("a");cancelLink.href="#";cancelLink.appendChild(document.createTextNode(this.options.cancelText));cancelLink.onclick=this.onclickCancel.bind(this);cancelLink.className='editor_cancel';this.form.appendChild(cancelLink);}},hasHTMLLineBreaks:function(string){if(!this.options.handleLineBreaks)return false;return string.match(/<br/i)||string.match(/<p>/i);},convertHTMLLineBreaks:function(string){return string.replace(/<br>/gi,"\n").replace(/<br\/>/gi,"\n").replace(/<\/p>/gi,"\n").replace(/<p>/gi,"");},createEditField:function(){var text;if(this.options.loadTextURL){text=this.options.loadingText;}else{text=this.getText();}
var obj=this;if(this.options.rows==1&&!this.hasHTMLLineBreaks(text)){this.options.textarea=false;var textField=document.createElement("input");textField.obj=this;textField.type="text";textField.name=this.options.paramName;textField.value=text;textField.style.backgroundColor=this.options.highlightcolor;textField.className='editor_field';var size=this.options.size||this.options.cols||0;if(size!=0)textField.size=size;if(this.options.submitOnBlur)
textField.onblur=this.onSubmit.bind(this);this.editField=textField;}else{this.options.textarea=true;var textArea=document.createElement("textarea");textArea.obj=this;textArea.name=this.options.paramName;textArea.value=this.convertHTMLLineBreaks(text);textArea.rows=this.options.rows;textArea.cols=this.options.cols||40;textArea.className='editor_field';if(this.options.submitOnBlur)
textArea.onblur=this.onSubmit.bind(this);this.editField=textArea;}
if(this.options.loadTextURL){this.loadExternalText();}
this.form.appendChild(this.editField);},getText:function(){return this.element.innerHTML;},loadExternalText:function(){Element.addClassName(this.form,this.options.loadingClassName);this.editField.disabled=true;new Ajax.Request(this.options.loadTextURL,Object.extend({asynchronous:true,onComplete:this.onLoadedExternalText.bind(this)},this.options.ajaxOptions));},onLoadedExternalText:function(transport){Element.removeClassName(this.form,this.options.loadingClassName);this.editField.disabled=false;this.editField.value=transport.responseText.stripTags();Field.scrollFreeActivate(this.editField);},onclickCancel:function(){this.onComplete();this.leaveEditMode();return false;},onFailure:function(transport){this.options.onFailure(transport);if(this.oldInnerHTML){this.element.innerHTML=this.oldInnerHTML;this.oldInnerHTML=null;}
return false;},onSubmit:function(){var form=this.form;var value=this.editField.value;this.onLoading();if(this.options.evalScripts){new Ajax.Request(this.url,Object.extend({parameters:this.options.callback(form,value),onComplete:this.onComplete.bind(this),onFailure:this.onFailure.bind(this),asynchronous:true,evalScripts:true},this.options.ajaxOptions));}else{new Ajax.Updater({success:this.element,failure:null},this.url,Object.extend({parameters:this.options.callback(form,value),onComplete:this.onComplete.bind(this),onFailure:this.onFailure.bind(this)},this.options.ajaxOptions));}
if(arguments.length>1){Event.stop(arguments[0]);}
return false;},onLoading:function(){this.saving=true;this.removeForm();this.leaveHover();this.showSaving();},showSaving:function(){this.oldInnerHTML=this.element.innerHTML;this.element.innerHTML=this.options.savingText;Element.addClassName(this.element,this.options.savingClassName);this.element.style.backgroundColor=this.originalBackground;Element.show(this.element);},removeForm:function(){if(this.form){if(this.form.parentNode)Element.remove(this.form);this.form=null;}},enterHover:function(){if(this.saving)return;this.element.style.backgroundColor=this.options.highlightcolor;if(this.effect){this.effect.cancel();}
Element.addClassName(this.element,this.options.hoverClassName)},leaveHover:function(){if(this.options.backgroundColor){this.element.style.backgroundColor=this.oldBackground;}
Element.removeClassName(this.element,this.options.hoverClassName)
if(this.saving)return;this.effect=new Effect.Highlight(this.element,{startcolor:this.options.highlightcolor,endcolor:this.options.highlightendcolor,restorecolor:this.originalBackground});},leaveEditMode:function(){Element.removeClassName(this.element,this.options.savingClassName);this.removeForm();this.leaveHover();this.element.style.backgroundColor=this.originalBackground;Element.show(this.element);if(this.options.externalControl){Element.show(this.options.externalControl);}
this.editing=false;this.saving=false;this.oldInnerHTML=null;this.onLeaveEditMode();},onComplete:function(transport){this.leaveEditMode();this.options.onComplete.bind(this)(transport,this.element);},onEnterEditMode:function(){},onLeaveEditMode:function(){},dispose:function(){if(this.oldInnerHTML){this.element.innerHTML=this.oldInnerHTML;}
this.leaveEditMode();Event.stopObserving(this.element,'click',this.onclickListener);Event.stopObserving(this.element,'mouseover',this.mouseoverListener);Event.stopObserving(this.element,'mouseout',this.mouseoutListener);if(this.options.externalControl){Event.stopObserving(this.options.externalControl,'click',this.onclickListener);Event.stopObserving(this.options.externalControl,'mouseover',this.mouseoverListener);Event.stopObserving(this.options.externalControl,'mouseout',this.mouseoutListener);}}};Ajax.InPlaceCollectionEditor=Class.create();Object.extend(Ajax.InPlaceCollectionEditor.prototype,Ajax.InPlaceEditor.prototype);Object.extend(Ajax.InPlaceCollectionEditor.prototype,{createEditField:function(){if(!this.cached_selectTag){var selectTag=document.createElement("select");var collection=this.options.collection||[];var optionTag;collection.each(function(e,i){optionTag=document.createElement("option");optionTag.value=(e instanceof Array)?e[0]:e;if((typeof this.options.value=='undefined')&&((e instanceof Array)?this.element.innerHTML==e[1]:e==optionTag.value))optionTag.selected=true;if(this.options.value==optionTag.value)optionTag.selected=true;optionTag.appendChild(document.createTextNode((e instanceof Array)?e[1]:e));selectTag.appendChild(optionTag);}.bind(this));this.cached_selectTag=selectTag;}
this.editField=this.cached_selectTag;if(this.options.loadTextURL)this.loadExternalText();this.form.appendChild(this.editField);this.options.callback=function(form,value){return"value="+encodeURIComponent(value);}}});Form.Element.DelayedObserver=Class.create();Form.Element.DelayedObserver.prototype={initialize:function(element,delay,callback){this.delay=delay||0.5;this.element=$(element);this.callback=callback;this.timer=null;this.lastValue=$F(this.element);Event.observe(this.element,'keyup',this.delayedListener.bindAsEventListener(this));},delayedListener:function(event){if(this.lastValue==$F(this.element))return;if(this.timer)clearTimeout(this.timer);this.timer=setTimeout(this.onTimerEvent.bind(this),this.delay*1000);this.lastValue=$F(this.element);},onTimerEvent:function(){this.timer=null;this.callback(this.element,$F(this.element));}};
if(!Control)var Control={};Control.Slider=Class.create();Control.Slider.prototype={initialize:function(handle,track,options){var slider=this;if(handle instanceof Array){this.handles=handle.collect(function(e){return $(e)});}else{this.handles=[$(handle)];}
this.track=$(track);this.options=options||{};this.axis=this.options.axis||'horizontal';this.increment=this.options.increment||1;this.step=parseInt(this.options.step||'1');this.range=this.options.range||$R(0,1);this.value=0;this.values=this.handles.map(function(){return 0});this.spans=this.options.spans?this.options.spans.map(function(s){return $(s)}):false;this.options.startSpan=$(this.options.startSpan||null);this.options.endSpan=$(this.options.endSpan||null);this.restricted=this.options.restricted||false;this.maximum=this.options.maximum||this.range.end;this.minimum=this.options.minimum||this.range.start;this.alignX=parseInt(this.options.alignX||'0');this.alignY=parseInt(this.options.alignY||'0');this.trackLength=this.maximumOffset()-this.minimumOffset();this.handleLength=this.isVertical()?(this.handles[0].offsetHeight!=0?this.handles[0].offsetHeight:this.handles[0].style.height.replace(/px$/,"")):(this.handles[0].offsetWidth!=0?this.handles[0].offsetWidth:this.handles[0].style.width.replace(/px$/,""));this.active=false;this.dragging=false;this.disabled=false;if(this.options.disabled)this.setDisabled();this.allowedValues=this.options.values?this.options.values.sortBy(Prototype.K):false;if(this.allowedValues){this.minimum=this.allowedValues.min();this.maximum=this.allowedValues.max();}
this.eventMouseDown=this.startDrag.bindAsEventListener(this);this.eventMouseUp=this.endDrag.bindAsEventListener(this);this.eventMouseMove=this.update.bindAsEventListener(this);this.handles.each(function(h,i){i=slider.handles.length-1-i;slider.setValue(parseFloat((slider.options.sliderValue instanceof Array?slider.options.sliderValue[i]:slider.options.sliderValue)||slider.range.start),i);Element.makePositioned(h);Event.observe(h,"mousedown",slider.eventMouseDown);});Event.observe(this.track,"mousedown",this.eventMouseDown);Event.observe(document,"mouseup",this.eventMouseUp);Event.observe(document,"mousemove",this.eventMouseMove);this.initialized=true;},dispose:function(){var slider=this;Event.stopObserving(this.track,"mousedown",this.eventMouseDown);Event.stopObserving(document,"mouseup",this.eventMouseUp);Event.stopObserving(document,"mousemove",this.eventMouseMove);this.handles.each(function(h){Event.stopObserving(h,"mousedown",slider.eventMouseDown);});},setDisabled:function(){this.disabled=true;},setEnabled:function(){this.disabled=false;},getNearestValue:function(value){if(this.allowedValues){if(value>=this.allowedValues.max())return(this.allowedValues.max());if(value<=this.allowedValues.min())return(this.allowedValues.min());var offset=Math.abs(this.allowedValues[0]-value);var newValue=this.allowedValues[0];this.allowedValues.each(function(v){var currentOffset=Math.abs(v-value);if(currentOffset<=offset){newValue=v;offset=currentOffset;}});return newValue;}
if(value>this.range.end)return this.range.end;if(value<this.range.start)return this.range.start;return value;},setValue:function(sliderValue,handleIdx){if(!this.active){this.activeHandleIdx=handleIdx||0;this.activeHandle=this.handles[this.activeHandleIdx];this.updateStyles();}
handleIdx=handleIdx||this.activeHandleIdx||0;if(this.initialized&&this.restricted){if((handleIdx>0)&&(sliderValue<this.values[handleIdx-1]))
sliderValue=this.values[handleIdx-1];if((handleIdx<(this.handles.length-1))&&(sliderValue>this.values[handleIdx+1]))
sliderValue=this.values[handleIdx+1];}
sliderValue=this.getNearestValue(sliderValue);this.values[handleIdx]=sliderValue;this.value=this.values[0];this.handles[handleIdx].style[this.isVertical()?'top':'left']=this.translateToPx(sliderValue);this.drawSpans();if(!this.dragging||!this.event)this.updateFinished();},setValueBy:function(delta,handleIdx){this.setValue(this.values[handleIdx||this.activeHandleIdx||0]+delta,handleIdx||this.activeHandleIdx||0);},translateToPx:function(value){return Math.round(((this.trackLength-this.handleLength)/(this.range.end-this.range.start))*(value-this.range.start))+"px";},translateToValue:function(offset){return((offset/(this.trackLength-this.handleLength)*(this.range.end-this.range.start))+this.range.start);},getRange:function(range){var v=this.values.sortBy(Prototype.K);range=range||0;return $R(v[range],v[range+1]);},minimumOffset:function(){return(this.isVertical()?this.alignY:this.alignX);},maximumOffset:function(){return(this.isVertical()?(this.track.offsetHeight!=0?this.track.offsetHeight:this.track.style.height.replace(/px$/,""))-this.alignY:(this.track.offsetWidth!=0?this.track.offsetWidth:this.track.style.width.replace(/px$/,""))-this.alignY);},isVertical:function(){return(this.axis=='vertical');},drawSpans:function(){var slider=this;if(this.spans)
$R(0,this.spans.length-1).each(function(r){slider.setSpan(slider.spans[r],slider.getRange(r))});if(this.options.startSpan)
this.setSpan(this.options.startSpan,$R(0,this.values.length>1?this.getRange(0).min():this.value));if(this.options.endSpan)
this.setSpan(this.options.endSpan,$R(this.values.length>1?this.getRange(this.spans.length-1).max():this.value,this.maximum));},setSpan:function(span,range){if(this.isVertical()){span.style.top=this.translateToPx(range.start);span.style.height=this.translateToPx(range.end-range.start+this.range.start);}else{span.style.left=this.translateToPx(range.start);span.style.width=this.translateToPx(range.end-range.start+this.range.start);}},updateStyles:function(){this.handles.each(function(h){Element.removeClassName(h,'selected')});Element.addClassName(this.activeHandle,'selected');},startDrag:function(event){if(Event.isLeftClick(event)){if(!this.disabled){this.active=true;var handle=Event.element(event);var pointer=[Event.pointerX(event),Event.pointerY(event)];var track=handle;if(track==this.track){var offsets=Position.cumulativeOffset(this.track);this.event=event;this.setValue(this.translateToValue((this.isVertical()?pointer[1]-offsets[1]:pointer[0]-offsets[0])-(this.handleLength/2)));var offsets=Position.cumulativeOffset(this.activeHandle);this.offsetX=(pointer[0]-offsets[0]);this.offsetY=(pointer[1]-offsets[1]);}else{while((this.handles.indexOf(handle)==-1)&&handle.parentNode)
handle=handle.parentNode;if(this.handles.indexOf(handle)!=-1){this.activeHandle=handle;this.activeHandleIdx=this.handles.indexOf(this.activeHandle);this.updateStyles();var offsets=Position.cumulativeOffset(this.activeHandle);this.offsetX=(pointer[0]-offsets[0]);this.offsetY=(pointer[1]-offsets[1]);}}}
Event.stop(event);}},update:function(event){if(this.active){if(!this.dragging)this.dragging=true;this.draw(event);if(navigator.appVersion.indexOf('AppleWebKit')>0)window.scrollBy(0,0);Event.stop(event);}},draw:function(event){var pointer=[Event.pointerX(event),Event.pointerY(event)];var offsets=Position.cumulativeOffset(this.track);pointer[0]-=this.offsetX+offsets[0];pointer[1]-=this.offsetY+offsets[1];this.event=event;this.setValue(this.translateToValue(this.isVertical()?pointer[1]:pointer[0]));if(this.initialized&&this.options.onSlide)
this.options.onSlide(this.values.length>1?this.values:this.value,this);},endDrag:function(event){if(this.active&&this.dragging){this.finishDrag(event,true);Event.stop(event);}
this.active=false;this.dragging=false;},finishDrag:function(event,success){this.active=false;this.dragging=false;this.updateFinished();},updateFinished:function(){if(this.initialized&&this.options.onChange)
this.options.onChange(this.values.length>1?this.values:this.value,this);this.event=null;}}
if(typeof Prototype=='undefined')
throw("'mapa.js' requires JavaScript framework Prototype");if(typeof Window.length=='undefined')
throw("'mapa.js' requires library 'window.js'");if(typeof Effect=='undefined')
throw("'mapa.js' requires library 'effects.js'");function QueryString(name){var tmp=(location.search.substring(1));var i=tmp.toUpperCase().indexOf(name.toUpperCase()+"=");if(i>=0){tmp=tmp.substring(name.length+i+1);i=tmp.indexOf("&");return unescape(tmp=tmp.substring(0,(i>=0)?i:tmp.length));}
return("");}
var Mapa={};Mapa.ALT_MIN_CX_MAPA=500;Mapa.itemDetalhesOpened=null;Mapa.cxMapsSelected='cxMapasMapa';Mapa.setVariables=function(){Mapa.HEADER_HEIGHT=$('topo').getHeight()-parseInt($('menus').getStyle('margin-top'));Mapa.MODULES_HEIGHT=$('modulos').getHeight();Mapa.CX_CONTROLS_HEIGHT=$('cxControles').getHeight();Mapa.SELOS_HEIGHT=$('selos').getHeight();};Mapa.resizeFields=function(){};Mapa.tC_POS_UP=0;Mapa.tC_POS_NONE=1;Mapa.tC_POS_NEXT=2;Mapa.toggleClass=function(event,className,position){var element=null;switch(position){case Mapa.tC_POS_NEXT:element=$(Event.element(event)).next();break;case Mapa.tC_POS_NONE:element=$(Event.element(event));break;case Mapa.tC_POS_UP:default:element=$(Event.element(event)).up();}
(element.hasClassName(className))?element.removeClassName(className):element.addClassName(className);};Mapa.addFieldInRoute=function(event,idResult){$(idResult).update();var li=$(Event.findElement(event,'li'));if(!li.next()){var lis=li.siblings();lis.push(li);for(i=0;i<lis.length;i++){var input=lis[i].down('input');if(/^\s*$/.test(input.getValue()))
return false;}
li.up().appendChild(Mapa.getLI_Busca(li.down('span').innerHTML.succ(),idResult));}
return true;};Mapa.getLI_Busca=function(letra,idResult){var li=document.createElement('LI');li.innerHTML='<div class="busca"><span class="letra esquerda">'+letra+'</span><a class="fechar" tabindex="-1" href="javascript:void(0)" onclick="Mapa.removeFieldByRota(event);return false" title="Limpar este endereço">X</a><input type="text" style="width: 230px" id="RRcidade'+letra+'" name="RRcidade'+letra+'" /><input type="text" style="width: 230px" onkeydown="Mapa.addFieldInRoute(event,\''+idResult+'\')" id="RRendereco'+letra+'" name="RRendereco'+letra+'" /></div>';return li;};Mapa.removeFieldByRota=function(event){var li=$(Event.findElement(event,'li'));if(li.siblings().length>=2){var letra=li.down('span').innerHTML;li.nextSiblings().each(function(li){li.down('span').update(letra);var input=li.down('input');input.id='RRendereco'+letra;input.name='RRendereco'+letra;letra=letra.succ();});li.remove();}
else Mapa.clearField(event);};Mapa.clearField=function(event){var elem=$(Event.element(event)).next();while(elem&&elem.type.toLowerCase()=='text'){elem.clear();elem=elem.next();}};Mapa.showHideLI=function(event){var li=$(Event.findElement(event,'li'));var divForm=li.down('div');if(li.hasClassName('ativo'))
new Effect.BlindUp(divForm,{afterFinishInternal:function(){li.removeClassName('ativo');}});else{li.addClassName('ativo');new Effect.BlindDown(divForm);}};Mapa.showHideAgendaEnd=function(event){var li=$(Event.findElement(event,'li'));var ulOpcoes=li.down('ul');if(li.hasClassName('agenda'))
new Effect.BlindUp(ulOpcoes,{afterFinishInternal:function(){li.removeClassName('agenda');}});else{li.addClassName('agenda');new Effect.BlindDown(ulOpcoes);}};Mapa.focusFirstElement=function(div){try{(new Selector('*').findElements($(div)).find(function(element){return element.type!='hidden'&&!element.disabled&&['input','select','textarea'].include(element.tagName.toLowerCase());})).activate();}catch(e){}};Mapa.toggleModulo=function(idDiv,prefChild,terminatedFunction){if(!Mapa.toggleModulo.terminated)
return;else Mapa.toggleModulo.terminated=false;MIncidentesControl.removerCorredores();MIncidentesControl.removerIncidentes();try
{if(idDiv!="rotasrodoviarias_02")
mRota.LimparRotaRodoviaria();if(idDiv!="rotasurbanas_02")
mRota.LimparRotaUrbana();if(idDiv!="buscalocal_02")
mLocais.limparAbaLocais();}
catch(e){}
try{div=$(idDiv);if(div.visible()){new Effect.BlindUp(div,{afterFinishInternal:function(effect){effect.element.hide();effect.element.parentNode.removeClassName('ativo');Mapa.toggleModulo.terminated=true;}});}
else{if(idDiv=="corredores_02"){if(MSituacaoTransitoControl.cityBuscar){mTransito.buscaCorredores(MSituacaoTransitoControl.cityBuscar.state);MSituacaoTransitoControl.cityBusca=null;}
else{mTransito.buscaCorredores();mMapa.gerenciarSituacaoTransitoControl(MSituacaoTransitoControl.city);}
MIncidentesControl.adicionarCorredores();if(mMapa.mapa.getZoom()<13){mMapa.mapa.setZoom(13);}}
else if(idDiv=="buscabairro_02")
mBairros.listarUFsBairros();else if(idDiv=="situacao_02"){if(!mIncidentes.inicializado)
mIncidentes.listarCategorias(1);}
else if(idDiv=="agenda_02")
{$get("pMinhaAgenda").className="grupo_agenda_loading";PageMethods.BuscarGruposAgenda(BuscarGruposCallback,BuscarGruposError);}
var liShowed=div.up();liShowed.siblings().each(function(li){li.removeClassName('ativo');$(li.id+prefChild).hide();});liShowed.addClassName('ativo');Mapa.itemDetalhesOpened=liShowed.id;Mapa.resizeDetalhes();new Effect.BlindDown(div,{afterFinishInternal:function(){Mapa.toggleModulo.terminated=true;if(typeof terminatedFunction=="function")
terminatedFunction();}});if(idDiv.toLowerCase().indexOf("bradesco")>-1)
{$get("divResultadosBradesco").style.display="none";$get("divResultadosBradescoImoveis").style.display="none";}
else if(idDiv.toLowerCase().indexOf("drogariasp")>-1)
{$get("divResultadoDrogariaSP").style.display="none";}}}
catch(e){Mapa.toggleModulo.terminated=true;throw e;}};Mapa.toggleModulo.terminated=true;Mapa.loader=function(objReceptor,idLoaded){var div=document.createElement('DIV');var image=new Image();image.src='./imagens/progress.gif';image.alt='';image.border=0;div.id=idLoaded||('idLoader_'+new Date().getTime());div.appendChild(image);div.appendChild(document.createTextNode(' Carregando...'));div.style.margin='2px 2px';div.style.font='11px bold Verdana, Arial, Helvetica, sans-serif';if(objReceptor)
objReceptor.appendChild(div);return div;};Mapa.findPlace=function(div,fieldsOb,headersOb,url,idDivReturn,options){var field=null,txt=new String('<strong>Você deve preencher o(s) campo(s):<\/strong><br \/><br \/>');for(var i=0;i<fieldsOb.length;i++){var element=$(fieldsOb[i])||document.forms[0][fieldsOb[i]];if(!element){Mapa.alert('O campo <b>'+fieldsOb[i]+'<\/b> não foi encontrado!');return false;}
if(!element.present()){txt+=headersOb[i]+'<br />';if(!field)field=element;}}
if(field!=null){Mapa.alert(txt,function(){field.activate();});if(idDivReturn&&(typeof idDivReturn=='string'))$(idDivReturn).update();return;}
Mapa.loadAjax(url,idDivReturn,Form.serializeElements(new Selector('*').findElements($(div))),options);};Mapa.ANCHOR_HELP_HEIGHT=null;Mapa.detalhes={id:null,obj:null};Mapa.resizeDetalhes=function(){if(Mapa.itemDetalhesOpened&&Mapa.alturaBox){if(!Mapa.ANCHOR_HELP_HEIGHT)
if($('ajuda_'+Mapa.itemDetalhesOpened))
Mapa.ANCHOR_HELP_HEIGHT=parseInt($('ajuda_'+Mapa.itemDetalhesOpened).getStyle('height'));alturaDetalhes=(Mapa.alturaBox-Mapa.MODULES_HEIGHT)+Mapa.ANCHOR_HELP_HEIGHT+Mapa.SELOS_HEIGHT;if(Mapa.detalhes.id!='det_'+Mapa.itemDetalhesOpened){Mapa.detalhes.id='det_'+Mapa.itemDetalhesOpened;Mapa.detalhes.obj=$('det_'+Mapa.itemDetalhesOpened);}
Mapa.detalhes.obj.setStyle({height:alturaDetalhes+'px'});}};Mapa.cxMapas={id:null,obj:null};Mapa.alturaBox=null;Mapa.resizeMapas=function(height){if(!height)height=WindowUtilities.getPageSize().windowHeight;var tamItensCol2=Mapa.CX_CONTROLS_HEIGHT+(Mapa.SELOS_HEIGHT*2)+36;var alturaMapas=(height-(Mapa.HEADER_HEIGHT+tamItensCol2));if(alturaMapas<Mapa.ALT_MIN_CX_MAPA-tamItensCol2)alturaMapas=Mapa.ALT_MIN_CX_MAPA-tamItensCol2;Mapa.alturaBox=alturaMapas;if(!mMapa.inicializado){mMapa.inicializar();ew=new EWindow(mMapa.mapa,E_STYLE_7);mMapa.mapa.addOverlay(ew);}
$("divMapa").setStyle({height:alturaMapas+'px'});mMapa.atualizarMapaRedim();};Mapa.coluna1=null;Mapa.resizePage=function(){var height=WindowUtilities.getPageSize().windowHeight;if(height<800)
height=800;Mapa.resizeMapas(height);Mapa.resizeDetalhes();var coluna1Height=(height-Mapa.HEADER_HEIGHT-Mapa.SELOS_HEIGHT);if(!Mapa.coluna1)Mapa.coluna1=$('coluna1');if(coluna1Height<Mapa.ALT_MIN_CX_MAPA)coluna1Height=Mapa.ALT_MIN_CX_MAPA;Mapa.coluna1.setStyle({height:coluna1Height+'px'});};Mapa.loadMap=function(totMapas,event,idCxMapas){if(totMapas!=1&&totMapas!=2)
throw"It's a invalid option to the variable 'totMapas'. Valid only: '1' or '2'!";var divMapas=$(Event.findElement(event,'div')).next();if(!divMapas)
return;Mapa.cxMapsSelected=divMapas.id;var idMapControl_ul=divMapas.previous().down().id;var mapas=divMapas.immediateDescendants();switch(totMapas){case 1:divMapas.className='mapas divide1';if(mapas.length>1)
for(i=1;i<mapas.length;i++)
mapas[i].remove();else
Mapa.getObj(idMapControl_ul);break;case 2:divMapas.className='mapas divide2';if(mapas.length>2)
for(i=2;i<mapas.length;i++)
mapas[i].remove();else{var totMapas=mapas.length;while(totMapas<2){divMapas.appendChild(Mapa.getObj(idMapControl_ul));totMapas++;}}
break;}
Mapa.resizeMapas();};Mapa.getObj=function(idMapControl_ul){var idMapa='_mapa_'+new Date().getTime();var idVisual='visualizacao_'+idMapa;var div=document.createElement('DIV');div.className='caixa';div.innerHTML='<div id="'+idVisual+'" class="visualizacao" onclick="Mapa.selControl(\''+idMapControl_ul+'\', event)">'+'    <img usemap ="#mapa_pinheiros'+idMapa+'" src="imagens/mapa.jpg" alt="Mapa" />'+'    <map id="mapa_pinheiros'+idMapa+'" name="mapa_pinheiros'+idMapa+'">'+'        <area shape="rect" coords="208,21,400,50" onclick="Mapa.mountWindow(event,\'j_01'+idMapa+'\',\'_resPontoMapa1.html\',\'Local 1 - Não Sei\');" href="javascript:void(0);" alt="Mapa" />'+'        <area shape="rect" coords="411,21,602,48" onclick="Mapa.mountWindow(event,\'j_02'+idMapa+'\',\'_resPontoMapa1.html\',\'Local 2 - É esse\');" href="javascript:void(0);" alt="Híbrido" />'+'        <area shape="rect" coords="615,21,809,43" onclick="Mapa.mountWindow(event,\'j_03'+idMapa+'\',\'_resPontoMapa1.html\',\'Local 3 - Hum...\');" href="javascript:void(0);" alt="Satélite" />'+'        <area shape="rect" coords="820,21,1012,42" onclick="Mapa.mountWindow(event,\'j_04'+idMapa+'\',\'_resPontoMapa1.html\',\'Local 4 - Sei lá\');" href="javascript:void(0);" alt="Ampliar" />'+'    </map>'+'</div>'+'<span class="descricao">Av. Brg. Faria Lima, 1500 – Pinheiros - SP</span>';return div;};Mapa.WIDTH_WINDOW_ARROW=Mapa.HEIGHT_WINDOW_ARROW=25;Mapa.WIDTH_WINDOW=295;Mapa.HEIGHT_WINDOW=110;Mapa.closeWindow=function(id){Effect.Fade(id,{afterFinishInternal:function(effect){effect.element.remove();}});};Mapa.mountWindow=function(event,winID,url,header){try{if(eval(winID))return;}catch(erro){}
var bodyHeight=WindowUtilities.getPageSize().windowHeight;var bodyWidth=WindowUtilities.getPageSize().windowWidth;var left=Event.pointerX(event);var top=Event.pointerY(event);var posBox_top=((bodyHeight-top)<(Mapa.HEIGHT_WINDOW+Mapa.HEIGHT_WINDOW_ARROW));var posBox_left=((bodyWidth-left)<(Mapa.WIDTH_WINDOW+Mapa.WIDTH_WINDOW_ARROW));var leftHeader='<div class="topoesquerda"></div>\n';var rightHeader='<div class="topodireita"></div>\n';var leftTail='<div class="rodapeesquerda"></div>\n';var rightTail='<div class="rodapedireita"></div>\n';if(posBox_top){if(posBox_left){rightTail='<div class="rodapedireita ativo"></div>\n';left-=Mapa.WIDTH_WINDOW;}else
leftTail='<div class="rodapeesquerda ativo"></div>\n';top=top-Mapa.HEIGHT_WINDOW-Mapa.HEIGHT_WINDOW_ARROW-40;}
else{if(posBox_left){rightHeader='<div class="topodireita ativo"></div>\n';left=left-Mapa.WIDTH_WINDOW-Mapa.WIDTH_WINDOW_ARROW;}else{leftHeader='<div class="topoesquerda ativo"></div>\n';left+=Mapa.WIDTH_WINDOW_ARROW;}}
var div=document.createElement('DIV');div.id='winMap_'+new Date().getTime();Element.addClassName(div,'janela');Element.setStyle(div,{position:'absolute','z-index':'10',margin:0,top:(top)+'px',left:(left)+'px'});var idContent='winMap_content_'+div.id;div.innerHTML=leftHeader+rightHeader+'<div class="detalhes">\n'+'    <a class="fechar direita" href="javascript:void(0)" onclick="'+winID+'=false;Mapa.closeWindow(\''+div.id+'\');return false" title="Fechar esta janela">X</a>\n'+'    <h3>'+header+'</h3>\n'+'    <div id="'+idContent+'"></div>\n'+'</div>\n'+leftTail+rightTail;eval(new String(winID).concat('=true;'));document.body.appendChild(div);Mapa.loadAjax(url,idContent);};Mapa.getPageSize=function(){var width,height;if(self.innerHeight){width=self.innerWidth;height=self.innerHeight;}else if(document.documentElement&&document.documentElement.clientHeight){width=document.documentElement.clientWidth;height=document.documentElement.clientHeight;}else if(document.body){width=document.body.clientWidth;height=document.body.clientHeight;}
return{width:width,height:height};};Mapa.ReSize=Class.create();Mapa.ReSize.widthCol1=null;Mapa.ReSize.lessCol1=false;Mapa.ReSize.terminated=true;Mapa.ReSize.prototype=Object.extend(Effect.Base.prototype,{initialize:function(coluna1,coluna2,barra){if(!Mapa.ReSize.terminated)
return;else Mapa.ReSize.terminated=false;this.coluna1=$(coluna1);this.coluna2=$(coluna2);this.barra=$(barra);if(!this.coluna1||!this.coluna2||!this.barra){Mapa.ReSize.terminated=true;throw(Effect._elementDoesNotExistError);}
this.widthCol1=this.coluna1.getWidth();this.leftSlide=parseInt(this.barra.getStyle('left'))||0;this.marginLeftCol2=parseInt(this.coluna2.getStyle('marginLeft'))||0;if(Mapa.ReSize.lessCol1)
this.amount=Mapa.ReSize.widthCol1;else this.amount=-(Mapa.ReSize.widthCol1=this.widthCol1);this.start();},update:function(position){var totPX=this.amount*position;this.coluna1.setStyle({width:this.widthCol1+totPX+'px'});this.barra.setStyle({left:this.leftSlide+totPX+'px'});this.coluna2.setStyle({'marginLeft':this.marginLeftCol2+totPX+'px'});},finish:function(){Mapa.ReSize.lessCol1=!Mapa.ReSize.lessCol1;Mapa.ReSize.terminated=true;mMapa.atualizarMapaRedim();if(this.coluna1.getStyle('width')=="0px"){this.coluna1.setStyle({width:'1px'});}}});Mapa.selControl=function(idUlControle,event){var ul=$(idUlControle);var divMapa=$(Event.findElement(event,'div')).up();var totPrevSib=divMapa.previousSiblings().length+1;var totNextSib=divMapa.nextSiblings().length;var position=totPrevSib;switch(totPrevSib+totNextSib){case 1:ul.down('li',0).className='divisao1 selecionado';ul.down('li',1).className='divisao2';break;case 2:ul.down('li',0).className='divisao1';ul.down('li',1).className='divisao2 selecionado'+position;break;}};Mapa.titleWin='MapLink';Mapa.openWindow=function(url){var win=new Window('iFrame_'+new Date().getTime(),{url:url,className:"windowsMapa",title:Mapa.titleWin,width:658,height:400,resizable:false,draggable:true,minimizable:false,maximizable:false});win.showCenter();win.setDestroyOnClose();win.show(true);};Mapa.alert=function(msg,function_){var windowHeight=WindowUtilities.getPageSize().windowHeight;Dialog.alert(msg,{windowParameters:{title:Mapa.titleWin,className:"windowsMapa",minWidth:290,maxWidth:450,maxHeight:(windowHeight-windowHeight*0.25),hideEffect:Element.hide,showEffect:Element.show},ok:function(){if(typeof function_=='function')function_();return true;}});};Mapa.toggleSelected=function(event){var li=$(Event.findElement(event,'li'));li.siblings().each(function(li){li.removeClassName('selecionado');});li.addClassName('selecionado');};Mapa.loadAgenda=function(url,idReturn){$('novoEndereco').update();$('novoGrupoAg').addClassName('desativado');$('novoEnderecoAg').addClassName('desativado');Mapa.loadAjax(url,idReturn);};Mapa.loadItensOfGroup=function(url,idReturn){$('exibicaoAgenda').addClassName('exibicao');$('novoEndereco').update();Mapa.loadAjax(url,idReturn||'detLIPessoais');};Mapa.loadAjax=function(url,idReturn,_parameters,functions){if(idReturn){var resBusca=$(idReturn);var loader=Mapa.loader(resBusca);}
try{new Ajax.Request(url,{method:'get',encoding:'iso-8859-1',parameters:_parameters||{},onSuccess:function(req){if(idReturn)
resBusca.update(req.responseText);if(functions instanceof Array&&functions.length>0){functions.each(function(_function){if(typeof _function=='function')_function();});}},onFailure:function(req){if(req.status==404)
Mapa.alert('The requested resource ('+url+') is not available.');else Mapa.alert(req.responseText);}});}
catch(e){if(idReturn)
loader.parentNode.removeChild(loader);throw e;}};Mapa.submit=function(div,action,options){div=$(div),options=Object.clone(options||{});var params=options.parameters;options.parameters=Form.serializeElements(new Selector('*').findElements(div),true);if(params){if(typeof params=='string')params=params.toQueryParams();Object.extend(options.parameters,params);}
if(!options.method)
options.method='POST';return new Ajax.Request(action,options);};Mapa.setEliminateClassInativo=function(div){inputs=((div&&(div instanceof String))?$(div).getElementsByTagName('INPUT'):document.getElementsByTagName('INPUT'));for(i=0;i<inputs.length;i++){var input=$(inputs[i]);if(input.type.toLowerCase()=='text'&&input.hasClassName('inativo'))
input.observe('focus',Mapa.eliminateClassInativo);}};Mapa.eliminateClassInativo=function(event){var input=$(Event.element(event));input.value='';input.removeClassName('inativo');input.stopObserving('focus',Mapa.eliminateClassInativo);};Event.observe(window,"load",function(){Try.these($("divCarregandoMapa").hide());Try.these(Mapa.setVariables());Try.these(Mapa.setEliminateClassInativo());Try.these(Mapa.resizePage());});Event.observe(window,"resize",function(){Try.these(Mapa.resizePage());});Mapa.changeAgenda=function(event){var li=$(Event.findElement(event,'li'));(li.previous()||li.next()).removeClassName('selecionado').addClassName('desativado');li.removeClassName('desativado').addClassName('selecionado');var trackSlide=$$('#'+li.up().id+' div.paginacao');if(trackSlide.length>0){if(li.hasClassName('ultimo'))
trackSlide[0].hide();else trackSlide[0].show();}};Mapa.addNewAdress=function(event,idUL,idNovoEndereco,url){var li=$(Event.findElement(event,'li'));li.removeClassName('desativado');(li.previous()||li.next()).addClassName('desativado');var ul=$(idUL);lis=ul.immediateDescendants();for(i=0;i<lis.length;i++){if(lis[i].visible()){Mapa.loadAjax(url,idNovoEndereco,null,[function(){Mapa.setEliminateClassInativo(idNovoEndereco);}]);break;}}};var MAPAOP={NOP:-1,LATLNG:0,ENDERECO:1,CIDADE:2,BAIRRO:3,INCIDENTE:4,TRECHO:5,ATIVIDADE:6,ROTA_URB:7,ROTA_ROD:8}
function MMapa()
{this.OP=MAPAOP.NOP;this.mapa=null;this.addLoc=null;this.cityLoc=null;this.estabelecimento=null;this.pontoLocal=null;this.localMarker=null;this.inicializado=false;this.gLargeMapControl=null;this.mIncidentesControl=null;this.mTipoMapaControl=null;this.mSituacaoTransitoControl=null;this.getURL=function()
{var cpz="&cpz="+MGlobalUtil.roundCoord(this.mapa.getCenter().lat())+","+MGlobalUtil.roundCoord(this.mapa.getCenter().lng())+","+this.mapa.getZoom();var url="http://www.maplink.com.br/v2/mapa.aspx?";switch(this.OP){case MAPAOP.ENDERECO:url+="t=add&str="+escape(this.addLoc.address.street)+"&nb="+this.addLoc.address.houseNumber
+"&zip="+escape(this.addLoc.address.zip)+"&dt="+escape(this.addLoc.address.district)
+"&ct="+escape(this.addLoc.address.city.name)+"&st="+this.addLoc.address.city.state
+"&lng="+MGlobalUtil.roundCoord(this.addLoc.point.x)+"&lat="+MGlobalUtil.roundCoord(this.addLoc.point.y);break;case MAPAOP.CIDADE:url+="t=ct&ct="+escape(this.cityLoc.city.name)+"&st="+this.cityLoc.city.state
+"&lng="+MGlobalUtil.roundCoord(this.cityLoc.point.x)+"&lat="+MGlobalUtil.roundCoord(this.cityLoc.point.y);break;case MAPAOP.BAIRRO:url+="t=dt&dt="+escape(mBairros.districtLoc.name)+"&ct="+escape(mBairros.districtLoc.city.name)+"&st="+mBairros.districtLoc.city.state
+"&lng="+MGlobalUtil.roundCoord(mBairros.districtLoc.point.x)+"&lat="+MGlobalUtil.roundCoord(mBairros.districtLoc.point.y);break;case MAPAOP.TRECHO:url+="t=trecho&trecho="+escape(mTransito.trecho.nome)+"&corredor="+escape(mTransito.trecho.corredor)
+"&sentido="+escape(mTransito.trecho.sentido)
+"&lng="+MGlobalUtil.roundCoord(mTransito.trecho.point.x)+"&lat="+MGlobalUtil.roundCoord(mTransito.trecho.point.y)
+"&st="+mTransito.uf;break;case MAPAOP.INCIDENTE:url+="t=inc&idinc="+mIncidentes.incidente.Id;break;case MAPAOP.ATIVIDADE:url+="t=atv&str="+escape(this.estabelecimento.addLoc.address.street)+"&nb="+this.estabelecimento.addLoc.address.houseNumber
+"&zip="+escape(this.estabelecimento.addLoc.address.zip)+"&dt="+escape(this.estabelecimento.addLoc.address.district)
+"&ct="+escape(this.estabelecimento.addLoc.address.city.name)+"&st="+this.estabelecimento.addLoc.address.city.state
+"&lng="+MGlobalUtil.roundCoord(this.estabelecimento.addLoc.point.x)+"&lat="+MGlobalUtil.roundCoord(this.estabelecimento.addLoc.point.y)
+"&tit="+escape(this.estabelecimento.titulo)+"&atv="+escape(this.estabelecimento.atividade)+"&f="+escape(this.estabelecimento.fone)
break;case MAPAOP.LATLNG:url+="t=ll&lng="+MGlobalUtil.roundCoord(this.pontoLocal.lng())+"&lat="+MGlobalUtil.roundCoord(this.pontoLocal.lat());break;case MAPAOP.ROTA_ROD:url+="t=ll&lng="+MGlobalUtil.roundCoord(this.mapa.getCenter().lng())+"&lat="+MGlobalUtil.roundCoord(this.mapa.getCenter().lat());break;case MAPAOP.ROTA_URB:var pts="";for(var i=0;i<mRota.DadosRotaUrbana.routeSummary.length;i++){pts+=MGlobalUtil.roundCoord(mRota.DadosRotaUrbana.routeSummary[i].point.y)+","+MGlobalUtil.roundCoord(mRota.DadosRotaUrbana.routeSummary[i].point.x);if(i+1!=mRota.DadosRotaUrbana.routeSummary.length)
pts+=";";}
url+="t=pru&pts="+pts;break;}
return url+cpz;}
this.inicializar=function(){this.mapa=new MMap2($("divMapa"));this.contextMenu=new ContextMenu("contextmenu","visualizacao");if(QueryString("t")=="aEND")
{$("ctl00_cphConteudo_txtCidadeUFEnd").value=MGlobalUtil.QS("ct")+(MGlobalUtil.QS("st")?", "+MGlobalUtil.QS("st"):"");$("ctl00_cphConteudo_txtRuaNumeroEnd").value=MGlobalUtil.QS("str")+(MGlobalUtil.QS("nb")?", "+MGlobalUtil.QS("nb"):"");if(QueryString("ctlat")&&QueryString("ctlng")){var cityLoc={};cityLoc.point=new MPoint();cityLoc.point.x=parseFloat(QueryString("ctlng"));cityLoc.point.y=parseFloat(QueryString("ctlat"));cityLoc.city=new MCity();cityLoc.city.name=MGlobalUtil.QS("ct");cityLoc.city.state=QueryString("st");this.mostrarCidade(cityLoc);this.adicionarControlesMapa(cityLoc.city);this.inicializado=true;__AC.ElementById("ctl00_cphConteudo_txtCidadeUFEnd")["selectedValue"]=eval("({'cityState':'"+cityLoc.city.name+","+cityLoc.city.state+"'})");__AC.ElementById("ctl00_cphConteudo_txtCidadeUFEnd")["geoCode"]=eval("({'x':"+cityLoc.point.x+",'y':"+cityLoc.point.y+"})");Mapa.toggleModulo('buscaendereco_02','_02',function(){$("btnMostrarEndereco").click();});}
else{this.abrirMapaPadrao();Mapa.toggleModulo('buscaendereco_02','_02');}}
else if(QueryString("t")=="aORU"){$("ctl00_cphConteudo_RUcidade").value=MGlobalUtil.QS("ct")+(MGlobalUtil.QS("st")?", "+MGlobalUtil.QS("st"):"");$("ctl00_cphConteudo_RUenderecoA").value=MGlobalUtil.QS("str")+(MGlobalUtil.QS("nb")?", "+MGlobalUtil.QS("nb"):"");this.mostrarPontoLocal(new GLatLng(parseFloat(QueryString("lat")),parseFloat(QueryString("lng"))),11);this.adicionarControlesMapa({name:MGlobalUtil.QS("ct"),state:MGlobalUtil.QS("st")});this.inicializado=true;__AC.ElementById("ctl00_cphConteudo_RUcidade")["selectedValue"]=eval("({'cityState':'"+MGlobalUtil.QS("ct")+","+MGlobalUtil.QS("st")+"'})");__AC.ElementById("ctl00_cphConteudo_RUcidade")["geoCode"]=eval("({'x':"+parseFloat(QueryString("lng"))+",'y':"+parseFloat(QueryString("lat"))+"})");__AC.ElementById("ctl00_cphConteudo_RUenderecoA")["selectedValue"]=eval("({'name':'"+MGlobalUtil.QS("str")+","+MGlobalUtil.QS("nb")+"','district':'"+MGlobalUtil.QS("dt")+"'})");__AC.ElementById("ctl00_cphConteudo_RUenderecoA")["geoCode"]=eval("({'x':'"+parseFloat(QueryString("lng"))+"','y':'"+parseFloat(QueryString("lat"))+"'})");Mapa.toggleModulo('rotasurbanas_02','_02',function(){$("ctl00_cphConteudo_RUenderecoB").focus();});}
else if(QueryString("t")=="aDRU"){$("ctl00_cphConteudo_RUcidade").value=MGlobalUtil.QS("ct")+(MGlobalUtil.QS("st")?", "+MGlobalUtil.QS("st"):"");$("ctl00_cphConteudo_RUenderecoB").value=MGlobalUtil.QS("str")+(MGlobalUtil.QS("nb")?", "+MGlobalUtil.QS("nb"):"");this.mostrarPontoLocal(new GLatLng(parseFloat(QueryString("lat")),parseFloat(QueryString("lng"))),11);this.adicionarControlesMapa({name:MGlobalUtil.QS("ct"),state:MGlobalUtil.QS("st")});this.inicializado=true;__AC.ElementById("ctl00_cphConteudo_RUcidade")["selectedValue"]=eval("({'cityState':'"+MGlobalUtil.QS("ct")+","+MGlobalUtil.QS("st")+"'})");__AC.ElementById("ctl00_cphConteudo_RUcidade")["geoCode"]=eval("({'x':"+parseFloat(QueryString("lng"))+",'y':"+parseFloat(QueryString("lat"))+"})");__AC.ElementById("ctl00_cphConteudo_RUenderecoB")["selectedValue"]=eval("({'name':'"+MGlobalUtil.QS("str")+","+MGlobalUtil.QS("nb")+"','district':'"+MGlobalUtil.QS("dt")+"'})");__AC.ElementById("ctl00_cphConteudo_RUenderecoB")["geoCode"]=eval("({'x':'"+parseFloat(QueryString("lng"))+"','y':'"+parseFloat(QueryString("lat"))+"'})");Mapa.toggleModulo('rotasurbanas_02','_02',function(){$("ctl00_cphConteudo_RUenderecoA").focus();});}
else if(QueryString("t")=="aRR"){this.abrirMapaPadrao();Mapa.toggleModulo('rotasrodoviarias_02','_02');}
else if(QueryString("t")=="aRU"){this.abrirMapaPadrao();Mapa.toggleModulo('rotasurbanas_02','_02');}
else if(QueryString("t")=="aLOC"){this.abrirMapaPadrao();Mapa.toggleModulo('buscalocal_02','_02');}
else if(QueryString("t")=="aST"){this.abrirMapaPadrao();Mapa.toggleModulo('situacao_02','_02');}
else if(QueryString("t")=="aCT"){this.abrirMapaPadrao();Mapa.toggleModulo('corredores_02','_02');}
else if(QueryString("t")=="aRAD"){this.abrirMapaPadrao();Mapa.toggleModulo('radares_02','_02');}
else if(QueryString("t")=="aCAM"){this.abrirMapaPadrao();Mapa.toggleModulo('cameras_02','_02');}
else if(QueryString("t")=="aBB"){this.abrirMapaPadrao();Mapa.toggleModulo('buscabairro_02','_02');}
else if(QueryString("t")=="aPI"){this.abrirMapaPadrao();Mapa.toggleModulo('pontos_02','_02');}
else if(QueryString("t")=="aAE"){this.abrirMapaPadrao();Mapa.toggleModulo('agenda_02','_02');}
else if(QueryString("t")=="prr"||QueryString("t")=="pru"){var pontosRota=QueryString("pts").split(";");var addsLoc=new Array();for(var i=0;i<pontosRota.length;i++){addsLoc[i]=new MAddressLocation();addsLoc[i].point=new MPoint();addsLoc[i].point.y=pontosRota[i].split(",")[0];addsLoc[i].point.x=pontosRota[i].split(",")[1];}
mMapa.mostrarPontoLocal(addsLoc[0].point,15);this.adicionarControlesMapa();this.inicializado=true;if(QueryString("t")=="prr")
mRota.TracarRotaQS(addsLoc,true);else if(QueryString("t")=="pru")
mRota.TracarRotaQS(addsLoc,false);}
else if(QueryString("t")=="ct"){var cityLoc={};cityLoc.point=new MPoint();cityLoc.point.x=parseFloat(QueryString("lng"));cityLoc.point.y=parseFloat(QueryString("lat"));cityLoc.city=new MCity();cityLoc.city.name=MGlobalUtil.QS("ct");cityLoc.city.state=QueryString("st");this.mostrarCidade(cityLoc);this.adicionarControlesMapa(cityLoc.city);this.inicializado=true;}
else if(QueryString("t")=="dt"){var districtLoc={};districtLoc.name=MGlobalUtil.QS("dt");districtLoc.city=new MCity();districtLoc.city.name=MGlobalUtil.QS("ct");districtLoc.city.state=QueryString("st");districtLoc.point=new MPoint();districtLoc.point.x=parseFloat(QueryString("lng"));districtLoc.point.y=parseFloat(QueryString("lat"));mBairros.mostrarBairro(districtLoc);this.adicionarControlesMapa(districtLoc.city);this.inicializado=true;}
else if(QueryString("t")=="trecho"){var x=parseFloat(QueryString("lng"));var y=parseFloat(QueryString("lat"));var trecho=MGlobalUtil.QS("trecho");var corredor=MGlobalUtil.QS("corredor");var sentido=MGlobalUtil.QS("sentido");var uf=QueryString("st");this.adicionarControlesMapa();mTransito.mostrarTrecho(x,y,trecho,corredor,sentido,uf);mTransito.mostrarAba();this.inicializado=true;}
else if(QueryString("t")=="ll"){var latlng=new GLatLng(parseFloat(QueryString("lat")),parseFloat(QueryString("lng")));var zoom=QueryString("z")?parseInt(QueryString("z"),10):15;this.mostrarPontoLocal(latlng,zoom,null);this.adicionarControlesMapa();this.inicializado=true;}
else if(QueryString("t")=="add"){var nivelZoom=parseInt(QueryString("z")?QueryString("z"):15,10);this.addLoc=new MAddressLocation();this.addLoc.address=new MAddress();this.addLoc.address.street=MGlobalUtil.QS("str");this.addLoc.address.houseNumber=QueryString("nb");this.addLoc.address.zip=MGlobalUtil.QS("zip");this.addLoc.address.district=MGlobalUtil.QS("dt");this.addLoc.address.city=new MCity();this.addLoc.address.city.name=MGlobalUtil.QS("ct");this.addLoc.address.city.state=QueryString("st");this.addLoc.point=new MPoint();this.addLoc.point.x=parseFloat(QueryString("lng"));this.addLoc.point.y=parseFloat(QueryString("lat"));this.mostrarEndereco(this.addLoc);this.adicionarControlesMapa(this.addLoc.address.city);this.inicializado=true;}
else if(QueryString("t")=="rt"){var addLocOrigem=null;var addLocDestino=null;if(QueryString("stro")!=""){addLocOrigem=new MAddressLocation();addLocOrigem.address=new MAddress();addLocOrigem.address.street=MGlobalUtil.QS("stro");addLocOrigem.address.houseNumber=QueryString("nbo");addLocOrigem.address.zip=MGlobalUtil.QS("zipo");addLocOrigem.address.district=MGlobalUtil.QS("dt");addLocOrigem.address.city=new MCity();addLocOrigem.address.city.name=MGlobalUtil.QS("cto");addLocOrigem.address.city.state=QueryString("sto");addLocOrigem.point=new MPoint();addLocOrigem.point.x=parseFloat(QueryString("lngo"));addLocOrigem.point.y=parseFloat(QueryString("lato"));}
else{addLocOrigem={};addLocOrigem.city=new MCity();addLocOrigem.city.name=MGlobalUtil.QS("cto");addLocOrigem.city.state=QueryString("sto");addLocOrigem.name=(addLocOrigem.city.name+", "+addLocOrigem.city.state);addLocOrigem.point=new MPoint();addLocOrigem.point.x=parseFloat(QueryString("lngo"));addLocOrigem.point.y=parseFloat(QueryString("lato"));}
if(QueryString("strd")!=""){addLocDestino=new MAddressLocation();addLocDestino.address=new MAddress();addLocDestino.address.street=MGlobalUtil.QS("strd");addLocDestino.address.houseNumber=QueryString("nbd");addLocDestino.address.zip=QueryString("zipd");addLocDestino.address.district=MGlobalUtil.QS("dt");addLocDestino.address.city=new MCity();addLocDestino.address.city.name=MGlobalUtil.QS("ctd");addLocDestino.address.city.state=QueryString("std");addLocDestino.point=new MPoint();addLocDestino.point.x=parseFloat(QueryString("lngd"));addLocDestino.point.y=parseFloat(QueryString("latd"));}
else{addLocDestino={};addLocDestino.city=new MCity();addLocDestino.city.name=MGlobalUtil.QS("ctd");addLocDestino.city.state=QueryString("std");addLocDestino.name=(addLocDestino.city.name+", "+addLocDestino.city.state);addLocDestino.point=new MPoint();addLocDestino.point.x=parseFloat(QueryString("lngd"));addLocDestino.point.y=parseFloat(QueryString("latd"));}
this.mostrarPontoLocal(addLocOrigem.point,11);this.adicionarControlesMapa((addLocOrigem.address?addLocOrigem.address.city:addLocOrigem.city));this.inicializado=true;mRota.TracarRotaQS([addLocOrigem,addLocDestino],null);}
else if(QueryString("idinc")!=""){mIncidentes.mostrarIncidentePorId();this.inicializado=true;}
else if(QueryString("t")=="atv")
{var addLoc=new MAddressLocation();addLoc.address=new MAddress();addLoc.address.street=MGlobalUtil.QS("str");addLoc.address.houseNumber=parseInt(QueryString("nb"),10);addLoc.address.district=MGlobalUtil.QS("dt");addLoc.address.zip=MGlobalUtil.QS("zip");addLoc.address.city=new MCity();addLoc.address.city.name=MGlobalUtil.QS("ct");addLoc.address.city.state=QueryString("st");addLoc.point=new MPoint();addLoc.point.x=parseFloat(QueryString("lng"));addLoc.point.y=parseFloat(QueryString("lat"));this.estabelecimento=new MEstabelecimento(addLoc,MGlobalUtil.QS("tit"),MGlobalUtil.QS("f"),MGlobalUtil.QS("atv"));this.estabelecimento.mostrarEstabelecimento();this.adicionarControlesMapa(addLoc.address.city);this.inicializado=true;this.OP=MAPAOP.ATIVIDADE;}
else if(QueryString("t")=="aECOLIFEMORUMBI"){this.mostrarPontoLocal(new GLatLng(-23.61102,-46.73291),15);this.adicionarControlesMapa(new MCity("São Paulo","SP"));this.inicializado=true;this.OP=MAPAOP.LATLNG;var winHeight=490;var winWidth=504;var winLeft=screen.width/2-winWidth/2;var winTop=screen.height/2-winHeight/2;window.open('PopupEcolifeMorumbi.aspx','EcolifeMorumbi','top=yes,toolbar=no,scrollbars=no,width='+winWidth+',height='+winHeight+',left='+winLeft+',top='+winTop);}
else if(QueryString("trf")=="t"){this.abrirMapaPadrao();mTransito.uf=QueryString("st");mTransito.mostrarAba();}
else{this.abrirMapaPadrao();}
gerenciadorPOIs.inicializar();}
this.abrirMapaPadrao=function()
{this.cityLoc={city:new MCity("São Paulo","SP"),point:new MPoint(-46.66583,-23.55854)};$("spanDescLocal").innerHTML=this.cityLoc.city.name+", "+this.cityLoc.city.state;this.mostrarPontoLocal(this.cityLoc.point,11);this.adicionarControlesMapa(this.cityLoc.city);this.inicializado=true;this.OP=MAPAOP.CIDADE;}
this.adicionarControlesMapa=function(city){if(!this.gLargeMapControl){this.gLargeMapControl=new GLargeMapControl();this.mapa.addControl(this.gLargeMapControl);}
if(!this.mIncidentesControl){this.mIncidentesControl=new MIncidentesControl();this.mapa.addControl(this.mIncidentesControl);}
if(!this.mTipoMapaControl){this.mTipoMapaControl=new MTipoMapaControl();this.mapa.addControl(this.mTipoMapaControl);}
if(typeof city!="undefined")
this.gerenciarSituacaoTransitoControl(city);}
this.gerenciarSituacaoTransitoControl=function(city){if(typeof city!="undefined"&&city.state&&(city.state=="SP"||city.state=="RJ"||city.state=="MG")){if(!this.mSituacaoTransitoControl){this.mSituacaoTransitoControl=new MSituacaoTransitoControl(city);this.mapa.addControl(this.mSituacaoTransitoControl);}
else{if($("dlST")&&$("dlST").hasClassName("ativo"))
MSituacaoTransitoControl.buscarResumo(city);else{MSituacaoTransitoControl.city=city;var lnkAlternarST=$("lnkAlternarST");if(city.state=="SP")
lnkAlternarST.innerHTML="Trânsito agora em <strong>São Paulo</strong>";else if(city.state=="RJ")
lnkAlternarST.innerHTML="Trânsito agora no <strong>Rio de Janeiro</strong>";else if(city.state=="MG")
lnkAlternarST.innerHTML="Trânsito agora em <strong>Belo Horizonte</strong>";}}}
else{if(this.mSituacaoTransitoControl){this.mapa.removeControl(this.mSituacaoTransitoControl);this.mSituacaoTransitoControl=null;}}}
this.mostrarPontoLocal=function(pontoLocal,zoom,icone,focus)
{if(typeof zoom=="undefined")var zoom=16;if(typeof focus=="undefined")var focus=true;if(typeof icone=="undefined")
var mostrarIcone=false;else{var mostrarIcone=true;if(icone==null){icone={}
icone.url="ic/ic_local.png";icone.largura=25;icone.altura=27;}}
if(typeof pontoLocal.lat=="undefined")
this.pontoLocal=pontoLocal=MGlobalUtil.fromMPointToGLatLng(pontoLocal);else
this.pontoLocal=pontoLocal;if(focus){if(this.localMarker){this.mapa.removeOverlay(this.localMarker);this.localMarker.closeMInfoWindow();this.localMarker=null;}
this.mapa.setCenter(pontoLocal);this.mapa.setZoom(zoom);this.mapa.savePosition();}
if(mostrarIcone){var baseIcon=new GIcon();baseIcon.shadow=null;baseIcon.shadowSize=null;baseIcon.infoShadowAnchor=null;baseIcon.iconSize=new GSize(icone.largura,icone.altura);if(typeof icone.anchor_x!="undefined"&&typeof icone.anchor_y!="undefined")
baseIcon.iconAnchor=new GPoint(icone.anchor_x,icone.anchor_y);else
baseIcon.iconAnchor=new GPoint(icone.largura/2,icone.altura/2);baseIcon.image="./imagens/"+icone.url;this.localMarker=new GMarker(pontoLocal,{icon:baseIcon});this.mapa.addOverlay(this.localMarker);}}
this.atualizarMapaRedim=function()
{if(this.mapa){if(this.mapa.getCenter()){var pontoCentral=this.mapa.getCenter();this.mapa.checkResize();this.mapa.panTo(pontoCentral);}}}
this.decidirExibicaoEnd=function()
{if(!__AC.SelectedValue("ctl00_cphConteudo_txtCidadeUFEnd")["cityState"])return;if((__AC.SelectedValue("ctl00_cphConteudo_txtRuaNumeroEnd")["name"])&&($("ctl00_cphConteudo_txtRuaNumeroEnd").value!="")){var endereco=__AC.GetAddLoc("ctl00_cphConteudo_txtRuaNumeroEnd");this.mostrarEndereco(endereco);}
else{var cidade=__AC.GetCityLoc("ctl00_cphConteudo_txtCidadeUFEnd");this.mostrarCidade(cidade);}}
this.mostrarEndereco=function(addLoc)
{if(typeof addLoc=="string")
this.addLoc=eval("("+addLoc+")");else if(typeof addLoc=="object")
this.addLoc=addLoc;else
return;var descEndInline=this.addLoc.address.street+", "+this.addLoc.address.houseNumber+". "+(this.addLoc.address.district?this.addLoc.address.district+", ":"")+this.addLoc.address.city.name+", "+this.addLoc.address.city.state+(this.addLoc.address.zip?". CEP: "+this.addLoc.address.zip:"");var descEndBlock=this.addLoc.address.street+", "+this.addLoc.address.houseNumber+"<br />"+(this.addLoc.address.district?this.addLoc.address.district+", ":"")+this.addLoc.address.city.name+", "+this.addLoc.address.city.state+(this.addLoc.address.zip?"<br /> CEP: "+this.addLoc.address.zip:"");$("spanDescLocal").innerHTML=descEndInline;this.mostrarPontoLocal(this.addLoc.point,16,null);this.mostrarInfoWindow({titulo:"Endereço",conteudo:descEndBlock,point:this.addLoc.point,registroAgenda:this.addLoc},{salvarAgenda:true,maisDetalhes:false,rota:true},300);this.gerenciarSituacaoTransitoControl(this.addLoc.city);this.OP=MAPAOP.ENDERECO;}
this.mostrarCidade=function(cityLoc)
{if(typeof cityLoc=="string")
this.cityLoc=eval("("+cityLoc+")");else if(typeof cityLoc=="object")
this.cityLoc=cityLoc;else
return;var descCidade=this.cityLoc.city.name+", "+this.cityLoc.city.state;$("spanDescLocal").innerHTML=descCidade
this.mostrarPontoLocal(this.cityLoc.point,11,null);this.mostrarInfoWindow({titulo:"Cidade",conteudo:descCidade},{salvarAgenda:false,maisDetalhes:false,rota:false},300);this.gerenciarSituacaoTransitoControl(this.cityLoc.city);this.OP=MAPAOP.CIDADE;}
this.mostrarInfoWindow=function(campos,opts,width,abrir)
{if(typeof abrir=="undefined")var abrir=false;if(abrir)
mMapa.localMarker.openMInfoWindow(campos,opts,width);GEvent.addListener(mMapa.localMarker,"click",function(){if(mMapa.localMarker.MInfoWindowInstance){mMapa.localMarker.closeMInfoWindow();}
else{mMapa.localMarker.openMInfoWindow(campos,opts,width);}});}}
var mMapa=new MMapa();function MEstabelecimento(addLoc,titulo,fone,atividade)
{this.addLoc=addLoc;this.titulo=titulo;this.fone=fone;this.atividade=atividade;this.mostrarEstabelecimento=function()
{var descEstab=this.titulo+", "+this.atividade+"<br />"+this.addLoc.address.street+", "+this.addLoc.address.houseNumber+"<br />"+(this.addLoc.address.district?this.addLoc.address.district+", ":"")+this.addLoc.address.city.name+", "+this.addLoc.address.city.state+(this.addLoc.address.zip?"<br /> CEP: "+this.addLoc.address.zip:"");$("spanDescLocal").innerHTML=this.titulo+", "+this.atividade+" ("+this.addLoc.address.street+", "+this.addLoc.address.houseNumber+". "+(this.addLoc.address.district?this.addLoc.address.district+", ":"")+this.addLoc.address.city.name+", "+this.addLoc.address.city.state+(this.addLoc.address.zip?". CEP: "+this.addLoc.address.zip:"")+")";mMapa.mostrarPontoLocal(this.addLoc.point,15,null);mMapa.mostrarInfoWindow({titulo:this.titulo,conteudo:descEstab,point:this.addLoc.point},{salvarAgenda:false,maisDetalhes:false,rota:true},300);mMapa.gerenciarSituacaoTransitoControl(this.addLoc.address.city);mMapa.inicializado=true;mMapa.OP=MAPAOP.ATIVIDADE;}}
function MLocais()
{this.estabs=new Array();this.markers=new Array();this.cityLoc=null;this.addLoc=null;this.atv=null;this.buscarLocais=function(){var atv,cityLoc,addLoc;atv=cityLoc=addLoc=this.atv=this.cityLoc=this.addLoc=null;if($("ctl00_cphConteudo_txtAtividade").value)
atv=$("ctl00_cphConteudo_txtAtividade").value;if((__AC.ElementById("ctl00_cphConteudo_txtCidadeUFLocal")["selectedValue"])&&($("ctl00_cphConteudo_txtCidadeUFLocal").value!=''))
cityLoc=__AC.GetCityLoc("ctl00_cphConteudo_txtCidadeUFLocal");if((__AC.ElementById("ctl00_cphConteudo_txtEnderecoLocal")["selectedValue"])&&($("ctl00_cphConteudo_txtEnderecoLocal").value!=''))
addLoc=__AC.GetAddLoc("ctl00_cphConteudo_txtEnderecoLocal");if(!atv&&(!cityLoc||!addLoc))
return;this.atv=atv;if(addLoc){this.addLoc=addLoc;PageMethods.getEstabelecimentosLbsXY(addLoc.point.x,addLoc.point.y,atv,4,30,this.buscarLocaisCallBack,MGlobalUtil.tratarErro,{point:this.addLoc.point,atividade:$("ctl00_cphConteudo_txtAtividade").value,pag:1});}
else if(cityLoc){this.cityLoc=cityLoc;PageMethods.getEstabelecimentosLbsXY(cityLoc.point.x,cityLoc.point.y,atv,8,50,this.buscarLocaisCallBack,MGlobalUtil.tratarErro,{point:this.cityLoc.point,atividade:$("ctl00_cphConteudo_txtAtividade").value,pag:1});}
if(addLoc||cityLoc){$("divAguardeBuscaLocal").show();$("divResBuscaLocal").hide();$("divPagBuscaLocal").hide();}}
this.buscarLocaisCallBack=function(estabs,cbObj)
{mLocais.estabs=estabs;if(parseInt(estabs.size)>0){var htmlLocais=new Array();htmlLocais.push("<ul>");for(var i=0;i<parseInt(estabs.size);i++){var coordsValidas=false;if(parseInt(estabs.POI[i].lon,10)!=0&&parseInt(estabs.POI[i].lat,10)!=0)coordsValidas=true;if(coordsValidas)htmlLocais.push("<li onmouseout='mLocais.removerDestaqueLILocal(this, "+i+");' onmouseover='mLocais.destacarLILocal(this, "+i+");' onclick='mLocais.mostrarLocal("+i+");'><div class='marcador'><div class='numero'>");else htmlLocais.push("<li><div class='marcador'><div class='numero'>");htmlLocais.push(i+1);htmlLocais.push("</div></div><div class='descricao_local'>");htmlLocais.push("<span class='nome_local'>"+estabs.POI[i].name+"</span>");htmlLocais.push("<span class='localizacao'>"+estabs.POI[i].street+(estabs.POI[i].number?", "+estabs.POI[i].number:"")+(estabs.POI[i].district?", "+estabs.POI[i].district:"")+(estabs.POI[i].phone1?". Fone: "+estabs.POI[i].phone1:"")+"</span>");if(coordsValidas)htmlLocais.push("<ol><li><a href='#' onclick='mLocais.mostrarLocal("+i+");'>Ver no mapa</a></li></ol>");htmlLocais.push("</div></li>");}
htmlLocais.push("</ul>");$("divResBuscaLocal").innerHTML=htmlLocais.join("");mLocais.adicionarLocais(0);var arrPontos=new Array();for(var i=0;i<parseInt(mLocais.estabs.size);i++){if(parseInt(mLocais.estabs.POI[i].lon,10)!=0&&parseInt(mLocais.estabs.POI[i].lat,10)!=0)
arrPontos.push(new GLatLng(mLocais.estabs.POI[i].lat,mLocais.estabs.POI[i].lon));}
var zoom=mLocais.calcularZoomMinimoPontos(arrPontos,MGlobalUtil.fromMPointToGLatLng(cbObj.point),mMapa.mapa.getBounds(),mMapa.mapa.getZoom());mMapa.mapa.setCenter(cbObj.point);mMapa.mapa.setZoom(zoom)}
else
$("divResBuscaLocal").innerHTML="<center><b>NENHUM ESTABELECIMENTO FOI ENCONTRADO</b></center>";$("divAguardeBuscaLocal").hide();$("divResBuscaLocal").show();}
this.calcularZoomMinimoPontos=function(pontos,pontoCentral,bounds,zoomAtual){var maiorDist=-1;for(var i=0;i<pontos.length;i++){var distPontos=MGlobalUtil.calcularDistPontos(pontos[i],pontoCentral);if(distPontos>maiorDist)
maiorDist=distPontos;}
var largura=MGlobalUtil.calcularDistPontos(new GLatLng(bounds.getSouthWest().lat(),bounds.getSouthWest().lng()),new GLatLng(bounds.getSouthWest().lat(),bounds.getNorthEast().lng()));var altura=MGlobalUtil.calcularDistPontos(new GLatLng(bounds.getSouthWest().lat(),bounds.getSouthWest().lng()),new GLatLng(bounds.getNorthEast().lat(),bounds.getSouthWest().lng()));var menorDim=largura<altura?largura:altura;var primeiroTermo=(menorDim/2)/Math.pow(2,17-zoomAtual);var i=0;while(maiorDist>primeiroTermo*Math.pow(2,i))
i++;return 17-i;}
this.removerLocais=function(){for(var i=0;i<this.markers.length;i++)
mMapa.mapa.removeOverlay(this.markers[i]);mLocais.markers.length=0;}
this.mostrarLocal=function(i){mMapa.mapa.setCenter(new GLatLng(this.estabs.POI[i].lat,this.estabs.POI[i].lon));if(mMapa.mapa.getZoom()<16)
mMapa.mapa.setZoom(16);}
this.destacarLocal=function(i){this.markers[i].highlight();}
this.removerDestaqueLocal=function(i){this.markers[i].soften();}
this.destacarLILocal=function(li,i){li.className="hover";this.destacarLocal(i);}
this.removerDestaqueLILocal=function(li,i){li.className="";this.removerDestaqueLocal(i);}
this.limparAbaLocais=function()
{$("divResBuscaLocal").innerHTML=$("divPagBuscaLocal").innerHTML="";this.removerLocais();}
this.adicionarLocais=function(valorInicial){this.removerLocais();for(var i=0;i<parseInt(this.estabs.size);i++)
this.adicionarLocal(this.estabs.POI[i],++valorInicial);}
this.adicionarLocal=function(estab,valorInicial){var icon=new MTaggedIcon();icon.image="/v2/imagens/ic/local_azul.gif";icon.swapImage="/v2/imagens/ic/local_laranja.gif"
icon.iconSize=new GSize(23,23);icon.iconAnchor=new GSize(12,12);icon.tag=valorInicial;icon.tagStyle="text-align: center; padding-top: 2px; color: White; font-weight: bold;";var marker=new MTaggedMarker(new GLatLng(estab.lat,estab.lon),{icon:icon});this.markers.push(marker);mMapa.mapa.addOverlay(marker);GEvent.addDomListener(marker.container,"click",function(){if(marker.MInfoWindowInstance)
marker.closeMInfoWindow();else{var pointMarker=MGlobalUtil.fromMPointToGLatLng(marker.point);var conteudo=estab.street+(estab.district?", "+estab.district:"")+(estab.phone1?"<br/>"+estab.phone1:"");var objMInfoWindow={};objMInfoWindow.titulo=estab.name;objMInfoWindow.conteudo=conteudo;objMInfoWindow.point=pointMarker;objMInfoWindow.descricao=estab.description;objMInfoWindow.nomeCadastrador=estab.user;objMInfoWindow.categoria=estab.category;objMInfoWindow.URLCategoria="javascript:void(0);";if(estab.photo_url.indexOf("http://")<0)
objMInfoWindow.URLFoto="http://www.apontador.com.br/"+estab.photo_url;else
objMInfoWindow.URLFoto=estab.photo_url;objMInfoWindow.URLVideo="";if(estab.url<=32)
objMInfoWindow.URLCliente=estab.url;else
objMInfoWindow.URLCliente=estab.url.substring(0,32)+"...";objMInfoWindow.email=estab.email;if(estab.icon_url.indexOf("http://")<0)
objMInfoWindow.URLImagem="http://www.apontador.com.br/"+estab.icon_url;else
objMInfoWindow.URLImagem=estab.icon_url;objMInfoWindow.URLPrintLog="javascript:void(0);";objMInfoWindow.URLClickLog=estab.url;objMInfoWindow.URLKML="http://www.apontador.com.br/"+estab.url_page_kml;marker.openMInfoWindow(objMInfoWindow,{salvarAgenda:false,maisDetalhes:false,rota:true},300);}});}}
var mLocais=new MLocais();function MTaggedMarker(point,icon){this.point=point;this.icon=icon.icon;}
MTaggedMarker.prototype=new GOverlay();MTaggedMarker.prototype.initialize=function(map){this.map_=map;var container=document.createElement("div");container.style.display="none";map.getPane(G_MAP_FLOAT_PANE).appendChild(container);this.container=container;}
MTaggedMarker.prototype.remove=function(){this.container.parentNode.removeChild(this.container);}
MTaggedMarker.prototype.copy=function(){return new MTaggedMarker(this.point,{icon:this.icon});}
MTaggedMarker.prototype.redraw=function(force){if(!force)return;var pixelLocation=this.map_.fromLatLngToDivPixel(this.point);this.container.innerHTML="<div style='"+this.icon.tagStyle+"'>"+this.icon.tag+"</div>";this.container.style.position="absolute";this.container.style.left=(pixelLocation.x-this.icon.iconSize.width/2)+"px";this.container.style.top=(pixelLocation.y-this.icon.iconSize.height/2)+"px";this.container.style.width=this.icon.iconSize.width+"px";this.container.style.height=this.icon.iconSize.height+"px";this.container.style.backgroundImage="url("+this.icon.image+")";this.container.style.display="block";var swapImage=this.icon.swapImage;var image=this.icon.image;this.container.onmouseover=function(){this.style.backgroundImage="url("+swapImage+")";}
this.container.onmouseout=function(){this.style.backgroundImage="url("+image+")";}}
MTaggedMarker.prototype.highlight=function()
{this.container.style.backgroundImage="url("+this.icon.swapImage+")";}
MTaggedMarker.prototype.soften=function()
{this.container.style.backgroundImage="url("+this.icon.image+")";}
MTaggedMarker.prototype.MInfoWindowInstance=null;MTaggedMarker.prototype.openMInfoWindow=function(campos,tipo,width){if(this.MInfoWindowInstance==null){this.MInfoWindowInstance=new MInfoWindow(this,campos,tipo,width);}
mMapa.mapa.addOverlay(this.MInfoWindowInstance);}
MTaggedMarker.prototype.closeMInfoWindow=function(){if(this.MInfoWindowInstance!=null){mMapa.mapa.removeOverlay(this.MInfoWindowInstance);this.MInfoWindowInstance=null;}}
MTaggedMarker.prototype.getPoint=function(){return this.point;}
MTaggedMarker.prototype.getIcon=function(){return this.icon;}
MTaggedIcon=function(image,swapImage,iconSize,iconAnchor,tag,tagStyle){this.image=image;this.swapImage=swapImage;this.iconSize=iconSize;this.iconAnchor=iconAnchor;this.tag=tag;this.tagStyle=tagStyle;this.shadow=null;this.shadowSize=null;this.infoShadowAnchor=null;}
function MBairros()
{this.districtLoc=null;this.listaBairrosCarregada=false;this.listarUFsBairros=function()
{if(!this.listaBairrosCarregada)
PageMethods.ListarUFsBairros(this.listarUFsBairrosCallBack,MGlobalUtil.tratarErro);}
this.listarUFsBairrosCallBack=function(listaUFs)
{var select=$("cboUFsBairros");for(var i=0;i<listaUFs.length;i++){select.options[select.options.length]=new Option(listaUFs[i],listaUFs[i]);if(listaUFs[i]=="SP")
select.selectedIndex=i;}
mBairros.listarCidadesBairros(select.options[select.selectedIndex].value)
mBairros.listaBairrosCarregada=true;}
this.listarCidadesBairros=function(uf)
{PageMethods.ListarCidadesBairros(uf,this.listarCidadesBairrosCallBack,MGlobalUtil.tratarErro);}
this.listarCidadesBairrosCallBack=function(listaCidades)
{var select=$("cboCidadesBairros");select.options.length=0;for(var i=0;i<listaCidades.length;i++)
select.options[select.options.length]=new Option(listaCidades[i].name,Sys.Serialization.JavaScriptSerializer.serialize(listaCidades[i]));mBairros.listarBairros(select.options[select.selectedIndex].value);}
this.listarBairros=function(strCidade)
{var cidade=Sys.Serialization.JavaScriptSerializer.deserialize(strCidade);PageMethods.ListarBairros(cidade.name,cidade.state,this.listarBairrosCallBack,MGlobalUtil.tratarErro);}
this.listarBairrosCallBack=function(listaBairros)
{var select=$("cboBairros");select.options.length=0;for(var i=0;i<listaBairros.length;i++)
select.options[select.options.length]=new Option(listaBairros[i].name,Sys.Serialization.JavaScriptSerializer.serialize(listaBairros[i]));}
this.mostrarBairro=function(districtLoc)
{if(typeof districtLoc=="string")
this.districtLoc=eval("("+districtLoc+")");else if(typeof districtLoc=="object")
this.districtLoc=districtLoc;else
return;var descBairro=this.districtLoc.name+", "+this.districtLoc.city.name+", "+this.districtLoc.city.state;$("spanDescLocal").innerHTML=descBairro;mMapa.mostrarPontoLocal(this.districtLoc.point,13,null);mMapa.mostrarInfoWindow({titulo:"Bairro",conteudo:descBairro},{salvarAgenda:false,maisDetalhes:false,rota:false},300);mMapa.gerenciarSituacaoTransitoControl(this.districtLoc.city);mMapa.OP=MAPAOP.BAIRRO;}}
var mBairros=new MBairros();function MIncidentes()
{this.inicializado=false;this.trafficUpdate=null;this.incidentes={};this.incidente=null;this.listarCategorias=function(codLocal)
{$("divAguardeIncidentes").show();$("divIncidentes").hide();PageMethods.ListarCategoriasTransito(codLocal,this.listarCategoriasCallBack,MGlobalUtil.tratarErro,{codLocal:codLocal});}
this.listarCategoriasCallBack=function(listaCategorias,CBobj)
{mIncidentes.inicializado=true;$("divAguardeIncidentes").hide();$("divIncidentes").show();var htmlCategorias="";var catDefault=-1;for(var i=0;i<listaCategorias.length;i++){if(listaCategorias[i].Id==3)catDefault=3;htmlCategorias+='<li id="liCatIncidente_'+listaCategorias[i].Id+'" class="'+(listaCategorias[i].Id==3?'ativo':'')+'">'
+'<a href="javascript:void(0);" onclick="mIncidentes.listarSubcategorias('+listaCategorias[i].Id+', '+CBobj.codLocal+');" title="Ver a lista de '+listaCategorias[i].Nome+'">'+listaCategorias[i].Nome+'</a>'
+'<ul></ul></li>';}
if(listaCategorias.length==0)
$("ulOcorrencias").innerHTML="<b>No momento, não há nenhum problema de trânsito cadastrado acontecendo nessa localidade.</b>";else{$("ulOcorrencias").innerHTML=htmlCategorias;if(catDefault==-1)catDefault=listaCategorias[0].Id;mIncidentes.listarSubcategorias(catDefault,CBobj.codLocal);}
switch(CBobj.codLocal){case 0:$("divCidadeSituacao").innerHTML="<b>Rodovias</b>";break;case 1:$("divCidadeSituacao").innerHTML="<b>São Paulo, SP</b>";break;case 2:$("divCidadeSituacao").innerHTML="<b>Rio de Janeiro, RJ</b>";break;}}
this.listarSubcategorias=function(idCategoria,codLocal)
{var liCatIncidenteRef=$("liCatIncidente_"+idCategoria);if(liCatIncidenteRef.className=="ativo")
liCatIncidenteRef.className="";else{liCatIncidenteRef.className="carregando";PageMethods.ListarSubcategoriasTransito(idCategoria,codLocal,this.listarSubcategoriasCallBack,MGlobalUtil.tratarErro,{idCategoria:idCategoria,codLocal:codLocal});}}
this.listarSubcategoriasCallBack=function(listaSubcategorias,CBobj)
{var htmlSubcategorias="";for(var i=0;i<listaSubcategorias.length;i++){htmlSubcategorias+='<li id="liSubcatIncidente_'+listaSubcategorias[i].Id+'" class="'+(i%2==0?'alt':'')+'"><a href="javascript:void(0);" onclick="mIncidentes.listarIncidentes('+listaSubcategorias[i].Id+', '+CBobj.codLocal+')" title="Ver a lista de '+listaSubcategorias[i].Nome+'"><b>'+listaSubcategorias[i].Nome+'</b></a><ul></ul></li>';}
var liCatIncidenteRef=$("liCatIncidente_"+CBobj.idCategoria);liCatIncidenteRef.down("ul").innerHTML=htmlSubcategorias;liCatIncidenteRef.className="ativo";if(listaSubcategorias.length==1)
mIncidentes.listarIncidentes(listaSubcategorias[0].Id,CBobj.codLocal);}
this.listarIncidentes=function(idSubcategoria,codLocal)
{var liSubcatIncidenteRef=$("liSubcatIncidente_"+idSubcategoria);if(liSubcatIncidenteRef.hasClassName("ativo"))
liSubcatIncidenteRef.removeClassName("ativo");else{liSubcatIncidenteRef.addClassName("carregando");PageMethods.ListarIncidentesTransito(idSubcategoria,codLocal,this.listarIncidentesCallBack,MGlobalUtil.tratarErro,{idSubcategoria:idSubcategoria,codLocal:codLocal});}}
this.listarIncidentesCallBack=function(listaIncidentes,CBobj)
{var htmlIncidentes="";mIncidentes.incidentes[CBobj.idSubcategoria]={}
for(var i=0;i<listaIncidentes.length;i++){mIncidentes.incidentes[CBobj.idSubcategoria][listaIncidentes[i].Id]=listaIncidentes[i];htmlIncidentes+='<li><a href="javascript:void(0);" onclick="mIncidentes.mostrarIncidente('+CBobj.idSubcategoria+', '+listaIncidentes[i].Id+');" title="Ver '+listaIncidentes[i].Titulo+' no mapa">'+listaIncidentes[i].Titulo+'</a></li>';}
var liSubcatIncidenteRef=$("liSubcatIncidente_"+CBobj.idSubcategoria);liSubcatIncidenteRef.down("ul").innerHTML=htmlIncidentes;liSubcatIncidenteRef.removeClassName("carregando");liSubcatIncidenteRef.addClassName("ativo");}
this.removerOverlayIncidentes=function()
{if(this.trafficUpdate){this.trafficUpdate.clearTraffic();this.trafficUpdate=null;}}
this.adicionarOverlayIncidentes=function()
{if(!this.trafficUpdate){this.trafficUpdate=new TrafficUpdate(mMapa.mapa);this.trafficUpdate.updateTraffic($("ctl00_cphConteudo_hdnMinutos").value);}
else{this.trafficUpdate.updateTraffic($("ctl00_cphConteudo_hdnMinutos").value);}}
this.alternarOverlayIncidentes=function()
{if(this.trafficUpdate)
this.removerOverlayIncidentes();else
this.adicionarOverlayIncidentes();}
this.mostrarIncidente=function(idSubcategoria,idIncidente){MIncidentesControl.adicionarIncidentes();var incidente=this.incidentes[idSubcategoria][idIncidente];var htmlJanelaIncidente=this.criarHTMLJanelaIncidente(incidente);var width=300;if(incidente.Texto.length>300)
width=500;mMapa.mostrarPontoLocal(new MPoint(incidente.X,incidente.Y),14,{url:"ic/"+incidente.Icone,largura:incidente.IconeLargura,altura:incidente.IconeAltura});mMapa.mostrarInfoWindow({titulo:incidente.Titulo,conteudo:htmlJanelaIncidente,urlMaisDetalhes:incidente.URLDetalhes},{salvarAgenda:false,maisDetalhes:true,rota:false},width);mMapa.gerenciarSituacaoTransitoControl(new MCity(incidente.Cidade,incidente.UF));this.incidente=incidente;mMapa.OP=MAPAOP.INCIDENTE;}
this.buscarIncidentePorId=function(idIncidente)
{if(typeof idIncidente!="undefined"&&idIncidente)
PageMethods.BuscarIncidenteTransito(idIncidente,this.mostrarIncidentePorId,MGlobalUtil.tratarErro);else
this.mostrarIncidentePorId();}
this.mostrarIncidentePorId=function(incidente)
{if(typeof incidente=="undefined"||!incidente){var hdnIncidente=$("ctl00_cphConteudo_hdnIncidente");if(hdnIncidente&&hdnIncidente.value){var incidente=Sys.Serialization.JavaScriptSerializer.deserialize(hdnIncidente.value)}}
if(typeof incidente!="undefined"&&incidente){var htmlJanelaIncidente=mIncidentes.criarHTMLJanelaIncidente(incidente);var width=300;if(incidente.Texto.length>300)
width=500;mMapa.mostrarPontoLocal(new MPoint(incidente.X,incidente.Y),14,{url:"ic/"+incidente.Icone,largura:incidente.IconeLargura,altura:incidente.IconeAltura});mMapa.adicionarControlesMapa(new MCity(incidente.Cidade,incidente.UF));mMapa.mostrarInfoWindow({titulo:incidente.Titulo,conteudo:htmlJanelaIncidente,urlMaisDetalhes:incidente.URLDetalhes},{salvarAgenda:false,maisDetalhes:true,rota:false},width);mMapa.inicializado=true;this.incidente=incidente;mMapa.OP=MAPAOP.INCIDENTE;}}
this.criarHTMLJanelaIncidente=function(incidente)
{var htmlConteudo="<b>"+incidente.Categoria+" - "+incidente.Subcategoria+"</b><br/>";htmlConteudo+="<b>Local: </b>"+incidente.Cidade+", "+incidente.UF+(incidente.Local=="Rodovias"?" (Rodovia)":"")+"<br />";if(incidente.PeriodoData)
htmlConteudo+="<b>Duração: </b>"+incidente.PeriodoData+"<br />";else{if(incidente.PeriodoDiasSemana)
htmlConteudo+="<b>Dias da semana: </b>"+incidente.PeriodoDiasSemana+"<br />";if(incidente.Vitimas)
htmlConteudo+="<b>Vítimas: </b>"+incidente.Vitimas+"<br />";htmlConteudo+="<b>Horário: </b>"+incidente.PeriodoHorario+"<br />";}
htmlConteudo+="<br />"+incidente.Texto;return htmlConteudo;}}
var mIncidentes=new MIncidentes();var __TTime="";function MTransito()
{this.overlayTransito=null;this.uf="SP";this.trecho=null;this.removerOverlayTransito=function()
{if(this.overlayTransito){mMapa.mapa.removeOverlay(this.overlayTransito);this.overlayTransito=null;}}
this.adicionarOverlayTransito=function()
{if(!this.overlayTransito){this.overlayTransito=new GTileLayerOverlay(ctransitoOverlay)
mMapa.mapa.addOverlay(this.overlayTransito);}}
this.alternarOverlayTransito=function(){if(this.overlayTransito)
this.removerOverlayTransito();else
this.adicionarOverlayTransito();}
this.atualizarTransito=function()
{this.buscaCorredores(this.uf);}
this.buscaCorredores=function(uf){if(typeof uf!="undefined")
this.uf=uf;Element.hide("divCorredores");Element.show("divAguardeTransito");PageMethods.BuscarCorredores(this.uf,this.buscaCorredoresCallBack,MGlobalUtil.tratarErro);}
this.buscaCorredoresCallBack=function(infosCorredores){__TTime=infosCorredores[0].info[0].date+" "+infosCorredores[0].info[0].time;var divResumoRef=$("divResumo");divResumoRef.down("li",0).innerHTML="<span style='font-weight:bold'>Atualizado: "+infosCorredores[0].info[0].date+" - "+infosCorredores[0].info[0].time+"</span>";var cor;switch(infosCorredores[0].info[0].situation.toUpperCase()){case"RUIM":case"LENTO":case"SUPER LENTO":case"CRITICO":cor="Red";break;case"MEDIO":cor="#FF9900";break;case"BOM":cor="Green";break;}
if(cor){divResumoRef.down("li",1).innerHTML="<span style='font-weight:bold'>Congestionado: <span style='color:"+cor+"'>"+infosCorredores[0].info[0].km+" KM</span></span>";divResumoRef.down("li",2).innerHTML="<span style='font-weight:bold;'>Tráfego: <span style='color:"+cor+"'>"+infosCorredores[0].info[0].situation.toUpperCase()+"</span></span>";}
else{divResumoRef.down("li",1).innerHTML="<span style='font-weight:bold'>Congestionado: "+infosCorredores[0].info[0].km+" KM</span>";divResumoRef.down("li",2).innerHTML="<span style='font-weight:bold;'>Tráfego: "+infosCorredores[0].info[0].situation.toUpperCase()+"</span>";}
var htmlCorredores="<ul>";for(var i=0;i<infosCorredores[1].corridor.length;i++){htmlCorredores+="<li id='li_corredor_"+infosCorredores[1].corridor[i].codCorridor+"' class='condicao "+(i%2?"":"cor1 ")+mTransito.retornaClasseCondicao(mTransito.uf,infosCorredores[1].corridor[i].levelCongested)+"'><a href='javascript:void(0);' onclick='mTransito.buscaTrechos(\""+infosCorredores[0].info[0].city.state.toUpperCase()+"\", "+infosCorredores[1].corridor[i].codCorridor+", \""+infosCorredores[1].corridor[i].nameCorridor+"\", \""+"li_corredor_"+infosCorredores[1].corridor[i].codCorridor+"\");' title='Selecione "+infosCorredores[1].corridor[i].nameCorridor+"' >"+infosCorredores[1].corridor[i].nameCorridor+"</a><div id='div_li_corredor_"+infosCorredores[1].corridor[i].codCorridor+"' style='display:none'></div></li>";}
htmlCorredores+="</ul>";$("divListaCorredores").innerHTML=htmlCorredores;Element.hide("divAguardeTransito");Element.show("divCorredores");var cidade="São Paulo";if(infosCorredores[0].info[0].city.state.toUpperCase()=="RJ")cidade="Rio de Janeiro";else if(infosCorredores[0].info[0].city.state.toUpperCase()=="MG")cidade="Belo Horizonte";$("divCidade").down("span",0).innerHTML=cidade;}
this.retornaClasseCondicao=function(uf,levelCongested){var classe="sem-informacoes";switch(levelCongested){case 0:{classe="livre";break;}
case 1:{classe="lento";break;}
case 2:{classe="intenso";break;}
case 4:{classe="sem-informacoes";break;}
default:{classe="sem-informacoes";break;}}
return classe;}
this.buscaTrechos=function(uf,cod,nomeCorredor,id_li)
{div=$("div_"+id_li);if(div.style.display=="block")
div.style.display="none";else{var li=$(id_li);PageMethods.BuscarTrechos(uf,cod,this.buscaTrechosCallBack,MGlobalUtil.tratarErro,{nomeCorredor:nomeCorredor,id:id_li,originalClassName:li.className});li.className="carregando";}}
this.buscaTrechosCallBack=function(infosTrechos,cbObj)
{var htmlTrechos="<ul>";var direcao1="";for(var i=0;i<infosTrechos.excerpt.length;i++){if(infosTrechos.excerpt[i].direction!=direcao1){direcao1=infosTrechos.excerpt[i].direction;htmlTrechos+="<li class='sentido'><span style='font-weight:bold'>Sentido "+infosTrechos.excerpt[i].direction+"</span></li>";}
htmlTrechos+="<li class='condicao "+mTransito.retornaClasseCondicao(mTransito.uf,infosTrechos.excerpt[i].levelCongested)+"'><a href='javascript:void(0)' onclick='mTransito.mostrarTrecho("+infosTrechos.excerpt[i].point.x+", "+infosTrechos.excerpt[i].point.y+", \""+infosTrechos.excerpt[i].nameExcerpt+"\", \""+cbObj.nomeCorredor+"\", \""+infosTrechos.excerpt[i].direction+"\");' title='Visualize "+infosTrechos.excerpt[i].nameExcerpt+"'>"+infosTrechos.excerpt[i].nameExcerpt+"</a></li>";}
htmlTrechos+="</ul>";$(cbObj.id).className=cbObj.originalClassName;var div=$("div_"+cbObj.id);div.innerHTML=htmlTrechos;div.style.display="block";}
this.mostrarTrecho=function(x,y,trecho,corredor,sentido,uf)
{if(typeof uf!="undefined")
this.uf=uf;var city;if(this.uf=="SP")
city=new MCity("São Paulo","SP");else if(this.uf=="RJ")
city=new MCity("Rio de Janeiro","RJ");else if(this.uf=="MG")
city=new MCity("Belo Horizonte","MG");else
city=new MCity("São Paulo","SP");$("spanDescLocal").innerHTML=trecho+", "+corredor+" ("+sentido+"). "+city.name+", "+city.state;mMapa.mostrarPontoLocal(new GLatLng(y,x),16);mMapa.gerenciarSituacaoTransitoControl(city);this.trecho={}
this.trecho.point=new MPoint();this.trecho.point.x=x;this.trecho.point.y=y;this.trecho.city=city;this.trecho.nome=trecho;this.trecho.corredor=corredor;this.trecho.sentido=sentido;mMapa.OP=MAPAOP.TRECHO;}
this.mostrarAba=function(){if($("corredores_02").up().hasClassName("ativo")){this.atualizarTransito();}
else{Mapa.toggleModulo('corredores_02','_02');}}}
var mTransito=new MTransito();var MGlobalUtil={};MGlobalUtil.fromMPointToGLatLng=function(ponto)
{return new GLatLng(ponto.y,ponto.x);}
MGlobalUtil.tratarErro=function(e)
{if(Sys.Debug.isDebug){var strErro="Erro\n\n"
+"[Message: "+e.get_message()+"]\n"
+"[StackTrace: "+e.get_stackTrace()+"]\n"
+"[ExceptionType: "+e.get_exceptionType()+"]"
alert(strErro);}}
MGlobalUtil.QS=function(key)
{return unescape(QueryString(key));}
MGlobalUtil.roundCoord=function(coord)
{var divisor=100000;return Math.round(coord*divisor)/divisor;}
MGlobalUtil.calcularDistPontos=function(ponto1,ponto2){return Math.sqrt(Math.pow(ponto1.lat()-ponto2.lat(),2)+Math.pow(ponto1.lng()-ponto2.lng(),2))*102960;}
function MSituacaoTransitoControl(city){if(typeof city!="undefined")
MSituacaoTransitoControl.city=city;else
MSituacaoTransitoControl.city=null;}
MSituacaoTransitoControl.prototype=new GControl();MSituacaoTransitoControl.prototype.initialize=function(map){var div=document.createElement("div");div.innerHTML='<dl id="dlST" class="situacao_transito">'+'<dt><a id="lnkAlternarST" class="carregando" href="javascript:void(0)" onclick="MSituacaoTransitoControl.alternarExibicao()" title="Mais detalhes"></a></dt>'+'<dd class="ruim">'+'<ul>'+'<li id="liCondicaoST"></li>'+'<li><span id="spanKmsST">128</span> Km de congestionamento</li>'+'<li id="liAtualizadoST"></li>'+'</ul>'+'<a href="javascript:void(0);" onclick="MSituacaoTransitoControl.mostrarAba()" title="Veja mais detalhes">Clique e veja mais detalhes</a>'+'</dd>'+'</dl>';map.getContainer().appendChild(div);MSituacaoTransitoControl.buscarResumo();return div;}
MSituacaoTransitoControl.prototype.getDefaultPosition=function(){return new GControlPosition(G_ANCHOR_TOP_RIGHT,new GSize(0,32));}
MSituacaoTransitoControl.alternarExibicao=function(){var dlST=$("dlST");if(dlST.hasClassName("ativo"))
dlST.removeClassName("ativo");else
MSituacaoTransitoControl.buscarResumo();}
MSituacaoTransitoControl.buscarResumo=function(city){if(!MSituacaoTransitoControl.city)MSituacaoTransitoControl.city=new MCity("São Paulo","SP");if(typeof city!="undefined")MSituacaoTransitoControl.city=city;var lnkAlternarST=$("lnkAlternarST");if(MSituacaoTransitoControl.city.state=="SP")
lnkAlternarST.innerHTML="Trânsito agora em <strong>São Paulo</strong>";else if(MSituacaoTransitoControl.city.state=="RJ")
lnkAlternarST.innerHTML="Trânsito agora no <strong>Rio de Janeiro</strong>";else if(MSituacaoTransitoControl.city.state=="MG")
lnkAlternarST.innerHTML="Trânsito agora em <strong>Belo Horizonte</strong>";lnkAlternarST.className="carregando";PageMethods.BuscarResumo(MSituacaoTransitoControl.city.name,MSituacaoTransitoControl.city.state,function(resumoTransito){var preposicao=" em SP";switch(resumoTransito.info[0].city.state){case"SP":preposicao=" em SP";break;case"RJ":preposicao=" em RJ";break;case"MG":preposicao=" em MG";break;}
var dlST=$("dlST");dlST.addClassName("ativo");$("lnkAlternarST").className="";$("liCondicaoST").innerHTML="Trânsito <span>"+resumoTransito.info[0].situation+"</span>"+preposicao;$("spanKmsST").innerHTML=resumoTransito.info[0].km;$("liAtualizadoST").innerHTML="Atualizado às "+resumoTransito.info[0].time;switch(resumoTransito.info[0].situation.toUpperCase()){case"BOM":$("dlST").down("dd").className="bom";break;case"MEDIO":$("dlST").down("dd").className="medio";break;case"RUIM":case"LENTO":case"SUPER LENTO":case"CRITICO":$("dlST").down("dd").className="ruim";break;}},MGlobalUtil.tratarErro);}
MSituacaoTransitoControl.cityBuscar=null;MSituacaoTransitoControl.mostrarAba=function()
{if($("corredores_02").up().hasClassName("ativo")){mTransito.buscaCorredores(MSituacaoTransitoControl.city.state);}
else{MSituacaoTransitoControl.cityBuscar=MSituacaoTransitoControl.city;Mapa.toggleModulo('corredores_02','_02');}
mMapa.mapa.setZoom(13);}
function MIncidentesControl(){};MIncidentesControl.prototype=new GControl();MIncidentesControl.prototype.initialize=function(map){var div=document.createElement("div");div.innerHTML='<div id="divIncidentesTransito" class="mapa_ocorrencias exibir">'+'<div>'+'<span id="spanIncidentesTransito" onclick="MIncidentesControl.alternarExibicao()" title="Exibir/Ocultar"></span>'+'</div>'+'<div>'+'<ul id="ulIncidentesTransito" style="display: block">'+'<li><label for="op_corredores"><input type="checkbox" name="op_corredores" id="op_corredores" onclick="MIncidentesControl.alternarCorredores();"/> Corredores</label></li>'+'<li><label for="op_transito"><input type="checkbox" name="op_transito" id="op_transito" onclick="MIncidentesControl.alternarIncidentes();"/> Trânsito</label></li>'+'<li><label for="op_pontos"><input type="checkbox" name="op_pontos" id="op_pontos" checked onclick="MIncidentesControl.alternarIcones();"/> Ícones</label></li>'+'</ul>'+'</div>'+'</div>';map.getContainer().appendChild(div);return div;}
MIncidentesControl.alternarIcones=function(){if($("op_pontos").checked){gerenciadorPOIs.buscar();}
else{gerenciadorPOIs.removerPOIsPadrao();}}
MIncidentesControl.adicionarIcones=function(chk){if(typeof chk=="undefined"){if($("op_pontos").checked){gerenciadorPOIs.buscar();}}
else{if(!chk.checked){gerenciadorPOIs.removerPOIsOpcionais();gerenciadorPOIs.buscar();}
else{gerenciadorPOIs.buscar();}}}
MIncidentesControl.marcarIcones=function(valor){$("op_pontos").checked=valor;}
MIncidentesControl.alternarCorredores=function()
{if($("op_corredores").checked){mTransito.adicionarOverlayTransito();}
else{mTransito.removerOverlayTransito();}}
MIncidentesControl.removerCorredores=function(){if(!$("op_corredores").checked){mTransito.removerOverlayTransito();}}
MIncidentesControl.adicionarCorredores=function(){if(!$("op_corredores").checked){mTransito.adicionarOverlayTransito();$("op_corredores").checked=true;}}
MIncidentesControl.alternarIncidentes=function(){if($("op_transito").checked){gerenciadorPOIs.buscar();}
else{gerenciadorPOIs.removerPOIsIncidentes();}}
MIncidentesControl.removerIncidentes=function(){if(!$("op_transito").checked){gerenciadorPOIs.removerPOIsIncidentes();}}
MIncidentesControl.adicionarIncidentes=function(){if(!$("op_transito").checked){$("op_transito").checked=true;gerenciadorPOIs.buscar();}}
MIncidentesControl.prototype.getDefaultPosition=function(){return new GControlPosition(G_ANCHOR_TOP_RIGHT,new GSize(0,0));}
MIncidentesControl.alternarExibicao=function(){if($("divIncidentesTransito").hasClassName("ocultar")){$("divIncidentesTransito").removeClassName("ocultar");if(navigator.appVersion.indexOf("MSIE")!=-1)
$("divTipoMapa").up().style.right="255px";else
$("divTipoMapa").up().style.right="219px";}
else{$("divIncidentesTransito").addClassName("ocultar");$("divTipoMapa").up().style.right="33px";}
$("ulIncidentesTransito").toggle();}
function MTipoMapaControl(){};MTipoMapaControl.prototype=new GControl();MTipoMapaControl.prototype.initialize=function(map){var div=document.createElement("div");div.innerHTML='<div id="divTipoMapa">'+'<ul class="modos">'+'<li class="ativo"><a id="lnkMapa" href="javascript:void(0);" onclick="MTipoMapaControl.mudarTipoMapa(M_ROAD_MAP, \'lnkMapa\')" title="Mapa">Mapa</a></li>'+'<li><a id="lnkSatelite" href="javascript:void(0);" onclick="MTipoMapaControl.mudarTipoMapa(M_SATELLITE_MAP, \'lnkSatelite\')" title="Satélite">Satélite</a></li>'+'<li><a id="lnkHibrido" href="javascript:void(0);" onclick="MTipoMapaControl.mudarTipoMapa(M_HYBRID_MAP, \'lnkHibrido\')" title="Híbrido">Híbrido</a></li>'+'</ul>'+'</div>'
map.getContainer().appendChild(div);return div;}
MTipoMapaControl.prototype.getDefaultPosition=function(){if(navigator.appVersion.indexOf("MSIE")!=-1)
return new GControlPosition(G_ANCHOR_TOP_RIGHT,new GSize(255,0));else
return new GControlPosition(G_ANCHOR_TOP_RIGHT,new GSize(219,0));}
MTipoMapaControl.mudarTipoMapa=function(TIPO_MAPA,idLnk){$(idLnk).up("li").siblings().each(function(li){li.removeClassName("ativo")});$(idLnk).up("li").addClassName("ativo");setType(TIPO_MAPA);}
var mInfoWindow=null;function MInfoWindow(marker,campos,opts,width)
{if(mInfoWindow)
mInfoWindow.marker.closeMInfoWindow();this.marker=marker;this.campos=campos;this.width_=width;this.opts_=opts;mInfoWindow=this;}
MInfoWindow.prototype=new GOverlay();MInfoWindow.prototype.initialize=function(map)
{this.map_=map;var container=document.createElement("div");container.style.display="none";map.getPane(G_MAP_FLOAT_PANE).appendChild(container);this.container_=container;GEvent.bindDom(this.container_,'mousedown',this,this.onClick_);GEvent.bindDom(this.container_,'dblclick',this,this.onClick_);GEvent.bindDom(this.container_,'DOMMouseScroll',this,this.onClick_);}
MInfoWindow.prototype.onClick_=function(e){if(navigator.userAgent.toLowerCase().indexOf('msie')!=-1&&document.all){window.event.cancelBubble=true;window.event.returnValue=false;}else{e.stopPropagation();}}
MInfoWindow.prototype.remove=function()
{this.container_.parentNode.removeChild(this.container_);}
MInfoWindow.prototype.copy=function()
{return new MInfoWindow(this.marker,this.html_,this.width_);}
MInfoWindow.prototype.redraw=function(force){if(!force)return;var content=document.createElement("span");if(this.campos.titulo=="Destino"||this.campos.titulo=="Origem")this.width_=265;var htmlJanela="<div id='maptip' style='width: "+this.width_+"px; '>"+"<div id='fechar' onclick='mInfoWindow.marker.closeMInfoWindow();'></div>"+"<div id='corner_top_left'></div>"+"<div id='corner_top_right'></div>"+"<div id='maptip_content' style=''>"+"<div class='aptMapTip'>"+
(this.campos.titulo!="Destino"&&this.campos.titulo!="Origem"?"<div class='header'>"+"<ul>"+"<li><a id='abaInformacoes' href='javascript:void(0);' onclick='MapTip.mudarAba(&quot;abaInformacoes&quot;, &quot;contentInformacoes&quot;);' title='Informações'><span class='select'><img src='http://www.apontador.com.br/produtos/images/maps/icon-info.gif' />&nbsp;Informações</span></a></li>"+"<li><a id='abaVideos' href='javascript:void(0);' onclick='MapTip.mudarAba(&quot;abaVideos&quot;, &quot;contentVideo&quot;);' title='Vídeo'><span><img src='http://www.apontador.com.br/produtos/images/maps/icon-video.gif' />&nbsp;Vídeo</span></a></li>"+"<li><a id='abaFoto' href='javascript:void(0);' onclick='MapTip.mudarAba(&quot;abaFoto&quot;, &quot;contentFoto&quot;);' title='Foto'><span><img src='http://www.apontador.com.br/produtos/images/maps/icon-photo.gif' />&nbsp;Foto</span></a></li>"+"</ul>"+"</div>"+"<br style='clear: both;' />":"")+"<div id='contentInformacoes' class='content' style='"+(!this.campos.categoria?"height: 190px":"")+"'>"+
(this.campos.URLImagem?"<img width='64' vspace='5' hspace='5' height='64' align='left' style='margin-right: 5px;' src='"+this.campos.URLImagem+"' />":"")+
(this.campos.titulo?"<h1>"+
(this.campos.URLLocal?"<a title='Ver detalhes sobre o ponto' href='"+this.campos.URLLocal+"'>"+this.campos.titulo+"</a>":"")+
(!this.campos.URLLocal?this.campos.titulo:"")+"</h1><br />":"")+
this.campos.conteudo+"<br />"+
(this.campos.URLClickLog&&this.campos.URLCliente?"<a href='"+this.campos.URLClickLog+"' target='_blank'>"+this.campos.URLCliente+"</a><br />":"")+
(!(this.campos.URLClickLog&&this.campos.URLCliente)&&this.campos.urlMaisDetalhes?"<a href='"+this.campos.urlMaisDetalhes+"' target='_blank'>Mais detalhes</a><br />":"")+
(this.campos.email?"<b>E-mail: </b><a href='mailto:"+this.campos.email+"'>"+this.campos.email+"<br />":"")+
(this.campos.categoria?"<b>Categoria: </b> <a href='"+this.campos.URLCategoria+"' >"+this.campos.categoria+"</a><br />":"")+
(this.campos.nomeCadastrador?"<b>Cadastrado Por: </b>"+this.campos.nomeCadastrador+"<br />":"")+
(this.campos.descricao?"<b>Descrição do Local: </b>"+this.campos.descricao:"")+
(this.opts_.rota||this.campos.URLKML?"<div class='lineHr'>"+"<div class='links'>"+
(this.opts_.rota?"Traçar rota: "+
(this.opts_.rota?"<a href='javascript:void(0);' onclick='M_MUTEX=0;mRota.DefinirEnderecoOrigem("+this.campos.point.x+","+this.campos.point.y+");'>Sair daqui </a> - ":"")+
(this.opts_.rota?"<a href='javascript:void(0);' onclick='M_MUTEX=0;mRota.DefinirEnderecoDestino("+this.campos.point.x+","+this.campos.point.y+");'>Chegar aqui</a>":""):"")+"<br />"+
(this.campos.URLKML?"Funcionalidades: <a href='"+this.campos.URLKML+"'>Google Earth</a>":"")+"</div>"+"</div>":"")+
(this.campos.URLLog?"<iframe width='1' scrolling='no' height='1' frameborder='0' src='"+this.campos.URLPrintLog+"' allowtransparency='true'></iframe>":"")+
(this.campos.titulo=="Destino"?"<iframe height='60' frameborder='0' width='268' scrolling='no' name='Destino' src='http://map.apontador.com.br/produtos/banners/canal/maplink/mapa/x19.php' allowtransparency='yes'></iframe>":"")+
(this.campos.titulo=="Origem"?"<iframe height='60' frameborder='0' width='268' scrolling='no' name='Origem' src='http://map.apontador.com.br/produtos/banners/canal/maplink/mapa/x18.php' allowtransparency='yes'></iframe>":"")+"</div>"+"<div id='contentVideo' class='content' style='text-align: center; display: none; height: 205px'>"+
(this.campos.URLVideo?"<object width='250' height='205'><param name='movie' value='"+this.campos.URLVideo+"'></param><param name='allowFullScreen' value='true'></param><param name='allowscriptaccess' value='always'></param><embed src='"+this.campos.URLVideo+"' type='application/x-shockwave-flash' allowscriptaccess='always' allowfullscreen='true' width='250' height='205'></embed></object>":"<img src='http://www.apontador.com.br/produtos/images/sem_video.gif' />")+"</div>"+"<div id='contentFoto' class='content' style='text-align: center; display: none; height: 205px'>"+
(this.campos.URLFoto&&this.campos.URLClickLog?"<a target='_blank' href='"+this.campos.URLClickLog+"'>"+"<img border='0' width='200' height='168' alt='Foto do local' title='Foto do local' src='"+this.campos.URLFoto+"' />"+"</a>":"<img width='200' height='168' src='http://www.apontador.com.br/produtos/images/locais/sem_foto.gif' />")+"</div>"+"</div>"+"</div>"+"<div id='corner_bottom_left'></div>"+"<div id='corner_bottom_right'></div>"+"<div id='balloon_linking_arrow'></div>"+"</div>";content.innerHTML=htmlJanela;content.style.font="10px verdana";content.style.margin="0";content.style.padding="0";content.style.border="0";content.style.display="inline";if(!this.width_||this.width_=="auto"||this.width_<=0){content.style.minWidth="10px";content.style.maxWidth="600px";content.style.width="auto";}else{content.style.width=this.width_+"px";}
content.style.visibility="hidden";this.map_.getContainer().appendChild(content);var refJanela=$("maptip");var contentWidth=refJanela.getDimensions().width;var contentHeight=refJanela.getDimensions().height;this.map_.getContainer().removeChild(content);this.container_.innerHTML="";content.style.visibility="visible";content.style.width=contentWidth+"px";content.style.height=contentHeight+"px";var pixelLocation=this.map_.fromLatLngToDivPixel(this.marker.getPoint());this.container_.style.position="absolute";this.container_.style.left=(pixelLocation.x-106-(this.marker.getIcon().iconSize.width/2))+"px";this.container_.style.top=(pixelLocation.y-contentHeight-this.marker.getIcon().iconSize.height+5)+"px";if(this.marker.getIcon().iconSize.width==68&&this.marker.getIcon().iconSize.height==82){this.container_.style.left=(pixelLocation.x-90)+"px";this.container_.style.top=(pixelLocation.y-contentHeight-15)+"px";}
this.container_.style.border='0';this.container_.style.margin='0';this.container_.style.padding='0';this.container_.style.display='block';this.container_.appendChild(content);var mapNE=this.map_.fromLatLngToDivPixel(this.map_.getBounds().getNorthEast());var panX=0;var panY=0;if(this.container_.offsetTop-65<mapNE.y)
panY=-this.container_.offsetTop+mapNE.y+65;if(this.container_.offsetLeft+contentWidth+20>mapNE.x)
panX=(this.container_.offsetLeft+contentWidth+20)-mapNE.x;if(panX!=0||panY!=0)
this.map_.panBy(new GSize(-panX,panY));}
var MapTip={};MapTip.mudarAba=function(idAbaAtual,idDivConteudo){$("abaInformacoes").firstChild.className=$("abaVideos").firstChild.className=$("abaFoto").firstChild.className="";$("contentInformacoes").style.display=$("contentVideo").style.display=$("contentFoto").style.display="none";$(idAbaAtual).firstChild.className="select";$(idDivConteudo).style.display="block";}
GMarker.prototype.MInfoWindowInstance=null;GMarker.prototype.openMInfoWindow=function(campos,tipo,width){if(this.MInfoWindowInstance==null){this.MInfoWindowInstance=new MInfoWindow(this,campos,tipo,width);}
mMapa.mapa.addOverlay(this.MInfoWindowInstance);}
GMarker.prototype.closeMInfoWindow=function(){if(this.MInfoWindowInstance!=null){mMapa.mapa.removeOverlay(this.MInfoWindowInstance);this.MInfoWindowInstance=null;}}
function DDM(){}
DDM.mostrarUL=function(li){var refUL=li.getElementsByTagName("ul")[0];refUL.style.top="17px";refUL.style.left="-6px";}
DDM.esconderUL=function(li){var refUL=li.getElementsByTagName("ul")[0];refUL.style.top="0px";refUL.style.left="-9999em";}
DDM.esconderULClick=function(a){var refUL=a.parentNode.parentNode;refUL.style.top="0px";refUL.style.left="-9999em";}
function ContextMenu(contextMenuContainer,contextMenuContainerParent)
{this.menuobj=document.getElementById(contextMenuContainer);this.ie=document.all&&document.getElementById;this.pixelCoords=null;this.show=function(e){this.pixelCoords=this.whereAt(e);this.menuobj.style.left=(this.pixelCoords.x-5)+"px";this.menuobj.style.top=(this.pixelCoords.y-5)+"px";this.menuobj.style.visibility="visible";}
this.hide=function(e){this.menuobj.style.visibility="hidden";}
this.highlight=function(e){var firingobj=this.ie?event.srcElement:e.target;if(firingobj.tagName=="A")
firingobj.className="item_destaque";}
this.lowlight=function(e){var firingobj=this.ie?event.srcElement:e.target;if(firingobj.tagName=="A")
firingobj.className="";}
this.whereAt=function(e){var posx=0;var posy=0;if(!e)var e=window.event;if(e.pageX||e.pageY){posx=e.pageX;posy=e.pageY;}
else if(e.clientX||e.clientY){posx=e.clientX+document.body.scrollLeft
+document.documentElement.scrollLeft;posy=e.clientY+document.body.scrollTop
+document.documentElement.scrollTop;}
var container=$(contextMenuContainerParent).cumulativeOffset();return{x:posx-container.left,y:posy-container.top};}}
function MRadares(){this.radares=[];this.cidade="São Paulo";this.UF="SP";this.carregarCidades=function(UF){this.UF=UF;var select=$("ctl00_cphConteudo_ddlCidadesRadares");select.options.length=0;select.options[0]=new Option("Aguarde...","-1");PageMethods.CarregarCidadesRadares(this.UF,function(cidades){select.options.length=0;if(cidades.length>1)select.options[0]=new Option("Selecione","-1");for(var i=0;i<cidades.length;i++)
select.options[select.options.length]=new Option(cidades[i],cidades[i]);if(cidades.length==1){select.options[0].selected=true;mRadares.carregarEnderecos(select.options[0].value);}},MGlobalUtil.tratarErro);}
this.carregarEnderecos=function(cidade){if(cidade=="-1")return;this.cidade=cidade;this.UF=$("ctl00_cphConteudo_ddlUFsRadares").value;$("ctl00_cphConteudo_ulEnderecosRadares").innerHTML="";$("divAguardeRadares").style.display="block";PageMethods.CarregarEnderecosRadares(this.cidade,this.UF,function(enderecos){$("divAguardeRadares").style.display="none";var htmlEnderecos=[];for(var i=0;i<enderecos.length;i++){htmlEnderecos.push("<li id='liEnderecoRadares"+i+"'><a href='javascript:void(0);' onclick='mRadares.carregarRadares(\""+enderecos[i]+"\", \"liEnderecoRadares"+i+"\")'>"+enderecos[i]+"</a></li>");}
$("ctl00_cphConteudo_ulEnderecosRadares").innerHTML=htmlEnderecos.join("");if(enderecos.length==1)mRadares.carregarRadares(enderecos[0],"liEnderecoRadares0");},MGlobalUtil.tratarErro);}
this.carregarRadares=function(endereco,IDLI){this.cidade=$("ctl00_cphConteudo_ddlCidadesRadares").value;this.UF=$("ctl00_cphConteudo_ddlUFsRadares").value;if($(IDLI).className=="ativo"){$(IDLI).className="";$(IDLI).getElementsByTagName("UL")[0].style.display="none";return;}
if($(IDLI).getElementsByTagName("UL").length&&!$(IDLI).className){$(IDLI).className="ativo";$(IDLI).getElementsByTagName("UL")[0].style.display="block";return;}
$(IDLI).className="carregado";PageMethods.CarregarRadares(endereco,this.cidade,this.UF,function(radares,CBObj){var UL=document.createElement("UL");var htmlUL=[]
for(var i=0;i<radares.length;i++){var radar=radares[i];mRadares.radares[radar.COD]=radar;var descricao="";var categoria="";var posicao=""
if(radar.categoria=="U"){categoria="Urbano";posicao="n.º ";}
else if(radar.categoria=="R"){categoria="Rodoviário";posicao="Km ";}
descricao+=(radar.numero?posicao+radar.numero:"")+(radar.numero&&radar.bairro?", ":"")+radar.bairro+(radar.numero||radar.bairro?". ":"");descricao+=radar.limite+(radar.limite?" (":"")+radar.tipo+(radar.tipo&&categoria?", ":"")+categoria+(radar.limite?")":"");radar.descricao=descricao;htmlUL.push("<li><a href='javascript:void(0);' onclick='mRadares.mostrarRadar(\""+radar.COD+"\")'>"+descricao+"</a></li>");}
UL.innerHTML=htmlUL.join("");$(CBObj.IDLI).appendChild(UL);$(CBObj.IDLI).className="ativo";},MGlobalUtil.tratarErro,{IDLI:IDLI});}
this.mostrarRadar=function(COD){var radar=this.radares[COD];var htmlDescRadar=[];if(radar.limite)htmlDescRadar.push("<b>Endereço</b>: "+radar.endereco+(radar.numero?", "+radar.numero:"")+"<br />");if(radar.bairro)htmlDescRadar.push("<b>Bairro</b>: "+radar.bairro+"<br />");if(radar.cidade&&radar.UF)htmlDescRadar.push("<b>Cidade</b>: "+radar.cidade+", "+radar.UF+"<br />");if(radar.limite)htmlDescRadar.push("<b>Limite</b>: "+radar.limite+"<br />");if(radar.tipo)htmlDescRadar.push("<b>Tipo</b>: "+radar.tipo+"<br />");var categoria="";if(radar.categoria=="U")categoria="Urbano";else if(radar.categoria=="R")categoria="Rodoviário";if(radar.categoria)htmlDescRadar.push("<b>Categoria</b>: "+categoria+"<br />");mMapa.mostrarPontoLocal(new MPoint(radar.X,radar.Y),16,{url:"ic/"+radar.icone,largura:radar.icone_largura,altura:radar.icone_altura});mMapa.mostrarInfoWindow({titulo:"Radar",conteudo:htmlDescRadar.join(""),point:{x:radar.X,y:radar.Y}},{salvarAgenda:false,maisDetalhes:false,rota:false},300);$("spanDescLocal").innerHTML="Radar: "+radar.endereco+", "+radar.descricao;}}
var mRadares=new MRadares();function MCameras(){this.cameras=[];this.cidade="São Paulo";this.UF="SP";this.carregarCidades=function(UF){this.UF=UF;var select=$("ctl00_cphConteudo_ddlCidadesCameras");select.options.length=0;select.options[0]=new Option("Aguarde...","-1");PageMethods.CarregarCidadesCameras(this.UF,function(cidades){select.options.length=0;if(cidades.length>1)select.options[0]=new Option("Selecione","-1");for(var i=0;i<cidades.length;i++)
select.options[select.options.length]=new Option(cidades[i],cidades[i]);if(cidades.length==1){select.options[0].selected=true;mCameras.carregarEnderecos(select.options[0].value);}},MGlobalUtil.tratarErro);}
this.carregarEnderecos=function(cidade){if(cidade=="-1")return;this.cidade=cidade;this.UF=$("ctl00_cphConteudo_ddlUFsCameras").value;$("ctl00_cphConteudo_ulEnderecosCameras").innerHTML="";$("divAguardeCameras").style.display="block";PageMethods.CarregarEnderecosCameras(this.cidade,this.UF,function(enderecos){$("divAguardeCameras").style.display="none";var htmlEnderecos=[];for(var i=0;i<enderecos.length;i++){htmlEnderecos.push("<li id='liEnderecoCameras"+i+"'><a href='javascript:void(0);' onclick='mCameras.carregarCameras(\""+enderecos[i]+"\", \"liEnderecoCameras"+i+"\")'>"+enderecos[i]+"</a></li>");}
$("ctl00_cphConteudo_ulEnderecosCameras").innerHTML=htmlEnderecos.join("");if(enderecos.length==1)mCameras.carregarCameras(enderecos[0],"liEnderecoCameras0");},MGlobalUtil.tratarErro);}
this.carregarCameras=function(endereco,IDLI){this.cidade=$("ctl00_cphConteudo_ddlCidadesCameras").value;this.UF=$("ctl00_cphConteudo_ddlUFsCameras").value;if($(IDLI).className=="ativo"){$(IDLI).className="";$(IDLI).getElementsByTagName("UL")[0].style.display="none";return;}
if($(IDLI).getElementsByTagName("UL").length&&!$(IDLI).className){$(IDLI).className="ativo";$(IDLI).getElementsByTagName("UL")[0].style.display="block";return;}
$(IDLI).className="carregado";PageMethods.CarregarCameras(endereco,this.cidade,this.UF,function(cameras,CBObj){var UL=document.createElement("UL");var htmlUL=[]
for(var i=0;i<cameras.length;i++){var camera=cameras[i];mCameras.cameras[camera.COD]=camera;var posicao="n.º ";if(camera.cidade.toUpperCase()=="RODOVIAS")posicao="Km ";var descricao="";descricao+=(camera.numero&&camera.numero!=0?posicao+camera.numero:"")+(camera.numero&&camera.numero!=0?". ":"");descricao+=camera.nome;camera.descricao=descricao;htmlUL.push("<li><a href='javascript:void(0);' onclick='mCameras.mostrarCamera(\""+camera.COD+"\")'>"+descricao+"</a></li>");}
UL.innerHTML=htmlUL.join("");$(CBObj.IDLI).appendChild(UL);$(CBObj.IDLI).className="ativo";},MGlobalUtil.tratarErro,{IDLI:IDLI});}
this.mostrarCamera=function(COD){var camera=this.cameras[COD];var htmlDescCamera=[];if(camera.imagem){htmlDescCamera.push("<center>");htmlDescCamera.push("<img src='"+camera.imagem+"' style='height: 180px; width: 240px; border: solid 1px #000000;' />");htmlDescCamera.push("</center>");}
if(camera.nome)htmlDescCamera.push("<b>Nome</b>: "+camera.nome+"<br />");if(camera.endereco)htmlDescCamera.push("<b>Endereço</b>: "+camera.endereco+(camera.numero?", "+camera.numero:"")+"<br />");if(camera.cidade&&camera.UF)htmlDescCamera.push("<b>Cidade</b>: "+camera.cidade+", "+camera.UF+"<br />");if(camera.descricao)htmlDescCamera.push("<b>Descrição</b>: "+camera.descricao+"<br />");mMapa.mostrarPontoLocal(new MPoint(camera.X,camera.Y),16,{url:"ic/"+camera.icone,largura:camera.icone_largura,altura:camera.icone_altura});mMapa.mostrarInfoWindow({conteudo:htmlDescCamera.join(""),point:{x:camera.X,y:camera.Y}},{salvarAgenda:false,maisDetalhes:false,rota:false},300);$("spanDescLocal").innerHTML="Camera: "+camera.endereco+", "+camera.descricao;}}
var mCameras=new MCameras();function setType(mapType){if(mapType==M_MAP_LBSLOCAL||mapType==M_ROAD_MAP){MMapControls.Selected=0;mMapa.mapa.setMapLinkStyle();}
else if(mapType==G_SATELLITE_MAP||mapType==M_SATELLITE_MAP){MMapControls.Selected=1;mMapa.mapa.setGoogleStyle();}
else{MMapControls.Selected=2;mMapa.mapa.setGoogleStyle();}
mMapa.mapa.setMapType(mapType);}
var arrMarkers=[];var arrPOI=[];var arrIncidentes=[];var zoom_markers=15;var zoom_incidentes=14;var AgendaInnerHTML;var SliderGrupoAgenda;var statusMarker={};statusMarker.antigo=0;statusMarker.atual=1;statusMarker.novo=2;var MPagBradesco;var MPagDrogariaSP;var mapaHasListener=false;var chamouSalvarAgenda={};chamouSalvarAgenda.ativo=false;chamouSalvarAgenda.addressLocation=null;function throwError(error,msgNonDebugMode)
{if(Sys&&Sys.Debug.isDebug)alert(error.get_message()+"\n"+error.get_stackTrace());else alert(msgNonDebugMode);}
function CarregarMarkers()
{GEvent.addListener(mMapa.mapa,"moveend",function(){MIncidentesControl.adicionarIcones(false);});MIncidentesControl.adicionarIcones(false);}
function BuscarIncidentes(){if(mMapa.mapa.getZoom()<zoom_incidentes)
{mIncidentes.removerOverlayIncidentes();ClearMarkers(arrIncidentes);return;}
var MinX,MinY,MaxX,MinY;MinX=mMapa.mapa.getBounds().getSouthWest().x;MinY=mMapa.mapa.getBounds().getSouthWest().y;MaxX=mMapa.mapa.getBounds().getNorthEast().x;MaxY=mMapa.mapa.getBounds().getNorthEast().y;PageMethods.BuscarIncidentesExtent(MinX,MinY,MaxX,MaxY,BuscarIncidentesSucceeded,function(error){});}
function BuscarIncidentesSucceeded(result){if(mMapa.mapa.getZoom()<zoom_incidentes)
{mIncidentes.removerOverlayIncidentes();ClearMarkers(arrIncidentes);return;}
for(var i=0;i<arrIncidentes.length;i++)arrIncidentes[i].status=statusMarker.antigo;var bkp=[];Array.addRange(bkp,arrIncidentes);for(var j=0;j<result.length;j++)
{var incidente=result[j];var novo=true;for(var k=0;k<bkp.length;k++)
{if(bkp[k].getPoint().x==result[j].X&&bkp[k].getPoint().y==result[j].Y&&bkp[k].status==statusMarker.antigo)
{arrIncidentes[k].status=statusMarker.atual;novo=false;break;}}
if(novo)
{InserirIncidente(incidente);}}
for(var l=arrIncidentes.length-1;l>=0;l--)
{if(arrIncidentes[l].status==statusMarker.antigo)
{DeleteMarker(arrIncidentes,l);}}
mIncidentes.adicionarOverlayIncidentes();}
function InserirIncidente(incidente)
{var htmlJanelaIncidente=mIncidentes.criarHTMLJanelaIncidente(incidente);var width=300;if(incidente.Texto.length>300)
width=500;var baseIcon=new GIcon();baseIcon.shadow="";baseIcon.shadowSize=null;baseIcon.infoShadowAnchor=null;baseIcon.iconSize=new GSize(incidente.IconeLargura,incidente.IconeAltura);baseIcon.iconAnchor=new GPoint(incidente.IconeLargura/2,incidente.IconeAltura/2);baseIcon.infoWindowAnchor=new GPoint(incidente.IconeLargura/2,2);baseIcon.image="./imagens/ic/"+incidente.Icone;var marcador=null;marcador=new GMarker(new GLatLng(incidente.Y,incidente.X),{icon:baseIcon});GEvent.addListener(marcador,"click",function(){if(marcador.MInfoWindowInstance){marcador.closeMInfoWindow();}
else
{marcador.openMInfoWindow({titulo:incidente.Titulo,conteudo:htmlJanelaIncidente,urlMaisDetalhes:incidente.URLDetalhes},{salvarAgenda:false,maisDetalhes:true,rota:false},width);}});mMapa.mapa.addOverlay(marcador);arrIncidentes[arrIncidentes.length]=marcador;}
function BuscarMarkers(){if(mMapa.mapa.getZoom()<zoom_markers)
{ClearMarkers(arrMarkers);ClearMarkers(arrPOI);return;}
var MinX,MinY,MaxX,MinY;MinX=mMapa.mapa.getBounds().getSouthWest().x;MinY=mMapa.mapa.getBounds().getSouthWest().y;MaxX=mMapa.mapa.getBounds().getNorthEast().x;MaxY=mMapa.mapa.getBounds().getNorthEast().y;if(mMapa.mapa.getZoom()>=zoom_markers)
{PageMethods.BuscarMarcadoresExtent(MinX,MinY,MaxX,MaxY,BuscarMarcadoresSucceeded,function(error){});VerificarPOIs();}}
function BuscarMarcadoresSucceeded(result)
{if(mMapa.mapa.getZoom()<zoom_markers)
{ClearMarkers(arrMarkers);ClearMarkers(arrPOI);return;}
for(var i=0;i<arrMarkers.length;i++)arrMarkers[i].status=statusMarker.antigo;var bkp=[];Array.addRange(bkp,arrMarkers);var mostraTecnisa=$get("pontosTecnisa").checked;var mostraUniversal=$get("pontosUniversal").checked;var mostraBuscape=$get("pontosBuscape").checked;for(var j=0;j<result.length;j++)
{if((!mostraTecnisa&&result[j].icone.toLowerCase().indexOf("tecnisa")>-1)||(!mostraUniversal&&result[j].icone.toLowerCase().indexOf("universal")>-1)||(!mostraBuscape&&result[j].icone.toLowerCase().indexOf("buscape")>-1))continue;var novo=true;for(var k=0;k<bkp.length;k++)
{if(bkp[k].getPoint().x==result[j].x&&bkp[k].getPoint().y==result[j].y&&bkp[k].status==statusMarker.antigo)
{arrMarkers[k].status=statusMarker.atual;novo=false;break;}}
if(novo)
{InsertMarker(result[j],arrMarkers);}}
for(var l=arrMarkers.length-1;l>=0;l--)
{if(arrMarkers[l].status==statusMarker.antigo)
{DeleteMarker(arrMarkers,l);}}}
function InsertMarker(infoMarker,array)
{var icone=new GIcon();icone.image="./Imagens/ic/"+infoMarker.icone;icone.iconSize=new GSize(infoMarker.icone_largura,infoMarker.icone_altura);icone.iconAnchor=new GPoint(parseInt(infoMarker.icone_largura/2,10),parseInt(infoMarker.icone_altura/2,10));icone.shadow="";icone.shadowSize=null;icone.infoShadowAnchor=null;icone.infoWindowAnchor=new GPoint(parseInt(infoMarker.icone_largura/2,10),0);var marcador=null;var indice=array.length;if(infoMarker.icone_tooltip.indexOf("bradescoimov")==-1)
{marcador=new GMarker(new GLatLng(infoMarker.y,infoMarker.x),{icon:icone});marcador.status=statusMarker.novo;if(infoMarker.icone_tooltip.indexOf("table")!=-1)
{GEvent.addListener(marcador,"mouseover",function(){if(marcador.MInfoWindowInstance)
marcador.closeMInfoWindow();else
marcador.openMInfoWindow({titulo:infoMarker.icone_titulo?infoMarker.icone_titulo:"Detalhes:",conteudo:infoMarker.icone_tooltip},{salvarAgenda:false,maisDetalhes:false,rota:false},350);});}
else if(infoMarker.icone_tooltip.indexOf("#abrir_popup_ecolife")!=-1)
{GEvent.addListener(marcador,"mouseover",function(){var winHeight=490;var winWidth=504;var winLeft=screen.width/2-winWidth/2;var winTop=screen.height/2-winHeight/2;window.open('PopupEcolifeMorumbi.aspx','EcolifeMorumbi','top=yes,toolbar=no,scrollbars=no,width='+winWidth+',height='+winHeight+',left='+winLeft+',top='+winTop);});}
else{GEvent.addListener(marcador,"click",function(){if(marcador.MInfoWindowInstance){marcador.closeMInfoWindow();}
else
{var pointMarker=new MPoint(infoMarker.x,infoMarker.y);if(infoMarker.icone_titulo=="Radar"||infoMarker.icone_titulo=="Câmera")
marcador.openMInfoWindow({titulo:infoMarker.icone_titulo,conteudo:infoMarker.icone_tooltip,point:pointMarker},{salvarAgenda:false,maisDetalhes:false,rota:false},300);else
marcador.openMInfoWindow({titulo:infoMarker.icone_titulo?infoMarker.icone_titulo:"Detalhes:",conteudo:infoMarker.icone_tooltip,urlMaisDetalhes:infoMarker.icone_link,point:pointMarker},{salvarAgenda:false,maisDetalhes:infoMarker.icone_link?true:false,rota:true},300);}});}
mMapa.mapa.addOverlay(marcador);}
else marcador=addInfoWindowBradescoImoveis(icone,infoMarker.x,infoMarker.y,infoMarker.icone_tooltip);if(marcador!=null)array[indice]=marcador;}
function addInfoWindowBradescoImoveis(icon,x,y,icone_tooltip)
{var r=new RegExp("^(.*?)<br ?/?>(.*?)<br ?/?>(.*)<br ?/?>(.*?)$");var m=r.exec(icone_tooltip);if(!m)return null;else
{icon.infoWindowAnchor=new GPoint(parseInt((parseInt((335-20)/2,10)+icon.iconSize.width/2),10),parseInt(icon.iconSize.height/2,10));var marcador=new GMarker(new GLatLng(y,x),{icon:icon});mMapa.mapa.addOverlay(marcador);marcador.status=statusMarker.novo;arrMarkers[arrMarkers.length]=marcador;GEvent.addListener(marcador,"click",function()
{ew.openOnMarker(marcador,MontaTooltipPlaca(m[1],m[2],m[3],m[4]));});GEvent.addListener(mMapa.mapa,"click",function(marker,point)
{try{if(point)ew.hide();}catch(ex){}});return marcador;}}
function DeleteMarker(array,position)
{array[position].closeMInfoWindow();mMapa.mapa.removeOverlay(array[position]);array.splice(position,1);}
function ClearMarkers(array)
{for(var i=array.length-1;i>=0;i--)DeleteMarker(array,i);}
function MontaTooltipPlaca(titulo,imagem,texto,link)
{var html='<table style="width: 335px;" border="0" cellpadding="0" cellspacing="0">'+'  <tr>'+'    <td width="335px" background="imagens/top2.gif" height="33px" align="right"><span><a href="javascript:void(0);" class="bi_tit">[X]</a></span></td>'+'  </tr>'+'  <tr>'+'    <td><table width="335px" border="0" cellspacing="0" cellpadding="0">'+'      <tr>'+'        <td background="imagens/bg2.jpg"><table width="335px" height="45px" border="0" cellpadding="0" cellspacing="0">'+'            <tr>'+'              <td width="136px" height="45px"><div align="center"><img src="imagens/vende-se.jpg" style="width: 120px; height: 43px;" width="120px" height="43px" /></div></td>'+'              <td width="198px"><table width="185px" border="0" align="center" cellpadding="0" cellspacing="0">'+'                <tr>'+'                  <td width="100%" class="bi_tit" style="wrap: hard;"><center>'+(titulo?titulo:"")+'</center></td>'+'                </tr>'+'              </table></td>'+'            </tr>'+'        </table></td>'+'      </tr>'+'      <tr>'+'        <td height="113px" background="imagens/bg.jpg"><table width="100%" border="0" cellspacing="0" cellpadding="0">'+'          <tr>'+'            <td width="136px" height="123px" valign="top"><div align="center"><img src="'+imagem+'" style="width: 99px; height: 123px;" width="99px" height="123px" /></div></td>'+'            <td width="198px" valign="top"><table width="185px" border="0" align="center" cellpadding="0" cellspacing="0">'+'  '+'  <tr>'+'    <td height="103px" colspan="2" class="bi_texto"><center>'+(texto?texto:"")+'</center></td>'+'    </tr>'+'  <tr>'+'    <td width="104px"></td>'+'    <td width="79px"><div align="center"><a target="_blank" href="'+(link?link:"javascript:void(0);")+'" ><img src="imagens/btn_saibamais.gif" style="width: 65px; height: 17px;" border="0" /></a></div></td>'+'  </tr>'+'</table>'+''+'  '+'           </td>'+'          </tr>'+'        </table></td>'+'      </tr>'+'    </table></td>'+'  </tr>'+'  <tr>'+'    <td><span><img src="imagens/bottom2.gif" style="width: 335px; height: 85px;" /></span></td>'+'  </tr>'+'</table>';return html;}
function IncluirInteresse(interesse)
{var excluir=["tecnisa","universal","buscape"];for(var i=0;i<excluir.length;i++)
{if(interesse==excluir[i])return false;}
return true;}
function VerificarPOIs()
{var interesses=[];var pontos=$get("pontosForm").getElementsByTagName("input");for(var i=0;i<pontos.length;i++)
{if(pontos[i].checked&&IncluirInteresse(pontos[i].value))interesses[interesses.length]=pontos[i].value;}
if(interesses.length==0||mMapa.mapa.getZoom()<zoom_markers)
{ClearMarkers(arrPOI);return;}
var MinX,MinY,MaxX,MaxY;MinX=mMapa.mapa.getBounds().getSouthWest().x;MinY=mMapa.mapa.getBounds().getSouthWest().y;MaxX=mMapa.mapa.getBounds().getNorthEast().x;MaxY=mMapa.mapa.getBounds().getNorthEast().y;PageMethods.BuscarPOIs(interesses,MinX,MinY,MaxX,MaxY,OnGetPOIsSucceeded,function(error){});}
function OnGetPOIsSucceeded(result)
{if(mMapa.mapa.getZoom()<zoom_markers)
{ClearMarkers(arrMarkers);ClearMarkers(arrPOI);return;}
for(var i=0;i<arrPOI.length;i++)arrPOI[i].status=statusMarker.antigo;var bkp=[];Array.addRange(bkp,arrPOI);for(var j=0;j<result.length;j++)
{var novo=true;for(var k=0;k<bkp.length;k++)
{if(bkp[k].getPoint().x==result[j].x&&bkp[k].getPoint().y==result[j].y&&bkp[k].status==statusMarker.antigo)
{arrPOI[k].status=statusMarker.atual;novo=false;break;}}
if(novo)
{InsertMarker(result[j],arrPOI);}}
for(var l=arrPOI.length-1;l>=0;l--)
{if(arrPOI[l].status==statusMarker.antigo)
{DeleteMarker(arrPOI,l);}}}
function BuscarPatrocinador(patrocinador,sender)
{var ponto=mMapa.mapa.getCenter();var geocode=$get("ctl00_cphConteudo_hdnGeocode").value;if(patrocinador=="DrogariaSP")
{sender.className="grupo_agenda_loading";PageMethods.ListarDrogariaSP(ponto.x,ponto.y,geocode,ListarDrogariaSP,function(error){sender.className="";},sender);}
else if(patrocinador=="SitPass")
{BuscarSitPass(1);}
else if(patrocinador=="Bradesco"||patrocinador=="BradescoImoveis"||patrocinador=="BradescoImobiliarias")
{var tipo=null,tipo_imovel=null;switch(patrocinador)
{case"Bradesco":tipo=$get("ctl00_cphConteudo_ddlBradesco").value;if(tipo.toLowerCase()=="selecione"){$("divAguardeBradesco").style.display="none";return;}
$("divResultadosBradesco").style.display="none";$("divResultadosBradescoPaginacao").style.display="none";$("divAguardeBradesco").style.display="block";break;case"BradescoImoveis":tipo="imoveis";tipo_imovel=$get("ctl00_cphConteudo_ddlBradescoImoveis").value;if(tipo_imovel.toLowerCase()=="selecione"){$("divAguardeBradescoImoveis").style.display="none";return;}
$("divResultadosBradescoImoveis").style.display="none";$("divResultadosBradescoImoveisPaginacao").style.display="none";$("divAguardeBradescoImoveis").style.display="block";break;case"BradescoImobiliarias":$("divResultadosBradescoImoveis").style.display="none";$("divResultadosBradescoImoveisPaginacao").style.display="none";$("divAguardeBradescoImoveis").style.display="block";tipo="imobiliarias";break;}
PageMethods.ListarBradesco(ponto.x,ponto.y,geocode,tipo,tipo_imovel,function(resultado,tipo){bradesco.listarBradescoCB(resultado,tipo);},function(error){sender.className="";},[tipo,sender]);}}
function BuscarSitPass(pag)
{var bilhete=$("chkBilhete").checked;var recarga=$("chkRecarga").checked;var citybus=$("chkCitybus").checked;$("divResultadosSitPass").innerHTML=$("divPagSitPass").innerHTML="";$("divAguardeSitPass").style.display="block";PageMethods.ListarSitPass($("ctl00_cphConteudo_ddlCidadesSitPass").value,"GO",bilhete,recarga,citybus,pag,50,ListarSitPass,function(error){$("divAguardeSitPass").style.display="none";},{pag:pag});}
_estabsSitPass=null;function ListarSitPass(result,cbObj)
{var estabs=_estabsSitPass=result[0];$("divAguardeSitPass").style.display="none";if(estabs.length>0){var htmlSitPass=new Array();htmlSitPass.push("<ul>");for(i=0;i<estabs.length;i++){htmlSitPass.push("<li>");htmlSitPass.push("<div class='sitpass'>");if(estabs[i].estabelecimento)htmlSitPass.push("<span class='nome_local'>"+estabs[i].estabelecimento+"</span><br />");htmlSitPass.push("<span>"+(estabs[i].endereco?estabs[i].endereco:"")+(estabs[i].bairro?". "+estabs[i].bairro:"")+(estabs[i].fone?". Fone: "+estabs[i].fone:"")+"</span><br />");if(estabs[i].funcionamento)htmlSitPass.push("<span>"+estabs[i].funcionamento+"</span><br />");htmlSitPass.push("<a href='#' onclick='MostrarSitPass("+i+"); return false;'>Ver no mapa</a>");htmlSitPass.push("</div>");htmlSitPass.push("</li>");}
htmlSitPass.push("</ul>");$("divResultadosSitPass").innerHTML=htmlSitPass.join("");criarPaginador(cbObj.pag,result[1],50,5);}
else{$("divResultadosSitPass").innerHTML=$("divPagSitPass").innerHTML="";}
function criarPaginador(pag,totalRegs,regsPag,faixa){var inicial,final;if(totalRegs<=regsPag)
$("divPagBuscaLocal").innerHTML="";else{var nPags=Math.floor(totalRegs/regsPag);if(nPags>faixa){if(pag>faixa)
inicial=pag-faixa;else
inicial=1;final=inicial+faixa;}
else{inicial=1;final=nPags;}
var htmlPaginador=new Array();htmlPaginador.push("<ol>");if(pag>1)
htmlPaginador.push("<li><a href='#' onclick='BuscarSitPass("+(pag-1)+"); return false;' title='Ir para a página de estabelecimentos SitPass anterior'>Anterior</a></li>");for(var i=inicial;i<=final;i++){if(i==pag)
htmlPaginador.push("<li class='pag_atual'>"+i+"</li>");else
htmlPaginador.push("<li><a class='pag' href='#' onclick='BuscarSitPass("+i+"); return false;' title='Ir para a página "+i+" de estabelecimentos SitPass'>"+i+"</a></li>");}
if(pag<nPags)
htmlPaginador.push("<li><a href='#' onclick='BuscarSitPass("+(pag+1)+"); return false;' title='Ir para a próxima página de estabelecimentos SitPass'>Próximo</a></li>");htmlPaginador.push("</ol>");$("divPagSitPass").innerHTML=htmlPaginador.join("");}}}
function MostrarSitPass(i){var zoom=16;if(_estabsSitPass[i].zoom_cidade)zoom=11;mMapa.mostrarPontoLocal(_estabsSitPass[i].point,zoom,{url:"ic/ic_setransp.gif",largura:41,altura:30});mMapa.mostrarInfoWindow({titulo:_estabsSitPass[i].estabelecimento,conteudo:_estabsSitPass[i].icone_tooltip,point:_estabsSitPass[i].point},{salvarAgenda:false,maisDetalhes:false,rota:true},300);}
function ListarDrogariaSP(result,sender)
{sender.className="";$get("divResultadoDrogariaSP").style.display="block";var dadosDrogariaSP=[];Array.addRange(dadosDrogariaSP,result);var dadosTabela=[];var links=[];for(var i=0;i<dadosDrogariaSP.length;i++)
{dadosTabela[i]=dadosDrogariaSP[i].icone_tooltip;links[i]="<a href='javascript:void(0);' onclick='"+'Patrocinadores_MostrarInfoWindow('+Sys.Serialization.JavaScriptSerializer.serialize(dadosDrogariaSP[i])+');'+"'>Ver&nbsp;no&nbsp;mapa</a>";}
MPagDrogariaSP=new MPaginationControl('divResultadoDrogariaSP','txt_conteudo','text-align: center',5);MPagDrogariaSP.setClassLinkNavigation('txt_conteudo');MPagDrogariaSP.setClassActualNavigation('txt_conteudo');MPagDrogariaSP.fxPaginationControl="MPagDrogariaSP_moveToPage";MPagDrogariaSP.onShow=MPagDrogariaSP_OnShow;var coluna1=new MColumn('<b>Header</b>',null,'left',M_TP_CUSTOM,M_LABEL,dadosTabela);coluna1.customData=dadosTabela;var coluna2=new MColumn('<b>Header</b>',null,'right',M_TP_CUSTOM,M_LABEL,links);coluna2.customData=links;var t=new MTable(270,"cellpadding=0 cellspacing=0 id='abcd' style='margin: 10px 0 10px 0; padding: 0; width: 270px;'");t.noHeader=true;t.add(coluna1);t.add(coluna2);t.setLineSeparator('<tr><td style="height: 1px; background-color: #cccccc;" colspan="2"><\/td><\/tr>\n');t.setLineStyle('background-color: #FFFFFF; height: 6px; margin:0; padding:0;');t.setLineAlterStyle('background-color: #FFFFFF; height: 6px; margin:0; padding:0;');t.setLineClass('txt_conteudo');t.setLineAlterClass('txt_conteudo');t.setTitleClass('txt_conteudo');MPagDrogariaSP.table=t;MPagDrogariaSP.definePage(dadosDrogariaSP.length);MPagDrogariaSP.dataSet=dadosDrogariaSP;MPagDrogariaSP_moveToPage(1);}
function MPagDrogariaSP_moveToPage(nPag)
{MPagDrogariaSP.getPage(nPag);MPagDrogariaSP.show();}
function MPagDrogariaSP_OnShow()
{var texto=$get(MPagDrogariaSP.divNames[0]).innerHTML;var r=new RegExp(/<IMG height=5 width=1 border=0>/);$get(MPagDrogariaSP.divNames[0]).innerHTML=texto.replace(r,"");window.location.href='#aDrogariaSP';}
function Bradesco(){this.dadosBradesco=[];this.divResultado=null;this.montarPagina=function(pagina){var inicio=(pagina-1)*5;var fim=(pagina*5);var dadosPagina=this.dadosBradesco.slice(inicio,fim);var html=[];html.push("<table style='margin: 10px 0 10px 0; padding: 0; width: 270px;'>");for(var i=0;i<dadosPagina.length;i++){var link="<a href='javascript:void(0);' onclick='"+"Patrocinadores_MostrarInfoWindow("+Sys.Serialization.JavaScriptSerializer.serialize(this.dadosBradesco[i])+");"+"' style='margin-left: 10px;'><strong>Ver</strong></a>";html.push("<tr><td align='left'>"+dadosPagina[i].icone_tooltip+"</td><td align='right'>"+link+"</td></tr>")}
html.push("</table>");if(dadosPagina.length>0)
$(this.divResultado).innerHTML=html.join("");else
$(this.divResultado).innerHTML="";$(this.divResultado).style.display="block";this.criarPaginador(pagina,this.dadosBradesco.length,5,5);}
this.criarPaginador=function(pag,totalRegs,regsPag,faixa){var divPaginador=this.divResultado+"Paginacao";$(divPaginador).innerHTML="";$(divPaginador).style.display="block";var inicial,final;if(totalRegs<=regsPag)
$(divPaginador).innerHTML="";else{var nPags=Math.ceil(totalRegs/regsPag);if(nPags>faixa){if(pag>faixa)
inicial=pag-faixa;else
inicial=1;final=inicial+faixa;}
else{inicial=1;final=nPags;}
var htmlPaginador=new Array();if(nPags>1){htmlPaginador.push("<ol>");if(pag>1)
htmlPaginador.push("<li><div onclick='bradesco.montarPagina("+(pag-1)+");' title='Ir para a página anterior'>Anterior</div></li>");for(var i=inicial;i<=final;i++){if(i==pag)
htmlPaginador.push("<li class='pag_atual'>"+i+"</li>");else
htmlPaginador.push("<li><div class='pag' onclick='bradesco.montarPagina("+i+");' title='Ir para a página "+i+"'>"+i+"</div></li>");}
if(pag<nPags)
htmlPaginador.push("<li><div onclick='bradesco.montarPagina("+(pag+1)+");' title='Ir para a próxima página'>Próximo</div></li>");htmlPaginador.push("</ol>");}
$(divPaginador).innerHTML=htmlPaginador.join("");}}
this.listarBradescoCB=function(resultado,tipo){if(tipo[0]=="imoveis"||tipo[0]=="imobiliarias"){this.divResultado="divResultadosBradescoImoveis";$("divAguardeBradescoImoveis").style.display="none";}
else{this.divResultado="divResultadosBradesco";$("divAguardeBradesco").style.display="none";}
this.dadosBradesco=resultado;this.montarPagina(1);}}
var bradesco=new Bradesco();function Patrocinadores_MostrarInfoWindow(markerInfo)
{if(!markerInfo.icone_link||markerInfo.icone_link.indexOf("bradescoimov")==-1)
{mMapa.mostrarPontoLocal(new MPoint(markerInfo.x,markerInfo.y),16,{url:"ic/"+markerInfo.icone,largura:markerInfo.icone_largura,altura:markerInfo.icone_altura});mMapa.mostrarInfoWindow({titulo:markerInfo.icone_titulo?markerInfo.icone_titulo:"Detalhes:",conteudo:markerInfo.icone_tooltip,urlMaisDetalhes:markerInfo.icone_link,point:{x:markerInfo.x,y:markerInfo.y}},{salvarAgenda:false,maisDetalhes:markerInfo.icone_link?true:false,rota:true},300);}
else
{mMapa.mapa.panTo(new GLatLng(markerInfo.y,markerInfo.x));if(mMapa.mapa.getZoom()<16)mMapa.mapa.setZoom(16);}}
function CriarEndereco_OnClick()
{$get("novoGrupo").style.display="none";if($get("novoEndereco").style.display=="none")
{$get("novoEndereco").style.display="block";$get("hdnRegistroAgenda").value="";}
else
{$get("novoEndereco").style.display="none";$get("btnAgendaAdicionar").innerHTML="Adicionar";$get("ctl00_cphConteudo_txtAgendaNome").value="";$get("ctl00_cphConteudo_txtAgendaDescricao").value="";$get("ctl00_cphConteudo_txtAgendaCidade").value="São Paulo, SP";$get("ctl00_cphConteudo_txtAgendaEndereco").value="Av. Paulista, 1000";}
Agenda_IncluirWatermarks();}
function CriarGrupo_OnClick()
{$get("novoEndereco").style.display="none";if($get("novoGrupo").style.display=="none")$get("novoGrupo").style.display="block";else $get("novoGrupo").style.display="none";}
function BuscarGruposError(error)
{alert('Não foi possível obter os grupos neste momento. Tente novamente mais tarde.');}
function BuscarGruposCallback(result,contextKey)
{$get("pMinhaAgenda").className="grupo_agenda_loading";$get("divAgenda").innerHTML=AgendaInnerHTML;if(result==null)
{$get("divAgenda").style.display="none";$get("divAgendaAssine").style.display="block";}
else
{$get("divAgendaAssine").style.display="none";if(result.length==0)$get("detLIPessoais").innerHTML="Você não tem endereços cadastrados.";else
{var sbAgenda=new Sys.StringBuilder();sbAgenda.append("<ul>");for(var i=0;i<result.length;i++)
{sbAgenda.append("<li><a class=\"grupo_agenda\" href=\"javascript:void(0);\" ");sbAgenda.append(" onclick=\"Agenda_BuscarRegistros(this, "+result[i].GroupID+","+result[i].Count+");\" >");sbAgenda.append(result[i].Nome);sbAgenda.append("</a></li>");}
sbAgenda.append("</ul>");$get("detLIPessoais").innerHTML=sbAgenda.toString();sbAgenda.clear();var ddl=$get("grupo");if(document.all)ddl.options.length=0;else ddl.innerHTML='';for(var i=0;i<result.length;i++)
{if(document.all){ddl.options.add(new Option(result[i].Nome,result[i].GroupID));}
else sbAgenda.append("<option value='"+result[i].GroupID+"'>"+result[i].Nome+"</option>");}
if(!document.all)ddl.innerHTML=sbAgenda.toString();}
if(chamouSalvarAgenda.ativo&&chamouSalvarAgenda.addressLocation)
{try
{$find("wtxtAgendaNome").dispose();$find("wtxtAgendaDescricao").dispose();}catch(ex){}
$get("ctl00_cphConteudo_txtAgendaNome").value="";$get("ctl00_cphConteudo_txtAgendaNome").className="";$get("ctl00_cphConteudo_txtAgendaDescricao").value="";$get("ctl00_cphConteudo_txtAgendaDescricao").className="";if(chamouSalvarAgenda.addressLocation.address)
{if(chamouSalvarAgenda.addressLocation.address.city)
$get("ctl00_cphConteudo_txtAgendaCidade").value=chamouSalvarAgenda.addressLocation.address.city.name+", "
+chamouSalvarAgenda.addressLocation.address.city.state;$get("ctl00_cphConteudo_txtAgendaEndereco").value=chamouSalvarAgenda.addressLocation.address.street+", "
+chamouSalvarAgenda.addressLocation.address.houseNumber;}
$get("hdnAgendaEndereco").value=Sys.Serialization.JavaScriptSerializer.serialize(chamouSalvarAgenda.addressLocation);$get("novoGrupo").style.display="none";$get("novoEndereco").style.display="block";window.setTimeout(function(){Agenda_IncluirWatermarks();Agenda_IncluirAutocompletes();$get("ctl00_cphConteudo_txtAgendaNome").focus();},500);}
chamouSalvarAgenda.ativo=false;}}
function Agenda_IncluirGrupo()
{var input=$get("nomegrupo");if(input&&input.value)
{PageMethods.CriarGrupoAgenda(input.value,IncluirGrupoCallback,function(error){alert('Não foi possível incluir o grupo. Verifique se o grupo já não existe ou tente novamente mais tarde.');},input);}
else
{alert('O nome do grupo não foi informado.');input.focus();}}
function IncluirGrupoCallback(result,context)
{$get("pMinhaAgenda").className="";context.value='';PageMethods.BuscarGruposAgenda(BuscarGruposCallback,BuscarGruposError);$get("novoGrupo").style.display="none";}
function Agenda_BuscarRegistros(element,idGrupo,registros)
{element.className="grupo_agenda_loading";$get("hdnGrupoID").value=idGrupo;$get("hdnGrupoCount").value=registros;if(registros==0)
{BuscarRegistroCallback(null,[null,0,0]);return;}
PageMethods.BuscarRegistroAgenda(idGrupo,1,BuscarRegistroCallback,function(error)
{element.className="grupo_agenda";alert("Não foi possível obter seus contatos no momento.");},[element,registros,1]);}
function SliderChanged()
{$get("agenda_voltar").className="grupo_agenda_loading";PageMethods.BuscarRegistroAgenda($get("hdnGrupoID").value,$get("txtSlider").value,BuscarRegistroCallback,function(error){alert("Não foi possível obter seus contatos no momento.");},[null,$get("hdnGrupoCount").value,$get("txtSlider").value]);}
function BuscarRegistroCallback(result,contextKey)
{$get("detLIPessoais").style.display="none";$get("detGrupo").style.display="block";var divSliderAgenda=$get("divSliderAgenda");if(result!=null&&contextKey[1]>1)
{divSliderAgenda.style.display="block";if(SliderGrupoAgenda!=null)
{SliderGrupoAgenda.dispose();SliderGrupoAgenda=null;var divAjax=$get("sliderGrupo_railElement",divSliderAgenda);if(divAjax!=null)divSliderAgenda.removeChild(divAjax);}
SliderGrupoAgenda=$create(AjaxControlToolkit.SliderBehavior,{"Minimum":1,"id":"sliderGrupo","Length":200},null,null,$get("txtSlider"));SliderGrupoAgenda.set_Maximum(parseFloat(contextKey[1]));SliderGrupoAgenda.set_Steps(parseFloat(contextKey[1]));SliderGrupoAgenda.set_Value(parseFloat(contextKey[2]));$clearHandlers($get("txtSlider"));$addHandler($get("txtSlider"),"change",SliderChanged);}
else
{divSliderAgenda.style.display="none";}
if(result==null)
{$get("detGrupoVazio").style.display="block";$get("detGrupoContato").style.display="none";}
else
{$get("detGrupoVazio").style.display="none";$get("detGrupoContato").style.display="block";$get("agenda_voltar").className="agenda_voltar";$get("agenda_nome").innerHTML=result.Nome;$get("agenda_cidade").innerHTML=result.Endereco.city.name+" - "+result.Endereco.city.state;$get("agenda_endereco").innerHTML=result.Endereco.street+(result.Endereco.houseNumber&&result.Endereco.houseNumber!=0?", "+result.Endereco.houseNumber:"");$get("hdnRegistroAgenda").value=Sys.Serialization.JavaScriptSerializer.serialize(result);if(result.Descricao)$get("agenda_nome").title=result.Descricao;}}
function Agenda_VoltarGrupos()
{$get("detGrupo").style.display="none";$get("detLIPessoais").style.display="block";$get("novoEndereco").style.display="none";$get("btnAgendaAdicionar").innerHTML="Adicionar";$get("ctl00_cphConteudo_txtAgendaNome").value="";$get("ctl00_cphConteudo_txtAgendaDescricao").value="";$get("ctl00_cphConteudo_txtAgendaCidade").value="São Paulo, SP";$get("ctl00_cphConteudo_txtAgendaEndereco").value="Av. Paulista, 1000";var li=$get("detLIPessoais").getElementsByTagName("a");for(var i=0;i<li.length;i++)
{li[i].className="grupo_agenda";}}
function Agenda_VerNoMapa(sender)
{var RegistroAgenda=Sys.Serialization.JavaScriptSerializer.deserialize($get("hdnRegistroAgenda").value);if(RegistroAgenda.X==0||RegistroAgenda.Y==0)
{if(confirm("A localização deste endereço não está cadastrada.\nDejesar editar o registro?"))
{Agenda_Editar($get("btnAgendaEditar"));}}
else
{var lZoom=mMapa.mapa.getZoom()<16?16:mMapa.mapa.getZoom();mMapa.mostrarPontoLocal(new MPoint(RegistroAgenda.X,RegistroAgenda.Y),lZoom,null);var tooltip=(RegistroAgenda.Descricao?RegistroAgenda.Descricao+"<br /><br />":"")
+RegistroAgenda.Endereco.street
+(RegistroAgenda.Endereco.houseNumber?", "+RegistroAgenda.Endereco.houseNumber:"")+"<br />"
+RegistroAgenda.Endereco.city.name+" - "+RegistroAgenda.Endereco.city.state;mMapa.mostrarInfoWindow({titulo:RegistroAgenda.Nome,conteudo:tooltip,point:{x:RegistroAgenda.X,y:RegistroAgenda.Y}},{salvarAgenda:false,maisDetalhes:false,rota:true},300);}}
function Agenda_Excluir(sender)
{if(confirm("Tem certeza que deseja excluir este contato? Esta ação não pode ser desfeita."))
{sender.className="grupo_agenda_loading";var RegistroAgenda=Sys.Serialization.JavaScriptSerializer.deserialize($get("hdnRegistroAgenda").value);PageMethods.ExcluirRegistroAgenda(RegistroAgenda.ID,ExcluirAgendaCallback,function(error)
{alert('Não foi possível excluir o registro no momento.');},sender);}}
function ExcluirAgendaCallback(result)
{$get("pMinhaAgenda").className="";PageMethods.BuscarGruposAgenda(BuscarGruposCallback,BuscarGruposError);}
function AdicionarAgendaCallback(result,contextKey)
{$get("btnAgendaAdicionar").innerHTML="Adicionar";$get("ctl00_cphConteudo_acAgendaCidade").style.display="none";$get("ctl00_cphConteudo_acAgendaEndereco").style.display="none";$get("ctl00_cphConteudo_txtAgendaNome").value="";$get("ctl00_cphConteudo_txtAgendaDescricao").value="";$get("ctl00_cphConteudo_txtAgendaCidade").value="São Paulo, SP";$get("ctl00_cphConteudo_txtAgendaEndereco").value="Av. Paulista, 1000";$get("hdnAgendaEndereco").value="";$get("pMinhaAgenda").className="";PageMethods.BuscarGruposAgenda(BuscarGruposCallback,BuscarGruposError);}
function Agenda_IncluirWatermarks()
{try
{if($find("wtxtAgendaNome")!=null)$find("wtxtAgendaNome").dispose();$create(AjaxControlToolkit.TextBoxWatermarkBehavior,{"ClientStateFieldID":"hdnAgendaNome","WatermarkCssClass":"inativo","WatermarkText":"Casa CI","id":"wtxtAgendaNome"},null,null,$get("ctl00_cphConteudo_txtAgendaNome"));}catch(ex){}
try
{if($find("wtxtAgendaDescricao")!=null)$find("wtxtAgendaDescricao").dispose();$create(AjaxControlToolkit.TextBoxWatermarkBehavior,{"ClientStateFieldID":"hdnAgendaDescricao","WatermarkCssClass":"inativo","WatermarkText":"Descrição. Ex: Aqui fica a Casa CI","id":"wtxtAgendaDescricao"},null,null,$get("ctl00_cphConteudo_txtAgendaDescricao"));}catch(ex){}
Agenda_IncluirAutocompletes();}
function Agenda_IncluirAutocompletes()
{var menu=new AutoComplete();if(MapLinkAutoComplete!=null){MapLinkAutoComplete.push(menu);}
menu.id="ctl00_cphConteudo_acAgendaCidade";menu.textBoxID="ctl00_cphConteudo_txtAgendaCidade";menu.hiddenSelectedValueID="hdnAgendaCidade";menu.buttonID="btnAgendaAdicionar";menu.minSuggestChars=2;menu.maxSuggestChars=100;menu.delay=700;menu.usePaging=false;menu.obrigatorio=true;menu.quantidadeItens="5";menu.completarCom="CidadeEstado";menu.scriptOnClickButton="Agenda_Adicionar";menu.controleCidadeEstadoID="";menu.imageLoading="/v2/WebResource.axd?d=aeL-fzNq3eAYPheWStvb2ZJf9MnNmA2hGE0er2OVgTzRQSHv8QiMMA27FX0FnkAJ1MK8Um-GSq6UCUwlVIsNTX0PiuALAY-iIDYhBlrebPQ1&t=633392691827656250";menu.updateTextBoxOnUpDown=false;menu.useIFrame=true;menu.onGetMenuItems="PageMethods.GetSuggestions";menu.render();var menu=new AutoComplete();if(MapLinkAutoComplete!=null){MapLinkAutoComplete.push(menu);}
menu.id="ctl00_cphConteudo_acAgendaEndereco";menu.textBoxID="ctl00_cphConteudo_txtAgendaEndereco";menu.hiddenSelectedValueID="hdnAgendaEndereco";menu.buttonID="btnAgendaAdicionar";menu.minSuggestChars=2;menu.maxSuggestChars=100;menu.delay=700;menu.usePaging=false;menu.obrigatorio=true;menu.quantidadeItens="5";menu.completarCom="Endereco";menu.scriptOnClickButton="Agenda_Adicionar";menu.controleCidadeEstadoID="ctl00_cphConteudo_txtAgendaCidade";menu.imageLoading="/v2/WebResource.axd?d=aeL-fzNq3eAYPheWStvb2ZJf9MnNmA2hGE0er2OVgTzRQSHv8QiMMA27FX0FnkAJ1MK8Um-GSq6UCUwlVIsNTX0PiuALAY-iIDYhBlrebPQ1&t=633392691827656250";menu.updateTextBoxOnUpDown=false;menu.useIFrame=true;menu.onGetMenuItems="PageMethods.GetSuggestions";menu.render();}
function Agenda_Adicionar()
{if(!$get("ctl00_cphConteudo_txtAgendaNome").value||$get("ctl00_cphConteudo_txtAgendaNome").value=="Casa CI"||!$get("hdnAgendaEndereco").value)
{alert('Não foram informados todos os valores para o registro na agenda.');return;}
$get("pNovoEndereco").className="grupo_agenda_loading";var Endereco=Sys.Serialization.JavaScriptSerializer.deserialize($get("hdnAgendaEndereco").value);var id=null,nome="",groupID=0,descricao="",rua="",numero=0,cidade="",uf="",x=0.0,y=0.0;if($get("hdnRegistroAgenda").value)
id=Sys.Serialization.JavaScriptSerializer.deserialize($get("hdnRegistroAgenda").value).ID;if(!$get("ctl00_cphConteudo_txtAgendaDescricao").value||$get("ctl00_cphConteudo_txtAgendaDescricao").value!="Descrição. Ex: Aqui fica a Casa CI")
descricao=$get("ctl00_cphConteudo_txtAgendaDescricao").value;nome=$get("ctl00_cphConteudo_txtAgendaNome").value;groupID=$get("grupo").value;rua=Endereco.address.street;numero=Endereco.address.houseNumber;cidade=Endereco.address.city.name;uf=Endereco.address.city.state;x=Endereco.point.x;y=Endereco.point.y;PageMethods.AdicionarAgenda(id,nome,groupID,descricao,rua,numero,cidade,uf,x,y,AdicionarAgendaCallback,function(error)
{$get("pNovoEndereco").className="";if(Sys.Debug.isDebug)alert(error.get_message()+"\n"+error.get_stackTrace());else alert('Não foi possível adicionar o registro no momento. Por favor tente mais tarde.');});}
function Agenda_Editar(sender)
{var RegistroAgenda=Sys.Serialization.JavaScriptSerializer.deserialize($get("hdnRegistroAgenda").value);$get("btnAgendaAdicionar").innerHTML="Alterar";try
{$find("wtxtAgendaNome").dispose();$find("wtxtAgendaDescricao").dispose();}catch(ex){}
$get("ctl00_cphConteudo_txtAgendaNome").value=RegistroAgenda.Nome;$get("ctl00_cphConteudo_txtAgendaNome").className="";$get("ctl00_cphConteudo_txtAgendaDescricao").value=RegistroAgenda.Descricao;$get("ctl00_cphConteudo_txtAgendaDescricao").className="";$get("ctl00_cphConteudo_txtAgendaCidade").value=RegistroAgenda.Endereco.city.name+", "+RegistroAgenda.Endereco.city.state;$get("ctl00_cphConteudo_txtAgendaEndereco").value=RegistroAgenda.Endereco.street+", "+RegistroAgenda.Endereco.houseNumber;if(document.all)$get("grupo").value=RegistroAgenda.GroupID;else
{for(var i=0;i<$get("grupo").length;i++)
{if($get("grupo").options[i].value==RegistroAgenda.GroupID)$get("grupo").options[i].selected=true;else $get("grupo").options[i].selected=false;}}
$get("novoGrupo").style.display="none";$get("novoEndereco").style.display="block";Agenda_IncluirAutocompletes();}
function SalvarNaAgenda(addressLocation)
{if(!$('agenda_02').up().hasClassName('ativo'))Mapa.toggleModulo('agenda_02','_02');chamouSalvarAgenda.ativo=true;chamouSalvarAgenda.addressLocation=addressLocation;}
function MRota(){this.addrLocOrigem=null;this.addrLocDestino=null;this.routeManager=null;this.routeOptions=null;this.routeDetails=null;this.routeConfig=null;this.routePoints=null;this.vehicle=null;this.vehicle_TankCapacity=60;this.vehicle_AverageConsumption=12;this.vehicle_FuelPrice=2.5;this.vehicle_AverageSpeed=80;this.vehicle_TollFeeCat=2;this.details_routeType=3;this.details_optimizeRoute=true;this.details_descriptionType=0;this.letras=['A','B','C','D','E'];this.UltimasParadasRotaUrbana=[];this.DadosRotaUrbana=null;this.ConfiguracoesRotaUrbana={tipoVeiculo:2,consumoVeiculo:0,valorCombustivel:0};this.LimparDesenhoRota=function(){try{limparMarker();if(typeof(mRota.routeManager)!="undefined")
mRota.routeManager.destroy();}
catch(e){}}
this.LimparRotaUrbana=function(){this.LimparDesenhoRota();var ol=$("olRU");var liA=$("liRU_A");var liB=$("liRU_B");var liC=$("liRU_C");var liD=$("liRU_D");var liE=$("liRU_E");ol.appendChild(liA);ol.appendChild(liB);ol.appendChild(liC);ol.appendChild(liD);ol.appendChild(liE);liA.show();liB.show();liC.hide();liD.hide();liE.hide();$(ContentBase+"RUcidade").disabled=false;for(var i=0;i<this.letras.length;i++){$(ContentBase+"RUendereco"+this.letras[i]).disabled=false;$(ContentBase+"RUendereco"+this.letras[i]).value='';__AC.ElementById(ContentBase+"RUendereco"+this.letras[i])["selectedValue"]=new Array();}
$("divAdicionarParadaRotaUrbana").show();$("ulOpcoesRotaUrbana").hide();$("resRotasUrb").update();this.DadosRotaUrbana=null;mMapa.OP=MAPAOP.LATLNG;mMapa.pontoLocal=mMapa.mapa.getCenter();}
this.DefinirEnderecoOrigem=function(x,y){debugger;var af=new MWsAddressFinder();var point=new MPoint();point.x=x;point.y=y;af.getAddress(point,function(addrLoc){debugger;if(addrLoc!=null){if(addrLoc.address!=null){if(mRota.DadosRotaUrbana||mRota.DadosRotaRodoviaria){if(mRota.DadosRotaRodoviaria)
Mapa.toggleModulo('rotasurbanas_02','_02');mRota.LimparRotaUrbana();mRota.LimparRotaRodoviaria();__AC.ElementById(ContentBase+"RUcidade")["selectedValue"]=new Array();$(ContentBase+"RUcidade").value='';for(var i=0;i<mRota.letras.length;i++){__AC.ElementById(ContentBase+"RUendereco"+mRota.letras[i])["selectedValue"]=new Array();$(ContentBase+"RUendereco"+mRota.letras[i]).value='';}}
if(__AC.GetCityLoc(ContentBase+"RUcidade")["city"]){var objCidadeSelecionada=__AC.GetCityLoc(ContentBase+"RUcidade")
if((addrLoc.address.city.name!=objCidadeSelecionada.city.name||addrLoc.address.city.state!=objCidadeSelecionada.city.state)&&(__AC.GetAddLoc(ContentBase+"RUenderecoB")["address"])){alert('Não é possível fazer rotas urbanas de localidades em cidades distintas.');return;}
__AC.ElementById(ContentBase+"RUenderecoA")["selectedValue"]=eval("({'name':'"+addrLoc.address.street+","+addrLoc.address.houseNumber+"','district':''})");__AC.ElementById(ContentBase+"RUenderecoA")["geoCode"]=eval("({'x':'"+addrLoc.point.x+"','y':'"+addrLoc.point.y+"'})");$(ContentBase+"RUenderecoA").value=addrLoc.address.street+(addrLoc.address.houseNumber?(","+addrLoc.address.houseNumber):"");var cityLocation=addrLoc;cityLocation.city=cityLocation.address.city;cityLocation.address=null;__AC.ElementById(ContentBase+"RUcidade")["selectedValue"]=eval("({'cityState':'"+cityLocation.city.name+","+cityLocation.city.state+"'})");__AC.ElementById(ContentBase+"RUcidade")["geoCode"]=eval("({'x':"+cityLocation.point.x+",'y':"+cityLocation.point.y+"})");$(ContentBase+"RUcidade").value=cityLocation.city.name+", "+cityLocation.city.state;}
else{__AC.ElementById(ContentBase+"RUenderecoA")["selectedValue"]=eval("({'name':'"+addrLoc.address.street+","+addrLoc.address.houseNumber+"','district':''})");__AC.ElementById(ContentBase+"RUenderecoA")["geoCode"]=eval("({'x':'"+addrLoc.point.x+"','y':'"+addrLoc.point.y+"'})");$(ContentBase+"RUenderecoA").value=addrLoc.address.street+", "+addrLoc.address.houseNumber;var cityLocation=addrLoc;cityLocation.city=cityLocation.address.city;cityLocation.address=null;__AC.ElementById(ContentBase+"RUcidade")["selectedValue"]=eval("({'cityState':'"+cityLocation.city.name+","+cityLocation.city.state+"'})");__AC.ElementById(ContentBase+"RUcidade")["geoCode"]=eval("({'x':"+cityLocation.point.x+",'y':"+cityLocation.point.y+"})");$(ContentBase+"RUcidade").value=cityLocation.city.name+", "+cityLocation.city.state;}
if(!$("rotasurbanas_02").visible())
Mapa.toggleModulo('rotasurbanas_02','_02');}}});}
this.DefinirEnderecoDestino=function(x,y){var af=new MWsAddressFinder();var point=new MPoint();point.x=x;point.y=y;af.getAddress(point,function(addrLoc){if(addrLoc!=null){if(addrLoc.address!=null){if(mRota.DadosRotaUrbana||mRota.DadosRotaRodoviaria){if(mRota.DadosRotaRodoviaria)
Mapa.toggleModulo('rotasurbanas_02','_02');mRota.LimparRotaUrbana();mRota.LimparRotaRodoviaria();__AC.ElementById(ContentBase+"RUcidade")["selectedValue"]=new Array();$(ContentBase+"RUcidade").value='';for(var i=0;i<mRota.letras.length;i++){__AC.ElementById(ContentBase+"RUendereco"+mRota.letras[i])["selectedValue"]=new Array();$(ContentBase+"RUendereco"+mRota.letras[i]).value='';}}
if(__AC.GetCityLoc(ContentBase+"RUcidade")["city"]){var objCidadeSelecionada=__AC.GetCityLoc(ContentBase+"RUcidade")
if((addrLoc.address.city.name!=objCidadeSelecionada.city.name||addrLoc.address.city.state!=objCidadeSelecionada.city.state)&&(__AC.GetAddLoc(ContentBase+"RUenderecoA")["address"])){alert('Não é possível fazer rotas urbanas de localidades em cidades distintas.');return;}
__AC.ElementById(ContentBase+"RUenderecoB")["selectedValue"]=eval("({'name':'"+addrLoc.address.street+","+addrLoc.address.houseNumber+"','district':''})");__AC.ElementById(ContentBase+"RUenderecoB")["geoCode"]=eval("({'x':'"+addrLoc.point.x+"','y':'"+addrLoc.point.y+"'})");$(ContentBase+"RUenderecoB").value=addrLoc.address.street+(addrLoc.address.houseNumber?(","+addrLoc.address.houseNumber):"");var cityLocation=addrLoc;cityLocation.city=cityLocation.address.city;cityLocation.address=null;__AC.ElementById(ContentBase+"RUcidade")["selectedValue"]=eval("({'cityState':'"+cityLocation.city.name+","+cityLocation.city.state+"'})");__AC.ElementById(ContentBase+"RUcidade")["geoCode"]=eval("({'x':"+cityLocation.point.x+",'y':"+cityLocation.point.y+"})");$(ContentBase+"RUcidade").value=cityLocation.city.name+", "+cityLocation.city.state;}
else{__AC.ElementById(ContentBase+"RUenderecoB")["selectedValue"]=eval("({'name':'"+addrLoc.address.street+","+addrLoc.address.houseNumber+"','district':''})");__AC.ElementById(ContentBase+"RUenderecoB")["geoCode"]=eval("({'x':'"+addrLoc.point.x+"','y':'"+addrLoc.point.y+"'})");$(ContentBase+"RUenderecoB").value=addrLoc.address.street+", "+addrLoc.address.houseNumber;var cityLocation=addrLoc;cityLocation.city=cityLocation.address.city;cityLocation.address=null;__AC.ElementById(ContentBase+"RUcidade")["selectedValue"]=eval("({'cityState':'"+cityLocation.city.name+","+cityLocation.city.state+"'})");__AC.ElementById(ContentBase+"RUcidade")["geoCode"]=eval("({'x':"+cityLocation.point.x+",'y':"+cityLocation.point.y+"})");$(ContentBase+"RUcidade").value=cityLocation.city.name+", "+cityLocation.city.state;}
if(!$("rotasurbanas_02").visible())
Mapa.toggleModulo('rotasurbanas_02','_02');}}});}
this.rotaQS=false;this.TracarRotaQS=function(pontos,rotaRodoviaria){mMapa.inicializado=true;if(pontos!=null){if(pontos.length>=2&&pontos.length<=5){if(rotaRodoviaria==null)
for(var i=0;i<pontos.length;i++)
for(var j=0;j<pontos.length;j++){if(pontos[i].address==null){rotaRodoviaria=true;break;}
else{if(pontos[j].address!=null){if(pontos[i].address.city.name!=pontos[j].address.city.name||pontos[i].address.city.state!=pontos[j].address.city.state){rotaRodoviaria=true;break;}}}}
if(rotaRodoviaria){Mapa.toggleModulo('rotasrodoviarias_02','_02');if(!usuarioPago)
return;for(var i=0;i<pontos.length;i++){if(pontos[i].address!=null){descEndereco=pontos[i].address.city.name+", "+pontos[i].address.city.state;__AC.ElementById(ContentBase+"RRcidade"+mRota.letras[i])["selectedValue"]=eval("({'cityState':'"+pontos[i].address.city.name+","+pontos[i].address.city.state+"'})");__AC.ElementById(ContentBase+"RRcidade"+mRota.letras[i])["geoCode"]=eval("({'x':"+pontos[i].point.x+",'y':"+pontos[i].point.y+"})");$(ContentBase+"RRcidade"+mRota.letras[i]).value=descEndereco;if(pontos[i].address.street!=null){descEndereco=pontos[i].address.street+", "+pontos[i].address.houseNumber;__AC.ElementById(ContentBase+"RUendereco"+mRota.letras[i])["selectedValue"]=eval("({'name':'"+pontos[i].address.street+","+pontos[i].address.houseNumber+"','district':'"+pontos[i].address.district+"'})");__AC.ElementById(ContentBase+"RUendereco"+mRota.letras[i])["geoCode"]=eval("({'x':'"+pontos[i].point.x+"','y':'"+pontos[i].point.y+"'})");$(ContentBase+"RRendereco"+mRota.letras[i]).value=descEndereco;}}
else{descEndereco=pontos[i].city.name+", "+pontos[i].city.state;__AC.ElementById(ContentBase+"RRcidade"+mRota.letras[i])["selectedValue"]=eval("({'cityState':'"+pontos[i].city.name+","+pontos[i].city.state+"'})");__AC.ElementById(ContentBase+"RRcidade"+mRota.letras[i])["geoCode"]=eval("({'x':"+pontos[i].point.x+",'y':"+pontos[i].point.y+"})");$(ContentBase+"RRcidade"+mRota.letras[i]).value=descEndereco;}}
this.rotaQS=true;this.TracarRotaRodoviaria();}
else{Mapa.toggleModulo('rotasurbanas_02','_02');if(pontos.length>2&&!usuarioPago)
return;var descEndereco='';__AC.ElementById(ContentBase+"RUcidade")["geoCode"]=null;__AC.ElementById(ContentBase+"RUcidade")["selectedValue"]=null;$(ContentBase+"RUcidade").value="";for(var i=0;i<pontos.length;i++){if(pontos[i].address!=null){if(pontos[i].address.street!=null)
descEndereco=pontos[i].address.street+", "+pontos[i].address.houseNumber;else
descEndereco=pontos[i].address.city.name+", "+pontos[i].address.city.state;__AC.ElementById(ContentBase+"RUendereco"+mRota.letras[i])["geoCode"]=eval("({'x':"+pontos[i].point.x+",'y':"+pontos[i].point.y+"})");$(ContentBase+"RUendereco"+mRota.letras[i]).value=descEndereco;}
else{__AC.ElementById(ContentBase+"RUendereco"+mRota.letras[i])["geoCode"]=eval("({'x':"+pontos[i].point.x+",'y':"+pontos[i].point.y+"})");if(i==0)
$(ContentBase+"RUendereco"+mRota.letras[i]).value='Origem';else if(i==pontos.length-1)
$(ContentBase+"RUendereco"+mRota.letras[i]).value='Destino';else
$(ContentBase+"RUendereco"+mRota.letras[i]).value='Parada '+(i+1);}}
this.rotaQS=true;this.TracarRotaUrbana();}}}}
this.AdicionarParadaUrbana=function(){if(usuarioPago){var ol=$("olRU");var liA=$("liRU_A");var liB=$("liRU_B");var liC=$("liRU_C");var liD=$("liRU_D");var liE=$("liRU_E");var divAdicionar=$("divAdicionarParadaRotaUrbana");var lis=[liA,liB,liC,liD,liE];for(var i=0;i<lis.length;i++){if(!lis[i].visible()){lis[i].show();if(i==lis.length-1)
divAdicionar.hide();return;}}}
else{$("divAdicionarParadaRotaUrbana").hide();$("divAvisoLogadoUrbano").show();}}
this.RemoverParadaUrbana=function(parada){var divAdicionar=$("divAdicionarParadaRotaUrbana");divAdicionar.show();var li=$("liRU_"+parada);li.hide();$(ContentBase+"RUendereco"+parada).value="";var tx=__AC.GetAddLoc(ContentBase+"RUendereco"+parada);tx["address"]=null;}
this.TracarRotaUrbana=function(){this.LimparDesenhoRota();$("divAvisoLogadoUrbano").hide();$("resRotasUrb").hide();var txA=__AC.GetAddLoc(ContentBase+"RUenderecoA");var txB=__AC.GetAddLoc(ContentBase+"RUenderecoB");var txC=__AC.GetAddLoc(ContentBase+"RUenderecoC");var txD=__AC.GetAddLoc(ContentBase+"RUenderecoD");var txE=__AC.GetAddLoc(ContentBase+"RUenderecoE");var liA=$("liRU_A");var liB=$("liRU_B");var liC=$("liRU_C");var liD=$("liRU_D");var liE=$("liRU_E");var inA=$(ContentBase+"RUenderecoA");var inB=$(ContentBase+"RUenderecoB");var inC=$(ContentBase+"RUenderecoC");var inD=$(ContentBase+"RUenderecoD");var inE=$(ContentBase+"RUenderecoE");var qtdPontos=0;var paradas=[];if((inA.value!=''&&txA["address"])||this.rotaQS){qtdPontos++;paradas.push(liA);}
if((inB.value!=''&&txB["address"])||this.rotaQS){qtdPontos++;paradas.push(liB);}
if((inC.value!=''&&txC["address"])||this.rotaQS){qtdPontos++;paradas.push(liC);}
if((inD.value!=''&&txD["address"])||this.rotaQS){qtdPontos++;paradas.push(liD);}
if((inE.value!=''&&txE["address"])||this.rotaQS){qtdPontos++;paradas.push(liE);}
if(parseInt(qtdPontos)<2&&!this.rotaQS){return;}
this.UltimasParadasRotaUrbana=paradas;var detRota=$("det_rotasurbanas");detRota.down(0).next('span').show();$("ulOpcoesRotaUrbana").hide();if(this.ResgatarValoresRotaUrbana())
this.GerarRota(this.TratarRotaUrbana);}
this.ResgatarValoresRotaUrbana=function(){var pontos=[];if($(ContentBase+"RUenderecoA").value!=''){var endA=__AC.GetAddLoc(ContentBase+"RUenderecoA");if(endA["address"])pontos.push(endA);else if(this.rotaQS){var add=new MAddressLocation();add.point=new MPoint();add.point.y=__AC.ElementById(ContentBase+"RUenderecoA")["geoCode"].y;add.point.x=__AC.ElementById(ContentBase+"RUenderecoA")["geoCode"].x;pontos.push(add);}}
if($(ContentBase+"RUenderecoB").value!=''){var endB=__AC.GetAddLoc(ContentBase+"RUenderecoB");if(endB["address"])pontos.push(endB);else if(this.rotaQS){var add=new MAddressLocation();add.point=new MPoint();add.point.y=__AC.ElementById(ContentBase+"RUenderecoB")["geoCode"].y;add.point.x=__AC.ElementById(ContentBase+"RUenderecoB")["geoCode"].x;pontos.push(add);}}
if($(ContentBase+"RUenderecoC").value!=''){var endC=__AC.GetAddLoc(ContentBase+"RUenderecoC");if(endC["address"])pontos.push(endC);else if(this.rotaQS){var add=new MAddressLocation();add.point=new MPoint();add.point.y=__AC.ElementById(ContentBase+"RUenderecoC")["geoCode"].y;add.point.x=__AC.ElementById(ContentBase+"RUenderecoC")["geoCode"].x;pontos.push(add);}}
if($(ContentBase+"RUenderecoD").value!=''){var endD=__AC.GetAddLoc(ContentBase+"RUenderecoD");if(endD["address"])pontos.push(endD);else if(this.rotaQS){var add=new MAddressLocation();add.point=new MPoint();add.point.y=__AC.ElementById(ContentBase+"RUenderecoD")["geoCode"].y;add.point.x=__AC.ElementById(ContentBase+"RUenderecoD")["geoCode"].x;pontos.push(add);}}
if($(ContentBase+"RUenderecoE").value!=''){var endE=__AC.GetAddLoc(ContentBase+"RUenderecoE");if(endE["address"])pontos.push(endE);else if(this.rotaQS){var add=new MAddressLocation();add.point=new MPoint();add.point.y=__AC.ElementById(ContentBase+"RUenderecoE")["geoCode"].y;add.point.x=__AC.ElementById(ContentBase+"RUenderecoE")["geoCode"].x;pontos.push(add);}}
try{for(var i=0;i<pontos.length;i++)
for(var j=0;j<pontos.length;j++)
if(pontos[i].address.city.state=="SP"&&pontos[j].address.city.state!="SP")
if(pontos[i].address.city.name!=pontos[j].address.city.name||pontos[i].address.city.state!=pontos[j].address.city.state)
return false;}catch(e){}
this.vehicle_AverageSpeed=50;this.TratarValoresRota({kilometragem:'RU_kilometragem',preco:'RU_preco',parada1:'RU_parada1',parada2:'RU_parada2',rota1:'RU_rota1',rota2:'RU_rota2',rota3:'RU_rota3',motocicleta:'RU_motocicleta',automovel:'RU_automovel',semireboque:'RU_semireboque',reboque:'RU_reboque',ipiranga:'RU_ipiranga',petrobras:'RU_petrobras',gnv:'RU_gnv',shell:'RU_shell',ctf:'RU_ctf',pontosRota:pontos});return true;}
this.TratarRotaUrbana=function(rota){if(typeof(rota)!='undefined'){animarRota(rota);mRota.ConfiguracoesRotaUrbana.tipoVeiculo=mRota.vehicle_TollFeeCat;mRota.ConfiguracoesRotaUrbana.consumoVeiculo=mRota.vehicle_AverageConsumption;mRota.ConfiguracoesRotaUrbana.valorCombustivel=mRota.vehicle_FuelPrice;this.routeInfo=rota;mRota.DadosRotaUrbana=this.routeInfo;var rtDados=this.routeInfo.segDescription;var pos=0;var ol=$("olRU");var liA=$("liRU_A");var liB=$("liRU_B");var liC=$("liRU_C");var liD=$("liRU_D");var liE=$("liRU_E");ol.appendChild(liA);ol.appendChild(liB);ol.appendChild(liC);ol.appendChild(liD);ol.appendChild(liE);$("resRotasUrb").update();var divTB_RU=Builder.node('div',{className:'table'});var itemTrajeto=null;var ultimaParada=0;var cabecalhoRota=Builder.node('div',{className:'table'},[Builder.node('div',{className:'trHeader'},[Builder.node('div',{className:'tdA'},[Builder.node('a',[Builder.node('div',{id:'icoExpandirRecolherRota',className:'recolher'})])]),Builder.node('div',{className:'tdB'},[Builder.node('span',' Trajeto: '),Builder.node('span',mRota.converterDistancia(this.routeInfo.routeTotals.totalDistance)),Builder.node('span',' - '),Builder.node('span',mRota.converterTempo(this.routeInfo.routeTotals.totalTime)),Builder.node('div',{style:"display: none;",id:"lblRUTaxi"}),]),Builder.node('div',{className:'clear'})])]);$("resRotasUrb").show();$("resRotasUrb").appendChild(cabecalhoRota);if(this.routeInfo.routeTotals.taxiFare1&&this.routeInfo.routeTotals.taxiFare2){$get("lblRUTaxi").innerHTML="Táxi (Bandeira 1, valor aproximado): <b>R$ "
+this.routeInfo.routeTotals.taxiFare1.toString().replace('.',',')
+"</b><br />Táxi (Bandeira 2, valor aproximado): <b>R$ "
+this.routeInfo.routeTotals.taxiFare2.toString().replace('.',',')
+"</b>";$get("lblRUTaxi").style.display="block";}
itemTrajeto=mRota.UltimasParadasRotaUrbana[ultimaParada];$("resRotasUrb").appendChild(itemTrajeto);ultimaParada++;try{var markers=this.routePoints;if(markers.length>=2){var markerOrigem=markers[0].marker;var markerDestino=markers[markers.length-1].marker;var descOrigem=this.routePoints[0].routeStop.description;var descDestino=this.routePoints[markers.length-1].routeStop.description;var ptOrigem=this.routePoints[0].routeStop.point;var ptDestino=this.routePoints[markers.length-1].routeStop.point;GEvent.addListener(markerOrigem.gMarker,"click",function(){if(markerOrigem.gMarker.MInfoWindowInstance)
markerOrigem.gMarker.closeMInfoWindow();else
markerOrigem.gMarker.openMInfoWindow({titulo:'Origem',conteudo:descOrigem,point:ptOrigem},{salvarAgenda:false,maisDetalhes:false,rota:false},300);});GEvent.addListener(markerDestino.gMarker,"click",function(){if(markerDestino.gMarker.MInfoWindowInstance)
markerDestino.gMarker.closeMInfoWindow();else
markerDestino.gMarker.openMInfoWindow({titulo:'Destino',conteudo:descDestino,point:ptDestino},{salvarAgenda:false,maisDetalhes:false,rota:false},300);});}}
catch(e){}
for(var i=1;i<rtDados.length-1;i++){pos++;var pontoX=rtDados[i].point.x;var pontoY=rtDados[i].point.y;var instrucao=rtDados[i].command;var descricaoItem=rtDados[i].description;var distancia=mRota.converterDistancia(rtDados[i].distance);var descricaoGeral=(instrucao+" na "+descricaoItem);var ptAdd=null;var cor=(i%2==0)?'trodd':'tr';if(/^Parada/.test(instrucao)){itemTrajeto=Builder.node('div',{className:'trparada'},[Builder.node('div',{className:'td1'},[Builder.node('img',{src:mRota.tratarImagem(instrucao),title:instrucao})]),Builder.node('div',{className:'td2'},[Builder.node('a',{href:"javascript:mRota.zoomTrecho('"+rtDados[i].point.x+"','"+rtDados[i].point.y+"');"},descricaoItem)]),Builder.node('div',{className:'td3'},[Builder.node('span',distancia)]),Builder.node('div',{className:'clear'})]);divTB_RU.appendChild(itemTrajeto);mRota.UltimasParadasRotaUrbana[ultimaParada].hide();ultimaParada++;}
else{itemTrajeto=Builder.node('div',{className:cor},[Builder.node('div',{className:'td1'},[Builder.node('img',{src:mRota.tratarImagem(instrucao),title:instrucao})]),Builder.node('div',{className:'td2'},[Builder.node('a',{href:"javascript:mRota.zoomTrecho('"+rtDados[i].point.x+"','"+rtDados[i].point.y+"');"},descricaoItem)]),Builder.node('div',{className:'td3'},[Builder.node('span',distancia)]),Builder.node('div',{className:'clear'})]);divTB_RU.appendChild(itemTrajeto);}
if(rtDados[i].poiRouteDetails!=null){if(rtDados[i].poiRouteDetails.length>0){var rDetails=rtDados[i].poiRouteDetails;for(var j=0;j<rDetails.length;j++){itemTrajeto=Builder.node('tr',{className:'poi'},[Builder.node('td',[Builder.node('img',{src:mRota.tratarImagemPOI(rDetails[j].source)})]),Builder.node('td',{colspan:'2'},[Builder.node('a',{href:'javascript:mRota.zoomTrecho('+rDetails[j].point.x+', '+rDetails[j].point.y+');'},[Builder.node('span',rDetails[j].name),Builder.node('br'),Builder.node('span',(rDetails[j].addressInfo!=null)?rDetails[j].addressInfo.unescapeHTML():'')])]),Builder.node('div',{className:'clear'})]);divTB_RU.appendChild(itemTrajeto);}}}}
$("resRotasUrb").appendChild(divTB_RU);divTB_RU.appendChild(Builder.node('div',{className:'clear'}));$("resRotasUrb").appendChild(divTB_RU);divTB_RU=Builder.node('ol');itemTrajeto=mRota.UltimasParadasRotaUrbana[mRota.UltimasParadasRotaUrbana.length-1];divTB_RU.appendChild(itemTrajeto);$("resRotasUrb").appendChild(divTB_RU);var detRota=$("det_rotasurbanas");detRota.down(0).next('span').hide();$("ulOpcoesRotaUrbana").show();mMapa.OP=MAPAOP.ROTA_URB;}}
this.ImprimirRotaUrbana=function(){window.open('MapaImpressao.aspx?t=RU','wMapaUrbano');}
this.GerarRota=function(callback){if(this.routePoints!=null){if(this.routePoints.length>=2){if(callback){var routePointTemp=[];this.routeManager.createRoute(this.routePoints,this.routeOptions,null,callback);}}}}
this.TratarValoresRota=function(dados){var R_kilometragem=$F(dados.kilometragem);var R_preco=$F(dados.preco);var R_parada1=$F(dados.parada1);var R_parada2=$F(dados.parada2);var R_rota1=$F(dados.rota1);var R_rota2=$F(dados.rota2);var R_rota3=null;var R_motocicleta=$F(dados.motocicleta);var R_automovel=$F(dados.automovel);var R_semireboque=$F(dados.semireboque);var R_reboque=$F(dados.reboque);var R_ipiranga=$F(dados.ipiranga);var R_petrobras=$F(dados.petrobras);var R_gnv=$F(dados.gnv);var R_shell=$F(dados.shell);var R_ctf=$F(dados.ctf);var R_pontos=dados.pontosRota;var R_descriptionType=dados.tipoDescricao;if(dados.rota3!=null)R_rota3=$F(dados.rota3);if(R_kilometragem!='')
this.vehicle_AverageConsumption=R_kilometragem;if(R_preco!='')
this.vehicle_FuelPrice=R_preco;if(R_parada1!=null)
this.details_optimizeRoute=false;if(R_parada2!=null)
this.details_optimizeRoute=true;if(R_rota1!=null)
this.details_routeType=3;if(R_rota2!=null)
this.details_routeType=4;if(R_rota3!=null)
this.details_routeType=2;if(R_motocicleta!=null)
this.vehicle_TollFeeCat=1;if(R_automovel!=null)
this.vehicle_TollFeeCat=2;if(R_semireboque!=null)
this.vehicle_TollFeeCat=3;if(R_reboque!=null)
this.vehicle_TollFeeCat=4;if(R_descriptionType!=null)
this.details_descriptionType=R_descriptionType;this.vehicle=new MVehicle();this.routeOptions=new MRouteOptions();this.routeDetails=new MRouteDetails();this.vehicle.tankCapacity=this.vehicle_TankCapacity;this.vehicle.averageConsumption=this.vehicle_AverageConsumption;this.vehicle.fuelPrice=this.vehicle_FuelPrice;this.vehicle.averageSpeed=this.vehicle_AverageSpeed;this.vehicle.tollFeeCat=this.vehicle_TollFeeCat;this.routeDetails.optimizeRoute=this.details_optimizeRoute;this.routeDetails.routeType=this.details_routeType;this.routeDetails.descriptionType=this.details_descriptionType;this.routeDetails.poiRoute=[];if(R_ipiranga!=null)
this.routeDetails.poiRoute.push(R_ipiranga);if(R_petrobras!=null)
this.routeDetails.poiRoute.push(R_petrobras);if(R_gnv!=null)
this.routeDetails.poiRoute.push(R_gnv);if(R_shell!=null)
this.routeDetails.poiRoute.push(R_shell);if(R_ctf!=null)
this.routeDetails.poiRoute.push(R_ctf);this.routePoints=new Array(R_pontos.length);for(var i=0;i<R_pontos.length;i++){var rs=new MRouteStop();rs.description=((R_pontos[i].city!=null)?(R_pontos[i].city.name+","+R_pontos[i].city.state):"");rs.description+=((R_pontos[i].address!=null)?(" "+R_pontos[i].address.street+","+R_pontos[i].address.houseNumber+((R_pontos[i].address.district!='')?(" - "+R_pontos[i].address.district):"")):"");rs.point=new MPoint(R_pontos[i].point.x,R_pontos[i].point.y);var icon=new GIcon();icon.shadow="";icon.shadowSize=null;switch(i){case 0:icon.image="Imagens/ic/ic_alvo_verde.png";icon.iconSize=new GSize(25,27);icon.iconAnchor=new GPoint(10,15);break;case(R_pontos.length-1):icon.image="Imagens/ic/ic_alvo_vermelho.png";icon.iconSize=new GSize(25,27);icon.iconAnchor=new GPoint(10,15);break;default:icon.image="Imagens/rota/RedCircle"+i+".gif";icon.iconSize=new GSize(16,16);icon.iconAnchor=new GPoint(4,4);break;}
icon.infoWindowAnchor=new GPoint(13,14);this.routePoints[i]=new MRoutePoint(rs,null,new MMarker(rs.point,icon,""));}
this.routeOptions.language="portugues";this.routeOptions.vehicle=this.vehicle;this.routeOptions.routeDetails=this.routeDetails;this.routeManager=new MRouteMannager(mMapa.mapa,"#27408B");}
this.RetornarAddressLocation=function(txCidade,txEndereco){if(txCidade!=''||txEndereco!=''){if(txEndereco!='')
return eval("("+txEndereco+")");var objCidade=eval("("+txCidade+")");if(objCidade.city!=null)
objCidade.name=(objCidade.city.name+", "+objCidade.city.state);return objCidade;}
else
return null;}
this.RetornarAddressLocationObj=function(Cidade,Endereco){if(Cidade.city||Endereco.address){if(Endereco.address)
return Endereco;var objCidade=Cidade;if(objCidade.city!=null)
objCidade.name=(objCidade.city.name+", "+objCidade.city.state);return objCidade;}
else
return null;}
this.UltimasParadasRotaRodoviaria=[];this.DadosRotaRodoviaria=null;this.ConfiguracoesRotaRodoviaria={tipoVeiculo:2,consumoVeiculo:0,valorCombustivel:0};this.RemoverParadaRodoviaria=function(parada){var divAdicionar=$("divRotaRodovAdicionarParada");divAdicionar.show();var li=$("liRR_"+parada);li.hide();$(ContentBase+"RRcidade"+parada).value="";$(ContentBase+"RRendereco"+parada).value="";var txC=__AC.GetCityLoc(ContentBase+"RRcidade"+parada);var txE=__AC.GetAddLoc(ContentBase+"RRendereco"+parada);txE["address"]=null;txC["city"]=null;}
this.LimparRotaRodoviaria=function(){try{this.LimparDesenhoRota();var ol=$("listabusca");var liA=$("liRR_A");var liB=$("liRR_B");var liC=$("liRR_C");var liD=$("liRR_D");var liE=$("liRR_E");if(liA!=null){ol.appendChild(liA);liA.show();}
if(liB!=null){ol.appendChild(liB);liB.show();}
if(liC!=null){ol.appendChild(liC);liC.hide();}
if(liD!=null){ol.appendChild(liD);liD.hide();}
if(liE!=null){ol.appendChild(liE);liE.hide();}
for(var i=0;i<this.letras.length;i++){$(ContentBase+"RRcidade"+this.letras[i]).disabled=false;$(ContentBase+"RRendereco"+this.letras[i]).disabled=false;if(this.letras[i]!="A"){$(ContentBase+"RRcidade"+this.letras[i]).value='';$(ContentBase+"RRendereco"+this.letras[i]).value='';__AC.ElementById(ContentBase+"RRcidade"+this.letras[i])["selectedValue"]=new Array();__AC.ElementById(ContentBase+"RRendereco"+this.letras[i])["selectedValue"]=new Array();}}
$("divResumoRota").update();$("divResumoRota").hide();$("divRotaRodovAdicionarParada").show();$(ContentBase+"btnTracarRotaRodoviaria").show();$("ulOpcoesRotaRodoviaria").hide();$("resRotasRodov").update();this.DadosRotaRodoviaria=null;mMapa.OP=MAPAOP.LATLNG;mMapa.pontoLocal=mMapa.mapa.getCenter();}
catch(e){}}
this.AdicionarParadaRodoviaria=function(){var ol=$("olRU");var liA=$("liRR_A");var liB=$("liRR_B");var liC=$("liRR_C");var liD=$("liRR_D");var liE=$("liRR_E");var divAdicionar=$("divRotaRodovAdicionarParada");var lis=[liA,liB,liC,liD,liE];for(var i=0;i<lis.length;i++){if(!lis[i].visible()){lis[i].show();if(i==lis.length-1)
divAdicionar.hide();return;}}}
this.ResgatarValoresRotaRodoviaria=function(){var pontos=[];if($(ContentBase+"RRenderecoA").value!=''||$(ContentBase+"RRcidadeA").value!=''){var endA=__AC.GetAddLoc(ContentBase+"RRenderecoA");var ciA=__AC.GetCityLoc(ContentBase+"RRcidadeA");if((endA.address)||(ciA.city))
pontos.push(this.RetornarAddressLocationObj(ciA,endA));}
if($(ContentBase+"RRenderecoB").value!=''||$(ContentBase+"RRcidadeB").value!=''){var endB=__AC.GetAddLoc(ContentBase+"RRenderecoB");var ciB=__AC.GetCityLoc(ContentBase+"RRcidadeB");if((endB.address)||(ciB.city))
pontos.push(this.RetornarAddressLocationObj(ciB,endB));}
if($(ContentBase+"RRenderecoC").value!=''||$(ContentBase+"RRcidadeC").value!=''){var endC=__AC.GetAddLoc(ContentBase+"RRenderecoC");var ciC=__AC.GetCityLoc(ContentBase+"RRcidadeC");if((endC.address)||(ciC.city))
pontos.push(this.RetornarAddressLocationObj(ciC,endC));}
if($(ContentBase+"RRenderecoD").value!=''||$(ContentBase+"RRcidadeD").value!=''){var endD=__AC.GetAddLoc(ContentBase+"RRenderecoD");var ciD=__AC.GetCityLoc(ContentBase+"RRcidadeD");if((endD.address)||(ciD.city))
pontos.push(this.RetornarAddressLocationObj(ciD,endD));}
if($(ContentBase+"RRenderecoE").value!=''||$(ContentBase+"RRcidadeE").value!=''){var endE=__AC.GetAddLoc(ContentBase+"RRenderecoE");var ciE=__AC.GetCityLoc(ContentBase+"RRcidadeE");if((endE.address)||(ciE.city))
pontos.push(this.RetornarAddressLocationObj(ciE,endE));}
var olPontos=$("listabusca");this.vehicle_AverageSpeed=80;this.TratarValoresRota({kilometragem:'RR_kilometragem',preco:'RR_preco',parada1:'RR_parada1',parada2:'RR_parada2',rota1:'RR_rota1',rota2:'RR_rota2',motocicleta:'RR_motocicleta',automovel:'RR_automovel',semireboque:'RR_semireboque',reboque:'RR_reboque',ipiranga:'RR_ipiranga',petrobras:'RR_petrobras',gnv:'RR_gnv',shell:'RR_shell',ctf:'RR_ctf',pontosRota:pontos,tipoDescricao:3});}
this.ImprimirRotaRodoviaria=function(){window.open('MapaImpressao.aspx?t=RR','wMapaRodoviario');}
this.MontarToolTipAdd=function(add){var conteudoFinal="";if(add.address){if(add.address.street)
conteudoFinal+=add.address.street;if(add.address.houseNumber)
conteudoFinal+=", "+add.address.houseNumber;conteudoFinal+="<br />";if(add.address.district)
conteudoFinal+=add.address.district+", ";conteudoFinal+=add.address.city.name+", "+add.address.city.state;if(add.address.zip)
conteudoFinal+="<br /><b>CEP:&nbsp;</b>"+add.address.zip;}
else if(add.city){conteudoFinal+=add.city.name+", "+add.city.state;}
return conteudoFinal;}
this.TratarRotaRodoviaria=function(rota){if(typeof(rota)!="undefined"){animarRota(rota);var conteudoGeral='';mRota.ConfiguracoesRotaRodoviaria.tipoVeiculo=mRota.vehicle_TollFeeCat;mRota.ConfiguracoesRotaRodoviaria.consumoVeiculo=mRota.vehicle_AverageConsumption;mRota.ConfiguracoesRotaRodoviaria.valorCombustivel=mRota.vehicle_FuelPrice;this.routeInfo=rota;mRota.DadosRotaRodoviaria=this.routeInfo;var rtDados=this.routeInfo.segDescription;var pos=0;var ol=$("listabusca");var liA=$("liRR_A");var liB=$("liRR_B");var liC=$("liRR_C");var liD=$("liRR_D");var liE=$("liRR_E");ol.appendChild(liA);ol.appendChild(liB);ol.appendChild(liC);ol.appendChild(liD);ol.appendChild(liE);$("resRotasRodov").update();var divRotaPrincipal=Builder.node('div',{id:'tbRotaRodoviaria',className:'table'});var itemTrajeto=null;var itemRotaAnteriorIsRodoviaria=false;var ultimaParada=0;itemTrajeto=mRota.UltimasParadasRotaRodoviaria[ultimaParada];$("resRotasRodov").appendChild(itemTrajeto);ultimaParada++;try{var markers=this.routePoints;if(markers.length>=2){var markerOrigem=markers[0].marker;var markerDestino=markers[markers.length-1].marker;var descOrigem=this.routePoints[0].routeStop.description;var descDestino=this.routePoints[markers.length-1].routeStop.description;var ptOrigem=this.routePoints[0].routeStop.point;var ptDestino=this.routePoints[markers.length-1].routeStop.point;GEvent.addListener(markerOrigem.gMarker,"click",function(){if(markerOrigem.gMarker.MInfoWindowInstance)
markerOrigem.gMarker.closeMInfoWindow();else
markerOrigem.gMarker.openMInfoWindow({titulo:'Origem',conteudo:descOrigem,point:ptOrigem},{salvarAgenda:false,maisDetalhes:false,rota:false},300);});GEvent.addListener(markerDestino.gMarker,"click",function(){if(markerDestino.gMarker.MInfoWindowInstance)
markerDestino.gMarker.closeMInfoWindow();else
markerDestino.gMarker.openMInfoWindow({titulo:'Destino',conteudo:descDestino,point:ptDestino},{salvarAgenda:false,maisDetalhes:false,rota:false},300);});}}
catch(e){}
var pontoX=null;var pontoY=null;var instrucao=null;var descricaoItem=null;var distancia=null;var descricaoGeral=null;var ptAdd=null;var cor=null;var cidadesItemRota=null;var cidDistanciaCidadeEstado=null;var cidDistancia=null;var cidCidadeEstado=null;var cidCidade=null;var cidEstado=null;var rDetails=null;var ultimoTrechoDescricaoRod="";var ultimoTrechoDivRod=null;var distanciaAcumuladaTrechosRod=0;var acumulouTrechosRod=false;var ultimoTrechoDescricaoUrb="";var ultimoTrechoDivUrb=null;var distanciaAcumuladaTrechosUrb=0;var acumulouTrechosUrb=false;for(var i=1,len=rtDados.length-1;i<len;i++){pos++;pontoX=rtDados[i].point.x;pontoY=rtDados[i].point.y;instrucao=rtDados[i].command;descricaoItem=rtDados[i].description;distancia=mRota.converterDistancia(rtDados[i].distance);descricaoGeral=(instrucao+" na "+descricaoItem);ptAdd=null;cor=(i%2==0)?'trodd':'tr';if(instrucao.indexOf('Parada')==0)
{itemTrajeto=Builder.node('div',{className:'trparada'},[Builder.node('div',{className:'td1'},[Builder.node('img',{src:mRota.tratarImagem(instrucao),title:instrucao})]),Builder.node('div',{className:'td2'},[Builder.node('a',{href:"javascript:mRota.zoomTrecho('"+rtDados[i].point.x+"','"+rtDados[i].point.y+"');"},descricaoItem)]),Builder.node('div',{className:'td3'},[Builder.node('span',distancia)]),Builder.node('div',{className:'clear'})]);divRotaPrincipal.appendChild(itemTrajeto);mRota.UltimasParadasRotaRodoviaria[ultimaParada].hide();ultimaParada++;}
else{if(mRota.isRotaRodoviaria(rtDados[i])){if(acumulouTrechosUrb){ultimoTrechoDivUrb.down("div.td3").down("span").update(mRota.converterDistancia(distanciaAcumuladaTrechosUrb));}
var ultimoTrechoDescricaoUrb="";var ultimoTrechoInstrucaoUrb="";var ultimoTrechoDivUrb=null;var distanciaAcumuladaTrechosUrb=0;var acumulouTrechosUrb=false;if(rtDados[i].description!=ultimoTrechoDescricaoRod||!rtDados[i].description){itemTrajeto=Builder.node('div',{className:'trHeader'},[Builder.node('div',{className:'tdA'},[Builder.node('a',{onclick:""},[Builder.node('div',{id:'icoExpandirRecolherRota',className:'recolher'})])]),Builder.node('div',{className:'tdB'},[Builder.node('span',rtDados[i].description),Builder.node('span',' - Siga por '),Builder.node('span',mRota.converterDistancia(rtDados[i].distance))]),Builder.node('div',{className:'clear'})]);if(acumulouTrechosRod){ultimoTrechoDivRod.down("div.tdB").down("span",2).update(mRota.converterDistancia(distanciaAcumuladaTrechosRod));acumulouTrechosRod=false;}
ultimoTrechoDivRod=$(itemTrajeto);distanciaAcumuladaTrechosRod=rtDados[i].distance;ultimoTrechoDescricaoRod=rtDados[i].description;divRotaPrincipal.appendChild(itemTrajeto);}
else{acumulouTrechosRod=true;distanciaAcumuladaTrechosRod+=rtDados[i].distance;}
cidadesItemRota=rtDados[i].city.name.split('_');for(var cid=0;cid<cidadesItemRota.length;cid++){cidDistanciaCidadeEstado=cidadesItemRota[cid].split('|');cidDistancia=cidDistanciaCidadeEstado[1];cidCidadeEstado=cidDistanciaCidadeEstado[0].split(';');cidCidade=cidCidadeEstado[0];cidEstado=(cidCidadeEstado[1]?cidCidadeEstado[1]:'');itemTrajeto=Builder.node('div',{className:'trRodov'},[Builder.node('div',{className:'td1'},[Builder.node('img',{src:mRota.tratarImagemTipoPiso(rtDados[i].roadType)})]),Builder.node('div',{className:'td2'},[Builder.node('a',{href:"javascript:mRota.zoomTrecho('"+rtDados[i].point.x+"','"+rtDados[i].point.y+"');"},cidCidade+(cidEstado?' - '+cidEstado:''))]),Builder.node('div',{className:'td3'},[Builder.node('span',(cidDistancia?mRota.converterDistancia(cidDistancia.replace(',','.')):mRota.converterDistancia(rtDados[i].distance)))]),Builder.node('div',{className:'clear'})]);divRotaPrincipal.appendChild(itemTrajeto);}
itemRotaAnteriorIsRodoviaria=true;}
else{if(acumulouTrechosRod){ultimoTrechoDivRod.down("div.tdB").down("span",2).update(mRota.converterDistancia(distanciaAcumuladaTrechosRod));}
var ultimoTrechoDescricaoRod="";var ultimoTrechoDivRod=null;var distanciaAcumuladaTrechosRod=0;var acumulouTrechosRod=false;itemRotaAnteriorIsRodoviaria=false;if(rtDados[i].description!=ultimoTrechoDescricaoUrb||rtDados[i].command!=ultimoTrechoInstrucaoUrb||!rtDados[i].description||!rtDados[i].command){itemTrajeto=Builder.node('div',{className:cor},[Builder.node('div',{className:'td1'},[Builder.node('img',{src:mRota.tratarImagem(instrucao),title:instrucao})]),Builder.node('div',{className:'td2'},[Builder.node('a',{href:'#',onclick:"mRota.zoomTrecho('"+rtDados[i].point.x+"','"+rtDados[i].point.y+"');"},descricaoItem)]),Builder.node('div',{className:'td3'},[Builder.node('span',distancia)]),Builder.node('div',{className:'clear'})]);if(acumulouTrechosUrb){ultimoTrechoDivUrb.down("div.td3").down("span").update(mRota.converterDistancia(distanciaAcumuladaTrechosUrb));acumulouTrechosUrb=false;}
ultimoTrechoDivUrb=$(itemTrajeto);distanciaAcumuladaTrechosUrb=rtDados[i].distance;ultimoTrechoDescricaoUrb=rtDados[i].description;ultimoTrechoInstrucaoUrb=rtDados[i].command;divRotaPrincipal.appendChild(itemTrajeto);}
else{acumulouTrechosUrb=true;distanciaAcumuladaTrechosUrb+=rtDados[i].distance;}}}
if(rtDados[i].poiRouteDetails!=null){if(rtDados[i].poiRouteDetails.length>0){rDetails=rtDados[i].poiRouteDetails;for(var j=0;j<rDetails.length;j++){itemTrajeto=Builder.node('div',{className:'trHeader'},[Builder.node('div',{className:'tdA'},[Builder.node('img',{src:mRota.tratarImagemPOI(rDetails[j].source)})]),Builder.node('div',{className:'tdB'},[Builder.node('a',{href:"javascript:mRota.zoomTrecho('"+rDetails[j].point.x+"','"+rDetails[j].point.y+"');"},rDetails[j].name)]),Builder.node('div',{className:'clear'})]);divRotaPrincipal.appendChild(itemTrajeto);}}}
if(rtDados[i].tollFee!=null){if(rtDados[i].tollFee=="S"){itemTrajeto=Builder.node('div',{className:'trHeaderPedagio'},[Builder.node('div',{className:'tdA'},[Builder.node('img',{src:'imagens/ic/ic_pedagio.gif'}),Builder.node('span','')]),Builder.node('div',{className:'tdB'},[Builder.node('span',rtDados[i].tollFeeDetails.name),Builder.node('span'," - "+rtDados[i].tollFeeDetails.price.formataReal())]),Builder.node('div',{className:'clear'})]);divRotaPrincipal.appendChild(itemTrajeto);}}}
var cabecalhoRota=Builder.node('div',{className:'table'},[Builder.node('div',{className:'trHeader'},[Builder.node('div',{className:'tdA'},[Builder.node('a',{onclick:"$('tbRotaRodoviaria').toggle();"},[Builder.node('div',{id:'icoExpandirRecolherRota',className:'recolher'})])]),Builder.node('div',{className:'tdB'},[Builder.node('span',' Trajeto: '),Builder.node('span',mRota.converterDistancia(this.routeInfo.routeTotals.totalDistance)),Builder.node('span',' - '),Builder.node('span',mRota.converterTempo(this.routeInfo.routeTotals.totalTime))]),Builder.node('div',{className:'clear'})])]);$get("divResumoRota").innerHTML='<span><span style=" width: 150px; float: left;">Distância percorrida: </span>'+'<span id="lblRRDistancia"></span><br />'+'<span style="width: 150px; float: left;">Tempo de viagem (80 km/h): </span>'+'<span id="lblRRTempo"></span><br />'+'<span style="width: 150px; float: left;">Custo de pedágio: </span>'+'<span id="lblRRPedagio"></span><br />'+'<span style="width: 150px; float: left;">Combustível necessário: </span>'+'<span id="lblRRCombustivelL"></span><br />'+'<span style="width: 150px; float: left;">Custo de combustível: </span>'+'<span id="lblRRCombustivelC"></span><br />'+'<span style="width: 150px; float: left;">Custo total: </span>'+'<span id="lblRRCusto"></span></span>';var lblRRDistancia=$get("lblRRDistancia");var lblRRTempo=$get("lblRRTempo");var lblRRPedagio=$get("lblRRPedagio");var lblRRCombustivelL=$get("lblRRCombustivelL");var lblRRCombustivelC=$get("lblRRCombustivelC");var lblRRCusto=$get("lblRRCusto");if(this.routeInfo.routeTotals.totalDistance)
lblRRDistancia.innerHTML=this.routeInfo.routeTotals.totalDistance.formataDistancia()+" km";else{lblRRDistancia.style.display="none";lblRRDistancia.previousSibling.style.display="none";lblRRDistancia.nextSibling.style.display="none";}
if(this.routeInfo.routeTotals.totalTime)
lblRRTempo.innerHTML=this.routeInfo.routeTotals.totalTime.replace(/^P(?=[^T])/,'').replace(/PT/,'').replace(/DT/,(' dia(s) ')).replace(/H/,('h ')).replace(/M/,('m')).replace(/S/,(' segundo(s) '));else{lblRRTempo.style.display="none";lblRRTempo.previousSibling.style.display="none";lblRRTempo.nextSibling.style.display="none";}
if(this.routeInfo.routeTotals.totaltollFeeCost)
lblRRPedagio.innerHTML=this.routeInfo.routeTotals.totaltollFeeCost.formataReal();else{lblRRPedagio.style.display="none";lblRRPedagio.previousSibling.style.display="none";lblRRPedagio.nextSibling.style.display="none";}
if(this.routeInfo.routeTotals.totalFuelUsed)
lblRRCombustivelL.innerHTML=this.routeInfo.routeTotals.totalFuelUsed.formataDistancia()+" L";else{lblRRCombustivelL.style.display="none";lblRRCombustivelL.previousSibling.style.display="none";lblRRCombustivelL.nextSibling.style.display="none";}
if(this.routeInfo.routeTotals.totalfuelCost)
lblRRCombustivelC.innerHTML=this.routeInfo.routeTotals.totalfuelCost.formataReal();else{lblRRCombustivelC.style.display="none";lblRRCombustivelC.previousSibling.style.display="none";lblRRCombustivelC.nextSibling.style.display="none";}
if(this.routeInfo.routeTotals.totalCost)
lblRRCusto.innerHTML=this.routeInfo.routeTotals.totalCost.formataReal();else{lblRRCusto.style.display="none";lblRRCusto.previousSibling.style.display="none";lblRRCusto.nextSibling.style.display="none";}
$("divResumoRota").show();$("resRotasRodov").appendChild(divRotaPrincipal);divRotaPrincipal=Builder.node('ol');itemTrajeto=mRota.UltimasParadasRotaRodoviaria[mRota.UltimasParadasRotaRodoviaria.length-1];divRotaPrincipal.appendChild(itemTrajeto);$("resRotasRodov").appendChild(divRotaPrincipal);$("resRotasRodov").show();var detRota=$("det_rotasrodoviarias");detRota.down(0).next('span').hide();$("ulOpcoesRotaRodoviaria").show();mMapa.OP=MAPAOP.ROTA_ROD;}}
this.DefinirValorConsumoRodoviarioVeiculo=function(){if(!isNaN($F("RR_kilometragem").replace(',','.'))&&$F("RR_kilometragem")!=''){$("spanConsumoVeiculoRodoviarioDefinido").update($F("RR_kilometragem"));mRota.vehicle_AverageConsumption=$F("RR_kilometragem");$("RR_kilometragem").value='';}}
this.DefinirPrecoCombustivelRodoviario=function(){if(!isNaN($F("RR_preco").replace(',','.'))&&$F("RR_preco")!=''){$("spanPrecoCombustivelRodoviarioDefinido").update($F("RR_preco"));mRota.vehicle_FuelPrice=$F("RR_preco").replace(',','.');$("RR_preco").value='';}}
this.TracarRotaRodoviaria=function(){this.LimparDesenhoRota();$("resRotasRodov").hide();var txC_A=__AC.GetCityLoc(ContentBase+"RRcidadeA");var txC_B=__AC.GetCityLoc(ContentBase+"RRcidadeB");var txC_C=__AC.GetCityLoc(ContentBase+"RRcidadeC");var txC_D=__AC.GetCityLoc(ContentBase+"RRcidadeD");var txC_E=__AC.GetCityLoc(ContentBase+"RRcidadeE");var txE_A=__AC.GetAddLoc(ContentBase+"RRenderecoA");var txE_B=__AC.GetAddLoc(ContentBase+"RRenderecoB");var txE_C=__AC.GetAddLoc(ContentBase+"RRenderecoC");var txE_D=__AC.GetAddLoc(ContentBase+"RRenderecoD");var txE_E=__AC.GetAddLoc(ContentBase+"RRenderecoE");var liA=$("liRR_A");var liB=$("liRR_B");var liC=$("liRR_C");var liD=$("liRR_D");var liE=$("liRR_E");var qtdPontos=0;var paradas=[];if((txC_A["city"])||(txE_A["address"])){qtdPontos++;paradas.push(liA);}
if((txC_B["city"])||(txE_B["address"])){qtdPontos++;paradas.push(liB);}
if((txC_C["city"])||(txE_C["address"])){qtdPontos++;paradas.push(liC);}
if((txC_D["city"])||(txE_D["address"])){qtdPontos++;paradas.push(liD);}
if((txC_E["city"])||(txE_E["address"])){qtdPontos++;paradas.push(liE);}
if(qtdPontos<2){return;}
this.UltimasParadasRotaRodoviaria=paradas;var detRota=$("det_rotasrodoviarias");detRota.down(0).next('span').show();detRota.down(0).next('ul').hide();this.ResgatarValoresRotaRodoviaria();var tratarRR_Pts='';var tratarRR_Descs='';for(var i=0;i<this.routePoints.length;i++){tratarRR_Pts+=(this.routePoints[i].routeStop.point.x+","+this.routePoints[i].routeStop.point.y+"|");tratarRR_Descs+=this.routePoints[i].routeStop.description+"|";}
new Ajax.Request('Processar.aspx',{method:'get',parameters:{pts:tratarRR_Pts,desc:tratarRR_Descs},onSuccess:function(req){var obj=eval('('+req.responseText+')')
if(obj.acesso==1)
mRota.GerarRota(mRota.TratarRotaRodoviaria);else{$("avisoLimiteMensaisExcedido").show();var detRota=$("det_rotasrodoviarias");detRota.down(0).next('span').hide();detRota.down(0).next('ul').hide();}}});}
this.addressLocationToString=function(addressLocation){var retorno='';if(addressLocation!=null){if(addressLocation.city!=null)retorno+=addressLocation.city.name+","+addressLocation.city.state+";";if(addressLocation.street!=null&&addressLocation.houseNumber!=null)retorno+=addressLocation.street+", "+addressLocation.houseNumber;}
return retorno;}
this.isRotaRodoviaria=function(addressLocation){if(addressLocation!=null){if(addressLocation.city!=null){if(addressLocation.city.name.indexOf('|')!=-1)
return true;else{var desc=addressLocation.description;if(/-\d+/g.test(desc))
return true;else
return false;}}
else{var desc=addressLocation.description;if(/-\d+/g.test(desc))
return true;else
return false;}}
else
return false;}
this.tratarImagemPOI=function(poi){switch(poi){case"TB_PETROBRAS_TODAS_POSTOS":return'Imagens/ic/ic_petrobras.gif';break;case"TB_RODOLINK_TODAS_POSTOS":return'Imagens/icone_ipiranga.gif';break;case"TB_PETROBRASGNV_TODAS_POSTOS":return'Imagens/icone_gnv.gif';break;case"TB_SHELL_TODAS_POSTOS_RODOVIARIO":return'Imagens/ic/ic_shell.gif';break;case"TB_CTF_TODAS":return'Imagens/ic/ic_ctf.gif';break;}
return'';}
this.tratarImagemTipoPiso=function(piso,pisoAnterior){if(pisoAnterior!=null){if(pisoAnterior=="PD"&&piso=="P")return'Imagens/pista/pista_final_dupla.gif'
if(pisoAnterior=="P"&&piso=="PD")return'Imagens/pista/pista_inicio_dupla.gif';}
switch(piso){case"PD":return'Imagens/pista/pista_dupla.gif';break;case"ED":return'Imagens/pista/pista_obras_dupla.gif';break;case"P":return'Imagens/pista/pista_simples.gif';break;case"EP":return'Imagens/pista/pista_obras_simples.gif';break;case"T":return'Imagens/pista/pista_malestado_simples.gif';break;case"CP":return'Imagens/pista/pista_malestado_simples.gif';break;case"BA":return'Imagens/pista/pd_ba.gif';break;default:return'Imagens/pista/pista_simples.gif';break;}}
this.tratarImagem=function(command){var c=command.toLowerCase();var image=this.routeManager.routeDescIcons.imgDir+"/";if(/^in.cio/.test(c)||/depart/.test(c))
image+=this.routeManager.routeDescIcons.imgInitRoute;else if(/permane.a.*esquerda/.test(c)||/se.quede.en.la.izquierda/.test(c)||/bear.left/.test(c))
image+=this.routeManager.routeDescIcons.imgKeepLeft;else if(/permane.a.*direita/.test(c)||/se.quede.en.la.derecha/.test(c)||/bear.right/.test(c))
image+=this.routeManager.routeDescIcons.imgKeepRight;else if(/vire.*esquerda/.test(c)||/doble.a.la.izquierda/.test(c)||/turn.left/.test(c))
image+=this.routeManager.routeDescIcons.imgTurnLeft;else if(/vire.*direita/.test(c)||/doble.a.la.derecha/.test(c)||/turn.right/.test(c))
image+=this.routeManager.routeDescIcons.imgTurnRight;else if(/curva.*acentuada.*esquerda/.test(c)||/fuerte.curva.a.la.izquierda/.test(c)||/make.sharp.left/.test(c))
image+=this.routeManager.routeDescIcons.imgSharpTurnLeft;else if(/curva.*acentuada.*direita/.test(c)||/fuerte.curva.a.la.derecha/.test(c)||/make.sharp.right/.test(c))
image+=this.routeManager.routeDescIcons.imgSharpTurnRight;else if(/retorno/.test(c)||/vuelte/.test(c)||/back/.test(c))
image+=this.routeManager.routeDescIcons.imgReturn;else if(/fim da r.ta/.test(c)||/end /.test(c))
image+=this.routeManager.routeDescIcons.imgEndRoute;else if(/parada/.test(c))
image+=new RegExp("[0-9].*$").exec(c)+".gif";else
image+=this.routeManager.routeDescIcons.imgContinue;return image;}
this.converterTempo=function(tempo){var t='';t=tempo.replace(/^P(?=[^T])/,'');t=t.replace(/PT/,'');t=t.replace(/DT/,(' dia(s) '));t=t.replace(/H/,(' hora(s) '));t=t.replace(/M/,(' minuto(s) '));t=t.replace(/S/,(' segundo(s) '));if(t=='')
return'';return t.substring(0,t.length-1);}
this.converterDistancia=function(distancia){try{if(!isNaN(distancia)){var fltDistancia=parseFloat(distancia);if(fltDistancia>=1){var r=new RegExp(/^(\d+)\.?,?(\d{0,2}).*?$/);var m=r.exec(fltDistancia.toString());if(m){return m[1]+(m[2]?","+m[2]:"")+" km";}}
else if(fltDistancia==0)
return"";else
return(fltDistancia*1000).toString().replace('.',',')+" m";}
else{return"";}}
catch(e){return distancia+" km";}}
this.converterMoeda=function(moeda){}
this.converterCombustivel=function(litros){if(litros!=null)
return litros+" litro(s)";else
return"0 litros";}
this.Assinar=function(){window.open('http://maplink.uol.com.br/assinaturas/funil_assinaturas_maplink.asp','Pedido','toolbar=yes,location=no,directories=no,status=yes,titlebar=no,menubar=no,scrollbars=yes,resizable=yes,height=600,width=775');}
this.zoomTrecho=function(x,y){mMapa.mostrarPontoLocal(new MPoint(x,y),15);}}
var mRota=new MRota;Number.prototype.formataReal=function(c,d,t){var n=this,c=isNaN(c=Math.abs(c))?2:c,d=d==undefined?",":d,t=t==undefined?".":t,i=parseInt(n=(+n||0).toFixed(c))+"",j=(j=i.length)>3?j%3:0;return"R$ "+(j?i.substr(0,j)+t:"")+i.substr(j).replace(/(\d{3})(?=\d)/g,"$1"+t)+(c?d+Math.abs(n-i).toFixed(c).slice(2):"");};Number.prototype.formataDistancia=function(c,d,t){var n=this,c=isNaN(c=Math.abs(c))?2:c,d=d==undefined?",":d,t=t==undefined?".":t,i=parseInt(n=(+n||0).toFixed(c))+"",j=(j=i.length)>3?j%3:0;return(j?i.substr(0,j)+t:"")+i.substr(j).replace(/(\d{3})(?=\d)/g,"$1"+t)+(c?d+Math.abs(n-i).toFixed(c).slice(2):"");};var info;var routeId;var rs;var mks;var i=0;var ponto=[];var velocidade=50;function animarRota(ri){ponto=[];if(mks!=null){for(g=0;g<mks.length;g++)
mMapa.mapa.removeOverlay(mks[g]);}
var dist=ri.routeTotals.totalDistance;info=ri;routeId=ri.routeId;if(dist>5)
velocidade=100;if(dist>10)
velocidade=85;if(dist>40)
velocidade=75;if(dist>40)
velocidade=65;if(dist>60)
velocidade=55;if(dist>80)
velocidade=45;if(dist>100)
velocidade=35;if(dist>130)
velocidade=25;if(dist>150)
velocidade=150;if(dist<150){var wsRoute=new MWsRoute();wsRoute.getCoordsFull(routeId,getCoordsFullCB);}
else{distaMaior();}}
function getCoordsFullCB(ret){PageMethods.getCoordNormal(ret,setInterpolacao);}
function setInterpolacao(ret){for(u=0;u<ret.length;u++){if(u==0)
ponto.push(ret[0])
else{var pAux=ret[u-1];var difX;var difY;difX=(ret[u].x-pAux.x)/4;difY=(ret[u].y-pAux.y)/4;for(j=0;j<4;j++){pAux.x=pAux.x+difX;pAux.y=pAux.y+difY;var t=[];t.x=pAux.x;t.y=pAux.y;ponto.push(t);}}
if((ret.length-1)==u)
ponto.push(ret[u]);}
montaEfeitoMarker();}
function limparMarker(){try{mMapa.mapa.removeOverlay(mks[i-1]);}
catch(ex){}
i=0;mks=[];}
function distaMaior(){for(e=0;info.segDescription.length>e;e++){var t=[];t.x=info.segDescription[e].point.x;t.y=info.segDescription[e].point.y;ponto.push(t);}
montaEfeitoMarker();}
function montaEfeitoMarker(){i=0;mks=[];if(mks.length>0)
mMapa.mapa.removeOverlay(mks[i-1])
var latlng=new GLatLng(ponto[i].y,ponto[i].x);var mk=createMarker(latlng,"/v2/imagens/icone-iveco.gif");mks.push(mk)
mMapa.mapa.addOverlay(mk);i++;window.setTimeout(efeito,velocidade);}
function efeito(){try{mMapa.mapa.removeOverlay(mks[i-1])
var latlng=new GLatLng(ponto[i].y,ponto[i].x);var mk=createMarker(latlng,"/v2/imagens/icone-iveco.gif");mks.push(mk)
mMapa.mapa.addOverlay(mk);i++;var tam=ponto.length;if((tam)>i)
window.setTimeout(efeito,velocidade);else
limparMarker();}
catch(e){}}
function createMarker(latlng,image){var icon=new GIcon();icon.image=image;icon.shadow="";icon.iconSize=new GSize(108,28);icon.iconAnchor=new GPoint(54,14);icon.infoWindowAnchor=new GPoint(54,14);return marker=new GMarker(latlng,{bouncy:true,draggable:false,icon:icon});}
function OpcoesBuscaPOIs(){this.buscaPOIsPadrao=this.buscaPOIsOpcionais=this.buscaPOIsIncidentes=false;this.extent=new Extent();this.opcoesBuscaPOIsOpcionais=[];this.zoom=-1;}
function Extent(){this.MinX=this.MinY=this.MaxX=this.MaxY=0;}
function GerenciadorPOIs()
{this.POIsPadrao=[];this.POIsOpcionais=[];this.POIsIncidentes=[];this.zoomPOIsPadrao=this.zoomPOIsOpcionais=15;this.zoomPOIsIncidentes=14;this.opcoesBuscaPOIs=new OpcoesBuscaPOIs();this.opcoesBuscaPOIsAnterior=new OpcoesBuscaPOIs();this.inicializar=function(){GEvent.addListener(mMapa.mapa,"moveend",function(){gerenciadorPOIs.buscar();});}
this.buscar=function(){this.opcoesBuscaPOIs.buscaPOIsIncidentes=this.opcoesBuscaPOIs.buscaPOIsOpcionais=this.opcoesBuscaPOIs.buscaPOIsPadrao=true;if(!$("op_transito").checked||mMapa.mapa.getZoom()<this.zoomPOIsIncidentes)
{mIncidentes.removerOverlayIncidentes();this.removerMarcadores(this.POIsIncidentes);this.POIsIncidentes=new Array();this.opcoesBuscaPOIs.buscaPOIsIncidentes=false;}
if(!$("op_pontos").checked||mMapa.mapa.getZoom()<this.zoomPOIsPadrao){this.removerMarcadores(this.POIsPadrao);this.POIsPadrao=new Array();this.opcoesBuscaPOIs.buscaPOIsPadrao=false;}
this.opcoesBuscaPOIs.opcoesBuscaPOIsOpcionais=[];var pontos=document.getElementsByName("poi_opcional");for(var i=0;i<pontos.length;i++)
{if(pontos[i].checked&&this.incluirInteresse(pontos[i].value))this.opcoesBuscaPOIs.opcoesBuscaPOIsOpcionais.push(pontos[i].value);}
if(this.opcoesBuscaPOIs.opcoesBuscaPOIsOpcionais.length==0||mMapa.mapa.getZoom()<this.zoomPOIsOpcionais)
{this.removerMarcadores(this.POIsOpcionais);this.POIsOpcionais=new Array();this.opcoesBuscaPOIs.buscaPOIsOpcionais=false;}
if(this.opcoesBuscaPOIs.buscaPOIsIncidentes||this.opcoesBuscaPOIs.buscaPOIsOpcionais||this.opcoesBuscaPOIs.buscaPOIsPadrao){var extentInvalido=true;if(mMapa.mapa.getZoom()!=this.opcoesBuscaPOIsAnterior.zoom)
extentInvalido=true;else
extentInvalido=false;if(!extentInvalido){if(!(mMapa.mapa.getBounds().getSouthWest().x>=this.opcoesBuscaPOIs.extent.MinX&&mMapa.mapa.getBounds().getNorthEast().x<=this.opcoesBuscaPOIs.extent.MaxX&&mMapa.mapa.getBounds().getSouthWest().y>=this.opcoesBuscaPOIs.extent.MinY&&mMapa.mapa.getBounds().getNorthEast().y<=this.opcoesBuscaPOIs.extent.MaxY))
{extentInvalido=true;}}
if(!extentInvalido){if(this.opcoesBuscaPOIsAnterior.buscaPOIsIncidentes!=this.opcoesBuscaPOIs.buscaPOIsIncidentes)
extentInvalido=true;}
if(!extentInvalido){if(this.opcoesBuscaPOIsAnterior.buscaPOIsPadrao!=this.opcoesBuscaPOIs.buscaPOIsPadrao)
extentInvalido=true;}
if(!extentInvalido){if(this.opcoesBuscaPOIsAnterior.buscaPOIsOpcionais!=this.opcoesBuscaPOIs.buscaPOIsOpcionais)
extentInvalido=true;if(!extentInvalido)
{if(this.opcoesBuscaPOIsAnterior.opcoesBuscaPOIsOpcionais.length!=this.opcoesBuscaPOIs.opcoesBuscaPOIsOpcionais.length)
extentInvalido=true;else{for(var i=0;i<this.opcoesBuscaPOIsAnterior.opcoesBuscaPOIsOpcionais.length;i++){if(this.opcoesBuscaPOIsAnterior.opcoesBuscaPOIsOpcionais[i]!=this.opcoesBuscaPOIs.opcoesBuscaPOIsOpcionais[i]){extentInvalido=true;break;}}}}}
if(extentInvalido){this.opcoesBuscaPOIsAnterior.buscaPOIsIncidentes=this.opcoesBuscaPOIs.buscaPOIsIncidentes;this.opcoesBuscaPOIsAnterior.buscaPOIsOpcionais=this.opcoesBuscaPOIs.buscaPOIsOpcionais;this.opcoesBuscaPOIsAnterior.buscaPOIsPadrao=this.opcoesBuscaPOIs.buscaPOIsPadrao;this.opcoesBuscaPOIsAnterior.opcoesBuscaPOIsOpcionais=this.opcoesBuscaPOIs.opcoesBuscaPOIsOpcionais;var estX=Math.abs(mMapa.mapa.getBounds().getNorthEast().x-mMapa.mapa.getBounds().getSouthWest().x)/2;var estY=Math.abs(mMapa.mapa.getBounds().getNorthEast().y-mMapa.mapa.getBounds().getSouthWest().y)/2;this.opcoesBuscaPOIs.extent.MinX=mMapa.mapa.getBounds().getSouthWest().x-estX;this.opcoesBuscaPOIs.extent.MinY=mMapa.mapa.getBounds().getSouthWest().y-estY;this.opcoesBuscaPOIs.extent.MaxX=mMapa.mapa.getBounds().getNorthEast().x+estX;this.opcoesBuscaPOIs.extent.MaxY=mMapa.mapa.getBounds().getNorthEast().y+estY;PageMethods.BuscarPOIsExtent(this.opcoesBuscaPOIs,gerenciadorPOIs.buscarCallBack,function(error){});}}
this.opcoesBuscaPOIsAnterior.zoom=mMapa.mapa.getZoom();}
this.buscarCallBack=function(POIsExtent){if(!$("op_transito").checked||mMapa.mapa.getZoom()<gerenciadorPOIs.zoomPOIsIncidentes){mIncidentes.removerOverlayIncidentes();gerenciadorPOIs.removerMarcadores(gerenciadorPOIs.POIsIncidentes);gerenciadorPOIs.POIsIncidentes=new Array();}
else if(POIsExtent.incidentes.length>0){gerenciadorPOIs.verificarPOIsIncidentes(POIsExtent.incidentes);mIncidentes.adicionarOverlayIncidentes();}
if(!$("op_pontos").checked||mMapa.mapa.getZoom()<gerenciadorPOIs.zoomPOIsPadrao){gerenciadorPOIs.removerMarcadores(gerenciadorPOIs.POIsPadrao);gerenciadorPOIs.POIsPadrao=new Array();}
else if(POIsExtent.padrao.length>0){gerenciadorPOIs.verificarPOIsPadrao(POIsExtent.padrao);}
if(mMapa.mapa.getZoom()<gerenciadorPOIs.zoomPOIsOpcionais){gerenciadorPOIs.removerMarcadores(gerenciadorPOIs.POIsOpcionais);gerenciadorPOIs.POIsOpcionais=new Array();}
else if(POIsExtent.opcionais.length>0){gerenciadorPOIs.verificarPOIsOpcionais(POIsExtent.opcionais);}}
this.verificarPOIsPadrao=function(padroes){for(var i=0;i<gerenciadorPOIs.POIsPadrao.length;i++)
gerenciadorPOIs.POIsPadrao[i].remover=true;var padroesAnteriores=gerenciadorPOIs.POIsPadrao;var mostraBuscape=$("pontosBuscape").checked;for(var i=0;i<padroes.length;i++)
{if((!mostraBuscape&&padroes[i].icone.toLowerCase().indexOf("buscape")>-1))continue;var novoPadrao=true;for(var j=0;j<padroesAnteriores.length;j++)
{if(padroesAnteriores[j].remover&&padroesAnteriores[j].getPoint().x==padroes[i].x&&padroesAnteriores[j].getPoint().y==padroes[i].y)
{gerenciadorPOIs.POIsPadrao[j].remover=false;novoPadrao=false;break;}}
if(novoPadrao)
gerenciadorPOIs.inserirMarcador(padroes[i],gerenciadorPOIs.POIsPadrao);}
for(var i=0;i<gerenciadorPOIs.POIsPadrao.length;i++)
{if(gerenciadorPOIs.POIsPadrao[i].remover)
gerenciadorPOIs.removerMarcador(gerenciadorPOIs.POIsPadrao,i);}}
this.inserirMarcador=function(infoMarker,array){var icone=new GIcon();icone.image="/v2/imagens/ic/"+infoMarker.icone;icone.iconSize=new GSize(infoMarker.icone_largura,infoMarker.icone_altura);icone.iconAnchor=new GPoint(parseInt(infoMarker.icone_largura/2,10),parseInt(infoMarker.icone_altura/2,10));icone.shadow="";icone.shadowSize=null;icone.infoShadowAnchor=null;icone.infoWindowAnchor=new GPoint(parseInt(infoMarker.icone_largura/2,10),0);if(infoMarker.icone_tooltip.indexOf("bradescoimov")==-1)
{var marcador=new GMarker(new GLatLng(infoMarker.y,infoMarker.x),{icon:icone});marcador.remover=false;if(infoMarker.icone_tooltip.indexOf("table")!=-1)
{GEvent.addListener(marcador,"mouseover",function(){if(marcador.MInfoWindowInstance)
marcador.closeMInfoWindow();else
marcador.openMInfoWindow({titulo:infoMarker.icone_titulo,conteudo:infoMarker.icone_tooltip},{salvarAgenda:false,maisDetalhes:false,rota:false},350);});}
else if(infoMarker.icone_tooltip.indexOf("#abrir_popup_ecolife")!=-1)
{GEvent.addListener(marcador,"mouseover",function(){var winHeight=490;var winWidth=504;var winLeft=screen.width/2-winWidth/2;var winTop=screen.height/2-winHeight/2;window.open('PopupEcolifeMorumbi.aspx','EcolifeMorumbi','top=yes,toolbar=no,scrollbars=no,width='+winWidth+',height='+winHeight+',left='+winLeft+',top='+winTop);});}
else if(infoMarker.icone_tooltip.indexOf("#abrir_popup_mapfre")!=-1)
{GEvent.addListener(marcador,"click",function(){window.open('http://oas.webraska.com.br/RealMedia/ads/click_lx.ads/v2/mapa/2034495245/x08/OasDefault/22082008_maplink_mapfre_nosmapa/22082008_maplink_mapfre_nosmapa.html/63386539336233633438353931653730','MapfreIluminaSaoPaulo');});}
else if(infoMarker.icone=="ic_controlar.jpg"){GEvent.addListener(marcador,"click",function(){if(marcador.MInfoWindowInstance){marcador.closeMInfoWindow();}
else
{var pointMarker=new MPoint(infoMarker.x,infoMarker.y);marcador.openMInfoWindow({titulo:infoMarker.icone_titulo,conteudo:infoMarker.icone_tooltip,urlMaisDetalhes:infoMarker.icone_link,point:pointMarker,URLFoto:"http://www.apontador.com.br/produtos/banners/clientes/controlar/foto.jpg",URLClickLog:"http://www.controlar.com.br"},{salvarAgenda:false,maisDetalhes:infoMarker.icone_link?true:false,rota:true},300);}});}
else{GEvent.addListener(marcador,"click",function(){if(marcador.MInfoWindowInstance){marcador.closeMInfoWindow();}
else
{var pointMarker=new MPoint(infoMarker.x,infoMarker.y);if(infoMarker.icone_titulo=="Radar"||infoMarker.icone_titulo=="Câmera")
marcador.openMInfoWindow({titulo:infoMarker.icone_titulo,conteudo:infoMarker.icone_tooltip,point:pointMarker},{salvarAgenda:false,maisDetalhes:false,rota:false},300);else
marcador.openMInfoWindow({titulo:infoMarker.icone_titulo,conteudo:infoMarker.icone_tooltip,urlMaisDetalhes:"",point:pointMarker,descricao:infoMarker.descricao,URLVideo:infoMarker.URLVideo,URLLocal:infoMarker.icone_link,URLClickLog:infoMarker.icone_link,URLCliente:infoMarker.icone_link&&infoMarker.icone_link.length>32?infoMarker.icone_link.substring(0,32)+"...":infoMarker.icone_link},{salvarAgenda:false,maisDetalhes:infoMarker.icone_link?true:false,rota:true},300);}});}
mMapa.mapa.addOverlay(marcador);}
else
var marcador=gerenciadorPOIs.adicionarInfoWindowBradescoImoveis(icone,infoMarker.x,infoMarker.y,infoMarker.icone_tooltip);if(marcador){marcador.remover=false;array.push(marcador);}}
this.adicionarInfoWindowBradescoImoveis=function(icone,x,y,tooltip){var r=new RegExp("^(.*?)<br ?/?>(.*?)<br ?/?>(.*)<br ?/?>(.*?)$");var m=r.exec(tooltip);if(m)
{icone.infoWindowAnchor=new GPoint(parseInt((parseInt((335-20)/2,10)+icone.iconSize.width/2),10),parseInt(icone.iconSize.height/2,10));var marcador=new GMarker(new GLatLng(y,x),{icon:icone});marcador.remover=false;GEvent.addListener(marcador,"click",function()
{ew.openOnMarker(marcador,gerenciadorPOIs.montaTooltipPlacaBradescoImoveis(m[1],m[2],m[3],m[4]));});GEvent.addListener(mMapa.mapa,"click",function(marker,point)
{try{if(point)ew.hide();}catch(ex){}});mMapa.mapa.addOverlay(marcador);gerenciadorPOIs.POIsPadrao.push(marcador);}}
this.montaTooltipPlacaBradescoImoveis=function(titulo,imagem,texto,link){var html='<table style="width: 335px;" border="0" cellpadding="0" cellspacing="0">'+'  <tr>'+'    <td width="335px" background="imagens/top2.gif" height="33px" align="right"><span><a href="javascript:void(0);" class="bi_tit">[X]</a></span></td>'+'  </tr>'+'  <tr>'+'    <td><table width="335px" border="0" cellspacing="0" cellpadding="0">'+'      <tr>'+'        <td background="imagens/bg2.jpg"><table width="335px" height="45px" border="0" cellpadding="0" cellspacing="0">'+'            <tr>'+'              <td width="136px" height="45px"><div align="center"><img src="imagens/vende-se.jpg" style="width: 120px; height: 43px;" width="120px" height="43px" /></div></td>'+'              <td width="198px"><table width="185px" border="0" align="center" cellpadding="0" cellspacing="0">'+'                <tr>'+'                  <td width="100%" class="bi_tit" style="wrap: hard;"><center>'+(titulo?titulo:"")+'</center></td>'+'                </tr>'+'              </table></td>'+'            </tr>'+'        </table></td>'+'      </tr>'+'      <tr>'+'        <td height="113px" background="imagens/bg.jpg"><table width="100%" border="0" cellspacing="0" cellpadding="0">'+'          <tr>'+'            <td width="136px" height="123px" valign="top"><div align="center"><img src="'+imagem+'" style="width: 99px; height: 123px;" width="99px" height="123px" /></div></td>'+'            <td width="198px" valign="top"><table width="185px" border="0" align="center" cellpadding="0" cellspacing="0">'+'  '+'  <tr>'+'    <td height="103px" colspan="2" class="bi_texto"><center>'+(texto?texto:"")+'</center></td>'+'    </tr>'+'  <tr>'+'    <td width="104px"></td>'+'    <td width="79px"><div align="center"><a target="_blank" href="'+(link?link:"javascript:void(0);")+'" ><img src="imagens/btn_saibamais.gif" style="width: 65px; height: 17px;" border="0" /></a></div></td>'+'  </tr>'+'</table>'+''+'  '+'           </td>'+'          </tr>'+'        </table></td>'+'      </tr>'+'    </table></td>'+'  </tr>'+'  <tr>'+'    <td><span><img src="imagens/bottom2.gif" style="width: 335px; height: 85px;" /></span></td>'+'  </tr>'+'</table>';return html;}
this.verificarPOIsOpcionais=function(opcionais){for(var i=0;i<gerenciadorPOIs.POIsOpcionais.length;i++)
gerenciadorPOIs.POIsOpcionais[i].remover=true;var opcionaisAnterioes=gerenciadorPOIs.POIsOpcionais;for(var i=0;i<opcionais.length;i++)
{var novoOpcional=true;for(var j=0;j<opcionaisAnterioes.length;j++)
{if(opcionaisAnterioes[j].remover&&opcionaisAnterioes[j].getPoint().x==opcionais[i].x&&opcionaisAnterioes[j].getPoint().y==opcionais[i].y)
{gerenciadorPOIs.POIsOpcionais[j].remover=false;novoOpcional=false;break;}}
if(novoOpcional)
gerenciadorPOIs.inserirMarcador(opcionais[i],gerenciadorPOIs.POIsOpcionais);}
for(var i=0;i<gerenciadorPOIs.POIsOpcionais.length;i++)
{if(gerenciadorPOIs.POIsOpcionais[i].remover)
gerenciadorPOIs.removerMarcador(gerenciadorPOIs.POIsOpcionais,i);}}
this.verificarPOIsIncidentes=function(incidentes){for(var i=0;i<gerenciadorPOIs.POIsIncidentes.length;i++)
gerenciadorPOIs.POIsIncidentes[i].remover=true;var incidentesAnteriores=gerenciadorPOIs.POIsIncidentes;for(var i=0;i<incidentes.length;i++)
{var novoIncidente=true;for(var j=0;j<incidentesAnteriores.length;j++)
{if(incidentesAnteriores[j].remover&&incidentesAnteriores[j].getPoint().x==incidentes[i].X&&incidentesAnteriores[j].getPoint().y==incidentes[i].Y)
{gerenciadorPOIs.POIsIncidentes[j].remover=false;novoIncidente=false;break;}}
if(novoIncidente)
gerenciadorPOIs.inserirIncidente(incidentes[i]);}
for(var i=0;i<gerenciadorPOIs.POIsIncidentes.length;i++)
{if(gerenciadorPOIs.POIsIncidentes[i].remover)
gerenciadorPOIs.removerMarcador(gerenciadorPOIs.POIsIncidentes,i);}}
this.inserirIncidente=function(incidente){var htmlJanelaIncidente=mIncidentes.criarHTMLJanelaIncidente(incidente);var width=300;if(incidente.Texto.length>300)
width=500;var baseIcon=new GIcon();baseIcon.shadow="";baseIcon.shadowSize=null;baseIcon.infoShadowAnchor=null;baseIcon.iconSize=new GSize(incidente.IconeLargura,incidente.IconeAltura);baseIcon.iconAnchor=new GPoint(incidente.IconeLargura/2,incidente.IconeAltura/2);baseIcon.infoWindowAnchor=new GPoint(incidente.IconeLargura/2,2);baseIcon.image="/v2/imagens/ic/"+incidente.Icone;var marcador=new GMarker(new GLatLng(incidente.Y,incidente.X),{icon:baseIcon});marcador.remover=false;GEvent.addListener(marcador,"click",function(){if(marcador.MInfoWindowInstance)
marcador.closeMInfoWindow();else
marcador.openMInfoWindow({titulo:incidente.Titulo,conteudo:htmlJanelaIncidente,urlMaisDetalhes:incidente.URLDetalhes},{salvarAgenda:false,maisDetalhes:true,rota:false},width);});mMapa.mapa.addOverlay(marcador);gerenciadorPOIs.POIsIncidentes.push(marcador);}
this.incluirInteresse=function(interesse)
{var excluir=["tecnisa","universal"];for(var i=0;i<excluir.length;i++)
{if(interesse==excluir[i])return false;}
return true;}
this.removerPOIsPadrao=function(){this.removerMarcadores(this.POIsPadrao);this.POIsPadrao=new Array();this.opcoesBuscaPOIsAnterior.buscaPOIsPadrao=false;}
this.removerPOIsOpcionais=function(){this.removerMarcadores(this.POIsOpcionais);this.POIsOpcionais=new Array();this.opcoesBuscaPOIsAnterior.buscaPOIsOpcionais=false;}
this.removerPOIsIncidentes=function(){this.removerMarcadores(this.POIsIncidentes);mIncidentes.removerOverlayIncidentes();this.POIsIncidentes=new Array();this.opcoesBuscaPOIsAnterior.buscaPOIsIncidentes=false;}
this.removerMarcadores=function(array){for(var i=0;i<array.length;i++){array[i].closeMInfoWindow();mMapa.mapa.removeOverlay(array[i]);}}
this.removerMarcador=function(array,posicao){array[posicao].closeMInfoWindow();mMapa.mapa.removeOverlay(array[posicao]);array.splice(posicao,1);}}
var gerenciadorPOIs=new GerenciadorPOIs();
var _currentTraffic=null;var TrafficLocations=Class.create();TrafficLocations.prototype={_CENTER:0,_SEGMENTS:1,initialize:function(map)
{_currentTraffic=this;this.internalMap=map;this.locationsRoutes=[];this.marker=[];this.routeId="";this.points=[];this.index=[];this.centerPoint=null;this.centerMarker=null;this.action=null;GEvent.addListener(this.internalMap,"click",this.managePoints);this.baseIcon=new GIcon();this.baseIcon.iconSize=new GSize(12,20);this.baseIcon.shadowSize=new GSize(22,20);this.baseIcon.iconAnchor=new GPoint(6,20);this.baseIcon.infoWindowAnchor=new GPoint(5,1);this.baseIcon.shadow="http://labs.google.com/ridefinder/images/mm_20_shadow.png";},managePoints:function(overlay,point)
{if(point)
{if(_currentTraffic.action==_currentTraffic._CENTER)_currentTraffic.setCenterPoint(point);if(_currentTraffic.action==_currentTraffic._SEGMENTS)_currentTraffic.setPoint(point);}},setAction:function(action)
{if(action==_currentTraffic._CENTER||action==_currentTraffic._SEGMENTS)
_currentTraffic.action=action;else
alert("Action Errada.")},getAction:function()
{return _currentTraffic.action;},setPoints:function(points)
{for(var i=0;i<points.length;i++)
_currentTraffic.setPoint(new GLatLng(points[i].y,points[i].x),true)
_currentTraffic.showPoints(true)},setPoint:function(point,wait)
{_currentTraffic.points[_currentTraffic.points.length]=point;_currentTraffic.index[_currentTraffic.index.length]=_currentTraffic.index.length;if(!wait)_currentTraffic.showPoints(true);},getCenterPoint:function()
{var pt=new MPoint();pt.x=_currentTraffic.centerPoint.lng();pt.y=_currentTraffic.centerPoint.lat();return pt;},setCenter:function(point)
{_currentTraffic.setCenterPoint(new GLatLng(point.y,point.x))},setCenterPoint:function(point)
{_currentTraffic.centerPoint=point;_currentTraffic.showPoints(false);},getRouteId:function()
{if(_currentTraffic.routeId==""){alert('Sem Pontos!');return"no roteId"}
return _currentTraffic.routeId;},showPoints:function(getRoute)
{if(!getRoute)getRoute=false;_currentTraffic.clearMap();for(var i=0;i<_currentTraffic.index.length;i++)
{if(_currentTraffic.points[_currentTraffic.index[i]]!=null){_currentTraffic.marker[i]=new GMarker(_currentTraffic.points[_currentTraffic.index[i]],_currentTraffic.getPosition(_currentTraffic.index[i],_currentTraffic.index.length));_currentTraffic.marker[i].index=i;_currentTraffic.createMarker(_currentTraffic.marker[i]);}}
if(_currentTraffic.centerPoint)
{_currentTraffic.centerMarker=new GMarker(_currentTraffic.centerPoint,{draggable:true});_currentTraffic.createCenterMarker(_currentTraffic.centerMarker);}
if(getRoute&&_currentTraffic.index.length>1)_currentTraffic.getCoordsMap();},removePoint:function(index)
{_currentTraffic.points[_currentTraffic.index[index]]=null;_currentTraffic.arrangePoints();_currentTraffic.showPoints(true);},arrangePoints:function()
{var points=[];var index=[];for(var i=0;i<_currentTraffic.index.length;i++)
{if(_currentTraffic.points[_currentTraffic.index[i]]!=null)
{points[points.length]=_currentTraffic.points[_currentTraffic.index[i]];index[index.length]=index.length;}}
_currentTraffic.index=index;_currentTraffic.points=points;},clearMap:function()
{for(var i=0;i<_currentTraffic.marker.length;i++)
_currentTraffic.internalMap.removeOverlay(_currentTraffic.marker[i]);if(_currentTraffic.centerMarker!=null)_currentTraffic.internalMap.removeOverlay(_currentTraffic.centerMarker);},createMarker:function(marker)
{GEvent.addListener(marker,"click",function()
{marker.openInfoWindowHtml(_currentTraffic.getInfo(marker.index,_currentTraffic.index.length));});GEvent.addListener(marker,"dragend",function()
{_currentTraffic.points[_currentTraffic.index[marker.index]]=marker.getLatLng();_currentTraffic.showPoints(true);});_currentTraffic.internalMap.addOverlay(marker);},createCenterMarker:function(marker)
{GEvent.addListener(marker,"click",function()
{marker.openInfoWindowHtml("Centro");});GEvent.addListener(marker,"dragend",function()
{_currentTraffic.centerPoint=marker.getLatLng();});_currentTraffic.internalMap.addOverlay(marker);},getInfo:function(index,total)
{var info="<div style='font-family:Arial;font-size:10px'><a href='javascript:_currentTraffic.removePoint("+index+")'>remove point</div>"
return info;},getPosition:function(index,total)
{var newIcon=_currentTraffic.baseIcon;newIcon.image=null;if(index==0)newIcon.image="http://labs.google.com/ridefinder/images/mm_20_green.png";if(index==total-1&&newIcon.image==null)
newIcon.image="http://labs.google.com/ridefinder/images/mm_20_red.png";else
if(newIcon.image==null)newIcon.image="http://labs.google.com/ridefinder/images/mm_20_blue.png";return{icon:newIcon,draggable:true};},getCoordsMap:function()
{for(var i=0;i<_currentTraffic.index.length;i++)
{if(_currentTraffic.points[_currentTraffic.index[i]]!=null){_currentTraffic.locationsRoutes[i]=new MPOILocation();_currentTraffic.locationsRoutes[i].name="Location : "+i;_currentTraffic.locationsRoutes[i].point=new MPoint();_currentTraffic.locationsRoutes[i].point.x=_currentTraffic.points[_currentTraffic.index[i]].lng();_currentTraffic.locationsRoutes[i].point.y=_currentTraffic.points[_currentTraffic.index[i]].lat();}}
var ro=new MRouteOptions();var rd=new MRouteDetails();var ve=new MVehicle();rd.optimizeRoute=true;rd.routeType=2;ve.tankCapacity=60;ve.averageConsumption=12;ve.fuelPrice=2.5;ve.averageSpeed=80;ve.tollFeeCat=0;ro.vehicle=ve;ro.routeDetails=rd;var rMann=new MRouteMannager(null,new MRouteConfig('map'),ro);rMann.createRoute(_currentTraffic.locationsRoutes,function(a){if(a==M_STAT_ROUTE){var ri=rMann.getRouteInfo();_currentTraffic.routeId=ri.routeId;_currentTraffic.showPoints(false);}});}};var _trafficUpdate=null;var TrafficUpdate=Class.create();TrafficUpdate.prototype={initialize:function(map)
{_trafficUpdate=this;this.file="";this.xmlParse="";this.map=map;this.polyLines=new Array();this.color="#FF0000";},updateTraffic:function(min)
{if(_trafficUpdate.file!="traffic\/tr-"+(min-(min%5)+5)+".xml"){_trafficUpdate.file="traffic\/tr-"+(min-(min%5)+5)+".xml";GDownloadUrl(_trafficUpdate.file,function(d,r)
{_trafficUpdate.xmlParse=GXml.parse(d);_trafficUpdate.showTraffic();});}},showTraffic:function()
{_trafficUpdate.clearTraffic();var m=_trafficUpdate.xmlParse.documentElement.getElementsByTagName("p");_trafficUpdate.polyLines=new Array();for(var i=0;i<m.length;i++)
{var pl=[],p=m[i].firstChild.data,pA=p.split(';'),t;for(var w=0;w<pA.length;w++){t=pA[w].split(' ');pl[pl.length]=new GLatLng(t[1],t[0]);}
_trafficUpdate.polyLines[_trafficUpdate.polyLines.length]=new GPolyline(pl,_trafficUpdate.color,5);_trafficUpdate.map.addOverlay(_trafficUpdate.polyLines[_trafficUpdate.polyLines.length-1]);}},clearTraffic:function()
{for(var i=0;i<_trafficUpdate.polyLines.length;i++)
_trafficUpdate.map.removeOverlay(_trafficUpdate.polyLines[i]);}}
function EStyle(stemImage,stemSize,boxClass,boxOffset){this.stemImage=stemImage;this.stemSize=stemSize;this.boxClass=boxClass;this.boxOffset=boxOffset;var agent=navigator.userAgent.toLowerCase();var fudge=5;if(agent.indexOf("opera")>-1){fudge=3;}
if(agent.indexOf("firefox")>-1){fudge=5;}
if(agent.indexOf("safari")>-1){fudge=5;}
if((agent.indexOf("msie")>-1)&&(agent.indexOf("opera")<1)){fudge=0;}
this.fudge=fudge;}
var E_STYLE_1=new EStyle("../Imagens/stem1.png",new GSize(81,87),"estyle1",new GPoint(-30,87-3));var E_STYLE_2=new EStyle("../Imagens/stem2.png",new GSize(81,87),"estyle2",new GPoint(-30,87-1));var E_STYLE_3=new EStyle("../Imagens/stem3.png",new GSize(81,87),"estyle3",new GPoint(-30,87-10));var E_STYLE_4=new EStyle("../Imagens/stem3.png",new GSize(81,87),"estyle4",new GPoint(-30,87-10));var E_STYLE_5=new EStyle("../Imagens/stem1.png",new GSize(81,87),"estyle5",new GPoint(-30,87-3));var E_STYLE_6=new EStyle("../Imagens/stem6.png",new GSize(100,50),"estyle6",new GPoint(100-2,20));var E_STYLE_7=new EStyle("../Imagens/stem7.png",new GSize(24,24),"estyle2",new GPoint(-10,23));function EWindow(map,estyle){this.map=map;this.estyle=estyle;this.visible=false;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>';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="'+this.estyle.stemImage+'" width="'+this.estyle.stemSize.width+'" height="'+this.estyle.stemSize.height+'">';}
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.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.redraw=function(force){if(!this.visible){return;}
var p=this.map.fromLatLngToDivPixel(this.point);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.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;}
EWindow.prototype.isHidden=function(){return!this.visible;}
EWindow.prototype.supportsHide=function(){return true;}
EWindow.prototype.zindex=function(zin){var z=GOverlay.getZIndex(this.point.lat());this.div1.style.zIndex=z+zin;this.div2.style.zIndex=z+1+zin;}
if(!this.JSON){JSON=function(){function f(n){return n<10?'0'+n:n;}
Date.prototype.toJSON=function(key){return this.getUTCFullYear()+'-'+
f(this.getUTCMonth()+1)+'-'+
f(this.getUTCDate())+'T'+
f(this.getUTCHours())+':'+
f(this.getUTCMinutes())+':'+
f(this.getUTCSeconds())+'Z';};String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(key){return this.valueOf();};var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapeable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'},rep;function quote(string){escapeable.lastIndex=0;return escapeable.test(string)?'"'+string.replace(escapeable,function(a){var c=meta[a];if(typeof c==='string'){return c;}
return'\\u'+('0000'+
(+(a.charCodeAt(0))).toString(16)).slice(-4);})+'"':'"'+string+'"';}
function str(key,holder){var i,k,v,length,mind=gap,partial,value=holder[key];if(value&&typeof value==='object'&&typeof value.toJSON==='function'){value=value.toJSON(key);}
if(typeof rep==='function'){value=rep.call(holder,key,value);}
switch(typeof value){case'string':return quote(value);case'number':return isFinite(value)?String(value):'null';case'boolean':case'null':return String(value);case'object':if(!value){return'null';}
gap+=indent;partial=[];if(typeof value.length==='number'&&!(value.propertyIsEnumerable('length'))){length=value.length;for(i=0;i<length;i+=1){partial[i]=str(i,value)||'null';}
v=partial.length===0?'[]':gap?'[\n'+gap+
partial.join(',\n'+gap)+'\n'+
mind+']':'['+partial.join(',')+']';gap=mind;return v;}
if(rep&&typeof rep==='object'){length=rep.length;for(i=0;i<length;i+=1){k=rep[i];if(typeof k==='string'){v=str(k,value);if(v){partial.push(quote(k)+(gap?': ':':')+v);}}}}else{for(k in value){if(Object.hasOwnProperty.call(value,k)){v=str(k,value);if(v){partial.push(quote(k)+(gap?': ':':')+v);}}}}
v=partial.length===0?'{}':gap?'{\n'+gap+partial.join(',\n'+gap)+'\n'+
mind+'}':'{'+partial.join(',')+'}';gap=mind;return v;}}
return{stringify:function(value,replacer,space){var i;gap='';indent='';if(typeof space==='number'){for(i=0;i<space;i+=1){indent+=' ';}}else if(typeof space==='string'){indent=space;}
rep=replacer;if(replacer&&typeof replacer!=='function'&&(typeof replacer!=='object'||typeof replacer.length!=='number')){throw new Error('JSON.stringify');}
return str('',{'':value});},parse:function(text,reviver){var j;function walk(holder,key){var k,v,value=holder[key];if(value&&typeof value==='object'){for(k in value){if(Object.hasOwnProperty.call(value,k)){v=walk(value,k);if(v!==undefined){value[k]=v;}else{delete value[k];}}}}
return reviver.call(holder,key,value);}
cx.lastIndex=0;if(cx.test(text)){text=text.replace(cx,function(a){return'\\u'+('0000'+
(+(a.charCodeAt(0))).toString(16)).slice(-4);});}
if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,'@').replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,']').replace(/(?:^|:|,)(?:\s*\[)+/g,''))){j=eval('('+text+')');return typeof reviver==='function'?walk({'':j},''):j;}
throw new SyntaxError('JSON.parse');}};}();}
var AjaxCrossCall=AjaxCrossCall||{tools:{}};AjaxCrossCall.tools.add_js=function(url,bDefer)
{var scrptElement=document.createElement("script");scrptElement.setAttribute("type","text/javascript");scrptElement.setAttribute("language","JavaScript");scrptElement.setAttribute("src",url);if(bDefer)
{scrptElement.setAttribute("defer",true);}
document.getElementsByTagName("head")[0].appendChild(scrptElement);};AjaxCrossCall.remoteloader={loaders:{},callbacks:{},detach:function(request_id)
{var loader=this.loaders[request_id];if(loader!==null)
{delete this.loaders[request_id];}
return loader;},cancel:function(request_id)
{var loader=this.detach(request_id);if(!loader)
{return;}
if(typeof loader.onCancel==="function")
{loader.onCancel(request_id);}},load:function(loader,request_id)
{if(typeof loader==='undefined'||typeof loader.url==='undefined'||typeof loader.onSuccess!=='function')
{throw('Loader object must have at least url property and onSuccess event handler');}
this.loaders[request_id]=loader;this.callbacks[request_id]=function(request_id)
{return function(data){var r=request_id;delete AjaxCrossCall.remoteloader.callbacks[r];return AjaxCrossCall.remoteloader.callback(data,r);};}(request_id);if(loader.timeout>0)
{setTimeout("AjaxCrossCall.remoteloader.timeout('"+request_id+"')",loader.timeout);}
loader.request_id=request_id;AjaxCrossCall.tools.add_js(loader.url);},callback:function(callback_data,request_id)
{var loader=this.detach(request_id);if(!loader)
{return;}
if(typeof loader.onSuccess==="function")
{loader.onSuccess(callback_data,request_id);}},timeout:function(request_id)
{var loader=this.detach(request_id);if(!loader)
{return;}
if(typeof loader.onFailure==="function")
{loader.onFailure(request_id);}}};function GetConfigUserId(_userid){if(LBSCampaign==null||LBSCampaign.length==0){return LBSCampaign["default"];}
for(var i=0;i<LBSCampaign.length;i++){if(LBSCampaign[i]["user_id"]==_userid){return LBSCampaign[i];}}
return LBSCampaign["default"];}
function MLbsAc()
{this.mAC=new Array();this.Element=function(_element){return(_element)?this.mAC[_element.id]:null;}
this.ElementById=function(_id){return this.mAC[_id];}
this.SelectedValue=function(_id){return this.mAC[_id]["selectedValue"];}
this.SelectedGeoCode=function(_id){return this.mAC[_id]["geoCode"];}
this.VerifyKey=function(_k){return((_k>43)&&(_k<97)||(_k==8));}
this.IsIE=function(){return(document.all)?true:false;}
this.OutFocus=function(_id){__AC.ElementById(_id)["focusdd"]=false;}
this.RegisterListener=function(_id,_type,_initialValue,_idRequired,_offset){this.mAC[_id]=new Array();this.mAC[_id]["handleElement"]=document.getElementById(_id);this.mAC[_id]["type"]=_type;this.mAC[_id]["handleDD"]=null;this.mAC[_id]["handleIF"]=null;this.mAC[_id]["handleDDP"]=null;this.mAC[_id]["handleHDDP"]=null;this.mAC[_id]["handleIFP"]=null;this.mAC[_id]["selectedValue"]=new Array();this.mAC[_id]["jsonValue"]=new Array();this.mAC[_id]["jsonValuePoi"]=new Array();this.mAC[_id]["visibleDD"]=false;this.mAC[_id]["visibleDDP"]=false;this.mAC[_id]["focusdd"]=false;this.mAC[_id]["selectedIndex"]=0;this.mAC[_id]["maxElements"]=5;this.mAC[_id]["geoCode"]=new Array();this.mAC[_id]["cssBack"]="autocomplete_back";this.mAC[_id]["cssBackLoad"]="autocomplete_back_load";this.mAC[_id]["idRequired"]=(_idRequired!=null)?_idRequired:null;this.mAC[_id]["valueRequired"]=new Array();this.mAC[_id]["offset"]=(_offset)?_offset:false;document.getElementById(_id).setAttribute('autocomplete','off');document.getElementById(_id).className=this.mAC[_id]["cssBack"];document.getElementById(_id).value=(_initialValue)?_initialValue:'';document.getElementById(_id).onblur=function(){try{setTimeout("__AC.HideDropDownById('"+_id+"')",300);}
catch(e){}}
document.getElementById(_id).onfocus=function(){try{setTimeout("__AC.OutFocus('"+_id+"')",10);}catch(e){}};document.getElementById(_id).onkeydown=function(evt){var event=(evt||window.event);var key=parseInt(event.keyCode||event.wich);if(key==13){event.cancelBubble=true;event.returnValue=false;if(event.stopPropagation){event.preventDefault();event.stopPropagation();}}}
document.getElementById(_id).onkeyup=function(evt){var event=(evt||window.event);var key=parseInt(event.keyCode||event.wich);var elementHtml=(event.target||event.srcElement);switch(key){case 27:__AC.HideDropDown(elementHtml);break;case 13:if(document.getElementById('notfound_ddAcp')==null)
__AC.SetValue(elementHtml);__AC.HideDropDown(elementHtml);break;case 38:if((!__AC.Element(elementHtml)["visibleDD"])&&(elementHtml.value.length>2)){__AC.CallSuggestion(elementHtml,_type);__AC.DoHighLight(elementHtml,0);}
else
__AC.DoHighLight(elementHtml,-1);__AC.CheckScroll(elementHtml);break;case 40:if((!__AC.Element(elementHtml)["visibleDD"])&&(elementHtml.value.length>2)){__AC.CallSuggestion(elementHtml,_type);__AC.DoHighLight(elementHtml,0);}
else
__AC.DoHighLight(elementHtml,1);__AC.CheckScroll(elementHtml);break;default:if((elementHtml.value.indexOf(',')>-1)&&(__AC.Element(elementHtml)["visibleDD"])){__AC.FillData2InDropDow(elementHtml);return;}
var valueRequired=(_idRequired)?document.getElementById(_idRequired).value:null;if(__AC.VerifyKey(key))__AC.CallSuggestion(elementHtml,_type,valueRequired);break;}}}
this.CallGeoCode=function(_element,_type){var call='vc'+Math.random().toString().substr(2,4);var qs="",arrValues;__AC.WaitCall(_element);switch(_type)
{case"addpoi":case"add":arrValues=__AC.Element(_element)["selectedValue"]["name"].split(', ');qs="streetid="+__AC.Element(_element)["selectedValue"]["streetid"]+"&num="+arrValues[1];break;case"city":arrValues=__AC.Element(_element)["selectedValue"]["cityState"].split(',');qs=(arrValues.length>1)?("city="+arrValues[0]+"&state="+arrValues[1]):"";break;}
AjaxCrossCall.remoteloader.load
({url:'http://www.apontador.com.br/memorygeocode-mplk/request?function=geo&'+__AC.FormatText(qs)+'&wt=maplink&call='+call,onSuccess:function(data)
{__AC.DoneCall(_element);__AC.CallGeoCodeBack(data,_element);},onFailure:function(request_id)
{__AC.DoneCall(_element);return;},onCancel:function(request_id)
{__AC.DoneCall(_element);return;},timeout:6000},call);}
this.WaitCall=function(_element){_element.className=__AC.Element(_element)["cssBackLoad"];}
this.DoneCall=function(_element){_element.className=__AC.Element(_element)["cssBack"];}
this.CallGeoCodeBack=function(_result,_element){__AC.Element(_element)["geoCode"]=JSON.parse(_result);if(__AC.Element(_element)["type"]=="addpoi")
__AC.CallSuggestionPoi(_element);}
this.CallSuggestionPoi=function(_element){var call='vc'+Math.random().toString().substr(2,4);var streetid=__AC.SelectedValue(_element.id)["streetid"].substr(0,9);__AC.WaitCall(_element);AjaxCrossCall.remoteloader.load
({url:'http://www.apontador.com.br/modulos/0.2.1/php/doLBSidGetPOI.php?street_id='+streetid+'&fl=lbsid,x,y,lat,lon,name,category,sponsor,city,state,url_page,user_id,street,number&limit=20&typeformat=maplink&call='+call,onSuccess:function(data)
{__AC.DoneCall(_element);__AC.CallSuggestionPoiBack(data,_element);},onFailure:function(request_id)
{__AC.DoneCall(_element);return;},onCancel:function(request_id)
{__AC.DoneCall(_element);return;},timeout:6000},call);}
this.CallSuggestionPoiBack=function(_result,_element){var array=eval("("+_result+")");if(array["POI"].length>0){__AC.Element(_element)["jsonValuePoi"]=array["POI"];__AC.CreateDropDownPoi(_element);__AC.FillDataPoi(array["POI"],_element);__AC.ShowDropDownPoi(_element);}}
this.CreateDropDownPoi=function(_element,_h){if(__AC.Element(_element)["handleDDP"]!=null)return;var hdd=document.createElement('div');hdd.style.position='absolute';hdd.style.height='30px';hdd.style.margin='0px';hdd.style.padding='0px';hdd.style.zIndex='99';hdd.style.visibility='hidden';var html="<div style='background-color:#1a557c; border:solid 1px #666; margin-right:-2px;'><div style='float:right;margin-top:8px; margin-right:5px;'><a href=\"javascript:__AC.HideDropDownPoiId('"+_element.id+"');\"><img src='/v2/imagens/botao_fechar.gif' style='border:none;'/></a></div>";html+="<div style='background-color:#1a557c; height:30px; color:#fff; padding-left:10px; padding-top:4px;'>Locais próximos a esse endereço</div></div>";hdd.innerHTML=html;__AC.Element(_element)["handleHDDP"]=hdd;document.body.appendChild(hdd);var dd=document.createElement('ol');dd.className='autocomplete_list';dd.style.border='solid 1px #666';dd.style.borderTop='none';dd.style.backgroundColor='#FFFFFF';dd.style.overflow='auto';dd.style.position='absolute';dd.style.height=(_h)?_h+'px':(__AC.Element(_element)["maxElements"]*45)+'px';dd.style.zIndex='99';dd.style.visibility='hidden';__AC.Element(_element)["handleDDP"]=dd;document.body.appendChild(dd);var iframe=document.createElement('iframe');iframe.style.border='none';iframe.style.position='absolute';iframe.style.height=(_h)?(_h+3)+'px':((__AC.Element(_element)["maxElements"]*23)+3)+'px';iframe.style.zIndex='98';iframe.style.visibility='hidden';__AC.Element(_element)["handleIFP"]=iframe;document.body.appendChild(iframe);}
this.FillDataPoi=function(_data,_element){if(__AC.Element(_element)["handleDDP"])__AC.Element(_element)["handleDDP"].innerHTML='';for(var i=0;i<_data.length;i++){var config=GetConfigUserId(_data[i]["user_id"]);var item=document.createElement('li');item.className=(config["user_class"]!="")?config["user_class"]:(((i%2)==1)?'item_poi':'item_poi_on');item.setAttribute('id',_element.id+'_ddAcp_'+i);item.setAttribute('index',i);item.style.zIndex='100';item.style.paddingTop='5px';item.style.paddingLeft='10px';var html=new Array();html.push("<a class='autocomplete_poi' href='http://maplink.uol.com.br/v2"+_data[i]["url_page"].replace(/\/local\/([^\/]+)\/([^\/]+)/,'/local')+"'>");if(_data[i]["sponsor"]==4)
html.push("<img src='/v2/imagens/certificado_40x40.gif' class='img_cert'/>");else if(_data[i]["sponsor"]==6){html.push("<img src='/v2/imagens/lbscampaign/"+config["img_ac"]+"' class='"+config["img_class"]+"'/>");}
html.push("<b>"+unescape(_data[i]["name"])+"</b><br/>"+unescape(_data[i]["category"])+"</a>");item.innerHTML=html.join('');__AC.Element(_element)["handleDDP"].appendChild(item);}}
this.ShowDropDownPoi=function(_element){__AC.UpdatePositionDropDownPoi(_element);__AC.Element(_element)["handleDDP"].style.visibility='visible';__AC.Element(_element)["handleHDDP"].style.visibility='visible';__AC.Element(_element)["visibleDDP"]=true;__AC.Element(_element)["handleIFP"].style.visibility='visible';}
this.UpdatePositionDropDownPoi=function(_element){__AC.Element(_element)["handleDDP"].style.left='27px'
__AC.Element(_element)["handleDDP"].style.top=(parseInt(__AC.GetTopElement(_element))+30)+'px';__AC.Element(_element)["handleDDP"].style.width=__AC.GetWidthElement(_element,"poi")+'px';__AC.Element(_element)["handleHDDP"].style.left='27px';__AC.Element(_element)["handleHDDP"].style.top=(parseInt(__AC.Element(_element)["handleDDP"].style.top.match(/[0-9]{1,5}/))-26)+'px';__AC.Element(_element)["handleHDDP"].style.width=__AC.Element(_element)["handleDDP"].style.width;__AC.Element(_element)["handleIFP"].style.left='27px';__AC.Element(_element)["handleIFP"].style.top=__AC.Element(_element)["handleDDP"].style.top;__AC.Element(_element)["handleIFP"].style.width=__AC.Element(_element)["handleDDP"].style.width;}
this.HideDropDownPoi=function(_element){if(_element==null)return;if(__AC.Element(_element)["handleDDP"]){__AC.Element(_element)["handleDDP"].innerHTML='';__AC.Element(_element)["handleDDP"].style.visibility='hidden';__AC.Element(_element)["handleHDDP"].style.visibility='hidden';__AC.Element(_element)["handleIFP"].style.visibility='hidden';}
__AC.Element(_element)["visibleDDP"]=false;}
this.HideDropDownPoiId=function(_id){if(document.getElementById(_id)==null)return;__AC.HideDropDownPoi(document.getElementById(_id));}
this.CallSuggestion=function(_element,_type,_valueRequired){if(_element.value.length==0)
__AC.HideDropDown(_element);else if(_element.value.length>2)
{__AC.WaitCall(_element);var call='vc'+Math.random().toString().substr(2,4);var value=__AC.FormatText(_element.value).split(',');var txturl='';switch(_type)
{case"addpoi":case"add":var arr=(_valueRequired)?_valueRequired.split(','):'sao paulo, sp'.split(',');var city=(arr.length<2)?'sao paulo':__AC.FormatText(arr[0]);var state=(arr.length<2)?'sp':arr[1];__AC.Element(_element)["valueRequired"]=__AC.GetCityLoc(__AC.Element(_element)["idRequired"]);txturl='http://www.apontador.com.br/memorygeocode-mplk/request?function=addsugg&city='+city+'&state='+state+'&street='+__AC.Rtrim(value[0])+'&wt=maplink&call='+call;break;case"city":txturl='http://www.apontador.com.br/memorygeocode-mplk/request?function=citysugg&cityState='+__AC.Rtrim(value[0])+'&wt=maplink&call='+call;break;}
AjaxCrossCall.remoteloader.load
({url:txturl,onSuccess:function(data)
{__AC.DoneCall(_element);__AC.CallSuggestionBack(data,_element);},onFailure:function(request_id)
{__AC.DoneCall(_element);return;},onCancel:function(request_id)
{__AC.DoneCall(_element);return;},timeout:6000},call);}}
this.CallSuggestionBack=function(_result,_element){__AC.Element(_element)["jsonValue"]=JSON.parse(_result);__AC.CreateDropDown(_element);if(__AC.Element(_element)["jsonValue"].length>0)
__AC.FillDataInDropDown(_element,__AC.Element(_element)["jsonValue"],__AC.Element(_element)["type"]);else{__AC.ClearDataInDropDown(_element);var item=document.createElement('li');item.className='item_poi';item.setAttribute('id','notfound_ddAcp');item.setAttribute('index',i);item.style.zIndex='100';item.style.paddingTop='5px';item.style.paddingLeft='10px';item.innerHTML="Informação não encontrada!";item.onclick=function(evt){var event=(evt||window.event);var elementLi=(event.target||event.srcElement);var elementHtml=document.getElementById(elementLi.id.substr(0,elementLi.id.indexOf('_ddAc_')));__AC.HideDropDown(elementHtml);};__AC.Element(_element)["handleDD"].appendChild(item);}
__AC.ShowDropDown(_element,__AC.Element(_element)["type"]);}
this.CreateDropDown=function(_element,_h){if(__AC.Element(_element)["handleDD"]!=null)return;var dd=document.createElement('ol');dd.setAttribute('id',_element.id+'_ol');dd.className='autocomplete_list';dd.style.border='solid 1px #666';dd.style.backgroundColor='#FFFFFF';dd.style.overflow='auto';dd.style.float='none';dd.style.position='absolute';dd.style.height=(_h)?_h+'px':(__AC.Element(_element)["maxElements"]*23)+'px';dd.style.zIndex='99';dd.style.visibility='hidden';dd.onscroll=function(evt){var event=(evt||window.event);var elementHtml=(event.target||event.srcElement);var element=document.getElementById(elementHtml.id.substr(0,elementHtml.id.indexOf('_ol')));__AC.Element(element)["focusdd"]=true;element.focus();}
__AC.Element(_element)["handleDD"]=dd;document.body.appendChild(dd);if(__AC.IsIE()){var iframe=document.createElement('iframe');iframe.style.border='none';iframe.style.position='absolute';iframe.style.height=(_h)?(_h+3)+'px':((__AC.Element(_element)["maxElements"]*23)+3)+'px';iframe.style.zIndex='98';iframe.style.visibility='hidden';__AC.Element(_element)["handleIF"]=iframe;document.body.appendChild(iframe);}}
this.GetLeftElement=function(_element){var left=_element.offsetLeft;var offset=(__AC.IsIE()&&__AC.Element(_element)["offset"])?-8:0;while(_element.offsetParent!=null){_element=_element.offsetParent;left=left+_element.offsetLeft;}
return left+offset;}
this.GetTopElement=function(_element){var offset=(__AC.IsIE()&&__AC.Element(_element)["offset"])?(_element.offsetHeight-6):_element.offsetHeight;var somaTopOffset=0;var somaScrollOffset=0;var objTemp=_element;somaTopOffset=objTemp.offsetTop;somaScrollOffset=(_element.scrollTop||0);while(objTemp.offsetParent!=null){objTemp=objTemp.offsetParent;somaTopOffset+=(objTemp.offsetTop||0);}
while(_element.parentNode!=null){_element=_element.parentNode;if(document!=null)if(document.body!=null)if(_element.tagName!=null)if(_element.tagName!='HTML')somaScrollOffset+=(_element.scrollTop||0);}
return(somaTopOffset-somaScrollOffset)+offset;}
this.GetWidthElement=function(_element,_type){var arrCd=__AC.Element(_element)["jsonValue"];var width=_element.offsetWidth;switch(_type){case"addpoi":case"add":for(var i=0;i<arrCd.length;i++){width=(((arrCd[i]["name"].length*9)+220)>width)?((arrCd[i]["name"].length*9)+220):width;}
break;case"city":for(var i=0;i<arrCd.length;i++){width=((arrCd[i]["cityState"].length*9)>width)?(arrCd[i]["cityState"].length*9):width;}
break;case"poi":width=600;break;}
return width;}
this.FillDataInDropDown=function(_element,_data,_type){__AC.ClearDataInDropDown(_element);switch(_type)
{case"addpoi":case"add":for(var i=0;i<_data.length;i++){var item=document.createElement('li');item.className='item';item.setAttribute('id',_element.id+'_ddAc_'+i);item.setAttribute('index',i);item.style.zIndex='99';item.onmouseover=function(evt){var event=(evt||window.event);var elementLi=(event.target||event.srcElement);var elementHtml=document.getElementById(elementLi.id.substr(0,elementLi.id.indexOf('_ddAc')));__AC.HighLightItemInDropDown(elementHtml,elementLi.getAttribute('index'));};item.onclick=function(evt){var event=(evt||window.event);var elementLi=(event.target||event.srcElement);var elementHtml=document.getElementById(elementLi.id.substr(0,elementLi.id.indexOf('_ddAc_')));__AC.SetValue(elementHtml);};var itemSpanD=document.createElement('span');itemSpanD.className='district';itemSpanD.setAttribute('id',_element.id+'_ddAcd_'+i);itemSpanD.setAttribute('index',i);itemSpanD.onclick=function(evt){var event=(evt||window.event);var elementLi=(event.target||event.srcElement);var elementHtml=document.getElementById(elementLi.id.substr(0,elementLi.id.indexOf('_ddAc')));__AC.SetValue(elementHtml);};itemSpanD.innerHTML=_data[i]["district"];var itemSpanN=document.createElement('span');itemSpanN.setAttribute('id',_element.id+'_ddAcn_'+i);itemSpanN.setAttribute('index',i);itemSpanN.onclick=function(evt){var event=(evt||window.event);var elementLi=(event.target||event.srcElement);var elementHtml=document.getElementById(elementLi.id.substr(0,elementLi.id.indexOf('_ddAc')));__AC.SetValue(elementHtml);};itemSpanN.innerHTML=', 0';var itemSpanT=document.createElement('span');itemSpanT.setAttribute('id',_element.id+'_ddAct_'+i);itemSpanT.setAttribute('index',i);itemSpanT.onclick=function(evt){var event=(evt||window.event);var elementLi=(event.target||event.srcElement);var elementHtml=document.getElementById(elementLi.id.substr(0,elementLi.id.indexOf('_ddAc')));__AC.SetValue(elementHtml);};itemSpanT.innerHTML=__AC.FormatText(_data[i]["name"],'n');item.appendChild(itemSpanD);item.appendChild(itemSpanT);item.appendChild(itemSpanN);__AC.Element(_element)["handleDD"].appendChild(item);}
break;case"city":for(var i=0;i<_data.length;i++){var item=document.createElement('li');item.className='item';item.setAttribute('id',_element.id+'_ddAc_'+i);item.setAttribute('index',i);item.style.zIndex='99';item.onmouseover=function(evt){var event=(evt||window.event);var elementLi=(event.target||event.srcElement);var elementHtml=document.getElementById(elementLi.id.substr(0,elementLi.id.indexOf('_ddAc_')));__AC.HighLightItemInDropDown(elementHtml,elementLi.getAttribute('index'));};item.onclick=function(evt){var event=(evt||window.event);var elementLi=(event.target||event.srcElement);var elementHtml=document.getElementById(elementLi.id.substr(0,elementLi.id.indexOf('_ddAc_')));__AC.SetValue(elementHtml);};item.innerHTML=_data[i]["cityState"];__AC.Element(_element)["handleDD"].appendChild(item);}
break;}
__AC.HighLightItemInDropDown(_element,0);}
this.FillData2InDropDow=function(_element){if(__AC.Element(_element)["type"]=='city')return;var value=_element.value.match(/,[\s]*[0-9]{1,8}/)+"";var number=(value=="null")?"0":value.match(/[0-9]{1,8}/);if((__AC.Element(_element)["jsonValue"])&&(__AC.Element(_element)["visibleDD"])){for(var i=0;i<__AC.Element(_element)["jsonValue"].length;i++){document.getElementById(_element.id+'_ddAcn_'+i).innerHTML=', '+number;}}}
this.ClearDataInDropDown=function(_element){__AC.Element(_element)["handleDD"].innerHTML="";}
this.ShowDropDown=function(_element,_type){__AC.UpdatePositionDropDown(_element,_type);__AC.Element(_element)["handleDD"].style.visibility='visible';__AC.Element(_element)["visibleDD"]=true;if(__AC.Element(_element)["visibleDDP"])
__AC.HideDropDownPoi(_element);if(__AC.IsIE())
__AC.Element(_element)["handleIF"].style.visibility='visible';if(_element.value.indexOf(',')>-1){__AC.FillData2InDropDow(_element);}}
this.UpdatePositionDropDown=function(_element,_type){__AC.Element(_element)["handleDD"].style.left=__AC.GetLeftElement(_element)+'px';__AC.Element(_element)["handleDD"].style.top=__AC.GetTopElement(_element)+'px';__AC.Element(_element)["handleDD"].style.width=__AC.GetWidthElement(_element,_type)+'px';if(__AC.IsIE()){__AC.Element(_element)["handleIF"].style.left=__AC.Element(_element)["handleDD"].style.left;__AC.Element(_element)["handleIF"].style.top=__AC.Element(_element)["handleDD"].style.top;__AC.Element(_element)["handleIF"].style.width=__AC.Element(_element)["handleDD"].style.width;}
setTimeout(function(){eval("__AC.UpdatePositionDropDownId('"+_element.id+"')");},10);}
this.UpdatePositionDropDownId=function(_id){__AC.ElementById(_id)["handleDD"].style.left=__AC.GetLeftElement(document.getElementById(_id))+'px';__AC.ElementById(_id)["handleDD"].style.top=__AC.GetTopElement(document.getElementById(_id))+'px';if(__AC.IsIE()){__AC.ElementById(_id)["handleIF"].style.left=__AC.ElementById(_id)["handleDD"].style.left;__AC.ElementById(_id)["handleIF"].style.top=__AC.ElementById(_id)["handleDD"].style.top;}
if(__AC.ElementById(_id)["visibleDD"])
setTimeout(function(){eval("__AC.UpdatePositionDropDownId('"+_id+"')");},300);}
this.HideDropDown=function(_element){if(_element==null)return;if(__AC.Element(_element)["handleDD"]){__AC.ClearDataInDropDown(_element);__AC.Element(_element)["handleDD"].style.visibility='hidden';if(__AC.IsIE())__AC.Element(_element)["handleIF"].style.visibility='hidden';}
__AC.Element(_element)["visibleDD"]=false;}
this.HideDropDownById=function(_id){if(__AC.ElementById(_id)["focusdd"]==true)return;__AC.HideDropDown(document.getElementById(_id));}
this.SetValue=function(_element){if(_element==null)return;if(__AC.Element(_element)["jsonValue"]==null)return;__AC.Element(_element)["focusdd"]=false;for(var i=0;i<__AC.Element(_element)["handleDD"].childNodes.length;++i){if(__AC.Element(_element)["handleDD"].childNodes[i].className=='item current_item'){_element.value=__AC.GetValueFromELement(__AC.Element(_element)["handleDD"].childNodes[i].innerHTML);switch(__AC.Element(_element)["type"]){case"addpoi":case"add":__AC.Element(_element)["jsonValue"][i]["name"]=_element.value;break;case"city":__AC.Element(_element)["jsonValue"][i]["cityState"]=_element.value;break;}
__AC.Element(_element)["selectedValue"]=__AC.Element(_element)["jsonValue"][i];__AC.CallGeoCode(_element,__AC.Element(_element)["type"]);break;}}
__AC.HideDropDown(_element);}
this.GetValueFromELement=function(_html){var arrValues=_html.replace(/<span[^>]*>/ig,"").replace(/<.span[^>]*>/ig,"|").split('|');if(arrValues.length==1)return arrValues[0];else{var ret='';for(var i=1;i<arrValues.length-1;i++)ret+=arrValues[i]+' ';return ret;}}
this.HighLightItemInDropDown=function(_element,_indexItem){if(__AC.Element(_element)["handleDD"].childNodes[_indexItem]){for(var i=0;i<__AC.Element(_element)["handleDD"].childNodes.length;++i){if(__AC.Element(_element)["handleDD"].childNodes[i].className=='item current_item'){__AC.Element(_element)["handleDD"].childNodes[i].className='item';}}
__AC.Element(_element)["handleDD"].childNodes[_indexItem].className='item current_item';__AC.Element(_element)["selectedIndex"]=_indexItem;}}
this.DoHighLight=function(_element,_inc){if(__AC.Element(_element)["handleDD"]==null)return;var indexCount=parseInt(__AC.Element(_element)["handleDD"].childNodes.length);var curIndex=parseInt(__AC.Element(_element)["selectedIndex"]);var index=((curIndex+_inc)<0)?parseInt(indexCount-1):parseInt(((curIndex+_inc)==indexCount)?0:(curIndex+_inc));__AC.HighLightItemInDropDown(_element,index);}
this.CheckScroll=function(_element){if(__AC.Element(_element)["handleDD"]==null)return;var curIndex=__AC.Element(_element)["selectedIndex"];var top=(curIndex>=(__AC.Element(_element)["maxElements"]-1))?((curIndex-__AC.Element(_element)["maxElements"]+1)*23):0;__AC.Element(_element)["handleDD"].scrollTop=top;}
this.FormatText=function(_text,_f){var Acentos="áàãââÁÀÃÂéêÉÊíÍóõôÓÔÕúüÚÜçÇ";var Traducao="aaaaaAAAAeeEEiIoooOOOuuUUcC";var Posic,Carac;var TempLog="";for(var i=0;i<_text.length;i++){Carac=_text.charAt(i);Posic=Acentos.indexOf(Carac);if(Posic>-1)
TempLog+=Traducao.charAt(Posic);else
TempLog+=_text.charAt(i);}
if(_f=='n')
return TempLog;else
return(TempLog.toLowerCase());}
this.Trim=function(str){return str.replace(/^\s+|\s+$/g,"");}
this.Ltrim=function(str){return str.replace(/^\s+/,"");}
this.Rtrim=function(str){return str.replace(/\s+$/,"");}
this.GetCityLoc=function(_id){if((__AC.SelectedValue(_id)["cityState"])&&(__AC.SelectedGeoCode(_id)["x"]))
return eval("({'city':{'name':'"+__AC.Rtrim(__AC.SelectedValue(_id)["cityState"].split(',')[0])+"','state':'"+__AC.Trim(__AC.SelectedValue(_id)["cityState"].split(',')[1])+"'},'point':{'x':'"+__AC.SelectedGeoCode(_id)["x"]+"','y':'"+__AC.SelectedGeoCode(_id)["y"]+"'}})");else
return new Array();}
this.GetAddLoc=function(_id){if((__AC.SelectedValue(_id)["name"])&&(__AC.SelectedGeoCode(_id)["x"])){var cityState=__AC.ElementById(__AC.ElementById(_id)["idRequired"])["selectedValue"]["cityState"];var cidade=__AC.Rtrim(cityState.split(',')[0]);var estado=__AC.Trim(cityState.split(',')[1]);return eval("({'city':{'name':'"+cidade+"','state':'"+estado+"'},'point':{'x':"+__AC.SelectedGeoCode(_id)["x"]+",'y':"+__AC.SelectedGeoCode(_id)["y"]+"},'address':{'street':'"+__AC.SelectedValue(_id)["name"].split(',')[0]+"','houseNumber':'"+__AC.Trim(__AC.SelectedValue(_id)["name"].split(',')[1])+"', 'district':'"+__AC.SelectedValue(_id)["district"]+"','city':{ 'name':'"+cidade+"','state':'"+estado+"' }}})");}
else
return new Array();}
this.FillDefaultCity=function(_id,_objValue){var cidade=_objValue["city"]["name"];var estado=_objValue["city"]["state"];var x=_objValue["point"]["x"];var y=_objValue["point"]["y"];__AC.ElementById(_id)["selectedValue"]=eval("({'cityState':'"+cidade+", "+estado+"'})");__AC.ElementById(_id)["geoCode"]=_objValue["point"];}}
var __AC=new MLbsAc();