// We have to do it globally to get the date as soon as possible
var dateLocal = new Date();

// Functonal Footer Clock
$(function(){
	try {
		var timeNodes = document.getElementById('theTime').getElementsByTagName('div');
		var timeNode = timeNodes[0];
		var serverTimeArr = timeNode.innerHTML.split(":");
		var dateServer = new Date();
		dateServer.setHours(serverTimeArr[0]);
		dateServer.setMinutes(serverTimeArr[1]);
		dateServer.setSeconds(serverTimeArr[2]);
		timeDiff = dateServer - dateLocal;
		function updateClock() {
			var date = new Date();
			date.setTime(date.getTime() + timeDiff);
			timeNode.innerHTML = date.toLocaleTimeString();
			setTimeout(updateClock, 1000 - (date.getTime() % 1000));
		}
		// synchronize on real seconds only
		setTimeout(updateClock, 1000 - ((new Date()).getTime() % 1000));
	} catch (e) {}
});

// login & account options overlays
$(function(){
	var $dropdowns = $("#acct-opts-blurb, #sign-in-out, #logout-overlay");
	$dropdowns.find("a.title").click(function(e) {
		$this = $(this);
		$dropdown = $this.parents("li > div");
		var isOpen = $dropdown.hasClass("open");
		$dropdowns.removeClass("open");
		$dropdown.toggleClass("open", !isOpen);
		e.preventDefault();
	});
	
	$dropdowns.find(".close-link, input.cancel").click(function(e) {
		$dropdowns.removeClass("open");
		e.preventDefault();
	});
	
	$("#LoginForm").submit(function(){
		var errId = -1;
		var errIdArr = ['server', 'server', 'server'];
		errId += ($("#username").val() == "" ? 1 : 0);
		errId += ($("#password").val() == "" ? 2 : 0);
		var messageJQ = $("#login-overlay .message span");
		if (errId > -1) {
			messageJQ.removeClass("act");
			messageJQ.filter("." + errIdArr[errId]).addClass("act");
			return false;
		}
	});
	
});

//Login link to popup login form overlay
$(function(){
	$(".login-link").click(function(e) {
		$("#sign-in-out").addClass("open");
		e.preventDefault();
	});
});

// Login overlay
/* $(function(){
	var signInOutJQ = $("#sign-in-out");
	var signInJQ = $("#sign-in");
	var signOutJQ = $("#sign-out");
	
	$("#sign-in-text, #sign-out-text").click(function(e){
		signInOutJQ.toggleClass("open");
		return false;
	});

	$(".login-logout .cancel").click(function(e) {
		signInOutJQ.removeClass("open");
	});

	$("#sign-in-text").click(function(e){
		signInJQ.addClass("act");
		signOutJQ.removeClass("act");
	});
	
	$("#sign-out-text").click(function(e){
		signOutJQ.addClass("act");
		signInJQ.removeClass("act");
	});
	
	$("#LoginForm").submit(function(){
		var errId = -1;
		var errIdArr = ['server', 'server', 'server'];
		errId += ($("#username").val() == "" ? 1 : 0);
		errId += ($("#password").val() == "" ? 2 : 0);
		var messageJQ = $("#login-overlay .message span");
		if (errId > -1) {
			messageJQ.removeClass("act");
			messageJQ.filter("." + errIdArr[errId]).addClass("act");
			return false;
		}
	});
}); */

// If the login was not successful show the login overlay again
$(function(){
	var urlParamArr = location.search.substr(1).split('&');
	var urlParamAArr = {};
	var l = urlParamArr.length;
	for (var i = 0; i < l; i++) {
		var urlParam = urlParamArr[i].split('=');
		urlParamAArr[urlParam[0]] = urlParam[1];
	}
	if (urlParamAArr['sid'] == -5) {
		$("#sign-in-out").addClass("open");
	}
	if (urlParamAArr['sid'] <= 1 && urlParamAArr['page'] == "badlogin") {
		$("#sign-in-out").addClass("open");
	}
});

// Functional footer initial bounce
$(function(){
	var bottomBarJQ = $("#bottom-bar, #bottom-bar > div");
	bottomBarJQ.css({backgroundColor: "#198E45"});//, borderColor: "#6BC28D"});
//	$("#ff-footer .wrapper").css({opacity: 1, backgroundColor: "#198E45"});
	$("#ff-footer .highlighter").css({opacity: 0});
	$("#ff-footer").animate(
		{bottom: -1},
		{duration: 1100, easing: "easeOutBounce", complete: function() {
			if ($('#nolang, #noresident').size()) {
				$('<div class="footer-modal"></div>').insertAfter('#ff-page-container');
				$('div.funcMessageBox').fadeIn('slow');
				$('div.footer-modal').fadeIn('slow');
			}
		}}
	);
//			bottomBarJQ.animate({borderColor: "#6678AA"}, {duration: 1000});
			setTimeout(function(){bottomBarJQ.animate({backgroundColor: "#162477"}, {duration: 1000})}, 2000);//, complete: function() {
			//"#407382"
			//setTimeout(function(){
//									bottomBarJQ.animate({backgroundColor: "#162477"}, {duration: 400})//}, 0);
//				bottomBarJQ.css({borderColor: "#6678AA"});
//			}});
			//, complete: function() {
				/* IE6 workaround */
//				wrapperJQ.css({opacity: ''});
//				var highlighterJQ = $("#ff-footer .highlighter");
//				setTimeout(function(){highlighterJQ.animate({opacity: 0}, {duration: 1000})}, 500);
//			}
//			})
//		}}
//	);
});

//External links
$(document).ready(function() {
    $('a.external-link').click( function() {
        window.open($(this).attr('href'));
		return false;
    });
});

// Popup Window
$(document).ready(function() {
    $('a.popup').click(function(ev){
		window.open( $(this).attr('href'),'','width=750,height=550,scrollbars=1' );
		return false;
	})
});

// Custom Popup Window (more advanced options)
$(function(){
	$('a.popup-custom').click(function(e) {
		e.preventDefault();
		var params = $(this).attr('class').match(/popup-[0-9][^ ]+/)[0].split('-');
		
		if (params)	{
			var args = [
				'width=' + params[1],
				'height=' + params[2],
				'left=' + params[3],
				'top=' + params[4],
				'scrollbars=' + params[5],
				'status=' + params[6],
				'resizable=' + params[7]
			];
			window.open($(this).attr('href'), params[8], args.join(','));
		}
	});
});

// Functional footer popups
$(function() {
	var bbItems = $("#ff-footer .bb-item.expandable");
	var bbItemsDecor = bbItems.find(".decor");
	bbItems.find(".decor").click(function(e) {
		$this = $(this);
		var isOpen = $this.hasClass("open");
		bbItemsDecor.removeClass("open");
		$this.toggleClass("open", !isOpen);
	});
	
	bbItems.find(".toggle a").click(function(e) {
		e.preventDefault();
	});
	bbItems.find(".close-link").click(function(e) {
		$(this).parents(".bb-item").removeClass("open");
	});
});

// Odds show/hide switch
$(function(){
	var $decimal = false
	var $oddsJQ = $("#bb-odds-format");	
	var $odds = $oddsJQ.html();
	$("#bb-odds-format").click(function(e) {
		var $decor = $(this).find(".decor");
		if ($decimal) {
			$oddsJQ.html($odds);
			$decor.html("Fractional");
			$decimal = false;
		} else {
			$decor.html("Decimal");
			$decimal = true;
		}
	})
});

// Balance show/hide
$(function(){
	var $stars = false;
	var $balanceJQ = $("#cust-balance");
	var $balance = $balanceJQ.html();
	var hideitem = $("#hide_item");
	var showitem = $("#show_item");
	var hidetext = hideitem.html() || "Hide";
	var showtext = showitem.html() || "Show";
	$("#show-hide-balance").click(function(e) {
		e.preventDefault();
		if ($stars) {
			$balanceJQ.html($balance);
			$(this).html(hidetext);
			$stars = false;
		} else {
			$balanceJQ.html("******");
			$(this).html(showtext);
			$stars = true;
		}
	})
});


// Remember me
$(function(){
	function setCookie(name, value, expire, path) {
		var cookie = [];
		var date = new Date();
		if (expire) {
			date.setTime(date.getTime() + expire*1000);
		}
		if (!path) {
			path = '/';
		}
		cookie.push(name + '=' + value);
		cookie.push('expires=' + date.toGMTString());
		cookie.push('path=' + path);
		document.cookie = cookie.join('; ');
	}
	
	function getCookie(name) {
		var cookies = document.cookie.split('; ');
		var value=false;
		for (var i=0; i<cookies.length; i++) {
			var cookie = cookies[i].split('=');
			if (cookie[0] == name) {
				value = cookie[1];
				break;
			}
		}
		return value;
	}
	
	try {
		$("#LoginForm").submit(function(e){
			if (document.getElementById("remember_me").checked) {
				setCookie("coral_username", document.getElementById("username").value, 31536000);
			} else {
				setCookie("coral_username", "");
			}
		});
		var username = getCookie("coral_username");
		if (username) {
			document.getElementById("username").value = username;
			document.getElementById("remember_me").checked = true;
		}
	} catch(e) {}
	
	$("#acct-opts-blurb .button .decor a").click(function(e){
		var accOptionsCheckbox = $("input#suppress-acct-opts-blurb-box:checked").length;
		if (accOptionsCheckbox !== 0) {
			setCookie('acc-options-dont-show', 1, 31536000);
		} else {
			$("#acct-opts-blurb").removeClass("open");
			return false;
		}
	});
});

// Hide terms and conditions
$(function () {
    $('.terms').addClass('close')
	$('.terms .toggle').click(function(e) {
		e.preventDefault();
		var $terms = $(this).parents(".terms"); 
		$terms.children(".content").slideToggle('slow');
		$terms.toggleClass('close').toggleClass('open');
	});
});

// IE6 Button Hover fix
$(function() {
	$(".button").hover(function(){
		   $(this).find(".decor").addClass('over');
	}, function() {
		   $(this).find(".decor").removeClass('over');
	});
});

// Game Launchers
$(function () {
	$this = $(".game-launcher-list");
	var $launchers = $(".game-launcher-list");

	$launchers.find(".play a, .play-fun a").click(
		function(e) {
		e.preventDefault();
		//return false;
	});
	
	$launchers.find(".game").hover(
		function() {
			$(this).addClass('hover');
		},
		function() {
			$(this).removeClass('hover');
		}
	);
});

// Equalise game button height 
$(document).ready(function(){
	function equalHeight(group) {
		tallest = 0;
		group.each(function() {
			thisHeight = $(this).height();
			if(thisHeight > tallest) {
				tallest = thisHeight;
			}
		});
		group.height(tallest);
	}
	equalHeight($(".game .button-list .button .decor"));
});

// Refresh Balance
$(function balanceRefresh(){
	$("#refresh-balance").click(function(){
		checkbal();
	});
});
	
// No Language Pop up
$(function nolangPopUp(){
	
	$("div.funcMessageBox").hide();
	$("div.footer-modal").hide();
	
	$("div.popUpTrigger").click(function(){
		showPopUp();
	});
	
	function showPopUp(){
		$("div.funcMessageBox").fadeIn('slow');
		$("div.footer-modal").fadeIn('slow');
	}
	
	function closePopUp(){
		$("div.funcMessageBox").fadeOut('slow');
		$("div.footer-modal").fadeOut('slow');
	}
	
	$("a.close-link").click(function(){
		closePopUp();
	});
	
	$("a.pseudo-button").click(function(){
		closePopUp();
	});
	
//	$(".footer-modal").bgiframe();
	
	var nolangMessage = $("input:hidden[name=nolangMsg]").val();
	
	$("p.nolang-message").append(nolangMessage);
});

