diff options
author | Gonzalo Odiard <gonzalo@nautilus.localdomain> | 2009-10-22 04:06:43 (GMT) |
---|---|---|
committer | Gonzalo Odiard <gonzalo@nautilus.localdomain> | 2009-10-22 04:06:43 (GMT) |
commit | c009a3d66d598aeaa86191218cce3514e6b160c2 (patch) | |
tree | 97168031f67aa65c58d0772706fc074ac3e98aad |
archivos iniciales
-rw-r--r-- | AUTHORS | 1 | ||||
-rw-r--r-- | ElementsActivity.py | 46 | ||||
-rw-r--r-- | MANIFEST | 39 | ||||
-rw-r--r-- | TODO | 3 | ||||
-rw-r--r-- | XOCom.py | 73 | ||||
-rw-r--r-- | activity/activity-elements.svg | 60 | ||||
-rw-r--r-- | activity/activity.info | 7 | ||||
-rw-r--r-- | info.txt | 5 | ||||
-rw-r--r-- | setup.py | 18 | ||||
-rw-r--r-- | web/allelements.xml | 3593 | ||||
-rw-r--r-- | web/datos.js | 1 | ||||
-rw-r--r-- | web/jquery.js | 3408 | ||||
-rw-r--r-- | web/tabla_elem.xsl | 285 | ||||
-rw-r--r-- | web/utiles.js | 130 | ||||
-rw-r--r-- | web/xocom.js | 90 |
15 files changed, 7759 insertions, 0 deletions
@@ -0,0 +1 @@ +Gonzalo Odiard godiard@gmail.com
\ No newline at end of file diff --git a/ElementsActivity.py b/ElementsActivity.py new file mode 100644 index 0000000..62bee1d --- /dev/null +++ b/ElementsActivity.py @@ -0,0 +1,46 @@ +from sugar.activity import activity +from sugar import env +import os +import gtk +import gobject +import hulahop +hulahop.startup(os.path.join(env.get_profile_path(), 'gecko')) +from XOCom import XOCom + +class ElementsActivity (activity.Activity): + def __init__(self, handle): + activity.Activity.__init__(self, handle) + self.set_title('Elements') + + # The XOCom object helps us communicate with the browser + # This uses web/index.html as the default page to load + self.xocom = XOCom("file://"+os.path.join(os.path.dirname(os.path.abspath(__file__)),"web/allelements.xml")) + + toolbox = activity.ActivityToolbox(self) + self.set_toolbox(toolbox) + toolbox.show() + + self.set_canvas( self.xocom.create_webview() ) + + #self.read_file(os.path.join(os.path.dirname(os.path.abspath(__file__)),"datos.txt")) + + + def write_file(self, filename): + filename = os.path.join(os.path.dirname(os.path.abspath(__file__)),"web/datos.js") + content = self.xocom.send_to_browser('write') + + if content: + fh = open(filename, 'w') + fh.write(content) + fh.close() + + def read_file(self, filename): + fh = open(filename, 'r') + content = fh.read() + def send_delayed_read(): + self.xocom.send_to_browser('read', content) + return False + # We must delay this to give the browser time to start up + # It would be better if this send_to_browser was instead triggered + # once the browser had finished loading. + gobject.timeout_add(5000, send_delayed_read) diff --git a/MANIFEST b/MANIFEST new file mode 100644 index 0000000..b5c5f05 --- /dev/null +++ b/MANIFEST @@ -0,0 +1,39 @@ +./ElementsActivity.py~ +./XOCom.py +./TODO +./info.txt~ +./info.txt +./po/ElementsActivity.pot +./datos.txt~ +./ElementsActivity.py +./web/utiles.js +./web/allelements.xml~ +./web/jquery.js +./web/tabla_elem.xsl~ +./web/tabla_elem.xsl +./web/datos.js +./web/datos.js~ +./web/xocom.js~ +./web/utiles.js~ +./web/xocom.js +./web/allelements.xml +./datos.txt +./AUTHORS +./setup.py +XOCom.py +TODO +info.txt +NEWS +ElementsActivity.py +datos.txt +AUTHORS +setup.py +po/ElementsActivity.pot +web/utiles.js +web/jquery.js +web/tabla_elem.xsl +web/datos.js +web/xocom.js +web/allelements.xml +activity/activity-elements.svg +activity/activity.info @@ -0,0 +1,3 @@ +* Conseguir imagenes de los elementos +* Links a Wikipedia o algo asi? +* Grabar en el Journal diff --git a/XOCom.py b/XOCom.py new file mode 100644 index 0000000..59d3b25 --- /dev/null +++ b/XOCom.py @@ -0,0 +1,73 @@ +from sugar.activity.activity import get_bundle_path +from hulahop.webview import WebView +from xpcom import components + +debug = True + +class XOCom: + # Constructor gives full XPCom access by default + # This should be improved for future apps that may not need/want full access + def __init__(self, uri=None): + if uri: + self.uri = uri + else: + self.uri = 'file://' + get_bundle_path() + '/web/index.html'; + self.give_full_xpcom_access() + + # Give the browser permission to use XPCom interfaces + # This is necessary for XPCom communication to work + # Note: Not all of these preferences may be required - requires further + # investigation + def give_full_xpcom_access(self): + pref_class = components.classes["@mozilla.org/preferences-service;1"] + prefs = pref_class.getService(components.interfaces.nsIPrefService) + prefs.getBranch('signed.applets.').setBoolPref('codebase_principal_support', + True); + prefs.getBranch('capability.principal.').setCharPref( + 'socialcalc.granted', 'UniversalXPConnect') + prefs.getBranch('capability.principal.').setCharPref( + 'socialcalc.id', self.uri) + + # Wrapper method to create a new webview embedded browser component + # Uses hulahop's WebView. Assumes that you'll want to serve + # web/index.html relative to your activity directory. + def create_webview(self): + web_view = WebView() + web_view.load_uri(self.uri) + web_view.show() + return web_view + + # Use XPCom to execute a javascript callback registered with XO.js + # The command will execute a javascript method registered with the same name, + # and return any value received from the javascript + def send_to_browser(self, command, parameter=None): + if debug: + print "sending: %s - (%s)"%(command, parameter) + + # Set up an array for parameters and return values for the XPCom call + array = components.classes["@mozilla.org/array;1"].createInstance( + components.interfaces.nsIMutableArray) + + # Optionally pass data to the javascript + if parameter: + str = components.classes["@mozilla.org/supports-string;1"].createInstance( + components.interfaces.nsISupportsString) + str.data = parameter + array.appendElement(str, False) + + # Use XPCom to send an event to a javascript observer (web/xo.js) + observerService = components.classes["@mozilla.org/observer-service;1"] + ob_serv = observerService.getService(components.interfaces.nsIObserverService); + ob_serv.notifyObservers(array, "xo-message", command); + + # check if the browser returned anything + result = None + if array.length: + iter = array.enumerate() + result = iter.getNext() + result = result.QueryInterface(components.interfaces.nsISupportsString) + result = result.toString() + + if debug: + print "result: %s - (%s)"%(command, result) + return result diff --git a/activity/activity-elements.svg b/activity/activity-elements.svg new file mode 100644 index 0000000..3fd905f --- /dev/null +++ b/activity/activity-elements.svg @@ -0,0 +1,60 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd" [
+ <!ENTITY ns_svg "http://www.w3.org/2000/svg">
+ <!ENTITY ns_xlink "http://www.w3.org/1999/xlink">
+ <!ENTITY fill_color "#FFFFFF">
+ <!ENTITY stroke_color "#000000">
+]>
+ +<svg + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + version="1.0" + width="48" + height="48.118999" + viewBox="0 0 48 48.119" + id="Layer_1" + xml:space="preserve" + style="overflow:visible"><defs + id="defs150" /> + + +<path + d="m -12.029749,8.4616041 a 20.389406,21.918612 0 1 1 -40.778812,0 20.389406,21.918612 0 1 1 40.778812,0 z" + transform="matrix(-0.23322013,0.57447566,-0.81782818,0.5213618,23.92972,38.531146)" + id="path156" + style="fill:none;stroke:&stroke_color;;stroke-width:4.23649549;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /><path + d="m -12.029749,8.4616041 a 20.389406,21.918612 0 1 1 -40.778812,0 20.389406,21.918612 0 1 1 40.778812,0 z" + transform="matrix(-0.4786502,-0.39039597,-0.2601039,-0.93967127,11.695994,19.762108)" + id="path156-1" + style="fill:none;stroke:&stroke_color;;stroke-width:4.23649502;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /><path + d="m -12.029749,8.4616041 a 20.389406,21.918612 0 1 1 -40.778812,0 20.389406,21.918612 0 1 1 40.778812,0 z" + transform="matrix(-0.61488855,0.03090539,-0.8153127,-0.52535174,10.20861,29.022925)" + id="path156-1-2" + style="fill:none;stroke:&stroke_color;;stroke-width:4.23649502;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /><path + d="m -35.477567,34.763939 a 1.7330996,1.7330996 0 1 1 -3.466199,0 1.7330996,1.7330996 0 1 1 3.466199,0 z" + transform="matrix(1.238771,0,0,1.2975945,60.877814,-5.9618337)" + id="path974" + style="fill:&fill_color;;fill-opacity:1;stroke:&fill_color;;stroke-width:1.97185516;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /><path + d="m -35.477567,34.763939 a 1.7330996,1.7330996 0 1 1 -3.466199,0 1.7330996,1.7330996 0 1 1 3.466199,0 z" + transform="matrix(1.238771,0,0,1.2975945,68.727737,-38.78878)" + id="path974-3" + style="fill:&fill_color;;fill-opacity:1;stroke:&fill_color;;stroke-width:1.97185516;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /><path + d="m -35.477567,34.763939 a 1.7330996,1.7330996 0 1 1 -3.466199,0 1.7330996,1.7330996 0 1 1 3.466199,0 z" + transform="matrix(1.238771,0,0,1.2975945,90.136613,-11.670869)" + id="path974-4" + style="fill:&fill_color;;fill-opacity:1;stroke:&fill_color;;stroke-width:1.97185516;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /><path + d="m -35.477567,34.763939 a 1.7330996,1.7330996 0 1 1 -3.466199,0 1.7330996,1.7330996 0 1 1 3.466199,0 z" + transform="matrix(1.238771,0,0,1.2975945,69.339419,-22.069466)" + id="path974-1" + style="fill:&fill_color;;fill-opacity:1;stroke:&fill_color;;stroke-width:1.97185516;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /><path + d="m -35.477567,34.763939 a 1.7330996,1.7330996 0 1 1 -3.466199,0 1.7330996,1.7330996 0 1 1 3.466199,0 z" + transform="matrix(1.238771,0,0,1.2975945,73.213406,-21.25389)" + id="path974-8" + style="fill:&fill_color;;fill-opacity:1;stroke:&fill_color;;stroke-width:1.97185516;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /><path + d="m -35.477567,34.763939 a 1.7330996,1.7330996 0 1 1 -3.466199,0 1.7330996,1.7330996 0 1 1 3.466199,0 z" + transform="matrix(1.238771,0,0,1.2975945,70.562784,-18.399373)" + id="path974-0" + style="fill:&fill_color;;fill-opacity:1;stroke:&fill_color;;stroke-width:1.97185516;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /></svg> diff --git a/activity/activity.info b/activity/activity.info new file mode 100644 index 0000000..d9b6750 --- /dev/null +++ b/activity/activity.info @@ -0,0 +1,7 @@ +[Activity] +name = ElementsActivity +service_name = com.Eq.Elements +class = ElementsActivity.ElementsActivity +icon = activity-elements +activity_version = 1 +show_launcher = yes diff --git a/info.txt b/info.txt new file mode 100644 index 0000000..e689fdd --- /dev/null +++ b/info.txt @@ -0,0 +1,5 @@ +http://en.wikipedia.org/wiki/Category:Chemical_elements_articles_by_quality +http://commons.wikimedia.org/wiki/Category:Chemical_elements +http://images-of-elements.com/ +http://www.educaplus.org/play.php?id=81&mcid=3 +http://es.wikipedia.org/wiki/Oxigeno diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..08a657d --- /dev/null +++ b/setup.py @@ -0,0 +1,18 @@ +#!/usr/bin/python + +# Make the MANIFEST file. The contents of the activity folder and the NEWS and MANIFEST +# files are already included in the .xo file which the bundlebuilder creates, so don't +# add them to the manifest file. +import os +os.system("find ./ -name 'activity' -prune -o -name 'NEWS' \ + -prune -o -name 'MANIFEST' \ + -prune -o -name '.svn' \ + -prune -o -name '*.pyc' \ + -prune -o -name '*.xo' \ + -prune -o -name '*.swp' \ + -prune -o -name '.git*' \ + -prune -o -type f \ + -print > MANIFEST") + +from sugar.activity import bundlebuilder +bundlebuilder.start("ElementsActivity") diff --git a/web/allelements.xml b/web/allelements.xml new file mode 100644 index 0000000..43ccdc0 --- /dev/null +++ b/web/allelements.xml @@ -0,0 +1,3593 @@ +<?xml version="1.0"?> +<?xml-stylesheet href="./tabla_elem.xsl" type="text/xsl" ?> +<PERIODIC_TABLE> + + <ATOM> + <NAME>Actinium</NAME> + <NOMBRE>Actinio</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Actinio</WIKIPEDIA> + <ATOMIC_WEIGHT>227</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>89</ATOMIC_NUMBER> + <OXIDATION_STATES>3</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">3470</BOILING_POINT> + <SYMBOL>Ac</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 10.07 + </DENSITY> + <ELECTRON_CONFIGURATION>[Rn] 6d1 7s2 </ELECTRON_CONFIGURATION> + <ELECTRONEGATIVITY>1.1</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.88</ATOMIC_RADIUS> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 22.5 + </ATOMIC_VOLUME> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.12 + </SPECIFIC_HEAT_CAPACITY> + <IONIZATION_POTENTIAL>5.17</IONIZATION_POTENTIAL> + + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 12 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Aluminum</NAME> + <NOMBRE>Aluminio</NOMBRE><COLOR>3</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Aluminio</WIKIPEDIA> + <ATOMIC_WEIGHT>26.98154</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>13</ATOMIC_NUMBER> + <OXIDATION_STATES>3</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">2740</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">933.5</MELTING_POINT> + <SYMBOL>Al</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 2.7 + </DENSITY> + <ELECTRON_CONFIGURATION>[Ne] 3s2 p1 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.18</COVALENT_RADIUS> + <ELECTRONEGATIVITY>1.61</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.43</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 290.8 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 10 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 10.7 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>5.986</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.9 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 237 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Americium</NAME> + <NOMBRE>Americio</NOMBRE><COLOR>7</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Americio</WIKIPEDIA> + <ATOMIC_WEIGHT>243</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>95</ATOMIC_NUMBER> + <OXIDATION_STATES>6, 5, 4, 3</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">2880</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">1449</MELTING_POINT> + <SYMBOL>Am</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 13.7 + </DENSITY> + <ELECTRON_CONFIGURATION>[Rn] 5f7 7s2 </ELECTRON_CONFIGURATION> + <ELECTRONEGATIVITY>1.3</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.84</ATOMIC_RADIUS> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 20.8 + </ATOMIC_VOLUME> + <IONIZATION_POTENTIAL>6</IONIZATION_POTENTIAL> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 10 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Antimony</NAME> + <NOMBRE>Antimonio</NOMBRE><COLOR>3</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Antimonio</WIKIPEDIA> + <ATOMIC_WEIGHT>121.757</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>51</ATOMIC_NUMBER> + <OXIDATION_STATES>+/-3, 5</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">1860</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">903.91</MELTING_POINT> + <SYMBOL>Sb</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 6.69 + </DENSITY> + <ELECTRON_CONFIGURATION>[Kr] 4d10 5s2 p3 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.4</COVALENT_RADIUS> + <ELECTRONEGATIVITY>2.05</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.59</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 67.97 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 18.4 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 19.83 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>8.641</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.207 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 24.3 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM STATE="GAS"> + <NAME>Argón</NAME> + <NOMBRE>Argon</NOMBRE><COLOR>6</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Argon</WIKIPEDIA> + <ATOMIC_WEIGHT>39.948</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>18</ATOMIC_NUMBER> + <BOILING_POINT UNITS="Kelvin">87.45</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">83.95</MELTING_POINT> + <SYMBOL>Ar</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 1.784 + </DENSITY> + <ELECTRON_CONFIGURATION>[Ne] 3s2 p6 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">0.98</COVALENT_RADIUS> + <ELECTRONEGATIVITY>0</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">0.88</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 6.506 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 24.2 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 1.188 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>15.759</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.52 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 0.0177 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Arsenic</NAME> + <NOMBRE>Arsénico</NOMBRE><COLOR>4</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Arsenico</WIKIPEDIA> + <ATOMIC_WEIGHT>74.9216</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>33</ATOMIC_NUMBER> + <OXIDATION_STATES>+/-3, 5</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">876</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">1090</MELTING_POINT> + <SYMBOL>As</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 5.78 + </DENSITY> + <ELECTRON_CONFIGURATION>[Ar] 3d10 4s2 p3 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.2</COVALENT_RADIUS> + <ELECTRONEGATIVITY>2.18</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.39</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 32.4 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 13.1 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 27.7 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>9.81</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.33 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 50 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Astatine</NAME> + <NOMBRE>Astato</NOMBRE><COLOR>4</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Astato</WIKIPEDIA> + <ATOMIC_WEIGHT>210</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>85</ATOMIC_NUMBER> + <OXIDATION_STATES>+/-1, 3, 5, 7</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">610</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">575</MELTING_POINT> + <SYMBOL>At</SYMBOL> + <ELECTRON_CONFIGURATION>[Xe] 4f14 5d10 6s2 p5 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.47</COVALENT_RADIUS> + <ELECTRONEGATIVITY>2.2</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.45</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 30 + </HEAT_OF_VAPORIZATION> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 12 + </HEAT_OF_FUSION> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 1.7 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM STATE="SOLID"> + <NAME>Gold</NAME> + <NOMBRE>Oro</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Oro</WIKIPEDIA> + <ATOMIC_WEIGHT>196.9665</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>79</ATOMIC_NUMBER> + <OXIDATION_STATES>3, 1</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">3130</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">1337.58</MELTING_POINT> + <SYMBOL>Au</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 19.3 + </DENSITY> + <ELECTRON_CONFIGURATION>[Xe] 4f14 5d10 6s1 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.34</COVALENT_RADIUS> + <ELECTRONEGATIVITY>2.54</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.46</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 324.43 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 10.2 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 12.36 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>9.225</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.128 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 317 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Boron</NAME> + <NOMBRE>Boro</NOMBRE><COLOR>4</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Boro</WIKIPEDIA> + <ATOMIC_WEIGHT>10.811</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>5</ATOMIC_NUMBER> + <OXIDATION_STATES>3</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">4275</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">2365</MELTING_POINT> + <SYMBOL>B</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 2.34 + </DENSITY> + <ELECTRON_CONFIGURATION>1s2 2s2 p1 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">0.82</COVALENT_RADIUS> + <ELECTRONEGATIVITY>2.04</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">0.98</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 507.8 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 4.6 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 22.6 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>8.298</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 1.026 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 27 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Barium</NAME> + <NOMBRE>Bario</NOMBRE><COLOR>1</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Bario</WIKIPEDIA> + <ATOMIC_WEIGHT>137.33</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>56</ATOMIC_NUMBER> + <OXIDATION_STATES>2</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">2078</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">1002</MELTING_POINT> + <SYMBOL>Ba</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 3.59 + </DENSITY> + <ELECTRON_CONFIGURATION>[Xe] 6s2 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.98</COVALENT_RADIUS> + <ELECTRONEGATIVITY>0.89</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">2.22</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 140.2 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 39 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 8.01 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>5.212</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.204 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 18.4 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Beryllium</NAME> + <NOMBRE>Berilio</NOMBRE><COLOR>1</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Berilio</WIKIPEDIA> + <ATOMIC_WEIGHT>9.01218</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>4</ATOMIC_NUMBER> + <OXIDATION_STATES>2</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">3243</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">1560</MELTING_POINT> + <SYMBOL>Be</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 1.85 + </DENSITY> + <ELECTRON_CONFIGURATION>1s2 2s2 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">0.9</COVALENT_RADIUS> + <ELECTRONEGATIVITY>1.57</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.12</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 297 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 5 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 11.71 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>9.322</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 1.825 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 200 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Bohrium</NAME> + <NOMBRE>Unnliseptium</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Unnliseptium</WIKIPEDIA> + <ATOMIC_WEIGHT>262</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>107</ATOMIC_NUMBER> + <SYMBOL>Bh</SYMBOL> + <ELECTRON_CONFIGURATION>[Rn] 5f14 6d5 7s2 </ELECTRON_CONFIGURATION> + </ATOM> + + <ATOM STATE="SOLID"> + <NAME>Bismuth</NAME> + <NOMBRE>Bismuto</NOMBRE><COLOR>3</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Bismuto</WIKIPEDIA> + <ATOMIC_WEIGHT>208.9804</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>83</ATOMIC_NUMBER> + <OXIDATION_STATES>3, 5</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">1837</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">544.59</MELTING_POINT> + <SYMBOL>Bi</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 9.75 + </DENSITY> + <ELECTRON_CONFIGURATION>[Xe] 4f14 5d10 6s2 p3 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.46</COVALENT_RADIUS> + <ELECTRONEGATIVITY>2.02</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.7</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 179 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 21.3 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 11 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>7.289</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.122 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 7.87 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Berkelium</NAME> + <NOMBRE>Berkelio</NOMBRE><COLOR>7</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Berkelio</WIKIPEDIA> + <ATOMIC_WEIGHT>247</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>97</ATOMIC_NUMBER> + <OXIDATION_STATES>4, 3</OXIDATION_STATES> + <SYMBOL>Bk</SYMBOL> + <ELECTRON_CONFIGURATION>[Rn] 5f9 7s2 </ELECTRON_CONFIGURATION> + <ELECTRONEGATIVITY>1.3</ELECTRONEGATIVITY> + + <IONIZATION_POTENTIAL>6.23</IONIZATION_POTENTIAL> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 10 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Bromine</NAME> + <NOMBRE>Bromo</NOMBRE><COLOR>5</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Bromo</WIKIPEDIA> + <ATOMIC_WEIGHT>79.904</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>35</ATOMIC_NUMBER> + <OXIDATION_STATES>+/-1, 5</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">331.85</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">265.95</MELTING_POINT> + <SYMBOL>Br</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 3.12 + </DENSITY> + <ELECTRON_CONFIGURATION>[Ar] 3d10 4s2 p5 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.14</COVALENT_RADIUS> + <ELECTRONEGATIVITY>2.96</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.12</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 14.725 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 23.5 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 5.286 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>11.814</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.226 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 0.122 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM STATE="SOLID"> + <NAME>Carbon</NAME> + <NOMBRE>Carbono</NOMBRE><COLOR>5</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Carbono</WIKIPEDIA> + <ATOMIC_WEIGHT>12.011</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>6</ATOMIC_NUMBER> + <OXIDATION_STATES>+/-4, 2</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">5100</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">3825</MELTING_POINT> + <SYMBOL>C</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 2.26 + </DENSITY> + <ELECTRON_CONFIGURATION>1s2 2s2 p2 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">0.77</COVALENT_RADIUS> + <ELECTRONEGATIVITY>2.55</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">0.91</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 715 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 5.3 + </ATOMIC_VOLUME> + <IONIZATION_POTENTIAL>11.26</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.709 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 155 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Calcium</NAME> + <NOMBRE>Calcio</NOMBRE><COLOR>1</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Calcio</WIKIPEDIA> + <ATOMIC_WEIGHT>40.078</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>20</ATOMIC_NUMBER> + <OXIDATION_STATES>2</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">1757</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">1112</MELTING_POINT> + <SYMBOL>Ca</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 1.55 + </DENSITY> + <ELECTRON_CONFIGURATION>[Ar] 4s2 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.74</COVALENT_RADIUS> + <ELECTRONEGATIVITY>1</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.97</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 154.67 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 29.9 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 8.53 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>6.113</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.647 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 200 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Cadmium</NAME> + <NOMBRE>Cadmio</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Cadmio</WIKIPEDIA> + <ATOMIC_WEIGHT>112.41</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>48</ATOMIC_NUMBER> + <OXIDATION_STATES>2</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">1040</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">594.26</MELTING_POINT> + <SYMBOL>Cd</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 8.65 + </DENSITY> + <ELECTRON_CONFIGURATION>[Kr] 4d10 5s2 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.41</COVALENT_RADIUS> + <ELECTRONEGATIVITY>1.69</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.71</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 99.87 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 13.1 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 6.07 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>8.993</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.233 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 96.8 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Cerium</NAME> + <NOMBRE>Cerio</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Cerio</WIKIPEDIA> + <ATOMIC_WEIGHT>140.12</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>58</ATOMIC_NUMBER> + <OXIDATION_STATES>3, 4</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">3715</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">1071</MELTING_POINT> + <SYMBOL>Ce</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 6.77 + </DENSITY> + <ELECTRON_CONFIGURATION>[Xe] 4f1 5d1 6s2 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.65</COVALENT_RADIUS> + <ELECTRONEGATIVITY>1.12</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.81</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 313.8 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 21 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 9.2 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>5.47</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.19 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 11.4 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Californium</NAME> + <NOMBRE>Californio</NOMBRE><COLOR>7</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Californio</WIKIPEDIA> + <ATOMIC_WEIGHT>251</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>98</ATOMIC_NUMBER> + <OXIDATION_STATES>3</OXIDATION_STATES> + <MELTING_POINT UNITS="Kelvin">1170</MELTING_POINT> + <SYMBOL>Cf</SYMBOL> + <ELECTRON_CONFIGURATION>[Rn] 5f10 7s2 </ELECTRON_CONFIGURATION> + <ELECTRONEGATIVITY>1.3</ELECTRONEGATIVITY> + + <IONIZATION_POTENTIAL>6.3</IONIZATION_POTENTIAL> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 10 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Chlorine</NAME> + <NOMBRE>Cloro</NOMBRE><COLOR>5</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Cloro</WIKIPEDIA> + <ATOMIC_WEIGHT>35.4527</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>17</ATOMIC_NUMBER> + <OXIDATION_STATES>+/-1, 3, 5, 7</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">239.18</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">172.17</MELTING_POINT> + <SYMBOL>Cl</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 3.214 + </DENSITY> + <ELECTRON_CONFIGURATION>[Ne] 3s2 p5 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">0.99</COVALENT_RADIUS> + <ELECTRONEGATIVITY>3.16</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">0.97</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 10.2 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 18.7 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 3.21 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>12.967</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.48 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 0.0089 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Curium</NAME> + <NOMBRE>Curio</NOMBRE><COLOR>7</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Curio</WIKIPEDIA> + <ATOMIC_WEIGHT>247</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>96</ATOMIC_NUMBER> + <OXIDATION_STATES>3</OXIDATION_STATES> + <MELTING_POINT UNITS="Kelvin">1620</MELTING_POINT> + <SYMBOL>Cm</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 13.5 + </DENSITY> + <ELECTRON_CONFIGURATION>[Rn] 5f7 6d1 7s2 </ELECTRON_CONFIGURATION> + <ELECTRONEGATIVITY>1.3</ELECTRONEGATIVITY> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 18.3 + </ATOMIC_VOLUME> + <IONIZATION_POTENTIAL>6.02</IONIZATION_POTENTIAL> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 10 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Cobalt</NAME> + <NOMBRE>Cobalto</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Cobalto</WIKIPEDIA> + <ATOMIC_WEIGHT>58.9332</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>27</ATOMIC_NUMBER> + <OXIDATION_STATES>2, 3</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">3143</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">1768</MELTING_POINT> + <SYMBOL>Co</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 8.9 + </DENSITY> + <ELECTRON_CONFIGURATION>[Ar] 3d7 4s2 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.16</COVALENT_RADIUS> + <ELECTRONEGATIVITY>1.88</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.25</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 373.3 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 6.7 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 16.19 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>7.86</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.421 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 100 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Chromium</NAME> + <NOMBRE>Cromo</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Cromo</WIKIPEDIA> + <ATOMIC_WEIGHT>51.996</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>24</ATOMIC_NUMBER> + <OXIDATION_STATES>6, 3, 2</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">2945</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">2130</MELTING_POINT> + <SYMBOL>Cr</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 7.19 + </DENSITY> + <ELECTRON_CONFIGURATION>[Ar] 3d5 4s1 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.18</COVALENT_RADIUS> + <ELECTRONEGATIVITY>1.66</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.3</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 339.5 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 7.23 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 20 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>6.766</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.449 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 93.7 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Cesium</NAME> + <NOMBRE>Cesio</NOMBRE><COLOR>1</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Cesio</WIKIPEDIA> + <ATOMIC_WEIGHT>132.9054</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>55</ATOMIC_NUMBER> + <OXIDATION_STATES>1</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">944</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">301.54</MELTING_POINT> + <SYMBOL>Cs</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 1.87 + </DENSITY> + <ELECTRON_CONFIGURATION>[Xe] 6s1 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">2.35</COVALENT_RADIUS> + <ELECTRONEGATIVITY>0.79</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">2.67</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 67.74 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 70 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 2.092 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>3.894</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.24 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 35.9 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Copper</NAME> + <NOMBRE>Cobre</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Cobre</WIKIPEDIA> + <ATOMIC_WEIGHT>63.546</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>29</ATOMIC_NUMBER> + <OXIDATION_STATES>2, 1</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">2840</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">1356.6</MELTING_POINT> + <SYMBOL>Cu</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 8.96 + </DENSITY> + <ELECTRON_CONFIGURATION>[Ar] 3d10 4s1 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.17</COVALENT_RADIUS> + <ELECTRONEGATIVITY>1.9</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.28</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 300.5 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 7.1 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 13.14 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>7.726</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.385 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 401 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Dubnium</NAME> + <NOMBRE>Unnilpentium</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Unnilpentium</WIKIPEDIA> + <ATOMIC_WEIGHT>262</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>105</ATOMIC_NUMBER> + <SYMBOL>Db</SYMBOL> + <ELECTRON_CONFIGURATION>[Rn] 5f14 6d3 7s2 </ELECTRON_CONFIGURATION> + + + + </ATOM> + + <ATOM> + <NAME>Dysprosium</NAME> + <NOMBRE>Disprosio</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Disprosio</WIKIPEDIA> + <ATOMIC_WEIGHT>162.5</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>66</ATOMIC_NUMBER> + <OXIDATION_STATES>3</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">2840</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">1685</MELTING_POINT> + <SYMBOL>Dy</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 8.55 + </DENSITY> + <ELECTRON_CONFIGURATION>[Xe] 4f10 6s2 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.59</COVALENT_RADIUS> + <ELECTRONEGATIVITY>1.22</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.8</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 230 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 19 + </ATOMIC_VOLUME> + <IONIZATION_POTENTIAL>5.93</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.173 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 10.7 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Erbium</NAME> + <NOMBRE>Erbio</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Erbio</WIKIPEDIA> + <ATOMIC_WEIGHT>167.26</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>68</ATOMIC_NUMBER> + <OXIDATION_STATES>3</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">3140</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">1802</MELTING_POINT> + <SYMBOL>Er</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 9.07 + </DENSITY> + <ELECTRON_CONFIGURATION>[Xe] 4f12 6s2 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.57</COVALENT_RADIUS> + <ELECTRONEGATIVITY>1.24</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.78</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 292.88 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 18.4 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 17.15 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>6.101</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.168 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 14.3 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Einsteinium</NAME> + <NOMBRE>Einstenio</NOMBRE><COLOR>7</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Einstenio</WIKIPEDIA> + <ATOMIC_WEIGHT>252</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>99</ATOMIC_NUMBER> + <MELTING_POINT UNITS="Kelvin">1130</MELTING_POINT> + <SYMBOL>Es</SYMBOL> + <ELECTRON_CONFIGURATION>[Rn] 5f11 7s2 </ELECTRON_CONFIGURATION> + <ELECTRONEGATIVITY>1.3</ELECTRONEGATIVITY> + + <IONIZATION_POTENTIAL>6.42</IONIZATION_POTENTIAL> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 10 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Europium</NAME> + <NOMBRE>Europio</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Europio</WIKIPEDIA> + <ATOMIC_WEIGHT>151.965</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>63</ATOMIC_NUMBER> + <OXIDATION_STATES>3, 2</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">1800</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">1095</MELTING_POINT> + <SYMBOL>Eu</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 5.24 + </DENSITY> + <ELECTRON_CONFIGURATION>[Xe] 4f7 6s2 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.85</COVALENT_RADIUS> + <ELECTRONEGATIVITY>1.2</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.99</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 175.73 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 28.9 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 9.21 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>5.67</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.182 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 13.9 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Fluorine</NAME> + <NOMBRE>Flúor</NOMBRE><COLOR>5</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Fluor</WIKIPEDIA> + <ATOMIC_WEIGHT>18.9984</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>9</ATOMIC_NUMBER> + <OXIDATION_STATES>-1</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">85</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">53.55</MELTING_POINT> + <SYMBOL>F</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 1.696 + </DENSITY> + <ELECTRON_CONFIGURATION>1s2 2s2 p5 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">0.72</COVALENT_RADIUS> + <ELECTRONEGATIVITY>3.98</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">0.57</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 3.2698 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 17.1 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 0.26 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>17.422</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.824 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 0.0279 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Iron</NAME> + <NOMBRE>Hierro</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Hierro</WIKIPEDIA> + <ATOMIC_WEIGHT>55.847</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>26</ATOMIC_NUMBER> + <OXIDATION_STATES>2, 3</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">3023</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">1808</MELTING_POINT> + <SYMBOL>Fe</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 7.874 + </DENSITY> + <ELECTRON_CONFIGURATION>[Ar] 3d6 4s2 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.17</COVALENT_RADIUS> + <ELECTRONEGATIVITY>1.83</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.26</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 349.5 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 7.1 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 13.8 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>7.87</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.449 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 80.2 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Fermium</NAME> + <NOMBRE>Fermio</NOMBRE><COLOR>7</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Fermio</WIKIPEDIA> + <ATOMIC_WEIGHT>257</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>100</ATOMIC_NUMBER> + <MELTING_POINT UNITS="Kelvin">1800</MELTING_POINT> + <SYMBOL>Fm</SYMBOL> + <ELECTRON_CONFIGURATION>[Rn] 5f12 7s2 </ELECTRON_CONFIGURATION> + <ELECTRONEGATIVITY>1.3</ELECTRONEGATIVITY> + + <IONIZATION_POTENTIAL>6.5</IONIZATION_POTENTIAL> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 10 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Francium</NAME> + <NOMBRE>Francio</NOMBRE><COLOR>1</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Francio</WIKIPEDIA> + <ATOMIC_WEIGHT>223</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>87</ATOMIC_NUMBER> + <OXIDATION_STATES>1</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">950</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">300</MELTING_POINT> + <SYMBOL>Fr</SYMBOL> + <ELECTRON_CONFIGURATION>[Rn] 7s1 </ELECTRON_CONFIGURATION> + <ELECTRONEGATIVITY>0.7</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">2.7</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 64 + </HEAT_OF_VAPORIZATION> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 2.1 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>0</IONIZATION_POTENTIAL> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 15 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Gallium</NAME> + <NOMBRE>Galio</NOMBRE><COLOR>3</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Galio</WIKIPEDIA> + <ATOMIC_WEIGHT>69.723</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>31</ATOMIC_NUMBER> + <OXIDATION_STATES>3</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">2478</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">302.92</MELTING_POINT> + <SYMBOL>Ga</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 5.91 + </DENSITY> + <ELECTRON_CONFIGURATION>[Ar] 3d10 4s2 p1 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.26</COVALENT_RADIUS> + <ELECTRONEGATIVITY>1.81</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.41</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 256.06 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 11.8 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 5.59 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>5.999</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.371 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 40.6 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Gadolinium</NAME> + <NOMBRE>Gadolinio</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Gadolinio</WIKIPEDIA> + <ATOMIC_WEIGHT>157.25</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>64</ATOMIC_NUMBER> + <OXIDATION_STATES>3</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">3545</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">1585</MELTING_POINT> + <SYMBOL>Gd</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 7.9 + </DENSITY> + <ELECTRON_CONFIGURATION>[Xe] 4f7 5d1 6s2 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.61</COVALENT_RADIUS> + <ELECTRONEGATIVITY>1.2</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.8</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 311.71 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 19.9 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 10.46 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>6.15</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.236 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 10.6 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Germanium</NAME> + <NOMBRE>Germanio</NOMBRE><COLOR>3</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Germanio</WIKIPEDIA> + <ATOMIC_WEIGHT>72.61</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>32</ATOMIC_NUMBER> + <OXIDATION_STATES>4</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">3107</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">1211.5</MELTING_POINT> + <SYMBOL>Ge</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 5.32 + </DENSITY> + <ELECTRON_CONFIGURATION>[Ar] 3d10 4s2 p2 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.22</COVALENT_RADIUS> + <ELECTRONEGATIVITY>2.01</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.37</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 334.3 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 13.6 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 31.8 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>7.899</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.32 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 59.9 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM STATE="GAS"> + <NAME>Hydrogen</NAME> + <NOMBRE>Hidrógeno</NOMBRE><COLOR>0</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Hidrogeno</WIKIPEDIA> + <ATOMIC_WEIGHT>1.00794</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>1</ATOMIC_NUMBER> + <OXIDATION_STATES>1</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">20.28</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">13.81</MELTING_POINT> + <SYMBOL>H</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 0.0899 + </DENSITY> + <ELECTRON_CONFIGURATION>1s1 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">0.32</COVALENT_RADIUS> + <ELECTRONEGATIVITY>2.1</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">2.08</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 0.4581 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 14.1 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 0.0585 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>13.598</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 14.304 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 0.1815 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM STATE='GAS'> + <NAME>Helium</NAME> + <NOMBRE>Helio</NOMBRE><COLOR>6</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Helio</WIKIPEDIA> + <ATOMIC_WEIGHT>4.0026</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>2</ATOMIC_NUMBER> + <BOILING_POINT UNITS="Kelvin">4.216</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">0.95</MELTING_POINT> + <SYMBOL>He</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 0.1785 + </DENSITY> + <ELECTRON_CONFIGURATION>1s2 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">0.93</COVALENT_RADIUS> + <ELECTRONEGATIVITY>0</ELECTRONEGATIVITY> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 0.084 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 31.8 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 0.021 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>24.587</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 5.193 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 0.152 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Hafnium</NAME> + <NOMBRE>Hafnio</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Hafnio</WIKIPEDIA> + <ATOMIC_WEIGHT>178.49</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>72</ATOMIC_NUMBER> + <OXIDATION_STATES>4</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">4875</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">2504</MELTING_POINT> + <SYMBOL>Hf</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 13.31 + </DENSITY> + <ELECTRON_CONFIGURATION>[Xe] 4f14 5d2 6s2 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.44</COVALENT_RADIUS> + <ELECTRONEGATIVITY>1.3</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.67</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 661.07 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 13.6 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 21.76 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>6.65</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.14 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 23 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Mercury</NAME> + <NOMBRE>Mercurio</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Mercurio</WIKIPEDIA> + <ATOMIC_WEIGHT>200.59</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>80</ATOMIC_NUMBER> + <OXIDATION_STATES>2, 1</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">629.88</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">234.31</MELTING_POINT> + <SYMBOL>Hg</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 13.55 + </DENSITY> + <ELECTRON_CONFIGURATION>[Xe] 4f14 5d10 6s2 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.49</COVALENT_RADIUS> + <ELECTRONEGATIVITY>2</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.6</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 59.3 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 14.8 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 2.292 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>10.437</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.140 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 8.34 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Holmium</NAME> + <NOMBRE>Holmio</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Holmio</WIKIPEDIA> + <ATOMIC_WEIGHT>164.9303</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>67</ATOMIC_NUMBER> + <OXIDATION_STATES>3</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">2968</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">1747</MELTING_POINT> + <SYMBOL>Ho</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 8.8 + </DENSITY> + <ELECTRON_CONFIGURATION>[Xe] 4f11 6s2 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.58</COVALENT_RADIUS> + <ELECTRONEGATIVITY>1.23</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.79</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 251.04 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 18.7 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 11.06 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>6.02</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.165 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 16.2 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Hassium</NAME> + <NOMBRE>Hassium</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Hassium</WIKIPEDIA> + <ATOMIC_WEIGHT>265</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>108</ATOMIC_NUMBER> + <SYMBOL>Hs</SYMBOL> + <ELECTRON_CONFIGURATION>[Rn] 5f14 6d6 7s2 </ELECTRON_CONFIGURATION> + + + + </ATOM> + + <ATOM> + <NAME>Iodine</NAME> + <NOMBRE>Yodo</NOMBRE><COLOR>5</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Yodo</WIKIPEDIA> + <ATOMIC_WEIGHT>126.9045</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>53</ATOMIC_NUMBER> + <OXIDATION_STATES>+/-1, 5, 7</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">457.5</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">386.7</MELTING_POINT> + <SYMBOL>I</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 4.93 + </DENSITY> + <ELECTRON_CONFIGURATION>[Kr] 4d10 5s2 p5 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.33</COVALENT_RADIUS> + <ELECTRONEGATIVITY>2.66</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.32</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 20.9 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 25.7 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 7.76 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>10.451</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.145 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 0.449 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Indium</NAME> + <NOMBRE>Indio</NOMBRE><COLOR>3</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Indio</WIKIPEDIA> + <ATOMIC_WEIGHT>114.82</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>49</ATOMIC_NUMBER> + <OXIDATION_STATES>3</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">2350</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">429.78</MELTING_POINT> + <SYMBOL>In</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 7.31 + </DENSITY> + <ELECTRON_CONFIGURATION>[Kr] 4d10 5s2 p1 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.44</COVALENT_RADIUS> + <ELECTRONEGATIVITY>1.78</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.66</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 226.35 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 15.7 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 3.26 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>5.786</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.233 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 81.6 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Iridium</NAME> + <NOMBRE>Iridio</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Iridio</WIKIPEDIA> + <ATOMIC_WEIGHT>192.22</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>77</ATOMIC_NUMBER> + <OXIDATION_STATES>2, 3, 4, 6</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">4700</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">2720</MELTING_POINT> + <SYMBOL>Ir</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 22.6 + </DENSITY> + <ELECTRON_CONFIGURATION>[Xe] 4f14 5d7 6s2 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.27</COVALENT_RADIUS> + <ELECTRONEGATIVITY>2.2</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.36</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 563.58 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 8.54 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 26.36 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>9.1</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.13 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 147 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Potassium</NAME> + <NOMBRE>Potasio</NOMBRE><COLOR>1</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Potasio</WIKIPEDIA> + <ATOMIC_WEIGHT>39.0983</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>19</ATOMIC_NUMBER> + <OXIDATION_STATES>1</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">1033</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">336.8</MELTING_POINT> + <SYMBOL>K</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 0.86 + </DENSITY> + <ELECTRON_CONFIGURATION>[Ar] 4s1 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">2.03</COVALENT_RADIUS> + <ELECTRONEGATIVITY>0.82</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">2.35</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 76.9 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 45.3 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 2.33 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>4.341</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.757 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 102.5 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Krypton</NAME> + <NOMBRE>Criptón</NOMBRE><COLOR>6</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Cripton</WIKIPEDIA> + <ATOMIC_WEIGHT>83.8</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>36</ATOMIC_NUMBER> + <BOILING_POINT UNITS="Kelvin">120.85</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">116</MELTING_POINT> + <SYMBOL>Kr</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 3.75 + </DENSITY> + <ELECTRON_CONFIGURATION>[Ar] 3d10 4s2 p6 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.89</COVALENT_RADIUS> + <ELECTRONEGATIVITY>0</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.03</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 9.029 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 32.2 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 1.638 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>13.999</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.248 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 0.00949 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Lanthanum</NAME> + <NOMBRE>Lantano</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Lantano</WIKIPEDIA> + <ATOMIC_WEIGHT>138.9055</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>57</ATOMIC_NUMBER> + <OXIDATION_STATES>3</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">3737</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">1191</MELTING_POINT> + <SYMBOL>La</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 6.15 + </DENSITY> + <ELECTRON_CONFIGURATION>[Xe] 5d1 6s2 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.25</COVALENT_RADIUS> + <ELECTRONEGATIVITY>1.1</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.38</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 399.57 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 22.5 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 11.3 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>5.58</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.19 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 13.5 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Lithium</NAME> + <NOMBRE>Litio</NOMBRE><COLOR>1</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Litio</WIKIPEDIA> + <ATOMIC_WEIGHT>6.941</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>3</ATOMIC_NUMBER> + <OXIDATION_STATES>1</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">1615</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">453.7</MELTING_POINT> + <SYMBOL>Li</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 0.53 + </DENSITY> + <ELECTRON_CONFIGURATION>1s2 2s1 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.23</COVALENT_RADIUS> + <ELECTRONEGATIVITY>0.98</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.55</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 147.1 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 13.1 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 3 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>5.392</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 3.582 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 84.7 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Lawrencium</NAME> + <NOMBRE>Laurencio</NOMBRE><COLOR>7</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Laurencio</WIKIPEDIA> + <ATOMIC_WEIGHT>262</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>103</ATOMIC_NUMBER> + <MELTING_POINT UNITS="Kelvin">1900</MELTING_POINT> + <SYMBOL>Lr</SYMBOL> + <ELECTRON_CONFIGURATION>[Rn] 5f14 6d1 7s2 </ELECTRON_CONFIGURATION> + + + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 10 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Lutetium</NAME> + <NOMBRE>Lutecio</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Lutecio</WIKIPEDIA> + <ATOMIC_WEIGHT>174.967</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>71</ATOMIC_NUMBER> + <OXIDATION_STATES>3</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">3668</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">1936</MELTING_POINT> + <SYMBOL>Lu</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 9.84 + </DENSITY> + <ELECTRON_CONFIGURATION>[Xe] 4f14 5d1 6s2 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.56</COVALENT_RADIUS> + <ELECTRONEGATIVITY>1.27</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.75</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 355 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 17.8 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 18.6 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>5.43</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.15 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 16.4 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Mendelevium</NAME> + <NOMBRE>Mendelevio</NOMBRE><COLOR>7</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Mendelevio</WIKIPEDIA> + <ATOMIC_WEIGHT>258</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>101</ATOMIC_NUMBER> + <MELTING_POINT UNITS="Kelvin">1100</MELTING_POINT> + <SYMBOL>Md</SYMBOL> + <ELECTRON_CONFIGURATION>[Rn] 5f13 7s2 </ELECTRON_CONFIGURATION> + <ELECTRONEGATIVITY>1.3</ELECTRONEGATIVITY> + + <IONIZATION_POTENTIAL>6.58</IONIZATION_POTENTIAL> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 10 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Magnesium</NAME> + <NOMBRE>Magnesio</NOMBRE><COLOR>1</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Magnesio</WIKIPEDIA> + <ATOMIC_WEIGHT>24.305</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>12</ATOMIC_NUMBER> + <OXIDATION_STATES>2</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">1380</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">922</MELTING_POINT> + <SYMBOL>Mg</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 1.74 + </DENSITY> + <ELECTRON_CONFIGURATION>[Ne] 3s2 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.36</COVALENT_RADIUS> + <ELECTRONEGATIVITY>1.31</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.6</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 127.6 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 14 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 8.95 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>7.646</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 1.02 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 156 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Manganese</NAME> + <NOMBRE>Manganeso</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Manganeso</WIKIPEDIA> + <ATOMIC_WEIGHT>54.938</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>25</ATOMIC_NUMBER> + <OXIDATION_STATES>7, 6, 4, 2, 3</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">2335</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">1518</MELTING_POINT> + <SYMBOL>Mn</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 7.44 + </DENSITY> + <ELECTRON_CONFIGURATION>[Ar] 3d5 4s2 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.17</COVALENT_RADIUS> + <ELECTRONEGATIVITY>1.55</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.35</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 219.74 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 7.39 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 14.64 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>7.435</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.48 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 7.82 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Molybdenum</NAME> + <NOMBRE>Molibdeno</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Molibdeno</WIKIPEDIA> + <ATOMIC_WEIGHT>95.94</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>42</ATOMIC_NUMBER> + <OXIDATION_STATES>6, 5, 4, 3, 2</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">4912</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">2896</MELTING_POINT> + <SYMBOL>Mo</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 10.22 + </DENSITY> + <ELECTRON_CONFIGURATION>[Kr] 4d5 5s1 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.3</COVALENT_RADIUS> + <ELECTRONEGATIVITY>2.16</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.39</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 590.4 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 9.4 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 36 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>7.099</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.25 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 138 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Meitnerium</NAME> + <NOMBRE>Meitherium</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Meitherium</WIKIPEDIA> + <ATOMIC_WEIGHT>266</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>109</ATOMIC_NUMBER> + <SYMBOL>Mt</SYMBOL> + <ELECTRON_CONFIGURATION>[Rn] 5f14 6d7 7s2 </ELECTRON_CONFIGURATION> + + + + </ATOM> + + <ATOM> + <NAME>Nitrogen</NAME> + <NOMBRE>Nitrógeno</NOMBRE><COLOR>5</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Nitrogeno</WIKIPEDIA> + <ATOMIC_WEIGHT>14.0067</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>7</ATOMIC_NUMBER> + <OXIDATION_STATES>+/-3, 5, 4, 2</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">77.344</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">63.15</MELTING_POINT> + <SYMBOL>N</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 1.251 + </DENSITY> + <ELECTRON_CONFIGURATION>1s2 2s2 p3 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">0.75</COVALENT_RADIUS> + <ELECTRONEGATIVITY>3.04</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">0.92</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 2.7928 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 17.3 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 0.36 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>14.534</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 1.042 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 0.02598 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Sodium</NAME> + <NOMBRE>Sodio</NOMBRE><COLOR>1</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Sodio</WIKIPEDIA> + <ATOMIC_WEIGHT>22.98977</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>11</ATOMIC_NUMBER> + <OXIDATION_STATES>1</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">1156</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">371</MELTING_POINT> + <SYMBOL>Na</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 0.97 + </DENSITY> + <ELECTRON_CONFIGURATION>[Ne] 3s1 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.54</COVALENT_RADIUS> + <ELECTRONEGATIVITY>0.93</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.9</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 98.01 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 23.7 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 2.601 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>5.139</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 1.23 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 141 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Niobium</NAME> + <NOMBRE>Niobio</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Niobio</WIKIPEDIA> + <ATOMIC_WEIGHT>92.9064</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>41</ATOMIC_NUMBER> + <OXIDATION_STATES>5, 3</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">5015</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">2742</MELTING_POINT> + <SYMBOL>Nb</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 8.57 + </DENSITY> + <ELECTRON_CONFIGURATION>[Kr] 4d4 5s1 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.34</COVALENT_RADIUS> + <ELECTRONEGATIVITY>1.6</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.46</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 690.1 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 10.8 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 26.9 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>6.88</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.265 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 53.7 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Neodymium</NAME> + <NOMBRE>Neodimio</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Neodimio</WIKIPEDIA> + <ATOMIC_WEIGHT>144.24</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>60</ATOMIC_NUMBER> + <OXIDATION_STATES>3</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">3347</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">1294</MELTING_POINT> + <SYMBOL>Nd</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 7.01 + </DENSITY> + <ELECTRON_CONFIGURATION>[Xe] 4f4 6s2 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.64</COVALENT_RADIUS> + <ELECTRONEGATIVITY>1.14</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.82</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 283.68 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 20.6 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 10.88 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>5.49</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.19 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 16.5 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Neon</NAME> + <NOMBRE>Neón</NOMBRE><COLOR>6</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Neon</WIKIPEDIA> + <ATOMIC_WEIGHT>20.1797</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>10</ATOMIC_NUMBER> + <BOILING_POINT UNITS="Kelvin">27.1</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">24.55</MELTING_POINT> + <SYMBOL>Ne</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 0.900 + </DENSITY> + <ELECTRON_CONFIGURATION>1s2 2s2 p6 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">0.71</COVALENT_RADIUS> + <ELECTRONEGATIVITY>0</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">0.51</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 1.77 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 16.9 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 0.34 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>21.564</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 1.03 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 0.0493 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Nickel</NAME> + <NOMBRE>Niquel</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Niquel</WIKIPEDIA> + <ATOMIC_WEIGHT>58.6934</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>28</ATOMIC_NUMBER> + <OXIDATION_STATES>2, 3</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">3005</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">1726</MELTING_POINT> + <SYMBOL>Ni</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 8.9 + </DENSITY> + <ELECTRON_CONFIGURATION>[Ar] 3d8 4s2 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.15</COVALENT_RADIUS> + <ELECTRONEGATIVITY>1.91</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.24</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 377.5 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 6.6 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 17.2 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>7.635</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.444 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 90.7 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Nobelium</NAME> + <NOMBRE>Nobelio</NOMBRE><COLOR>7</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Nobelio</WIKIPEDIA> + <ATOMIC_WEIGHT>259</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>102</ATOMIC_NUMBER> + <MELTING_POINT UNITS="Kelvin">1100</MELTING_POINT> + <SYMBOL>No</SYMBOL> + <ELECTRON_CONFIGURATION>[Rn] 5f14 7s2 </ELECTRON_CONFIGURATION> + <ELECTRONEGATIVITY>1.3</ELECTRONEGATIVITY> + + <IONIZATION_POTENTIAL>6.65</IONIZATION_POTENTIAL> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 10 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Neptunium</NAME> + <NOMBRE>Neptunio</NOMBRE><COLOR>7</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Neptunio</WIKIPEDIA> + <ATOMIC_WEIGHT>237.0482</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>93</ATOMIC_NUMBER> + <OXIDATION_STATES>6, 5, 4, 3</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">4175</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">912</MELTING_POINT> + <SYMBOL>Np</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 20.2 + </DENSITY> + <ELECTRON_CONFIGURATION>[Rn] 5f4 6d1 7s2 </ELECTRON_CONFIGURATION> + <ELECTRONEGATIVITY>1.36</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.3</ATOMIC_RADIUS> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 21.1 + </ATOMIC_VOLUME> + <IONIZATION_POTENTIAL>6.19</IONIZATION_POTENTIAL> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 6.3 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Oxygen</NAME> + <NOMBRE>Oxígeno</NOMBRE><COLOR>5</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Oxigeno</WIKIPEDIA> + <ATOMIC_WEIGHT>15.9994</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>8</ATOMIC_NUMBER> + <OXIDATION_STATES>-2</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">90.188</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">54.8</MELTING_POINT> + <SYMBOL>O</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 1.429 + </DENSITY> + <ELECTRON_CONFIGURATION>1s2 2s2 p4 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">0.73</COVALENT_RADIUS> + <ELECTRONEGATIVITY>3.44</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">0.65</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 3.4109 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 14 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 0.222 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>13.618</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.92 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 0.2674 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Osmium</NAME> + <NOMBRE>Osmio</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Osmio</WIKIPEDIA> + <ATOMIC_WEIGHT>190.2</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>76</ATOMIC_NUMBER> + <OXIDATION_STATES>2, 3, 4, 6, 8</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">5300</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">3300</MELTING_POINT> + <SYMBOL>Os</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 22.6 + </DENSITY> + <ELECTRON_CONFIGURATION>[Xe] 4f14 5d6 6s2 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.26</COVALENT_RADIUS> + <ELECTRONEGATIVITY>2.2</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.35</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 627.6 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 8.43 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 29.29 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>8.7</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.13 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 87.6 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Phosphorus</NAME> + <NOMBRE>Fósforo</NOMBRE><COLOR>5</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Fosforo</WIKIPEDIA> + <ATOMIC_WEIGHT>30.97376</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>15</ATOMIC_NUMBER> + <OXIDATION_STATES>+/-3, 5, 4</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">553</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">317.3</MELTING_POINT> + <SYMBOL>P</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 1.82 + </DENSITY> + <ELECTRON_CONFIGURATION>[Ne] 3s2 p3 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.06</COVALENT_RADIUS> + <ELECTRONEGATIVITY>2.19</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.28</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 12.4 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 17 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 0.63 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>10.486</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.769 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 0.235 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Protactinium</NAME> + <NOMBRE>Procatinio</NOMBRE><COLOR>7</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Proactinio</WIKIPEDIA> + <ATOMIC_WEIGHT>231.0359</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>91</ATOMIC_NUMBER> + <OXIDATION_STATES>5, 4</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">4300</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">1845</MELTING_POINT> + <SYMBOL>Pa</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 15.4 + </DENSITY> + <ELECTRON_CONFIGURATION>[Rn] 5f2 6d1 7s2 </ELECTRON_CONFIGURATION> + <ELECTRONEGATIVITY>1.5</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.61</ATOMIC_RADIUS> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 15 + </ATOMIC_VOLUME> + <IONIZATION_POTENTIAL>5.88</IONIZATION_POTENTIAL> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 47 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Lead</NAME> + <NOMBRE>Plomo</NOMBRE><COLOR>3</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Plomo</WIKIPEDIA> + <ATOMIC_WEIGHT>207.2</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>82</ATOMIC_NUMBER> + <OXIDATION_STATES>4, 2</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">2023</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">600.65</MELTING_POINT> + <SYMBOL>Pb</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 11.35 + </DENSITY> + <ELECTRON_CONFIGURATION>[Xe] 4f14 5d10 6s2 p2 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.47</COVALENT_RADIUS> + <ELECTRONEGATIVITY>2.33</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.75</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 177.9 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 18.3 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 4.77 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>7.416</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.129 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 35.3 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Palladium</NAME> + <NOMBRE>Paladio</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Paladio</WIKIPEDIA> + <ATOMIC_WEIGHT>106.42</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>46</ATOMIC_NUMBER> + <OXIDATION_STATES>2, 4</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">3240</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">1825</MELTING_POINT> + <SYMBOL>Pd</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 12 + </DENSITY> + <ELECTRON_CONFIGURATION>[Kr] 4d10 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.28</COVALENT_RADIUS> + <ELECTRONEGATIVITY>2.2</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.37</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 393.3 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 8.9 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 16.74 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>8.34</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.244 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 71.8 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Promethium</NAME> + <NOMBRE>Promecio</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Promecio</WIKIPEDIA> + <ATOMIC_WEIGHT>145</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>61</ATOMIC_NUMBER> + <OXIDATION_STATES>3</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">3273</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">1315</MELTING_POINT> + <SYMBOL>Pm</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 7.22 + </DENSITY> + <ELECTRON_CONFIGURATION>[Xe] 4f5 6s2 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.63</COVALENT_RADIUS> + <ELECTRONEGATIVITY>1.13</ELECTRONEGATIVITY> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 22.4 + </ATOMIC_VOLUME> + <IONIZATION_POTENTIAL>5.55</IONIZATION_POTENTIAL> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 17.9 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Polonium</NAME> + <NOMBRE>Polonio</NOMBRE><COLOR>3</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Polonio</WIKIPEDIA> + <ATOMIC_WEIGHT>209</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>84</ATOMIC_NUMBER> + <OXIDATION_STATES>4, 2</OXIDATION_STATES> + <MELTING_POINT UNITS="Kelvin">527</MELTING_POINT> + <SYMBOL>Po</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 9.3 + </DENSITY> + <ELECTRON_CONFIGURATION>[Xe] 4f14 5d10 6s2 p4 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.53</COVALENT_RADIUS> + <ELECTRONEGATIVITY>2</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.67</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 120 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 22.7 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 13 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>8.42</IONIZATION_POTENTIAL> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 20 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Praseodymium</NAME> + <NOMBRE>Praseodimio</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Prasedimio</WIKIPEDIA> + <ATOMIC_WEIGHT>140.9077</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>59</ATOMIC_NUMBER> + <OXIDATION_STATES>3, 4</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">3785</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">1204</MELTING_POINT> + <SYMBOL>Pr</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 6.77 + </DENSITY> + <ELECTRON_CONFIGURATION>[Xe] 4f3 6s2 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.65</COVALENT_RADIUS> + <ELECTRONEGATIVITY>1.13</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.82</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 332.63 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 20.8 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 10.04 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>5.42</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.193 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 12.5 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Platinum</NAME> + <NOMBRE>Platino</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Platino</WIKIPEDIA> + <ATOMIC_WEIGHT>195.08</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>78</ATOMIC_NUMBER> + <OXIDATION_STATES>2, 4</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">4100</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">2042.1</MELTING_POINT> + <SYMBOL>Pt</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 21.45 + </DENSITY> + <ELECTRON_CONFIGURATION>[Xe] 4f14 5d9 6s1 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.3</COVALENT_RADIUS> + <ELECTRONEGATIVITY>2.28</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.39</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 510.45 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 9.1 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 19.66 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>9</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.13 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 71.6 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Plutonium</NAME> + <NOMBRE>Plutonio</NOMBRE><COLOR>7</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Plutonio</WIKIPEDIA> + <ATOMIC_WEIGHT>244</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>94</ATOMIC_NUMBER> + <OXIDATION_STATES>6, 5, 4, 3</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">3505</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">913</MELTING_POINT> + <SYMBOL>Pu</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 19.84 + </DENSITY> + <ELECTRON_CONFIGURATION>[Rn] 5f6 7s2 </ELECTRON_CONFIGURATION> + <ELECTRONEGATIVITY>1.28</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.51</ATOMIC_RADIUS> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 12.32 + </ATOMIC_VOLUME> + <IONIZATION_POTENTIAL>6.06</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.13 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 6.74 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Radium</NAME> + <NOMBRE>Radio</NOMBRE><COLOR>1</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Radio</WIKIPEDIA> + <ATOMIC_WEIGHT>226.0254</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>88</ATOMIC_NUMBER> + <OXIDATION_STATES>2</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">1413</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">973</MELTING_POINT> + <SYMBOL>Ra</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 5 + </DENSITY> + <ELECTRON_CONFIGURATION>[Rn] 7s2 </ELECTRON_CONFIGURATION> + <ELECTRONEGATIVITY>0.89</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">2.33</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 136.82 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 45.2 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 8.37 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>5.279</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.094 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 18.6 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Rubidium</NAME> + <NOMBRE>Rubidio</NOMBRE><COLOR>1</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Rubidio</WIKIPEDIA> + <ATOMIC_WEIGHT>85.4678</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>37</ATOMIC_NUMBER> + <OXIDATION_STATES>1</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">961</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">312.63</MELTING_POINT> + <SYMBOL>Rb</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 1.532 + </DENSITY> + <ELECTRON_CONFIGURATION>[Kr] 5s1 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">2.16</COVALENT_RADIUS> + <ELECTRONEGATIVITY>0.82</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">2.48</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 69.2 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 55.9 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 2.34 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>4.177</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.363 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 58.2 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Rhenium</NAME> + <NOMBRE>Renio</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Renio</WIKIPEDIA> + <ATOMIC_WEIGHT>186.207</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>75</ATOMIC_NUMBER> + <OXIDATION_STATES>7, 6, 4, 2, -1</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">5870</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">3455</MELTING_POINT> + <SYMBOL>Re</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 21 + </DENSITY> + <ELECTRON_CONFIGURATION>[Xe] 4f14 5d5 6s2 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.28</COVALENT_RADIUS> + <ELECTRONEGATIVITY>1.9</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.37</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 707.1 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 8.85 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 33.05 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>7.88</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.137 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 47.9 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Rutherfordium</NAME> + <NOMBRE>Rutherfordium</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Rutherfordium</WIKIPEDIA> + <ATOMIC_WEIGHT>261</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>104</ATOMIC_NUMBER> + <SYMBOL>Rf</SYMBOL> + <ELECTRON_CONFIGURATION>[Rn] 5f14 6d2 7s2 </ELECTRON_CONFIGURATION> + + + + </ATOM> + + <ATOM> + <NAME>Rhodium</NAME> + <NOMBRE>Rodio</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Rodio</WIKIPEDIA> + <ATOMIC_WEIGHT>102.9055</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>45</ATOMIC_NUMBER> + <OXIDATION_STATES>2, 3, 4</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">3970</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">2236</MELTING_POINT> + <SYMBOL>Rh</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 12.41 + </DENSITY> + <ELECTRON_CONFIGURATION>[Kr] 4d8 5s1 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.25</COVALENT_RADIUS> + <ELECTRONEGATIVITY>2.28</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.34</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 495.39 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 8.3 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 21.76 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>7.46</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.242 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 150 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Radon</NAME> + <NOMBRE>Radón</NOMBRE><COLOR>6</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Radon</WIKIPEDIA> + <ATOMIC_WEIGHT>222</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>86</ATOMIC_NUMBER> + <BOILING_POINT UNITS="Kelvin">211.4</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">202</MELTING_POINT> + <SYMBOL>Rn</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 9.73 + </DENSITY> + <ELECTRON_CONFIGURATION>[Xe] 4f14 5d10 6s2 p6 </ELECTRON_CONFIGURATION> + <ELECTRONEGATIVITY>0</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.34</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 16.4 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 50.5 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 2.9 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>10.748</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.094 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 0.00364 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Ruthenium</NAME> + <NOMBRE>Rutenio</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Rutenio</WIKIPEDIA> + <ATOMIC_WEIGHT>101.07</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>44</ATOMIC_NUMBER> + <OXIDATION_STATES>2, 3, 4, 6, 8</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">4425</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">2610</MELTING_POINT> + <SYMBOL>Ru</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 12.37 + </DENSITY> + <ELECTRON_CONFIGURATION>[Kr] 4d7 5s1 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.25</COVALENT_RADIUS> + <ELECTRONEGATIVITY>2.2</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.34</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 567.77 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 8.3 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 25.52 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>7.37</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.238 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 117 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Sulfur</NAME> + <NOMBRE>Azufre</NOMBRE><COLOR>5</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Azufre</WIKIPEDIA> + <ATOMIC_WEIGHT>32.066</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>16</ATOMIC_NUMBER> + <OXIDATION_STATES>+/-2, 4, 6</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">717.82</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">392.2</MELTING_POINT> + <SYMBOL>S</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 2.07 + </DENSITY> + <ELECTRON_CONFIGURATION>[Ne] 3s2 p4 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.02</COVALENT_RADIUS> + <ELECTRONEGATIVITY>2.58</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.27</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 10 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 15.5 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 1.73 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>10.36</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.71 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 0.269 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Silver</NAME> + <NOMBRE>Plata</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Plata</WIKIPEDIA> + <ATOMIC_WEIGHT>107.868</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>47</ATOMIC_NUMBER> + <OXIDATION_STATES>1</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">2436</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">1235.08</MELTING_POINT> + <SYMBOL>Ag</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 10.5 + </DENSITY> + <ELECTRON_CONFIGURATION>[Kr] 4d10 5s1 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.34</COVALENT_RADIUS> + <ELECTRONEGATIVITY>1.93</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.44</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 250.63 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 10.3 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 11.3 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>7.576</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.232 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 429 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Scandium</NAME> + <NOMBRE>Escandio</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Escandio</WIKIPEDIA> + <ATOMIC_WEIGHT>44.9559</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>21</ATOMIC_NUMBER> + <OXIDATION_STATES>3</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">3109</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">1814</MELTING_POINT> + <SYMBOL>Sc</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 2.99 + </DENSITY> + <ELECTRON_CONFIGURATION>[Ar] 3d1 4s2 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.44</COVALENT_RADIUS> + <ELECTRONEGATIVITY>1.36</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.62</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 304.8 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 15 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 16.11 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>6.54</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.568 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 15.8 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Selenium</NAME> + <NOMBRE>Selenio</NOMBRE><COLOR>5</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Selenio</WIKIPEDIA> + <ATOMIC_WEIGHT>78.96</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>34</ATOMIC_NUMBER> + <OXIDATION_STATES>-2, 4, 6</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">958</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">494</MELTING_POINT> + <SYMBOL>Se</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 4.79 + </DENSITY> + <ELECTRON_CONFIGURATION>[Ar] 3d10 4s2 p4 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.16</COVALENT_RADIUS> + <ELECTRONEGATIVITY>2.55</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.4</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 26.32 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 16.5 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 5.54 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>9.752</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.32 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 2.04 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Seaborgium</NAME> + <NOMBRE>Seaborgium</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Seaborgium</WIKIPEDIA> + <ATOMIC_WEIGHT>263</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>106</ATOMIC_NUMBER> + <SYMBOL>Sg</SYMBOL> + <ELECTRON_CONFIGURATION>[Rn] 5f14 6d4 7s2 </ELECTRON_CONFIGURATION> + + + + </ATOM> + + <ATOM> + <NAME>Silicon</NAME> + <NOMBRE>Silicio</NOMBRE><COLOR>4</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Silicio</WIKIPEDIA> + <ATOMIC_WEIGHT>28.0855</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>14</ATOMIC_NUMBER> + <OXIDATION_STATES>4</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">2630</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">1683</MELTING_POINT> + <SYMBOL>Si</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 2.33 + </DENSITY> + <ELECTRON_CONFIGURATION>[Ne] 3s2 p2 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.11</COVALENT_RADIUS> + <ELECTRONEGATIVITY>1.9</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.32</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 359 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 12.1 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 50.2 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>8.151</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.70 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 148 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Samarium</NAME> + <NOMBRE>Samario</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Samario</WIKIPEDIA> + <ATOMIC_WEIGHT>150.36</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>62</ATOMIC_NUMBER> + <OXIDATION_STATES>3, 2</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">2067</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">1347</MELTING_POINT> + <SYMBOL>Sm</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 7.52 + </DENSITY> + <ELECTRON_CONFIGURATION>[Xe] 4f6 6s2 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.62</COVALENT_RADIUS> + <ELECTRONEGATIVITY>1.17</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.81</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 191.63 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 19.9 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 11.09 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>5.63</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.197 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 13.3 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Strontium</NAME> + <NOMBRE>Estroncio</NOMBRE><COLOR>1</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Estroncio</WIKIPEDIA> + <ATOMIC_WEIGHT>87.62</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>38</ATOMIC_NUMBER> + <OXIDATION_STATES>2</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">1655</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">1042</MELTING_POINT> + <SYMBOL>Sr</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 2.54 + </DENSITY> + <ELECTRON_CONFIGURATION>[Kr] 5s2 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.91</COVALENT_RADIUS> + <ELECTRONEGATIVITY>0.95</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">2.15</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 136.9 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 33.7 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 8.2 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>5.695</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.3 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 35.3 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Tantalum</NAME> + <NOMBRE>Tántalio</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Tantalio</WIKIPEDIA> + <ATOMIC_WEIGHT>180.9479</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>73</ATOMIC_NUMBER> + <OXIDATION_STATES>5</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">5730</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">3293</MELTING_POINT> + <SYMBOL>Ta</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 16.65 + </DENSITY> + <ELECTRON_CONFIGURATION>[Xe] 4f14 5d3 6s2 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.34</COVALENT_RADIUS> + <ELECTRONEGATIVITY>1.5</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.49</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 737 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 10.9 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 36 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>7.89</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.14 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 57.5 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Terbium</NAME> + <NOMBRE>Terbio</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Terbio</WIKIPEDIA> + <ATOMIC_WEIGHT>158.9253</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>65</ATOMIC_NUMBER> + <OXIDATION_STATES>3, 4</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">3500</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">1629</MELTING_POINT> + <SYMBOL>Tb</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 8.23 + </DENSITY> + <ELECTRON_CONFIGURATION>[Xe] 4f9 6s2 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.59</COVALENT_RADIUS> + <ELECTRONEGATIVITY>1.1</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.8</ATOMIC_RADIUS> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 19.2 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 15.48 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>5.86</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.18 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 11.1 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Technetium</NAME> + <NOMBRE>Tecnecio</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Tecnecio</WIKIPEDIA> + <ATOMIC_WEIGHT>98</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>43</ATOMIC_NUMBER> + <OXIDATION_STATES>7</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">4538</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">2477</MELTING_POINT> + <SYMBOL>Tc</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 11.5 + </DENSITY> + <ELECTRON_CONFIGURATION>[Kr] 4d5 5s2 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.27</COVALENT_RADIUS> + <ELECTRONEGATIVITY>1.9</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.36</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 502 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 8.5 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 23 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>7.28</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.24 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 50.6 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Tellurium</NAME> + <NOMBRE>Teluro</NOMBRE><COLOR>4</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Teluro</WIKIPEDIA> + <ATOMIC_WEIGHT>127.6</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>52</ATOMIC_NUMBER> + <OXIDATION_STATES>-2, 4, 6</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">1261</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">722.72</MELTING_POINT> + <SYMBOL>Te</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 6.24 + </DENSITY> + <ELECTRON_CONFIGURATION>[Kr] 4d10 5s2 p4 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.36</COVALENT_RADIUS> + <ELECTRONEGATIVITY>2.1</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.42</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 50.63 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 20.5 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 17.49 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>9.009</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.202 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 2.35 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Thorium</NAME> + <NOMBRE>Torio</NOMBRE><COLOR>7</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Torio</WIKIPEDIA> + <ATOMIC_WEIGHT>232.0381</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>90</ATOMIC_NUMBER> + <OXIDATION_STATES>4</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">5060</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">2028</MELTING_POINT> + <SYMBOL>Th</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 11.72 + </DENSITY> + <ELECTRON_CONFIGURATION>[Rn] 6d2 7s2 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.65</COVALENT_RADIUS> + <ELECTRONEGATIVITY>1.3</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.8</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 543.92 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 19.9 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 15.65 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>6.08</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.113 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 54 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Tin</NAME> + <NOMBRE>Estaño</NOMBRE><COLOR>3</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Estaño</WIKIPEDIA> + <ATOMIC_WEIGHT>118.71</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>50</ATOMIC_NUMBER> + <OXIDATION_STATES>4, 2</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">2876</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">505.12</MELTING_POINT> + <SYMBOL>Sn</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 7.31 + </DENSITY> + <ELECTRON_CONFIGURATION>[Kr] 4d10 5s2 p2 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.41</COVALENT_RADIUS> + <ELECTRONEGATIVITY>1.96</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.62</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 290.37 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 16.3 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 7.2 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>7.344</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.228 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 66.6 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Titanium</NAME> + <NOMBRE>Titanio</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Titanio</WIKIPEDIA> + <ATOMIC_WEIGHT>47.88</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>22</ATOMIC_NUMBER> + <OXIDATION_STATES>4, 3</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">3560</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">1945</MELTING_POINT> + <SYMBOL>Ti</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 4.54 + </DENSITY> + <ELECTRON_CONFIGURATION>[Ar] 3d2 4s2 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.32</COVALENT_RADIUS> + <ELECTRONEGATIVITY>1.54</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.45</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 425.2 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 10.6 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 18.6 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>6.82</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.523 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 21.9 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Thallium</NAME> + <NOMBRE>Talio</NOMBRE><COLOR>3</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Talio</WIKIPEDIA> + <ATOMIC_WEIGHT>204.383</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>81</ATOMIC_NUMBER> + <OXIDATION_STATES>3, 1</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">1746</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">577</MELTING_POINT> + <SYMBOL>Tl</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 11.85 + </DENSITY> + <ELECTRON_CONFIGURATION>[Xe] 4f14 5d10 6s2 p1 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.48</COVALENT_RADIUS> + <ELECTRONEGATIVITY>2.04</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.71</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 162.09 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 17.2 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 4.27 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>6.108</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.129 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 46.1 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Thulium</NAME> + <NOMBRE>Tulio</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Tulio</WIKIPEDIA> + <ATOMIC_WEIGHT>168.9342</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>69</ATOMIC_NUMBER> + <OXIDATION_STATES>3, 2</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">2223</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">1818</MELTING_POINT> + <SYMBOL>Tm</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 9.32 + </DENSITY> + <ELECTRON_CONFIGURATION>[Xe] 4f13 6s2 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.56</COVALENT_RADIUS> + <ELECTRONEGATIVITY>1.25</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.77</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 191 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 18.1 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 16.8 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>6.184</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.16 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 16.8 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Uranium</NAME> + <NOMBRE>Uranio</NOMBRE><COLOR>7</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Uranio</WIKIPEDIA> + <ATOMIC_WEIGHT>238.029</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>92</ATOMIC_NUMBER> + <OXIDATION_STATES>6, 5, 4, 3</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">4407</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">1408</MELTING_POINT> + <SYMBOL>U</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 18.95 + </DENSITY> + <ELECTRON_CONFIGURATION>[Rn] 5f3 6d1 7s2 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.42</COVALENT_RADIUS> + <ELECTRONEGATIVITY>1.38</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.38</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 422.58 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 12.5 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 15.48 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>6.05</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.12 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 27.6 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>ununbium</NAME> + <NOMBRE>Unumbium</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Unumbium</WIKIPEDIA> + <ATOMIC_WEIGHT>277</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>112</ATOMIC_NUMBER> + <SYMBOL>Uub</SYMBOL> + <ELECTRON_CONFIGURATION>[Rn] 5f14 6d10 7s2 </ELECTRON_CONFIGURATION> + + + + </ATOM> + + <ATOM> + <NAME>ununnilium</NAME> + <NOMBRE>Ununnilium</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Ununnilium</WIKIPEDIA> + <ATOMIC_WEIGHT>269</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>110</ATOMIC_NUMBER> + <SYMBOL>Uun</SYMBOL> + <ELECTRON_CONFIGURATION>[Rn] 5f14 6d8 7s2 </ELECTRON_CONFIGURATION> + + + + </ATOM> + + <ATOM> + <NAME>unununium</NAME> + <NOMBRE>Unnununium</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Unnununium</WIKIPEDIA> + <ATOMIC_WEIGHT>272</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>111</ATOMIC_NUMBER> + <SYMBOL>Uuu</SYMBOL> + <ELECTRON_CONFIGURATION>[Rn] 5f14 6d9 7s2 </ELECTRON_CONFIGURATION> + + + + </ATOM> + + <ATOM> + <NAME>Vanadium</NAME> + <NOMBRE>Vanadio</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Vanadio</WIKIPEDIA> + <ATOMIC_WEIGHT>50.9415</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>23</ATOMIC_NUMBER> + <OXIDATION_STATES>5, 4, 3, 2</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">3650</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">2163</MELTING_POINT> + <SYMBOL>V</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 6.11 + </DENSITY> + <ELECTRON_CONFIGURATION>[Ar] 3d3 4s2 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.22</COVALENT_RADIUS> + <ELECTRONEGATIVITY>1.63</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.34</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 446.7 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 8.35 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 20.8 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>6.74</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.489 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 30.7 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Tungsten</NAME> + <NOMBRE>Tungsteno</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Tungsteno</WIKIPEDIA> + <ATOMIC_WEIGHT>183.85</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>74</ATOMIC_NUMBER> + <OXIDATION_STATES>6, 5, 4, 3, 2</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">5825</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">3695</MELTING_POINT> + <SYMBOL>W</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 19.3 + </DENSITY> + <ELECTRON_CONFIGURATION>[Xe] 4f14 5d4 6s2 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.3</COVALENT_RADIUS> + <ELECTRONEGATIVITY>2.36</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.41</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 422.58 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 9.53 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 35.4 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>7.98</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.13 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 174 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM STATE='GAS'> + <NAME>Xenon</NAME> + <NOMBRE>Xenón</NOMBRE><COLOR>6</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Xenon</WIKIPEDIA> + <ATOMIC_WEIGHT>131.29</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>54</ATOMIC_NUMBER> + <BOILING_POINT UNITS="Kelvin">165.1</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">161.39</MELTING_POINT> + <SYMBOL>Xe</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 5.9 + </DENSITY> + <ELECTRON_CONFIGURATION>[Kr] 4d10 5s2 p6 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.31</COVALENT_RADIUS> + <ELECTRONEGATIVITY>2.6</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.24</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 12.64 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 42.9 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 2.3 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>12.13</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.158 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 0.00569 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Yttrium</NAME> + <NOMBRE>Itrio</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Itrio</WIKIPEDIA> + <ATOMIC_WEIGHT>88.9059</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>39</ATOMIC_NUMBER> + <OXIDATION_STATES>3</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">3611</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">1795</MELTING_POINT> + <SYMBOL>Y</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 4.47 + </DENSITY> + <ELECTRON_CONFIGURATION>[Kr] 4d1 5s2 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.62</COVALENT_RADIUS> + <ELECTRONEGATIVITY>1.22</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.78</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 363.3 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 19.8 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 17.5 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>6.38</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.3 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 17.2 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Ytterbium</NAME> + <NOMBRE>Iterbio</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Iterbio</WIKIPEDIA> + <ATOMIC_WEIGHT>173.04</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>70</ATOMIC_NUMBER> + <OXIDATION_STATES>3, 2</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">1469</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">1092</MELTING_POINT> + <SYMBOL>Yb</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 6.97 + </DENSITY> + <ELECTRON_CONFIGURATION>[Xe] 4f14 6s2 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.7</COVALENT_RADIUS> + <ELECTRONEGATIVITY>1.1</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.94</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 128 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 24.8 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 7.7 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>6.254</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.155 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 34.9 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Zinc</NAME> + <NOMBRE>Cinc</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Cinc</WIKIPEDIA> + <ATOMIC_WEIGHT>65.39</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>30</ATOMIC_NUMBER> + <OXIDATION_STATES>2</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">1180</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">692.73</MELTING_POINT> + <SYMBOL>Zn</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 7.13 + </DENSITY> + <ELECTRON_CONFIGURATION>[Ar] 3d10 4s2 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.25</COVALENT_RADIUS> + <ELECTRONEGATIVITY>1.65</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.38</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 115.3 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 9.2 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 7.38 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>9.394</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.388 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 116 + </THERMAL_CONDUCTIVITY> + </ATOM> + + <ATOM> + <NAME>Zirconium</NAME> + <NOMBRE>Circonio</NOMBRE><COLOR>2</COLOR> + <WIKIPEDIA>http://es.wikipedia.org/wiki/Circonio</WIKIPEDIA> + <ATOMIC_WEIGHT>91.224</ATOMIC_WEIGHT> + <ATOMIC_NUMBER>40</ATOMIC_NUMBER> + <OXIDATION_STATES>4</OXIDATION_STATES> + <BOILING_POINT UNITS="Kelvin">4682</BOILING_POINT> + <MELTING_POINT UNITS="Kelvin">2128</MELTING_POINT> + <SYMBOL>Zr</SYMBOL> + <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K --> + 6.51 + </DENSITY> + <ELECTRON_CONFIGURATION>[Kr] 4d2 5s2 </ELECTRON_CONFIGURATION> + <COVALENT_RADIUS UNITS="Angstroms">1.45</COVALENT_RADIUS> + <ELECTRONEGATIVITY>1.33</ELECTRONEGATIVITY> + <ATOMIC_RADIUS UNITS="Angstroms">1.6</ATOMIC_RADIUS> + <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole"> + 590.5 + </HEAT_OF_VAPORIZATION> + <ATOMIC_VOLUME UNITS="cubic centimeters/mole"> + 14.1 + </ATOMIC_VOLUME> + <HEAT_OF_FUSION UNITS="kilojoules/mole"> + 21 + </HEAT_OF_FUSION> + <IONIZATION_POTENTIAL>6.84</IONIZATION_POTENTIAL> + <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin"> + 0.278 + </SPECIFIC_HEAT_CAPACITY> + <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin"> + <!-- At 300K --> + 22.7 + </THERMAL_CONDUCTIVITY> + </ATOM> + +</PERIODIC_TABLE> diff --git a/web/datos.js b/web/datos.js new file mode 100644 index 0000000..4af3d93 --- /dev/null +++ b/web/datos.js @@ -0,0 +1 @@ +textos = new Array(new Array('Cromo','metal brillante'),new Array('Hidrogeno','hidrogeno'),new Array('Boro','Como borocoto'),new Array('Aluminio','Element metalico liviano muy comun'));
\ No newline at end of file diff --git a/web/jquery.js b/web/jquery.js new file mode 100644 index 0000000..2e43a82 --- /dev/null +++ b/web/jquery.js @@ -0,0 +1,3408 @@ +(function(){ +/* + * jQuery 1.2.3 - New Wave Javascript + * + * Copyright (c) 2008 John Resig (jquery.com) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * $Date: 2008-02-06 00:21:25 -0500 (Wed, 06 Feb 2008) $ + * $Rev: 4663 $ + */ + +// Map over jQuery in case of overwrite +if ( window.jQuery ) + var _jQuery = window.jQuery; + +var jQuery = window.jQuery = function( selector, context ) { + // The jQuery object is actually just the init constructor 'enhanced' + return new jQuery.prototype.init( selector, context ); +}; + +// Map over the $ in case of overwrite +if ( window.$ ) + var _$ = window.$; + +// Map the jQuery namespace to the '$' one +window.$ = jQuery; + +// A simple way to check for HTML strings or ID strings +// (both of which we optimize for) +var quickExpr = /^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/; + +// Is it a simple selector +var isSimple = /^.[^:#\[\.]*$/; + +jQuery.fn = jQuery.prototype = { + init: function( selector, context ) { + // Make sure that a selection was provided + selector = selector || document; + + // Handle $(DOMElement) + if ( selector.nodeType ) { + this[0] = selector; + this.length = 1; + return this; + + // Handle HTML strings + } else if ( typeof selector == "string" ) { + // Are we dealing with HTML string or an ID? + var match = quickExpr.exec( selector ); + + // Verify a match, and that no context was specified for #id + if ( match && (match[1] || !context) ) { + + // HANDLE: $(html) -> $(array) + if ( match[1] ) + selector = jQuery.clean( [ match[1] ], context ); + + // HANDLE: $("#id") + else { + var elem = document.getElementById( match[3] ); + + // Make sure an element was located + if ( elem ) + // Handle the case where IE and Opera return items + // by name instead of ID + if ( elem.id != match[3] ) + return jQuery().find( selector ); + + // Otherwise, we inject the element directly into the jQuery object + else { + this[0] = elem; + this.length = 1; + return this; + } + + else + selector = []; + } + + // HANDLE: $(expr, [context]) + // (which is just equivalent to: $(content).find(expr) + } else + return new jQuery( context ).find( selector ); + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( jQuery.isFunction( selector ) ) + return new jQuery( document )[ jQuery.fn.ready ? "ready" : "load" ]( selector ); + + return this.setArray( + // HANDLE: $(array) + selector.constructor == Array && selector || + + // HANDLE: $(arraylike) + // Watch for when an array-like object, contains DOM nodes, is passed in as the selector + (selector.jquery || selector.length && selector != window && !selector.nodeType && selector[0] != undefined && selector[0].nodeType) && jQuery.makeArray( selector ) || + + // HANDLE: $(*) + [ selector ] ); + }, + + // The current version of jQuery being used + jquery: "1.2.3", + + // The number of elements contained in the matched element set + size: function() { + return this.length; + }, + + // The number of elements contained in the matched element set + length: 0, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + return num == undefined ? + + // Return a 'clean' array + jQuery.makeArray( this ) : + + // Return just the object + this[ num ]; + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + // Build a new jQuery matched element set + var ret = jQuery( elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + // Return the newly-formed element set + return ret; + }, + + // Force the current matched set of elements to become + // the specified array of elements (destroying the stack in the process) + // You should use pushStack() in order to do this, but maintain the stack + setArray: function( elems ) { + // Resetting the length to 0, then using the native Array push + // is a super-fast way to populate an object with array-like properties + this.length = 0; + Array.prototype.push.apply( this, elems ); + + return this; + }, + + // Execute a callback for every element in the matched set. + // (You can seed the arguments with an array of args, but this is + // only used internally.) + each: function( callback, args ) { + return jQuery.each( this, callback, args ); + }, + + // Determine the position of an element within + // the matched set of elements + index: function( elem ) { + var ret = -1; + + // Locate the position of the desired element + this.each(function(i){ + if ( this == elem ) + ret = i; + }); + + return ret; + }, + + attr: function( name, value, type ) { + var options = name; + + // Look for the case where we're accessing a style value + if ( name.constructor == String ) + if ( value == undefined ) + return this.length && jQuery[ type || "attr" ]( this[0], name ) || undefined; + + else { + options = {}; + options[ name ] = value; + } + + // Check to see if we're setting style values + return this.each(function(i){ + // Set all the styles + for ( name in options ) + jQuery.attr( + type ? + this.style : + this, + name, jQuery.prop( this, options[ name ], type, i, name ) + ); + }); + }, + + css: function( key, value ) { + // ignore negative width and height values + if ( (key == 'width' || key == 'height') && parseFloat(value) < 0 ) + value = undefined; + return this.attr( key, value, "curCSS" ); + }, + + text: function( text ) { + if ( typeof text != "object" && text != null ) + return this.empty().append( (this[0] && this[0].ownerDocument || document).createTextNode( text ) ); + + var ret = ""; + + jQuery.each( text || this, function(){ + jQuery.each( this.childNodes, function(){ + if ( this.nodeType != 8 ) + ret += this.nodeType != 1 ? + this.nodeValue : + jQuery.fn.text( [ this ] ); + }); + }); + + return ret; + }, + + wrapAll: function( html ) { + if ( this[0] ) + // The elements to wrap the target around + jQuery( html, this[0].ownerDocument ) + .clone() + .insertBefore( this[0] ) + .map(function(){ + var elem = this; + + while ( elem.firstChild ) + elem = elem.firstChild; + + return elem; + }) + .append(this); + + return this; + }, + + wrapInner: function( html ) { + return this.each(function(){ + jQuery( this ).contents().wrapAll( html ); + }); + }, + + wrap: function( html ) { + return this.each(function(){ + jQuery( this ).wrapAll( html ); + }); + }, + + append: function() { + return this.domManip(arguments, true, false, function(elem){ + if (this.nodeType == 1) + this.appendChild( elem ); + }); + }, + + prepend: function() { + return this.domManip(arguments, true, true, function(elem){ + if (this.nodeType == 1) + this.insertBefore( elem, this.firstChild ); + }); + }, + + before: function() { + return this.domManip(arguments, false, false, function(elem){ + this.parentNode.insertBefore( elem, this ); + }); + }, + + after: function() { + return this.domManip(arguments, false, true, function(elem){ + this.parentNode.insertBefore( elem, this.nextSibling ); + }); + }, + + end: function() { + return this.prevObject || jQuery( [] ); + }, + + find: function( selector ) { + var elems = jQuery.map(this, function(elem){ + return jQuery.find( selector, elem ); + }); + + return this.pushStack( /[^+>] [^+>]/.test( selector ) || selector.indexOf("..") > -1 ? + jQuery.unique( elems ) : + elems ); + }, + + clone: function( events ) { + // Do the clone + var ret = this.map(function(){ + if ( jQuery.browser.msie && !jQuery.isXMLDoc(this) ) { + // IE copies events bound via attachEvent when + // using cloneNode. Calling detachEvent on the + // clone will also remove the events from the orignal + // In order to get around this, we use innerHTML. + // Unfortunately, this means some modifications to + // attributes in IE that are actually only stored + // as properties will not be copied (such as the + // the name attribute on an input). + var clone = this.cloneNode(true), + container = document.createElement("div"); + container.appendChild(clone); + return jQuery.clean([container.innerHTML])[0]; + } else + return this.cloneNode(true); + }); + + // Need to set the expando to null on the cloned set if it exists + // removeData doesn't work here, IE removes it from the original as well + // this is primarily for IE but the data expando shouldn't be copied over in any browser + var clone = ret.find("*").andSelf().each(function(){ + if ( this[ expando ] != undefined ) + this[ expando ] = null; + }); + + // Copy the events from the original to the clone + if ( events === true ) + this.find("*").andSelf().each(function(i){ + if (this.nodeType == 3) + return; + var events = jQuery.data( this, "events" ); + + for ( var type in events ) + for ( var handler in events[ type ] ) + jQuery.event.add( clone[ i ], type, events[ type ][ handler ], events[ type ][ handler ].data ); + }); + + // Return the cloned set + return ret; + }, + + filter: function( selector ) { + return this.pushStack( + jQuery.isFunction( selector ) && + jQuery.grep(this, function(elem, i){ + return selector.call( elem, i ); + }) || + + jQuery.multiFilter( selector, this ) ); + }, + + not: function( selector ) { + if ( selector.constructor == String ) + // test special case where just one selector is passed in + if ( isSimple.test( selector ) ) + return this.pushStack( jQuery.multiFilter( selector, this, true ) ); + else + selector = jQuery.multiFilter( selector, this ); + + var isArrayLike = selector.length && selector[selector.length - 1] !== undefined && !selector.nodeType; + return this.filter(function() { + return isArrayLike ? jQuery.inArray( this, selector ) < 0 : this != selector; + }); + }, + + add: function( selector ) { + return !selector ? this : this.pushStack( jQuery.merge( + this.get(), + selector.constructor == String ? + jQuery( selector ).get() : + selector.length != undefined && (!selector.nodeName || jQuery.nodeName(selector, "form")) ? + selector : [selector] ) ); + }, + + is: function( selector ) { + return selector ? + jQuery.multiFilter( selector, this ).length > 0 : + false; + }, + + hasClass: function( selector ) { + return this.is( "." + selector ); + }, + + val: function( value ) { + if ( value == undefined ) { + + if ( this.length ) { + var elem = this[0]; + + // We need to handle select boxes special + if ( jQuery.nodeName( elem, "select" ) ) { + var index = elem.selectedIndex, + values = [], + options = elem.options, + one = elem.type == "select-one"; + + // Nothing was selected + if ( index < 0 ) + return null; + + // Loop through all the selected options + for ( var i = one ? index : 0, max = one ? index + 1 : options.length; i < max; i++ ) { + var option = options[ i ]; + + if ( option.selected ) { + // Get the specifc value for the option + value = jQuery.browser.msie && !option.attributes.value.specified ? option.text : option.value; + + // We don't need an array for one selects + if ( one ) + return value; + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + + // Everything else, we just grab the value + } else + return (this[0].value || "").replace(/\r/g, ""); + + } + + return undefined; + } + + return this.each(function(){ + if ( this.nodeType != 1 ) + return; + + if ( value.constructor == Array && /radio|checkbox/.test( this.type ) ) + this.checked = (jQuery.inArray(this.value, value) >= 0 || + jQuery.inArray(this.name, value) >= 0); + + else if ( jQuery.nodeName( this, "select" ) ) { + var values = value.constructor == Array ? + value : + [ value ]; + + jQuery( "option", this ).each(function(){ + this.selected = (jQuery.inArray( this.value, values ) >= 0 || + jQuery.inArray( this.text, values ) >= 0); + }); + + if ( !values.length ) + this.selectedIndex = -1; + + } else + this.value = value; + }); + }, + + html: function( value ) { + return value == undefined ? + (this.length ? + this[0].innerHTML : + null) : + this.empty().append( value ); + }, + + replaceWith: function( value ) { + return this.after( value ).remove(); + }, + + eq: function( i ) { + return this.slice( i, i + 1 ); + }, + + slice: function() { + return this.pushStack( Array.prototype.slice.apply( this, arguments ) ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map(this, function(elem, i){ + return callback.call( elem, i, elem ); + })); + }, + + andSelf: function() { + return this.add( this.prevObject ); + }, + + data: function( key, value ){ + var parts = key.split("."); + parts[1] = parts[1] ? "." + parts[1] : ""; + + if ( value == null ) { + var data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]); + + if ( data == undefined && this.length ) + data = jQuery.data( this[0], key ); + + return data == null && parts[1] ? + this.data( parts[0] ) : + data; + } else + return this.trigger("setData" + parts[1] + "!", [parts[0], value]).each(function(){ + jQuery.data( this, key, value ); + }); + }, + + removeData: function( key ){ + return this.each(function(){ + jQuery.removeData( this, key ); + }); + }, + + domManip: function( args, table, reverse, callback ) { + var clone = this.length > 1, elems; + + return this.each(function(){ + if ( !elems ) { + elems = jQuery.clean( args, this.ownerDocument ); + + if ( reverse ) + elems.reverse(); + } + + var obj = this; + + if ( table && jQuery.nodeName( this, "table" ) && jQuery.nodeName( elems[0], "tr" ) ) + obj = this.getElementsByTagName("tbody")[0] || this.appendChild( this.ownerDocument.createElement("tbody") ); + + var scripts = jQuery( [] ); + + jQuery.each(elems, function(){ + var elem = clone ? + jQuery( this ).clone( true )[0] : + this; + + // execute all scripts after the elements have been injected + if ( jQuery.nodeName( elem, "script" ) ) { + scripts = scripts.add( elem ); + } else { + // Remove any inner scripts for later evaluation + if ( elem.nodeType == 1 ) + scripts = scripts.add( jQuery( "script", elem ).remove() ); + + // Inject the elements into the document + callback.call( obj, elem ); + } + }); + + scripts.each( evalScript ); + }); + } +}; + +// Give the init function the jQuery prototype for later instantiation +jQuery.prototype.init.prototype = jQuery.prototype; + +function evalScript( i, elem ) { + if ( elem.src ) + jQuery.ajax({ + url: elem.src, + async: false, + dataType: "script" + }); + + else + jQuery.globalEval( elem.text || elem.textContent || elem.innerHTML || "" ); + + if ( elem.parentNode ) + elem.parentNode.removeChild( elem ); +} + +jQuery.extend = jQuery.fn.extend = function() { + // copy reference to target object + var target = arguments[0] || {}, i = 1, length = arguments.length, deep = false, options; + + // Handle a deep copy situation + if ( target.constructor == Boolean ) { + deep = target; + target = arguments[1] || {}; + // skip the boolean and the target + i = 2; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target != "object" && typeof target != "function" ) + target = {}; + + // extend jQuery itself if only one argument is passed + if ( length == 1 ) { + target = this; + i = 0; + } + + for ( ; i < length; i++ ) + // Only deal with non-null/undefined values + if ( (options = arguments[ i ]) != null ) + // Extend the base object + for ( var name in options ) { + // Prevent never-ending loop + if ( target === options[ name ] ) + continue; + + // Recurse if we're merging object values + if ( deep && options[ name ] && typeof options[ name ] == "object" && target[ name ] && !options[ name ].nodeType ) + target[ name ] = jQuery.extend( target[ name ], options[ name ] ); + + // Don't bring in undefined values + else if ( options[ name ] != undefined ) + target[ name ] = options[ name ]; + + } + + // Return the modified object + return target; +}; + +var expando = "jQuery" + (new Date()).getTime(), uuid = 0, windowData = {}; + +// exclude the following css properties to add px +var exclude = /z-?index|font-?weight|opacity|zoom|line-?height/i; + +jQuery.extend({ + noConflict: function( deep ) { + window.$ = _$; + + if ( deep ) + window.jQuery = _jQuery; + + return jQuery; + }, + + // See test/unit/core.js for details concerning this function. + isFunction: function( fn ) { + return !!fn && typeof fn != "string" && !fn.nodeName && + fn.constructor != Array && /function/i.test( fn + "" ); + }, + + // check if an element is in a (or is an) XML document + isXMLDoc: function( elem ) { + return elem.documentElement && !elem.body || + elem.tagName && elem.ownerDocument && !elem.ownerDocument.body; + }, + + // Evalulates a script in a global context + globalEval: function( data ) { + data = jQuery.trim( data ); + + if ( data ) { + // Inspired by code by Andrea Giammarchi + // http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom.html + var head = document.getElementsByTagName("head")[0] || document.documentElement, + script = document.createElement("script"); + + script.type = "text/javascript"; + if ( jQuery.browser.msie ) + script.text = data; + else + script.appendChild( document.createTextNode( data ) ); + + head.appendChild( script ); + head.removeChild( script ); + } + }, + + nodeName: function( elem, name ) { + return elem.nodeName && elem.nodeName.toUpperCase() == name.toUpperCase(); + }, + + cache: {}, + + data: function( elem, name, data ) { + elem = elem == window ? + windowData : + elem; + + var id = elem[ expando ]; + + // Compute a unique ID for the element + if ( !id ) + id = elem[ expando ] = ++uuid; + + // Only generate the data cache if we're + // trying to access or manipulate it + if ( name && !jQuery.cache[ id ] ) + jQuery.cache[ id ] = {}; + + // Prevent overriding the named cache with undefined values + if ( data != undefined ) + jQuery.cache[ id ][ name ] = data; + + // Return the named cache data, or the ID for the element + return name ? + jQuery.cache[ id ][ name ] : + id; + }, + + removeData: function( elem, name ) { + elem = elem == window ? + windowData : + elem; + + var id = elem[ expando ]; + + // If we want to remove a specific section of the element's data + if ( name ) { + if ( jQuery.cache[ id ] ) { + // Remove the section of cache data + delete jQuery.cache[ id ][ name ]; + + // If we've removed all the data, remove the element's cache + name = ""; + + for ( name in jQuery.cache[ id ] ) + break; + + if ( !name ) + jQuery.removeData( elem ); + } + + // Otherwise, we want to remove all of the element's data + } else { + // Clean up the element expando + try { + delete elem[ expando ]; + } catch(e){ + // IE has trouble directly removing the expando + // but it's ok with using removeAttribute + if ( elem.removeAttribute ) + elem.removeAttribute( expando ); + } + + // Completely remove the data cache + delete jQuery.cache[ id ]; + } + }, + + // args is for internal usage only + each: function( object, callback, args ) { + if ( args ) { + if ( object.length == undefined ) { + for ( var name in object ) + if ( callback.apply( object[ name ], args ) === false ) + break; + } else + for ( var i = 0, length = object.length; i < length; i++ ) + if ( callback.apply( object[ i ], args ) === false ) + break; + + // A special, fast, case for the most common use of each + } else { + if ( object.length == undefined ) { + for ( var name in object ) + if ( callback.call( object[ name ], name, object[ name ] ) === false ) + break; + } else + for ( var i = 0, length = object.length, value = object[0]; + i < length && callback.call( value, i, value ) !== false; value = object[++i] ){} + } + + return object; + }, + + prop: function( elem, value, type, i, name ) { + // Handle executable functions + if ( jQuery.isFunction( value ) ) + value = value.call( elem, i ); + + // Handle passing in a number to a CSS property + return value && value.constructor == Number && type == "curCSS" && !exclude.test( name ) ? + value + "px" : + value; + }, + + className: { + // internal only, use addClass("class") + add: function( elem, classNames ) { + jQuery.each((classNames || "").split(/\s+/), function(i, className){ + if ( elem.nodeType == 1 && !jQuery.className.has( elem.className, className ) ) + elem.className += (elem.className ? " " : "") + className; + }); + }, + + // internal only, use removeClass("class") + remove: function( elem, classNames ) { + if (elem.nodeType == 1) + elem.className = classNames != undefined ? + jQuery.grep(elem.className.split(/\s+/), function(className){ + return !jQuery.className.has( classNames, className ); + }).join(" ") : + ""; + }, + + // internal only, use is(".class") + has: function( elem, className ) { + return jQuery.inArray( className, (elem.className || elem).toString().split(/\s+/) ) > -1; + } + }, + + // A method for quickly swapping in/out CSS properties to get correct calculations + swap: function( elem, options, callback ) { + var old = {}; + // Remember the old values, and insert the new ones + for ( var name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + callback.call( elem ); + + // Revert the old values + for ( var name in options ) + elem.style[ name ] = old[ name ]; + }, + + css: function( elem, name, force ) { + if ( name == "width" || name == "height" ) { + var val, props = { position: "absolute", visibility: "hidden", display:"block" }, which = name == "width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ]; + + function getWH() { + val = name == "width" ? elem.offsetWidth : elem.offsetHeight; + var padding = 0, border = 0; + jQuery.each( which, function() { + padding += parseFloat(jQuery.curCSS( elem, "padding" + this, true)) || 0; + border += parseFloat(jQuery.curCSS( elem, "border" + this + "Width", true)) || 0; + }); + val -= Math.round(padding + border); + } + + if ( jQuery(elem).is(":visible") ) + getWH(); + else + jQuery.swap( elem, props, getWH ); + + return Math.max(0, val); + } + + return jQuery.curCSS( elem, name, force ); + }, + + curCSS: function( elem, name, force ) { + var ret; + + // A helper method for determining if an element's values are broken + function color( elem ) { + if ( !jQuery.browser.safari ) + return false; + + var ret = document.defaultView.getComputedStyle( elem, null ); + return !ret || ret.getPropertyValue("color") == ""; + } + + // We need to handle opacity special in IE + if ( name == "opacity" && jQuery.browser.msie ) { + ret = jQuery.attr( elem.style, "opacity" ); + + return ret == "" ? + "1" : + ret; + } + // Opera sometimes will give the wrong display answer, this fixes it, see #2037 + if ( jQuery.browser.opera && name == "display" ) { + var save = elem.style.outline; + elem.style.outline = "0 solid black"; + elem.style.outline = save; + } + + // Make sure we're using the right name for getting the float value + if ( name.match( /float/i ) ) + name = styleFloat; + + if ( !force && elem.style && elem.style[ name ] ) + ret = elem.style[ name ]; + + else if ( document.defaultView && document.defaultView.getComputedStyle ) { + + // Only "float" is needed here + if ( name.match( /float/i ) ) + name = "float"; + + name = name.replace( /([A-Z])/g, "-$1" ).toLowerCase(); + + var getComputedStyle = document.defaultView.getComputedStyle( elem, null ); + + if ( getComputedStyle && !color( elem ) ) + ret = getComputedStyle.getPropertyValue( name ); + + // If the element isn't reporting its values properly in Safari + // then some display: none elements are involved + else { + var swap = [], stack = []; + + // Locate all of the parent display: none elements + for ( var a = elem; a && color(a); a = a.parentNode ) + stack.unshift(a); + + // Go through and make them visible, but in reverse + // (It would be better if we knew the exact display type that they had) + for ( var i = 0; i < stack.length; i++ ) + if ( color( stack[ i ] ) ) { + swap[ i ] = stack[ i ].style.display; + stack[ i ].style.display = "block"; + } + + // Since we flip the display style, we have to handle that + // one special, otherwise get the value + ret = name == "display" && swap[ stack.length - 1 ] != null ? + "none" : + ( getComputedStyle && getComputedStyle.getPropertyValue( name ) ) || ""; + + // Finally, revert the display styles back + for ( var i = 0; i < swap.length; i++ ) + if ( swap[ i ] != null ) + stack[ i ].style.display = swap[ i ]; + } + + // We should always get a number back from opacity + if ( name == "opacity" && ret == "" ) + ret = "1"; + + } else if ( elem.currentStyle ) { + var camelCase = name.replace(/\-(\w)/g, function(all, letter){ + return letter.toUpperCase(); + }); + + ret = elem.currentStyle[ name ] || elem.currentStyle[ camelCase ]; + + // From the awesome hack by Dean Edwards + // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291 + + // If we're not dealing with a regular pixel number + // but a number that has a weird ending, we need to convert it to pixels + if ( !/^\d+(px)?$/i.test( ret ) && /^\d/.test( ret ) ) { + // Remember the original values + var style = elem.style.left, runtimeStyle = elem.runtimeStyle.left; + + // Put in the new values to get a computed value out + elem.runtimeStyle.left = elem.currentStyle.left; + elem.style.left = ret || 0; + ret = elem.style.pixelLeft + "px"; + + // Revert the changed values + elem.style.left = style; + elem.runtimeStyle.left = runtimeStyle; + } + } + + return ret; + }, + + clean: function( elems, context ) { + var ret = []; + context = context || document; + // !context.createElement fails in IE with an error but returns typeof 'object' + if (typeof context.createElement == 'undefined') + context = context.ownerDocument || context[0] && context[0].ownerDocument || document; + + jQuery.each(elems, function(i, elem){ + if ( !elem ) + return; + + if ( elem.constructor == Number ) + elem = elem.toString(); + + // Convert html string into DOM nodes + if ( typeof elem == "string" ) { + // Fix "XHTML"-style tags in all browsers + elem = elem.replace(/(<(\w+)[^>]*?)\/>/g, function(all, front, tag){ + return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i) ? + all : + front + "></" + tag + ">"; + }); + + // Trim whitespace, otherwise indexOf won't work as expected + var tags = jQuery.trim( elem ).toLowerCase(), div = context.createElement("div"); + + var wrap = + // option or optgroup + !tags.indexOf("<opt") && + [ 1, "<select multiple='multiple'>", "</select>" ] || + + !tags.indexOf("<leg") && + [ 1, "<fieldset>", "</fieldset>" ] || + + tags.match(/^<(thead|tbody|tfoot|colg|cap)/) && + [ 1, "<table>", "</table>" ] || + + !tags.indexOf("<tr") && + [ 2, "<table><tbody>", "</tbody></table>" ] || + + // <thead> matched above + (!tags.indexOf("<td") || !tags.indexOf("<th")) && + [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ] || + + !tags.indexOf("<col") && + [ 2, "<table><tbody></tbody><colgroup>", "</colgroup></table>" ] || + + // IE can't serialize <link> and <script> tags normally + jQuery.browser.msie && + [ 1, "div<div>", "</div>" ] || + + [ 0, "", "" ]; + + // Go to html and back, then peel off extra wrappers + div.innerHTML = wrap[1] + elem + wrap[2]; + + // Move to the right depth + while ( wrap[0]-- ) + div = div.lastChild; + + // Remove IE's autoinserted <tbody> from table fragments + if ( jQuery.browser.msie ) { + + // String was a <table>, *may* have spurious <tbody> + var tbody = !tags.indexOf("<table") && tags.indexOf("<tbody") < 0 ? + div.firstChild && div.firstChild.childNodes : + + // String was a bare <thead> or <tfoot> + wrap[1] == "<table>" && tags.indexOf("<tbody") < 0 ? + div.childNodes : + []; + + for ( var j = tbody.length - 1; j >= 0 ; --j ) + if ( jQuery.nodeName( tbody[ j ], "tbody" ) && !tbody[ j ].childNodes.length ) + tbody[ j ].parentNode.removeChild( tbody[ j ] ); + + // IE completely kills leading whitespace when innerHTML is used + if ( /^\s/.test( elem ) ) + div.insertBefore( context.createTextNode( elem.match(/^\s*/)[0] ), div.firstChild ); + + } + + elem = jQuery.makeArray( div.childNodes ); + } + + if ( elem.length === 0 && (!jQuery.nodeName( elem, "form" ) && !jQuery.nodeName( elem, "select" )) ) + return; + + if ( elem[0] == undefined || jQuery.nodeName( elem, "form" ) || elem.options ) + ret.push( elem ); + + else + ret = jQuery.merge( ret, elem ); + + }); + + return ret; + }, + + attr: function( elem, name, value ) { + // don't set attributes on text and comment nodes + if (!elem || elem.nodeType == 3 || elem.nodeType == 8) + return undefined; + + var fix = jQuery.isXMLDoc( elem ) ? + {} : + jQuery.props; + + // Safari mis-reports the default selected property of a hidden option + // Accessing the parent's selectedIndex property fixes it + if ( name == "selected" && jQuery.browser.safari ) + elem.parentNode.selectedIndex; + + // Certain attributes only work when accessed via the old DOM 0 way + if ( fix[ name ] ) { + if ( value != undefined ) + elem[ fix[ name ] ] = value; + + return elem[ fix[ name ] ]; + + } else if ( jQuery.browser.msie && name == "style" ) + return jQuery.attr( elem.style, "cssText", value ); + + else if ( value == undefined && jQuery.browser.msie && jQuery.nodeName( elem, "form" ) && (name == "action" || name == "method") ) + return elem.getAttributeNode( name ).nodeValue; + + // IE elem.getAttribute passes even for style + else if ( elem.tagName ) { + + if ( value != undefined ) { + // We can't allow the type property to be changed (since it causes problems in IE) + if ( name == "type" && jQuery.nodeName( elem, "input" ) && elem.parentNode ) + throw "type property can't be changed"; + + // convert the value to a string (all browsers do this but IE) see #1070 + elem.setAttribute( name, "" + value ); + } + + if ( jQuery.browser.msie && /href|src/.test( name ) && !jQuery.isXMLDoc( elem ) ) + return elem.getAttribute( name, 2 ); + + return elem.getAttribute( name ); + + // elem is actually elem.style ... set the style + } else { + // IE actually uses filters for opacity + if ( name == "opacity" && jQuery.browser.msie ) { + if ( value != undefined ) { + // IE has trouble with opacity if it does not have layout + // Force it by setting the zoom level + elem.zoom = 1; + + // Set the alpha filter to set the opacity + elem.filter = (elem.filter || "").replace( /alpha\([^)]*\)/, "" ) + + (parseFloat( value ).toString() == "NaN" ? "" : "alpha(opacity=" + value * 100 + ")"); + } + + return elem.filter && elem.filter.indexOf("opacity=") >= 0 ? + (parseFloat( elem.filter.match(/opacity=([^)]*)/)[1] ) / 100).toString() : + ""; + } + + name = name.replace(/-([a-z])/ig, function(all, letter){ + return letter.toUpperCase(); + }); + + if ( value != undefined ) + elem[ name ] = value; + + return elem[ name ]; + } + }, + + trim: function( text ) { + return (text || "").replace( /^\s+|\s+$/g, "" ); + }, + + makeArray: function( array ) { + var ret = []; + + // Need to use typeof to fight Safari childNodes crashes + if ( typeof array != "array" ) + for ( var i = 0, length = array.length; i < length; i++ ) + ret.push( array[ i ] ); + else + ret = array.slice( 0 ); + + return ret; + }, + + inArray: function( elem, array ) { + for ( var i = 0, length = array.length; i < length; i++ ) + if ( array[ i ] == elem ) + return i; + + return -1; + }, + + merge: function( first, second ) { + // We have to loop this way because IE & Opera overwrite the length + // expando of getElementsByTagName + + // Also, we need to make sure that the correct elements are being returned + // (IE returns comment nodes in a '*' query) + if ( jQuery.browser.msie ) { + for ( var i = 0; second[ i ]; i++ ) + if ( second[ i ].nodeType != 8 ) + first.push( second[ i ] ); + + } else + for ( var i = 0; second[ i ]; i++ ) + first.push( second[ i ] ); + + return first; + }, + + unique: function( array ) { + var ret = [], done = {}; + + try { + + for ( var i = 0, length = array.length; i < length; i++ ) { + var id = jQuery.data( array[ i ] ); + + if ( !done[ id ] ) { + done[ id ] = true; + ret.push( array[ i ] ); + } + } + + } catch( e ) { + ret = array; + } + + return ret; + }, + + grep: function( elems, callback, inv ) { + var ret = []; + + // Go through the array, only saving the items + // that pass the validator function + for ( var i = 0, length = elems.length; i < length; i++ ) + if ( !inv && callback( elems[ i ], i ) || inv && !callback( elems[ i ], i ) ) + ret.push( elems[ i ] ); + + return ret; + }, + + map: function( elems, callback ) { + var ret = []; + + // Go through the array, translating each of the items to their + // new value (or values). + for ( var i = 0, length = elems.length; i < length; i++ ) { + var value = callback( elems[ i ], i ); + + if ( value !== null && value != undefined ) { + if ( value.constructor != Array ) + value = [ value ]; + + ret = ret.concat( value ); + } + } + + return ret; + } +}); + +var userAgent = navigator.userAgent.toLowerCase(); + +// Figure out what browser is being used +jQuery.browser = { + version: (userAgent.match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [])[1], + safari: /webkit/.test( userAgent ), + opera: /opera/.test( userAgent ), + msie: /msie/.test( userAgent ) && !/opera/.test( userAgent ), + mozilla: /mozilla/.test( userAgent ) && !/(compatible|webkit)/.test( userAgent ) +}; + +var styleFloat = jQuery.browser.msie ? + "styleFloat" : + "cssFloat"; + +jQuery.extend({ + // Check to see if the W3C box model is being used + boxModel: !jQuery.browser.msie || document.compatMode == "CSS1Compat", + + props: { + "for": "htmlFor", + "class": "className", + "float": styleFloat, + cssFloat: styleFloat, + styleFloat: styleFloat, + innerHTML: "innerHTML", + className: "className", + value: "value", + disabled: "disabled", + checked: "checked", + readonly: "readOnly", + selected: "selected", + maxlength: "maxLength", + selectedIndex: "selectedIndex", + defaultValue: "defaultValue", + tagName: "tagName", + nodeName: "nodeName" + } +}); + +jQuery.each({ + parent: function(elem){return elem.parentNode;}, + parents: function(elem){return jQuery.dir(elem,"parentNode");}, + next: function(elem){return jQuery.nth(elem,2,"nextSibling");}, + prev: function(elem){return jQuery.nth(elem,2,"previousSibling");}, + nextAll: function(elem){return jQuery.dir(elem,"nextSibling");}, + prevAll: function(elem){return jQuery.dir(elem,"previousSibling");}, + siblings: function(elem){return jQuery.sibling(elem.parentNode.firstChild,elem);}, + children: function(elem){return jQuery.sibling(elem.firstChild);}, + contents: function(elem){return jQuery.nodeName(elem,"iframe")?elem.contentDocument||elem.contentWindow.document:jQuery.makeArray(elem.childNodes);} +}, function(name, fn){ + jQuery.fn[ name ] = function( selector ) { + var ret = jQuery.map( this, fn ); + + if ( selector && typeof selector == "string" ) + ret = jQuery.multiFilter( selector, ret ); + + return this.pushStack( jQuery.unique( ret ) ); + }; +}); + +jQuery.each({ + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function(name, original){ + jQuery.fn[ name ] = function() { + var args = arguments; + + return this.each(function(){ + for ( var i = 0, length = args.length; i < length; i++ ) + jQuery( args[ i ] )[ original ]( this ); + }); + }; +}); + +jQuery.each({ + removeAttr: function( name ) { + jQuery.attr( this, name, "" ); + if (this.nodeType == 1) + this.removeAttribute( name ); + }, + + addClass: function( classNames ) { + jQuery.className.add( this, classNames ); + }, + + removeClass: function( classNames ) { + jQuery.className.remove( this, classNames ); + }, + + toggleClass: function( classNames ) { + jQuery.className[ jQuery.className.has( this, classNames ) ? "remove" : "add" ]( this, classNames ); + }, + + remove: function( selector ) { + if ( !selector || jQuery.filter( selector, [ this ] ).r.length ) { + // Prevent memory leaks + jQuery( "*", this ).add(this).each(function(){ + jQuery.event.remove(this); + jQuery.removeData(this); + }); + if (this.parentNode) + this.parentNode.removeChild( this ); + } + }, + + empty: function() { + // Remove element nodes and prevent memory leaks + jQuery( ">*", this ).remove(); + + // Remove any remaining nodes + while ( this.firstChild ) + this.removeChild( this.firstChild ); + } +}, function(name, fn){ + jQuery.fn[ name ] = function(){ + return this.each( fn, arguments ); + }; +}); + +jQuery.each([ "Height", "Width" ], function(i, name){ + var type = name.toLowerCase(); + + jQuery.fn[ type ] = function( size ) { + // Get window width or height + return this[0] == window ? + // Opera reports document.body.client[Width/Height] properly in both quirks and standards + jQuery.browser.opera && document.body[ "client" + name ] || + + // Safari reports inner[Width/Height] just fine (Mozilla and Opera include scroll bar widths) + jQuery.browser.safari && window[ "inner" + name ] || + + // Everyone else use document.documentElement or document.body depending on Quirks vs Standards mode + document.compatMode == "CSS1Compat" && document.documentElement[ "client" + name ] || document.body[ "client" + name ] : + + // Get document width or height + this[0] == document ? + // Either scroll[Width/Height] or offset[Width/Height], whichever is greater + Math.max( + Math.max(document.body["scroll" + name], document.documentElement["scroll" + name]), + Math.max(document.body["offset" + name], document.documentElement["offset" + name]) + ) : + + // Get or set width or height on the element + size == undefined ? + // Get width or height on the element + (this.length ? jQuery.css( this[0], type ) : null) : + + // Set the width or height on the element (default to pixels if value is unitless) + this.css( type, size.constructor == String ? size : size + "px" ); + }; +}); + +var chars = jQuery.browser.safari && parseInt(jQuery.browser.version) < 417 ? + "(?:[\\w*_-]|\\\\.)" : + "(?:[\\w\u0128-\uFFFF*_-]|\\\\.)", + quickChild = new RegExp("^>\\s*(" + chars + "+)"), + quickID = new RegExp("^(" + chars + "+)(#)(" + chars + "+)"), + quickClass = new RegExp("^([#.]?)(" + chars + "*)"); + +jQuery.extend({ + expr: { + "": function(a,i,m){return m[2]=="*"||jQuery.nodeName(a,m[2]);}, + "#": function(a,i,m){return a.getAttribute("id")==m[2];}, + ":": { + // Position Checks + lt: function(a,i,m){return i<m[3]-0;}, + gt: function(a,i,m){return i>m[3]-0;}, + nth: function(a,i,m){return m[3]-0==i;}, + eq: function(a,i,m){return m[3]-0==i;}, + first: function(a,i){return i==0;}, + last: function(a,i,m,r){return i==r.length-1;}, + even: function(a,i){return i%2==0;}, + odd: function(a,i){return i%2;}, + + // Child Checks + "first-child": function(a){return a.parentNode.getElementsByTagName("*")[0]==a;}, + "last-child": function(a){return jQuery.nth(a.parentNode.lastChild,1,"previousSibling")==a;}, + "only-child": function(a){return !jQuery.nth(a.parentNode.lastChild,2,"previousSibling");}, + + // Parent Checks + parent: function(a){return a.firstChild;}, + empty: function(a){return !a.firstChild;}, + + // Text Check + contains: function(a,i,m){return (a.textContent||a.innerText||jQuery(a).text()||"").indexOf(m[3])>=0;}, + + // Visibility + visible: function(a){return "hidden"!=a.type&&jQuery.css(a,"display")!="none"&&jQuery.css(a,"visibility")!="hidden";}, + hidden: function(a){return "hidden"==a.type||jQuery.css(a,"display")=="none"||jQuery.css(a,"visibility")=="hidden";}, + + // Form attributes + enabled: function(a){return !a.disabled;}, + disabled: function(a){return a.disabled;}, + checked: function(a){return a.checked;}, + selected: function(a){return a.selected||jQuery.attr(a,"selected");}, + + // Form elements + text: function(a){return "text"==a.type;}, + radio: function(a){return "radio"==a.type;}, + checkbox: function(a){return "checkbox"==a.type;}, + file: function(a){return "file"==a.type;}, + password: function(a){return "password"==a.type;}, + submit: function(a){return "submit"==a.type;}, + image: function(a){return "image"==a.type;}, + reset: function(a){return "reset"==a.type;}, + button: function(a){return "button"==a.type||jQuery.nodeName(a,"button");}, + input: function(a){return /input|select|textarea|button/i.test(a.nodeName);}, + + // :has() + has: function(a,i,m){return jQuery.find(m[3],a).length;}, + + // :header + header: function(a){return /h\d/i.test(a.nodeName);}, + + // :animated + animated: function(a){return jQuery.grep(jQuery.timers,function(fn){return a==fn.elem;}).length;} + } + }, + + // The regular expressions that power the parsing engine + parse: [ + // Match: [@value='test'], [@foo] + /^(\[) *@?([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/, + + // Match: :contains('foo') + /^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/, + + // Match: :even, :last-chlid, #id, .class + new RegExp("^([:.#]*)(" + chars + "+)") + ], + + multiFilter: function( expr, elems, not ) { + var old, cur = []; + + while ( expr && expr != old ) { + old = expr; + var f = jQuery.filter( expr, elems, not ); + expr = f.t.replace(/^\s*,\s*/, "" ); + cur = not ? elems = f.r : jQuery.merge( cur, f.r ); + } + + return cur; + }, + + find: function( t, context ) { + // Quickly handle non-string expressions + if ( typeof t != "string" ) + return [ t ]; + + // check to make sure context is a DOM element or a document + if ( context && context.nodeType != 1 && context.nodeType != 9) + return [ ]; + + // Set the correct context (if none is provided) + context = context || document; + + // Initialize the search + var ret = [context], done = [], last, nodeName; + + // Continue while a selector expression exists, and while + // we're no longer looping upon ourselves + while ( t && last != t ) { + var r = []; + last = t; + + t = jQuery.trim(t); + + var foundToken = false; + + // An attempt at speeding up child selectors that + // point to a specific element tag + var re = quickChild; + var m = re.exec(t); + + if ( m ) { + nodeName = m[1].toUpperCase(); + + // Perform our own iteration and filter + for ( var i = 0; ret[i]; i++ ) + for ( var c = ret[i].firstChild; c; c = c.nextSibling ) + if ( c.nodeType == 1 && (nodeName == "*" || c.nodeName.toUpperCase() == nodeName) ) + r.push( c ); + + ret = r; + t = t.replace( re, "" ); + if ( t.indexOf(" ") == 0 ) continue; + foundToken = true; + } else { + re = /^([>+~])\s*(\w*)/i; + + if ( (m = re.exec(t)) != null ) { + r = []; + + var merge = {}; + nodeName = m[2].toUpperCase(); + m = m[1]; + + for ( var j = 0, rl = ret.length; j < rl; j++ ) { + var n = m == "~" || m == "+" ? ret[j].nextSibling : ret[j].firstChild; + for ( ; n; n = n.nextSibling ) + if ( n.nodeType == 1 ) { + var id = jQuery.data(n); + + if ( m == "~" && merge[id] ) break; + + if (!nodeName || n.nodeName.toUpperCase() == nodeName ) { + if ( m == "~" ) merge[id] = true; + r.push( n ); + } + + if ( m == "+" ) break; + } + } + + ret = r; + + // And remove the token + t = jQuery.trim( t.replace( re, "" ) ); + foundToken = true; + } + } + + // See if there's still an expression, and that we haven't already + // matched a token + if ( t && !foundToken ) { + // Handle multiple expressions + if ( !t.indexOf(",") ) { + // Clean the result set + if ( context == ret[0] ) ret.shift(); + + // Merge the result sets + done = jQuery.merge( done, ret ); + + // Reset the context + r = ret = [context]; + + // Touch up the selector string + t = " " + t.substr(1,t.length); + + } else { + // Optimize for the case nodeName#idName + var re2 = quickID; + var m = re2.exec(t); + + // Re-organize the results, so that they're consistent + if ( m ) { + m = [ 0, m[2], m[3], m[1] ]; + + } else { + // Otherwise, do a traditional filter check for + // ID, class, and element selectors + re2 = quickClass; + m = re2.exec(t); + } + + m[2] = m[2].replace(/\\/g, ""); + + var elem = ret[ret.length-1]; + + // Try to do a global search by ID, where we can + if ( m[1] == "#" && elem && elem.getElementById && !jQuery.isXMLDoc(elem) ) { + // Optimization for HTML document case + var oid = elem.getElementById(m[2]); + + // Do a quick check for the existence of the actual ID attribute + // to avoid selecting by the name attribute in IE + // also check to insure id is a string to avoid selecting an element with the name of 'id' inside a form + if ( (jQuery.browser.msie||jQuery.browser.opera) && oid && typeof oid.id == "string" && oid.id != m[2] ) + oid = jQuery('[@id="'+m[2]+'"]', elem)[0]; + + // Do a quick check for node name (where applicable) so + // that div#foo searches will be really fast + ret = r = oid && (!m[3] || jQuery.nodeName(oid, m[3])) ? [oid] : []; + } else { + // We need to find all descendant elements + for ( var i = 0; ret[i]; i++ ) { + // Grab the tag name being searched for + var tag = m[1] == "#" && m[3] ? m[3] : m[1] != "" || m[0] == "" ? "*" : m[2]; + + // Handle IE7 being really dumb about <object>s + if ( tag == "*" && ret[i].nodeName.toLowerCase() == "object" ) + tag = "param"; + + r = jQuery.merge( r, ret[i].getElementsByTagName( tag )); + } + + // It's faster to filter by class and be done with it + if ( m[1] == "." ) + r = jQuery.classFilter( r, m[2] ); + + // Same with ID filtering + if ( m[1] == "#" ) { + var tmp = []; + + // Try to find the element with the ID + for ( var i = 0; r[i]; i++ ) + if ( r[i].getAttribute("id") == m[2] ) { + tmp = [ r[i] ]; + break; + } + + r = tmp; + } + + ret = r; + } + + t = t.replace( re2, "" ); + } + + } + + // If a selector string still exists + if ( t ) { + // Attempt to filter it + var val = jQuery.filter(t,r); + ret = r = val.r; + t = jQuery.trim(val.t); + } + } + + // An error occurred with the selector; + // just return an empty set instead + if ( t ) + ret = []; + + // Remove the root context + if ( ret && context == ret[0] ) + ret.shift(); + + // And combine the results + done = jQuery.merge( done, ret ); + + return done; + }, + + classFilter: function(r,m,not){ + m = " " + m + " "; + var tmp = []; + for ( var i = 0; r[i]; i++ ) { + var pass = (" " + r[i].className + " ").indexOf( m ) >= 0; + if ( !not && pass || not && !pass ) + tmp.push( r[i] ); + } + return tmp; + }, + + filter: function(t,r,not) { + var last; + + // Look for common filter expressions + while ( t && t != last ) { + last = t; + + var p = jQuery.parse, m; + + for ( var i = 0; p[i]; i++ ) { + m = p[i].exec( t ); + + if ( m ) { + // Remove what we just matched + t = t.substring( m[0].length ); + + m[2] = m[2].replace(/\\/g, ""); + break; + } + } + + if ( !m ) + break; + + // :not() is a special case that can be optimized by + // keeping it out of the expression list + if ( m[1] == ":" && m[2] == "not" ) + // optimize if only one selector found (most common case) + r = isSimple.test( m[3] ) ? + jQuery.filter(m[3], r, true).r : + jQuery( r ).not( m[3] ); + + // We can get a big speed boost by filtering by class here + else if ( m[1] == "." ) + r = jQuery.classFilter(r, m[2], not); + + else if ( m[1] == "[" ) { + var tmp = [], type = m[3]; + + for ( var i = 0, rl = r.length; i < rl; i++ ) { + var a = r[i], z = a[ jQuery.props[m[2]] || m[2] ]; + + if ( z == null || /href|src|selected/.test(m[2]) ) + z = jQuery.attr(a,m[2]) || ''; + + if ( (type == "" && !!z || + type == "=" && z == m[5] || + type == "!=" && z != m[5] || + type == "^=" && z && !z.indexOf(m[5]) || + type == "$=" && z.substr(z.length - m[5].length) == m[5] || + (type == "*=" || type == "~=") && z.indexOf(m[5]) >= 0) ^ not ) + tmp.push( a ); + } + + r = tmp; + + // We can get a speed boost by handling nth-child here + } else if ( m[1] == ":" && m[2] == "nth-child" ) { + var merge = {}, tmp = [], + // parse equations like 'even', 'odd', '5', '2n', '3n+2', '4n-1', '-n+6' + test = /(-?)(\d*)n((?:\+|-)?\d*)/.exec( + m[3] == "even" && "2n" || m[3] == "odd" && "2n+1" || + !/\D/.test(m[3]) && "0n+" + m[3] || m[3]), + // calculate the numbers (first)n+(last) including if they are negative + first = (test[1] + (test[2] || 1)) - 0, last = test[3] - 0; + + // loop through all the elements left in the jQuery object + for ( var i = 0, rl = r.length; i < rl; i++ ) { + var node = r[i], parentNode = node.parentNode, id = jQuery.data(parentNode); + + if ( !merge[id] ) { + var c = 1; + + for ( var n = parentNode.firstChild; n; n = n.nextSibling ) + if ( n.nodeType == 1 ) + n.nodeIndex = c++; + + merge[id] = true; + } + + var add = false; + + if ( first == 0 ) { + if ( node.nodeIndex == last ) + add = true; + } else if ( (node.nodeIndex - last) % first == 0 && (node.nodeIndex - last) / first >= 0 ) + add = true; + + if ( add ^ not ) + tmp.push( node ); + } + + r = tmp; + + // Otherwise, find the expression to execute + } else { + var fn = jQuery.expr[ m[1] ]; + if ( typeof fn == "object" ) + fn = fn[ m[2] ]; + + if ( typeof fn == "string" ) + fn = eval("false||function(a,i){return " + fn + ";}"); + + // Execute it against the current filter + r = jQuery.grep( r, function(elem, i){ + return fn(elem, i, m, r); + }, not ); + } + } + + // Return an array of filtered elements (r) + // and the modified expression string (t) + return { r: r, t: t }; + }, + + dir: function( elem, dir ){ + var matched = []; + var cur = elem[dir]; + while ( cur && cur != document ) { + if ( cur.nodeType == 1 ) + matched.push( cur ); + cur = cur[dir]; + } + return matched; + }, + + nth: function(cur,result,dir,elem){ + result = result || 1; + var num = 0; + + for ( ; cur; cur = cur[dir] ) + if ( cur.nodeType == 1 && ++num == result ) + break; + + return cur; + }, + + sibling: function( n, elem ) { + var r = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType == 1 && (!elem || n != elem) ) + r.push( n ); + } + + return r; + } +}); + +/* + * A number of helper functions used for managing events. + * Many of the ideas behind this code orignated from + * Dean Edwards' addEvent library. + */ +jQuery.event = { + + // Bind an event to an element + // Original by Dean Edwards + add: function(elem, types, handler, data) { + if ( elem.nodeType == 3 || elem.nodeType == 8 ) + return; + + // For whatever reason, IE has trouble passing the window object + // around, causing it to be cloned in the process + if ( jQuery.browser.msie && elem.setInterval != undefined ) + elem = window; + + // Make sure that the function being executed has a unique ID + if ( !handler.guid ) + handler.guid = this.guid++; + + // if data is passed, bind to handler + if( data != undefined ) { + // Create temporary function pointer to original handler + var fn = handler; + + // Create unique handler function, wrapped around original handler + handler = function() { + // Pass arguments and context to original handler + return fn.apply(this, arguments); + }; + + // Store data in unique handler + handler.data = data; + + // Set the guid of unique handler to the same of original handler, so it can be removed + handler.guid = fn.guid; + } + + // Init the element's event structure + var events = jQuery.data(elem, "events") || jQuery.data(elem, "events", {}), + handle = jQuery.data(elem, "handle") || jQuery.data(elem, "handle", function(){ + // returned undefined or false + var val; + + // Handle the second event of a trigger and when + // an event is called after a page has unloaded + if ( typeof jQuery == "undefined" || jQuery.event.triggered ) + return val; + + val = jQuery.event.handle.apply(arguments.callee.elem, arguments); + + return val; + }); + // Add elem as a property of the handle function + // This is to prevent a memory leak with non-native + // event in IE. + handle.elem = elem; + + // Handle multiple events seperated by a space + // jQuery(...).bind("mouseover mouseout", fn); + jQuery.each(types.split(/\s+/), function(index, type) { + // Namespaced event handlers + var parts = type.split("."); + type = parts[0]; + handler.type = parts[1]; + + // Get the current list of functions bound to this event + var handlers = events[type]; + + // Init the event handler queue + if (!handlers) { + handlers = events[type] = {}; + + // Check for a special event handler + // Only use addEventListener/attachEvent if the special + // events handler returns false + if ( !jQuery.event.special[type] || jQuery.event.special[type].setup.call(elem) === false ) { + // Bind the global event handler to the element + if (elem.addEventListener) + elem.addEventListener(type, handle, false); + else if (elem.attachEvent) + elem.attachEvent("on" + type, handle); + } + } + + // Add the function to the element's handler list + handlers[handler.guid] = handler; + + // Keep track of which events have been used, for global triggering + jQuery.event.global[type] = true; + }); + + // Nullify elem to prevent memory leaks in IE + elem = null; + }, + + guid: 1, + global: {}, + + // Detach an event or set of events from an element + remove: function(elem, types, handler) { + // don't do events on text and comment nodes + if ( elem.nodeType == 3 || elem.nodeType == 8 ) + return; + + var events = jQuery.data(elem, "events"), ret, index; + + if ( events ) { + // Unbind all events for the element + if ( types == undefined || (typeof types == "string" && types.charAt(0) == ".") ) + for ( var type in events ) + this.remove( elem, type + (types || "") ); + else { + // types is actually an event object here + if ( types.type ) { + handler = types.handler; + types = types.type; + } + + // Handle multiple events seperated by a space + // jQuery(...).unbind("mouseover mouseout", fn); + jQuery.each(types.split(/\s+/), function(index, type){ + // Namespaced event handlers + var parts = type.split("."); + type = parts[0]; + + if ( events[type] ) { + // remove the given handler for the given type + if ( handler ) + delete events[type][handler.guid]; + + // remove all handlers for the given type + else + for ( handler in events[type] ) + // Handle the removal of namespaced events + if ( !parts[1] || events[type][handler].type == parts[1] ) + delete events[type][handler]; + + // remove generic event handler if no more handlers exist + for ( ret in events[type] ) break; + if ( !ret ) { + if ( !jQuery.event.special[type] || jQuery.event.special[type].teardown.call(elem) === false ) { + if (elem.removeEventListener) + elem.removeEventListener(type, jQuery.data(elem, "handle"), false); + else if (elem.detachEvent) + elem.detachEvent("on" + type, jQuery.data(elem, "handle")); + } + ret = null; + delete events[type]; + } + } + }); + } + + // Remove the expando if it's no longer used + for ( ret in events ) break; + if ( !ret ) { + var handle = jQuery.data( elem, "handle" ); + if ( handle ) handle.elem = null; + jQuery.removeData( elem, "events" ); + jQuery.removeData( elem, "handle" ); + } + } + }, + + trigger: function(type, data, elem, donative, extra) { + // Clone the incoming data, if any + data = jQuery.makeArray(data || []); + + if ( type.indexOf("!") >= 0 ) { + type = type.slice(0, -1); + var exclusive = true; + } + + // Handle a global trigger + if ( !elem ) { + // Only trigger if we've ever bound an event for it + if ( this.global[type] ) + jQuery("*").add([window, document]).trigger(type, data); + + // Handle triggering a single element + } else { + // don't do events on text and comment nodes + if ( elem.nodeType == 3 || elem.nodeType == 8 ) + return undefined; + + var val, ret, fn = jQuery.isFunction( elem[ type ] || null ), + // Check to see if we need to provide a fake event, or not + event = !data[0] || !data[0].preventDefault; + + // Pass along a fake event + if ( event ) + data.unshift( this.fix({ type: type, target: elem }) ); + + // Enforce the right trigger type + data[0].type = type; + if ( exclusive ) + data[0].exclusive = true; + + // Trigger the event + if ( jQuery.isFunction( jQuery.data(elem, "handle") ) ) + val = jQuery.data(elem, "handle").apply( elem, data ); + + // Handle triggering native .onfoo handlers + if ( !fn && elem["on"+type] && elem["on"+type].apply( elem, data ) === false ) + val = false; + + // Extra functions don't get the custom event object + if ( event ) + data.shift(); + + // Handle triggering of extra function + if ( extra && jQuery.isFunction( extra ) ) { + // call the extra function and tack the current return value on the end for possible inspection + ret = extra.apply( elem, val == null ? data : data.concat( val ) ); + // if anything is returned, give it precedence and have it overwrite the previous value + if (ret !== undefined) + val = ret; + } + + // Trigger the native events (except for clicks on links) + if ( fn && donative !== false && val !== false && !(jQuery.nodeName(elem, 'a') && type == "click") ) { + this.triggered = true; + try { + elem[ type ](); + // prevent IE from throwing an error for some hidden elements + } catch (e) {} + } + + this.triggered = false; + } + + return val; + }, + + handle: function(event) { + // returned undefined or false + var val; + + // Empty object is for triggered events with no data + event = jQuery.event.fix( event || window.event || {} ); + + // Namespaced event handlers + var parts = event.type.split("."); + event.type = parts[0]; + + var handlers = jQuery.data(this, "events") && jQuery.data(this, "events")[event.type], args = Array.prototype.slice.call( arguments, 1 ); + args.unshift( event ); + + for ( var j in handlers ) { + var handler = handlers[j]; + // Pass in a reference to the handler function itself + // So that we can later remove it + args[0].handler = handler; + args[0].data = handler.data; + + // Filter the functions by class + if ( !parts[1] && !event.exclusive || handler.type == parts[1] ) { + var ret = handler.apply( this, args ); + + if ( val !== false ) + val = ret; + + if ( ret === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + + // Clean up added properties in IE to prevent memory leak + if (jQuery.browser.msie) + event.target = event.preventDefault = event.stopPropagation = + event.handler = event.data = null; + + return val; + }, + + fix: function(event) { + // store a copy of the original event object + // and clone to set read-only properties + var originalEvent = event; + event = jQuery.extend({}, originalEvent); + + // add preventDefault and stopPropagation since + // they will not work on the clone + event.preventDefault = function() { + // if preventDefault exists run it on the original event + if (originalEvent.preventDefault) + originalEvent.preventDefault(); + // otherwise set the returnValue property of the original event to false (IE) + originalEvent.returnValue = false; + }; + event.stopPropagation = function() { + // if stopPropagation exists run it on the original event + if (originalEvent.stopPropagation) + originalEvent.stopPropagation(); + // otherwise set the cancelBubble property of the original event to true (IE) + originalEvent.cancelBubble = true; + }; + + // Fix target property, if necessary + if ( !event.target ) + event.target = event.srcElement || document; // Fixes #1925 where srcElement might not be defined either + + // check if target is a textnode (safari) + if ( event.target.nodeType == 3 ) + event.target = originalEvent.target.parentNode; + + // Add relatedTarget, if necessary + if ( !event.relatedTarget && event.fromElement ) + event.relatedTarget = event.fromElement == event.target ? event.toElement : event.fromElement; + + // Calculate pageX/Y if missing and clientX/Y available + if ( event.pageX == null && event.clientX != null ) { + var doc = document.documentElement, body = document.body; + event.pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc.clientLeft || 0); + event.pageY = event.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc.clientTop || 0); + } + + // Add which for key events + if ( !event.which && ((event.charCode || event.charCode === 0) ? event.charCode : event.keyCode) ) + event.which = event.charCode || event.keyCode; + + // Add metaKey to non-Mac browsers (use ctrl for PC's and Meta for Macs) + if ( !event.metaKey && event.ctrlKey ) + event.metaKey = event.ctrlKey; + + // Add which for click: 1 == left; 2 == middle; 3 == right + // Note: button is not normalized, so don't use it + if ( !event.which && event.button ) + event.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 ? 2 : 0 ) )); + + return event; + }, + + special: { + ready: { + setup: function() { + // Make sure the ready event is setup + bindReady(); + return; + }, + + teardown: function() { return; } + }, + + mouseenter: { + setup: function() { + if ( jQuery.browser.msie ) return false; + jQuery(this).bind("mouseover", jQuery.event.special.mouseenter.handler); + return true; + }, + + teardown: function() { + if ( jQuery.browser.msie ) return false; + jQuery(this).unbind("mouseover", jQuery.event.special.mouseenter.handler); + return true; + }, + + handler: function(event) { + // If we actually just moused on to a sub-element, ignore it + if ( withinElement(event, this) ) return true; + // Execute the right handlers by setting the event type to mouseenter + arguments[0].type = "mouseenter"; + return jQuery.event.handle.apply(this, arguments); + } + }, + + mouseleave: { + setup: function() { + if ( jQuery.browser.msie ) return false; + jQuery(this).bind("mouseout", jQuery.event.special.mouseleave.handler); + return true; + }, + + teardown: function() { + if ( jQuery.browser.msie ) return false; + jQuery(this).unbind("mouseout", jQuery.event.special.mouseleave.handler); + return true; + }, + + handler: function(event) { + // If we actually just moused on to a sub-element, ignore it + if ( withinElement(event, this) ) return true; + // Execute the right handlers by setting the event type to mouseleave + arguments[0].type = "mouseleave"; + return jQuery.event.handle.apply(this, arguments); + } + } + } +}; + +jQuery.fn.extend({ + bind: function( type, data, fn ) { + return type == "unload" ? this.one(type, data, fn) : this.each(function(){ + jQuery.event.add( this, type, fn || data, fn && data ); + }); + }, + + one: function( type, data, fn ) { + return this.each(function(){ + jQuery.event.add( this, type, function(event) { + jQuery(this).unbind(event); + return (fn || data).apply( this, arguments); + }, fn && data); + }); + }, + + unbind: function( type, fn ) { + return this.each(function(){ + jQuery.event.remove( this, type, fn ); + }); + }, + + trigger: function( type, data, fn ) { + return this.each(function(){ + jQuery.event.trigger( type, data, this, true, fn ); + }); + }, + + triggerHandler: function( type, data, fn ) { + if ( this[0] ) + return jQuery.event.trigger( type, data, this[0], false, fn ); + return undefined; + }, + + toggle: function() { + // Save reference to arguments for access in closure + var args = arguments; + + return this.click(function(event) { + // Figure out which function to execute + this.lastToggle = 0 == this.lastToggle ? 1 : 0; + + // Make sure that clicks stop + event.preventDefault(); + + // and execute the function + return args[this.lastToggle].apply( this, arguments ) || false; + }); + }, + + hover: function(fnOver, fnOut) { + return this.bind('mouseenter', fnOver).bind('mouseleave', fnOut); + }, + + ready: function(fn) { + // Attach the listeners + bindReady(); + + // If the DOM is already ready + if ( jQuery.isReady ) + // Execute the function immediately + fn.call( document, jQuery ); + + // Otherwise, remember the function for later + else + // Add the function to the wait list + jQuery.readyList.push( function() { return fn.call(this, jQuery); } ); + + return this; + } +}); + +jQuery.extend({ + isReady: false, + readyList: [], + // Handle when the DOM is ready + ready: function() { + // Make sure that the DOM is not already loaded + if ( !jQuery.isReady ) { + // Remember that the DOM is ready + jQuery.isReady = true; + + // If there are functions bound, to execute + if ( jQuery.readyList ) { + // Execute all of them + jQuery.each( jQuery.readyList, function(){ + this.apply( document ); + }); + + // Reset the list of functions + jQuery.readyList = null; + } + + // Trigger any bound ready events + jQuery(document).triggerHandler("ready"); + } + } +}); + +var readyBound = false; + +function bindReady(){ + if ( readyBound ) return; + readyBound = true; + + // Mozilla, Opera (see further below for it) and webkit nightlies currently support this event + if ( document.addEventListener && !jQuery.browser.opera) + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", jQuery.ready, false ); + + // If IE is used and is not in a frame + // Continually check to see if the document is ready + if ( jQuery.browser.msie && window == top ) (function(){ + if (jQuery.isReady) return; + try { + // If IE is used, use the trick by Diego Perini + // http://javascript.nwbox.com/IEContentLoaded/ + document.documentElement.doScroll("left"); + } catch( error ) { + setTimeout( arguments.callee, 0 ); + return; + } + // and execute any waiting functions + jQuery.ready(); + })(); + + if ( jQuery.browser.opera ) + document.addEventListener( "DOMContentLoaded", function () { + if (jQuery.isReady) return; + for (var i = 0; i < document.styleSheets.length; i++) + if (document.styleSheets[i].disabled) { + setTimeout( arguments.callee, 0 ); + return; + } + // and execute any waiting functions + jQuery.ready(); + }, false); + + if ( jQuery.browser.safari ) { + var numStyles; + (function(){ + if (jQuery.isReady) return; + if ( document.readyState != "loaded" && document.readyState != "complete" ) { + setTimeout( arguments.callee, 0 ); + return; + } + if ( numStyles === undefined ) + numStyles = jQuery("style, link[rel=stylesheet]").length; + if ( document.styleSheets.length != numStyles ) { + setTimeout( arguments.callee, 0 ); + return; + } + // and execute any waiting functions + jQuery.ready(); + })(); + } + + // A fallback to window.onload, that will always work + jQuery.event.add( window, "load", jQuery.ready ); +} + +jQuery.each( ("blur,focus,load,resize,scroll,unload,click,dblclick," + + "mousedown,mouseup,mousemove,mouseover,mouseout,change,select," + + "submit,keydown,keypress,keyup,error").split(","), function(i, name){ + + // Handle event binding + jQuery.fn[name] = function(fn){ + return fn ? this.bind(name, fn) : this.trigger(name); + }; +}); + +// Checks if an event happened on an element within another element +// Used in jQuery.event.special.mouseenter and mouseleave handlers +var withinElement = function(event, elem) { + // Check if mouse(over|out) are still within the same parent element + var parent = event.relatedTarget; + // Traverse up the tree + while ( parent && parent != elem ) try { parent = parent.parentNode; } catch(error) { parent = elem; } + // Return true if we actually just moused on to a sub-element + return parent == elem; +}; + +// Prevent memory leaks in IE +// And prevent errors on refresh with events like mouseover in other browsers +// Window isn't included so as not to unbind existing unload events +jQuery(window).bind("unload", function() { + jQuery("*").add(document).unbind(); +}); +jQuery.fn.extend({ + load: function( url, params, callback ) { + if ( jQuery.isFunction( url ) ) + return this.bind("load", url); + + var off = url.indexOf(" "); + if ( off >= 0 ) { + var selector = url.slice(off, url.length); + url = url.slice(0, off); + } + + callback = callback || function(){}; + + // Default to a GET request + var type = "GET"; + + // If the second parameter was provided + if ( params ) + // If it's a function + if ( jQuery.isFunction( params ) ) { + // We assume that it's the callback + callback = params; + params = null; + + // Otherwise, build a param string + } else { + params = jQuery.param( params ); + type = "POST"; + } + + var self = this; + + // Request the remote document + jQuery.ajax({ + url: url, + type: type, + dataType: "html", + data: params, + complete: function(res, status){ + // If successful, inject the HTML into all the matched elements + if ( status == "success" || status == "notmodified" ) + // See if a selector was specified + self.html( selector ? + // Create a dummy div to hold the results + jQuery("<div/>") + // inject the contents of the document in, removing the scripts + // to avoid any 'Permission Denied' errors in IE + .append(res.responseText.replace(/<script(.|\s)*?\/script>/g, "")) + + // Locate the specified elements + .find(selector) : + + // If not, just inject the full result + res.responseText ); + + self.each( callback, [res.responseText, status, res] ); + } + }); + return this; + }, + + serialize: function() { + return jQuery.param(this.serializeArray()); + }, + serializeArray: function() { + return this.map(function(){ + return jQuery.nodeName(this, "form") ? + jQuery.makeArray(this.elements) : this; + }) + .filter(function(){ + return this.name && !this.disabled && + (this.checked || /select|textarea/i.test(this.nodeName) || + /text|hidden|password/i.test(this.type)); + }) + .map(function(i, elem){ + var val = jQuery(this).val(); + return val == null ? null : + val.constructor == Array ? + jQuery.map( val, function(val, i){ + return {name: elem.name, value: val}; + }) : + {name: elem.name, value: val}; + }).get(); + } +}); + +// Attach a bunch of functions for handling common AJAX events +jQuery.each( "ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","), function(i,o){ + jQuery.fn[o] = function(f){ + return this.bind(o, f); + }; +}); + +var jsc = (new Date).getTime(); + +jQuery.extend({ + get: function( url, data, callback, type ) { + // shift arguments if data argument was ommited + if ( jQuery.isFunction( data ) ) { + callback = data; + data = null; + } + + return jQuery.ajax({ + type: "GET", + url: url, + data: data, + success: callback, + dataType: type + }); + }, + + getScript: function( url, callback ) { + return jQuery.get(url, null, callback, "script"); + }, + + getJSON: function( url, data, callback ) { + return jQuery.get(url, data, callback, "json"); + }, + + post: function( url, data, callback, type ) { + if ( jQuery.isFunction( data ) ) { + callback = data; + data = {}; + } + + return jQuery.ajax({ + type: "POST", + url: url, + data: data, + success: callback, + dataType: type + }); + }, + + ajaxSetup: function( settings ) { + jQuery.extend( jQuery.ajaxSettings, settings ); + }, + + ajaxSettings: { + global: true, + type: "GET", + timeout: 0, + contentType: "application/x-www-form-urlencoded", + processData: true, + async: true, + data: null, + username: null, + password: null, + accepts: { + xml: "application/xml, text/xml", + html: "text/html", + script: "text/javascript, application/javascript", + json: "application/json, text/javascript", + text: "text/plain", + _default: "*/*" + } + }, + + // Last-Modified header cache for next request + lastModified: {}, + + ajax: function( s ) { + var jsonp, jsre = /=\?(&|$)/g, status, data; + + // Extend the settings, but re-extend 's' so that it can be + // checked again later (in the test suite, specifically) + s = jQuery.extend(true, s, jQuery.extend(true, {}, jQuery.ajaxSettings, s)); + + // convert data if not already a string + if ( s.data && s.processData && typeof s.data != "string" ) + s.data = jQuery.param(s.data); + + // Handle JSONP Parameter Callbacks + if ( s.dataType == "jsonp" ) { + if ( s.type.toLowerCase() == "get" ) { + if ( !s.url.match(jsre) ) + s.url += (s.url.match(/\?/) ? "&" : "?") + (s.jsonp || "callback") + "=?"; + } else if ( !s.data || !s.data.match(jsre) ) + s.data = (s.data ? s.data + "&" : "") + (s.jsonp || "callback") + "=?"; + s.dataType = "json"; + } + + // Build temporary JSONP function + if ( s.dataType == "json" && (s.data && s.data.match(jsre) || s.url.match(jsre)) ) { + jsonp = "jsonp" + jsc++; + + // Replace the =? sequence both in the query string and the data + if ( s.data ) + s.data = (s.data + "").replace(jsre, "=" + jsonp + "$1"); + s.url = s.url.replace(jsre, "=" + jsonp + "$1"); + + // We need to make sure + // that a JSONP style response is executed properly + s.dataType = "script"; + + // Handle JSONP-style loading + window[ jsonp ] = function(tmp){ + data = tmp; + success(); + complete(); + // Garbage collect + window[ jsonp ] = undefined; + try{ delete window[ jsonp ]; } catch(e){} + if ( head ) + head.removeChild( script ); + }; + } + + if ( s.dataType == "script" && s.cache == null ) + s.cache = false; + + if ( s.cache === false && s.type.toLowerCase() == "get" ) { + var ts = (new Date()).getTime(); + // try replacing _= if it is there + var ret = s.url.replace(/(\?|&)_=.*?(&|$)/, "$1_=" + ts + "$2"); + // if nothing was replaced, add timestamp to the end + s.url = ret + ((ret == s.url) ? (s.url.match(/\?/) ? "&" : "?") + "_=" + ts : ""); + } + + // If data is available, append data to url for get requests + if ( s.data && s.type.toLowerCase() == "get" ) { + s.url += (s.url.match(/\?/) ? "&" : "?") + s.data; + + // IE likes to send both get and post data, prevent this + s.data = null; + } + + // Watch for a new set of requests + if ( s.global && ! jQuery.active++ ) + jQuery.event.trigger( "ajaxStart" ); + + // If we're requesting a remote document + // and trying to load JSON or Script with a GET + if ( (!s.url.indexOf("http") || !s.url.indexOf("//")) && s.dataType == "script" && s.type.toLowerCase() == "get" ) { + var head = document.getElementsByTagName("head")[0]; + var script = document.createElement("script"); + script.src = s.url; + if (s.scriptCharset) + script.charset = s.scriptCharset; + + // Handle Script loading + if ( !jsonp ) { + var done = false; + + // Attach handlers for all browsers + script.onload = script.onreadystatechange = function(){ + if ( !done && (!this.readyState || + this.readyState == "loaded" || this.readyState == "complete") ) { + done = true; + success(); + complete(); + head.removeChild( script ); + } + }; + } + + head.appendChild(script); + + // We handle everything using the script element injection + return undefined; + } + + var requestDone = false; + + // Create the request object; Microsoft failed to properly + // implement the XMLHttpRequest in IE7, so we use the ActiveXObject when it is available + var xml = window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest(); + + // Open the socket + xml.open(s.type, s.url, s.async, s.username, s.password); + + // Need an extra try/catch for cross domain requests in Firefox 3 + try { + // Set the correct header, if data is being sent + if ( s.data ) + xml.setRequestHeader("Content-Type", s.contentType); + + // Set the If-Modified-Since header, if ifModified mode. + if ( s.ifModified ) + xml.setRequestHeader("If-Modified-Since", + jQuery.lastModified[s.url] || "Thu, 01 Jan 1970 00:00:00 GMT" ); + + // Set header so the called script knows that it's an XMLHttpRequest + xml.setRequestHeader("X-Requested-With", "XMLHttpRequest"); + + // Set the Accepts header for the server, depending on the dataType + xml.setRequestHeader("Accept", s.dataType && s.accepts[ s.dataType ] ? + s.accepts[ s.dataType ] + ", */*" : + s.accepts._default ); + } catch(e){} + + // Allow custom headers/mimetypes + if ( s.beforeSend ) + s.beforeSend(xml); + + if ( s.global ) + jQuery.event.trigger("ajaxSend", [xml, s]); + + // Wait for a response to come back + var onreadystatechange = function(isTimeout){ + // The transfer is complete and the data is available, or the request timed out + if ( !requestDone && xml && (xml.readyState == 4 || isTimeout == "timeout") ) { + requestDone = true; + + // clear poll interval + if (ival) { + clearInterval(ival); + ival = null; + } + + status = isTimeout == "timeout" && "timeout" || + !jQuery.httpSuccess( xml ) && "error" || + s.ifModified && jQuery.httpNotModified( xml, s.url ) && "notmodified" || + "success"; + + if ( status == "success" ) { + // Watch for, and catch, XML document parse errors + try { + // process the data (runs the xml through httpData regardless of callback) + data = jQuery.httpData( xml, s.dataType ); + } catch(e) { + status = "parsererror"; + } + } + + // Make sure that the request was successful or notmodified + if ( status == "success" ) { + // Cache Last-Modified header, if ifModified mode. + var modRes; + try { + modRes = xml.getResponseHeader("Last-Modified"); + } catch(e) {} // swallow exception thrown by FF if header is not available + + if ( s.ifModified && modRes ) + jQuery.lastModified[s.url] = modRes; + + // JSONP handles its own success callback + if ( !jsonp ) + success(); + } else + jQuery.handleError(s, xml, status); + + // Fire the complete handlers + complete(); + + // Stop memory leaks + if ( s.async ) + xml = null; + } + }; + + if ( s.async ) { + // don't attach the handler to the request, just poll it instead + var ival = setInterval(onreadystatechange, 13); + + // Timeout checker + if ( s.timeout > 0 ) + setTimeout(function(){ + // Check to see if the request is still happening + if ( xml ) { + // Cancel the request + xml.abort(); + + if( !requestDone ) + onreadystatechange( "timeout" ); + } + }, s.timeout); + } + + // Send the data + try { + xml.send(s.data); + } catch(e) { + jQuery.handleError(s, xml, null, e); + } + + // firefox 1.5 doesn't fire statechange for sync requests + if ( !s.async ) + onreadystatechange(); + + function success(){ + // If a local callback was specified, fire it and pass it the data + if ( s.success ) + s.success( data, status ); + + // Fire the global callback + if ( s.global ) + jQuery.event.trigger( "ajaxSuccess", [xml, s] ); + } + + function complete(){ + // Process result + if ( s.complete ) + s.complete(xml, status); + + // The request was completed + if ( s.global ) + jQuery.event.trigger( "ajaxComplete", [xml, s] ); + + // Handle the global AJAX counter + if ( s.global && ! --jQuery.active ) + jQuery.event.trigger( "ajaxStop" ); + } + + // return XMLHttpRequest to allow aborting the request etc. + return xml; + }, + + handleError: function( s, xml, status, e ) { + // If a local callback was specified, fire it + if ( s.error ) s.error( xml, status, e ); + + // Fire the global callback + if ( s.global ) + jQuery.event.trigger( "ajaxError", [xml, s, e] ); + }, + + // Counter for holding the number of active queries + active: 0, + + // Determines if an XMLHttpRequest was successful or not + httpSuccess: function( r ) { + try { + // IE error sometimes returns 1223 when it should be 204 so treat it as success, see #1450 + return !r.status && location.protocol == "file:" || + ( r.status >= 200 && r.status < 300 ) || r.status == 304 || r.status == 1223 || + jQuery.browser.safari && r.status == undefined; + } catch(e){} + return false; + }, + + // Determines if an XMLHttpRequest returns NotModified + httpNotModified: function( xml, url ) { + try { + var xmlRes = xml.getResponseHeader("Last-Modified"); + + // Firefox always returns 200. check Last-Modified date + return xml.status == 304 || xmlRes == jQuery.lastModified[url] || + jQuery.browser.safari && xml.status == undefined; + } catch(e){} + return false; + }, + + httpData: function( r, type ) { + var ct = r.getResponseHeader("content-type"); + var xml = type == "xml" || !type && ct && ct.indexOf("xml") >= 0; + var data = xml ? r.responseXML : r.responseText; + + if ( xml && data.documentElement.tagName == "parsererror" ) + throw "parsererror"; + + // If the type is "script", eval it in global context + if ( type == "script" ) + jQuery.globalEval( data ); + + // Get the JavaScript object, if JSON is used. + if ( type == "json" ) + data = eval("(" + data + ")"); + + return data; + }, + + // Serialize an array of form elements or a set of + // key/values into a query string + param: function( a ) { + var s = []; + + // If an array was passed in, assume that it is an array + // of form elements + if ( a.constructor == Array || a.jquery ) + // Serialize the form elements + jQuery.each( a, function(){ + s.push( encodeURIComponent(this.name) + "=" + encodeURIComponent( this.value ) ); + }); + + // Otherwise, assume that it's an object of key/value pairs + else + // Serialize the key/values + for ( var j in a ) + // If the value is an array then the key names need to be repeated + if ( a[j] && a[j].constructor == Array ) + jQuery.each( a[j], function(){ + s.push( encodeURIComponent(j) + "=" + encodeURIComponent( this ) ); + }); + else + s.push( encodeURIComponent(j) + "=" + encodeURIComponent( a[j] ) ); + + // Return the resulting serialization + return s.join("&").replace(/%20/g, "+"); + } + +}); +jQuery.fn.extend({ + show: function(speed,callback){ + return speed ? + this.animate({ + height: "show", width: "show", opacity: "show" + }, speed, callback) : + + this.filter(":hidden").each(function(){ + this.style.display = this.oldblock || ""; + if ( jQuery.css(this,"display") == "none" ) { + var elem = jQuery("<" + this.tagName + " />").appendTo("body"); + this.style.display = elem.css("display"); + // handle an edge condition where css is - div { display:none; } or similar + if (this.style.display == "none") + this.style.display = "block"; + elem.remove(); + } + }).end(); + }, + + hide: function(speed,callback){ + return speed ? + this.animate({ + height: "hide", width: "hide", opacity: "hide" + }, speed, callback) : + + this.filter(":visible").each(function(){ + this.oldblock = this.oldblock || jQuery.css(this,"display"); + this.style.display = "none"; + }).end(); + }, + + // Save the old toggle function + _toggle: jQuery.fn.toggle, + + toggle: function( fn, fn2 ){ + return jQuery.isFunction(fn) && jQuery.isFunction(fn2) ? + this._toggle( fn, fn2 ) : + fn ? + this.animate({ + height: "toggle", width: "toggle", opacity: "toggle" + }, fn, fn2) : + this.each(function(){ + jQuery(this)[ jQuery(this).is(":hidden") ? "show" : "hide" ](); + }); + }, + + slideDown: function(speed,callback){ + return this.animate({height: "show"}, speed, callback); + }, + + slideUp: function(speed,callback){ + return this.animate({height: "hide"}, speed, callback); + }, + + slideToggle: function(speed, callback){ + return this.animate({height: "toggle"}, speed, callback); + }, + + fadeIn: function(speed, callback){ + return this.animate({opacity: "show"}, speed, callback); + }, + + fadeOut: function(speed, callback){ + return this.animate({opacity: "hide"}, speed, callback); + }, + + fadeTo: function(speed,to,callback){ + return this.animate({opacity: to}, speed, callback); + }, + + animate: function( prop, speed, easing, callback ) { + var optall = jQuery.speed(speed, easing, callback); + + return this[ optall.queue === false ? "each" : "queue" ](function(){ + if ( this.nodeType != 1) + return false; + + var opt = jQuery.extend({}, optall); + var hidden = jQuery(this).is(":hidden"), self = this; + + for ( var p in prop ) { + if ( prop[p] == "hide" && hidden || prop[p] == "show" && !hidden ) + return jQuery.isFunction(opt.complete) && opt.complete.apply(this); + + if ( p == "height" || p == "width" ) { + // Store display property + opt.display = jQuery.css(this, "display"); + + // Make sure that nothing sneaks out + opt.overflow = this.style.overflow; + } + } + + if ( opt.overflow != null ) + this.style.overflow = "hidden"; + + opt.curAnim = jQuery.extend({}, prop); + + jQuery.each( prop, function(name, val){ + var e = new jQuery.fx( self, opt, name ); + + if ( /toggle|show|hide/.test(val) ) + e[ val == "toggle" ? hidden ? "show" : "hide" : val ]( prop ); + else { + var parts = val.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/), + start = e.cur(true) || 0; + + if ( parts ) { + var end = parseFloat(parts[2]), + unit = parts[3] || "px"; + + // We need to compute starting value + if ( unit != "px" ) { + self.style[ name ] = (end || 1) + unit; + start = ((end || 1) / e.cur(true)) * start; + self.style[ name ] = start + unit; + } + + // If a +=/-= token was provided, we're doing a relative animation + if ( parts[1] ) + end = ((parts[1] == "-=" ? -1 : 1) * end) + start; + + e.custom( start, end, unit ); + } else + e.custom( start, val, "" ); + } + }); + + // For JS strict compliance + return true; + }); + }, + + queue: function(type, fn){ + if ( jQuery.isFunction(type) || ( type && type.constructor == Array )) { + fn = type; + type = "fx"; + } + + if ( !type || (typeof type == "string" && !fn) ) + return queue( this[0], type ); + + return this.each(function(){ + if ( fn.constructor == Array ) + queue(this, type, fn); + else { + queue(this, type).push( fn ); + + if ( queue(this, type).length == 1 ) + fn.apply(this); + } + }); + }, + + stop: function(clearQueue, gotoEnd){ + var timers = jQuery.timers; + + if (clearQueue) + this.queue([]); + + this.each(function(){ + // go in reverse order so anything added to the queue during the loop is ignored + for ( var i = timers.length - 1; i >= 0; i-- ) + if ( timers[i].elem == this ) { + if (gotoEnd) + // force the next step to be the last + timers[i](true); + timers.splice(i, 1); + } + }); + + // start the next in the queue if the last step wasn't forced + if (!gotoEnd) + this.dequeue(); + + return this; + } + +}); + +var queue = function( elem, type, array ) { + if ( !elem ) + return undefined; + + type = type || "fx"; + + var q = jQuery.data( elem, type + "queue" ); + + if ( !q || array ) + q = jQuery.data( elem, type + "queue", + array ? jQuery.makeArray(array) : [] ); + + return q; +}; + +jQuery.fn.dequeue = function(type){ + type = type || "fx"; + + return this.each(function(){ + var q = queue(this, type); + + q.shift(); + + if ( q.length ) + q[0].apply( this ); + }); +}; + +jQuery.extend({ + + speed: function(speed, easing, fn) { + var opt = speed && speed.constructor == Object ? speed : { + complete: fn || !fn && easing || + jQuery.isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && easing.constructor != Function && easing + }; + + opt.duration = (opt.duration && opt.duration.constructor == Number ? + opt.duration : + { slow: 600, fast: 200 }[opt.duration]) || 400; + + // Queueing + opt.old = opt.complete; + opt.complete = function(){ + if ( opt.queue !== false ) + jQuery(this).dequeue(); + if ( jQuery.isFunction( opt.old ) ) + opt.old.apply( this ); + }; + + return opt; + }, + + easing: { + linear: function( p, n, firstNum, diff ) { + return firstNum + diff * p; + }, + swing: function( p, n, firstNum, diff ) { + return ((-Math.cos(p*Math.PI)/2) + 0.5) * diff + firstNum; + } + }, + + timers: [], + timerId: null, + + fx: function( elem, options, prop ){ + this.options = options; + this.elem = elem; + this.prop = prop; + + if ( !options.orig ) + options.orig = {}; + } + +}); + +jQuery.fx.prototype = { + + // Simple function for setting a style value + update: function(){ + if ( this.options.step ) + this.options.step.apply( this.elem, [ this.now, this ] ); + + (jQuery.fx.step[this.prop] || jQuery.fx.step._default)( this ); + + // Set display property to block for height/width animations + if ( this.prop == "height" || this.prop == "width" ) + this.elem.style.display = "block"; + }, + + // Get the current size + cur: function(force){ + if ( this.elem[this.prop] != null && this.elem.style[this.prop] == null ) + return this.elem[ this.prop ]; + + var r = parseFloat(jQuery.css(this.elem, this.prop, force)); + return r && r > -10000 ? r : parseFloat(jQuery.curCSS(this.elem, this.prop)) || 0; + }, + + // Start an animation from one number to another + custom: function(from, to, unit){ + this.startTime = (new Date()).getTime(); + this.start = from; + this.end = to; + this.unit = unit || this.unit || "px"; + this.now = this.start; + this.pos = this.state = 0; + this.update(); + + var self = this; + function t(gotoEnd){ + return self.step(gotoEnd); + } + + t.elem = this.elem; + + jQuery.timers.push(t); + + if ( jQuery.timerId == null ) { + jQuery.timerId = setInterval(function(){ + var timers = jQuery.timers; + + for ( var i = 0; i < timers.length; i++ ) + if ( !timers[i]() ) + timers.splice(i--, 1); + + if ( !timers.length ) { + clearInterval( jQuery.timerId ); + jQuery.timerId = null; + } + }, 13); + } + }, + + // Simple 'show' function + show: function(){ + // Remember where we started, so that we can go back to it later + this.options.orig[this.prop] = jQuery.attr( this.elem.style, this.prop ); + this.options.show = true; + + // Begin the animation + this.custom(0, this.cur()); + + // Make sure that we start at a small width/height to avoid any + // flash of content + if ( this.prop == "width" || this.prop == "height" ) + this.elem.style[this.prop] = "1px"; + + // Start by showing the element + jQuery(this.elem).show(); + }, + + // Simple 'hide' function + hide: function(){ + // Remember where we started, so that we can go back to it later + this.options.orig[this.prop] = jQuery.attr( this.elem.style, this.prop ); + this.options.hide = true; + + // Begin the animation + this.custom(this.cur(), 0); + }, + + // Each step of an animation + step: function(gotoEnd){ + var t = (new Date()).getTime(); + + if ( gotoEnd || t > this.options.duration + this.startTime ) { + this.now = this.end; + this.pos = this.state = 1; + this.update(); + + this.options.curAnim[ this.prop ] = true; + + var done = true; + for ( var i in this.options.curAnim ) + if ( this.options.curAnim[i] !== true ) + done = false; + + if ( done ) { + if ( this.options.display != null ) { + // Reset the overflow + this.elem.style.overflow = this.options.overflow; + + // Reset the display + this.elem.style.display = this.options.display; + if ( jQuery.css(this.elem, "display") == "none" ) + this.elem.style.display = "block"; + } + + // Hide the element if the "hide" operation was done + if ( this.options.hide ) + this.elem.style.display = "none"; + + // Reset the properties, if the item has been hidden or shown + if ( this.options.hide || this.options.show ) + for ( var p in this.options.curAnim ) + jQuery.attr(this.elem.style, p, this.options.orig[p]); + } + + // If a callback was provided, execute it + if ( done && jQuery.isFunction( this.options.complete ) ) + // Execute the complete function + this.options.complete.apply( this.elem ); + + return false; + } else { + var n = t - this.startTime; + this.state = n / this.options.duration; + + // Perform the easing function, defaults to swing + this.pos = jQuery.easing[this.options.easing || (jQuery.easing.swing ? "swing" : "linear")](this.state, n, 0, 1, this.options.duration); + this.now = this.start + ((this.end - this.start) * this.pos); + + // Perform the next step of the animation + this.update(); + } + + return true; + } + +}; + +jQuery.fx.step = { + scrollLeft: function(fx){ + fx.elem.scrollLeft = fx.now; + }, + + scrollTop: function(fx){ + fx.elem.scrollTop = fx.now; + }, + + opacity: function(fx){ + jQuery.attr(fx.elem.style, "opacity", fx.now); + }, + + _default: function(fx){ + fx.elem.style[ fx.prop ] = fx.now + fx.unit; + } +}; +// The Offset Method +// Originally By Brandon Aaron, part of the Dimension Plugin +// http://jquery.com/plugins/project/dimensions +jQuery.fn.offset = function() { + var left = 0, top = 0, elem = this[0], results; + + if ( elem ) with ( jQuery.browser ) { + var parent = elem.parentNode, + offsetChild = elem, + offsetParent = elem.offsetParent, + doc = elem.ownerDocument, + safari2 = safari && parseInt(version) < 522 && !/adobeair/i.test(userAgent), + fixed = jQuery.css(elem, "position") == "fixed"; + + // Use getBoundingClientRect if available + if ( elem.getBoundingClientRect ) { + var box = elem.getBoundingClientRect(); + + // Add the document scroll offsets + add(box.left + Math.max(doc.documentElement.scrollLeft, doc.body.scrollLeft), + box.top + Math.max(doc.documentElement.scrollTop, doc.body.scrollTop)); + + // IE adds the HTML element's border, by default it is medium which is 2px + // IE 6 and 7 quirks mode the border width is overwritable by the following css html { border: 0; } + // IE 7 standards mode, the border is always 2px + // This border/offset is typically represented by the clientLeft and clientTop properties + // However, in IE6 and 7 quirks mode the clientLeft and clientTop properties are not updated when overwriting it via CSS + // Therefore this method will be off by 2px in IE while in quirksmode + add( -doc.documentElement.clientLeft, -doc.documentElement.clientTop ); + + // Otherwise loop through the offsetParents and parentNodes + } else { + + // Initial element offsets + add( elem.offsetLeft, elem.offsetTop ); + + // Get parent offsets + while ( offsetParent ) { + // Add offsetParent offsets + add( offsetParent.offsetLeft, offsetParent.offsetTop ); + + // Mozilla and Safari > 2 does not include the border on offset parents + // However Mozilla adds the border for table or table cells + if ( mozilla && !/^t(able|d|h)$/i.test(offsetParent.tagName) || safari && !safari2 ) + border( offsetParent ); + + // Add the document scroll offsets if position is fixed on any offsetParent + if ( !fixed && jQuery.css(offsetParent, "position") == "fixed" ) + fixed = true; + + // Set offsetChild to previous offsetParent unless it is the body element + offsetChild = /^body$/i.test(offsetParent.tagName) ? offsetChild : offsetParent; + // Get next offsetParent + offsetParent = offsetParent.offsetParent; + } + + // Get parent scroll offsets + while ( parent && parent.tagName && !/^body|html$/i.test(parent.tagName) ) { + // Remove parent scroll UNLESS that parent is inline or a table to work around Opera inline/table scrollLeft/Top bug + if ( !/^inline|table.*$/i.test(jQuery.css(parent, "display")) ) + // Subtract parent scroll offsets + add( -parent.scrollLeft, -parent.scrollTop ); + + // Mozilla does not add the border for a parent that has overflow != visible + if ( mozilla && jQuery.css(parent, "overflow") != "visible" ) + border( parent ); + + // Get next parent + parent = parent.parentNode; + } + + // Safari <= 2 doubles body offsets with a fixed position element/offsetParent or absolutely positioned offsetChild + // Mozilla doubles body offsets with a non-absolutely positioned offsetChild + if ( (safari2 && (fixed || jQuery.css(offsetChild, "position") == "absolute")) || + (mozilla && jQuery.css(offsetChild, "position") != "absolute") ) + add( -doc.body.offsetLeft, -doc.body.offsetTop ); + + // Add the document scroll offsets if position is fixed + if ( fixed ) + add(Math.max(doc.documentElement.scrollLeft, doc.body.scrollLeft), + Math.max(doc.documentElement.scrollTop, doc.body.scrollTop)); + } + + // Return an object with top and left properties + results = { top: top, left: left }; + } + + function border(elem) { + add( jQuery.curCSS(elem, "borderLeftWidth", true), jQuery.curCSS(elem, "borderTopWidth", true) ); + } + + function add(l, t) { + left += parseInt(l) || 0; + top += parseInt(t) || 0; + } + + return results; +}; +})(); diff --git a/web/tabla_elem.xsl b/web/tabla_elem.xsl new file mode 100644 index 0000000..d6379b9 --- /dev/null +++ b/web/tabla_elem.xsl @@ -0,0 +1,285 @@ +<?xml version="1.0"?> +<xsl:stylesheet version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:lxslt="http://xml.apache.org/xslt"> + +<xsl:output method="html"/> + +<xsl:template match="/PERIODIC_TABLE"> + + +<html> +<head> + +<script language="javascript" type="text/javascript" src="jquery.js"></script> +<script language="javascript" type="text/javascript" src="xocom.js"></script> +<script language="javascript" type="text/javascript" src="datos.js"></script> +<script language="javascript" type="text/javascript" src="utiles.js"></script> + +<script language="javascript" type="text/javascript"> + + mostrado = false; + +</script> + +<style type="text/css"> + + body { + background-color:#666666; + font:Sans-serif; + } + + h1 { + width:100%; + text-align:center; + font-size:30px; + color:white; + } + + h2 { + width:90%; + text-align:left; + font-size:14px; + color:white; + } + + + td { + border: 2px; + -moz-border-radius:5px; + font-size:10px; + } + + #pop { + z-index:2; + position:absolute; + border: 2px solid black; + text-align:center; + background:#bbbbbb; + left:200px; + top:60px; + -moz-border-radius:5px; + color:black; + } + + #textPopup { + text-align:left; + font-size:12px; + margin:10px; + } + + #wiki { + z-index:2; + position:absolute; + border: 2px solid black; + text-align:center; + background:#bbbbbb; + left:200px; + top:190px; + -moz-border-radius:5px; + color:black; + } + + #wikiBody { + width:900px; + height:560px; + background:white; + margin:10px; + } + + #misNotas { + z-index:2; + position:absolute; + border: 2px solid black; + text-align:left; + background:#bbbbbb; + left:200px; + top:190px; + -moz-border-radius:5px; + color:black; + } + + #textMisNotas { + width:900px; + height:560px; + background:white; + margin:10px; + } + + #cerrar { + float:right; + margin-right:5px; + cursor:pointer; + font-size:12px; + font-weight:bold; + width:12px; + position:relative; + margin-top:-1px; + text-align:center; + } + + +</style> + + +</head> +<body> + + <form name="elementData"> + <div id="pop" style="display:none"> + <div id="cerrar" onclick="cerrar()">X</div> + <div id="textPopup"> + </div> + <input type="hidden" id="elementName" name="elementName"/> + <textarea cols="80" rows="5" name="editedText" id="editedText"></textarea> + </div> + + <div id="wiki" style="display:none"> + <div id="cerrar" onclick="cerrarWiki()">X</div> + <iframe id="wikiBody"> + </iframe> + </div> + + <div id="misNotas" style="display:none"> + <div id="cerrar" onclick="cerrarMisNotas()">X</div> + <div id="textMisNotas"> + </div> + </div> + + </form> + + <h1>Tabla de los elementos</h1> + <br/> + + <table width="100%"> + <tr> + <xsl:apply-templates select="/PERIODIC_TABLE/ATOM[ATOMIC_NUMBER < 3]"> + <xsl:sort select="ATOMIC_NUMBER" data-type="number" /> + </xsl:apply-templates> + </tr> + <tr> + <xsl:apply-templates select="/PERIODIC_TABLE/ATOM[ATOMIC_NUMBER > 2 ][ATOMIC_NUMBER < 11 ]"> + <xsl:sort select="ATOMIC_NUMBER" data-type="number" /> + </xsl:apply-templates> + </tr> + <tr> + <xsl:apply-templates select="/PERIODIC_TABLE/ATOM[ATOMIC_NUMBER > 10 ][ATOMIC_NUMBER < 19 ]"> + <xsl:sort select="ATOMIC_NUMBER" data-type="number" /> + </xsl:apply-templates> + </tr> + <tr> + <xsl:apply-templates select="/PERIODIC_TABLE/ATOM[ATOMIC_NUMBER > 18 ][ATOMIC_NUMBER < 37 ]"> + <xsl:sort select="ATOMIC_NUMBER" data-type="number" /> + </xsl:apply-templates> + </tr> + <tr> + <xsl:apply-templates select="/PERIODIC_TABLE/ATOM[ATOMIC_NUMBER > 36 ][ATOMIC_NUMBER < 55 ]"> + <xsl:sort select="ATOMIC_NUMBER" data-type="number" /> + </xsl:apply-templates> + </tr> + <tr> + <xsl:apply-templates select="/PERIODIC_TABLE/ATOM[ATOMIC_NUMBER > 54 ][ATOMIC_NUMBER < 58 ]"> + <xsl:sort select="ATOMIC_NUMBER" data-type="number" /> + </xsl:apply-templates> + <xsl:apply-templates select="/PERIODIC_TABLE/ATOM[ATOMIC_NUMBER > 71 ][ATOMIC_NUMBER < 87 ]"> + <xsl:sort select="ATOMIC_NUMBER" data-type="number" /> + </xsl:apply-templates> + </tr> + <tr> + <xsl:apply-templates select="/PERIODIC_TABLE/ATOM[ATOMIC_NUMBER > 86 ][ATOMIC_NUMBER < 90 ]"> + <xsl:sort select="ATOMIC_NUMBER" data-type="number" /> + </xsl:apply-templates> + </tr> + </table> + + <h2>Serie Lantanidos</h2> + + <table width="100%" > + <tr> + <xsl:apply-templates select="/PERIODIC_TABLE/ATOM[ATOMIC_NUMBER > 56][ATOMIC_NUMBER < 72]"> + <xsl:sort select="ATOMIC_NUMBER" data-type="number" /> + </xsl:apply-templates> + </tr> + </table> + + <h2>Serie Actinidos</h2> + + <table width="100%" > + <tr> + <xsl:apply-templates select="/PERIODIC_TABLE/ATOM[ATOMIC_NUMBER > 88]"> + <xsl:sort select="ATOMIC_NUMBER" data-type="number" /> + </xsl:apply-templates> + </tr> + </table> + + <a href="javascript:verMisNotas()">Mis Notas</a> + +</body> +</html> + + +</xsl:template> + +<xsl:template match="/PERIODIC_TABLE/ATOM"> +<xsl:variable name="settings" select="document('../../datos/settings.xml')/settings"/> + <td bordercolor="black"> + <xsl:choose> + <xsl:when test="COLOR=0"> + <xsl:attribute name="bgcolor">#cccccc</xsl:attribute> + </xsl:when> + <xsl:when test="COLOR=1"> + <xsl:attribute name="bgcolor">#ccccff</xsl:attribute> + </xsl:when> + <xsl:when test="COLOR=2"> + <xsl:attribute name="bgcolor">#99ff99</xsl:attribute> + </xsl:when> + <xsl:when test="COLOR=3"> + <xsl:attribute name="bgcolor">#ffff99</xsl:attribute> + </xsl:when> + <xsl:when test="COLOR=4"> + <xsl:attribute name="bgcolor">#ffcc99</xsl:attribute> + </xsl:when> + <xsl:when test="COLOR=5"> + <xsl:attribute name="bgcolor">#ff9966</xsl:attribute> + </xsl:when> + <xsl:when test="COLOR=6"> + <xsl:attribute name="bgcolor">#cc99ff</xsl:attribute> + </xsl:when> + <xsl:when test="COLOR=7"> + <xsl:attribute name="bgcolor">#007000</xsl:attribute> + </xsl:when> + + + + </xsl:choose> + <div align="center"> + <br/> + <a> + <xsl:attribute name="href">javascript:mostrar('<xsl:value-of select="SYMBOL"/>','<xsl:value-of select="NOMBRE"/>','<xsl:value-of select="NAME"/>','<xsl:value-of select="ATOMIC_WEIGHT"/>','<xsl:value-of select="ATOMIC_NUMBER"/>','<xsl:value-of select="WIKIPEDIA"/>')</xsl:attribute> + <xsl:value-of select="NOMBRE"/> + </a> + </div> + <br/> + <font size="1"> + <xsl:value-of select="ATOMIC_NUMBER"/> + </font> + + </td> + <xsl:if test='ATOMIC_NUMBER=1'> + <td colspan='16'></td> + </xsl:if> + <xsl:if test='ATOMIC_NUMBER=4'> + <td colspan='10'></td> + </xsl:if> + <xsl:if test='ATOMIC_NUMBER=12'> + <td colspan='10'></td> + </xsl:if> + + +</xsl:template> + + + +</xsl:stylesheet> + + diff --git a/web/utiles.js b/web/utiles.js new file mode 100644 index 0000000..7d88de3 --- /dev/null +++ b/web/utiles.js @@ -0,0 +1,130 @@ + + function popup(popup_url,name,popup_width,popup_height) { + var tmp = window.open(popup_url,name,'resizable=no,menubar=no,location=no,toolbar=no,status=yes,scrollbars=yes,directories=no,width='+popup_width+',height='+popup_height); + } + + function mostrar(symbol,nombre,name,peso,numero,wiki) { + if (!mostrado) { + mostrado = true; + document.elementData.elementName.value = nombre; + document.elementData.editedText.value = readTextElement(nombre); + $("#textPopup").html("<p>"+ + "<b>Elemento:</b> "+nombre+" "+ + "(en inglés: "+name+")<br/>"+ + "<b>Símbolo:</b> "+symbol+" "+ + "<b>Peso atómico:</b> "+peso+" "+ + "<b>Número atómico:</b> "+numero+"<br/>"+ + "<a href='javascript:openWiki(\""+wiki+"\")'>Wikipedia</a>"+ + "</p>" ); + $("#pop").fadeIn('slow'); + } + } + + function popupText(text) { + $("#textPopup").html(text); + $("#pop").fadeIn('slow'); + mostrado = true; + } + + function openWiki(url) { + document.getElementById("wikiBody").src = url; + $("#wiki").fadeIn('slow'); + } + + function cerrarWiki() { + $("#wiki").fadeOut('slow'); + } + + function cerrarMisNotas() { + $("#misNotas").fadeOut('slow'); + } + + function verMisNotas() { + misNotasText = ""; + for (i = 0;i < textos.length; i++) { + textoElemento = textos[i]; + misNotasText = misNotasText + "<b>"+textoElemento[0]+"</b><br/>"+textoElemento[1]+"<br/><br/>"; + } + $("#textMisNotas").html(misNotasText); + $("#misNotas").fadeIn('slow'); + } + + + + function cerrar() { + $("#pop").fadeOut('slow'); + mostrado = false; + if (document.elementData.editedText.value != '') { + writeTextElement(document.elementData.elementName.value,document.elementData.editedText.value); + } + } + + function readTextElement(element) { + for(var i=0; i<textos.length; i++){ + textoElemento = textos[i]; + if(textoElemento[0] == element) { + return textoElemento[1]; + } + } + return ''; + } + + function writeTextElement(element,text) { + existe = false; + for(var i=0; i<textos.length; i++){ + textoElemento = textos[i]; + if(textoElemento[0] == element) { + existe = true; + textoElemento[1] = text; + } + } + if (!existe) { + textos.push(new Array(element,text)); + } + } + + + function debug(element) { + debugText = ''; + for(var i=0; i<textos.length; i++){ + textoElemento = textos[i]; + debugText = debugText+ ' ' +textoElemento[0]+'='+textoElemento[1]; + } + popupText(debugText); + } + + + XO.register('read', function(content) { + // Your code to consume the supplied content + /* + if (content != '') { + try { + eval("textos = "+content); + } catch(err) { + textos = new Array(); + } + } + $("#loading").fadeOut('slow'); + mostrado = false; + */ + + }) + + + XO.register('write', function() { + // Your code to return the content to save + persistent = "textos = new Array("; + for(var i=0; i<textos.length; i++){ + textoElemento = textos[i]; + persistent = persistent+"new Array('"+textoElemento[0]+"','"+textoElemento[1]+"')"; + if (i < (textos.length -1) ) { + persistent = persistent +","; + } else { + persistent = persistent +");"; + } + } + return persistent; + }) + + + diff --git a/web/xocom.js b/web/xocom.js new file mode 100644 index 0000000..bb346e8 --- /dev/null +++ b/web/xocom.js @@ -0,0 +1,90 @@ +/* + * XOCom Javascript Source + * + * This source creates a global XO object that communicates + * with the python XPCom code running this activity. + * + * Your HTML file should register several callbacks with + * the XO object to handle requests from the activity: + * + * Example: A handler for the activity read_file and write_file + * + * <script type="text/javascript"> + * XO.register('read', function(content) { + * // Your code to consume the supplied content + * }) + * XO.register('write', function() { + * // Your code to return the content to save + * return 'monkey' + * }) + * </script> + * + * Some commands for debugging are put in an element with the + * id 'xo-status' if it exists. + * + * + * Copiado de SocialCalc + * + * + */ + +var XO = window.XO = { + callbacks: { }, + set_status: function (msg) { + jQuery('#xo-status').html(msg) + }, + observer: { + observe: function(req_obj,topic,command) { + now = new Date().getTime() + XO.set_status("(" + now + ") Handling " + command) + try { + // We need access to use the XPCom functions below + netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect") + + // Unwrap the XPCom objects to get at the data passed to us + req_obj = req_obj.QueryInterface(Components.interfaces.nsIMutableArray) + var command_arg = undefined + if (req_obj.length) { + var iter = req_obj.enumerate() + xp_arg = iter.getNext() + xp_arg = xp_arg.QueryInterface(Components.interfaces.nsISupportsString) + command_arg = xp_arg.toString() + } + + // Execute the registered callback method + return_value = XO.callbacks[command](command_arg) || '' + + // Wrap the return value back into the XPCom object + var result = Components.classes["@mozilla.org/supports-string;1"].createInstance( + Components.interfaces.nsISupportsString) + result.data = return_value + req_obj.clear() + req_obj.appendElement(result, false) + XO.set_status("(" + now + ") Handled " + command + ": (" + return_value + ")") + } + catch (err) { + XO.set_status("Error handling event: " + err) + } + } + }, + register: function(command, callback) { + XO.callbacks[command] = callback + } +} + +/* + * This snippet registers the XO observer to receive commands + * from the python XPCom code + */ +try { + netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); + var observerService = Components.classes["@mozilla.org/observer-service;1"] + .getService(Components.interfaces.nsIObserverService); + observerService.addObserver(XO.observer, 'xo-message', false); +} +catch(err) { + // Wait a bit to show this error, so the page has time to load up. + setTimeout( function() { + jQuery('#xo-status', 'JS Error: ' + err); + }, 1000) +} |