var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
function encode64(input) {
   var output = "";
   var chr1, chr2, chr3;
   var enc1, enc2, enc3, enc4;
   var i = 0;

   do {
      chr1 = input.charCodeAt(i++);
      chr2 = input.charCodeAt(i++);
      chr3 = input.charCodeAt(i++);

      enc1 = chr1 >> 2;
      enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
      enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
      enc4 = chr3 & 63;

      if (isNaN(chr2)) {
         enc3 = enc4 = 64;
      } else if (isNaN(chr3)) {
         enc4 = 64;
      }

      output = output + keyStr.charAt(enc1) + keyStr.charAt(enc2) +
         keyStr.charAt(enc3) + keyStr.charAt(enc4);
   } while (i < input.length);

   return output;
}

function decode64(input) {
   var output = "";
   var chr1, chr2, chr3;
   var enc1, enc2, enc3, enc4;
   var i = 0;

   // remove all characters that are not A-Z, a-z, 0-9, +, /, or =
   input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");

   do {
      enc1 = keyStr.indexOf(input.charAt(i++));
      enc2 = keyStr.indexOf(input.charAt(i++));
      enc3 = keyStr.indexOf(input.charAt(i++));
      enc4 = keyStr.indexOf(input.charAt(i++));

      chr1 = (enc1 << 2) | (enc2 >> 4);
      chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
      chr3 = ((enc3 & 3) << 6) | enc4;

      output = output + String.fromCharCode(chr1);

      if (enc3 != 64) {
         output = output + String.fromCharCode(chr2);
      }
      if (enc4 != 64) {
         output = output + String.fromCharCode(chr3);
      }
   } while (i < input.length);

   return output;
}

function ajax(Method,URL,Mode,Response,Preout,Output)
{
	objXml = null;

	if (window.XMLHttpRequest) {
		try {
			objXml = new XMLHttpRequest();
		}
		catch(e) {
			objXml = false;
		}
	}
	else {
		if (window.ActiveXObject) {
			try {
				objXml = new ActiveXObject("Msxml2.XMLHTTP");
			}
			catch(e) {
				try {
					objXml = new ActiveXObject("Microsoft.XMLHTTP");
				}
				catch(e) {
					objXml = false;
				}
			}
		}
	}

	if (Response == false) {
		objXml.onreadystatechange = function()
		{
			if (Preout!="" && Preout != null) {
				document.getElementById(Output).innerHTML = Preout;
			}
			if (objXml.readyState == 4) {
				if (objXml.status == 200) {
					document.getElementById(Output).innerHTML = decode64(unescape(objXml.responseText));
				}
				else {
					document.getElementById(Output).innerHTML = "&Aring;tg&auml;rden kunde inte utf&ouml;ras.";
				}
			}
		}
	}

	objXml.open(Method, URL, Mode);
	objXml.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
	objXml.send(null);

	if (Response == true) {
		return decode64(unescape(objXml.responseText));
	}
	else {
		return true;
	}
}

function servertid(starta) {
	var servertid = ajax("get", "servertid.php", false, true);
	digital = new Date();
	digital.setYear(servertid.substr(0,4));
	var months = digital.getMonth();
	if (months < 1) {
		digital.setMonth(servertid.substr(5,2) - 1);
	} else {
		digital.setMonth(servertid.substr(5,2));
	}
	
	if (months < 1) {
		digital.setMonth("01");
	}
	digital.setDate(servertid.substr(8,2));
	digital.setHours(servertid.substr(11,2));
	digital.setMinutes(servertid.substr(14,2));
	digital.setSeconds(servertid.substr(17,2));
	if (starta == "klocka") {
		klocka();
	}
	setTimeout("servertid()", 60000);
}

function klocka() {
	var years = digital.getFullYear();
	var months = digital.getMonth();
	var days = digital.getDate();
	var hours = digital.getHours();
	var minutes = digital.getMinutes();
	var seconds = digital.getSeconds();
	digital.setSeconds(seconds+1);

	if (minutes <= 9) {
		minutes = "0" + minutes;
	}
	if (seconds <= 9) {
		seconds = "0" + seconds;
	}
	if (hours < 10) {
		hours = "0" + hours;
	}
	if (days < 10) {
		days = "0" + days;
	}

	if (months < 10) {
		months = "0" + months;
	}

	dispTime = years + "-" + months + "-" + days + " " +hours + ":" + minutes + ":" + seconds;
	document.getElementById('klocka').innerHTML = dispTime;
	setTimeout("klocka()", 1000);
	return;
}

function mojlig_vinst() {
	var satsat_idag = document.getElementById('satsat_idag').value;
	satsat_idag = Math.round(satsat_idag * 100) / 100;
	var disponibelt = document.getElementById('disponibelt').value;
	disponibelt = disponibelt.replace(" ", "");
	disponibelt = disponibelt.replace(",", ".");
	disponibelt = Math.round(disponibelt * 100) / 100;

	var insats = document.getElementById('insats').value;
	insats = insats.replace(" ", "");
	insats = insats.replace(",", ".");
	insats = Math.round(insats * 100) / 100;
	document.getElementById('insatsvarde').value = insats;
	if (!parseInt(insats) || insats < 1) {
		insats = 0;
	}

	if (insats > disponibelt) {
		document.getElementById('insats').value = document.getElementById('disponibelt').value;
		var for_hog = "ja";
	}

	var mojlig_vinst = document.getElementById('totalt_odds').value * insats;
	mojlig_vinst = Math.round(mojlig_vinst * 100) / 100;
	mojlig_vinst = mojlig_vinst + "";
	if (mojlig_vinst.substr(mojlig_vinst.length -2, 1) == ".") {
		mojlig_vinst = mojlig_vinst + "0";
	}

	document.getElementById('mojlig_vinst').innerHTML = mojlig_vinst;
	if (for_hog == "ja") {
		alert('Insatsen kan inte vara högre än ditt disponibla belopp (' + document.getElementById('disponibelt').value + ' SEK).');
	} else {
		if (satsat_idag + insats > 5000 && satsat_idag <= 5000) {
			alert('Insatserna i dagens spel överskrider 5 000 SEK, du kommer därmed påbörja ett powerplay!');
		}
	}
}

function satt_odds(speltyp) {
	var odds = document.getElementById('snabbodds').value;
	switch (speltyp) {
		case 1:
			if (odds != "-") {
				var odds_hemma = odds.substr(0, odds.indexOf(" "));
				var odds_oavgjort = odds.substr(odds_hemma.length + 3, odds.indexOf(" "));
				var odds_borta = odds.substr(odds_hemma.length + odds_hemma.length + 6);
				document.getElementById('odds_hemma').value = odds_hemma;
				document.getElementById('odds_oavgjort').value = odds_oavgjort;
				document.getElementById('odds_borta').value = odds_borta;
			}
			else {
				document.getElementById('odds_hemma').value = "";
				document.getElementById('odds_oavgjort').value = "";
				document.getElementById('odds_borta').value = "";
			}
		break;
	}
}

function informationsruta(text) {
	var posx = 0;
	var posy = 0;
	var e = window.event;
	if (e.pageX || e.pageY) 	{
		posx = e.pageX;
		posy = e.pageY;
	}
	else if (e.clientX || e.clientY) 	{
		posx = e.clientX + document.body.scrollLeft
			+ document.documentElement.scrollLeft;
		posy = e.clientY + document.body.scrollTop
			+ document.documentElement.scrollTop;
	}
	document.getElementById('informationsruta').innerHTML = text
}

function posta(formular, spamkod) {
	if (spamkod == true) {
		var kod = document.getElementById('spambild').src.indexOf("status=ok");
		if (kod == -1) {
			document.body.focus();
			alert('Felaktig säkerhetskod!');
		}
		else {
			document.getElementById(formular).submit();
		}
	}
	else {
		document.getElementById(formular).submit();
	}
}

function submit_on_enter (evt, formular, spamkod) {
	var char_code = (evt.which) ? evt.which : event.keyCode
	if (char_code == "13") {
		posta(formular, spamkod);
	}
}

function spamkoll (url) {
	var kod = ajax('GET', url, false, true);
	if (kod == "ok") {
		var bild = document.getElementById('spambild').src;
		bild = bild.replace("&status=ok", "");
		bild = bild + "&status=ok";
		document.getElementById('spambild').src = bild;
	}
	else {
		var bild = document.getElementById('spambild').src;
		bild = bild.replace("&status=ok", "");
		document.getElementById('spambild').src = bild;
	}
}

function vaxla_odds(id) {
    oddsvaxlare = document.getElementById('oddsvaxlare_' + id);
    
    if (oddsvaxlare.innerHTML == "Visa odds") {
        for (i = 1; i <= 25; i++) {
            document.getElementById('odds_' + id + '_' + i).style.display = "";
        }
        
        oddsvaxlare.innerHTML = "Dölj odds";
    } else {
        for (i = 1; i <= 25; i++) {
            document.getElementById('odds_' + id + '_' + i).style.display = "none";
        }
        
        oddsvaxlare.innerHTML = "Visa odds";
    }
}