var extraPanel;
var loginPanel
function openLogin() {
		 if( loginPanel == null )
		 {
		    loginPanel = new cmsPanel( {"width":'400px'} );
        loginPanel.setContent( '<form id="loginform" method="post" action="" onsubmit="return processLogin(this)">' +
                  '<table cellpadding=6 cellspacing=0>' +
                  '<tr><td>Username:</td><td><input type="text" name="username" value="" size="30"></td></tr>' +
                  '<tr><td>Password:</td><td><input type="password" name="password" value="" size="30"></td></tr>' +
                  '</table>' +
                  '<div>'+       	
                		'<a style="float: left; margin-left: 100px;" class="button2" href="javascript:;">' +
                			'<input type="submit" value="Submit" class="button2_mid grid_4"/>' +
                			'<input type="button" value="Close" class="button2_mid grid_4" onclick="loginPanel.hide()"/>' +
                		'</a>'+ 
                	'</div>' +
                	'<div style="height:30px;border-bottom:1px solid #ccc;">&nbsp;</div>'+
                	'<div style="margin-top:5px;text-align:left"><a href="javascript:var win=loginPanel.hide();openForgetPassword();">Forget Password?</a></div>'+
                '</form>' );
        var val,displayVal;
     }
     else
     {
        var fm = document.getElementById('loginform');
        fm.username.value = '';
        fm.password.value = '';
     }
     
     loginPanel.show();
     loginPanel.setTitle('School Login');
}


function processLogin(fm)
{   
    var username = jQuery.trim( fm.username.value );
    fm.username.value = username;

    var errormsg = '';
    var sp = "<br>";
    if( username == '' || fm.username.value =='username' )
    {
        errormsg +='Please key in Username.'+sp;
    }

    if( fm.password.value == '' || fm.password.value =='********' )
    {
        errormsg +='Please key in Passwod.'+sp;
    }
	
    if( errormsg != '')
    {		
        panel.setTitle('Login Validation'); 
        panel.setContent('<div style="text-align:left">' + errormsg + '</div><div align="center"></div>');
        panel.show();
        return false;
    }

    panel.setContent('<div align="center"><img src="js/jquery/loading.gif"></div>');
    panel.setTitle('Loading, Please wait ...');
    panel.show();
    var postData = 'username='+escape(fm.username.value) +'&password=' + escape(fm.password.value);
    $.ajax({
            type: "POST",
            url: "ajax.php?funcid=LOGIN",
            async:true,
            data: postData,
            success: function(msg,ret){
                panel.setTitle( 'Login Validation');
                if( ret != 'success' )
                {
                    panel.setContent('<div style="text-align:left">Login failed, please try again later.</div><div align="center"><input type="button" value="Close" onclick="panel.hide()"></div>');
                     return false;
                }
                try {
                    var result = eval( '(' + msg +')' );
                    panel.setContent( '<div style="text-align:left">' + result.msg + '</div><div align="center"><input type="button" value="Close" onclick="panel.hide()"></div>' );

                    if( result.status == '1' )
                    	window.location=result['url'];
     
                }
                catch(E)
                {
                    panel.setContent('<div style="text-align:left">Network connection error, please try again later.</div><div align="center"><input type="button" value="Close" onclick="panel.hide()"></div>');
                     return false;   
                }
            }
    });
    
    return false;
}

function processLogout()
{   
    panel.setContent('<div align="center"><img src="js/jquery/loading.gif"></div>');
    panel.setTitle('Loading, Please wait ...');
    panel.show();
    var postData = '';
    $.ajax({
            type: "POST",
            url: "ajax.php?funcid=LOGOUT",
            async:true,
            data: postData,
            success: function(msg,ret){
                panel.setTitle( 'Logout Status');
                if( ret != 'success' )
                {
                    panel.setContent('<div>Login failed, please try again later.</div><div align="center"><input type="button" value="Close" onclick="panel.hide()"></div>');
                    return false;
                }
                try {
                    var result = eval( '(' + msg +')' );
                    panel.setContent( '<div>' + result.msg + '</div><div align="center"><input type="button" value="Close" onclick="panel.hide()"></div>' );
                    window.location='index.php';
                }
                catch(E)
                {
                    panel.setContent('<div>Network connection error, please try again later.</div><div align="center"><input type="button" value="Close" onclick="panel.hide()"></div>');
                    return false;   
                }
            }
    });
    
    return false;
}

function submitSubscribe(fm)
{
    var emailsubscribe = jQuery.trim( fm.emailsubscribe.value );
    fm.emailsubscribe.value = emailsubscribe;

    var errormsg = '';
    var sp = "<br>";
    if( emailsubscribe == '')
    {
        errormsg +='Please key in email address.'+sp;
    }
    else if( !isEmail( fm.emailsubscribe.value ) )
    {
        errormsg += 'Please make sure email in correct format. eg:name@domain.com '+sp;
    }

    if( errormsg != '')
    {
        panel.setTitle('News and Updates'); 
        panel.setContent('<div>' + errormsg + '</div><div align="center" style="padding-top:5px;"><input type="button" value="Close" onclick="panel.hide()"></div>');
        panel.show();
        return false;
    }

    panel.setContent('<div align="center"><img src="cms/scripts/jquery/loading.gif"></div>');
    panel.setTitle('Loading, Please wait ...');
    panel.show();
    var postData = 'email='+escape(fm.emailsubscribe.value);

    $.ajax({
            type: "POST",
            url: "member.php?funcid=process_subscribe_new",
            async:true,
            data: postData,
            success: function(msg,ret){
               
                panel.setTitle( 'News and Updates');
                if( ret != 'success' )
                {
                    panel.setContent('<div>Failed to subscribe news and updates, please try again later.</div><div align="center"><input type="button" value="Close" onclick="panel.hide()"></div>');
                     return false;
                }
                try {
                    var result = eval( '(' + msg +')' );
                    panel.setContent( '<div>' + result.msg + '</div><div align="center"><input type="button" value="Close" onclick="panel.hide()"></div>' );
     
                }
                catch(E)
                {
                    panel.setContent('<div>Network connection error, please try again later.</div><div align="center"><input type="button" value="Close" onclick="panel.hide()"></div>');
                     return false;   
                }
            }
    });

    
    return false;
}  

function processForgetPassword(fm)
{
    var username = jQuery.trim( fm.forget_username.value );
   
    var errormsg = '';
    var sp = "<br>";

    if( username == '' )
    {
        errormsg +='Please key in Username.'+sp;
    }

    
    if( errormsg != '')
    {
        panel.setTitle('Forget Password Form Validation'); 
        panel.setContent('<div style="text-align:left">' + errormsg + '</div><div align="center"></div>');
        panel.show();
        return false;
    }
    panel.setContent('<div align="center"><img src="js/jquery/loading.gif"></div>');
    panel.setTitle('Loading, Please wait...');
    panel.show();
    
    var postData = 'username='+escape( username );
    $.ajax({
            type: "POST",
            url: "ajax.php?funcid=REQUEST_PASSWORD",
            async:true,
            data: postData,
            success: function(msg,ret)
            {
                panel.setTitle( 'Request Password Result');
                if( ret != 'success' )
                {
                    panel.setContent('<div style="text-align:left">Request password failed, please try again later.</div><div align="center"><input type="button" value="Close" onclick="panel.hide()"></div>');
                    
                }
                try {
                    var result = eval( '(' + msg +')' );
                    panel.setContent( '<div style="text-align:left">' + result.msg + '</div><div align="center"><input type="button" value="Close" onclick="panel.hide()"></div>' ); 
                    if( result.status == '1' )
                    {
                        extraPanel.hide();   
                    }
                }
                catch(E)
                {
                    panel.setContent('<div style="text-align:left">Network connection error, please try again later.</div><div align="center"><input type="button" value="Close" onclick="panel.hide()"></div>');
                    return false;   
                }
            }
    });
    return false; 
}


function openForgetPassword() {
		 if( extraPanel == null )
		 {
		    extraPanel = new cmsPanel( {"width":'500px'} );
        extraPanel.setContent( '<form method="post" action="" id="forget_pwd" name="forget_pwd" onsubmit="return processForgetPassword(this)">' +
        					'<div style="text-align:left">Enter your username, and your password will be send to your registered email address.</div>' +
                  '<table cellpadding=6 cellspacing=0>' +
                  '<tr><td>Username:</td><td><input id="forget_username" type="text" name="forget_username" value="" size="40"></td></tr>' +
                  '</table>' +
                  '<div>'+   
                		'<a style="float: right; margin-right: 15px;" class="button2" href="javascript:;">' +
                			'<span class="button2_left"></span>' +
                			'<input type="submit" value="Submit" class="button2_mid grid_4"/>' +
                			'<span class="button2_right"></span>' +
                		'</a>'+ 
                	'</div>' +
                '</form>' );
        
     }
     else
     {
        var fm = document.getElementById('forget_pwd');
        fm.forget_username.value = '';
     }
     
     extraPanel.show();
     extraPanel.setTitle('Forget Password');
}

function processChangePassword(fm)
{
    var errormsg = '';
    var sp = "<br>";

    if( fm.password.value == '' )
    {
        errormsg +='Please key in existing password.'+sp;
    }
    
    if( fm.new_password.value == '' )
    {
        errormsg +='Please key in new password.'+sp;
    }
    else if(  fm.new_password.value.length < 6 )
    {
        errormsg +='New password must be at least 6 characters' +sp;
    }
    else if( fm.new_password.value == fm.password.value )
    {
        errormsg += 'New password cannot be same with existing password.' +sp;   
    }
    else if( fm.confirm_password.value!= fm.new_password.value )
    {
        errormsg +='Confirm password must be same with new password.'+sp; 
    }
    
    
    if( errormsg != '')
    {
        panel.setTitle('Change Password Form Validation'); 
        panel.setContent('<div style="text-align:left">' + errormsg + '</div><div align="center"></div>');
        panel.show();
        return false;
    }
    panel.setContent('<div style="align:center"><img src="cms/scripts/jquery/loading.gif"></div>');
    panel.setTitle('Loading, Please wait...');
    panel.show();
    
    var postData = 'password='+escape( fm.password.value ) + '&new_password=' + escape(fm.new_password.value);
    $.ajax({
            type: "POST",
            url: "member.php?funcid=process_changepassword",
            async:true,
            data: postData,
            success: function(msg,ret)
            {
                panel.setTitle( 'Change Password Result');
                if( ret != 'success' )
                {
                    panel.setContent('<div style="text-align:left">Change password failed, please try again later.</div><div align="center"><input type="button" value="Close" onclick="panel.hide()"></div>');
                    
                }
                try {
                    var result = eval( '(' + msg +')' );
                    panel.setContent( '<div style="text-align:left">' + result.msg + '</div><div align="center"><input type="button" value="Close" onclick="panel.hide()"></div>' ); 
                    if( result.status == '1' )
                    {
                        extraPanel.hide();   
                    }
                }
                catch(E)
                {
                    panel.setContent('<div style="text-align:left">Network connection error, please try again later.</div><div align="center"><input type="button" value="Close" onclick="panel.hide()"></div>');
                    return false;   
                }
            }
    });
    return false; 
}

function openChangePassword() {
		 if( extraPanel == null )
		 {
		    extraPanel = new cmsPanel( {"width":'500px'} );
        extraPanel.setContent( '<form method="post" action="" id="change_pwd" name="change_pwd" onsubmit="return processChangePassword(this)">' +
                  '<table cellpadding=6 cellspacing=0>' +
                  '<tr><td>Existing Password:</td><td><input type="password" name="password" value="" size="40" onkeypress="return alphaNumericOnly(event)"></td></tr>' +
                  '<tr><td>New Password:</td><td><input type="password" name="new_password" value="" size="40"onkeypress="return alphaNumericOnly(event)"></td></tr>' +
                  '<tr><td>Confirm Password:</td><td><input type="password" name="confirm_password" value="" size="40"onkeypress="return alphaNumericOnly(event)"></td></tr>' +
                  '</table>' +
                  '<div>'+   
                		'<a style="float: right; margin-right: 15px;" class="button2" href="javascript:;">' +
                			'<span class="button2_left"></span>' +
                			'<input type="submit" value="Submit" class="button2_mid grid_4"/>' +
                			'<span class="button2_right"></span>' +
                		'</a>'+ 
                	'</div>' +
                '</form>' );
        var val,displayVal;
     }
     else
     {
        var fm = document.getElementById('change_pwd');
        fm.password.value = '';
        fm.new_password.value = '';
        fm.confirm_password.value = '';
     }
     
     extraPanel.show();
     extraPanel.setTitle('Change Password');
}

function checkAvailability()
{
    
    var username = jQuery.trim($('#username').val());
    $('#username').val( username );
    var errormsg = null;
    if( username == '' )
    {
        errormsg = 'Please key in username.';
    }
    else if( username.length < 4 )
    {
        errormsg = 'Username must be at least 4 characters.';
    }
    
    if( errormsg != null )
    {
        panel.setTitle('Check Availability of Username'); 
        panel.setContent('<div style="text-align:left">' + errormsg + '</div><div align="center"><input type="button" value="Close" onclick="panel.hide()"></div>');
        panel.show();
        return;
    }
    
    
    panel.setContent('<div align="center"><img src="cms/scripts/jquery/loading.gif"></div>');
    panel.setTitle('Loading, Please wait ...');
    panel.show();
    var postData = 'username='+escape($('#username').val());
    $.ajax({
            type: "POST",
            url: "member.php?funcid=check_availability",
            async:true,
            data: postData,
            success: function(msg,ret){
                panel.setTitle( 'Check Availability of username');
                if( ret != 'success' )
                {
                    panel.setContent('<div style="text-align:left">Check availability failed, please try again later.</div><div align="center"><input type="button" value="Close" onclick="panel.hide()"></div>');
                    return;
                }
                try {
                    var result = eval( '(' + msg +')' );
                    panel.setContent( '<div style="text-align:left">' + result.msg + '</div><div align="center"><input type="button" value="Close" onclick="panel.hide()"></div>' );
     
                }
                catch(E)
                {
                    panel.setContent('<div style="text-align:left">Network connection error, please try again later.</div><div align="center"><input type="button" value="Close" onclick="panel.hide()"></div>');
                    return;        
                }
            }
    });

}

function get_state()
{
    var countryField = document.getElementById('country_id');
    var stateField = document.getElementById('state');
    $(stateField).html('<option value=""> -- Select -- </option>' );
    
    if( countryField.value == '' )
    {
        control_state(); return;
    }
    
    panel.setContent('<div align="center"><img src="cms/scripts/jquery/loading.gif"></div>');
    panel.setTitle('Loading, Please wait ...');
    panel.show();
    
    $.ajax({
            type: "POST",
            url: "member.php?funcid=get_state",
            async:true,
            data: 'country_id='+escape(countryField.value) ,
            success: function(msg,ret){
                if( ret != 'success' )
                {
                    panel.setContent('<div>Load state failed, please try again later.</div><div align="center"><input type="button" value="Close" onclick="panel.hide()"></div>');
                    return false;
                }
                try {
                    var result = eval( '(' + msg +')' );
                    if( result.status == '1' )
                    {
                        var stateArr = result.state;
                        for(var i=0; i<stateArr.length; i++ )
                        {
                            stateField.options[ stateField.options.length ] = new Option( stateArr[i].state_name, stateArr[i].state_name );
                        }
                    }
                    control_state();
                    panel.hide();
                }
                catch(E)
                {
                    panel.setContent('<div>Network connection error, please try again later.</div><div align="center"><input type="button" value="Close" onclick="panel.hide()"></div>');
                     return false;   
                }
            }
    });
    
}

function control_state()
{
    if( document.getElementById('country_id').value == '' )
    {   
        $('#state').css('display','').val('').attr({"disabled":"disabled"});
        $('#state_other').css('display','none').val(''); 
    }
    if( document.getElementById('state').options.length > 1 )
    {
        $('#state').css('display','').removeAttr('disabled');
        $('#state_other').css('display','none').val('');
    }
    else
    {
        $('#state_other').css('display','');
        $('#state').css('display','none').val('');
    }
}

function limit_access(sType)
{
		panel.setTitle('Member Priviledge Access');
		if( sType == 'renew')
			panel.setContent("Your subscription have been expired, please renew before you can access it.");	
		else
			panel.setContent("The feature is only available to Smart Wealth's Member, please register or login before you can access it.");	
			
		panel.show();
}
