//TODO: check for autocomplete and include if not found //same for jquery //same for shadow //same for pstrength
addCbRegisterBox = function(GEToptions) {
   var defaultOptions = {
      'useML2Project' : '',
      'logo'          : false,
      'language'      : 'en_EN',
      'community'     : 73,
      'showShadow'    : true,
      'layerColor'    : '#000000',
      'layerFrame'    : true,
      'showButtons'   : true,
      'layerOpacity'  : '0.25',
      'overlayClose'  : false,
      'width'         : 450,
      'height'        : 450
   };
   jQuery.extend(defaultOptions, GEToptions);
   var options = defaultOptions;
   //hook for moving div into right position
   $(window).resize(function(){
      if ($.browser.msie && $.browser.version < 7) {
         $('.__CbReg_frame').css({
            'left': (Math.floor(window.document.documentElement.clientWidth/2-defaultOptions.width / 2) - 10)+'px',
            'top': (Math.floor(window.document.documentElement.clientHeight/2-defaultOptions.height / 2) - 30)+'px'
         });
      } else {
         $('.__CbReg_frame').css({
            'left': (Math.floor(window.innerWidth/2-defaultOptions.width / 2) - 10)+'px',
            'top': (Math.floor(window.innerHeight/2-defaultOptions.height / 2) - 30)+'px'
         });
      }
   });
   //close window on escape
   $(document).keypress(function(key){
      if (key.keyCode == 27) {
         $.deleteCbRegisterBox();
      }
   });
   //the visible elements
   var layer = $('<div class="__CbReg_layer"></div>');
   $(layer).css({
      'width': '100%',
      'height': '100%',
      'background-color': options['layerColor'],
      'position': 'fixed',
      'left': '0px',
      'top': '0px',
      'z-index': '1337',
      'opacity': '0'
   }).click(function(){
      if (options['overlayClose']) {
         $.deleteCbRegisterBox();
      }
   });
   var logo = $('<img src="/module/lib/framework/pics/ks-logo_200x46.gif" alt="" class="__CbReg_logo"/>');
   $(logo).css({
      'position': 'fixed',
      'left': '10px',
      'top': '10px',
      'z-index': '1337',
      'opacity': '0'
   });
   var frame = $('<div class="__CbReg_frame" style="width:'+defaultOptions.width+'px;"></div>');
   if (options['layerFrame']) {
      $(frame).css({
         'border': '2px solid rgb(180, 0, 0)',
         'padding': '35px 20px',
         'width': defaultOptions.width+'px',
         'height': defaultOptions.height+'px',
         'background-color': '#ffffff',
         'position': 'fixed',
         'z-index': '1337',
         'opacity': '0',
         //TODO: Replace when CSS3 is fully supported (FF 3.5)
         'border-radius': '8px',
         '-moz-border-radius': '8px',
         '-opera-border-radius': '8px',
         '-o-border-radius': '8px',
         '-webkit-border-radius': '8px'
      });
      if ($.browser.msie && $.browser.version < 7) {
         $(frame).css({'position':'absolute'});
      }
      if ($.browser.msie) {
         $(frame).css({
            'left': (Math.floor(window.document.documentElement.clientWidth/2-defaultOptions.width / 2) - 10)+'px',
            'top': (Math.floor(window.document.documentElement.clientHeight/2-defaultOptions.height / 2) - 30)+'px'
         });
      } else {
         $(frame).css({
            'left': (Math.floor(window.innerWidth/2-defaultOptions.width / 2) - 10)+'px',
            'top': (Math.floor(window.innerHeight/2-defaultOptions.height / 2) - 30)+'px'
         });
      }
   } else {
      $(frame).css({
         'background-color': '#ffffff',
         'position': 'absolute',
         'z-index': '1337',
         'opacity': '0'
      });
   }
   //opening the window
   $(frame).load('/module/lib/framework/getRegisterWindow.php?community='+options['community'], {
      'useML2Project' : options['useML2Project'],
      'defLanguage'   : options['language']
   },function(){
      $(layer).appendTo('body').fadeTo(500, options['layerOpacity'], function(){
         if ($.browser.msie && $.browser.version < 7) {
            $(layer).css({
               'position':'absolute','left':'0px','top':'0px','height':'100%','width':'100%'
            });
         }
         $(frame).appendTo('body');
         if ((!$.browser.msie || $.browser.version >= 7) && options['showShadow']) {
            addShadow(frame);
         }
         if (defaultOptions['logo'])
            $(logo).appendTo('body').fadeTo(500, '1');
         //$(frame).appendTo('body').fadeTo(500, '1');
         if (!options['showButtons']) {
            $('.__CbRegLangSelect, .__CbRegCloseButton').remove();
         }
         $(frame).fadeTo(500, '1');
         eval($('.__CbReg_evalCallback').html());
      });
   });
   return false;
}
$.deleteCbRegisterBox = function() {
   $('.AC_positioner').remove();
   $('.__CbReg_logo').fadeOut(500,function(){
      $(this).remove();
   });
   $('.__CbReg_frame').fadeOut(500,function(){
      $('.__CbReg_layer').fadeOut(500,function(){
         $(this).remove();
      });
      $(this).remove();
   });
}
