function preloading(action) {
    $("body").append("<div id='blockcontrol'></div><div id='preloading' align='center'><img src='imgs/preload.gif' border='0'><p><strong>Carregando<br />Por favor, aguarde...</strong></p></div>");
	if (action == "show") {
	    $("#blockcontrol").show();		
	    $("#preloading").show();	
	}
	else if (action == "close") { 
	    $("#preloading").remove();	
        $("#blockcontrol").remove();
	}	
}

function strreplace(oldvalue, newvalue, strtarget) {
	while (strtarget.indexOf(oldvalue) != -1) {
 		strtarget = strtarget.replace(oldvalue, newvalue);
	}
	return strtarget;
}	

function get_address() {
	if ($.trim($("#cep").val()) != "") {
		$.getJSON("http://supremaciasoftware.com.br/webservice/cep.php?id=sup987&format=json&cep="+$("#cep").val(), function(response){
			if (response instanceof Object && !response.error){
			    $("#endereco").val(response.tipo_logradouro+" "+response.logradouro);
			    $("#bairro").val(response.bairro);
			    $("#cidade").val(response.cidade);
			    $("#estado").val(response.uf);
				$("#pais").val("Brasil");
				$("#numero").focus();
			}
	    });                             
	}
}

function inptxtmask(id, formatmask, evt) {
    var i, numcount, strvalue, strcount, mskcount, existmsk, newstr, key;

    if (window.event) var key = evt.keyCode; else if (evt.which) var key = evt.which;

    document.getElementById(id).maxLength = formatmask.length;
    strvalue = document.getElementById(id).value;

    strvalue = strreplace("-", "", strvalue);
	strvalue = strreplace(":", "", strvalue);
	strvalue = strreplace(".", "", strvalue);
	strvalue = strreplace("/", "", strvalue);
	strvalue = strreplace("(", "", strvalue);
	strvalue = strreplace(")", "", strvalue);
	strvalue = strreplace(" ", "", strvalue);	
    strcount = strvalue.length;
    numcount = 0;
    newstr = "";
    
	for (i = 0; i <= strcount; i++) {
        existmsk = ((formatmask.charAt(i) == "-") || (formatmask.charAt(i) == ".") || (formatmask.charAt(i) == "/") || (formatmask.charAt(i) == ":"));
        existmsk = existmsk || ((formatmask.charAt(i) == "(") || (formatmask.charAt(i) == ")") || (formatmask.charAt(i) == " "))

        if (existmsk) {
            newstr += formatmask.charAt(i);
            strcount++; 
		}
        else {
            newstr += strvalue.charAt(numcount);
            numcount++;
        }
    }
    
    if (key != 8) { 
        document.getElementById(id).value = newstr;
        if (formatmask.charAt(i-1) == "9") { 
            return ((key > 47) && (key < 58)); 
	    } 
        else { 
            return true;
        }
	}
    else {
        return true;
    }
}

function formatvalue(id, sizemax, evt) {
	if (window.event) var key = evt.keyCode; else if (evt.which) var key = evt.which;

    var objval = document.getElementById(id);
    var fieldval = document.getElementById(id).value;
    
	fieldval = strreplace("/", "", fieldval);
    fieldval = strreplace(",", "", fieldval);
    fieldval = strreplace(".", "", fieldval);
    lensize = fieldval.length;

    if (lensize < sizemax && key != 8) { lensize = fieldval.length + 1; }
    if (key == 8 ) { lensize = lensize - 1; }
    
	if ( key == 8 || key >= 48 && key <= 57 || key >= 96 && key <= 105 ) {
        if ( lensize <= 2 ) objval.value = fieldval;
        if ((lensize > 2) && (lensize <= 5)) {
            objval.value = fieldval.substr(0, lensize - 2) + ',' + fieldval.substr(lensize - 2, lensize); 
		}
        if ((lensize >= 6) && (lensize <= 8)) {
            objval.value = fieldval.substr(0, lensize - 5) + '.' + fieldval.substr(lensize - 5, 3 ) + ',' + fieldval.substr( lensize - 2, lensize); 
		}
        if ((lensize >= 9) && (lensize <= 11)) {
            objval.value = fieldval.substr(0, lensize - 8) + '.' + fieldval.substr(lensize - 8, 3) + '.' + fieldval.substr( lensize - 5, 3) + ',' + fieldval.substr(lensize - 2, lensize); 
        }
        if ((lensize >= 12) && (lensize <= 14)) {
            objval.value = fieldval.substr(0, lensize - 11) + '.' + fieldval.substr(lensize - 11, 3 ) + '.' + fieldval.substr( lensize - 8, 3) + '.' + fieldval.substr(lensize - 5, 3) + ',' + fieldval.substr(lensize - 2, lensize); 
		}
        if ((lensize >= 15) && (lensize <= 17)) {
            objval.value = fieldval.substr(0, lensize - 14) + '.' + fieldval.substr(lensize - 14, 3) + '.' + fieldval.substr( lensize - 11, 3) + '.' + fieldval.substr(lensize - 8, 3) + '.' + fieldval.substr(lensize - 5, 3) + ',' + fieldval.substr( lensize - 2, lensize);
		}
    }
	if (key == 8 || key >= 48 && key <= 57) return true; else return false; 
}

function allownumber(evt) {
	if (window.event) var key = evt.keyCode; else if (evt.which) var key = evt.which;
	if (key == 0 || key == 8 || key == 9) return true;  
    if (/[^0-9]/.test(String.fromCharCode(key))) { 
        return false; 
	} 
    return true;
}

function setfocus(id, nextfield) {
	var self = document.getElementById(id);
	if (self.value.length >= self.maxLength) {
	    document.getElementById(nextfield).focus();
	}
}

function trim(strtexto) {
    return strtexto.replace(/^\s+|\s+$/g, '');
}

function validcep(strcep) {
    var expreg = /^[0-9]{8}$/;
    strcep = trim(strcep)
    if (strcep.length > 0) {
        if (expreg.test(strcep)) return true; else return false;
    }
}

function findkeyword(strfind, catfind) {
	if (strfind == "") {
		$("#ideaprod").hide();
		$("#ideaprod").html("");
		return false;
	}
	$.ajax({ 
		type : "GET",   
		url : "actions.php?action=findkeyword",
		data : "strfind="+strfind,
		dataType : "json",
		success : function(vardata) {
			if (vardata.result == true) {
		  	    var content = "<table width='100%' border='0' id='gridwords' cellspacing='0' cellpadding='0'>";
			    $.each(vardata.itens, function(i, item) {
			        content += "<tr class='list_item' onclick='window.location="+'"detailprod.php?id='+item.id+'"'+"' onmouseover=\"$('.list_item').removeClass('list_item_over'); $(this).addClass('list_item_over');\" onmouseout=\"$(this).removeClass('list_item_over');\">\
							      <td width='85%' align='left' title='"+item.descricao+"'>"+item.brevedesc+"</td>\
								  <td width='15%' align='left'>"+item.preco_unit+"</td>\
								</tr>";    
			    });
			    content += "</table>";
			    $("#ideaprod").html(content);
				$("#ideaprod").show();
			}
			else {
				$("#ideaprod").hide();
				$("#ideaprod").html("");
			}
		}
	});	
}

function getword(text, word) {
    pos = text.toLowerCase().indexOf(word.toLowerCase());
	word = pos != -1 ? text.substr(pos, word.length) : "";
    return word;
}

function show_wincheckout(action) {
	if (action == "show") {
		$("#backtransp").fadeTo("slow", 0.5);
		$("#wincheckout").slideToggle("slow");
		$(this).toggleClass("active"); 
	}
	else if (action == "close") {
		$("#wincheckout").slideToggle("slow");
		$(this).toggleClass("active"); 		
		$("#backtransp").fadeOut("slow");
		window.location = "index.php";
	}
}

function shopcheckout() {
    $("#stagemain").load("shopcheckout.php");;	
	show_wincheckout("show");
}

function show_allcat(action) {
	if (action == "show") {
		$("#panel_allcat").fadeIn("slow");
	}
	else if (action == "close") {
		$("#panel_allcat").fadeOut("slow");
	}
}

function send_opniao() {
	if ($("#avaliacao").val() == 0) {
		alert("Por favor, avalie o produto!");
		return false;
	}	
	if ($("#titulo").val() == "") {
		alert("Por favor, informe um T&iacute;tulo!");
		$("#titulo").focus();
		return false;
	}
	if ($("#email").val() == "") {
		alert("Por favor, informe o E-mail!");
		$("#email").focus();
		return false;
	}	
	else if ($("#descricao").val() == "") { 
		alert("Por favor, informe uma Descri&ccedil;&atilde;o!");
		$("#descricao").focus();
		return false;
	}
    else {
	    $.ajax({
		    type : "POST",
		    url : "actions.php?action=send_opniao",
		    data : "produto_id="+encodeURI($("#produto_id").val())+"&"+
			       "avaliacao="+encodeURI($("#avaliacao").val())+"&"+
		           "titulo="+encodeURI($("#titulo").val())+"&"+
			       "email="+encodeURI($("#email").val())+"&"+
			       "descricao="+encodeURI($("#descricao").val()),
		    dataType : "json",
		    success : function(vardata) {
			    if (vardata.result == true) {
                    alert(vardata.message);
					window.location = "detailprod.php?id="+$("#produto_id").val();
			    }
				else if (vardata.result == false) {
				    alert(vardata.message);
				}
		    }
	    });
	}
}

function load_windefault(action, width, height, pagename, wintitle, classname, codehtml) {
    if (action == "show") {
	   var marginleft = Math.round(width / 2);
	   var margintop = Math.round(height / 2);		   
	   $("<div id='backtransp' onclick=\"load_windefault('close')\"></div>").appendTo("body");	
       $("<div id='windefault'></div>").html("<div id='bartop'><a href=\"javascript:load_windefault('close')\" title='Fechar'><div id='bt_close'></div></a><div id='boxtitle'><span class='"+classname+"'>"+wintitle+"</span></div></div><div id='framemain'></div>").css({"width" : width, "height" : height, "margin-left" : -marginleft, "margin-top" : -margintop}).appendTo("body");		
	   if (pagename != null) $("#framemain").load(pagename); else $("#framemain").html(codehtml); 
	   $("#backtransp").fadeTo("slow", 0.7);	   
	   $("#windefault").show();
	}
    else if (action == "close") {
	   $("#windefault").remove();	
	   $("#backtransp").fadeOut("slow");
	}   
}

function validar_cpf(cpf) {
    var posicao, i, soma, dv, dv_informado;
    var digito = new Array(10);
	cpf = strreplace(".", "", strreplace("-", "", cpf));
    dv_informado = cpf.substr(9, 2); // Retira os dois �ltimos d�gitos do n�mero informado

    for (i = 0; i <= 8; i++) {
        digito[i] = cpf.substr(i, 1);
    }

    posicao = 10;
    soma = 0;
    for (i = 0; i <= 8; i++) {
        soma = soma + digito[i] * posicao;
        posicao = posicao - 1;
    }
    digito[9] = soma % 11;
    digito[9] = digito[9] < 2 ? 0 : 11 - digito[9];

    posicao = 11;
    soma = 0;
    for (i = 0; i <= 9; i++) {
        soma = soma + digito[i] * posicao;
        posicao = posicao - 1;
    }
    digito[10] = soma % 11;
    if (digito[10] < 2) {
        digito[10] = 0;
    }
    else {
        digito[10] = 11 - digito[10];
    }

    dv = digito[9] * 10 + digito[10];
    if (dv != dv_informado) return false; else return true;
}

function validar_cnpj(cnpj) {
    var numeros, digitos, soma, i, resultado, pos, tamanho, digitos_iguais, cnpj;
    if (cnpj.length == 0) {
        return false;
	}

    var filtro = /\d{2,3}.\d{3}.\d{3}\/\d{4}-\d{2}/;
    if (!filtro.test(cnpj)){
	    return false;
    }
    cnpj = cnpj.replace(/\D+/g, '');
    digitos_iguais = 1;

    for (i = 0; i < cnpj.length - 1; i++)
        if (cnpj.charAt(i) != cnpj.charAt(i + 1)) {
            digitos_iguais = 0;
            break;
        }
    if (!digitos_iguais) {
        tamanho = cnpj.length - 2
        numeros = cnpj.substring(0,tamanho);
        digitos = cnpj.substring(tamanho);
        soma = 0;
        pos = tamanho - 7;
        for (i = tamanho; i >= 1; i--) {
            soma += numeros.charAt(tamanho - i) * pos--;
            if (pos < 2) pos = 9;
        }
        resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
        if (resultado != digitos.charAt(0)) return false;
        tamanho = tamanho + 1;
        numeros = cnpj.substring(0,tamanho);
        soma = 0;
        pos = tamanho - 7;
        for (i = tamanho; i >= 1; i--) {
            soma += numeros.charAt(tamanho - i) * pos--;
            if (pos < 2) pos = 9;
        }
        resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
        if (resultado != digitos.charAt(1)) return false; else return true;
    }
    else return false;
}

function setcookie(cookiename, cookievalue, contdays) {
    var cookiedate = new Date();
    if (contdays) {
        cookiedate.setTime(cookiedate.getTime() + (contdays * 24 * 60 * 60 * 1000));
        var expires = "; expires="+cookiedate.toGMTString();
    }
    else var expires = "";
    document.cookie = cookiename+"="+cookievalue+expires+"; path=/";
}

function getcookie(cookiename) {
    var cookiefind = cookiename+"=";
    var listcookies = document.cookie.split(";");

    for (i = 0; i < listcookies.length; i++) {
        var cookievalue = listcookies[i];
        while (cookievalue.charAt(0) == " ") {
            cookievalue = cookievalue.substring(1, cookievalue.length);
        }
        if (cookievalue.indexOf(cookiefind) == 0) {
            return cookievalue.substring(cookiefind.length, cookievalue.length);
        }
    }
    return null;
}

function isempty(varmixed) {
    if (typeof(varmixed) == "undefined" || varmixed == null || varmixed == "") {
		return true;
	}
	else return false;
}

WinPopup = {
	settings : {
		status : "no",
		location : "no",
		toolbar : "no",
		directories : "no",
		resizable : "no",
		scrollbars : "no",
		width : 0,
		height : 0,
		left : 0,
		top : 0,
		center : true,
		maximized : false,
		name : null,
		onbeforeunload : null,
		onload : null,
		onfocus : null,
		onblur : null
	},
	open : function(url, width, height, content, options) {
		if ((/^[0-9]+$/).test(width)) this.settings.width = parseInt(width);
		if ((/^[0-9]+$/).test(height)) this.settings.height = parseInt(height);
		if (typeof(options) == "object") {
			for (var key in options) {
				this.settings[key] = options[key];
			}
		}
		if (this.settings.name == null) {
            this.settings.name = "window_"+(new Date().getTime());		
		}
		if (this.settings.center) {
			this.settings.left = Math.floor((screen.width - this.settings.width) / 2);
			this.settings.top = Math.floor((screen.height - this.settings.height) / 2);
		}
		if (this.settings.maximized) {
			this.settings.width = screen.width;
			this.settings.height = screen.height;
			this.settings.left = 0;
			this.settings.top = 0;
		}
		with (this.settings) {
			var features = "status="+status+",location="+location+",toolbar="+toolbar+",directories="+
							directories+",resizable="+resizable+",scrollbars="+scrollbars+",width="+width+
							",height="+height+",left="+left+",top="+top;
		}
		var objWindow = window.open(url, this.settings.name, features); 
		if (typeof(content) == "string") objWindow.document.write(content);
		this.defineEvents(objWindow);
		this.popups[this.settings.name] = objWindow;
		this.settings.name = null;
		objWindow.focus();	
		return objWindow;	
	},
	defineEvents : function(objWindow) {
		var $this = this;
		var setEvent = function(eventName) {
			if (!objWindow.addEventListener) {
				objWindow.attachEvent(eventName, function() {
					$this.settings[eventName].apply($this, [objWindow]);
				});
			}
			else {
				objWindow.addEventListener(eventName.replace("on", ""), function() {
					$this.settings[eventName].apply($this, [objWindow]);
				}, false);
			}
		}
		with (this.settings) {
			if (typeof(onbeforeunload) == "function") setEvent("onbeforeunload");
			if (typeof(onload) == "function") setEvent("onload");
			if (typeof(onfocus) == "function") setEvent("onfocus");
			if (typeof(onblur) == "function") setEvent("onblur");
		}
	},
	popups : new Object()
}
