currentLanguage = "";
translations = null;

$(document).ready(function() {

	//hover & click
	$(".language").hover(
      function () {
        var newSrc = $(this).find("img").attr('src').replace('_i.jpg','_a.jpg');
		$(this).find("img").attr("src",newSrc);
      }, 
      function () {
		if($(this).find("img:eq(0)").attr("id")==currentLanguage) return false;
        var newSrc = $(this).find("img").attr('src').replace('_a.jpg','_i.jpg');
		$(this).find("img").attr("src",newSrc);
      }
    );
	
	$(".language").click(function(){
		var language = $(this).find("img").attr("id");
		setLanguage(language);
	});
	
	$("#login").click(enableLogin);
	$("#new").click(disableLogin);

	
	//init validation
	if(researchType=="public") {
		
		formvalidation = {
			rules: {
				email: {required: function() {return $("#login:checked").size()}},
				password: {required: function() {return $("#login:checked").size()}}
			},
			messages: {
				email: "-",
				password: "-"
			},
			submitHandler: function(form){
				
				if($("#tbody_public").size()==0 || $("#new").attr("checked")==true) {
					//altijd nieuw
					openClient(true);
				} else {
					
					//existing user, do authentication
					if($("#login").attr("checked")) {
						$.post("ajax/login.php", $("#loginform").serialize(),
						   function(data){
						   		var parsedJSON = eval('(' + data + ')');
						   		if(parsedJSON.returncode=="ok") {
									loggedIn = true;
									openClient();
						   		} else {
									$("#loginmessage").html("<label class='error' style='width:100%'>"+parsedJSON.message+"</label>");
						   		}
						});
					}
				}	
			},
			errorPlacement: function(error, element) {
				if(element.attr("name") == "email" || element.attr("name") == "password") {
					element.parent().find("label").remove();
					error.appendTo(element.parent());
				}
			}
		};
	
		
	} else if(researchType=="closed") {
		//set 
		formvalidation = {
				rules: {
					password: {required:true}
				},
				messages: {
					password: "-"
				},
				submitHandler: function(form){
					 $.post("ajax/login.php", $("#loginform").serialize(),
					   function(data){
					   		var parsedJSON = eval('(' + data + ')');
					   		if(parsedJSON.returncode=="ok") {
								loggedIn = true;
								openClient(true);
					   		} else {
								$("#loginmessage").html("<label class='error' style='width:100%'>"+parsedJSON.message+"</label>");
					   		}
					   });
				},
				errorPlacement: function(error, element) {
					element.parent().find("label").remove();
					error.appendTo(element.parent());
				}
			};
	} else if (researchType=="personal") {

		formvalidation = {
				rules: {
					email: {required: true, email:true},
					password: {required: true}
				},
				messages: {
					email: "-",
					password: "-"
				},
				submitHandler: function(form){
					 $.post("ajax/login.php", $("#loginform").serialize(),
					   function(data){
					   		var parsedJSON = eval('(' + data + ')');
					   		if(parsedJSON.returncode=="ok") {
								loggedIn = true;
								openClient();
					   		} else {
								$("#loginmessage").html("<label class='error' style='width:100%'>"+parsedJSON.message+"</label>");
					   		}
					   }); 
				},
				errorPlacement: function(error, element) {
					if(element.attr("name") == "email" || element.attr("name") == "password") {
						element.parent().find("label").remove();
						error.appendTo(element.parent());
					}
				}
			};
	}
		
	/*
	$("#start").click(function(){
		//$("#loginform").trigger("submit");
		$("#loginform").get(0).submit();
	});
	*/
	
	$("#loginform").validate(formvalidation);

	$("#loginform").submit(function(){
		//alert("submit");
		//$("#loginform").validate(formvalidation);
		//return false;
		
		//alert("submit");
	});
	
	
	

	
	$("#logout").click(function(){;
		$.getJSON("ajax/logout.php", null, function(json){
			if(json.returncode=="ok") {
				top.location.reload();
			}
		});
		return false;
	});
	
	
	

});


function openClient(newUser) {
	
	var url = "client.php?researchID=" + researchID;
	if(newUser) url = url + "&newUser=true";
	
	/*
	var windowWidth = 800;
	var windowHeight = 650;
	
	myleft=(screen.width)?(screen.width-windowWidth)/2:100;
	mytop=(screen.height)?(screen.height-windowHeight)/2:100;
	
	properties = "width="+windowWidth+",height="+windowHeight+",scrollbars=no,scrollbars=no,top="+mytop+",left="+myleft;
	
	var popupWd = window.open(url,"popupWd",properties);
	top.window.location.reload();
	*/
	

	var l = top.location.href.replace(/\d+$/, url);
	top.location.href = l;

}


function enableLogin() {
	$("#logintable").removeAttr("disabled");
	$("#email").removeAttr("disabled");
	$("#password").removeAttr("disabled");
}

function disableLogin() {
	$("#logintable").attr("disabled", "disabled");
	$("#email").attr("disabled", "disabled");
	$("#password").attr("disabled", "disabled");
}


function setLanguage(language){
	
	language = language.toLowerCase();
	
	//reset
	$("div.language img").each(function(){
		var newSrc = $(this).attr('src').replace('_a.jpg','_i.jpg');
		$(this).attr("src",newSrc);
	});
	$("div.language span").removeClass("strong");
	
	$("div.language img").each(function(){
		if($(this).attr("id")==language) {
			var newSrc = $(this).attr('src').replace('_i.jpg','_a.jpg');
			$(this).attr("src",newSrc);
			currentLanguage = language;
			$(this).parent().find("span:eq(0)").addClass("strong");
		}
	});
	
	$.ajax({
	   type: "GET",
	   url: "ajax/setcookie.php",
	   data: "researchID=" + researchID + "&lang="+language.toUpperCase(),
	   success: function(data){
		}
	});	
	$.ajax({
	   type: "GET",
	   url: "ajax/gettranslations.php",
	   data: "lang="+language.toUpperCase(),
	   success: function(jsondata){
		
			var translations = eval('(' + jsondata + ')');
			$("#trans_usertype").html(translations.newOrReturningVisitor);
			$("#trans_newvisitor").html(translations.newVisitor);
			$("#trans_returningvisitor").html(translations.returningVisitor);
			$("#trans_emailaddres").html(translations.emailaddress);
			$("#trans_username").html(translations.username);
			$("#trans_password").html(translations.password);
			$("#trans_enterpassword").html(translations.enterPassword);
			$("#trans_enterlogin").html(translations.enterLogin);

			$("#submit").attr("src", "images/" + language + "_start.gif");
			
			//form validation messages
			formvalidation.messages.email = translations.supplyValidEmail;
			formvalidation.messages.password = translations.supplyValidPassword;
			
			if(researchType=="closed") {
				var passwordLabel = $("#password").parent().find("label:eq(0)");
				if(passwordLabel!=undefined && passwordLabel.size()>0 && passwordLabel.html()!="") {
					passwordLabel.html(translations["supplyValidPassword"]);
				}
			} else if (researchType=="personal" || researchType=="public") {
				var usernameLabel = $("#username").parent().find("label:eq(0)");
				if(usernameLabel!=undefined && usernameLabel.html()!="") usernameLabel.html(translations["supplyValidUsername"]);
				var passwordLabel = $("#password").parent().find("label:eq(0)");
				if(passwordLabel != undefined && passwordLabel.html()!="") passwordLabel.html(translations["supplyValidPassword"]);
			}
			
			var errorLabel = $("#loginmessage label:eq(0)");
			if(errorLabel!=undefined && errorLabel.html()!="") errorLabel.html(translations["invalidLogin"]);
			
		}
	});	
}
