var regArray = ['_txtEmailAddress','_txtVerifiedEmailAddress','_txtPassword','_txtVerifiedPassword',
    '_ddlIndustry','_ddlPriTherArea','_ddlSecTherArea','_txtInstitution','_txtJobTitle','_ddlSalutation',
    '_txtFirstName','_txtLastName','_ddlEducationLevels','_txtAddress1','_txtAddress2','_txtCity','_ddlUS','_ddlCA','_txtState','_ddlCountries','_txtZipCode','_txtAreaCode','_txtPhoneNumber',
    '_txtPhoneExtension'];
var loginx = 'loginx.aspx';
window.addEvent('domready', function() {
//    alert('domready');
    start();
});

var start = function(){
    $each(regArray,function(element){
        $(element).addEvents({        
            'load': function(e){ inputFocus($(element),1) },
            'focus': function(e){ inputFocus($(element),1) },
            'blur': function(e){ inputFocus($(element),0) }
        });
    });
    $('_btnSubmit').addEvent('click',function(e){e.stop(); submit();});
    prepop(getmpcontext());
}
function inputFocus(element, state){
    switch(state){
        case 0:
            $('regInstructions').setStyle('display','block');
            $('regValidatorBox').setStyle('display','none');
            $(element).getParent().getParent().setStyles({'background-color': '#fff', 'border': '0px solid #fff'});
            break;
        case 1:
            $('regInstructions').setStyle('display','none');
            $('regValidatorBox').setStyle('display','block');
            $('regValidatorBox').set('text',$(element).get('alt'));
            $(element).getParent().getParent().setStyles({'background-color': '#eee', 'border': '1px solid red'});
            break;
    }
}
function getmpcontext(){
    try{
        var cookiebox = new CookieHandler();
        var cook = ''; 
        cook = cookiebox.getCookie('xauth'); 
        if( cook.length>0 ){}else{ top.location.replace(loginx); }
    }
    catch(err){
        //alert(err);
        top.location.replace(loginx);
    }
    return cook
}
function prepop(cook){
    try{if( cook.length>0 ){getProfile(cook);}else{ top.location.replace(loginx); }}
    catch(err){top.location.replace(loginx);}
}
function getProfile(cook){
    //alert(msg); 
    var url = 'login.aspx?req=mp&req1=1&arg1='+cook;
    var request = new Request.JSON({
        url: url,
        onComplete: function(jsonObj) {
            strRegRequest = '';
            var jsoncookie = '';
            //'length = ' + jsonObj.mp.length + "<br/>";
            var c;
            jsonObj.mp.each(function(item){
                //strRegRequest += "item.code = " + item.code + "<br/>";
                if( $defined($(item.code)) ){ try{$(item.code).set('value',item.data);if(item.code=='_ddlCountries'){c=item.data;}}catch(err){} }
            });
            if($defined(c)){toggleState(c);}
        }
    }).send();
}
function toggleState(mode){
    var ddlus=$('_ddlUS');
    var ddlca=$('_ddlCA');
    var txtst=$('_txtState');
    switch(mode){
        case 'US': ddlus.setStyle('display','block');ddlca.setStyle('display','none');txtst.setStyle('display','none');break;
        case 'CA': ddlus.setStyle('display','none');ddlca.setStyle('display','block');txtst.setStyle('display','none');break;
        default: ddlus.setStyle('display','none');ddlca.setStyle('display','none');txtst.setStyle('display','block');break;
    }
}
function submit(){
    var msg = '';
    var submitResult = isComplete();
    if( submitResult==true ){ 
        msg = buildSubmitString(msg,regArray); 
        //alert(msg); 
        var url = 'login.aspx?req=mp&req1=2&arg1='+getmpcontext()+'&arg2='+msg;
        var request = new Request.JSON({
            url: url,
            onComplete: function(jsonObj) {
                strRegRequest = '';
                //'length = ' + jsonObj.ump.length + "<br/>";
                jsonObj.ump.each(function(item){
                    //strRegRequest += "item.code = " + item.code + "<br/>";
                    switch( item.code ){
                        case '0':
                        case '-1':
                            strRegRequest += item.data + "<br/>";
                            $('regValidatorBox').set('html',strRegRequest);
                            $('regValidatorBox').setStyle('color','red');
                            $('regValidatorBox').focus();
                            break;
                    }
                });                
            }
        }).send();
    }
}
function buildSubmitString(msg, elements){  
    msg='{"cid":"75",';
    $each(elements, function(element){msg += '"'+$(element).get('id') + '":"' + $(element).get('value')+'",';} )
    msg=msg.substring(msg,msg.length-1);
    msg+='}';
    return msg;
}
var clearForm = function(){
    $('regValidatorBox').setStyle('color','#000');
    $('regValidatorBox').setStyle('font-weight','normal');
    $('_txtEmailAddress').set('value','');
    $('_txtVerifiedEmailAddress').set('value','');
    $('_txtPassword').set('value','');
    $('_txtVerifiedPassword').set('value','');
    $('_ddlIndustry').set('selected','Select one...');
    $('_ddlPriTherArea').set('selected','Select one...');
    $('_ddlSecTherArea').set('selected','Select one...');
    $('_txtInstitution').set('value','');
    $('_txtJobTitle').set('value','');
    $('_ddlSalutation').set('value','');
    $('_txtFirstName').set('value','');
    $('_txtLastName').set('value','');
    $('_txtAddress1').set('value','');
    $('_txtAddress2').set('value','');
    $('_txtCity').set('value','');
    $('_txtState').set('value','');
    $('_txtZipCode').set('value','');
    $('_txtAreaCode').set('value','');
    $('_txtPhoneNumber').set('value','');
    $('_txtPhoneExtension').set('value','');
    $('_ddlEducationLevels').set('value','');
}