// accordion.js v2.0
//
// Copyright (c) 2007 stickmanlabs
// Author: Kevin P Miller | http://www.stickmanlabs.com
// 
// Accordion is freely distributable under the terms of an MIT-style license.
//
// I don't care what you think about the file size...
//   Be a pro: 
//	    http://www.thinkvitamin.com/features/webapps/serving-javascript-fast
//      http://rakaz.nl/item/make_your_pages_load_faster_by_combining_and_compressing_javascript_and_css_files
//

/*-----------------------------------------------------------------------------------------------*/

if (typeof Effect == 'undefined') 
	throw("accordion.js requires including script.aculo.us' effects.js library!");

var accordion = Class.create();
accordion.prototype = {

	//
	//  Setup the Variables
	//
	showAccordion : null,
	currentAccordion : null,
	duration : null,
	effects : [],
	animating : false,
	
	//  
	//  Initialize the accordions
	//
	initialize: function(container, options) {
	  if (!$(container)) {
	    throw(container+" doesn't exist!");
	    return false;
	  }
	  
		this.options = Object.extend({
			resizeSpeed : 8,
			classNames : {
				toggle : 'accordion_toggle',
				toggleActive : 'accordion_toggle_active',
				content : 'accordion_content'
			},
			defaultSize : {
				height : null,
				width : null
			},
			direction : 'vertical',
			onEvent : 'click'
		}, options || {});
		
		this.duration = ((11-this.options.resizeSpeed)*0.15);

		var accordions = $$('#'+container+' .'+this.options.classNames.toggle);
		accordions.each(function(accordion) {
			Event.observe(accordion, this.options.onEvent, this.activate.bind(this, accordion), false);
			if (this.options.onEvent == 'click') {
			  accordion.onclick = function() {return false;};
			}
			
			if (this.options.direction == 'horizontal') {
				var options = $H({width: '0px'});
			} else {
				var options = $H({height: '0px'});			
			}
			options.merge({display: 'none'});			
			
			this.currentAccordion = $(accordion.next(0)).setStyle(options);			
		}.bind(this));
	},
	
	//
	//  Activate an accordion
	//
	activate : function(accordion) {
		if (this.animating) {
			return false;
		}
		
		this.effects = [];
	
		this.currentAccordion = $(accordion.next(0));
		this.currentAccordion.setStyle({
			display: 'block'
		});		
		
		this.currentAccordion.previous(0).addClassName(this.options.classNames.toggleActive);

		if (this.options.direction == 'horizontal') {
			this.scaling = $H({
				scaleX: true,
				scaleY: false
			});
		} else {
			this.scaling = $H({
				scaleX: false,
				scaleY: true
			});			
		}
			
		if (this.currentAccordion == this.showAccordion) {
		  this.deactivate();
		} else {
		  this._handleAccordion();
		}
	},
	// 
	// Deactivate an active accordion
	//
	deactivate : function() {
		var options = $H({
		  duration: this.duration,
			scaleContent: false,
			transition: Effect.Transitions.sinoidal,
			queue: {
				position: 'end', 
				scope: 'accordionAnimation'
			},
			scaleMode: { 
				originalHeight: this.options.defaultSize.height ? this.options.defaultSize.height : this.currentAccordion.scrollHeight,
				originalWidth: this.options.defaultSize.width ? this.options.defaultSize.width : this.currentAccordion.scrollWidth
			},
			afterFinish: function() {
				this.showAccordion.setStyle({
          height: 'auto',
					display: 'none'
				});				
				this.showAccordion = null;
				this.animating = false;
			}.bind(this)
		});    
    options.merge(this.scaling);

    this.showAccordion.previous(0).removeClassName(this.options.classNames.toggleActive);
    
		new Effect.Scale(this.showAccordion, 0, options);
	},

  //
  // Handle the open/close actions of the accordion
  //
	_handleAccordion : function() {
		var options = $H({
			sync: true,
			scaleFrom: 0,
			scaleContent: false,
			transition: Effect.Transitions.sinoidal,
			scaleMode: { 
				originalHeight: this.options.defaultSize.height ? this.options.defaultSize.height : this.currentAccordion.scrollHeight,
				originalWidth: this.options.defaultSize.width ? this.options.defaultSize.width : this.currentAccordion.scrollWidth
			}
		});
		options.merge(this.scaling);
		
		this.effects.push(
			new Effect.Scale(this.currentAccordion, 100, options)
		);

		if (this.showAccordion) {
			this.showAccordion.previous(0).removeClassName(this.options.classNames.toggleActive);
			
			options = $H({
				sync: true,
				scaleContent: false,
				transition: Effect.Transitions.sinoidal
			});
			options.merge(this.scaling);
			
			this.effects.push(
				new Effect.Scale(this.showAccordion, 0, options)
			);				
		}
		
    new Effect.Parallel(this.effects, {
			duration: this.duration, 
			queue: {
				position: 'end', 
				scope: 'accordionAnimation'
			},
			beforeStart: function() {
				this.animating = true;
			}.bind(this),
			afterFinish: function() {
				if (this.showAccordion) {
					this.showAccordion.setStyle({
						display: 'none'
					});				
				}
				$(this.currentAccordion).setStyle({
				  height: 'auto'
				});
				this.showAccordion = this.currentAccordion;
				this.animating = false;
			}.bind(this)
		});
	}
}

//*******************************************************************************************************
//*******************************************************************************************************
	
/* 
   colorPicker for script.aculo.us, version 0.9
   REQUIRES prototype.js, yahoo.color.js and script.aculo.us
   written by Matthias Platzer AT knallgrau.at
   for a detailled documentation go to http://www.knallgrau.at/code/colorpicker 
 */

if(!Control) var Control = {};
Control.colorPickers = [];
Control.ColorPicker = Class.create();
Control.ColorPicker.activeColorPicker;
Control.ColorPicker.CONTROL;
/**
 * ColorPicker Control allows you to open a little inline popUp HSV color chooser.
 * This control is bound to an input field, that holds a hex value.
 */
Control.ColorPicker.prototype = {
  initialize : function(field, options) {
    var colorPicker = this;
    Control.colorPickers.push(colorPicker);
    this.field = $(field);
    this.fieldName = this.field.name || this.field.id;
    this.options = Object.extend({
       IMAGE_BASE : "images/colorPicker/"
    }, options || {});
    this.swatch = $(this.options.swatch) || this.field;
    this.rgb = {};
    this.hsv = {};
    this.isOpen = false;

    // create control (popUp) if not already existing
    // all colorPickers on a page share the same control (popUp)
    if (!Control.ColorPicker.CONTROL) {
      Control.ColorPicker.CONTROL = {};
      if (!$("colorpicker")) {
        var control = Builder.node('div', {id: 'colorpicker'});
        control.innerHTML = 
          '<div id="colorpicker-div">' + (
            // apply png fix for ie 5.5 and 6.0
            (/MSIE ((6)|(5\.5))/gi.test(navigator.userAgent) && /windows/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent)) ?
              '<img id="colorpicker-bg" src="' + this.options.IMAGE_BASE + 'blank.gif" style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'' + this.options.IMAGE_BASE + 'pickerbg.png\', sizingMethod=\'scale\')" alt="">' :
              '<img id="colorpicker-bg" src="' + this.options.IMAGE_BASE + 'pickerbg.png" alt="">'
             ) +
          '<div id="colorpicker-bg-overlay" style="z-index: 1002;"></div>' +
          '<div id="colorpicker-selector"><img src="' + this.options.IMAGE_BASE + 'select.gif" width="11" height="11" alt="" /></div></div>' +
          '<div id="colorpicker-hue-container"><img src="' + this.options.IMAGE_BASE + 'hue.png" id="colorpicker-hue-bg-img"><div id="colorpicker-hue-slider"><div id="colorpicker-hue-thumb"><img src="' + this.options.IMAGE_BASE + 'hline.png"></div></div></div>' + 
          '<div id="colorpicker-footer"><span id="colorpicker-value">#<input type="text" onclick="this.select()" id="colorpicker-value-input" name="colorpicker-value" value=""></input></span><button id="colorpicker-okbutton">OK</button></div>'
        document.body.appendChild(control);
      }
      Control.ColorPicker.CONTROL = {
        popUp : $("colorpicker"),
        pickerArea : $('colorpicker-div'),
        selector : $('colorpicker-selector'),
        okButton : $("colorpicker-okbutton"),
        value : $("colorpicker-value"),
        input : $("colorpicker-value-input"),
        picker : new Draggable($('colorpicker-selector'), {
          snap: function(x, y) {
            return [
              Math.min(Math.max(x, 0), Control.ColorPicker.activeColorPicker.control.pickerArea.offsetWidth), 
              Math.min(Math.max(y, 0), Control.ColorPicker.activeColorPicker.control.pickerArea.offsetHeight)
            ];
          },
          zindex: 1009,
          change: function(draggable) {
            var pos = draggable.currentDelta();
            Control.ColorPicker.activeColorPicker.update(pos[0], pos[1]);
          }
        }),
        hueSlider: new Control.Slider('colorpicker-hue-thumb', 'colorpicker-hue-slider', {
          axis: 'vertical',
          onChange: function(v) {
            Control.ColorPicker.activeColorPicker.updateHue(v);
          }
        })
      };
      Element.hide($("colorpicker"));
    }
    this.control = Control.ColorPicker.CONTROL;

    // bind event listener to properties, so we can use them savely with Event[observe|stopObserving]
    this.toggleOnClickListener = this.toggle.bindAsEventListener(this);
    this.updateOnChangeListener = this.updateFromFieldValue.bindAsEventListener(this);
    this.closeOnClickOkListener = this.close.bindAsEventListener(this);
    this.updateOnClickPickerListener = this.updateSelector.bindAsEventListener(this);

    Event.observe(this.swatch, "click", this.toggleOnClickListener);
    Event.observe(this.field, "change", this.updateOnChangeListener);
    Event.observe(this.control.input, "change", this.updateOnChangeListener);

    this.updateSwatch();
  },
  toggle : function(event) {
    this[(this.isOpen) ? "close" : "open"](event);
    Event.stop(event);    
  },
  open : function(event) {
    Control.colorPickers.each(function(colorPicker) {
      colorPicker.close();
    });
    Control.ColorPicker.activeColorPicker = this;
    this.isOpen = true;
    Element.show(this.control.popUp);
    if (this.options.getPopUpPosition) {
       var pos = this.options.getPopUpPosition.bind(this)(event);
    } else {
      var pos = Position.cumulativeOffset(this.swatch || this.field);
      pos[0] = (pos[0] + (this.swatch || this.field).offsetWidth + 10);
    }
    this.control.popUp.style.left = (pos[0]) + "px";
    this.control.popUp.style.top = (pos[1]) + "px";
    this.updateFromFieldValue();
    Event.observe(this.control.okButton, "click", this.closeOnClickOkListener);
    Event.observe(this.control.pickerArea, "mousedown", this.updateOnClickPickerListener);
    if (this.options.onOpen) this.options.onOpen.bind(this)(event);
  },
  close : function(event) {
    if (Control.ColorPicker.activeColorPicker == this) Control.ColorPicker.activeColorPicker = null;
    this.isOpen = false;
    Element.hide(this.control.popUp);
    Event.stopObserving(this.control.okButton, "click", this.closeOnClickOkListener);
    Event.stopObserving(this.control.pickerArea, "mousedown", this.updateOnClickPickerListener);
    if (this.options.onClose) this.options.onClose.bind(this)();
  },
  updateHue : function(v) {
    var h = (this.control.pickerArea.offsetHeight - v * 100) / this.control.pickerArea.offsetHeight;
    if (h == 1) h = 0;
    var rgb = YAHOO.util.Color.hsv2rgb( h, 1, 1 );
    if (!YAHOO.util.Color.isValidRGB(rgb)) return;
    this.control.pickerArea.style.backgroundColor = "rgb(" + rgb[0] + ", " + rgb[1] + ", " + rgb[2] + ")";
    this.update();
  },
  updateFromFieldValue : function(event) {
    if (!this.isOpen) return;
    var field = (event && Event.findElement(event, "input")) || this.field;
    var rgb = YAHOO.util.Color.hex2rgb( field.value );
    if (!YAHOO.util.Color.isValidRGB(rgb)) return;
    var hsv = YAHOO.util.Color.rgb2hsv( rgb[0], rgb[1], rgb[2] );
    this.control.selector.style.left = Math.round(hsv[1] * this.control.pickerArea.offsetWidth) + "px";
    this.control.selector.style.top = Math.round((1 - hsv[2]) * this.control.pickerArea.offsetWidth) + "px";
    this.control.hueSlider.setValue((1 - hsv[0]));
  },
  updateSelector : function(event) {
    var xPos = Event.pointerX(event);
    var yPos = Event.pointerY(event);
    var pos = Position.cumulativeOffset($("colorpicker-bg"));
    this.control.selector.style.left = (xPos - pos[0] - 6) + "px";
    this.control.selector.style.top = (yPos - pos[1] - 6) + "px";
    this.update((xPos - pos[0]), (yPos - pos[1]));
    this.control.picker.initDrag(event);
  },
  updateSwatch : function() {
    var rgb = YAHOO.util.Color.hex2rgb( this.field.value );
    if (!YAHOO.util.Color.isValidRGB(rgb)) return;
    this.swatch.style.backgroundColor = "rgb(" + rgb[0] + ", " + rgb[1] + ", " + rgb[2] + ")";
    var hsv = YAHOO.util.Color.rgb2hsv( rgb[0], rgb[1], rgb[2] );
    this.swatch.style.color = (hsv[2] > 0.65) ? "#000000" : "#FFFFFF";
  },
  update : function(x, y) {
    if (!x) x = this.control.picker.currentDelta()[0];
    if (!y) y = this.control.picker.currentDelta()[1];

    var h = (this.control.pickerArea.offsetHeight - this.control.hueSlider.value * 100) / this.control.pickerArea.offsetHeight;
    if (h == 1) { h = 0; };
    this.hsv = {
      hue: 1 - this.control.hueSlider.value,
      saturation: x / this.control.pickerArea.offsetWidth,
      brightness: (this.control.pickerArea.offsetHeight - y) / this.control.pickerArea.offsetHeight
    };
    var rgb = YAHOO.util.Color.hsv2rgb( this.hsv.hue, this.hsv.saturation, this.hsv.brightness );
    this.rgb = {
      red: rgb[0],
      green: rgb[1],
      blue: rgb[2]
    };
    this.field.value = YAHOO.util.Color.rgb2hex(rgb[0], rgb[1], rgb[2]);
    this.control.input.value = this.field.value;
    this.updateSwatch();
    if (this.options.onUpdate) this.options.onUpdate.bind(this)(this.field.value);
  }
}	


/*******************************************************************************************************/
/**ANTES CONTROL MODAL
 * @author Ryan Johnson <ryan@livepipe.net>
 * @copyright 2007 LivePipe LLC
 * @package Control.Modal
 * @license MIT
 * @url http://livepipe.net/projects/control_modal/
 * @version 2.2.3
 */
/*******************************************************************************************************/
if(typeof(Control) == "undefined")
	Control = {};
Control.Modal = Class.create();
Object.extend(Control.Modal,{
	loaded: false,
	loading: false,
	loadingTimeout: false,
	overlay: false,
	container: false,
	current: false,
	ie: false,
	effects: {
		containerFade: false,
		containerAppear: false,
		overlayFade: false,
		overlayAppear: false
	},
	targetRegexp: /#(.+)$/,
	imgRegexp: /\.(jpe?g|gif|png|tiff?)$/i,
	overlayStyles: {
		position: 'fixed',
		top: 0,
		left: 0,
		width: '100%',
		height: '100%',
		zIndex: 9998
	},
	overlayIEStyles: {
		position: 'absolute',
		top: 0,
		left: 0,
		zIndex: 9998
	},
	disableHoverClose: false,
	load: function(){
		if(!Control.Modal.loaded){
			Control.Modal.loaded = true;
			Control.Modal.ie = !(typeof document.body.style.maxHeight != 'undefined');
			Control.Modal.overlay = $(document.createElement('div'));
			Control.Modal.overlay.id = 'modal_overlay';
			Object.extend(Control.Modal.overlay.style,Control.Modal['overlay' + (Control.Modal.ie ? 'IE' : '') + 'Styles']);
			Control.Modal.overlay.hide();
			Control.Modal.container = $(document.createElement('div'));
			Control.Modal.container.id = 'modal_container';
			Control.Modal.container.hide();
			Control.Modal.loading = $(document.createElement('div'));
			Control.Modal.loading.id = 'modal_loading';
			Control.Modal.loading.hide();
			var body_tag = document.getElementsByTagName('body')[0];
			body_tag.appendChild(Control.Modal.overlay);
			body_tag.appendChild(Control.Modal.container);
			body_tag.appendChild(Control.Modal.loading);
			Control.Modal.container.observe('mouseout',function(event){
				if(!Control.Modal.disableHoverClose && Control.Modal.current && Control.Modal.current.options.hover && !Position.within(Control.Modal.container,Event.pointerX(event),Event.pointerY(event)))
					Control.Modal.close();
			});
		}
	},
	open: function(contents,options){
		options = options || {};
		if(!options.contents)
			options.contents = contents;
		var modal_instance = new Control.Modal(false,options);
		modal_instance.open();
		return modal_instance;
	},
	close: function(force){
		if(typeof(force) != 'boolean')
			force = false;
		if(Control.Modal.current)
			Control.Modal.current.close(force);
	},
	attachEvents: function(){
		Event.observe(window,'load',Control.Modal.load);
		Event.observe(window,'unload',Event.unloadCache,false);
	},
	center: function(element){
		if(!element._absolutized){
			element.setStyle({
				position: 'absolute'
			}); 
			element._absolutized = true;
		}
		var dimensions = element.getDimensions();
		Position.prepare();
		var offset_left = (Position.deltaX + Math.floor((Control.Modal.getWindowWidth() - dimensions.width) / 2));
		var offset_top = (Position.deltaY + ((Control.Modal.getWindowHeight() > dimensions.height) ? Math.floor((Control.Modal.getWindowHeight() - dimensions.height) / 2) : 0));
		element.setStyle({
			top: ((dimensions.height <= Control.Modal.getDocumentHeight()) ? ((offset_top != null && offset_top > 0) ? offset_top : '0') + 'px' : 0),
			left: ((dimensions.width <= Control.Modal.getDocumentWidth()) ? ((offset_left != null && offset_left > 0) ? offset_left : '0') + 'px' : 0)
		});
	},
	getWindowWidth: function(){
		return (self.innerWidth || document.documentElement.clientWidth || document.body.clientWidth || 0);
	},
	getWindowHeight: function(){
		return (self.innerHeight ||  document.documentElement.clientHeight || document.body.clientHeight || 0);
	},
	getDocumentWidth: function(){
		return Math.min(document.body.scrollWidth,Control.Modal.getWindowWidth());
	},
	getDocumentHeight: function(){
		return Math.max(document.body.scrollHeight,Control.Modal.getWindowHeight());
	},
	onKeyDown: function(event){
		if(event.keyCode == Event.KEY_ESC)
			Control.Modal.close();
	}
});
Object.extend(Control.Modal.prototype,{
	mode: '',
	html: false,
	href: '',
	element: false,
	src: false,
	imageLoaded: false,
	ajaxRequest: false,
	initialize: function(element,options){
		this.element = $(element);
		this.options = {
			beforeOpen: Prototype.emptyFunction,
			afterOpen: Prototype.emptyFunction,
			beforeClose: Prototype.emptyFunction,
			afterClose: Prototype.emptyFunction,
			onSuccess: Prototype.emptyFunction,
			onFailure: Prototype.emptyFunction,
			onException: Prototype.emptyFunction,
			beforeImageLoad: Prototype.emptyFunction,
			afterImageLoad: Prototype.emptyFunction,
			autoOpenIfLinked: true,
			contents: false,
			loading: false, //display loading indicator
			fade: false,
			fadeDuration: 0.75,
			image: false,
			imageCloseOnClick: true,
			hover: false,
			iframe: false,
			iframeTemplate: new Template('<iframe src="#{href}" width="100%" height="100%" frameborder="0" id="#{id}"></iframe>'),
			evalScripts: true, //for Ajax, define here instead of in requestOptions
			requestOptions: {}, //for Ajax.Request
			overlayDisplay: true,
			overlayClassName: '',
			overlayCloseOnClick: true,
			containerClassName: '',
			opacity: 0.3,
			zIndex: 9998,
			width: null,
			height: null,
			offsetLeft: 0, //for use with 'relative'
			offsetTop: 0, //for use with 'relative'
			position: 'absolute' //'absolute' or 'relative'
		};
		Object.extend(this.options,options || {});
		var target_match = false;
		var image_match = false;
		if(this.element){
			target_match = Control.Modal.targetRegexp.exec(this.element.href);
			image_match = Control.Modal.imgRegexp.exec(this.element.href);
		}
		if(this.options.position == 'mouse')
			this.options.hover = true;
		if(this.options.contents){
			this.mode = 'contents';
		}else if(this.options.image || image_match){
			this.mode = 'image';
			this.src = this.element.href;
		}else if(target_match){
			this.mode = 'named';
			var x = $(target_match[1]);
			this.html = x.innerHTML;
			x.remove();
			this.href = target_match[1];
		}else{
			this.mode = (this.options.iframe) ? 'iframe' : 'ajax';
			this.href = this.element.href;
		}
		if(this.element){
			if(this.options.hover){
				this.element.observe('mouseover',this.open.bind(this));
				this.element.observe('mouseout',function(event){
					if(!Position.within(Control.Modal.container,Event.pointerX(event),Event.pointerY(event)))
						this.close();
				}.bindAsEventListener(this));
			}else{
				this.element.onclick = function(event){
					this.open();
					Event.stop(event);
					return false;
				}.bindAsEventListener(this);
			}
		}
		var targets = Control.Modal.targetRegexp.exec(window.location);
		this.position = function(event){
			if(this.options.position == 'absolute')
				Control.Modal.center(Control.Modal.container);
			else{
				var xy = (event && this.options.position == 'mouse' ? [Event.pointerX(event),Event.pointerY(event)] : Position.cumulativeOffset(this.element));
				Control.Modal.container.setStyle({
					position: 'absolute',
					top: xy[1] + (typeof(this.options.offsetTop) == 'function' ? this.options.offsetTop() : this.options.offsetTop) + 'px',
					left: xy[0] + (typeof(this.options.offsetLeft) == 'function' ? this.options.offsetLeft() : this.options.offsetLeft) + 'px'
				});
			}
			if(Control.Modal.ie){
				Control.Modal.overlay.setStyle({
					height: Control.Modal.getDocumentHeight() + 'px',
					width: Control.Modal.getDocumentWidth() + 'px'
				});
			}
		}.bind(this);
		if(this.mode == 'named' && this.options.autoOpenIfLinked && targets && targets[1] && targets[1] == this.href)
			this.open();
	},
	showLoadingIndicator: function(){
		if(this.options.loading){
			Control.Modal.loadingTimeout = window.setTimeout(function(){
				var modal_image = $('modal_image');
				if(modal_image)
					modal_image.hide();
				Control.Modal.loading.style.zIndex = this.options.zIndex + 1;
				Control.Modal.loading.update('<img id="modal_loading" src="' + this.options.loading + '"/>');
				Control.Modal.loading.show();
				Control.Modal.center(Control.Modal.loading);
			}.bind(this),250);
		}
	},
	hideLoadingIndicator: function(){
		if(this.options.loading){
			if(Control.Modal.loadingTimeout)
				window.clearTimeout(Control.Modal.loadingTimeout);
			var modal_image = $('modal_image');
			if(modal_image)
				modal_image.show();
			Control.Modal.loading.hide();
		}
	},
	open: function(force){
		if(!force && this.notify('beforeOpen') === false)
			return;
		if(!Control.Modal.loaded)
			Control.Modal.load();
		Control.Modal.close();
		if(!this.options.hover)
			Event.observe($(document.getElementsByTagName('body')[0]),'keydown',Control.Modal.onKeyDown);
		Control.Modal.current = this;
		if(!this.options.hover)
			Control.Modal.overlay.setStyle({
				zIndex: this.options.zIndex,
				opacity: this.options.opacity
			});
		Control.Modal.container.setStyle({
			zIndex: this.options.zIndex + 1,
			width: (this.options.width ? (typeof(this.options.width) == 'function' ? this.options.width() : this.options.width) + 'px' : null),
			height: (this.options.height ? (typeof(this.options.height) == 'function' ? this.options.height() : this.options.height) + 'px' : null)
		});
		if(Control.Modal.ie && !this.options.hover){
			$A(document.getElementsByTagName('select')).each(function(select){
				select.style.visibility = 'hidden';
			});
		}
		Control.Modal.overlay.addClassName(this.options.overlayClassName);
		Control.Modal.container.addClassName(this.options.containerClassName);
		switch(this.mode){
			case 'image':
				this.imageLoaded = false;
				this.notify('beforeImageLoad');
				this.showLoadingIndicator();
				var img = document.createElement('img');
				img.onload = function(img){
					this.hideLoadingIndicator();
					this.update([img]);
					if(this.options.imageCloseOnClick)
						$(img).observe('click',Control.Modal.close);
					this.position();
					this.notify('afterImageLoad');
					img.onload = null;
				}.bind(this,img);
				img.src = this.src;
				img.id = 'modal_image';
				break;
			case 'ajax':
				this.notify('beforeLoad');
				var options = {
					method: 'post',
					onSuccess: function(request){
						this.hideLoadingIndicator();
						this.update(request.responseText);
						this.notify('onSuccess',request);
						this.ajaxRequest = false;
					}.bind(this),
					onFailure: function(){
						this.notify('onFailure');
					}.bind(this),
					onException: function(){
						this.notify('onException');
					}.bind(this)
				};
				Object.extend(options,this.options.requestOptions);
				this.showLoadingIndicator();
				this.ajaxRequest = new Ajax.Request(this.href,options);
				break;
			case 'iframe':
				this.update(this.options.iframeTemplate.evaluate({href: this.href, id: 'modal_iframe'}));
				break;
			case 'contents':
				this.update((typeof(this.options.contents) == 'function' ? this.options.contents() : this.options.contents));
				break;
			case 'named':
				this.update(this.html);
				break;
		}
		if(!this.options.hover){
			if(this.options.overlayCloseOnClick && this.options.overlayDisplay)
				Control.Modal.overlay.observe('click',Control.Modal.close);
			if(this.options.overlayDisplay){
				if(this.options.fade){
					if(Control.Modal.effects.overlayFade)
						Control.Modal.effects.overlayFade.cancel();
					Control.Modal.effects.overlayAppear = new Effect.Appear(Control.Modal.overlay,{
						queue: {
							position: 'front',
							scope: 'Control.Modal'
						},
						to: this.options.opacity,
						duration: this.options.fadeDuration / 2
					});
				}else
					Control.Modal.overlay.show();
			}
		}
		if(this.options.position == 'mouse'){
			this.mouseHoverListener = this.position.bindAsEventListener(this);
			this.element.observe('mousemove',this.mouseHoverListener);
		}
		this.notify('afterOpen');
	},
	update: function(html){
		if(typeof(html) == 'string')
			Control.Modal.container.update(html);
		else{
			Control.Modal.container.update('');
			(html.each) ? html.each(function(node){
				Control.Modal.container.appendChild(node);
			}) : Control.Modal.container.appendChild(node);
		}
		if(this.options.fade){
			if(Control.Modal.effects.containerFade)
				Control.Modal.effects.containerFade.cancel();
			Control.Modal.effects.containerAppear = new Effect.Appear(Control.Modal.container,{
				queue: {
					position: 'end',
					scope: 'Control.Modal'
				},
				to: 1,
				duration: this.options.fadeDuration / 2
			});
		}else
			Control.Modal.container.show();
		this.position();
		Event.observe(window,'resize',this.position,false);
		Event.observe(window,'scroll',this.position,false);
	},
	close: function(force){
		if(!force && this.notify('beforeClose') === false)
			return;
		if(this.ajaxRequest)
			this.ajaxRequest.transport.abort();
		this.hideLoadingIndicator();	
		if(this.mode == 'image'){
			var modal_image = $('modal_image');
			if(this.options.imageCloseOnClick && modal_image)
				modal_image.stopObserving('click',Control.Modal.close);
		}
		if(Control.Modal.ie && !this.options.hover){
			$A(document.getElementsByTagName('select')).each(function(select){
				select.style.visibility = 'visible';
			});			
		}
		if(!this.options.hover)
			Event.stopObserving(window,'keyup',Control.Modal.onKeyDown);
		Control.Modal.current = false;
		Event.stopObserving(window,'resize',this.position,false);
		Event.stopObserving(window,'scroll',this.position,false);
		if(!this.options.hover){
			if(this.options.overlayCloseOnClick && this.options.overlayDisplay)
				Control.Modal.overlay.stopObserving('click',Control.Modal.close);
			if(this.options.overlayDisplay){
				if(this.options.fade){
					if(Control.Modal.effects.overlayAppear)
						Control.Modal.effects.overlayAppear.cancel();
					Control.Modal.effects.overlayFade = new Effect.Fade(Control.Modal.overlay,{
						queue: {
							position: 'end',
							scope: 'Control.Modal'
						},
						from: this.options.opacity,
						to: 0,
						duration: this.options.fadeDuration / 2
					});
				}else
					Control.Modal.overlay.hide();
			}
		}
		if(this.options.fade){
			if(Control.Modal.effects.containerAppear)
				Control.Modal.effects.containerAppear.cancel();
			Control.Modal.effects.containerFade = new Effect.Fade(Control.Modal.container,{
				queue: {
					position: 'front',
					scope: 'Control.Modal'
				},
				from: 1,
				to: 0,
				duration: this.options.fadeDuration / 2,
				afterFinish: function(){
					Control.Modal.container.update('');
					this.resetClassNameAndStyles();
				}.bind(this)
			});
		}else{
			Control.Modal.container.hide();
			Control.Modal.container.update('');
			this.resetClassNameAndStyles();
		}
		if(this.options.position == 'mouse')
			this.element.stopObserving('mousemove',this.mouseHoverListener);
		this.notify('afterClose');
	},
	resetClassNameAndStyles: function(){
		Control.Modal.overlay.removeClassName(this.options.overlayClassName);
		Control.Modal.container.removeClassName(this.options.containerClassName);
		Control.Modal.container.setStyle({
			height: null,
			width: null,
			top: null,
			left: null
		});
	},
	notify: function(event_name){
		try{
			if(this.options[event_name])
				return [this.options[event_name].apply(this.options[event_name],$A(arguments).slice(1))];
		}catch(e){
			if(e != $break)
				throw e;
			else
				return false;
		}
	}
});
if(typeof(Object.Event) != 'undefined')
	Object.Event.extend(Control.Modal);
Control.Modal.attachEvents();

/********************************************************************************************************
ANTES SEARCH.JS
/********************************************************************************************************/
(function() { 
google_exportSymbol("UDS_ServiceBase",google.loader.ServiceBase);google_exportSymbol("UDS_OriginalAppPath",google.loader.OriginalAppPath);google_exportSymbol("UDS_ApiKey",google.loader.ApiKey);google_exportSymbol("UDS_KeyVerified",google.loader.KeyVerified);google_exportSymbol("UDS_LoadFailure",google.loader.LoadFailure);google_exportSymbol("UDS_CurrentLocale",google.search.CurrentLocale);google_exportSymbol("UDS_ShortDatePattern",google.search.ShortDatePattern);google_exportSymbol("UDS_Version",
google.search.Version);google_exportSymbol("UDS_JSHash",google.search.JSHash);
var i=new Object;i["blank"]="&nbsp;";i["image"]=_UDS_MSG_SEARCHER_IMAGE;i["web"]=_UDS_MSG_SEARCHER_WEB;i["blog"]=_UDS_MSG_SEARCHER_BLOG;i["video"]=_UDS_MSG_SEARCHER_VIDEO;i["local"]=_UDS_MSG_SEARCHER_LOCAL;i["news"]=_UDS_MSG_SEARCHER_NEWS;i["book"]=_UDS_MSG_SEARCHER_BOOK;i["save"]=_UDS_MSG_SEARCHCONTROL_SAVE;i["keep"]=_UDS_MSG_SEARCHCONTROL_KEEP;i["include"]=_UDS_MSG_SEARCHCONTROL_INCLUDE;i["copy"]=_UDS_MSG_SEARCHCONTROL_COPY;i["close"]=_UDS_MSG_SEARCHCONTROL_CLOSE;i["sponsored-links"]=_UDS_MSG_SEARCHCONTROL_SPONSORED_LINKS;
i["see-more"]=_UDS_MSG_SEARCHCONTROL_SEE_MORE;i["watermark"]=_UDS_MSG_SEARCHCONTROL_WATERMARK;i["search-location"]=_UDS_MSG_SEARCHER_CONFIG_SET_LOCATION;i["disable-address-lookup"]=_UDS_MSG_SEARCHER_CONFIG_DISABLE_ADDRESS_LOOKUP;i["sort-by-date"]=_UDS_MSG_SORT_BY_DATE;i["pbg"]=_UDS_MSG_BRANDING_STRING;i["n-minutes-ago"]=_UDS_MSG_MINUTES_AGO;i["n-hours-ago"]=_UDS_MSG_HOURS_AGO;i["one-hour-ago"]=_UDS_MSG_ONE_HOUR_AGO;i["all-n-related"]=_UDS_MSG_NEWS_ALL_N_RELATED;i["related-articles"]=_UDS_MSG_NEWS_RELATED;
i["page-count"]=_UDS_MSG_TOTAL_PAGE_COUNT;var A=new Array;A[0]=_UDS_MSG_MONTH_ABBR_JAN;A[1]=_UDS_MSG_MONTH_ABBR_FEB;A[2]=_UDS_MSG_MONTH_ABBR_MAR;A[3]=_UDS_MSG_MONTH_ABBR_APR;A[4]=_UDS_MSG_MONTH_ABBR_MAY;A[5]=_UDS_MSG_MONTH_ABBR_JUN;A[6]=_UDS_MSG_MONTH_ABBR_JUL;A[7]=_UDS_MSG_MONTH_ABBR_AUG;A[8]=_UDS_MSG_MONTH_ABBR_SEP;A[9]=_UDS_MSG_MONTH_ABBR_OCT;A[10]=_UDS_MSG_MONTH_ABBR_NOV;A[11]=_UDS_MSG_MONTH_ABBR_DEC;i["month-abbr"]=A;i["directions"]=_UDS_MSG_DIRECTIONS;i["clear-results"]=_UDS_MSG_CLEAR_RESULTS;
i["show-one-result"]=_UDS_MSG_SHOW_ONE_RESULT;i["show-more-results"]=_UDS_MSG_SHOW_MORE_RESULTS;i["show-all-results"]=_UDS_MSG_SHOW_ALL_RESULTS;i["settings"]=_UDS_MSG_SETTINGS;i["search"]=_UDS_MSG_SEARCH;i["search-uc"]=_UDS_MSG_SEARCH_UC;i["powered-by"]=_UDS_MSG_POWERED_BY;i["sa"]=_UDS_MSG_SEARCHER_GSA;i["by"]=_UDS_MSG_SEARCHER_BY;i["code"]=_UDS_MSG_SEARCHER_CODE;i["unknown-license"]=_UDS_MSG_UNKNOWN_LICENSE;i["more-results"]=_UDS_MSG_SEARCHCONTROL_MORERESULTS;i["previous"]=_UDS_MSG_SEARCHCONTROL_PREVIOUS;
i["next"]=_UDS_MSG_SEARCHCONTROL_NEXT;i["get-directions"]=_UDS_MSG_GET_DIRECTIONS;i["to-here"]=_UDS_MSG_GET_DIRECTIONS_TO_HERE;i["from-here"]=_UDS_MSG_GET_DIRECTIONS_FROM_HERE;i["clear-results-uc"]=_UDS_MSG_CLEAR_RESULTS_UC;i["search-the-map"]=_UDS_MSG_SEARCH_THE_MAP;i["scroll-results"]=_UDS_MSG_SCROLL_THROUGH_RESULTS;i["edit-tags"]=_UDS_MSG_EDIT_TAGS;i["tag-search"]=_UDS_MSG_TAG_THIS_SEARCH;i["search-string"]=_UDS_MSG_SEARCH_STRING;i["optional-label"]=_UDS_MSG_OPTIONAL_LABEL;i["delete"]=_UDS_MSG_DELETE;
i["deleted"]=_UDS_MSG_DELETED;i["cancel"]=_UDS_MSG_CANCEL;i["upload-video"]=_UDS_MSG_UPLOAD_YOUR_VIDEOS;i["im-done"]=_UDS_MSG_IM_DONE_WATCHING;i["close-player"]=_UDS_MSG_CLOSE_VIDEO_PLAYER;i["no-results"]=_UDS_MSG_NO_RESULTS;i["linked-cse-error-results"]=_UDS_MSG_LINKEDCSE_ERROR_RESULTS;i["coupons"]=_UDS_MSG_COUPONS;
Function.prototype.E=function(a){var b=function(){}
;b.prototype=a.prototype;this.prototype=new b;this.prototype.__super__=function(c,d,f,e){var h=Array.prototype.ae.apply(arguments,[1,arguments.length]);return c.apply(this,h)}
}
;var _json_cache_defeater_=(new Date).getTime();var _json_request_require_prep=true;function ob(a){return a+"&key="+UDS_ApiKey+"&v="+UDS_Version}
function ma(a){if(ga("msie")&&Ic("msie 6.0")){var b=t(this,nb,[a]);setTimeout(b,0)}else{nb(a)}}
function nb(a){var b=document.getElementsByTagName("head")[0];var c=document.createElement("script");c.type="text/javascript";c.charset="utf-8";var d=_json_request_require_prep?ob(a):a;if(na()||qb()){d=d+"&nocache="+_json_cache_defeater_++}c.src=d;var f=function(){c.onload=null;var h=c.parentNode;h.removeChild(c);delete c}
;var e=function(h){var j=(h?h:window.event).target?(h?h:window.event).target:(h?h:window.event).srcElement;if(j.readyState=="loaded"||j.readyState=="complete"){j.onreadystatechange=null;f()}}
;if(navigator.product=="Gecko"){c.onload=f}else{c.onreadystatechange=e}b.appendChild(c)}
function P(a,b){return function(){return b.apply(a,arguments)}
}
function t(a,b,c){return function(){return b.apply(a,c)}
}
function Q(a){while(a.firstChild){a.removeChild(a.firstChild)}}
function Rb(a,b){if(a){try{Q(a);a.appendChild(b)}catch(c){}}return b}
function g(a,b){try{a.appendChild(b)}catch(c){}return b}
function ab(a,b){a.innerHTML=b}
function $a(a){return document.createTextNode(a?a:"")}
function m(a,b){var c=document.createElement("div");if(a){c.innerHTML=a}if(b){c.className=b}return c}
function o(a){var b=document.createElement("div");if(a){b.className=a}return b}
function xa(a,b){var c=document.createElement("span");if(a){g(c,$a(a))}if(b){c.className=b}return c}
function W(a,b,c){var d=document.createElement("table");d.setAttribute("cellSpacing",a?a:0);d.setAttribute("cellPadding",b?b:0);if(c){d.className=c}return d}
function O(a,b,c){var d=a.insertRow(-1);if(!d){alert(d)}for(var f=0;f<b;f++){w(d,c)}return d}
function w(a,b){var c=a.insertCell(-1);if(b){c.className=b}return c}
function J(a,b,c,d){var f=document.createElement("img");f.src=a;if(b){f.width=b}if(c){f.height=c}if(d){f.className=d}return f}
function bb(a,b,c,d){var f;if(na()){f=o(d);f.style.filter='progid:DXImageTransform.Microsoft.AlphaImageLoader(src="'+a+'")';f.style.width=b+"px";f.style.height=c+"px"}else{f=J(a,null,null,d)}return f}
function da(a,b,c,d,f){var e=document.createElement("a");e.href=a;if(b){if(d){g(e,xa(b,d))}else{g(e,$a(b))}}if(c){e.target=c}if(f){e.title=f}return e}
function u(a,b,c,d,f){var e=m(null,d);var h=document.createElement("a");h.href=a;h.innerHTML=b;if(d){h.className=d}if(c){h.target=c}if(f){h.title=f}e.appendChild(h);return e}
function Ya(a){var b=document.createElement("form");if(a){b.className=a}return b}
function ca(a,b){var c=document.createElement("input");c.type="submit";c.value=a;if(b){c.className=b}return c}
function Za(a,b,c){var d=document.createElement("input");d.setAttribute("autoComplete","off");d.type="text";if(a==-1){n(d,"util-css-expand")}else{d.size=a>0?a:10}if(b){n(d,b)}if(c){d.value=c}return d}
function ka(a,b,c,d){var f=document.createElement("input");f.type="checkbox";f.name=a;f.value=b;if(d){f.className=d}if(c){f.checked=c}return f}
function B(a,b){a.className=b}
function n(a,b){Pb(a,b)}
function z(a,b){Sb(a,b)}
function Qb(a,b){if(a==null||a.className==null)return false;var c=a.className.split(" ");for(var d=0;d<c.length;d++){if(c[d]==b){return true}}return false}
function Pb(a,b){if(Qb(a,b))return;a.className+=" "+b}
function Sb(a,b){if(a.className==null)return;var c=a.className.split(" ");var d=[];var f=false;for(var e=0;e<c.length;e++){if(c[e]!=b){if(c[e]){d.push(c[e])}}else{f=true}}if(f){a.className=d.join(" ")}}
function ba(a){if(V!=""){return V}var b=a.toLowerCase().split(".");if(b.length<2){V=(ba.wa=".com")}var c=b.pop();var d=b.pop();if(c.length==2){if(ja[d]&&ja[d][c]==1){V=(ba.wa="."+d+"."+c)}else{V=(ba.wa="."+c)}}else{V=(ba.wa=".com")}return V}
var V=ba.wa="";var ja={co:{ck:1,cr:1,hu:1,id:1,il:1,"in":1,je:1,jp:1,ke:1,kr:1,ls:1,nz:1,th:1,ug:1,uk:1,ve:1,vi:1,za:1},com:{ag:1,ar:1,au:1,bo:1,br:1,bz:1,co:1,cu:1,"do":1,ec:1,fj:1,gi:1,gr:1,gt:1,hk:1,jm:1,ly:1,mt:1,mx:1,my:1,na:1,nf:1,ni:1,np:1,pa:1,pe:1,ph:1,pk:1,pr:1,py:1,sa:1,sg:1,sv:1,tr:1,tw:1,ua:1,uy:1,vc:1,vn:1},off:{ai:1}};function Od(a){var b=a.toLowerCase().split(".");if(b.length<2){return false}var c=b.pop();var d=b.pop();if((d=="igoogle"||d=="gmodules"||d=="googlesyndication")&&c=="com"
){return true}if(c.length==2&&b.length>0){if(ja[d]&&ja[d][c]==1){d=b.pop()}}return d=="google"}
function ga(a){if(a in Oa){return Oa[a]}return Oa[a]=navigator.userAgent.toLowerCase().indexOf(a)!=-1}
function Ic(a){if(a in Pa){return Pa[a]}return Pa[a]=navigator.appVersion.toLowerCase().indexOf(a)!=-1}
var Oa={};var Pa={};function na(){return ga("msie")}
function qb(){return ga("safari")||ga("konqueror")}
function pb(){return ga("opera")}
function Ob(a){this.branding=a+"branding";this.vertical=a+"branding-vertical";this.img=a+"branding-img";this.userDefined=a+"branding-user-defined";this.imgNoClear=a+"branding-img-noclear";this.clickable=a+"branding-clickable";this.text=a+"branding-text"}
function Nd(a,b,c,d){var f=new Ob(a);var e=o(f.branding);var h=W(null,null,f.branding);g(e,h);var j=!c;if(!j){n(e,f.vertical);n(h,f.vertical)}var l=O(h,0);var p;var q;if(j){p=l;q=l}else{p=l;q=O(h,0)}var r="/css/small-logo.png";var s=51;var x=15;if(d){if(typeof d=="string"){if(d.match(/^http:\/\/www\.youtube\.com/)){r="/css/youtube-logo-55x24.png";s=55;x=24;n(e,f.branding+"-youtube");if(!j){n(e,f.vertical+"-youtube");n(h,f.vertical+"-youtube")}}}}var F=w(p,f.text);var v=w(q,f.imgNoClear);var y=m(i[
"powered-by"],f.text);var C=UDS_ServiceBase+r;var D=bb(C,s,x,f.imgNoClear);g(F,y);if(d){var fa="http://www.google.com";if(typeof d=="string"&&(d.match(/^http:\/\/[a-z]*\.google\.com/)||d.match(/^http:\/\/www\.youtube\.com/))){fa=d}var Na=da(fa,null,"_BLANK");Na.className=f.clickable;g(Na,D);g(v,Na)}else{g(v,D)}if(b){Q(b);g(b,e)}return e}
function Md(a,b){var c;var d=a.getFullYear();var f=a.getMonth();var e=i["month-abbr"][f];var h=a.getDate();if(h<10){h="0"+h}switch(b){case "MDY":c=e+" "+h+", "+d;break;case "YMD":c=d+" "+e+" "+h;break;default:case "DMY":c=h+" "+e+" "+d;break}return c}
var Nb=Xa.ib=3600000;var Ld=Xa.jb=60000;var Kd=Xa.hb=86400000;function Xa(a,b){var c=new Date;var d=c.getTime();var f=a.getTime();var e;if(d<f){return i["n-minutes-ago"](2)}var h=d-f;if(h<Nb){var j=parseInt(h/Ld);if(j<=1){e=2}else{e=j}return i["n-minutes-ago"](e)}if(h<Kd){var l=parseInt(h/Nb);if(l<=1){return i["one-hour-ago"]}else{e=l;return i["n-hours-ago"](e)}}return Md(a,b)}
;
function k(){}
var E=k.wd="gs-result";var vd=k.dd="gs-error-result";var zd=k.nd="gs-no-results-result";k.ed="gs-id";var va=k.Ed="gs-spacer";var I=k.Hd="gs-title";var M=k.Dd="gs-snippet";var N=k.Id="gs-visibleUrl";var Lb=k.Jd="gs-visibleUrl-long";var Hd=k.Kd="gs-visibleUrl-short";var Id=k.Ld="gs-watermark";var Dd=k.xd="gs-results-attribution";var Db=k.Vc="gs-address";var Kb=k.Fd="gs-street";var Eb=k.Yc="gs-city";var Hb=k.ud="gs-region";var rd=k.$c="gs-country";var Fb=k.rd="gs-phone";var sd=k.ad="gs-directions";var td=
k.bd="gs-directions-to-from";var wd=k.hd="gs-label";var Jb=k.Ad="gs-secondary-link";var od=k.Wc="gs-author";var Gb=k.td="gs-publisher";var yd=k.ld="gs-location";var qd=k.Zc="gs-clusterUrl";var sa=k.gd="gs-image-box";var pd=k.Xc="gs-image-box gs-book-image-box";var ia=k.Gd="gs-text-box";k.md="gs-metadata";var Ed=k.yd="gs-row-1";var Fd=k.zd="gs-row-2";k.Bd="gs-shadow";var Cd=k.qd="gs-pages";var Bd=k.pd="gs-page-edge";var H=k.fd="gs-image";var Gd=k.Cd="gs-size";var Ad=k.od="gs-pageCount";var ua=k.sd=
"gs-publishedDate";var Ib=k.vd="gs-relativePublishedDate";var Jd=k.Md="gs-webAd";var xd=k.kd="gs-localAd";var Cb=k.Uc="gs-ad-marker";var ta=k.jd="gs-line";var ud=k.cd="gs-divider";var Tc=k.fc="gsc-control";var $c=k.pc="gsc-narrow";var zb=k.Cc="gsc-search-box";var Ab=k.Dc="gsc-search-button";var tb=k.Vb="gsc-clear-button";var vb=k.lc="gsc-input";var Kc=k.Ob="gsc-branding";k.Ub="gsc-branding-vertical";var Mc=k.Qb="gsc-branding-img";var Oc=k.Tb="gsc-branding-user-defined";var Nc=k.Rb="gsc-branding-img-noclear"
;var Lc=k.Pb="gsc-branding-clickable";var sb=k.Sb="gsc-branding-text";var Ra=k.xc="gsc-resultsRoot";var ed=k.yc="gsc-results";var Qa=k.rc="gsc-result";var dd=k.wc="gsc-resultsHeader";var U=k.Ac="gsc-resultsbox-invisible";var L=k.Bc="gsc-resultsbox-visible";var Yc=k.kc="gsc-expansionArea";var kd=k.Oc="gsc-trailing-more-results";var Vc=k.hc="gsc-cursor-box";var Uc=k.gc="gsc-cursor";var Xc=k.jc="gsc-cursor-page";var Wc=k.ic="gsc-cursor-current-page";var Jc=k.Mb="gsc-ad-box";var ld=k.Pc="gsc-twiddleRegionCell"
;var Pc=k.Wb="gsc-configLabelCell";var Qc=k.Xb="gsc-configLabel";var md=k.Qc="gsc-twiddle";var ha=k.Rc="gsc-twiddle-closed";var ra=k.Sc="gsc-twiddle-opened";var jd=k.Nc="gsc-title";var gd=k.Ec="gsc-stats";var wb=k.mc="gsc-keeper";var cd=k.uc="gsc-result-selector gsc-one-result";var bd=k.tc="gsc-result-selector gsc-more-results";var ad=k.sc="gsc-result-selector gsc-all-results";var fd=k.zc="gsc-results-selector";var yb=k.qc="gsc-one-result-active";var xb=k.oc="gsc-more-results-active";var rb=k.Nb=
"gsc-all-results-active";var Wa=k.Mc="gsc-tabsArea";var Bb=k.Lc="gsc-tabsAreaInvisible";var id=k.Gc="gsc-tabHeader";var Ua=k.Jc="gsc-tabhActive";var Va=k.Kc="gsc-tabhInactive";var Sa=k.Hc="gsc-tabdActive";var Ta=k.Ic="gsc-tabdInactive";var hd=k.Fc="gsc-tabData";var ub=k.dc="gsc-config";var qa=k.cc="gsc-configSetting";var T=k.bc="gsc-configSettingSubmit";var pa=k.Zb="gsc-configSettingCheckbox";var oa=k.Yb="gsc-configSettingCheckboxLabel";var Sc=k.ac="gsc-configSettingInput";var Rc=k.$b="gsc-configSettingInputLabel"
;var Zc=k.nc="gsc-locationConfig";var nd=k.Tc="gsc-video-player";k.Lb="as-results";k.Kb="as-result-vertical";k.Jb="as-result-horizontal";k.Ib="as-result-cell";k.Hb="as-branding-cell";
var Tb=GSearch.BASE=UDS_ServiceBase;var X=GSearch.LARGE_RESULTSET="large";var G=GSearch.SMALL_RESULTSET="small";GSearch.LARGE_RESULTS=8;GSearch.LARGE_ADS=4;GSearch.SMALL_RESULTS=4;GSearch.SMALL_ADS=2;var Ub=GSearch.KEEP_SWEEPER_DELAY=5000;GSearch.LINK_TARGET_TOP="_top";GSearch.LINK_TARGET_SELF="_self";GSearch.LINK_TARGET_PARENT="_parent";var cb=GSearch.LINK_TARGET_BLANK="_blank";var Z=GSearch.ORDER_BY_RELEVANCE="order-by-relevance";var Y=GSearch.ORDER_BY_DATE="order-by-date";var Xb=GSearch.RESTRICT_TYPE=
"restrict-type";var eb=GSearch.RESTRICT_SAFESEARCH="restrict-safesearch";var hb=GSearch.SAFESEARCH_STRICT="active";var gb=GSearch.SAFESEARCH_OFF="off";var fb=GSearch.SAFESEARCH_MODERATE="moderate";GSearch.strings=i;function GSearch(){this.Od=null;this.K=null;this.gb=0;this.ya=0;this.Ma=true;this.l={width:100,height:75};this.O=cb;this.bb=1;this.setResultSetSize(G);this.clearResults();this.Fa=null;this.Ga=null;this.Va=null;this.Pa=null;this.ha=null;this.ga=null;this.la=null;this.m="null";this.h=null;
this.i=null;this.gwsUrl=null;this.G=new Array;if(typeof window==="object"&&window.location&&window.location.hostname&&window.location.hostname!=""){this.Oa=ba(window.location.hostname)}else{this.Oa=".com"}this.aa=null;this.da=null}
GSearch.deferRequest=function(a){var b=t(this,ma,[a]);setTimeout(b,0)}
;GSearch.prototype.Ab=function(){var a=this.M+"?hl="+UDS_CurrentLocale+"&source=uds";if(this.i){a=a+this.i}else{a=a+"&q="}if(this.$&&this.$!=""){return this.$}else{return a}}
;GSearch.prototype.setQueryAddition=function(a){if(a==null||a==""){this.h=null}else{this.h=a}}
;GSearch.prototype.F=function(a,b,c){var d=Tb+this.H+"?callback="+a+"&context="+b+"&lstkp="+this.mb()+"&rsz="+this.ra+"&hl="+UDS_CurrentLocale;if(this.Oa){d+="&gss="+this.Oa}if(UDS_JSHash){d+="&sig="+UDS_JSHash}if(c){d+="&start="+c}return d}
;GSearch.prototype.setLinkTarget=function(a){this.O=a}
;GSearch.prototype.d=function(){if(this.O&&this.O!=""){return this.O}else{return null}}
;GSearch.prototype.$a=function(){this.gb++;this.ya++;if(this.la){clearTimeout(this.la)}this.la=setTimeout(t(this,this.execute,[null]),Ub)}
;GSearch.prototype.mb=function(){clearTimeout(this.la);var a=this.ya;this.ya=0;return a}
;GSearch.prototype.Na=function(){if(this.Fa==null){this.Fa="gsc-"+this.m+"Result"}return this.Fa}
;GSearch.prototype.C=function(){if(this.Ga==null){this.Ga="gs-"+this.m+"Result"}return this.Ga}
;GSearch.prototype.vb=function(){if(this.Va==null){this.Va=i[this.m]}if(this.ha){return this.ha}else{return this.Va}}
;GSearch.prototype.tb=function(){if(this.Pa==null){this.Pa=i[this.m]}if(this.ha){return this.ha}else{return this.Pa}}
;GSearch.prototype.getResultSetSize=function(){return this.ra}
;GSearch.prototype.setResultSetSize=function(a){switch(a){case X:this.ra=X;break;default:case G:this.ra=G;break}}
;GSearch.prototype.execute=function(a){var b=this.u(a,null,null);if(window._googleudsextrastuff){b=b+window._googleudsextrastuff}this.cursor=null;this.yb=a;ma(b);if(this.G&&this.G.length>0){for(var c=0;c<this.G.length;c++){this.G[c].execute(a)}}}
;GSearch.prototype.Za=function(a){if(this.cursor&&a<this.cursor.pages.length){var b=this.u(this.yb,null,null,this.cursor.pages[a].start);this.cursor=null;ma(b)}}
;GSearch.prototype.addRelatedSearcher=function(a){if(this.G){this.G.push(a)}}
;GSearch.prototype.getExecuteUrl=function(a,b,c){var d=this.u(a,b,c);return ob(d)}
;GSearch.prototype.B=function(a){var b="http://code.google.com/apis/ajaxsearch/faq.html";var c=i["watermark"]+" - "+this.nb();var d=u(b,c,"_blank",Id);g(a,d)}
;GSearch.prototype.nb=function(){var a=new Date;var b=a.getMonth()+1+"/"+a.getFullYear();return b}
;GSearch.prototype.formatToShortDate=function(a){var b;var c=a.getFullYear();var d=a.getMonth();var f=i["month-abbr"][d];var e=a.getDate();if(e<10){e="0"+e}switch(UDS_ShortDatePattern){case "MDY":b=f+" "+e+", "+c;break;case "YMD":b=c+" "+f+" "+e;break;default:case "DMY":b=e+" "+f+" "+c;break}return b}
;var db=GSearch.ib=3600000;var Wb=GSearch.jb=60000;var Vb=GSearch.hb=86400000;GSearch.prototype.formatToRelativeDate=function(a){var b=new Date;var c=b.getTime();var d=a.getTime();var f;if(c<d){return i["n-minutes-ago"](2)}var e=c-d;if(e<db){var h=parseInt(e/Wb);if(h<=1){f=2}else{f=h}return i["n-minutes-ago"](f)}if(e<Vb){var j=parseInt(e/db);if(j<=1){return i["one-hour-ago"]}else{f=j;return i["n-hours-ago"](f)}}return this.formatToShortDate(a)}
;GSearch.prototype.clearResults=function(){this.gwsUrl=null;this.Zd=null;this.results=new Array;this.adResults=new Array}
;GSearch.prototype.Ya=function(){if(this.Xa){this.Xa()}}
;GSearch.prototype.onSearchComplete=function(a,b,c,d){if(a==null&&b==204){return}this.gwsUrl=null;if(this.results&&this.results.length>0){for(var f=0;f<this.results.length;f++){if(this.results[f].html){Mb(this.results[f].html)}}}if(this.adResults&&this.adResults.length>0){for(var f=0;f<this.adResults.length;f++){if(this.adResults[f].html){Mb(this.adResults[f].html)}}}if(a&&a.results&&a.results.length>0){this.results=a.results;if(a.cursor&&a.cursor.moreResultsUrl){this.gwsUrl=a.cursor.moreResultsUrl}
else if(this.i&&this.M){this.gwsUrl=this.Ab()}}else{this.results=new Array}if(a&&a.adResults&&a.adResults.length>0){this.adResults=a.adResults}else{this.adResults=new Array}this.completionStatus=b;this.hashStatus=d;this.completionFailureDetails=c;if(a&&a.resultAttribution&&a.resultAttribution!=null&&a.resultAttribution!=""){this.qa=a.resultAttribution}else{this.qa=null}if(a&&a.cursor&&a.cursor.pages&&a.cursor.pages.length>0){this.cursor=a.cursor}if(this.Ma){this.Wa()}this.Ya()}
;GSearch.prototype.getAttribution=function(){var a=null;if(this.qa){a=m(this.qa,Dd)}return a}
;GSearch.prototype.Wa=function(){var a;var b;for(a=0;a<this.results.length;a++){b=this.results[a];this.createResultHtml(b)}for(a=0;a<this.adResults.length;a++){b=this.adResults[a];this.ia(b)}}
;GSearch.prototype.ia=function(a){if(a.html){delete a.html}}
;GSearch.prototype.setSearchCompleteCallback=function(a,b,c){if(!c){c=[null]}this.Xa=t(a,b,c)}
;var K=GSearch.AllocateCompletionMapContext=function(a,b){var c=false;var d=null;if(a.length){for(var f=0;f<a.length;f++){if(a[f]==null){a[f]=b;d=f;c=true;break}}}if(!c){d=a.length;a.push(b)}return d}
;GSearch.prototype.setUserDefinedLabel=function(a){this.ha=a}
;GSearch.prototype.setUserDefinedClassSuffix=function(a){this.ga=a}
;GSearch.prototype.setNoHtmlGeneration=function(){this.Ma=false}
;GSearch.scaleImage=function(a,b,c,d,f){var e=c.width/a;var h=c.height/b;var j=Math.min(e,h);var l=Math.min(j,1);var p=new Object;p.width=Math.round(a*l);p.height=Math.round(b*l);if(d){d.width=p.width;d.height=p.height;if(f){var q=(c.width-p.width)/2;d.style.left=q+"px"}}return p}
;var Yb=GSearch.VERTICAL_BRANDING=1;GSearch.HORIZONTAL_BRANDING=2;GSearch.getBranding=function(a,b,c){return Nd("gsc-",a,b&&b==Yb,c)}
;GSearch.setOnLoadCallback=function(a,b){google.setOnLoadCallback(a,b)}
;var wa;function Mb(a){if(!wa){wa=document.createElement("DIV")}wa.appendChild(a);wa.innerHTML=""}
GSearch.prototype.qb=function(a){var b=this.aa;if(a){b=a}var c=new Object;var d=o(this.C());n(d,E);n(d,vd);var f;f=m(b,M);g(d,f);c.html=d;return c}
;GSearch.prototype.rb=function(a){var b=this.da;if(a){b=a}var c=new Object;var d=o(this.C());n(d,E);n(d,zd);var f;f=m(b,M);g(d,f);c.html=d;return c}
;
function GwebSearch(){GSearch.call(this);this.m="web";this.H="/GwebSearch";this.M="http://www.google.com/search";this.c=null;this.s=S;this.L=null;this.Ha=null;this.$=null;this.p=null}
GwebSearch.E(GSearch);GwebSearch.RESULT_CLASS="GwebSearch";GwebSearch.AD_CLASS="GwebSearch.ad";var La=GwebSearch.cxRestriction_CX="cx";var mb=GwebSearch.cxRestriction_CREF="cref";var S=GwebSearch.cxRestriction_NONE="none";var Ma=GwebSearch.N=new Array;GwebSearch.RawCompletion=function(a,b,c,d,f){var e=0;if(a){e=parseInt(a)}var h=Ma[e];Ma[e]=null;h.onSearchComplete(b,c,d,f)}
;GwebSearch.prototype.u=function(a,b,c,d){var f;if(c==null){f=K(Ma,this)}else{f=c}var e;if(b==null){e="GwebSearch.RawCompletion"}else{e=b}var h=this.F(e,f,d);if(a){var j;var l=a;if(this.h){l=l+" "+this.h}if(this.c&&this.s!=S&&this.Ha){var p=this.Ha;var q=l;if(this.L!=null){q=l+" more:"+this.L}p=p.replace(/__HL__/,UDS_CurrentLocale);p=p.replace(/__QUERY__/,encodeURIComponent(q));this.$=p}if(this.c&&this.s==S){l=l+" site:"+this.c}j="";if(this.c&&this.s!=S){if(this.s==La){j=j+"&cx="+this.c}else if(this.s==
mb){j=j+"&cref="+encodeURIComponent(this.c)}if(this.L!=null){l=l+" more:"+this.L}}j=j+"&q="+encodeURIComponent(l);if(this.p){j=j+"&safe="+this.p}h=h+j;this.i=j;if(d&&d!=0){this.i=this.i+"&start="+d}}return h}
;GwebSearch.prototype.createResultHtml=function(a){if(a.html){delete a.html}var b=o(this.C());n(b,E);var c;c=u(a.unescapedUrl,a.title,this.d(),I);g(b,c);c=m(a.content,M);g(b,c);c=m(a.visibleUrl,N);g(b,c);n(c,Hd);var d=a.unescapedUrl.indexOf(a.visibleUrl);var f=a.visibleUrl;if(d!=-1&&d!=0){f=a.unescapedUrl.substring(d)}c=m(f,N);n(c,Lb);g(b,c);a.html=b;this.B(a.html)}
;GwebSearch.prototype.ia=function(a){if(a.html){delete a.html}var b=o(Jd);n(b,E);var c;c=u(a.unescapedUrl,a.title,this.d(),I);g(b,c);if(a.content1){c=m(a.content1,ta);g(b,c)}if(a.content2){c=m(a.content2,ta);g(b,c)}c=m(a.visibleUrl,N);var d=J(a.impressionUrl,12,12,Cb);g(c,d);g(b,c);a.html=b;this.B(a.html)}
;GwebSearch.prototype.setSiteRestriction=function(a,b,c){this.$=null;this.aa=null;var d=false;if(a==null||typeof a=="string"&&a==""){d=false;this.c=null;this.s=S;this.L=null;this.aa=null}else if(typeof a=="string"){d=a.match(/^\d{21}:.*/);if(d){this.c=a;this.s=La}else{this.c=a;this.s=S}}else{if(a.siteUrl){d=false;this.c=a.siteUrl}else if(a.cseId){d=true;this.c=a.cseId;this.s=La}else if(a.crefUrl){d=true;this.c=a.crefUrl;this.s=mb;this.aa=i["linked-cse-error-results"]}else{d=false;this.c=null;this.s=
S;this.L=null}}if(d){if(b){this.L=b}if(c){if(c.match(/__HL__/)&&c.match(/__QUERY__/)){this.Ha=c}}}}
;GwebSearch.prototype.setRestriction=function(a,b){if(a==eb){if(b){if(b==hb||b==gb||b==fb){this.p=b}else{this.p=null}}else{this.p=null}}}
;
function GadSenseSearch(a){GSearch.call(this);this.m="ad";this.Ia=null;this.Ja=null;if(a){if(window["google_dynamic_adsense_units"]==null){return}var b=window["google_dynamic_adsense_units"][a];if(b!=null&&b._bind()){this.Ia=b}}else{var c=window.googleAFSAdsUpdater;if(c!=null&&c._bind()){this.Ja=c}}}
GadSenseSearch.E(GSearch);GadSenseSearch.prototype.execute=function(a,b){var c=a;if(this.h){c=c+" "+this.h}if(this.Ia){this.Ia._updateAds(c)}else if(this.Ja){this.Ja._updateAds(c)}}
;
function GsaSearch(a){GSearch.call(this);this.lb=a;this.m="sa";this.H="/ajax"}
GsaSearch.E(GSearch);GsaSearch.RESULT_CLASS="GsaSearch";GsaSearch.AD_CLASS="GsaSearch.ad";var Ja=GsaSearch.N=new Array;GsaSearch.RawCompletion=function(a,b,c){var d=0;if(a){d=parseInt(a)}var f=Ja[d];Ja[d]=null;f.onSearchComplete(b,c)}
;var Dc=GsaSearch.NEXT_PAGE="next";var Ec=GsaSearch.PREV_PAGE="prev";GsaSearch.prototype.execute=function(a,b){var c=this.u(a,null,null,b);ma(c)}
;GsaSearch.prototype.u=function(a,b,c,d){var f;if(c==null){f=K(Ja,this)}else{f=c}var e;if(b==null){e="GsaSearch.RawCompletion"}else{e=b}var h=this.F(e,f,d);if(a){var j=a;if(this.h){j=j+" "+this.h}h=h+"&q="+encodeURIComponent(j)}return h}
;GsaSearch.prototype.createResultHtml=function(a){if(a.html){delete a.html}var b=o(this.C());n(b,E);var c;c=u(a.unescapedUrl,a.title,this.d(),I);g(b,c);c=m(a.content,M);g(b,c);c=m(a.visibleUrl,N);g(b,c);n(c,Lb);a.html=b;this.B(a.html)}
;var Fc=GsaSearch.Pd="&ajax_version=1.0&client=default_frontend&site=default_collection&ie=UTF-8&oe=UTF-8";GsaSearch.prototype.F=function(a,b,c){var d=this.lb+this.H+"?ajax_callback="+a+"&ajax_context="+b+"&hl="+UDS_CurrentLocale+Fc+"&num="+this.oa+this.ub(c);return d}
;GsaSearch.prototype.$a=function(){this.gb++;this.ya++}
;GsaSearch.prototype.onSearchComplete=function(a,b){if(a==null&&b==204){return}if(a&&a.results&&a.results.length>0){this.results=new Array;for(var c=0;c<a.results.length;c++){var d=a.results[c];var f=new Object;f.GsearchResultClass=d.GsearchResultClass;f.unescapedUrl=d.unescapedUrl;f.url=d.url;f.visibleUrl=d.visibleUrl;f.title=d.title;f.titleNoFormatting=d.titleNoFormatting;f.content=d.snippet;this.results.push(f)}this.ta=a.start_index;this.ja=a.end_index;this.Ka=a.est}else{this.results=new Array;
this.ta=0;this.ja=0;this.Ka=0}this.completionStatus=b;this.hashStatus=200;this.completionFailureDetails="";this.qa=null;if(this.Ma){this.Wa()}this.Ya()}
;GsaSearch.prototype.setResultSetSize=function(a){this.__super__(GSearch.prototype.setResultSetSize,a);switch(this.ra){case X:this.oa=8;break;case G:this.oa=4;break}}
;GsaSearch.prototype.ub=function(a){var b="";if(a&&this.completionStatus==200&&this.ta&&this.ja&&this.Ka){if(a==Dc){if(this.ja<this.Ka){b="&start="+this.ja}}else if(a==Ec){var c;if(this.ta>this.oa+1){c=this.ta-(this.oa+1)}else{c=0}b="&start="+c}}return b}
;
function GnewsSearch(){GSearch.call(this);this.m="news";this.H="/GnewsSearch";this.M="http://news.google.com/nwshp";this.$d=null;this.f=false;this.Z=true;this.K=P(this,Cc);this.Y="gsc-newsConfig";this.b=null}
GnewsSearch.E(GSearch);GnewsSearch.RESULT_CLASS="GnewsSearch";var Ia=GnewsSearch.N=new Array;GnewsSearch.RawCompletion=function(a,b,c,d,f){var e=0;if(a){e=parseInt(a)}var h=Ia[e];Ia[e]=null;h.onSearchComplete(b,c,d,f)}
;GnewsSearch.prototype.u=function(a,b,c){var d;if(c==null){d=K(Ia,this)}else{d=c}var f;if(b==null){f="GnewsSearch.RawCompletion"}else{f=b}var e=this.F(f,d);if(a){var h;var j=a;if(this.h){j=j+" "+this.h}if(this.c){j=j+" source:"+this.c}h="&q="+encodeURIComponent(j);if(this.f){h=h+"&scoring=d"}if(this.c){e=e.replace(/&hl=.*&/,"&hl=en&")}e=e+h;this.i=h}return e}
;GnewsSearch.prototype.createResultHtml=function(a){if(a.html){delete a.html}var b=o(this.C());n(b,E);var c;c=u(a.unescapedUrl,a.title,this.d(),I);g(b,c);c=m(a.publisher,Gb);g(b,c);var d=a.location.split(",");if(d.length>1){var f=", "+d[d.length-1];c=m(f,yd);g(b,c)}var e=new Date(a.publishedDate);c=m(" - "+this.formatToShortDate(e),ua);g(b,c);var e=new Date(a.publishedDate);c=m(" - "+this.formatToRelativeDate(e),Ib);g(b,c);c=m(a.content,M);g(b,c);if(a.clusterUrl&&a.clusterUrl!=""){c=u(a.clusterUrl,
i["related-articles"]+"&nbsp;&raquo;",this.d(),qd);g(b,c)}a.html=b;this.B(a.html)}
;GnewsSearch.prototype.setSiteRestriction=function(a){if(a==null||a==""){this.c=null}else{this.c=a.replace(/\s/g,"_")}}
;GnewsSearch.prototype.setResultOrder=function(a){if(a==Y){this.f=true}else if(a==Z){this.f=false}else{this.f=false}}
;var Cc=GnewsSearch.prototype.Qa=function(a,b){if(b){if(this.b==null){var c=o(qa);this.b=ka(null,"0",this.f?true:false,pa);g(c,this.b);g(c,m(i["sort-by-date"],oa));var d=o(T);g(d,ca(i["close"],T));g(c,d);g(a,c);this.b.focus()}else{this.b.checked=this.f?true:false;this.b.focus()}}else{if(this.b){if(this.b.checked){this.setResultOrder(Y)}else{this.setResultOrder(Z)}}}}
;
function GimageSearch(){GSearch.call(this);this.bb=2;this.m="image";this.H="/GimageSearch";this.M="http://images.google.com/images";this.p=null;this.l={width:112,height:84}}
GimageSearch.E(GSearch);var sc=GimageSearch.RESULT_CLASS="GimageSearch";GimageSearch.AD_CLASS="GwebSearch.ad";var Fa=GimageSearch.N=new Array;GimageSearch.RawCompletion=function(a,b,c,d,f){var e=0;if(a){e=parseInt(a)}var h=Fa[e];Fa[e]=null;h.onSearchComplete(b,c,d,f)}
;GimageSearch.prototype.u=function(a,b,c,d){var f;if(c==null){f=K(Fa,this)}else{f=c}var e;if(b==null){e="GimageSearch.RawCompletion"}else{e=b}var h=this.F(e,f,d);if(a){var j;var l=a;if(this.h){l=l+" "+this.h}j="&q="+encodeURIComponent(l);if(this.p){j=j+"&safe="+this.p}h=h+j;this.i=j;if(d&&d!=0){this.i=this.i+"&start="+d}}return h}
;GimageSearch.prototype.createResultHtml=function(a){if(a.html){delete a.html}var b=o(this.C());n(b,E);var c=o(sa);var d=GSearch.scaleImage(a.tbWidth,a.tbHeight,this.l);var f=J(a.tbUrl,d.width,d.height,H);var e=(this.l.width-d.width)/2;f.style.left=e+"px";f.title=a.titleNoFormatting+" ("+a.visibleUrl+")";var h=da(a.unescapedUrl,null,this.d(),H);B(h,H);g(h,f);g(c,h);g(b,c);var j=o(ia);var l;l=m(a.content,M);l.title=a.contentNoFormatting;g(j,l);var p=a.width+" x "+a.height;l=m(p,Gd);g(j,l);l=u(a.originalContextUrl,
a.visibleUrl,this.d(),N);l.title=a.visibleUrl;g(j,l);g(b,j);a.html=b;this.B(a.html)}
;GimageSearch.prototype.setRestriction=function(a,b){if(a==eb){if(b){if(b==hb||b==gb){this.p=b}else if(b==fb){this.p=null}else{this.p=null}}else{this.p=null}}}
;
function GlocalSearch(){GSearch.call(this);this.z=null;this.w="San Francisco, CA";this.r=null;this.ca=true;this.S=false;this.Z=true;this.K=P(this,zc);this.Y=Zc;this.m="local";this.H="/GlocalSearch";this.j=null;this.R=null}
GlocalSearch.E(GSearch);GlocalSearch.RESULT_CLASS="GlocalSearch";GlocalSearch.AD_CLASS="GlocalSearch.ad";var Ha=GlocalSearch.N=new Array;GlocalSearch.RawCompletion=function(a,b,c,d,f){var e=0;if(a){e=parseInt(a)}var h=Ha[e];Ha[e]=null;h.onSearchComplete(b,c,d,f)}
;GlocalSearch.prototype.u=function(a,b,c){var d;if(c==null){d=K(Ha,this)}else{d=c}var f;if(b==null){f="GlocalSearch.RawCompletion"}else{f=b}var e=this.F(f,d);if(a){e=e+"&q="+encodeURIComponent(a)}var h;if(this.z){var j;var l;if(this.ca){j=this.z.getCenterLatLng();l=this.z.getSpanLatLng();h="&sll="+j.y+","+j.x;h+="&sspn="+l.height+","+l.width;h+=Ga(j.y,j.x);e+=h}else{j=this.z.getCenter();l=this.z.getBounds().toSpan().toUrlValue();h="&sll="+j.y+","+j.x;h+="&sspn="+l;h+=Ga(j.y,j.x);e+=h}}else if(this.r)
{h="&sll="+this.r.y+","+this.r.x;h+=Ga(this.r.y,this.r.x);e+=h}else if(this.w){h="&near="+encodeURIComponent(this.w);e+=h}if(this.S){e+="&nogeocode=t"}return e}
;var yc=GlocalSearch.Yd=3.141592653589;var xc=GlocalSearch.Qd=6367000;var Bc=GlocalSearch.de=16093;var Ga=GlocalSearch.centerToGll=function(a,b){var c=Bc;var d=2*c/xc*2*yc;var f=a-d;var e=b-d;var h=a+d;var j=b+d;var l="&gll="+parseInt(f*1000000)+","+parseInt(e*1000000)+","+parseInt(h*1000000)+","+parseInt(j*1000000)+"&llsep=500,500";return l}
;GlocalSearch.prototype.createResultHtml=function(a){if(a.html){delete a.html}var b=o(this.C());n(b,E);var c;c=u(a.url,a.title,this.d(),I);g(b,c);var d=o(Db);c=m(a.streetAddress,Kb);g(d,c);var f="";if(a.city!=""){f=a.city;if(a.region!=""){f+=", "}}c=m(f,Eb);g(d,c);c=m(a.region,Hb);g(d,c);c=m(a.country,rd);g(d,c);g(b,d);if(a.phoneNumbers&&a.phoneNumbers.length){var e=null;var h=null;var j=a.phoneNumbers[0];var l;for(var p=0;p<a.phoneNumbers.length;p++){l=a.phoneNumbers[p];if(l.type=="main"){e=l;break}
if(l.type==""||l.type=="mobile"&&h==null){h=l}}if(e){l=e}else if(h){l=h}else{l=j}c=m(l.number,Fb);g(b,c)}if(a.ddUrl&&a.ddUrl!=""){c=u(a.ddUrl,i["directions"],this.d(),sd);g(b,c)}if(a.ddUrlToHere&&a.ddUrlToHere!=""&&a.ddUrlFromHere&&a.ddUrlFromHere!=""){c=o(td);var q=m(i["get-directions"]+":",wd);c.appendChild(q);q=u(a.ddUrlToHere,i["to-here"],this.d(),Jb);c.appendChild(q);q=m("-",va);c.appendChild(q);q=u(a.ddUrlFromHere,i["from-here"],this.d(),Jb);c.appendChild(q);g(b,c)}a.html=b;this.B(a.html)}
;GlocalSearch.prototype.ia=function(a){if(a.html){delete a.html}var b=o(xd);n(b,E);var c;c=u(a.unescapedUrl,a.title,this.d(),I);g(b,c);if(a.content1){c=m(a.content1,ta);g(b,c)}if(a.content2){c=m(a.content2,ta);g(b,c)}if(a.phoneNumber){c=m(a.phoneNumber,Fb);g(b,c)}c=m(a.visibleUrl,N);var d=J(a.impressionUrl,12,12,Cb);g(c,d);g(b,c);if(a.streetAddress&&a.city&&a.region){var f=o(Db);var e=a.streetAddress+", ";c=m(e,Kb);g(f,c);e=a.city+", ";c=m(e,Eb);g(f,c);e=a.region;c=m(e,Hb);g(f,c);g(b,f)}a.html=b;
this.B(a.html)}
;GlocalSearch.prototype.setCenterPoint=function(a){if(a.centerAndZoom){this.ca=true;this.z=a;this.r=null;this.w="";if(this.j){this.j=null}}else if(a.setCenter){this.ca=false;this.z=a;this.r=null;this.w="";if(this.j){this.j=null}}else if(a.x&&a.y){this.ca=true;this.r=a;this.z=null;this.w="";if(this.j){this.j=null}}else{if(a!=null&&a!=""){this.ca=true;this.z=null;this.w=a;this.r=null;if(this.j){this.j=null}var b=new GlocalSearch;b.setSearchCompleteCallback(this,this.kb,[b,a]);b.execute(a)}}}
;GlocalSearch.prototype.kb=function(a,b){if(a.results&&a.results.length){if(window.GMap){var c=new GPoint(parseFloat(a.results[0].lng),parseFloat(a.results[0].lat));this.r=c}else{this.r=null}this.w=b;this.Z=true;this.z=null}}
;var zc=GlocalSearch.prototype.Qa=function(a,b){if(b){if(this.j==null){var c=null;if(this.z==null){var d=o(qa);this.j=Za(null,Sc,this.w==""?null:this.w);g(d,m(i["search-location"],Rc));g(d,this.j);g(a,d);c=this.j}d=o("gsc-configSetting");this.R=ka(null,"0",this.S?true:false,pa);g(d,this.R);g(d,m(i["disable-address-lookup"],oa));if(c==null){c=this.R}var f=m(null,"gsc-configSettingSubmit");g(f,ca(i["close"],T));g(d,f);g(a,d);c.focus()}}else{if(this.j){if(this.j.value){this.w=this.j.value;this.setCenterPoint(
this.w)}this.j=null}if(this.R){if(this.R.checked){this.S=true}else{this.S=false}this.R=null}Q(a)}}
;var tc=GlocalSearch.ADDRESS_LOOKUP_DISABLED="disabled";var uc=GlocalSearch.ADDRESS_LOOKUP_ENABLED="enabled";GlocalSearch.prototype.setAddressLookupMode=function(a){if(a==tc){this.S=true}else if(a==uc){this.S=false}}
;var wc=GlocalSearch.STATIC_MAP_ZOOM_FARTHEST=17;GlocalSearch.STATIC_MAP_ZOOM_DEFAULT=4;var vc=GlocalSearch.STATIC_MAP_ZOOM_CLOSEST=0;var lb=GlocalSearch.STATIC_MAP_MAX_POINTS=8;var Ac=GlocalSearch.resizeStaticMapUrl=function(a,b,c,d){var f=a.staticMapUrl;f=f.replace(/&h=\d*/,"&h="+b);f=f.replace(/&w=\d*/,"&w="+c);if(d&&d>=vc&&d<=wc){f=f.replace(/&zl=\d*/,"&zl="+d)}a.staticMapUrl=f;return f}
;GlocalSearch.computeStaticMapUrl=function(a,b,c,d){var f="&Point=b&Point.latitude_e6=__LAT__&Point.longitude_e6=__LNG__&Point.iconid=__ICONID__&Point=e";var e="";var h="http://mt.google.com/mapdata?cc=us&tstyp=5&zl=4&w=150&h=100";var j=new Object;j.staticMapUrl=h;h=Ac(j,b,c,d);if(d==null){h=h.replace(/&zl=\d*/,"")}var l=a.length;if(l>lb){l=lb}for(var p=0;p<l;p++){var q;var r;var s=a[p];if(s.lat&&s.lng){if(typeof s.lat=="string"){q=parseFloat(s.lat);r=parseFloat(s.lng)}else{q=s.lat;r=s.lng}}else if(
s.x&&s.y){q=s.y;r=s.x}else{return null}var x=q*1000000;var F=r*1000000;var v=f.replace(/__LAT__/,x);v=v.replace(/__LNG__/,F);var y=51+p;if(l==1){y=15}v=v.replace(/__ICONID__/,y);e=e+v}var C=h+e;return C}
;
function GblogSearch(){GSearch.call(this);this.m="blog";this.H="/GblogSearch";this.M="http://blogsearch.google.com/blogsearch";this.c=null;this.f=false;this.Z=true;this.K=P(this,pc);this.Y="gsc-blogConfig";this.b=null}
GblogSearch.E(GSearch);GblogSearch.RESULT_CLASS="GblogSearch";GblogSearch.AD_CLASS="GwebSearch.ad";var Da=GblogSearch.N=new Array;GblogSearch.RawCompletion=function(a,b,c,d,f){var e=0;if(a){e=parseInt(a)}var h=Da[e];Da[e]=null;h.onSearchComplete(b,c,d,f)}
;GblogSearch.prototype.u=function(a,b,c){var d;if(c==null){d=K(Da,this)}else{d=c}var f;if(b==null){f="GblogSearch.RawCompletion"}else{f=b}var e=this.F(f,d);if(a){var h;var j=a;if(this.h){j=j+" "+this.h}if(this.c){j=j+" blogurl:"+this.c}h="&q="+encodeURIComponent(j);if(this.f){h=h+"&scoring=d"}e=e+h;this.i=h}return e}
;GblogSearch.prototype.createResultHtml=function(a){if(a.html){delete a.html}var b=o(this.C());n(b,E);var c;c=u(a.postUrl,a.title,this.d(),I);g(b,c);var d=new Date(a.publishedDate);c=m(this.formatToShortDate(d),ua);g(b,c);d=new Date(a.publishedDate);c=m(this.formatToRelativeDate(d),Ib);g(b,c);c=m(a.content,M);g(b,c);c=u(a.blogUrl,a.blogUrl,this.d(),N);g(b,c);a.html=b;this.B(a.html)}
;GblogSearch.prototype.setSiteRestriction=function(a){if(a==null||a==""){this.c=null}else{this.c=a}}
;GblogSearch.prototype.setResultOrder=function(a){if(a==Y){this.f=true}else if(a==Z){this.f=false}else{this.f=false}}
;var pc=GblogSearch.prototype.Qa=function(a,b){if(b){if(this.b==null){var c=o(qa);this.b=ka(null,"0",this.f?true:false,pa);g(c,this.b);g(c,m(i["sort-by-date"],oa));var d=o(T);g(d,ca(i["close"],T));g(c,d);g(a,c);this.b.focus()}else{this.b.checked=this.f?true:false;this.b.focus()}}else{if(this.b){if(this.b.checked){this.setResultOrder(Y)}else{this.setResultOrder(Z)}}}}
;
function GvideoSearch(){GSearch.call(this);this.m="video";this.H="/GvideoSearch";this.M="http://video.google.com/videosearch";this.f=false;this.Z=true;this.K=P(this,Hc);this.Y="gsc-videoConfig";this.b=null}
GvideoSearch.E(GSearch);var Gc=GvideoSearch.RESULT_CLASS="GvideoSearch";GvideoSearch.AD_CLASS="GwebSearch.ad";var Ka=GvideoSearch.N=new Array;GvideoSearch.RawCompletion=function(a,b,c,d,f){var e=0;if(a){e=parseInt(a)}var h=Ka[e];Ka[e]=null;h.onSearchComplete(b,c,d,f)}
;GvideoSearch.prototype.u=function(a,b,c,d){var f;if(c==null){f=K(Ka,this)}else{f=c}var e;if(b==null){e="GvideoSearch.RawCompletion"}else{e=b}var h=this.F(e,f,d);if(a){var j;var l=a;if(this.h){l=l+" "+this.h}j="&q="+encodeURIComponent(l);if(this.f){j=j+"&scoring=d"}h=h+j;this.i=j;if(d&&d!=0){this.i=this.i+"&start="+d}}return h}
;GvideoSearch.prototype.createResultHtml=function(a){if(a.html){delete a.html}var b=o(this.C());n(b,E);var c=o(sa);var d=o(ia);var f=W();var e=O(f,0);var h=w(e,sa);var j=w(e,ia);g(h,c);g(j,d);g(b,f);var l=GSearch.scaleImage(a.tbWidth,a.tbHeight,this.l);var p=J(a.tbUrl,l.width,l.height,H);var q=da(a.url,null,this.d(),H);B(q,H);g(q,p);g(c,q);var r;r=u(a.url,a.title,this.d(),I);g(d,r);var s=m(a.content,M);if(na()){s.style.height="2.6em"}g(d,s);var x=new Date(a.published);r=m(this.formatToShortDate(x)
,ua);g(d,r);var F="http://"+a.publisher;r=u(F,a.publisher,this.d(),Gb);g(d,r);a.html=b;this.B(a.html)}
;GvideoSearch.createPlayer=function(a,b){var c=null;if(a.playUrl&&a.playUrl!=""){var d=a.playUrl;var f=nd;if(b){f=b}if(pb()){var e=document.createElement("object");e.className=f;e.setAttribute("type","application/x-shockwave-flash");e.setAttribute("data",d);c=o(b);c.appendChild(e)}else{var e=document.createElement("embed");e.className=f;e.setAttribute("type","application/x-shockwave-flash");e.setAttribute("src",d);if(a.videoType){if(a.videoType=="Google"){e.setAttribute("bgcolor","#000000")}else{
e.setAttribute("wmode","transparent")}}else{e.setAttribute("bgcolor","#000000")}c=o(b);c.appendChild(e)}}return c}
;GvideoSearch.prototype.setResultOrder=function(a){if(a==Y){this.f=true}else if(a==Z){this.f=false}else{this.f=false}}
;var Hc=GvideoSearch.prototype.Qa=function(a,b){if(b){if(this.b==null){var c=o(qa);this.b=ka(null,"0",this.f?true:false,pa);g(c,this.b);g(c,m(i["sort-by-date"],oa));var d=o(T);g(d,ca(i["close"],T));g(c,d);g(a,c);this.b.focus()}else{this.b.checked=this.f?true:false;this.b.focus()}}else{if(this.b){if(this.b.checked){this.setResultOrder(Y)}else{this.setResultOrder(Z)}}}}
;
function GbookSearch(){GSearch.call(this);this.m="book";this.H="/GbookSearch";this.M="http://books.google.com/books";this.ka=false}
GbookSearch.E(GSearch);GbookSearch.RESULT_CLASS="GbookSearch";GbookSearch.AD_CLASS="GwebSearch.ad";var qc=GbookSearch.TYPE_ALL_BOOKS=1;var rc=GbookSearch.TYPE_FULL_VIEW_BOOKS=2;var Ea=GbookSearch.N=new Array;GbookSearch.RawCompletion=function(a,b,c,d,f){var e=0;if(a){e=parseInt(a)}var h=Ea[e];Ea[e]=null;h.onSearchComplete(b,c,d,f)}
;GbookSearch.prototype.u=function(a,b,c){var d;if(c==null){d=K(Ea,this)}else{d=c}var f;if(b==null){f="GbookSearch.RawCompletion"}else{f=b}var e=this.F(f,d);if(a){var h;var j=a;if(this.h){j=j+" "+this.h}h="&q="+encodeURIComponent(j);if(this.ka){h=h+"&as_brr=1"}e=e+h;this.i=h}return e}
;GbookSearch.prototype.createResultHtml=function(a){if(a.html){delete a.html}a.thumbnailHtml=this.pb(a);var b=o(this.C());n(b,E);var c=o(ia);var d=W();var f=O(d,0);var e=w(f,sa);var h=w(f,ia);g(e,a.thumbnailHtml.cloneNode(true));g(h,c);g(b,d);var j;j=u(a.unescapedUrl,a.title,this.d(),I);g(c,j);j=m(i["by"]+"&nbsp;"+a.authors,od);g(c,j);j=o(va);g(c,j);if(a.publishedYear){j=m(a.publishedYear,ua);g(c,j)}if(parseInt(a.pageCount)>0){j=m("-&nbsp;"+i["page-count"](a.pageCount),Ad);g(c,j)}j=u("http://books.google.com"
,"books.google.com",this.d(),N);g(c,j);a.html=b;this.B(a.html)}
;GbookSearch.prototype.pb=function(a){var b="http://books.google.com/googlebooks/";var c=o(pd);var d=o(Ed);var f=J(b+"pages-trans.gif",null,null,Cd);g(d,f);f=J(b+"p_edge-trans.gif",null,null,Bd);g(d,f);g(c,d);d=o(Fd);var e=GSearch.scaleImage(a.tbWidth,a.tbHeight,this.l);f=J(a.tbUrl,e.width,e.height,H);var h=da(a.unescapedUrl,null,this.d(),H);B(h,H);g(h,f);g(d,h);g(c,d);return c}
;GbookSearch.prototype.setRestriction=function(a,b){if(a==Xb){if(b){if(b==qc){this.ka=false}else if(b==rc){this.ka=true}else{this.setRestriction(a,null)}}else{this.ka=false}}}
;
function GsearcherOptions(){this.v=aa;this.cb=this.v;this.root=null;this.l={width:112,height:84};this.Ba={width:100,height:75};this.da=null}
GsearcherOptions.prototype.setExpandMode=function(a){switch(a){case Zb:case ea:case aa:this.v=a;break;default:this.v=aa;break}this.cb=this.v}
;GsearcherOptions.prototype.setRoot=function(a){Q(a);this.root=a}
;GsearcherOptions.prototype.setNoResultsString=function(a){this.da=a}
;GsearcherOptions.prototype.setImageResultsTbHeight=function(a){if(a>100){a=100}this.l.height=a;this.l.width=Math.round(a*1.33)}
;GsearcherOptions.prototype.setVideoResultsTbHeight=function(a){if(a>100){a=100}this.Ba.height=a;this.Ba.width=Math.round(a*1.33)}
;function GdrawOptions(){this.input=null;this.eb=null;this.t=$}
GdrawOptions.prototype.setInput=function(a){this.input=a}
;GdrawOptions.prototype.setSearchFormRoot=function(a){this.eb=a}
;GdrawOptions.prototype.setDrawMode=function(a){if(a==$||a==la){this.t=a}else{this.t=$}}
;function R(a,b,c){this.e=c;this.La=false;this.Ea=false;this.gs=a;this.g=null;this.Db=t(b,mc,[this]);this.Gb=t(b,za,[this,Ca]);this.Fb=t(b,za,[this,Ba]);this.Eb=t(b,za,[this,kb]);this.Cb=t(b,lc,[this]);this.Bb=t(b,ic,[this]);this.gs.setSearchCompleteCallback(b,GSearchControl.prototype.onSearchComplete,[this]);this.gs.setResultSetSize(b.resultSetSize);this.gs.setLinkTarget(b.O);this.root=null;this.Aa=null;this.U=null;this.Ra=null;this.I=null;this.T=null;this.o=null;this.ba=true}
GSearchControl.NO_RESULTS_DEFAULT_STRING=i["no-results"];var fc=GSearchControl.TIMEOUT_SHORT=350;var ya=GSearchControl.TIMEOUT_MEDIUM=500;var ec=GSearchControl.TIMEOUT_LONG=700;var Zb=GSearchControl.EXPAND_MODE_CLOSED=1;var ea=GSearchControl.EXPAND_MODE_OPEN=2;var aa=GSearchControl.EXPAND_MODE_PARTIAL=3;var $=GSearchControl.DRAW_MODE_LINEAR=1;var la=GSearchControl.DRAW_MODE_TABBED=2;function GSearchControl(a){if(!UDS_KeyVerified){if(GSearchControl.keyCheck()){UDS_KeyVerified=true}else{return}}this.resultSetSize=
G;this.t=$;this.root=null;this.searchButton=null;this.input=null;this.xa=ya;this.wb=t(this,jc,[null]);this.xb=t(this,kc,[null]);this.ea=null;this.Ta=null;this.Sa=null;this.V=null;this.zb=false;this.X=false;this.O=cb;this.ma=i["copy"];this.a=new Array;this.Ca=new Array;var b;if(a){for(var c=0;c<a.length;c++){b=new R(a[c],this,false);this.a.push(b)}}}
try{GSearchControl.appPath=window.location.href}catch(Pd){GSearchControl.appPath=null}GSearchControl.keyCheck=function(){var a=true;if(Od(window.location.host)){return true}if(UDS_LoadFailure){if(UDS_OriginalAppPath&&GSearchControl.appPath){if(GSearchControl.appPath==UDS_OriginalAppPath){UDS_LoadFailure=false;a=true}else{UDS_LoadFailure=false;a=true}}}UDS_KeyVerified=true;UDS_LoadFailure=false;return a}
;GSearchControl.prototype.addSearcher=function(a,b){if(!b){b=new GsearcherOptions}if(a.m=="ad"){this.Ca.push(a)}else{a.G=null;var c=new R(a,this,b);this.a.push(c)}}
;GSearchControl.prototype.draw=function(a,b){var c=null;var d=null;if(b){if(b.t){this.t=b.t;c=b.input;d=b.eb}else{this.t=$}}else{this.t=$}this.root=o(Tc);if(c!=null){this.input=c;this.input.onkeyup=this.wb;this.input.onpaste=this.xb}else{if(d==null){d=this.root}var f=new GSearchForm(true,d);f.setOnSubmitCallback(this,GSearchControl.prototype.submit);f.setOnClearCallback(this,GSearchControl.prototype.clearAllResults);this.input=f.input}this.W=o(U);if(this.t==la){this.A=o(Bb);g(this.root,this.A);this.k=
new Array;this.q=0;for(var e=0;e<this.a.length;e++){var h=new Object;var j=this.a[e].gs.vb();j=j.replace(/ /g,"&nbsp;");h.D=m(j);h.J=null;h.D.onclick=t(this,nc,[e]);this.k[e]=h;g(this.A,h.D);var l=va;if(pb()){l=l+" "+va+"-opera"}var p=xa(" ",l);g(this.A,p);this.a[e].e.setExpandMode(ea)}}g(this.root,this.W);for(var e=0;e<this.a.length;e++){if(this.a[e].e.root){this.a[e].ba=false;this.a[e].root=this.a[e].e.root;n(this.a[e].root,Ra);z(this.a[e].root,L);n(this.a[e].root,U)}else{this.a[e].root=o(Ra)}if(
this.a[e].gs.ga){var q=Ra+"-"+this.a[e].gs.ga;n(this.a[e].root,q)}if(this.t==la){this.k[e].J=this.a[e].root}var r=W(null,null,dd);var s=O(r,0);this.a[e].Q=w(s,ld);var x=w(s,Pc);this.a[e].Aa=m("",md);g(this.a[e].Q,this.a[e].Aa);var F=m(this.a[e].gs.tb(),jd);g(this.a[e].Aa,F);this.a[e].U=m("",gd);g(this.a[e].Q,this.a[e].U);var v=m();var y=m(i["blank"],cd);var C=m(i["blank"],bd);var D=m(i["blank"],ad);y.title=i["show-one-result"];C.title=i["show-more-results"];D.title=i["show-all-results"];g(v,y);g(
v,C);g(v,D);y.onclick=this.a[e].Gb;C.onclick=this.a[e].Fb;D.onclick=this.a[e].Eb;this.a[e].Ra=v;this.a[e].Ua(Aa);g(this.a[e].Q,this.a[e].Ra);this.a[e].Aa.onclick=this.a[e].Db;if(this.a[e].gs.K){this.a[e].n=xa("",Qc);ab(this.a[e].n,i["blank"]);n(this.a[e].n,ha);g(x,this.a[e].n);this.a[e].n.onclick=this.a[e].Cb;this.a[e].n.title=i["settings"];this.a[e].I=o(ub);n(this.a[e].I,this.a[e].gs.Y);this.a[e].T=Ya(ub);n(this.a[e].T,this.a[e].gs.Y);this.a[e].T.onsubmit=this.a[e].Bb;g(this.a[e].I,this.a[e].T);
this.a[e].I.style.display="none"}this.a[e].o=o(ed);n(this.a[e].o,this.a[e].gs.Na());if(this.a[e].e.root==null){g(this.W,this.a[e].root)}g(this.a[e].root,r);if(this.a[e].I){g(this.a[e].root,this.a[e].I)}g(this.a[e].root,this.a[e].o)}if(this.t==la){for(var e=0;e<this.a.length;e++){n(this.k[e].D,id);n(this.k[e].J,hd);if(e==this.q){n(this.k[e].D,Ua);n(this.k[e].J,Sa)}else{n(this.k[e].D,Va);n(this.k[e].J,Ta)}}}if(a){Rb(a,this.root);var fa=this.sb();if(fa&&fa<300){this.zb=true;n(this.root,$c)}}}
;GSearchControl.prototype.setTimeoutInterval=function(a){switch(a){case fc:case ya:case ec:this.xa=a;break;default:this.xa=ya;break}}
;var dc=GSearchControl.KEEP_LABEL_SAVE="save";var cc=GSearchControl.KEEP_LABEL_KEEP="keep";var bc=GSearchControl.KEEP_LABEL_INCLUDE="include";var ac=GSearchControl.KEEP_LABEL_COPY="copy";var $b=GSearchControl.KEEP_LABEL_BLANK="blank";GSearchControl.prototype.setOnKeepCallback=function(a,b,c){if(c){switch(c){case dc:case cc:case bc:case ac:case $b:this.ma=i[c];break;default:this.ma=c;break}}this.ea=P(a,b)}
;var nc=GSearchControl.prototype.ce=function(a){if(this.q==a){return}z(this.k[this.q].D,Ua);z(this.k[this.q].J,Sa);n(this.k[this.q].D,Va);n(this.k[this.q].J,Ta);this.q=a;n(this.k[this.q].D,Ua);n(this.k[this.q].J,Sa);z(this.k[this.q].D,Va);z(this.k[this.q].J,Ta)}
;GSearchControl.prototype.submit=function(){if(this.input.value.length){this.execute()}else{this.clearAllResults()}return false}
;GSearchControl.prototype.execute=function(a){var b;if(a){b=a;this.input.value=b}else{b=this.input.value}if(b.length){this.X=false;B(this.W,L);if(this.A){B(this.A,Wa)}for(var c=0;c<this.a.length;c++){if(!this.a[c].ba){z(this.a[c].root,U);n(this.a[c].root,L)}if(this.Ta){this.Ta(this,this.a[c].gs,b)}if(this.a[c].gs.G){this.a[c].gs.G=null}this.a[c].gs.execute(b)}for(var c=0;c<this.Ca.length;c++){this.Ca[c].execute(b)}}}
;var jc=GSearchControl.prototype.Sd=function(){var a=this.input.value;if(a&&a!=""){if(this.V){clearTimeout(this.V)}this.V=setTimeout(t(this,GSearchControl.prototype.execute,[null]),this.xa)}}
;var kc=GSearchControl.prototype.Td=function(){if(this.V){clearTimeout(this.V)}this.V=setTimeout(t(this,GSearchControl.prototype.execute,[null]),this.xa)}
;GSearchControl.prototype.setResultSetSize=function(a){var b=true;switch(a){case X:this.resultSetSize=a;b=true;break;default:case G:this.resultSetSize=G;b=false;break}for(var c=0;c<this.a.length;c++){this.a[c].gs.setResultSetSize(a)}}
;GSearchControl.prototype.setLinkTarget=function(a){this.O=a;for(var b=0;b<this.a.length;b++){this.a[b].gs.setLinkTarget(a)}}
;GSearchControl.prototype.setNoResultsString=function(a){for(var b=0;b<this.a.length;b++){this.a[b].e.setNoResultsString(a)}}
;var mc=GSearchControl.prototype.Xd=function(a){if(a.La){this.P(a,false)}else{this.P(a,true)}}
;GSearchControl.prototype.P=function(a,b,c){if(!b){z(a.Q,ra);n(a.Q,ha);a.La=false;a.o.style.display="none";if(c){var d="(0)";a.U.innerHTML=d}else{var d="("+(a.gs.results.length+a.gs.adResults.length)+")";a.U.innerHTML=d}}else{z(a.Q,ha);n(a.Q,ra);a.La=true;a.o.style.display="block"}}
;var ic=GSearchControl.prototype.Rd=function(a){this.fa(a,false,true);return false}
;var lc=GSearchControl.prototype.Wd=function(a){if(a.gs.Z){if(a.Ea){this.fa(a,false,true)}else{this.fa(a,true,true)}}}
;GSearchControl.prototype.fa=function(a,b,c){if(!b){if(a.n){z(a.n,ra);n(a.n,ha);a.n.innerHTML=i["blank"];a.Ea=false;a.gs.K(a.T,false);a.I.style.display="none";if(c){this.execute()}}}else{if(a.n){n(a.n,ra);z(a.n,ha);a.n.innerHTML=i["close"];a.Ea=true;a.I.style.display="block";a.gs.K(a.T,true)}}}
;var jb=GSearchControl.prototype.Ud=function(a,b){if(this.ea){b.gs.$a();this.ea(a)}}
;GSearchControl.prototype.cancelSearch=function(){this.X=true}
;GSearchControl.prototype.clearAllResults=function(){this.input.value="";B(this.W,U);if(this.A){B(this.A,Bb)}for(var a=0;a<this.a.length;a++){if(!this.a[a].ba){z(this.a[a].root,L);n(this.a[a].root,U)}var b=this.a[a];Q(b.o);b.g=null;this.P(b,false,true);this.fa(b,false,false)}}
;GSearchControl.prototype.onSearchComplete=function(a){var b;var c;var d=false;var f;if(this.X){return}Q(a.o);a.g=null;this.P(a,false,true);this.fa(a,false,false);a.Ua(Aa);var e=a.gs.results;if(a.gs.aa&&a.gs.completionStatus>=400){e=new Array;e.push(a.gs.qb())}else if(e.length==0&&a.e.da&&a.gs.completionStatus==200){e=new Array;e.push(a.gs.rb(a.e.da))}for(var c=0;c<e.length;c++){b=e[c];if(!b.html){a.gs.createResultHtml(b)}if(b.html){d=true;f=o(a.gs.Na());n(f,Qa);if(a.gs.ga){var h=Qa+"-"+a.gs.ga;n(
f,h)}var j=b.html.cloneNode(true);if(b.GsearchResultClass==sc){if(a.e.l){if(a.e.l.width!=a.gs.l.width||a.e.l.height!=a.gs.l.height){var l=j.getElementsByTagName("img");for(var p=0;p<l.length;p++){GSearch.scaleImage(b.tbWidth,b.tbHeight,a.e.l,l[p],true)}}}}else if(b.GsearchResultClass==Gc){if(a.e.Ba){var l=j.getElementsByTagName("img");for(var p=0;p<l.length;p++){GSearch.scaleImage(b.tbWidth,b.tbHeight,a.e.Ba,l[p])}}}g(f,j);if(this.ea){var q=this.ma;var r=m("",wb);ab(r,q);g(f,r);r.onclick=t(this,jb,
[b,a])}var s=a.gs.bb;if(c>=s){if(!a.g){a.g=o(Yc);g(a.o,a.g);if(a.e.v==aa){a.g.style.display="none"}}g(a.g,f)}else{g(a.o,f)}}}if(a.g&&a.gs.i&&a.gs.gwsUrl){f=u(a.gs.gwsUrl,i["more-results"]+"&nbsp;&raquo;",a.gs.d(),kd);if(a.gs.cursor){var x=o(Vc);var F=this.ob(a);x.appendChild(F);x.appendChild(f);g(a.g,x)}else{g(a.g,f)}}var v=a.g?a.g:a.o;if(a.gs.adResults.length){var y=o(Jc);for(var c=0;c<a.gs.adResults.length;c++){if(c==0){var f=m(i["sponsored-links"],ud);g(y,f)}b=a.gs.adResults[c];if(!b.html){a.gs.ia(
b)}if(b.html){d=true;f=o(a.gs.Na());n(f,Qa);g(f,b.html.cloneNode(true));if(this.ea){var r=m(this.ma,wb);g(f,r);r.onclick=t(this,jb,[b,a])}g(y,f)}}g(v,y)}if(!d){a.U.innerHTML="(0)";a.o.innerHTML="";this.P(a,false)}else{var C;var C="("+(a.gs.results.length+a.gs.adResults.length)+")";a.U.innerHTML=C;if(a.e.v==aa||a.e.v==ea){this.P(a,true)}else{this.P(a,false)}var D=a.gs.getAttribution(true);if(D){g(a.o,D)}}a.e.v=a.e.cb;if(this.Sa){this.Sa(this,a.gs)}}
;GSearchControl.prototype.ob=function(a){var b=o(Uc);var c=a.gs.cursor;for(var d=0;d<c.pages.length;d++){var f=Xc;if(d==c.currentPageIndex){f=f+" "+Wc}var e=m(d+1,f);e.onclick=t(this,hc,[a,d]);b.appendChild(e)}return b}
;var ib=GSearchControl.Nd={border:"border",borderColor:"border-color",borderStyle:"border-style",borderWidth:"border-width",borderTop:"border-top",borderTopColor:"border-top-color",borderTopStyle:"border-top-style",borderTopWidth:"border-top-width",borderRight:"border-right",borderRightColor:"border-right-color",borderRightStyle:"border-right-style",borderRightWidth:"border-right-width",borderBottom:"border-bottom",borderBottomColor:"border-bottom-color",borderBottomStyle:"border-bottom-style",borderBottomWidth:
"border-bottom-width",borderLeft:"border-left",borderLeftColor:"border-left-color",borderLeftStyle:"border-left-style",borderLeftWidth:"border-left-width",color:"color",cssFloat:"float",styleFloat:"float",clear:"clear",cursor:"cursor",display:"display",font:"font",fontFamily:"font-family",fontSize:"font-size",fontStyle:"font-style",fontWeight:"font-weight",height:"height",margin:"margin",marginTop:"margin-top",marginRight:"margin-right",marginBottom:"margin-bottom",marginLeft:"margin-left",overflow:
"overflow",padding:"padding",paddingTop:"padding-top",paddingRight:"padding-right",paddingBottom:"padding-bottom",paddingLeft:"padding-left",textAlign:"text-align",textDecoration:"text-decoration",textTransform:"text-transform",verticalAlign:"vertical-align",visibility:"visibility",width:"width"};var gc=GSearchControl.inlineCurrentStyle=function(a,b){if(qb()){alert("GSearchControl.inlineCurrentStyle is not supported on Safari");return}var c=true;if(b){c=b}if(c){for(var d=0;d<a.childNodes.length;d++
){gc(a.childNodes[d],true)}}if(a.nodeType==1){var f;var e;var h=false;var j=false;if(window.getComputedStyle){f=window.getComputedStyle(a,null);e=true;h=true}else if(a.currentStyle){f=a.currentStyle;e=false;h=true}if(h){for(var l in f){if(ib[l]){var p=ib[l];var q=f[l];if(l=="display"&&q=="none"){a.innerHTML="";j=true}if(f[l]!=""){if(e){a.style.setProperty(p,q,"")}else{a.style.setAttribute(p,q,"")}}}}if(j){if(e==false){a.outerHTML="<div style='display:none'/>"}}}}}
;GSearchControl.prototype.sb=function(a){var b=a?a:this.root;var c=null;if(window.getComputedStyle){c=window.getComputedStyle(b,null)}else if(b.currentStyle){c=b.currentStyle}else if(document.defaultView.getComputedStyle){c=document.defaultView.getComputedStyle(b,null)}if(c){return parseInt(c["width"])}else{return 300}}
;GSearchControl.prototype.setSearchCompleteCallback=function(a,b){this.Sa=P(a,b)}
;GSearchControl.prototype.setSearchStartingCallback=function(a,b){this.Ta=P(a,b)}
;var Aa=R.SRC_INIT=0;var Ca=R.SRC_ONE=1;var Ba=R.SRC_MORE=2;var kb=R.SRC_ALL=3;R.prototype.Ua=function(a){var b=fd+" ";if(a==Aa){if(this.e.v==aa){b+=yb}else if(this.gs.getResultSetSize()==G){b+=xb}else{b+=rb}}else if(a==Ca){b+=yb}else if(a==Ba){b+=xb}else{b+=rb}B(this.Ra,b)}
;var za=GSearchControl.prototype.Vd=function(a,b){a.Ua(b);var c=false;switch(b){default:case Ca:if(a.g){a.g.style.display="none"}break;case Ba:if(a.g){a.g.style.display="block"}if(a.gs.getResultSetSize()!=G){c=true}a.gs.setResultSetSize(G);break;case kb:if(a.g){a.g.style.display="block"}if(a.gs.getResultSetSize()!=X){c=true}a.gs.setResultSetSize(X);break}if(c){var d;d=this.input.value;if(d.length){this.X=false;B(this.W,L);if(this.A){B(this.A,Wa)}if(!a.ba){z(a.root,U);n(a.root,L)}a.e.v=ea;a.gs.execute(
d)}}}
;var hc=GSearchControl.prototype.Za=function(a,b){this.X=false;B(this.W,L);if(this.A){B(this.A,Wa)}if(!a.ba){z(a.root,U);n(a.root,L)}a.e.v=ea;a.gs.Za(b)}
;function GSearchForm(a,b,c){var d=Ya(zb);d.acceptCharset="utf-8";var f=null;var e=i["search-uc"];var h=i["search"];if(c){if(c.buttonText){e=c.buttonText;h=c.buttonText}if(c.clickableBrandingUrl){var j="http://www.google.com";if(typeof c.clickableBrandingUrl=="string"&&c.clickableBrandingUrl.match(/^http:\/\/[a-z]*\.google\.com/)){j=c.clickableBrandingUrl}f=da(j,null,"_BLANK");f.className=Lc}}this.searchButton=ca(e,Ab);this.searchButton.title=h;var l;if(a){l=Mc;this.Da=m(i["blank"],tb);this.Da.title=
i["clear-results"]}else{l=Nc}this.input=Za(null,vb,null);this.input.name="search";var p=W(null,null,zb);g(d,p);var q=O(p,0);this.ab=w(q,vb);var r=w(q,Ab);if(a){var s=w(q,tb);g(s,this.Da)}g(this.ab,this.input);g(r,this.searchButton);var x=W(null,null,Kc);g(d,x);q=O(x,0);this.userDefinedCell=w(q,Oc);var F=w(q,sb);var v=w(q,l);var y=m(i["powered-by"],sb);var C=UDS_ServiceBase+"/css/small-logo.png";var D=bb(C,51,15,l);g(F,y);if(f){g(f,D);g(v,f)}else{g(v,D)}this.db=d;Q(b);g(b,this.db)}
GSearchForm.prototype.setOnSubmitCallback=function(a,b){this.fb=t(this,oc,[this]);this.va=t(a,b,[this]);this.db.onsubmit=this.fb;this.searchButton.onclick=this.fb}
;GSearchForm.prototype.setOnClearCallback=function(a,b){this.Da.onclick=t(a,b,[this])}
;var oc=GSearchForm.prototype.be=function(a){var b=this.ab.offsetWidth;var c=this.input.value;if(this.va){this.va()}if(na()){var d=this;var f;if(c.length*8>=b){f=b-6}else{f="99%"}setTimeout(function(){d.input.style.width=f}
,1)}return false}
;GSearchForm.prototype.execute=function(a){if(a){this.input.value=a}if(this.va){this.va()}}
;
google_exportSymbol("google.search.WebSearch",GwebSearch);google_exportSymbol("google.search.BookSearch",GbookSearch);google_exportSymbol("google.search.BlogSearch",GblogSearch);google_exportSymbol("google.search.VideoSearch",GvideoSearch);google_exportSymbol("google.search.NewsSearch",GnewsSearch);google_exportSymbol("google.search.LocalSearch",GlocalSearch);google_exportSymbol("google.search.ImageSearch",GimageSearch);google_exportSymbol("google.search.AdSenseSearch",GadSenseSearch);google_exportSymbol(
"google.search.SaSearch",GsaSearch);google_exportSymbol("google.search.Search",GSearch);google_exportSymbol("google.search.SearchControl",GSearchControl);google_exportSymbol("google.search.SearchForm",GSearchForm);google_exportSymbol("google.search.SearcherOptions",GsearcherOptions);google_exportSymbol("google.search.DrawOptions",GdrawOptions);google_exportSymbol("GwebSearch",GwebSearch);google_exportSymbol("GbookSearch",GbookSearch);google_exportSymbol("GblogSearch",GblogSearch);google_exportSymbol(
"GvideoSearch",GvideoSearch);google_exportSymbol("GnewsSearch",GnewsSearch);google_exportSymbol("GlocalSearch",GlocalSearch);google_exportSymbol("GimageSearch",GimageSearch);google_exportSymbol("GadSenseSearch",GadSenseSearch);google_exportSymbol("GsaSearch",GsaSearch);google_exportSymbol("GSearch",GSearch);google_exportSymbol("GSearchControl",GSearchControl);google_exportSymbol("GSearchForm",GSearchForm);google_exportSymbol("GsearcherOptions",GsearcherOptions);google_exportSymbol("GdrawOptions",
GdrawOptions);

 })()
