var validator = {"CURRENT_YEAR":2010,"PASSWORD_MATCH_SIMPLE":["^1234$|^2345$|^3456$|^4567$|^5678$|^6789$|^7890$","^(.)(\\1)*$"],"CURRENT_DAY":19,"GUARDIAN_AGE":"17","PASSWORD_SIMPLE_EXP":["^1234$|^2345$|^3456$|^4567$|^5678$|^6789$|^7890$","^(.)(\\1)*$"],"CURRENT_MONTH_BASE0":3,"MEMBERID_MINLENGTH":"4","MEMBERID_ADMIN_ID_EXP":"^$","PASSWORD_MAXLENGTH":"20","MIN_AGE":"13","MEMBERID_VALID_ID_EXP":["^\\w*$"],"PASSWORD_MINLENGTH":"6","EMAIL_MAXLENGTH":"80","PASSWORD_MATCH_VALID":["(^.*(?=.*\\d)(?=.*[a-zA-Z]).*$)|(^.*(?=.*\\d)(?=.*[!@#$%^&*/+=?]).*$)|(^.*(?=.*[a-zA-Z])(?=.*[!@#$%^&*/+=?]).*$)"],"MEMBERID_FORBIDDEN_ID_EXP":"^$","NICKNAME_MAXLENGTH":"20","NAME_MAXLENGTH":"20","HINTANSWER_MAXLENGTH":"20","MEMBERID_MAXLENGTH":"20"}; 
var __ijjiLoginUrl;
var validMemberId = null;

function initMemberIdCheck() {
	validMemberId = null;
}

function showFBLayerPop(action){
	$j("#fbnotdimmer").addClass("dimmer");
	var obj = document.getElementById("fb_ly_" + action);
	obj.style.display="block"; 
}
function hideFBLayerPop(action){
	$j("#fbnotdimmer").removeClass("dimmer");
	var obj = document.getElementById("fb_ly_" + action);
	obj.style.display="none"; 
}

function fbcCallback(json) {
	var action = json.action;
	var email = json.userEmail;
	switch (action) {
		case "fbLogin":
			fbcLogin();
			break;
		case "fbRegister":
			fbcLogin();
			break;
		case "ijjiLogin":
			setUserEmail(email);
			showFBLayerPop(action);
			break; 
		case "banUser":
			showFBLayerPop(action);
			break;
		case "fbAuthFailed":
			alert("Invalid Facebook ID or Password!");
			break;
	} 
}

function fbcRegisterCallback(json) {
	showFBLayerPop("fbRegister_result");
	//fbcLogin();
}

function fbcCheckIdCallback(json) {
	
	var usable = json.usable;
	var memberid = json.memberid;
	var field = document.getElementById("memberid");
	var output = "error_memberid";
	
	if (usable) {
		goAlertFbc(memberid + " is available.", field, output);
		validMemberId = true;
	} else {
		goAlertFbc(memberid + " is unavailable.", field, output);
		field.value = "";
		validMemberId = false;
	}	
}

function fbcLoginCallback(json) {
	var code = json.code;
	var url = json.fbcLoginUrl;
	if (code=='-3') {
		showFBLayerPop('terminated');
	} else {
		if (url.indexOf("www2")!= -1) {
			document.location.href = url + "/downloads.nhn";
		} else {
			document.location.href = url;
		}
	}
}

function ijjiLoginCallback(json) {
	
	if (json == null) {
		alert("Login Failed");
	}
	
	var url = json.fbcLoginUrl;
	var code = json.code;
	var message = json.message;
	var loginFailCode = json.loginFailCode;
	var randkeyseq = json.randkeyseq;
	var randkeyval = json.randkeyval;
	
	
	var field = document.getElementById("ijjiLogin_memberid");
	var output = "ijjiLogin_msg";

	if (loginFailCode=="continuousLoginFail" || loginFailCode=="randomkeyAbsenceFail" || loginFailCode=="randomKeyFail") {
		getRandomKey(randkeyseq, randkeyval);
		showFBLayerPop("randomkey");
		return;
	}
	
	if (code == '' || code == null) {
		hideFBLayerPop("ijjiLogin");
		showFBLayerPop("ijjiLogin_result");
		setMemberId(json.memberid);
		__ijjiLoginUrl = url;				
	} else {
		goAlertFbc(message, field, output);
	}	
}

function ijjiLoginSuccess() {
	hideFBLayerPop('ijjiLogin_result');
	document.location.href = __ijjiLoginUrl;
}

// @Deprecated
function onUserConnected() {
	var isPerm = "F";
	/*FB.Connect.showPermissionDialog("email", function(perms) {
		fbc();
	});*/						 						 
}

function setExtendedPerms(loginType) {
	FB.Connect.showPermissionDialog("publish_stream,offline_access", function(perms) {
		if (!perms) {
			isPerm = "F";
		} else {
			isPerm = "T";
		}
		if (loginType == "ijjiLogin") {
			showFBLayerPop("ijjiLogin_result");
		} else {
			setAds();
			showFBLayerPop("fbRegister_result");	
		}
	});
}

function setUserEmail(email) {
	var msg = "The email <span class='org'>" + email + "</span> is already registered with ijji.com.";
	document.getElementById("userEmail").innerHTML = msg;
}

function setMemberId(memberid) {
	document.getElementById("userMemberid").innerHTML = memberid;
}

function changeLayer() {
	hideFBLayerPop('fbRegister');
	showFBLayerPop('ijjiLogin');
}

function setFbUserInfo() {
	 FB.api('/me', function(response) {
		 $j("#fb_profile_pic").attr("src", "http://graph.facebook.com/" + response.id + "/picture");
		 $j("#fb_your_name").text(response.name);
	 });		 
}

function getFbSessionStatus() {
	fbLogin();
}

function fbLogin() {
	FB.login(function(response) {
		if (response.authResponse) {
			var access_token = response.authResponse.accessToken;	
			checkUserStatus(access_token);		
			setFbUserInfo();
		} else {
			//user is not logged in
		}
	}, {scope:'email,read_stream,publish_stream,offline_access,user_birthday'});
}

// @Deprecated
function getFinalFbSessionStatus() {
	return true;
}

function fbcWbers(subject, section) {
	try { 
		var url = adjustIjjiUrl("http://wbers.ijji.com/wbers/post.php?project=fbconnect&subject=" + subject + "&section=" + section + "&lang=" + getLangCode());
		$j("body").append('<iframe src="' + url + '" id="__wbersFbcFrame" width="0" height="0" style="display:none;"/>');
	} catch (e) {}
}

