var ub = window.ub || {};
String.prototype.trim = function(){
	return this.replace(/^( *)/,"").replace(/( *)$/,"");
}

ub.Cookies = {
	create: function(name,value,days){
		var expires = "";
		if (days) {
			var date = new Date();
			date.setTime(date.getTime()+(days*24*60*60*1000));
			expires = "; expires="+date.toGMTString();		
		}
		document.cookie = name+"="+value+expires+";domain=uol.com.br; path=/";
	},
	read: function(name){
		var nameEQ = name + "=";	
		var ca = document.cookie.split(';');
		for(var i=0;i < ca.length;i++) {
			var c = ca[i];
			while (c.charAt(0)==' ') c = c.substring(1,c.length);
			if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
		}
		return "";
	},
	erase: function(name){
		ub.Cookies.create(name,"",-1);
	},
	limit: 5,
	days: 20,
	delimitadorItens: '\\',
	delimitadorNomeOrigem: '|',
	update: function(name, origem){
		var atuais = ub.Cookies.read(name);
		var dL = document.location.toString();
		if( dL.match(/[\?\&](?:q|busca|as_q)\=([\w\%\-\.\:\/,\s\+]+)/) ){
			var newQuery = unescape(RegExp.$1).toLowerCase();
			newQuery = escape(newQuery.replace(' ','+')) + ub.Cookies.delimitadorItens + origem;
			if(atuais.indexOf(newQuery)<0){
				// cria item na primeira posição
				var filaAtual = atuais.split(ub.Cookies.delimitadorNomeOrigem);
				filaAtual.unshift(newQuery);
				while (filaAtual.length > ub.Cookies.limit){
					filaAtual.pop();
				}
				atuais = filaAtual.join(ub.Cookies.delimitadorNomeOrigem)
			} else if(atuais.indexOf(newQuery)>0) {
				var filaAtual = atuais.split(ub.Cookies.delimitadorNomeOrigem);
				var filaNova = []
				for (var i=0; i<filaAtual.length; i++){
					if(filaAtual[i]!=newQuery){
						filaNova.push(filaAtual[i])
					}
				}
				filaNova.unshift(newQuery);
				atuais = filaNova.join(ub.Cookies.delimitadorNomeOrigem)
			}
			if(atuais!=''){
				atuais = atuais.replace( new RegExp( ub.Cookies.delimitadorNomeOrigem + "$"), "")
				ub.Cookies.create(name, atuais, ub.Cookies.days)
			}
		}
	}
}

ub.setClass = function(obj,oClass){
    oObj = obj;
    if(!oObj) return;
    var sObjCN = " " + oObj.className + " ";
    var reTestObj = new RegExp(" "+oClass+" ","g");
    oObj.className += (sObjCN.match(reTestObj))? "":" "+oClass;
    oObj.className = oObj.className.trim();
}

ub.removeClass = function(obj,oClass){
    oObj = obj;
    if(!oObj) return;
    var sObjCN = " " + oObj.className + " ";
    var reTestObj = new RegExp(" "+oClass+" ","g");
    oObj.className = sObjCN.replace(reTestObj," ").trim();
}

function installSearchEngine() {
	if (window.external && ("AddSearchProvider" in window.external)) {
		// Firefox 2 and IE 7, OpenSearch
		window.external.AddSearchProvider("http://busca.uol.com.br/busca.xml");
		ub.Cookies.create('OpenSearchUOLInstalado','1',30)
		closeOpenSearch();
	}
}

function forceCloseOpenSearch(){
	ub.Cookies.create('OpenSearchUOLInstalado','2',14)
	closeOpenSearch();
}

function closeOpenSearch(){
    var oBody = document.body;
	var osb = document.getElementById('opensearch-box');
	if( osb ){
		ub.removeClass(oBody, 'opensearch')
		osb.parentNode.removeChild( osb );	
		document.getElementById("busca-uol").style.display='block'
	}
}

function checkOpenSearch(){
    if (window.external && ("AddSearchProvider" in window.external)) {
		var sOpenSearchCookie = ub.Cookies.read('OpenSearchUOLInstalado');
		if( sOpenSearchCookie == ""){
			var oImg = document.createElement('img');
			var bKnownBrowser = false;
    		if( navigator.userAgent.match(/MSIE 7/) ) { 
    			oImg.src = 'http://blog.i.uol.com.br/blog_ie.gif';
    			oImg.setAttribute('alt','Adicione UOL Busca ao seu Internet Explorer')
    			bKnownBrowser = true;
			} else  if ( navigator.userAgent.match(/Firefox/) ) {
			oImg.src = 'http://blog.i.uol.com.br/blog_ff.gif';
    			oImg.setAttribute('alt','Adicione UOL Busca ao seu Firefox')
				bKnownBrowser = true;
			}
			if( bKnownBrowser ){
                var oBarra = document.getElementById('barra-estacao-busca');
                if( !oBarra ) return;
				document.getElementById("busca-uol").style.display='none'            
				var oDiv = document.createElement('div');
				oDiv.id = 'opensearch-box';
				var oPFechar = document.createElement('p');
				oPFechar.id = 'opensearch-fechar';
				var oLinkFechar = document.createElement('a');
				oLinkFechar.href = 'javascript:forceCloseOpenSearch()';
				oLinkFechar.appendChild( document.createTextNode( 'FECHAR' ) );
				var oLink = document.createElement('a');
				oLink.href = 'javascript:installSearchEngine()';
				oBarra.appendChild(oDiv);
				oDiv.appendChild(oPFechar);
				oPFechar.appendChild(oLinkFechar);
				oDiv.appendChild(oLink);
				oLink.appendChild( oImg );
				ub.setClass(document.body, 'opensearch')
			//Estilos para OpensearchBox
				oDiv.style.textAlign = 'right';
				oDiv.style.marginTop='2px';
				oDiv.style.position='relative';
				oImg.style.width='373px';
				oImg.style.height='40px';
				oPFechar.style.position='absolute';
				oPFechar.style.margin='0';
				oPFechar.style.top='0';
				oPFechar.style.right='2px';
				oLinkFechar.style.color='#00f';
				oLinkFechar.style.font='bold 10px verdana, sans-serif';
                oLinkFechar.style.paddingRight='12px';
                oLinkFechar.style.background='#fff url(http://r.i.uol.com.br/c/x-fechar.gif) no-repeat 100% 50%;'
                setTimeout( 'closeOpenSearch()', 8000);
			}
			return true;
		} else if( sOpenSearchCookie == "1" ) {
			ub.Cookies.create('OpenSearchUOLInstalado','1',30) // renovação automática para =='1'
			return false;
		}
	}
	return false;
}


	function escreveBusca (ref) {

		if (typeof ref == "undefined") {
			var ref = "wu";
		}

		var c = '';
		c += '<style type="text/css">';
			c += '.ativa-busca-imagens .busca-imagens, .ativa-busca-sites .busca-sites, .ativa-busca-web .busca-web, .ativa-busca-fotoblog .busca-fotoblog, .ativa-busca-blog .busca-blog {background-image:none !important;background-color:#464646;border:1px solid #456602;border-bottom:1px solid #464646;}';
			c += '.ativa-busca-imagens .busca-imagens a, .ativa-busca-sites .busca-sites a, .ativa-busca-web .busca-web a, .ativa-busca-blog .busca-blog a, .ativa-busca-fotoblog .busca-fotoblog a {color:#fff !important;text-decoration:none !important;background-color:transparent !important;cursor:default;}';
			c += '.ultimo {background-image:none !important;margin-right:1px;} .busca-imagens { width: 60px;} .busca-sites { width: 88px;} .busca-web {width:42px;} .busca-blog {width:45px;} .busca-fotoblog {width:65px;}';
		c += '</style>';
		c += '<div id="barra-estacao-busca" class="ativa-busca-blog">';
			c += '<form acceptcharset="utf-8" accept-charset="utf-8" name="busca-uol" id="busca-uol" action="http://blog.busca.uol.com.br/uol/index.html" method="get" target="_blank" onsubmit="return true">';
				c += '<div id="busca-divisoes">';
					c += '<p>';
						c += '<label for="multi-q"><a href="http://busca.uol.com.br/" title="UOL Busca" target="_blank">UOL Busca</a></label>';
					c += '</p>';
					c += '<ul>';
						c += '<li class="busca-web"><a href="javascript:defineAbaBusca(\'ativa-busca-web\', \'indica-web\');">Web</a></li>';
						c += '<li class="busca-imagens"><a href="javascript:defineAbaBusca(\'ativa-busca-imagens\', \'indica-imagens\');">Imagens</a></li>';
						c += '<li class="busca-blog"><a href="javascript:defineAbaBusca(\'ativa-busca-blog\', \'indica-blog\');">Blog</a></li>';
						c += '<li class="busca-fotoblog"><a href="javascript:defineAbaBusca(\'ativa-busca-fotoblog\', \'indica-fotoblog\');">Fotoblog</a></li>';
						c += '<li class="busca-sites ultimo"><a href="javascript:defineAbaBusca(\'ativa-busca-sites\', \'indica-sites\');">Sites pessoais</a></li>';
					c += '</ul>';
				c += '</div>';
				c += '<div id="busca-indicador" class="indica-blog"></div>';
				c += '<input type="hidden" name="skin" id="skin" value="news" disabled="disabled" />';
				c += '<input type="hidden" name="id" id="bid" value="1" disabled="disabled" />';
				c += '<input type="hidden" name="rd" id="rd" value="1" disabled="disabled" />';
				c += '<input type="hidden" name="ad" id="ad" value="on" />';
				c += '<input type="hidden" name="ref" id="ref" value="' + ref + '" />';
				c += '<p id="caixa-busca">';
					c += '<input type="text" name="q" id="multi-q" class="caixa-busca" /> ';
					c += '<input value="Buscar" type="submit" class="busca-enviar" />';
				c += '</p>';
			c += '</form>';
		c += '</div>';

		document.write (c);
		checkOpenSearch()
	}

	function defineAbaBusca (aba, marcador) {
		document.getElementById("barra-estacao-busca").className = aba;
		document.getElementById("busca-indicador").className = marcador;
		document.getElementById("multi-q").focus();
		switch (aba) {
			case 'ativa-busca-sites' :
				document.getElementById("busca-uol").action = "http://sites.busca.uol.com.br/uol/index.html";
				document.getElementById("multi-q").name = "q";
				document.getElementById("multi-q").className = "caixa-busca";
				//inputs
				document.getElementById("skin").disabled = "disabled";
				document.getElementById("bid").disabled = "disabled";
				document.getElementById("rd").disabled = "disabled";
				break;
			case 'ativa-busca-web' :
				document.getElementById("busca-uol").action = "http://busca.uol.com.br/www/index.html";
				document.getElementById("multi-q").name = "q";
				document.getElementById("multi-q").className = "caixa-busca";
				//inputs
				document.getElementById("skin").disabled = "disabled";
				document.getElementById("bid").disabled = "disabled";
				document.getElementById("rd").disabled = "disabled";
				break;
			case 'ativa-busca-blog' :
				document.getElementById("busca-uol").action = "http://blog.busca.uol.com.br/uol/index.html";
				document.getElementById("multi-q").name = "q";
				document.getElementById("multi-q").className = "caixa-busca";
				//inputs
				document.getElementById("skin").disabled = "disabled";
				document.getElementById("bid").disabled = "disabled";
				document.getElementById("rd").disabled = "disabled";
				break;
			case 'ativa-busca-imagens' :
				document.getElementById("busca-uol").action = "http://busca.uol.com.br/imagem/index.html";
				document.getElementById("multi-q").name = "q";
				document.getElementById("multi-q").className = "caixa-busca";
				//inputs
				document.getElementById("skin").disabled = "disabled";
				document.getElementById("bid").disabled = "disabled";
				document.getElementById("rd").disabled = "disabled";
				break;
			case 'ativa-busca-fotoblog' :
				document.getElementById("busca-uol").action = "http://fotoblog.busca.uol.com.br/uol/index.html";
				document.getElementById("multi-q").name = "q";
				document.getElementById("multi-q").className = "caixa-busca";
				//inputs
				document.getElementById("skin").disabled = "disabled";
				document.getElementById("bid").disabled = "disabled";
				document.getElementById("rd").disabled = "disabled";
				break;
		}
	}
