userpic_url = '';
counter = 0;
total = 0;
pwfocus = false;
// get 1st
for (var elements in myaccounts) {
	if (counter == 0) {
		userpic_url = myaccounts[elements];
		if (elements.indexOf("*") != -1) elements = elements.slice(0, -1);
		userpic_account = elements;
		counter++;
	}
	total++;
}

if (!userpic_url) {
	// Def
	userpic_url="1";
	userpic_account = "username@domain.com";
} else pwfocus = true;
if (userpic_url == 0) userpic_url="1";

function getnextpic() {
	var thiscounter = 0;
	for (var elements in myaccounts) {
		userpic_url = myaccounts[elements];
		if (elements.indexOf("*") != -1) elements = elements.slice(0, -1);
		if (thiscounter == counter) {
			counter++;
			break;
		}
		thiscounter++;
	}
	if (counter == total) counter = 0;
	if (total > 0) {
		if (userpic_url == 0) userpic_url="1";
		$('#lightbox').css("background-image", "url(user.pic.php?getpic=100&u="+userpic_url+")");
		$("input[name='account']").val(elements);
		// $("input[name='password']").focus();
		// $('#loginform').validationEngine('hideAll');
		splitstring();
	}
}

function grabTime(theform) {
	var curDate = new Date();
	theform.jstime.value = -curDate.getTimezoneOffset() / 60;
}

function splitstring () {
	var str = $("input[name='account']").val();
	var creds = new Array();
	creds = str.split('@');
	$("input[name='username']").val(creds[0]);
	$("input[name='userdomain']").val('@'+creds[1]);
	$('#username_login').change(function() {
			var str = $("input[name='account']").val();
			var creds = new Array();
			creds = str.split('@');
			$("input[name='username']").val(creds[0]);
			$("input[name='userdomain']").val('@'+creds[1]);
	});
}

function callresize() {
	$(window).resize();
}

function displaycaptcha() {
	Recaptcha.create(recaptcha_global,
		"recaptcha_div",
		{
			theme: "white",
			callback: callresize
		}
	);
}

function timecall() {
	$.ajax({
		url: 'publictimesync/',
		cache: false,
		success: function(data) {
			$('#epoch').html(data);
		}
	});
}

function togglemode(mymode) {
	if (mymode == 'signup') {
		mode = 'signup';
		// Detach Validation & Hiding Prompts (settimout to catch possible call in progress)
		setTimeout("$('#loginform').validationEngine('hideAll')",500);
		$('#loginbox').fadeOut('slow');$('#signupbox').fadeIn('slow');
		$('#bottomlink').html('<img src="images/login_arrow.png" align="absbottom" style="margin-bottom:2px" /> '+log_in+'!');
		$('#bottomlink').unbind('click');
		$('#bottomlink').click(function() { togglemode('login'); });
		grabTime(document.forms['signupform']);
		$(window).resize();
		// Initialize Validation
		$("#signupform").validationEngine({ajaxFormValidation: true,onAjaxFormComplete: ajaxValidationCallback});
	} else if (mymode == 'lostpw') {
		mode = 'lostpw';
		// Detach Validation & Hiding Prompts (settimout to catch possible call in progress)
		setTimeout("$('#loginform').validationEngine('hideAll')",500);
		$('#loginbox').fadeOut('slow');$('#lostpwbox').fadeIn('slow');
		$("#bottom").fadeIn('slow');
		$('#bottomlink').html('<img src="images/login_arrow.png" align="absbottom" style="margin-bottom:2px" /> '+log_in+'!');
		$('#bottomlink').unbind('click');
		$('#bottomlink').click(function() { togglemode('login'); });
		$(window).resize();
		// Initialize Validation
		$("#lostpwform").validationEngine({ajaxFormValidation: true,onAjaxFormComplete: ajaxValidationCallback});
	} else if (mymode == 'login') {
		if (typeof(active) != 'undefined') window.clearInterval(active); 
		content_count = 1;
		$('.show').removeClass('show'); $('#info-0').addClass('show');
		jcps.show('#infowrapper');
		mode = 'login';
		// Detach Validation & Hiding Prompts (settimout to catch possible call in progress)
		setTimeout("$('#signupform').validationEngine('hideAll')",500);
		//$("#signupform").validationEngine('detach');
		//$("#lostpwform").validationEngine('detach');
		$('#signupbox').fadeOut('slow');$('#lostpwbox').fadeOut('slow');$('#infobox').fadeOut('slow');$('#loginbox').fadeIn('slow');
		if (regopen) $('#bottomlink').html('<img src="images/signup.png" align="absbottom" style="margin-bottom:2px" /> '+sign_up+'!');
		else $('#bottomlink').html('');
		$('#bottomlink').unbind('click');
		$('#bottomlink').click(function() { togglemode('signup'); });
		// if (pwfocus) $("input[name='password']").focus();
		$(window).resize();
		// Get username / domain
		splitstring();
		// Initialize Validation
		$("#loginform").validationEngine({ajaxFormValidation: true,onAjaxFormComplete: ajaxValidationCallback});
	} else if (mymode == 'info') {
		var infos = getinfos(hiveversion);
		mode = 'info';
		// Detach Validation & Hiding Prompts (settimout to catch possible call in progress)
		setTimeout("$('#loginform').validationEngine('hideAll')",500);
		$('#loginbox').fadeOut('slow');$('#infobox').fadeIn('slow');
		$('#bottomlink').html('<img src="images/login_arrow.png" align="absbottom" style="margin-bottom:2px" /> '+log_in+'!');
		$('#bottomlink').unbind('click');
		$('#bottomlink').click(function() { togglemode('login'); });
		$(window).resize();
	} else if (mymode == 'token') {
		mode = 'token';
		// Detach Validation & Hiding Prompts (settimout to catch possible call in progress)
		setTimeout("$('#loginform').validationEngine('hideAll')",500);
		$('#loginbox').fadeOut('slow');$('#tokenbox').fadeIn('slow');
		$(window).resize();
	}
}

function getinfos(hiveversion) {
$.ajax({
	url: 'http://hivemail.com/changelog.php',
	data: {version: hiveversion},
	dataType: 'jsonp',
	jsonp: 'callback',
	jsonpCallback: 'jsonpCallback',
	success: function(){
		// alert("success");
    }
});
}

function jsonpCallback(data) {
	$('#infowrapper').html(data.message);
	jcps.fader(300, '#infos');
}

// Called once the server replies to the ajax form validation request
function ajaxValidationCallback(status, form, json, options){
	if (window.console) 
		console.log(status);
		//console.log(Base64.decode(json[2]));
	if (status === false) {
		if (json[0][3]) eval(json[0][3]);
	}               
	if (status === true) {
		// alert("the form is valid!");
		// Hide all errors
		setTimeout("$('#signupform').validationEngine('hideAll')",500);
		setTimeout("$('#loginform').validationEngine('hideAll')",500);
		if (json[3] == 'Login' || json[3] == 'IdentiToken') {
			$('#logintitle').html(json[3]);
			$('#tokentitle').html(json[3]);
			if (json[4]) { 
				togglemode('token');
				setInterval ("timecall()", 1000);
				$("#tokenform").validationEngine({ajaxFormValidation: true,onAjaxFormComplete: ajaxValidationCallback});
				return;
			}
			// OK, submit the form
			document.forms["hivemail_login"].submit();
		}
		
		$('#'+json[0]).html(Base64.decode(json[2]));
		$('#signuptitle').html(json[3]);
		$('#step').val(json[4]);
		if(json[4] == 5) displaycaptcha();
		$(window).resize();
		$("#signupform").validationEngine('detach');
		$("#signupform").validationEngine({ajaxFormValidation: true,onAjaxFormComplete: ajaxValidationCallback});
	}
}

function switchlang(id, mode) {
	// mode = 'submit' | ''
	var today = new Date();
	today.setDate(today.getDate() + 365);
	var nextyear = today;		
	setCookie('languageid',id,nextyear);
	$('#lmode').val(mode);
	$('#lform').submit();
}

function setCookie(name, value) {
	var argv = setCookie.arguments;
	var argc = setCookie.arguments.length;
	var expires = (argc > 2) ? argv[2] : null;
	var path = (argc > 3) ? argv[3] : null;
	var domain = (argc > 4) ? argv[4] : null;
	var secure = (argc > 5) ? argv[5] : false;

	document.cookie = name + "=" + escape (value) +
	((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
	((path == null) ? "" : ("; path=" + path)) +
	((domain == null) ? "" : ("; domain=" + domain)) +
	((secure == true) ? "; secure" : "");
}

$(document).ready(function(){

	$(".btn-slide").click(function(){
	$("#panel").slideToggle("slow");
	$(this).toggleClass("active");
	if ($(this).attr('class') == 'btn-slide') {
		$(this).html(more);
		$("#bottom").fadeIn('slow');
	} else {
		$(this).html(less);
		$("#bottom").fadeOut('slow');
	}
	return false;
	});

	// onload image & focus
	$('#lightbox').css("background-image", "url(user.pic.php?getpic=100&u="+userpic_url+")");
	$("input[name='account']").val(userpic_account);	
	// if (pwfocus) $("input[name='password']").focus();

	if (mode == 'signup') {
		$("#signupform").validationEngine({ajaxFormValidation: true,onAjaxFormComplete: ajaxValidationCallback});
		$('#bottomlink').click(function() { togglemode('login'); });
		$('#bottomlink').html('<img src="images/login_arrow.png" align="absbottom" style="margin-bottom:2px" /> '+log_in+'!');
		$('#signupbox').fadeIn('slow');
	} else {
		// Get username / domain
		splitstring();
		$("#loginform").validationEngine({ajaxFormValidation: true,onAjaxFormComplete: ajaxValidationCallback});
		$('#bottomlink').click(function() { togglemode('signup'); });
		if (regopen) $('#bottomlink').html('<img src="images/signup.png" align="absbottom" style="margin-bottom:2px" /> '+sign_up+'!');
		$('#loginbox').fadeIn('slow');
	} 

	// Center login and signup divs
	$(window).resize(function(){
		$('.lbox').css({
			position:'absolute',
			left: ($(window).width() 
			- $('.lbox').outerWidth())/2,
			top: ($(window).height() 
			- $('.lbox').outerHeight())/2.5
		});

		$('.sbox').css({
			position:'absolute',
			left: ($(window).width() 
			- $('.sbox').outerWidth())/2,
			top: ($(window).height() 
			- $('.sbox').outerHeight())/2.5
		});

		$('.lpbox').css({
			position:'absolute',
			left: ($(window).width() 
			- $('.lpbox').outerWidth())/2,
			top: ($(window).height() 
			- $('.lpbox').outerHeight())/2.5
		});

		$('.ibox').css({
			position:'absolute',
			left: ($(window).width() 
			- $('.ibox').outerWidth())/2,
			top: ($(window).height() 
			- $('.ibox').outerHeight())/2.5
		});
		
		$('.tokenbox').css({
			position:'absolute',
			left: ($(window).width() 
			- $('.tokenbox').outerWidth())/2,
			top: ($(window).height() 
			- $('.tokenbox').outerHeight())/2.5
		});
	});
	// Out of whatever reason we need to call it twice...
	$(window).resize();$(window).resize(); 
	 
});
