
var my_orders = 0;
var my_carts  = 0;
var last_cart = new Array();
function user_login() {

var form_obj = document.getElementById('login_form');

var now = new Date();

document.getElementById('submit_msgs').innerHTML = "";
		
if ( form_obj.AUTH_NAME.value.split(' ').join('') != "" && form_obj.AUTH_PASS.value.split(' ').join('') != "" ) {
    set_user_login_state('submit');
	
	var url_obj = new Object();
	url_obj.url = get_xml_data_url+'?s=xml.user.login&AUTH_NAME='+escape(form_obj.AUTH_NAME.value)+'&AUTH_PASS='+escape(form_obj.AUTH_PASS.value)+'&void=' + now.getTime();
	
	var cb_obj  = new Object();
	cb_obj.func = 'parse_user_login_xml_data';
	
	get_xml_then( url_obj, cb_obj, ERROR_AUTHENTICATION );
    }
else {
	alert( ERROR_MISSING_INFORMATIONS );
	if (form_obj.AUTH_NAME.value.split(' ').join('')=='') {
    	form_obj.AUTH_NAME.focus();
    	}
    else {
        form_obj.AUTH_PASS.focus();
        }
    }
}


function set_user_login_state(s, e) {

var html_obj, form_obj;
switch (s) {
    case 'submit':
        html_obj = document.getElementById('user_login_submit_btn');
        html_obj.style.display = 'none';
        html_obj = document.getElementById('submit_msgs');
        html_obj.innerHTML     = LOGIN_PLEASE_WAIT;
        html_obj.style.display = 'block';
        break;

    case 'LOGIN_ERROR':
        html_obj = document.getElementById('user_login_submit_btn');
        html_obj.style.display = 'block';
        html_obj = document.getElementById('submit_msgs');
        html_obj.innerHTML     = ERROR_WRONG_AUTH;
        html_obj.style.display = 'block';
        html_obj = document.getElementById('login_form');
        html_obj.AUTH_NAME.focus();
        break;

    case 'ACCOUNT_SUSPENDED':
        html_obj = document.getElementById('login_form');
        html_obj.style.display = 'none';
        html_obj = document.getElementById('user_login_msg');
        html_obj.style.display = 'block';
        html_obj.innerHTML     = '<div class="client_name">'+client_name+'<div id="note">'+ERROR_ACCOUNT_SUSPENDED+'</div><div id="logout"><a href="javascript:user_logout()">'+USER_LOGOUT+'</a></div></div>';
        html_obj = document.getElementById('logout');
        html_obj.style.display = 'block';
        
        break;

    case 'LOGGED':
        html_obj = document.getElementById('login_form');
        html_obj.style.display = 'none';
        html_obj = document.getElementById('user_login_msg');
        html_obj.style.display = 'block';
        var my_profile = '<div id="my_profile" style="display:block"><a href="?s=catalogue.profile">'+USER_PROFILE+'</a></div>';
        var forgot_warning = ('<div id="forgot_warning" style="display:DISPLAY">'+USER_FORGOT_WARNING+'</div>').split('DISPLAY').join((e!='') ? 'none':'block');
        var logout = '<div id="logout"><a href="javascript:user_logout()">'+USER_LOGOUT+'</a></div>';
        html_obj.innerHTML     = '<div class="client_name">'+client_name+my_profile+forgot_warning+logout+'</div>';
        html_obj = document.getElementById('logout');
        html_obj.style.display = 'block';
        html_obj = document.getElementById('submit_msgs');
        html_obj.style.display = 'none';
        
        //hide not logged search
        html_obj = document.getElementById(get_product_list_table());
        html_obj.style.display = 'none';
        html_obj = document.getElementById(get_cart_content_table());
        html_obj.style.display = 'none';
        /*
        html_obj = document.getElementById('pagination_top');
        html_obj.style.display = 'none';
        html_obj = document.getElementById('pagination_bottom');
        html_obj.style.display = 'none';
        */
        is_logged = true;
        html_obj = document.getElementById(get_product_list_table());
        html_obj.style.display = 'none';
        html_obj = document.getElementById(get_cart_content_table());
        html_obj.style.display = 'none';
        
        //Section "devenir un membre" & historique d'achat.
        html_obj = document.getElementById("new_member");
        html_obj.style.display = 'none';
        html_obj = document.getElementById("catalogue");
		html_obj.style.display = 'block';
		html_obj = document.getElementById("my_orders");
		html_obj.innerHTML = (my_orders>0) ? ('<a href="?s=catalogue.orders">'+MY_ORDERS+' ('+my_orders+')</a>'):html_obj.innerHTML;
		html_obj.style.display = 'block';
        html_obj = document.getElementById("my_carts");
        html_obj.innerHTML = (my_carts>0) ? ('<a href="?s=catalogue.searchs">'+MY_CARTS+' ('+my_carts+')</a>'):html_obj.innerHTML;
		html_obj.style.display = 'block';
		
		if (last_cart.length>1) {
    		//reload last cart
    		show_reload_group(last_cart.length-2, last_cart[last_cart.length-1]);
    		}
        else {
            //redisplay logged search
            run_product_search();
            }
                    
        break;
    
    case 'LOGOUT':
        if (VISITORS_ALLOWED) {
            html_obj = document.getElementById('user_login_msg');
            html_obj.innerHTML     = '';
            html_obj.style.display = 'none';
            html_obj = document.getElementById('submit_msgs');
            html_obj.style.display = 'none';
            html_obj = document.getElementById('user_login_submit_btn');
            html_obj.style.display = 'block';
            html_obj = document.getElementById('login_form');
            html_obj.AUTH_PASS.value = '';
            html_obj.style.display = 'block';
            
            //hide not logged search
            html_obj = document.getElementById(get_product_list_table());
            html_obj.style.display = 'none';
            html_obj = document.getElementById(get_cart_content_table());
            html_obj.style.display = 'none';
            is_logged = false;
            html_obj = document.getElementById(get_product_list_table());
            html_obj.style.display = 'none';
            html_obj = document.getElementById(get_cart_content_table());
            html_obj.style.display = 'none';
    		
            //Section "devenir un membre" & historique d'achat.
            html_obj = document.getElementById("new_member");
            html_obj.style.display = 'block';
            html_obj = document.getElementById("catalogue");
    		html_obj.style.display = 'none';
    		html_obj = document.getElementById("my_orders");
    		html_obj.style.display = 'none';
            html_obj = document.getElementById("my_carts");
    		html_obj.style.display = 'none';
            
            //redisplay logged search
            form_obj = document.getElementById('product_search');
            if (form_obj.make.selectedIndex || form_obj.model.selectedIndex || form_obj.year.selectedIndex || form_obj.q.value.split(' ').join('')!="") {
                get_products();
                }
            }
        else {
            window.location.href = 'catalogue.php';
            }

        break;
    }
}



function parse_user_login_xml_data(xml_doc) {

var document_root, current_node;
var login_result, login_state, email;

email         = '';
login_state   = '';
document_root = xml_doc.documentElement;

for (var n=0; n<document_root.childNodes.length; n++) {
    current_node = document_root.childNodes[n];
    if (current_node.nodeName=='login') {
        login_result = current_node.getAttribute('result');
        login_state  = current_node.firstChild.nodeValue;
        }
    else if (current_node.nodeName=='customer') {
        my_orders = parseInt(current_node.getAttribute('orders'));
        my_carts  = parseInt(current_node.getAttribute('searchs'));
        last_cart = current_node.getAttribute('last_cart').split('|');
        email     = current_node.getAttribute('email');
        for (var c=0; c<current_node.childNodes.length; c++) {
            switch (current_node.childNodes[c].nodeName) {
                case 'member_id':
                    member_id = parseInt(current_node.childNodes[c].firstChild.nodeValue);
                    break;
                case 'name':
                    client_name = current_node.childNodes[c].firstChild.nodeValue;
                    break;
                }
            }
        }
    }

if (login_state) {
    set_user_login_state(login_state, email);
    }
}


function user_logout() {

var now     = new Date();
var url_obj = new Object();
url_obj.url = get_xml_data_url+'?s=xml.user.logout&void=' + now.getTime();

var cb_obj    = new Object();
cb_obj.custom = 'set_user_login_state("LOGOUT")';

get_xml_then( url_obj, cb_obj, ERROR_AUTHENTICATION );
}


function display_forgotpass() {

document.getElementById('forgot_pass_form').style.display = 'block';
document.getElementById('forgot_pass_form').EMAIL.focus();
}


function email_user_info() {

var form_obj = document.getElementById('forgot_pass_form');

if (is_valid_email(form_obj.EMAIL.value)) {
    var now     = new Date();

    var url_obj = new Object();
	url_obj.url = get_xml_data_url+'?s=xml.user.forgotpass&EMAIL='+escape(form_obj.EMAIL.value)+'&void=' + now.getTime();
	
	var cb_obj  = new Object();
	cb_obj.func = 'parse_user_forgot_xml_data';
	
	get_xml_then( url_obj, cb_obj, ERROR_AJAX_EMAIL_FORGOT );
    }
else {
    alert(ERROR_FORM_EMAIL);
    form_obj.EMAIL.focus();
    }
}


function parse_user_forgot_xml_data(xml_doc) {

var document_root, current_node;
var html_obj, email_result, output;


document_root = xml_doc.documentElement;
email_result  = '';
for (var n=0; n<document_root.childNodes.length; n++) {
    current_node = document_root.childNodes[n];
    if (current_node.nodeName=='user') {
        email_result = current_node.getAttribute('user_id');
        }
    }

html_obj = document.getElementById('submit_msgs');
html_obj.innerHTML     = (email_result!='') ? USER_FORGOT_EMAIL_SENT:USER_FORGOT_EMAIL_ERROR;
html_obj.style.display = 'block';
}