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'];

window.addEvent('domready', function() {
//    alert('domready');
    start();
});

var start = function(){
//    $('searchResults').setStyle('style','display:none;');
//    toggleApp('divUserSearch',true);
//    toggleApp('divAdminReg',true);
    $each(regArray,function(element){
        $(element).addEvents({        
            'load': function(e){ inputFocus($(element),1) },
            'focus': function(e){ inputFocus($(element),1) },
            'blur': function(e){ inputFocus($(element),0) }
//            'click': function(e){ inputFocus($(element),1) },
//            'mouseenter': function(e){ inputFocus($(element),1) },
//            'mouseleave': function(e){ inputFocus($(element),0) }
        });
    });
    $('_btnSubmit').addEvent('click',function(e){e.stop(); showform();});
    if( tc_isIE6 ){ $('_btnSubmit').set('src','images/register.gif'); }
//    $('_txtVerifiedEmailAddress').addEvents({
//        'load': function(e){ inputFocus('_txtVerifiedEmailAddress',1) },
//        'click': function(e){ inputFocus('_txtVerifiedEmailAddress',1) },
//        'focus': function(e){ inputFocus('_txtVerifiedEmailAddress',1) },
//        'mouseenter': function(e){ inputFocus('_txtVerifiedEmailAddress',1) },
//        'blur': function(e){ inputFocus('_txtVerifiedEmailAddress',0) },
//        'mouseleave': function(e){ inputFocus('_txtVerifiedEmailAddress',0) }
//    });
}
function inputFocus(element, state){
    switch(state){
        case 0:
            $('regInstructions').setStyle('display','block');
            $('regValidatorBox').setStyle('display','none');
//            $('regValidatorBox').setStyle('color','#000');
            $(element).getParent().getParent().setStyles({'background-color': '#fff', 'border': '0px solid #fff'});
//            $(element).setStyles({ 
//                'color': '#069',
//                'background': '#fff',
//                'border': '1px solid #fff',
//                'padding': '0 0 0 3px'
//            });
            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'});
//            $(element).setStyles({ 
//                'color': '#000',
//                'background': '#fff',
//                'border': '1px solid add8e6',
//                'padding': '0 0 0 2px'
//            });
            break;
    }
}
function showform(){
    var msg = '';
    var submitResult = isComplete();
    if( submitResult==true ){ 
        msg = buildSubmitString(msg,regArray); 
        //alert(msg); 
        var url = 'login.aspx?req=reg&arg1='+msg;
        var request = new Request.JSON({
            url: url,
            onComplete: function(jsonObj) {
                strRegRequest = '';
                var jsoncookie = '';
                //'length = ' + jsonObj.reg.length + "<br/>";
                jsonObj.reg.each(function(item){
                    //strRegRequest += "item.code = " + item.code + "<br/>";
                    switch( item.code ){
                        case '-1':
                            strRegRequest += item.data + "<br/>";
                            var cookiebox = new CookieHandler();
                            cookiebox.setCookie('premail', $('_txtEmailAddress').get('value'), 60*40);
                            cookiebox.setCookie('premailmsg', item.data, 60*40);
                            top.location.replace('login.html');
                            break;
                        case '2':
                        case '3':
                            strRegRequest += item.data + "<br/>";
                            strRegRequest += "<br/> <a href=\"http://admin.trainingcampus.net\">http://admin.trainingcampus.net</a> <br/>";
                            $('regValidatorBox').set('html',strRegRequest);
                            $('regValidatorBox').setStyle('color','red');
                            $('regValidatorBox').focus();
                            break;
                    }
                    try{if( item.uid.length>0 && item.uid!='undefined' ){ jsoncookie = '1'; }}catch(err){jsoncookie='';}
                });
                
                clearForm();
                if( jsoncookie.length>0 ){
                    jsoncookie = '';
                    try{jsoncookie = '{"login":[{"uid":"'+jsonObj.reg[0].uid+'","email":"'+jsonObj.reg[0].email+'","fn":"'+jsonObj.reg[0].fn+'"}]}';}catch(err){jsoncookie='';}
                    if( jsoncookie.length>0 ){
                        var cookiebox = new CookieHandler();
                        cookiebox.setCookie('xauth', jsoncookie, 60*40);
                        top.location.replace('index.aspx');
                    }
                }
                //alert(jsoncookie.toString());
            }
        }).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 doNetSearch = function(e){ 
    e.stop(); 
    var autoadd = 'false';
    switch($('chkAutoAdd').get('checked')){case'true':autoadd='true';break;default:autoadd='false';break;}
    var url='/uas/modules/trees/admin/_wreq.aspx?req=ns&req1=1&arg1=0&arg2='+$('chkAutoAdd').get('checked')+'&search='+ $('iptEmail').get('value');
    //alert('search string length: ' +  $('iptEmail').get('value').length +'\nurl length: '+url.length); //'('+url.length+') : '+url);
//    alert('auto add = ' + autoadd + '\nelrpt : ' + $('chkAutoAdd').get('checked') );
    var req = new Request.HTML({
        method: 'get',
        url: url,
        onComplete: function(html,els){
            $('searchResults').set('text','');
            $('searchResults').adopt(html);
            if( $chk(els) ){
                els.each(function(element){
                    if( $chk(element.get('email')) ){
                        addDetailsEvent(element.get('id'));
                    }
                    if( $chk(element.get('nomail')) ){
                        addNoMailPreRegEvent(element.get('id'));
                    }
                });
            }
            $('searchResults').setStyles({
                'color': '#555',
                'text-align': 'left'
            });
        },
        onFailure: function(){ 
            $('searchResults').set('text','A problem occurred while processing your request.'); 
            $('searchResults').setStyles({
                'color': 'red',
                'text-align': 'center'
            });
        }
    });
    try{ req.send(); }
    catch(err){alert('search : ' + err);}
}

var addNoMailPreRegEvent = function(id){
    $(id).addEvents({
        'click': function(e){
            e.stop();
            toggleApp('divAdminReg',true);
            clearForm();
            $('regValidatorBox').setStyle('color','#000');
            $('regValidatorBox').setStyle('font-weight','normal');
            $('_txtEmailAddress').set('value',$(id).get('nomail'));
            $('_txtVerifiedEmailAddress').set('value',$(id).get('nomail'));
            $('_txtPassword').set('value','');
            $('_txtVerifiedPassword').set('value','');
            
            $('_txtPassword').focus();
        }
    });
}
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','');
    
//    $('_txtEmailAddress').focus();
    
}
var addDetailsEvent = function(id){
    $(id).addEvents({
        'click': function(e){
            e.stop();
            var lis = $(id).getParent().getParent().getElements('li');
            lis.each(function(value){ value.getElement('a').setStyle('color','#036');});
            
            $(id).setStyle('color','blue');
            getDetails(e,id);
            //Empty the log and show the spinning indicator.
//            var tgtdiv = $('resultDetails').empty().addClass('loading');
//            tgtdiv.load('/temp/'+id+'.html');
//            tgtdiv.removeClass('loading');
        }
//        'mouseenter': function(){
//            $(id).setStyles({ 'color': 'blue' });
//        },
//        'mouseleave': function(){
//            $(id).setStyles({ 'color': '#036' });
//        },
    });
}

var getDetails = function(e,id){ 
    e.stop(); 
    var req = new Request.HTML({
        method: 'get',
        url: '/uas/modules/trees/admin/_wreq.aspx?req=ns&req1=2&arg1='+id+'&arg2=0&search='+ $('iptEmail').get('value'),
        onComplete: function(html,els){
            var tgtdiv = $('resultDetails');
            tgtdiv.set('text','');
            tgtdiv.adopt(html);
            if( $chk(els) ){
                var str = '';
                var outer = tgtdiv.getElement('div[id=out'+id+']');
                var iptadd = outer.getElement('div[class=right]').getElement('input[id=add'+id+']');
                var tgt = iptadd;
//                str+=tgt.get('id');//+ ' : ' + index+'\n';
                tgt.addEvents({
                    'click': function(e2){
                        e2.stop();
                        var addreq = new Request.HTML({
                            method: 'get',
                            url: '/uas/modules/trees/admin/_wreq.aspx?req=ns&req1=2&arg1='+ id +'&arg2=true&search='+ $('iptEmail').get('value'),
                            onComplete: function(html2,els2){
                                outer.set('text','');
                                outer.adopt(html2);
                                tgtdiv.setStyles({
                                    'color': '#555',
                                    'text-align': 'left'
                                });
                            },
                            onFailure: function(){
                                tgtdiv.set('text','A problem occurred while processing your request.'); 
                                tgtdiv.setStyles({
                                    'color': 'red',
                                    'text-align': 'center'
                                });
                            }
                        });
                        try{ addreq.send(); }
                        catch(err){alert(err);}
                    }
                });
            }
            tgtdiv.setStyles({
                'color': '#555',
                'text-align': 'left'
            });
        },
        onFailure: function(){ 
            tgtdiv.set('text','A problem occurred while processing your request.'); 
            tgtdiv.setStyles({
                'color': 'red',
                'text-align': 'center'
            });
        }
    });
    try{ req.send(); }
    catch(err){alert(err);}
}
var toggleApp = function(tgtform, isExclusive){
 //   e.stop();
    try{
        var msg = 'tgtform: '+ tgtform + '\nisExclusive: ' + isExclusive + '\n\n';
        $each(['divUserSearch','divAdminReg'], function(form){
            msg += 'form: '+ form + '\n';
            if( tgtform == form )$(form).setStyle('display','');
            else $(form).setStyle('display','none');            
        },this);
        //alert(msg);
    }
    catch(err){}
}