/**
 * This is a minified version of several JS files.
 *
 * Prototype JavaScript framework is (c) 2005-2010 Sam Stephenson
 *   - released under MIT Lincese {@link http://dev.rubyonrails.org/browser/spinoffs/prototype/trunk/LICENSE?format=raw}
 *   - visit http://www.prototypejs.org/ for more information about Prototype
 *
 */
var Prototype={Version:'1.6.0.1',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/),KHTML:/Konqueror/.test(navigator.userAgent)&&/KHTML/.test(navigator.userAgent),Chrome:!!navigator.userAgent.match('Chrome')},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():object.toString();}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&&object.constructor===Array;},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);}.bind(this));}});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){function $A(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&&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;}},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);}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);}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).getElementsBySelector("*");},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)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 originalWidth=element.clientWidth;var originalHeight=element.clientHeight;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=='relative'||p=='absolute')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){$w('positionedOffset getOffsetParent 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);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.clone(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(document.createElement('div').outerHTML){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 = false;',attr:function(m){m[3]=(m[5]||m[6]);return new Template('n = h.attr(n, r, "#{1}", "#{3}", "#{2}"); 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:new RegExp('^:((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 Selector.operators[matches[2]](nodeValue,matches[3]);}},handlers:{concat:function(a,b){for(var i=0,node;node=b[i];i++)
a.push(node);return a;},mark:function(nodes){for(var i=0,node;node=nodes[i];i++)
node._counted=true;return nodes;},unmark:function(nodes){for(var i=0,node;node=nodes[i];i++)
node._counted=undefined;return nodes;},index:function(parentNode,reverse,ofType){parentNode._counted=true;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._counted))node.nodeIndex=j++;}}else{for(var i=0,j=1,nodes=parentNode.childNodes;node=nodes[i];i++)
if(node.nodeType==1&&(!ofType||node._counted))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])._counted){n._counted=true;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){if(!nodes)nodes=root.getElementsByTagName("*");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){if(!nodes)nodes=root.getElementsByTagName("*");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._counted){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._counted)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()+'-');}},matchElements:function(elements,expression){var matches=new Selector(expression).findElements(),h=Selector.handlers;h.mark(matches);for(var i=0,results=[],element;element=elements[i];i++)
if(element._counted)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){var exprs=expressions.join(',');expressions=[];exprs.scan(/(([\w#:.~>+()\s-]+|\*|\[.*?\])+)\s*(,|$)/,function(m){expressions.push(m[1].strip());});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){Selector.handlers.concat=function(a,b){for(var i=0,node;node=b[i];i++)
if(node.tagName!=="!")a.push(node);return a;};}
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._eventID)return element._eventID;arguments.callee.id=arguments.callee.id||1;return element._eventID=++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('*');if(nodes.length==0){nodes=$(element).getElementsByTagName('IMG');;}
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 i18n_msgs={error_js_side:'Action can\'t be performed, an error has occured, refresh the page and try again. If the issue persists, please contact us!',please_wait:'Please wait...',deleting:'Deleting...',empty_comm_form:'Please type a comment first!',empty_pw_field:'The password field cannot be left empty!',empty_dbmsg_form:'Please type a message first!',comm_del_confirm:'Are you sure you want to delete this comment?',gb_msg_del_confirm:'Are you sure you want to delete this guestbook message?',media_del_confirm:'Are you sure you want to remove this media file?',del_item_question:'Are you sure you want to delete this item?',comm_like:'Agree',comm_dislike:'Disagree',comm_delete:'delete comment',nav_comm_new:'Newer comments',nav_comm_old:'Older comments',comm_by:'By',comm_at_date:'at',comm_rating:'rating',upload_progress:'File uploading, please be patient...',upload_inv_ext:'Please upload only permitted file types.',login_auth_load:'Authenticating...',broken_image:'The image you are trying to access can\'t be displayed, it is probably pending deletion process.',img_size_desc:function(size){var t;switch(size){case't':t='thumbnail';break;case's':t='small';break;case'm':t='medium';break;case'l':t='large';break;case'xl':t='original';break;default:t='unspecified'}
return t;},image_sizes:'Available sizes',left_empty_fld:'Field must not be left empty!',phone_type:'Phone Type',phone_number:'Phone Number',save_action:'Save',cancel_action:'Cancel',phone_no_missing:'Please fill the phone number field first!',no_email_addr:'Please enter an email address first!',no_email_desc:'Please enter an email address description!',email_addr:'Email address',anchor_text:'Link title',website_address:'Website address',no_anchor_text:'The link title field must be filled!',missing_url:'Please enter the website address first!',phone_landline:'Landline',phone_mobile:'Mobile',phone_fax:'Fax',deleting_phone:'Deleting phone number entry from the database',deleted_phone:'Phone number deleted!',deleting_email:'Deleting email address entry from the database',deleted_email:'Email address deleted!',deleting_url:'Deleting web address entry from the database',deleted_url:'Web address deleted!',map_drag_me:'Drag me to update your position.',bus_position_edit:'Are you sure you want to alter the position of your business?',bus_hour_delete:'Are you sure you want to delete this entry?',deleting:'Deleting...',bus_hours_deleted:'Group removed!',new_net_title:'New network title',net_desc:'Network description',new_group_title:'New group title',group_address_l1:'Address line 1',group_address_l2:'Address line 2',group_desc:'Group description',missing_grp_title:'Group title field is empty, please fill this in first!',missing_net_title:'Network title field is empty, please fill this in first!',addr1_low_len:'The address line 1 is too small!',addr2_low_len:'The address line 2 is too small!',grp_desc_low_len:'The length of the group description is too small!',net_desc_low_len:'The length of the network description is too small!',group_done_feat:'Group was featured!',group_done_defeat:'Group was defeatured!',net_done_feat:'Network was featured!',net_done_defeat:'Network was defeatured!',mmbrshp_del_cnf:'Please be aware that cancelling your account is an irreversible process. Are you sure you want to do this?',mmbrshp_del_modeq:'Choose how you want your data to be handled after removing your account:',mmbrshp_del_cnt_y:'delete all my content from Loopthing',mmbrshp_del_cnt_n:'keep the content I posted as comments for the media files uploaded on Loopthing, business profiles, group guestbooks, and network boards',mmbrshp_del_yes:'Cancel my account!',mmbrshp_del_no:'Don\'t cancel anything',mmbrshp_del_pw:'Please enter your password to confirm the deletion of your account',rating_talk:{1:'Very bad',2:'Poor',3:'Average',4:'I like it',5:'Very good'}};var isIE6=Prototype.Browser.IE&&parseInt(navigator.userAgent.substring(navigator.userAgent.indexOf("MSIE")+5))==6;function showI18NSelection(start_from){if(isIE6&&$('searchbox_area')){$('searchbox_area').style.visibility='hidden';}
var countries_per_set=15;var start_from=start_from?parseInt(start_from):0;var ctry_selector=$('ctrysel');ctry_selector.show();var dropdown_indicator=$('language').down('span.dropdownarrow');dropdown_indicator.setStyle({backgroundPosition:'-119px -42px'});Event.observe($('country_selector'),'click',function(){hideI18NSelection();});ctry_selector.innerHTML='';var total_cnt=0;var ctry_h=$H(bus_countries);if(ctry_h){total_cnt=$A(bus_countries).size();}
if(!ctry_h||total_cnt==0){alert('Sorry, internationalization feature is disabled on this page.');return;}
if(start_from==0){var intl_lnk=new Element('a',{href:'#INT',onclick:'return false;'}).update('International');Event.observe(intl_lnk,'click',function(){hideI18NSelection('INT','International');});var intl_li=new Element('li');intl_li.appendChild(intl_lnk);ctry_selector.appendChild(intl_li);}
var has_next=false;var has_prev=false;var ctry_cnt=1;ctry_h.each(function(c,s){if(s<start_from){return;}
var cty_data=bus_countries[s];if(cty_data){var cty_lnk=new Element('a',{href:'#'+cty_data.iso,onclick:'return false;'}).update(cty_data.name);Event.observe(cty_lnk,'click',function(){hideI18NSelection(cty_data.iso,cty_data.name)});var cty_el=new Element('li');if(!(s%2)){cty_el.className='alt';}
cty_el.appendChild(cty_lnk);ctry_selector.appendChild(cty_el);}
if(ctry_cnt>countries_per_set){has_next=true;throw $break;}
ctry_cnt++;});if(total_cnt>(start_from+ctry_cnt)){has_next=true;}
if(total_cnt<=(ctry_cnt+start_from)){has_next=false;}
if((ctry_cnt+start_from)>countries_per_set){has_prev=true;}
if(start_from<countries_per_set){has_prev=false;}
if(has_next||has_prev){var nav=new Element('li',{className:'nav'}).setStyle({textAlign:'right'});var nav_lnk_1,nav_lnk_2;if(has_prev){nav_lnk_2=new Element('a',{href:'#',onclick:'return false;',id:'prevctry'}).update('Previous');Event.observe(nav_lnk_2,'click',function(){start_from-=countries_per_set+1;showI18NSelection(start_from);});nav.appendChild(nav_lnk_2);}else{nav_lnk_2=new Element('span',{id:'prevctry'}).update('Previous');}
nav.appendChild(nav_lnk_2);if(has_next){nav_lnk_1=new Element('a',{href:'#',onclick:'return false;'}).update('Next');Event.observe(nav_lnk_1,'click',function(){start_from+=countries_per_set+1;showI18NSelection(start_from);});}else{nav_lnk_1=new Element('span').update('Next');}
nav.appendChild(nav_lnk_1);ctry_selector.insert({'top':nav});}}
function hideI18NSelection(cty_iso,cty_name){if(isIE6&&$('searchbox_area')){$('searchbox_area').style.visibility='visible';}
if(cty_iso&&cty_name){$('country_selector').down('span.dropdowntext').update(cty_name);$('country_selector').href='#'+cty_iso;document.location='/i18n/?locale='+escapeUTF8(cty_iso)+'&r_url='+escapeUTF8(window.location.pathname+window.location.search);}
$('country_selector').stopObserving('click');var ctry_selector=$('ctrysel');ctry_selector.hide();var dropdown_indicator=$('language').down('span.dropdownarrow');dropdown_indicator.setStyle({backgroundPosition:'-176px -42px'});enableCountrySelector();}
function enableCountrySelector(){Event.observe($('country_selector'),'click',function(){var default_country_id=0;$('country_selector').stopObserving('click');showI18NSelection(default_country_id);});}
function fetchLocaleStatus(){if(LT.locale.changed){var note='Location preferences have<br />been successfully saved.';var a=new LT_Tooltip($('country_selector'),note,{hookPosition:'bottom-middle',fadeIn:true,fadeOut:true,showDelay:0.5,offset:{x:0,y:3},tooltipClass:'tooltipblack'});new PeriodicalExecuter(function(pe){a.hide();pe.stop();},3);}}
Event.observe(window,'load',function(){if($('country_selector')){var pe;Event.observe($('ctrysel'),'mouseout',function(e){pe=new PeriodicalExecuter(function(pe){hideI18NSelection();pe.stop();},1);});Event.observe($('ctrysel'),'mouseover',function(e){if(pe){pe.stop();}});enableCountrySelector();fetchLocaleStatus();}});var SSL_ON=document.location.protocol=='https:';var LT_hostname='www.loopthing.com';var cssprite_srv='http'+(SSL_ON?'s':'')+'://www.loopthing.com/cdn/';var LT_home_path='http'+(SSL_ON?'s':'')+'://'+LT_hostname+'/';var LT_aff_cdn_path='http'+(SSL_ON?'s':'')+'://a.loopthing.com/cdn/';var lt_ac_dvs='0_9_80_48';var bus_countries=[{"iso":"AF","name":"Afghanistan"},{"iso":"AL","name":"Albania"},{"iso":"DZ","name":"Algeria"},{"iso":"AS","name":"American Samoa"},{"iso":"AD","name":"Andorra"},{"iso":"AO","name":"Angola"},{"iso":"AI","name":"Anguilla"},{"iso":"AQ","name":"Antarctica"},{"iso":"AG","name":"Antigua and Barbuda"},{"iso":"AR","name":"Argentina"},{"iso":"AM","name":"Armenia"},{"iso":"AW","name":"Aruba"},{"iso":"AU","name":"Australia"},{"iso":"AT","name":"Austria"},{"iso":"AZ","name":"Azerbaijan"},{"iso":"BS","name":"Bahamas"},{"iso":"BH","name":"Bahrain"},{"iso":"BD","name":"Bangladesh"},{"iso":"BB","name":"Barbados"},{"iso":"BY","name":"Belarus"},{"iso":"BE","name":"Belgium"},{"iso":"BZ","name":"Belize"},{"iso":"BJ","name":"Benin"},{"iso":"BM","name":"Bermuda"},{"iso":"BT","name":"Bhutan"},{"iso":"BO","name":"Bolivia"},{"iso":"BA","name":"Bosnia and Herzegovina"},{"iso":"BW","name":"Botswana"},{"iso":"BV","name":"Bouvet Island"},{"iso":"BR","name":"Brazil"},{"iso":"IO","name":"British Indian Ocean Territory"},{"iso":"BN","name":"Brunei Darussalam"},{"iso":"BG","name":"Bulgaria"},{"iso":"BF","name":"Burkina Faso"},{"iso":"BI","name":"Burundi"},{"iso":"KH","name":"Cambodia"},{"iso":"CM","name":"Cameroon"},{"iso":"CA","name":"Canada"},{"iso":"CV","name":"Cape Verde"},{"iso":"KY","name":"Cayman Islands"},{"iso":"CF","name":"Central African Republic"},{"iso":"TD","name":"Chad"},{"iso":"CL","name":"Chile"},{"iso":"CN","name":"China"},{"iso":"CX","name":"Christmas Island"},{"iso":"CC","name":"Cocos (Keeling) Islands"},{"iso":"CO","name":"Colombia"},{"iso":"KM","name":"Comoros"},{"iso":"CG","name":"Congo-Brazzaville"},{"iso":"CD","name":"Congo-Kinshasa"},{"iso":"CK","name":"Cook Islands"},{"iso":"CR","name":"Costa Rica"},{"iso":"CI","name":"Cote D'Ivoire"},{"iso":"HR","name":"Croatia"},{"iso":"CU","name":"Cuba"},{"iso":"CY","name":"Cyprus"},{"iso":"CZ","name":"Czech Republic"},{"iso":"DK","name":"Denmark"},{"iso":"DJ","name":"Djibouti"},{"iso":"DM","name":"Dominica"},{"iso":"DO","name":"Dominican Republic"},{"iso":"EC","name":"Ecuador"},{"iso":"EG","name":"Egypt"},{"iso":"SV","name":"El Salvador"},{"iso":"GQ","name":"Equatorial Guinea"},{"iso":"ER","name":"Eritrea"},{"iso":"EE","name":"Estonia"},{"iso":"ET","name":"Ethiopia"},{"iso":"FK","name":"Falkland Islands (Malvinas)"},{"iso":"FO","name":"Faroe Islands"},{"iso":"FJ","name":"Fiji"},{"iso":"FI","name":"Finland"},{"iso":"FR","name":"France"},{"iso":"GF","name":"French Guiana"},{"iso":"PF","name":"French Polynesia"},{"iso":"TF","name":"French Southern Territories"},{"iso":"GA","name":"Gabon"},{"iso":"GM","name":"Gambia"},{"iso":"GE","name":"Georgia"},{"iso":"DE","name":"Germany"},{"iso":"GH","name":"Ghana"},{"iso":"GI","name":"Gibraltar"},{"iso":"GR","name":"Greece"},{"iso":"GL","name":"Greenland"},{"iso":"GD","name":"Grenada"},{"iso":"GP","name":"Guadeloupe"},{"iso":"GU","name":"Guam"},{"iso":"GT","name":"Guatemala"},{"iso":"GN","name":"Guinea"},{"iso":"GW","name":"Guinea-Bissau"},{"iso":"GY","name":"Guyana"},{"iso":"HT","name":"Haiti"},{"iso":"HM","name":"Heard Island and Mcdonald Islands"},{"iso":"VA","name":"Holy See (Vatican City State)"},{"iso":"HN","name":"Honduras"},{"iso":"HK","name":"Hong Kong"},{"iso":"HU","name":"Hungary"},{"iso":"IS","name":"Iceland"},{"iso":"IN","name":"India"},{"iso":"ID","name":"Indonesia"},{"iso":"IR","name":"Iran, Islamic Republic of"},{"iso":"IQ","name":"Iraq"},{"iso":"IE","name":"Ireland"},{"iso":"IL","name":"Israel"},{"iso":"IT","name":"Italy"},{"iso":"JM","name":"Jamaica"},{"iso":"JP","name":"Japan"},{"iso":"JO","name":"Jordan"},{"iso":"KZ","name":"Kazakhstan"},{"iso":"KE","name":"Kenya"},{"iso":"KI","name":"Kiribati"},{"iso":"KP","name":"Korea (North)"},{"iso":"KR","name":"Korea (South)"},{"iso":"KW","name":"Kuwait"},{"iso":"KG","name":"Kyrgyzstan"},{"iso":"LA","name":"Laos"},{"iso":"LV","name":"Latvia"},{"iso":"LB","name":"Lebanon"},{"iso":"LS","name":"Lesotho"},{"iso":"LR","name":"Liberia"},{"iso":"LY","name":"Libyan Arab Jamahiriya"},{"iso":"LI","name":"Liechtenstein"},{"iso":"LT","name":"Lithuania"},{"iso":"LU","name":"Luxembourg"},{"iso":"MO","name":"Macao"},{"iso":"MK","name":"Macedonia"},{"iso":"MG","name":"Madagascar"},{"iso":"MW","name":"Malawi"},{"iso":"MY","name":"Malaysia"},{"iso":"MV","name":"Maldives"},{"iso":"ML","name":"Mali"},{"iso":"MT","name":"Malta"},{"iso":"MH","name":"Marshall Islands"},{"iso":"MQ","name":"Martinique"},{"iso":"MR","name":"Mauritania"},{"iso":"MU","name":"Mauritius"},{"iso":"YT","name":"Mayotte"},{"iso":"MX","name":"Mexico"},{"iso":"FM","name":"Micronesia, Federated States of"},{"iso":"MD","name":"Moldova"},{"iso":"MC","name":"Monaco"},{"iso":"MN","name":"Mongolia"},{"iso":"MS","name":"Montserrat"},{"iso":"MA","name":"Morocco"},{"iso":"MZ","name":"Mozambique"},{"iso":"MM","name":"Myanmar"},{"iso":"NA","name":"Namibia"},{"iso":"NR","name":"Nauru"},{"iso":"NP","name":"Nepal"},{"iso":"NL","name":"Netherlands"},{"iso":"AN","name":"Netherlands Antilles"},{"iso":"NC","name":"New Caledonia"},{"iso":"NZ","name":"New Zealand"},{"iso":"NI","name":"Nicaragua"},{"iso":"NE","name":"Niger"},{"iso":"NG","name":"Nigeria"},{"iso":"NU","name":"Niue"},{"iso":"NF","name":"Norfolk Island"},{"iso":"MP","name":"Northern Mariana Islands"},{"iso":"NO","name":"Norway"},{"iso":"OM","name":"Oman"},{"iso":"PK","name":"Pakistan"},{"iso":"PW","name":"Palau"},{"iso":"PS","name":"Palestinian Territory, Occupied"},{"iso":"PA","name":"Panama"},{"iso":"PG","name":"Papua New Guinea"},{"iso":"PY","name":"Paraguay"},{"iso":"PE","name":"Peru"},{"iso":"PH","name":"Philippines"},{"iso":"PN","name":"Pitcairn"},{"iso":"PL","name":"Poland"},{"iso":"PT","name":"Portugal"},{"iso":"PR","name":"Puerto Rico"},{"iso":"QA","name":"Qatar"},{"iso":"RE","name":"Reunion"},{"iso":"RO","name":"Romania"},{"iso":"RU","name":"Russian Federation"},{"iso":"RW","name":"Rwanda"},{"iso":"SH","name":"Saint Helena"},{"iso":"KN","name":"Saint Kitts and Nevis"},{"iso":"LC","name":"Saint Lucia"},{"iso":"PM","name":"Saint Pierre and Miquelon"},{"iso":"VC","name":"Saint Vincent and the Grenadines"},{"iso":"WS","name":"Samoa"},{"iso":"SM","name":"San Marino"},{"iso":"ST","name":"Sao Tome and Principe"},{"iso":"SA","name":"Saudi Arabia"},{"iso":"SN","name":"Senegal"},{"iso":"CS","name":"Serbia and Montenegro"},{"iso":"SC","name":"Seychelles"},{"iso":"SL","name":"Sierra Leone"},{"iso":"SG","name":"Singapore"},{"iso":"SK","name":"Slovakia"},{"iso":"SI","name":"Slovenia"},{"iso":"SB","name":"Solomon Islands"},{"iso":"SO","name":"Somalia"},{"iso":"ZA","name":"South Africa"},{"iso":"GS","name":"South Georgia & South Sandwich Isl"},{"iso":"ES","name":"Spain"},{"iso":"LK","name":"Sri Lanka"},{"iso":"SD","name":"Sudan"},{"iso":"SR","name":"Suriname"},{"iso":"SJ","name":"Svalbard and Jan Mayen"},{"iso":"SZ","name":"Swaziland"},{"iso":"SE","name":"Sweden"},{"iso":"CH","name":"Switzerland"},{"iso":"SY","name":"Syrian Arab Republic"},{"iso":"TW","name":"Taiwan, Province of China"},{"iso":"TJ","name":"Tajikistan"},{"iso":"TZ","name":"Tanazania"},{"iso":"TH","name":"Thailand"},{"iso":"TL","name":"Timor-Leste"},{"iso":"TG","name":"Togo"},{"iso":"TK","name":"Tokelau"},{"iso":"TO","name":"Tonga"},{"iso":"TT","name":"Trinidad and Tobago"},{"iso":"TN","name":"Tunisia"},{"iso":"TR","name":"Turkey"},{"iso":"TM","name":"Turkmenistan"},{"iso":"TC","name":"Turks and Caicos Islands"},{"iso":"TV","name":"Tuvalu"},{"iso":"UG","name":"Uganda"},{"iso":"UA","name":"Ukraine"},{"iso":"AE","name":"United Arab Emirates"},{"iso":"GB","name":"United Kingdom"},{"iso":"US","name":"United States"},{"iso":"UM","name":"United States Minor Outlying Islands"},{"iso":"UY","name":"Uruguay"},{"iso":"UZ","name":"Uzbekistan"},{"iso":"VU","name":"Vanuatu"},{"iso":"VE","name":"Venezuela"},{"iso":"VN","name":"Viet Nam"},{"iso":"VG","name":"Virgin Islands, British"},{"iso":"VI","name":"Virgin Islands, U.s."},{"iso":"WF","name":"Wallis and Futuna"},{"iso":"EH","name":"Western Sahara"},{"iso":"YE","name":"Yemen"},{"iso":"ZM","name":"Zambia"},{"iso":"ZW","name":"Zimbabwe"}];var bus_industries={"b":{"15":"Accommodation","1":"Art\/Creative","2":"Automotive","4":"Construction","3":"Consulting","6":"Education","5":"Electronics","12":"Entertainment","7":"Financial Services","17":"Government","8":"Health Care","9":"Information Technology","10":"Manufacturing","11":"Marketing","16":"Non-profit","13":"Retail","14":"Services"},"s":{"7":{"50":"Accounting","51":"Banking","53":"Building Society","52":"Credit Union","54":"Holding Company","55":"Insurance","56":"Investment & Funding","57":"Mortgages"},"11":{"110":"Advertising","109":"Affiliate Marketing","111":"Direct Marketing","113":"Industrial","112":"Internet","115":"Public Relations","114":"Research","116":"Strategic Management"},"2":{"16":"Agricultural Machinery","13":"Car Dealers","15":"Car Parts","14":"Garage"},"1":{"1":"Antiques","2":"Costumes","3":"Dance","4":"Design","5":"Education","6":"Graphic Design","7":"Media","8":"Photography","9":"Printing","10":"Theatre","12":"Web Design","11":"Writing"},"9":{"70":"Artificial Intelligence","181":"Biotechnology","166":"Blogs","71":"Data Communications","72":"Directories","73":"E-Commerce","74":"Games","75":"Graphics","76":"Hardware","78":"Internet","79":"Multimedia","80":"Operating Systems Specific","182":"Others","81":"Parallel Computing","82":"Programming","83":"Security","84":"Software","85":"Technical Guides","86":"Telecommunications","87":"Virtual Reality","88":"Web Design","89":"Web Hosting","77":"Website Owners"},"16":{"172":"Associations","170":"Charities","171":"Foundations","173":"Religious Organizations"},"13":{"129":"Auction Houses","177":"Business Parks","131":"Clothing","133":"Department Store","134":"Electrical Shop","135":"Florist","136":"Furnitures","145":"Games & Toys","137":"Gift Shop","138":"Grocery Stores","139":"Jewelers","130":"Newsagents","169":"Outdoors","140":"Photography","141":"Record Shop","142":"Second Hand","143":"Sporting Goods","132":"Textiles","144":"Thrift Shop","146":"Wine & Spirits"},"12":{"119":"Bars & Pubs","117":"Broadcast Media","118":"Fine Art","121":"Fitness","120":"Gambling & Casinos","122":"Leisure & Travel","123":"Libraries","125":"Media Production","124":"Music","126":"Newspapers","168":"Outdoors","128":"Performing Arts","127":"Publishing"},"17":{"175":"Bodies","174":"Councils","176":"Political Parties"},"4":{"26":"Boilers","27":"Bricklaying","28":"Carpentry","29":"Electrical","30":"Elevators","185":"Energy","31":"Insulation","32":"Ironwork","33":"Painting","34":"Plasterers","35":"Plumbing","36":"Roofing","37":"Tiling"},"3":{"17":"Business","18":"Financial Services","19":"Health","21":"Human Resources","22":"Management","20":"Marketing & Sales","183":"Others","23":"Psychological Services","24":"Technical Services","25":"Web Development"},"14":{"178":"Business Parks","147":"Cleaning","186":"Environmental","148":"Event Organization","149":"Food & Beverages","150":"Health & Beauty","156":"Jobs & Careers","151":"Legal","153":"Moving & Storage","184":"Others","154":"Painters","152":"Personal Services","155":"Personal Trainer","159":"Real Estate","157":"Restaurants","160":"Skilled Trades","179":"Translators & Interpreters","158":"Transportation","161":"Tutors"},"15":{"164":"Camping & Caravans","163":"Guest Houses","165":"Hostels","162":"Hotels","167":"Rented Property"},"10":{"91":"Chemical","90":"Clothing","92":"Construction","93":"Electronics","95":"Energy","94":"Engineering","96":"Food & Beverage","97":"Furniture","98":"Glass, Ceramics & Concrete","99":"Industrial Design","101":"Metal Casting","100":"Metalwork","102":"Mining & Metals","103":"Paper & Forest Products","104":"Plastics","105":"Shipbuilding","106":"Telecommunications","107":"Textile","108":"Transportation"},"8":{"58":"Chiropractors","60":"Complementary Therapy","59":"Dentist","61":"Health Services","62":"Nursing","63":"Nutritionist","64":"Optometry","65":"Physical Therapy","66":"Physicians","68":"Social Care Services","67":"Speech Therapists","180":"Technology","69":"Veterinarians"},"5":{"38":"Consumer Electronics","39":"Electronic Components","40":"Electronic Test Equipment","41":"Hardware","43":"Maintenance & Repair","42":"Power Conversion & Supplies"},"6":{"46":"E-Learning","44":"Education Centers","45":"Education Management","47":"Higher Education","48":"Primary\/Secondary","49":"Research"}}};var Menu=Class.create();Menu.prototype={initialize:function(idOrElement,name){this.name=name;this.type="menu";this.closeDelayTimer=null;this.closingMenuItem=null;this.config();this.rootContainer=new MenuContainer(idOrElement,this);},config:function(){this.collapseBorders=true;this.quickCollapse=true;this.closeDelayTime=500;}}
var MenuContainer=Class.create();MenuContainer.prototype={initialize:function(idOrElement,parent){this.type="menuContainer";this.menuItems=[];this.init(idOrElement,parent);},init:function(idOrElement,parent){this.element=$(idOrElement);this.parent=parent;this.parentMenu=(this.type=="menuContainer")?((parent)?parent.parent:null):parent;this.root=parent instanceof Menu?parent:parent.root;this.id=this.element.id;if(this.type=="menuContainer"){if(this.element.hasClassName("level1")){this.menuType="horizontal";}else{if(this.element.hasClassName("level2")){this.menuType="dropdown";}else{this.menuType="flyout";}}
if(this.menuType=="flyout"||this.menuType=="dropdown"){this.isOpen=false;Element.setStyle(this.element,{position:"absolute",top:"0px",left:"0px",visibility:"hidden"});}else{this.isOpen=true;}}else{this.isOpen=this.parentMenu.isOpen;}
var childNodes=this.element.childNodes;if(childNodes==null){return;}
for(var i=0;i<childNodes.length;i++){var node=childNodes[i];if(node.nodeType==1){if(this.type=="menuContainer"){if(node.tagName.toLowerCase()=="li"){this.menuItems.push(new MenuItem(node,this));}}else{if(node.tagName.toLowerCase()=="ul"){this.subMenu=new MenuContainer(node,this);}}}}},getBorders:function(element){var ltrb=["Left","Top","Right","Bottom"];var result={};for(var i=0;i<ltrb.length;++i){if(this.element.currentStyle){var value=parseInt(this.element.currentStyle["border"+ltrb[i]+"Width"]);}else{if(window.getComputedStyle){var value=parseInt(window.getComputedStyle(this.element,"").getPropertyValue("border-"+ltrb[i].toLowerCase()+"-width"));}else{var value=parseInt(this.element.style["border"+ltrb[i]]);}}
result[ltrb[i].toLowerCase()]=isNaN(value)?0:value;}
return result;},open:function(){if(this.root.closeDelayTimer){window.clearTimeout(this.root.closeDelayTimer);}
this.parentMenu.closeAll(this);this.isOpen=true;if(this.menuType=="dropdown"){Element.setStyle(this.element,{left:(Position.positionedOffset(this.parent.element)[0])+"px",top:(Position.positionedOffset(this.parent.element)[1]+Element.getHeight(this.parent.element))+"px"});}else{if(this.menuType=="flyout"){var parentMenuBorders=this.parentMenu?this.parentMenu.getBorders():new Object();var thisBorders=this.getBorders();if((Position.positionedOffset(this.parentMenu.element)[0]+this.parentMenu.element.offsetWidth+this.element.offsetWidth+20)>(window.innerWidth?window.innerWidth:document.body.offsetWidth)){Element.setStyle(this.element,{left:(-this.element.offsetWidth-(this.root.collapseBorders?0:parentMenuBorders["left"]))+"px"});}else{Element.setStyle(this.element,{left:(this.parentMenu.element.offsetWidth-parentMenuBorders["left"]-(this.root.collapseBorders?Math.min(parentMenuBorders["right"],thisBorders["left"]):0))+"px"});}
Element.setStyle(this.element,{top:(this.parent.element.offsetTop-parentMenuBorders["top"]-this.menuItems[0].element.offsetTop)+"px"});}}
Element.setStyle(this.element,{visibility:"visible"});},close:function(){Element.setStyle(this.element,{visibility:"hidden"});this.isOpen=false;this.closeAll();},closeAll:function(trigger){for(var i=0;i<this.menuItems.length;++i){this.menuItems[i].closeItem(trigger);}}}
var MenuItem=Class.create();Object.extend(Object.extend(MenuItem.prototype,MenuContainer.prototype),{initialize:function(idOrElement,parent){var menuItem=this;this.type="menuItem";this.subMenu;this.init(idOrElement,parent);if(this.subMenu){this.element.onmouseover=function(){menuItem.subMenu.open();}}else{if(this.root.quickCollapse){this.element.onmouseover=function(){menuItem.parentMenu.closeAll();}}}
var linkTag=this.element.getElementsByTagName('a')[0];if(linkTag){linkTag.onfocus=this.element.onmouseover;this.link=linkTag;this.text=linkTag.text;}
if(this.subMenu){this.element.onmouseout=function(){if(menuItem.root.openDelayTimer){window.clearTimeout(menuItem.root.openDelayTimer);}
if(menuItem.root.closeDelayTimer){window.clearTimeout(menuItem.root.closeDelayTimer);}
eval(menuItem.root.name+".closingMenuItem = menuItem");menuItem.root.closeDelayTimer=window.setTimeout(menuItem.root.name+".closingMenuItem.subMenu.close()",menuItem.root.closeDelayTime);}}},openItem:function(){this.isOpen=true;if(this.subMenu){this.subMenu.open();}},closeItem:function(trigger){this.isOpen=false;if(this.subMenu){if(this.subMenu!=trigger){this.subMenu.close();}}}});var lt_top_menu;Event.observe(window,'load',function(){if($('top_menu_area')){lt_top_menu=new Menu('leftmenu','lt_top_menu');}});Object.extend(Element.Methods,{funnyScrollTo:function(element,scroll_down){element=$(element);var pos=element.cumulativeOffset();var pscroll=getPageScroll();var curr_pos=pscroll[1];new PeriodicalExecuter(function(pe){window.scrollTo(pos[0],curr_pos);if((scroll_down&&pos[1]<=curr_pos)||(!scroll_down&&pos[1]>=curr_pos)){pe.stop();}
if(!scroll_down){curr_pos-=30;}else{curr_pos+=30;}},0.01);return element;}});Element.addMethods();Element.addMethods({appendText:function(el,text){var txt=document.createTextNode(text);el.appendChild(txt);}});function __d(){}
function convertToHTMLEntities(txt,revert){var tr={'&':'&amp;','>':'&gt;','<':'&lt;',"\\'":'&apos;','"':'&quot;'};$H(tr).each(function(orig,k){eval(buildFunction('txt = txt.replace',['/'+(!revert?orig[0]:orig[1])+'/gi',"'"+(!revert?orig[1]:orig[0])+"'"]));});return txt;}
function getPageScroll(){var yScroll;if(self.pageYOffset){yScroll=self.pageYOffset;}else if(document.documentElement&&document.documentElement.scrollTop){yScroll=document.documentElement.scrollTop;}else if(document.body){yScroll=document.body.scrollTop;}
arrayPageScroll=new Array('',yScroll)
return arrayPageScroll;}
function generalInfoTooltip(el_id,content,position){return new LT_Tooltip($(el_id),content,{onShowEvent:'mouseover',onHideEvent:'mouseout',followMouse:true,hookPosition:position,tooltipClass:'tooltip'});}
function buildFunction(f,args){if(!args){args=[];}
var to_call_str=f+'(';var args_cnt=args.size();if(args_cnt>0){if(args_cnt==1){to_call_str+=args[0];}else{var last_arg_key=args_cnt-1;args.each(function(arg,k){to_call_str+=arg;if(k!=last_arg_key){to_call_str+=',';}});}}
return to_call_str+=')';}
function escapeUTF8(data){if(data==''||data==null){return'';}
var buffer='';for(var i=0;i<data.length;i++){var c=data.charCodeAt(i);var bs=new Array();if(c>0x10000){bs[0]=0xF0|((c&0x1C0000)>>>18);bs[1]=0x80|((c&0x3F000)>>>12);bs[2]=0x80|((c&0xFC0)>>>6);bs[3]=0x80|(c&0x3F);}else if(c>0x800){bs[0]=0xE0|((c&0xF000)>>>12);bs[1]=0x80|((c&0xFC0)>>>6);bs[2]=0x80|(c&0x3F);}else if(c>0x80){bs[0]=0xC0|((c&0x7C0)>>>6);bs[1]=0x80|(c&0x3F);}else{bs[0]=c;}
for(var j=0;j<bs.length;j++){var b=bs[j];var hex=nibble2Hex((b&0xF0)>>>4)+nibble2Hex(b&0x0F);buffer+='%'+hex;}}
return buffer;}
function nibble2Hex(nibble){var chars='0123456789ABCDEF';return chars.charAt(nibble);}
function ucfirst(str){var f=str.charAt(0).toUpperCase();return f+str.substr(1,str.length-1);}
function deleteOK(){return confirm(i18n_msgs.del_item_question);}
function dehighlightRow(row){var rclass=row.className;var old_class_name=rclass.replace(/(\s?highlight)+$/i,"");row.className=old_class_name;}
function highlightRow(row){var rclass=row.className;if(rclass){rclass+=' highlight'}else{rclass=' highlight'}
row.className=rclass;}
function createModalWindowCancelButton(cancel_text,callback_function){var cbutt=new Element('input',{id:'modal_cancel_butt',type:'button',value:(!cancel_text?i18n_msgs.cancel_action:cancel_text),'class':'sbutt'});cbutt.onclick=function(){hideModalLightbox();if(callback_function){window[callback_function]();}}
return cbutt;}
function createParagraphedTextField(new_field_id,field_desc,textarea,width,float_left,height,is_password){var para=new Element('p');if(float_left){para.setStyle({'float':'left',paddingRight:'10px'});}
var label=new Element('label',{'for':new_field_id}).update(field_desc);para.appendChild(label);para.appendChild(document.createElement('br'));var fld;if(textarea){fld=new Element('textarea',{'id':new_field_id}).setStyle({width:(width?width+'px':'300px'),height:(height?height+'px':'100px')});}else{fld=new Element('input',{'type':(!is_password?'text':'password'),'id':new_field_id,'name':new_field_id}).setStyle({width:(width?width+'px':'250px')});}
para.appendChild(fld);return para;}
function loadFriendsInviteForm(){loadDynamicJS(LT_home_path+'serve/js/'+lt_ac_dvs+'/friends_invite.js',function(){showFriendsInviterWindow();});}
function showNewNetworkForm(){loadDynamicJS(LT_home_path+'serve/js/'+lt_ac_dvs+'/industries_utility.js',function(){loadDynamicJS(LT_home_path+'serve/js/a/'+lt_ac_dvs+'/networks_utility.js',function(){addNewNetwork();});});}
Event.observe(window,'load',function(){if($('friends_inviter_link')){Event.observe($('friends_inviter_link'),'click',loadFriendsInviteForm);}
if($('share_acc_manager')){Event.observe($('share_acc_manager'),'click',function(){loadDynamicJS(LT_home_path+'serve/js/a/'+lt_ac_dvs+'/account_manager.js',function(){showAccountManagerInviteForm();});});}
if($('logo_acc_man')){generalInfoTooltip('logo','<div style="width: 250px; font-size: 11px;"><p style="margin-bottom: 10px;"><strong>The Loopthing Account Manager</strong></p><p style="margin-bottom: 7px;">The "account manager" text attached to the Loopthing logo indicates that you are logged in as an account manager for a different company.</p><p>Click the Loopthing logo at any time to control which third party profile you are currently managing, or to switch back to your real profile.</p></div>','top-middle');}
FixPNGsInIE();});function FixPNGsInIE(){if(!Prototype.Browser.IE){return;}
var version=parseFloat(navigator.appVersion.split('MSIE')[1]);if((version>=5.5)&&(version<7)&&(document.body.filters)){document.getElementsByClassName('ie-fix-opacity').each(function(poElement){var imgdim=poElement.getDimensions();poElement.style.width=imgdim.width;poElement.style.height=imgdim.height;poElement.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+poElement.src+"', sizingMethod='scale')";poElement.src=cssprite_srv+'images/'+lt_ac_dvs+'/i.gif';});}}
function loadDynamicJS(file_path,onload_callback){if(SSL_ON){file_path=file_path.gsub(/http\:/,'https:');}else{file_path=file_path.gsub(/https\:/,'http:');}
new Ajax.Request(file_path+(LT.js_no_cache?'?c='+Math.random()*1000000:''),{method:'get',onSuccess:function(transport){var scid=('js_'+Math.random()*1000000).gsub(/\.[^$]+$/,'');var head=document.getElementsByTagName("head")[0];var scr=new Element('script',{type:'text/javascript',id:scid});head.appendChild(scr);if(Prototype.Browser.IE||Prototype.Browser.WebKit||Prototype.Browser.Opera){scr.text=transport.responseText;}else{scr.innerHTML=transport.responseText;}
if(typeof onload_callback=='undefined'){return;}
onload_callback();}});}
function loadDynamicCSS(file_path,onload_callback){if(SSL_ON){file_path=file_path.gsub(/http\:/,'https:');}else{file_path=file_path.gsub(/https\:/,'http:');}
var css_tag=new Element('link',{rel:'stylesheet',type:'text/css',href:file_path+(LT.js_no_cache?'?c='+Math.random()*1000000:''),media:'screen'});var head=document.getElementsByTagName("head")[0];head.appendChild(css_tag);if(typeof onload_callback=='undefined'){return;}
onload_callback();}
function populateCountriesSelect(select_id,default_selection){var o=new Element('option',{value:0}).update('Select teritory...');$(select_id).appendChild(o);bus_countries.each(function(s){var o=new Element('option',{value:s.iso}).update(s.name);if(default_selection==s.iso){o.setAttribute('selected','selected');}
$(select_id).appendChild(o);});}
function ignoreUser(user_ID){if(confirm('Are you sure you want to add this user to your ignored users list?')){var aind;var aind_id='ignadd_ldr';var ignore_link=$('ignore_user_link');if(!$(aind_id)){var limg=new Image();limg.src=cssprite_srv+'images/'+lt_ac_dvs+'/ajax-loader.gif';aind=new Element('p',{id:aind_id});aind.appendChild(limg);ignore_link.insert({'after':aind});ignore_link.hide();}else{aind=$(aind_id);aind.show();}
new Ajax.Request('/ignore_list/add/'+user_ID+'/?c='+Math.random()*1000000,{method:'post',parameters:{a_tkn:LT.action_token},onSuccess:function(transport){var json=transport.responseText.evalJSON(true);if(json.ok){aind.hide();ignore_link.show();var ignore_a=ignore_link.down('a');ignore_a.remove();var ignore_ok=new Element('span').setStyle({color:'#c0c0c0'}).update('User is now ignored.');ignore_link.appendChild(ignore_ok);}else{if(json.error){aind.hide();ignore_link.show();alert(json.error);}}}});}}
function discardUserTip(tip_id){if(!LT.logged_in){showLoginForm();return;}
$('utb_closebutt').innerHTML='Please wait...';$('utb_closebutt').onclick=function(){};new Ajax.Request('/tips/discard/?cache='+Math.random()*1000000,{method:'post',parameters:{a_tkn:LT.action_token,who:tip_id},onSuccess:function(transport){$('user_tip_box').hide();var json=transport.responseText.evalJSON(true);if(json&&json.error){alert(json.error);}}});}
function flagUser(user_id){if(!LT.logged_in){showLoginForm();return;}
var aind;var aind_name='flg_ldr';if(!$(aind_name)){aind=new Element('p',{id:aind_name});var limg=new Image();limg.src=cssprite_srv+'images/'+lt_ac_dvs+'/ajax-loader.gif';aind.appendChild(limg);$('flag_link').insert({'after':aind});}else{aind=$(aind_name);aind.show();}
$('flag_link').hide();new Ajax.Request('/flag/user/'+user_id+'/?a_tkn='+LT.action_token+'&cache='+Math.random()*1000000,{method:'get',onSuccess:function(transport){var json=transport.responseText.evalJSON(true);if(json.ok){aind.hide();$('flag_link').show();$('flag_link').down('a').remove();$('flag_link').setStyle({color:'#c0c0c0'});$('flag_link').appendText('Flagging saved');}else{if(json.error){$('flag_link').show();aind.hide();alert(json.error);}}}});}
function sendNetworkJoinInvitation(network_id){var butts=$('sub_p');var aind;var aind_name='netwrok_join_aind';if(!$(aind_name)){var limg=new Image();limg.src=cssprite_srv+'images/'+lt_ac_dvs+'/ajax-loader.gif';aind=new Element('p',{'id':aind_name});aind.appendChild(limg);butts.insert({'after':aind});}else{aind=$(aind_name);aind.show();}
butts.hide();$('network_inv_sel').disable();new Ajax.Request('/networks/join/invite/?cache='+Math.random()*1000000,{method:'post',parameters:{a_tkn:LT.action_token,org_id:network_id,inv_user_id:item_pub_ID},onSuccess:function(transport){var json=transport.responseText.evalJSON(true);if(json.ok){hideModalLightbox();alert(json.ok);}else{if(json.error){$('network_inv_sel').enable();aind.hide();butts.show();alert(json.error);$('network_inv_sel').focus();}}}});}
function showNetworkInviteForm(user_id){if(!LT.logged_in){showLoginForm();return;}
if(typeof claimable_bus!='undefined'&&claimable_bus){alert('This business is not accepting network invites at the moment because nobody is managing this profile. If you know any people from the management of this business, why not ask them to manage their profile?');return;}
var aind;var aind_name='net_join_ldr';var invt_link=$('network_invite_link');if(!$(aind_name)){aind=new Element('p',{id:aind_name});aind.style.height='24px';aind.style.padding='0';aind.style.margin='0';var limg=new Image();limg.src=cssprite_srv+'images/'+lt_ac_dvs+'/ajax-loader.gif';aind.appendChild(limg);invt_link.insert({'after':aind});}else{aind=$(aind_name);aind.show();}
invt_link.hide();new Ajax.Request('/fetch/manager/networks/?cache='+Math.random()*1000000,{method:'post',parameters:{a_tkn:LT.action_token},onSuccess:function(transport){var json=transport.responseText.evalJSON(true);if(json.ok){if(json.ok.size()==0){invt_link.show();aind.hide();alert('You need to create at least one network in order to invite users to join it.');return;}
aind.hide();invt_link.show();var holder=new Element('div').setStyle({width:'500px'});holder.appendChild(new Element('h1').update('Networks inviter'));var info_holder=new Element('p').update('Please select the network where you want this user to be invited from the list below.');holder.appendChild(info_holder);var select_h=new Element('select',{id:'network_inv_sel'});json.ok.each(function(n){var opt=new Element('option',{value:n['ID']}).update(n['title']);select_h.appendChild(opt);});var nlist_h=new Element('p').update('Network:');nlist_h.appendChild(new Element('br'));nlist_h.appendChild(select_h);holder.appendChild(nlist_h);var sub_p=new Element('p',{id:'sub_p'});var sbutt=new Element('input',{type:'button',value:'Send invitation',className:'sbutt'});Event.observe(sbutt,"click",function(){sendNetworkJoinInvitation(select_h.value);});sub_p.appendChild(sbutt);sub_p.appendText(' ');sub_p.appendChild(createModalWindowCancelButton());holder.appendChild(sub_p);showModalLightbox(holder);select_h.focus();}else{if(json.error){invt_link.show();aind.hide();alert(json.error);}}}});}
function prepareEmployeeInvitationForm(){loadDynamicJS(LT_home_path+'serve/js/a/'+lt_ac_dvs+'/employee_utility.js',function(){showEmployeesInvitationForm();});}
function uploadServersIndicatorPreload(){var upsrvnew=new Image();upsrvnew.src='http://upload1.loopthing.com/ajax-loader.gif';}
var LT_Pop={open:function(options){this.options={url:'#',width:600,height:500,name:"_blank",location:"no",menubar:"no",toolbar:"no",status:"yes",scrollbars:"yes",resizable:"yes",left:"",top:"",normal:false}
Object.extend(this.options,options||{});if(this.options.normal){this.options.menubar="yes";this.options.status="yes";this.options.toolbar="yes";this.options.location="yes";}
this.options.width=this.options.width<screen.availWidth?this.options.width:screen.availWidth;this.options.height=this.options.height<screen.availHeight?this.options.height:screen.availHeight;var openoptions='width='+this.options.width+',height='+this.options.height+',location='+this.options.location+',menubar='+this.options.menubar+',toolbar='+this.options.toolbar+',scrollbars='+this.options.scrollbars+',resizable='+this.options.resizable+',status='+this.options.status
if(this.options.top!=""){openoptions+=",top="+this.options.top;}else{openoptions+=",top="+parseInt((parseInt(screen.height)/2)-(parseInt(this.options.height)/2));}
if(this.options.left!=""){openoptions+=",left="+this.options.left;}else{openoptions+=",left="+parseInt((parseInt(screen.width)/2)-(parseInt(this.options.width)/2));}
window.open(this.options.url,this.options.name,openoptions);return false;}}
function showLoginForm(redir_url,message){if(LT.logged_in){alert('You are already logged in.');return false;}
var holder=new Element('div').setStyle({width:'500px'});holder.appendChild(new Element('h1').update('Members log in'));var lp=new Element('p').update((message?message:'Please enter your login information in order to access the private features of our website.'));holder.appendChild(lp);var lform=new Element('form',{action:'https://'+LT_hostname+'/login/',method:"post"});if(!redir_url){var r1=new RegExp('^https?://(www\.)?[a-zA-Z-.]+','i');var nd_url=location.href.replace(r1,'');redir_url=Base64.encode(nd_url)}
var rlnk=new Element('input',{'type':'hidden','name':'pr','value':redir_url});lform.appendChild(rlnk);var l_em=createParagraphedTextField('l_email','Email address:',false,200);lform.appendChild(l_em);var l_pw=createParagraphedTextField('l_pass','Password:',false,200,false,false,true);lform.appendChild(l_pw);var lnks=new Element('p');var regl=new Element('a',{className:'uline',href:'/register/'}).update("Don't have an account yet?");regl.setStyle({textDecoration:'none',borderBottom:'1px dotted #108eed'});lnks.appendChild(regl);lnks.appendText(' ');var nl=new Element('br');lnks.appendChild(nl);lnks.appendText(' ');var pwfrgt=new Element('a',{className:'uline',href:'/password_reset/'}).update("Forgot your password?");pwfrgt.setStyle({textDecoration:'none',borderBottom:'1px dotted #108eed'});lnks.appendChild(pwfrgt);lform.appendChild(lnks);var sub_p=new Element('p');var subb=new Element('input',{'type':'submit','name':'l_submit',className:'sbutt','value':'Log in!'});sub_p.appendChild(subb);sub_p.appendText(' ');sub_p.appendChild(createModalWindowCancelButton());lform.appendChild(sub_p);holder.appendChild(lform);showModalLightbox(holder);$('l_email').focus();return false;}
var Base64={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode:function(input){var output="";var chr1,chr2,chr3,enc1,enc2,enc3,enc4;var i=0;input=Base64._utf8_encode(input);while(i<input.length){chr1=input.charCodeAt(i++);chr2=input.charCodeAt(i++);chr3=input.charCodeAt(i++);enc1=chr1>>2;enc2=((chr1&3)<<4)|(chr2>>4);enc3=((chr2&15)<<2)|(chr3>>6);enc4=chr3&63;if(isNaN(chr2)){enc3=enc4=64;}else if(isNaN(chr3)){enc4=64;}
output=output+
this._keyStr.charAt(enc1)+this._keyStr.charAt(enc2)+
this._keyStr.charAt(enc3)+this._keyStr.charAt(enc4);}
return output;},decode:function(input){var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");while(i<input.length){enc1=this._keyStr.indexOf(input.charAt(i++));enc2=this._keyStr.indexOf(input.charAt(i++));enc3=this._keyStr.indexOf(input.charAt(i++));enc4=this._keyStr.indexOf(input.charAt(i++));chr1=(enc1<<2)|(enc2>>4);chr2=((enc2&15)<<4)|(enc3>>2);chr3=((enc3&3)<<6)|enc4;output=output+String.fromCharCode(chr1);if(enc3!=64){output=output+String.fromCharCode(chr2);}
if(enc4!=64){output=output+String.fromCharCode(chr3);}}
output=Base64._utf8_decode(output);return output;},_utf8_encode:function(string){string=string.replace(/\r\n/g,"\n");var utftext="";for(var n=0;n<string.length;n++){var c=string.charCodeAt(n);if(c<128){utftext+=String.fromCharCode(c);}
else if((c>127)&&(c<2048)){utftext+=String.fromCharCode((c>>6)|192);utftext+=String.fromCharCode((c&63)|128);}
else{utftext+=String.fromCharCode((c>>12)|224);utftext+=String.fromCharCode(((c>>6)&63)|128);utftext+=String.fromCharCode((c&63)|128);}}
return utftext;},_utf8_decode:function(utftext){var string="";var i=0;var c=c1=c2=0;while(i<utftext.length){c=utftext.charCodeAt(i);if(c<128){string+=String.fromCharCode(c);i++;}
else if((c>191)&&(c<224)){c2=utftext.charCodeAt(i+1);string+=String.fromCharCode(((c&31)<<6)|(c2&63));i+=2;}
else{c2=utftext.charCodeAt(i+1);c3=utftext.charCodeAt(i+2);string+=String.fromCharCode(((c&15)<<12)|((c2&63)<<6)|(c3&63));i+=3;}}
return string;}}
var loadingImage=cssprite_srv+'images/'+lt_ac_dvs+'/ajax-loader.gif';function getPageSize(){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;}
if(yScroll<windowHeight){pageHeight=windowHeight;}else{pageHeight=yScroll;}
if(xScroll<windowWidth){pageWidth=windowWidth;}else{pageWidth=xScroll;}
arrayPageSize=new Array(pageWidth,pageHeight,windowWidth,windowHeight)
return arrayPageSize;}
function hideModalLightbox(){var lb_area=$('modal_overlay');var objLightbox=$('modal_lightbox');lb_area.style.display='none';objLightbox.style.display='none';var select_tags=$$('select');select_tags.each(function(stag,key){select_tags[key].style.visibility='visible';});document.onkeypress='';}
function initModalLightbox(){var objBody=document.getElementsByTagName('body').item(0);var lb_area=new Element('div',{id:'modal_overlay'}).setStyle({display:'none',position:'absolute',top:0,left:0,zIndex:90,width:'100%'});lb_area.onclick=function(){return false;}
objBody.insertBefore(lb_area,objBody.firstChild);var arrayPageSize=getPageSize();var arrayPageScroll=getPageScroll();var imgPreloader=new Image();imgPreloader.onload=function(){var status_ind_link=document.createElement('a');status_ind_link.setAttribute('href','#');status_ind_link.onclick=function(){hideModalLightbox();return false;}
lb_area.appendChild(status_ind_link);var status_ind=document.createElement('img');status_ind.src=loadingImage;status_ind.setAttribute('id','modal_loadingImage');status_ind.style.position='absolute';status_ind.style.zIndex='150';status_ind_link.appendChild(status_ind);imgPreloader.onload=function(){};return false;}
imgPreloader.src=loadingImage;var objLightbox=new Element('div',{id:'modal_lightbox'}).setStyle({display:'none',position:'absolute',zIndex:100});objBody.insertBefore(objLightbox,lb_area.nextSibling);var modal_body=new Element('span').setStyle({display:'block'});modal_body.setAttribute('id','modal_lightbox_body');objLightbox.appendChild(modal_body);}
function showModalLightbox(html_src,not_strict){var lb_area=$('modal_overlay');if(not_strict){lb_area.onclick=function(){hideModalLightbox();}}
var objLightbox=$('modal_lightbox');var modal_box=$('modal_lightbox_body');var status_ind=$('modal_loadingImage');var arrayPageSize=getPageSize();var arrayPageScroll=getPageScroll();if(status_ind){status_ind.style.top=(arrayPageScroll[1]+((arrayPageSize[3]-35-status_ind.height)/2)+'px');status_ind.style.left=(((arrayPageSize[0]-20-status_ind.width)/2)+'px');status_ind.style.display='block';}
lb_area.style.height=(arrayPageSize[1]+'px');lb_area.style.display='block';objLightbox.style.display='block';modal_box.innerHTML='';modal_box.appendChild(html_src);var lb_dimensions=modal_box.getDimensions();var lightboxTop=arrayPageScroll[1]+((arrayPageSize[3]-35-lb_dimensions.height)/2);var lightboxLeft=((arrayPageSize[0]-20-lb_dimensions.width)/2);objLightbox.style.top=(lightboxTop<0)?'0px':lightboxTop+'px';objLightbox.style.left=(lightboxLeft<0)?'0px':lightboxLeft+'px';if(status_ind){status_ind.style.display='none';}
var select_tags=$$('select');select_tags.each(function(stag,key){select_tags[key].style.visibility='hidden';});arrayPageSize=getPageSize();lb_area.style.height=(arrayPageSize[1]+'px');var hidden_selects=$A($$('#modal_lightbox select'));if(hidden_selects.length>0){hidden_selects.each(function(sel,key){hidden_selects[key].style.visibility='visible';});}}
function adjustModalWindowBGHeight(){arrayPageSize=getPageSize();if(parseInt($('modal_overlay').style.height)<=arrayPageSize[1]){$('modal_overlay').style.height=arrayPageSize[1]+'px';$('modal_overlay').style.paddingBottom='20px';}}
Event.observe(window,'load',function(){initModalLightbox();});var LT_Tooltip=Class.create();LT_Tooltip.prototype={element:null,content:'',tooltipHolder:null,option:null,ttTouched:false,elTouched:false,initialize:function(element,content,options){this.grabDefaultOptions();if(!options){options={};}
this.element=element;this.content='';this.content=content;if($H(options).size()>0){if(options.attachedToElement){this.option.attachedToElement=options.attachedToElement;}
if(options.onShowEvent){this.option.onShowEvent=options.onShowEvent;}
if(options.onHideEvent){this.option.onHideEvent=options.onHideEvent;}
if(options.followMouse){this.option.followMouse=true;}
if(options.tooltipClass){this.option.tooltipClass=options.tooltipClass;}
if(options.showDelay){this.option.showDelay=options.showDelay;}
if(options.hideDelay){this.option.hideDelay=options.hideDelay;}
if(options.hookPosition){this.option.hookPosition=options.hookPosition;}
if(options.offset){if(options.offset.x){this.option.offset.x=options.offset.x;}
if(options.offset.y){this.option.offset.y=options.offset.y;}}
if(options.fadeIn){this.option.fadeIn=true;}
if(options.fadeOut){this.option.fadeOut=true;}
if(options.onLoad){this.option.onLoad=options.onLoad;}
if(options.touchable){this.option.touchable=options.touchable;if(!this.option.hideDelay){this.option.hideDelay=0.3;}}}
this.attachEvents();},grabDefaultOptions:function(){this.option={attachedToElement:null,followMouse:false,touchable:false,onShowEvent:null,offset:{x:0,y:0},onHideEvent:null,hookPosition:'top-middle',tooltipClass:'',fadeIn:false,fadeOut:false,onLoad:null,showDelay:0,hideDelay:0};},show:function(event){this.elTouched=true;this.ttTouched=false;if($(this.element.id+'_tt')){this.tooltipHolder=$(this.element.id+'_tt');if(this.option.fadeOut){this.setOpacity(10);}}else{this.tooltipHolder=new Element('div',{className:(this.option.tooltipClass?this.option.tooltipClass:''),id:this.element.id+'_tt'});var objBody;if(this.option.attachedToElement){objBody=this.option.attachedToElement;objBody.style.position='relative';objBody.style.zIndex=15;}else{objBody=document.getElementsByTagName('body').item(0);}
objBody.appendChild(this.tooltipHolder);this.tooltipHolder.setStyle({position:'absolute',zIndex:20,display:'none'});this.tooltipHolder.update(this.content);if(this.option.fadeIn){this.setOpacity(0);}}
if(!this.option.followMouse){this.positionStaticTooltip();}else{this.setTooltipPosition(Event.pointerX(event),Event.pointerY(event));}
if(!this.option.showDelay){this.tooltipHolder.show();if(this.option.fadeIn){this.fadeInShow();}}else{var thisC=this;new PeriodicalExecuter(function(pe){thisC.tooltipHolder.show();if(thisC.option.fadeIn){thisC.fadeInShow();}
pe.stop();},this.option.showDelay);}
if(this.option.onLoad!==null){this.option.onLoad();}
if(this.option.touchable){this.attachTouchableEvent();}},fadeInShow:function(){var i=0;var thisC=this;new PeriodicalExecuter(function(pe){if(++i>10){pe.stop();}else{thisC.setOpacity(i);}},0.03);},hide:function(event){if(!this.option.hideDelay){if(this.option.fadeOut){this.fadeOutHide();}else{this.nonFadeOutHide()}}else{var thisC=this;new PeriodicalExecuter(function(pe){if(!thisC.ttTouched&&!thisC.elTouched){if(thisC.option.fadeOut){thisC.fadeOutHide();}else{thisC.nonFadeOutHide();}}
pe.stop();},this.option.hideDelay);}
this.elTouched=false;},fadeOutHide:function(){var i=10;var thisC=this;new PeriodicalExecuter(function(pe){if(--i<0){thisC.tooltipHolder.hide();pe.stop();}else{thisC.setOpacity(i);}},0.03);},nonFadeOutHide:function(){if(this.option.fadeIn){this.setOpacity(0);}
if(typeof this.tooltipHolder!='undefined'&&this.tooltipHolder){this.tooltipHolder.hide();}},followMouse:function(event){this.setTooltipPosition(Event.pointerX(event),Event.pointerY(event));},positionStaticTooltip:function(){var element_position=this.element.cumulativeOffset();var element_dimmensions=this.element.getDimensions();var tt_dimmensions=this.tooltipHolder.getDimensions();var x_pos,y_pos;var hookSplit=this.option.hookPosition.split('-');if(hookSplit.size()!=2){x_pos=element_position[0]-parseInt(element_dimmensions.width/2);y_pos=element_position[1]-element_dimmensions.height;}else{switch(hookSplit[1]){case'left':if(hookSplit[0]=='middle'){x_pos=element_position[0]-tt_dimmensions.width;}else{x_pos=element_position[0]-parseInt(tt_dimmensions.width/2);}
break;case'right':if(hookSplit[0]=='middle'){x_pos=element_position[0]+element_dimmensions.width;}else{x_pos=element_position[0]+element_dimmensions.width-parseInt(tt_dimmensions.width/2);}
break;case'middle':if(this.option.attachedToElement){x_pos=parseInt(element_dimmensions.width/2-tt_dimmensions.width/2);}else{x_pos=element_position[0]+parseInt(element_dimmensions.width/2-tt_dimmensions.width/2);}
break;default:x_pos=element_position[0]-parseInt(element_dimmensions.width/2);}
switch(hookSplit[0]){case'top':if(this.option.attachedToElement){y_pos=0-tt_dimmensions.height;}else{y_pos=element_position[1]-tt_dimmensions.height;}
break;case'bottom':y_pos=element_position[1]+element_dimmensions.height;break;case'middle':y_pos=element_position[1]+parseInt(element_dimmensions.height/2-tt_dimmensions.height/2);break;default:y_pos=element_position[1]-element_dimmensions.height;}}
this.setTooltipPosition(x_pos,y_pos);},setTooltipPosition:function(x_pos,y_pos){if(!this.tooltipHolder){return;}
if(this.option.followMouse){x_pos+=13;y_pos+=13;}
if(this.option.offset.x){x_pos+=this.option.offset.x;}
if(this.option.offset.y){y_pos+=this.option.offset.y;}
this.tooltipHolder.setStyle({top:y_pos+'px',left:x_pos+'px'});},changeTouchObserverStatus:function(event,touched){this.ttTouched=touched;if(!this.ttTouched){this.hide();}else{this.elTouched=false;}},attachTouchableEvent:function(){Event.observe(this.tooltipHolder,'mouseover',this.changeTouchObserverStatus.bindAsEventListener(this,true));Event.observe(this.tooltipHolder,'mouseout',this.changeTouchObserverStatus.bindAsEventListener(this,false));},attachEvents:function(){if(this.option.onShowEvent){Event.observe(this.element,this.option.onShowEvent,this.show.bindAsEventListener(this));}else{this.show();}
if(this.option.onHideEvent){Event.observe(this.element,this.option.onHideEvent,this.hide.bindAsEventListener(this));}
if(this.option.followMouse){Event.observe(this.element,'mousemove',this.followMouse.bindAsEventListener(this));}},setOpacity:function(value){this.tooltipHolder.setStyle({opacity:(value/10),filter:'alpha(opacity='+(value*10)+')'});}}