
var spinner; // Global use spinner

window.addEvent('domready', function() {
	spinner = new Spinner($(document.body));
	// Controleer initiators
	
	// Nieuwstabjes ?!
	if($('homenieuws')){
		var plaintabs = new PlainTabs("homenieuws");
	}

        if($('do_login')){
            $('do_login').addEvent('click',showLoginDialog);
        }

        if($('tagfilter')){
            initTagfilter();
        }

	// Controle op aanwezigheid submenu (ivm margin-left 'content')
	
	if(!$('submenu') && $('content')){
		$('content').removeClass('marge_sub');
	}
	
});

function initTagfilter(){
    // isset cookie? read cookie?!
    
    if(Cookie.read('tagfilter')>0){
          if($$('option[value='+Cookie.read('tagfilter') +'').length>0){
              $('tagfilter').set('value',Cookie.read('tagfilter'));
              changeTagfilter();
          } else {
              // Option does not exist.. reset..
              Cookie.write('tagfilter',0,{path:'/'});
          }        
    } else {
          $('tagfilter').set('value',-1);
    }
    $('tagfilter').addEvent('change',changeTagfilter);
}


function changeTagfilter(){
    var theV = $('tagfilter').get('value');
    if(theV==-1){
        $$('div.nieuws_item').show();
    } else {

       $$('div.nieuws_item').hide();
       $$('div.tagid'+theV).show();
    }
     Cookie.write('tagfilter',theV,{path:'/'});
}

function showLoginDialog(e){
    e.stop();
    var lspinner=spinner;
    spinner.show();
    var facebox = new Facebox({
 			title: 'Inloggen',
                        width: 350,
                        height: 100,
                        ajaxDelay: 300,
                        url: '/ds_handlers/login.php',
                        cancelValue: 'Annuleren',
                        cancelFunction: function(){
                            lspinner.hide();
                            facebox.close();
                        },
                        submitValue: 'Inloggen',
                        submitFunction: function(){
                            // do a submit
                            doLogin(lspinner,facebox);
                        }
 		});
 		facebox.show();
}

function doLogin(spinner,facebox){
    //console.log('login clicked');
    var email=$('dialogemail').get('value');
    var toegangscode=$('dialogtoegangscode').get('value');
    var keeplogin=$('dialogkeeplogin').get('checked');
    //console.log(keeplogin);
    var formvalid=true;
    if(! /\w{1,}[@][\w\-]{1,}([.]([\w\-]{1,})){1,4}$/.test(email)){
        //console.log('email invalid');
        formvalid=false;
        $('dialogemail').addClass('loginerror');
        (function(){ $('dialogemail').removeClass('loginerror');}).delay(1500);
    }
    if($('dialogtoegangscode').get('value').trim()==''){
        //console.log('toegangscode invalid');
        formvalid=false;
        $('dialogtoegangscode').addClass('loginerror');
        (function(){ $('dialogtoegangscode').removeClass('loginerror');}).delay(1500);
        $('dialogtoegangscode').set('value','');
    }
    if(formvalid){
        // send the credentials..
        var theUrl="http://" + window.location.hostname + "/ds_handlers/login.php";
	var jSonRequest = new Request.JSON({  url: theUrl, onSuccess: function(response){
                                                            //console.log(response);
                                                            if(response.status=='failed'){
                                                                $('dialogemail').addClass('loginerror');
                                                                (function(){ $('dialogemail').removeClass('loginerror');}).delay(1500);
                                                                 $('dialogtoegangscode').addClass('loginerror');
                                                                (function(){ $('dialogtoegangscode').removeClass('loginerror');}).delay(1500);
                                                                $('dialogtoegangscode').set('value','');
                                                            } else {
                                                                // do something with the returning loginbar..
                                                                if(response.action!=undefined){

                                                                      if(response.action=='refreshrecepten' && $$('#recepten h3').length>0){
                                                                           if($('freetext').get('value').trim()==''){
                                                                               // based on selects
                                                                           } else {
                                                                               // based on freetext..
                                                                               //console.log('update');
                                                                               updateReceptFinder('freetext');
                                                                           }

                                                                      } else if(response.action=='redirect'){
                                                                          location.href=response.destination;
                                                                      }
                                                                }
                                                                $('login').set('html',response.bar);
                                                                spinner.hide();
                                                                facebox.close();
                                                            }
                                                        }
                                                    });
	//jSonRequest.setHeader('Content-type', 'application/x-www-form-urlencoded');
        data=JSON.encode({'email':email,'toegangscode':toegangscode,'keeplogin': keeplogin, 'uri': location.href});
	jSonRequest.post({json: data});
    }

}
