moreCss.js

ContractedBlock.gif ExpandedBlockStart.gif Code
ExpandedBlockStart.gifContractedBlock.giffunction MoreCSS() {
ExpandedSubBlockStart.gifContractedSubBlock.gif   MoreCSS.properties 
= {
      
'add-class':'addClass''auto-select':'autoSelect''command':'command''content':'content''counter':'counter''default-value':'defaultValue''execute':'execute''include-content':'includeContent''input-type':'inputType''list-style-symbol':'listStyleSymbol''list-style-color':'listStyleColor''min-height':'minHeight''opacity':'opacity''preload-image':'preloadImage''remove-class':'removeClass''style':'style''target':'target''text-slice':'textSlice''title':'title''toggle-class':'toggleClass''tooltip':'tooltip'}

   ; 
ExpandedSubBlockStart.gifContractedSubBlock.gif   MoreCSS.applyOnLoad 
= {
      }

   ; 
ExpandedSubBlockStart.gifContractedSubBlock.gif   MoreCSS.addClass 
= function(element, properties, propertyValue) {
      element.className 
+= ' ' + propertyValue}

   ; 
ExpandedSubBlockStart.gifContractedSubBlock.gif   MoreCSS.autoSelect 
= function(element, properties, propertyValue, pseudoClass) {
      
var refer = MoreCSS.getPropertyValue(properties, 'auto-select-refer''%value'); 
      
var execute = MoreCSS.getPropertyValue(properties, 'auto-select-execute''alert(%value)'); 
ExpandedSubBlockStart.gifContractedSubBlock.gif      
if(!pseudoClass && element.tagName == 'SELECT'{
ExpandedSubBlockStart.gifContractedSubBlock.gif         element.onchange 
= function() {
ExpandedSubBlockStart.gifContractedSubBlock.gif            
if(element.options[element.selectedIndex].value != ''{
               
if(propertyValue == 'refer')top.location.href = refer.replace(/(\%value)/,element.options[element.selectedIndex].value);
               
if(propertyValue == 'execute')eval(execute.replace(/(\%value)/,"'"+element.options[element.selectedIndex].value+"'")+';') }
 }
 }
 }
 ;
ExpandedSubBlockStart.gifContractedSubBlock.gif               MoreCSS.command 
= function(element, properties, propertyValue, pseudoClass) {
ExpandedSubBlockStart.gifContractedSubBlock.gif                  
switch(propertyValue) {
                     
case'back':history.back(); 
                     
break
                     
case'forward':history.forward(); 
                     
break
                     
case'reload':location.reload(); 
                     
break
                     
case'close':window.close(); 
                     
break
                     
case'print':window.print(); 
                     
break
                     
case'select':element.select(); 
                     
break
                     
case'blur':element.blur(); 
                     
break
                     
case'focus':element.focus(); 
                     
break
                     
case'click':(element.tagName == 'INPUT'? element.click() : MoreCSS.triggerEvent(element, 'click'); 
                     
break}

                  }

               ; 
ExpandedSubBlockStart.gifContractedSubBlock.gif               MoreCSS.content 
= function(element, properties, propertyValue) {
                  
var before = MoreCSS.getPropertyValue(properties, 'content-before'''); 
                  
var after = MoreCSS.getPropertyValue(properties, 'content-after'''); 
ExpandedSubBlockStart.gifContractedSubBlock.gif                  
if(propertyValue == 'append'{
                     before 
= before.replace(/\%counter/g,MoreCSS.getElementNumber(element));
                     after 
= after.replace(/\%counter/g,MoreCSS.getElementNumber(element));
                     element.innerHTML 
= before + MoreCSS.trim(element.innerHTML) + after}

ExpandedSubBlockStart.gifContractedSubBlock.gif                  
if(propertyValue == 'delete'{
                     
var content = MoreCSS.trim(element.innerHTML); 
                     
if(content.slice(0, before.length) == before)content = content.slice(before.length); 
                     
if(content.slice(content.length - after.length) == after)content = content.slice(0, content.length - after.length); 
                     element.innerHTML 
= content}

                  }

               ; 
ExpandedSubBlockStart.gifContractedSubBlock.gif               MoreCSS.counter 
= function(element, properties, propertyValue) {
ExpandedSubBlockStart.gifContractedSubBlock.gif                  
switch(propertyValue) {
                     
case'class':element.className += ' n' + MoreCSS.getElementNumber(element); 
                     
break
                     
case'id':element.id = 'n' + MoreCSS.getElementNumber(element); 
                     
break}

                  }

               ; 
ExpandedSubBlockStart.gifContractedSubBlock.gif               MoreCSS.defaultValue 
= function(element, properties, propertyValue, pseudoClass) {
ExpandedSubBlockStart.gifContractedSubBlock.gif                  
if(!pseudoClass && element.tagName == 'INPUT'{
                     
if(propertyValue == 'value')propertyValue = element.value; 
                     
else element.value = propertyValue; 
ExpandedSubBlockStart.gifContractedSubBlock.gif                     element.onfocus 
= function() {
                        
if(element.value == propertyValue)element.value = ''}

                     ; 
ExpandedSubBlockStart.gifContractedSubBlock.gif                     element.onblur 
= function() {
                        
if(element.value == '')element.value = propertyValue}

                     }

                  }

               ; 
ExpandedSubBlockStart.gifContractedSubBlock.gif               MoreCSS.execute 
= function(element, properties, propertyValue) {
                  eval(propertyValue)}

               ; 
ExpandedSubBlockStart.gifContractedSubBlock.gif               MoreCSS.includeContent 
= function(element, properties, propertyValue) {
                  
var position = MoreCSS.getPropertyValue(properties, 'include-position''overwrite'); 
                  
var status = MoreCSS.getPropertyValue(properties, 'include-status'''); 
                  
var after = (position == 'before'? element.innerHTML : ''
                  
var before = (position == 'after'? element.innerHTML : ''
ExpandedSubBlockStart.gifContractedSubBlock.gif                  
if(propertyValue != ''{
                     element.innerHTML 
= before + status + after; 
                     
var content = MoreCSS.createXMLHttpRequest(); 
                     content.open(
'get', propertyValue); 
ExpandedSubBlockStart.gifContractedSubBlock.gif                     content.onreadystatechange 
= function() {
                        
if(content.readyState == 4 && content.status == 200)element.innerHTML = before + content.responseText + after}

                     ; 
                     content.send(
null)}

                  }

               ; 
ExpandedSubBlockStart.gifContractedSubBlock.gif               MoreCSS.inputType 
= function(element, properties, propertyValue) {
                  element.type 
= propertyValue; 
ExpandedSubBlockStart.gifContractedSubBlock.gif                  
if(propertyValue == 'search' && MoreCSS.browser() == 'Safari'{
                     
var host = MoreCSS.getPropertyValue(properties, 'host'''); 
                     
var results = MoreCSS.getPropertyValue(properties, 'results'10); 
                     element.setAttribute(
'autosave', host.substr(host.lastIndexOf('.'+ 1+ '.' + host.substring(0, host.lastIndexOf('.')) + '.search_history'); 
                     element.setAttribute(
'results', results)}

                  }

               ; 
ExpandedSubBlockStart.gifContractedSubBlock.gif               MoreCSS.listStyleSymbol 
= function(element, properties, propertyValue) {
                  
var padding = MoreCSS.getPropertyValue(properties, 'list-style-padding''1.25em'); 
                  
var color = MoreCSS.getPropertyValue(properties, 'list-style-color'''); 
                  
if(color != '')color = '; color:' + color; 
                  
if(element.tagName == ('UL' || 'OL'))for(var i = 0; i < element.getElementsByTagName('li').length; i++)listStyle(element.getElementsByTagName('li')[i]); 
                  
else listStyle(element); 
ExpandedSubBlockStart.gifContractedSubBlock.gif                  
function listStyle(element) {
                     element.style.listStyleType 
= 'none'
                     element.innerHTML 
= '<span style="position:absolute; margin-left:-' + padding + color + '">' + propertyValue + '</span> ' + element.innerHTML}

                  }

               ; 
ExpandedSubBlockStart.gifContractedSubBlock.gif               MoreCSS.listStyleColor 
= function(element, properties, propertyValue) {
                  
var color = MoreCSS.getPropertyValue(properties, 'color''black'); 
                  
if(element.tagName == ('UL' || 'OL'))for(var i = 0; i < element.getElementsByTagName('li').length; i++)listStyle(element.getElementsByTagName('li')[i]); 
                  
else listStyle(element); 
ExpandedSubBlockStart.gifContractedSubBlock.gif                  
function listStyle(element) {
                     element.innerHTML 
= '<span style="color:' + color + '">' + element.innerHTML + '</span>'
                     element.style.color 
= propertyValue}

                  }

               ; 
ExpandedSubBlockStart.gifContractedSubBlock.gif               MoreCSS.opacity 
= function(element, properties, propertyValue) {
                  element.style.opacity 
= propertyValue; 
ExpandedSubBlockStart.gifContractedSubBlock.gif                  
if(element.filters) {
                     element.style.zoom 
= '100%'
                     element.style.filter 
= 'progid:DXImageTransform.Microsoft.alpha(opacity=' + propertyValue * 100 + ');'
                     
if(element.filters[0&& typeof element.filters[0].opacity == 'number')element.filters[0].opacity = propertyValue * 100
                     
else element.style.filter = 'alpha(opacity=' + propertyValue * 100 + ')'}

                  
else if(typeof element.style.MozOpacity != 'undefined')element.style.MozOpacity = propertyValue; 
                  
else if(typeof element.style.KHTMLOpacity != 'undefined')element.style.KHTMLOpacity = propertyValue}

               ; 
ExpandedSubBlockStart.gifContractedSubBlock.gif               MoreCSS.preloadImage 
= function(element, properties, propertyValue) {
                  
var image = new Image(); 
                  image.src 
= propertyValue}

               ; 
ExpandedSubBlockStart.gifContractedSubBlock.gif               MoreCSS.removeClass 
= function(element, properties, propertyValue) {
                  element.className 
= MoreCSS.removeClassName(element.className, propertyValue)}

               ; 
ExpandedSubBlockStart.gifContractedSubBlock.gif               MoreCSS.style 
= function(element, properties, propertyValue) {
                  
var styleStrings = propertyValue.split(','); 
                  
for(var i = 0; i < styleStrings.length; i++)element.style[MoreCSS.trim(styleStrings[i].substr(0, styleStrings[i].indexOf(':')))] = MoreCSS.trim(styleStrings[i].substr(styleStrings[i].indexOf(':'+ 1))}

               ; 
ExpandedSubBlockStart.gifContractedSubBlock.gif               MoreCSS.target 
= function(element, properties, propertyValue, pseudoClass) {
                  
var position = MoreCSS.getShorthand(MoreCSS.getPropertyValue(properties, 'target-position''center middle')); 
                  
var width = MoreCSS.getPropertyValue(properties, 'target-width''640px'); 
                  
var height = MoreCSS.getPropertyValue(properties, 'target-height''480px'); 
                  
var className = MoreCSS.getPropertyValue(properties, 'target-class'''); 
                  
var windowProperties = MoreCSS.getPropertyValue(properties, 'target-properties''menubar=no, locationbar=yes, status=no, scrollbars=yes'); 
                  
var close = MoreCSS.getPropertyValue(properties, 'target-close'''); 
                  
var template = MoreCSS.getPropertyValue(properties, 'target-template''%close%iframe'); 
                  
if(!position[1])position[1= position[0]; 
ExpandedSubBlockStart.gifContractedSubBlock.gif                  
if(element.tagName == 'A'{
ExpandedSubBlockStart.gifContractedSubBlock.gif                     
if(propertyValue == 'window'{
                        window.open(element.href)}

ExpandedSubBlockStart.gifContractedSubBlock.gif                     
if(propertyValue == 'popup'{
                        
var name = (element.rel) ? element.rel : 'popup'
                        
var popup = window.open(element.href, name, 'left=' + MoreCSS.getPosition(position[0], width, 'screen'+ ', top=' + MoreCSS.getPosition(position[1], height, 'screen'+ ', width=' + MoreCSS.getSize('width', width, 'screen'+ ', height=' + MoreCSS.getSize('height', height, 'screen'+ '' + windowProperties); 
                        
if(popup)popup.focus()}

ExpandedSubBlockStart.gifContractedSubBlock.gif                     
if(propertyValue == 'layer'{
                        
var layer = document.createElement('div'); 
                        layer.id 
= className; 
                        layer.className 
= className; 
                        layer.style.position 
= 'absolute'
                        layer.style.top 
= MoreCSS.getPosition(position[1], height, 'window'+ 'px'
                        layer.style.left 
= MoreCSS.getPosition(position[0], width, 'window'+ 'px'
                        
if(close)close = '<a href="#" οnclick="document.getElementsByTagName(\'body\')[0].removeChild(document.getElementById(\'' + className + '\')); return false;">' + close + '</a>'
                        
var layerIFRAME = '<iframe src="' + element.href + '" width="' + MoreCSS.getSize('width', width, 'window'+ '" height="' + MoreCSS.getSize('height', height, 'window'+ '" frameborder="0" marginwidth="0" marginheight="0"></iframe>'
                        layer.innerHTML 
= template.replace(/(\%close)/,close).replace(/(\%iframe)/,layerIFRAME);
                        document.getElementsByTagName(
'body')[0].appendChild(layer)}

                     }

                  }

               ; 
ExpandedSubBlockStart.gifContractedSubBlock.gif               MoreCSS.textSlice 
= function(element, properties, propertyValue) {
                  propertyValue 
= MoreCSS.getShorthand(propertyValue); 
ExpandedSubBlockStart.gifContractedSubBlock.gif                  
if(propertyValue.length == 1{
                     
var sliced = element.innerHTML.slice(0, propertyValue); 
                     element.innerHTML 
= sliced.slice(0, sliced.slice(0, propertyValue).lastIndexOf(' '))}

                  
else element.innerHTML = element.innerHTML.slice(propertyValue[0], parseInt(propertyValue[0]) + parseInt(propertyValue[1]))}

               ; 
ExpandedSubBlockStart.gifContractedSubBlock.gif               MoreCSS.title 
= function(element, properties, propertyValue) {
                  element.title 
= propertyValue}

               ; 
ExpandedSubBlockStart.gifContractedSubBlock.gif               MoreCSS.toggleClass 
= function(element, properties, propertyValue, pseudoClass, caller) {
                  
var behaviour = MoreCSS.getPropertyValue(properties, 'toggle-class-behaviour''normal'); 
                  
var active = MoreCSS.getPropertyValue(properties, 'toggle-class-active'''); 
ExpandedSubBlockStart.gifContractedSubBlock.gif                  
if(caller) {
ExpandedSubBlockStart.gifContractedSubBlock.gif                     
if(behaviour == 'switch' && element.caller) {
                        MoreCSS.removeClass(element.caller, 
0, active); 
                        MoreCSS.removeClass(element, 
0, propertyValue)}

ExpandedSubBlockStart.gifContractedSubBlock.gif                     
if(MoreCSS.getElementNumber(element) == MoreCSS.getElementNumber(caller)) {
ExpandedSubBlockStart.gifContractedSubBlock.gif                        
if(MoreCSS.classOrIDexists(element.className, propertyValue)) {
                           element.caller 
= caller; 
                           MoreCSS.removeClass(caller, 
0, active); 
                           MoreCSS.removeClass(element, 
0, propertyValue)}

ExpandedSubBlockStart.gifContractedSubBlock.gif                        
else {
                           element.caller 
= caller; 
                           MoreCSS.addClass(caller, 
0, active); 
                           MoreCSS.addClass(element, 
0, propertyValue)}

                        }

                     }

                  }

               ; 
ExpandedSubBlockStart.gifContractedSubBlock.gif               MoreCSS.tooltip 
= function(element, properties, propertyValue, pseudoClass) {
                  
var value = propertyValue.replace(/(\%title)/,element.title);
                  
var tooltip = MoreCSS.getPropertyValue(properties, 'tooltip'''); 
                  
var className = MoreCSS.getPropertyValue(properties, 'tooltip-class'''); 
                  
var opacity = MoreCSS.getPropertyValue(properties, 'tooltip-opacity'1); 
ExpandedSubBlockStart.gifContractedSubBlock.gif                  
if(!pseudoClass && value != ''{
                     
var tooltip = document.createElement('div'); 
                     tooltip.className 
= className; 
                     tooltip.style.position 
= 'absolute'
                     tooltip.style.top 
= '-999px'
                     tooltip.style.visibility 
= 'hidden'
                     tooltip.innerHTML 
= (value == 'title'? element.title : value; 
                     element.title 
= ''
                     document.getElementsByTagName(
'body')[0].appendChild(tooltip); 
                     
if(opacity != 1)MoreCSS.opacity(tooltip, true, opacity); 
ExpandedSubBlockStart.gifContractedSubBlock.gif                     
function executeTooltip() {
ExpandedSubBlockStart.gifContractedSubBlock.gif                        
if(tooltip.style.visibility == 'hidden'{
                           document.onmousemove 
= showTooltip; 
                           tooltip.style.visibility 
= 'visible'}

ExpandedSubBlockStart.gifContractedSubBlock.gif                        
else {
                           tooltip.style.visibility 
= 'hidden'
ExpandedSubBlockStart.gifContractedSubBlock.gif                           document.onmousemove 
= function() {
                              
return false}

                           }

                        }

ExpandedSubBlockStart.gifContractedSubBlock.gif                     
function showTooltip(e) {
                        
var pos = new Array(001020); 
                        
if(!e)e = window.event; 
ExpandedSubBlockStart.gifContractedSubBlock.gif                        
if(e.pageX || e.pageY) {
                           pos[
0= e.pageX; 
                           pos[
1= e.pageY}

ExpandedSubBlockStart.gifContractedSubBlock.gif                        
else if(e.clientX || e.clientY) {
                           pos[
0= e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft; 
                           pos[
1= e.clientY + document.body.scrollTop + document.documentElement.scrollTop}

                        
if(MoreCSS.innerSize('width'- tooltip.offsetWidth < pos[0+ pos[2+ 25)pos[0+=- tooltip.offsetWidth - pos[2]; 
                        
if(25 + pos[1+ pos[3+ tooltip.offsetHeight > MoreCSS.innerSize('height'))pos[1+=- tooltip.offsetHeight - pos[3]; 
                        tooltip.style.top 
= pos[1+ pos[3+ 'px'
                        tooltip.style.left 
= pos[0+ pos[2+ 'px'}

                     element.onmouseover 
= executeTooltip; 
                     element.onmouseout 
= executeTooltip}

                  }

               ; 
ExpandedSubBlockStart.gifContractedSubBlock.gif               MoreCSS.getElementNumber 
= function(element) {
                  
return parseInt(element.style.counterIncrement.slice(element.style.counterIncrement.indexOf(' '+ 1))}

               ; 
ExpandedSubBlockStart.gifContractedSubBlock.gif               MoreCSS.classOrIDexists 
= function(classOrIDstring, classOrID) {
                  
var classOrIDs = classOrIDstring.split(' '); 
                  
for(var i = 0; i < classOrIDs.length; i++)if(classOrIDs[i] == classOrID)return true
                  
return false}

               ; 
ExpandedSubBlockStart.gifContractedSubBlock.gif               MoreCSS.getPropertyValue 
= function(properties, style, defaultValue) {
                  
for(var i = 0; i < properties.length; i++)if(MoreCSS.trim(properties[i].slice(0, properties[i].indexOf(':')), 'quotes'== style)return MoreCSS.trim(properties[i].slice(properties[i].indexOf(':'+ 1), 'quotes'); 
                  
return defaultValue}

               ; 
ExpandedSubBlockStart.gifContractedSubBlock.gif               MoreCSS.getShorthand 
= function(shorthandString) {
                  shorthandString 
= shorthandString.split(' '); 
                  
for(var i = 0; i < shorthandString.length; i++)if(shorthandString[i] == ' ')shorthandString.splice(i, 1); 
                  
return shorthandString}

               ; 
ExpandedSubBlockStart.gifContractedSubBlock.gif               MoreCSS.getStyle 
= function(element, property) {
                  
var value = ''
ExpandedSubBlockStart.gifContractedSubBlock.gif                  
if(document.defaultView && document.defaultView.getComputedStyle) {
                     value 
= document.defaultView.getComputedStyle(element, '').getPropertyValue(property)}

ExpandedSubBlockStart.gifContractedSubBlock.gif                  
else if(element.currentStyle) {
ExpandedSubBlockStart.gifContractedSubBlock.gif                     property 
= property.replace(/\-(\w)/g,function(strMatch,p1)return p1.toUpperCase() } );
                     value 
= element.currentStyle[property]}

                  
return value}

               ; 
ExpandedSubBlockStart.gifContractedSubBlock.gif               MoreCSS.browser 
= function() {
                  
var browsers = new Array('Safari''WebKit''KHTML''Opera''MSIE''Mozilla'); 
                  
var browser = navigator.userAgent; 
                  
for(var i = 0; i < browsers.length; i++)if(browser.indexOf(browsers[i]) !=- 1)browser = browsers[i]; 
                  
return browser}

               ; 
ExpandedSubBlockStart.gifContractedSubBlock.gif               MoreCSS.innerSize 
= function(mode) {
                  
var value; 
ExpandedSubBlockStart.gifContractedSubBlock.gif                  
if(self.innerWidth) {
                     value 
= (mode == 'width'? self.innerWidth : self.innerHeight}

ExpandedSubBlockStart.gifContractedSubBlock.gif                  
else if(document.documentElement && document.documentElement.clientWidth) {
                     value 
= (mode == 'width'? document.documentElement.clientWidth : document.documentElement.clientHeight}

ExpandedSubBlockStart.gifContractedSubBlock.gif                  
else if(document.body) {
                     value 
= (mode == 'width'? document.body.clientWidth : document.body.clientHeight}

                  
return(value < 0? 0 : value}

               ; 
ExpandedSubBlockStart.gifContractedSubBlock.gif               MoreCSS.getPosition 
= function(position, size, mode) {
                  size 
= parseInt(size); 
                  
var scrollPosition = (window.pageYOffset) ? window.pageYOffset : document.body.scrollTop; 
ExpandedSubBlockStart.gifContractedSubBlock.gif                  
switch(position) {
                     
case'left':case'top':position = 0
                     
break
                     
case'right':position = screen.availWidth - size; 
                     
break
                     
case'center':position = (mode == 'screen'? (screen.availWidth - size) / 2 : (MoreCSS.innerSize('width'- size) / 2
                     
break
                     
case'middle':position = (mode == 'screen'? (screen.availHeight - size) / 2 : scrollPosition + (MoreCSS.innerSize('height'- size) / 2
                     
break
                     
case'bottom':position = (mode == 'screen'? screen.availHeight - size : MoreCSS.innerSize('height'- size; 
                     
break
                     
default : position = parseInt(position)}

                  
return position}

               ; 
ExpandedSubBlockStart.gifContractedSubBlock.gif               MoreCSS.getSize 
= function(type, size, mode, element) {
                  
if(size == "auto")size = '100%'
ExpandedSubBlockStart.gifContractedSubBlock.gif                  
if(size.indexOf('%'>- 1{
                     size 
= parseInt(size); 
ExpandedSubBlockStart.gifContractedSubBlock.gif                     
if(type == 'width'{
ExpandedSubBlockStart.gifContractedSubBlock.gif                        
switch(mode) {
                           
case'screen':size = screen.availWidth * size / 100
                           
break
                           
case'window':size = MoreCSS.innerSize('width'* size / 100
                           
break
                           
case'element':var display = ''
ExpandedSubBlockStart.gifContractedSubBlock.gif                           
if(MoreCSS.getStyle(element, 'display'== 'none'{
                              display 
= 'none'
                              element.style.display 
= 'block'}

                           
var originalWidth = element.offsetWidth; 
                           element.style.width 
= size + '%'
                           
var newWidth = element.offsetWidth; 
                           element.style.width 
= originalWidth + 'px'
                           
if(display != '')element.style.display = display; 
                           size 
= newWidth; 
                           
break}

                        }

ExpandedSubBlockStart.gifContractedSubBlock.gif                     
if(type == 'height'{
ExpandedSubBlockStart.gifContractedSubBlock.gif                        
switch(mode) {
                           
case'screen':size = screen.availHeight * size / 100
                           
break
                           
case'window':size = MoreCSS.innerSize('height'* size / 100
                           
break
                           
case'element':var display = ''
ExpandedSubBlockStart.gifContractedSubBlock.gif                           
if(MoreCSS.getStyle(element, 'display'== 'none'{
                              display 
= 'none'
                              element.style.display 
= 'block'}

                           
var originalHeight = element.offsetHeight; 
                           element.style.height 
= size + '%'
                           
var newHeight = element.offsetHeight; 
                           element.style.height 
= originalHeight + 'px'
                           
if(display != '')element.style.display = display; 
                           size 
= newHeight; 
                           
break}

                        }

                     }

                  
return parseFloat(size)}

               ; 
ExpandedSubBlockStart.gifContractedSubBlock.gif               MoreCSS.trim 
= function(string, mode) {
                  string 
= string.replace(/^\s+|\s+$/g,'');
                  
if(mode == 'quotes')string = string.replace(/^"|^'|"$|'$|\\/g,'');
                  
if(mode == 'commas')string = string.replace(/^,+|,+$/g,'');
                  
return string}

               ; 
ExpandedSubBlockStart.gifContractedSubBlock.gif               MoreCSS.removeClassName 
= function(classString, className) {
                  
var splittedClassString = classString.split(' '); 
                  
for(var i = 0; i < splittedClassString.length; i++)if(splittedClassString[i] == className)splittedClassString.splice(i, 1); 
                  
return splittedClassString.join(' ')}

               ; 
ExpandedSubBlockStart.gifContractedSubBlock.gif               MoreCSS.createXMLHttpRequest 
= function() {
                  
var ua; 
ExpandedSubBlockStart.gifContractedSubBlock.gif                  
if(window.XMLHttpRequest) {
ExpandedSubBlockStart.gifContractedSubBlock.gif                     
try {
                        ua 
= new XMLHttpRequest()}

ExpandedSubBlockStart.gifContractedSubBlock.gif                     
catch(e) {
                        ua 
= false}

                     }

ExpandedSubBlockStart.gifContractedSubBlock.gif                  
else if(window.ActiveXObject) {
ExpandedSubBlockStart.gifContractedSubBlock.gif                     
try {
                        ua 
= new ActiveXObject('Microsoft.XMLHTTP')}

ExpandedSubBlockStart.gifContractedSubBlock.gif                     
catch(e) {
                        ua 
= false}

                     }

                  
return ua}

               ; 
ExpandedSubBlockStart.gifContractedSubBlock.gif               MoreCSS.triggerEvent 
= function(element, event) {
ExpandedSubBlockStart.gifContractedSubBlock.gif                  
if(MoreCSS.browser() != 'MSIE'{
                     
var eventObject = document.createEvent('MouseEvents'); 
                     eventObject.initEvent(event, 
truefalse); 
                     element.dispatchEvent(eventObject)}

                  
else element.fireEvent('on' + event)}

               ; 
ExpandedSubBlockStart.gifContractedSubBlock.gif               MoreCSS.onDOMready 
= {
ExpandedSubBlockStart.gifContractedSubBlock.gif                  onload : [], loaded : 
function() {
                     
if(arguments.callee.done)return
                     arguments.callee.done 
= true
                     
for(i = 0; i < MoreCSS.onDOMready.onload.length; i++)MoreCSS.onDOMready.onload[i]()}

ExpandedSubBlockStart.gifContractedSubBlock.gif                  , load : 
function(fireThis) {
                     
this.onload.push(fireThis); 
                     
if(document.addEventListener)document.addEventListener("DOMContentLoaded", MoreCSS.onDOMready.loaded, null); 
ExpandedSubBlockStart.gifContractedSubBlock.gif                     
if(/KHTML|WebKit/i.test(navigator.userAgent))var _timer=setInterval(function()if(/loaded|complete/.test(document.readyState)){ clearInterval(_timer); delete _timer; MoreCSS.onDOMready.loaded() } } ,10) } window.onload=MoreCSS.onDOMready.loaded }
 }
 ;
                     MoreCSS.onDOMready.load(getStylesheets); 
ExpandedSubBlockStart.gifContractedSubBlock.gif                     
function getStylesheets() {
                        
var linkTags = document.getElementsByTagName('link'); 
                        
for(var i = 0; i < linkTags.length; i++)if(linkTags[i].rel.toLowerCase() == 'morecss')getSourceCode(linkTags[i].href)}

ExpandedSubBlockStart.gifContractedSubBlock.gif                     
function getSourceCode(path) {
                        
var req = MoreCSS.createXMLHttpRequest(); 
                        req.open(
'get', path); 
ExpandedSubBlockStart.gifContractedSubBlock.gif                        req.onreadystatechange 
= function() {
                           
if(req.readyState == 4 && req.status == 200)core(req.responseText.replace(/\r|\n|\t|\f/g," ").replace(/\/\*.*?\*\//g,"").split("}")) } ;
                           req.send(null)}

ExpandedSubBlockStart.gifContractedSubBlock.gif                        
function core(styleDefinitions) {
ExpandedSubBlockStart.gifContractedSubBlock.gif                           
for(var i = 0; i < styleDefinitions.length && MoreCSS.trim(styleDefinitions[i]) != ''; i++{
                              
var selectors = MoreCSS.trim(styleDefinitions[i].slice(0, styleDefinitions[i].indexOf('{'))); 
                              
var targetSelectors = false
ExpandedSubBlockStart.gifContractedSubBlock.gif                              
if(selectors.indexOf('=>'>- 1{
                                 
var targetSelectors = MoreCSS.trim(selectors.slice(selectors.indexOf('=>'+ 2)); 
                                 selectors 
= MoreCSS.trim(selectors.slice(0, selectors.indexOf('=>')))}

                              (selectors.indexOf(
' '>- 1? selectors = selectors.split(' ') : selectors = [selectors]; 
                              
var tempSelectors = []; 
                              
for(var j = 0; j < selectors.length; j++)if(selectors[j] != '')tempSelectors.push(selectors[j]); 
                              selectors 
= tempSelectors; 
ExpandedSubBlockStart.gifContractedSubBlock.gif                              
if(targetSelectors) {
                                 (targetSelectors.indexOf(
' '>- 1? targetSelectors = targetSelectors.split(' ') : targetSelectors = [targetSelectors]; 
                                 
var tempTargetSelectors = []; 
                                 
for(var j = 0; j < targetSelectors.length; j++)if(targetSelectors[j] != '')tempTargetSelectors.push(targetSelectors[j]); 
                                 targetSelectors 
= tempTargetSelectors}

                              
var properties = MoreCSS.trim(styleDefinitions[i].slice(styleDefinitions[i].indexOf('{'+ 1)).split(';'); 
                              
for(var j = 0; j < properties.length; j++)properties[j] = MoreCSS.trim(properties[j]); 
                              
var propertyNames = []; 
                              
var propertyValues = []; 
ExpandedSubBlockStart.gifContractedSubBlock.gif                              
for(var j = 0; j < properties.length; j++)if(properties[j]) {
                                 propertyNames[j] 
= MoreCSS.properties[properties[j].slice(0, properties[j].indexOf(':'))]; 
                                 propertyValues[j] 
= MoreCSS.trim(properties[j].slice(properties[j].indexOf(':'+ 1), 'quotes')}

                              MoreCSS.getElements(document.getElementsByTagName(
'body')[0], selectors, 0, targetSelectors, properties, propertyNames, propertyValues, false)}

                           }

ExpandedSubBlockStart.gifContractedSubBlock.gif                        MoreCSS.getElements 
= function(node, selectors, level, targetSelectors, properties, propertyNames, propertyValues, caller, numberOfElements) {
ExpandedSubBlockStart.gifContractedSubBlock.gif                           
if(selectors.length > level) {
                              
var pseudoClass = (selectors[level].indexOf(':'>- 1? selectors[level].slice(selectors[level].indexOf(':'+ 1) : false
                              
var selector = (pseudoClass) ? selectors[level].slice(0, selectors[level].indexOf(':')) : selectors[level]; 
                              
if(selectors[level] == 'body')MoreCSS.getElements(node, selectors, level + 1, targetSelectors, properties, propertyNames, propertyValues, caller, numberOfElements); 
ExpandedSubBlockStart.gifContractedSubBlock.gif                              
switch(selector.slice(01)) {
                                 
case'#':node = [document.getElementById(selector.slice(1))]; 
                                 
break
                                 
case'.':var elements = node.getElementsByTagName('*'); 
                                 node 
= []; 
                                 
for(var i = 0; i < elements.length; i++)if(MoreCSS.classOrIDexists(elements[i].className, selector.slice(1)))node.push(elements[i]); 
                                 
break
ExpandedSubBlockStart.gifContractedSubBlock.gif                                 
default : if(selector.indexOf('.'>- 1{
                                    
var elements = node.getElementsByTagName(selector.slice(0, selector.indexOf('.'))); 
                                    node 
= []; 
                                    
for(var i = 0; i < elements.length; i++)if(MoreCSS.classOrIDexists(elements[i].className, selector.slice(selector.indexOf('.'+ 1)))node.push(elements[i])}

ExpandedSubBlockStart.gifContractedSubBlock.gif                                 
else if(selector.indexOf('#'>- 1{
                                    node 
= [document.getElementById(selector.slice(selector.indexOf('#'+ 1))]}

                                 
else node = node.getElementsByTagName(selector)}

                              }

ExpandedSubBlockStart.gifContractedSubBlock.gif                           
else {
                              
var pseudoClass = (selectors[level - 1&& selectors[level - 1].indexOf(':'>- 1? selectors[level - 1].slice(selectors[level - 1].indexOf(':'+ 1) : false
                              MoreCSS.applyProperties(node, pseudoClass, targetSelectors, properties, propertyNames, propertyValues, caller, numberOfElements)}

ExpandedSubBlockStart.gifContractedSubBlock.gif                           
for(var i = 0; node != '' && i < node.length; i++{
                              
var element = node[i]; 
                              element.style.counterIncrement 
= 'Number ' + (i + 1); 
                              
var run = 1
ExpandedSubBlockStart.gifContractedSubBlock.gif                              
switch(pseudoClass) {
                                 
case'first':i = node.length - 1
                                 
break
                                 
case'every-second':if(i % 2 == 0)run = 0
                                 
break
                                 
case'last':if(i < node.length - 1)run = 0
                                 
break
                                 
case'anchor':(element.href.substr(element.href.lastIndexOf('#')) == window.location.hash) ? i = node.length - 1 : run = 0
                                 
break}

ExpandedSubBlockStart.gifContractedSubBlock.gif                              
if(pseudoClass == 'forward' || pseudoClass == 'backward'{
                                 
if(!element.active)for(var j = 0; j < node.length; j++)node[j].active = (pseudoClass == 'forward'? node.length : 1
                                 
if(pseudoClass == 'forward')var nextActiveElement = (element.active == node.length) ? 1 : element.active + 1
                                 
else var nextActiveElement = (element.active == 1? node.length : element.active - 1
ExpandedSubBlockStart.gifContractedSubBlock.gif                                 
if(nextActiveElement == MoreCSS.getElementNumber(element)) {
                                    
for(var j = 0; j < node.length; j++)node[j].active = nextActiveElement; 
                                    i 
= node.length - 1}

                                 
else run = 0}

                              
if(run == 1)MoreCSS.getElements(element, selectors, level + 1, targetSelectors, properties, propertyNames, propertyValues, caller, node.length)}

                           }

                        ; 
ExpandedSubBlockStart.gifContractedSubBlock.gif                        MoreCSS.applyProperties 
= function(element, pseudoClass, targetSelectors, properties, propertyNames, propertyValues, caller, numberOfElements) {
ExpandedSubBlockStart.gifContractedSubBlock.gif                           
switch(pseudoClass) {
                              
case'hover':pseudoClass = 'mouseover'
                              
break
                              
case'leave':pseudoClass = 'mouseout'
                              
break
                              
case'active':pseudoClass = 'click'
ExpandedSubBlockStart.gifContractedSubBlock.gif                              element.onclick 
= function() {
                                 
return false}

                              ; 
                              
break
                              
case'first':case'every-second':case'last':case'anchor':case'forward':case'backward':pseudoClass = false}

                           
var time = (pseudoClass && (pseudoClass.indexOf('time'>- 1 || pseudoClass.indexOf('sequence'>- 1 || pseudoClass.indexOf('interval'>- 1)) ? pseudoClass.substr(pseudoClass.indexOf('='+ 1) : 0
                           
var sequence = (pseudoClass && pseudoClass.indexOf('sequence'>- 1? MoreCSS.getElementNumber(element) - 1 : 1
                           
var interval = (pseudoClass && pseudoClass.indexOf('interval'>- 1? 1 : 0
                           
if(time > 0)pseudoClass = false
ExpandedSubBlockStart.gifContractedSubBlock.gif                           
for(var i = 0; i < propertyNames.length && MoreCSS.applyOnLoad[propertyNames[i]]; i++{
                              
if(!caller)MoreCSS[propertyNames[i]](element, properties, propertyValues[i], pseudoClass, caller, 'prepare'); 
                              
if(targetSelectors)MoreCSS.getElements(document.getElementsByTagName('body')[0], targetSelectors, 0false, properties, propertyNames, propertyValues, element)}

                           
if(!pseudoClass)if(time == 0)batchApply(); 
                           
else if(interval == 0)window.setTimeout(batchApply, time * sequence); 
                           
else window.setInterval(batchApply, time); 
                           
else element.addEventListener ? element.addEventListener(pseudoClass, batchApply, false) : element.attachEvent('on' + pseudoClass, batchApply); 
ExpandedSubBlockStart.gifContractedSubBlock.gif                           
function batchApply() {
                              
if(targetSelectors)MoreCSS.getElements(document.getElementsByTagName('body')[0], targetSelectors, 0false, properties, propertyNames, propertyValues, element, false); 
                              
else for(var i = 0; i < propertyNames.length && propertyNames[i]; i++)MoreCSS[propertyNames[i]](element, properties, propertyValues[i], pseudoClass, caller, false, numberOfElements)}

                           }

                        }

                     
new MoreCSS(); 

转载于:https://www.cnblogs.com/zjm1126qqcom/archive/2009/04/04/1429587.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值