//------------------------------------------
//
// Author: Manny Perez
// Client: Greenpeace Australia Pacific
//------------------------------------------

var reg_got_dname = 0;
var reg_oktogo    = 0;
var reg_field_ids = new Array();
var reg_img_ids   = new Array();
var reg_box_ids   = new Array();
var reg_msg_ids   = new Array();

var ucp_dname_illegal_chars = new Array( '[', ']', '|', ',', ';' );
var ucp_dname_illegal_regex = '';

for ( var i in ucp_dname_illegal_chars )
{
    ucp_dname_illegal_regex += '\\' + ucp_dname_illegal_chars[i];
}

var error_email  = 0;

var in_member_id = 0;

/*-------------------------------------------------------------------------*/
// INIT Reg form
/*-------------------------------------------------------------------------*/

function init_reg_form( got_dname, register_method )
{
    //------------------------------------------
    // INIT objects
    //------------------------------------------
    reg_got_dname = got_dname;
	
    //------------------------------------------
    // Fields...
    //------------------------------------------
       reg_field_ids['FirstName']   = document.getElementById( 'sFirstName' );
       reg_field_ids['LastName']   = document.getElementById( 'sLastName' );
       reg_field_ids['Email']   = document.getElementById( 'sEmail' );
       reg_field_ids['PostCode']   = document.getElementById( 'sPostCode' );
       reg_field_ids['Captcha']   = document.getElementById( 'sCaptcha' );
		
    //------------------------------------------
    // Messages
    //------------------------------------------
        reg_msg_ids['FirstName']     = document.getElementById( 'msg-FirstName' );
        reg_msg_ids['LastName']     = document.getElementById( 'msg-LastName' );
        reg_msg_ids['Email']     = document.getElementById( 'msg-Email' );
        reg_msg_ids['PostCode']     = document.getElementById( 'msg-PostCode' );
        reg_msg_ids['Captcha']     = document.getElementById( 'msg-Captcha' );

    //------------------------------------------
    // Set up onblur
    //------------------------------------------
        reg_field_ids['FirstName'].onblur   = check_FirstName;
        reg_field_ids['LastName'].onblur   = check_LastName;
        reg_field_ids['Email'].onblur   = check_Email;
        reg_field_ids['PostCode'].onblur   = check_PostCode;
        reg_field_ids['Captcha'].onblur   = check_Captcha;


    //------------------------------------------
    // Already got error messages?
    //------------------------------------------

    if ( ! reg_msg_ids['FirstName'].innerHTML ) {
 //       reg_box_ids['FirstName'].style.display = 'none';
    }
    if ( ! reg_msg_ids['LastName'].innerHTML )  {
//        reg_box_ids['LastName'].style.display = 'none';
    }
}





/*-------------------------------------------------------------------------*/
// Validate the entry form
/*-------------------------------------------------------------------------*/

function validate_entry_form( event )
{
    //------------------------------------------
    // Simply run the functions
    //------------------------------------------

    reg_oktogo = 1;
    check_FirstName( event );
    check_LastName( event );
    check_Email( event );
    check_PostCode( event );
    check_Captcha( event );
	
    //------------------------------------------
    // Got error messages
    //------------------------------------------

    if ( reg_msg_ids['FirstName'].innerHTML) {
        reg_oktogo = 0;
    }
    if ( reg_msg_ids['LastName'].innerHTML) {
        reg_oktogo = 0;
    }
    if ( reg_msg_ids['Email'].innerHTML) {
        reg_oktogo = 0;
    }
    if ( reg_msg_ids['PostCode'].innerHTML) {
        reg_oktogo = 0;
    }
    if ( reg_msg_ids['Captcha'].innerHTML) {
        reg_oktogo = 0;
    }
    //------------------------------------------
    // Return
    //------------------------------------------

    return reg_oktogo ? true : false;
}


/*-------------------------------------------------------------------------*/
// Check FirstName
/*-------------------------------------------------------------------------*/

function check_FirstName( event ) {
    //----------------------------------
    // INIT
    //----------------------------------
    var error_found = '';
    var sVar = '';
    sVar = trim(reg_field_ids['FirstName'].value);

    //----------------------------------
    // Check
    //----------------------------------
    if ( sVar < 1 ) {
        error_found += reg_error_firstname_none;
    }
	
    if ( error_found ){
		reg_field_ids['FirstName'].style.border = border_red;
        reg_msg_ids['FirstName'].innerHTML = error_found;
		reg_msg_ids['FirstName'].style.display = 'block';
    }else{
		reg_field_ids['FirstName'].style.border = border_normal;
        reg_msg_ids['FirstName'].innerHTML = '';
		reg_msg_ids['FirstName'].style.display = 'none';
    }
}



/*-------------------------------------------------------------------------*/
// Check LastName
/*-------------------------------------------------------------------------*/

function check_LastName( event ) {
    //----------------------------------
    // INIT
    //----------------------------------

    var error_found = '';
    var sVar = '';
    sVar = trim(reg_field_ids['LastName'].value);

    //----------------------------------
    // Check
    //----------------------------------
    if ( sVar < 1 ) {
        error_found += reg_error_lastname_none;
    }
	
    if ( error_found ){
		reg_field_ids['LastName'].style.border = border_red;
        reg_msg_ids['LastName'].innerHTML = error_found;
        reg_msg_ids['LastName'].style.display = 'block';
    }else{
		reg_field_ids['LastName'].style.border = border_normal;
        reg_msg_ids['LastName'].innerHTML = '';
        reg_msg_ids['LastName'].style.display = 'none';
    }
}



/*-------------------------------------------------------------------------*/
// Check Email
/*-------------------------------------------------------------------------*/

function check_Email( event ) {
    //----------------------------------
    // INIT
    //----------------------------------

    var error_found = '';

    //----------------------------------
    // Ajax: check for existing email address
    //----------------------------------

    if ( use_enhanced_js && reg_field_ids['Email'].value ) {
        var url = mmp_var_base_url+'ps=1&email='+escape( reg_field_ids['Email'].value );
        /*--------------------------------------------*/
        // Main function to do on request
        // Must be defined first!!
        /*--------------------------------------------*/

        do_request_function = function()
        {
            //----------------------------------
            // Ignore unless we're ready to go
            //----------------------------------

            if ( ! xmlobj.readystate_ready_and_ok() )
            {
                // Could do a little loading graphic here?
                return;
            }

            //----------------------------------
            // INIT
            //----------------------------------

            var html = xmlobj.xmlhandler.responseText;
            if ( html == 'invalid' )
            {
                error_found += reg_error_email_none;
            }

            //----------------------------------
            // Show errors
            //----------------------------------

            if ( error_found ) {
		        //reg_field_ids['Email'].value = "";
				reg_field_ids['Email'].style.border = border_red;
		        reg_msg_ids['Email'].innerHTML = error_found;
		        reg_msg_ids['Email'].style.display = 'block';
                error_email = 1;
            }else{
				reg_field_ids['Email'].style.border = border_normal;
		        reg_msg_ids['Email'].innerHTML = '';
		        reg_msg_ids['Email'].style.display = 'none';

                error_email = 0;
            }

            error_found = '';
        }

        //----------------------------------
        // LOAD XML
        //----------------------------------

        xmlobj = new ajax_request();
        xmlobj.onreadystatechange( do_request_function );
        xmlobj.process( url );
    }else {
        error_found += reg_error_email_none;
        
		//reg_field_ids['Email'].value = "";
		reg_field_ids['Email'].style.border = border_red;
		reg_msg_ids['Email'].innerHTML = error_found;
		reg_msg_ids['Email'].style.display = 'block';
		
        error_email = 1;

    }

}


/*-------------------------------------------------------------------------*/
// Check Postcode
/*-------------------------------------------------------------------------*/

function check_PostCode( event ) {
/*    //----------------------------------
    // INIT
    //----------------------------------
    var error_found = '';
    var sVar = '';
    sVar = trim(reg_field_ids['PostCode'].value);

    //----------------------------------
    // Check
    //----------------------------------
    if ( sVar < 1 ) {
        error_found += reg_error_postcode_none;
    }
	
    if ( error_found ){
		reg_field_ids['PostCode'].style.border = border_red;
        reg_msg_ids['PostCode'].innerHTML = error_found;
		reg_msg_ids['PostCode'].style.display = 'none';
		document.getElementById('MPList').innerHTML = '';
    }else{
		reg_field_ids['PostCode'].style.border = border_normal;
        reg_msg_ids['PostCode'].innerHTML = '';
		reg_msg_ids['PostCode'].style.display = 'none';
		
//		ListMPs();
    }*/
	
	
   var error_found = '';

    //----------------------------------
    // Ajax: check for existing email address
    //----------------------------------

    if ( use_enhanced_js && reg_field_ids['PostCode'].value ) {
        var url = mmp_var_base_url+'ps=5&v='+escape( reg_field_ids['PostCode'].value );
        /*--------------------------------------------*/
        // Main function to do on request
        // Must be defined first!!
        /*--------------------------------------------*/

        do_request_function = function()
        {
            //----------------------------------
            // Ignore unless we're ready to go
            //----------------------------------

            if ( ! xmlobj.readystate_ready_and_ok() )
            {
                // Could do a little loading graphic here?
                return;
            }

            //----------------------------------
            // INIT
            //----------------------------------

            var html = xmlobj.xmlhandler.responseText;
            if ( html == 'invalid' )
            {
                error_found += reg_error_postcode_none;
            }

            //----------------------------------
            // Show errors
            //----------------------------------

            if ( error_found ) {
		        //reg_field_ids['Email'].value = "";
				reg_field_ids['PostCode'].style.border = border_red;
		        reg_msg_ids['PostCode'].innerHTML = error_found;
		        reg_msg_ids['PostCode'].style.display = 'block';
                error_postcode = 1;
            }else{
				reg_field_ids['PostCode'].style.border = border_normal;
		        reg_msg_ids['PostCode'].innerHTML = '';
		        reg_msg_ids['PostCode'].style.display = 'none';

                error_postcode = 0;
            }

            error_found = '';
        }

        //----------------------------------
        // LOAD XML
        //----------------------------------

        xmlobj = new ajax_request();
        xmlobj.onreadystatechange( do_request_function );
        xmlobj.process( url );
    }else {
        error_found += reg_error_postcode_none;
        
		reg_field_ids['PostCode'].style.border = border_red;
		reg_msg_ids['PostCode'].innerHTML = error_found;
		reg_msg_ids['PostCode'].style.display = 'block';
		
        error_postcode = 1;

    }
	
}






/*-------------------------------------------------------------------------*/
// Check Captcha
/*-------------------------------------------------------------------------*/

function check_Captcha( event ) {
    //----------------------------------
    // INIT
    //----------------------------------

    var error_found = '';

    //----------------------------------
    // Ajax: check for captcha
    //----------------------------------

    if ( use_enhanced_js && reg_field_ids['Captcha'].value ) {
        var url = mmp_var_base_url+'ps=2&v='+escape( reg_field_ids['Captcha'].value );
        /*--------------------------------------------*/
        // Main function to do on request
        // Must be defined first!!
        /*--------------------------------------------*/

        do_request_function = function()
        {
            //----------------------------------
            // Ignore unless we're ready to go
            //----------------------------------

            if ( ! xmlobj.readystate_ready_and_ok() )
            {
                // Could do a little loading graphic here?
                return;
            }

            //----------------------------------
            // INIT
            //----------------------------------

            var html = xmlobj.xmlhandler.responseText;
            if ( html == 'invalid' )
            {
                error_found += reg_error_captcha_none;
            }

            //----------------------------------
            // Show errors
            //----------------------------------

            if ( error_found ) {
		        //reg_field_ids['Email'].value = "";
				reg_field_ids['Captcha'].style.border = border_red;
		        reg_msg_ids['Captcha'].innerHTML = error_found;
		        reg_msg_ids['Captcha'].style.display = 'block';
                error_email = 1;
            }else{
				reg_field_ids['Captcha'].style.border = border_normal;
		        reg_msg_ids['Captcha'].innerHTML = '';
		        reg_msg_ids['Captcha'].style.display = 'none';

                error_email = 0;
            }

            error_found = '';
        }

        //----------------------------------
        // LOAD XML
        //----------------------------------

        xmlobj = new ajax_request();
        xmlobj.onreadystatechange( do_request_function );
        xmlobj.process( url );
    }else {
        error_found += reg_error_captcha_none;
        
		//reg_field_ids['Email'].value = "";
		reg_field_ids['Captcha'].style.border = border_red;
		reg_msg_ids['Captcha'].innerHTML = error_found;
		reg_msg_ids['Captcha'].style.display = 'block';
		
        error_email = 1;

    }

}
