g_uploadCounter = 0;


function UserSelector() {
this.userdata = null;
this.countries = null

var me = this;

this.IsAdminPlus = function(appId) {
	if (me.userdata.levels[appId] == 4) {
		return true;
	}
	return false;
}

this.IsAdmin = function(appId) {
	if (me.userdata.levels[appId] == 2) {
		return true;
	}
	return false;
}

this.IsVIP = function(appId) {
	if (me.userdata.levels[appId] == 3) {
		return true;
	}
	return false;
}

this.IsUser = function(appId) {
	if (me.userdata.levels[appId] == 1) {
		return true;
	}
	return false;
}

this.Init = function() {
	$("idDetails").style.display="";
	$("idCurrentDeleteAvatar").checked=false;
	$("idCurrentDeleteUser").checked=me.userdata.isDeleted;

	if (IsAdminPlus()) {
		me.countries = g_arrCountries.clone();

		for (var i = 0; i < me.countries.length; i++) {
			for (var j = 0; j <  me.countries.length - i - 1; j++) {
				if (g_Babel.GetWord(me.countries[j].babelId) > g_Babel.GetWord(me.countries[j + 1].babelId)) {
					var dummy = new Object();
					dummy = me.countries[j];
					me.countries[j] = me.countries[j + 1];
					me.countries[j + 1] = dummy;
				}
			}
		}		

		if (!me.IsAdminPlus(me.countries[0].appId)) {
			$("idAdminPlusOnly").style.display = "block";
			$("idAdminPlusOnly").update("");

			var innerHTML = "<hr class='messageSeparator'><table class='labelsTable'><tr><td></td><td class='levelsTableTD'>" + g_Babel.GetWord("ul_user") + "</td><td class='levelsTableTD'>" + g_Babel.GetWord("ul_vip") + "</td><td class='levelsTableTD'>" + g_Babel.GetWord("ul_admin") + "</td></tr>";
			for (var i = 0; i < me.countries.length; i++) {
				innerHTML += "<tr " + (i % 2 == 0 ? "class='levelsTableTR'" : "") + "><td>" + g_Babel.GetWord(me.countries[i].babelId) + "</td>";
				innerHTML += "<td class='levelsTableTD'><input type='radio' id='" + me.countries[i].appId + "1' name='" + me.countries[i].appId + "' value='1' " + (me.IsUser(me.countries[i].appId) ? "checked=1" : "") + "></input></td>";
				innerHTML += "<td class='levelsTableTD'><input type='radio' id='" + me.countries[i].appId + "2' name='" + me.countries[i].appId + "' value='3' " + (me.IsVIP(me.countries[i].appId) ? "checked=1" : "") + "></input></td>";
				innerHTML += "<td class='levelsTableTD'><input type='radio' id='" + me.countries[i].appId + "3' name='" + me.countries[i].appId + "' value='2' " + (me.IsAdmin(me.countries[i].appId) ? "checked=1" : "") + "></input></td>";
				innerHTML += "</tr>";
			}
			innerHTML += "</table><hr class='messageSeparator'>";

			$("idAdminPlusOnly").update(innerHTML);
		}
		else {
			$("idAdminPlusOnly").style.display = "block";
			$("idAdminPlusOnly").update("<hr class='messageSeparator'>" + g_Babel.GetWord("adminplusforbidden") + "<hr class='messageSeparator'>");
		}
	}
}

this.GetSelectedLevel = function(appId) {
	if ($(appId + "1").checked) {
		return 1;
	}
	if ($(appId + "2").checked) {
		return 3;
	}
	if ($(appId + "3").checked) {
		return 2;
	}
	return 1;
}

this.SelectUser = function(userdata) {
	$("idProfileChanged").style.display="none";
	me.userdata = userdata;
	me.Init();	
	$("idError").style.display="none";

	$("idCurrentUserName").update('<a href="javascript:void(0);" onclick="QueryString.set(\'page\', \'managereports\'); QueryString.set(\'userid\', \'' + me.userdata.id + '\'); QueryString.go();">' + userdata.username + '</a>');
	for (var i = 0; i < g_arrCountries.length; i++) {
		if (g_arrCountries[i].appId == userdata.home) {
			$("idCurrentHomecountry").update(g_Babel.GetWord(g_arrCountries[i].babelId));
		}
	}
	$("idCurrentEmail").value = userdata.email;
	$("idCurrentRealName").value = userdata.realname;
	$("idCurrentProduct").value = userdata.product;
	$("idCurrentAvatar").src = g_webPrefix + "handler.ashx?sessionID=" + g_strSessionID + "&Command=GetAvatar&id=" + userdata.id;
	

	$("babelOk").onclick=function() {

		var bool = true;
		if ($("idCurrentDeleteUser").checked) {
			if (confirm(g_Babel.GetWord("areyousuredeleteuser"))) {
				bool = true;	
			}
			else {
				bool = false;
			}
		}
		if (bool) {
			var levels = "";
			if (IsAdminPlus()) {
				for (var i = 0; i < me.countries.length; i++) {
					levels += me.countries[i].appId + "|" + me.GetSelectedLevel(me.countries[i].appId) + "|";
				}
				levels = levels.substr(0, levels.length - 1);
			}
			g_Srv.CallFunction("ModifyUser", "id=" + me.userdata.id +
					"&password1=" + $("idCurrentPassword").value +
					"&password2=" + $("idCurrentPasswordAgain").value +
					"&email=" + $("idCurrentEmail").value +
					"&realName=" + $("idCurrentRealName").value +
					"&product=" + $("idCurrentProduct").value +
					"&levels=" + levels +
					"&deleteAvatar=" + $("idCurrentDeleteAvatar").checked +
					"&deleted=" + $("idCurrentDeleteUser").checked, 0, me.Changed, null);
		}

	}
	$("babelCancel").onclick=function() {
		$("idDetails").style.display="none";
	}


}

this.Changed = function(serverParams) {
	if (serverParams=="") {
		$("idDetails").style.display="none";
		$("idProfileChanged").style.display="";

		$("babelProfileChangedOk").onclick=function() {
			$("idProfileChanged").style.display="none";
		}

		g_userList.Refresh();
	}
	else {
		$("idError").style.display = "";
		$("idError").update("");
		var errors = serverParams.split("|");
			
		for (var i = 0; i < errors.length; i++) {
			$("idError").insert("- " + g_Babel.GetWord(errors[i]) + "<br/>");
		}
	}
}



//me.Init(address, key);

//return this;

}

g_UserSelector = new UserSelector();