// CONFIG ////////////////
var initialBetAmount = 1;
var incrementoRonda = 0;
var mode = 'martingale'; // can be 'martingale' 
var betColor = 'red'; // can be 'red' or 'black'
//////////////////////////
var apuesta_actual;
var ronda_actual;
var has_apostado;// 0 no 1 si
var anterior_ronda;// 0 perdida 1 ganada
//////////////////////////

if("apuesta_actual" in localStorage){
    console.log("\nExiste apuesta_actual, cogiendo valores");
	apuesta_actual=localStorage.getItem("lastname"); 
} else {
	localStorage.setItem("apuesta_actual",initialBetAmount);;//------------------------------->
	console.log("\nNo existe apuesta_actual, creando valor");}

if("ronda_actual" in localStorage){
    console.log("\nExiste ronda_actual, cogiendo valores");
	ronda_actual=localStorage.getItem("ronda_actual"); 
} else {
	localStorage.setItem("ronda_actual","0");//------------------------------->
	console.log("\nNo existe ronda_actual, creando_valor");}

if("has_apostado" in localStorage){
    console.log("\nExiste has_apostado, cogiendo valores");
	estado_actual=localStorage.getItem("has_apostado"); 
} else {
	localStorage.setItem("has_apostado","0");;//------------------------------->
	console.log("\nNo existe has_apostado, creando valor");}

if("anterior_ronda" in localStorage){
    console.log("\nExiste anterior_ronda, cogiendo valores");
	apuesta_actual=localStorage.getItem("anterior_ronda"); 
} else {
	localStorage.setItem("anterior_ronda","xXx");;//------------------------------->
	console.log("\nNo existe anterior_ronda, creando valor");}


setInterval(function(){
  if($(".divchat").text().search("Connection lost...") != -1) location.reload();
}, 1000);


function tick() {
    var a = getStatus();
    if (a !== lastStatus && "unknown" !== a) {
        switch (a) {
            case "waiting":
                bet();
                break;
            case "rolled":
                rolled()
        }
        lastStatus = a, printInfo()
    }
}

function checkBalance() {
	    return getBalance() < localStorage.getItem("apuesta_actual") ? (console.log("\n EL SCRIPT SE DETENDRÁ"), clearInterval(refreshIntervalId), !1) : !0
}

function printInfo() {
    var a = " \nStatus: " + lastStatus & _
		    "\nRolls played: " + localStorage.getItem("ronda_actual") & _ 
			"\nInitial bet amount: " + initialBetAmount & _
			"\nCurrent bet amount: " + localStorage.getItem("apuesta_actual") & _
			"\nLast roll result: " + (null === wonLastRoll() ? "esperando_resultado" : wonLastRoll() ? "ganada" : "perdida");
    console.log(a)
}

function rolled() {
    return "anti-martingale" === mode ? void antiMartingale() : (martingale(), void localStorage.getItem("ronda_actual")=localStorage.getItem("ronda_actual")+1)
}

function antiMartingale() {
    currentBetAmount = wonLastRoll() ? 2 * currentBetAmount : initialBetAmount
}

function martingale() {
    localStorage.getItem("apuesta_actual") = wonLastRoll() ? initialBetAmount : (2 * localStorage.getItem("apuesta_actual"))+incrementoRonda 
}

function bet() {
		if (localStorage.getItem("has_apostado")==0){	
			checkBalance() && (setBetAmount(localStorage.getItem("apuesta_actual")), setTimeout(placeBet, 50))
		localStorage.getItem("apuesta_actual"))="1"}
		else{console.log("\Ya has apostado...");}
}

function setBetAmount(a) {
    $betAmountInput.val(a)
}

function placeBet() {
    return "red" === betColor ? ($redButton.click(), void(BetColor = "red")) : ($blackButton.click(), void(BetColor = "black"));}
}

function getStatus() {
    var a = $statusBar.text();
    if (hasSubString(a, "Rolling in")) return "waiting";
    if (hasSubString(a, "***ROLLING***")) return "rolling";
    if (hasSubString(a, "rolled")) {
        var b = parseInt(a.split("rolled")[1]);
        return lastRollColor = getColor(b), "rolled"
    }
    return "unknown"
}

function getBalance() {
    return parseInt($balance.text())
}

function hasSubString(a, b) {
    return a.indexOf(b) > -1
}

function getColor(a) {
    return 0 == a ? "green" : a >= 1 && 7 >= a ? "red" : "black"
}

function wonLastRoll() {
    return BetColor ? lastRollColor localStorage.getItem("anterior_ronda")="1" === BetColor : null localStorage.getItem("anterior_ronda")="0"
	localStorage.getItem("apuesta_actual"))="0"
}
var currentBetAmount = initialBetAmount,
    lastStatus, BetColor, lastRollColor, $balance = $("#balance"),
    $betAmountInput = $("#betAmount"),
    $statusBar = $(".progress #banner"),
    $redButton = $("#panel1-7 .betButton"),
    $blackButton = $("#panel8-14 .betButton"),
    refreshIntervalId = setInterval(tick, 500);