//$(elem).yourfunctionname({dataSource: [], pagingStart: 5});

jQuery.fn.xSplit = function() {
    var args = arguments[0] || {}; // It's your object of arguments

    /*var _rez_arr = this.text().split(args._regEx);
    alert(_rez_arr);*/
    var _regEx = args._regEx;
    var prozess_text = this;

    // Most browsers can do this properly, so let them — they'll do it faster
    if ('a~b'.split(/(~)/).length === 3) { return prozess_text.split(_regEx); }

    if (!_regEx.global)
    { _regEx = new RegExp(_regEx.source, 'g' + (_regEx.ignoreCase ? 'i' : '')); }

    // IE (and any other browser that can't capture the delimiter)
    // will, unfortunately, have to be slowed down
    var start = 0, arr=[];
    var result;
    while((result = _regEx.exec(prozess_text)) != null){
    arr.push(prozess_text.slice(start, result.index));
    if(result.length > 1) arr.push(result[1]);
    start = _regEx.lastIndex;
    }
    if(start < prozess_text.length) arr.push(prozess_text.slice(start));
    if(start == prozess_text.length) arr.push(""); //delim at the end
    return arr;
};


function xSplit_js(_regEx, string_itself) {

    var prozess_text = string_itself;
    // Most browsers can do this properly, so let them — they'll do it faster
    if ('a~b'.split(/(~)/).length === 3) { return prozess_text.split(_regEx); }

    if (!_regEx.global)
    { _regEx = new RegExp(_regEx.source, 'g' + (_regEx.ignoreCase ? 'i' : '')); }

    // IE (and any other browser that can't capture the delimiter)
    // will, unfortunately, have to be slowed down
    var start = 0, arr=[];
    var result;
    while((result = _regEx.exec(prozess_text)) != null){
    arr.push(prozess_text.slice(start, result.index));
    if(result.length > 1) arr.push(result[1]);
    start = _regEx.lastIndex;
    }
    if(start < prozess_text.length) arr.push(prozess_text.slice(start));
    if(start == prozess_text.length) arr.push(""); //delim at the end
    return arr;
};






$(document).ready(function() {
		//alert('Funktioniert!');
		var erschein_speed = 1000;
        var animation_start = 1000;

        //$('#topseller_bild').css('border', '1px solid blue');
        $('#topseller_bild').hide();
        $('#topseller_bild').css('background-image', 'url('+pfad+'/bild_main.jpg)');
        $('#topseller_bild').fadeIn(erschein_speed);

        //$('#topseller_text').css('border', '1px solid green');

         var reg1 = new RegExp('\\[[a-zA-Z0-9]{0,2}\\]');

        var reg2 = new RegExp('[a-zA-Z0-9]{1,2}');

        //var test_string = new String("1-3&2");
        //var test_text = test_string.split(/[0-9]/);
        //alert(test_text);

        var _my_pref = '0';

        // Text
        $('#topseller_text').each(
            function() {
               //var

               //var _test_paragrafs = $(this).text().split(/(\[[0-9]\])/);
               //alert(_test_paragrafs.length);
               //alert(_test_paragrafs[1]);

               var m_test = reg1.test($(this).html());
               //var m_test4 = $(this).text().match(/(\[[0-9]\])(.*\w)/g);

               if(m_test == true)
               {

                    var _pre_paragrafs = xSplit_js(/\[[a-zA-Z0-9]{0,2}\]/, $(this).html());
                    //var _pre_paragrafs = $(this).html().split(/\[[a-zA-Z0-9]{0,2}\]/);

                    /* DEBUG */
                    //alert(_pre_paragrafs[0]);
                    //console.log(_pre_paragrafs[1]);
                    /* DEBUG */

                    // replace das Sondertext (kein unterpunkt)
                    if(_pre_paragrafs[0].length > 2) {
                        _sonder_text = _pre_paragrafs[0];
                        //alert(_sonder_text);
                        _sonder_text = _sonder_text.replace(""+_sonder_text+"","<p class='topseller_text_teil'>"+_sonder_text+"</p>");

                        // alle unterpunkte zusammen
                        var _need_paragrafs = $(this).html().split(_pre_paragrafs[0]);
                        var _all_paragrafs = _need_paragrafs[1];
                        //console.log(_need_paragrafs[1]);
                    } else {
                        var _all_paragrafs = $(this).html();
                        var _sonder_text = '';
                    }
                    //alert(_all_paragrafs);

                    var _array_all_paragrafs = xSplit_js(/(\[[a-zA-Z0-9]{0,2}\])/, _all_paragrafs);

                    //alert(_array_all_paragrafs.length);
                    var _ganze_text = _all_paragrafs;

                    for(i=1; i < _array_all_paragrafs.length; i=i+2) {
                        //if(i<2)alert(_array_all_paragrafs[i]);
                        var _ganze_text = _ganze_text.replace(""+_array_all_paragrafs[i]+_array_all_paragrafs[i+1]+"","<p class='topseller_text_teil'>"+_array_all_paragrafs[i]+_array_all_paragrafs[i+1]+"</p>");
                    }
                    $(this).html(_sonder_text+_ganze_text);

               } else {
                    // nur text und keine unterpunkte
                    var _simple_text = $(this).html().replace(""+$(this).html()+"","<p class='topseller_text_teil'>"+$(this).html()+"</p>");
                    $(this).html(_simple_text);
               }
            }
        );

        // kleine bildchen ersetzen
        if(bilder.length>0) {
            for(k in bilder) {
                var _my_pref_b = '0';
                if(k>9) _my_pref_b = '';
                //alert(k);
                $('#topseller_bild').append('<div class="bild_q_tip klein_bild" rel="'+pfad+'/bilder/'+bilder[k]+'" id="bild_'+ _my_pref_b + k +'">'+ k +'</div>');
                //if(bilder[k]!='') alert($('#topseller_bild #bilder'+_my_pref_b+k).text());
            }
        }

        var _my_pref = '0';

         // Aktion die Nummern in den Texteile
        $('.topseller_text_teil').each(function() {
            var vor;
            var nach;
            var _my_pref = '0';
            vor = $(this).html();
            var m1 = reg1.exec($(this).html());
            //alert(m1);
            if(m1!=null) {
                var m2 = reg2.exec(m1[0]);
                //alert(m2.toString().length);
                if(m2.toString().length>1) _my_pref = '';
                $(this).attr('id', 'text_zu_bild_link_'+_my_pref+m2[0]);
                nach = vor.replace(""+m1[0]+"","<span class='orange_ding_link bild_q_tip' id='nummer_zu_bild_link_"+_my_pref+m2[0]+"' rel='"+pfad+"/bilder/bild_"+_my_pref+m2[0]+".jpg'>"+m1[0]+"</span>");
                $(this).html(nach);
            }
        });


        // Aktion für teile
        $('.topseller_text_teil').bind(
  			'mouseover',
  			function() {
                var _t_array = $(this).attr('id').split('_link_');
                var _my_sel = '#bild_'+_t_array[1];

                $(_my_sel).addClass('leicht_orange').addClass('color_white');
                $(this).addClass('leicht_orange_border');
        }).bind(
  			'mouseout',
  			function() {
                var _t_array = $(this).attr('id').split('_link_');
                //if(_t_array[1]>9) _my_pref = '';
                var _my_sel = '#bild_'+_t_array[1];

                $(_my_sel).removeClass('leicht_orange').removeClass('color_white');
                $(this).removeClass('leicht_orange_border');
        });



        // die Bildchen processing
        $('.klein_bild').each(function(){

        }).bind(
  			'mouseover',
  			function() {
                var _t_array = $(this).attr('id').split('_');
                var _my_sel = '#text_zu_bild_link_'+_t_array[1];
                //var _my_sel = '#nummer_zu_bild_link_'+_t_array[1];
                // klein bild anzeiger ändern
                $(this).addClass('leicht_orange').addClass('color_white');
                // entsprechenden Textteil ändern
                $(_my_sel).addClass('leicht_orange_border');
        }).bind(
  			'mouseout',
  			function() {
                var _t_array = $(this).attr('id').split('_');
                var _my_sel = '#text_zu_bild_link_'+_t_array[1];
                //var _my_sel = '#nummer_zu_bild_link_'+_t_array[1];
                // klein bild anzeiger ändern
                $(this).removeClass('leicht_orange').removeClass('color_white');
                // entsprechenden Textteil ändern
                $(_my_sel).removeClass('leicht_orange_border');
        });

        // wir nutzen hier Tooltip
        $('.bild_q_tip').each(function(){
            //alert($(this).attr('rel'));
            $(this).qtip({
               content: '<img src='+$(this).attr('rel')+'>',
               show: 'mouseover',
               hide: 'mouseout',
               style: {
                  width: '100%',
                  height: '99%',
                  padding: 0,
                  background: '#FA6900',
                  textAlign: 'center',
                  border: {
                     width: 2,
                     radius: 2,
                     color: '#FA6900'
                  },
                  fontSize: '1px'
               },
               position: {
                          corner: {
                             target: 'bottomLeft',
                             tooltip: 'topMiddle'
                          },
                          adjust: {
                             screen: true,
                             scroll: true
                          }
                       }
            })
        });


  });