Changeset 2224 in subversion


Ignore:
Timestamp:
Jan 8, 2009 4:02:21 PM (4 years ago)
Author:
thomasb
Message:

Start jQuerifying the client scripts

Location:
branches/devel-api/program
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/devel-api/program/include/rcube_html_page.php

    r1347 r2224  
    3232    protected $charset = 'UTF-8'; 
    3333 
    34     protected $script_tag_file = "<script type=\"text/javascript\" src=\"%s%s\"></script>\n"; 
     34    protected $script_tag_file = "<script type=\"text/javascript\" src=\"%s\"></script>\n"; 
    3535    protected $script_tag      = "<script type=\"text/javascript\">\n<!--\n%s\n\n//-->\n</script>\n"; 
    3636    protected $default_template = "<html>\n<head><title></title></head>\n<body></body>\n</html>"; 
     
    5454    { 
    5555        static $sa_files = array(); 
     56         
     57        if (!ereg('^https?://', $file) && $file[0] != '/') 
     58          $file = $this->scripts_path . $file; 
    5659 
    5760        if (in_array($file, $sa_files)) { 
     
    166169        if (is_array($this->script_files['head'])) { 
    167170            foreach ($this->script_files['head'] as $file) { 
    168                 $__page_header .= sprintf($this->script_tag_file, $this->scripts_path, $file); 
     171                $__page_header .= sprintf($this->script_tag_file, $file); 
    169172            } 
    170173        } 
     
    181184        if (is_array($this->script_files['foot'])) { 
    182185            foreach ($this->script_files['foot'] as $file) { 
    183                 $__page_footer .= sprintf($this->script_tag_file, $this->scripts_path, $file); 
     186                $__page_footer .= sprintf($this->script_tag_file, $file); 
    184187            } 
    185188        } 
  • branches/devel-api/program/include/rcube_template.php

    r2110 r2224  
    7272        $this->add_script($javascript_foot, 'foot'); 
    7373        $this->scripts_path = 'program/js/'; 
     74        $this->include_script('http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js'); 
    7475        $this->include_script('common.js'); 
    7576        $this->include_script('app.js'); 
  • branches/devel-api/program/js/app.js

    r2204 r2224  
    198198            this.env.spellcheck.spelling_state_observer = function(s){ ref.set_spellcheck_state(s); }; 
    199199            this.set_spellcheck_state('ready'); 
    200             if (rcube_find_object('_is_html').value == '1') 
     200            if ($("input[name='_is_html']").val() == '1') 
    201201              this.display_spellcheck_controls(false); 
    202202            } 
     
    318318 
    319319      case 'login': 
    320         var input_user = rcube_find_object('rcmloginuser'); 
    321         var input_pass = rcube_find_object('rcmloginpwd'); 
    322         var input_tz = rcube_find_object('rcmlogintz'); 
    323  
    324         if (input_user) 
    325           input_user.onkeyup = function(e){ return rcmail.login_user_keyup(e); }; 
    326         if (input_user && input_user.value=='') 
     320        var input_user = $('#rcmloginuser'); 
     321        input_user.bind('keypress', function(e){ return rcmail.login_user_keyup(e); }); 
     322         
     323        if (input_user.val() == '') 
    327324          input_user.focus(); 
    328         else if (input_pass) 
    329           input_pass.focus(); 
     325        else 
     326          $('#rcmloginpwd').focus(); 
    330327 
    331328        // detect client timezone 
    332         if (input_tz) 
    333           input_tz.value = new Date().getTimezoneOffset() / -60; 
     329        $('#rcmlogintz').val(new Date().getTimezoneOffset() / -60); 
    334330 
    335331        this.enable_command('login', true); 
     
    419415     
    420416    //this.messageform = this.gui_objects.messageform; 
    421     var input_from = rcube_find_object('_from'); 
    422     var input_to = rcube_find_object('_to'); 
    423     var input_cc = rcube_find_object('_cc'); 
    424     var input_bcc = rcube_find_object('_bcc'); 
    425     var input_replyto = rcube_find_object('_replyto'); 
    426     var input_subject = rcube_find_object('_subject'); 
    427     var input_message = rcube_find_object('_message'); 
    428     var draftid = rcube_find_object('_draft_saveid'); 
     417    var input_from = $("[name='_from']"); 
     418    var input_to = $("[name='_to']"); 
     419    var input_subject = $("input[name='_subject']"); 
    429420 
    430421    // init live search events 
    431     if (input_to) 
    432       this.init_address_input_events(input_to); 
    433     if (input_cc) 
    434       this.init_address_input_events(input_cc); 
    435     if (input_bcc) 
    436       this.init_address_input_events(input_bcc); 
     422    this.init_address_input_events(input_to); 
     423    this.init_address_input_events($("[name='_cc']")); 
     424    this.init_address_input_events($("[name='_bcc']")); 
    437425 
    438426    // add signature according to selected identity 
    439     if (input_from && input_from.type=='select-one' && (!draftid || draftid.value=='') 
    440         // if we have HTML editor, signature is added in callback 
    441         && rcube_find_object('_is_html').value != '1') 
    442       { 
    443       this.change_identity(input_from); 
    444       } 
    445  
    446     if (input_to && input_to.value=='') 
     427    if (input_from.attr('type') == 'select-one' && $("input[name='_draft_saveid']").val() == '' 
     428        && $("input[name='_is_html']").val() != '1') {  // if we have HTML editor, signature is added in callback 
     429      this.change_identity(input_from[0]); 
     430    } 
     431 
     432    if (input_to.val() == '') 
    447433      input_to.focus(); 
    448     else if (input_subject && input_subject.value=='') 
     434    else if (input_subject.val() == '') 
    449435      input_subject.focus(); 
    450436    else if (input_message) 
    451       this.set_caret2start(input_message); 
     437      this.set_caret2start($("[name='_message']").get(0)); 
    452438 
    453439    // get summary of all field values 
     
    461447    { 
    462448    var handler = function(e){ return ref.ksearch_keypress(e,this); }; 
    463      
    464     if (obj.addEventListener) 
    465       obj.addEventListener(bw.safari ? 'keydown' : 'keypress', handler, false); 
    466     else 
    467       obj.onkeydown = handler; 
    468  
    469     obj.setAttribute('autocomplete', 'off'); 
     449    obj.bind((bw.safari ? 'keydown' : 'keypress'), handler); 
     450    obj.attr('autocomplete', 'off'); 
    470451    }; 
    471452 
     
    659640        if (this.gui_objects.editform) 
    660641          { 
    661           var input_pagesize = rcube_find_object('_pagesize'); 
    662           var input_name  = rcube_find_object('_name'); 
    663           var input_email = rcube_find_object('_email'); 
     642          var input_pagesize = $("input[name='_pagesize']"); 
     643          var input_name  = $("input[name='_name']"); 
     644          var input_email = $("input[name='_email']"); 
    664645 
    665646          // user prefs 
    666           if (input_pagesize && isNaN(parseInt(input_pagesize.value))) 
     647          if (input_pagesize.length && isNaN(parseInt(input_pagesize.val()))) 
    667648            { 
    668649            alert(this.get_label('nopagesizewarning')); 
     
    673654          else 
    674655            { 
    675             if (input_name && input_name.value == '') 
     656            if (input_name.length && input_name.val() == '') 
    676657              { 
    677658              alert(this.get_label('nonamewarning')); 
     
    679660              break; 
    680661              } 
    681             else if (input_email && !rcube_check_email(input_email.value)) 
     662            else if (input_email.length && !rcube_check_email(input_email.val())) 
    682663              { 
    683664              alert(this.get_label('noemailwarning')); 
     
    11931174      { 
    11941175      var li, pos, list, height; 
    1195       list = rcube_find_object(this.task == 'mail' ? 'mailboxlist' : 'directorylist'); 
    1196       pos = rcube_get_object_pos(list); 
    1197       this.env.folderlist_coords = {x1:pos.x, y1:pos.y, x2:pos.x + list.offsetWidth, y2:pos.y + list.offsetHeight}; 
     1176      list = $((this.task == 'mail' ? '#mailboxlist' : '#directorylist')); 
     1177      pos = list.offset(); 
     1178      this.env.folderlist_coords = { x1:pos.left, y1:pos.top, x2:pos.left + list.width(), y2:pos.top + list.height() }; 
    11981179 
    11991180      this.env.folder_coords = new Array(); 
    12001181      for (var k in model) { 
    1201         if (li = this.get_folder_li(k)) 
    1202           { 
    1203           pos = rcube_get_object_pos(li.firstChild); 
    1204           // only visible folders 
    1205           if (height = li.firstChild.offsetHeight) 
    1206             this.env.folder_coords[k] = {x1:pos.x, y1:pos.y, x2:pos.x + li.firstChild.offsetWidth, y2:pos.y + height}; 
    1207           } 
    1208         } 
    1209       } 
     1182        if (li = this.get_folder_li(k)) { 
     1183          pos = $(li.firstChild).offset(); 
     1184          // only visible folders 
     1185          if (height = li.firstChild.offsetHeight) 
     1186            this.env.folder_coords[k] = { x1:pos.left, y1:pos.top, x2:pos.left + li.firstChild.offsetWidth, y2:pos.top + height }; 
     1187        } 
     1188      } 
     1189    } 
    12101190  }; 
    12111191 
    12121192  this.drag_move = function(e) 
    1213     { 
    1214     if (this.gui_objects.folderlist && this.env.folder_coords) 
    1215       { 
     1193  { 
     1194    if (this.gui_objects.folderlist && this.env.folder_coords) { 
    12161195      var li, pos, mouse; 
    12171196      mouse = rcube_event.get_mouse_pos(e); 
     
    12191198 
    12201199      // if mouse pointer is outside of folderlist 
    1221       if (mouse.x < pos.x1 || mouse.x >= pos.x2  
    1222             || mouse.y < pos.y1 || mouse.y >= pos.y2) 
    1223         { 
    1224         if (this.env.last_folder_target) { 
    1225           this.set_classname(this.get_folder_li(this.env.last_folder_target), 'droptarget', false); 
     1200      if (mouse.x < pos.x1 || mouse.x >= pos.x2 || mouse.y < pos.y1 || mouse.y >= pos.y2) { 
     1201        if (this.env.last_folder_target) { 
     1202          this.set_classname(this.get_folder_li(this.env.last_folder_target), 'droptarget', false); 
    12261203          this.env.last_folder_target = null; 
    1227           } 
    1228         return; 
    1229         } 
     1204        } 
     1205        return; 
     1206      } 
    12301207 
    12311208      // over the folders 
    1232       for (var k in this.env.folder_coords) 
    1233         { 
    1234         pos = this.env.folder_coords[k]; 
    1235         if (this.check_droptarget(k) && ((mouse.x >= pos.x1) && (mouse.x < pos.x2)  
    1236             && (mouse.y >= pos.y1) && (mouse.y < pos.y2))) 
    1237           { 
     1209      for (var k in this.env.folder_coords) { 
     1210        pos = this.env.folder_coords[k]; 
     1211        if (this.check_droptarget(k) && ((mouse.x >= pos.x1) && (mouse.x < pos.x2)  
     1212            && (mouse.y >= pos.y1) && (mouse.y < pos.y2))) { 
    12381213          this.set_classname(this.get_folder_li(k), 'droptarget', true); 
    1239           this.env.last_folder_target = k; 
    1240           } 
    1241         else 
    1242           this.set_classname(this.get_folder_li(k), 'droptarget', false); 
    1243         } 
    1244       } 
    1245     }; 
     1214          this.env.last_folder_target = k; 
     1215        } 
     1216        else 
     1217          this.set_classname(this.get_folder_li(k), 'droptarget', false); 
     1218      } 
     1219    } 
     1220  }; 
    12461221   
    12471222  this.collapse_folder = function(id) 
     
    14101385        { 
    14111386        this.set_message(id, 'unread', false); 
    1412         if (this.env.unread_counts[this.env.mailbox]) 
    1413           { 
    1414           this.env.unread_counts[this.env.mailbox] -= 1; 
    1415           this.set_unread_count(this.env.mailbox, this.env.unread_counts[this.env.mailbox], this.env.mailbox == 'INBOX'); 
    1416           } 
    1417         } 
     1387        if (this.env.unread_counts[this.env.mailbox]) 
     1388          { 
     1389          this.env.unread_counts[this.env.mailbox] -= 1; 
     1390          this.set_unread_count(this.env.mailbox, this.env.unread_counts[this.env.mailbox], this.env.mailbox == 'INBOX'); 
     1391          } 
     1392        } 
    14181393      } 
    14191394    }; 
     
    14221397    { 
    14231398    var frm; 
    1424     if (this.env.contentframe && (frm = rcube_find_object(this.env.contentframe))) 
     1399    if (this.env.contentframe && (frm = $('#'+this.env.contentframe)) && frm.length) 
    14251400      { 
    14261401      if (!show && window.frames[this.env.contentframe]) 
     
    14301405        } 
    14311406      else if (!bw.safari) 
    1432         frm.style.display = show ? 'block' : 'none'; 
     1407        frm[show ? 'show' : 'hide'](); 
    14331408      } 
    14341409       
     
    19851960  { 
    19861961    var key = rcube_event.get_keycode(e); 
    1987     var elm; 
     1962    var passwd = $('#rcmloginpwd'); 
    19881963 
    19891964    // enter 
    1990     if ((key==13) && (elm = rcube_find_object('_pass'))) 
    1991     { 
    1992       elm.focus(); 
    1993       return false; 
     1965    if (key == 13 && passwd.length && !passwd.val()) { 
     1966      passwd.focus(); 
     1967      return rcube_event.cancel(e); 
    19941968    } 
     1969     
     1970    return true; 
    19951971  }; 
    19961972 
     
    20041980    { 
    20051981    // check input fields 
    2006     var input_to = rcube_find_object('_to'); 
    2007     var input_cc = rcube_find_object('_cc'); 
    2008     var input_bcc = rcube_find_object('_bcc'); 
    2009     var input_from = rcube_find_object('_from'); 
    2010     var input_subject = rcube_find_object('_subject'); 
    2011     var input_message = rcube_find_object('_message'); 
     1982    var input_to = $("[name='_to']"); 
     1983    var input_cc = $("[name='_cc']"); 
     1984    var input_bcc = $("[name='_bcc']"); 
     1985    var input_from = $("[name='_from']"); 
     1986    var input_subject = $("[name='_subject']"); 
     1987    var input_message = $("[name='_message']"); 
    20121988 
    20131989    // check sender (if have no identities) 
    2014     if (input_from.type == 'text' && !rcube_check_email(input_from.value, true)) 
     1990    if (input_from.attr('type') == 'text' && !rcube_check_email(input_from.val(), true)) 
    20151991      { 
    20161992      alert(this.get_label('nosenderwarning')); 
     
    20201996 
    20211997    // check for empty recipient 
    2022     var recipients = input_to.value ? input_to.value : (input_cc.value ? input_cc.value : input_bcc.value); 
     1998    var recipients = input_to.val() ? input_to.val() : (input_cc.val() ? input_cc.val() : input_bcc.val()); 
    20231999    if (!rcube_check_email(recipients.replace(/^\s+/, '').replace(/[\s,;]+$/, ''), true)) 
    20242000      { 
     
    20292005 
    20302006    // display localized warning for missing subject 
    2031     if (input_subject && input_subject.value == '') 
     2007    if (input_subject.val() == '') 
    20322008      { 
    20332009      var subject = prompt(this.get_label('nosubjectwarning'), this.get_label('nosubject')); 
     
    20412017      else 
    20422018        { 
    2043         input_subject.value = subject ? subject : this.get_label('nosubject');             
     2019        input_subject.val((subject ? subject : this.get_label('nosubject'))); 
    20442020        } 
    20452021      } 
    20462022 
    20472023    // check for empty body 
    2048     if ((!window.tinyMCE || !tinyMCE.get('compose-body')) && input_message.value == '' && !confirm(this.get_label('nobodywarning'))) 
     2024    if ((!window.tinyMCE || !tinyMCE.get('compose-body')) && input_message.val() == '' && !confirm(this.get_label('nobodywarning'))) 
    20492025      { 
    20502026      input_message.focus(); 
     
    20912067  this.set_draft_id = function(id) 
    20922068    { 
    2093     var f; 
    2094     if (f = rcube_find_object('_draft_saveid')) 
    2095       f.value = id; 
     2069    $("input[name='_draft_saveid']").val(id); 
    20962070    }; 
    20972071 
     
    21082082    { 
    21092083    // check input fields 
    2110     var input_to = rcube_find_object('_to'); 
    2111     var input_cc = rcube_find_object('_cc'); 
    2112     var input_bcc = rcube_find_object('_bcc'); 
    2113     var input_subject = rcube_find_object('_subject'); 
    2114     var editor, input_message; 
     2084    var value_to = $("[name='_to']").val(); 
     2085    var value_cc = $("[name='_cc']").val(); 
     2086    var value_bcc = $("[name='_bcc']").val(); 
     2087    var value_subject = $("[name='_subject']").val(); 
    21152088    var str = ''; 
    21162089     
    2117     if (input_to && input_to.value) 
    2118       str += input_to.value+':'; 
    2119     if (input_cc && input_cc.value) 
    2120       str += input_cc.value+':'; 
    2121     if (input_bcc && input_bcc.value) 
    2122       str += input_bcc.value+':'; 
    2123     if (input_subject && input_subject.value) 
    2124       str += input_subject.value+':'; 
    2125      
    2126     if (editor = tinyMCE.get('compose-body')) 
     2090    if (value_to) 
     2091      str += value_to+':'; 
     2092    if (value_cc) 
     2093      str += value_cc+':'; 
     2094    if (value_bcc) 
     2095      str += value_bcc+':'; 
     2096    if (value_subject) 
     2097      str += value_subject+':'; 
     2098     
     2099    var editor = tinyMCE.get('compose-body'); 
     2100    if (editor) 
    21272101      str += editor.getContent(); 
    21282102    else 
    2129       { 
    2130       input_message = rcube_find_object('_message'); 
    2131       str += input_message.value; 
    2132       } 
     2103      str += $("[name='_message']").val(); 
    21332104     
    21342105    if (save) 
     
    21442115 
    21452116    var id = obj.options[obj.selectedIndex].value; 
    2146     var input_message = rcube_find_object('_message'); 
    2147     var message = input_message ? input_message.value : ''; 
    2148     var is_html = (rcube_find_object('_is_html').value == '1'); 
     2117    var input_message = $("[name='_message']"); 
     2118    var message = input_message.val(); 
     2119    var is_html = ($("input[name='_is_html']").val() == '1'); 
    21492120    var sig, p; 
    21502121 
     
    21602131          sig = this.env.signatures[this.env.identity]['plain_text']; 
    21612132        else 
    2162           sig = this.env.signatures[this.env.identity]['text']; 
     2133          sig = this.env.signatures[this.env.identity]['text']; 
    21632134         
    2164         if (sig.indexOf('-- ')!=0) 
     2135        if (sig.indexOf('-- ')!=0) 
    21652136          sig = '-- \n'+sig; 
    21662137 
     
    21932164        // Append the signature as a div within the body 
    21942165        var sigElem = editor.dom.get('_rc_sig'); 
    2195         var newsig = ''; 
    2196         var htmlsig = true; 
     2166        var newsig = ''; 
     2167        var htmlsig = true; 
    21972168 
    21982169        if (!sigElem) 
    21992170          { 
    2200           // add empty line before signature on IE 
    2201           if (bw.ie) 
     2171          // add empty line before signature on IE 
     2172          if (bw.ie) 
    22022173            editor.getBody().appendChild(editor.getDoc().createElement('br')); 
    22032174 
    2204           sigElem = editor.getDoc().createElement('div'); 
     2175          sigElem = editor.getDoc().createElement('div'); 
    22052176          sigElem.setAttribute('id', '_rc_sig'); 
    22062177          editor.getBody().appendChild(sigElem); 
    22072178          } 
    22082179 
    2209         if (this.env.signatures[id]) 
    2210           { 
    2211           newsig = this.env.signatures[id]['text']; 
    2212           htmlsig = this.env.signatures[id]['is_html']; 
    2213           } 
     2180        if (this.env.signatures[id]) 
     2181        { 
     2182          newsig = this.env.signatures[id]['text']; 
     2183          htmlsig = this.env.signatures[id]['is_html']; 
     2184        } 
    22142185 
    22152186        if (htmlsig) 
     
    22202191      } 
    22212192 
    2222     if (input_message) 
    2223       input_message.value = message; 
     2193    input_message.val(message); 
    22242194 
    22252195    this.env.identity = id; 
     
    22352205    if (elm = this.gui_objects.uploadbox) 
    22362206      { 
    2237       if (a &&  (list = this.gui_objects.attachmentlist)) 
    2238         { 
    2239         var pos = rcube_get_object_pos(list); 
    2240         var left = pos.x; 
    2241         var top = pos.y + list.offsetHeight + 10; 
    2242        
    2243         elm.style.top = top+'px'; 
    2244         elm.style.left = left+'px'; 
     2207      if (a && (list = this.gui_objects.attachmentlist)) 
     2208        { 
     2209        var pos = $(list).offset(); 
     2210        elm.style.top = (pos.top + list.offsetHeight + 10) + 'px'; 
     2211        elm.style.left = pos.left + 'px'; 
    22452212        } 
    22462213       
     
    22492216       
    22502217    // clear upload form 
    2251         try { 
     2218    try { 
    22522219      if (!a && this.gui_objects.attachmentform != this.gui_objects.messageform) 
    2253         this.gui_objects.attachmentform.reset(); 
    2254         } 
    2255         catch(e){}  // ignore errors 
    2256      
    2257     return true;   
     2220        this.gui_objects.attachmentform.reset(); 
     2221    } 
     2222    catch(e){}  // ignore errors 
     2223     
     2224    return true; 
    22582225    }; 
    22592226 
     
    25812548 
    25822549      // move the results pane right under the input box and make it visible 
    2583       var pos = rcube_get_object_pos(this.ksearch_input); 
    2584       this.ksearch_pane.move(pos.x, pos.y+this.ksearch_input.offsetHeight); 
     2550      var pos = $(this.ksearch_input).offset(); 
     2551      this.ksearch_pane.move(pos.left, pos.top + this.ksearch_input.offsetHeight); 
    25852552      this.ksearch_pane.show(1); 
    25862553    } 
  • branches/devel-api/program/js/common.js

    r2150 r2224  
    507507 
    508508 
    509 // return the absolute position of an object within the document 
    510 function rcube_get_object_pos(obj, relative) 
    511   { 
    512   if(typeof(obj)=='string') 
    513     obj = rcube_find_object(obj); 
    514  
    515   if(!obj) return {x:0, y:0}; 
    516  
    517   var iX = (bw.layers) ? obj.x : obj.offsetLeft; 
    518   var iY = (bw.layers) ? obj.y : obj.offsetTop; 
    519  
    520   if(!relative && (bw.ie || bw.mz)) 
    521     { 
    522     var elm = obj.offsetParent; 
    523     while(elm && elm!=null) 
    524       { 
    525       iX += elm.offsetLeft - (elm.parentNode && elm.parentNode.scrollLeft ? elm.parentNode.scrollLeft : 0); 
    526       iY += elm.offsetTop - (elm.parentNode && elm.parentNode.scrollTop ? elm.parentNode.scrollTop : 0); 
    527       elm = elm.offsetParent; 
    528       } 
    529     } 
    530  
    531   return {x:iX, y:iY}; 
    532   } 
    533  
    534 // determine whether the mouse is over the given object or not 
    535 function rcube_mouse_is_over(ev, obj) 
    536 { 
    537   var mouse = rcube_event.get_mouse_pos(ev); 
    538   var pos = rcube_get_object_pos(obj); 
    539    
    540   return ((mouse.x >= pos.x) && (mouse.x < (pos.x + obj.offsetWidth)) && 
    541     (mouse.y >= pos.y) && (mouse.y < (pos.y + obj.offsetHeight))); 
    542 } 
    543  
    544  
    545 /** 
    546  * Return the currently applied value of a css property 
    547  * 
    548  * @param {Object} html_element  Node reference 
    549  * @param {String} css_property  Property name to read in Javascript notation (eg. 'textAlign') 
    550  * @param {String} mozilla_equivalent  Equivalent property name in CSS notation (eg. 'text-align') 
    551  * @return CSS property value 
    552  * @type String 
    553  */ 
    554 function get_elements_computed_style(html_element, css_property, mozilla_equivalent) 
    555   { 
    556   if (arguments.length==2) 
    557     mozilla_equivalent = css_property; 
    558  
    559   var el = html_element; 
    560   if (typeof(html_element)=='string') 
    561     el = rcube_find_object(html_element); 
    562  
    563   if (el && el.currentStyle) 
    564     return el.currentStyle[css_property]; 
    565   else if (el && document.defaultView && document.defaultView.getComputedStyle) 
    566     return document.defaultView.getComputedStyle(el, null).getPropertyValue(mozilla_equivalent); 
    567   else 
    568     return false; 
    569   } 
    570    
    571  
    572509// cookie functions by GoogieSpell 
    573510function setCookie(name, value, expires, path, domain, secure) 
Note: See TracChangeset for help on using the changeset viewer.