// 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_login_type = GetCookie('webvmeetx_login_type');
var webvmeetx_remember_id = GetCookie('webvmeetx_remember_id');
var webvmeetx_user_passwd = unescape(GetCookie('vmeetxuser_password'));
var vmeetx_url_base = GetCookie('vmeetx_url_base');

if ( webvmeetx_session_id != '' && webvmeetx_user_id != '' )
{
	location.href = vmeetx_url_base ? vmeetx_url_base + "/webvmeetx.html" : "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;
	vmeetx_url_base  = xmlObj.getElementsByTagName("vmeetx_url_base")[0].firstChild == null ? '' : xmlObj.getElementsByTagName("vmeetx_url_base")[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 );
	
	if ( vmeetx_url_base && vmeetx_url_base != '' )
		vmeetx_url_base = decodeBase64(urlDecode(vmeetx_url_base));

	SetCookie( 'vmeetx_url_base=' + vmeetx_url_base );
        
        var oBrowser = new Browser();
	if ( oBrowser.IsMSIE() ) {
            ShowUI();
        } else {
            //alert( vmeetx_url_base );
            location.href = vmeetx_url_base ? vmeetx_url_base + "/index2.html" : "index2.html";
        }
}

function SetLanguage( lang )
{
    webvmeetx_language = lang;
    SetCookie( 'webvmeetx_language=' + webvmeetx_language, true );
    //alert( "SetLanguage: " + GetCookie('webvmeetx_language') );
    location.href = vmeetx_url_base ? vmeetx_url_base + "/index.html" : "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_login_id').innerHTML=lang_map.lookUp('lang_login_id');
    //document.getElementById('lang_login_id_remarks').innerHTML=lang_map.lookUp('lang_login_id_remarks');
    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;
            case 'tr':
                    lang = lang_map.lookUp('lang_setting_tur');
                    break;
            case 'vi-vn':
                    lang = lang_map.lookUp('lang_setting_vn');
                    break;
            default:
                    lang = lang_map.lookUp('lang_setting_en');
                    break;
    }
    //alert( lang );
    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="#" title="' + lang + '" 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;
    document.getElementById('user_type').value = webvmeetx_login_type;

    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 );
    //alert( webvmeetx_forget_password_url );
    /*
    try{
        $.ajax({
            url: webvmeetx_forget_password_url,
            type:"GET",
            dataType:"html",
            timeout:30000,
            success:function(data) {
                //hide_loading();
                show_popup( data, 'Forget Password', null, 600, 10 );
            },
            error:function(data){
                //hide_loading();
                alert("Failed to load data: " + data.responseText );
            }
        });
    } catch (e){
        //alert( e.message );
        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 type = document.getElementById('user_type' ).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 );

	var type = bEMail ? 'email' : '';

	if ( !bVMeetId && !bEMail ) type = 'general';
	*/
	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 );
                    SetCookie( 'webvmeetx_login_type=' + document.getElementById('user_type' ).value, true );
                } else {
                    SetCookie( 'webvmeetx_login_type=' + document.getElementById('user_type' ).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 = vmeetx_url_base ? vmeetx_url_base + "/webvmeetx.html" : "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 );
}
