/******************************************************************************
 * Global
 ******************************************************************************/

var animateDuration = 200; // Milliseconds
var transitionTime = 5000; // Milliseconds
var loaderHTML = "<span class=\"loader\">Carregando...</span>";
var marginWheel = 100;




/******************************************************************************
 * jqDnR - Minimalistic Drag'n'Resize for jQuery.
 *
 * Copyright (c) 2007 Brice Burgess <bhb@iceburg.net>, http://www.iceburg.net
 * Licensed under the MIT License:
 * http://www.opensource.org/licenses/mit-license.php
 * 
 * $Version: 2007.08.19 +r2
 * Adaptado por Terra Networks - Equipe Webdev
 * Atualizado por Terra Networks - Equipe Arte Brasil 
 *
 ******************************************************************************/

(function($){
	$.fn.jqDrag=function(h,fDrag,fStop){return i(this,h,'d',fDrag,fStop);};
	$.fn.jqResize=function(h){return i(this,h,'r');};
	$.jqDnR={dnr:{},e:0,
		drag:function(v,fDrag){
			if(M.k == 'd') E.css({left:Math.max(Math.min(M.X+v.pageX-M.pX,E.parent().width() - E.width()),0),top:Math.max(Math.min(M.Y+v.pageY-M.pY,E.parent().height() - E.height()),0)});
			else E.css({width:Math.max(v.pageX-M.pX+M.W,0),height:Math.max(v.pageY-M.pY+M.H,0)});
			if (fDrag) fDrag();
			return false;
		},
		stop:function(fStop){E.css('opacity',M.o);$().unbind('mousemove').unbind('mouseup');if(fStop)fStop();}
	};
	var J=$.jqDnR,M=J.dnr,E=J.e,
	i=function(e,h,k,fDrag,fStop){
		return e.each(
			function(){h=(h)?$(h,e):e;
				h.bind('mousedown',{e:e,k:k},function(v){
					var d=v.data,p={};E=d.e;
					$("html").bind('dragstart', function(){return false;}).bind('selectstart', function(){return false;});

					// attempt utilization of dimensions plugin to fix IE issues
					if(E.css("position") != "absolute"){try{E.css("position","absolute");}catch(e){}
				}
				M={X:p.left||f('left')||0,Y:p.top||f('top')||0,W:f('width')||E[0].scrollWidth||0,H:f('height')||E[0].scrollHeight||0,pX:v.pageX,pY:v.pageY,k:d.k,o:E.css('opacity')};
				E.css({opacity:0.8});$().mousemove(function(v) { $.jqDnR.drag(v,fDrag) }).mouseup(function() { $.jqDnR.stop(fStop);$("html").unbind("dragstart").unbind("selectstart"); });
				return false;
			});
		});
	},
	f=function(k){return parseInt(E.css(k))||false;};
})(jQuery);





/******************************************************************************
 * Scrolling 2.0 - Terra Networks - Equipe Webdev
 * Atualizado por Terra Networks - Equipe Arte Brasil 
 * 2008
 * Modulo independente
 *
 * COMO UTILIZAR
 * 
 * Para utilizar o scrolling deve ser utilizada uma div com a classe scrolling
 *
 ******************************************************************************/

(function($) {

	$.fn.extend({

		// scrolling
		scrolling: function() {

			$(this).each(function(i) {
				var objScrolling = $(this);
				
				// Show combobox
				var combobox = objScrolling.parents(".combobox");
				if (combobox.size() > 0) {
					combobox.find(".scr-listvalues").show();
				}

				// Unbind wheel
				objScrolling.unmousewheel();
				
				var scr_innercontent = document.getElementById('scroll_conteudo');
				var divs = scr_innercontent.getElementsByTagName("li");
				scr_innercontent.style.width = ((divs.length * 106)-17) + "px";
				
				if (objScrolling.find(".scroll_conteudo").height() > objScrolling.height() || objScrolling.find(".scroll_conteudo").width() > objScrolling.width()) { // Scrolling
					if (objScrolling.find(".scr-scrollbar").size() == 0) {
						objScrolling.append("<div class=\"scr-scrollbar hide\">" +
												"<div class=\"scr-track\"><!-- --></div>" +
												"<div class=\"scr-bar\"><!-- --></div>" +
											"</div>" +
											"<div class=\"clear\"><!-- --></div>");
					}
		
					objScrolling.find(".scroll").addClass("content-scroll");

					// Reset position
					$(document).ready(function() {
						objScrolling.find(".scroll").get(0).scrollTop = 0;
						objScrolling.find(".scroll").get(0).scrollLeft = 0;
					});

					// Track
					objScrolling.find(".scr-track").unbind("click").click(function(e) {
						if (objScrolling.hasClass("scroll_horizontal")) { // Horizontal
							$(this).parents(".scrolling").scrollBarPosition(e.pageX, 0);
						} else { // Vertical
							$(this).parents(".scrolling").scrollBarPosition(e.pageY, 0);
						}
					});

					// Drag
					objScrolling.find(".scr-bar").jqDrag(null,
						function() {
							if (objScrolling.hasClass("scroll_horizontal")) { // Horizontal
								objScrolling.scrollBarPosition(objScrolling.find(".scr-bar").css("left").replace("px",""), 1);
							} else { // Vertical
								objScrolling.scrollBarPosition(objScrolling.find(".scr-bar").css("top").replace("px",""), 1);
							}
						}
					);

					// Wheel
					objScrolling.mousewheel(function(event, delta){
						wheelScroll(delta, this);
						return false;
					});

				} else { // No scrolling
					objScrolling.find(".scroll").removeClass("content-scroll");
					objScrolling.find(".scr-scrollbar").next().remove();
					objScrolling.find(".scr-scrollbar").remove();
				}

				// Hide combobox content
				if (combobox.size() > 0) {
					combobox.find(".scr-listvalues").hide();
				}
			});



			/*
			 * Functions
			 */
			/*
			
			 * PARAMETERS
			 * - selector (.scrolling)
			 */
			function getContentPosition(selector) {
				var objScrolling = $(selector);
				return objScrolling.hasClass("scroll_horizontal") ? objScrolling.find(".scroll").get(0).scrollLeft : objScrolling.find(".scroll").get(0).scrollTop;
			}

			/*
			 * PARAMETERS
			 * - selector (.scrolling)
			 */
			function wheelScroll(delta, selector) {
				objScrolling = $(selector);

				objScrolling.scrollContentPosition(getContentPosition(selector) + (marginWheel*delta*(-1)));
			}
		},



		/*
		 * Functions
		 */

		/*
		 * PARAMETERS
		 * - position (numeric)
		 * - selector (.scrolling)
		 * - flgDrag (0 - No drag / 1 - Drag)
		 */
		scrollBarPosition: function(position, flgDrag) {
			var objScrolling = $(this);
			var objBar = objScrolling.find(".scr-bar");
			var objContent = objScrolling.find(".scroll");
			
			if (objScrolling.hasClass("scroll_horizontal")) { // Horizontal
				if (flgDrag == 0) { // No drag
					var posBarX = Math.min(Math.max(position - objScrolling.offset().left - objBar.width()/2,0),objBar.parent().width()-objBar.width());
					objBar.animate({left:posBarX+"px"},{ duration: animateDuration, queue: false });
				} else { // Drag
					var posBarX = position;
				}
				percentPosition = (100 * posBarX) / (objBar.prev().width() - objBar.width());
				var posContentX = ( (objContent.find(".scroll_conteudo").width() - objContent.width()) * percentPosition ) / 100;
				if (flgDrag == 0) {
					objContent.animate({scrollLeft: posContentX},{ duration: animateDuration, queue: false });
				} else {
					objContent.get(0).scrollLeft = posContentX;
				}

			} else { // Vertical
				if (flgDrag == 0) {
					var posBarY = Math.min(Math.max(position - objScrolling.offset().top - objBar.height()/2,0),objBar.parent().height()-objBar.height());
					objBar.animate({top:posBarY+"px"},{ duration: animateDuration, queue: false });
				} else {
					var posBarY = position;
				}
				percentPosition = (100 * posBarY) / (objBar.prev().height() - objBar.height());
				var posContentY = ( (objContent.find(".scroll_conteudo").height() - objContent.height()) * percentPosition ) / 100;
				if (flgDrag == 0) {
					objContent.animate({scrollTop: posContentY},{ duration: animateDuration, queue: false });
				} else {
					objContent.get(0).scrollTop = posContentY;
				}
			}
		},

		/*
		 * PARAMETERS
		 * - position (numeric)
		 * - selector (.scrolling)
		 */
		scrollContentPosition: function(position) {
			var objScrolling = $(this);
			var objBar = objScrolling.find(".scr-bar");
			var objContent = objScrolling.find(".scroll");

			// Stop current animation
			objContent.stop();
			objBar.stop();

			if (objScrolling.hasClass("scroll_horizontal")) { // Horizontal
				objContent.animate({scrollLeft: position},{ duration: animateDuration, queue: false });
				percentPosition = Math.min(100,Math.max(0,(position * 100) / (objContent.find(".scroll_conteudo").width() - objContent.width())));
				posBarX = ( (objBar.parent().width()-objBar.width()) * percentPosition ) / 100;
				objBar.animate({left:posBarX+"px"},{ duration: animateDuration, queue: false });

			} else { // Vertical
				objContent.animate({scrollTop: position},{ duration: animateDuration, queue: false });
				percentPosition = Math.min(100,Math.max(0,(position * 100) / (objContent.find(".scroll_conteudo").height() - objContent.height())));
				posBarY = ( (objBar.parent().height()-objBar.height()) * percentPosition ) / 100;
				objBar.animate({top:posBarY+"px"},{ duration: animateDuration, queue: false });
			}
		}
	});
})(jQuery);




/******************************************************************************
 * ElementPosition 2.0 - Terra Networks - Equipe Webdev
 * Atualizado por Terra Networks - Equipe Arte Brasil 
 * 2008
 * Modulo independente
 *
 * COMO UTILIZAR
 * 
 * Chame a funcao elementPosition para posicionar layers de acordo com o espaco disponivel no eixo Y
 *
 *
 * PARAMETROS
 *
 * Na funcao elementPosition posY e a posicao mais baixa que a layer alcanca
 * e diffPosY e a diferenca de distancia que sera utilizada para passar a layer para cima utilizando margin-top
 *
 ******************************************************************************/

/*
 * Functions
 */

// Positioning elements
function elementPosition(posY,diffPosY,selector) {
	obj = $(selector);

	// Scroll position
	scrollY = scrollTopPosition();
	windowHeight = window.innerHeight ? window.innerHeight : $("html").height();

	if (posY-scrollY+5 > windowHeight) {
		obj.css("marginTop",diffPosY+"px");
	} else {
		obj.css("marginTop",0);
	}
}

// Return the scroll top position
function scrollTopPosition() {
	var scrollY;
	if (document.all) {
		if (!document.documentElement.scrollTop) {
			scrollY = document.body.scrollTop;
		} else {
			scrollY = document.documentElement.scrollTop;
		}
	} else {
		scrollY = window.pageYOffset;
	}
	return scrollY;
}




/******************************************************************************
 * Galeria de fotos 2.0 - Terra Networks - Equipe Webdev
 * Adaptado por Terra Networks - Equipe Arte Brasil 
 * 2008
 * Modulo dependente do modulo Scrolling
 *
 * COMO UTILIZAR
 * 
 * Usar como base o exemplo abaixo
 *
 *	<div class="galeria">
 *		PARAMETROS OPCIONAIS
 *		<input type="hidden" name="galeria_legenda_oculta" value="galeria_legenda" />
 *		<input type="hidden" name="galeria_play_oculto" value="1" />
 *		LISTA DE THUMBS
 *		<ul class="thumbs" title="Clique na miniatura para ampliá-la">
 *			<li>
 *				LINK PARA A IMAGEM MEDIA
 *				<a target="_blank" href="http://vgn.img.terra.com/English/Photos/US/Sports/Olympics/82534698_10_cv572x400.jpg">
 *					<img src="http://vgn.img.terra.com/English/Photos/US/Sports/Olympics/82534698_10_cf110x76.jpg" alt="Closing Ceremonies 1" />
 *					ENDERECO DA IMAGEM MAIOR
 *					<input type="hidden" value="http://vgn.img.terra.com/English/Photos/US/Sports/Olympics/82534698_10_r800x800.jpg" name="foto_ampliada"/>
 *				</a>
 *				OPCIONAL PARA QUANDO HOUVER LEGENDA, O CONTEUDO DESTA DIV ENTRARA NA DIV SETADA NO HIDDEN "galeria_legenda_oculta"
 *				<div class="galeria_legenda_conteudo">
 *					<p>HTML caption</p>
 *				</div>
 *			</li>
 *		</ul>
 *
 *		<div class="galeria_foto">
 *			<img alt="" src="img/blank.gif" class="img-galeria" />
 *		</div>
 *	</div>
 *
 *
 * PARAMETROS
 *
 * O input com hidden citado no exemplo acima (galeria_legenda_oculta) possue como valor a class do elemento que carregara a legenda
 * O input com hidden citado no exemplo acima (galeria_play_oculto) define se a gallery vai iniciar com play - 0 = pause / 1 = play
 *
 ******************************************************************************/

(function($) {

	$.fn.extend({

		// Galeria de fotos
		galeria: function() {

			$(this).each(function(i) {
				var objGallery = $(this);
				var objListThumbs = objGallery.find(".thumbs");
				var objPlay = objGallery.find("input:hidden[name='galeria_play_oculto']");
				var objPhoto = objGallery.find(".img-galeria");
				
				if (!objPhoto.next().is("span")) {
					objPhoto.before("<span>&nbsp;</span>");
				}



				/*
				 * Events
				 */
				 
				// Thumb click
				objListThumbs.find("li>a").unbind("click").click(function() {
					objGallery.find(".galeria_botao_pause").trigger("click"); // pause
					openPhoto($(this), objGallery);
					return false;
				});

				// Previous
				objGallery.find(".galeria_botao_anterior").unbind("click").click(function() {
					objGallery.find(".galeria_botao_pause").trigger("click"); // pause
					nextPrevPhoto(objGallery,0);
					return false;
				});

				// Next
				objGallery.find(".galeria_botao_proxima").unbind("click").click(function() {
					objGallery.find(".galeria_botao_pause").trigger("click"); // pause
					nextPrevPhoto(objGallery,1);
					return false;
				});

				objGallery.find(".galeria_foto").unmousewheel().mousewheel(function(event, delta) {
					if (delta > 0) {
						objGallery.find(".galeria_botao_anterior").click();
					} else if (delta < 0) {
						objGallery.find(".galeria_botao_proxima").click();
					}
					return false;
				});

				// First
				objGallery.find(".galeria_botao_primeira").unbind("click").click(function() {
					objListThumbs.find("li:first a").trigger("click");
					return false;
				});

				// Last
				objGallery.find(".galeria_botao_ultima").unbind("click").click(function() {
					objListThumbs.find("li:last a").trigger("click");
					return false;
				});

				// Play
				objGallery.find(".galeria_botao_play").unbind("click").click(function() {
					$(this).hide();
					objGallery.find(".galeria_botao_pause").show();

					objPlay.val(1);
					nextPrevPhoto(objGallery,1);
					return false;
				});

				// Pause
				objGallery.find(".galeria_botao_pause").unbind("click").click(function() {
					$(this).hide();
					objGallery.find(".galeria_botao_play").show();
		
					clearTimeout(objPlay.val());
					objPlay.val(0);
					return false;
				});

				// Enlarge
				objGallery.find(".galeria_botao_ampliar").unbind("click").click(function() {
					objGallery.find(".galeria_botao_pause").trigger("click"); // pause
				});
				
				// Init
				openPhoto(objListThumbs.find("a:first"), this);
			});



			/*
			 * Functions
			 */

			/*
			 * PARAMETERS
			 * - e (object a)
			 * - selector (.galeria)
			 */
			function openPhoto(e, selector) {
				if (!e.parent().hasClass("active")) {
					var objGallery = $(selector);
					var objListThumbs = objGallery.find(".thumbs");
					var objPhoto = objGallery.find(".img-galeria");
					var objPlay = objGallery.find("input:hidden[name='galeria_play_oculto']");
					var objCaption = $("."+objGallery.find("input:hidden[name='galeria_legenda_oculta']").val());
					var objScrolling = objGallery.find(".scrolling");
					var indexThumb = e.parent().parent().find("li").index(e.parent().get(0));

					// Select thumb
					objListThumbs.find(">li.active").removeClass("active");
					e.parent().addClass("active");

					// Position thumbs
					tmbMargin = parseInt(e.parent().css("margin-right").replace("px",""));
					tmbWidth = e.parent().width() + tmbMargin;
					if ( (e.parent().offset().left > objScrolling.width() - tmbWidth - tmbMargin + 5) || (e.parent().offset().left < 5) ) {
						objScrolling.scrollContentPosition((indexThumb*tmbWidth-objScrolling.width()/2)+tmbWidth/2);
					}

					// Caption
					if (objCaption.size() > 0) {
						objCaption.fadeOut(animateDuration);
					}

					// Enlarge
					if (objGallery.find(".galeria_botao_ampliar").size() > 0)  {
						var link_ampliada = e.parent().find("input:hidden[name='foto_ampliada']").val();
//						alert(link_ampliada);
						if (link_ampliada) {
							objGallery.find(".galeria_botao_ampliar").removeClass("off");
							objGallery.find(".galeria_botao_ampliar_off").addClass("off");
							objGallery.find(".galeria_botao_ampliar").attr("href",link_ampliada);
						} else {
							objGallery.find(".galeria_botao_ampliar_off").removeClass("off");
							objGallery.find(".galeria_botao_ampliar").addClass("off");
							objGallery.find(".galeria_botao_ampliar").attr("href",'javascript:void(0)');
						}
					}

					// LINK_GALERIA
					if (objGallery.find(".galeria_botao").size() > 0)  {
						var link_galeria = e.parent().find("input:hidden[name='link_galeria']").val();
						if (link_galeria) {
							objGallery.find(".galeria_botao").attr("href",link_galeria);
						}
					}

					objPhoto.fadeOut(animateDuration, function() {

						$(this).attr("src",e.attr("href")).unbind("load").load(function() {

							// Play
							if (objPlay.val() != "0") {
								objGallery.find(".galeria_botao_play").hide();
								objGallery.find(".galeria_botao_pause").show();
								clearTimeout(objPlay.val());
								objPlay.val(setTimeout(function() {
									nextPrevPhoto(objGallery,1);
								},transitionTime));
							}

							$(this).fadeIn(animateDuration);

							// Caption
							if (objCaption.size() > 0) {
								objCaption.html(e.parent().find(".galeria_legenda_conteudo").html()).fadeIn(animateDuration);
							}
						});
					});
				}
			}

			/*
			 * PARAMETERS
			 * - selector (.galeria)
			 * - action (0 - Prev / 1 - Next)
			 */
			function nextPrevPhoto(selector,action) {
				var objGallery = $(selector);
				var objListThumbs = objGallery.find(".thumbs");
				var objThumb = null;
			
				if (action == 0) { // Prev
					var objThumb = objListThumbs.find(".active").prev();
					if (objThumb.size() == 0) { // Loop
						objThumb = objListThumbs.find("li:last");
					}
				} else { // Next
					var objThumb = objListThumbs.find(".active").next();
					if (objThumb.size() == 0) { // Loop
						objThumb = objListThumbs.find("li:first");
					}
				}
				openPhoto(objThumb.find("a"), selector);
			}
		}
	});
})(jQuery);


/******************************************************************************
 * Combobox 2.0 - Terra Networks - Equipe Webdev
 * 2008
 * Modulo dependente dos modulos Scrolling, Clickout, ElementPosition e Tabs
 *
 * COMO UTILIZAR
 * 
 * Inserir no HTML um select envolvido por uma div com o atributo class="combobox"
 *
 *
 * PARAMETROS
 *
 * Para setar uma label inicial no combo o atributo title no select deve ser setado com este valor (Ex.: "Selecione um numero")
 * Para um option sair marcado deve ser adicionado os atributos selected="selected" e class="selected" na opcao
 * Adicionando a classe cmb-tabs na div da combo, ela assume comportamento de abas
 * A combobox está preparada para aceitar optgroups, basta colocá-lo com uma label
 *
 ******************************************************************************/

(function($) {

	$.fn.extend({

		// Combobox
		combobox: function() {
			selector = this;
			$(selector).each(function(i) {

				var objCombo = $(this);
				var selectCombo = objCombo.find("select");
				var cmbTabs = false;
				if (objCombo.hasClass("cmb-tabs")) {
					cmbTabs = true;
				}

				if (selectCombo.size() > 0) {
					// List
					var listValues = "";
					selectCombo.find("option").each(function(i) {
						if ($(this).parents("optgroup").size() > 0 && $(this).parents("optgroup").attr("label") != "") {
							listValues += "<li class=\"scr-group\">::: "+$(this).parents("optgroup").attr("label")+" :::</li>";
							$(this).parents("optgroup").attr("label","");
						}
						if (cmbTabs) {
							listValues += "<li><a href=\"#"+$(this).attr("value")+"\">"+$(this).html()+"</a>";
						} else {
							listValues += "<li><a href=\"#"+$(this).attr("value")+"\">"+$(this).html()+"</a>";
						}
					});

					// Attributes
					var nameField = selectCombo.attr("name");
					var idField = selectCombo.attr("id");

					// Label n' value
					var selectedOption = objCombo.find(".selected");
					var labelField = selectedOption.size() > 0 ? selectedOption.html() : ( selectCombo.attr("title") ? selectCombo.attr("title") : selectCombo.find("option:first").html() );
					var valueField = selectedOption.size() > 0 ? selectedOption.attr("value") : ( selectCombo.attr("title") ? "" : selectCombo.find("option:first").attr("value") );

					labelField = wrapValue(labelField, objCombo);

					// Tabs
					var attributesTabs = "";
					if (cmbTabs) {
						attributesTabs = " class=\"tab-list\"";
					}

					objCombo.html("<input type=\"hidden\" name=\""+nameField+"\" id=\""+idField+"\" value=\""+valueField+"\" />" +
						"<div class=\"cmb-value\"><div>"+labelField+"</div><span>&raquo;</span></div>" +
						"<div class=\"scr-listvalues clickout\">" +
							"<div class=\"scrolling scr-vertical\">" +
								"<div class=\"scr-content\">" +
									"<div class=\"scr-innercontent\">" +
										"<ul"+attributesTabs+">" +
											listValues +
										"</ul>" +
									"</div>" +
								"</div>" +
							"</div>" +
						"</div>");

					// Height
					var objListValues = objCombo.find(".scr-listvalues");
					var objInnerContent = objCombo.find(".scr-innercontent");

					objListValues.show();
					if (objCombo.find(".scr-content").height() > objInnerContent.height()) {
						objCombo.find(".scr-content, .scrolling").height(objInnerContent.height());
					}
					objListValues.hide();

				}



				/*
				 * Events
				 */

				// Show hide combo
				objCombo.find(".cmb-value").unbind("click").click(function() {
					toggleCombobox($(this).parent());
				});

				// Select a value
				objCombo.find(".scr-listvalues a").unbind("mouseup").mouseup(function() {
					selectComboValue($(this));
					return false;
				});
				
				objCombo.find(".scr-listvalues a").click(function() {
					return false;
				});

			});



			/*
			 * Functions
			 */
	
			// Show hide combo
			/*
			 * PARAMETERS
			 * - selector (.combobox)
			 */
			function toggleCombobox(selector) {
				var objCombo = $(selector);
				var objListValues = objCombo.find(".scr-listvalues");
				$(".combobox .scr-listvalues").not(objListValues).hide().parent().find(".cmb-value").removeClass("active");
				
				objListValues.toggle();
				
				// Reset position
				if (objCombo.find(".scr-bar").size() > 0) {
					objCombo.find(".scr-content").get(0).scrollTop = 0;
					objCombo.find(".scr-bar").css("top","0");
				}
			
				// toggle class
				if (objListValues.is(":visible")) {
					objCombo.find(".cmb-value").addClass("active");
					// Position
					objListValues.elementPosition(objCombo.offset().top + objListValues.height() + objCombo.find(".cmb-value").height(), (objListValues.height()+objCombo.find(".cmb-value").height() + 10 /* padding + border */)*(-1));
				} else {
					objCombo.find(".cmb-value").removeClass("active");
				}
			}

			// Select value
			/*
			 * PARAMETERS
			 * - selector (a)
			 */
			function selectComboValue(selector) {
				var objCombo = $(selector).parents(".combobox");
				var textValue = $(selector).html();

				// wrap
				textValue = wrapValue(textValue, objCombo);

				toggleCombobox(objCombo.find("scr-listvalues").hide());
				objCombo.find(".cmb-value").removeClass("active");
				objCombo.find(".cmb-value div").html(textValue);
				objCombo.find("input:hidden").val($(selector).attr("href").replace("#",""));
			}

			function wrapValue(textValue, objCombo) {
				var maxChars = Math.floor((objCombo.width()-36)/7);
				if (textValue.length > maxChars) {
					textValue = textValue.substring(0,maxChars-2)+"...";
				}
				return textValue;
			}
		}
	});
})(jQuery);

/******************************************************************************
 * Initialization
 ******************************************************************************/

$(".combobox").combobox();
//initClickOut(".clickout, .cmb-value");
$(".scrolling").scrolling();
$(".galeria").galeria();
//$(".tabs").tabs();