// JavaScript Document

var ajaxReqObj = false;

var webvmeetx_session_id = GetCookie('webvmeetx_session_id');
var webvmeetx_appear_offline = GetCookie('webvmeetx_appear_offline');
var webvmeetx_language = GetCookie('webvmeetx_language');
var webvmeetx_user_id = GetCookie('vmeetxuser_id');
var webvmeetx_login_id = GetCookie('webvmeetx_login_id');
var webvmeetx_remember_id = GetCookie('webvmeetx_remember_id');
var webvmeetx_user_passwd = unescape(GetCookie('vmeetxuser_password'));
if ( webvmeetx_session_id != '' && webvmeetx_user_id != '' )
{
	location.href = "webvmeetx.html";
}

var webvmeetx_session_id = hex_md5( RandomUUID() );
var webvmeetx_forget_password_url = GetCookie('vmeetx_forgetpassword_url');
var webvmeetx_signup_url = GetCookie('vmeetx_signup_url');
var vmeet_servicename = GetCookie('vmeet_servicename');
var webvmeetx_fullname = GetCookie('vmeetx_fullname');
var webvmeetx_name = GetCookie('vmeetx_name');
var webvmeetx_logo = GetCookie('vmeetx_logo');

//alert( 'webvmeetx_session_id: ' + webvmeetx_session_id );

function Callback_FetchServerX( xml )
{
	//alert( xml );
	
	try{ //Internet Explorer   
		var xmlObj = new ActiveXObject("Microsoft.XMLDOM");   
		xmlObj.async="false";   
		xmlObj.loadXML( xml );
	}catch(e){   
		try //Firefox, Mozilla, Opera, etc.   
		{   
			parser = new DOMParser();   
			xmlObj = parser.parseFromString(xml,"text/xml");   
		}catch(e){   
			alert(e.message); 			
			return;   
		}
	}
	
	webvmeetx_forget_password_url = xmlObj.getElementsByTagName("forget_password_url")[0].firstChild == null ? '' : xmlObj.getElementsByTagName("forget_password_url")[0].firstChild.data;
	
	webvmeetx_signup_url = xmlObj.getElementsByTagName("signup_url")[0].firstChild == null ? '' : xmlObj.getElementsByTagName("signup_url")[0].firstChild.data;
	
	webvmeetx_fullname = xmlObj.getElementsByTagName("vmeetx_fullname")[0].firstChild == null ? '' : xmlObj.getElementsByTagName("vmeetx_fullname")[0].firstChild.data;
	
	SetCookie( 'webvmeetx_fullname=' + webvmeetx_fullname );
	
	webvmeetx_logo = xmlObj.getElementsByTagName("vmeetx_logo")[0].firstChild == null ? 'images/webappx_logo.jpg' : xmlObj.getElementsByTagName("vmeetx_logo")[0].firstChild.data;
	
	webvmeetx_name = xmlObj.getElementsByTagName("vmeetx_name")[0].firstChild == null ? '' : xmlObj.getElementsByTagName("vmeetx_name")[0].firstChild.data;
	
	SetCookie( 'vmeetx_name=' + webvmeetx_name );
	
	vmeet_servicename = xmlObj.getElementsByTagName("service_name")[0].firstChild == null ? '' : xmlObj.getElementsByTagName("service_name")[0].firstChild.data;
	
	SetCookie( 'vmeet_servicename=' + vmeet_servicename );
	
	var mcufunc = xmlObj.getElementsByTagName("vmeetx_mcu_func")[0].firstChild == null ? '' : xmlObj.getElementsByTagName("vmeetx_mcu_func")[0].firstChild.data;
	
	SetCookie('vmeetx_mcu_func=' + mcufunc );
	
	if ( webvmeetx_logo && webvmeetx_logo != '' )
		webvmeetx_logo = decodeBase64(urlDecode(webvmeetx_logo));		
	
	SetCookie( 'webvmeetx_logo=' + webvmeetx_logo );
	
	if ( webvmeetx_forget_password_url && webvmeetx_forget_password_url != '' )
		webvmeetx_forget_password_url = decodeBase64(urlDecode(webvmeetx_forget_password_url));		
	
	SetCookie( 'vmeetx_forgetpassword_url=' + webvmeetx_forget_password_url );
	
	if ( webvmeetx_signup_url && webvmeetx_signup_url != '' )
		webvmeetx_signup_url = decodeBase64(urlDecode(webvmeetx_signup_url));
	
	SetCookie( 'vmeetx_signup_url=' + webvmeetx_signup_url );
	
	ShowUI();
}

function SetLanguage( lang )
{
	webvmeetx_language = lang;
	SetCookie( 'webvmeetx_language=' + webvmeetx_language, true );
	location.href = "index.html";
}

function ShowUI()
{
	document.getElementById('objForgetPassword').style.display = ( !webvmeetx_forget_password_url || webvmeetx_forget_password_url == '' ) ? 'none' : '';	
	
	document.getElementById('objSignUp').style.display = ( !webvmeetx_signup_url || webvmeetx_signup_url == '' ) ? 'none' : '';
	
	//alert( webvmeetx_logo );

	document.title = webvmeetx_fullname;
	document.getElementById('vmeetx_logo').innerHTML = '<img src="' + webvmeetx_logo + '" />';
	
	document.getElementById('lang_welcome').innerHTML=lang_map.lookUp('lang_welcome');
	document.getElementById('lang_login').innerHTML=lang_map.lookUp('lang_login');
	document.getElementById('lang_ID_EMail').innerHTML=lang_map.lookUp('lang_ID_EMail');
	document.getElementById('lang_password').innerHTML=lang_map.lookUp('lang_password');
	document.getElementById('lang_forget_password').innerHTML=lang_map.lookUp('lang_forget_password');
	document.getElementById('lang_verify_code').innerHTML=lang_map.lookUp('lang_verify_code');
	document.getElementById('lang_signin_offline').innerHTML=lang_map.lookUp('lang_signin_offline');
	document.getElementById('lang_remember_me').innerHTML=lang_map.lookUp('lang_remember_me');
	document.getElementById('lang_signing').innerHTML=lang_map.lookUp('lang_signing');
	document.getElementById('lang_no_VMeetID').innerHTML=lang_map.lookUp('lang_no_VMeetID');
	document.getElementById('lang_signup').innerHTML=lang_map.lookUp('lang_signup');
	document.getElementById('lang_company').innerHTML=lang_map.lookUp('lang_company');
	document.getElementById('lang_submit').value=lang_map.lookUp('lang_submit');
	
/*	
	document.getElementById('lang_setting_en').title = lang_map.lookUp('lang_setting_en');
	document.getElementById('lang_setting_ja').title = lang_map.lookUp('lang_setting_ja');
	document.getElementById('lang_setting_chs').title = lang_map.lookUp('lang_setting_chs');
	document.getElementById('lang_setting_cht').title = lang_map.lookUp('lang_setting_cht');
*/

	var lang = lang_map.lookUp('lang_setting_en');
	
	switch( webvmeetx_language )
	{
		case 'zh-cn':
			lang = lang_map.lookUp('lang_setting_chs');
			break;
		case 'zh-tw':
			lang = lang_map.lookUp('lang_setting_cht');
			break;
		case 'ja':
			lang = lang_map.lookUp('lang_setting_ja');
			break;
		default:
			lang = lang_map.lookUp('lang_setting_en');
			break;
	}
	
	var lang_bar = document.getElementById('lang-menu');
	//lang_bar.innerHTML = '<ul><li><img src="images/earth.png" border="0" align="absmiddle" /><a href="#" rel="lang-option-menu">' + lang + '</a></li></ul>';
	lang_bar.innerHTML = '<ul><li><a href="#" rel="lang-option-menu"><img src="images/earth.png" border="0" align="absmiddle" />' + lang + '</a></li></ul>';
		
	cssdropdown.startchrome("lang-menu");
	
	document.getElementById('objLoading').style.display = 'none';
	document.getElementById('objContent').style.display = '';
	
	document.getElementById('optInvisible').checked = webvmeetx_appear_offline ? true : false;
	document.getElementById('optRemberMe').checked = webvmeetx_remember_id ? true : false;
	
	document.getElementById('username').value = webvmeetx_login_id;
	
	if ( !webvmeetx_login_id ) 
		document.getElementById('username').focus();
	else
		document.getElementById('passwd').focus();
}

function ForgetPassword()
{
	if ( webvmeetx_forget_password_url && webvmeetx_forget_password_url != '' )
		window.open( webvmeetx_forget_password_url );		
}

function SignUp()
{
	if ( webvmeetx_signup_url && webvmeetx_signup_url != '' )
		window.open( webvmeetx_signup_url );
}

function SiginIn()
{
	//alert( webvmeetx_language );
	SetCookie( 'webvmeetx_language=' + webvmeetx_language, true );
	
	var oBrowser = new Browser;
	if ( oBrowser.IsMSIE() && !(oBrowser.ie7 || oBrowser.ie8) )
	{
		//alert('Your IE browser is too old to support the Web VMeetX, please consider upgrading it to IE7 or IE8.\r\n\r\nThank you!');
		alert(lang_map.lookUp('lang_browser_version_error'));
		return;
	}
	
	webvmeetx_remember_id = document.getElementById('optRemberMe' ).checked;
	var userId = document.getElementById('username' ).value;
	
	var regexpVMeetId = new RegExp(/^\d+$/g);
	var regexpEmail = new RegExp( /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/);
	var bVMeetId = regexpVMeetId.test( userId );
	var bEMail = regexpEmail.test( userId );
	
	if ( !bVMeetId && !bEMail ) {
		//alert('Please input valid VMEET ID or Email.' );
		alert(lang_map.lookUp('lang_email_password_error'));
		document.getElementById('username' ).focus();
		return;
	}
	
	var type = bEMail ? 'email' : '';
	
	var req = "webvmeetx=auth&user_type=" + type + "&user_id=" + userId + "&user_password=" + hex_md5(document.getElementById('passwd').value) + "&session_id=" + webvmeetx_session_id + "&verify_code=" + document.getElementById('verify_code').value + "&nonajax=1&callback=Callback_Auth";
	
	//alert( req );
	//location.href = req;
	//return;
	document.getElementById('objSubmit').style.display = 'none';
	document.getElementById('objLoadingBox').style.display = '';
	LoadScript( req );
	//LoadScript( req, true );
}

function AuthDone( xmlObj )
{
	var code = xmlObj.getElementsByTagName("code")[0].firstChild == null ? 0 : xmlObj.getElementsByTagName("code")[0].firstChild.data;
	var info = xmlObj.getElementsByTagName("msg")[0].firstChild == null ? '' : xmlObj.getElementsByTagName("msg")[0].firstChild.data;
	var my_id = xmlObj.getElementsByTagName("my_id")[0].firstChild == null ? '' : xmlObj.getElementsByTagName("my_id")[0].firstChild.data;
	var my_name = xmlObj.getElementsByTagName("my_name")[0].firstChild == null ? '' : xmlObj.getElementsByTagName("my_name")[0].firstChild.data;
	var my_email = xmlObj.getElementsByTagName("my_email")[0].firstChild == null ? '' : xmlObj.getElementsByTagName("my_email")[0].firstChild.data;
	var consenturl = xmlObj.getElementsByTagName("consenturl")[0].firstChild == null ? '' : xmlObj.getElementsByTagName("consenturl")[0].firstChild.data;
	var mccurl = xmlObj.getElementsByTagName("mccurl")[0].firstChild == null ? '' : xmlObj.getElementsByTagName("mccurl")[0].firstChild.data;
	
	
	//alert( my_id +', ' + my_name + ', '+ my_email );
	
	if ( code == '0' )
	{
		//alert('Invalid Login ID and/or Password.');
		alert(lang_map.lookUp('lang_invalid_ID_password'));
		document.getElementById('objSubmit').style.display = '';
		document.getElementById('objLoadingBox').style.display = 'none';
		
		webvmeetx_session_id = hex_md5( RandomUUID() );
		document.getElementById('objVerifyCode').src = webvmeetx_handle + '?vmeetx=1&verifycode=' + webvmeetx_session_id;
		
		document.getElementById('passwd').focus();
	}
	else if ( code == '-1' || code == '-2' )
	{
		if ( code == '-2' )
		{
			webvmeetx_session_id = hex_md5( RandomUUID() );
			document.getElementById('objVerifyCode').src = webvmeetx_handle + '?vmeetx=1&verifycode=' + webvmeetx_session_id;
		}
		
		//alert('Invalid Verify Code.');
		alert(lang_map.lookUp('lang_invalid_verify_code'));
		document.getElementById('objSubmit').style.display = '';
		document.getElementById('objLoadingBox').style.display = 'none';
		
		document.getElementById('verify_code').focus();
	}
	else
	{
		var sign_state = document.getElementById('optInvisible').checked ? '6' : '0';
		
		var appear_offline = document.getElementById('optInvisible').checked ? '1' : '';		
		SetCookie( 'webvmeetx_appear_offline=' + appear_offline, true );
		
		var remember_id = webvmeetx_remember_id ? '1' : '';
		
		SetCookie( 'webvmeetx_remember_id=' + remember_id, true );
		
		//alert( 'remember_id: ' + remember_id );
		
		
		
		if ( remember_id )
			SetCookie( 'webvmeetx_login_id=' + document.getElementById('username' ).value, true );
		else
			SetCookie( 'webvmeetx_login_id=' + document.getElementById('username' ).value );
		
		SetCookie( 'vmeetxuser_id=' + '0' + my_id );
		
		SetCookie( 'vmeetxuser_password=' + hex_md5(document.getElementById('passwd' ).value ));
		SetCookie( 'vmeetxuser_state=' + sign_state );
		SetCookie( 'webvmeetx_session_id=' + webvmeetx_session_id );
		SetCookie( 'consent_url=' + consenturl );
		SetCookie( 'mcc_url=' + mccurl );
		
		//alert( consenturl );
		
		if ( my_name == '' || my_name.trim() == '' )
			my_name = '0' + my_id;
			
		SetCookie( 'vmeetxuser_name=' + my_name );
		SetCookie( 'vmeetxuser_email=' + my_email );
		
		location.href = "webvmeetx.html";
	}	
}

function Callback_Auth( xml )
{
	//alert( xml );
	
	try{ //Internet Explorer   
		var xmlObj = new ActiveXObject("Microsoft.XMLDOM");   
		xmlObj.async="false";   
		xmlObj.loadXML( xml );
	}catch(e){   
		try //Firefox, Mozilla, Opera, etc.   
		{   
			parser = new DOMParser();   
			xmlObj = parser.parseFromString(xml,"text/xml");   
		}catch(e){   
			alert(e.message); 			
			return;   
		}
	}
	AuthDone( xmlObj );
}