
var BitRules = {
    '.listcontrol_in:click': function (element){
        utils.set_list('.list_in','.list_out',element);
    },

    '.listcontrol_out:click': function (element){
        utils.set_list('.list_out','.list_in',element);
    },

    /**
     *die zusätzliche Informationen wird eingeblendet
     */
    '.zeigen:click': function (element){
        //el.appear();
        var handle = utils.up_down('.content','.content_handle',element);
        Effect.toggle(handle, 'blind', {duration:  0.2});
        if (element.getAttribute('myweb2go_id') && element.getAttribute('zu')=='true'){
            var id = element.getAttribute('myweb2go_id');
	        new Ajax.Request('bit2010.php?__modul=User&_remote=1&__template=user_detail',{method: 'get', parameters: {'id': id},
	            onSuccess: function(req){
	                var response = req.responseText;
	                handle.update(response);
	            }});
	        element.setAttribute('zu','false');
        };
    },

    /**
     *zusätzliche Suchmöglichkeiten werden eingeblendet
     */
    '.zeigen_suche:click': function (element){
        var handle = utils.up_down('.such_feld','.more_suchen',element);
        Effect.toggle(handle, 'blind', {duration:  0.2});
    },

    /**
     * nawigation zwiesche verschiedenen Tabs in Unternehmensdaten
     */
    '.tabHeader:click': function (element){
        utils.tab_switcher(element,false,{dauration: 0.5, effect: 'blind'}); //(element,anomation)
    },

    '.to_list:click': function (element){
        var handle = utils.up_down('.content','.algemeine_information',element);
        var to_pdf_list = $('to_pdf_list_handle');
        var id = element.getAttribute('adduser');
        var img = element.getAttribute('src');
        new Ajax.Request('pdf.php',{method: 'get', parameters: {'_userid': id},
                onSuccess: function(req){
                    var response = req.responseText;
                    to_pdf_list.update(response);
                    if (img=='grafik/zahlenliste.png'){
                        element.setAttribute('src','grafik/remove.png');
                    }else{
                       var firma = $$('.to_list');
                       firma.each(function(n){
                           if (n.getAttribute('adduser')==id){
                                n.setAttribute('src','grafik/zahlenliste.png');
                           }
                       });
                         element.setAttribute('src','grafik/zahlenliste.png');
                    };
                }});
        //hier muss ajax post und update fuer firmen liste vorhandeln sein
    }
};

  var utils = {
    up_down: function (element_up, element_duwn, element){
            var apper = element.up(element_up,0);
            var down = apper.down(element_duwn,0);
            return down;
    },

    /**
    *realisiert tab switching
    *input element --> element mit click action
    *       animation --> animation fuer tabs (true/false)
    *       opts --> {dauration,effect}
    *                  ^           ^--- effect fuer tabs
    *                  |___ wie lang die animation dauert
    *@input (element,animation,{dauration,effect})
    */
    tab_switcher: function (element, animation, opts){
        var handle = element.up('.tabList');
        var someNodeList = handle.getElementsByTagName('li');
        var NodeList = $A(someNodeList);
        var tabHandele = element.up('.tabs');
        var someTabList = tabHandele.getElementsByClassName('tabContent');
        var tabs = $A(someTabList);
        if (!opts) {
            opts = {dauration: 0.5,
                    effect: 'blind'
                    };
        }
        tabs.each(function(s){ // geht zu
            if (element.readAttribute('elnum') != s.getAttribute('tabnum') && s.style.display != 'none'){
                if (animation == true)Effect.toggle(s,opts.effect,{duration:opts.dauration, queue:{scope:'menus', limit: 3}})
                    else s.style.display = 'none';
            };
        });
        tabs.each(function(s){ // geht auf
            if (element.readAttribute('elnum') == s.getAttribute('tabnum') && s.style.display == 'none'){
                if (animation == true)Effect.toggle(s,opts.effect,{duration:opts.dauration, queue:{scope:'menus', position:'end', limit: 3}})
                    else s.style.display = 'block';
            };
        });
        NodeList.each(function(li){ // markiert das tab, das aktiv ist.
            if (element.readAttribute('elnum') != li.readAttribute('elnum')){
                li.setAttribute('class','tabHeader');
            }else{
                li.setAttribute('class','tabHeaderActive');
            }
        });
    },
    
    initSWFUpload: function(control,params,args,handler){
        var $ = jQuery;
        var sessionId = $.cookie('bit_schweinfurt');
        var post_params = { 'bit_schweinfurt':sessionId, 
        state:'1001',
        _remote:'1',
        uploadtype:'images' 
        };
        $.extend(post_params,params);
        var settings = {
            upload_url: 'bit2010.php?__modul=User',
            debug: false,
            debug_handler: function(obj){
//                      console.log(obj);
            },
            post_params: post_params,
            file_post_name: "images",
            file_types: "*.png;*.jpg;*.jpeg",
            file_types_description: "Bilddateien",
            file_upload_limit: 100,
            file_queue_limit: 0
        };
        $.extend(settings,args);
        var updater = handler.updater || $.noop;
        var complete = handler.complete || $.noop;
        $(control).swfupload(settings).bind('fileQueued', function(event, file){
          $(control).swfupload('startUpload');
        }).bind('fileQueueError', function(event, file, errorCode, message){
        }).bind('uploadStart', function(event, file){
        }).bind('uploadProgress', function(event, file, bytesLoaded){
             var percent = Math.round(bytesLoaded / file.size * 100);
        }).bind('uploadSuccess', function(event, file, serverData){
            complete(file, serverData);
        });
        $(control).closest("div.ui-accordion-content").hide();
    }
  };

/**
 * initialisiert Texeditor
 * @return alle Textareas die Classe JSEditorSimple haben, werden im mceEditor umgewandelt
*/
function JSEditorinit() {
  var $ = jQuery;
  $('.JSEditorSimple').tinymce({
      script_url : 'tiny_mce/tiny_mce.js',
      paste_auto_cleanup_on_paste : true,
      theme : "advanced",
      language : "de",
      theme_advanced_buttons1 : "bold,italic,underline,separator,bullist",
      theme_advanced_buttons2: "",
      theme_advanced_buttons3: ""
  });
};

/**
 * Initialisiert "SucheButton", damit filter funktioniert
 * @return
 */
function filterInit(){
	var $ = jQuery;
	$("[name=Submit]").click(function(){$(this).parents('form').submit()});
}

ustCBInit = function(){
	var $ = jQuery;
	var check = function(){
		var e = $('[name=value]');
		var l = $('.ust_label');
		if($('[name=ohne_ust]').attr('checked')){
			e.hide();l.hide();
			e.data('old', e.val());
			e.val(0);
		}else{
			e.val(e.data('old'));
			e.show();l.show();
		}
	};
	$('[name=value]').data('old',$('[name=value]').val());
	check();
	$('[name=ohne_ust]').change(check)
}

FastInit.addOnLoad(function () {
    Object.extend(Rules, BitRules);
    EventSelectors.start(Rules);
    JSEditorinit();
    filterInit();
    ustCBInit()
});

jQuery(function($){
	function updateConfigRow(data, tr){
		var $tr = $(tr);
		var v_class = $tr.attr('class');
		$tr.data('form', $(data));
		var $newRow = $tr.data('form').find('tr:first');
		console.log($(data));
		$tr.html($newRow.html());
		$('.actions input').removeAttr('onclick');
	};
	
	$('a.remote_action').live('click', function(event){
		event.preventDefault();
		var $this = $(this);
		var href = $this.attr('href');
		var $tr = $this.parents('tr:first');
		var data = {};
		function ajaxSuccess(data){
			updateConfigRow(data, $tr);
		};
		data['_remote'] = 1;
		console.log(data);
		$.ajax({
			url: href,
			data: data,
			success: ajaxSuccess
		})
	})
	
	$('input:[orighref]').live('click', function(event){
		event.preventDefault();
		var $this = $(this);
		var href = $this.attr('orighref');
		var $tr = $this.parents('tr:first');
		var id = $tr.data('form').find('[name=id]').val();
		var va = $tr.find('[name]').val();
		var data = {id: id, value: va};
		function ajaxSuccess(data){
			updateConfigRow(data, $tr);
		};
		$.ajax({
			type: 'POST',
			url: href,
			data: data,
			success: ajaxSuccess
		})
	})
	
});

//jQuery(document).ready(function(){
//    JSEditorinit();    
//});

