// INIT
$(document).ready(function() {
	detectMobile();
	
	setPage();
	
	setSizes();
	
	setHeader();
	setAbas();
	setFooter();
	setContent();
	
	$(window).resize(function() {
		resized();
	});
	
	onbeforeunload = function() {} // inhibits unsubmited form warning
});

// DETECT
var isMobile = false;
var platform = "desktop";
var isIE6 = false;

function detectMobile() {
	var agent = navigator.userAgent;
	if (agent.indexOf("iPhone") != -1) {
		platform = "iPhone";
	} else if (agent.indexOf("iPod") != -1) {
		platform = "iPod";
	} else if (agent.indexOf("iPad") != -1) {
		platform = "iPad";
	}
	if (platform != "desktop") {
		isMobile = true;
	} else if (agent.indexOf("MSIE 6") != -1) {
		isIE6 = true;
		//alert("Internet Explorer 6 detectado. Por favor atualize ou utilize outro navegador.");
	}
}

// LOCATION
var Lang = "";
var Sec = "";
var SecNum = 0;
var Cat = 0;
var Sub = 0;
var Item = 0;
var Secs = ["home", "quemsomos", "luz", "movimento", "maquinaria", "contato", "links", "blog"];
function setPage() {
	var path = window.location.pathname;
	Sec = path.substr(0, path.lastIndexOf("/"));
	Sec = Sec.substr(Sec.lastIndexOf("/") + 1);
	if (Sec.indexOf("_") != -1) {
		Lang = Sec.substr(Sec.indexOf("_"));
		Sec = Sec.substr(0, Sec.length - 3);
	}
	
	SecNum = getSecNum(Sec);
	
	/*var query = window.location.search;
	if (query.indexOf("item=") != -1) {
		Item = parseInt(query.split("=")[1]);
	}*/
}

function getSecNome(num) {
	if (num < Secs.length) {
		return Secs[num];
	} else {
		return "";
	}
}

function getSecNum(nom) {
	for (var num in Secs) {
		if (Secs[num] == nom) return num;
	}
	return 0;
}

pre = new Array();
function preload(noms) {
	for (var i = 0; i < noms.length; i ++) {
		pre[noms[i]] = new Image();
		pre[noms[i]].src = "../images/" + noms[i];
	}
}

// AJUSTA
var MinW = 455;
var MinH = 385;
var W = 0;
var H = 0;
var AvailW = 0;
var AvailH = 0;

var ResizeDelay = null;

function resized() {
	if (!ResizeDelay) {
		ResizeDelay = setTimeout(doResized, 200);
	}
}

function setSizes() {
	var sizes = getSize();
	W = sizes[0];
	H = sizes[1];
	AvailW = Math.max(W, MinW);
	AvailH = Math.max(H, MinH);
}

function doResized() {
	ResizeDelay = null;
	
	setSizes();
	
	/*if (AvailW == MinW) {
		$("#wrapper").css("width", MinW+"px");
	} else {
		$("#wrapper").css("width", "100%");
	}*/
	
	ajustaContent();
	
	ajustaLista();
}

function getSize() {
	var myWidth = 0, myHeight = 0;
	if( typeof( window.innerWidth ) == 'number' ) {
		//Non-IE
		myWidth = window.innerWidth;
		myHeight = window.innerHeight;
	} else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
		//IE 6+ in 'standards compliant mode'
		myWidth = document.documentElement.clientWidth;
		myHeight = document.documentElement.clientHeight;
	} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
		//IE 4 compatible
		myWidth = document.body.clientWidth;
		myHeight = document.body.clientHeight;
	}

	return [myWidth, myHeight];
}

// SCROLL
var Scrolled = new Array();
var Scrolling = new Array();
var ScrollGear = new Array();
var ScrollMax = new Array();
var ScrollStep = 5;
var ScrollSpeed = ScrollStep;
function setScroll(nom) {
	if (isMobile) {
		ScrollStep = 50;
	}
	
	if (Scrolled[nom]) {
		ScrollMax[nom] = Scrolled[nom].scrollHeight - Scrolled[nom].clientHeight;
		
		var botup = $(nom+" .scroll_up");
		var botdown = $(nom+" .scroll_down");
		if (ScrollMax[nom] <= 0) {
			Scrolled[nom].scrollTop = 0;
		}
		if (Scrolled[nom].scrollTop > 0) {
			botup.css("visibility", "visible");
		} else {
			botup.css("visibility", "hidden");
		}
		if (Scrolled[nom].scrollTop < ScrollMax[nom]) {
			botdown.css("visibility", "visible");
		} else {
			botdown.css("visibility", "hidden");
		}
	} else {
		if ($(nom+" .scroll").get(0).scrollHeight - $(nom+" .scroll").get(0).clientHeight > 0) {
			Scrolled[nom] = $(nom+" .scroll").get(0);
			ScrollMax[nom] = Scrolled[nom].scrollHeight - Scrolled[nom].clientHeight;
			
			botup = $(nom+" .scroll_up");
			botdown = $(nom+" .scroll_down");
		
			botup.mousedown(function() {
				ScrollSpeed = ScrollStep;
				Scrolled[nom].scrollTop -= ScrollSpeed;
				Scrolling[nom] = setInterval(function () { Scrolled[nom].scrollTop -= ScrollSpeed }, 50);
				ScrollGear[nom] = setTimeout(function () { ScrollSpeed = ScrollStep * 2 }, 800);
				botdown.css("visibility", "visible");
			}).mouseup(function() {
				clearInterval(Scrolling[nom]);
				clearTimeout(ScrollGear[nom]);
				if (Scrolled[nom].scrollTop == 0) {
					botup.css("visibility", "hidden");
				}
			}).mouseenter(function() {
				botup.addClass("scroll_up_over");
			}).mouseleave(function() {
				botup.removeClass("scroll_up_over");
			});

			botdown.mousedown(function() {
				ScrollSpeed = ScrollStep;
				Scrolled[nom].scrollTop += ScrollSpeed;
				Scrolling[nom] = setInterval(function () { Scrolled[nom].scrollTop += ScrollSpeed }, 50);
				ScrollGear[nom] = setTimeout(function () { ScrollSpeed = ScrollStep * 2 }, 800);
				botup.css("visibility", "visible");
			}).mouseup(function() {
				clearInterval(Scrolling[nom]);
				clearTimeout(ScrollGear[nom]);
				if (Scrolled[nom].scrollTop == ScrollMax[nom]) {
					botdown.css("visibility", "hidden");
				}
			}).mouseenter(function() {
				botdown.addClass("scroll_down_over");
			}).mouseleave(function() {
				botdown.removeClass("scroll_down_over");
			});
			
			$(nom+" .scroll").mousewheel(function(event, delta) {
			    Scrolled[nom].scrollTop -= delta * 10;
				botup.css("visibility", "visible");
				botdown.css("visibility", "visible");
				if (Scrolled[nom].scrollTop == 0) {
					botup.css("visibility", "hidden");
				} else if (Scrolled[nom].scrollTop == ScrollMax[nom]) {
					botdown.css("visibility", "hidden");
				}
				return false;
			});
		
			botdown.css("visibility", "visible");
		}
	}
}

function scroll() {
	void(0);
}

// HEADER
function setHeader() {
	preload([
		"arteninja_on.gif",
		"langbot"+Lang+"_on.png"
	]);
	
	$("#assina img").mouseenter(function() {
		$(this).attr("src", "../images/arteninja_on.gif");
	}).mouseleave(function() {
		$(this).attr("src", "../images/arteninja.gif");
	});
	
	$("#langbot img").mouseenter(function() {
		$(this).attr("src", "../images/langbot"+Lang+"_on.png");
	}).mouseleave(function() {
		$(this).attr("src", "../images/langbot"+Lang+".png");
	});
}

// ABAS
function setAbas() {
	preload([
		"aba_1"+Lang+"_over.gif",
		"aba_2"+Lang+"_over.gif",
		"aba_3"+Lang+"_over.gif",
		"aba_4"+Lang+"_over.gif",
		"aba_5"+Lang+"_over.gif",
		"aba_6"+Lang+"_over.gif",
		"aba_7"+Lang+"_over.gif",
		"aba_1"+Lang+"_on.gif",
		"aba_2"+Lang+"_on.gif",
		"aba_3"+Lang+"_on.gif",
		"aba_4"+Lang+"_on.gif",
		"aba_5"+Lang+"_on.gif",
		"aba_6"+Lang+"_on.gif",
		"aba_7"+Lang+"_on.gif"
	]);
	
	$(".aba").mouseenter(function() {
		var num = $(this).attr("num");
		$(this).children("img").attr("src", "../images/aba_"+num+Lang+"_over.gif");
	}).mouseleave(function() {
		var num = $(this).attr("num");
		if (num == SecNum) {
			$(this).children("img").attr("src", "../images/aba_"+num+Lang+"_on.gif");
		} else {
			$(this).children("img").attr("src", "../images/aba_"+num+Lang+".gif");
		}
	});
}

function ajustaAbas() {
	$("#abas_wrapper").css("width", 385 + ContW + "px");
}

function go(num) {
	$(".aba[num='"+SecNum+"']").children("img").attr("src", "../images/aba_"+SecNum+Lang+".gif");
	if (num == SecNum) {
		num = 0;
	}
	Sec = getSecNome(num);
	SecNum = num;
	Cat = 0;
	Sub = 0;
	Item = 0;
	$(".aba[num='"+SecNum+"']").children("img").attr("src", "../images/aba_"+SecNum+Lang+"_on.gif");
	hideCont();
	if (ListaIsOpen) {
		popLista();
	}
}

function goLang() {
	if (Lang == "_en") {
		Lang = "";
	} else {
		Lang = "_en";
	}
	hideCont();
}

// FOOTER
var FooterH = 0;
var ListaAbaH = 0;
var ListaIsOpen = false;
var Cliente = new Array();
var ListaC = new Array();
var ListaD = new Array();
var ListaQ = new Array();
function setFooter() {
	FooterH = $("#logo").outerHeight(true);
	ListaAbaH = $("#lista_aba"+Lang).innerHeight();
	
	preload([
		"lista_aba"+Lang+"_over.gif",
		"lista_aba"+Lang+"_on.gif"
	]);
	
	$("#lista_aba"+Lang).mouseenter(function() {
		$(this).css("background-image", "url('../images/lista_aba"+Lang+"_over.gif')");
	}).mouseleave(function() {
		if (ListaIsOpen) {
			$(this).css("background-image", "url('../images/lista_aba"+Lang+"_on.gif')");
		} else {
			$(this).css("background-image", "url('../images/lista_aba"+Lang+".gif')");
		}
	});
	
	$("#lista_login input").keypress(function (e) {
		if (e.keyCode == 13) {
			entrar();
		}
	});
	$("#lista_cadastro input").keypress(function (e) {
		if (e.keyCode == 13) {
			ok();
		}
	});
	
	setLista();
}

function ajustaLista() {
	if (ListaIsOpen) {
		$("#lista").animate({height: AvailH, marginTop: -AvailH}, 100);
	}
}

function popLista() {
	if (ListaIsOpen) {
		$("#lista").animate({marginTop: -ListaAbaH, height: ListaAbaH}, 500);
	} else {
		$("#lista").animate({height: AvailH, marginTop: -AvailH}, 1000);
	}
	ListaIsOpen = !ListaIsOpen;
}

function setLista() {
	Cliente = $.deparam.querystring(getCookie("cliente"), true);
	
	if (Cliente.cod) {
		var cods = getCookie("cods");
		if (cods) {
			ListaC = cods.split(",");
		}
		
		if (ListaC.length) { // list
			ListaQ = getCookie("quant").split(",");
			
			$.post("../listadescr.php",
			{ cods: cods, lang: Lang },
			function(data){
				setListaD(data);
				montaLista();
			},
			"html"
			);
		} else { // empty
			montaLista();
		}
	} else {
		$(".lista_item[cod='0']").hide();
		$("#lista_login").show();
	}
}

function setListaD(strD) {
	ListaD = String(strD).split(",");
}

function montaLista() {
	$("#lista_inner").html("");
	if (ListaC.length) { // list
		$("#lista_mensagem").hide();
		$("#lista_inner").show();
		$(".lista_item[cod='0']").show();
		for (var i in ListaC) {
			var it = $(".lista_item[cod='0']").clone(true).attr("cod", ListaC[i]).appendTo("#lista_inner");
			it.find(".lista_item_texto").html(ListaD[i]);
			it.find("input").val(ListaQ[i]);
			it.find(".lista_remover a").attr("href", "javascript:remover("+ListaC[i]+")");
		}
	} else { // empty
		$("#lista_inner").hide();
		listaEmpty();
	}
	$("#lista_bots").show();
	$(".lista_item[cod='0']").hide();
	$("#lista_aba"+Lang).html("("+ListaC.length+")");
}

function entrar() {
	var ema = $("#login_emai").val();
	var sen = $("#login_senh").val();
	
	if (ema && sen) {
		$("#lista_login").hide();
		$("#lista_mensagem").html(Lang == "_en" ? "wait..." : "aguarde...").fadeTo(0, 1);
		
		$.post("../listalog.php",
		{ ema: ema, sen: sen },
		function(data){
			if (data == "0") { // failed
				$("#lista_login").show();
				$("#lista_mensagem").html(Lang == "_en" ? "invalid login" : "login inválido").fadeTo(0, 1).delay(2000).fadeTo(1000, 0);
			} else { // logged
				$("#lista_mensagem").html(Lang == "_en" ? "loged-in" : "login aceito").fadeTo(0, 1).delay(2000).fadeTo(1000, 0, function () { listaEmpty(); });
				var cli = data + "&email=" + ema;
				setCookie("cliente", cli, null, "/");
				setLista();
				$("#login_senh").val("");
			}
		},
		"html"
		);
	} else { // blank fields
		$("#lista_mensagem").html(Lang == "_en" ? "please fill both fields" : "por favor preencha os dois campos").fadeTo(0, 1).delay(1000).fadeTo(1000, 0);
	}
}

function listaEmpty() {
	if (ListaC.length) {
		$("#lista_mensagem").hide();
	} else {
		$("#lista_mensagem").queue(function () {
			$(this).html(Lang == "_en" ? "Your list is empty" : "A lista está vazia").fadeTo(0, 1);
			$(this).dequeue();
		});
	}
}

function cadastro() {
	$("#lista_mensagem").fadeTo(0, 0);
	$("#lista_login").hide();
	$("#lista_cadastro").show();
}

function voltar() {
	$("#lista_cadastro").hide();
	$("#lista_login").show();
}

function ok() {
	var nom = $("#cadastro_nom").val();
	var emp = $("#cadastro_emp").val();
	var fon = $("#cadastro_fon").val();
	var ema = $("#cadastro_ema").val();
	var sen = $("#cadastro_sen").val();
	var cnf = $("#cadastro_cnf").val();
	
	if (nom && emp && fon && ema && sen && cnf) {
		if (sen == cnf) {
			$("#lista_cadastro").hide();
			$("#lista_mensagem").html(Lang == "_en" ? "wait..." : "aguarde...").fadeTo(0, 1);
			
			$.post("../listacad.php",
			{ nom: nom, emp: emp, fon: fon, ema: ema, sen: sen },
			function(data){
				if (data == "1") { // exists
					$("#lista_cadastro").show();
					$("#lista_mensagem").html(Lang == "_en" ? "email already registered" : "email já cadastrado").fadeTo(0, 1).delay(2000).fadeTo(1000, 0);
				} else if (data == "0") { // error
					$("#lista_cadastro").show();
					$("#lista_mensagem").html(Lang == "_en" ? "error" : "erro").fadeTo(0, 1).delay(2000).fadeTo(1000, 0);
				} else { // done
					$("#lista_mensagem").html(Lang == "_en" ? "registering done" : "cadastro realizado").fadeTo(0, 1).delay(2000).fadeTo(1000, 0, function () { listaEmpty(); });
					var cli = data + "&email=" + ema;
					setCookie("cliente", cli, null, "/");
					setLista();
				}
			},
			"html"
			);
		} else { // password mismatch
			$("#lista_mensagem").html(Lang == "_en" ? "password doesn't match" : "senha não confere").fadeTo(0, 1).delay(1000).fadeTo(1000, 0);
		}
	} else { // blank fields
		$("#lista_mensagem").html(Lang == "_en" ? "please fill all the fields" : "por favor preencha todos os campos").fadeTo(0, 1).delay(1000).fadeTo(1000, 0);
	}
}

function esqueci() {
	var ema = $("#login_emai").val();
	
	if (ema) {
		$("#lista_login").hide();
		$("#lista_mensagem").html(Lang == "_en" ? "wait..." : "aguarde...").fadeTo(0, 1);
		
		$.post("../listaesqueci.php",
		{ ema: ema },
		function(data){
			if (data == "0") { // not found
				$("#lista_login").show();
				$("#lista_mensagem").html(Lang == "_en" ? "email not registered" : "email não cadastrado").fadeTo(0, 1).delay(2000).fadeTo(1000, 0);
			} else if (data == "1") { // error
				$("#lista_login").show();
				$("#lista_mensagem").html(Lang == "_en" ? "error" : "erro").fadeTo(0, 1).delay(2000).fadeTo(1000, 0);
			} else { // email sent
				$("#lista_login").show();
				$("#lista_mensagem").html(Lang == "_en" ? "your password was sent to your email" : "sua senha foi enviada para o seu email").fadeTo(0, 1).delay(2000).fadeTo(1000, 0);
			}
		},
		"html"
		);
	} else { // instructions
		$("#lista_mensagem").html(Lang == "_en" ? "you must register before you can send a pre-order<BR>if you forgot your password, type in your registered email address and click on (?) to send it to yourself" : "você precisa se cadastrar para enviar um pedido<BR>se esqueceu sua senha, digite o email cadastrado e clique em (?) para receber a senha").fadeTo(0, 1);
	}
}

function sair() {
	if (!ListaC.length || confirm(Lang == "_en" ? "Discard list and logout?" : "Descartar lista e sair?")) {
		$("#login_emai").val(Cliente.email);
		unsetCookie("cliente", "/");
		limpaLista();
		$("#lista_inner").hide();
		$("#lista_bots").hide();
		$("#lista_mensagem").hide();
		$("#lista_login").show();
	}
}

function limpar() {
	if (confirm(Lang == "_en" ? "Clear list?" : "Limpar lista?")) {
		limpaLista();
		montaLista();
	}
}

function limpaLista() {
	unsetCookie("cods", "/");
	unsetCookie("quant", "/");
	ListaC = new Array();
	ListaD = new Array();
	ListaQ = new Array();
}

function remover(cod) {
	var i = $.inArray(String(cod), ListaC);
	ListaC.splice(i, 1);
	ListaD.splice(i, 1);
	ListaQ.splice(i, 1);
	
	montaLista();
	
	setCookie("cods", ListaC.join(","), null, "/");
	setCookie("quant", ListaQ.join(","), null, "/");
}

function enviar() {
	if (ListaC.length) {
		$("#lista_mensagem").html(Lang == "_en" ? "wait..." : "aguarde...").fadeTo(0, 1);
		
		var cods = ListaC.join(",");
		var descr = ListaD.join(",");
		var quant = ListaQ.join(",");
		var nome = Cliente.nome;
		var empresa = Cliente.empresa;
		var fone = Cliente.fone;
		var email = Cliente.email;
		$.post("../listaenvia.php",
		{ cods: cods, descr: descr, quant: quant, nome: nome, empresa: empresa, fone: fone, email: email, lang: Lang },
		function(data){ // sent
			if (data == "1") {
				limpaLista();
				montaLista();
				
				$("#lista_mensagem").queue(function () { 
					$(this).html(Lang == "_en" ? "your pre-order was sent<BR>we will contact you soon<BR>a copy was sent to your email" : "seu pedido foi enviado<BR>entraremos em contato em breve<BR>uma cópia foi enviada para o seu email").fadeTo(0, 1);
					$(this).dequeue();
				});
			} else { // error
				$("#lista_mensagem").html(Lang == "_en" ? "error" : "erro").fadeTo(0, 1).delay(2000).fadeTo(1000, 0);
			}
		},
		"html"
		);
	} else {
		alert(Lang == "_en" ? "Your list is empty" : "A lista está vazia");
	}
}

// cookie
function setCookie(c_name, value, expiredays, path) {
	var exdate = new Date();
	exdate.setDate(exdate.getDate() + expiredays);
	document.cookie = c_name + "=" + escape(value) + ((expiredays==null) ? "" : ";expires=" + exdate.toGMTString()) + ";path=" + path;
}

function getCookie(c_name) {
	if (document.cookie.length > 0) {
		c_start = document.cookie.indexOf(c_name + "=");
		if (c_start != -1) {
			c_start = c_start + c_name.length + 1;
			c_end = document.cookie.indexOf(";", c_start);
			if (c_end == -1) c_end = document.cookie.length;
			return unescape(document.cookie.substring(c_start, c_end));
		}
	}
	return "";
}

function unsetCookie(c_name, path) {
	document.cookie = c_name + "=;expires=0;path=" + path;
}

