// JavaScript Document

function urlencode(str){var histogram = {}, tmp_arr = [];
    var ret = (str+'').toString();
 
    var replacer = function(search, replace, str) {
        var tmp_arr = [];
        tmp_arr = str.split(search);
        return tmp_arr.join(replace);
    };
 
    // The histogram is identical to the one in urldecode.
    histogram["'"]   = '%27';
    histogram['(']   = '%28';
    histogram[')']   = '%29';
    histogram['*']   = '%2A';
    histogram['~']   = '%7E';
    histogram['!']   = '%21';
    histogram['%20'] = '+';
    histogram['\u20AC'] = '%80';
    histogram['\u0081'] = '%81';
    histogram['\u201A'] = '%82';
    histogram['\u0192'] = '%83';
    histogram['\u201E'] = '%84';
    histogram['\u2026'] = '%85';
    histogram['\u2020'] = '%86';
    histogram['\u2021'] = '%87';
    histogram['\u02C6'] = '%88';
    histogram['\u2030'] = '%89';
    histogram['\u0160'] = '%8A';
    histogram['\u2039'] = '%8B';
    histogram['\u0152'] = '%8C';
    histogram['\u008D'] = '%8D';
    histogram['\u017D'] = '%8E';
    histogram['\u008F'] = '%8F';
    histogram['\u0090'] = '%90';
    histogram['\u2018'] = '%91';
    histogram['\u2019'] = '%92';
    histogram['\u201C'] = '%93';
    histogram['\u201D'] = '%94';
    histogram['\u2022'] = '%95';
    histogram['\u2013'] = '%96';
    histogram['\u2014'] = '%97';
    histogram['\u02DC'] = '%98';
    histogram['\u2122'] = '%99';
    histogram['\u0161'] = '%9A';
    histogram['\u203A'] = '%9B';
    histogram['\u0153'] = '%9C';
    histogram['\u009D'] = '%9D';
    histogram['\u017E'] = '%9E';
    histogram['\u0178'] = '%9F';
 
    // Begin with encodeURIComponent, which most resembles PHP's encoding functions
    ret = encodeURIComponent(ret);
 
    for (search in histogram) {
        replace = histogram[search];
        ret = replacer(search, replace, ret) // Custom replace. No regexing
    }
 
    // Uppercase for full PHP compatibility
    return ret.replace(/(\%([a-z0-9]{2}))/g, function(full, m1, m2) {
        return "%"+m2.toUpperCase();
    });
 
    return ret;}

function urldecode(str){ var histogram = {};
    var ret = str.toString();
 
    var replacer = function(search, replace, str) {
        var tmp_arr = [];
        tmp_arr = str.split(search);
        return tmp_arr.join(replace);
    };
 
    // The histogram is identical to the one in urlencode.
    histogram["'"]   = '%27';
    histogram['(']   = '%28';
    histogram[')']   = '%29';
    histogram['*']   = '%2A';
    histogram['~']   = '%7E';
    histogram['!']   = '%21';
    histogram['%20'] = '+';
    histogram['\u20AC'] = '%80';
    histogram['\u0081'] = '%81';
    histogram['\u201A'] = '%82';
    histogram['\u0192'] = '%83';
    histogram['\u201E'] = '%84';
    histogram['\u2026'] = '%85';
    histogram['\u2020'] = '%86';
    histogram['\u2021'] = '%87';
    histogram['\u02C6'] = '%88';
    histogram['\u2030'] = '%89';
    histogram['\u0160'] = '%8A';
    histogram['\u2039'] = '%8B';
    histogram['\u0152'] = '%8C';
    histogram['\u008D'] = '%8D';
    histogram['\u017D'] = '%8E';
    histogram['\u008F'] = '%8F';
    histogram['\u0090'] = '%90';
    histogram['\u2018'] = '%91';
    histogram['\u2019'] = '%92';
    histogram['\u201C'] = '%93';
    histogram['\u201D'] = '%94';
    histogram['\u2022'] = '%95';
    histogram['\u2013'] = '%96';
    histogram['\u2014'] = '%97';
    histogram['\u02DC'] = '%98';
    histogram['\u2122'] = '%99';
    histogram['\u0161'] = '%9A';
    histogram['\u203A'] = '%9B';
    histogram['\u0153'] = '%9C';
    histogram['\u009D'] = '%9D';
    histogram['\u017E'] = '%9E';
    histogram['\u0178'] = '%9F';
 
    for (replace in histogram) {
        search = histogram[replace]; // Switch order when decoding
        ret = replacer(search, replace, ret) // Custom replace. No regexing   
    }
 
    // End with decodeURIComponent, which most resembles PHP's encoding functions
    ret = decodeURIComponent(ret);
 
    return ret;}

function replacespecialchars(text) {
	text = text.replace(new RegExp('[ÁÀÂÃÄ]','gi'), 'A'); 
	text = text.replace(new RegExp('[ÉÈÊË]','gi'), 'E'); 
	text = text.replace(new RegExp('[ÍÌÎÏ]','gi'), 'I'); 
	text = text.replace(new RegExp('[ÓÒÔÕÖ]','gi'), 'O'); 
	text = text.replace(new RegExp('[ÚÙÛÜ]','gi'), 'U');
	text = text.replace(new RegExp('[Ç]','gi'), 'C'); 
	return text;
}

$(document).ready(function() {
	$('#buscaForm').each(function(i, obj){
		
		/*
		$("#step2 ul li a").click(function(e){
			$('div.box').fadeOut('fast');
			$('div.bg_box').load($(this).attr("href"),function(){
				$('div.box').fadeIn('fast');
			});
			return false;
		});
		*/		
		
		exclusivo = 'false';
		$('#select_categoria').bind('change', function(e){ exclusivo=$(this).val(); $(obj).children('input').attr('value','Nome da loja'); atualiza(e); });
		//$("#step1 ul li a").click(function(){$(obj).children('input').attr('value','Nome da loja...'); atualiza(); });
		
		
		function atualiza(e){
			var zebra = true;
			var value = $(obj).children('input').attr('value');
				value = replacespecialchars(value).toLowerCase();
			var list = $("#step2 div").children('ul');
			
			
			$(list).children('li').each(function(i, li){
				var name = $(li).find('a').html();
					name = replacespecialchars(name).toLowerCase();
				
				if(exclusivo == 'false'){
					// corrige bug causado por texto padrão do form
					if(value == 'nome da loja') value = '';
					// exibe li
					if(name.indexOf(value)>-1){
						$(li).css('display', 'table');	
						// refaz as classes zebra
						if(zebra == false){$(li).addClass('li02'); zebra= true;}
						else{$(li).removeClass('li02'); zebra=false;}
					}
					//oculta li		
					else{$(li).css('display', 'none');}
				}else{			
					// seleciona ramos por loja
					var ramos = $(li).attr("rel").split(",");
					
					//oculta todos li		
					$(li).css('display', 'none');
					for(var i in ramos){
																
						if(ramos[i] == exclusivo){
							
							// exibe li	exclusivos
							$(li).css('display', 'table');	
							
							// corrige bug causado por texto padrão do form
							if(value == 'nome da loja') value = '';
							
							// filtra li exclusivos de acordo com a busca
							if(name.indexOf(value)<=-1){$(li).css('display', 'none');}
							
							// refaz as classes zebra
							if(zebra == false){$(li).addClass('li02'); zebra= true;}
							else{$(li).removeClass('li02'); zebra=false;}
						}
					}
				}
			});
			// atualiza barra de rolagem
			fleXenv.updateScrollBars();
			fleXcrollTo('lojasLista','0px','0px',false);
		}
		
		$(obj).bind('keyup', function(e){atualiza(e);});

	});
});


function fleXcrollTo(id,x,y,relative) {
	var scrollDiv = document.getElementById(id);
	if (scrollDiv == null) return;
	if(scrollDiv.fleXcroll) scrollDiv.fleXcroll.setScrollPos(x,y,relative);
}
