Changeset 1769

Show
Ignore:
Timestamp:
11/14/2008 01:21:05 PM (8 weeks ago)
Author:
jeena
Message:

test

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/scripts/javascripts.js

    r1731 r1769  
     1// TODO: I'd like to have an extra "js" directory for all JavaScripts 
     2// a theme needs. 
     3 
     4/* 
     5 * Jlogs not minified version of JavaScript 
     6 */ 
     7 
     8function jlog_bbcode(insText, aTag, eTag) { 
     9    if (!insText) { return ''; } 
     10    return aTag + insText + eTag; 
     11} 
     12 
     13function jlog_bbcode_link(insText, aTag, eTag) { 
     14    var url = new RegExp('^(http://|https://|www.|ftp://|news:|mailto:).'); 
     15    var www = new RegExp('^(www.).'); 
     16    var mail = new RegExp('^[^@]+@[^@]+\.[a-zA-Z]+$'); 
     17    var http = new RegExp('^(http://)$'); 
     18    var node, href; 
     19    if((url.test(insText)) || (mail.test(insText))) { 
     20        href = insText; 
     21        if (mail.test(href)) { href = 'mailto:' + insText; } 
     22        if (www.test(href)) { href = 'http://' + href; } 
     23        node = prompt(jlog_l_comments_url_node); 
     24        if((node !== null) && (node !== '')) { insText = '[url=' + href + ']' + node + eTag; } 
     25        else if(node === '') { insText = aTag + href + eTag; } 
     26    } 
     27    else { 
     28        node = insText; 
     29        if(node === '') { node = prompt(jlog_l_comments_url_node, insText); } 
     30        href = prompt(jlog_l_comments_url_href, 'http://'); 
     31        if (http.test(href)) { return insText; } 
     32        if (www.test(href)) { href = 'http://' + href; } 
     33        if(((node !== null) && (node !== '')) && ((href !== null) && (href !== ''))) { 
     34            insText = '[url=' + href + ']' + node + eTag;             
     35        } 
     36        else if((href !== null) && (href !== '')) { insText = aTag + href + eTag; } 
     37    } 
     38    return insText; 
     39} 
     40 
     41 
     42function jlog_bbcode_list(o_insText, aTag, eTag) { 
     43    var insText = o_insText.replace(/(\n|\r|\r\n)(?=(.+))/g, '$1[*]'); 
     44    return '[list]\n[*]' + insText + eTag + '\n'; 
     45} 
     46 
    147function jlog_bbcode_insert(aTag, eTag, completeText) { 
    2   var input = document.forms['entryform'].elements['content']; 
     48  var input = document.forms.entryform.elements.content; 
    349  input.focus(); 
     50  var insText; 
    451  /* fÃŒr Internet Explorer und Opera >= 8 */ 
    552  if(typeof document.selection != 'undefined') { 
    653    /* EinfÃŒgen des Formatierungscodes */ 
    754    var range = document.selection.createRange(); 
    8     var insText = range.text; 
    9     if (aTag == '[url]') range.text = jlog_bbcode_link(insText, aTag, eTag); 
    10     else if(eTag == '[/list]') range.text = jlog_bbcode_list(insText, aTag, eTag); 
    11     else range.text = jlog_bbcode(insText, aTag, eTag); 
     55    insText = range.text; 
     56    if (aTag === '[url]') { range.text = jlog_bbcode_link(insText, aTag, eTag); } 
     57    else if(eTag === '[/list]') { range.text = jlog_bbcode_list(insText, aTag, eTag); } 
     58    else { range.text = jlog_bbcode(insText, aTag, eTag); } 
    1259     
    1360    /* Anpassen der Cursorposition */ 
    1461    range = document.selection.createRange(); 
    15     if (insText.length == 0) { 
     62    if (insText.length === 0) { 
    1663      range.move('character', -eTag.length); 
    1764    } else { 
     
    2673    var start = input.selectionStart; 
    2774    var end = input.selectionEnd; 
    28     var insText = input.value.substring(start, end); 
    29     if(aTag == '[url]') insText = jlog_bbcode_link(insText, aTag, eTag); 
    30     else if(eTag == '[/list]') insText = jlog_bbcode_list(insText, aTag, eTag); 
    31     else insText = jlog_bbcode(insText, aTag, eTag); 
     75    insText = input.value.substring(start, end); 
     76    if(aTag === '[url]') { insText = jlog_bbcode_link(insText, aTag, eTag); } 
     77    else if(eTag === '[/list]') { insText = jlog_bbcode_list(insText, aTag, eTag); } 
     78    else { insText = jlog_bbcode(insText, aTag, eTag); } 
    3279     
    3380     input.value = input.value.substr(0, start) + insText  + input.value.substr(end); 
     
    3582    /* Anpassen der Cursorposition */ 
    3683    var pos; 
    37     if (insText.length == 0) { 
     84    if (insText.length === 0) { 
    3885      pos = start + aTag.length + eTag.length; 
    3986    } else { 
     
    4794  { 
    4895    /* EinfÃŒgen des Formatierungscodes */ 
    49     if(aTag == '[url]') insText = jlog_bbcode_link('', aTag, eTag); 
    50     else if(eTag == '[/list]') insText = jlog_bbcode_list('', aTag, eTag); 
    51     else insText = jlog_bbcode(prompt(jlog_l_comments_plz_format_txt), aTag, eTag); 
     96    if(aTag === '[url]') { insText = jlog_bbcode_link('', aTag, eTag); } 
     97    else if(eTag === '[/list]') { insText = jlog_bbcode_list('', aTag, eTag); } 
     98    else { insText = jlog_bbcode(prompt(jlog_l_comments_plz_format_txt), aTag, eTag); } 
    5299    input.value += insText; 
    53100  } 
    54 } 
    55  
    56 function jlog_bbcode(insText, aTag, eTag) { 
    57     if (!insText) return ''; 
    58     return aTag + insText + eTag; 
    59 } 
    60  
    61 function jlog_bbcode_link(insText, aTag, eTag) { 
    62     var url = new RegExp('^(http://|https://|www.|ftp://|news:|mailto:).'); 
    63     var www = new RegExp('^(www.).'); 
    64     var mail= new RegExp('^[^@]+@[^@]+\.[a-zA-Z]+$'); 
    65     var http= new RegExp('^(http://)$'); 
    66     if((url.test(insText)) || (mail.test(insText))) { 
    67         var href = insText; 
    68         if (mail.test(href)) href = 'mailto:' + insText; 
    69         if (www.test(href)) href = 'http://' + href; 
    70         var node = prompt(jlog_l_comments_url_node); 
    71         if((node != null) && (node != '')) insText = '[url=' + href + ']' + node + eTag; 
    72         else if(node == '') insText = aTag + href + eTag; 
    73     } 
    74     else { 
    75         var node = insText; 
    76         if(node == '') node = prompt(jlog_l_comments_url_node, insText); 
    77         var href = prompt(jlog_l_comments_url_href, 'http://'); 
    78         if (http.test(href)) return insText; 
    79         if (www.test(href)) href = 'http://' + href; 
    80         if(((node != null) && (node != '')) && ((href != null) && (href != ''))) 
    81          insText = '[url=' + href + ']' + node + eTag; 
    82         else if((href != null) && (href != '')) insText = aTag + href + eTag; 
    83     } 
    84     return insText; 
    85 } 
    86  
    87 function jlog_bbcode_list(o_insText, aTag, eTag) { 
    88     insText = o_insText.replace(/(\n|\r|\r\n)(?=(.+))/g, '$1[*]'); 
    89     return '[list]\n[*]' + insText + eTag + '\n'; 
    90101} 
    91102 
     
    93104    var jclass = ''; 
    94105    var jalt = ''; 
    95     if ( document.getElementById("class").value != '') { 
     106    if ( document.getElementById("class").value !== '') { 
    96107        jclass = ' class=\"' + document.getElementById("class").value + '\"'; 
    97108    } 
    98     if ( document.getElementById("alt").value != '') { 
     109    if ( document.getElementById("alt").value !== '') { 
    99110        jalt = ' alt=\"' + document.getElementById("alt").value + '\"'; 
    100111    } 
     
    107118function jlog_insertAtCursor(insText) { 
    108119  //IE and Opera support 
    109   var field = document.forms['entryform'].elements['content']; 
     120  var field = document.forms.entryform.elements.content; 
    110121  if (document.selection) { 
    111122    field.focus(); 
    112     sel = document.selection.createRange(); 
     123    var sel = document.selection.createRange(); 
    113124    sel.text = insText; 
    114125  } 
     
    117128    var startPos = field.selectionStart; 
    118129    var endPos = field.selectionEnd; 
    119     field.value = field.value.substring(0, startPos) 
    120                   + insText 
    121                   + field.value.substring(endPos, field.value.length); 
     130    field.value = field.value.substring(0, startPos) + insText + field.value.substring(endPos, field.value.length); 
    122131  } else { 
    123132    field.value += insText; 
    124133  } 
    125134} 
     135 
     136var show = true; 
    126137 
    127138function jlog_killcomments() { 
     
    134145        document.getElementById("hidecomments").firstChild.nodeValue = jlog_l_comments_show; 
    135146        show=false; 
    136         if(pingbacks_header) pingbacks_header.style.display = "none"; 
    137         if(pingbacks_list) pingbackslist.style.display = "none"; 
     147        if(pingbacks_header) { pingbacks_header.style.display = "none"; } 
     148        if(pingbacks_list) { pingbacks_list.style.display = "none"; } 
    138149        document.getElementById("comments").style.display = "none"; 
    139150        document.getElementById("entryform").style.display = "none"; 
    140         if(commentslist) commentslist.style.display = "none"; 
     151        if(commentslist) { commentslist.style.display = "none"; } 
    141152    } 
    142153    else { 
    143154        document.getElementById("hidecomments").firstChild.nodeValue = jlog_l_comments_hide; 
    144155        show=true; 
    145         if(pingbacks_header) pingbacks_header.style.display = "block"; 
    146         if(pingbacks_list) pingbackslist.style.display = "block"; 
     156        if(pingbacks_header) { pingbacks_header.style.display = "block"; } 
     157        if(pingbacks_list) { pingbacks_list.style.display = "block"; } 
    147158        document.getElementById("comments").style.display = "block"; 
    148159        document.getElementById("entryform").style.display = "block"; 
    149         if(commentslist) commentslist.style.display = "block"; 
    150     } 
    151 } 
     160        if(commentslist) { commentslist.style.display = "block"; } 
     161    } 
     162} 
     163 
     164var jlog_bbcode_br; 
    152165 
    153166function jlog_bbcode_do_button(titel, aTag, eTag) { 
    154167    var button = document.createElement("input"); 
    155     button.onclick = function() { jlog_bbcode_insert(aTag, eTag); return false; } 
     168    button.onclick = function() { 
     169        jlog_bbcode_insert(aTag, eTag); 
     170        return false; 
     171    }; 
    156172    button.className = "jlog_bbcode"; 
    157173    button.type = "button"; 
    158174    button.value = titel; 
    159175    jlog_bbcode_br.parentNode.insertBefore(button, jlog_bbcode_br); 
    160 } 
    161  
    162 var jlog_bbcode_br; 
    163  
    164 function jlog_init() { 
    165     if(document.getElementById("pingbacks")) var jlog_comments = document.getElementById("pingbacks"); 
    166     else var jlog_comments = document.getElementById("comments"); 
    167     if (jlog_comments) { 
    168         show = true; 
    169         if (!document.getElementById || !document.createElement || !document.createTextNode) return; 
    170         var p = document.createElement("p"); 
    171         p.className = "hidecomments"; 
    172         var a = document.createElement("a"); 
    173         a.id = "hidecomments"; 
    174         a.href = "javascript:jlog_killcomments()"; 
    175         var text = document.createTextNode(jlog_l_comments_hide); 
    176         a.appendChild(text); 
    177         p.appendChild(a); 
    178         if (jlog_comments.insertBefore) { 
    179             jlog_comments.parentNode.insertBefore(p, jlog_comments); 
    180         } 
    181     } 
    182  
    183     jlog_bbcode_br = document.getElementById("bbcode"); 
    184     if(jlog_bbcode_br || (typeof(jlog_admin) != "undefined")) { 
    185      
    186         if (jlog_bbcode_br.insertBefore) { 
    187             jlog_bbcode_do_button(jlog_l_comments_url, '[url]', '[/url]'); 
    188             jlog_bbcode_do_button(jlog_l_comments_bold, '[b]', '[/b]'); 
    189             jlog_bbcode_do_button(jlog_l_comments_italic, '[i]', '[/i]'); 
    190             jlog_bbcode_do_button(jlog_l_comments_quote, '[quote]', '[/quote]'); 
    191             if (jlog_comments) jlog_bbcode_br.parentNode.getElementsByTagName("span")[0].style.display = "none"; 
    192         } 
    193  
    194         if (typeof(jlog_admin) != "undefined") { 
    195             document.getElementById("jlogteaserpic").style.display = "block"; 
    196             if (jlog_bbcode_br.insertBefore) { 
    197                 jlog_bbcode_do_button(jlog_l_headline, '[headline]', '[/headline]'); 
    198                 jlog_bbcode_do_button(jlog_l_list, '[list][*]', '[/list]'); 
    199             } 
    200         } 
    201     } 
    202      
    203     if(typeof(jlog_searchpage) === "undefined") jlog_searchengineSearchHighlight(); 
    204 } 
    205  
    206 function addLoadEvent(func) { 
    207   var oldonload = window.onload; 
    208   if (typeof window.onload != 'function') { 
    209     window.onload = func; 
    210   } else { 
    211     window.onload = function() { 
    212       oldonload(); 
    213       func(); 
    214     } 
    215   } 
    216 } 
    217  
    218 addLoadEvent(jlog_init); 
    219 addLoadEvent( function() { 
    220         if(document.getElementById("password")) 
    221                 document.getElementById("password").focus() 
    222 }); 
    223  
    224 var winpops; 
    225  
    226 /* Open popup to learn BBCode for comments */ 
    227 function jlog_learnbb(path) { 
    228  var popurl = path + '/learn_bb.php?v=small'; 
    229  winpops=window.open(popurl,'','width=400,height=300,scrollbars=yes'); 
    230 } 
    231  
    232 /* Open popup to upload pictures in admincenter */ 
    233 function jlog_wopen(popurl) { 
    234  winpops=window.open(popurl,'','width=350,height=350,scrollbars=yes'); 
    235176} 
    236177 
     
    269210 
    270211function jlog_searchengineSearchHighlight() { 
    271     if (!document.createElement) return; 
     212    if (!document.createElement) { return; } 
    272213    var ref = document.referrer; 
    273     if (ref.indexOf('?') == -1) return; 
     214    if (ref.indexOf('?') == -1) { return; } 
    274215    var qs = ref.substr(ref.indexOf('?')+1); 
    275216    var qsa = qs.split('&'); 
    276     for (i=0;i<qsa.length;i++) { 
     217    for (var i=0;i<qsa.length;i++) { 
    277218        var qsip = qsa[i].split('='); 
    278         if (qsip.length == 1) continue; 
     219        if (qsip.length == 1) { continue; } 
    279220        if (qsip[0] == 'q' || qsip[0] == 'p' ) { // q= for Google, p= for Yahoo 
    280221            var words = unescape(qsip[1].replace(/\+/g,' ')).split(/\s+/); 
     
    286227} 
    287228 
     229function jlog_init() { 
     230    var jlog_comments; 
     231    if(document.getElementById("pingbacks")) { jlog_comments = document.getElementById("pingbacks"); } 
     232    else { jlog_comments = document.getElementById("comments"); } 
     233    if (jlog_comments) { 
     234        if (!document.getElementById || !document.createElement || !document.createTextNode) { return; } 
     235        var p = document.createElement("p"); 
     236        p.className = "hidecomments"; 
     237        var a = document.createElement("a"); 
     238        a.id = "hidecomments"; 
     239        a.href = "#"; 
     240        a.onclick = function() {jlog_killcomments(); return false; }; 
     241        var text = document.createTextNode(jlog_l_comments_hide); 
     242        a.appendChild(text); 
     243        p.appendChild(a); 
     244        if (jlog_comments.insertBefore) { 
     245            jlog_comments.parentNode.insertBefore(p, jlog_comments); 
     246        } 
     247    } 
     248 
     249    jlog_bbcode_br = document.getElementById("bbcode"); 
     250    if(jlog_bbcode_br || (typeof(jlog_admin) !== "undefined")) { 
     251     
     252        if (jlog_bbcode_br.insertBefore) { 
     253            jlog_bbcode_do_button(jlog_l_comments_url, '[url]', '[/url]'); 
     254            jlog_bbcode_do_button(jlog_l_comments_bold, '[b]', '[/b]'); 
     255            jlog_bbcode_do_button(jlog_l_comments_italic, '[i]', '[/i]'); 
     256            jlog_bbcode_do_button(jlog_l_comments_quote, '[quote]', '[/quote]'); 
     257            if (jlog_comments) { jlog_bbcode_br.parentNode.getElementsByTagName("span")[0].style.display = "none"; } 
     258        } 
     259 
     260        if (typeof(jlog_admin) !== "undefined") { 
     261            document.getElementById("jlogteaserpic").style.display = "block"; 
     262            if (jlog_bbcode_br.insertBefore) { 
     263                jlog_bbcode_do_button(jlog_l_headline, '[headline]', '[/headline]'); 
     264                jlog_bbcode_do_button(jlog_l_list, '[list][*]', '[/list]'); 
     265            } 
     266        } 
     267    } 
     268     
     269    if(typeof(jlog_searchpage) === "undefined") { jlog_searchengineSearchHighlight(); } 
     270} 
     271 
     272function addLoadEvent(func) { 
     273  var oldonload = window.onload; 
     274  if (typeof window.onload !== 'function') { 
     275    window.onload = func; 
     276  } else { 
     277    window.onload = function() { 
     278      oldonload(); 
     279      func(); 
     280    }; 
     281  } 
     282} 
     283 
     284addLoadEvent(jlog_init); 
     285addLoadEvent( function() { 
     286        if(document.getElementById("password")) { 
     287                document.getElementById("password").focus(); 
     288        } 
     289}); 
     290 
     291var winpops; 
     292 
     293/* Open popup to learn BBCode for comments */ 
     294function jlog_learnbb(path) { 
     295 var popurl = path + '/learn_bb.php?v=small'; 
     296 winpops=window.open(popurl,'','width=400,height=300,scrollbars=yes'); 
     297} 
     298 
     299/* Open popup to upload pictures in admincenter */ 
     300function jlog_wopen(popurl) { 
     301 winpops=window.open(popurl,'','width=350,height=350,scrollbars=yes'); 
     302} 
     303 
    288304function jlog_generate_url(topic, destination) { 
    289305 
    290     if ( typeof( destination ) == 'string' )  destination = document.getElementById( destination ); 
    291     if ( destination.value != '' ) return false; 
     306    if ( typeof( destination ) == 'string' ) { destination = document.getElementById( destination ); } 
     307    if ( destination.value !== '' ) { return false; } 
    292308 
    293309    var url = topic.toLowerCase(); 
     
    297313    while(url.search(/ß/) != -1) { url = url.replace(/ß/, "ss"); } 
    298314    while(url.search(/ /) != -1) { url = url.replace(/ /, "-"); } 
    299     while(url.search(/[^a-z0-9.,_/-]/) != -1) { url = url.replace(/[^a-z0-9.,_/-]/, ""); } 
     315    while(url.search(/[^a-z0-9.,_\/-]/) != -1) { url = url.replace(/[^a-z0-9.,_/-]/, ""); } 
    300316 
    301317    destination.value = url; 
     
    306322    function() { 
    307323        var topic = document.getElementById('topic') 
    308         if ( topic ) 
     324        if ( topic ) { 
    309325            topic.onchange = function() { jlog_generate_url( this.value, 'url' ); } 
     326        } 
    310327 
    311328        var namefield = document.getElementById('name'); 
    312         if( !document.getElementById('url') || !namefield ) return 
     329        if( !document.getElementById('url') || !namefield ) { return; } 
    313330        else namefield.onchange = function() { jlog_generate_url( this.value, 'url' ); } 
    314331    }