dbug.enable();

window.addEvent('domready', function(){ 
    Browser.fixPNG('#logo');
    winScroller = new Fx.Scroll(document.window,{duration:'long', transition: Fx.Transitions.Quad.easeInOut});
    waiter = new Waiter('overview',{
        baseHref: '/images/ajax_loader/'
    });
    Shadowbox.init(EMBARK.shadowbox.options);
    if (EmbarkPref.get('font_size') == 'large') {
        EMBARK.fontSize('large');
    };
    if(Browser.Engine.trident4 && $('walk_on') ) {
        $('walk_on').setStyle('display', 'none');
    };
});

Shadowbox.loadSkin('classic', '/js/shadowbox2/src/skin');
var winScroller;
var waiter;
var EmbarkPref = new Hash.Cookie('EMBARK', {domain:'.e-myth.com',path:'/',duration: 3600});
var myConf     = new Confirmer();

var EMBARK = {
    shadowbox: {
        options: {
            animSequence:'sync',
            flvPlayer:'/media/flash/mediaplayer/mediaplayer_315.swf',
            counterType:'skip'            
        }
    },
    
    setPref: function(obj){
        new Request({
            url: '/cs/user/main?x-p=cs_com/embark/set_get_pref;action=set',
            method: 'post',
            data: JSON.encode(obj)
        }).send();
    },
    
    getPref: function() {
        new Request({
            url: '/cs/user/main?x-p=cs_com/embark/set_get_pref;action=get',
            method: 'get'
        }).send();
    },
    
    fontSize: function(size){
        if (size === 'large') {
            EmbarkPref.extend({font_size:'large'});
            if (!$('large_css')) {
                var largeCSS = new Asset.css('/css/cs_com/embark/large.css', {id: 'large_css'});
            };
        } else if (size === 'normal') {
            EmbarkPref.extend({font_size:'normal'});
            $('large_css').destroy();
        }
    }
}

var ba = {
    editStatements: function(){
        new Request({
            url: '/cs/clear/editb/ba_a',
            method: 'post',
            data: 'x-r=editb;em_ch_id='+ba.em_ch_id+';u_id='+ba.u_id+';results_id='+ba.results_id+';course_id='+ba.course_id+';biz_type='+ba.biz_type,
            onRequest: function() {
                waiter.start();
            },
            onSuccess: function(txt) {
                waiter.stop();
                $('overview').set('html', txt);
            }
        }).send();
    },

    viewStatements: function(){
        new Request({
            url: '/cs/clear/query/q/embark_ba_questions_view',
            method: 'post',
            data: 'em_ch_id='+ba.em_ch_id+';u_id='+ba.u_id+';results_id='+ba.results_id+';course_id='+ba.course_id+';biz_type='+ba.biz_type,
            onRequest: function() {
                if (!waiter.active) {
                    waiter.start();
                };
            },
            onSuccess: function(txt) {
                $('overview').set('html', txt);
                waiter.stop();
            }
        }).send();
    },

    ajaxSubmit: function(){
        $('submitButton').set('disabled','disabled');
        var submit = new Element('input',{
            type:'hidden',
            name:'x-a',
            value:'submit'
        });
        submit.inject($('ba_a_form'));
        new Request({
            url: $('ba_a_form').getProperty('action'),
            method: 'post',
            data: $('ba_a_form'),
            onRequest: function() {
                waiter.start();
            },
            onSuccess: function(){
                ba.viewStatements();
                winScroller.toTop();
            }
        }).send();    
    },
      
    submitBizType: function(){
        new Request({
            url: $('u_form').getProperty('action'),
            method: 'post',
            data: $('u_form'),
            onRequest: ba.spinner(),
            onSuccess: function(txt) {
                $('overview').set('html', txt);
            }
        }).send();
    },
      
    editBizType: function(u_id,template){
        new Request({
            url: '/cs/clear/edit/u/'+u_id,
            method: 'post',
            data: 'x-t='+template,
            onSuccess: function(txt) {
                $('overview').set('html', txt);
            }
        }).send();
    }, 
      
    spinner: function(){
        if ($('ajaxLoader')) {
            $('ajaxLoader').setStyle('visibility', 'visible');
            $('submitButton').setStyle('display', 'none');
        };
    },
    
    radioValidate: function(){
        var missed = [];
        $$('div#overview li table').each(function(table,table_id){
            var count = 0;
            var radioGroup = table.getElements('input');;
            radioGroup.each(function(radio,radio_id){
                if (!radio.checked){
                    count++;
                }
            });
            if ( count == radioGroup.length ) {
                missed.include((table_id + 1));
            }
        });
        if (missed.length){
            alert('Please answer questions: '+missed);
            return false;
        } else {
            return true;
        }
    },
    
    randomize: function(set){
        $$('div#overview li table').each(function(table,table_id){
            var answer;
            if ( set === 'sa' ) {
                answer = 4;
            } else if ( set === 'sd') {
                answer = 1;
            } else {
                answer = $random(1,4);
            }
            var radioGroup = table.getElements('input');;
            radioGroup[answer - 1].set('checked',true);
        });
    },
    
    setPref: function(obj){
        EmbarkPref.extend(obj);
    }
}

function setFlashSize(obj){
    var div = $('walk_on');
    div.set('styles',{height:obj.height});
    div.set('styles',{width:obj.width});
}

// function hideFlash (divid) {
//     $(divid).set('styles',{visibility:"hidden"})
// }

/*
Pop up window in center of screen, if no params are set uses defaults
Example: onclick="popUp('/pub/htdocs/my_e-myth')" or onclick="popUp('/pub/htdocs/my_e-myth',{width:300,height:200,scrollbars:1})"
*/
function popUp(url,params){
    ($defined(params)) ? params : (params = {});
    var fromTop = screen.availHeight / 2 - $pick(params.height,400) / 2;
    var fromLeft = screen.availWidth / 2 - $pick(params.width,500) / 2;
    var settings =
        'height='      + $pick(params.height,400) +
        ',width='      + $pick(params.width,500) +
        ',top='        + fromTop +
        ',left='       + fromLeft +
        ',scrollbars=' + $pick(params.scrollbars,0) +
        ',resizable='  + $pick(params.resizable,1) +
        ',menubar='    + $pick(params.menubar,0) +
        ',toolbar='    + $pick(params.toolbar,0) +
        ',location='   + $pick(params.location,0) +
        ',statusbar='  + $pick(params.statusbar,0)
    ;
    win = window.open(url,'popUp',settings);
    win.focus();
}
