]> _ Git - cubeextranet.git/commitdiff
(no commit message)
authorvincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Tue, 29 Sep 2009 08:26:43 +0000 (08:26 +0000)
committervincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Tue, 29 Sep 2009 08:26:43 +0000 (08:26 +0000)
297 files changed:
.htaccess [new file with mode: 0644]
favicon.ico [new file with mode: 0644]
images/extranet/close.png [new file with mode: 0644]
images/extranet/delete.png [new file with mode: 0644]
images/extranet/devis.png [new file with mode: 0644]
images/extranet/devis2page1.png [new file with mode: 0644]
images/extranet/devis2page2.png [new file with mode: 0644]
images/extranet/down.png [new file with mode: 0644]
images/extranet/duplicate.png [new file with mode: 0644]
images/extranet/edit.png [new file with mode: 0644]
images/extranet/facture-brouillon.png [new file with mode: 0644]
images/extranet/facture.png [new file with mode: 0644]
images/extranet/favicon.ico [new file with mode: 0644]
images/extranet/logo.png [new file with mode: 0644]
images/extranet/postit.png [new file with mode: 0644]
images/extranet/print.png [new file with mode: 0644]
images/extranet/typographp/Ajouter/Creer-un-devis-8b2af4.png [new file with mode: 0644]
images/extranet/typographp/Ajouter/Creer-un-nouveau-client-8b751d.png [new file with mode: 0644]
images/extranet/typographp/Ajouter/Creer-un-projet-750e47.png [new file with mode: 0644]
images/extranet/typographp/Ajouter/Creer-une-facture-9872b8.png [new file with mode: 0644]
images/extranet/typographp/BoutonOK/Cliquez-ici-pour-vous-identifier-853bc1.png [new file with mode: 0644]
images/extranet/typographp/BoutonOK/Enregister-db6ab5.png [new file with mode: 0644]
images/extranet/typographp/BoutonOK/Enregistrer-d88202.png [new file with mode: 0644]
images/extranet/typographp/BoutonOK/Enregistrer-et-previsualiser-ed1943.png [new file with mode: 0644]
images/extranet/typographp/BoutonOK/Enregistrer-mon-nouveau-mot-de-passe-8cd421.png [new file with mode: 0644]
images/extranet/typographp/BoutonOK/Lancer-l-impression-38fb6c.png [new file with mode: 0644]
images/extranet/typographp/BoutonOK/Recevoir-mon-mot-de-passe-par-e-mail-b4f3d9.png [new file with mode: 0644]
images/extranet/typographp/Contact/Ajouter-un-contact-5a1f3a.png [new file with mode: 0644]
images/extranet/typographp/Onglet/CHIFFRES-0afb2a.png [new file with mode: 0644]
images/extranet/typographp/Onglet/CLIENTS-9da24c.png [new file with mode: 0644]
images/extranet/typographp/Onglet/DASHBOARD-7021f3.png [new file with mode: 0644]
images/extranet/typographp/Onglet/DEVIS-211008.png [new file with mode: 0644]
images/extranet/typographp/Onglet/FACTURES-4f4939.png [new file with mode: 0644]
images/extranet/typographp/Onglet/IDENTIFICATION-6fa172.png [new file with mode: 0644]
images/extranet/typographp/Onglet/PROJETS-f2f7f7.png [new file with mode: 0644]
images/extranet/typographp/Onglet/RH-08a19d.png [new file with mode: 0644]
images/extranet/typographp/Onglet/TIMEREPORT-b54b46.png [new file with mode: 0644]
images/extranet/typographp/OngletBlanc/Mes-Projets-en-cours-688038.png [new file with mode: 0644]
images/extranet/typographp/OngletBlanc/Mes-devis-en-cours-e5db3e.png [new file with mode: 0644]
images/extranet/typographp/OngletBlanc/Mes-projets-non-factures-c29e8c.png [new file with mode: 0644]
images/extranet/typographp/OngletBlanc/mon-timereport-2640a1.png [new file with mode: 0644]
images/extranet/typographp/Titre/Changer-mon-mot-de-passe-c46950.png [new file with mode: 0644]
images/extranet/typographp/Titre/Edition-d-un-client-4081ee.png [new file with mode: 0644]
images/extranet/typographp/Titre/Edition-d-un-contact-cc4d14.png [new file with mode: 0644]
images/extranet/typographp/Titre/Edition-d-un-projet-50894f.png [new file with mode: 0644]
images/extranet/typographp/Titre/Edition-des-notes-cc0713.png [new file with mode: 0644]
images/extranet/typographp/Titre/Imprimer-des-factures-1b0b0d.png [new file with mode: 0644]
images/extranet/typographp/Titre/Mes-parametres-654a44.png [new file with mode: 0644]
images/extranet/typographp/Titre/Mot-de-passe-oublie-4c9e32.png [new file with mode: 0644]
images/extranet/typographp/Titre/Veuillez-vous-identifier-c24529.png [new file with mode: 0644]
images/extranet/up.png [new file with mode: 0644]
images/extranet/view.png [new file with mode: 0644]
images/ws/close.png [new file with mode: 0644]
images/ws/delete.png [new file with mode: 0644]
images/ws/devis.png [new file with mode: 0644]
images/ws/devis2page1.png [new file with mode: 0644]
images/ws/devis2page2.png [new file with mode: 0644]
images/ws/down.png [new file with mode: 0644]
images/ws/duplicate.png [new file with mode: 0644]
images/ws/edit.png [new file with mode: 0644]
images/ws/facture-brouillon.png [new file with mode: 0644]
images/ws/facture.png [new file with mode: 0644]
images/ws/favicon.ico [new file with mode: 0644]
images/ws/logo.png [new file with mode: 0644]
images/ws/postit.png [new file with mode: 0644]
images/ws/print.png [new file with mode: 0644]
images/ws/typographp/Ajouter/Creer-un-nouveau-fluidbook-b52f95.png [new file with mode: 0644]
images/ws/typographp/Ajouter/Creer-un-projet-750e47.png [new file with mode: 0644]
images/ws/typographp/Ajouter/Creer-une-facture-9872b8.png [new file with mode: 0644]
images/ws/typographp/Ajouter/Creer-une-nouvelle-publication-835660.png [new file with mode: 0644]
images/ws/typographp/Ajouter/Creer-une-publication-3d0832.png [new file with mode: 0644]
images/ws/typographp/BoutonOK/Cliquez-ici-pour-vous-identifier-853bc1.png [new file with mode: 0644]
images/ws/typographp/BoutonOK/Enregister-db6ab5.png [new file with mode: 0644]
images/ws/typographp/BoutonOK/Enregistrer-mon-nouveau-mot-de-passe-8cd421.png [new file with mode: 0644]
images/ws/typographp/BoutonOK/Recevoir-mon-mot-de-passe-par-e-mail-b4f3d9.png [new file with mode: 0644]
images/ws/typographp/BoutonOK/editer-58d1b5.png [new file with mode: 0644]
images/ws/typographp/Editer/editer-58d1b5.png [new file with mode: 0644]
images/ws/typographp/LastStep/1-Apercu-89af62.png [new file with mode: 0644]
images/ws/typographp/LastStep/5-Apercu-82751b.png [new file with mode: 0644]
images/ws/typographp/LastStepInactive/5-Apercu-82751b.png [new file with mode: 0644]
images/ws/typographp/Onglet/CHIFFRES-0afb2a.png [new file with mode: 0644]
images/ws/typographp/Onglet/CLIENTS-9da24c.png [new file with mode: 0644]
images/ws/typographp/Onglet/DASHBOARD-7021f3.png [new file with mode: 0644]
images/ws/typographp/Onglet/DEVIS-211008.png [new file with mode: 0644]
images/ws/typographp/Onglet/FACTURES-4f4939.png [new file with mode: 0644]
images/ws/typographp/Onglet/IDENTIFICATION-6fa172.png [new file with mode: 0644]
images/ws/typographp/Onglet/LOGIN-76d7ca.png [new file with mode: 0644]
images/ws/typographp/Onglet/PROJETS-f2f7f7.png [new file with mode: 0644]
images/ws/typographp/Onglet/PUBLICATIONS-7356f3.png [new file with mode: 0644]
images/ws/typographp/Onglet/RH-08a19d.png [new file with mode: 0644]
images/ws/typographp/Onglet/TIMEREPORT-b54b46.png [new file with mode: 0644]
images/ws/typographp/OngletBlanc/Mes-Projets-en-cours-688038.png [new file with mode: 0644]
images/ws/typographp/OngletBlanc/Mes-devis-en-cours-e5db3e.png [new file with mode: 0644]
images/ws/typographp/OngletBlanc/Mes-projets-non-factures-c29e8c.png [new file with mode: 0644]
images/ws/typographp/OngletBlanc/Mon-Timereport-36ef55.png [new file with mode: 0644]
images/ws/typographp/OngletBlanc/Projets-en-cours-1b3ed4.png [new file with mode: 0644]
images/ws/typographp/OngletBlanc/mon-timereport-2640a1.png [new file with mode: 0644]
images/ws/typographp/OngletBlanc/my-timereport-cc3841.png [new file with mode: 0644]
images/ws/typographp/Stats/statistiques-8ed107.png [new file with mode: 0644]
images/ws/typographp/Stats/stats-650105.png [new file with mode: 0644]
images/ws/typographp/Step/1-Composition-f71953.png [new file with mode: 0644]
images/ws/typographp/Step/1-Edition-des-liens-f57f63.png [new file with mode: 0644]
images/ws/typographp/Step/1-Parametres-8acc54.png [new file with mode: 0644]
images/ws/typographp/Step/1-Personnalisation-c1ddbc.png [new file with mode: 0644]
images/ws/typographp/Step/2-Personnalisation-ca029f.png [new file with mode: 0644]
images/ws/typographp/Step/3-Parametres-663a41.png [new file with mode: 0644]
images/ws/typographp/Step/4-Edition-des-liens-31c429.png [new file with mode: 0644]
images/ws/typographp/StepInactive/4-Edition-des-liens-31c429.png [new file with mode: 0644]
images/ws/typographp/Supprimer/del-bcc286.png [new file with mode: 0644]
images/ws/typographp/Supprimer/editer-58d1b5.png [new file with mode: 0644]
images/ws/typographp/Supprimer/suppr-ae1b1b.png [new file with mode: 0644]
images/ws/typographp/Supprimer/supprimer-18f8c0.png [new file with mode: 0644]
images/ws/typographp/Telecharger/telecharger-77579a.png [new file with mode: 0644]
images/ws/typographp/Titre/Ajouter-un-element-au-dashboard-79b171.png [new file with mode: 0644]
images/ws/typographp/Titre/Changer-mon-mot-de-passe-c46950.png [new file with mode: 0644]
images/ws/typographp/Titre/Mes-parametres-654a44.png [new file with mode: 0644]
images/ws/typographp/Titre/Mot-de-passe-oublie-4c9e32.png [new file with mode: 0644]
images/ws/typographp/Titre/Please-login-1656e3.png [new file with mode: 0644]
images/ws/typographp/Titre/Veuillez-vous-identifier-c24529.png [new file with mode: 0644]
images/ws/typographp/Voir/voir-679cca.png [new file with mode: 0644]
images/ws/up.png [new file with mode: 0644]
images/ws/view.png [new file with mode: 0644]
importWs.php [new file with mode: 0644]
inc/config.inc.php [new file with mode: 0644]
inc/extranet/Controlleur/_common.php [new file with mode: 0644]
inc/extranet/Controlleur/class.extranet.ajax.php [new file with mode: 0644]
inc/extranet/Controlleur/class.extranet.core.php [new file with mode: 0644]
inc/extranet/Controlleur/class.extranet.droits.php [new file with mode: 0644]
inc/extranet/Controlleur/class.extranet.filtre.php [new file with mode: 0644]
inc/extranet/Controlleur/class.extranet.page.chiffres.php [new file with mode: 0644]
inc/extranet/Controlleur/class.extranet.page.php [new file with mode: 0644]
inc/extranet/Controlleur/class.extranet.url.php [new file with mode: 0644]
inc/extranet/Controlleur/class.ws.droits.php [new file with mode: 0644]
inc/extranet/Controlleur/class.ws.flash.php [new file with mode: 0644]
inc/extranet/Controlleur/class.ws.url.php [new file with mode: 0644]
inc/extranet/DAO/_common.php [new file with mode: 0644]
inc/extranet/DAO/class.extranet.dao.client.php [new file with mode: 0644]
inc/extranet/DAO/class.extranet.dao.devis.php [new file with mode: 0644]
inc/extranet/DAO/class.extranet.dao.entreprise.php [new file with mode: 0644]
inc/extranet/DAO/class.extranet.dao.equipier.php [new file with mode: 0644]
inc/extranet/DAO/class.extranet.dao.facture.php [new file with mode: 0644]
inc/extranet/DAO/class.extranet.dao.fichier.php [new file with mode: 0644]
inc/extranet/DAO/class.extranet.dao.php [new file with mode: 0644]
inc/extranet/DAO/class.extranet.dao.projet.php [new file with mode: 0644]
inc/extranet/DAO/class.extranet.dao.tache.php [new file with mode: 0644]
inc/extranet/DAO/class.extranet.dao.timereport.php [new file with mode: 0644]
inc/extranet/DAO/class.extranet.dao.utilisateur.php [new file with mode: 0644]
inc/extranet/DAO/class.ws.dao.book.php [new file with mode: 0644]
inc/extranet/Metier/_common.php [new file with mode: 0644]
inc/extranet/Metier/class.extranet.client.php [new file with mode: 0644]
inc/extranet/Metier/class.extranet.devis.php [new file with mode: 0644]
inc/extranet/Metier/class.extranet.document.php [new file with mode: 0644]
inc/extranet/Metier/class.extranet.entreprise.php [new file with mode: 0644]
inc/extranet/Metier/class.extranet.equipier.php [new file with mode: 0644]
inc/extranet/Metier/class.extranet.facture.php [new file with mode: 0644]
inc/extranet/Metier/class.extranet.fichier.php [new file with mode: 0644]
inc/extranet/Metier/class.extranet.projet.php [new file with mode: 0644]
inc/extranet/Metier/class.extranet.tache.normale.php [new file with mode: 0644]
inc/extranet/Metier/class.extranet.tache.php [new file with mode: 0644]
inc/extranet/Metier/class.extranet.tache.soustraitee.php [new file with mode: 0644]
inc/extranet/Metier/class.extranet.timereport.php [new file with mode: 0644]
inc/extranet/Metier/class.extranet.utilisateur.php [new file with mode: 0644]
inc/extranet/Metier/class.ws.book.parametres.php [new file with mode: 0644]
inc/extranet/Metier/class.ws.book.php [new file with mode: 0644]
inc/extranet/Metier/class.ws.document.localinfos.php [new file with mode: 0644]
inc/extranet/Metier/class.ws.langue.textes.php [new file with mode: 0644]
inc/extranet/Metier/class.ws.parametres.php [new file with mode: 0644]
inc/extranet/Metier/class.ws.theme.parametres.php [new file with mode: 0644]
inc/prepend.php [new file with mode: 0644]
index.php [new file with mode: 0644]
js/extranet.js [new file with mode: 0644]
js/merged-28c4c5.js [new file with mode: 0644]
js/merged-2ded29.js [new file with mode: 0644]
js/merged-42e0d3.js [new file with mode: 0644]
js/merged-4703e7.js [new file with mode: 0644]
js/merged-6298ca.js [new file with mode: 0644]
js/merged-62e846.js [new file with mode: 0644]
js/merged-657b8b.js [new file with mode: 0644]
js/merged-849b2d.js [new file with mode: 0644]
js/merged-91dc42.js [new file with mode: 0644]
js/merged-a9c9c5.js [new file with mode: 0644]
js/merged-ab8f61.js [new file with mode: 0644]
js/merged-b1daaf.js [new file with mode: 0644]
js/merged-d07698.js [new file with mode: 0644]
js/merged-f0580e.js [new file with mode: 0644]
js/merged-fe88f4.js [new file with mode: 0644]
l10n/en/main.lang.php [new file with mode: 0644]
robots.txt [new file with mode: 0644]
style/extranet/arrows.png [new file with mode: 0644]
style/extranet/b-e.png [new file with mode: 0644]
style/extranet/b-h.png [new file with mode: 0644]
style/extranet/b-n.png [new file with mode: 0644]
style/extranet/b-ne.png [new file with mode: 0644]
style/extranet/b-nw.png [new file with mode: 0644]
style/extranet/b-s.png [new file with mode: 0644]
style/extranet/b-se.png [new file with mode: 0644]
style/extranet/b-sw.png [new file with mode: 0644]
style/extranet/b-w.png [new file with mode: 0644]
style/extranet/bg-bar.png [new file with mode: 0644]
style/extranet/bg-document.png [new file with mode: 0644]
style/extranet/bg-footer.png [new file with mode: 0644]
style/extranet/bg-header.png [new file with mode: 0644]
style/extranet/bg-logo.png [new file with mode: 0644]
style/extranet/bg-page.png [new file with mode: 0644]
style/extranet/filtre-list-b.png [new file with mode: 0644]
style/extranet/filtre-list-m.png [new file with mode: 0644]
style/extranet/filtres.png [new file with mode: 0644]
style/extranet/ie.css [new file with mode: 0644]
style/extranet/merged-3fd7e1.css [new file with mode: 0644]
style/extranet/merged-b27ad5.css [new file with mode: 0644]
style/extranet/pager-left-active.png [new file with mode: 0644]
style/extranet/pager-left.png [new file with mode: 0644]
style/extranet/search.png [new file with mode: 0644]
style/extranet/style.css [new file with mode: 0644]
style/ws/arrows.png [new file with mode: 0644]
style/ws/b-e.png [new file with mode: 0644]
style/ws/b-h.png [new file with mode: 0644]
style/ws/b-n.png [new file with mode: 0644]
style/ws/b-ne.png [new file with mode: 0644]
style/ws/b-nw.png [new file with mode: 0644]
style/ws/b-s.png [new file with mode: 0644]
style/ws/b-se.png [new file with mode: 0644]
style/ws/b-sw.png [new file with mode: 0644]
style/ws/b-w.png [new file with mode: 0644]
style/ws/bg-bar-vide.png [new file with mode: 0644]
style/ws/bg-bar.png [new file with mode: 0644]
style/ws/bg-document.png [new file with mode: 0644]
style/ws/bg-footer.png [new file with mode: 0644]
style/ws/bg-header.png [new file with mode: 0644]
style/ws/bg-logo.png [new file with mode: 0644]
style/ws/bg-page.png [new file with mode: 0644]
style/ws/filtre-list-b.png [new file with mode: 0644]
style/ws/filtre-list-m.png [new file with mode: 0644]
style/ws/filtres.png [new file with mode: 0644]
style/ws/ie.css [new file with mode: 0644]
style/ws/merged-3fd7e1.css [new file with mode: 0644]
style/ws/merged-b27ad5.css [new file with mode: 0644]
style/ws/pager-left-active.png [new file with mode: 0644]
style/ws/pager-left.png [new file with mode: 0644]
style/ws/search.png [new file with mode: 0644]
style/ws/style.css [new file with mode: 0644]
swf/composer.lnk [new file with mode: 0644]
swf/composer.swf [new file with mode: 0644]
swf/uploader.lnk [new file with mode: 0644]
swf/uploader.swf [new file with mode: 0644]
swf/wsComposer.fla [new file with mode: 0644]
typo/Univers-CondensedBold.ttf [new file with mode: 0644]
typo/extranet/Univers-CondensedBold.ttf [new file with mode: 0644]
typo/extranet/desc.xml [new file with mode: 0644]
typo/extranet/left-plus.png [new file with mode: 0644]
typo/extranet/left-star.png [new file with mode: 0644]
typo/extranet/left.png [new file with mode: 0644]
typo/extranet/middle.png [new file with mode: 0644]
typo/extranet/onglet-l.png [new file with mode: 0644]
typo/extranet/onglet-m.png [new file with mode: 0644]
typo/extranet/onglet-r.png [new file with mode: 0644]
typo/extranet/onglet.png [new file with mode: 0644]
typo/extranet/right-ok.png [new file with mode: 0644]
typo/extranet/right.png [new file with mode: 0644]
typo/extranet/small-l-contact.png [new file with mode: 0644]
typo/extranet/small-l.png [new file with mode: 0644]
typo/extranet/small-m.png [new file with mode: 0644]
typo/extranet/small-r-download.png [new file with mode: 0644]
typo/extranet/small-r.png [new file with mode: 0644]
typo/ws/Univers-CondensedBold.ttf [new file with mode: 0644]
typo/ws/delete-left.png [new file with mode: 0644]
typo/ws/desc.xml [new file with mode: 0644]
typo/ws/download-left.png [new file with mode: 0644]
typo/ws/edit-left.png [new file with mode: 0644]
typo/ws/left-plus.png [new file with mode: 0644]
typo/ws/left-star.png [new file with mode: 0644]
typo/ws/left.png [new file with mode: 0644]
typo/ws/middle.png [new file with mode: 0644]
typo/ws/onglet-l.png [new file with mode: 0644]
typo/ws/onglet-m.png [new file with mode: 0644]
typo/ws/onglet-r.png [new file with mode: 0644]
typo/ws/onglet.png [new file with mode: 0644]
typo/ws/right-ok.png [new file with mode: 0644]
typo/ws/right.png [new file with mode: 0644]
typo/ws/see-left.png [new file with mode: 0644]
typo/ws/small-l-contact.png [new file with mode: 0644]
typo/ws/small-l.png [new file with mode: 0644]
typo/ws/small-m.png [new file with mode: 0644]
typo/ws/small-r-download.png [new file with mode: 0644]
typo/ws/small-r.png [new file with mode: 0644]
typo/ws/stats-left.png [new file with mode: 0644]
typo/ws/step-inactive-left.png [new file with mode: 0644]
typo/ws/step-inactive-middle.png [new file with mode: 0644]
typo/ws/step-inactive-right-arrow.png [new file with mode: 0644]
typo/ws/step-inactive-right.png [new file with mode: 0644]
typo/ws/step-left.png [new file with mode: 0644]
typo/ws/step-middle.png [new file with mode: 0644]
typo/ws/step-right-arrow.png [new file with mode: 0644]
typo/ws/step-right.png [new file with mode: 0644]
typo/ws/verdanab.ttf [new file with mode: 0644]
typo/ws/ws-middle.png [new file with mode: 0644]
typo/ws/ws-right.png [new file with mode: 0644]

diff --git a/.htaccess b/.htaccess
new file mode 100644 (file)
index 0000000..9db36f4
--- /dev/null
+++ b/.htaccess
@@ -0,0 +1,8 @@
+Options +FollowSymlinks\r
+\r
+RewriteEngine on\r
+RewriteBase /\r
+\r
+RewriteRule ^ajax/supprimeFichier/([0-9]+)/(.*)$ index.php/ajax/supprimeFichier/$1/$2 [L]\r
+RewriteRule ^telecharger/([0-9]+)/(.*)$ index.php/telecharger/$1/$2 [L]\r
+RewriteRule ^([-_a-zA-Z0-9/]+)$ index.php/$1 [L]
\ No newline at end of file
diff --git a/favicon.ico b/favicon.ico
new file mode 100644 (file)
index 0000000..afbc192
Binary files /dev/null and b/favicon.ico differ
diff --git a/images/extranet/close.png b/images/extranet/close.png
new file mode 100644 (file)
index 0000000..ca2b14d
Binary files /dev/null and b/images/extranet/close.png differ
diff --git a/images/extranet/delete.png b/images/extranet/delete.png
new file mode 100644 (file)
index 0000000..074aed9
Binary files /dev/null and b/images/extranet/delete.png differ
diff --git a/images/extranet/devis.png b/images/extranet/devis.png
new file mode 100644 (file)
index 0000000..2588507
Binary files /dev/null and b/images/extranet/devis.png differ
diff --git a/images/extranet/devis2page1.png b/images/extranet/devis2page1.png
new file mode 100644 (file)
index 0000000..dd6daaf
Binary files /dev/null and b/images/extranet/devis2page1.png differ
diff --git a/images/extranet/devis2page2.png b/images/extranet/devis2page2.png
new file mode 100644 (file)
index 0000000..1e256b6
Binary files /dev/null and b/images/extranet/devis2page2.png differ
diff --git a/images/extranet/down.png b/images/extranet/down.png
new file mode 100644 (file)
index 0000000..86fee5b
Binary files /dev/null and b/images/extranet/down.png differ
diff --git a/images/extranet/duplicate.png b/images/extranet/duplicate.png
new file mode 100644 (file)
index 0000000..69b3212
Binary files /dev/null and b/images/extranet/duplicate.png differ
diff --git a/images/extranet/edit.png b/images/extranet/edit.png
new file mode 100644 (file)
index 0000000..1986ecd
Binary files /dev/null and b/images/extranet/edit.png differ
diff --git a/images/extranet/facture-brouillon.png b/images/extranet/facture-brouillon.png
new file mode 100644 (file)
index 0000000..22d2e02
Binary files /dev/null and b/images/extranet/facture-brouillon.png differ
diff --git a/images/extranet/facture.png b/images/extranet/facture.png
new file mode 100644 (file)
index 0000000..7c09e19
Binary files /dev/null and b/images/extranet/facture.png differ
diff --git a/images/extranet/favicon.ico b/images/extranet/favicon.ico
new file mode 100644 (file)
index 0000000..afbc192
Binary files /dev/null and b/images/extranet/favicon.ico differ
diff --git a/images/extranet/logo.png b/images/extranet/logo.png
new file mode 100644 (file)
index 0000000..07f3425
Binary files /dev/null and b/images/extranet/logo.png differ
diff --git a/images/extranet/postit.png b/images/extranet/postit.png
new file mode 100644 (file)
index 0000000..825217f
Binary files /dev/null and b/images/extranet/postit.png differ
diff --git a/images/extranet/print.png b/images/extranet/print.png
new file mode 100644 (file)
index 0000000..0b5e61b
Binary files /dev/null and b/images/extranet/print.png differ
diff --git a/images/extranet/typographp/Ajouter/Creer-un-devis-8b2af4.png b/images/extranet/typographp/Ajouter/Creer-un-devis-8b2af4.png
new file mode 100644 (file)
index 0000000..15f46ec
Binary files /dev/null and b/images/extranet/typographp/Ajouter/Creer-un-devis-8b2af4.png differ
diff --git a/images/extranet/typographp/Ajouter/Creer-un-nouveau-client-8b751d.png b/images/extranet/typographp/Ajouter/Creer-un-nouveau-client-8b751d.png
new file mode 100644 (file)
index 0000000..12512bf
Binary files /dev/null and b/images/extranet/typographp/Ajouter/Creer-un-nouveau-client-8b751d.png differ
diff --git a/images/extranet/typographp/Ajouter/Creer-un-projet-750e47.png b/images/extranet/typographp/Ajouter/Creer-un-projet-750e47.png
new file mode 100644 (file)
index 0000000..d4faed2
Binary files /dev/null and b/images/extranet/typographp/Ajouter/Creer-un-projet-750e47.png differ
diff --git a/images/extranet/typographp/Ajouter/Creer-une-facture-9872b8.png b/images/extranet/typographp/Ajouter/Creer-une-facture-9872b8.png
new file mode 100644 (file)
index 0000000..132d28a
Binary files /dev/null and b/images/extranet/typographp/Ajouter/Creer-une-facture-9872b8.png differ
diff --git a/images/extranet/typographp/BoutonOK/Cliquez-ici-pour-vous-identifier-853bc1.png b/images/extranet/typographp/BoutonOK/Cliquez-ici-pour-vous-identifier-853bc1.png
new file mode 100644 (file)
index 0000000..ec1cb20
Binary files /dev/null and b/images/extranet/typographp/BoutonOK/Cliquez-ici-pour-vous-identifier-853bc1.png differ
diff --git a/images/extranet/typographp/BoutonOK/Enregister-db6ab5.png b/images/extranet/typographp/BoutonOK/Enregister-db6ab5.png
new file mode 100644 (file)
index 0000000..5c3da81
Binary files /dev/null and b/images/extranet/typographp/BoutonOK/Enregister-db6ab5.png differ
diff --git a/images/extranet/typographp/BoutonOK/Enregistrer-d88202.png b/images/extranet/typographp/BoutonOK/Enregistrer-d88202.png
new file mode 100644 (file)
index 0000000..6f84380
Binary files /dev/null and b/images/extranet/typographp/BoutonOK/Enregistrer-d88202.png differ
diff --git a/images/extranet/typographp/BoutonOK/Enregistrer-et-previsualiser-ed1943.png b/images/extranet/typographp/BoutonOK/Enregistrer-et-previsualiser-ed1943.png
new file mode 100644 (file)
index 0000000..2976c78
Binary files /dev/null and b/images/extranet/typographp/BoutonOK/Enregistrer-et-previsualiser-ed1943.png differ
diff --git a/images/extranet/typographp/BoutonOK/Enregistrer-mon-nouveau-mot-de-passe-8cd421.png b/images/extranet/typographp/BoutonOK/Enregistrer-mon-nouveau-mot-de-passe-8cd421.png
new file mode 100644 (file)
index 0000000..2b5a169
Binary files /dev/null and b/images/extranet/typographp/BoutonOK/Enregistrer-mon-nouveau-mot-de-passe-8cd421.png differ
diff --git a/images/extranet/typographp/BoutonOK/Lancer-l-impression-38fb6c.png b/images/extranet/typographp/BoutonOK/Lancer-l-impression-38fb6c.png
new file mode 100644 (file)
index 0000000..7db61f3
Binary files /dev/null and b/images/extranet/typographp/BoutonOK/Lancer-l-impression-38fb6c.png differ
diff --git a/images/extranet/typographp/BoutonOK/Recevoir-mon-mot-de-passe-par-e-mail-b4f3d9.png b/images/extranet/typographp/BoutonOK/Recevoir-mon-mot-de-passe-par-e-mail-b4f3d9.png
new file mode 100644 (file)
index 0000000..64fba1a
Binary files /dev/null and b/images/extranet/typographp/BoutonOK/Recevoir-mon-mot-de-passe-par-e-mail-b4f3d9.png differ
diff --git a/images/extranet/typographp/Contact/Ajouter-un-contact-5a1f3a.png b/images/extranet/typographp/Contact/Ajouter-un-contact-5a1f3a.png
new file mode 100644 (file)
index 0000000..21bf2b1
Binary files /dev/null and b/images/extranet/typographp/Contact/Ajouter-un-contact-5a1f3a.png differ
diff --git a/images/extranet/typographp/Onglet/CHIFFRES-0afb2a.png b/images/extranet/typographp/Onglet/CHIFFRES-0afb2a.png
new file mode 100644 (file)
index 0000000..8006eb9
Binary files /dev/null and b/images/extranet/typographp/Onglet/CHIFFRES-0afb2a.png differ
diff --git a/images/extranet/typographp/Onglet/CLIENTS-9da24c.png b/images/extranet/typographp/Onglet/CLIENTS-9da24c.png
new file mode 100644 (file)
index 0000000..605f624
Binary files /dev/null and b/images/extranet/typographp/Onglet/CLIENTS-9da24c.png differ
diff --git a/images/extranet/typographp/Onglet/DASHBOARD-7021f3.png b/images/extranet/typographp/Onglet/DASHBOARD-7021f3.png
new file mode 100644 (file)
index 0000000..69f61b1
Binary files /dev/null and b/images/extranet/typographp/Onglet/DASHBOARD-7021f3.png differ
diff --git a/images/extranet/typographp/Onglet/DEVIS-211008.png b/images/extranet/typographp/Onglet/DEVIS-211008.png
new file mode 100644 (file)
index 0000000..fc08313
Binary files /dev/null and b/images/extranet/typographp/Onglet/DEVIS-211008.png differ
diff --git a/images/extranet/typographp/Onglet/FACTURES-4f4939.png b/images/extranet/typographp/Onglet/FACTURES-4f4939.png
new file mode 100644 (file)
index 0000000..90aa15c
Binary files /dev/null and b/images/extranet/typographp/Onglet/FACTURES-4f4939.png differ
diff --git a/images/extranet/typographp/Onglet/IDENTIFICATION-6fa172.png b/images/extranet/typographp/Onglet/IDENTIFICATION-6fa172.png
new file mode 100644 (file)
index 0000000..da1732f
Binary files /dev/null and b/images/extranet/typographp/Onglet/IDENTIFICATION-6fa172.png differ
diff --git a/images/extranet/typographp/Onglet/PROJETS-f2f7f7.png b/images/extranet/typographp/Onglet/PROJETS-f2f7f7.png
new file mode 100644 (file)
index 0000000..0ed1ae1
Binary files /dev/null and b/images/extranet/typographp/Onglet/PROJETS-f2f7f7.png differ
diff --git a/images/extranet/typographp/Onglet/RH-08a19d.png b/images/extranet/typographp/Onglet/RH-08a19d.png
new file mode 100644 (file)
index 0000000..e27d7f0
Binary files /dev/null and b/images/extranet/typographp/Onglet/RH-08a19d.png differ
diff --git a/images/extranet/typographp/Onglet/TIMEREPORT-b54b46.png b/images/extranet/typographp/Onglet/TIMEREPORT-b54b46.png
new file mode 100644 (file)
index 0000000..5a15b79
Binary files /dev/null and b/images/extranet/typographp/Onglet/TIMEREPORT-b54b46.png differ
diff --git a/images/extranet/typographp/OngletBlanc/Mes-Projets-en-cours-688038.png b/images/extranet/typographp/OngletBlanc/Mes-Projets-en-cours-688038.png
new file mode 100644 (file)
index 0000000..b8c9f46
Binary files /dev/null and b/images/extranet/typographp/OngletBlanc/Mes-Projets-en-cours-688038.png differ
diff --git a/images/extranet/typographp/OngletBlanc/Mes-devis-en-cours-e5db3e.png b/images/extranet/typographp/OngletBlanc/Mes-devis-en-cours-e5db3e.png
new file mode 100644 (file)
index 0000000..41cff42
Binary files /dev/null and b/images/extranet/typographp/OngletBlanc/Mes-devis-en-cours-e5db3e.png differ
diff --git a/images/extranet/typographp/OngletBlanc/Mes-projets-non-factures-c29e8c.png b/images/extranet/typographp/OngletBlanc/Mes-projets-non-factures-c29e8c.png
new file mode 100644 (file)
index 0000000..b822a4b
Binary files /dev/null and b/images/extranet/typographp/OngletBlanc/Mes-projets-non-factures-c29e8c.png differ
diff --git a/images/extranet/typographp/OngletBlanc/mon-timereport-2640a1.png b/images/extranet/typographp/OngletBlanc/mon-timereport-2640a1.png
new file mode 100644 (file)
index 0000000..321fef3
Binary files /dev/null and b/images/extranet/typographp/OngletBlanc/mon-timereport-2640a1.png differ
diff --git a/images/extranet/typographp/Titre/Changer-mon-mot-de-passe-c46950.png b/images/extranet/typographp/Titre/Changer-mon-mot-de-passe-c46950.png
new file mode 100644 (file)
index 0000000..1aaa30f
Binary files /dev/null and b/images/extranet/typographp/Titre/Changer-mon-mot-de-passe-c46950.png differ
diff --git a/images/extranet/typographp/Titre/Edition-d-un-client-4081ee.png b/images/extranet/typographp/Titre/Edition-d-un-client-4081ee.png
new file mode 100644 (file)
index 0000000..a5aaa33
Binary files /dev/null and b/images/extranet/typographp/Titre/Edition-d-un-client-4081ee.png differ
diff --git a/images/extranet/typographp/Titre/Edition-d-un-contact-cc4d14.png b/images/extranet/typographp/Titre/Edition-d-un-contact-cc4d14.png
new file mode 100644 (file)
index 0000000..bc0680c
Binary files /dev/null and b/images/extranet/typographp/Titre/Edition-d-un-contact-cc4d14.png differ
diff --git a/images/extranet/typographp/Titre/Edition-d-un-projet-50894f.png b/images/extranet/typographp/Titre/Edition-d-un-projet-50894f.png
new file mode 100644 (file)
index 0000000..b9e3a4a
Binary files /dev/null and b/images/extranet/typographp/Titre/Edition-d-un-projet-50894f.png differ
diff --git a/images/extranet/typographp/Titre/Edition-des-notes-cc0713.png b/images/extranet/typographp/Titre/Edition-des-notes-cc0713.png
new file mode 100644 (file)
index 0000000..8933ae9
Binary files /dev/null and b/images/extranet/typographp/Titre/Edition-des-notes-cc0713.png differ
diff --git a/images/extranet/typographp/Titre/Imprimer-des-factures-1b0b0d.png b/images/extranet/typographp/Titre/Imprimer-des-factures-1b0b0d.png
new file mode 100644 (file)
index 0000000..e50d270
Binary files /dev/null and b/images/extranet/typographp/Titre/Imprimer-des-factures-1b0b0d.png differ
diff --git a/images/extranet/typographp/Titre/Mes-parametres-654a44.png b/images/extranet/typographp/Titre/Mes-parametres-654a44.png
new file mode 100644 (file)
index 0000000..0332bc6
Binary files /dev/null and b/images/extranet/typographp/Titre/Mes-parametres-654a44.png differ
diff --git a/images/extranet/typographp/Titre/Mot-de-passe-oublie-4c9e32.png b/images/extranet/typographp/Titre/Mot-de-passe-oublie-4c9e32.png
new file mode 100644 (file)
index 0000000..775d972
Binary files /dev/null and b/images/extranet/typographp/Titre/Mot-de-passe-oublie-4c9e32.png differ
diff --git a/images/extranet/typographp/Titre/Veuillez-vous-identifier-c24529.png b/images/extranet/typographp/Titre/Veuillez-vous-identifier-c24529.png
new file mode 100644 (file)
index 0000000..9df2d98
Binary files /dev/null and b/images/extranet/typographp/Titre/Veuillez-vous-identifier-c24529.png differ
diff --git a/images/extranet/up.png b/images/extranet/up.png
new file mode 100644 (file)
index 0000000..3e92692
Binary files /dev/null and b/images/extranet/up.png differ
diff --git a/images/extranet/view.png b/images/extranet/view.png
new file mode 100644 (file)
index 0000000..3bdd45e
Binary files /dev/null and b/images/extranet/view.png differ
diff --git a/images/ws/close.png b/images/ws/close.png
new file mode 100644 (file)
index 0000000..b674c79
Binary files /dev/null and b/images/ws/close.png differ
diff --git a/images/ws/delete.png b/images/ws/delete.png
new file mode 100644 (file)
index 0000000..b674c79
Binary files /dev/null and b/images/ws/delete.png differ
diff --git a/images/ws/devis.png b/images/ws/devis.png
new file mode 100644 (file)
index 0000000..2588507
Binary files /dev/null and b/images/ws/devis.png differ
diff --git a/images/ws/devis2page1.png b/images/ws/devis2page1.png
new file mode 100644 (file)
index 0000000..dd6daaf
Binary files /dev/null and b/images/ws/devis2page1.png differ
diff --git a/images/ws/devis2page2.png b/images/ws/devis2page2.png
new file mode 100644 (file)
index 0000000..1e256b6
Binary files /dev/null and b/images/ws/devis2page2.png differ
diff --git a/images/ws/down.png b/images/ws/down.png
new file mode 100644 (file)
index 0000000..f0a56c8
Binary files /dev/null and b/images/ws/down.png differ
diff --git a/images/ws/duplicate.png b/images/ws/duplicate.png
new file mode 100644 (file)
index 0000000..69b3212
Binary files /dev/null and b/images/ws/duplicate.png differ
diff --git a/images/ws/edit.png b/images/ws/edit.png
new file mode 100644 (file)
index 0000000..1986ecd
Binary files /dev/null and b/images/ws/edit.png differ
diff --git a/images/ws/facture-brouillon.png b/images/ws/facture-brouillon.png
new file mode 100644 (file)
index 0000000..22d2e02
Binary files /dev/null and b/images/ws/facture-brouillon.png differ
diff --git a/images/ws/facture.png b/images/ws/facture.png
new file mode 100644 (file)
index 0000000..7c09e19
Binary files /dev/null and b/images/ws/facture.png differ
diff --git a/images/ws/favicon.ico b/images/ws/favicon.ico
new file mode 100644 (file)
index 0000000..252c8fa
Binary files /dev/null and b/images/ws/favicon.ico differ
diff --git a/images/ws/logo.png b/images/ws/logo.png
new file mode 100644 (file)
index 0000000..3582045
Binary files /dev/null and b/images/ws/logo.png differ
diff --git a/images/ws/postit.png b/images/ws/postit.png
new file mode 100644 (file)
index 0000000..825217f
Binary files /dev/null and b/images/ws/postit.png differ
diff --git a/images/ws/print.png b/images/ws/print.png
new file mode 100644 (file)
index 0000000..0b5e61b
Binary files /dev/null and b/images/ws/print.png differ
diff --git a/images/ws/typographp/Ajouter/Creer-un-nouveau-fluidbook-b52f95.png b/images/ws/typographp/Ajouter/Creer-un-nouveau-fluidbook-b52f95.png
new file mode 100644 (file)
index 0000000..72cf976
Binary files /dev/null and b/images/ws/typographp/Ajouter/Creer-un-nouveau-fluidbook-b52f95.png differ
diff --git a/images/ws/typographp/Ajouter/Creer-un-projet-750e47.png b/images/ws/typographp/Ajouter/Creer-un-projet-750e47.png
new file mode 100644 (file)
index 0000000..d4faed2
Binary files /dev/null and b/images/ws/typographp/Ajouter/Creer-un-projet-750e47.png differ
diff --git a/images/ws/typographp/Ajouter/Creer-une-facture-9872b8.png b/images/ws/typographp/Ajouter/Creer-une-facture-9872b8.png
new file mode 100644 (file)
index 0000000..132d28a
Binary files /dev/null and b/images/ws/typographp/Ajouter/Creer-une-facture-9872b8.png differ
diff --git a/images/ws/typographp/Ajouter/Creer-une-nouvelle-publication-835660.png b/images/ws/typographp/Ajouter/Creer-une-nouvelle-publication-835660.png
new file mode 100644 (file)
index 0000000..d1bf425
Binary files /dev/null and b/images/ws/typographp/Ajouter/Creer-une-nouvelle-publication-835660.png differ
diff --git a/images/ws/typographp/Ajouter/Creer-une-publication-3d0832.png b/images/ws/typographp/Ajouter/Creer-une-publication-3d0832.png
new file mode 100644 (file)
index 0000000..8103ad3
Binary files /dev/null and b/images/ws/typographp/Ajouter/Creer-une-publication-3d0832.png differ
diff --git a/images/ws/typographp/BoutonOK/Cliquez-ici-pour-vous-identifier-853bc1.png b/images/ws/typographp/BoutonOK/Cliquez-ici-pour-vous-identifier-853bc1.png
new file mode 100644 (file)
index 0000000..9bb3c5b
Binary files /dev/null and b/images/ws/typographp/BoutonOK/Cliquez-ici-pour-vous-identifier-853bc1.png differ
diff --git a/images/ws/typographp/BoutonOK/Enregister-db6ab5.png b/images/ws/typographp/BoutonOK/Enregister-db6ab5.png
new file mode 100644 (file)
index 0000000..5c79a98
Binary files /dev/null and b/images/ws/typographp/BoutonOK/Enregister-db6ab5.png differ
diff --git a/images/ws/typographp/BoutonOK/Enregistrer-mon-nouveau-mot-de-passe-8cd421.png b/images/ws/typographp/BoutonOK/Enregistrer-mon-nouveau-mot-de-passe-8cd421.png
new file mode 100644 (file)
index 0000000..86b6a5e
Binary files /dev/null and b/images/ws/typographp/BoutonOK/Enregistrer-mon-nouveau-mot-de-passe-8cd421.png differ
diff --git a/images/ws/typographp/BoutonOK/Recevoir-mon-mot-de-passe-par-e-mail-b4f3d9.png b/images/ws/typographp/BoutonOK/Recevoir-mon-mot-de-passe-par-e-mail-b4f3d9.png
new file mode 100644 (file)
index 0000000..e46edf3
Binary files /dev/null and b/images/ws/typographp/BoutonOK/Recevoir-mon-mot-de-passe-par-e-mail-b4f3d9.png differ
diff --git a/images/ws/typographp/BoutonOK/editer-58d1b5.png b/images/ws/typographp/BoutonOK/editer-58d1b5.png
new file mode 100644 (file)
index 0000000..1ed0457
Binary files /dev/null and b/images/ws/typographp/BoutonOK/editer-58d1b5.png differ
diff --git a/images/ws/typographp/Editer/editer-58d1b5.png b/images/ws/typographp/Editer/editer-58d1b5.png
new file mode 100644 (file)
index 0000000..8ccb252
Binary files /dev/null and b/images/ws/typographp/Editer/editer-58d1b5.png differ
diff --git a/images/ws/typographp/LastStep/1-Apercu-89af62.png b/images/ws/typographp/LastStep/1-Apercu-89af62.png
new file mode 100644 (file)
index 0000000..3ffc80c
Binary files /dev/null and b/images/ws/typographp/LastStep/1-Apercu-89af62.png differ
diff --git a/images/ws/typographp/LastStep/5-Apercu-82751b.png b/images/ws/typographp/LastStep/5-Apercu-82751b.png
new file mode 100644 (file)
index 0000000..91a284d
Binary files /dev/null and b/images/ws/typographp/LastStep/5-Apercu-82751b.png differ
diff --git a/images/ws/typographp/LastStepInactive/5-Apercu-82751b.png b/images/ws/typographp/LastStepInactive/5-Apercu-82751b.png
new file mode 100644 (file)
index 0000000..976490a
Binary files /dev/null and b/images/ws/typographp/LastStepInactive/5-Apercu-82751b.png differ
diff --git a/images/ws/typographp/Onglet/CHIFFRES-0afb2a.png b/images/ws/typographp/Onglet/CHIFFRES-0afb2a.png
new file mode 100644 (file)
index 0000000..8006eb9
Binary files /dev/null and b/images/ws/typographp/Onglet/CHIFFRES-0afb2a.png differ
diff --git a/images/ws/typographp/Onglet/CLIENTS-9da24c.png b/images/ws/typographp/Onglet/CLIENTS-9da24c.png
new file mode 100644 (file)
index 0000000..605f624
Binary files /dev/null and b/images/ws/typographp/Onglet/CLIENTS-9da24c.png differ
diff --git a/images/ws/typographp/Onglet/DASHBOARD-7021f3.png b/images/ws/typographp/Onglet/DASHBOARD-7021f3.png
new file mode 100644 (file)
index 0000000..4f5d331
Binary files /dev/null and b/images/ws/typographp/Onglet/DASHBOARD-7021f3.png differ
diff --git a/images/ws/typographp/Onglet/DEVIS-211008.png b/images/ws/typographp/Onglet/DEVIS-211008.png
new file mode 100644 (file)
index 0000000..fc08313
Binary files /dev/null and b/images/ws/typographp/Onglet/DEVIS-211008.png differ
diff --git a/images/ws/typographp/Onglet/FACTURES-4f4939.png b/images/ws/typographp/Onglet/FACTURES-4f4939.png
new file mode 100644 (file)
index 0000000..90aa15c
Binary files /dev/null and b/images/ws/typographp/Onglet/FACTURES-4f4939.png differ
diff --git a/images/ws/typographp/Onglet/IDENTIFICATION-6fa172.png b/images/ws/typographp/Onglet/IDENTIFICATION-6fa172.png
new file mode 100644 (file)
index 0000000..92edbf7
Binary files /dev/null and b/images/ws/typographp/Onglet/IDENTIFICATION-6fa172.png differ
diff --git a/images/ws/typographp/Onglet/LOGIN-76d7ca.png b/images/ws/typographp/Onglet/LOGIN-76d7ca.png
new file mode 100644 (file)
index 0000000..619292f
Binary files /dev/null and b/images/ws/typographp/Onglet/LOGIN-76d7ca.png differ
diff --git a/images/ws/typographp/Onglet/PROJETS-f2f7f7.png b/images/ws/typographp/Onglet/PROJETS-f2f7f7.png
new file mode 100644 (file)
index 0000000..0ed1ae1
Binary files /dev/null and b/images/ws/typographp/Onglet/PROJETS-f2f7f7.png differ
diff --git a/images/ws/typographp/Onglet/PUBLICATIONS-7356f3.png b/images/ws/typographp/Onglet/PUBLICATIONS-7356f3.png
new file mode 100644 (file)
index 0000000..f7c6850
Binary files /dev/null and b/images/ws/typographp/Onglet/PUBLICATIONS-7356f3.png differ
diff --git a/images/ws/typographp/Onglet/RH-08a19d.png b/images/ws/typographp/Onglet/RH-08a19d.png
new file mode 100644 (file)
index 0000000..e27d7f0
Binary files /dev/null and b/images/ws/typographp/Onglet/RH-08a19d.png differ
diff --git a/images/ws/typographp/Onglet/TIMEREPORT-b54b46.png b/images/ws/typographp/Onglet/TIMEREPORT-b54b46.png
new file mode 100644 (file)
index 0000000..5a15b79
Binary files /dev/null and b/images/ws/typographp/Onglet/TIMEREPORT-b54b46.png differ
diff --git a/images/ws/typographp/OngletBlanc/Mes-Projets-en-cours-688038.png b/images/ws/typographp/OngletBlanc/Mes-Projets-en-cours-688038.png
new file mode 100644 (file)
index 0000000..09f1586
Binary files /dev/null and b/images/ws/typographp/OngletBlanc/Mes-Projets-en-cours-688038.png differ
diff --git a/images/ws/typographp/OngletBlanc/Mes-devis-en-cours-e5db3e.png b/images/ws/typographp/OngletBlanc/Mes-devis-en-cours-e5db3e.png
new file mode 100644 (file)
index 0000000..50e957f
Binary files /dev/null and b/images/ws/typographp/OngletBlanc/Mes-devis-en-cours-e5db3e.png differ
diff --git a/images/ws/typographp/OngletBlanc/Mes-projets-non-factures-c29e8c.png b/images/ws/typographp/OngletBlanc/Mes-projets-non-factures-c29e8c.png
new file mode 100644 (file)
index 0000000..21110b6
Binary files /dev/null and b/images/ws/typographp/OngletBlanc/Mes-projets-non-factures-c29e8c.png differ
diff --git a/images/ws/typographp/OngletBlanc/Mon-Timereport-36ef55.png b/images/ws/typographp/OngletBlanc/Mon-Timereport-36ef55.png
new file mode 100644 (file)
index 0000000..78246ee
Binary files /dev/null and b/images/ws/typographp/OngletBlanc/Mon-Timereport-36ef55.png differ
diff --git a/images/ws/typographp/OngletBlanc/Projets-en-cours-1b3ed4.png b/images/ws/typographp/OngletBlanc/Projets-en-cours-1b3ed4.png
new file mode 100644 (file)
index 0000000..e3ed4ce
Binary files /dev/null and b/images/ws/typographp/OngletBlanc/Projets-en-cours-1b3ed4.png differ
diff --git a/images/ws/typographp/OngletBlanc/mon-timereport-2640a1.png b/images/ws/typographp/OngletBlanc/mon-timereport-2640a1.png
new file mode 100644 (file)
index 0000000..78246ee
Binary files /dev/null and b/images/ws/typographp/OngletBlanc/mon-timereport-2640a1.png differ
diff --git a/images/ws/typographp/OngletBlanc/my-timereport-cc3841.png b/images/ws/typographp/OngletBlanc/my-timereport-cc3841.png
new file mode 100644 (file)
index 0000000..9d9fcee
Binary files /dev/null and b/images/ws/typographp/OngletBlanc/my-timereport-cc3841.png differ
diff --git a/images/ws/typographp/Stats/statistiques-8ed107.png b/images/ws/typographp/Stats/statistiques-8ed107.png
new file mode 100644 (file)
index 0000000..daf17c9
Binary files /dev/null and b/images/ws/typographp/Stats/statistiques-8ed107.png differ
diff --git a/images/ws/typographp/Stats/stats-650105.png b/images/ws/typographp/Stats/stats-650105.png
new file mode 100644 (file)
index 0000000..4a85b1c
Binary files /dev/null and b/images/ws/typographp/Stats/stats-650105.png differ
diff --git a/images/ws/typographp/Step/1-Composition-f71953.png b/images/ws/typographp/Step/1-Composition-f71953.png
new file mode 100644 (file)
index 0000000..72d5cbb
Binary files /dev/null and b/images/ws/typographp/Step/1-Composition-f71953.png differ
diff --git a/images/ws/typographp/Step/1-Edition-des-liens-f57f63.png b/images/ws/typographp/Step/1-Edition-des-liens-f57f63.png
new file mode 100644 (file)
index 0000000..86f7812
Binary files /dev/null and b/images/ws/typographp/Step/1-Edition-des-liens-f57f63.png differ
diff --git a/images/ws/typographp/Step/1-Parametres-8acc54.png b/images/ws/typographp/Step/1-Parametres-8acc54.png
new file mode 100644 (file)
index 0000000..a1d9073
Binary files /dev/null and b/images/ws/typographp/Step/1-Parametres-8acc54.png differ
diff --git a/images/ws/typographp/Step/1-Personnalisation-c1ddbc.png b/images/ws/typographp/Step/1-Personnalisation-c1ddbc.png
new file mode 100644 (file)
index 0000000..d380570
Binary files /dev/null and b/images/ws/typographp/Step/1-Personnalisation-c1ddbc.png differ
diff --git a/images/ws/typographp/Step/2-Personnalisation-ca029f.png b/images/ws/typographp/Step/2-Personnalisation-ca029f.png
new file mode 100644 (file)
index 0000000..31d0c35
Binary files /dev/null and b/images/ws/typographp/Step/2-Personnalisation-ca029f.png differ
diff --git a/images/ws/typographp/Step/3-Parametres-663a41.png b/images/ws/typographp/Step/3-Parametres-663a41.png
new file mode 100644 (file)
index 0000000..23e3a18
Binary files /dev/null and b/images/ws/typographp/Step/3-Parametres-663a41.png differ
diff --git a/images/ws/typographp/Step/4-Edition-des-liens-31c429.png b/images/ws/typographp/Step/4-Edition-des-liens-31c429.png
new file mode 100644 (file)
index 0000000..3ab5b3c
Binary files /dev/null and b/images/ws/typographp/Step/4-Edition-des-liens-31c429.png differ
diff --git a/images/ws/typographp/StepInactive/4-Edition-des-liens-31c429.png b/images/ws/typographp/StepInactive/4-Edition-des-liens-31c429.png
new file mode 100644 (file)
index 0000000..8d52397
Binary files /dev/null and b/images/ws/typographp/StepInactive/4-Edition-des-liens-31c429.png differ
diff --git a/images/ws/typographp/Supprimer/del-bcc286.png b/images/ws/typographp/Supprimer/del-bcc286.png
new file mode 100644 (file)
index 0000000..62f8ce9
Binary files /dev/null and b/images/ws/typographp/Supprimer/del-bcc286.png differ
diff --git a/images/ws/typographp/Supprimer/editer-58d1b5.png b/images/ws/typographp/Supprimer/editer-58d1b5.png
new file mode 100644 (file)
index 0000000..e7f955e
Binary files /dev/null and b/images/ws/typographp/Supprimer/editer-58d1b5.png differ
diff --git a/images/ws/typographp/Supprimer/suppr-ae1b1b.png b/images/ws/typographp/Supprimer/suppr-ae1b1b.png
new file mode 100644 (file)
index 0000000..e0dcc2f
Binary files /dev/null and b/images/ws/typographp/Supprimer/suppr-ae1b1b.png differ
diff --git a/images/ws/typographp/Supprimer/supprimer-18f8c0.png b/images/ws/typographp/Supprimer/supprimer-18f8c0.png
new file mode 100644 (file)
index 0000000..2424467
Binary files /dev/null and b/images/ws/typographp/Supprimer/supprimer-18f8c0.png differ
diff --git a/images/ws/typographp/Telecharger/telecharger-77579a.png b/images/ws/typographp/Telecharger/telecharger-77579a.png
new file mode 100644 (file)
index 0000000..95c1d74
Binary files /dev/null and b/images/ws/typographp/Telecharger/telecharger-77579a.png differ
diff --git a/images/ws/typographp/Titre/Ajouter-un-element-au-dashboard-79b171.png b/images/ws/typographp/Titre/Ajouter-un-element-au-dashboard-79b171.png
new file mode 100644 (file)
index 0000000..4d8442a
Binary files /dev/null and b/images/ws/typographp/Titre/Ajouter-un-element-au-dashboard-79b171.png differ
diff --git a/images/ws/typographp/Titre/Changer-mon-mot-de-passe-c46950.png b/images/ws/typographp/Titre/Changer-mon-mot-de-passe-c46950.png
new file mode 100644 (file)
index 0000000..b87c4e6
Binary files /dev/null and b/images/ws/typographp/Titre/Changer-mon-mot-de-passe-c46950.png differ
diff --git a/images/ws/typographp/Titre/Mes-parametres-654a44.png b/images/ws/typographp/Titre/Mes-parametres-654a44.png
new file mode 100644 (file)
index 0000000..1fd18cf
Binary files /dev/null and b/images/ws/typographp/Titre/Mes-parametres-654a44.png differ
diff --git a/images/ws/typographp/Titre/Mot-de-passe-oublie-4c9e32.png b/images/ws/typographp/Titre/Mot-de-passe-oublie-4c9e32.png
new file mode 100644 (file)
index 0000000..b707e1a
Binary files /dev/null and b/images/ws/typographp/Titre/Mot-de-passe-oublie-4c9e32.png differ
diff --git a/images/ws/typographp/Titre/Please-login-1656e3.png b/images/ws/typographp/Titre/Please-login-1656e3.png
new file mode 100644 (file)
index 0000000..d1fefb6
Binary files /dev/null and b/images/ws/typographp/Titre/Please-login-1656e3.png differ
diff --git a/images/ws/typographp/Titre/Veuillez-vous-identifier-c24529.png b/images/ws/typographp/Titre/Veuillez-vous-identifier-c24529.png
new file mode 100644 (file)
index 0000000..72b0dc8
Binary files /dev/null and b/images/ws/typographp/Titre/Veuillez-vous-identifier-c24529.png differ
diff --git a/images/ws/typographp/Voir/voir-679cca.png b/images/ws/typographp/Voir/voir-679cca.png
new file mode 100644 (file)
index 0000000..1e4183a
Binary files /dev/null and b/images/ws/typographp/Voir/voir-679cca.png differ
diff --git a/images/ws/up.png b/images/ws/up.png
new file mode 100644 (file)
index 0000000..54c3b5a
Binary files /dev/null and b/images/ws/up.png differ
diff --git a/images/ws/view.png b/images/ws/view.png
new file mode 100644 (file)
index 0000000..3bdd45e
Binary files /dev/null and b/images/ws/view.png differ
diff --git a/importWs.php b/importWs.php
new file mode 100644 (file)
index 0000000..4c8982c
--- /dev/null
@@ -0,0 +1,296 @@
+<?php\r
+include('inc/prepend.php');\r
+\r
+cubePHP::neverStop();\r
+\r
+$utilisateurs = $documents = false;\r
+$books = false;\r
+$tables = array('books', 'book_pages', 'dashboard', 'devis', 'documents', 'document_pages', 'entreprises', 'factures', 'icones', 'langues', 'projets', 'signatures', 'taches', 'themes', 'timereport', 'utilisateurs');\r
+foreach($tables as $t) {\r
+       $core->con->execute('ALTER TABLE ' . $t . ' DISABLE KEYS');\r
+}\r
+\r
+$core->con->execute('TRUNCATE TABLE themes');\r
+$core->con->execute('TRUNCATE TABLE icones');\r
+$core->con->execute('TRUNCATE TABLE signatures');\r
+$core->con->execute('TRUNCATE TABLE langues');\r
+\r
+if ($documents) {\r
+       $core->con->execute('TRUNCATE TABLE document_pages');\r
+       $core->con->execute('TRUNCATE TABLE documents');\r
+}\r
+\r
+if ($books) {\r
+       $core->con->execute('TRUNCATE TABLE book_pages');\r
+       $core->con->execute('TRUNCATE TABLE books');\r
+}\r
+\r
+if ($utilisateurs) {\r
+       $core->con->execute('DELETE FROM entreprises WHERE entreprise_id>242 AND entreprise_id<7');\r
+       $core->con->execute('DELETE FROM utilisateurs WHERE utilisateur_id>278');\r
+}\r
+\r
+if ($utilisateurs) {\r
+       // Importe les entreprises\r
+       // Contrôle des entreprises déjà dans la base extranet\r
+       $entreprises = array();\r
+       $entreprise_id = 0;\r
+       $r = $core->con->select('SELECT entreprise_id,nom FROM entreprises');\r
+       while ($r->fetch()) {\r
+               $nom = trim(mb_strtolower(cubeText::str2URL($r->nom)));\r
+               $entreprises[$nom] = $r->entreprise_id;\r
+               $entreprise_id = max($entreprise_id, $r->entreprise_id);\r
+       }\r
+       $entreprise_id++;\r
+       // Obtient les emails des utilisateurs\r
+       $utilisateur_id = 0;\r
+       $utilisateurs = array();\r
+       $r = $core->con->select('SELECT utilisateur_id,email FROM utilisateurs');\r
+       while ($r->fetch()) {\r
+               $utilisateur_id = max($r->utilisateur_id, $utilisateur_id);\r
+               $utilisateurs[trim(mb_strtolower($r->email))] = $r->utilisateur_id;\r
+       }\r
+       $utilisateur_id++;\r
+       // Importe les entreprises et utilisateurs du WS dont les membres n'ont pas Ã©té reliés Ã  l'extranet\r
+       $r = $core->con->select('SELECT * FROM ws.user WHERE extranet=0 AND (uid IN (SELECT uid FROM ws.book) OR grade>=3)  ORDER BY date');\r
+       $ws2ext = array();\r
+       while ($r->fetch()) {\r
+               // On s'occupe de l'entreprise\r
+               $nom = trim(mb_strtolower(cubeText::str2URL($r->rs)));\r
+               $email = trim(mb_strtolower($r->email));\r
+               if (isset($entreprises[$nom])) {\r
+                       $e = $entreprises[$nom];\r
+               } else {\r
+                       $c = $core->con->openCursor('entreprises');\r
+                       $c->entreprise_id = $entreprise_id;\r
+                       $c->nom = $r->rs;\r
+                       $c->adresse = $r->adresse;\r
+                       $c->code_postal = $r->code_postal;\r
+                       $c->ville = $r->ville;\r
+                       $c->pays = $r->pays;\r
+                       $c->date_creation = $r->date;\r
+                       $c->insert();\r
+                       $e = $entreprises[$nom] = $entreprise_id;\r
+\r
+                       $entreprise_id++;\r
+               }\r
+               // Puis de l'utilisateur\r
+               if (isset($utilisateurs[$email])) {\r
+                       $c = $core->con->openCursor('utilisateurs');\r
+                       $c->ws_password = $r->password;\r
+                       $c->ws_grade = $r->grade;\r
+                       $c->ws_admin = 1;\r
+                       $c->ws_id = $r->uid;\r
+                       $c->update('WHERE utilisateur_id=\'' . $utilisateurs[$email] . '\'');\r
+                       $ws2ext[$r->uid] = $utilisateurs[$email];\r
+               } else {\r
+                       $c = $core->con->openCursor('utilisateurs');\r
+                       $c->utilisateur_id = $utilisateur_id;\r
+                       $c->entreprise = $e;\r
+                       $c->nom = $r->nom;\r
+                       $c->prenom = $r->prenom;\r
+                       $c->email = $r->email;\r
+                       $c->password = $r->password;\r
+                       $c->adresse = $r->adresse;\r
+                       $c->code_postal = $r->code_postal;\r
+                       $c->ville = $r->ville;\r
+                       $c->pays = $r->pays;\r
+                       $c->telephone = $r->telephone;\r
+                       $c->date_creation = $r->date;\r
+                       $c->ws_password = $r->password;\r
+                       $c->ws_grade = $r->grade;\r
+                       $c->ws_admin = 1;\r
+                       $c->ws_id = $r->uid;\r
+                       $c->insert();\r
+                       $ws2ext[$r->uid] = $utilisateur_id;\r
+                       $utilisateur_id++;\r
+               }\r
+       }\r
+       // Mets Ã  jour les utilisateurs reliés Ã  l'extranet\r
+       $r = $core->con->select('SELECT * FROM ws.user WHERE extranet!=0');\r
+       while ($r->fetch()) {\r
+               $c = $core->con->openCursor('utilisateurs');\r
+               $c->ws_password = $r->password;\r
+               $c->ws_admin = 1;\r
+               $c->ws_grade = $r->grade;\r
+               $c->ws_id = $r->uid;\r
+               $c->update('WHERE utilisateur_id=\'' . $r->extranet . '\'');\r
+               $ws2ext[$r->uid] = $r->extranet;\r
+       }\r
+       // Mets Ã  jour les liens revendeur->client\r
+       $r = $core->con->select('SELECT * FROM ws.user u ORDER BY grade DESC,date ASC');\r
+       while ($r->fetch()) {\r
+               if (!isset($ws2ext[$r->uid])) {\r
+                       continue;\r
+               }\r
+               $c = $core->con->openCursor('utilisateurs');\r
+               if (!isset($ws2ext[$r->admin])) {\r
+                       $ws2ext[$r->admin] = 5;\r
+               }\r
+               $c->ws_admin = $ws2ext[$r->admin];\r
+               $c->update('WHERE utilisateur_id=\'' . $ws2ext[$r->uid] . '\'');\r
+       }\r
+} else {\r
+       $ws2ext = array();\r
+       $r = $core->con->select('SELECT ws_id,utilisateur_id FROM utilisateurs WHERE ws_id IS NOT NULL');\r
+       while ($r->fetch()) {\r
+               $ws2ext[$r->ws_id] = $r->utilisateur_id;\r
+       }\r
+}\r
+// Importe les signatures\r
+$r = $core->con->select('SELECT * FROM ws.signature');\r
+while ($r->fetch()) {\r
+       $c = $core->con->openCursor('signatures');\r
+       $c->signature_id = $r->sigid;\r
+       $c->nom = $r->titre;\r
+       $c->fbcredit = $r->fbcredit;\r
+       $c->fblink = $r->fblink;\r
+       $c->partnercredit = $r->partnercredit;\r
+       $c->partnerlink = $r->partnerlink;\r
+       $c->insert();\r
+}\r
+// Importe les jeux d'icones\r
+$r = $core->con->select('SELECT * FROM ws.icones');\r
+while ($r->fetch()) {\r
+       $c = $core->con->openCursor('icones');\r
+       $c->icone_id = $r->iid;\r
+       $c->nom = $r->titre;\r
+       $c->date = $r->date;\r
+       $c->proprietaire = getWsUser($r->proprietaire);\r
+       $c->couleur = '';\r
+       // TODO copier les fichiers du thème\r
+       $c->insert();\r
+}\r
+// Import des thèmes\r
+$r = $core->con->select('SELECT * FROM ws.theme');\r
+while ($r->fetch()) {\r
+       $c = $core->con->openCursor('themes');\r
+       $c->theme_id = $r->tid;\r
+       $c->icones = $r->iid;\r
+       $c->proprietaire = getWsUser($r->proprietaire);\r
+       $c->date = $r->date;\r
+       $c->nom = $r->titre;\r
+       $c->signature = $r->sigid;\r
+       $parametres = new wsThemeParametres();\r
+       $parametres->fromRecord($r);\r
+       $c->parametres = serialize($parametres);\r
+       $c->insert();\r
+}\r
+// Importe les langues\r
+$trad = array();\r
+$r = $core->con->select('SELECT * FROM ws.lang_trad,ws.lang_ord WHERE lang_trad.idlt=lang_ord.idlt');\r
+while ($r->fetch()) {\r
+       $idl = $r->idl;\r
+       if (!isset($trad[$idl])) {\r
+               $trad[$idl] = array();\r
+       }\r
+       $trad[$idl][$r->ord] = $r->text;\r
+}\r
+\r
+$r = $core->con->select('SELECT * FROM ws.lang');\r
+while ($r->fetch()) {\r
+       ksort($trad[$r->idl]);\r
+       $textes = new wsLangueTextes();\r
+       $textes->textes = $trad[$r->idl];\r
+       $c = $core->con->openCursor('langues');\r
+       $c->lang = $r->idl;\r
+       $c->nom = $r->idn;\r
+       $c->nsis_lang = $r->instlang;\r
+       $c->public = $r->active;\r
+       $c->embeded = $r->embed;\r
+       $c->textes = serialize($trad[$r->idl]);\r
+       $c->insert();\r
+}\r
+$docs = array();\r
+if ($documents) {\r
+       // Importe les documents\r
+       $r = $core->con->select('SELECT * FROM ws.document ORDER BY did');\r
+       while ($r->fetch()) {\r
+               $c = $core->con->openCursor('documents');\r
+               $c->document_id = $r->did;\r
+               $c->file = $r->file;\r
+               $c->proprietaire = getWsUser($r->uid);\r
+               $c->pages = $r->pages;\r
+               $c->trim = $r->trim;\r
+               $c->date = $r->date;\r
+               $c->insert();\r
+               // TODO Copie des fichiers\r
+               $docs[$r->did] = true;\r
+       }\r
+       // Importe les pages des documents\r
+       $r = $core->con->select('SELECT * FROM ws.document_pages');\r
+       while ($r->fetch()) {\r
+               $c = $core->con->openCursor('document_pages');\r
+               $c->document_id = $r->did;\r
+               $c->document_page = $r->dpid;\r
+               $c->text = $r->text;\r
+               $c->links = $r->links;\r
+               $c->insert();\r
+       }\r
+} else {\r
+       $r = $core->con->select('SELECT document_id FROM documents');\r
+       while ($r->fetch()) {\r
+               $docs[$r->document_id] = true;\r
+       }\r
+}\r
+\r
+if ($books) {\r
+       // Importe les fluidbooks\r
+       $r = $core->con->select('SELECT * FROM ws.book ORDER BY bid');\r
+       if ($r->count() == 0) {\r
+               break;\r
+       }\r
+       // .\r
+       $books_proprietaires = array();\r
+       while ($r->fetch()) {\r
+               $c = $core->con->openCursor('books');\r
+               $c->book_id = $r->bid;\r
+               $c->nom = $r->titre;\r
+               $c->lang = $r->lang;\r
+               $c->theme = $r->tid;\r
+               $books_proprietaires[$r->bid] = $c->proprietaire = getWsUser($r->uid);\r
+               $c->status = $r->status;\r
+               $c->date_status = $r->date_status;\r
+               $c->hash = $r->code;\r
+               $c->compteur_visites = 20;\r
+               $c->date = $r->date;\r
+               $parametres = new wsBookParametres();\r
+               $parametres->fromRecord($r);\r
+               $parametres->fromXML(simplexml_load_string('<extras>' . $r->extras . '</extras>'));\r
+               $c->parametres = serialize($parametres);\r
+               $c->insert();\r
+       }\r
+       // Importe les pages des fluidbooks\r
+       $r = $core->con->select('SELECT * FROM ws.book_pages ORDER BY bid,bpid');\r
+       while ($r->fetch()) {\r
+               if (!isset($docs[$r->did])) {\r
+                       $c = $core->con->openCursor('documents');\r
+                       $c->document_id = $r->did;\r
+                       $c->proprietaire = $books_proprietaires[$r->bid];\r
+                       $c->insert();\r
+                       $docs[$r->did] = true;\r
+               }\r
+\r
+               $c = $core->con->openCursor('book_pages');\r
+               $c->book_id = $r->bid;\r
+               $c->document_id = $r->did;\r
+               $c->book_page = $r->bpid;\r
+               $c->document_page = $r->dpid;\r
+               $c->insert();\r
+       }\r
+}\r
+\r
+foreach($tables as $t) {\r
+       $core->con->execute('ALTER TABLE ' . $t . ' ENABLE KEYS');\r
+}\r
+\r
+function getWsUser($oldid)\r
+{\r
+       global $ws2ext;\r
+       if (!isset($ws2ext[$oldid])) {\r
+               $ws2ext[$oldid] = 5;\r
+       }\r
+       return $ws2ext[$oldid];\r
+}\r
+\r
+?>
\ No newline at end of file
diff --git a/inc/config.inc.php b/inc/config.inc.php
new file mode 100644 (file)
index 0000000..db9b73b
--- /dev/null
@@ -0,0 +1,68 @@
+<?php\r
+define('DB_DRIVER', 'mysql');\r
+define('ROOT', dirname(__FILE__) . '/..');\r
+$localrel = array('localhost', 'paris.fluidbook.com');\r
+$localabs = array('dev.ws.fluidbook.com', 'dev.extranet.fluidbook.com');\r
+$ws = array('ws.fluidbook.com', 'dev.ws.fluidbook.com');\r
+$extranet = array('extranet.cubedesigners.com', 'dev.extranet.fluidbook.com', 'paris.fluidbook.com', 'localhost');\r
+if (in_array($_SERVER['HTTP_HOST'], array_merge($localrel, $localabs))) {\r
+       // Définition de la configuration sur l'environnement de développement\r
+       define('DB_HOST', 'localhost');\r
+       define('DB_NAME', 'extranet');\r
+       define('DB_USER', 'root');\r
+       define('DB_PASSWORD', 'valparaiso');\r
+\r
+       if (in_array($_SERVER['HTTP_HOST'], $localrel)) {\r
+               define('WEBROOT', '/cubeExtranet');\r
+               define('SITE_PATH', WEBROOT . '/index.php/');\r
+       } else {\r
+               define('WEBROOT', '');\r
+               define('SITE_PATH', WEBROOT . '/');\r
+       }\r
+\r
+} else {\r
+       // Définition des variables dans l'environnement de production\r
+       define('DB_HOST', 'localhost');\r
+       define('DB_NAME', 'extranet');\r
+       define('DB_USER', 'ws');\r
+       define('DB_PASSWORD', 'atacama');\r
+\r
+       define('WEBROOT', '');\r
+       define('SITE_PATH', WEBROOT . '/');\r
+\r
+       define('FTPROOT', '/usb/ftpextranet/');\r
+}\r
+\r
+if (in_array($_SERVER['HTTP_HOST'], $ws)) {\r
+       define('MODE', 'ws');\r
+       define('GA', 'UA-4339912-5');\r
+       define('TITLE', 'Fuidbook Workshop');\r
+} else {\r
+       define('MODE', 'extranet');\r
+       define('GA', 'UA-4339912-4');\r
+       define('TITLE', 'Extranet - Cubedesigners');\r
+}\r
+\r
+define('SESSION_LIFETIME', 3600 * 10);\r
+define('L10N', dirname(__FILE__) . '/../l10n');\r
+\r
+define('JS_PATH', WEBROOT . '/js');\r
+define('CSS_PATH', WEBROOT . '/style' . '/' . MODE);\r
+\r
+define('SYSIMG', ROOT . '/images/' . MODE);\r
+define('IMG', WEBROOT . '/images' . '/' . MODE);\r
+\r
+define('TYPOGRAPHP_PATH', ROOT . '/typo/' . MODE);\r
+\r
+define('JOURNEE', 8);\r
+define('TAUX_JOURNALIER', 500);\r
+define('AVAILABLE_LANGS', 'fr,en');\r
+// Les emails au départ de l'interface seront systématiquement envoyés\r
+// en copie cachée Ã  cet e-mail\r
+define('MAIL_BCC', 'contact@cubedesigners.com');\r
+// Zend\r
+define('ZEND', dirname(__FILE__) . '/Zend');\r
+// Timezone\r
+define('TIMEZONE', 'UTC');\r
+\r
+?>
\ No newline at end of file
diff --git a/inc/extranet/Controlleur/_common.php b/inc/extranet/Controlleur/_common.php
new file mode 100644 (file)
index 0000000..4dab0c9
--- /dev/null
@@ -0,0 +1,15 @@
+<?php\r
+// Extranet\r
+$__autoload['extranetCore'] = dirname(__FILE__) . '/class.extranet.core.php';\r
+$__autoload['extranetAjax'] = dirname(__FILE__) . '/class.extranet.ajax.php';\r
+$__autoload['extranetPage'] = dirname(__FILE__) . '/class.extranet.page.php';\r
+$__autoload['extranetUrl'] = dirname(__FILE__) . '/class.extranet.url.php';\r
+$__autoload['extranetDroits'] = dirname(__FILE__) . '/class.extranet.droits.php';\r
+$__autoload['extranetFiltre'] = dirname(__FILE__) . '/class.extranet.filtre.php';\r
+$__autoload['extranetPageChiffres'] = dirname(__FILE__) . '/class.extranet.page.chiffres.php';\r
+// Workshop\r
+$__autoload['wsFlash'] = dirname(__FILE__) . '/class.ws.flash.php';\r
+$__autoload['wsUrl'] = dirname(__FILE__) . '/class.ws.url.php';\r
+$__autoload['wsDroits'] = dirname(__FILE__) . '/class.ws.droits.php';\r
+\r
+?>
\ No newline at end of file
diff --git a/inc/extranet/Controlleur/class.extranet.ajax.php b/inc/extranet/Controlleur/class.extranet.ajax.php
new file mode 100644 (file)
index 0000000..daa8768
--- /dev/null
@@ -0,0 +1,970 @@
+<?php\r
+class extranetAjax {\r
+       public static function form($action, $titre, $form, $bouton = null, $cols = 2, $class = '', $extra = '')\r
+       {\r
+               global $core;\r
+               if ($class != '') {\r
+                       $class = ' ' . $class;\r
+               }\r
+               $bouton = is_null($bouton)?__('Enregister'):$bouton;\r
+               $colspan = $cols > 2?' colspan="' . ($cols-1) . '"':'';\r
+               $res = extranetPage::bh();\r
+               $res .= '<form action="' . $action . '" method="post">';\r
+               $res .= '<table class="form' . $class . '">';\r
+               $res .= '<tr><th' . $colspan . '><strong>' . $core->typo->Titre($titre) . '</strong></th><th class="right"><a href="#" class="closePopup">' . cubeMedia::image(IMG . '/close.png') . '</a></th></tr>';\r
+               $res .= $form;\r
+               if ($bouton) {\r
+                       $res .= '<tr><td colspan="' . $cols . '" class="right"><a href="#" class="submit">' . $core->typo->BoutonOK($bouton) . '</a></td></tr>';\r
+               }\r
+               $res .= '</table>';\r
+               $res .= $extra;\r
+               $res .= '</form>';\r
+               $res .= extranetPage::bf();\r
+               echo $res;\r
+               exit;\r
+       }\r
+\r
+       public static function page($liste, $page)\r
+       {\r
+               global $core;\r
+               $core->user->changeSettings($liste, 'page', $page);\r
+               $core->sauvePreferencesUtilisateur();\r
+       }\r
+\r
+       public static function parPage($liste, $nb)\r
+       {\r
+               global $core;\r
+               $core->user->changeSettings($liste, 'par_page', $nb);\r
+               $core->user->changeSettings($liste, 'page', 1);\r
+               $core->sauvePreferencesUtilisateur();\r
+       }\r
+\r
+       public static function sort($liste, $orderby)\r
+       {\r
+               global $core;\r
+               $settings = $core->user->getSettings($liste);\r
+               if ($orderby == 'facture_id') {\r
+                       $orderby = 'CAST(facture_id AS SIGNED)';\r
+               }\r
+\r
+               if ($settings['orderby'] == $orderby) {\r
+                       $sens = ($settings['sens'] == 'ASC')?'DESC':'ASC';\r
+                       $core->user->changeSettings($liste, 'orderby', $orderby);\r
+                       $core->user->changeSettings($liste, 'sens', $sens);\r
+               } else {\r
+                       $core->user->changeSettings($liste, 'orderby', $orderby);\r
+                       $core->user->changeSettings($liste, 'sens', 'ASC');\r
+               }\r
+               $core->sauvePreferencesUtilisateur();\r
+       }\r
+\r
+       public static function filtre($liste, $data = null)\r
+       {\r
+               global $core;\r
+               $core->user->changeSettings($liste, 'filtres', $data);\r
+               $core->user->changeSettings($liste, 'page', 1);\r
+               $core->sauvePreferencesUtilisateur();\r
+       }\r
+\r
+       public static function motdepasseOublie($args, &$x)\r
+       {\r
+               self::form('recupMotdepasse', 'Mot de passe oublié ?', extranetUrl::motdepasseOublie($args), __('Recevoir mon mot de passe par e-mail'));\r
+       }\r
+\r
+       public static function mesParametres($args, &$x)\r
+       {\r
+               self::form('sauveMesParametres', 'Mes paramètres', extranetUrl::mesParametres($args), false);\r
+       }\r
+\r
+       public static function sauveMesParametres($args, &$x)\r
+       {\r
+               global $core;\r
+               $dao = new extranetDAOUtilisateur($core->con);\r
+               $dao->changeParametres($core->user->utilisateur_id, $_POST['lang'], $_POST['login']);\r
+               $x->addRedirection();\r
+       }\r
+\r
+       public static function recupMotdepasse($args, &$x)\r
+       {\r
+               global $core;\r
+               $dao = new extranetDAOUtilisateur($core->con);\r
+               $utilisateur = $dao->selectByEmail($_POST['email']);\r
+\r
+               if (!is_null($utilisateur)) {\r
+                       $mail = new cubeMail();\r
+                       $mail->from = 'contact@cubedesigners.com';\r
+                       $mail->bcc = 'contact@cubedesigners.com';\r
+                       $mail->subject = '[' . __('Extranet Cubedesigners') . '] ' . __('Récupération de vos identifiants');\r
+                       $mail->to = $utilisateur->prenom . ' ' . $utilisateur->nom . '<' . $utilisateur->email . '>';\r
+                       $body = __('Bonjour,') . "\r\n\r\n";\r
+                       $body .= __('Vous avez demandé la récupération de votre mot de passe sur notre extranet.') . "\r\n";\r
+                       $body .= __('Voici toutes les informations vous permettant de vous y connecter Ã  nouveau :') . "\r\n\r\n";\r
+                       $body .= __('Adresse') . ' : http://extranet.cubedesigners.com/' . "\r\n";\r
+                       $body .= __('Identifiant') . ' : ' . $utilisateur->email . "\r\n";\r
+                       $body .= __('Mot de passe') . ' : ' . $utilisateur->password . "\r\n\r\n";\r
+                       $body .= __('Cordialement,') . "\r\n";\r
+                       $body .= __("L'Equipe Cubedesigners");\r
+                       $mail->body = $body;\r
+                       $ok = $mail->send();\r
+                       $message = $ok?__('Vos identifiants vous ont Ã©té envoyé par e-mail'):__("Une erreur s'est produite lors de l'envoi de vos identifiants");\r
+               } else {\r
+                       $message = __('Cet e-mail ne correspond Ã  aucun utilisateur du système');\r
+               }\r
+               $x->addAlert($message);\r
+               $x->addClosePopup();\r
+       }\r
+\r
+       public static function changeMotdepasse($args, &$x)\r
+       {\r
+               self::form('sauveMotdepasse', 'Changer mon mot de passe', extranetUrl::changeMotdepasse(), __('Enregistrer mon nouveau mot de passe'));\r
+       }\r
+\r
+       public static function sauveMotdepasse($args, &$x)\r
+       {\r
+               global $core;\r
+\r
+               $ok = true;\r
+               if ($_POST['actuel'] != $core->user->password) {\r
+                       $x->addError('actuel', '');\r
+                       $ok = false;\r
+               } else {\r
+                       $x->addOk('actuel');\r
+               }\r
+\r
+               if (strlen($_POST['nouveau']) > 10 || strlen($_POST['nouveau']) < 6 || $_POST['nouveau'] != $_POST['confirmation']) {\r
+                       $x->addError('nouveau', '');\r
+                       $x->addError('confirmation', '');\r
+                       $ok = false;\r
+               } else {\r
+                       $x->addOk('nouveau');\r
+                       $x->addOk('confirmation');\r
+               }\r
+\r
+               if ($ok) {\r
+                       $dao = new extranetDAOUtilisateur($core->con);\r
+                       $dao->changeMotdepasse($core->user->utilisateur_id, $_POST['nouveau']);\r
+\r
+                       $_SESSION['user_password'] = $_POST['password'];\r
+                       $x->addClosePopup();\r
+                       $x->addAlert(__('Votre mot de passe a Ã©té modifié'));\r
+               }\r
+       }\r
+\r
+       public static function formClient($args, &$x)\r
+       {\r
+               global $core;\r
+               if ($args[1] == 'new') {\r
+                       $extra = '';\r
+               } else {\r
+                       $extra = '<p><br /><br /><br /></p><div id="listeContacts">' . extranetUrl::listeContacts($args[1]) . '</div>';\r
+               }\r
+               $extra .= '<p class="right" style="margin-top:10px;margin-right:10px;"><br /><br /><a href="#" class="submit">' . $core->typo->BoutonOK(__('Enregistrer')) . '</a><br /><br /></p>';\r
+\r
+               self::form('saveClient', __("Edition d'un client"), extranetUrl::formClient($args[1]), false, 2, '', $extra);\r
+       }\r
+\r
+       public static function formContact($args, &$x)\r
+       {\r
+               if (!isset($args[2])) {\r
+                       $args[2] = null;\r
+               }\r
+               self::form('saveContact', __("Edition d'un contact"), extranetUrl::formContact($args[1], $args[2]));\r
+       }\r
+\r
+       public static function formNotes($args, &$x)\r
+       {\r
+               global $core;\r
+               self::form('saveNotes', __('Edition des notes'), extranetUrl::formNotes($args[1]));\r
+       }\r
+\r
+       public static function saveClient($args, &$x)\r
+       {\r
+               global $core;\r
+               $dao = new extranetDAOEntreprise($core->con);\r
+               $entreprise = $dao->sauve($_POST);\r
+               if ($_POST['entreprise_id'] == 'new') {\r
+                       $data = $_POST['contact'];\r
+                       $data['entreprise'] = $entreprise->entreprise_id;\r
+                       $data['utilisateur_id'] = 'new';\r
+                       $data['adresse'] = $entreprise->adresse;\r
+                       $data['code_postal'] = $entreprise->code_postal;\r
+                       $data['ville'] = $entreprise->ville;\r
+                       $data['pays'] = $entreprise->pays;\r
+                       $data['grade'] = 0;\r
+                       $daoClient = new extranetDAOClient($core->con);\r
+                       try {\r
+                               $daoClient->sauve($data);\r
+                       }\r
+                       catch(exception $e) {\r
+                               fb($e);\r
+                               $dao->supprime($entreprise->entreprise_id);\r
+                       }\r
+               }\r
+\r
+               $x->addContent('listeClients', extranetUrl::listeClients());\r
+               $x->addClosePopup();\r
+       }\r
+\r
+       public static function saveNotes($args, &$x)\r
+       {\r
+               global $core;\r
+               $dao = new extranetDAOClient($core->con);\r
+               $dao->sauveNotes($_POST['utilisateur_id'], $_POST['notes']);\r
+               $x->addClosePopup();\r
+       }\r
+\r
+       public static function saveContact($args, &$x)\r
+       {\r
+               global $core;\r
+               $dao = new extranetDAOClient($core->con);\r
+               $client = $dao->sauve($_POST);\r
+               $x->addClosePopup();\r
+               $x->addContent('devisAdresseDisplay', extranetUrl::adresse($client->utilisateur_id, null, 'devis'));\r
+               $x->addContent('factureAdresseDisplay', extranetUrl::adresse($client->utilisateur_id, null, 'facture'));\r
+               $x->addContent('listeContacts', extranetUrl::listeContacts($client->entreprise));\r
+               $contacts = array();\r
+               $client_contacts = $dao->getContactsOfEntreprise($client->entreprise);\r
+               foreach($client_contacts as $c) {\r
+                       $contacts[] = '<a href="#" class="popup" rel="formContact/' . $c->utilisateur_id . '">' . $c->prenom . ' ' . $c->nom . '</a>';\r
+               }\r
+               $x->addContent('contacts_' . $client->entreprise, implode(', ', $contacts));\r
+\r
+               $x->addPopupDimensions();\r
+       }\r
+\r
+       public static function supprimeClient($args, &$x)\r
+       {\r
+               global $core;\r
+               $dao = new extranetDAOEntreprise($core->con);\r
+               $dao->supprime($args[1]);\r
+\r
+               $x->addContent('listeClients', extranetUrl::listeClients());\r
+       }\r
+\r
+       public static function searchClients($args, &$x)\r
+       {\r
+               $x->addContent('listeClients', extranetUrl::listeClients());\r
+       }\r
+\r
+       public static function sortClient($args, &$x)\r
+       {\r
+               self::sort('clients', $args[1]);\r
+               $x->addContent('listeClients', extranetUrl::listeClients());\r
+       }\r
+       public static function sortEquipier($args, &$x)\r
+       {\r
+               self::sort('equipiers', $args[1]);\r
+               $x->addContent('listeEquipiers', extranetUrl::listeRh());\r
+       }\r
+\r
+       public static function pageClient($args, &$x)\r
+       {\r
+               self::page('clients', $args[1]);\r
+               $x->addContent('listeClients', extranetUrl::listeClients());\r
+       }\r
+\r
+       public static function parPageClient($args, &$x)\r
+       {\r
+               self::parPage('clients', $_POST['par_page']);\r
+               $x->addContent('listeClients', extranetUrl::listeClients());\r
+       }\r
+\r
+       public static function filtreClients($args, &$x)\r
+       {\r
+               if (isset($args[1]) && $args[1] == 'efface') {\r
+                       self::filtre('clients');\r
+                       $x->addReload();\r
+                       return;\r
+               } else {\r
+                       self::filtre('clients', $_POST);\r
+                       $x->addContent('listeClients', extranetUrl::listeClients());\r
+               }\r
+       }\r
+\r
+       public static function clientDetailCa($args, &$x)\r
+       {\r
+               global $core;\r
+               $dao = new extranetDAOEntreprise($core->con);\r
+               $client = $dao->selectById($args[1]);\r
+               return self::form('', __("Détail du chiffre d'affaire de") . ' ' . $client->nom, extranetUrl::clientDetailCa($args[1]), false);\r
+       }\r
+\r
+       public static function clientDetailImpaye($args, &$x)\r
+       {\r
+               global $core;\r
+               $dao = new extranetDAOEntreprise($core->con);\r
+               $client = $dao->selectById($args[1]);\r
+               return self::form('', __("Détail des impayés de") . ' ' . $client->nom, extranetUrl::clientDetailImpaye($args[1]), false, 4);\r
+       }\r
+\r
+       public static function formProjet($args, &$x)\r
+       {\r
+               self::form('saveProjet', __("Edition d'un projet"), extranetUrl::formProjet($args[1]));\r
+       }\r
+\r
+       public static function saveProjet($args, &$x)\r
+       {\r
+               global $core;\r
+               $dao = new extranetDAOProjet($core->con);\r
+               $id = $dao->sauve($_POST);\r
+\r
+               $x->addContent('listeProjets', extranetUrl::listeProjets());\r
+               $x->addRedirection(SITE_PATH . 'projet/' . $id);\r
+       }\r
+\r
+       public static function changeProjetStatus($args, &$x)\r
+       {\r
+               global $core;\r
+               $dao = new extranetDAOProjet($core->con);\r
+               $dao->changeStatus($args[1]);\r
+\r
+               $x->addContent('listeProjet', extranetUrl::listeProjet($args[1]));\r
+       }\r
+\r
+       public static function changeProjetsStatus($args, &$x)\r
+       {\r
+               global $core;\r
+               $dao = new extranetDAOProjet($core->con);\r
+               $dao->changeStatus($args[1]);\r
+\r
+               $x->addContent('listeProjets', extranetUrl::listeProjets($args[1]));\r
+       }\r
+\r
+       public static function supprimeProjet($args, &$x)\r
+       {\r
+               global $core;\r
+               $dao = new extranetDAOProjet($core->con);\r
+               $dao->supprime($args[1]);\r
+\r
+               $x->addRedirection(SITE_PATH . 'projets');\r
+       }\r
+\r
+       public static function searchProjets($args, &$x)\r
+       {\r
+               $x->addContent('listeProjets', extranetUrl::listeProjets());\r
+       }\r
+\r
+       public static function pageProjet($args, &$x)\r
+       {\r
+               self::page('projets', $args[1]);\r
+               $x->addContent('listeProjets', extranetUrl::listeProjets());\r
+       }\r
+       public static function parPageProjet($args, &$x)\r
+       {\r
+               self::parPage('projets', $_POST['par_page']);\r
+               $x->addContent('listeProjets', extranetUrl::listeProjets());\r
+       }\r
+\r
+       public static function sortProjet($args, &$x)\r
+       {\r
+               self::sort('projets', $args[1]);\r
+               $x->addContent('listeProjets', extranetUrl::listeProjets());\r
+       }\r
+\r
+       public static function filtreProjet($args, &$x)\r
+       {\r
+               if (isset($args[1]) && $args[1] == 'efface') {\r
+                       self::filtre('projets');\r
+                       $x->addReload();\r
+                       return;\r
+               } else {\r
+                       self::filtre('projets', $_POST);\r
+                       $x->addContent('listeProjets', extranetUrl::listeProjets());\r
+               }\r
+       }\r
+\r
+       public static function formTacheNormale($args, &$x)\r
+       {\r
+               $projet = isset($args[2])?$args[2]:null;\r
+               self::form('saveTache', __("Edition d'un tâche"), extranetUrl::formTacheNormale($args[1], $projet));\r
+       }\r
+\r
+       public static function formTacheSousTraitee($args, &$x)\r
+       {\r
+               $projet = isset($args[2])?$args[2]:null;\r
+               self::form('saveTache', __("Edition d'un tâche sous-traitée"), extranetUrl::formTacheSousTraitee($args[1], $projet));\r
+       }\r
+\r
+       public static function saveTache($args, &$x)\r
+       {\r
+               global $core;\r
+               $dao = new extranetDAOTache($core->con);\r
+               $dao->sauve($_POST);\r
+\r
+               $x->addContent('listeProjet', extranetUrl::listeProjet($_POST['projet']));\r
+               $x->addClosePopup();\r
+       }\r
+\r
+       public static function supprimeTache($args, &$x)\r
+       {\r
+               global $core;\r
+               $dao = new extranetDAOTache($core->con);\r
+               $tache = $dao->selectById($args[1]);\r
+\r
+               $dao->supprime($args[1]);\r
+               $x->addContent('listeProjet', extranetUrl::listeProjet($tache->projet));\r
+       }\r
+\r
+       public static function saveTimereport($args, &$x)\r
+       {\r
+               global $core;\r
+               $date = $args[1];\r
+               $heures = $args[3];\r
+               $tache_id = $args[2];\r
+               $dao = new extranetDAOTimereport($core->con);\r
+\r
+               $x->addValue('t_' . $date . '_' . $tache_id, $dao->sauve($core->user->utilisateur_id, $tache_id, $date, $heures));\r
+               // Mise a jour des valeurs pour le projet et la tâche\r
+               $daoProjet = new extranetDAOProjet($core->con);\r
+               $projet = $daoProjet->getProjetByTache($tache_id);\r
+               foreach($projet as $p) {\r
+                       $p->progression = !$p->progression?'-':$p->progression . '%';\r
+                       $p->jours_consommes = !$p->jours_consommes?'-':$p->jours_consommes;\r
+                       foreach($p->taches as $t) {\r
+                               if ($t->tache_id != $tache_id) {\r
+                                       continue;\r
+                               }\r
+                               $t->progression = !$t->progression?'-':$t->progression . '%';\r
+                               $t->jours_consommes = !$t->jours_consommes?'-':$t->jours_consommes;\r
+                               break;\r
+                       }\r
+                       $x->addContent('progress_projet_' . $p->projet_id, $p->progression);\r
+                       $x->addContent('consommees_projet_' . $p->projet_id, $p->jours_consommes);\r
+                       $x->addContent('progress_' . $tache_id, $t->progression);\r
+                       $x->addContent('consommees_' . $tache_id, $t->jours_consommes);\r
+               }\r
+       }\r
+\r
+       public static function sortTimereport($args, &$x)\r
+       {\r
+               self::sort('timereport', $args[1]);\r
+               $x->addContent('listeTimereport', extranetUrl::listeTimereport());\r
+       }\r
+\r
+       public static function pageTimereport($args, &$x)\r
+       {\r
+               self::page('timereport', $args[1]);\r
+               $x->addContent('listeTimereport', extranetUrl::listeTimereport());\r
+       }\r
+\r
+       public static function searchTimereport($args, &$x)\r
+       {\r
+               $x->addContent('listeTimereport', extranetUrl::listeTimereport());\r
+       }\r
+\r
+       public static function parPageTimereport($args, &$x)\r
+       {\r
+               self::parPage('timereport', $_POST['par_page']);\r
+               $x->addContent('listeTimereport', extranetUrl::listeTimereport());\r
+       }\r
+\r
+       public static function filtreTimereport($args, &$x)\r
+       {\r
+               if (isset($args[1]) && $args[1] == 'efface') {\r
+                       self::filtre('timereport');\r
+                       $x->addReload();\r
+                       return;\r
+               } else {\r
+                       self::filtre('timereport', $_POST);\r
+                       $x->addContent('listeTimereport', extranetUrl::listeTimereport());\r
+               }\r
+       }\r
+\r
+       public static function changeDevisStatus($args, &$x)\r
+       {\r
+               global $core;\r
+               $dao = new extranetDAODevis($core->con);\r
+               $dao->changeStatus($args[1], $args[2]);\r
+\r
+               if (isset($args[3]) && $args[3] == 'createProjet') {\r
+                       $daoProjet = new extranetDAOProjet($core->con);\r
+                       $projet_id = $daoProjet->createFromDevis($args[1], $core->user->utilisateur_id);\r
+                       $x->addRedirection(SITE_PATH . 'projet/' . $projet_id);\r
+               } else {\r
+                       $x->addContent('listeDevis', extranetUrl::listeDevis());\r
+               }\r
+       }\r
+\r
+       public static function supprimeDevis($args, &$x)\r
+       {\r
+               global $core;\r
+               $dao = new extranetDAODevis($core->con);\r
+               $dao->supprime($args[1]);\r
+               @unlink(ROOT . '/devis/' . $args[1] . '.pdf');\r
+\r
+               $x->addContent('listeDevis', extranetUrl::listeDevis());\r
+               $x->addContent('listeDevis', extranetUrl::listeDevis());\r
+       }\r
+\r
+       public static function searchDevis($args, &$x)\r
+       {\r
+               $x->addContent('listeDevis', extranetUrl::listeDevis());\r
+       }\r
+\r
+       public static function pageDevis($args, &$x)\r
+       {\r
+               self::page('devis', $args[1]);\r
+               $x->addContent('listeDevis', extranetUrl::listeDevis());\r
+       }\r
+\r
+       public static function parPageDevis($args, &$x)\r
+       {\r
+               self::parPage('devis', $_POST['par_page']);\r
+               $x->addContent('listeDevis', extranetUrl::listeDevis());\r
+       }\r
+\r
+       public static function sortDevis($args, &$x)\r
+       {\r
+               self::sort('devis', $args[1]);\r
+               $x->addContent('listeDevis', extranetUrl::listeDevis());\r
+       }\r
+\r
+       public static function filtreDevis($args, &$x)\r
+       {\r
+               if (isset($args[1]) && $args[1] == 'efface') {\r
+                       self::filtre('devis');\r
+                       $x->addReload();\r
+                       return;\r
+               } else {\r
+                       self::filtre('devis', $_POST);\r
+                       $x->addContent('listeDevis', extranetUrl::listeDevis());\r
+               }\r
+       }\r
+\r
+       public static function sortDevisClient($args, &$x)\r
+       {\r
+               self::sort('devis', $args[1]);\r
+               $x->addContent('listeDevis', extranetUrl::listeDevisClient());\r
+       }\r
+\r
+       public static function expedieDevis($args, &$x)\r
+       {\r
+               global $core;\r
+               $dao = new extranetDAODevis($core->con);\r
+               $devis = $dao->selectByID($args[2]);\r
+\r
+               $daoUtilisateur = new extranetDAOUtilisateur($core->con);\r
+               $devis->client = $daoUtilisateur->selectById($devis->client_id);\r
+               $devis->createur = $daoUtilisateur->selectById($devis->createur_id);\r
+\r
+               if ($args[1] == 1) {\r
+                       // Envoie de l'email\r
+                       $mail = new cubeMail();\r
+                       $mail->from = $devis->createur->getEmail();\r
+                       $mail->bcc = MAIL_BCC;\r
+                       $mail->bcc = $devis->createur->getEmail();\r
+                       $mail->to = $devis->client->getEmail();\r
+                       $mail->subject = $devis->email['sujet'];\r
+                       $mail->body = $devis->email['corps'] . "\r\n\r\n" . $devis->createur->getSignature();\r
+                       $mail->addFile('Devis.pdf', ROOT . '/devis/' . $devis->devis_id . '.pdf');\r
+                       $mail->send();\r
+               }\r
+               // On marque le devis comme envoyé\r
+               $dao->changeStatus($devis->devis_id, 1);\r
+               $x->addRedirection(SITE_PATH . 'devis');\r
+       }\r
+\r
+       public static function duplicateDevis($args, &$x)\r
+       {\r
+               global $core;\r
+               $dao = new extranetDAODevis($core->con);\r
+               $devis = $dao->duplique($args[1], $core->user->utilisateur_id);\r
+               $x->addRedirection(SITE_PATH . 'editedevis/' . $devis->devis_id);\r
+       }\r
+\r
+       public static function changeFactureStatus($args, &$x)\r
+       {\r
+               global $core;\r
+               $dao = new extranetDAOFacture($core->con);\r
+               $dao->changeStatus($args[1], $args[2]);\r
+\r
+               $x->addContent('listeFactures', extranetUrl::listeFactures());\r
+       }\r
+\r
+       public static function changeFacturePaiement($args, &$x)\r
+       {\r
+               return self::form('saveFacturePaiement', __('Informations relatives au paiement de la facture'), extranetUrl::formFacturePaiement($args[1]));\r
+       }\r
+\r
+       public static function saveFacturePaiement($args, &$x)\r
+       {\r
+               global $core;\r
+               $dao = new extranetDAOFacture($core->con);\r
+               $dao->savePaiement($_POST);\r
+               $x->addClosePopup();\r
+               $x->addContent('listeFactures', extranetUrl::listeFactures());\r
+       }\r
+\r
+       public static function supprimeFacture($args, &$x)\r
+       {\r
+               global $core;\r
+               $dao = new extranetDAOFacture($core->con);\r
+               $dao->supprime($args[1]);\r
+               @unlink(ROOT . '/facture/' . $args[1] . '.pdf');\r
+\r
+               $x->addContent('listeFactures', extranetUrl::listeFactures());\r
+       }\r
+\r
+       public static function valideFacture($args, &$x)\r
+       {\r
+               global $core;\r
+               $dao = new extranetDAOFacture($core->con);\r
+               $dao->valide($args[1]);\r
+\r
+               $x->addRedirection(SITE_PATH . 'factures');\r
+       }\r
+\r
+       public static function searchFactures($args, &$x)\r
+       {\r
+               $x->addContent('listeFactures', extranetUrl::listeFactures());\r
+       }\r
+\r
+       public static function pageFacture($args, &$x)\r
+       {\r
+               self::page('factures', $args[1]);\r
+               $x->addContent('listeFactures', extranetUrl::listeFactures());\r
+       }\r
+\r
+       public static function parPageFacture($args, &$x)\r
+       {\r
+               self::parPage('factures', $_POST['par_page']);\r
+               $x->addContent('listeFactures', extranetUrl::listeFactures());\r
+       }\r
+\r
+       public static function sortFacture($args, &$x)\r
+       {\r
+               self::sort('factures', $args[1]);\r
+               $x->addContent('listeFactures', extranetUrl::listeFactures());\r
+       }\r
+\r
+       public static function filtreFactures($args, &$x)\r
+       {\r
+               if (isset($args[1]) && $args[1] == 'efface') {\r
+                       self::filtre('factures');\r
+                       $x->addReload();\r
+                       return;\r
+               } else {\r
+                       self::filtre('factures', $_POST);\r
+                       $x->addContent('listeFactures', extranetUrl::listeFactures());\r
+               }\r
+       }\r
+\r
+       public static function sauveFactures($args, &$x)\r
+       {\r
+               global $core;\r
+               $dao = new extranetDAOFacture($core->con);\r
+               $dao->sauve($_POST);\r
+\r
+               $x->addRedirection(SITE_PATH . 'factures');\r
+       }\r
+\r
+       public static function duplicateFacture($args, &$x)\r
+       {\r
+               global $core;\r
+\r
+               $dao = new extranetDAOFacture($core->con);\r
+               $facture = $dao->duplique($args[1], $core->user->utilisateur_id);\r
+\r
+               $x->addRedirection(SITE_PATH . 'editefacture/' . $facture->facture_id);\r
+       }\r
+\r
+       public static function formPrintFactures($args, &$x)\r
+       {\r
+               self::form('printFactures', __('Imprimer des factures'), extranetUrl::formPrintFactures(), __("Lancer l'impression"));\r
+       }\r
+\r
+       public static function printFactures($args, &$x)\r
+       {\r
+               global $core;\r
+               $factures = cubeArray::parseRange($_POST['factures']);\r
+\r
+               $liste = array();\r
+               foreach($factures as $f) {\r
+                       if (file_exists(ROOT . '/factures/' . $f . '.pdf')) {\r
+                               $liste[] = ROOT . '/factures/' . $f . '.pdf';\r
+                       }\r
+               }\r
+               $liste[] = 'output';\r
+               $liste[] = ROOT . '/factures/print_' . $core->user->utilisateur_id . '_' . TIME . '.pdf';\r
+\r
+               $pdftk = new cubeCommandLine('/usr/local/bin/pdftk');\r
+               $pdftk->setManualArg(implode(' ', $liste));\r
+               $pdftk->execute();\r
+\r
+               $core->user->saveLastPrint($_POST['factures']);\r
+\r
+               $x->addClosePopup();\r
+               $x->addTruePopup(SITE_PATH . 'voirfacture/print_' . $core->user->utilisateur_id . '_' . TIME);\r
+               $core->sauvePreferencesUtilisateur();\r
+       }\r
+\r
+       public static function formDashboard($args, &$x)\r
+       {\r
+               self::form('saveDashboard', __('Ajouter un Ã©lément au dashboard'), extranetUrl::formDashboard($args));\r
+       }\r
+\r
+       public static function saveDashboard($args, &$x)\r
+       {\r
+               global $core;\r
+\r
+               $c = $core->con->openCursor('dashboard');\r
+               $c->nom = $_POST['nom'];\r
+               if ($_POST['dashboard_id'] == 'new') {\r
+                       $c->rubrique = $_POST['rubrique'];\r
+                       $c->equipier = $core->user->utilisateur_id;\r
+                       $c->settings = serialize($core->user->getSettings($_POST['rubrique']));\r
+                       $r = $core->con->select('SELECT MAX(dashboard_id) AS dashboard_id FROM dashboard');\r
+                       $c->dashboard_id = $r->dashboard_id + 1;\r
+                       $c->insert();\r
+               } else {\r
+                       $c->update('WHERE dashboard_id=\'' . $_POST['dashboard_id'] . '\'');\r
+               }\r
+               $x->addRedirection(SITE_PATH);\r
+       }\r
+\r
+       public static function pageDashboard($args, &$x)\r
+       {\r
+               $settings = self::getDashboardSettings($args[1]);\r
+               $settings['page'] = $args[2];\r
+               $r = self::saveDashboardSettings($args[1], $settings);\r
+               $x->addContent('dashboard_' . $args[1], extranetUrl::displayDashboard($r));\r
+       }\r
+\r
+       public static function parPageDashboard($args, &$x)\r
+       {\r
+               $settings = self::getDashboardSettings($args[1]);\r
+               $settings['par_page'] = $_POST['par_page'];\r
+               $settings['page'] = 1;\r
+               $r = self::saveDashboardSettings($args[1], $settings);\r
+               $x->addContent('dashboard_' . $args[1], extranetUrl::displayDashboard($r));\r
+       }\r
+\r
+       public static function sortDashboard($args, &$x)\r
+       {\r
+               $settings = self::getDashboardSettings($args[1]);\r
+               if ($settings['orderby'] == $args[2]) {\r
+                       $settings['sens'] = ($settings['sens'] == 'ASC')?'DESC':'ASC';\r
+               } else {\r
+                       $settings['orderby'] = $args[2];\r
+                       $settings['sens'] = 'ASC';\r
+               }\r
+               $r = self::saveDashboardSettings($args[1], $settings);\r
+               $x->addContent('dashboard_' . $args[1], extranetUrl::displayDashboard($r));\r
+       }\r
+\r
+       public static function saveDashboardSettings($dashboard, $settings)\r
+       {\r
+               global $core;\r
+\r
+               $settings['page'] = $settings['page']?$settings['page']:1;\r
+\r
+               if ($settings['par_page'] > 0) {\r
+                       $settings['limit'] = array(($settings['page']-1) * $settings['par_page'], $settings['par_page']);\r
+               } else {\r
+                       $settings['limit'] = null;\r
+               }\r
+\r
+               $c = $core->con->openCursor('dashboard');\r
+               $c->settings = serialize($settings);\r
+               $c->update('WHERE dashboard_id=' . $dashboard);\r
+               return $core->con->select('SELECT * FROM dashboard WHERE dashboard_id=\'' . $core->con->escape($dashboard) . '\'');\r
+       }\r
+\r
+       public static function getDashboardSettings($dashboard)\r
+       {\r
+               global $core;\r
+               $r = $core->con->select('SELECT * FROM dashboard WHERE dashboard_id=\'' . $core->con->escape($dashboard) . '\'');\r
+               return unserialize($r->settings);\r
+       }\r
+\r
+       public static function delDashboard($args, &$x)\r
+       {\r
+               global $core;\r
+               $r = $core->con->execute('DELETE FROM dashboard WHERE dashboard_id=\'' . $core->con->escape($args[1]) . '\' AND equipier=\'' . $core->user->utilisateur_id . '\'');\r
+               $x->addReplace('dashboard_' . $args[1], '');\r
+       }\r
+\r
+       public static function reloadDashboards($args, &$x)\r
+       {\r
+               $x->addContent('dash', extranetUrl::listeDashboard(array()));\r
+       }\r
+\r
+       public static function orderDashboards($args, &$x)\r
+       {\r
+               global $core;\r
+               $c = $core->con->openCursor('dashboard');\r
+               $i = 1;\r
+               foreach($_GET['dashboard'] as $id) {\r
+                       $c->sort = $i;\r
+                       $c->update('WHERE dashboard_id=\'' . $core->con->escape($id) . '\'');\r
+                       $i++;\r
+               }\r
+       }\r
+\r
+       public static function toggleDashboard($args, &$x)\r
+       {\r
+               global $core;\r
+\r
+               $r = $core->con->select('SELECT state FROM dashboard WHERE dashboard_id=\'' . $core->con->escape($args[1]) . '\'');\r
+               $new = ($r->state == '1')?'0':'1';\r
+\r
+               $c = $core->con->openCursor('dashboard');\r
+               $c->state = $new;\r
+               $c->update('WHERE dashboard_id=\'' . $core->con->escape($args[1]) . '\'');\r
+       }\r
+\r
+       public static function getAdresseForDevis($args, &$x)\r
+       {\r
+               $adresse = extranetUrl::adresse($args[1], null, 'devis');\r
+               if (!$adresse) {\r
+                       $x->addError('client_nom', '');\r
+               } else {\r
+                       $x->addContent('devisAdresseDisplay', $adresse);\r
+               }\r
+       }\r
+\r
+       public static function getAdresseForFacture($args, &$x)\r
+       {\r
+               $adresse = extranetUrl::adresse(null, $args[1], 'facture');\r
+               if (!$adresse) {\r
+                       $x->addError('projet_nom', '');\r
+               } else {\r
+                       $x->addContent('factureAdresseDisplay', $adresse);\r
+               }\r
+       }\r
+\r
+       public static function saveTrad($args, &$x)\r
+       {\r
+               $data = cubeLang::dataToFile($_POST);\r
+               file_put_contents(L10N . '/en/main.lang.php', $data);\r
+       }\r
+\r
+       public static function previewDevis($args, &$x)\r
+       {\r
+               global $core;\r
+\r
+               $daoUtilisateur = new extranetDAOUtilisateur($core->con);\r
+               if (is_null($daoUtilisateur->selectById($_POST['client']))) {\r
+                       $x->addError('client_nom');\r
+                       $x->addRedirection('#');\r
+                       return;\r
+               }\r
+\r
+               extranetDroits::min(1);\r
+               $dao = new extranetDAODevis($core->con);\r
+               $devis = $dao->sauve($core->user->utilisateur_id, $_POST);\r
+               $dao->saveAsPdf($devis->devis_id);\r
+               $x->addRedirection(SITE_PATH . 'previewDevis/' . $devis->devis_id);\r
+       }\r
+\r
+       public static function previewFacture($args, &$x)\r
+       {\r
+               global $core;\r
+               extranetDroits::min(1);\r
+\r
+               $daoProjet = new extranetDAOProjet($core->con);\r
+               $daoClient = new extranetDAOClient($core->con);\r
+               if (is_null($daoProjet->selectById($_POST['projet'])) && (!isset($_POST['client']) || is_null($daoClient->selectById($_POST['client'])))) {\r
+                       $x->addError('projet_nom');\r
+                       $x->addRedirection('#');\r
+                       return;\r
+               }\r
+\r
+               $dao = new extranetDAOFacture($core->con);\r
+               $facture = $dao->sauve($_POST, $core->user->utilisateur_id);\r
+               $dao->saveAsPdf($facture->facture_id);\r
+               $x->addRedirection(SITE_PATH . 'previewFacture/' . $facture->facture_id);\r
+       }\r
+\r
+       public static function chargesDetails($args, &$x)\r
+       {\r
+               self::form('', sprintf(__("Détails des charges de l'année %s"), date('Y')), extranetPageChiffres::chargesDetails($args), '', 3, 'liste');\r
+       }\r
+\r
+       public static function sortFichiers($args, &$x)\r
+       {\r
+               self::sort('fichiers', $args[1]);\r
+               $x->addContent('listeFichiers', extranetUrl::listeFichiers());\r
+       }\r
+\r
+       public static function pageFichiers($args, &$x)\r
+       {\r
+               self::page('fichiers', $args[1]);\r
+               $x->addContent('listeFichiers', extranetUrl::listeFichiers());\r
+       }\r
+\r
+       public static function parPageFichiers($args, &$x)\r
+       {\r
+               self::parPage('fichiers', $_POST['par_page']);\r
+               $x->addContent('listeFichiers', extranetUrl::listeFichiers());\r
+       }\r
+\r
+       public static function searchFichiers($args, &$x)\r
+       {\r
+               $x->addContent('listeFichiers', extranetUrl::listeFichiers());\r
+       }\r
+\r
+       public static function refreshFichiers($args, &$x)\r
+       {\r
+               $x->addContent('listeFichiers', extranetUrl::listeFichiers());\r
+       }\r
+\r
+       public static function supprimeFichier($args, &$x)\r
+       {\r
+               global $core;\r
+\r
+               array_shift($args);\r
+               $path = implode('/', $args);\r
+               $entreprise = array_shift($args);\r
+               extranetDroits::telecharger($entreprise);\r
+\r
+               $dao = new extranetDAOFichier($core->con);\r
+               $dao->supprime($path);\r
+               $x->addContent('listeFichiers', extranetUrl::listeFichiers());\r
+       }\r
+\r
+       public static function supprimeBook($args, &$x)\r
+       {\r
+               global $core;\r
+               $dao = new wsDAOBook($core->con);\r
+               $dao->supprime($args[1]);\r
+               $x->addContent('listeBooks', extranetUrl::listeBooks());\r
+       }\r
+\r
+       public static function searchBooks($args, &$x)\r
+       {\r
+               $x->addContent('listeBooks', wsUrl::listeBooks());\r
+       }\r
+\r
+       public static function pageBooks($args, &$x)\r
+       {\r
+               self::page('books', $args[1]);\r
+               $x->addContent('listeBooks', wsUrl::listeBooks());\r
+       }\r
+\r
+       public static function parPageBooks($args, &$x)\r
+       {\r
+               self::parPage('books', $_POST['par_page']);\r
+               $x->addContent('listeBooks', wsUrl::listeBooks());\r
+       }\r
+\r
+       public static function sortBooks($args, &$x)\r
+       {\r
+               self::sort('books', $args[1]);\r
+               $x->addContent('listeBooks', wsUrl::listeBooks());\r
+       }\r
+\r
+       public static function filtreBooks($args, &$x)\r
+       {\r
+               if (isset($args[1]) && $args[1] == 'efface') {\r
+                       self::filtre('books');\r
+                       $x->addReload();\r
+                       return;\r
+               } else {\r
+                       self::filtre('books', $_POST);\r
+                       $x->addContent('listeBooks', wsUrl::listeBooks());\r
+               }\r
+       }\r
+}\r
+\r
+?>
\ No newline at end of file
diff --git a/inc/extranet/Controlleur/class.extranet.core.php b/inc/extranet/Controlleur/class.extranet.core.php
new file mode 100644 (file)
index 0000000..42c106d
--- /dev/null
@@ -0,0 +1,446 @@
+<?php\r
+class extranetCore extends cubeCore {\r
+       public $grades;\r
+       public $user;\r
+       public $agences;\r
+       public $categories;\r
+       public function __construct()\r
+       {\r
+               parent::__construct();\r
+               $this->dbSync();\r
+\r
+               cubeLang::set();\r
+               $this->authentifie();\r
+\r
+               if ($this->user) {\r
+                       // Défini la langue de l'utilisateur en fonction du contenu de user\r
+                       cubeLang::set($this->user->lang);\r
+               } else {\r
+                       // Sinon défini la langue par défaut (basée sur les entêtes envoyées\r
+                       // par le navigateur)\r
+                       cubeLang::set();\r
+               }\r
+\r
+               $this->grades = array(0 => __('Client'), 1 => __('Equipier'), 2 => __('Gérant'), 3 => __('Comptable'));\r
+               $this->categories = array(0 => __('Non défini'), 1 => __('Gestion de projet'),\r
+                       2 => __('Design Web'), 3 => __('Design Industriel'), 4 => __('Print'),\r
+                       5 => __('Newsletter'), 6 => __('Développement PHP'), 7 => __('Développement Flash'),\r
+                       8 => __('Fluidbook'), 9 => __('Formation'), 10 => __('Administratif'), 11 => __('Divers'),\r
+                       12 => __('Intégration HTML'), 13 => __('Motion design'), 14 => __('Design graphique'), 15 => __('Bandeaux de pub'));\r
+               $this->projets_status = array(0 => __('En cours'), 1 => __('Terminé'));\r
+               $this->devis_status = array(0 => __('Brouillon'), 1 => __('Envoyé'),\r
+                       2 => __('Validé'), 3 => __('Refusé'));\r
+               $this->factures_status = array(0 => __('Brouillon'), 1 => __('Attente'),\r
+                       2 => __('Payée'), 3 => __('Annulée'), 4 => __('Avoir'));\r
+               $this->books_status = array(0 => __('Prêt'), 1 => __('Téléchargé'), 2 => __('Facturé'));\r
+               $this->agences = array('Paris', 'Montpellier');\r
+       }\r
+\r
+       /**\r
+        * extranetCore::authentifie()\r
+        *\r
+        * Gère l'authentification Ã  l'application\r
+        * Si des données proviennent de la validation d'un formulaire de login,\r
+        * elles sont copiées en tant que variable de session\r
+        * L'utilisateur courant est crée en fonction du contenu de ces variables\r
+        *\r
+        * @return\r
+        */\r
+       protected function authentifie()\r
+       {\r
+               // On regarde si user_email et user_password ont Ã©té postées\r
+               // Si c'est le cas, on les copie dans la session\r
+               if (isset($_POST['user_email'])) {\r
+                       $_SESSION['user_email'] = $_POST['user_email'];\r
+               }\r
+\r
+               if (isset($_POST['user_password'])) {\r
+                       $_SESSION['user_password'] = $_POST['user_password'];\r
+               }\r
+               // Maintenant on vérifie si ces variables sont présentes dans la session\r
+               if (!isset($_SESSION['user_email']) || !isset($_SESSION['user_password'])) {\r
+                       // Ce n'est pas le cas, on place la variable connected Ã  false\r
+                       // Et on s'arrête là\r
+                       $this->user = false;\r
+                       return;\r
+               }\r
+               // Les variables sont présentes on vérifie la validité des informations\r
+               // Dans la base de données\r
+               // Utilisateur connecté Ã  l'interface\r
+               $dao = new extranetDAOUtilisateur($this->con);\r
+               $this->user = $dao->selectByLoginPassword($_SESSION['user_email'], $_SESSION['user_password']);\r
+       }\r
+\r
+       /**\r
+        * extranetCore::dbSync()\r
+        *\r
+        * Fonction permettant de modéliser le contenu de la base de données\r
+        * et de la synchroniser le cas Ã©chéant.\r
+        *\r
+        * @return void\r
+        */\r
+       /**\r
+        * extranetCore::dbSync()\r
+        *\r
+        * @return\r
+        */\r
+       public function dbSync()\r
+       {\r
+               $cache = ROOT . '/cache/DB_SYNC';\r
+               if (!file_exists($cache)) {\r
+                       touch($cache);\r
+                       $dosync = true;\r
+               } else {\r
+                       $dosync = filemtime(__FILE__) > filemtime($cache);\r
+               }\r
+\r
+               if (!$dosync) {\r
+                       return;\r
+               }\r
+\r
+               $db = new CubeDbStruct($this->con);\r
+               // Table utilisateurs\r
+               $db->utilisateurs->utilisateur_id('integer', 0, false);\r
+               $db->utilisateurs->login('varchar', 128, false);\r
+               $db->utilisateurs->email('varchar', 128, false);\r
+               $db->utilisateurs->password('varchar', 40, false);\r
+               $db->utilisateurs->nom('varchar', 64, false);\r
+               $db->utilisateurs->prenom('varchar', 64, false);\r
+               $db->utilisateurs->agence('varchar', 64, true);\r
+               $db->utilisateurs->entreprise('integer', 0, false);\r
+               $db->utilisateurs->grade('integer', 1, false);\r
+               $db->utilisateurs->adresse('varchar', 512, false);\r
+               $db->utilisateurs->code_postal('varchar', 20, false);\r
+               $db->utilisateurs->ville('varchar', 64, false);\r
+               $db->utilisateurs->pays('varchar', 2, false);\r
+               $db->utilisateurs->telephone('varchar', 30, false);\r
+               $db->utilisateurs->mobile('varchar', 30, false);\r
+               $db->utilisateurs->fax('varchar', 30, false);\r
+               $db->utilisateurs->lang('varchar', 2, false, '\'fr\'');\r
+               $db->utilisateurs->date_creation('integer', 0, false);\r
+               $db->utilisateurs->settings('text', 0, false);\r
+               $db->utilisateurs->notes('text', 0, false);\r
+               $db->utilisateurs->ws_grade('float', 0, false, -1);\r
+               $db->utilisateurs->ws_password('varchar', 40, false);\r
+               $db->utilisateurs->ws_admin('integer', 0, false, 1);\r
+               $db->utilisateurs->ws_id('integer', 0, true);\r
+               // Clés\r
+               $db->utilisateurs->primary('pk_utilisateurs', 'utilisateur_id');\r
+               $db->utilisateurs->unique('unique_utilisateurs_email', 'email');\r
+               $db->utilisateurs->index('index_utilisateurs_nom', 'BTREE', 'nom');\r
+               $db->utilisateurs->index('index_utilisateurs_prenom', 'BTREE', 'prenom');\r
+               $db->utilisateurs->reference('fk_utilisateurs_entreprise', 'entreprise', 'entreprises', 'entreprise_id', false, false);\r
+               // Table entreprises\r
+               $db->entreprises->entreprise_id('integer', 0, false);\r
+               $db->entreprises->nom('varchar', 64, false);\r
+               $db->entreprises->adresse('varchar', 512, false);\r
+               $db->entreprises->code_postal('varchar', 20, false);\r
+               $db->entreprises->ville('varchar', 64, false);\r
+               $db->entreprises->pays('varchar', 2, false);\r
+               $db->entreprises->tva_intra('varchar', 14, false);\r
+               $db->entreprises->date_creation('integer', 0, false);\r
+               $db->entreprises->notes('text', 0, false);\r
+               $db->entreprises->site('varchar', 256, false);\r
+               // Clés\r
+               $db->entreprises->primary('pk_entreprises', 'entreprise_id');\r
+               $db->entreprises->unique('unique_entreprises_nom', 'nom');\r
+               // .\r
+               // Table projets\r
+               $db->projets->projet_id('integer', 0, false);\r
+               $db->projets->nom('varchar', 256, false);\r
+               $db->projets->date_creation('integer', 0, false);\r
+               $db->projets->date_debut('integer', 0, false);\r
+               $db->projets->date_fin('integer', 0, false);\r
+               $db->projets->deadline('integer', 0, false);\r
+               $db->projets->devis('integer', 0, false);\r
+               $db->projets->client('integer', 0, false);\r
+               $db->projets->chef('integer', 0, false);\r
+               $db->projets->status('integer', 1, false);\r
+               $db->projets->old('integer', 1, false);\r
+               // Clés\r
+               $db->projets->primary('pk_projets', 'projet_id');\r
+               $db->projets->index('index_projets_status', 'BTREE', 'status');\r
+               $db->projets->index('index_projets_nom', 'BTREE', 'nom');\r
+               $db->projets->reference('fk_projets_client', 'client', 'utilisateurs', 'utilisateur_id', false, false);\r
+               $db->projets->reference('fk_projets_chef', 'chef', 'utilisateurs', 'utilisateur_id', false, false);\r
+               // .\r
+               // Table taches\r
+               $db->taches->tache_id('integer', 0, false);\r
+               $db->taches->nom('varchar', 256, false);\r
+               $db->taches->categorie('integer', 0, false);\r
+               $db->taches->type('integer', 1, false);\r
+               $db->taches->budget('float', 0, false);\r
+               $db->taches->taux_journalier('float', 0, false);\r
+               $db->taches->projet('integer', 0, false);\r
+               // Clés\r
+               $db->taches->primary('pk_taches', 'tache_id');\r
+               $db->taches->reference('fk_taches_projet', 'projet', 'projets', 'projet_id');\r
+               $db->taches->index('index_taches_nom', 'BTREE', 'nom');\r
+               $db->taches->index('index_taches_categorie', 'BTREE', 'categorie');\r
+               // .\r
+               // Table timereport\r
+               $db->timereport->utilisateur_id('integer', 0, false);\r
+               $db->timereport->tache_id('integer', 0, false);\r
+               $db->timereport->date('integer', 0, false);\r
+               $db->timereport->heures('integer', 2, false);\r
+               // Clés\r
+               $db->timereport->primary('pk_timereport', 'utilisateur_id', 'tache_id', 'date');\r
+               $db->timereport->reference('fk_timereport_utilisateur_id', 'utilisateur_id', 'utilisateurs', 'utilisateur_id');\r
+               $db->timereport->reference('fk_timereport_tache_id', 'tache_id', 'taches', 'tache_id');\r
+               $db->timereport->index('index_timereport_date', 'BTREE', 'date');\r
+               // .\r
+               // Table devis\r
+               $db->devis->devis_id('integer', 0, false);\r
+               $db->devis->nom('varchar', 256, false);\r
+               $db->devis->client('integer', 0, false);\r
+               $db->devis->createur('integer', 0, false);\r
+               $db->devis->lignes('text', 0, false);\r
+               $db->devis->status('integer', 1, false);\r
+               $db->devis->total_ht('float', 0, false);\r
+               $db->devis->date_creation('integer', 0, false);\r
+               $db->devis->email('text', 0, false);\r
+               $db->devis->adresse('text', 0, false);\r
+               // Clés\r
+               $db->devis->primary('pk_devis', 'devis_id');\r
+               $db->devis->index('index_devis_status', 'BTREE', 'status');\r
+               $db->devis->index('index_devis_nom', 'BTREE', 'nom');\r
+               $db->devis->reference('fk_devis_client', 'client', 'utilisateurs', 'utilisateur_id');\r
+               $db->devis->reference('fk_devis_createur', 'createur', 'utilisateurs', 'utilisateur_id');\r
+               // .\r
+               // Table factures\r
+               $db->factures->facture_id('varchar', 8, false);\r
+               $db->factures->nom('varchar', 256, false);\r
+               $db->factures->projet('integer', 0, false);\r
+               $db->factures->createur('integer', 0, false);\r
+               $db->factures->lignes('text', 0, false);\r
+               $db->factures->status('integer', 1, false);\r
+               $db->factures->total_ht('float', 0, false);\r
+               $db->factures->date_creation('integer', 0, false);\r
+               $db->factures->texte_complementaire('text', 0, false);\r
+               $db->factures->adresse('text', 0, false);\r
+               $db->factures->informations_paiement('text', 0, false);\r
+               $db->factures->date_paiement('integer', 0, false);\r
+               $db->factures->avoir('varchar', 8, false);\r
+               // Clés\r
+               $db->factures->primary('pk_factures', 'facture_id');\r
+               $db->factures->index('index_factures_status', 'BTREE', 'status');\r
+               $db->factures->index('index_factures_nom', 'BTREE', 'nom');\r
+               $db->factures->reference('fk_factures_projet', 'projet', 'projets', 'projet_id');\r
+               $db->factures->reference('fk_factures_createur', 'createur', 'utilisateurs', 'utilisateur_id');\r
+               // .\r
+               // Table dashboard\r
+               $db->dashboard->dashboard_id('integer', 0, false);\r
+               $db->dashboard->nom('varchar', 128, false);\r
+               $db->dashboard->settings('text', 0, false);\r
+               $db->dashboard->rubrique('varchar', 32, false);\r
+               $db->dashboard->equipier('integer', 0, false);\r
+               $db->dashboard->state('integer', 1, false, '1');\r
+               $db->dashboard->sort('integer', 0, false);\r
+               // Clés\r
+               $db->dashboard->primary('pk_dashboard', 'dashboard_id');\r
+               $db->dashboard->reference('fk_dashboard_equipier', 'equipier', 'utilisateurs', 'utilisateur_id');\r
+               // .\r
+               // Table Signatures\r
+               $db->signatures->signature_id('integer', 0, false);\r
+               $db->signatures->nom('varchar', 256, false);\r
+               $db->signatures->fbcredit('varchar', 64, false);\r
+               $db->signatures->fblink('varchar', 64, false);\r
+               $db->signatures->partnercredit('varchar', 64, false);\r
+               $db->signatures->partnerlink('varchar', 64, false);\r
+               // Clés\r
+               $db->signatures->primary('pk_signatures', 'signature_id');\r
+               // Table jeux d'icones\r
+               $db->icones->icone_id('integer', 0, false);\r
+               $db->icones->nom('varchar', 256, false);\r
+               $db->icones->proprietaire('integer', 0, false);\r
+               $db->icones->couleur('varchar', 6, false);\r
+               $db->icones->date('integer', 0, false);\r
+               // Clés\r
+               $db->icones->primary('pk_icones', 'icone_id');\r
+               $db->icones->index('index_icones_nom', 'BTREE', 'nom');\r
+               $db->icones->index('index_icones_date', 'BTREE', 'date');\r
+               $db->icones->reference('fk_icones_proprietaire', 'proprietaire', 'utilisateurs', 'utilisateur_id');\r
+               // Table thèmes\r
+               $db->themes->theme_id('integer', 0, false);\r
+               $db->themes->icones('integer', 0, false);\r
+               $db->themes->signature('integer', 0, false);\r
+               $db->themes->proprietaire('integer', 0, false);\r
+               $db->themes->nom('varchar', 256, false);\r
+               $db->themes->date('integer', 0, false);\r
+               $db->themes->parametres('text', 0, false);\r
+               // Clés\r
+               $db->themes->primary('pk_themes', 'theme_id');\r
+               $db->themes->index('index_themes_nom', 'BTREE', 'nom');\r
+               $db->themes->index('index_themes_date', 'BTREE', 'date');\r
+               $db->themes->reference('fk_themes_icones', 'icones', 'icones', 'icone_id');\r
+               $db->themes->reference('fk_themes_signature', 'signature', 'signatures', 'signature_id');\r
+               $db->themes->reference('fk_themes_proprietaires', 'proprietaire', 'utilisateurs', 'utilisateur_id');\r
+               // Table des langues\r
+               $db->langues->lang('varchar', 20, false);\r
+               $db->langues->nom('varchar', 256, false);\r
+               $db->langues->nsis_lang('varchar', 64, false);\r
+               $db->langues->public('integer', 1, false);\r
+               $db->langues->embeded('integer', 1, false);\r
+               $db->langues->textes('text', 0, false);\r
+               // Clés\r
+               $db->langues->primary('pk_langues', 'lang');\r
+               // .\r
+               // Table documents\r
+               $db->documents->document_id('integer', 0, false);\r
+               $db->documents->file('varchar', 256, false);\r
+               $db->documents->proprietaire('integer', 0, false);\r
+               $db->documents->pages('integer', 0, false);\r
+               $db->documents->trim('text', 0, false);\r
+               $db->documents->date('integer', 0, false);\r
+               $db->documents->localInfos('text', 0, false);\r
+               // Clés\r
+               $db->documents->primary('pk_documents', 'document_id');\r
+               $db->documents->index('index_documents_file', 'BTREE', 'file');\r
+               $db->documents->index('index_documents_date', 'BTREE', 'date');\r
+               $db->documents->reference('fk_documents_proprietaire', 'proprietaire', 'utilisateurs', 'utilisateur_id');\r
+               // .\r
+               // Table pages des documents\r
+               $db->document_pages->document_id('integer', 0, false);\r
+               $db->document_pages->document_page('integer', 0, false);\r
+               $db->document_pages->text('text', 0, false);\r
+               $db->document_pages->links('text', 0, false);\r
+               // Clés\r
+               $db->document_pages->primary('pk_document_pages', 'document_id', 'document_page');\r
+               // .\r
+               // Table Books\r
+               $db->books->book_id('integer', 0, false);\r
+               $db->books->nom('varchar', 256, false);\r
+               $db->books->lang('varchar', 20, false);\r
+               $db->books->theme('integer', 0, false);\r
+               $db->books->proprietaire('integer', 0, false);\r
+               // $db->books->projet('integer', 0, false);\r
+               $db->books->hash('varchar', 32, false);\r
+               $db->books->compteur_visites('integer', 0, false, 20);\r
+               $db->books->status('integer', 0, false);\r
+               $db->books->date_status('integer', 0, false);\r
+               $db->books->parametres('text', 0, false);\r
+               $db->books->date('integer', 0, false);\r
+               // Clés\r
+               $db->books->primary('pk_books', 'book_id');\r
+               $db->books->index('index_books_nom', 'BTREE', 'nom');\r
+               $db->books->reference('fk_books_proprietaire', 'proprietaire', 'utilisateurs', 'utilisateur_id');\r
+               // $db->books->reference('fk_books_projet', 'projet', 'projets', 'projet_id');\r
+               // $db->books->reference('fk_books_lang', 'lang', 'langues', 'lang');\r
+               // .\r
+               // Table pages des publications\r
+               $db->book_pages->book_id('integer', 0, false);\r
+               $db->book_pages->book_page('integer', 0, false);\r
+               $db->book_pages->document_id('integer', 0, false);\r
+               $db->book_pages->document_page('integer', 0, false);\r
+               // Clés\r
+               $db->book_pages->primary('pk_book_pages', 'book_id', 'book_page');\r
+               $db->book_pages->reference('fk_book_pages_book_id', 'book_id', 'books', 'book_id');\r
+               $db->book_pages->reference('fk_book_pages_document_id', 'document_id', 'documents', 'document_id');\r
+               // .\r
+               try {\r
+                       $dbi = new CubeDbStruct($this->con);\r
+                       $dbi->synchronize($db);\r
+               }\r
+               catch(Exception $e) {\r
+                       fb($e);\r
+                       exit;\r
+               }\r
+\r
+               $this->createView('equipiers', 'SELECT * FROM utilisateurs WHERE grade>=1');\r
+               $this->createView('gerants', 'SELECT * FROM utilisateurs WHERE grade=2');\r
+               $this->createView('ws_top_revendeurs', 'SELECT * FROM utilisateurs WHERE ws_grade=3 AND ws_admin IN(SELECT utilisateur_id FROM equipiers)');\r
+               $this->createView('ws_revendeurs', 'SELECT * FROM utilisateurs WHERE ws_grade=3');\r
+               $this->createView('ws_facturables', 'SELECT * FROM utilisateurs WHERE ws_grade BETWEEN 0 AND 3 AND ws_admin IN(SELECT utilisateur_id FROM equipiers)');\r
+               $this->createView('ws_utilisateurs', 'SELECT *,utilisateur_id AS facturable_id FROM ws_facturables'\r
+                        . ' UNION '\r
+                        . 'SELECT u.*,f.utilisateur_id AS facturable_id FROM utilisateurs u, ws_facturables f WHERE u.ws_admin=f.utilisateur_id AND u.ws_grade!=-1 '\r
+                        . ' UNION '\r
+                        . 'SELECT u.*,f.utilisateur_id AS facturable_id FROM utilisateurs u,ws_facturables f,ws_revendeurs r '\r
+                        . 'WHERE u.ws_admin=r.utilisateur_id AND r.ws_admin=f.utilisateur_id '\r
+                        . ' UNION '\r
+                        . ' SELECT *,utilisateur_id AS facturable_id FROM utilisateurs WHERE ws_grade=4');\r
+               $this->createView('impayes_entreprises', 'SELECT SUM(total_ht) AS impaye, u.entreprise AS entreprise '\r
+                        . 'FROM utilisateurs u LEFT JOIN projets p ON u.utilisateur_id=p.client LEFT JOIN factures f ON f.projet=p.projet_id '\r
+                        . 'WHERE f.status=1 GROUP BY u.entreprise');\r
+               $this->createView('entreprises_inter', 'SELECT e.*,'\r
+                        . 'SUM(f.total_ht) AS ca '\r
+                        . 'FROM entreprises e LEFT JOIN utilisateurs u ON u.entreprise=e.entreprise_id AND grade=0 '\r
+                        . 'LEFT JOIN projets p ON p.client=u.utilisateur_id '\r
+                        . 'LEFT JOIN factures f ON f.projet=p.projet_id AND f.status IN(1,2) '\r
+                        . 'GROUP BY e.entreprise_id');\r
+               $this->createView('entreprises_vue', 'SELECT e.*,i.impaye AS impaye'\r
+                        . ' FROM entreprises_inter e LEFT JOIN impayes_entreprises i ON e.entreprise_id=i.entreprise');\r
+               $this->createView('clients', 'SELECT u.*,e.nom AS rs, i.impaye, '\r
+                        . 'SUM(f.total_ht) AS ca '\r
+                        . 'FROM entreprises e LEFT JOIN impayes_entreprises i ON e.entreprise_id=i.entreprise LEFT JOIN utilisateurs u ON u.entreprise=e.entreprise_id AND u.grade=0 LEFT JOIN projets p ON p.client=u.utilisateur_id LEFT JOIN factures f ON f.projet=p.projet_id AND f.status IN(1,2) '\r
+                        . 'GROUP BY u.utilisateur_id');\r
+               $this->createView('ws_clients', 'SELECT u.*,e.nom AS rs, e1.nom as facturable '\r
+                        . 'FROM ws_utilisateurs u, entreprises e, entreprises e1,ws_utilisateurs u1  '\r
+                        . 'WHERE u.entreprise=e.entreprise_id AND u1.entreprise=e1.entreprise_id AND u.facturable_id=u1.utilisateur_id AND u.grade=0 ');\r
+               $this->createView('taches_vue', 'SELECT taches.tache_id,taches.nom,taches.categorie,taches.type,taches.budget,taches.projet,taches.taux_journalier, '\r
+                        . '(SUM(timereport.heures)/' . JOURNEE . ') AS jours_consommes, ((SUM(timereport.heures)/' . JOURNEE . ')/(taches.budget/taches.taux_journalier))*100 AS progression,(taches.budget/taches.taux_journalier) AS jours_prevus '\r
+                        . 'FROM taches LEFT JOIN timereport ON taches.tache_id=timereport.tache_id '\r
+                        . 'GROUP BY taches.tache_id');\r
+               $this->createView('taches_projet', 'SELECT projet, '\r
+                        . 'SUM(jours_prevus) AS jours_prevus,SUM(budget) AS budget,'\r
+                        . 'SUM(jours_consommes) AS jours_consommes, (SUM(jours_consommes)/SUM(jours_prevus))*100 AS progression '\r
+                        . 'FROM taches_vue GROUP BY projet');\r
+               $this->createView('devis_vue', 'SELECT devis.devis_id,devis.nom,devis.lignes,devis.status,devis.total_ht,devis.date_creation,devis.email,clients.utilisateur_id AS client_id,clients.rs AS client,equipiers.prenom AS createur,equipiers.utilisateur_id AS createur_id,devis.adresse '\r
+                        . 'FROM devis,clients,equipiers '\r
+                        . 'WHERE devis.client=clients.utilisateur_id AND devis.createur=equipiers.utilisateur_id');\r
+               $this->createView('factures_vue', 'SELECT factures.facture_id,factures.nom,factures.lignes,factures.status,factures.total_ht,factures.date_creation,factures.texte_complementaire,factures.informations_paiement,factures.date_paiement,factures.adresse,factures.avoir,'\r
+                        . 'projets.projet_id AS projet_id,projets.nom AS projet,projets.client_id AS client_id,projets.client as client,equipiers.prenom AS createur,equipiers.utilisateur_id AS createur_id '\r
+                        . 'FROM factures,projets_vue projets,equipiers '\r
+                        . 'WHERE factures.projet=projets.projet_id AND factures.createur=equipiers.utilisateur_id AND (factures.facture_id>=0 OR factures.status=1)  ');\r
+               $this->createView('factures_payees', 'SELECT * FROM factures WHERE status=2');\r
+               $this->createView('factures_valides', 'SELECT * FROM factures WHERE status=1 OR status=2');\r
+               $this->createView('projets_inter', 'SELECT projets.projet_id,projets.nom,projets.status,projets.date_debut,projets.date_fin,projets.date_creation,projets.deadline,projets.devis,projets.old,'\r
+                        . 'YEAR(FROM_UNIXTIME(projets.date_debut)) AS annee_debut,'\r
+                        . 'IF(YEAR(FROM_UNIXTIME(projets.date_fin))=1970,YEAR(NOW()),YEAR(FROM_UNIXTIME(projets.date_fin))) AS annee_fin,'\r
+                        . 'clients.rs AS client,equipiers.prenom AS chef,equipiers.utilisateur_id AS chef_id,clients.utilisateur_id AS client_id '\r
+                        . 'FROM projets,clients,equipiers '\r
+                        . 'WHERE clients.utilisateur_id=projets.client AND equipiers.utilisateur_id=projets.chef');\r
+               $this->createView('projets_inter1', 'SELECT projets.*,taches.jours_prevus,taches.jours_consommes,taches.progression,taches.budget AS budget, '\r
+                        . 'IF(taches.budget>0,SUM(factures_valides.total_ht)/taches.budget,1) AS rapport_facturation, '\r
+                        . 'SUM(factures_valides.total_ht) AS montant_facture '\r
+                        . 'FROM projets_inter projets '\r
+                        . 'LEFT JOIN taches_projet taches ON taches.projet=projets.projet_id '\r
+                        . 'LEFT JOIN factures_valides ON factures_valides.projet=projets.projet_id '\r
+                        . 'GROUP BY projets.projet_id,factures_valides.projet');\r
+               $this->createView('projets_vue', 'SELECT p.*,SUM(f.total_ht) AS montant_paye, '\r
+                        . 'IF(p.budget>0,SUM(f.total_ht)/p.budget,1) AS rapport_paiement '\r
+                        . 'FROM projets_inter1 p '\r
+                        . 'LEFT JOIN factures_payees f ON f.projet=p.projet_id '\r
+                        . 'GROUP BY p.projet_id');\r
+               $this->createView('projets_timereport', 'SELECT * FROM projets_vue WHERE status=0');\r
+               $this->createView('order_timereport', 'SELECT utilisateur_id,projet AS projet_id,MAX(date) AS derniere_activite FROM timereport,taches,projets WHERE taches.tache_id=timereport.tache_id AND taches.projet=projets.projet_id AND projets.status=0 GROUP BY utilisateur_id,taches.projet ORDER BY utilisateur_id ASC,MAX(date) DESC');\r
+               $this->createView('ca', 'SELECT SUM(total_ht) AS ca, YEAR(FROM_UNIXTIME(date_creation)) annee FROM factures WHERE status IN(1,2) GROUP BY annee');\r
+               $this->createView('ftpaccess', 'SELECT email AS userid,password AS passwd,utilisateur_id AS uid,'\r
+                        . '\'1000\' AS gid,CONCAT(\'/usb/ftpextranet/\',utilisateur_id) AS homedir, \'/bin/false\' AS shell '\r
+                        . 'FROM utilisateurs WHERE grade=0 '\r
+                        . 'UNION '\r
+                        . 'SELECT email AS userid,ws_password AS passwd,utilisateur_id AS uid,'\r
+                        . '\'1000\' AS gid,CONCAT(\'/usb/ftpextranet/\',utilisateur_id) AS homedir, \'/bin/false\' AS shell '\r
+                        . 'FROM utilisateurs WHERE grade=0 AND ws_password!=\'\'');\r
+               $this->createView('chiffres_categories', 'SELECT p.annee_fin AS annee, t.categorie, SUM(t.budget) AS ca '\r
+                        . 'FROM projets_vue p, taches_vue t '\r
+                        . 'WHERE t.projet=p.projet_id '\r
+                        . 'GROUP BY t.categorie,p.annee_fin');\r
+               $this->createView('temps_categories', 'SELECT p.annee_fin AS annee, t.categorie, SUM(t.jours_consommes) AS jours_consommes,SUM(t.jours_prevus) AS jours_prevus '\r
+                        . 'FROM projets_vue p, taches_vue t '\r
+                        . 'WHERE t.projet=p.projet_id '\r
+                        . 'GROUP BY t.categorie,p.annee_fin');\r
+               $this->createView('books_vue', 'SELECT b.*,b.proprietaire AS proprietaire_id,c.rs AS proprietaire_nom,c.ws_admin,c.facturable_id,c.facturable '\r
+                        . 'FROM books b,ws_clients c WHERE b.proprietaire=c.utilisateur_id');\r
+               // cubeDb::mysqlConvert($this->con);\r
+               touch($cache);\r
+       }\r
+\r
+       public function sauvePreferencesUtilisateur()\r
+       {\r
+               $dao = new extranetDAOUtilisateur($this->con);\r
+               $dao->sauvePreferences($this->user);\r
+       }\r
+}\r
+\r
+?>
\ No newline at end of file
diff --git a/inc/extranet/Controlleur/class.extranet.droits.php b/inc/extranet/Controlleur/class.extranet.droits.php
new file mode 100644 (file)
index 0000000..59505d3
--- /dev/null
@@ -0,0 +1,118 @@
+<?php\r
+class extranetDroits {\r
+       public static function min($grade, $error = true)\r
+       {\r
+               global $core;\r
+               if ($core->user->grade < $grade) {\r
+                       if (!$error) {\r
+                               return false;\r
+                       }\r
+                       self::error();\r
+               }\r
+       }\r
+\r
+       protected static function verifDroits($proprietaire, $client, $action = 'r', $error = true)\r
+       {\r
+               global $core;\r
+\r
+               if ($core->user->grade == 2) {\r
+                       return true;\r
+               } elseif ($core->user->grade == 1) {\r
+                       if ($action == 'r') {\r
+                               return true;\r
+                       } else {\r
+                               if ($proprietaire == $core->user->utilisateur_id) {\r
+                                       return true;\r
+                               }\r
+                       }\r
+               } elseif ($core->user->grade == 0 && $action == 'r' && $client == $core->user->utilisateur_id) {\r
+                       return true;\r
+               } elseif ($core->user->grade == 3 && $action == 'r') {\r
+                       return true;\r
+               }\r
+               if ($error) {\r
+                       self::error();\r
+               }\r
+               return false;\r
+       }\r
+\r
+       public static function devis($devis, $action , $error = true)\r
+       {\r
+               return self::verifDroits($devis->createur_id, $devis->client_id, $action, $error);\r
+       }\r
+\r
+       public static function facture($facture, $action, $error = true)\r
+       {\r
+               return self::verifDroits($facture->createur_id, $facture->client_id, $action, $error);\r
+       }\r
+\r
+       public static function projet($projet, $error)\r
+       {\r
+               return self::verifDroits($projet->chef_id, 0, 'w', $error);\r
+       }\r
+\r
+       public static function recherche($page)\r
+       {\r
+               global $core;\r
+               $droits = array('projets' => 1, 'factures' => 1, 'devis' => 1, 'clients' => 1, 'timereport' => 1, 'fichiers' => 0,'books'=>0);\r
+               return (isset($droits[$page]) && $droits[$page] <= $core->user->grade);\r
+       }\r
+\r
+       public static function navigation()\r
+       {\r
+               global $core;\r
+\r
+               $nav = array();\r
+               if ($core->user->grade == 0) {\r
+                       $nav[__('Fichiers')] = 'fichiers';\r
+                       $nav[__('Devis')] = 'devis';\r
+                       $nav[__('Factures')] = 'factures';\r
+               } elseif ($core->user->grade < 3) {\r
+                       $nav[__('Dashboard')] = 'dashboard';\r
+                       $nav[__('Projets')] = 'projets';\r
+                       $nav[__('Timereport')] = 'timereport';\r
+                       $nav[__('Devis')] = 'devis';\r
+                       $nav[__('Factures')] = 'factures';\r
+                       $nav[__('Clients')] = 'clients';\r
+                       if ($core->user->grade >= 2) {\r
+                               $nav[__('Chiffres')] = 'chiffres';\r
+                               $nav[__('RH')] = 'rh';\r
+                       }\r
+                       // $nav[__('Traduction')] = 'traduction';\r
+               } elseif ($core->user->grade == 3) {\r
+                       $nav[__('Clients')] = 'clients';\r
+                       $nav[__('Factures')] = 'factures';\r
+               }\r
+               return $nav;\r
+       }\r
+\r
+       public static function telecharger($utilisateur_id)\r
+       {\r
+               global $core;\r
+               if ($core->user->grade > 0) {\r
+                       return true;\r
+               } else {\r
+                       $dao = new extranetDAOClient($core->con);\r
+                       $contacts = $dao->getCollegues($utilisateur_id);\r
+                       $collegues = array();\r
+                       foreach($contacts as $c) {\r
+                               $collegues[] = $c->utilisateur_id;\r
+                       }\r
+\r
+                       if ($core->user->utilisateur_id != $utilisateur_id && !in_array($core->user->utilisateur_id, $collegues)) {\r
+                               self::error();\r
+                       } else {\r
+                               return true;\r
+                       }\r
+               }\r
+               self::error();\r
+       }\r
+\r
+       public static function error()\r
+       {\r
+               http::head(401);\r
+               exit;\r
+       }\r
+}\r
+\r
+?>
\ No newline at end of file
diff --git a/inc/extranet/Controlleur/class.extranet.filtre.php b/inc/extranet/Controlleur/class.extranet.filtre.php
new file mode 100644 (file)
index 0000000..ea0ab62
--- /dev/null
@@ -0,0 +1,108 @@
+<?php\r
+class extranetFiltre {\r
+       public $titre;\r
+       public $varname;\r
+       public $settings;\r
+       public $values;\r
+       public $all;\r
+\r
+       public function __construct($titre, $varname, $settings)\r
+       {\r
+               $this->titre = $titre;\r
+               $this->varname = $varname;\r
+               $this->all = __('Tous');\r
+               $this->settings = isset($settings[$varname]) && count($settings[$varname])?$settings[$varname]:null;\r
+               $this->getValues();\r
+               fb($this);\r
+       }\r
+\r
+       protected function getValues()\r
+       {\r
+               global $core;\r
+               if ($this->varname == 'equipier' || $this->varname == 'equipier_participe') {\r
+                       $r = $core->con->select('SELECT prenom,utilisateur_id FROM equipiers');\r
+                       while ($r->fetch()) {\r
+                               $this->values[$r->prenom] = $r->utilisateur_id;\r
+                       }\r
+               } elseif ($this->varname == 'annee') {\r
+                       for($i = 2006;$i <= date('Y', TIME);$i++) {\r
+                               $this->values[$i] = $i;\r
+                       }\r
+                       $this->all = __('Toutes');\r
+               } elseif ($this->varname == 'status_projet') {\r
+                       $this->values = array(__('En cours') => 'status_0',\r
+                               __('Terminé') => 'status_1',\r
+                               __('Facturés') => 'factures_1',\r
+                               __('Non facturés') => 'factures_0');\r
+               } elseif ($this->varname == 'status_client_projet') {\r
+                       $this->values = array(__('En cours') => '0', __('Terminé') => '1');\r
+               } elseif ($this->varname == 'status_facture') {\r
+                       $this->values = array_flip($core->factures_status);\r
+               } elseif ($this->varname == 'annee_facture') {\r
+                       for($i = 2008;$i <= date('Y', TIME);$i++) {\r
+                               $this->values[$i] = $i;\r
+                       }\r
+                       $this->all = __('Toutes');\r
+               } elseif ($this->varname == 'status_devis') {\r
+                       $this->values = array_flip($core->devis_status);\r
+               } elseif ($this->varname == 'impaye') {\r
+                       $this->values = array(__('Non') => '0', __('Oui') => '1');\r
+               } elseif ($this->varname == 'status_book') {\r
+                       $this->values = array_flip($core->books_status);\r
+               } elseif ($this->varname == 'annee_book') {\r
+                       for($i = 2007;$i <= date('Y', TIME);$i++) {\r
+                               $this->values[$i] = $i;\r
+                       }\r
+                       $this->all = __('Toutes');\r
+               }\r
+       }\r
+\r
+       public function display()\r
+       {\r
+               if (is_null($this->settings) || count($this->settings) == count($this->values)) {\r
+                       $class = '';\r
+                       $titre = $this->all;\r
+               } else {\r
+                       $class = ' active';\r
+                       $t = array();\r
+                       foreach($this->settings as $k => $v) {\r
+                               $t[] = array_search($k, $this->values);\r
+                       }\r
+                       $titre = implode(', ', $t);\r
+               }\r
+\r
+               $limit = 20;\r
+               $t = (mb_strlen($titre) > $limit)?mb_substr($titre, 0, $limit-4) . '...':$titre;\r
+\r
+               $res = '<div class="filtre">';\r
+               $res .= '<span>' . $this->titre . '</span>';\r
+               $res .= '<div class="input' . $class . '"><span>' . $t . '</span>' ;\r
+               $res .= '<a href="#" class="bt" title="' . $titre . '">' . cubeMedia::spacer(155, 18) . '</a>';\r
+               $res .= '</div>';\r
+               $res .= '<ul><li class="all">' . $this->all . '</li>';\r
+               $last = count($this->values)-1;\r
+               $i = 0;\r
+               foreach($this->values as $v => $k) {\r
+                       $checked = false;\r
+                       if (is_null($this->settings)) {\r
+                               $checked = true;\r
+                       } elseif (isset($this->settings[$k])) {\r
+                               $checked = true;\r
+                       }\r
+                       $l = ($i == $last)?' class="last"':'';\r
+                       $res .= '<li' . $l . '><label>' . form::checkbox(array($this->varname . '[' . $k . '][]'), 1, $checked) . ' ' . $v . '</label></li>';\r
+                       $i++;\r
+               }\r
+               $res .= '</ul>';\r
+               $res .= '</div>';\r
+               return $res;\r
+       }\r
+\r
+       public static function test($varname, $settings)\r
+       {\r
+               $f = new extranetFiltre(__(''), $varname, array());\r
+               return isset($settings[$varname]) && count($f->values) > count($settings[$varname]) && count($settings[$varname]);\r
+       }\r
+}\r
+\r
+?>
\ No newline at end of file
diff --git a/inc/extranet/Controlleur/class.extranet.page.chiffres.php b/inc/extranet/Controlleur/class.extranet.page.chiffres.php
new file mode 100644 (file)
index 0000000..3535f8c
--- /dev/null
@@ -0,0 +1,328 @@
+<?php\r
+class extranetPageChiffres {\r
+       public static function listeCharges()\r
+       {\r
+               $range = array();\r
+               $y = cubeDate::limitYear();\r
+               $m = cubeDate::limitMonth();\r
+\r
+               $calendar = new cubeGoogleCalendar('hqf7e244bjej459rj3qco770tc', 'contact@cubedesigners.com', 'valparaiso');\r
+               $events = $calendar->getEvents(array($y['start'], $m['end']), '', 0);\r
+               $e = array();\r
+               foreach($events as $event) {\r
+                       foreach($event->when as $when) {\r
+                               $date = new DateTime($when->starttime);\r
+                               break;\r
+                       }\r
+                       $title = $event->title->text;\r
+                       $a = str_replace(',', '.', $event->content->text);\r
+                       $a = str_replace(' ', '', $a);\r
+                       $a = str_replace('€', '', $a);\r
+                       $a = trim($a);\r
+                       $a = floatval($a);\r
+                       if (!$a) {\r
+                               continue;\r
+                       }\r
+                       $e[] = array('title' => $title, 'date' => $date->format('d-m-Y'), 'montant' => $a);\r
+               }\r
+               return $e;\r
+       }\r
+\r
+       public static function getCharges()\r
+       {\r
+               $events = self::listeCharges();\r
+               $total = 0;\r
+               foreach($events as $event) {\r
+                       $total += floatval($event['montant']);\r
+               }\r
+               return $total;\r
+       }\r
+\r
+       public static function chargesDetails()\r
+       {\r
+               global $core;\r
+               $events = self::listeCharges();\r
+               $i = 0;\r
+               $total = 0;\r
+               $res = '';\r
+               foreach($events as $event) {\r
+                       $total += $event['montant'];\r
+                       $odd = cubeMath::isOdd($i)?' class="odd"':'';\r
+                       $res .= '<tr' . $odd . '><td>' . $event['title'] . '</td><td>' . $event['date'] . '</td><td>' . self::format($event['montant']) . '</td></tr>';\r
+                       $i++;\r
+               }\r
+               $odd = cubeMath::isOdd($i)?' class="odd"':'';\r
+               $res .= '<tr' . $odd . '><td><strong>' . __('Total') . '</strong></td><td><strong>' . date('Y') . '</strong></td><td><strong>' . self::format($total) . '</strong></td></tr>';\r
+               return $res;\r
+       }\r
+\r
+       public static function listeChiffres()\r
+       {\r
+               global $core;\r
+               extranetDroits::min(2);\r
+               $res = self::chiffresAnnee();\r
+               $res .= self::caGlobal($chiffres, $total);\r
+               $res .= self::caCategorie($chiffres, $total);\r
+               $res .= self::caWorkRate($chiffres, $total);\r
+               return $res;\r
+       }\r
+\r
+       public static function chiffresAnnee()\r
+       {\r
+               global $core;\r
+               // $charges_payees = self::getCharges();\r
+               $r = $core->con->select('SELECT SUM(montant_facture) AS total_factures FROM projets_vue');\r
+               $total_factures = $r->total_factures;\r
+               // Somme de tous les projets\r
+               $r = $core->con->select('SELECT SUM(budget) AS budget FROM projets_vue');\r
+               $total_projets = $r->budget;\r
+               // Total\r
+               $r = $core->con->select('SELECT ca FROM ca WHERE annee=' . date('Y'));\r
+               $ca = $r->ca;\r
+               // Impayes 90 jours\r
+               $jours30 = TIME - (3600 * 24 * 30);\r
+               $r = $core->con->select('SELECT SUM(total_ht) AS impayes FROM factures WHERE status=1 AND date_creation<' . $jours30);\r
+               $impayes30 = $r->impayes;\r
+               // Impayes 180 jours\r
+               $jours90 = TIME - (3600 * 24 * 90);\r
+               $r = $core->con->select('SELECT SUM(total_ht) AS impayes FROM factures WHERE status=1 AND date_creation<' . $jours90);\r
+               $impayes90 = $r->impayes;\r
+               // Impayes\r
+               $r = $core->con->select('SELECT SUM(total_ht) AS impayes FROM factures WHERE status=1');\r
+               $impayes = $r->impayes;\r
+\r
+               $en_cours = $total_projets - $total_factures;\r
+\r
+               $res = extranetPage::bh();\r
+               $res .= '<table class="liste">';\r
+               $res .= '<tr><th colspan="2"><strong>' . sprintf(__("Détails de l'année %s"), date('Y')) . '</strong></th><th colspan="2"><strong>' . __("Impayés") . '</strong></th></tr>';\r
+               $res .= '<tr class="odd"><td>' . __('Projets en cours') . ' : </td><td>' . self::format($en_cours) . '</td><td>' . __('Total des impayés') . ' : </td><td>' . self::format($impayes) . '</td></tr>';\r
+               $res .= '<tr><td>' . __("Chiffre d'affaire") . ' : </td><td>' . self::format($ca) . '</td><td>' . __("Impayés de plus de 30 jours") . ' : </td><td>' . self::format($impayes30) . '</td></tr>';\r
+               $res .= '<tr class="odd"><td>' . __("Prévision de chiffre d'affaire") . ' : </td><td>' . self::format($ca + $en_cours) . '</td><td>' . __("Impayés de plus de 90 jours") . ' : </td><td>' . self::format($impayes90) . '</td></tr>';\r
+               // $res .= '<tr class="odd"><td>' . __('Total des charges') . ' ( <a href="#" class="popup" rel="chargesDetails">' . __('Voir le détail') . '</a> ) : </td><td>' . self::format($charges_payees) . '</td></tr>';\r
+               // $res .= '<tr><td>' . __('Projets payés - Charges') . ' : </td><td>' . self::format($r->paye - $charges_payees) . '</td></tr>';\r
+               $res .= '</table>';\r
+               $res .= extranetPage::bf();\r
+               return $res;\r
+       }\r
+\r
+       public static function caGlobal(&$chiffres, &$total)\r
+       {\r
+               global $core;\r
+               // Chiffres globaux\r
+               $r = $core->con->select('SELECT * FROM ca ORDER BY annee ASC');\r
+               $chiffres = array();\r
+               while ($r->fetch()) {\r
+                       $chiffres[$r->annee] = $r->ca;\r
+               }\r
+               $res = extranetPage::bh();\r
+               $res .= '<table class="liste">';\r
+               $res .= '<tr><td colspan="' . (count($chiffres) + 2) . '">';\r
+               $res .= self::caChart($chiffres);\r
+               $res .= '</td></tr>';\r
+               $res .= '<tr><th><strong>' . __("Chiffre d'affaire annuel") . '</strong></th>';\r
+               foreach($chiffres as $annee => $ca) {\r
+                       $res .= '<th>' . $annee . '</th>';\r
+               }\r
+               $res .= '<th><em>' . __('Total') . '</em></th>';\r
+               $res .= '</tr>';\r
+\r
+               $res .= '<tr><td></td>';\r
+               $total = 0;\r
+               foreach($chiffres as $annee => $ca) {\r
+                       $res .= '<td>' . self::format($ca) . '</td>';\r
+                       $total += $ca;\r
+               }\r
+               $res .= '<td><em>' . self::format($total) . '</em></td>';\r
+               $res .= '</tr>';\r
+\r
+               $res .= '</table>';\r
+               $res .= extranetPage::bf();\r
+               return $res;\r
+       }\r
+\r
+       public static function caCategorie($chiffres, $total)\r
+       {\r
+               global $core;\r
+               // Chiffres par catégorie\r
+               $chiffresc = array();\r
+               $r = $core->con->select('SELECT * FROM chiffres_categories ORDER BY annee,categorie');\r
+               $annees = array();\r
+               while ($r->fetch()) {\r
+                       if ($r->ca > 0) {\r
+                               $annees[] = $r->annee;\r
+                               $chiffresc[$r->categorie][$r->annee] = $r->ca;\r
+                               $chiffresa[$r->annee][$r->categorie] = $r->ca;\r
+                       }\r
+               }\r
+               $annees = array_unique($annees);\r
+               $res = extranetPage::bh();\r
+               $res .= '<table class="liste">';\r
+\r
+               $res .= '<tr><td colspan="' . (count($annees) + 2) . '">';\r
+               $a = date('Y')-1;\r
+               $res .= self::caCategoriesChart($a, $chiffresa[$a], 'p3' , 440 , 150);\r
+               $a++;\r
+               $res .= self::caCategoriesChart($a, $chiffresa[$a], 'p3' , 500 , 200);\r
+               $res .= '</td></tr>';\r
+\r
+               $res .= '<tr><th><strong>' . __("Chiffre d'affaire par catégorie") . '</strong></th>';\r
+\r
+               foreach($annees as $annee) {\r
+                       $res .= '<th>' . $annee . '</th>';\r
+               }\r
+               $res .= '<th><em>' . __('Total') . '</em></th>';\r
+               $res .= '</tr>';\r
+               $i = 0;\r
+               foreach($chiffresc as $categorie => $tab) {\r
+                       $odd = (cubeMath::isOdd($i))?' class="odd"':'';\r
+                       $res .= '<tr' . $odd . '>';\r
+                       $res .= '<td>' . $core->categories[$categorie] . '</td>';\r
+\r
+                       foreach($annees as $annee) {\r
+                               if (isset($tab[$annee])) {\r
+                                       $ca = self::format($tab[$annee]);\r
+                                       $part = round(($tab[$annee] / $chiffres[$annee]) * 100) . '%';\r
+                                       $col = $ca . ' (' . $part . ')';\r
+                               } else {\r
+                                       $ca = '-';\r
+                                       $part = '-';\r
+                                       $col = '-';\r
+                               }\r
+                               $res .= '<td>' . $col . '</td>';\r
+                       }\r
+                       $total_cat = array_sum($tab);\r
+                       $res .= '<td><em>' . self::format($total_cat) . ' (' . round(($total_cat / $total) * 100) . ' %)</em></td>';\r
+                       $res .= '</tr>';\r
+                       $i++;\r
+               }\r
+               $res .= '</table>';\r
+               $res .= extranetPage::bf();\r
+               return $res;\r
+       }\r
+\r
+       public static function caCategoriesChart($a, $datas, $type, $width, $height, $max = 7)\r
+       {\r
+               global $core;\r
+               $title = sprintf(__('Répartition du CA pour %d'), $a);\r
+               $chart = new cubeGoogleCharts($type, $width, $height);\r
+               $chart->setTitle($title);\r
+               arsort($datas);\r
+               $total = array_sum($datas);\r
+               $i = 1;\r
+               $others = 0;\r
+               foreach($datas as $c => $ca) {\r
+                       if ($i <= $max) {\r
+                               $chart->addData($ca, null, $core->categories[$c]);\r
+                               $i++;\r
+                       } else {\r
+                               $others += $ca;\r
+                       }\r
+               }\r
+               if ($others > 0) {\r
+                       $chart->addData($others, null, __('Autres'));\r
+               }\r
+\r
+               return $chart->display($title);\r
+       }\r
+\r
+       public static function caChart($chiffres)\r
+       {\r
+               global $core;\r
+\r
+               $title = __("Evolution du chiffre d'affaire");\r
+               $chart = new cubeGoogleCharts('bvs', 940, 200);\r
+               $chart->setTitle($title);\r
+               foreach($chiffres as $annee => $ca) {\r
+               $chart->addData(round($ca/4000));\r
+               }\r
+               return $chart->display($title);\r
+       }\r
+\r
+       public static function caWorkRate($chiffres, $total)\r
+       {\r
+               global $core;\r
+               // Temps travaillé / Temps prévu\r
+               $chiffresc = array();\r
+               $r = $core->con->select('SELECT * FROM temps_categories ORDER BY annee,categorie');\r
+               $annees = array();\r
+               while ($r->fetch()) {\r
+                       if ($r->jours_prevus > 0 && $r->jours_consommes > 0) {\r
+                               $annees[] = $r->annee;\r
+                               $chiffresc[$r->categorie][$r->annee] = array('jours_prevus' => $r->jours_prevus, 'jours_consommes' => $r->jours_consommes);\r
+                       }\r
+               }\r
+               $annees = array_unique($annees);\r
+               sort($annees);\r
+\r
+               $res = extranetPage::bh();\r
+               $res .= '<table class="liste">';\r
+               $res .= '<tr><th><strong>' . __("Rapport Temps travaillé / Temps payé") . '</strong></th>';\r
+               foreach($annees as $annee) {\r
+                       $total_consomme_annee[$annee] = 0;\r
+                       $total_prevu_annee[$annee] = 0;\r
+                       $res .= '<th>' . $annee . '</th>';\r
+               }\r
+               $res .= '<th><em>' . __('Total') . '</em></th>';\r
+               $res .= '</tr>';\r
+               $i = 0;\r
+               foreach($chiffresc as $categorie => $tab) {\r
+                       $odd = (cubeMath::isOdd($i))?' class="odd"':'';\r
+                       $res .= '<tr' . $odd . '>';\r
+                       $res .= '<td>' . $core->categories[$categorie] . '</td>';\r
+\r
+                       $total_consomme = 0;\r
+                       $total_prevu = 0;\r
+                       foreach($annees as $annee) {\r
+                               if (isset($tab[$annee])) {\r
+                                       $tc = self::format($tab[$annee]['jours_consommes'], false);\r
+                                       $tp = self::format($tab[$annee]['jours_prevus'], false);\r
+                                       $part = round(($tab[$annee]['jours_consommes'] / $tab[$annee]['jours_prevus']) * 100) . '%';\r
+                                       $col = $tp . ' / ' . $tc . ' (' . $part . ')';\r
+                                       $total_consomme += $tab[$annee]['jours_consommes'];\r
+                                       $total_consomme_annee[$annee] += $tab[$annee]['jours_consommes'];\r
+                                       $total_prevu += $tab[$annee]['jours_prevus'];\r
+                                       $total_prevu_annee[$annee] += $tab[$annee]['jours_prevus'];\r
+                               } else {\r
+                                       $part = '-';\r
+                                       $col = '-';\r
+                               }\r
+                               $res .= '<td>' . $col . '</td>';\r
+                       }\r
+\r
+                       $res .= '<td><em>' . self::format($total_consomme, false) . ' / ' . self::format($total_prevu, false) . ' (' . round(($total_consomme / $total_prevu) * 100) . ' %)</em></td>';\r
+                       $res .= '</tr>';\r
+                       $i++;\r
+               }\r
+               $res .= '<tr><td><strong>' . __('Total') . '</strong></td>';\r
+               foreach($annees as $annee) {\r
+                       if (isset($total_prevu_annee[$annee]) && isset($total_consomme_annee[$annee])) {\r
+                               $c = $total_consomme_annee[$annee];\r
+                               $p = $total_prevu_annee[$annee];\r
+                               $res .= '<td><strong>' . self::format($c, false) . ' / ' . self::format($p, false) . ' (' . round(($c / $p) * 100) . ' %)</strong></td>';\r
+                       }\r
+               }\r
+               $c = array_sum($total_consomme_annee);\r
+               $p = array_sum($total_prevu_annee);\r
+               $res .= '<td><strong><em>' . self::format($c, false) . ' / ' . self::format($p, false) . ' (' . round(($c / $p) * 100) . ' %)</em></strong></td>';\r
+               $res .= '</tr>';\r
+               $res .= '</table>';\r
+               $res .= extranetPage::bf();\r
+               return $res;\r
+       }\r
+\r
+       public static function format($nb, $euro = true)\r
+       {\r
+               if ($euro) {\r
+                       $nb = $nb / 1000;\r
+               }\r
+               $nb = round($nb);\r
+               $res = number_format($nb, 0, '.', ' ');\r
+               if ($euro) {\r
+                       $res .= ' K€';\r
+               }\r
+               return $res;\r
+       }\r
+}\r
+\r
+?>
\ No newline at end of file
diff --git a/inc/extranet/Controlleur/class.extranet.page.php b/inc/extranet/Controlleur/class.extranet.page.php
new file mode 100644 (file)
index 0000000..00d7fa6
--- /dev/null
@@ -0,0 +1,195 @@
+<?php\r
+class extranetPage {\r
+       public static function header($args)\r
+       {\r
+               global $core;\r
+               // Entête HTML\r
+               $res = '<html>';\r
+               $res .= '<head>';\r
+               // Titre de la page\r
+               $res .= '<title>' . TITLE . '</title>';\r
+               // Favicon\r
+               $res .= cubePage::favicon(IMG . '/favicon.ico');\r
+               $res .= '</head>';\r
+               $res .= '<body>';\r
+               // Haut de la page\r
+               $res .= '<div id="header">';\r
+               $res .= '<div class="content">';\r
+               // Le logo avec le lien de retour Ã  l'accueil\r
+               $res .= '<div id="logo"><a href="' . SITE_PATH . '">' . cubeMedia::image(IMG . '/logo.png') . '</a></div>';\r
+               if ($core->user) {\r
+                       $search = self::search($args);\r
+\r
+                       $class = $search?' class="with-search"':'';\r
+                       // Le message personnalisé avec un lien pour se déconnecter\r
+                       $res .= '<div id="welcome"' . $class . '>' . __('Bienvenue') . ' ' . $core->user->prenom . ' ' . $core->user->nom . ' ';\r
+                       $res .= '| <a href="#" class="popup" rel="mesParametres">' . __('Mes paramètres') . '</a> ';\r
+                       $res .= '| <a href="' . SITE_PATH . 'logout">' . __('Se déconnecter') . '</a>';\r
+                       if ($search) {\r
+                               $res .= ' | ';\r
+                       }\r
+                       $res .= '</div>';\r
+                       $res .= $search;\r
+               }\r
+               // Barre d'onglets\r
+               $res .= self::nav($args);\r
+               $res .= '</div>';\r
+               $res .= '</div>';\r
+               return $res;\r
+       }\r
+\r
+       public static function search($args)\r
+       {\r
+               global $core;\r
+\r
+               if (!extranetDroits::recherche($args[0])) {\r
+                       return;\r
+               }\r
+               cubePage::emptyfield();\r
+               $settings = $core->user->getSettings($args[0]);\r
+               $action = 'search' . ucfirst($args[0]);\r
+\r
+               $default = isset($_POST['q'])?$_POST['q']:__('Rechercher');\r
+               // Formulaire de recherche\r
+               $res = '<form action="' . $action . '" method="post">';\r
+               $res .= '<div id="search">' . form::field('q', 20, 128, $default, 'empty_field') . '<a href="#" class="submit">' . cubeMedia::spacer(22, 22) . '</a></div>';\r
+               $res .= '</form>';\r
+               return $res;\r
+       }\r
+\r
+       public static function nav($args)\r
+       {\r
+               // Barre d'onglets\r
+               global $core;\r
+               // Liste des onglets\r
+               if (!$core->user) {\r
+                       // Si pas d'utilisateur authentifié\r
+                       $onglets = array(__('Identification') => 'login');\r
+               } else {\r
+                       // Navigation personalisée de l'utilisateur en fonction de ses droits\r
+                       if (MODE == 'extranet') {\r
+                               $onglets = extranetDroits::navigation();\r
+                       } elseif (MODE == 'ws') {\r
+                               $onglets = wsDroits::navigation();\r
+                       }\r
+               }\r
+               $res = '<div id="nav">';\r
+               foreach($onglets as $titre => $url) {\r
+                       // Si cet onglet correspond Ã  la page active, on le place actif\r
+                       $active = ($args[0] == $url)?' class="active"':'';\r
+                       $res .= '<a href="' . SITE_PATH . $url . '" style="background-image:url(' . $core->typo->Onglet(mb_strtoupper($titre), '', false) . ');"' . $active . '>' . $titre . '</a>';\r
+               }\r
+               $res .= '</div>';\r
+               return $res;\r
+       }\r
+\r
+       public static function barre($filtres = null, $action = null, $dashboard = null, $shortcuts = null)\r
+       {\r
+               if (is_null($shortcuts) && is_null($filtres)) {\r
+                       return '<div id="bar" class="vide"></div>';\r
+               }\r
+\r
+               $res = '<div id="bar">';\r
+               $res .= '<div class="content">';\r
+\r
+               if (!is_null($shortcuts)) {\r
+                       $res .= self::shortcuts($shortcuts);\r
+               }\r
+\r
+               if (!is_null($filtres) && is_array($filtres)) {\r
+                       $res .= '<form action="' . $action . '" method="post" class="submitonchange">';\r
+                       foreach($filtres as $filtre) {\r
+                               $res .= $filtre->display();\r
+                       }\r
+                       $res .= '<div class="efface_filtres"><a href="#" class="ajax" id="efface_filtres" rel="' . $action . '/efface">' . __('Effacer les filtres') . '</a><br /><a href="#" class="popup" rel="formDashboard/' . $dashboard . '">' . __('Ajouter Ã  mon tableau de bord') . '</a></div>';\r
+                       $res .= '</form>';\r
+               }\r
+               $res .= '</div>';\r
+               $res .= '</div>';\r
+               return $res;\r
+       }\r
+\r
+       public static function shortcuts($shortcuts)\r
+       {\r
+               global $core;\r
+\r
+               $res = '';\r
+               foreach($shortcuts as $s) {\r
+                       $res .= '<div class="shortcut">' . $s . '</div>';\r
+               }\r
+               return $res;\r
+       }\r
+\r
+       public static function tMain($id = null, $big = false)\r
+       {\r
+               $id = is_null($id)?'':' id="' . $id . '"';\r
+               $big = $big?' class="big"':'';\r
+               return '<div id="main"' . $big . '><div id="logo-main"></div><div class="content"' . $id . '>';\r
+       }\r
+\r
+       public static function bh($class = null)\r
+       {\r
+               $class = is_null($class)?' class="b"':' class="b ' . $class . '"';\r
+\r
+               $res = '<table' . $class . '>';\r
+               $res .= '<tr class="b-top">';\r
+               $res .= '<td class="b-nw"></td><td class="b-n"></td><td class="b-ne"></td>';\r
+               $res .= '</tr>';\r
+               $res .= '<tr class="b-center">';\r
+               $res .= '<td class="b-w"></td><td class="b-c c"><div>';\r
+               return $res;\r
+       }\r
+\r
+       public static function bf()\r
+       {\r
+               $res = '</div></td><td class="b-e"></td>';\r
+               $res .= '</tr>';\r
+               $res .= '<tr class="b-footer">';\r
+               $res .= '<td class="b-sw"></td><td class="b-s"></td><td class="b-se"></td>';\r
+               $res .= '</tr>';\r
+               $res .= '</table>';\r
+               return $res;\r
+       }\r
+\r
+       public static function pager($current, $nb, $par_page, $url)\r
+       {\r
+               $style = 'pgleft';\r
+               if ($par_page == 0 || $nb <= $par_page) {\r
+                       return;\r
+               }\r
+               $par_groupe = 10;\r
+               $pager = new cubePager($current, $nb, $par_page, $par_groupe);\r
+               $pager->html_link_sep = ' ';\r
+               $pager->html_prev = '&laquo;';\r
+               $pager->html_next = '&raquo;';\r
+\r
+               $pager->base_url = '#" rel="' . $url . '" class="ajax';\r
+\r
+               $links = $pager->getLinks();\r
+               if (trim($links) == '') {\r
+                       return '';\r
+               }\r
+\r
+               $res = '<div class="pager-holder ' . $style . '"><div class="pager ' . $style . '">';\r
+               $res .= $links;\r
+               $res .= '</div></div>';\r
+\r
+               return $res;\r
+       }\r
+\r
+       public static function bMain()\r
+       {\r
+               return '</div></div>';\r
+       }\r
+\r
+       public static function footer()\r
+       {\r
+               $res = '<div id="footer"></div>';\r
+               $res .= cubePage::googleAnalytics(GA);\r
+               $res .= '</body>';\r
+               $res .= '</html>';\r
+               return $res;\r
+       }\r
+}\r
+\r
+?>
\ No newline at end of file
diff --git a/inc/extranet/Controlleur/class.extranet.url.php b/inc/extranet/Controlleur/class.extranet.url.php
new file mode 100644 (file)
index 0000000..db55592
--- /dev/null
@@ -0,0 +1,2114 @@
+<?php\r
+class extranetUrl {\r
+       public static function home($args)\r
+       {\r
+               global $core;\r
+               $args = cubePage::getArgs($args);\r
+               // Si l'utilisateur n'est pas connecté, on affiche le formulaire\r
+               // de login\r
+               if (!is_null($core->user) && !$core->user) {\r
+                       $args = array('login');\r
+               } else {\r
+                       if (!count($args)) {\r
+                               // Page par défaut (premier onglet)\r
+                               if (MODE == 'extranet') {\r
+                                       $nav = extranetDroits::navigation();\r
+                               } elseif (MODE == 'ws') {\r
+                                       $nav = wsDroits::navigation();\r
+                               }\r
+                               foreach($nav as $titre => $url) {\r
+                                       $args = array($url);\r
+                                       break;\r
+                               }\r
+                       }\r
+               }\r
+\r
+               $f = $args[0];\r
+\r
+               echo extranetPage::header($args);\r
+               if (is_callable(array('extranetUrl', $f))) {\r
+                       echo call_user_func(array('extranetUrl', $f), $args);\r
+               } else if (is_callable(array('wsUrl', $f))) {\r
+                       echo call_user_func(array('wsUrl', $f), $args);\r
+               }\r
+               echo extranetPage::footer();\r
+       }\r
+\r
+       public static function login($args)\r
+       {\r
+               global $core;\r
+\r
+               if ($tentative = isset($_SESSION['tentative'])) {\r
+                       unset($_SESSION['tentative']);\r
+               }\r
+\r
+               $message = $tentative?'<p class="message">' . __('E-mail /  mot de passe incorrects') . '</p>':'';\r
+\r
+               $res = extranetPage::barre();\r
+               $res .= extranetPage::tMain();\r
+               $res .= extranetPage::bh();\r
+               $res .= '<div class="form">';\r
+               $res .= '<form action="" method="post" class="notajax">';\r
+               $res .= '<h1>' . $core->typo->Titre(__('Veuillez vous identifier')) . '</h1>';\r
+               $res .= $message;\r
+               $res .= '<table>';\r
+               $res .= '<tr><td>' . __('Votre e-mail ou login') . ' : </td><td>' . form::field('user_email', 20, 64, '') . '</td></tr>';\r
+               $res .= '<tr><td>' . __('Votre mot de passe') . ' : </td><td>' . form::password('user_password', 20, 64, '') . '</td></tr>';\r
+               $res .= '<tr><td colspan="2"><a href="#" class="popup" rel="motdepasseOublie">' . __('Mot de passe oublié ? Cliquez ici') . '</a></td></tr>';\r
+               $res .= '<tr><td colspan="2" class="right"><a href="#" class="submit">' . $core->typo->BoutonOK('Cliquez-ici pour vous identifier') . '</a></td></tr>';\r
+               $res .= '</table>';\r
+               $res .= '</form>';\r
+               $res .= '</div>';\r
+               $res .= extranetPage::bf();\r
+               $res .= extranetPage::bMain();\r
+               return $res;\r
+       }\r
+\r
+       public static function logout($args)\r
+       {\r
+               if (isset($_SESSION['user_email'])) {\r
+                       unset($_SESSION['user_email']);\r
+               }\r
+               if (isset($_SESSION['password_email'])) {\r
+                       unset($_SESSION['password_email']);\r
+               }\r
+               http::redirect(SITE_PATH);\r
+       }\r
+\r
+       public static function motdepasseOublie($args)\r
+       {\r
+               return '<tr><td>' . __('Entrez votre e-mail') . ' : </td><td>' . form::field('email', 30, 128) . '</td></tr>';\r
+       }\r
+\r
+       public static function mesParametres($args)\r
+       {\r
+               global $core;\r
+               $utilisateur = $core->user;\r
+\r
+               $res = '<tr><td>Mot de passe :</td><td><a href="#" class="popup" rel="changeMotdepasse">Changer mon mot de passe</a></td></tr>';\r
+               $res .= '<tr><td>Login :</td><td>' . form::field('login', 20, 64, $utilisateur->login) . '</td></tr>';\r
+               $res .= '<tr><td>Langue de l\'interface :</td><td>' . form::combo('lang', cubeLang::getAvailableLangs(true), $utilisateur->lang) . '</td></tr>';\r
+               $res .= '<tr><td colspan="2" class="right"><a href="#" class="submit">' . $core->typo->BoutonOK(__('Enregister')) . '</a></td></tr>';\r
+               if ($utilisateur instanceof extranetClient) {\r
+                       $res .= '<tr><td colspan="2"></td></tr>';\r
+                       $res .= '<tr><th colspan="2">' . __('Mes informations') . '</th></tr>';\r
+                       $res .= '<tr><td>' . __('Numéro de client') . ' : </td><td>' . $utilisateur->utilisateur_id . '</td></tr>';\r
+                       $res .= '<tr><td>' . __('Prénom') . ' : </td><td>' . $utilisateur->prenom . '</td></tr>';\r
+                       $res .= '<tr><td>' . __('Nom') . ' : </td><td>' . $utilisateur->nom . '</td></tr>';\r
+                       $res .= '<tr><td>' . __('Adresse e-mail') . ' : </td><td>' . $utilisateur->email . '</td></tr>';\r
+                       $res .= '<tr><td>' . __('Raison sociale') . ' : </td><td>' . $utilisateur->rs . '</td></tr>';\r
+                       $res .= '<tr><td>' . __('Adresse') . ' : </td><td>' . nl2br($utilisateur->adresse) . '<br />' . $utilisateur->code_postal . ' ' . $utilisateur->ville . '<br />' . cubeCountry::getCountry($utilisateur->pays) . '</td></tr>';\r
+                       $res .= '<tr><td>' . __('Numéro de téléphone') . ' : </td><td>' . $utilisateur->telephone . '</td></tr>';\r
+                       $res .= '<tr><td>' . __('Numéro de mobile') . ' : </td><td>' . $utilisateur->mobile . '</td></tr>';\r
+                       $res .= '<tr><td>' . __('Numéro de fax') . ' : </td><td>' . $utilisateur->fax . '</td></tr>';\r
+                       $res .= '<tr><td>' . __('Numéro de TVA intracommunautaire') . ' : </td><td>' . $utilisateur->tva_intra . '</td></tr>';\r
+                       $res .= '<tr><td colspan="2"><em>' . __('Si les informations ci-dessus sont incomplètes ou erronées, veuillez nous<br />en informer en nous Ã©crivant Ã  ') . '<a href="mailto:contact@cubedesigners.com">contact@cubedesigners.com</a></em></td></tr>';\r
+               }\r
+\r
+               return $res;\r
+       }\r
+\r
+       public static function changeMotdepasse()\r
+       {\r
+               $res .= '<tr><td colspan="2"><em>' . __('Votre mot de passe doit comprendre en 6 et 10 caractères') . '</em></td></tr>';\r
+               $res .= '<tr><td>' . __('Tapez votre mot de passe actuel') . ' : </td><td>' . form::password('actuel', 20, 10) . '</td></tr>';\r
+               $res .= '<tr><td>' . __('Tapez votre nouveau mot de passe') . ' : </td><td>' . form::password('nouveau', 20, 10) . '</td></tr>';\r
+               $res .= '<tr><td>' . __('Confirmez votre nouveau mot de passe') . ' : </td><td>' . form::password('confirmation', 20, 10) . '</td></tr>';\r
+               return $res;\r
+       }\r
+\r
+       public static function orderby($label, $field, $settings, $function)\r
+       {\r
+               $res = '<a href="#" class="ajax" rel="' . $function . '/' . $field . '">';\r
+               $res .= $label;\r
+               if ($settings['orderby'] == $field) {\r
+                       $puce = ($settings['sens'] == 'DESC')?'down':'up';\r
+                       $res .= ' ' . cubeMedia::image(IMG . '/' . $puce . '.png');\r
+               }\r
+               $res .= '</a>';\r
+               return $res;\r
+       }\r
+\r
+       public static function clients($args)\r
+       {\r
+               global $core;\r
+               cubePage::truePopup();\r
+               extranetDroits::min(1);\r
+               $settings = $core->user->getSettings('clients');\r
+\r
+               $shortcuts = array();\r
+               $shortcuts[] = '<a href="#" class="popup" rel="formClient/new">' . $core->typo->Ajouter('Créer un nouveau client') . '</a>';\r
+               $filtres = array();\r
+               $filtres[] = new extranetFiltre(__('Ayant un projet'), 'status_client_projet', $settings['filtres']);\r
+               $filtres[] = new extranetFiltre(__('Ayant des impayés'), 'impaye', $settings['filtres']);\r
+               $res = extranetPage::barre($filtres, 'filtreClients', 'clients', $shortcuts);\r
+               $res .= extranetPage::tMain();\r
+               $res .= extranetPage::bh();\r
+               $res .= '<div id="listeClients">';\r
+               $res .= self::listeClients();\r
+               $res .= '</div>';\r
+               $res .= extranetPage::bf();\r
+               $res .= extranetPage::bMain();\r
+               return $res;\r
+       }\r
+\r
+       public static function listeClients($dashboard = null, $settings = null)\r
+       {\r
+               global $core;\r
+               extranetDroits::min(1);\r
+               $settings = is_null($settings)?$core->user->getSettings('clients'):$settings;\r
+               $change = is_null($dashboard)?'Client':'Dashboard/' . $dashboard;\r
+               $dao = new extranetDAOEntreprise($core->con);\r
+               if (isset($settings['search']) && !is_null($settings['search'])) {\r
+                       $dao->setSearch($settings['search']);\r
+               }\r
+               $dao->setFiltres($settings['filtres']);\r
+               $liste = $dao->getListe($settings['orderby'], $settings['sens'], $settings['limit']);\r
+\r
+               $res = '<table class="liste">';\r
+               $res .= '<tr><th>' . self::orderby('#', 'entreprise_id', $settings, 'sort' . $change) . '</th>';\r
+               $res .= '<th>' . self::orderby(__('Raison sociale'), 'nom', $settings, 'sort' . $change) . '</th>';\r
+               $res .= '<th>' . __('Contacts') . '</th>';\r
+               $res .= '<th>' . __('Notes') . '</th>';\r
+               $res .= '<th>' . self::orderby('<abbr title="' . __("Chiffre d'affaire") . '">CA</abbr>', 'ca', $settings, 'sort' . $change) . '</th>';\r
+               $res .= '<th>' . self::orderby('Impayés', 'impaye', $settings, 'sort' . $change) . '</th>';\r
+               $res .= '<th class="min"></th><th class="min"></th></tr>';\r
+               $i = 0;\r
+               foreach($liste as $id => $client) {\r
+                       $odd = cubeMath::isOdd($i)?' class="odd"':'';\r
+                       $res .= '<tr' . $odd . '>';\r
+                       $res .= '<td>' . $client->entreprise_id . '</td>';\r
+                       $res .= '<td>' . $client->nom . '</td>';\r
+                       $contacts = array();\r
+                       foreach($client->contacts as $c) {\r
+                               $contacts[] = '<a href="#" class="popup" rel="formContact/' . $c->utilisateur_id . '">' . $c->prenom . ' ' . $c->nom . '</a>';\r
+                       }\r
+\r
+                       $res .= '<td id="contacts_' . $client->entreprise_id . '">' . implode(', ', $contacts) . '</td>';\r
+                       $res .= '<td class="action center"><a href="#" class="popup" rel="formNotes/' . $client->entreprise_id . '">' . cubeMedia::image(IMG . '/postit.png') . '</a></td>';\r
+                       $res .= '<td class="nowrap">';\r
+                       if ($client->ca) {\r
+                               $res .= '<a href="#" class="popup" rel="clientDetailCa/' . $client->entreprise_id . '" title="' . __("Voir le détail du chiffre d'affaire") . '">' . number_format($client->ca, 0, ',', ' ') . '</a>';\r
+                       }\r
+\r
+                       $res .= '</td>';\r
+                       if ($client->impaye) {\r
+                               $res .= '<td class="nowrap"><a href="#" class="popup" rel="clientDetailImpaye/' . $client->entreprise_id . '">' . number_format($client->impaye, 0, '.', ' ') . '</a></td>';\r
+                       } else {\r
+                               $res .= '<td></td>';\r
+                       }\r
+\r
+                       $res .= '<td class="action"><a href="#" class="popup" rel="formClient/' . $client->entreprise_id . '">' . cubeMedia::image(IMG . '/edit.png') . '</a></td>';\r
+                       if (is_null($client->ca)) {\r
+                               $res .= '<td class="action"><a href="#" class="ajax" rel="supprimeClient/' . $client->entreprise_id . '" title="' . __('Êtes vous certain de vouloir supprimer ce client ?') . '">' . cubeMedia::image(IMG . '/delete.png') . '</a></td>';\r
+                       } else {\r
+                               $res .= '<td></td>';\r
+                       }\r
+                       $res .= '</tr>';\r
+                       $i++;\r
+               }\r
+               if (!isset($settings['search']) || is_null($settings['search'])) {\r
+                       $odd = cubeMath::isOdd($i)?' class="odd"':'';\r
+                       $res .= '<tr' . $odd . '><td colspan="10">';\r
+                       $res .= extranetPage::pager($settings['page'], $dao->count() , $settings['par_page'], 'page' . $change . '/%d');\r
+                       $res .= self::formParPage('parPage' . $change, $settings['par_page'], __('clients'));\r
+                       $res .= '</td></tr>';\r
+               }\r
+               $res .= '</table>';\r
+               return $res;\r
+       }\r
+\r
+       public static function clientDetailCa($entreprise_id)\r
+       {\r
+               global $core;\r
+               $dao = new extranetDAOEntreprise($core->con);\r
+               $annees = $dao->getCaDetails($entreprise_id);\r
+               $res = '';\r
+               $i = 0;\r
+               foreach($annees as $annee => $ca) {\r
+                       $class = cubeMath::isOdd($i)?' class="odd"':'';\r
+                       $res .= '<tr' . $class . '><td><strong>' . $annee . '</strong></td><td>' . number_format($ca, 0, ',', ' ') . ' â‚¬</td></tr>';\r
+                       $i++;\r
+               }\r
+               return $res;\r
+       }\r
+\r
+       public static function clientDetailImpaye($entreprise_id)\r
+       {\r
+               global $core;\r
+               $dao = new extranetDAOFacture($core->con);\r
+               $daoClient = new extranetDAOEntreprise($core->con);\r
+               $factures = $dao->getImpayesOfClient($entreprise_id);\r
+               $client = $daoClient->selectById($entreprise_id);\r
+               $res = '';\r
+               $i = 0;\r
+               foreach($factures as $facture) {\r
+                       $class = cubeMath::isOdd($i)?' class="odd"':'';\r
+                       $res .= '<tr' . $class . '>';\r
+                       $res .= '<td>' . $facture->facture_id . '</td>';\r
+                       $res .= '<td>';\r
+                       if ($facture->facture_id > 0) {\r
+                               $res .= '<a href="' . SITE_PATH . 'voirfacture/' . $facture->facture_id . '" class="popupA4">' . $facture->nom . '</a>';\r
+                       } else {\r
+                               $res .= $facture->nom ;\r
+                       }\r
+                       $res .= '</td>';\r
+                       $tva = cubeTaxes::tva($client->pays);\r
+                       $res .= '<td>' . number_format($facture->total_ht, 0, ',', '') . ' â‚¬';\r
+                       if ($tva > 0 && $tva != 'UE') {\r
+                               $res .= ' HT </td><td> ' . number_format(cubePrices::HTtoTTC($facture->total_ht, $tva), 2, ',', '') . ' â‚¬ TTC';\r
+                       } else {\r
+                               $res .= '<td></td>';\r
+                       }\r
+                       $res .= '</td></tr>';\r
+                       $i++;\r
+               }\r
+               return $res;\r
+       }\r
+\r
+       public static function formClient($entreprise_id = 'new')\r
+       {\r
+               global $core;\r
+               extranetDroits::min(1);\r
+\r
+               $dao = new extranetDAOEntreprise($core->con);\r
+               if ($entreprise_id == 'new') {\r
+                       $client = $dao->cree();\r
+               } else {\r
+                       $client = $dao->selectById($entreprise_id);\r
+               }\r
+\r
+               $res = '<tr><td>' . __('Numéro de client') . '</td><td>' . form::hidden('entreprise_id', $client->entreprise_id) . '' . $client->entreprise_id . '</td></tr>';\r
+               $res .= '<tr><td>' . __('Raison sociale') . '</td><td>' . form::field('nom', 30, 128, $client->nom) . '</td></tr>';\r
+               $res .= '<tr><td>' . __('Adresse') . '</td><td>' . form::textarea('adresse', 40, 3, $client->adresse) . '</td></tr>';\r
+               $res .= '<tr><td>' . __('Code postal') . '</td><td>' . form::field('code_postal', 10, 20, $client->code_postal) . '</td></tr>';\r
+               $res .= '<tr><td>' . __('Ville') . '</td><td>' . form::field('ville', 30, 128, $client->ville) . '</td></tr>';\r
+               $res .= '<tr><td>' . __('Pays') . '</td><td>' . form::combo('pays', cubeCountry::getList(), $client->pays) . '</td></tr>';\r
+               $res .= '<tr><td>' . __('Numéro de TVA intracommunautaire') . '</td><td>' . form::field('tva_intra', 15, 13, $client->tva_intra) . '</td></tr>';\r
+               if ($entreprise_id == 'new') {\r
+                       $daoContact = new extranetDAOClient($core->con);\r
+                       $contact = $daoContact->cree();\r
+                       $res .= '<tr><th colspan="2" class="light"><strong>' . __('Contact') . '</strong></th></tr>';\r
+                       $res .= '<tr><td>' . __('Adresse e-mail') . '</td><td>' . form::field(array('contact[email]'), 30, 128, $contact->email) . '</td></tr>';\r
+                       $res .= '<tr><td>' . __('Mot de passe') . '</td><td>' . form::field(array('contact[password]'), 30, 128, $contact->password) . '</td></tr>';\r
+                       $res .= '<tr><td>' . __('Prénom') . '</td><td>' . form::field(array('contact[prenom]'), 30, 128, $contact->prenom) . '</td></tr>';\r
+                       $res .= '<tr><td>' . __('Nom') . '</td><td>' . form::field(array('contact[nom]'), 30, 128, $contact->nom) . '</td></tr>';\r
+                       $res .= '<tr><td>' . __('Téléphone') . '</td><td>' . form::field(array('contact[telephone]'), 20, 128, $contact->telephone) . '</td></tr>';\r
+                       $res .= '<tr><td>' . __('Mobile') . '</td><td>' . form::field(array('contact[mobile]'), 20, 128, $contact->mobile) . '</td></tr>';\r
+                       $res .= '<tr><td>' . __('Fax') . '</td><td>' . form::field(array('contact[fax]'), 20, 128, $contact->fax) . '</td></tr>';\r
+                       $res .= '<tr><td>' . __('Langue') . '</td><td>' . form::combo(array('contact[lang]'), cubeLang::getAvailableLangs(true), $contact->lang) . '</td></tr>';\r
+               }\r
+               return $res;\r
+       }\r
+\r
+       public static function listeContacts($entreprise_id)\r
+       {\r
+               global $core;\r
+               extranetDroits::min(1);\r
+               $dao = new extranetDAOEntreprise($core->con);\r
+               $contacts = $dao->getContacts($entreprise_id);\r
+\r
+               $res = '<table class="liste light">';\r
+               $res .= '<tr class="light"><th colspan="4"><a href="" class="popup" rel="formContact/new/' . $entreprise_id . '">' . $core->typo->Contact('Ajouter un contact') . '</a></th></tr>';\r
+               $i = 0;\r
+               foreach($contacts as $contact) {\r
+                       $odd = cubeMath::isOdd($i)?' class="odd"':'';\r
+                       $res .= '<tr' . $odd . '><td>' . trim($contact->prenom . ' ' . $contact->nom) . '</td>';\r
+                       $res .= '<td><a href="mailto:' . trim($contact->prenom . ' ' . $contact->nom) . '<' . $contact->email . '>">' . $contact->email . '</a></td>';\r
+                       $res .= '<td class="min"><a href="' . SITE_PATH . 'fichiers/' . $contact->utilisateur_id . '">FTP</a></td>';\r
+                       $res .= '<td class="right"><a href="#" rel="formContact/' . $contact->utilisateur_id . '" class="popup">' . cubeMedia::image(IMG . '/edit.png') . '</a></td></tr>';\r
+                       $i++;\r
+               }\r
+               $res .= '</table>';\r
+               return $res;\r
+       }\r
+\r
+       public static function formContact($client_id = 'new', $entreprise_id = null)\r
+       {\r
+               global $core;\r
+               extranetDroits::min(1);\r
+\r
+               $dao = new extranetDAOClient($core->con);\r
+               if ($client_id == 'new') {\r
+                       $client = $dao->creeFromEntreprise($entreprise_id);\r
+               } else {\r
+                       $client = $dao->selectById($client_id);\r
+               }\r
+\r
+               $res = '<tr><td>' . __('Numéro de client') . '</td><td>' . form::hidden('grade', 0) . form::hidden('entreprise', $client->entreprise) . form::hidden('utilisateur_id', $client->utilisateur_id) . '' . $client->utilisateur_id . '</td></tr>';\r
+               $res .= '<tr><td>' . __('Adresse e-mail') . '</td><td>' . form::field('email', 30, 128, $client->email) . '</td></tr>';\r
+               $res .= '<tr><td>' . __('Mot de passe') . '</td><td>' . form::field('password', 30, 128, $client->password) . '</td></tr>';\r
+               $res .= '<tr><td>' . __('Prénom du contact') . '</td><td>' . form::field('prenom', 30, 128, $client->prenom) . '</td></tr>';\r
+               $res .= '<tr><td>' . __('Nom du contact') . '</td><td>' . form::field('nom', 30, 128, $client->nom) . '</td></tr>';\r
+               $res .= '<tr><td>' . __('Adresse') . '</td><td>' . form::textarea('adresse', 40, 3, $client->adresse) . '</td></tr>';\r
+               $res .= '<tr><td>' . __('Code postal') . '</td><td>' . form::field('code_postal', 10, 20, $client->code_postal) . '</td></tr>';\r
+               $res .= '<tr><td>' . __('Ville') . '</td><td>' . form::field('ville', 30, 128, $client->ville) . '</td></tr>';\r
+               $res .= '<tr><td>' . __('Pays') . '</td><td>' . form::combo('pays', cubeCountry::getList(), $client->pays) . '</td></tr>';\r
+               $res .= '<tr><td>' . __('Téléphone') . '</td><td>' . form::field('telephone', 20, 128, $client->telephone) . '</td></tr>';\r
+               $res .= '<tr><td>' . __('Mobile') . '</td><td>' . form::field('mobile', 20, 128, $client->mobile) . '</td></tr>';\r
+               $res .= '<tr><td>' . __('Fax') . '</td><td>' . form::field('fax', 20, 128, $client->fax) . '</td></tr>';\r
+               $res .= '<tr><td>' . __('Langue') . '</td><td>' . form::combo('lang', cubeLang::getAvailableLangs(true), $client->lang) . '</td></tr>';\r
+               if ($client_id != 'new') {\r
+                       $res .= '<tr><td colspan="2">' . cubeMedia::spacer(10, 10) . '</td></tr>';\r
+                       $res .= '<tr><td></td><td><a href="' . SITE_PATH . 'fichiers/' . $client->utilisateur_id . '">' . __('FTP') . '</a></td></tr>';\r
+                       $res .= '<tr><td>' . __("Paramètres de connexion Ã  l'extranet") . '</td><td>' . __('Adresse') . ' : http://extranet.cubedesigners.com/<br />' . __("Nom d'utilisateur") . ' : ' . $client->email . '<br />' . __('Mot de passe') . ' : ' . $client->password . '</td></tr>';\r
+                       $res .= '<tr><td colspan="2">' . cubeMedia::spacer(10, 10) . '</td></tr>';\r
+                       // $res .= '<tr><td>' . __("Paramètres de connexion au FTP") . '</td><td>' . __('Serveur FTP') . ' : extranet.cubedesigners.com (ftp://extranet.cubedesigners.com)<br />' . __("Nom d'utilisateur") . ' : ' . $client->email . '<br />' . __('Mot de passe') . ' : ' . $client->password . '</td></tr>';\r
+               }\r
+               return $res;\r
+       }\r
+\r
+       public static function formNotes($utilisateur_id)\r
+       {\r
+               global $core;\r
+               extranetDroits::min(1);\r
+               $dao = new extranetDAOUtilisateur($core->con);\r
+               $utilisateur = $dao->selectById($utilisateur_id);\r
+               $res = '<tr><td colspan="2">' . form::hidden('utilisateur_id', $utilisateur_id) . '</td></tr>';\r
+               $res .= '<tr><td colspan="2">' . form::textarea('notes', 100, 30, $utilisateur->notes) . '</td></tr>';\r
+               $res .= '<tr><td colspan="2"></td></tr>';\r
+               return $res;\r
+       }\r
+\r
+       public static function projets($args)\r
+       {\r
+               global $core;\r
+               extranetDroits::min(1);\r
+\r
+               $settings = $core->user->getSettings('projets');\r
+\r
+               $shortcuts = array();\r
+               $shortcuts[] = '<a href="#" class="popup" rel="formProjet/new">' . $core->typo->Ajouter('Créer un projet') . '</a>';\r
+\r
+               $filtres = array();\r
+               $filtres[] = new extranetFiltre(__('Crée par'), 'equipier', $settings['filtres']);\r
+               $filtres[] = new extranetFiltre(__('Status'), 'status_projet', $settings['filtres']);\r
+               $filtres[] = new extranetFiltre(__('Année'), 'annee', $settings['filtres']);\r
+\r
+               $res = extranetPage::barre($filtres, 'filtreProjet', 'projets', $shortcuts);\r
+               $res .= extranetPage::tMain();\r
+               $res .= extranetPage::bh();\r
+               $res .= '<div id="listeProjets">';\r
+               $res .= self::listeProjets();\r
+               $res .= '</div>';\r
+               $res .= extranetPage::bf();\r
+               $res .= extranetPage::bMain();\r
+               return $res;\r
+       }\r
+\r
+       public static function listeProjets($dashboard = null, $settings = null)\r
+       {\r
+               global $core;\r
+               extranetDroits::min(1);\r
+               $settings = is_null($settings)?$core->user->getSettings('projets'):$settings;\r
+               $change = is_null($dashboard)?'Projet':'Dashboard/' . $dashboard;\r
+\r
+               $res = '<table class="liste">';\r
+               $res .= '<tr><th>' . self::orderby('#', 'projet_id', $settings, 'sort' . $change) . '</th>';\r
+               $res .= '<th>' . self::orderby(__('Projet'), 'nom', $settings, 'sort' . $change) . '</th>';\r
+               $res .= '<th>' . self::orderby(__('Client'), 'client', $settings, 'sort' . $change) . '</th>';\r
+               $res .= '<th>' . self::orderby(__('Année'), 'annee_fin', $settings, 'sort' . $change) . '</th>';\r
+               $res .= '<th>' . self::orderby(__('Chef'), 'chef', $settings, 'sort' . $change) . '</th>';\r
+               $res .= '<th>' . self::orderby(__('Status'), 'status', $settings, 'sort' . $change) . '</th>';\r
+               $res .= '<th>' . self::orderby(__('Facturé'), 'rapport_facturation', $settings, 'sort' . $change) . '</th>';\r
+               $res .= '<th>' . self::orderby(__('Payé'), 'rapport_paiement', $settings, 'sort' . $change) . '</th>';\r
+               $res .= '<th>' . self::orderby('<abbr title="' . __('Budget') . '">B</abbr>', 'budget', $settings, 'sort' . $change) . '</th>';\r
+               $res .= '<th>' . self::orderby('<abbr title="' . __('Progression') . '">Pr</abbr>', 'progression', $settings, 'sort' . $change) . '</th>';\r
+               $res .= '<th class="min"></th></tr>';\r
+\r
+               $dao = new extranetDAOProjet($core->con);\r
+               $dao->setFiltres($settings['filtres']);\r
+               if (isset($settings['search']) && !is_null($settings['search'])) {\r
+                       $dao->setSearch($settings['search']);\r
+               }\r
+               $liste = $dao->getListe($settings['orderby'], $settings['sens'], $settings['limit']);\r
+\r
+               $i = 0;\r
+               foreach($liste as $projet) {\r
+                       $droits = extranetDroits::projet($projet, false);\r
+\r
+                       $projet->progression = !$projet->progression?'-':$projet->progression . '%';\r
+                       $projet->jours_prevus = !$projet->jours_prevus?'-':$projet->jours_prevus;\r
+                       $projet->jours_consommes = !$projet->jours_consommes?'-':$projet->jours_consommes;\r
+\r
+                       $projet->budget = !$projet->budget || !$droits?'-':$projet->budget;\r
+                       $odd = cubeMath::isOdd($i)?' class="odd"':'';\r
+                       $res .= '<tr' . $odd . '>';\r
+                       $res .= '<td>' . $projet->projet_id . '</td>';\r
+                       $res .= '<td>' . $projet->nom . '</td>';\r
+                       $res .= '<td>' . $projet->client . '</td>';\r
+                       $res .= '<td>' . $projet->annee_fin . '</td>';\r
+                       $res .= '<td>' . $projet->chef . '</td>';\r
+                       if ($droits) {\r
+                               $res .= '<td><a href="#" class="ajax" rel="changeProjetsStatus/' . $projet->projet_id . '" title="' . __('Modifier le status du projet') . '">' . $core->projets_status[$projet->status] . '</a></td>';\r
+                       } else {\r
+                               $res .= '<td>' . $core->projets_status[$projet->status] . '</td>';\r
+                       }\r
+\r
+                       $rf = $projet->rapport_facturation;\r
+                       if ($projet->budget == '-') {\r
+                               $rapport_facturation = '-';\r
+                       } elseif (!$rf) {\r
+                               $rapport_facturation = __('Non');\r
+                       } elseif ($rf == 1) {\r
+                               $rapport_facturation = __('Oui');\r
+                       } elseif ($rf < 1) {\r
+                               $rapport_facturation = __('Partie');\r
+                       } elseif ($rf > 1) {\r
+                               $rapport_facturation = __('Trop');\r
+                       }\r
+\r
+                       $rp = $projet->rapport_paiement;\r
+                       if ($projet->budget == '-') {\r
+                               $rapport_paiement = '-';\r
+                       } elseif (!$rp) {\r
+                               $rapport_paiement = __('Non') ;\r
+                       } elseif ($rp == 1) {\r
+                               $rapport_paiement = __('Oui');\r
+                       } elseif ($rp < 1) {\r
+                               $rapport_paiement = __('Partie');\r
+                       } elseif ($rp > 1) {\r
+                               $rapport_paiement = __('Trop');\r
+                       }\r
+\r
+                       $res .= '<td>';\r
+                       if ($projet->status == 1 && !$rf) {\r
+                               $res .= '<a href="' . SITE_PATH . 'editefacture/new/' . $projet->projet_id . '" title="' . __('Créer la facture pour ce projet') . '">' . $rapport_facturation . '</a>';\r
+                       } else {\r
+                               $res .= $rapport_facturation;\r
+                       }\r
+                       $res .= '</td>';\r
+                       $res .= '<td>' . $rapport_paiement . '</td>';\r
+\r
+                       $res .= '<td>' . $projet->budget . '</td>';\r
+                       // $res .= '<td>' . $projet->jours_prevus . '</td>';\r
+                       // $res .= '<td>' . $projet->jours_consommes . '</td>';\r
+                       $res .= '<td>' . $projet->progression . '</td>';\r
+                       $res .= '<td><a href="' . SITE_PATH . 'projet/' . $projet->projet_id . '">' . cubeMedia::image(IMG . '/view.png') . '</a></td>';\r
+\r
+                       $res .= '</tr>';\r
+                       $i++;\r
+               }\r
+               if (!isset($settings['search']) || is_null($settings['search'])) {\r
+                       $odd = cubeMath::isOdd($i)?' class="odd"':'';\r
+                       $res .= '<tr' . $odd . '><td colspan="11">';\r
+                       $res .= extranetPage::pager($settings['page'], $dao->count() , $settings['par_page'], 'page' . $change . '/%d');\r
+                       $res .= self::formParPage('parPage' . $change, $settings['par_page'], __('projets'));\r
+                       $res .= '</td></tr>';\r
+               }\r
+               $res .= '</table>';\r
+               return $res;\r
+       }\r
+\r
+       public static function projet($args)\r
+       {\r
+               global $core;\r
+               extranetDroits::min(1);\r
+\r
+               $shortcuts = array();\r
+               $shortcuts[] = '<a href="#" class="popup" rel="formTacheNormale/new/' . $args[1] . '">' . $core->typo->Ajouter('Créer une tâche') . '</a>';\r
+               $shortcuts[] = '<a href="#" class="popup" rel="formTacheSousTraitee/new/' . $args[1] . '">' . $core->typo->Ajouter('Créer une tâche sous-traitée') . '</a>';\r
+\r
+               $res = extranetPage::barre(null, null, null, $shortcuts);\r
+               $res .= extranetPage::tMain();\r
+               $res .= extranetPage::bh();\r
+               $res .= '<div id="listeProjet">';\r
+               $res .= self::listeProjet($args[1]);\r
+               $res .= '</div>';\r
+               $res .= extranetPage::bf();\r
+               $res .= extranetPage::bMain();\r
+               return $res;\r
+       }\r
+\r
+       public static function listeProjet($projet_id)\r
+       {\r
+               global $core;\r
+               extranetDroits::min(1);\r
+\r
+               $res = '<table class="liste">';\r
+               $res .= '<tr><th>#</th>';\r
+               $res .= '<th><strong>' . __('Projet') . '</strong> / ' . __('Tâche') . '</th>';\r
+               $res .= '<th><strong>' . __('Client') . '</strong> / ' . __('Catégorie') . '</th>';\r
+               $res .= '<th>' . __('Année') . '</th>';\r
+               $res .= '<th>' . __('Chef de projet') . '</th>';\r
+               $res .= '<th>' . __('Status') . '</th>';\r
+               $res .= '<th><abbr title="' . __('Budget') . '">B</abbr></th>';\r
+               $res .= '<th><abbr title="' . __('Jours prévus') . '">Pl</abbr></th>';\r
+               $res .= '<th><abbr title="' . __('Jours consommés') . '">Co</abbr></th>';\r
+               $res .= '<th><abbr title="' . __('Progression') . '">Pr</abbr></th>';\r
+               $res .= '<th class="min"></th><th class="min"></th></tr>';\r
+\r
+               $dao = new extranetDAOProjet($core->con);\r
+               $projet = $dao->selectById($projet_id);\r
+\r
+               $droits = extranetDroits::projet($projet, false);\r
+\r
+               $projet->progression = !$projet->progression?'-':$projet->progression . '%';\r
+               $projet->jours_prevus = !$projet->jours_prevus?'-':$projet->jours_prevus;\r
+               $projet->jours_consommes = !$projet->jours_consommes?'-':$projet->jours_consommes;\r
+\r
+               $projet->budget = !$projet->budget || !$droits?'-':$projet->budget;\r
+\r
+               $res .= '<tr class="bold">';\r
+               $res .= '<td>' . $projet->projet_id . '</td>';\r
+               $res .= '<td>' . $projet->nom . '</td>';\r
+               $res .= '<td>' . $projet->client . '</td>';\r
+               $res .= '<td>' . $projet->annee_fin . '</td>';\r
+               $res .= '<td>' . $projet->chef . '</td>';\r
+               if ($droits) {\r
+                       $res .= '<td><a href="#" class="ajax" rel="changeProjetStatus/' . $projet->projet_id . '" title="' . __('Modifier le status du projet') . '">' . $core->projets_status[$projet->status] . '</a></td>';\r
+               } else {\r
+                       $res .= '<td>' . $core->projets_status[$projet->status] . '</td>';\r
+               }\r
+               $res .= '<td>' . $projet->budget . '</td>';\r
+               $res .= '<td>' . $projet->jours_prevus . '</td>';\r
+               $res .= '<td>' . $projet->jours_consommes . '</td>';\r
+               $res .= '<td>' . $projet->progression . '</td>';\r
+               if ($droits) {\r
+                       $res .= '<td class="action"><a href="#" class="popup" rel="formProjet/' . $projet->projet_id . '">' . cubeMedia::image(IMG . '/edit.png') . '</a></td>';\r
+                       if (!count($projet->taches)) {\r
+                               $res .= '<td class="action"><a href="#" class="ajax" rel="supprimeProjet/' . $projet->projet_id . '" title="' . __('Êtes vous certain de vouloir supprimer ce projet ?') . '">' . cubeMedia::image(IMG . '/delete.png') . '</a></td>';\r
+                       } else {\r
+                               $res .= '<td></td>';\r
+                       }\r
+               } else {\r
+                       $res .= '<td></td><td></td>';\r
+               }\r
+               $res .= '</tr>';\r
+               $i = 1;\r
+               foreach($projet->taches as $tache) {\r
+                       $tache->budget = !$tache->budget || !$droits?'-':$tache->budget;\r
+                       $odd = cubeMath::isOdd($i)?' class="odd"':'';\r
+                       $res .= '<tr' . $odd . '>';\r
+                       $res .= '<td>T' . $i . '</td>';\r
+                       $res .= '<td>' . $tache->nom . '</td>';\r
+                       $res .= '<td>' . $core->categories[$tache->categorie] . '</td>';\r
+                       $res .= '<td></td>';\r
+                       $res .= '<td></td>';\r
+                       $res .= '<td></td>';\r
+                       $res .= '<td>' . $tache->budget . '</td>';\r
+\r
+                       if ($tache instanceof extranetTacheNormale) {\r
+                               $progression = !$tache->progression?'-':$tache->progression . '%';\r
+                               $jours_prevus = !$tache->jours_prevus?'-':$tache->jours_prevus;\r
+                               $jours_consommes = !$tache->jours_consommes?'-':$tache->jours_consommes;\r
+                               $res .= '<td>' . $jours_prevus . '</td>';\r
+                               $res .= '<td>' . $jours_consommes . '</td>';\r
+                               $res .= '<td>' . $progression . '</td>';\r
+                               if ($droits) {\r
+                                       $res .= '<td class="action"><a href="#" class="popup" rel="formTacheNormale/' . $tache->tache_id . '">' . cubeMedia::image(IMG . '/edit.png') . '</a></td>';\r
+                               } else {\r
+                                       $res .= '<td></td>';\r
+                               }\r
+                       } else {\r
+                               $res .= '<td colspan="3">' . __('Tâche sous-traitée') . '</td>';\r
+                               if ($droits) {\r
+                                       $res .= '<td class="action"><a href="#" class="popup" rel="formTacheSousTraitee/' . $tache->tache_id . '">' . cubeMedia::image(IMG . '/edit.png') . '</a></td>';\r
+                               } else {\r
+                                       $res .= '<td></td>';\r
+                               }\r
+                       }\r
+\r
+                       $res .= '<td class="action"><a href="#" class="ajax" rel="supprimeTache/' . $tache->tache_id . '" title="' . __('Supprimer cette tâche va Ã©galement supprimer les timereports associés. ÃŠtes vous certain de vouloir supprimer cette tâche ?') . '">' . cubeMedia::image(IMG . '/delete.png') . '</a></td>';\r
+\r
+                       $res .= '</tr>';\r
+                       $i++;\r
+               }\r
+               $res .= '</table>';\r
+               return $res;\r
+       }\r
+\r
+       public static function formProjet($projet_id = 'new')\r
+       {\r
+               global $core;\r
+               extranetDroits::min(1);\r
+\r
+               $dao = new extranetDAOProjet($core->con);\r
+               if ($projet_id == 'new') {\r
+                       $projet = $dao->cree($core->user->utilisateur_id);\r
+               } else {\r
+                       $projet = $dao->selectById($projet_id);\r
+               }\r
+\r
+               $daoClient = new extranetDAOClient($core->con);\r
+               $clients = $daoClient->getListe();\r
+\r
+               $listeClients = array();\r
+               foreach($clients as $client) {\r
+                       $listeClients[$client->rs . ' (' . $client->prenom . ' ' . $client->nom . ')'] = $client->utilisateur_id;\r
+               }\r
+               ksort($listeClients);\r
+\r
+               $daoEquipier = new extranetDAOEquipier($core->con);\r
+               $equipiers = $daoEquipier->getListe();\r
+\r
+               $listeEquipiers = array();\r
+               foreach($equipiers as $equipier) {\r
+                       $listeEquipiers[$equipier->prenom . ' ' . $equipier->nom . ' (' . $equipier->agence . ')'] = $equipier->utilisateur_id;\r
+               }\r
+\r
+               $daoDevis = new extranetDAODevis($core->con);\r
+               $devis = $daoDevis->getListeValidesLibres($projet_id);\r
+               $listeDevis = array('--' => 0);\r
+               foreach($devis as $id => $dev) {\r
+                       $listeDevis[$dev->nom] = $dev->devis_id;\r
+               }\r
+\r
+               $res = '<tr><td>' . __('Numéro de projet') . '</td><td>' . form::hidden('projet_id', $projet->projet_id) . '' . $projet->projet_id . '</td></tr>';\r
+               $res .= '<tr><td>' . __('Nom du projet') . '</td><td>' . form::textarea('nom', 50, 3, html::escapeHTML($projet->nom)) . '</td></tr>';\r
+               $res .= '<tr><td>' . __('Chef de projet') . '</td><td>';\r
+               if ($core->user->grade > 1) {\r
+                       $res .= form::combo('chef', $listeEquipiers, $projet->chef_id);\r
+               } else {\r
+                       $res .= form::hidden('chef', $projet->chef_id) . ' ' . $projet->chef;\r
+               }\r
+               $res .= '</td></tr>';\r
+               $res .= '<tr><td>' . __('Date de début') . '</td><td>' . cubeForm::dateFree('date_debut', $projet->date_debut) . '</td></tr>';\r
+               $res .= '<tr><td>' . __('Deadline') . '</td><td>' . cubeForm::dateFree('deadline', $projet->deadline) . '</td></tr>';\r
+               $res .= '<tr><td>' . __('Date de fin') . '</td><td>' . cubeForm::dateFree('date_fin', $projet->date_fin) . '</td></tr>';\r
+               $res .= '<tr><td>' . __('Client') . '</td><td>' . form::combo('client', $listeClients, $projet->client_id) . '</td></tr>';\r
+               $res .= '<tr><td>' . __('Devis') . '</td><td>' . form::combo('devis', $listeDevis, $projet->devis) . '</td></tr>';\r
+               return $res;\r
+       }\r
+\r
+       public static function formTache($tache)\r
+       {\r
+               global $core;\r
+               extranetDroits::min(1);\r
+\r
+               $res = '<tr><td>' . __('Numéro de tâche') . '</td><td>' . form::hidden('projet', $tache->projet) . form::hidden('tache_id', $tache->tache_id) . '' . $tache->tache_id . '</td></tr>';\r
+               $res .= '<tr><td>' . __('Catégorie') . '</td><td>' . form::combo('categorie', array_flip($core->categories), $tache->categorie) . '</td></tr>';\r
+               $res .= '<tr><td>' . __('Nom') . '</td><td>' . form::textarea('nom', 50, 3, html::escapeHTML($tache->nom)) . '</td></tr>';\r
+\r
+               return $res;\r
+       }\r
+\r
+       public static function formTacheNormale($tache_id, $projet_id = null)\r
+       {\r
+               global $core;\r
+               extranetDroits::min(1);\r
+               $dao = new extranetDAOTache($core->con);\r
+               if ($tache_id == 'new') {\r
+                       $tache = $dao->creeNormale();\r
+                       $tache->projet = $projet_id;\r
+               } else {\r
+                       $tache = $dao->selectById($tache_id);\r
+               }\r
+               $res = self::formTache($tache);\r
+               $res .= '<tr><td>' . __('Taux journalier') . '</td><td>' . form::field('taux_journalier', 6, 6, $tache->taux_journalier) . '</td></tr>';\r
+               $res .= '<tr><td>' . __('Budget') . '</td><td>' . form::hidden('type', '0') . form::field('budget', 6, 6, $tache->budget) . '</td></tr>';\r
+               return $res;\r
+       }\r
+\r
+       public static function formTacheSousTraitee($tache_id, $projet_id = null)\r
+       {\r
+               global $core;\r
+               extranetDroits::min(1);\r
+               $dao = new extranetDAOTache($core->con);\r
+               if ($tache_id == 'new') {\r
+                       $tache = $dao->creeSousTraitee();\r
+                       $tache->projet = $projet_id;\r
+               } else {\r
+                       $tache = $dao->selectById($tache_id);\r
+               }\r
+               $res = self::formTache($tache);\r
+               $res .= '<tr><td>' . __('Budget') . '</td><td>' . form::hidden('type', '1') . form::field('budget', 6, 6, $tache->budget) . '</td></tr>';\r
+               return $res;\r
+       }\r
+\r
+       public static function timereport($args)\r
+       {\r
+               global $core;\r
+               extranetDroits::min(1);\r
+               $settings = $core->user->getSettings('timereport');\r
+               $filtres = array();\r
+               $filtres[] = new extranetFiltre(__('Participants'), 'equipier_participe', $settings['filtres']);\r
+               $res = extranetPage::barre($filtres, 'filtreTimereport', 'timereport', null);\r
+               $res .= extranetPage::tMain();\r
+               $res .= extranetPage::bh();\r
+               $res .= '<div id="listeTimereport">';\r
+               $res .= self::listeTimereport();\r
+               $res .= '</div>';\r
+               $res .= extranetPage::bf();\r
+               $res .= extranetPage::bMain();\r
+               return $res;\r
+       }\r
+\r
+       public static function listeTimereport($dashboard = null, $settings = null)\r
+       {\r
+               global $core;\r
+               extranetDroits::min(1);\r
+               // Récupère la liste des projets\r
+               $settings = is_null($settings)?$core->user->getSettings('timereport'):$settings;\r
+               $change = is_null($dashboard)?'Timereport':'Dashboard/' . $dashboard;\r
+\r
+               $dao = new extranetDAOProjet($core->con);\r
+               if (isset($settings['search']) && !is_null($settings['search'])) {\r
+                       $dao->setSearch($settings['search']);\r
+               }\r
+               $dao->setFiltres($settings['filtres']);\r
+               $liste = $dao->getProjetsForTimereport($settings['orderby'], $settings['sens'], $settings['limit'], $core->user->utilisateur_id);\r
+               // Extrait la liste des tâches\r
+               $taches = array();\r
+               foreach($liste as $id => $projet) {\r
+                       foreach($projet->taches as $tache) {\r
+                               if ($tache instanceof extranetTacheNormale) {\r
+                                       $taches[] = $tache->tache_id;\r
+                               }\r
+                       }\r
+               }\r
+               // Fixe les limites des jours Ã  afficher\r
+               $time = cubeDate::round(null, 'd'); // aujourd'hui\r
+               $avant = $time - (3600 * 24 * 15); // 15 jours avant\r
+               $apres = $time; // aujourd'hui\r
+               // Récupère la liste des timereports Ã  afficher\r
+               $daoTimereport = new extranetDAOTimereport($core->con);\r
+               $timereports = $daoTimereport->getListe($taches, $core->user->utilisateur_id, array('start' => $avant, 'end' => $apres));\r
+               // Affiche le tableau\r
+               $res = '<table class="liste listeTimereport">';\r
+               $res .= '<tr><th class="normal">' . self::orderby('#', 'projet_id', $settings, 'sort' . $change) . '</th>';\r
+               $res .= '<th class="normal">' . self::orderby(__('Projet'), 'nom', $settings, 'sort' . $change) . '</th>';\r
+               $res .= '<th class="normal">' . self::orderby(__('Client'), 'client', $settings, 'sort' . $change) . '</th>';\r
+               for($date = $avant;$date <= $apres;$date += 3600 * 24) {\r
+                       $res .= '<th>' . date('d', $date) . '' . cubeMedia::spacer(16, 1, '', 'spacer') . '</th>';\r
+               }\r
+               $res .= '<th class="normal info">' . self::orderby('<abbr title="' . __('Progression') . '">Pr</abbr>', 'progression', $settings, 'sort' . $change) . '</th>';\r
+               $res .= '<th class="normal info">' . self::orderby('<abbr title="' . __('Jours consommés') . '">Co</abbr>', 'jours_consommes', $settings, 'sort' . $change) . '</th>';\r
+               $res .= '<th class="normal info">' . self::orderby('<abbr title="' . __('Jours prévus') . '">Pl</abbr>', 'jours_prevus', $settings, 'sort' . $change) . '</th>';\r
+               $res .= '</tr>';\r
+\r
+               foreach($liste as $projet) {\r
+                       $res .= '<tr class="bold">';\r
+                       $res .= '<td class="normal">' . $projet->projet_id . '</td>';\r
+                       $res .= '<td class="normal">' . $projet->nom . '</td>';\r
+                       $res .= '<td class="normal">' . $projet->client . '</td>';\r
+                       for($date = $avant;$date <= $apres;$date += 3600 * 24) {\r
+                               $cc = self::getClassOfDay($date);\r
+                               $class = ($cc == '')?'':' class="' . $cc . '"';\r
+                               $res .= '<td' . $class . '></td>';\r
+                       }\r
+                       $projet->progression = !$projet->progression?'-':$projet->progression . '%';\r
+                       $projet->jours_prevus = !$projet->jours_prevus?'-':$projet->jours_prevus;\r
+                       $projet->jours_consommes = !$projet->jours_consommes?'-':$projet->jours_consommes;\r
+                       $res .= '<td class="normal info"><span id="progress_projet_' . $projet->projet_id . '">' . $projet->progression . '</span></td>';\r
+                       $res .= '<td class="normal info"><span id="consommees_projet_' . $projet->projet_id . '">' . $projet->jours_consommes . '</span></td>';\r
+                       $res .= '<td class="normal info">' . $projet->jours_prevus . '</td>';\r
+                       $res .= '</tr>';\r
+                       $i = 1;\r
+                       foreach($projet->taches as $tache) {\r
+                               if ($tache instanceof extranetTacheNormale) {\r
+                                       $res .= '<tr class="odd">';\r
+                                       $res .= '<td class="normal">T' . $i . '</td>';\r
+                                       $res .= '<td class="normal">' . $tache->nom . '</td>';\r
+                                       $res .= '<td class="normal">' . $core->categories[$tache->categorie] . '</td>';\r
+                                       for($date = $avant;$date <= $apres;$date += (3600 * 24)) {\r
+                                               $hh = isset($timereports[$tache->tache_id][$date])?$timereports[$tache->tache_id][$date]->heures:'';\r
+                                               $c = ($hh == '')?'':'filled';\r
+                                               $cc = trim(self::getClassOfDay($date) . ' ' . $c);\r
+                                               $class = ($cc == '')?'':' class="' . $cc . '"';\r
+                                               $res .= '<td' . $class . '>' . form::field(array('timereport', 't_' . $date . '_' . $tache->tache_id), 1, 2, $hh, 'timereport_field') . '</td>';\r
+                                       }\r
+                                       $tache->progression = !$tache->progression?'-':$tache->progression . '%';\r
+                                       $tache->jours_prevus = !$tache->jours_prevus?'-':$tache->jours_prevus;\r
+                                       $tache->jours_consommes = !$tache->jours_consommes?'-':$tache->jours_consommes;\r
+                                       $res .= '<td class="normal info"><span id="progress_' . $tache->tache_id . '">' . $tache->progression . '</span></td>';\r
+                                       $res .= '<td class="normal info"><span id="consommees_' . $tache->tache_id . '">' . $tache->jours_consommes . '</span></td>';\r
+                                       $res .= '<td class="normal info">' . $tache->jours_prevus . '</td>';\r
+                                       $res .= '</tr>';\r
+                                       $i++;\r
+                               }\r
+                       }\r
+               }\r
+\r
+               if (!isset($settings['search']) || is_null($settings['search'])) {\r
+                       $res .= '<tr><td colspan="22"> ';\r
+                       $res .= extranetPage::pager($settings['page'], $dao->countActifs(), $settings['par_page'], 'page' . $change . '/%d');\r
+                       $res .= self::formParPage('parPage' . $change, $settings['par_page'], __('projets'));\r
+                       $res .= ' </td></tr>';\r
+               }\r
+               $res .= '</table>';\r
+               return $res;\r
+       }\r
+\r
+       public static function getClassOfDay($date)\r
+       {\r
+               $aujourdhui = cubeDate::round(null, 'd');\r
+               $highlight = ($date == $aujourdhui);\r
+               $we = (date('N', $date) >= 6);\r
+               if ($highlight) {\r
+                       return 'highlight';\r
+               }\r
+               if ($we) {\r
+                       return 'we';\r
+               }\r
+               return '';\r
+       }\r
+\r
+       public static function devis($args)\r
+       {\r
+               global $core;\r
+               cubePage::truePopup();\r
+               cubePage::contextMenu();\r
+\r
+               if ($core->user->grade == 0) {\r
+                       return self::devis_client($args);\r
+               }\r
+               $settings = $core->user->getSettings('devis');\r
+               extranetDroits::min(1);\r
+\r
+               $shortcuts = array();\r
+               $shortcuts[] = '<a href="' . SITE_PATH . 'editedevis/new">' . $core->typo->Ajouter('Créer un devis') . '</a>';\r
+\r
+               $filtres = array();\r
+               $filtres[] = new extranetFiltre(__('Créées par'), 'equipier', $settings['filtres']);\r
+               $filtres[] = new extranetFiltre(__('Status'), 'status_devis', $settings['filtres']);\r
+               $filtres[] = new extranetFiltre(__('Année'), 'annee_facture', $settings['filtres']);\r
+\r
+               $res = extranetPage::barre($filtres, 'filtreDevis', 'devis' , $shortcuts);\r
+               $res .= extranetPage::tMain();\r
+               $res .= extranetPage::bh();\r
+               $res .= '<div id="listeDevis">';\r
+               $res .= self::listeDevis();\r
+               $res .= '</div>';\r
+               $res .= extranetPage::bf();\r
+               $res .= extranetPage::bMain();\r
+               return $res;\r
+       }\r
+\r
+       public static function devis_client($args)\r
+       {\r
+               global $core;\r
+\r
+               $res = extranetPage::barre();\r
+               $res .= extranetPage::tMain();\r
+               $res .= extranetPage::bh();\r
+               $res .= '<div id="listeDevis">';\r
+               $res .= self::listeDevis();\r
+               $res .= '</div>';\r
+               $res .= extranetPage::bf();\r
+               $res .= extranetPage::bMain();\r
+               return $res;\r
+       }\r
+\r
+       public static function listeDevis($dashboard = null, $settings = null)\r
+       {\r
+               global $core;\r
+\r
+               if ($core->user->grade == 0) {\r
+                       return self::listeDevisClient($dashboard, $settings);\r
+               } else {\r
+                       return self::listeDevisEquipier($dashboard, $settings);\r
+               }\r
+       }\r
+\r
+       public static function contextDevis($id)\r
+       {\r
+               global $core;\r
+               $res = '<div class="contextMenu" id="' . $id . '">';\r
+               $res .= '<ul>';\r
+               $res .= '<li class="head">' . __("Changer le status du devis") . '</li>';\r
+               foreach($core->devis_status as $k => $v) {\r
+                       if ($k == 0) {\r
+                               continue;\r
+                       }\r
+                       $res .= '<li><a href="#" rel="changeDevisStatus/$1/' . $k . '" class="ajax">' . $v . '</a></li>';\r
+                       if ($k == 2) {\r
+                               $res .= '<li><a href="#" rel="changeDevisStatus/$1/' . $k . '/createProjet" class="ajax">' . __('Valider puis créer le projet correspondant') . '</a></li>';\r
+                       }\r
+               }\r
+               $res .= '</ul></div>';\r
+               return $res;\r
+       }\r
+\r
+       public static function listeDevisEquipier($dashboard = null, $settings = null)\r
+       {\r
+               global $core;\r
+               extranetDroits::min(1);\r
+               $settings = is_null($settings)?$core->user->getSettings('devis'):$settings;\r
+               $change = is_null($dashboard)?'Devis':'Dashboard/' . $dashboard;\r
+               $context_id = is_null($dashboard)?'contextDevis':'contextDashboard_' . $dashboard;\r
+\r
+               $dao = new extranetDAODevis($core->con);\r
+               if (isset($settings['search']) && !is_null($settings['search'])) {\r
+                       $dao->setSearch($settings['search']);\r
+               }\r
+               $dao->setFiltres($settings['filtres']);\r
+               $liste = $dao->getListe($settings['orderby'], $settings['sens'], $settings['limit']);\r
+               $res = self::contextDevis($context_id);\r
+               $res .= '<table class="liste">';\r
+               $res .= '<tr><th>' . self::orderby('#', 'devis_id', $settings, 'sort' . $change) . '</th>';\r
+               $res .= '<th>' . self::orderby(__('Nom'), 'nom', $settings, 'sort' . $change) . '</th>';\r
+               $res .= '<th>' . self::orderby(__('Client'), 'client', $settings, 'sort' . $change) . '</th>';\r
+               $res .= '<th>' . self::orderby(__('Crée par'), 'createur', $settings, 'sort' . $change) . '</th>';\r
+               $res .= '<th>' . self::orderby(__('Date'), 'date_creation', $settings, 'sort' . $change) . '</th>';\r
+               $res .= '<th>' . self::orderby(__('Montant HT'), 'total_ht', $settings, 'sort' . $change) . '</th>';\r
+               $res .= '<th>' . self::orderby(__('Status'), 'status', $settings, 'sort' . $change) . '</th>';\r
+               $res .= '<th class="min"></th><th class="min"></th><th class="min"></th></tr>';\r
+               $i = 0;\r
+               foreach($liste as $devis) {\r
+                       $droits = extranetDroits::devis($devis, 'w', false);\r
+                       $odd = cubeMath::isOdd($i)?' class="odd"':'';\r
+                       $res .= '<tr' . $odd . '>';\r
+                       $res .= '<td>' . $devis->devis_id . '</td>';\r
+                       $res .= '<td>' . $devis->nom . '</td>';\r
+                       $res .= '<td>' . $devis->client . '</td>';\r
+                       $res .= '<td>' . $devis->createur . '</td>';\r
+                       $res .= '<td>' . date(__('d/m/Y'), $devis->date_creation) . '</td>';\r
+                       $res .= '<td>' . $devis->total_ht . '</td>';\r
+\r
+                       if ($devis->status == 0) {\r
+                               $res .= '<td>' . $core->devis_status[$devis->status] . '</td>';\r
+                       } else {\r
+                               if ($droits) {\r
+                                       $res .= '<td><a href="#" class="openContextMenu" rel="' . $context_id . '" rev="' . $devis->devis_id . '">' . $core->devis_status[$devis->status] . '</a></td>';\r
+                               } else {\r
+                                       $res .= '<td>' . $core->devis_status[$devis->status] . '</td>';\r
+                               }\r
+                       }\r
+\r
+                       if (in_array($devis->status, array(0, 1)) && $droits) {\r
+                               $res .= '<td class="action"><a href="' . SITE_PATH . 'editedevis/' . $devis->devis_id . '" title="' . __('Editer le devis') . '">' . cubeMedia::image(IMG . '/edit.png') . '</a></td>';\r
+                       } else {\r
+                               $res .= '<td></td>';\r
+                       }\r
+                       $res .= '<td><a href="' . SITE_PATH . 'voirdevis/' . $devis->devis_id . '" class="popupA4" title="' . __('Voir le devis') . '">' . cubeMedia::image(IMG . '/view.png') . '</a></td>';\r
+                       if ($devis->status == 0) {\r
+                               if ($droits) {\r
+                                       $res .= '<td class="action"><a href="#" class="ajax" rel="supprimeDevis/' . $devis->devis_id . '" title="' . __('Êtes vous certain de vouloir supprimer ce devis ?') . '">' . cubeMedia::image(IMG . '/delete.png') . '</a></td>';\r
+                               } else {\r
+                                       $res .= '<td></td>';\r
+                               }\r
+                       } elseif ($devis->status >= 1) {\r
+                               $res .= '<td><a href="#" class="ajax" rel="duplicateDevis/' . $devis->devis_id . '" title="' . __('Dupliquer le devis') . '">' . cubeMedia::image(IMG . '/duplicate.png') . '</a></td>';\r
+                       }\r
+\r
+                       $res .= '</tr>';\r
+                       $i++;\r
+               }\r
+               if (!isset($settings['search']) || is_null($settings['search'])) {\r
+                       $odd = cubeMath::isOdd($i)?' class="odd"':'';\r
+                       $res .= '<tr' . $odd . '><td colspan="10">';\r
+                       $res .= extranetPage::pager($settings['page'], $dao->count(), $settings['par_page'], 'page' . $change . '/%d');\r
+                       $res .= self::formParPage('parPage' . $change, $settings['par_page'], __('devis'));\r
+                       $res .= '</td></tr>';\r
+               }\r
+               $res .= '</table>';\r
+               return $res;\r
+       }\r
+\r
+       public static function listeDevisClient($dashboard = null, $settings = null)\r
+       {\r
+               global $core;\r
+               cubePage::truePopup();\r
+\r
+               $dao = new extranetDAODevis($core->con);\r
+               $settings = $core->user->getSettings('devis');\r
+               $liste = $dao->getListeForClient($core->user->utilisateur_id, $settings['orderby'], $settings['sens']);\r
+               $res = '<table class="liste">';\r
+               $res .= '<th>' . self::orderby(__('Nom'), 'nom', $settings, 'sortDevis') . '</th>';\r
+               $res .= '<th>' . self::orderby(__('Date'), 'date_creation', $settings, 'sortDevis') . '</th>';\r
+               $res .= '<th>' . self::orderby(__('Montant HT'), 'total_ht', $settings, 'sortDevis') . '</th>';\r
+               $res .= '<th>' . self::orderby(__('Status'), 'status', $settings, 'sortDevis') . '</th>';\r
+               $res .= '<th class="min"></th></tr>';\r
+               $i = 0;\r
+               foreach($liste as $devis) {\r
+                       $odd = cubeMath::isOdd($i)?' class="odd"':'';\r
+                       $res .= '<tr' . $odd . '>';\r
+                       $res .= '<td>' . $devis->nom . '</td>';\r
+                       $res .= '<td>' . date(__('d/m/Y'), $devis->date_creation) . '</td>';\r
+                       $res .= '<td>' . $devis->total_ht . '</td>';\r
+                       $res .= '<td>' . $core->devis_status[$devis->status] . '</td>';\r
+                       $res .= '<td><a href="' . SITE_PATH . 'voirdevis/' . $devis->devis_id . '" class="popupA4" title="' . __('Voir le devis') . '">' . cubeMedia::image(IMG . '/view.png') . '</a></td>';\r
+                       $res .= '</tr>';\r
+                       $i++;\r
+               }\r
+               if (!count($liste)) {\r
+                       $res .= '<tr><td colspan="6" class="center">' . __("Vous n'avez pour le moment aucun devis associé Ã  votre compte") . '</td></tr>';\r
+               }\r
+               $res .= '</table>';\r
+               return $res;\r
+       }\r
+\r
+       public static function voirdevis($args)\r
+       {\r
+               global $core;\r
+               // Charge le devis\r
+               $dao = new extranetDAODevis($core->con);\r
+               $devis = $dao->selectById($args[1]);\r
+               // Vérification des droits en lecture de l'utilisateur\r
+               extranetDroits::devis($devis, 'r');\r
+\r
+               cubeHTTP::relayNoCache(ROOT . '/devis/' . $args[1] . '.pdf');\r
+       }\r
+\r
+       public static function editedevis($args)\r
+       {\r
+               global $core;\r
+               extranetDroits::min(1);\r
+               $res = extranetPage::barre();\r
+               $res .= extranetPage::tMain();\r
+               $res .= extranetPage::bh();\r
+               $res .= self::formDevis($args[1]);\r
+               $res .= extranetPage::bf();\r
+               $res .= extranetPage::bMain();\r
+               return $res;\r
+       }\r
+\r
+       public static function formDevis($devis_id = 'new')\r
+       {\r
+               global $core;\r
+               cubePage::autocomplete();\r
+               cubePage::emptyField();\r
+               cubePage::ui('Sortable');\r
+               extranetDroits::min(1);\r
+               $dao = new extranetDAODevis($core->con);\r
+               if ($devis_id == 'new') {\r
+                       $devis = $dao->cree();\r
+               } else {\r
+                       $devis = $dao->selectById($devis_id);\r
+               }\r
+\r
+               $res = '<div id="editeDevis">';\r
+               $res .= '<form action="previewDevis" method="post">';\r
+\r
+               $res .= '<div id="devisTop">';\r
+               // Adresse\r
+               $res .= '<div id="devisAdresse">';\r
+               if ($devis->devis_id == 'new') {\r
+                       $default = __('Entrez le nom du client');\r
+                       $default_id = '';\r
+                       $class = 'empty-field';\r
+               } else {\r
+                       $default = $devis->client;\r
+                       $default_id = $devis->client_id;\r
+                       $class = '';\r
+               }\r
+\r
+               $res .= form::field('client_nom', 40, 128, $default, $class);\r
+               $res .= form::hidden('client', $default_id);\r
+               $res .= '<div id="devisAdresseDisplay">';\r
+               if ($devis->client_id) {\r
+                       $res .= self::adresse($devis->client_id, null, 'devis', $devis->adresse);\r
+               }\r
+               $res .= '</div>';\r
+               $res .= '</div>';\r
+               // Titre\r
+               $res .= '<div id="devisTitre">';\r
+               $res .= form::hidden('devis_id', $devis->devis_id);\r
+               $res .= form::textarea('nom', 40, 4, $devis->nom);\r
+               $res .= '</div>';\r
+               $res .= '</div>';\r
+\r
+               $res .= '<div id="devisMiddle">';\r
+               $res .= '<div id="devisLignes">';\r
+               // Lignes du devis\r
+               $nb_lignes = max(4, count($devis->lignes) + 2);\r
+\r
+               for($i = 0;$i < $nb_lignes;$i++) {\r
+                       if (isset($devis->lignes[$i])) {\r
+                               $titre = $devis->lignes[$i]['titre'];\r
+                               $description = $devis->lignes[$i]['description'];\r
+                               $montant = $devis->lignes[$i]['montant'];\r
+                       } else {\r
+                               $titre = $description = $montant = '';\r
+                       }\r
+                       $res .= '<div class="devisLigne">';\r
+                       $res .= '<div class="devisLigneRight">';\r
+                       $res .= form::field(array('montant[]'), 6, 15, $montant) . " â‚¬";\r
+                       $res .= '</div>';\r
+                       $res .= '<div class="devisLigneLeft">';\r
+                       $res .= form::field(array('titre[]'), 105, 256, htmlspecialchars($titre, ENT_QUOTES)) . '<br /><br />';\r
+                       $res .= form::textarea(array('description[]'), 110, 4, $description);\r
+                       $res .= '</div>';\r
+\r
+                       $res .= '</div>';\r
+               }\r
+\r
+               $res .= '</div>';\r
+               $res .= '</div>';\r
+               $res .= '<div id="devisBottom">' . cubeMedia::spacer(10, 10) . '</div>';\r
+               $res .= '<div id="devisMail">';\r
+               $res .= '<table>';\r
+               $res .= '<tr><td>' . __('De') . '</td><td>' . $core->user->prenom . ' ' . $core->user->nom . ' &lt;' . $core->user->email . '&gt;</td></tr>';\r
+               $res .= '<tr><td>' . __('Sujet') . '</td><td>' . form::field(array('email[sujet]'), 30, 128, htmlspecialchars($devis->email['sujet'], ENT_QUOTES)) . '</td></tr>';\r
+               $res .= '<tr><td>' . __('Corps') . '</td><td>' . form::textarea(array('email[corps]'), 40, 6, $devis->email['corps']) . '</td></tr>';\r
+               $res .= '</table>';\r
+               $res .= '</div>';\r
+               $res .= '<div class="right"><a href="#" class="submit">' . $core->typo->BoutonOK('Enregistrer et prévisualiser') . '</a></div>';\r
+               $res .= '</form>';\r
+               $res .= '</div>';\r
+\r
+               return $res;\r
+       }\r
+\r
+       public static function adresse($utilisateur_id = null, $projet_id = null, $display = 'devis', $adresse = '')\r
+       {\r
+               global $core;\r
+               $dao = new extranetDAOClient($core->con);\r
+               if (!is_null($utilisateur_id)) {\r
+                       $client = $dao->selectById($utilisateur_id);\r
+               }\r
+               if (!is_null($projet_id)) {\r
+                       $client = $dao->selectByProjet($projet_id);\r
+               }\r
+               if (is_null($client)) {\r
+                       return false;\r
+               }\r
+\r
+               if ($adresse == '') {\r
+                       $adresse = array();\r
+                       $adresse[] = $client->rs;\r
+                       $adresse[] = trim($client->adresse);\r
+                       $adresse[] = $client->code_postal . ' ' . $client->ville;\r
+                       $adresse[] = cubeCountry::getCountry($client->pays);\r
+               } else {\r
+                       $adresse = explode("\n", trim($adresse));\r
+               }\r
+               if ($display == 'facture' && $client->tva_intra != '' && cubeCountry::inUE($client->pays)) {\r
+                       $tva = '<br /><span class="tva">' . __('N° de TVA Intracommunautaire') . ' : ' . $client->tva_intra . '</span>';\r
+               } else {\r
+                       $tva = '';\r
+               }\r
+               $a = form::textarea('adresse', 40, 6, implode("\n", $adresse));\r
+               $a .= $tva;\r
+               $a .= '<a href="#" class="popup edit" rel="formContact/' . $client->utilisateur_id . '" title="' . __('Editer les informations de ce client') . '">' . cubeMedia::image(IMG . '/edit.png') . '</a>';\r
+               return $a;\r
+       }\r
+\r
+       public static function previewDevis($args)\r
+       {\r
+               global $core;\r
+\r
+               $dao = new extranetDAODevis($core->con);\r
+               $devis = $dao->selectById($args[1]);\r
+\r
+               $daoUtilisateur = new extranetDAOUtilisateur($core->con);\r
+               $createur = $devis->createur = $daoUtilisateur->selectById($devis->createur_id);\r
+               $client = $devis->client = $daoUtilisateur->selectById($devis->client_id);\r
+\r
+               $res = extranetPage::barre();\r
+               $res .= extranetPage::tMain();\r
+               $res .= extranetPage::bh();\r
+               $res .= '<iframe src="' . SITE_PATH . 'voirdevis/' . $devis->devis_id . '/?junk=' . TIME . '" width="960" height="1000" frameborder="0"></iframe>';\r
+               $res .= extranetPage::bf();\r
+               $res .= extranetPage::bh();\r
+               $res .= '<div id="devis_email">';\r
+               $res .= '<table class="liste">';\r
+               $res .= '<tr><td>' . __('De') . '</td><td>' . $createur->prenom . ' ' . $createur->nom . '&lt;' . $createur->email . '&gt;</td></tr>';\r
+               $res .= '<tr class="odd"><td>' . __('A') . '</td><td>' . $client->prenom . ' ' . $client->nom . '&lt;' . $client->email . '&gt;</td></tr>';\r
+               $res .= '<tr><td>' . __('Sujet') . '</td><td>' . $devis->email['sujet'] . '</td></tr>';\r
+               $res .= '<tr class="odd"><td>' . __('Message') . '</td><td>' . nl2br($devis->email['corps'] . "\n\n" . $createur->getSignature()) . '</td></tr>';\r
+               $res .= '<tr><td colspan="2" class="right">';\r
+               $res .= cubeMedia::spacer(40, 40) . '<a href="' . SITE_PATH . 'editedevis/' . $devis->devis_id . '">' . $core->typo->BoutonOK(__('Editer le devis')) . '</a> ';\r
+               $res .= '<a href="#" rel="expedieDevis/0/' . $devis->devis_id . '" class="ajax" title="' . __("Le devis est sur le point d'être validé, mais l'email ne sera pas envoyé. Veuillez confirmer votre choix ?") . '">' . $core->typo->BoutonOK(__('Valider sans envoyer le devis')) . '</a> ';\r
+               $res .= '<a href="#" rel="expedieDevis/1/' . $devis->devis_id . '" class="ajax" title="' . __("Le devis est sur le point d'être envoyé. Veuillez confirmer votre choix ?") . '">' . $core->typo->BoutonOK(__('Valider et envoyer le devis')) . '</a></td></tr>';\r
+               $res .= '</table>';\r
+               $res .= '</div>';\r
+               $res .= extranetPage::bf();\r
+               $res .= extranetPage::bMain();\r
+               return $res;\r
+       }\r
+\r
+       public static function factures($args)\r
+       {\r
+               global $core;\r
+\r
+               if ($core->user->grade == 0) {\r
+                       return self::factures_client($args);\r
+               }\r
+               $settings = $core->user->getSettings('factures');\r
+\r
+               extranetDroits::min(1);\r
+               $shortcuts = array();\r
+               if ($core->user->grade != 3) {\r
+                       $shortcuts[] = '<a href="' . SITE_PATH . 'editefacture/new">' . $core->typo->Ajouter('Créer une facture') . '</a>';\r
+               }\r
+               $shortcuts[] = '<a href="#" rel="formPrintFactures" title="Imprimer les factures" class="popup">' . cubeMedia::image(IMG . '/print.png') . '</a>';\r
+               $filtres = array();\r
+               $filtres[] = new extranetFiltre(__('Créées par'), 'equipier', $settings['filtres']);\r
+               $filtres[] = new extranetFiltre(__('Status'), 'status_facture', $settings['filtres']);\r
+               $filtres[] = new extranetFiltre(__('Année'), 'annee_facture', $settings['filtres']);\r
+               $res = extranetPage::barre($filtres , 'filtreFactures', 'factures', $shortcuts);\r
+               $res .= extranetPage::tMain();\r
+               $res .= extranetPage::bh();\r
+               $res .= '<div id="listeFactures">';\r
+               $res .= self::listeFactures();\r
+               $res .= '</div>';\r
+               $res .= extranetPage::bf();\r
+               $res .= extranetPage::bMain();\r
+               return $res;\r
+       }\r
+\r
+       public static function factures_client($args)\r
+       {\r
+               global $core;\r
+               $res = extranetPage::barre();\r
+               $res .= extranetPage::tMain();\r
+               $res .= extranetPage::bh();\r
+               $res .= '<div id="listeFactures">';\r
+               $res .= self::listeFactures();\r
+               $res .= '</div>';\r
+               $res .= extranetPage::bf();\r
+               $res .= extranetPage::bMain();\r
+               return $res;\r
+       }\r
+\r
+       public static function contextFacture($id)\r
+       {\r
+               global $core;\r
+               $res = '<div class="contextMenu" id="' . $id . '">';\r
+               $res .= '<ul>';\r
+               $res .= '<li class="head">' . __("Changer le status de la facture") . '</li>';\r
+               foreach($core->factures_status as $k => $v) {\r
+                       if (in_array($k, array(0, 4))) {\r
+                               continue;\r
+                       }\r
+                       if ($k == 2) {\r
+                               $res .= '<li><a href="#" rel="changeFacturePaiement/$1" class="popup">' . $v . '</a></li>';\r
+                       } else {\r
+                               if ($k == 3) {\r
+                                       $title = ' title="' . __("Êtes-vous certain de vouloir annuler cette facture ? Cette action est irreversible et provoquera la création d'un avoir correpondant.") . '"';\r
+                               } else {\r
+                                       $title = '';\r
+                               }\r
+                               $res .= '<li><a href="#" rel="changeFactureStatus/$1/' . $k . '" class="ajax"' . $title . '>' . $v . '</a></li>';\r
+                       }\r
+               }\r
+               $res .= '</ul></div>';\r
+               return $res;\r
+       }\r
+\r
+       public static function listeFactures($dashboard = null, $settings = null)\r
+       {\r
+               global $core;\r
+               if ($core->user->grade == 0) {\r
+                       return self::listeFacturesClient($dashboard, $settings);\r
+               } else {\r
+                       return self::listeFacturesEquipier($dashboard, $settings);\r
+               }\r
+       }\r
+\r
+       public static function listeFacturesEquipier($dashboard = null, $settings = null)\r
+       {\r
+               global $core;\r
+               cubePage::truePopup();\r
+               cubePage::contextMenu();\r
+\r
+               $settings = is_null($settings)?$core->user->getSettings('factures'):$settings;\r
+               $change = is_null($dashboard)?'Facture':'Dashboard/' . $dashboard;\r
+               $context_id = is_null($dashboard)?'contextFacture':'contextDashboard_' . $dashboard;\r
+               $dao = new extranetDAOFacture($core->con);\r
+               if (isset($settings['search']) && !is_null($settings['search'])) {\r
+                       $dao->setSearch($settings['search']);\r
+               } else {\r
+                       $dao->setFiltres($settings['filtres']);\r
+               }\r
+\r
+               if ($core->user->grade != 3) {\r
+                       $liste = $dao->getListe($settings['orderby'], $settings['sens'], $settings['limit']);\r
+               } else {\r
+                       $liste = $dao->getListeCompta($settings['orderby'], $settings['sens'], $settings['limit']);\r
+               }\r
+\r
+               $res = self::contextFacture($context_id);\r
+               $res .= '<table class="liste">';\r
+               $res .= '<tr><th>' . self::orderby('#', 'facture_id', $settings, 'sort' . $change) . '</th>';\r
+               $res .= '<th>' . self::orderby(__('Nom'), 'nom', $settings, 'sort' . $change) . '</th>';\r
+               $res .= '<th>' . self::orderby(__('Client'), 'client', $settings, 'sort' . $change) . '</th>';\r
+               $res .= '<th>' . self::orderby(__('Crée par'), 'createur', $settings, 'sort' . $change) . '</th>';\r
+               $res .= '<th>' . self::orderby(__('Date'), 'date_creation', $settings, 'sort' . $change) . '</th>';\r
+               $res .= '<th>' . self::orderby(__('Montant HT'), 'total_ht', $settings, 'sort' . $change) . '</th>';\r
+               $res .= '<th>' . self::orderby(__('Status'), 'status', $settings, 'sort' . $change) . '</th><th class="min"></th><th class="min"></th><th class="min"></th></tr>';\r
+               $i = 0;\r
+               foreach($liste as $facture) {\r
+                       $droits = extranetDroits::facture($facture, 'w', false);\r
+                       $odd = cubeMath::isOdd($i)?' class="odd"':'';\r
+                       $res .= '<tr' . $odd . '>';\r
+                       $res .= '<td>' . $facture->facture_id . '</td>';\r
+                       $res .= '<td>' . $facture->nom . '</td>';\r
+                       $res .= '<td>' . $facture->client . '</td>';\r
+                       $res .= '<td>' . $facture->createur . '</td>';\r
+                       $res .= '<td>' . date(__('d/m/Y'), $facture->date_creation) . '</td>';\r
+                       $res .= '<td>' . $facture->total_ht . '</td>';\r
+                       if ($facture->status == 0) {\r
+                               $res .= '<td>' . $core->factures_status[$facture->status] . '</td>';\r
+                               if ($droits) {\r
+                                       $res .= '<td></td>';\r
+                                       $res .= '<td class="action"><a href="' . SITE_PATH . 'editefacture/' . $facture->facture_id . '" title="' . __('Editer la facture') . '">' . cubeMedia::image(IMG . '/edit.png') . '</a></td>';\r
+                                       $res .= '<td class="action"><a href="#" class="ajax" rel="supprimeFacture/' . $facture->facture_id . '" title="' . __('Êtes vous certain de vouloir supprimer cette facture ?') . '">' . cubeMedia::image(IMG . '/delete.png') . '</a></td>';\r
+                               } else {\r
+                                       $res .= '<td></td><td></td>';\r
+                               }\r
+                       } elseif ($facture->status >= 1) {\r
+                               if ($facture->status < 3) {\r
+                                       if ($droits) {\r
+                                               $res .= '<td><a href="#" class="openContextMenu" rel="' . $context_id . '" rev="' . $facture->facture_id . '">' . $core->factures_status[$facture->status] . '</a></td>';\r
+                                       } else {\r
+                                               $res .= '<td>' . $core->factures_status[$facture->status] . '</td>';\r
+                                       }\r
+                               } else {\r
+                                       $title = $facture->status == 3?__("Voir l'avoir correspondant"):__("Voir la facture annulée correspondante");\r
+                                       $res .= '<td><a href="' . SITE_PATH . 'voirfacture/' . $facture->avoir . '" class="popupA4" title="' . $title . '">' . $core->factures_status[$facture->status] . '</a></td>';\r
+                               }\r
+                               if ($facture->facture_id > 0) {\r
+                                       if ($droits && $facture->status == 1) {\r
+                                               $res .= '<td>' . '<a href="' . SITE_PATH . 'editefacture/' . $facture->facture_id . '" title="' . __('Editer la facture') . '">' . cubeMedia::image(IMG . '/edit.png') . '</a></td>';\r
+                                       } else {\r
+                                               $res .= '<td></td>';\r
+                                       }\r
+                                       $res .= '<td><a href="' . SITE_PATH . 'voirfacture/' . $facture->facture_id . '" class="popupA4" title="' . __('Voir la facture') . '">' . cubeMedia::image(IMG . '/view.png') . '</a></td>';\r
+                                       if ($facture->status != 4 && $core->user->grade != 3) {\r
+                                               $res .= '<td><a href="#" class="ajax" rel="duplicateFacture/' . $facture->facture_id . '" title="' . __('Dupliquer la facture') . '">' . cubeMedia::image(IMG . '/duplicate.png') . '</a></td>';\r
+                                       } else {\r
+                                               $res .= '<td></td>';\r
+                                       }\r
+                               } else {\r
+                                       $res .= '<td></td><td></td><td></td>';\r
+                               }\r
+                       }\r
+\r
+                       $res .= '</tr>';\r
+                       $i++;\r
+               }\r
+               if (!isset($settings['search']) || is_null($settings['search'])) {\r
+                       $odd = cubeMath::isOdd($i)?' class="odd"':'';\r
+                       $res .= '<tr' . $odd . '><td colspan="10">' ;\r
+                       if ($core->user->grade != 3) {\r
+                               $res .= extranetPage::pager($settings['page'], $dao->count() , $settings['par_page'], 'page' . $change . '/%d');\r
+                       } else {\r
+                               $res .= extranetPage::pager($settings['page'], $dao->countCompta() , $settings['par_page'], 'page' . $change . '/%d');\r
+                       }\r
+                       $res .= self::formParPage('parPage' . $change, $settings['par_page'], __('factures'));\r
+                       $res .= '</td></tr>';\r
+               }\r
+               $res .= '</table>';\r
+               return $res;\r
+       }\r
+\r
+       public static function listeFacturesClient($dashboard = null, $settings = null)\r
+       {\r
+               global $core;\r
+               cubePage::truePopup();\r
+               $settings = $core->user->getSettings('factures');\r
+               $dao = new extranetDAOFacture($core->con);\r
+               $liste = $dao->getListeForClient($core->user->utilisateur_id, $settings['orderby'], $settings['sens']);\r
+\r
+               $res = '<table class="liste">';\r
+               $res .= '<tr><th>' . self::orderby('#', 'facture_id', $settings, 'sortFacture') . '</th>';\r
+               $res .= '<th>' . self::orderby(__('Nom'), 'nom', $settings, 'sortFacture') . '</th>';\r
+               $res .= '<th>' . self::orderby(__('Date'), 'date_creation', $settings, 'sortFacture') . '</th>';\r
+               $res .= '<th>' . self::orderby(__('Montant HT'), 'total_ht', $settings, 'sortFacture') . '</th>';\r
+               $res .= '<th>' . self::orderby(__('Status'), 'status', $settings, 'sortFacture') . '</th>';\r
+               $res .= '<th class="min"></th></tr>';\r
+               $i = 0;\r
+               foreach($liste as $facture) {\r
+                       $odd = cubeMath::isOdd($i)?' class="odd"':'';\r
+                       $res .= '<tr' . $odd . '>';\r
+                       $res .= '<td>' . $facture->numeroFacture() . '</td>';\r
+                       $res .= '<td>' . $facture->nom . '</td>';\r
+                       $res .= '<td>' . date(__('d/m/Y'), $facture->date_creation) . '</td>';\r
+                       $res .= '<td>' . $facture->total_ht . '</td>';\r
+                       $res .= '<td>' . $core->factures_status[$facture->status] . '</td>';\r
+                       $res .= '<td><a href="' . SITE_PATH . 'voirfacture/' . $facture->facture_id . '" class="popupA4" title="' . __('Voir la facture') . '">' . cubeMedia::image(IMG . '/view.png') . '</a></td>';\r
+                       $res .= '</tr>';\r
+                       $i++;\r
+               }\r
+               if (!count($liste)) {\r
+                       $res .= '<tr><td colspan="6" class="center">' . __("Vous n'avez pour le moment aucune facture associée Ã  votre compte") . '</td></tr>';\r
+               }\r
+\r
+               $res .= '</table>';\r
+               return $res;\r
+       }\r
+\r
+       public static function formFacturePaiement($facture_id)\r
+       {\r
+               global $core;\r
+               $dao = new extranetDAOFacture($core->con);\r
+               $facture = $dao->selectById($facture_id);\r
+               $date = !$facture->date_paiement?null:$facture->date_paiement;\r
+\r
+               $res = '<tr><td>' . form::hidden('facture_id', $facture_id) . __('Date de paiement') . '</td><td>' . cubeForm::date('date_paiement', $date) . '</td></tr>';\r
+               $res .= '<tr><td>' . __('Informations de paiement') . '</td><td>' . form::textarea('informations_paiement', 40, 3, $facture->informations_paiement) . '</td></tr>';\r
+\r
+               return $res;\r
+       }\r
+\r
+       public static function voirfacture($args)\r
+       {\r
+               global $core;\r
+               // Charge la facture\r
+               $dao = new extranetDAOFacture($core->con);\r
+               $facture = $dao->selectById($args[1]);\r
+               // Vérification des droits de l'utilisateur\r
+               extranetDroits::facture($facture, 'r', true);\r
+\r
+               cubeHTTP::relayNoCache(ROOT . '/factures/' . $args[1] . '.pdf');\r
+       }\r
+\r
+       public static function editefacture($args)\r
+       {\r
+               global $core;\r
+               extranetDroits::min(1);\r
+               $res = extranetPage::barre();\r
+               $res .= extranetPage::tMain();\r
+               $res .= extranetPage::bh();\r
+               if (isset($args[2])) {\r
+                       $res .= self::formFacture($args[1], $args[2]);\r
+               } else {\r
+                       $res .= self::formFacture($args[1]);\r
+               }\r
+               $res .= extranetPage::bf();\r
+               $res .= extranetPage::bMain();\r
+               return $res;\r
+       }\r
+\r
+       public static function formFacture($facture_id = 'new', $projet_id = null)\r
+       {\r
+               global $core;\r
+               extranetDroits::min(1);\r
+               cubePage::autoComplete();\r
+               cubePage::emptyField();\r
+               cubePage::ui('Sortable');\r
+\r
+               $daoProjet = new extranetDAOProjet($core->con);\r
+               $dao = new extranetDAOFacture($core->con);\r
+\r
+               $projet_id = isset($_POST['projet_id']) && $_POST['projet_id'] > 0?$_POST['projet_id']:$projet_id;\r
+\r
+               if ($facture_id == 'new') {\r
+                       $facture = $dao->cree();\r
+               } elseif ($facture_id == 'ws') {\r
+                       $facture = $dao->cree();\r
+                       $facture->facture_id = 'ws';\r
+               } else {\r
+                       $facture = $dao->selectById($facture_id);\r
+               }\r
+\r
+               if (!is_null($projet_id) && $facture_id == 'new') {\r
+                       $projet = $daoProjet->selectById($projet_id);\r
+                       $facture->projet_id = $projet->projet_id;\r
+                       $facture->client = $projet->client;\r
+                       $facture->projet = $facture->nom = $projet->nom;\r
+                       $lignes = array();\r
+                       foreach($projet->taches as $tache) {\r
+                               $lignes[] = array('montant' => $tache->budget, 'titre' => $tache->nom, 'description' => '');\r
+                       }\r
+                       $facture->lignes = $lignes;\r
+               } elseif ($facture_id == 'ws') {\r
+                       if (is_null($projet_id)) {\r
+                               $daoClient = new extranetDAOClient($core->con);\r
+                               $client = $daoClient->selectById($_POST['client_id']);\r
+                               $facture->projet_id = 'new';\r
+                               $facture->client = $client->rs;\r
+                               $facture->client_id = $client->utilisateur_id;\r
+                               $facture->projet = __('Nouveau projet');\r
+                               $facture->nom = 'Fluidbook';\r
+                       } else {\r
+                               $projet = $daoProjet->selectById($projet_id);\r
+                               $facture->projet_id = $projet->projet_id;\r
+                               $facture->client = $projet->client;\r
+                               $facture->projet = $facture->nom = $projet->nom;\r
+                       }\r
+                       $lignes = array();\r
+                       $b = $core->con->select('SELECT * FROM ws.book WHERE bid IN(' . implode(',', array_keys($_POST['book_facture'])) . ')');\r
+                       while ($b->fetch()) {\r
+                               $lignes[] = array('book' => $b->bid, 'montant' => 0, 'titre' => 'Fluidbook &laquo; ' . $b->titre . ' &raquo;', 'description' => '');\r
+                       }\r
+                       $facture->lignes = $lignes;\r
+               }\r
+\r
+               $res = '<div id="editeDevis">';\r
+               $res .= '<form action="previewFacture" method="post">';\r
+               $res .= '<div id="devisTop">';\r
+               // Adresse\r
+               if ($facture->facture_id == 'new' && is_null($projet_id)) {\r
+                       $class = 'empty-field';\r
+                       $default_id = '';\r
+                       $default = __('Entrez le nom du projet ou du client');\r
+               } else {\r
+                       $class = '';\r
+                       $default_id = $facture->projet_id;\r
+                       $default = $facture->projet_id . ' - ' . $facture->projet . ' (' . $facture->client . ')';\r
+               }\r
+\r
+               $res .= '<div id="factureAdresse">';\r
+               $res .= form::field('projet_nom', 40, 128, $default, $class);\r
+               $res .= form::hidden('projet', $default_id);\r
+               $res .= '<div id="factureAdresseDisplay">';\r
+               if ($facture->projet_id != 'new') {\r
+                       $res .= extranetUrl::adresse(null, $facture->projet_id, 'facture', $facture->adresse);\r
+               } else {\r
+                       $res .= extranetUrl::adresse($facture->client_id, null, 'facture', $facture->adresse);\r
+                       $res .= form::hidden('client', $facture->client_id);\r
+               }\r
+\r
+               $res .= '</div>';\r
+               $res .= form::textarea('texte_complementaire', 50, 2, $facture->texte_complementaire);\r
+               $res .= '</div>';\r
+               // Titre\r
+               $res .= '<div id="devisTitre">';\r
+               $res .= 'Date : ' . cubeForm::date('date_creation', $facture->date_creation) . '<br /><br />';\r
+               $res .= form::hidden('facture_id', $facture->facture_id);\r
+               $res .= form::textarea('nom', 40, 4, $facture->nom);\r
+               $res .= '</div>';\r
+               $res .= '</div>';\r
+\r
+               $res .= '<div id="devisMiddle">';\r
+               $res .= '<div id="devisLignes">';\r
+               // Lignes du devis\r
+               $nb_lignes = max(4, count($facture->lignes) + 2);\r
+\r
+               for($i = 0;$i < $nb_lignes;$i++) {\r
+                       if (isset($facture->lignes[$i])) {\r
+                               $titre = $facture->lignes[$i]['titre'];\r
+                               $description = $facture->lignes[$i]['description'];\r
+                               $montant = $facture->lignes[$i]['montant'];\r
+                               $book = isset($facture->lignes[$i]['book'])?$facture->lignes[$i]['book']:null;\r
+                       } else {\r
+                               $titre = $description = $montant = '';\r
+                       }\r
+\r
+                       $res .= '<div class="devisLigne">';\r
+\r
+                       $res .= '<div class="devisLigneRight">';\r
+                       $res .= form::field(array('montant[]'), 6, 15, $montant) . " â‚¬";\r
+                       if (isset($book) && !is_null($book)) {\r
+                               $res .= form::hidden(array('book[]'), $book) ;\r
+                       }\r
+                       $res .= '</div>';\r
+                       $res .= '<div class="devisLigneLeft">';\r
+                       $res .= form::field(array('titre[]'), 80, 256, htmlspecialchars($titre, ENT_QUOTES)) . '<br /><br />';\r
+                       $res .= form::textarea(array('description[]'), 80, 2, $description);\r
+                       $res .= '</div>';\r
+\r
+                       $res .= '</div>';\r
+               }\r
+\r
+               $res .= '</div>';\r
+               $res .= '</div>';\r
+               $res .= '<div id="devisBottom">' . cubeMedia::spacer(10, 10) . '</div>';\r
+               $res .= '<div class="right"><a href="#" class="submit">' . $core->typo->BoutonOK('Enregistrer et prévisualiser') . '</a></div>';\r
+               $res .= '</form>';\r
+               $res .= '</div>';\r
+               return $res;\r
+       }\r
+\r
+       public static function previewFacture($args)\r
+       {\r
+               global $core;\r
+               extranetDroits::min(1);\r
+               $dao = new extranetDAOFacture($core->con);\r
+               $facture = $dao->selectById($args[1]);\r
+\r
+               $res = extranetPage::barre();\r
+               $res .= extranetPage::tMain();\r
+               $res .= extranetPage::bh();\r
+               $res .= '<iframe src="' . SITE_PATH . 'voirfacture/' . $facture->facture_id . '" width="960" height="1000" frameborder="0"></iframe>';\r
+\r
+               $res .= '<div class="right">' . '<a href="' . SITE_PATH . 'editefacture/' . $facture->facture_id . '">' . $core->typo->BoutonOK(__('Editer la facture')) . '</a> ';\r
+               if ($facture->status == 0) {\r
+                       $res .= '<a href="#" rel="valideFacture/' . $facture->facture_id . '" class="ajax" title="' . __("La facture est sur le point d'être validée. Elle ne sera plus Ã©ditable. Veuillez confirmer votre choix ?") . '">' . $core->typo->BoutonOK(__('Valider la facture')) . '</a>';\r
+               } else {\r
+                       $res .= '<a href="' . SITE_PATH . 'factures">' . $core->typo->BoutonOK(__('Valider la facture')) . '</a>';\r
+               }\r
+               $res .= '</div>';\r
+               $res .= extranetPage::bf();\r
+               $res .= extranetPage::bMain();\r
+               return $res;\r
+       }\r
+\r
+       public static function formPrintFactures()\r
+       {\r
+               global $core;\r
+               $last = $core->user->getLastPrint();\r
+               $res = '';\r
+               if ($last['date']) {\r
+                       $res .= '<tr><td>' . __('Dernière factures imprimées') . ' : </td><td>' . __('Factures') . ' <a href="' . SITE_PATH . 'voirfacture/print_' . $core->user->utilisateur_id . '_' . $last['date'] . '" class="popupA4">' . $last['pages'] . ' (' . date('Y-m-d', $last['date']) . ')</a></td></tr>';\r
+               }\r
+               $res .= '<tr><td>' . __('Factures Ã  imprimer') . '</td><td>' . form::field('factures', 20, 64) . '</td></tr>';\r
+               $res .= '<tr><td colspan="2"><em>' . __('Ex') . ' : 1;3-5;7;9 ' . __('signifie factures') . ' 1,3,4,5,7,9</em></td></tr>';\r
+               return $res;\r
+       }\r
+\r
+       public static function chiffres($args)\r
+       {\r
+               global $core;\r
+               extranetDroits::min(2);\r
+               // $res = extranetPage::barre(null, null, null, array('<a href="http://www.google.com/calendar/" class="blank">' . $core->typo->Favoris(__('Gérer les charges sur Google Agenda')) . '</a>'));\r
+               $res = extranetPage::barre(null, null, null, null);\r
+               $res .= extranetPage::tMain();\r
+               $res .= extranetPageChiffres::listeChiffres();\r
+               $res .= extranetPage::bMain();\r
+               return $res;\r
+       }\r
+\r
+       public static function formParPage($action, $value, $nom = 'éléments', $all = true)\r
+       {\r
+               $values = array(2, 5, 10, 15, 25, 50, 100);\r
+               if ($all) {\r
+                       $datas = array(__('Tous les ') . $nom => 0);\r
+               } else {\r
+                       $datas = array();\r
+               }\r
+               foreach($values as $v) {\r
+                       $datas[$v . ' ' . $nom] = $v;\r
+               }\r
+\r
+               $res = '<form action="' . $action . '" method="post" class="submitonchange">';\r
+               $res .= '<div class="formParPage">' . __('Afficher') . ' : ' . form::combo(array('par_page'), $datas, $value) . ' ' . __('par page') . '</div>';\r
+               $res .= '<div>' . cubeMedia::spacer(950, 1) . '</div>';\r
+               $res .= '</form>';\r
+               return $res;\r
+       }\r
+\r
+       public static function dashboard($args)\r
+       {\r
+               extranetDroits::min(1);\r
+               cubePage::ui('Sortable');\r
+               $res = extranetPage::barre();\r
+               $res .= extranetPage::tMain('dash');\r
+               $res .= self::listeDashboard($args);\r
+               $res .= extranetPage::bMain();\r
+               return $res;\r
+       }\r
+\r
+       public static function listeDashboard($args)\r
+       {\r
+               global $core;\r
+               $r = $core->con->select('SELECT * FROM dashboard WHERE equipier=\'' . $core->user->utilisateur_id . '\' ORDER BY sort');\r
+               $res = '';\r
+               while ($r->fetch()) {\r
+                       $res .= '<div class="dashboard" id="dashboard_' . $r->dashboard_id . '">';\r
+                       $res .= self::displayDashboard($r);\r
+                       $res .= '</div>';\r
+               }\r
+               return $res;\r
+       }\r
+\r
+       public static function displayDashboard($r)\r
+       {\r
+               global $core;\r
+               $res = '<div class="caption">' . $core->typo->OngletBlanc($r->nom);\r
+\r
+               $close = ($r->state == '0')?' close':'';\r
+               $hide = ($r->state == '0')?' class="close"':'';\r
+\r
+               $res .= '<a href="#" rel="' . $r->dashboard_id . '" class="toggle' . $close . '">' . cubeMedia::spacer(18, 10) . '</a>';\r
+               $res .= '<a href="#" rel="formDashboard/d/' . $r->dashboard_id . '" class="edit popup">' . cubeMedia::image(IMG . '/edit.png') . '</a>';\r
+               $res .= '<a href="#" rel="delDashboard/' . $r->dashboard_id . '" class="ajax delete" title="' . __('Êtes vous certain de vouloir supprimer cette liste de votre dashboard ?') . '">' . cubeMedia::image(IMG . '/delete.png') . '</a>';\r
+               $res .= '</div>';\r
+               $res .= extranetPage::bh();\r
+               $res .= '<div' . $hide . '>';\r
+               if ($r->rubrique == 'projets') {\r
+                       $res .= self::listeProjets($r->dashboard_id, unserialize($r->settings));\r
+               } elseif ($r->rubrique == 'factures') {\r
+                       $res .= self::listeFactures($r->dashboard_id, unserialize($r->settings));\r
+               } elseif ($r->rubrique == 'devis') {\r
+                       $res .= self::listeDevis($r->dashboard_id, unserialize($r->settings));\r
+               } elseif ($r->rubrique == 'clients') {\r
+                       $res .= self::listeClients($r->dashboard_id, unserialize($r->settings));\r
+               } elseif ($r->rubrique == 'timereport') {\r
+                       $res .= self::listeTimereport($r->dashboard_id, unserialize($r->settings));\r
+               }\r
+               $res .= '</div>';\r
+               $res .= extranetPage::bf();\r
+\r
+               return $res;\r
+       }\r
+\r
+       public static function formDashboard($args)\r
+       {\r
+               global $core;\r
+               $rub = $args[1];\r
+               $dashboard_id = isset($args[2])?$args[2]:'new';\r
+\r
+               if ($dashboard_id == 'new') {\r
+                       $res = '<tr><td class="right">Titre de la liste</td><td>' . form::field('nom', 20, 128, false) . form::hidden('rubrique', $rub) . form::hidden('dashboard_id', $dashboard_id) . '</td></tr>';\r
+               } else {\r
+                       $r = $core->con->select('SELECT * FROM dashboard WHERE dashboard_id=\'' . $core->con->escape($dashboard_id) . '\'');\r
+                       $res = '<tr><td class="right">Titre de la liste</td><td>' . form::field('nom', 20, 128, $r->nom) . form::hidden('dashboard_id', $dashboard_id) . '</td></tr>';\r
+               }\r
+\r
+               return $res;\r
+       }\r
+\r
+       public static function autocomplete($args)\r
+       {\r
+               global $core;\r
+\r
+               if (isset($_GET['q'])) {\r
+                       $args[2] = $_GET['q'];\r
+               }\r
+               $q = mb_strtolower(cubeText::removeAccents($args[2]));\r
+               $suggestions = array();\r
+               if ($args[1] == 'client') {\r
+                       $dao = new extranetDAOClient($core->con);\r
+                       $dao->setSearch($q, true);\r
+                       $clients = $dao->getListe();\r
+                       foreach($clients as $client) {\r
+                               $suggestions[] = $client->utilisateur_id . ' - ' . $client->rs . ' (' . $client->prenom . ' ' . $client->nom . ')';\r
+                       }\r
+               } elseif ($args[1] == 'projet') {\r
+                       $dao = new extranetDAOProjet($core->con);\r
+                       $dao->setSearch($q, true);\r
+                       $projets = $dao->getListe();\r
+                       foreach($projets as $projet) {\r
+                               $suggestions[] = $projet->projet_id . ' - ' . $projet->nom . ' (' . $projet->client . ')';\r
+                       }\r
+               }\r
+               cubeSearch::searchSuggestion($args[2], $suggestions);\r
+               exit;\r
+       }\r
+\r
+       public static function traduction($args)\r
+       {\r
+               global $core;\r
+               extranetDroits::min(1);\r
+               $res = extranetPage::barre();\r
+               $res .= extranetPage::tMain("traduction");\r
+               $res .= extranetPage::bh();\r
+               $res .= '<form action="saveTrad" method="post">';\r
+               $res .= '<table class="liste">';\r
+               $res .= '<tr><th>' . __("Traduction de l'application en anglais") . '</th><th></th></tr>';\r
+               $res .= '</table>';\r
+               $res .= cubeLang::translationForm(ROOT . '/inc/extranet', 'en' , ROOT . '/l10n', '', array(), '<a href="#" class="submit">' . $core->typo->BoutonOK('Enregistrer') . '</a>');\r
+               $res .= '</form>';\r
+               $res .= extranetPage::bf();\r
+               $res .= extranetPage::bMain();\r
+               return $res;\r
+       }\r
+\r
+       public static function cleanTimereport($args)\r
+       {\r
+               global $core;\r
+\r
+               $r = $core->con->select('SELECT * FROM timereport');\r
+               $t = array();\r
+               while ($r->fetch()) {\r
+                       if (!isset($t[date('Y', $r->date)][$r->utilisateur_id][$r->tache_id])) {\r
+                               $t[date('Y', $r->date)][$r->utilisateur_id][$r->tache_id] = 0;\r
+                       }\r
+                       $t[date('Y', $r->date)][$r->utilisateur_id][$r->tache_id] += $r->heures;\r
+               }\r
+\r
+               foreach($t as $annee => $t1) {\r
+                       if ($annee == date('Y')) {\r
+                               continue;\r
+                       }\r
+                       $limit = cubeDate::limitYear($annee);\r
+                       $core->con->execute('DELETE FROM timereport WHERE date BETWEEN ' . $limit['start'] . ' AND ' . $limit['end']);\r
+                       $c = $core->con->openCursor('timereport');\r
+                       $c->date = mktime(1, 1, 1, 1, 1, $annee);\r
+                       foreach($t1 as $uid => $t2) {\r
+                               $c->utilisateur_id = $uid;\r
+                               foreach($t2 as $tache_id => $heures) {\r
+                                       $c->tache_id = $tache_id;\r
+                                       $c->heures = $heures;\r
+                                       $c->insert();\r
+                               }\r
+                       }\r
+               }\r
+       }\r
+\r
+       public static function rh($args)\r
+       {\r
+               global $core;\r
+               extranetDroits::min(2);\r
+               $res = extranetPage::barre();\r
+               $res .= extranetPage::tMain("rh");\r
+               $res .= extranetPage::bh();\r
+               $res .= '<div id="listeEquipiers">';\r
+               $res .= extranetUrl::listeRh(null, null);\r
+               $res .= '</div>';\r
+               $res .= extranetPage::bf();\r
+               $res .= extranetPage::bMain();\r
+               return $res;\r
+       }\r
+\r
+       public static function listeRh($dashboard = null, $settings = null)\r
+       {\r
+               global $core;\r
+               extranetDroits::min(2);\r
+               $settings = is_null($settings)?$core->user->getSettings('equipiers'):$settings;\r
+               $change = is_null($dashboard)?'Equipier':'Dashboard/' . $dashboard;\r
+               $dao = new extranetDAOEquipier($core->con);\r
+               $liste = $dao->getListe($settings['orderby'], $settings['sens'], $settings['limit']);\r
+\r
+               $res = '<table class="liste">';\r
+               $res .= '<tr><th>' . self::orderby('#', 'utilisateur_id', $settings, 'sort' . $change) . '</th>';\r
+               $res .= '<th>' . self::orderby(__('Agence'), 'agence', $settings, 'sort' . $change) . '</th>';\r
+               $res .= '<th>' . self::orderby(__('Nom'), 'nom', $settings, 'sort' . $change) . '</th>';\r
+               $res .= '<th>' . self::orderby(__('E-mail'), 'email', $settings, 'sort' . $change) . '</th>';\r
+               $res .= '<th>' . self::orderby(__('Grade'), 'grade', $settings, 'sort' . $change) . '</th>';\r
+               $res .= '<th>Notes</th>';\r
+               // $res .= '<th class="min"></th><th class="min"></th></tr>';\r
+               $i = 0;\r
+               foreach($liste as $id => $equipier) {\r
+                       $odd = cubeMath::isOdd($i)?' class="odd"':'';\r
+                       $res .= '<tr' . $odd . '>';\r
+                       $res .= '<td>' . $equipier->utilisateur_id . '</td>';\r
+                       $res .= '<td>' . $equipier->agence . '</td>';\r
+                       $res .= '<td>' . $equipier->prenom . ' ' . $equipier->nom . '</td>';\r
+\r
+                       $email = strlen($equipier->email) > 20?substr($equipier->email, 0, 17) . '...':$equipier->email;\r
+\r
+                       $res .= '<td><a href="mailto:' . cubeMail::encodeForURL($equipier->email) . '">' . $email . '</a></td>';\r
+                       $res .= '<td>' . $core->grades[$equipier->grade] . '</td>';\r
+                       $res .= '<td class="action center"><a href="#" class="popup" rel="formNotes/' . $equipier->utilisateur_id . '">' . cubeMedia::image(IMG . '/postit.png') . '</a></td>';\r
+                       // $res .= '<td class="action"><a href="#" class="popup" rel="formClient/' . $equipier->utilisateur_id . '">' . cubeMedia::image(IMG . '/edit.png') . '</a></td>';\r
+                       // $res .= '<td class="action"><a href="#" class="ajax" rel="supprimeClient/' . $equipier->utilisateur_id . '" title="' . __('Êtes vous certain de vouloir supprimer ce client ?') . '">' . cubeMedia::image(IMG . '/delete.png') . '</a></td>';\r
+                       $res .= '</tr>';\r
+                       $i++;\r
+               }\r
+               /*if (!isset($settings['search']) || is_null($settings['search'])) {\r
+                       $odd = cubeMath::isOdd($i)?' class="odd"':'';\r
+                       $res .= '<tr' . $odd . '><td colspan="10">';\r
+                       $res .= extranetPage::pager($settings['page'], $dao->count() , $settings['par_page'], 'page' . $change . '/%d');\r
+                       $res .= self::formParPage('parPage' . $change, $settings['par_page'], __('clients'));\r
+                       $res .= '</td></tr>';\r
+               }*/\r
+               $res .= '</table>';\r
+               return $res;\r
+       }\r
+       public static function fichiers($args)\r
+       {\r
+               global $core;\r
+               extranetDroits::min(0);\r
+\r
+               $settings = $core->user->getSettings('fichiers');\r
+\r
+               if ($core->user->grade > 0 && isset($args[1])) {\r
+                       $dao = new extranetDAOClient($core->con);\r
+                       $client = $dao->selectById($args[1]);\r
+                       $_SESSION['entreprise_fichiers'] = $client->entreprise;\r
+               }\r
+\r
+               $shortcuts = array();\r
+               // $shortcuts[] = '<a href="#" class="popup" rel="formProjet/new">' . $core->typo->Ajouter('Créer un projet') . '</a>';\r
+               $filtres = array();\r
+               $res = '';\r
+               if ($core->user->grade != 0) {\r
+                       $res .= extranetPage::barre(null, null, null, array('<a href="ftp://' . $client->email . ':' . $client->password . '@extranet.cubedesigners.com/" class="blank">' . $core->typo->BoutonOK(__('Accès direct FTP')) . '</a>'));\r
+               } else {\r
+                       $res .= extranetPage::barre();\r
+               }\r
+               $res .= extranetPage::tMain();\r
+               if ($core->user->grade == 0) {\r
+                       $res .= self::formFichier();\r
+               } else {\r
+                       $res .= self::formFichier($args[1]);\r
+               }\r
+               $res .= extranetPage::bh();\r
+               $res .= '<div id="listeFichiers">';\r
+               $res .= self::listeFichiers($settings);\r
+               $res .= '</div>';\r
+               $res .= extranetPage::bf();\r
+               $res .= extranetPage::bMain();\r
+               return $res;\r
+       }\r
+\r
+       public static function formFichier($for = 'client')\r
+       {\r
+               global $core;\r
+\r
+               if ($for == 'client') {\r
+                       $titre = __('Envoyez-nous un fichier');\r
+                       $texte = __('Cliquez sur le bouton Parcourir, et sélectionnez le ou les fichiers que vous souhaitez nous faire parvenir');\r
+               } else {\r
+                       $dao = new extranetDAOClient($core->con);\r
+                       $client = $dao->selectById($for);\r
+                       $titre = __('Envoyer un fichier Ã ') . ' ' . $client->prenom . ' ' . $client->nom;\r
+                       $texte = '';\r
+               }\r
+\r
+               $res = '<div class="dashboard">';\r
+               $res .= '<div class="caption">' . $core->typo->OngletBlancNoDash($titre) . '</div>';\r
+               $res .= extranetPage::bh();\r
+               $res .= '<div class="gris form">';\r
+               $res .= '<h1>' . $texte . '</h1>';\r
+\r
+               if ($for == 'client') {\r
+                       $fv = array('url' => SITE_PATH . 'upload');\r
+               } else {\r
+                       $fv = array('url' => SITE_PATH . 'upload/' . $for);\r
+               }\r
+               $fv['browseText'] = __('Parcourir') . ' ...';\r
+               $fv['finishedText'] = __('Transfert terminé');\r
+               $fv['totalText'] = __('Total');\r
+               $fv['loadingFileText'] = __('Chargement du fichier');\r
+               // $fv['debug']='true';\r
+               $fv['PHPSESSID'] = session_id();\r
+\r
+               $res .= cubeMedia::flash(WEBROOT . '/swf/uploader.swf', '970', '50', $fv, 'uploaderContainer', '', '9', '#ffffff', '', 'true', 'noscale', 'transparent');\r
+               $res .= '</div>';\r
+               $res .= extranetPage::bf();\r
+               $res .= '</div>';\r
+               return $res;\r
+       }\r
+\r
+       public static function listeFichiers($settings = null)\r
+       {\r
+               global $core;\r
+               extranetDroits::min(0);\r
+               if ($core->user->grade <= 0) {\r
+                       $entreprise = $core->user->entreprise;\r
+               } else {\r
+                       $entreprise = $_SESSION['entreprise_fichiers'];\r
+               }\r
+\r
+               $settings = is_null($settings)?$core->user->getSettings('fichiers'):$settings;\r
+               $dao = new extranetDAOFichier($core->con);\r
+               $change = 'Fichiers';\r
+               $dao->entreprise_id = $entreprise;\r
+               if (isset($settings['search']) && !is_null($settings['search'])) {\r
+                       $dao->setSearch($settings['search']);\r
+               }\r
+               $liste = $dao->getListe($settings['orderby'], $settings['sens'], $settings['limit']);\r
+\r
+               $res = '<table class="liste">';\r
+               $res .= '<tr><th>' . self::orderby(__('Nom de fichier'), 'nom', $settings, 'sort' . $change) . '</th>';\r
+               $res .= '<th>' . self::orderby(__('Type'), 'type', $settings, 'sort' . $change) . '</th>';\r
+               $res .= '<th>' . self::orderby(__('Taille'), 'taille', $settings, 'sort' . $change) . '</th>';\r
+               $res .= '<th>' . self::orderby(__('Date'), 'date', $settings, 'sort' . $change) . '</th>';\r
+               $res .= '<th>' . self::orderby(__('Envoyé par'), 'contact', $settings, 'sort' . $change) . '</th>';\r
+               $res .= '<th>' . self::orderby(__('Destiné Ã '), 'destinataire', $settings, 'sort' . $change) . '</th>';\r
+               $res .= '<th class="min"></th><th class="min"></th></tr>';\r
+               $i = 0;\r
+               foreach($liste as $fichier) {\r
+                       $odd = cubeMath::isOdd($i)?' class="odd"':'';\r
+                       $res .= '<tr' . $odd . '>';\r
+                       $res .= '<td>' . $fichier->nom . '</td>';\r
+                       $res .= '<td>' . $fichier->type . '</td>';\r
+                       $res .= '<td>' . files::size($fichier->taille) . '</td>';\r
+                       $res .= '<td>' . date(__('d/m/Y'), $fichier->date) . '</td>';\r
+                       $res .= '<td>' . $fichier->contact->prenom . ' ' . $fichier->contact->nom . '</td>';\r
+                       if ($fichier->destinataire) {\r
+                               $res .= '<td>' . $fichier->destinataire->prenom . ' ' . $fichier->destinataire->nom . '</td>';\r
+                       } else {\r
+                               $res .= '<td></td>';\r
+                       }\r
+                       $res .= '<td><a href="' . SITE_PATH . 'telecharger' . $fichier->relPath . '">' . $core->typo->Telecharger('Télécharger') . '</a></td>';\r
+                       $res .= '<td><a href="#" class="ajax" rel="supprimeFichier' . $fichier->relPath . '" title="' . __('Êtes-vous certain de vouloir supprimer ce fichier ?') . '">' . cubeMedia::image(IMG . '/delete.png') . '</a></td>';\r
+                       $res .= '</tr>';\r
+                       $i++;\r
+               }\r
+               if (!isset($settings['search']) || is_null($settings['search'])) {\r
+                       $odd = cubeMath::isOdd($i)?' class="odd"':'';\r
+                       $res .= '<tr' . $odd . '><td colspan="12">' ;\r
+                       $res .= extranetPage::pager($settings['page'], $dao->count() , $settings['par_page'], 'page' . $change . '/%d');\r
+                       $res .= self::formParPage('parPage' . $change, $settings['par_page'], __('fichiers'));\r
+                       $res .= '</td></tr>';\r
+               }\r
+               $res .= '</table>';\r
+               return $res;\r
+       }\r
+\r
+       public static function telecharger($args)\r
+       {\r
+               array_shift($args);\r
+               $path = implode('/', $args);\r
+               $utilisateur_id = array_shift($args);\r
+               extranetDroits::telecharger($utilisateur_id);\r
+               $dir = md5($path . (rand(1, 235548684) * 50.5));\r
+               $nom = array_pop($args);\r
+               @mkdir(ROOT . '/cache/download/' . $dir, 0755, true);\r
+               copy('/usb/ftpextranet/' . $path, ROOT . '/cache/download/' . $dir . '/' . $nom);\r
+\r
+               http::redirect(WEBROOT . '/cache/download/' . $dir . '/' . $nom);\r
+       }\r
+\r
+       public static function upload($args)\r
+       {\r
+               global $core;\r
+               if (isset($args[1]) && $args[1] != '') {\r
+                       $for = $args[1];\r
+               } else {\r
+                       $for = false;\r
+               }\r
+\r
+               if (!$for) {\r
+                       $destrel = $core->user->utilisateur_id;\r
+               } else {\r
+                       $destrel = $for . '/.in/' . $core->user->utilisateur_id;\r
+               }\r
+               $dest = FTPROOT . $destrel;\r
+               if (!file_exists($dest)) {\r
+                       mkdir($dest, 0755, true);\r
+               }\r
+\r
+               if (!isset($_SESSION['files_uploaded'])) {\r
+                       $_SESSION['files_uploaded'] = array();\r
+               }\r
+               foreach($_FILES as $f) {\r
+                       if ($f['error']) {\r
+                               continue;\r
+                       }\r
+                       $fname = cubeFiles::tidyName($f['name']);\r
+                       while (file_exists($dest . '/' . $fname)) {\r
+                               $name = cubeFiles::getName($fname);\r
+                               $ext = files::getExtension($fname);\r
+\r
+                               $name .= '.' . rand(1, 9);\r
+                               $fname = $name . '.' . $ext;\r
+                       }\r
+\r
+                       move_uploaded_file($f['tmp_name'], $dest . '/' . $fname);\r
+                       $_SESSION['files_uploaded'][] = $destrel . '/' . $fname;\r
+\r
+                       if (isset($_POST['last']) && $_POST['last'] == '1') {\r
+                               $mail = new cubeMail();\r
+                               $mail->from = 'Extranet Cubedesigners<extranet@cubedesigners.com>';\r
+                               if (!$for) {\r
+                                       $mail->to = 'team@cubedesigners.com';\r
+                                       $mail->subject = '[Extranet] Nouveaux fichiers uploadés par ' . $core->user->prenom . ' ' . $core->user->nom;\r
+                                       $body = 'Tous les fichiers de ' . $core->user->prenom . ' ' . $core->user->nom . ' : http://extranet.cubedesigners.com/fichiers/' . $core->user->utilisateur_id . "\n\n";\r
+                                       $body .= 'Fichiers chargés : ' . "\n";\r
+                                       foreach($_SESSION['files_uploaded'] as $f) {\r
+                                               $body .= ' - http://extranet.cubedesigners.com/telecharger/' . $f . "\n";\r
+                                       }\r
+                               } else {\r
+                                       $dao = new extranetDAOClient($core->con);\r
+                                       $client = $dao->selectById($for);\r
+\r
+                                       $mail->to = $core->user->email;\r
+                                       $mail->subject = '[Extranet] Nouveaux fichiers uploadés pour ' . $client->prenom . ' ' . $client->nom;\r
+\r
+                                       $body = 'Tous les fichiers de ' . $client->prenom . ' ' . $client->nom . ' : http://extranet.cubedesigners.com/fichiers/' . $client->utilisateur_id . "\n\n";\r
+                                       $body .= 'Fichiers chargés : ' . "\n";\r
+                                       foreach($_SESSION['files_uploaded'] as $f) {\r
+                                               $body .= ' - http://extranet.cubedesigners.com/telecharger/' . $f . "\n";\r
+                                       }\r
+                                       $body .= "\n" . 'Rappel des identifiants de connexion Ã  l\'extranet Cubedesigners : ' . "\n";\r
+                                       $body .= ' - Adresse : http://extranet.cubedesigners.com/' . "\n";\r
+                                       $body .= ' - Login : ' . $client->email . "\n";\r
+                                       $body .= ' - Mot de passe : ' . $client->password . "\n";\r
+                               }\r
+                               $mail->body = $body;\r
+                               $ok = $mail->send();\r
+                               $_SESSION['files_uploaded'] = array();\r
+                       }\r
+               }\r
+               ob_clean();\r
+               exit;\r
+       }\r
+\r
+       public static function cleanDownload($args)\r
+       {\r
+               $root = ROOT . '/cache/download/';\r
+               cubeFiles::scanRecursiveDir($root, $files);\r
+               foreach($files as $f) {\r
+                       if (filemtime($f) + 7200 < TIME) {\r
+                               unlink($f);\r
+                       }\r
+               }\r
+               $files = cubeFiles::scandir($root, true);\r
+               foreach($files as $f) {\r
+                       if (cubeFiles::isEmpty($f)) {\r
+                               @rmdir($f);\r
+                       }\r
+               }\r
+       }\r
+}\r
+\r
+?>
\ No newline at end of file
diff --git a/inc/extranet/Controlleur/class.ws.droits.php b/inc/extranet/Controlleur/class.ws.droits.php
new file mode 100644 (file)
index 0000000..b075f00
--- /dev/null
@@ -0,0 +1,14 @@
+<?php\r
+class wsDroits {\r
+       public static function navigation()\r
+       {\r
+               global $core;\r
+\r
+               $nav = array();\r
+               $nav[__('Dashboard')] = 'dashboard';\r
+               $nav[__('Publications')] = 'books';\r
+               return $nav;\r
+       }\r
+}\r
+\r
+?>
\ No newline at end of file
diff --git a/inc/extranet/Controlleur/class.ws.flash.php b/inc/extranet/Controlleur/class.ws.flash.php
new file mode 100644 (file)
index 0000000..2ec796c
--- /dev/null
@@ -0,0 +1,22 @@
+<?php\r
+class wsFlash extends cubeFlashGateway {\r
+       const CNAME = __CLASS__;\r
+       public static function in($args)\r
+       {\r
+               global $core;\r
+               $args = cubePage::getArgs($args);\r
+               $n = self::CNAME;\r
+               $gateway = new $n($core->con, $args);\r
+       }\r
+\r
+       public function uploadDocument()\r
+       {\r
+\r
+       }\r
+\r
+       public function testDocuments(){\r
+\r
+       }\r
+}\r
+\r
+?>
\ No newline at end of file
diff --git a/inc/extranet/Controlleur/class.ws.url.php b/inc/extranet/Controlleur/class.ws.url.php
new file mode 100644 (file)
index 0000000..d4d228b
--- /dev/null
@@ -0,0 +1,171 @@
+<?php\r
+class wsUrl {\r
+       public static function books($args)\r
+       {\r
+               global $core;\r
+\r
+               $settings = $core->user->getSettings('books');\r
+\r
+               $shortcuts = array();\r
+               $shortcuts[] = '<a href="' . SITE_PATH . 'editebook/new">' . $core->typo->Ajouter(__('Créer une nouvelle publication')) . '</a>';\r
+\r
+               $filtres = array();\r
+               $filtres[] = new extranetFiltre(__('Status'), 'status_book', $settings['filtres']);\r
+               $filtres[] = new extranetFiltre(__('Année'), 'annee_book', $settings['filtres']);\r
+               $res = extranetPage::barre($filtres , 'filtreBooks', 'books', $shortcuts);\r
+               $res .= extranetPage::tMain(null, true);\r
+               $res .= extranetPage::bh();\r
+               $res .= '<div id="listeBooks">';\r
+               $res .= self::listeBooks();\r
+               $res .= '</div>';\r
+               $res .= extranetPage::bf();\r
+               $res .= extranetPage::bMain();\r
+               return $res;\r
+       }\r
+\r
+       public static function listeBooks($dashboard = null, $settings = null)\r
+       {\r
+               global $core;\r
+               cubePage::truePopup();\r
+               extranetDroits::min(1);\r
+               $settings = is_null($settings)?$core->user->getSettings('books'):$settings;\r
+               $change = is_null($dashboard)?'Books':'Dashboard/' . $dashboard;\r
+               $dao = new wsDAOBook($core->con);\r
+               if (isset($settings['search']) && !is_null($settings['search'])) {\r
+                       $dao->setSearch($settings['search']);\r
+               }\r
+               $dao->setFiltres($settings['filtres']);\r
+               $liste = $dao->getListe($settings['orderby'], $settings['sens'], $settings['limit']);\r
+\r
+               $res = '<table class="liste">';\r
+               $res .= '<tr><th>' . extranetUrl::orderby('#', 'book_id', $settings, 'sort' . $change) . '</th>';\r
+               $res .= '<th>' . extranetUrl::orderby(__('Titre de la publication'), 'nom', $settings, 'sort' . $change) . '</th>';\r
+               $res .= '<th>' . extranetUrl::orderby(__(''), 'lang', $settings, 'sort' . $change) . '</th>';\r
+               $res .= '<th>' . extranetUrl::orderby(__('Proprietaire'), 'proprietaire_nom', $settings, 'sort' . $change) . '</th>';\r
+               $res .= '<th>' . extranetUrl::orderby(__('Facturation'), 'facturable', $settings, 'sort' . $change) . '</th>';\r
+               $res .= '<th>' . extranetUrl::orderby(__('Status'), 'status', $settings, 'sort' . $change) . '</th>';\r
+               $res .= '<th class="min"></th><th class="min"></th><th class="min"></th><th class="min"></th><th class="min"></th></tr>';\r
+               $i = 0;\r
+\r
+               foreach($liste as $id => $book) {\r
+                       $odd = cubeMath::isOdd($i)?' class="odd"':'';\r
+                       $res .= '<tr' . $odd . '>';\r
+                       $res .= '<td>' . $book->book_id . '</td>';\r
+                       $res .= '<td>' . $book->nom . '</td>';\r
+                       $res .= '<td>' . mb_strtoupper($book->lang) . '</td>';\r
+                       $res .= '<td>' . $book->proprietaire . '</td>';\r
+                       $f = $book->facturable;\r
+                       $res .= '<td>' . $f . '</td>';\r
+                       $res .= '<td>' . $core->books_status[$book->status] . '</td>';\r
+                       $res .= '<td class="bouton"><a href="' . SITE_PATH . 'voirbook/' . $book->book_id . '_' . $book->hash . '_' . TIME . '/" class="popupFS">' . cubeMedia::cssRollover($core->typo->Voir('voir', '', false)) . '</a></td>';\r
+                       $res .= '<td class="bouton"><a href="' . SITE_PATH . 'editbook/' . $book->book_id . '">' . cubeMedia::cssRollover($core->typo->Editer('éditer', '', false)) . '</a></td>';\r
+                       $res .= '<td class="bouton"><a href="' . SITE_PATH . 'supprimebook/' . $book->book_id . '">' . cubeMedia::cssRollover($core->typo->Stats('stats', '', false)) . '</a></td>';\r
+                       $res .= '<td class="bouton"><a href="' . SITE_PATH . 'supprimebook/' . $book->book_id . '">' . cubeMedia::cssRollover($core->typo->Telecharger('télécharger', '', false)) . '</a></td>';\r
+                       $res .= '<td class="bouton"><a href="' . SITE_PATH . 'supprimebook/' . $book->book_id . '">' . cubeMedia::cssRollover($core->typo->Supprimer('suppr.', '', false)) . '</a></td>';\r
+                       $res .= '</tr>';\r
+                       $i++;\r
+               }\r
+               if (!isset($settings['search']) || is_null($settings['search'])) {\r
+                       $odd = cubeMath::isOdd($i)?' class="odd"':'';\r
+                       $res .= '<tr' . $odd . '><td colspan="11">';\r
+                       $res .= extranetPage::pager($settings['page'], $dao->count() , $settings['par_page'], 'page' . $change . '/%d');\r
+                       $res .= extranetUrl::formParPage('parPage' . $change, $settings['par_page'], __('publications'), false);\r
+                       $res .= '</td></tr>';\r
+               }\r
+               $res .= '</table>';\r
+               return $res;\r
+       }\r
+\r
+       public static function editbook($args)\r
+       {\r
+               global $core;\r
+               $book_id = $args[1];\r
+               $step = isset($args[2])?$args[2]:1;\r
+\r
+               $shortcuts = array();\r
+\r
+               $steps = array();\r
+               $steps[1] = __('Composition');\r
+               $steps[2] = __('Personnalisation');\r
+               $steps[3] = __('Paramètres');\r
+               $steps[4] = __('Edition des liens');\r
+               $steps[5] = __('Aperçu');\r
+\r
+               foreach($steps as $s => $n) {\r
+                       $template = 'Step';\r
+                       if ($s == $step) {\r
+                               $class = 'step active';\r
+                               $ae = $as = '';\r
+                       } else {\r
+                               $class = 'step';\r
+                               $as = '<a href="' . SITE_PATH . 'editbook/' . $book_id . '/' . $s . '">';\r
+                               $ae = '</a>';\r
+                       }\r
+\r
+                       if ($s == count($steps)) {\r
+                               $template = 'Last' . $template;\r
+                       }\r
+                       $shortcuts[] = $as . $core->typo->$template($s . '. ' . $n, $class, -1) . $ae;\r
+               }\r
+\r
+               $res = extranetPage::barre(null , null, null, $shortcuts);\r
+               $res .= extranetPage::tMain(null, true);\r
+               $res .= extranetPage::bh();\r
+               $res .= '<div id="listeBooks">';\r
+               if ($step == 1) {\r
+                       $res .= self::editComposition($args);\r
+               } elseif ($step == 2) {\r
+                       $res .= self::editTheme($args);\r
+               } elseif ($step == 3) {\r
+                       $res .= self::editParametres($args);\r
+               } elseif ($step == 4) {\r
+                       $res .= self::editLinks($args);\r
+               } else {\r
+                       $res .= self::editApercu($args);\r
+               }\r
+               $res .= '</div>';\r
+               $res .= extranetPage::bf();\r
+               $res .= extranetPage::bMain();\r
+               return $res;\r
+       }\r
+\r
+       public static function editComposition($args)\r
+       {\r
+               $fv = array(session_name() => session_id(),\r
+                       'book_id' => $args[1],\r
+                       'finishedText' => __('Transfert terminé'),\r
+                       'loadingFileText' => __('Chargement du fichier'),\r
+                       'totalText' => __('Total'),\r
+                       'browseText' => __('Parcourir') . ' ...',\r
+                       'titreUpload' => __('Sélectionnez un ou plusieurs document PDF sur votre ordinateur'),\r
+                       'titreComposition' => __('Organisez le(s) document(s) pour composer votre fluidbook'));\r
+               $res = cubeMedia::flash(WEBROOT . '/swf/composer.swf', '960', '100%', $fv, 'composerSwf', 'swfPanel', 9, '#ffffff');\r
+               return $res;\r
+       }\r
+\r
+       public static function editTheme($args)\r
+       {\r
+               $fv = array(session_name() => session_id(),\r
+                       'book_id' => $args[1]);\r
+               $res = cubeMedia::flash(WEBROOT . '/swf/theme.swf', '960', '100%', $fv, 'composerSwf', 'swfPanel', 9, '#ffffff');\r
+               return $res;\r
+       }\r
+\r
+       public static function editParametres($args)\r
+       {\r
+       }\r
+\r
+       public static function editLinks($args)\r
+       {\r
+               $fv = array(session_name() => session_id(),\r
+                       'book_id' => $args[1]);\r
+               $res = cubeMedia::flash(WEBROOT . '/swf/links.swf', '960', '100%', $fv, 'composerSwf', 'swfPanel', 9, '#ffffff');\r
+               return $res;\r
+       }\r
+\r
+       public static function editApercu($args)\r
+       {\r
+       }\r
+}\r
+\r
+?>
\ No newline at end of file
diff --git a/inc/extranet/DAO/_common.php b/inc/extranet/DAO/_common.php
new file mode 100644 (file)
index 0000000..b2f933f
--- /dev/null
@@ -0,0 +1,16 @@
+<?php\r
+$__autoload['extranetDAO'] = dirname(__FILE__) . '/class.extranet.dao.php';\r
+$__autoload['extranetDAOUtilisateur'] = dirname(__FILE__) . '/class.extranet.dao.utilisateur.php';\r
+$__autoload['extranetDAOClient'] = dirname(__FILE__) . '/class.extranet.dao.client.php';\r
+$__autoload['extranetDAOEquipier'] = dirname(__FILE__) . '/class.extranet.dao.equipier.php';\r
+$__autoload['extranetDAODevis'] = dirname(__FILE__) . '/class.extranet.dao.devis.php';\r
+$__autoload['extranetDAOFacture'] = dirname(__FILE__) . '/class.extranet.dao.facture.php';\r
+$__autoload['extranetDAOProjet'] = dirname(__FILE__) . '/class.extranet.dao.projet.php';\r
+$__autoload['extranetDAOTache'] = dirname(__FILE__) . '/class.extranet.dao.tache.php';\r
+$__autoload['extranetDAOTimereport'] = dirname(__FILE__) . '/class.extranet.dao.timereport.php';\r
+$__autoload['extranetDAOEntreprise'] = dirname(__FILE__) . '/class.extranet.dao.entreprise.php';\r
+$__autoload['extranetDAOFichier'] = dirname(__FILE__) . '/class.extranet.dao.fichier.php';\r
+\r
+$__autoload['wsDAOBook'] = dirname(__FILE__) . '/class.ws.dao.book.php';\r
+\r
+?>
\ No newline at end of file
diff --git a/inc/extranet/DAO/class.extranet.dao.client.php b/inc/extranet/DAO/class.extranet.dao.client.php
new file mode 100644 (file)
index 0000000..eb8ea1a
--- /dev/null
@@ -0,0 +1,94 @@
+<?php\r
+class extranetDAOClient extends extranetDAOUtilisateur {\r
+       protected function singleton($r, $utilisateur = null)\r
+       {\r
+               $utilisateur = new extranetClient();\r
+               $utilisateur->rs = $r->rs;\r
+               return parent::singleton($r, $utilisateur);\r
+       }\r
+\r
+       public function cree($utilisateur = null)\r
+       {\r
+               $utilisateur = new extranetClient();\r
+               $utilisateur->rs = '';\r
+               return parent::cree($utilisateur);\r
+       }\r
+\r
+       public function selectById($client_id)\r
+       {\r
+               $r = $this->con->select('SELECT * FROM clients WHERE utilisateur_id=' . $this->con->escape($client_id) . ' LIMIT 1');\r
+               $res = $this->factory($r);\r
+               if (!count($res)) {\r
+                       return null;\r
+               }\r
+               return $res[0];\r
+       }\r
+\r
+       public function selectByProjet($projet_id)\r
+       {\r
+               $r = $this->con->select('SELECT * FROM clients WHERE utilisateur_id IN(SELECT client FROM projets WHERE projet_id=\'' . $projet_id . '\') LIMIT 1');\r
+               return $this->singleton($r);\r
+       }\r
+\r
+       public function getListe($orderby = null, $sens = null, $limit = null)\r
+       {\r
+               $sql = $this->getQueryList('clients', $orderby, $sens, $limit);\r
+               fb($sql);\r
+               $r = $this->con->select($sql);\r
+               return $this->factory($r);\r
+       }\r
+\r
+       public function getContactsOfEntreprise($entreprise_id, $return_as_array = false)\r
+       {\r
+               $r = $this->con->select('SELECT * FROM clients WHERE entreprise=\'' . $this->con->escape($entreprise_id) . '\'');\r
+               return $this->factory($r);\r
+       }\r
+\r
+       public function getCollegues($utilisateur_id)\r
+       {\r
+               $r = $this->con->select('SELECT * FROM clients WHERE entreprise IN (SELECT entreprise FROM utilisateurs WHERE utilisateur_id=\'' . $this->con->escape($utilisateur_id) . '\')');\r
+               return $this->factory($r);\r
+       }\r
+\r
+       public function querySearchByName($q)\r
+       {\r
+               return 'SELECT utilisateur_id FROM utilisateurs WHERE (' . $this->whereSearchByName($q) . ') AND grade=0';\r
+       }\r
+\r
+       public function count()\r
+       {\r
+               $r = $this->con->select('SELECT COUNT(*) AS nb FROM clients WHERE ' . $this->makeWhereFromFiltres());\r
+               return $r->nb;\r
+       }\r
+\r
+       protected function makeWhereFromFiltres()\r
+       {\r
+               if (!is_null($this->filtres)) {\r
+                       $w = array('1=1');\r
+                       if (extranetFiltre::test('status_client_projet', $this->filtres)) {\r
+                               $w[] = 'utilisateur_id IN(SELECT client FROM projets WHERE status IN(' . implode(',', array_keys($this->filtres['status_client_projet'])) . '))';\r
+                       }\r
+                       if (extranetFiltre::test('impaye', $this->filtres)) {\r
+                               if (isset($this->filtres['impaye'][1])) {\r
+                                       $w[] = '(impaye>0 OR impaye IS NOT NULL)';\r
+                               } else {\r
+                                       $w[] = '(impaye=0 OR impaye IS NULL)';\r
+                               }\r
+                       }\r
+                       return implode(' AND ', $w);\r
+               } else {\r
+                       return '1=1';\r
+               }\r
+       }\r
+\r
+       public function getContactsOfEntreprises($entreprises_ids)\r
+       {\r
+               if (!count($entreprises_ids)) {\r
+                       return array();\r
+               }\r
+               $r = $this->con->select('SELECT * FROM clients WHERE entreprise IN(' . implode(',', $entreprises_ids) . ')');\r
+               return $this->factory($r);\r
+       }\r
+}\r
+\r
+?>
\ No newline at end of file
diff --git a/inc/extranet/DAO/class.extranet.dao.devis.php b/inc/extranet/DAO/class.extranet.dao.devis.php
new file mode 100644 (file)
index 0000000..52be320
--- /dev/null
@@ -0,0 +1,315 @@
+<?php\r
+\r
+class extranetDAODevis extends extranetDAO {\r
+       /**\r
+        * extranetDAODevis::singleton()\r
+        *\r
+        * Retourne une instance de l'objet extranetDevis\r
+        * correspondant Ã  l'enregistrement $r issu de la base de données\r
+        *\r
+        * @param recordSet $r\r
+        * @return extranetDevis\r
+        */\r
+       protected function singleton($r)\r
+       {\r
+               $devis = new extranetDevis();\r
+               $devis->devis_id = $r->devis_id;\r
+               $devis->nom = $r->nom;\r
+               $devis->total_ht = $r->total_ht;\r
+               $devis->createur = $r->createur;\r
+               $devis->createur_id = $r->createur_id;\r
+               $devis->date_creation = $r->date_creation;\r
+               $devis->status = $r->status;\r
+               $devis->client = $r->client;\r
+               $devis->client_id = $r->client_id;\r
+               $devis->adresse = $r->adresse;\r
+\r
+               $devis->lignes = unserialize($r->lignes);\r
+               $devis->email = unserialize($r->email);\r
+               return $devis;\r
+       }\r
+\r
+       /**\r
+        * extranetDAODevis::cree()\r
+        *\r
+        * Crée un objet devis par défaut.\r
+        *\r
+        * @return extranetDevis\r
+        */\r
+       public function cree()\r
+       {\r
+               $devis = new extranetDevis();\r
+               $devis->devis_id = 'new';\r
+               $devis->nom = '';\r
+               $devis->total_ht = 0;\r
+               $devis->createur = '';\r
+               $devis->createur_id = 0;\r
+               $devis->date_creation = time();\r
+               $devis->status = 0;\r
+               $devis->client = '';\r
+               $devis->client_id = 0;\r
+               $devis->lignes = array();\r
+               $devis->email = array('sujet' => '', 'corps' => '');\r
+               $devis->adresse = '';\r
+               return $devis;\r
+       }\r
+\r
+       /**\r
+        * extranetDAODevis::getNextId()\r
+        *\r
+        * Retourne le prochain id du devis pour une insertion\r
+        *\r
+        * @return integer\r
+        */\r
+       protected function getNextId()\r
+       {\r
+               $r = $this->con->select('SELECT MAX(devis_id) AS devis_id FROM devis');\r
+               return $r->devis_id + 1;\r
+       }\r
+\r
+       /**\r
+        * extranetDAODevis::duplicate()\r
+        *\r
+        * Duplique un devis et retourne l'instance du nouveau devis\r
+        *\r
+        * @param integer $devis_id\r
+        * @return extranetDevis\r
+        */\r
+       public function duplique($devis_id, $createur)\r
+       {\r
+               $devis = $this->selectById($devis_id);\r
+\r
+               $c = $this->con->openCursor('devis');\r
+               $c->devis_id = $this->getNextId();\r
+               $c->nom = $devis->nom;\r
+               $c->client = $devis->client_id;\r
+               $c->createur = $createur;\r
+               $c->date_creation = time();\r
+               $c->status = 0;\r
+               $c->total_ht = $devis->total_ht;\r
+               $c->email = serialize($devis->email);\r
+               $c->lignes = serialize($devis->lignes);\r
+               $c->adresse = $devis->adresse;\r
+               $c->insert();\r
+\r
+               return $this->selectById($c->devis_id);\r
+       }\r
+\r
+       /**\r
+        * extranetDAODevis::selectById()\r
+        *\r
+        * Retourne le devis correspondant Ã  l'id passé en argument\r
+        *\r
+        * @param integer $id\r
+        * @return extranetDevis\r
+        */\r
+       public function selectById($devis_id = null)\r
+       {\r
+               if (is_null($devis_id)) {\r
+                       return $this->cree();\r
+               }\r
+\r
+               $r = $this->con->select('SELECT * FROM devis_vue WHERE devis_id=\'' . $this->con->escape($devis_id) . '\' LIMIT 1');\r
+               return $this->singleton($r);\r
+       }\r
+\r
+       /**\r
+        * extranetDAODevis::getListe()\r
+        *\r
+        * Retourne un tableau contenant la liste des devis correspondants aux critères\r
+        * passés en argument\r
+        *\r
+        * @param string $q\r
+        * @param string $orderby\r
+        * @param string $sens\r
+        * @param array $limit\r
+        * @param boolean $search_id\r
+        * @return array\r
+        */\r
+       public function getListe($orderby = null, $sens = null, $limit = null)\r
+       {\r
+               global $core;\r
+               if (!is_null($this->q)) {\r
+                       $where = '';\r
+                       $where .= 'devis_id=\'' . $this->con->escape($this->q) . '\' OR ';\r
+                       $where .= 'nom LIKE \'%' . $this->con->escape($this->q) . '%\'';\r
+                       $daoClient = new extranetDAOClient($this->con);\r
+                       $where .= ' OR client_id IN(' . $daoClient->querySearchByName($this->q) . ')';\r
+                       $limit = null;\r
+               } else {\r
+                       $where = $this->makeWhereFromFiltres();\r
+               }\r
+\r
+               $orderby = is_null($orderby)?'devis_id':$orderby;\r
+               $sens = is_null($sens)?'DESC':$sens;\r
+               $limit = is_null($limit)?'':$this->con->limit($limit[0], $limit[1]);\r
+\r
+               $sql = 'SELECT * FROM devis_vue WHERE ' . $where . ' ORDER BY ' . $orderby . ' ' . $sens . ' ' . $limit;\r
+               $r = $this->con->select($sql);\r
+               return $this->factory($r);\r
+       }\r
+\r
+       public function getListeValidesLibres($except)\r
+       {\r
+               $sql = 'SELECT * FROM devis_vue WHERE devis_id NOT IN (SELECT devis FROM projets WHERE projet_id!=\'' . $except . '\') AND status=2';\r
+               $r = $this->con->select($sql);\r
+               return $this->factory($r);\r
+       }\r
+\r
+       public function getListeForClient($client_id, $orderby, $sens)\r
+       {\r
+               $sql = 'SELECT * FROM devis_vue WHERE client_id=\'' . $this->con->escape($client_id) . '\' AND status>0 ORDER BY ' . $orderby . ' ' . $sens;\r
+               $r = $this->con->select($sql);\r
+               return $this->factory($r);\r
+       }\r
+\r
+       /**\r
+        * extranetDAODevis::sauve()\r
+        *\r
+        * Sauvegarde en base un enregistrement dans la table devis correspondant\r
+        * aux données du tableau $data\r
+        *\r
+        * @param array $data\r
+        * @return extranetDevis\r
+        */\r
+       public function sauve($createur, $data)\r
+       {\r
+               global $core;\r
+\r
+               $lignes = array();\r
+               foreach($data['montant'] as $i => $montant) {\r
+                       $ligne = array('titre' => $data['titre'][$i], 'description' => $data['description'][$i], 'montant' => $data['montant'][$i]);\r
+                       if ($ligne['titre'] == '' && $ligne['description'] == '' && $ligne['montant'] == '') {\r
+                               continue;\r
+                       }\r
+                       $lignes[] = $ligne;\r
+               }\r
+\r
+               $c = $this->con->openCursor('devis');\r
+               $c->lignes = serialize($lignes);\r
+               $c->email = serialize($data['email']);\r
+               $c->client = $data['client'];\r
+               $c->nom = $data['nom'];\r
+               $c->status = 0;\r
+               $c->date_creation = time();\r
+               $c->total_ht = 0;\r
+               $c->adresse = $data['adresse'];\r
+               foreach($lignes as $d) {\r
+                       $c->total_ht += (float)$d['montant'];\r
+               }\r
+\r
+               if ($data['devis_id'] == 'new' || $data['devis_id'] == '') {\r
+                       $c->createur = $createur;\r
+                       $devis_id = $c->devis_id = $this->getNextId();\r
+                       $c->insert();\r
+               } else {\r
+                       $devis_id = $data['devis_id'];\r
+                       $c->update('WHERE devis_id=\'' . $this->con->escape($data['devis_id']) . '\'');\r
+               }\r
+\r
+               return $this->selectById($devis_id);\r
+       }\r
+\r
+       public function saveAsPdf($devis_id)\r
+       {\r
+               /*\r
+               $facture = $this->selectById($facture_id);\r
+               $daoUtilisateur = new extranetDAOUtilisateur($this->con);\r
+               $facture->client = $daoUtilisateur->selectById($facture->client_id);\r
+               $facture->createur = $daoUtilisateur->selectById($facture->createur_id);\r
+               if ($facture->status == 4) {\r
+                       $facture->avoir = $this->selectById($facture->avoir);\r
+               }\r
+               // Chargement des paramètres de la langue du client\r
+               cubeLang::set($facture->client->lang);\r
+               $pdf = $facture->saveAsPDF();\r
+               if (file_exists(ROOT . '/factures/' . $facture->facture_id . '.pdf')) {\r
+                       rename(ROOT . '/factures/' . $facture->facture_id . '.pdf', ROOT . '/factures/' . $facture->facture_id . '_' . filemtime(ROOT . '/factures/' . $facture->facture_id . '.pdf') . '.pdf');\r
+               }\r
+               $pdf->Output(ROOT . '/factures/' . $facture->facture_id . '.pdf');\r
+               */\r
+\r
+               $devis = $this->selectById($devis_id);\r
+\r
+               $daoUtilisateur = new extranetDAOUtilisateur($this->con);\r
+               $devis->createur = $daoUtilisateur->selectById($devis->createur_id);\r
+               $devis->client = $daoUtilisateur->selectById($devis->client_id);\r
+               // Chargement des paramètres de la langue du client\r
+               cubeLang::set($devis->client->lang);\r
+               $pdf = $devis->saveAsPDF();\r
+               if (file_exists(ROOT . '/devis/' . $devis->devis_id . '.pdf')) {\r
+                       rename(ROOT . '/devis/' . $devis->devis_id . '.pdf', ROOT . '/devis/' . $devis->devis_id . '_' . filemtime(ROOT . '/devis/' . $devis->devis_id . '.pdf') . '.pdf');\r
+               }\r
+               $pdf->Output(ROOT . '/devis/' . $devis->devis_id . '.pdf');\r
+               // Restaure les paramètres de langue de l'utilisateur\r
+               cubeLang::set($core->user->lang);\r
+       }\r
+\r
+       /**\r
+        * extranetDAODevis::changeStatus()\r
+        *\r
+        * Passe le devis au status suivant\r
+        *\r
+        * @param integer $devis_id\r
+        * @return boolean\r
+        */\r
+       public function changeStatus($devis_id, $status = 'next')\r
+       {\r
+               if (!$status) {\r
+                       return;\r
+               }\r
+               if ($status == 'next') {\r
+                       $r = $this->con->select('SELECT status FROM devis WHERE devis_id=\'' . $this->con->escape($devis_id) . '\'');\r
+                       $trans = array(1 => 2, 2 => 3, 3 => 1);\r
+                       $status = $trans[$r->status];\r
+               }\r
+               return $this->con->execute('UPDATE devis SET status=' . $status . ' WHERE devis_id=\'' . $this->con->escape($devis_id) . '\'');\r
+       }\r
+\r
+       /**\r
+        * extranetDAODevis::supprime()\r
+        *\r
+        * Supprime le devis de la base de données\r
+        *\r
+        * @param integer $devis_id\r
+        * @return boolean\r
+        */\r
+       public function supprime($devis_id)\r
+       {\r
+               return $this->con->execute('DELETE FROM devis WHERE devis_id=\'' . $this->con->escape($devis_id) . '\'');\r
+       }\r
+\r
+       /**\r
+        * extranetDAODevis::count()\r
+        *\r
+        * Retourne le nombre total de devis dans le système\r
+        *\r
+        * @return integer\r
+        */\r
+       public function count()\r
+       {\r
+               $r = $this->con->select('SELECT COUNT(*) AS nb FROM devis_vue WHERE ' . $this->makeWhereFromFiltres());\r
+               return $r->nb;\r
+       }\r
+\r
+       protected function makeWhereFromFiltres()\r
+       {\r
+               if (!is_null($this->filtres)) {\r
+                       $w = array('1=1');\r
+                       if (extranetFiltre::test('annee_facture', $this->filtres)) {\r
+                               $w[] = 'YEAR(FROM_UNIXTIME(date_creation)) IN (' . implode(',', array_keys($this->filtres['annee_facture'])) . ')';\r
+                       }\r
+                       if (extranetFiltre::test('status_devis', $this->filtres)) {\r
+                               $w[] = 'status IN(' . implode(',', array_keys($this->filtres['status_devis'])) . ')';\r
+                       }\r
+                       if (extranetFiltre::test('equipier', $this->filtres)) {\r
+                               $w[] = 'createur_id IN(' . implode(',', array_keys($this->filtres['equipier'])) . ')';\r
+                       }\r
+                       return implode(' AND ', $w);\r
+               } else {\r
+                       return '1=1';\r
+               }\r
+       }\r
+}\r
+\r
+?>
\ No newline at end of file
diff --git a/inc/extranet/DAO/class.extranet.dao.entreprise.php b/inc/extranet/DAO/class.extranet.dao.entreprise.php
new file mode 100644 (file)
index 0000000..82ad968
--- /dev/null
@@ -0,0 +1,156 @@
+<?php\r
+class extranetDAOEntreprise extends extranetDAO {\r
+       protected function singleton($r)\r
+       {\r
+               $entreprise = new extranetEntreprise();\r
+               $entreprise->entreprise_id = $r->entreprise_id;\r
+               $entreprise->nom = $r->nom;\r
+               $entreprise->adresse = $r->adresse;\r
+               $entreprise->code_postal = $r->code_postal;\r
+               $entreprise->ville = $r->ville;\r
+               $entreprise->pays = $r->pays;\r
+               $entreprise->tva_intra = $r->tva_intra;\r
+               $entreprise->notes = $r->notes;\r
+               $entreprise->impaye = $r->impaye;\r
+               $entreprise->ca = $r->ca;\r
+\r
+               return $entreprise;\r
+       }\r
+\r
+       public function cree()\r
+       {\r
+               $entreprise = new extranetEntreprise();\r
+               $entreprise->entreprise_id = 'new';\r
+               $entreprise->date_creation = time();\r
+               $entreprise->pays = 'FR';\r
+               return $entreprise;\r
+       }\r
+\r
+       protected function getNextId()\r
+       {\r
+               $r = $this->con->select('SELECT MAX(entreprise_id) AS entreprise_id FROM entreprises');\r
+               return $r->entreprise_id + 1;\r
+       }\r
+\r
+       public function selectById($entreprise_id = null)\r
+       {\r
+               if (is_null($entreprise_id)) {\r
+                       return $this->cree();\r
+               }\r
+\r
+               $r = $this->con->select('SELECT * FROM entreprises_vue WHERE entreprise_id=\'' . $this->con->escape($entreprise_id) . '\' LIMIT 1');\r
+               return $this->singleton($r);\r
+       }\r
+\r
+       public function getListe($orderby = null, $sens = null, $limit = null)\r
+       {\r
+               global $core;\r
+               if (!is_null($this->q)) {\r
+                       $daoClients = new extranetDAOClient($this->con);\r
+                       $where = '';\r
+                       $where .= 'entreprise_id=\'' . $this->con->escape($this->q) . '\' OR ';\r
+                       $where .= 'nom LIKE \'%' . $this->con->escape($this->q) . '%\' OR ';\r
+                       $where .= 'entreprise_id IN (SELECT entreprise FROM utilisateurs WHERE(' . $daoClients->whereSearchByName($this->q, false) . ') AND grade=0) ';\r
+                       $limit = null;\r
+               } else {\r
+                       $where = $this->makeWhereFromFiltres();\r
+               }\r
+\r
+               $orderby = is_null($orderby)?'entreprise_id':$orderby;\r
+               $sens = is_null($sens)?'DESC':$sens;\r
+               $limit = is_null($limit)?'':$this->con->limit($limit[0], $limit[1]);\r
+\r
+               $sql = 'SELECT * FROM entreprises_vue WHERE ' . $where . ' ORDER BY ' . $orderby . ' ' . $sens . ' ' . $limit;\r
+               $r = $this->con->select($sql);\r
+               $ids = array();\r
+               while ($r->fetch()) {\r
+                       $ids[] = $r->entreprise_id;\r
+               }\r
+               $r->moveStart();\r
+               $liste = $this->factory($r);\r
+               $newList = array();\r
+               foreach($liste as $e) {\r
+                       $newList[$e->entreprise_id] = $e;\r
+               }\r
+               $liste = $newList;\r
+\r
+               $daoClients = new extranetDAOClient($this->con);\r
+               $contacts = $daoClients->getContactsOfEntreprises($ids);\r
+               $contactSorted = array();\r
+               foreach($contacts as $c) {\r
+                       if (!isset($contactSorted[$c->entreprise])) {\r
+                               $contactSorted[$c->entreprise] = array();\r
+                       }\r
+                       $contactSorted[$c->entreprise][] = $c;\r
+               }\r
+               foreach($contactSorted as $entreprise_id => $c) {\r
+                       $liste[$entreprise_id]->contacts = $c;\r
+               }\r
+               return $liste;\r
+       }\r
+\r
+       public function sauve($data)\r
+       {\r
+               global $core;\r
+\r
+               $c = $this->con->openCursor('entreprises');\r
+               $c->nom = $data['nom'];\r
+               $c->date_creation = time();\r
+               $c->adresse = $data['adresse'];\r
+               $c->code_postal = $data['code_postal'];\r
+               $c->ville = $data['ville'];\r
+               $c->pays = $data['pays'];\r
+               $c->tva_intra = $data['tva_intra'];\r
+\r
+               if ($data['entreprise_id'] == 'new' || $data['entreprise_id'] == '') {\r
+                       $entreprise_id = $c->entreprise_id = $this->getNextId();\r
+                       $c->insert();\r
+               } else {\r
+                       $entreprise_id = $data['entreprise_id'];\r
+                       $c->update('WHERE entreprise_id=\'' . $this->con->escape($data['entreprise_id']) . '\'');\r
+               }\r
+\r
+               $entreprise = $this->selectById($entreprise_id);\r
+               return $entreprise;\r
+       }\r
+\r
+       public function supprime($entreprise_id)\r
+       {\r
+               $this->con->execute('DELETE FROM utilisateurs WHERE entreprise=\'' . $this->con->escape($entreprise_id) . '\'');\r
+               return $this->con->execute('DELETE FROM entreprises WHERE entreprise_id=\'' . $this->con->escape($entreprise_id) . '\'');\r
+       }\r
+\r
+       public function count()\r
+       {\r
+               $r = $this->con->select('SELECT COUNT(*) AS nb FROM entreprises_vue WHERE ' . $this->makeWhereFromFiltres());\r
+               return $r->nb;\r
+       }\r
+\r
+       protected function makeWhereFromFiltres()\r
+       {\r
+               if (!is_null($this->filtres)) {\r
+                       $w = array('1=1');\r
+                       return implode(' AND ', $w);\r
+               } else {\r
+                       return '1=1';\r
+               }\r
+       }\r
+\r
+       public function getCaDetails($entreprise_id)\r
+       {\r
+               $r = $this->con->select('SELECT SUM(f.total_ht) AS ca,YEAR(FROM_UNIXTIME(f.date_creation)) AS annee FROM factures f,projets p WHERE f.projet=p.projet_id AND p.client IN (SELECT utilisateur_id FROM utilisateurs WHERE entreprise=\'' . $this->con->escape($entreprise_id) . '\') GROUP BY annee ORDER BY annee DESC');\r
+               $res = array();\r
+               while ($r->fetch()) {\r
+                       $res[$r->annee] = $r->ca;\r
+               }\r
+               return $res;\r
+       }\r
+\r
+       public function getContacts($entreprise_id)\r
+       {\r
+               $daoClient = new extranetDAOClient($this->con);\r
+               return $daoClient->getContactsOfEntreprise($entreprise_id);\r
+       }\r
+}\r
+\r
+?>
\ No newline at end of file
diff --git a/inc/extranet/DAO/class.extranet.dao.equipier.php b/inc/extranet/DAO/class.extranet.dao.equipier.php
new file mode 100644 (file)
index 0000000..c9276f1
--- /dev/null
@@ -0,0 +1,47 @@
+<?php\r
+class extranetDAOEquipier extends extranetDAOUtilisateur {\r
+       protected function singleton($r)\r
+       {\r
+               $utilisateur = new extranetEquipier();\r
+               $utilisateur->utilisateur_id = $r->utilisateur_id;\r
+               $utilisateur->agence = $r->agence;\r
+               return parent::singleton($r);\r
+       }\r
+\r
+       public function cree($utilisateur = null)\r
+       {\r
+               $utilisateur = new extranetEquipier();\r
+               $utilisateur->agence = 'Paris';\r
+               $utilisateur->grade = 1;\r
+               return parent::cree($utilisateur);\r
+       }\r
+\r
+       public function selectById($equipier_id)\r
+       {\r
+               $r = $this->con->select('SELECT * FROM equipiers WHERE utilisateur_id=' . $this->core->con->escape($equipier_id) . ' LIMIT 1');\r
+               return $this->singleton($r);\r
+       }\r
+\r
+       public function selectAll(){\r
+               $r=$this->con->select('SELECT * FROM equipiers');\r
+               return $this->factory($r);\r
+       }\r
+\r
+       public function getListe($q = null, $orderby = null, $sens = null, $limit = null, $search_id = true)\r
+       {\r
+               global $core;\r
+\r
+               $sql = $this->getQueryList('equipiers', $q, $orderby, $sens, $limit, $search_id);\r
+\r
+               $r = $this->con->select($sql);\r
+               return $this->factory($r);\r
+       }\r
+\r
+       public function count()\r
+       {\r
+               $r = $this->con->select('SELECT COUNT(*) AS nb FROM equipiers');\r
+               return $r->nb;\r
+       }\r
+}\r
+\r
+?>
\ No newline at end of file
diff --git a/inc/extranet/DAO/class.extranet.dao.facture.php b/inc/extranet/DAO/class.extranet.dao.facture.php
new file mode 100644 (file)
index 0000000..39e4edf
--- /dev/null
@@ -0,0 +1,372 @@
+<?php\r
+/**\r
+ * extranetDAOFacture\r
+ *\r
+ * @package\r
+ * @author Vincent\r
+ * @copyright Copyright (c) 2008\r
+ * @version $Id$\r
+ * @access public\r
+ */\r
+class extranetDAOFacture extends extranetDAO {\r
+       protected function singleton($r)\r
+       {\r
+               $facture = new extranetFacture();\r
+               $facture->facture_id = $r->facture_id;\r
+               $facture->nom = $r->nom;\r
+               $facture->total_ht = $r->total_ht;\r
+               $facture->createur = $r->createur;\r
+               $facture->createur_id = $r->createur_id;\r
+               $facture->date_creation = $r->date_creation;\r
+               $facture->status = $r->status;\r
+               $facture->projet = $r->projet;\r
+               $facture->projet_id = $r->projet_id;\r
+               $facture->client = $r->client;\r
+               $facture->client_id = $r->client_id;\r
+               $facture->lignes = unserialize($r->lignes);\r
+               $facture->texte_complementaire = $r->texte_complementaire;\r
+               $facture->informations_paiement = $r->informations_paiement;\r
+               $facture->date_paiement = $r->date_paiement;\r
+               $facture->adresse = $r->adresse;\r
+               $facture->avoir = $r->avoir;\r
+               return $facture;\r
+       }\r
+\r
+       public function cree()\r
+       {\r
+               $facture = new extranetFacture();\r
+               $facture->facture_id = 'new';\r
+               $facture->nom = '';\r
+               $facture->total_ht = 0;\r
+               $facture->createur = '';\r
+               $facture->createur_id = 0;\r
+               $facture->date_creation = time();\r
+               $facture->status = 0;\r
+               $facture->projet_id = 0;\r
+               $facture->projet = '';\r
+               $facture->client_id = 0;\r
+               $facture->client = '';\r
+               $facture->lignes = array();\r
+               $facture->texte_complementaire = '';\r
+               $facture->informations_paiement = '';\r
+               $facture->date_paiement = 0;\r
+               $facture->adresse = '';\r
+               $facture->avoir = '';\r
+               return $facture;\r
+       }\r
+\r
+       public function selectById($facture_id)\r
+       {\r
+               $r = $this->con->select('SELECT * FROM factures_vue WHERE facture_id=\'' . $this->con->escape($facture_id) . '\'');\r
+               return $this->singleton($r);\r
+       }\r
+\r
+       public function getListe($orderby = null, $sens = null, $limit = null)\r
+       {\r
+               if (!is_null($this->q)) {\r
+                       $where = '';\r
+                       if ($this->search_id) {\r
+                               $where .= 'facture_id=\'' . $this->con->escape($this->q) . '\' OR ';\r
+                       }\r
+                       $where .= 'nom LIKE \'%' . $this->con->escape($this->q) . '%\'';\r
+                       $daoProjets = new extranetDAOProjet($this->con);\r
+                       $where .= ' OR projet_id IN(' . $daoProjets->querySearchByName($this->q) . ')';\r
+                       $limit = null;\r
+               } else {\r
+                       $where = $this->makeWhereFromFiltres();\r
+               }\r
+\r
+               $orderby = is_null($orderby)?'facture_id':$orderby;\r
+               $sens = is_null($sens)?'DESC':$sens;\r
+               $limit = is_null($limit)?'':$this->con->limit($limit[0], $limit[1]);\r
+\r
+               $sql = 'SELECT * FROM factures_vue WHERE ' . $where . ' ORDER BY ' . $orderby . ' ' . $sens . ' ' . $limit;\r
+               fb($sql);\r
+               $r = $this->con->select($sql);\r
+               return $this->factory($r);\r
+       }\r
+\r
+       public function getListeCompta($orderby = null, $sens = null, $limit = null)\r
+       {\r
+               if (!is_null($this->q)) {\r
+                       $where = '';\r
+                       if ($this->search_id) {\r
+                               $where .= 'facture_id=\'' . $this->con->escape($this->q) . '\' OR ';\r
+                       }\r
+                       $where .= 'nom LIKE \'%' . $this->con->escape($this->q) . '%\'';\r
+                       $daoProjets = new extranetDAOProjet($this->con);\r
+                       $where .= ' OR projet_id IN(' . $daoProjets->querySearchByName($this->q) . ')';\r
+                       $limit = null;\r
+               } else {\r
+                       $where = $this->makeWhereFromFiltres();\r
+               }\r
+\r
+               $orderby = is_null($orderby)?'facture_id':$orderby;\r
+               $sens = is_null($sens)?'DESC':$sens;\r
+               $limit = is_null($limit)?'':$this->con->limit($limit[0], $limit[1]);\r
+\r
+               $sql = 'SELECT * FROM factures_vue WHERE (' . $where . ') AND CAST(facture_id AS SIGNED)>0 ORDER BY ' . $orderby . ' ' . $sens . ' ' . $limit;\r
+               $r = $this->con->select($sql);\r
+               return $this->factory($r);\r
+       }\r
+\r
+       public function getListeForClient($client_id, $orderby, $sens)\r
+       {\r
+               $sql = 'SELECT * FROM factures_vue WHERE client_id=\'' . $this->con->escape($client_id) . '\' AND status>0 ORDER BY ' . $orderby . ' ' . $sens;\r
+               $r = $this->con->select($sql);\r
+               return $this->factory($r);\r
+       }\r
+\r
+       public function getImpayesOfClient($client_id)\r
+       {\r
+               $sql = 'SELECT * FROM factures_vue WHERE client_id=\'' . $this->con->escape($client_id) . '\' AND status=1 ORDER BY date_creation';\r
+               $r = $this->con->select($sql);\r
+               return $this->factory($r);\r
+       }\r
+\r
+       public function changeStatus($facture_id, $status)\r
+       {\r
+               if ($status == 3) {\r
+                       $this->annule($facture_id);\r
+               }\r
+               return $this->con->execute('UPDATE factures SET status=' . $status . ' WHERE facture_id=\'' . $this->con->escape($facture_id) . '\'');\r
+       }\r
+\r
+       public function annule($facture_id)\r
+       {\r
+               $facture = $this->selectById($facture_id);\r
+               $avoir = $this->duplique($facture_id, $facture->createur_id, true);\r
+               $avoir->facture_id = $this->idBrouillonToIdNormal($avoir->facture_id);\r
+               $this->setLinkAvoir($avoir->facture_id, $facture->facture_id);\r
+               $this->changeStatus($avoir->facture_id, 4);\r
+               $this->saveAsPDF($avoir->facture_id);\r
+       }\r
+\r
+       public function setLinkAvoir($id1, $id2)\r
+       {\r
+               $c = $this->con->openCursor('factures');\r
+               $c->avoir = $id1;\r
+               $c->update('WHERE facture_id=\'' . $this->con->escape($id2) . '\'');\r
+               $c->avoir = $id2;\r
+               $c->update('WHERE facture_id=\'' . $this->con->escape($id1) . '\'');\r
+       }\r
+\r
+       public function supprime($facture_id)\r
+       {\r
+               return $this->con->execute('DELETE FROM factures WHERE facture_id=\'' . $this->con->escape($facture_id) . '\'');\r
+       }\r
+\r
+       public function getNextId($brouillon = true)\r
+       {\r
+               if ($brouillon) {\r
+                       $r = $this->con->select('SELECT facture_id AS facture_id FROM factures WHERE status=0 ORDER BY facture_id DESC LIMIT 1');\r
+                       if (!$r->count()) {\r
+                               return 'A';\r
+                       } else {\r
+                               return ++$r->facture_id;\r
+                       }\r
+               } else {\r
+                       $r = $this->con->select('SELECT MAX(CAST(facture_id AS SIGNED)) AS facture_id FROM factures WHERE status>0');\r
+                       if (is_null($r->facture_id)) {\r
+                               return 1;\r
+                       } else {\r
+                               return max(intval($r->facture_id) + 1, 1);\r
+                       }\r
+               }\r
+       }\r
+\r
+       public function sauve($data, $createur)\r
+       {\r
+               $lignes = array();\r
+               foreach($data['montant'] as $i => $montant) {\r
+                       $ligne = array('titre' => $data['titre'][$i], 'description' => $data['description'][$i], 'montant' => $data['montant'][$i], 'book' => $data['montant'][$i]);\r
+                       if ($ligne['titre'] == '' && $ligne['description'] == '' && $ligne['montant'] == '') {\r
+                               continue;\r
+                       }\r
+                       $lignes[] = $ligne;\r
+               }\r
+\r
+               $c = $this->con->openCursor('factures');\r
+               $c->projet = $data['projet'];\r
+               $c->nom = $data['nom'];\r
+               $c->date_creation = cubeDate::formToTime($data['date_creation']);\r
+               $c->total_ht = 0;\r
+               $c->texte_complementaire = $data['texte_complementaire'];\r
+               $c->adresse = $data['adresse'];\r
+               foreach($lignes as $k => $d) {\r
+                       $d['montant'] = round(floatval(str_replace(',', '.', $d['montant'])), 2);\r
+                       $lignes[$k]['montant'] = $d['montant'];\r
+                       $c->total_ht += $d['montant'];\r
+               }\r
+               $c->lignes = serialize($lignes);\r
+\r
+               if ($data['facture_id'] == 'new') {\r
+                       $c->createur = $createur;\r
+                       $facture_id = $c->facture_id = $this->getNextId(true);\r
+                       $c->insert();\r
+               } elseif ($data['facture_id'] == 'ws') {\r
+                       $c->createur = $createur;\r
+                       $facture_id = $c->facture_id = $this->getNextId(true);\r
+                       // On s'occupe du projet si il faut le créer\r
+                       if ($data['projet'] == 'new') {\r
+                               $daoProjet = new extranetDAOProjet($this->con);\r
+                               $p = array();\r
+                               $p['projet_id'] = 'new';\r
+                               $p['nom'] = $data['nom'];\r
+                               $p['chef'] = $createur;\r
+                               $p['date_debut'] = $p['date_fin'] = $p['deadline'] = TIME;\r
+                               $p['client'] = $data['client'];\r
+                               $p['devis'] = '';\r
+                               $projet_id = $daoProjet->sauve($p);\r
+                               $daoProjet->changeStatus($projet_id);\r
+\r
+                               $daoTache = new extranetDAOTache($this->con);\r
+                               foreach($lignes as $ligne) {\r
+                                       $ligne['montant'] = round(floatval(str_replace(',', '.', $ligne['montant'])), 2);\r
+                                       $m = $ligne['montant'];\r
+                                       if (!$m) {\r
+                                               continue;\r
+                                       }\r
+\r
+                                       $t = array();\r
+                                       $t['tache_id'] = 'new';\r
+                                       $t['nom'] = $ligne['titre'];\r
+                                       $t['taux_journalier'] = 450;\r
+                                       $t['categorie'] = 8;\r
+                                       $t['type'] = 0;\r
+                                       $t['projet'] = $projet_id;\r
+                                       $t['budget'] = $m;\r
+                                       $daoTache->sauve($t);\r
+                               }\r
+                               $c->projet = $projet_id;\r
+                       }\r
+\r
+                       $c->insert();\r
+                       // Marque les fluidbook comme facturés\r
+                       $books = array();\r
+                       foreach($lignes as $ligne) {\r
+                               $books[] = $ligne['book'];\r
+                       }\r
+                       $cb = $this->con->openCursor('ws.book');\r
+                       $cb->fid = $facture_id;\r
+                       $sql = $cb->getUpdate('WHERE bid IN(' . implode(',', $books) . ')');\r
+                       $sql = str_replace('`ws.book`', '`ws`.`book`', $sql);\r
+                       $this->con->execute($sql);\r
+               } else {\r
+                       $facture_id = $data['facture_id'];\r
+                       $c->update('WHERE facture_id=\'' . $this->con->escape($data['facture_id']) . '\'');\r
+               }\r
+               return $this->selectById($facture_id);\r
+       }\r
+\r
+       public function saveAsPDF($facture_id)\r
+       {\r
+               $facture = $this->selectById($facture_id);\r
+               $daoUtilisateur = new extranetDAOUtilisateur($this->con);\r
+               $facture->client = $daoUtilisateur->selectById($facture->client_id);\r
+               $facture->createur = $daoUtilisateur->selectById($facture->createur_id);\r
+               if ($facture->status == 4) {\r
+                       $facture->avoir = $this->selectById($facture->avoir);\r
+               }\r
+               // Chargement des paramètres de la langue du client\r
+               cubeLang::set($facture->client->lang);\r
+               $pdf = $facture->saveAsPDF();\r
+               if (file_exists(ROOT . '/factures/' . $facture->facture_id . '.pdf')) {\r
+                       rename(ROOT . '/factures/' . $facture->facture_id . '.pdf', ROOT . '/factures/' . $facture->facture_id . '_' . filemtime(ROOT . '/factures/' . $facture->facture_id . '.pdf') . '.pdf');\r
+               }\r
+               $pdf->Output(ROOT . '/factures/' . $facture->facture_id . '.pdf');\r
+       }\r
+\r
+       public function savePaiement($data)\r
+       {\r
+               $c = $this->con->openCursor('factures');\r
+               $c->status = 2;\r
+               $c->informations_paiement = $data['informations_paiement'];\r
+               $c->date_paiement = cubeDate::formToTime($data['date_paiement']);\r
+               $c->update('WHERE facture_id=\'' . $this->con->escape($data['facture_id']) . '\'');\r
+       }\r
+\r
+       public function duplique($facture_id, $createur, $avoir = false)\r
+       {\r
+               $facture = $this->selectById($facture_id);\r
+\r
+               $c = $this->con->openCursor('factures');\r
+               $c->facture_id = $this->getNextId(true);\r
+               $c->nom = $facture->nom;\r
+               $c->projet = $facture->projet_id;\r
+               $c->createur = $createur;\r
+               $c->date_creation = TIME;\r
+               $c->status = 0;\r
+\r
+               if (!$avoir) {\r
+                       $c->lignes = serialize($facture->lignes);\r
+                       $c->total_ht = $facture->total_ht;\r
+               } else {\r
+                       $lignes = array();\r
+                       foreach($facture->lignes as $l) {\r
+                               if (is_numeric($l['montant'])) {\r
+                                       $l['montant'] *= -1;\r
+                               }\r
+                               $lignes[] = $l;\r
+                       }\r
+                       $c->lignes = serialize($lignes);\r
+                       $c->total_ht = $facture->total_ht * -1;\r
+               }\r
+               $c->texte_complementaire = $facture->texte_complementaire;\r
+               $c->insert();\r
+\r
+               return $this->selectById($c->facture_id);\r
+       }\r
+\r
+       public function valide($facture_id)\r
+       {\r
+               $new_id = $this->idBrouillonToIdNormal($facture_id);\r
+               return $this->changeStatus($new_id, 1);\r
+       }\r
+\r
+       public function idBrouillonToIdNormal($facture_id)\r
+       {\r
+               $c = $this->con->openCursor('factures');\r
+               $c->facture_id = $this->getNextId(false);\r
+               $c->status = 1;\r
+               $c->update('WHERE facture_id=\'' . $this->con->escape($facture_id) . '\'');\r
+               if (file_exists(ROOT . '/factures/' . $facture_id . '.pdf')) {\r
+                       @unlink(ROOT . '/factures/' . $facture_id . '.pdf');\r
+               }\r
+               $this->saveAsPDF($c->facture_id);\r
+               return $c->facture_id;\r
+       }\r
+\r
+       public function count()\r
+       {\r
+               $r = $this->con->select('SELECT COUNT(*) AS nb FROM factures_vue WHERE ' . $this->makeWhereFromFiltres());\r
+               return $r->nb;\r
+       }\r
+\r
+       public function countCompta()\r
+       {\r
+               $r = $this->con->select('SELECT COUNT(*) AS nb FROM factures_vue WHERE (' . $this->makeWhereFromFiltres() . ') AND CAST(facture_id AS SIGNED)>0');\r
+               return $r->nb;\r
+       }\r
+\r
+       protected function makeWhereFromFiltres()\r
+       {\r
+               if (!is_null($this->filtres)) {\r
+                       $w = array('1=1');\r
+                       if (extranetFiltre::test('annee_facture', $this->filtres)) {\r
+                               $w[] = 'YEAR(FROM_UNIXTIME(date_creation)) IN (' . implode(',', array_keys($this->filtres['annee_facture'])) . ')';\r
+                       }\r
+                       if (extranetFiltre::test('status_facture', $this->filtres)) {\r
+                               $w[] = 'status IN(' . implode(',', array_keys($this->filtres['status_facture'])) . ')';\r
+                       }\r
+                       if (extranetFiltre::test('equipier', $this->filtres)) {\r
+                               $w[] = 'createur_id IN(' . implode(',', array_keys($this->filtres['equipier'])) . ')';\r
+                       }\r
+                       return implode(' AND ', $w);\r
+               } else {\r
+                       return '1=1';\r
+               }\r
+       }\r
+}\r
+\r
+?>
\ No newline at end of file
diff --git a/inc/extranet/DAO/class.extranet.dao.fichier.php b/inc/extranet/DAO/class.extranet.dao.fichier.php
new file mode 100644 (file)
index 0000000..219747d
--- /dev/null
@@ -0,0 +1,127 @@
+<?php\r
+class extranetDAOFichier extends extranetDAO {\r
+       public $entreprise_id;\r
+       public function singleton($infos)\r
+       {\r
+               $path = path::real($infos['path']);\r
+               $rel_path = str_replace('/usb/ftpextranet', '', $path);\r
+               $fichier = new extranetFichier();\r
+               $fichier->contact = $infos['contact'];\r
+               $fichier->destinataire=$infos['destinataire'];\r
+               $e = explode('/', $path);\r
+               $fichier->chemin = $path;\r
+               $fichier->nom = array_pop($e);\r
+               $e = explode('.', $fichier->nom);\r
+               $fichier->type = mb_strtolower(array_pop($e));\r
+               $fichier->taille = filesize($path);\r
+               $fichier->date = filemtime($path);\r
+               $fichier->relPath = $rel_path;\r
+               return $fichier;\r
+       }\r
+\r
+       public function getListe($orderby = null, $sens = null, $limit = null)\r
+       {\r
+               $dao = new extranetDAOEntreprise($this->con);\r
+               $contacts = $dao->getContacts($this->entreprise_id);\r
+               $daoEquipiers = new extranetDAOEquipier($this->con);\r
+               $eq = $daoEquipiers->selectAll();\r
+               $equipiers = array();\r
+               foreach($eq as $e) {\r
+                       $equipiers[$e->utilisateur_id] = $e;\r
+               }\r
+\r
+               $paths = array();\r
+               $c = array();\r
+               foreach($contacts as $contact) {\r
+                       $c[$contact->utilisateur_id] = $contact;\r
+                       $paths[$contact->utilisateur_id] = array();\r
+                       cubeFiles::scanRecursiveDir(FTPROOT . $contact->utilisateur_id, $paths[$contact->utilisateur_id]);\r
+               }\r
+\r
+               $liste = array();\r
+               foreach($paths as $utilisateur_id => $files) {\r
+                       foreach($files as $file) {\r
+                               if (stristr($file, '/.in/')) {\r
+                                       $p = explode('/', str_replace(FTPROOT . $utilisateur_id . '/.in/', '', $file));\r
+                                       $equipier_id = array_shift($p);\r
+                                       $liste[] = array('path' => $file, 'contact' => $equipiers[$equipier_id], 'destinataire' => $c[$utilisateur_id]);\r
+                               } else {\r
+                                       $liste[] = array('path' => $file, 'contact' => $c[$utilisateur_id], 'destinataire' => null);\r
+                               }\r
+                       }\r
+               }\r
+\r
+               $fichiers = $this->factory($liste);\r
+               $this->orderby = $orderby;\r
+               $this->sens = $sens;\r
+               if (!is_null($this->q)) {\r
+                       $limit = null;\r
+                       $fichiers = $this->search($fichiers);\r
+               }\r
+\r
+               usort($fichiers, array($this, 'sort'));\r
+\r
+               if (!is_null($limit) && $limit) {\r
+                       $fichiers = array_slice($fichiers, $limit[0], $limit[1]);\r
+               }\r
+               return $fichiers;\r
+       }\r
+\r
+       public function count()\r
+       {\r
+               $dao = new extranetDAOEntreprise($this->con);\r
+               $contacts = $dao->getContacts($this->entreprise_id);\r
+               $res = 0;\r
+               foreach($contacts as $contact) {\r
+                       $t = array();\r
+                       cubeFiles::scanRecursiveDir(FTPROOT . $contact->utilisateur_id, $t);\r
+                       $res += count($t);\r
+               }\r
+               return $res;\r
+       }\r
+\r
+       public function sort($a, $b)\r
+       {\r
+               $a1 = $a-> {\r
+                       $this->orderby} ;\r
+               $b1 = $b-> {\r
+                       $this->orderby} ;\r
+\r
+               if (is_numeric($a1) && is_numeric($b1)) {\r
+                       if ($a1 == $b1) {\r
+                               $cmp = 0;\r
+                       } elseif ($a1 <= $b1) {\r
+                               $cmp = -1;\r
+                       } else {\r
+                               $cmp = 1;\r
+                       }\r
+               } else {\r
+                       $cmp = strcasecmp($a1, $b1);\r
+               }\r
+               if ($this->sens == 'ASC') {\r
+                       return $cmp;\r
+               } else {\r
+                       return $cmp * -1;\r
+               }\r
+       }\r
+\r
+       protected function search($fichiers)\r
+       {\r
+               $res = array();\r
+               foreach($fichiers as $k => $f) {\r
+                       if (stristr((string)$f, $this->q)) {\r
+                               $res[$k] = $f;\r
+                       }\r
+               }\r
+               return $res;\r
+       }\r
+\r
+       public function supprime($path)\r
+       {\r
+               if (file_exists(FTPROOT . $path)) {\r
+                       unlink(FTPROOT . $path);\r
+               }\r
+       }\r
+}\r
+\r
+?>
\ No newline at end of file
diff --git a/inc/extranet/DAO/class.extranet.dao.php b/inc/extranet/DAO/class.extranet.dao.php
new file mode 100644 (file)
index 0000000..30bd39b
--- /dev/null
@@ -0,0 +1,19 @@
+<?php\r
+abstract class extranetDAO extends cubeDAO {\r
+       protected $filtres = null;\r
+       protected $q = null;\r
+       protected $search_id = true;\r
+\r
+       public function setFiltres($filtres)\r
+       {\r
+               $this->filtres = $filtres;\r
+       }\r
+\r
+       public function setSearch($q, $search_id = true)\r
+       {\r
+               $this->q = mb_strtolower($q);\r
+               $this->search_id = $search_id;\r
+       }\r
+}\r
+\r
+?>
\ No newline at end of file
diff --git a/inc/extranet/DAO/class.extranet.dao.projet.php b/inc/extranet/DAO/class.extranet.dao.projet.php
new file mode 100644 (file)
index 0000000..f9e9926
--- /dev/null
@@ -0,0 +1,302 @@
+<?php\r
+class extranetDAOProjet extends extranetDAO {\r
+       protected function singleton($r)\r
+       {\r
+               $projet = new extranetProjet();\r
+               $projet->projet_id = $r->projet_id;\r
+               $projet->nom = $r->nom;\r
+\r
+               $projet->date_creation = $r->date_creation;\r
+               $projet->date_debut = $r->date_debut;\r
+               $projet->annee_debut = $r->annee_debut;\r
+               $projet->date_fin = $r->date_fin;\r
+               $projet->annee_fin = $r->annee_fin;\r
+               $projet->deadline = $r->deadline;\r
+\r
+               $projet->devis = $r->devis;\r
+               $projet->client_id = $r->client_id;\r
+               $projet->client = $r->client;\r
+\r
+               $projet->status = $r->status;\r
+\r
+               $projet->chef = $r->chef;\r
+               $projet->chef_id = $r->chef_id;\r
+\r
+               $projet->jours_prevus = round($r->jours_prevus, 1);\r
+               $projet->jours_consommes = round($r->jours_consommes, 1);\r
+               $projet->progression = round($r->progression);\r
+               $projet->budget = round($r->budget);\r
+\r
+               $projet->old = $r->old;\r
+               $projet->rapport_facturation = $r->rapport_facturation;\r
+               $projet->rapport_paiement = $r->rapport_paiement;\r
+\r
+               $projet->taches = array();\r
+               return $projet;\r
+       }\r
+\r
+       protected function factory($r)\r
+       {\r
+               $projets_id = $projets = $res = array();\r
+               if (!$r) {\r
+                       return array();\r
+               } while ($r->fetch()) {\r
+                       $projets_id[] = $r->projet_id;\r
+                       $projets[] = $this->singleton($r);\r
+               }\r
+\r
+               $daoTaches = new extranetDAOTache($this->con);\r
+               $taches = $daoTaches->getTachesOfProjets($projets_id);\r
+               foreach ($projets as $projet) {\r
+                       if (isset($taches[$projet->projet_id])) {\r
+                               $projet->taches = $taches[$projet->projet_id];\r
+                       }\r
+                       $res[] = $projet;\r
+               }\r
+               return $res;\r
+       }\r
+\r
+       public function cree($chef_par_defaut)\r
+       {\r
+               $projet = new extranetProjet();\r
+               $projet->projet_id = 'new';\r
+               $projet->nom = '' ;\r
+\r
+               $projet->date_creation = time();\r
+               $projet->date_debut = time();\r
+               $projet->annee_debut = time();\r
+               $projet->annee_fin = date('Y');\r
+               $projet->annee_fin = date('Y');\r
+               $projet->deadline = time();\r
+\r
+               $projet->devis = 0;\r
+               $projet->client_id = 0;\r
+               $projet->client = '';\r
+\r
+               $projet->status = 0;\r
+\r
+               $projet->chef = '';\r
+               $projet->chef_id = $chef_par_defaut;\r
+\r
+               $projet->jours_prevus = 0;\r
+               $projet->jours_consommes = 0;\r
+               $projet->progression = 0;\r
+               $projet->budget = 0;\r
+\r
+               $projet->taches = array();\r
+               return $projet;\r
+       }\r
+\r
+       public function createFromDevis($devis_id, $chef)\r
+       {\r
+               // Données du devis\r
+               $daoDevis = new extranetDAODevis($this->con);\r
+               $devis = $daoDevis->selectById($devis_id);\r
+               // Création du projet\r
+               $data['client'] = $devis->client_id;\r
+               $data['chef'] = $chef;\r
+               $data['date_debut'] = TIME;\r
+               $data['date_fin'] = TIME;\r
+               $data['deadline'] = TIME;\r
+               $data['devis'] = $devis->devis_id;\r
+               $data['projet_id'] = 'new';\r
+               $data['nom'] = $devis->nom;\r
+               $projet_id = $this->sauve($data);\r
+               // Création des tâches\r
+               $daoTaches = new extranetDAOTache($this->con);\r
+               foreach($devis->lignes as $ligne) {\r
+                       $m = trim($ligne['montant']);\r
+                       $data = array();\r
+                       if (is_numeric($m) && $m > 0) {\r
+                               $data['tache_id'] = 'new';\r
+                               $data['type'] = '0';\r
+                               $data['nom'] = $ligne['titre'];\r
+                               $data['categorie'] = 0;\r
+                               $data['projet'] = $projet_id;\r
+                               $data['budget'] = $m;\r
+                               $data['taux_journalier'] = TAUX_JOURNALIER;\r
+                               $daoTaches->sauve($data);\r
+                       }\r
+               }\r
+               return $projet_id;\r
+       }\r
+\r
+       public function selectById($projet_id)\r
+       {\r
+               $r = $this->con->select('SELECT * FROM projets_vue WHERE projet_id=\'' . $this->con->escape($projet_id) . '\'');\r
+               $liste = $this->factory($r);\r
+               if (count($liste)) {\r
+                       return $liste[0];\r
+               }\r
+               return null;\r
+       }\r
+\r
+       public function sauve($data)\r
+       {\r
+               $c = $this->con->openCursor('projets');\r
+               $c->nom = $data['nom'];\r
+               $c->chef = $data['chef'];\r
+               $c->date_debut = cubeDate::formFreeToTime($data['date_debut']);\r
+               $c->deadline = cubeDate::formFreeToTime($data['deadline']);\r
+               $c->date_fin = cubeDate::formFreeToTime($data['date_fin']);\r
+               $c->client = $data['client'];\r
+               $c->devis = $data['devis'];\r
+               if ($data['projet_id'] == 'new') {\r
+                       $c->status = 0;\r
+                       $c->projet_id = $this->getNextId();\r
+                       $c->date_creation = time();\r
+                       $c->insert();\r
+                       return $c->projet_id;\r
+               } else {\r
+                       $c->update('WHERE projet_id=\'' . $this->con->escape($data['projet_id']) . '\'');\r
+                       return $data['projet_id'];\r
+               }\r
+       }\r
+\r
+       public function getProjetByTache($tache)\r
+       {\r
+               $sql = 'SELECT * FROM projets_vue WHERE projet_id IN (SELECT projet FROM taches WHERE tache_id=\'' . $this->con->escape($tache) . '\') LIMIT 1';\r
+               $r = $this->con->select($sql);\r
+               return $this->factory($r);\r
+       }\r
+\r
+       public function getProjetsForTimereport($orderby, $sens, $limit, $utilisateur_id)\r
+       {\r
+               if (!is_null($this->q)) {\r
+                       $where = '';\r
+                       if ($this->search_id) {\r
+                               $where .= ' p.projet_id=\'' . $this->con->escape($this->q) . '\' OR ';\r
+                       }\r
+                       $where .= 'p.nom LIKE \'%' . $this->con->escape($this->q) . '%\'';\r
+                       $daoClient = new extranetDAOClient($this->con);\r
+                       $where .= ' OR p.client_id IN(' . $daoClient->querySearchByName($this->q) . ')';\r
+                       $limit = null;\r
+               } else {\r
+                       $where = $this->makeWhereFromFiltres();\r
+               }\r
+\r
+               $orderby = (!is_null($orderby))?$orderby:'projet_id';\r
+               $sens = (!is_null($sens))?$sens:'DESC';\r
+               $limit = (!is_null($limit))?$this->con->limit($limit):'';\r
+\r
+               $sql = 'SELECT DISTINCT p.* '\r
+                . 'FROM projets_timereport p LEFT JOIN order_timereport o ON o.projet_id=p.projet_id AND o.utilisateur_id=\'' . $utilisateur_id . '\' '\r
+                . 'WHERE ' . $where . ' '\r
+                . 'ORDER BY o.derniere_activite DESC, '\r
+                . $orderby . ' ' . $sens . ' ' . $limit;\r
+\r
+               $r = $this->con->select($sql);\r
+               return $this->factory($r);\r
+       }\r
+\r
+       public function getProjetsFacturables()\r
+       {\r
+               $r = $this->con->select('SELECT * FROM projets_vue WHERE client_id>=7 AND (rapport_facturation<1 OR ISNULL(rapport_facturation)) ORDER BY projet_id DESC');\r
+               return $this->factory($r);\r
+       }\r
+\r
+       public function getProjetsEnCours()\r
+       {\r
+               $r = $this->con->select('SELECT * FROM projets_vue WHERE status=0 ORDER BY projet_id DESC');\r
+               return $this->factory($r);\r
+       }\r
+\r
+       public function getListe($orderby = null, $sens = null, $limit = null)\r
+       {\r
+               if (!is_null($this->q)) {\r
+                       $where = '';\r
+                       if ($this->search_id) {\r
+                               $where .= ' projet_id=\'' . $this->con->escape($this->q) . '\' OR ';\r
+                       }\r
+                       $where .= 'nom LIKE \'%' . $this->con->escape($this->q) . '%\'';\r
+                       $daoClient = new extranetDAOClient($this->con);\r
+                       $where .= ' OR client_id IN(' . $daoClient->querySearchByName($this->q) . ')';\r
+                       $limit = null;\r
+               } else {\r
+                       $where = $this->makeWhereFromFiltres();\r
+               }\r
+               $orderby = is_null($orderby)?'projet_id':$orderby;\r
+               $sens = is_null($sens)?'DESC':$sens;\r
+               $limit = is_null($limit)?'':$this->con->limit($limit);\r
+\r
+               $sql = 'SELECT * FROM projets_vue WHERE ' . $where . ' ORDER BY ' . $orderby . ' ' . $sens . ' ' . $limit;\r
+               $r = $this->con->select($sql);\r
+               return $this->factory($r);\r
+       }\r
+\r
+       public function querySearchByName($q)\r
+       {\r
+               $where = 'nom LIKE \'%' . $this->con->escape($q) . '%\'';\r
+               $daoClient = new extranetDAOClient($this->con);\r
+               $where .= ' OR client IN(' . $daoClient->querySearchByName($q) . ')';\r
+               $sql = 'SELECT projet_id FROM projets WHERE ' . $where;\r
+               return $sql;\r
+       }\r
+\r
+       public function getNextId()\r
+       {\r
+               $r = $this->con->select('SELECT MAX(projet_id) AS projet_id FROM projets');\r
+               return $r->projet_id + 1;\r
+       }\r
+\r
+       public function changeStatus($projet_id)\r
+       {\r
+               return $this->con->execute('UPDATE projets SET status=(status+1)%2 WHERE projet_id=\'' . $this->con->escape($projet_id) . '\'');\r
+       }\r
+\r
+       public function supprime($projet_id)\r
+       {\r
+               return $this->con->execute('DELETE FROM projets WHERE projet_id=\'' . $this->con->escape($projet_id) . '\'');\r
+       }\r
+\r
+       protected function makeWhereFromFiltres()\r
+       {\r
+               if (!is_null($this->filtres)) {\r
+                       $w = array('1=1');\r
+                       if (extranetFiltre::test('annee', $this->filtres)) {\r
+                               $w[] = 'annee_fin IN (' . implode(',', array_keys($this->filtres['annee'])) . ')';\r
+                       }\r
+                       if (extranetFiltre::test('status_projet', $this->filtres)) {\r
+                               $p = array();\r
+                               foreach($this->filtres['status_projet'] as $k => $v) {\r
+                                       list($rub, $val) = explode('_', $k);\r
+                                       $p[$rub][] = $val;\r
+                               }\r
+\r
+                               if (isset($p['status']) && count($p['status']) < 2) {\r
+                                       $w[] = 'status=' . $p['status'][0];\r
+                               }\r
+                               if (isset($p['factures']) && count($p['factures']) < 2) {\r
+                                       if ($p['factures'][0] == '0') {\r
+                                               $w[] = '(rapport_facturation!=1 OR ISNULL(rapport_facturation))';\r
+                                       } else {\r
+                                               $w[] = 'rapport_facturation=1';\r
+                                       }\r
+                               }\r
+                       }\r
+                       if (extranetFiltre::test('equipier', $this->filtres)) {\r
+                               $w[] = 'chef_id IN(' . implode(',', array_keys($this->filtres['equipier'])) . ')';\r
+                       }\r
+                       if (extranetFiltre::test('equipier_participe', $this->filtres)) {\r
+                               $w[] = 'p.projet_id IN(SELECT projet FROM taches WHERE tache_id IN(SELECT tache_id FROM timereport WHERE utilisateur_id IN (' . implode(',', array_keys($this->filtres['equipier_participe'])) . '))) ';\r
+                       }\r
+                       return implode("\n" . ' AND ' . "\n", $w);\r
+               } else {\r
+                       return '1=1';\r
+               }\r
+       }\r
+\r
+       public function count()\r
+       {\r
+               $r = $this->con->select('SELECT COUNT(*) AS nb FROM projets_vue WHERE ' . $this->makeWhereFromFiltres());\r
+               return $r->nb;\r
+       }\r
+\r
+       public function countActifs()\r
+       {\r
+               $r = $this->con->select('SELECT COUNT(*) AS nb FROM projets p WHERE status=0 AND ' . $this->makeWhereFromFiltres());\r
+               return $r->nb;\r
+       }\r
+}\r
+\r
+?>
\ No newline at end of file
diff --git a/inc/extranet/DAO/class.extranet.dao.tache.php b/inc/extranet/DAO/class.extranet.dao.tache.php
new file mode 100644 (file)
index 0000000..b153102
--- /dev/null
@@ -0,0 +1,106 @@
+<?php\r
+class extranetDAOTache extends extranetDAO {\r
+       protected function singleton($r)\r
+       {\r
+               if ($r->type == 0) {\r
+                       $tache = new extranetTacheNormale();\r
+                       $tache->jours_prevus = round($r->jours_prevus, 1);\r
+                       $tache->jours_consommes = round($r->jours_consommes, 1);\r
+                       $tache->taux_journalier = $r->taux_journalier;\r
+                       $tache->progression = round($r->progression);\r
+               } else {\r
+                       $tache = new extranetTacheSousTraitee();\r
+               }\r
+\r
+               $tache->budget = round($r->budget);\r
+               $tache->tache_id = $r->tache_id;\r
+               $tache->categorie = $r->categorie;\r
+               $tache->nom = $r->nom;\r
+               $tache->projet = $r->projet;\r
+               return $tache;\r
+       }\r
+\r
+       public function getNextId()\r
+       {\r
+               $r = $this->con->select('SELECT MAX(tache_id) AS tache_id FROM taches');\r
+               return $r->tache_id + 1;\r
+       }\r
+\r
+       public function getTachesOfProjets($projets, $onlynormales = false)\r
+       {\r
+               if ($projets == array()) {\r
+                       return array();\r
+               }\r
+               $where = $onlynormales?' type=0 AND ':'';\r
+               $r = $this->con->select('SELECT * FROM taches_vue WHERE ' . $where . ' projet ' . $this->con->in($projets));\r
+\r
+               $res = array();\r
+               while ($r->fetch()) {\r
+                       $res[$r->projet][] = $this->singleton($r);\r
+               }\r
+               return $res;\r
+       }\r
+\r
+       public function cree($tache = null)\r
+       {\r
+               if (is_null($tache)) {\r
+                       $tache = new extranetTache();\r
+               }\r
+               $tache->tache_id = 'new';\r
+               $tache->projet = 0;\r
+               $tache->budget = 0;\r
+               $tache->categorie = 0;\r
+               $tache->nom = '';\r
+               return $tache;\r
+       }\r
+\r
+       public function selectById($tache_id)\r
+       {\r
+               $r = $this->con->select('SELECT * FROM taches_vue WHERE tache_id=\'' . $this->con->escape($tache_id) . '\'');\r
+               return $this->singleton($r);\r
+       }\r
+\r
+       public function creeSousTraitee()\r
+       {\r
+               $tache = new extranetTacheSousTraitee();\r
+               return $this->cree($tache);\r
+       }\r
+\r
+       public function creeNormale()\r
+       {\r
+               $tache = new extranetTacheNormale($tache);\r
+               $tache->jours_prevus = 1;\r
+               $tache->taux_journalier = TAUX_JOURNALIER;\r
+               $tache->jours_consommes = 0;\r
+               $tache->progression = 0;\r
+               return $this->cree($tache);\r
+       }\r
+\r
+       public function sauve($data)\r
+       {\r
+               $c = $this->con->openCursor('taches');\r
+               $c->nom = $data['nom'];\r
+               $c->categorie = $data['categorie'];\r
+               $c->type = $data['type'];\r
+               $c->projet = $data['projet'];\r
+               $c->budget = $data['budget'];\r
+               if ($data['type'] == '0') {\r
+                       $c->taux_journalier = $data['taux_journalier'];\r
+               }\r
+\r
+               if ($data['tache_id'] == 'new') {\r
+                       $c->tache_id = $this->getNextId();\r
+                       return $c->insert();\r
+               } else {\r
+                       return $c->update('WHERE tache_id=\'' . $this->con->escape($data['tache_id']) . '\'');\r
+               }\r
+       }\r
+\r
+       public function supprime($tache_id)\r
+       {\r
+               $this->con->execute('DELETE FROM timereport WHERE tache_id=\'' . $this->con->escape($tache_id) . '\'');\r
+               return $this->con->execute('DELETE FROM taches WHERE tache_id=\'' . $this->con->escape($tache_id) . '\'');\r
+       }\r
+}\r
+\r
+?>
\ No newline at end of file
diff --git a/inc/extranet/DAO/class.extranet.dao.timereport.php b/inc/extranet/DAO/class.extranet.dao.timereport.php
new file mode 100644 (file)
index 0000000..d59b833
--- /dev/null
@@ -0,0 +1,78 @@
+<?php\r
+class extranetDAOTimereport extends extranetDAO {\r
+       protected function singleton($r)\r
+       {\r
+               $tr = new extranetTimereport();\r
+               $tr->utilisateur_id = $r->utilisateur_id;\r
+               $tr->date = $r->date;\r
+               $tr->tache_id = $r->tache_id;\r
+               $tr->heures = $r->heures;\r
+               return $tr;\r
+       }\r
+\r
+       protected function factory($r)\r
+       {\r
+               $res = array();\r
+               while ($r->fetch()) {\r
+                       $res[$r->tache_id][$r->date] = $this->singleton($r);\r
+               }\r
+               return $res;\r
+       }\r
+\r
+       public function getListe($taches , $utilisateur , $dates)\r
+       {\r
+               $where = ' WHERE ';\r
+               if (!is_null($taches) && $taches != array()) {\r
+                       if (!is_array($taches)) {\r
+                               $taches = array($taches);\r
+                       }\r
+                       $where .= 'tache_id ' . $this->con->in($taches);\r
+               } else {\r
+                       $where .= '1=1';\r
+               }\r
+\r
+               $where .= ' AND ';\r
+\r
+               if (!is_null($utilisateur)) {\r
+                       $where .= 'utilisateur_id=\'' . $this->con->escape($utilisateur) . '\'';\r
+               } else {\r
+                       $where .= '1=1';\r
+               }\r
+\r
+               $where .= ' AND ';\r
+\r
+               if (!is_null($dates)) {\r
+                       $where .= '(date BETWEEN ' . $dates['start'] . ' AND ' . $dates['end'] . ')';\r
+               } else {\r
+                       $where .= '1=1';\r
+               }\r
+\r
+               $r = $this->con->select('SELECT * FROM timereport ' . $where);\r
+               return $this->factory($r);\r
+       }\r
+\r
+       public function sauve($utilisateur_id, $tache_id, $date, $heures)\r
+       {\r
+               $where = 'WHERE utilisateur_id=' . $utilisateur_id . ' AND tache_id=' . $tache_id . ' AND date=' . $date;\r
+\r
+               if (is_null($heures) || !$heures) {\r
+                       $this->con->execute('DELETE FROM timereport ' . $where);\r
+                       return '';\r
+               } else {\r
+                       $c = $this->con->openCursor('timereport');\r
+                       $c->heures = $heures;\r
+                       $r = $this->con->select('SELECT COUNT(*) AS exist FROM timereport ' . $where);\r
+                       if ($r->exist > 0) {\r
+                               $c->update($where);\r
+                       } else {\r
+                               $c->utilisateur_id = $utilisateur_id;\r
+                               $c->tache_id = $tache_id;\r
+                               $c->date = $date;\r
+                               $c->insert();\r
+                       }\r
+                       return $heures;\r
+               }\r
+       }\r
+}\r
+\r
+?>
\ No newline at end of file
diff --git a/inc/extranet/DAO/class.extranet.dao.utilisateur.php b/inc/extranet/DAO/class.extranet.dao.utilisateur.php
new file mode 100644 (file)
index 0000000..014abac
--- /dev/null
@@ -0,0 +1,227 @@
+<?php\r
+class extranetDAOUtilisateur extends extranetDAO {\r
+       protected function singleton($r, $utilisateur = null)\r
+       {\r
+               if (!$r) {\r
+                       return null;\r
+               }\r
+               if (is_null($utilisateur)) {\r
+                       if ($r->grade == 0) {\r
+                               $utilisateur = new extranetClient();\r
+                               if (isset($r->ca)) {\r
+                                       $utilisateur->ca = $r->ca;\r
+                               }\r
+                               if (isset($r->rs)) {\r
+                                       $utilisateur->rs = $r->rs;\r
+                               }\r
+                       } else {\r
+                               $utilisateur = new extranetEquipier();\r
+                               $utilisateur->agence = $r->agence;\r
+                       }\r
+               }\r
+               $utilisateur->utilisateur_id = $r->utilisateur_id;\r
+               $utilisateur->nom = $r->nom;\r
+               $utilisateur->prenom = $r->prenom;\r
+               $utilisateur->email = $r->email;\r
+               $utilisateur->password = $r->password;\r
+               $utilisateur->adresse = $r->adresse;\r
+               $utilisateur->code_postal = $r->code_postal;\r
+               $utilisateur->ville = $r->ville;\r
+               $utilisateur->pays = $r->pays;\r
+               $utilisateur->telephone = $r->telephone;\r
+               $utilisateur->mobile = $r->mobile;\r
+               $utilisateur->fax = $r->fax;\r
+               $utilisateur->date_creation = $r->date_creation;\r
+               $utilisateur->grade = $r->grade;\r
+               $utilisateur->lang = $r->lang;\r
+               $utilisateur->login = $r->login;\r
+               $utilisateur->settings = unserialize($r->settings);\r
+               $utilisateur->connected = false;\r
+               $utilisateur->notes = $r->notes;\r
+               $utilisateur->entreprise = $r->entreprise;\r
+\r
+               return $utilisateur;\r
+       }\r
+\r
+       public function cree($utilisateur = null)\r
+       {\r
+               if (is_null($utilisateur)) {\r
+                       $utilisateur = new extranetUtilisateur();\r
+               }\r
+               $utilisateur->utilisateur_id = 'new';\r
+               $utilisateur->nom = '';\r
+               $utilisateur->prenom = '';\r
+               $utilisateur->email = '';\r
+               $utilisateur->password = crypt::createPassword();\r
+               $utilisateur->adresse = '';\r
+               $utilisateur->code_postal = '';\r
+               $utilisateur->ville = '';\r
+               $utilisateur->telephone = '+33';\r
+               $utilisateur->mobile = '+33';\r
+               $utilisateur->fax = '+33';\r
+               $utilisateur->date_creation = time();\r
+               $utilisateur->pays = 'FR';\r
+               $utilisateur->lang = 'fr';\r
+               $utilisateur->settings = array();\r
+               $utilisateur->notes = '';\r
+               $utilisateur->entreprise = 0;\r
+               return $utilisateur;\r
+       }\r
+\r
+       public function creeFromEntreprise($entreprise_id)\r
+       {\r
+               $utilisateur = $this->cree(null);\r
+               $utilisateur->entreprise = $entreprise_id;\r
+               $daoEntreprise = new extranetDAOEntreprise($this->con);\r
+               $entreprise = $daoEntreprise->selectById($entreprise_id);\r
+               $utilisateur->adresse = $entreprise->adresse;\r
+               $utilisateur->code_postal = $entreprise->code_postal;\r
+               $utilisateur->ville = $entreprise->ville;\r
+               $utilisateur->pays = $entreprise->pays;\r
+               return $utilisateur;\r
+       }\r
+\r
+       public function selectById($utilisateur_id)\r
+       {\r
+               $r = $this->con->select('SELECT * FROM utilisateurs WHERE utilisateur_id=\'' . $this->con->escape($utilisateur_id) . '\' LIMIT 1');\r
+               return $this->singleton($r);\r
+       }\r
+\r
+       public function selectByLoginPassword($login, $password)\r
+       {\r
+               $r = $this->con->select('SELECT * FROM utilisateurs WHERE (email=\'' . $this->con->escape($login) . '\' OR  login=\'' . $this->con->escape($login) . '\') AND (password=\'' . $this->con->escape($password) . '\' OR ws_password=\''.$this->con->escape($password).'\') LIMIT 1');\r
+               if (!$r->count()) {\r
+                       return false;\r
+               }\r
+               $utilisateur = $this->singleton($r);\r
+               return $utilisateur;\r
+       }\r
+\r
+       public function selectByEmail($email)\r
+       {\r
+               $r = $this->con->select('SELECT * FROM utilisateurs WHERE email=\'' . $this->con->escape($email) . '\'');\r
+               return $this->singleton($r);\r
+       }\r
+\r
+       protected function getNextId()\r
+       {\r
+               $r = $this->con->select('SELECT MAX(utilisateur_id) AS utilisateur_id FROM utilisateurs');\r
+               return $r->utilisateur_id + 1;\r
+       }\r
+\r
+       protected function getQueryList($table, $orderby = null, $sens = null, $limit = null)\r
+       {\r
+               if (!is_null($this->q)) {\r
+                       $where = '';\r
+\r
+                       if ($this->search_id) {\r
+                               $where .= 'utilisateur_id=\'' . $this->con->escape($this->q) . '\' OR ';\r
+                       }\r
+                       $where .= $this->whereSearchByName($this->q);\r
+                       $limit = null;\r
+               } else {\r
+                       $where = $this->makeWhereFromFiltres();\r
+               }\r
+               $orderby = is_null($orderby)?'utilisateur_id':$orderby;\r
+               $sens = is_null($sens)?'DESC':$sens;\r
+               $limit = is_null($limit)?'':$this->con->limit($limit[0], $limit[1]);\r
+\r
+               $sql = 'SELECT * FROM ' . $table . ' WHERE (' . $where . ') ORDER BY ' . $orderby . ' ' . $sens . ' ' . $limit;\r
+               return $sql;\r
+       }\r
+\r
+       public function whereSearchByName($q, $search_entreprise = true)\r
+       {\r
+               $where = 'nom LIKE \'' . $this->con->escape($q) . '%\' OR ';\r
+               $where .= 'prenom LIKE \'' . $this->con->escape($q) . '%\' OR ';\r
+               if ($search_entreprise) {\r
+                       $where .= 'entreprise IN(SELECT entreprise_id FROM entreprises WHERE nom LIKE \'%' . $this->con->escape($q) . '%\') OR ';\r
+               }\r
+               $where .= 'email LIKE \'%' . $this->con->escape($q) . '%\'';\r
+               return $where;\r
+       }\r
+\r
+       public function sauve($data)\r
+       {\r
+               $c = $this->con->openCursor('utilisateurs');\r
+               $c->grade = $data['grade'];\r
+               $c->nom = $data['nom'];\r
+               $c->prenom = $data['prenom'];\r
+               $c->email = $data['email'];\r
+               $c->password = $data['password'];\r
+               $c->adresse = $data['adresse'];\r
+               $c->code_postal = $data['code_postal'];\r
+               $c->ville = $data['ville'];\r
+               $c->pays = $data['pays'];\r
+               $c->telephone = $data['telephone'];\r
+               $c->mobile = $data['mobile'];\r
+               $c->fax = $data['fax'];\r
+               $c->lang = $data['lang'];\r
+               $c->entreprise = $data['entreprise'];\r
+               if ($data['grade'] == 0) {\r
+               } else {\r
+                       $c->agence = $data['agence'];\r
+               }\r
+               // Nouveau client\r
+               if ($data['utilisateur_id'] == 'new') {\r
+                       $c->utilisateur_id = $this->getNextId();\r
+                       $c->date_creation = time();\r
+                       $c->insert();\r
+                       return $this->selectById($c->utilisateur_id);\r
+               } else {\r
+                       // Mise Ã  jour d'un client\r
+                       $c->update('WHERE utilisateur_id=\'' . $this->con->escape($data['utilisateur_id']) . '\'');\r
+                       return $this->selectById($data['utilisateur_id']);\r
+               }\r
+       }\r
+\r
+       public function sauveNotes($utilisateur_id, $notes)\r
+       {\r
+               $c = $this->con->openCursor('utilisateurs');\r
+               $c->notes = $notes;\r
+               return $c->update('WHERE utilisateur_id=\'' . $this->con->escape($utilisateur_id) . '\'');\r
+       }\r
+\r
+       public function sauvePreferences($utilisateur)\r
+       {\r
+               if ($utilisateur) {\r
+                       $c = $this->con->openCursor('utilisateurs');\r
+                       $c->settings = serialize($utilisateur->settings);\r
+                       return $c->update('WHERE utilisateur_id=\'' . $utilisateur->utilisateur_id . '\'');\r
+               }\r
+               return false;\r
+       }\r
+\r
+       public function changeParametres($utilisateur_id, $langue, $login)\r
+       {\r
+               $c = $this->con->openCursor('utilisateurs');\r
+               $c->lang = $langue;\r
+               $c->login = $login;\r
+               return $c->update('WHERE utilisateur_id=\'' . $this->con->escape($utilisateur_id) . '\'');\r
+       }\r
+\r
+       public function changeMotdepasse($utilisateur_id, $nouveau)\r
+       {\r
+               $c = $this->con->openCursor('utilisateurs');\r
+               $c->password = $nouveau;\r
+               return $c->update('WHERE utilisateur_id=\'' . $this->con->escape($utilisateur_id) . '\'');\r
+       }\r
+\r
+       public function supprime($utilisateur_id)\r
+       {\r
+               return $this->con->execute('DELETE FROM utilisateurs WHERE utilisateur_id=\'' . $this->con->escape($utilisateur_id) . '\'');\r
+       }\r
+\r
+       public function count()\r
+       {\r
+               $r = $this->con->select('SELECT COUNT(*) AS nb FROM utilisateurs WHERE ' . $this->makeWhereFromFiltres());\r
+               return $r->nb;\r
+       }\r
+\r
+       protected function makeWhereFromFiltres()\r
+       {\r
+               return '1=1';\r
+       }\r
+}\r
+\r
+?>
\ No newline at end of file
diff --git a/inc/extranet/DAO/class.ws.dao.book.php b/inc/extranet/DAO/class.ws.dao.book.php
new file mode 100644 (file)
index 0000000..e06d149
--- /dev/null
@@ -0,0 +1,136 @@
+<?php\r
+class wsDAOBook extends extranetDAO {\r
+       protected function singleton($r)\r
+       {\r
+               $book = new wsBook();\r
+               $book->book_id = $r->book_id;\r
+               $book->nom = $r->nom;\r
+               $book->lang = $r->lang;\r
+               $book->theme = $r->theme;\r
+               $book->proprietaire = $r->proprietaire_nom;\r
+               $book->proprietaire_id = $r->proprietaire_id;\r
+               $book->facturable = $r->facturable;\r
+               $book->facturable_id = $r->facturable_id;\r
+               $book->hash = $r->hash;\r
+               $book->compteur_visites = $r->compteur_visites;\r
+               $book->status = $r->status;\r
+               $book->date_status = $r->date_status;\r
+               $book->date = $r->date;\r
+               $book->parametres = unserialize($r->parametres);\r
+\r
+               return $book;\r
+       }\r
+\r
+       protected function cree($r)\r
+       {\r
+               $book = new wsBook();\r
+               $book->book_id = 'new';\r
+               $book->nom = '';\r
+               $book->lang = 0;\r
+               $book->theme = 0;\r
+               $book->proprietaire = '';\r
+               $book->proprietaire_id = 0;\r
+               $book->facturable = '';\r
+               $book->facturable_id = 0;\r
+               $book->hash = '';\r
+               $book->compteur_visites = 20;\r
+               $book->status = 0;\r
+               $book->date_status = TIME;\r
+               $book->date = TIME;\r
+               $book->parametres = new wsBookParametres();\r
+               return $book;\r
+       }\r
+\r
+       protected function getNextId()\r
+       {\r
+               $r = $this->con->select('SELECT MAX(book_id) AS book_id FROM books');\r
+               return $r->book_id + 1;\r
+       }\r
+\r
+       public function selectById($book_id = null)\r
+       {\r
+               if (is_null($book_id)) {\r
+                       return $this->cree();\r
+               }\r
+\r
+               $r = $this->con->select('SELECT * FROM books_vue WHERE book_id=\'' . $this->con->escape($book_id) . '\' LIMIT 1');\r
+               return $this->singleton($r);\r
+       }\r
+\r
+       public function sauve($createur, $data)\r
+       {\r
+               global $core;\r
+\r
+               $c = $this->con->openCursor('books');\r
+               $c->nom = $data['nom'];\r
+               $c->lang = $data['lang'];\r
+               $c->theme = $data['theme'];\r
+               $c->proprietaire = $data['proprietaire'];\r
+\r
+               if ($data['book_id'] == 'new' || $data['book_id'] == '') {\r
+                       $c->date = TIME;\r
+                       $c->hash = md5(rand(0, 1234567893));\r
+                       $c->compteur_visites = 20;\r
+                       $book_id = $c->book_id = $this->getNextId();\r
+                       $c->insert();\r
+               } else {\r
+                       $book_id = $data['book_id'];\r
+                       $c->update('WHERE book_id=\'' . $this->con->escape($data['book_id']) . '\'');\r
+               }\r
+\r
+               return $this->selectById($book_id);\r
+       }\r
+\r
+       public function supprime($devis_id)\r
+       {\r
+               return $this->con->execute('DELETE FROM books WHERE book_id=\'' . $this->con->escape($book_id) . '\'');\r
+       }\r
+\r
+       public function count()\r
+       {\r
+               $r = $this->con->select('SELECT COUNT(*) AS nb FROM books_vue WHERE ' . $this->makeWhereFromFiltres());\r
+               return $r->nb;\r
+       }\r
+\r
+       public function getListe($orderby = null, $sens = null, $limit = null)\r
+       {\r
+               if (!is_null($this->q)) {\r
+                       $where = '';\r
+                       if ($this->search_id) {\r
+                               $where .= ' book_id=\'' . $this->con->escape($this->q) . '\' OR ';\r
+                       }\r
+                       $where .= 'nom LIKE \'%' . $this->con->escape($this->q) . '%\'';\r
+                       $daoClient = new extranetDAOClient($this->con);\r
+                       $where .= ' OR proprietaire_id IN(' . $daoClient->querySearchByName($this->q) . ')';\r
+                       $where .= ' OR facturable_id IN(' . $daoClient->querySearchByName($this->q) . ')';\r
+                       $limit = null;\r
+               } else {\r
+                       $where = $this->makeWhereFromFiltres();\r
+               }\r
+               $orderby = is_null($orderby)?'book_id':$orderby;\r
+               $sens = is_null($sens)?'DESC':$sens;\r
+               $limit = is_null($limit)?'':$this->con->limit($limit);\r
+\r
+               $sql = 'SELECT * FROM books_vue WHERE ' . $where . ' ORDER BY ' . $orderby . ' ' . $sens . ' ' . $limit;\r
+               $r = $this->con->select($sql);\r
+               return $this->factory($r);\r
+       }\r
+\r
+       protected function makeWhereFromFiltres()\r
+       {\r
+               if (!is_null($this->filtres)) {\r
+                       $w = array('1=1');\r
+                       if (extranetFiltre::test('annee_book', $this->filtres)) {\r
+                               $w[] = 'YEAR(FROM_UNIXTIME(date)) IN (' . implode(',', array_keys($this->filtres['annee_book'])) . ')';\r
+                       }\r
+                       if (extranetFiltre::test('status_book', $this->filtres)) {\r
+                               $w[] = 'status IN(' . implode(',', array_keys($this->filtres['status_book'])) . ')';\r
+                       }\r
+                       return implode(' AND ', $w);\r
+               } else {\r
+                       return '1=1';\r
+               }\r
+       }\r
+}\r
+\r
+?>
\ No newline at end of file
diff --git a/inc/extranet/Metier/_common.php b/inc/extranet/Metier/_common.php
new file mode 100644 (file)
index 0000000..3f92f22
--- /dev/null
@@ -0,0 +1,22 @@
+<?php\r
+$__autoload['extranetUtilisateur'] = dirname(__FILE__) . '/class.extranet.utilisateur.php';\r
+$__autoload['extranetEquipier'] = dirname(__FILE__) . '/class.extranet.equipier.php';\r
+$__autoload['extranetClient'] = dirname(__FILE__) . '/class.extranet.client.php';\r
+$__autoload['extranetProjet'] = dirname(__FILE__) . '/class.extranet.projet.php';\r
+$__autoload['extranetTache'] = dirname(__FILE__) . '/class.extranet.tache.php';\r
+$__autoload['extranetTacheSousTraitee'] = dirname(__FILE__) . '/class.extranet.tache.soustraitee.php';\r
+$__autoload['extranetTacheNormale'] = dirname(__FILE__) . '/class.extranet.tache.normale.php';\r
+$__autoload['extranetTimereport'] = dirname(__FILE__) . '/class.extranet.timereport.php';\r
+$__autoload['extranetDocument'] = dirname(__FILE__) . '/class.extranet.document.php';\r
+$__autoload['extranetDevis'] = dirname(__FILE__) . '/class.extranet.devis.php';\r
+$__autoload['extranetFacture'] = dirname(__FILE__) . '/class.extranet.facture.php';\r
+$__autoload['extranetEntreprise'] = dirname(__FILE__) . '/class.extranet.entreprise.php';\r
+$__autoload['extranetFichier'] = dirname(__FILE__) . '/class.extranet.fichier.php';\r
+\r
+$__autoload['wsBook'] = dirname(__FILE__) . '/class.ws.book.php';\r
+$__autoload['wsParametres'] = dirname(__FILE__) . '/class.ws.parametres.php';\r
+$__autoload['wsThemeParametres'] = dirname(__FILE__) . '/class.ws.theme.parametres.php';\r
+$__autoload['wsBookParametres'] = dirname(__FILE__) . '/class.ws.book.parametres.php';\r
+$__autoload['wsLangueTextes'] = dirname(__FILE__) . '/class.ws.langue.textes.php';\r
+\r
+?>
\ No newline at end of file
diff --git a/inc/extranet/Metier/class.extranet.client.php b/inc/extranet/Metier/class.extranet.client.php
new file mode 100644 (file)
index 0000000..a75c7eb
--- /dev/null
@@ -0,0 +1,8 @@
+<?php\r
+class extranetClient extends extranetUtilisateur {\r
+       // Attributs composés\r
+       protected $rs;\r
+       protected $tva_intra;\r
+}\r
+\r
+?>
\ No newline at end of file
diff --git a/inc/extranet/Metier/class.extranet.devis.php b/inc/extranet/Metier/class.extranet.devis.php
new file mode 100644 (file)
index 0000000..079ba23
--- /dev/null
@@ -0,0 +1,27 @@
+<?php\r
+class extranetDevis extends extranetDocument {\r
+       protected $devis_id;\r
+       protected $email;\r
+\r
+       public function getBackground()\r
+       {\r
+               $this->fond = ROOT . '/images/devis.png';\r
+               $this->fond1 = ROOT . '/images/devis2page1.png';\r
+               $this->fond2 = ROOT . '/images/devis2page2.png';\r
+       }\r
+\r
+       protected function documentTitre()\r
+       {\r
+               $lang = $this->client->lang;\r
+               $titre = __('DEVIS') . "\n";\r
+               if ($lang == 'fr') {\r
+                       $titre .= strftime('%d %B %Y', $this->date_creation);\r
+               } else {\r
+                       $titre .= date('F jS Y');\r
+               }\r
+               $titre .= "\n\n" . $this->nom;\r
+               return $titre;\r
+       }\r
+}\r
+\r
+?>
\ No newline at end of file
diff --git a/inc/extranet/Metier/class.extranet.document.php b/inc/extranet/Metier/class.extranet.document.php
new file mode 100644 (file)
index 0000000..3af2aaa
--- /dev/null
@@ -0,0 +1,199 @@
+<?php\r
+abstract class extranetDocument extends cubeMetier {\r
+       protected $lignes;\r
+       protected $nom;\r
+       protected $total_ht;\r
+       protected $createur_id;\r
+       protected $date_creation;\r
+       protected $status;\r
+       protected $client_id;\r
+       protected $fond;\r
+       protected $fond1;\r
+       protected $fond2;\r
+       protected $adresse;\r
+       // Attributs composés\r
+       protected $createur;\r
+       protected $client;\r
+\r
+       public function saveAsPDF()\r
+       {\r
+               $cesure = $this->testPDF();\r
+\r
+               $pdf = new FPDF('P', 'mm', 'A4');\r
+               $pdf->SetAutoPageBreak(false);\r
+               $this->getBackground();\r
+               if (!$cesure) {\r
+                       $pdf->AddPage();\r
+                       $pdf->Image($this->fond, 10, 10, 194.1);\r
+               } else {\r
+                       $pdf->AddPage();\r
+                       $pdf->Image($this->fond1, 10, 10, 194.1);\r
+               }\r
+               $pdf->SetTextColor(0, 0, 0);\r
+               // Bloc adresse\r
+               if (trim($this->adresse) == '') {\r
+                       $pdf->SetXY(114, 45);\r
+                       $pdf->SetFont('Helvetica', 'B', 11);\r
+                       $pdf->MultiCell(80, 8, self::escape($this->client->rs), 0, 2);\r
+                       $pdf->SetX(114);\r
+                       $pdf->SetFont('Helvetica', '', 11);\r
+                       $pdf->MultiCell(80, 6, self::escape(trim($this->client->adresse) . "\n" . $this->client->code_postal . " " . $this->client->ville . "\n" . cubeCountry::getCountry($this->client->pays)));\r
+               } else {\r
+                       $l = explode("\n", trim($this->adresse));\r
+                       $l0 = array_shift($l);\r
+                       $pdf->SetXY(114, 45);\r
+                       $pdf->SetFont('Helvetica', 'B', 11);\r
+                       $pdf->MultiCell(80, 8, self::escape($l0), 0, 2);\r
+                       $pdf->SetX(114);\r
+                       $pdf->SetFont('Helvetica', '', 11);\r
+                       $pdf->MultiCell(80, 6, self::escape(implode("\n", $l)));\r
+               }\r
+               // Bloc TVA Intra\r
+               if ($this instanceof extranetFacture) {\r
+                       $texte_tva = '';\r
+                       if ($this->client->tva_intra != '' && cubeCountry::inUE($this->client->pays)) {\r
+                               $texte_tva .= __('N° de TVA Intracommunautaire') . ' : ' . $this->client->tva_intra . "\n";\r
+                       }\r
+                       if ($this->texte_complementaire != '') {\r
+                               $texte_tva .= $this->texte_complementaire;\r
+                       }\r
+                       if ($texte_tva != '') {\r
+                               $pdf->SetFont('Helvetica', '', 8);\r
+                               $pdf->setXY(114, 80);\r
+                               $pdf->MultiCell(80, 6, self::escape(trim($texte_tva)));\r
+                       }\r
+               }\r
+               // Bloc titre\r
+               $pdf->SetXY(15, 70);\r
+               $titre = $this->documentTitre($this->client->lang);\r
+               $pdf->SetFont('Helvetica', 'B', 10);\r
+               $pdf->MultiCell(73, 4, self::escape($titre),0,'L');\r
+               // blocs\r
+               $pdf->setY(105);\r
+               foreach($this->lignes as $i => $ligne) {\r
+                       if ($cesure && $i == $cesure) {\r
+                       fb($pdf);\r
+                               $pdf->AddPage();\r
+                               $pdf->Image($this->fond2, 10, 10, 194.1);\r
+                               $pdf->setY(20);\r
+                       }\r
+\r
+                       $y = $pdf->getY() + 5;\r
+\r
+                       $pdf->SetFont('Helvetica', 'B', 10);\r
+                       // Prix\r
+                       $pdf->SetXY(170, $y);\r
+                       $ligne['montant'] = trim($ligne['montant']);\r
+                       if (is_numeric($ligne['montant'])) {\r
+                               $pdf->Cell(30, 4, cubePrices::formatAmount($ligne['montant'], $this->client->lang) . ' euros', 0, 0, 'R');\r
+                       } else {\r
+                               $pdf->Cell(30, 4, self::escape($ligne['montant']), 0, 0, 'R');\r
+                       }\r
+                       // Titre\r
+                       $pdf->setXY(13, $y);\r
+                       $pdf->Cell(151, 4, self::escape(trim($ligne['titre'])), 0, 1);\r
+                       // Contenu\r
+                       $pdf->SetX(13);\r
+                       $pdf->SetFont('Helvetica', '', 10);\r
+                       $pdf->MultiCell(151, 4, self::escape(trim($ligne['description'])));\r
+               }\r
+               // Prix\r
+               $tva = cubeTaxes::tva($this->client->pays);\r
+               if (!$tva) {\r
+                       $tva_text = 'EXPORT';\r
+               } elseif ($tva == 'UE') {\r
+                       $tva = 0;\r
+                       $tva_text = 'EXPORT *';\r
+                       $notes = '* ' . __("Conformément Ã  l'article 242 du Code Général des Impôts");\r
+               } else {\r
+                       $tva_text = cubePrices::formatAmount($tva * 100, $this->client->lang, 1) . ' %';\r
+               }\r
+               $ttc = cubePrices::HTtoTTC($this->total_ht, $tva, 2);\r
+               $ttcf = cubePrices::formatAmount($ttc, $this->client->lang);\r
+               $taxes = ($tva > 0)?cubePrices::formatAmount($ttc - $this->total_ht, $this->client->lang, 2):'';\r
+               // Affichage du montant hors taxes\r
+               $pdf->setFont('Helvetica', 'B', 10);\r
+               if ($cesure) {\r
+                       $pdf->SetXY(170, 210);\r
+               } else {\r
+                       $pdf->SetXY(170, 223);\r
+               }\r
+               $space = 8.5;\r
+               $pdf->Cell(30, $space, cubePrices::formatAmount($this->total_ht, $this->client->lang) . ' euros', 0, 1, 'R');\r
+               $pdf->SetX(170);\r
+               $pdf->setFont('Helvetica', '', 10);\r
+               // Affichage du taux de tva et du montant des taxes\r
+               $pdf->Cell(30, $space, $tva_text, 0, 1, 'R');\r
+               $pdf->SetX(170);\r
+               if ($tva) {\r
+                       $pdf->Cell(31, $space, $taxes . ' euros', 0, 1, 'R');\r
+               } else {\r
+                       $pdf->Cell(31, $space, '-', 0, 1, 'R');\r
+               }\r
+               $pdf->SetX(170);\r
+\r
+               $pdf->SetTextColor(255, 255, 255);\r
+               $pdf->setFont('Helvetica', 'B', 10);\r
+               $pdf->Cell(30, $space, $ttcf . ' euros', 0, 1, 'R');\r
+\r
+               if (isset($notes)) {\r
+                       $pdf->setXY(8, 275);\r
+                       $pdf->setTextColor(0, 0, 0);\r
+                       $pdf->setFont('Helvetica', '', 8);\r
+                       $pdf->Cell(195, 0, self::escape($notes), 0, 1, 'R');\r
+               }\r
+               return $pdf;\r
+       }\r
+\r
+       protected function testPDF()\r
+       {\r
+               $pdf = new FPDF('P', 'mm', 'A4');\r
+               $pdf->AddPage();\r
+               $pdf->SetAutoPageBreak(false);\r
+               $pdf->setY(105);\r
+               $pages = 1;\r
+               foreach($this->lignes as $i => $ligne) {\r
+                       $y = $pdf->getY() + 5;\r
+\r
+                       $pdf->SetFont('Helvetica', 'B', 10);\r
+                       // Prix\r
+                       $pdf->SetXY(170, $y);\r
+                       $ligne['montant'] = trim($ligne['montant']);\r
+                       if (is_numeric($ligne['montant'])) {\r
+                               $pdf->Cell(30, 4, cubePrices::formatAmount($ligne['montant'], $this->client->lang) . ' euros', 0, 0, 'R');\r
+                       } else {\r
+                               $pdf->Cell(30, 4, self::escape($ligne['montant']), 0, 0, 'R');\r
+                       }\r
+                       // Titre\r
+                       $pdf->setXY(13, $y);\r
+                       $pdf->Cell(151, 4, self::escape(trim($ligne['titre'])), 0, 1);\r
+                       // Contenu\r
+                       $pdf->SetX(13);\r
+                       $pdf->SetFont('Helvetica', '', 10);\r
+                       $pdf->MultiCell(151, 4, self::escape(trim($ligne['description'])));\r
+                       fb($pdf->getY());\r
+                       if ($pdf->getY() > 225) {\r
+                               $pages = 2;\r
+                       }\r
+                       if ($pdf->getY() > 280) {\r
+                               return $i;\r
+                       }\r
+               }\r
+\r
+               if ($pages == 1) {\r
+                       return false;\r
+               } else {\r
+                       return $i;\r
+               }\r
+       }\r
+\r
+       protected function escape($str)\r
+       {\r
+               $str = cubeText::removeOddStuff($str);\r
+               return utf8_decode($str);\r
+       }\r
+\r
+       abstract protected function documentTitre();\r
+}\r
+\r
+?>
\ No newline at end of file
diff --git a/inc/extranet/Metier/class.extranet.entreprise.php b/inc/extranet/Metier/class.extranet.entreprise.php
new file mode 100644 (file)
index 0000000..8f07518
--- /dev/null
@@ -0,0 +1,19 @@
+<?php\r
+\r
+class extranetEntreprise extends cubeMetier {\r
+       protected $entreprise_id;\r
+       protected $nom;\r
+       protected $adresse;\r
+       protected $code_postal;\r
+       protected $ville;\r
+       protected $pays;\r
+       protected $date_creation;\r
+       protected $tva_intra;\r
+       protected $notes;\r
+       // Composés\r
+       protected $ca;\r
+       protected $impaye;\r
+       protected $contacts;\r
+}\r
+\r
+?>
\ No newline at end of file
diff --git a/inc/extranet/Metier/class.extranet.equipier.php b/inc/extranet/Metier/class.extranet.equipier.php
new file mode 100644 (file)
index 0000000..33e894c
--- /dev/null
@@ -0,0 +1,25 @@
+<?php\r
+class extranetEquipier extends extranetUtilisateur {\r
+       protected $agence;\r
+\r
+       public function getSignature()\r
+       {\r
+               return '--\r
+' . $this->prenom . ' ' . $this->nom . '\r
+\r
+-----------------------\r
+Cubedesigners\r
+' . $this->adresse . '\r
+' . $this->code_postal . ' ' . $this->ville . '\r
+' . cubeCountry::getCountry($this->pays) . '\r
+\r
+Tél : ' . $this->telephone . '\r
+\r
+www.cubedesigners.com\r
+www.fluidbook.com\r
+-----------------------';\r
+       }\r
+\r
+}\r
+\r
+?>
\ No newline at end of file
diff --git a/inc/extranet/Metier/class.extranet.facture.php b/inc/extranet/Metier/class.extranet.facture.php
new file mode 100644 (file)
index 0000000..a641e31
--- /dev/null
@@ -0,0 +1,50 @@
+<?php\r
+class extranetFacture extends extranetDocument {\r
+       protected $facture_id;\r
+       protected $projet_id;\r
+       protected $texte_complementaire;\r
+       protected $informations_paiement;\r
+       protected $date_paiement;\r
+       protected $avoir;\r
+       // Attributs composés\r
+       protected $projet;\r
+\r
+\r
+       public function getBackground()\r
+       {\r
+               if ($this->status == 0) {\r
+                       $this->fond1 = $this->fond2 = $this->fond = ROOT . '/images/facture-brouillon.png';\r
+               } else {\r
+                       $this->fond1 = $this->fond2 = $this->fond = ROOT . '/images/facture.png';\r
+               }\r
+       }\r
+\r
+       public function numeroFacture()\r
+       {\r
+               return date('ymd', $this->date_creation) . 'XT' . cubeMath::fill($this->facture_id, 5);\r
+       }\r
+\r
+       protected function documentTitre()\r
+       {\r
+               $lang = $this->client->lang;\r
+               if ($this->status == 4) {\r
+                       $titre = __('AVOIR');\r
+               } else {\r
+                       $titre = __('FACTURE');\r
+               }\r
+               $titre .= ' # ' . $this->numeroFacture() . "\n";\r
+               if ($this->status == 4) {\r
+                       $titre .= __('Annule la facture') . ' # ' . $this->avoir->numeroFacture();\r
+               }\r
+               $titre .= "\n";\r
+               if ($lang == 'fr') {\r
+                       $titre .= 'Le ' . strftime('%d %B %Y', $this->date_creation);\r
+               } else {\r
+                       $titre .= date('F jS Y');\r
+               }\r
+               $titre .= "\n\n" . $this->nom;\r
+               return $titre;\r
+       }\r
+}\r
+\r
+?>
\ No newline at end of file
diff --git a/inc/extranet/Metier/class.extranet.fichier.php b/inc/extranet/Metier/class.extranet.fichier.php
new file mode 100644 (file)
index 0000000..133c130
--- /dev/null
@@ -0,0 +1,25 @@
+<?php\r
+class extranetFichier extends cubeMetier {\r
+       protected $nom;\r
+       protected $type;\r
+       protected $taille;\r
+       protected $date;\r
+       protected $chemin;\r
+       protected $contact;\r
+       protected $destinataire;\r
+       protected $relPath;\r
+\r
+       public function __toString()\r
+       {\r
+               $r = array();\r
+               $skip = array('taille', 'date', 'chemin', 'type','relPath');\r
+               foreach($this as $k => $v) {\r
+                       if (!in_array($k, $skip)) {\r
+                               $r[] = (string)$v;\r
+                       }\r
+               }\r
+               return implode($r);\r
+       }\r
+}\r
+\r
+?>
\ No newline at end of file
diff --git a/inc/extranet/Metier/class.extranet.projet.php b/inc/extranet/Metier/class.extranet.projet.php
new file mode 100644 (file)
index 0000000..402fc42
--- /dev/null
@@ -0,0 +1,28 @@
+<?php\r
+class extranetProjet extends cubeMetier {\r
+       protected $projet_id;\r
+       protected $nom;\r
+       protected $date_creation;\r
+       protected $date_debut;\r
+       protected $date_fin;\r
+       protected $deadline;\r
+       protected $status;\r
+       // Attributs composés\r
+       protected $devis;\r
+       protected $client;\r
+       protected $client_id;\r
+       protected $chef;\r
+       protected $chef_id;\r
+       protected $taches;\r
+       protected $budget;\r
+       protected $jours_prevus;\r
+       protected $jours_consommes;\r
+       protected $progression;\r
+       protected $annee_debut;\r
+       protected $annee_fin;\r
+       protected $rapport_facturation;\r
+       protected $rapport_paiement;\r
+       protected $old;\r
+}\r
+\r
+?>
\ No newline at end of file
diff --git a/inc/extranet/Metier/class.extranet.tache.normale.php b/inc/extranet/Metier/class.extranet.tache.normale.php
new file mode 100644 (file)
index 0000000..90b698e
--- /dev/null
@@ -0,0 +1,10 @@
+<?php\r
+class extranetTacheNormale extends extranetTache {\r
+       protected $taux_journalier;\r
+       // Attributs composés\r
+       protected $jours_prevus;\r
+       protected $progression;\r
+       protected $jours_consommes;\r
+}\r
+\r
+?>
\ No newline at end of file
diff --git a/inc/extranet/Metier/class.extranet.tache.php b/inc/extranet/Metier/class.extranet.tache.php
new file mode 100644 (file)
index 0000000..cedf1d5
--- /dev/null
@@ -0,0 +1,10 @@
+<?php\r
+class extranetTache extends cubeMetier {\r
+       protected $tache_id;\r
+       protected $categorie;\r
+       protected $nom;\r
+       protected $projet;\r
+       protected $budget;\r
+}\r
+\r
+?>
\ No newline at end of file
diff --git a/inc/extranet/Metier/class.extranet.tache.soustraitee.php b/inc/extranet/Metier/class.extranet.tache.soustraitee.php
new file mode 100644 (file)
index 0000000..3a9502b
--- /dev/null
@@ -0,0 +1,5 @@
+<?php\r
+class extranetTacheSousTraitee extends extranetTache {\r
+}\r
+\r
+?>
\ No newline at end of file
diff --git a/inc/extranet/Metier/class.extranet.timereport.php b/inc/extranet/Metier/class.extranet.timereport.php
new file mode 100644 (file)
index 0000000..a181c2e
--- /dev/null
@@ -0,0 +1,9 @@
+<?php\r
+class extranetTimereport extends cubeMetier {\r
+       protected $date;\r
+       protected $heures;\r
+       protected $tache_id;\r
+       protected $utilisateur_id;\r
+}\r
+\r
+?>
\ No newline at end of file
diff --git a/inc/extranet/Metier/class.extranet.utilisateur.php b/inc/extranet/Metier/class.extranet.utilisateur.php
new file mode 100644 (file)
index 0000000..0e18da9
--- /dev/null
@@ -0,0 +1,100 @@
+<?php\r
+class extranetUtilisateur extends cubeMetier {\r
+       protected $utilisateur_id;\r
+       protected $connected;\r
+       protected $email;\r
+       protected $login;\r
+       protected $password;\r
+       protected $nom;\r
+       protected $prenom;\r
+       protected $adresse;\r
+       protected $code_postal;\r
+       protected $ville;\r
+       protected $pays;\r
+       protected $telephone;\r
+       protected $mobile;\r
+       protected $fax;\r
+       protected $date_creation;\r
+       protected $grade;\r
+       protected $settings;\r
+       protected $notes;\r
+       protected $lang;\r
+       protected $entreprise;\r
+       protected $tva_intra;\r
+       protected $rs;\r
+       protected $ws_admin;\r
+       protected $ws_grade;\r
+\r
+       public function getEmail()\r
+       {\r
+               return trim($this->prenom . ' ' . $this->nom . '<' . $this->email . '>');\r
+       }\r
+\r
+       public function changeSettings($rubrique, $element, $valeur)\r
+       {\r
+               $this->settings['search'][$rubrique][$element] = $valeur;\r
+       }\r
+\r
+       public function getSettings($liste)\r
+       {\r
+               $cles = array('clients' => 'entreprise_id', 'equipiers' => 'utilisateur_id', 'devis' => 'devis_id', 'projets' => 'projet_id', 'factures' => 'facture_id', 'timereport' => 'projet_id', 'fichiers' => 'nom', 'books' => 'book_id');\r
+               if (!isset($this->settings['search'][$liste]) || !is_array($this->settings['search'][$liste])) {\r
+                       $this->settings['search'][$liste] = array();\r
+               }\r
+               if (!isset($this->settings['search'][$liste]['sens'])) {\r
+                       $this->settings['search'][$liste]['sens'] = 'DESC';\r
+               }\r
+               if (!isset($this->settings['search'][$liste]['orderby'])) {\r
+                       $this->settings['search'][$liste]['orderby'] = $cles[$liste];\r
+               }\r
+               if (!isset($this->settings['search'][$liste]['page'])) {\r
+                       $this->settings['search'][$liste]['page'] = 1;\r
+               }\r
+\r
+               $this->settings['search'][$liste]['search'] = isset($_SESSION['q'])?$_SESSION['q']:null;\r
+\r
+               if (!isset($this->settings['search'][$liste]['par_page'])) {\r
+                       if ($liste == 'projets' || $liste == 'projets_timereport') {\r
+                               $this->settings['search'][$liste]['par_page'] = 15;\r
+                       } else {\r
+                               $this->settings['search'][$liste]['par_page'] = 25;\r
+                       }\r
+               }\r
+               if (!isset($this->settings['search'][$liste]['filtres'])) {\r
+                       $this->settings['search'][$liste]['filtres'] = null;\r
+               }\r
+\r
+               $page = $this->settings['search'][$liste]['page'];\r
+               $this->settings['search'][$liste]['page'] = $page?$page:1;\r
+               $par_page = $this->settings['search'][$liste]['par_page'];\r
+               if ($par_page > 0) {\r
+                       $this->settings['search'][$liste]['limit'] = array(($page-1) * $par_page, $par_page);\r
+               } else {\r
+                       $this->settings['search'][$liste]['limit'] = null;\r
+               }\r
+               $this->settings['search'][$liste]['table'] = $liste;\r
+\r
+               return $this->settings['search'][$liste];\r
+       }\r
+\r
+       public function getLastPrint()\r
+       {\r
+               if (!isset($this->settings['lastprint'])) {\r
+                       $this->settings['lastprint'] = array('pages' => '', 'date' => 0);\r
+               }\r
+               return $this->settings['lastprint'];\r
+       }\r
+\r
+       public function saveLastPrint($pages)\r
+       {\r
+               $this->settings['lastprint']['pages'] = $pages;\r
+               $this->settings['lastprint']['date'] = TIME;\r
+       }\r
+\r
+       public function __toString()\r
+       {\r
+               return trim($this->prenom . ' ' . $this->nom);\r
+       }\r
+}\r
+\r
+?>
\ No newline at end of file
diff --git a/inc/extranet/Metier/class.ws.book.parametres.php b/inc/extranet/Metier/class.ws.book.parametres.php
new file mode 100644 (file)
index 0000000..56b3711
--- /dev/null
@@ -0,0 +1,93 @@
+<?php\r
+class wsBookParametres extends wsParametres {\r
+       public function __construct()\r
+       {\r
+               parent::__construct();\r
+       }\r
+\r
+       protected function initFields()\r
+       {\r
+               parent::initFields();\r
+               // .\r
+               $this->fields['general'] = __('Informations générales');\r
+               $this->fields['pages'] = array('type' => 'integer', 'default' => '', 'editable' => false, 'label' => __('Nombre de pages'), 'extra' => false, 'grade' => 0);\r
+               $this->fields['width'] = array('type' => 'float', 'default' => '', 'editable' => false, 'label' => __('Largeur'), 'extra' => false, 'grade' => 0);\r
+               $this->fields['height'] = array('type' => 'float', 'default' => '', 'editable' => false, 'label' => __('Hauteur'), 'extra' => false, 'grade' => 0);\r
+               $this->fields['first_page_nr'] = array('type' => 'integer', 'default' => 1, 'editable' => true, 'label' => __('La numérotation débute Ã  la page'), 'extra' => false, 'grade' => 1);\r
+               $this->fields['preload'] = array('type' => 'integer', 'default' => 16, 'editable' => true, 'label' => __('Nombre de pages Ã  précharger'), 'extra' => false, 'grade' => 1);\r
+               $this->fields['reading_dir'] = array('type' => 'combo',\r
+                       'datas' => array(__('De la gauche vers la droite') => 'ltr', __('De la droite vers la gauche') => 'rtl'),\r
+                       'default' => 'ltr', 'editable' => true, 'label' => __('Sens de lecture'), 'extra' => false, 'grade' => 1);\r
+               // .\r
+               $this->fields['fonctions_generales'] = __('Fonctionnalités générales');\r
+               $this->fields['print'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Impression'), 'extra' => false, 'grade' => 1);\r
+               $this->fields['search'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Moteur de recherche'), 'extra' => false, 'grade' => 1);\r
+               $this->fields['bookmark'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Marques-pages'), 'extra' => false, 'grade' => 1);\r
+               $this->fields['url_link'] = array('type' => 'text', 'default' => 'http://', 'editable' => true, 'label' => __("URL du lien de retour au site"), 'extra' => false, 'grade' => 1);\r
+               // .\r
+               $this->fields['fonctions_pdf'] = __('Fonction Export PDF');\r
+               $this->fields['pdf'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Export PDF'), 'extra' => false, 'grade' => 1);\r
+               $this->fields['optimizepdf'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Optimiser le PDF'), 'extra' => false, 'grade' => 4);\r
+               $this->fields['pdfComplex'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Export PDF avancé'), 'extra' => false, 'grade' => 3);\r
+               // .\r
+               $this->fields['fonctions_zoom'] = __('Zoom');\r
+               $this->fields['zoom'] = array('type' => 'integer', 'default' => 200, 'editable' => true, 'label' => __('Zoom par défaut (atteint au clic)'), 'extra' => false, 'grade' => 1);\r
+               $this->fields['zoomw'] = array('type' => 'integer', 'default' => 300, 'editable' => true, 'label' => __("Zoom maximal (atteint Ã  l'aide de la molette)"), 'extra' => false, 'grade' => 1);\r
+               $this->fields['fixedZoom'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Zoom magnétique'), 'extra' => true, 'grade' => 4);\r
+               // .\r
+               $this->fields['fonctions_friend'] = __('Fonction Envoyer Ã  un ami et partage');\r
+               $this->fields['friend'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Envoyer Ã  un ami'), 'extra' => false, 'grade' => 1);\r
+               $this->fields['email_title'] = array('type' => 'text', 'default' => __('%name% vous invite Ã  découvrir %title%'), 'editable' => true, 'label' => __("Titre de l'email"), 'extra' => false, 'grade' => 1);\r
+               $this->fields['email_body'] = array('type' => 'textarea', 'default' => __('Veuillez cliquer sur le lien suivant : %link%'), 'editable' => true, 'label' => __("Titre de l'email"), 'extra' => false, 'grade' => 1);\r
+               $this->fields['email_editable'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __("Permettre au lecteur de modifier le corps de l'email"), 'extra' => false, 'grade' => 1);\r
+               $this->fields['askAcknowledge'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __("Demander au destinataire un accusé de réception"), 'extra' => true, 'grade' => 4);\r
+               $this->fields['attachPDFInEmail'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __("Joindre le fichier PDF de la page en cours Ã  l'email"), 'extra' => true, 'grade' => 4);\r
+               $this->fields['attachmentName'] = array('type' => 'text', 'default' => '', 'editable' => false, 'label' => __('Nom de la pièce jointe'), 'extra' => true, 'grade' => 4);\r
+               $this->fields['addThis'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __("Identifiant addThis"), 'extra' => false, 'grade' => 4);\r
+               $this->fields['addThisOptions'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => __("Paramètres addThis"), 'extra' => false, 'grade' => 4);\r
+               // .\r
+               $this->fields['fonctions_stats'] = __('Fonction Statistiques');\r
+               $this->fields['stats'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Activer les statistiques'), 'extra' => false, 'grade' => 1);\r
+               $this->fields['statsWeborama'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __('Statistiques Weborama'), 'extra' => true, 'grade' => 4);\r
+               // .\r
+               $this->fields['fonctions_sommaire'] = __('Fonction Sommaire');\r
+               $this->fields['displayChaptersAtStart'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __("Afficher le sommaire au chargement de la publication"), 'extra' => true, 'grade' => 4);\r
+               $this->fields['chaptersPosition'] = array('type' => 'combo',\r
+                       'datas' => array(__('Centré') => 'center' , __("Calé sur l'icône") => 'icon', __('Calé sur la gauche') => 'left'),\r
+                       'default' => 'center', 'editable' => true, 'label' => __('Positionnement du sommaire'), 'grade' => 4);\r
+               $this->fields['chaptersCloseOnTop'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __("Afficher le bouton fermer en haut du sommaire"), 'extra' => true, 'grade' => 4);\r
+               $this->fields['chaptersMargin'] = array('type' => 'integer', 'default' => 20, 'editable' => false, 'label' => __('Marge latérale du sommaire'), 'extra' => true, 'grade' => 4);\r
+               // .\r
+               $this->fields['fonctions_liens'] = __('Liens et multimedia');\r
+               $this->fields['playVideoAtStart'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __("Jouer les vidéos Ã  l'affichage de la page"), 'extra' => true, 'grade' => 4);\r
+               $this->fields['permanentLinks'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Liens visibles en permanence'), 'extra' => true, 'grade' => 4);\r
+               $this->fields['linksColor'] = array('type' => 'color', 'default' => '', 'editable' => true, 'label' => __('Couleurs des liens (si différente de la couleur indiquée dans le thème)'), 'extra' => true, 'grade' => 4);\r
+               // .\r
+               $this->fields['fonctions_sousmenu'] = __('Sous-menu supplémentaire');\r
+               $this->fields['extraSubMenu'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __('Sous-menu supplémentaire'), 'extra' => true, 'grade' => 4);\r
+               $this->fields['extraSMsizeX'] = array('type' => 'integer', 'default' => '', 'editable' => false, 'label' => __('Largeur du sous-menu supplémentaire'), 'extra' => true, 'grade' => 4);\r
+               $this->fields['extraSMsizeY'] = array('type' => 'integer', 'default' => '', 'editable' => false, 'label' => __('Hauteur du sous-menu supplémentaire'), 'extra' => true, 'grade' => 4);\r
+               $this->fields['extraName'] = array('type' => 'text', 'default' => '', 'editable' => false, 'label' => __('Nom du sous-menu supplémentaire'), 'extra' => true, 'grade' => 4);\r
+               $this->fields['extraFileName'] = array('type' => 'text', 'default' => '', 'editable' => false, 'label' => __('Fichier du sous-menu supplémentaire'), 'extra' => true, 'grade' => 4);\r
+               // .\r
+               $this->fields['fonctions_onglets'] = __('Fonds multimédia et onglets');\r
+               $this->fields['backClipName'] = array('type' => 'text', 'default' => '', 'editable' => false, 'label' => __('Fichier du fond animé'), 'extra' => true, 'grade' => 4);\r
+               $this->fields['extraXSpace'] = array('type' => 'integer', 'default' => '0', 'editable' => false, 'label' => __('Largeur du décalage des flèches'), 'extra' => true, 'grade' => 4);\r
+               // .\r
+               $this->fields['fonctions_diverses'] = __('Fonctions diverses');\r
+               $this->fields['immediateResize'] = array('type' => 'boolean', 'default' => false, 'editable' => true, 'label' => __("Redimensionner immédiatement la fenêtre"), 'extra' => true, 'grade' => 4);\r
+               // .\r
+               $this->fields['fonctions_perso'] = __('Fonctions de personnalisation');\r
+               $this->fields['shadeOnMenu'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Ombre portée sous la barre du menu'), 'extra' => true, 'grade' => 4);\r
+               $this->fields['pagesBar'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __("Afficher la barre d'accès rapide aux pages"), 'extra' => true, 'grade' => 4);\r
+               $this->fields['shadeAlpha'] = array('type' => 'integer', 'default' => 100, 'editable' => true, 'label' => __('Transparence des ombres sur les pages (100 : maximale - 0 : invisible)'), 'extra' => true, 'grade' => 4);\r
+               $this->fields['usePageEdges'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __("Afficher la bordure des pages"), 'extra' => true, 'grade' => 4);\r
+               $this->fields['arrowsColor'] = array('type' => 'color', 'default' => 'ffffff', 'editable' => true, 'label' => __('Couleur des flèches des boutons de navigation (page suivante, page précédente)'), 'extra' => true, 'grade' => 4);\r
+               $this->fields['pagesBarTxtColor'] = array('type' => 'color', 'default' => 'ffffff', 'editable' => true, 'label' => __("Couleur des numéros de page de la barre d'accès rapide aux pages"), 'extra' => true, 'grade' => 4);\r
+               $this->fields['sections'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => __("Sections"), 'extra' => false, 'grade' => 4);\r
+               $this->fields['indexColors'] = array('type' => 'textarea', 'default' => '', 'editable' => true, 'label' => __("Couleurs des pages de l'index"), 'extra' => true, 'grade' => 4);\r
+               $this->fields['displayPageNumber'] = array('type' => 'boolean', 'default' => true, 'editable' => true, 'label' => __('Afficher les numéros de page'), 'extra' => false, 'grade' => 1);\r
+       }\r
+}\r
+\r
+?>
\ No newline at end of file
diff --git a/inc/extranet/Metier/class.ws.book.php b/inc/extranet/Metier/class.ws.book.php
new file mode 100644 (file)
index 0000000..8b477a7
--- /dev/null
@@ -0,0 +1,27 @@
+<?php\r
+class wsBook extends cubeMetier {\r
+       protected $book_id;\r
+       protected $nom;\r
+\r
+       protected $lang;\r
+\r
+       protected $theme;\r
+\r
+       protected $proprietaire;\r
+       protected $proprietaire_id;\r
+\r
+       protected $facturable;\r
+       protected $facturable_id;\r
+\r
+       protected $hash;\r
+       protected $compteur_visites;\r
+\r
+       protected $status;\r
+       protected $date_status;\r
+\r
+       protected $date;\r
+\r
+       protected $parametres;\r
+}\r
+\r
+?>
\ No newline at end of file
diff --git a/inc/extranet/Metier/class.ws.document.localinfos.php b/inc/extranet/Metier/class.ws.document.localinfos.php
new file mode 100644 (file)
index 0000000..dbf97a4
--- /dev/null
@@ -0,0 +1,13 @@
+<?php\r
+class wsDocumentLocalInfos extends wsParametres {\r
+       public function initFields()\r
+       {\r
+               parent::initFields();\r
+               $this->fields['fileName'] = array('type' => 'text', 'default' => '', 'editable' => true, 'label' => __("Nom du fichier"), 'extra' => false, 'grade' => 0);\r
+               $this->fields['fileSize'] = array('type' => 'integer', 'default' => '', 'editable' => true, 'label' => __("Couleur des sous-menus"), 'extra' => false, 'grade' => 0);\r
+               $this->fields['modificationDate'] = array('type' => 'date', 'default' => TIME, 'editable' => true, 'label' => __("Date de dernière modification"), 'extra' => false, 'grade' => 0);\r
+               $this->fields['creationDate'] = array('type' => 'date', 'default' => TIME, 'editable' => true, 'label' => __("Date de dernière modification"), 'extra' => false, 'grade' => 0);\r
+       }\r
+}\r
+\r
+?>
\ No newline at end of file
diff --git a/inc/extranet/Metier/class.ws.langue.textes.php b/inc/extranet/Metier/class.ws.langue.textes.php
new file mode 100644 (file)
index 0000000..146498b
--- /dev/null
@@ -0,0 +1,19 @@
+<?php\r
+class wsLangueTextes extends cubeMetier {\r
+       protected $textes;\r
+\r
+       public function __toXML($xml = null)\r
+       {\r
+               if (is_null($xml)) {\r
+                       $xml = simplexml_load_string('<?xml version="1.0" encoding="UTF-8" ?><movie />');\r
+               } elseif (is_string($xml)) {\r
+                       $xml = simplexml_load_string($xml);\r
+               }\r
+               foreach($this->textes as $t) {\r
+                       $xml->addChild('tradText', $t);\r
+               }\r
+               return $xml;\r
+       }\r
+}\r
+\r
+?>
\ No newline at end of file
diff --git a/inc/extranet/Metier/class.ws.parametres.php b/inc/extranet/Metier/class.ws.parametres.php
new file mode 100644 (file)
index 0000000..3735b4e
--- /dev/null
@@ -0,0 +1,120 @@
+<?php\r
+class wsParametres extends cubeMetier {\r
+       protected $datas;\r
+       protected $fields;\r
+\r
+       public function __construct()\r
+       {\r
+               $this->initFields();\r
+               $this->datas = array();\r
+       }\r
+\r
+       public function __set($varname, $value)\r
+       {\r
+               $this->set($varname, $value);\r
+       }\r
+\r
+       public function __unset($varname)\r
+       {\r
+               $this->set($varname, null);\r
+       }\r
+\r
+       public function __get($varname)\r
+       {\r
+               return $this->get($varname);\r
+       }\r
+\r
+       public function __isset($varname)\r
+       {\r
+               return $this->_isset($varname);\r
+       }\r
+\r
+       public function __sleep()\r
+       {\r
+               return array('datas');\r
+       }\r
+\r
+       public function __wakeup()\r
+       {\r
+               $this->initFields();\r
+       }\r
+\r
+       protected function initFields()\r
+       {\r
+               $this->fields = array();\r
+       }\r
+\r
+       protected function set($varname, $value)\r
+       {\r
+               if (!$this->_isset($varname)) {\r
+                       throw new Exception('You are setting an attribute (' . get_class($this) . '::' . $varname . ') which not exists');\r
+               }\r
+\r
+               if (is_null($value)) {\r
+                       $this->datas[$varname] = null;\r
+                       return;\r
+               }\r
+\r
+               switch ($this->fields[$varname]['type']) {\r
+                       case 'integer':\r
+                               $value = intval($value);\r
+                               break;\r
+                       case 'float':\r
+                               $value = floatval($value);\r
+                               break;\r
+                       case 'boolean':\r
+                               $value = ($value == '' || $value == '0' || $value == 'false')?false:true;\r
+                               break;\r
+                       case 'color':\r
+                               $value = substr(trim($value, '#'), 0, 6);\r
+                               break;\r
+                       case 'date':\r
+                               $value = intval($value);\r
+                               break;\r
+                       default:\r
+\r
+               } // switch\r
+               $this->datas[$varname] = $value;\r
+       }\r
+\r
+       protected function _isset($varname)\r
+       {\r
+               return isset($this->fields[$varname]) && isset($this->fields[$varname]['default']);\r
+       }\r
+\r
+       protected function get($varname)\r
+       {\r
+               if (!$this->_isset($varname)) {\r
+                       throw new Exception('You are getting an attribute (' . get_class($this) . '::' . $varname . ') which not exists');\r
+               }\r
+               if (is_null($this->datas[$varname]) || !isset($this->datas[$varname])) {\r
+                       return $this->fields[$varname]['default'];\r
+               }\r
+               return $this->datas[$varname];\r
+       }\r
+\r
+       public function fromRecord($r)\r
+       {\r
+               $c = array_flip($r->columns());\r
+               foreach($this->fields as $n => $f) {\r
+                       if (isset($c[$n]) && !is_null($r->$n)) {\r
+                               $this->set($n, $r->$n);\r
+                       }\r
+               }\r
+       }\r
+\r
+       public function fromXML($xml)\r
+       {\r
+               foreach($this->fields as $n => $f) {\r
+                       $xp = $xml->$n;\r
+                       if (!$xp || !count($xp)) {\r
+                               continue;\r
+                       }\r
+                       foreach($xp as $x) {\r
+                               $this->set($n, $x);\r
+                       }\r
+               }\r
+       }\r
+}\r
+\r
+?>
\ No newline at end of file
diff --git a/inc/extranet/Metier/class.ws.theme.parametres.php b/inc/extranet/Metier/class.ws.theme.parametres.php
new file mode 100644 (file)
index 0000000..9b6d26a
--- /dev/null
@@ -0,0 +1,21 @@
+<?php\r
+class wsThemeParametres extends wsParametres {\r
+       public function __construct()\r
+       {\r
+               parent::__construct();\r
+       }\r
+\r
+       public function initFields()\r
+       {\r
+               parent::initFields();\r
+               $this->fields['couleurA'] = array('type' => 'couleur', 'default' => '', 'editable' => true, 'label' => __("Couleur principale (boutons, liens)"), 'extra' => false, 'grade' => 3);\r
+               $this->fields['couleurB'] = array('type' => 'couleur', 'default' => '', 'editable' => true, 'label' => __("Couleur des sous-menus"), 'extra' => false, 'grade' => 3);\r
+               $this->fields['couleurS'] = array('type' => 'couleur', 'default' => '', 'editable' => true, 'label' => __("Couleur du texte du moteur de recherche"), 'extra' => false, 'grade' => 3);\r
+               $this->fields['couleurL'] = array('type' => 'couleur', 'default' => '', 'editable' => true, 'label' => __("Couleur du fond du loader"), 'extra' => false, 'grade' => 3);\r
+               $this->fields['repeat'] = array('type' => 'combo',\r
+                       'datas' => array(__('Etirer') => '0', __('Etirer le fond') => '2', __("Répéter") => '1'),\r
+                       'default' => '0', 'editable' => true, 'label' => __('Affichage du fond'), 'grade' => 3);\r
+       }\r
+}\r
+\r
+?>
\ No newline at end of file
diff --git a/inc/prepend.php b/inc/prepend.php
new file mode 100644 (file)
index 0000000..4f7b29f
--- /dev/null
@@ -0,0 +1,25 @@
+<?php\r
+// Inclusion du fichier de configuration\r
+require_once(dirname(__FILE__) . '/config.inc.php');\r
+// Chargement de la classe cube\r
+require_once(dirname(__FILE__) . '/cube/_common.php');\r
+// Inclusion des classes propres Ã  l'extranet et Ã  la DAO\r
+require_once(dirname(__FILE__) . '/extranet/Metier/_common.php');\r
+require_once(dirname(__FILE__) . '/extranet/Controlleur/_common.php');\r
+require_once(dirname(__FILE__) . '/extranet/DAO/_common.php');\r
+$GLOBALS['ajaxClasses'][] = 'extranetAjax';\r
+// Instantiation de la classe de contrôle\r
+$core = new extranetCore();\r
+// Définition des handlers des urls\r
+$core->url->registerDefault(array('extranetUrl', 'home'));\r
+$core->url->register('ajax', 'ajax', '^ajax(.*)$', array('cubeAjax', 'ajax'));\r
+$core->url->register('cleanDownload', 'cleanDownload', '^cleanDownload$', array('extranetUrl', 'cleanDownload'));\r
+$core->url->register('flash', 'flash', '^flash(.*)$', array('wsFlash', 'in'));\r
+\r
+if (isset($_POST['q'])) {\r
+       $_SESSION['q'] = $_POST['q']?$_POST['q']:null;\r
+} elseif (!isset($_SERVER['HTTP_X_REQUESTED_WITH']) || $_SERVER['HTTP_X_REQUESTED_WITH'] != 'XMLHttpRequest') {\r
+       $_SESSION['q'] = null;\r
+}\r
+\r
+?>
\ No newline at end of file
diff --git a/index.php b/index.php
new file mode 100644 (file)
index 0000000..077defc
--- /dev/null
+++ b/index.php
@@ -0,0 +1,17 @@
+<?php\r
+require_once(dirname(__FILE__) . '/inc/prepend.php');\r
+ob_start();\r
+echo $core->url->getDocument();\r
+$buffer = ob_get_contents();\r
+\r
+ob_clean();\r
+\r
+$js[] = (JS_PATH . '/extranet.js');\r
+$jsvar['IMG'] = IMG;\r
+$jsvar['SITE_PATH'] = SITE_PATH;\r
+$css[] = CSS_PATH . '/style.css';\r
+//$css['IE'] = CSS_PATH . '/ie.css';\r
+\r
+echo cubePage::page($buffer, $js, $jsvar, $css, array(), 6);\r
+\r
+?>
\ No newline at end of file
diff --git a/js/extranet.js b/js/extranet.js
new file mode 100644 (file)
index 0000000..3e81ba2
--- /dev/null
@@ -0,0 +1,216 @@
+TO_LOAD_INDEX++;\r
+TO_LOAD[TO_LOAD_INDEX]='load_extranet();';\r
+FIRST_LOAD=true;\r
+function load_extranet(){\r
+\r
+       if($("#devisAdresse #client_nom").length){\r
+               $("#devisAdresse #client_nom").autocomplete(SITE_PATH+'autocomplete/client',{\r
+                       cacheLength             :       0,\r
+                       maxItemsToShow  :       15,\r
+                       onFindValue             :       findClient,\r
+                       onItemSelect    :       findClient\r
+               });\r
+       }\r
+\r
+\r
+       if($("#factureAdresse #projet_nom").length){\r
+               $("#factureAdresse #projet_nom").autocomplete(SITE_PATH+'autocomplete/projet',{\r
+                       cacheLength             :       0,\r
+                       maxItemsToShow  :       15,\r
+                       onFindValue             :       findProjet,\r
+                       onItemSelect    :       findProjet\r
+               });\r
+       }\r
+\r
+       if($(".dashboard").length>=1 && $("#dash").length>=1){\r
+               $("#dash").sortable('destroy');\r
+               if(FIRST_LOAD){\r
+                       FIRST_LOAD=false;\r
+               }else{\r
+                       FIRST_LOAD=true;\r
+                       $.ajax({\r
+                               url             :       SITE_PATH+'ajax/reloadDashboards',\r
+                               success :       function(data){MyAjax(data);}\r
+                       });\r
+               }\r
+\r
+               $("#dash").sortable({\r
+                       opacity :       0.6,\r
+                       axis    :       "y",\r
+                       handle  :       ".caption",\r
+                       stop    :       function(e,ui){\r
+                               $.ajax({\r
+                                       url             :       SITE_PATH+'ajax/orderDashboards?'+$("#dash").sortable('serialize')\r
+                               });\r
+                               resize();\r
+                       }\r
+               });\r
+       }\r
+\r
+       if($("#devisLignes").length>=1){\r
+               $("#devisLignes").sortable('destroy');\r
+\r
+               $("#devisLignes").sortable({\r
+                       opacity :       0.6,\r
+                       axis    :       "y"\r
+               });\r
+       }\r
+\r
+\r
+\r
+       $(".timereport_field").change(function(){\r
+               var val=parseInt($(this).val());\r
+               if(isNaN(val)){\r
+                       val=0;\r
+               }\r
+               var f=this;\r
+               var id=$(this).attr('id');\r
+               var a=id.split('_');\r
+               $.ajax({\r
+                       url             :       SITE_PATH+'ajax/saveTimereport/'+a[1]+'/'+a[2]+'/'+val,\r
+                       success :       function(data){\r
+                                                       FIRST_LOAD=true;\r
+                                                       MyAjax(data);\r
+                                                       var td=$(f).parents('td').get(0);\r
+                                                       if(parseFloat($(f).val())>0){\r
+                                                               $(td).addClass('filled');\r
+                                                       }else{\r
+                                                               $(td).removeClass('filled');\r
+                                                       }\r
+                                               }\r
+               });\r
+       });\r
+\r
+       $("#dash .toggle").click(function(){\r
+               var rel=$(this).attr('rel');\r
+               var div=$(this).parents('.dashboard').get(0);\r
+               var liste=$(div).find('.liste');\r
+\r
+               $(liste).slideToggle('fast',function(){resize();});\r
+               $(this).toggleClass('close');\r
+\r
+               $.ajax({\r
+                       url             :       SITE_PATH+'ajax/toggleDashboard/'+rel\r
+               });\r
+               return false;\r
+       });\r
+\r
+       $(".filtre .bt").click(function(){\r
+               var ul=$(this).parent().parent().children('ul');\r
+               $(ul).slideToggle('fast');\r
+               return false;\r
+       });\r
+\r
+       $(".filtre ul").click(function(e){\r
+               if(e.target.nodeName=='INPUT' || e.target.nodeName=='LABEL'){\r
+                       return true;\r
+               }\r
+               $(this).slideToggle('fast');\r
+       });\r
+       $(".filtre span").click(function(){\r
+               var ul=$(this).parent().children('ul');\r
+               $(ul).slideToggle('fast');\r
+       });\r
+\r
+       $(".filtre input").change(function(){\r
+               var form=$(this).parents('form').get(0);\r
+               var uls=$(form).find("ul");\r
+               var divs=$(form).find(".input");\r
+               var spans=$(form).find("span");\r
+               var i,j,k,ul,lis,li,input,label,checked,div,titre,t,t1,allc,inputs;\r
+               for(i=0;i<uls.length;i++){\r
+                       div=divs[i];\r
+                       titre=Array();\r
+                       ul=uls[i];\r
+                       lis=$(ul).children("li");\r
+                       allc=$(lis).get(0);\r
+                       checked=0;\r
+                       for(j=1;j<lis.length;j++){\r
+                               li=lis[j];\r
+                               input=$(li).find('input').get(0);\r
+                               label=$(li).find('label').get(0);\r
+                               if(input.checked){\r
+                                       checked++;\r
+                                       titre.push($(label).text());\r
+                               }\r
+                       }\r
+                       if(checked==0){\r
+                               $(div).find('span').text($(allc).text());\r
+                               $(div).find('a').attr('title',$(allc).text());\r
+                               $(div).removeClass('active');\r
+                               inputs=$(ul).find('input');\r
+                               for(k=0;k<inputs.length;k++){\r
+                                       inputs[k].checked=true;\r
+                               }\r
+                       }else if(checked==lis.length-1){\r
+                               $(div).find('span').text($(allc).text());\r
+                               $(div).find('a').attr('title',$(allc).text());\r
+                               $(div).removeClass('active');\r
+                       }else{\r
+                               t=titre.join(', ');\r
+                               if(t.length>20){\r
+                                       t1=t.substr(0,16)+'...';\r
+                               }else{\r
+                                       t1=t;\r
+                               }\r
+                               $(div).find('span').text(t1);\r
+                               $(div).find('a').attr('title',t);\r
+                               $(div).addClass('active');\r
+                       }\r
+               }\r
+               return true;\r
+       });\r
+\r
+       $(window).resize(function(){\r
+               resize();\r
+       });\r
+       resize();\r
+\r
+}\r
+\r
+function resize(){\r
+       var allh=$("#header").height()+$("#footer").height()+$("#bar").height()+$("#main .content").height()+13+30;\r
+       var h=Math.max($(window).height(),allh);\r
+\r
+       var mh=h-$("#header").height()-$("#footer").height()-$("#bar").height()-30-13;\r
+       mh=Math.max(mh,450);\r
+       $("#main").css('height',mh);\r
+\r
+       $(".swfPanel").css('height',mh-10);\r
+}\r
+\r
+\r
+function findClient(li){\r
+       var client=li.selectValue.split(' - ');\r
+       if(client.length<=1){\r
+               return;\r
+       }\r
+       var client_id=parseInt(client[0]);\r
+       $("#client").val(client_id);\r
+\r
+       $.ajax({\r
+               url             :       SITE_PATH+'ajax/getAdresseForDevis/'+client_id,\r
+               success :       function(data){MyAjax(data);}\r
+       });\r
+}\r
+\r
+function findProjet(li){\r
+       var projet=li.selectValue.split(' - ');\r
+       if(projet.length<=1){\r
+               return;\r
+       }\r
+       var projet_id=parseInt(projet[0]);\r
+       $("#projet").val(projet_id);\r
+\r
+       $.ajax({\r
+               url             :       SITE_PATH+'ajax/getAdresseForFacture/'+projet_id,\r
+               success :       function(data){MyAjax(data);}\r
+       });\r
+}\r
+\r
+function refreshFiles(){\r
+       $.ajax({\r
+               url             :       SITE_PATH+'ajax/refreshFichiers',\r
+               success :       function(data){MyAjax(data);}\r
+       });\r
+}\r
diff --git a/js/merged-28c4c5.js b/js/merged-28c4c5.js
new file mode 100644 (file)
index 0000000..5dfd140
--- /dev/null
@@ -0,0 +1,702 @@
+
+(function(){var
+window=this,undefined,_jQuery=window.jQuery,_$=window.$,jQuery=window.jQuery=window.$=function(selector,context){return new jQuery.fn.init(selector,context);},quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,isSimple=/^.[^:#\[\.,]*$/;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;this.context=selector;return this;}
+if(typeof selector==="string"){var match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1])
+selector=jQuery.clean([match[1]],context);else{var elem=document.getElementById(match[3]);if(elem&&elem.id!=match[3])
+return jQuery().find(selector);var ret=jQuery(elem||[]);ret.context=document;ret.selector=selector;return ret;}}else
+return jQuery(context).find(selector);}else if(jQuery.isFunction(selector))
+return jQuery(document).ready(selector);if(selector.selector&&selector.context){this.selector=selector.selector;this.context=selector.context;}
+return this.setArray(jQuery.makeArray(selector));},selector:"",jquery:"1.3.1",size:function(){return this.length;},get:function(num){return num===undefined?jQuery.makeArray(this):this[num];},pushStack:function(elems,name,selector){var ret=jQuery(elems);ret.prevObject=this;ret.context=this.context;if(name==="find")
+ret.selector=this.selector+(this.selector?" ":"")+selector;else if(name)
+ret.selector=this.selector+"."+name+"("+selector+")";return ret;},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elems);return this;},each:function(callback,args){return jQuery.each(this,callback,args);},index:function(elem){return jQuery.inArray(elem&&elem.jquery?elem[0]:elem,this);},attr:function(name,value,type){var options=name;if(typeof name==="string")
+if(value===undefined)
+return this[0]&&jQuery[type||"attr"](this[0],name);else{options={};options[name]=value;}
+return this.each(function(i){for(name in options)
+jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name));});},css:function(key,value){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]){var wrap=jQuery(html,this[0].ownerDocument).clone();if(this[0].parentNode)
+wrap.insertBefore(this[0]);wrap.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,function(elem){if(this.nodeType==1)
+this.appendChild(elem);});},prepend:function(){return this.domManip(arguments,true,function(elem){if(this.nodeType==1)
+this.insertBefore(elem,this.firstChild);});},before:function(){return this.domManip(arguments,false,function(elem){this.parentNode.insertBefore(elem,this);});},after:function(){return this.domManip(arguments,false,function(elem){this.parentNode.insertBefore(elem,this.nextSibling);});},end:function(){return this.prevObject||jQuery([]);},push:[].push,find:function(selector){if(this.length===1&&!/,/.test(selector)){var ret=this.pushStack([],"find",selector);ret.length=0;jQuery.find(selector,this[0],ret);return ret;}else{var elems=jQuery.map(this,function(elem){return jQuery.find(selector,elem);});return this.pushStack(/[^+>] [^+>]/.test(selector)?jQuery.unique(elems):elems,"find",selector);}},clone:function(events){var ret=this.map(function(){if(!jQuery.support.noCloneEvent&&!jQuery.isXMLDoc(this)){var clone=this.cloneNode(true),container=document.createElement("div");container.appendChild(clone);return jQuery.clean([container.innerHTML])[0];}else
+return this.cloneNode(true);});var clone=ret.find("*").andSelf().each(function(){if(this[expando]!==undefined)
+this[expando]=null;});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 ret;},filter:function(selector){return this.pushStack(jQuery.isFunction(selector)&&jQuery.grep(this,function(elem,i){return selector.call(elem,i);})||jQuery.multiFilter(selector,jQuery.grep(this,function(elem){return elem.nodeType===1;})),"filter",selector);},closest:function(selector){var pos=jQuery.expr.match.POS.test(selector)?jQuery(selector):null;return this.map(function(){var cur=this;while(cur&&cur.ownerDocument){if(pos?pos.index(cur)>-1:jQuery(cur).is(selector))
+return cur;cur=cur.parentNode;}});},not:function(selector){if(typeof selector==="string")
+if(isSimple.test(selector))
+return this.pushStack(jQuery.multiFilter(selector,this,true),"not",selector);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 this.pushStack(jQuery.unique(jQuery.merge(this.get(),typeof selector==="string"?jQuery(selector):jQuery.makeArray(selector))));},is:function(selector){return!!selector&&jQuery.multiFilter(selector,this).length>0;},hasClass:function(selector){return!!selector&&this.is("."+selector);},val:function(value){if(value===undefined){var elem=this[0];if(elem){if(jQuery.nodeName(elem,'option'))
+return(elem.attributes.value||{}).specified?elem.value:elem.text;if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";if(index<0)
+return null;for(var i=one?index:0,max=one?index+1:options.length;i<max;i++){var option=options[i];if(option.selected){value=jQuery(option).val();if(one)
+return value;values.push(value);}}
+return values;}
+return(elem.value||"").replace(/\r/g,"");}
+return undefined;}
+if(typeof value==="number")
+value+='';return this.each(function(){if(this.nodeType!=1)
+return;if(jQuery.isArray(value)&&/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=jQuery.makeArray(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[0]?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),"slice",Array.prototype.slice.call(arguments).join(","));},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);},domManip:function(args,table,callback){if(this[0]){var fragment=(this[0].ownerDocument||this[0]).createDocumentFragment(),scripts=jQuery.clean(args,(this[0].ownerDocument||this[0]),fragment),first=fragment.firstChild,extra=this.length>1?fragment.cloneNode(true):fragment;if(first)
+for(var i=0,l=this.length;i<l;i++)
+callback.call(root(this[i],first),i>0?extra.cloneNode(true):fragment);if(scripts)
+jQuery.each(scripts,evalScript);}
+return this;function root(elem,cur){return table&&jQuery.nodeName(elem,"table")&&jQuery.nodeName(cur,"tr")?(elem.getElementsByTagName("tbody")[0]||elem.appendChild(elem.ownerDocument.createElement("tbody"))):elem;}}};jQuery.fn.init.prototype=jQuery.fn;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);}
+function now(){return+new Date;}
+jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(typeof target==="boolean"){deep=target;target=arguments[1]||{};i=2;}
+if(typeof target!=="object"&&!jQuery.isFunction(target))
+target={};if(length==i){target=this;--i;}
+for(;i<length;i++)
+if((options=arguments[i])!=null)
+for(var name in options){var src=target[name],copy=options[name];if(target===copy)
+continue;if(deep&&copy&&typeof copy==="object"&&!copy.nodeType)
+target[name]=jQuery.extend(deep,src||(copy.length!=null?[]:{}),copy);else if(copy!==undefined)
+target[name]=copy;}
+return target;};var exclude=/z-?index|font-?weight|opacity|zoom|line-?height/i,defaultView=document.defaultView||{},toString=Object.prototype.toString;jQuery.extend({noConflict:function(deep){window.$=_$;if(deep)
+window.jQuery=_jQuery;return jQuery;},isFunction:function(obj){return toString.call(obj)==="[object Function]";},isArray:function(obj){return toString.call(obj)==="[object Array]";},isXMLDoc:function(elem){return elem.nodeType===9&&elem.documentElement.nodeName!=="HTML"||!!elem.ownerDocument&&jQuery.isXMLDoc(elem.ownerDocument);},globalEval:function(data){data=jQuery.trim(data);if(data){var head=document.getElementsByTagName("head")[0]||document.documentElement,script=document.createElement("script");script.type="text/javascript";if(jQuery.support.scriptEval)
+script.appendChild(document.createTextNode(data));else
+script.text=data;head.insertBefore(script,head.firstChild);head.removeChild(script);}},nodeName:function(elem,name){return elem.nodeName&&elem.nodeName.toUpperCase()==name.toUpperCase();},each:function(object,callback,args){var name,i=0,length=object.length;if(args){if(length===undefined){for(name in object)
+if(callback.apply(object[name],args)===false)
+break;}else
+for(;i<length;)
+if(callback.apply(object[i++],args)===false)
+break;}else{if(length===undefined){for(name in object)
+if(callback.call(object[name],name,object[name])===false)
+break;}else
+for(var value=object[0];i<length&&callback.call(value,i,value)!==false;value=object[++i]){}}
+return object;},prop:function(elem,value,type,i,name){if(jQuery.isFunction(value))
+value=value.call(elem,i);return typeof value==="number"&&type=="curCSS"&&!exclude.test(name)?value+"px":value;},className:{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;});},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(" "):"";},has:function(elem,className){return elem&&jQuery.inArray(className,(elem.className||elem).toString().split(/\s+/))>-1;}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}
+callback.call(elem);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,style=elem.style;if(name=="opacity"&&!jQuery.support.opacity){ret=jQuery.attr(style,"opacity");return ret==""?"1":ret;}
+if(name.match(/float/i))
+name=styleFloat;if(!force&&style&&style[name])
+ret=style[name];else if(defaultView.getComputedStyle){if(name.match(/float/i))
+name="float";name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var computedStyle=defaultView.getComputedStyle(elem,null);if(computedStyle)
+ret=computedStyle.getPropertyValue(name);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];if(!/^\d+(px)?$/i.test(ret)&&/^\d/.test(ret)){var left=style.left,rsLeft=elem.runtimeStyle.left;elem.runtimeStyle.left=elem.currentStyle.left;style.left=ret||0;ret=style.pixelLeft+"px";style.left=left;elem.runtimeStyle.left=rsLeft;}}
+return ret;},clean:function(elems,context,fragment){context=context||document;if(typeof context.createElement==="undefined")
+context=context.ownerDocument||context[0]&&context[0].ownerDocument||document;if(!fragment&&elems.length===1&&typeof elems[0]==="string"){var match=/^<(\w+)\s*\/?>$/.exec(elems[0]);if(match)
+return[context.createElement(match[1])];}
+var ret=[],scripts=[],div=context.createElement("div");jQuery.each(elems,function(i,elem){if(typeof elem==="number")
+elem+='';if(!elem)
+return;if(typeof elem==="string"){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+">";});var tags=jQuery.trim(elem).toLowerCase();var wrap=!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>"]||(!tags.indexOf("<td")||!tags.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!tags.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||!jQuery.support.htmlSerialize&&[1,"div<div>","</div>"]||[0,"",""];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--)
+div=div.lastChild;if(!jQuery.support.tbody){var tbody=!tags.indexOf("<table")&&tags.indexOf("<tbody")<0?div.firstChild&&div.firstChild.childNodes: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]);}
+if(!jQuery.support.leadingWhitespace&&/^\s/.test(elem))
+div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]),div.firstChild);elem=jQuery.makeArray(div.childNodes);}
+if(elem.nodeType)
+ret.push(elem);else
+ret=jQuery.merge(ret,elem);});if(fragment){for(var i=0;ret[i];i++){if(jQuery.nodeName(ret[i],"script")&&(!ret[i].type||ret[i].type.toLowerCase()==="text/javascript")){scripts.push(ret[i].parentNode?ret[i].parentNode.removeChild(ret[i]):ret[i]);}else{if(ret[i].nodeType===1)
+ret.splice.apply(ret,[i+1,0].concat(jQuery.makeArray(ret[i].getElementsByTagName("script"))));fragment.appendChild(ret[i]);}}
+return scripts;}
+return ret;},attr:function(elem,name,value){if(!elem||elem.nodeType==3||elem.nodeType==8)
+return undefined;var notxml=!jQuery.isXMLDoc(elem),set=value!==undefined;name=notxml&&jQuery.props[name]||name;if(elem.tagName){var special=/href|src|style/.test(name);if(name=="selected"&&elem.parentNode)
+elem.parentNode.selectedIndex;if(name in elem&&notxml&&!special){if(set){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)
+throw"type property can't be changed";elem[name]=value;}
+if(jQuery.nodeName(elem,"form")&&elem.getAttributeNode(name))
+return elem.getAttributeNode(name).nodeValue;if(name=="tabIndex"){var attributeNode=elem.getAttributeNode("tabIndex");return attributeNode&&attributeNode.specified?attributeNode.value:elem.nodeName.match(/(button|input|object|select|textarea)/i)?0:elem.nodeName.match(/^(a|area)$/i)&&elem.href?0:undefined;}
+return elem[name];}
+if(!jQuery.support.style&&notxml&&name=="style")
+return jQuery.attr(elem.style,"cssText",value);if(set)
+elem.setAttribute(name,""+value);var attr=!jQuery.support.hrefNormalized&&notxml&&special?elem.getAttribute(name,2):elem.getAttribute(name);return attr===null?undefined:attr;}
+if(!jQuery.support.opacity&&name=="opacity"){if(set){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+
+(parseInt(value)+''=="NaN"?"":"alpha(opacity="+value*100+")");}
+return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100)+'':"";}
+name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(set)
+elem[name]=value;return elem[name];},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeArray:function(array){var ret=[];if(array!=null){var i=array.length;if(i==null||typeof array==="string"||jQuery.isFunction(array)||array.setInterval)
+ret[0]=array;else
+while(i)
+ret[--i]=array[i];}
+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){var i=0,elem,pos=first.length;if(!jQuery.support.getAll){while((elem=second[i++])!=null)
+if(elem.nodeType!=8)
+first[pos++]=elem;}else
+while((elem=second[i++])!=null)
+first[pos++]=elem;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=[];for(var i=0,length=elems.length;i<length;i++)
+if(!inv!=!callback(elems[i],i))
+ret.push(elems[i]);return ret;},map:function(elems,callback){var ret=[];for(var i=0,length=elems.length;i<length;i++){var value=callback(elems[i],i);if(value!=null)
+ret[ret.length]=value;}
+return ret.concat.apply([],ret);}});var userAgent=navigator.userAgent.toLowerCase();jQuery.browser={version:(userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,'0'])[1],safari:/webkit/.test(userAgent),opera:/opera/.test(userAgent),msie:/msie/.test(userAgent)&&!/opera/.test(userAgent),mozilla:/mozilla/.test(userAgent)&&!/(compatible|webkit)/.test(userAgent)};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),name,selector);};});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,state){if(typeof state!=="boolean")
+state=!jQuery.className.has(this,classNames);jQuery.className[state?"add":"remove"](this,classNames);},remove:function(selector){if(!selector||jQuery.filter(selector,[this]).length){jQuery("*",this).add([this]).each(function(){jQuery.event.remove(this);jQuery.removeData(this);});if(this.parentNode)
+this.parentNode.removeChild(this);}},empty:function(){jQuery(">*",this).remove();while(this.firstChild)
+this.removeChild(this.firstChild);}},function(name,fn){jQuery.fn[name]=function(){return this.each(fn,arguments);};});function num(elem,prop){return elem[0]&&parseInt(jQuery.curCSS(elem[0],prop,true),10)||0;}
+var expando="jQuery"+now(),uuid=0,windowData={};jQuery.extend({cache:{},data:function(elem,name,data){elem=elem==window?windowData:elem;var id=elem[expando];if(!id)
+id=elem[expando]=++uuid;if(name&&!jQuery.cache[id])
+jQuery.cache[id]={};if(data!==undefined)
+jQuery.cache[id][name]=data;return name?jQuery.cache[id][name]:id;},removeData:function(elem,name){elem=elem==window?windowData:elem;var id=elem[expando];if(name){if(jQuery.cache[id]){delete jQuery.cache[id][name];name="";for(name in jQuery.cache[id])
+break;if(!name)
+jQuery.removeData(elem);}}else{try{delete elem[expando];}catch(e){if(elem.removeAttribute)
+elem.removeAttribute(expando);}
+delete jQuery.cache[id];}},queue:function(elem,type,data){if(elem){type=(type||"fx")+"queue";var q=jQuery.data(elem,type);if(!q||jQuery.isArray(data))
+q=jQuery.data(elem,type,jQuery.makeArray(data));else if(data)
+q.push(data);}
+return q;},dequeue:function(elem,type){var queue=jQuery.queue(elem,type),fn=queue.shift();if(!type||type==="fx")
+fn=queue[0];if(fn!==undefined)
+fn.call(elem);}});jQuery.fn.extend({data:function(key,value){var parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value===undefined){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data===undefined&&this.length)
+data=jQuery.data(this[0],key);return data===undefined&&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);});},queue:function(type,data){if(typeof type!=="string"){data=type;type="fx";}
+if(data===undefined)
+return jQuery.queue(this[0],type);return this.each(function(){var queue=jQuery.queue(this,type,data);if(type=="fx"&&queue.length==1)
+queue[0].call(this);});},dequeue:function(type){return this.each(function(){jQuery.dequeue(this,type);});}});(function(){var chunker=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]+['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[]+)+|[>+~])(\s*,\s*)?/g,done=0,toString=Object.prototype.toString;var Sizzle=function(selector,context,results,seed){results=results||[];context=context||document;if(context.nodeType!==1&&context.nodeType!==9)
+return[];if(!selector||typeof selector!=="string"){return results;}
+var parts=[],m,set,checkSet,check,mode,extra,prune=true;chunker.lastIndex=0;while((m=chunker.exec(selector))!==null){parts.push(m[1]);if(m[2]){extra=RegExp.rightContext;break;}}
+if(parts.length>1&&origPOS.exec(selector)){if(parts.length===2&&Expr.relative[parts[0]]){set=posProcess(parts[0]+parts[1],context);}else{set=Expr.relative[parts[0]]?[context]:Sizzle(parts.shift(),context);while(parts.length){selector=parts.shift();if(Expr.relative[selector])
+selector+=parts.shift();set=posProcess(selector,set);}}}else{var ret=seed?{expr:parts.pop(),set:makeArray(seed)}:Sizzle.find(parts.pop(),parts.length===1&&context.parentNode?context.parentNode:context,isXML(context));set=Sizzle.filter(ret.expr,ret.set);if(parts.length>0){checkSet=makeArray(set);}else{prune=false;}
+while(parts.length){var cur=parts.pop(),pop=cur;if(!Expr.relative[cur]){cur="";}else{pop=parts.pop();}
+if(pop==null){pop=context;}
+Expr.relative[cur](checkSet,pop,isXML(context));}}
+if(!checkSet){checkSet=set;}
+if(!checkSet){throw"Syntax error, unrecognized expression: "+(cur||selector);}
+if(toString.call(checkSet)==="[object Array]"){if(!prune){results.push.apply(results,checkSet);}else if(context.nodeType===1){for(var i=0;checkSet[i]!=null;i++){if(checkSet[i]&&(checkSet[i]===true||checkSet[i].nodeType===1&&contains(context,checkSet[i]))){results.push(set[i]);}}}else{for(var i=0;checkSet[i]!=null;i++){if(checkSet[i]&&checkSet[i].nodeType===1){results.push(set[i]);}}}}else{makeArray(checkSet,results);}
+if(extra){Sizzle(extra,context,results,seed);}
+return results;};Sizzle.matches=function(expr,set){return Sizzle(expr,null,null,set);};Sizzle.find=function(expr,context,isXML){var set,match;if(!expr){return[];}
+for(var i=0,l=Expr.order.length;i<l;i++){var type=Expr.order[i],match;if((match=Expr.match[type].exec(expr))){var left=RegExp.leftContext;if(left.substr(left.length-1)!=="\\"){match[1]=(match[1]||"").replace(/\\/g,"");set=Expr.find[type](match,context,isXML);if(set!=null){expr=expr.replace(Expr.match[type],"");break;}}}}
+if(!set){set=context.getElementsByTagName("*");}
+return{set:set,expr:expr};};Sizzle.filter=function(expr,set,inplace,not){var old=expr,result=[],curLoop=set,match,anyFound;while(expr&&set.length){for(var type in Expr.filter){if((match=Expr.match[type].exec(expr))!=null){var filter=Expr.filter[type],found,item;anyFound=false;if(curLoop==result){result=[];}
+if(Expr.preFilter[type]){match=Expr.preFilter[type](match,curLoop,inplace,result,not);if(!match){anyFound=found=true;}else if(match===true){continue;}}
+if(match){for(var i=0;(item=curLoop[i])!=null;i++){if(item){found=filter(item,match,i,curLoop);var pass=not^!!found;if(inplace&&found!=null){if(pass){anyFound=true;}else{curLoop[i]=false;}}else if(pass){result.push(item);anyFound=true;}}}}
+if(found!==undefined){if(!inplace){curLoop=result;}
+expr=expr.replace(Expr.match[type],"");if(!anyFound){return[];}
+break;}}}
+expr=expr.replace(/\s*,\s*/,"");if(expr==old){if(anyFound==null){throw"Syntax error, unrecognized expression: "+expr;}else{break;}}
+old=expr;}
+return curLoop;};var Expr=Sizzle.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(elem){return elem.getAttribute("href");}},relative:{"+":function(checkSet,part){for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){var cur=elem.previousSibling;while(cur&&cur.nodeType!==1){cur=cur.previousSibling;}
+checkSet[i]=typeof part==="string"?cur||false:cur===part;}}
+if(typeof part==="string"){Sizzle.filter(part,checkSet,true);}},">":function(checkSet,part,isXML){if(typeof part==="string"&&!/\W/.test(part)){part=isXML?part:part.toUpperCase();for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){var parent=elem.parentNode;checkSet[i]=parent.nodeName===part?parent:false;}}}else{for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){checkSet[i]=typeof part==="string"?elem.parentNode:elem.parentNode===part;}}
+if(typeof part==="string"){Sizzle.filter(part,checkSet,true);}}},"":function(checkSet,part,isXML){var doneName="done"+(done++),checkFn=dirCheck;if(!part.match(/\W/)){var nodeCheck=part=isXML?part:part.toUpperCase();checkFn=dirNodeCheck;}
+checkFn("parentNode",part,doneName,checkSet,nodeCheck,isXML);},"~":function(checkSet,part,isXML){var doneName="done"+(done++),checkFn=dirCheck;if(typeof part==="string"&&!part.match(/\W/)){var nodeCheck=part=isXML?part:part.toUpperCase();checkFn=dirNodeCheck;}
+checkFn("previousSibling",part,doneName,checkSet,nodeCheck,isXML);}},find:{ID:function(match,context,isXML){if(typeof context.getElementById!=="undefined"&&!isXML){var m=context.getElementById(match[1]);return m?[m]:[];}},NAME:function(match,context,isXML){if(typeof context.getElementsByName!=="undefined"&&!isXML){return context.getElementsByName(match[1]);}},TAG:function(match,context){return context.getElementsByTagName(match[1]);}},preFilter:{CLASS:function(match,curLoop,inplace,result,not){match=" "+match[1].replace(/\\/g,"")+" ";var elem;for(var i=0;(elem=curLoop[i])!=null;i++){if(elem){if(not^(" "+elem.className+" ").indexOf(match)>=0){if(!inplace)
+result.push(elem);}else if(inplace){curLoop[i]=false;}}}
+return false;},ID:function(match){return match[1].replace(/\\/g,"");},TAG:function(match,curLoop){for(var i=0;curLoop[i]===false;i++){}
+return curLoop[i]&&isXML(curLoop[i])?match[1]:match[1].toUpperCase();},CHILD:function(match){if(match[1]=="nth"){var test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(match[2]=="even"&&"2n"||match[2]=="odd"&&"2n+1"||!/\D/.test(match[2])&&"0n+"+match[2]||match[2]);match[2]=(test[1]+(test[2]||1))-0;match[3]=test[3]-0;}
+match[0]="done"+(done++);return match;},ATTR:function(match){var name=match[1].replace(/\\/g,"");if(Expr.attrMap[name]){match[1]=Expr.attrMap[name];}
+if(match[2]==="~="){match[4]=" "+match[4]+" ";}
+return match;},PSEUDO:function(match,curLoop,inplace,result,not){if(match[1]==="not"){if(match[3].match(chunker).length>1){match[3]=Sizzle(match[3],null,null,curLoop);}else{var ret=Sizzle.filter(match[3],curLoop,inplace,true^not);if(!inplace){result.push.apply(result,ret);}
+return false;}}else if(Expr.match.POS.test(match[0])){return true;}
+return match;},POS:function(match){match.unshift(true);return match;}},filters:{enabled:function(elem){return elem.disabled===false&&elem.type!=="hidden";},disabled:function(elem){return elem.disabled===true;},checked:function(elem){return elem.checked===true;},selected:function(elem){elem.parentNode.selectedIndex;return elem.selected===true;},parent:function(elem){return!!elem.firstChild;},empty:function(elem){return!elem.firstChild;},has:function(elem,i,match){return!!Sizzle(match[3],elem).length;},header:function(elem){return/h\d/i.test(elem.nodeName);},text:function(elem){return"text"===elem.type;},radio:function(elem){return"radio"===elem.type;},checkbox:function(elem){return"checkbox"===elem.type;},file:function(elem){return"file"===elem.type;},password:function(elem){return"password"===elem.type;},submit:function(elem){return"submit"===elem.type;},image:function(elem){return"image"===elem.type;},reset:function(elem){return"reset"===elem.type;},button:function(elem){return"button"===elem.type||elem.nodeName.toUpperCase()==="BUTTON";},input:function(elem){return/input|select|textarea|button/i.test(elem.nodeName);}},setFilters:{first:function(elem,i){return i===0;},last:function(elem,i,match,array){return i===array.length-1;},even:function(elem,i){return i%2===0;},odd:function(elem,i){return i%2===1;},lt:function(elem,i,match){return i<match[3]-0;},gt:function(elem,i,match){return i>match[3]-0;},nth:function(elem,i,match){return match[3]-0==i;},eq:function(elem,i,match){return match[3]-0==i;}},filter:{CHILD:function(elem,match){var type=match[1],parent=elem.parentNode;var doneName=match[0];if(parent&&(!parent[doneName]||!elem.nodeIndex)){var count=1;for(var node=parent.firstChild;node;node=node.nextSibling){if(node.nodeType==1){node.nodeIndex=count++;}}
+parent[doneName]=count-1;}
+if(type=="first"){return elem.nodeIndex==1;}else if(type=="last"){return elem.nodeIndex==parent[doneName];}else if(type=="only"){return parent[doneName]==1;}else if(type=="nth"){var add=false,first=match[2],last=match[3];if(first==1&&last==0){return true;}
+if(first==0){if(elem.nodeIndex==last){add=true;}}else if((elem.nodeIndex-last)%first==0&&(elem.nodeIndex-last)/first>=0){add=true;}
+return add;}},PSEUDO:function(elem,match,i,array){var name=match[1],filter=Expr.filters[name];if(filter){return filter(elem,i,match,array);}else if(name==="contains"){return(elem.textContent||elem.innerText||"").indexOf(match[3])>=0;}else if(name==="not"){var not=match[3];for(var i=0,l=not.length;i<l;i++){if(not[i]===elem){return false;}}
+return true;}},ID:function(elem,match){return elem.nodeType===1&&elem.getAttribute("id")===match;},TAG:function(elem,match){return(match==="*"&&elem.nodeType===1)||elem.nodeName===match;},CLASS:function(elem,match){return match.test(elem.className);},ATTR:function(elem,match){var result=Expr.attrHandle[match[1]]?Expr.attrHandle[match[1]](elem):elem[match[1]]||elem.getAttribute(match[1]),value=result+"",type=match[2],check=match[4];return result==null?type==="!=":type==="="?value===check:type==="*="?value.indexOf(check)>=0:type==="~="?(" "+value+" ").indexOf(check)>=0:!match[4]?result:type==="!="?value!=check:type==="^="?value.indexOf(check)===0:type==="$="?value.substr(value.length-check.length)===check:type==="|="?value===check||value.substr(0,check.length+1)===check+"-":false;},POS:function(elem,match,i,array){var name=match[2],filter=Expr.setFilters[name];if(filter){return filter(elem,i,match,array);}}}};var origPOS=Expr.match.POS;for(var type in Expr.match){Expr.match[type]=RegExp(Expr.match[type].source+/(?![^\[]*\])(?![^\(]*\))/.source);}
+var makeArray=function(array,results){array=Array.prototype.slice.call(array);if(results){results.push.apply(results,array);return results;}
+return array;};try{Array.prototype.slice.call(document.documentElement.childNodes);}catch(e){makeArray=function(array,results){var ret=results||[];if(toString.call(array)==="[object Array]"){Array.prototype.push.apply(ret,array);}else{if(typeof array.length==="number"){for(var i=0,l=array.length;i<l;i++){ret.push(array[i]);}}else{for(var i=0;array[i];i++){ret.push(array[i]);}}}
+return ret;};}
+(function(){var form=document.createElement("form"),id="script"+(new Date).getTime();form.innerHTML="<input name='"+id+"'/>";var root=document.documentElement;root.insertBefore(form,root.firstChild);if(!!document.getElementById(id)){Expr.find.ID=function(match,context,isXML){if(typeof context.getElementById!=="undefined"&&!isXML){var m=context.getElementById(match[1]);return m?m.id===match[1]||typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id").nodeValue===match[1]?[m]:undefined:[];}};Expr.filter.ID=function(elem,match){var node=typeof elem.getAttributeNode!=="undefined"&&elem.getAttributeNode("id");return elem.nodeType===1&&node&&node.nodeValue===match;};}
+root.removeChild(form);})();(function(){var div=document.createElement("div");div.appendChild(document.createComment(""));if(div.getElementsByTagName("*").length>0){Expr.find.TAG=function(match,context){var results=context.getElementsByTagName(match[1]);if(match[1]==="*"){var tmp=[];for(var i=0;results[i];i++){if(results[i].nodeType===1){tmp.push(results[i]);}}
+results=tmp;}
+return results;};}
+div.innerHTML="<a href='#'></a>";if(div.firstChild&&div.firstChild.getAttribute("href")!=="#"){Expr.attrHandle.href=function(elem){return elem.getAttribute("href",2);};}})();if(document.querySelectorAll)(function(){var oldSizzle=Sizzle,div=document.createElement("div");div.innerHTML="<p class='TEST'></p>";if(div.querySelectorAll&&div.querySelectorAll(".TEST").length===0){return;}
+Sizzle=function(query,context,extra,seed){context=context||document;if(!seed&&context.nodeType===9&&!isXML(context)){try{return makeArray(context.querySelectorAll(query),extra);}catch(e){}}
+return oldSizzle(query,context,extra,seed);};Sizzle.find=oldSizzle.find;Sizzle.filter=oldSizzle.filter;Sizzle.selectors=oldSizzle.selectors;Sizzle.matches=oldSizzle.matches;})();if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){Expr.order.splice(1,0,"CLASS");Expr.find.CLASS=function(match,context){return context.getElementsByClassName(match[1]);};}
+function dirNodeCheck(dir,cur,doneName,checkSet,nodeCheck,isXML){for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){elem=elem[dir];var match=false;while(elem&&elem.nodeType){var done=elem[doneName];if(done){match=checkSet[done];break;}
+if(elem.nodeType===1&&!isXML)
+elem[doneName]=i;if(elem.nodeName===cur){match=elem;break;}
+elem=elem[dir];}
+checkSet[i]=match;}}}
+function dirCheck(dir,cur,doneName,checkSet,nodeCheck,isXML){for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){elem=elem[dir];var match=false;while(elem&&elem.nodeType){if(elem[doneName]){match=checkSet[elem[doneName]];break;}
+if(elem.nodeType===1){if(!isXML)
+elem[doneName]=i;if(typeof cur!=="string"){if(elem===cur){match=true;break;}}else if(Sizzle.filter(cur,[elem]).length>0){match=elem;break;}}
+elem=elem[dir];}
+checkSet[i]=match;}}}
+var contains=document.compareDocumentPosition?function(a,b){return a.compareDocumentPosition(b)&16;}:function(a,b){return a!==b&&(a.contains?a.contains(b):true);};var isXML=function(elem){return elem.nodeType===9&&elem.documentElement.nodeName!=="HTML"||!!elem.ownerDocument&&isXML(elem.ownerDocument);};var posProcess=function(selector,context){var tmpSet=[],later="",match,root=context.nodeType?[context]:context;while((match=Expr.match.PSEUDO.exec(selector))){later+=match[0];selector=selector.replace(Expr.match.PSEUDO,"");}
+selector=Expr.relative[selector]?selector+"*":selector;for(var i=0,l=root.length;i<l;i++){Sizzle(selector,root[i],tmpSet);}
+return Sizzle.filter(later,tmpSet);};jQuery.find=Sizzle;jQuery.filter=Sizzle.filter;jQuery.expr=Sizzle.selectors;jQuery.expr[":"]=jQuery.expr.filters;Sizzle.selectors.filters.hidden=function(elem){return"hidden"===elem.type||jQuery.css(elem,"display")==="none"||jQuery.css(elem,"visibility")==="hidden";};Sizzle.selectors.filters.visible=function(elem){return"hidden"!==elem.type&&jQuery.css(elem,"display")!=="none"&&jQuery.css(elem,"visibility")!=="hidden";};Sizzle.selectors.filters.animated=function(elem){return jQuery.grep(jQuery.timers,function(fn){return elem===fn.elem;}).length;};jQuery.multiFilter=function(expr,elems,not){if(not){expr=":not("+expr+")";}
+return Sizzle.matches(expr,elems);};jQuery.dir=function(elem,dir){var matched=[],cur=elem[dir];while(cur&&cur!=document){if(cur.nodeType==1)
+matched.push(cur);cur=cur[dir];}
+return matched;};jQuery.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;};jQuery.sibling=function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType==1&&n!=elem)
+r.push(n);}
+return r;};return;window.Sizzle=Sizzle;})();jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8)
+return;if(elem.setInterval&&elem!=window)
+elem=window;if(!handler.guid)
+handler.guid=this.guid++;if(data!==undefined){var fn=handler;handler=this.proxy(fn);handler.data=data;}
+var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){return typeof jQuery!=="undefined"&&!jQuery.event.triggered?jQuery.event.handle.apply(arguments.callee.elem,arguments):undefined;});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var namespaces=type.split(".");type=namespaces.shift();handler.type=namespaces.slice().sort().join(".");var handlers=events[type];if(jQuery.event.specialAll[type])
+jQuery.event.specialAll[type].setup.call(elem,data,namespaces);if(!handlers){handlers=events[type]={};if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem,data,namespaces)===false){if(elem.addEventListener)
+elem.addEventListener(type,handle,false);else if(elem.attachEvent)
+elem.attachEvent("on"+type,handle);}}
+handlers[handler.guid]=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8)
+return;var events=jQuery.data(elem,"events"),ret,index;if(events){if(types===undefined||(typeof types==="string"&&types.charAt(0)=="."))
+for(var type in events)
+this.remove(elem,type+(types||""));else{if(types.type){handler=types.handler;types=types.type;}
+jQuery.each(types.split(/\s+/),function(index,type){var namespaces=type.split(".");type=namespaces.shift();var namespace=RegExp("(^|\\.)"+namespaces.slice().sort().join(".*\\.")+"(\\.|$)");if(events[type]){if(handler)
+delete events[type][handler.guid];else
+for(var handle in events[type])
+if(namespace.test(events[type][handle].type))
+delete events[type][handle];if(jQuery.event.specialAll[type])
+jQuery.event.specialAll[type].teardown.call(elem,namespaces);for(ret in events[type])break;if(!ret){if(!jQuery.event.special[type]||jQuery.event.special[type].teardown.call(elem,namespaces)===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];}}});}
+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(event,data,elem,bubbling){var type=event.type||event;if(!bubbling){event=typeof event==="object"?event[expando]?event:jQuery.extend(jQuery.Event(type),event):jQuery.Event(type);if(type.indexOf("!")>=0){event.type=type=type.slice(0,-1);event.exclusive=true;}
+if(!elem){event.stopPropagation();if(this.global[type])
+jQuery.each(jQuery.cache,function(){if(this.events&&this.events[type])
+jQuery.event.trigger(event,data,this.handle.elem);});}
+if(!elem||elem.nodeType==3||elem.nodeType==8)
+return undefined;event.result=undefined;event.target=elem;data=jQuery.makeArray(data);data.unshift(event);}
+event.currentTarget=elem;var handle=jQuery.data(elem,"handle");if(handle)
+handle.apply(elem,data);if((!elem[type]||(jQuery.nodeName(elem,'a')&&type=="click"))&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)
+event.result=false;if(!bubbling&&elem[type]&&!event.isDefaultPrevented()&&!(jQuery.nodeName(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]();}catch(e){}}
+this.triggered=false;if(!event.isPropagationStopped()){var parent=elem.parentNode||elem.ownerDocument;if(parent)
+jQuery.event.trigger(event,data,parent,true);}},handle:function(event){var all,handlers;event=arguments[0]=jQuery.event.fix(event||window.event);var namespaces=event.type.split(".");event.type=namespaces.shift();all=!namespaces.length&&!event.exclusive;var namespace=RegExp("(^|\\.)"+namespaces.slice().sort().join(".*\\.")+"(\\.|$)");handlers=(jQuery.data(this,"events")||{})[event.type];for(var j in handlers){var handler=handlers[j];if(all||namespace.test(handler.type)){event.handler=handler;event.data=handler.data;var ret=handler.apply(this,arguments);if(ret!==undefined){event.result=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}
+if(event.isImmediatePropagationStopped())
+break;}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(event){if(event[expando])
+return event;var originalEvent=event;event=jQuery.Event(originalEvent);for(var i=this.props.length,prop;i;){prop=this.props[--i];event[prop]=originalEvent[prop];}
+if(!event.target)
+event.target=event.srcElement||document;if(event.target.nodeType==3)
+event.target=event.target.parentNode;if(!event.relatedTarget&&event.fromElement)
+event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;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);}
+if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode))
+event.which=event.charCode||event.keyCode;if(!event.metaKey&&event.ctrlKey)
+event.metaKey=event.ctrlKey;if(!event.which&&event.button)
+event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));return event;},proxy:function(fn,proxy){proxy=proxy||function(){return fn.apply(this,arguments);};proxy.guid=fn.guid=fn.guid||proxy.guid||this.guid++;return proxy;},special:{ready:{setup:bindReady,teardown:function(){}}},specialAll:{live:{setup:function(selector,namespaces){jQuery.event.add(this,namespaces[0],liveHandler);},teardown:function(namespaces){if(namespaces.length){var remove=0,name=RegExp("(^|\\.)"+namespaces[0]+"(\\.|$)");jQuery.each((jQuery.data(this,"events").live||{}),function(){if(name.test(this.type))
+remove++;});if(remove<1)
+jQuery.event.remove(this,namespaces[0],liveHandler);}}}}};jQuery.Event=function(src){if(!this.preventDefault)
+return new jQuery.Event(src);if(src&&src.type){this.originalEvent=src;this.type=src.type;}else
+this.type=src;this.timeStamp=now();this[expando]=true;};function returnFalse(){return false;}
+function returnTrue(){return true;}
+jQuery.Event.prototype={preventDefault:function(){this.isDefaultPrevented=returnTrue;var e=this.originalEvent;if(!e)
+return;if(e.preventDefault)
+e.preventDefault();e.returnValue=false;},stopPropagation:function(){this.isPropagationStopped=returnTrue;var e=this.originalEvent;if(!e)
+return;if(e.stopPropagation)
+e.stopPropagation();e.cancelBubble=true;},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=returnTrue;this.stopPropagation();},isDefaultPrevented:returnFalse,isPropagationStopped:returnFalse,isImmediatePropagationStopped:returnFalse};var withinElement=function(event){var parent=event.relatedTarget;while(parent&&parent!=this)
+try{parent=parent.parentNode;}
+catch(e){parent=this;}
+if(parent!=this){event.type=event.data;jQuery.event.handle.apply(this,arguments);}};jQuery.each({mouseover:'mouseenter',mouseout:'mouseleave'},function(orig,fix){jQuery.event.special[fix]={setup:function(){jQuery.event.add(this,orig,withinElement,fix);},teardown:function(){jQuery.event.remove(this,orig,withinElement);}};});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){var one=jQuery.event.proxy(fn||data,function(event){jQuery(this).unbind(event,one);return(fn||data).apply(this,arguments);});return this.each(function(){jQuery.event.add(this,type,one,fn&&data);});},unbind:function(type,fn){return this.each(function(){jQuery.event.remove(this,type,fn);});},trigger:function(type,data){return this.each(function(){jQuery.event.trigger(type,data,this);});},triggerHandler:function(type,data){if(this[0]){var event=jQuery.Event(type);event.preventDefault();event.stopPropagation();jQuery.event.trigger(event,data,this[0]);return event.result;}},toggle:function(fn){var args=arguments,i=1;while(i<args.length)
+jQuery.event.proxy(fn,args[i++]);return this.click(jQuery.event.proxy(fn,function(event){this.lastToggle=(this.lastToggle||0)%i;event.preventDefault();return args[this.lastToggle++].apply(this,arguments)||false;}));},hover:function(fnOver,fnOut){return this.mouseenter(fnOver).mouseleave(fnOut);},ready:function(fn){bindReady();if(jQuery.isReady)
+fn.call(document,jQuery);else
+jQuery.readyList.push(fn);return this;},live:function(type,fn){var proxy=jQuery.event.proxy(fn);proxy.guid+=this.selector+type;jQuery(document).bind(liveConvert(type,this.selector),this.selector,proxy);return this;},die:function(type,fn){jQuery(document).unbind(liveConvert(type,this.selector),fn?{guid:fn.guid+this.selector+type}:null);return this;}});function liveHandler(event){var check=RegExp("(^|\\.)"+event.type+"(\\.|$)"),stop=true,elems=[];jQuery.each(jQuery.data(this,"events").live||[],function(i,fn){if(check.test(fn.type)){var elem=jQuery(event.target).closest(fn.data)[0];if(elem)
+elems.push({elem:elem,fn:fn});}});jQuery.each(elems,function(){if(this.fn.call(this.elem,event,this.fn.data)===false)
+stop=false;});return stop;}
+function liveConvert(type,selector){return["live",type,selector.replace(/\./g,"`").replace(/ /g,"|")].join(".");}
+jQuery.extend({isReady:false,readyList:[],ready:function(){if(!jQuery.isReady){jQuery.isReady=true;if(jQuery.readyList){jQuery.each(jQuery.readyList,function(){this.call(document,jQuery);});jQuery.readyList=null;}
+jQuery(document).triggerHandler("ready");}}});var readyBound=false;function bindReady(){if(readyBound)return;readyBound=true;if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);jQuery.ready();},false);}else if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);jQuery.ready();}});if(document.documentElement.doScroll&&typeof window.frameElement==="undefined")(function(){if(jQuery.isReady)return;try{document.documentElement.doScroll("left");}catch(error){setTimeout(arguments.callee,0);return;}
+jQuery.ready();})();}
+jQuery.event.add(window,"load",jQuery.ready);}
+jQuery.each(("blur,focus,load,resize,scroll,unload,click,dblclick,"+"mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,"+"change,select,submit,keydown,keypress,keyup,error").split(","),function(i,name){jQuery.fn[name]=function(fn){return fn?this.bind(name,fn):this.trigger(name);};});jQuery(window).bind('unload',function(){for(var id in jQuery.cache)
+if(id!=1&&jQuery.cache[id].handle)
+jQuery.event.remove(jQuery.cache[id].handle.elem);});(function(){jQuery.support={};var root=document.documentElement,script=document.createElement("script"),div=document.createElement("div"),id="script"+(new Date).getTime();div.style.display="none";div.innerHTML='   <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';var all=div.getElementsByTagName("*"),a=div.getElementsByTagName("a")[0];if(!all||!all.length||!a){return;}
+jQuery.support={leadingWhitespace:div.firstChild.nodeType==3,tbody:!div.getElementsByTagName("tbody").length,objectAll:!!div.getElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSerialize:!!div.getElementsByTagName("link").length,style:/red/.test(a.getAttribute("style")),hrefNormalized:a.getAttribute("href")==="/a",opacity:a.style.opacity==="0.5",cssFloat:!!a.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};script.type="text/javascript";try{script.appendChild(document.createTextNode("window."+id+"=1;"));}catch(e){}
+root.insertBefore(script,root.firstChild);if(window[id]){jQuery.support.scriptEval=true;delete window[id];}
+root.removeChild(script);if(div.attachEvent&&div.fireEvent){div.attachEvent("onclick",function(){jQuery.support.noCloneEvent=false;div.detachEvent("onclick",arguments.callee);});div.cloneNode(true).fireEvent("onclick");}
+jQuery(function(){var div=document.createElement("div");div.style.width="1px";div.style.paddingLeft="1px";document.body.appendChild(div);jQuery.boxModel=jQuery.support.boxModel=div.offsetWidth===2;document.body.removeChild(div);});})();var styleFloat=jQuery.support.cssFloat?"cssFloat":"styleFloat";jQuery.props={"for":"htmlFor","class":"className","float":styleFloat,cssFloat:styleFloat,styleFloat:styleFloat,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};jQuery.fn.extend({_load:jQuery.fn.load,load:function(url,params,callback){if(typeof url!=="string")
+return this._load(url);var off=url.indexOf(" ");if(off>=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}
+var type="GET";if(params)
+if(jQuery.isFunction(params)){callback=params;params=null;}else if(typeof params==="object"){params=jQuery.param(params);type="POST";}
+var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified")
+self.html(selector?jQuery("<div/>").append(res.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(selector):res.responseText);if(callback)
+self.each(callback,[res.responseText,status,res]);}});return this;},serialize:function(){return jQuery.param(this.serializeArray());},serializeArray:function(){return this.map(function(){return this.elements?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:jQuery.isArray(val)?jQuery.map(val,function(val,i){return{name:elem.name,value:val};}):{name:elem.name,value:val};}).get();}});jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=now();jQuery.extend({get:function(url,data,callback,type){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:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(s){s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));var jsonp,jsre=/=\?(&|$)/g,status,data,type=s.type.toUpperCase();if(s.data&&s.processData&&typeof s.data!=="string")
+s.data=jQuery.param(s.data);if(s.dataType=="jsonp"){if(type=="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";}
+if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++;if(s.data)
+s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";window[jsonp]=function(tmp){data=tmp;success();complete();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&&type=="GET"){var ts=now();var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"");}
+if(s.data&&type=="GET"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data;s.data=null;}
+if(s.global&&!jQuery.active++)
+jQuery.event.trigger("ajaxStart");var parts=/^(\w+:)?\/\/([^\/?#]+)/.exec(s.url);if(s.dataType=="script"&&type=="GET"&&parts&&(parts[1]&&parts[1]!=location.protocol||parts[2]!=location.host)){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=s.url;if(s.scriptCharset)
+script.charset=s.scriptCharset;if(!jsonp){var done=false;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);return undefined;}
+var requestDone=false;var xhr=s.xhr();if(s.username)
+xhr.open(type,s.url,s.async,s.username,s.password);else
+xhr.open(type,s.url,s.async);try{if(s.data)
+xhr.setRequestHeader("Content-Type",s.contentType);if(s.ifModified)
+xhr.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");xhr.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default);}catch(e){}
+if(s.beforeSend&&s.beforeSend(xhr,s)===false){if(s.global&&!--jQuery.active)
+jQuery.event.trigger("ajaxStop");xhr.abort();return false;}
+if(s.global)
+jQuery.event.trigger("ajaxSend",[xhr,s]);var onreadystatechange=function(isTimeout){if(xhr.readyState==0){if(ival){clearInterval(ival);ival=null;if(s.global&&!--jQuery.active)
+jQuery.event.trigger("ajaxStop");}}else if(!requestDone&&xhr&&(xhr.readyState==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival=null;}
+status=isTimeout=="timeout"?"timeout":!jQuery.httpSuccess(xhr)?"error":s.ifModified&&jQuery.httpNotModified(xhr,s.url)?"notmodified":"success";if(status=="success"){try{data=jQuery.httpData(xhr,s.dataType,s);}catch(e){status="parsererror";}}
+if(status=="success"){var modRes;try{modRes=xhr.getResponseHeader("Last-Modified");}catch(e){}
+if(s.ifModified&&modRes)
+jQuery.lastModified[s.url]=modRes;if(!jsonp)
+success();}else
+jQuery.handleError(s,xhr,status);complete();if(isTimeout)
+xhr.abort();if(s.async)
+xhr=null;}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout>0)
+setTimeout(function(){if(xhr&&!requestDone)
+onreadystatechange("timeout");},s.timeout);}
+try{xhr.send(s.data);}catch(e){jQuery.handleError(s,xhr,null,e);}
+if(!s.async)
+onreadystatechange();function success(){if(s.success)
+s.success(data,status);if(s.global)
+jQuery.event.trigger("ajaxSuccess",[xhr,s]);}
+function complete(){if(s.complete)
+s.complete(xhr,status);if(s.global)
+jQuery.event.trigger("ajaxComplete",[xhr,s]);if(s.global&&!--jQuery.active)
+jQuery.event.trigger("ajaxStop");}
+return xhr;},handleError:function(s,xhr,status,e){if(s.error)s.error(xhr,status,e);if(s.global)
+jQuery.event.trigger("ajaxError",[xhr,s,e]);},active:0,httpSuccess:function(xhr){try{return!xhr.status&&location.protocol=="file:"||(xhr.status>=200&&xhr.status<300)||xhr.status==304||xhr.status==1223;}catch(e){}
+return false;},httpNotModified:function(xhr,url){try{var xhrRes=xhr.getResponseHeader("Last-Modified");return xhr.status==304||xhrRes==jQuery.lastModified[url];}catch(e){}
+return false;},httpData:function(xhr,type,s){var ct=xhr.getResponseHeader("content-type"),xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0,data=xml?xhr.responseXML:xhr.responseText;if(xml&&data.documentElement.tagName=="parsererror")
+throw"parsererror";if(s&&s.dataFilter)
+data=s.dataFilter(data,type);if(typeof data==="string"){if(type=="script")
+jQuery.globalEval(data);if(type=="json")
+data=window["eval"]("("+data+")");}
+return data;},param:function(a){var s=[];function add(key,value){s[s.length]=encodeURIComponent(key)+'='+encodeURIComponent(value);};if(jQuery.isArray(a)||a.jquery)
+jQuery.each(a,function(){add(this.name,this.value);});else
+for(var j in a)
+if(jQuery.isArray(a[j]))
+jQuery.each(a[j],function(){add(j,this);});else
+add(j,jQuery.isFunction(a[j])?a[j]():a[j]);return s.join("&").replace(/%20/g,"+");}});var elemdisplay={},timerId,fxAttrs=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function genFx(type,num){var obj={};jQuery.each(fxAttrs.concat.apply([],fxAttrs.slice(0,num)),function(){obj[this]=type;});return obj;}
+jQuery.fn.extend({show:function(speed,callback){if(speed){return this.animate(genFx("show",3),speed,callback);}else{for(var i=0,l=this.length;i<l;i++){var old=jQuery.data(this[i],"olddisplay");this[i].style.display=old||"";if(jQuery.css(this[i],"display")==="none"){var tagName=this[i].tagName,display;if(elemdisplay[tagName]){display=elemdisplay[tagName];}else{var elem=jQuery("<"+tagName+" />").appendTo("body");display=elem.css("display");if(display==="none")
+display="block";elem.remove();elemdisplay[tagName]=display;}
+this[i].style.display=jQuery.data(this[i],"olddisplay",display);}}
+return this;}},hide:function(speed,callback){if(speed){return this.animate(genFx("hide",3),speed,callback);}else{for(var i=0,l=this.length;i<l;i++){var old=jQuery.data(this[i],"olddisplay");if(!old&&old!=="none")
+jQuery.data(this[i],"olddisplay",jQuery.css(this[i],"display"));this[i].style.display="none";}
+return this;}},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){var bool=typeof fn==="boolean";return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle.apply(this,arguments):fn==null||bool?this.each(function(){var state=bool?fn:jQuery(this).is(":hidden");jQuery(this)[state?"show":"hide"]();}):this.animate(genFx("toggle",3),fn,fn2);},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(){var opt=jQuery.extend({},optall),p,hidden=this.nodeType==1&&jQuery(this).is(":hidden"),self=this;for(p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)
+return opt.complete.call(this);if((p=="height"||p=="width")&&this.style){opt.display=jQuery.css(this,"display");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";if(unit!="px"){self.style[name]=(end||1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit;}
+if(parts[1])
+end=((parts[1]=="-="?-1:1)*end)+start;e.custom(start,end,unit);}else
+e.custom(start,val,"");}});return true;});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue)
+this.queue([]);this.each(function(){for(var i=timers.length-1;i>=0;i--)
+if(timers[i].elem==this){if(gotoEnd)
+timers[i](true);timers.splice(i,1);}});if(!gotoEnd)
+this.dequeue();return this;}});jQuery.each({slideDown:genFx("show",1),slideUp:genFx("hide",1),slideToggle:genFx("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(name,props){jQuery.fn[name]=function(speed,callback){return this.animate(props,speed,callback);};});jQuery.extend({speed:function(speed,easing,fn){var opt=typeof speed==="object"?speed:{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&!jQuery.isFunction(easing)&&easing};opt.duration=jQuery.fx.off?0:typeof opt.duration==="number"?opt.duration:jQuery.fx.speeds[opt.duration]||jQuery.fx.speeds._default;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false)
+jQuery(this).dequeue();if(jQuery.isFunction(opt.old))
+opt.old.call(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:[],fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;if(!options.orig)
+options.orig={};}});jQuery.fx.prototype={update:function(){if(this.options.step)
+this.options.step.call(this.elem,this.now,this);(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style)
+this.elem.style.display="block";},cur:function(force){if(this.elem[this.prop]!=null&&(!this.elem.style||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;},custom:function(from,to,unit){this.startTime=now();this.start=from;this.end=to;this.unit=unit||this.unit||"px";this.now=this.start;this.pos=this.state=0;var self=this;function t(gotoEnd){return self.step(gotoEnd);}
+t.elem=this.elem;if(t()&&jQuery.timers.push(t)==1){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(timerId);}},13);}},show:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.show=true;this.custom(this.prop=="width"||this.prop=="height"?1:0,this.cur());jQuery(this.elem).show();},hide:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0);},step:function(gotoEnd){var t=now();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){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,"display")=="none")
+this.elem.style.display="block";}
+if(this.options.hide)
+jQuery(this.elem).hide();if(this.options.hide||this.options.show)
+for(var p in this.options.curAnim)
+jQuery.attr(this.elem.style,p,this.options.orig[p]);this.options.complete.call(this.elem);}
+return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;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);this.update();}
+return true;}};jQuery.extend(jQuery.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(fx){jQuery.attr(fx.elem.style,"opacity",fx.now);},_default:function(fx){if(fx.elem.style&&fx.elem.style[fx.prop]!=null)
+fx.elem.style[fx.prop]=fx.now+fx.unit;else
+fx.elem[fx.prop]=fx.now;}}});if(document.documentElement["getBoundingClientRect"])
+jQuery.fn.offset=function(){if(!this[0])return{top:0,left:0};if(this[0]===this[0].ownerDocument.body)return jQuery.offset.bodyOffset(this[0]);var box=this[0].getBoundingClientRect(),doc=this[0].ownerDocument,body=doc.body,docElem=doc.documentElement,clientTop=docElem.clientTop||body.clientTop||0,clientLeft=docElem.clientLeft||body.clientLeft||0,top=box.top+(self.pageYOffset||jQuery.boxModel&&docElem.scrollTop||body.scrollTop)-clientTop,left=box.left+(self.pageXOffset||jQuery.boxModel&&docElem.scrollLeft||body.scrollLeft)-clientLeft;return{top:top,left:left};};else
+jQuery.fn.offset=function(){if(!this[0])return{top:0,left:0};if(this[0]===this[0].ownerDocument.body)return jQuery.offset.bodyOffset(this[0]);jQuery.offset.initialized||jQuery.offset.initialize();var elem=this[0],offsetParent=elem.offsetParent,prevOffsetParent=elem,doc=elem.ownerDocument,computedStyle,docElem=doc.documentElement,body=doc.body,defaultView=doc.defaultView,prevComputedStyle=defaultView.getComputedStyle(elem,null),top=elem.offsetTop,left=elem.offsetLeft;while((elem=elem.parentNode)&&elem!==body&&elem!==docElem){computedStyle=defaultView.getComputedStyle(elem,null);top-=elem.scrollTop,left-=elem.scrollLeft;if(elem===offsetParent){top+=elem.offsetTop,left+=elem.offsetLeft;if(jQuery.offset.doesNotAddBorder&&!(jQuery.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(elem.tagName)))
+top+=parseInt(computedStyle.borderTopWidth,10)||0,left+=parseInt(computedStyle.borderLeftWidth,10)||0;prevOffsetParent=offsetParent,offsetParent=elem.offsetParent;}
+if(jQuery.offset.subtractsBorderForOverflowNotVisible&&computedStyle.overflow!=="visible")
+top+=parseInt(computedStyle.borderTopWidth,10)||0,left+=parseInt(computedStyle.borderLeftWidth,10)||0;prevComputedStyle=computedStyle;}
+if(prevComputedStyle.position==="relative"||prevComputedStyle.position==="static")
+top+=body.offsetTop,left+=body.offsetLeft;if(prevComputedStyle.position==="fixed")
+top+=Math.max(docElem.scrollTop,body.scrollTop),left+=Math.max(docElem.scrollLeft,body.scrollLeft);return{top:top,left:left};};jQuery.offset={initialize:function(){if(this.initialized)return;var body=document.body,container=document.createElement('div'),innerDiv,checkDiv,table,td,rules,prop,bodyMarginTop=body.style.marginTop,html='<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';rules={position:'absolute',top:0,left:0,margin:0,border:0,width:'1px',height:'1px',visibility:'hidden'};for(prop in rules)container.style[prop]=rules[prop];container.innerHTML=html;body.insertBefore(container,body.firstChild);innerDiv=container.firstChild,checkDiv=innerDiv.firstChild,td=innerDiv.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(checkDiv.offsetTop!==5);this.doesAddBorderForTableAndCells=(td.offsetTop===5);innerDiv.style.overflow='hidden',innerDiv.style.position='relative';this.subtractsBorderForOverflowNotVisible=(checkDiv.offsetTop===-5);body.style.marginTop='1px';this.doesNotIncludeMarginInBodyOffset=(body.offsetTop===0);body.style.marginTop=bodyMarginTop;body.removeChild(container);this.initialized=true;},bodyOffset:function(body){jQuery.offset.initialized||jQuery.offset.initialize();var top=body.offsetTop,left=body.offsetLeft;if(jQuery.offset.doesNotIncludeMarginInBodyOffset)
+top+=parseInt(jQuery.curCSS(body,'marginTop',true),10)||0,left+=parseInt(jQuery.curCSS(body,'marginLeft',true),10)||0;return{top:top,left:left};}};jQuery.fn.extend({position:function(){var left=0,top=0,results;if(this[0]){var offsetParent=this.offsetParent(),offset=this.offset(),parentOffset=/^body|html$/i.test(offsetParent[0].tagName)?{top:0,left:0}:offsetParent.offset();offset.top-=num(this,'marginTop');offset.left-=num(this,'marginLeft');parentOffset.top+=num(offsetParent,'borderTopWidth');parentOffset.left+=num(offsetParent,'borderLeftWidth');results={top:offset.top-parentOffset.top,left:offset.left-parentOffset.left};}
+return results;},offsetParent:function(){var offsetParent=this[0].offsetParent||document.body;while(offsetParent&&(!/^body|html$/i.test(offsetParent.tagName)&&jQuery.css(offsetParent,'position')=='static'))
+offsetParent=offsetParent.offsetParent;return jQuery(offsetParent);}});jQuery.each(['Left','Top'],function(i,name){var method='scroll'+name;jQuery.fn[method]=function(val){if(!this[0])return null;return val!==undefined?this.each(function(){this==window||this==document?window.scrollTo(!i?val:jQuery(window).scrollLeft(),i?val:jQuery(window).scrollTop()):this[method]=val;}):this[0]==window||this[0]==document?self[i?'pageYOffset':'pageXOffset']||jQuery.boxModel&&document.documentElement[method]||document.body[method]:this[0][method];};});jQuery.each(["Height","Width"],function(i,name){var tl=i?"Left":"Top",br=i?"Right":"Bottom";jQuery.fn["inner"+name]=function(){return this[name.toLowerCase()]()+
+num(this,"padding"+tl)+
+num(this,"padding"+br);};jQuery.fn["outer"+name]=function(margin){return this["inner"+name]()+
+num(this,"border"+tl+"Width")+
+num(this,"border"+br+"Width")+
+(margin?num(this,"margin"+tl)+num(this,"margin"+br):0);};var type=name.toLowerCase();jQuery.fn[type]=function(size){return this[0]==window?document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(document.documentElement["client"+name],document.body["scroll"+name],document.documentElement["scroll"+name],document.body["offset"+name],document.documentElement["offset"+name]):size===undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,typeof size==="string"?size:size+"px");};});})();(function($){$.fn.ajaxSubmit=function(options){if(!this.length){log('ajaxSubmit: skipping submit process - no element selected');return this;}
+if(typeof options=='function')
+options={success:options};options=$.extend({url:this.attr('action')||window.location.toString(),type:this.attr('method')||'GET'},options||{});var veto={};this.trigger('form-pre-serialize',[this,options,veto]);if(veto.veto){log('ajaxSubmit: submit vetoed via form-pre-serialize trigger');return this;}
+var a=this.formToArray(options.semantic);if(options.data){options.extraData=options.data;for(var n in options.data)
+a.push({name:n,value:options.data[n]});}
+if(options.beforeSubmit&&options.beforeSubmit(a,this,options)===false){log('ajaxSubmit: submit aborted via beforeSubmit callback');return this;}
+this.trigger('form-submit-validate',[a,this,options,veto]);if(veto.veto){log('ajaxSubmit: submit vetoed via form-submit-validate trigger');return this;}
+var q=$.param(a);if(options.type.toUpperCase()=='GET'){options.url+=(options.url.indexOf('?')>=0?'&':'?')+q;options.data=null;}
+else
+options.data=q;var $form=this,callbacks=[];if(options.resetForm)callbacks.push(function(){$form.resetForm();});if(options.clearForm)callbacks.push(function(){$form.clearForm();});if(!options.dataType&&options.target){var oldSuccess=options.success||function(){};callbacks.push(function(data){$(options.target).html(data).each(oldSuccess,arguments);});}
+else if(options.success)
+callbacks.push(options.success);options.success=function(data,status){for(var i=0,max=callbacks.length;i<max;i++)
+callbacks[i](data,status,$form);};var files=$('input:file',this).fieldValue();var found=false;for(var j=0;j<files.length;j++)
+if(files[j])
+found=true;if(options.iframe||found){if($.browser.safari&&options.closeKeepAlive)
+$.get(options.closeKeepAlive,fileUpload);else
+fileUpload();}
+else
+$.ajax(options);this.trigger('form-submit-notify',[this,options]);return this;function fileUpload(){var form=$form[0];if($(':input[@name=submit]',form).length){alert('Error: Form elements must not be named "submit".');return;}
+var opts=$.extend({},$.ajaxSettings,options);var id='jqFormIO'+(new Date().getTime());var $io=$('<iframe id="'+id+'" name="'+id+'" />');var io=$io[0];if($.browser.msie||$.browser.opera)
+io.src='javascript:false;document.write("");';$io.css({position:'absolute',top:'-1000px',left:'-1000px'});var xhr={responseText:null,responseXML:null,status:0,statusText:'n/a',getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){}};var g=opts.global;if(g&&!$.active++)$.event.trigger("ajaxStart");if(g)$.event.trigger("ajaxSend",[xhr,opts]);var cbInvoked=0;var timedOut=0;var sub=form.clk;if(sub){var n=sub.name;if(n&&!sub.disabled){options.extraData=options.extraData||{};options.extraData[n]=sub.value;if(sub.type=="image"){options.extraData[name+'.x']=form.clk_x;options.extraData[name+'.y']=form.clk_y;}}}
+setTimeout(function(){var t=$form.attr('target'),a=$form.attr('action');$form.attr({target:id,encoding:'multipart/form-data',enctype:'multipart/form-data',method:'POST',action:opts.url});if(opts.timeout)
+setTimeout(function(){timedOut=true;cb();},opts.timeout);var extraInputs=[];try{if(options.extraData)
+for(var n in options.extraData)
+extraInputs.push($('<input type="hidden" name="'+n+'" value="'+options.extraData[n]+'" />').appendTo(form)[0]);$io.appendTo('body');io.attachEvent?io.attachEvent('onload',cb):io.addEventListener('load',cb,false);form.submit();}
+finally{$form.attr('action',a);t?$form.attr('target',t):$form.removeAttr('target');$(extraInputs).remove();}},10);function cb(){if(cbInvoked++)return;io.detachEvent?io.detachEvent('onload',cb):io.removeEventListener('load',cb,false);var operaHack=0;var ok=true;try{if(timedOut)throw'timeout';var data,doc;doc=io.contentWindow?io.contentWindow.document:io.contentDocument?io.contentDocument:io.document;if(doc.body==null&&!operaHack&&$.browser.opera){operaHack=1;cbInvoked--;setTimeout(cb,100);return;}
+xhr.responseText=doc.body?doc.body.innerHTML:null;xhr.responseXML=doc.XMLDocument?doc.XMLDocument:doc;xhr.getResponseHeader=function(header){var headers={'content-type':opts.dataType};return headers[header];};if(opts.dataType=='json'||opts.dataType=='script'){var ta=doc.getElementsByTagName('textarea')[0];xhr.responseText=ta?ta.value:xhr.responseText;}
+else if(opts.dataType=='xml'&&!xhr.responseXML&&xhr.responseText!=null){xhr.responseXML=toXml(xhr.responseText);}
+data=$.httpData(xhr,opts.dataType);}
+catch(e){ok=false;$.handleError(opts,xhr,'error',e);}
+if(ok){opts.success(data,'success');if(g)$.event.trigger("ajaxSuccess",[xhr,opts]);}
+if(g)$.event.trigger("ajaxComplete",[xhr,opts]);if(g&&!--$.active)$.event.trigger("ajaxStop");if(opts.complete)opts.complete(xhr,ok?'success':'error');setTimeout(function(){$io.remove();xhr.responseXML=null;},100);};function toXml(s,doc){if(window.ActiveXObject){doc=new ActiveXObject('Microsoft.XMLDOM');doc.async='false';doc.loadXML(s);}
+else
+doc=(new DOMParser()).parseFromString(s,'text/xml');return(doc&&doc.documentElement&&doc.documentElement.tagName!='parsererror')?doc:null;};};};$.fn.ajaxForm=function(options){return this.ajaxFormUnbind().bind('submit.form-plugin',function(){$(this).ajaxSubmit(options);return false;}).each(function(){$(":submit,input:image",this).bind('click.form-plugin',function(e){var $form=this.form;$form.clk=this;if(this.type=='image'){if(e.offsetX!=undefined){$form.clk_x=e.offsetX;$form.clk_y=e.offsetY;}else if(typeof $.fn.offset=='function'){var offset=$(this).offset();$form.clk_x=e.pageX-offset.left;$form.clk_y=e.pageY-offset.top;}else{$form.clk_x=e.pageX-this.offsetLeft;$form.clk_y=e.pageY-this.offsetTop;}}
+setTimeout(function(){$form.clk=$form.clk_x=$form.clk_y=null;},10);});});};$.fn.ajaxFormUnbind=function(){this.unbind('submit.form-plugin');return this.each(function(){$(":submit,input:image",this).unbind('click.form-plugin');});};$.fn.formToArray=function(semantic){var a=[];if(this.length==0)return a;var form=this[0];var els=semantic?form.getElementsByTagName('*'):form.elements;if(!els)return a;for(var i=0,max=els.length;i<max;i++){var el=els[i];var n=el.name;if(!n)continue;if(semantic&&form.clk&&el.type=="image"){if(!el.disabled&&form.clk==el)
+a.push({name:n+'.x',value:form.clk_x},{name:n+'.y',value:form.clk_y});continue;}
+var v=$.fieldValue(el,true);if(v&&v.constructor==Array){for(var j=0,jmax=v.length;j<jmax;j++)
+a.push({name:n,value:v[j]});}
+else if(v!==null&&typeof v!='undefined')
+a.push({name:n,value:v});}
+if(!semantic&&form.clk){var inputs=form.getElementsByTagName("input");for(var i=0,max=inputs.length;i<max;i++){var input=inputs[i];var n=input.name;if(n&&!input.disabled&&input.type=="image"&&form.clk==input)
+a.push({name:n+'.x',value:form.clk_x},{name:n+'.y',value:form.clk_y});}}
+return a;};$.fn.formSerialize=function(semantic){return $.param(this.formToArray(semantic));};$.fn.fieldSerialize=function(successful){var a=[];this.each(function(){var n=this.name;if(!n)return;var v=$.fieldValue(this,successful);if(v&&v.constructor==Array){for(var i=0,max=v.length;i<max;i++)
+a.push({name:n,value:v[i]});}
+else if(v!==null&&typeof v!='undefined')
+a.push({name:this.name,value:v});});return $.param(a);};$.fn.fieldValue=function(successful){for(var val=[],i=0,max=this.length;i<max;i++){var el=this[i];var v=$.fieldValue(el,successful);if(v===null||typeof v=='undefined'||(v.constructor==Array&&!v.length))
+continue;v.constructor==Array?$.merge(val,v):val.push(v);}
+return val;};$.fieldValue=function(el,successful){var n=el.name,t=el.type,tag=el.tagName.toLowerCase();if(typeof successful=='undefined')successful=true;if(successful&&(!n||el.disabled||t=='reset'||t=='button'||(t=='checkbox'||t=='radio')&&!el.checked||(t=='submit'||t=='image')&&el.form&&el.form.clk!=el||tag=='select'&&el.selectedIndex==-1))
+return null;if(tag=='select'){var index=el.selectedIndex;if(index<0)return null;var a=[],ops=el.options;var one=(t=='select-one');var max=(one?index+1:ops.length);for(var i=(one?index:0);i<max;i++){var op=ops[i];if(op.selected){var v=$.browser.msie&&!(op.attributes['value'].specified)?op.text:op.value;if(one)return v;a.push(v);}}
+return a;}
+return el.value;};$.fn.clearForm=function(){return this.each(function(){$('input,select,textarea',this).clearFields();});};$.fn.clearFields=$.fn.clearInputs=function(){return this.each(function(){var t=this.type,tag=this.tagName.toLowerCase();if(t=='text'||t=='password'||tag=='textarea')
+this.value='';else if(t=='checkbox'||t=='radio')
+this.checked=false;else if(tag=='select')
+this.selectedIndex=-1;});};$.fn.resetForm=function(){return this.each(function(){if(typeof this.reset=='function'||(typeof this.reset=='object'&&!this.reset.nodeType))
+this.reset();});};$.fn.enable=function(b){if(b==undefined)b=true;return this.each(function(){this.disabled=!b});};$.fn.select=function(select){if(select==undefined)select=true;return this.each(function(){var t=this.type;if(t=='checkbox'||t=='radio')
+this.checked=select;else if(this.tagName.toLowerCase()=='option'){var $sel=$(this).parent('select');if(select&&$sel[0]&&$sel[0].type=='select-one'){$sel.find('option').select(false);}
+this.selected=select;}});};function log(){if($.fn.ajaxSubmit.debug&&window.console&&window.console.log)
+window.console.log('[jquery.form] '+Array.prototype.join.call(arguments,''));};})(jQuery);var TO_LOAD_INDEX=0;var TO_LOAD=new Array;var MARKITUP=false;var UNBIND=false;$(function(){load_jquery();});function load_jquery(){if(UNBIND){if(MARKITUP){$("*").not(".markItUpButton").unbind();}else{$("*").unbind();}}
+UNBIND=true;$("a.submit").click(function(){$(this).parents("form").submit();return false;});$("a.submitWait").click(function(){$(this).parents("form").after('<p class="center">'+$(this).attr('title')+'<br /><br /><img src="'+IMG_CUBE+'/loader.gif" /></p>');$(this).parents("form").submit();$(this).parents("form").hide();return false;});$("form").submit(function(){$(this).attr('change','0');return true;});$("form.blank").each(function(){$(this).attr('target','_blank');$(this).removeClass('_blank');});$("form").not(".notajax").submit(function(){display_loader();$(this).ajaxSubmit({url:SITE_PATH+'ajax/'+$(this).attr('action'),success:function(data){MyAjax(data);}});return false;});$(".notajax form").unbind();$("form.submitonchange :input").each(function(){$(this).one('change',function(){$(this).parents("form").submit();});});$(":input").change(function(){$(this).parents("form").attr("change",1);});$("a.ajax").click(function(){var title=$(this).attr('title');var href=$(this).attr('rel');if(title!=''&&title!=undefined&&title.search(/\?/)>-1){if(!window.confirm(title)){return false;}}
+if($(this).hasClass('wait')){wait();}
+display_loader();$.ajax({url:SITE_PATH+'ajax/'+href,success:function(data){MyAjax(data);}});return false;});$("a.dajax").dblclick(function(){var title=$(this).attr('title');var href=$(this).attr('rel');if(title!=''&&title!=undefined&&title.search(/\?/)>=0){if(!window.confirm(title)){return false;}}
+display_loader();$.ajax({url:SITE_PATH+'ajax/'+href,success:function(data){MyAjax(data);}});return false;});$("a.ajaxh").click(function(){var title=$(this).attr('title');var href=$(this).attr('href');if(title!=''&&title!=undefined&&title.search(/\?/)>=0){if(!window.confirm(title)){return false;}}
+display_loader();$.ajax({url:href,success:function(data){MyAjax(data);}});return false;});$("a.prompt").click(function(){var href=$(this).attr('rel');var defaut=$(this).attr('rev');var name=window.prompt($(this).attr('title'),defaut);if(name==null||name=='null'||name==''){return false;}
+display_loader();$.ajax({url:SITE_PATH+'ajax/'+href+'?var='+name,success:function(data){MyAjax(data);}});return false;});$("a.closePopup").click(function(){closePopup($(this),true);return false;});$("a.closePopupNotConfirm").click(function(){closePopup($(this),false);return false;});$("a.popup").click(function(){display_loader();$.ajax({url:SITE_PATH+'ajax/'+$(this).attr('rel'),dataType:'responseText',success:function(data){createPopup(data);}});remove_loader();return false;});$("a.changepopup").click(function(){display_loader();$.ajax({url:SITE_PATH+'ajax/'+$(this).attr('rel'),dataType:'responseText',success:function(data){changepopup(data);load_jquery();}});remove_loader();return false;});$("a.blank").click(function(){$(this).attr('target','_blank');return true;});$("a.nothing").click(function(){return false;});$(".pemail").each(function(){var protected=$(this).text();var adresse=rot13(protected);$(this).text(adresse);$(this).attr('href','mailto:'+adresse);$(this).removeClass('pemail');});var len=TO_LOAD.length;for(var i=0;i<len;i++){eval(TO_LOAD[i]);}
+__fixPNG();if($("#jquery_time").length>0&&$("#jquery_time").text()==''){var E=new Date();var m=(parseInt(E-S)/1000).toString().replace('.',',');$("#jquery_time").text(m);}}
+function randval(min,max){var diff=max-min;return Math.round(Math.random()*diff)+diff;}
+function rot(t,u,v){return String.fromCharCode(((t-u+v)%(v*2))+u);}
+function rot13(s){var b=[],c,i=s.length,a='a'.charCodeAt(),z=a+26,A='A'.charCodeAt(),Z=A+26;while(i--){c=s.charCodeAt(i);if(c>=a&&c<z){b[i]=rot(c,a,13);}else if(c>=A&&c<Z){b[i]=rot(c,A,13);}else{b[i]=s.charAt(i);}}
+return b.join('');}
+function createPopup(data){POPUP_COUNTER=parseInt(POPUP_COUNTER);$("body").append('<div id="pl_'+POPUP_COUNTER+'" class="popupLayer"><div class="popupOverlay" id="po_'+POPUP_COUNTER+'" style="z-index:'+(1000+POPUP_COUNTER*2)+';"></div><div id="pw_'+POPUP_COUNTER+'" class="popupWindow" style="z-index:'+(1001+POPUP_COUNTER*2)+';"></div></div>');$("#po_"+POPUP_COUNTER).css('opacity',0.65);$("#po_"+POPUP_COUNTER).css('display','block');$("#pw_"+POPUP_COUNTER).html(data);$("#pw_"+POPUP_COUNTER).show();popup_dimensions(POPUP_COUNTER);load_jquery();POPUP_COUNTER+=1;}
+function closePopup(object,confirm){if(object==undefined||object==null){var i=$(".popupLayer").length-1;var elements=$(".popupLayer").get();var e=elements[i];var changes=false;$(this).find("form").each(function(){if($(this).attr("change")==1){changes=true;}});if(confirm==false||(changes==true&&window.confirm(CONFIRM_CLOSE))||changes==false){$(e).remove();POPUP_COUNTER-=1;popup_dimensions();}}else{$(object).parents(".popupLayer").each(function(){var changes=false;$(this).find("form").each(function(){if($(this).attr("change")==1){changes=true;}});if(confirm==false||(changes==true&&window.confirm(CONFIRM_CLOSE))||changes==false){$(this).remove();POPUP_COUNTER-=1;popup_dimensions();}});}}
+function popup_dimensions(i){if(i==undefined){i=POPUP_COUNTER-1;}
+if(i<0){return;}
+var margin=30;var mh=$(window).height()-(margin*2);if(!$.browser.msie){$("#pw_"+i).css("opacity",0);}
+$("#pw_"+i+" .c>div").css("overflow-y",'auto');$("#pw_"+i+" .c>div").css("overflow-x",'visible');$("#pw_"+i+" .c>div").css("max-height",mh);$("#pw_"+i).css("left",($(window).width()-$("#pw_"+i).width())/2);if($("#pw_"+i+" .c>div").attr('top')){$("#pw_"+i).css("top",parseInt($("#pw_"+i+" .c>div").attr('top')));}else{var top=(mh-$("#pw_"+i).height())/2+margin;$("#pw_"+i).css("top",top);}
+if(!$.browser.msie){$("#pw_"+i).css("opacity",1);}}
+function changepopup(data){var pc=POPUP_COUNTER-1;$("#pw_"+pc).html(data);popup_dimensions(pc);}
+function checkUpload(){if($.browser.msie){var iframe=uploadIframe.document;}else{var uploadIframe=document.getElementById('uploadIframe');var iframe=uploadIframe.contentDocument;}
+if(iframe.getElementById('status')!=undefined&&iframe.contentDocument.getElementById('status').innerHTML!=undefined){clearInterval(INTERVAL);$.ajax({url:UPDATE,success:function(data){MyAjax(data);}});if(iframe.getElementById('status').innerHTML!='ok'){window.alert(ERREUR_FICHIER+' : \n'+iframe.getElementById('status').innerHTML);}
+if(POPUP_COUNTER>0){closePopup(null,false);}
+$("#uploadIframe").remove();}}
+function isSet(i){return(i==null||i=='null'||i==''||i=='undefined');}
+function callAjaxSwf(urlLink){$.ajax({url:urlLink,success:function(data){MyAjax(data);}});}
+function swfAjax(data){MyAjax(strToXML(data));}
+function MyAjax(data,reload){var error=new Array();var confirmation='';var ok=true;var t=$(data).children('rsp').children().get();for(var i=0;i<t.length;i++){var e=t[i];var name=e.nodeName;if(name=='confirmation'){var contentconfirm=$(e).text();confirmation+="<p>"+contentconfirm+"</p>";}else if(name=='error'){var errors=$(e).children().get();for(var j=0;j<errors.length;j++){var err=errors[j];var ename=err.nodeName;var econtent=$(err).text();$("#"+ename).addClass('error');$("#"+ename).val('');error.push(econtent);ok=false;}}else if(name=='content'){var contents=$(e).children().get();for(var k=0;k<contents.length;k++){var content=contents[k];var cname=content.nodeName;var ccontent=$(content).text();if(ccontent==''){$("#"+cname).html(ccontent);}else{$("#"+cname).html(ccontent);}
+if(POPUP_COUNTER-1>=0){popup_dimensions(POPUP_COUNTER-1);}}}else if(name=='replace'){var contents=$(e).children().get();for(var k=0;k<contents.length;k++){var content=contents[k];var cname=content.nodeName;var ccontent=$(content).text();if(ccontent==''){$("#"+cname).replaceWith(ccontent);}else{$("#"+cname).replaceWith(ccontent);}
+if(POPUP_COUNTER-1>=0){popup_dimensions(POPUP_COUNTER-1);}}}else if(name=='append'){var contents=$(e).children().get();for(var k=0;k<contents.length;k++){var content=contents[k];var cname=content.nodeName;var ccontent=$(content).text();if(ccontent==''){$("#"+cname).append(ccontent);}else{$("#"+cname).append(ccontent);}
+if(POPUP_COUNTER-1>=0){popup_dimensions(POPUP_COUNTER-1);}}}else if(name=='param'){var ids=$(e).children().get();for(var p=0;p<ids.length;p++){var id=ids[p];var idname=id.nodeName;var params=$(id).children().get();var o={};for(var q=0;q<params.length;q++){var param=params[q];var paramname=param.nodeName;var paramcontent=$(param).text();o[paramname]=paramcontent;}
+$("#"+idname).attr(o);$("#"+idname).parents("form").unbind('submit');}}else if(name=='alert'){var alerts=$(e).children().get();for(var r=0;r<alerts.length;r++){var alert=alerts[r];var acontent=$(alert).text();window.alert(acontent);}}else if(name=='ok'){var oks=$(e).children().get();for(var l=0;l<oks.length;l++){var ok=oks[l];var oname=ok.nodeName.toLowerCase();$("#"+oname).removeClass('error');}}else if(name=='redirection'){var url=$(e).text();window.location=url;}else if(name=='show'){var oks=$(e).children().get();for(var l=0;l<oks.length;l++){var ok=oks[l];var oname=ok.nodeName;$("#"+oname).show('fast');}}else if(name=='debug'){}else if(name=='eval'){var codes=$(e).children().get();for(var r=0;r<codes.length;r++){var code=codes[r];eval($(code).text());}}else if(name=='closepopup'){var closes=$(e).children().get();for(var cp=0;cp<closes.length;cp++){closePopup(null,false);}}else if(name=='openpopup'){var opens=$(e).children().get();for(var op=0;op<opens.length;op++){var cont=opens[op];createPopup($(cont).text());}}else if(name=='changepopup'){var changes=$(e).children().get();for(var cp=0;cp<changes.length;cp++){var cont=changes[cp];changepopup($(cont).text());}}
+else if(name=='popupdimensions'){popup_dimensions();}
+else if(name=='truepopup'){var trues=$(e).children().get();for(var tp=0;tp<trues.length;tp++){var cont=trues[tp];truePopup($(cont).text());}}else if(name=='timer'){var time=parseInt($(e).text());var t=setTimeout("doNothing()",time);}else if(name=='value'){var values=$(e).children().get();for(var v=0;v<values.length;v++){var node=values[v];var oname=node.nodeName;var val=$("#"+oname).val($(node).text());}}}
+if(error.length>0){$("#message").html(error.join('<br />'));}else{$("#message").html('');}
+if(confirmation!=''){$("#confirmation").html(confirmation);$("#confirmation").animate({height:26,opacity:1},2000,function(){$("#confirmation").fadeTo(10000,1,function(){$("#confirmation").animate({height:0,opacity:0},2000);$("#confirmation").empty();});});}
+if(reload==true||reload==undefined){load_jquery();}
+remove_loader();return ok;}
+function truePopup(url){var rand=Math.round(Math.random()*200);window.open(url,'Popup'+rand,'width='+window.width+',height='+window.height);}
+function _fixPNG(){var png;var images=$('img[src*="png"]:not([fixed="fixed"])');images.each(function(){png=$(this).attr('src');$(this).attr('src',IMG_CUBE+'/spacer.gif');$(this).css('filter',"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+png+"')");$(this).attr('fixed','fixed');});}
+function __fixPNG(){if($.browser.msie&&parseInt(navigator.userAgent.match(/MSIE (\d+(?:\.\d+)+(?:b\d*)?)/)[1])<=6){_fixPNG();}}
+function getWindowHeight(){var windowHeight=0;if(typeof(window.innerHeight)=='number'){windowHeight=window.innerHeight;}
+else{if(document.documentElement&&document.documentElement.clientHeight){windowHeight=document.documentElement.clientHeight;}
+else{if(document.body&&document.body.clientHeight){windowHeight=document.body.clientHeight;}}}
+return windowHeight;}
+function getWindowWidth(){var myWidth=0;if(typeof(window.innerWidth)=='number'){myWidth=window.innerWidth;}
+else if(document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight)){myWidth=document.documentElement.clientWidth;}
+else if(document.body&&(document.body.clientWidth||document.body.clientHeight)){myWidth=document.body.clientWidth;}
+return myWidth;}
+function doNothing(){}
+function htmlEditorGetText(id){var text=document.getElementById(id).value;return'<TEXTFORMAT LEADING="2"><P ALIGN="LEFT">'+text+'</P></TEXTFORMAT>';}
+function htmlEditorPutText(id,text){document.getElementById(id).value=text;}
+function display_loader(){if(LOADER_AJAX==''){}else{$("body").append('<div id="loader"><img src="'+LOADER_AJAX+'" /></div>');}}
+function remove_loader(){if(LOADER_AJAX==''){}else{$("#loader").remove();}}
+function URLEncode(clearString){var output='';var x=0;clearString=clearString.toString();var regex=/(^[a-zA-Z0-9_.]*)/;while(x<clearString.length){var match=regex.exec(clearString.substr(x));if(match!=null&&match.length>1&&match[1]!=''){output+=match[1];x+=match[1].length;}else{if(clearString[x]==' ')
+output+='+';else{var charCode=clearString.charCodeAt(x);var hexVal=charCode.toString(16);output+='%'+(hexVal.length<2?'0':'')+hexVal.toUpperCase();}
+x++;}}
+return output;}
+function strToXML(str){var contentType='application/xml';if(typeof(DOMParser)!='undefined'){return(new DOMParser()).parseFromString(str.substr(0,4095),contentType);}else if(typeof(ActiveXObject)!='undefined'){var xmldata=new ActiveXObject('MSXML.DomDocument');xmldata.async=false;xmldata.loadXML(str);return xmldata;}else if(typeof(XMLHttpRequest)!='undefined'){var xmldata=new XMLHttpRequest;if(!contentType){contentType='application/xml';}
+xmldata.open('GET','data:'+contentType+';charset=utf-8,'+encodeURIComponent(str),false);if(xmldata.overrideMimeType){xmldata.overrideMimeType(contentType);}
+xmldata.send(null);return xmldata.responseXML;}};(function($){var _remove=$.fn.remove,isFF2=$.browser.mozilla&&(parseFloat($.browser.version)<1.9);$.ui={version:"1.6rc6",plugin:{add:function(module,option,set){var proto=$.ui[module].prototype;for(var i in set){proto.plugins[i]=proto.plugins[i]||[];proto.plugins[i].push([option,set[i]]);}},call:function(instance,name,args){var set=instance.plugins[name];if(!set){return;}
+for(var i=0;i<set.length;i++){if(instance.options[set[i][0]]){set[i][1].apply(instance.element,args);}}}},contains:function(a,b){return document.compareDocumentPosition?a.compareDocumentPosition(b)&16:a!==b&&a.contains(b);},cssCache:{},css:function(name){if($.ui.cssCache[name]){return $.ui.cssCache[name];}
+var tmp=$('<div class="ui-gen"></div>').addClass(name).css({position:'absolute',top:'-5000px',left:'-5000px',display:'block'}).appendTo('body');$.ui.cssCache[name]=!!((!(/auto|default/).test(tmp.css('cursor'))||(/^[1-9]/).test(tmp.css('height'))||(/^[1-9]/).test(tmp.css('width'))||!(/none/).test(tmp.css('backgroundImage'))||!(/transparent|rgba\(0, 0, 0, 0\)/).test(tmp.css('backgroundColor'))));try{$('body').get(0).removeChild(tmp.get(0));}catch(e){}
+return $.ui.cssCache[name];},hasScroll:function(el,a){if($(el).css('overflow')=='hidden'){return false;}
+var scroll=(a&&a=='left')?'scrollLeft':'scrollTop',has=false;if(el[scroll]>0){return true;}
+el[scroll]=1;has=(el[scroll]>0);el[scroll]=0;return has;},isOverAxis:function(x,reference,size){return(x>reference)&&(x<(reference+size));},isOver:function(y,x,top,left,height,width){return $.ui.isOverAxis(y,top,height)&&$.ui.isOverAxis(x,left,width);},keyCode:{BACKSPACE:8,CAPS_LOCK:20,COMMA:188,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38}};if(isFF2){var attr=$.attr,removeAttr=$.fn.removeAttr,ariaNS="http://www.w3.org/2005/07/aaa",ariaState=/^aria-/,ariaRole=/^wairole:/;$.attr=function(elem,name,value){var set=value!==undefined;return(name=='role'?(set?attr.call(this,elem,name,"wairole:"+value):(attr.apply(this,arguments)||"").replace(ariaRole,"")):(ariaState.test(name)?(set?elem.setAttributeNS(ariaNS,name.replace(ariaState,"aaa:"),value):attr.call(this,elem,name.replace(ariaState,"aaa:"))):attr.apply(this,arguments)));};$.fn.removeAttr=function(name){return(ariaState.test(name)?this.each(function(){this.removeAttributeNS(ariaNS,name.replace(ariaState,""));}):removeAttr.call(this,name));};}
+$.fn.extend({remove:function(){$("*",this).add(this).each(function(){$(this).triggerHandler("remove");});return _remove.apply(this,arguments);},enableSelection:function(){return this.attr('unselectable','off').css('MozUserSelect','').unbind('selectstart.ui');},disableSelection:function(){return this.attr('unselectable','on').css('MozUserSelect','none').bind('selectstart.ui',function(){return false;});},scrollParent:function(){var scrollParent;if(($.browser.msie&&(/(static|relative)/).test(this.css('position')))||(/absolute/).test(this.css('position'))){scrollParent=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test($.curCSS(this,'position',1))&&(/(auto|scroll)/).test($.curCSS(this,'overflow',1)+$.curCSS(this,'overflow-y',1)+$.curCSS(this,'overflow-x',1));}).eq(0);}else{scrollParent=this.parents().filter(function(){return(/(auto|scroll)/).test($.curCSS(this,'overflow',1)+$.curCSS(this,'overflow-y',1)+$.curCSS(this,'overflow-x',1));}).eq(0);}
+return(/fixed/).test(this.css('position'))||!scrollParent.length?$(document):scrollParent;}});$.extend($.expr[':'],{data:function(elem,i,match){return!!$.data(elem,match[3]);},focusable:function(element){var nodeName=element.nodeName.toLowerCase(),tabIndex=$.attr(element,'tabindex');return(/input|select|textarea|button|object/.test(nodeName)?!element.disabled:'a'==nodeName||'area'==nodeName?element.href||!isNaN(tabIndex):!isNaN(tabIndex))&&!$(element)['area'==nodeName?'parents':'closest'](':hidden').length;},tabbable:function(element){var tabIndex=$.attr(element,'tabindex');return(isNaN(tabIndex)||tabIndex>=0)&&$(element).is(':focusable');}});function getter(namespace,plugin,method,args){function getMethods(type){var methods=$[namespace][plugin][type]||[];return(typeof methods=='string'?methods.split(/,?\s+/):methods);}
+var methods=getMethods('getter');if(args.length==1&&typeof args[0]=='string'){methods=methods.concat(getMethods('getterSetter'));}
+return($.inArray(method,methods)!=-1);}
+$.widget=function(name,prototype){var namespace=name.split(".")[0];name=name.split(".")[1];$.fn[name]=function(options){var isMethodCall=(typeof options=='string'),args=Array.prototype.slice.call(arguments,1);if(isMethodCall&&options.substring(0,1)=='_'){return this;}
+if(isMethodCall&&getter(namespace,name,options,args)){var instance=$.data(this[0],name);return(instance?instance[options].apply(instance,args):undefined);}
+return this.each(function(){var instance=$.data(this,name);(!instance&&!isMethodCall&&$.data(this,name,new $[namespace][name](this,options))._init());(instance&&isMethodCall&&$.isFunction(instance[options])&&instance[options].apply(instance,args));});};$[namespace]=$[namespace]||{};$[namespace][name]=function(element,options){var self=this;this.namespace=namespace;this.widgetName=name;this.widgetEventPrefix=$[namespace][name].eventPrefix||name;this.widgetBaseClass=namespace+'-'+name;this.options=$.extend({},$.widget.defaults,$[namespace][name].defaults,$.metadata&&$.metadata.get(element)[name],options);this.element=$(element).bind('setData.'+name,function(event,key,value){if(event.target==element){return self._setData(key,value);}}).bind('getData.'+name,function(event,key){if(event.target==element){return self._getData(key);}}).bind('remove',function(){return self.destroy();});};$[namespace][name].prototype=$.extend({},$.widget.prototype,prototype);$[namespace][name].getterSetter='option';};$.widget.prototype={_init:function(){},destroy:function(){this.element.removeData(this.widgetName).removeClass(this.widgetBaseClass+'-disabled'+' '+this.namespace+'-state-disabled').removeAttr('aria-disabled');},option:function(key,value){var options=key,self=this;if(typeof key=="string"){if(value===undefined){return this._getData(key);}
+options={};options[key]=value;}
+$.each(options,function(key,value){self._setData(key,value);});},_getData:function(key){return this.options[key];},_setData:function(key,value){this.options[key]=value;if(key=='disabled'){this.element
+[value?'addClass':'removeClass'](this.widgetBaseClass+'-disabled'+' '+
+this.namespace+'-state-disabled').attr("aria-disabled",value);}},enable:function(){this._setData('disabled',false);},disable:function(){this._setData('disabled',true);},_trigger:function(type,event,data){var callback=this.options[type],eventName=(type==this.widgetEventPrefix?type:this.widgetEventPrefix+type);event=$.Event(event);event.type=eventName;if(event.originalEvent){for(var i=$.event.props.length,prop;i;){prop=$.event.props[--i];event[prop]=event.originalEvent[prop];}}
+this.element.trigger(event,data);return!($.isFunction(callback)&&callback.call(this.element[0],event,data)===false||event.isDefaultPrevented());}};$.widget.defaults={disabled:false};$.ui.mouse={_mouseInit:function(){var self=this;this.element.bind('mousedown.'+this.widgetName,function(event){return self._mouseDown(event);}).bind('click.'+this.widgetName,function(event){if(self._preventClickEvent){self._preventClickEvent=false;return false;}});if($.browser.msie){this._mouseUnselectable=this.element.attr('unselectable');this.element.attr('unselectable','on');}
+this.started=false;},_mouseDestroy:function(){this.element.unbind('.'+this.widgetName);($.browser.msie&&this.element.attr('unselectable',this._mouseUnselectable));},_mouseDown:function(event){if(event.originalEvent.mouseHandled){return;}
+(this._mouseStarted&&this._mouseUp(event));this._mouseDownEvent=event;var self=this,btnIsLeft=(event.which==1),elIsCancel=(typeof this.options.cancel=="string"?$(event.target).parents().add(event.target).filter(this.options.cancel).length:false);if(!btnIsLeft||elIsCancel||!this._mouseCapture(event)){return true;}
+this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){self.mouseDelayMet=true;},this.options.delay);}
+if(this._mouseDistanceMet(event)&&this._mouseDelayMet(event)){this._mouseStarted=(this._mouseStart(event)!==false);if(!this._mouseStarted){event.preventDefault();return true;}}
+this._mouseMoveDelegate=function(event){return self._mouseMove(event);};this._mouseUpDelegate=function(event){return self._mouseUp(event);};$(document).bind('mousemove.'+this.widgetName,this._mouseMoveDelegate).bind('mouseup.'+this.widgetName,this._mouseUpDelegate);($.browser.safari||event.preventDefault());event.originalEvent.mouseHandled=true;return true;},_mouseMove:function(event){if($.browser.msie&&!event.button){return this._mouseUp(event);}
+if(this._mouseStarted){this._mouseDrag(event);return event.preventDefault();}
+if(this._mouseDistanceMet(event)&&this._mouseDelayMet(event)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,event)!==false);(this._mouseStarted?this._mouseDrag(event):this._mouseUp(event));}
+return!this._mouseStarted;},_mouseUp:function(event){$(document).unbind('mousemove.'+this.widgetName,this._mouseMoveDelegate).unbind('mouseup.'+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;this._preventClickEvent=true;this._mouseStop(event);}
+return false;},_mouseDistanceMet:function(event){return(Math.max(Math.abs(this._mouseDownEvent.pageX-event.pageX),Math.abs(this._mouseDownEvent.pageY-event.pageY))>=this.options.distance);},_mouseDelayMet:function(event){return this.mouseDelayMet;},_mouseStart:function(event){},_mouseDrag:function(event){},_mouseStop:function(event){},_mouseCapture:function(event){return true;}};$.ui.mouse.defaults={cancel:null,distance:1,delay:0};})(jQuery);(function($){$.widget("ui.draggable",$.extend({},$.ui.mouse,{_init:function(){if(this.options.helper=='original'&&!(/^(?:r|a|f)/).test(this.element.css("position")))
+this.element[0].style.position='relative';(this.options.cssNamespace&&this.element.addClass(this.options.cssNamespace+"-draggable"));(this.options.disabled&&this.element.addClass(this.options.cssNamespace+'-draggable-disabled'));this._mouseInit();},destroy:function(){if(!this.element.data('draggable'))return;this.element.removeData("draggable").unbind(".draggable").removeClass(this.options.cssNamespace+'-draggable '+this.options.cssNamespace+'-draggable-dragging '+this.options.cssNamespace+'-draggable-disabled');this._mouseDestroy();},_mouseCapture:function(event){var o=this.options;if(this.helper||o.disabled||$(event.target).is('.'+this.options.cssNamespace+'-resizable-handle'))
+return false;this.handle=this._getHandle(event);if(!this.handle)
+return false;return true;},_mouseStart:function(event){var o=this.options;this.helper=this._createHelper(event);this._cacheHelperProportions();if($.ui.ddmanager)
+$.ui.ddmanager.current=this;this._cacheMargins();this.cssPosition=this.helper.css("position");this.scrollParent=this.helper.scrollParent();this.offset=this.element.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};$.extend(this.offset,{click:{left:event.pageX-this.offset.left,top:event.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(event);this.originalPageX=event.pageX;this.originalPageY=event.pageY;if(o.cursorAt)
+this._adjustOffsetFromHelper(o.cursorAt);if(o.containment)
+this._setContainment();this._trigger("start",event);this._cacheHelperProportions();if($.ui.ddmanager&&!o.dropBehaviour)
+$.ui.ddmanager.prepareOffsets(this,event);this.helper.addClass(o.cssNamespace+"-draggable-dragging");this._mouseDrag(event,true);return true;},_mouseDrag:function(event,noPropagation){this.position=this._generatePosition(event);this.positionAbs=this._convertPositionTo("absolute");if(!noPropagation){var ui=this._uiHash();this._trigger('drag',event,ui);this.position=ui.position;}
+if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+'px';if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+'px';if($.ui.ddmanager)$.ui.ddmanager.drag(this,event);return false;},_mouseStop:function(event){var dropped=false;if($.ui.ddmanager&&!this.options.dropBehaviour)
+dropped=$.ui.ddmanager.drop(this,event);if(this.dropped){dropped=this.dropped;this.dropped=false;}
+if((this.options.revert=="invalid"&&!dropped)||(this.options.revert=="valid"&&dropped)||this.options.revert===true||($.isFunction(this.options.revert)&&this.options.revert.call(this.element,dropped))){var self=this;$(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){self._trigger("stop",event);self._clear();});}else{this._trigger("stop",event);this._clear();}
+return false;},_getHandle:function(event){var handle=!this.options.handle||!$(this.options.handle,this.element).length?true:false;$(this.options.handle,this.element).find("*").andSelf().each(function(){if(this==event.target)handle=true;});return handle;},_createHelper:function(event){var o=this.options;var helper=$.isFunction(o.helper)?$(o.helper.apply(this.element[0],[event])):(o.helper=='clone'?this.element.clone():this.element);if(!helper.parents('body').length)
+helper.appendTo((o.appendTo=='parent'?this.element[0].parentNode:o.appendTo));if(helper[0]!=this.element[0]&&!(/(fixed|absolute)/).test(helper.css("position")))
+helper.css("position","absolute");return helper;},_adjustOffsetFromHelper:function(obj){if(obj.left!=undefined)this.offset.click.left=obj.left+this.margins.left;if(obj.right!=undefined)this.offset.click.left=this.helperProportions.width-obj.right+this.margins.left;if(obj.top!=undefined)this.offset.click.top=obj.top+this.margins.top;if(obj.bottom!=undefined)this.offset.click.top=this.helperProportions.height-obj.bottom+this.margins.top;},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var po=this.offsetParent.offset();if(this.cssPosition=='absolute'&&this.scrollParent[0]!=document&&$.ui.contains(this.scrollParent[0],this.offsetParent[0])){po.left+=this.scrollParent.scrollLeft();po.top+=this.scrollParent.scrollTop();}
+if((this.offsetParent[0]==document.body&&$.browser.mozilla)||(this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=='html'&&$.browser.msie))
+po={top:0,left:0};return{top:po.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:po.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)};},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var p=this.element.position();return{top:p.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:p.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()};}else{return{top:0,left:0};}},_cacheMargins:function(){this.margins={left:(parseInt(this.element.css("marginLeft"),10)||0),top:(parseInt(this.element.css("marginTop"),10)||0)};},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()};},_setContainment:function(){var o=this.options;if(o.containment=='parent')o.containment=this.helper[0].parentNode;if(o.containment=='document'||o.containment=='window')this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,$(o.containment=='document'?document:window).width()-this.helperProportions.width-this.margins.left,($(o.containment=='document'?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!(/^(document|window|parent)$/).test(o.containment)&&o.containment.constructor!=Array){var ce=$(o.containment)[0];if(!ce)return;var co=$(o.containment).offset();var over=($(ce).css("overflow")!='hidden');this.containment=[co.left+(parseInt($(ce).css("borderLeftWidth"),10)||0)+(parseInt($(ce).css("paddingLeft"),10)||0)-this.margins.left,co.top+(parseInt($(ce).css("borderTopWidth"),10)||0)+(parseInt($(ce).css("paddingTop"),10)||0)-this.margins.top,co.left+(over?Math.max(ce.scrollWidth,ce.offsetWidth):ce.offsetWidth)-(parseInt($(ce).css("borderLeftWidth"),10)||0)-(parseInt($(ce).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,co.top+(over?Math.max(ce.scrollHeight,ce.offsetHeight):ce.offsetHeight)-(parseInt($(ce).css("borderTopWidth"),10)||0)-(parseInt($(ce).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top];}else if(o.containment.constructor==Array){this.containment=o.containment;}},_convertPositionTo:function(d,pos){if(!pos)pos=this.position;var mod=d=="absolute"?1:-1;var o=this.options,scroll=this.cssPosition=='absolute'&&!(this.scrollParent[0]!=document&&$.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,scrollIsRootNode=(/(html|body)/i).test(scroll[0].tagName);return{top:(pos.top
++this.offset.relative.top*mod
++this.offset.parent.top*mod
+-(this.cssPosition=='fixed'?-this.scrollParent.scrollTop():(scrollIsRootNode?0:scroll.scrollTop()))*mod),left:(pos.left
++this.offset.relative.left*mod
++this.offset.parent.left*mod
+-(this.cssPosition=='fixed'?-this.scrollParent.scrollLeft():scrollIsRootNode?0:scroll.scrollLeft())*mod)};},_generatePosition:function(event){var o=this.options,scroll=this.cssPosition=='absolute'&&!(this.scrollParent[0]!=document&&$.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,scrollIsRootNode=(/(html|body)/i).test(scroll[0].tagName);if(this.cssPosition=='relative'&&!(this.scrollParent[0]!=document&&this.scrollParent[0]!=this.offsetParent[0])){this.offset.relative=this._getRelativeOffset();}
+var pageX=event.pageX;var pageY=event.pageY;if(this.originalPosition){if(this.containment){if(event.pageX-this.offset.click.left<this.containment[0])pageX=this.containment[0]+this.offset.click.left;if(event.pageY-this.offset.click.top<this.containment[1])pageY=this.containment[1]+this.offset.click.top;if(event.pageX-this.offset.click.left>this.containment[2])pageX=this.containment[2]+this.offset.click.left;if(event.pageY-this.offset.click.top>this.containment[3])pageY=this.containment[3]+this.offset.click.top;}
+if(o.grid){var top=this.originalPageY+Math.round((pageY-this.originalPageY)/o.grid[1])*o.grid[1];pageY=this.containment?(!(top-this.offset.click.top<this.containment[1]||top-this.offset.click.top>this.containment[3])?top:(!(top-this.offset.click.top<this.containment[1])?top-o.grid[1]:top+o.grid[1])):top;var left=this.originalPageX+Math.round((pageX-this.originalPageX)/o.grid[0])*o.grid[0];pageX=this.containment?(!(left-this.offset.click.left<this.containment[0]||left-this.offset.click.left>this.containment[2])?left:(!(left-this.offset.click.left<this.containment[0])?left-o.grid[0]:left+o.grid[0])):left;}}
+return{top:(pageY
+-this.offset.click.top
+-this.offset.relative.top
+-this.offset.parent.top
++(this.cssPosition=='fixed'?-this.scrollParent.scrollTop():(scrollIsRootNode?0:scroll.scrollTop()))),left:(pageX
+-this.offset.click.left
+-this.offset.relative.left
+-this.offset.parent.left
++(this.cssPosition=='fixed'?-this.scrollParent.scrollLeft():scrollIsRootNode?0:scroll.scrollLeft()))};},_clear:function(){this.helper.removeClass(this.options.cssNamespace+"-draggable-dragging");if(this.helper[0]!=this.element[0]&&!this.cancelHelperRemoval)this.helper.remove();this.helper=null;this.cancelHelperRemoval=false;},_trigger:function(type,event,ui){ui=ui||this._uiHash();$.ui.plugin.call(this,type,[event,ui]);if(type=="drag")this.positionAbs=this._convertPositionTo("absolute");return $.widget.prototype._trigger.call(this,type,event,ui);},plugins:{},_uiHash:function(event){return{helper:this.helper,position:this.position,absolutePosition:this.positionAbs,offset:this.positionAbs};}}));$.extend($.ui.draggable,{version:"1.6rc6",eventPrefix:"drag",defaults:{appendTo:"parent",axis:false,cancel:":input,option",connectToSortable:false,containment:false,cssNamespace:"ui",cursor:"default",cursorAt:false,delay:0,distance:1,grid:false,handle:false,helper:"original",iframeFix:false,opacity:false,refreshPositions:false,revert:false,revertDuration:500,scope:"default",scroll:true,scrollSensitivity:20,scrollSpeed:20,snap:false,snapMode:"both",snapTolerance:20,stack:false,zIndex:false}});$.ui.plugin.add("draggable","connectToSortable",{start:function(event,ui){var inst=$(this).data("draggable"),o=inst.options;inst.sortables=[];$(o.connectToSortable).each(function(){$(typeof this=='string'?this+'':this).each(function(){if($.data(this,'sortable')){var sortable=$.data(this,'sortable');inst.sortables.push({instance:sortable,shouldRevert:sortable.options.revert});sortable._refreshItems();sortable._trigger("activate",event,inst);}});});},stop:function(event,ui){var inst=$(this).data("draggable");$.each(inst.sortables,function(){if(this.instance.isOver){this.instance.isOver=0;inst.cancelHelperRemoval=true;this.instance.cancelHelperRemoval=false;if(this.shouldRevert)this.instance.options.revert=true;this.instance._mouseStop(event);this.instance.options.helper=this.instance.options._helper;if(inst.options.helper=='original')
+this.instance.currentItem.css({top:'auto',left:'auto'});}else{this.instance.cancelHelperRemoval=false;this.instance._trigger("deactivate",event,inst);}});},drag:function(event,ui){var inst=$(this).data("draggable"),self=this;var checkPos=function(o){var dyClick=this.offset.click.top,dxClick=this.offset.click.left;var helperTop=this.positionAbs.top,helperLeft=this.positionAbs.left;var itemHeight=o.height,itemWidth=o.width;var itemTop=o.top,itemLeft=o.left;return $.ui.isOver(helperTop+dyClick,helperLeft+dxClick,itemTop,itemLeft,itemHeight,itemWidth);};$.each(inst.sortables,function(i){if(checkPos.call(inst,this.instance.containerCache)){if(!this.instance.isOver){this.instance.isOver=1;this.instance.currentItem=$(self).clone().appendTo(this.instance.element).data("sortable-item",true);this.instance.options._helper=this.instance.options.helper;this.instance.options.helper=function(){return ui.helper[0];};event.target=this.instance.currentItem[0];this.instance._mouseCapture(event,true);this.instance._mouseStart(event,true,true);this.instance.offset.click.top=inst.offset.click.top;this.instance.offset.click.left=inst.offset.click.left;this.instance.offset.parent.left-=inst.offset.parent.left-this.instance.offset.parent.left;this.instance.offset.parent.top-=inst.offset.parent.top-this.instance.offset.parent.top;inst._trigger("toSortable",event);inst.dropped=this.instance.element;this.instance.fromOutside=inst;}
+if(this.instance.currentItem)this.instance._mouseDrag(event);}else{if(this.instance.isOver){this.instance.isOver=0;this.instance.cancelHelperRemoval=true;this.instance.options.revert=false;this.instance._mouseStop(event,true);this.instance.options.helper=this.instance.options._helper;this.instance.currentItem.remove();if(this.instance.placeholder)this.instance.placeholder.remove();inst._trigger("fromSortable",event);inst.dropped=false;}};});}});$.ui.plugin.add("draggable","cursor",{start:function(event,ui){var t=$('body'),o=$(this).data('draggable').options;if(t.css("cursor"))o._cursor=t.css("cursor");t.css("cursor",o.cursor);},stop:function(event,ui){var o=$(this).data('draggable').options;if(o._cursor)$('body').css("cursor",o._cursor);}});$.ui.plugin.add("draggable","iframeFix",{start:function(event,ui){var o=$(this).data('draggable').options;$(o.iframeFix===true?"iframe":o.iframeFix).each(function(){$('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1000}).css($(this).offset()).appendTo("body");});},stop:function(event,ui){$("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this);});}});$.ui.plugin.add("draggable","opacity",{start:function(event,ui){var t=$(ui.helper),o=$(this).data('draggable').options;if(t.css("opacity"))o._opacity=t.css("opacity");t.css('opacity',o.opacity);},stop:function(event,ui){var o=$(this).data('draggable').options;if(o._opacity)$(ui.helper).css('opacity',o._opacity);}});$.ui.plugin.add("draggable","scroll",{start:function(event,ui){var i=$(this).data("draggable");if(i.scrollParent[0]!=document&&i.scrollParent[0].tagName!='HTML')i.overflowOffset=i.scrollParent.offset();},drag:function(event,ui){var i=$(this).data("draggable"),o=i.options,scrolled=false;if(i.scrollParent[0]!=document&&i.scrollParent[0].tagName!='HTML'){if(!o.axis||o.axis!='x'){if((i.overflowOffset.top+i.scrollParent[0].offsetHeight)-event.pageY<o.scrollSensitivity)
+i.scrollParent[0].scrollTop=scrolled=i.scrollParent[0].scrollTop+o.scrollSpeed;else if(event.pageY-i.overflowOffset.top<o.scrollSensitivity)
+i.scrollParent[0].scrollTop=scrolled=i.scrollParent[0].scrollTop-o.scrollSpeed;}
+if(!o.axis||o.axis!='y'){if((i.overflowOffset.left+i.scrollParent[0].offsetWidth)-event.pageX<o.scrollSensitivity)
+i.scrollParent[0].scrollLeft=scrolled=i.scrollParent[0].scrollLeft+o.scrollSpeed;else if(event.pageX-i.overflowOffset.left<o.scrollSensitivity)
+i.scrollParent[0].scrollLeft=scrolled=i.scrollParent[0].scrollLeft-o.scrollSpeed;}}else{if(!o.axis||o.axis!='x'){if(event.pageY-$(document).scrollTop()<o.scrollSensitivity)
+scrolled=$(document).scrollTop($(document).scrollTop()-o.scrollSpeed);else if($(window).height()-(event.pageY-$(document).scrollTop())<o.scrollSensitivity)
+scrolled=$(document).scrollTop($(document).scrollTop()+o.scrollSpeed);}
+if(!o.axis||o.axis!='y'){if(event.pageX-$(document).scrollLeft()<o.scrollSensitivity)
+scrolled=$(document).scrollLeft($(document).scrollLeft()-o.scrollSpeed);else if($(window).width()-(event.pageX-$(document).scrollLeft())<o.scrollSensitivity)
+scrolled=$(document).scrollLeft($(document).scrollLeft()+o.scrollSpeed);}}
+if(scrolled!==false&&$.ui.ddmanager&&!o.dropBehaviour)
+$.ui.ddmanager.prepareOffsets(i,event);}});$.ui.plugin.add("draggable","snap",{start:function(event,ui){var i=$(this).data("draggable"),o=i.options;i.snapElements=[];$(o.snap.constructor!=String?(o.snap.items||':data(draggable)'):o.snap).each(function(){var $t=$(this);var $o=$t.offset();if(this!=i.element[0])i.snapElements.push({item:this,width:$t.outerWidth(),height:$t.outerHeight(),top:$o.top,left:$o.left});});},drag:function(event,ui){var inst=$(this).data("draggable"),o=inst.options;var d=o.snapTolerance;var x1=ui.absolutePosition.left,x2=x1+inst.helperProportions.width,y1=ui.absolutePosition.top,y2=y1+inst.helperProportions.height;for(var i=inst.snapElements.length-1;i>=0;i--){var l=inst.snapElements[i].left,r=l+inst.snapElements[i].width,t=inst.snapElements[i].top,b=t+inst.snapElements[i].height;if(!((l-d<x1&&x1<r+d&&t-d<y1&&y1<b+d)||(l-d<x1&&x1<r+d&&t-d<y2&&y2<b+d)||(l-d<x2&&x2<r+d&&t-d<y1&&y1<b+d)||(l-d<x2&&x2<r+d&&t-d<y2&&y2<b+d))){if(inst.snapElements[i].snapping)(inst.options.snap.release&&inst.options.snap.release.call(inst.element,event,$.extend(inst._uiHash(),{snapItem:inst.snapElements[i].item})));inst.snapElements[i].snapping=false;continue;}
+if(o.snapMode!='inner'){var ts=Math.abs(t-y2)<=d;var bs=Math.abs(b-y1)<=d;var ls=Math.abs(l-x2)<=d;var rs=Math.abs(r-x1)<=d;if(ts)ui.position.top=inst._convertPositionTo("relative",{top:t-inst.helperProportions.height,left:0}).top-inst.margins.top;if(bs)ui.position.top=inst._convertPositionTo("relative",{top:b,left:0}).top-inst.margins.top;if(ls)ui.position.left=inst._convertPositionTo("relative",{top:0,left:l-inst.helperProportions.width}).left-inst.margins.left;if(rs)ui.position.left=inst._convertPositionTo("relative",{top:0,left:r}).left-inst.margins.left;}
+var first=(ts||bs||ls||rs);if(o.snapMode!='outer'){var ts=Math.abs(t-y1)<=d;var bs=Math.abs(b-y2)<=d;var ls=Math.abs(l-x1)<=d;var rs=Math.abs(r-x2)<=d;if(ts)ui.position.top=inst._convertPositionTo("relative",{top:t,left:0}).top-inst.margins.top;if(bs)ui.position.top=inst._convertPositionTo("relative",{top:b-inst.helperProportions.height,left:0}).top-inst.margins.top;if(ls)ui.position.left=inst._convertPositionTo("relative",{top:0,left:l}).left-inst.margins.left;if(rs)ui.position.left=inst._convertPositionTo("relative",{top:0,left:r-inst.helperProportions.width}).left-inst.margins.left;}
+if(!inst.snapElements[i].snapping&&(ts||bs||ls||rs||first))
+(inst.options.snap.snap&&inst.options.snap.snap.call(inst.element,event,$.extend(inst._uiHash(),{snapItem:inst.snapElements[i].item})));inst.snapElements[i].snapping=(ts||bs||ls||rs||first);};}});$.ui.plugin.add("draggable","stack",{start:function(event,ui){var o=$(this).data("draggable").options;var group=$.makeArray($(o.stack.group)).sort(function(a,b){return(parseInt($(a).css("zIndex"),10)||o.stack.min)-(parseInt($(b).css("zIndex"),10)||o.stack.min);});$(group).each(function(i){this.style.zIndex=o.stack.min+i;});this[0].style.zIndex=o.stack.min+group.length;}});$.ui.plugin.add("draggable","zIndex",{start:function(event,ui){var t=$(ui.helper),o=$(this).data("draggable").options;if(t.css("zIndex"))o._zIndex=t.css("zIndex");t.css('zIndex',o.zIndex);},stop:function(event,ui){var o=$(this).data("draggable").options;if(o._zIndex)$(ui.helper).css('zIndex',o._zIndex);}});})(jQuery);(function($){$.widget("ui.sortable",$.extend({},$.ui.mouse,{_init:function(){var o=this.options;this.containerCache={};(this.options.cssNamespace&&this.element.addClass(this.options.cssNamespace+"-sortable"));this.refresh();this.floating=this.items.length?(/left|right/).test(this.items[0].item.css('float')):false;this.offset=this.element.offset();this._mouseInit();},destroy:function(){this.element.removeClass(this.options.cssNamespace+"-sortable "+this.options.cssNamespace+"-sortable-disabled").removeData("sortable").unbind(".sortable");this._mouseDestroy();for(var i=this.items.length-1;i>=0;i--)
+this.items[i].item.removeData("sortable-item");},_mouseCapture:function(event,overrideHandle){if(this.reverting){return false;}
+if(this.options.disabled||this.options.type=='static')return false;this._refreshItems(event);var currentItem=null,self=this,nodes=$(event.target).parents().each(function(){if($.data(this,'sortable-item')==self){currentItem=$(this);return false;}});if($.data(event.target,'sortable-item')==self)currentItem=$(event.target);if(!currentItem)return false;if(this.options.handle&&!overrideHandle){var validHandle=false;$(this.options.handle,currentItem).find("*").andSelf().each(function(){if(this==event.target)validHandle=true;});if(!validHandle)return false;}
+this.currentItem=currentItem;this._removeCurrentsFromItems();return true;},_mouseStart:function(event,overrideHandle,noActivation){var o=this.options,self=this;this.currentContainer=this;this.refreshPositions();this.helper=this._createHelper(event);this._cacheHelperProportions();this._cacheMargins();this.scrollParent=this.helper.scrollParent();this.offset=this.currentItem.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};this.helper.css("position","absolute");this.cssPosition=this.helper.css("position");$.extend(this.offset,{click:{left:event.pageX-this.offset.left,top:event.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(event);this.originalPageX=event.pageX;this.originalPageY=event.pageY;if(o.cursorAt)
+this._adjustOffsetFromHelper(o.cursorAt);this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]};if(this.helper[0]!=this.currentItem[0]){this.currentItem.hide();}
+this._createPlaceholder();if(o.containment)
+this._setContainment();if(o.cursor){if($('body').css("cursor"))this._storedCursor=$('body').css("cursor");$('body').css("cursor",o.cursor);}
+if(o.opacity){if(this.helper.css("opacity"))this._storedOpacity=this.helper.css("opacity");this.helper.css("opacity",o.opacity);}
+if(o.zIndex){if(this.helper.css("zIndex"))this._storedZIndex=this.helper.css("zIndex");this.helper.css("zIndex",o.zIndex);}
+if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!='HTML')
+this.overflowOffset=this.scrollParent.offset();this._trigger("start",event,this._uiHash());if(!this._preserveHelperProportions)
+this._cacheHelperProportions();if(!noActivation){for(var i=this.containers.length-1;i>=0;i--){this.containers[i]._trigger("activate",event,self._uiHash(this));}}
+if($.ui.ddmanager)
+$.ui.ddmanager.current=this;if($.ui.ddmanager&&!o.dropBehaviour)
+$.ui.ddmanager.prepareOffsets(this,event);this.dragging=true;this.helper.addClass(o.cssNamespace+'-sortable-helper');this._mouseDrag(event);return true;},_mouseDrag:function(event){this.position=this._generatePosition(event);this.positionAbs=this._convertPositionTo("absolute");if(!this.lastPositionAbs){this.lastPositionAbs=this.positionAbs;}
+if(this.options.scroll){var o=this.options,scrolled=false;if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!='HTML'){if((this.overflowOffset.top+this.scrollParent[0].offsetHeight)-event.pageY<o.scrollSensitivity)
+this.scrollParent[0].scrollTop=scrolled=this.scrollParent[0].scrollTop+o.scrollSpeed;else if(event.pageY-this.overflowOffset.top<o.scrollSensitivity)
+this.scrollParent[0].scrollTop=scrolled=this.scrollParent[0].scrollTop-o.scrollSpeed;if((this.overflowOffset.left+this.scrollParent[0].offsetWidth)-event.pageX<o.scrollSensitivity)
+this.scrollParent[0].scrollLeft=scrolled=this.scrollParent[0].scrollLeft+o.scrollSpeed;else if(event.pageX-this.overflowOffset.left<o.scrollSensitivity)
+this.scrollParent[0].scrollLeft=scrolled=this.scrollParent[0].scrollLeft-o.scrollSpeed;}else{if(event.pageY-$(document).scrollTop()<o.scrollSensitivity)
+scrolled=$(document).scrollTop($(document).scrollTop()-o.scrollSpeed);else if($(window).height()-(event.pageY-$(document).scrollTop())<o.scrollSensitivity)
+scrolled=$(document).scrollTop($(document).scrollTop()+o.scrollSpeed);if(event.pageX-$(document).scrollLeft()<o.scrollSensitivity)
+scrolled=$(document).scrollLeft($(document).scrollLeft()-o.scrollSpeed);else if($(window).width()-(event.pageX-$(document).scrollLeft())<o.scrollSensitivity)
+scrolled=$(document).scrollLeft($(document).scrollLeft()+o.scrollSpeed);}
+if(scrolled!==false&&$.ui.ddmanager&&!o.dropBehaviour)
+$.ui.ddmanager.prepareOffsets(this,event);}
+this.positionAbs=this._convertPositionTo("absolute");if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+'px';if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+'px';for(var i=this.items.length-1;i>=0;i--){var item=this.items[i],itemElement=item.item[0],intersection=this._intersectsWithPointer(item);if(!intersection)continue;if(itemElement!=this.currentItem[0]&&this.placeholder[intersection==1?"next":"prev"]()[0]!=itemElement&&!$.ui.contains(this.placeholder[0],itemElement)&&(this.options.type=='semi-dynamic'?!$.ui.contains(this.element[0],itemElement):true)){this.direction=intersection==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(item)){this.options.sortIndicator.call(this,event,item);}else{break;}
+this._trigger("change",event,this._uiHash());break;}}
+this._contactContainers(event);if($.ui.ddmanager)$.ui.ddmanager.drag(this,event);this._trigger('sort',event,this._uiHash());this.lastPositionAbs=this.positionAbs;return false;},_mouseStop:function(event,noPropagation){if(!event)return;if($.ui.ddmanager&&!this.options.dropBehaviour)
+$.ui.ddmanager.drop(this,event);if(this.options.revert){var self=this;var cur=self.placeholder.offset();self.reverting=true;$(this.helper).animate({left:cur.left-this.offset.parent.left-self.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:cur.top-this.offset.parent.top-self.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){self._clear(event);});}else{this._clear(event,noPropagation);}
+return false;},cancel:function(){var self=this;if(this.dragging){this._mouseUp();if(this.options.helper=="original")
+this.currentItem.css(this._storedCSS).removeClass(this.options.cssNamespace+"-sortable-helper");else
+this.currentItem.show();for(var i=this.containers.length-1;i>=0;i--){this.containers[i]._trigger("deactivate",null,self._uiHash(this));if(this.containers[i].containerCache.over){this.containers[i]._trigger("out",null,self._uiHash(this));this.containers[i].containerCache.over=0;}}}
+if(this.placeholder[0].parentNode)this.placeholder[0].parentNode.removeChild(this.placeholder[0]);if(this.options.helper!="original"&&this.helper&&this.helper[0].parentNode)this.helper.remove();$.extend(this,{helper:null,dragging:false,reverting:false,_noFinalSort:null});if(this.domPosition.prev){$(this.domPosition.prev).after(this.currentItem);}else{$(this.domPosition.parent).prepend(this.currentItem);}
+return true;},serialize:function(o){var items=this._getItemsAsjQuery(o&&o.connected);var str=[];o=o||{};$(items).each(function(){var res=($(o.item||this).attr(o.attribute||'id')||'').match(o.expression||(/(.+)[-=_](.+)/));if(res)str.push((o.key||res[1]+'[]')+'='+(o.key&&o.expression?res[1]:res[2]));});return str.join('&');},toArray:function(o){var items=this._getItemsAsjQuery(o&&o.connected);var ret=[];o=o||{};items.each(function(){ret.push($(o.item||this).attr(o.attribute||'id')||'');});return ret;},_intersectsWith:function(item){var x1=this.positionAbs.left,x2=x1+this.helperProportions.width,y1=this.positionAbs.top,y2=y1+this.helperProportions.height;var l=item.left,r=l+item.width,t=item.top,b=t+item.height;var dyClick=this.offset.click.top,dxClick=this.offset.click.left;var isOverElement=(y1+dyClick)>t&&(y1+dyClick)<b&&(x1+dxClick)>l&&(x1+dxClick)<r;if(this.options.tolerance=="pointer"||this.options.forcePointerForContainers||(this.options.tolerance!="pointer"&&this.helperProportions[this.floating?'width':'height']>item[this.floating?'width':'height'])){return isOverElement;}else{return(l<x1+(this.helperProportions.width/2)&&x2-(this.helperProportions.width/2)<r&&t<y1+(this.helperProportions.height/2)&&y2-(this.helperProportions.height/2)<b);}},_intersectsWithPointer:function(item){var isOverElementHeight=$.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,item.top,item.height),isOverElementWidth=$.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,item.left,item.width),isOverElement=isOverElementHeight&&isOverElementWidth,verticalDirection=this._getDragVerticalDirection(),horizontalDirection=this._getDragHorizontalDirection();if(!isOverElement)
+return false;return this.floating?(((horizontalDirection&&horizontalDirection=="right")||verticalDirection=="down")?2:1):(verticalDirection&&(verticalDirection=="down"?2:1));},_intersectsWithSides:function(item){var isOverBottomHalf=$.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,item.top+(item.height/2),item.height),isOverRightHalf=$.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,item.left+(item.width/2),item.width),verticalDirection=this._getDragVerticalDirection(),horizontalDirection=this._getDragHorizontalDirection();if(this.floating&&horizontalDirection){return((horizontalDirection=="right"&&isOverRightHalf)||(horizontalDirection=="left"&&!isOverRightHalf));}else{return verticalDirection&&((verticalDirection=="down"&&isOverBottomHalf)||(verticalDirection=="up"&&!isOverBottomHalf));}},_getDragVerticalDirection:function(){var delta=this.positionAbs.top-this.lastPositionAbs.top;return delta!=0&&(delta>0?"down":"up");},_getDragHorizontalDirection:function(){var delta=this.positionAbs.left-this.lastPositionAbs.left;return delta!=0&&(delta>0?"right":"left");},refresh:function(event){this._refreshItems(event);this.refreshPositions();},_getItemsAsjQuery:function(connected){var self=this;var items=[];var queries=[];if(this.options.connectWith&&connected){var connectWith=this.options.connectWith.constructor==String?[this.options.connectWith]:this.options.connectWith;for(var i=connectWith.length-1;i>=0;i--){var cur=$(connectWith[i]);for(var j=cur.length-1;j>=0;j--){var inst=$.data(cur[j],'sortable');if(inst&&inst!=this&&!inst.options.disabled){queries.push([$.isFunction(inst.options.items)?inst.options.items.call(inst.element):$(inst.options.items,inst.element).not("."+inst.options.cssNamespace+"-sortable-helper"),inst]);}};};}
+queries.push([$.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):$(this.options.items,this.element).not("."+this.options.cssNamespace+"-sortable-helper"),this]);for(var i=queries.length-1;i>=0;i--){queries[i][0].each(function(){items.push(this);});};return $(items);},_removeCurrentsFromItems:function(){var list=this.currentItem.find(":data(sortable-item)");for(var i=0;i<this.items.length;i++){for(var j=0;j<list.length;j++){if(list[j]==this.items[i].item[0])
+this.items.splice(i,1);};};},_refreshItems:function(event){this.items=[];this.containers=[this];var items=this.items;var self=this;var queries=[[$.isFunction(this.options.items)?this.options.items.call(this.element[0],event,{item:this.currentItem}):$(this.options.items,this.element),this]];if(this.options.connectWith){for(var i=this.options.connectWith.length-1;i>=0;i--){var cur=$(this.options.connectWith[i]);for(var j=cur.length-1;j>=0;j--){var inst=$.data(cur[j],'sortable');if(inst&&inst!=this&&!inst.options.disabled){queries.push([$.isFunction(inst.options.items)?inst.options.items.call(inst.element[0],event,{item:this.currentItem}):$(inst.options.items,inst.element),inst]);this.containers.push(inst);}};};}
+for(var i=queries.length-1;i>=0;i--){var targetData=queries[i][1];var _queries=queries[i][0];for(var j=0,queriesLength=_queries.length;j<queriesLength;j++){var item=$(_queries[j]);item.data('sortable-item',targetData);items.push({item:item,instance:targetData,width:0,height:0,left:0,top:0});};};},refreshPositions:function(fast){if(this.offsetParent&&this.helper){this.offset.parent=this._getParentOffset();}
+for(var i=this.items.length-1;i>=0;i--){var item=this.items[i];if(item.instance!=this.currentContainer&&this.currentContainer&&item.item[0]!=this.currentItem[0])
+continue;var t=this.options.toleranceElement?$(this.options.toleranceElement,item.item):item.item;if(!fast){if(this.options.accurateIntersection){item.width=t.outerWidth();item.height=t.outerHeight();}
+else{item.width=t[0].offsetWidth;item.height=t[0].offsetHeight;}}
+var p=t.offset();item.left=p.left;item.top=p.top;};if(this.options.custom&&this.options.custom.refreshContainers){this.options.custom.refreshContainers.call(this);}else{for(var i=this.containers.length-1;i>=0;i--){var p=this.containers[i].element.offset();this.containers[i].containerCache.left=p.left;this.containers[i].containerCache.top=p.top;this.containers[i].containerCache.width=this.containers[i].element.outerWidth();this.containers[i].containerCache.height=this.containers[i].element.outerHeight();};}},_createPlaceholder:function(that){var self=that||this,o=self.options;if(!o.placeholder||o.placeholder.constructor==String){var className=o.placeholder;o.placeholder={element:function(){var el=$(document.createElement(self.currentItem[0].nodeName)).addClass(className||self.currentItem[0].className+" "+self.options.cssNamespace+"-sortable-placeholder").removeClass(self.options.cssNamespace+'-sortable-helper')[0];if(!className)
+el.style.visibility="hidden";return el;},update:function(container,p){if(className&&!o.forcePlaceholderSize)return;if(!p.height()){p.height(self.currentItem.innerHeight()-parseInt(self.currentItem.css('paddingTop')||0,10)-parseInt(self.currentItem.css('paddingBottom')||0,10));};if(!p.width()){p.width(self.currentItem.innerWidth()-parseInt(self.currentItem.css('paddingLeft')||0,10)-parseInt(self.currentItem.css('paddingRight')||0,10));};}};}
+self.placeholder=$(o.placeholder.element.call(self.element,self.currentItem));self.currentItem.after(self.placeholder);o.placeholder.update(self,self.placeholder);},_contactContainers:function(event){for(var i=this.containers.length-1;i>=0;i--){if(this._intersectsWith(this.containers[i].containerCache)){if(!this.containers[i].containerCache.over){if(this.currentContainer!=this.containers[i]){var dist=10000;var itemWithLeastDistance=null;var base=this.positionAbs[this.containers[i].floating?'left':'top'];for(var j=this.items.length-1;j>=0;j--){if(!$.ui.contains(this.containers[i].element[0],this.items[j].item[0]))continue;var cur=this.items[j][this.containers[i].floating?'left':'top'];if(Math.abs(cur-base)<dist){dist=Math.abs(cur-base);itemWithLeastDistance=this.items[j];}}
+if(!itemWithLeastDistance&&!this.options.dropOnEmpty)
+continue;this.currentContainer=this.containers[i];itemWithLeastDistance?this.options.sortIndicator.call(this,event,itemWithLeastDistance,null,true):this.options.sortIndicator.call(this,event,null,this.containers[i].element,true);this._trigger("change",event,this._uiHash());this.containers[i]._trigger("change",event,this._uiHash(this));this.options.placeholder.update(this.currentContainer,this.placeholder);}
+this.containers[i]._trigger("over",event,this._uiHash(this));this.containers[i].containerCache.over=1;}}else{if(this.containers[i].containerCache.over){this.containers[i]._trigger("out",event,this._uiHash(this));this.containers[i].containerCache.over=0;}}};},_createHelper:function(event){var o=this.options;var helper=$.isFunction(o.helper)?$(o.helper.apply(this.element[0],[event,this.currentItem])):(o.helper=='clone'?this.currentItem.clone():this.currentItem);if(!helper.parents('body').length)
+$(o.appendTo!='parent'?o.appendTo:this.currentItem[0].parentNode)[0].appendChild(helper[0]);if(helper[0]==this.currentItem[0])
+this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")};if(helper[0].style.width==''||o.forceHelperSize)helper.width(this.currentItem.width());if(helper[0].style.height==''||o.forceHelperSize)helper.height(this.currentItem.height());return helper;},_adjustOffsetFromHelper:function(obj){if(obj.left!=undefined)this.offset.click.left=obj.left+this.margins.left;if(obj.right!=undefined)this.offset.click.left=this.helperProportions.width-obj.right+this.margins.left;if(obj.top!=undefined)this.offset.click.top=obj.top+this.margins.top;if(obj.bottom!=undefined)this.offset.click.top=this.helperProportions.height-obj.bottom+this.margins.top;},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var po=this.offsetParent.offset();if(this.cssPosition=='absolute'&&this.scrollParent[0]!=document&&$.ui.contains(this.scrollParent[0],this.offsetParent[0])){po.left+=this.scrollParent.scrollLeft();po.top+=this.scrollParent.scrollTop();}
+if((this.offsetParent[0]==document.body&&$.browser.mozilla)||(this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=='html'&&$.browser.msie))
+po={top:0,left:0};return{top:po.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:po.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)};},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var p=this.currentItem.position();return{top:p.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:p.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()};}else{return{top:0,left:0};}},_cacheMargins:function(){this.margins={left:(parseInt(this.currentItem.css("marginLeft"),10)||0),top:(parseInt(this.currentItem.css("marginTop"),10)||0)};},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()};},_setContainment:function(){var o=this.options;if(o.containment=='parent')o.containment=this.helper[0].parentNode;if(o.containment=='document'||o.containment=='window')this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,$(o.containment=='document'?document:window).width()-this.helperProportions.width-this.margins.left,($(o.containment=='document'?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!(/^(document|window|parent)$/).test(o.containment)){var ce=$(o.containment)[0];var co=$(o.containment).offset();var over=($(ce).css("overflow")!='hidden');this.containment=[co.left+(parseInt($(ce).css("borderLeftWidth"),10)||0)+(parseInt($(ce).css("paddingLeft"),10)||0)-this.margins.left,co.top+(parseInt($(ce).css("borderTopWidth"),10)||0)+(parseInt($(ce).css("paddingTop"),10)||0)-this.margins.top,co.left+(over?Math.max(ce.scrollWidth,ce.offsetWidth):ce.offsetWidth)-(parseInt($(ce).css("borderLeftWidth"),10)||0)-(parseInt($(ce).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,co.top+(over?Math.max(ce.scrollHeight,ce.offsetHeight):ce.offsetHeight)-(parseInt($(ce).css("borderTopWidth"),10)||0)-(parseInt($(ce).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top];}},_convertPositionTo:function(d,pos){if(!pos)pos=this.position;var mod=d=="absolute"?1:-1;var o=this.options,scroll=this.cssPosition=='absolute'&&!(this.scrollParent[0]!=document&&$.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,scrollIsRootNode=(/(html|body)/i).test(scroll[0].tagName);return{top:(pos.top
++this.offset.relative.top*mod
++this.offset.parent.top*mod
+-(this.cssPosition=='fixed'?-this.scrollParent.scrollTop():(scrollIsRootNode?0:scroll.scrollTop()))*mod),left:(pos.left
++this.offset.relative.left*mod
++this.offset.parent.left*mod
+-(this.cssPosition=='fixed'?-this.scrollParent.scrollLeft():scrollIsRootNode?0:scroll.scrollLeft())*mod)};},_generatePosition:function(event){var o=this.options,scroll=this.cssPosition=='absolute'&&!(this.scrollParent[0]!=document&&$.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,scrollIsRootNode=(/(html|body)/i).test(scroll[0].tagName);if(this.cssPosition=='relative'&&!(this.scrollParent[0]!=document&&this.scrollParent[0]!=this.offsetParent[0])){this.offset.relative=this._getRelativeOffset();}
+var pageX=event.pageX;var pageY=event.pageY;if(this.originalPosition){if(this.containment){if(event.pageX-this.offset.click.left<this.containment[0])pageX=this.containment[0]+this.offset.click.left;if(event.pageY-this.offset.click.top<this.containment[1])pageY=this.containment[1]+this.offset.click.top;if(event.pageX-this.offset.click.left>this.containment[2])pageX=this.containment[2]+this.offset.click.left;if(event.pageY-this.offset.click.top>this.containment[3])pageY=this.containment[3]+this.offset.click.top;}
+if(o.grid){var top=this.originalPageY+Math.round((pageY-this.originalPageY)/o.grid[1])*o.grid[1];pageY=this.containment?(!(top-this.offset.click.top<this.containment[1]||top-this.offset.click.top>this.containment[3])?top:(!(top-this.offset.click.top<this.containment[1])?top-o.grid[1]:top+o.grid[1])):top;var left=this.originalPageX+Math.round((pageX-this.originalPageX)/o.grid[0])*o.grid[0];pageX=this.containment?(!(left-this.offset.click.left<this.containment[0]||left-this.offset.click.left>this.containment[2])?left:(!(left-this.offset.click.left<this.containment[0])?left-o.grid[0]:left+o.grid[0])):left;}}
+return{top:(pageY
+-this.offset.click.top
+-this.offset.relative.top
+-this.offset.parent.top
++(this.cssPosition=='fixed'?-this.scrollParent.scrollTop():(scrollIsRootNode?0:scroll.scrollTop()))),left:(pageX
+-this.offset.click.left
+-this.offset.relative.left
+-this.offset.parent.left
++(this.cssPosition=='fixed'?-this.scrollParent.scrollLeft():scrollIsRootNode?0:scroll.scrollLeft()))};},_rearrange:function(event,i,a,hardRefresh){a?a[0].appendChild(this.placeholder[0]):i.item[0].parentNode.insertBefore(this.placeholder[0],(this.direction=='down'?i.item[0]:i.item[0].nextSibling));this.counter=this.counter?++this.counter:1;var self=this,counter=this.counter;window.setTimeout(function(){if(counter==self.counter)self.refreshPositions(!hardRefresh);},0);},_clear:function(event,noPropagation){this.reverting=false;var delayedTriggers=[],self=this;if(!this._noFinalSort)this.placeholder.before(this.currentItem);this._noFinalSort=null;if(this.helper[0]==this.currentItem[0]){for(var i in this._storedCSS){if(this._storedCSS[i]=='auto'||this._storedCSS[i]=='static')this._storedCSS[i]='';}
+this.currentItem.css(this._storedCSS).removeClass(this.options.cssNamespace+"-sortable-helper");}else{this.currentItem.show();}
+if(this.fromOutside&&!noPropagation)delayedTriggers.push(function(event){this._trigger("receive",event,this._uiHash(this.fromOutside));});if((this.fromOutside||this.domPosition.prev!=this.currentItem.prev().not("."+this.options.cssNamespace+"-sortable-helper")[0]||this.domPosition.parent!=this.currentItem.parent()[0])&&!noPropagation)delayedTriggers.push(function(event){this._trigger("update",event,this._uiHash());});if(!$.ui.contains(this.element[0],this.currentItem[0])){if(!noPropagation)delayedTriggers.push(function(event){this._trigger("remove",event,this._uiHash());});for(var i=this.containers.length-1;i>=0;i--){if($.ui.contains(this.containers[i].element[0],this.currentItem[0])&&!noPropagation){delayedTriggers.push((function(c){return function(event){c._trigger("receive",event,this._uiHash(this));};}).call(this,this.containers[i]));delayedTriggers.push((function(c){return function(event){c._trigger("update",event,this._uiHash(this));};}).call(this,this.containers[i]));}};};for(var i=this.containers.length-1;i>=0;i--){if(!noPropagation)delayedTriggers.push((function(c){return function(event){c._trigger("deactivate",event,this._uiHash(this));};}).call(this,this.containers[i]));if(this.containers[i].containerCache.over){delayedTriggers.push((function(c){return function(event){c._trigger("out",event,this._uiHash(this));};}).call(this,this.containers[i]));this.containers[i].containerCache.over=0;}}
+if(this._storedCursor)$('body').css("cursor",this._storedCursor);if(this._storedOpacity)this.helper.css("opacity",this._storedCursor);if(this._storedZIndex)this.helper.css("zIndex",this._storedZIndex=='auto'?'':this._storedZIndex);this.dragging=false;if(this.cancelHelperRemoval){if(!noPropagation){this._trigger("beforeStop",event,this._uiHash());for(var i=0;i<delayedTriggers.length;i++){delayedTriggers[i].call(this,event);};this._trigger("stop",event,this._uiHash());}
+return false;}
+if(!noPropagation)this._trigger("beforeStop",event,this._uiHash());this.placeholder[0].parentNode.removeChild(this.placeholder[0]);if(this.helper[0]!=this.currentItem[0])this.helper.remove();this.helper=null;if(!noPropagation){for(var i=0;i<delayedTriggers.length;i++){delayedTriggers[i].call(this,event);};this._trigger("stop",event,this._uiHash());}
+this.fromOutside=false;return true;},_trigger:function(){if($.widget.prototype._trigger.apply(this,arguments)===false){this.cancel();}},_uiHash:function(inst){var self=inst||this;return{helper:self.helper,placeholder:self.placeholder||$([]),position:self.position,absolutePosition:self.positionAbs,offset:self.positionAbs,item:self.currentItem,sender:inst?inst.element:null};}}));$.extend($.ui.sortable,{getter:"serialize toArray",version:"1.6rc6",defaults:{accurateIntersection:true,appendTo:"parent",cancel:":input,option",connectWith:false,cssNamespace:'ui',delay:0,distance:1,dropOnEmpty:true,forcePlaceholderSize:false,forceHelperSize:false,handle:false,helper:"original",items:'> *',placeholder:false,scope:"default",scroll:true,scrollSensitivity:20,scrollSpeed:20,sortIndicator:$.ui.sortable.prototype._rearrange,tolerance:"intersect",zIndex:1000}});})(jQuery);TO_LOAD_INDEX++;TO_LOAD[TO_LOAD_INDEX]='load_extranet();';FIRST_LOAD=true;function load_extranet(){if($("#devisAdresse #client_nom").length){$("#devisAdresse #client_nom").autocomplete(SITE_PATH+'autocomplete/client',{cacheLength:0,maxItemsToShow:15,onFindValue:findClient,onItemSelect:findClient});}
+if($("#factureAdresse #projet_nom").length){$("#factureAdresse #projet_nom").autocomplete(SITE_PATH+'autocomplete/projet',{cacheLength:0,maxItemsToShow:15,onFindValue:findProjet,onItemSelect:findProjet});}
+if($(".dashboard").length>=1){$("#dash").sortable('destroy');if(FIRST_LOAD){FIRST_LOAD=false;}else{FIRST_LOAD=true;$.ajax({url:SITE_PATH+'ajax/reloadDashboards',success:function(data){MyAjax(data)}});}
+$("#dash").sortable({opacity:0.6,axis:"y",handle:".caption",stop:function(e,ui){$.ajax({url:SITE_PATH+'ajax/orderDashboards?'+$("#dash").sortable('serialize'),});resize();}});}
+$(".timereport_field").change(function(){var val=parseInt($(this).val());if(isNaN(val)){val=0;}
+var f=this;var id=$(this).attr('id');var a=id.split('_');$.ajax({url:SITE_PATH+'ajax/saveTimereport/'+a[1]+'/'+a[2]+'/'+val,success:function(data){FIRST_LOAD=true;MyAjax(data);var td=$(f).parents('td').get(0);if(parseFloat($(f).val())>0){$(td).addClass('filled');}else{$(td).removeClass('filled');}}});});$("#dash .toggle").click(function(){var rel=$(this).attr('rel');var div=$(this).parents('.dashboard').get(0);var liste=$(div).find('.liste');$(liste).slideToggle('fast',function(){resize();});$(this).toggleClass('close');$.ajax({url:SITE_PATH+'ajax/toggleDashboard/'+rel,});return false;});$(".filtre .bt").click(function(){var ul=$(this).parent().parent().children('ul');$(ul).slideToggle('fast');return false;});$(".filtre ul").click(function(e){if(e.target.nodeName=='INPUT'||e.target.nodeName=='LABEL'){return true;}
+$(this).slideToggle('fast');});$(".filtre span").click(function(){var ul=$(this).parent().children('ul');$(ul).slideToggle('fast');});$(".filtre input").change(function(){var form=$(this).parents('form').get(0);var uls=$(form).find("ul");var divs=$(form).find(".input");var spans=$(form).find("span");var i,j,k,ul,lis,li,input,label,checked,div,titre,t,t1,allc,inputs;for(i=0;i<uls.length;i++){div=divs[i];titre=Array();ul=uls[i];lis=$(ul).children("li");allc=$(lis).get(0);checked=0;for(j=1;j<lis.length;j++){li=lis[j];input=$(li).find('input').get(0);label=$(li).find('label').get(0);if(input.checked){checked++;titre.push($(label).text());}}
+if(checked==0){$(div).find('span').text($(allc).text());$(div).find('a').attr('title',$(allc).text());$(div).removeClass('active');inputs=$(ul).find('input');for(k=0;k<inputs.length;k++){inputs[k].checked=true;}}else if(checked==lis.length-1){$(div).find('span').text($(allc).text());$(div).find('a').attr('title',$(allc).text());$(div).removeClass('active');}else{t=titre.join(', ');if(t.length>20){t1=t.substr(0,16)+'...';}else{t1=t;}
+$(div).find('span').text(t1);$(div).find('a').attr('title',t);$(div).addClass('active');}}
+return true;});$(window).resize(function(){resize();});resize();}
+function resize(){var allh=$("#header").height()+$("#footer").height()+$("#bar").height()+$("#main .content").height()+13+30;var h=Math.max($(window).height(),allh);var mh=h-$("#header").height()-$("#footer").height()-$("#bar").height()-30-13;mh=Math.max(mh,450);$("#main").css('height',mh);}
+function findClient(li){var client=li.selectValue.split(' - ');if(client.length<=1){return;}
+var client_id=parseInt(client[0]);$("#client").val(client_id);$.ajax({url:SITE_PATH+'ajax/getAdresseForDevis/'+client_id,success:function(data){MyAjax(data);}});}
+function findProjet(li){var projet=li.selectValue.split(' - ');if(projet.length<=1){return;}
+var projet_id=parseInt(projet[0]);$("#projet").val(projet_id);$.ajax({url:SITE_PATH+'ajax/getAdresseForFacture/'+projet_id,success:function(data){MyAjax(data);}});}
\ No newline at end of file
diff --git a/js/merged-2ded29.js b/js/merged-2ded29.js
new file mode 100644 (file)
index 0000000..f8d9ad3
--- /dev/null
@@ -0,0 +1,567 @@
+
+(function(){var
+window=this,undefined,_jQuery=window.jQuery,_$=window.$,jQuery=window.jQuery=window.$=function(selector,context){return new jQuery.fn.init(selector,context);},quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,isSimple=/^.[^:#\[\.,]*$/;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;this.context=selector;return this;}
+if(typeof selector==="string"){var match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1])
+selector=jQuery.clean([match[1]],context);else{var elem=document.getElementById(match[3]);if(elem&&elem.id!=match[3])
+return jQuery().find(selector);var ret=jQuery(elem||[]);ret.context=document;ret.selector=selector;return ret;}}else
+return jQuery(context).find(selector);}else if(jQuery.isFunction(selector))
+return jQuery(document).ready(selector);if(selector.selector&&selector.context){this.selector=selector.selector;this.context=selector.context;}
+return this.setArray(jQuery.isArray(selector)?selector:jQuery.makeArray(selector));},selector:"",jquery:"1.3.2",size:function(){return this.length;},get:function(num){return num===undefined?Array.prototype.slice.call(this):this[num];},pushStack:function(elems,name,selector){var ret=jQuery(elems);ret.prevObject=this;ret.context=this.context;if(name==="find")
+ret.selector=this.selector+(this.selector?" ":"")+selector;else if(name)
+ret.selector=this.selector+"."+name+"("+selector+")";return ret;},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elems);return this;},each:function(callback,args){return jQuery.each(this,callback,args);},index:function(elem){return jQuery.inArray(elem&&elem.jquery?elem[0]:elem,this);},attr:function(name,value,type){var options=name;if(typeof name==="string")
+if(value===undefined)
+return this[0]&&jQuery[type||"attr"](this[0],name);else{options={};options[name]=value;}
+return this.each(function(i){for(name in options)
+jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name));});},css:function(key,value){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]){var wrap=jQuery(html,this[0].ownerDocument).clone();if(this[0].parentNode)
+wrap.insertBefore(this[0]);wrap.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,function(elem){if(this.nodeType==1)
+this.appendChild(elem);});},prepend:function(){return this.domManip(arguments,true,function(elem){if(this.nodeType==1)
+this.insertBefore(elem,this.firstChild);});},before:function(){return this.domManip(arguments,false,function(elem){this.parentNode.insertBefore(elem,this);});},after:function(){return this.domManip(arguments,false,function(elem){this.parentNode.insertBefore(elem,this.nextSibling);});},end:function(){return this.prevObject||jQuery([]);},push:[].push,sort:[].sort,splice:[].splice,find:function(selector){if(this.length===1){var ret=this.pushStack([],"find",selector);ret.length=0;jQuery.find(selector,this[0],ret);return ret;}else{return this.pushStack(jQuery.unique(jQuery.map(this,function(elem){return jQuery.find(selector,elem);})),"find",selector);}},clone:function(events){var ret=this.map(function(){if(!jQuery.support.noCloneEvent&&!jQuery.isXMLDoc(this)){var html=this.outerHTML;if(!html){var div=this.ownerDocument.createElement("div");div.appendChild(this.cloneNode(true));html=div.innerHTML;}
+return jQuery.clean([html.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0];}else
+return this.cloneNode(true);});if(events===true){var orig=this.find("*").andSelf(),i=0;ret.find("*").andSelf().each(function(){if(this.nodeName!==orig[i].nodeName)
+return;var events=jQuery.data(orig[i],"events");for(var type in events){for(var handler in events[type]){jQuery.event.add(this,type,events[type][handler],events[type][handler].data);}}
+i++;});}
+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,jQuery.grep(this,function(elem){return elem.nodeType===1;})),"filter",selector);},closest:function(selector){var pos=jQuery.expr.match.POS.test(selector)?jQuery(selector):null,closer=0;return this.map(function(){var cur=this;while(cur&&cur.ownerDocument){if(pos?pos.index(cur)>-1:jQuery(cur).is(selector)){jQuery.data(cur,"closest",closer);return cur;}
+cur=cur.parentNode;closer++;}});},not:function(selector){if(typeof selector==="string")
+if(isSimple.test(selector))
+return this.pushStack(jQuery.multiFilter(selector,this,true),"not",selector);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 this.pushStack(jQuery.unique(jQuery.merge(this.get(),typeof selector==="string"?jQuery(selector):jQuery.makeArray(selector))));},is:function(selector){return!!selector&&jQuery.multiFilter(selector,this).length>0;},hasClass:function(selector){return!!selector&&this.is("."+selector);},val:function(value){if(value===undefined){var elem=this[0];if(elem){if(jQuery.nodeName(elem,'option'))
+return(elem.attributes.value||{}).specified?elem.value:elem.text;if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";if(index<0)
+return null;for(var i=one?index:0,max=one?index+1:options.length;i<max;i++){var option=options[i];if(option.selected){value=jQuery(option).val();if(one)
+return value;values.push(value);}}
+return values;}
+return(elem.value||"").replace(/\r/g,"");}
+return undefined;}
+if(typeof value==="number")
+value+='';return this.each(function(){if(this.nodeType!=1)
+return;if(jQuery.isArray(value)&&/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=jQuery.makeArray(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[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):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),"slice",Array.prototype.slice.call(arguments).join(","));},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);},domManip:function(args,table,callback){if(this[0]){var fragment=(this[0].ownerDocument||this[0]).createDocumentFragment(),scripts=jQuery.clean(args,(this[0].ownerDocument||this[0]),fragment),first=fragment.firstChild;if(first)
+for(var i=0,l=this.length;i<l;i++)
+callback.call(root(this[i],first),this.length>1||i>0?fragment.cloneNode(true):fragment);if(scripts)
+jQuery.each(scripts,evalScript);}
+return this;function root(elem,cur){return table&&jQuery.nodeName(elem,"table")&&jQuery.nodeName(cur,"tr")?(elem.getElementsByTagName("tbody")[0]||elem.appendChild(elem.ownerDocument.createElement("tbody"))):elem;}}};jQuery.fn.init.prototype=jQuery.fn;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);}
+function now(){return+new Date;}
+jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(typeof target==="boolean"){deep=target;target=arguments[1]||{};i=2;}
+if(typeof target!=="object"&&!jQuery.isFunction(target))
+target={};if(length==i){target=this;--i;}
+for(;i<length;i++)
+if((options=arguments[i])!=null)
+for(var name in options){var src=target[name],copy=options[name];if(target===copy)
+continue;if(deep&&copy&&typeof copy==="object"&&!copy.nodeType)
+target[name]=jQuery.extend(deep,src||(copy.length!=null?[]:{}),copy);else if(copy!==undefined)
+target[name]=copy;}
+return target;};var exclude=/z-?index|font-?weight|opacity|zoom|line-?height/i,defaultView=document.defaultView||{},toString=Object.prototype.toString;jQuery.extend({noConflict:function(deep){window.$=_$;if(deep)
+window.jQuery=_jQuery;return jQuery;},isFunction:function(obj){return toString.call(obj)==="[object Function]";},isArray:function(obj){return toString.call(obj)==="[object Array]";},isXMLDoc:function(elem){return elem.nodeType===9&&elem.documentElement.nodeName!=="HTML"||!!elem.ownerDocument&&jQuery.isXMLDoc(elem.ownerDocument);},globalEval:function(data){if(data&&/\S/.test(data)){var head=document.getElementsByTagName("head")[0]||document.documentElement,script=document.createElement("script");script.type="text/javascript";if(jQuery.support.scriptEval)
+script.appendChild(document.createTextNode(data));else
+script.text=data;head.insertBefore(script,head.firstChild);head.removeChild(script);}},nodeName:function(elem,name){return elem.nodeName&&elem.nodeName.toUpperCase()==name.toUpperCase();},each:function(object,callback,args){var name,i=0,length=object.length;if(args){if(length===undefined){for(name in object)
+if(callback.apply(object[name],args)===false)
+break;}else
+for(;i<length;)
+if(callback.apply(object[i++],args)===false)
+break;}else{if(length===undefined){for(name in object)
+if(callback.call(object[name],name,object[name])===false)
+break;}else
+for(var value=object[0];i<length&&callback.call(value,i,value)!==false;value=object[++i]){}}
+return object;},prop:function(elem,value,type,i,name){if(jQuery.isFunction(value))
+value=value.call(elem,i);return typeof value==="number"&&type=="curCSS"&&!exclude.test(name)?value+"px":value;},className:{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;});},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(" "):"";},has:function(elem,className){return elem&&jQuery.inArray(className,(elem.className||elem).toString().split(/\s+/))>-1;}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}
+callback.call(elem);for(var name in options)
+elem.style[name]=old[name];},css:function(elem,name,force,extra){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;if(extra==="border")
+return;jQuery.each(which,function(){if(!extra)
+val-=parseFloat(jQuery.curCSS(elem,"padding"+this,true))||0;if(extra==="margin")
+val+=parseFloat(jQuery.curCSS(elem,"margin"+this,true))||0;else
+val-=parseFloat(jQuery.curCSS(elem,"border"+this+"Width",true))||0;});}
+if(elem.offsetWidth!==0)
+getWH();else
+jQuery.swap(elem,props,getWH);return Math.max(0,Math.round(val));}
+return jQuery.curCSS(elem,name,force);},curCSS:function(elem,name,force){var ret,style=elem.style;if(name=="opacity"&&!jQuery.support.opacity){ret=jQuery.attr(style,"opacity");return ret==""?"1":ret;}
+if(name.match(/float/i))
+name=styleFloat;if(!force&&style&&style[name])
+ret=style[name];else if(defaultView.getComputedStyle){if(name.match(/float/i))
+name="float";name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var computedStyle=defaultView.getComputedStyle(elem,null);if(computedStyle)
+ret=computedStyle.getPropertyValue(name);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];if(!/^\d+(px)?$/i.test(ret)&&/^\d/.test(ret)){var left=style.left,rsLeft=elem.runtimeStyle.left;elem.runtimeStyle.left=elem.currentStyle.left;style.left=ret||0;ret=style.pixelLeft+"px";style.left=left;elem.runtimeStyle.left=rsLeft;}}
+return ret;},clean:function(elems,context,fragment){context=context||document;if(typeof context.createElement==="undefined")
+context=context.ownerDocument||context[0]&&context[0].ownerDocument||document;if(!fragment&&elems.length===1&&typeof elems[0]==="string"){var match=/^<(\w+)\s*\/?>$/.exec(elems[0]);if(match)
+return[context.createElement(match[1])];}
+var ret=[],scripts=[],div=context.createElement("div");jQuery.each(elems,function(i,elem){if(typeof elem==="number")
+elem+='';if(!elem)
+return;if(typeof elem==="string"){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+">";});var tags=elem.replace(/^\s+/,"").substring(0,10).toLowerCase();var wrap=!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>"]||(!tags.indexOf("<td")||!tags.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!tags.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||!jQuery.support.htmlSerialize&&[1,"div<div>","</div>"]||[0,"",""];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--)
+div=div.lastChild;if(!jQuery.support.tbody){var hasBody=/<tbody/i.test(elem),tbody=!tags.indexOf("<table")&&!hasBody?div.firstChild&&div.firstChild.childNodes:wrap[1]=="<table>"&&!hasBody?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]);}
+if(!jQuery.support.leadingWhitespace&&/^\s/.test(elem))
+div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]),div.firstChild);elem=jQuery.makeArray(div.childNodes);}
+if(elem.nodeType)
+ret.push(elem);else
+ret=jQuery.merge(ret,elem);});if(fragment){for(var i=0;ret[i];i++){if(jQuery.nodeName(ret[i],"script")&&(!ret[i].type||ret[i].type.toLowerCase()==="text/javascript")){scripts.push(ret[i].parentNode?ret[i].parentNode.removeChild(ret[i]):ret[i]);}else{if(ret[i].nodeType===1)
+ret.splice.apply(ret,[i+1,0].concat(jQuery.makeArray(ret[i].getElementsByTagName("script"))));fragment.appendChild(ret[i]);}}
+return scripts;}
+return ret;},attr:function(elem,name,value){if(!elem||elem.nodeType==3||elem.nodeType==8)
+return undefined;var notxml=!jQuery.isXMLDoc(elem),set=value!==undefined;name=notxml&&jQuery.props[name]||name;if(elem.tagName){var special=/href|src|style/.test(name);if(name=="selected"&&elem.parentNode)
+elem.parentNode.selectedIndex;if(name in elem&&notxml&&!special){if(set){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)
+throw"type property can't be changed";elem[name]=value;}
+if(jQuery.nodeName(elem,"form")&&elem.getAttributeNode(name))
+return elem.getAttributeNode(name).nodeValue;if(name=="tabIndex"){var attributeNode=elem.getAttributeNode("tabIndex");return attributeNode&&attributeNode.specified?attributeNode.value:elem.nodeName.match(/(button|input|object|select|textarea)/i)?0:elem.nodeName.match(/^(a|area)$/i)&&elem.href?0:undefined;}
+return elem[name];}
+if(!jQuery.support.style&&notxml&&name=="style")
+return jQuery.attr(elem.style,"cssText",value);if(set)
+elem.setAttribute(name,""+value);var attr=!jQuery.support.hrefNormalized&&notxml&&special?elem.getAttribute(name,2):elem.getAttribute(name);return attr===null?undefined:attr;}
+if(!jQuery.support.opacity&&name=="opacity"){if(set){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+
+(parseInt(value)+''=="NaN"?"":"alpha(opacity="+value*100+")");}
+return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100)+'':"";}
+name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(set)
+elem[name]=value;return elem[name];},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeArray:function(array){var ret=[];if(array!=null){var i=array.length;if(i==null||typeof array==="string"||jQuery.isFunction(array)||array.setInterval)
+ret[0]=array;else
+while(i)
+ret[--i]=array[i];}
+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){var i=0,elem,pos=first.length;if(!jQuery.support.getAll){while((elem=second[i++])!=null)
+if(elem.nodeType!=8)
+first[pos++]=elem;}else
+while((elem=second[i++])!=null)
+first[pos++]=elem;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=[];for(var i=0,length=elems.length;i<length;i++)
+if(!inv!=!callback(elems[i],i))
+ret.push(elems[i]);return ret;},map:function(elems,callback){var ret=[];for(var i=0,length=elems.length;i<length;i++){var value=callback(elems[i],i);if(value!=null)
+ret[ret.length]=value;}
+return ret.concat.apply([],ret);}});var userAgent=navigator.userAgent.toLowerCase();jQuery.browser={version:(userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,'0'])[1],safari:/webkit/.test(userAgent),opera:/opera/.test(userAgent),msie:/msie/.test(userAgent)&&!/opera/.test(userAgent),mozilla:/mozilla/.test(userAgent)&&!/(compatible|webkit)/.test(userAgent)};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),name,selector);};});jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(selector){var ret=[],insert=jQuery(selector);for(var i=0,l=insert.length;i<l;i++){var elems=(i>0?this.clone(true):this).get();jQuery.fn[original].apply(jQuery(insert[i]),elems);ret=ret.concat(elems);}
+return this.pushStack(ret,name,selector);};});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,state){if(typeof state!=="boolean")
+state=!jQuery.className.has(this,classNames);jQuery.className[state?"add":"remove"](this,classNames);},remove:function(selector){if(!selector||jQuery.filter(selector,[this]).length){jQuery("*",this).add([this]).each(function(){jQuery.event.remove(this);jQuery.removeData(this);});if(this.parentNode)
+this.parentNode.removeChild(this);}},empty:function(){jQuery(this).children().remove();while(this.firstChild)
+this.removeChild(this.firstChild);}},function(name,fn){jQuery.fn[name]=function(){return this.each(fn,arguments);};});function num(elem,prop){return elem[0]&&parseInt(jQuery.curCSS(elem[0],prop,true),10)||0;}
+var expando="jQuery"+now(),uuid=0,windowData={};jQuery.extend({cache:{},data:function(elem,name,data){elem=elem==window?windowData:elem;var id=elem[expando];if(!id)
+id=elem[expando]=++uuid;if(name&&!jQuery.cache[id])
+jQuery.cache[id]={};if(data!==undefined)
+jQuery.cache[id][name]=data;return name?jQuery.cache[id][name]:id;},removeData:function(elem,name){elem=elem==window?windowData:elem;var id=elem[expando];if(name){if(jQuery.cache[id]){delete jQuery.cache[id][name];name="";for(name in jQuery.cache[id])
+break;if(!name)
+jQuery.removeData(elem);}}else{try{delete elem[expando];}catch(e){if(elem.removeAttribute)
+elem.removeAttribute(expando);}
+delete jQuery.cache[id];}},queue:function(elem,type,data){if(elem){type=(type||"fx")+"queue";var q=jQuery.data(elem,type);if(!q||jQuery.isArray(data))
+q=jQuery.data(elem,type,jQuery.makeArray(data));else if(data)
+q.push(data);}
+return q;},dequeue:function(elem,type){var queue=jQuery.queue(elem,type),fn=queue.shift();if(!type||type==="fx")
+fn=queue[0];if(fn!==undefined)
+fn.call(elem);}});jQuery.fn.extend({data:function(key,value){var parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value===undefined){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data===undefined&&this.length)
+data=jQuery.data(this[0],key);return data===undefined&&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);});},queue:function(type,data){if(typeof type!=="string"){data=type;type="fx";}
+if(data===undefined)
+return jQuery.queue(this[0],type);return this.each(function(){var queue=jQuery.queue(this,type,data);if(type=="fx"&&queue.length==1)
+queue[0].call(this);});},dequeue:function(type){return this.each(function(){jQuery.dequeue(this,type);});}});(function(){var chunker=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,done=0,toString=Object.prototype.toString;var Sizzle=function(selector,context,results,seed){results=results||[];context=context||document;if(context.nodeType!==1&&context.nodeType!==9)
+return[];if(!selector||typeof selector!=="string"){return results;}
+var parts=[],m,set,checkSet,check,mode,extra,prune=true;chunker.lastIndex=0;while((m=chunker.exec(selector))!==null){parts.push(m[1]);if(m[2]){extra=RegExp.rightContext;break;}}
+if(parts.length>1&&origPOS.exec(selector)){if(parts.length===2&&Expr.relative[parts[0]]){set=posProcess(parts[0]+parts[1],context);}else{set=Expr.relative[parts[0]]?[context]:Sizzle(parts.shift(),context);while(parts.length){selector=parts.shift();if(Expr.relative[selector])
+selector+=parts.shift();set=posProcess(selector,set);}}}else{var ret=seed?{expr:parts.pop(),set:makeArray(seed)}:Sizzle.find(parts.pop(),parts.length===1&&context.parentNode?context.parentNode:context,isXML(context));set=Sizzle.filter(ret.expr,ret.set);if(parts.length>0){checkSet=makeArray(set);}else{prune=false;}
+while(parts.length){var cur=parts.pop(),pop=cur;if(!Expr.relative[cur]){cur="";}else{pop=parts.pop();}
+if(pop==null){pop=context;}
+Expr.relative[cur](checkSet,pop,isXML(context));}}
+if(!checkSet){checkSet=set;}
+if(!checkSet){throw"Syntax error, unrecognized expression: "+(cur||selector);}
+if(toString.call(checkSet)==="[object Array]"){if(!prune){results.push.apply(results,checkSet);}else if(context.nodeType===1){for(var i=0;checkSet[i]!=null;i++){if(checkSet[i]&&(checkSet[i]===true||checkSet[i].nodeType===1&&contains(context,checkSet[i]))){results.push(set[i]);}}}else{for(var i=0;checkSet[i]!=null;i++){if(checkSet[i]&&checkSet[i].nodeType===1){results.push(set[i]);}}}}else{makeArray(checkSet,results);}
+if(extra){Sizzle(extra,context,results,seed);if(sortOrder){hasDuplicate=false;results.sort(sortOrder);if(hasDuplicate){for(var i=1;i<results.length;i++){if(results[i]===results[i-1]){results.splice(i--,1);}}}}}
+return results;};Sizzle.matches=function(expr,set){return Sizzle(expr,null,null,set);};Sizzle.find=function(expr,context,isXML){var set,match;if(!expr){return[];}
+for(var i=0,l=Expr.order.length;i<l;i++){var type=Expr.order[i],match;if((match=Expr.match[type].exec(expr))){var left=RegExp.leftContext;if(left.substr(left.length-1)!=="\\"){match[1]=(match[1]||"").replace(/\\/g,"");set=Expr.find[type](match,context,isXML);if(set!=null){expr=expr.replace(Expr.match[type],"");break;}}}}
+if(!set){set=context.getElementsByTagName("*");}
+return{set:set,expr:expr};};Sizzle.filter=function(expr,set,inplace,not){var old=expr,result=[],curLoop=set,match,anyFound,isXMLFilter=set&&set[0]&&isXML(set[0]);while(expr&&set.length){for(var type in Expr.filter){if((match=Expr.match[type].exec(expr))!=null){var filter=Expr.filter[type],found,item;anyFound=false;if(curLoop==result){result=[];}
+if(Expr.preFilter[type]){match=Expr.preFilter[type](match,curLoop,inplace,result,not,isXMLFilter);if(!match){anyFound=found=true;}else if(match===true){continue;}}
+if(match){for(var i=0;(item=curLoop[i])!=null;i++){if(item){found=filter(item,match,i,curLoop);var pass=not^!!found;if(inplace&&found!=null){if(pass){anyFound=true;}else{curLoop[i]=false;}}else if(pass){result.push(item);anyFound=true;}}}}
+if(found!==undefined){if(!inplace){curLoop=result;}
+expr=expr.replace(Expr.match[type],"");if(!anyFound){return[];}
+break;}}}
+if(expr==old){if(anyFound==null){throw"Syntax error, unrecognized expression: "+expr;}else{break;}}
+old=expr;}
+return curLoop;};var Expr=Sizzle.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(elem){return elem.getAttribute("href");}},relative:{"+":function(checkSet,part,isXML){var isPartStr=typeof part==="string",isTag=isPartStr&&!/\W/.test(part),isPartStrNotTag=isPartStr&&!isTag;if(isTag&&!isXML){part=part.toUpperCase();}
+for(var i=0,l=checkSet.length,elem;i<l;i++){if((elem=checkSet[i])){while((elem=elem.previousSibling)&&elem.nodeType!==1){}
+checkSet[i]=isPartStrNotTag||elem&&elem.nodeName===part?elem||false:elem===part;}}
+if(isPartStrNotTag){Sizzle.filter(part,checkSet,true);}},">":function(checkSet,part,isXML){var isPartStr=typeof part==="string";if(isPartStr&&!/\W/.test(part)){part=isXML?part:part.toUpperCase();for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){var parent=elem.parentNode;checkSet[i]=parent.nodeName===part?parent:false;}}}else{for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){checkSet[i]=isPartStr?elem.parentNode:elem.parentNode===part;}}
+if(isPartStr){Sizzle.filter(part,checkSet,true);}}},"":function(checkSet,part,isXML){var doneName=done++,checkFn=dirCheck;if(!part.match(/\W/)){var nodeCheck=part=isXML?part:part.toUpperCase();checkFn=dirNodeCheck;}
+checkFn("parentNode",part,doneName,checkSet,nodeCheck,isXML);},"~":function(checkSet,part,isXML){var doneName=done++,checkFn=dirCheck;if(typeof part==="string"&&!part.match(/\W/)){var nodeCheck=part=isXML?part:part.toUpperCase();checkFn=dirNodeCheck;}
+checkFn("previousSibling",part,doneName,checkSet,nodeCheck,isXML);}},find:{ID:function(match,context,isXML){if(typeof context.getElementById!=="undefined"&&!isXML){var m=context.getElementById(match[1]);return m?[m]:[];}},NAME:function(match,context,isXML){if(typeof context.getElementsByName!=="undefined"){var ret=[],results=context.getElementsByName(match[1]);for(var i=0,l=results.length;i<l;i++){if(results[i].getAttribute("name")===match[1]){ret.push(results[i]);}}
+return ret.length===0?null:ret;}},TAG:function(match,context){return context.getElementsByTagName(match[1]);}},preFilter:{CLASS:function(match,curLoop,inplace,result,not,isXML){match=" "+match[1].replace(/\\/g,"")+" ";if(isXML){return match;}
+for(var i=0,elem;(elem=curLoop[i])!=null;i++){if(elem){if(not^(elem.className&&(" "+elem.className+" ").indexOf(match)>=0)){if(!inplace)
+result.push(elem);}else if(inplace){curLoop[i]=false;}}}
+return false;},ID:function(match){return match[1].replace(/\\/g,"");},TAG:function(match,curLoop){for(var i=0;curLoop[i]===false;i++){}
+return curLoop[i]&&isXML(curLoop[i])?match[1]:match[1].toUpperCase();},CHILD:function(match){if(match[1]=="nth"){var test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(match[2]=="even"&&"2n"||match[2]=="odd"&&"2n+1"||!/\D/.test(match[2])&&"0n+"+match[2]||match[2]);match[2]=(test[1]+(test[2]||1))-0;match[3]=test[3]-0;}
+match[0]=done++;return match;},ATTR:function(match,curLoop,inplace,result,not,isXML){var name=match[1].replace(/\\/g,"");if(!isXML&&Expr.attrMap[name]){match[1]=Expr.attrMap[name];}
+if(match[2]==="~="){match[4]=" "+match[4]+" ";}
+return match;},PSEUDO:function(match,curLoop,inplace,result,not){if(match[1]==="not"){if(match[3].match(chunker).length>1||/^\w/.test(match[3])){match[3]=Sizzle(match[3],null,null,curLoop);}else{var ret=Sizzle.filter(match[3],curLoop,inplace,true^not);if(!inplace){result.push.apply(result,ret);}
+return false;}}else if(Expr.match.POS.test(match[0])||Expr.match.CHILD.test(match[0])){return true;}
+return match;},POS:function(match){match.unshift(true);return match;}},filters:{enabled:function(elem){return elem.disabled===false&&elem.type!=="hidden";},disabled:function(elem){return elem.disabled===true;},checked:function(elem){return elem.checked===true;},selected:function(elem){elem.parentNode.selectedIndex;return elem.selected===true;},parent:function(elem){return!!elem.firstChild;},empty:function(elem){return!elem.firstChild;},has:function(elem,i,match){return!!Sizzle(match[3],elem).length;},header:function(elem){return/h\d/i.test(elem.nodeName);},text:function(elem){return"text"===elem.type;},radio:function(elem){return"radio"===elem.type;},checkbox:function(elem){return"checkbox"===elem.type;},file:function(elem){return"file"===elem.type;},password:function(elem){return"password"===elem.type;},submit:function(elem){return"submit"===elem.type;},image:function(elem){return"image"===elem.type;},reset:function(elem){return"reset"===elem.type;},button:function(elem){return"button"===elem.type||elem.nodeName.toUpperCase()==="BUTTON";},input:function(elem){return/input|select|textarea|button/i.test(elem.nodeName);}},setFilters:{first:function(elem,i){return i===0;},last:function(elem,i,match,array){return i===array.length-1;},even:function(elem,i){return i%2===0;},odd:function(elem,i){return i%2===1;},lt:function(elem,i,match){return i<match[3]-0;},gt:function(elem,i,match){return i>match[3]-0;},nth:function(elem,i,match){return match[3]-0==i;},eq:function(elem,i,match){return match[3]-0==i;}},filter:{PSEUDO:function(elem,match,i,array){var name=match[1],filter=Expr.filters[name];if(filter){return filter(elem,i,match,array);}else if(name==="contains"){return(elem.textContent||elem.innerText||"").indexOf(match[3])>=0;}else if(name==="not"){var not=match[3];for(var i=0,l=not.length;i<l;i++){if(not[i]===elem){return false;}}
+return true;}},CHILD:function(elem,match){var type=match[1],node=elem;switch(type){case'only':case'first':while(node=node.previousSibling){if(node.nodeType===1)return false;}
+if(type=='first')return true;node=elem;case'last':while(node=node.nextSibling){if(node.nodeType===1)return false;}
+return true;case'nth':var first=match[2],last=match[3];if(first==1&&last==0){return true;}
+var doneName=match[0],parent=elem.parentNode;if(parent&&(parent.sizcache!==doneName||!elem.nodeIndex)){var count=0;for(node=parent.firstChild;node;node=node.nextSibling){if(node.nodeType===1){node.nodeIndex=++count;}}
+parent.sizcache=doneName;}
+var diff=elem.nodeIndex-last;if(first==0){return diff==0;}else{return(diff%first==0&&diff/first>=0);}}},ID:function(elem,match){return elem.nodeType===1&&elem.getAttribute("id")===match;},TAG:function(elem,match){return(match==="*"&&elem.nodeType===1)||elem.nodeName===match;},CLASS:function(elem,match){return(" "+(elem.className||elem.getAttribute("class"))+" ").indexOf(match)>-1;},ATTR:function(elem,match){var name=match[1],result=Expr.attrHandle[name]?Expr.attrHandle[name](elem):elem[name]!=null?elem[name]:elem.getAttribute(name),value=result+"",type=match[2],check=match[4];return result==null?type==="!=":type==="="?value===check:type==="*="?value.indexOf(check)>=0:type==="~="?(" "+value+" ").indexOf(check)>=0:!check?value&&result!==false:type==="!="?value!=check:type==="^="?value.indexOf(check)===0:type==="$="?value.substr(value.length-check.length)===check:type==="|="?value===check||value.substr(0,check.length+1)===check+"-":false;},POS:function(elem,match,i,array){var name=match[2],filter=Expr.setFilters[name];if(filter){return filter(elem,i,match,array);}}}};var origPOS=Expr.match.POS;for(var type in Expr.match){Expr.match[type]=RegExp(Expr.match[type].source+/(?![^\[]*\])(?![^\(]*\))/.source);}
+var makeArray=function(array,results){array=Array.prototype.slice.call(array);if(results){results.push.apply(results,array);return results;}
+return array;};try{Array.prototype.slice.call(document.documentElement.childNodes);}catch(e){makeArray=function(array,results){var ret=results||[];if(toString.call(array)==="[object Array]"){Array.prototype.push.apply(ret,array);}else{if(typeof array.length==="number"){for(var i=0,l=array.length;i<l;i++){ret.push(array[i]);}}else{for(var i=0;array[i];i++){ret.push(array[i]);}}}
+return ret;};}
+var sortOrder;if(document.documentElement.compareDocumentPosition){sortOrder=function(a,b){var ret=a.compareDocumentPosition(b)&4?-1:a===b?0:1;if(ret===0){hasDuplicate=true;}
+return ret;};}else if("sourceIndex"in document.documentElement){sortOrder=function(a,b){var ret=a.sourceIndex-b.sourceIndex;if(ret===0){hasDuplicate=true;}
+return ret;};}else if(document.createRange){sortOrder=function(a,b){var aRange=a.ownerDocument.createRange(),bRange=b.ownerDocument.createRange();aRange.selectNode(a);aRange.collapse(true);bRange.selectNode(b);bRange.collapse(true);var ret=aRange.compareBoundaryPoints(Range.START_TO_END,bRange);if(ret===0){hasDuplicate=true;}
+return ret;};}
+(function(){var form=document.createElement("form"),id="script"+(new Date).getTime();form.innerHTML="<input name='"+id+"'/>";var root=document.documentElement;root.insertBefore(form,root.firstChild);if(!!document.getElementById(id)){Expr.find.ID=function(match,context,isXML){if(typeof context.getElementById!=="undefined"&&!isXML){var m=context.getElementById(match[1]);return m?m.id===match[1]||typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id").nodeValue===match[1]?[m]:undefined:[];}};Expr.filter.ID=function(elem,match){var node=typeof elem.getAttributeNode!=="undefined"&&elem.getAttributeNode("id");return elem.nodeType===1&&node&&node.nodeValue===match;};}
+root.removeChild(form);})();(function(){var div=document.createElement("div");div.appendChild(document.createComment(""));if(div.getElementsByTagName("*").length>0){Expr.find.TAG=function(match,context){var results=context.getElementsByTagName(match[1]);if(match[1]==="*"){var tmp=[];for(var i=0;results[i];i++){if(results[i].nodeType===1){tmp.push(results[i]);}}
+results=tmp;}
+return results;};}
+div.innerHTML="<a href='#'></a>";if(div.firstChild&&typeof div.firstChild.getAttribute!=="undefined"&&div.firstChild.getAttribute("href")!=="#"){Expr.attrHandle.href=function(elem){return elem.getAttribute("href",2);};}})();if(document.querySelectorAll)(function(){var oldSizzle=Sizzle,div=document.createElement("div");div.innerHTML="<p class='TEST'></p>";if(div.querySelectorAll&&div.querySelectorAll(".TEST").length===0){return;}
+Sizzle=function(query,context,extra,seed){context=context||document;if(!seed&&context.nodeType===9&&!isXML(context)){try{return makeArray(context.querySelectorAll(query),extra);}catch(e){}}
+return oldSizzle(query,context,extra,seed);};Sizzle.find=oldSizzle.find;Sizzle.filter=oldSizzle.filter;Sizzle.selectors=oldSizzle.selectors;Sizzle.matches=oldSizzle.matches;})();if(document.getElementsByClassName&&document.documentElement.getElementsByClassName)(function(){var div=document.createElement("div");div.innerHTML="<div class='test e'></div><div class='test'></div>";if(div.getElementsByClassName("e").length===0)
+return;div.lastChild.className="e";if(div.getElementsByClassName("e").length===1)
+return;Expr.order.splice(1,0,"CLASS");Expr.find.CLASS=function(match,context,isXML){if(typeof context.getElementsByClassName!=="undefined"&&!isXML){return context.getElementsByClassName(match[1]);}};})();function dirNodeCheck(dir,cur,doneName,checkSet,nodeCheck,isXML){var sibDir=dir=="previousSibling"&&!isXML;for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){if(sibDir&&elem.nodeType===1){elem.sizcache=doneName;elem.sizset=i;}
+elem=elem[dir];var match=false;while(elem){if(elem.sizcache===doneName){match=checkSet[elem.sizset];break;}
+if(elem.nodeType===1&&!isXML){elem.sizcache=doneName;elem.sizset=i;}
+if(elem.nodeName===cur){match=elem;break;}
+elem=elem[dir];}
+checkSet[i]=match;}}}
+function dirCheck(dir,cur,doneName,checkSet,nodeCheck,isXML){var sibDir=dir=="previousSibling"&&!isXML;for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){if(sibDir&&elem.nodeType===1){elem.sizcache=doneName;elem.sizset=i;}
+elem=elem[dir];var match=false;while(elem){if(elem.sizcache===doneName){match=checkSet[elem.sizset];break;}
+if(elem.nodeType===1){if(!isXML){elem.sizcache=doneName;elem.sizset=i;}
+if(typeof cur!=="string"){if(elem===cur){match=true;break;}}else if(Sizzle.filter(cur,[elem]).length>0){match=elem;break;}}
+elem=elem[dir];}
+checkSet[i]=match;}}}
+var contains=document.compareDocumentPosition?function(a,b){return a.compareDocumentPosition(b)&16;}:function(a,b){return a!==b&&(a.contains?a.contains(b):true);};var isXML=function(elem){return elem.nodeType===9&&elem.documentElement.nodeName!=="HTML"||!!elem.ownerDocument&&isXML(elem.ownerDocument);};var posProcess=function(selector,context){var tmpSet=[],later="",match,root=context.nodeType?[context]:context;while((match=Expr.match.PSEUDO.exec(selector))){later+=match[0];selector=selector.replace(Expr.match.PSEUDO,"");}
+selector=Expr.relative[selector]?selector+"*":selector;for(var i=0,l=root.length;i<l;i++){Sizzle(selector,root[i],tmpSet);}
+return Sizzle.filter(later,tmpSet);};jQuery.find=Sizzle;jQuery.filter=Sizzle.filter;jQuery.expr=Sizzle.selectors;jQuery.expr[":"]=jQuery.expr.filters;Sizzle.selectors.filters.hidden=function(elem){return elem.offsetWidth===0||elem.offsetHeight===0;};Sizzle.selectors.filters.visible=function(elem){return elem.offsetWidth>0||elem.offsetHeight>0;};Sizzle.selectors.filters.animated=function(elem){return jQuery.grep(jQuery.timers,function(fn){return elem===fn.elem;}).length;};jQuery.multiFilter=function(expr,elems,not){if(not){expr=":not("+expr+")";}
+return Sizzle.matches(expr,elems);};jQuery.dir=function(elem,dir){var matched=[],cur=elem[dir];while(cur&&cur!=document){if(cur.nodeType==1)
+matched.push(cur);cur=cur[dir];}
+return matched;};jQuery.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;};jQuery.sibling=function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType==1&&n!=elem)
+r.push(n);}
+return r;};return;window.Sizzle=Sizzle;})();jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8)
+return;if(elem.setInterval&&elem!=window)
+elem=window;if(!handler.guid)
+handler.guid=this.guid++;if(data!==undefined){var fn=handler;handler=this.proxy(fn);handler.data=data;}
+var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){return typeof jQuery!=="undefined"&&!jQuery.event.triggered?jQuery.event.handle.apply(arguments.callee.elem,arguments):undefined;});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var namespaces=type.split(".");type=namespaces.shift();handler.type=namespaces.slice().sort().join(".");var handlers=events[type];if(jQuery.event.specialAll[type])
+jQuery.event.specialAll[type].setup.call(elem,data,namespaces);if(!handlers){handlers=events[type]={};if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem,data,namespaces)===false){if(elem.addEventListener)
+elem.addEventListener(type,handle,false);else if(elem.attachEvent)
+elem.attachEvent("on"+type,handle);}}
+handlers[handler.guid]=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8)
+return;var events=jQuery.data(elem,"events"),ret,index;if(events){if(types===undefined||(typeof types==="string"&&types.charAt(0)=="."))
+for(var type in events)
+this.remove(elem,type+(types||""));else{if(types.type){handler=types.handler;types=types.type;}
+jQuery.each(types.split(/\s+/),function(index,type){var namespaces=type.split(".");type=namespaces.shift();var namespace=RegExp("(^|\\.)"+namespaces.slice().sort().join(".*\\.")+"(\\.|$)");if(events[type]){if(handler)
+delete events[type][handler.guid];else
+for(var handle in events[type])
+if(namespace.test(events[type][handle].type))
+delete events[type][handle];if(jQuery.event.specialAll[type])
+jQuery.event.specialAll[type].teardown.call(elem,namespaces);for(ret in events[type])break;if(!ret){if(!jQuery.event.special[type]||jQuery.event.special[type].teardown.call(elem,namespaces)===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];}}});}
+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(event,data,elem,bubbling){var type=event.type||event;if(!bubbling){event=typeof event==="object"?event[expando]?event:jQuery.extend(jQuery.Event(type),event):jQuery.Event(type);if(type.indexOf("!")>=0){event.type=type=type.slice(0,-1);event.exclusive=true;}
+if(!elem){event.stopPropagation();if(this.global[type])
+jQuery.each(jQuery.cache,function(){if(this.events&&this.events[type])
+jQuery.event.trigger(event,data,this.handle.elem);});}
+if(!elem||elem.nodeType==3||elem.nodeType==8)
+return undefined;event.result=undefined;event.target=elem;data=jQuery.makeArray(data);data.unshift(event);}
+event.currentTarget=elem;var handle=jQuery.data(elem,"handle");if(handle)
+handle.apply(elem,data);if((!elem[type]||(jQuery.nodeName(elem,'a')&&type=="click"))&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)
+event.result=false;if(!bubbling&&elem[type]&&!event.isDefaultPrevented()&&!(jQuery.nodeName(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]();}catch(e){}}
+this.triggered=false;if(!event.isPropagationStopped()){var parent=elem.parentNode||elem.ownerDocument;if(parent)
+jQuery.event.trigger(event,data,parent,true);}},handle:function(event){var all,handlers;event=arguments[0]=jQuery.event.fix(event||window.event);event.currentTarget=this;var namespaces=event.type.split(".");event.type=namespaces.shift();all=!namespaces.length&&!event.exclusive;var namespace=RegExp("(^|\\.)"+namespaces.slice().sort().join(".*\\.")+"(\\.|$)");handlers=(jQuery.data(this,"events")||{})[event.type];for(var j in handlers){var handler=handlers[j];if(all||namespace.test(handler.type)){event.handler=handler;event.data=handler.data;var ret=handler.apply(this,arguments);if(ret!==undefined){event.result=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}
+if(event.isImmediatePropagationStopped())
+break;}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(event){if(event[expando])
+return event;var originalEvent=event;event=jQuery.Event(originalEvent);for(var i=this.props.length,prop;i;){prop=this.props[--i];event[prop]=originalEvent[prop];}
+if(!event.target)
+event.target=event.srcElement||document;if(event.target.nodeType==3)
+event.target=event.target.parentNode;if(!event.relatedTarget&&event.fromElement)
+event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;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);}
+if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode))
+event.which=event.charCode||event.keyCode;if(!event.metaKey&&event.ctrlKey)
+event.metaKey=event.ctrlKey;if(!event.which&&event.button)
+event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));return event;},proxy:function(fn,proxy){proxy=proxy||function(){return fn.apply(this,arguments);};proxy.guid=fn.guid=fn.guid||proxy.guid||this.guid++;return proxy;},special:{ready:{setup:bindReady,teardown:function(){}}},specialAll:{live:{setup:function(selector,namespaces){jQuery.event.add(this,namespaces[0],liveHandler);},teardown:function(namespaces){if(namespaces.length){var remove=0,name=RegExp("(^|\\.)"+namespaces[0]+"(\\.|$)");jQuery.each((jQuery.data(this,"events").live||{}),function(){if(name.test(this.type))
+remove++;});if(remove<1)
+jQuery.event.remove(this,namespaces[0],liveHandler);}}}}};jQuery.Event=function(src){if(!this.preventDefault)
+return new jQuery.Event(src);if(src&&src.type){this.originalEvent=src;this.type=src.type;}else
+this.type=src;this.timeStamp=now();this[expando]=true;};function returnFalse(){return false;}
+function returnTrue(){return true;}
+jQuery.Event.prototype={preventDefault:function(){this.isDefaultPrevented=returnTrue;var e=this.originalEvent;if(!e)
+return;if(e.preventDefault)
+e.preventDefault();e.returnValue=false;},stopPropagation:function(){this.isPropagationStopped=returnTrue;var e=this.originalEvent;if(!e)
+return;if(e.stopPropagation)
+e.stopPropagation();e.cancelBubble=true;},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=returnTrue;this.stopPropagation();},isDefaultPrevented:returnFalse,isPropagationStopped:returnFalse,isImmediatePropagationStopped:returnFalse};var withinElement=function(event){var parent=event.relatedTarget;while(parent&&parent!=this)
+try{parent=parent.parentNode;}
+catch(e){parent=this;}
+if(parent!=this){event.type=event.data;jQuery.event.handle.apply(this,arguments);}};jQuery.each({mouseover:'mouseenter',mouseout:'mouseleave'},function(orig,fix){jQuery.event.special[fix]={setup:function(){jQuery.event.add(this,orig,withinElement,fix);},teardown:function(){jQuery.event.remove(this,orig,withinElement);}};});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){var one=jQuery.event.proxy(fn||data,function(event){jQuery(this).unbind(event,one);return(fn||data).apply(this,arguments);});return this.each(function(){jQuery.event.add(this,type,one,fn&&data);});},unbind:function(type,fn){return this.each(function(){jQuery.event.remove(this,type,fn);});},trigger:function(type,data){return this.each(function(){jQuery.event.trigger(type,data,this);});},triggerHandler:function(type,data){if(this[0]){var event=jQuery.Event(type);event.preventDefault();event.stopPropagation();jQuery.event.trigger(event,data,this[0]);return event.result;}},toggle:function(fn){var args=arguments,i=1;while(i<args.length)
+jQuery.event.proxy(fn,args[i++]);return this.click(jQuery.event.proxy(fn,function(event){this.lastToggle=(this.lastToggle||0)%i;event.preventDefault();return args[this.lastToggle++].apply(this,arguments)||false;}));},hover:function(fnOver,fnOut){return this.mouseenter(fnOver).mouseleave(fnOut);},ready:function(fn){bindReady();if(jQuery.isReady)
+fn.call(document,jQuery);else
+jQuery.readyList.push(fn);return this;},live:function(type,fn){var proxy=jQuery.event.proxy(fn);proxy.guid+=this.selector+type;jQuery(document).bind(liveConvert(type,this.selector),this.selector,proxy);return this;},die:function(type,fn){jQuery(document).unbind(liveConvert(type,this.selector),fn?{guid:fn.guid+this.selector+type}:null);return this;}});function liveHandler(event){var check=RegExp("(^|\\.)"+event.type+"(\\.|$)"),stop=true,elems=[];jQuery.each(jQuery.data(this,"events").live||[],function(i,fn){if(check.test(fn.type)){var elem=jQuery(event.target).closest(fn.data)[0];if(elem)
+elems.push({elem:elem,fn:fn});}});elems.sort(function(a,b){return jQuery.data(a.elem,"closest")-jQuery.data(b.elem,"closest");});jQuery.each(elems,function(){if(this.fn.call(this.elem,event,this.fn.data)===false)
+return(stop=false);});return stop;}
+function liveConvert(type,selector){return["live",type,selector.replace(/\./g,"`").replace(/ /g,"|")].join(".");}
+jQuery.extend({isReady:false,readyList:[],ready:function(){if(!jQuery.isReady){jQuery.isReady=true;if(jQuery.readyList){jQuery.each(jQuery.readyList,function(){this.call(document,jQuery);});jQuery.readyList=null;}
+jQuery(document).triggerHandler("ready");}}});var readyBound=false;function bindReady(){if(readyBound)return;readyBound=true;if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);jQuery.ready();},false);}else if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);jQuery.ready();}});if(document.documentElement.doScroll&&window==window.top)(function(){if(jQuery.isReady)return;try{document.documentElement.doScroll("left");}catch(error){setTimeout(arguments.callee,0);return;}
+jQuery.ready();})();}
+jQuery.event.add(window,"load",jQuery.ready);}
+jQuery.each(("blur,focus,load,resize,scroll,unload,click,dblclick,"+"mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,"+"change,select,submit,keydown,keypress,keyup,error").split(","),function(i,name){jQuery.fn[name]=function(fn){return fn?this.bind(name,fn):this.trigger(name);};});jQuery(window).bind('unload',function(){for(var id in jQuery.cache)
+if(id!=1&&jQuery.cache[id].handle)
+jQuery.event.remove(jQuery.cache[id].handle.elem);});(function(){jQuery.support={};var root=document.documentElement,script=document.createElement("script"),div=document.createElement("div"),id="script"+(new Date).getTime();div.style.display="none";div.innerHTML='   <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';var all=div.getElementsByTagName("*"),a=div.getElementsByTagName("a")[0];if(!all||!all.length||!a){return;}
+jQuery.support={leadingWhitespace:div.firstChild.nodeType==3,tbody:!div.getElementsByTagName("tbody").length,objectAll:!!div.getElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSerialize:!!div.getElementsByTagName("link").length,style:/red/.test(a.getAttribute("style")),hrefNormalized:a.getAttribute("href")==="/a",opacity:a.style.opacity==="0.5",cssFloat:!!a.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};script.type="text/javascript";try{script.appendChild(document.createTextNode("window."+id+"=1;"));}catch(e){}
+root.insertBefore(script,root.firstChild);if(window[id]){jQuery.support.scriptEval=true;delete window[id];}
+root.removeChild(script);if(div.attachEvent&&div.fireEvent){div.attachEvent("onclick",function(){jQuery.support.noCloneEvent=false;div.detachEvent("onclick",arguments.callee);});div.cloneNode(true).fireEvent("onclick");}
+jQuery(function(){var div=document.createElement("div");div.style.width=div.style.paddingLeft="1px";document.body.appendChild(div);jQuery.boxModel=jQuery.support.boxModel=div.offsetWidth===2;document.body.removeChild(div).style.display='none';});})();var styleFloat=jQuery.support.cssFloat?"cssFloat":"styleFloat";jQuery.props={"for":"htmlFor","class":"className","float":styleFloat,cssFloat:styleFloat,styleFloat:styleFloat,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};jQuery.fn.extend({_load:jQuery.fn.load,load:function(url,params,callback){if(typeof url!=="string")
+return this._load(url);var off=url.indexOf(" ");if(off>=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}
+var type="GET";if(params)
+if(jQuery.isFunction(params)){callback=params;params=null;}else if(typeof params==="object"){params=jQuery.param(params);type="POST";}
+var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified")
+self.html(selector?jQuery("<div/>").append(res.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(selector):res.responseText);if(callback)
+self.each(callback,[res.responseText,status,res]);}});return this;},serialize:function(){return jQuery.param(this.serializeArray());},serializeArray:function(){return this.map(function(){return this.elements?jQuery.makeArray(this.elements):this;}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type));}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:jQuery.isArray(val)?jQuery.map(val,function(val,i){return{name:elem.name,value:val};}):{name:elem.name,value:val};}).get();}});jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=now();jQuery.extend({get:function(url,data,callback,type){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:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(s){s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));var jsonp,jsre=/=\?(&|$)/g,status,data,type=s.type.toUpperCase();if(s.data&&s.processData&&typeof s.data!=="string")
+s.data=jQuery.param(s.data);if(s.dataType=="jsonp"){if(type=="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";}
+if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++;if(s.data)
+s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";window[jsonp]=function(tmp){data=tmp;success();complete();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&&type=="GET"){var ts=now();var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"");}
+if(s.data&&type=="GET"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data;s.data=null;}
+if(s.global&&!jQuery.active++)
+jQuery.event.trigger("ajaxStart");var parts=/^(\w+:)?\/\/([^\/?#]+)/.exec(s.url);if(s.dataType=="script"&&type=="GET"&&parts&&(parts[1]&&parts[1]!=location.protocol||parts[2]!=location.host)){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=s.url;if(s.scriptCharset)
+script.charset=s.scriptCharset;if(!jsonp){var done=false;script.onload=script.onreadystatechange=function(){if(!done&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){done=true;success();complete();script.onload=script.onreadystatechange=null;head.removeChild(script);}};}
+head.appendChild(script);return undefined;}
+var requestDone=false;var xhr=s.xhr();if(s.username)
+xhr.open(type,s.url,s.async,s.username,s.password);else
+xhr.open(type,s.url,s.async);try{if(s.data)
+xhr.setRequestHeader("Content-Type",s.contentType);if(s.ifModified)
+xhr.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");xhr.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default);}catch(e){}
+if(s.beforeSend&&s.beforeSend(xhr,s)===false){if(s.global&&!--jQuery.active)
+jQuery.event.trigger("ajaxStop");xhr.abort();return false;}
+if(s.global)
+jQuery.event.trigger("ajaxSend",[xhr,s]);var onreadystatechange=function(isTimeout){if(xhr.readyState==0){if(ival){clearInterval(ival);ival=null;if(s.global&&!--jQuery.active)
+jQuery.event.trigger("ajaxStop");}}else if(!requestDone&&xhr&&(xhr.readyState==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival=null;}
+status=isTimeout=="timeout"?"timeout":!jQuery.httpSuccess(xhr)?"error":s.ifModified&&jQuery.httpNotModified(xhr,s.url)?"notmodified":"success";if(status=="success"){try{data=jQuery.httpData(xhr,s.dataType,s);}catch(e){status="parsererror";}}
+if(status=="success"){var modRes;try{modRes=xhr.getResponseHeader("Last-Modified");}catch(e){}
+if(s.ifModified&&modRes)
+jQuery.lastModified[s.url]=modRes;if(!jsonp)
+success();}else
+jQuery.handleError(s,xhr,status);complete();if(isTimeout)
+xhr.abort();if(s.async)
+xhr=null;}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout>0)
+setTimeout(function(){if(xhr&&!requestDone)
+onreadystatechange("timeout");},s.timeout);}
+try{xhr.send(s.data);}catch(e){jQuery.handleError(s,xhr,null,e);}
+if(!s.async)
+onreadystatechange();function success(){if(s.success)
+s.success(data,status);if(s.global)
+jQuery.event.trigger("ajaxSuccess",[xhr,s]);}
+function complete(){if(s.complete)
+s.complete(xhr,status);if(s.global)
+jQuery.event.trigger("ajaxComplete",[xhr,s]);if(s.global&&!--jQuery.active)
+jQuery.event.trigger("ajaxStop");}
+return xhr;},handleError:function(s,xhr,status,e){if(s.error)s.error(xhr,status,e);if(s.global)
+jQuery.event.trigger("ajaxError",[xhr,s,e]);},active:0,httpSuccess:function(xhr){try{return!xhr.status&&location.protocol=="file:"||(xhr.status>=200&&xhr.status<300)||xhr.status==304||xhr.status==1223;}catch(e){}
+return false;},httpNotModified:function(xhr,url){try{var xhrRes=xhr.getResponseHeader("Last-Modified");return xhr.status==304||xhrRes==jQuery.lastModified[url];}catch(e){}
+return false;},httpData:function(xhr,type,s){var ct=xhr.getResponseHeader("content-type"),xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0,data=xml?xhr.responseXML:xhr.responseText;if(xml&&data.documentElement.tagName=="parsererror")
+throw"parsererror";if(s&&s.dataFilter)
+data=s.dataFilter(data,type);if(typeof data==="string"){if(type=="script")
+jQuery.globalEval(data);if(type=="json")
+data=window["eval"]("("+data+")");}
+return data;},param:function(a){var s=[];function add(key,value){s[s.length]=encodeURIComponent(key)+'='+encodeURIComponent(value);};if(jQuery.isArray(a)||a.jquery)
+jQuery.each(a,function(){add(this.name,this.value);});else
+for(var j in a)
+if(jQuery.isArray(a[j]))
+jQuery.each(a[j],function(){add(j,this);});else
+add(j,jQuery.isFunction(a[j])?a[j]():a[j]);return s.join("&").replace(/%20/g,"+");}});var elemdisplay={},timerId,fxAttrs=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function genFx(type,num){var obj={};jQuery.each(fxAttrs.concat.apply([],fxAttrs.slice(0,num)),function(){obj[this]=type;});return obj;}
+jQuery.fn.extend({show:function(speed,callback){if(speed){return this.animate(genFx("show",3),speed,callback);}else{for(var i=0,l=this.length;i<l;i++){var old=jQuery.data(this[i],"olddisplay");this[i].style.display=old||"";if(jQuery.css(this[i],"display")==="none"){var tagName=this[i].tagName,display;if(elemdisplay[tagName]){display=elemdisplay[tagName];}else{var elem=jQuery("<"+tagName+" />").appendTo("body");display=elem.css("display");if(display==="none")
+display="block";elem.remove();elemdisplay[tagName]=display;}
+jQuery.data(this[i],"olddisplay",display);}}
+for(var i=0,l=this.length;i<l;i++){this[i].style.display=jQuery.data(this[i],"olddisplay")||"";}
+return this;}},hide:function(speed,callback){if(speed){return this.animate(genFx("hide",3),speed,callback);}else{for(var i=0,l=this.length;i<l;i++){var old=jQuery.data(this[i],"olddisplay");if(!old&&old!=="none")
+jQuery.data(this[i],"olddisplay",jQuery.css(this[i],"display"));}
+for(var i=0,l=this.length;i<l;i++){this[i].style.display="none";}
+return this;}},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){var bool=typeof fn==="boolean";return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle.apply(this,arguments):fn==null||bool?this.each(function(){var state=bool?fn:jQuery(this).is(":hidden");jQuery(this)[state?"show":"hide"]();}):this.animate(genFx("toggle",3),fn,fn2);},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(){var opt=jQuery.extend({},optall),p,hidden=this.nodeType==1&&jQuery(this).is(":hidden"),self=this;for(p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)
+return opt.complete.call(this);if((p=="height"||p=="width")&&this.style){opt.display=jQuery.css(this,"display");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";if(unit!="px"){self.style[name]=(end||1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit;}
+if(parts[1])
+end=((parts[1]=="-="?-1:1)*end)+start;e.custom(start,end,unit);}else
+e.custom(start,val,"");}});return true;});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue)
+this.queue([]);this.each(function(){for(var i=timers.length-1;i>=0;i--)
+if(timers[i].elem==this){if(gotoEnd)
+timers[i](true);timers.splice(i,1);}});if(!gotoEnd)
+this.dequeue();return this;}});jQuery.each({slideDown:genFx("show",1),slideUp:genFx("hide",1),slideToggle:genFx("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(name,props){jQuery.fn[name]=function(speed,callback){return this.animate(props,speed,callback);};});jQuery.extend({speed:function(speed,easing,fn){var opt=typeof speed==="object"?speed:{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&!jQuery.isFunction(easing)&&easing};opt.duration=jQuery.fx.off?0:typeof opt.duration==="number"?opt.duration:jQuery.fx.speeds[opt.duration]||jQuery.fx.speeds._default;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false)
+jQuery(this).dequeue();if(jQuery.isFunction(opt.old))
+opt.old.call(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:[],fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;if(!options.orig)
+options.orig={};}});jQuery.fx.prototype={update:function(){if(this.options.step)
+this.options.step.call(this.elem,this.now,this);(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style)
+this.elem.style.display="block";},cur:function(force){if(this.elem[this.prop]!=null&&(!this.elem.style||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;},custom:function(from,to,unit){this.startTime=now();this.start=from;this.end=to;this.unit=unit||this.unit||"px";this.now=this.start;this.pos=this.state=0;var self=this;function t(gotoEnd){return self.step(gotoEnd);}
+t.elem=this.elem;if(t()&&jQuery.timers.push(t)&&!timerId){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(timerId);timerId=undefined;}},13);}},show:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.show=true;this.custom(this.prop=="width"||this.prop=="height"?1:0,this.cur());jQuery(this.elem).show();},hide:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0);},step:function(gotoEnd){var t=now();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){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,"display")=="none")
+this.elem.style.display="block";}
+if(this.options.hide)
+jQuery(this.elem).hide();if(this.options.hide||this.options.show)
+for(var p in this.options.curAnim)
+jQuery.attr(this.elem.style,p,this.options.orig[p]);this.options.complete.call(this.elem);}
+return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;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);this.update();}
+return true;}};jQuery.extend(jQuery.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(fx){jQuery.attr(fx.elem.style,"opacity",fx.now);},_default:function(fx){if(fx.elem.style&&fx.elem.style[fx.prop]!=null)
+fx.elem.style[fx.prop]=fx.now+fx.unit;else
+fx.elem[fx.prop]=fx.now;}}});if(document.documentElement["getBoundingClientRect"])
+jQuery.fn.offset=function(){if(!this[0])return{top:0,left:0};if(this[0]===this[0].ownerDocument.body)return jQuery.offset.bodyOffset(this[0]);var box=this[0].getBoundingClientRect(),doc=this[0].ownerDocument,body=doc.body,docElem=doc.documentElement,clientTop=docElem.clientTop||body.clientTop||0,clientLeft=docElem.clientLeft||body.clientLeft||0,top=box.top+(self.pageYOffset||jQuery.boxModel&&docElem.scrollTop||body.scrollTop)-clientTop,left=box.left+(self.pageXOffset||jQuery.boxModel&&docElem.scrollLeft||body.scrollLeft)-clientLeft;return{top:top,left:left};};else
+jQuery.fn.offset=function(){if(!this[0])return{top:0,left:0};if(this[0]===this[0].ownerDocument.body)return jQuery.offset.bodyOffset(this[0]);jQuery.offset.initialized||jQuery.offset.initialize();var elem=this[0],offsetParent=elem.offsetParent,prevOffsetParent=elem,doc=elem.ownerDocument,computedStyle,docElem=doc.documentElement,body=doc.body,defaultView=doc.defaultView,prevComputedStyle=defaultView.getComputedStyle(elem,null),top=elem.offsetTop,left=elem.offsetLeft;while((elem=elem.parentNode)&&elem!==body&&elem!==docElem){computedStyle=defaultView.getComputedStyle(elem,null);top-=elem.scrollTop,left-=elem.scrollLeft;if(elem===offsetParent){top+=elem.offsetTop,left+=elem.offsetLeft;if(jQuery.offset.doesNotAddBorder&&!(jQuery.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(elem.tagName)))
+top+=parseInt(computedStyle.borderTopWidth,10)||0,left+=parseInt(computedStyle.borderLeftWidth,10)||0;prevOffsetParent=offsetParent,offsetParent=elem.offsetParent;}
+if(jQuery.offset.subtractsBorderForOverflowNotVisible&&computedStyle.overflow!=="visible")
+top+=parseInt(computedStyle.borderTopWidth,10)||0,left+=parseInt(computedStyle.borderLeftWidth,10)||0;prevComputedStyle=computedStyle;}
+if(prevComputedStyle.position==="relative"||prevComputedStyle.position==="static")
+top+=body.offsetTop,left+=body.offsetLeft;if(prevComputedStyle.position==="fixed")
+top+=Math.max(docElem.scrollTop,body.scrollTop),left+=Math.max(docElem.scrollLeft,body.scrollLeft);return{top:top,left:left};};jQuery.offset={initialize:function(){if(this.initialized)return;var body=document.body,container=document.createElement('div'),innerDiv,checkDiv,table,td,rules,prop,bodyMarginTop=body.style.marginTop,html='<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';rules={position:'absolute',top:0,left:0,margin:0,border:0,width:'1px',height:'1px',visibility:'hidden'};for(prop in rules)container.style[prop]=rules[prop];container.innerHTML=html;body.insertBefore(container,body.firstChild);innerDiv=container.firstChild,checkDiv=innerDiv.firstChild,td=innerDiv.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(checkDiv.offsetTop!==5);this.doesAddBorderForTableAndCells=(td.offsetTop===5);innerDiv.style.overflow='hidden',innerDiv.style.position='relative';this.subtractsBorderForOverflowNotVisible=(checkDiv.offsetTop===-5);body.style.marginTop='1px';this.doesNotIncludeMarginInBodyOffset=(body.offsetTop===0);body.style.marginTop=bodyMarginTop;body.removeChild(container);this.initialized=true;},bodyOffset:function(body){jQuery.offset.initialized||jQuery.offset.initialize();var top=body.offsetTop,left=body.offsetLeft;if(jQuery.offset.doesNotIncludeMarginInBodyOffset)
+top+=parseInt(jQuery.curCSS(body,'marginTop',true),10)||0,left+=parseInt(jQuery.curCSS(body,'marginLeft',true),10)||0;return{top:top,left:left};}};jQuery.fn.extend({position:function(){var left=0,top=0,results;if(this[0]){var offsetParent=this.offsetParent(),offset=this.offset(),parentOffset=/^body|html$/i.test(offsetParent[0].tagName)?{top:0,left:0}:offsetParent.offset();offset.top-=num(this,'marginTop');offset.left-=num(this,'marginLeft');parentOffset.top+=num(offsetParent,'borderTopWidth');parentOffset.left+=num(offsetParent,'borderLeftWidth');results={top:offset.top-parentOffset.top,left:offset.left-parentOffset.left};}
+return results;},offsetParent:function(){var offsetParent=this[0].offsetParent||document.body;while(offsetParent&&(!/^body|html$/i.test(offsetParent.tagName)&&jQuery.css(offsetParent,'position')=='static'))
+offsetParent=offsetParent.offsetParent;return jQuery(offsetParent);}});jQuery.each(['Left','Top'],function(i,name){var method='scroll'+name;jQuery.fn[method]=function(val){if(!this[0])return null;return val!==undefined?this.each(function(){this==window||this==document?window.scrollTo(!i?val:jQuery(window).scrollLeft(),i?val:jQuery(window).scrollTop()):this[method]=val;}):this[0]==window||this[0]==document?self[i?'pageYOffset':'pageXOffset']||jQuery.boxModel&&document.documentElement[method]||document.body[method]:this[0][method];};});jQuery.each(["Height","Width"],function(i,name){var tl=i?"Left":"Top",br=i?"Right":"Bottom",lower=name.toLowerCase();jQuery.fn["inner"+name]=function(){return this[0]?jQuery.css(this[0],lower,false,"padding"):null;};jQuery.fn["outer"+name]=function(margin){return this[0]?jQuery.css(this[0],lower,false,margin?"margin":"border"):null;};var type=name.toLowerCase();jQuery.fn[type]=function(size){return this[0]==window?document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(document.documentElement["client"+name],document.body["scroll"+name],document.documentElement["scroll"+name],document.body["offset"+name],document.documentElement["offset"+name]):size===undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,typeof size==="string"?size:size+"px");};});})();(function($){$.fn.ajaxSubmit=function(options){if(!this.length){log('ajaxSubmit: skipping submit process - no element selected');return this;}
+if(typeof options=='function')
+options={success:options};options=$.extend({url:this.attr('action')||window.location.toString(),type:this.attr('method')||'GET'},options||{});var veto={};this.trigger('form-pre-serialize',[this,options,veto]);if(veto.veto){log('ajaxSubmit: submit vetoed via form-pre-serialize trigger');return this;}
+var a=this.formToArray(options.semantic);if(options.data){options.extraData=options.data;for(var n in options.data)
+a.push({name:n,value:options.data[n]});}
+if(options.beforeSubmit&&options.beforeSubmit(a,this,options)===false){log('ajaxSubmit: submit aborted via beforeSubmit callback');return this;}
+this.trigger('form-submit-validate',[a,this,options,veto]);if(veto.veto){log('ajaxSubmit: submit vetoed via form-submit-validate trigger');return this;}
+var q=$.param(a);if(options.type.toUpperCase()=='GET'){options.url+=(options.url.indexOf('?')>=0?'&':'?')+q;options.data=null;}
+else
+options.data=q;var $form=this,callbacks=[];if(options.resetForm)callbacks.push(function(){$form.resetForm();});if(options.clearForm)callbacks.push(function(){$form.clearForm();});if(!options.dataType&&options.target){var oldSuccess=options.success||function(){};callbacks.push(function(data){$(options.target).html(data).each(oldSuccess,arguments);});}
+else if(options.success)
+callbacks.push(options.success);options.success=function(data,status){for(var i=0,max=callbacks.length;i<max;i++)
+callbacks[i](data,status,$form);};var files=$('input:file',this).fieldValue();var found=false;for(var j=0;j<files.length;j++)
+if(files[j])
+found=true;if(options.iframe||found){if($.browser.safari&&options.closeKeepAlive)
+$.get(options.closeKeepAlive,fileUpload);else
+fileUpload();}
+else
+$.ajax(options);this.trigger('form-submit-notify',[this,options]);return this;function fileUpload(){var form=$form[0];if($(':input[@name=submit]',form).length){alert('Error: Form elements must not be named "submit".');return;}
+var opts=$.extend({},$.ajaxSettings,options);var id='jqFormIO'+(new Date().getTime());var $io=$('<iframe id="'+id+'" name="'+id+'" />');var io=$io[0];if($.browser.msie||$.browser.opera)
+io.src='javascript:false;document.write("");';$io.css({position:'absolute',top:'-1000px',left:'-1000px'});var xhr={responseText:null,responseXML:null,status:0,statusText:'n/a',getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){}};var g=opts.global;if(g&&!$.active++)$.event.trigger("ajaxStart");if(g)$.event.trigger("ajaxSend",[xhr,opts]);var cbInvoked=0;var timedOut=0;var sub=form.clk;if(sub){var n=sub.name;if(n&&!sub.disabled){options.extraData=options.extraData||{};options.extraData[n]=sub.value;if(sub.type=="image"){options.extraData[name+'.x']=form.clk_x;options.extraData[name+'.y']=form.clk_y;}}}
+setTimeout(function(){var t=$form.attr('target'),a=$form.attr('action');$form.attr({target:id,encoding:'multipart/form-data',enctype:'multipart/form-data',method:'POST',action:opts.url});if(opts.timeout)
+setTimeout(function(){timedOut=true;cb();},opts.timeout);var extraInputs=[];try{if(options.extraData)
+for(var n in options.extraData)
+extraInputs.push($('<input type="hidden" name="'+n+'" value="'+options.extraData[n]+'" />').appendTo(form)[0]);$io.appendTo('body');io.attachEvent?io.attachEvent('onload',cb):io.addEventListener('load',cb,false);form.submit();}
+finally{$form.attr('action',a);t?$form.attr('target',t):$form.removeAttr('target');$(extraInputs).remove();}},10);function cb(){if(cbInvoked++)return;io.detachEvent?io.detachEvent('onload',cb):io.removeEventListener('load',cb,false);var operaHack=0;var ok=true;try{if(timedOut)throw'timeout';var data,doc;doc=io.contentWindow?io.contentWindow.document:io.contentDocument?io.contentDocument:io.document;if(doc.body==null&&!operaHack&&$.browser.opera){operaHack=1;cbInvoked--;setTimeout(cb,100);return;}
+xhr.responseText=doc.body?doc.body.innerHTML:null;xhr.responseXML=doc.XMLDocument?doc.XMLDocument:doc;xhr.getResponseHeader=function(header){var headers={'content-type':opts.dataType};return headers[header];};if(opts.dataType=='json'||opts.dataType=='script'){var ta=doc.getElementsByTagName('textarea')[0];xhr.responseText=ta?ta.value:xhr.responseText;}
+else if(opts.dataType=='xml'&&!xhr.responseXML&&xhr.responseText!=null){xhr.responseXML=toXml(xhr.responseText);}
+data=$.httpData(xhr,opts.dataType);}
+catch(e){ok=false;$.handleError(opts,xhr,'error',e);}
+if(ok){opts.success(data,'success');if(g)$.event.trigger("ajaxSuccess",[xhr,opts]);}
+if(g)$.event.trigger("ajaxComplete",[xhr,opts]);if(g&&!--$.active)$.event.trigger("ajaxStop");if(opts.complete)opts.complete(xhr,ok?'success':'error');setTimeout(function(){$io.remove();xhr.responseXML=null;},100);};function toXml(s,doc){if(window.ActiveXObject){doc=new ActiveXObject('Microsoft.XMLDOM');doc.async='false';doc.loadXML(s);}
+else
+doc=(new DOMParser()).parseFromString(s,'text/xml');return(doc&&doc.documentElement&&doc.documentElement.tagName!='parsererror')?doc:null;};};};$.fn.ajaxForm=function(options){return this.ajaxFormUnbind().bind('submit.form-plugin',function(){$(this).ajaxSubmit(options);return false;}).each(function(){$(":submit,input:image",this).bind('click.form-plugin',function(e){var $form=this.form;$form.clk=this;if(this.type=='image'){if(e.offsetX!=undefined){$form.clk_x=e.offsetX;$form.clk_y=e.offsetY;}else if(typeof $.fn.offset=='function'){var offset=$(this).offset();$form.clk_x=e.pageX-offset.left;$form.clk_y=e.pageY-offset.top;}else{$form.clk_x=e.pageX-this.offsetLeft;$form.clk_y=e.pageY-this.offsetTop;}}
+setTimeout(function(){$form.clk=$form.clk_x=$form.clk_y=null;},10);});});};$.fn.ajaxFormUnbind=function(){this.unbind('submit.form-plugin');return this.each(function(){$(":submit,input:image",this).unbind('click.form-plugin');});};$.fn.formToArray=function(semantic){var a=[];if(this.length==0)return a;var form=this[0];var els=semantic?form.getElementsByTagName('*'):form.elements;if(!els)return a;for(var i=0,max=els.length;i<max;i++){var el=els[i];var n=el.name;if(!n)continue;if(semantic&&form.clk&&el.type=="image"){if(!el.disabled&&form.clk==el)
+a.push({name:n+'.x',value:form.clk_x},{name:n+'.y',value:form.clk_y});continue;}
+var v=$.fieldValue(el,true);if(v&&v.constructor==Array){for(var j=0,jmax=v.length;j<jmax;j++)
+a.push({name:n,value:v[j]});}
+else if(v!==null&&typeof v!='undefined')
+a.push({name:n,value:v});}
+if(!semantic&&form.clk){var inputs=form.getElementsByTagName("input");for(var i=0,max=inputs.length;i<max;i++){var input=inputs[i];var n=input.name;if(n&&!input.disabled&&input.type=="image"&&form.clk==input)
+a.push({name:n+'.x',value:form.clk_x},{name:n+'.y',value:form.clk_y});}}
+return a;};$.fn.formSerialize=function(semantic){return $.param(this.formToArray(semantic));};$.fn.fieldSerialize=function(successful){var a=[];this.each(function(){var n=this.name;if(!n)return;var v=$.fieldValue(this,successful);if(v&&v.constructor==Array){for(var i=0,max=v.length;i<max;i++)
+a.push({name:n,value:v[i]});}
+else if(v!==null&&typeof v!='undefined')
+a.push({name:this.name,value:v});});return $.param(a);};$.fn.fieldValue=function(successful){for(var val=[],i=0,max=this.length;i<max;i++){var el=this[i];var v=$.fieldValue(el,successful);if(v===null||typeof v=='undefined'||(v.constructor==Array&&!v.length))
+continue;v.constructor==Array?$.merge(val,v):val.push(v);}
+return val;};$.fieldValue=function(el,successful){var n=el.name,t=el.type,tag=el.tagName.toLowerCase();if(typeof successful=='undefined')successful=true;if(successful&&(!n||el.disabled||t=='reset'||t=='button'||(t=='checkbox'||t=='radio')&&!el.checked||(t=='submit'||t=='image')&&el.form&&el.form.clk!=el||tag=='select'&&el.selectedIndex==-1))
+return null;if(tag=='select'){var index=el.selectedIndex;if(index<0)return null;var a=[],ops=el.options;var one=(t=='select-one');var max=(one?index+1:ops.length);for(var i=(one?index:0);i<max;i++){var op=ops[i];if(op.selected){var v=$.browser.msie&&!(op.attributes['value'].specified)?op.text:op.value;if(one)return v;a.push(v);}}
+return a;}
+return el.value;};$.fn.clearForm=function(){return this.each(function(){$('input,select,textarea',this).clearFields();});};$.fn.clearFields=$.fn.clearInputs=function(){return this.each(function(){var t=this.type,tag=this.tagName.toLowerCase();if(t=='text'||t=='password'||tag=='textarea')
+this.value='';else if(t=='checkbox'||t=='radio')
+this.checked=false;else if(tag=='select')
+this.selectedIndex=-1;});};$.fn.resetForm=function(){return this.each(function(){if(typeof this.reset=='function'||(typeof this.reset=='object'&&!this.reset.nodeType))
+this.reset();});};$.fn.enable=function(b){if(b==undefined)b=true;return this.each(function(){this.disabled=!b});};$.fn.select=function(select){if(select==undefined)select=true;return this.each(function(){var t=this.type;if(t=='checkbox'||t=='radio')
+this.checked=select;else if(this.tagName.toLowerCase()=='option'){var $sel=$(this).parent('select');if(select&&$sel[0]&&$sel[0].type=='select-one'){$sel.find('option').select(false);}
+this.selected=select;}});};function log(){if($.fn.ajaxSubmit.debug&&window.console&&window.console.log)
+window.console.log('[jquery.form] '+Array.prototype.join.call(arguments,''));};})(jQuery);var TO_LOAD_INDEX=0;var TO_LOAD=new Array;var MARKITUP=false;var UNBIND=false;var GOTOAFTERSUBMIT='';$(function(){load_jquery();});function load_jquery(){if(UNBIND){if(MARKITUP){$("*").not(".markItUpButton").unbind();}else{$("*").unbind();}}
+UNBIND=true;$("a.submit").click(function(){$(this).parents("form").submit();if($(this).attr('href')!='#'){GOTOAFTERSUBMIT=$(this).attr('href');}
+return false;});$("a.submitOnce").click(function(){$(this).parents("form").submit();$(this).unbind('click');return false;});$("a.submitWait").click(function(){$(this).parents("form").after('<p class="center">'+$(this).attr('title')+'<br /><br /><img src="'+IMG_CUBE+'/loader.gif" /></p>');$(this).parents("form").submit();$(this).parents("form").hide();return false;});$("form").submit(function(){$(this).attr('change','0');return true;});$("form.blank").each(function(){$(this).attr('target','_blank');$(this).removeClass('_blank');});$("form").not(".notajax").submit(function(){display_loader();$(this).ajaxSubmit({url:SITE_PATH+'ajax/'+$(this).attr('action'),success:function(data){MyAjax(data);if(GOTOAFTERSUBMIT!=''){window.location=GOTOAFTERSUBMIT;GOTOAFTERSUBMIT='';}}});return false;});$(".notajax form").unbind();$("form.submitonchange :input").each(function(){$(this).one('change',function(){$(this).parents("form").submit();});});$(":input").change(function(){$(this).parents("form").attr("change",1);});$("a.ajax").click(function(){var title=$(this).attr('title');var href=$(this).attr('rel');if(title!=''&&title!=undefined&&title.search(/\?/)>-1){if(!window.confirm(title)){return false;}}
+if($(this).hasClass('wait')){wait();}
+display_loader();$.ajax({url:SITE_PATH+'ajax/'+href,success:function(data){MyAjax(data);}});return false;});$("a.dajax").dblclick(function(){var title=$(this).attr('title');var href=$(this).attr('rel');if(title!=''&&title!=undefined&&title.search(/\?/)>=0){if(!window.confirm(title)){return false;}}
+display_loader();$.ajax({url:SITE_PATH+'ajax/'+href,success:function(data){MyAjax(data);}});return false;});$("a.ajaxh").click(function(){var title=$(this).attr('title');var href=$(this).attr('href');if(title!=''&&title!=undefined&&title.search(/\?/)>=0){if(!window.confirm(title)){return false;}}
+display_loader();$.ajax({url:href,success:function(data){MyAjax(data);}});return false;});$("a.prompt").click(function(){var href=$(this).attr('rel');var defaut=$(this).attr('rev');var name=window.prompt($(this).attr('title'),defaut);if(name==null||name=='null'||name==''){return false;}
+display_loader();$.ajax({url:SITE_PATH+'ajax/'+href+'?var='+name,success:function(data){MyAjax(data);}});return false;});$("a.closePopup").click(function(){closePopup($(this),true);return false;});$("a.closePopupNotConfirm").click(function(){closePopup($(this),false);return false;});$("a.popup").click(function(){display_loader();$.ajax({url:SITE_PATH+'ajax/'+$(this).attr('rel'),dataType:'responseText',success:function(data){createPopup(data);}});remove_loader();return false;});$("a.changepopup").click(function(){display_loader();$.ajax({url:SITE_PATH+'ajax/'+$(this).attr('rel'),dataType:'responseText',success:function(data){changepopup(data);load_jquery();}});remove_loader();return false;});$("a.blank").click(function(){$(this).attr('target','_blank');return true;});$("a.nothing").click(function(){return false;});$(".pemail").each(function(){var protected=$(this).text();var adresse=rot13(protected);$(this).text(adresse);$(this).attr('href','mailto:'+adresse);$(this).removeClass('pemail');});var len=TO_LOAD.length;for(var i=0;i<len;i++){eval(TO_LOAD[i]);}
+__fixPNG();if($("#jquery_time").length>0&&$("#jquery_time").text()==''){var E=new Date();var m=(parseInt(E-S)/1000).toString().replace('.',',');$("#jquery_time").text(m);}}
+function randval(min,max){var diff=max-min;return Math.round(Math.random()*diff)+diff;}
+function rot(t,u,v){return String.fromCharCode(((t-u+v)%(v*2))+u);}
+function rot13(s){var b=[],c,i=s.length,a='a'.charCodeAt(),z=a+26,A='A'.charCodeAt(),Z=A+26;while(i--){c=s.charCodeAt(i);if(c>=a&&c<z){b[i]=rot(c,a,13);}else if(c>=A&&c<Z){b[i]=rot(c,A,13);}else{b[i]=s.charAt(i);}}
+return b.join('');}
+function createPopup(data){POPUP_COUNTER=parseInt(POPUP_COUNTER);$("body").append('<div id="pl_'+POPUP_COUNTER+'" class="popupLayer"><div class="popupOverlay" id="po_'+POPUP_COUNTER+'" style="z-index:'+(1000+POPUP_COUNTER*2)+';"></div><div id="pw_'+POPUP_COUNTER+'" class="popupWindow" style="z-index:'+(1001+POPUP_COUNTER*2)+';"></div></div>');$("#po_"+POPUP_COUNTER).css('opacity',0.65);$("#po_"+POPUP_COUNTER).css('display','block');$("#pw_"+POPUP_COUNTER).html(data);$("#pw_"+POPUP_COUNTER).show();popup_dimensions(POPUP_COUNTER);load_jquery();POPUP_COUNTER+=1;}
+function closePopup(object,confirm){if(object==undefined||object==null){var i=$(".popupLayer").length-1;var elements=$(".popupLayer").get();var e=elements[i];var changes=false;$(this).find("form").each(function(){if($(this).attr("change")==1){changes=true;}});if(confirm==false||(changes==true&&window.confirm(CONFIRM_CLOSE))||changes==false){$(e).remove();POPUP_COUNTER-=1;popup_dimensions();}}else{$(object).parents(".popupLayer").each(function(){var changes=false;$(this).find("form").each(function(){if($(this).attr("change")==1){changes=true;}});if(confirm==false||(changes==true&&window.confirm(CONFIRM_CLOSE))||changes==false){$(this).remove();POPUP_COUNTER-=1;popup_dimensions();}});}}
+function popup_dimensions(i){if(i==undefined){i=POPUP_COUNTER-1;}
+if(i<0){return;}
+var margin=30;var mh=$(window).height()-(margin*2);if(!$.browser.msie){$("#pw_"+i).css("opacity",0);}
+$("#pw_"+i+" .c>div").css("overflow-y",'auto');$("#pw_"+i+" .c>div").css("overflow-x",'visible');$("#pw_"+i+" .c>div").css("max-height",mh);$("#pw_"+i).css("left",($(window).width()-$("#pw_"+i).width())/2);if($("#pw_"+i+" .c>div").attr('top')){$("#pw_"+i).css("top",parseInt($("#pw_"+i+" .c>div").attr('top')));}else{var top=(mh-$("#pw_"+i).height())/2+margin;$("#pw_"+i).css("top",top);}
+if(!$.browser.msie){$("#pw_"+i).css("opacity",1);}}
+function changepopup(data){var pc=POPUP_COUNTER-1;$("#pw_"+pc).html(data);popup_dimensions(pc);}
+function checkUpload(){if($.browser.msie){var iframe=uploadIframe.document;}else{var uploadIframe=document.getElementById('uploadIframe');var iframe=uploadIframe.contentDocument;}
+if(iframe.getElementById('status')!=undefined&&iframe.contentDocument.getElementById('status').innerHTML!=undefined){clearInterval(INTERVAL);$.ajax({url:UPDATE,success:function(data){MyAjax(data);}});if(iframe.getElementById('status').innerHTML!='ok'){window.alert(ERREUR_FICHIER+' : \n'+iframe.getElementById('status').innerHTML);}
+if(POPUP_COUNTER>0){closePopup(null,false);}
+$("#uploadIframe").remove();}}
+function isSet(i){return(i==null||i=='null'||i==''||i=='undefined');}
+function callAjaxSwf(urlLink){$.ajax({url:urlLink,success:function(data){MyAjax(data);}});}
+function swfAjax(data){MyAjax(strToXML(data));}
+function MyAjax(data,reload){var error=new Array();var confirmation='';var ok=true;var t=$(data).children('rsp').children().get();for(var i=0;i<t.length;i++){var e=t[i];var name=e.nodeName;if(name=='confirmation'){var contentconfirm=$(e).text();confirmation+="<p>"+contentconfirm+"</p>";}else if(name=='error'){var errors=$(e).children().get();for(var j=0;j<errors.length;j++){var err=errors[j];var ename=err.nodeName;var econtent=$(err).text();$("#"+ename).addClass('error');$("#"+ename).val('');error.push(econtent);ok=false;}}else if(name=='content'){var contents=$(e).children().get();for(var k=0;k<contents.length;k++){var content=contents[k];var cname=content.nodeName;var ccontent=$(content).text();if(ccontent==''){$("#"+cname).html(ccontent);}else{$("#"+cname).html(ccontent);}
+if(POPUP_COUNTER-1>=0){popup_dimensions(POPUP_COUNTER-1);}}}else if(name=='replace'){var contents=$(e).children().get();for(var k=0;k<contents.length;k++){var content=contents[k];var cname=content.nodeName;var ccontent=$(content).text();if(ccontent==''){$("#"+cname).replaceWith(ccontent);}else{$("#"+cname).replaceWith(ccontent);}
+if(POPUP_COUNTER-1>=0){popup_dimensions(POPUP_COUNTER-1);}}}else if(name=='append'){var contents=$(e).children().get();for(var k=0;k<contents.length;k++){var content=contents[k];var cname=content.nodeName;var ccontent=$(content).text();if(ccontent==''){$("#"+cname).append(ccontent);}else{$("#"+cname).append(ccontent);}
+if(POPUP_COUNTER-1>=0){popup_dimensions(POPUP_COUNTER-1);}}}else if(name=='param'){var ids=$(e).children().get();for(var p=0;p<ids.length;p++){var id=ids[p];var idname=id.nodeName;var params=$(id).children().get();var o={};for(var q=0;q<params.length;q++){var param=params[q];var paramname=param.nodeName;var paramcontent=$(param).text();o[paramname]=paramcontent;}
+$("#"+idname).attr(o);$("#"+idname).parents("form").unbind('submit');}}else if(name=='alert'){var alerts=$(e).children().get();for(var r=0;r<alerts.length;r++){var alert=alerts[r];var acontent=$(alert).text();window.alert(acontent);}}else if(name=='ok'){var oks=$(e).children().get();for(var l=0;l<oks.length;l++){var ok=oks[l];var oname=ok.nodeName.toLowerCase();$("#"+oname).removeClass('error');}}else if(name=='redirection'){var url=$(e).text();window.location=url;}else if(name=='show'){var oks=$(e).children().get();for(var l=0;l<oks.length;l++){var ok=oks[l];var oname=ok.nodeName;$("#"+oname).show('fast');}}else if(name=='debug'){}else if(name=='eval'){var codes=$(e).children().get();for(var r=0;r<codes.length;r++){var code=codes[r];eval($(code).text());}}else if(name=='closepopup'){var closes=$(e).children().get();for(var cp=0;cp<closes.length;cp++){closePopup(null,false);}}else if(name=='openpopup'){var opens=$(e).children().get();for(var op=0;op<opens.length;op++){var cont=opens[op];createPopup($(cont).text());}}else if(name=='changepopup'){var changes=$(e).children().get();for(var cp=0;cp<changes.length;cp++){var cont=changes[cp];changepopup($(cont).text());}}
+else if(name=='popupdimensions'){popup_dimensions();}
+else if(name=='truepopup'){var trues=$(e).children().get();for(var tp=0;tp<trues.length;tp++){var cont=trues[tp];truePopup($(cont).text());}}else if(name=='timer'){var time=parseInt($(e).text());var t=setTimeout("doNothing()",time);}else if(name=='value'){var values=$(e).children().get();for(var v=0;v<values.length;v++){var node=values[v];var oname=node.nodeName;var val=$("#"+oname).val($(node).text());}}}
+if(error.length>0){$("#message").html(error.join('<br />'));}else{$("#message").html('');}
+if(confirmation!=''){$("#confirmation").html(confirmation);$("#confirmation").animate({height:26,opacity:1},2000,function(){$("#confirmation").fadeTo(10000,1,function(){$("#confirmation").animate({height:0,opacity:0},2000);$("#confirmation").empty();});});}
+if(reload==true||reload==undefined){load_jquery();}
+remove_loader();return ok;}
+function truePopup(url){var rand=Math.round(Math.random()*200);window.open(url,'Popup'+rand,'width='+window.width+',height='+window.height);}
+function _fixPNG(){var png;var images=$('img[src*="png"]:not([fixed="fixed"])');images.each(function(){png=$(this).attr('src');$(this).attr('src',IMG_CUBE+'/spacer.gif');$(this).css('filter',"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+png+"')");$(this).attr('fixed','fixed');});}
+function __fixPNG(){if($.browser.msie&&parseInt(navigator.userAgent.match(/MSIE (\d+(?:\.\d+)+(?:b\d*)?)/)[1])<=6){_fixPNG();}}
+function getWindowHeight(){var windowHeight=0;if(typeof(window.innerHeight)=='number'){windowHeight=window.innerHeight;}
+else{if(document.documentElement&&document.documentElement.clientHeight){windowHeight=document.documentElement.clientHeight;}
+else{if(document.body&&document.body.clientHeight){windowHeight=document.body.clientHeight;}}}
+return windowHeight;}
+function getWindowWidth(){var myWidth=0;if(typeof(window.innerWidth)=='number'){myWidth=window.innerWidth;}
+else if(document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight)){myWidth=document.documentElement.clientWidth;}
+else if(document.body&&(document.body.clientWidth||document.body.clientHeight)){myWidth=document.body.clientWidth;}
+return myWidth;}
+function doNothing(){}
+function htmlEditorGetText(id){var text=document.getElementById(id).value;return'<TEXTFORMAT LEADING="2"><P ALIGN="LEFT">'+text+'</P></TEXTFORMAT>';}
+function htmlEditorPutText(id,text){document.getElementById(id).value=text;}
+function display_loader(){if(LOADER_AJAX==''){}else{$("body").append('<div id="loader"><img src="'+LOADER_AJAX+'" /></div>');}}
+function remove_loader(){if(LOADER_AJAX==''){}else{$("#loader").remove();}}
+function URLEncode(clearString){var output='';var x=0;clearString=clearString.toString();var regex=/(^[a-zA-Z0-9_.]*)/;while(x<clearString.length){var match=regex.exec(clearString.substr(x));if(match!=null&&match.length>1&&match[1]!=''){output+=match[1];x+=match[1].length;}else{if(clearString[x]==' ')
+output+='+';else{var charCode=clearString.charCodeAt(x);var hexVal=charCode.toString(16);output+='%'+(hexVal.length<2?'0':'')+hexVal.toUpperCase();}
+x++;}}
+return output;}
+function strToXML(str){var contentType='application/xml';if(typeof(DOMParser)!='undefined'){return(new DOMParser()).parseFromString(str.substr(0,4095),contentType);}else if(typeof(ActiveXObject)!='undefined'){var xmldata=new ActiveXObject('MSXML.DomDocument');xmldata.async=false;xmldata.loadXML(str);return xmldata;}else if(typeof(XMLHttpRequest)!='undefined'){var xmldata=new XMLHttpRequest;if(!contentType){contentType='application/xml';}
+xmldata.open('GET','data:'+contentType+';charset=utf-8,'+encodeURIComponent(str),false);if(xmldata.overrideMimeType){xmldata.overrideMimeType(contentType);}
+xmldata.send(null);return xmldata.responseXML;}}
+if(typeof deconcept=="undefined"){var deconcept=new Object();}if(typeof deconcept.util=="undefined"){deconcept.util=new Object();}if(typeof deconcept.SWFObjectUtil=="undefined"){deconcept.SWFObjectUtil=new Object();}deconcept.SWFObject=function(_1,id,w,h,_5,c,_7,_8,_9,_a){if(!document.getElementById){return;}this.DETECT_KEY=_a?_a:"detectflash";this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY);this.params=new Object();this.variables=new Object();this.attributes=new Array();if(_1){this.setAttribute("swf",_1);}if(id){this.setAttribute("id",id);}if(w){this.setAttribute("width",w);}if(h){this.setAttribute("height",h);}if(_5){this.setAttribute("version",new deconcept.PlayerVersion(_5.toString().split(".")));}this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion();if(!window.opera&&document.all&&this.installedVer.major>7){deconcept.SWFObject.doPrepUnload=true;}if(c){this.addParam("bgcolor",c);}var q=_7?_7:"high";this.addParam("quality",q);this.setAttribute("useExpressInstall",false);this.setAttribute("doExpressInstall",false);var _c=(_8)?_8:window.location;this.setAttribute("xiRedirectUrl",_c);this.setAttribute("redirectUrl","");if(_9){this.setAttribute("redirectUrl",_9);}};deconcept.SWFObject.prototype={useExpressInstall:function(_d){this.xiSWFPath=!_d?"expressinstall.swf":_d;this.setAttribute("useExpressInstall",true);},setAttribute:function(_e,_f){this.attributes[_e]=_f;},getAttribute:function(_10){return this.attributes[_10];},addParam:function(_11,_12){this.params[_11]=_12;},getParams:function(){return this.params;},addVariable:function(_13,_14){this.variables[_13]=_14;},getVariable:function(_15){return this.variables[_15];},getVariables:function(){return this.variables;},getVariablePairs:function(){var _16=new Array();var key;var _18=this.getVariables();for(key in _18){_16[_16.length]=key+"="+_18[key];}return _16;},getSWFHTML:function(){var _19="";if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","PlugIn");this.setAttribute("swf",this.xiSWFPath);}_19="<embed type=\"application/x-shockwave-flash\" src=\""+this.getAttribute("swf")+"\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+this.getAttribute("style")+"\"";_19+=" id=\""+this.getAttribute("id")+"\" name=\""+this.getAttribute("id")+"\" ";var _1a=this.getParams();for(var key in _1a){_19+=[key]+"=\""+_1a[key]+"\" ";}var _1c=this.getVariablePairs().join("&");if(_1c.length>0){_19+="flashvars=\""+_1c+"\"";}_19+="/>";}else{if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");this.setAttribute("swf",this.xiSWFPath);}_19="<object id=\""+this.getAttribute("id")+"\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+this.getAttribute("style")+"\">";_19+="<param name=\"movie\" value=\""+this.getAttribute("swf")+"\" />";var _1d=this.getParams();for(var key in _1d){_19+="<param name=\""+key+"\" value=\""+_1d[key]+"\" />";}var _1f=this.getVariablePairs().join("&");if(_1f.length>0){_19+="<param name=\"flashvars\" value=\""+_1f+"\" />";}_19+="</object>";}return _19;},write:function(_20){if(this.getAttribute("useExpressInstall")){var _21=new deconcept.PlayerVersion([6,0,65]);if(this.installedVer.versionIsValid(_21)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){this.setAttribute("doExpressInstall",true);this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl")));document.title=document.title.slice(0,47)+" - Flash Player Installation";this.addVariable("MMdoctitle",document.title);}}if(this.skipDetect||this.getAttribute("doExpressInstall")||this.installedVer.versionIsValid(this.getAttribute("version"))){var n=(typeof _20=="string")?document.getElementById(_20):_20;n.innerHTML=this.getSWFHTML();return true;}else{if(this.getAttribute("redirectUrl")!=""){document.location.replace(this.getAttribute("redirectUrl"));}}return false;}};deconcept.SWFObjectUtil.getPlayerVersion=function(){var _23=new deconcept.PlayerVersion([0,0,0]);if(navigator.plugins&&navigator.mimeTypes.length){var x=navigator.plugins["Shockwave Flash"];if(x&&x.description){_23=new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."));}}else{if(navigator.userAgent&&navigator.userAgent.indexOf("Windows CE")>=0){var axo=1;var _26=3;while(axo){try{_26++;axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+_26);_23=new deconcept.PlayerVersion([_26,0,0]);}catch(e){axo=null;}}}else{try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}catch(e){try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");_23=new deconcept.PlayerVersion([6,0,21]);axo.AllowScriptAccess="always";}catch(e){if(_23.major==6){return _23;}}try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");}catch(e){}}if(axo!=null){_23=new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));}}}return _23;};deconcept.PlayerVersion=function(_29){this.major=_29[0]!=null?parseInt(_29[0]):0;this.minor=_29[1]!=null?parseInt(_29[1]):0;this.rev=_29[2]!=null?parseInt(_29[2]):0;};deconcept.PlayerVersion.prototype.versionIsValid=function(fv){if(this.major<fv.major){return false;}if(this.major>fv.major){return true;}if(this.minor<fv.minor){return false;}if(this.minor>fv.minor){return true;}if(this.rev<fv.rev){return false;}return true;};deconcept.util={getRequestParameter:function(_2b){var q=document.location.search||document.location.hash;if(_2b==null){return q;}if(q){var _2d=q.substring(1).split("&");for(var i=0;i<_2d.length;i++){if(_2d[i].substring(0,_2d[i].indexOf("="))==_2b){return _2d[i].substring((_2d[i].indexOf("=")+1));}}}return"";}};deconcept.SWFObjectUtil.cleanupSWFs=function(){var _2f=document.getElementsByTagName("OBJECT");for(var i=_2f.length-1;i>=0;i--){_2f[i].style.display="none";for(var x in _2f[i]){if(typeof _2f[i][x]=="function"){_2f[i][x]=function(){};}}}};if(deconcept.SWFObject.doPrepUnload){if(!deconcept.unloadSet){deconcept.SWFObjectUtil.prepUnload=function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){};window.attachEvent("onunload",deconcept.SWFObjectUtil.cleanupSWFs);};window.attachEvent("onbeforeunload",deconcept.SWFObjectUtil.prepUnload);deconcept.unloadSet=true;}}if(!document.getElementById&&document.all){document.getElementById=function(id){return document.all[id];};}var getQueryParamValue=deconcept.util.getRequestParameter;var FlashObject=deconcept.SWFObject;var SWFObject=deconcept.SWFObject;TO_LOAD_INDEX++;TO_LOAD[TO_LOAD_INDEX]='load_extranet();';FIRST_LOAD=true;function load_extranet(){if($("#devisAdresse #client_nom").length){$("#devisAdresse #client_nom").autocomplete(SITE_PATH+'autocomplete/client',{cacheLength:0,maxItemsToShow:15,onFindValue:findClient,onItemSelect:findClient});}
+if($("#factureAdresse #projet_nom").length){$("#factureAdresse #projet_nom").autocomplete(SITE_PATH+'autocomplete/projet',{cacheLength:0,maxItemsToShow:15,onFindValue:findProjet,onItemSelect:findProjet});}
+if($(".dashboard").length>=1&&$("#dash").length>=1){$("#dash").sortable('destroy');if(FIRST_LOAD){FIRST_LOAD=false;}else{FIRST_LOAD=true;$.ajax({url:SITE_PATH+'ajax/reloadDashboards',success:function(data){MyAjax(data);}});}
+$("#dash").sortable({opacity:0.6,axis:"y",handle:".caption",stop:function(e,ui){$.ajax({url:SITE_PATH+'ajax/orderDashboards?'+$("#dash").sortable('serialize')});resize();}});}
+if($("#devisLignes").length>=1){$("#devisLignes").sortable('destroy');$("#devisLignes").sortable({opacity:0.6,axis:"y"});}
+$(".timereport_field").change(function(){var val=parseInt($(this).val());if(isNaN(val)){val=0;}
+var f=this;var id=$(this).attr('id');var a=id.split('_');$.ajax({url:SITE_PATH+'ajax/saveTimereport/'+a[1]+'/'+a[2]+'/'+val,success:function(data){FIRST_LOAD=true;MyAjax(data);var td=$(f).parents('td').get(0);if(parseFloat($(f).val())>0){$(td).addClass('filled');}else{$(td).removeClass('filled');}}});});$("#dash .toggle").click(function(){var rel=$(this).attr('rel');var div=$(this).parents('.dashboard').get(0);var liste=$(div).find('.liste');$(liste).slideToggle('fast',function(){resize();});$(this).toggleClass('close');$.ajax({url:SITE_PATH+'ajax/toggleDashboard/'+rel});return false;});$(".filtre .bt").click(function(){var ul=$(this).parent().parent().children('ul');$(ul).slideToggle('fast');return false;});$(".filtre ul").click(function(e){if(e.target.nodeName=='INPUT'||e.target.nodeName=='LABEL'){return true;}
+$(this).slideToggle('fast');});$(".filtre span").click(function(){var ul=$(this).parent().children('ul');$(ul).slideToggle('fast');});$(".filtre input").change(function(){var form=$(this).parents('form').get(0);var uls=$(form).find("ul");var divs=$(form).find(".input");var spans=$(form).find("span");var i,j,k,ul,lis,li,input,label,checked,div,titre,t,t1,allc,inputs;for(i=0;i<uls.length;i++){div=divs[i];titre=Array();ul=uls[i];lis=$(ul).children("li");allc=$(lis).get(0);checked=0;for(j=1;j<lis.length;j++){li=lis[j];input=$(li).find('input').get(0);label=$(li).find('label').get(0);if(input.checked){checked++;titre.push($(label).text());}}
+if(checked==0){$(div).find('span').text($(allc).text());$(div).find('a').attr('title',$(allc).text());$(div).removeClass('active');inputs=$(ul).find('input');for(k=0;k<inputs.length;k++){inputs[k].checked=true;}}else if(checked==lis.length-1){$(div).find('span').text($(allc).text());$(div).find('a').attr('title',$(allc).text());$(div).removeClass('active');}else{t=titre.join(', ');if(t.length>20){t1=t.substr(0,16)+'...';}else{t1=t;}
+$(div).find('span').text(t1);$(div).find('a').attr('title',t);$(div).addClass('active');}}
+return true;});$(window).resize(function(){resize();});resize();}
+function resize(){var allh=$("#header").height()+$("#footer").height()+$("#bar").height()+$("#main .content").height()+13+30;var h=Math.max($(window).height(),allh);var mh=h-$("#header").height()-$("#footer").height()-$("#bar").height()-30-13;mh=Math.max(mh,450);$("#main").css('height',mh);$(".swfPanel").css('height',mh-10);}
+function findClient(li){var client=li.selectValue.split(' - ');if(client.length<=1){return;}
+var client_id=parseInt(client[0]);$("#client").val(client_id);$.ajax({url:SITE_PATH+'ajax/getAdresseForDevis/'+client_id,success:function(data){MyAjax(data);}});}
+function findProjet(li){var projet=li.selectValue.split(' - ');if(projet.length<=1){return;}
+var projet_id=parseInt(projet[0]);$("#projet").val(projet_id);$.ajax({url:SITE_PATH+'ajax/getAdresseForFacture/'+projet_id,success:function(data){MyAjax(data);}});}
+function refreshFiles(){$.ajax({url:SITE_PATH+'ajax/refreshFichiers',success:function(data){MyAjax(data);}});}
\ No newline at end of file
diff --git a/js/merged-42e0d3.js b/js/merged-42e0d3.js
new file mode 100644 (file)
index 0000000..e29bc54
--- /dev/null
@@ -0,0 +1,506 @@
+
+(function(){var _jQuery=window.jQuery,_$=window.$;var jQuery=window.jQuery=window.$=function(selector,context){return new jQuery.fn.init(selector,context);};var quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/,isSimple=/^.[^:#\[\.]*$/,undefined;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;return this;}
+if(typeof selector=="string"){var match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1])
+selector=jQuery.clean([match[1]],context);else{var elem=document.getElementById(match[3]);if(elem){if(elem.id!=match[3])
+return jQuery().find(selector);return jQuery(elem);}
+selector=[];}}else
+return jQuery(context).find(selector);}else if(jQuery.isFunction(selector))
+return jQuery(document)[jQuery.fn.ready?"ready":"load"](selector);return this.setArray(jQuery.makeArray(selector));},jquery:"1.2.6",size:function(){return this.length;},length:0,get:function(num){return num==undefined?jQuery.makeArray(this):this[num];},pushStack:function(elems){var ret=jQuery(elems);ret.prevObject=this;return ret;},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elems);return this;},each:function(callback,args){return jQuery.each(this,callback,args);},index:function(elem){var ret=-1;return jQuery.inArray(elem&&elem.jquery?elem[0]:elem,this);},attr:function(name,value,type){var options=name;if(name.constructor==String)
+if(value===undefined)
+return this[0]&&jQuery[type||"attr"](this[0],name);else{options={};options[name]=value;}
+return this.each(function(i){for(name in options)
+jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name));});},css:function(key,value){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])
+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){var ret=this.map(function(){if(jQuery.browser.msie&&!jQuery.isXMLDoc(this)){var clone=this.cloneNode(true),container=document.createElement("div");container.appendChild(clone);return jQuery.clean([container.innerHTML])[0];}else
+return this.cloneNode(true);});var clone=ret.find("*").andSelf().each(function(){if(this[expando]!=undefined)
+this[expando]=null;});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 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)
+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 this.pushStack(jQuery.unique(jQuery.merge(this.get(),typeof selector=='string'?jQuery(selector):jQuery.makeArray(selector))));},is:function(selector){return!!selector&&jQuery.multiFilter(selector,this).length>0;},hasClass:function(selector){return this.is("."+selector);},val:function(value){if(value==undefined){if(this.length){var elem=this[0];if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";if(index<0)
+return null;for(var i=one?index:0,max=one?index+1:options.length;i<max;i++){var option=options[i];if(option.selected){value=jQuery.browser.msie&&!option.attributes.value.specified?option.text:option.value;if(one)
+return value;values.push(value);}}
+return values;}else
+return(this[0].value||"").replace(/\r/g,"");}
+return undefined;}
+if(value.constructor==Number)
+value+='';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=jQuery.makeArray(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[0]?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===undefined){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data===undefined&&this.length)
+data=jQuery.data(this[0],key);return data===undefined&&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;if(jQuery.nodeName(elem,"script"))
+scripts=scripts.add(elem);else{if(elem.nodeType==1)
+scripts=scripts.add(jQuery("script",elem).remove());callback.call(obj,elem);}});scripts.each(evalScript);});}};jQuery.fn.init.prototype=jQuery.fn;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);}
+function now(){return+new Date;}
+jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(target.constructor==Boolean){deep=target;target=arguments[1]||{};i=2;}
+if(typeof target!="object"&&typeof target!="function")
+target={};if(length==i){target=this;--i;}
+for(;i<length;i++)
+if((options=arguments[i])!=null)
+for(var name in options){var src=target[name],copy=options[name];if(target===copy)
+continue;if(deep&&copy&&typeof copy=="object"&&!copy.nodeType)
+target[name]=jQuery.extend(deep,src||(copy.length!=null?[]:{}),copy);else if(copy!==undefined)
+target[name]=copy;}
+return target;};var expando="jQuery"+now(),uuid=0,windowData={},exclude=/z-?index|font-?weight|opacity|zoom|line-?height/i,defaultView=document.defaultView||{};jQuery.extend({noConflict:function(deep){window.$=_$;if(deep)
+window.jQuery=_jQuery;return jQuery;},isFunction:function(fn){return!!fn&&typeof fn!="string"&&!fn.nodeName&&fn.constructor!=Array&&/^[\s[]?function/.test(fn+"");},isXMLDoc:function(elem){return elem.documentElement&&!elem.body||elem.tagName&&elem.ownerDocument&&!elem.ownerDocument.body;},globalEval:function(data){data=jQuery.trim(data);if(data){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.insertBefore(script,head.firstChild);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];if(!id)
+id=elem[expando]=++uuid;if(name&&!jQuery.cache[id])
+jQuery.cache[id]={};if(data!==undefined)
+jQuery.cache[id][name]=data;return name?jQuery.cache[id][name]:id;},removeData:function(elem,name){elem=elem==window?windowData:elem;var id=elem[expando];if(name){if(jQuery.cache[id]){delete jQuery.cache[id][name];name="";for(name in jQuery.cache[id])
+break;if(!name)
+jQuery.removeData(elem);}}else{try{delete elem[expando];}catch(e){if(elem.removeAttribute)
+elem.removeAttribute(expando);}
+delete jQuery.cache[id];}},each:function(object,callback,args){var name,i=0,length=object.length;if(args){if(length==undefined){for(name in object)
+if(callback.apply(object[name],args)===false)
+break;}else
+for(;i<length;)
+if(callback.apply(object[i++],args)===false)
+break;}else{if(length==undefined){for(name in object)
+if(callback.call(object[name],name,object[name])===false)
+break;}else
+for(var value=object[0];i<length&&callback.call(value,i,value)!==false;value=object[++i]){}}
+return object;},prop:function(elem,value,type,i,name){if(jQuery.isFunction(value))
+value=value.call(elem,i);return value&&value.constructor==Number&&type=="curCSS"&&!exclude.test(name)?value+"px":value;},className:{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;});},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(" "):"";},has:function(elem,className){return jQuery.inArray(className,(elem.className||elem).toString().split(/\s+/))>-1;}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}
+callback.call(elem);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,style=elem.style;function color(elem){if(!jQuery.browser.safari)
+return false;var ret=defaultView.getComputedStyle(elem,null);return!ret||ret.getPropertyValue("color")=="";}
+if(name=="opacity"&&jQuery.browser.msie){ret=jQuery.attr(style,"opacity");return ret==""?"1":ret;}
+if(jQuery.browser.opera&&name=="display"){var save=style.outline;style.outline="0 solid black";style.outline=save;}
+if(name.match(/float/i))
+name=styleFloat;if(!force&&style&&style[name])
+ret=style[name];else if(defaultView.getComputedStyle){if(name.match(/float/i))
+name="float";name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var computedStyle=defaultView.getComputedStyle(elem,null);if(computedStyle&&!color(elem))
+ret=computedStyle.getPropertyValue(name);else{var swap=[],stack=[],a=elem,i=0;for(;a&&color(a);a=a.parentNode)
+stack.unshift(a);for(;i<stack.length;i++)
+if(color(stack[i])){swap[i]=stack[i].style.display;stack[i].style.display="block";}
+ret=name=="display"&&swap[stack.length-1]!=null?"none":(computedStyle&&computedStyle.getPropertyValue(name))||"";for(i=0;i<swap.length;i++)
+if(swap[i]!=null)
+stack[i].style.display=swap[i];}
+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];if(!/^\d+(px)?$/i.test(ret)&&/^\d/.test(ret)){var left=style.left,rsLeft=elem.runtimeStyle.left;elem.runtimeStyle.left=elem.currentStyle.left;style.left=ret||0;ret=style.pixelLeft+"px";style.left=left;elem.runtimeStyle.left=rsLeft;}}
+return ret;},clean:function(elems,context){var ret=[];context=context||document;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+='';if(typeof elem=="string"){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+">";});var tags=jQuery.trim(elem).toLowerCase(),div=context.createElement("div");var wrap=!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>"]||(!tags.indexOf("<td")||!tags.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!tags.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||jQuery.browser.msie&&[1,"div<div>","</div>"]||[0,"",""];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--)
+div=div.lastChild;if(jQuery.browser.msie){var tbody=!tags.indexOf("<table")&&tags.indexOf("<tbody")<0?div.firstChild&&div.firstChild.childNodes: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]);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){if(!elem||elem.nodeType==3||elem.nodeType==8)
+return undefined;var notxml=!jQuery.isXMLDoc(elem),set=value!==undefined,msie=jQuery.browser.msie;name=notxml&&jQuery.props[name]||name;if(elem.tagName){var special=/href|src|style/.test(name);if(name=="selected"&&jQuery.browser.safari)
+elem.parentNode.selectedIndex;if(name in elem&&notxml&&!special){if(set){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)
+throw"type property can't be changed";elem[name]=value;}
+if(jQuery.nodeName(elem,"form")&&elem.getAttributeNode(name))
+return elem.getAttributeNode(name).nodeValue;return elem[name];}
+if(msie&&notxml&&name=="style")
+return jQuery.attr(elem.style,"cssText",value);if(set)
+elem.setAttribute(name,""+value);var attr=msie&&notxml&&special?elem.getAttribute(name,2):elem.getAttribute(name);return attr===null?undefined:attr;}
+if(msie&&name=="opacity"){if(set){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+
+(parseInt(value)+''=="NaN"?"":"alpha(opacity="+value*100+")");}
+return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100)+'':"";}
+name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(set)
+elem[name]=value;return elem[name];},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeArray:function(array){var ret=[];if(array!=null){var i=array.length;if(i==null||array.split||array.setInterval||array.call)
+ret[0]=array;else
+while(i)
+ret[--i]=array[i];}
+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){var i=0,elem,pos=first.length;if(jQuery.browser.msie){while(elem=second[i++])
+if(elem.nodeType!=8)
+first[pos++]=elem;}else
+while(elem=second[i++])
+first[pos++]=elem;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=[];for(var i=0,length=elems.length;i<length;i++)
+if(!inv!=!callback(elems[i],i))
+ret.push(elems[i]);return ret;},map:function(elems,callback){var ret=[];for(var i=0,length=elems.length;i<length;i++){var value=callback(elems[i],i);if(value!=null)
+ret[ret.length]=value;}
+return ret.concat.apply([],ret);}});var userAgent=navigator.userAgent.toLowerCase();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({boxModel:!jQuery.browser.msie||document.compatMode=="CSS1Compat",props:{"for":"htmlFor","class":"className","float":styleFloat,cssFloat:styleFloat,styleFloat:styleFloat,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing"}});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){jQuery("*",this).add(this).each(function(){jQuery.event.remove(this);jQuery.removeData(this);});if(this.parentNode)
+this.parentNode.removeChild(this);}},empty:function(){jQuery(">*",this).remove();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){return this[0]==window?jQuery.browser.opera&&document.body["client"+name]||jQuery.browser.safari&&window["inner"+name]||document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(Math.max(document.body["scroll"+name],document.documentElement["scroll"+name]),Math.max(document.body["offset"+name],document.documentElement["offset"+name])):size==undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,size.constructor==String?size:size+"px");};});function num(elem,prop){return elem[0]&&parseInt(jQuery.curCSS(elem[0],prop,true),10)||0;}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];},":":{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;},"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:function(a){return a.firstChild;},empty:function(a){return!a.firstChild;},contains:function(a,i,m){return(a.textContent||a.innerText||jQuery(a).text()||"").indexOf(m[3])>=0;},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";},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");},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:function(a,i,m){return jQuery.find(m[3],a).length;},header:function(a){return/h\d/i.test(a.nodeName);},animated:function(a){return jQuery.grep(jQuery.timers,function(fn){return a==fn.elem;}).length;}}},parse:[/^(\[) *@?([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/,/^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/,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){if(typeof t!="string")
+return[t];if(context&&context.nodeType!=1&&context.nodeType!=9)
+return[];context=context||document;var ret=[context],done=[],last,nodeName;while(t&&last!=t){var r=[];last=t;t=jQuery.trim(t);var foundToken=false,re=quickChild,m=re.exec(t);if(m){nodeName=m[1].toUpperCase();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;t=jQuery.trim(t.replace(re,""));foundToken=true;}}
+if(t&&!foundToken){if(!t.indexOf(",")){if(context==ret[0])ret.shift();done=jQuery.merge(done,ret);r=ret=[context];t=" "+t.substr(1,t.length);}else{var re2=quickID;var m=re2.exec(t);if(m){m=[0,m[2],m[3],m[1]];}else{re2=quickClass;m=re2.exec(t);}
+m[2]=m[2].replace(/\\/g,"");var elem=ret[ret.length-1];if(m[1]=="#"&&elem&&elem.getElementById&&!jQuery.isXMLDoc(elem)){var oid=elem.getElementById(m[2]);if((jQuery.browser.msie||jQuery.browser.opera)&&oid&&typeof oid.id=="string"&&oid.id!=m[2])
+oid=jQuery('[@id="'+m[2]+'"]',elem)[0];ret=r=oid&&(!m[3]||jQuery.nodeName(oid,m[3]))?[oid]:[];}else{for(var i=0;ret[i];i++){var tag=m[1]=="#"&&m[3]?m[3]:m[1]!=""||m[0]==""?"*":m[2];if(tag=="*"&&ret[i].nodeName.toLowerCase()=="object")
+tag="param";r=jQuery.merge(r,ret[i].getElementsByTagName(tag));}
+if(m[1]==".")
+r=jQuery.classFilter(r,m[2]);if(m[1]=="#"){var tmp=[];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(t){var val=jQuery.filter(t,r);ret=r=val.r;t=jQuery.trim(val.t);}}
+if(t)
+ret=[];if(ret&&context==ret[0])
+ret.shift();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;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){t=t.substring(m[0].length);m[2]=m[2].replace(/\\/g,"");break;}}
+if(!m)
+break;if(m[1]==":"&&m[2]=="not")
+r=isSimple.test(m[3])?jQuery.filter(m[3],r,true).r:jQuery(r).not(m[3]);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;}else if(m[1]==":"&&m[2]=="nth-child"){var merge={},tmp=[],test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(m[3]=="even"&&"2n"||m[3]=="odd"&&"2n+1"||!/\D/.test(m[3])&&"0n+"+m[3]||m[3]),first=(test[1]+(test[2]||1))-0,last=test[3]-0;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;}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+";}");r=jQuery.grep(r,function(elem,i){return fn(elem,i,m,r);},not);}}
+return{r:r,t:t};},dir:function(elem,dir){var matched=[],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&&n!=elem)
+r.push(n);}
+return r;}});jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8)
+return;if(jQuery.browser.msie&&elem.setInterval)
+elem=window;if(!handler.guid)
+handler.guid=this.guid++;if(data!=undefined){var fn=handler;handler=this.proxy(fn,function(){return fn.apply(this,arguments);});handler.data=data;}
+var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){if(typeof jQuery!="undefined"&&!jQuery.event.triggered)
+return jQuery.event.handle.apply(arguments.callee.elem,arguments);});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];handler.type=parts[1];var handlers=events[type];if(!handlers){handlers=events[type]={};if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem)===false){if(elem.addEventListener)
+elem.addEventListener(type,handle,false);else if(elem.attachEvent)
+elem.attachEvent("on"+type,handle);}}
+handlers[handler.guid]=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8)
+return;var events=jQuery.data(elem,"events"),ret,index;if(events){if(types==undefined||(typeof types=="string"&&types.charAt(0)=="."))
+for(var type in events)
+this.remove(elem,type+(types||""));else{if(types.type){handler=types.handler;types=types.type;}
+jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];if(events[type]){if(handler)
+delete events[type][handler.guid];else
+for(handler in events[type])
+if(!parts[1]||events[type][handler].type==parts[1])
+delete events[type][handler];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];}}});}
+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){data=jQuery.makeArray(data);if(type.indexOf("!")>=0){type=type.slice(0,-1);var exclusive=true;}
+if(!elem){if(this.global[type])
+jQuery("*").add([window,document]).trigger(type,data);}else{if(elem.nodeType==3||elem.nodeType==8)
+return undefined;var val,ret,fn=jQuery.isFunction(elem[type]||null),event=!data[0]||!data[0].preventDefault;if(event){data.unshift({type:type,target:elem,preventDefault:function(){},stopPropagation:function(){},timeStamp:now()});data[0][expando]=true;}
+data[0].type=type;if(exclusive)
+data[0].exclusive=true;var handle=jQuery.data(elem,"handle");if(handle)
+val=handle.apply(elem,data);if((!fn||(jQuery.nodeName(elem,'a')&&type=="click"))&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)
+val=false;if(event)
+data.shift();if(extra&&jQuery.isFunction(extra)){ret=extra.apply(elem,val==null?data:data.concat(val));if(ret!==undefined)
+val=ret;}
+if(fn&&donative!==false&&val!==false&&!(jQuery.nodeName(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]();}catch(e){}}
+this.triggered=false;}
+return val;},handle:function(event){var val,ret,namespace,all,handlers;event=arguments[0]=jQuery.event.fix(event||window.event);namespace=event.type.split(".");event.type=namespace[0];namespace=namespace[1];all=!namespace&&!event.exclusive;handlers=(jQuery.data(this,"events")||{})[event.type];for(var j in handlers){var handler=handlers[j];if(all||handler.type==namespace){event.handler=handler;event.data=handler.data;ret=handler.apply(this,arguments);if(val!==false)
+val=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}}
+return val;},fix:function(event){if(event[expando]==true)
+return event;var originalEvent=event;event={originalEvent:originalEvent};var props="altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target timeStamp toElement type view wheelDelta which".split(" ");for(var i=props.length;i;i--)
+event[props[i]]=originalEvent[props[i]];event[expando]=true;event.preventDefault=function(){if(originalEvent.preventDefault)
+originalEvent.preventDefault();originalEvent.returnValue=false;};event.stopPropagation=function(){if(originalEvent.stopPropagation)
+originalEvent.stopPropagation();originalEvent.cancelBubble=true;};event.timeStamp=event.timeStamp||now();if(!event.target)
+event.target=event.srcElement||document;if(event.target.nodeType==3)
+event.target=event.target.parentNode;if(!event.relatedTarget&&event.fromElement)
+event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;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);}
+if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode))
+event.which=event.charCode||event.keyCode;if(!event.metaKey&&event.ctrlKey)
+event.metaKey=event.ctrlKey;if(!event.which&&event.button)
+event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));return event;},proxy:function(fn,proxy){proxy.guid=fn.guid=fn.guid||proxy.guid||this.guid++;return proxy;},special:{ready:{setup:function(){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(withinElement(event,this))return true;event.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(withinElement(event,this))return true;event.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){var one=jQuery.event.proxy(fn||data,function(event){jQuery(this).unbind(event,one);return(fn||data).apply(this,arguments);});return this.each(function(){jQuery.event.add(this,type,one,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){return this[0]&&jQuery.event.trigger(type,data,this[0],false,fn);},toggle:function(fn){var args=arguments,i=1;while(i<args.length)
+jQuery.event.proxy(fn,args[i++]);return this.click(jQuery.event.proxy(fn,function(event){this.lastToggle=(this.lastToggle||0)%i;event.preventDefault();return args[this.lastToggle++].apply(this,arguments)||false;}));},hover:function(fnOver,fnOut){return this.bind('mouseenter',fnOver).bind('mouseleave',fnOut);},ready:function(fn){bindReady();if(jQuery.isReady)
+fn.call(document,jQuery);else
+jQuery.readyList.push(function(){return fn.call(this,jQuery);});return this;}});jQuery.extend({isReady:false,readyList:[],ready:function(){if(!jQuery.isReady){jQuery.isReady=true;if(jQuery.readyList){jQuery.each(jQuery.readyList,function(){this.call(document);});jQuery.readyList=null;}
+jQuery(document).triggerHandler("ready");}}});var readyBound=false;function bindReady(){if(readyBound)return;readyBound=true;if(document.addEventListener&&!jQuery.browser.opera)
+document.addEventListener("DOMContentLoaded",jQuery.ready,false);if(jQuery.browser.msie&&window==top)(function(){if(jQuery.isReady)return;try{document.documentElement.doScroll("left");}catch(error){setTimeout(arguments.callee,0);return;}
+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;}
+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;}
+jQuery.ready();})();}
+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){jQuery.fn[name]=function(fn){return fn?this.bind(name,fn):this.trigger(name);};});var withinElement=function(event,elem){var parent=event.relatedTarget;while(parent&&parent!=elem)try{parent=parent.parentNode;}catch(error){parent=elem;}
+return parent==elem;};jQuery(window).bind("unload",function(){jQuery("*").add(document).unbind();});jQuery.fn.extend({_load:jQuery.fn.load,load:function(url,params,callback){if(typeof url!='string')
+return this._load(url);var off=url.indexOf(" ");if(off>=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}
+callback=callback||function(){};var type="GET";if(params)
+if(jQuery.isFunction(params)){callback=params;params=null;}else{params=jQuery.param(params);type="POST";}
+var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified")
+self.html(selector?jQuery("<div/>").append(res.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(selector):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();}});jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=now();jQuery.extend({get:function(url,data,callback,type){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:{url:location.href,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:"*/*"}},lastModified:{},ajax:function(s){s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));var jsonp,jsre=/=\?(&|$)/g,status,data,type=s.type.toUpperCase();if(s.data&&s.processData&&typeof s.data!="string")
+s.data=jQuery.param(s.data);if(s.dataType=="jsonp"){if(type=="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";}
+if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++;if(s.data)
+s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";window[jsonp]=function(tmp){data=tmp;success();complete();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&&type=="GET"){var ts=now();var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"");}
+if(s.data&&type=="GET"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data;s.data=null;}
+if(s.global&&!jQuery.active++)
+jQuery.event.trigger("ajaxStart");var remote=/^(?:\w+:)?\/\/([^\/?#]+)/;if(s.dataType=="script"&&type=="GET"&&remote.test(s.url)&&remote.exec(s.url)[1]!=location.host){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=s.url;if(s.scriptCharset)
+script.charset=s.scriptCharset;if(!jsonp){var done=false;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);return undefined;}
+var requestDone=false;var xhr=window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();if(s.username)
+xhr.open(type,s.url,s.async,s.username,s.password);else
+xhr.open(type,s.url,s.async);try{if(s.data)
+xhr.setRequestHeader("Content-Type",s.contentType);if(s.ifModified)
+xhr.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");xhr.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default);}catch(e){}
+if(s.beforeSend&&s.beforeSend(xhr,s)===false){s.global&&jQuery.active--;xhr.abort();return false;}
+if(s.global)
+jQuery.event.trigger("ajaxSend",[xhr,s]);var onreadystatechange=function(isTimeout){if(!requestDone&&xhr&&(xhr.readyState==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival=null;}
+status=isTimeout=="timeout"&&"timeout"||!jQuery.httpSuccess(xhr)&&"error"||s.ifModified&&jQuery.httpNotModified(xhr,s.url)&&"notmodified"||"success";if(status=="success"){try{data=jQuery.httpData(xhr,s.dataType,s.dataFilter);}catch(e){status="parsererror";}}
+if(status=="success"){var modRes;try{modRes=xhr.getResponseHeader("Last-Modified");}catch(e){}
+if(s.ifModified&&modRes)
+jQuery.lastModified[s.url]=modRes;if(!jsonp)
+success();}else
+jQuery.handleError(s,xhr,status);complete();if(s.async)
+xhr=null;}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout>0)
+setTimeout(function(){if(xhr){xhr.abort();if(!requestDone)
+onreadystatechange("timeout");}},s.timeout);}
+try{xhr.send(s.data);}catch(e){jQuery.handleError(s,xhr,null,e);}
+if(!s.async)
+onreadystatechange();function success(){if(s.success)
+s.success(data,status);if(s.global)
+jQuery.event.trigger("ajaxSuccess",[xhr,s]);}
+function complete(){if(s.complete)
+s.complete(xhr,status);if(s.global)
+jQuery.event.trigger("ajaxComplete",[xhr,s]);if(s.global&&!--jQuery.active)
+jQuery.event.trigger("ajaxStop");}
+return xhr;},handleError:function(s,xhr,status,e){if(s.error)s.error(xhr,status,e);if(s.global)
+jQuery.event.trigger("ajaxError",[xhr,s,e]);},active:0,httpSuccess:function(xhr){try{return!xhr.status&&location.protocol=="file:"||(xhr.status>=200&&xhr.status<300)||xhr.status==304||xhr.status==1223||jQuery.browser.safari&&xhr.status==undefined;}catch(e){}
+return false;},httpNotModified:function(xhr,url){try{var xhrRes=xhr.getResponseHeader("Last-Modified");return xhr.status==304||xhrRes==jQuery.lastModified[url]||jQuery.browser.safari&&xhr.status==undefined;}catch(e){}
+return false;},httpData:function(xhr,type,filter){var ct=xhr.getResponseHeader("content-type"),xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0,data=xml?xhr.responseXML:xhr.responseText;if(xml&&data.documentElement.tagName=="parsererror")
+throw"parsererror";if(filter)
+data=filter(data,type);if(type=="script")
+jQuery.globalEval(data);if(type=="json")
+data=eval("("+data+")");return data;},param:function(a){var s=[];if(a.constructor==Array||a.jquery)
+jQuery.each(a,function(){s.push(encodeURIComponent(this.name)+"="+encodeURIComponent(this.value));});else
+for(var j in a)
+if(a[j]&&a[j].constructor==Array)
+jQuery.each(a[j],function(){s.push(encodeURIComponent(j)+"="+encodeURIComponent(this));});else
+s.push(encodeURIComponent(j)+"="+encodeURIComponent(jQuery.isFunction(a[j])?a[j]():a[j]));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");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();},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle.apply(this,arguments):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),p,hidden=jQuery(this).is(":hidden"),self=this;for(p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)
+return opt.complete.call(this);if(p=="height"||p=="width"){opt.display=jQuery.css(this,"display");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";if(unit!="px"){self.style[name]=(end||1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit;}
+if(parts[1])
+end=((parts[1]=="-="?-1:1)*end)+start;e.custom(start,end,unit);}else
+e.custom(start,val,"");}});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.call(this);}});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue)
+this.queue([]);this.each(function(){for(var i=timers.length-1;i>=0;i--)
+if(timers[i].elem==this){if(gotoEnd)
+timers[i](true);timers.splice(i,1);}});if(!gotoEnd)
+this.dequeue();return this;}});var queue=function(elem,type,array){if(elem){type=type||"fx";var q=jQuery.data(elem,type+"queue");if(!q||array)
+q=jQuery.data(elem,type+"queue",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].call(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:jQuery.fx.speeds[opt.duration])||jQuery.fx.speeds.def;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false)
+jQuery(this).dequeue();if(jQuery.isFunction(opt.old))
+opt.old.call(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={update:function(){if(this.options.step)
+this.options.step.call(this.elem,this.now,this);(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if(this.prop=="height"||this.prop=="width")
+this.elem.style.display="block";},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;},custom:function(from,to,unit){this.startTime=now();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);}},show:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.show=true;this.custom(0,this.cur());if(this.prop=="width"||this.prop=="height")
+this.elem.style[this.prop]="1px";jQuery(this.elem).show();},hide:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0);},step:function(gotoEnd){var t=now();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){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,"display")=="none")
+this.elem.style.display="block";}
+if(this.options.hide)
+this.elem.style.display="none";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(done)
+this.options.complete.call(this.elem);return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;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);this.update();}
+return true;}};jQuery.extend(jQuery.fx,{speeds:{slow:600,fast:200,def:400},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;}}});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),css=jQuery.curCSS,fixed=css(elem,"position")=="fixed";if(elem.getBoundingClientRect){var box=elem.getBoundingClientRect();add(box.left+Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),box.top+Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));add(-doc.documentElement.clientLeft,-doc.documentElement.clientTop);}else{add(elem.offsetLeft,elem.offsetTop);while(offsetParent){add(offsetParent.offsetLeft,offsetParent.offsetTop);if(mozilla&&!/^t(able|d|h)$/i.test(offsetParent.tagName)||safari&&!safari2)
+border(offsetParent);if(!fixed&&css(offsetParent,"position")=="fixed")
+fixed=true;offsetChild=/^body$/i.test(offsetParent.tagName)?offsetChild:offsetParent;offsetParent=offsetParent.offsetParent;}
+while(parent&&parent.tagName&&!/^body|html$/i.test(parent.tagName)){if(!/^inline|table.*$/i.test(css(parent,"display")))
+add(-parent.scrollLeft,-parent.scrollTop);if(mozilla&&css(parent,"overflow")!="visible")
+border(parent);parent=parent.parentNode;}
+if((safari2&&(fixed||css(offsetChild,"position")=="absolute"))||(mozilla&&css(offsetChild,"position")!="absolute"))
+add(-doc.body.offsetLeft,-doc.body.offsetTop);if(fixed)
+add(Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));}
+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,10)||0;top+=parseInt(t,10)||0;}
+return results;};jQuery.fn.extend({position:function(){var left=0,top=0,results;if(this[0]){var offsetParent=this.offsetParent(),offset=this.offset(),parentOffset=/^body|html$/i.test(offsetParent[0].tagName)?{top:0,left:0}:offsetParent.offset();offset.top-=num(this,'marginTop');offset.left-=num(this,'marginLeft');parentOffset.top+=num(offsetParent,'borderTopWidth');parentOffset.left+=num(offsetParent,'borderLeftWidth');results={top:offset.top-parentOffset.top,left:offset.left-parentOffset.left};}
+return results;},offsetParent:function(){var offsetParent=this[0].offsetParent;while(offsetParent&&(!/^body|html$/i.test(offsetParent.tagName)&&jQuery.css(offsetParent,'position')=='static'))
+offsetParent=offsetParent.offsetParent;return jQuery(offsetParent);}});jQuery.each(['Left','Top'],function(i,name){var method='scroll'+name;jQuery.fn[method]=function(val){if(!this[0])return;return val!=undefined?this.each(function(){this==window||this==document?window.scrollTo(!i?val:jQuery(window).scrollLeft(),i?val:jQuery(window).scrollTop()):this[method]=val;}):this[0]==window||this[0]==document?self[i?'pageYOffset':'pageXOffset']||jQuery.boxModel&&document.documentElement[method]||document.body[method]:this[0][method];};});jQuery.each(["Height","Width"],function(i,name){var tl=i?"Left":"Top",br=i?"Right":"Bottom";jQuery.fn["inner"+name]=function(){return this[name.toLowerCase()]()+
+num(this,"padding"+tl)+
+num(this,"padding"+br);};jQuery.fn["outer"+name]=function(margin){return this["inner"+name]()+
+num(this,"border"+tl+"Width")+
+num(this,"border"+br+"Width")+
+(margin?num(this,"margin"+tl)+num(this,"margin"+br):0);};});})();(function($){$.fn.ajaxSubmit=function(options){if(!this.length){log('ajaxSubmit: skipping submit process - no element selected');return this;}
+if(typeof options=='function')
+options={success:options};options=$.extend({url:this.attr('action')||window.location.toString(),type:this.attr('method')||'GET'},options||{});var veto={};this.trigger('form-pre-serialize',[this,options,veto]);if(veto.veto){log('ajaxSubmit: submit vetoed via form-pre-serialize trigger');return this;}
+var a=this.formToArray(options.semantic);if(options.data){options.extraData=options.data;for(var n in options.data)
+a.push({name:n,value:options.data[n]});}
+if(options.beforeSubmit&&options.beforeSubmit(a,this,options)===false){log('ajaxSubmit: submit aborted via beforeSubmit callback');return this;}
+this.trigger('form-submit-validate',[a,this,options,veto]);if(veto.veto){log('ajaxSubmit: submit vetoed via form-submit-validate trigger');return this;}
+var q=$.param(a);if(options.type.toUpperCase()=='GET'){options.url+=(options.url.indexOf('?')>=0?'&':'?')+q;options.data=null;}
+else
+options.data=q;var $form=this,callbacks=[];if(options.resetForm)callbacks.push(function(){$form.resetForm();});if(options.clearForm)callbacks.push(function(){$form.clearForm();});if(!options.dataType&&options.target){var oldSuccess=options.success||function(){};callbacks.push(function(data){$(options.target).html(data).each(oldSuccess,arguments);});}
+else if(options.success)
+callbacks.push(options.success);options.success=function(data,status){for(var i=0,max=callbacks.length;i<max;i++)
+callbacks[i](data,status,$form);};var files=$('input:file',this).fieldValue();var found=false;for(var j=0;j<files.length;j++)
+if(files[j])
+found=true;if(options.iframe||found){if($.browser.safari&&options.closeKeepAlive)
+$.get(options.closeKeepAlive,fileUpload);else
+fileUpload();}
+else
+$.ajax(options);this.trigger('form-submit-notify',[this,options]);return this;function fileUpload(){var form=$form[0];if($(':input[@name=submit]',form).length){alert('Error: Form elements must not be named "submit".');return;}
+var opts=$.extend({},$.ajaxSettings,options);var id='jqFormIO'+(new Date().getTime());var $io=$('<iframe id="'+id+'" name="'+id+'" />');var io=$io[0];if($.browser.msie||$.browser.opera)
+io.src='javascript:false;document.write("");';$io.css({position:'absolute',top:'-1000px',left:'-1000px'});var xhr={responseText:null,responseXML:null,status:0,statusText:'n/a',getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){}};var g=opts.global;if(g&&!$.active++)$.event.trigger("ajaxStart");if(g)$.event.trigger("ajaxSend",[xhr,opts]);var cbInvoked=0;var timedOut=0;var sub=form.clk;if(sub){var n=sub.name;if(n&&!sub.disabled){options.extraData=options.extraData||{};options.extraData[n]=sub.value;if(sub.type=="image"){options.extraData[name+'.x']=form.clk_x;options.extraData[name+'.y']=form.clk_y;}}}
+setTimeout(function(){var t=$form.attr('target'),a=$form.attr('action');$form.attr({target:id,encoding:'multipart/form-data',enctype:'multipart/form-data',method:'POST',action:opts.url});if(opts.timeout)
+setTimeout(function(){timedOut=true;cb();},opts.timeout);var extraInputs=[];try{if(options.extraData)
+for(var n in options.extraData)
+extraInputs.push($('<input type="hidden" name="'+n+'" value="'+options.extraData[n]+'" />').appendTo(form)[0]);$io.appendTo('body');io.attachEvent?io.attachEvent('onload',cb):io.addEventListener('load',cb,false);form.submit();}
+finally{$form.attr('action',a);t?$form.attr('target',t):$form.removeAttr('target');$(extraInputs).remove();}},10);function cb(){if(cbInvoked++)return;io.detachEvent?io.detachEvent('onload',cb):io.removeEventListener('load',cb,false);var operaHack=0;var ok=true;try{if(timedOut)throw'timeout';var data,doc;doc=io.contentWindow?io.contentWindow.document:io.contentDocument?io.contentDocument:io.document;if(doc.body==null&&!operaHack&&$.browser.opera){operaHack=1;cbInvoked--;setTimeout(cb,100);return;}
+xhr.responseText=doc.body?doc.body.innerHTML:null;xhr.responseXML=doc.XMLDocument?doc.XMLDocument:doc;xhr.getResponseHeader=function(header){var headers={'content-type':opts.dataType};return headers[header];};if(opts.dataType=='json'||opts.dataType=='script'){var ta=doc.getElementsByTagName('textarea')[0];xhr.responseText=ta?ta.value:xhr.responseText;}
+else if(opts.dataType=='xml'&&!xhr.responseXML&&xhr.responseText!=null){xhr.responseXML=toXml(xhr.responseText);}
+data=$.httpData(xhr,opts.dataType);}
+catch(e){ok=false;$.handleError(opts,xhr,'error',e);}
+if(ok){opts.success(data,'success');if(g)$.event.trigger("ajaxSuccess",[xhr,opts]);}
+if(g)$.event.trigger("ajaxComplete",[xhr,opts]);if(g&&!--$.active)$.event.trigger("ajaxStop");if(opts.complete)opts.complete(xhr,ok?'success':'error');setTimeout(function(){$io.remove();xhr.responseXML=null;},100);};function toXml(s,doc){if(window.ActiveXObject){doc=new ActiveXObject('Microsoft.XMLDOM');doc.async='false';doc.loadXML(s);}
+else
+doc=(new DOMParser()).parseFromString(s,'text/xml');return(doc&&doc.documentElement&&doc.documentElement.tagName!='parsererror')?doc:null;};};};$.fn.ajaxForm=function(options){return this.ajaxFormUnbind().bind('submit.form-plugin',function(){$(this).ajaxSubmit(options);return false;}).each(function(){$(":submit,input:image",this).bind('click.form-plugin',function(e){var $form=this.form;$form.clk=this;if(this.type=='image'){if(e.offsetX!=undefined){$form.clk_x=e.offsetX;$form.clk_y=e.offsetY;}else if(typeof $.fn.offset=='function'){var offset=$(this).offset();$form.clk_x=e.pageX-offset.left;$form.clk_y=e.pageY-offset.top;}else{$form.clk_x=e.pageX-this.offsetLeft;$form.clk_y=e.pageY-this.offsetTop;}}
+setTimeout(function(){$form.clk=$form.clk_x=$form.clk_y=null;},10);});});};$.fn.ajaxFormUnbind=function(){this.unbind('submit.form-plugin');return this.each(function(){$(":submit,input:image",this).unbind('click.form-plugin');});};$.fn.formToArray=function(semantic){var a=[];if(this.length==0)return a;var form=this[0];var els=semantic?form.getElementsByTagName('*'):form.elements;if(!els)return a;for(var i=0,max=els.length;i<max;i++){var el=els[i];var n=el.name;if(!n)continue;if(semantic&&form.clk&&el.type=="image"){if(!el.disabled&&form.clk==el)
+a.push({name:n+'.x',value:form.clk_x},{name:n+'.y',value:form.clk_y});continue;}
+var v=$.fieldValue(el,true);if(v&&v.constructor==Array){for(var j=0,jmax=v.length;j<jmax;j++)
+a.push({name:n,value:v[j]});}
+else if(v!==null&&typeof v!='undefined')
+a.push({name:n,value:v});}
+if(!semantic&&form.clk){var inputs=form.getElementsByTagName("input");for(var i=0,max=inputs.length;i<max;i++){var input=inputs[i];var n=input.name;if(n&&!input.disabled&&input.type=="image"&&form.clk==input)
+a.push({name:n+'.x',value:form.clk_x},{name:n+'.y',value:form.clk_y});}}
+return a;};$.fn.formSerialize=function(semantic){return $.param(this.formToArray(semantic));};$.fn.fieldSerialize=function(successful){var a=[];this.each(function(){var n=this.name;if(!n)return;var v=$.fieldValue(this,successful);if(v&&v.constructor==Array){for(var i=0,max=v.length;i<max;i++)
+a.push({name:n,value:v[i]});}
+else if(v!==null&&typeof v!='undefined')
+a.push({name:this.name,value:v});});return $.param(a);};$.fn.fieldValue=function(successful){for(var val=[],i=0,max=this.length;i<max;i++){var el=this[i];var v=$.fieldValue(el,successful);if(v===null||typeof v=='undefined'||(v.constructor==Array&&!v.length))
+continue;v.constructor==Array?$.merge(val,v):val.push(v);}
+return val;};$.fieldValue=function(el,successful){var n=el.name,t=el.type,tag=el.tagName.toLowerCase();if(typeof successful=='undefined')successful=true;if(successful&&(!n||el.disabled||t=='reset'||t=='button'||(t=='checkbox'||t=='radio')&&!el.checked||(t=='submit'||t=='image')&&el.form&&el.form.clk!=el||tag=='select'&&el.selectedIndex==-1))
+return null;if(tag=='select'){var index=el.selectedIndex;if(index<0)return null;var a=[],ops=el.options;var one=(t=='select-one');var max=(one?index+1:ops.length);for(var i=(one?index:0);i<max;i++){var op=ops[i];if(op.selected){var v=$.browser.msie&&!(op.attributes['value'].specified)?op.text:op.value;if(one)return v;a.push(v);}}
+return a;}
+return el.value;};$.fn.clearForm=function(){return this.each(function(){$('input,select,textarea',this).clearFields();});};$.fn.clearFields=$.fn.clearInputs=function(){return this.each(function(){var t=this.type,tag=this.tagName.toLowerCase();if(t=='text'||t=='password'||tag=='textarea')
+this.value='';else if(t=='checkbox'||t=='radio')
+this.checked=false;else if(tag=='select')
+this.selectedIndex=-1;});};$.fn.resetForm=function(){return this.each(function(){if(typeof this.reset=='function'||(typeof this.reset=='object'&&!this.reset.nodeType))
+this.reset();});};$.fn.enable=function(b){if(b==undefined)b=true;return this.each(function(){this.disabled=!b});};$.fn.select=function(select){if(select==undefined)select=true;return this.each(function(){var t=this.type;if(t=='checkbox'||t=='radio')
+this.checked=select;else if(this.tagName.toLowerCase()=='option'){var $sel=$(this).parent('select');if(select&&$sel[0]&&$sel[0].type=='select-one'){$sel.find('option').select(false);}
+this.selected=select;}});};function log(){if($.fn.ajaxSubmit.debug&&window.console&&window.console.log)
+window.console.log('[jquery.form] '+Array.prototype.join.call(arguments,''));};})(jQuery);var TO_LOAD_INDEX=0;var TO_LOAD=new Array;var MARKITUP=false;var UNBIND=false;$(function(){load_jquery();});function load_jquery(){if(UNBIND){if(MARKITUP){$("*").not(".markItUpButton").unbind();}else{$("*").unbind();}}
+UNBIND=true;$("a.submit").click(function(){$(this).parents("form").submit();return false;});$("a.submitWait").click(function(){$(this).parents("form").after('<p class="center">'+$(this).attr('title')+'<br /><br /><img src="'+IMG_CUBE+'/loader.gif" /></p>');$(this).parents("form").submit();$(this).parents("form").hide();return false;});$("form").submit(function(){$(this).attr('change','0');return true;});$("form.blank").each(function(){$(this).attr('target','_blank');$(this).removeClass('_blank');});$("form").not(".notajax").submit(function(){display_loader();$(this).ajaxSubmit({url:SITE_PATH+'ajax/'+$(this).attr('action'),success:function(data){MyAjax(data);}});return false;});$(".notajax form").unbind();$("form.submitonchange :input").each(function(){$(this).one('change',function(){$(this).parents("form").submit();});});$(":input").change(function(){$(this).parents("form").attr("change",1);});$("a.ajax").click(function(){var title=$(this).attr('title');var href=$(this).attr('rel');if(title!=''&&title!=undefined&&title.search(/\?/)>-1){if(!window.confirm(title)){return false;}}
+if($(this).hasClass('wait')){wait();}
+display_loader();$.ajax({url:SITE_PATH+'ajax/'+href,success:function(data){MyAjax(data);}});return false;});$("a.dajax").dblclick(function(){var title=$(this).attr('title');var href=$(this).attr('rel');if(title!=''&&title!=undefined&&title.search(/\?/)>=0){if(!window.confirm(title)){return false;}}
+display_loader();$.ajax({url:SITE_PATH+'ajax/'+href,success:function(data){MyAjax(data);}});return false;});$("a.ajaxh").click(function(){var title=$(this).attr('title');var href=$(this).attr('href');if(title!=''&&title!=undefined&&title.search(/\?/)>=0){if(!window.confirm(title)){return false;}}
+display_loader();$.ajax({url:href,success:function(data){MyAjax(data);}});return false;});$("a.prompt").click(function(){var href=$(this).attr('rel');var defaut=$(this).attr('rev');var name=window.prompt($(this).attr('title'),defaut);if(name==null||name=='null'||name==''){return false;}
+display_loader();$.ajax({url:SITE_PATH+'ajax/'+href+'?var='+name,success:function(data){MyAjax(data);}});return false;});$("a.closePopup").click(function(){closePopup($(this),true);return false;});$("a.closePopupNotConfirm").click(function(){closePopup($(this),false);return false;});$("a.popup").click(function(){display_loader();$.ajax({url:SITE_PATH+'ajax/'+$(this).attr('rel'),dataType:'responseText',success:function(data){createPopup(data);}});remove_loader();return false;});$("a.changepopup").click(function(){display_loader();$.ajax({url:SITE_PATH+'ajax/'+$(this).attr('rel'),dataType:'responseText',success:function(data){changepopup(data);load_jquery();}});remove_loader();return false;});$("a.blank").click(function(){$(this).attr('target','_blank');return true;});$("a.nothing").click(function(){return false;});$(".pemail").each(function(){var protected=$(this).text();var adresse=rot13(protected);$(this).text(adresse);$(this).attr('href','mailto:'+adresse);$(this).removeClass('pemail');});var len=TO_LOAD.length;for(var i=0;i<len;i++){eval(TO_LOAD[i]);}
+__fixPNG();if($("#jquery_time").length>0&&$("#jquery_time").text()==''){var E=new Date();var m=(parseInt(E-S)/1000).toString().replace('.',',');$("#jquery_time").text(m);}}
+function randval(min,max){var diff=max-min;return Math.round(Math.random()*diff)+diff;}
+function rot(t,u,v){return String.fromCharCode(((t-u+v)%(v*2))+u);}
+function rot13(s){var b=[],c,i=s.length,a='a'.charCodeAt(),z=a+26,A='A'.charCodeAt(),Z=A+26;while(i--){c=s.charCodeAt(i);if(c>=a&&c<z){b[i]=rot(c,a,13);}else if(c>=A&&c<Z){b[i]=rot(c,A,13);}else{b[i]=s.charAt(i);}}
+return b.join('');}
+function createPopup(data){POPUP_COUNTER=parseInt(POPUP_COUNTER);$("body").append('<div id="pl_'+POPUP_COUNTER+'" class="popupLayer"><div class="popupOverlay" id="po_'+POPUP_COUNTER+'" style="z-index:'+(1000+POPUP_COUNTER*2)+';"></div><div id="pw_'+POPUP_COUNTER+'" class="popupWindow" style="z-index:'+(1001+POPUP_COUNTER*2)+';"></div></div>');$("#po_"+POPUP_COUNTER).css('opacity',0.65);$("#po_"+POPUP_COUNTER).css('display','block');$("#pw_"+POPUP_COUNTER).html(data);$("#pw_"+POPUP_COUNTER).show();popup_dimensions(POPUP_COUNTER);load_jquery();POPUP_COUNTER+=1;}
+function closePopup(object,confirm){if(object==undefined||object==null){var i=$(".popupLayer").length-1;var elements=$(".popupLayer").get();var e=elements[i];var changes=false;$(this).find("form").each(function(){if($(this).attr("change")==1){changes=true;}});if(confirm==false||(changes==true&&window.confirm(CONFIRM_CLOSE))||changes==false){$(e).remove();POPUP_COUNTER-=1;popup_dimensions();}}else{$(object).parents(".popupLayer").each(function(){var changes=false;$(this).find("form").each(function(){if($(this).attr("change")==1){changes=true;}});if(confirm==false||(changes==true&&window.confirm(CONFIRM_CLOSE))||changes==false){$(this).remove();POPUP_COUNTER-=1;popup_dimensions();}});}}
+function popup_dimensions(i){if(i==undefined){i=POPUP_COUNTER-1;}
+if(i<0){return;}
+var margin=30;var mh=$(window).height()-(margin*2);if(!$.browser.msie){$("#pw_"+i).css("opacity",0);}
+if($("#pw_"+i+" .c>div").height()+10>mh){$("#pw_"+i+" .c>div").css("overflow",'auto');}else{$("#pw_"+i+" .c>div").css("overflow",'visible');}
+$("#pw_"+i+" .c>div").css("max-height",mh);$("#pw_"+i).css("left",($(window).width()-$("#pw_"+i).width())/2);if($("#pw_"+i+" .c>div").attr('top')){$("#pw_"+i).css("top",parseInt($("#pw_"+i+" .c>div").attr('top')));}else{var top=(mh-$("#pw_"+i).height())/2+margin;$("#pw_"+i).css("top",top);}
+if(!$.browser.msie){$("#pw_"+i).css("opacity",1);}}
+function changepopup(data){var pc=POPUP_COUNTER-1;$("#pw_"+pc).html(data);popup_dimensions(pc);}
+function checkUpload(){if($.browser.msie){var iframe=uploadIframe.document;}else{var uploadIframe=document.getElementById('uploadIframe');var iframe=uploadIframe.contentDocument;}
+if(iframe.getElementById('status')!=undefined&&iframe.contentDocument.getElementById('status').innerHTML!=undefined){clearInterval(INTERVAL);$.ajax({url:UPDATE,success:function(data){MyAjax(data);}});if(iframe.getElementById('status').innerHTML!='ok'){window.alert(ERREUR_FICHIER+' : \n'+iframe.getElementById('status').innerHTML);}
+if(POPUP_COUNTER>0){closePopup(null,false);}
+$("#uploadIframe").remove();}}
+function isSet(i){return(i==null||i=='null'||i==''||i=='undefined');}
+function callAjaxSwf(urlLink){$.ajax({url:urlLink,success:function(data){MyAjax(data);}});}
+function swfAjax(data){MyAjax(strToXML(data));}
+function MyAjax(data,reload){var error=new Array();var confirmation='';var ok=true;var t=$(data).children('rsp').children().get();for(var i=0;i<t.length;i++){var e=t[i];var name=e.nodeName;if(name=='confirmation'){var contentconfirm=$(e).text();confirmation+="<p>"+contentconfirm+"</p>";}else if(name=='error'){var errors=$(e).children().get();for(var j=0;j<errors.length;j++){var err=errors[j];var ename=err.nodeName;var econtent=$(err).text();$("#"+ename).addClass('error');$("#"+ename).val('');error.push(econtent);ok=false;}}else if(name=='content'){var contents=$(e).children().get();for(var k=0;k<contents.length;k++){var content=contents[k];var cname=content.nodeName;var ccontent=$(content).text();if(ccontent==''){$("#"+cname).html(ccontent);}else{$("#"+cname).html(ccontent);}
+if(POPUP_COUNTER-1>=0){popup_dimensions(POPUP_COUNTER-1);}}}else if(name=='replace'){var contents=$(e).children().get();for(var k=0;k<contents.length;k++){var content=contents[k];var cname=content.nodeName;var ccontent=$(content).text();if(ccontent==''){$("#"+cname).replaceWith(ccontent);}else{$("#"+cname).replaceWith(ccontent);}
+if(POPUP_COUNTER-1>=0){popup_dimensions(POPUP_COUNTER-1);}}}else if(name=='append'){var contents=$(e).children().get();for(var k=0;k<contents.length;k++){var content=contents[k];var cname=content.nodeName;var ccontent=$(content).text();if(ccontent==''){$("#"+cname).append(ccontent);}else{$("#"+cname).append(ccontent);}
+if(POPUP_COUNTER-1>=0){popup_dimensions(POPUP_COUNTER-1);}}}else if(name=='param'){var ids=$(e).children().get();for(var p=0;p<ids.length;p++){var id=ids[p];var idname=id.nodeName;var params=$(id).children().get();var o={};for(var q=0;q<params.length;q++){var param=params[q];var paramname=param.nodeName;var paramcontent=$(param).text();o[paramname]=paramcontent;}
+$("#"+idname).attr(o);$("#"+idname).parents("form").unbind('submit');}}else if(name=='alert'){var alerts=$(e).children().get();for(var r=0;r<alerts.length;r++){var alert=alerts[r];var acontent=$(alert).text();window.alert(acontent);}}else if(name=='ok'){var oks=$(e).children().get();for(var l=0;l<oks.length;l++){var ok=oks[l];var oname=ok.nodeName.toLowerCase();$("#"+oname).removeClass('error');}}else if(name=='redirection'){var url=$(e).text();window.location=url;}else if(name=='show'){var oks=$(e).children().get();for(var l=0;l<oks.length;l++){var ok=oks[l];var oname=ok.nodeName;$("#"+oname).show('fast');}}else if(name=='debug'){}else if(name=='eval'){var codes=$(e).children().get();for(var r=0;r<codes.length;r++){var code=codes[r];eval($(code).text());}}else if(name=='closepopup'){var closes=$(e).children().get();for(var cp=0;cp<closes.length;cp++){closePopup(null,false);}}else if(name=='openpopup'){var opens=$(e).children().get();for(var op=0;op<opens.length;op++){var cont=opens[op];createPopup($(cont).text());}}else if(name=='changepopup'){var changes=$(e).children().get();for(var cp=0;cp<changes.length;cp++){var cont=changes[cp];changepopup($(cont).text());}}
+else if(name=='popupdimensions'){popup_dimensions();}
+else if(name=='truepopup'){var trues=$(e).children().get();for(var tp=0;tp<trues.length;tp++){var cont=trues[tp];truePopup($(cont).text());}}else if(name=='timer'){var time=parseInt($(e).text());var t=setTimeout("doNothing()",time);}else if(name=='value'){var values=$(e).children().get();for(var v=0;v<values.length;v++){var node=values[v];var oname=node.nodeName;var val=$("#"+oname).val($(node).text());}}}
+if(error.length>0){$("#message").html(error.join('<br />'));}else{$("#message").html('');}
+if(confirmation!=''){$("#confirmation").html(confirmation);$("#confirmation").animate({height:26,opacity:1},2000,function(){$("#confirmation").fadeTo(10000,1,function(){$("#confirmation").animate({height:0,opacity:0},2000);$("#confirmation").empty();});});}
+if(reload==true||reload==undefined){load_jquery();}
+remove_loader();return ok;}
+function truePopup(url){var rand=Math.round(Math.random()*200);window.open(url,'Popup'+rand,'width='+window.width+',height='+window.height);}
+function _fixPNG(){var png;var images=$('img[@src*="png"]:not([@fixed="fixed"])');images.each(function(){png=$(this).attr('src');$(this).attr('src',IMG_CUBE+'/spacer.gif');$(this).css('filter',"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+png+"')");$(this).attr('fixed','fixed');});}
+function __fixPNG(){if($.browser.msie&&parseInt(navigator.userAgent.match(/MSIE (\d+(?:\.\d+)+(?:b\d*)?)/)[1])<=6){_fixPNG();}}
+function getWindowHeight(){var windowHeight=0;if(typeof(window.innerHeight)=='number'){windowHeight=window.innerHeight;}
+else{if(document.documentElement&&document.documentElement.clientHeight){windowHeight=document.documentElement.clientHeight;}
+else{if(document.body&&document.body.clientHeight){windowHeight=document.body.clientHeight;}}}
+return windowHeight;}
+function getWindowWidth(){var myWidth=0;if(typeof(window.innerWidth)=='number'){myWidth=window.innerWidth;}
+else if(document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight)){myWidth=document.documentElement.clientWidth;}
+else if(document.body&&(document.body.clientWidth||document.body.clientHeight)){myWidth=document.body.clientWidth;}
+return myWidth;}
+function doNothing(){}
+function htmlEditorGetText(id){var text=document.getElementById(id).value;return'<TEXTFORMAT LEADING="2"><P ALIGN="LEFT">'+text+'</P></TEXTFORMAT>';}
+function htmlEditorPutText(id,text){document.getElementById(id).value=text;}
+function display_loader(){if(LOADER_AJAX==''){}else{$("body").append('<div id="loader"><img src="'+LOADER_AJAX+'" /></div>');}}
+function remove_loader(){if(LOADER_AJAX==''){}else{$("#loader").remove();}}
+function URLEncode(clearString){var output='';var x=0;clearString=clearString.toString();var regex=/(^[a-zA-Z0-9_.]*)/;while(x<clearString.length){var match=regex.exec(clearString.substr(x));if(match!=null&&match.length>1&&match[1]!=''){output+=match[1];x+=match[1].length;}else{if(clearString[x]==' ')
+output+='+';else{var charCode=clearString.charCodeAt(x);var hexVal=charCode.toString(16);output+='%'+(hexVal.length<2?'0':'')+hexVal.toUpperCase();}
+x++;}}
+return output;}
+function strToXML(str){var contentType='application/xml';if(typeof(DOMParser)!='undefined'){return(new DOMParser()).parseFromString(str.substr(0,4095),contentType);}else if(typeof(ActiveXObject)!='undefined'){var xmldata=new ActiveXObject('MSXML.DomDocument');xmldata.async=false;xmldata.loadXML(str);return xmldata;}else if(typeof(XMLHttpRequest)!='undefined'){var xmldata=new XMLHttpRequest;if(!contentType){contentType='application/xml';}
+xmldata.open('GET','data:'+contentType+';charset=utf-8,'+encodeURIComponent(str),false);if(xmldata.overrideMimeType){xmldata.overrideMimeType(contentType);}
+xmldata.send(null);return xmldata.responseXML;}}
+TO_LOAD_INDEX++;TO_LOAD[TO_LOAD_INDEX]='load_emptyfield();';function load_emptyfield(){$("input.empty_field").each(function(){if($(this).attr('orig')){return;}
+$(this).attr('orig',$(this).attr('value'));});$("input.empty_field").click(function(){if($(this).val()==$(this).attr('orig')){$(this).val('');}});}
+TO_LOAD_INDEX++;TO_LOAD[TO_LOAD_INDEX]='load_truepopups();';function load_truepopups(){$(".truePopup").click(function(){$(this).attr('rel',$(this).attr('rel').replace(/screen.height/,screen.height));$(this).attr('rel',$(this).attr('rel').replace(/screen.width/,screen.width));window.open($(this).attr('href'),'',$(this).attr('rel'));return false;});$(".popupFS").click(function(){var n='PopupFS'+randval(1000,9999).toString();window.open($(this).attr('href'),n,'width='+screen.width+',height='+screen.height+',resizable=yes');return false;});$(".popupA4").click(function(){var h=screen.height;var n='PopupFS'+randval(1000,9999).toString();var w=h/1.4;window.open($(this).attr('href'),n,'width='+w+',height='+h+',resizable=yes');return false;});}
+TO_LOAD_INDEX++;TO_LOAD[TO_LOAD_INDEX]='load_extranet();';FIRST_LOAD=true;function load_extranet(){$("#devisAdresse select").change(function(){var client=$(this).val();$.ajax({url:SITE_PATH+'ajax/getAdresseForDevis/'+client,success:function(data){MyAjax(data);}});});$("#factureAdresse select").change(function(){var projet=$(this).val();$.ajax({url:SITE_PATH+'ajax/getAdresseForFacture/'+projet,success:function(data){MyAjax(data);}});});if($(".dashboard").length>=1){$("#dash").sortable('destroy');if(FIRST_LOAD){FIRST_LOAD=false;}else{FIRST_LOAD=true;$.ajax({url:SITE_PATH+'ajax/reloadDashboards',success:function(data){MyAjax(data)}});}
+$("#dash").sortable({opacity:0.6,axis:"y",handle:".caption",stop:function(e,ui){$.ajax({url:SITE_PATH+'ajax/orderDashboards?'+$("#dash").sortable('serialize'),});resize();}});}
+$(".timereport_field").change(function(){var val=parseInt($(this).val());if(isNaN(val)){val=0;}
+var id=$(this).attr('id');var a=id.split('_');$.ajax({url:SITE_PATH+'ajax/saveTimereport/'+a[1]+'/'+a[2]+'/'+val,success:function(data){FIRST_LOAD=true;MyAjax(data);}});});$("#dash .toggle").click(function(){var rel=$(this).attr('rel');var div=$(this).parents('.dashboard').get(0);var liste=$(div).find('.liste');$(liste).slideToggle('fast',function(){resize();});$(this).toggleClass('close');$.ajax({url:SITE_PATH+'ajax/toggleDashboard/'+rel,});return false;});$(".filtre .bt").click(function(){var ul=$(this).parent().parent().children('ul');$(ul).slideToggle('fast');return false;});$(".filtre ul").click(function(e){if(e.target.nodeName=='INPUT'||e.target.nodeName=='LABEL'){return true;}
+$(this).slideToggle('fast');});$(".filtre span").click(function(){var ul=$(this).parent().children('ul');$(ul).slideToggle('fast');});$(".filtre input").change(function(){var form=$(this).parents('form').get(0);var uls=$(form).find("ul");var divs=$(form).find(".input");var spans=$(form).find("span");var i,j,k,ul,lis,li,input,label,checked,div,titre,t,t1,allc,inputs;for(i=0;i<uls.length;i++){div=divs[i];titre=Array();ul=uls[i];lis=$(ul).children("li");allc=$(lis).get(0);checked=0;for(j=1;j<lis.length;j++){li=lis[j];input=$(li).find('input').get(0);label=$(li).find('label').get(0);if(input.checked){checked++;titre.push($(label).text());}}
+if(checked==0){$(div).find('span').text($(allc).text());$(div).find('a').attr('title',$(allc).text());$(div).removeClass('active');inputs=$(ul).find('input');for(k=0;k<inputs.length;k++){inputs[k].checked=true;}}else if(checked==lis.length-1){$(div).find('span').text($(allc).text());$(div).find('a').attr('title',$(allc).text());$(div).removeClass('active');}else{t=titre.join(', ');if(t.length>20){t1=t.substr(0,16)+'...';}else{t1=t;}
+$(div).find('span').text(t1);$(div).find('a').attr('title',t);$(div).addClass('active');}}
+return true;});$(window).resize(function(){resize();});resize();}
+function resize(){var allh=$("#header").height()+$("#footer").height()+$("#bar").height()+$("#main .content").height()+13+30;var h=Math.max($(window).height(),allh);var mh=h-$("#header").height()-$("#footer").height()-$("#bar").height()-30-13;mh=Math.max(mh,450);$("#main").css('height',mh);}
\ No newline at end of file
diff --git a/js/merged-4703e7.js b/js/merged-4703e7.js
new file mode 100644 (file)
index 0000000..581c60d
--- /dev/null
@@ -0,0 +1,754 @@
+
+(function(){var
+window=this,undefined,_jQuery=window.jQuery,_$=window.$,jQuery=window.jQuery=window.$=function(selector,context){return new jQuery.fn.init(selector,context);},quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,isSimple=/^.[^:#\[\.,]*$/;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;this.context=selector;return this;}
+if(typeof selector==="string"){var match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1])
+selector=jQuery.clean([match[1]],context);else{var elem=document.getElementById(match[3]);if(elem&&elem.id!=match[3])
+return jQuery().find(selector);var ret=jQuery(elem||[]);ret.context=document;ret.selector=selector;return ret;}}else
+return jQuery(context).find(selector);}else if(jQuery.isFunction(selector))
+return jQuery(document).ready(selector);if(selector.selector&&selector.context){this.selector=selector.selector;this.context=selector.context;}
+return this.setArray(jQuery.isArray(selector)?selector:jQuery.makeArray(selector));},selector:"",jquery:"1.3.2",size:function(){return this.length;},get:function(num){return num===undefined?Array.prototype.slice.call(this):this[num];},pushStack:function(elems,name,selector){var ret=jQuery(elems);ret.prevObject=this;ret.context=this.context;if(name==="find")
+ret.selector=this.selector+(this.selector?" ":"")+selector;else if(name)
+ret.selector=this.selector+"."+name+"("+selector+")";return ret;},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elems);return this;},each:function(callback,args){return jQuery.each(this,callback,args);},index:function(elem){return jQuery.inArray(elem&&elem.jquery?elem[0]:elem,this);},attr:function(name,value,type){var options=name;if(typeof name==="string")
+if(value===undefined)
+return this[0]&&jQuery[type||"attr"](this[0],name);else{options={};options[name]=value;}
+return this.each(function(i){for(name in options)
+jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name));});},css:function(key,value){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]){var wrap=jQuery(html,this[0].ownerDocument).clone();if(this[0].parentNode)
+wrap.insertBefore(this[0]);wrap.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,function(elem){if(this.nodeType==1)
+this.appendChild(elem);});},prepend:function(){return this.domManip(arguments,true,function(elem){if(this.nodeType==1)
+this.insertBefore(elem,this.firstChild);});},before:function(){return this.domManip(arguments,false,function(elem){this.parentNode.insertBefore(elem,this);});},after:function(){return this.domManip(arguments,false,function(elem){this.parentNode.insertBefore(elem,this.nextSibling);});},end:function(){return this.prevObject||jQuery([]);},push:[].push,sort:[].sort,splice:[].splice,find:function(selector){if(this.length===1){var ret=this.pushStack([],"find",selector);ret.length=0;jQuery.find(selector,this[0],ret);return ret;}else{return this.pushStack(jQuery.unique(jQuery.map(this,function(elem){return jQuery.find(selector,elem);})),"find",selector);}},clone:function(events){var ret=this.map(function(){if(!jQuery.support.noCloneEvent&&!jQuery.isXMLDoc(this)){var html=this.outerHTML;if(!html){var div=this.ownerDocument.createElement("div");div.appendChild(this.cloneNode(true));html=div.innerHTML;}
+return jQuery.clean([html.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0];}else
+return this.cloneNode(true);});if(events===true){var orig=this.find("*").andSelf(),i=0;ret.find("*").andSelf().each(function(){if(this.nodeName!==orig[i].nodeName)
+return;var events=jQuery.data(orig[i],"events");for(var type in events){for(var handler in events[type]){jQuery.event.add(this,type,events[type][handler],events[type][handler].data);}}
+i++;});}
+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,jQuery.grep(this,function(elem){return elem.nodeType===1;})),"filter",selector);},closest:function(selector){var pos=jQuery.expr.match.POS.test(selector)?jQuery(selector):null,closer=0;return this.map(function(){var cur=this;while(cur&&cur.ownerDocument){if(pos?pos.index(cur)>-1:jQuery(cur).is(selector)){jQuery.data(cur,"closest",closer);return cur;}
+cur=cur.parentNode;closer++;}});},not:function(selector){if(typeof selector==="string")
+if(isSimple.test(selector))
+return this.pushStack(jQuery.multiFilter(selector,this,true),"not",selector);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 this.pushStack(jQuery.unique(jQuery.merge(this.get(),typeof selector==="string"?jQuery(selector):jQuery.makeArray(selector))));},is:function(selector){return!!selector&&jQuery.multiFilter(selector,this).length>0;},hasClass:function(selector){return!!selector&&this.is("."+selector);},val:function(value){if(value===undefined){var elem=this[0];if(elem){if(jQuery.nodeName(elem,'option'))
+return(elem.attributes.value||{}).specified?elem.value:elem.text;if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";if(index<0)
+return null;for(var i=one?index:0,max=one?index+1:options.length;i<max;i++){var option=options[i];if(option.selected){value=jQuery(option).val();if(one)
+return value;values.push(value);}}
+return values;}
+return(elem.value||"").replace(/\r/g,"");}
+return undefined;}
+if(typeof value==="number")
+value+='';return this.each(function(){if(this.nodeType!=1)
+return;if(jQuery.isArray(value)&&/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=jQuery.makeArray(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[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):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),"slice",Array.prototype.slice.call(arguments).join(","));},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);},domManip:function(args,table,callback){if(this[0]){var fragment=(this[0].ownerDocument||this[0]).createDocumentFragment(),scripts=jQuery.clean(args,(this[0].ownerDocument||this[0]),fragment),first=fragment.firstChild;if(first)
+for(var i=0,l=this.length;i<l;i++)
+callback.call(root(this[i],first),this.length>1||i>0?fragment.cloneNode(true):fragment);if(scripts)
+jQuery.each(scripts,evalScript);}
+return this;function root(elem,cur){return table&&jQuery.nodeName(elem,"table")&&jQuery.nodeName(cur,"tr")?(elem.getElementsByTagName("tbody")[0]||elem.appendChild(elem.ownerDocument.createElement("tbody"))):elem;}}};jQuery.fn.init.prototype=jQuery.fn;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);}
+function now(){return+new Date;}
+jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(typeof target==="boolean"){deep=target;target=arguments[1]||{};i=2;}
+if(typeof target!=="object"&&!jQuery.isFunction(target))
+target={};if(length==i){target=this;--i;}
+for(;i<length;i++)
+if((options=arguments[i])!=null)
+for(var name in options){var src=target[name],copy=options[name];if(target===copy)
+continue;if(deep&&copy&&typeof copy==="object"&&!copy.nodeType)
+target[name]=jQuery.extend(deep,src||(copy.length!=null?[]:{}),copy);else if(copy!==undefined)
+target[name]=copy;}
+return target;};var exclude=/z-?index|font-?weight|opacity|zoom|line-?height/i,defaultView=document.defaultView||{},toString=Object.prototype.toString;jQuery.extend({noConflict:function(deep){window.$=_$;if(deep)
+window.jQuery=_jQuery;return jQuery;},isFunction:function(obj){return toString.call(obj)==="[object Function]";},isArray:function(obj){return toString.call(obj)==="[object Array]";},isXMLDoc:function(elem){return elem.nodeType===9&&elem.documentElement.nodeName!=="HTML"||!!elem.ownerDocument&&jQuery.isXMLDoc(elem.ownerDocument);},globalEval:function(data){if(data&&/\S/.test(data)){var head=document.getElementsByTagName("head")[0]||document.documentElement,script=document.createElement("script");script.type="text/javascript";if(jQuery.support.scriptEval)
+script.appendChild(document.createTextNode(data));else
+script.text=data;head.insertBefore(script,head.firstChild);head.removeChild(script);}},nodeName:function(elem,name){return elem.nodeName&&elem.nodeName.toUpperCase()==name.toUpperCase();},each:function(object,callback,args){var name,i=0,length=object.length;if(args){if(length===undefined){for(name in object)
+if(callback.apply(object[name],args)===false)
+break;}else
+for(;i<length;)
+if(callback.apply(object[i++],args)===false)
+break;}else{if(length===undefined){for(name in object)
+if(callback.call(object[name],name,object[name])===false)
+break;}else
+for(var value=object[0];i<length&&callback.call(value,i,value)!==false;value=object[++i]){}}
+return object;},prop:function(elem,value,type,i,name){if(jQuery.isFunction(value))
+value=value.call(elem,i);return typeof value==="number"&&type=="curCSS"&&!exclude.test(name)?value+"px":value;},className:{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;});},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(" "):"";},has:function(elem,className){return elem&&jQuery.inArray(className,(elem.className||elem).toString().split(/\s+/))>-1;}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}
+callback.call(elem);for(var name in options)
+elem.style[name]=old[name];},css:function(elem,name,force,extra){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;if(extra==="border")
+return;jQuery.each(which,function(){if(!extra)
+val-=parseFloat(jQuery.curCSS(elem,"padding"+this,true))||0;if(extra==="margin")
+val+=parseFloat(jQuery.curCSS(elem,"margin"+this,true))||0;else
+val-=parseFloat(jQuery.curCSS(elem,"border"+this+"Width",true))||0;});}
+if(elem.offsetWidth!==0)
+getWH();else
+jQuery.swap(elem,props,getWH);return Math.max(0,Math.round(val));}
+return jQuery.curCSS(elem,name,force);},curCSS:function(elem,name,force){var ret,style=elem.style;if(name=="opacity"&&!jQuery.support.opacity){ret=jQuery.attr(style,"opacity");return ret==""?"1":ret;}
+if(name.match(/float/i))
+name=styleFloat;if(!force&&style&&style[name])
+ret=style[name];else if(defaultView.getComputedStyle){if(name.match(/float/i))
+name="float";name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var computedStyle=defaultView.getComputedStyle(elem,null);if(computedStyle)
+ret=computedStyle.getPropertyValue(name);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];if(!/^\d+(px)?$/i.test(ret)&&/^\d/.test(ret)){var left=style.left,rsLeft=elem.runtimeStyle.left;elem.runtimeStyle.left=elem.currentStyle.left;style.left=ret||0;ret=style.pixelLeft+"px";style.left=left;elem.runtimeStyle.left=rsLeft;}}
+return ret;},clean:function(elems,context,fragment){context=context||document;if(typeof context.createElement==="undefined")
+context=context.ownerDocument||context[0]&&context[0].ownerDocument||document;if(!fragment&&elems.length===1&&typeof elems[0]==="string"){var match=/^<(\w+)\s*\/?>$/.exec(elems[0]);if(match)
+return[context.createElement(match[1])];}
+var ret=[],scripts=[],div=context.createElement("div");jQuery.each(elems,function(i,elem){if(typeof elem==="number")
+elem+='';if(!elem)
+return;if(typeof elem==="string"){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+">";});var tags=elem.replace(/^\s+/,"").substring(0,10).toLowerCase();var wrap=!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>"]||(!tags.indexOf("<td")||!tags.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!tags.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||!jQuery.support.htmlSerialize&&[1,"div<div>","</div>"]||[0,"",""];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--)
+div=div.lastChild;if(!jQuery.support.tbody){var hasBody=/<tbody/i.test(elem),tbody=!tags.indexOf("<table")&&!hasBody?div.firstChild&&div.firstChild.childNodes:wrap[1]=="<table>"&&!hasBody?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]);}
+if(!jQuery.support.leadingWhitespace&&/^\s/.test(elem))
+div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]),div.firstChild);elem=jQuery.makeArray(div.childNodes);}
+if(elem.nodeType)
+ret.push(elem);else
+ret=jQuery.merge(ret,elem);});if(fragment){for(var i=0;ret[i];i++){if(jQuery.nodeName(ret[i],"script")&&(!ret[i].type||ret[i].type.toLowerCase()==="text/javascript")){scripts.push(ret[i].parentNode?ret[i].parentNode.removeChild(ret[i]):ret[i]);}else{if(ret[i].nodeType===1)
+ret.splice.apply(ret,[i+1,0].concat(jQuery.makeArray(ret[i].getElementsByTagName("script"))));fragment.appendChild(ret[i]);}}
+return scripts;}
+return ret;},attr:function(elem,name,value){if(!elem||elem.nodeType==3||elem.nodeType==8)
+return undefined;var notxml=!jQuery.isXMLDoc(elem),set=value!==undefined;name=notxml&&jQuery.props[name]||name;if(elem.tagName){var special=/href|src|style/.test(name);if(name=="selected"&&elem.parentNode)
+elem.parentNode.selectedIndex;if(name in elem&&notxml&&!special){if(set){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)
+throw"type property can't be changed";elem[name]=value;}
+if(jQuery.nodeName(elem,"form")&&elem.getAttributeNode(name))
+return elem.getAttributeNode(name).nodeValue;if(name=="tabIndex"){var attributeNode=elem.getAttributeNode("tabIndex");return attributeNode&&attributeNode.specified?attributeNode.value:elem.nodeName.match(/(button|input|object|select|textarea)/i)?0:elem.nodeName.match(/^(a|area)$/i)&&elem.href?0:undefined;}
+return elem[name];}
+if(!jQuery.support.style&&notxml&&name=="style")
+return jQuery.attr(elem.style,"cssText",value);if(set)
+elem.setAttribute(name,""+value);var attr=!jQuery.support.hrefNormalized&&notxml&&special?elem.getAttribute(name,2):elem.getAttribute(name);return attr===null?undefined:attr;}
+if(!jQuery.support.opacity&&name=="opacity"){if(set){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+
+(parseInt(value)+''=="NaN"?"":"alpha(opacity="+value*100+")");}
+return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100)+'':"";}
+name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(set)
+elem[name]=value;return elem[name];},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeArray:function(array){var ret=[];if(array!=null){var i=array.length;if(i==null||typeof array==="string"||jQuery.isFunction(array)||array.setInterval)
+ret[0]=array;else
+while(i)
+ret[--i]=array[i];}
+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){var i=0,elem,pos=first.length;if(!jQuery.support.getAll){while((elem=second[i++])!=null)
+if(elem.nodeType!=8)
+first[pos++]=elem;}else
+while((elem=second[i++])!=null)
+first[pos++]=elem;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=[];for(var i=0,length=elems.length;i<length;i++)
+if(!inv!=!callback(elems[i],i))
+ret.push(elems[i]);return ret;},map:function(elems,callback){var ret=[];for(var i=0,length=elems.length;i<length;i++){var value=callback(elems[i],i);if(value!=null)
+ret[ret.length]=value;}
+return ret.concat.apply([],ret);}});var userAgent=navigator.userAgent.toLowerCase();jQuery.browser={version:(userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,'0'])[1],safari:/webkit/.test(userAgent),opera:/opera/.test(userAgent),msie:/msie/.test(userAgent)&&!/opera/.test(userAgent),mozilla:/mozilla/.test(userAgent)&&!/(compatible|webkit)/.test(userAgent)};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),name,selector);};});jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(selector){var ret=[],insert=jQuery(selector);for(var i=0,l=insert.length;i<l;i++){var elems=(i>0?this.clone(true):this).get();jQuery.fn[original].apply(jQuery(insert[i]),elems);ret=ret.concat(elems);}
+return this.pushStack(ret,name,selector);};});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,state){if(typeof state!=="boolean")
+state=!jQuery.className.has(this,classNames);jQuery.className[state?"add":"remove"](this,classNames);},remove:function(selector){if(!selector||jQuery.filter(selector,[this]).length){jQuery("*",this).add([this]).each(function(){jQuery.event.remove(this);jQuery.removeData(this);});if(this.parentNode)
+this.parentNode.removeChild(this);}},empty:function(){jQuery(this).children().remove();while(this.firstChild)
+this.removeChild(this.firstChild);}},function(name,fn){jQuery.fn[name]=function(){return this.each(fn,arguments);};});function num(elem,prop){return elem[0]&&parseInt(jQuery.curCSS(elem[0],prop,true),10)||0;}
+var expando="jQuery"+now(),uuid=0,windowData={};jQuery.extend({cache:{},data:function(elem,name,data){elem=elem==window?windowData:elem;var id=elem[expando];if(!id)
+id=elem[expando]=++uuid;if(name&&!jQuery.cache[id])
+jQuery.cache[id]={};if(data!==undefined)
+jQuery.cache[id][name]=data;return name?jQuery.cache[id][name]:id;},removeData:function(elem,name){elem=elem==window?windowData:elem;var id=elem[expando];if(name){if(jQuery.cache[id]){delete jQuery.cache[id][name];name="";for(name in jQuery.cache[id])
+break;if(!name)
+jQuery.removeData(elem);}}else{try{delete elem[expando];}catch(e){if(elem.removeAttribute)
+elem.removeAttribute(expando);}
+delete jQuery.cache[id];}},queue:function(elem,type,data){if(elem){type=(type||"fx")+"queue";var q=jQuery.data(elem,type);if(!q||jQuery.isArray(data))
+q=jQuery.data(elem,type,jQuery.makeArray(data));else if(data)
+q.push(data);}
+return q;},dequeue:function(elem,type){var queue=jQuery.queue(elem,type),fn=queue.shift();if(!type||type==="fx")
+fn=queue[0];if(fn!==undefined)
+fn.call(elem);}});jQuery.fn.extend({data:function(key,value){var parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value===undefined){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data===undefined&&this.length)
+data=jQuery.data(this[0],key);return data===undefined&&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);});},queue:function(type,data){if(typeof type!=="string"){data=type;type="fx";}
+if(data===undefined)
+return jQuery.queue(this[0],type);return this.each(function(){var queue=jQuery.queue(this,type,data);if(type=="fx"&&queue.length==1)
+queue[0].call(this);});},dequeue:function(type){return this.each(function(){jQuery.dequeue(this,type);});}});(function(){var chunker=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,done=0,toString=Object.prototype.toString;var Sizzle=function(selector,context,results,seed){results=results||[];context=context||document;if(context.nodeType!==1&&context.nodeType!==9)
+return[];if(!selector||typeof selector!=="string"){return results;}
+var parts=[],m,set,checkSet,check,mode,extra,prune=true;chunker.lastIndex=0;while((m=chunker.exec(selector))!==null){parts.push(m[1]);if(m[2]){extra=RegExp.rightContext;break;}}
+if(parts.length>1&&origPOS.exec(selector)){if(parts.length===2&&Expr.relative[parts[0]]){set=posProcess(parts[0]+parts[1],context);}else{set=Expr.relative[parts[0]]?[context]:Sizzle(parts.shift(),context);while(parts.length){selector=parts.shift();if(Expr.relative[selector])
+selector+=parts.shift();set=posProcess(selector,set);}}}else{var ret=seed?{expr:parts.pop(),set:makeArray(seed)}:Sizzle.find(parts.pop(),parts.length===1&&context.parentNode?context.parentNode:context,isXML(context));set=Sizzle.filter(ret.expr,ret.set);if(parts.length>0){checkSet=makeArray(set);}else{prune=false;}
+while(parts.length){var cur=parts.pop(),pop=cur;if(!Expr.relative[cur]){cur="";}else{pop=parts.pop();}
+if(pop==null){pop=context;}
+Expr.relative[cur](checkSet,pop,isXML(context));}}
+if(!checkSet){checkSet=set;}
+if(!checkSet){throw"Syntax error, unrecognized expression: "+(cur||selector);}
+if(toString.call(checkSet)==="[object Array]"){if(!prune){results.push.apply(results,checkSet);}else if(context.nodeType===1){for(var i=0;checkSet[i]!=null;i++){if(checkSet[i]&&(checkSet[i]===true||checkSet[i].nodeType===1&&contains(context,checkSet[i]))){results.push(set[i]);}}}else{for(var i=0;checkSet[i]!=null;i++){if(checkSet[i]&&checkSet[i].nodeType===1){results.push(set[i]);}}}}else{makeArray(checkSet,results);}
+if(extra){Sizzle(extra,context,results,seed);if(sortOrder){hasDuplicate=false;results.sort(sortOrder);if(hasDuplicate){for(var i=1;i<results.length;i++){if(results[i]===results[i-1]){results.splice(i--,1);}}}}}
+return results;};Sizzle.matches=function(expr,set){return Sizzle(expr,null,null,set);};Sizzle.find=function(expr,context,isXML){var set,match;if(!expr){return[];}
+for(var i=0,l=Expr.order.length;i<l;i++){var type=Expr.order[i],match;if((match=Expr.match[type].exec(expr))){var left=RegExp.leftContext;if(left.substr(left.length-1)!=="\\"){match[1]=(match[1]||"").replace(/\\/g,"");set=Expr.find[type](match,context,isXML);if(set!=null){expr=expr.replace(Expr.match[type],"");break;}}}}
+if(!set){set=context.getElementsByTagName("*");}
+return{set:set,expr:expr};};Sizzle.filter=function(expr,set,inplace,not){var old=expr,result=[],curLoop=set,match,anyFound,isXMLFilter=set&&set[0]&&isXML(set[0]);while(expr&&set.length){for(var type in Expr.filter){if((match=Expr.match[type].exec(expr))!=null){var filter=Expr.filter[type],found,item;anyFound=false;if(curLoop==result){result=[];}
+if(Expr.preFilter[type]){match=Expr.preFilter[type](match,curLoop,inplace,result,not,isXMLFilter);if(!match){anyFound=found=true;}else if(match===true){continue;}}
+if(match){for(var i=0;(item=curLoop[i])!=null;i++){if(item){found=filter(item,match,i,curLoop);var pass=not^!!found;if(inplace&&found!=null){if(pass){anyFound=true;}else{curLoop[i]=false;}}else if(pass){result.push(item);anyFound=true;}}}}
+if(found!==undefined){if(!inplace){curLoop=result;}
+expr=expr.replace(Expr.match[type],"");if(!anyFound){return[];}
+break;}}}
+if(expr==old){if(anyFound==null){throw"Syntax error, unrecognized expression: "+expr;}else{break;}}
+old=expr;}
+return curLoop;};var Expr=Sizzle.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(elem){return elem.getAttribute("href");}},relative:{"+":function(checkSet,part,isXML){var isPartStr=typeof part==="string",isTag=isPartStr&&!/\W/.test(part),isPartStrNotTag=isPartStr&&!isTag;if(isTag&&!isXML){part=part.toUpperCase();}
+for(var i=0,l=checkSet.length,elem;i<l;i++){if((elem=checkSet[i])){while((elem=elem.previousSibling)&&elem.nodeType!==1){}
+checkSet[i]=isPartStrNotTag||elem&&elem.nodeName===part?elem||false:elem===part;}}
+if(isPartStrNotTag){Sizzle.filter(part,checkSet,true);}},">":function(checkSet,part,isXML){var isPartStr=typeof part==="string";if(isPartStr&&!/\W/.test(part)){part=isXML?part:part.toUpperCase();for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){var parent=elem.parentNode;checkSet[i]=parent.nodeName===part?parent:false;}}}else{for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){checkSet[i]=isPartStr?elem.parentNode:elem.parentNode===part;}}
+if(isPartStr){Sizzle.filter(part,checkSet,true);}}},"":function(checkSet,part,isXML){var doneName=done++,checkFn=dirCheck;if(!part.match(/\W/)){var nodeCheck=part=isXML?part:part.toUpperCase();checkFn=dirNodeCheck;}
+checkFn("parentNode",part,doneName,checkSet,nodeCheck,isXML);},"~":function(checkSet,part,isXML){var doneName=done++,checkFn=dirCheck;if(typeof part==="string"&&!part.match(/\W/)){var nodeCheck=part=isXML?part:part.toUpperCase();checkFn=dirNodeCheck;}
+checkFn("previousSibling",part,doneName,checkSet,nodeCheck,isXML);}},find:{ID:function(match,context,isXML){if(typeof context.getElementById!=="undefined"&&!isXML){var m=context.getElementById(match[1]);return m?[m]:[];}},NAME:function(match,context,isXML){if(typeof context.getElementsByName!=="undefined"){var ret=[],results=context.getElementsByName(match[1]);for(var i=0,l=results.length;i<l;i++){if(results[i].getAttribute("name")===match[1]){ret.push(results[i]);}}
+return ret.length===0?null:ret;}},TAG:function(match,context){return context.getElementsByTagName(match[1]);}},preFilter:{CLASS:function(match,curLoop,inplace,result,not,isXML){match=" "+match[1].replace(/\\/g,"")+" ";if(isXML){return match;}
+for(var i=0,elem;(elem=curLoop[i])!=null;i++){if(elem){if(not^(elem.className&&(" "+elem.className+" ").indexOf(match)>=0)){if(!inplace)
+result.push(elem);}else if(inplace){curLoop[i]=false;}}}
+return false;},ID:function(match){return match[1].replace(/\\/g,"");},TAG:function(match,curLoop){for(var i=0;curLoop[i]===false;i++){}
+return curLoop[i]&&isXML(curLoop[i])?match[1]:match[1].toUpperCase();},CHILD:function(match){if(match[1]=="nth"){var test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(match[2]=="even"&&"2n"||match[2]=="odd"&&"2n+1"||!/\D/.test(match[2])&&"0n+"+match[2]||match[2]);match[2]=(test[1]+(test[2]||1))-0;match[3]=test[3]-0;}
+match[0]=done++;return match;},ATTR:function(match,curLoop,inplace,result,not,isXML){var name=match[1].replace(/\\/g,"");if(!isXML&&Expr.attrMap[name]){match[1]=Expr.attrMap[name];}
+if(match[2]==="~="){match[4]=" "+match[4]+" ";}
+return match;},PSEUDO:function(match,curLoop,inplace,result,not){if(match[1]==="not"){if(match[3].match(chunker).length>1||/^\w/.test(match[3])){match[3]=Sizzle(match[3],null,null,curLoop);}else{var ret=Sizzle.filter(match[3],curLoop,inplace,true^not);if(!inplace){result.push.apply(result,ret);}
+return false;}}else if(Expr.match.POS.test(match[0])||Expr.match.CHILD.test(match[0])){return true;}
+return match;},POS:function(match){match.unshift(true);return match;}},filters:{enabled:function(elem){return elem.disabled===false&&elem.type!=="hidden";},disabled:function(elem){return elem.disabled===true;},checked:function(elem){return elem.checked===true;},selected:function(elem){elem.parentNode.selectedIndex;return elem.selected===true;},parent:function(elem){return!!elem.firstChild;},empty:function(elem){return!elem.firstChild;},has:function(elem,i,match){return!!Sizzle(match[3],elem).length;},header:function(elem){return/h\d/i.test(elem.nodeName);},text:function(elem){return"text"===elem.type;},radio:function(elem){return"radio"===elem.type;},checkbox:function(elem){return"checkbox"===elem.type;},file:function(elem){return"file"===elem.type;},password:function(elem){return"password"===elem.type;},submit:function(elem){return"submit"===elem.type;},image:function(elem){return"image"===elem.type;},reset:function(elem){return"reset"===elem.type;},button:function(elem){return"button"===elem.type||elem.nodeName.toUpperCase()==="BUTTON";},input:function(elem){return/input|select|textarea|button/i.test(elem.nodeName);}},setFilters:{first:function(elem,i){return i===0;},last:function(elem,i,match,array){return i===array.length-1;},even:function(elem,i){return i%2===0;},odd:function(elem,i){return i%2===1;},lt:function(elem,i,match){return i<match[3]-0;},gt:function(elem,i,match){return i>match[3]-0;},nth:function(elem,i,match){return match[3]-0==i;},eq:function(elem,i,match){return match[3]-0==i;}},filter:{PSEUDO:function(elem,match,i,array){var name=match[1],filter=Expr.filters[name];if(filter){return filter(elem,i,match,array);}else if(name==="contains"){return(elem.textContent||elem.innerText||"").indexOf(match[3])>=0;}else if(name==="not"){var not=match[3];for(var i=0,l=not.length;i<l;i++){if(not[i]===elem){return false;}}
+return true;}},CHILD:function(elem,match){var type=match[1],node=elem;switch(type){case'only':case'first':while(node=node.previousSibling){if(node.nodeType===1)return false;}
+if(type=='first')return true;node=elem;case'last':while(node=node.nextSibling){if(node.nodeType===1)return false;}
+return true;case'nth':var first=match[2],last=match[3];if(first==1&&last==0){return true;}
+var doneName=match[0],parent=elem.parentNode;if(parent&&(parent.sizcache!==doneName||!elem.nodeIndex)){var count=0;for(node=parent.firstChild;node;node=node.nextSibling){if(node.nodeType===1){node.nodeIndex=++count;}}
+parent.sizcache=doneName;}
+var diff=elem.nodeIndex-last;if(first==0){return diff==0;}else{return(diff%first==0&&diff/first>=0);}}},ID:function(elem,match){return elem.nodeType===1&&elem.getAttribute("id")===match;},TAG:function(elem,match){return(match==="*"&&elem.nodeType===1)||elem.nodeName===match;},CLASS:function(elem,match){return(" "+(elem.className||elem.getAttribute("class"))+" ").indexOf(match)>-1;},ATTR:function(elem,match){var name=match[1],result=Expr.attrHandle[name]?Expr.attrHandle[name](elem):elem[name]!=null?elem[name]:elem.getAttribute(name),value=result+"",type=match[2],check=match[4];return result==null?type==="!=":type==="="?value===check:type==="*="?value.indexOf(check)>=0:type==="~="?(" "+value+" ").indexOf(check)>=0:!check?value&&result!==false:type==="!="?value!=check:type==="^="?value.indexOf(check)===0:type==="$="?value.substr(value.length-check.length)===check:type==="|="?value===check||value.substr(0,check.length+1)===check+"-":false;},POS:function(elem,match,i,array){var name=match[2],filter=Expr.setFilters[name];if(filter){return filter(elem,i,match,array);}}}};var origPOS=Expr.match.POS;for(var type in Expr.match){Expr.match[type]=RegExp(Expr.match[type].source+/(?![^\[]*\])(?![^\(]*\))/.source);}
+var makeArray=function(array,results){array=Array.prototype.slice.call(array);if(results){results.push.apply(results,array);return results;}
+return array;};try{Array.prototype.slice.call(document.documentElement.childNodes);}catch(e){makeArray=function(array,results){var ret=results||[];if(toString.call(array)==="[object Array]"){Array.prototype.push.apply(ret,array);}else{if(typeof array.length==="number"){for(var i=0,l=array.length;i<l;i++){ret.push(array[i]);}}else{for(var i=0;array[i];i++){ret.push(array[i]);}}}
+return ret;};}
+var sortOrder;if(document.documentElement.compareDocumentPosition){sortOrder=function(a,b){var ret=a.compareDocumentPosition(b)&4?-1:a===b?0:1;if(ret===0){hasDuplicate=true;}
+return ret;};}else if("sourceIndex"in document.documentElement){sortOrder=function(a,b){var ret=a.sourceIndex-b.sourceIndex;if(ret===0){hasDuplicate=true;}
+return ret;};}else if(document.createRange){sortOrder=function(a,b){var aRange=a.ownerDocument.createRange(),bRange=b.ownerDocument.createRange();aRange.selectNode(a);aRange.collapse(true);bRange.selectNode(b);bRange.collapse(true);var ret=aRange.compareBoundaryPoints(Range.START_TO_END,bRange);if(ret===0){hasDuplicate=true;}
+return ret;};}
+(function(){var form=document.createElement("form"),id="script"+(new Date).getTime();form.innerHTML="<input name='"+id+"'/>";var root=document.documentElement;root.insertBefore(form,root.firstChild);if(!!document.getElementById(id)){Expr.find.ID=function(match,context,isXML){if(typeof context.getElementById!=="undefined"&&!isXML){var m=context.getElementById(match[1]);return m?m.id===match[1]||typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id").nodeValue===match[1]?[m]:undefined:[];}};Expr.filter.ID=function(elem,match){var node=typeof elem.getAttributeNode!=="undefined"&&elem.getAttributeNode("id");return elem.nodeType===1&&node&&node.nodeValue===match;};}
+root.removeChild(form);})();(function(){var div=document.createElement("div");div.appendChild(document.createComment(""));if(div.getElementsByTagName("*").length>0){Expr.find.TAG=function(match,context){var results=context.getElementsByTagName(match[1]);if(match[1]==="*"){var tmp=[];for(var i=0;results[i];i++){if(results[i].nodeType===1){tmp.push(results[i]);}}
+results=tmp;}
+return results;};}
+div.innerHTML="<a href='#'></a>";if(div.firstChild&&typeof div.firstChild.getAttribute!=="undefined"&&div.firstChild.getAttribute("href")!=="#"){Expr.attrHandle.href=function(elem){return elem.getAttribute("href",2);};}})();if(document.querySelectorAll)(function(){var oldSizzle=Sizzle,div=document.createElement("div");div.innerHTML="<p class='TEST'></p>";if(div.querySelectorAll&&div.querySelectorAll(".TEST").length===0){return;}
+Sizzle=function(query,context,extra,seed){context=context||document;if(!seed&&context.nodeType===9&&!isXML(context)){try{return makeArray(context.querySelectorAll(query),extra);}catch(e){}}
+return oldSizzle(query,context,extra,seed);};Sizzle.find=oldSizzle.find;Sizzle.filter=oldSizzle.filter;Sizzle.selectors=oldSizzle.selectors;Sizzle.matches=oldSizzle.matches;})();if(document.getElementsByClassName&&document.documentElement.getElementsByClassName)(function(){var div=document.createElement("div");div.innerHTML="<div class='test e'></div><div class='test'></div>";if(div.getElementsByClassName("e").length===0)
+return;div.lastChild.className="e";if(div.getElementsByClassName("e").length===1)
+return;Expr.order.splice(1,0,"CLASS");Expr.find.CLASS=function(match,context,isXML){if(typeof context.getElementsByClassName!=="undefined"&&!isXML){return context.getElementsByClassName(match[1]);}};})();function dirNodeCheck(dir,cur,doneName,checkSet,nodeCheck,isXML){var sibDir=dir=="previousSibling"&&!isXML;for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){if(sibDir&&elem.nodeType===1){elem.sizcache=doneName;elem.sizset=i;}
+elem=elem[dir];var match=false;while(elem){if(elem.sizcache===doneName){match=checkSet[elem.sizset];break;}
+if(elem.nodeType===1&&!isXML){elem.sizcache=doneName;elem.sizset=i;}
+if(elem.nodeName===cur){match=elem;break;}
+elem=elem[dir];}
+checkSet[i]=match;}}}
+function dirCheck(dir,cur,doneName,checkSet,nodeCheck,isXML){var sibDir=dir=="previousSibling"&&!isXML;for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){if(sibDir&&elem.nodeType===1){elem.sizcache=doneName;elem.sizset=i;}
+elem=elem[dir];var match=false;while(elem){if(elem.sizcache===doneName){match=checkSet[elem.sizset];break;}
+if(elem.nodeType===1){if(!isXML){elem.sizcache=doneName;elem.sizset=i;}
+if(typeof cur!=="string"){if(elem===cur){match=true;break;}}else if(Sizzle.filter(cur,[elem]).length>0){match=elem;break;}}
+elem=elem[dir];}
+checkSet[i]=match;}}}
+var contains=document.compareDocumentPosition?function(a,b){return a.compareDocumentPosition(b)&16;}:function(a,b){return a!==b&&(a.contains?a.contains(b):true);};var isXML=function(elem){return elem.nodeType===9&&elem.documentElement.nodeName!=="HTML"||!!elem.ownerDocument&&isXML(elem.ownerDocument);};var posProcess=function(selector,context){var tmpSet=[],later="",match,root=context.nodeType?[context]:context;while((match=Expr.match.PSEUDO.exec(selector))){later+=match[0];selector=selector.replace(Expr.match.PSEUDO,"");}
+selector=Expr.relative[selector]?selector+"*":selector;for(var i=0,l=root.length;i<l;i++){Sizzle(selector,root[i],tmpSet);}
+return Sizzle.filter(later,tmpSet);};jQuery.find=Sizzle;jQuery.filter=Sizzle.filter;jQuery.expr=Sizzle.selectors;jQuery.expr[":"]=jQuery.expr.filters;Sizzle.selectors.filters.hidden=function(elem){return elem.offsetWidth===0||elem.offsetHeight===0;};Sizzle.selectors.filters.visible=function(elem){return elem.offsetWidth>0||elem.offsetHeight>0;};Sizzle.selectors.filters.animated=function(elem){return jQuery.grep(jQuery.timers,function(fn){return elem===fn.elem;}).length;};jQuery.multiFilter=function(expr,elems,not){if(not){expr=":not("+expr+")";}
+return Sizzle.matches(expr,elems);};jQuery.dir=function(elem,dir){var matched=[],cur=elem[dir];while(cur&&cur!=document){if(cur.nodeType==1)
+matched.push(cur);cur=cur[dir];}
+return matched;};jQuery.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;};jQuery.sibling=function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType==1&&n!=elem)
+r.push(n);}
+return r;};return;window.Sizzle=Sizzle;})();jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8)
+return;if(elem.setInterval&&elem!=window)
+elem=window;if(!handler.guid)
+handler.guid=this.guid++;if(data!==undefined){var fn=handler;handler=this.proxy(fn);handler.data=data;}
+var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){return typeof jQuery!=="undefined"&&!jQuery.event.triggered?jQuery.event.handle.apply(arguments.callee.elem,arguments):undefined;});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var namespaces=type.split(".");type=namespaces.shift();handler.type=namespaces.slice().sort().join(".");var handlers=events[type];if(jQuery.event.specialAll[type])
+jQuery.event.specialAll[type].setup.call(elem,data,namespaces);if(!handlers){handlers=events[type]={};if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem,data,namespaces)===false){if(elem.addEventListener)
+elem.addEventListener(type,handle,false);else if(elem.attachEvent)
+elem.attachEvent("on"+type,handle);}}
+handlers[handler.guid]=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8)
+return;var events=jQuery.data(elem,"events"),ret,index;if(events){if(types===undefined||(typeof types==="string"&&types.charAt(0)=="."))
+for(var type in events)
+this.remove(elem,type+(types||""));else{if(types.type){handler=types.handler;types=types.type;}
+jQuery.each(types.split(/\s+/),function(index,type){var namespaces=type.split(".");type=namespaces.shift();var namespace=RegExp("(^|\\.)"+namespaces.slice().sort().join(".*\\.")+"(\\.|$)");if(events[type]){if(handler)
+delete events[type][handler.guid];else
+for(var handle in events[type])
+if(namespace.test(events[type][handle].type))
+delete events[type][handle];if(jQuery.event.specialAll[type])
+jQuery.event.specialAll[type].teardown.call(elem,namespaces);for(ret in events[type])break;if(!ret){if(!jQuery.event.special[type]||jQuery.event.special[type].teardown.call(elem,namespaces)===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];}}});}
+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(event,data,elem,bubbling){var type=event.type||event;if(!bubbling){event=typeof event==="object"?event[expando]?event:jQuery.extend(jQuery.Event(type),event):jQuery.Event(type);if(type.indexOf("!")>=0){event.type=type=type.slice(0,-1);event.exclusive=true;}
+if(!elem){event.stopPropagation();if(this.global[type])
+jQuery.each(jQuery.cache,function(){if(this.events&&this.events[type])
+jQuery.event.trigger(event,data,this.handle.elem);});}
+if(!elem||elem.nodeType==3||elem.nodeType==8)
+return undefined;event.result=undefined;event.target=elem;data=jQuery.makeArray(data);data.unshift(event);}
+event.currentTarget=elem;var handle=jQuery.data(elem,"handle");if(handle)
+handle.apply(elem,data);if((!elem[type]||(jQuery.nodeName(elem,'a')&&type=="click"))&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)
+event.result=false;if(!bubbling&&elem[type]&&!event.isDefaultPrevented()&&!(jQuery.nodeName(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]();}catch(e){}}
+this.triggered=false;if(!event.isPropagationStopped()){var parent=elem.parentNode||elem.ownerDocument;if(parent)
+jQuery.event.trigger(event,data,parent,true);}},handle:function(event){var all,handlers;event=arguments[0]=jQuery.event.fix(event||window.event);event.currentTarget=this;var namespaces=event.type.split(".");event.type=namespaces.shift();all=!namespaces.length&&!event.exclusive;var namespace=RegExp("(^|\\.)"+namespaces.slice().sort().join(".*\\.")+"(\\.|$)");handlers=(jQuery.data(this,"events")||{})[event.type];for(var j in handlers){var handler=handlers[j];if(all||namespace.test(handler.type)){event.handler=handler;event.data=handler.data;var ret=handler.apply(this,arguments);if(ret!==undefined){event.result=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}
+if(event.isImmediatePropagationStopped())
+break;}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(event){if(event[expando])
+return event;var originalEvent=event;event=jQuery.Event(originalEvent);for(var i=this.props.length,prop;i;){prop=this.props[--i];event[prop]=originalEvent[prop];}
+if(!event.target)
+event.target=event.srcElement||document;if(event.target.nodeType==3)
+event.target=event.target.parentNode;if(!event.relatedTarget&&event.fromElement)
+event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;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);}
+if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode))
+event.which=event.charCode||event.keyCode;if(!event.metaKey&&event.ctrlKey)
+event.metaKey=event.ctrlKey;if(!event.which&&event.button)
+event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));return event;},proxy:function(fn,proxy){proxy=proxy||function(){return fn.apply(this,arguments);};proxy.guid=fn.guid=fn.guid||proxy.guid||this.guid++;return proxy;},special:{ready:{setup:bindReady,teardown:function(){}}},specialAll:{live:{setup:function(selector,namespaces){jQuery.event.add(this,namespaces[0],liveHandler);},teardown:function(namespaces){if(namespaces.length){var remove=0,name=RegExp("(^|\\.)"+namespaces[0]+"(\\.|$)");jQuery.each((jQuery.data(this,"events").live||{}),function(){if(name.test(this.type))
+remove++;});if(remove<1)
+jQuery.event.remove(this,namespaces[0],liveHandler);}}}}};jQuery.Event=function(src){if(!this.preventDefault)
+return new jQuery.Event(src);if(src&&src.type){this.originalEvent=src;this.type=src.type;}else
+this.type=src;this.timeStamp=now();this[expando]=true;};function returnFalse(){return false;}
+function returnTrue(){return true;}
+jQuery.Event.prototype={preventDefault:function(){this.isDefaultPrevented=returnTrue;var e=this.originalEvent;if(!e)
+return;if(e.preventDefault)
+e.preventDefault();e.returnValue=false;},stopPropagation:function(){this.isPropagationStopped=returnTrue;var e=this.originalEvent;if(!e)
+return;if(e.stopPropagation)
+e.stopPropagation();e.cancelBubble=true;},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=returnTrue;this.stopPropagation();},isDefaultPrevented:returnFalse,isPropagationStopped:returnFalse,isImmediatePropagationStopped:returnFalse};var withinElement=function(event){var parent=event.relatedTarget;while(parent&&parent!=this)
+try{parent=parent.parentNode;}
+catch(e){parent=this;}
+if(parent!=this){event.type=event.data;jQuery.event.handle.apply(this,arguments);}};jQuery.each({mouseover:'mouseenter',mouseout:'mouseleave'},function(orig,fix){jQuery.event.special[fix]={setup:function(){jQuery.event.add(this,orig,withinElement,fix);},teardown:function(){jQuery.event.remove(this,orig,withinElement);}};});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){var one=jQuery.event.proxy(fn||data,function(event){jQuery(this).unbind(event,one);return(fn||data).apply(this,arguments);});return this.each(function(){jQuery.event.add(this,type,one,fn&&data);});},unbind:function(type,fn){return this.each(function(){jQuery.event.remove(this,type,fn);});},trigger:function(type,data){return this.each(function(){jQuery.event.trigger(type,data,this);});},triggerHandler:function(type,data){if(this[0]){var event=jQuery.Event(type);event.preventDefault();event.stopPropagation();jQuery.event.trigger(event,data,this[0]);return event.result;}},toggle:function(fn){var args=arguments,i=1;while(i<args.length)
+jQuery.event.proxy(fn,args[i++]);return this.click(jQuery.event.proxy(fn,function(event){this.lastToggle=(this.lastToggle||0)%i;event.preventDefault();return args[this.lastToggle++].apply(this,arguments)||false;}));},hover:function(fnOver,fnOut){return this.mouseenter(fnOver).mouseleave(fnOut);},ready:function(fn){bindReady();if(jQuery.isReady)
+fn.call(document,jQuery);else
+jQuery.readyList.push(fn);return this;},live:function(type,fn){var proxy=jQuery.event.proxy(fn);proxy.guid+=this.selector+type;jQuery(document).bind(liveConvert(type,this.selector),this.selector,proxy);return this;},die:function(type,fn){jQuery(document).unbind(liveConvert(type,this.selector),fn?{guid:fn.guid+this.selector+type}:null);return this;}});function liveHandler(event){var check=RegExp("(^|\\.)"+event.type+"(\\.|$)"),stop=true,elems=[];jQuery.each(jQuery.data(this,"events").live||[],function(i,fn){if(check.test(fn.type)){var elem=jQuery(event.target).closest(fn.data)[0];if(elem)
+elems.push({elem:elem,fn:fn});}});elems.sort(function(a,b){return jQuery.data(a.elem,"closest")-jQuery.data(b.elem,"closest");});jQuery.each(elems,function(){if(this.fn.call(this.elem,event,this.fn.data)===false)
+return(stop=false);});return stop;}
+function liveConvert(type,selector){return["live",type,selector.replace(/\./g,"`").replace(/ /g,"|")].join(".");}
+jQuery.extend({isReady:false,readyList:[],ready:function(){if(!jQuery.isReady){jQuery.isReady=true;if(jQuery.readyList){jQuery.each(jQuery.readyList,function(){this.call(document,jQuery);});jQuery.readyList=null;}
+jQuery(document).triggerHandler("ready");}}});var readyBound=false;function bindReady(){if(readyBound)return;readyBound=true;if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);jQuery.ready();},false);}else if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);jQuery.ready();}});if(document.documentElement.doScroll&&window==window.top)(function(){if(jQuery.isReady)return;try{document.documentElement.doScroll("left");}catch(error){setTimeout(arguments.callee,0);return;}
+jQuery.ready();})();}
+jQuery.event.add(window,"load",jQuery.ready);}
+jQuery.each(("blur,focus,load,resize,scroll,unload,click,dblclick,"+"mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,"+"change,select,submit,keydown,keypress,keyup,error").split(","),function(i,name){jQuery.fn[name]=function(fn){return fn?this.bind(name,fn):this.trigger(name);};});jQuery(window).bind('unload',function(){for(var id in jQuery.cache)
+if(id!=1&&jQuery.cache[id].handle)
+jQuery.event.remove(jQuery.cache[id].handle.elem);});(function(){jQuery.support={};var root=document.documentElement,script=document.createElement("script"),div=document.createElement("div"),id="script"+(new Date).getTime();div.style.display="none";div.innerHTML='   <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';var all=div.getElementsByTagName("*"),a=div.getElementsByTagName("a")[0];if(!all||!all.length||!a){return;}
+jQuery.support={leadingWhitespace:div.firstChild.nodeType==3,tbody:!div.getElementsByTagName("tbody").length,objectAll:!!div.getElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSerialize:!!div.getElementsByTagName("link").length,style:/red/.test(a.getAttribute("style")),hrefNormalized:a.getAttribute("href")==="/a",opacity:a.style.opacity==="0.5",cssFloat:!!a.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};script.type="text/javascript";try{script.appendChild(document.createTextNode("window."+id+"=1;"));}catch(e){}
+root.insertBefore(script,root.firstChild);if(window[id]){jQuery.support.scriptEval=true;delete window[id];}
+root.removeChild(script);if(div.attachEvent&&div.fireEvent){div.attachEvent("onclick",function(){jQuery.support.noCloneEvent=false;div.detachEvent("onclick",arguments.callee);});div.cloneNode(true).fireEvent("onclick");}
+jQuery(function(){var div=document.createElement("div");div.style.width=div.style.paddingLeft="1px";document.body.appendChild(div);jQuery.boxModel=jQuery.support.boxModel=div.offsetWidth===2;document.body.removeChild(div).style.display='none';});})();var styleFloat=jQuery.support.cssFloat?"cssFloat":"styleFloat";jQuery.props={"for":"htmlFor","class":"className","float":styleFloat,cssFloat:styleFloat,styleFloat:styleFloat,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};jQuery.fn.extend({_load:jQuery.fn.load,load:function(url,params,callback){if(typeof url!=="string")
+return this._load(url);var off=url.indexOf(" ");if(off>=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}
+var type="GET";if(params)
+if(jQuery.isFunction(params)){callback=params;params=null;}else if(typeof params==="object"){params=jQuery.param(params);type="POST";}
+var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified")
+self.html(selector?jQuery("<div/>").append(res.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(selector):res.responseText);if(callback)
+self.each(callback,[res.responseText,status,res]);}});return this;},serialize:function(){return jQuery.param(this.serializeArray());},serializeArray:function(){return this.map(function(){return this.elements?jQuery.makeArray(this.elements):this;}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type));}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:jQuery.isArray(val)?jQuery.map(val,function(val,i){return{name:elem.name,value:val};}):{name:elem.name,value:val};}).get();}});jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=now();jQuery.extend({get:function(url,data,callback,type){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:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(s){s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));var jsonp,jsre=/=\?(&|$)/g,status,data,type=s.type.toUpperCase();if(s.data&&s.processData&&typeof s.data!=="string")
+s.data=jQuery.param(s.data);if(s.dataType=="jsonp"){if(type=="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";}
+if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++;if(s.data)
+s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";window[jsonp]=function(tmp){data=tmp;success();complete();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&&type=="GET"){var ts=now();var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"");}
+if(s.data&&type=="GET"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data;s.data=null;}
+if(s.global&&!jQuery.active++)
+jQuery.event.trigger("ajaxStart");var parts=/^(\w+:)?\/\/([^\/?#]+)/.exec(s.url);if(s.dataType=="script"&&type=="GET"&&parts&&(parts[1]&&parts[1]!=location.protocol||parts[2]!=location.host)){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=s.url;if(s.scriptCharset)
+script.charset=s.scriptCharset;if(!jsonp){var done=false;script.onload=script.onreadystatechange=function(){if(!done&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){done=true;success();complete();script.onload=script.onreadystatechange=null;head.removeChild(script);}};}
+head.appendChild(script);return undefined;}
+var requestDone=false;var xhr=s.xhr();if(s.username)
+xhr.open(type,s.url,s.async,s.username,s.password);else
+xhr.open(type,s.url,s.async);try{if(s.data)
+xhr.setRequestHeader("Content-Type",s.contentType);if(s.ifModified)
+xhr.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");xhr.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default);}catch(e){}
+if(s.beforeSend&&s.beforeSend(xhr,s)===false){if(s.global&&!--jQuery.active)
+jQuery.event.trigger("ajaxStop");xhr.abort();return false;}
+if(s.global)
+jQuery.event.trigger("ajaxSend",[xhr,s]);var onreadystatechange=function(isTimeout){if(xhr.readyState==0){if(ival){clearInterval(ival);ival=null;if(s.global&&!--jQuery.active)
+jQuery.event.trigger("ajaxStop");}}else if(!requestDone&&xhr&&(xhr.readyState==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival=null;}
+status=isTimeout=="timeout"?"timeout":!jQuery.httpSuccess(xhr)?"error":s.ifModified&&jQuery.httpNotModified(xhr,s.url)?"notmodified":"success";if(status=="success"){try{data=jQuery.httpData(xhr,s.dataType,s);}catch(e){status="parsererror";}}
+if(status=="success"){var modRes;try{modRes=xhr.getResponseHeader("Last-Modified");}catch(e){}
+if(s.ifModified&&modRes)
+jQuery.lastModified[s.url]=modRes;if(!jsonp)
+success();}else
+jQuery.handleError(s,xhr,status);complete();if(isTimeout)
+xhr.abort();if(s.async)
+xhr=null;}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout>0)
+setTimeout(function(){if(xhr&&!requestDone)
+onreadystatechange("timeout");},s.timeout);}
+try{xhr.send(s.data);}catch(e){jQuery.handleError(s,xhr,null,e);}
+if(!s.async)
+onreadystatechange();function success(){if(s.success)
+s.success(data,status);if(s.global)
+jQuery.event.trigger("ajaxSuccess",[xhr,s]);}
+function complete(){if(s.complete)
+s.complete(xhr,status);if(s.global)
+jQuery.event.trigger("ajaxComplete",[xhr,s]);if(s.global&&!--jQuery.active)
+jQuery.event.trigger("ajaxStop");}
+return xhr;},handleError:function(s,xhr,status,e){if(s.error)s.error(xhr,status,e);if(s.global)
+jQuery.event.trigger("ajaxError",[xhr,s,e]);},active:0,httpSuccess:function(xhr){try{return!xhr.status&&location.protocol=="file:"||(xhr.status>=200&&xhr.status<300)||xhr.status==304||xhr.status==1223;}catch(e){}
+return false;},httpNotModified:function(xhr,url){try{var xhrRes=xhr.getResponseHeader("Last-Modified");return xhr.status==304||xhrRes==jQuery.lastModified[url];}catch(e){}
+return false;},httpData:function(xhr,type,s){var ct=xhr.getResponseHeader("content-type"),xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0,data=xml?xhr.responseXML:xhr.responseText;if(xml&&data.documentElement.tagName=="parsererror")
+throw"parsererror";if(s&&s.dataFilter)
+data=s.dataFilter(data,type);if(typeof data==="string"){if(type=="script")
+jQuery.globalEval(data);if(type=="json")
+data=window["eval"]("("+data+")");}
+return data;},param:function(a){var s=[];function add(key,value){s[s.length]=encodeURIComponent(key)+'='+encodeURIComponent(value);};if(jQuery.isArray(a)||a.jquery)
+jQuery.each(a,function(){add(this.name,this.value);});else
+for(var j in a)
+if(jQuery.isArray(a[j]))
+jQuery.each(a[j],function(){add(j,this);});else
+add(j,jQuery.isFunction(a[j])?a[j]():a[j]);return s.join("&").replace(/%20/g,"+");}});var elemdisplay={},timerId,fxAttrs=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function genFx(type,num){var obj={};jQuery.each(fxAttrs.concat.apply([],fxAttrs.slice(0,num)),function(){obj[this]=type;});return obj;}
+jQuery.fn.extend({show:function(speed,callback){if(speed){return this.animate(genFx("show",3),speed,callback);}else{for(var i=0,l=this.length;i<l;i++){var old=jQuery.data(this[i],"olddisplay");this[i].style.display=old||"";if(jQuery.css(this[i],"display")==="none"){var tagName=this[i].tagName,display;if(elemdisplay[tagName]){display=elemdisplay[tagName];}else{var elem=jQuery("<"+tagName+" />").appendTo("body");display=elem.css("display");if(display==="none")
+display="block";elem.remove();elemdisplay[tagName]=display;}
+jQuery.data(this[i],"olddisplay",display);}}
+for(var i=0,l=this.length;i<l;i++){this[i].style.display=jQuery.data(this[i],"olddisplay")||"";}
+return this;}},hide:function(speed,callback){if(speed){return this.animate(genFx("hide",3),speed,callback);}else{for(var i=0,l=this.length;i<l;i++){var old=jQuery.data(this[i],"olddisplay");if(!old&&old!=="none")
+jQuery.data(this[i],"olddisplay",jQuery.css(this[i],"display"));}
+for(var i=0,l=this.length;i<l;i++){this[i].style.display="none";}
+return this;}},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){var bool=typeof fn==="boolean";return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle.apply(this,arguments):fn==null||bool?this.each(function(){var state=bool?fn:jQuery(this).is(":hidden");jQuery(this)[state?"show":"hide"]();}):this.animate(genFx("toggle",3),fn,fn2);},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(){var opt=jQuery.extend({},optall),p,hidden=this.nodeType==1&&jQuery(this).is(":hidden"),self=this;for(p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)
+return opt.complete.call(this);if((p=="height"||p=="width")&&this.style){opt.display=jQuery.css(this,"display");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";if(unit!="px"){self.style[name]=(end||1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit;}
+if(parts[1])
+end=((parts[1]=="-="?-1:1)*end)+start;e.custom(start,end,unit);}else
+e.custom(start,val,"");}});return true;});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue)
+this.queue([]);this.each(function(){for(var i=timers.length-1;i>=0;i--)
+if(timers[i].elem==this){if(gotoEnd)
+timers[i](true);timers.splice(i,1);}});if(!gotoEnd)
+this.dequeue();return this;}});jQuery.each({slideDown:genFx("show",1),slideUp:genFx("hide",1),slideToggle:genFx("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(name,props){jQuery.fn[name]=function(speed,callback){return this.animate(props,speed,callback);};});jQuery.extend({speed:function(speed,easing,fn){var opt=typeof speed==="object"?speed:{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&!jQuery.isFunction(easing)&&easing};opt.duration=jQuery.fx.off?0:typeof opt.duration==="number"?opt.duration:jQuery.fx.speeds[opt.duration]||jQuery.fx.speeds._default;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false)
+jQuery(this).dequeue();if(jQuery.isFunction(opt.old))
+opt.old.call(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:[],fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;if(!options.orig)
+options.orig={};}});jQuery.fx.prototype={update:function(){if(this.options.step)
+this.options.step.call(this.elem,this.now,this);(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style)
+this.elem.style.display="block";},cur:function(force){if(this.elem[this.prop]!=null&&(!this.elem.style||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;},custom:function(from,to,unit){this.startTime=now();this.start=from;this.end=to;this.unit=unit||this.unit||"px";this.now=this.start;this.pos=this.state=0;var self=this;function t(gotoEnd){return self.step(gotoEnd);}
+t.elem=this.elem;if(t()&&jQuery.timers.push(t)&&!timerId){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(timerId);timerId=undefined;}},13);}},show:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.show=true;this.custom(this.prop=="width"||this.prop=="height"?1:0,this.cur());jQuery(this.elem).show();},hide:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0);},step:function(gotoEnd){var t=now();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){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,"display")=="none")
+this.elem.style.display="block";}
+if(this.options.hide)
+jQuery(this.elem).hide();if(this.options.hide||this.options.show)
+for(var p in this.options.curAnim)
+jQuery.attr(this.elem.style,p,this.options.orig[p]);this.options.complete.call(this.elem);}
+return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;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);this.update();}
+return true;}};jQuery.extend(jQuery.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(fx){jQuery.attr(fx.elem.style,"opacity",fx.now);},_default:function(fx){if(fx.elem.style&&fx.elem.style[fx.prop]!=null)
+fx.elem.style[fx.prop]=fx.now+fx.unit;else
+fx.elem[fx.prop]=fx.now;}}});if(document.documentElement["getBoundingClientRect"])
+jQuery.fn.offset=function(){if(!this[0])return{top:0,left:0};if(this[0]===this[0].ownerDocument.body)return jQuery.offset.bodyOffset(this[0]);var box=this[0].getBoundingClientRect(),doc=this[0].ownerDocument,body=doc.body,docElem=doc.documentElement,clientTop=docElem.clientTop||body.clientTop||0,clientLeft=docElem.clientLeft||body.clientLeft||0,top=box.top+(self.pageYOffset||jQuery.boxModel&&docElem.scrollTop||body.scrollTop)-clientTop,left=box.left+(self.pageXOffset||jQuery.boxModel&&docElem.scrollLeft||body.scrollLeft)-clientLeft;return{top:top,left:left};};else
+jQuery.fn.offset=function(){if(!this[0])return{top:0,left:0};if(this[0]===this[0].ownerDocument.body)return jQuery.offset.bodyOffset(this[0]);jQuery.offset.initialized||jQuery.offset.initialize();var elem=this[0],offsetParent=elem.offsetParent,prevOffsetParent=elem,doc=elem.ownerDocument,computedStyle,docElem=doc.documentElement,body=doc.body,defaultView=doc.defaultView,prevComputedStyle=defaultView.getComputedStyle(elem,null),top=elem.offsetTop,left=elem.offsetLeft;while((elem=elem.parentNode)&&elem!==body&&elem!==docElem){computedStyle=defaultView.getComputedStyle(elem,null);top-=elem.scrollTop,left-=elem.scrollLeft;if(elem===offsetParent){top+=elem.offsetTop,left+=elem.offsetLeft;if(jQuery.offset.doesNotAddBorder&&!(jQuery.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(elem.tagName)))
+top+=parseInt(computedStyle.borderTopWidth,10)||0,left+=parseInt(computedStyle.borderLeftWidth,10)||0;prevOffsetParent=offsetParent,offsetParent=elem.offsetParent;}
+if(jQuery.offset.subtractsBorderForOverflowNotVisible&&computedStyle.overflow!=="visible")
+top+=parseInt(computedStyle.borderTopWidth,10)||0,left+=parseInt(computedStyle.borderLeftWidth,10)||0;prevComputedStyle=computedStyle;}
+if(prevComputedStyle.position==="relative"||prevComputedStyle.position==="static")
+top+=body.offsetTop,left+=body.offsetLeft;if(prevComputedStyle.position==="fixed")
+top+=Math.max(docElem.scrollTop,body.scrollTop),left+=Math.max(docElem.scrollLeft,body.scrollLeft);return{top:top,left:left};};jQuery.offset={initialize:function(){if(this.initialized)return;var body=document.body,container=document.createElement('div'),innerDiv,checkDiv,table,td,rules,prop,bodyMarginTop=body.style.marginTop,html='<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';rules={position:'absolute',top:0,left:0,margin:0,border:0,width:'1px',height:'1px',visibility:'hidden'};for(prop in rules)container.style[prop]=rules[prop];container.innerHTML=html;body.insertBefore(container,body.firstChild);innerDiv=container.firstChild,checkDiv=innerDiv.firstChild,td=innerDiv.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(checkDiv.offsetTop!==5);this.doesAddBorderForTableAndCells=(td.offsetTop===5);innerDiv.style.overflow='hidden',innerDiv.style.position='relative';this.subtractsBorderForOverflowNotVisible=(checkDiv.offsetTop===-5);body.style.marginTop='1px';this.doesNotIncludeMarginInBodyOffset=(body.offsetTop===0);body.style.marginTop=bodyMarginTop;body.removeChild(container);this.initialized=true;},bodyOffset:function(body){jQuery.offset.initialized||jQuery.offset.initialize();var top=body.offsetTop,left=body.offsetLeft;if(jQuery.offset.doesNotIncludeMarginInBodyOffset)
+top+=parseInt(jQuery.curCSS(body,'marginTop',true),10)||0,left+=parseInt(jQuery.curCSS(body,'marginLeft',true),10)||0;return{top:top,left:left};}};jQuery.fn.extend({position:function(){var left=0,top=0,results;if(this[0]){var offsetParent=this.offsetParent(),offset=this.offset(),parentOffset=/^body|html$/i.test(offsetParent[0].tagName)?{top:0,left:0}:offsetParent.offset();offset.top-=num(this,'marginTop');offset.left-=num(this,'marginLeft');parentOffset.top+=num(offsetParent,'borderTopWidth');parentOffset.left+=num(offsetParent,'borderLeftWidth');results={top:offset.top-parentOffset.top,left:offset.left-parentOffset.left};}
+return results;},offsetParent:function(){var offsetParent=this[0].offsetParent||document.body;while(offsetParent&&(!/^body|html$/i.test(offsetParent.tagName)&&jQuery.css(offsetParent,'position')=='static'))
+offsetParent=offsetParent.offsetParent;return jQuery(offsetParent);}});jQuery.each(['Left','Top'],function(i,name){var method='scroll'+name;jQuery.fn[method]=function(val){if(!this[0])return null;return val!==undefined?this.each(function(){this==window||this==document?window.scrollTo(!i?val:jQuery(window).scrollLeft(),i?val:jQuery(window).scrollTop()):this[method]=val;}):this[0]==window||this[0]==document?self[i?'pageYOffset':'pageXOffset']||jQuery.boxModel&&document.documentElement[method]||document.body[method]:this[0][method];};});jQuery.each(["Height","Width"],function(i,name){var tl=i?"Left":"Top",br=i?"Right":"Bottom",lower=name.toLowerCase();jQuery.fn["inner"+name]=function(){return this[0]?jQuery.css(this[0],lower,false,"padding"):null;};jQuery.fn["outer"+name]=function(margin){return this[0]?jQuery.css(this[0],lower,false,margin?"margin":"border"):null;};var type=name.toLowerCase();jQuery.fn[type]=function(size){return this[0]==window?document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(document.documentElement["client"+name],document.body["scroll"+name],document.documentElement["scroll"+name],document.body["offset"+name],document.documentElement["offset"+name]):size===undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,typeof size==="string"?size:size+"px");};});})();(function($){$.fn.ajaxSubmit=function(options){if(!this.length){log('ajaxSubmit: skipping submit process - no element selected');return this;}
+if(typeof options=='function')
+options={success:options};options=$.extend({url:this.attr('action')||window.location.toString(),type:this.attr('method')||'GET'},options||{});var veto={};this.trigger('form-pre-serialize',[this,options,veto]);if(veto.veto){log('ajaxSubmit: submit vetoed via form-pre-serialize trigger');return this;}
+var a=this.formToArray(options.semantic);if(options.data){options.extraData=options.data;for(var n in options.data)
+a.push({name:n,value:options.data[n]});}
+if(options.beforeSubmit&&options.beforeSubmit(a,this,options)===false){log('ajaxSubmit: submit aborted via beforeSubmit callback');return this;}
+this.trigger('form-submit-validate',[a,this,options,veto]);if(veto.veto){log('ajaxSubmit: submit vetoed via form-submit-validate trigger');return this;}
+var q=$.param(a);if(options.type.toUpperCase()=='GET'){options.url+=(options.url.indexOf('?')>=0?'&':'?')+q;options.data=null;}
+else
+options.data=q;var $form=this,callbacks=[];if(options.resetForm)callbacks.push(function(){$form.resetForm();});if(options.clearForm)callbacks.push(function(){$form.clearForm();});if(!options.dataType&&options.target){var oldSuccess=options.success||function(){};callbacks.push(function(data){$(options.target).html(data).each(oldSuccess,arguments);});}
+else if(options.success)
+callbacks.push(options.success);options.success=function(data,status){for(var i=0,max=callbacks.length;i<max;i++)
+callbacks[i](data,status,$form);};var files=$('input:file',this).fieldValue();var found=false;for(var j=0;j<files.length;j++)
+if(files[j])
+found=true;if(options.iframe||found){if($.browser.safari&&options.closeKeepAlive)
+$.get(options.closeKeepAlive,fileUpload);else
+fileUpload();}
+else
+$.ajax(options);this.trigger('form-submit-notify',[this,options]);return this;function fileUpload(){var form=$form[0];if($(':input[@name=submit]',form).length){alert('Error: Form elements must not be named "submit".');return;}
+var opts=$.extend({},$.ajaxSettings,options);var id='jqFormIO'+(new Date().getTime());var $io=$('<iframe id="'+id+'" name="'+id+'" />');var io=$io[0];if($.browser.msie||$.browser.opera)
+io.src='javascript:false;document.write("");';$io.css({position:'absolute',top:'-1000px',left:'-1000px'});var xhr={responseText:null,responseXML:null,status:0,statusText:'n/a',getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){}};var g=opts.global;if(g&&!$.active++)$.event.trigger("ajaxStart");if(g)$.event.trigger("ajaxSend",[xhr,opts]);var cbInvoked=0;var timedOut=0;var sub=form.clk;if(sub){var n=sub.name;if(n&&!sub.disabled){options.extraData=options.extraData||{};options.extraData[n]=sub.value;if(sub.type=="image"){options.extraData[name+'.x']=form.clk_x;options.extraData[name+'.y']=form.clk_y;}}}
+setTimeout(function(){var t=$form.attr('target'),a=$form.attr('action');$form.attr({target:id,encoding:'multipart/form-data',enctype:'multipart/form-data',method:'POST',action:opts.url});if(opts.timeout)
+setTimeout(function(){timedOut=true;cb();},opts.timeout);var extraInputs=[];try{if(options.extraData)
+for(var n in options.extraData)
+extraInputs.push($('<input type="hidden" name="'+n+'" value="'+options.extraData[n]+'" />').appendTo(form)[0]);$io.appendTo('body');io.attachEvent?io.attachEvent('onload',cb):io.addEventListener('load',cb,false);form.submit();}
+finally{$form.attr('action',a);t?$form.attr('target',t):$form.removeAttr('target');$(extraInputs).remove();}},10);function cb(){if(cbInvoked++)return;io.detachEvent?io.detachEvent('onload',cb):io.removeEventListener('load',cb,false);var operaHack=0;var ok=true;try{if(timedOut)throw'timeout';var data,doc;doc=io.contentWindow?io.contentWindow.document:io.contentDocument?io.contentDocument:io.document;if(doc.body==null&&!operaHack&&$.browser.opera){operaHack=1;cbInvoked--;setTimeout(cb,100);return;}
+xhr.responseText=doc.body?doc.body.innerHTML:null;xhr.responseXML=doc.XMLDocument?doc.XMLDocument:doc;xhr.getResponseHeader=function(header){var headers={'content-type':opts.dataType};return headers[header];};if(opts.dataType=='json'||opts.dataType=='script'){var ta=doc.getElementsByTagName('textarea')[0];xhr.responseText=ta?ta.value:xhr.responseText;}
+else if(opts.dataType=='xml'&&!xhr.responseXML&&xhr.responseText!=null){xhr.responseXML=toXml(xhr.responseText);}
+data=$.httpData(xhr,opts.dataType);}
+catch(e){ok=false;$.handleError(opts,xhr,'error',e);}
+if(ok){opts.success(data,'success');if(g)$.event.trigger("ajaxSuccess",[xhr,opts]);}
+if(g)$.event.trigger("ajaxComplete",[xhr,opts]);if(g&&!--$.active)$.event.trigger("ajaxStop");if(opts.complete)opts.complete(xhr,ok?'success':'error');setTimeout(function(){$io.remove();xhr.responseXML=null;},100);};function toXml(s,doc){if(window.ActiveXObject){doc=new ActiveXObject('Microsoft.XMLDOM');doc.async='false';doc.loadXML(s);}
+else
+doc=(new DOMParser()).parseFromString(s,'text/xml');return(doc&&doc.documentElement&&doc.documentElement.tagName!='parsererror')?doc:null;};};};$.fn.ajaxForm=function(options){return this.ajaxFormUnbind().bind('submit.form-plugin',function(){$(this).ajaxSubmit(options);return false;}).each(function(){$(":submit,input:image",this).bind('click.form-plugin',function(e){var $form=this.form;$form.clk=this;if(this.type=='image'){if(e.offsetX!=undefined){$form.clk_x=e.offsetX;$form.clk_y=e.offsetY;}else if(typeof $.fn.offset=='function'){var offset=$(this).offset();$form.clk_x=e.pageX-offset.left;$form.clk_y=e.pageY-offset.top;}else{$form.clk_x=e.pageX-this.offsetLeft;$form.clk_y=e.pageY-this.offsetTop;}}
+setTimeout(function(){$form.clk=$form.clk_x=$form.clk_y=null;},10);});});};$.fn.ajaxFormUnbind=function(){this.unbind('submit.form-plugin');return this.each(function(){$(":submit,input:image",this).unbind('click.form-plugin');});};$.fn.formToArray=function(semantic){var a=[];if(this.length==0)return a;var form=this[0];var els=semantic?form.getElementsByTagName('*'):form.elements;if(!els)return a;for(var i=0,max=els.length;i<max;i++){var el=els[i];var n=el.name;if(!n)continue;if(semantic&&form.clk&&el.type=="image"){if(!el.disabled&&form.clk==el)
+a.push({name:n+'.x',value:form.clk_x},{name:n+'.y',value:form.clk_y});continue;}
+var v=$.fieldValue(el,true);if(v&&v.constructor==Array){for(var j=0,jmax=v.length;j<jmax;j++)
+a.push({name:n,value:v[j]});}
+else if(v!==null&&typeof v!='undefined')
+a.push({name:n,value:v});}
+if(!semantic&&form.clk){var inputs=form.getElementsByTagName("input");for(var i=0,max=inputs.length;i<max;i++){var input=inputs[i];var n=input.name;if(n&&!input.disabled&&input.type=="image"&&form.clk==input)
+a.push({name:n+'.x',value:form.clk_x},{name:n+'.y',value:form.clk_y});}}
+return a;};$.fn.formSerialize=function(semantic){return $.param(this.formToArray(semantic));};$.fn.fieldSerialize=function(successful){var a=[];this.each(function(){var n=this.name;if(!n)return;var v=$.fieldValue(this,successful);if(v&&v.constructor==Array){for(var i=0,max=v.length;i<max;i++)
+a.push({name:n,value:v[i]});}
+else if(v!==null&&typeof v!='undefined')
+a.push({name:this.name,value:v});});return $.param(a);};$.fn.fieldValue=function(successful){for(var val=[],i=0,max=this.length;i<max;i++){var el=this[i];var v=$.fieldValue(el,successful);if(v===null||typeof v=='undefined'||(v.constructor==Array&&!v.length))
+continue;v.constructor==Array?$.merge(val,v):val.push(v);}
+return val;};$.fieldValue=function(el,successful){var n=el.name,t=el.type,tag=el.tagName.toLowerCase();if(typeof successful=='undefined')successful=true;if(successful&&(!n||el.disabled||t=='reset'||t=='button'||(t=='checkbox'||t=='radio')&&!el.checked||(t=='submit'||t=='image')&&el.form&&el.form.clk!=el||tag=='select'&&el.selectedIndex==-1))
+return null;if(tag=='select'){var index=el.selectedIndex;if(index<0)return null;var a=[],ops=el.options;var one=(t=='select-one');var max=(one?index+1:ops.length);for(var i=(one?index:0);i<max;i++){var op=ops[i];if(op.selected){var v=$.browser.msie&&!(op.attributes['value'].specified)?op.text:op.value;if(one)return v;a.push(v);}}
+return a;}
+return el.value;};$.fn.clearForm=function(){return this.each(function(){$('input,select,textarea',this).clearFields();});};$.fn.clearFields=$.fn.clearInputs=function(){return this.each(function(){var t=this.type,tag=this.tagName.toLowerCase();if(t=='text'||t=='password'||tag=='textarea')
+this.value='';else if(t=='checkbox'||t=='radio')
+this.checked=false;else if(tag=='select')
+this.selectedIndex=-1;});};$.fn.resetForm=function(){return this.each(function(){if(typeof this.reset=='function'||(typeof this.reset=='object'&&!this.reset.nodeType))
+this.reset();});};$.fn.enable=function(b){if(b==undefined)b=true;return this.each(function(){this.disabled=!b});};$.fn.select=function(select){if(select==undefined)select=true;return this.each(function(){var t=this.type;if(t=='checkbox'||t=='radio')
+this.checked=select;else if(this.tagName.toLowerCase()=='option'){var $sel=$(this).parent('select');if(select&&$sel[0]&&$sel[0].type=='select-one'){$sel.find('option').select(false);}
+this.selected=select;}});};function log(){if($.fn.ajaxSubmit.debug&&window.console&&window.console.log)
+window.console.log('[jquery.form] '+Array.prototype.join.call(arguments,''));};})(jQuery);var TO_LOAD_INDEX=0;var TO_LOAD=new Array;var MARKITUP=false;var UNBIND=false;var GOTOAFTERSUBMIT='';$(function(){load_jquery();});function load_jquery(){if(UNBIND){if(MARKITUP){$("*").not(".markItUpButton").unbind();}else{$("*").unbind();}}
+UNBIND=true;$("a.submit").click(function(){$(this).parents("form").submit();if($(this).attr('href')!='#'){GOTOAFTERSUBMIT=$(this).attr('href');}
+return false;});$("a.submitOnce").click(function(){$(this).parents("form").submit();$(this).unbind('click');return false;});$("a.submitWait").click(function(){$(this).parents("form").after('<p class="center">'+$(this).attr('title')+'<br /><br /><img src="'+IMG_CUBE+'/loader.gif" /></p>');$(this).parents("form").submit();$(this).parents("form").hide();return false;});$("form").submit(function(){$(this).attr('change','0');return true;});$("form.blank").each(function(){$(this).attr('target','_blank');$(this).removeClass('_blank');});$("form").not(".notajax").submit(function(){display_loader();$(this).ajaxSubmit({url:SITE_PATH+'ajax/'+$(this).attr('action'),success:function(data){MyAjax(data);if(GOTOAFTERSUBMIT!=''){window.location=GOTOAFTERSUBMIT;GOTOAFTERSUBMIT='';}}});return false;});$(".notajax form").unbind();$("form.submitonchange :input").each(function(){$(this).one('change',function(){$(this).parents("form").submit();});});$(":input").change(function(){$(this).parents("form").attr("change",1);});$("a.ajax").click(function(){var title=$(this).attr('title');var href=$(this).attr('rel');if(title!=''&&title!=undefined&&title.search(/\?/)>-1){if(!window.confirm(title)){return false;}}
+if($(this).hasClass('wait')){wait();}
+display_loader();$.ajax({url:SITE_PATH+'ajax/'+href,success:function(data){MyAjax(data);}});return false;});$("a.dajax").dblclick(function(){var title=$(this).attr('title');var href=$(this).attr('rel');if(title!=''&&title!=undefined&&title.search(/\?/)>=0){if(!window.confirm(title)){return false;}}
+display_loader();$.ajax({url:SITE_PATH+'ajax/'+href,success:function(data){MyAjax(data);}});return false;});$("a.ajaxh").click(function(){var title=$(this).attr('title');var href=$(this).attr('href');if(title!=''&&title!=undefined&&title.search(/\?/)>=0){if(!window.confirm(title)){return false;}}
+display_loader();$.ajax({url:href,success:function(data){MyAjax(data);}});return false;});$("a.prompt").click(function(){var href=$(this).attr('rel');var defaut=$(this).attr('rev');var name=window.prompt($(this).attr('title'),defaut);if(name==null||name=='null'||name==''){return false;}
+display_loader();$.ajax({url:SITE_PATH+'ajax/'+href+'?var='+name,success:function(data){MyAjax(data);}});return false;});$("a.closePopup").click(function(){closePopup($(this),true);return false;});$("a.closePopupNotConfirm").click(function(){closePopup($(this),false);return false;});$("a.popup").click(function(){display_loader();$.ajax({url:SITE_PATH+'ajax/'+$(this).attr('rel'),dataType:'responseText',success:function(data){createPopup(data);}});remove_loader();return false;});$("a.changepopup").click(function(){display_loader();$.ajax({url:SITE_PATH+'ajax/'+$(this).attr('rel'),dataType:'responseText',success:function(data){changepopup(data);load_jquery();}});remove_loader();return false;});$("a.blank").click(function(){$(this).attr('target','_blank');return true;});$("a.nothing").click(function(){return false;});$(".pemail").each(function(){var protected=$(this).text();var adresse=rot13(protected);$(this).text(adresse);$(this).attr('href','mailto:'+adresse);$(this).removeClass('pemail');});var len=TO_LOAD.length;for(var i=0;i<len;i++){eval(TO_LOAD[i]);}
+__fixPNG();if($("#jquery_time").length>0&&$("#jquery_time").text()==''){var E=new Date();var m=(parseInt(E-S)/1000).toString().replace('.',',');$("#jquery_time").text(m);}}
+function randval(min,max){var diff=max-min;return Math.round(Math.random()*diff)+diff;}
+function rot(t,u,v){return String.fromCharCode(((t-u+v)%(v*2))+u);}
+function rot13(s){var b=[],c,i=s.length,a='a'.charCodeAt(),z=a+26,A='A'.charCodeAt(),Z=A+26;while(i--){c=s.charCodeAt(i);if(c>=a&&c<z){b[i]=rot(c,a,13);}else if(c>=A&&c<Z){b[i]=rot(c,A,13);}else{b[i]=s.charAt(i);}}
+return b.join('');}
+function createPopup(data){POPUP_COUNTER=parseInt(POPUP_COUNTER);$("body").append('<div id="pl_'+POPUP_COUNTER+'" class="popupLayer"><div class="popupOverlay" id="po_'+POPUP_COUNTER+'" style="z-index:'+(1000+POPUP_COUNTER*2)+';"></div><div id="pw_'+POPUP_COUNTER+'" class="popupWindow" style="z-index:'+(1001+POPUP_COUNTER*2)+';"></div></div>');$("#po_"+POPUP_COUNTER).css('opacity',0.65);$("#po_"+POPUP_COUNTER).css('display','block');$("#pw_"+POPUP_COUNTER).html(data);$("#pw_"+POPUP_COUNTER).show();popup_dimensions(POPUP_COUNTER);load_jquery();POPUP_COUNTER+=1;}
+function closePopup(object,confirm){if(object==undefined||object==null){var i=$(".popupLayer").length-1;var elements=$(".popupLayer").get();var e=elements[i];var changes=false;$(this).find("form").each(function(){if($(this).attr("change")==1){changes=true;}});if(confirm==false||(changes==true&&window.confirm(CONFIRM_CLOSE))||changes==false){$(e).remove();POPUP_COUNTER-=1;popup_dimensions();}}else{$(object).parents(".popupLayer").each(function(){var changes=false;$(this).find("form").each(function(){if($(this).attr("change")==1){changes=true;}});if(confirm==false||(changes==true&&window.confirm(CONFIRM_CLOSE))||changes==false){$(this).remove();POPUP_COUNTER-=1;popup_dimensions();}});}}
+function popup_dimensions(i){if(i==undefined){i=POPUP_COUNTER-1;}
+if(i<0){return;}
+var margin=30;var mh=$(window).height()-(margin*2);if(!$.browser.msie){$("#pw_"+i).css("opacity",0);}
+$("#pw_"+i+" .c>div").css("overflow-y",'auto');$("#pw_"+i+" .c>div").css("overflow-x",'visible');$("#pw_"+i+" .c>div").css("max-height",mh);$("#pw_"+i).css("left",($(window).width()-$("#pw_"+i).width())/2);if($("#pw_"+i+" .c>div").attr('top')){$("#pw_"+i).css("top",parseInt($("#pw_"+i+" .c>div").attr('top')));}else{var top=(mh-$("#pw_"+i).height())/2+margin;$("#pw_"+i).css("top",top);}
+if(!$.browser.msie){$("#pw_"+i).css("opacity",1);}}
+function changepopup(data){var pc=POPUP_COUNTER-1;$("#pw_"+pc).html(data);popup_dimensions(pc);}
+function checkUpload(){if($.browser.msie){var iframe=uploadIframe.document;}else{var uploadIframe=document.getElementById('uploadIframe');var iframe=uploadIframe.contentDocument;}
+if(iframe.getElementById('status')!=undefined&&iframe.contentDocument.getElementById('status').innerHTML!=undefined){clearInterval(INTERVAL);$.ajax({url:UPDATE,success:function(data){MyAjax(data);}});if(iframe.getElementById('status').innerHTML!='ok'){window.alert(ERREUR_FICHIER+' : \n'+iframe.getElementById('status').innerHTML);}
+if(POPUP_COUNTER>0){closePopup(null,false);}
+$("#uploadIframe").remove();}}
+function isSet(i){return(i==null||i=='null'||i==''||i=='undefined');}
+function callAjaxSwf(urlLink){$.ajax({url:urlLink,success:function(data){MyAjax(data);}});}
+function swfAjax(data){MyAjax(strToXML(data));}
+function MyAjax(data,reload){var error=new Array();var confirmation='';var ok=true;var t=$(data).children('rsp').children().get();for(var i=0;i<t.length;i++){var e=t[i];var name=e.nodeName;if(name=='confirmation'){var contentconfirm=$(e).text();confirmation+="<p>"+contentconfirm+"</p>";}else if(name=='error'){var errors=$(e).children().get();for(var j=0;j<errors.length;j++){var err=errors[j];var ename=err.nodeName;var econtent=$(err).text();$("#"+ename).addClass('error');$("#"+ename).val('');error.push(econtent);ok=false;}}else if(name=='content'){var contents=$(e).children().get();for(var k=0;k<contents.length;k++){var content=contents[k];var cname=content.nodeName;var ccontent=$(content).text();if(ccontent==''){$("#"+cname).html(ccontent);}else{$("#"+cname).html(ccontent);}
+if(POPUP_COUNTER-1>=0){popup_dimensions(POPUP_COUNTER-1);}}}else if(name=='replace'){var contents=$(e).children().get();for(var k=0;k<contents.length;k++){var content=contents[k];var cname=content.nodeName;var ccontent=$(content).text();if(ccontent==''){$("#"+cname).replaceWith(ccontent);}else{$("#"+cname).replaceWith(ccontent);}
+if(POPUP_COUNTER-1>=0){popup_dimensions(POPUP_COUNTER-1);}}}else if(name=='append'){var contents=$(e).children().get();for(var k=0;k<contents.length;k++){var content=contents[k];var cname=content.nodeName;var ccontent=$(content).text();if(ccontent==''){$("#"+cname).append(ccontent);}else{$("#"+cname).append(ccontent);}
+if(POPUP_COUNTER-1>=0){popup_dimensions(POPUP_COUNTER-1);}}}else if(name=='param'){var ids=$(e).children().get();for(var p=0;p<ids.length;p++){var id=ids[p];var idname=id.nodeName;var params=$(id).children().get();var o={};for(var q=0;q<params.length;q++){var param=params[q];var paramname=param.nodeName;var paramcontent=$(param).text();o[paramname]=paramcontent;}
+$("#"+idname).attr(o);$("#"+idname).parents("form").unbind('submit');}}else if(name=='alert'){var alerts=$(e).children().get();for(var r=0;r<alerts.length;r++){var alert=alerts[r];var acontent=$(alert).text();window.alert(acontent);}}else if(name=='ok'){var oks=$(e).children().get();for(var l=0;l<oks.length;l++){var ok=oks[l];var oname=ok.nodeName.toLowerCase();$("#"+oname).removeClass('error');}}else if(name=='redirection'){var url=$(e).text();window.location=url;}else if(name=='show'){var oks=$(e).children().get();for(var l=0;l<oks.length;l++){var ok=oks[l];var oname=ok.nodeName;$("#"+oname).show('fast');}}else if(name=='debug'){}else if(name=='eval'){var codes=$(e).children().get();for(var r=0;r<codes.length;r++){var code=codes[r];eval($(code).text());}}else if(name=='closepopup'){var closes=$(e).children().get();for(var cp=0;cp<closes.length;cp++){closePopup(null,false);}}else if(name=='openpopup'){var opens=$(e).children().get();for(var op=0;op<opens.length;op++){var cont=opens[op];createPopup($(cont).text());}}else if(name=='changepopup'){var changes=$(e).children().get();for(var cp=0;cp<changes.length;cp++){var cont=changes[cp];changepopup($(cont).text());}}
+else if(name=='popupdimensions'){popup_dimensions();}
+else if(name=='truepopup'){var trues=$(e).children().get();for(var tp=0;tp<trues.length;tp++){var cont=trues[tp];truePopup($(cont).text());}}else if(name=='timer'){var time=parseInt($(e).text());var t=setTimeout("doNothing()",time);}else if(name=='value'){var values=$(e).children().get();for(var v=0;v<values.length;v++){var node=values[v];var oname=node.nodeName;var val=$("#"+oname).val($(node).text());}}}
+if(error.length>0){$("#message").html(error.join('<br />'));}else{$("#message").html('');}
+if(confirmation!=''){$("#confirmation").html(confirmation);$("#confirmation").animate({height:26,opacity:1},2000,function(){$("#confirmation").fadeTo(10000,1,function(){$("#confirmation").animate({height:0,opacity:0},2000);$("#confirmation").empty();});});}
+if(reload==true||reload==undefined){load_jquery();}
+remove_loader();return ok;}
+function truePopup(url){var rand=Math.round(Math.random()*200);window.open(url,'Popup'+rand,'width='+window.width+',height='+window.height);}
+function _fixPNG(){var png;var images=$('img[src*="png"]:not([fixed="fixed"])');images.each(function(){png=$(this).attr('src');$(this).attr('src',IMG_CUBE+'/spacer.gif');$(this).css('filter',"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+png+"')");$(this).attr('fixed','fixed');});}
+function __fixPNG(){if($.browser.msie&&parseInt(navigator.userAgent.match(/MSIE (\d+(?:\.\d+)+(?:b\d*)?)/)[1])<=6){_fixPNG();}}
+function getWindowHeight(){var windowHeight=0;if(typeof(window.innerHeight)=='number'){windowHeight=window.innerHeight;}
+else{if(document.documentElement&&document.documentElement.clientHeight){windowHeight=document.documentElement.clientHeight;}
+else{if(document.body&&document.body.clientHeight){windowHeight=document.body.clientHeight;}}}
+return windowHeight;}
+function getWindowWidth(){var myWidth=0;if(typeof(window.innerWidth)=='number'){myWidth=window.innerWidth;}
+else if(document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight)){myWidth=document.documentElement.clientWidth;}
+else if(document.body&&(document.body.clientWidth||document.body.clientHeight)){myWidth=document.body.clientWidth;}
+return myWidth;}
+function doNothing(){}
+function htmlEditorGetText(id){var text=document.getElementById(id).value;return'<TEXTFORMAT LEADING="2"><P ALIGN="LEFT">'+text+'</P></TEXTFORMAT>';}
+function htmlEditorPutText(id,text){document.getElementById(id).value=text;}
+function display_loader(){if(LOADER_AJAX==''){}else{$("body").append('<div id="loader"><img src="'+LOADER_AJAX+'" /></div>');}}
+function remove_loader(){if(LOADER_AJAX==''){}else{$("#loader").remove();}}
+function URLEncode(clearString){var output='';var x=0;clearString=clearString.toString();var regex=/(^[a-zA-Z0-9_.]*)/;while(x<clearString.length){var match=regex.exec(clearString.substr(x));if(match!=null&&match.length>1&&match[1]!=''){output+=match[1];x+=match[1].length;}else{if(clearString[x]==' ')
+output+='+';else{var charCode=clearString.charCodeAt(x);var hexVal=charCode.toString(16);output+='%'+(hexVal.length<2?'0':'')+hexVal.toUpperCase();}
+x++;}}
+return output;}
+function strToXML(str){var contentType='application/xml';if(typeof(DOMParser)!='undefined'){return(new DOMParser()).parseFromString(str.substr(0,4095),contentType);}else if(typeof(ActiveXObject)!='undefined'){var xmldata=new ActiveXObject('MSXML.DomDocument');xmldata.async=false;xmldata.loadXML(str);return xmldata;}else if(typeof(XMLHttpRequest)!='undefined'){var xmldata=new XMLHttpRequest;if(!contentType){contentType='application/xml';}
+xmldata.open('GET','data:'+contentType+';charset=utf-8,'+encodeURIComponent(str),false);if(xmldata.overrideMimeType){xmldata.overrideMimeType(contentType);}
+xmldata.send(null);return xmldata.responseXML;}}
+jQuery.autocomplete=function(input,options){var me=this;var $input=$(input).attr("autocomplete","off");if(options.inputClass){$input.addClass(options.inputClass);}
+var results=document.createElement("div");var $results=$(results).hide().addClass(options.resultsClass).css("position","absolute");if(options.width>0){$results.css("width",options.width);}
+$(input).parent().append(results);input.autocompleter=me;var timeout=null;var prev="";var active=-1;var cache={};var keyb=false;var hasFocus=false;var lastKeyPressCode=null;var mouseDownOnSelect=false;var hidingResults=false;function flushCache(){cache={};cache.data={};cache.length=0;}
+flushCache();if(options.data!=null){var sFirstChar="",stMatchSets={},row=[];if(typeof options.url!="string"){options.cacheLength=1;}
+for(var i=0;i<options.data.length;i++){row=((typeof options.data[i]=="string")?[options.data[i]]:options.data[i]);if(row[0].length>0){sFirstChar=row[0].substring(0,1).toLowerCase();if(!stMatchSets[sFirstChar])stMatchSets[sFirstChar]=[];stMatchSets[sFirstChar].push(row);}}
+for(var k in stMatchSets){options.cacheLength++;addToCache(k,stMatchSets[k]);}}
+$input.keydown(function(e){lastKeyPressCode=e.keyCode;switch(e.keyCode){case 38:e.preventDefault();moveSelect(-1);break;case 40:e.preventDefault();moveSelect(1);break;case 9:case 13:if(selectCurrent()){var i=$input.get(0);$(i).change();$(i).blur();e.preventDefault();}
+break;default:active=-1;if(timeout)clearTimeout(timeout);timeout=setTimeout(function(){onChange();},options.delay);break;}}).focus(function(){hasFocus=true;}).blur(function(){hasFocus=false;if(!mouseDownOnSelect){hideResults();}});hideResultsNow();function onChange(){if(lastKeyPressCode==46||(lastKeyPressCode>8&&lastKeyPressCode<32))return $results.hide();var v=$input.val();if(v==prev)return;prev=v;if(v.length>=options.minChars){$input.addClass(options.loadingClass);requestData(v);}else{$input.removeClass(options.loadingClass);$results.hide();}};function moveSelect(step){var lis=$("li",results);if(!lis)return;active+=step;if(active<0){active=0;}else if(active>=lis.size()){active=lis.size()-1;}
+lis.removeClass("ac_over");$(lis[active]).addClass("ac_over");};function selectCurrent(){var li=$("li.ac_over",results)[0];if(!li){var $li=$("li",results);if(options.selectOnly){if($li.length==1)li=$li[0];}else if(options.selectFirst){li=$li[0];}}
+if(li){selectItem(li);return true;}else{return false;}};function selectItem(li){if(!li){li=document.createElement("li");li.extra=[];li.selectValue="";}
+var v=$.trim(li.selectValue?li.selectValue:li.innerHTML);input.lastSelected=v;prev=v;$results.html("");$input.val(v);hideResultsNow();if(options.onItemSelect){setTimeout(function(){options.onItemSelect(li)},1);}};function createSelection(start,end){var field=$input.get(0);if(field.createTextRange){var selRange=field.createTextRange();selRange.collapse(true);selRange.moveStart("character",start);selRange.moveEnd("character",end);selRange.select();}else if(field.setSelectionRange){field.setSelectionRange(start,end);}else{if(field.selectionStart){field.selectionStart=start;field.selectionEnd=end;}}
+field.focus();};function autoFill(sValue){if(lastKeyPressCode!=8){$input.val($input.val()+sValue.substring(prev.length));createSelection(prev.length,sValue.length);}};function showResults(){var pos=$(input).position();var iWidth=(options.width>0)?options.width:$input.width();$results.css({width:parseInt(iWidth)+"px",top:parseInt(pos.top+parseInt($(input).height()))+"px",left:pos.left+"px",zIndex:'10',display:'block',position:'absolute'}).show();};function hideResults(){if(timeout)clearTimeout(timeout);timeout=setTimeout(hideResultsNow,200);};function hideResultsNow(){if(hidingResults){return;}
+hidingResults=true;if(timeout){clearTimeout(timeout);}
+var v=$input.removeClass(options.loadingClass).val();if($results.is(":visible")){$results.hide();}
+if(options.mustMatch){if(!input.lastSelected||input.lastSelected!=v){selectItem(null);}}
+hidingResults=false;};function receiveData(q,data){if(data){$input.removeClass(options.loadingClass);results.innerHTML="";if(!hasFocus||data.length==0)return hideResultsNow();if($.browser.msie){$results.append(document.createElement('iframe'));}
+results.appendChild(dataToDom(data));if(options.autoFill&&($input.val().toLowerCase()==q.toLowerCase()))autoFill(data[0][0]);showResults();flushCache();}else{hideResultsNow();}};function parseData(data){if(!data)return null;var parsed=[];var rows=data[1];for(var i=0;i<rows.length;i++){var row=rows[i];if(row){parsed[parsed.length]=new Array(row);}}
+return parsed;};function dataToDom(data){var ul=document.createElement("ul");var num=data.length;if((options.maxItemsToShow>0)&&(options.maxItemsToShow<num))num=options.maxItemsToShow;for(var i=0;i<num;i++){var row=data[i];if(!row)continue;var li=document.createElement("li");if(options.formatItem){li.innerHTML=options.formatItem(row,i,num);li.selectValue=row[0];}else{li.innerHTML=row[0];li.selectValue=row[0];}
+var extra=null;if(row.length>1){extra=[];for(var j=1;j<row.length;j++){extra[extra.length]=row[j];}}
+li.extra=extra;ul.appendChild(li);$(li).hover(function(){$("li",ul).removeClass("ac_over");$(this).addClass("ac_over");active=$("li",ul).indexOf($(this).get(0));},function(){$(this).removeClass("ac_over");}).click(function(e){e.preventDefault();e.stopPropagation();selectItem(this)});}
+$(ul).mousedown(function(){mouseDownOnSelect=true;}).mouseup(function(){mouseDownOnSelect=false;});return ul;};function requestData(q){if(!options.matchCase)q=q.toLowerCase();var data=options.cacheLength?loadFromCache(q):null;if(data){receiveData(q,data);}else if((typeof options.url=="string")&&(options.url.length>0)){$.getJSON(makeUrl(q),function(data){data=parseData(data);addToCache(q,data);receiveData(q,data);});}else{$input.removeClass(options.loadingClass);}};function makeUrl(q){var sep=options.url.indexOf('?')==-1?'?':'&';var url=options.url+sep+"q="+encodeURI(q);for(var i in options.extraParams){url+="&"+i+"="+encodeURI(options.extraParams[i]);}
+return url;};function loadFromCache(q){if(!q)return null;if(cache.data[q])return cache.data[q];if(options.matchSubset){for(var i=q.length-1;i>=options.minChars;i--){var qs=q.substr(0,i);var c=cache.data[qs];if(c){var csub=[];for(var j=0;j<c.length;j++){var x=c[j];var x0=x[0];if(matchSubset(x0,q)){csub[csub.length]=x;}}
+return csub;}}}
+return null;};function matchSubset(s,sub){if(!options.matchCase)s=s.toLowerCase();var i=s.indexOf(sub);if(i==-1)return false;return i==0||options.matchContains;};this.flushCache=function(){flushCache();};this.setExtraParams=function(p){options.extraParams=p;};this.findValue=function(){var q=$input.val();if(!options.matchCase)q=q.toLowerCase();var data=options.cacheLength?loadFromCache(q):null;if(data){findValueCallback(q,data);}else if((typeof options.url=="string")&&(options.url.length>0)){$.get(makeUrl(q),function(data){data=parseData(data)
+addToCache(q,data);findValueCallback(q,data);});}else{findValueCallback(q,null);}}
+function findValueCallback(q,data){if(data)$input.removeClass(options.loadingClass);var num=(data)?data.length:0;var li=null;for(var i=0;i<num;i++){var row=data[i];if(row[0].toLowerCase()==q.toLowerCase()){li=document.createElement("li");if(options.formatItem){li.innerHTML=options.formatItem(row,i,num);li.selectValue=row[0];}else{li.innerHTML=row[0];li.selectValue=row[0];}
+var extra=null;if(row.length>1){extra=[];for(var j=1;j<row.length;j++){extra[extra.length]=row[j];}}
+li.extra=extra;}}
+if(options.onFindValue)setTimeout(function(){options.onFindValue(li)},1);}
+function addToCache(q,data){if(!data||!q||!options.cacheLength)return;if(!cache.length||cache.length>options.cacheLength){flushCache();cache.length++;}else if(!cache[q]){cache.length++;}
+cache.data[q]=data;};function findPos(obj){var curleft=obj.offsetLeft||0;var curtop=obj.offsetTop||0;while(obj=obj.offsetParent){curleft+=obj.offsetLeft
+curtop+=obj.offsetTop}
+return{x:curleft,y:curtop};}}
+jQuery.fn.autocomplete=function(url,options,data){options=options||{};options.url=url;options.data=((typeof data=="object")&&(data.constructor==Array))?data:null;options.inputClass=options.inputClass||"ac_input";options.resultsClass=options.resultsClass||"ac_results";options.lineSeparator=options.lineSeparator||"\n";options.cellSeparator=options.cellSeparator||"|";options.minChars=options.minChars||1;options.delay=options.delay||400;options.matchCase=options.matchCase||0;options.matchSubset=options.matchSubset||1;options.matchContains=options.matchContains||0;options.cacheLength=options.cacheLength||1;options.mustMatch=options.mustMatch||0;options.extraParams=options.extraParams||{};options.loadingClass=options.loadingClass||"ac_loading";options.selectFirst=options.selectFirst||false;options.selectOnly=options.selectOnly||false;options.maxItemsToShow=options.maxItemsToShow||-1;options.autoFill=options.autoFill||false;options.width=parseInt(options.width,10)||0;this.each(function(){var input=this;new jQuery.autocomplete(input,options);});return this;}
+jQuery.fn.autocompleteArray=function(data,options){return this.autocomplete(null,options,data);}
+jQuery.fn.indexOf=function(e){for(var i=0;i<this.length;i++){if(this[i]==e)return i;}
+return-1;};TO_LOAD_INDEX++;TO_LOAD[TO_LOAD_INDEX]='load_autocomplete();';function load_autocomplete(){$(".autocomplete").each(function(){$(this).wrap('<div style="position:relative;"></div>');$(this).autocomplete($(this).attr('rel'),{maxItemsToShow:15,cacheLength:0});});$(".autocompletestatic").each(function(){$(this).wrap('<div style="position:relative;"></div>');tab=$(this).attr('rel').split('§');$(this).autocompleteArray(tab,{maxItemsToShow:15,cacheLength:0});});}
+TO_LOAD_INDEX++;TO_LOAD[TO_LOAD_INDEX]='load_emptyfield();';function load_emptyfield(){$("input.empty_field,input.empty-field").each(function(){if($(this).attr('orig')){return;}
+$(this).attr('orig',$(this).attr('value'));});$("input.empty_field,input.empty-field").click(function(){if($(this).val()==$(this).attr('orig')){$(this).val('');}});};jQuery.ui||(function($){var _remove=$.fn.remove,isFF2=$.browser.mozilla&&(parseFloat($.browser.version)<1.9);$.ui={version:"1.7.2",plugin:{add:function(module,option,set){var proto=$.ui[module].prototype;for(var i in set){proto.plugins[i]=proto.plugins[i]||[];proto.plugins[i].push([option,set[i]]);}},call:function(instance,name,args){var set=instance.plugins[name];if(!set||!instance.element[0].parentNode){return;}
+for(var i=0;i<set.length;i++){if(instance.options[set[i][0]]){set[i][1].apply(instance.element,args);}}}},contains:function(a,b){return document.compareDocumentPosition?a.compareDocumentPosition(b)&16:a!==b&&a.contains(b);},hasScroll:function(el,a){if($(el).css('overflow')=='hidden'){return false;}
+var scroll=(a&&a=='left')?'scrollLeft':'scrollTop',has=false;if(el[scroll]>0){return true;}
+el[scroll]=1;has=(el[scroll]>0);el[scroll]=0;return has;},isOverAxis:function(x,reference,size){return(x>reference)&&(x<(reference+size));},isOver:function(y,x,top,left,height,width){return $.ui.isOverAxis(y,top,height)&&$.ui.isOverAxis(x,left,width);},keyCode:{BACKSPACE:8,CAPS_LOCK:20,COMMA:188,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38}};if(isFF2){var attr=$.attr,removeAttr=$.fn.removeAttr,ariaNS="http://www.w3.org/2005/07/aaa",ariaState=/^aria-/,ariaRole=/^wairole:/;$.attr=function(elem,name,value){var set=value!==undefined;return(name=='role'?(set?attr.call(this,elem,name,"wairole:"+value):(attr.apply(this,arguments)||"").replace(ariaRole,"")):(ariaState.test(name)?(set?elem.setAttributeNS(ariaNS,name.replace(ariaState,"aaa:"),value):attr.call(this,elem,name.replace(ariaState,"aaa:"))):attr.apply(this,arguments)));};$.fn.removeAttr=function(name){return(ariaState.test(name)?this.each(function(){this.removeAttributeNS(ariaNS,name.replace(ariaState,""));}):removeAttr.call(this,name));};}
+$.fn.extend({remove:function(){$("*",this).add(this).each(function(){$(this).triggerHandler("remove");});return _remove.apply(this,arguments);},enableSelection:function(){return this.attr('unselectable','off').css('MozUserSelect','').unbind('selectstart.ui');},disableSelection:function(){return this.attr('unselectable','on').css('MozUserSelect','none').bind('selectstart.ui',function(){return false;});},scrollParent:function(){var scrollParent;if(($.browser.msie&&(/(static|relative)/).test(this.css('position')))||(/absolute/).test(this.css('position'))){scrollParent=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test($.curCSS(this,'position',1))&&(/(auto|scroll)/).test($.curCSS(this,'overflow',1)+$.curCSS(this,'overflow-y',1)+$.curCSS(this,'overflow-x',1));}).eq(0);}else{scrollParent=this.parents().filter(function(){return(/(auto|scroll)/).test($.curCSS(this,'overflow',1)+$.curCSS(this,'overflow-y',1)+$.curCSS(this,'overflow-x',1));}).eq(0);}
+return(/fixed/).test(this.css('position'))||!scrollParent.length?$(document):scrollParent;}});$.extend($.expr[':'],{data:function(elem,i,match){return!!$.data(elem,match[3]);},focusable:function(element){var nodeName=element.nodeName.toLowerCase(),tabIndex=$.attr(element,'tabindex');return(/input|select|textarea|button|object/.test(nodeName)?!element.disabled:'a'==nodeName||'area'==nodeName?element.href||!isNaN(tabIndex):!isNaN(tabIndex))&&!$(element)['area'==nodeName?'parents':'closest'](':hidden').length;},tabbable:function(element){var tabIndex=$.attr(element,'tabindex');return(isNaN(tabIndex)||tabIndex>=0)&&$(element).is(':focusable');}});function getter(namespace,plugin,method,args){function getMethods(type){var methods=$[namespace][plugin][type]||[];return(typeof methods=='string'?methods.split(/,?\s+/):methods);}
+var methods=getMethods('getter');if(args.length==1&&typeof args[0]=='string'){methods=methods.concat(getMethods('getterSetter'));}
+return($.inArray(method,methods)!=-1);}
+$.widget=function(name,prototype){var namespace=name.split(".")[0];name=name.split(".")[1];$.fn[name]=function(options){var isMethodCall=(typeof options=='string'),args=Array.prototype.slice.call(arguments,1);if(isMethodCall&&options.substring(0,1)=='_'){return this;}
+if(isMethodCall&&getter(namespace,name,options,args)){var instance=$.data(this[0],name);return(instance?instance[options].apply(instance,args):undefined);}
+return this.each(function(){var instance=$.data(this,name);(!instance&&!isMethodCall&&$.data(this,name,new $[namespace][name](this,options))._init());(instance&&isMethodCall&&$.isFunction(instance[options])&&instance[options].apply(instance,args));});};$[namespace]=$[namespace]||{};$[namespace][name]=function(element,options){var self=this;this.namespace=namespace;this.widgetName=name;this.widgetEventPrefix=$[namespace][name].eventPrefix||name;this.widgetBaseClass=namespace+'-'+name;this.options=$.extend({},$.widget.defaults,$[namespace][name].defaults,$.metadata&&$.metadata.get(element)[name],options);this.element=$(element).bind('setData.'+name,function(event,key,value){if(event.target==element){return self._setData(key,value);}}).bind('getData.'+name,function(event,key){if(event.target==element){return self._getData(key);}}).bind('remove',function(){return self.destroy();});};$[namespace][name].prototype=$.extend({},$.widget.prototype,prototype);$[namespace][name].getterSetter='option';};$.widget.prototype={_init:function(){},destroy:function(){this.element.removeData(this.widgetName).removeClass(this.widgetBaseClass+'-disabled'+' '+this.namespace+'-state-disabled').removeAttr('aria-disabled');},option:function(key,value){var options=key,self=this;if(typeof key=="string"){if(value===undefined){return this._getData(key);}
+options={};options[key]=value;}
+$.each(options,function(key,value){self._setData(key,value);});},_getData:function(key){return this.options[key];},_setData:function(key,value){this.options[key]=value;if(key=='disabled'){this.element
+[value?'addClass':'removeClass'](this.widgetBaseClass+'-disabled'+' '+
+this.namespace+'-state-disabled').attr("aria-disabled",value);}},enable:function(){this._setData('disabled',false);},disable:function(){this._setData('disabled',true);},_trigger:function(type,event,data){var callback=this.options[type],eventName=(type==this.widgetEventPrefix?type:this.widgetEventPrefix+type);event=$.Event(event);event.type=eventName;if(event.originalEvent){for(var i=$.event.props.length,prop;i;){prop=$.event.props[--i];event[prop]=event.originalEvent[prop];}}
+this.element.trigger(event,data);return!($.isFunction(callback)&&callback.call(this.element[0],event,data)===false||event.isDefaultPrevented());}};$.widget.defaults={disabled:false};$.ui.mouse={_mouseInit:function(){var self=this;this.element.bind('mousedown.'+this.widgetName,function(event){return self._mouseDown(event);}).bind('click.'+this.widgetName,function(event){if(self._preventClickEvent){self._preventClickEvent=false;event.stopImmediatePropagation();return false;}});if($.browser.msie){this._mouseUnselectable=this.element.attr('unselectable');this.element.attr('unselectable','on');}
+this.started=false;},_mouseDestroy:function(){this.element.unbind('.'+this.widgetName);($.browser.msie&&this.element.attr('unselectable',this._mouseUnselectable));},_mouseDown:function(event){event.originalEvent=event.originalEvent||{};if(event.originalEvent.mouseHandled){return;}
+(this._mouseStarted&&this._mouseUp(event));this._mouseDownEvent=event;var self=this,btnIsLeft=(event.which==1),elIsCancel=(typeof this.options.cancel=="string"?$(event.target).parents().add(event.target).filter(this.options.cancel).length:false);if(!btnIsLeft||elIsCancel||!this._mouseCapture(event)){return true;}
+this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){self.mouseDelayMet=true;},this.options.delay);}
+if(this._mouseDistanceMet(event)&&this._mouseDelayMet(event)){this._mouseStarted=(this._mouseStart(event)!==false);if(!this._mouseStarted){event.preventDefault();return true;}}
+this._mouseMoveDelegate=function(event){return self._mouseMove(event);};this._mouseUpDelegate=function(event){return self._mouseUp(event);};$(document).bind('mousemove.'+this.widgetName,this._mouseMoveDelegate).bind('mouseup.'+this.widgetName,this._mouseUpDelegate);($.browser.safari||event.preventDefault());event.originalEvent.mouseHandled=true;return true;},_mouseMove:function(event){if($.browser.msie&&!event.button){return this._mouseUp(event);}
+if(this._mouseStarted){this._mouseDrag(event);return event.preventDefault();}
+if(this._mouseDistanceMet(event)&&this._mouseDelayMet(event)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,event)!==false);(this._mouseStarted?this._mouseDrag(event):this._mouseUp(event));}
+return!this._mouseStarted;},_mouseUp:function(event){$(document).unbind('mousemove.'+this.widgetName,this._mouseMoveDelegate).unbind('mouseup.'+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;this._preventClickEvent=(event.target==this._mouseDownEvent.target);this._mouseStop(event);}
+return false;},_mouseDistanceMet:function(event){return(Math.max(Math.abs(this._mouseDownEvent.pageX-event.pageX),Math.abs(this._mouseDownEvent.pageY-event.pageY))>=this.options.distance);},_mouseDelayMet:function(event){return this.mouseDelayMet;},_mouseStart:function(event){},_mouseDrag:function(event){},_mouseStop:function(event){},_mouseCapture:function(event){return true;}};$.ui.mouse.defaults={cancel:null,distance:1,delay:0};})(jQuery);(function($){$.widget("ui.draggable",$.extend({},$.ui.mouse,{_init:function(){if(this.options.helper=='original'&&!(/^(?:r|a|f)/).test(this.element.css("position")))
+this.element[0].style.position='relative';(this.options.addClasses&&this.element.addClass("ui-draggable"));(this.options.disabled&&this.element.addClass("ui-draggable-disabled"));this._mouseInit();},destroy:function(){if(!this.element.data('draggable'))return;this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable"
++" ui-draggable-dragging"
++" ui-draggable-disabled");this._mouseDestroy();},_mouseCapture:function(event){var o=this.options;if(this.helper||o.disabled||$(event.target).is('.ui-resizable-handle'))
+return false;this.handle=this._getHandle(event);if(!this.handle)
+return false;return true;},_mouseStart:function(event){var o=this.options;this.helper=this._createHelper(event);this._cacheHelperProportions();if($.ui.ddmanager)
+$.ui.ddmanager.current=this;this._cacheMargins();this.cssPosition=this.helper.css("position");this.scrollParent=this.helper.scrollParent();this.offset=this.element.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};$.extend(this.offset,{click:{left:event.pageX-this.offset.left,top:event.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(event);this.originalPageX=event.pageX;this.originalPageY=event.pageY;if(o.cursorAt)
+this._adjustOffsetFromHelper(o.cursorAt);if(o.containment)
+this._setContainment();this._trigger("start",event);this._cacheHelperProportions();if($.ui.ddmanager&&!o.dropBehaviour)
+$.ui.ddmanager.prepareOffsets(this,event);this.helper.addClass("ui-draggable-dragging");this._mouseDrag(event,true);return true;},_mouseDrag:function(event,noPropagation){this.position=this._generatePosition(event);this.positionAbs=this._convertPositionTo("absolute");if(!noPropagation){var ui=this._uiHash();this._trigger('drag',event,ui);this.position=ui.position;}
+if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+'px';if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+'px';if($.ui.ddmanager)$.ui.ddmanager.drag(this,event);return false;},_mouseStop:function(event){var dropped=false;if($.ui.ddmanager&&!this.options.dropBehaviour)
+dropped=$.ui.ddmanager.drop(this,event);if(this.dropped){dropped=this.dropped;this.dropped=false;}
+if((this.options.revert=="invalid"&&!dropped)||(this.options.revert=="valid"&&dropped)||this.options.revert===true||($.isFunction(this.options.revert)&&this.options.revert.call(this.element,dropped))){var self=this;$(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){self._trigger("stop",event);self._clear();});}else{this._trigger("stop",event);this._clear();}
+return false;},_getHandle:function(event){var handle=!this.options.handle||!$(this.options.handle,this.element).length?true:false;$(this.options.handle,this.element).find("*").andSelf().each(function(){if(this==event.target)handle=true;});return handle;},_createHelper:function(event){var o=this.options;var helper=$.isFunction(o.helper)?$(o.helper.apply(this.element[0],[event])):(o.helper=='clone'?this.element.clone():this.element);if(!helper.parents('body').length)
+helper.appendTo((o.appendTo=='parent'?this.element[0].parentNode:o.appendTo));if(helper[0]!=this.element[0]&&!(/(fixed|absolute)/).test(helper.css("position")))
+helper.css("position","absolute");return helper;},_adjustOffsetFromHelper:function(obj){if(obj.left!=undefined)this.offset.click.left=obj.left+this.margins.left;if(obj.right!=undefined)this.offset.click.left=this.helperProportions.width-obj.right+this.margins.left;if(obj.top!=undefined)this.offset.click.top=obj.top+this.margins.top;if(obj.bottom!=undefined)this.offset.click.top=this.helperProportions.height-obj.bottom+this.margins.top;},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var po=this.offsetParent.offset();if(this.cssPosition=='absolute'&&this.scrollParent[0]!=document&&$.ui.contains(this.scrollParent[0],this.offsetParent[0])){po.left+=this.scrollParent.scrollLeft();po.top+=this.scrollParent.scrollTop();}
+if((this.offsetParent[0]==document.body)||(this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=='html'&&$.browser.msie))
+po={top:0,left:0};return{top:po.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:po.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)};},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var p=this.element.position();return{top:p.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:p.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()};}else{return{top:0,left:0};}},_cacheMargins:function(){this.margins={left:(parseInt(this.element.css("marginLeft"),10)||0),top:(parseInt(this.element.css("marginTop"),10)||0)};},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()};},_setContainment:function(){var o=this.options;if(o.containment=='parent')o.containment=this.helper[0].parentNode;if(o.containment=='document'||o.containment=='window')this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,$(o.containment=='document'?document:window).width()-this.helperProportions.width-this.margins.left,($(o.containment=='document'?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!(/^(document|window|parent)$/).test(o.containment)&&o.containment.constructor!=Array){var ce=$(o.containment)[0];if(!ce)return;var co=$(o.containment).offset();var over=($(ce).css("overflow")!='hidden');this.containment=[co.left+(parseInt($(ce).css("borderLeftWidth"),10)||0)+(parseInt($(ce).css("paddingLeft"),10)||0)-this.margins.left,co.top+(parseInt($(ce).css("borderTopWidth"),10)||0)+(parseInt($(ce).css("paddingTop"),10)||0)-this.margins.top,co.left+(over?Math.max(ce.scrollWidth,ce.offsetWidth):ce.offsetWidth)-(parseInt($(ce).css("borderLeftWidth"),10)||0)-(parseInt($(ce).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,co.top+(over?Math.max(ce.scrollHeight,ce.offsetHeight):ce.offsetHeight)-(parseInt($(ce).css("borderTopWidth"),10)||0)-(parseInt($(ce).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top];}else if(o.containment.constructor==Array){this.containment=o.containment;}},_convertPositionTo:function(d,pos){if(!pos)pos=this.position;var mod=d=="absolute"?1:-1;var o=this.options,scroll=this.cssPosition=='absolute'&&!(this.scrollParent[0]!=document&&$.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,scrollIsRootNode=(/(html|body)/i).test(scroll[0].tagName);return{top:(pos.top
++this.offset.relative.top*mod
++this.offset.parent.top*mod
+-($.browser.safari&&this.cssPosition=='fixed'?0:(this.cssPosition=='fixed'?-this.scrollParent.scrollTop():(scrollIsRootNode?0:scroll.scrollTop()))*mod)),left:(pos.left
++this.offset.relative.left*mod
++this.offset.parent.left*mod
+-($.browser.safari&&this.cssPosition=='fixed'?0:(this.cssPosition=='fixed'?-this.scrollParent.scrollLeft():scrollIsRootNode?0:scroll.scrollLeft())*mod))};},_generatePosition:function(event){var o=this.options,scroll=this.cssPosition=='absolute'&&!(this.scrollParent[0]!=document&&$.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,scrollIsRootNode=(/(html|body)/i).test(scroll[0].tagName);if(this.cssPosition=='relative'&&!(this.scrollParent[0]!=document&&this.scrollParent[0]!=this.offsetParent[0])){this.offset.relative=this._getRelativeOffset();}
+var pageX=event.pageX;var pageY=event.pageY;if(this.originalPosition){if(this.containment){if(event.pageX-this.offset.click.left<this.containment[0])pageX=this.containment[0]+this.offset.click.left;if(event.pageY-this.offset.click.top<this.containment[1])pageY=this.containment[1]+this.offset.click.top;if(event.pageX-this.offset.click.left>this.containment[2])pageX=this.containment[2]+this.offset.click.left;if(event.pageY-this.offset.click.top>this.containment[3])pageY=this.containment[3]+this.offset.click.top;}
+if(o.grid){var top=this.originalPageY+Math.round((pageY-this.originalPageY)/o.grid[1])*o.grid[1];pageY=this.containment?(!(top-this.offset.click.top<this.containment[1]||top-this.offset.click.top>this.containment[3])?top:(!(top-this.offset.click.top<this.containment[1])?top-o.grid[1]:top+o.grid[1])):top;var left=this.originalPageX+Math.round((pageX-this.originalPageX)/o.grid[0])*o.grid[0];pageX=this.containment?(!(left-this.offset.click.left<this.containment[0]||left-this.offset.click.left>this.containment[2])?left:(!(left-this.offset.click.left<this.containment[0])?left-o.grid[0]:left+o.grid[0])):left;}}
+return{top:(pageY
+-this.offset.click.top
+-this.offset.relative.top
+-this.offset.parent.top
++($.browser.safari&&this.cssPosition=='fixed'?0:(this.cssPosition=='fixed'?-this.scrollParent.scrollTop():(scrollIsRootNode?0:scroll.scrollTop())))),left:(pageX
+-this.offset.click.left
+-this.offset.relative.left
+-this.offset.parent.left
++($.browser.safari&&this.cssPosition=='fixed'?0:(this.cssPosition=='fixed'?-this.scrollParent.scrollLeft():scrollIsRootNode?0:scroll.scrollLeft())))};},_clear:function(){this.helper.removeClass("ui-draggable-dragging");if(this.helper[0]!=this.element[0]&&!this.cancelHelperRemoval)this.helper.remove();this.helper=null;this.cancelHelperRemoval=false;},_trigger:function(type,event,ui){ui=ui||this._uiHash();$.ui.plugin.call(this,type,[event,ui]);if(type=="drag")this.positionAbs=this._convertPositionTo("absolute");return $.widget.prototype._trigger.call(this,type,event,ui);},plugins:{},_uiHash:function(event){return{helper:this.helper,position:this.position,absolutePosition:this.positionAbs,offset:this.positionAbs};}}));$.extend($.ui.draggable,{version:"1.7.2",eventPrefix:"drag",defaults:{addClasses:true,appendTo:"parent",axis:false,cancel:":input,option",connectToSortable:false,containment:false,cursor:"auto",cursorAt:false,delay:0,distance:1,grid:false,handle:false,helper:"original",iframeFix:false,opacity:false,refreshPositions:false,revert:false,revertDuration:500,scope:"default",scroll:true,scrollSensitivity:20,scrollSpeed:20,snap:false,snapMode:"both",snapTolerance:20,stack:false,zIndex:false}});$.ui.plugin.add("draggable","connectToSortable",{start:function(event,ui){var inst=$(this).data("draggable"),o=inst.options,uiSortable=$.extend({},ui,{item:inst.element});inst.sortables=[];$(o.connectToSortable).each(function(){var sortable=$.data(this,'sortable');if(sortable&&!sortable.options.disabled){inst.sortables.push({instance:sortable,shouldRevert:sortable.options.revert});sortable._refreshItems();sortable._trigger("activate",event,uiSortable);}});},stop:function(event,ui){var inst=$(this).data("draggable"),uiSortable=$.extend({},ui,{item:inst.element});$.each(inst.sortables,function(){if(this.instance.isOver){this.instance.isOver=0;inst.cancelHelperRemoval=true;this.instance.cancelHelperRemoval=false;if(this.shouldRevert)this.instance.options.revert=true;this.instance._mouseStop(event);this.instance.options.helper=this.instance.options._helper;if(inst.options.helper=='original')
+this.instance.currentItem.css({top:'auto',left:'auto'});}else{this.instance.cancelHelperRemoval=false;this.instance._trigger("deactivate",event,uiSortable);}});},drag:function(event,ui){var inst=$(this).data("draggable"),self=this;var checkPos=function(o){var dyClick=this.offset.click.top,dxClick=this.offset.click.left;var helperTop=this.positionAbs.top,helperLeft=this.positionAbs.left;var itemHeight=o.height,itemWidth=o.width;var itemTop=o.top,itemLeft=o.left;return $.ui.isOver(helperTop+dyClick,helperLeft+dxClick,itemTop,itemLeft,itemHeight,itemWidth);};$.each(inst.sortables,function(i){this.instance.positionAbs=inst.positionAbs;this.instance.helperProportions=inst.helperProportions;this.instance.offset.click=inst.offset.click;if(this.instance._intersectsWith(this.instance.containerCache)){if(!this.instance.isOver){this.instance.isOver=1;this.instance.currentItem=$(self).clone().appendTo(this.instance.element).data("sortable-item",true);this.instance.options._helper=this.instance.options.helper;this.instance.options.helper=function(){return ui.helper[0];};event.target=this.instance.currentItem[0];this.instance._mouseCapture(event,true);this.instance._mouseStart(event,true,true);this.instance.offset.click.top=inst.offset.click.top;this.instance.offset.click.left=inst.offset.click.left;this.instance.offset.parent.left-=inst.offset.parent.left-this.instance.offset.parent.left;this.instance.offset.parent.top-=inst.offset.parent.top-this.instance.offset.parent.top;inst._trigger("toSortable",event);inst.dropped=this.instance.element;inst.currentItem=inst.element;this.instance.fromOutside=inst;}
+if(this.instance.currentItem)this.instance._mouseDrag(event);}else{if(this.instance.isOver){this.instance.isOver=0;this.instance.cancelHelperRemoval=true;this.instance.options.revert=false;this.instance._trigger('out',event,this.instance._uiHash(this.instance));this.instance._mouseStop(event,true);this.instance.options.helper=this.instance.options._helper;this.instance.currentItem.remove();if(this.instance.placeholder)this.instance.placeholder.remove();inst._trigger("fromSortable",event);inst.dropped=false;}};});}});$.ui.plugin.add("draggable","cursor",{start:function(event,ui){var t=$('body'),o=$(this).data('draggable').options;if(t.css("cursor"))o._cursor=t.css("cursor");t.css("cursor",o.cursor);},stop:function(event,ui){var o=$(this).data('draggable').options;if(o._cursor)$('body').css("cursor",o._cursor);}});$.ui.plugin.add("draggable","iframeFix",{start:function(event,ui){var o=$(this).data('draggable').options;$(o.iframeFix===true?"iframe":o.iframeFix).each(function(){$('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1000}).css($(this).offset()).appendTo("body");});},stop:function(event,ui){$("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this);});}});$.ui.plugin.add("draggable","opacity",{start:function(event,ui){var t=$(ui.helper),o=$(this).data('draggable').options;if(t.css("opacity"))o._opacity=t.css("opacity");t.css('opacity',o.opacity);},stop:function(event,ui){var o=$(this).data('draggable').options;if(o._opacity)$(ui.helper).css('opacity',o._opacity);}});$.ui.plugin.add("draggable","scroll",{start:function(event,ui){var i=$(this).data("draggable");if(i.scrollParent[0]!=document&&i.scrollParent[0].tagName!='HTML')i.overflowOffset=i.scrollParent.offset();},drag:function(event,ui){var i=$(this).data("draggable"),o=i.options,scrolled=false;if(i.scrollParent[0]!=document&&i.scrollParent[0].tagName!='HTML'){if(!o.axis||o.axis!='x'){if((i.overflowOffset.top+i.scrollParent[0].offsetHeight)-event.pageY<o.scrollSensitivity)
+i.scrollParent[0].scrollTop=scrolled=i.scrollParent[0].scrollTop+o.scrollSpeed;else if(event.pageY-i.overflowOffset.top<o.scrollSensitivity)
+i.scrollParent[0].scrollTop=scrolled=i.scrollParent[0].scrollTop-o.scrollSpeed;}
+if(!o.axis||o.axis!='y'){if((i.overflowOffset.left+i.scrollParent[0].offsetWidth)-event.pageX<o.scrollSensitivity)
+i.scrollParent[0].scrollLeft=scrolled=i.scrollParent[0].scrollLeft+o.scrollSpeed;else if(event.pageX-i.overflowOffset.left<o.scrollSensitivity)
+i.scrollParent[0].scrollLeft=scrolled=i.scrollParent[0].scrollLeft-o.scrollSpeed;}}else{if(!o.axis||o.axis!='x'){if(event.pageY-$(document).scrollTop()<o.scrollSensitivity)
+scrolled=$(document).scrollTop($(document).scrollTop()-o.scrollSpeed);else if($(window).height()-(event.pageY-$(document).scrollTop())<o.scrollSensitivity)
+scrolled=$(document).scrollTop($(document).scrollTop()+o.scrollSpeed);}
+if(!o.axis||o.axis!='y'){if(event.pageX-$(document).scrollLeft()<o.scrollSensitivity)
+scrolled=$(document).scrollLeft($(document).scrollLeft()-o.scrollSpeed);else if($(window).width()-(event.pageX-$(document).scrollLeft())<o.scrollSensitivity)
+scrolled=$(document).scrollLeft($(document).scrollLeft()+o.scrollSpeed);}}
+if(scrolled!==false&&$.ui.ddmanager&&!o.dropBehaviour)
+$.ui.ddmanager.prepareOffsets(i,event);}});$.ui.plugin.add("draggable","snap",{start:function(event,ui){var i=$(this).data("draggable"),o=i.options;i.snapElements=[];$(o.snap.constructor!=String?(o.snap.items||':data(draggable)'):o.snap).each(function(){var $t=$(this);var $o=$t.offset();if(this!=i.element[0])i.snapElements.push({item:this,width:$t.outerWidth(),height:$t.outerHeight(),top:$o.top,left:$o.left});});},drag:function(event,ui){var inst=$(this).data("draggable"),o=inst.options;var d=o.snapTolerance;var x1=ui.offset.left,x2=x1+inst.helperProportions.width,y1=ui.offset.top,y2=y1+inst.helperProportions.height;for(var i=inst.snapElements.length-1;i>=0;i--){var l=inst.snapElements[i].left,r=l+inst.snapElements[i].width,t=inst.snapElements[i].top,b=t+inst.snapElements[i].height;if(!((l-d<x1&&x1<r+d&&t-d<y1&&y1<b+d)||(l-d<x1&&x1<r+d&&t-d<y2&&y2<b+d)||(l-d<x2&&x2<r+d&&t-d<y1&&y1<b+d)||(l-d<x2&&x2<r+d&&t-d<y2&&y2<b+d))){if(inst.snapElements[i].snapping)(inst.options.snap.release&&inst.options.snap.release.call(inst.element,event,$.extend(inst._uiHash(),{snapItem:inst.snapElements[i].item})));inst.snapElements[i].snapping=false;continue;}
+if(o.snapMode!='inner'){var ts=Math.abs(t-y2)<=d;var bs=Math.abs(b-y1)<=d;var ls=Math.abs(l-x2)<=d;var rs=Math.abs(r-x1)<=d;if(ts)ui.position.top=inst._convertPositionTo("relative",{top:t-inst.helperProportions.height,left:0}).top-inst.margins.top;if(bs)ui.position.top=inst._convertPositionTo("relative",{top:b,left:0}).top-inst.margins.top;if(ls)ui.position.left=inst._convertPositionTo("relative",{top:0,left:l-inst.helperProportions.width}).left-inst.margins.left;if(rs)ui.position.left=inst._convertPositionTo("relative",{top:0,left:r}).left-inst.margins.left;}
+var first=(ts||bs||ls||rs);if(o.snapMode!='outer'){var ts=Math.abs(t-y1)<=d;var bs=Math.abs(b-y2)<=d;var ls=Math.abs(l-x1)<=d;var rs=Math.abs(r-x2)<=d;if(ts)ui.position.top=inst._convertPositionTo("relative",{top:t,left:0}).top-inst.margins.top;if(bs)ui.position.top=inst._convertPositionTo("relative",{top:b-inst.helperProportions.height,left:0}).top-inst.margins.top;if(ls)ui.position.left=inst._convertPositionTo("relative",{top:0,left:l}).left-inst.margins.left;if(rs)ui.position.left=inst._convertPositionTo("relative",{top:0,left:r-inst.helperProportions.width}).left-inst.margins.left;}
+if(!inst.snapElements[i].snapping&&(ts||bs||ls||rs||first))
+(inst.options.snap.snap&&inst.options.snap.snap.call(inst.element,event,$.extend(inst._uiHash(),{snapItem:inst.snapElements[i].item})));inst.snapElements[i].snapping=(ts||bs||ls||rs||first);};}});$.ui.plugin.add("draggable","stack",{start:function(event,ui){var o=$(this).data("draggable").options;var group=$.makeArray($(o.stack.group)).sort(function(a,b){return(parseInt($(a).css("zIndex"),10)||o.stack.min)-(parseInt($(b).css("zIndex"),10)||o.stack.min);});$(group).each(function(i){this.style.zIndex=o.stack.min+i;});this[0].style.zIndex=o.stack.min+group.length;}});$.ui.plugin.add("draggable","zIndex",{start:function(event,ui){var t=$(ui.helper),o=$(this).data("draggable").options;if(t.css("zIndex"))o._zIndex=t.css("zIndex");t.css('zIndex',o.zIndex);},stop:function(event,ui){var o=$(this).data("draggable").options;if(o._zIndex)$(ui.helper).css('zIndex',o._zIndex);}});})(jQuery);(function($){$.widget("ui.sortable",$.extend({},$.ui.mouse,{_init:function(){var o=this.options;this.containerCache={};this.element.addClass("ui-sortable");this.refresh();this.floating=this.items.length?(/left|right/).test(this.items[0].item.css('float')):false;this.offset=this.element.offset();this._mouseInit();},destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").removeData("sortable").unbind(".sortable");this._mouseDestroy();for(var i=this.items.length-1;i>=0;i--)
+this.items[i].item.removeData("sortable-item");},_mouseCapture:function(event,overrideHandle){if(this.reverting){return false;}
+if(this.options.disabled||this.options.type=='static')return false;this._refreshItems(event);var currentItem=null,self=this,nodes=$(event.target).parents().each(function(){if($.data(this,'sortable-item')==self){currentItem=$(this);return false;}});if($.data(event.target,'sortable-item')==self)currentItem=$(event.target);if(!currentItem)return false;if(this.options.handle&&!overrideHandle){var validHandle=false;$(this.options.handle,currentItem).find("*").andSelf().each(function(){if(this==event.target)validHandle=true;});if(!validHandle)return false;}
+this.currentItem=currentItem;this._removeCurrentsFromItems();return true;},_mouseStart:function(event,overrideHandle,noActivation){var o=this.options,self=this;this.currentContainer=this;this.refreshPositions();this.helper=this._createHelper(event);this._cacheHelperProportions();this._cacheMargins();this.scrollParent=this.helper.scrollParent();this.offset=this.currentItem.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};this.helper.css("position","absolute");this.cssPosition=this.helper.css("position");$.extend(this.offset,{click:{left:event.pageX-this.offset.left,top:event.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(event);this.originalPageX=event.pageX;this.originalPageY=event.pageY;if(o.cursorAt)
+this._adjustOffsetFromHelper(o.cursorAt);this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]};if(this.helper[0]!=this.currentItem[0]){this.currentItem.hide();}
+this._createPlaceholder();if(o.containment)
+this._setContainment();if(o.cursor){if($('body').css("cursor"))this._storedCursor=$('body').css("cursor");$('body').css("cursor",o.cursor);}
+if(o.opacity){if(this.helper.css("opacity"))this._storedOpacity=this.helper.css("opacity");this.helper.css("opacity",o.opacity);}
+if(o.zIndex){if(this.helper.css("zIndex"))this._storedZIndex=this.helper.css("zIndex");this.helper.css("zIndex",o.zIndex);}
+if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!='HTML')
+this.overflowOffset=this.scrollParent.offset();this._trigger("start",event,this._uiHash());if(!this._preserveHelperProportions)
+this._cacheHelperProportions();if(!noActivation){for(var i=this.containers.length-1;i>=0;i--){this.containers[i]._trigger("activate",event,self._uiHash(this));}}
+if($.ui.ddmanager)
+$.ui.ddmanager.current=this;if($.ui.ddmanager&&!o.dropBehaviour)
+$.ui.ddmanager.prepareOffsets(this,event);this.dragging=true;this.helper.addClass("ui-sortable-helper");this._mouseDrag(event);return true;},_mouseDrag:function(event){this.position=this._generatePosition(event);this.positionAbs=this._convertPositionTo("absolute");if(!this.lastPositionAbs){this.lastPositionAbs=this.positionAbs;}
+if(this.options.scroll){var o=this.options,scrolled=false;if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!='HTML'){if((this.overflowOffset.top+this.scrollParent[0].offsetHeight)-event.pageY<o.scrollSensitivity)
+this.scrollParent[0].scrollTop=scrolled=this.scrollParent[0].scrollTop+o.scrollSpeed;else if(event.pageY-this.overflowOffset.top<o.scrollSensitivity)
+this.scrollParent[0].scrollTop=scrolled=this.scrollParent[0].scrollTop-o.scrollSpeed;if((this.overflowOffset.left+this.scrollParent[0].offsetWidth)-event.pageX<o.scrollSensitivity)
+this.scrollParent[0].scrollLeft=scrolled=this.scrollParent[0].scrollLeft+o.scrollSpeed;else if(event.pageX-this.overflowOffset.left<o.scrollSensitivity)
+this.scrollParent[0].scrollLeft=scrolled=this.scrollParent[0].scrollLeft-o.scrollSpeed;}else{if(event.pageY-$(document).scrollTop()<o.scrollSensitivity)
+scrolled=$(document).scrollTop($(document).scrollTop()-o.scrollSpeed);else if($(window).height()-(event.pageY-$(document).scrollTop())<o.scrollSensitivity)
+scrolled=$(document).scrollTop($(document).scrollTop()+o.scrollSpeed);if(event.pageX-$(document).scrollLeft()<o.scrollSensitivity)
+scrolled=$(document).scrollLeft($(document).scrollLeft()-o.scrollSpeed);else if($(window).width()-(event.pageX-$(document).scrollLeft())<o.scrollSensitivity)
+scrolled=$(document).scrollLeft($(document).scrollLeft()+o.scrollSpeed);}
+if(scrolled!==false&&$.ui.ddmanager&&!o.dropBehaviour)
+$.ui.ddmanager.prepareOffsets(this,event);}
+this.positionAbs=this._convertPositionTo("absolute");if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+'px';if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+'px';for(var i=this.items.length-1;i>=0;i--){var item=this.items[i],itemElement=item.item[0],intersection=this._intersectsWithPointer(item);if(!intersection)continue;if(itemElement!=this.currentItem[0]&&this.placeholder[intersection==1?"next":"prev"]()[0]!=itemElement&&!$.ui.contains(this.placeholder[0],itemElement)&&(this.options.type=='semi-dynamic'?!$.ui.contains(this.element[0],itemElement):true)){this.direction=intersection==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(item)){this._rearrange(event,item);}else{break;}
+this._trigger("change",event,this._uiHash());break;}}
+this._contactContainers(event);if($.ui.ddmanager)$.ui.ddmanager.drag(this,event);this._trigger('sort',event,this._uiHash());this.lastPositionAbs=this.positionAbs;return false;},_mouseStop:function(event,noPropagation){if(!event)return;if($.ui.ddmanager&&!this.options.dropBehaviour)
+$.ui.ddmanager.drop(this,event);if(this.options.revert){var self=this;var cur=self.placeholder.offset();self.reverting=true;$(this.helper).animate({left:cur.left-this.offset.parent.left-self.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:cur.top-this.offset.parent.top-self.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){self._clear(event);});}else{this._clear(event,noPropagation);}
+return false;},cancel:function(){var self=this;if(this.dragging){this._mouseUp();if(this.options.helper=="original")
+this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper");else
+this.currentItem.show();for(var i=this.containers.length-1;i>=0;i--){this.containers[i]._trigger("deactivate",null,self._uiHash(this));if(this.containers[i].containerCache.over){this.containers[i]._trigger("out",null,self._uiHash(this));this.containers[i].containerCache.over=0;}}}
+if(this.placeholder[0].parentNode)this.placeholder[0].parentNode.removeChild(this.placeholder[0]);if(this.options.helper!="original"&&this.helper&&this.helper[0].parentNode)this.helper.remove();$.extend(this,{helper:null,dragging:false,reverting:false,_noFinalSort:null});if(this.domPosition.prev){$(this.domPosition.prev).after(this.currentItem);}else{$(this.domPosition.parent).prepend(this.currentItem);}
+return true;},serialize:function(o){var items=this._getItemsAsjQuery(o&&o.connected);var str=[];o=o||{};$(items).each(function(){var res=($(o.item||this).attr(o.attribute||'id')||'').match(o.expression||(/(.+)[-=_](.+)/));if(res)str.push((o.key||res[1]+'[]')+'='+(o.key&&o.expression?res[1]:res[2]));});return str.join('&');},toArray:function(o){var items=this._getItemsAsjQuery(o&&o.connected);var ret=[];o=o||{};items.each(function(){ret.push($(o.item||this).attr(o.attribute||'id')||'');});return ret;},_intersectsWith:function(item){var x1=this.positionAbs.left,x2=x1+this.helperProportions.width,y1=this.positionAbs.top,y2=y1+this.helperProportions.height;var l=item.left,r=l+item.width,t=item.top,b=t+item.height;var dyClick=this.offset.click.top,dxClick=this.offset.click.left;var isOverElement=(y1+dyClick)>t&&(y1+dyClick)<b&&(x1+dxClick)>l&&(x1+dxClick)<r;if(this.options.tolerance=="pointer"||this.options.forcePointerForContainers||(this.options.tolerance!="pointer"&&this.helperProportions[this.floating?'width':'height']>item[this.floating?'width':'height'])){return isOverElement;}else{return(l<x1+(this.helperProportions.width/2)&&x2-(this.helperProportions.width/2)<r&&t<y1+(this.helperProportions.height/2)&&y2-(this.helperProportions.height/2)<b);}},_intersectsWithPointer:function(item){var isOverElementHeight=$.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,item.top,item.height),isOverElementWidth=$.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,item.left,item.width),isOverElement=isOverElementHeight&&isOverElementWidth,verticalDirection=this._getDragVerticalDirection(),horizontalDirection=this._getDragHorizontalDirection();if(!isOverElement)
+return false;return this.floating?(((horizontalDirection&&horizontalDirection=="right")||verticalDirection=="down")?2:1):(verticalDirection&&(verticalDirection=="down"?2:1));},_intersectsWithSides:function(item){var isOverBottomHalf=$.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,item.top+(item.height/2),item.height),isOverRightHalf=$.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,item.left+(item.width/2),item.width),verticalDirection=this._getDragVerticalDirection(),horizontalDirection=this._getDragHorizontalDirection();if(this.floating&&horizontalDirection){return((horizontalDirection=="right"&&isOverRightHalf)||(horizontalDirection=="left"&&!isOverRightHalf));}else{return verticalDirection&&((verticalDirection=="down"&&isOverBottomHalf)||(verticalDirection=="up"&&!isOverBottomHalf));}},_getDragVerticalDirection:function(){var delta=this.positionAbs.top-this.lastPositionAbs.top;return delta!=0&&(delta>0?"down":"up");},_getDragHorizontalDirection:function(){var delta=this.positionAbs.left-this.lastPositionAbs.left;return delta!=0&&(delta>0?"right":"left");},refresh:function(event){this._refreshItems(event);this.refreshPositions();},_connectWith:function(){var options=this.options;return options.connectWith.constructor==String?[options.connectWith]:options.connectWith;},_getItemsAsjQuery:function(connected){var self=this;var items=[];var queries=[];var connectWith=this._connectWith();if(connectWith&&connected){for(var i=connectWith.length-1;i>=0;i--){var cur=$(connectWith[i]);for(var j=cur.length-1;j>=0;j--){var inst=$.data(cur[j],'sortable');if(inst&&inst!=this&&!inst.options.disabled){queries.push([$.isFunction(inst.options.items)?inst.options.items.call(inst.element):$(inst.options.items,inst.element).not(".ui-sortable-helper"),inst]);}};};}
+queries.push([$.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):$(this.options.items,this.element).not(".ui-sortable-helper"),this]);for(var i=queries.length-1;i>=0;i--){queries[i][0].each(function(){items.push(this);});};return $(items);},_removeCurrentsFromItems:function(){var list=this.currentItem.find(":data(sortable-item)");for(var i=0;i<this.items.length;i++){for(var j=0;j<list.length;j++){if(list[j]==this.items[i].item[0])
+this.items.splice(i,1);};};},_refreshItems:function(event){this.items=[];this.containers=[this];var items=this.items;var self=this;var queries=[[$.isFunction(this.options.items)?this.options.items.call(this.element[0],event,{item:this.currentItem}):$(this.options.items,this.element),this]];var connectWith=this._connectWith();if(connectWith){for(var i=connectWith.length-1;i>=0;i--){var cur=$(connectWith[i]);for(var j=cur.length-1;j>=0;j--){var inst=$.data(cur[j],'sortable');if(inst&&inst!=this&&!inst.options.disabled){queries.push([$.isFunction(inst.options.items)?inst.options.items.call(inst.element[0],event,{item:this.currentItem}):$(inst.options.items,inst.element),inst]);this.containers.push(inst);}};};}
+for(var i=queries.length-1;i>=0;i--){var targetData=queries[i][1];var _queries=queries[i][0];for(var j=0,queriesLength=_queries.length;j<queriesLength;j++){var item=$(_queries[j]);item.data('sortable-item',targetData);items.push({item:item,instance:targetData,width:0,height:0,left:0,top:0});};};},refreshPositions:function(fast){if(this.offsetParent&&this.helper){this.offset.parent=this._getParentOffset();}
+for(var i=this.items.length-1;i>=0;i--){var item=this.items[i];if(item.instance!=this.currentContainer&&this.currentContainer&&item.item[0]!=this.currentItem[0])
+continue;var t=this.options.toleranceElement?$(this.options.toleranceElement,item.item):item.item;if(!fast){item.width=t.outerWidth();item.height=t.outerHeight();}
+var p=t.offset();item.left=p.left;item.top=p.top;};if(this.options.custom&&this.options.custom.refreshContainers){this.options.custom.refreshContainers.call(this);}else{for(var i=this.containers.length-1;i>=0;i--){var p=this.containers[i].element.offset();this.containers[i].containerCache.left=p.left;this.containers[i].containerCache.top=p.top;this.containers[i].containerCache.width=this.containers[i].element.outerWidth();this.containers[i].containerCache.height=this.containers[i].element.outerHeight();};}},_createPlaceholder:function(that){var self=that||this,o=self.options;if(!o.placeholder||o.placeholder.constructor==String){var className=o.placeholder;o.placeholder={element:function(){var el=$(document.createElement(self.currentItem[0].nodeName)).addClass(className||self.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];if(!className)
+el.style.visibility="hidden";return el;},update:function(container,p){if(className&&!o.forcePlaceholderSize)return;if(!p.height()){p.height(self.currentItem.innerHeight()-parseInt(self.currentItem.css('paddingTop')||0,10)-parseInt(self.currentItem.css('paddingBottom')||0,10));};if(!p.width()){p.width(self.currentItem.innerWidth()-parseInt(self.currentItem.css('paddingLeft')||0,10)-parseInt(self.currentItem.css('paddingRight')||0,10));};}};}
+self.placeholder=$(o.placeholder.element.call(self.element,self.currentItem));self.currentItem.after(self.placeholder);o.placeholder.update(self,self.placeholder);},_contactContainers:function(event){for(var i=this.containers.length-1;i>=0;i--){if(this._intersectsWith(this.containers[i].containerCache)){if(!this.containers[i].containerCache.over){if(this.currentContainer!=this.containers[i]){var dist=10000;var itemWithLeastDistance=null;var base=this.positionAbs[this.containers[i].floating?'left':'top'];for(var j=this.items.length-1;j>=0;j--){if(!$.ui.contains(this.containers[i].element[0],this.items[j].item[0]))continue;var cur=this.items[j][this.containers[i].floating?'left':'top'];if(Math.abs(cur-base)<dist){dist=Math.abs(cur-base);itemWithLeastDistance=this.items[j];}}
+if(!itemWithLeastDistance&&!this.options.dropOnEmpty)
+continue;this.currentContainer=this.containers[i];itemWithLeastDistance?this._rearrange(event,itemWithLeastDistance,null,true):this._rearrange(event,null,this.containers[i].element,true);this._trigger("change",event,this._uiHash());this.containers[i]._trigger("change",event,this._uiHash(this));this.options.placeholder.update(this.currentContainer,this.placeholder);}
+this.containers[i]._trigger("over",event,this._uiHash(this));this.containers[i].containerCache.over=1;}}else{if(this.containers[i].containerCache.over){this.containers[i]._trigger("out",event,this._uiHash(this));this.containers[i].containerCache.over=0;}}};},_createHelper:function(event){var o=this.options;var helper=$.isFunction(o.helper)?$(o.helper.apply(this.element[0],[event,this.currentItem])):(o.helper=='clone'?this.currentItem.clone():this.currentItem);if(!helper.parents('body').length)
+$(o.appendTo!='parent'?o.appendTo:this.currentItem[0].parentNode)[0].appendChild(helper[0]);if(helper[0]==this.currentItem[0])
+this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")};if(helper[0].style.width==''||o.forceHelperSize)helper.width(this.currentItem.width());if(helper[0].style.height==''||o.forceHelperSize)helper.height(this.currentItem.height());return helper;},_adjustOffsetFromHelper:function(obj){if(obj.left!=undefined)this.offset.click.left=obj.left+this.margins.left;if(obj.right!=undefined)this.offset.click.left=this.helperProportions.width-obj.right+this.margins.left;if(obj.top!=undefined)this.offset.click.top=obj.top+this.margins.top;if(obj.bottom!=undefined)this.offset.click.top=this.helperProportions.height-obj.bottom+this.margins.top;},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var po=this.offsetParent.offset();if(this.cssPosition=='absolute'&&this.scrollParent[0]!=document&&$.ui.contains(this.scrollParent[0],this.offsetParent[0])){po.left+=this.scrollParent.scrollLeft();po.top+=this.scrollParent.scrollTop();}
+if((this.offsetParent[0]==document.body)||(this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=='html'&&$.browser.msie))
+po={top:0,left:0};return{top:po.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:po.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)};},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var p=this.currentItem.position();return{top:p.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:p.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()};}else{return{top:0,left:0};}},_cacheMargins:function(){this.margins={left:(parseInt(this.currentItem.css("marginLeft"),10)||0),top:(parseInt(this.currentItem.css("marginTop"),10)||0)};},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()};},_setContainment:function(){var o=this.options;if(o.containment=='parent')o.containment=this.helper[0].parentNode;if(o.containment=='document'||o.containment=='window')this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,$(o.containment=='document'?document:window).width()-this.helperProportions.width-this.margins.left,($(o.containment=='document'?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!(/^(document|window|parent)$/).test(o.containment)){var ce=$(o.containment)[0];var co=$(o.containment).offset();var over=($(ce).css("overflow")!='hidden');this.containment=[co.left+(parseInt($(ce).css("borderLeftWidth"),10)||0)+(parseInt($(ce).css("paddingLeft"),10)||0)-this.margins.left,co.top+(parseInt($(ce).css("borderTopWidth"),10)||0)+(parseInt($(ce).css("paddingTop"),10)||0)-this.margins.top,co.left+(over?Math.max(ce.scrollWidth,ce.offsetWidth):ce.offsetWidth)-(parseInt($(ce).css("borderLeftWidth"),10)||0)-(parseInt($(ce).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,co.top+(over?Math.max(ce.scrollHeight,ce.offsetHeight):ce.offsetHeight)-(parseInt($(ce).css("borderTopWidth"),10)||0)-(parseInt($(ce).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top];}},_convertPositionTo:function(d,pos){if(!pos)pos=this.position;var mod=d=="absolute"?1:-1;var o=this.options,scroll=this.cssPosition=='absolute'&&!(this.scrollParent[0]!=document&&$.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,scrollIsRootNode=(/(html|body)/i).test(scroll[0].tagName);return{top:(pos.top
++this.offset.relative.top*mod
++this.offset.parent.top*mod
+-($.browser.safari&&this.cssPosition=='fixed'?0:(this.cssPosition=='fixed'?-this.scrollParent.scrollTop():(scrollIsRootNode?0:scroll.scrollTop()))*mod)),left:(pos.left
++this.offset.relative.left*mod
++this.offset.parent.left*mod
+-($.browser.safari&&this.cssPosition=='fixed'?0:(this.cssPosition=='fixed'?-this.scrollParent.scrollLeft():scrollIsRootNode?0:scroll.scrollLeft())*mod))};},_generatePosition:function(event){var o=this.options,scroll=this.cssPosition=='absolute'&&!(this.scrollParent[0]!=document&&$.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,scrollIsRootNode=(/(html|body)/i).test(scroll[0].tagName);if(this.cssPosition=='relative'&&!(this.scrollParent[0]!=document&&this.scrollParent[0]!=this.offsetParent[0])){this.offset.relative=this._getRelativeOffset();}
+var pageX=event.pageX;var pageY=event.pageY;if(this.originalPosition){if(this.containment){if(event.pageX-this.offset.click.left<this.containment[0])pageX=this.containment[0]+this.offset.click.left;if(event.pageY-this.offset.click.top<this.containment[1])pageY=this.containment[1]+this.offset.click.top;if(event.pageX-this.offset.click.left>this.containment[2])pageX=this.containment[2]+this.offset.click.left;if(event.pageY-this.offset.click.top>this.containment[3])pageY=this.containment[3]+this.offset.click.top;}
+if(o.grid){var top=this.originalPageY+Math.round((pageY-this.originalPageY)/o.grid[1])*o.grid[1];pageY=this.containment?(!(top-this.offset.click.top<this.containment[1]||top-this.offset.click.top>this.containment[3])?top:(!(top-this.offset.click.top<this.containment[1])?top-o.grid[1]:top+o.grid[1])):top;var left=this.originalPageX+Math.round((pageX-this.originalPageX)/o.grid[0])*o.grid[0];pageX=this.containment?(!(left-this.offset.click.left<this.containment[0]||left-this.offset.click.left>this.containment[2])?left:(!(left-this.offset.click.left<this.containment[0])?left-o.grid[0]:left+o.grid[0])):left;}}
+return{top:(pageY
+-this.offset.click.top
+-this.offset.relative.top
+-this.offset.parent.top
++($.browser.safari&&this.cssPosition=='fixed'?0:(this.cssPosition=='fixed'?-this.scrollParent.scrollTop():(scrollIsRootNode?0:scroll.scrollTop())))),left:(pageX
+-this.offset.click.left
+-this.offset.relative.left
+-this.offset.parent.left
++($.browser.safari&&this.cssPosition=='fixed'?0:(this.cssPosition=='fixed'?-this.scrollParent.scrollLeft():scrollIsRootNode?0:scroll.scrollLeft())))};},_rearrange:function(event,i,a,hardRefresh){a?a[0].appendChild(this.placeholder[0]):i.item[0].parentNode.insertBefore(this.placeholder[0],(this.direction=='down'?i.item[0]:i.item[0].nextSibling));this.counter=this.counter?++this.counter:1;var self=this,counter=this.counter;window.setTimeout(function(){if(counter==self.counter)self.refreshPositions(!hardRefresh);},0);},_clear:function(event,noPropagation){this.reverting=false;var delayedTriggers=[],self=this;if(!this._noFinalSort&&this.currentItem[0].parentNode)this.placeholder.before(this.currentItem);this._noFinalSort=null;if(this.helper[0]==this.currentItem[0]){for(var i in this._storedCSS){if(this._storedCSS[i]=='auto'||this._storedCSS[i]=='static')this._storedCSS[i]='';}
+this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper");}else{this.currentItem.show();}
+if(this.fromOutside&&!noPropagation)delayedTriggers.push(function(event){this._trigger("receive",event,this._uiHash(this.fromOutside));});if((this.fromOutside||this.domPosition.prev!=this.currentItem.prev().not(".ui-sortable-helper")[0]||this.domPosition.parent!=this.currentItem.parent()[0])&&!noPropagation)delayedTriggers.push(function(event){this._trigger("update",event,this._uiHash());});if(!$.ui.contains(this.element[0],this.currentItem[0])){if(!noPropagation)delayedTriggers.push(function(event){this._trigger("remove",event,this._uiHash());});for(var i=this.containers.length-1;i>=0;i--){if($.ui.contains(this.containers[i].element[0],this.currentItem[0])&&!noPropagation){delayedTriggers.push((function(c){return function(event){c._trigger("receive",event,this._uiHash(this));};}).call(this,this.containers[i]));delayedTriggers.push((function(c){return function(event){c._trigger("update",event,this._uiHash(this));};}).call(this,this.containers[i]));}};};for(var i=this.containers.length-1;i>=0;i--){if(!noPropagation)delayedTriggers.push((function(c){return function(event){c._trigger("deactivate",event,this._uiHash(this));};}).call(this,this.containers[i]));if(this.containers[i].containerCache.over){delayedTriggers.push((function(c){return function(event){c._trigger("out",event,this._uiHash(this));};}).call(this,this.containers[i]));this.containers[i].containerCache.over=0;}}
+if(this._storedCursor)$('body').css("cursor",this._storedCursor);if(this._storedOpacity)this.helper.css("opacity",this._storedOpacity);if(this._storedZIndex)this.helper.css("zIndex",this._storedZIndex=='auto'?'':this._storedZIndex);this.dragging=false;if(this.cancelHelperRemoval){if(!noPropagation){this._trigger("beforeStop",event,this._uiHash());for(var i=0;i<delayedTriggers.length;i++){delayedTriggers[i].call(this,event);};this._trigger("stop",event,this._uiHash());}
+return false;}
+if(!noPropagation)this._trigger("beforeStop",event,this._uiHash());this.placeholder[0].parentNode.removeChild(this.placeholder[0]);if(this.helper[0]!=this.currentItem[0])this.helper.remove();this.helper=null;if(!noPropagation){for(var i=0;i<delayedTriggers.length;i++){delayedTriggers[i].call(this,event);};this._trigger("stop",event,this._uiHash());}
+this.fromOutside=false;return true;},_trigger:function(){if($.widget.prototype._trigger.apply(this,arguments)===false){this.cancel();}},_uiHash:function(inst){var self=inst||this;return{helper:self.helper,placeholder:self.placeholder||$([]),position:self.position,absolutePosition:self.positionAbs,offset:self.positionAbs,item:self.currentItem,sender:inst?inst.element:null};}}));$.extend($.ui.sortable,{getter:"serialize toArray",version:"1.7.2",eventPrefix:"sort",defaults:{appendTo:"parent",axis:false,cancel:":input,option",connectWith:false,containment:false,cursor:'auto',cursorAt:false,delay:0,distance:1,dropOnEmpty:true,forcePlaceholderSize:false,forceHelperSize:false,grid:false,handle:false,helper:"original",items:'> *',opacity:false,placeholder:false,revert:false,scroll:true,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1000}});})(jQuery);TO_LOAD_INDEX++;TO_LOAD[TO_LOAD_INDEX]='load_extranet();';FIRST_LOAD=true;function load_extranet(){if($("#devisAdresse #client_nom").length){$("#devisAdresse #client_nom").autocomplete(SITE_PATH+'autocomplete/client',{cacheLength:0,maxItemsToShow:15,onFindValue:findClient,onItemSelect:findClient});}
+if($("#factureAdresse #projet_nom").length){$("#factureAdresse #projet_nom").autocomplete(SITE_PATH+'autocomplete/projet',{cacheLength:0,maxItemsToShow:15,onFindValue:findProjet,onItemSelect:findProjet});}
+if($(".dashboard").length>=1&&$("#dash").length>=1){$("#dash").sortable('destroy');if(FIRST_LOAD){FIRST_LOAD=false;}else{FIRST_LOAD=true;$.ajax({url:SITE_PATH+'ajax/reloadDashboards',success:function(data){MyAjax(data);}});}
+$("#dash").sortable({opacity:0.6,axis:"y",handle:".caption",stop:function(e,ui){$.ajax({url:SITE_PATH+'ajax/orderDashboards?'+$("#dash").sortable('serialize')});resize();}});}
+if($("#devisLignes").length>=1){$("#devisLignes").sortable('destroy');$("#devisLignes").sortable({opacity:0.6,axis:"y"});}
+$(".timereport_field").change(function(){var val=parseInt($(this).val());if(isNaN(val)){val=0;}
+var f=this;var id=$(this).attr('id');var a=id.split('_');$.ajax({url:SITE_PATH+'ajax/saveTimereport/'+a[1]+'/'+a[2]+'/'+val,success:function(data){FIRST_LOAD=true;MyAjax(data);var td=$(f).parents('td').get(0);if(parseFloat($(f).val())>0){$(td).addClass('filled');}else{$(td).removeClass('filled');}}});});$("#dash .toggle").click(function(){var rel=$(this).attr('rel');var div=$(this).parents('.dashboard').get(0);var liste=$(div).find('.liste');$(liste).slideToggle('fast',function(){resize();});$(this).toggleClass('close');$.ajax({url:SITE_PATH+'ajax/toggleDashboard/'+rel});return false;});$(".filtre .bt").click(function(){var ul=$(this).parent().parent().children('ul');$(ul).slideToggle('fast');return false;});$(".filtre ul").click(function(e){if(e.target.nodeName=='INPUT'||e.target.nodeName=='LABEL'){return true;}
+$(this).slideToggle('fast');});$(".filtre span").click(function(){var ul=$(this).parent().children('ul');$(ul).slideToggle('fast');});$(".filtre input").change(function(){var form=$(this).parents('form').get(0);var uls=$(form).find("ul");var divs=$(form).find(".input");var spans=$(form).find("span");var i,j,k,ul,lis,li,input,label,checked,div,titre,t,t1,allc,inputs;for(i=0;i<uls.length;i++){div=divs[i];titre=Array();ul=uls[i];lis=$(ul).children("li");allc=$(lis).get(0);checked=0;for(j=1;j<lis.length;j++){li=lis[j];input=$(li).find('input').get(0);label=$(li).find('label').get(0);if(input.checked){checked++;titre.push($(label).text());}}
+if(checked==0){$(div).find('span').text($(allc).text());$(div).find('a').attr('title',$(allc).text());$(div).removeClass('active');inputs=$(ul).find('input');for(k=0;k<inputs.length;k++){inputs[k].checked=true;}}else if(checked==lis.length-1){$(div).find('span').text($(allc).text());$(div).find('a').attr('title',$(allc).text());$(div).removeClass('active');}else{t=titre.join(', ');if(t.length>20){t1=t.substr(0,16)+'...';}else{t1=t;}
+$(div).find('span').text(t1);$(div).find('a').attr('title',t);$(div).addClass('active');}}
+return true;});$(window).resize(function(){resize();});resize();}
+function resize(){var allh=$("#header").height()+$("#footer").height()+$("#bar").height()+$("#main .content").height()+13+30;var h=Math.max($(window).height(),allh);var mh=h-$("#header").height()-$("#footer").height()-$("#bar").height()-30-13;mh=Math.max(mh,450);$("#main").css('height',mh);}
+function findClient(li){var client=li.selectValue.split(' - ');if(client.length<=1){return;}
+var client_id=parseInt(client[0]);$("#client").val(client_id);$.ajax({url:SITE_PATH+'ajax/getAdresseForDevis/'+client_id,success:function(data){MyAjax(data);}});}
+function findProjet(li){var projet=li.selectValue.split(' - ');if(projet.length<=1){return;}
+var projet_id=parseInt(projet[0]);$("#projet").val(projet_id);$.ajax({url:SITE_PATH+'ajax/getAdresseForFacture/'+projet_id,success:function(data){MyAjax(data);}});}
+function refreshFiles(){$.ajax({url:SITE_PATH+'ajax/refreshFichiers',success:function(data){MyAjax(data);}});}
\ No newline at end of file
diff --git a/js/merged-6298ca.js b/js/merged-6298ca.js
new file mode 100644 (file)
index 0000000..f0af59a
--- /dev/null
@@ -0,0 +1,569 @@
+
+(function(){var
+window=this,undefined,_jQuery=window.jQuery,_$=window.$,jQuery=window.jQuery=window.$=function(selector,context){return new jQuery.fn.init(selector,context);},quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,isSimple=/^.[^:#\[\.,]*$/;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;this.context=selector;return this;}
+if(typeof selector==="string"){var match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1])
+selector=jQuery.clean([match[1]],context);else{var elem=document.getElementById(match[3]);if(elem&&elem.id!=match[3])
+return jQuery().find(selector);var ret=jQuery(elem||[]);ret.context=document;ret.selector=selector;return ret;}}else
+return jQuery(context).find(selector);}else if(jQuery.isFunction(selector))
+return jQuery(document).ready(selector);if(selector.selector&&selector.context){this.selector=selector.selector;this.context=selector.context;}
+return this.setArray(jQuery.isArray(selector)?selector:jQuery.makeArray(selector));},selector:"",jquery:"1.3.2",size:function(){return this.length;},get:function(num){return num===undefined?Array.prototype.slice.call(this):this[num];},pushStack:function(elems,name,selector){var ret=jQuery(elems);ret.prevObject=this;ret.context=this.context;if(name==="find")
+ret.selector=this.selector+(this.selector?" ":"")+selector;else if(name)
+ret.selector=this.selector+"."+name+"("+selector+")";return ret;},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elems);return this;},each:function(callback,args){return jQuery.each(this,callback,args);},index:function(elem){return jQuery.inArray(elem&&elem.jquery?elem[0]:elem,this);},attr:function(name,value,type){var options=name;if(typeof name==="string")
+if(value===undefined)
+return this[0]&&jQuery[type||"attr"](this[0],name);else{options={};options[name]=value;}
+return this.each(function(i){for(name in options)
+jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name));});},css:function(key,value){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]){var wrap=jQuery(html,this[0].ownerDocument).clone();if(this[0].parentNode)
+wrap.insertBefore(this[0]);wrap.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,function(elem){if(this.nodeType==1)
+this.appendChild(elem);});},prepend:function(){return this.domManip(arguments,true,function(elem){if(this.nodeType==1)
+this.insertBefore(elem,this.firstChild);});},before:function(){return this.domManip(arguments,false,function(elem){this.parentNode.insertBefore(elem,this);});},after:function(){return this.domManip(arguments,false,function(elem){this.parentNode.insertBefore(elem,this.nextSibling);});},end:function(){return this.prevObject||jQuery([]);},push:[].push,sort:[].sort,splice:[].splice,find:function(selector){if(this.length===1){var ret=this.pushStack([],"find",selector);ret.length=0;jQuery.find(selector,this[0],ret);return ret;}else{return this.pushStack(jQuery.unique(jQuery.map(this,function(elem){return jQuery.find(selector,elem);})),"find",selector);}},clone:function(events){var ret=this.map(function(){if(!jQuery.support.noCloneEvent&&!jQuery.isXMLDoc(this)){var html=this.outerHTML;if(!html){var div=this.ownerDocument.createElement("div");div.appendChild(this.cloneNode(true));html=div.innerHTML;}
+return jQuery.clean([html.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0];}else
+return this.cloneNode(true);});if(events===true){var orig=this.find("*").andSelf(),i=0;ret.find("*").andSelf().each(function(){if(this.nodeName!==orig[i].nodeName)
+return;var events=jQuery.data(orig[i],"events");for(var type in events){for(var handler in events[type]){jQuery.event.add(this,type,events[type][handler],events[type][handler].data);}}
+i++;});}
+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,jQuery.grep(this,function(elem){return elem.nodeType===1;})),"filter",selector);},closest:function(selector){var pos=jQuery.expr.match.POS.test(selector)?jQuery(selector):null,closer=0;return this.map(function(){var cur=this;while(cur&&cur.ownerDocument){if(pos?pos.index(cur)>-1:jQuery(cur).is(selector)){jQuery.data(cur,"closest",closer);return cur;}
+cur=cur.parentNode;closer++;}});},not:function(selector){if(typeof selector==="string")
+if(isSimple.test(selector))
+return this.pushStack(jQuery.multiFilter(selector,this,true),"not",selector);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 this.pushStack(jQuery.unique(jQuery.merge(this.get(),typeof selector==="string"?jQuery(selector):jQuery.makeArray(selector))));},is:function(selector){return!!selector&&jQuery.multiFilter(selector,this).length>0;},hasClass:function(selector){return!!selector&&this.is("."+selector);},val:function(value){if(value===undefined){var elem=this[0];if(elem){if(jQuery.nodeName(elem,'option'))
+return(elem.attributes.value||{}).specified?elem.value:elem.text;if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";if(index<0)
+return null;for(var i=one?index:0,max=one?index+1:options.length;i<max;i++){var option=options[i];if(option.selected){value=jQuery(option).val();if(one)
+return value;values.push(value);}}
+return values;}
+return(elem.value||"").replace(/\r/g,"");}
+return undefined;}
+if(typeof value==="number")
+value+='';return this.each(function(){if(this.nodeType!=1)
+return;if(jQuery.isArray(value)&&/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=jQuery.makeArray(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[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):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),"slice",Array.prototype.slice.call(arguments).join(","));},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);},domManip:function(args,table,callback){if(this[0]){var fragment=(this[0].ownerDocument||this[0]).createDocumentFragment(),scripts=jQuery.clean(args,(this[0].ownerDocument||this[0]),fragment),first=fragment.firstChild;if(first)
+for(var i=0,l=this.length;i<l;i++)
+callback.call(root(this[i],first),this.length>1||i>0?fragment.cloneNode(true):fragment);if(scripts)
+jQuery.each(scripts,evalScript);}
+return this;function root(elem,cur){return table&&jQuery.nodeName(elem,"table")&&jQuery.nodeName(cur,"tr")?(elem.getElementsByTagName("tbody")[0]||elem.appendChild(elem.ownerDocument.createElement("tbody"))):elem;}}};jQuery.fn.init.prototype=jQuery.fn;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);}
+function now(){return+new Date;}
+jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(typeof target==="boolean"){deep=target;target=arguments[1]||{};i=2;}
+if(typeof target!=="object"&&!jQuery.isFunction(target))
+target={};if(length==i){target=this;--i;}
+for(;i<length;i++)
+if((options=arguments[i])!=null)
+for(var name in options){var src=target[name],copy=options[name];if(target===copy)
+continue;if(deep&&copy&&typeof copy==="object"&&!copy.nodeType)
+target[name]=jQuery.extend(deep,src||(copy.length!=null?[]:{}),copy);else if(copy!==undefined)
+target[name]=copy;}
+return target;};var exclude=/z-?index|font-?weight|opacity|zoom|line-?height/i,defaultView=document.defaultView||{},toString=Object.prototype.toString;jQuery.extend({noConflict:function(deep){window.$=_$;if(deep)
+window.jQuery=_jQuery;return jQuery;},isFunction:function(obj){return toString.call(obj)==="[object Function]";},isArray:function(obj){return toString.call(obj)==="[object Array]";},isXMLDoc:function(elem){return elem.nodeType===9&&elem.documentElement.nodeName!=="HTML"||!!elem.ownerDocument&&jQuery.isXMLDoc(elem.ownerDocument);},globalEval:function(data){if(data&&/\S/.test(data)){var head=document.getElementsByTagName("head")[0]||document.documentElement,script=document.createElement("script");script.type="text/javascript";if(jQuery.support.scriptEval)
+script.appendChild(document.createTextNode(data));else
+script.text=data;head.insertBefore(script,head.firstChild);head.removeChild(script);}},nodeName:function(elem,name){return elem.nodeName&&elem.nodeName.toUpperCase()==name.toUpperCase();},each:function(object,callback,args){var name,i=0,length=object.length;if(args){if(length===undefined){for(name in object)
+if(callback.apply(object[name],args)===false)
+break;}else
+for(;i<length;)
+if(callback.apply(object[i++],args)===false)
+break;}else{if(length===undefined){for(name in object)
+if(callback.call(object[name],name,object[name])===false)
+break;}else
+for(var value=object[0];i<length&&callback.call(value,i,value)!==false;value=object[++i]){}}
+return object;},prop:function(elem,value,type,i,name){if(jQuery.isFunction(value))
+value=value.call(elem,i);return typeof value==="number"&&type=="curCSS"&&!exclude.test(name)?value+"px":value;},className:{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;});},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(" "):"";},has:function(elem,className){return elem&&jQuery.inArray(className,(elem.className||elem).toString().split(/\s+/))>-1;}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}
+callback.call(elem);for(var name in options)
+elem.style[name]=old[name];},css:function(elem,name,force,extra){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;if(extra==="border")
+return;jQuery.each(which,function(){if(!extra)
+val-=parseFloat(jQuery.curCSS(elem,"padding"+this,true))||0;if(extra==="margin")
+val+=parseFloat(jQuery.curCSS(elem,"margin"+this,true))||0;else
+val-=parseFloat(jQuery.curCSS(elem,"border"+this+"Width",true))||0;});}
+if(elem.offsetWidth!==0)
+getWH();else
+jQuery.swap(elem,props,getWH);return Math.max(0,Math.round(val));}
+return jQuery.curCSS(elem,name,force);},curCSS:function(elem,name,force){var ret,style=elem.style;if(name=="opacity"&&!jQuery.support.opacity){ret=jQuery.attr(style,"opacity");return ret==""?"1":ret;}
+if(name.match(/float/i))
+name=styleFloat;if(!force&&style&&style[name])
+ret=style[name];else if(defaultView.getComputedStyle){if(name.match(/float/i))
+name="float";name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var computedStyle=defaultView.getComputedStyle(elem,null);if(computedStyle)
+ret=computedStyle.getPropertyValue(name);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];if(!/^\d+(px)?$/i.test(ret)&&/^\d/.test(ret)){var left=style.left,rsLeft=elem.runtimeStyle.left;elem.runtimeStyle.left=elem.currentStyle.left;style.left=ret||0;ret=style.pixelLeft+"px";style.left=left;elem.runtimeStyle.left=rsLeft;}}
+return ret;},clean:function(elems,context,fragment){context=context||document;if(typeof context.createElement==="undefined")
+context=context.ownerDocument||context[0]&&context[0].ownerDocument||document;if(!fragment&&elems.length===1&&typeof elems[0]==="string"){var match=/^<(\w+)\s*\/?>$/.exec(elems[0]);if(match)
+return[context.createElement(match[1])];}
+var ret=[],scripts=[],div=context.createElement("div");jQuery.each(elems,function(i,elem){if(typeof elem==="number")
+elem+='';if(!elem)
+return;if(typeof elem==="string"){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+">";});var tags=elem.replace(/^\s+/,"").substring(0,10).toLowerCase();var wrap=!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>"]||(!tags.indexOf("<td")||!tags.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!tags.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||!jQuery.support.htmlSerialize&&[1,"div<div>","</div>"]||[0,"",""];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--)
+div=div.lastChild;if(!jQuery.support.tbody){var hasBody=/<tbody/i.test(elem),tbody=!tags.indexOf("<table")&&!hasBody?div.firstChild&&div.firstChild.childNodes:wrap[1]=="<table>"&&!hasBody?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]);}
+if(!jQuery.support.leadingWhitespace&&/^\s/.test(elem))
+div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]),div.firstChild);elem=jQuery.makeArray(div.childNodes);}
+if(elem.nodeType)
+ret.push(elem);else
+ret=jQuery.merge(ret,elem);});if(fragment){for(var i=0;ret[i];i++){if(jQuery.nodeName(ret[i],"script")&&(!ret[i].type||ret[i].type.toLowerCase()==="text/javascript")){scripts.push(ret[i].parentNode?ret[i].parentNode.removeChild(ret[i]):ret[i]);}else{if(ret[i].nodeType===1)
+ret.splice.apply(ret,[i+1,0].concat(jQuery.makeArray(ret[i].getElementsByTagName("script"))));fragment.appendChild(ret[i]);}}
+return scripts;}
+return ret;},attr:function(elem,name,value){if(!elem||elem.nodeType==3||elem.nodeType==8)
+return undefined;var notxml=!jQuery.isXMLDoc(elem),set=value!==undefined;name=notxml&&jQuery.props[name]||name;if(elem.tagName){var special=/href|src|style/.test(name);if(name=="selected"&&elem.parentNode)
+elem.parentNode.selectedIndex;if(name in elem&&notxml&&!special){if(set){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)
+throw"type property can't be changed";elem[name]=value;}
+if(jQuery.nodeName(elem,"form")&&elem.getAttributeNode(name))
+return elem.getAttributeNode(name).nodeValue;if(name=="tabIndex"){var attributeNode=elem.getAttributeNode("tabIndex");return attributeNode&&attributeNode.specified?attributeNode.value:elem.nodeName.match(/(button|input|object|select|textarea)/i)?0:elem.nodeName.match(/^(a|area)$/i)&&elem.href?0:undefined;}
+return elem[name];}
+if(!jQuery.support.style&&notxml&&name=="style")
+return jQuery.attr(elem.style,"cssText",value);if(set)
+elem.setAttribute(name,""+value);var attr=!jQuery.support.hrefNormalized&&notxml&&special?elem.getAttribute(name,2):elem.getAttribute(name);return attr===null?undefined:attr;}
+if(!jQuery.support.opacity&&name=="opacity"){if(set){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+
+(parseInt(value)+''=="NaN"?"":"alpha(opacity="+value*100+")");}
+return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100)+'':"";}
+name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(set)
+elem[name]=value;return elem[name];},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeArray:function(array){var ret=[];if(array!=null){var i=array.length;if(i==null||typeof array==="string"||jQuery.isFunction(array)||array.setInterval)
+ret[0]=array;else
+while(i)
+ret[--i]=array[i];}
+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){var i=0,elem,pos=first.length;if(!jQuery.support.getAll){while((elem=second[i++])!=null)
+if(elem.nodeType!=8)
+first[pos++]=elem;}else
+while((elem=second[i++])!=null)
+first[pos++]=elem;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=[];for(var i=0,length=elems.length;i<length;i++)
+if(!inv!=!callback(elems[i],i))
+ret.push(elems[i]);return ret;},map:function(elems,callback){var ret=[];for(var i=0,length=elems.length;i<length;i++){var value=callback(elems[i],i);if(value!=null)
+ret[ret.length]=value;}
+return ret.concat.apply([],ret);}});var userAgent=navigator.userAgent.toLowerCase();jQuery.browser={version:(userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,'0'])[1],safari:/webkit/.test(userAgent),opera:/opera/.test(userAgent),msie:/msie/.test(userAgent)&&!/opera/.test(userAgent),mozilla:/mozilla/.test(userAgent)&&!/(compatible|webkit)/.test(userAgent)};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),name,selector);};});jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(selector){var ret=[],insert=jQuery(selector);for(var i=0,l=insert.length;i<l;i++){var elems=(i>0?this.clone(true):this).get();jQuery.fn[original].apply(jQuery(insert[i]),elems);ret=ret.concat(elems);}
+return this.pushStack(ret,name,selector);};});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,state){if(typeof state!=="boolean")
+state=!jQuery.className.has(this,classNames);jQuery.className[state?"add":"remove"](this,classNames);},remove:function(selector){if(!selector||jQuery.filter(selector,[this]).length){jQuery("*",this).add([this]).each(function(){jQuery.event.remove(this);jQuery.removeData(this);});if(this.parentNode)
+this.parentNode.removeChild(this);}},empty:function(){jQuery(this).children().remove();while(this.firstChild)
+this.removeChild(this.firstChild);}},function(name,fn){jQuery.fn[name]=function(){return this.each(fn,arguments);};});function num(elem,prop){return elem[0]&&parseInt(jQuery.curCSS(elem[0],prop,true),10)||0;}
+var expando="jQuery"+now(),uuid=0,windowData={};jQuery.extend({cache:{},data:function(elem,name,data){elem=elem==window?windowData:elem;var id=elem[expando];if(!id)
+id=elem[expando]=++uuid;if(name&&!jQuery.cache[id])
+jQuery.cache[id]={};if(data!==undefined)
+jQuery.cache[id][name]=data;return name?jQuery.cache[id][name]:id;},removeData:function(elem,name){elem=elem==window?windowData:elem;var id=elem[expando];if(name){if(jQuery.cache[id]){delete jQuery.cache[id][name];name="";for(name in jQuery.cache[id])
+break;if(!name)
+jQuery.removeData(elem);}}else{try{delete elem[expando];}catch(e){if(elem.removeAttribute)
+elem.removeAttribute(expando);}
+delete jQuery.cache[id];}},queue:function(elem,type,data){if(elem){type=(type||"fx")+"queue";var q=jQuery.data(elem,type);if(!q||jQuery.isArray(data))
+q=jQuery.data(elem,type,jQuery.makeArray(data));else if(data)
+q.push(data);}
+return q;},dequeue:function(elem,type){var queue=jQuery.queue(elem,type),fn=queue.shift();if(!type||type==="fx")
+fn=queue[0];if(fn!==undefined)
+fn.call(elem);}});jQuery.fn.extend({data:function(key,value){var parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value===undefined){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data===undefined&&this.length)
+data=jQuery.data(this[0],key);return data===undefined&&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);});},queue:function(type,data){if(typeof type!=="string"){data=type;type="fx";}
+if(data===undefined)
+return jQuery.queue(this[0],type);return this.each(function(){var queue=jQuery.queue(this,type,data);if(type=="fx"&&queue.length==1)
+queue[0].call(this);});},dequeue:function(type){return this.each(function(){jQuery.dequeue(this,type);});}});(function(){var chunker=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,done=0,toString=Object.prototype.toString;var Sizzle=function(selector,context,results,seed){results=results||[];context=context||document;if(context.nodeType!==1&&context.nodeType!==9)
+return[];if(!selector||typeof selector!=="string"){return results;}
+var parts=[],m,set,checkSet,check,mode,extra,prune=true;chunker.lastIndex=0;while((m=chunker.exec(selector))!==null){parts.push(m[1]);if(m[2]){extra=RegExp.rightContext;break;}}
+if(parts.length>1&&origPOS.exec(selector)){if(parts.length===2&&Expr.relative[parts[0]]){set=posProcess(parts[0]+parts[1],context);}else{set=Expr.relative[parts[0]]?[context]:Sizzle(parts.shift(),context);while(parts.length){selector=parts.shift();if(Expr.relative[selector])
+selector+=parts.shift();set=posProcess(selector,set);}}}else{var ret=seed?{expr:parts.pop(),set:makeArray(seed)}:Sizzle.find(parts.pop(),parts.length===1&&context.parentNode?context.parentNode:context,isXML(context));set=Sizzle.filter(ret.expr,ret.set);if(parts.length>0){checkSet=makeArray(set);}else{prune=false;}
+while(parts.length){var cur=parts.pop(),pop=cur;if(!Expr.relative[cur]){cur="";}else{pop=parts.pop();}
+if(pop==null){pop=context;}
+Expr.relative[cur](checkSet,pop,isXML(context));}}
+if(!checkSet){checkSet=set;}
+if(!checkSet){throw"Syntax error, unrecognized expression: "+(cur||selector);}
+if(toString.call(checkSet)==="[object Array]"){if(!prune){results.push.apply(results,checkSet);}else if(context.nodeType===1){for(var i=0;checkSet[i]!=null;i++){if(checkSet[i]&&(checkSet[i]===true||checkSet[i].nodeType===1&&contains(context,checkSet[i]))){results.push(set[i]);}}}else{for(var i=0;checkSet[i]!=null;i++){if(checkSet[i]&&checkSet[i].nodeType===1){results.push(set[i]);}}}}else{makeArray(checkSet,results);}
+if(extra){Sizzle(extra,context,results,seed);if(sortOrder){hasDuplicate=false;results.sort(sortOrder);if(hasDuplicate){for(var i=1;i<results.length;i++){if(results[i]===results[i-1]){results.splice(i--,1);}}}}}
+return results;};Sizzle.matches=function(expr,set){return Sizzle(expr,null,null,set);};Sizzle.find=function(expr,context,isXML){var set,match;if(!expr){return[];}
+for(var i=0,l=Expr.order.length;i<l;i++){var type=Expr.order[i],match;if((match=Expr.match[type].exec(expr))){var left=RegExp.leftContext;if(left.substr(left.length-1)!=="\\"){match[1]=(match[1]||"").replace(/\\/g,"");set=Expr.find[type](match,context,isXML);if(set!=null){expr=expr.replace(Expr.match[type],"");break;}}}}
+if(!set){set=context.getElementsByTagName("*");}
+return{set:set,expr:expr};};Sizzle.filter=function(expr,set,inplace,not){var old=expr,result=[],curLoop=set,match,anyFound,isXMLFilter=set&&set[0]&&isXML(set[0]);while(expr&&set.length){for(var type in Expr.filter){if((match=Expr.match[type].exec(expr))!=null){var filter=Expr.filter[type],found,item;anyFound=false;if(curLoop==result){result=[];}
+if(Expr.preFilter[type]){match=Expr.preFilter[type](match,curLoop,inplace,result,not,isXMLFilter);if(!match){anyFound=found=true;}else if(match===true){continue;}}
+if(match){for(var i=0;(item=curLoop[i])!=null;i++){if(item){found=filter(item,match,i,curLoop);var pass=not^!!found;if(inplace&&found!=null){if(pass){anyFound=true;}else{curLoop[i]=false;}}else if(pass){result.push(item);anyFound=true;}}}}
+if(found!==undefined){if(!inplace){curLoop=result;}
+expr=expr.replace(Expr.match[type],"");if(!anyFound){return[];}
+break;}}}
+if(expr==old){if(anyFound==null){throw"Syntax error, unrecognized expression: "+expr;}else{break;}}
+old=expr;}
+return curLoop;};var Expr=Sizzle.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(elem){return elem.getAttribute("href");}},relative:{"+":function(checkSet,part,isXML){var isPartStr=typeof part==="string",isTag=isPartStr&&!/\W/.test(part),isPartStrNotTag=isPartStr&&!isTag;if(isTag&&!isXML){part=part.toUpperCase();}
+for(var i=0,l=checkSet.length,elem;i<l;i++){if((elem=checkSet[i])){while((elem=elem.previousSibling)&&elem.nodeType!==1){}
+checkSet[i]=isPartStrNotTag||elem&&elem.nodeName===part?elem||false:elem===part;}}
+if(isPartStrNotTag){Sizzle.filter(part,checkSet,true);}},">":function(checkSet,part,isXML){var isPartStr=typeof part==="string";if(isPartStr&&!/\W/.test(part)){part=isXML?part:part.toUpperCase();for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){var parent=elem.parentNode;checkSet[i]=parent.nodeName===part?parent:false;}}}else{for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){checkSet[i]=isPartStr?elem.parentNode:elem.parentNode===part;}}
+if(isPartStr){Sizzle.filter(part,checkSet,true);}}},"":function(checkSet,part,isXML){var doneName=done++,checkFn=dirCheck;if(!part.match(/\W/)){var nodeCheck=part=isXML?part:part.toUpperCase();checkFn=dirNodeCheck;}
+checkFn("parentNode",part,doneName,checkSet,nodeCheck,isXML);},"~":function(checkSet,part,isXML){var doneName=done++,checkFn=dirCheck;if(typeof part==="string"&&!part.match(/\W/)){var nodeCheck=part=isXML?part:part.toUpperCase();checkFn=dirNodeCheck;}
+checkFn("previousSibling",part,doneName,checkSet,nodeCheck,isXML);}},find:{ID:function(match,context,isXML){if(typeof context.getElementById!=="undefined"&&!isXML){var m=context.getElementById(match[1]);return m?[m]:[];}},NAME:function(match,context,isXML){if(typeof context.getElementsByName!=="undefined"){var ret=[],results=context.getElementsByName(match[1]);for(var i=0,l=results.length;i<l;i++){if(results[i].getAttribute("name")===match[1]){ret.push(results[i]);}}
+return ret.length===0?null:ret;}},TAG:function(match,context){return context.getElementsByTagName(match[1]);}},preFilter:{CLASS:function(match,curLoop,inplace,result,not,isXML){match=" "+match[1].replace(/\\/g,"")+" ";if(isXML){return match;}
+for(var i=0,elem;(elem=curLoop[i])!=null;i++){if(elem){if(not^(elem.className&&(" "+elem.className+" ").indexOf(match)>=0)){if(!inplace)
+result.push(elem);}else if(inplace){curLoop[i]=false;}}}
+return false;},ID:function(match){return match[1].replace(/\\/g,"");},TAG:function(match,curLoop){for(var i=0;curLoop[i]===false;i++){}
+return curLoop[i]&&isXML(curLoop[i])?match[1]:match[1].toUpperCase();},CHILD:function(match){if(match[1]=="nth"){var test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(match[2]=="even"&&"2n"||match[2]=="odd"&&"2n+1"||!/\D/.test(match[2])&&"0n+"+match[2]||match[2]);match[2]=(test[1]+(test[2]||1))-0;match[3]=test[3]-0;}
+match[0]=done++;return match;},ATTR:function(match,curLoop,inplace,result,not,isXML){var name=match[1].replace(/\\/g,"");if(!isXML&&Expr.attrMap[name]){match[1]=Expr.attrMap[name];}
+if(match[2]==="~="){match[4]=" "+match[4]+" ";}
+return match;},PSEUDO:function(match,curLoop,inplace,result,not){if(match[1]==="not"){if(match[3].match(chunker).length>1||/^\w/.test(match[3])){match[3]=Sizzle(match[3],null,null,curLoop);}else{var ret=Sizzle.filter(match[3],curLoop,inplace,true^not);if(!inplace){result.push.apply(result,ret);}
+return false;}}else if(Expr.match.POS.test(match[0])||Expr.match.CHILD.test(match[0])){return true;}
+return match;},POS:function(match){match.unshift(true);return match;}},filters:{enabled:function(elem){return elem.disabled===false&&elem.type!=="hidden";},disabled:function(elem){return elem.disabled===true;},checked:function(elem){return elem.checked===true;},selected:function(elem){elem.parentNode.selectedIndex;return elem.selected===true;},parent:function(elem){return!!elem.firstChild;},empty:function(elem){return!elem.firstChild;},has:function(elem,i,match){return!!Sizzle(match[3],elem).length;},header:function(elem){return/h\d/i.test(elem.nodeName);},text:function(elem){return"text"===elem.type;},radio:function(elem){return"radio"===elem.type;},checkbox:function(elem){return"checkbox"===elem.type;},file:function(elem){return"file"===elem.type;},password:function(elem){return"password"===elem.type;},submit:function(elem){return"submit"===elem.type;},image:function(elem){return"image"===elem.type;},reset:function(elem){return"reset"===elem.type;},button:function(elem){return"button"===elem.type||elem.nodeName.toUpperCase()==="BUTTON";},input:function(elem){return/input|select|textarea|button/i.test(elem.nodeName);}},setFilters:{first:function(elem,i){return i===0;},last:function(elem,i,match,array){return i===array.length-1;},even:function(elem,i){return i%2===0;},odd:function(elem,i){return i%2===1;},lt:function(elem,i,match){return i<match[3]-0;},gt:function(elem,i,match){return i>match[3]-0;},nth:function(elem,i,match){return match[3]-0==i;},eq:function(elem,i,match){return match[3]-0==i;}},filter:{PSEUDO:function(elem,match,i,array){var name=match[1],filter=Expr.filters[name];if(filter){return filter(elem,i,match,array);}else if(name==="contains"){return(elem.textContent||elem.innerText||"").indexOf(match[3])>=0;}else if(name==="not"){var not=match[3];for(var i=0,l=not.length;i<l;i++){if(not[i]===elem){return false;}}
+return true;}},CHILD:function(elem,match){var type=match[1],node=elem;switch(type){case'only':case'first':while(node=node.previousSibling){if(node.nodeType===1)return false;}
+if(type=='first')return true;node=elem;case'last':while(node=node.nextSibling){if(node.nodeType===1)return false;}
+return true;case'nth':var first=match[2],last=match[3];if(first==1&&last==0){return true;}
+var doneName=match[0],parent=elem.parentNode;if(parent&&(parent.sizcache!==doneName||!elem.nodeIndex)){var count=0;for(node=parent.firstChild;node;node=node.nextSibling){if(node.nodeType===1){node.nodeIndex=++count;}}
+parent.sizcache=doneName;}
+var diff=elem.nodeIndex-last;if(first==0){return diff==0;}else{return(diff%first==0&&diff/first>=0);}}},ID:function(elem,match){return elem.nodeType===1&&elem.getAttribute("id")===match;},TAG:function(elem,match){return(match==="*"&&elem.nodeType===1)||elem.nodeName===match;},CLASS:function(elem,match){return(" "+(elem.className||elem.getAttribute("class"))+" ").indexOf(match)>-1;},ATTR:function(elem,match){var name=match[1],result=Expr.attrHandle[name]?Expr.attrHandle[name](elem):elem[name]!=null?elem[name]:elem.getAttribute(name),value=result+"",type=match[2],check=match[4];return result==null?type==="!=":type==="="?value===check:type==="*="?value.indexOf(check)>=0:type==="~="?(" "+value+" ").indexOf(check)>=0:!check?value&&result!==false:type==="!="?value!=check:type==="^="?value.indexOf(check)===0:type==="$="?value.substr(value.length-check.length)===check:type==="|="?value===check||value.substr(0,check.length+1)===check+"-":false;},POS:function(elem,match,i,array){var name=match[2],filter=Expr.setFilters[name];if(filter){return filter(elem,i,match,array);}}}};var origPOS=Expr.match.POS;for(var type in Expr.match){Expr.match[type]=RegExp(Expr.match[type].source+/(?![^\[]*\])(?![^\(]*\))/.source);}
+var makeArray=function(array,results){array=Array.prototype.slice.call(array);if(results){results.push.apply(results,array);return results;}
+return array;};try{Array.prototype.slice.call(document.documentElement.childNodes);}catch(e){makeArray=function(array,results){var ret=results||[];if(toString.call(array)==="[object Array]"){Array.prototype.push.apply(ret,array);}else{if(typeof array.length==="number"){for(var i=0,l=array.length;i<l;i++){ret.push(array[i]);}}else{for(var i=0;array[i];i++){ret.push(array[i]);}}}
+return ret;};}
+var sortOrder;if(document.documentElement.compareDocumentPosition){sortOrder=function(a,b){var ret=a.compareDocumentPosition(b)&4?-1:a===b?0:1;if(ret===0){hasDuplicate=true;}
+return ret;};}else if("sourceIndex"in document.documentElement){sortOrder=function(a,b){var ret=a.sourceIndex-b.sourceIndex;if(ret===0){hasDuplicate=true;}
+return ret;};}else if(document.createRange){sortOrder=function(a,b){var aRange=a.ownerDocument.createRange(),bRange=b.ownerDocument.createRange();aRange.selectNode(a);aRange.collapse(true);bRange.selectNode(b);bRange.collapse(true);var ret=aRange.compareBoundaryPoints(Range.START_TO_END,bRange);if(ret===0){hasDuplicate=true;}
+return ret;};}
+(function(){var form=document.createElement("form"),id="script"+(new Date).getTime();form.innerHTML="<input name='"+id+"'/>";var root=document.documentElement;root.insertBefore(form,root.firstChild);if(!!document.getElementById(id)){Expr.find.ID=function(match,context,isXML){if(typeof context.getElementById!=="undefined"&&!isXML){var m=context.getElementById(match[1]);return m?m.id===match[1]||typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id").nodeValue===match[1]?[m]:undefined:[];}};Expr.filter.ID=function(elem,match){var node=typeof elem.getAttributeNode!=="undefined"&&elem.getAttributeNode("id");return elem.nodeType===1&&node&&node.nodeValue===match;};}
+root.removeChild(form);})();(function(){var div=document.createElement("div");div.appendChild(document.createComment(""));if(div.getElementsByTagName("*").length>0){Expr.find.TAG=function(match,context){var results=context.getElementsByTagName(match[1]);if(match[1]==="*"){var tmp=[];for(var i=0;results[i];i++){if(results[i].nodeType===1){tmp.push(results[i]);}}
+results=tmp;}
+return results;};}
+div.innerHTML="<a href='#'></a>";if(div.firstChild&&typeof div.firstChild.getAttribute!=="undefined"&&div.firstChild.getAttribute("href")!=="#"){Expr.attrHandle.href=function(elem){return elem.getAttribute("href",2);};}})();if(document.querySelectorAll)(function(){var oldSizzle=Sizzle,div=document.createElement("div");div.innerHTML="<p class='TEST'></p>";if(div.querySelectorAll&&div.querySelectorAll(".TEST").length===0){return;}
+Sizzle=function(query,context,extra,seed){context=context||document;if(!seed&&context.nodeType===9&&!isXML(context)){try{return makeArray(context.querySelectorAll(query),extra);}catch(e){}}
+return oldSizzle(query,context,extra,seed);};Sizzle.find=oldSizzle.find;Sizzle.filter=oldSizzle.filter;Sizzle.selectors=oldSizzle.selectors;Sizzle.matches=oldSizzle.matches;})();if(document.getElementsByClassName&&document.documentElement.getElementsByClassName)(function(){var div=document.createElement("div");div.innerHTML="<div class='test e'></div><div class='test'></div>";if(div.getElementsByClassName("e").length===0)
+return;div.lastChild.className="e";if(div.getElementsByClassName("e").length===1)
+return;Expr.order.splice(1,0,"CLASS");Expr.find.CLASS=function(match,context,isXML){if(typeof context.getElementsByClassName!=="undefined"&&!isXML){return context.getElementsByClassName(match[1]);}};})();function dirNodeCheck(dir,cur,doneName,checkSet,nodeCheck,isXML){var sibDir=dir=="previousSibling"&&!isXML;for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){if(sibDir&&elem.nodeType===1){elem.sizcache=doneName;elem.sizset=i;}
+elem=elem[dir];var match=false;while(elem){if(elem.sizcache===doneName){match=checkSet[elem.sizset];break;}
+if(elem.nodeType===1&&!isXML){elem.sizcache=doneName;elem.sizset=i;}
+if(elem.nodeName===cur){match=elem;break;}
+elem=elem[dir];}
+checkSet[i]=match;}}}
+function dirCheck(dir,cur,doneName,checkSet,nodeCheck,isXML){var sibDir=dir=="previousSibling"&&!isXML;for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){if(sibDir&&elem.nodeType===1){elem.sizcache=doneName;elem.sizset=i;}
+elem=elem[dir];var match=false;while(elem){if(elem.sizcache===doneName){match=checkSet[elem.sizset];break;}
+if(elem.nodeType===1){if(!isXML){elem.sizcache=doneName;elem.sizset=i;}
+if(typeof cur!=="string"){if(elem===cur){match=true;break;}}else if(Sizzle.filter(cur,[elem]).length>0){match=elem;break;}}
+elem=elem[dir];}
+checkSet[i]=match;}}}
+var contains=document.compareDocumentPosition?function(a,b){return a.compareDocumentPosition(b)&16;}:function(a,b){return a!==b&&(a.contains?a.contains(b):true);};var isXML=function(elem){return elem.nodeType===9&&elem.documentElement.nodeName!=="HTML"||!!elem.ownerDocument&&isXML(elem.ownerDocument);};var posProcess=function(selector,context){var tmpSet=[],later="",match,root=context.nodeType?[context]:context;while((match=Expr.match.PSEUDO.exec(selector))){later+=match[0];selector=selector.replace(Expr.match.PSEUDO,"");}
+selector=Expr.relative[selector]?selector+"*":selector;for(var i=0,l=root.length;i<l;i++){Sizzle(selector,root[i],tmpSet);}
+return Sizzle.filter(later,tmpSet);};jQuery.find=Sizzle;jQuery.filter=Sizzle.filter;jQuery.expr=Sizzle.selectors;jQuery.expr[":"]=jQuery.expr.filters;Sizzle.selectors.filters.hidden=function(elem){return elem.offsetWidth===0||elem.offsetHeight===0;};Sizzle.selectors.filters.visible=function(elem){return elem.offsetWidth>0||elem.offsetHeight>0;};Sizzle.selectors.filters.animated=function(elem){return jQuery.grep(jQuery.timers,function(fn){return elem===fn.elem;}).length;};jQuery.multiFilter=function(expr,elems,not){if(not){expr=":not("+expr+")";}
+return Sizzle.matches(expr,elems);};jQuery.dir=function(elem,dir){var matched=[],cur=elem[dir];while(cur&&cur!=document){if(cur.nodeType==1)
+matched.push(cur);cur=cur[dir];}
+return matched;};jQuery.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;};jQuery.sibling=function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType==1&&n!=elem)
+r.push(n);}
+return r;};return;window.Sizzle=Sizzle;})();jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8)
+return;if(elem.setInterval&&elem!=window)
+elem=window;if(!handler.guid)
+handler.guid=this.guid++;if(data!==undefined){var fn=handler;handler=this.proxy(fn);handler.data=data;}
+var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){return typeof jQuery!=="undefined"&&!jQuery.event.triggered?jQuery.event.handle.apply(arguments.callee.elem,arguments):undefined;});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var namespaces=type.split(".");type=namespaces.shift();handler.type=namespaces.slice().sort().join(".");var handlers=events[type];if(jQuery.event.specialAll[type])
+jQuery.event.specialAll[type].setup.call(elem,data,namespaces);if(!handlers){handlers=events[type]={};if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem,data,namespaces)===false){if(elem.addEventListener)
+elem.addEventListener(type,handle,false);else if(elem.attachEvent)
+elem.attachEvent("on"+type,handle);}}
+handlers[handler.guid]=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8)
+return;var events=jQuery.data(elem,"events"),ret,index;if(events){if(types===undefined||(typeof types==="string"&&types.charAt(0)=="."))
+for(var type in events)
+this.remove(elem,type+(types||""));else{if(types.type){handler=types.handler;types=types.type;}
+jQuery.each(types.split(/\s+/),function(index,type){var namespaces=type.split(".");type=namespaces.shift();var namespace=RegExp("(^|\\.)"+namespaces.slice().sort().join(".*\\.")+"(\\.|$)");if(events[type]){if(handler)
+delete events[type][handler.guid];else
+for(var handle in events[type])
+if(namespace.test(events[type][handle].type))
+delete events[type][handle];if(jQuery.event.specialAll[type])
+jQuery.event.specialAll[type].teardown.call(elem,namespaces);for(ret in events[type])break;if(!ret){if(!jQuery.event.special[type]||jQuery.event.special[type].teardown.call(elem,namespaces)===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];}}});}
+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(event,data,elem,bubbling){var type=event.type||event;if(!bubbling){event=typeof event==="object"?event[expando]?event:jQuery.extend(jQuery.Event(type),event):jQuery.Event(type);if(type.indexOf("!")>=0){event.type=type=type.slice(0,-1);event.exclusive=true;}
+if(!elem){event.stopPropagation();if(this.global[type])
+jQuery.each(jQuery.cache,function(){if(this.events&&this.events[type])
+jQuery.event.trigger(event,data,this.handle.elem);});}
+if(!elem||elem.nodeType==3||elem.nodeType==8)
+return undefined;event.result=undefined;event.target=elem;data=jQuery.makeArray(data);data.unshift(event);}
+event.currentTarget=elem;var handle=jQuery.data(elem,"handle");if(handle)
+handle.apply(elem,data);if((!elem[type]||(jQuery.nodeName(elem,'a')&&type=="click"))&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)
+event.result=false;if(!bubbling&&elem[type]&&!event.isDefaultPrevented()&&!(jQuery.nodeName(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]();}catch(e){}}
+this.triggered=false;if(!event.isPropagationStopped()){var parent=elem.parentNode||elem.ownerDocument;if(parent)
+jQuery.event.trigger(event,data,parent,true);}},handle:function(event){var all,handlers;event=arguments[0]=jQuery.event.fix(event||window.event);event.currentTarget=this;var namespaces=event.type.split(".");event.type=namespaces.shift();all=!namespaces.length&&!event.exclusive;var namespace=RegExp("(^|\\.)"+namespaces.slice().sort().join(".*\\.")+"(\\.|$)");handlers=(jQuery.data(this,"events")||{})[event.type];for(var j in handlers){var handler=handlers[j];if(all||namespace.test(handler.type)){event.handler=handler;event.data=handler.data;var ret=handler.apply(this,arguments);if(ret!==undefined){event.result=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}
+if(event.isImmediatePropagationStopped())
+break;}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(event){if(event[expando])
+return event;var originalEvent=event;event=jQuery.Event(originalEvent);for(var i=this.props.length,prop;i;){prop=this.props[--i];event[prop]=originalEvent[prop];}
+if(!event.target)
+event.target=event.srcElement||document;if(event.target.nodeType==3)
+event.target=event.target.parentNode;if(!event.relatedTarget&&event.fromElement)
+event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;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);}
+if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode))
+event.which=event.charCode||event.keyCode;if(!event.metaKey&&event.ctrlKey)
+event.metaKey=event.ctrlKey;if(!event.which&&event.button)
+event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));return event;},proxy:function(fn,proxy){proxy=proxy||function(){return fn.apply(this,arguments);};proxy.guid=fn.guid=fn.guid||proxy.guid||this.guid++;return proxy;},special:{ready:{setup:bindReady,teardown:function(){}}},specialAll:{live:{setup:function(selector,namespaces){jQuery.event.add(this,namespaces[0],liveHandler);},teardown:function(namespaces){if(namespaces.length){var remove=0,name=RegExp("(^|\\.)"+namespaces[0]+"(\\.|$)");jQuery.each((jQuery.data(this,"events").live||{}),function(){if(name.test(this.type))
+remove++;});if(remove<1)
+jQuery.event.remove(this,namespaces[0],liveHandler);}}}}};jQuery.Event=function(src){if(!this.preventDefault)
+return new jQuery.Event(src);if(src&&src.type){this.originalEvent=src;this.type=src.type;}else
+this.type=src;this.timeStamp=now();this[expando]=true;};function returnFalse(){return false;}
+function returnTrue(){return true;}
+jQuery.Event.prototype={preventDefault:function(){this.isDefaultPrevented=returnTrue;var e=this.originalEvent;if(!e)
+return;if(e.preventDefault)
+e.preventDefault();e.returnValue=false;},stopPropagation:function(){this.isPropagationStopped=returnTrue;var e=this.originalEvent;if(!e)
+return;if(e.stopPropagation)
+e.stopPropagation();e.cancelBubble=true;},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=returnTrue;this.stopPropagation();},isDefaultPrevented:returnFalse,isPropagationStopped:returnFalse,isImmediatePropagationStopped:returnFalse};var withinElement=function(event){var parent=event.relatedTarget;while(parent&&parent!=this)
+try{parent=parent.parentNode;}
+catch(e){parent=this;}
+if(parent!=this){event.type=event.data;jQuery.event.handle.apply(this,arguments);}};jQuery.each({mouseover:'mouseenter',mouseout:'mouseleave'},function(orig,fix){jQuery.event.special[fix]={setup:function(){jQuery.event.add(this,orig,withinElement,fix);},teardown:function(){jQuery.event.remove(this,orig,withinElement);}};});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){var one=jQuery.event.proxy(fn||data,function(event){jQuery(this).unbind(event,one);return(fn||data).apply(this,arguments);});return this.each(function(){jQuery.event.add(this,type,one,fn&&data);});},unbind:function(type,fn){return this.each(function(){jQuery.event.remove(this,type,fn);});},trigger:function(type,data){return this.each(function(){jQuery.event.trigger(type,data,this);});},triggerHandler:function(type,data){if(this[0]){var event=jQuery.Event(type);event.preventDefault();event.stopPropagation();jQuery.event.trigger(event,data,this[0]);return event.result;}},toggle:function(fn){var args=arguments,i=1;while(i<args.length)
+jQuery.event.proxy(fn,args[i++]);return this.click(jQuery.event.proxy(fn,function(event){this.lastToggle=(this.lastToggle||0)%i;event.preventDefault();return args[this.lastToggle++].apply(this,arguments)||false;}));},hover:function(fnOver,fnOut){return this.mouseenter(fnOver).mouseleave(fnOut);},ready:function(fn){bindReady();if(jQuery.isReady)
+fn.call(document,jQuery);else
+jQuery.readyList.push(fn);return this;},live:function(type,fn){var proxy=jQuery.event.proxy(fn);proxy.guid+=this.selector+type;jQuery(document).bind(liveConvert(type,this.selector),this.selector,proxy);return this;},die:function(type,fn){jQuery(document).unbind(liveConvert(type,this.selector),fn?{guid:fn.guid+this.selector+type}:null);return this;}});function liveHandler(event){var check=RegExp("(^|\\.)"+event.type+"(\\.|$)"),stop=true,elems=[];jQuery.each(jQuery.data(this,"events").live||[],function(i,fn){if(check.test(fn.type)){var elem=jQuery(event.target).closest(fn.data)[0];if(elem)
+elems.push({elem:elem,fn:fn});}});elems.sort(function(a,b){return jQuery.data(a.elem,"closest")-jQuery.data(b.elem,"closest");});jQuery.each(elems,function(){if(this.fn.call(this.elem,event,this.fn.data)===false)
+return(stop=false);});return stop;}
+function liveConvert(type,selector){return["live",type,selector.replace(/\./g,"`").replace(/ /g,"|")].join(".");}
+jQuery.extend({isReady:false,readyList:[],ready:function(){if(!jQuery.isReady){jQuery.isReady=true;if(jQuery.readyList){jQuery.each(jQuery.readyList,function(){this.call(document,jQuery);});jQuery.readyList=null;}
+jQuery(document).triggerHandler("ready");}}});var readyBound=false;function bindReady(){if(readyBound)return;readyBound=true;if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);jQuery.ready();},false);}else if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);jQuery.ready();}});if(document.documentElement.doScroll&&window==window.top)(function(){if(jQuery.isReady)return;try{document.documentElement.doScroll("left");}catch(error){setTimeout(arguments.callee,0);return;}
+jQuery.ready();})();}
+jQuery.event.add(window,"load",jQuery.ready);}
+jQuery.each(("blur,focus,load,resize,scroll,unload,click,dblclick,"+"mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,"+"change,select,submit,keydown,keypress,keyup,error").split(","),function(i,name){jQuery.fn[name]=function(fn){return fn?this.bind(name,fn):this.trigger(name);};});jQuery(window).bind('unload',function(){for(var id in jQuery.cache)
+if(id!=1&&jQuery.cache[id].handle)
+jQuery.event.remove(jQuery.cache[id].handle.elem);});(function(){jQuery.support={};var root=document.documentElement,script=document.createElement("script"),div=document.createElement("div"),id="script"+(new Date).getTime();div.style.display="none";div.innerHTML='   <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';var all=div.getElementsByTagName("*"),a=div.getElementsByTagName("a")[0];if(!all||!all.length||!a){return;}
+jQuery.support={leadingWhitespace:div.firstChild.nodeType==3,tbody:!div.getElementsByTagName("tbody").length,objectAll:!!div.getElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSerialize:!!div.getElementsByTagName("link").length,style:/red/.test(a.getAttribute("style")),hrefNormalized:a.getAttribute("href")==="/a",opacity:a.style.opacity==="0.5",cssFloat:!!a.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};script.type="text/javascript";try{script.appendChild(document.createTextNode("window."+id+"=1;"));}catch(e){}
+root.insertBefore(script,root.firstChild);if(window[id]){jQuery.support.scriptEval=true;delete window[id];}
+root.removeChild(script);if(div.attachEvent&&div.fireEvent){div.attachEvent("onclick",function(){jQuery.support.noCloneEvent=false;div.detachEvent("onclick",arguments.callee);});div.cloneNode(true).fireEvent("onclick");}
+jQuery(function(){var div=document.createElement("div");div.style.width=div.style.paddingLeft="1px";document.body.appendChild(div);jQuery.boxModel=jQuery.support.boxModel=div.offsetWidth===2;document.body.removeChild(div).style.display='none';});})();var styleFloat=jQuery.support.cssFloat?"cssFloat":"styleFloat";jQuery.props={"for":"htmlFor","class":"className","float":styleFloat,cssFloat:styleFloat,styleFloat:styleFloat,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};jQuery.fn.extend({_load:jQuery.fn.load,load:function(url,params,callback){if(typeof url!=="string")
+return this._load(url);var off=url.indexOf(" ");if(off>=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}
+var type="GET";if(params)
+if(jQuery.isFunction(params)){callback=params;params=null;}else if(typeof params==="object"){params=jQuery.param(params);type="POST";}
+var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified")
+self.html(selector?jQuery("<div/>").append(res.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(selector):res.responseText);if(callback)
+self.each(callback,[res.responseText,status,res]);}});return this;},serialize:function(){return jQuery.param(this.serializeArray());},serializeArray:function(){return this.map(function(){return this.elements?jQuery.makeArray(this.elements):this;}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type));}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:jQuery.isArray(val)?jQuery.map(val,function(val,i){return{name:elem.name,value:val};}):{name:elem.name,value:val};}).get();}});jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=now();jQuery.extend({get:function(url,data,callback,type){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:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(s){s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));var jsonp,jsre=/=\?(&|$)/g,status,data,type=s.type.toUpperCase();if(s.data&&s.processData&&typeof s.data!=="string")
+s.data=jQuery.param(s.data);if(s.dataType=="jsonp"){if(type=="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";}
+if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++;if(s.data)
+s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";window[jsonp]=function(tmp){data=tmp;success();complete();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&&type=="GET"){var ts=now();var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"");}
+if(s.data&&type=="GET"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data;s.data=null;}
+if(s.global&&!jQuery.active++)
+jQuery.event.trigger("ajaxStart");var parts=/^(\w+:)?\/\/([^\/?#]+)/.exec(s.url);if(s.dataType=="script"&&type=="GET"&&parts&&(parts[1]&&parts[1]!=location.protocol||parts[2]!=location.host)){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=s.url;if(s.scriptCharset)
+script.charset=s.scriptCharset;if(!jsonp){var done=false;script.onload=script.onreadystatechange=function(){if(!done&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){done=true;success();complete();script.onload=script.onreadystatechange=null;head.removeChild(script);}};}
+head.appendChild(script);return undefined;}
+var requestDone=false;var xhr=s.xhr();if(s.username)
+xhr.open(type,s.url,s.async,s.username,s.password);else
+xhr.open(type,s.url,s.async);try{if(s.data)
+xhr.setRequestHeader("Content-Type",s.contentType);if(s.ifModified)
+xhr.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");xhr.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default);}catch(e){}
+if(s.beforeSend&&s.beforeSend(xhr,s)===false){if(s.global&&!--jQuery.active)
+jQuery.event.trigger("ajaxStop");xhr.abort();return false;}
+if(s.global)
+jQuery.event.trigger("ajaxSend",[xhr,s]);var onreadystatechange=function(isTimeout){if(xhr.readyState==0){if(ival){clearInterval(ival);ival=null;if(s.global&&!--jQuery.active)
+jQuery.event.trigger("ajaxStop");}}else if(!requestDone&&xhr&&(xhr.readyState==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival=null;}
+status=isTimeout=="timeout"?"timeout":!jQuery.httpSuccess(xhr)?"error":s.ifModified&&jQuery.httpNotModified(xhr,s.url)?"notmodified":"success";if(status=="success"){try{data=jQuery.httpData(xhr,s.dataType,s);}catch(e){status="parsererror";}}
+if(status=="success"){var modRes;try{modRes=xhr.getResponseHeader("Last-Modified");}catch(e){}
+if(s.ifModified&&modRes)
+jQuery.lastModified[s.url]=modRes;if(!jsonp)
+success();}else
+jQuery.handleError(s,xhr,status);complete();if(isTimeout)
+xhr.abort();if(s.async)
+xhr=null;}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout>0)
+setTimeout(function(){if(xhr&&!requestDone)
+onreadystatechange("timeout");},s.timeout);}
+try{xhr.send(s.data);}catch(e){jQuery.handleError(s,xhr,null,e);}
+if(!s.async)
+onreadystatechange();function success(){if(s.success)
+s.success(data,status);if(s.global)
+jQuery.event.trigger("ajaxSuccess",[xhr,s]);}
+function complete(){if(s.complete)
+s.complete(xhr,status);if(s.global)
+jQuery.event.trigger("ajaxComplete",[xhr,s]);if(s.global&&!--jQuery.active)
+jQuery.event.trigger("ajaxStop");}
+return xhr;},handleError:function(s,xhr,status,e){if(s.error)s.error(xhr,status,e);if(s.global)
+jQuery.event.trigger("ajaxError",[xhr,s,e]);},active:0,httpSuccess:function(xhr){try{return!xhr.status&&location.protocol=="file:"||(xhr.status>=200&&xhr.status<300)||xhr.status==304||xhr.status==1223;}catch(e){}
+return false;},httpNotModified:function(xhr,url){try{var xhrRes=xhr.getResponseHeader("Last-Modified");return xhr.status==304||xhrRes==jQuery.lastModified[url];}catch(e){}
+return false;},httpData:function(xhr,type,s){var ct=xhr.getResponseHeader("content-type"),xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0,data=xml?xhr.responseXML:xhr.responseText;if(xml&&data.documentElement.tagName=="parsererror")
+throw"parsererror";if(s&&s.dataFilter)
+data=s.dataFilter(data,type);if(typeof data==="string"){if(type=="script")
+jQuery.globalEval(data);if(type=="json")
+data=window["eval"]("("+data+")");}
+return data;},param:function(a){var s=[];function add(key,value){s[s.length]=encodeURIComponent(key)+'='+encodeURIComponent(value);};if(jQuery.isArray(a)||a.jquery)
+jQuery.each(a,function(){add(this.name,this.value);});else
+for(var j in a)
+if(jQuery.isArray(a[j]))
+jQuery.each(a[j],function(){add(j,this);});else
+add(j,jQuery.isFunction(a[j])?a[j]():a[j]);return s.join("&").replace(/%20/g,"+");}});var elemdisplay={},timerId,fxAttrs=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function genFx(type,num){var obj={};jQuery.each(fxAttrs.concat.apply([],fxAttrs.slice(0,num)),function(){obj[this]=type;});return obj;}
+jQuery.fn.extend({show:function(speed,callback){if(speed){return this.animate(genFx("show",3),speed,callback);}else{for(var i=0,l=this.length;i<l;i++){var old=jQuery.data(this[i],"olddisplay");this[i].style.display=old||"";if(jQuery.css(this[i],"display")==="none"){var tagName=this[i].tagName,display;if(elemdisplay[tagName]){display=elemdisplay[tagName];}else{var elem=jQuery("<"+tagName+" />").appendTo("body");display=elem.css("display");if(display==="none")
+display="block";elem.remove();elemdisplay[tagName]=display;}
+jQuery.data(this[i],"olddisplay",display);}}
+for(var i=0,l=this.length;i<l;i++){this[i].style.display=jQuery.data(this[i],"olddisplay")||"";}
+return this;}},hide:function(speed,callback){if(speed){return this.animate(genFx("hide",3),speed,callback);}else{for(var i=0,l=this.length;i<l;i++){var old=jQuery.data(this[i],"olddisplay");if(!old&&old!=="none")
+jQuery.data(this[i],"olddisplay",jQuery.css(this[i],"display"));}
+for(var i=0,l=this.length;i<l;i++){this[i].style.display="none";}
+return this;}},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){var bool=typeof fn==="boolean";return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle.apply(this,arguments):fn==null||bool?this.each(function(){var state=bool?fn:jQuery(this).is(":hidden");jQuery(this)[state?"show":"hide"]();}):this.animate(genFx("toggle",3),fn,fn2);},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(){var opt=jQuery.extend({},optall),p,hidden=this.nodeType==1&&jQuery(this).is(":hidden"),self=this;for(p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)
+return opt.complete.call(this);if((p=="height"||p=="width")&&this.style){opt.display=jQuery.css(this,"display");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";if(unit!="px"){self.style[name]=(end||1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit;}
+if(parts[1])
+end=((parts[1]=="-="?-1:1)*end)+start;e.custom(start,end,unit);}else
+e.custom(start,val,"");}});return true;});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue)
+this.queue([]);this.each(function(){for(var i=timers.length-1;i>=0;i--)
+if(timers[i].elem==this){if(gotoEnd)
+timers[i](true);timers.splice(i,1);}});if(!gotoEnd)
+this.dequeue();return this;}});jQuery.each({slideDown:genFx("show",1),slideUp:genFx("hide",1),slideToggle:genFx("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(name,props){jQuery.fn[name]=function(speed,callback){return this.animate(props,speed,callback);};});jQuery.extend({speed:function(speed,easing,fn){var opt=typeof speed==="object"?speed:{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&!jQuery.isFunction(easing)&&easing};opt.duration=jQuery.fx.off?0:typeof opt.duration==="number"?opt.duration:jQuery.fx.speeds[opt.duration]||jQuery.fx.speeds._default;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false)
+jQuery(this).dequeue();if(jQuery.isFunction(opt.old))
+opt.old.call(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:[],fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;if(!options.orig)
+options.orig={};}});jQuery.fx.prototype={update:function(){if(this.options.step)
+this.options.step.call(this.elem,this.now,this);(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style)
+this.elem.style.display="block";},cur:function(force){if(this.elem[this.prop]!=null&&(!this.elem.style||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;},custom:function(from,to,unit){this.startTime=now();this.start=from;this.end=to;this.unit=unit||this.unit||"px";this.now=this.start;this.pos=this.state=0;var self=this;function t(gotoEnd){return self.step(gotoEnd);}
+t.elem=this.elem;if(t()&&jQuery.timers.push(t)&&!timerId){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(timerId);timerId=undefined;}},13);}},show:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.show=true;this.custom(this.prop=="width"||this.prop=="height"?1:0,this.cur());jQuery(this.elem).show();},hide:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0);},step:function(gotoEnd){var t=now();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){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,"display")=="none")
+this.elem.style.display="block";}
+if(this.options.hide)
+jQuery(this.elem).hide();if(this.options.hide||this.options.show)
+for(var p in this.options.curAnim)
+jQuery.attr(this.elem.style,p,this.options.orig[p]);this.options.complete.call(this.elem);}
+return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;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);this.update();}
+return true;}};jQuery.extend(jQuery.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(fx){jQuery.attr(fx.elem.style,"opacity",fx.now);},_default:function(fx){if(fx.elem.style&&fx.elem.style[fx.prop]!=null)
+fx.elem.style[fx.prop]=fx.now+fx.unit;else
+fx.elem[fx.prop]=fx.now;}}});if(document.documentElement["getBoundingClientRect"])
+jQuery.fn.offset=function(){if(!this[0])return{top:0,left:0};if(this[0]===this[0].ownerDocument.body)return jQuery.offset.bodyOffset(this[0]);var box=this[0].getBoundingClientRect(),doc=this[0].ownerDocument,body=doc.body,docElem=doc.documentElement,clientTop=docElem.clientTop||body.clientTop||0,clientLeft=docElem.clientLeft||body.clientLeft||0,top=box.top+(self.pageYOffset||jQuery.boxModel&&docElem.scrollTop||body.scrollTop)-clientTop,left=box.left+(self.pageXOffset||jQuery.boxModel&&docElem.scrollLeft||body.scrollLeft)-clientLeft;return{top:top,left:left};};else
+jQuery.fn.offset=function(){if(!this[0])return{top:0,left:0};if(this[0]===this[0].ownerDocument.body)return jQuery.offset.bodyOffset(this[0]);jQuery.offset.initialized||jQuery.offset.initialize();var elem=this[0],offsetParent=elem.offsetParent,prevOffsetParent=elem,doc=elem.ownerDocument,computedStyle,docElem=doc.documentElement,body=doc.body,defaultView=doc.defaultView,prevComputedStyle=defaultView.getComputedStyle(elem,null),top=elem.offsetTop,left=elem.offsetLeft;while((elem=elem.parentNode)&&elem!==body&&elem!==docElem){computedStyle=defaultView.getComputedStyle(elem,null);top-=elem.scrollTop,left-=elem.scrollLeft;if(elem===offsetParent){top+=elem.offsetTop,left+=elem.offsetLeft;if(jQuery.offset.doesNotAddBorder&&!(jQuery.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(elem.tagName)))
+top+=parseInt(computedStyle.borderTopWidth,10)||0,left+=parseInt(computedStyle.borderLeftWidth,10)||0;prevOffsetParent=offsetParent,offsetParent=elem.offsetParent;}
+if(jQuery.offset.subtractsBorderForOverflowNotVisible&&computedStyle.overflow!=="visible")
+top+=parseInt(computedStyle.borderTopWidth,10)||0,left+=parseInt(computedStyle.borderLeftWidth,10)||0;prevComputedStyle=computedStyle;}
+if(prevComputedStyle.position==="relative"||prevComputedStyle.position==="static")
+top+=body.offsetTop,left+=body.offsetLeft;if(prevComputedStyle.position==="fixed")
+top+=Math.max(docElem.scrollTop,body.scrollTop),left+=Math.max(docElem.scrollLeft,body.scrollLeft);return{top:top,left:left};};jQuery.offset={initialize:function(){if(this.initialized)return;var body=document.body,container=document.createElement('div'),innerDiv,checkDiv,table,td,rules,prop,bodyMarginTop=body.style.marginTop,html='<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';rules={position:'absolute',top:0,left:0,margin:0,border:0,width:'1px',height:'1px',visibility:'hidden'};for(prop in rules)container.style[prop]=rules[prop];container.innerHTML=html;body.insertBefore(container,body.firstChild);innerDiv=container.firstChild,checkDiv=innerDiv.firstChild,td=innerDiv.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(checkDiv.offsetTop!==5);this.doesAddBorderForTableAndCells=(td.offsetTop===5);innerDiv.style.overflow='hidden',innerDiv.style.position='relative';this.subtractsBorderForOverflowNotVisible=(checkDiv.offsetTop===-5);body.style.marginTop='1px';this.doesNotIncludeMarginInBodyOffset=(body.offsetTop===0);body.style.marginTop=bodyMarginTop;body.removeChild(container);this.initialized=true;},bodyOffset:function(body){jQuery.offset.initialized||jQuery.offset.initialize();var top=body.offsetTop,left=body.offsetLeft;if(jQuery.offset.doesNotIncludeMarginInBodyOffset)
+top+=parseInt(jQuery.curCSS(body,'marginTop',true),10)||0,left+=parseInt(jQuery.curCSS(body,'marginLeft',true),10)||0;return{top:top,left:left};}};jQuery.fn.extend({position:function(){var left=0,top=0,results;if(this[0]){var offsetParent=this.offsetParent(),offset=this.offset(),parentOffset=/^body|html$/i.test(offsetParent[0].tagName)?{top:0,left:0}:offsetParent.offset();offset.top-=num(this,'marginTop');offset.left-=num(this,'marginLeft');parentOffset.top+=num(offsetParent,'borderTopWidth');parentOffset.left+=num(offsetParent,'borderLeftWidth');results={top:offset.top-parentOffset.top,left:offset.left-parentOffset.left};}
+return results;},offsetParent:function(){var offsetParent=this[0].offsetParent||document.body;while(offsetParent&&(!/^body|html$/i.test(offsetParent.tagName)&&jQuery.css(offsetParent,'position')=='static'))
+offsetParent=offsetParent.offsetParent;return jQuery(offsetParent);}});jQuery.each(['Left','Top'],function(i,name){var method='scroll'+name;jQuery.fn[method]=function(val){if(!this[0])return null;return val!==undefined?this.each(function(){this==window||this==document?window.scrollTo(!i?val:jQuery(window).scrollLeft(),i?val:jQuery(window).scrollTop()):this[method]=val;}):this[0]==window||this[0]==document?self[i?'pageYOffset':'pageXOffset']||jQuery.boxModel&&document.documentElement[method]||document.body[method]:this[0][method];};});jQuery.each(["Height","Width"],function(i,name){var tl=i?"Left":"Top",br=i?"Right":"Bottom",lower=name.toLowerCase();jQuery.fn["inner"+name]=function(){return this[0]?jQuery.css(this[0],lower,false,"padding"):null;};jQuery.fn["outer"+name]=function(margin){return this[0]?jQuery.css(this[0],lower,false,margin?"margin":"border"):null;};var type=name.toLowerCase();jQuery.fn[type]=function(size){return this[0]==window?document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(document.documentElement["client"+name],document.body["scroll"+name],document.documentElement["scroll"+name],document.body["offset"+name],document.documentElement["offset"+name]):size===undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,typeof size==="string"?size:size+"px");};});})();(function($){$.fn.ajaxSubmit=function(options){if(!this.length){log('ajaxSubmit: skipping submit process - no element selected');return this;}
+if(typeof options=='function')
+options={success:options};options=$.extend({url:this.attr('action')||window.location.toString(),type:this.attr('method')||'GET'},options||{});var veto={};this.trigger('form-pre-serialize',[this,options,veto]);if(veto.veto){log('ajaxSubmit: submit vetoed via form-pre-serialize trigger');return this;}
+var a=this.formToArray(options.semantic);if(options.data){options.extraData=options.data;for(var n in options.data)
+a.push({name:n,value:options.data[n]});}
+if(options.beforeSubmit&&options.beforeSubmit(a,this,options)===false){log('ajaxSubmit: submit aborted via beforeSubmit callback');return this;}
+this.trigger('form-submit-validate',[a,this,options,veto]);if(veto.veto){log('ajaxSubmit: submit vetoed via form-submit-validate trigger');return this;}
+var q=$.param(a);if(options.type.toUpperCase()=='GET'){options.url+=(options.url.indexOf('?')>=0?'&':'?')+q;options.data=null;}
+else
+options.data=q;var $form=this,callbacks=[];if(options.resetForm)callbacks.push(function(){$form.resetForm();});if(options.clearForm)callbacks.push(function(){$form.clearForm();});if(!options.dataType&&options.target){var oldSuccess=options.success||function(){};callbacks.push(function(data){$(options.target).html(data).each(oldSuccess,arguments);});}
+else if(options.success)
+callbacks.push(options.success);options.success=function(data,status){for(var i=0,max=callbacks.length;i<max;i++)
+callbacks[i](data,status,$form);};var files=$('input:file',this).fieldValue();var found=false;for(var j=0;j<files.length;j++)
+if(files[j])
+found=true;if(options.iframe||found){if($.browser.safari&&options.closeKeepAlive)
+$.get(options.closeKeepAlive,fileUpload);else
+fileUpload();}
+else
+$.ajax(options);this.trigger('form-submit-notify',[this,options]);return this;function fileUpload(){var form=$form[0];if($(':input[@name=submit]',form).length){alert('Error: Form elements must not be named "submit".');return;}
+var opts=$.extend({},$.ajaxSettings,options);var id='jqFormIO'+(new Date().getTime());var $io=$('<iframe id="'+id+'" name="'+id+'" />');var io=$io[0];if($.browser.msie||$.browser.opera)
+io.src='javascript:false;document.write("");';$io.css({position:'absolute',top:'-1000px',left:'-1000px'});var xhr={responseText:null,responseXML:null,status:0,statusText:'n/a',getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){}};var g=opts.global;if(g&&!$.active++)$.event.trigger("ajaxStart");if(g)$.event.trigger("ajaxSend",[xhr,opts]);var cbInvoked=0;var timedOut=0;var sub=form.clk;if(sub){var n=sub.name;if(n&&!sub.disabled){options.extraData=options.extraData||{};options.extraData[n]=sub.value;if(sub.type=="image"){options.extraData[name+'.x']=form.clk_x;options.extraData[name+'.y']=form.clk_y;}}}
+setTimeout(function(){var t=$form.attr('target'),a=$form.attr('action');$form.attr({target:id,encoding:'multipart/form-data',enctype:'multipart/form-data',method:'POST',action:opts.url});if(opts.timeout)
+setTimeout(function(){timedOut=true;cb();},opts.timeout);var extraInputs=[];try{if(options.extraData)
+for(var n in options.extraData)
+extraInputs.push($('<input type="hidden" name="'+n+'" value="'+options.extraData[n]+'" />').appendTo(form)[0]);$io.appendTo('body');io.attachEvent?io.attachEvent('onload',cb):io.addEventListener('load',cb,false);form.submit();}
+finally{$form.attr('action',a);t?$form.attr('target',t):$form.removeAttr('target');$(extraInputs).remove();}},10);function cb(){if(cbInvoked++)return;io.detachEvent?io.detachEvent('onload',cb):io.removeEventListener('load',cb,false);var operaHack=0;var ok=true;try{if(timedOut)throw'timeout';var data,doc;doc=io.contentWindow?io.contentWindow.document:io.contentDocument?io.contentDocument:io.document;if(doc.body==null&&!operaHack&&$.browser.opera){operaHack=1;cbInvoked--;setTimeout(cb,100);return;}
+xhr.responseText=doc.body?doc.body.innerHTML:null;xhr.responseXML=doc.XMLDocument?doc.XMLDocument:doc;xhr.getResponseHeader=function(header){var headers={'content-type':opts.dataType};return headers[header];};if(opts.dataType=='json'||opts.dataType=='script'){var ta=doc.getElementsByTagName('textarea')[0];xhr.responseText=ta?ta.value:xhr.responseText;}
+else if(opts.dataType=='xml'&&!xhr.responseXML&&xhr.responseText!=null){xhr.responseXML=toXml(xhr.responseText);}
+data=$.httpData(xhr,opts.dataType);}
+catch(e){ok=false;$.handleError(opts,xhr,'error',e);}
+if(ok){opts.success(data,'success');if(g)$.event.trigger("ajaxSuccess",[xhr,opts]);}
+if(g)$.event.trigger("ajaxComplete",[xhr,opts]);if(g&&!--$.active)$.event.trigger("ajaxStop");if(opts.complete)opts.complete(xhr,ok?'success':'error');setTimeout(function(){$io.remove();xhr.responseXML=null;},100);};function toXml(s,doc){if(window.ActiveXObject){doc=new ActiveXObject('Microsoft.XMLDOM');doc.async='false';doc.loadXML(s);}
+else
+doc=(new DOMParser()).parseFromString(s,'text/xml');return(doc&&doc.documentElement&&doc.documentElement.tagName!='parsererror')?doc:null;};};};$.fn.ajaxForm=function(options){return this.ajaxFormUnbind().bind('submit.form-plugin',function(){$(this).ajaxSubmit(options);return false;}).each(function(){$(":submit,input:image",this).bind('click.form-plugin',function(e){var $form=this.form;$form.clk=this;if(this.type=='image'){if(e.offsetX!=undefined){$form.clk_x=e.offsetX;$form.clk_y=e.offsetY;}else if(typeof $.fn.offset=='function'){var offset=$(this).offset();$form.clk_x=e.pageX-offset.left;$form.clk_y=e.pageY-offset.top;}else{$form.clk_x=e.pageX-this.offsetLeft;$form.clk_y=e.pageY-this.offsetTop;}}
+setTimeout(function(){$form.clk=$form.clk_x=$form.clk_y=null;},10);});});};$.fn.ajaxFormUnbind=function(){this.unbind('submit.form-plugin');return this.each(function(){$(":submit,input:image",this).unbind('click.form-plugin');});};$.fn.formToArray=function(semantic){var a=[];if(this.length==0)return a;var form=this[0];var els=semantic?form.getElementsByTagName('*'):form.elements;if(!els)return a;for(var i=0,max=els.length;i<max;i++){var el=els[i];var n=el.name;if(!n)continue;if(semantic&&form.clk&&el.type=="image"){if(!el.disabled&&form.clk==el)
+a.push({name:n+'.x',value:form.clk_x},{name:n+'.y',value:form.clk_y});continue;}
+var v=$.fieldValue(el,true);if(v&&v.constructor==Array){for(var j=0,jmax=v.length;j<jmax;j++)
+a.push({name:n,value:v[j]});}
+else if(v!==null&&typeof v!='undefined')
+a.push({name:n,value:v});}
+if(!semantic&&form.clk){var inputs=form.getElementsByTagName("input");for(var i=0,max=inputs.length;i<max;i++){var input=inputs[i];var n=input.name;if(n&&!input.disabled&&input.type=="image"&&form.clk==input)
+a.push({name:n+'.x',value:form.clk_x},{name:n+'.y',value:form.clk_y});}}
+return a;};$.fn.formSerialize=function(semantic){return $.param(this.formToArray(semantic));};$.fn.fieldSerialize=function(successful){var a=[];this.each(function(){var n=this.name;if(!n)return;var v=$.fieldValue(this,successful);if(v&&v.constructor==Array){for(var i=0,max=v.length;i<max;i++)
+a.push({name:n,value:v[i]});}
+else if(v!==null&&typeof v!='undefined')
+a.push({name:this.name,value:v});});return $.param(a);};$.fn.fieldValue=function(successful){for(var val=[],i=0,max=this.length;i<max;i++){var el=this[i];var v=$.fieldValue(el,successful);if(v===null||typeof v=='undefined'||(v.constructor==Array&&!v.length))
+continue;v.constructor==Array?$.merge(val,v):val.push(v);}
+return val;};$.fieldValue=function(el,successful){var n=el.name,t=el.type,tag=el.tagName.toLowerCase();if(typeof successful=='undefined')successful=true;if(successful&&(!n||el.disabled||t=='reset'||t=='button'||(t=='checkbox'||t=='radio')&&!el.checked||(t=='submit'||t=='image')&&el.form&&el.form.clk!=el||tag=='select'&&el.selectedIndex==-1))
+return null;if(tag=='select'){var index=el.selectedIndex;if(index<0)return null;var a=[],ops=el.options;var one=(t=='select-one');var max=(one?index+1:ops.length);for(var i=(one?index:0);i<max;i++){var op=ops[i];if(op.selected){var v=$.browser.msie&&!(op.attributes['value'].specified)?op.text:op.value;if(one)return v;a.push(v);}}
+return a;}
+return el.value;};$.fn.clearForm=function(){return this.each(function(){$('input,select,textarea',this).clearFields();});};$.fn.clearFields=$.fn.clearInputs=function(){return this.each(function(){var t=this.type,tag=this.tagName.toLowerCase();if(t=='text'||t=='password'||tag=='textarea')
+this.value='';else if(t=='checkbox'||t=='radio')
+this.checked=false;else if(tag=='select')
+this.selectedIndex=-1;});};$.fn.resetForm=function(){return this.each(function(){if(typeof this.reset=='function'||(typeof this.reset=='object'&&!this.reset.nodeType))
+this.reset();});};$.fn.enable=function(b){if(b==undefined)b=true;return this.each(function(){this.disabled=!b});};$.fn.select=function(select){if(select==undefined)select=true;return this.each(function(){var t=this.type;if(t=='checkbox'||t=='radio')
+this.checked=select;else if(this.tagName.toLowerCase()=='option'){var $sel=$(this).parent('select');if(select&&$sel[0]&&$sel[0].type=='select-one'){$sel.find('option').select(false);}
+this.selected=select;}});};function log(){if($.fn.ajaxSubmit.debug&&window.console&&window.console.log)
+window.console.log('[jquery.form] '+Array.prototype.join.call(arguments,''));};})(jQuery);var TO_LOAD_INDEX=0;var TO_LOAD=new Array;var MARKITUP=false;var UNBIND=false;var GOTOAFTERSUBMIT='';$(function(){load_jquery();});function load_jquery(){if(UNBIND){if(MARKITUP){$("*").not(".markItUpButton").unbind();}else{$("*").unbind();}}
+UNBIND=true;$("a.submit").click(function(){$(this).parents("form").submit();if($(this).attr('href')!='#'){GOTOAFTERSUBMIT=$(this).attr('href');}
+return false;});$("a.submitOnce").click(function(){$(this).parents("form").submit();$(this).unbind('click');return false;});$("a.submitWait").click(function(){$(this).parents("form").after('<p class="center">'+$(this).attr('title')+'<br /><br /><img src="'+IMG_CUBE+'/loader.gif" /></p>');$(this).parents("form").submit();$(this).parents("form").hide();return false;});$("form").submit(function(){$(this).attr('change','0');return true;});$("form.blank").each(function(){$(this).attr('target','_blank');$(this).removeClass('_blank');});$("form").not(".notajax").submit(function(){display_loader();$(this).ajaxSubmit({url:SITE_PATH+'ajax/'+$(this).attr('action'),success:function(data){MyAjax(data);if(GOTOAFTERSUBMIT!=''){window.location=GOTOAFTERSUBMIT;GOTOAFTERSUBMIT='';}}});return false;});$(".notajax form").unbind();$("form.submitonchange :input").each(function(){$(this).one('change',function(){$(this).parents("form").submit();});});$(":input").change(function(){$(this).parents("form").attr("change",1);});$("a.ajax").click(function(){var title=$(this).attr('title');var href=$(this).attr('rel');if(title!=''&&title!=undefined&&title.search(/\?/)>-1){if(!window.confirm(title)){return false;}}
+if($(this).hasClass('wait')){wait();}
+display_loader();$.ajax({url:SITE_PATH+'ajax/'+href,success:function(data){MyAjax(data);}});return false;});$("a.dajax").dblclick(function(){var title=$(this).attr('title');var href=$(this).attr('rel');if(title!=''&&title!=undefined&&title.search(/\?/)>=0){if(!window.confirm(title)){return false;}}
+display_loader();$.ajax({url:SITE_PATH+'ajax/'+href,success:function(data){MyAjax(data);}});return false;});$("a.ajaxh").click(function(){var title=$(this).attr('title');var href=$(this).attr('href');if(title!=''&&title!=undefined&&title.search(/\?/)>=0){if(!window.confirm(title)){return false;}}
+display_loader();$.ajax({url:href,success:function(data){MyAjax(data);}});return false;});$("a.prompt").click(function(){var href=$(this).attr('rel');var defaut=$(this).attr('rev');var name=window.prompt($(this).attr('title'),defaut);if(name==null||name=='null'||name==''){return false;}
+display_loader();$.ajax({url:SITE_PATH+'ajax/'+href+'?var='+name,success:function(data){MyAjax(data);}});return false;});$("a.closePopup").click(function(){closePopup($(this),true);return false;});$("a.closePopupNotConfirm").click(function(){closePopup($(this),false);return false;});$("a.popup").click(function(){display_loader();$.ajax({url:SITE_PATH+'ajax/'+$(this).attr('rel'),dataType:'responseText',success:function(data){createPopup(data);}});remove_loader();return false;});$("a.changepopup").click(function(){display_loader();$.ajax({url:SITE_PATH+'ajax/'+$(this).attr('rel'),dataType:'responseText',success:function(data){changepopup(data);load_jquery();}});remove_loader();return false;});$("a.blank").click(function(){$(this).attr('target','_blank');return true;});$("a.nothing").click(function(){return false;});$(".pemail").each(function(){var protected=$(this).text();var adresse=rot13(protected);$(this).text(adresse);$(this).attr('href','mailto:'+adresse);$(this).removeClass('pemail');});var len=TO_LOAD.length;for(var i=0;i<len;i++){eval(TO_LOAD[i]);}
+__fixPNG();if($("#jquery_time").length>0&&$("#jquery_time").text()==''){var E=new Date();var m=(parseInt(E-S)/1000).toString().replace('.',',');$("#jquery_time").text(m);}}
+function randval(min,max){var diff=max-min;return Math.round(Math.random()*diff)+diff;}
+function rot(t,u,v){return String.fromCharCode(((t-u+v)%(v*2))+u);}
+function rot13(s){var b=[],c,i=s.length,a='a'.charCodeAt(),z=a+26,A='A'.charCodeAt(),Z=A+26;while(i--){c=s.charCodeAt(i);if(c>=a&&c<z){b[i]=rot(c,a,13);}else if(c>=A&&c<Z){b[i]=rot(c,A,13);}else{b[i]=s.charAt(i);}}
+return b.join('');}
+function createPopup(data){POPUP_COUNTER=parseInt(POPUP_COUNTER);$("body").append('<div id="pl_'+POPUP_COUNTER+'" class="popupLayer"><div class="popupOverlay" id="po_'+POPUP_COUNTER+'" style="z-index:'+(1000+POPUP_COUNTER*2)+';"></div><div id="pw_'+POPUP_COUNTER+'" class="popupWindow" style="z-index:'+(1001+POPUP_COUNTER*2)+';"></div></div>');$("#po_"+POPUP_COUNTER).css('opacity',0.65);$("#po_"+POPUP_COUNTER).css('display','block');$("#pw_"+POPUP_COUNTER).html(data);$("#pw_"+POPUP_COUNTER).show();popup_dimensions(POPUP_COUNTER);load_jquery();POPUP_COUNTER+=1;}
+function closePopup(object,confirm){if(object==undefined||object==null){var i=$(".popupLayer").length-1;var elements=$(".popupLayer").get();var e=elements[i];var changes=false;$(this).find("form").each(function(){if($(this).attr("change")==1){changes=true;}});if(confirm==false||(changes==true&&window.confirm(CONFIRM_CLOSE))||changes==false){$(e).remove();POPUP_COUNTER-=1;popup_dimensions();}}else{$(object).parents(".popupLayer").each(function(){var changes=false;$(this).find("form").each(function(){if($(this).attr("change")==1){changes=true;}});if(confirm==false||(changes==true&&window.confirm(CONFIRM_CLOSE))||changes==false){$(this).remove();POPUP_COUNTER-=1;popup_dimensions();}});}}
+function popup_dimensions(i){if(i==undefined){i=POPUP_COUNTER-1;}
+if(i<0){return;}
+var margin=30;var mh=$(window).height()-(margin*2);if(!$.browser.msie){$("#pw_"+i).css("opacity",0);}
+$("#pw_"+i+" .c>div").css("overflow-y",'auto');$("#pw_"+i+" .c>div").css("overflow-x",'visible');$("#pw_"+i+" .c>div").css("max-height",mh);$("#pw_"+i).css("left",($(window).width()-$("#pw_"+i).width())/2);if($("#pw_"+i+" .c>div").attr('top')){$("#pw_"+i).css("top",parseInt($("#pw_"+i+" .c>div").attr('top')));}else{var top=(mh-$("#pw_"+i).height())/2+margin;$("#pw_"+i).css("top",top);}
+if(!$.browser.msie){$("#pw_"+i).css("opacity",1);}}
+function changepopup(data){var pc=POPUP_COUNTER-1;$("#pw_"+pc).html(data);popup_dimensions(pc);}
+function checkUpload(){if($.browser.msie){var iframe=uploadIframe.document;}else{var uploadIframe=document.getElementById('uploadIframe');var iframe=uploadIframe.contentDocument;}
+if(iframe.getElementById('status')!=undefined&&iframe.contentDocument.getElementById('status').innerHTML!=undefined){clearInterval(INTERVAL);$.ajax({url:UPDATE,success:function(data){MyAjax(data);}});if(iframe.getElementById('status').innerHTML!='ok'){window.alert(ERREUR_FICHIER+' : \n'+iframe.getElementById('status').innerHTML);}
+if(POPUP_COUNTER>0){closePopup(null,false);}
+$("#uploadIframe").remove();}}
+function isSet(i){return(i==null||i=='null'||i==''||i=='undefined');}
+function callAjaxSwf(urlLink){$.ajax({url:urlLink,success:function(data){MyAjax(data);}});}
+function swfAjax(data){MyAjax(strToXML(data));}
+function MyAjax(data,reload){var error=new Array();var confirmation='';var ok=true;var t=$(data).children('rsp').children().get();for(var i=0;i<t.length;i++){var e=t[i];var name=e.nodeName;if(name=='confirmation'){var contentconfirm=$(e).text();confirmation+="<p>"+contentconfirm+"</p>";}else if(name=='error'){var errors=$(e).children().get();for(var j=0;j<errors.length;j++){var err=errors[j];var ename=err.nodeName;var econtent=$(err).text();$("#"+ename).addClass('error');$("#"+ename).val('');error.push(econtent);ok=false;}}else if(name=='content'){var contents=$(e).children().get();for(var k=0;k<contents.length;k++){var content=contents[k];var cname=content.nodeName;var ccontent=$(content).text();if(ccontent==''){$("#"+cname).html(ccontent);}else{$("#"+cname).html(ccontent);}
+if(POPUP_COUNTER-1>=0){popup_dimensions(POPUP_COUNTER-1);}}}else if(name=='replace'){var contents=$(e).children().get();for(var k=0;k<contents.length;k++){var content=contents[k];var cname=content.nodeName;var ccontent=$(content).text();if(ccontent==''){$("#"+cname).replaceWith(ccontent);}else{$("#"+cname).replaceWith(ccontent);}
+if(POPUP_COUNTER-1>=0){popup_dimensions(POPUP_COUNTER-1);}}}else if(name=='append'){var contents=$(e).children().get();for(var k=0;k<contents.length;k++){var content=contents[k];var cname=content.nodeName;var ccontent=$(content).text();if(ccontent==''){$("#"+cname).append(ccontent);}else{$("#"+cname).append(ccontent);}
+if(POPUP_COUNTER-1>=0){popup_dimensions(POPUP_COUNTER-1);}}}else if(name=='param'){var ids=$(e).children().get();for(var p=0;p<ids.length;p++){var id=ids[p];var idname=id.nodeName;var params=$(id).children().get();var o={};for(var q=0;q<params.length;q++){var param=params[q];var paramname=param.nodeName;var paramcontent=$(param).text();o[paramname]=paramcontent;}
+$("#"+idname).attr(o);$("#"+idname).parents("form").unbind('submit');}}else if(name=='alert'){var alerts=$(e).children().get();for(var r=0;r<alerts.length;r++){var alert=alerts[r];var acontent=$(alert).text();window.alert(acontent);}}else if(name=='ok'){var oks=$(e).children().get();for(var l=0;l<oks.length;l++){var ok=oks[l];var oname=ok.nodeName.toLowerCase();$("#"+oname).removeClass('error');}}else if(name=='redirection'){var url=$(e).text();window.location=url;}else if(name=='show'){var oks=$(e).children().get();for(var l=0;l<oks.length;l++){var ok=oks[l];var oname=ok.nodeName;$("#"+oname).show('fast');}}else if(name=='debug'){}else if(name=='eval'){var codes=$(e).children().get();for(var r=0;r<codes.length;r++){var code=codes[r];eval($(code).text());}}else if(name=='closepopup'){var closes=$(e).children().get();for(var cp=0;cp<closes.length;cp++){closePopup(null,false);}}else if(name=='openpopup'){var opens=$(e).children().get();for(var op=0;op<opens.length;op++){var cont=opens[op];createPopup($(cont).text());}}else if(name=='changepopup'){var changes=$(e).children().get();for(var cp=0;cp<changes.length;cp++){var cont=changes[cp];changepopup($(cont).text());}}
+else if(name=='popupdimensions'){popup_dimensions();}
+else if(name=='truepopup'){var trues=$(e).children().get();for(var tp=0;tp<trues.length;tp++){var cont=trues[tp];truePopup($(cont).text());}}else if(name=='timer'){var time=parseInt($(e).text());var t=setTimeout("doNothing()",time);}else if(name=='value'){var values=$(e).children().get();for(var v=0;v<values.length;v++){var node=values[v];var oname=node.nodeName;var val=$("#"+oname).val($(node).text());}}}
+if(error.length>0){$("#message").html(error.join('<br />'));}else{$("#message").html('');}
+if(confirmation!=''){$("#confirmation").html(confirmation);$("#confirmation").animate({height:26,opacity:1},2000,function(){$("#confirmation").fadeTo(10000,1,function(){$("#confirmation").animate({height:0,opacity:0},2000);$("#confirmation").empty();});});}
+if(reload==true||reload==undefined){load_jquery();}
+remove_loader();return ok;}
+function truePopup(url){var rand=Math.round(Math.random()*200);window.open(url,'Popup'+rand,'width='+window.width+',height='+window.height);}
+function _fixPNG(){var png;var images=$('img[src*="png"]:not([fixed="fixed"])');images.each(function(){png=$(this).attr('src');$(this).attr('src',IMG_CUBE+'/spacer.gif');$(this).css('filter',"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+png+"')");$(this).attr('fixed','fixed');});}
+function __fixPNG(){if($.browser.msie&&parseInt(navigator.userAgent.match(/MSIE (\d+(?:\.\d+)+(?:b\d*)?)/)[1])<=6){_fixPNG();}}
+function getWindowHeight(){var windowHeight=0;if(typeof(window.innerHeight)=='number'){windowHeight=window.innerHeight;}
+else{if(document.documentElement&&document.documentElement.clientHeight){windowHeight=document.documentElement.clientHeight;}
+else{if(document.body&&document.body.clientHeight){windowHeight=document.body.clientHeight;}}}
+return windowHeight;}
+function getWindowWidth(){var myWidth=0;if(typeof(window.innerWidth)=='number'){myWidth=window.innerWidth;}
+else if(document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight)){myWidth=document.documentElement.clientWidth;}
+else if(document.body&&(document.body.clientWidth||document.body.clientHeight)){myWidth=document.body.clientWidth;}
+return myWidth;}
+function doNothing(){}
+function htmlEditorGetText(id){var text=document.getElementById(id).value;return'<TEXTFORMAT LEADING="2"><P ALIGN="LEFT">'+text+'</P></TEXTFORMAT>';}
+function htmlEditorPutText(id,text){document.getElementById(id).value=text;}
+function display_loader(){if(LOADER_AJAX==''){}else{$("body").append('<div id="loader"><img src="'+LOADER_AJAX+'" /></div>');}}
+function remove_loader(){if(LOADER_AJAX==''){}else{$("#loader").remove();}}
+function URLEncode(clearString){var output='';var x=0;clearString=clearString.toString();var regex=/(^[a-zA-Z0-9_.]*)/;while(x<clearString.length){var match=regex.exec(clearString.substr(x));if(match!=null&&match.length>1&&match[1]!=''){output+=match[1];x+=match[1].length;}else{if(clearString[x]==' ')
+output+='+';else{var charCode=clearString.charCodeAt(x);var hexVal=charCode.toString(16);output+='%'+(hexVal.length<2?'0':'')+hexVal.toUpperCase();}
+x++;}}
+return output;}
+function strToXML(str){var contentType='application/xml';if(typeof(DOMParser)!='undefined'){return(new DOMParser()).parseFromString(str.substr(0,4095),contentType);}else if(typeof(ActiveXObject)!='undefined'){var xmldata=new ActiveXObject('MSXML.DomDocument');xmldata.async=false;xmldata.loadXML(str);return xmldata;}else if(typeof(XMLHttpRequest)!='undefined'){var xmldata=new XMLHttpRequest;if(!contentType){contentType='application/xml';}
+xmldata.open('GET','data:'+contentType+';charset=utf-8,'+encodeURIComponent(str),false);if(xmldata.overrideMimeType){xmldata.overrideMimeType(contentType);}
+xmldata.send(null);return xmldata.responseXML;}}
+TO_LOAD_INDEX++;TO_LOAD[TO_LOAD_INDEX]='load_emptyfield();';function load_emptyfield(){$("input.empty_field,input.empty-field").each(function(){if($(this).attr('orig')){return;}
+$(this).attr('orig',$(this).attr('value'));});$("input.empty_field,input.empty-field").click(function(){if($(this).val()==$(this).attr('orig')){$(this).val('');}});}
+TO_LOAD_INDEX++;TO_LOAD[TO_LOAD_INDEX]='load_extranet();';FIRST_LOAD=true;function load_extranet(){if($("#devisAdresse #client_nom").length){$("#devisAdresse #client_nom").autocomplete(SITE_PATH+'autocomplete/client',{cacheLength:0,maxItemsToShow:15,onFindValue:findClient,onItemSelect:findClient});}
+if($("#factureAdresse #projet_nom").length){$("#factureAdresse #projet_nom").autocomplete(SITE_PATH+'autocomplete/projet',{cacheLength:0,maxItemsToShow:15,onFindValue:findProjet,onItemSelect:findProjet});}
+if($(".dashboard").length>=1&&$("#dash").length>=1){$("#dash").sortable('destroy');if(FIRST_LOAD){FIRST_LOAD=false;}else{FIRST_LOAD=true;$.ajax({url:SITE_PATH+'ajax/reloadDashboards',success:function(data){MyAjax(data);}});}
+$("#dash").sortable({opacity:0.6,axis:"y",handle:".caption",stop:function(e,ui){$.ajax({url:SITE_PATH+'ajax/orderDashboards?'+$("#dash").sortable('serialize')});resize();}});}
+if($("#devisLignes").length>=1){$("#devisLignes").sortable('destroy');$("#devisLignes").sortable({opacity:0.6,axis:"y"});}
+$(".timereport_field").change(function(){var val=parseInt($(this).val());if(isNaN(val)){val=0;}
+var f=this;var id=$(this).attr('id');var a=id.split('_');$.ajax({url:SITE_PATH+'ajax/saveTimereport/'+a[1]+'/'+a[2]+'/'+val,success:function(data){FIRST_LOAD=true;MyAjax(data);var td=$(f).parents('td').get(0);if(parseFloat($(f).val())>0){$(td).addClass('filled');}else{$(td).removeClass('filled');}}});});$("#dash .toggle").click(function(){var rel=$(this).attr('rel');var div=$(this).parents('.dashboard').get(0);var liste=$(div).find('.liste');$(liste).slideToggle('fast',function(){resize();});$(this).toggleClass('close');$.ajax({url:SITE_PATH+'ajax/toggleDashboard/'+rel});return false;});$(".filtre .bt").click(function(){var ul=$(this).parent().parent().children('ul');$(ul).slideToggle('fast');return false;});$(".filtre ul").click(function(e){if(e.target.nodeName=='INPUT'||e.target.nodeName=='LABEL'){return true;}
+$(this).slideToggle('fast');});$(".filtre span").click(function(){var ul=$(this).parent().children('ul');$(ul).slideToggle('fast');});$(".filtre input").change(function(){var form=$(this).parents('form').get(0);var uls=$(form).find("ul");var divs=$(form).find(".input");var spans=$(form).find("span");var i,j,k,ul,lis,li,input,label,checked,div,titre,t,t1,allc,inputs;for(i=0;i<uls.length;i++){div=divs[i];titre=Array();ul=uls[i];lis=$(ul).children("li");allc=$(lis).get(0);checked=0;for(j=1;j<lis.length;j++){li=lis[j];input=$(li).find('input').get(0);label=$(li).find('label').get(0);if(input.checked){checked++;titre.push($(label).text());}}
+if(checked==0){$(div).find('span').text($(allc).text());$(div).find('a').attr('title',$(allc).text());$(div).removeClass('active');inputs=$(ul).find('input');for(k=0;k<inputs.length;k++){inputs[k].checked=true;}}else if(checked==lis.length-1){$(div).find('span').text($(allc).text());$(div).find('a').attr('title',$(allc).text());$(div).removeClass('active');}else{t=titre.join(', ');if(t.length>20){t1=t.substr(0,16)+'...';}else{t1=t;}
+$(div).find('span').text(t1);$(div).find('a').attr('title',t);$(div).addClass('active');}}
+return true;});$(window).resize(function(){resize();});resize();}
+function resize(){var allh=$("#header").height()+$("#footer").height()+$("#bar").height()+$("#main .content").height()+13+30;var h=Math.max($(window).height(),allh);var mh=h-$("#header").height()-$("#footer").height()-$("#bar").height()-30-13;mh=Math.max(mh,450);$("#main").css('height',mh);}
+function findClient(li){var client=li.selectValue.split(' - ');if(client.length<=1){return;}
+var client_id=parseInt(client[0]);$("#client").val(client_id);$.ajax({url:SITE_PATH+'ajax/getAdresseForDevis/'+client_id,success:function(data){MyAjax(data);}});}
+function findProjet(li){var projet=li.selectValue.split(' - ');if(projet.length<=1){return;}
+var projet_id=parseInt(projet[0]);$("#projet").val(projet_id);$.ajax({url:SITE_PATH+'ajax/getAdresseForFacture/'+projet_id,success:function(data){MyAjax(data);}});}
+function refreshFiles(){$.ajax({url:SITE_PATH+'ajax/refreshFichiers',success:function(data){MyAjax(data);}});}
\ No newline at end of file
diff --git a/js/merged-62e846.js b/js/merged-62e846.js
new file mode 100644 (file)
index 0000000..4a2e8e3
--- /dev/null
@@ -0,0 +1,521 @@
+
+(function(){var _jQuery=window.jQuery,_$=window.$;var jQuery=window.jQuery=window.$=function(selector,context){return new jQuery.fn.init(selector,context);};var quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/,isSimple=/^.[^:#\[\.]*$/,undefined;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;return this;}
+if(typeof selector=="string"){var match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1])
+selector=jQuery.clean([match[1]],context);else{var elem=document.getElementById(match[3]);if(elem){if(elem.id!=match[3])
+return jQuery().find(selector);return jQuery(elem);}
+selector=[];}}else
+return jQuery(context).find(selector);}else if(jQuery.isFunction(selector))
+return jQuery(document)[jQuery.fn.ready?"ready":"load"](selector);return this.setArray(jQuery.makeArray(selector));},jquery:"1.2.6",size:function(){return this.length;},length:0,get:function(num){return num==undefined?jQuery.makeArray(this):this[num];},pushStack:function(elems){var ret=jQuery(elems);ret.prevObject=this;return ret;},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elems);return this;},each:function(callback,args){return jQuery.each(this,callback,args);},index:function(elem){var ret=-1;return jQuery.inArray(elem&&elem.jquery?elem[0]:elem,this);},attr:function(name,value,type){var options=name;if(name.constructor==String)
+if(value===undefined)
+return this[0]&&jQuery[type||"attr"](this[0],name);else{options={};options[name]=value;}
+return this.each(function(i){for(name in options)
+jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name));});},css:function(key,value){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])
+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){var ret=this.map(function(){if(jQuery.browser.msie&&!jQuery.isXMLDoc(this)){var clone=this.cloneNode(true),container=document.createElement("div");container.appendChild(clone);return jQuery.clean([container.innerHTML])[0];}else
+return this.cloneNode(true);});var clone=ret.find("*").andSelf().each(function(){if(this[expando]!=undefined)
+this[expando]=null;});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 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)
+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 this.pushStack(jQuery.unique(jQuery.merge(this.get(),typeof selector=='string'?jQuery(selector):jQuery.makeArray(selector))));},is:function(selector){return!!selector&&jQuery.multiFilter(selector,this).length>0;},hasClass:function(selector){return this.is("."+selector);},val:function(value){if(value==undefined){if(this.length){var elem=this[0];if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";if(index<0)
+return null;for(var i=one?index:0,max=one?index+1:options.length;i<max;i++){var option=options[i];if(option.selected){value=jQuery.browser.msie&&!option.attributes.value.specified?option.text:option.value;if(one)
+return value;values.push(value);}}
+return values;}else
+return(this[0].value||"").replace(/\r/g,"");}
+return undefined;}
+if(value.constructor==Number)
+value+='';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=jQuery.makeArray(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[0]?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===undefined){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data===undefined&&this.length)
+data=jQuery.data(this[0],key);return data===undefined&&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;if(jQuery.nodeName(elem,"script"))
+scripts=scripts.add(elem);else{if(elem.nodeType==1)
+scripts=scripts.add(jQuery("script",elem).remove());callback.call(obj,elem);}});scripts.each(evalScript);});}};jQuery.fn.init.prototype=jQuery.fn;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);}
+function now(){return+new Date;}
+jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(target.constructor==Boolean){deep=target;target=arguments[1]||{};i=2;}
+if(typeof target!="object"&&typeof target!="function")
+target={};if(length==i){target=this;--i;}
+for(;i<length;i++)
+if((options=arguments[i])!=null)
+for(var name in options){var src=target[name],copy=options[name];if(target===copy)
+continue;if(deep&&copy&&typeof copy=="object"&&!copy.nodeType)
+target[name]=jQuery.extend(deep,src||(copy.length!=null?[]:{}),copy);else if(copy!==undefined)
+target[name]=copy;}
+return target;};var expando="jQuery"+now(),uuid=0,windowData={},exclude=/z-?index|font-?weight|opacity|zoom|line-?height/i,defaultView=document.defaultView||{};jQuery.extend({noConflict:function(deep){window.$=_$;if(deep)
+window.jQuery=_jQuery;return jQuery;},isFunction:function(fn){return!!fn&&typeof fn!="string"&&!fn.nodeName&&fn.constructor!=Array&&/^[\s[]?function/.test(fn+"");},isXMLDoc:function(elem){return elem.documentElement&&!elem.body||elem.tagName&&elem.ownerDocument&&!elem.ownerDocument.body;},globalEval:function(data){data=jQuery.trim(data);if(data){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.insertBefore(script,head.firstChild);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];if(!id)
+id=elem[expando]=++uuid;if(name&&!jQuery.cache[id])
+jQuery.cache[id]={};if(data!==undefined)
+jQuery.cache[id][name]=data;return name?jQuery.cache[id][name]:id;},removeData:function(elem,name){elem=elem==window?windowData:elem;var id=elem[expando];if(name){if(jQuery.cache[id]){delete jQuery.cache[id][name];name="";for(name in jQuery.cache[id])
+break;if(!name)
+jQuery.removeData(elem);}}else{try{delete elem[expando];}catch(e){if(elem.removeAttribute)
+elem.removeAttribute(expando);}
+delete jQuery.cache[id];}},each:function(object,callback,args){var name,i=0,length=object.length;if(args){if(length==undefined){for(name in object)
+if(callback.apply(object[name],args)===false)
+break;}else
+for(;i<length;)
+if(callback.apply(object[i++],args)===false)
+break;}else{if(length==undefined){for(name in object)
+if(callback.call(object[name],name,object[name])===false)
+break;}else
+for(var value=object[0];i<length&&callback.call(value,i,value)!==false;value=object[++i]){}}
+return object;},prop:function(elem,value,type,i,name){if(jQuery.isFunction(value))
+value=value.call(elem,i);return value&&value.constructor==Number&&type=="curCSS"&&!exclude.test(name)?value+"px":value;},className:{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;});},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(" "):"";},has:function(elem,className){return jQuery.inArray(className,(elem.className||elem).toString().split(/\s+/))>-1;}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}
+callback.call(elem);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,style=elem.style;function color(elem){if(!jQuery.browser.safari)
+return false;var ret=defaultView.getComputedStyle(elem,null);return!ret||ret.getPropertyValue("color")=="";}
+if(name=="opacity"&&jQuery.browser.msie){ret=jQuery.attr(style,"opacity");return ret==""?"1":ret;}
+if(jQuery.browser.opera&&name=="display"){var save=style.outline;style.outline="0 solid black";style.outline=save;}
+if(name.match(/float/i))
+name=styleFloat;if(!force&&style&&style[name])
+ret=style[name];else if(defaultView.getComputedStyle){if(name.match(/float/i))
+name="float";name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var computedStyle=defaultView.getComputedStyle(elem,null);if(computedStyle&&!color(elem))
+ret=computedStyle.getPropertyValue(name);else{var swap=[],stack=[],a=elem,i=0;for(;a&&color(a);a=a.parentNode)
+stack.unshift(a);for(;i<stack.length;i++)
+if(color(stack[i])){swap[i]=stack[i].style.display;stack[i].style.display="block";}
+ret=name=="display"&&swap[stack.length-1]!=null?"none":(computedStyle&&computedStyle.getPropertyValue(name))||"";for(i=0;i<swap.length;i++)
+if(swap[i]!=null)
+stack[i].style.display=swap[i];}
+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];if(!/^\d+(px)?$/i.test(ret)&&/^\d/.test(ret)){var left=style.left,rsLeft=elem.runtimeStyle.left;elem.runtimeStyle.left=elem.currentStyle.left;style.left=ret||0;ret=style.pixelLeft+"px";style.left=left;elem.runtimeStyle.left=rsLeft;}}
+return ret;},clean:function(elems,context){var ret=[];context=context||document;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+='';if(typeof elem=="string"){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+">";});var tags=jQuery.trim(elem).toLowerCase(),div=context.createElement("div");var wrap=!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>"]||(!tags.indexOf("<td")||!tags.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!tags.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||jQuery.browser.msie&&[1,"div<div>","</div>"]||[0,"",""];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--)
+div=div.lastChild;if(jQuery.browser.msie){var tbody=!tags.indexOf("<table")&&tags.indexOf("<tbody")<0?div.firstChild&&div.firstChild.childNodes: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]);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){if(!elem||elem.nodeType==3||elem.nodeType==8)
+return undefined;var notxml=!jQuery.isXMLDoc(elem),set=value!==undefined,msie=jQuery.browser.msie;name=notxml&&jQuery.props[name]||name;if(elem.tagName){var special=/href|src|style/.test(name);if(name=="selected"&&jQuery.browser.safari)
+elem.parentNode.selectedIndex;if(name in elem&&notxml&&!special){if(set){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)
+throw"type property can't be changed";elem[name]=value;}
+if(jQuery.nodeName(elem,"form")&&elem.getAttributeNode(name))
+return elem.getAttributeNode(name).nodeValue;return elem[name];}
+if(msie&&notxml&&name=="style")
+return jQuery.attr(elem.style,"cssText",value);if(set)
+elem.setAttribute(name,""+value);var attr=msie&&notxml&&special?elem.getAttribute(name,2):elem.getAttribute(name);return attr===null?undefined:attr;}
+if(msie&&name=="opacity"){if(set){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+
+(parseInt(value)+''=="NaN"?"":"alpha(opacity="+value*100+")");}
+return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100)+'':"";}
+name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(set)
+elem[name]=value;return elem[name];},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeArray:function(array){var ret=[];if(array!=null){var i=array.length;if(i==null||array.split||array.setInterval||array.call)
+ret[0]=array;else
+while(i)
+ret[--i]=array[i];}
+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){var i=0,elem,pos=first.length;if(jQuery.browser.msie){while(elem=second[i++])
+if(elem.nodeType!=8)
+first[pos++]=elem;}else
+while(elem=second[i++])
+first[pos++]=elem;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=[];for(var i=0,length=elems.length;i<length;i++)
+if(!inv!=!callback(elems[i],i))
+ret.push(elems[i]);return ret;},map:function(elems,callback){var ret=[];for(var i=0,length=elems.length;i<length;i++){var value=callback(elems[i],i);if(value!=null)
+ret[ret.length]=value;}
+return ret.concat.apply([],ret);}});var userAgent=navigator.userAgent.toLowerCase();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({boxModel:!jQuery.browser.msie||document.compatMode=="CSS1Compat",props:{"for":"htmlFor","class":"className","float":styleFloat,cssFloat:styleFloat,styleFloat:styleFloat,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing"}});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){jQuery("*",this).add(this).each(function(){jQuery.event.remove(this);jQuery.removeData(this);});if(this.parentNode)
+this.parentNode.removeChild(this);}},empty:function(){jQuery(">*",this).remove();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){return this[0]==window?jQuery.browser.opera&&document.body["client"+name]||jQuery.browser.safari&&window["inner"+name]||document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(Math.max(document.body["scroll"+name],document.documentElement["scroll"+name]),Math.max(document.body["offset"+name],document.documentElement["offset"+name])):size==undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,size.constructor==String?size:size+"px");};});function num(elem,prop){return elem[0]&&parseInt(jQuery.curCSS(elem[0],prop,true),10)||0;}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];},":":{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;},"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:function(a){return a.firstChild;},empty:function(a){return!a.firstChild;},contains:function(a,i,m){return(a.textContent||a.innerText||jQuery(a).text()||"").indexOf(m[3])>=0;},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";},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");},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:function(a,i,m){return jQuery.find(m[3],a).length;},header:function(a){return/h\d/i.test(a.nodeName);},animated:function(a){return jQuery.grep(jQuery.timers,function(fn){return a==fn.elem;}).length;}}},parse:[/^(\[) *@?([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/,/^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/,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){if(typeof t!="string")
+return[t];if(context&&context.nodeType!=1&&context.nodeType!=9)
+return[];context=context||document;var ret=[context],done=[],last,nodeName;while(t&&last!=t){var r=[];last=t;t=jQuery.trim(t);var foundToken=false,re=quickChild,m=re.exec(t);if(m){nodeName=m[1].toUpperCase();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;t=jQuery.trim(t.replace(re,""));foundToken=true;}}
+if(t&&!foundToken){if(!t.indexOf(",")){if(context==ret[0])ret.shift();done=jQuery.merge(done,ret);r=ret=[context];t=" "+t.substr(1,t.length);}else{var re2=quickID;var m=re2.exec(t);if(m){m=[0,m[2],m[3],m[1]];}else{re2=quickClass;m=re2.exec(t);}
+m[2]=m[2].replace(/\\/g,"");var elem=ret[ret.length-1];if(m[1]=="#"&&elem&&elem.getElementById&&!jQuery.isXMLDoc(elem)){var oid=elem.getElementById(m[2]);if((jQuery.browser.msie||jQuery.browser.opera)&&oid&&typeof oid.id=="string"&&oid.id!=m[2])
+oid=jQuery('[@id="'+m[2]+'"]',elem)[0];ret=r=oid&&(!m[3]||jQuery.nodeName(oid,m[3]))?[oid]:[];}else{for(var i=0;ret[i];i++){var tag=m[1]=="#"&&m[3]?m[3]:m[1]!=""||m[0]==""?"*":m[2];if(tag=="*"&&ret[i].nodeName.toLowerCase()=="object")
+tag="param";r=jQuery.merge(r,ret[i].getElementsByTagName(tag));}
+if(m[1]==".")
+r=jQuery.classFilter(r,m[2]);if(m[1]=="#"){var tmp=[];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(t){var val=jQuery.filter(t,r);ret=r=val.r;t=jQuery.trim(val.t);}}
+if(t)
+ret=[];if(ret&&context==ret[0])
+ret.shift();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;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){t=t.substring(m[0].length);m[2]=m[2].replace(/\\/g,"");break;}}
+if(!m)
+break;if(m[1]==":"&&m[2]=="not")
+r=isSimple.test(m[3])?jQuery.filter(m[3],r,true).r:jQuery(r).not(m[3]);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;}else if(m[1]==":"&&m[2]=="nth-child"){var merge={},tmp=[],test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(m[3]=="even"&&"2n"||m[3]=="odd"&&"2n+1"||!/\D/.test(m[3])&&"0n+"+m[3]||m[3]),first=(test[1]+(test[2]||1))-0,last=test[3]-0;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;}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+";}");r=jQuery.grep(r,function(elem,i){return fn(elem,i,m,r);},not);}}
+return{r:r,t:t};},dir:function(elem,dir){var matched=[],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&&n!=elem)
+r.push(n);}
+return r;}});jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8)
+return;if(jQuery.browser.msie&&elem.setInterval)
+elem=window;if(!handler.guid)
+handler.guid=this.guid++;if(data!=undefined){var fn=handler;handler=this.proxy(fn,function(){return fn.apply(this,arguments);});handler.data=data;}
+var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){if(typeof jQuery!="undefined"&&!jQuery.event.triggered)
+return jQuery.event.handle.apply(arguments.callee.elem,arguments);});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];handler.type=parts[1];var handlers=events[type];if(!handlers){handlers=events[type]={};if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem)===false){if(elem.addEventListener)
+elem.addEventListener(type,handle,false);else if(elem.attachEvent)
+elem.attachEvent("on"+type,handle);}}
+handlers[handler.guid]=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8)
+return;var events=jQuery.data(elem,"events"),ret,index;if(events){if(types==undefined||(typeof types=="string"&&types.charAt(0)=="."))
+for(var type in events)
+this.remove(elem,type+(types||""));else{if(types.type){handler=types.handler;types=types.type;}
+jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];if(events[type]){if(handler)
+delete events[type][handler.guid];else
+for(handler in events[type])
+if(!parts[1]||events[type][handler].type==parts[1])
+delete events[type][handler];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];}}});}
+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){data=jQuery.makeArray(data);if(type.indexOf("!")>=0){type=type.slice(0,-1);var exclusive=true;}
+if(!elem){if(this.global[type])
+jQuery("*").add([window,document]).trigger(type,data);}else{if(elem.nodeType==3||elem.nodeType==8)
+return undefined;var val,ret,fn=jQuery.isFunction(elem[type]||null),event=!data[0]||!data[0].preventDefault;if(event){data.unshift({type:type,target:elem,preventDefault:function(){},stopPropagation:function(){},timeStamp:now()});data[0][expando]=true;}
+data[0].type=type;if(exclusive)
+data[0].exclusive=true;var handle=jQuery.data(elem,"handle");if(handle)
+val=handle.apply(elem,data);if((!fn||(jQuery.nodeName(elem,'a')&&type=="click"))&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)
+val=false;if(event)
+data.shift();if(extra&&jQuery.isFunction(extra)){ret=extra.apply(elem,val==null?data:data.concat(val));if(ret!==undefined)
+val=ret;}
+if(fn&&donative!==false&&val!==false&&!(jQuery.nodeName(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]();}catch(e){}}
+this.triggered=false;}
+return val;},handle:function(event){var val,ret,namespace,all,handlers;event=arguments[0]=jQuery.event.fix(event||window.event);namespace=event.type.split(".");event.type=namespace[0];namespace=namespace[1];all=!namespace&&!event.exclusive;handlers=(jQuery.data(this,"events")||{})[event.type];for(var j in handlers){var handler=handlers[j];if(all||handler.type==namespace){event.handler=handler;event.data=handler.data;ret=handler.apply(this,arguments);if(val!==false)
+val=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}}
+return val;},fix:function(event){if(event[expando]==true)
+return event;var originalEvent=event;event={originalEvent:originalEvent};var props="altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target timeStamp toElement type view wheelDelta which".split(" ");for(var i=props.length;i;i--)
+event[props[i]]=originalEvent[props[i]];event[expando]=true;event.preventDefault=function(){if(originalEvent.preventDefault)
+originalEvent.preventDefault();originalEvent.returnValue=false;};event.stopPropagation=function(){if(originalEvent.stopPropagation)
+originalEvent.stopPropagation();originalEvent.cancelBubble=true;};event.timeStamp=event.timeStamp||now();if(!event.target)
+event.target=event.srcElement||document;if(event.target.nodeType==3)
+event.target=event.target.parentNode;if(!event.relatedTarget&&event.fromElement)
+event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;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);}
+if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode))
+event.which=event.charCode||event.keyCode;if(!event.metaKey&&event.ctrlKey)
+event.metaKey=event.ctrlKey;if(!event.which&&event.button)
+event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));return event;},proxy:function(fn,proxy){proxy.guid=fn.guid=fn.guid||proxy.guid||this.guid++;return proxy;},special:{ready:{setup:function(){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(withinElement(event,this))return true;event.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(withinElement(event,this))return true;event.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){var one=jQuery.event.proxy(fn||data,function(event){jQuery(this).unbind(event,one);return(fn||data).apply(this,arguments);});return this.each(function(){jQuery.event.add(this,type,one,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){return this[0]&&jQuery.event.trigger(type,data,this[0],false,fn);},toggle:function(fn){var args=arguments,i=1;while(i<args.length)
+jQuery.event.proxy(fn,args[i++]);return this.click(jQuery.event.proxy(fn,function(event){this.lastToggle=(this.lastToggle||0)%i;event.preventDefault();return args[this.lastToggle++].apply(this,arguments)||false;}));},hover:function(fnOver,fnOut){return this.bind('mouseenter',fnOver).bind('mouseleave',fnOut);},ready:function(fn){bindReady();if(jQuery.isReady)
+fn.call(document,jQuery);else
+jQuery.readyList.push(function(){return fn.call(this,jQuery);});return this;}});jQuery.extend({isReady:false,readyList:[],ready:function(){if(!jQuery.isReady){jQuery.isReady=true;if(jQuery.readyList){jQuery.each(jQuery.readyList,function(){this.call(document);});jQuery.readyList=null;}
+jQuery(document).triggerHandler("ready");}}});var readyBound=false;function bindReady(){if(readyBound)return;readyBound=true;if(document.addEventListener&&!jQuery.browser.opera)
+document.addEventListener("DOMContentLoaded",jQuery.ready,false);if(jQuery.browser.msie&&window==top)(function(){if(jQuery.isReady)return;try{document.documentElement.doScroll("left");}catch(error){setTimeout(arguments.callee,0);return;}
+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;}
+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;}
+jQuery.ready();})();}
+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){jQuery.fn[name]=function(fn){return fn?this.bind(name,fn):this.trigger(name);};});var withinElement=function(event,elem){var parent=event.relatedTarget;while(parent&&parent!=elem)try{parent=parent.parentNode;}catch(error){parent=elem;}
+return parent==elem;};jQuery(window).bind("unload",function(){jQuery("*").add(document).unbind();});jQuery.fn.extend({_load:jQuery.fn.load,load:function(url,params,callback){if(typeof url!='string')
+return this._load(url);var off=url.indexOf(" ");if(off>=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}
+callback=callback||function(){};var type="GET";if(params)
+if(jQuery.isFunction(params)){callback=params;params=null;}else{params=jQuery.param(params);type="POST";}
+var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified")
+self.html(selector?jQuery("<div/>").append(res.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(selector):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();}});jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=now();jQuery.extend({get:function(url,data,callback,type){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:{url:location.href,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:"*/*"}},lastModified:{},ajax:function(s){s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));var jsonp,jsre=/=\?(&|$)/g,status,data,type=s.type.toUpperCase();if(s.data&&s.processData&&typeof s.data!="string")
+s.data=jQuery.param(s.data);if(s.dataType=="jsonp"){if(type=="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";}
+if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++;if(s.data)
+s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";window[jsonp]=function(tmp){data=tmp;success();complete();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&&type=="GET"){var ts=now();var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"");}
+if(s.data&&type=="GET"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data;s.data=null;}
+if(s.global&&!jQuery.active++)
+jQuery.event.trigger("ajaxStart");var remote=/^(?:\w+:)?\/\/([^\/?#]+)/;if(s.dataType=="script"&&type=="GET"&&remote.test(s.url)&&remote.exec(s.url)[1]!=location.host){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=s.url;if(s.scriptCharset)
+script.charset=s.scriptCharset;if(!jsonp){var done=false;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);return undefined;}
+var requestDone=false;var xhr=window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();if(s.username)
+xhr.open(type,s.url,s.async,s.username,s.password);else
+xhr.open(type,s.url,s.async);try{if(s.data)
+xhr.setRequestHeader("Content-Type",s.contentType);if(s.ifModified)
+xhr.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");xhr.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default);}catch(e){}
+if(s.beforeSend&&s.beforeSend(xhr,s)===false){s.global&&jQuery.active--;xhr.abort();return false;}
+if(s.global)
+jQuery.event.trigger("ajaxSend",[xhr,s]);var onreadystatechange=function(isTimeout){if(!requestDone&&xhr&&(xhr.readyState==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival=null;}
+status=isTimeout=="timeout"&&"timeout"||!jQuery.httpSuccess(xhr)&&"error"||s.ifModified&&jQuery.httpNotModified(xhr,s.url)&&"notmodified"||"success";if(status=="success"){try{data=jQuery.httpData(xhr,s.dataType,s.dataFilter);}catch(e){status="parsererror";}}
+if(status=="success"){var modRes;try{modRes=xhr.getResponseHeader("Last-Modified");}catch(e){}
+if(s.ifModified&&modRes)
+jQuery.lastModified[s.url]=modRes;if(!jsonp)
+success();}else
+jQuery.handleError(s,xhr,status);complete();if(s.async)
+xhr=null;}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout>0)
+setTimeout(function(){if(xhr){xhr.abort();if(!requestDone)
+onreadystatechange("timeout");}},s.timeout);}
+try{xhr.send(s.data);}catch(e){jQuery.handleError(s,xhr,null,e);}
+if(!s.async)
+onreadystatechange();function success(){if(s.success)
+s.success(data,status);if(s.global)
+jQuery.event.trigger("ajaxSuccess",[xhr,s]);}
+function complete(){if(s.complete)
+s.complete(xhr,status);if(s.global)
+jQuery.event.trigger("ajaxComplete",[xhr,s]);if(s.global&&!--jQuery.active)
+jQuery.event.trigger("ajaxStop");}
+return xhr;},handleError:function(s,xhr,status,e){if(s.error)s.error(xhr,status,e);if(s.global)
+jQuery.event.trigger("ajaxError",[xhr,s,e]);},active:0,httpSuccess:function(xhr){try{return!xhr.status&&location.protocol=="file:"||(xhr.status>=200&&xhr.status<300)||xhr.status==304||xhr.status==1223||jQuery.browser.safari&&xhr.status==undefined;}catch(e){}
+return false;},httpNotModified:function(xhr,url){try{var xhrRes=xhr.getResponseHeader("Last-Modified");return xhr.status==304||xhrRes==jQuery.lastModified[url]||jQuery.browser.safari&&xhr.status==undefined;}catch(e){}
+return false;},httpData:function(xhr,type,filter){var ct=xhr.getResponseHeader("content-type"),xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0,data=xml?xhr.responseXML:xhr.responseText;if(xml&&data.documentElement.tagName=="parsererror")
+throw"parsererror";if(filter)
+data=filter(data,type);if(type=="script")
+jQuery.globalEval(data);if(type=="json")
+data=eval("("+data+")");return data;},param:function(a){var s=[];if(a.constructor==Array||a.jquery)
+jQuery.each(a,function(){s.push(encodeURIComponent(this.name)+"="+encodeURIComponent(this.value));});else
+for(var j in a)
+if(a[j]&&a[j].constructor==Array)
+jQuery.each(a[j],function(){s.push(encodeURIComponent(j)+"="+encodeURIComponent(this));});else
+s.push(encodeURIComponent(j)+"="+encodeURIComponent(jQuery.isFunction(a[j])?a[j]():a[j]));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");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();},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle.apply(this,arguments):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),p,hidden=jQuery(this).is(":hidden"),self=this;for(p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)
+return opt.complete.call(this);if(p=="height"||p=="width"){opt.display=jQuery.css(this,"display");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";if(unit!="px"){self.style[name]=(end||1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit;}
+if(parts[1])
+end=((parts[1]=="-="?-1:1)*end)+start;e.custom(start,end,unit);}else
+e.custom(start,val,"");}});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.call(this);}});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue)
+this.queue([]);this.each(function(){for(var i=timers.length-1;i>=0;i--)
+if(timers[i].elem==this){if(gotoEnd)
+timers[i](true);timers.splice(i,1);}});if(!gotoEnd)
+this.dequeue();return this;}});var queue=function(elem,type,array){if(elem){type=type||"fx";var q=jQuery.data(elem,type+"queue");if(!q||array)
+q=jQuery.data(elem,type+"queue",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].call(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:jQuery.fx.speeds[opt.duration])||jQuery.fx.speeds.def;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false)
+jQuery(this).dequeue();if(jQuery.isFunction(opt.old))
+opt.old.call(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={update:function(){if(this.options.step)
+this.options.step.call(this.elem,this.now,this);(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if(this.prop=="height"||this.prop=="width")
+this.elem.style.display="block";},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;},custom:function(from,to,unit){this.startTime=now();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);}},show:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.show=true;this.custom(0,this.cur());if(this.prop=="width"||this.prop=="height")
+this.elem.style[this.prop]="1px";jQuery(this.elem).show();},hide:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0);},step:function(gotoEnd){var t=now();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){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,"display")=="none")
+this.elem.style.display="block";}
+if(this.options.hide)
+this.elem.style.display="none";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(done)
+this.options.complete.call(this.elem);return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;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);this.update();}
+return true;}};jQuery.extend(jQuery.fx,{speeds:{slow:600,fast:200,def:400},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;}}});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),css=jQuery.curCSS,fixed=css(elem,"position")=="fixed";if(elem.getBoundingClientRect){var box=elem.getBoundingClientRect();add(box.left+Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),box.top+Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));add(-doc.documentElement.clientLeft,-doc.documentElement.clientTop);}else{add(elem.offsetLeft,elem.offsetTop);while(offsetParent){add(offsetParent.offsetLeft,offsetParent.offsetTop);if(mozilla&&!/^t(able|d|h)$/i.test(offsetParent.tagName)||safari&&!safari2)
+border(offsetParent);if(!fixed&&css(offsetParent,"position")=="fixed")
+fixed=true;offsetChild=/^body$/i.test(offsetParent.tagName)?offsetChild:offsetParent;offsetParent=offsetParent.offsetParent;}
+while(parent&&parent.tagName&&!/^body|html$/i.test(parent.tagName)){if(!/^inline|table.*$/i.test(css(parent,"display")))
+add(-parent.scrollLeft,-parent.scrollTop);if(mozilla&&css(parent,"overflow")!="visible")
+border(parent);parent=parent.parentNode;}
+if((safari2&&(fixed||css(offsetChild,"position")=="absolute"))||(mozilla&&css(offsetChild,"position")!="absolute"))
+add(-doc.body.offsetLeft,-doc.body.offsetTop);if(fixed)
+add(Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));}
+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,10)||0;top+=parseInt(t,10)||0;}
+return results;};jQuery.fn.extend({position:function(){var left=0,top=0,results;if(this[0]){var offsetParent=this.offsetParent(),offset=this.offset(),parentOffset=/^body|html$/i.test(offsetParent[0].tagName)?{top:0,left:0}:offsetParent.offset();offset.top-=num(this,'marginTop');offset.left-=num(this,'marginLeft');parentOffset.top+=num(offsetParent,'borderTopWidth');parentOffset.left+=num(offsetParent,'borderLeftWidth');results={top:offset.top-parentOffset.top,left:offset.left-parentOffset.left};}
+return results;},offsetParent:function(){var offsetParent=this[0].offsetParent;while(offsetParent&&(!/^body|html$/i.test(offsetParent.tagName)&&jQuery.css(offsetParent,'position')=='static'))
+offsetParent=offsetParent.offsetParent;return jQuery(offsetParent);}});jQuery.each(['Left','Top'],function(i,name){var method='scroll'+name;jQuery.fn[method]=function(val){if(!this[0])return;return val!=undefined?this.each(function(){this==window||this==document?window.scrollTo(!i?val:jQuery(window).scrollLeft(),i?val:jQuery(window).scrollTop()):this[method]=val;}):this[0]==window||this[0]==document?self[i?'pageYOffset':'pageXOffset']||jQuery.boxModel&&document.documentElement[method]||document.body[method]:this[0][method];};});jQuery.each(["Height","Width"],function(i,name){var tl=i?"Left":"Top",br=i?"Right":"Bottom";jQuery.fn["inner"+name]=function(){return this[name.toLowerCase()]()+
+num(this,"padding"+tl)+
+num(this,"padding"+br);};jQuery.fn["outer"+name]=function(margin){return this["inner"+name]()+
+num(this,"border"+tl+"Width")+
+num(this,"border"+br+"Width")+
+(margin?num(this,"margin"+tl)+num(this,"margin"+br):0);};});})();(function($){$.fn.ajaxSubmit=function(options){if(!this.length){log('ajaxSubmit: skipping submit process - no element selected');return this;}
+if(typeof options=='function')
+options={success:options};options=$.extend({url:this.attr('action')||window.location.toString(),type:this.attr('method')||'GET'},options||{});var veto={};this.trigger('form-pre-serialize',[this,options,veto]);if(veto.veto){log('ajaxSubmit: submit vetoed via form-pre-serialize trigger');return this;}
+var a=this.formToArray(options.semantic);if(options.data){options.extraData=options.data;for(var n in options.data)
+a.push({name:n,value:options.data[n]});}
+if(options.beforeSubmit&&options.beforeSubmit(a,this,options)===false){log('ajaxSubmit: submit aborted via beforeSubmit callback');return this;}
+this.trigger('form-submit-validate',[a,this,options,veto]);if(veto.veto){log('ajaxSubmit: submit vetoed via form-submit-validate trigger');return this;}
+var q=$.param(a);if(options.type.toUpperCase()=='GET'){options.url+=(options.url.indexOf('?')>=0?'&':'?')+q;options.data=null;}
+else
+options.data=q;var $form=this,callbacks=[];if(options.resetForm)callbacks.push(function(){$form.resetForm();});if(options.clearForm)callbacks.push(function(){$form.clearForm();});if(!options.dataType&&options.target){var oldSuccess=options.success||function(){};callbacks.push(function(data){$(options.target).html(data).each(oldSuccess,arguments);});}
+else if(options.success)
+callbacks.push(options.success);options.success=function(data,status){for(var i=0,max=callbacks.length;i<max;i++)
+callbacks[i](data,status,$form);};var files=$('input:file',this).fieldValue();var found=false;for(var j=0;j<files.length;j++)
+if(files[j])
+found=true;if(options.iframe||found){if($.browser.safari&&options.closeKeepAlive)
+$.get(options.closeKeepAlive,fileUpload);else
+fileUpload();}
+else
+$.ajax(options);this.trigger('form-submit-notify',[this,options]);return this;function fileUpload(){var form=$form[0];if($(':input[@name=submit]',form).length){alert('Error: Form elements must not be named "submit".');return;}
+var opts=$.extend({},$.ajaxSettings,options);var id='jqFormIO'+(new Date().getTime());var $io=$('<iframe id="'+id+'" name="'+id+'" />');var io=$io[0];if($.browser.msie||$.browser.opera)
+io.src='javascript:false;document.write("");';$io.css({position:'absolute',top:'-1000px',left:'-1000px'});var xhr={responseText:null,responseXML:null,status:0,statusText:'n/a',getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){}};var g=opts.global;if(g&&!$.active++)$.event.trigger("ajaxStart");if(g)$.event.trigger("ajaxSend",[xhr,opts]);var cbInvoked=0;var timedOut=0;var sub=form.clk;if(sub){var n=sub.name;if(n&&!sub.disabled){options.extraData=options.extraData||{};options.extraData[n]=sub.value;if(sub.type=="image"){options.extraData[name+'.x']=form.clk_x;options.extraData[name+'.y']=form.clk_y;}}}
+setTimeout(function(){var t=$form.attr('target'),a=$form.attr('action');$form.attr({target:id,encoding:'multipart/form-data',enctype:'multipart/form-data',method:'POST',action:opts.url});if(opts.timeout)
+setTimeout(function(){timedOut=true;cb();},opts.timeout);var extraInputs=[];try{if(options.extraData)
+for(var n in options.extraData)
+extraInputs.push($('<input type="hidden" name="'+n+'" value="'+options.extraData[n]+'" />').appendTo(form)[0]);$io.appendTo('body');io.attachEvent?io.attachEvent('onload',cb):io.addEventListener('load',cb,false);form.submit();}
+finally{$form.attr('action',a);t?$form.attr('target',t):$form.removeAttr('target');$(extraInputs).remove();}},10);function cb(){if(cbInvoked++)return;io.detachEvent?io.detachEvent('onload',cb):io.removeEventListener('load',cb,false);var operaHack=0;var ok=true;try{if(timedOut)throw'timeout';var data,doc;doc=io.contentWindow?io.contentWindow.document:io.contentDocument?io.contentDocument:io.document;if(doc.body==null&&!operaHack&&$.browser.opera){operaHack=1;cbInvoked--;setTimeout(cb,100);return;}
+xhr.responseText=doc.body?doc.body.innerHTML:null;xhr.responseXML=doc.XMLDocument?doc.XMLDocument:doc;xhr.getResponseHeader=function(header){var headers={'content-type':opts.dataType};return headers[header];};if(opts.dataType=='json'||opts.dataType=='script'){var ta=doc.getElementsByTagName('textarea')[0];xhr.responseText=ta?ta.value:xhr.responseText;}
+else if(opts.dataType=='xml'&&!xhr.responseXML&&xhr.responseText!=null){xhr.responseXML=toXml(xhr.responseText);}
+data=$.httpData(xhr,opts.dataType);}
+catch(e){ok=false;$.handleError(opts,xhr,'error',e);}
+if(ok){opts.success(data,'success');if(g)$.event.trigger("ajaxSuccess",[xhr,opts]);}
+if(g)$.event.trigger("ajaxComplete",[xhr,opts]);if(g&&!--$.active)$.event.trigger("ajaxStop");if(opts.complete)opts.complete(xhr,ok?'success':'error');setTimeout(function(){$io.remove();xhr.responseXML=null;},100);};function toXml(s,doc){if(window.ActiveXObject){doc=new ActiveXObject('Microsoft.XMLDOM');doc.async='false';doc.loadXML(s);}
+else
+doc=(new DOMParser()).parseFromString(s,'text/xml');return(doc&&doc.documentElement&&doc.documentElement.tagName!='parsererror')?doc:null;};};};$.fn.ajaxForm=function(options){return this.ajaxFormUnbind().bind('submit.form-plugin',function(){$(this).ajaxSubmit(options);return false;}).each(function(){$(":submit,input:image",this).bind('click.form-plugin',function(e){var $form=this.form;$form.clk=this;if(this.type=='image'){if(e.offsetX!=undefined){$form.clk_x=e.offsetX;$form.clk_y=e.offsetY;}else if(typeof $.fn.offset=='function'){var offset=$(this).offset();$form.clk_x=e.pageX-offset.left;$form.clk_y=e.pageY-offset.top;}else{$form.clk_x=e.pageX-this.offsetLeft;$form.clk_y=e.pageY-this.offsetTop;}}
+setTimeout(function(){$form.clk=$form.clk_x=$form.clk_y=null;},10);});});};$.fn.ajaxFormUnbind=function(){this.unbind('submit.form-plugin');return this.each(function(){$(":submit,input:image",this).unbind('click.form-plugin');});};$.fn.formToArray=function(semantic){var a=[];if(this.length==0)return a;var form=this[0];var els=semantic?form.getElementsByTagName('*'):form.elements;if(!els)return a;for(var i=0,max=els.length;i<max;i++){var el=els[i];var n=el.name;if(!n)continue;if(semantic&&form.clk&&el.type=="image"){if(!el.disabled&&form.clk==el)
+a.push({name:n+'.x',value:form.clk_x},{name:n+'.y',value:form.clk_y});continue;}
+var v=$.fieldValue(el,true);if(v&&v.constructor==Array){for(var j=0,jmax=v.length;j<jmax;j++)
+a.push({name:n,value:v[j]});}
+else if(v!==null&&typeof v!='undefined')
+a.push({name:n,value:v});}
+if(!semantic&&form.clk){var inputs=form.getElementsByTagName("input");for(var i=0,max=inputs.length;i<max;i++){var input=inputs[i];var n=input.name;if(n&&!input.disabled&&input.type=="image"&&form.clk==input)
+a.push({name:n+'.x',value:form.clk_x},{name:n+'.y',value:form.clk_y});}}
+return a;};$.fn.formSerialize=function(semantic){return $.param(this.formToArray(semantic));};$.fn.fieldSerialize=function(successful){var a=[];this.each(function(){var n=this.name;if(!n)return;var v=$.fieldValue(this,successful);if(v&&v.constructor==Array){for(var i=0,max=v.length;i<max;i++)
+a.push({name:n,value:v[i]});}
+else if(v!==null&&typeof v!='undefined')
+a.push({name:this.name,value:v});});return $.param(a);};$.fn.fieldValue=function(successful){for(var val=[],i=0,max=this.length;i<max;i++){var el=this[i];var v=$.fieldValue(el,successful);if(v===null||typeof v=='undefined'||(v.constructor==Array&&!v.length))
+continue;v.constructor==Array?$.merge(val,v):val.push(v);}
+return val;};$.fieldValue=function(el,successful){var n=el.name,t=el.type,tag=el.tagName.toLowerCase();if(typeof successful=='undefined')successful=true;if(successful&&(!n||el.disabled||t=='reset'||t=='button'||(t=='checkbox'||t=='radio')&&!el.checked||(t=='submit'||t=='image')&&el.form&&el.form.clk!=el||tag=='select'&&el.selectedIndex==-1))
+return null;if(tag=='select'){var index=el.selectedIndex;if(index<0)return null;var a=[],ops=el.options;var one=(t=='select-one');var max=(one?index+1:ops.length);for(var i=(one?index:0);i<max;i++){var op=ops[i];if(op.selected){var v=$.browser.msie&&!(op.attributes['value'].specified)?op.text:op.value;if(one)return v;a.push(v);}}
+return a;}
+return el.value;};$.fn.clearForm=function(){return this.each(function(){$('input,select,textarea',this).clearFields();});};$.fn.clearFields=$.fn.clearInputs=function(){return this.each(function(){var t=this.type,tag=this.tagName.toLowerCase();if(t=='text'||t=='password'||tag=='textarea')
+this.value='';else if(t=='checkbox'||t=='radio')
+this.checked=false;else if(tag=='select')
+this.selectedIndex=-1;});};$.fn.resetForm=function(){return this.each(function(){if(typeof this.reset=='function'||(typeof this.reset=='object'&&!this.reset.nodeType))
+this.reset();});};$.fn.enable=function(b){if(b==undefined)b=true;return this.each(function(){this.disabled=!b});};$.fn.select=function(select){if(select==undefined)select=true;return this.each(function(){var t=this.type;if(t=='checkbox'||t=='radio')
+this.checked=select;else if(this.tagName.toLowerCase()=='option'){var $sel=$(this).parent('select');if(select&&$sel[0]&&$sel[0].type=='select-one'){$sel.find('option').select(false);}
+this.selected=select;}});};function log(){if($.fn.ajaxSubmit.debug&&window.console&&window.console.log)
+window.console.log('[jquery.form] '+Array.prototype.join.call(arguments,''));};})(jQuery);var TO_LOAD_INDEX=0;var TO_LOAD=new Array;var MARKITUP=false;var UNBIND=false;$(function(){load_jquery();});function load_jquery(){if(UNBIND){if(MARKITUP){$("*").not(".markItUpButton").unbind();}else{$("*").unbind();}}
+UNBIND=true;$("a.submit").click(function(){$(this).parents("form").submit();return false;});$("a.submitWait").click(function(){$(this).parents("form").after('<p class="center">'+$(this).attr('title')+'<br /><br /><img src="'+IMG_CUBE+'/loader.gif" /></p>');$(this).parents("form").submit();$(this).parents("form").hide();return false;});$("form").submit(function(){$(this).attr('change','0');return true;});$("form.blank").each(function(){$(this).attr('target','_blank');$(this).removeClass('_blank');});$("form").not(".notajax").submit(function(){display_loader();$(this).ajaxSubmit({url:SITE_PATH+'ajax/'+$(this).attr('action'),success:function(data){MyAjax(data);}});return false;});$(".notajax form").unbind();$("form.submitonchange :input").each(function(){$(this).one('change',function(){$(this).parents("form").submit();});});$(":input").change(function(){$(this).parents("form").attr("change",1);});$("a.ajax").click(function(){var title=$(this).attr('title');var href=$(this).attr('rel');if(title!=''&&title!=undefined&&title.search(/\?/)>-1){if(!window.confirm(title)){return false;}}
+if($(this).hasClass('wait')){wait();}
+display_loader();$.ajax({url:SITE_PATH+'ajax/'+href,success:function(data){MyAjax(data);}});return false;});$("a.dajax").dblclick(function(){var title=$(this).attr('title');var href=$(this).attr('rel');if(title!=''&&title!=undefined&&title.search(/\?/)>=0){if(!window.confirm(title)){return false;}}
+display_loader();$.ajax({url:SITE_PATH+'ajax/'+href,success:function(data){MyAjax(data);}});return false;});$("a.ajaxh").click(function(){var title=$(this).attr('title');var href=$(this).attr('href');if(title!=''&&title!=undefined&&title.search(/\?/)>=0){if(!window.confirm(title)){return false;}}
+display_loader();$.ajax({url:href,success:function(data){MyAjax(data);}});return false;});$("a.prompt").click(function(){var href=$(this).attr('rel');var defaut=$(this).attr('rev');var name=window.prompt($(this).attr('title'),defaut);if(name==null||name=='null'||name==''){return false;}
+display_loader();$.ajax({url:SITE_PATH+'ajax/'+href+'?var='+name,success:function(data){MyAjax(data);}});return false;});$("a.closePopup").click(function(){closePopup($(this),true);return false;});$("a.closePopupNotConfirm").click(function(){closePopup($(this),false);return false;});$("a.popup").click(function(){display_loader();$.ajax({url:SITE_PATH+'ajax/'+$(this).attr('rel'),dataType:'responseText',success:function(data){createPopup(data);}});remove_loader();return false;});$("a.changepopup").click(function(){display_loader();$.ajax({url:SITE_PATH+'ajax/'+$(this).attr('rel'),dataType:'responseText',success:function(data){changepopup(data);load_jquery();}});remove_loader();return false;});$("a.blank").click(function(){$(this).attr('target','_blank');return true;});$("a.nothing").click(function(){return false;});$(".pemail").each(function(){var protected=$(this).text();var adresse=rot13(protected);$(this).text(adresse);$(this).attr('href','mailto:'+adresse);$(this).removeClass('pemail');});var len=TO_LOAD.length;for(var i=0;i<len;i++){eval(TO_LOAD[i]);}
+__fixPNG();if($("#jquery_time").length>0&&$("#jquery_time").text()==''){var E=new Date();var m=(parseInt(E-S)/1000).toString().replace('.',',');$("#jquery_time").text(m);}}
+function randval(min,max){var diff=max-min;return Math.round(Math.random()*diff)+diff;}
+function rot(t,u,v){return String.fromCharCode(((t-u+v)%(v*2))+u);}
+function rot13(s){var b=[],c,i=s.length,a='a'.charCodeAt(),z=a+26,A='A'.charCodeAt(),Z=A+26;while(i--){c=s.charCodeAt(i);if(c>=a&&c<z){b[i]=rot(c,a,13);}else if(c>=A&&c<Z){b[i]=rot(c,A,13);}else{b[i]=s.charAt(i);}}
+return b.join('');}
+function createPopup(data){POPUP_COUNTER=parseInt(POPUP_COUNTER);$("body").append('<div id="pl_'+POPUP_COUNTER+'" class="popupLayer"><div class="popupOverlay" id="po_'+POPUP_COUNTER+'" style="z-index:'+(1000+POPUP_COUNTER*2)+';"></div><div id="pw_'+POPUP_COUNTER+'" class="popupWindow" style="z-index:'+(1001+POPUP_COUNTER*2)+';"></div></div>');$("#po_"+POPUP_COUNTER).css('opacity',0.65);$("#po_"+POPUP_COUNTER).css('display','block');$("#pw_"+POPUP_COUNTER).html(data);$("#pw_"+POPUP_COUNTER).show();popup_dimensions(POPUP_COUNTER);load_jquery();POPUP_COUNTER+=1;}
+function closePopup(object,confirm){if(object==undefined||object==null){var i=$(".popupLayer").length-1;var elements=$(".popupLayer").get();var e=elements[i];var changes=false;$(this).find("form").each(function(){if($(this).attr("change")==1){changes=true;}});if(confirm==false||(changes==true&&window.confirm(CONFIRM_CLOSE))||changes==false){$(e).remove();POPUP_COUNTER-=1;popup_dimensions();}}else{$(object).parents(".popupLayer").each(function(){var changes=false;$(this).find("form").each(function(){if($(this).attr("change")==1){changes=true;}});if(confirm==false||(changes==true&&window.confirm(CONFIRM_CLOSE))||changes==false){$(this).remove();POPUP_COUNTER-=1;popup_dimensions();}});}}
+function popup_dimensions(i){if(i==undefined){i=POPUP_COUNTER-1;}
+if(i<0){return;}
+var margin=30;var mh=$(window).height()-(margin*2);if(!$.browser.msie){$("#pw_"+i).css("opacity",0);}
+if($("#pw_"+i+" .c>div").height()+10>mh){$("#pw_"+i+" .c>div").css("overflow",'auto');}else{$("#pw_"+i+" .c>div").css("overflow",'visible');}
+$("#pw_"+i+" .c>div").css("max-height",mh);$("#pw_"+i).css("left",($(window).width()-$("#pw_"+i).width())/2);if($("#pw_"+i+" .c>div").attr('top')){$("#pw_"+i).css("top",parseInt($("#pw_"+i+" .c>div").attr('top')));}else{var top=(mh-$("#pw_"+i).height())/2+margin;$("#pw_"+i).css("top",top);}
+if(!$.browser.msie){$("#pw_"+i).css("opacity",1);}}
+function changepopup(data){var pc=POPUP_COUNTER-1;$("#pw_"+pc).html(data);popup_dimensions(pc);}
+function checkUpload(){if($.browser.msie){var iframe=uploadIframe.document;}else{var uploadIframe=document.getElementById('uploadIframe');var iframe=uploadIframe.contentDocument;}
+if(iframe.getElementById('status')!=undefined&&iframe.contentDocument.getElementById('status').innerHTML!=undefined){clearInterval(INTERVAL);$.ajax({url:UPDATE,success:function(data){MyAjax(data);}});if(iframe.getElementById('status').innerHTML!='ok'){window.alert(ERREUR_FICHIER+' : \n'+iframe.getElementById('status').innerHTML);}
+if(POPUP_COUNTER>0){closePopup(null,false);}
+$("#uploadIframe").remove();}}
+function isSet(i){return(i==null||i=='null'||i==''||i=='undefined');}
+function callAjaxSwf(urlLink){$.ajax({url:urlLink,success:function(data){MyAjax(data);}});}
+function swfAjax(data){MyAjax(strToXML(data));}
+function MyAjax(data,reload){var error=new Array();var confirmation='';var ok=true;var t=$(data).children('rsp').children().get();for(var i=0;i<t.length;i++){var e=t[i];var name=e.nodeName;if(name=='confirmation'){var contentconfirm=$(e).text();confirmation+="<p>"+contentconfirm+"</p>";}else if(name=='error'){var errors=$(e).children().get();for(var j=0;j<errors.length;j++){var err=errors[j];var ename=err.nodeName;var econtent=$(err).text();$("#"+ename).addClass('error');$("#"+ename).val('');error.push(econtent);ok=false;}}else if(name=='content'){var contents=$(e).children().get();for(var k=0;k<contents.length;k++){var content=contents[k];var cname=content.nodeName;var ccontent=$(content).text();if(ccontent==''){$("#"+cname).html(ccontent);}else{$("#"+cname).html(ccontent);}
+if(POPUP_COUNTER-1>=0){popup_dimensions(POPUP_COUNTER-1);}}}else if(name=='replace'){var contents=$(e).children().get();for(var k=0;k<contents.length;k++){var content=contents[k];var cname=content.nodeName;var ccontent=$(content).text();if(ccontent==''){$("#"+cname).replaceWith(ccontent);}else{$("#"+cname).replaceWith(ccontent);}
+if(POPUP_COUNTER-1>=0){popup_dimensions(POPUP_COUNTER-1);}}}else if(name=='append'){var contents=$(e).children().get();for(var k=0;k<contents.length;k++){var content=contents[k];var cname=content.nodeName;var ccontent=$(content).text();if(ccontent==''){$("#"+cname).append(ccontent);}else{$("#"+cname).append(ccontent);}
+if(POPUP_COUNTER-1>=0){popup_dimensions(POPUP_COUNTER-1);}}}else if(name=='param'){var ids=$(e).children().get();for(var p=0;p<ids.length;p++){var id=ids[p];var idname=id.nodeName;var params=$(id).children().get();var o={};for(var q=0;q<params.length;q++){var param=params[q];var paramname=param.nodeName;var paramcontent=$(param).text();o[paramname]=paramcontent;}
+$("#"+idname).attr(o);$("#"+idname).parents("form").unbind('submit');}}else if(name=='alert'){var alerts=$(e).children().get();for(var r=0;r<alerts.length;r++){var alert=alerts[r];var acontent=$(alert).text();window.alert(acontent);}}else if(name=='ok'){var oks=$(e).children().get();for(var l=0;l<oks.length;l++){var ok=oks[l];var oname=ok.nodeName.toLowerCase();$("#"+oname).removeClass('error');}}else if(name=='redirection'){var url=$(e).text();window.location=url;}else if(name=='show'){var oks=$(e).children().get();for(var l=0;l<oks.length;l++){var ok=oks[l];var oname=ok.nodeName;$("#"+oname).show('fast');}}else if(name=='debug'){}else if(name=='eval'){var codes=$(e).children().get();for(var r=0;r<codes.length;r++){var code=codes[r];eval($(code).text());}}else if(name=='closepopup'){var closes=$(e).children().get();for(var cp=0;cp<closes.length;cp++){closePopup(null,false);}}else if(name=='openpopup'){var opens=$(e).children().get();for(var op=0;op<opens.length;op++){var cont=opens[op];createPopup($(cont).text());}}else if(name=='changepopup'){var changes=$(e).children().get();for(var cp=0;cp<changes.length;cp++){var cont=changes[cp];changepopup($(cont).text());}}
+else if(name=='popupdimensions'){popup_dimensions();}
+else if(name=='truepopup'){var trues=$(e).children().get();for(var tp=0;tp<trues.length;tp++){var cont=trues[tp];truePopup($(cont).text());}}else if(name=='timer'){var time=parseInt($(e).text());var t=setTimeout("doNothing()",time);}else if(name=='value'){var values=$(e).children().get();for(var v=0;v<values.length;v++){var node=values[v];var oname=node.nodeName;var val=$("#"+oname).val($(node).text());}}}
+if(error.length>0){$("#message").html(error.join('<br />'));}else{$("#message").html('');}
+if(confirmation!=''){$("#confirmation").html(confirmation);$("#confirmation").animate({height:26,opacity:1},2000,function(){$("#confirmation").fadeTo(10000,1,function(){$("#confirmation").animate({height:0,opacity:0},2000);$("#confirmation").empty();});});}
+if(reload==true||reload==undefined){load_jquery();}
+remove_loader();return ok;}
+function truePopup(url){var rand=Math.round(Math.random()*200);window.open(url,'Popup'+rand,'width='+window.width+',height='+window.height);}
+function _fixPNG(){var png;var images=$('img[@src*="png"]:not([@fixed="fixed"])');images.each(function(){png=$(this).attr('src');$(this).attr('src',IMG_CUBE+'/spacer.gif');$(this).css('filter',"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+png+"')");$(this).attr('fixed','fixed');});}
+function __fixPNG(){if($.browser.msie&&parseInt(navigator.userAgent.match(/MSIE (\d+(?:\.\d+)+(?:b\d*)?)/)[1])<=6){_fixPNG();}}
+function getWindowHeight(){var windowHeight=0;if(typeof(window.innerHeight)=='number'){windowHeight=window.innerHeight;}
+else{if(document.documentElement&&document.documentElement.clientHeight){windowHeight=document.documentElement.clientHeight;}
+else{if(document.body&&document.body.clientHeight){windowHeight=document.body.clientHeight;}}}
+return windowHeight;}
+function getWindowWidth(){var myWidth=0;if(typeof(window.innerWidth)=='number'){myWidth=window.innerWidth;}
+else if(document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight)){myWidth=document.documentElement.clientWidth;}
+else if(document.body&&(document.body.clientWidth||document.body.clientHeight)){myWidth=document.body.clientWidth;}
+return myWidth;}
+function doNothing(){}
+function htmlEditorGetText(id){var text=document.getElementById(id).value;return'<TEXTFORMAT LEADING="2"><P ALIGN="LEFT">'+text+'</P></TEXTFORMAT>';}
+function htmlEditorPutText(id,text){document.getElementById(id).value=text;}
+function display_loader(){if(LOADER_AJAX==''){}else{$("body").append('<div id="loader"><img src="'+LOADER_AJAX+'" /></div>');}}
+function remove_loader(){if(LOADER_AJAX==''){}else{$("#loader").remove();}}
+function URLEncode(clearString){var output='';var x=0;clearString=clearString.toString();var regex=/(^[a-zA-Z0-9_.]*)/;while(x<clearString.length){var match=regex.exec(clearString.substr(x));if(match!=null&&match.length>1&&match[1]!=''){output+=match[1];x+=match[1].length;}else{if(clearString[x]==' ')
+output+='+';else{var charCode=clearString.charCodeAt(x);var hexVal=charCode.toString(16);output+='%'+(hexVal.length<2?'0':'')+hexVal.toUpperCase();}
+x++;}}
+return output;}
+function strToXML(str){var contentType='application/xml';if(typeof(DOMParser)!='undefined'){return(new DOMParser()).parseFromString(str.substr(0,4095),contentType);}else if(typeof(ActiveXObject)!='undefined'){var xmldata=new ActiveXObject('MSXML.DomDocument');xmldata.async=false;xmldata.loadXML(str);return xmldata;}else if(typeof(XMLHttpRequest)!='undefined'){var xmldata=new XMLHttpRequest;if(!contentType){contentType='application/xml';}
+xmldata.open('GET','data:'+contentType+';charset=utf-8,'+encodeURIComponent(str),false);if(xmldata.overrideMimeType){xmldata.overrideMimeType(contentType);}
+xmldata.send(null);return xmldata.responseXML;}};(function($){var _remove=$.fn.remove;$.fn.remove=function(){$("*",this).add(this).triggerHandler("remove");return _remove.apply(this,arguments);};$.expr[':'].data="jQuery.data(a, m[3])";$.keyCode={BACKSPACE:8,CAPS_LOCK:20,COMMA:188,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38};function getter(namespace,plugin,method,args){function getMethods(type){var methods=$[namespace][plugin][type]||[];return(typeof methods=='string'?methods.split(/,?\s+/):methods);}
+var methods=getMethods('getter');if(args.length==1&&typeof args[0]=='string'){methods=methods.concat(getMethods('getterSetter'));}
+return($.inArray(method,methods)!=-1);}
+$.widget=function(name,prototype){var namespace=name.split(".")[0];name=name.split(".")[1];$.fn[name]=function(options){var isMethodCall=(typeof options=='string'),args=Array.prototype.slice.call(arguments,1);if(isMethodCall&&options.substring(0,1)=='_'){return this;}
+if(isMethodCall&&getter(namespace,name,options,args)){var instance=$.data(this[0],name);return(instance?instance[options].apply(instance,args):undefined);}
+return this.each(function(){var instance=$.data(this,name);(!instance&&!isMethodCall&&$.data(this,name,new $[namespace][name](this,options)));(instance&&isMethodCall&&instance[options].apply(instance,args));});};$[namespace][name]=function(element,options){var self=this;this.widgetName=name;this.widgetEventPrefix=$[namespace][name].eventPrefix||name;this.widgetBaseClass=namespace+'-'+name;this.options=$.extend({},$.widget.defaults,$[namespace][name].defaults,$.metadata&&$.metadata.get(element)[name],options);this.element=$(element).bind('setData.'+name,function(e,key,value){return self._setData(key,value);}).bind('getData.'+name,function(e,key){return self._getData(key);}).bind('remove',function(){return self.destroy();});this._init();};$[namespace][name].prototype=$.extend({},$.widget.prototype,prototype);$[namespace][name].getterSetter='option';};$.widget.prototype={_init:function(){},destroy:function(){this.element.removeData(this.widgetName);},option:function(key,value){var options=key,self=this;if(typeof key=="string"){if(value===undefined){return this._getData(key);}
+options={};options[key]=value;}
+$.each(options,function(key,value){self._setData(key,value);});},_getData:function(key){return this.options[key];},_setData:function(key,value){this.options[key]=value;if(key=='disabled'){this.element[value?'addClass':'removeClass'](this.widgetBaseClass+'-disabled');}},enable:function(){this._setData('disabled',false);},disable:function(){this._setData('disabled',true);},_trigger:function(type,e,data){var eventName=(type==this.widgetEventPrefix?type:this.widgetEventPrefix+type);e=e||$.event.fix({type:eventName,target:this.element[0]});return this.element.triggerHandler(eventName,[e,data],this.options[type]);}};$.widget.defaults={disabled:false};$.ui={plugin:{add:function(module,option,set){var proto=$.ui[module].prototype;for(var i in set){proto.plugins[i]=proto.plugins[i]||[];proto.plugins[i].push([option,set[i]]);}},call:function(instance,name,args){var set=instance.plugins[name];if(!set){return;}
+for(var i=0;i<set.length;i++){if(instance.options[set[i][0]]){set[i][1].apply(instance.element,args);}}}},cssCache:{},css:function(name){if($.ui.cssCache[name]){return $.ui.cssCache[name];}
+var tmp=$('<div class="ui-gen">').addClass(name).css({position:'absolute',top:'-5000px',left:'-5000px',display:'block'}).appendTo('body');$.ui.cssCache[name]=!!((!(/auto|default/).test(tmp.css('cursor'))||(/^[1-9]/).test(tmp.css('height'))||(/^[1-9]/).test(tmp.css('width'))||!(/none/).test(tmp.css('backgroundImage'))||!(/transparent|rgba\(0, 0, 0, 0\)/).test(tmp.css('backgroundColor'))));try{$('body').get(0).removeChild(tmp.get(0));}catch(e){}
+return $.ui.cssCache[name];},disableSelection:function(el){$(el).attr('unselectable','on').css('MozUserSelect','none').bind('selectstart.ui',function(){return false;});},enableSelection:function(el){$(el).attr('unselectable','off').css('MozUserSelect','').unbind('selectstart.ui');},hasScroll:function(e,a){var scroll=(a&&a=='left')?'scrollLeft':'scrollTop',has=false;if(e[scroll]>0){return true;}
+e[scroll]=1;has=(e[scroll]>0);e[scroll]=0;return has;}};$.ui.mouse={_mouseInit:function(){var self=this;this.element.bind('mousedown.'+this.widgetName,function(e){return self._mouseDown(e);});if($.browser.msie){this._mouseUnselectable=this.element.attr('unselectable');this.element.attr('unselectable','on');}
+this.started=false;},_mouseDestroy:function(){this.element.unbind('.'+this.widgetName);($.browser.msie&&this.element.attr('unselectable',this._mouseUnselectable));},_mouseDown:function(e){(this._mouseStarted&&this._mouseUp(e));this._mouseDownEvent=e;var self=this,btnIsLeft=(e.which==1),elIsCancel=(typeof this.options.cancel=="string"?$(e.target).parents().add(e.target).filter(this.options.cancel).length:false);if(!btnIsLeft||elIsCancel||!this._mouseCapture(e)){return true;}
+this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){self.mouseDelayMet=true;},this.options.delay);}
+if(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)){this._mouseStarted=(this._mouseStart(e)!==false);if(!this._mouseStarted){e.preventDefault();return true;}}
+this._mouseMoveDelegate=function(e){return self._mouseMove(e);};this._mouseUpDelegate=function(e){return self._mouseUp(e);};$(document).bind('mousemove.'+this.widgetName,this._mouseMoveDelegate).bind('mouseup.'+this.widgetName,this._mouseUpDelegate);return false;},_mouseMove:function(e){if($.browser.msie&&!e.button){return this._mouseUp(e);}
+if(this._mouseStarted){this._mouseDrag(e);return false;}
+if(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,e)!==false);(this._mouseStarted?this._mouseDrag(e):this._mouseUp(e));}
+return!this._mouseStarted;},_mouseUp:function(e){$(document).unbind('mousemove.'+this.widgetName,this._mouseMoveDelegate).unbind('mouseup.'+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;this._mouseStop(e);}
+return false;},_mouseDistanceMet:function(e){return(Math.max(Math.abs(this._mouseDownEvent.pageX-e.pageX),Math.abs(this._mouseDownEvent.pageY-e.pageY))>=this.options.distance);},_mouseDelayMet:function(e){return this.mouseDelayMet;},_mouseStart:function(e){},_mouseDrag:function(e){},_mouseStop:function(e){},_mouseCapture:function(e){return true;}};$.ui.mouse.defaults={cancel:null,distance:1,delay:0};})(jQuery);TO_LOAD_INDEX++;TO_LOAD[TO_LOAD_INDEX]='load_extranet();';FIRST_LOAD=true;function load_extranet(){if($(".dashboard").length>=1){if(FIRST_LOAD){FIRST_LOAD=false;}else{FIRST_LOAD=true;$.ajax({url:SITE_PATH+'ajax/reloadDashboards',success:function(data){MyAjax(data)}});}
+$(".dashboard").sortable();}
+$(".timereport_field").change(function(){var val=parseInt($(this).val());if(isNaN(val)){val=0;}
+var id=$(this).attr('id');var a=id.split('_');$.ajax({url:SITE_PATH+'ajax/saveTimereport/'+a[1]+'/'+a[2]+'/'+val,success:function(data){FIRST_LOAD=true;MyAjax(data);}});});$("#dash .toggle").click(function(){var rel=$(this).attr('rel');var div=$(this).parents('.dashboard').get(0);var liste=$(div).find('.liste');$(liste).slideToggle('fast');$(this).toggleClass('closed');$.ajax({url:SITE_PATH+'ajax/toogleDashboard/'+rel,});return false;});$(".filtre .bt").click(function(){var ul=$(this).parent().parent().children('ul');$(ul).slideToggle('fast');return false;});$(".filtre ul").click(function(e){if(e.target.nodeName=='INPUT'||e.target.nodeName=='LABEL'){return true;}
+$(this).slideToggle('fast');});$(".filtre span").click(function(){var ul=$(this).parent().children('ul');$(ul).slideToggle('fast');});$(".filtre input").change(function(){var form=$(this).parents('form').get(0);var uls=$(form).find("ul");var divs=$(form).find(".input");var spans=$(form).find("span");var i,j,k,ul,lis,li,input,label,checked,div,titre,t,t1,allc,inputs;for(i=0;i<uls.length;i++){div=divs[i];titre=Array();ul=uls[i];lis=$(ul).children("li");allc=$(lis).get(0);checked=0;for(j=1;j<lis.length;j++){li=lis[j];input=$(li).find('input').get(0);label=$(li).find('label').get(0);if(input.checked){checked++;titre.push($(label).text());}}
+if(checked==0){$(div).find('span').text($(allc).text());$(div).find('a').attr('title',$(allc).text());$(div).removeClass('active');inputs=$(ul).find('input');for(k=0;k<inputs.length;k++){inputs[k].checked=true;}}else if(checked==lis.length-1){$(div).find('span').text($(allc).text());$(div).find('a').attr('title',$(allc).text());$(div).removeClass('active');}else{t=titre.join(', ');if(t.length>20){t1=t.substr(0,16)+'...';}else{t1=t;}
+$(div).find('span').text(t1);$(div).find('a').attr('title',t);$(div).addClass('active');}}
+return true;});$(window).resize(function(){resize();});resize();}
+function resize(){var allh=$("#header").height()+$("#footer").height()+$("#bar").height()+$("#main .content").height()+13+30;var h=Math.max($(window).height(),allh);var mh=h-$("#header").height()-$("#footer").height()-$("#bar").height()-30-13;mh=Math.max(mh,450);$("#main").css('height',mh);}
\ No newline at end of file
diff --git a/js/merged-657b8b.js b/js/merged-657b8b.js
new file mode 100644 (file)
index 0000000..47e41c0
--- /dev/null
@@ -0,0 +1,567 @@
+
+(function(){var
+window=this,undefined,_jQuery=window.jQuery,_$=window.$,jQuery=window.jQuery=window.$=function(selector,context){return new jQuery.fn.init(selector,context);},quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,isSimple=/^.[^:#\[\.,]*$/;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;this.context=selector;return this;}
+if(typeof selector==="string"){var match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1])
+selector=jQuery.clean([match[1]],context);else{var elem=document.getElementById(match[3]);if(elem&&elem.id!=match[3])
+return jQuery().find(selector);var ret=jQuery(elem||[]);ret.context=document;ret.selector=selector;return ret;}}else
+return jQuery(context).find(selector);}else if(jQuery.isFunction(selector))
+return jQuery(document).ready(selector);if(selector.selector&&selector.context){this.selector=selector.selector;this.context=selector.context;}
+return this.setArray(jQuery.isArray(selector)?selector:jQuery.makeArray(selector));},selector:"",jquery:"1.3.2",size:function(){return this.length;},get:function(num){return num===undefined?Array.prototype.slice.call(this):this[num];},pushStack:function(elems,name,selector){var ret=jQuery(elems);ret.prevObject=this;ret.context=this.context;if(name==="find")
+ret.selector=this.selector+(this.selector?" ":"")+selector;else if(name)
+ret.selector=this.selector+"."+name+"("+selector+")";return ret;},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elems);return this;},each:function(callback,args){return jQuery.each(this,callback,args);},index:function(elem){return jQuery.inArray(elem&&elem.jquery?elem[0]:elem,this);},attr:function(name,value,type){var options=name;if(typeof name==="string")
+if(value===undefined)
+return this[0]&&jQuery[type||"attr"](this[0],name);else{options={};options[name]=value;}
+return this.each(function(i){for(name in options)
+jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name));});},css:function(key,value){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]){var wrap=jQuery(html,this[0].ownerDocument).clone();if(this[0].parentNode)
+wrap.insertBefore(this[0]);wrap.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,function(elem){if(this.nodeType==1)
+this.appendChild(elem);});},prepend:function(){return this.domManip(arguments,true,function(elem){if(this.nodeType==1)
+this.insertBefore(elem,this.firstChild);});},before:function(){return this.domManip(arguments,false,function(elem){this.parentNode.insertBefore(elem,this);});},after:function(){return this.domManip(arguments,false,function(elem){this.parentNode.insertBefore(elem,this.nextSibling);});},end:function(){return this.prevObject||jQuery([]);},push:[].push,sort:[].sort,splice:[].splice,find:function(selector){if(this.length===1){var ret=this.pushStack([],"find",selector);ret.length=0;jQuery.find(selector,this[0],ret);return ret;}else{return this.pushStack(jQuery.unique(jQuery.map(this,function(elem){return jQuery.find(selector,elem);})),"find",selector);}},clone:function(events){var ret=this.map(function(){if(!jQuery.support.noCloneEvent&&!jQuery.isXMLDoc(this)){var html=this.outerHTML;if(!html){var div=this.ownerDocument.createElement("div");div.appendChild(this.cloneNode(true));html=div.innerHTML;}
+return jQuery.clean([html.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0];}else
+return this.cloneNode(true);});if(events===true){var orig=this.find("*").andSelf(),i=0;ret.find("*").andSelf().each(function(){if(this.nodeName!==orig[i].nodeName)
+return;var events=jQuery.data(orig[i],"events");for(var type in events){for(var handler in events[type]){jQuery.event.add(this,type,events[type][handler],events[type][handler].data);}}
+i++;});}
+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,jQuery.grep(this,function(elem){return elem.nodeType===1;})),"filter",selector);},closest:function(selector){var pos=jQuery.expr.match.POS.test(selector)?jQuery(selector):null,closer=0;return this.map(function(){var cur=this;while(cur&&cur.ownerDocument){if(pos?pos.index(cur)>-1:jQuery(cur).is(selector)){jQuery.data(cur,"closest",closer);return cur;}
+cur=cur.parentNode;closer++;}});},not:function(selector){if(typeof selector==="string")
+if(isSimple.test(selector))
+return this.pushStack(jQuery.multiFilter(selector,this,true),"not",selector);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 this.pushStack(jQuery.unique(jQuery.merge(this.get(),typeof selector==="string"?jQuery(selector):jQuery.makeArray(selector))));},is:function(selector){return!!selector&&jQuery.multiFilter(selector,this).length>0;},hasClass:function(selector){return!!selector&&this.is("."+selector);},val:function(value){if(value===undefined){var elem=this[0];if(elem){if(jQuery.nodeName(elem,'option'))
+return(elem.attributes.value||{}).specified?elem.value:elem.text;if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";if(index<0)
+return null;for(var i=one?index:0,max=one?index+1:options.length;i<max;i++){var option=options[i];if(option.selected){value=jQuery(option).val();if(one)
+return value;values.push(value);}}
+return values;}
+return(elem.value||"").replace(/\r/g,"");}
+return undefined;}
+if(typeof value==="number")
+value+='';return this.each(function(){if(this.nodeType!=1)
+return;if(jQuery.isArray(value)&&/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=jQuery.makeArray(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[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):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),"slice",Array.prototype.slice.call(arguments).join(","));},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);},domManip:function(args,table,callback){if(this[0]){var fragment=(this[0].ownerDocument||this[0]).createDocumentFragment(),scripts=jQuery.clean(args,(this[0].ownerDocument||this[0]),fragment),first=fragment.firstChild;if(first)
+for(var i=0,l=this.length;i<l;i++)
+callback.call(root(this[i],first),this.length>1||i>0?fragment.cloneNode(true):fragment);if(scripts)
+jQuery.each(scripts,evalScript);}
+return this;function root(elem,cur){return table&&jQuery.nodeName(elem,"table")&&jQuery.nodeName(cur,"tr")?(elem.getElementsByTagName("tbody")[0]||elem.appendChild(elem.ownerDocument.createElement("tbody"))):elem;}}};jQuery.fn.init.prototype=jQuery.fn;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);}
+function now(){return+new Date;}
+jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(typeof target==="boolean"){deep=target;target=arguments[1]||{};i=2;}
+if(typeof target!=="object"&&!jQuery.isFunction(target))
+target={};if(length==i){target=this;--i;}
+for(;i<length;i++)
+if((options=arguments[i])!=null)
+for(var name in options){var src=target[name],copy=options[name];if(target===copy)
+continue;if(deep&&copy&&typeof copy==="object"&&!copy.nodeType)
+target[name]=jQuery.extend(deep,src||(copy.length!=null?[]:{}),copy);else if(copy!==undefined)
+target[name]=copy;}
+return target;};var exclude=/z-?index|font-?weight|opacity|zoom|line-?height/i,defaultView=document.defaultView||{},toString=Object.prototype.toString;jQuery.extend({noConflict:function(deep){window.$=_$;if(deep)
+window.jQuery=_jQuery;return jQuery;},isFunction:function(obj){return toString.call(obj)==="[object Function]";},isArray:function(obj){return toString.call(obj)==="[object Array]";},isXMLDoc:function(elem){return elem.nodeType===9&&elem.documentElement.nodeName!=="HTML"||!!elem.ownerDocument&&jQuery.isXMLDoc(elem.ownerDocument);},globalEval:function(data){if(data&&/\S/.test(data)){var head=document.getElementsByTagName("head")[0]||document.documentElement,script=document.createElement("script");script.type="text/javascript";if(jQuery.support.scriptEval)
+script.appendChild(document.createTextNode(data));else
+script.text=data;head.insertBefore(script,head.firstChild);head.removeChild(script);}},nodeName:function(elem,name){return elem.nodeName&&elem.nodeName.toUpperCase()==name.toUpperCase();},each:function(object,callback,args){var name,i=0,length=object.length;if(args){if(length===undefined){for(name in object)
+if(callback.apply(object[name],args)===false)
+break;}else
+for(;i<length;)
+if(callback.apply(object[i++],args)===false)
+break;}else{if(length===undefined){for(name in object)
+if(callback.call(object[name],name,object[name])===false)
+break;}else
+for(var value=object[0];i<length&&callback.call(value,i,value)!==false;value=object[++i]){}}
+return object;},prop:function(elem,value,type,i,name){if(jQuery.isFunction(value))
+value=value.call(elem,i);return typeof value==="number"&&type=="curCSS"&&!exclude.test(name)?value+"px":value;},className:{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;});},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(" "):"";},has:function(elem,className){return elem&&jQuery.inArray(className,(elem.className||elem).toString().split(/\s+/))>-1;}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}
+callback.call(elem);for(var name in options)
+elem.style[name]=old[name];},css:function(elem,name,force,extra){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;if(extra==="border")
+return;jQuery.each(which,function(){if(!extra)
+val-=parseFloat(jQuery.curCSS(elem,"padding"+this,true))||0;if(extra==="margin")
+val+=parseFloat(jQuery.curCSS(elem,"margin"+this,true))||0;else
+val-=parseFloat(jQuery.curCSS(elem,"border"+this+"Width",true))||0;});}
+if(elem.offsetWidth!==0)
+getWH();else
+jQuery.swap(elem,props,getWH);return Math.max(0,Math.round(val));}
+return jQuery.curCSS(elem,name,force);},curCSS:function(elem,name,force){var ret,style=elem.style;if(name=="opacity"&&!jQuery.support.opacity){ret=jQuery.attr(style,"opacity");return ret==""?"1":ret;}
+if(name.match(/float/i))
+name=styleFloat;if(!force&&style&&style[name])
+ret=style[name];else if(defaultView.getComputedStyle){if(name.match(/float/i))
+name="float";name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var computedStyle=defaultView.getComputedStyle(elem,null);if(computedStyle)
+ret=computedStyle.getPropertyValue(name);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];if(!/^\d+(px)?$/i.test(ret)&&/^\d/.test(ret)){var left=style.left,rsLeft=elem.runtimeStyle.left;elem.runtimeStyle.left=elem.currentStyle.left;style.left=ret||0;ret=style.pixelLeft+"px";style.left=left;elem.runtimeStyle.left=rsLeft;}}
+return ret;},clean:function(elems,context,fragment){context=context||document;if(typeof context.createElement==="undefined")
+context=context.ownerDocument||context[0]&&context[0].ownerDocument||document;if(!fragment&&elems.length===1&&typeof elems[0]==="string"){var match=/^<(\w+)\s*\/?>$/.exec(elems[0]);if(match)
+return[context.createElement(match[1])];}
+var ret=[],scripts=[],div=context.createElement("div");jQuery.each(elems,function(i,elem){if(typeof elem==="number")
+elem+='';if(!elem)
+return;if(typeof elem==="string"){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+">";});var tags=elem.replace(/^\s+/,"").substring(0,10).toLowerCase();var wrap=!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>"]||(!tags.indexOf("<td")||!tags.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!tags.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||!jQuery.support.htmlSerialize&&[1,"div<div>","</div>"]||[0,"",""];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--)
+div=div.lastChild;if(!jQuery.support.tbody){var hasBody=/<tbody/i.test(elem),tbody=!tags.indexOf("<table")&&!hasBody?div.firstChild&&div.firstChild.childNodes:wrap[1]=="<table>"&&!hasBody?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]);}
+if(!jQuery.support.leadingWhitespace&&/^\s/.test(elem))
+div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]),div.firstChild);elem=jQuery.makeArray(div.childNodes);}
+if(elem.nodeType)
+ret.push(elem);else
+ret=jQuery.merge(ret,elem);});if(fragment){for(var i=0;ret[i];i++){if(jQuery.nodeName(ret[i],"script")&&(!ret[i].type||ret[i].type.toLowerCase()==="text/javascript")){scripts.push(ret[i].parentNode?ret[i].parentNode.removeChild(ret[i]):ret[i]);}else{if(ret[i].nodeType===1)
+ret.splice.apply(ret,[i+1,0].concat(jQuery.makeArray(ret[i].getElementsByTagName("script"))));fragment.appendChild(ret[i]);}}
+return scripts;}
+return ret;},attr:function(elem,name,value){if(!elem||elem.nodeType==3||elem.nodeType==8)
+return undefined;var notxml=!jQuery.isXMLDoc(elem),set=value!==undefined;name=notxml&&jQuery.props[name]||name;if(elem.tagName){var special=/href|src|style/.test(name);if(name=="selected"&&elem.parentNode)
+elem.parentNode.selectedIndex;if(name in elem&&notxml&&!special){if(set){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)
+throw"type property can't be changed";elem[name]=value;}
+if(jQuery.nodeName(elem,"form")&&elem.getAttributeNode(name))
+return elem.getAttributeNode(name).nodeValue;if(name=="tabIndex"){var attributeNode=elem.getAttributeNode("tabIndex");return attributeNode&&attributeNode.specified?attributeNode.value:elem.nodeName.match(/(button|input|object|select|textarea)/i)?0:elem.nodeName.match(/^(a|area)$/i)&&elem.href?0:undefined;}
+return elem[name];}
+if(!jQuery.support.style&&notxml&&name=="style")
+return jQuery.attr(elem.style,"cssText",value);if(set)
+elem.setAttribute(name,""+value);var attr=!jQuery.support.hrefNormalized&&notxml&&special?elem.getAttribute(name,2):elem.getAttribute(name);return attr===null?undefined:attr;}
+if(!jQuery.support.opacity&&name=="opacity"){if(set){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+
+(parseInt(value)+''=="NaN"?"":"alpha(opacity="+value*100+")");}
+return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100)+'':"";}
+name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(set)
+elem[name]=value;return elem[name];},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeArray:function(array){var ret=[];if(array!=null){var i=array.length;if(i==null||typeof array==="string"||jQuery.isFunction(array)||array.setInterval)
+ret[0]=array;else
+while(i)
+ret[--i]=array[i];}
+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){var i=0,elem,pos=first.length;if(!jQuery.support.getAll){while((elem=second[i++])!=null)
+if(elem.nodeType!=8)
+first[pos++]=elem;}else
+while((elem=second[i++])!=null)
+first[pos++]=elem;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=[];for(var i=0,length=elems.length;i<length;i++)
+if(!inv!=!callback(elems[i],i))
+ret.push(elems[i]);return ret;},map:function(elems,callback){var ret=[];for(var i=0,length=elems.length;i<length;i++){var value=callback(elems[i],i);if(value!=null)
+ret[ret.length]=value;}
+return ret.concat.apply([],ret);}});var userAgent=navigator.userAgent.toLowerCase();jQuery.browser={version:(userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,'0'])[1],safari:/webkit/.test(userAgent),opera:/opera/.test(userAgent),msie:/msie/.test(userAgent)&&!/opera/.test(userAgent),mozilla:/mozilla/.test(userAgent)&&!/(compatible|webkit)/.test(userAgent)};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),name,selector);};});jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(selector){var ret=[],insert=jQuery(selector);for(var i=0,l=insert.length;i<l;i++){var elems=(i>0?this.clone(true):this).get();jQuery.fn[original].apply(jQuery(insert[i]),elems);ret=ret.concat(elems);}
+return this.pushStack(ret,name,selector);};});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,state){if(typeof state!=="boolean")
+state=!jQuery.className.has(this,classNames);jQuery.className[state?"add":"remove"](this,classNames);},remove:function(selector){if(!selector||jQuery.filter(selector,[this]).length){jQuery("*",this).add([this]).each(function(){jQuery.event.remove(this);jQuery.removeData(this);});if(this.parentNode)
+this.parentNode.removeChild(this);}},empty:function(){jQuery(this).children().remove();while(this.firstChild)
+this.removeChild(this.firstChild);}},function(name,fn){jQuery.fn[name]=function(){return this.each(fn,arguments);};});function num(elem,prop){return elem[0]&&parseInt(jQuery.curCSS(elem[0],prop,true),10)||0;}
+var expando="jQuery"+now(),uuid=0,windowData={};jQuery.extend({cache:{},data:function(elem,name,data){elem=elem==window?windowData:elem;var id=elem[expando];if(!id)
+id=elem[expando]=++uuid;if(name&&!jQuery.cache[id])
+jQuery.cache[id]={};if(data!==undefined)
+jQuery.cache[id][name]=data;return name?jQuery.cache[id][name]:id;},removeData:function(elem,name){elem=elem==window?windowData:elem;var id=elem[expando];if(name){if(jQuery.cache[id]){delete jQuery.cache[id][name];name="";for(name in jQuery.cache[id])
+break;if(!name)
+jQuery.removeData(elem);}}else{try{delete elem[expando];}catch(e){if(elem.removeAttribute)
+elem.removeAttribute(expando);}
+delete jQuery.cache[id];}},queue:function(elem,type,data){if(elem){type=(type||"fx")+"queue";var q=jQuery.data(elem,type);if(!q||jQuery.isArray(data))
+q=jQuery.data(elem,type,jQuery.makeArray(data));else if(data)
+q.push(data);}
+return q;},dequeue:function(elem,type){var queue=jQuery.queue(elem,type),fn=queue.shift();if(!type||type==="fx")
+fn=queue[0];if(fn!==undefined)
+fn.call(elem);}});jQuery.fn.extend({data:function(key,value){var parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value===undefined){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data===undefined&&this.length)
+data=jQuery.data(this[0],key);return data===undefined&&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);});},queue:function(type,data){if(typeof type!=="string"){data=type;type="fx";}
+if(data===undefined)
+return jQuery.queue(this[0],type);return this.each(function(){var queue=jQuery.queue(this,type,data);if(type=="fx"&&queue.length==1)
+queue[0].call(this);});},dequeue:function(type){return this.each(function(){jQuery.dequeue(this,type);});}});(function(){var chunker=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,done=0,toString=Object.prototype.toString;var Sizzle=function(selector,context,results,seed){results=results||[];context=context||document;if(context.nodeType!==1&&context.nodeType!==9)
+return[];if(!selector||typeof selector!=="string"){return results;}
+var parts=[],m,set,checkSet,check,mode,extra,prune=true;chunker.lastIndex=0;while((m=chunker.exec(selector))!==null){parts.push(m[1]);if(m[2]){extra=RegExp.rightContext;break;}}
+if(parts.length>1&&origPOS.exec(selector)){if(parts.length===2&&Expr.relative[parts[0]]){set=posProcess(parts[0]+parts[1],context);}else{set=Expr.relative[parts[0]]?[context]:Sizzle(parts.shift(),context);while(parts.length){selector=parts.shift();if(Expr.relative[selector])
+selector+=parts.shift();set=posProcess(selector,set);}}}else{var ret=seed?{expr:parts.pop(),set:makeArray(seed)}:Sizzle.find(parts.pop(),parts.length===1&&context.parentNode?context.parentNode:context,isXML(context));set=Sizzle.filter(ret.expr,ret.set);if(parts.length>0){checkSet=makeArray(set);}else{prune=false;}
+while(parts.length){var cur=parts.pop(),pop=cur;if(!Expr.relative[cur]){cur="";}else{pop=parts.pop();}
+if(pop==null){pop=context;}
+Expr.relative[cur](checkSet,pop,isXML(context));}}
+if(!checkSet){checkSet=set;}
+if(!checkSet){throw"Syntax error, unrecognized expression: "+(cur||selector);}
+if(toString.call(checkSet)==="[object Array]"){if(!prune){results.push.apply(results,checkSet);}else if(context.nodeType===1){for(var i=0;checkSet[i]!=null;i++){if(checkSet[i]&&(checkSet[i]===true||checkSet[i].nodeType===1&&contains(context,checkSet[i]))){results.push(set[i]);}}}else{for(var i=0;checkSet[i]!=null;i++){if(checkSet[i]&&checkSet[i].nodeType===1){results.push(set[i]);}}}}else{makeArray(checkSet,results);}
+if(extra){Sizzle(extra,context,results,seed);if(sortOrder){hasDuplicate=false;results.sort(sortOrder);if(hasDuplicate){for(var i=1;i<results.length;i++){if(results[i]===results[i-1]){results.splice(i--,1);}}}}}
+return results;};Sizzle.matches=function(expr,set){return Sizzle(expr,null,null,set);};Sizzle.find=function(expr,context,isXML){var set,match;if(!expr){return[];}
+for(var i=0,l=Expr.order.length;i<l;i++){var type=Expr.order[i],match;if((match=Expr.match[type].exec(expr))){var left=RegExp.leftContext;if(left.substr(left.length-1)!=="\\"){match[1]=(match[1]||"").replace(/\\/g,"");set=Expr.find[type](match,context,isXML);if(set!=null){expr=expr.replace(Expr.match[type],"");break;}}}}
+if(!set){set=context.getElementsByTagName("*");}
+return{set:set,expr:expr};};Sizzle.filter=function(expr,set,inplace,not){var old=expr,result=[],curLoop=set,match,anyFound,isXMLFilter=set&&set[0]&&isXML(set[0]);while(expr&&set.length){for(var type in Expr.filter){if((match=Expr.match[type].exec(expr))!=null){var filter=Expr.filter[type],found,item;anyFound=false;if(curLoop==result){result=[];}
+if(Expr.preFilter[type]){match=Expr.preFilter[type](match,curLoop,inplace,result,not,isXMLFilter);if(!match){anyFound=found=true;}else if(match===true){continue;}}
+if(match){for(var i=0;(item=curLoop[i])!=null;i++){if(item){found=filter(item,match,i,curLoop);var pass=not^!!found;if(inplace&&found!=null){if(pass){anyFound=true;}else{curLoop[i]=false;}}else if(pass){result.push(item);anyFound=true;}}}}
+if(found!==undefined){if(!inplace){curLoop=result;}
+expr=expr.replace(Expr.match[type],"");if(!anyFound){return[];}
+break;}}}
+if(expr==old){if(anyFound==null){throw"Syntax error, unrecognized expression: "+expr;}else{break;}}
+old=expr;}
+return curLoop;};var Expr=Sizzle.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(elem){return elem.getAttribute("href");}},relative:{"+":function(checkSet,part,isXML){var isPartStr=typeof part==="string",isTag=isPartStr&&!/\W/.test(part),isPartStrNotTag=isPartStr&&!isTag;if(isTag&&!isXML){part=part.toUpperCase();}
+for(var i=0,l=checkSet.length,elem;i<l;i++){if((elem=checkSet[i])){while((elem=elem.previousSibling)&&elem.nodeType!==1){}
+checkSet[i]=isPartStrNotTag||elem&&elem.nodeName===part?elem||false:elem===part;}}
+if(isPartStrNotTag){Sizzle.filter(part,checkSet,true);}},">":function(checkSet,part,isXML){var isPartStr=typeof part==="string";if(isPartStr&&!/\W/.test(part)){part=isXML?part:part.toUpperCase();for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){var parent=elem.parentNode;checkSet[i]=parent.nodeName===part?parent:false;}}}else{for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){checkSet[i]=isPartStr?elem.parentNode:elem.parentNode===part;}}
+if(isPartStr){Sizzle.filter(part,checkSet,true);}}},"":function(checkSet,part,isXML){var doneName=done++,checkFn=dirCheck;if(!part.match(/\W/)){var nodeCheck=part=isXML?part:part.toUpperCase();checkFn=dirNodeCheck;}
+checkFn("parentNode",part,doneName,checkSet,nodeCheck,isXML);},"~":function(checkSet,part,isXML){var doneName=done++,checkFn=dirCheck;if(typeof part==="string"&&!part.match(/\W/)){var nodeCheck=part=isXML?part:part.toUpperCase();checkFn=dirNodeCheck;}
+checkFn("previousSibling",part,doneName,checkSet,nodeCheck,isXML);}},find:{ID:function(match,context,isXML){if(typeof context.getElementById!=="undefined"&&!isXML){var m=context.getElementById(match[1]);return m?[m]:[];}},NAME:function(match,context,isXML){if(typeof context.getElementsByName!=="undefined"){var ret=[],results=context.getElementsByName(match[1]);for(var i=0,l=results.length;i<l;i++){if(results[i].getAttribute("name")===match[1]){ret.push(results[i]);}}
+return ret.length===0?null:ret;}},TAG:function(match,context){return context.getElementsByTagName(match[1]);}},preFilter:{CLASS:function(match,curLoop,inplace,result,not,isXML){match=" "+match[1].replace(/\\/g,"")+" ";if(isXML){return match;}
+for(var i=0,elem;(elem=curLoop[i])!=null;i++){if(elem){if(not^(elem.className&&(" "+elem.className+" ").indexOf(match)>=0)){if(!inplace)
+result.push(elem);}else if(inplace){curLoop[i]=false;}}}
+return false;},ID:function(match){return match[1].replace(/\\/g,"");},TAG:function(match,curLoop){for(var i=0;curLoop[i]===false;i++){}
+return curLoop[i]&&isXML(curLoop[i])?match[1]:match[1].toUpperCase();},CHILD:function(match){if(match[1]=="nth"){var test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(match[2]=="even"&&"2n"||match[2]=="odd"&&"2n+1"||!/\D/.test(match[2])&&"0n+"+match[2]||match[2]);match[2]=(test[1]+(test[2]||1))-0;match[3]=test[3]-0;}
+match[0]=done++;return match;},ATTR:function(match,curLoop,inplace,result,not,isXML){var name=match[1].replace(/\\/g,"");if(!isXML&&Expr.attrMap[name]){match[1]=Expr.attrMap[name];}
+if(match[2]==="~="){match[4]=" "+match[4]+" ";}
+return match;},PSEUDO:function(match,curLoop,inplace,result,not){if(match[1]==="not"){if(match[3].match(chunker).length>1||/^\w/.test(match[3])){match[3]=Sizzle(match[3],null,null,curLoop);}else{var ret=Sizzle.filter(match[3],curLoop,inplace,true^not);if(!inplace){result.push.apply(result,ret);}
+return false;}}else if(Expr.match.POS.test(match[0])||Expr.match.CHILD.test(match[0])){return true;}
+return match;},POS:function(match){match.unshift(true);return match;}},filters:{enabled:function(elem){return elem.disabled===false&&elem.type!=="hidden";},disabled:function(elem){return elem.disabled===true;},checked:function(elem){return elem.checked===true;},selected:function(elem){elem.parentNode.selectedIndex;return elem.selected===true;},parent:function(elem){return!!elem.firstChild;},empty:function(elem){return!elem.firstChild;},has:function(elem,i,match){return!!Sizzle(match[3],elem).length;},header:function(elem){return/h\d/i.test(elem.nodeName);},text:function(elem){return"text"===elem.type;},radio:function(elem){return"radio"===elem.type;},checkbox:function(elem){return"checkbox"===elem.type;},file:function(elem){return"file"===elem.type;},password:function(elem){return"password"===elem.type;},submit:function(elem){return"submit"===elem.type;},image:function(elem){return"image"===elem.type;},reset:function(elem){return"reset"===elem.type;},button:function(elem){return"button"===elem.type||elem.nodeName.toUpperCase()==="BUTTON";},input:function(elem){return/input|select|textarea|button/i.test(elem.nodeName);}},setFilters:{first:function(elem,i){return i===0;},last:function(elem,i,match,array){return i===array.length-1;},even:function(elem,i){return i%2===0;},odd:function(elem,i){return i%2===1;},lt:function(elem,i,match){return i<match[3]-0;},gt:function(elem,i,match){return i>match[3]-0;},nth:function(elem,i,match){return match[3]-0==i;},eq:function(elem,i,match){return match[3]-0==i;}},filter:{PSEUDO:function(elem,match,i,array){var name=match[1],filter=Expr.filters[name];if(filter){return filter(elem,i,match,array);}else if(name==="contains"){return(elem.textContent||elem.innerText||"").indexOf(match[3])>=0;}else if(name==="not"){var not=match[3];for(var i=0,l=not.length;i<l;i++){if(not[i]===elem){return false;}}
+return true;}},CHILD:function(elem,match){var type=match[1],node=elem;switch(type){case'only':case'first':while(node=node.previousSibling){if(node.nodeType===1)return false;}
+if(type=='first')return true;node=elem;case'last':while(node=node.nextSibling){if(node.nodeType===1)return false;}
+return true;case'nth':var first=match[2],last=match[3];if(first==1&&last==0){return true;}
+var doneName=match[0],parent=elem.parentNode;if(parent&&(parent.sizcache!==doneName||!elem.nodeIndex)){var count=0;for(node=parent.firstChild;node;node=node.nextSibling){if(node.nodeType===1){node.nodeIndex=++count;}}
+parent.sizcache=doneName;}
+var diff=elem.nodeIndex-last;if(first==0){return diff==0;}else{return(diff%first==0&&diff/first>=0);}}},ID:function(elem,match){return elem.nodeType===1&&elem.getAttribute("id")===match;},TAG:function(elem,match){return(match==="*"&&elem.nodeType===1)||elem.nodeName===match;},CLASS:function(elem,match){return(" "+(elem.className||elem.getAttribute("class"))+" ").indexOf(match)>-1;},ATTR:function(elem,match){var name=match[1],result=Expr.attrHandle[name]?Expr.attrHandle[name](elem):elem[name]!=null?elem[name]:elem.getAttribute(name),value=result+"",type=match[2],check=match[4];return result==null?type==="!=":type==="="?value===check:type==="*="?value.indexOf(check)>=0:type==="~="?(" "+value+" ").indexOf(check)>=0:!check?value&&result!==false:type==="!="?value!=check:type==="^="?value.indexOf(check)===0:type==="$="?value.substr(value.length-check.length)===check:type==="|="?value===check||value.substr(0,check.length+1)===check+"-":false;},POS:function(elem,match,i,array){var name=match[2],filter=Expr.setFilters[name];if(filter){return filter(elem,i,match,array);}}}};var origPOS=Expr.match.POS;for(var type in Expr.match){Expr.match[type]=RegExp(Expr.match[type].source+/(?![^\[]*\])(?![^\(]*\))/.source);}
+var makeArray=function(array,results){array=Array.prototype.slice.call(array);if(results){results.push.apply(results,array);return results;}
+return array;};try{Array.prototype.slice.call(document.documentElement.childNodes);}catch(e){makeArray=function(array,results){var ret=results||[];if(toString.call(array)==="[object Array]"){Array.prototype.push.apply(ret,array);}else{if(typeof array.length==="number"){for(var i=0,l=array.length;i<l;i++){ret.push(array[i]);}}else{for(var i=0;array[i];i++){ret.push(array[i]);}}}
+return ret;};}
+var sortOrder;if(document.documentElement.compareDocumentPosition){sortOrder=function(a,b){var ret=a.compareDocumentPosition(b)&4?-1:a===b?0:1;if(ret===0){hasDuplicate=true;}
+return ret;};}else if("sourceIndex"in document.documentElement){sortOrder=function(a,b){var ret=a.sourceIndex-b.sourceIndex;if(ret===0){hasDuplicate=true;}
+return ret;};}else if(document.createRange){sortOrder=function(a,b){var aRange=a.ownerDocument.createRange(),bRange=b.ownerDocument.createRange();aRange.selectNode(a);aRange.collapse(true);bRange.selectNode(b);bRange.collapse(true);var ret=aRange.compareBoundaryPoints(Range.START_TO_END,bRange);if(ret===0){hasDuplicate=true;}
+return ret;};}
+(function(){var form=document.createElement("form"),id="script"+(new Date).getTime();form.innerHTML="<input name='"+id+"'/>";var root=document.documentElement;root.insertBefore(form,root.firstChild);if(!!document.getElementById(id)){Expr.find.ID=function(match,context,isXML){if(typeof context.getElementById!=="undefined"&&!isXML){var m=context.getElementById(match[1]);return m?m.id===match[1]||typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id").nodeValue===match[1]?[m]:undefined:[];}};Expr.filter.ID=function(elem,match){var node=typeof elem.getAttributeNode!=="undefined"&&elem.getAttributeNode("id");return elem.nodeType===1&&node&&node.nodeValue===match;};}
+root.removeChild(form);})();(function(){var div=document.createElement("div");div.appendChild(document.createComment(""));if(div.getElementsByTagName("*").length>0){Expr.find.TAG=function(match,context){var results=context.getElementsByTagName(match[1]);if(match[1]==="*"){var tmp=[];for(var i=0;results[i];i++){if(results[i].nodeType===1){tmp.push(results[i]);}}
+results=tmp;}
+return results;};}
+div.innerHTML="<a href='#'></a>";if(div.firstChild&&typeof div.firstChild.getAttribute!=="undefined"&&div.firstChild.getAttribute("href")!=="#"){Expr.attrHandle.href=function(elem){return elem.getAttribute("href",2);};}})();if(document.querySelectorAll)(function(){var oldSizzle=Sizzle,div=document.createElement("div");div.innerHTML="<p class='TEST'></p>";if(div.querySelectorAll&&div.querySelectorAll(".TEST").length===0){return;}
+Sizzle=function(query,context,extra,seed){context=context||document;if(!seed&&context.nodeType===9&&!isXML(context)){try{return makeArray(context.querySelectorAll(query),extra);}catch(e){}}
+return oldSizzle(query,context,extra,seed);};Sizzle.find=oldSizzle.find;Sizzle.filter=oldSizzle.filter;Sizzle.selectors=oldSizzle.selectors;Sizzle.matches=oldSizzle.matches;})();if(document.getElementsByClassName&&document.documentElement.getElementsByClassName)(function(){var div=document.createElement("div");div.innerHTML="<div class='test e'></div><div class='test'></div>";if(div.getElementsByClassName("e").length===0)
+return;div.lastChild.className="e";if(div.getElementsByClassName("e").length===1)
+return;Expr.order.splice(1,0,"CLASS");Expr.find.CLASS=function(match,context,isXML){if(typeof context.getElementsByClassName!=="undefined"&&!isXML){return context.getElementsByClassName(match[1]);}};})();function dirNodeCheck(dir,cur,doneName,checkSet,nodeCheck,isXML){var sibDir=dir=="previousSibling"&&!isXML;for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){if(sibDir&&elem.nodeType===1){elem.sizcache=doneName;elem.sizset=i;}
+elem=elem[dir];var match=false;while(elem){if(elem.sizcache===doneName){match=checkSet[elem.sizset];break;}
+if(elem.nodeType===1&&!isXML){elem.sizcache=doneName;elem.sizset=i;}
+if(elem.nodeName===cur){match=elem;break;}
+elem=elem[dir];}
+checkSet[i]=match;}}}
+function dirCheck(dir,cur,doneName,checkSet,nodeCheck,isXML){var sibDir=dir=="previousSibling"&&!isXML;for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){if(sibDir&&elem.nodeType===1){elem.sizcache=doneName;elem.sizset=i;}
+elem=elem[dir];var match=false;while(elem){if(elem.sizcache===doneName){match=checkSet[elem.sizset];break;}
+if(elem.nodeType===1){if(!isXML){elem.sizcache=doneName;elem.sizset=i;}
+if(typeof cur!=="string"){if(elem===cur){match=true;break;}}else if(Sizzle.filter(cur,[elem]).length>0){match=elem;break;}}
+elem=elem[dir];}
+checkSet[i]=match;}}}
+var contains=document.compareDocumentPosition?function(a,b){return a.compareDocumentPosition(b)&16;}:function(a,b){return a!==b&&(a.contains?a.contains(b):true);};var isXML=function(elem){return elem.nodeType===9&&elem.documentElement.nodeName!=="HTML"||!!elem.ownerDocument&&isXML(elem.ownerDocument);};var posProcess=function(selector,context){var tmpSet=[],later="",match,root=context.nodeType?[context]:context;while((match=Expr.match.PSEUDO.exec(selector))){later+=match[0];selector=selector.replace(Expr.match.PSEUDO,"");}
+selector=Expr.relative[selector]?selector+"*":selector;for(var i=0,l=root.length;i<l;i++){Sizzle(selector,root[i],tmpSet);}
+return Sizzle.filter(later,tmpSet);};jQuery.find=Sizzle;jQuery.filter=Sizzle.filter;jQuery.expr=Sizzle.selectors;jQuery.expr[":"]=jQuery.expr.filters;Sizzle.selectors.filters.hidden=function(elem){return elem.offsetWidth===0||elem.offsetHeight===0;};Sizzle.selectors.filters.visible=function(elem){return elem.offsetWidth>0||elem.offsetHeight>0;};Sizzle.selectors.filters.animated=function(elem){return jQuery.grep(jQuery.timers,function(fn){return elem===fn.elem;}).length;};jQuery.multiFilter=function(expr,elems,not){if(not){expr=":not("+expr+")";}
+return Sizzle.matches(expr,elems);};jQuery.dir=function(elem,dir){var matched=[],cur=elem[dir];while(cur&&cur!=document){if(cur.nodeType==1)
+matched.push(cur);cur=cur[dir];}
+return matched;};jQuery.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;};jQuery.sibling=function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType==1&&n!=elem)
+r.push(n);}
+return r;};return;window.Sizzle=Sizzle;})();jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8)
+return;if(elem.setInterval&&elem!=window)
+elem=window;if(!handler.guid)
+handler.guid=this.guid++;if(data!==undefined){var fn=handler;handler=this.proxy(fn);handler.data=data;}
+var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){return typeof jQuery!=="undefined"&&!jQuery.event.triggered?jQuery.event.handle.apply(arguments.callee.elem,arguments):undefined;});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var namespaces=type.split(".");type=namespaces.shift();handler.type=namespaces.slice().sort().join(".");var handlers=events[type];if(jQuery.event.specialAll[type])
+jQuery.event.specialAll[type].setup.call(elem,data,namespaces);if(!handlers){handlers=events[type]={};if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem,data,namespaces)===false){if(elem.addEventListener)
+elem.addEventListener(type,handle,false);else if(elem.attachEvent)
+elem.attachEvent("on"+type,handle);}}
+handlers[handler.guid]=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8)
+return;var events=jQuery.data(elem,"events"),ret,index;if(events){if(types===undefined||(typeof types==="string"&&types.charAt(0)=="."))
+for(var type in events)
+this.remove(elem,type+(types||""));else{if(types.type){handler=types.handler;types=types.type;}
+jQuery.each(types.split(/\s+/),function(index,type){var namespaces=type.split(".");type=namespaces.shift();var namespace=RegExp("(^|\\.)"+namespaces.slice().sort().join(".*\\.")+"(\\.|$)");if(events[type]){if(handler)
+delete events[type][handler.guid];else
+for(var handle in events[type])
+if(namespace.test(events[type][handle].type))
+delete events[type][handle];if(jQuery.event.specialAll[type])
+jQuery.event.specialAll[type].teardown.call(elem,namespaces);for(ret in events[type])break;if(!ret){if(!jQuery.event.special[type]||jQuery.event.special[type].teardown.call(elem,namespaces)===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];}}});}
+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(event,data,elem,bubbling){var type=event.type||event;if(!bubbling){event=typeof event==="object"?event[expando]?event:jQuery.extend(jQuery.Event(type),event):jQuery.Event(type);if(type.indexOf("!")>=0){event.type=type=type.slice(0,-1);event.exclusive=true;}
+if(!elem){event.stopPropagation();if(this.global[type])
+jQuery.each(jQuery.cache,function(){if(this.events&&this.events[type])
+jQuery.event.trigger(event,data,this.handle.elem);});}
+if(!elem||elem.nodeType==3||elem.nodeType==8)
+return undefined;event.result=undefined;event.target=elem;data=jQuery.makeArray(data);data.unshift(event);}
+event.currentTarget=elem;var handle=jQuery.data(elem,"handle");if(handle)
+handle.apply(elem,data);if((!elem[type]||(jQuery.nodeName(elem,'a')&&type=="click"))&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)
+event.result=false;if(!bubbling&&elem[type]&&!event.isDefaultPrevented()&&!(jQuery.nodeName(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]();}catch(e){}}
+this.triggered=false;if(!event.isPropagationStopped()){var parent=elem.parentNode||elem.ownerDocument;if(parent)
+jQuery.event.trigger(event,data,parent,true);}},handle:function(event){var all,handlers;event=arguments[0]=jQuery.event.fix(event||window.event);event.currentTarget=this;var namespaces=event.type.split(".");event.type=namespaces.shift();all=!namespaces.length&&!event.exclusive;var namespace=RegExp("(^|\\.)"+namespaces.slice().sort().join(".*\\.")+"(\\.|$)");handlers=(jQuery.data(this,"events")||{})[event.type];for(var j in handlers){var handler=handlers[j];if(all||namespace.test(handler.type)){event.handler=handler;event.data=handler.data;var ret=handler.apply(this,arguments);if(ret!==undefined){event.result=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}
+if(event.isImmediatePropagationStopped())
+break;}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(event){if(event[expando])
+return event;var originalEvent=event;event=jQuery.Event(originalEvent);for(var i=this.props.length,prop;i;){prop=this.props[--i];event[prop]=originalEvent[prop];}
+if(!event.target)
+event.target=event.srcElement||document;if(event.target.nodeType==3)
+event.target=event.target.parentNode;if(!event.relatedTarget&&event.fromElement)
+event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;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);}
+if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode))
+event.which=event.charCode||event.keyCode;if(!event.metaKey&&event.ctrlKey)
+event.metaKey=event.ctrlKey;if(!event.which&&event.button)
+event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));return event;},proxy:function(fn,proxy){proxy=proxy||function(){return fn.apply(this,arguments);};proxy.guid=fn.guid=fn.guid||proxy.guid||this.guid++;return proxy;},special:{ready:{setup:bindReady,teardown:function(){}}},specialAll:{live:{setup:function(selector,namespaces){jQuery.event.add(this,namespaces[0],liveHandler);},teardown:function(namespaces){if(namespaces.length){var remove=0,name=RegExp("(^|\\.)"+namespaces[0]+"(\\.|$)");jQuery.each((jQuery.data(this,"events").live||{}),function(){if(name.test(this.type))
+remove++;});if(remove<1)
+jQuery.event.remove(this,namespaces[0],liveHandler);}}}}};jQuery.Event=function(src){if(!this.preventDefault)
+return new jQuery.Event(src);if(src&&src.type){this.originalEvent=src;this.type=src.type;}else
+this.type=src;this.timeStamp=now();this[expando]=true;};function returnFalse(){return false;}
+function returnTrue(){return true;}
+jQuery.Event.prototype={preventDefault:function(){this.isDefaultPrevented=returnTrue;var e=this.originalEvent;if(!e)
+return;if(e.preventDefault)
+e.preventDefault();e.returnValue=false;},stopPropagation:function(){this.isPropagationStopped=returnTrue;var e=this.originalEvent;if(!e)
+return;if(e.stopPropagation)
+e.stopPropagation();e.cancelBubble=true;},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=returnTrue;this.stopPropagation();},isDefaultPrevented:returnFalse,isPropagationStopped:returnFalse,isImmediatePropagationStopped:returnFalse};var withinElement=function(event){var parent=event.relatedTarget;while(parent&&parent!=this)
+try{parent=parent.parentNode;}
+catch(e){parent=this;}
+if(parent!=this){event.type=event.data;jQuery.event.handle.apply(this,arguments);}};jQuery.each({mouseover:'mouseenter',mouseout:'mouseleave'},function(orig,fix){jQuery.event.special[fix]={setup:function(){jQuery.event.add(this,orig,withinElement,fix);},teardown:function(){jQuery.event.remove(this,orig,withinElement);}};});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){var one=jQuery.event.proxy(fn||data,function(event){jQuery(this).unbind(event,one);return(fn||data).apply(this,arguments);});return this.each(function(){jQuery.event.add(this,type,one,fn&&data);});},unbind:function(type,fn){return this.each(function(){jQuery.event.remove(this,type,fn);});},trigger:function(type,data){return this.each(function(){jQuery.event.trigger(type,data,this);});},triggerHandler:function(type,data){if(this[0]){var event=jQuery.Event(type);event.preventDefault();event.stopPropagation();jQuery.event.trigger(event,data,this[0]);return event.result;}},toggle:function(fn){var args=arguments,i=1;while(i<args.length)
+jQuery.event.proxy(fn,args[i++]);return this.click(jQuery.event.proxy(fn,function(event){this.lastToggle=(this.lastToggle||0)%i;event.preventDefault();return args[this.lastToggle++].apply(this,arguments)||false;}));},hover:function(fnOver,fnOut){return this.mouseenter(fnOver).mouseleave(fnOut);},ready:function(fn){bindReady();if(jQuery.isReady)
+fn.call(document,jQuery);else
+jQuery.readyList.push(fn);return this;},live:function(type,fn){var proxy=jQuery.event.proxy(fn);proxy.guid+=this.selector+type;jQuery(document).bind(liveConvert(type,this.selector),this.selector,proxy);return this;},die:function(type,fn){jQuery(document).unbind(liveConvert(type,this.selector),fn?{guid:fn.guid+this.selector+type}:null);return this;}});function liveHandler(event){var check=RegExp("(^|\\.)"+event.type+"(\\.|$)"),stop=true,elems=[];jQuery.each(jQuery.data(this,"events").live||[],function(i,fn){if(check.test(fn.type)){var elem=jQuery(event.target).closest(fn.data)[0];if(elem)
+elems.push({elem:elem,fn:fn});}});elems.sort(function(a,b){return jQuery.data(a.elem,"closest")-jQuery.data(b.elem,"closest");});jQuery.each(elems,function(){if(this.fn.call(this.elem,event,this.fn.data)===false)
+return(stop=false);});return stop;}
+function liveConvert(type,selector){return["live",type,selector.replace(/\./g,"`").replace(/ /g,"|")].join(".");}
+jQuery.extend({isReady:false,readyList:[],ready:function(){if(!jQuery.isReady){jQuery.isReady=true;if(jQuery.readyList){jQuery.each(jQuery.readyList,function(){this.call(document,jQuery);});jQuery.readyList=null;}
+jQuery(document).triggerHandler("ready");}}});var readyBound=false;function bindReady(){if(readyBound)return;readyBound=true;if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);jQuery.ready();},false);}else if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);jQuery.ready();}});if(document.documentElement.doScroll&&window==window.top)(function(){if(jQuery.isReady)return;try{document.documentElement.doScroll("left");}catch(error){setTimeout(arguments.callee,0);return;}
+jQuery.ready();})();}
+jQuery.event.add(window,"load",jQuery.ready);}
+jQuery.each(("blur,focus,load,resize,scroll,unload,click,dblclick,"+"mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,"+"change,select,submit,keydown,keypress,keyup,error").split(","),function(i,name){jQuery.fn[name]=function(fn){return fn?this.bind(name,fn):this.trigger(name);};});jQuery(window).bind('unload',function(){for(var id in jQuery.cache)
+if(id!=1&&jQuery.cache[id].handle)
+jQuery.event.remove(jQuery.cache[id].handle.elem);});(function(){jQuery.support={};var root=document.documentElement,script=document.createElement("script"),div=document.createElement("div"),id="script"+(new Date).getTime();div.style.display="none";div.innerHTML='   <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';var all=div.getElementsByTagName("*"),a=div.getElementsByTagName("a")[0];if(!all||!all.length||!a){return;}
+jQuery.support={leadingWhitespace:div.firstChild.nodeType==3,tbody:!div.getElementsByTagName("tbody").length,objectAll:!!div.getElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSerialize:!!div.getElementsByTagName("link").length,style:/red/.test(a.getAttribute("style")),hrefNormalized:a.getAttribute("href")==="/a",opacity:a.style.opacity==="0.5",cssFloat:!!a.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};script.type="text/javascript";try{script.appendChild(document.createTextNode("window."+id+"=1;"));}catch(e){}
+root.insertBefore(script,root.firstChild);if(window[id]){jQuery.support.scriptEval=true;delete window[id];}
+root.removeChild(script);if(div.attachEvent&&div.fireEvent){div.attachEvent("onclick",function(){jQuery.support.noCloneEvent=false;div.detachEvent("onclick",arguments.callee);});div.cloneNode(true).fireEvent("onclick");}
+jQuery(function(){var div=document.createElement("div");div.style.width=div.style.paddingLeft="1px";document.body.appendChild(div);jQuery.boxModel=jQuery.support.boxModel=div.offsetWidth===2;document.body.removeChild(div).style.display='none';});})();var styleFloat=jQuery.support.cssFloat?"cssFloat":"styleFloat";jQuery.props={"for":"htmlFor","class":"className","float":styleFloat,cssFloat:styleFloat,styleFloat:styleFloat,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};jQuery.fn.extend({_load:jQuery.fn.load,load:function(url,params,callback){if(typeof url!=="string")
+return this._load(url);var off=url.indexOf(" ");if(off>=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}
+var type="GET";if(params)
+if(jQuery.isFunction(params)){callback=params;params=null;}else if(typeof params==="object"){params=jQuery.param(params);type="POST";}
+var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified")
+self.html(selector?jQuery("<div/>").append(res.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(selector):res.responseText);if(callback)
+self.each(callback,[res.responseText,status,res]);}});return this;},serialize:function(){return jQuery.param(this.serializeArray());},serializeArray:function(){return this.map(function(){return this.elements?jQuery.makeArray(this.elements):this;}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type));}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:jQuery.isArray(val)?jQuery.map(val,function(val,i){return{name:elem.name,value:val};}):{name:elem.name,value:val};}).get();}});jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=now();jQuery.extend({get:function(url,data,callback,type){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:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(s){s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));var jsonp,jsre=/=\?(&|$)/g,status,data,type=s.type.toUpperCase();if(s.data&&s.processData&&typeof s.data!=="string")
+s.data=jQuery.param(s.data);if(s.dataType=="jsonp"){if(type=="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";}
+if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++;if(s.data)
+s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";window[jsonp]=function(tmp){data=tmp;success();complete();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&&type=="GET"){var ts=now();var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"");}
+if(s.data&&type=="GET"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data;s.data=null;}
+if(s.global&&!jQuery.active++)
+jQuery.event.trigger("ajaxStart");var parts=/^(\w+:)?\/\/([^\/?#]+)/.exec(s.url);if(s.dataType=="script"&&type=="GET"&&parts&&(parts[1]&&parts[1]!=location.protocol||parts[2]!=location.host)){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=s.url;if(s.scriptCharset)
+script.charset=s.scriptCharset;if(!jsonp){var done=false;script.onload=script.onreadystatechange=function(){if(!done&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){done=true;success();complete();script.onload=script.onreadystatechange=null;head.removeChild(script);}};}
+head.appendChild(script);return undefined;}
+var requestDone=false;var xhr=s.xhr();if(s.username)
+xhr.open(type,s.url,s.async,s.username,s.password);else
+xhr.open(type,s.url,s.async);try{if(s.data)
+xhr.setRequestHeader("Content-Type",s.contentType);if(s.ifModified)
+xhr.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");xhr.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default);}catch(e){}
+if(s.beforeSend&&s.beforeSend(xhr,s)===false){if(s.global&&!--jQuery.active)
+jQuery.event.trigger("ajaxStop");xhr.abort();return false;}
+if(s.global)
+jQuery.event.trigger("ajaxSend",[xhr,s]);var onreadystatechange=function(isTimeout){if(xhr.readyState==0){if(ival){clearInterval(ival);ival=null;if(s.global&&!--jQuery.active)
+jQuery.event.trigger("ajaxStop");}}else if(!requestDone&&xhr&&(xhr.readyState==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival=null;}
+status=isTimeout=="timeout"?"timeout":!jQuery.httpSuccess(xhr)?"error":s.ifModified&&jQuery.httpNotModified(xhr,s.url)?"notmodified":"success";if(status=="success"){try{data=jQuery.httpData(xhr,s.dataType,s);}catch(e){status="parsererror";}}
+if(status=="success"){var modRes;try{modRes=xhr.getResponseHeader("Last-Modified");}catch(e){}
+if(s.ifModified&&modRes)
+jQuery.lastModified[s.url]=modRes;if(!jsonp)
+success();}else
+jQuery.handleError(s,xhr,status);complete();if(isTimeout)
+xhr.abort();if(s.async)
+xhr=null;}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout>0)
+setTimeout(function(){if(xhr&&!requestDone)
+onreadystatechange("timeout");},s.timeout);}
+try{xhr.send(s.data);}catch(e){jQuery.handleError(s,xhr,null,e);}
+if(!s.async)
+onreadystatechange();function success(){if(s.success)
+s.success(data,status);if(s.global)
+jQuery.event.trigger("ajaxSuccess",[xhr,s]);}
+function complete(){if(s.complete)
+s.complete(xhr,status);if(s.global)
+jQuery.event.trigger("ajaxComplete",[xhr,s]);if(s.global&&!--jQuery.active)
+jQuery.event.trigger("ajaxStop");}
+return xhr;},handleError:function(s,xhr,status,e){if(s.error)s.error(xhr,status,e);if(s.global)
+jQuery.event.trigger("ajaxError",[xhr,s,e]);},active:0,httpSuccess:function(xhr){try{return!xhr.status&&location.protocol=="file:"||(xhr.status>=200&&xhr.status<300)||xhr.status==304||xhr.status==1223;}catch(e){}
+return false;},httpNotModified:function(xhr,url){try{var xhrRes=xhr.getResponseHeader("Last-Modified");return xhr.status==304||xhrRes==jQuery.lastModified[url];}catch(e){}
+return false;},httpData:function(xhr,type,s){var ct=xhr.getResponseHeader("content-type"),xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0,data=xml?xhr.responseXML:xhr.responseText;if(xml&&data.documentElement.tagName=="parsererror")
+throw"parsererror";if(s&&s.dataFilter)
+data=s.dataFilter(data,type);if(typeof data==="string"){if(type=="script")
+jQuery.globalEval(data);if(type=="json")
+data=window["eval"]("("+data+")");}
+return data;},param:function(a){var s=[];function add(key,value){s[s.length]=encodeURIComponent(key)+'='+encodeURIComponent(value);};if(jQuery.isArray(a)||a.jquery)
+jQuery.each(a,function(){add(this.name,this.value);});else
+for(var j in a)
+if(jQuery.isArray(a[j]))
+jQuery.each(a[j],function(){add(j,this);});else
+add(j,jQuery.isFunction(a[j])?a[j]():a[j]);return s.join("&").replace(/%20/g,"+");}});var elemdisplay={},timerId,fxAttrs=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function genFx(type,num){var obj={};jQuery.each(fxAttrs.concat.apply([],fxAttrs.slice(0,num)),function(){obj[this]=type;});return obj;}
+jQuery.fn.extend({show:function(speed,callback){if(speed){return this.animate(genFx("show",3),speed,callback);}else{for(var i=0,l=this.length;i<l;i++){var old=jQuery.data(this[i],"olddisplay");this[i].style.display=old||"";if(jQuery.css(this[i],"display")==="none"){var tagName=this[i].tagName,display;if(elemdisplay[tagName]){display=elemdisplay[tagName];}else{var elem=jQuery("<"+tagName+" />").appendTo("body");display=elem.css("display");if(display==="none")
+display="block";elem.remove();elemdisplay[tagName]=display;}
+jQuery.data(this[i],"olddisplay",display);}}
+for(var i=0,l=this.length;i<l;i++){this[i].style.display=jQuery.data(this[i],"olddisplay")||"";}
+return this;}},hide:function(speed,callback){if(speed){return this.animate(genFx("hide",3),speed,callback);}else{for(var i=0,l=this.length;i<l;i++){var old=jQuery.data(this[i],"olddisplay");if(!old&&old!=="none")
+jQuery.data(this[i],"olddisplay",jQuery.css(this[i],"display"));}
+for(var i=0,l=this.length;i<l;i++){this[i].style.display="none";}
+return this;}},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){var bool=typeof fn==="boolean";return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle.apply(this,arguments):fn==null||bool?this.each(function(){var state=bool?fn:jQuery(this).is(":hidden");jQuery(this)[state?"show":"hide"]();}):this.animate(genFx("toggle",3),fn,fn2);},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(){var opt=jQuery.extend({},optall),p,hidden=this.nodeType==1&&jQuery(this).is(":hidden"),self=this;for(p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)
+return opt.complete.call(this);if((p=="height"||p=="width")&&this.style){opt.display=jQuery.css(this,"display");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";if(unit!="px"){self.style[name]=(end||1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit;}
+if(parts[1])
+end=((parts[1]=="-="?-1:1)*end)+start;e.custom(start,end,unit);}else
+e.custom(start,val,"");}});return true;});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue)
+this.queue([]);this.each(function(){for(var i=timers.length-1;i>=0;i--)
+if(timers[i].elem==this){if(gotoEnd)
+timers[i](true);timers.splice(i,1);}});if(!gotoEnd)
+this.dequeue();return this;}});jQuery.each({slideDown:genFx("show",1),slideUp:genFx("hide",1),slideToggle:genFx("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(name,props){jQuery.fn[name]=function(speed,callback){return this.animate(props,speed,callback);};});jQuery.extend({speed:function(speed,easing,fn){var opt=typeof speed==="object"?speed:{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&!jQuery.isFunction(easing)&&easing};opt.duration=jQuery.fx.off?0:typeof opt.duration==="number"?opt.duration:jQuery.fx.speeds[opt.duration]||jQuery.fx.speeds._default;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false)
+jQuery(this).dequeue();if(jQuery.isFunction(opt.old))
+opt.old.call(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:[],fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;if(!options.orig)
+options.orig={};}});jQuery.fx.prototype={update:function(){if(this.options.step)
+this.options.step.call(this.elem,this.now,this);(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style)
+this.elem.style.display="block";},cur:function(force){if(this.elem[this.prop]!=null&&(!this.elem.style||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;},custom:function(from,to,unit){this.startTime=now();this.start=from;this.end=to;this.unit=unit||this.unit||"px";this.now=this.start;this.pos=this.state=0;var self=this;function t(gotoEnd){return self.step(gotoEnd);}
+t.elem=this.elem;if(t()&&jQuery.timers.push(t)&&!timerId){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(timerId);timerId=undefined;}},13);}},show:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.show=true;this.custom(this.prop=="width"||this.prop=="height"?1:0,this.cur());jQuery(this.elem).show();},hide:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0);},step:function(gotoEnd){var t=now();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){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,"display")=="none")
+this.elem.style.display="block";}
+if(this.options.hide)
+jQuery(this.elem).hide();if(this.options.hide||this.options.show)
+for(var p in this.options.curAnim)
+jQuery.attr(this.elem.style,p,this.options.orig[p]);this.options.complete.call(this.elem);}
+return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;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);this.update();}
+return true;}};jQuery.extend(jQuery.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(fx){jQuery.attr(fx.elem.style,"opacity",fx.now);},_default:function(fx){if(fx.elem.style&&fx.elem.style[fx.prop]!=null)
+fx.elem.style[fx.prop]=fx.now+fx.unit;else
+fx.elem[fx.prop]=fx.now;}}});if(document.documentElement["getBoundingClientRect"])
+jQuery.fn.offset=function(){if(!this[0])return{top:0,left:0};if(this[0]===this[0].ownerDocument.body)return jQuery.offset.bodyOffset(this[0]);var box=this[0].getBoundingClientRect(),doc=this[0].ownerDocument,body=doc.body,docElem=doc.documentElement,clientTop=docElem.clientTop||body.clientTop||0,clientLeft=docElem.clientLeft||body.clientLeft||0,top=box.top+(self.pageYOffset||jQuery.boxModel&&docElem.scrollTop||body.scrollTop)-clientTop,left=box.left+(self.pageXOffset||jQuery.boxModel&&docElem.scrollLeft||body.scrollLeft)-clientLeft;return{top:top,left:left};};else
+jQuery.fn.offset=function(){if(!this[0])return{top:0,left:0};if(this[0]===this[0].ownerDocument.body)return jQuery.offset.bodyOffset(this[0]);jQuery.offset.initialized||jQuery.offset.initialize();var elem=this[0],offsetParent=elem.offsetParent,prevOffsetParent=elem,doc=elem.ownerDocument,computedStyle,docElem=doc.documentElement,body=doc.body,defaultView=doc.defaultView,prevComputedStyle=defaultView.getComputedStyle(elem,null),top=elem.offsetTop,left=elem.offsetLeft;while((elem=elem.parentNode)&&elem!==body&&elem!==docElem){computedStyle=defaultView.getComputedStyle(elem,null);top-=elem.scrollTop,left-=elem.scrollLeft;if(elem===offsetParent){top+=elem.offsetTop,left+=elem.offsetLeft;if(jQuery.offset.doesNotAddBorder&&!(jQuery.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(elem.tagName)))
+top+=parseInt(computedStyle.borderTopWidth,10)||0,left+=parseInt(computedStyle.borderLeftWidth,10)||0;prevOffsetParent=offsetParent,offsetParent=elem.offsetParent;}
+if(jQuery.offset.subtractsBorderForOverflowNotVisible&&computedStyle.overflow!=="visible")
+top+=parseInt(computedStyle.borderTopWidth,10)||0,left+=parseInt(computedStyle.borderLeftWidth,10)||0;prevComputedStyle=computedStyle;}
+if(prevComputedStyle.position==="relative"||prevComputedStyle.position==="static")
+top+=body.offsetTop,left+=body.offsetLeft;if(prevComputedStyle.position==="fixed")
+top+=Math.max(docElem.scrollTop,body.scrollTop),left+=Math.max(docElem.scrollLeft,body.scrollLeft);return{top:top,left:left};};jQuery.offset={initialize:function(){if(this.initialized)return;var body=document.body,container=document.createElement('div'),innerDiv,checkDiv,table,td,rules,prop,bodyMarginTop=body.style.marginTop,html='<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';rules={position:'absolute',top:0,left:0,margin:0,border:0,width:'1px',height:'1px',visibility:'hidden'};for(prop in rules)container.style[prop]=rules[prop];container.innerHTML=html;body.insertBefore(container,body.firstChild);innerDiv=container.firstChild,checkDiv=innerDiv.firstChild,td=innerDiv.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(checkDiv.offsetTop!==5);this.doesAddBorderForTableAndCells=(td.offsetTop===5);innerDiv.style.overflow='hidden',innerDiv.style.position='relative';this.subtractsBorderForOverflowNotVisible=(checkDiv.offsetTop===-5);body.style.marginTop='1px';this.doesNotIncludeMarginInBodyOffset=(body.offsetTop===0);body.style.marginTop=bodyMarginTop;body.removeChild(container);this.initialized=true;},bodyOffset:function(body){jQuery.offset.initialized||jQuery.offset.initialize();var top=body.offsetTop,left=body.offsetLeft;if(jQuery.offset.doesNotIncludeMarginInBodyOffset)
+top+=parseInt(jQuery.curCSS(body,'marginTop',true),10)||0,left+=parseInt(jQuery.curCSS(body,'marginLeft',true),10)||0;return{top:top,left:left};}};jQuery.fn.extend({position:function(){var left=0,top=0,results;if(this[0]){var offsetParent=this.offsetParent(),offset=this.offset(),parentOffset=/^body|html$/i.test(offsetParent[0].tagName)?{top:0,left:0}:offsetParent.offset();offset.top-=num(this,'marginTop');offset.left-=num(this,'marginLeft');parentOffset.top+=num(offsetParent,'borderTopWidth');parentOffset.left+=num(offsetParent,'borderLeftWidth');results={top:offset.top-parentOffset.top,left:offset.left-parentOffset.left};}
+return results;},offsetParent:function(){var offsetParent=this[0].offsetParent||document.body;while(offsetParent&&(!/^body|html$/i.test(offsetParent.tagName)&&jQuery.css(offsetParent,'position')=='static'))
+offsetParent=offsetParent.offsetParent;return jQuery(offsetParent);}});jQuery.each(['Left','Top'],function(i,name){var method='scroll'+name;jQuery.fn[method]=function(val){if(!this[0])return null;return val!==undefined?this.each(function(){this==window||this==document?window.scrollTo(!i?val:jQuery(window).scrollLeft(),i?val:jQuery(window).scrollTop()):this[method]=val;}):this[0]==window||this[0]==document?self[i?'pageYOffset':'pageXOffset']||jQuery.boxModel&&document.documentElement[method]||document.body[method]:this[0][method];};});jQuery.each(["Height","Width"],function(i,name){var tl=i?"Left":"Top",br=i?"Right":"Bottom",lower=name.toLowerCase();jQuery.fn["inner"+name]=function(){return this[0]?jQuery.css(this[0],lower,false,"padding"):null;};jQuery.fn["outer"+name]=function(margin){return this[0]?jQuery.css(this[0],lower,false,margin?"margin":"border"):null;};var type=name.toLowerCase();jQuery.fn[type]=function(size){return this[0]==window?document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(document.documentElement["client"+name],document.body["scroll"+name],document.documentElement["scroll"+name],document.body["offset"+name],document.documentElement["offset"+name]):size===undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,typeof size==="string"?size:size+"px");};});})();(function($){$.fn.ajaxSubmit=function(options){if(!this.length){log('ajaxSubmit: skipping submit process - no element selected');return this;}
+if(typeof options=='function')
+options={success:options};options=$.extend({url:this.attr('action')||window.location.toString(),type:this.attr('method')||'GET'},options||{});var veto={};this.trigger('form-pre-serialize',[this,options,veto]);if(veto.veto){log('ajaxSubmit: submit vetoed via form-pre-serialize trigger');return this;}
+var a=this.formToArray(options.semantic);if(options.data){options.extraData=options.data;for(var n in options.data)
+a.push({name:n,value:options.data[n]});}
+if(options.beforeSubmit&&options.beforeSubmit(a,this,options)===false){log('ajaxSubmit: submit aborted via beforeSubmit callback');return this;}
+this.trigger('form-submit-validate',[a,this,options,veto]);if(veto.veto){log('ajaxSubmit: submit vetoed via form-submit-validate trigger');return this;}
+var q=$.param(a);if(options.type.toUpperCase()=='GET'){options.url+=(options.url.indexOf('?')>=0?'&':'?')+q;options.data=null;}
+else
+options.data=q;var $form=this,callbacks=[];if(options.resetForm)callbacks.push(function(){$form.resetForm();});if(options.clearForm)callbacks.push(function(){$form.clearForm();});if(!options.dataType&&options.target){var oldSuccess=options.success||function(){};callbacks.push(function(data){$(options.target).html(data).each(oldSuccess,arguments);});}
+else if(options.success)
+callbacks.push(options.success);options.success=function(data,status){for(var i=0,max=callbacks.length;i<max;i++)
+callbacks[i](data,status,$form);};var files=$('input:file',this).fieldValue();var found=false;for(var j=0;j<files.length;j++)
+if(files[j])
+found=true;if(options.iframe||found){if($.browser.safari&&options.closeKeepAlive)
+$.get(options.closeKeepAlive,fileUpload);else
+fileUpload();}
+else
+$.ajax(options);this.trigger('form-submit-notify',[this,options]);return this;function fileUpload(){var form=$form[0];if($(':input[@name=submit]',form).length){alert('Error: Form elements must not be named "submit".');return;}
+var opts=$.extend({},$.ajaxSettings,options);var id='jqFormIO'+(new Date().getTime());var $io=$('<iframe id="'+id+'" name="'+id+'" />');var io=$io[0];if($.browser.msie||$.browser.opera)
+io.src='javascript:false;document.write("");';$io.css({position:'absolute',top:'-1000px',left:'-1000px'});var xhr={responseText:null,responseXML:null,status:0,statusText:'n/a',getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){}};var g=opts.global;if(g&&!$.active++)$.event.trigger("ajaxStart");if(g)$.event.trigger("ajaxSend",[xhr,opts]);var cbInvoked=0;var timedOut=0;var sub=form.clk;if(sub){var n=sub.name;if(n&&!sub.disabled){options.extraData=options.extraData||{};options.extraData[n]=sub.value;if(sub.type=="image"){options.extraData[name+'.x']=form.clk_x;options.extraData[name+'.y']=form.clk_y;}}}
+setTimeout(function(){var t=$form.attr('target'),a=$form.attr('action');$form.attr({target:id,encoding:'multipart/form-data',enctype:'multipart/form-data',method:'POST',action:opts.url});if(opts.timeout)
+setTimeout(function(){timedOut=true;cb();},opts.timeout);var extraInputs=[];try{if(options.extraData)
+for(var n in options.extraData)
+extraInputs.push($('<input type="hidden" name="'+n+'" value="'+options.extraData[n]+'" />').appendTo(form)[0]);$io.appendTo('body');io.attachEvent?io.attachEvent('onload',cb):io.addEventListener('load',cb,false);form.submit();}
+finally{$form.attr('action',a);t?$form.attr('target',t):$form.removeAttr('target');$(extraInputs).remove();}},10);function cb(){if(cbInvoked++)return;io.detachEvent?io.detachEvent('onload',cb):io.removeEventListener('load',cb,false);var operaHack=0;var ok=true;try{if(timedOut)throw'timeout';var data,doc;doc=io.contentWindow?io.contentWindow.document:io.contentDocument?io.contentDocument:io.document;if(doc.body==null&&!operaHack&&$.browser.opera){operaHack=1;cbInvoked--;setTimeout(cb,100);return;}
+xhr.responseText=doc.body?doc.body.innerHTML:null;xhr.responseXML=doc.XMLDocument?doc.XMLDocument:doc;xhr.getResponseHeader=function(header){var headers={'content-type':opts.dataType};return headers[header];};if(opts.dataType=='json'||opts.dataType=='script'){var ta=doc.getElementsByTagName('textarea')[0];xhr.responseText=ta?ta.value:xhr.responseText;}
+else if(opts.dataType=='xml'&&!xhr.responseXML&&xhr.responseText!=null){xhr.responseXML=toXml(xhr.responseText);}
+data=$.httpData(xhr,opts.dataType);}
+catch(e){ok=false;$.handleError(opts,xhr,'error',e);}
+if(ok){opts.success(data,'success');if(g)$.event.trigger("ajaxSuccess",[xhr,opts]);}
+if(g)$.event.trigger("ajaxComplete",[xhr,opts]);if(g&&!--$.active)$.event.trigger("ajaxStop");if(opts.complete)opts.complete(xhr,ok?'success':'error');setTimeout(function(){$io.remove();xhr.responseXML=null;},100);};function toXml(s,doc){if(window.ActiveXObject){doc=new ActiveXObject('Microsoft.XMLDOM');doc.async='false';doc.loadXML(s);}
+else
+doc=(new DOMParser()).parseFromString(s,'text/xml');return(doc&&doc.documentElement&&doc.documentElement.tagName!='parsererror')?doc:null;};};};$.fn.ajaxForm=function(options){return this.ajaxFormUnbind().bind('submit.form-plugin',function(){$(this).ajaxSubmit(options);return false;}).each(function(){$(":submit,input:image",this).bind('click.form-plugin',function(e){var $form=this.form;$form.clk=this;if(this.type=='image'){if(e.offsetX!=undefined){$form.clk_x=e.offsetX;$form.clk_y=e.offsetY;}else if(typeof $.fn.offset=='function'){var offset=$(this).offset();$form.clk_x=e.pageX-offset.left;$form.clk_y=e.pageY-offset.top;}else{$form.clk_x=e.pageX-this.offsetLeft;$form.clk_y=e.pageY-this.offsetTop;}}
+setTimeout(function(){$form.clk=$form.clk_x=$form.clk_y=null;},10);});});};$.fn.ajaxFormUnbind=function(){this.unbind('submit.form-plugin');return this.each(function(){$(":submit,input:image",this).unbind('click.form-plugin');});};$.fn.formToArray=function(semantic){var a=[];if(this.length==0)return a;var form=this[0];var els=semantic?form.getElementsByTagName('*'):form.elements;if(!els)return a;for(var i=0,max=els.length;i<max;i++){var el=els[i];var n=el.name;if(!n)continue;if(semantic&&form.clk&&el.type=="image"){if(!el.disabled&&form.clk==el)
+a.push({name:n+'.x',value:form.clk_x},{name:n+'.y',value:form.clk_y});continue;}
+var v=$.fieldValue(el,true);if(v&&v.constructor==Array){for(var j=0,jmax=v.length;j<jmax;j++)
+a.push({name:n,value:v[j]});}
+else if(v!==null&&typeof v!='undefined')
+a.push({name:n,value:v});}
+if(!semantic&&form.clk){var inputs=form.getElementsByTagName("input");for(var i=0,max=inputs.length;i<max;i++){var input=inputs[i];var n=input.name;if(n&&!input.disabled&&input.type=="image"&&form.clk==input)
+a.push({name:n+'.x',value:form.clk_x},{name:n+'.y',value:form.clk_y});}}
+return a;};$.fn.formSerialize=function(semantic){return $.param(this.formToArray(semantic));};$.fn.fieldSerialize=function(successful){var a=[];this.each(function(){var n=this.name;if(!n)return;var v=$.fieldValue(this,successful);if(v&&v.constructor==Array){for(var i=0,max=v.length;i<max;i++)
+a.push({name:n,value:v[i]});}
+else if(v!==null&&typeof v!='undefined')
+a.push({name:this.name,value:v});});return $.param(a);};$.fn.fieldValue=function(successful){for(var val=[],i=0,max=this.length;i<max;i++){var el=this[i];var v=$.fieldValue(el,successful);if(v===null||typeof v=='undefined'||(v.constructor==Array&&!v.length))
+continue;v.constructor==Array?$.merge(val,v):val.push(v);}
+return val;};$.fieldValue=function(el,successful){var n=el.name,t=el.type,tag=el.tagName.toLowerCase();if(typeof successful=='undefined')successful=true;if(successful&&(!n||el.disabled||t=='reset'||t=='button'||(t=='checkbox'||t=='radio')&&!el.checked||(t=='submit'||t=='image')&&el.form&&el.form.clk!=el||tag=='select'&&el.selectedIndex==-1))
+return null;if(tag=='select'){var index=el.selectedIndex;if(index<0)return null;var a=[],ops=el.options;var one=(t=='select-one');var max=(one?index+1:ops.length);for(var i=(one?index:0);i<max;i++){var op=ops[i];if(op.selected){var v=$.browser.msie&&!(op.attributes['value'].specified)?op.text:op.value;if(one)return v;a.push(v);}}
+return a;}
+return el.value;};$.fn.clearForm=function(){return this.each(function(){$('input,select,textarea',this).clearFields();});};$.fn.clearFields=$.fn.clearInputs=function(){return this.each(function(){var t=this.type,tag=this.tagName.toLowerCase();if(t=='text'||t=='password'||tag=='textarea')
+this.value='';else if(t=='checkbox'||t=='radio')
+this.checked=false;else if(tag=='select')
+this.selectedIndex=-1;});};$.fn.resetForm=function(){return this.each(function(){if(typeof this.reset=='function'||(typeof this.reset=='object'&&!this.reset.nodeType))
+this.reset();});};$.fn.enable=function(b){if(b==undefined)b=true;return this.each(function(){this.disabled=!b});};$.fn.select=function(select){if(select==undefined)select=true;return this.each(function(){var t=this.type;if(t=='checkbox'||t=='radio')
+this.checked=select;else if(this.tagName.toLowerCase()=='option'){var $sel=$(this).parent('select');if(select&&$sel[0]&&$sel[0].type=='select-one'){$sel.find('option').select(false);}
+this.selected=select;}});};function log(){if($.fn.ajaxSubmit.debug&&window.console&&window.console.log)
+window.console.log('[jquery.form] '+Array.prototype.join.call(arguments,''));};})(jQuery);var TO_LOAD_INDEX=0;var TO_LOAD=new Array;var MARKITUP=false;var UNBIND=false;var GOTOAFTERSUBMIT='';$(function(){load_jquery();});function load_jquery(){if(UNBIND){if(MARKITUP){$("*").not(".markItUpButton").unbind();}else{$("*").unbind();}}
+UNBIND=true;$("a.submit").click(function(){$(this).parents("form").submit();if($(this).attr('href')!='#'){GOTOAFTERSUBMIT=$(this).attr('href');}
+return false;});$("a.submitOnce").click(function(){$(this).parents("form").submit();$(this).unbind('click');return false;});$("a.submitWait").click(function(){$(this).parents("form").after('<p class="center">'+$(this).attr('title')+'<br /><br /><img src="'+IMG_CUBE+'/loader.gif" /></p>');$(this).parents("form").submit();$(this).parents("form").hide();return false;});$("form").submit(function(){$(this).attr('change','0');return true;});$("form.blank").each(function(){$(this).attr('target','_blank');$(this).removeClass('_blank');});$("form").not(".notajax").submit(function(){display_loader();$(this).ajaxSubmit({url:SITE_PATH+'ajax/'+$(this).attr('action'),success:function(data){MyAjax(data);if(GOTOAFTERSUBMIT!=''){window.location=GOTOAFTERSUBMIT;GOTOAFTERSUBMIT='';}}});return false;});$(".notajax form").unbind();$("form.submitonchange :input").each(function(){$(this).one('change',function(){$(this).parents("form").submit();});});$(":input").change(function(){$(this).parents("form").attr("change",1);});$("a.ajax").click(function(){var title=$(this).attr('title');var href=$(this).attr('rel');if(title!=''&&title!=undefined&&title.search(/\?/)>-1){if(!window.confirm(title)){return false;}}
+if($(this).hasClass('wait')){wait();}
+display_loader();$.ajax({url:SITE_PATH+'ajax/'+href,success:function(data){MyAjax(data);}});return false;});$("a.dajax").dblclick(function(){var title=$(this).attr('title');var href=$(this).attr('rel');if(title!=''&&title!=undefined&&title.search(/\?/)>=0){if(!window.confirm(title)){return false;}}
+display_loader();$.ajax({url:SITE_PATH+'ajax/'+href,success:function(data){MyAjax(data);}});return false;});$("a.ajaxh").click(function(){var title=$(this).attr('title');var href=$(this).attr('href');if(title!=''&&title!=undefined&&title.search(/\?/)>=0){if(!window.confirm(title)){return false;}}
+display_loader();$.ajax({url:href,success:function(data){MyAjax(data);}});return false;});$("a.prompt").click(function(){var href=$(this).attr('rel');var defaut=$(this).attr('rev');var name=window.prompt($(this).attr('title'),defaut);if(name==null||name=='null'||name==''){return false;}
+display_loader();$.ajax({url:SITE_PATH+'ajax/'+href+'?var='+name,success:function(data){MyAjax(data);}});return false;});$("a.closePopup").click(function(){closePopup($(this),true);return false;});$("a.closePopupNotConfirm").click(function(){closePopup($(this),false);return false;});$("a.popup").click(function(){display_loader();$.ajax({url:SITE_PATH+'ajax/'+$(this).attr('rel'),dataType:'responseText',success:function(data){createPopup(data);}});remove_loader();return false;});$("a.changepopup").click(function(){display_loader();$.ajax({url:SITE_PATH+'ajax/'+$(this).attr('rel'),dataType:'responseText',success:function(data){changepopup(data);load_jquery();}});remove_loader();return false;});$("a.blank").click(function(){$(this).attr('target','_blank');return true;});$("a.nothing").click(function(){return false;});$(".pemail").each(function(){var protected=$(this).text();var adresse=rot13(protected);$(this).text(adresse);$(this).attr('href','mailto:'+adresse);$(this).removeClass('pemail');});var len=TO_LOAD.length;for(var i=0;i<len;i++){eval(TO_LOAD[i]);}
+__fixPNG();if($("#jquery_time").length>0&&$("#jquery_time").text()==''){var E=new Date();var m=(parseInt(E-S)/1000).toString().replace('.',',');$("#jquery_time").text(m);}}
+function randval(min,max){var diff=max-min;return Math.round(Math.random()*diff)+diff;}
+function rot(t,u,v){return String.fromCharCode(((t-u+v)%(v*2))+u);}
+function rot13(s){var b=[],c,i=s.length,a='a'.charCodeAt(),z=a+26,A='A'.charCodeAt(),Z=A+26;while(i--){c=s.charCodeAt(i);if(c>=a&&c<z){b[i]=rot(c,a,13);}else if(c>=A&&c<Z){b[i]=rot(c,A,13);}else{b[i]=s.charAt(i);}}
+return b.join('');}
+function createPopup(data){POPUP_COUNTER=parseInt(POPUP_COUNTER);$("body").append('<div id="pl_'+POPUP_COUNTER+'" class="popupLayer"><div class="popupOverlay" id="po_'+POPUP_COUNTER+'" style="z-index:'+(1000+POPUP_COUNTER*2)+';"></div><div id="pw_'+POPUP_COUNTER+'" class="popupWindow" style="z-index:'+(1001+POPUP_COUNTER*2)+';"></div></div>');$("#po_"+POPUP_COUNTER).css('opacity',0.65);$("#po_"+POPUP_COUNTER).css('display','block');$("#pw_"+POPUP_COUNTER).html(data);$("#pw_"+POPUP_COUNTER).show();popup_dimensions(POPUP_COUNTER);load_jquery();POPUP_COUNTER+=1;}
+function closePopup(object,confirm){if(object==undefined||object==null){var i=$(".popupLayer").length-1;var elements=$(".popupLayer").get();var e=elements[i];var changes=false;$(this).find("form").each(function(){if($(this).attr("change")==1){changes=true;}});if(confirm==false||(changes==true&&window.confirm(CONFIRM_CLOSE))||changes==false){$(e).remove();POPUP_COUNTER-=1;popup_dimensions();}}else{$(object).parents(".popupLayer").each(function(){var changes=false;$(this).find("form").each(function(){if($(this).attr("change")==1){changes=true;}});if(confirm==false||(changes==true&&window.confirm(CONFIRM_CLOSE))||changes==false){$(this).remove();POPUP_COUNTER-=1;popup_dimensions();}});}}
+function popup_dimensions(i){if(i==undefined){i=POPUP_COUNTER-1;}
+if(i<0){return;}
+var margin=30;var mh=$(window).height()-(margin*2);if(!$.browser.msie){$("#pw_"+i).css("opacity",0);}
+$("#pw_"+i+" .c>div").css("overflow-y",'auto');$("#pw_"+i+" .c>div").css("overflow-x",'visible');$("#pw_"+i+" .c>div").css("max-height",mh);$("#pw_"+i).css("left",($(window).width()-$("#pw_"+i).width())/2);if($("#pw_"+i+" .c>div").attr('top')){$("#pw_"+i).css("top",parseInt($("#pw_"+i+" .c>div").attr('top')));}else{var top=(mh-$("#pw_"+i).height())/2+margin;$("#pw_"+i).css("top",top);}
+if(!$.browser.msie){$("#pw_"+i).css("opacity",1);}}
+function changepopup(data){var pc=POPUP_COUNTER-1;$("#pw_"+pc).html(data);popup_dimensions(pc);}
+function checkUpload(){if($.browser.msie){var iframe=uploadIframe.document;}else{var uploadIframe=document.getElementById('uploadIframe');var iframe=uploadIframe.contentDocument;}
+if(iframe.getElementById('status')!=undefined&&iframe.contentDocument.getElementById('status').innerHTML!=undefined){clearInterval(INTERVAL);$.ajax({url:UPDATE,success:function(data){MyAjax(data);}});if(iframe.getElementById('status').innerHTML!='ok'){window.alert(ERREUR_FICHIER+' : \n'+iframe.getElementById('status').innerHTML);}
+if(POPUP_COUNTER>0){closePopup(null,false);}
+$("#uploadIframe").remove();}}
+function isSet(i){return(i==null||i=='null'||i==''||i=='undefined');}
+function callAjaxSwf(urlLink){$.ajax({url:urlLink,success:function(data){MyAjax(data);}});}
+function swfAjax(data){MyAjax(strToXML(data));}
+function MyAjax(data,reload){var error=new Array();var confirmation='';var ok=true;var t=$(data).children('rsp').children().get();for(var i=0;i<t.length;i++){var e=t[i];var name=e.nodeName;if(name=='confirmation'){var contentconfirm=$(e).text();confirmation+="<p>"+contentconfirm+"</p>";}else if(name=='error'){var errors=$(e).children().get();for(var j=0;j<errors.length;j++){var err=errors[j];var ename=err.nodeName;var econtent=$(err).text();$("#"+ename).addClass('error');$("#"+ename).val('');error.push(econtent);ok=false;}}else if(name=='content'){var contents=$(e).children().get();for(var k=0;k<contents.length;k++){var content=contents[k];var cname=content.nodeName;var ccontent=$(content).text();if(ccontent==''){$("#"+cname).html(ccontent);}else{$("#"+cname).html(ccontent);}
+if(POPUP_COUNTER-1>=0){popup_dimensions(POPUP_COUNTER-1);}}}else if(name=='replace'){var contents=$(e).children().get();for(var k=0;k<contents.length;k++){var content=contents[k];var cname=content.nodeName;var ccontent=$(content).text();if(ccontent==''){$("#"+cname).replaceWith(ccontent);}else{$("#"+cname).replaceWith(ccontent);}
+if(POPUP_COUNTER-1>=0){popup_dimensions(POPUP_COUNTER-1);}}}else if(name=='append'){var contents=$(e).children().get();for(var k=0;k<contents.length;k++){var content=contents[k];var cname=content.nodeName;var ccontent=$(content).text();if(ccontent==''){$("#"+cname).append(ccontent);}else{$("#"+cname).append(ccontent);}
+if(POPUP_COUNTER-1>=0){popup_dimensions(POPUP_COUNTER-1);}}}else if(name=='param'){var ids=$(e).children().get();for(var p=0;p<ids.length;p++){var id=ids[p];var idname=id.nodeName;var params=$(id).children().get();var o={};for(var q=0;q<params.length;q++){var param=params[q];var paramname=param.nodeName;var paramcontent=$(param).text();o[paramname]=paramcontent;}
+$("#"+idname).attr(o);$("#"+idname).parents("form").unbind('submit');}}else if(name=='alert'){var alerts=$(e).children().get();for(var r=0;r<alerts.length;r++){var alert=alerts[r];var acontent=$(alert).text();window.alert(acontent);}}else if(name=='ok'){var oks=$(e).children().get();for(var l=0;l<oks.length;l++){var ok=oks[l];var oname=ok.nodeName.toLowerCase();$("#"+oname).removeClass('error');}}else if(name=='redirection'){var url=$(e).text();window.location=url;}else if(name=='show'){var oks=$(e).children().get();for(var l=0;l<oks.length;l++){var ok=oks[l];var oname=ok.nodeName;$("#"+oname).show('fast');}}else if(name=='debug'){}else if(name=='eval'){var codes=$(e).children().get();for(var r=0;r<codes.length;r++){var code=codes[r];eval($(code).text());}}else if(name=='closepopup'){var closes=$(e).children().get();for(var cp=0;cp<closes.length;cp++){closePopup(null,false);}}else if(name=='openpopup'){var opens=$(e).children().get();for(var op=0;op<opens.length;op++){var cont=opens[op];createPopup($(cont).text());}}else if(name=='changepopup'){var changes=$(e).children().get();for(var cp=0;cp<changes.length;cp++){var cont=changes[cp];changepopup($(cont).text());}}
+else if(name=='popupdimensions'){popup_dimensions();}
+else if(name=='truepopup'){var trues=$(e).children().get();for(var tp=0;tp<trues.length;tp++){var cont=trues[tp];truePopup($(cont).text());}}else if(name=='timer'){var time=parseInt($(e).text());var t=setTimeout("doNothing()",time);}else if(name=='value'){var values=$(e).children().get();for(var v=0;v<values.length;v++){var node=values[v];var oname=node.nodeName;var val=$("#"+oname).val($(node).text());}}}
+if(error.length>0){$("#message").html(error.join('<br />'));}else{$("#message").html('');}
+if(confirmation!=''){$("#confirmation").html(confirmation);$("#confirmation").animate({height:26,opacity:1},2000,function(){$("#confirmation").fadeTo(10000,1,function(){$("#confirmation").animate({height:0,opacity:0},2000);$("#confirmation").empty();});});}
+if(reload==true||reload==undefined){load_jquery();}
+remove_loader();return ok;}
+function truePopup(url){var rand=Math.round(Math.random()*200);window.open(url,'Popup'+rand,'width='+window.width+',height='+window.height);}
+function _fixPNG(){var png;var images=$('img[src*="png"]:not([fixed="fixed"])');images.each(function(){png=$(this).attr('src');$(this).attr('src',IMG_CUBE+'/spacer.gif');$(this).css('filter',"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+png+"')");$(this).attr('fixed','fixed');});}
+function __fixPNG(){if($.browser.msie&&parseInt(navigator.userAgent.match(/MSIE (\d+(?:\.\d+)+(?:b\d*)?)/)[1])<=6){_fixPNG();}}
+function getWindowHeight(){var windowHeight=0;if(typeof(window.innerHeight)=='number'){windowHeight=window.innerHeight;}
+else{if(document.documentElement&&document.documentElement.clientHeight){windowHeight=document.documentElement.clientHeight;}
+else{if(document.body&&document.body.clientHeight){windowHeight=document.body.clientHeight;}}}
+return windowHeight;}
+function getWindowWidth(){var myWidth=0;if(typeof(window.innerWidth)=='number'){myWidth=window.innerWidth;}
+else if(document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight)){myWidth=document.documentElement.clientWidth;}
+else if(document.body&&(document.body.clientWidth||document.body.clientHeight)){myWidth=document.body.clientWidth;}
+return myWidth;}
+function doNothing(){}
+function htmlEditorGetText(id){var text=document.getElementById(id).value;return'<TEXTFORMAT LEADING="2"><P ALIGN="LEFT">'+text+'</P></TEXTFORMAT>';}
+function htmlEditorPutText(id,text){document.getElementById(id).value=text;}
+function display_loader(){if(LOADER_AJAX==''){}else{$("body").append('<div id="loader"><img src="'+LOADER_AJAX+'" /></div>');}}
+function remove_loader(){if(LOADER_AJAX==''){}else{$("#loader").remove();}}
+function URLEncode(clearString){var output='';var x=0;clearString=clearString.toString();var regex=/(^[a-zA-Z0-9_.]*)/;while(x<clearString.length){var match=regex.exec(clearString.substr(x));if(match!=null&&match.length>1&&match[1]!=''){output+=match[1];x+=match[1].length;}else{if(clearString[x]==' ')
+output+='+';else{var charCode=clearString.charCodeAt(x);var hexVal=charCode.toString(16);output+='%'+(hexVal.length<2?'0':'')+hexVal.toUpperCase();}
+x++;}}
+return output;}
+function strToXML(str){var contentType='application/xml';if(typeof(DOMParser)!='undefined'){return(new DOMParser()).parseFromString(str.substr(0,4095),contentType);}else if(typeof(ActiveXObject)!='undefined'){var xmldata=new ActiveXObject('MSXML.DomDocument');xmldata.async=false;xmldata.loadXML(str);return xmldata;}else if(typeof(XMLHttpRequest)!='undefined'){var xmldata=new XMLHttpRequest;if(!contentType){contentType='application/xml';}
+xmldata.open('GET','data:'+contentType+';charset=utf-8,'+encodeURIComponent(str),false);if(xmldata.overrideMimeType){xmldata.overrideMimeType(contentType);}
+xmldata.send(null);return xmldata.responseXML;}}
+TO_LOAD_INDEX++;TO_LOAD[TO_LOAD_INDEX]='load_extranet();';FIRST_LOAD=true;function load_extranet(){if($("#devisAdresse #client_nom").length){$("#devisAdresse #client_nom").autocomplete(SITE_PATH+'autocomplete/client',{cacheLength:0,maxItemsToShow:15,onFindValue:findClient,onItemSelect:findClient});}
+if($("#factureAdresse #projet_nom").length){$("#factureAdresse #projet_nom").autocomplete(SITE_PATH+'autocomplete/projet',{cacheLength:0,maxItemsToShow:15,onFindValue:findProjet,onItemSelect:findProjet});}
+if($(".dashboard").length>=1&&$("#dash").length>=1){$("#dash").sortable('destroy');if(FIRST_LOAD){FIRST_LOAD=false;}else{FIRST_LOAD=true;$.ajax({url:SITE_PATH+'ajax/reloadDashboards',success:function(data){MyAjax(data);}});}
+$("#dash").sortable({opacity:0.6,axis:"y",handle:".caption",stop:function(e,ui){$.ajax({url:SITE_PATH+'ajax/orderDashboards?'+$("#dash").sortable('serialize')});resize();}});}
+if($("#devisLignes").length>=1){$("#devisLignes").sortable('destroy');$("#devisLignes").sortable({opacity:0.6,axis:"y"});}
+$(".timereport_field").change(function(){var val=parseInt($(this).val());if(isNaN(val)){val=0;}
+var f=this;var id=$(this).attr('id');var a=id.split('_');$.ajax({url:SITE_PATH+'ajax/saveTimereport/'+a[1]+'/'+a[2]+'/'+val,success:function(data){FIRST_LOAD=true;MyAjax(data);var td=$(f).parents('td').get(0);if(parseFloat($(f).val())>0){$(td).addClass('filled');}else{$(td).removeClass('filled');}}});});$("#dash .toggle").click(function(){var rel=$(this).attr('rel');var div=$(this).parents('.dashboard').get(0);var liste=$(div).find('.liste');$(liste).slideToggle('fast',function(){resize();});$(this).toggleClass('close');$.ajax({url:SITE_PATH+'ajax/toggleDashboard/'+rel});return false;});$(".filtre .bt").click(function(){var ul=$(this).parent().parent().children('ul');$(ul).slideToggle('fast');return false;});$(".filtre ul").click(function(e){if(e.target.nodeName=='INPUT'||e.target.nodeName=='LABEL'){return true;}
+$(this).slideToggle('fast');});$(".filtre span").click(function(){var ul=$(this).parent().children('ul');$(ul).slideToggle('fast');});$(".filtre input").change(function(){var form=$(this).parents('form').get(0);var uls=$(form).find("ul");var divs=$(form).find(".input");var spans=$(form).find("span");var i,j,k,ul,lis,li,input,label,checked,div,titre,t,t1,allc,inputs;for(i=0;i<uls.length;i++){div=divs[i];titre=Array();ul=uls[i];lis=$(ul).children("li");allc=$(lis).get(0);checked=0;for(j=1;j<lis.length;j++){li=lis[j];input=$(li).find('input').get(0);label=$(li).find('label').get(0);if(input.checked){checked++;titre.push($(label).text());}}
+if(checked==0){$(div).find('span').text($(allc).text());$(div).find('a').attr('title',$(allc).text());$(div).removeClass('active');inputs=$(ul).find('input');for(k=0;k<inputs.length;k++){inputs[k].checked=true;}}else if(checked==lis.length-1){$(div).find('span').text($(allc).text());$(div).find('a').attr('title',$(allc).text());$(div).removeClass('active');}else{t=titre.join(', ');if(t.length>20){t1=t.substr(0,16)+'...';}else{t1=t;}
+$(div).find('span').text(t1);$(div).find('a').attr('title',t);$(div).addClass('active');}}
+return true;});$(window).resize(function(){resize();});resize();}
+function resize(){var allh=$("#header").height()+$("#footer").height()+$("#bar").height()+$("#main .content").height()+13+30;var h=Math.max($(window).height(),allh);var mh=h-$("#header").height()-$("#footer").height()-$("#bar").height()-30-13;mh=Math.max(mh,450);$("#main").css('height',mh);$(".swfPanel").css('height',mh-10);}
+function findClient(li){var client=li.selectValue.split(' - ');if(client.length<=1){return;}
+var client_id=parseInt(client[0]);$("#client").val(client_id);$.ajax({url:SITE_PATH+'ajax/getAdresseForDevis/'+client_id,success:function(data){MyAjax(data);}});}
+function findProjet(li){var projet=li.selectValue.split(' - ');if(projet.length<=1){return;}
+var projet_id=parseInt(projet[0]);$("#projet").val(projet_id);$.ajax({url:SITE_PATH+'ajax/getAdresseForFacture/'+projet_id,success:function(data){MyAjax(data);}});}
+function refreshFiles(){$.ajax({url:SITE_PATH+'ajax/refreshFichiers',success:function(data){MyAjax(data);}});}
\ No newline at end of file
diff --git a/js/merged-849b2d.js b/js/merged-849b2d.js
new file mode 100644 (file)
index 0000000..93e41ba
--- /dev/null
@@ -0,0 +1,577 @@
+
+(function(){var
+window=this,undefined,_jQuery=window.jQuery,_$=window.$,jQuery=window.jQuery=window.$=function(selector,context){return new jQuery.fn.init(selector,context);},quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,isSimple=/^.[^:#\[\.,]*$/;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;this.context=selector;return this;}
+if(typeof selector==="string"){var match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1])
+selector=jQuery.clean([match[1]],context);else{var elem=document.getElementById(match[3]);if(elem&&elem.id!=match[3])
+return jQuery().find(selector);var ret=jQuery(elem||[]);ret.context=document;ret.selector=selector;return ret;}}else
+return jQuery(context).find(selector);}else if(jQuery.isFunction(selector))
+return jQuery(document).ready(selector);if(selector.selector&&selector.context){this.selector=selector.selector;this.context=selector.context;}
+return this.setArray(jQuery.isArray(selector)?selector:jQuery.makeArray(selector));},selector:"",jquery:"1.3.2",size:function(){return this.length;},get:function(num){return num===undefined?Array.prototype.slice.call(this):this[num];},pushStack:function(elems,name,selector){var ret=jQuery(elems);ret.prevObject=this;ret.context=this.context;if(name==="find")
+ret.selector=this.selector+(this.selector?" ":"")+selector;else if(name)
+ret.selector=this.selector+"."+name+"("+selector+")";return ret;},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elems);return this;},each:function(callback,args){return jQuery.each(this,callback,args);},index:function(elem){return jQuery.inArray(elem&&elem.jquery?elem[0]:elem,this);},attr:function(name,value,type){var options=name;if(typeof name==="string")
+if(value===undefined)
+return this[0]&&jQuery[type||"attr"](this[0],name);else{options={};options[name]=value;}
+return this.each(function(i){for(name in options)
+jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name));});},css:function(key,value){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]){var wrap=jQuery(html,this[0].ownerDocument).clone();if(this[0].parentNode)
+wrap.insertBefore(this[0]);wrap.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,function(elem){if(this.nodeType==1)
+this.appendChild(elem);});},prepend:function(){return this.domManip(arguments,true,function(elem){if(this.nodeType==1)
+this.insertBefore(elem,this.firstChild);});},before:function(){return this.domManip(arguments,false,function(elem){this.parentNode.insertBefore(elem,this);});},after:function(){return this.domManip(arguments,false,function(elem){this.parentNode.insertBefore(elem,this.nextSibling);});},end:function(){return this.prevObject||jQuery([]);},push:[].push,sort:[].sort,splice:[].splice,find:function(selector){if(this.length===1){var ret=this.pushStack([],"find",selector);ret.length=0;jQuery.find(selector,this[0],ret);return ret;}else{return this.pushStack(jQuery.unique(jQuery.map(this,function(elem){return jQuery.find(selector,elem);})),"find",selector);}},clone:function(events){var ret=this.map(function(){if(!jQuery.support.noCloneEvent&&!jQuery.isXMLDoc(this)){var html=this.outerHTML;if(!html){var div=this.ownerDocument.createElement("div");div.appendChild(this.cloneNode(true));html=div.innerHTML;}
+return jQuery.clean([html.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0];}else
+return this.cloneNode(true);});if(events===true){var orig=this.find("*").andSelf(),i=0;ret.find("*").andSelf().each(function(){if(this.nodeName!==orig[i].nodeName)
+return;var events=jQuery.data(orig[i],"events");for(var type in events){for(var handler in events[type]){jQuery.event.add(this,type,events[type][handler],events[type][handler].data);}}
+i++;});}
+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,jQuery.grep(this,function(elem){return elem.nodeType===1;})),"filter",selector);},closest:function(selector){var pos=jQuery.expr.match.POS.test(selector)?jQuery(selector):null,closer=0;return this.map(function(){var cur=this;while(cur&&cur.ownerDocument){if(pos?pos.index(cur)>-1:jQuery(cur).is(selector)){jQuery.data(cur,"closest",closer);return cur;}
+cur=cur.parentNode;closer++;}});},not:function(selector){if(typeof selector==="string")
+if(isSimple.test(selector))
+return this.pushStack(jQuery.multiFilter(selector,this,true),"not",selector);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 this.pushStack(jQuery.unique(jQuery.merge(this.get(),typeof selector==="string"?jQuery(selector):jQuery.makeArray(selector))));},is:function(selector){return!!selector&&jQuery.multiFilter(selector,this).length>0;},hasClass:function(selector){return!!selector&&this.is("."+selector);},val:function(value){if(value===undefined){var elem=this[0];if(elem){if(jQuery.nodeName(elem,'option'))
+return(elem.attributes.value||{}).specified?elem.value:elem.text;if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";if(index<0)
+return null;for(var i=one?index:0,max=one?index+1:options.length;i<max;i++){var option=options[i];if(option.selected){value=jQuery(option).val();if(one)
+return value;values.push(value);}}
+return values;}
+return(elem.value||"").replace(/\r/g,"");}
+return undefined;}
+if(typeof value==="number")
+value+='';return this.each(function(){if(this.nodeType!=1)
+return;if(jQuery.isArray(value)&&/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=jQuery.makeArray(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[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):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),"slice",Array.prototype.slice.call(arguments).join(","));},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);},domManip:function(args,table,callback){if(this[0]){var fragment=(this[0].ownerDocument||this[0]).createDocumentFragment(),scripts=jQuery.clean(args,(this[0].ownerDocument||this[0]),fragment),first=fragment.firstChild;if(first)
+for(var i=0,l=this.length;i<l;i++)
+callback.call(root(this[i],first),this.length>1||i>0?fragment.cloneNode(true):fragment);if(scripts)
+jQuery.each(scripts,evalScript);}
+return this;function root(elem,cur){return table&&jQuery.nodeName(elem,"table")&&jQuery.nodeName(cur,"tr")?(elem.getElementsByTagName("tbody")[0]||elem.appendChild(elem.ownerDocument.createElement("tbody"))):elem;}}};jQuery.fn.init.prototype=jQuery.fn;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);}
+function now(){return+new Date;}
+jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(typeof target==="boolean"){deep=target;target=arguments[1]||{};i=2;}
+if(typeof target!=="object"&&!jQuery.isFunction(target))
+target={};if(length==i){target=this;--i;}
+for(;i<length;i++)
+if((options=arguments[i])!=null)
+for(var name in options){var src=target[name],copy=options[name];if(target===copy)
+continue;if(deep&&copy&&typeof copy==="object"&&!copy.nodeType)
+target[name]=jQuery.extend(deep,src||(copy.length!=null?[]:{}),copy);else if(copy!==undefined)
+target[name]=copy;}
+return target;};var exclude=/z-?index|font-?weight|opacity|zoom|line-?height/i,defaultView=document.defaultView||{},toString=Object.prototype.toString;jQuery.extend({noConflict:function(deep){window.$=_$;if(deep)
+window.jQuery=_jQuery;return jQuery;},isFunction:function(obj){return toString.call(obj)==="[object Function]";},isArray:function(obj){return toString.call(obj)==="[object Array]";},isXMLDoc:function(elem){return elem.nodeType===9&&elem.documentElement.nodeName!=="HTML"||!!elem.ownerDocument&&jQuery.isXMLDoc(elem.ownerDocument);},globalEval:function(data){if(data&&/\S/.test(data)){var head=document.getElementsByTagName("head")[0]||document.documentElement,script=document.createElement("script");script.type="text/javascript";if(jQuery.support.scriptEval)
+script.appendChild(document.createTextNode(data));else
+script.text=data;head.insertBefore(script,head.firstChild);head.removeChild(script);}},nodeName:function(elem,name){return elem.nodeName&&elem.nodeName.toUpperCase()==name.toUpperCase();},each:function(object,callback,args){var name,i=0,length=object.length;if(args){if(length===undefined){for(name in object)
+if(callback.apply(object[name],args)===false)
+break;}else
+for(;i<length;)
+if(callback.apply(object[i++],args)===false)
+break;}else{if(length===undefined){for(name in object)
+if(callback.call(object[name],name,object[name])===false)
+break;}else
+for(var value=object[0];i<length&&callback.call(value,i,value)!==false;value=object[++i]){}}
+return object;},prop:function(elem,value,type,i,name){if(jQuery.isFunction(value))
+value=value.call(elem,i);return typeof value==="number"&&type=="curCSS"&&!exclude.test(name)?value+"px":value;},className:{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;});},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(" "):"";},has:function(elem,className){return elem&&jQuery.inArray(className,(elem.className||elem).toString().split(/\s+/))>-1;}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}
+callback.call(elem);for(var name in options)
+elem.style[name]=old[name];},css:function(elem,name,force,extra){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;if(extra==="border")
+return;jQuery.each(which,function(){if(!extra)
+val-=parseFloat(jQuery.curCSS(elem,"padding"+this,true))||0;if(extra==="margin")
+val+=parseFloat(jQuery.curCSS(elem,"margin"+this,true))||0;else
+val-=parseFloat(jQuery.curCSS(elem,"border"+this+"Width",true))||0;});}
+if(elem.offsetWidth!==0)
+getWH();else
+jQuery.swap(elem,props,getWH);return Math.max(0,Math.round(val));}
+return jQuery.curCSS(elem,name,force);},curCSS:function(elem,name,force){var ret,style=elem.style;if(name=="opacity"&&!jQuery.support.opacity){ret=jQuery.attr(style,"opacity");return ret==""?"1":ret;}
+if(name.match(/float/i))
+name=styleFloat;if(!force&&style&&style[name])
+ret=style[name];else if(defaultView.getComputedStyle){if(name.match(/float/i))
+name="float";name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var computedStyle=defaultView.getComputedStyle(elem,null);if(computedStyle)
+ret=computedStyle.getPropertyValue(name);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];if(!/^\d+(px)?$/i.test(ret)&&/^\d/.test(ret)){var left=style.left,rsLeft=elem.runtimeStyle.left;elem.runtimeStyle.left=elem.currentStyle.left;style.left=ret||0;ret=style.pixelLeft+"px";style.left=left;elem.runtimeStyle.left=rsLeft;}}
+return ret;},clean:function(elems,context,fragment){context=context||document;if(typeof context.createElement==="undefined")
+context=context.ownerDocument||context[0]&&context[0].ownerDocument||document;if(!fragment&&elems.length===1&&typeof elems[0]==="string"){var match=/^<(\w+)\s*\/?>$/.exec(elems[0]);if(match)
+return[context.createElement(match[1])];}
+var ret=[],scripts=[],div=context.createElement("div");jQuery.each(elems,function(i,elem){if(typeof elem==="number")
+elem+='';if(!elem)
+return;if(typeof elem==="string"){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+">";});var tags=elem.replace(/^\s+/,"").substring(0,10).toLowerCase();var wrap=!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>"]||(!tags.indexOf("<td")||!tags.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!tags.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||!jQuery.support.htmlSerialize&&[1,"div<div>","</div>"]||[0,"",""];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--)
+div=div.lastChild;if(!jQuery.support.tbody){var hasBody=/<tbody/i.test(elem),tbody=!tags.indexOf("<table")&&!hasBody?div.firstChild&&div.firstChild.childNodes:wrap[1]=="<table>"&&!hasBody?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]);}
+if(!jQuery.support.leadingWhitespace&&/^\s/.test(elem))
+div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]),div.firstChild);elem=jQuery.makeArray(div.childNodes);}
+if(elem.nodeType)
+ret.push(elem);else
+ret=jQuery.merge(ret,elem);});if(fragment){for(var i=0;ret[i];i++){if(jQuery.nodeName(ret[i],"script")&&(!ret[i].type||ret[i].type.toLowerCase()==="text/javascript")){scripts.push(ret[i].parentNode?ret[i].parentNode.removeChild(ret[i]):ret[i]);}else{if(ret[i].nodeType===1)
+ret.splice.apply(ret,[i+1,0].concat(jQuery.makeArray(ret[i].getElementsByTagName("script"))));fragment.appendChild(ret[i]);}}
+return scripts;}
+return ret;},attr:function(elem,name,value){if(!elem||elem.nodeType==3||elem.nodeType==8)
+return undefined;var notxml=!jQuery.isXMLDoc(elem),set=value!==undefined;name=notxml&&jQuery.props[name]||name;if(elem.tagName){var special=/href|src|style/.test(name);if(name=="selected"&&elem.parentNode)
+elem.parentNode.selectedIndex;if(name in elem&&notxml&&!special){if(set){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)
+throw"type property can't be changed";elem[name]=value;}
+if(jQuery.nodeName(elem,"form")&&elem.getAttributeNode(name))
+return elem.getAttributeNode(name).nodeValue;if(name=="tabIndex"){var attributeNode=elem.getAttributeNode("tabIndex");return attributeNode&&attributeNode.specified?attributeNode.value:elem.nodeName.match(/(button|input|object|select|textarea)/i)?0:elem.nodeName.match(/^(a|area)$/i)&&elem.href?0:undefined;}
+return elem[name];}
+if(!jQuery.support.style&&notxml&&name=="style")
+return jQuery.attr(elem.style,"cssText",value);if(set)
+elem.setAttribute(name,""+value);var attr=!jQuery.support.hrefNormalized&&notxml&&special?elem.getAttribute(name,2):elem.getAttribute(name);return attr===null?undefined:attr;}
+if(!jQuery.support.opacity&&name=="opacity"){if(set){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+
+(parseInt(value)+''=="NaN"?"":"alpha(opacity="+value*100+")");}
+return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100)+'':"";}
+name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(set)
+elem[name]=value;return elem[name];},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeArray:function(array){var ret=[];if(array!=null){var i=array.length;if(i==null||typeof array==="string"||jQuery.isFunction(array)||array.setInterval)
+ret[0]=array;else
+while(i)
+ret[--i]=array[i];}
+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){var i=0,elem,pos=first.length;if(!jQuery.support.getAll){while((elem=second[i++])!=null)
+if(elem.nodeType!=8)
+first[pos++]=elem;}else
+while((elem=second[i++])!=null)
+first[pos++]=elem;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=[];for(var i=0,length=elems.length;i<length;i++)
+if(!inv!=!callback(elems[i],i))
+ret.push(elems[i]);return ret;},map:function(elems,callback){var ret=[];for(var i=0,length=elems.length;i<length;i++){var value=callback(elems[i],i);if(value!=null)
+ret[ret.length]=value;}
+return ret.concat.apply([],ret);}});var userAgent=navigator.userAgent.toLowerCase();jQuery.browser={version:(userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,'0'])[1],safari:/webkit/.test(userAgent),opera:/opera/.test(userAgent),msie:/msie/.test(userAgent)&&!/opera/.test(userAgent),mozilla:/mozilla/.test(userAgent)&&!/(compatible|webkit)/.test(userAgent)};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),name,selector);};});jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(selector){var ret=[],insert=jQuery(selector);for(var i=0,l=insert.length;i<l;i++){var elems=(i>0?this.clone(true):this).get();jQuery.fn[original].apply(jQuery(insert[i]),elems);ret=ret.concat(elems);}
+return this.pushStack(ret,name,selector);};});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,state){if(typeof state!=="boolean")
+state=!jQuery.className.has(this,classNames);jQuery.className[state?"add":"remove"](this,classNames);},remove:function(selector){if(!selector||jQuery.filter(selector,[this]).length){jQuery("*",this).add([this]).each(function(){jQuery.event.remove(this);jQuery.removeData(this);});if(this.parentNode)
+this.parentNode.removeChild(this);}},empty:function(){jQuery(this).children().remove();while(this.firstChild)
+this.removeChild(this.firstChild);}},function(name,fn){jQuery.fn[name]=function(){return this.each(fn,arguments);};});function num(elem,prop){return elem[0]&&parseInt(jQuery.curCSS(elem[0],prop,true),10)||0;}
+var expando="jQuery"+now(),uuid=0,windowData={};jQuery.extend({cache:{},data:function(elem,name,data){elem=elem==window?windowData:elem;var id=elem[expando];if(!id)
+id=elem[expando]=++uuid;if(name&&!jQuery.cache[id])
+jQuery.cache[id]={};if(data!==undefined)
+jQuery.cache[id][name]=data;return name?jQuery.cache[id][name]:id;},removeData:function(elem,name){elem=elem==window?windowData:elem;var id=elem[expando];if(name){if(jQuery.cache[id]){delete jQuery.cache[id][name];name="";for(name in jQuery.cache[id])
+break;if(!name)
+jQuery.removeData(elem);}}else{try{delete elem[expando];}catch(e){if(elem.removeAttribute)
+elem.removeAttribute(expando);}
+delete jQuery.cache[id];}},queue:function(elem,type,data){if(elem){type=(type||"fx")+"queue";var q=jQuery.data(elem,type);if(!q||jQuery.isArray(data))
+q=jQuery.data(elem,type,jQuery.makeArray(data));else if(data)
+q.push(data);}
+return q;},dequeue:function(elem,type){var queue=jQuery.queue(elem,type),fn=queue.shift();if(!type||type==="fx")
+fn=queue[0];if(fn!==undefined)
+fn.call(elem);}});jQuery.fn.extend({data:function(key,value){var parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value===undefined){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data===undefined&&this.length)
+data=jQuery.data(this[0],key);return data===undefined&&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);});},queue:function(type,data){if(typeof type!=="string"){data=type;type="fx";}
+if(data===undefined)
+return jQuery.queue(this[0],type);return this.each(function(){var queue=jQuery.queue(this,type,data);if(type=="fx"&&queue.length==1)
+queue[0].call(this);});},dequeue:function(type){return this.each(function(){jQuery.dequeue(this,type);});}});(function(){var chunker=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,done=0,toString=Object.prototype.toString;var Sizzle=function(selector,context,results,seed){results=results||[];context=context||document;if(context.nodeType!==1&&context.nodeType!==9)
+return[];if(!selector||typeof selector!=="string"){return results;}
+var parts=[],m,set,checkSet,check,mode,extra,prune=true;chunker.lastIndex=0;while((m=chunker.exec(selector))!==null){parts.push(m[1]);if(m[2]){extra=RegExp.rightContext;break;}}
+if(parts.length>1&&origPOS.exec(selector)){if(parts.length===2&&Expr.relative[parts[0]]){set=posProcess(parts[0]+parts[1],context);}else{set=Expr.relative[parts[0]]?[context]:Sizzle(parts.shift(),context);while(parts.length){selector=parts.shift();if(Expr.relative[selector])
+selector+=parts.shift();set=posProcess(selector,set);}}}else{var ret=seed?{expr:parts.pop(),set:makeArray(seed)}:Sizzle.find(parts.pop(),parts.length===1&&context.parentNode?context.parentNode:context,isXML(context));set=Sizzle.filter(ret.expr,ret.set);if(parts.length>0){checkSet=makeArray(set);}else{prune=false;}
+while(parts.length){var cur=parts.pop(),pop=cur;if(!Expr.relative[cur]){cur="";}else{pop=parts.pop();}
+if(pop==null){pop=context;}
+Expr.relative[cur](checkSet,pop,isXML(context));}}
+if(!checkSet){checkSet=set;}
+if(!checkSet){throw"Syntax error, unrecognized expression: "+(cur||selector);}
+if(toString.call(checkSet)==="[object Array]"){if(!prune){results.push.apply(results,checkSet);}else if(context.nodeType===1){for(var i=0;checkSet[i]!=null;i++){if(checkSet[i]&&(checkSet[i]===true||checkSet[i].nodeType===1&&contains(context,checkSet[i]))){results.push(set[i]);}}}else{for(var i=0;checkSet[i]!=null;i++){if(checkSet[i]&&checkSet[i].nodeType===1){results.push(set[i]);}}}}else{makeArray(checkSet,results);}
+if(extra){Sizzle(extra,context,results,seed);if(sortOrder){hasDuplicate=false;results.sort(sortOrder);if(hasDuplicate){for(var i=1;i<results.length;i++){if(results[i]===results[i-1]){results.splice(i--,1);}}}}}
+return results;};Sizzle.matches=function(expr,set){return Sizzle(expr,null,null,set);};Sizzle.find=function(expr,context,isXML){var set,match;if(!expr){return[];}
+for(var i=0,l=Expr.order.length;i<l;i++){var type=Expr.order[i],match;if((match=Expr.match[type].exec(expr))){var left=RegExp.leftContext;if(left.substr(left.length-1)!=="\\"){match[1]=(match[1]||"").replace(/\\/g,"");set=Expr.find[type](match,context,isXML);if(set!=null){expr=expr.replace(Expr.match[type],"");break;}}}}
+if(!set){set=context.getElementsByTagName("*");}
+return{set:set,expr:expr};};Sizzle.filter=function(expr,set,inplace,not){var old=expr,result=[],curLoop=set,match,anyFound,isXMLFilter=set&&set[0]&&isXML(set[0]);while(expr&&set.length){for(var type in Expr.filter){if((match=Expr.match[type].exec(expr))!=null){var filter=Expr.filter[type],found,item;anyFound=false;if(curLoop==result){result=[];}
+if(Expr.preFilter[type]){match=Expr.preFilter[type](match,curLoop,inplace,result,not,isXMLFilter);if(!match){anyFound=found=true;}else if(match===true){continue;}}
+if(match){for(var i=0;(item=curLoop[i])!=null;i++){if(item){found=filter(item,match,i,curLoop);var pass=not^!!found;if(inplace&&found!=null){if(pass){anyFound=true;}else{curLoop[i]=false;}}else if(pass){result.push(item);anyFound=true;}}}}
+if(found!==undefined){if(!inplace){curLoop=result;}
+expr=expr.replace(Expr.match[type],"");if(!anyFound){return[];}
+break;}}}
+if(expr==old){if(anyFound==null){throw"Syntax error, unrecognized expression: "+expr;}else{break;}}
+old=expr;}
+return curLoop;};var Expr=Sizzle.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(elem){return elem.getAttribute("href");}},relative:{"+":function(checkSet,part,isXML){var isPartStr=typeof part==="string",isTag=isPartStr&&!/\W/.test(part),isPartStrNotTag=isPartStr&&!isTag;if(isTag&&!isXML){part=part.toUpperCase();}
+for(var i=0,l=checkSet.length,elem;i<l;i++){if((elem=checkSet[i])){while((elem=elem.previousSibling)&&elem.nodeType!==1){}
+checkSet[i]=isPartStrNotTag||elem&&elem.nodeName===part?elem||false:elem===part;}}
+if(isPartStrNotTag){Sizzle.filter(part,checkSet,true);}},">":function(checkSet,part,isXML){var isPartStr=typeof part==="string";if(isPartStr&&!/\W/.test(part)){part=isXML?part:part.toUpperCase();for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){var parent=elem.parentNode;checkSet[i]=parent.nodeName===part?parent:false;}}}else{for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){checkSet[i]=isPartStr?elem.parentNode:elem.parentNode===part;}}
+if(isPartStr){Sizzle.filter(part,checkSet,true);}}},"":function(checkSet,part,isXML){var doneName=done++,checkFn=dirCheck;if(!part.match(/\W/)){var nodeCheck=part=isXML?part:part.toUpperCase();checkFn=dirNodeCheck;}
+checkFn("parentNode",part,doneName,checkSet,nodeCheck,isXML);},"~":function(checkSet,part,isXML){var doneName=done++,checkFn=dirCheck;if(typeof part==="string"&&!part.match(/\W/)){var nodeCheck=part=isXML?part:part.toUpperCase();checkFn=dirNodeCheck;}
+checkFn("previousSibling",part,doneName,checkSet,nodeCheck,isXML);}},find:{ID:function(match,context,isXML){if(typeof context.getElementById!=="undefined"&&!isXML){var m=context.getElementById(match[1]);return m?[m]:[];}},NAME:function(match,context,isXML){if(typeof context.getElementsByName!=="undefined"){var ret=[],results=context.getElementsByName(match[1]);for(var i=0,l=results.length;i<l;i++){if(results[i].getAttribute("name")===match[1]){ret.push(results[i]);}}
+return ret.length===0?null:ret;}},TAG:function(match,context){return context.getElementsByTagName(match[1]);}},preFilter:{CLASS:function(match,curLoop,inplace,result,not,isXML){match=" "+match[1].replace(/\\/g,"")+" ";if(isXML){return match;}
+for(var i=0,elem;(elem=curLoop[i])!=null;i++){if(elem){if(not^(elem.className&&(" "+elem.className+" ").indexOf(match)>=0)){if(!inplace)
+result.push(elem);}else if(inplace){curLoop[i]=false;}}}
+return false;},ID:function(match){return match[1].replace(/\\/g,"");},TAG:function(match,curLoop){for(var i=0;curLoop[i]===false;i++){}
+return curLoop[i]&&isXML(curLoop[i])?match[1]:match[1].toUpperCase();},CHILD:function(match){if(match[1]=="nth"){var test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(match[2]=="even"&&"2n"||match[2]=="odd"&&"2n+1"||!/\D/.test(match[2])&&"0n+"+match[2]||match[2]);match[2]=(test[1]+(test[2]||1))-0;match[3]=test[3]-0;}
+match[0]=done++;return match;},ATTR:function(match,curLoop,inplace,result,not,isXML){var name=match[1].replace(/\\/g,"");if(!isXML&&Expr.attrMap[name]){match[1]=Expr.attrMap[name];}
+if(match[2]==="~="){match[4]=" "+match[4]+" ";}
+return match;},PSEUDO:function(match,curLoop,inplace,result,not){if(match[1]==="not"){if(match[3].match(chunker).length>1||/^\w/.test(match[3])){match[3]=Sizzle(match[3],null,null,curLoop);}else{var ret=Sizzle.filter(match[3],curLoop,inplace,true^not);if(!inplace){result.push.apply(result,ret);}
+return false;}}else if(Expr.match.POS.test(match[0])||Expr.match.CHILD.test(match[0])){return true;}
+return match;},POS:function(match){match.unshift(true);return match;}},filters:{enabled:function(elem){return elem.disabled===false&&elem.type!=="hidden";},disabled:function(elem){return elem.disabled===true;},checked:function(elem){return elem.checked===true;},selected:function(elem){elem.parentNode.selectedIndex;return elem.selected===true;},parent:function(elem){return!!elem.firstChild;},empty:function(elem){return!elem.firstChild;},has:function(elem,i,match){return!!Sizzle(match[3],elem).length;},header:function(elem){return/h\d/i.test(elem.nodeName);},text:function(elem){return"text"===elem.type;},radio:function(elem){return"radio"===elem.type;},checkbox:function(elem){return"checkbox"===elem.type;},file:function(elem){return"file"===elem.type;},password:function(elem){return"password"===elem.type;},submit:function(elem){return"submit"===elem.type;},image:function(elem){return"image"===elem.type;},reset:function(elem){return"reset"===elem.type;},button:function(elem){return"button"===elem.type||elem.nodeName.toUpperCase()==="BUTTON";},input:function(elem){return/input|select|textarea|button/i.test(elem.nodeName);}},setFilters:{first:function(elem,i){return i===0;},last:function(elem,i,match,array){return i===array.length-1;},even:function(elem,i){return i%2===0;},odd:function(elem,i){return i%2===1;},lt:function(elem,i,match){return i<match[3]-0;},gt:function(elem,i,match){return i>match[3]-0;},nth:function(elem,i,match){return match[3]-0==i;},eq:function(elem,i,match){return match[3]-0==i;}},filter:{PSEUDO:function(elem,match,i,array){var name=match[1],filter=Expr.filters[name];if(filter){return filter(elem,i,match,array);}else if(name==="contains"){return(elem.textContent||elem.innerText||"").indexOf(match[3])>=0;}else if(name==="not"){var not=match[3];for(var i=0,l=not.length;i<l;i++){if(not[i]===elem){return false;}}
+return true;}},CHILD:function(elem,match){var type=match[1],node=elem;switch(type){case'only':case'first':while(node=node.previousSibling){if(node.nodeType===1)return false;}
+if(type=='first')return true;node=elem;case'last':while(node=node.nextSibling){if(node.nodeType===1)return false;}
+return true;case'nth':var first=match[2],last=match[3];if(first==1&&last==0){return true;}
+var doneName=match[0],parent=elem.parentNode;if(parent&&(parent.sizcache!==doneName||!elem.nodeIndex)){var count=0;for(node=parent.firstChild;node;node=node.nextSibling){if(node.nodeType===1){node.nodeIndex=++count;}}
+parent.sizcache=doneName;}
+var diff=elem.nodeIndex-last;if(first==0){return diff==0;}else{return(diff%first==0&&diff/first>=0);}}},ID:function(elem,match){return elem.nodeType===1&&elem.getAttribute("id")===match;},TAG:function(elem,match){return(match==="*"&&elem.nodeType===1)||elem.nodeName===match;},CLASS:function(elem,match){return(" "+(elem.className||elem.getAttribute("class"))+" ").indexOf(match)>-1;},ATTR:function(elem,match){var name=match[1],result=Expr.attrHandle[name]?Expr.attrHandle[name](elem):elem[name]!=null?elem[name]:elem.getAttribute(name),value=result+"",type=match[2],check=match[4];return result==null?type==="!=":type==="="?value===check:type==="*="?value.indexOf(check)>=0:type==="~="?(" "+value+" ").indexOf(check)>=0:!check?value&&result!==false:type==="!="?value!=check:type==="^="?value.indexOf(check)===0:type==="$="?value.substr(value.length-check.length)===check:type==="|="?value===check||value.substr(0,check.length+1)===check+"-":false;},POS:function(elem,match,i,array){var name=match[2],filter=Expr.setFilters[name];if(filter){return filter(elem,i,match,array);}}}};var origPOS=Expr.match.POS;for(var type in Expr.match){Expr.match[type]=RegExp(Expr.match[type].source+/(?![^\[]*\])(?![^\(]*\))/.source);}
+var makeArray=function(array,results){array=Array.prototype.slice.call(array);if(results){results.push.apply(results,array);return results;}
+return array;};try{Array.prototype.slice.call(document.documentElement.childNodes);}catch(e){makeArray=function(array,results){var ret=results||[];if(toString.call(array)==="[object Array]"){Array.prototype.push.apply(ret,array);}else{if(typeof array.length==="number"){for(var i=0,l=array.length;i<l;i++){ret.push(array[i]);}}else{for(var i=0;array[i];i++){ret.push(array[i]);}}}
+return ret;};}
+var sortOrder;if(document.documentElement.compareDocumentPosition){sortOrder=function(a,b){var ret=a.compareDocumentPosition(b)&4?-1:a===b?0:1;if(ret===0){hasDuplicate=true;}
+return ret;};}else if("sourceIndex"in document.documentElement){sortOrder=function(a,b){var ret=a.sourceIndex-b.sourceIndex;if(ret===0){hasDuplicate=true;}
+return ret;};}else if(document.createRange){sortOrder=function(a,b){var aRange=a.ownerDocument.createRange(),bRange=b.ownerDocument.createRange();aRange.selectNode(a);aRange.collapse(true);bRange.selectNode(b);bRange.collapse(true);var ret=aRange.compareBoundaryPoints(Range.START_TO_END,bRange);if(ret===0){hasDuplicate=true;}
+return ret;};}
+(function(){var form=document.createElement("form"),id="script"+(new Date).getTime();form.innerHTML="<input name='"+id+"'/>";var root=document.documentElement;root.insertBefore(form,root.firstChild);if(!!document.getElementById(id)){Expr.find.ID=function(match,context,isXML){if(typeof context.getElementById!=="undefined"&&!isXML){var m=context.getElementById(match[1]);return m?m.id===match[1]||typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id").nodeValue===match[1]?[m]:undefined:[];}};Expr.filter.ID=function(elem,match){var node=typeof elem.getAttributeNode!=="undefined"&&elem.getAttributeNode("id");return elem.nodeType===1&&node&&node.nodeValue===match;};}
+root.removeChild(form);})();(function(){var div=document.createElement("div");div.appendChild(document.createComment(""));if(div.getElementsByTagName("*").length>0){Expr.find.TAG=function(match,context){var results=context.getElementsByTagName(match[1]);if(match[1]==="*"){var tmp=[];for(var i=0;results[i];i++){if(results[i].nodeType===1){tmp.push(results[i]);}}
+results=tmp;}
+return results;};}
+div.innerHTML="<a href='#'></a>";if(div.firstChild&&typeof div.firstChild.getAttribute!=="undefined"&&div.firstChild.getAttribute("href")!=="#"){Expr.attrHandle.href=function(elem){return elem.getAttribute("href",2);};}})();if(document.querySelectorAll)(function(){var oldSizzle=Sizzle,div=document.createElement("div");div.innerHTML="<p class='TEST'></p>";if(div.querySelectorAll&&div.querySelectorAll(".TEST").length===0){return;}
+Sizzle=function(query,context,extra,seed){context=context||document;if(!seed&&context.nodeType===9&&!isXML(context)){try{return makeArray(context.querySelectorAll(query),extra);}catch(e){}}
+return oldSizzle(query,context,extra,seed);};Sizzle.find=oldSizzle.find;Sizzle.filter=oldSizzle.filter;Sizzle.selectors=oldSizzle.selectors;Sizzle.matches=oldSizzle.matches;})();if(document.getElementsByClassName&&document.documentElement.getElementsByClassName)(function(){var div=document.createElement("div");div.innerHTML="<div class='test e'></div><div class='test'></div>";if(div.getElementsByClassName("e").length===0)
+return;div.lastChild.className="e";if(div.getElementsByClassName("e").length===1)
+return;Expr.order.splice(1,0,"CLASS");Expr.find.CLASS=function(match,context,isXML){if(typeof context.getElementsByClassName!=="undefined"&&!isXML){return context.getElementsByClassName(match[1]);}};})();function dirNodeCheck(dir,cur,doneName,checkSet,nodeCheck,isXML){var sibDir=dir=="previousSibling"&&!isXML;for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){if(sibDir&&elem.nodeType===1){elem.sizcache=doneName;elem.sizset=i;}
+elem=elem[dir];var match=false;while(elem){if(elem.sizcache===doneName){match=checkSet[elem.sizset];break;}
+if(elem.nodeType===1&&!isXML){elem.sizcache=doneName;elem.sizset=i;}
+if(elem.nodeName===cur){match=elem;break;}
+elem=elem[dir];}
+checkSet[i]=match;}}}
+function dirCheck(dir,cur,doneName,checkSet,nodeCheck,isXML){var sibDir=dir=="previousSibling"&&!isXML;for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){if(sibDir&&elem.nodeType===1){elem.sizcache=doneName;elem.sizset=i;}
+elem=elem[dir];var match=false;while(elem){if(elem.sizcache===doneName){match=checkSet[elem.sizset];break;}
+if(elem.nodeType===1){if(!isXML){elem.sizcache=doneName;elem.sizset=i;}
+if(typeof cur!=="string"){if(elem===cur){match=true;break;}}else if(Sizzle.filter(cur,[elem]).length>0){match=elem;break;}}
+elem=elem[dir];}
+checkSet[i]=match;}}}
+var contains=document.compareDocumentPosition?function(a,b){return a.compareDocumentPosition(b)&16;}:function(a,b){return a!==b&&(a.contains?a.contains(b):true);};var isXML=function(elem){return elem.nodeType===9&&elem.documentElement.nodeName!=="HTML"||!!elem.ownerDocument&&isXML(elem.ownerDocument);};var posProcess=function(selector,context){var tmpSet=[],later="",match,root=context.nodeType?[context]:context;while((match=Expr.match.PSEUDO.exec(selector))){later+=match[0];selector=selector.replace(Expr.match.PSEUDO,"");}
+selector=Expr.relative[selector]?selector+"*":selector;for(var i=0,l=root.length;i<l;i++){Sizzle(selector,root[i],tmpSet);}
+return Sizzle.filter(later,tmpSet);};jQuery.find=Sizzle;jQuery.filter=Sizzle.filter;jQuery.expr=Sizzle.selectors;jQuery.expr[":"]=jQuery.expr.filters;Sizzle.selectors.filters.hidden=function(elem){return elem.offsetWidth===0||elem.offsetHeight===0;};Sizzle.selectors.filters.visible=function(elem){return elem.offsetWidth>0||elem.offsetHeight>0;};Sizzle.selectors.filters.animated=function(elem){return jQuery.grep(jQuery.timers,function(fn){return elem===fn.elem;}).length;};jQuery.multiFilter=function(expr,elems,not){if(not){expr=":not("+expr+")";}
+return Sizzle.matches(expr,elems);};jQuery.dir=function(elem,dir){var matched=[],cur=elem[dir];while(cur&&cur!=document){if(cur.nodeType==1)
+matched.push(cur);cur=cur[dir];}
+return matched;};jQuery.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;};jQuery.sibling=function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType==1&&n!=elem)
+r.push(n);}
+return r;};return;window.Sizzle=Sizzle;})();jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8)
+return;if(elem.setInterval&&elem!=window)
+elem=window;if(!handler.guid)
+handler.guid=this.guid++;if(data!==undefined){var fn=handler;handler=this.proxy(fn);handler.data=data;}
+var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){return typeof jQuery!=="undefined"&&!jQuery.event.triggered?jQuery.event.handle.apply(arguments.callee.elem,arguments):undefined;});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var namespaces=type.split(".");type=namespaces.shift();handler.type=namespaces.slice().sort().join(".");var handlers=events[type];if(jQuery.event.specialAll[type])
+jQuery.event.specialAll[type].setup.call(elem,data,namespaces);if(!handlers){handlers=events[type]={};if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem,data,namespaces)===false){if(elem.addEventListener)
+elem.addEventListener(type,handle,false);else if(elem.attachEvent)
+elem.attachEvent("on"+type,handle);}}
+handlers[handler.guid]=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8)
+return;var events=jQuery.data(elem,"events"),ret,index;if(events){if(types===undefined||(typeof types==="string"&&types.charAt(0)=="."))
+for(var type in events)
+this.remove(elem,type+(types||""));else{if(types.type){handler=types.handler;types=types.type;}
+jQuery.each(types.split(/\s+/),function(index,type){var namespaces=type.split(".");type=namespaces.shift();var namespace=RegExp("(^|\\.)"+namespaces.slice().sort().join(".*\\.")+"(\\.|$)");if(events[type]){if(handler)
+delete events[type][handler.guid];else
+for(var handle in events[type])
+if(namespace.test(events[type][handle].type))
+delete events[type][handle];if(jQuery.event.specialAll[type])
+jQuery.event.specialAll[type].teardown.call(elem,namespaces);for(ret in events[type])break;if(!ret){if(!jQuery.event.special[type]||jQuery.event.special[type].teardown.call(elem,namespaces)===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];}}});}
+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(event,data,elem,bubbling){var type=event.type||event;if(!bubbling){event=typeof event==="object"?event[expando]?event:jQuery.extend(jQuery.Event(type),event):jQuery.Event(type);if(type.indexOf("!")>=0){event.type=type=type.slice(0,-1);event.exclusive=true;}
+if(!elem){event.stopPropagation();if(this.global[type])
+jQuery.each(jQuery.cache,function(){if(this.events&&this.events[type])
+jQuery.event.trigger(event,data,this.handle.elem);});}
+if(!elem||elem.nodeType==3||elem.nodeType==8)
+return undefined;event.result=undefined;event.target=elem;data=jQuery.makeArray(data);data.unshift(event);}
+event.currentTarget=elem;var handle=jQuery.data(elem,"handle");if(handle)
+handle.apply(elem,data);if((!elem[type]||(jQuery.nodeName(elem,'a')&&type=="click"))&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)
+event.result=false;if(!bubbling&&elem[type]&&!event.isDefaultPrevented()&&!(jQuery.nodeName(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]();}catch(e){}}
+this.triggered=false;if(!event.isPropagationStopped()){var parent=elem.parentNode||elem.ownerDocument;if(parent)
+jQuery.event.trigger(event,data,parent,true);}},handle:function(event){var all,handlers;event=arguments[0]=jQuery.event.fix(event||window.event);event.currentTarget=this;var namespaces=event.type.split(".");event.type=namespaces.shift();all=!namespaces.length&&!event.exclusive;var namespace=RegExp("(^|\\.)"+namespaces.slice().sort().join(".*\\.")+"(\\.|$)");handlers=(jQuery.data(this,"events")||{})[event.type];for(var j in handlers){var handler=handlers[j];if(all||namespace.test(handler.type)){event.handler=handler;event.data=handler.data;var ret=handler.apply(this,arguments);if(ret!==undefined){event.result=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}
+if(event.isImmediatePropagationStopped())
+break;}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(event){if(event[expando])
+return event;var originalEvent=event;event=jQuery.Event(originalEvent);for(var i=this.props.length,prop;i;){prop=this.props[--i];event[prop]=originalEvent[prop];}
+if(!event.target)
+event.target=event.srcElement||document;if(event.target.nodeType==3)
+event.target=event.target.parentNode;if(!event.relatedTarget&&event.fromElement)
+event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;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);}
+if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode))
+event.which=event.charCode||event.keyCode;if(!event.metaKey&&event.ctrlKey)
+event.metaKey=event.ctrlKey;if(!event.which&&event.button)
+event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));return event;},proxy:function(fn,proxy){proxy=proxy||function(){return fn.apply(this,arguments);};proxy.guid=fn.guid=fn.guid||proxy.guid||this.guid++;return proxy;},special:{ready:{setup:bindReady,teardown:function(){}}},specialAll:{live:{setup:function(selector,namespaces){jQuery.event.add(this,namespaces[0],liveHandler);},teardown:function(namespaces){if(namespaces.length){var remove=0,name=RegExp("(^|\\.)"+namespaces[0]+"(\\.|$)");jQuery.each((jQuery.data(this,"events").live||{}),function(){if(name.test(this.type))
+remove++;});if(remove<1)
+jQuery.event.remove(this,namespaces[0],liveHandler);}}}}};jQuery.Event=function(src){if(!this.preventDefault)
+return new jQuery.Event(src);if(src&&src.type){this.originalEvent=src;this.type=src.type;}else
+this.type=src;this.timeStamp=now();this[expando]=true;};function returnFalse(){return false;}
+function returnTrue(){return true;}
+jQuery.Event.prototype={preventDefault:function(){this.isDefaultPrevented=returnTrue;var e=this.originalEvent;if(!e)
+return;if(e.preventDefault)
+e.preventDefault();e.returnValue=false;},stopPropagation:function(){this.isPropagationStopped=returnTrue;var e=this.originalEvent;if(!e)
+return;if(e.stopPropagation)
+e.stopPropagation();e.cancelBubble=true;},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=returnTrue;this.stopPropagation();},isDefaultPrevented:returnFalse,isPropagationStopped:returnFalse,isImmediatePropagationStopped:returnFalse};var withinElement=function(event){var parent=event.relatedTarget;while(parent&&parent!=this)
+try{parent=parent.parentNode;}
+catch(e){parent=this;}
+if(parent!=this){event.type=event.data;jQuery.event.handle.apply(this,arguments);}};jQuery.each({mouseover:'mouseenter',mouseout:'mouseleave'},function(orig,fix){jQuery.event.special[fix]={setup:function(){jQuery.event.add(this,orig,withinElement,fix);},teardown:function(){jQuery.event.remove(this,orig,withinElement);}};});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){var one=jQuery.event.proxy(fn||data,function(event){jQuery(this).unbind(event,one);return(fn||data).apply(this,arguments);});return this.each(function(){jQuery.event.add(this,type,one,fn&&data);});},unbind:function(type,fn){return this.each(function(){jQuery.event.remove(this,type,fn);});},trigger:function(type,data){return this.each(function(){jQuery.event.trigger(type,data,this);});},triggerHandler:function(type,data){if(this[0]){var event=jQuery.Event(type);event.preventDefault();event.stopPropagation();jQuery.event.trigger(event,data,this[0]);return event.result;}},toggle:function(fn){var args=arguments,i=1;while(i<args.length)
+jQuery.event.proxy(fn,args[i++]);return this.click(jQuery.event.proxy(fn,function(event){this.lastToggle=(this.lastToggle||0)%i;event.preventDefault();return args[this.lastToggle++].apply(this,arguments)||false;}));},hover:function(fnOver,fnOut){return this.mouseenter(fnOver).mouseleave(fnOut);},ready:function(fn){bindReady();if(jQuery.isReady)
+fn.call(document,jQuery);else
+jQuery.readyList.push(fn);return this;},live:function(type,fn){var proxy=jQuery.event.proxy(fn);proxy.guid+=this.selector+type;jQuery(document).bind(liveConvert(type,this.selector),this.selector,proxy);return this;},die:function(type,fn){jQuery(document).unbind(liveConvert(type,this.selector),fn?{guid:fn.guid+this.selector+type}:null);return this;}});function liveHandler(event){var check=RegExp("(^|\\.)"+event.type+"(\\.|$)"),stop=true,elems=[];jQuery.each(jQuery.data(this,"events").live||[],function(i,fn){if(check.test(fn.type)){var elem=jQuery(event.target).closest(fn.data)[0];if(elem)
+elems.push({elem:elem,fn:fn});}});elems.sort(function(a,b){return jQuery.data(a.elem,"closest")-jQuery.data(b.elem,"closest");});jQuery.each(elems,function(){if(this.fn.call(this.elem,event,this.fn.data)===false)
+return(stop=false);});return stop;}
+function liveConvert(type,selector){return["live",type,selector.replace(/\./g,"`").replace(/ /g,"|")].join(".");}
+jQuery.extend({isReady:false,readyList:[],ready:function(){if(!jQuery.isReady){jQuery.isReady=true;if(jQuery.readyList){jQuery.each(jQuery.readyList,function(){this.call(document,jQuery);});jQuery.readyList=null;}
+jQuery(document).triggerHandler("ready");}}});var readyBound=false;function bindReady(){if(readyBound)return;readyBound=true;if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);jQuery.ready();},false);}else if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);jQuery.ready();}});if(document.documentElement.doScroll&&window==window.top)(function(){if(jQuery.isReady)return;try{document.documentElement.doScroll("left");}catch(error){setTimeout(arguments.callee,0);return;}
+jQuery.ready();})();}
+jQuery.event.add(window,"load",jQuery.ready);}
+jQuery.each(("blur,focus,load,resize,scroll,unload,click,dblclick,"+"mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,"+"change,select,submit,keydown,keypress,keyup,error").split(","),function(i,name){jQuery.fn[name]=function(fn){return fn?this.bind(name,fn):this.trigger(name);};});jQuery(window).bind('unload',function(){for(var id in jQuery.cache)
+if(id!=1&&jQuery.cache[id].handle)
+jQuery.event.remove(jQuery.cache[id].handle.elem);});(function(){jQuery.support={};var root=document.documentElement,script=document.createElement("script"),div=document.createElement("div"),id="script"+(new Date).getTime();div.style.display="none";div.innerHTML='   <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';var all=div.getElementsByTagName("*"),a=div.getElementsByTagName("a")[0];if(!all||!all.length||!a){return;}
+jQuery.support={leadingWhitespace:div.firstChild.nodeType==3,tbody:!div.getElementsByTagName("tbody").length,objectAll:!!div.getElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSerialize:!!div.getElementsByTagName("link").length,style:/red/.test(a.getAttribute("style")),hrefNormalized:a.getAttribute("href")==="/a",opacity:a.style.opacity==="0.5",cssFloat:!!a.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};script.type="text/javascript";try{script.appendChild(document.createTextNode("window."+id+"=1;"));}catch(e){}
+root.insertBefore(script,root.firstChild);if(window[id]){jQuery.support.scriptEval=true;delete window[id];}
+root.removeChild(script);if(div.attachEvent&&div.fireEvent){div.attachEvent("onclick",function(){jQuery.support.noCloneEvent=false;div.detachEvent("onclick",arguments.callee);});div.cloneNode(true).fireEvent("onclick");}
+jQuery(function(){var div=document.createElement("div");div.style.width=div.style.paddingLeft="1px";document.body.appendChild(div);jQuery.boxModel=jQuery.support.boxModel=div.offsetWidth===2;document.body.removeChild(div).style.display='none';});})();var styleFloat=jQuery.support.cssFloat?"cssFloat":"styleFloat";jQuery.props={"for":"htmlFor","class":"className","float":styleFloat,cssFloat:styleFloat,styleFloat:styleFloat,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};jQuery.fn.extend({_load:jQuery.fn.load,load:function(url,params,callback){if(typeof url!=="string")
+return this._load(url);var off=url.indexOf(" ");if(off>=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}
+var type="GET";if(params)
+if(jQuery.isFunction(params)){callback=params;params=null;}else if(typeof params==="object"){params=jQuery.param(params);type="POST";}
+var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified")
+self.html(selector?jQuery("<div/>").append(res.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(selector):res.responseText);if(callback)
+self.each(callback,[res.responseText,status,res]);}});return this;},serialize:function(){return jQuery.param(this.serializeArray());},serializeArray:function(){return this.map(function(){return this.elements?jQuery.makeArray(this.elements):this;}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type));}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:jQuery.isArray(val)?jQuery.map(val,function(val,i){return{name:elem.name,value:val};}):{name:elem.name,value:val};}).get();}});jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=now();jQuery.extend({get:function(url,data,callback,type){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:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(s){s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));var jsonp,jsre=/=\?(&|$)/g,status,data,type=s.type.toUpperCase();if(s.data&&s.processData&&typeof s.data!=="string")
+s.data=jQuery.param(s.data);if(s.dataType=="jsonp"){if(type=="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";}
+if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++;if(s.data)
+s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";window[jsonp]=function(tmp){data=tmp;success();complete();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&&type=="GET"){var ts=now();var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"");}
+if(s.data&&type=="GET"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data;s.data=null;}
+if(s.global&&!jQuery.active++)
+jQuery.event.trigger("ajaxStart");var parts=/^(\w+:)?\/\/([^\/?#]+)/.exec(s.url);if(s.dataType=="script"&&type=="GET"&&parts&&(parts[1]&&parts[1]!=location.protocol||parts[2]!=location.host)){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=s.url;if(s.scriptCharset)
+script.charset=s.scriptCharset;if(!jsonp){var done=false;script.onload=script.onreadystatechange=function(){if(!done&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){done=true;success();complete();script.onload=script.onreadystatechange=null;head.removeChild(script);}};}
+head.appendChild(script);return undefined;}
+var requestDone=false;var xhr=s.xhr();if(s.username)
+xhr.open(type,s.url,s.async,s.username,s.password);else
+xhr.open(type,s.url,s.async);try{if(s.data)
+xhr.setRequestHeader("Content-Type",s.contentType);if(s.ifModified)
+xhr.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");xhr.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default);}catch(e){}
+if(s.beforeSend&&s.beforeSend(xhr,s)===false){if(s.global&&!--jQuery.active)
+jQuery.event.trigger("ajaxStop");xhr.abort();return false;}
+if(s.global)
+jQuery.event.trigger("ajaxSend",[xhr,s]);var onreadystatechange=function(isTimeout){if(xhr.readyState==0){if(ival){clearInterval(ival);ival=null;if(s.global&&!--jQuery.active)
+jQuery.event.trigger("ajaxStop");}}else if(!requestDone&&xhr&&(xhr.readyState==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival=null;}
+status=isTimeout=="timeout"?"timeout":!jQuery.httpSuccess(xhr)?"error":s.ifModified&&jQuery.httpNotModified(xhr,s.url)?"notmodified":"success";if(status=="success"){try{data=jQuery.httpData(xhr,s.dataType,s);}catch(e){status="parsererror";}}
+if(status=="success"){var modRes;try{modRes=xhr.getResponseHeader("Last-Modified");}catch(e){}
+if(s.ifModified&&modRes)
+jQuery.lastModified[s.url]=modRes;if(!jsonp)
+success();}else
+jQuery.handleError(s,xhr,status);complete();if(isTimeout)
+xhr.abort();if(s.async)
+xhr=null;}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout>0)
+setTimeout(function(){if(xhr&&!requestDone)
+onreadystatechange("timeout");},s.timeout);}
+try{xhr.send(s.data);}catch(e){jQuery.handleError(s,xhr,null,e);}
+if(!s.async)
+onreadystatechange();function success(){if(s.success)
+s.success(data,status);if(s.global)
+jQuery.event.trigger("ajaxSuccess",[xhr,s]);}
+function complete(){if(s.complete)
+s.complete(xhr,status);if(s.global)
+jQuery.event.trigger("ajaxComplete",[xhr,s]);if(s.global&&!--jQuery.active)
+jQuery.event.trigger("ajaxStop");}
+return xhr;},handleError:function(s,xhr,status,e){if(s.error)s.error(xhr,status,e);if(s.global)
+jQuery.event.trigger("ajaxError",[xhr,s,e]);},active:0,httpSuccess:function(xhr){try{return!xhr.status&&location.protocol=="file:"||(xhr.status>=200&&xhr.status<300)||xhr.status==304||xhr.status==1223;}catch(e){}
+return false;},httpNotModified:function(xhr,url){try{var xhrRes=xhr.getResponseHeader("Last-Modified");return xhr.status==304||xhrRes==jQuery.lastModified[url];}catch(e){}
+return false;},httpData:function(xhr,type,s){var ct=xhr.getResponseHeader("content-type"),xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0,data=xml?xhr.responseXML:xhr.responseText;if(xml&&data.documentElement.tagName=="parsererror")
+throw"parsererror";if(s&&s.dataFilter)
+data=s.dataFilter(data,type);if(typeof data==="string"){if(type=="script")
+jQuery.globalEval(data);if(type=="json")
+data=window["eval"]("("+data+")");}
+return data;},param:function(a){var s=[];function add(key,value){s[s.length]=encodeURIComponent(key)+'='+encodeURIComponent(value);};if(jQuery.isArray(a)||a.jquery)
+jQuery.each(a,function(){add(this.name,this.value);});else
+for(var j in a)
+if(jQuery.isArray(a[j]))
+jQuery.each(a[j],function(){add(j,this);});else
+add(j,jQuery.isFunction(a[j])?a[j]():a[j]);return s.join("&").replace(/%20/g,"+");}});var elemdisplay={},timerId,fxAttrs=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function genFx(type,num){var obj={};jQuery.each(fxAttrs.concat.apply([],fxAttrs.slice(0,num)),function(){obj[this]=type;});return obj;}
+jQuery.fn.extend({show:function(speed,callback){if(speed){return this.animate(genFx("show",3),speed,callback);}else{for(var i=0,l=this.length;i<l;i++){var old=jQuery.data(this[i],"olddisplay");this[i].style.display=old||"";if(jQuery.css(this[i],"display")==="none"){var tagName=this[i].tagName,display;if(elemdisplay[tagName]){display=elemdisplay[tagName];}else{var elem=jQuery("<"+tagName+" />").appendTo("body");display=elem.css("display");if(display==="none")
+display="block";elem.remove();elemdisplay[tagName]=display;}
+jQuery.data(this[i],"olddisplay",display);}}
+for(var i=0,l=this.length;i<l;i++){this[i].style.display=jQuery.data(this[i],"olddisplay")||"";}
+return this;}},hide:function(speed,callback){if(speed){return this.animate(genFx("hide",3),speed,callback);}else{for(var i=0,l=this.length;i<l;i++){var old=jQuery.data(this[i],"olddisplay");if(!old&&old!=="none")
+jQuery.data(this[i],"olddisplay",jQuery.css(this[i],"display"));}
+for(var i=0,l=this.length;i<l;i++){this[i].style.display="none";}
+return this;}},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){var bool=typeof fn==="boolean";return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle.apply(this,arguments):fn==null||bool?this.each(function(){var state=bool?fn:jQuery(this).is(":hidden");jQuery(this)[state?"show":"hide"]();}):this.animate(genFx("toggle",3),fn,fn2);},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(){var opt=jQuery.extend({},optall),p,hidden=this.nodeType==1&&jQuery(this).is(":hidden"),self=this;for(p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)
+return opt.complete.call(this);if((p=="height"||p=="width")&&this.style){opt.display=jQuery.css(this,"display");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";if(unit!="px"){self.style[name]=(end||1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit;}
+if(parts[1])
+end=((parts[1]=="-="?-1:1)*end)+start;e.custom(start,end,unit);}else
+e.custom(start,val,"");}});return true;});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue)
+this.queue([]);this.each(function(){for(var i=timers.length-1;i>=0;i--)
+if(timers[i].elem==this){if(gotoEnd)
+timers[i](true);timers.splice(i,1);}});if(!gotoEnd)
+this.dequeue();return this;}});jQuery.each({slideDown:genFx("show",1),slideUp:genFx("hide",1),slideToggle:genFx("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(name,props){jQuery.fn[name]=function(speed,callback){return this.animate(props,speed,callback);};});jQuery.extend({speed:function(speed,easing,fn){var opt=typeof speed==="object"?speed:{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&!jQuery.isFunction(easing)&&easing};opt.duration=jQuery.fx.off?0:typeof opt.duration==="number"?opt.duration:jQuery.fx.speeds[opt.duration]||jQuery.fx.speeds._default;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false)
+jQuery(this).dequeue();if(jQuery.isFunction(opt.old))
+opt.old.call(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:[],fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;if(!options.orig)
+options.orig={};}});jQuery.fx.prototype={update:function(){if(this.options.step)
+this.options.step.call(this.elem,this.now,this);(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style)
+this.elem.style.display="block";},cur:function(force){if(this.elem[this.prop]!=null&&(!this.elem.style||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;},custom:function(from,to,unit){this.startTime=now();this.start=from;this.end=to;this.unit=unit||this.unit||"px";this.now=this.start;this.pos=this.state=0;var self=this;function t(gotoEnd){return self.step(gotoEnd);}
+t.elem=this.elem;if(t()&&jQuery.timers.push(t)&&!timerId){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(timerId);timerId=undefined;}},13);}},show:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.show=true;this.custom(this.prop=="width"||this.prop=="height"?1:0,this.cur());jQuery(this.elem).show();},hide:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0);},step:function(gotoEnd){var t=now();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){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,"display")=="none")
+this.elem.style.display="block";}
+if(this.options.hide)
+jQuery(this.elem).hide();if(this.options.hide||this.options.show)
+for(var p in this.options.curAnim)
+jQuery.attr(this.elem.style,p,this.options.orig[p]);this.options.complete.call(this.elem);}
+return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;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);this.update();}
+return true;}};jQuery.extend(jQuery.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(fx){jQuery.attr(fx.elem.style,"opacity",fx.now);},_default:function(fx){if(fx.elem.style&&fx.elem.style[fx.prop]!=null)
+fx.elem.style[fx.prop]=fx.now+fx.unit;else
+fx.elem[fx.prop]=fx.now;}}});if(document.documentElement["getBoundingClientRect"])
+jQuery.fn.offset=function(){if(!this[0])return{top:0,left:0};if(this[0]===this[0].ownerDocument.body)return jQuery.offset.bodyOffset(this[0]);var box=this[0].getBoundingClientRect(),doc=this[0].ownerDocument,body=doc.body,docElem=doc.documentElement,clientTop=docElem.clientTop||body.clientTop||0,clientLeft=docElem.clientLeft||body.clientLeft||0,top=box.top+(self.pageYOffset||jQuery.boxModel&&docElem.scrollTop||body.scrollTop)-clientTop,left=box.left+(self.pageXOffset||jQuery.boxModel&&docElem.scrollLeft||body.scrollLeft)-clientLeft;return{top:top,left:left};};else
+jQuery.fn.offset=function(){if(!this[0])return{top:0,left:0};if(this[0]===this[0].ownerDocument.body)return jQuery.offset.bodyOffset(this[0]);jQuery.offset.initialized||jQuery.offset.initialize();var elem=this[0],offsetParent=elem.offsetParent,prevOffsetParent=elem,doc=elem.ownerDocument,computedStyle,docElem=doc.documentElement,body=doc.body,defaultView=doc.defaultView,prevComputedStyle=defaultView.getComputedStyle(elem,null),top=elem.offsetTop,left=elem.offsetLeft;while((elem=elem.parentNode)&&elem!==body&&elem!==docElem){computedStyle=defaultView.getComputedStyle(elem,null);top-=elem.scrollTop,left-=elem.scrollLeft;if(elem===offsetParent){top+=elem.offsetTop,left+=elem.offsetLeft;if(jQuery.offset.doesNotAddBorder&&!(jQuery.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(elem.tagName)))
+top+=parseInt(computedStyle.borderTopWidth,10)||0,left+=parseInt(computedStyle.borderLeftWidth,10)||0;prevOffsetParent=offsetParent,offsetParent=elem.offsetParent;}
+if(jQuery.offset.subtractsBorderForOverflowNotVisible&&computedStyle.overflow!=="visible")
+top+=parseInt(computedStyle.borderTopWidth,10)||0,left+=parseInt(computedStyle.borderLeftWidth,10)||0;prevComputedStyle=computedStyle;}
+if(prevComputedStyle.position==="relative"||prevComputedStyle.position==="static")
+top+=body.offsetTop,left+=body.offsetLeft;if(prevComputedStyle.position==="fixed")
+top+=Math.max(docElem.scrollTop,body.scrollTop),left+=Math.max(docElem.scrollLeft,body.scrollLeft);return{top:top,left:left};};jQuery.offset={initialize:function(){if(this.initialized)return;var body=document.body,container=document.createElement('div'),innerDiv,checkDiv,table,td,rules,prop,bodyMarginTop=body.style.marginTop,html='<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';rules={position:'absolute',top:0,left:0,margin:0,border:0,width:'1px',height:'1px',visibility:'hidden'};for(prop in rules)container.style[prop]=rules[prop];container.innerHTML=html;body.insertBefore(container,body.firstChild);innerDiv=container.firstChild,checkDiv=innerDiv.firstChild,td=innerDiv.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(checkDiv.offsetTop!==5);this.doesAddBorderForTableAndCells=(td.offsetTop===5);innerDiv.style.overflow='hidden',innerDiv.style.position='relative';this.subtractsBorderForOverflowNotVisible=(checkDiv.offsetTop===-5);body.style.marginTop='1px';this.doesNotIncludeMarginInBodyOffset=(body.offsetTop===0);body.style.marginTop=bodyMarginTop;body.removeChild(container);this.initialized=true;},bodyOffset:function(body){jQuery.offset.initialized||jQuery.offset.initialize();var top=body.offsetTop,left=body.offsetLeft;if(jQuery.offset.doesNotIncludeMarginInBodyOffset)
+top+=parseInt(jQuery.curCSS(body,'marginTop',true),10)||0,left+=parseInt(jQuery.curCSS(body,'marginLeft',true),10)||0;return{top:top,left:left};}};jQuery.fn.extend({position:function(){var left=0,top=0,results;if(this[0]){var offsetParent=this.offsetParent(),offset=this.offset(),parentOffset=/^body|html$/i.test(offsetParent[0].tagName)?{top:0,left:0}:offsetParent.offset();offset.top-=num(this,'marginTop');offset.left-=num(this,'marginLeft');parentOffset.top+=num(offsetParent,'borderTopWidth');parentOffset.left+=num(offsetParent,'borderLeftWidth');results={top:offset.top-parentOffset.top,left:offset.left-parentOffset.left};}
+return results;},offsetParent:function(){var offsetParent=this[0].offsetParent||document.body;while(offsetParent&&(!/^body|html$/i.test(offsetParent.tagName)&&jQuery.css(offsetParent,'position')=='static'))
+offsetParent=offsetParent.offsetParent;return jQuery(offsetParent);}});jQuery.each(['Left','Top'],function(i,name){var method='scroll'+name;jQuery.fn[method]=function(val){if(!this[0])return null;return val!==undefined?this.each(function(){this==window||this==document?window.scrollTo(!i?val:jQuery(window).scrollLeft(),i?val:jQuery(window).scrollTop()):this[method]=val;}):this[0]==window||this[0]==document?self[i?'pageYOffset':'pageXOffset']||jQuery.boxModel&&document.documentElement[method]||document.body[method]:this[0][method];};});jQuery.each(["Height","Width"],function(i,name){var tl=i?"Left":"Top",br=i?"Right":"Bottom",lower=name.toLowerCase();jQuery.fn["inner"+name]=function(){return this[0]?jQuery.css(this[0],lower,false,"padding"):null;};jQuery.fn["outer"+name]=function(margin){return this[0]?jQuery.css(this[0],lower,false,margin?"margin":"border"):null;};var type=name.toLowerCase();jQuery.fn[type]=function(size){return this[0]==window?document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(document.documentElement["client"+name],document.body["scroll"+name],document.documentElement["scroll"+name],document.body["offset"+name],document.documentElement["offset"+name]):size===undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,typeof size==="string"?size:size+"px");};});})();(function($){$.fn.ajaxSubmit=function(options){if(!this.length){log('ajaxSubmit: skipping submit process - no element selected');return this;}
+if(typeof options=='function')
+options={success:options};options=$.extend({url:this.attr('action')||window.location.toString(),type:this.attr('method')||'GET'},options||{});var veto={};this.trigger('form-pre-serialize',[this,options,veto]);if(veto.veto){log('ajaxSubmit: submit vetoed via form-pre-serialize trigger');return this;}
+var a=this.formToArray(options.semantic);if(options.data){options.extraData=options.data;for(var n in options.data)
+a.push({name:n,value:options.data[n]});}
+if(options.beforeSubmit&&options.beforeSubmit(a,this,options)===false){log('ajaxSubmit: submit aborted via beforeSubmit callback');return this;}
+this.trigger('form-submit-validate',[a,this,options,veto]);if(veto.veto){log('ajaxSubmit: submit vetoed via form-submit-validate trigger');return this;}
+var q=$.param(a);if(options.type.toUpperCase()=='GET'){options.url+=(options.url.indexOf('?')>=0?'&':'?')+q;options.data=null;}
+else
+options.data=q;var $form=this,callbacks=[];if(options.resetForm)callbacks.push(function(){$form.resetForm();});if(options.clearForm)callbacks.push(function(){$form.clearForm();});if(!options.dataType&&options.target){var oldSuccess=options.success||function(){};callbacks.push(function(data){$(options.target).html(data).each(oldSuccess,arguments);});}
+else if(options.success)
+callbacks.push(options.success);options.success=function(data,status){for(var i=0,max=callbacks.length;i<max;i++)
+callbacks[i](data,status,$form);};var files=$('input:file',this).fieldValue();var found=false;for(var j=0;j<files.length;j++)
+if(files[j])
+found=true;if(options.iframe||found){if($.browser.safari&&options.closeKeepAlive)
+$.get(options.closeKeepAlive,fileUpload);else
+fileUpload();}
+else
+$.ajax(options);this.trigger('form-submit-notify',[this,options]);return this;function fileUpload(){var form=$form[0];if($(':input[@name=submit]',form).length){alert('Error: Form elements must not be named "submit".');return;}
+var opts=$.extend({},$.ajaxSettings,options);var id='jqFormIO'+(new Date().getTime());var $io=$('<iframe id="'+id+'" name="'+id+'" />');var io=$io[0];if($.browser.msie||$.browser.opera)
+io.src='javascript:false;document.write("");';$io.css({position:'absolute',top:'-1000px',left:'-1000px'});var xhr={responseText:null,responseXML:null,status:0,statusText:'n/a',getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){}};var g=opts.global;if(g&&!$.active++)$.event.trigger("ajaxStart");if(g)$.event.trigger("ajaxSend",[xhr,opts]);var cbInvoked=0;var timedOut=0;var sub=form.clk;if(sub){var n=sub.name;if(n&&!sub.disabled){options.extraData=options.extraData||{};options.extraData[n]=sub.value;if(sub.type=="image"){options.extraData[name+'.x']=form.clk_x;options.extraData[name+'.y']=form.clk_y;}}}
+setTimeout(function(){var t=$form.attr('target'),a=$form.attr('action');$form.attr({target:id,encoding:'multipart/form-data',enctype:'multipart/form-data',method:'POST',action:opts.url});if(opts.timeout)
+setTimeout(function(){timedOut=true;cb();},opts.timeout);var extraInputs=[];try{if(options.extraData)
+for(var n in options.extraData)
+extraInputs.push($('<input type="hidden" name="'+n+'" value="'+options.extraData[n]+'" />').appendTo(form)[0]);$io.appendTo('body');io.attachEvent?io.attachEvent('onload',cb):io.addEventListener('load',cb,false);form.submit();}
+finally{$form.attr('action',a);t?$form.attr('target',t):$form.removeAttr('target');$(extraInputs).remove();}},10);function cb(){if(cbInvoked++)return;io.detachEvent?io.detachEvent('onload',cb):io.removeEventListener('load',cb,false);var operaHack=0;var ok=true;try{if(timedOut)throw'timeout';var data,doc;doc=io.contentWindow?io.contentWindow.document:io.contentDocument?io.contentDocument:io.document;if(doc.body==null&&!operaHack&&$.browser.opera){operaHack=1;cbInvoked--;setTimeout(cb,100);return;}
+xhr.responseText=doc.body?doc.body.innerHTML:null;xhr.responseXML=doc.XMLDocument?doc.XMLDocument:doc;xhr.getResponseHeader=function(header){var headers={'content-type':opts.dataType};return headers[header];};if(opts.dataType=='json'||opts.dataType=='script'){var ta=doc.getElementsByTagName('textarea')[0];xhr.responseText=ta?ta.value:xhr.responseText;}
+else if(opts.dataType=='xml'&&!xhr.responseXML&&xhr.responseText!=null){xhr.responseXML=toXml(xhr.responseText);}
+data=$.httpData(xhr,opts.dataType);}
+catch(e){ok=false;$.handleError(opts,xhr,'error',e);}
+if(ok){opts.success(data,'success');if(g)$.event.trigger("ajaxSuccess",[xhr,opts]);}
+if(g)$.event.trigger("ajaxComplete",[xhr,opts]);if(g&&!--$.active)$.event.trigger("ajaxStop");if(opts.complete)opts.complete(xhr,ok?'success':'error');setTimeout(function(){$io.remove();xhr.responseXML=null;},100);};function toXml(s,doc){if(window.ActiveXObject){doc=new ActiveXObject('Microsoft.XMLDOM');doc.async='false';doc.loadXML(s);}
+else
+doc=(new DOMParser()).parseFromString(s,'text/xml');return(doc&&doc.documentElement&&doc.documentElement.tagName!='parsererror')?doc:null;};};};$.fn.ajaxForm=function(options){return this.ajaxFormUnbind().bind('submit.form-plugin',function(){$(this).ajaxSubmit(options);return false;}).each(function(){$(":submit,input:image",this).bind('click.form-plugin',function(e){var $form=this.form;$form.clk=this;if(this.type=='image'){if(e.offsetX!=undefined){$form.clk_x=e.offsetX;$form.clk_y=e.offsetY;}else if(typeof $.fn.offset=='function'){var offset=$(this).offset();$form.clk_x=e.pageX-offset.left;$form.clk_y=e.pageY-offset.top;}else{$form.clk_x=e.pageX-this.offsetLeft;$form.clk_y=e.pageY-this.offsetTop;}}
+setTimeout(function(){$form.clk=$form.clk_x=$form.clk_y=null;},10);});});};$.fn.ajaxFormUnbind=function(){this.unbind('submit.form-plugin');return this.each(function(){$(":submit,input:image",this).unbind('click.form-plugin');});};$.fn.formToArray=function(semantic){var a=[];if(this.length==0)return a;var form=this[0];var els=semantic?form.getElementsByTagName('*'):form.elements;if(!els)return a;for(var i=0,max=els.length;i<max;i++){var el=els[i];var n=el.name;if(!n)continue;if(semantic&&form.clk&&el.type=="image"){if(!el.disabled&&form.clk==el)
+a.push({name:n+'.x',value:form.clk_x},{name:n+'.y',value:form.clk_y});continue;}
+var v=$.fieldValue(el,true);if(v&&v.constructor==Array){for(var j=0,jmax=v.length;j<jmax;j++)
+a.push({name:n,value:v[j]});}
+else if(v!==null&&typeof v!='undefined')
+a.push({name:n,value:v});}
+if(!semantic&&form.clk){var inputs=form.getElementsByTagName("input");for(var i=0,max=inputs.length;i<max;i++){var input=inputs[i];var n=input.name;if(n&&!input.disabled&&input.type=="image"&&form.clk==input)
+a.push({name:n+'.x',value:form.clk_x},{name:n+'.y',value:form.clk_y});}}
+return a;};$.fn.formSerialize=function(semantic){return $.param(this.formToArray(semantic));};$.fn.fieldSerialize=function(successful){var a=[];this.each(function(){var n=this.name;if(!n)return;var v=$.fieldValue(this,successful);if(v&&v.constructor==Array){for(var i=0,max=v.length;i<max;i++)
+a.push({name:n,value:v[i]});}
+else if(v!==null&&typeof v!='undefined')
+a.push({name:this.name,value:v});});return $.param(a);};$.fn.fieldValue=function(successful){for(var val=[],i=0,max=this.length;i<max;i++){var el=this[i];var v=$.fieldValue(el,successful);if(v===null||typeof v=='undefined'||(v.constructor==Array&&!v.length))
+continue;v.constructor==Array?$.merge(val,v):val.push(v);}
+return val;};$.fieldValue=function(el,successful){var n=el.name,t=el.type,tag=el.tagName.toLowerCase();if(typeof successful=='undefined')successful=true;if(successful&&(!n||el.disabled||t=='reset'||t=='button'||(t=='checkbox'||t=='radio')&&!el.checked||(t=='submit'||t=='image')&&el.form&&el.form.clk!=el||tag=='select'&&el.selectedIndex==-1))
+return null;if(tag=='select'){var index=el.selectedIndex;if(index<0)return null;var a=[],ops=el.options;var one=(t=='select-one');var max=(one?index+1:ops.length);for(var i=(one?index:0);i<max;i++){var op=ops[i];if(op.selected){var v=$.browser.msie&&!(op.attributes['value'].specified)?op.text:op.value;if(one)return v;a.push(v);}}
+return a;}
+return el.value;};$.fn.clearForm=function(){return this.each(function(){$('input,select,textarea',this).clearFields();});};$.fn.clearFields=$.fn.clearInputs=function(){return this.each(function(){var t=this.type,tag=this.tagName.toLowerCase();if(t=='text'||t=='password'||tag=='textarea')
+this.value='';else if(t=='checkbox'||t=='radio')
+this.checked=false;else if(tag=='select')
+this.selectedIndex=-1;});};$.fn.resetForm=function(){return this.each(function(){if(typeof this.reset=='function'||(typeof this.reset=='object'&&!this.reset.nodeType))
+this.reset();});};$.fn.enable=function(b){if(b==undefined)b=true;return this.each(function(){this.disabled=!b});};$.fn.select=function(select){if(select==undefined)select=true;return this.each(function(){var t=this.type;if(t=='checkbox'||t=='radio')
+this.checked=select;else if(this.tagName.toLowerCase()=='option'){var $sel=$(this).parent('select');if(select&&$sel[0]&&$sel[0].type=='select-one'){$sel.find('option').select(false);}
+this.selected=select;}});};function log(){if($.fn.ajaxSubmit.debug&&window.console&&window.console.log)
+window.console.log('[jquery.form] '+Array.prototype.join.call(arguments,''));};})(jQuery);var TO_LOAD_INDEX=0;var TO_LOAD=new Array;var MARKITUP=false;var UNBIND=false;var GOTOAFTERSUBMIT='';$(function(){load_jquery();});function load_jquery(){if(UNBIND){if(MARKITUP){$("*").not(".markItUpButton").unbind();}else{$("*").unbind();}}
+UNBIND=true;$("a.submit").click(function(){$(this).parents("form").submit();if($(this).attr('href')!='#'){GOTOAFTERSUBMIT=$(this).attr('href');}
+return false;});$("a.submitOnce").click(function(){$(this).parents("form").submit();$(this).unbind('click');return false;});$("a.submitWait").click(function(){$(this).parents("form").after('<p class="center">'+$(this).attr('title')+'<br /><br /><img src="'+IMG_CUBE+'/loader.gif" /></p>');$(this).parents("form").submit();$(this).parents("form").hide();return false;});$("form").submit(function(){$(this).attr('change','0');return true;});$("form.blank").each(function(){$(this).attr('target','_blank');$(this).removeClass('_blank');});$("form").not(".notajax").submit(function(){display_loader();$(this).ajaxSubmit({url:SITE_PATH+'ajax/'+$(this).attr('action'),success:function(data){MyAjax(data);if(GOTOAFTERSUBMIT!=''){window.location=GOTOAFTERSUBMIT;GOTOAFTERSUBMIT='';}}});return false;});$(".notajax form").unbind();$("form.submitonchange :input").each(function(){$(this).one('change',function(){$(this).parents("form").submit();});});$(":input").change(function(){$(this).parents("form").attr("change",1);});$("a.ajax").click(function(){var title=$(this).attr('title');var href=$(this).attr('rel');if(title!=''&&title!=undefined&&title.search(/\?/)>-1){if(!window.confirm(title)){return false;}}
+if($(this).hasClass('wait')){wait();}
+display_loader();$.ajax({url:SITE_PATH+'ajax/'+href,success:function(data){MyAjax(data);}});return false;});$("a.dajax").dblclick(function(){var title=$(this).attr('title');var href=$(this).attr('rel');if(title!=''&&title!=undefined&&title.search(/\?/)>=0){if(!window.confirm(title)){return false;}}
+display_loader();$.ajax({url:SITE_PATH+'ajax/'+href,success:function(data){MyAjax(data);}});return false;});$("a.ajaxh").click(function(){var title=$(this).attr('title');var href=$(this).attr('href');if(title!=''&&title!=undefined&&title.search(/\?/)>=0){if(!window.confirm(title)){return false;}}
+display_loader();$.ajax({url:href,success:function(data){MyAjax(data);}});return false;});$("a.prompt").click(function(){var href=$(this).attr('rel');var defaut=$(this).attr('rev');var name=window.prompt($(this).attr('title'),defaut);if(name==null||name=='null'||name==''){return false;}
+display_loader();$.ajax({url:SITE_PATH+'ajax/'+href+'?var='+name,success:function(data){MyAjax(data);}});return false;});$("a.closePopup").click(function(){closePopup($(this),true);return false;});$("a.closePopupNotConfirm").click(function(){closePopup($(this),false);return false;});$("a.popup").click(function(){display_loader();$.ajax({url:SITE_PATH+'ajax/'+$(this).attr('rel'),dataType:'responseText',success:function(data){createPopup(data);}});remove_loader();return false;});$("a.changepopup").click(function(){display_loader();$.ajax({url:SITE_PATH+'ajax/'+$(this).attr('rel'),dataType:'responseText',success:function(data){changepopup(data);load_jquery();}});remove_loader();return false;});$("a.blank").click(function(){$(this).attr('target','_blank');return true;});$("a.nothing").click(function(){return false;});$(".pemail").each(function(){var protected=$(this).text();var adresse=rot13(protected);$(this).text(adresse);$(this).attr('href','mailto:'+adresse);$(this).removeClass('pemail');});var len=TO_LOAD.length;for(var i=0;i<len;i++){eval(TO_LOAD[i]);}
+__fixPNG();if($("#jquery_time").length>0&&$("#jquery_time").text()==''){var E=new Date();var m=(parseInt(E-S)/1000).toString().replace('.',',');$("#jquery_time").text(m);}}
+function randval(min,max){var diff=max-min;return Math.round(Math.random()*diff)+diff;}
+function rot(t,u,v){return String.fromCharCode(((t-u+v)%(v*2))+u);}
+function rot13(s){var b=[],c,i=s.length,a='a'.charCodeAt(),z=a+26,A='A'.charCodeAt(),Z=A+26;while(i--){c=s.charCodeAt(i);if(c>=a&&c<z){b[i]=rot(c,a,13);}else if(c>=A&&c<Z){b[i]=rot(c,A,13);}else{b[i]=s.charAt(i);}}
+return b.join('');}
+function createPopup(data){POPUP_COUNTER=parseInt(POPUP_COUNTER);$("body").append('<div id="pl_'+POPUP_COUNTER+'" class="popupLayer"><div class="popupOverlay" id="po_'+POPUP_COUNTER+'" style="z-index:'+(1000+POPUP_COUNTER*2)+';"></div><div id="pw_'+POPUP_COUNTER+'" class="popupWindow" style="z-index:'+(1001+POPUP_COUNTER*2)+';"></div></div>');$("#po_"+POPUP_COUNTER).css('opacity',0.65);$("#po_"+POPUP_COUNTER).css('display','block');$("#pw_"+POPUP_COUNTER).html(data);$("#pw_"+POPUP_COUNTER).show();popup_dimensions(POPUP_COUNTER);load_jquery();POPUP_COUNTER+=1;}
+function closePopup(object,confirm){if(object==undefined||object==null){var i=$(".popupLayer").length-1;var elements=$(".popupLayer").get();var e=elements[i];var changes=false;$(this).find("form").each(function(){if($(this).attr("change")==1){changes=true;}});if(confirm==false||(changes==true&&window.confirm(CONFIRM_CLOSE))||changes==false){$(e).remove();POPUP_COUNTER-=1;popup_dimensions();}}else{$(object).parents(".popupLayer").each(function(){var changes=false;$(this).find("form").each(function(){if($(this).attr("change")==1){changes=true;}});if(confirm==false||(changes==true&&window.confirm(CONFIRM_CLOSE))||changes==false){$(this).remove();POPUP_COUNTER-=1;popup_dimensions();}});}}
+function popup_dimensions(i){if(i==undefined){i=POPUP_COUNTER-1;}
+if(i<0){return;}
+var margin=30;var mh=$(window).height()-(margin*2);if(!$.browser.msie){$("#pw_"+i).css("opacity",0);}
+$("#pw_"+i+" .c>div").css("overflow-y",'auto');$("#pw_"+i+" .c>div").css("overflow-x",'visible');$("#pw_"+i+" .c>div").css("max-height",mh);$("#pw_"+i).css("left",($(window).width()-$("#pw_"+i).width())/2);if($("#pw_"+i+" .c>div").attr('top')){$("#pw_"+i).css("top",parseInt($("#pw_"+i+" .c>div").attr('top')));}else{var top=(mh-$("#pw_"+i).height())/2+margin;$("#pw_"+i).css("top",top);}
+if(!$.browser.msie){$("#pw_"+i).css("opacity",1);}}
+function changepopup(data){var pc=POPUP_COUNTER-1;$("#pw_"+pc).html(data);popup_dimensions(pc);}
+function checkUpload(){if($.browser.msie){var iframe=uploadIframe.document;}else{var uploadIframe=document.getElementById('uploadIframe');var iframe=uploadIframe.contentDocument;}
+if(iframe.getElementById('status')!=undefined&&iframe.contentDocument.getElementById('status').innerHTML!=undefined){clearInterval(INTERVAL);$.ajax({url:UPDATE,success:function(data){MyAjax(data);}});if(iframe.getElementById('status').innerHTML!='ok'){window.alert(ERREUR_FICHIER+' : \n'+iframe.getElementById('status').innerHTML);}
+if(POPUP_COUNTER>0){closePopup(null,false);}
+$("#uploadIframe").remove();}}
+function isSet(i){return(i==null||i=='null'||i==''||i=='undefined');}
+function callAjaxSwf(urlLink){$.ajax({url:urlLink,success:function(data){MyAjax(data);}});}
+function swfAjax(data){MyAjax(strToXML(data));}
+function MyAjax(data,reload){var error=new Array();var confirmation='';var ok=true;var t=$(data).children('rsp').children().get();for(var i=0;i<t.length;i++){var e=t[i];var name=e.nodeName;if(name=='confirmation'){var contentconfirm=$(e).text();confirmation+="<p>"+contentconfirm+"</p>";}else if(name=='error'){var errors=$(e).children().get();for(var j=0;j<errors.length;j++){var err=errors[j];var ename=err.nodeName;var econtent=$(err).text();$("#"+ename).addClass('error');$("#"+ename).val('');error.push(econtent);ok=false;}}else if(name=='content'){var contents=$(e).children().get();for(var k=0;k<contents.length;k++){var content=contents[k];var cname=content.nodeName;var ccontent=$(content).text();if(ccontent==''){$("#"+cname).html(ccontent);}else{$("#"+cname).html(ccontent);}
+if(POPUP_COUNTER-1>=0){popup_dimensions(POPUP_COUNTER-1);}}}else if(name=='replace'){var contents=$(e).children().get();for(var k=0;k<contents.length;k++){var content=contents[k];var cname=content.nodeName;var ccontent=$(content).text();if(ccontent==''){$("#"+cname).replaceWith(ccontent);}else{$("#"+cname).replaceWith(ccontent);}
+if(POPUP_COUNTER-1>=0){popup_dimensions(POPUP_COUNTER-1);}}}else if(name=='append'){var contents=$(e).children().get();for(var k=0;k<contents.length;k++){var content=contents[k];var cname=content.nodeName;var ccontent=$(content).text();if(ccontent==''){$("#"+cname).append(ccontent);}else{$("#"+cname).append(ccontent);}
+if(POPUP_COUNTER-1>=0){popup_dimensions(POPUP_COUNTER-1);}}}else if(name=='param'){var ids=$(e).children().get();for(var p=0;p<ids.length;p++){var id=ids[p];var idname=id.nodeName;var params=$(id).children().get();var o={};for(var q=0;q<params.length;q++){var param=params[q];var paramname=param.nodeName;var paramcontent=$(param).text();o[paramname]=paramcontent;}
+$("#"+idname).attr(o);$("#"+idname).parents("form").unbind('submit');}}else if(name=='alert'){var alerts=$(e).children().get();for(var r=0;r<alerts.length;r++){var alert=alerts[r];var acontent=$(alert).text();window.alert(acontent);}}else if(name=='ok'){var oks=$(e).children().get();for(var l=0;l<oks.length;l++){var ok=oks[l];var oname=ok.nodeName.toLowerCase();$("#"+oname).removeClass('error');}}else if(name=='redirection'){var url=$(e).text();window.location=url;}else if(name=='show'){var oks=$(e).children().get();for(var l=0;l<oks.length;l++){var ok=oks[l];var oname=ok.nodeName;$("#"+oname).show('fast');}}else if(name=='debug'){}else if(name=='eval'){var codes=$(e).children().get();for(var r=0;r<codes.length;r++){var code=codes[r];eval($(code).text());}}else if(name=='closepopup'){var closes=$(e).children().get();for(var cp=0;cp<closes.length;cp++){closePopup(null,false);}}else if(name=='openpopup'){var opens=$(e).children().get();for(var op=0;op<opens.length;op++){var cont=opens[op];createPopup($(cont).text());}}else if(name=='changepopup'){var changes=$(e).children().get();for(var cp=0;cp<changes.length;cp++){var cont=changes[cp];changepopup($(cont).text());}}
+else if(name=='popupdimensions'){popup_dimensions();}
+else if(name=='truepopup'){var trues=$(e).children().get();for(var tp=0;tp<trues.length;tp++){var cont=trues[tp];truePopup($(cont).text());}}else if(name=='timer'){var time=parseInt($(e).text());var t=setTimeout("doNothing()",time);}else if(name=='value'){var values=$(e).children().get();for(var v=0;v<values.length;v++){var node=values[v];var oname=node.nodeName;var val=$("#"+oname).val($(node).text());}}}
+if(error.length>0){$("#message").html(error.join('<br />'));}else{$("#message").html('');}
+if(confirmation!=''){$("#confirmation").html(confirmation);$("#confirmation").animate({height:26,opacity:1},2000,function(){$("#confirmation").fadeTo(10000,1,function(){$("#confirmation").animate({height:0,opacity:0},2000);$("#confirmation").empty();});});}
+if(reload==true||reload==undefined){load_jquery();}
+remove_loader();return ok;}
+function truePopup(url){var rand=Math.round(Math.random()*200);window.open(url,'Popup'+rand,'width='+window.width+',height='+window.height);}
+function _fixPNG(){var png;var images=$('img[src*="png"]:not([fixed="fixed"])');images.each(function(){png=$(this).attr('src');$(this).attr('src',IMG_CUBE+'/spacer.gif');$(this).css('filter',"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+png+"')");$(this).attr('fixed','fixed');});}
+function __fixPNG(){if($.browser.msie&&parseInt(navigator.userAgent.match(/MSIE (\d+(?:\.\d+)+(?:b\d*)?)/)[1])<=6){_fixPNG();}}
+function getWindowHeight(){var windowHeight=0;if(typeof(window.innerHeight)=='number'){windowHeight=window.innerHeight;}
+else{if(document.documentElement&&document.documentElement.clientHeight){windowHeight=document.documentElement.clientHeight;}
+else{if(document.body&&document.body.clientHeight){windowHeight=document.body.clientHeight;}}}
+return windowHeight;}
+function getWindowWidth(){var myWidth=0;if(typeof(window.innerWidth)=='number'){myWidth=window.innerWidth;}
+else if(document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight)){myWidth=document.documentElement.clientWidth;}
+else if(document.body&&(document.body.clientWidth||document.body.clientHeight)){myWidth=document.body.clientWidth;}
+return myWidth;}
+function doNothing(){}
+function htmlEditorGetText(id){var text=document.getElementById(id).value;return'<TEXTFORMAT LEADING="2"><P ALIGN="LEFT">'+text+'</P></TEXTFORMAT>';}
+function htmlEditorPutText(id,text){document.getElementById(id).value=text;}
+function display_loader(){if(LOADER_AJAX==''){}else{$("body").append('<div id="loader"><img src="'+LOADER_AJAX+'" /></div>');}}
+function remove_loader(){if(LOADER_AJAX==''){}else{$("#loader").remove();}}
+function URLEncode(clearString){var output='';var x=0;clearString=clearString.toString();var regex=/(^[a-zA-Z0-9_.]*)/;while(x<clearString.length){var match=regex.exec(clearString.substr(x));if(match!=null&&match.length>1&&match[1]!=''){output+=match[1];x+=match[1].length;}else{if(clearString[x]==' ')
+output+='+';else{var charCode=clearString.charCodeAt(x);var hexVal=charCode.toString(16);output+='%'+(hexVal.length<2?'0':'')+hexVal.toUpperCase();}
+x++;}}
+return output;}
+function strToXML(str){var contentType='application/xml';if(typeof(DOMParser)!='undefined'){return(new DOMParser()).parseFromString(str.substr(0,4095),contentType);}else if(typeof(ActiveXObject)!='undefined'){var xmldata=new ActiveXObject('MSXML.DomDocument');xmldata.async=false;xmldata.loadXML(str);return xmldata;}else if(typeof(XMLHttpRequest)!='undefined'){var xmldata=new XMLHttpRequest;if(!contentType){contentType='application/xml';}
+xmldata.open('GET','data:'+contentType+';charset=utf-8,'+encodeURIComponent(str),false);if(xmldata.overrideMimeType){xmldata.overrideMimeType(contentType);}
+xmldata.send(null);return xmldata.responseXML;}}
+TO_LOAD_INDEX++;TO_LOAD[TO_LOAD_INDEX]='load_emptyfield();';function load_emptyfield(){$("input.empty_field,input.empty-field").each(function(){if($(this).attr('orig')){return;}
+$(this).attr('orig',$(this).attr('value'));});$("input.empty_field,input.empty-field").click(function(){if($(this).val()==$(this).attr('orig')){$(this).val('');}});}
+TO_LOAD_INDEX++;TO_LOAD[TO_LOAD_INDEX]='load_truepopups();';function load_truepopups(){$(".truePopup").click(function(){var rev=$(this).attr('rev');if(!rev||rev==''){var n='PopupFS'+randval(1000,9999).toString();}else{n=rev;}
+$(this).attr('rel',$(this).attr('rel').replace(/screen.height/,screen.height));$(this).attr('rel',$(this).attr('rel').replace(/screen.width/,screen.width));window.open($(this).attr('href'),n,$(this).attr('rel'));return false;});$(".popupFS").click(function(){var rev=$(this).attr('rev');if(!rev||rev==''){var n='PopupFS'+randval(1000,9999).toString();}else{n=rev;}
+window.open($(this).attr('href'),n,'width='+screen.width+',height='+screen.height+',resizable=yes');return false;});$(".popupA4").click(function(){var rev=$(this).attr('rev');if(!rev||rev==''){var n='PopupFS'+randval(1000,9999).toString();}else{n=rev;}
+var h=screen.height;var w=h/1.5;window.open($(this).attr('href'),n,'width='+w+',height='+h+',resizable=yes');return false;});}
+TO_LOAD_INDEX++;TO_LOAD[TO_LOAD_INDEX]='load_contextmenu();';function load_contextmenu(){$("*:not(.openContextMenu)").click(function(){$(".contextMenu").hide();});$(".openContextMenu").click(function(e){$(".contextMenu").hide();var rel=$(this).attr('rel');var cm=$("#"+rel).clone(true);var args=$(this).attr('rev').split('§');var h=$(cm).html();var j;var mask;for(var i=0;i<args.length;i++){j=i+1;mask=new RegExp('\\$'+j.toString(),'gi');$(cm).find('li.head').each(function(){$(this).html($(this).html().replace(mask,args[i]));});$(cm).find('li a').each(function(){if($(this).attr('href')&&$(this).attr('href')!='#'){$(this).attr('href',$(this).attr('href').replace(mask,args[i]));}
+if($(this).attr('rel')){$(this).attr('rel',$(this).attr('rel').replace(mask,args[i]));}
+if($(this).attr('rev')){$(this).attr('rev',$(this).attr('rev').replace(mask,args[i]));}});$(cm).find('span').each(function(){$(this).text($(this).text().replace(mask,args[i]))});}
+$(cm).appendTo('body');$(cm).removeAttr('id');$(cm).show();$(cm).css('top',e.pageY);$(cm).css('left',e.pageX);return false;});}
+TO_LOAD_INDEX++;TO_LOAD[TO_LOAD_INDEX]='load_extranet();';FIRST_LOAD=true;function load_extranet(){if($("#devisAdresse #client_nom").length){$("#devisAdresse #client_nom").autocomplete(SITE_PATH+'autocomplete/client',{cacheLength:0,maxItemsToShow:15,onFindValue:findClient,onItemSelect:findClient});}
+if($("#factureAdresse #projet_nom").length){$("#factureAdresse #projet_nom").autocomplete(SITE_PATH+'autocomplete/projet',{cacheLength:0,maxItemsToShow:15,onFindValue:findProjet,onItemSelect:findProjet});}
+if($(".dashboard").length>=1&&$("#dash").length>=1){$("#dash").sortable('destroy');if(FIRST_LOAD){FIRST_LOAD=false;}else{FIRST_LOAD=true;$.ajax({url:SITE_PATH+'ajax/reloadDashboards',success:function(data){MyAjax(data);}});}
+$("#dash").sortable({opacity:0.6,axis:"y",handle:".caption",stop:function(e,ui){$.ajax({url:SITE_PATH+'ajax/orderDashboards?'+$("#dash").sortable('serialize')});resize();}});}
+if($("#devisLignes").length>=1){$("#devisLignes").sortable('destroy');$("#devisLignes").sortable({opacity:0.6,axis:"y"});}
+$(".timereport_field").change(function(){var val=parseInt($(this).val());if(isNaN(val)){val=0;}
+var f=this;var id=$(this).attr('id');var a=id.split('_');$.ajax({url:SITE_PATH+'ajax/saveTimereport/'+a[1]+'/'+a[2]+'/'+val,success:function(data){FIRST_LOAD=true;MyAjax(data);var td=$(f).parents('td').get(0);if(parseFloat($(f).val())>0){$(td).addClass('filled');}else{$(td).removeClass('filled');}}});});$("#dash .toggle").click(function(){var rel=$(this).attr('rel');var div=$(this).parents('.dashboard').get(0);var liste=$(div).find('.liste');$(liste).slideToggle('fast',function(){resize();});$(this).toggleClass('close');$.ajax({url:SITE_PATH+'ajax/toggleDashboard/'+rel});return false;});$(".filtre .bt").click(function(){var ul=$(this).parent().parent().children('ul');$(ul).slideToggle('fast');return false;});$(".filtre ul").click(function(e){if(e.target.nodeName=='INPUT'||e.target.nodeName=='LABEL'){return true;}
+$(this).slideToggle('fast');});$(".filtre span").click(function(){var ul=$(this).parent().children('ul');$(ul).slideToggle('fast');});$(".filtre input").change(function(){var form=$(this).parents('form').get(0);var uls=$(form).find("ul");var divs=$(form).find(".input");var spans=$(form).find("span");var i,j,k,ul,lis,li,input,label,checked,div,titre,t,t1,allc,inputs;for(i=0;i<uls.length;i++){div=divs[i];titre=Array();ul=uls[i];lis=$(ul).children("li");allc=$(lis).get(0);checked=0;for(j=1;j<lis.length;j++){li=lis[j];input=$(li).find('input').get(0);label=$(li).find('label').get(0);if(input.checked){checked++;titre.push($(label).text());}}
+if(checked==0){$(div).find('span').text($(allc).text());$(div).find('a').attr('title',$(allc).text());$(div).removeClass('active');inputs=$(ul).find('input');for(k=0;k<inputs.length;k++){inputs[k].checked=true;}}else if(checked==lis.length-1){$(div).find('span').text($(allc).text());$(div).find('a').attr('title',$(allc).text());$(div).removeClass('active');}else{t=titre.join(', ');if(t.length>20){t1=t.substr(0,16)+'...';}else{t1=t;}
+$(div).find('span').text(t1);$(div).find('a').attr('title',t);$(div).addClass('active');}}
+return true;});$(window).resize(function(){resize();});resize();}
+function resize(){var allh=$("#header").height()+$("#footer").height()+$("#bar").height()+$("#main .content").height()+13+30;var h=Math.max($(window).height(),allh);var mh=h-$("#header").height()-$("#footer").height()-$("#bar").height()-30-13;mh=Math.max(mh,450);$("#main").css('height',mh);}
+function findClient(li){var client=li.selectValue.split(' - ');if(client.length<=1){return;}
+var client_id=parseInt(client[0]);$("#client").val(client_id);$.ajax({url:SITE_PATH+'ajax/getAdresseForDevis/'+client_id,success:function(data){MyAjax(data);}});}
+function findProjet(li){var projet=li.selectValue.split(' - ');if(projet.length<=1){return;}
+var projet_id=parseInt(projet[0]);$("#projet").val(projet_id);$.ajax({url:SITE_PATH+'ajax/getAdresseForFacture/'+projet_id,success:function(data){MyAjax(data);}});}
+function refreshFiles(){$.ajax({url:SITE_PATH+'ajax/refreshFichiers',success:function(data){MyAjax(data);}});}
\ No newline at end of file
diff --git a/js/merged-91dc42.js b/js/merged-91dc42.js
new file mode 100644 (file)
index 0000000..75407c3
--- /dev/null
@@ -0,0 +1,715 @@
+
+(function(){var
+window=this,undefined,_jQuery=window.jQuery,_$=window.$,jQuery=window.jQuery=window.$=function(selector,context){return new jQuery.fn.init(selector,context);},quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,isSimple=/^.[^:#\[\.,]*$/;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;this.context=selector;return this;}
+if(typeof selector==="string"){var match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1])
+selector=jQuery.clean([match[1]],context);else{var elem=document.getElementById(match[3]);if(elem&&elem.id!=match[3])
+return jQuery().find(selector);var ret=jQuery(elem||[]);ret.context=document;ret.selector=selector;return ret;}}else
+return jQuery(context).find(selector);}else if(jQuery.isFunction(selector))
+return jQuery(document).ready(selector);if(selector.selector&&selector.context){this.selector=selector.selector;this.context=selector.context;}
+return this.setArray(jQuery.isArray(selector)?selector:jQuery.makeArray(selector));},selector:"",jquery:"1.3.2",size:function(){return this.length;},get:function(num){return num===undefined?Array.prototype.slice.call(this):this[num];},pushStack:function(elems,name,selector){var ret=jQuery(elems);ret.prevObject=this;ret.context=this.context;if(name==="find")
+ret.selector=this.selector+(this.selector?" ":"")+selector;else if(name)
+ret.selector=this.selector+"."+name+"("+selector+")";return ret;},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elems);return this;},each:function(callback,args){return jQuery.each(this,callback,args);},index:function(elem){return jQuery.inArray(elem&&elem.jquery?elem[0]:elem,this);},attr:function(name,value,type){var options=name;if(typeof name==="string")
+if(value===undefined)
+return this[0]&&jQuery[type||"attr"](this[0],name);else{options={};options[name]=value;}
+return this.each(function(i){for(name in options)
+jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name));});},css:function(key,value){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]){var wrap=jQuery(html,this[0].ownerDocument).clone();if(this[0].parentNode)
+wrap.insertBefore(this[0]);wrap.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,function(elem){if(this.nodeType==1)
+this.appendChild(elem);});},prepend:function(){return this.domManip(arguments,true,function(elem){if(this.nodeType==1)
+this.insertBefore(elem,this.firstChild);});},before:function(){return this.domManip(arguments,false,function(elem){this.parentNode.insertBefore(elem,this);});},after:function(){return this.domManip(arguments,false,function(elem){this.parentNode.insertBefore(elem,this.nextSibling);});},end:function(){return this.prevObject||jQuery([]);},push:[].push,sort:[].sort,splice:[].splice,find:function(selector){if(this.length===1){var ret=this.pushStack([],"find",selector);ret.length=0;jQuery.find(selector,this[0],ret);return ret;}else{return this.pushStack(jQuery.unique(jQuery.map(this,function(elem){return jQuery.find(selector,elem);})),"find",selector);}},clone:function(events){var ret=this.map(function(){if(!jQuery.support.noCloneEvent&&!jQuery.isXMLDoc(this)){var html=this.outerHTML;if(!html){var div=this.ownerDocument.createElement("div");div.appendChild(this.cloneNode(true));html=div.innerHTML;}
+return jQuery.clean([html.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0];}else
+return this.cloneNode(true);});if(events===true){var orig=this.find("*").andSelf(),i=0;ret.find("*").andSelf().each(function(){if(this.nodeName!==orig[i].nodeName)
+return;var events=jQuery.data(orig[i],"events");for(var type in events){for(var handler in events[type]){jQuery.event.add(this,type,events[type][handler],events[type][handler].data);}}
+i++;});}
+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,jQuery.grep(this,function(elem){return elem.nodeType===1;})),"filter",selector);},closest:function(selector){var pos=jQuery.expr.match.POS.test(selector)?jQuery(selector):null,closer=0;return this.map(function(){var cur=this;while(cur&&cur.ownerDocument){if(pos?pos.index(cur)>-1:jQuery(cur).is(selector)){jQuery.data(cur,"closest",closer);return cur;}
+cur=cur.parentNode;closer++;}});},not:function(selector){if(typeof selector==="string")
+if(isSimple.test(selector))
+return this.pushStack(jQuery.multiFilter(selector,this,true),"not",selector);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 this.pushStack(jQuery.unique(jQuery.merge(this.get(),typeof selector==="string"?jQuery(selector):jQuery.makeArray(selector))));},is:function(selector){return!!selector&&jQuery.multiFilter(selector,this).length>0;},hasClass:function(selector){return!!selector&&this.is("."+selector);},val:function(value){if(value===undefined){var elem=this[0];if(elem){if(jQuery.nodeName(elem,'option'))
+return(elem.attributes.value||{}).specified?elem.value:elem.text;if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";if(index<0)
+return null;for(var i=one?index:0,max=one?index+1:options.length;i<max;i++){var option=options[i];if(option.selected){value=jQuery(option).val();if(one)
+return value;values.push(value);}}
+return values;}
+return(elem.value||"").replace(/\r/g,"");}
+return undefined;}
+if(typeof value==="number")
+value+='';return this.each(function(){if(this.nodeType!=1)
+return;if(jQuery.isArray(value)&&/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=jQuery.makeArray(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[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):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),"slice",Array.prototype.slice.call(arguments).join(","));},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);},domManip:function(args,table,callback){if(this[0]){var fragment=(this[0].ownerDocument||this[0]).createDocumentFragment(),scripts=jQuery.clean(args,(this[0].ownerDocument||this[0]),fragment),first=fragment.firstChild;if(first)
+for(var i=0,l=this.length;i<l;i++)
+callback.call(root(this[i],first),this.length>1||i>0?fragment.cloneNode(true):fragment);if(scripts)
+jQuery.each(scripts,evalScript);}
+return this;function root(elem,cur){return table&&jQuery.nodeName(elem,"table")&&jQuery.nodeName(cur,"tr")?(elem.getElementsByTagName("tbody")[0]||elem.appendChild(elem.ownerDocument.createElement("tbody"))):elem;}}};jQuery.fn.init.prototype=jQuery.fn;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);}
+function now(){return+new Date;}
+jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(typeof target==="boolean"){deep=target;target=arguments[1]||{};i=2;}
+if(typeof target!=="object"&&!jQuery.isFunction(target))
+target={};if(length==i){target=this;--i;}
+for(;i<length;i++)
+if((options=arguments[i])!=null)
+for(var name in options){var src=target[name],copy=options[name];if(target===copy)
+continue;if(deep&&copy&&typeof copy==="object"&&!copy.nodeType)
+target[name]=jQuery.extend(deep,src||(copy.length!=null?[]:{}),copy);else if(copy!==undefined)
+target[name]=copy;}
+return target;};var exclude=/z-?index|font-?weight|opacity|zoom|line-?height/i,defaultView=document.defaultView||{},toString=Object.prototype.toString;jQuery.extend({noConflict:function(deep){window.$=_$;if(deep)
+window.jQuery=_jQuery;return jQuery;},isFunction:function(obj){return toString.call(obj)==="[object Function]";},isArray:function(obj){return toString.call(obj)==="[object Array]";},isXMLDoc:function(elem){return elem.nodeType===9&&elem.documentElement.nodeName!=="HTML"||!!elem.ownerDocument&&jQuery.isXMLDoc(elem.ownerDocument);},globalEval:function(data){if(data&&/\S/.test(data)){var head=document.getElementsByTagName("head")[0]||document.documentElement,script=document.createElement("script");script.type="text/javascript";if(jQuery.support.scriptEval)
+script.appendChild(document.createTextNode(data));else
+script.text=data;head.insertBefore(script,head.firstChild);head.removeChild(script);}},nodeName:function(elem,name){return elem.nodeName&&elem.nodeName.toUpperCase()==name.toUpperCase();},each:function(object,callback,args){var name,i=0,length=object.length;if(args){if(length===undefined){for(name in object)
+if(callback.apply(object[name],args)===false)
+break;}else
+for(;i<length;)
+if(callback.apply(object[i++],args)===false)
+break;}else{if(length===undefined){for(name in object)
+if(callback.call(object[name],name,object[name])===false)
+break;}else
+for(var value=object[0];i<length&&callback.call(value,i,value)!==false;value=object[++i]){}}
+return object;},prop:function(elem,value,type,i,name){if(jQuery.isFunction(value))
+value=value.call(elem,i);return typeof value==="number"&&type=="curCSS"&&!exclude.test(name)?value+"px":value;},className:{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;});},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(" "):"";},has:function(elem,className){return elem&&jQuery.inArray(className,(elem.className||elem).toString().split(/\s+/))>-1;}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}
+callback.call(elem);for(var name in options)
+elem.style[name]=old[name];},css:function(elem,name,force,extra){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;if(extra==="border")
+return;jQuery.each(which,function(){if(!extra)
+val-=parseFloat(jQuery.curCSS(elem,"padding"+this,true))||0;if(extra==="margin")
+val+=parseFloat(jQuery.curCSS(elem,"margin"+this,true))||0;else
+val-=parseFloat(jQuery.curCSS(elem,"border"+this+"Width",true))||0;});}
+if(elem.offsetWidth!==0)
+getWH();else
+jQuery.swap(elem,props,getWH);return Math.max(0,Math.round(val));}
+return jQuery.curCSS(elem,name,force);},curCSS:function(elem,name,force){var ret,style=elem.style;if(name=="opacity"&&!jQuery.support.opacity){ret=jQuery.attr(style,"opacity");return ret==""?"1":ret;}
+if(name.match(/float/i))
+name=styleFloat;if(!force&&style&&style[name])
+ret=style[name];else if(defaultView.getComputedStyle){if(name.match(/float/i))
+name="float";name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var computedStyle=defaultView.getComputedStyle(elem,null);if(computedStyle)
+ret=computedStyle.getPropertyValue(name);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];if(!/^\d+(px)?$/i.test(ret)&&/^\d/.test(ret)){var left=style.left,rsLeft=elem.runtimeStyle.left;elem.runtimeStyle.left=elem.currentStyle.left;style.left=ret||0;ret=style.pixelLeft+"px";style.left=left;elem.runtimeStyle.left=rsLeft;}}
+return ret;},clean:function(elems,context,fragment){context=context||document;if(typeof context.createElement==="undefined")
+context=context.ownerDocument||context[0]&&context[0].ownerDocument||document;if(!fragment&&elems.length===1&&typeof elems[0]==="string"){var match=/^<(\w+)\s*\/?>$/.exec(elems[0]);if(match)
+return[context.createElement(match[1])];}
+var ret=[],scripts=[],div=context.createElement("div");jQuery.each(elems,function(i,elem){if(typeof elem==="number")
+elem+='';if(!elem)
+return;if(typeof elem==="string"){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+">";});var tags=elem.replace(/^\s+/,"").substring(0,10).toLowerCase();var wrap=!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>"]||(!tags.indexOf("<td")||!tags.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!tags.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||!jQuery.support.htmlSerialize&&[1,"div<div>","</div>"]||[0,"",""];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--)
+div=div.lastChild;if(!jQuery.support.tbody){var hasBody=/<tbody/i.test(elem),tbody=!tags.indexOf("<table")&&!hasBody?div.firstChild&&div.firstChild.childNodes:wrap[1]=="<table>"&&!hasBody?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]);}
+if(!jQuery.support.leadingWhitespace&&/^\s/.test(elem))
+div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]),div.firstChild);elem=jQuery.makeArray(div.childNodes);}
+if(elem.nodeType)
+ret.push(elem);else
+ret=jQuery.merge(ret,elem);});if(fragment){for(var i=0;ret[i];i++){if(jQuery.nodeName(ret[i],"script")&&(!ret[i].type||ret[i].type.toLowerCase()==="text/javascript")){scripts.push(ret[i].parentNode?ret[i].parentNode.removeChild(ret[i]):ret[i]);}else{if(ret[i].nodeType===1)
+ret.splice.apply(ret,[i+1,0].concat(jQuery.makeArray(ret[i].getElementsByTagName("script"))));fragment.appendChild(ret[i]);}}
+return scripts;}
+return ret;},attr:function(elem,name,value){if(!elem||elem.nodeType==3||elem.nodeType==8)
+return undefined;var notxml=!jQuery.isXMLDoc(elem),set=value!==undefined;name=notxml&&jQuery.props[name]||name;if(elem.tagName){var special=/href|src|style/.test(name);if(name=="selected"&&elem.parentNode)
+elem.parentNode.selectedIndex;if(name in elem&&notxml&&!special){if(set){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)
+throw"type property can't be changed";elem[name]=value;}
+if(jQuery.nodeName(elem,"form")&&elem.getAttributeNode(name))
+return elem.getAttributeNode(name).nodeValue;if(name=="tabIndex"){var attributeNode=elem.getAttributeNode("tabIndex");return attributeNode&&attributeNode.specified?attributeNode.value:elem.nodeName.match(/(button|input|object|select|textarea)/i)?0:elem.nodeName.match(/^(a|area)$/i)&&elem.href?0:undefined;}
+return elem[name];}
+if(!jQuery.support.style&&notxml&&name=="style")
+return jQuery.attr(elem.style,"cssText",value);if(set)
+elem.setAttribute(name,""+value);var attr=!jQuery.support.hrefNormalized&&notxml&&special?elem.getAttribute(name,2):elem.getAttribute(name);return attr===null?undefined:attr;}
+if(!jQuery.support.opacity&&name=="opacity"){if(set){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+
+(parseInt(value)+''=="NaN"?"":"alpha(opacity="+value*100+")");}
+return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100)+'':"";}
+name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(set)
+elem[name]=value;return elem[name];},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeArray:function(array){var ret=[];if(array!=null){var i=array.length;if(i==null||typeof array==="string"||jQuery.isFunction(array)||array.setInterval)
+ret[0]=array;else
+while(i)
+ret[--i]=array[i];}
+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){var i=0,elem,pos=first.length;if(!jQuery.support.getAll){while((elem=second[i++])!=null)
+if(elem.nodeType!=8)
+first[pos++]=elem;}else
+while((elem=second[i++])!=null)
+first[pos++]=elem;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=[];for(var i=0,length=elems.length;i<length;i++)
+if(!inv!=!callback(elems[i],i))
+ret.push(elems[i]);return ret;},map:function(elems,callback){var ret=[];for(var i=0,length=elems.length;i<length;i++){var value=callback(elems[i],i);if(value!=null)
+ret[ret.length]=value;}
+return ret.concat.apply([],ret);}});var userAgent=navigator.userAgent.toLowerCase();jQuery.browser={version:(userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,'0'])[1],safari:/webkit/.test(userAgent),opera:/opera/.test(userAgent),msie:/msie/.test(userAgent)&&!/opera/.test(userAgent),mozilla:/mozilla/.test(userAgent)&&!/(compatible|webkit)/.test(userAgent)};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),name,selector);};});jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(selector){var ret=[],insert=jQuery(selector);for(var i=0,l=insert.length;i<l;i++){var elems=(i>0?this.clone(true):this).get();jQuery.fn[original].apply(jQuery(insert[i]),elems);ret=ret.concat(elems);}
+return this.pushStack(ret,name,selector);};});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,state){if(typeof state!=="boolean")
+state=!jQuery.className.has(this,classNames);jQuery.className[state?"add":"remove"](this,classNames);},remove:function(selector){if(!selector||jQuery.filter(selector,[this]).length){jQuery("*",this).add([this]).each(function(){jQuery.event.remove(this);jQuery.removeData(this);});if(this.parentNode)
+this.parentNode.removeChild(this);}},empty:function(){jQuery(this).children().remove();while(this.firstChild)
+this.removeChild(this.firstChild);}},function(name,fn){jQuery.fn[name]=function(){return this.each(fn,arguments);};});function num(elem,prop){return elem[0]&&parseInt(jQuery.curCSS(elem[0],prop,true),10)||0;}
+var expando="jQuery"+now(),uuid=0,windowData={};jQuery.extend({cache:{},data:function(elem,name,data){elem=elem==window?windowData:elem;var id=elem[expando];if(!id)
+id=elem[expando]=++uuid;if(name&&!jQuery.cache[id])
+jQuery.cache[id]={};if(data!==undefined)
+jQuery.cache[id][name]=data;return name?jQuery.cache[id][name]:id;},removeData:function(elem,name){elem=elem==window?windowData:elem;var id=elem[expando];if(name){if(jQuery.cache[id]){delete jQuery.cache[id][name];name="";for(name in jQuery.cache[id])
+break;if(!name)
+jQuery.removeData(elem);}}else{try{delete elem[expando];}catch(e){if(elem.removeAttribute)
+elem.removeAttribute(expando);}
+delete jQuery.cache[id];}},queue:function(elem,type,data){if(elem){type=(type||"fx")+"queue";var q=jQuery.data(elem,type);if(!q||jQuery.isArray(data))
+q=jQuery.data(elem,type,jQuery.makeArray(data));else if(data)
+q.push(data);}
+return q;},dequeue:function(elem,type){var queue=jQuery.queue(elem,type),fn=queue.shift();if(!type||type==="fx")
+fn=queue[0];if(fn!==undefined)
+fn.call(elem);}});jQuery.fn.extend({data:function(key,value){var parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value===undefined){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data===undefined&&this.length)
+data=jQuery.data(this[0],key);return data===undefined&&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);});},queue:function(type,data){if(typeof type!=="string"){data=type;type="fx";}
+if(data===undefined)
+return jQuery.queue(this[0],type);return this.each(function(){var queue=jQuery.queue(this,type,data);if(type=="fx"&&queue.length==1)
+queue[0].call(this);});},dequeue:function(type){return this.each(function(){jQuery.dequeue(this,type);});}});(function(){var chunker=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,done=0,toString=Object.prototype.toString;var Sizzle=function(selector,context,results,seed){results=results||[];context=context||document;if(context.nodeType!==1&&context.nodeType!==9)
+return[];if(!selector||typeof selector!=="string"){return results;}
+var parts=[],m,set,checkSet,check,mode,extra,prune=true;chunker.lastIndex=0;while((m=chunker.exec(selector))!==null){parts.push(m[1]);if(m[2]){extra=RegExp.rightContext;break;}}
+if(parts.length>1&&origPOS.exec(selector)){if(parts.length===2&&Expr.relative[parts[0]]){set=posProcess(parts[0]+parts[1],context);}else{set=Expr.relative[parts[0]]?[context]:Sizzle(parts.shift(),context);while(parts.length){selector=parts.shift();if(Expr.relative[selector])
+selector+=parts.shift();set=posProcess(selector,set);}}}else{var ret=seed?{expr:parts.pop(),set:makeArray(seed)}:Sizzle.find(parts.pop(),parts.length===1&&context.parentNode?context.parentNode:context,isXML(context));set=Sizzle.filter(ret.expr,ret.set);if(parts.length>0){checkSet=makeArray(set);}else{prune=false;}
+while(parts.length){var cur=parts.pop(),pop=cur;if(!Expr.relative[cur]){cur="";}else{pop=parts.pop();}
+if(pop==null){pop=context;}
+Expr.relative[cur](checkSet,pop,isXML(context));}}
+if(!checkSet){checkSet=set;}
+if(!checkSet){throw"Syntax error, unrecognized expression: "+(cur||selector);}
+if(toString.call(checkSet)==="[object Array]"){if(!prune){results.push.apply(results,checkSet);}else if(context.nodeType===1){for(var i=0;checkSet[i]!=null;i++){if(checkSet[i]&&(checkSet[i]===true||checkSet[i].nodeType===1&&contains(context,checkSet[i]))){results.push(set[i]);}}}else{for(var i=0;checkSet[i]!=null;i++){if(checkSet[i]&&checkSet[i].nodeType===1){results.push(set[i]);}}}}else{makeArray(checkSet,results);}
+if(extra){Sizzle(extra,context,results,seed);if(sortOrder){hasDuplicate=false;results.sort(sortOrder);if(hasDuplicate){for(var i=1;i<results.length;i++){if(results[i]===results[i-1]){results.splice(i--,1);}}}}}
+return results;};Sizzle.matches=function(expr,set){return Sizzle(expr,null,null,set);};Sizzle.find=function(expr,context,isXML){var set,match;if(!expr){return[];}
+for(var i=0,l=Expr.order.length;i<l;i++){var type=Expr.order[i],match;if((match=Expr.match[type].exec(expr))){var left=RegExp.leftContext;if(left.substr(left.length-1)!=="\\"){match[1]=(match[1]||"").replace(/\\/g,"");set=Expr.find[type](match,context,isXML);if(set!=null){expr=expr.replace(Expr.match[type],"");break;}}}}
+if(!set){set=context.getElementsByTagName("*");}
+return{set:set,expr:expr};};Sizzle.filter=function(expr,set,inplace,not){var old=expr,result=[],curLoop=set,match,anyFound,isXMLFilter=set&&set[0]&&isXML(set[0]);while(expr&&set.length){for(var type in Expr.filter){if((match=Expr.match[type].exec(expr))!=null){var filter=Expr.filter[type],found,item;anyFound=false;if(curLoop==result){result=[];}
+if(Expr.preFilter[type]){match=Expr.preFilter[type](match,curLoop,inplace,result,not,isXMLFilter);if(!match){anyFound=found=true;}else if(match===true){continue;}}
+if(match){for(var i=0;(item=curLoop[i])!=null;i++){if(item){found=filter(item,match,i,curLoop);var pass=not^!!found;if(inplace&&found!=null){if(pass){anyFound=true;}else{curLoop[i]=false;}}else if(pass){result.push(item);anyFound=true;}}}}
+if(found!==undefined){if(!inplace){curLoop=result;}
+expr=expr.replace(Expr.match[type],"");if(!anyFound){return[];}
+break;}}}
+if(expr==old){if(anyFound==null){throw"Syntax error, unrecognized expression: "+expr;}else{break;}}
+old=expr;}
+return curLoop;};var Expr=Sizzle.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(elem){return elem.getAttribute("href");}},relative:{"+":function(checkSet,part,isXML){var isPartStr=typeof part==="string",isTag=isPartStr&&!/\W/.test(part),isPartStrNotTag=isPartStr&&!isTag;if(isTag&&!isXML){part=part.toUpperCase();}
+for(var i=0,l=checkSet.length,elem;i<l;i++){if((elem=checkSet[i])){while((elem=elem.previousSibling)&&elem.nodeType!==1){}
+checkSet[i]=isPartStrNotTag||elem&&elem.nodeName===part?elem||false:elem===part;}}
+if(isPartStrNotTag){Sizzle.filter(part,checkSet,true);}},">":function(checkSet,part,isXML){var isPartStr=typeof part==="string";if(isPartStr&&!/\W/.test(part)){part=isXML?part:part.toUpperCase();for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){var parent=elem.parentNode;checkSet[i]=parent.nodeName===part?parent:false;}}}else{for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){checkSet[i]=isPartStr?elem.parentNode:elem.parentNode===part;}}
+if(isPartStr){Sizzle.filter(part,checkSet,true);}}},"":function(checkSet,part,isXML){var doneName=done++,checkFn=dirCheck;if(!part.match(/\W/)){var nodeCheck=part=isXML?part:part.toUpperCase();checkFn=dirNodeCheck;}
+checkFn("parentNode",part,doneName,checkSet,nodeCheck,isXML);},"~":function(checkSet,part,isXML){var doneName=done++,checkFn=dirCheck;if(typeof part==="string"&&!part.match(/\W/)){var nodeCheck=part=isXML?part:part.toUpperCase();checkFn=dirNodeCheck;}
+checkFn("previousSibling",part,doneName,checkSet,nodeCheck,isXML);}},find:{ID:function(match,context,isXML){if(typeof context.getElementById!=="undefined"&&!isXML){var m=context.getElementById(match[1]);return m?[m]:[];}},NAME:function(match,context,isXML){if(typeof context.getElementsByName!=="undefined"){var ret=[],results=context.getElementsByName(match[1]);for(var i=0,l=results.length;i<l;i++){if(results[i].getAttribute("name")===match[1]){ret.push(results[i]);}}
+return ret.length===0?null:ret;}},TAG:function(match,context){return context.getElementsByTagName(match[1]);}},preFilter:{CLASS:function(match,curLoop,inplace,result,not,isXML){match=" "+match[1].replace(/\\/g,"")+" ";if(isXML){return match;}
+for(var i=0,elem;(elem=curLoop[i])!=null;i++){if(elem){if(not^(elem.className&&(" "+elem.className+" ").indexOf(match)>=0)){if(!inplace)
+result.push(elem);}else if(inplace){curLoop[i]=false;}}}
+return false;},ID:function(match){return match[1].replace(/\\/g,"");},TAG:function(match,curLoop){for(var i=0;curLoop[i]===false;i++){}
+return curLoop[i]&&isXML(curLoop[i])?match[1]:match[1].toUpperCase();},CHILD:function(match){if(match[1]=="nth"){var test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(match[2]=="even"&&"2n"||match[2]=="odd"&&"2n+1"||!/\D/.test(match[2])&&"0n+"+match[2]||match[2]);match[2]=(test[1]+(test[2]||1))-0;match[3]=test[3]-0;}
+match[0]=done++;return match;},ATTR:function(match,curLoop,inplace,result,not,isXML){var name=match[1].replace(/\\/g,"");if(!isXML&&Expr.attrMap[name]){match[1]=Expr.attrMap[name];}
+if(match[2]==="~="){match[4]=" "+match[4]+" ";}
+return match;},PSEUDO:function(match,curLoop,inplace,result,not){if(match[1]==="not"){if(match[3].match(chunker).length>1||/^\w/.test(match[3])){match[3]=Sizzle(match[3],null,null,curLoop);}else{var ret=Sizzle.filter(match[3],curLoop,inplace,true^not);if(!inplace){result.push.apply(result,ret);}
+return false;}}else if(Expr.match.POS.test(match[0])||Expr.match.CHILD.test(match[0])){return true;}
+return match;},POS:function(match){match.unshift(true);return match;}},filters:{enabled:function(elem){return elem.disabled===false&&elem.type!=="hidden";},disabled:function(elem){return elem.disabled===true;},checked:function(elem){return elem.checked===true;},selected:function(elem){elem.parentNode.selectedIndex;return elem.selected===true;},parent:function(elem){return!!elem.firstChild;},empty:function(elem){return!elem.firstChild;},has:function(elem,i,match){return!!Sizzle(match[3],elem).length;},header:function(elem){return/h\d/i.test(elem.nodeName);},text:function(elem){return"text"===elem.type;},radio:function(elem){return"radio"===elem.type;},checkbox:function(elem){return"checkbox"===elem.type;},file:function(elem){return"file"===elem.type;},password:function(elem){return"password"===elem.type;},submit:function(elem){return"submit"===elem.type;},image:function(elem){return"image"===elem.type;},reset:function(elem){return"reset"===elem.type;},button:function(elem){return"button"===elem.type||elem.nodeName.toUpperCase()==="BUTTON";},input:function(elem){return/input|select|textarea|button/i.test(elem.nodeName);}},setFilters:{first:function(elem,i){return i===0;},last:function(elem,i,match,array){return i===array.length-1;},even:function(elem,i){return i%2===0;},odd:function(elem,i){return i%2===1;},lt:function(elem,i,match){return i<match[3]-0;},gt:function(elem,i,match){return i>match[3]-0;},nth:function(elem,i,match){return match[3]-0==i;},eq:function(elem,i,match){return match[3]-0==i;}},filter:{PSEUDO:function(elem,match,i,array){var name=match[1],filter=Expr.filters[name];if(filter){return filter(elem,i,match,array);}else if(name==="contains"){return(elem.textContent||elem.innerText||"").indexOf(match[3])>=0;}else if(name==="not"){var not=match[3];for(var i=0,l=not.length;i<l;i++){if(not[i]===elem){return false;}}
+return true;}},CHILD:function(elem,match){var type=match[1],node=elem;switch(type){case'only':case'first':while(node=node.previousSibling){if(node.nodeType===1)return false;}
+if(type=='first')return true;node=elem;case'last':while(node=node.nextSibling){if(node.nodeType===1)return false;}
+return true;case'nth':var first=match[2],last=match[3];if(first==1&&last==0){return true;}
+var doneName=match[0],parent=elem.parentNode;if(parent&&(parent.sizcache!==doneName||!elem.nodeIndex)){var count=0;for(node=parent.firstChild;node;node=node.nextSibling){if(node.nodeType===1){node.nodeIndex=++count;}}
+parent.sizcache=doneName;}
+var diff=elem.nodeIndex-last;if(first==0){return diff==0;}else{return(diff%first==0&&diff/first>=0);}}},ID:function(elem,match){return elem.nodeType===1&&elem.getAttribute("id")===match;},TAG:function(elem,match){return(match==="*"&&elem.nodeType===1)||elem.nodeName===match;},CLASS:function(elem,match){return(" "+(elem.className||elem.getAttribute("class"))+" ").indexOf(match)>-1;},ATTR:function(elem,match){var name=match[1],result=Expr.attrHandle[name]?Expr.attrHandle[name](elem):elem[name]!=null?elem[name]:elem.getAttribute(name),value=result+"",type=match[2],check=match[4];return result==null?type==="!=":type==="="?value===check:type==="*="?value.indexOf(check)>=0:type==="~="?(" "+value+" ").indexOf(check)>=0:!check?value&&result!==false:type==="!="?value!=check:type==="^="?value.indexOf(check)===0:type==="$="?value.substr(value.length-check.length)===check:type==="|="?value===check||value.substr(0,check.length+1)===check+"-":false;},POS:function(elem,match,i,array){var name=match[2],filter=Expr.setFilters[name];if(filter){return filter(elem,i,match,array);}}}};var origPOS=Expr.match.POS;for(var type in Expr.match){Expr.match[type]=RegExp(Expr.match[type].source+/(?![^\[]*\])(?![^\(]*\))/.source);}
+var makeArray=function(array,results){array=Array.prototype.slice.call(array);if(results){results.push.apply(results,array);return results;}
+return array;};try{Array.prototype.slice.call(document.documentElement.childNodes);}catch(e){makeArray=function(array,results){var ret=results||[];if(toString.call(array)==="[object Array]"){Array.prototype.push.apply(ret,array);}else{if(typeof array.length==="number"){for(var i=0,l=array.length;i<l;i++){ret.push(array[i]);}}else{for(var i=0;array[i];i++){ret.push(array[i]);}}}
+return ret;};}
+var sortOrder;if(document.documentElement.compareDocumentPosition){sortOrder=function(a,b){var ret=a.compareDocumentPosition(b)&4?-1:a===b?0:1;if(ret===0){hasDuplicate=true;}
+return ret;};}else if("sourceIndex"in document.documentElement){sortOrder=function(a,b){var ret=a.sourceIndex-b.sourceIndex;if(ret===0){hasDuplicate=true;}
+return ret;};}else if(document.createRange){sortOrder=function(a,b){var aRange=a.ownerDocument.createRange(),bRange=b.ownerDocument.createRange();aRange.selectNode(a);aRange.collapse(true);bRange.selectNode(b);bRange.collapse(true);var ret=aRange.compareBoundaryPoints(Range.START_TO_END,bRange);if(ret===0){hasDuplicate=true;}
+return ret;};}
+(function(){var form=document.createElement("form"),id="script"+(new Date).getTime();form.innerHTML="<input name='"+id+"'/>";var root=document.documentElement;root.insertBefore(form,root.firstChild);if(!!document.getElementById(id)){Expr.find.ID=function(match,context,isXML){if(typeof context.getElementById!=="undefined"&&!isXML){var m=context.getElementById(match[1]);return m?m.id===match[1]||typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id").nodeValue===match[1]?[m]:undefined:[];}};Expr.filter.ID=function(elem,match){var node=typeof elem.getAttributeNode!=="undefined"&&elem.getAttributeNode("id");return elem.nodeType===1&&node&&node.nodeValue===match;};}
+root.removeChild(form);})();(function(){var div=document.createElement("div");div.appendChild(document.createComment(""));if(div.getElementsByTagName("*").length>0){Expr.find.TAG=function(match,context){var results=context.getElementsByTagName(match[1]);if(match[1]==="*"){var tmp=[];for(var i=0;results[i];i++){if(results[i].nodeType===1){tmp.push(results[i]);}}
+results=tmp;}
+return results;};}
+div.innerHTML="<a href='#'></a>";if(div.firstChild&&typeof div.firstChild.getAttribute!=="undefined"&&div.firstChild.getAttribute("href")!=="#"){Expr.attrHandle.href=function(elem){return elem.getAttribute("href",2);};}})();if(document.querySelectorAll)(function(){var oldSizzle=Sizzle,div=document.createElement("div");div.innerHTML="<p class='TEST'></p>";if(div.querySelectorAll&&div.querySelectorAll(".TEST").length===0){return;}
+Sizzle=function(query,context,extra,seed){context=context||document;if(!seed&&context.nodeType===9&&!isXML(context)){try{return makeArray(context.querySelectorAll(query),extra);}catch(e){}}
+return oldSizzle(query,context,extra,seed);};Sizzle.find=oldSizzle.find;Sizzle.filter=oldSizzle.filter;Sizzle.selectors=oldSizzle.selectors;Sizzle.matches=oldSizzle.matches;})();if(document.getElementsByClassName&&document.documentElement.getElementsByClassName)(function(){var div=document.createElement("div");div.innerHTML="<div class='test e'></div><div class='test'></div>";if(div.getElementsByClassName("e").length===0)
+return;div.lastChild.className="e";if(div.getElementsByClassName("e").length===1)
+return;Expr.order.splice(1,0,"CLASS");Expr.find.CLASS=function(match,context,isXML){if(typeof context.getElementsByClassName!=="undefined"&&!isXML){return context.getElementsByClassName(match[1]);}};})();function dirNodeCheck(dir,cur,doneName,checkSet,nodeCheck,isXML){var sibDir=dir=="previousSibling"&&!isXML;for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){if(sibDir&&elem.nodeType===1){elem.sizcache=doneName;elem.sizset=i;}
+elem=elem[dir];var match=false;while(elem){if(elem.sizcache===doneName){match=checkSet[elem.sizset];break;}
+if(elem.nodeType===1&&!isXML){elem.sizcache=doneName;elem.sizset=i;}
+if(elem.nodeName===cur){match=elem;break;}
+elem=elem[dir];}
+checkSet[i]=match;}}}
+function dirCheck(dir,cur,doneName,checkSet,nodeCheck,isXML){var sibDir=dir=="previousSibling"&&!isXML;for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){if(sibDir&&elem.nodeType===1){elem.sizcache=doneName;elem.sizset=i;}
+elem=elem[dir];var match=false;while(elem){if(elem.sizcache===doneName){match=checkSet[elem.sizset];break;}
+if(elem.nodeType===1){if(!isXML){elem.sizcache=doneName;elem.sizset=i;}
+if(typeof cur!=="string"){if(elem===cur){match=true;break;}}else if(Sizzle.filter(cur,[elem]).length>0){match=elem;break;}}
+elem=elem[dir];}
+checkSet[i]=match;}}}
+var contains=document.compareDocumentPosition?function(a,b){return a.compareDocumentPosition(b)&16;}:function(a,b){return a!==b&&(a.contains?a.contains(b):true);};var isXML=function(elem){return elem.nodeType===9&&elem.documentElement.nodeName!=="HTML"||!!elem.ownerDocument&&isXML(elem.ownerDocument);};var posProcess=function(selector,context){var tmpSet=[],later="",match,root=context.nodeType?[context]:context;while((match=Expr.match.PSEUDO.exec(selector))){later+=match[0];selector=selector.replace(Expr.match.PSEUDO,"");}
+selector=Expr.relative[selector]?selector+"*":selector;for(var i=0,l=root.length;i<l;i++){Sizzle(selector,root[i],tmpSet);}
+return Sizzle.filter(later,tmpSet);};jQuery.find=Sizzle;jQuery.filter=Sizzle.filter;jQuery.expr=Sizzle.selectors;jQuery.expr[":"]=jQuery.expr.filters;Sizzle.selectors.filters.hidden=function(elem){return elem.offsetWidth===0||elem.offsetHeight===0;};Sizzle.selectors.filters.visible=function(elem){return elem.offsetWidth>0||elem.offsetHeight>0;};Sizzle.selectors.filters.animated=function(elem){return jQuery.grep(jQuery.timers,function(fn){return elem===fn.elem;}).length;};jQuery.multiFilter=function(expr,elems,not){if(not){expr=":not("+expr+")";}
+return Sizzle.matches(expr,elems);};jQuery.dir=function(elem,dir){var matched=[],cur=elem[dir];while(cur&&cur!=document){if(cur.nodeType==1)
+matched.push(cur);cur=cur[dir];}
+return matched;};jQuery.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;};jQuery.sibling=function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType==1&&n!=elem)
+r.push(n);}
+return r;};return;window.Sizzle=Sizzle;})();jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8)
+return;if(elem.setInterval&&elem!=window)
+elem=window;if(!handler.guid)
+handler.guid=this.guid++;if(data!==undefined){var fn=handler;handler=this.proxy(fn);handler.data=data;}
+var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){return typeof jQuery!=="undefined"&&!jQuery.event.triggered?jQuery.event.handle.apply(arguments.callee.elem,arguments):undefined;});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var namespaces=type.split(".");type=namespaces.shift();handler.type=namespaces.slice().sort().join(".");var handlers=events[type];if(jQuery.event.specialAll[type])
+jQuery.event.specialAll[type].setup.call(elem,data,namespaces);if(!handlers){handlers=events[type]={};if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem,data,namespaces)===false){if(elem.addEventListener)
+elem.addEventListener(type,handle,false);else if(elem.attachEvent)
+elem.attachEvent("on"+type,handle);}}
+handlers[handler.guid]=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8)
+return;var events=jQuery.data(elem,"events"),ret,index;if(events){if(types===undefined||(typeof types==="string"&&types.charAt(0)=="."))
+for(var type in events)
+this.remove(elem,type+(types||""));else{if(types.type){handler=types.handler;types=types.type;}
+jQuery.each(types.split(/\s+/),function(index,type){var namespaces=type.split(".");type=namespaces.shift();var namespace=RegExp("(^|\\.)"+namespaces.slice().sort().join(".*\\.")+"(\\.|$)");if(events[type]){if(handler)
+delete events[type][handler.guid];else
+for(var handle in events[type])
+if(namespace.test(events[type][handle].type))
+delete events[type][handle];if(jQuery.event.specialAll[type])
+jQuery.event.specialAll[type].teardown.call(elem,namespaces);for(ret in events[type])break;if(!ret){if(!jQuery.event.special[type]||jQuery.event.special[type].teardown.call(elem,namespaces)===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];}}});}
+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(event,data,elem,bubbling){var type=event.type||event;if(!bubbling){event=typeof event==="object"?event[expando]?event:jQuery.extend(jQuery.Event(type),event):jQuery.Event(type);if(type.indexOf("!")>=0){event.type=type=type.slice(0,-1);event.exclusive=true;}
+if(!elem){event.stopPropagation();if(this.global[type])
+jQuery.each(jQuery.cache,function(){if(this.events&&this.events[type])
+jQuery.event.trigger(event,data,this.handle.elem);});}
+if(!elem||elem.nodeType==3||elem.nodeType==8)
+return undefined;event.result=undefined;event.target=elem;data=jQuery.makeArray(data);data.unshift(event);}
+event.currentTarget=elem;var handle=jQuery.data(elem,"handle");if(handle)
+handle.apply(elem,data);if((!elem[type]||(jQuery.nodeName(elem,'a')&&type=="click"))&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)
+event.result=false;if(!bubbling&&elem[type]&&!event.isDefaultPrevented()&&!(jQuery.nodeName(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]();}catch(e){}}
+this.triggered=false;if(!event.isPropagationStopped()){var parent=elem.parentNode||elem.ownerDocument;if(parent)
+jQuery.event.trigger(event,data,parent,true);}},handle:function(event){var all,handlers;event=arguments[0]=jQuery.event.fix(event||window.event);event.currentTarget=this;var namespaces=event.type.split(".");event.type=namespaces.shift();all=!namespaces.length&&!event.exclusive;var namespace=RegExp("(^|\\.)"+namespaces.slice().sort().join(".*\\.")+"(\\.|$)");handlers=(jQuery.data(this,"events")||{})[event.type];for(var j in handlers){var handler=handlers[j];if(all||namespace.test(handler.type)){event.handler=handler;event.data=handler.data;var ret=handler.apply(this,arguments);if(ret!==undefined){event.result=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}
+if(event.isImmediatePropagationStopped())
+break;}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(event){if(event[expando])
+return event;var originalEvent=event;event=jQuery.Event(originalEvent);for(var i=this.props.length,prop;i;){prop=this.props[--i];event[prop]=originalEvent[prop];}
+if(!event.target)
+event.target=event.srcElement||document;if(event.target.nodeType==3)
+event.target=event.target.parentNode;if(!event.relatedTarget&&event.fromElement)
+event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;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);}
+if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode))
+event.which=event.charCode||event.keyCode;if(!event.metaKey&&event.ctrlKey)
+event.metaKey=event.ctrlKey;if(!event.which&&event.button)
+event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));return event;},proxy:function(fn,proxy){proxy=proxy||function(){return fn.apply(this,arguments);};proxy.guid=fn.guid=fn.guid||proxy.guid||this.guid++;return proxy;},special:{ready:{setup:bindReady,teardown:function(){}}},specialAll:{live:{setup:function(selector,namespaces){jQuery.event.add(this,namespaces[0],liveHandler);},teardown:function(namespaces){if(namespaces.length){var remove=0,name=RegExp("(^|\\.)"+namespaces[0]+"(\\.|$)");jQuery.each((jQuery.data(this,"events").live||{}),function(){if(name.test(this.type))
+remove++;});if(remove<1)
+jQuery.event.remove(this,namespaces[0],liveHandler);}}}}};jQuery.Event=function(src){if(!this.preventDefault)
+return new jQuery.Event(src);if(src&&src.type){this.originalEvent=src;this.type=src.type;}else
+this.type=src;this.timeStamp=now();this[expando]=true;};function returnFalse(){return false;}
+function returnTrue(){return true;}
+jQuery.Event.prototype={preventDefault:function(){this.isDefaultPrevented=returnTrue;var e=this.originalEvent;if(!e)
+return;if(e.preventDefault)
+e.preventDefault();e.returnValue=false;},stopPropagation:function(){this.isPropagationStopped=returnTrue;var e=this.originalEvent;if(!e)
+return;if(e.stopPropagation)
+e.stopPropagation();e.cancelBubble=true;},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=returnTrue;this.stopPropagation();},isDefaultPrevented:returnFalse,isPropagationStopped:returnFalse,isImmediatePropagationStopped:returnFalse};var withinElement=function(event){var parent=event.relatedTarget;while(parent&&parent!=this)
+try{parent=parent.parentNode;}
+catch(e){parent=this;}
+if(parent!=this){event.type=event.data;jQuery.event.handle.apply(this,arguments);}};jQuery.each({mouseover:'mouseenter',mouseout:'mouseleave'},function(orig,fix){jQuery.event.special[fix]={setup:function(){jQuery.event.add(this,orig,withinElement,fix);},teardown:function(){jQuery.event.remove(this,orig,withinElement);}};});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){var one=jQuery.event.proxy(fn||data,function(event){jQuery(this).unbind(event,one);return(fn||data).apply(this,arguments);});return this.each(function(){jQuery.event.add(this,type,one,fn&&data);});},unbind:function(type,fn){return this.each(function(){jQuery.event.remove(this,type,fn);});},trigger:function(type,data){return this.each(function(){jQuery.event.trigger(type,data,this);});},triggerHandler:function(type,data){if(this[0]){var event=jQuery.Event(type);event.preventDefault();event.stopPropagation();jQuery.event.trigger(event,data,this[0]);return event.result;}},toggle:function(fn){var args=arguments,i=1;while(i<args.length)
+jQuery.event.proxy(fn,args[i++]);return this.click(jQuery.event.proxy(fn,function(event){this.lastToggle=(this.lastToggle||0)%i;event.preventDefault();return args[this.lastToggle++].apply(this,arguments)||false;}));},hover:function(fnOver,fnOut){return this.mouseenter(fnOver).mouseleave(fnOut);},ready:function(fn){bindReady();if(jQuery.isReady)
+fn.call(document,jQuery);else
+jQuery.readyList.push(fn);return this;},live:function(type,fn){var proxy=jQuery.event.proxy(fn);proxy.guid+=this.selector+type;jQuery(document).bind(liveConvert(type,this.selector),this.selector,proxy);return this;},die:function(type,fn){jQuery(document).unbind(liveConvert(type,this.selector),fn?{guid:fn.guid+this.selector+type}:null);return this;}});function liveHandler(event){var check=RegExp("(^|\\.)"+event.type+"(\\.|$)"),stop=true,elems=[];jQuery.each(jQuery.data(this,"events").live||[],function(i,fn){if(check.test(fn.type)){var elem=jQuery(event.target).closest(fn.data)[0];if(elem)
+elems.push({elem:elem,fn:fn});}});elems.sort(function(a,b){return jQuery.data(a.elem,"closest")-jQuery.data(b.elem,"closest");});jQuery.each(elems,function(){if(this.fn.call(this.elem,event,this.fn.data)===false)
+return(stop=false);});return stop;}
+function liveConvert(type,selector){return["live",type,selector.replace(/\./g,"`").replace(/ /g,"|")].join(".");}
+jQuery.extend({isReady:false,readyList:[],ready:function(){if(!jQuery.isReady){jQuery.isReady=true;if(jQuery.readyList){jQuery.each(jQuery.readyList,function(){this.call(document,jQuery);});jQuery.readyList=null;}
+jQuery(document).triggerHandler("ready");}}});var readyBound=false;function bindReady(){if(readyBound)return;readyBound=true;if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);jQuery.ready();},false);}else if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);jQuery.ready();}});if(document.documentElement.doScroll&&window==window.top)(function(){if(jQuery.isReady)return;try{document.documentElement.doScroll("left");}catch(error){setTimeout(arguments.callee,0);return;}
+jQuery.ready();})();}
+jQuery.event.add(window,"load",jQuery.ready);}
+jQuery.each(("blur,focus,load,resize,scroll,unload,click,dblclick,"+"mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,"+"change,select,submit,keydown,keypress,keyup,error").split(","),function(i,name){jQuery.fn[name]=function(fn){return fn?this.bind(name,fn):this.trigger(name);};});jQuery(window).bind('unload',function(){for(var id in jQuery.cache)
+if(id!=1&&jQuery.cache[id].handle)
+jQuery.event.remove(jQuery.cache[id].handle.elem);});(function(){jQuery.support={};var root=document.documentElement,script=document.createElement("script"),div=document.createElement("div"),id="script"+(new Date).getTime();div.style.display="none";div.innerHTML='   <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';var all=div.getElementsByTagName("*"),a=div.getElementsByTagName("a")[0];if(!all||!all.length||!a){return;}
+jQuery.support={leadingWhitespace:div.firstChild.nodeType==3,tbody:!div.getElementsByTagName("tbody").length,objectAll:!!div.getElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSerialize:!!div.getElementsByTagName("link").length,style:/red/.test(a.getAttribute("style")),hrefNormalized:a.getAttribute("href")==="/a",opacity:a.style.opacity==="0.5",cssFloat:!!a.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};script.type="text/javascript";try{script.appendChild(document.createTextNode("window."+id+"=1;"));}catch(e){}
+root.insertBefore(script,root.firstChild);if(window[id]){jQuery.support.scriptEval=true;delete window[id];}
+root.removeChild(script);if(div.attachEvent&&div.fireEvent){div.attachEvent("onclick",function(){jQuery.support.noCloneEvent=false;div.detachEvent("onclick",arguments.callee);});div.cloneNode(true).fireEvent("onclick");}
+jQuery(function(){var div=document.createElement("div");div.style.width=div.style.paddingLeft="1px";document.body.appendChild(div);jQuery.boxModel=jQuery.support.boxModel=div.offsetWidth===2;document.body.removeChild(div).style.display='none';});})();var styleFloat=jQuery.support.cssFloat?"cssFloat":"styleFloat";jQuery.props={"for":"htmlFor","class":"className","float":styleFloat,cssFloat:styleFloat,styleFloat:styleFloat,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};jQuery.fn.extend({_load:jQuery.fn.load,load:function(url,params,callback){if(typeof url!=="string")
+return this._load(url);var off=url.indexOf(" ");if(off>=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}
+var type="GET";if(params)
+if(jQuery.isFunction(params)){callback=params;params=null;}else if(typeof params==="object"){params=jQuery.param(params);type="POST";}
+var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified")
+self.html(selector?jQuery("<div/>").append(res.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(selector):res.responseText);if(callback)
+self.each(callback,[res.responseText,status,res]);}});return this;},serialize:function(){return jQuery.param(this.serializeArray());},serializeArray:function(){return this.map(function(){return this.elements?jQuery.makeArray(this.elements):this;}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type));}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:jQuery.isArray(val)?jQuery.map(val,function(val,i){return{name:elem.name,value:val};}):{name:elem.name,value:val};}).get();}});jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=now();jQuery.extend({get:function(url,data,callback,type){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:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(s){s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));var jsonp,jsre=/=\?(&|$)/g,status,data,type=s.type.toUpperCase();if(s.data&&s.processData&&typeof s.data!=="string")
+s.data=jQuery.param(s.data);if(s.dataType=="jsonp"){if(type=="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";}
+if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++;if(s.data)
+s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";window[jsonp]=function(tmp){data=tmp;success();complete();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&&type=="GET"){var ts=now();var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"");}
+if(s.data&&type=="GET"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data;s.data=null;}
+if(s.global&&!jQuery.active++)
+jQuery.event.trigger("ajaxStart");var parts=/^(\w+:)?\/\/([^\/?#]+)/.exec(s.url);if(s.dataType=="script"&&type=="GET"&&parts&&(parts[1]&&parts[1]!=location.protocol||parts[2]!=location.host)){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=s.url;if(s.scriptCharset)
+script.charset=s.scriptCharset;if(!jsonp){var done=false;script.onload=script.onreadystatechange=function(){if(!done&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){done=true;success();complete();script.onload=script.onreadystatechange=null;head.removeChild(script);}};}
+head.appendChild(script);return undefined;}
+var requestDone=false;var xhr=s.xhr();if(s.username)
+xhr.open(type,s.url,s.async,s.username,s.password);else
+xhr.open(type,s.url,s.async);try{if(s.data)
+xhr.setRequestHeader("Content-Type",s.contentType);if(s.ifModified)
+xhr.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");xhr.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default);}catch(e){}
+if(s.beforeSend&&s.beforeSend(xhr,s)===false){if(s.global&&!--jQuery.active)
+jQuery.event.trigger("ajaxStop");xhr.abort();return false;}
+if(s.global)
+jQuery.event.trigger("ajaxSend",[xhr,s]);var onreadystatechange=function(isTimeout){if(xhr.readyState==0){if(ival){clearInterval(ival);ival=null;if(s.global&&!--jQuery.active)
+jQuery.event.trigger("ajaxStop");}}else if(!requestDone&&xhr&&(xhr.readyState==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival=null;}
+status=isTimeout=="timeout"?"timeout":!jQuery.httpSuccess(xhr)?"error":s.ifModified&&jQuery.httpNotModified(xhr,s.url)?"notmodified":"success";if(status=="success"){try{data=jQuery.httpData(xhr,s.dataType,s);}catch(e){status="parsererror";}}
+if(status=="success"){var modRes;try{modRes=xhr.getResponseHeader("Last-Modified");}catch(e){}
+if(s.ifModified&&modRes)
+jQuery.lastModified[s.url]=modRes;if(!jsonp)
+success();}else
+jQuery.handleError(s,xhr,status);complete();if(isTimeout)
+xhr.abort();if(s.async)
+xhr=null;}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout>0)
+setTimeout(function(){if(xhr&&!requestDone)
+onreadystatechange("timeout");},s.timeout);}
+try{xhr.send(s.data);}catch(e){jQuery.handleError(s,xhr,null,e);}
+if(!s.async)
+onreadystatechange();function success(){if(s.success)
+s.success(data,status);if(s.global)
+jQuery.event.trigger("ajaxSuccess",[xhr,s]);}
+function complete(){if(s.complete)
+s.complete(xhr,status);if(s.global)
+jQuery.event.trigger("ajaxComplete",[xhr,s]);if(s.global&&!--jQuery.active)
+jQuery.event.trigger("ajaxStop");}
+return xhr;},handleError:function(s,xhr,status,e){if(s.error)s.error(xhr,status,e);if(s.global)
+jQuery.event.trigger("ajaxError",[xhr,s,e]);},active:0,httpSuccess:function(xhr){try{return!xhr.status&&location.protocol=="file:"||(xhr.status>=200&&xhr.status<300)||xhr.status==304||xhr.status==1223;}catch(e){}
+return false;},httpNotModified:function(xhr,url){try{var xhrRes=xhr.getResponseHeader("Last-Modified");return xhr.status==304||xhrRes==jQuery.lastModified[url];}catch(e){}
+return false;},httpData:function(xhr,type,s){var ct=xhr.getResponseHeader("content-type"),xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0,data=xml?xhr.responseXML:xhr.responseText;if(xml&&data.documentElement.tagName=="parsererror")
+throw"parsererror";if(s&&s.dataFilter)
+data=s.dataFilter(data,type);if(typeof data==="string"){if(type=="script")
+jQuery.globalEval(data);if(type=="json")
+data=window["eval"]("("+data+")");}
+return data;},param:function(a){var s=[];function add(key,value){s[s.length]=encodeURIComponent(key)+'='+encodeURIComponent(value);};if(jQuery.isArray(a)||a.jquery)
+jQuery.each(a,function(){add(this.name,this.value);});else
+for(var j in a)
+if(jQuery.isArray(a[j]))
+jQuery.each(a[j],function(){add(j,this);});else
+add(j,jQuery.isFunction(a[j])?a[j]():a[j]);return s.join("&").replace(/%20/g,"+");}});var elemdisplay={},timerId,fxAttrs=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function genFx(type,num){var obj={};jQuery.each(fxAttrs.concat.apply([],fxAttrs.slice(0,num)),function(){obj[this]=type;});return obj;}
+jQuery.fn.extend({show:function(speed,callback){if(speed){return this.animate(genFx("show",3),speed,callback);}else{for(var i=0,l=this.length;i<l;i++){var old=jQuery.data(this[i],"olddisplay");this[i].style.display=old||"";if(jQuery.css(this[i],"display")==="none"){var tagName=this[i].tagName,display;if(elemdisplay[tagName]){display=elemdisplay[tagName];}else{var elem=jQuery("<"+tagName+" />").appendTo("body");display=elem.css("display");if(display==="none")
+display="block";elem.remove();elemdisplay[tagName]=display;}
+jQuery.data(this[i],"olddisplay",display);}}
+for(var i=0,l=this.length;i<l;i++){this[i].style.display=jQuery.data(this[i],"olddisplay")||"";}
+return this;}},hide:function(speed,callback){if(speed){return this.animate(genFx("hide",3),speed,callback);}else{for(var i=0,l=this.length;i<l;i++){var old=jQuery.data(this[i],"olddisplay");if(!old&&old!=="none")
+jQuery.data(this[i],"olddisplay",jQuery.css(this[i],"display"));}
+for(var i=0,l=this.length;i<l;i++){this[i].style.display="none";}
+return this;}},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){var bool=typeof fn==="boolean";return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle.apply(this,arguments):fn==null||bool?this.each(function(){var state=bool?fn:jQuery(this).is(":hidden");jQuery(this)[state?"show":"hide"]();}):this.animate(genFx("toggle",3),fn,fn2);},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(){var opt=jQuery.extend({},optall),p,hidden=this.nodeType==1&&jQuery(this).is(":hidden"),self=this;for(p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)
+return opt.complete.call(this);if((p=="height"||p=="width")&&this.style){opt.display=jQuery.css(this,"display");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";if(unit!="px"){self.style[name]=(end||1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit;}
+if(parts[1])
+end=((parts[1]=="-="?-1:1)*end)+start;e.custom(start,end,unit);}else
+e.custom(start,val,"");}});return true;});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue)
+this.queue([]);this.each(function(){for(var i=timers.length-1;i>=0;i--)
+if(timers[i].elem==this){if(gotoEnd)
+timers[i](true);timers.splice(i,1);}});if(!gotoEnd)
+this.dequeue();return this;}});jQuery.each({slideDown:genFx("show",1),slideUp:genFx("hide",1),slideToggle:genFx("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(name,props){jQuery.fn[name]=function(speed,callback){return this.animate(props,speed,callback);};});jQuery.extend({speed:function(speed,easing,fn){var opt=typeof speed==="object"?speed:{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&!jQuery.isFunction(easing)&&easing};opt.duration=jQuery.fx.off?0:typeof opt.duration==="number"?opt.duration:jQuery.fx.speeds[opt.duration]||jQuery.fx.speeds._default;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false)
+jQuery(this).dequeue();if(jQuery.isFunction(opt.old))
+opt.old.call(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:[],fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;if(!options.orig)
+options.orig={};}});jQuery.fx.prototype={update:function(){if(this.options.step)
+this.options.step.call(this.elem,this.now,this);(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style)
+this.elem.style.display="block";},cur:function(force){if(this.elem[this.prop]!=null&&(!this.elem.style||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;},custom:function(from,to,unit){this.startTime=now();this.start=from;this.end=to;this.unit=unit||this.unit||"px";this.now=this.start;this.pos=this.state=0;var self=this;function t(gotoEnd){return self.step(gotoEnd);}
+t.elem=this.elem;if(t()&&jQuery.timers.push(t)&&!timerId){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(timerId);timerId=undefined;}},13);}},show:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.show=true;this.custom(this.prop=="width"||this.prop=="height"?1:0,this.cur());jQuery(this.elem).show();},hide:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0);},step:function(gotoEnd){var t=now();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){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,"display")=="none")
+this.elem.style.display="block";}
+if(this.options.hide)
+jQuery(this.elem).hide();if(this.options.hide||this.options.show)
+for(var p in this.options.curAnim)
+jQuery.attr(this.elem.style,p,this.options.orig[p]);this.options.complete.call(this.elem);}
+return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;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);this.update();}
+return true;}};jQuery.extend(jQuery.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(fx){jQuery.attr(fx.elem.style,"opacity",fx.now);},_default:function(fx){if(fx.elem.style&&fx.elem.style[fx.prop]!=null)
+fx.elem.style[fx.prop]=fx.now+fx.unit;else
+fx.elem[fx.prop]=fx.now;}}});if(document.documentElement["getBoundingClientRect"])
+jQuery.fn.offset=function(){if(!this[0])return{top:0,left:0};if(this[0]===this[0].ownerDocument.body)return jQuery.offset.bodyOffset(this[0]);var box=this[0].getBoundingClientRect(),doc=this[0].ownerDocument,body=doc.body,docElem=doc.documentElement,clientTop=docElem.clientTop||body.clientTop||0,clientLeft=docElem.clientLeft||body.clientLeft||0,top=box.top+(self.pageYOffset||jQuery.boxModel&&docElem.scrollTop||body.scrollTop)-clientTop,left=box.left+(self.pageXOffset||jQuery.boxModel&&docElem.scrollLeft||body.scrollLeft)-clientLeft;return{top:top,left:left};};else
+jQuery.fn.offset=function(){if(!this[0])return{top:0,left:0};if(this[0]===this[0].ownerDocument.body)return jQuery.offset.bodyOffset(this[0]);jQuery.offset.initialized||jQuery.offset.initialize();var elem=this[0],offsetParent=elem.offsetParent,prevOffsetParent=elem,doc=elem.ownerDocument,computedStyle,docElem=doc.documentElement,body=doc.body,defaultView=doc.defaultView,prevComputedStyle=defaultView.getComputedStyle(elem,null),top=elem.offsetTop,left=elem.offsetLeft;while((elem=elem.parentNode)&&elem!==body&&elem!==docElem){computedStyle=defaultView.getComputedStyle(elem,null);top-=elem.scrollTop,left-=elem.scrollLeft;if(elem===offsetParent){top+=elem.offsetTop,left+=elem.offsetLeft;if(jQuery.offset.doesNotAddBorder&&!(jQuery.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(elem.tagName)))
+top+=parseInt(computedStyle.borderTopWidth,10)||0,left+=parseInt(computedStyle.borderLeftWidth,10)||0;prevOffsetParent=offsetParent,offsetParent=elem.offsetParent;}
+if(jQuery.offset.subtractsBorderForOverflowNotVisible&&computedStyle.overflow!=="visible")
+top+=parseInt(computedStyle.borderTopWidth,10)||0,left+=parseInt(computedStyle.borderLeftWidth,10)||0;prevComputedStyle=computedStyle;}
+if(prevComputedStyle.position==="relative"||prevComputedStyle.position==="static")
+top+=body.offsetTop,left+=body.offsetLeft;if(prevComputedStyle.position==="fixed")
+top+=Math.max(docElem.scrollTop,body.scrollTop),left+=Math.max(docElem.scrollLeft,body.scrollLeft);return{top:top,left:left};};jQuery.offset={initialize:function(){if(this.initialized)return;var body=document.body,container=document.createElement('div'),innerDiv,checkDiv,table,td,rules,prop,bodyMarginTop=body.style.marginTop,html='<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';rules={position:'absolute',top:0,left:0,margin:0,border:0,width:'1px',height:'1px',visibility:'hidden'};for(prop in rules)container.style[prop]=rules[prop];container.innerHTML=html;body.insertBefore(container,body.firstChild);innerDiv=container.firstChild,checkDiv=innerDiv.firstChild,td=innerDiv.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(checkDiv.offsetTop!==5);this.doesAddBorderForTableAndCells=(td.offsetTop===5);innerDiv.style.overflow='hidden',innerDiv.style.position='relative';this.subtractsBorderForOverflowNotVisible=(checkDiv.offsetTop===-5);body.style.marginTop='1px';this.doesNotIncludeMarginInBodyOffset=(body.offsetTop===0);body.style.marginTop=bodyMarginTop;body.removeChild(container);this.initialized=true;},bodyOffset:function(body){jQuery.offset.initialized||jQuery.offset.initialize();var top=body.offsetTop,left=body.offsetLeft;if(jQuery.offset.doesNotIncludeMarginInBodyOffset)
+top+=parseInt(jQuery.curCSS(body,'marginTop',true),10)||0,left+=parseInt(jQuery.curCSS(body,'marginLeft',true),10)||0;return{top:top,left:left};}};jQuery.fn.extend({position:function(){var left=0,top=0,results;if(this[0]){var offsetParent=this.offsetParent(),offset=this.offset(),parentOffset=/^body|html$/i.test(offsetParent[0].tagName)?{top:0,left:0}:offsetParent.offset();offset.top-=num(this,'marginTop');offset.left-=num(this,'marginLeft');parentOffset.top+=num(offsetParent,'borderTopWidth');parentOffset.left+=num(offsetParent,'borderLeftWidth');results={top:offset.top-parentOffset.top,left:offset.left-parentOffset.left};}
+return results;},offsetParent:function(){var offsetParent=this[0].offsetParent||document.body;while(offsetParent&&(!/^body|html$/i.test(offsetParent.tagName)&&jQuery.css(offsetParent,'position')=='static'))
+offsetParent=offsetParent.offsetParent;return jQuery(offsetParent);}});jQuery.each(['Left','Top'],function(i,name){var method='scroll'+name;jQuery.fn[method]=function(val){if(!this[0])return null;return val!==undefined?this.each(function(){this==window||this==document?window.scrollTo(!i?val:jQuery(window).scrollLeft(),i?val:jQuery(window).scrollTop()):this[method]=val;}):this[0]==window||this[0]==document?self[i?'pageYOffset':'pageXOffset']||jQuery.boxModel&&document.documentElement[method]||document.body[method]:this[0][method];};});jQuery.each(["Height","Width"],function(i,name){var tl=i?"Left":"Top",br=i?"Right":"Bottom",lower=name.toLowerCase();jQuery.fn["inner"+name]=function(){return this[0]?jQuery.css(this[0],lower,false,"padding"):null;};jQuery.fn["outer"+name]=function(margin){return this[0]?jQuery.css(this[0],lower,false,margin?"margin":"border"):null;};var type=name.toLowerCase();jQuery.fn[type]=function(size){return this[0]==window?document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(document.documentElement["client"+name],document.body["scroll"+name],document.documentElement["scroll"+name],document.body["offset"+name],document.documentElement["offset"+name]):size===undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,typeof size==="string"?size:size+"px");};});})();(function($){$.fn.ajaxSubmit=function(options){if(!this.length){log('ajaxSubmit: skipping submit process - no element selected');return this;}
+if(typeof options=='function')
+options={success:options};options=$.extend({url:this.attr('action')||window.location.toString(),type:this.attr('method')||'GET'},options||{});var veto={};this.trigger('form-pre-serialize',[this,options,veto]);if(veto.veto){log('ajaxSubmit: submit vetoed via form-pre-serialize trigger');return this;}
+var a=this.formToArray(options.semantic);if(options.data){options.extraData=options.data;for(var n in options.data)
+a.push({name:n,value:options.data[n]});}
+if(options.beforeSubmit&&options.beforeSubmit(a,this,options)===false){log('ajaxSubmit: submit aborted via beforeSubmit callback');return this;}
+this.trigger('form-submit-validate',[a,this,options,veto]);if(veto.veto){log('ajaxSubmit: submit vetoed via form-submit-validate trigger');return this;}
+var q=$.param(a);if(options.type.toUpperCase()=='GET'){options.url+=(options.url.indexOf('?')>=0?'&':'?')+q;options.data=null;}
+else
+options.data=q;var $form=this,callbacks=[];if(options.resetForm)callbacks.push(function(){$form.resetForm();});if(options.clearForm)callbacks.push(function(){$form.clearForm();});if(!options.dataType&&options.target){var oldSuccess=options.success||function(){};callbacks.push(function(data){$(options.target).html(data).each(oldSuccess,arguments);});}
+else if(options.success)
+callbacks.push(options.success);options.success=function(data,status){for(var i=0,max=callbacks.length;i<max;i++)
+callbacks[i](data,status,$form);};var files=$('input:file',this).fieldValue();var found=false;for(var j=0;j<files.length;j++)
+if(files[j])
+found=true;if(options.iframe||found){if($.browser.safari&&options.closeKeepAlive)
+$.get(options.closeKeepAlive,fileUpload);else
+fileUpload();}
+else
+$.ajax(options);this.trigger('form-submit-notify',[this,options]);return this;function fileUpload(){var form=$form[0];if($(':input[@name=submit]',form).length){alert('Error: Form elements must not be named "submit".');return;}
+var opts=$.extend({},$.ajaxSettings,options);var id='jqFormIO'+(new Date().getTime());var $io=$('<iframe id="'+id+'" name="'+id+'" />');var io=$io[0];if($.browser.msie||$.browser.opera)
+io.src='javascript:false;document.write("");';$io.css({position:'absolute',top:'-1000px',left:'-1000px'});var xhr={responseText:null,responseXML:null,status:0,statusText:'n/a',getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){}};var g=opts.global;if(g&&!$.active++)$.event.trigger("ajaxStart");if(g)$.event.trigger("ajaxSend",[xhr,opts]);var cbInvoked=0;var timedOut=0;var sub=form.clk;if(sub){var n=sub.name;if(n&&!sub.disabled){options.extraData=options.extraData||{};options.extraData[n]=sub.value;if(sub.type=="image"){options.extraData[name+'.x']=form.clk_x;options.extraData[name+'.y']=form.clk_y;}}}
+setTimeout(function(){var t=$form.attr('target'),a=$form.attr('action');$form.attr({target:id,encoding:'multipart/form-data',enctype:'multipart/form-data',method:'POST',action:opts.url});if(opts.timeout)
+setTimeout(function(){timedOut=true;cb();},opts.timeout);var extraInputs=[];try{if(options.extraData)
+for(var n in options.extraData)
+extraInputs.push($('<input type="hidden" name="'+n+'" value="'+options.extraData[n]+'" />').appendTo(form)[0]);$io.appendTo('body');io.attachEvent?io.attachEvent('onload',cb):io.addEventListener('load',cb,false);form.submit();}
+finally{$form.attr('action',a);t?$form.attr('target',t):$form.removeAttr('target');$(extraInputs).remove();}},10);function cb(){if(cbInvoked++)return;io.detachEvent?io.detachEvent('onload',cb):io.removeEventListener('load',cb,false);var operaHack=0;var ok=true;try{if(timedOut)throw'timeout';var data,doc;doc=io.contentWindow?io.contentWindow.document:io.contentDocument?io.contentDocument:io.document;if(doc.body==null&&!operaHack&&$.browser.opera){operaHack=1;cbInvoked--;setTimeout(cb,100);return;}
+xhr.responseText=doc.body?doc.body.innerHTML:null;xhr.responseXML=doc.XMLDocument?doc.XMLDocument:doc;xhr.getResponseHeader=function(header){var headers={'content-type':opts.dataType};return headers[header];};if(opts.dataType=='json'||opts.dataType=='script'){var ta=doc.getElementsByTagName('textarea')[0];xhr.responseText=ta?ta.value:xhr.responseText;}
+else if(opts.dataType=='xml'&&!xhr.responseXML&&xhr.responseText!=null){xhr.responseXML=toXml(xhr.responseText);}
+data=$.httpData(xhr,opts.dataType);}
+catch(e){ok=false;$.handleError(opts,xhr,'error',e);}
+if(ok){opts.success(data,'success');if(g)$.event.trigger("ajaxSuccess",[xhr,opts]);}
+if(g)$.event.trigger("ajaxComplete",[xhr,opts]);if(g&&!--$.active)$.event.trigger("ajaxStop");if(opts.complete)opts.complete(xhr,ok?'success':'error');setTimeout(function(){$io.remove();xhr.responseXML=null;},100);};function toXml(s,doc){if(window.ActiveXObject){doc=new ActiveXObject('Microsoft.XMLDOM');doc.async='false';doc.loadXML(s);}
+else
+doc=(new DOMParser()).parseFromString(s,'text/xml');return(doc&&doc.documentElement&&doc.documentElement.tagName!='parsererror')?doc:null;};};};$.fn.ajaxForm=function(options){return this.ajaxFormUnbind().bind('submit.form-plugin',function(){$(this).ajaxSubmit(options);return false;}).each(function(){$(":submit,input:image",this).bind('click.form-plugin',function(e){var $form=this.form;$form.clk=this;if(this.type=='image'){if(e.offsetX!=undefined){$form.clk_x=e.offsetX;$form.clk_y=e.offsetY;}else if(typeof $.fn.offset=='function'){var offset=$(this).offset();$form.clk_x=e.pageX-offset.left;$form.clk_y=e.pageY-offset.top;}else{$form.clk_x=e.pageX-this.offsetLeft;$form.clk_y=e.pageY-this.offsetTop;}}
+setTimeout(function(){$form.clk=$form.clk_x=$form.clk_y=null;},10);});});};$.fn.ajaxFormUnbind=function(){this.unbind('submit.form-plugin');return this.each(function(){$(":submit,input:image",this).unbind('click.form-plugin');});};$.fn.formToArray=function(semantic){var a=[];if(this.length==0)return a;var form=this[0];var els=semantic?form.getElementsByTagName('*'):form.elements;if(!els)return a;for(var i=0,max=els.length;i<max;i++){var el=els[i];var n=el.name;if(!n)continue;if(semantic&&form.clk&&el.type=="image"){if(!el.disabled&&form.clk==el)
+a.push({name:n+'.x',value:form.clk_x},{name:n+'.y',value:form.clk_y});continue;}
+var v=$.fieldValue(el,true);if(v&&v.constructor==Array){for(var j=0,jmax=v.length;j<jmax;j++)
+a.push({name:n,value:v[j]});}
+else if(v!==null&&typeof v!='undefined')
+a.push({name:n,value:v});}
+if(!semantic&&form.clk){var inputs=form.getElementsByTagName("input");for(var i=0,max=inputs.length;i<max;i++){var input=inputs[i];var n=input.name;if(n&&!input.disabled&&input.type=="image"&&form.clk==input)
+a.push({name:n+'.x',value:form.clk_x},{name:n+'.y',value:form.clk_y});}}
+return a;};$.fn.formSerialize=function(semantic){return $.param(this.formToArray(semantic));};$.fn.fieldSerialize=function(successful){var a=[];this.each(function(){var n=this.name;if(!n)return;var v=$.fieldValue(this,successful);if(v&&v.constructor==Array){for(var i=0,max=v.length;i<max;i++)
+a.push({name:n,value:v[i]});}
+else if(v!==null&&typeof v!='undefined')
+a.push({name:this.name,value:v});});return $.param(a);};$.fn.fieldValue=function(successful){for(var val=[],i=0,max=this.length;i<max;i++){var el=this[i];var v=$.fieldValue(el,successful);if(v===null||typeof v=='undefined'||(v.constructor==Array&&!v.length))
+continue;v.constructor==Array?$.merge(val,v):val.push(v);}
+return val;};$.fieldValue=function(el,successful){var n=el.name,t=el.type,tag=el.tagName.toLowerCase();if(typeof successful=='undefined')successful=true;if(successful&&(!n||el.disabled||t=='reset'||t=='button'||(t=='checkbox'||t=='radio')&&!el.checked||(t=='submit'||t=='image')&&el.form&&el.form.clk!=el||tag=='select'&&el.selectedIndex==-1))
+return null;if(tag=='select'){var index=el.selectedIndex;if(index<0)return null;var a=[],ops=el.options;var one=(t=='select-one');var max=(one?index+1:ops.length);for(var i=(one?index:0);i<max;i++){var op=ops[i];if(op.selected){var v=$.browser.msie&&!(op.attributes['value'].specified)?op.text:op.value;if(one)return v;a.push(v);}}
+return a;}
+return el.value;};$.fn.clearForm=function(){return this.each(function(){$('input,select,textarea',this).clearFields();});};$.fn.clearFields=$.fn.clearInputs=function(){return this.each(function(){var t=this.type,tag=this.tagName.toLowerCase();if(t=='text'||t=='password'||tag=='textarea')
+this.value='';else if(t=='checkbox'||t=='radio')
+this.checked=false;else if(tag=='select')
+this.selectedIndex=-1;});};$.fn.resetForm=function(){return this.each(function(){if(typeof this.reset=='function'||(typeof this.reset=='object'&&!this.reset.nodeType))
+this.reset();});};$.fn.enable=function(b){if(b==undefined)b=true;return this.each(function(){this.disabled=!b});};$.fn.select=function(select){if(select==undefined)select=true;return this.each(function(){var t=this.type;if(t=='checkbox'||t=='radio')
+this.checked=select;else if(this.tagName.toLowerCase()=='option'){var $sel=$(this).parent('select');if(select&&$sel[0]&&$sel[0].type=='select-one'){$sel.find('option').select(false);}
+this.selected=select;}});};function log(){if($.fn.ajaxSubmit.debug&&window.console&&window.console.log)
+window.console.log('[jquery.form] '+Array.prototype.join.call(arguments,''));};})(jQuery);var TO_LOAD_INDEX=0;var TO_LOAD=new Array;var MARKITUP=false;var UNBIND=false;var GOTOAFTERSUBMIT='';$(function(){load_jquery();});function load_jquery(){if(UNBIND){if(MARKITUP){$("*").not(".markItUpButton").unbind();}else{$("*").unbind();}}
+UNBIND=true;$("a.submit").click(function(){$(this).parents("form").submit();if($(this).attr('href')!='#'){GOTOAFTERSUBMIT=$(this).attr('href');}
+return false;});$("a.submitOnce").click(function(){$(this).parents("form").submit();$(this).unbind('click');return false;});$("a.submitWait").click(function(){$(this).parents("form").after('<p class="center">'+$(this).attr('title')+'<br /><br /><img src="'+IMG_CUBE+'/loader.gif" /></p>');$(this).parents("form").submit();$(this).parents("form").hide();return false;});$("form").submit(function(){$(this).attr('change','0');return true;});$("form.blank").each(function(){$(this).attr('target','_blank');$(this).removeClass('_blank');});$("form").not(".notajax").submit(function(){display_loader();$(this).ajaxSubmit({url:SITE_PATH+'ajax/'+$(this).attr('action'),success:function(data){MyAjax(data);if(GOTOAFTERSUBMIT!=''){window.location=GOTOAFTERSUBMIT;GOTOAFTERSUBMIT='';}}});return false;});$(".notajax form").unbind();$("form.submitonchange :input").each(function(){$(this).one('change',function(){$(this).parents("form").submit();});});$(":input").change(function(){$(this).parents("form").attr("change",1);});$("a.ajax").click(function(){var title=$(this).attr('title');var href=$(this).attr('rel');if(title!=''&&title!=undefined&&title.search(/\?/)>-1){if(!window.confirm(title)){return false;}}
+if($(this).hasClass('wait')){wait();}
+display_loader();$.ajax({url:SITE_PATH+'ajax/'+href,success:function(data){MyAjax(data);}});return false;});$("a.dajax").dblclick(function(){var title=$(this).attr('title');var href=$(this).attr('rel');if(title!=''&&title!=undefined&&title.search(/\?/)>=0){if(!window.confirm(title)){return false;}}
+display_loader();$.ajax({url:SITE_PATH+'ajax/'+href,success:function(data){MyAjax(data);}});return false;});$("a.ajaxh").click(function(){var title=$(this).attr('title');var href=$(this).attr('href');if(title!=''&&title!=undefined&&title.search(/\?/)>=0){if(!window.confirm(title)){return false;}}
+display_loader();$.ajax({url:href,success:function(data){MyAjax(data);}});return false;});$("a.prompt").click(function(){var href=$(this).attr('rel');var defaut=$(this).attr('rev');var name=window.prompt($(this).attr('title'),defaut);if(name==null||name=='null'||name==''){return false;}
+display_loader();$.ajax({url:SITE_PATH+'ajax/'+href+'?var='+name,success:function(data){MyAjax(data);}});return false;});$("a.closePopup").click(function(){closePopup($(this),true);return false;});$("a.closePopupNotConfirm").click(function(){closePopup($(this),false);return false;});$("a.popup").click(function(){display_loader();$.ajax({url:SITE_PATH+'ajax/'+$(this).attr('rel'),dataType:'responseText',success:function(data){createPopup(data);}});remove_loader();return false;});$("a.changepopup").click(function(){display_loader();$.ajax({url:SITE_PATH+'ajax/'+$(this).attr('rel'),dataType:'responseText',success:function(data){changepopup(data);load_jquery();}});remove_loader();return false;});$("a.blank").click(function(){$(this).attr('target','_blank');return true;});$("a.nothing").click(function(){return false;});$(".pemail").each(function(){var protected=$(this).text();var adresse=rot13(protected);$(this).text(adresse);$(this).attr('href','mailto:'+adresse);$(this).removeClass('pemail');});var len=TO_LOAD.length;for(var i=0;i<len;i++){eval(TO_LOAD[i]);}
+__fixPNG();if($("#jquery_time").length>0&&$("#jquery_time").text()==''){var E=new Date();var m=(parseInt(E-S)/1000).toString().replace('.',',');$("#jquery_time").text(m);}}
+function randval(min,max){var diff=max-min;return Math.round(Math.random()*diff)+diff;}
+function rot(t,u,v){return String.fromCharCode(((t-u+v)%(v*2))+u);}
+function rot13(s){var b=[],c,i=s.length,a='a'.charCodeAt(),z=a+26,A='A'.charCodeAt(),Z=A+26;while(i--){c=s.charCodeAt(i);if(c>=a&&c<z){b[i]=rot(c,a,13);}else if(c>=A&&c<Z){b[i]=rot(c,A,13);}else{b[i]=s.charAt(i);}}
+return b.join('');}
+function createPopup(data){POPUP_COUNTER=parseInt(POPUP_COUNTER);$("body").append('<div id="pl_'+POPUP_COUNTER+'" class="popupLayer"><div class="popupOverlay" id="po_'+POPUP_COUNTER+'" style="z-index:'+(1000+POPUP_COUNTER*2)+';"></div><div id="pw_'+POPUP_COUNTER+'" class="popupWindow" style="z-index:'+(1001+POPUP_COUNTER*2)+';"></div></div>');$("#po_"+POPUP_COUNTER).css('opacity',0.65);$("#po_"+POPUP_COUNTER).css('display','block');$("#pw_"+POPUP_COUNTER).html(data);$("#pw_"+POPUP_COUNTER).show();popup_dimensions(POPUP_COUNTER);load_jquery();POPUP_COUNTER+=1;}
+function closePopup(object,confirm){if(object==undefined||object==null){var i=$(".popupLayer").length-1;var elements=$(".popupLayer").get();var e=elements[i];var changes=false;$(this).find("form").each(function(){if($(this).attr("change")==1){changes=true;}});if(confirm==false||(changes==true&&window.confirm(CONFIRM_CLOSE))||changes==false){$(e).remove();POPUP_COUNTER-=1;popup_dimensions();}}else{$(object).parents(".popupLayer").each(function(){var changes=false;$(this).find("form").each(function(){if($(this).attr("change")==1){changes=true;}});if(confirm==false||(changes==true&&window.confirm(CONFIRM_CLOSE))||changes==false){$(this).remove();POPUP_COUNTER-=1;popup_dimensions();}});}}
+function popup_dimensions(i){if(i==undefined){i=POPUP_COUNTER-1;}
+if(i<0){return;}
+var margin=30;var mh=$(window).height()-(margin*2);if(!$.browser.msie){$("#pw_"+i).css("opacity",0);}
+$("#pw_"+i+" .c>div").css("overflow-y",'auto');$("#pw_"+i+" .c>div").css("overflow-x",'visible');$("#pw_"+i+" .c>div").css("max-height",mh);$("#pw_"+i).css("left",($(window).width()-$("#pw_"+i).width())/2);if($("#pw_"+i+" .c>div").attr('top')){$("#pw_"+i).css("top",parseInt($("#pw_"+i+" .c>div").attr('top')));}else{var top=(mh-$("#pw_"+i).height())/2+margin;$("#pw_"+i).css("top",top);}
+if(!$.browser.msie){$("#pw_"+i).css("opacity",1);}}
+function changepopup(data){var pc=POPUP_COUNTER-1;$("#pw_"+pc).html(data);popup_dimensions(pc);}
+function checkUpload(){if($.browser.msie){var iframe=uploadIframe.document;}else{var uploadIframe=document.getElementById('uploadIframe');var iframe=uploadIframe.contentDocument;}
+if(iframe.getElementById('status')!=undefined&&iframe.contentDocument.getElementById('status').innerHTML!=undefined){clearInterval(INTERVAL);$.ajax({url:UPDATE,success:function(data){MyAjax(data);}});if(iframe.getElementById('status').innerHTML!='ok'){window.alert(ERREUR_FICHIER+' : \n'+iframe.getElementById('status').innerHTML);}
+if(POPUP_COUNTER>0){closePopup(null,false);}
+$("#uploadIframe").remove();}}
+function isSet(i){return(i==null||i=='null'||i==''||i=='undefined');}
+function callAjaxSwf(urlLink){$.ajax({url:urlLink,success:function(data){MyAjax(data);}});}
+function swfAjax(data){MyAjax(strToXML(data));}
+function MyAjax(data,reload){var error=new Array();var confirmation='';var ok=true;var t=$(data).children('rsp').children().get();for(var i=0;i<t.length;i++){var e=t[i];var name=e.nodeName;if(name=='confirmation'){var contentconfirm=$(e).text();confirmation+="<p>"+contentconfirm+"</p>";}else if(name=='error'){var errors=$(e).children().get();for(var j=0;j<errors.length;j++){var err=errors[j];var ename=err.nodeName;var econtent=$(err).text();$("#"+ename).addClass('error');$("#"+ename).val('');error.push(econtent);ok=false;}}else if(name=='content'){var contents=$(e).children().get();for(var k=0;k<contents.length;k++){var content=contents[k];var cname=content.nodeName;var ccontent=$(content).text();if(ccontent==''){$("#"+cname).html(ccontent);}else{$("#"+cname).html(ccontent);}
+if(POPUP_COUNTER-1>=0){popup_dimensions(POPUP_COUNTER-1);}}}else if(name=='replace'){var contents=$(e).children().get();for(var k=0;k<contents.length;k++){var content=contents[k];var cname=content.nodeName;var ccontent=$(content).text();if(ccontent==''){$("#"+cname).replaceWith(ccontent);}else{$("#"+cname).replaceWith(ccontent);}
+if(POPUP_COUNTER-1>=0){popup_dimensions(POPUP_COUNTER-1);}}}else if(name=='append'){var contents=$(e).children().get();for(var k=0;k<contents.length;k++){var content=contents[k];var cname=content.nodeName;var ccontent=$(content).text();if(ccontent==''){$("#"+cname).append(ccontent);}else{$("#"+cname).append(ccontent);}
+if(POPUP_COUNTER-1>=0){popup_dimensions(POPUP_COUNTER-1);}}}else if(name=='param'){var ids=$(e).children().get();for(var p=0;p<ids.length;p++){var id=ids[p];var idname=id.nodeName;var params=$(id).children().get();var o={};for(var q=0;q<params.length;q++){var param=params[q];var paramname=param.nodeName;var paramcontent=$(param).text();o[paramname]=paramcontent;}
+$("#"+idname).attr(o);$("#"+idname).parents("form").unbind('submit');}}else if(name=='alert'){var alerts=$(e).children().get();for(var r=0;r<alerts.length;r++){var alert=alerts[r];var acontent=$(alert).text();window.alert(acontent);}}else if(name=='ok'){var oks=$(e).children().get();for(var l=0;l<oks.length;l++){var ok=oks[l];var oname=ok.nodeName.toLowerCase();$("#"+oname).removeClass('error');}}else if(name=='redirection'){var url=$(e).text();window.location=url;}else if(name=='show'){var oks=$(e).children().get();for(var l=0;l<oks.length;l++){var ok=oks[l];var oname=ok.nodeName;$("#"+oname).show('fast');}}else if(name=='debug'){}else if(name=='eval'){var codes=$(e).children().get();for(var r=0;r<codes.length;r++){var code=codes[r];eval($(code).text());}}else if(name=='closepopup'){var closes=$(e).children().get();for(var cp=0;cp<closes.length;cp++){closePopup(null,false);}}else if(name=='openpopup'){var opens=$(e).children().get();for(var op=0;op<opens.length;op++){var cont=opens[op];createPopup($(cont).text());}}else if(name=='changepopup'){var changes=$(e).children().get();for(var cp=0;cp<changes.length;cp++){var cont=changes[cp];changepopup($(cont).text());}}
+else if(name=='popupdimensions'){popup_dimensions();}
+else if(name=='truepopup'){var trues=$(e).children().get();for(var tp=0;tp<trues.length;tp++){var cont=trues[tp];truePopup($(cont).text());}}else if(name=='timer'){var time=parseInt($(e).text());var t=setTimeout("doNothing()",time);}else if(name=='value'){var values=$(e).children().get();for(var v=0;v<values.length;v++){var node=values[v];var oname=node.nodeName;var val=$("#"+oname).val($(node).text());}}}
+if(error.length>0){$("#message").html(error.join('<br />'));}else{$("#message").html('');}
+if(confirmation!=''){$("#confirmation").html(confirmation);$("#confirmation").animate({height:26,opacity:1},2000,function(){$("#confirmation").fadeTo(10000,1,function(){$("#confirmation").animate({height:0,opacity:0},2000);$("#confirmation").empty();});});}
+if(reload==true||reload==undefined){load_jquery();}
+remove_loader();return ok;}
+function truePopup(url){var rand=Math.round(Math.random()*200);window.open(url,'Popup'+rand,'width='+window.width+',height='+window.height);}
+function _fixPNG(){var png;var images=$('img[src*="png"]:not([fixed="fixed"])');images.each(function(){png=$(this).attr('src');$(this).attr('src',IMG_CUBE+'/spacer.gif');$(this).css('filter',"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+png+"')");$(this).attr('fixed','fixed');});}
+function __fixPNG(){if($.browser.msie&&parseInt(navigator.userAgent.match(/MSIE (\d+(?:\.\d+)+(?:b\d*)?)/)[1])<=6){_fixPNG();}}
+function getWindowHeight(){var windowHeight=0;if(typeof(window.innerHeight)=='number'){windowHeight=window.innerHeight;}
+else{if(document.documentElement&&document.documentElement.clientHeight){windowHeight=document.documentElement.clientHeight;}
+else{if(document.body&&document.body.clientHeight){windowHeight=document.body.clientHeight;}}}
+return windowHeight;}
+function getWindowWidth(){var myWidth=0;if(typeof(window.innerWidth)=='number'){myWidth=window.innerWidth;}
+else if(document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight)){myWidth=document.documentElement.clientWidth;}
+else if(document.body&&(document.body.clientWidth||document.body.clientHeight)){myWidth=document.body.clientWidth;}
+return myWidth;}
+function doNothing(){}
+function htmlEditorGetText(id){var text=document.getElementById(id).value;return'<TEXTFORMAT LEADING="2"><P ALIGN="LEFT">'+text+'</P></TEXTFORMAT>';}
+function htmlEditorPutText(id,text){document.getElementById(id).value=text;}
+function display_loader(){if(LOADER_AJAX==''){}else{$("body").append('<div id="loader"><img src="'+LOADER_AJAX+'" /></div>');}}
+function remove_loader(){if(LOADER_AJAX==''){}else{$("#loader").remove();}}
+function URLEncode(clearString){var output='';var x=0;clearString=clearString.toString();var regex=/(^[a-zA-Z0-9_.]*)/;while(x<clearString.length){var match=regex.exec(clearString.substr(x));if(match!=null&&match.length>1&&match[1]!=''){output+=match[1];x+=match[1].length;}else{if(clearString[x]==' ')
+output+='+';else{var charCode=clearString.charCodeAt(x);var hexVal=charCode.toString(16);output+='%'+(hexVal.length<2?'0':'')+hexVal.toUpperCase();}
+x++;}}
+return output;}
+function strToXML(str){var contentType='application/xml';if(typeof(DOMParser)!='undefined'){return(new DOMParser()).parseFromString(str.substr(0,4095),contentType);}else if(typeof(ActiveXObject)!='undefined'){var xmldata=new ActiveXObject('MSXML.DomDocument');xmldata.async=false;xmldata.loadXML(str);return xmldata;}else if(typeof(XMLHttpRequest)!='undefined'){var xmldata=new XMLHttpRequest;if(!contentType){contentType='application/xml';}
+xmldata.open('GET','data:'+contentType+';charset=utf-8,'+encodeURIComponent(str),false);if(xmldata.overrideMimeType){xmldata.overrideMimeType(contentType);}
+xmldata.send(null);return xmldata.responseXML;}};jQuery.ui||(function($){var _remove=$.fn.remove,isFF2=$.browser.mozilla&&(parseFloat($.browser.version)<1.9);$.ui={version:"1.7.2",plugin:{add:function(module,option,set){var proto=$.ui[module].prototype;for(var i in set){proto.plugins[i]=proto.plugins[i]||[];proto.plugins[i].push([option,set[i]]);}},call:function(instance,name,args){var set=instance.plugins[name];if(!set||!instance.element[0].parentNode){return;}
+for(var i=0;i<set.length;i++){if(instance.options[set[i][0]]){set[i][1].apply(instance.element,args);}}}},contains:function(a,b){return document.compareDocumentPosition?a.compareDocumentPosition(b)&16:a!==b&&a.contains(b);},hasScroll:function(el,a){if($(el).css('overflow')=='hidden'){return false;}
+var scroll=(a&&a=='left')?'scrollLeft':'scrollTop',has=false;if(el[scroll]>0){return true;}
+el[scroll]=1;has=(el[scroll]>0);el[scroll]=0;return has;},isOverAxis:function(x,reference,size){return(x>reference)&&(x<(reference+size));},isOver:function(y,x,top,left,height,width){return $.ui.isOverAxis(y,top,height)&&$.ui.isOverAxis(x,left,width);},keyCode:{BACKSPACE:8,CAPS_LOCK:20,COMMA:188,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38}};if(isFF2){var attr=$.attr,removeAttr=$.fn.removeAttr,ariaNS="http://www.w3.org/2005/07/aaa",ariaState=/^aria-/,ariaRole=/^wairole:/;$.attr=function(elem,name,value){var set=value!==undefined;return(name=='role'?(set?attr.call(this,elem,name,"wairole:"+value):(attr.apply(this,arguments)||"").replace(ariaRole,"")):(ariaState.test(name)?(set?elem.setAttributeNS(ariaNS,name.replace(ariaState,"aaa:"),value):attr.call(this,elem,name.replace(ariaState,"aaa:"))):attr.apply(this,arguments)));};$.fn.removeAttr=function(name){return(ariaState.test(name)?this.each(function(){this.removeAttributeNS(ariaNS,name.replace(ariaState,""));}):removeAttr.call(this,name));};}
+$.fn.extend({remove:function(){$("*",this).add(this).each(function(){$(this).triggerHandler("remove");});return _remove.apply(this,arguments);},enableSelection:function(){return this.attr('unselectable','off').css('MozUserSelect','').unbind('selectstart.ui');},disableSelection:function(){return this.attr('unselectable','on').css('MozUserSelect','none').bind('selectstart.ui',function(){return false;});},scrollParent:function(){var scrollParent;if(($.browser.msie&&(/(static|relative)/).test(this.css('position')))||(/absolute/).test(this.css('position'))){scrollParent=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test($.curCSS(this,'position',1))&&(/(auto|scroll)/).test($.curCSS(this,'overflow',1)+$.curCSS(this,'overflow-y',1)+$.curCSS(this,'overflow-x',1));}).eq(0);}else{scrollParent=this.parents().filter(function(){return(/(auto|scroll)/).test($.curCSS(this,'overflow',1)+$.curCSS(this,'overflow-y',1)+$.curCSS(this,'overflow-x',1));}).eq(0);}
+return(/fixed/).test(this.css('position'))||!scrollParent.length?$(document):scrollParent;}});$.extend($.expr[':'],{data:function(elem,i,match){return!!$.data(elem,match[3]);},focusable:function(element){var nodeName=element.nodeName.toLowerCase(),tabIndex=$.attr(element,'tabindex');return(/input|select|textarea|button|object/.test(nodeName)?!element.disabled:'a'==nodeName||'area'==nodeName?element.href||!isNaN(tabIndex):!isNaN(tabIndex))&&!$(element)['area'==nodeName?'parents':'closest'](':hidden').length;},tabbable:function(element){var tabIndex=$.attr(element,'tabindex');return(isNaN(tabIndex)||tabIndex>=0)&&$(element).is(':focusable');}});function getter(namespace,plugin,method,args){function getMethods(type){var methods=$[namespace][plugin][type]||[];return(typeof methods=='string'?methods.split(/,?\s+/):methods);}
+var methods=getMethods('getter');if(args.length==1&&typeof args[0]=='string'){methods=methods.concat(getMethods('getterSetter'));}
+return($.inArray(method,methods)!=-1);}
+$.widget=function(name,prototype){var namespace=name.split(".")[0];name=name.split(".")[1];$.fn[name]=function(options){var isMethodCall=(typeof options=='string'),args=Array.prototype.slice.call(arguments,1);if(isMethodCall&&options.substring(0,1)=='_'){return this;}
+if(isMethodCall&&getter(namespace,name,options,args)){var instance=$.data(this[0],name);return(instance?instance[options].apply(instance,args):undefined);}
+return this.each(function(){var instance=$.data(this,name);(!instance&&!isMethodCall&&$.data(this,name,new $[namespace][name](this,options))._init());(instance&&isMethodCall&&$.isFunction(instance[options])&&instance[options].apply(instance,args));});};$[namespace]=$[namespace]||{};$[namespace][name]=function(element,options){var self=this;this.namespace=namespace;this.widgetName=name;this.widgetEventPrefix=$[namespace][name].eventPrefix||name;this.widgetBaseClass=namespace+'-'+name;this.options=$.extend({},$.widget.defaults,$[namespace][name].defaults,$.metadata&&$.metadata.get(element)[name],options);this.element=$(element).bind('setData.'+name,function(event,key,value){if(event.target==element){return self._setData(key,value);}}).bind('getData.'+name,function(event,key){if(event.target==element){return self._getData(key);}}).bind('remove',function(){return self.destroy();});};$[namespace][name].prototype=$.extend({},$.widget.prototype,prototype);$[namespace][name].getterSetter='option';};$.widget.prototype={_init:function(){},destroy:function(){this.element.removeData(this.widgetName).removeClass(this.widgetBaseClass+'-disabled'+' '+this.namespace+'-state-disabled').removeAttr('aria-disabled');},option:function(key,value){var options=key,self=this;if(typeof key=="string"){if(value===undefined){return this._getData(key);}
+options={};options[key]=value;}
+$.each(options,function(key,value){self._setData(key,value);});},_getData:function(key){return this.options[key];},_setData:function(key,value){this.options[key]=value;if(key=='disabled'){this.element
+[value?'addClass':'removeClass'](this.widgetBaseClass+'-disabled'+' '+
+this.namespace+'-state-disabled').attr("aria-disabled",value);}},enable:function(){this._setData('disabled',false);},disable:function(){this._setData('disabled',true);},_trigger:function(type,event,data){var callback=this.options[type],eventName=(type==this.widgetEventPrefix?type:this.widgetEventPrefix+type);event=$.Event(event);event.type=eventName;if(event.originalEvent){for(var i=$.event.props.length,prop;i;){prop=$.event.props[--i];event[prop]=event.originalEvent[prop];}}
+this.element.trigger(event,data);return!($.isFunction(callback)&&callback.call(this.element[0],event,data)===false||event.isDefaultPrevented());}};$.widget.defaults={disabled:false};$.ui.mouse={_mouseInit:function(){var self=this;this.element.bind('mousedown.'+this.widgetName,function(event){return self._mouseDown(event);}).bind('click.'+this.widgetName,function(event){if(self._preventClickEvent){self._preventClickEvent=false;event.stopImmediatePropagation();return false;}});if($.browser.msie){this._mouseUnselectable=this.element.attr('unselectable');this.element.attr('unselectable','on');}
+this.started=false;},_mouseDestroy:function(){this.element.unbind('.'+this.widgetName);($.browser.msie&&this.element.attr('unselectable',this._mouseUnselectable));},_mouseDown:function(event){event.originalEvent=event.originalEvent||{};if(event.originalEvent.mouseHandled){return;}
+(this._mouseStarted&&this._mouseUp(event));this._mouseDownEvent=event;var self=this,btnIsLeft=(event.which==1),elIsCancel=(typeof this.options.cancel=="string"?$(event.target).parents().add(event.target).filter(this.options.cancel).length:false);if(!btnIsLeft||elIsCancel||!this._mouseCapture(event)){return true;}
+this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){self.mouseDelayMet=true;},this.options.delay);}
+if(this._mouseDistanceMet(event)&&this._mouseDelayMet(event)){this._mouseStarted=(this._mouseStart(event)!==false);if(!this._mouseStarted){event.preventDefault();return true;}}
+this._mouseMoveDelegate=function(event){return self._mouseMove(event);};this._mouseUpDelegate=function(event){return self._mouseUp(event);};$(document).bind('mousemove.'+this.widgetName,this._mouseMoveDelegate).bind('mouseup.'+this.widgetName,this._mouseUpDelegate);($.browser.safari||event.preventDefault());event.originalEvent.mouseHandled=true;return true;},_mouseMove:function(event){if($.browser.msie&&!event.button){return this._mouseUp(event);}
+if(this._mouseStarted){this._mouseDrag(event);return event.preventDefault();}
+if(this._mouseDistanceMet(event)&&this._mouseDelayMet(event)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,event)!==false);(this._mouseStarted?this._mouseDrag(event):this._mouseUp(event));}
+return!this._mouseStarted;},_mouseUp:function(event){$(document).unbind('mousemove.'+this.widgetName,this._mouseMoveDelegate).unbind('mouseup.'+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;this._preventClickEvent=(event.target==this._mouseDownEvent.target);this._mouseStop(event);}
+return false;},_mouseDistanceMet:function(event){return(Math.max(Math.abs(this._mouseDownEvent.pageX-event.pageX),Math.abs(this._mouseDownEvent.pageY-event.pageY))>=this.options.distance);},_mouseDelayMet:function(event){return this.mouseDelayMet;},_mouseStart:function(event){},_mouseDrag:function(event){},_mouseStop:function(event){},_mouseCapture:function(event){return true;}};$.ui.mouse.defaults={cancel:null,distance:1,delay:0};})(jQuery);(function($){$.widget("ui.draggable",$.extend({},$.ui.mouse,{_init:function(){if(this.options.helper=='original'&&!(/^(?:r|a|f)/).test(this.element.css("position")))
+this.element[0].style.position='relative';(this.options.addClasses&&this.element.addClass("ui-draggable"));(this.options.disabled&&this.element.addClass("ui-draggable-disabled"));this._mouseInit();},destroy:function(){if(!this.element.data('draggable'))return;this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable"
++" ui-draggable-dragging"
++" ui-draggable-disabled");this._mouseDestroy();},_mouseCapture:function(event){var o=this.options;if(this.helper||o.disabled||$(event.target).is('.ui-resizable-handle'))
+return false;this.handle=this._getHandle(event);if(!this.handle)
+return false;return true;},_mouseStart:function(event){var o=this.options;this.helper=this._createHelper(event);this._cacheHelperProportions();if($.ui.ddmanager)
+$.ui.ddmanager.current=this;this._cacheMargins();this.cssPosition=this.helper.css("position");this.scrollParent=this.helper.scrollParent();this.offset=this.element.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};$.extend(this.offset,{click:{left:event.pageX-this.offset.left,top:event.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(event);this.originalPageX=event.pageX;this.originalPageY=event.pageY;if(o.cursorAt)
+this._adjustOffsetFromHelper(o.cursorAt);if(o.containment)
+this._setContainment();this._trigger("start",event);this._cacheHelperProportions();if($.ui.ddmanager&&!o.dropBehaviour)
+$.ui.ddmanager.prepareOffsets(this,event);this.helper.addClass("ui-draggable-dragging");this._mouseDrag(event,true);return true;},_mouseDrag:function(event,noPropagation){this.position=this._generatePosition(event);this.positionAbs=this._convertPositionTo("absolute");if(!noPropagation){var ui=this._uiHash();this._trigger('drag',event,ui);this.position=ui.position;}
+if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+'px';if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+'px';if($.ui.ddmanager)$.ui.ddmanager.drag(this,event);return false;},_mouseStop:function(event){var dropped=false;if($.ui.ddmanager&&!this.options.dropBehaviour)
+dropped=$.ui.ddmanager.drop(this,event);if(this.dropped){dropped=this.dropped;this.dropped=false;}
+if((this.options.revert=="invalid"&&!dropped)||(this.options.revert=="valid"&&dropped)||this.options.revert===true||($.isFunction(this.options.revert)&&this.options.revert.call(this.element,dropped))){var self=this;$(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){self._trigger("stop",event);self._clear();});}else{this._trigger("stop",event);this._clear();}
+return false;},_getHandle:function(event){var handle=!this.options.handle||!$(this.options.handle,this.element).length?true:false;$(this.options.handle,this.element).find("*").andSelf().each(function(){if(this==event.target)handle=true;});return handle;},_createHelper:function(event){var o=this.options;var helper=$.isFunction(o.helper)?$(o.helper.apply(this.element[0],[event])):(o.helper=='clone'?this.element.clone():this.element);if(!helper.parents('body').length)
+helper.appendTo((o.appendTo=='parent'?this.element[0].parentNode:o.appendTo));if(helper[0]!=this.element[0]&&!(/(fixed|absolute)/).test(helper.css("position")))
+helper.css("position","absolute");return helper;},_adjustOffsetFromHelper:function(obj){if(obj.left!=undefined)this.offset.click.left=obj.left+this.margins.left;if(obj.right!=undefined)this.offset.click.left=this.helperProportions.width-obj.right+this.margins.left;if(obj.top!=undefined)this.offset.click.top=obj.top+this.margins.top;if(obj.bottom!=undefined)this.offset.click.top=this.helperProportions.height-obj.bottom+this.margins.top;},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var po=this.offsetParent.offset();if(this.cssPosition=='absolute'&&this.scrollParent[0]!=document&&$.ui.contains(this.scrollParent[0],this.offsetParent[0])){po.left+=this.scrollParent.scrollLeft();po.top+=this.scrollParent.scrollTop();}
+if((this.offsetParent[0]==document.body)||(this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=='html'&&$.browser.msie))
+po={top:0,left:0};return{top:po.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:po.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)};},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var p=this.element.position();return{top:p.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:p.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()};}else{return{top:0,left:0};}},_cacheMargins:function(){this.margins={left:(parseInt(this.element.css("marginLeft"),10)||0),top:(parseInt(this.element.css("marginTop"),10)||0)};},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()};},_setContainment:function(){var o=this.options;if(o.containment=='parent')o.containment=this.helper[0].parentNode;if(o.containment=='document'||o.containment=='window')this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,$(o.containment=='document'?document:window).width()-this.helperProportions.width-this.margins.left,($(o.containment=='document'?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!(/^(document|window|parent)$/).test(o.containment)&&o.containment.constructor!=Array){var ce=$(o.containment)[0];if(!ce)return;var co=$(o.containment).offset();var over=($(ce).css("overflow")!='hidden');this.containment=[co.left+(parseInt($(ce).css("borderLeftWidth"),10)||0)+(parseInt($(ce).css("paddingLeft"),10)||0)-this.margins.left,co.top+(parseInt($(ce).css("borderTopWidth"),10)||0)+(parseInt($(ce).css("paddingTop"),10)||0)-this.margins.top,co.left+(over?Math.max(ce.scrollWidth,ce.offsetWidth):ce.offsetWidth)-(parseInt($(ce).css("borderLeftWidth"),10)||0)-(parseInt($(ce).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,co.top+(over?Math.max(ce.scrollHeight,ce.offsetHeight):ce.offsetHeight)-(parseInt($(ce).css("borderTopWidth"),10)||0)-(parseInt($(ce).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top];}else if(o.containment.constructor==Array){this.containment=o.containment;}},_convertPositionTo:function(d,pos){if(!pos)pos=this.position;var mod=d=="absolute"?1:-1;var o=this.options,scroll=this.cssPosition=='absolute'&&!(this.scrollParent[0]!=document&&$.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,scrollIsRootNode=(/(html|body)/i).test(scroll[0].tagName);return{top:(pos.top
++this.offset.relative.top*mod
++this.offset.parent.top*mod
+-($.browser.safari&&this.cssPosition=='fixed'?0:(this.cssPosition=='fixed'?-this.scrollParent.scrollTop():(scrollIsRootNode?0:scroll.scrollTop()))*mod)),left:(pos.left
++this.offset.relative.left*mod
++this.offset.parent.left*mod
+-($.browser.safari&&this.cssPosition=='fixed'?0:(this.cssPosition=='fixed'?-this.scrollParent.scrollLeft():scrollIsRootNode?0:scroll.scrollLeft())*mod))};},_generatePosition:function(event){var o=this.options,scroll=this.cssPosition=='absolute'&&!(this.scrollParent[0]!=document&&$.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,scrollIsRootNode=(/(html|body)/i).test(scroll[0].tagName);if(this.cssPosition=='relative'&&!(this.scrollParent[0]!=document&&this.scrollParent[0]!=this.offsetParent[0])){this.offset.relative=this._getRelativeOffset();}
+var pageX=event.pageX;var pageY=event.pageY;if(this.originalPosition){if(this.containment){if(event.pageX-this.offset.click.left<this.containment[0])pageX=this.containment[0]+this.offset.click.left;if(event.pageY-this.offset.click.top<this.containment[1])pageY=this.containment[1]+this.offset.click.top;if(event.pageX-this.offset.click.left>this.containment[2])pageX=this.containment[2]+this.offset.click.left;if(event.pageY-this.offset.click.top>this.containment[3])pageY=this.containment[3]+this.offset.click.top;}
+if(o.grid){var top=this.originalPageY+Math.round((pageY-this.originalPageY)/o.grid[1])*o.grid[1];pageY=this.containment?(!(top-this.offset.click.top<this.containment[1]||top-this.offset.click.top>this.containment[3])?top:(!(top-this.offset.click.top<this.containment[1])?top-o.grid[1]:top+o.grid[1])):top;var left=this.originalPageX+Math.round((pageX-this.originalPageX)/o.grid[0])*o.grid[0];pageX=this.containment?(!(left-this.offset.click.left<this.containment[0]||left-this.offset.click.left>this.containment[2])?left:(!(left-this.offset.click.left<this.containment[0])?left-o.grid[0]:left+o.grid[0])):left;}}
+return{top:(pageY
+-this.offset.click.top
+-this.offset.relative.top
+-this.offset.parent.top
++($.browser.safari&&this.cssPosition=='fixed'?0:(this.cssPosition=='fixed'?-this.scrollParent.scrollTop():(scrollIsRootNode?0:scroll.scrollTop())))),left:(pageX
+-this.offset.click.left
+-this.offset.relative.left
+-this.offset.parent.left
++($.browser.safari&&this.cssPosition=='fixed'?0:(this.cssPosition=='fixed'?-this.scrollParent.scrollLeft():scrollIsRootNode?0:scroll.scrollLeft())))};},_clear:function(){this.helper.removeClass("ui-draggable-dragging");if(this.helper[0]!=this.element[0]&&!this.cancelHelperRemoval)this.helper.remove();this.helper=null;this.cancelHelperRemoval=false;},_trigger:function(type,event,ui){ui=ui||this._uiHash();$.ui.plugin.call(this,type,[event,ui]);if(type=="drag")this.positionAbs=this._convertPositionTo("absolute");return $.widget.prototype._trigger.call(this,type,event,ui);},plugins:{},_uiHash:function(event){return{helper:this.helper,position:this.position,absolutePosition:this.positionAbs,offset:this.positionAbs};}}));$.extend($.ui.draggable,{version:"1.7.2",eventPrefix:"drag",defaults:{addClasses:true,appendTo:"parent",axis:false,cancel:":input,option",connectToSortable:false,containment:false,cursor:"auto",cursorAt:false,delay:0,distance:1,grid:false,handle:false,helper:"original",iframeFix:false,opacity:false,refreshPositions:false,revert:false,revertDuration:500,scope:"default",scroll:true,scrollSensitivity:20,scrollSpeed:20,snap:false,snapMode:"both",snapTolerance:20,stack:false,zIndex:false}});$.ui.plugin.add("draggable","connectToSortable",{start:function(event,ui){var inst=$(this).data("draggable"),o=inst.options,uiSortable=$.extend({},ui,{item:inst.element});inst.sortables=[];$(o.connectToSortable).each(function(){var sortable=$.data(this,'sortable');if(sortable&&!sortable.options.disabled){inst.sortables.push({instance:sortable,shouldRevert:sortable.options.revert});sortable._refreshItems();sortable._trigger("activate",event,uiSortable);}});},stop:function(event,ui){var inst=$(this).data("draggable"),uiSortable=$.extend({},ui,{item:inst.element});$.each(inst.sortables,function(){if(this.instance.isOver){this.instance.isOver=0;inst.cancelHelperRemoval=true;this.instance.cancelHelperRemoval=false;if(this.shouldRevert)this.instance.options.revert=true;this.instance._mouseStop(event);this.instance.options.helper=this.instance.options._helper;if(inst.options.helper=='original')
+this.instance.currentItem.css({top:'auto',left:'auto'});}else{this.instance.cancelHelperRemoval=false;this.instance._trigger("deactivate",event,uiSortable);}});},drag:function(event,ui){var inst=$(this).data("draggable"),self=this;var checkPos=function(o){var dyClick=this.offset.click.top,dxClick=this.offset.click.left;var helperTop=this.positionAbs.top,helperLeft=this.positionAbs.left;var itemHeight=o.height,itemWidth=o.width;var itemTop=o.top,itemLeft=o.left;return $.ui.isOver(helperTop+dyClick,helperLeft+dxClick,itemTop,itemLeft,itemHeight,itemWidth);};$.each(inst.sortables,function(i){this.instance.positionAbs=inst.positionAbs;this.instance.helperProportions=inst.helperProportions;this.instance.offset.click=inst.offset.click;if(this.instance._intersectsWith(this.instance.containerCache)){if(!this.instance.isOver){this.instance.isOver=1;this.instance.currentItem=$(self).clone().appendTo(this.instance.element).data("sortable-item",true);this.instance.options._helper=this.instance.options.helper;this.instance.options.helper=function(){return ui.helper[0];};event.target=this.instance.currentItem[0];this.instance._mouseCapture(event,true);this.instance._mouseStart(event,true,true);this.instance.offset.click.top=inst.offset.click.top;this.instance.offset.click.left=inst.offset.click.left;this.instance.offset.parent.left-=inst.offset.parent.left-this.instance.offset.parent.left;this.instance.offset.parent.top-=inst.offset.parent.top-this.instance.offset.parent.top;inst._trigger("toSortable",event);inst.dropped=this.instance.element;inst.currentItem=inst.element;this.instance.fromOutside=inst;}
+if(this.instance.currentItem)this.instance._mouseDrag(event);}else{if(this.instance.isOver){this.instance.isOver=0;this.instance.cancelHelperRemoval=true;this.instance.options.revert=false;this.instance._trigger('out',event,this.instance._uiHash(this.instance));this.instance._mouseStop(event,true);this.instance.options.helper=this.instance.options._helper;this.instance.currentItem.remove();if(this.instance.placeholder)this.instance.placeholder.remove();inst._trigger("fromSortable",event);inst.dropped=false;}};});}});$.ui.plugin.add("draggable","cursor",{start:function(event,ui){var t=$('body'),o=$(this).data('draggable').options;if(t.css("cursor"))o._cursor=t.css("cursor");t.css("cursor",o.cursor);},stop:function(event,ui){var o=$(this).data('draggable').options;if(o._cursor)$('body').css("cursor",o._cursor);}});$.ui.plugin.add("draggable","iframeFix",{start:function(event,ui){var o=$(this).data('draggable').options;$(o.iframeFix===true?"iframe":o.iframeFix).each(function(){$('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1000}).css($(this).offset()).appendTo("body");});},stop:function(event,ui){$("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this);});}});$.ui.plugin.add("draggable","opacity",{start:function(event,ui){var t=$(ui.helper),o=$(this).data('draggable').options;if(t.css("opacity"))o._opacity=t.css("opacity");t.css('opacity',o.opacity);},stop:function(event,ui){var o=$(this).data('draggable').options;if(o._opacity)$(ui.helper).css('opacity',o._opacity);}});$.ui.plugin.add("draggable","scroll",{start:function(event,ui){var i=$(this).data("draggable");if(i.scrollParent[0]!=document&&i.scrollParent[0].tagName!='HTML')i.overflowOffset=i.scrollParent.offset();},drag:function(event,ui){var i=$(this).data("draggable"),o=i.options,scrolled=false;if(i.scrollParent[0]!=document&&i.scrollParent[0].tagName!='HTML'){if(!o.axis||o.axis!='x'){if((i.overflowOffset.top+i.scrollParent[0].offsetHeight)-event.pageY<o.scrollSensitivity)
+i.scrollParent[0].scrollTop=scrolled=i.scrollParent[0].scrollTop+o.scrollSpeed;else if(event.pageY-i.overflowOffset.top<o.scrollSensitivity)
+i.scrollParent[0].scrollTop=scrolled=i.scrollParent[0].scrollTop-o.scrollSpeed;}
+if(!o.axis||o.axis!='y'){if((i.overflowOffset.left+i.scrollParent[0].offsetWidth)-event.pageX<o.scrollSensitivity)
+i.scrollParent[0].scrollLeft=scrolled=i.scrollParent[0].scrollLeft+o.scrollSpeed;else if(event.pageX-i.overflowOffset.left<o.scrollSensitivity)
+i.scrollParent[0].scrollLeft=scrolled=i.scrollParent[0].scrollLeft-o.scrollSpeed;}}else{if(!o.axis||o.axis!='x'){if(event.pageY-$(document).scrollTop()<o.scrollSensitivity)
+scrolled=$(document).scrollTop($(document).scrollTop()-o.scrollSpeed);else if($(window).height()-(event.pageY-$(document).scrollTop())<o.scrollSensitivity)
+scrolled=$(document).scrollTop($(document).scrollTop()+o.scrollSpeed);}
+if(!o.axis||o.axis!='y'){if(event.pageX-$(document).scrollLeft()<o.scrollSensitivity)
+scrolled=$(document).scrollLeft($(document).scrollLeft()-o.scrollSpeed);else if($(window).width()-(event.pageX-$(document).scrollLeft())<o.scrollSensitivity)
+scrolled=$(document).scrollLeft($(document).scrollLeft()+o.scrollSpeed);}}
+if(scrolled!==false&&$.ui.ddmanager&&!o.dropBehaviour)
+$.ui.ddmanager.prepareOffsets(i,event);}});$.ui.plugin.add("draggable","snap",{start:function(event,ui){var i=$(this).data("draggable"),o=i.options;i.snapElements=[];$(o.snap.constructor!=String?(o.snap.items||':data(draggable)'):o.snap).each(function(){var $t=$(this);var $o=$t.offset();if(this!=i.element[0])i.snapElements.push({item:this,width:$t.outerWidth(),height:$t.outerHeight(),top:$o.top,left:$o.left});});},drag:function(event,ui){var inst=$(this).data("draggable"),o=inst.options;var d=o.snapTolerance;var x1=ui.offset.left,x2=x1+inst.helperProportions.width,y1=ui.offset.top,y2=y1+inst.helperProportions.height;for(var i=inst.snapElements.length-1;i>=0;i--){var l=inst.snapElements[i].left,r=l+inst.snapElements[i].width,t=inst.snapElements[i].top,b=t+inst.snapElements[i].height;if(!((l-d<x1&&x1<r+d&&t-d<y1&&y1<b+d)||(l-d<x1&&x1<r+d&&t-d<y2&&y2<b+d)||(l-d<x2&&x2<r+d&&t-d<y1&&y1<b+d)||(l-d<x2&&x2<r+d&&t-d<y2&&y2<b+d))){if(inst.snapElements[i].snapping)(inst.options.snap.release&&inst.options.snap.release.call(inst.element,event,$.extend(inst._uiHash(),{snapItem:inst.snapElements[i].item})));inst.snapElements[i].snapping=false;continue;}
+if(o.snapMode!='inner'){var ts=Math.abs(t-y2)<=d;var bs=Math.abs(b-y1)<=d;var ls=Math.abs(l-x2)<=d;var rs=Math.abs(r-x1)<=d;if(ts)ui.position.top=inst._convertPositionTo("relative",{top:t-inst.helperProportions.height,left:0}).top-inst.margins.top;if(bs)ui.position.top=inst._convertPositionTo("relative",{top:b,left:0}).top-inst.margins.top;if(ls)ui.position.left=inst._convertPositionTo("relative",{top:0,left:l-inst.helperProportions.width}).left-inst.margins.left;if(rs)ui.position.left=inst._convertPositionTo("relative",{top:0,left:r}).left-inst.margins.left;}
+var first=(ts||bs||ls||rs);if(o.snapMode!='outer'){var ts=Math.abs(t-y1)<=d;var bs=Math.abs(b-y2)<=d;var ls=Math.abs(l-x1)<=d;var rs=Math.abs(r-x2)<=d;if(ts)ui.position.top=inst._convertPositionTo("relative",{top:t,left:0}).top-inst.margins.top;if(bs)ui.position.top=inst._convertPositionTo("relative",{top:b-inst.helperProportions.height,left:0}).top-inst.margins.top;if(ls)ui.position.left=inst._convertPositionTo("relative",{top:0,left:l}).left-inst.margins.left;if(rs)ui.position.left=inst._convertPositionTo("relative",{top:0,left:r-inst.helperProportions.width}).left-inst.margins.left;}
+if(!inst.snapElements[i].snapping&&(ts||bs||ls||rs||first))
+(inst.options.snap.snap&&inst.options.snap.snap.call(inst.element,event,$.extend(inst._uiHash(),{snapItem:inst.snapElements[i].item})));inst.snapElements[i].snapping=(ts||bs||ls||rs||first);};}});$.ui.plugin.add("draggable","stack",{start:function(event,ui){var o=$(this).data("draggable").options;var group=$.makeArray($(o.stack.group)).sort(function(a,b){return(parseInt($(a).css("zIndex"),10)||o.stack.min)-(parseInt($(b).css("zIndex"),10)||o.stack.min);});$(group).each(function(i){this.style.zIndex=o.stack.min+i;});this[0].style.zIndex=o.stack.min+group.length;}});$.ui.plugin.add("draggable","zIndex",{start:function(event,ui){var t=$(ui.helper),o=$(this).data("draggable").options;if(t.css("zIndex"))o._zIndex=t.css("zIndex");t.css('zIndex',o.zIndex);},stop:function(event,ui){var o=$(this).data("draggable").options;if(o._zIndex)$(ui.helper).css('zIndex',o._zIndex);}});})(jQuery);(function($){$.widget("ui.sortable",$.extend({},$.ui.mouse,{_init:function(){var o=this.options;this.containerCache={};this.element.addClass("ui-sortable");this.refresh();this.floating=this.items.length?(/left|right/).test(this.items[0].item.css('float')):false;this.offset=this.element.offset();this._mouseInit();},destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").removeData("sortable").unbind(".sortable");this._mouseDestroy();for(var i=this.items.length-1;i>=0;i--)
+this.items[i].item.removeData("sortable-item");},_mouseCapture:function(event,overrideHandle){if(this.reverting){return false;}
+if(this.options.disabled||this.options.type=='static')return false;this._refreshItems(event);var currentItem=null,self=this,nodes=$(event.target).parents().each(function(){if($.data(this,'sortable-item')==self){currentItem=$(this);return false;}});if($.data(event.target,'sortable-item')==self)currentItem=$(event.target);if(!currentItem)return false;if(this.options.handle&&!overrideHandle){var validHandle=false;$(this.options.handle,currentItem).find("*").andSelf().each(function(){if(this==event.target)validHandle=true;});if(!validHandle)return false;}
+this.currentItem=currentItem;this._removeCurrentsFromItems();return true;},_mouseStart:function(event,overrideHandle,noActivation){var o=this.options,self=this;this.currentContainer=this;this.refreshPositions();this.helper=this._createHelper(event);this._cacheHelperProportions();this._cacheMargins();this.scrollParent=this.helper.scrollParent();this.offset=this.currentItem.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};this.helper.css("position","absolute");this.cssPosition=this.helper.css("position");$.extend(this.offset,{click:{left:event.pageX-this.offset.left,top:event.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(event);this.originalPageX=event.pageX;this.originalPageY=event.pageY;if(o.cursorAt)
+this._adjustOffsetFromHelper(o.cursorAt);this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]};if(this.helper[0]!=this.currentItem[0]){this.currentItem.hide();}
+this._createPlaceholder();if(o.containment)
+this._setContainment();if(o.cursor){if($('body').css("cursor"))this._storedCursor=$('body').css("cursor");$('body').css("cursor",o.cursor);}
+if(o.opacity){if(this.helper.css("opacity"))this._storedOpacity=this.helper.css("opacity");this.helper.css("opacity",o.opacity);}
+if(o.zIndex){if(this.helper.css("zIndex"))this._storedZIndex=this.helper.css("zIndex");this.helper.css("zIndex",o.zIndex);}
+if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!='HTML')
+this.overflowOffset=this.scrollParent.offset();this._trigger("start",event,this._uiHash());if(!this._preserveHelperProportions)
+this._cacheHelperProportions();if(!noActivation){for(var i=this.containers.length-1;i>=0;i--){this.containers[i]._trigger("activate",event,self._uiHash(this));}}
+if($.ui.ddmanager)
+$.ui.ddmanager.current=this;if($.ui.ddmanager&&!o.dropBehaviour)
+$.ui.ddmanager.prepareOffsets(this,event);this.dragging=true;this.helper.addClass("ui-sortable-helper");this._mouseDrag(event);return true;},_mouseDrag:function(event){this.position=this._generatePosition(event);this.positionAbs=this._convertPositionTo("absolute");if(!this.lastPositionAbs){this.lastPositionAbs=this.positionAbs;}
+if(this.options.scroll){var o=this.options,scrolled=false;if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!='HTML'){if((this.overflowOffset.top+this.scrollParent[0].offsetHeight)-event.pageY<o.scrollSensitivity)
+this.scrollParent[0].scrollTop=scrolled=this.scrollParent[0].scrollTop+o.scrollSpeed;else if(event.pageY-this.overflowOffset.top<o.scrollSensitivity)
+this.scrollParent[0].scrollTop=scrolled=this.scrollParent[0].scrollTop-o.scrollSpeed;if((this.overflowOffset.left+this.scrollParent[0].offsetWidth)-event.pageX<o.scrollSensitivity)
+this.scrollParent[0].scrollLeft=scrolled=this.scrollParent[0].scrollLeft+o.scrollSpeed;else if(event.pageX-this.overflowOffset.left<o.scrollSensitivity)
+this.scrollParent[0].scrollLeft=scrolled=this.scrollParent[0].scrollLeft-o.scrollSpeed;}else{if(event.pageY-$(document).scrollTop()<o.scrollSensitivity)
+scrolled=$(document).scrollTop($(document).scrollTop()-o.scrollSpeed);else if($(window).height()-(event.pageY-$(document).scrollTop())<o.scrollSensitivity)
+scrolled=$(document).scrollTop($(document).scrollTop()+o.scrollSpeed);if(event.pageX-$(document).scrollLeft()<o.scrollSensitivity)
+scrolled=$(document).scrollLeft($(document).scrollLeft()-o.scrollSpeed);else if($(window).width()-(event.pageX-$(document).scrollLeft())<o.scrollSensitivity)
+scrolled=$(document).scrollLeft($(document).scrollLeft()+o.scrollSpeed);}
+if(scrolled!==false&&$.ui.ddmanager&&!o.dropBehaviour)
+$.ui.ddmanager.prepareOffsets(this,event);}
+this.positionAbs=this._convertPositionTo("absolute");if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+'px';if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+'px';for(var i=this.items.length-1;i>=0;i--){var item=this.items[i],itemElement=item.item[0],intersection=this._intersectsWithPointer(item);if(!intersection)continue;if(itemElement!=this.currentItem[0]&&this.placeholder[intersection==1?"next":"prev"]()[0]!=itemElement&&!$.ui.contains(this.placeholder[0],itemElement)&&(this.options.type=='semi-dynamic'?!$.ui.contains(this.element[0],itemElement):true)){this.direction=intersection==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(item)){this._rearrange(event,item);}else{break;}
+this._trigger("change",event,this._uiHash());break;}}
+this._contactContainers(event);if($.ui.ddmanager)$.ui.ddmanager.drag(this,event);this._trigger('sort',event,this._uiHash());this.lastPositionAbs=this.positionAbs;return false;},_mouseStop:function(event,noPropagation){if(!event)return;if($.ui.ddmanager&&!this.options.dropBehaviour)
+$.ui.ddmanager.drop(this,event);if(this.options.revert){var self=this;var cur=self.placeholder.offset();self.reverting=true;$(this.helper).animate({left:cur.left-this.offset.parent.left-self.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:cur.top-this.offset.parent.top-self.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){self._clear(event);});}else{this._clear(event,noPropagation);}
+return false;},cancel:function(){var self=this;if(this.dragging){this._mouseUp();if(this.options.helper=="original")
+this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper");else
+this.currentItem.show();for(var i=this.containers.length-1;i>=0;i--){this.containers[i]._trigger("deactivate",null,self._uiHash(this));if(this.containers[i].containerCache.over){this.containers[i]._trigger("out",null,self._uiHash(this));this.containers[i].containerCache.over=0;}}}
+if(this.placeholder[0].parentNode)this.placeholder[0].parentNode.removeChild(this.placeholder[0]);if(this.options.helper!="original"&&this.helper&&this.helper[0].parentNode)this.helper.remove();$.extend(this,{helper:null,dragging:false,reverting:false,_noFinalSort:null});if(this.domPosition.prev){$(this.domPosition.prev).after(this.currentItem);}else{$(this.domPosition.parent).prepend(this.currentItem);}
+return true;},serialize:function(o){var items=this._getItemsAsjQuery(o&&o.connected);var str=[];o=o||{};$(items).each(function(){var res=($(o.item||this).attr(o.attribute||'id')||'').match(o.expression||(/(.+)[-=_](.+)/));if(res)str.push((o.key||res[1]+'[]')+'='+(o.key&&o.expression?res[1]:res[2]));});return str.join('&');},toArray:function(o){var items=this._getItemsAsjQuery(o&&o.connected);var ret=[];o=o||{};items.each(function(){ret.push($(o.item||this).attr(o.attribute||'id')||'');});return ret;},_intersectsWith:function(item){var x1=this.positionAbs.left,x2=x1+this.helperProportions.width,y1=this.positionAbs.top,y2=y1+this.helperProportions.height;var l=item.left,r=l+item.width,t=item.top,b=t+item.height;var dyClick=this.offset.click.top,dxClick=this.offset.click.left;var isOverElement=(y1+dyClick)>t&&(y1+dyClick)<b&&(x1+dxClick)>l&&(x1+dxClick)<r;if(this.options.tolerance=="pointer"||this.options.forcePointerForContainers||(this.options.tolerance!="pointer"&&this.helperProportions[this.floating?'width':'height']>item[this.floating?'width':'height'])){return isOverElement;}else{return(l<x1+(this.helperProportions.width/2)&&x2-(this.helperProportions.width/2)<r&&t<y1+(this.helperProportions.height/2)&&y2-(this.helperProportions.height/2)<b);}},_intersectsWithPointer:function(item){var isOverElementHeight=$.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,item.top,item.height),isOverElementWidth=$.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,item.left,item.width),isOverElement=isOverElementHeight&&isOverElementWidth,verticalDirection=this._getDragVerticalDirection(),horizontalDirection=this._getDragHorizontalDirection();if(!isOverElement)
+return false;return this.floating?(((horizontalDirection&&horizontalDirection=="right")||verticalDirection=="down")?2:1):(verticalDirection&&(verticalDirection=="down"?2:1));},_intersectsWithSides:function(item){var isOverBottomHalf=$.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,item.top+(item.height/2),item.height),isOverRightHalf=$.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,item.left+(item.width/2),item.width),verticalDirection=this._getDragVerticalDirection(),horizontalDirection=this._getDragHorizontalDirection();if(this.floating&&horizontalDirection){return((horizontalDirection=="right"&&isOverRightHalf)||(horizontalDirection=="left"&&!isOverRightHalf));}else{return verticalDirection&&((verticalDirection=="down"&&isOverBottomHalf)||(verticalDirection=="up"&&!isOverBottomHalf));}},_getDragVerticalDirection:function(){var delta=this.positionAbs.top-this.lastPositionAbs.top;return delta!=0&&(delta>0?"down":"up");},_getDragHorizontalDirection:function(){var delta=this.positionAbs.left-this.lastPositionAbs.left;return delta!=0&&(delta>0?"right":"left");},refresh:function(event){this._refreshItems(event);this.refreshPositions();},_connectWith:function(){var options=this.options;return options.connectWith.constructor==String?[options.connectWith]:options.connectWith;},_getItemsAsjQuery:function(connected){var self=this;var items=[];var queries=[];var connectWith=this._connectWith();if(connectWith&&connected){for(var i=connectWith.length-1;i>=0;i--){var cur=$(connectWith[i]);for(var j=cur.length-1;j>=0;j--){var inst=$.data(cur[j],'sortable');if(inst&&inst!=this&&!inst.options.disabled){queries.push([$.isFunction(inst.options.items)?inst.options.items.call(inst.element):$(inst.options.items,inst.element).not(".ui-sortable-helper"),inst]);}};};}
+queries.push([$.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):$(this.options.items,this.element).not(".ui-sortable-helper"),this]);for(var i=queries.length-1;i>=0;i--){queries[i][0].each(function(){items.push(this);});};return $(items);},_removeCurrentsFromItems:function(){var list=this.currentItem.find(":data(sortable-item)");for(var i=0;i<this.items.length;i++){for(var j=0;j<list.length;j++){if(list[j]==this.items[i].item[0])
+this.items.splice(i,1);};};},_refreshItems:function(event){this.items=[];this.containers=[this];var items=this.items;var self=this;var queries=[[$.isFunction(this.options.items)?this.options.items.call(this.element[0],event,{item:this.currentItem}):$(this.options.items,this.element),this]];var connectWith=this._connectWith();if(connectWith){for(var i=connectWith.length-1;i>=0;i--){var cur=$(connectWith[i]);for(var j=cur.length-1;j>=0;j--){var inst=$.data(cur[j],'sortable');if(inst&&inst!=this&&!inst.options.disabled){queries.push([$.isFunction(inst.options.items)?inst.options.items.call(inst.element[0],event,{item:this.currentItem}):$(inst.options.items,inst.element),inst]);this.containers.push(inst);}};};}
+for(var i=queries.length-1;i>=0;i--){var targetData=queries[i][1];var _queries=queries[i][0];for(var j=0,queriesLength=_queries.length;j<queriesLength;j++){var item=$(_queries[j]);item.data('sortable-item',targetData);items.push({item:item,instance:targetData,width:0,height:0,left:0,top:0});};};},refreshPositions:function(fast){if(this.offsetParent&&this.helper){this.offset.parent=this._getParentOffset();}
+for(var i=this.items.length-1;i>=0;i--){var item=this.items[i];if(item.instance!=this.currentContainer&&this.currentContainer&&item.item[0]!=this.currentItem[0])
+continue;var t=this.options.toleranceElement?$(this.options.toleranceElement,item.item):item.item;if(!fast){item.width=t.outerWidth();item.height=t.outerHeight();}
+var p=t.offset();item.left=p.left;item.top=p.top;};if(this.options.custom&&this.options.custom.refreshContainers){this.options.custom.refreshContainers.call(this);}else{for(var i=this.containers.length-1;i>=0;i--){var p=this.containers[i].element.offset();this.containers[i].containerCache.left=p.left;this.containers[i].containerCache.top=p.top;this.containers[i].containerCache.width=this.containers[i].element.outerWidth();this.containers[i].containerCache.height=this.containers[i].element.outerHeight();};}},_createPlaceholder:function(that){var self=that||this,o=self.options;if(!o.placeholder||o.placeholder.constructor==String){var className=o.placeholder;o.placeholder={element:function(){var el=$(document.createElement(self.currentItem[0].nodeName)).addClass(className||self.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];if(!className)
+el.style.visibility="hidden";return el;},update:function(container,p){if(className&&!o.forcePlaceholderSize)return;if(!p.height()){p.height(self.currentItem.innerHeight()-parseInt(self.currentItem.css('paddingTop')||0,10)-parseInt(self.currentItem.css('paddingBottom')||0,10));};if(!p.width()){p.width(self.currentItem.innerWidth()-parseInt(self.currentItem.css('paddingLeft')||0,10)-parseInt(self.currentItem.css('paddingRight')||0,10));};}};}
+self.placeholder=$(o.placeholder.element.call(self.element,self.currentItem));self.currentItem.after(self.placeholder);o.placeholder.update(self,self.placeholder);},_contactContainers:function(event){for(var i=this.containers.length-1;i>=0;i--){if(this._intersectsWith(this.containers[i].containerCache)){if(!this.containers[i].containerCache.over){if(this.currentContainer!=this.containers[i]){var dist=10000;var itemWithLeastDistance=null;var base=this.positionAbs[this.containers[i].floating?'left':'top'];for(var j=this.items.length-1;j>=0;j--){if(!$.ui.contains(this.containers[i].element[0],this.items[j].item[0]))continue;var cur=this.items[j][this.containers[i].floating?'left':'top'];if(Math.abs(cur-base)<dist){dist=Math.abs(cur-base);itemWithLeastDistance=this.items[j];}}
+if(!itemWithLeastDistance&&!this.options.dropOnEmpty)
+continue;this.currentContainer=this.containers[i];itemWithLeastDistance?this._rearrange(event,itemWithLeastDistance,null,true):this._rearrange(event,null,this.containers[i].element,true);this._trigger("change",event,this._uiHash());this.containers[i]._trigger("change",event,this._uiHash(this));this.options.placeholder.update(this.currentContainer,this.placeholder);}
+this.containers[i]._trigger("over",event,this._uiHash(this));this.containers[i].containerCache.over=1;}}else{if(this.containers[i].containerCache.over){this.containers[i]._trigger("out",event,this._uiHash(this));this.containers[i].containerCache.over=0;}}};},_createHelper:function(event){var o=this.options;var helper=$.isFunction(o.helper)?$(o.helper.apply(this.element[0],[event,this.currentItem])):(o.helper=='clone'?this.currentItem.clone():this.currentItem);if(!helper.parents('body').length)
+$(o.appendTo!='parent'?o.appendTo:this.currentItem[0].parentNode)[0].appendChild(helper[0]);if(helper[0]==this.currentItem[0])
+this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")};if(helper[0].style.width==''||o.forceHelperSize)helper.width(this.currentItem.width());if(helper[0].style.height==''||o.forceHelperSize)helper.height(this.currentItem.height());return helper;},_adjustOffsetFromHelper:function(obj){if(obj.left!=undefined)this.offset.click.left=obj.left+this.margins.left;if(obj.right!=undefined)this.offset.click.left=this.helperProportions.width-obj.right+this.margins.left;if(obj.top!=undefined)this.offset.click.top=obj.top+this.margins.top;if(obj.bottom!=undefined)this.offset.click.top=this.helperProportions.height-obj.bottom+this.margins.top;},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var po=this.offsetParent.offset();if(this.cssPosition=='absolute'&&this.scrollParent[0]!=document&&$.ui.contains(this.scrollParent[0],this.offsetParent[0])){po.left+=this.scrollParent.scrollLeft();po.top+=this.scrollParent.scrollTop();}
+if((this.offsetParent[0]==document.body)||(this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=='html'&&$.browser.msie))
+po={top:0,left:0};return{top:po.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:po.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)};},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var p=this.currentItem.position();return{top:p.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:p.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()};}else{return{top:0,left:0};}},_cacheMargins:function(){this.margins={left:(parseInt(this.currentItem.css("marginLeft"),10)||0),top:(parseInt(this.currentItem.css("marginTop"),10)||0)};},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()};},_setContainment:function(){var o=this.options;if(o.containment=='parent')o.containment=this.helper[0].parentNode;if(o.containment=='document'||o.containment=='window')this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,$(o.containment=='document'?document:window).width()-this.helperProportions.width-this.margins.left,($(o.containment=='document'?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!(/^(document|window|parent)$/).test(o.containment)){var ce=$(o.containment)[0];var co=$(o.containment).offset();var over=($(ce).css("overflow")!='hidden');this.containment=[co.left+(parseInt($(ce).css("borderLeftWidth"),10)||0)+(parseInt($(ce).css("paddingLeft"),10)||0)-this.margins.left,co.top+(parseInt($(ce).css("borderTopWidth"),10)||0)+(parseInt($(ce).css("paddingTop"),10)||0)-this.margins.top,co.left+(over?Math.max(ce.scrollWidth,ce.offsetWidth):ce.offsetWidth)-(parseInt($(ce).css("borderLeftWidth"),10)||0)-(parseInt($(ce).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,co.top+(over?Math.max(ce.scrollHeight,ce.offsetHeight):ce.offsetHeight)-(parseInt($(ce).css("borderTopWidth"),10)||0)-(parseInt($(ce).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top];}},_convertPositionTo:function(d,pos){if(!pos)pos=this.position;var mod=d=="absolute"?1:-1;var o=this.options,scroll=this.cssPosition=='absolute'&&!(this.scrollParent[0]!=document&&$.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,scrollIsRootNode=(/(html|body)/i).test(scroll[0].tagName);return{top:(pos.top
++this.offset.relative.top*mod
++this.offset.parent.top*mod
+-($.browser.safari&&this.cssPosition=='fixed'?0:(this.cssPosition=='fixed'?-this.scrollParent.scrollTop():(scrollIsRootNode?0:scroll.scrollTop()))*mod)),left:(pos.left
++this.offset.relative.left*mod
++this.offset.parent.left*mod
+-($.browser.safari&&this.cssPosition=='fixed'?0:(this.cssPosition=='fixed'?-this.scrollParent.scrollLeft():scrollIsRootNode?0:scroll.scrollLeft())*mod))};},_generatePosition:function(event){var o=this.options,scroll=this.cssPosition=='absolute'&&!(this.scrollParent[0]!=document&&$.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,scrollIsRootNode=(/(html|body)/i).test(scroll[0].tagName);if(this.cssPosition=='relative'&&!(this.scrollParent[0]!=document&&this.scrollParent[0]!=this.offsetParent[0])){this.offset.relative=this._getRelativeOffset();}
+var pageX=event.pageX;var pageY=event.pageY;if(this.originalPosition){if(this.containment){if(event.pageX-this.offset.click.left<this.containment[0])pageX=this.containment[0]+this.offset.click.left;if(event.pageY-this.offset.click.top<this.containment[1])pageY=this.containment[1]+this.offset.click.top;if(event.pageX-this.offset.click.left>this.containment[2])pageX=this.containment[2]+this.offset.click.left;if(event.pageY-this.offset.click.top>this.containment[3])pageY=this.containment[3]+this.offset.click.top;}
+if(o.grid){var top=this.originalPageY+Math.round((pageY-this.originalPageY)/o.grid[1])*o.grid[1];pageY=this.containment?(!(top-this.offset.click.top<this.containment[1]||top-this.offset.click.top>this.containment[3])?top:(!(top-this.offset.click.top<this.containment[1])?top-o.grid[1]:top+o.grid[1])):top;var left=this.originalPageX+Math.round((pageX-this.originalPageX)/o.grid[0])*o.grid[0];pageX=this.containment?(!(left-this.offset.click.left<this.containment[0]||left-this.offset.click.left>this.containment[2])?left:(!(left-this.offset.click.left<this.containment[0])?left-o.grid[0]:left+o.grid[0])):left;}}
+return{top:(pageY
+-this.offset.click.top
+-this.offset.relative.top
+-this.offset.parent.top
++($.browser.safari&&this.cssPosition=='fixed'?0:(this.cssPosition=='fixed'?-this.scrollParent.scrollTop():(scrollIsRootNode?0:scroll.scrollTop())))),left:(pageX
+-this.offset.click.left
+-this.offset.relative.left
+-this.offset.parent.left
++($.browser.safari&&this.cssPosition=='fixed'?0:(this.cssPosition=='fixed'?-this.scrollParent.scrollLeft():scrollIsRootNode?0:scroll.scrollLeft())))};},_rearrange:function(event,i,a,hardRefresh){a?a[0].appendChild(this.placeholder[0]):i.item[0].parentNode.insertBefore(this.placeholder[0],(this.direction=='down'?i.item[0]:i.item[0].nextSibling));this.counter=this.counter?++this.counter:1;var self=this,counter=this.counter;window.setTimeout(function(){if(counter==self.counter)self.refreshPositions(!hardRefresh);},0);},_clear:function(event,noPropagation){this.reverting=false;var delayedTriggers=[],self=this;if(!this._noFinalSort&&this.currentItem[0].parentNode)this.placeholder.before(this.currentItem);this._noFinalSort=null;if(this.helper[0]==this.currentItem[0]){for(var i in this._storedCSS){if(this._storedCSS[i]=='auto'||this._storedCSS[i]=='static')this._storedCSS[i]='';}
+this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper");}else{this.currentItem.show();}
+if(this.fromOutside&&!noPropagation)delayedTriggers.push(function(event){this._trigger("receive",event,this._uiHash(this.fromOutside));});if((this.fromOutside||this.domPosition.prev!=this.currentItem.prev().not(".ui-sortable-helper")[0]||this.domPosition.parent!=this.currentItem.parent()[0])&&!noPropagation)delayedTriggers.push(function(event){this._trigger("update",event,this._uiHash());});if(!$.ui.contains(this.element[0],this.currentItem[0])){if(!noPropagation)delayedTriggers.push(function(event){this._trigger("remove",event,this._uiHash());});for(var i=this.containers.length-1;i>=0;i--){if($.ui.contains(this.containers[i].element[0],this.currentItem[0])&&!noPropagation){delayedTriggers.push((function(c){return function(event){c._trigger("receive",event,this._uiHash(this));};}).call(this,this.containers[i]));delayedTriggers.push((function(c){return function(event){c._trigger("update",event,this._uiHash(this));};}).call(this,this.containers[i]));}};};for(var i=this.containers.length-1;i>=0;i--){if(!noPropagation)delayedTriggers.push((function(c){return function(event){c._trigger("deactivate",event,this._uiHash(this));};}).call(this,this.containers[i]));if(this.containers[i].containerCache.over){delayedTriggers.push((function(c){return function(event){c._trigger("out",event,this._uiHash(this));};}).call(this,this.containers[i]));this.containers[i].containerCache.over=0;}}
+if(this._storedCursor)$('body').css("cursor",this._storedCursor);if(this._storedOpacity)this.helper.css("opacity",this._storedOpacity);if(this._storedZIndex)this.helper.css("zIndex",this._storedZIndex=='auto'?'':this._storedZIndex);this.dragging=false;if(this.cancelHelperRemoval){if(!noPropagation){this._trigger("beforeStop",event,this._uiHash());for(var i=0;i<delayedTriggers.length;i++){delayedTriggers[i].call(this,event);};this._trigger("stop",event,this._uiHash());}
+return false;}
+if(!noPropagation)this._trigger("beforeStop",event,this._uiHash());this.placeholder[0].parentNode.removeChild(this.placeholder[0]);if(this.helper[0]!=this.currentItem[0])this.helper.remove();this.helper=null;if(!noPropagation){for(var i=0;i<delayedTriggers.length;i++){delayedTriggers[i].call(this,event);};this._trigger("stop",event,this._uiHash());}
+this.fromOutside=false;return true;},_trigger:function(){if($.widget.prototype._trigger.apply(this,arguments)===false){this.cancel();}},_uiHash:function(inst){var self=inst||this;return{helper:self.helper,placeholder:self.placeholder||$([]),position:self.position,absolutePosition:self.positionAbs,offset:self.positionAbs,item:self.currentItem,sender:inst?inst.element:null};}}));$.extend($.ui.sortable,{getter:"serialize toArray",version:"1.7.2",eventPrefix:"sort",defaults:{appendTo:"parent",axis:false,cancel:":input,option",connectWith:false,containment:false,cursor:'auto',cursorAt:false,delay:0,distance:1,dropOnEmpty:true,forcePlaceholderSize:false,forceHelperSize:false,grid:false,handle:false,helper:"original",items:'> *',opacity:false,placeholder:false,revert:false,scroll:true,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1000}});})(jQuery);TO_LOAD_INDEX++;TO_LOAD[TO_LOAD_INDEX]='load_extranet();';FIRST_LOAD=true;function load_extranet(){if($("#devisAdresse #client_nom").length){$("#devisAdresse #client_nom").autocomplete(SITE_PATH+'autocomplete/client',{cacheLength:0,maxItemsToShow:15,onFindValue:findClient,onItemSelect:findClient});}
+if($("#factureAdresse #projet_nom").length){$("#factureAdresse #projet_nom").autocomplete(SITE_PATH+'autocomplete/projet',{cacheLength:0,maxItemsToShow:15,onFindValue:findProjet,onItemSelect:findProjet});}
+if($(".dashboard").length>=1&&$("#dash").length>=1){$("#dash").sortable('destroy');if(FIRST_LOAD){FIRST_LOAD=false;}else{FIRST_LOAD=true;$.ajax({url:SITE_PATH+'ajax/reloadDashboards',success:function(data){MyAjax(data);}});}
+$("#dash").sortable({opacity:0.6,axis:"y",handle:".caption",stop:function(e,ui){$.ajax({url:SITE_PATH+'ajax/orderDashboards?'+$("#dash").sortable('serialize')});resize();}});}
+if($("#devisLignes").length>=1){$("#devisLignes").sortable('destroy');$("#devisLignes").sortable({opacity:0.6,axis:"y"});}
+$(".timereport_field").change(function(){var val=parseInt($(this).val());if(isNaN(val)){val=0;}
+var f=this;var id=$(this).attr('id');var a=id.split('_');$.ajax({url:SITE_PATH+'ajax/saveTimereport/'+a[1]+'/'+a[2]+'/'+val,success:function(data){FIRST_LOAD=true;MyAjax(data);var td=$(f).parents('td').get(0);if(parseFloat($(f).val())>0){$(td).addClass('filled');}else{$(td).removeClass('filled');}}});});$("#dash .toggle").click(function(){var rel=$(this).attr('rel');var div=$(this).parents('.dashboard').get(0);var liste=$(div).find('.liste');$(liste).slideToggle('fast',function(){resize();});$(this).toggleClass('close');$.ajax({url:SITE_PATH+'ajax/toggleDashboard/'+rel});return false;});$(".filtre .bt").click(function(){var ul=$(this).parent().parent().children('ul');$(ul).slideToggle('fast');return false;});$(".filtre ul").click(function(e){if(e.target.nodeName=='INPUT'||e.target.nodeName=='LABEL'){return true;}
+$(this).slideToggle('fast');});$(".filtre span").click(function(){var ul=$(this).parent().children('ul');$(ul).slideToggle('fast');});$(".filtre input").change(function(){var form=$(this).parents('form').get(0);var uls=$(form).find("ul");var divs=$(form).find(".input");var spans=$(form).find("span");var i,j,k,ul,lis,li,input,label,checked,div,titre,t,t1,allc,inputs;for(i=0;i<uls.length;i++){div=divs[i];titre=Array();ul=uls[i];lis=$(ul).children("li");allc=$(lis).get(0);checked=0;for(j=1;j<lis.length;j++){li=lis[j];input=$(li).find('input').get(0);label=$(li).find('label').get(0);if(input.checked){checked++;titre.push($(label).text());}}
+if(checked==0){$(div).find('span').text($(allc).text());$(div).find('a').attr('title',$(allc).text());$(div).removeClass('active');inputs=$(ul).find('input');for(k=0;k<inputs.length;k++){inputs[k].checked=true;}}else if(checked==lis.length-1){$(div).find('span').text($(allc).text());$(div).find('a').attr('title',$(allc).text());$(div).removeClass('active');}else{t=titre.join(', ');if(t.length>20){t1=t.substr(0,16)+'...';}else{t1=t;}
+$(div).find('span').text(t1);$(div).find('a').attr('title',t);$(div).addClass('active');}}
+return true;});$(window).resize(function(){resize();});resize();}
+function resize(){var allh=$("#header").height()+$("#footer").height()+$("#bar").height()+$("#main .content").height()+13+30;var h=Math.max($(window).height(),allh);var mh=h-$("#header").height()-$("#footer").height()-$("#bar").height()-30-13;mh=Math.max(mh,450);$("#main").css('height',mh);$(".swfPanel").css('height',mh-10);}
+function findClient(li){var client=li.selectValue.split(' - ');if(client.length<=1){return;}
+var client_id=parseInt(client[0]);$("#client").val(client_id);$.ajax({url:SITE_PATH+'ajax/getAdresseForDevis/'+client_id,success:function(data){MyAjax(data);}});}
+function findProjet(li){var projet=li.selectValue.split(' - ');if(projet.length<=1){return;}
+var projet_id=parseInt(projet[0]);$("#projet").val(projet_id);$.ajax({url:SITE_PATH+'ajax/getAdresseForFacture/'+projet_id,success:function(data){MyAjax(data);}});}
+function refreshFiles(){$.ajax({url:SITE_PATH+'ajax/refreshFichiers',success:function(data){MyAjax(data);}});}
\ No newline at end of file
diff --git a/js/merged-a9c9c5.js b/js/merged-a9c9c5.js
new file mode 100644 (file)
index 0000000..d55887d
--- /dev/null
@@ -0,0 +1,554 @@
+
+(function(){var
+window=this,undefined,_jQuery=window.jQuery,_$=window.$,jQuery=window.jQuery=window.$=function(selector,context){return new jQuery.fn.init(selector,context);},quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,isSimple=/^.[^:#\[\.,]*$/;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;this.context=selector;return this;}
+if(typeof selector==="string"){var match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1])
+selector=jQuery.clean([match[1]],context);else{var elem=document.getElementById(match[3]);if(elem&&elem.id!=match[3])
+return jQuery().find(selector);var ret=jQuery(elem||[]);ret.context=document;ret.selector=selector;return ret;}}else
+return jQuery(context).find(selector);}else if(jQuery.isFunction(selector))
+return jQuery(document).ready(selector);if(selector.selector&&selector.context){this.selector=selector.selector;this.context=selector.context;}
+return this.setArray(jQuery.makeArray(selector));},selector:"",jquery:"1.3.1",size:function(){return this.length;},get:function(num){return num===undefined?jQuery.makeArray(this):this[num];},pushStack:function(elems,name,selector){var ret=jQuery(elems);ret.prevObject=this;ret.context=this.context;if(name==="find")
+ret.selector=this.selector+(this.selector?" ":"")+selector;else if(name)
+ret.selector=this.selector+"."+name+"("+selector+")";return ret;},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elems);return this;},each:function(callback,args){return jQuery.each(this,callback,args);},index:function(elem){return jQuery.inArray(elem&&elem.jquery?elem[0]:elem,this);},attr:function(name,value,type){var options=name;if(typeof name==="string")
+if(value===undefined)
+return this[0]&&jQuery[type||"attr"](this[0],name);else{options={};options[name]=value;}
+return this.each(function(i){for(name in options)
+jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name));});},css:function(key,value){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]){var wrap=jQuery(html,this[0].ownerDocument).clone();if(this[0].parentNode)
+wrap.insertBefore(this[0]);wrap.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,function(elem){if(this.nodeType==1)
+this.appendChild(elem);});},prepend:function(){return this.domManip(arguments,true,function(elem){if(this.nodeType==1)
+this.insertBefore(elem,this.firstChild);});},before:function(){return this.domManip(arguments,false,function(elem){this.parentNode.insertBefore(elem,this);});},after:function(){return this.domManip(arguments,false,function(elem){this.parentNode.insertBefore(elem,this.nextSibling);});},end:function(){return this.prevObject||jQuery([]);},push:[].push,find:function(selector){if(this.length===1&&!/,/.test(selector)){var ret=this.pushStack([],"find",selector);ret.length=0;jQuery.find(selector,this[0],ret);return ret;}else{var elems=jQuery.map(this,function(elem){return jQuery.find(selector,elem);});return this.pushStack(/[^+>] [^+>]/.test(selector)?jQuery.unique(elems):elems,"find",selector);}},clone:function(events){var ret=this.map(function(){if(!jQuery.support.noCloneEvent&&!jQuery.isXMLDoc(this)){var clone=this.cloneNode(true),container=document.createElement("div");container.appendChild(clone);return jQuery.clean([container.innerHTML])[0];}else
+return this.cloneNode(true);});var clone=ret.find("*").andSelf().each(function(){if(this[expando]!==undefined)
+this[expando]=null;});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 ret;},filter:function(selector){return this.pushStack(jQuery.isFunction(selector)&&jQuery.grep(this,function(elem,i){return selector.call(elem,i);})||jQuery.multiFilter(selector,jQuery.grep(this,function(elem){return elem.nodeType===1;})),"filter",selector);},closest:function(selector){var pos=jQuery.expr.match.POS.test(selector)?jQuery(selector):null;return this.map(function(){var cur=this;while(cur&&cur.ownerDocument){if(pos?pos.index(cur)>-1:jQuery(cur).is(selector))
+return cur;cur=cur.parentNode;}});},not:function(selector){if(typeof selector==="string")
+if(isSimple.test(selector))
+return this.pushStack(jQuery.multiFilter(selector,this,true),"not",selector);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 this.pushStack(jQuery.unique(jQuery.merge(this.get(),typeof selector==="string"?jQuery(selector):jQuery.makeArray(selector))));},is:function(selector){return!!selector&&jQuery.multiFilter(selector,this).length>0;},hasClass:function(selector){return!!selector&&this.is("."+selector);},val:function(value){if(value===undefined){var elem=this[0];if(elem){if(jQuery.nodeName(elem,'option'))
+return(elem.attributes.value||{}).specified?elem.value:elem.text;if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";if(index<0)
+return null;for(var i=one?index:0,max=one?index+1:options.length;i<max;i++){var option=options[i];if(option.selected){value=jQuery(option).val();if(one)
+return value;values.push(value);}}
+return values;}
+return(elem.value||"").replace(/\r/g,"");}
+return undefined;}
+if(typeof value==="number")
+value+='';return this.each(function(){if(this.nodeType!=1)
+return;if(jQuery.isArray(value)&&/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=jQuery.makeArray(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[0]?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),"slice",Array.prototype.slice.call(arguments).join(","));},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);},domManip:function(args,table,callback){if(this[0]){var fragment=(this[0].ownerDocument||this[0]).createDocumentFragment(),scripts=jQuery.clean(args,(this[0].ownerDocument||this[0]),fragment),first=fragment.firstChild,extra=this.length>1?fragment.cloneNode(true):fragment;if(first)
+for(var i=0,l=this.length;i<l;i++)
+callback.call(root(this[i],first),i>0?extra.cloneNode(true):fragment);if(scripts)
+jQuery.each(scripts,evalScript);}
+return this;function root(elem,cur){return table&&jQuery.nodeName(elem,"table")&&jQuery.nodeName(cur,"tr")?(elem.getElementsByTagName("tbody")[0]||elem.appendChild(elem.ownerDocument.createElement("tbody"))):elem;}}};jQuery.fn.init.prototype=jQuery.fn;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);}
+function now(){return+new Date;}
+jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(typeof target==="boolean"){deep=target;target=arguments[1]||{};i=2;}
+if(typeof target!=="object"&&!jQuery.isFunction(target))
+target={};if(length==i){target=this;--i;}
+for(;i<length;i++)
+if((options=arguments[i])!=null)
+for(var name in options){var src=target[name],copy=options[name];if(target===copy)
+continue;if(deep&&copy&&typeof copy==="object"&&!copy.nodeType)
+target[name]=jQuery.extend(deep,src||(copy.length!=null?[]:{}),copy);else if(copy!==undefined)
+target[name]=copy;}
+return target;};var exclude=/z-?index|font-?weight|opacity|zoom|line-?height/i,defaultView=document.defaultView||{},toString=Object.prototype.toString;jQuery.extend({noConflict:function(deep){window.$=_$;if(deep)
+window.jQuery=_jQuery;return jQuery;},isFunction:function(obj){return toString.call(obj)==="[object Function]";},isArray:function(obj){return toString.call(obj)==="[object Array]";},isXMLDoc:function(elem){return elem.nodeType===9&&elem.documentElement.nodeName!=="HTML"||!!elem.ownerDocument&&jQuery.isXMLDoc(elem.ownerDocument);},globalEval:function(data){data=jQuery.trim(data);if(data){var head=document.getElementsByTagName("head")[0]||document.documentElement,script=document.createElement("script");script.type="text/javascript";if(jQuery.support.scriptEval)
+script.appendChild(document.createTextNode(data));else
+script.text=data;head.insertBefore(script,head.firstChild);head.removeChild(script);}},nodeName:function(elem,name){return elem.nodeName&&elem.nodeName.toUpperCase()==name.toUpperCase();},each:function(object,callback,args){var name,i=0,length=object.length;if(args){if(length===undefined){for(name in object)
+if(callback.apply(object[name],args)===false)
+break;}else
+for(;i<length;)
+if(callback.apply(object[i++],args)===false)
+break;}else{if(length===undefined){for(name in object)
+if(callback.call(object[name],name,object[name])===false)
+break;}else
+for(var value=object[0];i<length&&callback.call(value,i,value)!==false;value=object[++i]){}}
+return object;},prop:function(elem,value,type,i,name){if(jQuery.isFunction(value))
+value=value.call(elem,i);return typeof value==="number"&&type=="curCSS"&&!exclude.test(name)?value+"px":value;},className:{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;});},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(" "):"";},has:function(elem,className){return elem&&jQuery.inArray(className,(elem.className||elem).toString().split(/\s+/))>-1;}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}
+callback.call(elem);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,style=elem.style;if(name=="opacity"&&!jQuery.support.opacity){ret=jQuery.attr(style,"opacity");return ret==""?"1":ret;}
+if(name.match(/float/i))
+name=styleFloat;if(!force&&style&&style[name])
+ret=style[name];else if(defaultView.getComputedStyle){if(name.match(/float/i))
+name="float";name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var computedStyle=defaultView.getComputedStyle(elem,null);if(computedStyle)
+ret=computedStyle.getPropertyValue(name);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];if(!/^\d+(px)?$/i.test(ret)&&/^\d/.test(ret)){var left=style.left,rsLeft=elem.runtimeStyle.left;elem.runtimeStyle.left=elem.currentStyle.left;style.left=ret||0;ret=style.pixelLeft+"px";style.left=left;elem.runtimeStyle.left=rsLeft;}}
+return ret;},clean:function(elems,context,fragment){context=context||document;if(typeof context.createElement==="undefined")
+context=context.ownerDocument||context[0]&&context[0].ownerDocument||document;if(!fragment&&elems.length===1&&typeof elems[0]==="string"){var match=/^<(\w+)\s*\/?>$/.exec(elems[0]);if(match)
+return[context.createElement(match[1])];}
+var ret=[],scripts=[],div=context.createElement("div");jQuery.each(elems,function(i,elem){if(typeof elem==="number")
+elem+='';if(!elem)
+return;if(typeof elem==="string"){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+">";});var tags=jQuery.trim(elem).toLowerCase();var wrap=!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>"]||(!tags.indexOf("<td")||!tags.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!tags.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||!jQuery.support.htmlSerialize&&[1,"div<div>","</div>"]||[0,"",""];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--)
+div=div.lastChild;if(!jQuery.support.tbody){var tbody=!tags.indexOf("<table")&&tags.indexOf("<tbody")<0?div.firstChild&&div.firstChild.childNodes: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]);}
+if(!jQuery.support.leadingWhitespace&&/^\s/.test(elem))
+div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]),div.firstChild);elem=jQuery.makeArray(div.childNodes);}
+if(elem.nodeType)
+ret.push(elem);else
+ret=jQuery.merge(ret,elem);});if(fragment){for(var i=0;ret[i];i++){if(jQuery.nodeName(ret[i],"script")&&(!ret[i].type||ret[i].type.toLowerCase()==="text/javascript")){scripts.push(ret[i].parentNode?ret[i].parentNode.removeChild(ret[i]):ret[i]);}else{if(ret[i].nodeType===1)
+ret.splice.apply(ret,[i+1,0].concat(jQuery.makeArray(ret[i].getElementsByTagName("script"))));fragment.appendChild(ret[i]);}}
+return scripts;}
+return ret;},attr:function(elem,name,value){if(!elem||elem.nodeType==3||elem.nodeType==8)
+return undefined;var notxml=!jQuery.isXMLDoc(elem),set=value!==undefined;name=notxml&&jQuery.props[name]||name;if(elem.tagName){var special=/href|src|style/.test(name);if(name=="selected"&&elem.parentNode)
+elem.parentNode.selectedIndex;if(name in elem&&notxml&&!special){if(set){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)
+throw"type property can't be changed";elem[name]=value;}
+if(jQuery.nodeName(elem,"form")&&elem.getAttributeNode(name))
+return elem.getAttributeNode(name).nodeValue;if(name=="tabIndex"){var attributeNode=elem.getAttributeNode("tabIndex");return attributeNode&&attributeNode.specified?attributeNode.value:elem.nodeName.match(/(button|input|object|select|textarea)/i)?0:elem.nodeName.match(/^(a|area)$/i)&&elem.href?0:undefined;}
+return elem[name];}
+if(!jQuery.support.style&&notxml&&name=="style")
+return jQuery.attr(elem.style,"cssText",value);if(set)
+elem.setAttribute(name,""+value);var attr=!jQuery.support.hrefNormalized&&notxml&&special?elem.getAttribute(name,2):elem.getAttribute(name);return attr===null?undefined:attr;}
+if(!jQuery.support.opacity&&name=="opacity"){if(set){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+
+(parseInt(value)+''=="NaN"?"":"alpha(opacity="+value*100+")");}
+return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100)+'':"";}
+name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(set)
+elem[name]=value;return elem[name];},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeArray:function(array){var ret=[];if(array!=null){var i=array.length;if(i==null||typeof array==="string"||jQuery.isFunction(array)||array.setInterval)
+ret[0]=array;else
+while(i)
+ret[--i]=array[i];}
+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){var i=0,elem,pos=first.length;if(!jQuery.support.getAll){while((elem=second[i++])!=null)
+if(elem.nodeType!=8)
+first[pos++]=elem;}else
+while((elem=second[i++])!=null)
+first[pos++]=elem;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=[];for(var i=0,length=elems.length;i<length;i++)
+if(!inv!=!callback(elems[i],i))
+ret.push(elems[i]);return ret;},map:function(elems,callback){var ret=[];for(var i=0,length=elems.length;i<length;i++){var value=callback(elems[i],i);if(value!=null)
+ret[ret.length]=value;}
+return ret.concat.apply([],ret);}});var userAgent=navigator.userAgent.toLowerCase();jQuery.browser={version:(userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,'0'])[1],safari:/webkit/.test(userAgent),opera:/opera/.test(userAgent),msie:/msie/.test(userAgent)&&!/opera/.test(userAgent),mozilla:/mozilla/.test(userAgent)&&!/(compatible|webkit)/.test(userAgent)};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),name,selector);};});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,state){if(typeof state!=="boolean")
+state=!jQuery.className.has(this,classNames);jQuery.className[state?"add":"remove"](this,classNames);},remove:function(selector){if(!selector||jQuery.filter(selector,[this]).length){jQuery("*",this).add([this]).each(function(){jQuery.event.remove(this);jQuery.removeData(this);});if(this.parentNode)
+this.parentNode.removeChild(this);}},empty:function(){jQuery(">*",this).remove();while(this.firstChild)
+this.removeChild(this.firstChild);}},function(name,fn){jQuery.fn[name]=function(){return this.each(fn,arguments);};});function num(elem,prop){return elem[0]&&parseInt(jQuery.curCSS(elem[0],prop,true),10)||0;}
+var expando="jQuery"+now(),uuid=0,windowData={};jQuery.extend({cache:{},data:function(elem,name,data){elem=elem==window?windowData:elem;var id=elem[expando];if(!id)
+id=elem[expando]=++uuid;if(name&&!jQuery.cache[id])
+jQuery.cache[id]={};if(data!==undefined)
+jQuery.cache[id][name]=data;return name?jQuery.cache[id][name]:id;},removeData:function(elem,name){elem=elem==window?windowData:elem;var id=elem[expando];if(name){if(jQuery.cache[id]){delete jQuery.cache[id][name];name="";for(name in jQuery.cache[id])
+break;if(!name)
+jQuery.removeData(elem);}}else{try{delete elem[expando];}catch(e){if(elem.removeAttribute)
+elem.removeAttribute(expando);}
+delete jQuery.cache[id];}},queue:function(elem,type,data){if(elem){type=(type||"fx")+"queue";var q=jQuery.data(elem,type);if(!q||jQuery.isArray(data))
+q=jQuery.data(elem,type,jQuery.makeArray(data));else if(data)
+q.push(data);}
+return q;},dequeue:function(elem,type){var queue=jQuery.queue(elem,type),fn=queue.shift();if(!type||type==="fx")
+fn=queue[0];if(fn!==undefined)
+fn.call(elem);}});jQuery.fn.extend({data:function(key,value){var parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value===undefined){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data===undefined&&this.length)
+data=jQuery.data(this[0],key);return data===undefined&&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);});},queue:function(type,data){if(typeof type!=="string"){data=type;type="fx";}
+if(data===undefined)
+return jQuery.queue(this[0],type);return this.each(function(){var queue=jQuery.queue(this,type,data);if(type=="fx"&&queue.length==1)
+queue[0].call(this);});},dequeue:function(type){return this.each(function(){jQuery.dequeue(this,type);});}});(function(){var chunker=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]+['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[]+)+|[>+~])(\s*,\s*)?/g,done=0,toString=Object.prototype.toString;var Sizzle=function(selector,context,results,seed){results=results||[];context=context||document;if(context.nodeType!==1&&context.nodeType!==9)
+return[];if(!selector||typeof selector!=="string"){return results;}
+var parts=[],m,set,checkSet,check,mode,extra,prune=true;chunker.lastIndex=0;while((m=chunker.exec(selector))!==null){parts.push(m[1]);if(m[2]){extra=RegExp.rightContext;break;}}
+if(parts.length>1&&origPOS.exec(selector)){if(parts.length===2&&Expr.relative[parts[0]]){set=posProcess(parts[0]+parts[1],context);}else{set=Expr.relative[parts[0]]?[context]:Sizzle(parts.shift(),context);while(parts.length){selector=parts.shift();if(Expr.relative[selector])
+selector+=parts.shift();set=posProcess(selector,set);}}}else{var ret=seed?{expr:parts.pop(),set:makeArray(seed)}:Sizzle.find(parts.pop(),parts.length===1&&context.parentNode?context.parentNode:context,isXML(context));set=Sizzle.filter(ret.expr,ret.set);if(parts.length>0){checkSet=makeArray(set);}else{prune=false;}
+while(parts.length){var cur=parts.pop(),pop=cur;if(!Expr.relative[cur]){cur="";}else{pop=parts.pop();}
+if(pop==null){pop=context;}
+Expr.relative[cur](checkSet,pop,isXML(context));}}
+if(!checkSet){checkSet=set;}
+if(!checkSet){throw"Syntax error, unrecognized expression: "+(cur||selector);}
+if(toString.call(checkSet)==="[object Array]"){if(!prune){results.push.apply(results,checkSet);}else if(context.nodeType===1){for(var i=0;checkSet[i]!=null;i++){if(checkSet[i]&&(checkSet[i]===true||checkSet[i].nodeType===1&&contains(context,checkSet[i]))){results.push(set[i]);}}}else{for(var i=0;checkSet[i]!=null;i++){if(checkSet[i]&&checkSet[i].nodeType===1){results.push(set[i]);}}}}else{makeArray(checkSet,results);}
+if(extra){Sizzle(extra,context,results,seed);}
+return results;};Sizzle.matches=function(expr,set){return Sizzle(expr,null,null,set);};Sizzle.find=function(expr,context,isXML){var set,match;if(!expr){return[];}
+for(var i=0,l=Expr.order.length;i<l;i++){var type=Expr.order[i],match;if((match=Expr.match[type].exec(expr))){var left=RegExp.leftContext;if(left.substr(left.length-1)!=="\\"){match[1]=(match[1]||"").replace(/\\/g,"");set=Expr.find[type](match,context,isXML);if(set!=null){expr=expr.replace(Expr.match[type],"");break;}}}}
+if(!set){set=context.getElementsByTagName("*");}
+return{set:set,expr:expr};};Sizzle.filter=function(expr,set,inplace,not){var old=expr,result=[],curLoop=set,match,anyFound;while(expr&&set.length){for(var type in Expr.filter){if((match=Expr.match[type].exec(expr))!=null){var filter=Expr.filter[type],found,item;anyFound=false;if(curLoop==result){result=[];}
+if(Expr.preFilter[type]){match=Expr.preFilter[type](match,curLoop,inplace,result,not);if(!match){anyFound=found=true;}else if(match===true){continue;}}
+if(match){for(var i=0;(item=curLoop[i])!=null;i++){if(item){found=filter(item,match,i,curLoop);var pass=not^!!found;if(inplace&&found!=null){if(pass){anyFound=true;}else{curLoop[i]=false;}}else if(pass){result.push(item);anyFound=true;}}}}
+if(found!==undefined){if(!inplace){curLoop=result;}
+expr=expr.replace(Expr.match[type],"");if(!anyFound){return[];}
+break;}}}
+expr=expr.replace(/\s*,\s*/,"");if(expr==old){if(anyFound==null){throw"Syntax error, unrecognized expression: "+expr;}else{break;}}
+old=expr;}
+return curLoop;};var Expr=Sizzle.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(elem){return elem.getAttribute("href");}},relative:{"+":function(checkSet,part){for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){var cur=elem.previousSibling;while(cur&&cur.nodeType!==1){cur=cur.previousSibling;}
+checkSet[i]=typeof part==="string"?cur||false:cur===part;}}
+if(typeof part==="string"){Sizzle.filter(part,checkSet,true);}},">":function(checkSet,part,isXML){if(typeof part==="string"&&!/\W/.test(part)){part=isXML?part:part.toUpperCase();for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){var parent=elem.parentNode;checkSet[i]=parent.nodeName===part?parent:false;}}}else{for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){checkSet[i]=typeof part==="string"?elem.parentNode:elem.parentNode===part;}}
+if(typeof part==="string"){Sizzle.filter(part,checkSet,true);}}},"":function(checkSet,part,isXML){var doneName="done"+(done++),checkFn=dirCheck;if(!part.match(/\W/)){var nodeCheck=part=isXML?part:part.toUpperCase();checkFn=dirNodeCheck;}
+checkFn("parentNode",part,doneName,checkSet,nodeCheck,isXML);},"~":function(checkSet,part,isXML){var doneName="done"+(done++),checkFn=dirCheck;if(typeof part==="string"&&!part.match(/\W/)){var nodeCheck=part=isXML?part:part.toUpperCase();checkFn=dirNodeCheck;}
+checkFn("previousSibling",part,doneName,checkSet,nodeCheck,isXML);}},find:{ID:function(match,context,isXML){if(typeof context.getElementById!=="undefined"&&!isXML){var m=context.getElementById(match[1]);return m?[m]:[];}},NAME:function(match,context,isXML){if(typeof context.getElementsByName!=="undefined"&&!isXML){return context.getElementsByName(match[1]);}},TAG:function(match,context){return context.getElementsByTagName(match[1]);}},preFilter:{CLASS:function(match,curLoop,inplace,result,not){match=" "+match[1].replace(/\\/g,"")+" ";var elem;for(var i=0;(elem=curLoop[i])!=null;i++){if(elem){if(not^(" "+elem.className+" ").indexOf(match)>=0){if(!inplace)
+result.push(elem);}else if(inplace){curLoop[i]=false;}}}
+return false;},ID:function(match){return match[1].replace(/\\/g,"");},TAG:function(match,curLoop){for(var i=0;curLoop[i]===false;i++){}
+return curLoop[i]&&isXML(curLoop[i])?match[1]:match[1].toUpperCase();},CHILD:function(match){if(match[1]=="nth"){var test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(match[2]=="even"&&"2n"||match[2]=="odd"&&"2n+1"||!/\D/.test(match[2])&&"0n+"+match[2]||match[2]);match[2]=(test[1]+(test[2]||1))-0;match[3]=test[3]-0;}
+match[0]="done"+(done++);return match;},ATTR:function(match){var name=match[1].replace(/\\/g,"");if(Expr.attrMap[name]){match[1]=Expr.attrMap[name];}
+if(match[2]==="~="){match[4]=" "+match[4]+" ";}
+return match;},PSEUDO:function(match,curLoop,inplace,result,not){if(match[1]==="not"){if(match[3].match(chunker).length>1){match[3]=Sizzle(match[3],null,null,curLoop);}else{var ret=Sizzle.filter(match[3],curLoop,inplace,true^not);if(!inplace){result.push.apply(result,ret);}
+return false;}}else if(Expr.match.POS.test(match[0])){return true;}
+return match;},POS:function(match){match.unshift(true);return match;}},filters:{enabled:function(elem){return elem.disabled===false&&elem.type!=="hidden";},disabled:function(elem){return elem.disabled===true;},checked:function(elem){return elem.checked===true;},selected:function(elem){elem.parentNode.selectedIndex;return elem.selected===true;},parent:function(elem){return!!elem.firstChild;},empty:function(elem){return!elem.firstChild;},has:function(elem,i,match){return!!Sizzle(match[3],elem).length;},header:function(elem){return/h\d/i.test(elem.nodeName);},text:function(elem){return"text"===elem.type;},radio:function(elem){return"radio"===elem.type;},checkbox:function(elem){return"checkbox"===elem.type;},file:function(elem){return"file"===elem.type;},password:function(elem){return"password"===elem.type;},submit:function(elem){return"submit"===elem.type;},image:function(elem){return"image"===elem.type;},reset:function(elem){return"reset"===elem.type;},button:function(elem){return"button"===elem.type||elem.nodeName.toUpperCase()==="BUTTON";},input:function(elem){return/input|select|textarea|button/i.test(elem.nodeName);}},setFilters:{first:function(elem,i){return i===0;},last:function(elem,i,match,array){return i===array.length-1;},even:function(elem,i){return i%2===0;},odd:function(elem,i){return i%2===1;},lt:function(elem,i,match){return i<match[3]-0;},gt:function(elem,i,match){return i>match[3]-0;},nth:function(elem,i,match){return match[3]-0==i;},eq:function(elem,i,match){return match[3]-0==i;}},filter:{CHILD:function(elem,match){var type=match[1],parent=elem.parentNode;var doneName=match[0];if(parent&&(!parent[doneName]||!elem.nodeIndex)){var count=1;for(var node=parent.firstChild;node;node=node.nextSibling){if(node.nodeType==1){node.nodeIndex=count++;}}
+parent[doneName]=count-1;}
+if(type=="first"){return elem.nodeIndex==1;}else if(type=="last"){return elem.nodeIndex==parent[doneName];}else if(type=="only"){return parent[doneName]==1;}else if(type=="nth"){var add=false,first=match[2],last=match[3];if(first==1&&last==0){return true;}
+if(first==0){if(elem.nodeIndex==last){add=true;}}else if((elem.nodeIndex-last)%first==0&&(elem.nodeIndex-last)/first>=0){add=true;}
+return add;}},PSEUDO:function(elem,match,i,array){var name=match[1],filter=Expr.filters[name];if(filter){return filter(elem,i,match,array);}else if(name==="contains"){return(elem.textContent||elem.innerText||"").indexOf(match[3])>=0;}else if(name==="not"){var not=match[3];for(var i=0,l=not.length;i<l;i++){if(not[i]===elem){return false;}}
+return true;}},ID:function(elem,match){return elem.nodeType===1&&elem.getAttribute("id")===match;},TAG:function(elem,match){return(match==="*"&&elem.nodeType===1)||elem.nodeName===match;},CLASS:function(elem,match){return match.test(elem.className);},ATTR:function(elem,match){var result=Expr.attrHandle[match[1]]?Expr.attrHandle[match[1]](elem):elem[match[1]]||elem.getAttribute(match[1]),value=result+"",type=match[2],check=match[4];return result==null?type==="!=":type==="="?value===check:type==="*="?value.indexOf(check)>=0:type==="~="?(" "+value+" ").indexOf(check)>=0:!match[4]?result:type==="!="?value!=check:type==="^="?value.indexOf(check)===0:type==="$="?value.substr(value.length-check.length)===check:type==="|="?value===check||value.substr(0,check.length+1)===check+"-":false;},POS:function(elem,match,i,array){var name=match[2],filter=Expr.setFilters[name];if(filter){return filter(elem,i,match,array);}}}};var origPOS=Expr.match.POS;for(var type in Expr.match){Expr.match[type]=RegExp(Expr.match[type].source+/(?![^\[]*\])(?![^\(]*\))/.source);}
+var makeArray=function(array,results){array=Array.prototype.slice.call(array);if(results){results.push.apply(results,array);return results;}
+return array;};try{Array.prototype.slice.call(document.documentElement.childNodes);}catch(e){makeArray=function(array,results){var ret=results||[];if(toString.call(array)==="[object Array]"){Array.prototype.push.apply(ret,array);}else{if(typeof array.length==="number"){for(var i=0,l=array.length;i<l;i++){ret.push(array[i]);}}else{for(var i=0;array[i];i++){ret.push(array[i]);}}}
+return ret;};}
+(function(){var form=document.createElement("form"),id="script"+(new Date).getTime();form.innerHTML="<input name='"+id+"'/>";var root=document.documentElement;root.insertBefore(form,root.firstChild);if(!!document.getElementById(id)){Expr.find.ID=function(match,context,isXML){if(typeof context.getElementById!=="undefined"&&!isXML){var m=context.getElementById(match[1]);return m?m.id===match[1]||typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id").nodeValue===match[1]?[m]:undefined:[];}};Expr.filter.ID=function(elem,match){var node=typeof elem.getAttributeNode!=="undefined"&&elem.getAttributeNode("id");return elem.nodeType===1&&node&&node.nodeValue===match;};}
+root.removeChild(form);})();(function(){var div=document.createElement("div");div.appendChild(document.createComment(""));if(div.getElementsByTagName("*").length>0){Expr.find.TAG=function(match,context){var results=context.getElementsByTagName(match[1]);if(match[1]==="*"){var tmp=[];for(var i=0;results[i];i++){if(results[i].nodeType===1){tmp.push(results[i]);}}
+results=tmp;}
+return results;};}
+div.innerHTML="<a href='#'></a>";if(div.firstChild&&div.firstChild.getAttribute("href")!=="#"){Expr.attrHandle.href=function(elem){return elem.getAttribute("href",2);};}})();if(document.querySelectorAll)(function(){var oldSizzle=Sizzle,div=document.createElement("div");div.innerHTML="<p class='TEST'></p>";if(div.querySelectorAll&&div.querySelectorAll(".TEST").length===0){return;}
+Sizzle=function(query,context,extra,seed){context=context||document;if(!seed&&context.nodeType===9&&!isXML(context)){try{return makeArray(context.querySelectorAll(query),extra);}catch(e){}}
+return oldSizzle(query,context,extra,seed);};Sizzle.find=oldSizzle.find;Sizzle.filter=oldSizzle.filter;Sizzle.selectors=oldSizzle.selectors;Sizzle.matches=oldSizzle.matches;})();if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){Expr.order.splice(1,0,"CLASS");Expr.find.CLASS=function(match,context){return context.getElementsByClassName(match[1]);};}
+function dirNodeCheck(dir,cur,doneName,checkSet,nodeCheck,isXML){for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){elem=elem[dir];var match=false;while(elem&&elem.nodeType){var done=elem[doneName];if(done){match=checkSet[done];break;}
+if(elem.nodeType===1&&!isXML)
+elem[doneName]=i;if(elem.nodeName===cur){match=elem;break;}
+elem=elem[dir];}
+checkSet[i]=match;}}}
+function dirCheck(dir,cur,doneName,checkSet,nodeCheck,isXML){for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){elem=elem[dir];var match=false;while(elem&&elem.nodeType){if(elem[doneName]){match=checkSet[elem[doneName]];break;}
+if(elem.nodeType===1){if(!isXML)
+elem[doneName]=i;if(typeof cur!=="string"){if(elem===cur){match=true;break;}}else if(Sizzle.filter(cur,[elem]).length>0){match=elem;break;}}
+elem=elem[dir];}
+checkSet[i]=match;}}}
+var contains=document.compareDocumentPosition?function(a,b){return a.compareDocumentPosition(b)&16;}:function(a,b){return a!==b&&(a.contains?a.contains(b):true);};var isXML=function(elem){return elem.nodeType===9&&elem.documentElement.nodeName!=="HTML"||!!elem.ownerDocument&&isXML(elem.ownerDocument);};var posProcess=function(selector,context){var tmpSet=[],later="",match,root=context.nodeType?[context]:context;while((match=Expr.match.PSEUDO.exec(selector))){later+=match[0];selector=selector.replace(Expr.match.PSEUDO,"");}
+selector=Expr.relative[selector]?selector+"*":selector;for(var i=0,l=root.length;i<l;i++){Sizzle(selector,root[i],tmpSet);}
+return Sizzle.filter(later,tmpSet);};jQuery.find=Sizzle;jQuery.filter=Sizzle.filter;jQuery.expr=Sizzle.selectors;jQuery.expr[":"]=jQuery.expr.filters;Sizzle.selectors.filters.hidden=function(elem){return"hidden"===elem.type||jQuery.css(elem,"display")==="none"||jQuery.css(elem,"visibility")==="hidden";};Sizzle.selectors.filters.visible=function(elem){return"hidden"!==elem.type&&jQuery.css(elem,"display")!=="none"&&jQuery.css(elem,"visibility")!=="hidden";};Sizzle.selectors.filters.animated=function(elem){return jQuery.grep(jQuery.timers,function(fn){return elem===fn.elem;}).length;};jQuery.multiFilter=function(expr,elems,not){if(not){expr=":not("+expr+")";}
+return Sizzle.matches(expr,elems);};jQuery.dir=function(elem,dir){var matched=[],cur=elem[dir];while(cur&&cur!=document){if(cur.nodeType==1)
+matched.push(cur);cur=cur[dir];}
+return matched;};jQuery.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;};jQuery.sibling=function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType==1&&n!=elem)
+r.push(n);}
+return r;};return;window.Sizzle=Sizzle;})();jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8)
+return;if(elem.setInterval&&elem!=window)
+elem=window;if(!handler.guid)
+handler.guid=this.guid++;if(data!==undefined){var fn=handler;handler=this.proxy(fn);handler.data=data;}
+var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){return typeof jQuery!=="undefined"&&!jQuery.event.triggered?jQuery.event.handle.apply(arguments.callee.elem,arguments):undefined;});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var namespaces=type.split(".");type=namespaces.shift();handler.type=namespaces.slice().sort().join(".");var handlers=events[type];if(jQuery.event.specialAll[type])
+jQuery.event.specialAll[type].setup.call(elem,data,namespaces);if(!handlers){handlers=events[type]={};if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem,data,namespaces)===false){if(elem.addEventListener)
+elem.addEventListener(type,handle,false);else if(elem.attachEvent)
+elem.attachEvent("on"+type,handle);}}
+handlers[handler.guid]=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8)
+return;var events=jQuery.data(elem,"events"),ret,index;if(events){if(types===undefined||(typeof types==="string"&&types.charAt(0)=="."))
+for(var type in events)
+this.remove(elem,type+(types||""));else{if(types.type){handler=types.handler;types=types.type;}
+jQuery.each(types.split(/\s+/),function(index,type){var namespaces=type.split(".");type=namespaces.shift();var namespace=RegExp("(^|\\.)"+namespaces.slice().sort().join(".*\\.")+"(\\.|$)");if(events[type]){if(handler)
+delete events[type][handler.guid];else
+for(var handle in events[type])
+if(namespace.test(events[type][handle].type))
+delete events[type][handle];if(jQuery.event.specialAll[type])
+jQuery.event.specialAll[type].teardown.call(elem,namespaces);for(ret in events[type])break;if(!ret){if(!jQuery.event.special[type]||jQuery.event.special[type].teardown.call(elem,namespaces)===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];}}});}
+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(event,data,elem,bubbling){var type=event.type||event;if(!bubbling){event=typeof event==="object"?event[expando]?event:jQuery.extend(jQuery.Event(type),event):jQuery.Event(type);if(type.indexOf("!")>=0){event.type=type=type.slice(0,-1);event.exclusive=true;}
+if(!elem){event.stopPropagation();if(this.global[type])
+jQuery.each(jQuery.cache,function(){if(this.events&&this.events[type])
+jQuery.event.trigger(event,data,this.handle.elem);});}
+if(!elem||elem.nodeType==3||elem.nodeType==8)
+return undefined;event.result=undefined;event.target=elem;data=jQuery.makeArray(data);data.unshift(event);}
+event.currentTarget=elem;var handle=jQuery.data(elem,"handle");if(handle)
+handle.apply(elem,data);if((!elem[type]||(jQuery.nodeName(elem,'a')&&type=="click"))&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)
+event.result=false;if(!bubbling&&elem[type]&&!event.isDefaultPrevented()&&!(jQuery.nodeName(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]();}catch(e){}}
+this.triggered=false;if(!event.isPropagationStopped()){var parent=elem.parentNode||elem.ownerDocument;if(parent)
+jQuery.event.trigger(event,data,parent,true);}},handle:function(event){var all,handlers;event=arguments[0]=jQuery.event.fix(event||window.event);var namespaces=event.type.split(".");event.type=namespaces.shift();all=!namespaces.length&&!event.exclusive;var namespace=RegExp("(^|\\.)"+namespaces.slice().sort().join(".*\\.")+"(\\.|$)");handlers=(jQuery.data(this,"events")||{})[event.type];for(var j in handlers){var handler=handlers[j];if(all||namespace.test(handler.type)){event.handler=handler;event.data=handler.data;var ret=handler.apply(this,arguments);if(ret!==undefined){event.result=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}
+if(event.isImmediatePropagationStopped())
+break;}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(event){if(event[expando])
+return event;var originalEvent=event;event=jQuery.Event(originalEvent);for(var i=this.props.length,prop;i;){prop=this.props[--i];event[prop]=originalEvent[prop];}
+if(!event.target)
+event.target=event.srcElement||document;if(event.target.nodeType==3)
+event.target=event.target.parentNode;if(!event.relatedTarget&&event.fromElement)
+event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;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);}
+if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode))
+event.which=event.charCode||event.keyCode;if(!event.metaKey&&event.ctrlKey)
+event.metaKey=event.ctrlKey;if(!event.which&&event.button)
+event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));return event;},proxy:function(fn,proxy){proxy=proxy||function(){return fn.apply(this,arguments);};proxy.guid=fn.guid=fn.guid||proxy.guid||this.guid++;return proxy;},special:{ready:{setup:bindReady,teardown:function(){}}},specialAll:{live:{setup:function(selector,namespaces){jQuery.event.add(this,namespaces[0],liveHandler);},teardown:function(namespaces){if(namespaces.length){var remove=0,name=RegExp("(^|\\.)"+namespaces[0]+"(\\.|$)");jQuery.each((jQuery.data(this,"events").live||{}),function(){if(name.test(this.type))
+remove++;});if(remove<1)
+jQuery.event.remove(this,namespaces[0],liveHandler);}}}}};jQuery.Event=function(src){if(!this.preventDefault)
+return new jQuery.Event(src);if(src&&src.type){this.originalEvent=src;this.type=src.type;}else
+this.type=src;this.timeStamp=now();this[expando]=true;};function returnFalse(){return false;}
+function returnTrue(){return true;}
+jQuery.Event.prototype={preventDefault:function(){this.isDefaultPrevented=returnTrue;var e=this.originalEvent;if(!e)
+return;if(e.preventDefault)
+e.preventDefault();e.returnValue=false;},stopPropagation:function(){this.isPropagationStopped=returnTrue;var e=this.originalEvent;if(!e)
+return;if(e.stopPropagation)
+e.stopPropagation();e.cancelBubble=true;},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=returnTrue;this.stopPropagation();},isDefaultPrevented:returnFalse,isPropagationStopped:returnFalse,isImmediatePropagationStopped:returnFalse};var withinElement=function(event){var parent=event.relatedTarget;while(parent&&parent!=this)
+try{parent=parent.parentNode;}
+catch(e){parent=this;}
+if(parent!=this){event.type=event.data;jQuery.event.handle.apply(this,arguments);}};jQuery.each({mouseover:'mouseenter',mouseout:'mouseleave'},function(orig,fix){jQuery.event.special[fix]={setup:function(){jQuery.event.add(this,orig,withinElement,fix);},teardown:function(){jQuery.event.remove(this,orig,withinElement);}};});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){var one=jQuery.event.proxy(fn||data,function(event){jQuery(this).unbind(event,one);return(fn||data).apply(this,arguments);});return this.each(function(){jQuery.event.add(this,type,one,fn&&data);});},unbind:function(type,fn){return this.each(function(){jQuery.event.remove(this,type,fn);});},trigger:function(type,data){return this.each(function(){jQuery.event.trigger(type,data,this);});},triggerHandler:function(type,data){if(this[0]){var event=jQuery.Event(type);event.preventDefault();event.stopPropagation();jQuery.event.trigger(event,data,this[0]);return event.result;}},toggle:function(fn){var args=arguments,i=1;while(i<args.length)
+jQuery.event.proxy(fn,args[i++]);return this.click(jQuery.event.proxy(fn,function(event){this.lastToggle=(this.lastToggle||0)%i;event.preventDefault();return args[this.lastToggle++].apply(this,arguments)||false;}));},hover:function(fnOver,fnOut){return this.mouseenter(fnOver).mouseleave(fnOut);},ready:function(fn){bindReady();if(jQuery.isReady)
+fn.call(document,jQuery);else
+jQuery.readyList.push(fn);return this;},live:function(type,fn){var proxy=jQuery.event.proxy(fn);proxy.guid+=this.selector+type;jQuery(document).bind(liveConvert(type,this.selector),this.selector,proxy);return this;},die:function(type,fn){jQuery(document).unbind(liveConvert(type,this.selector),fn?{guid:fn.guid+this.selector+type}:null);return this;}});function liveHandler(event){var check=RegExp("(^|\\.)"+event.type+"(\\.|$)"),stop=true,elems=[];jQuery.each(jQuery.data(this,"events").live||[],function(i,fn){if(check.test(fn.type)){var elem=jQuery(event.target).closest(fn.data)[0];if(elem)
+elems.push({elem:elem,fn:fn});}});jQuery.each(elems,function(){if(this.fn.call(this.elem,event,this.fn.data)===false)
+stop=false;});return stop;}
+function liveConvert(type,selector){return["live",type,selector.replace(/\./g,"`").replace(/ /g,"|")].join(".");}
+jQuery.extend({isReady:false,readyList:[],ready:function(){if(!jQuery.isReady){jQuery.isReady=true;if(jQuery.readyList){jQuery.each(jQuery.readyList,function(){this.call(document,jQuery);});jQuery.readyList=null;}
+jQuery(document).triggerHandler("ready");}}});var readyBound=false;function bindReady(){if(readyBound)return;readyBound=true;if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);jQuery.ready();},false);}else if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);jQuery.ready();}});if(document.documentElement.doScroll&&typeof window.frameElement==="undefined")(function(){if(jQuery.isReady)return;try{document.documentElement.doScroll("left");}catch(error){setTimeout(arguments.callee,0);return;}
+jQuery.ready();})();}
+jQuery.event.add(window,"load",jQuery.ready);}
+jQuery.each(("blur,focus,load,resize,scroll,unload,click,dblclick,"+"mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,"+"change,select,submit,keydown,keypress,keyup,error").split(","),function(i,name){jQuery.fn[name]=function(fn){return fn?this.bind(name,fn):this.trigger(name);};});jQuery(window).bind('unload',function(){for(var id in jQuery.cache)
+if(id!=1&&jQuery.cache[id].handle)
+jQuery.event.remove(jQuery.cache[id].handle.elem);});(function(){jQuery.support={};var root=document.documentElement,script=document.createElement("script"),div=document.createElement("div"),id="script"+(new Date).getTime();div.style.display="none";div.innerHTML='   <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';var all=div.getElementsByTagName("*"),a=div.getElementsByTagName("a")[0];if(!all||!all.length||!a){return;}
+jQuery.support={leadingWhitespace:div.firstChild.nodeType==3,tbody:!div.getElementsByTagName("tbody").length,objectAll:!!div.getElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSerialize:!!div.getElementsByTagName("link").length,style:/red/.test(a.getAttribute("style")),hrefNormalized:a.getAttribute("href")==="/a",opacity:a.style.opacity==="0.5",cssFloat:!!a.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};script.type="text/javascript";try{script.appendChild(document.createTextNode("window."+id+"=1;"));}catch(e){}
+root.insertBefore(script,root.firstChild);if(window[id]){jQuery.support.scriptEval=true;delete window[id];}
+root.removeChild(script);if(div.attachEvent&&div.fireEvent){div.attachEvent("onclick",function(){jQuery.support.noCloneEvent=false;div.detachEvent("onclick",arguments.callee);});div.cloneNode(true).fireEvent("onclick");}
+jQuery(function(){var div=document.createElement("div");div.style.width="1px";div.style.paddingLeft="1px";document.body.appendChild(div);jQuery.boxModel=jQuery.support.boxModel=div.offsetWidth===2;document.body.removeChild(div);});})();var styleFloat=jQuery.support.cssFloat?"cssFloat":"styleFloat";jQuery.props={"for":"htmlFor","class":"className","float":styleFloat,cssFloat:styleFloat,styleFloat:styleFloat,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};jQuery.fn.extend({_load:jQuery.fn.load,load:function(url,params,callback){if(typeof url!=="string")
+return this._load(url);var off=url.indexOf(" ");if(off>=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}
+var type="GET";if(params)
+if(jQuery.isFunction(params)){callback=params;params=null;}else if(typeof params==="object"){params=jQuery.param(params);type="POST";}
+var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified")
+self.html(selector?jQuery("<div/>").append(res.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(selector):res.responseText);if(callback)
+self.each(callback,[res.responseText,status,res]);}});return this;},serialize:function(){return jQuery.param(this.serializeArray());},serializeArray:function(){return this.map(function(){return this.elements?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:jQuery.isArray(val)?jQuery.map(val,function(val,i){return{name:elem.name,value:val};}):{name:elem.name,value:val};}).get();}});jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=now();jQuery.extend({get:function(url,data,callback,type){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:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(s){s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));var jsonp,jsre=/=\?(&|$)/g,status,data,type=s.type.toUpperCase();if(s.data&&s.processData&&typeof s.data!=="string")
+s.data=jQuery.param(s.data);if(s.dataType=="jsonp"){if(type=="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";}
+if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++;if(s.data)
+s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";window[jsonp]=function(tmp){data=tmp;success();complete();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&&type=="GET"){var ts=now();var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"");}
+if(s.data&&type=="GET"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data;s.data=null;}
+if(s.global&&!jQuery.active++)
+jQuery.event.trigger("ajaxStart");var parts=/^(\w+:)?\/\/([^\/?#]+)/.exec(s.url);if(s.dataType=="script"&&type=="GET"&&parts&&(parts[1]&&parts[1]!=location.protocol||parts[2]!=location.host)){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=s.url;if(s.scriptCharset)
+script.charset=s.scriptCharset;if(!jsonp){var done=false;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);return undefined;}
+var requestDone=false;var xhr=s.xhr();if(s.username)
+xhr.open(type,s.url,s.async,s.username,s.password);else
+xhr.open(type,s.url,s.async);try{if(s.data)
+xhr.setRequestHeader("Content-Type",s.contentType);if(s.ifModified)
+xhr.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");xhr.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default);}catch(e){}
+if(s.beforeSend&&s.beforeSend(xhr,s)===false){if(s.global&&!--jQuery.active)
+jQuery.event.trigger("ajaxStop");xhr.abort();return false;}
+if(s.global)
+jQuery.event.trigger("ajaxSend",[xhr,s]);var onreadystatechange=function(isTimeout){if(xhr.readyState==0){if(ival){clearInterval(ival);ival=null;if(s.global&&!--jQuery.active)
+jQuery.event.trigger("ajaxStop");}}else if(!requestDone&&xhr&&(xhr.readyState==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival=null;}
+status=isTimeout=="timeout"?"timeout":!jQuery.httpSuccess(xhr)?"error":s.ifModified&&jQuery.httpNotModified(xhr,s.url)?"notmodified":"success";if(status=="success"){try{data=jQuery.httpData(xhr,s.dataType,s);}catch(e){status="parsererror";}}
+if(status=="success"){var modRes;try{modRes=xhr.getResponseHeader("Last-Modified");}catch(e){}
+if(s.ifModified&&modRes)
+jQuery.lastModified[s.url]=modRes;if(!jsonp)
+success();}else
+jQuery.handleError(s,xhr,status);complete();if(isTimeout)
+xhr.abort();if(s.async)
+xhr=null;}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout>0)
+setTimeout(function(){if(xhr&&!requestDone)
+onreadystatechange("timeout");},s.timeout);}
+try{xhr.send(s.data);}catch(e){jQuery.handleError(s,xhr,null,e);}
+if(!s.async)
+onreadystatechange();function success(){if(s.success)
+s.success(data,status);if(s.global)
+jQuery.event.trigger("ajaxSuccess",[xhr,s]);}
+function complete(){if(s.complete)
+s.complete(xhr,status);if(s.global)
+jQuery.event.trigger("ajaxComplete",[xhr,s]);if(s.global&&!--jQuery.active)
+jQuery.event.trigger("ajaxStop");}
+return xhr;},handleError:function(s,xhr,status,e){if(s.error)s.error(xhr,status,e);if(s.global)
+jQuery.event.trigger("ajaxError",[xhr,s,e]);},active:0,httpSuccess:function(xhr){try{return!xhr.status&&location.protocol=="file:"||(xhr.status>=200&&xhr.status<300)||xhr.status==304||xhr.status==1223;}catch(e){}
+return false;},httpNotModified:function(xhr,url){try{var xhrRes=xhr.getResponseHeader("Last-Modified");return xhr.status==304||xhrRes==jQuery.lastModified[url];}catch(e){}
+return false;},httpData:function(xhr,type,s){var ct=xhr.getResponseHeader("content-type"),xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0,data=xml?xhr.responseXML:xhr.responseText;if(xml&&data.documentElement.tagName=="parsererror")
+throw"parsererror";if(s&&s.dataFilter)
+data=s.dataFilter(data,type);if(typeof data==="string"){if(type=="script")
+jQuery.globalEval(data);if(type=="json")
+data=window["eval"]("("+data+")");}
+return data;},param:function(a){var s=[];function add(key,value){s[s.length]=encodeURIComponent(key)+'='+encodeURIComponent(value);};if(jQuery.isArray(a)||a.jquery)
+jQuery.each(a,function(){add(this.name,this.value);});else
+for(var j in a)
+if(jQuery.isArray(a[j]))
+jQuery.each(a[j],function(){add(j,this);});else
+add(j,jQuery.isFunction(a[j])?a[j]():a[j]);return s.join("&").replace(/%20/g,"+");}});var elemdisplay={},timerId,fxAttrs=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function genFx(type,num){var obj={};jQuery.each(fxAttrs.concat.apply([],fxAttrs.slice(0,num)),function(){obj[this]=type;});return obj;}
+jQuery.fn.extend({show:function(speed,callback){if(speed){return this.animate(genFx("show",3),speed,callback);}else{for(var i=0,l=this.length;i<l;i++){var old=jQuery.data(this[i],"olddisplay");this[i].style.display=old||"";if(jQuery.css(this[i],"display")==="none"){var tagName=this[i].tagName,display;if(elemdisplay[tagName]){display=elemdisplay[tagName];}else{var elem=jQuery("<"+tagName+" />").appendTo("body");display=elem.css("display");if(display==="none")
+display="block";elem.remove();elemdisplay[tagName]=display;}
+this[i].style.display=jQuery.data(this[i],"olddisplay",display);}}
+return this;}},hide:function(speed,callback){if(speed){return this.animate(genFx("hide",3),speed,callback);}else{for(var i=0,l=this.length;i<l;i++){var old=jQuery.data(this[i],"olddisplay");if(!old&&old!=="none")
+jQuery.data(this[i],"olddisplay",jQuery.css(this[i],"display"));this[i].style.display="none";}
+return this;}},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){var bool=typeof fn==="boolean";return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle.apply(this,arguments):fn==null||bool?this.each(function(){var state=bool?fn:jQuery(this).is(":hidden");jQuery(this)[state?"show":"hide"]();}):this.animate(genFx("toggle",3),fn,fn2);},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(){var opt=jQuery.extend({},optall),p,hidden=this.nodeType==1&&jQuery(this).is(":hidden"),self=this;for(p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)
+return opt.complete.call(this);if((p=="height"||p=="width")&&this.style){opt.display=jQuery.css(this,"display");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";if(unit!="px"){self.style[name]=(end||1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit;}
+if(parts[1])
+end=((parts[1]=="-="?-1:1)*end)+start;e.custom(start,end,unit);}else
+e.custom(start,val,"");}});return true;});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue)
+this.queue([]);this.each(function(){for(var i=timers.length-1;i>=0;i--)
+if(timers[i].elem==this){if(gotoEnd)
+timers[i](true);timers.splice(i,1);}});if(!gotoEnd)
+this.dequeue();return this;}});jQuery.each({slideDown:genFx("show",1),slideUp:genFx("hide",1),slideToggle:genFx("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(name,props){jQuery.fn[name]=function(speed,callback){return this.animate(props,speed,callback);};});jQuery.extend({speed:function(speed,easing,fn){var opt=typeof speed==="object"?speed:{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&!jQuery.isFunction(easing)&&easing};opt.duration=jQuery.fx.off?0:typeof opt.duration==="number"?opt.duration:jQuery.fx.speeds[opt.duration]||jQuery.fx.speeds._default;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false)
+jQuery(this).dequeue();if(jQuery.isFunction(opt.old))
+opt.old.call(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:[],fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;if(!options.orig)
+options.orig={};}});jQuery.fx.prototype={update:function(){if(this.options.step)
+this.options.step.call(this.elem,this.now,this);(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style)
+this.elem.style.display="block";},cur:function(force){if(this.elem[this.prop]!=null&&(!this.elem.style||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;},custom:function(from,to,unit){this.startTime=now();this.start=from;this.end=to;this.unit=unit||this.unit||"px";this.now=this.start;this.pos=this.state=0;var self=this;function t(gotoEnd){return self.step(gotoEnd);}
+t.elem=this.elem;if(t()&&jQuery.timers.push(t)==1){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(timerId);}},13);}},show:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.show=true;this.custom(this.prop=="width"||this.prop=="height"?1:0,this.cur());jQuery(this.elem).show();},hide:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0);},step:function(gotoEnd){var t=now();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){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,"display")=="none")
+this.elem.style.display="block";}
+if(this.options.hide)
+jQuery(this.elem).hide();if(this.options.hide||this.options.show)
+for(var p in this.options.curAnim)
+jQuery.attr(this.elem.style,p,this.options.orig[p]);this.options.complete.call(this.elem);}
+return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;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);this.update();}
+return true;}};jQuery.extend(jQuery.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(fx){jQuery.attr(fx.elem.style,"opacity",fx.now);},_default:function(fx){if(fx.elem.style&&fx.elem.style[fx.prop]!=null)
+fx.elem.style[fx.prop]=fx.now+fx.unit;else
+fx.elem[fx.prop]=fx.now;}}});if(document.documentElement["getBoundingClientRect"])
+jQuery.fn.offset=function(){if(!this[0])return{top:0,left:0};if(this[0]===this[0].ownerDocument.body)return jQuery.offset.bodyOffset(this[0]);var box=this[0].getBoundingClientRect(),doc=this[0].ownerDocument,body=doc.body,docElem=doc.documentElement,clientTop=docElem.clientTop||body.clientTop||0,clientLeft=docElem.clientLeft||body.clientLeft||0,top=box.top+(self.pageYOffset||jQuery.boxModel&&docElem.scrollTop||body.scrollTop)-clientTop,left=box.left+(self.pageXOffset||jQuery.boxModel&&docElem.scrollLeft||body.scrollLeft)-clientLeft;return{top:top,left:left};};else
+jQuery.fn.offset=function(){if(!this[0])return{top:0,left:0};if(this[0]===this[0].ownerDocument.body)return jQuery.offset.bodyOffset(this[0]);jQuery.offset.initialized||jQuery.offset.initialize();var elem=this[0],offsetParent=elem.offsetParent,prevOffsetParent=elem,doc=elem.ownerDocument,computedStyle,docElem=doc.documentElement,body=doc.body,defaultView=doc.defaultView,prevComputedStyle=defaultView.getComputedStyle(elem,null),top=elem.offsetTop,left=elem.offsetLeft;while((elem=elem.parentNode)&&elem!==body&&elem!==docElem){computedStyle=defaultView.getComputedStyle(elem,null);top-=elem.scrollTop,left-=elem.scrollLeft;if(elem===offsetParent){top+=elem.offsetTop,left+=elem.offsetLeft;if(jQuery.offset.doesNotAddBorder&&!(jQuery.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(elem.tagName)))
+top+=parseInt(computedStyle.borderTopWidth,10)||0,left+=parseInt(computedStyle.borderLeftWidth,10)||0;prevOffsetParent=offsetParent,offsetParent=elem.offsetParent;}
+if(jQuery.offset.subtractsBorderForOverflowNotVisible&&computedStyle.overflow!=="visible")
+top+=parseInt(computedStyle.borderTopWidth,10)||0,left+=parseInt(computedStyle.borderLeftWidth,10)||0;prevComputedStyle=computedStyle;}
+if(prevComputedStyle.position==="relative"||prevComputedStyle.position==="static")
+top+=body.offsetTop,left+=body.offsetLeft;if(prevComputedStyle.position==="fixed")
+top+=Math.max(docElem.scrollTop,body.scrollTop),left+=Math.max(docElem.scrollLeft,body.scrollLeft);return{top:top,left:left};};jQuery.offset={initialize:function(){if(this.initialized)return;var body=document.body,container=document.createElement('div'),innerDiv,checkDiv,table,td,rules,prop,bodyMarginTop=body.style.marginTop,html='<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';rules={position:'absolute',top:0,left:0,margin:0,border:0,width:'1px',height:'1px',visibility:'hidden'};for(prop in rules)container.style[prop]=rules[prop];container.innerHTML=html;body.insertBefore(container,body.firstChild);innerDiv=container.firstChild,checkDiv=innerDiv.firstChild,td=innerDiv.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(checkDiv.offsetTop!==5);this.doesAddBorderForTableAndCells=(td.offsetTop===5);innerDiv.style.overflow='hidden',innerDiv.style.position='relative';this.subtractsBorderForOverflowNotVisible=(checkDiv.offsetTop===-5);body.style.marginTop='1px';this.doesNotIncludeMarginInBodyOffset=(body.offsetTop===0);body.style.marginTop=bodyMarginTop;body.removeChild(container);this.initialized=true;},bodyOffset:function(body){jQuery.offset.initialized||jQuery.offset.initialize();var top=body.offsetTop,left=body.offsetLeft;if(jQuery.offset.doesNotIncludeMarginInBodyOffset)
+top+=parseInt(jQuery.curCSS(body,'marginTop',true),10)||0,left+=parseInt(jQuery.curCSS(body,'marginLeft',true),10)||0;return{top:top,left:left};}};jQuery.fn.extend({position:function(){var left=0,top=0,results;if(this[0]){var offsetParent=this.offsetParent(),offset=this.offset(),parentOffset=/^body|html$/i.test(offsetParent[0].tagName)?{top:0,left:0}:offsetParent.offset();offset.top-=num(this,'marginTop');offset.left-=num(this,'marginLeft');parentOffset.top+=num(offsetParent,'borderTopWidth');parentOffset.left+=num(offsetParent,'borderLeftWidth');results={top:offset.top-parentOffset.top,left:offset.left-parentOffset.left};}
+return results;},offsetParent:function(){var offsetParent=this[0].offsetParent||document.body;while(offsetParent&&(!/^body|html$/i.test(offsetParent.tagName)&&jQuery.css(offsetParent,'position')=='static'))
+offsetParent=offsetParent.offsetParent;return jQuery(offsetParent);}});jQuery.each(['Left','Top'],function(i,name){var method='scroll'+name;jQuery.fn[method]=function(val){if(!this[0])return null;return val!==undefined?this.each(function(){this==window||this==document?window.scrollTo(!i?val:jQuery(window).scrollLeft(),i?val:jQuery(window).scrollTop()):this[method]=val;}):this[0]==window||this[0]==document?self[i?'pageYOffset':'pageXOffset']||jQuery.boxModel&&document.documentElement[method]||document.body[method]:this[0][method];};});jQuery.each(["Height","Width"],function(i,name){var tl=i?"Left":"Top",br=i?"Right":"Bottom";jQuery.fn["inner"+name]=function(){return this[name.toLowerCase()]()+
+num(this,"padding"+tl)+
+num(this,"padding"+br);};jQuery.fn["outer"+name]=function(margin){return this["inner"+name]()+
+num(this,"border"+tl+"Width")+
+num(this,"border"+br+"Width")+
+(margin?num(this,"margin"+tl)+num(this,"margin"+br):0);};var type=name.toLowerCase();jQuery.fn[type]=function(size){return this[0]==window?document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(document.documentElement["client"+name],document.body["scroll"+name],document.documentElement["scroll"+name],document.body["offset"+name],document.documentElement["offset"+name]):size===undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,typeof size==="string"?size:size+"px");};});})();(function($){$.fn.ajaxSubmit=function(options){if(!this.length){log('ajaxSubmit: skipping submit process - no element selected');return this;}
+if(typeof options=='function')
+options={success:options};options=$.extend({url:this.attr('action')||window.location.toString(),type:this.attr('method')||'GET'},options||{});var veto={};this.trigger('form-pre-serialize',[this,options,veto]);if(veto.veto){log('ajaxSubmit: submit vetoed via form-pre-serialize trigger');return this;}
+var a=this.formToArray(options.semantic);if(options.data){options.extraData=options.data;for(var n in options.data)
+a.push({name:n,value:options.data[n]});}
+if(options.beforeSubmit&&options.beforeSubmit(a,this,options)===false){log('ajaxSubmit: submit aborted via beforeSubmit callback');return this;}
+this.trigger('form-submit-validate',[a,this,options,veto]);if(veto.veto){log('ajaxSubmit: submit vetoed via form-submit-validate trigger');return this;}
+var q=$.param(a);if(options.type.toUpperCase()=='GET'){options.url+=(options.url.indexOf('?')>=0?'&':'?')+q;options.data=null;}
+else
+options.data=q;var $form=this,callbacks=[];if(options.resetForm)callbacks.push(function(){$form.resetForm();});if(options.clearForm)callbacks.push(function(){$form.clearForm();});if(!options.dataType&&options.target){var oldSuccess=options.success||function(){};callbacks.push(function(data){$(options.target).html(data).each(oldSuccess,arguments);});}
+else if(options.success)
+callbacks.push(options.success);options.success=function(data,status){for(var i=0,max=callbacks.length;i<max;i++)
+callbacks[i](data,status,$form);};var files=$('input:file',this).fieldValue();var found=false;for(var j=0;j<files.length;j++)
+if(files[j])
+found=true;if(options.iframe||found){if($.browser.safari&&options.closeKeepAlive)
+$.get(options.closeKeepAlive,fileUpload);else
+fileUpload();}
+else
+$.ajax(options);this.trigger('form-submit-notify',[this,options]);return this;function fileUpload(){var form=$form[0];if($(':input[@name=submit]',form).length){alert('Error: Form elements must not be named "submit".');return;}
+var opts=$.extend({},$.ajaxSettings,options);var id='jqFormIO'+(new Date().getTime());var $io=$('<iframe id="'+id+'" name="'+id+'" />');var io=$io[0];if($.browser.msie||$.browser.opera)
+io.src='javascript:false;document.write("");';$io.css({position:'absolute',top:'-1000px',left:'-1000px'});var xhr={responseText:null,responseXML:null,status:0,statusText:'n/a',getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){}};var g=opts.global;if(g&&!$.active++)$.event.trigger("ajaxStart");if(g)$.event.trigger("ajaxSend",[xhr,opts]);var cbInvoked=0;var timedOut=0;var sub=form.clk;if(sub){var n=sub.name;if(n&&!sub.disabled){options.extraData=options.extraData||{};options.extraData[n]=sub.value;if(sub.type=="image"){options.extraData[name+'.x']=form.clk_x;options.extraData[name+'.y']=form.clk_y;}}}
+setTimeout(function(){var t=$form.attr('target'),a=$form.attr('action');$form.attr({target:id,encoding:'multipart/form-data',enctype:'multipart/form-data',method:'POST',action:opts.url});if(opts.timeout)
+setTimeout(function(){timedOut=true;cb();},opts.timeout);var extraInputs=[];try{if(options.extraData)
+for(var n in options.extraData)
+extraInputs.push($('<input type="hidden" name="'+n+'" value="'+options.extraData[n]+'" />').appendTo(form)[0]);$io.appendTo('body');io.attachEvent?io.attachEvent('onload',cb):io.addEventListener('load',cb,false);form.submit();}
+finally{$form.attr('action',a);t?$form.attr('target',t):$form.removeAttr('target');$(extraInputs).remove();}},10);function cb(){if(cbInvoked++)return;io.detachEvent?io.detachEvent('onload',cb):io.removeEventListener('load',cb,false);var operaHack=0;var ok=true;try{if(timedOut)throw'timeout';var data,doc;doc=io.contentWindow?io.contentWindow.document:io.contentDocument?io.contentDocument:io.document;if(doc.body==null&&!operaHack&&$.browser.opera){operaHack=1;cbInvoked--;setTimeout(cb,100);return;}
+xhr.responseText=doc.body?doc.body.innerHTML:null;xhr.responseXML=doc.XMLDocument?doc.XMLDocument:doc;xhr.getResponseHeader=function(header){var headers={'content-type':opts.dataType};return headers[header];};if(opts.dataType=='json'||opts.dataType=='script'){var ta=doc.getElementsByTagName('textarea')[0];xhr.responseText=ta?ta.value:xhr.responseText;}
+else if(opts.dataType=='xml'&&!xhr.responseXML&&xhr.responseText!=null){xhr.responseXML=toXml(xhr.responseText);}
+data=$.httpData(xhr,opts.dataType);}
+catch(e){ok=false;$.handleError(opts,xhr,'error',e);}
+if(ok){opts.success(data,'success');if(g)$.event.trigger("ajaxSuccess",[xhr,opts]);}
+if(g)$.event.trigger("ajaxComplete",[xhr,opts]);if(g&&!--$.active)$.event.trigger("ajaxStop");if(opts.complete)opts.complete(xhr,ok?'success':'error');setTimeout(function(){$io.remove();xhr.responseXML=null;},100);};function toXml(s,doc){if(window.ActiveXObject){doc=new ActiveXObject('Microsoft.XMLDOM');doc.async='false';doc.loadXML(s);}
+else
+doc=(new DOMParser()).parseFromString(s,'text/xml');return(doc&&doc.documentElement&&doc.documentElement.tagName!='parsererror')?doc:null;};};};$.fn.ajaxForm=function(options){return this.ajaxFormUnbind().bind('submit.form-plugin',function(){$(this).ajaxSubmit(options);return false;}).each(function(){$(":submit,input:image",this).bind('click.form-plugin',function(e){var $form=this.form;$form.clk=this;if(this.type=='image'){if(e.offsetX!=undefined){$form.clk_x=e.offsetX;$form.clk_y=e.offsetY;}else if(typeof $.fn.offset=='function'){var offset=$(this).offset();$form.clk_x=e.pageX-offset.left;$form.clk_y=e.pageY-offset.top;}else{$form.clk_x=e.pageX-this.offsetLeft;$form.clk_y=e.pageY-this.offsetTop;}}
+setTimeout(function(){$form.clk=$form.clk_x=$form.clk_y=null;},10);});});};$.fn.ajaxFormUnbind=function(){this.unbind('submit.form-plugin');return this.each(function(){$(":submit,input:image",this).unbind('click.form-plugin');});};$.fn.formToArray=function(semantic){var a=[];if(this.length==0)return a;var form=this[0];var els=semantic?form.getElementsByTagName('*'):form.elements;if(!els)return a;for(var i=0,max=els.length;i<max;i++){var el=els[i];var n=el.name;if(!n)continue;if(semantic&&form.clk&&el.type=="image"){if(!el.disabled&&form.clk==el)
+a.push({name:n+'.x',value:form.clk_x},{name:n+'.y',value:form.clk_y});continue;}
+var v=$.fieldValue(el,true);if(v&&v.constructor==Array){for(var j=0,jmax=v.length;j<jmax;j++)
+a.push({name:n,value:v[j]});}
+else if(v!==null&&typeof v!='undefined')
+a.push({name:n,value:v});}
+if(!semantic&&form.clk){var inputs=form.getElementsByTagName("input");for(var i=0,max=inputs.length;i<max;i++){var input=inputs[i];var n=input.name;if(n&&!input.disabled&&input.type=="image"&&form.clk==input)
+a.push({name:n+'.x',value:form.clk_x},{name:n+'.y',value:form.clk_y});}}
+return a;};$.fn.formSerialize=function(semantic){return $.param(this.formToArray(semantic));};$.fn.fieldSerialize=function(successful){var a=[];this.each(function(){var n=this.name;if(!n)return;var v=$.fieldValue(this,successful);if(v&&v.constructor==Array){for(var i=0,max=v.length;i<max;i++)
+a.push({name:n,value:v[i]});}
+else if(v!==null&&typeof v!='undefined')
+a.push({name:this.name,value:v});});return $.param(a);};$.fn.fieldValue=function(successful){for(var val=[],i=0,max=this.length;i<max;i++){var el=this[i];var v=$.fieldValue(el,successful);if(v===null||typeof v=='undefined'||(v.constructor==Array&&!v.length))
+continue;v.constructor==Array?$.merge(val,v):val.push(v);}
+return val;};$.fieldValue=function(el,successful){var n=el.name,t=el.type,tag=el.tagName.toLowerCase();if(typeof successful=='undefined')successful=true;if(successful&&(!n||el.disabled||t=='reset'||t=='button'||(t=='checkbox'||t=='radio')&&!el.checked||(t=='submit'||t=='image')&&el.form&&el.form.clk!=el||tag=='select'&&el.selectedIndex==-1))
+return null;if(tag=='select'){var index=el.selectedIndex;if(index<0)return null;var a=[],ops=el.options;var one=(t=='select-one');var max=(one?index+1:ops.length);for(var i=(one?index:0);i<max;i++){var op=ops[i];if(op.selected){var v=$.browser.msie&&!(op.attributes['value'].specified)?op.text:op.value;if(one)return v;a.push(v);}}
+return a;}
+return el.value;};$.fn.clearForm=function(){return this.each(function(){$('input,select,textarea',this).clearFields();});};$.fn.clearFields=$.fn.clearInputs=function(){return this.each(function(){var t=this.type,tag=this.tagName.toLowerCase();if(t=='text'||t=='password'||tag=='textarea')
+this.value='';else if(t=='checkbox'||t=='radio')
+this.checked=false;else if(tag=='select')
+this.selectedIndex=-1;});};$.fn.resetForm=function(){return this.each(function(){if(typeof this.reset=='function'||(typeof this.reset=='object'&&!this.reset.nodeType))
+this.reset();});};$.fn.enable=function(b){if(b==undefined)b=true;return this.each(function(){this.disabled=!b});};$.fn.select=function(select){if(select==undefined)select=true;return this.each(function(){var t=this.type;if(t=='checkbox'||t=='radio')
+this.checked=select;else if(this.tagName.toLowerCase()=='option'){var $sel=$(this).parent('select');if(select&&$sel[0]&&$sel[0].type=='select-one'){$sel.find('option').select(false);}
+this.selected=select;}});};function log(){if($.fn.ajaxSubmit.debug&&window.console&&window.console.log)
+window.console.log('[jquery.form] '+Array.prototype.join.call(arguments,''));};})(jQuery);var TO_LOAD_INDEX=0;var TO_LOAD=new Array;var MARKITUP=false;var UNBIND=false;$(function(){load_jquery();});function load_jquery(){if(UNBIND){if(MARKITUP){$("*").not(".markItUpButton").unbind();}else{$("*").unbind();}}
+UNBIND=true;$("a.submit").click(function(){$(this).parents("form").submit();return false;});$("a.submitWait").click(function(){$(this).parents("form").after('<p class="center">'+$(this).attr('title')+'<br /><br /><img src="'+IMG_CUBE+'/loader.gif" /></p>');$(this).parents("form").submit();$(this).parents("form").hide();return false;});$("form").submit(function(){$(this).attr('change','0');return true;});$("form.blank").each(function(){$(this).attr('target','_blank');$(this).removeClass('_blank');});$("form").not(".notajax").submit(function(){display_loader();$(this).ajaxSubmit({url:SITE_PATH+'ajax/'+$(this).attr('action'),success:function(data){MyAjax(data);}});return false;});$(".notajax form").unbind();$("form.submitonchange :input").each(function(){$(this).one('change',function(){$(this).parents("form").submit();});});$(":input").change(function(){$(this).parents("form").attr("change",1);});$("a.ajax").click(function(){var title=$(this).attr('title');var href=$(this).attr('rel');if(title!=''&&title!=undefined&&title.search(/\?/)>-1){if(!window.confirm(title)){return false;}}
+if($(this).hasClass('wait')){wait();}
+display_loader();$.ajax({url:SITE_PATH+'ajax/'+href,success:function(data){MyAjax(data);}});return false;});$("a.dajax").dblclick(function(){var title=$(this).attr('title');var href=$(this).attr('rel');if(title!=''&&title!=undefined&&title.search(/\?/)>=0){if(!window.confirm(title)){return false;}}
+display_loader();$.ajax({url:SITE_PATH+'ajax/'+href,success:function(data){MyAjax(data);}});return false;});$("a.ajaxh").click(function(){var title=$(this).attr('title');var href=$(this).attr('href');if(title!=''&&title!=undefined&&title.search(/\?/)>=0){if(!window.confirm(title)){return false;}}
+display_loader();$.ajax({url:href,success:function(data){MyAjax(data);}});return false;});$("a.prompt").click(function(){var href=$(this).attr('rel');var defaut=$(this).attr('rev');var name=window.prompt($(this).attr('title'),defaut);if(name==null||name=='null'||name==''){return false;}
+display_loader();$.ajax({url:SITE_PATH+'ajax/'+href+'?var='+name,success:function(data){MyAjax(data);}});return false;});$("a.closePopup").click(function(){closePopup($(this),true);return false;});$("a.closePopupNotConfirm").click(function(){closePopup($(this),false);return false;});$("a.popup").click(function(){display_loader();$.ajax({url:SITE_PATH+'ajax/'+$(this).attr('rel'),dataType:'responseText',success:function(data){createPopup(data);}});remove_loader();return false;});$("a.changepopup").click(function(){display_loader();$.ajax({url:SITE_PATH+'ajax/'+$(this).attr('rel'),dataType:'responseText',success:function(data){changepopup(data);load_jquery();}});remove_loader();return false;});$("a.blank").click(function(){$(this).attr('target','_blank');return true;});$("a.nothing").click(function(){return false;});$(".pemail").each(function(){var protected=$(this).text();var adresse=rot13(protected);$(this).text(adresse);$(this).attr('href','mailto:'+adresse);$(this).removeClass('pemail');});var len=TO_LOAD.length;for(var i=0;i<len;i++){eval(TO_LOAD[i]);}
+__fixPNG();if($("#jquery_time").length>0&&$("#jquery_time").text()==''){var E=new Date();var m=(parseInt(E-S)/1000).toString().replace('.',',');$("#jquery_time").text(m);}}
+function randval(min,max){var diff=max-min;return Math.round(Math.random()*diff)+diff;}
+function rot(t,u,v){return String.fromCharCode(((t-u+v)%(v*2))+u);}
+function rot13(s){var b=[],c,i=s.length,a='a'.charCodeAt(),z=a+26,A='A'.charCodeAt(),Z=A+26;while(i--){c=s.charCodeAt(i);if(c>=a&&c<z){b[i]=rot(c,a,13);}else if(c>=A&&c<Z){b[i]=rot(c,A,13);}else{b[i]=s.charAt(i);}}
+return b.join('');}
+function createPopup(data){POPUP_COUNTER=parseInt(POPUP_COUNTER);$("body").append('<div id="pl_'+POPUP_COUNTER+'" class="popupLayer"><div class="popupOverlay" id="po_'+POPUP_COUNTER+'" style="z-index:'+(1000+POPUP_COUNTER*2)+';"></div><div id="pw_'+POPUP_COUNTER+'" class="popupWindow" style="z-index:'+(1001+POPUP_COUNTER*2)+';"></div></div>');$("#po_"+POPUP_COUNTER).css('opacity',0.65);$("#po_"+POPUP_COUNTER).css('display','block');$("#pw_"+POPUP_COUNTER).html(data);$("#pw_"+POPUP_COUNTER).show();popup_dimensions(POPUP_COUNTER);load_jquery();POPUP_COUNTER+=1;}
+function closePopup(object,confirm){if(object==undefined||object==null){var i=$(".popupLayer").length-1;var elements=$(".popupLayer").get();var e=elements[i];var changes=false;$(this).find("form").each(function(){if($(this).attr("change")==1){changes=true;}});if(confirm==false||(changes==true&&window.confirm(CONFIRM_CLOSE))||changes==false){$(e).remove();POPUP_COUNTER-=1;popup_dimensions();}}else{$(object).parents(".popupLayer").each(function(){var changes=false;$(this).find("form").each(function(){if($(this).attr("change")==1){changes=true;}});if(confirm==false||(changes==true&&window.confirm(CONFIRM_CLOSE))||changes==false){$(this).remove();POPUP_COUNTER-=1;popup_dimensions();}});}}
+function popup_dimensions(i){if(i==undefined){i=POPUP_COUNTER-1;}
+if(i<0){return;}
+var margin=30;var mh=$(window).height()-(margin*2);if(!$.browser.msie){$("#pw_"+i).css("opacity",0);}
+$("#pw_"+i+" .c>div").css("overflow-y",'auto');$("#pw_"+i+" .c>div").css("overflow-x",'visible');$("#pw_"+i+" .c>div").css("max-height",mh);$("#pw_"+i).css("left",($(window).width()-$("#pw_"+i).width())/2);if($("#pw_"+i+" .c>div").attr('top')){$("#pw_"+i).css("top",parseInt($("#pw_"+i+" .c>div").attr('top')));}else{var top=(mh-$("#pw_"+i).height())/2+margin;$("#pw_"+i).css("top",top);}
+if(!$.browser.msie){$("#pw_"+i).css("opacity",1);}}
+function changepopup(data){var pc=POPUP_COUNTER-1;$("#pw_"+pc).html(data);popup_dimensions(pc);}
+function checkUpload(){if($.browser.msie){var iframe=uploadIframe.document;}else{var uploadIframe=document.getElementById('uploadIframe');var iframe=uploadIframe.contentDocument;}
+if(iframe.getElementById('status')!=undefined&&iframe.contentDocument.getElementById('status').innerHTML!=undefined){clearInterval(INTERVAL);$.ajax({url:UPDATE,success:function(data){MyAjax(data);}});if(iframe.getElementById('status').innerHTML!='ok'){window.alert(ERREUR_FICHIER+' : \n'+iframe.getElementById('status').innerHTML);}
+if(POPUP_COUNTER>0){closePopup(null,false);}
+$("#uploadIframe").remove();}}
+function isSet(i){return(i==null||i=='null'||i==''||i=='undefined');}
+function callAjaxSwf(urlLink){$.ajax({url:urlLink,success:function(data){MyAjax(data);}});}
+function swfAjax(data){MyAjax(strToXML(data));}
+function MyAjax(data,reload){var error=new Array();var confirmation='';var ok=true;var t=$(data).children('rsp').children().get();for(var i=0;i<t.length;i++){var e=t[i];var name=e.nodeName;if(name=='confirmation'){var contentconfirm=$(e).text();confirmation+="<p>"+contentconfirm+"</p>";}else if(name=='error'){var errors=$(e).children().get();for(var j=0;j<errors.length;j++){var err=errors[j];var ename=err.nodeName;var econtent=$(err).text();$("#"+ename).addClass('error');$("#"+ename).val('');error.push(econtent);ok=false;}}else if(name=='content'){var contents=$(e).children().get();for(var k=0;k<contents.length;k++){var content=contents[k];var cname=content.nodeName;var ccontent=$(content).text();if(ccontent==''){$("#"+cname).html(ccontent);}else{$("#"+cname).html(ccontent);}
+if(POPUP_COUNTER-1>=0){popup_dimensions(POPUP_COUNTER-1);}}}else if(name=='replace'){var contents=$(e).children().get();for(var k=0;k<contents.length;k++){var content=contents[k];var cname=content.nodeName;var ccontent=$(content).text();if(ccontent==''){$("#"+cname).replaceWith(ccontent);}else{$("#"+cname).replaceWith(ccontent);}
+if(POPUP_COUNTER-1>=0){popup_dimensions(POPUP_COUNTER-1);}}}else if(name=='append'){var contents=$(e).children().get();for(var k=0;k<contents.length;k++){var content=contents[k];var cname=content.nodeName;var ccontent=$(content).text();if(ccontent==''){$("#"+cname).append(ccontent);}else{$("#"+cname).append(ccontent);}
+if(POPUP_COUNTER-1>=0){popup_dimensions(POPUP_COUNTER-1);}}}else if(name=='param'){var ids=$(e).children().get();for(var p=0;p<ids.length;p++){var id=ids[p];var idname=id.nodeName;var params=$(id).children().get();var o={};for(var q=0;q<params.length;q++){var param=params[q];var paramname=param.nodeName;var paramcontent=$(param).text();o[paramname]=paramcontent;}
+$("#"+idname).attr(o);$("#"+idname).parents("form").unbind('submit');}}else if(name=='alert'){var alerts=$(e).children().get();for(var r=0;r<alerts.length;r++){var alert=alerts[r];var acontent=$(alert).text();window.alert(acontent);}}else if(name=='ok'){var oks=$(e).children().get();for(var l=0;l<oks.length;l++){var ok=oks[l];var oname=ok.nodeName.toLowerCase();$("#"+oname).removeClass('error');}}else if(name=='redirection'){var url=$(e).text();window.location=url;}else if(name=='show'){var oks=$(e).children().get();for(var l=0;l<oks.length;l++){var ok=oks[l];var oname=ok.nodeName;$("#"+oname).show('fast');}}else if(name=='debug'){}else if(name=='eval'){var codes=$(e).children().get();for(var r=0;r<codes.length;r++){var code=codes[r];eval($(code).text());}}else if(name=='closepopup'){var closes=$(e).children().get();for(var cp=0;cp<closes.length;cp++){closePopup(null,false);}}else if(name=='openpopup'){var opens=$(e).children().get();for(var op=0;op<opens.length;op++){var cont=opens[op];createPopup($(cont).text());}}else if(name=='changepopup'){var changes=$(e).children().get();for(var cp=0;cp<changes.length;cp++){var cont=changes[cp];changepopup($(cont).text());}}
+else if(name=='popupdimensions'){popup_dimensions();}
+else if(name=='truepopup'){var trues=$(e).children().get();for(var tp=0;tp<trues.length;tp++){var cont=trues[tp];truePopup($(cont).text());}}else if(name=='timer'){var time=parseInt($(e).text());var t=setTimeout("doNothing()",time);}else if(name=='value'){var values=$(e).children().get();for(var v=0;v<values.length;v++){var node=values[v];var oname=node.nodeName;var val=$("#"+oname).val($(node).text());}}}
+if(error.length>0){$("#message").html(error.join('<br />'));}else{$("#message").html('');}
+if(confirmation!=''){$("#confirmation").html(confirmation);$("#confirmation").animate({height:26,opacity:1},2000,function(){$("#confirmation").fadeTo(10000,1,function(){$("#confirmation").animate({height:0,opacity:0},2000);$("#confirmation").empty();});});}
+if(reload==true||reload==undefined){load_jquery();}
+remove_loader();return ok;}
+function truePopup(url){var rand=Math.round(Math.random()*200);window.open(url,'Popup'+rand,'width='+window.width+',height='+window.height);}
+function _fixPNG(){var png;var images=$('img[src*="png"]:not([fixed="fixed"])');images.each(function(){png=$(this).attr('src');$(this).attr('src',IMG_CUBE+'/spacer.gif');$(this).css('filter',"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+png+"')");$(this).attr('fixed','fixed');});}
+function __fixPNG(){if($.browser.msie&&parseInt(navigator.userAgent.match(/MSIE (\d+(?:\.\d+)+(?:b\d*)?)/)[1])<=6){_fixPNG();}}
+function getWindowHeight(){var windowHeight=0;if(typeof(window.innerHeight)=='number'){windowHeight=window.innerHeight;}
+else{if(document.documentElement&&document.documentElement.clientHeight){windowHeight=document.documentElement.clientHeight;}
+else{if(document.body&&document.body.clientHeight){windowHeight=document.body.clientHeight;}}}
+return windowHeight;}
+function getWindowWidth(){var myWidth=0;if(typeof(window.innerWidth)=='number'){myWidth=window.innerWidth;}
+else if(document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight)){myWidth=document.documentElement.clientWidth;}
+else if(document.body&&(document.body.clientWidth||document.body.clientHeight)){myWidth=document.body.clientWidth;}
+return myWidth;}
+function doNothing(){}
+function htmlEditorGetText(id){var text=document.getElementById(id).value;return'<TEXTFORMAT LEADING="2"><P ALIGN="LEFT">'+text+'</P></TEXTFORMAT>';}
+function htmlEditorPutText(id,text){document.getElementById(id).value=text;}
+function display_loader(){if(LOADER_AJAX==''){}else{$("body").append('<div id="loader"><img src="'+LOADER_AJAX+'" /></div>');}}
+function remove_loader(){if(LOADER_AJAX==''){}else{$("#loader").remove();}}
+function URLEncode(clearString){var output='';var x=0;clearString=clearString.toString();var regex=/(^[a-zA-Z0-9_.]*)/;while(x<clearString.length){var match=regex.exec(clearString.substr(x));if(match!=null&&match.length>1&&match[1]!=''){output+=match[1];x+=match[1].length;}else{if(clearString[x]==' ')
+output+='+';else{var charCode=clearString.charCodeAt(x);var hexVal=charCode.toString(16);output+='%'+(hexVal.length<2?'0':'')+hexVal.toUpperCase();}
+x++;}}
+return output;}
+function strToXML(str){var contentType='application/xml';if(typeof(DOMParser)!='undefined'){return(new DOMParser()).parseFromString(str.substr(0,4095),contentType);}else if(typeof(ActiveXObject)!='undefined'){var xmldata=new ActiveXObject('MSXML.DomDocument');xmldata.async=false;xmldata.loadXML(str);return xmldata;}else if(typeof(XMLHttpRequest)!='undefined'){var xmldata=new XMLHttpRequest;if(!contentType){contentType='application/xml';}
+xmldata.open('GET','data:'+contentType+';charset=utf-8,'+encodeURIComponent(str),false);if(xmldata.overrideMimeType){xmldata.overrideMimeType(contentType);}
+xmldata.send(null);return xmldata.responseXML;}}
+TO_LOAD_INDEX++;TO_LOAD[TO_LOAD_INDEX]='load_extranet();';FIRST_LOAD=true;function load_extranet(){if($("#devisAdresse #client_nom").length){$("#devisAdresse #client_nom").autocomplete(SITE_PATH+'autocomplete/client',{cacheLength:0,maxItemsToShow:15,onFindValue:findClient,onItemSelect:findClient});}
+if($("#factureAdresse #projet_nom").length){$("#factureAdresse #projet_nom").autocomplete(SITE_PATH+'autocomplete/projet',{cacheLength:0,maxItemsToShow:15,onFindValue:findProjet,onItemSelect:findProjet});}
+if($(".dashboard").length>=1&&$("#dash").length>=1){$("#dash").sortable('destroy');if(FIRST_LOAD){FIRST_LOAD=false;}else{FIRST_LOAD=true;$.ajax({url:SITE_PATH+'ajax/reloadDashboards',success:function(data){MyAjax(data)}});}
+$("#dash").sortable({opacity:0.6,axis:"y",handle:".caption",stop:function(e,ui){$.ajax({url:SITE_PATH+'ajax/orderDashboards?'+$("#dash").sortable('serialize'),});resize();}});}
+$(".timereport_field").change(function(){var val=parseInt($(this).val());if(isNaN(val)){val=0;}
+var f=this;var id=$(this).attr('id');var a=id.split('_');$.ajax({url:SITE_PATH+'ajax/saveTimereport/'+a[1]+'/'+a[2]+'/'+val,success:function(data){FIRST_LOAD=true;MyAjax(data);var td=$(f).parents('td').get(0);if(parseFloat($(f).val())>0){$(td).addClass('filled');}else{$(td).removeClass('filled');}}});});$("#dash .toggle").click(function(){var rel=$(this).attr('rel');var div=$(this).parents('.dashboard').get(0);var liste=$(div).find('.liste');$(liste).slideToggle('fast',function(){resize();});$(this).toggleClass('close');$.ajax({url:SITE_PATH+'ajax/toggleDashboard/'+rel,});return false;});$(".filtre .bt").click(function(){var ul=$(this).parent().parent().children('ul');$(ul).slideToggle('fast');return false;});$(".filtre ul").click(function(e){if(e.target.nodeName=='INPUT'||e.target.nodeName=='LABEL'){return true;}
+$(this).slideToggle('fast');});$(".filtre span").click(function(){var ul=$(this).parent().children('ul');$(ul).slideToggle('fast');});$(".filtre input").change(function(){var form=$(this).parents('form').get(0);var uls=$(form).find("ul");var divs=$(form).find(".input");var spans=$(form).find("span");var i,j,k,ul,lis,li,input,label,checked,div,titre,t,t1,allc,inputs;for(i=0;i<uls.length;i++){div=divs[i];titre=Array();ul=uls[i];lis=$(ul).children("li");allc=$(lis).get(0);checked=0;for(j=1;j<lis.length;j++){li=lis[j];input=$(li).find('input').get(0);label=$(li).find('label').get(0);if(input.checked){checked++;titre.push($(label).text());}}
+if(checked==0){$(div).find('span').text($(allc).text());$(div).find('a').attr('title',$(allc).text());$(div).removeClass('active');inputs=$(ul).find('input');for(k=0;k<inputs.length;k++){inputs[k].checked=true;}}else if(checked==lis.length-1){$(div).find('span').text($(allc).text());$(div).find('a').attr('title',$(allc).text());$(div).removeClass('active');}else{t=titre.join(', ');if(t.length>20){t1=t.substr(0,16)+'...';}else{t1=t;}
+$(div).find('span').text(t1);$(div).find('a').attr('title',t);$(div).addClass('active');}}
+return true;});$(window).resize(function(){resize();});resize();}
+function resize(){var allh=$("#header").height()+$("#footer").height()+$("#bar").height()+$("#main .content").height()+13+30;var h=Math.max($(window).height(),allh);var mh=h-$("#header").height()-$("#footer").height()-$("#bar").height()-30-13;mh=Math.max(mh,450);$("#main").css('height',mh);}
+function findClient(li){var client=li.selectValue.split(' - ');if(client.length<=1){return;}
+var client_id=parseInt(client[0]);$("#client").val(client_id);$.ajax({url:SITE_PATH+'ajax/getAdresseForDevis/'+client_id,success:function(data){MyAjax(data);}});}
+function findProjet(li){var projet=li.selectValue.split(' - ');if(projet.length<=1){return;}
+var projet_id=parseInt(projet[0]);$("#projet").val(projet_id);$.ajax({url:SITE_PATH+'ajax/getAdresseForFacture/'+projet_id,success:function(data){MyAjax(data);}});}
+function refreshFiles(){$.ajax({url:SITE_PATH+'ajax/refreshFichiers',success:function(data){MyAjax(data);}});}
\ No newline at end of file
diff --git a/js/merged-ab8f61.js b/js/merged-ab8f61.js
new file mode 100644 (file)
index 0000000..87a6e5d
--- /dev/null
@@ -0,0 +1,548 @@
+
+(function(){var _jQuery=window.jQuery,_$=window.$;var jQuery=window.jQuery=window.$=function(selector,context){return new jQuery.fn.init(selector,context);};var quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/,isSimple=/^.[^:#\[\.]*$/,undefined;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;return this;}
+if(typeof selector=="string"){var match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1])
+selector=jQuery.clean([match[1]],context);else{var elem=document.getElementById(match[3]);if(elem){if(elem.id!=match[3])
+return jQuery().find(selector);return jQuery(elem);}
+selector=[];}}else
+return jQuery(context).find(selector);}else if(jQuery.isFunction(selector))
+return jQuery(document)[jQuery.fn.ready?"ready":"load"](selector);return this.setArray(jQuery.makeArray(selector));},jquery:"1.2.6",size:function(){return this.length;},length:0,get:function(num){return num==undefined?jQuery.makeArray(this):this[num];},pushStack:function(elems){var ret=jQuery(elems);ret.prevObject=this;return ret;},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elems);return this;},each:function(callback,args){return jQuery.each(this,callback,args);},index:function(elem){var ret=-1;return jQuery.inArray(elem&&elem.jquery?elem[0]:elem,this);},attr:function(name,value,type){var options=name;if(name.constructor==String)
+if(value===undefined)
+return this[0]&&jQuery[type||"attr"](this[0],name);else{options={};options[name]=value;}
+return this.each(function(i){for(name in options)
+jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name));});},css:function(key,value){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])
+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){var ret=this.map(function(){if(jQuery.browser.msie&&!jQuery.isXMLDoc(this)){var clone=this.cloneNode(true),container=document.createElement("div");container.appendChild(clone);return jQuery.clean([container.innerHTML])[0];}else
+return this.cloneNode(true);});var clone=ret.find("*").andSelf().each(function(){if(this[expando]!=undefined)
+this[expando]=null;});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 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)
+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 this.pushStack(jQuery.unique(jQuery.merge(this.get(),typeof selector=='string'?jQuery(selector):jQuery.makeArray(selector))));},is:function(selector){return!!selector&&jQuery.multiFilter(selector,this).length>0;},hasClass:function(selector){return this.is("."+selector);},val:function(value){if(value==undefined){if(this.length){var elem=this[0];if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";if(index<0)
+return null;for(var i=one?index:0,max=one?index+1:options.length;i<max;i++){var option=options[i];if(option.selected){value=jQuery.browser.msie&&!option.attributes.value.specified?option.text:option.value;if(one)
+return value;values.push(value);}}
+return values;}else
+return(this[0].value||"").replace(/\r/g,"");}
+return undefined;}
+if(value.constructor==Number)
+value+='';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=jQuery.makeArray(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[0]?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===undefined){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data===undefined&&this.length)
+data=jQuery.data(this[0],key);return data===undefined&&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;if(jQuery.nodeName(elem,"script"))
+scripts=scripts.add(elem);else{if(elem.nodeType==1)
+scripts=scripts.add(jQuery("script",elem).remove());callback.call(obj,elem);}});scripts.each(evalScript);});}};jQuery.fn.init.prototype=jQuery.fn;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);}
+function now(){return+new Date;}
+jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(target.constructor==Boolean){deep=target;target=arguments[1]||{};i=2;}
+if(typeof target!="object"&&typeof target!="function")
+target={};if(length==i){target=this;--i;}
+for(;i<length;i++)
+if((options=arguments[i])!=null)
+for(var name in options){var src=target[name],copy=options[name];if(target===copy)
+continue;if(deep&&copy&&typeof copy=="object"&&!copy.nodeType)
+target[name]=jQuery.extend(deep,src||(copy.length!=null?[]:{}),copy);else if(copy!==undefined)
+target[name]=copy;}
+return target;};var expando="jQuery"+now(),uuid=0,windowData={},exclude=/z-?index|font-?weight|opacity|zoom|line-?height/i,defaultView=document.defaultView||{};jQuery.extend({noConflict:function(deep){window.$=_$;if(deep)
+window.jQuery=_jQuery;return jQuery;},isFunction:function(fn){return!!fn&&typeof fn!="string"&&!fn.nodeName&&fn.constructor!=Array&&/^[\s[]?function/.test(fn+"");},isXMLDoc:function(elem){return elem.documentElement&&!elem.body||elem.tagName&&elem.ownerDocument&&!elem.ownerDocument.body;},globalEval:function(data){data=jQuery.trim(data);if(data){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.insertBefore(script,head.firstChild);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];if(!id)
+id=elem[expando]=++uuid;if(name&&!jQuery.cache[id])
+jQuery.cache[id]={};if(data!==undefined)
+jQuery.cache[id][name]=data;return name?jQuery.cache[id][name]:id;},removeData:function(elem,name){elem=elem==window?windowData:elem;var id=elem[expando];if(name){if(jQuery.cache[id]){delete jQuery.cache[id][name];name="";for(name in jQuery.cache[id])
+break;if(!name)
+jQuery.removeData(elem);}}else{try{delete elem[expando];}catch(e){if(elem.removeAttribute)
+elem.removeAttribute(expando);}
+delete jQuery.cache[id];}},each:function(object,callback,args){var name,i=0,length=object.length;if(args){if(length==undefined){for(name in object)
+if(callback.apply(object[name],args)===false)
+break;}else
+for(;i<length;)
+if(callback.apply(object[i++],args)===false)
+break;}else{if(length==undefined){for(name in object)
+if(callback.call(object[name],name,object[name])===false)
+break;}else
+for(var value=object[0];i<length&&callback.call(value,i,value)!==false;value=object[++i]){}}
+return object;},prop:function(elem,value,type,i,name){if(jQuery.isFunction(value))
+value=value.call(elem,i);return value&&value.constructor==Number&&type=="curCSS"&&!exclude.test(name)?value+"px":value;},className:{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;});},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(" "):"";},has:function(elem,className){return jQuery.inArray(className,(elem.className||elem).toString().split(/\s+/))>-1;}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}
+callback.call(elem);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,style=elem.style;function color(elem){if(!jQuery.browser.safari)
+return false;var ret=defaultView.getComputedStyle(elem,null);return!ret||ret.getPropertyValue("color")=="";}
+if(name=="opacity"&&jQuery.browser.msie){ret=jQuery.attr(style,"opacity");return ret==""?"1":ret;}
+if(jQuery.browser.opera&&name=="display"){var save=style.outline;style.outline="0 solid black";style.outline=save;}
+if(name.match(/float/i))
+name=styleFloat;if(!force&&style&&style[name])
+ret=style[name];else if(defaultView.getComputedStyle){if(name.match(/float/i))
+name="float";name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var computedStyle=defaultView.getComputedStyle(elem,null);if(computedStyle&&!color(elem))
+ret=computedStyle.getPropertyValue(name);else{var swap=[],stack=[],a=elem,i=0;for(;a&&color(a);a=a.parentNode)
+stack.unshift(a);for(;i<stack.length;i++)
+if(color(stack[i])){swap[i]=stack[i].style.display;stack[i].style.display="block";}
+ret=name=="display"&&swap[stack.length-1]!=null?"none":(computedStyle&&computedStyle.getPropertyValue(name))||"";for(i=0;i<swap.length;i++)
+if(swap[i]!=null)
+stack[i].style.display=swap[i];}
+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];if(!/^\d+(px)?$/i.test(ret)&&/^\d/.test(ret)){var left=style.left,rsLeft=elem.runtimeStyle.left;elem.runtimeStyle.left=elem.currentStyle.left;style.left=ret||0;ret=style.pixelLeft+"px";style.left=left;elem.runtimeStyle.left=rsLeft;}}
+return ret;},clean:function(elems,context){var ret=[];context=context||document;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+='';if(typeof elem=="string"){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+">";});var tags=jQuery.trim(elem).toLowerCase(),div=context.createElement("div");var wrap=!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>"]||(!tags.indexOf("<td")||!tags.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!tags.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||jQuery.browser.msie&&[1,"div<div>","</div>"]||[0,"",""];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--)
+div=div.lastChild;if(jQuery.browser.msie){var tbody=!tags.indexOf("<table")&&tags.indexOf("<tbody")<0?div.firstChild&&div.firstChild.childNodes: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]);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){if(!elem||elem.nodeType==3||elem.nodeType==8)
+return undefined;var notxml=!jQuery.isXMLDoc(elem),set=value!==undefined,msie=jQuery.browser.msie;name=notxml&&jQuery.props[name]||name;if(elem.tagName){var special=/href|src|style/.test(name);if(name=="selected"&&jQuery.browser.safari)
+elem.parentNode.selectedIndex;if(name in elem&&notxml&&!special){if(set){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)
+throw"type property can't be changed";elem[name]=value;}
+if(jQuery.nodeName(elem,"form")&&elem.getAttributeNode(name))
+return elem.getAttributeNode(name).nodeValue;return elem[name];}
+if(msie&&notxml&&name=="style")
+return jQuery.attr(elem.style,"cssText",value);if(set)
+elem.setAttribute(name,""+value);var attr=msie&&notxml&&special?elem.getAttribute(name,2):elem.getAttribute(name);return attr===null?undefined:attr;}
+if(msie&&name=="opacity"){if(set){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+
+(parseInt(value)+''=="NaN"?"":"alpha(opacity="+value*100+")");}
+return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100)+'':"";}
+name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(set)
+elem[name]=value;return elem[name];},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeArray:function(array){var ret=[];if(array!=null){var i=array.length;if(i==null||array.split||array.setInterval||array.call)
+ret[0]=array;else
+while(i)
+ret[--i]=array[i];}
+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){var i=0,elem,pos=first.length;if(jQuery.browser.msie){while(elem=second[i++])
+if(elem.nodeType!=8)
+first[pos++]=elem;}else
+while(elem=second[i++])
+first[pos++]=elem;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=[];for(var i=0,length=elems.length;i<length;i++)
+if(!inv!=!callback(elems[i],i))
+ret.push(elems[i]);return ret;},map:function(elems,callback){var ret=[];for(var i=0,length=elems.length;i<length;i++){var value=callback(elems[i],i);if(value!=null)
+ret[ret.length]=value;}
+return ret.concat.apply([],ret);}});var userAgent=navigator.userAgent.toLowerCase();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({boxModel:!jQuery.browser.msie||document.compatMode=="CSS1Compat",props:{"for":"htmlFor","class":"className","float":styleFloat,cssFloat:styleFloat,styleFloat:styleFloat,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing"}});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){jQuery("*",this).add(this).each(function(){jQuery.event.remove(this);jQuery.removeData(this);});if(this.parentNode)
+this.parentNode.removeChild(this);}},empty:function(){jQuery(">*",this).remove();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){return this[0]==window?jQuery.browser.opera&&document.body["client"+name]||jQuery.browser.safari&&window["inner"+name]||document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(Math.max(document.body["scroll"+name],document.documentElement["scroll"+name]),Math.max(document.body["offset"+name],document.documentElement["offset"+name])):size==undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,size.constructor==String?size:size+"px");};});function num(elem,prop){return elem[0]&&parseInt(jQuery.curCSS(elem[0],prop,true),10)||0;}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];},":":{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;},"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:function(a){return a.firstChild;},empty:function(a){return!a.firstChild;},contains:function(a,i,m){return(a.textContent||a.innerText||jQuery(a).text()||"").indexOf(m[3])>=0;},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";},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");},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:function(a,i,m){return jQuery.find(m[3],a).length;},header:function(a){return/h\d/i.test(a.nodeName);},animated:function(a){return jQuery.grep(jQuery.timers,function(fn){return a==fn.elem;}).length;}}},parse:[/^(\[) *@?([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/,/^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/,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){if(typeof t!="string")
+return[t];if(context&&context.nodeType!=1&&context.nodeType!=9)
+return[];context=context||document;var ret=[context],done=[],last,nodeName;while(t&&last!=t){var r=[];last=t;t=jQuery.trim(t);var foundToken=false,re=quickChild,m=re.exec(t);if(m){nodeName=m[1].toUpperCase();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;t=jQuery.trim(t.replace(re,""));foundToken=true;}}
+if(t&&!foundToken){if(!t.indexOf(",")){if(context==ret[0])ret.shift();done=jQuery.merge(done,ret);r=ret=[context];t=" "+t.substr(1,t.length);}else{var re2=quickID;var m=re2.exec(t);if(m){m=[0,m[2],m[3],m[1]];}else{re2=quickClass;m=re2.exec(t);}
+m[2]=m[2].replace(/\\/g,"");var elem=ret[ret.length-1];if(m[1]=="#"&&elem&&elem.getElementById&&!jQuery.isXMLDoc(elem)){var oid=elem.getElementById(m[2]);if((jQuery.browser.msie||jQuery.browser.opera)&&oid&&typeof oid.id=="string"&&oid.id!=m[2])
+oid=jQuery('[@id="'+m[2]+'"]',elem)[0];ret=r=oid&&(!m[3]||jQuery.nodeName(oid,m[3]))?[oid]:[];}else{for(var i=0;ret[i];i++){var tag=m[1]=="#"&&m[3]?m[3]:m[1]!=""||m[0]==""?"*":m[2];if(tag=="*"&&ret[i].nodeName.toLowerCase()=="object")
+tag="param";r=jQuery.merge(r,ret[i].getElementsByTagName(tag));}
+if(m[1]==".")
+r=jQuery.classFilter(r,m[2]);if(m[1]=="#"){var tmp=[];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(t){var val=jQuery.filter(t,r);ret=r=val.r;t=jQuery.trim(val.t);}}
+if(t)
+ret=[];if(ret&&context==ret[0])
+ret.shift();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;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){t=t.substring(m[0].length);m[2]=m[2].replace(/\\/g,"");break;}}
+if(!m)
+break;if(m[1]==":"&&m[2]=="not")
+r=isSimple.test(m[3])?jQuery.filter(m[3],r,true).r:jQuery(r).not(m[3]);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;}else if(m[1]==":"&&m[2]=="nth-child"){var merge={},tmp=[],test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(m[3]=="even"&&"2n"||m[3]=="odd"&&"2n+1"||!/\D/.test(m[3])&&"0n+"+m[3]||m[3]),first=(test[1]+(test[2]||1))-0,last=test[3]-0;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;}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+";}");r=jQuery.grep(r,function(elem,i){return fn(elem,i,m,r);},not);}}
+return{r:r,t:t};},dir:function(elem,dir){var matched=[],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&&n!=elem)
+r.push(n);}
+return r;}});jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8)
+return;if(jQuery.browser.msie&&elem.setInterval)
+elem=window;if(!handler.guid)
+handler.guid=this.guid++;if(data!=undefined){var fn=handler;handler=this.proxy(fn,function(){return fn.apply(this,arguments);});handler.data=data;}
+var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){if(typeof jQuery!="undefined"&&!jQuery.event.triggered)
+return jQuery.event.handle.apply(arguments.callee.elem,arguments);});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];handler.type=parts[1];var handlers=events[type];if(!handlers){handlers=events[type]={};if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem)===false){if(elem.addEventListener)
+elem.addEventListener(type,handle,false);else if(elem.attachEvent)
+elem.attachEvent("on"+type,handle);}}
+handlers[handler.guid]=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8)
+return;var events=jQuery.data(elem,"events"),ret,index;if(events){if(types==undefined||(typeof types=="string"&&types.charAt(0)=="."))
+for(var type in events)
+this.remove(elem,type+(types||""));else{if(types.type){handler=types.handler;types=types.type;}
+jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];if(events[type]){if(handler)
+delete events[type][handler.guid];else
+for(handler in events[type])
+if(!parts[1]||events[type][handler].type==parts[1])
+delete events[type][handler];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];}}});}
+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){data=jQuery.makeArray(data);if(type.indexOf("!")>=0){type=type.slice(0,-1);var exclusive=true;}
+if(!elem){if(this.global[type])
+jQuery("*").add([window,document]).trigger(type,data);}else{if(elem.nodeType==3||elem.nodeType==8)
+return undefined;var val,ret,fn=jQuery.isFunction(elem[type]||null),event=!data[0]||!data[0].preventDefault;if(event){data.unshift({type:type,target:elem,preventDefault:function(){},stopPropagation:function(){},timeStamp:now()});data[0][expando]=true;}
+data[0].type=type;if(exclusive)
+data[0].exclusive=true;var handle=jQuery.data(elem,"handle");if(handle)
+val=handle.apply(elem,data);if((!fn||(jQuery.nodeName(elem,'a')&&type=="click"))&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)
+val=false;if(event)
+data.shift();if(extra&&jQuery.isFunction(extra)){ret=extra.apply(elem,val==null?data:data.concat(val));if(ret!==undefined)
+val=ret;}
+if(fn&&donative!==false&&val!==false&&!(jQuery.nodeName(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]();}catch(e){}}
+this.triggered=false;}
+return val;},handle:function(event){var val,ret,namespace,all,handlers;event=arguments[0]=jQuery.event.fix(event||window.event);namespace=event.type.split(".");event.type=namespace[0];namespace=namespace[1];all=!namespace&&!event.exclusive;handlers=(jQuery.data(this,"events")||{})[event.type];for(var j in handlers){var handler=handlers[j];if(all||handler.type==namespace){event.handler=handler;event.data=handler.data;ret=handler.apply(this,arguments);if(val!==false)
+val=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}}
+return val;},fix:function(event){if(event[expando]==true)
+return event;var originalEvent=event;event={originalEvent:originalEvent};var props="altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target timeStamp toElement type view wheelDelta which".split(" ");for(var i=props.length;i;i--)
+event[props[i]]=originalEvent[props[i]];event[expando]=true;event.preventDefault=function(){if(originalEvent.preventDefault)
+originalEvent.preventDefault();originalEvent.returnValue=false;};event.stopPropagation=function(){if(originalEvent.stopPropagation)
+originalEvent.stopPropagation();originalEvent.cancelBubble=true;};event.timeStamp=event.timeStamp||now();if(!event.target)
+event.target=event.srcElement||document;if(event.target.nodeType==3)
+event.target=event.target.parentNode;if(!event.relatedTarget&&event.fromElement)
+event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;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);}
+if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode))
+event.which=event.charCode||event.keyCode;if(!event.metaKey&&event.ctrlKey)
+event.metaKey=event.ctrlKey;if(!event.which&&event.button)
+event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));return event;},proxy:function(fn,proxy){proxy.guid=fn.guid=fn.guid||proxy.guid||this.guid++;return proxy;},special:{ready:{setup:function(){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(withinElement(event,this))return true;event.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(withinElement(event,this))return true;event.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){var one=jQuery.event.proxy(fn||data,function(event){jQuery(this).unbind(event,one);return(fn||data).apply(this,arguments);});return this.each(function(){jQuery.event.add(this,type,one,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){return this[0]&&jQuery.event.trigger(type,data,this[0],false,fn);},toggle:function(fn){var args=arguments,i=1;while(i<args.length)
+jQuery.event.proxy(fn,args[i++]);return this.click(jQuery.event.proxy(fn,function(event){this.lastToggle=(this.lastToggle||0)%i;event.preventDefault();return args[this.lastToggle++].apply(this,arguments)||false;}));},hover:function(fnOver,fnOut){return this.bind('mouseenter',fnOver).bind('mouseleave',fnOut);},ready:function(fn){bindReady();if(jQuery.isReady)
+fn.call(document,jQuery);else
+jQuery.readyList.push(function(){return fn.call(this,jQuery);});return this;}});jQuery.extend({isReady:false,readyList:[],ready:function(){if(!jQuery.isReady){jQuery.isReady=true;if(jQuery.readyList){jQuery.each(jQuery.readyList,function(){this.call(document);});jQuery.readyList=null;}
+jQuery(document).triggerHandler("ready");}}});var readyBound=false;function bindReady(){if(readyBound)return;readyBound=true;if(document.addEventListener&&!jQuery.browser.opera)
+document.addEventListener("DOMContentLoaded",jQuery.ready,false);if(jQuery.browser.msie&&window==top)(function(){if(jQuery.isReady)return;try{document.documentElement.doScroll("left");}catch(error){setTimeout(arguments.callee,0);return;}
+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;}
+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;}
+jQuery.ready();})();}
+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){jQuery.fn[name]=function(fn){return fn?this.bind(name,fn):this.trigger(name);};});var withinElement=function(event,elem){var parent=event.relatedTarget;while(parent&&parent!=elem)try{parent=parent.parentNode;}catch(error){parent=elem;}
+return parent==elem;};jQuery(window).bind("unload",function(){jQuery("*").add(document).unbind();});jQuery.fn.extend({_load:jQuery.fn.load,load:function(url,params,callback){if(typeof url!='string')
+return this._load(url);var off=url.indexOf(" ");if(off>=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}
+callback=callback||function(){};var type="GET";if(params)
+if(jQuery.isFunction(params)){callback=params;params=null;}else{params=jQuery.param(params);type="POST";}
+var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified")
+self.html(selector?jQuery("<div/>").append(res.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(selector):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();}});jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=now();jQuery.extend({get:function(url,data,callback,type){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:{url:location.href,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:"*/*"}},lastModified:{},ajax:function(s){s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));var jsonp,jsre=/=\?(&|$)/g,status,data,type=s.type.toUpperCase();if(s.data&&s.processData&&typeof s.data!="string")
+s.data=jQuery.param(s.data);if(s.dataType=="jsonp"){if(type=="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";}
+if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++;if(s.data)
+s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";window[jsonp]=function(tmp){data=tmp;success();complete();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&&type=="GET"){var ts=now();var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"");}
+if(s.data&&type=="GET"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data;s.data=null;}
+if(s.global&&!jQuery.active++)
+jQuery.event.trigger("ajaxStart");var remote=/^(?:\w+:)?\/\/([^\/?#]+)/;if(s.dataType=="script"&&type=="GET"&&remote.test(s.url)&&remote.exec(s.url)[1]!=location.host){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=s.url;if(s.scriptCharset)
+script.charset=s.scriptCharset;if(!jsonp){var done=false;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);return undefined;}
+var requestDone=false;var xhr=window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();if(s.username)
+xhr.open(type,s.url,s.async,s.username,s.password);else
+xhr.open(type,s.url,s.async);try{if(s.data)
+xhr.setRequestHeader("Content-Type",s.contentType);if(s.ifModified)
+xhr.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");xhr.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default);}catch(e){}
+if(s.beforeSend&&s.beforeSend(xhr,s)===false){s.global&&jQuery.active--;xhr.abort();return false;}
+if(s.global)
+jQuery.event.trigger("ajaxSend",[xhr,s]);var onreadystatechange=function(isTimeout){if(!requestDone&&xhr&&(xhr.readyState==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival=null;}
+status=isTimeout=="timeout"&&"timeout"||!jQuery.httpSuccess(xhr)&&"error"||s.ifModified&&jQuery.httpNotModified(xhr,s.url)&&"notmodified"||"success";if(status=="success"){try{data=jQuery.httpData(xhr,s.dataType,s.dataFilter);}catch(e){status="parsererror";}}
+if(status=="success"){var modRes;try{modRes=xhr.getResponseHeader("Last-Modified");}catch(e){}
+if(s.ifModified&&modRes)
+jQuery.lastModified[s.url]=modRes;if(!jsonp)
+success();}else
+jQuery.handleError(s,xhr,status);complete();if(s.async)
+xhr=null;}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout>0)
+setTimeout(function(){if(xhr){xhr.abort();if(!requestDone)
+onreadystatechange("timeout");}},s.timeout);}
+try{xhr.send(s.data);}catch(e){jQuery.handleError(s,xhr,null,e);}
+if(!s.async)
+onreadystatechange();function success(){if(s.success)
+s.success(data,status);if(s.global)
+jQuery.event.trigger("ajaxSuccess",[xhr,s]);}
+function complete(){if(s.complete)
+s.complete(xhr,status);if(s.global)
+jQuery.event.trigger("ajaxComplete",[xhr,s]);if(s.global&&!--jQuery.active)
+jQuery.event.trigger("ajaxStop");}
+return xhr;},handleError:function(s,xhr,status,e){if(s.error)s.error(xhr,status,e);if(s.global)
+jQuery.event.trigger("ajaxError",[xhr,s,e]);},active:0,httpSuccess:function(xhr){try{return!xhr.status&&location.protocol=="file:"||(xhr.status>=200&&xhr.status<300)||xhr.status==304||xhr.status==1223||jQuery.browser.safari&&xhr.status==undefined;}catch(e){}
+return false;},httpNotModified:function(xhr,url){try{var xhrRes=xhr.getResponseHeader("Last-Modified");return xhr.status==304||xhrRes==jQuery.lastModified[url]||jQuery.browser.safari&&xhr.status==undefined;}catch(e){}
+return false;},httpData:function(xhr,type,filter){var ct=xhr.getResponseHeader("content-type"),xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0,data=xml?xhr.responseXML:xhr.responseText;if(xml&&data.documentElement.tagName=="parsererror")
+throw"parsererror";if(filter)
+data=filter(data,type);if(type=="script")
+jQuery.globalEval(data);if(type=="json")
+data=eval("("+data+")");return data;},param:function(a){var s=[];if(a.constructor==Array||a.jquery)
+jQuery.each(a,function(){s.push(encodeURIComponent(this.name)+"="+encodeURIComponent(this.value));});else
+for(var j in a)
+if(a[j]&&a[j].constructor==Array)
+jQuery.each(a[j],function(){s.push(encodeURIComponent(j)+"="+encodeURIComponent(this));});else
+s.push(encodeURIComponent(j)+"="+encodeURIComponent(jQuery.isFunction(a[j])?a[j]():a[j]));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");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();},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle.apply(this,arguments):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),p,hidden=jQuery(this).is(":hidden"),self=this;for(p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)
+return opt.complete.call(this);if(p=="height"||p=="width"){opt.display=jQuery.css(this,"display");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";if(unit!="px"){self.style[name]=(end||1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit;}
+if(parts[1])
+end=((parts[1]=="-="?-1:1)*end)+start;e.custom(start,end,unit);}else
+e.custom(start,val,"");}});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.call(this);}});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue)
+this.queue([]);this.each(function(){for(var i=timers.length-1;i>=0;i--)
+if(timers[i].elem==this){if(gotoEnd)
+timers[i](true);timers.splice(i,1);}});if(!gotoEnd)
+this.dequeue();return this;}});var queue=function(elem,type,array){if(elem){type=type||"fx";var q=jQuery.data(elem,type+"queue");if(!q||array)
+q=jQuery.data(elem,type+"queue",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].call(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:jQuery.fx.speeds[opt.duration])||jQuery.fx.speeds.def;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false)
+jQuery(this).dequeue();if(jQuery.isFunction(opt.old))
+opt.old.call(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={update:function(){if(this.options.step)
+this.options.step.call(this.elem,this.now,this);(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if(this.prop=="height"||this.prop=="width")
+this.elem.style.display="block";},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;},custom:function(from,to,unit){this.startTime=now();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);}},show:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.show=true;this.custom(0,this.cur());if(this.prop=="width"||this.prop=="height")
+this.elem.style[this.prop]="1px";jQuery(this.elem).show();},hide:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0);},step:function(gotoEnd){var t=now();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){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,"display")=="none")
+this.elem.style.display="block";}
+if(this.options.hide)
+this.elem.style.display="none";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(done)
+this.options.complete.call(this.elem);return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;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);this.update();}
+return true;}};jQuery.extend(jQuery.fx,{speeds:{slow:600,fast:200,def:400},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;}}});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),css=jQuery.curCSS,fixed=css(elem,"position")=="fixed";if(elem.getBoundingClientRect){var box=elem.getBoundingClientRect();add(box.left+Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),box.top+Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));add(-doc.documentElement.clientLeft,-doc.documentElement.clientTop);}else{add(elem.offsetLeft,elem.offsetTop);while(offsetParent){add(offsetParent.offsetLeft,offsetParent.offsetTop);if(mozilla&&!/^t(able|d|h)$/i.test(offsetParent.tagName)||safari&&!safari2)
+border(offsetParent);if(!fixed&&css(offsetParent,"position")=="fixed")
+fixed=true;offsetChild=/^body$/i.test(offsetParent.tagName)?offsetChild:offsetParent;offsetParent=offsetParent.offsetParent;}
+while(parent&&parent.tagName&&!/^body|html$/i.test(parent.tagName)){if(!/^inline|table.*$/i.test(css(parent,"display")))
+add(-parent.scrollLeft,-parent.scrollTop);if(mozilla&&css(parent,"overflow")!="visible")
+border(parent);parent=parent.parentNode;}
+if((safari2&&(fixed||css(offsetChild,"position")=="absolute"))||(mozilla&&css(offsetChild,"position")!="absolute"))
+add(-doc.body.offsetLeft,-doc.body.offsetTop);if(fixed)
+add(Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));}
+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,10)||0;top+=parseInt(t,10)||0;}
+return results;};jQuery.fn.extend({position:function(){var left=0,top=0,results;if(this[0]){var offsetParent=this.offsetParent(),offset=this.offset(),parentOffset=/^body|html$/i.test(offsetParent[0].tagName)?{top:0,left:0}:offsetParent.offset();offset.top-=num(this,'marginTop');offset.left-=num(this,'marginLeft');parentOffset.top+=num(offsetParent,'borderTopWidth');parentOffset.left+=num(offsetParent,'borderLeftWidth');results={top:offset.top-parentOffset.top,left:offset.left-parentOffset.left};}
+return results;},offsetParent:function(){var offsetParent=this[0].offsetParent;while(offsetParent&&(!/^body|html$/i.test(offsetParent.tagName)&&jQuery.css(offsetParent,'position')=='static'))
+offsetParent=offsetParent.offsetParent;return jQuery(offsetParent);}});jQuery.each(['Left','Top'],function(i,name){var method='scroll'+name;jQuery.fn[method]=function(val){if(!this[0])return;return val!=undefined?this.each(function(){this==window||this==document?window.scrollTo(!i?val:jQuery(window).scrollLeft(),i?val:jQuery(window).scrollTop()):this[method]=val;}):this[0]==window||this[0]==document?self[i?'pageYOffset':'pageXOffset']||jQuery.boxModel&&document.documentElement[method]||document.body[method]:this[0][method];};});jQuery.each(["Height","Width"],function(i,name){var tl=i?"Left":"Top",br=i?"Right":"Bottom";jQuery.fn["inner"+name]=function(){return this[name.toLowerCase()]()+
+num(this,"padding"+tl)+
+num(this,"padding"+br);};jQuery.fn["outer"+name]=function(margin){return this["inner"+name]()+
+num(this,"border"+tl+"Width")+
+num(this,"border"+br+"Width")+
+(margin?num(this,"margin"+tl)+num(this,"margin"+br):0);};});})();(function($){$.fn.ajaxSubmit=function(options){if(!this.length){log('ajaxSubmit: skipping submit process - no element selected');return this;}
+if(typeof options=='function')
+options={success:options};options=$.extend({url:this.attr('action')||window.location.toString(),type:this.attr('method')||'GET'},options||{});var veto={};this.trigger('form-pre-serialize',[this,options,veto]);if(veto.veto){log('ajaxSubmit: submit vetoed via form-pre-serialize trigger');return this;}
+var a=this.formToArray(options.semantic);if(options.data){options.extraData=options.data;for(var n in options.data)
+a.push({name:n,value:options.data[n]});}
+if(options.beforeSubmit&&options.beforeSubmit(a,this,options)===false){log('ajaxSubmit: submit aborted via beforeSubmit callback');return this;}
+this.trigger('form-submit-validate',[a,this,options,veto]);if(veto.veto){log('ajaxSubmit: submit vetoed via form-submit-validate trigger');return this;}
+var q=$.param(a);if(options.type.toUpperCase()=='GET'){options.url+=(options.url.indexOf('?')>=0?'&':'?')+q;options.data=null;}
+else
+options.data=q;var $form=this,callbacks=[];if(options.resetForm)callbacks.push(function(){$form.resetForm();});if(options.clearForm)callbacks.push(function(){$form.clearForm();});if(!options.dataType&&options.target){var oldSuccess=options.success||function(){};callbacks.push(function(data){$(options.target).html(data).each(oldSuccess,arguments);});}
+else if(options.success)
+callbacks.push(options.success);options.success=function(data,status){for(var i=0,max=callbacks.length;i<max;i++)
+callbacks[i](data,status,$form);};var files=$('input:file',this).fieldValue();var found=false;for(var j=0;j<files.length;j++)
+if(files[j])
+found=true;if(options.iframe||found){if($.browser.safari&&options.closeKeepAlive)
+$.get(options.closeKeepAlive,fileUpload);else
+fileUpload();}
+else
+$.ajax(options);this.trigger('form-submit-notify',[this,options]);return this;function fileUpload(){var form=$form[0];if($(':input[@name=submit]',form).length){alert('Error: Form elements must not be named "submit".');return;}
+var opts=$.extend({},$.ajaxSettings,options);var id='jqFormIO'+(new Date().getTime());var $io=$('<iframe id="'+id+'" name="'+id+'" />');var io=$io[0];if($.browser.msie||$.browser.opera)
+io.src='javascript:false;document.write("");';$io.css({position:'absolute',top:'-1000px',left:'-1000px'});var xhr={responseText:null,responseXML:null,status:0,statusText:'n/a',getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){}};var g=opts.global;if(g&&!$.active++)$.event.trigger("ajaxStart");if(g)$.event.trigger("ajaxSend",[xhr,opts]);var cbInvoked=0;var timedOut=0;var sub=form.clk;if(sub){var n=sub.name;if(n&&!sub.disabled){options.extraData=options.extraData||{};options.extraData[n]=sub.value;if(sub.type=="image"){options.extraData[name+'.x']=form.clk_x;options.extraData[name+'.y']=form.clk_y;}}}
+setTimeout(function(){var t=$form.attr('target'),a=$form.attr('action');$form.attr({target:id,encoding:'multipart/form-data',enctype:'multipart/form-data',method:'POST',action:opts.url});if(opts.timeout)
+setTimeout(function(){timedOut=true;cb();},opts.timeout);var extraInputs=[];try{if(options.extraData)
+for(var n in options.extraData)
+extraInputs.push($('<input type="hidden" name="'+n+'" value="'+options.extraData[n]+'" />').appendTo(form)[0]);$io.appendTo('body');io.attachEvent?io.attachEvent('onload',cb):io.addEventListener('load',cb,false);form.submit();}
+finally{$form.attr('action',a);t?$form.attr('target',t):$form.removeAttr('target');$(extraInputs).remove();}},10);function cb(){if(cbInvoked++)return;io.detachEvent?io.detachEvent('onload',cb):io.removeEventListener('load',cb,false);var operaHack=0;var ok=true;try{if(timedOut)throw'timeout';var data,doc;doc=io.contentWindow?io.contentWindow.document:io.contentDocument?io.contentDocument:io.document;if(doc.body==null&&!operaHack&&$.browser.opera){operaHack=1;cbInvoked--;setTimeout(cb,100);return;}
+xhr.responseText=doc.body?doc.body.innerHTML:null;xhr.responseXML=doc.XMLDocument?doc.XMLDocument:doc;xhr.getResponseHeader=function(header){var headers={'content-type':opts.dataType};return headers[header];};if(opts.dataType=='json'||opts.dataType=='script'){var ta=doc.getElementsByTagName('textarea')[0];xhr.responseText=ta?ta.value:xhr.responseText;}
+else if(opts.dataType=='xml'&&!xhr.responseXML&&xhr.responseText!=null){xhr.responseXML=toXml(xhr.responseText);}
+data=$.httpData(xhr,opts.dataType);}
+catch(e){ok=false;$.handleError(opts,xhr,'error',e);}
+if(ok){opts.success(data,'success');if(g)$.event.trigger("ajaxSuccess",[xhr,opts]);}
+if(g)$.event.trigger("ajaxComplete",[xhr,opts]);if(g&&!--$.active)$.event.trigger("ajaxStop");if(opts.complete)opts.complete(xhr,ok?'success':'error');setTimeout(function(){$io.remove();xhr.responseXML=null;},100);};function toXml(s,doc){if(window.ActiveXObject){doc=new ActiveXObject('Microsoft.XMLDOM');doc.async='false';doc.loadXML(s);}
+else
+doc=(new DOMParser()).parseFromString(s,'text/xml');return(doc&&doc.documentElement&&doc.documentElement.tagName!='parsererror')?doc:null;};};};$.fn.ajaxForm=function(options){return this.ajaxFormUnbind().bind('submit.form-plugin',function(){$(this).ajaxSubmit(options);return false;}).each(function(){$(":submit,input:image",this).bind('click.form-plugin',function(e){var $form=this.form;$form.clk=this;if(this.type=='image'){if(e.offsetX!=undefined){$form.clk_x=e.offsetX;$form.clk_y=e.offsetY;}else if(typeof $.fn.offset=='function'){var offset=$(this).offset();$form.clk_x=e.pageX-offset.left;$form.clk_y=e.pageY-offset.top;}else{$form.clk_x=e.pageX-this.offsetLeft;$form.clk_y=e.pageY-this.offsetTop;}}
+setTimeout(function(){$form.clk=$form.clk_x=$form.clk_y=null;},10);});});};$.fn.ajaxFormUnbind=function(){this.unbind('submit.form-plugin');return this.each(function(){$(":submit,input:image",this).unbind('click.form-plugin');});};$.fn.formToArray=function(semantic){var a=[];if(this.length==0)return a;var form=this[0];var els=semantic?form.getElementsByTagName('*'):form.elements;if(!els)return a;for(var i=0,max=els.length;i<max;i++){var el=els[i];var n=el.name;if(!n)continue;if(semantic&&form.clk&&el.type=="image"){if(!el.disabled&&form.clk==el)
+a.push({name:n+'.x',value:form.clk_x},{name:n+'.y',value:form.clk_y});continue;}
+var v=$.fieldValue(el,true);if(v&&v.constructor==Array){for(var j=0,jmax=v.length;j<jmax;j++)
+a.push({name:n,value:v[j]});}
+else if(v!==null&&typeof v!='undefined')
+a.push({name:n,value:v});}
+if(!semantic&&form.clk){var inputs=form.getElementsByTagName("input");for(var i=0,max=inputs.length;i<max;i++){var input=inputs[i];var n=input.name;if(n&&!input.disabled&&input.type=="image"&&form.clk==input)
+a.push({name:n+'.x',value:form.clk_x},{name:n+'.y',value:form.clk_y});}}
+return a;};$.fn.formSerialize=function(semantic){return $.param(this.formToArray(semantic));};$.fn.fieldSerialize=function(successful){var a=[];this.each(function(){var n=this.name;if(!n)return;var v=$.fieldValue(this,successful);if(v&&v.constructor==Array){for(var i=0,max=v.length;i<max;i++)
+a.push({name:n,value:v[i]});}
+else if(v!==null&&typeof v!='undefined')
+a.push({name:this.name,value:v});});return $.param(a);};$.fn.fieldValue=function(successful){for(var val=[],i=0,max=this.length;i<max;i++){var el=this[i];var v=$.fieldValue(el,successful);if(v===null||typeof v=='undefined'||(v.constructor==Array&&!v.length))
+continue;v.constructor==Array?$.merge(val,v):val.push(v);}
+return val;};$.fieldValue=function(el,successful){var n=el.name,t=el.type,tag=el.tagName.toLowerCase();if(typeof successful=='undefined')successful=true;if(successful&&(!n||el.disabled||t=='reset'||t=='button'||(t=='checkbox'||t=='radio')&&!el.checked||(t=='submit'||t=='image')&&el.form&&el.form.clk!=el||tag=='select'&&el.selectedIndex==-1))
+return null;if(tag=='select'){var index=el.selectedIndex;if(index<0)return null;var a=[],ops=el.options;var one=(t=='select-one');var max=(one?index+1:ops.length);for(var i=(one?index:0);i<max;i++){var op=ops[i];if(op.selected){var v=$.browser.msie&&!(op.attributes['value'].specified)?op.text:op.value;if(one)return v;a.push(v);}}
+return a;}
+return el.value;};$.fn.clearForm=function(){return this.each(function(){$('input,select,textarea',this).clearFields();});};$.fn.clearFields=$.fn.clearInputs=function(){return this.each(function(){var t=this.type,tag=this.tagName.toLowerCase();if(t=='text'||t=='password'||tag=='textarea')
+this.value='';else if(t=='checkbox'||t=='radio')
+this.checked=false;else if(tag=='select')
+this.selectedIndex=-1;});};$.fn.resetForm=function(){return this.each(function(){if(typeof this.reset=='function'||(typeof this.reset=='object'&&!this.reset.nodeType))
+this.reset();});};$.fn.enable=function(b){if(b==undefined)b=true;return this.each(function(){this.disabled=!b});};$.fn.select=function(select){if(select==undefined)select=true;return this.each(function(){var t=this.type;if(t=='checkbox'||t=='radio')
+this.checked=select;else if(this.tagName.toLowerCase()=='option'){var $sel=$(this).parent('select');if(select&&$sel[0]&&$sel[0].type=='select-one'){$sel.find('option').select(false);}
+this.selected=select;}});};function log(){if($.fn.ajaxSubmit.debug&&window.console&&window.console.log)
+window.console.log('[jquery.form] '+Array.prototype.join.call(arguments,''));};})(jQuery);var TO_LOAD_INDEX=0;var TO_LOAD=new Array;var MARKITUP=false;var UNBIND=false;$(function(){load_jquery();});function load_jquery(){if(UNBIND){if(MARKITUP){$("*").not(".markItUpButton").unbind();}else{$("*").unbind();}}
+UNBIND=true;$("a.submit").click(function(){$(this).parents("form").submit();return false;});$("a.submitWait").click(function(){$(this).parents("form").after('<p class="center">'+$(this).attr('title')+'<br /><br /><img src="'+IMG_CUBE+'/loader.gif" /></p>');$(this).parents("form").submit();$(this).parents("form").hide();return false;});$("form").submit(function(){$(this).attr('change','0');return true;});$("form.blank").each(function(){$(this).attr('target','_blank');$(this).removeClass('_blank');});$("form").not(".notajax").submit(function(){display_loader();$(this).ajaxSubmit({url:SITE_PATH+'ajax/'+$(this).attr('action'),success:function(data){MyAjax(data);}});return false;});$(".notajax form").unbind();$("form.submitonchange :input").each(function(){$(this).one('change',function(){$(this).parents("form").submit();});});$(":input").change(function(){$(this).parents("form").attr("change",1);});$("a.ajax").click(function(){var title=$(this).attr('title');var href=$(this).attr('rel');if(title!=''&&title!=undefined&&title.search(/\?/)>-1){if(!window.confirm(title)){return false;}}
+if($(this).hasClass('wait')){wait();}
+display_loader();$.ajax({url:SITE_PATH+'ajax/'+href,success:function(data){MyAjax(data);}});return false;});$("a.dajax").dblclick(function(){var title=$(this).attr('title');var href=$(this).attr('rel');if(title!=''&&title!=undefined&&title.search(/\?/)>=0){if(!window.confirm(title)){return false;}}
+display_loader();$.ajax({url:SITE_PATH+'ajax/'+href,success:function(data){MyAjax(data);}});return false;});$("a.ajaxh").click(function(){var title=$(this).attr('title');var href=$(this).attr('href');if(title!=''&&title!=undefined&&title.search(/\?/)>=0){if(!window.confirm(title)){return false;}}
+display_loader();$.ajax({url:href,success:function(data){MyAjax(data);}});return false;});$("a.prompt").click(function(){var href=$(this).attr('rel');var defaut=$(this).attr('rev');var name=window.prompt($(this).attr('title'),defaut);if(name==null||name=='null'||name==''){return false;}
+display_loader();$.ajax({url:SITE_PATH+'ajax/'+href+'?var='+name,success:function(data){MyAjax(data);}});return false;});$("a.closePopup").click(function(){closePopup($(this),true);return false;});$("a.closePopupNotConfirm").click(function(){closePopup($(this),false);return false;});$("a.popup").click(function(){display_loader();$.ajax({url:SITE_PATH+'ajax/'+$(this).attr('rel'),dataType:'responseText',success:function(data){createPopup(data);}});remove_loader();return false;});$("a.changepopup").click(function(){display_loader();$.ajax({url:SITE_PATH+'ajax/'+$(this).attr('rel'),dataType:'responseText',success:function(data){changepopup(data);load_jquery();}});remove_loader();return false;});$("a.blank").click(function(){$(this).attr('target','_blank');return true;});$("a.nothing").click(function(){return false;});$(".pemail").each(function(){var protected=$(this).text();var adresse=rot13(protected);$(this).text(adresse);$(this).attr('href','mailto:'+adresse);$(this).removeClass('pemail');});var len=TO_LOAD.length;for(var i=0;i<len;i++){eval(TO_LOAD[i]);}
+__fixPNG();if($("#jquery_time").length>0&&$("#jquery_time").text()==''){var E=new Date();var m=(parseInt(E-S)/1000).toString().replace('.',',');$("#jquery_time").text(m);}}
+function randval(min,max){var diff=max-min;return Math.round(Math.random()*diff)+diff;}
+function rot(t,u,v){return String.fromCharCode(((t-u+v)%(v*2))+u);}
+function rot13(s){var b=[],c,i=s.length,a='a'.charCodeAt(),z=a+26,A='A'.charCodeAt(),Z=A+26;while(i--){c=s.charCodeAt(i);if(c>=a&&c<z){b[i]=rot(c,a,13);}else if(c>=A&&c<Z){b[i]=rot(c,A,13);}else{b[i]=s.charAt(i);}}
+return b.join('');}
+function createPopup(data){POPUP_COUNTER=parseInt(POPUP_COUNTER);$("body").append('<div id="pl_'+POPUP_COUNTER+'" class="popupLayer"><div class="popupOverlay" id="po_'+POPUP_COUNTER+'" style="z-index:'+(1000+POPUP_COUNTER*2)+';"></div><div id="pw_'+POPUP_COUNTER+'" class="popupWindow" style="z-index:'+(1001+POPUP_COUNTER*2)+';"></div></div>');$("#po_"+POPUP_COUNTER).css('opacity',0.65);$("#po_"+POPUP_COUNTER).css('display','block');$("#pw_"+POPUP_COUNTER).html(data);$("#pw_"+POPUP_COUNTER).show();popup_dimensions(POPUP_COUNTER);load_jquery();POPUP_COUNTER+=1;}
+function closePopup(object,confirm){if(object==undefined||object==null){var i=$(".popupLayer").length-1;var elements=$(".popupLayer").get();var e=elements[i];var changes=false;$(this).find("form").each(function(){if($(this).attr("change")==1){changes=true;}});if(confirm==false||(changes==true&&window.confirm(CONFIRM_CLOSE))||changes==false){$(e).remove();POPUP_COUNTER-=1;popup_dimensions();}}else{$(object).parents(".popupLayer").each(function(){var changes=false;$(this).find("form").each(function(){if($(this).attr("change")==1){changes=true;}});if(confirm==false||(changes==true&&window.confirm(CONFIRM_CLOSE))||changes==false){$(this).remove();POPUP_COUNTER-=1;popup_dimensions();}});}}
+function popup_dimensions(i){if(i==undefined){i=POPUP_COUNTER-1;}
+if(i<0){return;}
+var margin=30;var mh=$(window).height()-(margin*2);if(!$.browser.msie){$("#pw_"+i).css("opacity",0);}
+if($("#pw_"+i+" .c>div").height()+10>mh){$("#pw_"+i+" .c>div").css("overflow",'auto');}else{$("#pw_"+i+" .c>div").css("overflow",'visible');}
+$("#pw_"+i+" .c>div").css("max-height",mh);$("#pw_"+i).css("left",($(window).width()-$("#pw_"+i).width())/2);if($("#pw_"+i+" .c>div").attr('top')){$("#pw_"+i).css("top",parseInt($("#pw_"+i+" .c>div").attr('top')));}else{var top=(mh-$("#pw_"+i).height())/2+margin;$("#pw_"+i).css("top",top);}
+if(!$.browser.msie){$("#pw_"+i).css("opacity",1);}}
+function changepopup(data){var pc=POPUP_COUNTER-1;$("#pw_"+pc).html(data);popup_dimensions(pc);}
+function checkUpload(){if($.browser.msie){var iframe=uploadIframe.document;}else{var uploadIframe=document.getElementById('uploadIframe');var iframe=uploadIframe.contentDocument;}
+if(iframe.getElementById('status')!=undefined&&iframe.contentDocument.getElementById('status').innerHTML!=undefined){clearInterval(INTERVAL);$.ajax({url:UPDATE,success:function(data){MyAjax(data);}});if(iframe.getElementById('status').innerHTML!='ok'){window.alert(ERREUR_FICHIER+' : \n'+iframe.getElementById('status').innerHTML);}
+if(POPUP_COUNTER>0){closePopup(null,false);}
+$("#uploadIframe").remove();}}
+function isSet(i){return(i==null||i=='null'||i==''||i=='undefined');}
+function callAjaxSwf(urlLink){$.ajax({url:urlLink,success:function(data){MyAjax(data);}});}
+function swfAjax(data){MyAjax(strToXML(data));}
+function MyAjax(data,reload){var error=new Array();var confirmation='';var ok=true;var t=$(data).children('rsp').children().get();for(var i=0;i<t.length;i++){var e=t[i];var name=e.nodeName;if(name=='confirmation'){var contentconfirm=$(e).text();confirmation+="<p>"+contentconfirm+"</p>";}else if(name=='error'){var errors=$(e).children().get();for(var j=0;j<errors.length;j++){var err=errors[j];var ename=err.nodeName;var econtent=$(err).text();$("#"+ename).addClass('error');$("#"+ename).val('');error.push(econtent);ok=false;}}else if(name=='content'){var contents=$(e).children().get();for(var k=0;k<contents.length;k++){var content=contents[k];var cname=content.nodeName;var ccontent=$(content).text();if(ccontent==''){$("#"+cname).html(ccontent);}else{$("#"+cname).html(ccontent);}
+if(POPUP_COUNTER-1>=0){popup_dimensions(POPUP_COUNTER-1);}}}else if(name=='replace'){var contents=$(e).children().get();for(var k=0;k<contents.length;k++){var content=contents[k];var cname=content.nodeName;var ccontent=$(content).text();if(ccontent==''){$("#"+cname).replaceWith(ccontent);}else{$("#"+cname).replaceWith(ccontent);}
+if(POPUP_COUNTER-1>=0){popup_dimensions(POPUP_COUNTER-1);}}}else if(name=='append'){var contents=$(e).children().get();for(var k=0;k<contents.length;k++){var content=contents[k];var cname=content.nodeName;var ccontent=$(content).text();if(ccontent==''){$("#"+cname).append(ccontent);}else{$("#"+cname).append(ccontent);}
+if(POPUP_COUNTER-1>=0){popup_dimensions(POPUP_COUNTER-1);}}}else if(name=='param'){var ids=$(e).children().get();for(var p=0;p<ids.length;p++){var id=ids[p];var idname=id.nodeName;var params=$(id).children().get();var o={};for(var q=0;q<params.length;q++){var param=params[q];var paramname=param.nodeName;var paramcontent=$(param).text();o[paramname]=paramcontent;}
+$("#"+idname).attr(o);$("#"+idname).parents("form").unbind('submit');}}else if(name=='alert'){var alerts=$(e).children().get();for(var r=0;r<alerts.length;r++){var alert=alerts[r];var acontent=$(alert).text();window.alert(acontent);}}else if(name=='ok'){var oks=$(e).children().get();for(var l=0;l<oks.length;l++){var ok=oks[l];var oname=ok.nodeName.toLowerCase();$("#"+oname).removeClass('error');}}else if(name=='redirection'){var url=$(e).text();window.location=url;}else if(name=='show'){var oks=$(e).children().get();for(var l=0;l<oks.length;l++){var ok=oks[l];var oname=ok.nodeName;$("#"+oname).show('fast');}}else if(name=='debug'){}else if(name=='eval'){var codes=$(e).children().get();for(var r=0;r<codes.length;r++){var code=codes[r];eval($(code).text());}}else if(name=='closepopup'){var closes=$(e).children().get();for(var cp=0;cp<closes.length;cp++){closePopup(null,false);}}else if(name=='openpopup'){var opens=$(e).children().get();for(var op=0;op<opens.length;op++){var cont=opens[op];createPopup($(cont).text());}}else if(name=='changepopup'){var changes=$(e).children().get();for(var cp=0;cp<changes.length;cp++){var cont=changes[cp];changepopup($(cont).text());}}
+else if(name=='popupdimensions'){popup_dimensions();}
+else if(name=='truepopup'){var trues=$(e).children().get();for(var tp=0;tp<trues.length;tp++){var cont=trues[tp];truePopup($(cont).text());}}else if(name=='timer'){var time=parseInt($(e).text());var t=setTimeout("doNothing()",time);}else if(name=='value'){var values=$(e).children().get();for(var v=0;v<values.length;v++){var node=values[v];var oname=node.nodeName;var val=$("#"+oname).val($(node).text());}}}
+if(error.length>0){$("#message").html(error.join('<br />'));}else{$("#message").html('');}
+if(confirmation!=''){$("#confirmation").html(confirmation);$("#confirmation").animate({height:26,opacity:1},2000,function(){$("#confirmation").fadeTo(10000,1,function(){$("#confirmation").animate({height:0,opacity:0},2000);$("#confirmation").empty();});});}
+if(reload==true||reload==undefined){load_jquery();}
+remove_loader();return ok;}
+function truePopup(url){var rand=Math.round(Math.random()*200);window.open(url,'Popup'+rand,'width='+window.width+',height='+window.height);}
+function _fixPNG(){var png;var images=$('img[@src*="png"]:not([@fixed="fixed"])');images.each(function(){png=$(this).attr('src');$(this).attr('src',IMG_CUBE+'/spacer.gif');$(this).css('filter',"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+png+"')");$(this).attr('fixed','fixed');});}
+function __fixPNG(){if($.browser.msie&&parseInt(navigator.userAgent.match(/MSIE (\d+(?:\.\d+)+(?:b\d*)?)/)[1])<=6){_fixPNG();}}
+function getWindowHeight(){var windowHeight=0;if(typeof(window.innerHeight)=='number'){windowHeight=window.innerHeight;}
+else{if(document.documentElement&&document.documentElement.clientHeight){windowHeight=document.documentElement.clientHeight;}
+else{if(document.body&&document.body.clientHeight){windowHeight=document.body.clientHeight;}}}
+return windowHeight;}
+function getWindowWidth(){var myWidth=0;if(typeof(window.innerWidth)=='number'){myWidth=window.innerWidth;}
+else if(document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight)){myWidth=document.documentElement.clientWidth;}
+else if(document.body&&(document.body.clientWidth||document.body.clientHeight)){myWidth=document.body.clientWidth;}
+return myWidth;}
+function doNothing(){}
+function htmlEditorGetText(id){var text=document.getElementById(id).value;return'<TEXTFORMAT LEADING="2"><P ALIGN="LEFT">'+text+'</P></TEXTFORMAT>';}
+function htmlEditorPutText(id,text){document.getElementById(id).value=text;}
+function display_loader(){if(LOADER_AJAX==''){}else{$("body").append('<div id="loader"><img src="'+LOADER_AJAX+'" /></div>');}}
+function remove_loader(){if(LOADER_AJAX==''){}else{$("#loader").remove();}}
+function URLEncode(clearString){var output='';var x=0;clearString=clearString.toString();var regex=/(^[a-zA-Z0-9_.]*)/;while(x<clearString.length){var match=regex.exec(clearString.substr(x));if(match!=null&&match.length>1&&match[1]!=''){output+=match[1];x+=match[1].length;}else{if(clearString[x]==' ')
+output+='+';else{var charCode=clearString.charCodeAt(x);var hexVal=charCode.toString(16);output+='%'+(hexVal.length<2?'0':'')+hexVal.toUpperCase();}
+x++;}}
+return output;}
+function strToXML(str){var contentType='application/xml';if(typeof(DOMParser)!='undefined'){return(new DOMParser()).parseFromString(str.substr(0,4095),contentType);}else if(typeof(ActiveXObject)!='undefined'){var xmldata=new ActiveXObject('MSXML.DomDocument');xmldata.async=false;xmldata.loadXML(str);return xmldata;}else if(typeof(XMLHttpRequest)!='undefined'){var xmldata=new XMLHttpRequest;if(!contentType){contentType='application/xml';}
+xmldata.open('GET','data:'+contentType+';charset=utf-8,'+encodeURIComponent(str),false);if(xmldata.overrideMimeType){xmldata.overrideMimeType(contentType);}
+xmldata.send(null);return xmldata.responseXML;}}
+jQuery.autocomplete=function(input,options){var me=this;var $input=$(input).attr("autocomplete","off");if(options.inputClass){$input.addClass(options.inputClass);}
+var results=document.createElement("div");var $results=$(results).hide().addClass(options.resultsClass).css("position","absolute");if(options.width>0){$results.css("width",options.width);}
+$("body").append(results);input.autocompleter=me;var timeout=null;var prev="";var active=-1;var cache={};var keyb=false;var hasFocus=false;var lastKeyPressCode=null;var mouseDownOnSelect=false;var hidingResults=false;function flushCache(){cache={};cache.data={};cache.length=0;}
+flushCache();if(options.data!=null){var sFirstChar="",stMatchSets={},row=[];if(typeof options.url!="string"){options.cacheLength=1;}
+for(var i=0;i<options.data.length;i++){row=((typeof options.data[i]=="string")?[options.data[i]]:options.data[i]);if(row[0].length>0){sFirstChar=row[0].substring(0,1).toLowerCase();if(!stMatchSets[sFirstChar])stMatchSets[sFirstChar]=[];stMatchSets[sFirstChar].push(row);}}
+for(var k in stMatchSets){options.cacheLength++;addToCache(k,stMatchSets[k]);}}
+$input.keydown(function(e){lastKeyPressCode=e.keyCode;switch(e.keyCode){case 38:e.preventDefault();moveSelect(-1);break;case 40:e.preventDefault();moveSelect(1);break;case 9:case 13:if(selectCurrent()){var i=$input.get(0);$(i).change();$(i).blur();e.preventDefault();}
+break;default:active=-1;if(timeout)clearTimeout(timeout);timeout=setTimeout(function(){onChange();},options.delay);break;}}).focus(function(){hasFocus=true;}).blur(function(){hasFocus=false;if(!mouseDownOnSelect){hideResults();}});hideResultsNow();function onChange(){if(lastKeyPressCode==46||(lastKeyPressCode>8&&lastKeyPressCode<32))return $results.hide();var v=$input.val();if(v==prev)return;prev=v;if(v.length>=options.minChars){$input.addClass(options.loadingClass);requestData(v);}else{$input.removeClass(options.loadingClass);$results.hide();}};function moveSelect(step){var lis=$("li",results);if(!lis)return;active+=step;if(active<0){active=0;}else if(active>=lis.size()){active=lis.size()-1;}
+lis.removeClass("ac_over");$(lis[active]).addClass("ac_over");};function selectCurrent(){var li=$("li.ac_over",results)[0];if(!li){var $li=$("li",results);if(options.selectOnly){if($li.length==1)li=$li[0];}else if(options.selectFirst){li=$li[0];}}
+if(li){selectItem(li);return true;}else{return false;}};function selectItem(li){if(!li){li=document.createElement("li");li.extra=[];li.selectValue="";}
+var v=$.trim(li.selectValue?li.selectValue:li.innerHTML);input.lastSelected=v;prev=v;$results.html("");$input.val(v);hideResultsNow();if(options.onItemSelect){setTimeout(function(){options.onItemSelect(li)},1);}};function createSelection(start,end){var field=$input.get(0);if(field.createTextRange){var selRange=field.createTextRange();selRange.collapse(true);selRange.moveStart("character",start);selRange.moveEnd("character",end);selRange.select();}else if(field.setSelectionRange){field.setSelectionRange(start,end);}else{if(field.selectionStart){field.selectionStart=start;field.selectionEnd=end;}}
+field.focus();};function autoFill(sValue){if(lastKeyPressCode!=8){$input.val($input.val()+sValue.substring(prev.length));createSelection(prev.length,sValue.length);}};function showResults(){var pos=$(input).offset();var iWidth=(options.width>0)?options.width:$input.width();$results.css({width:parseInt(iWidth)+"px",top:(pos.top+$(input).height())+"px",left:pos.left+"px",zIndex:'10',display:'block'}).show();};function hideResults(){if(timeout)clearTimeout(timeout);timeout=setTimeout(hideResultsNow,200);};function hideResultsNow(){if(hidingResults){return;}
+hidingResults=true;if(timeout){clearTimeout(timeout);}
+var v=$input.removeClass(options.loadingClass).val();if($results.is(":visible")){$results.hide();}
+if(options.mustMatch){if(!input.lastSelected||input.lastSelected!=v){selectItem(null);}}
+hidingResults=false;};function receiveData(q,data){if(data){$input.removeClass(options.loadingClass);results.innerHTML="";if(!hasFocus||data.length==0)return hideResultsNow();if($.browser.msie){$results.append(document.createElement('iframe'));}
+results.appendChild(dataToDom(data));if(options.autoFill&&($input.val().toLowerCase()==q.toLowerCase()))autoFill(data[0][0]);showResults();flushCache();}else{hideResultsNow();}};function parseData(data){if(!data)return null;var parsed=[];var rows=data[1];for(var i=0;i<rows.length;i++){var row=rows[i];if(row){parsed[parsed.length]=new Array(row);}}
+return parsed;};function dataToDom(data){var ul=document.createElement("ul");var num=data.length;if((options.maxItemsToShow>0)&&(options.maxItemsToShow<num))num=options.maxItemsToShow;for(var i=0;i<num;i++){var row=data[i];if(!row)continue;var li=document.createElement("li");if(options.formatItem){li.innerHTML=options.formatItem(row,i,num);li.selectValue=row[0];}else{li.innerHTML=row[0];li.selectValue=row[0];}
+var extra=null;if(row.length>1){extra=[];for(var j=1;j<row.length;j++){extra[extra.length]=row[j];}}
+li.extra=extra;ul.appendChild(li);$(li).hover(function(){$("li",ul).removeClass("ac_over");$(this).addClass("ac_over");active=$("li",ul).indexOf($(this).get(0));},function(){$(this).removeClass("ac_over");}).click(function(e){e.preventDefault();e.stopPropagation();selectItem(this)});}
+$(ul).mousedown(function(){mouseDownOnSelect=true;}).mouseup(function(){mouseDownOnSelect=false;});return ul;};function requestData(q){if(!options.matchCase)q=q.toLowerCase();var data=options.cacheLength?loadFromCache(q):null;if(data){receiveData(q,data);}else if((typeof options.url=="string")&&(options.url.length>0)){$.getJSON(makeUrl(q),function(data){data=parseData(data);addToCache(q,data);receiveData(q,data);});}else{$input.removeClass(options.loadingClass);}};function makeUrl(q){var sep=options.url.indexOf('?')==-1?'?':'&';var url=options.url+sep+"q="+encodeURI(q);for(var i in options.extraParams){url+="&"+i+"="+encodeURI(options.extraParams[i]);}
+return url;};function loadFromCache(q){if(!q)return null;if(cache.data[q])return cache.data[q];if(options.matchSubset){for(var i=q.length-1;i>=options.minChars;i--){var qs=q.substr(0,i);var c=cache.data[qs];if(c){var csub=[];for(var j=0;j<c.length;j++){var x=c[j];var x0=x[0];if(matchSubset(x0,q)){csub[csub.length]=x;}}
+return csub;}}}
+return null;};function matchSubset(s,sub){if(!options.matchCase)s=s.toLowerCase();var i=s.indexOf(sub);if(i==-1)return false;return i==0||options.matchContains;};this.flushCache=function(){flushCache();};this.setExtraParams=function(p){options.extraParams=p;};this.findValue=function(){var q=$input.val();if(!options.matchCase)q=q.toLowerCase();var data=options.cacheLength?loadFromCache(q):null;if(data){findValueCallback(q,data);}else if((typeof options.url=="string")&&(options.url.length>0)){$.get(makeUrl(q),function(data){data=parseData(data)
+addToCache(q,data);findValueCallback(q,data);});}else{findValueCallback(q,null);}}
+function findValueCallback(q,data){if(data)$input.removeClass(options.loadingClass);var num=(data)?data.length:0;var li=null;for(var i=0;i<num;i++){var row=data[i];if(row[0].toLowerCase()==q.toLowerCase()){li=document.createElement("li");if(options.formatItem){li.innerHTML=options.formatItem(row,i,num);li.selectValue=row[0];}else{li.innerHTML=row[0];li.selectValue=row[0];}
+var extra=null;if(row.length>1){extra=[];for(var j=1;j<row.length;j++){extra[extra.length]=row[j];}}
+li.extra=extra;}}
+if(options.onFindValue)setTimeout(function(){options.onFindValue(li)},1);}
+function addToCache(q,data){if(!data||!q||!options.cacheLength)return;if(!cache.length||cache.length>options.cacheLength){flushCache();cache.length++;}else if(!cache[q]){cache.length++;}
+cache.data[q]=data;};function findPos(obj){var curleft=obj.offsetLeft||0;var curtop=obj.offsetTop||0;while(obj=obj.offsetParent){curleft+=obj.offsetLeft
+curtop+=obj.offsetTop}
+return{x:curleft,y:curtop};}}
+jQuery.fn.autocomplete=function(url,options,data){options=options||{};options.url=url;options.data=((typeof data=="object")&&(data.constructor==Array))?data:null;options.inputClass=options.inputClass||"ac_input";options.resultsClass=options.resultsClass||"ac_results";options.lineSeparator=options.lineSeparator||"\n";options.cellSeparator=options.cellSeparator||"|";options.minChars=options.minChars||1;options.delay=options.delay||400;options.matchCase=options.matchCase||0;options.matchSubset=options.matchSubset||1;options.matchContains=options.matchContains||0;options.cacheLength=options.cacheLength||1;options.mustMatch=options.mustMatch||0;options.extraParams=options.extraParams||{};options.loadingClass=options.loadingClass||"ac_loading";options.selectFirst=options.selectFirst||false;options.selectOnly=options.selectOnly||false;options.maxItemsToShow=options.maxItemsToShow||-1;options.autoFill=options.autoFill||false;options.width=parseInt(options.width,10)||0;this.each(function(){var input=this;new jQuery.autocomplete(input,options);});return this;}
+jQuery.fn.autocompleteArray=function(data,options){return this.autocomplete(null,options,data);}
+jQuery.fn.indexOf=function(e){for(var i=0;i<this.length;i++){if(this[i]==e)return i;}
+return-1;};TO_LOAD_INDEX++;TO_LOAD[TO_LOAD_INDEX]='load_autocomplete();';function load_autocomplete(){$(".autocomplete").each(function(){$(this).autocomplete($(this).attr('rel'),{maxItemsToShow:15,cacheLength:0});});$(".autocompletestatic").each(function(){tab=$(this).attr('rel').split('§');$(this).autocompleteArray(tab,{maxItemsToShow:15,cacheLength:0});});}
+TO_LOAD_INDEX++;TO_LOAD[TO_LOAD_INDEX]='load_emptyfield();';function load_emptyfield(){$("input.empty_field,input.empty-field").each(function(){if($(this).attr('orig')){return;}
+$(this).attr('orig',$(this).attr('value'));});$("input.empty_field,input.empty-field").click(function(){if($(this).val()==$(this).attr('orig')){$(this).val('');}});}
+TO_LOAD_INDEX++;TO_LOAD[TO_LOAD_INDEX]='load_extranet();';FIRST_LOAD=true;function load_extranet(){if($("#devisAdresse #client_nom").length){$("#devisAdresse #client_nom").autocomplete(SITE_PATH+'autocomplete/client',{cacheLength:0,maxItemsToShow:15,onFindValue:findClient,onItemSelect:findClient});}
+if($("#factureAdresse #projet_nom").length){$("#factureAdresse #projet_nom").autocomplete(SITE_PATH+'autocomplete/projet',{cacheLength:0,maxItemsToShow:15,onFindValue:findProjet,onItemSelect:findProjet});}
+if($(".dashboard").length>=1){$("#dash").sortable('destroy');if(FIRST_LOAD){FIRST_LOAD=false;}else{FIRST_LOAD=true;$.ajax({url:SITE_PATH+'ajax/reloadDashboards',success:function(data){MyAjax(data)}});}
+$("#dash").sortable({opacity:0.6,axis:"y",handle:".caption",stop:function(e,ui){$.ajax({url:SITE_PATH+'ajax/orderDashboards?'+$("#dash").sortable('serialize'),});resize();}});}
+$(".timereport_field").change(function(){var val=parseInt($(this).val());if(isNaN(val)){val=0;}
+var f=this;var id=$(this).attr('id');var a=id.split('_');$.ajax({url:SITE_PATH+'ajax/saveTimereport/'+a[1]+'/'+a[2]+'/'+val,success:function(data){FIRST_LOAD=true;MyAjax(data);var td=$(f).parents('td').get(0);if(parseFloat($(f).val())>0){$(td).addClass('filled');}else{$(td).removeClass('filled');}}});});$("#dash .toggle").click(function(){var rel=$(this).attr('rel');var div=$(this).parents('.dashboard').get(0);var liste=$(div).find('.liste');$(liste).slideToggle('fast',function(){resize();});$(this).toggleClass('close');$.ajax({url:SITE_PATH+'ajax/toggleDashboard/'+rel,});return false;});$(".filtre .bt").click(function(){var ul=$(this).parent().parent().children('ul');$(ul).slideToggle('fast');return false;});$(".filtre ul").click(function(e){if(e.target.nodeName=='INPUT'||e.target.nodeName=='LABEL'){return true;}
+$(this).slideToggle('fast');});$(".filtre span").click(function(){var ul=$(this).parent().children('ul');$(ul).slideToggle('fast');});$(".filtre input").change(function(){var form=$(this).parents('form').get(0);var uls=$(form).find("ul");var divs=$(form).find(".input");var spans=$(form).find("span");var i,j,k,ul,lis,li,input,label,checked,div,titre,t,t1,allc,inputs;for(i=0;i<uls.length;i++){div=divs[i];titre=Array();ul=uls[i];lis=$(ul).children("li");allc=$(lis).get(0);checked=0;for(j=1;j<lis.length;j++){li=lis[j];input=$(li).find('input').get(0);label=$(li).find('label').get(0);if(input.checked){checked++;titre.push($(label).text());}}
+if(checked==0){$(div).find('span').text($(allc).text());$(div).find('a').attr('title',$(allc).text());$(div).removeClass('active');inputs=$(ul).find('input');for(k=0;k<inputs.length;k++){inputs[k].checked=true;}}else if(checked==lis.length-1){$(div).find('span').text($(allc).text());$(div).find('a').attr('title',$(allc).text());$(div).removeClass('active');}else{t=titre.join(', ');if(t.length>20){t1=t.substr(0,16)+'...';}else{t1=t;}
+$(div).find('span').text(t1);$(div).find('a').attr('title',t);$(div).addClass('active');}}
+return true;});$(window).resize(function(){resize();});resize();}
+function resize(){var allh=$("#header").height()+$("#footer").height()+$("#bar").height()+$("#main .content").height()+13+30;var h=Math.max($(window).height(),allh);var mh=h-$("#header").height()-$("#footer").height()-$("#bar").height()-30-13;mh=Math.max(mh,450);$("#main").css('height',mh);}
+function findClient(li){var client=li.selectValue.split(' - ');if(client.length<=1){return;}
+var client_id=parseInt(client[0]);$("#client").val(client_id);$.ajax({url:SITE_PATH+'ajax/getAdresseForDevis/'+client_id,success:function(data){MyAjax(data);}});}
+function findProjet(li){var projet=li.selectValue.split(' - ');if(projet.length<=1){return;}
+var projet_id=parseInt(projet[0]);$("#projet").val(projet_id);$.ajax({url:SITE_PATH+'ajax/getAdresseForFacture/'+projet_id,success:function(data){MyAjax(data);}});}
\ No newline at end of file
diff --git a/js/merged-b1daaf.js b/js/merged-b1daaf.js
new file mode 100644 (file)
index 0000000..dfadc1e
--- /dev/null
@@ -0,0 +1,571 @@
+
+(function(){var
+window=this,undefined,_jQuery=window.jQuery,_$=window.$,jQuery=window.jQuery=window.$=function(selector,context){return new jQuery.fn.init(selector,context);},quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,isSimple=/^.[^:#\[\.,]*$/;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;this.context=selector;return this;}
+if(typeof selector==="string"){var match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1])
+selector=jQuery.clean([match[1]],context);else{var elem=document.getElementById(match[3]);if(elem&&elem.id!=match[3])
+return jQuery().find(selector);var ret=jQuery(elem||[]);ret.context=document;ret.selector=selector;return ret;}}else
+return jQuery(context).find(selector);}else if(jQuery.isFunction(selector))
+return jQuery(document).ready(selector);if(selector.selector&&selector.context){this.selector=selector.selector;this.context=selector.context;}
+return this.setArray(jQuery.isArray(selector)?selector:jQuery.makeArray(selector));},selector:"",jquery:"1.3.2",size:function(){return this.length;},get:function(num){return num===undefined?Array.prototype.slice.call(this):this[num];},pushStack:function(elems,name,selector){var ret=jQuery(elems);ret.prevObject=this;ret.context=this.context;if(name==="find")
+ret.selector=this.selector+(this.selector?" ":"")+selector;else if(name)
+ret.selector=this.selector+"."+name+"("+selector+")";return ret;},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elems);return this;},each:function(callback,args){return jQuery.each(this,callback,args);},index:function(elem){return jQuery.inArray(elem&&elem.jquery?elem[0]:elem,this);},attr:function(name,value,type){var options=name;if(typeof name==="string")
+if(value===undefined)
+return this[0]&&jQuery[type||"attr"](this[0],name);else{options={};options[name]=value;}
+return this.each(function(i){for(name in options)
+jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name));});},css:function(key,value){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]){var wrap=jQuery(html,this[0].ownerDocument).clone();if(this[0].parentNode)
+wrap.insertBefore(this[0]);wrap.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,function(elem){if(this.nodeType==1)
+this.appendChild(elem);});},prepend:function(){return this.domManip(arguments,true,function(elem){if(this.nodeType==1)
+this.insertBefore(elem,this.firstChild);});},before:function(){return this.domManip(arguments,false,function(elem){this.parentNode.insertBefore(elem,this);});},after:function(){return this.domManip(arguments,false,function(elem){this.parentNode.insertBefore(elem,this.nextSibling);});},end:function(){return this.prevObject||jQuery([]);},push:[].push,sort:[].sort,splice:[].splice,find:function(selector){if(this.length===1){var ret=this.pushStack([],"find",selector);ret.length=0;jQuery.find(selector,this[0],ret);return ret;}else{return this.pushStack(jQuery.unique(jQuery.map(this,function(elem){return jQuery.find(selector,elem);})),"find",selector);}},clone:function(events){var ret=this.map(function(){if(!jQuery.support.noCloneEvent&&!jQuery.isXMLDoc(this)){var html=this.outerHTML;if(!html){var div=this.ownerDocument.createElement("div");div.appendChild(this.cloneNode(true));html=div.innerHTML;}
+return jQuery.clean([html.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0];}else
+return this.cloneNode(true);});if(events===true){var orig=this.find("*").andSelf(),i=0;ret.find("*").andSelf().each(function(){if(this.nodeName!==orig[i].nodeName)
+return;var events=jQuery.data(orig[i],"events");for(var type in events){for(var handler in events[type]){jQuery.event.add(this,type,events[type][handler],events[type][handler].data);}}
+i++;});}
+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,jQuery.grep(this,function(elem){return elem.nodeType===1;})),"filter",selector);},closest:function(selector){var pos=jQuery.expr.match.POS.test(selector)?jQuery(selector):null,closer=0;return this.map(function(){var cur=this;while(cur&&cur.ownerDocument){if(pos?pos.index(cur)>-1:jQuery(cur).is(selector)){jQuery.data(cur,"closest",closer);return cur;}
+cur=cur.parentNode;closer++;}});},not:function(selector){if(typeof selector==="string")
+if(isSimple.test(selector))
+return this.pushStack(jQuery.multiFilter(selector,this,true),"not",selector);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 this.pushStack(jQuery.unique(jQuery.merge(this.get(),typeof selector==="string"?jQuery(selector):jQuery.makeArray(selector))));},is:function(selector){return!!selector&&jQuery.multiFilter(selector,this).length>0;},hasClass:function(selector){return!!selector&&this.is("."+selector);},val:function(value){if(value===undefined){var elem=this[0];if(elem){if(jQuery.nodeName(elem,'option'))
+return(elem.attributes.value||{}).specified?elem.value:elem.text;if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";if(index<0)
+return null;for(var i=one?index:0,max=one?index+1:options.length;i<max;i++){var option=options[i];if(option.selected){value=jQuery(option).val();if(one)
+return value;values.push(value);}}
+return values;}
+return(elem.value||"").replace(/\r/g,"");}
+return undefined;}
+if(typeof value==="number")
+value+='';return this.each(function(){if(this.nodeType!=1)
+return;if(jQuery.isArray(value)&&/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=jQuery.makeArray(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[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):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),"slice",Array.prototype.slice.call(arguments).join(","));},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);},domManip:function(args,table,callback){if(this[0]){var fragment=(this[0].ownerDocument||this[0]).createDocumentFragment(),scripts=jQuery.clean(args,(this[0].ownerDocument||this[0]),fragment),first=fragment.firstChild;if(first)
+for(var i=0,l=this.length;i<l;i++)
+callback.call(root(this[i],first),this.length>1||i>0?fragment.cloneNode(true):fragment);if(scripts)
+jQuery.each(scripts,evalScript);}
+return this;function root(elem,cur){return table&&jQuery.nodeName(elem,"table")&&jQuery.nodeName(cur,"tr")?(elem.getElementsByTagName("tbody")[0]||elem.appendChild(elem.ownerDocument.createElement("tbody"))):elem;}}};jQuery.fn.init.prototype=jQuery.fn;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);}
+function now(){return+new Date;}
+jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(typeof target==="boolean"){deep=target;target=arguments[1]||{};i=2;}
+if(typeof target!=="object"&&!jQuery.isFunction(target))
+target={};if(length==i){target=this;--i;}
+for(;i<length;i++)
+if((options=arguments[i])!=null)
+for(var name in options){var src=target[name],copy=options[name];if(target===copy)
+continue;if(deep&&copy&&typeof copy==="object"&&!copy.nodeType)
+target[name]=jQuery.extend(deep,src||(copy.length!=null?[]:{}),copy);else if(copy!==undefined)
+target[name]=copy;}
+return target;};var exclude=/z-?index|font-?weight|opacity|zoom|line-?height/i,defaultView=document.defaultView||{},toString=Object.prototype.toString;jQuery.extend({noConflict:function(deep){window.$=_$;if(deep)
+window.jQuery=_jQuery;return jQuery;},isFunction:function(obj){return toString.call(obj)==="[object Function]";},isArray:function(obj){return toString.call(obj)==="[object Array]";},isXMLDoc:function(elem){return elem.nodeType===9&&elem.documentElement.nodeName!=="HTML"||!!elem.ownerDocument&&jQuery.isXMLDoc(elem.ownerDocument);},globalEval:function(data){if(data&&/\S/.test(data)){var head=document.getElementsByTagName("head")[0]||document.documentElement,script=document.createElement("script");script.type="text/javascript";if(jQuery.support.scriptEval)
+script.appendChild(document.createTextNode(data));else
+script.text=data;head.insertBefore(script,head.firstChild);head.removeChild(script);}},nodeName:function(elem,name){return elem.nodeName&&elem.nodeName.toUpperCase()==name.toUpperCase();},each:function(object,callback,args){var name,i=0,length=object.length;if(args){if(length===undefined){for(name in object)
+if(callback.apply(object[name],args)===false)
+break;}else
+for(;i<length;)
+if(callback.apply(object[i++],args)===false)
+break;}else{if(length===undefined){for(name in object)
+if(callback.call(object[name],name,object[name])===false)
+break;}else
+for(var value=object[0];i<length&&callback.call(value,i,value)!==false;value=object[++i]){}}
+return object;},prop:function(elem,value,type,i,name){if(jQuery.isFunction(value))
+value=value.call(elem,i);return typeof value==="number"&&type=="curCSS"&&!exclude.test(name)?value+"px":value;},className:{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;});},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(" "):"";},has:function(elem,className){return elem&&jQuery.inArray(className,(elem.className||elem).toString().split(/\s+/))>-1;}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}
+callback.call(elem);for(var name in options)
+elem.style[name]=old[name];},css:function(elem,name,force,extra){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;if(extra==="border")
+return;jQuery.each(which,function(){if(!extra)
+val-=parseFloat(jQuery.curCSS(elem,"padding"+this,true))||0;if(extra==="margin")
+val+=parseFloat(jQuery.curCSS(elem,"margin"+this,true))||0;else
+val-=parseFloat(jQuery.curCSS(elem,"border"+this+"Width",true))||0;});}
+if(elem.offsetWidth!==0)
+getWH();else
+jQuery.swap(elem,props,getWH);return Math.max(0,Math.round(val));}
+return jQuery.curCSS(elem,name,force);},curCSS:function(elem,name,force){var ret,style=elem.style;if(name=="opacity"&&!jQuery.support.opacity){ret=jQuery.attr(style,"opacity");return ret==""?"1":ret;}
+if(name.match(/float/i))
+name=styleFloat;if(!force&&style&&style[name])
+ret=style[name];else if(defaultView.getComputedStyle){if(name.match(/float/i))
+name="float";name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var computedStyle=defaultView.getComputedStyle(elem,null);if(computedStyle)
+ret=computedStyle.getPropertyValue(name);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];if(!/^\d+(px)?$/i.test(ret)&&/^\d/.test(ret)){var left=style.left,rsLeft=elem.runtimeStyle.left;elem.runtimeStyle.left=elem.currentStyle.left;style.left=ret||0;ret=style.pixelLeft+"px";style.left=left;elem.runtimeStyle.left=rsLeft;}}
+return ret;},clean:function(elems,context,fragment){context=context||document;if(typeof context.createElement==="undefined")
+context=context.ownerDocument||context[0]&&context[0].ownerDocument||document;if(!fragment&&elems.length===1&&typeof elems[0]==="string"){var match=/^<(\w+)\s*\/?>$/.exec(elems[0]);if(match)
+return[context.createElement(match[1])];}
+var ret=[],scripts=[],div=context.createElement("div");jQuery.each(elems,function(i,elem){if(typeof elem==="number")
+elem+='';if(!elem)
+return;if(typeof elem==="string"){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+">";});var tags=elem.replace(/^\s+/,"").substring(0,10).toLowerCase();var wrap=!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>"]||(!tags.indexOf("<td")||!tags.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!tags.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||!jQuery.support.htmlSerialize&&[1,"div<div>","</div>"]||[0,"",""];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--)
+div=div.lastChild;if(!jQuery.support.tbody){var hasBody=/<tbody/i.test(elem),tbody=!tags.indexOf("<table")&&!hasBody?div.firstChild&&div.firstChild.childNodes:wrap[1]=="<table>"&&!hasBody?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]);}
+if(!jQuery.support.leadingWhitespace&&/^\s/.test(elem))
+div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]),div.firstChild);elem=jQuery.makeArray(div.childNodes);}
+if(elem.nodeType)
+ret.push(elem);else
+ret=jQuery.merge(ret,elem);});if(fragment){for(var i=0;ret[i];i++){if(jQuery.nodeName(ret[i],"script")&&(!ret[i].type||ret[i].type.toLowerCase()==="text/javascript")){scripts.push(ret[i].parentNode?ret[i].parentNode.removeChild(ret[i]):ret[i]);}else{if(ret[i].nodeType===1)
+ret.splice.apply(ret,[i+1,0].concat(jQuery.makeArray(ret[i].getElementsByTagName("script"))));fragment.appendChild(ret[i]);}}
+return scripts;}
+return ret;},attr:function(elem,name,value){if(!elem||elem.nodeType==3||elem.nodeType==8)
+return undefined;var notxml=!jQuery.isXMLDoc(elem),set=value!==undefined;name=notxml&&jQuery.props[name]||name;if(elem.tagName){var special=/href|src|style/.test(name);if(name=="selected"&&elem.parentNode)
+elem.parentNode.selectedIndex;if(name in elem&&notxml&&!special){if(set){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)
+throw"type property can't be changed";elem[name]=value;}
+if(jQuery.nodeName(elem,"form")&&elem.getAttributeNode(name))
+return elem.getAttributeNode(name).nodeValue;if(name=="tabIndex"){var attributeNode=elem.getAttributeNode("tabIndex");return attributeNode&&attributeNode.specified?attributeNode.value:elem.nodeName.match(/(button|input|object|select|textarea)/i)?0:elem.nodeName.match(/^(a|area)$/i)&&elem.href?0:undefined;}
+return elem[name];}
+if(!jQuery.support.style&&notxml&&name=="style")
+return jQuery.attr(elem.style,"cssText",value);if(set)
+elem.setAttribute(name,""+value);var attr=!jQuery.support.hrefNormalized&&notxml&&special?elem.getAttribute(name,2):elem.getAttribute(name);return attr===null?undefined:attr;}
+if(!jQuery.support.opacity&&name=="opacity"){if(set){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+
+(parseInt(value)+''=="NaN"?"":"alpha(opacity="+value*100+")");}
+return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100)+'':"";}
+name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(set)
+elem[name]=value;return elem[name];},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeArray:function(array){var ret=[];if(array!=null){var i=array.length;if(i==null||typeof array==="string"||jQuery.isFunction(array)||array.setInterval)
+ret[0]=array;else
+while(i)
+ret[--i]=array[i];}
+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){var i=0,elem,pos=first.length;if(!jQuery.support.getAll){while((elem=second[i++])!=null)
+if(elem.nodeType!=8)
+first[pos++]=elem;}else
+while((elem=second[i++])!=null)
+first[pos++]=elem;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=[];for(var i=0,length=elems.length;i<length;i++)
+if(!inv!=!callback(elems[i],i))
+ret.push(elems[i]);return ret;},map:function(elems,callback){var ret=[];for(var i=0,length=elems.length;i<length;i++){var value=callback(elems[i],i);if(value!=null)
+ret[ret.length]=value;}
+return ret.concat.apply([],ret);}});var userAgent=navigator.userAgent.toLowerCase();jQuery.browser={version:(userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,'0'])[1],safari:/webkit/.test(userAgent),opera:/opera/.test(userAgent),msie:/msie/.test(userAgent)&&!/opera/.test(userAgent),mozilla:/mozilla/.test(userAgent)&&!/(compatible|webkit)/.test(userAgent)};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),name,selector);};});jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(selector){var ret=[],insert=jQuery(selector);for(var i=0,l=insert.length;i<l;i++){var elems=(i>0?this.clone(true):this).get();jQuery.fn[original].apply(jQuery(insert[i]),elems);ret=ret.concat(elems);}
+return this.pushStack(ret,name,selector);};});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,state){if(typeof state!=="boolean")
+state=!jQuery.className.has(this,classNames);jQuery.className[state?"add":"remove"](this,classNames);},remove:function(selector){if(!selector||jQuery.filter(selector,[this]).length){jQuery("*",this).add([this]).each(function(){jQuery.event.remove(this);jQuery.removeData(this);});if(this.parentNode)
+this.parentNode.removeChild(this);}},empty:function(){jQuery(this).children().remove();while(this.firstChild)
+this.removeChild(this.firstChild);}},function(name,fn){jQuery.fn[name]=function(){return this.each(fn,arguments);};});function num(elem,prop){return elem[0]&&parseInt(jQuery.curCSS(elem[0],prop,true),10)||0;}
+var expando="jQuery"+now(),uuid=0,windowData={};jQuery.extend({cache:{},data:function(elem,name,data){elem=elem==window?windowData:elem;var id=elem[expando];if(!id)
+id=elem[expando]=++uuid;if(name&&!jQuery.cache[id])
+jQuery.cache[id]={};if(data!==undefined)
+jQuery.cache[id][name]=data;return name?jQuery.cache[id][name]:id;},removeData:function(elem,name){elem=elem==window?windowData:elem;var id=elem[expando];if(name){if(jQuery.cache[id]){delete jQuery.cache[id][name];name="";for(name in jQuery.cache[id])
+break;if(!name)
+jQuery.removeData(elem);}}else{try{delete elem[expando];}catch(e){if(elem.removeAttribute)
+elem.removeAttribute(expando);}
+delete jQuery.cache[id];}},queue:function(elem,type,data){if(elem){type=(type||"fx")+"queue";var q=jQuery.data(elem,type);if(!q||jQuery.isArray(data))
+q=jQuery.data(elem,type,jQuery.makeArray(data));else if(data)
+q.push(data);}
+return q;},dequeue:function(elem,type){var queue=jQuery.queue(elem,type),fn=queue.shift();if(!type||type==="fx")
+fn=queue[0];if(fn!==undefined)
+fn.call(elem);}});jQuery.fn.extend({data:function(key,value){var parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value===undefined){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data===undefined&&this.length)
+data=jQuery.data(this[0],key);return data===undefined&&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);});},queue:function(type,data){if(typeof type!=="string"){data=type;type="fx";}
+if(data===undefined)
+return jQuery.queue(this[0],type);return this.each(function(){var queue=jQuery.queue(this,type,data);if(type=="fx"&&queue.length==1)
+queue[0].call(this);});},dequeue:function(type){return this.each(function(){jQuery.dequeue(this,type);});}});(function(){var chunker=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,done=0,toString=Object.prototype.toString;var Sizzle=function(selector,context,results,seed){results=results||[];context=context||document;if(context.nodeType!==1&&context.nodeType!==9)
+return[];if(!selector||typeof selector!=="string"){return results;}
+var parts=[],m,set,checkSet,check,mode,extra,prune=true;chunker.lastIndex=0;while((m=chunker.exec(selector))!==null){parts.push(m[1]);if(m[2]){extra=RegExp.rightContext;break;}}
+if(parts.length>1&&origPOS.exec(selector)){if(parts.length===2&&Expr.relative[parts[0]]){set=posProcess(parts[0]+parts[1],context);}else{set=Expr.relative[parts[0]]?[context]:Sizzle(parts.shift(),context);while(parts.length){selector=parts.shift();if(Expr.relative[selector])
+selector+=parts.shift();set=posProcess(selector,set);}}}else{var ret=seed?{expr:parts.pop(),set:makeArray(seed)}:Sizzle.find(parts.pop(),parts.length===1&&context.parentNode?context.parentNode:context,isXML(context));set=Sizzle.filter(ret.expr,ret.set);if(parts.length>0){checkSet=makeArray(set);}else{prune=false;}
+while(parts.length){var cur=parts.pop(),pop=cur;if(!Expr.relative[cur]){cur="";}else{pop=parts.pop();}
+if(pop==null){pop=context;}
+Expr.relative[cur](checkSet,pop,isXML(context));}}
+if(!checkSet){checkSet=set;}
+if(!checkSet){throw"Syntax error, unrecognized expression: "+(cur||selector);}
+if(toString.call(checkSet)==="[object Array]"){if(!prune){results.push.apply(results,checkSet);}else if(context.nodeType===1){for(var i=0;checkSet[i]!=null;i++){if(checkSet[i]&&(checkSet[i]===true||checkSet[i].nodeType===1&&contains(context,checkSet[i]))){results.push(set[i]);}}}else{for(var i=0;checkSet[i]!=null;i++){if(checkSet[i]&&checkSet[i].nodeType===1){results.push(set[i]);}}}}else{makeArray(checkSet,results);}
+if(extra){Sizzle(extra,context,results,seed);if(sortOrder){hasDuplicate=false;results.sort(sortOrder);if(hasDuplicate){for(var i=1;i<results.length;i++){if(results[i]===results[i-1]){results.splice(i--,1);}}}}}
+return results;};Sizzle.matches=function(expr,set){return Sizzle(expr,null,null,set);};Sizzle.find=function(expr,context,isXML){var set,match;if(!expr){return[];}
+for(var i=0,l=Expr.order.length;i<l;i++){var type=Expr.order[i],match;if((match=Expr.match[type].exec(expr))){var left=RegExp.leftContext;if(left.substr(left.length-1)!=="\\"){match[1]=(match[1]||"").replace(/\\/g,"");set=Expr.find[type](match,context,isXML);if(set!=null){expr=expr.replace(Expr.match[type],"");break;}}}}
+if(!set){set=context.getElementsByTagName("*");}
+return{set:set,expr:expr};};Sizzle.filter=function(expr,set,inplace,not){var old=expr,result=[],curLoop=set,match,anyFound,isXMLFilter=set&&set[0]&&isXML(set[0]);while(expr&&set.length){for(var type in Expr.filter){if((match=Expr.match[type].exec(expr))!=null){var filter=Expr.filter[type],found,item;anyFound=false;if(curLoop==result){result=[];}
+if(Expr.preFilter[type]){match=Expr.preFilter[type](match,curLoop,inplace,result,not,isXMLFilter);if(!match){anyFound=found=true;}else if(match===true){continue;}}
+if(match){for(var i=0;(item=curLoop[i])!=null;i++){if(item){found=filter(item,match,i,curLoop);var pass=not^!!found;if(inplace&&found!=null){if(pass){anyFound=true;}else{curLoop[i]=false;}}else if(pass){result.push(item);anyFound=true;}}}}
+if(found!==undefined){if(!inplace){curLoop=result;}
+expr=expr.replace(Expr.match[type],"");if(!anyFound){return[];}
+break;}}}
+if(expr==old){if(anyFound==null){throw"Syntax error, unrecognized expression: "+expr;}else{break;}}
+old=expr;}
+return curLoop;};var Expr=Sizzle.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(elem){return elem.getAttribute("href");}},relative:{"+":function(checkSet,part,isXML){var isPartStr=typeof part==="string",isTag=isPartStr&&!/\W/.test(part),isPartStrNotTag=isPartStr&&!isTag;if(isTag&&!isXML){part=part.toUpperCase();}
+for(var i=0,l=checkSet.length,elem;i<l;i++){if((elem=checkSet[i])){while((elem=elem.previousSibling)&&elem.nodeType!==1){}
+checkSet[i]=isPartStrNotTag||elem&&elem.nodeName===part?elem||false:elem===part;}}
+if(isPartStrNotTag){Sizzle.filter(part,checkSet,true);}},">":function(checkSet,part,isXML){var isPartStr=typeof part==="string";if(isPartStr&&!/\W/.test(part)){part=isXML?part:part.toUpperCase();for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){var parent=elem.parentNode;checkSet[i]=parent.nodeName===part?parent:false;}}}else{for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){checkSet[i]=isPartStr?elem.parentNode:elem.parentNode===part;}}
+if(isPartStr){Sizzle.filter(part,checkSet,true);}}},"":function(checkSet,part,isXML){var doneName=done++,checkFn=dirCheck;if(!part.match(/\W/)){var nodeCheck=part=isXML?part:part.toUpperCase();checkFn=dirNodeCheck;}
+checkFn("parentNode",part,doneName,checkSet,nodeCheck,isXML);},"~":function(checkSet,part,isXML){var doneName=done++,checkFn=dirCheck;if(typeof part==="string"&&!part.match(/\W/)){var nodeCheck=part=isXML?part:part.toUpperCase();checkFn=dirNodeCheck;}
+checkFn("previousSibling",part,doneName,checkSet,nodeCheck,isXML);}},find:{ID:function(match,context,isXML){if(typeof context.getElementById!=="undefined"&&!isXML){var m=context.getElementById(match[1]);return m?[m]:[];}},NAME:function(match,context,isXML){if(typeof context.getElementsByName!=="undefined"){var ret=[],results=context.getElementsByName(match[1]);for(var i=0,l=results.length;i<l;i++){if(results[i].getAttribute("name")===match[1]){ret.push(results[i]);}}
+return ret.length===0?null:ret;}},TAG:function(match,context){return context.getElementsByTagName(match[1]);}},preFilter:{CLASS:function(match,curLoop,inplace,result,not,isXML){match=" "+match[1].replace(/\\/g,"")+" ";if(isXML){return match;}
+for(var i=0,elem;(elem=curLoop[i])!=null;i++){if(elem){if(not^(elem.className&&(" "+elem.className+" ").indexOf(match)>=0)){if(!inplace)
+result.push(elem);}else if(inplace){curLoop[i]=false;}}}
+return false;},ID:function(match){return match[1].replace(/\\/g,"");},TAG:function(match,curLoop){for(var i=0;curLoop[i]===false;i++){}
+return curLoop[i]&&isXML(curLoop[i])?match[1]:match[1].toUpperCase();},CHILD:function(match){if(match[1]=="nth"){var test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(match[2]=="even"&&"2n"||match[2]=="odd"&&"2n+1"||!/\D/.test(match[2])&&"0n+"+match[2]||match[2]);match[2]=(test[1]+(test[2]||1))-0;match[3]=test[3]-0;}
+match[0]=done++;return match;},ATTR:function(match,curLoop,inplace,result,not,isXML){var name=match[1].replace(/\\/g,"");if(!isXML&&Expr.attrMap[name]){match[1]=Expr.attrMap[name];}
+if(match[2]==="~="){match[4]=" "+match[4]+" ";}
+return match;},PSEUDO:function(match,curLoop,inplace,result,not){if(match[1]==="not"){if(match[3].match(chunker).length>1||/^\w/.test(match[3])){match[3]=Sizzle(match[3],null,null,curLoop);}else{var ret=Sizzle.filter(match[3],curLoop,inplace,true^not);if(!inplace){result.push.apply(result,ret);}
+return false;}}else if(Expr.match.POS.test(match[0])||Expr.match.CHILD.test(match[0])){return true;}
+return match;},POS:function(match){match.unshift(true);return match;}},filters:{enabled:function(elem){return elem.disabled===false&&elem.type!=="hidden";},disabled:function(elem){return elem.disabled===true;},checked:function(elem){return elem.checked===true;},selected:function(elem){elem.parentNode.selectedIndex;return elem.selected===true;},parent:function(elem){return!!elem.firstChild;},empty:function(elem){return!elem.firstChild;},has:function(elem,i,match){return!!Sizzle(match[3],elem).length;},header:function(elem){return/h\d/i.test(elem.nodeName);},text:function(elem){return"text"===elem.type;},radio:function(elem){return"radio"===elem.type;},checkbox:function(elem){return"checkbox"===elem.type;},file:function(elem){return"file"===elem.type;},password:function(elem){return"password"===elem.type;},submit:function(elem){return"submit"===elem.type;},image:function(elem){return"image"===elem.type;},reset:function(elem){return"reset"===elem.type;},button:function(elem){return"button"===elem.type||elem.nodeName.toUpperCase()==="BUTTON";},input:function(elem){return/input|select|textarea|button/i.test(elem.nodeName);}},setFilters:{first:function(elem,i){return i===0;},last:function(elem,i,match,array){return i===array.length-1;},even:function(elem,i){return i%2===0;},odd:function(elem,i){return i%2===1;},lt:function(elem,i,match){return i<match[3]-0;},gt:function(elem,i,match){return i>match[3]-0;},nth:function(elem,i,match){return match[3]-0==i;},eq:function(elem,i,match){return match[3]-0==i;}},filter:{PSEUDO:function(elem,match,i,array){var name=match[1],filter=Expr.filters[name];if(filter){return filter(elem,i,match,array);}else if(name==="contains"){return(elem.textContent||elem.innerText||"").indexOf(match[3])>=0;}else if(name==="not"){var not=match[3];for(var i=0,l=not.length;i<l;i++){if(not[i]===elem){return false;}}
+return true;}},CHILD:function(elem,match){var type=match[1],node=elem;switch(type){case'only':case'first':while(node=node.previousSibling){if(node.nodeType===1)return false;}
+if(type=='first')return true;node=elem;case'last':while(node=node.nextSibling){if(node.nodeType===1)return false;}
+return true;case'nth':var first=match[2],last=match[3];if(first==1&&last==0){return true;}
+var doneName=match[0],parent=elem.parentNode;if(parent&&(parent.sizcache!==doneName||!elem.nodeIndex)){var count=0;for(node=parent.firstChild;node;node=node.nextSibling){if(node.nodeType===1){node.nodeIndex=++count;}}
+parent.sizcache=doneName;}
+var diff=elem.nodeIndex-last;if(first==0){return diff==0;}else{return(diff%first==0&&diff/first>=0);}}},ID:function(elem,match){return elem.nodeType===1&&elem.getAttribute("id")===match;},TAG:function(elem,match){return(match==="*"&&elem.nodeType===1)||elem.nodeName===match;},CLASS:function(elem,match){return(" "+(elem.className||elem.getAttribute("class"))+" ").indexOf(match)>-1;},ATTR:function(elem,match){var name=match[1],result=Expr.attrHandle[name]?Expr.attrHandle[name](elem):elem[name]!=null?elem[name]:elem.getAttribute(name),value=result+"",type=match[2],check=match[4];return result==null?type==="!=":type==="="?value===check:type==="*="?value.indexOf(check)>=0:type==="~="?(" "+value+" ").indexOf(check)>=0:!check?value&&result!==false:type==="!="?value!=check:type==="^="?value.indexOf(check)===0:type==="$="?value.substr(value.length-check.length)===check:type==="|="?value===check||value.substr(0,check.length+1)===check+"-":false;},POS:function(elem,match,i,array){var name=match[2],filter=Expr.setFilters[name];if(filter){return filter(elem,i,match,array);}}}};var origPOS=Expr.match.POS;for(var type in Expr.match){Expr.match[type]=RegExp(Expr.match[type].source+/(?![^\[]*\])(?![^\(]*\))/.source);}
+var makeArray=function(array,results){array=Array.prototype.slice.call(array);if(results){results.push.apply(results,array);return results;}
+return array;};try{Array.prototype.slice.call(document.documentElement.childNodes);}catch(e){makeArray=function(array,results){var ret=results||[];if(toString.call(array)==="[object Array]"){Array.prototype.push.apply(ret,array);}else{if(typeof array.length==="number"){for(var i=0,l=array.length;i<l;i++){ret.push(array[i]);}}else{for(var i=0;array[i];i++){ret.push(array[i]);}}}
+return ret;};}
+var sortOrder;if(document.documentElement.compareDocumentPosition){sortOrder=function(a,b){var ret=a.compareDocumentPosition(b)&4?-1:a===b?0:1;if(ret===0){hasDuplicate=true;}
+return ret;};}else if("sourceIndex"in document.documentElement){sortOrder=function(a,b){var ret=a.sourceIndex-b.sourceIndex;if(ret===0){hasDuplicate=true;}
+return ret;};}else if(document.createRange){sortOrder=function(a,b){var aRange=a.ownerDocument.createRange(),bRange=b.ownerDocument.createRange();aRange.selectNode(a);aRange.collapse(true);bRange.selectNode(b);bRange.collapse(true);var ret=aRange.compareBoundaryPoints(Range.START_TO_END,bRange);if(ret===0){hasDuplicate=true;}
+return ret;};}
+(function(){var form=document.createElement("form"),id="script"+(new Date).getTime();form.innerHTML="<input name='"+id+"'/>";var root=document.documentElement;root.insertBefore(form,root.firstChild);if(!!document.getElementById(id)){Expr.find.ID=function(match,context,isXML){if(typeof context.getElementById!=="undefined"&&!isXML){var m=context.getElementById(match[1]);return m?m.id===match[1]||typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id").nodeValue===match[1]?[m]:undefined:[];}};Expr.filter.ID=function(elem,match){var node=typeof elem.getAttributeNode!=="undefined"&&elem.getAttributeNode("id");return elem.nodeType===1&&node&&node.nodeValue===match;};}
+root.removeChild(form);})();(function(){var div=document.createElement("div");div.appendChild(document.createComment(""));if(div.getElementsByTagName("*").length>0){Expr.find.TAG=function(match,context){var results=context.getElementsByTagName(match[1]);if(match[1]==="*"){var tmp=[];for(var i=0;results[i];i++){if(results[i].nodeType===1){tmp.push(results[i]);}}
+results=tmp;}
+return results;};}
+div.innerHTML="<a href='#'></a>";if(div.firstChild&&typeof div.firstChild.getAttribute!=="undefined"&&div.firstChild.getAttribute("href")!=="#"){Expr.attrHandle.href=function(elem){return elem.getAttribute("href",2);};}})();if(document.querySelectorAll)(function(){var oldSizzle=Sizzle,div=document.createElement("div");div.innerHTML="<p class='TEST'></p>";if(div.querySelectorAll&&div.querySelectorAll(".TEST").length===0){return;}
+Sizzle=function(query,context,extra,seed){context=context||document;if(!seed&&context.nodeType===9&&!isXML(context)){try{return makeArray(context.querySelectorAll(query),extra);}catch(e){}}
+return oldSizzle(query,context,extra,seed);};Sizzle.find=oldSizzle.find;Sizzle.filter=oldSizzle.filter;Sizzle.selectors=oldSizzle.selectors;Sizzle.matches=oldSizzle.matches;})();if(document.getElementsByClassName&&document.documentElement.getElementsByClassName)(function(){var div=document.createElement("div");div.innerHTML="<div class='test e'></div><div class='test'></div>";if(div.getElementsByClassName("e").length===0)
+return;div.lastChild.className="e";if(div.getElementsByClassName("e").length===1)
+return;Expr.order.splice(1,0,"CLASS");Expr.find.CLASS=function(match,context,isXML){if(typeof context.getElementsByClassName!=="undefined"&&!isXML){return context.getElementsByClassName(match[1]);}};})();function dirNodeCheck(dir,cur,doneName,checkSet,nodeCheck,isXML){var sibDir=dir=="previousSibling"&&!isXML;for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){if(sibDir&&elem.nodeType===1){elem.sizcache=doneName;elem.sizset=i;}
+elem=elem[dir];var match=false;while(elem){if(elem.sizcache===doneName){match=checkSet[elem.sizset];break;}
+if(elem.nodeType===1&&!isXML){elem.sizcache=doneName;elem.sizset=i;}
+if(elem.nodeName===cur){match=elem;break;}
+elem=elem[dir];}
+checkSet[i]=match;}}}
+function dirCheck(dir,cur,doneName,checkSet,nodeCheck,isXML){var sibDir=dir=="previousSibling"&&!isXML;for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){if(sibDir&&elem.nodeType===1){elem.sizcache=doneName;elem.sizset=i;}
+elem=elem[dir];var match=false;while(elem){if(elem.sizcache===doneName){match=checkSet[elem.sizset];break;}
+if(elem.nodeType===1){if(!isXML){elem.sizcache=doneName;elem.sizset=i;}
+if(typeof cur!=="string"){if(elem===cur){match=true;break;}}else if(Sizzle.filter(cur,[elem]).length>0){match=elem;break;}}
+elem=elem[dir];}
+checkSet[i]=match;}}}
+var contains=document.compareDocumentPosition?function(a,b){return a.compareDocumentPosition(b)&16;}:function(a,b){return a!==b&&(a.contains?a.contains(b):true);};var isXML=function(elem){return elem.nodeType===9&&elem.documentElement.nodeName!=="HTML"||!!elem.ownerDocument&&isXML(elem.ownerDocument);};var posProcess=function(selector,context){var tmpSet=[],later="",match,root=context.nodeType?[context]:context;while((match=Expr.match.PSEUDO.exec(selector))){later+=match[0];selector=selector.replace(Expr.match.PSEUDO,"");}
+selector=Expr.relative[selector]?selector+"*":selector;for(var i=0,l=root.length;i<l;i++){Sizzle(selector,root[i],tmpSet);}
+return Sizzle.filter(later,tmpSet);};jQuery.find=Sizzle;jQuery.filter=Sizzle.filter;jQuery.expr=Sizzle.selectors;jQuery.expr[":"]=jQuery.expr.filters;Sizzle.selectors.filters.hidden=function(elem){return elem.offsetWidth===0||elem.offsetHeight===0;};Sizzle.selectors.filters.visible=function(elem){return elem.offsetWidth>0||elem.offsetHeight>0;};Sizzle.selectors.filters.animated=function(elem){return jQuery.grep(jQuery.timers,function(fn){return elem===fn.elem;}).length;};jQuery.multiFilter=function(expr,elems,not){if(not){expr=":not("+expr+")";}
+return Sizzle.matches(expr,elems);};jQuery.dir=function(elem,dir){var matched=[],cur=elem[dir];while(cur&&cur!=document){if(cur.nodeType==1)
+matched.push(cur);cur=cur[dir];}
+return matched;};jQuery.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;};jQuery.sibling=function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType==1&&n!=elem)
+r.push(n);}
+return r;};return;window.Sizzle=Sizzle;})();jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8)
+return;if(elem.setInterval&&elem!=window)
+elem=window;if(!handler.guid)
+handler.guid=this.guid++;if(data!==undefined){var fn=handler;handler=this.proxy(fn);handler.data=data;}
+var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){return typeof jQuery!=="undefined"&&!jQuery.event.triggered?jQuery.event.handle.apply(arguments.callee.elem,arguments):undefined;});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var namespaces=type.split(".");type=namespaces.shift();handler.type=namespaces.slice().sort().join(".");var handlers=events[type];if(jQuery.event.specialAll[type])
+jQuery.event.specialAll[type].setup.call(elem,data,namespaces);if(!handlers){handlers=events[type]={};if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem,data,namespaces)===false){if(elem.addEventListener)
+elem.addEventListener(type,handle,false);else if(elem.attachEvent)
+elem.attachEvent("on"+type,handle);}}
+handlers[handler.guid]=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8)
+return;var events=jQuery.data(elem,"events"),ret,index;if(events){if(types===undefined||(typeof types==="string"&&types.charAt(0)=="."))
+for(var type in events)
+this.remove(elem,type+(types||""));else{if(types.type){handler=types.handler;types=types.type;}
+jQuery.each(types.split(/\s+/),function(index,type){var namespaces=type.split(".");type=namespaces.shift();var namespace=RegExp("(^|\\.)"+namespaces.slice().sort().join(".*\\.")+"(\\.|$)");if(events[type]){if(handler)
+delete events[type][handler.guid];else
+for(var handle in events[type])
+if(namespace.test(events[type][handle].type))
+delete events[type][handle];if(jQuery.event.specialAll[type])
+jQuery.event.specialAll[type].teardown.call(elem,namespaces);for(ret in events[type])break;if(!ret){if(!jQuery.event.special[type]||jQuery.event.special[type].teardown.call(elem,namespaces)===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];}}});}
+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(event,data,elem,bubbling){var type=event.type||event;if(!bubbling){event=typeof event==="object"?event[expando]?event:jQuery.extend(jQuery.Event(type),event):jQuery.Event(type);if(type.indexOf("!")>=0){event.type=type=type.slice(0,-1);event.exclusive=true;}
+if(!elem){event.stopPropagation();if(this.global[type])
+jQuery.each(jQuery.cache,function(){if(this.events&&this.events[type])
+jQuery.event.trigger(event,data,this.handle.elem);});}
+if(!elem||elem.nodeType==3||elem.nodeType==8)
+return undefined;event.result=undefined;event.target=elem;data=jQuery.makeArray(data);data.unshift(event);}
+event.currentTarget=elem;var handle=jQuery.data(elem,"handle");if(handle)
+handle.apply(elem,data);if((!elem[type]||(jQuery.nodeName(elem,'a')&&type=="click"))&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)
+event.result=false;if(!bubbling&&elem[type]&&!event.isDefaultPrevented()&&!(jQuery.nodeName(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]();}catch(e){}}
+this.triggered=false;if(!event.isPropagationStopped()){var parent=elem.parentNode||elem.ownerDocument;if(parent)
+jQuery.event.trigger(event,data,parent,true);}},handle:function(event){var all,handlers;event=arguments[0]=jQuery.event.fix(event||window.event);event.currentTarget=this;var namespaces=event.type.split(".");event.type=namespaces.shift();all=!namespaces.length&&!event.exclusive;var namespace=RegExp("(^|\\.)"+namespaces.slice().sort().join(".*\\.")+"(\\.|$)");handlers=(jQuery.data(this,"events")||{})[event.type];for(var j in handlers){var handler=handlers[j];if(all||namespace.test(handler.type)){event.handler=handler;event.data=handler.data;var ret=handler.apply(this,arguments);if(ret!==undefined){event.result=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}
+if(event.isImmediatePropagationStopped())
+break;}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(event){if(event[expando])
+return event;var originalEvent=event;event=jQuery.Event(originalEvent);for(var i=this.props.length,prop;i;){prop=this.props[--i];event[prop]=originalEvent[prop];}
+if(!event.target)
+event.target=event.srcElement||document;if(event.target.nodeType==3)
+event.target=event.target.parentNode;if(!event.relatedTarget&&event.fromElement)
+event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;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);}
+if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode))
+event.which=event.charCode||event.keyCode;if(!event.metaKey&&event.ctrlKey)
+event.metaKey=event.ctrlKey;if(!event.which&&event.button)
+event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));return event;},proxy:function(fn,proxy){proxy=proxy||function(){return fn.apply(this,arguments);};proxy.guid=fn.guid=fn.guid||proxy.guid||this.guid++;return proxy;},special:{ready:{setup:bindReady,teardown:function(){}}},specialAll:{live:{setup:function(selector,namespaces){jQuery.event.add(this,namespaces[0],liveHandler);},teardown:function(namespaces){if(namespaces.length){var remove=0,name=RegExp("(^|\\.)"+namespaces[0]+"(\\.|$)");jQuery.each((jQuery.data(this,"events").live||{}),function(){if(name.test(this.type))
+remove++;});if(remove<1)
+jQuery.event.remove(this,namespaces[0],liveHandler);}}}}};jQuery.Event=function(src){if(!this.preventDefault)
+return new jQuery.Event(src);if(src&&src.type){this.originalEvent=src;this.type=src.type;}else
+this.type=src;this.timeStamp=now();this[expando]=true;};function returnFalse(){return false;}
+function returnTrue(){return true;}
+jQuery.Event.prototype={preventDefault:function(){this.isDefaultPrevented=returnTrue;var e=this.originalEvent;if(!e)
+return;if(e.preventDefault)
+e.preventDefault();e.returnValue=false;},stopPropagation:function(){this.isPropagationStopped=returnTrue;var e=this.originalEvent;if(!e)
+return;if(e.stopPropagation)
+e.stopPropagation();e.cancelBubble=true;},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=returnTrue;this.stopPropagation();},isDefaultPrevented:returnFalse,isPropagationStopped:returnFalse,isImmediatePropagationStopped:returnFalse};var withinElement=function(event){var parent=event.relatedTarget;while(parent&&parent!=this)
+try{parent=parent.parentNode;}
+catch(e){parent=this;}
+if(parent!=this){event.type=event.data;jQuery.event.handle.apply(this,arguments);}};jQuery.each({mouseover:'mouseenter',mouseout:'mouseleave'},function(orig,fix){jQuery.event.special[fix]={setup:function(){jQuery.event.add(this,orig,withinElement,fix);},teardown:function(){jQuery.event.remove(this,orig,withinElement);}};});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){var one=jQuery.event.proxy(fn||data,function(event){jQuery(this).unbind(event,one);return(fn||data).apply(this,arguments);});return this.each(function(){jQuery.event.add(this,type,one,fn&&data);});},unbind:function(type,fn){return this.each(function(){jQuery.event.remove(this,type,fn);});},trigger:function(type,data){return this.each(function(){jQuery.event.trigger(type,data,this);});},triggerHandler:function(type,data){if(this[0]){var event=jQuery.Event(type);event.preventDefault();event.stopPropagation();jQuery.event.trigger(event,data,this[0]);return event.result;}},toggle:function(fn){var args=arguments,i=1;while(i<args.length)
+jQuery.event.proxy(fn,args[i++]);return this.click(jQuery.event.proxy(fn,function(event){this.lastToggle=(this.lastToggle||0)%i;event.preventDefault();return args[this.lastToggle++].apply(this,arguments)||false;}));},hover:function(fnOver,fnOut){return this.mouseenter(fnOver).mouseleave(fnOut);},ready:function(fn){bindReady();if(jQuery.isReady)
+fn.call(document,jQuery);else
+jQuery.readyList.push(fn);return this;},live:function(type,fn){var proxy=jQuery.event.proxy(fn);proxy.guid+=this.selector+type;jQuery(document).bind(liveConvert(type,this.selector),this.selector,proxy);return this;},die:function(type,fn){jQuery(document).unbind(liveConvert(type,this.selector),fn?{guid:fn.guid+this.selector+type}:null);return this;}});function liveHandler(event){var check=RegExp("(^|\\.)"+event.type+"(\\.|$)"),stop=true,elems=[];jQuery.each(jQuery.data(this,"events").live||[],function(i,fn){if(check.test(fn.type)){var elem=jQuery(event.target).closest(fn.data)[0];if(elem)
+elems.push({elem:elem,fn:fn});}});elems.sort(function(a,b){return jQuery.data(a.elem,"closest")-jQuery.data(b.elem,"closest");});jQuery.each(elems,function(){if(this.fn.call(this.elem,event,this.fn.data)===false)
+return(stop=false);});return stop;}
+function liveConvert(type,selector){return["live",type,selector.replace(/\./g,"`").replace(/ /g,"|")].join(".");}
+jQuery.extend({isReady:false,readyList:[],ready:function(){if(!jQuery.isReady){jQuery.isReady=true;if(jQuery.readyList){jQuery.each(jQuery.readyList,function(){this.call(document,jQuery);});jQuery.readyList=null;}
+jQuery(document).triggerHandler("ready");}}});var readyBound=false;function bindReady(){if(readyBound)return;readyBound=true;if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);jQuery.ready();},false);}else if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);jQuery.ready();}});if(document.documentElement.doScroll&&window==window.top)(function(){if(jQuery.isReady)return;try{document.documentElement.doScroll("left");}catch(error){setTimeout(arguments.callee,0);return;}
+jQuery.ready();})();}
+jQuery.event.add(window,"load",jQuery.ready);}
+jQuery.each(("blur,focus,load,resize,scroll,unload,click,dblclick,"+"mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,"+"change,select,submit,keydown,keypress,keyup,error").split(","),function(i,name){jQuery.fn[name]=function(fn){return fn?this.bind(name,fn):this.trigger(name);};});jQuery(window).bind('unload',function(){for(var id in jQuery.cache)
+if(id!=1&&jQuery.cache[id].handle)
+jQuery.event.remove(jQuery.cache[id].handle.elem);});(function(){jQuery.support={};var root=document.documentElement,script=document.createElement("script"),div=document.createElement("div"),id="script"+(new Date).getTime();div.style.display="none";div.innerHTML='   <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';var all=div.getElementsByTagName("*"),a=div.getElementsByTagName("a")[0];if(!all||!all.length||!a){return;}
+jQuery.support={leadingWhitespace:div.firstChild.nodeType==3,tbody:!div.getElementsByTagName("tbody").length,objectAll:!!div.getElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSerialize:!!div.getElementsByTagName("link").length,style:/red/.test(a.getAttribute("style")),hrefNormalized:a.getAttribute("href")==="/a",opacity:a.style.opacity==="0.5",cssFloat:!!a.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};script.type="text/javascript";try{script.appendChild(document.createTextNode("window."+id+"=1;"));}catch(e){}
+root.insertBefore(script,root.firstChild);if(window[id]){jQuery.support.scriptEval=true;delete window[id];}
+root.removeChild(script);if(div.attachEvent&&div.fireEvent){div.attachEvent("onclick",function(){jQuery.support.noCloneEvent=false;div.detachEvent("onclick",arguments.callee);});div.cloneNode(true).fireEvent("onclick");}
+jQuery(function(){var div=document.createElement("div");div.style.width=div.style.paddingLeft="1px";document.body.appendChild(div);jQuery.boxModel=jQuery.support.boxModel=div.offsetWidth===2;document.body.removeChild(div).style.display='none';});})();var styleFloat=jQuery.support.cssFloat?"cssFloat":"styleFloat";jQuery.props={"for":"htmlFor","class":"className","float":styleFloat,cssFloat:styleFloat,styleFloat:styleFloat,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};jQuery.fn.extend({_load:jQuery.fn.load,load:function(url,params,callback){if(typeof url!=="string")
+return this._load(url);var off=url.indexOf(" ");if(off>=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}
+var type="GET";if(params)
+if(jQuery.isFunction(params)){callback=params;params=null;}else if(typeof params==="object"){params=jQuery.param(params);type="POST";}
+var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified")
+self.html(selector?jQuery("<div/>").append(res.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(selector):res.responseText);if(callback)
+self.each(callback,[res.responseText,status,res]);}});return this;},serialize:function(){return jQuery.param(this.serializeArray());},serializeArray:function(){return this.map(function(){return this.elements?jQuery.makeArray(this.elements):this;}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type));}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:jQuery.isArray(val)?jQuery.map(val,function(val,i){return{name:elem.name,value:val};}):{name:elem.name,value:val};}).get();}});jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=now();jQuery.extend({get:function(url,data,callback,type){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:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(s){s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));var jsonp,jsre=/=\?(&|$)/g,status,data,type=s.type.toUpperCase();if(s.data&&s.processData&&typeof s.data!=="string")
+s.data=jQuery.param(s.data);if(s.dataType=="jsonp"){if(type=="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";}
+if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++;if(s.data)
+s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";window[jsonp]=function(tmp){data=tmp;success();complete();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&&type=="GET"){var ts=now();var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"");}
+if(s.data&&type=="GET"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data;s.data=null;}
+if(s.global&&!jQuery.active++)
+jQuery.event.trigger("ajaxStart");var parts=/^(\w+:)?\/\/([^\/?#]+)/.exec(s.url);if(s.dataType=="script"&&type=="GET"&&parts&&(parts[1]&&parts[1]!=location.protocol||parts[2]!=location.host)){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=s.url;if(s.scriptCharset)
+script.charset=s.scriptCharset;if(!jsonp){var done=false;script.onload=script.onreadystatechange=function(){if(!done&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){done=true;success();complete();script.onload=script.onreadystatechange=null;head.removeChild(script);}};}
+head.appendChild(script);return undefined;}
+var requestDone=false;var xhr=s.xhr();if(s.username)
+xhr.open(type,s.url,s.async,s.username,s.password);else
+xhr.open(type,s.url,s.async);try{if(s.data)
+xhr.setRequestHeader("Content-Type",s.contentType);if(s.ifModified)
+xhr.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");xhr.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default);}catch(e){}
+if(s.beforeSend&&s.beforeSend(xhr,s)===false){if(s.global&&!--jQuery.active)
+jQuery.event.trigger("ajaxStop");xhr.abort();return false;}
+if(s.global)
+jQuery.event.trigger("ajaxSend",[xhr,s]);var onreadystatechange=function(isTimeout){if(xhr.readyState==0){if(ival){clearInterval(ival);ival=null;if(s.global&&!--jQuery.active)
+jQuery.event.trigger("ajaxStop");}}else if(!requestDone&&xhr&&(xhr.readyState==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival=null;}
+status=isTimeout=="timeout"?"timeout":!jQuery.httpSuccess(xhr)?"error":s.ifModified&&jQuery.httpNotModified(xhr,s.url)?"notmodified":"success";if(status=="success"){try{data=jQuery.httpData(xhr,s.dataType,s);}catch(e){status="parsererror";}}
+if(status=="success"){var modRes;try{modRes=xhr.getResponseHeader("Last-Modified");}catch(e){}
+if(s.ifModified&&modRes)
+jQuery.lastModified[s.url]=modRes;if(!jsonp)
+success();}else
+jQuery.handleError(s,xhr,status);complete();if(isTimeout)
+xhr.abort();if(s.async)
+xhr=null;}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout>0)
+setTimeout(function(){if(xhr&&!requestDone)
+onreadystatechange("timeout");},s.timeout);}
+try{xhr.send(s.data);}catch(e){jQuery.handleError(s,xhr,null,e);}
+if(!s.async)
+onreadystatechange();function success(){if(s.success)
+s.success(data,status);if(s.global)
+jQuery.event.trigger("ajaxSuccess",[xhr,s]);}
+function complete(){if(s.complete)
+s.complete(xhr,status);if(s.global)
+jQuery.event.trigger("ajaxComplete",[xhr,s]);if(s.global&&!--jQuery.active)
+jQuery.event.trigger("ajaxStop");}
+return xhr;},handleError:function(s,xhr,status,e){if(s.error)s.error(xhr,status,e);if(s.global)
+jQuery.event.trigger("ajaxError",[xhr,s,e]);},active:0,httpSuccess:function(xhr){try{return!xhr.status&&location.protocol=="file:"||(xhr.status>=200&&xhr.status<300)||xhr.status==304||xhr.status==1223;}catch(e){}
+return false;},httpNotModified:function(xhr,url){try{var xhrRes=xhr.getResponseHeader("Last-Modified");return xhr.status==304||xhrRes==jQuery.lastModified[url];}catch(e){}
+return false;},httpData:function(xhr,type,s){var ct=xhr.getResponseHeader("content-type"),xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0,data=xml?xhr.responseXML:xhr.responseText;if(xml&&data.documentElement.tagName=="parsererror")
+throw"parsererror";if(s&&s.dataFilter)
+data=s.dataFilter(data,type);if(typeof data==="string"){if(type=="script")
+jQuery.globalEval(data);if(type=="json")
+data=window["eval"]("("+data+")");}
+return data;},param:function(a){var s=[];function add(key,value){s[s.length]=encodeURIComponent(key)+'='+encodeURIComponent(value);};if(jQuery.isArray(a)||a.jquery)
+jQuery.each(a,function(){add(this.name,this.value);});else
+for(var j in a)
+if(jQuery.isArray(a[j]))
+jQuery.each(a[j],function(){add(j,this);});else
+add(j,jQuery.isFunction(a[j])?a[j]():a[j]);return s.join("&").replace(/%20/g,"+");}});var elemdisplay={},timerId,fxAttrs=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function genFx(type,num){var obj={};jQuery.each(fxAttrs.concat.apply([],fxAttrs.slice(0,num)),function(){obj[this]=type;});return obj;}
+jQuery.fn.extend({show:function(speed,callback){if(speed){return this.animate(genFx("show",3),speed,callback);}else{for(var i=0,l=this.length;i<l;i++){var old=jQuery.data(this[i],"olddisplay");this[i].style.display=old||"";if(jQuery.css(this[i],"display")==="none"){var tagName=this[i].tagName,display;if(elemdisplay[tagName]){display=elemdisplay[tagName];}else{var elem=jQuery("<"+tagName+" />").appendTo("body");display=elem.css("display");if(display==="none")
+display="block";elem.remove();elemdisplay[tagName]=display;}
+jQuery.data(this[i],"olddisplay",display);}}
+for(var i=0,l=this.length;i<l;i++){this[i].style.display=jQuery.data(this[i],"olddisplay")||"";}
+return this;}},hide:function(speed,callback){if(speed){return this.animate(genFx("hide",3),speed,callback);}else{for(var i=0,l=this.length;i<l;i++){var old=jQuery.data(this[i],"olddisplay");if(!old&&old!=="none")
+jQuery.data(this[i],"olddisplay",jQuery.css(this[i],"display"));}
+for(var i=0,l=this.length;i<l;i++){this[i].style.display="none";}
+return this;}},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){var bool=typeof fn==="boolean";return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle.apply(this,arguments):fn==null||bool?this.each(function(){var state=bool?fn:jQuery(this).is(":hidden");jQuery(this)[state?"show":"hide"]();}):this.animate(genFx("toggle",3),fn,fn2);},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(){var opt=jQuery.extend({},optall),p,hidden=this.nodeType==1&&jQuery(this).is(":hidden"),self=this;for(p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)
+return opt.complete.call(this);if((p=="height"||p=="width")&&this.style){opt.display=jQuery.css(this,"display");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";if(unit!="px"){self.style[name]=(end||1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit;}
+if(parts[1])
+end=((parts[1]=="-="?-1:1)*end)+start;e.custom(start,end,unit);}else
+e.custom(start,val,"");}});return true;});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue)
+this.queue([]);this.each(function(){for(var i=timers.length-1;i>=0;i--)
+if(timers[i].elem==this){if(gotoEnd)
+timers[i](true);timers.splice(i,1);}});if(!gotoEnd)
+this.dequeue();return this;}});jQuery.each({slideDown:genFx("show",1),slideUp:genFx("hide",1),slideToggle:genFx("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(name,props){jQuery.fn[name]=function(speed,callback){return this.animate(props,speed,callback);};});jQuery.extend({speed:function(speed,easing,fn){var opt=typeof speed==="object"?speed:{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&!jQuery.isFunction(easing)&&easing};opt.duration=jQuery.fx.off?0:typeof opt.duration==="number"?opt.duration:jQuery.fx.speeds[opt.duration]||jQuery.fx.speeds._default;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false)
+jQuery(this).dequeue();if(jQuery.isFunction(opt.old))
+opt.old.call(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:[],fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;if(!options.orig)
+options.orig={};}});jQuery.fx.prototype={update:function(){if(this.options.step)
+this.options.step.call(this.elem,this.now,this);(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style)
+this.elem.style.display="block";},cur:function(force){if(this.elem[this.prop]!=null&&(!this.elem.style||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;},custom:function(from,to,unit){this.startTime=now();this.start=from;this.end=to;this.unit=unit||this.unit||"px";this.now=this.start;this.pos=this.state=0;var self=this;function t(gotoEnd){return self.step(gotoEnd);}
+t.elem=this.elem;if(t()&&jQuery.timers.push(t)&&!timerId){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(timerId);timerId=undefined;}},13);}},show:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.show=true;this.custom(this.prop=="width"||this.prop=="height"?1:0,this.cur());jQuery(this.elem).show();},hide:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0);},step:function(gotoEnd){var t=now();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){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,"display")=="none")
+this.elem.style.display="block";}
+if(this.options.hide)
+jQuery(this.elem).hide();if(this.options.hide||this.options.show)
+for(var p in this.options.curAnim)
+jQuery.attr(this.elem.style,p,this.options.orig[p]);this.options.complete.call(this.elem);}
+return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;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);this.update();}
+return true;}};jQuery.extend(jQuery.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(fx){jQuery.attr(fx.elem.style,"opacity",fx.now);},_default:function(fx){if(fx.elem.style&&fx.elem.style[fx.prop]!=null)
+fx.elem.style[fx.prop]=fx.now+fx.unit;else
+fx.elem[fx.prop]=fx.now;}}});if(document.documentElement["getBoundingClientRect"])
+jQuery.fn.offset=function(){if(!this[0])return{top:0,left:0};if(this[0]===this[0].ownerDocument.body)return jQuery.offset.bodyOffset(this[0]);var box=this[0].getBoundingClientRect(),doc=this[0].ownerDocument,body=doc.body,docElem=doc.documentElement,clientTop=docElem.clientTop||body.clientTop||0,clientLeft=docElem.clientLeft||body.clientLeft||0,top=box.top+(self.pageYOffset||jQuery.boxModel&&docElem.scrollTop||body.scrollTop)-clientTop,left=box.left+(self.pageXOffset||jQuery.boxModel&&docElem.scrollLeft||body.scrollLeft)-clientLeft;return{top:top,left:left};};else
+jQuery.fn.offset=function(){if(!this[0])return{top:0,left:0};if(this[0]===this[0].ownerDocument.body)return jQuery.offset.bodyOffset(this[0]);jQuery.offset.initialized||jQuery.offset.initialize();var elem=this[0],offsetParent=elem.offsetParent,prevOffsetParent=elem,doc=elem.ownerDocument,computedStyle,docElem=doc.documentElement,body=doc.body,defaultView=doc.defaultView,prevComputedStyle=defaultView.getComputedStyle(elem,null),top=elem.offsetTop,left=elem.offsetLeft;while((elem=elem.parentNode)&&elem!==body&&elem!==docElem){computedStyle=defaultView.getComputedStyle(elem,null);top-=elem.scrollTop,left-=elem.scrollLeft;if(elem===offsetParent){top+=elem.offsetTop,left+=elem.offsetLeft;if(jQuery.offset.doesNotAddBorder&&!(jQuery.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(elem.tagName)))
+top+=parseInt(computedStyle.borderTopWidth,10)||0,left+=parseInt(computedStyle.borderLeftWidth,10)||0;prevOffsetParent=offsetParent,offsetParent=elem.offsetParent;}
+if(jQuery.offset.subtractsBorderForOverflowNotVisible&&computedStyle.overflow!=="visible")
+top+=parseInt(computedStyle.borderTopWidth,10)||0,left+=parseInt(computedStyle.borderLeftWidth,10)||0;prevComputedStyle=computedStyle;}
+if(prevComputedStyle.position==="relative"||prevComputedStyle.position==="static")
+top+=body.offsetTop,left+=body.offsetLeft;if(prevComputedStyle.position==="fixed")
+top+=Math.max(docElem.scrollTop,body.scrollTop),left+=Math.max(docElem.scrollLeft,body.scrollLeft);return{top:top,left:left};};jQuery.offset={initialize:function(){if(this.initialized)return;var body=document.body,container=document.createElement('div'),innerDiv,checkDiv,table,td,rules,prop,bodyMarginTop=body.style.marginTop,html='<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';rules={position:'absolute',top:0,left:0,margin:0,border:0,width:'1px',height:'1px',visibility:'hidden'};for(prop in rules)container.style[prop]=rules[prop];container.innerHTML=html;body.insertBefore(container,body.firstChild);innerDiv=container.firstChild,checkDiv=innerDiv.firstChild,td=innerDiv.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(checkDiv.offsetTop!==5);this.doesAddBorderForTableAndCells=(td.offsetTop===5);innerDiv.style.overflow='hidden',innerDiv.style.position='relative';this.subtractsBorderForOverflowNotVisible=(checkDiv.offsetTop===-5);body.style.marginTop='1px';this.doesNotIncludeMarginInBodyOffset=(body.offsetTop===0);body.style.marginTop=bodyMarginTop;body.removeChild(container);this.initialized=true;},bodyOffset:function(body){jQuery.offset.initialized||jQuery.offset.initialize();var top=body.offsetTop,left=body.offsetLeft;if(jQuery.offset.doesNotIncludeMarginInBodyOffset)
+top+=parseInt(jQuery.curCSS(body,'marginTop',true),10)||0,left+=parseInt(jQuery.curCSS(body,'marginLeft',true),10)||0;return{top:top,left:left};}};jQuery.fn.extend({position:function(){var left=0,top=0,results;if(this[0]){var offsetParent=this.offsetParent(),offset=this.offset(),parentOffset=/^body|html$/i.test(offsetParent[0].tagName)?{top:0,left:0}:offsetParent.offset();offset.top-=num(this,'marginTop');offset.left-=num(this,'marginLeft');parentOffset.top+=num(offsetParent,'borderTopWidth');parentOffset.left+=num(offsetParent,'borderLeftWidth');results={top:offset.top-parentOffset.top,left:offset.left-parentOffset.left};}
+return results;},offsetParent:function(){var offsetParent=this[0].offsetParent||document.body;while(offsetParent&&(!/^body|html$/i.test(offsetParent.tagName)&&jQuery.css(offsetParent,'position')=='static'))
+offsetParent=offsetParent.offsetParent;return jQuery(offsetParent);}});jQuery.each(['Left','Top'],function(i,name){var method='scroll'+name;jQuery.fn[method]=function(val){if(!this[0])return null;return val!==undefined?this.each(function(){this==window||this==document?window.scrollTo(!i?val:jQuery(window).scrollLeft(),i?val:jQuery(window).scrollTop()):this[method]=val;}):this[0]==window||this[0]==document?self[i?'pageYOffset':'pageXOffset']||jQuery.boxModel&&document.documentElement[method]||document.body[method]:this[0][method];};});jQuery.each(["Height","Width"],function(i,name){var tl=i?"Left":"Top",br=i?"Right":"Bottom",lower=name.toLowerCase();jQuery.fn["inner"+name]=function(){return this[0]?jQuery.css(this[0],lower,false,"padding"):null;};jQuery.fn["outer"+name]=function(margin){return this[0]?jQuery.css(this[0],lower,false,margin?"margin":"border"):null;};var type=name.toLowerCase();jQuery.fn[type]=function(size){return this[0]==window?document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(document.documentElement["client"+name],document.body["scroll"+name],document.documentElement["scroll"+name],document.body["offset"+name],document.documentElement["offset"+name]):size===undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,typeof size==="string"?size:size+"px");};});})();(function($){$.fn.ajaxSubmit=function(options){if(!this.length){log('ajaxSubmit: skipping submit process - no element selected');return this;}
+if(typeof options=='function')
+options={success:options};options=$.extend({url:this.attr('action')||window.location.toString(),type:this.attr('method')||'GET'},options||{});var veto={};this.trigger('form-pre-serialize',[this,options,veto]);if(veto.veto){log('ajaxSubmit: submit vetoed via form-pre-serialize trigger');return this;}
+var a=this.formToArray(options.semantic);if(options.data){options.extraData=options.data;for(var n in options.data)
+a.push({name:n,value:options.data[n]});}
+if(options.beforeSubmit&&options.beforeSubmit(a,this,options)===false){log('ajaxSubmit: submit aborted via beforeSubmit callback');return this;}
+this.trigger('form-submit-validate',[a,this,options,veto]);if(veto.veto){log('ajaxSubmit: submit vetoed via form-submit-validate trigger');return this;}
+var q=$.param(a);if(options.type.toUpperCase()=='GET'){options.url+=(options.url.indexOf('?')>=0?'&':'?')+q;options.data=null;}
+else
+options.data=q;var $form=this,callbacks=[];if(options.resetForm)callbacks.push(function(){$form.resetForm();});if(options.clearForm)callbacks.push(function(){$form.clearForm();});if(!options.dataType&&options.target){var oldSuccess=options.success||function(){};callbacks.push(function(data){$(options.target).html(data).each(oldSuccess,arguments);});}
+else if(options.success)
+callbacks.push(options.success);options.success=function(data,status){for(var i=0,max=callbacks.length;i<max;i++)
+callbacks[i](data,status,$form);};var files=$('input:file',this).fieldValue();var found=false;for(var j=0;j<files.length;j++)
+if(files[j])
+found=true;if(options.iframe||found){if($.browser.safari&&options.closeKeepAlive)
+$.get(options.closeKeepAlive,fileUpload);else
+fileUpload();}
+else
+$.ajax(options);this.trigger('form-submit-notify',[this,options]);return this;function fileUpload(){var form=$form[0];if($(':input[@name=submit]',form).length){alert('Error: Form elements must not be named "submit".');return;}
+var opts=$.extend({},$.ajaxSettings,options);var id='jqFormIO'+(new Date().getTime());var $io=$('<iframe id="'+id+'" name="'+id+'" />');var io=$io[0];if($.browser.msie||$.browser.opera)
+io.src='javascript:false;document.write("");';$io.css({position:'absolute',top:'-1000px',left:'-1000px'});var xhr={responseText:null,responseXML:null,status:0,statusText:'n/a',getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){}};var g=opts.global;if(g&&!$.active++)$.event.trigger("ajaxStart");if(g)$.event.trigger("ajaxSend",[xhr,opts]);var cbInvoked=0;var timedOut=0;var sub=form.clk;if(sub){var n=sub.name;if(n&&!sub.disabled){options.extraData=options.extraData||{};options.extraData[n]=sub.value;if(sub.type=="image"){options.extraData[name+'.x']=form.clk_x;options.extraData[name+'.y']=form.clk_y;}}}
+setTimeout(function(){var t=$form.attr('target'),a=$form.attr('action');$form.attr({target:id,encoding:'multipart/form-data',enctype:'multipart/form-data',method:'POST',action:opts.url});if(opts.timeout)
+setTimeout(function(){timedOut=true;cb();},opts.timeout);var extraInputs=[];try{if(options.extraData)
+for(var n in options.extraData)
+extraInputs.push($('<input type="hidden" name="'+n+'" value="'+options.extraData[n]+'" />').appendTo(form)[0]);$io.appendTo('body');io.attachEvent?io.attachEvent('onload',cb):io.addEventListener('load',cb,false);form.submit();}
+finally{$form.attr('action',a);t?$form.attr('target',t):$form.removeAttr('target');$(extraInputs).remove();}},10);function cb(){if(cbInvoked++)return;io.detachEvent?io.detachEvent('onload',cb):io.removeEventListener('load',cb,false);var operaHack=0;var ok=true;try{if(timedOut)throw'timeout';var data,doc;doc=io.contentWindow?io.contentWindow.document:io.contentDocument?io.contentDocument:io.document;if(doc.body==null&&!operaHack&&$.browser.opera){operaHack=1;cbInvoked--;setTimeout(cb,100);return;}
+xhr.responseText=doc.body?doc.body.innerHTML:null;xhr.responseXML=doc.XMLDocument?doc.XMLDocument:doc;xhr.getResponseHeader=function(header){var headers={'content-type':opts.dataType};return headers[header];};if(opts.dataType=='json'||opts.dataType=='script'){var ta=doc.getElementsByTagName('textarea')[0];xhr.responseText=ta?ta.value:xhr.responseText;}
+else if(opts.dataType=='xml'&&!xhr.responseXML&&xhr.responseText!=null){xhr.responseXML=toXml(xhr.responseText);}
+data=$.httpData(xhr,opts.dataType);}
+catch(e){ok=false;$.handleError(opts,xhr,'error',e);}
+if(ok){opts.success(data,'success');if(g)$.event.trigger("ajaxSuccess",[xhr,opts]);}
+if(g)$.event.trigger("ajaxComplete",[xhr,opts]);if(g&&!--$.active)$.event.trigger("ajaxStop");if(opts.complete)opts.complete(xhr,ok?'success':'error');setTimeout(function(){$io.remove();xhr.responseXML=null;},100);};function toXml(s,doc){if(window.ActiveXObject){doc=new ActiveXObject('Microsoft.XMLDOM');doc.async='false';doc.loadXML(s);}
+else
+doc=(new DOMParser()).parseFromString(s,'text/xml');return(doc&&doc.documentElement&&doc.documentElement.tagName!='parsererror')?doc:null;};};};$.fn.ajaxForm=function(options){return this.ajaxFormUnbind().bind('submit.form-plugin',function(){$(this).ajaxSubmit(options);return false;}).each(function(){$(":submit,input:image",this).bind('click.form-plugin',function(e){var $form=this.form;$form.clk=this;if(this.type=='image'){if(e.offsetX!=undefined){$form.clk_x=e.offsetX;$form.clk_y=e.offsetY;}else if(typeof $.fn.offset=='function'){var offset=$(this).offset();$form.clk_x=e.pageX-offset.left;$form.clk_y=e.pageY-offset.top;}else{$form.clk_x=e.pageX-this.offsetLeft;$form.clk_y=e.pageY-this.offsetTop;}}
+setTimeout(function(){$form.clk=$form.clk_x=$form.clk_y=null;},10);});});};$.fn.ajaxFormUnbind=function(){this.unbind('submit.form-plugin');return this.each(function(){$(":submit,input:image",this).unbind('click.form-plugin');});};$.fn.formToArray=function(semantic){var a=[];if(this.length==0)return a;var form=this[0];var els=semantic?form.getElementsByTagName('*'):form.elements;if(!els)return a;for(var i=0,max=els.length;i<max;i++){var el=els[i];var n=el.name;if(!n)continue;if(semantic&&form.clk&&el.type=="image"){if(!el.disabled&&form.clk==el)
+a.push({name:n+'.x',value:form.clk_x},{name:n+'.y',value:form.clk_y});continue;}
+var v=$.fieldValue(el,true);if(v&&v.constructor==Array){for(var j=0,jmax=v.length;j<jmax;j++)
+a.push({name:n,value:v[j]});}
+else if(v!==null&&typeof v!='undefined')
+a.push({name:n,value:v});}
+if(!semantic&&form.clk){var inputs=form.getElementsByTagName("input");for(var i=0,max=inputs.length;i<max;i++){var input=inputs[i];var n=input.name;if(n&&!input.disabled&&input.type=="image"&&form.clk==input)
+a.push({name:n+'.x',value:form.clk_x},{name:n+'.y',value:form.clk_y});}}
+return a;};$.fn.formSerialize=function(semantic){return $.param(this.formToArray(semantic));};$.fn.fieldSerialize=function(successful){var a=[];this.each(function(){var n=this.name;if(!n)return;var v=$.fieldValue(this,successful);if(v&&v.constructor==Array){for(var i=0,max=v.length;i<max;i++)
+a.push({name:n,value:v[i]});}
+else if(v!==null&&typeof v!='undefined')
+a.push({name:this.name,value:v});});return $.param(a);};$.fn.fieldValue=function(successful){for(var val=[],i=0,max=this.length;i<max;i++){var el=this[i];var v=$.fieldValue(el,successful);if(v===null||typeof v=='undefined'||(v.constructor==Array&&!v.length))
+continue;v.constructor==Array?$.merge(val,v):val.push(v);}
+return val;};$.fieldValue=function(el,successful){var n=el.name,t=el.type,tag=el.tagName.toLowerCase();if(typeof successful=='undefined')successful=true;if(successful&&(!n||el.disabled||t=='reset'||t=='button'||(t=='checkbox'||t=='radio')&&!el.checked||(t=='submit'||t=='image')&&el.form&&el.form.clk!=el||tag=='select'&&el.selectedIndex==-1))
+return null;if(tag=='select'){var index=el.selectedIndex;if(index<0)return null;var a=[],ops=el.options;var one=(t=='select-one');var max=(one?index+1:ops.length);for(var i=(one?index:0);i<max;i++){var op=ops[i];if(op.selected){var v=$.browser.msie&&!(op.attributes['value'].specified)?op.text:op.value;if(one)return v;a.push(v);}}
+return a;}
+return el.value;};$.fn.clearForm=function(){return this.each(function(){$('input,select,textarea',this).clearFields();});};$.fn.clearFields=$.fn.clearInputs=function(){return this.each(function(){var t=this.type,tag=this.tagName.toLowerCase();if(t=='text'||t=='password'||tag=='textarea')
+this.value='';else if(t=='checkbox'||t=='radio')
+this.checked=false;else if(tag=='select')
+this.selectedIndex=-1;});};$.fn.resetForm=function(){return this.each(function(){if(typeof this.reset=='function'||(typeof this.reset=='object'&&!this.reset.nodeType))
+this.reset();});};$.fn.enable=function(b){if(b==undefined)b=true;return this.each(function(){this.disabled=!b});};$.fn.select=function(select){if(select==undefined)select=true;return this.each(function(){var t=this.type;if(t=='checkbox'||t=='radio')
+this.checked=select;else if(this.tagName.toLowerCase()=='option'){var $sel=$(this).parent('select');if(select&&$sel[0]&&$sel[0].type=='select-one'){$sel.find('option').select(false);}
+this.selected=select;}});};function log(){if($.fn.ajaxSubmit.debug&&window.console&&window.console.log)
+window.console.log('[jquery.form] '+Array.prototype.join.call(arguments,''));};})(jQuery);var TO_LOAD_INDEX=0;var TO_LOAD=new Array;var MARKITUP=false;var UNBIND=false;var GOTOAFTERSUBMIT='';$(function(){load_jquery();});function load_jquery(){if(UNBIND){if(MARKITUP){$("*").not(".markItUpButton").unbind();}else{$("*").unbind();}}
+UNBIND=true;$("a.submit").click(function(){$(this).parents("form").submit();if($(this).attr('href')!='#'){GOTOAFTERSUBMIT=$(this).attr('href');}
+return false;});$("a.submitOnce").click(function(){$(this).parents("form").submit();$(this).unbind('click');return false;});$("a.submitWait").click(function(){$(this).parents("form").after('<p class="center">'+$(this).attr('title')+'<br /><br /><img src="'+IMG_CUBE+'/loader.gif" /></p>');$(this).parents("form").submit();$(this).parents("form").hide();return false;});$("form").submit(function(){$(this).attr('change','0');return true;});$("form.blank").each(function(){$(this).attr('target','_blank');$(this).removeClass('_blank');});$("form").not(".notajax").submit(function(){display_loader();$(this).ajaxSubmit({url:SITE_PATH+'ajax/'+$(this).attr('action'),success:function(data){MyAjax(data);if(GOTOAFTERSUBMIT!=''){window.location=GOTOAFTERSUBMIT;GOTOAFTERSUBMIT='';}}});return false;});$(".notajax form").unbind();$("form.submitonchange :input").each(function(){$(this).one('change',function(){$(this).parents("form").submit();});});$(":input").change(function(){$(this).parents("form").attr("change",1);});$("a.ajax").click(function(){var title=$(this).attr('title');var href=$(this).attr('rel');if(title!=''&&title!=undefined&&title.search(/\?/)>-1){if(!window.confirm(title)){return false;}}
+if($(this).hasClass('wait')){wait();}
+display_loader();$.ajax({url:SITE_PATH+'ajax/'+href,success:function(data){MyAjax(data);}});return false;});$("a.dajax").dblclick(function(){var title=$(this).attr('title');var href=$(this).attr('rel');if(title!=''&&title!=undefined&&title.search(/\?/)>=0){if(!window.confirm(title)){return false;}}
+display_loader();$.ajax({url:SITE_PATH+'ajax/'+href,success:function(data){MyAjax(data);}});return false;});$("a.ajaxh").click(function(){var title=$(this).attr('title');var href=$(this).attr('href');if(title!=''&&title!=undefined&&title.search(/\?/)>=0){if(!window.confirm(title)){return false;}}
+display_loader();$.ajax({url:href,success:function(data){MyAjax(data);}});return false;});$("a.prompt").click(function(){var href=$(this).attr('rel');var defaut=$(this).attr('rev');var name=window.prompt($(this).attr('title'),defaut);if(name==null||name=='null'||name==''){return false;}
+display_loader();$.ajax({url:SITE_PATH+'ajax/'+href+'?var='+name,success:function(data){MyAjax(data);}});return false;});$("a.closePopup").click(function(){closePopup($(this),true);return false;});$("a.closePopupNotConfirm").click(function(){closePopup($(this),false);return false;});$("a.popup").click(function(){display_loader();$.ajax({url:SITE_PATH+'ajax/'+$(this).attr('rel'),dataType:'responseText',success:function(data){createPopup(data);}});remove_loader();return false;});$("a.changepopup").click(function(){display_loader();$.ajax({url:SITE_PATH+'ajax/'+$(this).attr('rel'),dataType:'responseText',success:function(data){changepopup(data);load_jquery();}});remove_loader();return false;});$("a.blank").click(function(){$(this).attr('target','_blank');return true;});$("a.nothing").click(function(){return false;});$(".pemail").each(function(){var protected=$(this).text();var adresse=rot13(protected);$(this).text(adresse);$(this).attr('href','mailto:'+adresse);$(this).removeClass('pemail');});var len=TO_LOAD.length;for(var i=0;i<len;i++){eval(TO_LOAD[i]);}
+__fixPNG();if($("#jquery_time").length>0&&$("#jquery_time").text()==''){var E=new Date();var m=(parseInt(E-S)/1000).toString().replace('.',',');$("#jquery_time").text(m);}}
+function randval(min,max){var diff=max-min;return Math.round(Math.random()*diff)+diff;}
+function rot(t,u,v){return String.fromCharCode(((t-u+v)%(v*2))+u);}
+function rot13(s){var b=[],c,i=s.length,a='a'.charCodeAt(),z=a+26,A='A'.charCodeAt(),Z=A+26;while(i--){c=s.charCodeAt(i);if(c>=a&&c<z){b[i]=rot(c,a,13);}else if(c>=A&&c<Z){b[i]=rot(c,A,13);}else{b[i]=s.charAt(i);}}
+return b.join('');}
+function createPopup(data){POPUP_COUNTER=parseInt(POPUP_COUNTER);$("body").append('<div id="pl_'+POPUP_COUNTER+'" class="popupLayer"><div class="popupOverlay" id="po_'+POPUP_COUNTER+'" style="z-index:'+(1000+POPUP_COUNTER*2)+';"></div><div id="pw_'+POPUP_COUNTER+'" class="popupWindow" style="z-index:'+(1001+POPUP_COUNTER*2)+';"></div></div>');$("#po_"+POPUP_COUNTER).css('opacity',0.65);$("#po_"+POPUP_COUNTER).css('display','block');$("#pw_"+POPUP_COUNTER).html(data);$("#pw_"+POPUP_COUNTER).show();popup_dimensions(POPUP_COUNTER);load_jquery();POPUP_COUNTER+=1;}
+function closePopup(object,confirm){if(object==undefined||object==null){var i=$(".popupLayer").length-1;var elements=$(".popupLayer").get();var e=elements[i];var changes=false;$(this).find("form").each(function(){if($(this).attr("change")==1){changes=true;}});if(confirm==false||(changes==true&&window.confirm(CONFIRM_CLOSE))||changes==false){$(e).remove();POPUP_COUNTER-=1;popup_dimensions();}}else{$(object).parents(".popupLayer").each(function(){var changes=false;$(this).find("form").each(function(){if($(this).attr("change")==1){changes=true;}});if(confirm==false||(changes==true&&window.confirm(CONFIRM_CLOSE))||changes==false){$(this).remove();POPUP_COUNTER-=1;popup_dimensions();}});}}
+function popup_dimensions(i){if(i==undefined){i=POPUP_COUNTER-1;}
+if(i<0){return;}
+var margin=30;var mh=$(window).height()-(margin*2);if(!$.browser.msie){$("#pw_"+i).css("opacity",0);}
+$("#pw_"+i+" .c>div").css("overflow-y",'auto');$("#pw_"+i+" .c>div").css("overflow-x",'visible');$("#pw_"+i+" .c>div").css("max-height",mh);$("#pw_"+i).css("left",($(window).width()-$("#pw_"+i).width())/2);if($("#pw_"+i+" .c>div").attr('top')){$("#pw_"+i).css("top",parseInt($("#pw_"+i+" .c>div").attr('top')));}else{var top=(mh-$("#pw_"+i).height())/2+margin;$("#pw_"+i).css("top",top);}
+if(!$.browser.msie){$("#pw_"+i).css("opacity",1);}}
+function changepopup(data){var pc=POPUP_COUNTER-1;$("#pw_"+pc).html(data);popup_dimensions(pc);}
+function checkUpload(){if($.browser.msie){var iframe=uploadIframe.document;}else{var uploadIframe=document.getElementById('uploadIframe');var iframe=uploadIframe.contentDocument;}
+if(iframe.getElementById('status')!=undefined&&iframe.contentDocument.getElementById('status').innerHTML!=undefined){clearInterval(INTERVAL);$.ajax({url:UPDATE,success:function(data){MyAjax(data);}});if(iframe.getElementById('status').innerHTML!='ok'){window.alert(ERREUR_FICHIER+' : \n'+iframe.getElementById('status').innerHTML);}
+if(POPUP_COUNTER>0){closePopup(null,false);}
+$("#uploadIframe").remove();}}
+function isSet(i){return(i==null||i=='null'||i==''||i=='undefined');}
+function callAjaxSwf(urlLink){$.ajax({url:urlLink,success:function(data){MyAjax(data);}});}
+function swfAjax(data){MyAjax(strToXML(data));}
+function MyAjax(data,reload){var error=new Array();var confirmation='';var ok=true;var t=$(data).children('rsp').children().get();for(var i=0;i<t.length;i++){var e=t[i];var name=e.nodeName;if(name=='confirmation'){var contentconfirm=$(e).text();confirmation+="<p>"+contentconfirm+"</p>";}else if(name=='error'){var errors=$(e).children().get();for(var j=0;j<errors.length;j++){var err=errors[j];var ename=err.nodeName;var econtent=$(err).text();$("#"+ename).addClass('error');$("#"+ename).val('');error.push(econtent);ok=false;}}else if(name=='content'){var contents=$(e).children().get();for(var k=0;k<contents.length;k++){var content=contents[k];var cname=content.nodeName;var ccontent=$(content).text();if(ccontent==''){$("#"+cname).html(ccontent);}else{$("#"+cname).html(ccontent);}
+if(POPUP_COUNTER-1>=0){popup_dimensions(POPUP_COUNTER-1);}}}else if(name=='replace'){var contents=$(e).children().get();for(var k=0;k<contents.length;k++){var content=contents[k];var cname=content.nodeName;var ccontent=$(content).text();if(ccontent==''){$("#"+cname).replaceWith(ccontent);}else{$("#"+cname).replaceWith(ccontent);}
+if(POPUP_COUNTER-1>=0){popup_dimensions(POPUP_COUNTER-1);}}}else if(name=='append'){var contents=$(e).children().get();for(var k=0;k<contents.length;k++){var content=contents[k];var cname=content.nodeName;var ccontent=$(content).text();if(ccontent==''){$("#"+cname).append(ccontent);}else{$("#"+cname).append(ccontent);}
+if(POPUP_COUNTER-1>=0){popup_dimensions(POPUP_COUNTER-1);}}}else if(name=='param'){var ids=$(e).children().get();for(var p=0;p<ids.length;p++){var id=ids[p];var idname=id.nodeName;var params=$(id).children().get();var o={};for(var q=0;q<params.length;q++){var param=params[q];var paramname=param.nodeName;var paramcontent=$(param).text();o[paramname]=paramcontent;}
+$("#"+idname).attr(o);$("#"+idname).parents("form").unbind('submit');}}else if(name=='alert'){var alerts=$(e).children().get();for(var r=0;r<alerts.length;r++){var alert=alerts[r];var acontent=$(alert).text();window.alert(acontent);}}else if(name=='ok'){var oks=$(e).children().get();for(var l=0;l<oks.length;l++){var ok=oks[l];var oname=ok.nodeName.toLowerCase();$("#"+oname).removeClass('error');}}else if(name=='redirection'){var url=$(e).text();window.location=url;}else if(name=='show'){var oks=$(e).children().get();for(var l=0;l<oks.length;l++){var ok=oks[l];var oname=ok.nodeName;$("#"+oname).show('fast');}}else if(name=='debug'){}else if(name=='eval'){var codes=$(e).children().get();for(var r=0;r<codes.length;r++){var code=codes[r];eval($(code).text());}}else if(name=='closepopup'){var closes=$(e).children().get();for(var cp=0;cp<closes.length;cp++){closePopup(null,false);}}else if(name=='openpopup'){var opens=$(e).children().get();for(var op=0;op<opens.length;op++){var cont=opens[op];createPopup($(cont).text());}}else if(name=='changepopup'){var changes=$(e).children().get();for(var cp=0;cp<changes.length;cp++){var cont=changes[cp];changepopup($(cont).text());}}
+else if(name=='popupdimensions'){popup_dimensions();}
+else if(name=='truepopup'){var trues=$(e).children().get();for(var tp=0;tp<trues.length;tp++){var cont=trues[tp];truePopup($(cont).text());}}else if(name=='timer'){var time=parseInt($(e).text());var t=setTimeout("doNothing()",time);}else if(name=='value'){var values=$(e).children().get();for(var v=0;v<values.length;v++){var node=values[v];var oname=node.nodeName;var val=$("#"+oname).val($(node).text());}}}
+if(error.length>0){$("#message").html(error.join('<br />'));}else{$("#message").html('');}
+if(confirmation!=''){$("#confirmation").html(confirmation);$("#confirmation").animate({height:26,opacity:1},2000,function(){$("#confirmation").fadeTo(10000,1,function(){$("#confirmation").animate({height:0,opacity:0},2000);$("#confirmation").empty();});});}
+if(reload==true||reload==undefined){load_jquery();}
+remove_loader();return ok;}
+function truePopup(url){var rand=Math.round(Math.random()*200);window.open(url,'Popup'+rand,'width='+window.width+',height='+window.height);}
+function _fixPNG(){var png;var images=$('img[src*="png"]:not([fixed="fixed"])');images.each(function(){png=$(this).attr('src');$(this).attr('src',IMG_CUBE+'/spacer.gif');$(this).css('filter',"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+png+"')");$(this).attr('fixed','fixed');});}
+function __fixPNG(){if($.browser.msie&&parseInt(navigator.userAgent.match(/MSIE (\d+(?:\.\d+)+(?:b\d*)?)/)[1])<=6){_fixPNG();}}
+function getWindowHeight(){var windowHeight=0;if(typeof(window.innerHeight)=='number'){windowHeight=window.innerHeight;}
+else{if(document.documentElement&&document.documentElement.clientHeight){windowHeight=document.documentElement.clientHeight;}
+else{if(document.body&&document.body.clientHeight){windowHeight=document.body.clientHeight;}}}
+return windowHeight;}
+function getWindowWidth(){var myWidth=0;if(typeof(window.innerWidth)=='number'){myWidth=window.innerWidth;}
+else if(document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight)){myWidth=document.documentElement.clientWidth;}
+else if(document.body&&(document.body.clientWidth||document.body.clientHeight)){myWidth=document.body.clientWidth;}
+return myWidth;}
+function doNothing(){}
+function htmlEditorGetText(id){var text=document.getElementById(id).value;return'<TEXTFORMAT LEADING="2"><P ALIGN="LEFT">'+text+'</P></TEXTFORMAT>';}
+function htmlEditorPutText(id,text){document.getElementById(id).value=text;}
+function display_loader(){if(LOADER_AJAX==''){}else{$("body").append('<div id="loader"><img src="'+LOADER_AJAX+'" /></div>');}}
+function remove_loader(){if(LOADER_AJAX==''){}else{$("#loader").remove();}}
+function URLEncode(clearString){var output='';var x=0;clearString=clearString.toString();var regex=/(^[a-zA-Z0-9_.]*)/;while(x<clearString.length){var match=regex.exec(clearString.substr(x));if(match!=null&&match.length>1&&match[1]!=''){output+=match[1];x+=match[1].length;}else{if(clearString[x]==' ')
+output+='+';else{var charCode=clearString.charCodeAt(x);var hexVal=charCode.toString(16);output+='%'+(hexVal.length<2?'0':'')+hexVal.toUpperCase();}
+x++;}}
+return output;}
+function strToXML(str){var contentType='application/xml';if(typeof(DOMParser)!='undefined'){return(new DOMParser()).parseFromString(str.substr(0,4095),contentType);}else if(typeof(ActiveXObject)!='undefined'){var xmldata=new ActiveXObject('MSXML.DomDocument');xmldata.async=false;xmldata.loadXML(str);return xmldata;}else if(typeof(XMLHttpRequest)!='undefined'){var xmldata=new XMLHttpRequest;if(!contentType){contentType='application/xml';}
+xmldata.open('GET','data:'+contentType+';charset=utf-8,'+encodeURIComponent(str),false);if(xmldata.overrideMimeType){xmldata.overrideMimeType(contentType);}
+xmldata.send(null);return xmldata.responseXML;}}
+TO_LOAD_INDEX++;TO_LOAD[TO_LOAD_INDEX]='load_truepopups();';function load_truepopups(){$(".truePopup").click(function(){var rev=$(this).attr('rev');if(!rev||rev==''){var n='PopupFS'+randval(1000,9999).toString();}else{n=rev;}
+$(this).attr('rel',$(this).attr('rel').replace(/screen.height/,screen.height));$(this).attr('rel',$(this).attr('rel').replace(/screen.width/,screen.width));window.open($(this).attr('href'),n,$(this).attr('rel'));return false;});$(".popupFS").click(function(){var rev=$(this).attr('rev');if(!rev||rev==''){var n='PopupFS'+randval(1000,9999).toString();}else{n=rev;}
+window.open($(this).attr('href'),n,'width='+screen.width+',height='+screen.height+',resizable=yes');return false;});$(".popupA4").click(function(){var rev=$(this).attr('rev');if(!rev||rev==''){var n='PopupFS'+randval(1000,9999).toString();}else{n=rev;}
+var h=screen.height;var w=h/1.5;window.open($(this).attr('href'),n,'width='+w+',height='+h+',resizable=yes');return false;});}
+TO_LOAD_INDEX++;TO_LOAD[TO_LOAD_INDEX]='load_extranet();';FIRST_LOAD=true;function load_extranet(){if($("#devisAdresse #client_nom").length){$("#devisAdresse #client_nom").autocomplete(SITE_PATH+'autocomplete/client',{cacheLength:0,maxItemsToShow:15,onFindValue:findClient,onItemSelect:findClient});}
+if($("#factureAdresse #projet_nom").length){$("#factureAdresse #projet_nom").autocomplete(SITE_PATH+'autocomplete/projet',{cacheLength:0,maxItemsToShow:15,onFindValue:findProjet,onItemSelect:findProjet});}
+if($(".dashboard").length>=1&&$("#dash").length>=1){$("#dash").sortable('destroy');if(FIRST_LOAD){FIRST_LOAD=false;}else{FIRST_LOAD=true;$.ajax({url:SITE_PATH+'ajax/reloadDashboards',success:function(data){MyAjax(data);}});}
+$("#dash").sortable({opacity:0.6,axis:"y",handle:".caption",stop:function(e,ui){$.ajax({url:SITE_PATH+'ajax/orderDashboards?'+$("#dash").sortable('serialize')});resize();}});}
+if($("#devisLignes").length>=1){$("#devisLignes").sortable('destroy');$("#devisLignes").sortable({opacity:0.6,axis:"y"});}
+$(".timereport_field").change(function(){var val=parseInt($(this).val());if(isNaN(val)){val=0;}
+var f=this;var id=$(this).attr('id');var a=id.split('_');$.ajax({url:SITE_PATH+'ajax/saveTimereport/'+a[1]+'/'+a[2]+'/'+val,success:function(data){FIRST_LOAD=true;MyAjax(data);var td=$(f).parents('td').get(0);if(parseFloat($(f).val())>0){$(td).addClass('filled');}else{$(td).removeClass('filled');}}});});$("#dash .toggle").click(function(){var rel=$(this).attr('rel');var div=$(this).parents('.dashboard').get(0);var liste=$(div).find('.liste');$(liste).slideToggle('fast',function(){resize();});$(this).toggleClass('close');$.ajax({url:SITE_PATH+'ajax/toggleDashboard/'+rel});return false;});$(".filtre .bt").click(function(){var ul=$(this).parent().parent().children('ul');$(ul).slideToggle('fast');return false;});$(".filtre ul").click(function(e){if(e.target.nodeName=='INPUT'||e.target.nodeName=='LABEL'){return true;}
+$(this).slideToggle('fast');});$(".filtre span").click(function(){var ul=$(this).parent().children('ul');$(ul).slideToggle('fast');});$(".filtre input").change(function(){var form=$(this).parents('form').get(0);var uls=$(form).find("ul");var divs=$(form).find(".input");var spans=$(form).find("span");var i,j,k,ul,lis,li,input,label,checked,div,titre,t,t1,allc,inputs;for(i=0;i<uls.length;i++){div=divs[i];titre=Array();ul=uls[i];lis=$(ul).children("li");allc=$(lis).get(0);checked=0;for(j=1;j<lis.length;j++){li=lis[j];input=$(li).find('input').get(0);label=$(li).find('label').get(0);if(input.checked){checked++;titre.push($(label).text());}}
+if(checked==0){$(div).find('span').text($(allc).text());$(div).find('a').attr('title',$(allc).text());$(div).removeClass('active');inputs=$(ul).find('input');for(k=0;k<inputs.length;k++){inputs[k].checked=true;}}else if(checked==lis.length-1){$(div).find('span').text($(allc).text());$(div).find('a').attr('title',$(allc).text());$(div).removeClass('active');}else{t=titre.join(', ');if(t.length>20){t1=t.substr(0,16)+'...';}else{t1=t;}
+$(div).find('span').text(t1);$(div).find('a').attr('title',t);$(div).addClass('active');}}
+return true;});$(window).resize(function(){resize();});resize();}
+function resize(){var allh=$("#header").height()+$("#footer").height()+$("#bar").height()+$("#main .content").height()+13+30;var h=Math.max($(window).height(),allh);var mh=h-$("#header").height()-$("#footer").height()-$("#bar").height()-30-13;mh=Math.max(mh,450);$("#main").css('height',mh);}
+function findClient(li){var client=li.selectValue.split(' - ');if(client.length<=1){return;}
+var client_id=parseInt(client[0]);$("#client").val(client_id);$.ajax({url:SITE_PATH+'ajax/getAdresseForDevis/'+client_id,success:function(data){MyAjax(data);}});}
+function findProjet(li){var projet=li.selectValue.split(' - ');if(projet.length<=1){return;}
+var projet_id=parseInt(projet[0]);$("#projet").val(projet_id);$.ajax({url:SITE_PATH+'ajax/getAdresseForFacture/'+projet_id,success:function(data){MyAjax(data);}});}
+function refreshFiles(){$.ajax({url:SITE_PATH+'ajax/refreshFichiers',success:function(data){MyAjax(data);}});}
\ No newline at end of file
diff --git a/js/merged-d07698.js b/js/merged-d07698.js
new file mode 100644 (file)
index 0000000..15e7bda
--- /dev/null
@@ -0,0 +1,573 @@
+
+(function(){var
+window=this,undefined,_jQuery=window.jQuery,_$=window.$,jQuery=window.jQuery=window.$=function(selector,context){return new jQuery.fn.init(selector,context);},quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,isSimple=/^.[^:#\[\.,]*$/;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;this.context=selector;return this;}
+if(typeof selector==="string"){var match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1])
+selector=jQuery.clean([match[1]],context);else{var elem=document.getElementById(match[3]);if(elem&&elem.id!=match[3])
+return jQuery().find(selector);var ret=jQuery(elem||[]);ret.context=document;ret.selector=selector;return ret;}}else
+return jQuery(context).find(selector);}else if(jQuery.isFunction(selector))
+return jQuery(document).ready(selector);if(selector.selector&&selector.context){this.selector=selector.selector;this.context=selector.context;}
+return this.setArray(jQuery.isArray(selector)?selector:jQuery.makeArray(selector));},selector:"",jquery:"1.3.2",size:function(){return this.length;},get:function(num){return num===undefined?Array.prototype.slice.call(this):this[num];},pushStack:function(elems,name,selector){var ret=jQuery(elems);ret.prevObject=this;ret.context=this.context;if(name==="find")
+ret.selector=this.selector+(this.selector?" ":"")+selector;else if(name)
+ret.selector=this.selector+"."+name+"("+selector+")";return ret;},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elems);return this;},each:function(callback,args){return jQuery.each(this,callback,args);},index:function(elem){return jQuery.inArray(elem&&elem.jquery?elem[0]:elem,this);},attr:function(name,value,type){var options=name;if(typeof name==="string")
+if(value===undefined)
+return this[0]&&jQuery[type||"attr"](this[0],name);else{options={};options[name]=value;}
+return this.each(function(i){for(name in options)
+jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name));});},css:function(key,value){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]){var wrap=jQuery(html,this[0].ownerDocument).clone();if(this[0].parentNode)
+wrap.insertBefore(this[0]);wrap.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,function(elem){if(this.nodeType==1)
+this.appendChild(elem);});},prepend:function(){return this.domManip(arguments,true,function(elem){if(this.nodeType==1)
+this.insertBefore(elem,this.firstChild);});},before:function(){return this.domManip(arguments,false,function(elem){this.parentNode.insertBefore(elem,this);});},after:function(){return this.domManip(arguments,false,function(elem){this.parentNode.insertBefore(elem,this.nextSibling);});},end:function(){return this.prevObject||jQuery([]);},push:[].push,sort:[].sort,splice:[].splice,find:function(selector){if(this.length===1){var ret=this.pushStack([],"find",selector);ret.length=0;jQuery.find(selector,this[0],ret);return ret;}else{return this.pushStack(jQuery.unique(jQuery.map(this,function(elem){return jQuery.find(selector,elem);})),"find",selector);}},clone:function(events){var ret=this.map(function(){if(!jQuery.support.noCloneEvent&&!jQuery.isXMLDoc(this)){var html=this.outerHTML;if(!html){var div=this.ownerDocument.createElement("div");div.appendChild(this.cloneNode(true));html=div.innerHTML;}
+return jQuery.clean([html.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0];}else
+return this.cloneNode(true);});if(events===true){var orig=this.find("*").andSelf(),i=0;ret.find("*").andSelf().each(function(){if(this.nodeName!==orig[i].nodeName)
+return;var events=jQuery.data(orig[i],"events");for(var type in events){for(var handler in events[type]){jQuery.event.add(this,type,events[type][handler],events[type][handler].data);}}
+i++;});}
+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,jQuery.grep(this,function(elem){return elem.nodeType===1;})),"filter",selector);},closest:function(selector){var pos=jQuery.expr.match.POS.test(selector)?jQuery(selector):null,closer=0;return this.map(function(){var cur=this;while(cur&&cur.ownerDocument){if(pos?pos.index(cur)>-1:jQuery(cur).is(selector)){jQuery.data(cur,"closest",closer);return cur;}
+cur=cur.parentNode;closer++;}});},not:function(selector){if(typeof selector==="string")
+if(isSimple.test(selector))
+return this.pushStack(jQuery.multiFilter(selector,this,true),"not",selector);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 this.pushStack(jQuery.unique(jQuery.merge(this.get(),typeof selector==="string"?jQuery(selector):jQuery.makeArray(selector))));},is:function(selector){return!!selector&&jQuery.multiFilter(selector,this).length>0;},hasClass:function(selector){return!!selector&&this.is("."+selector);},val:function(value){if(value===undefined){var elem=this[0];if(elem){if(jQuery.nodeName(elem,'option'))
+return(elem.attributes.value||{}).specified?elem.value:elem.text;if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";if(index<0)
+return null;for(var i=one?index:0,max=one?index+1:options.length;i<max;i++){var option=options[i];if(option.selected){value=jQuery(option).val();if(one)
+return value;values.push(value);}}
+return values;}
+return(elem.value||"").replace(/\r/g,"");}
+return undefined;}
+if(typeof value==="number")
+value+='';return this.each(function(){if(this.nodeType!=1)
+return;if(jQuery.isArray(value)&&/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=jQuery.makeArray(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[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):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),"slice",Array.prototype.slice.call(arguments).join(","));},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);},domManip:function(args,table,callback){if(this[0]){var fragment=(this[0].ownerDocument||this[0]).createDocumentFragment(),scripts=jQuery.clean(args,(this[0].ownerDocument||this[0]),fragment),first=fragment.firstChild;if(first)
+for(var i=0,l=this.length;i<l;i++)
+callback.call(root(this[i],first),this.length>1||i>0?fragment.cloneNode(true):fragment);if(scripts)
+jQuery.each(scripts,evalScript);}
+return this;function root(elem,cur){return table&&jQuery.nodeName(elem,"table")&&jQuery.nodeName(cur,"tr")?(elem.getElementsByTagName("tbody")[0]||elem.appendChild(elem.ownerDocument.createElement("tbody"))):elem;}}};jQuery.fn.init.prototype=jQuery.fn;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);}
+function now(){return+new Date;}
+jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(typeof target==="boolean"){deep=target;target=arguments[1]||{};i=2;}
+if(typeof target!=="object"&&!jQuery.isFunction(target))
+target={};if(length==i){target=this;--i;}
+for(;i<length;i++)
+if((options=arguments[i])!=null)
+for(var name in options){var src=target[name],copy=options[name];if(target===copy)
+continue;if(deep&&copy&&typeof copy==="object"&&!copy.nodeType)
+target[name]=jQuery.extend(deep,src||(copy.length!=null?[]:{}),copy);else if(copy!==undefined)
+target[name]=copy;}
+return target;};var exclude=/z-?index|font-?weight|opacity|zoom|line-?height/i,defaultView=document.defaultView||{},toString=Object.prototype.toString;jQuery.extend({noConflict:function(deep){window.$=_$;if(deep)
+window.jQuery=_jQuery;return jQuery;},isFunction:function(obj){return toString.call(obj)==="[object Function]";},isArray:function(obj){return toString.call(obj)==="[object Array]";},isXMLDoc:function(elem){return elem.nodeType===9&&elem.documentElement.nodeName!=="HTML"||!!elem.ownerDocument&&jQuery.isXMLDoc(elem.ownerDocument);},globalEval:function(data){if(data&&/\S/.test(data)){var head=document.getElementsByTagName("head")[0]||document.documentElement,script=document.createElement("script");script.type="text/javascript";if(jQuery.support.scriptEval)
+script.appendChild(document.createTextNode(data));else
+script.text=data;head.insertBefore(script,head.firstChild);head.removeChild(script);}},nodeName:function(elem,name){return elem.nodeName&&elem.nodeName.toUpperCase()==name.toUpperCase();},each:function(object,callback,args){var name,i=0,length=object.length;if(args){if(length===undefined){for(name in object)
+if(callback.apply(object[name],args)===false)
+break;}else
+for(;i<length;)
+if(callback.apply(object[i++],args)===false)
+break;}else{if(length===undefined){for(name in object)
+if(callback.call(object[name],name,object[name])===false)
+break;}else
+for(var value=object[0];i<length&&callback.call(value,i,value)!==false;value=object[++i]){}}
+return object;},prop:function(elem,value,type,i,name){if(jQuery.isFunction(value))
+value=value.call(elem,i);return typeof value==="number"&&type=="curCSS"&&!exclude.test(name)?value+"px":value;},className:{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;});},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(" "):"";},has:function(elem,className){return elem&&jQuery.inArray(className,(elem.className||elem).toString().split(/\s+/))>-1;}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}
+callback.call(elem);for(var name in options)
+elem.style[name]=old[name];},css:function(elem,name,force,extra){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;if(extra==="border")
+return;jQuery.each(which,function(){if(!extra)
+val-=parseFloat(jQuery.curCSS(elem,"padding"+this,true))||0;if(extra==="margin")
+val+=parseFloat(jQuery.curCSS(elem,"margin"+this,true))||0;else
+val-=parseFloat(jQuery.curCSS(elem,"border"+this+"Width",true))||0;});}
+if(elem.offsetWidth!==0)
+getWH();else
+jQuery.swap(elem,props,getWH);return Math.max(0,Math.round(val));}
+return jQuery.curCSS(elem,name,force);},curCSS:function(elem,name,force){var ret,style=elem.style;if(name=="opacity"&&!jQuery.support.opacity){ret=jQuery.attr(style,"opacity");return ret==""?"1":ret;}
+if(name.match(/float/i))
+name=styleFloat;if(!force&&style&&style[name])
+ret=style[name];else if(defaultView.getComputedStyle){if(name.match(/float/i))
+name="float";name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var computedStyle=defaultView.getComputedStyle(elem,null);if(computedStyle)
+ret=computedStyle.getPropertyValue(name);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];if(!/^\d+(px)?$/i.test(ret)&&/^\d/.test(ret)){var left=style.left,rsLeft=elem.runtimeStyle.left;elem.runtimeStyle.left=elem.currentStyle.left;style.left=ret||0;ret=style.pixelLeft+"px";style.left=left;elem.runtimeStyle.left=rsLeft;}}
+return ret;},clean:function(elems,context,fragment){context=context||document;if(typeof context.createElement==="undefined")
+context=context.ownerDocument||context[0]&&context[0].ownerDocument||document;if(!fragment&&elems.length===1&&typeof elems[0]==="string"){var match=/^<(\w+)\s*\/?>$/.exec(elems[0]);if(match)
+return[context.createElement(match[1])];}
+var ret=[],scripts=[],div=context.createElement("div");jQuery.each(elems,function(i,elem){if(typeof elem==="number")
+elem+='';if(!elem)
+return;if(typeof elem==="string"){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+">";});var tags=elem.replace(/^\s+/,"").substring(0,10).toLowerCase();var wrap=!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>"]||(!tags.indexOf("<td")||!tags.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!tags.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||!jQuery.support.htmlSerialize&&[1,"div<div>","</div>"]||[0,"",""];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--)
+div=div.lastChild;if(!jQuery.support.tbody){var hasBody=/<tbody/i.test(elem),tbody=!tags.indexOf("<table")&&!hasBody?div.firstChild&&div.firstChild.childNodes:wrap[1]=="<table>"&&!hasBody?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]);}
+if(!jQuery.support.leadingWhitespace&&/^\s/.test(elem))
+div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]),div.firstChild);elem=jQuery.makeArray(div.childNodes);}
+if(elem.nodeType)
+ret.push(elem);else
+ret=jQuery.merge(ret,elem);});if(fragment){for(var i=0;ret[i];i++){if(jQuery.nodeName(ret[i],"script")&&(!ret[i].type||ret[i].type.toLowerCase()==="text/javascript")){scripts.push(ret[i].parentNode?ret[i].parentNode.removeChild(ret[i]):ret[i]);}else{if(ret[i].nodeType===1)
+ret.splice.apply(ret,[i+1,0].concat(jQuery.makeArray(ret[i].getElementsByTagName("script"))));fragment.appendChild(ret[i]);}}
+return scripts;}
+return ret;},attr:function(elem,name,value){if(!elem||elem.nodeType==3||elem.nodeType==8)
+return undefined;var notxml=!jQuery.isXMLDoc(elem),set=value!==undefined;name=notxml&&jQuery.props[name]||name;if(elem.tagName){var special=/href|src|style/.test(name);if(name=="selected"&&elem.parentNode)
+elem.parentNode.selectedIndex;if(name in elem&&notxml&&!special){if(set){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)
+throw"type property can't be changed";elem[name]=value;}
+if(jQuery.nodeName(elem,"form")&&elem.getAttributeNode(name))
+return elem.getAttributeNode(name).nodeValue;if(name=="tabIndex"){var attributeNode=elem.getAttributeNode("tabIndex");return attributeNode&&attributeNode.specified?attributeNode.value:elem.nodeName.match(/(button|input|object|select|textarea)/i)?0:elem.nodeName.match(/^(a|area)$/i)&&elem.href?0:undefined;}
+return elem[name];}
+if(!jQuery.support.style&&notxml&&name=="style")
+return jQuery.attr(elem.style,"cssText",value);if(set)
+elem.setAttribute(name,""+value);var attr=!jQuery.support.hrefNormalized&&notxml&&special?elem.getAttribute(name,2):elem.getAttribute(name);return attr===null?undefined:attr;}
+if(!jQuery.support.opacity&&name=="opacity"){if(set){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+
+(parseInt(value)+''=="NaN"?"":"alpha(opacity="+value*100+")");}
+return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100)+'':"";}
+name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(set)
+elem[name]=value;return elem[name];},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeArray:function(array){var ret=[];if(array!=null){var i=array.length;if(i==null||typeof array==="string"||jQuery.isFunction(array)||array.setInterval)
+ret[0]=array;else
+while(i)
+ret[--i]=array[i];}
+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){var i=0,elem,pos=first.length;if(!jQuery.support.getAll){while((elem=second[i++])!=null)
+if(elem.nodeType!=8)
+first[pos++]=elem;}else
+while((elem=second[i++])!=null)
+first[pos++]=elem;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=[];for(var i=0,length=elems.length;i<length;i++)
+if(!inv!=!callback(elems[i],i))
+ret.push(elems[i]);return ret;},map:function(elems,callback){var ret=[];for(var i=0,length=elems.length;i<length;i++){var value=callback(elems[i],i);if(value!=null)
+ret[ret.length]=value;}
+return ret.concat.apply([],ret);}});var userAgent=navigator.userAgent.toLowerCase();jQuery.browser={version:(userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,'0'])[1],safari:/webkit/.test(userAgent),opera:/opera/.test(userAgent),msie:/msie/.test(userAgent)&&!/opera/.test(userAgent),mozilla:/mozilla/.test(userAgent)&&!/(compatible|webkit)/.test(userAgent)};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),name,selector);};});jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(selector){var ret=[],insert=jQuery(selector);for(var i=0,l=insert.length;i<l;i++){var elems=(i>0?this.clone(true):this).get();jQuery.fn[original].apply(jQuery(insert[i]),elems);ret=ret.concat(elems);}
+return this.pushStack(ret,name,selector);};});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,state){if(typeof state!=="boolean")
+state=!jQuery.className.has(this,classNames);jQuery.className[state?"add":"remove"](this,classNames);},remove:function(selector){if(!selector||jQuery.filter(selector,[this]).length){jQuery("*",this).add([this]).each(function(){jQuery.event.remove(this);jQuery.removeData(this);});if(this.parentNode)
+this.parentNode.removeChild(this);}},empty:function(){jQuery(this).children().remove();while(this.firstChild)
+this.removeChild(this.firstChild);}},function(name,fn){jQuery.fn[name]=function(){return this.each(fn,arguments);};});function num(elem,prop){return elem[0]&&parseInt(jQuery.curCSS(elem[0],prop,true),10)||0;}
+var expando="jQuery"+now(),uuid=0,windowData={};jQuery.extend({cache:{},data:function(elem,name,data){elem=elem==window?windowData:elem;var id=elem[expando];if(!id)
+id=elem[expando]=++uuid;if(name&&!jQuery.cache[id])
+jQuery.cache[id]={};if(data!==undefined)
+jQuery.cache[id][name]=data;return name?jQuery.cache[id][name]:id;},removeData:function(elem,name){elem=elem==window?windowData:elem;var id=elem[expando];if(name){if(jQuery.cache[id]){delete jQuery.cache[id][name];name="";for(name in jQuery.cache[id])
+break;if(!name)
+jQuery.removeData(elem);}}else{try{delete elem[expando];}catch(e){if(elem.removeAttribute)
+elem.removeAttribute(expando);}
+delete jQuery.cache[id];}},queue:function(elem,type,data){if(elem){type=(type||"fx")+"queue";var q=jQuery.data(elem,type);if(!q||jQuery.isArray(data))
+q=jQuery.data(elem,type,jQuery.makeArray(data));else if(data)
+q.push(data);}
+return q;},dequeue:function(elem,type){var queue=jQuery.queue(elem,type),fn=queue.shift();if(!type||type==="fx")
+fn=queue[0];if(fn!==undefined)
+fn.call(elem);}});jQuery.fn.extend({data:function(key,value){var parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value===undefined){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data===undefined&&this.length)
+data=jQuery.data(this[0],key);return data===undefined&&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);});},queue:function(type,data){if(typeof type!=="string"){data=type;type="fx";}
+if(data===undefined)
+return jQuery.queue(this[0],type);return this.each(function(){var queue=jQuery.queue(this,type,data);if(type=="fx"&&queue.length==1)
+queue[0].call(this);});},dequeue:function(type){return this.each(function(){jQuery.dequeue(this,type);});}});(function(){var chunker=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,done=0,toString=Object.prototype.toString;var Sizzle=function(selector,context,results,seed){results=results||[];context=context||document;if(context.nodeType!==1&&context.nodeType!==9)
+return[];if(!selector||typeof selector!=="string"){return results;}
+var parts=[],m,set,checkSet,check,mode,extra,prune=true;chunker.lastIndex=0;while((m=chunker.exec(selector))!==null){parts.push(m[1]);if(m[2]){extra=RegExp.rightContext;break;}}
+if(parts.length>1&&origPOS.exec(selector)){if(parts.length===2&&Expr.relative[parts[0]]){set=posProcess(parts[0]+parts[1],context);}else{set=Expr.relative[parts[0]]?[context]:Sizzle(parts.shift(),context);while(parts.length){selector=parts.shift();if(Expr.relative[selector])
+selector+=parts.shift();set=posProcess(selector,set);}}}else{var ret=seed?{expr:parts.pop(),set:makeArray(seed)}:Sizzle.find(parts.pop(),parts.length===1&&context.parentNode?context.parentNode:context,isXML(context));set=Sizzle.filter(ret.expr,ret.set);if(parts.length>0){checkSet=makeArray(set);}else{prune=false;}
+while(parts.length){var cur=parts.pop(),pop=cur;if(!Expr.relative[cur]){cur="";}else{pop=parts.pop();}
+if(pop==null){pop=context;}
+Expr.relative[cur](checkSet,pop,isXML(context));}}
+if(!checkSet){checkSet=set;}
+if(!checkSet){throw"Syntax error, unrecognized expression: "+(cur||selector);}
+if(toString.call(checkSet)==="[object Array]"){if(!prune){results.push.apply(results,checkSet);}else if(context.nodeType===1){for(var i=0;checkSet[i]!=null;i++){if(checkSet[i]&&(checkSet[i]===true||checkSet[i].nodeType===1&&contains(context,checkSet[i]))){results.push(set[i]);}}}else{for(var i=0;checkSet[i]!=null;i++){if(checkSet[i]&&checkSet[i].nodeType===1){results.push(set[i]);}}}}else{makeArray(checkSet,results);}
+if(extra){Sizzle(extra,context,results,seed);if(sortOrder){hasDuplicate=false;results.sort(sortOrder);if(hasDuplicate){for(var i=1;i<results.length;i++){if(results[i]===results[i-1]){results.splice(i--,1);}}}}}
+return results;};Sizzle.matches=function(expr,set){return Sizzle(expr,null,null,set);};Sizzle.find=function(expr,context,isXML){var set,match;if(!expr){return[];}
+for(var i=0,l=Expr.order.length;i<l;i++){var type=Expr.order[i],match;if((match=Expr.match[type].exec(expr))){var left=RegExp.leftContext;if(left.substr(left.length-1)!=="\\"){match[1]=(match[1]||"").replace(/\\/g,"");set=Expr.find[type](match,context,isXML);if(set!=null){expr=expr.replace(Expr.match[type],"");break;}}}}
+if(!set){set=context.getElementsByTagName("*");}
+return{set:set,expr:expr};};Sizzle.filter=function(expr,set,inplace,not){var old=expr,result=[],curLoop=set,match,anyFound,isXMLFilter=set&&set[0]&&isXML(set[0]);while(expr&&set.length){for(var type in Expr.filter){if((match=Expr.match[type].exec(expr))!=null){var filter=Expr.filter[type],found,item;anyFound=false;if(curLoop==result){result=[];}
+if(Expr.preFilter[type]){match=Expr.preFilter[type](match,curLoop,inplace,result,not,isXMLFilter);if(!match){anyFound=found=true;}else if(match===true){continue;}}
+if(match){for(var i=0;(item=curLoop[i])!=null;i++){if(item){found=filter(item,match,i,curLoop);var pass=not^!!found;if(inplace&&found!=null){if(pass){anyFound=true;}else{curLoop[i]=false;}}else if(pass){result.push(item);anyFound=true;}}}}
+if(found!==undefined){if(!inplace){curLoop=result;}
+expr=expr.replace(Expr.match[type],"");if(!anyFound){return[];}
+break;}}}
+if(expr==old){if(anyFound==null){throw"Syntax error, unrecognized expression: "+expr;}else{break;}}
+old=expr;}
+return curLoop;};var Expr=Sizzle.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(elem){return elem.getAttribute("href");}},relative:{"+":function(checkSet,part,isXML){var isPartStr=typeof part==="string",isTag=isPartStr&&!/\W/.test(part),isPartStrNotTag=isPartStr&&!isTag;if(isTag&&!isXML){part=part.toUpperCase();}
+for(var i=0,l=checkSet.length,elem;i<l;i++){if((elem=checkSet[i])){while((elem=elem.previousSibling)&&elem.nodeType!==1){}
+checkSet[i]=isPartStrNotTag||elem&&elem.nodeName===part?elem||false:elem===part;}}
+if(isPartStrNotTag){Sizzle.filter(part,checkSet,true);}},">":function(checkSet,part,isXML){var isPartStr=typeof part==="string";if(isPartStr&&!/\W/.test(part)){part=isXML?part:part.toUpperCase();for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){var parent=elem.parentNode;checkSet[i]=parent.nodeName===part?parent:false;}}}else{for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){checkSet[i]=isPartStr?elem.parentNode:elem.parentNode===part;}}
+if(isPartStr){Sizzle.filter(part,checkSet,true);}}},"":function(checkSet,part,isXML){var doneName=done++,checkFn=dirCheck;if(!part.match(/\W/)){var nodeCheck=part=isXML?part:part.toUpperCase();checkFn=dirNodeCheck;}
+checkFn("parentNode",part,doneName,checkSet,nodeCheck,isXML);},"~":function(checkSet,part,isXML){var doneName=done++,checkFn=dirCheck;if(typeof part==="string"&&!part.match(/\W/)){var nodeCheck=part=isXML?part:part.toUpperCase();checkFn=dirNodeCheck;}
+checkFn("previousSibling",part,doneName,checkSet,nodeCheck,isXML);}},find:{ID:function(match,context,isXML){if(typeof context.getElementById!=="undefined"&&!isXML){var m=context.getElementById(match[1]);return m?[m]:[];}},NAME:function(match,context,isXML){if(typeof context.getElementsByName!=="undefined"){var ret=[],results=context.getElementsByName(match[1]);for(var i=0,l=results.length;i<l;i++){if(results[i].getAttribute("name")===match[1]){ret.push(results[i]);}}
+return ret.length===0?null:ret;}},TAG:function(match,context){return context.getElementsByTagName(match[1]);}},preFilter:{CLASS:function(match,curLoop,inplace,result,not,isXML){match=" "+match[1].replace(/\\/g,"")+" ";if(isXML){return match;}
+for(var i=0,elem;(elem=curLoop[i])!=null;i++){if(elem){if(not^(elem.className&&(" "+elem.className+" ").indexOf(match)>=0)){if(!inplace)
+result.push(elem);}else if(inplace){curLoop[i]=false;}}}
+return false;},ID:function(match){return match[1].replace(/\\/g,"");},TAG:function(match,curLoop){for(var i=0;curLoop[i]===false;i++){}
+return curLoop[i]&&isXML(curLoop[i])?match[1]:match[1].toUpperCase();},CHILD:function(match){if(match[1]=="nth"){var test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(match[2]=="even"&&"2n"||match[2]=="odd"&&"2n+1"||!/\D/.test(match[2])&&"0n+"+match[2]||match[2]);match[2]=(test[1]+(test[2]||1))-0;match[3]=test[3]-0;}
+match[0]=done++;return match;},ATTR:function(match,curLoop,inplace,result,not,isXML){var name=match[1].replace(/\\/g,"");if(!isXML&&Expr.attrMap[name]){match[1]=Expr.attrMap[name];}
+if(match[2]==="~="){match[4]=" "+match[4]+" ";}
+return match;},PSEUDO:function(match,curLoop,inplace,result,not){if(match[1]==="not"){if(match[3].match(chunker).length>1||/^\w/.test(match[3])){match[3]=Sizzle(match[3],null,null,curLoop);}else{var ret=Sizzle.filter(match[3],curLoop,inplace,true^not);if(!inplace){result.push.apply(result,ret);}
+return false;}}else if(Expr.match.POS.test(match[0])||Expr.match.CHILD.test(match[0])){return true;}
+return match;},POS:function(match){match.unshift(true);return match;}},filters:{enabled:function(elem){return elem.disabled===false&&elem.type!=="hidden";},disabled:function(elem){return elem.disabled===true;},checked:function(elem){return elem.checked===true;},selected:function(elem){elem.parentNode.selectedIndex;return elem.selected===true;},parent:function(elem){return!!elem.firstChild;},empty:function(elem){return!elem.firstChild;},has:function(elem,i,match){return!!Sizzle(match[3],elem).length;},header:function(elem){return/h\d/i.test(elem.nodeName);},text:function(elem){return"text"===elem.type;},radio:function(elem){return"radio"===elem.type;},checkbox:function(elem){return"checkbox"===elem.type;},file:function(elem){return"file"===elem.type;},password:function(elem){return"password"===elem.type;},submit:function(elem){return"submit"===elem.type;},image:function(elem){return"image"===elem.type;},reset:function(elem){return"reset"===elem.type;},button:function(elem){return"button"===elem.type||elem.nodeName.toUpperCase()==="BUTTON";},input:function(elem){return/input|select|textarea|button/i.test(elem.nodeName);}},setFilters:{first:function(elem,i){return i===0;},last:function(elem,i,match,array){return i===array.length-1;},even:function(elem,i){return i%2===0;},odd:function(elem,i){return i%2===1;},lt:function(elem,i,match){return i<match[3]-0;},gt:function(elem,i,match){return i>match[3]-0;},nth:function(elem,i,match){return match[3]-0==i;},eq:function(elem,i,match){return match[3]-0==i;}},filter:{PSEUDO:function(elem,match,i,array){var name=match[1],filter=Expr.filters[name];if(filter){return filter(elem,i,match,array);}else if(name==="contains"){return(elem.textContent||elem.innerText||"").indexOf(match[3])>=0;}else if(name==="not"){var not=match[3];for(var i=0,l=not.length;i<l;i++){if(not[i]===elem){return false;}}
+return true;}},CHILD:function(elem,match){var type=match[1],node=elem;switch(type){case'only':case'first':while(node=node.previousSibling){if(node.nodeType===1)return false;}
+if(type=='first')return true;node=elem;case'last':while(node=node.nextSibling){if(node.nodeType===1)return false;}
+return true;case'nth':var first=match[2],last=match[3];if(first==1&&last==0){return true;}
+var doneName=match[0],parent=elem.parentNode;if(parent&&(parent.sizcache!==doneName||!elem.nodeIndex)){var count=0;for(node=parent.firstChild;node;node=node.nextSibling){if(node.nodeType===1){node.nodeIndex=++count;}}
+parent.sizcache=doneName;}
+var diff=elem.nodeIndex-last;if(first==0){return diff==0;}else{return(diff%first==0&&diff/first>=0);}}},ID:function(elem,match){return elem.nodeType===1&&elem.getAttribute("id")===match;},TAG:function(elem,match){return(match==="*"&&elem.nodeType===1)||elem.nodeName===match;},CLASS:function(elem,match){return(" "+(elem.className||elem.getAttribute("class"))+" ").indexOf(match)>-1;},ATTR:function(elem,match){var name=match[1],result=Expr.attrHandle[name]?Expr.attrHandle[name](elem):elem[name]!=null?elem[name]:elem.getAttribute(name),value=result+"",type=match[2],check=match[4];return result==null?type==="!=":type==="="?value===check:type==="*="?value.indexOf(check)>=0:type==="~="?(" "+value+" ").indexOf(check)>=0:!check?value&&result!==false:type==="!="?value!=check:type==="^="?value.indexOf(check)===0:type==="$="?value.substr(value.length-check.length)===check:type==="|="?value===check||value.substr(0,check.length+1)===check+"-":false;},POS:function(elem,match,i,array){var name=match[2],filter=Expr.setFilters[name];if(filter){return filter(elem,i,match,array);}}}};var origPOS=Expr.match.POS;for(var type in Expr.match){Expr.match[type]=RegExp(Expr.match[type].source+/(?![^\[]*\])(?![^\(]*\))/.source);}
+var makeArray=function(array,results){array=Array.prototype.slice.call(array);if(results){results.push.apply(results,array);return results;}
+return array;};try{Array.prototype.slice.call(document.documentElement.childNodes);}catch(e){makeArray=function(array,results){var ret=results||[];if(toString.call(array)==="[object Array]"){Array.prototype.push.apply(ret,array);}else{if(typeof array.length==="number"){for(var i=0,l=array.length;i<l;i++){ret.push(array[i]);}}else{for(var i=0;array[i];i++){ret.push(array[i]);}}}
+return ret;};}
+var sortOrder;if(document.documentElement.compareDocumentPosition){sortOrder=function(a,b){var ret=a.compareDocumentPosition(b)&4?-1:a===b?0:1;if(ret===0){hasDuplicate=true;}
+return ret;};}else if("sourceIndex"in document.documentElement){sortOrder=function(a,b){var ret=a.sourceIndex-b.sourceIndex;if(ret===0){hasDuplicate=true;}
+return ret;};}else if(document.createRange){sortOrder=function(a,b){var aRange=a.ownerDocument.createRange(),bRange=b.ownerDocument.createRange();aRange.selectNode(a);aRange.collapse(true);bRange.selectNode(b);bRange.collapse(true);var ret=aRange.compareBoundaryPoints(Range.START_TO_END,bRange);if(ret===0){hasDuplicate=true;}
+return ret;};}
+(function(){var form=document.createElement("form"),id="script"+(new Date).getTime();form.innerHTML="<input name='"+id+"'/>";var root=document.documentElement;root.insertBefore(form,root.firstChild);if(!!document.getElementById(id)){Expr.find.ID=function(match,context,isXML){if(typeof context.getElementById!=="undefined"&&!isXML){var m=context.getElementById(match[1]);return m?m.id===match[1]||typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id").nodeValue===match[1]?[m]:undefined:[];}};Expr.filter.ID=function(elem,match){var node=typeof elem.getAttributeNode!=="undefined"&&elem.getAttributeNode("id");return elem.nodeType===1&&node&&node.nodeValue===match;};}
+root.removeChild(form);})();(function(){var div=document.createElement("div");div.appendChild(document.createComment(""));if(div.getElementsByTagName("*").length>0){Expr.find.TAG=function(match,context){var results=context.getElementsByTagName(match[1]);if(match[1]==="*"){var tmp=[];for(var i=0;results[i];i++){if(results[i].nodeType===1){tmp.push(results[i]);}}
+results=tmp;}
+return results;};}
+div.innerHTML="<a href='#'></a>";if(div.firstChild&&typeof div.firstChild.getAttribute!=="undefined"&&div.firstChild.getAttribute("href")!=="#"){Expr.attrHandle.href=function(elem){return elem.getAttribute("href",2);};}})();if(document.querySelectorAll)(function(){var oldSizzle=Sizzle,div=document.createElement("div");div.innerHTML="<p class='TEST'></p>";if(div.querySelectorAll&&div.querySelectorAll(".TEST").length===0){return;}
+Sizzle=function(query,context,extra,seed){context=context||document;if(!seed&&context.nodeType===9&&!isXML(context)){try{return makeArray(context.querySelectorAll(query),extra);}catch(e){}}
+return oldSizzle(query,context,extra,seed);};Sizzle.find=oldSizzle.find;Sizzle.filter=oldSizzle.filter;Sizzle.selectors=oldSizzle.selectors;Sizzle.matches=oldSizzle.matches;})();if(document.getElementsByClassName&&document.documentElement.getElementsByClassName)(function(){var div=document.createElement("div");div.innerHTML="<div class='test e'></div><div class='test'></div>";if(div.getElementsByClassName("e").length===0)
+return;div.lastChild.className="e";if(div.getElementsByClassName("e").length===1)
+return;Expr.order.splice(1,0,"CLASS");Expr.find.CLASS=function(match,context,isXML){if(typeof context.getElementsByClassName!=="undefined"&&!isXML){return context.getElementsByClassName(match[1]);}};})();function dirNodeCheck(dir,cur,doneName,checkSet,nodeCheck,isXML){var sibDir=dir=="previousSibling"&&!isXML;for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){if(sibDir&&elem.nodeType===1){elem.sizcache=doneName;elem.sizset=i;}
+elem=elem[dir];var match=false;while(elem){if(elem.sizcache===doneName){match=checkSet[elem.sizset];break;}
+if(elem.nodeType===1&&!isXML){elem.sizcache=doneName;elem.sizset=i;}
+if(elem.nodeName===cur){match=elem;break;}
+elem=elem[dir];}
+checkSet[i]=match;}}}
+function dirCheck(dir,cur,doneName,checkSet,nodeCheck,isXML){var sibDir=dir=="previousSibling"&&!isXML;for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){if(sibDir&&elem.nodeType===1){elem.sizcache=doneName;elem.sizset=i;}
+elem=elem[dir];var match=false;while(elem){if(elem.sizcache===doneName){match=checkSet[elem.sizset];break;}
+if(elem.nodeType===1){if(!isXML){elem.sizcache=doneName;elem.sizset=i;}
+if(typeof cur!=="string"){if(elem===cur){match=true;break;}}else if(Sizzle.filter(cur,[elem]).length>0){match=elem;break;}}
+elem=elem[dir];}
+checkSet[i]=match;}}}
+var contains=document.compareDocumentPosition?function(a,b){return a.compareDocumentPosition(b)&16;}:function(a,b){return a!==b&&(a.contains?a.contains(b):true);};var isXML=function(elem){return elem.nodeType===9&&elem.documentElement.nodeName!=="HTML"||!!elem.ownerDocument&&isXML(elem.ownerDocument);};var posProcess=function(selector,context){var tmpSet=[],later="",match,root=context.nodeType?[context]:context;while((match=Expr.match.PSEUDO.exec(selector))){later+=match[0];selector=selector.replace(Expr.match.PSEUDO,"");}
+selector=Expr.relative[selector]?selector+"*":selector;for(var i=0,l=root.length;i<l;i++){Sizzle(selector,root[i],tmpSet);}
+return Sizzle.filter(later,tmpSet);};jQuery.find=Sizzle;jQuery.filter=Sizzle.filter;jQuery.expr=Sizzle.selectors;jQuery.expr[":"]=jQuery.expr.filters;Sizzle.selectors.filters.hidden=function(elem){return elem.offsetWidth===0||elem.offsetHeight===0;};Sizzle.selectors.filters.visible=function(elem){return elem.offsetWidth>0||elem.offsetHeight>0;};Sizzle.selectors.filters.animated=function(elem){return jQuery.grep(jQuery.timers,function(fn){return elem===fn.elem;}).length;};jQuery.multiFilter=function(expr,elems,not){if(not){expr=":not("+expr+")";}
+return Sizzle.matches(expr,elems);};jQuery.dir=function(elem,dir){var matched=[],cur=elem[dir];while(cur&&cur!=document){if(cur.nodeType==1)
+matched.push(cur);cur=cur[dir];}
+return matched;};jQuery.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;};jQuery.sibling=function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType==1&&n!=elem)
+r.push(n);}
+return r;};return;window.Sizzle=Sizzle;})();jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8)
+return;if(elem.setInterval&&elem!=window)
+elem=window;if(!handler.guid)
+handler.guid=this.guid++;if(data!==undefined){var fn=handler;handler=this.proxy(fn);handler.data=data;}
+var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){return typeof jQuery!=="undefined"&&!jQuery.event.triggered?jQuery.event.handle.apply(arguments.callee.elem,arguments):undefined;});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var namespaces=type.split(".");type=namespaces.shift();handler.type=namespaces.slice().sort().join(".");var handlers=events[type];if(jQuery.event.specialAll[type])
+jQuery.event.specialAll[type].setup.call(elem,data,namespaces);if(!handlers){handlers=events[type]={};if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem,data,namespaces)===false){if(elem.addEventListener)
+elem.addEventListener(type,handle,false);else if(elem.attachEvent)
+elem.attachEvent("on"+type,handle);}}
+handlers[handler.guid]=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8)
+return;var events=jQuery.data(elem,"events"),ret,index;if(events){if(types===undefined||(typeof types==="string"&&types.charAt(0)=="."))
+for(var type in events)
+this.remove(elem,type+(types||""));else{if(types.type){handler=types.handler;types=types.type;}
+jQuery.each(types.split(/\s+/),function(index,type){var namespaces=type.split(".");type=namespaces.shift();var namespace=RegExp("(^|\\.)"+namespaces.slice().sort().join(".*\\.")+"(\\.|$)");if(events[type]){if(handler)
+delete events[type][handler.guid];else
+for(var handle in events[type])
+if(namespace.test(events[type][handle].type))
+delete events[type][handle];if(jQuery.event.specialAll[type])
+jQuery.event.specialAll[type].teardown.call(elem,namespaces);for(ret in events[type])break;if(!ret){if(!jQuery.event.special[type]||jQuery.event.special[type].teardown.call(elem,namespaces)===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];}}});}
+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(event,data,elem,bubbling){var type=event.type||event;if(!bubbling){event=typeof event==="object"?event[expando]?event:jQuery.extend(jQuery.Event(type),event):jQuery.Event(type);if(type.indexOf("!")>=0){event.type=type=type.slice(0,-1);event.exclusive=true;}
+if(!elem){event.stopPropagation();if(this.global[type])
+jQuery.each(jQuery.cache,function(){if(this.events&&this.events[type])
+jQuery.event.trigger(event,data,this.handle.elem);});}
+if(!elem||elem.nodeType==3||elem.nodeType==8)
+return undefined;event.result=undefined;event.target=elem;data=jQuery.makeArray(data);data.unshift(event);}
+event.currentTarget=elem;var handle=jQuery.data(elem,"handle");if(handle)
+handle.apply(elem,data);if((!elem[type]||(jQuery.nodeName(elem,'a')&&type=="click"))&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)
+event.result=false;if(!bubbling&&elem[type]&&!event.isDefaultPrevented()&&!(jQuery.nodeName(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]();}catch(e){}}
+this.triggered=false;if(!event.isPropagationStopped()){var parent=elem.parentNode||elem.ownerDocument;if(parent)
+jQuery.event.trigger(event,data,parent,true);}},handle:function(event){var all,handlers;event=arguments[0]=jQuery.event.fix(event||window.event);event.currentTarget=this;var namespaces=event.type.split(".");event.type=namespaces.shift();all=!namespaces.length&&!event.exclusive;var namespace=RegExp("(^|\\.)"+namespaces.slice().sort().join(".*\\.")+"(\\.|$)");handlers=(jQuery.data(this,"events")||{})[event.type];for(var j in handlers){var handler=handlers[j];if(all||namespace.test(handler.type)){event.handler=handler;event.data=handler.data;var ret=handler.apply(this,arguments);if(ret!==undefined){event.result=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}
+if(event.isImmediatePropagationStopped())
+break;}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(event){if(event[expando])
+return event;var originalEvent=event;event=jQuery.Event(originalEvent);for(var i=this.props.length,prop;i;){prop=this.props[--i];event[prop]=originalEvent[prop];}
+if(!event.target)
+event.target=event.srcElement||document;if(event.target.nodeType==3)
+event.target=event.target.parentNode;if(!event.relatedTarget&&event.fromElement)
+event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;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);}
+if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode))
+event.which=event.charCode||event.keyCode;if(!event.metaKey&&event.ctrlKey)
+event.metaKey=event.ctrlKey;if(!event.which&&event.button)
+event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));return event;},proxy:function(fn,proxy){proxy=proxy||function(){return fn.apply(this,arguments);};proxy.guid=fn.guid=fn.guid||proxy.guid||this.guid++;return proxy;},special:{ready:{setup:bindReady,teardown:function(){}}},specialAll:{live:{setup:function(selector,namespaces){jQuery.event.add(this,namespaces[0],liveHandler);},teardown:function(namespaces){if(namespaces.length){var remove=0,name=RegExp("(^|\\.)"+namespaces[0]+"(\\.|$)");jQuery.each((jQuery.data(this,"events").live||{}),function(){if(name.test(this.type))
+remove++;});if(remove<1)
+jQuery.event.remove(this,namespaces[0],liveHandler);}}}}};jQuery.Event=function(src){if(!this.preventDefault)
+return new jQuery.Event(src);if(src&&src.type){this.originalEvent=src;this.type=src.type;}else
+this.type=src;this.timeStamp=now();this[expando]=true;};function returnFalse(){return false;}
+function returnTrue(){return true;}
+jQuery.Event.prototype={preventDefault:function(){this.isDefaultPrevented=returnTrue;var e=this.originalEvent;if(!e)
+return;if(e.preventDefault)
+e.preventDefault();e.returnValue=false;},stopPropagation:function(){this.isPropagationStopped=returnTrue;var e=this.originalEvent;if(!e)
+return;if(e.stopPropagation)
+e.stopPropagation();e.cancelBubble=true;},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=returnTrue;this.stopPropagation();},isDefaultPrevented:returnFalse,isPropagationStopped:returnFalse,isImmediatePropagationStopped:returnFalse};var withinElement=function(event){var parent=event.relatedTarget;while(parent&&parent!=this)
+try{parent=parent.parentNode;}
+catch(e){parent=this;}
+if(parent!=this){event.type=event.data;jQuery.event.handle.apply(this,arguments);}};jQuery.each({mouseover:'mouseenter',mouseout:'mouseleave'},function(orig,fix){jQuery.event.special[fix]={setup:function(){jQuery.event.add(this,orig,withinElement,fix);},teardown:function(){jQuery.event.remove(this,orig,withinElement);}};});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){var one=jQuery.event.proxy(fn||data,function(event){jQuery(this).unbind(event,one);return(fn||data).apply(this,arguments);});return this.each(function(){jQuery.event.add(this,type,one,fn&&data);});},unbind:function(type,fn){return this.each(function(){jQuery.event.remove(this,type,fn);});},trigger:function(type,data){return this.each(function(){jQuery.event.trigger(type,data,this);});},triggerHandler:function(type,data){if(this[0]){var event=jQuery.Event(type);event.preventDefault();event.stopPropagation();jQuery.event.trigger(event,data,this[0]);return event.result;}},toggle:function(fn){var args=arguments,i=1;while(i<args.length)
+jQuery.event.proxy(fn,args[i++]);return this.click(jQuery.event.proxy(fn,function(event){this.lastToggle=(this.lastToggle||0)%i;event.preventDefault();return args[this.lastToggle++].apply(this,arguments)||false;}));},hover:function(fnOver,fnOut){return this.mouseenter(fnOver).mouseleave(fnOut);},ready:function(fn){bindReady();if(jQuery.isReady)
+fn.call(document,jQuery);else
+jQuery.readyList.push(fn);return this;},live:function(type,fn){var proxy=jQuery.event.proxy(fn);proxy.guid+=this.selector+type;jQuery(document).bind(liveConvert(type,this.selector),this.selector,proxy);return this;},die:function(type,fn){jQuery(document).unbind(liveConvert(type,this.selector),fn?{guid:fn.guid+this.selector+type}:null);return this;}});function liveHandler(event){var check=RegExp("(^|\\.)"+event.type+"(\\.|$)"),stop=true,elems=[];jQuery.each(jQuery.data(this,"events").live||[],function(i,fn){if(check.test(fn.type)){var elem=jQuery(event.target).closest(fn.data)[0];if(elem)
+elems.push({elem:elem,fn:fn});}});elems.sort(function(a,b){return jQuery.data(a.elem,"closest")-jQuery.data(b.elem,"closest");});jQuery.each(elems,function(){if(this.fn.call(this.elem,event,this.fn.data)===false)
+return(stop=false);});return stop;}
+function liveConvert(type,selector){return["live",type,selector.replace(/\./g,"`").replace(/ /g,"|")].join(".");}
+jQuery.extend({isReady:false,readyList:[],ready:function(){if(!jQuery.isReady){jQuery.isReady=true;if(jQuery.readyList){jQuery.each(jQuery.readyList,function(){this.call(document,jQuery);});jQuery.readyList=null;}
+jQuery(document).triggerHandler("ready");}}});var readyBound=false;function bindReady(){if(readyBound)return;readyBound=true;if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);jQuery.ready();},false);}else if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);jQuery.ready();}});if(document.documentElement.doScroll&&window==window.top)(function(){if(jQuery.isReady)return;try{document.documentElement.doScroll("left");}catch(error){setTimeout(arguments.callee,0);return;}
+jQuery.ready();})();}
+jQuery.event.add(window,"load",jQuery.ready);}
+jQuery.each(("blur,focus,load,resize,scroll,unload,click,dblclick,"+"mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,"+"change,select,submit,keydown,keypress,keyup,error").split(","),function(i,name){jQuery.fn[name]=function(fn){return fn?this.bind(name,fn):this.trigger(name);};});jQuery(window).bind('unload',function(){for(var id in jQuery.cache)
+if(id!=1&&jQuery.cache[id].handle)
+jQuery.event.remove(jQuery.cache[id].handle.elem);});(function(){jQuery.support={};var root=document.documentElement,script=document.createElement("script"),div=document.createElement("div"),id="script"+(new Date).getTime();div.style.display="none";div.innerHTML='   <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';var all=div.getElementsByTagName("*"),a=div.getElementsByTagName("a")[0];if(!all||!all.length||!a){return;}
+jQuery.support={leadingWhitespace:div.firstChild.nodeType==3,tbody:!div.getElementsByTagName("tbody").length,objectAll:!!div.getElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSerialize:!!div.getElementsByTagName("link").length,style:/red/.test(a.getAttribute("style")),hrefNormalized:a.getAttribute("href")==="/a",opacity:a.style.opacity==="0.5",cssFloat:!!a.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};script.type="text/javascript";try{script.appendChild(document.createTextNode("window."+id+"=1;"));}catch(e){}
+root.insertBefore(script,root.firstChild);if(window[id]){jQuery.support.scriptEval=true;delete window[id];}
+root.removeChild(script);if(div.attachEvent&&div.fireEvent){div.attachEvent("onclick",function(){jQuery.support.noCloneEvent=false;div.detachEvent("onclick",arguments.callee);});div.cloneNode(true).fireEvent("onclick");}
+jQuery(function(){var div=document.createElement("div");div.style.width=div.style.paddingLeft="1px";document.body.appendChild(div);jQuery.boxModel=jQuery.support.boxModel=div.offsetWidth===2;document.body.removeChild(div).style.display='none';});})();var styleFloat=jQuery.support.cssFloat?"cssFloat":"styleFloat";jQuery.props={"for":"htmlFor","class":"className","float":styleFloat,cssFloat:styleFloat,styleFloat:styleFloat,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};jQuery.fn.extend({_load:jQuery.fn.load,load:function(url,params,callback){if(typeof url!=="string")
+return this._load(url);var off=url.indexOf(" ");if(off>=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}
+var type="GET";if(params)
+if(jQuery.isFunction(params)){callback=params;params=null;}else if(typeof params==="object"){params=jQuery.param(params);type="POST";}
+var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified")
+self.html(selector?jQuery("<div/>").append(res.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(selector):res.responseText);if(callback)
+self.each(callback,[res.responseText,status,res]);}});return this;},serialize:function(){return jQuery.param(this.serializeArray());},serializeArray:function(){return this.map(function(){return this.elements?jQuery.makeArray(this.elements):this;}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type));}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:jQuery.isArray(val)?jQuery.map(val,function(val,i){return{name:elem.name,value:val};}):{name:elem.name,value:val};}).get();}});jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=now();jQuery.extend({get:function(url,data,callback,type){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:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(s){s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));var jsonp,jsre=/=\?(&|$)/g,status,data,type=s.type.toUpperCase();if(s.data&&s.processData&&typeof s.data!=="string")
+s.data=jQuery.param(s.data);if(s.dataType=="jsonp"){if(type=="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";}
+if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++;if(s.data)
+s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";window[jsonp]=function(tmp){data=tmp;success();complete();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&&type=="GET"){var ts=now();var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"");}
+if(s.data&&type=="GET"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data;s.data=null;}
+if(s.global&&!jQuery.active++)
+jQuery.event.trigger("ajaxStart");var parts=/^(\w+:)?\/\/([^\/?#]+)/.exec(s.url);if(s.dataType=="script"&&type=="GET"&&parts&&(parts[1]&&parts[1]!=location.protocol||parts[2]!=location.host)){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=s.url;if(s.scriptCharset)
+script.charset=s.scriptCharset;if(!jsonp){var done=false;script.onload=script.onreadystatechange=function(){if(!done&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){done=true;success();complete();script.onload=script.onreadystatechange=null;head.removeChild(script);}};}
+head.appendChild(script);return undefined;}
+var requestDone=false;var xhr=s.xhr();if(s.username)
+xhr.open(type,s.url,s.async,s.username,s.password);else
+xhr.open(type,s.url,s.async);try{if(s.data)
+xhr.setRequestHeader("Content-Type",s.contentType);if(s.ifModified)
+xhr.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");xhr.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default);}catch(e){}
+if(s.beforeSend&&s.beforeSend(xhr,s)===false){if(s.global&&!--jQuery.active)
+jQuery.event.trigger("ajaxStop");xhr.abort();return false;}
+if(s.global)
+jQuery.event.trigger("ajaxSend",[xhr,s]);var onreadystatechange=function(isTimeout){if(xhr.readyState==0){if(ival){clearInterval(ival);ival=null;if(s.global&&!--jQuery.active)
+jQuery.event.trigger("ajaxStop");}}else if(!requestDone&&xhr&&(xhr.readyState==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival=null;}
+status=isTimeout=="timeout"?"timeout":!jQuery.httpSuccess(xhr)?"error":s.ifModified&&jQuery.httpNotModified(xhr,s.url)?"notmodified":"success";if(status=="success"){try{data=jQuery.httpData(xhr,s.dataType,s);}catch(e){status="parsererror";}}
+if(status=="success"){var modRes;try{modRes=xhr.getResponseHeader("Last-Modified");}catch(e){}
+if(s.ifModified&&modRes)
+jQuery.lastModified[s.url]=modRes;if(!jsonp)
+success();}else
+jQuery.handleError(s,xhr,status);complete();if(isTimeout)
+xhr.abort();if(s.async)
+xhr=null;}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout>0)
+setTimeout(function(){if(xhr&&!requestDone)
+onreadystatechange("timeout");},s.timeout);}
+try{xhr.send(s.data);}catch(e){jQuery.handleError(s,xhr,null,e);}
+if(!s.async)
+onreadystatechange();function success(){if(s.success)
+s.success(data,status);if(s.global)
+jQuery.event.trigger("ajaxSuccess",[xhr,s]);}
+function complete(){if(s.complete)
+s.complete(xhr,status);if(s.global)
+jQuery.event.trigger("ajaxComplete",[xhr,s]);if(s.global&&!--jQuery.active)
+jQuery.event.trigger("ajaxStop");}
+return xhr;},handleError:function(s,xhr,status,e){if(s.error)s.error(xhr,status,e);if(s.global)
+jQuery.event.trigger("ajaxError",[xhr,s,e]);},active:0,httpSuccess:function(xhr){try{return!xhr.status&&location.protocol=="file:"||(xhr.status>=200&&xhr.status<300)||xhr.status==304||xhr.status==1223;}catch(e){}
+return false;},httpNotModified:function(xhr,url){try{var xhrRes=xhr.getResponseHeader("Last-Modified");return xhr.status==304||xhrRes==jQuery.lastModified[url];}catch(e){}
+return false;},httpData:function(xhr,type,s){var ct=xhr.getResponseHeader("content-type"),xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0,data=xml?xhr.responseXML:xhr.responseText;if(xml&&data.documentElement.tagName=="parsererror")
+throw"parsererror";if(s&&s.dataFilter)
+data=s.dataFilter(data,type);if(typeof data==="string"){if(type=="script")
+jQuery.globalEval(data);if(type=="json")
+data=window["eval"]("("+data+")");}
+return data;},param:function(a){var s=[];function add(key,value){s[s.length]=encodeURIComponent(key)+'='+encodeURIComponent(value);};if(jQuery.isArray(a)||a.jquery)
+jQuery.each(a,function(){add(this.name,this.value);});else
+for(var j in a)
+if(jQuery.isArray(a[j]))
+jQuery.each(a[j],function(){add(j,this);});else
+add(j,jQuery.isFunction(a[j])?a[j]():a[j]);return s.join("&").replace(/%20/g,"+");}});var elemdisplay={},timerId,fxAttrs=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function genFx(type,num){var obj={};jQuery.each(fxAttrs.concat.apply([],fxAttrs.slice(0,num)),function(){obj[this]=type;});return obj;}
+jQuery.fn.extend({show:function(speed,callback){if(speed){return this.animate(genFx("show",3),speed,callback);}else{for(var i=0,l=this.length;i<l;i++){var old=jQuery.data(this[i],"olddisplay");this[i].style.display=old||"";if(jQuery.css(this[i],"display")==="none"){var tagName=this[i].tagName,display;if(elemdisplay[tagName]){display=elemdisplay[tagName];}else{var elem=jQuery("<"+tagName+" />").appendTo("body");display=elem.css("display");if(display==="none")
+display="block";elem.remove();elemdisplay[tagName]=display;}
+jQuery.data(this[i],"olddisplay",display);}}
+for(var i=0,l=this.length;i<l;i++){this[i].style.display=jQuery.data(this[i],"olddisplay")||"";}
+return this;}},hide:function(speed,callback){if(speed){return this.animate(genFx("hide",3),speed,callback);}else{for(var i=0,l=this.length;i<l;i++){var old=jQuery.data(this[i],"olddisplay");if(!old&&old!=="none")
+jQuery.data(this[i],"olddisplay",jQuery.css(this[i],"display"));}
+for(var i=0,l=this.length;i<l;i++){this[i].style.display="none";}
+return this;}},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){var bool=typeof fn==="boolean";return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle.apply(this,arguments):fn==null||bool?this.each(function(){var state=bool?fn:jQuery(this).is(":hidden");jQuery(this)[state?"show":"hide"]();}):this.animate(genFx("toggle",3),fn,fn2);},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(){var opt=jQuery.extend({},optall),p,hidden=this.nodeType==1&&jQuery(this).is(":hidden"),self=this;for(p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)
+return opt.complete.call(this);if((p=="height"||p=="width")&&this.style){opt.display=jQuery.css(this,"display");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";if(unit!="px"){self.style[name]=(end||1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit;}
+if(parts[1])
+end=((parts[1]=="-="?-1:1)*end)+start;e.custom(start,end,unit);}else
+e.custom(start,val,"");}});return true;});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue)
+this.queue([]);this.each(function(){for(var i=timers.length-1;i>=0;i--)
+if(timers[i].elem==this){if(gotoEnd)
+timers[i](true);timers.splice(i,1);}});if(!gotoEnd)
+this.dequeue();return this;}});jQuery.each({slideDown:genFx("show",1),slideUp:genFx("hide",1),slideToggle:genFx("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(name,props){jQuery.fn[name]=function(speed,callback){return this.animate(props,speed,callback);};});jQuery.extend({speed:function(speed,easing,fn){var opt=typeof speed==="object"?speed:{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&!jQuery.isFunction(easing)&&easing};opt.duration=jQuery.fx.off?0:typeof opt.duration==="number"?opt.duration:jQuery.fx.speeds[opt.duration]||jQuery.fx.speeds._default;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false)
+jQuery(this).dequeue();if(jQuery.isFunction(opt.old))
+opt.old.call(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:[],fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;if(!options.orig)
+options.orig={};}});jQuery.fx.prototype={update:function(){if(this.options.step)
+this.options.step.call(this.elem,this.now,this);(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style)
+this.elem.style.display="block";},cur:function(force){if(this.elem[this.prop]!=null&&(!this.elem.style||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;},custom:function(from,to,unit){this.startTime=now();this.start=from;this.end=to;this.unit=unit||this.unit||"px";this.now=this.start;this.pos=this.state=0;var self=this;function t(gotoEnd){return self.step(gotoEnd);}
+t.elem=this.elem;if(t()&&jQuery.timers.push(t)&&!timerId){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(timerId);timerId=undefined;}},13);}},show:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.show=true;this.custom(this.prop=="width"||this.prop=="height"?1:0,this.cur());jQuery(this.elem).show();},hide:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0);},step:function(gotoEnd){var t=now();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){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,"display")=="none")
+this.elem.style.display="block";}
+if(this.options.hide)
+jQuery(this.elem).hide();if(this.options.hide||this.options.show)
+for(var p in this.options.curAnim)
+jQuery.attr(this.elem.style,p,this.options.orig[p]);this.options.complete.call(this.elem);}
+return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;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);this.update();}
+return true;}};jQuery.extend(jQuery.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(fx){jQuery.attr(fx.elem.style,"opacity",fx.now);},_default:function(fx){if(fx.elem.style&&fx.elem.style[fx.prop]!=null)
+fx.elem.style[fx.prop]=fx.now+fx.unit;else
+fx.elem[fx.prop]=fx.now;}}});if(document.documentElement["getBoundingClientRect"])
+jQuery.fn.offset=function(){if(!this[0])return{top:0,left:0};if(this[0]===this[0].ownerDocument.body)return jQuery.offset.bodyOffset(this[0]);var box=this[0].getBoundingClientRect(),doc=this[0].ownerDocument,body=doc.body,docElem=doc.documentElement,clientTop=docElem.clientTop||body.clientTop||0,clientLeft=docElem.clientLeft||body.clientLeft||0,top=box.top+(self.pageYOffset||jQuery.boxModel&&docElem.scrollTop||body.scrollTop)-clientTop,left=box.left+(self.pageXOffset||jQuery.boxModel&&docElem.scrollLeft||body.scrollLeft)-clientLeft;return{top:top,left:left};};else
+jQuery.fn.offset=function(){if(!this[0])return{top:0,left:0};if(this[0]===this[0].ownerDocument.body)return jQuery.offset.bodyOffset(this[0]);jQuery.offset.initialized||jQuery.offset.initialize();var elem=this[0],offsetParent=elem.offsetParent,prevOffsetParent=elem,doc=elem.ownerDocument,computedStyle,docElem=doc.documentElement,body=doc.body,defaultView=doc.defaultView,prevComputedStyle=defaultView.getComputedStyle(elem,null),top=elem.offsetTop,left=elem.offsetLeft;while((elem=elem.parentNode)&&elem!==body&&elem!==docElem){computedStyle=defaultView.getComputedStyle(elem,null);top-=elem.scrollTop,left-=elem.scrollLeft;if(elem===offsetParent){top+=elem.offsetTop,left+=elem.offsetLeft;if(jQuery.offset.doesNotAddBorder&&!(jQuery.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(elem.tagName)))
+top+=parseInt(computedStyle.borderTopWidth,10)||0,left+=parseInt(computedStyle.borderLeftWidth,10)||0;prevOffsetParent=offsetParent,offsetParent=elem.offsetParent;}
+if(jQuery.offset.subtractsBorderForOverflowNotVisible&&computedStyle.overflow!=="visible")
+top+=parseInt(computedStyle.borderTopWidth,10)||0,left+=parseInt(computedStyle.borderLeftWidth,10)||0;prevComputedStyle=computedStyle;}
+if(prevComputedStyle.position==="relative"||prevComputedStyle.position==="static")
+top+=body.offsetTop,left+=body.offsetLeft;if(prevComputedStyle.position==="fixed")
+top+=Math.max(docElem.scrollTop,body.scrollTop),left+=Math.max(docElem.scrollLeft,body.scrollLeft);return{top:top,left:left};};jQuery.offset={initialize:function(){if(this.initialized)return;var body=document.body,container=document.createElement('div'),innerDiv,checkDiv,table,td,rules,prop,bodyMarginTop=body.style.marginTop,html='<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';rules={position:'absolute',top:0,left:0,margin:0,border:0,width:'1px',height:'1px',visibility:'hidden'};for(prop in rules)container.style[prop]=rules[prop];container.innerHTML=html;body.insertBefore(container,body.firstChild);innerDiv=container.firstChild,checkDiv=innerDiv.firstChild,td=innerDiv.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(checkDiv.offsetTop!==5);this.doesAddBorderForTableAndCells=(td.offsetTop===5);innerDiv.style.overflow='hidden',innerDiv.style.position='relative';this.subtractsBorderForOverflowNotVisible=(checkDiv.offsetTop===-5);body.style.marginTop='1px';this.doesNotIncludeMarginInBodyOffset=(body.offsetTop===0);body.style.marginTop=bodyMarginTop;body.removeChild(container);this.initialized=true;},bodyOffset:function(body){jQuery.offset.initialized||jQuery.offset.initialize();var top=body.offsetTop,left=body.offsetLeft;if(jQuery.offset.doesNotIncludeMarginInBodyOffset)
+top+=parseInt(jQuery.curCSS(body,'marginTop',true),10)||0,left+=parseInt(jQuery.curCSS(body,'marginLeft',true),10)||0;return{top:top,left:left};}};jQuery.fn.extend({position:function(){var left=0,top=0,results;if(this[0]){var offsetParent=this.offsetParent(),offset=this.offset(),parentOffset=/^body|html$/i.test(offsetParent[0].tagName)?{top:0,left:0}:offsetParent.offset();offset.top-=num(this,'marginTop');offset.left-=num(this,'marginLeft');parentOffset.top+=num(offsetParent,'borderTopWidth');parentOffset.left+=num(offsetParent,'borderLeftWidth');results={top:offset.top-parentOffset.top,left:offset.left-parentOffset.left};}
+return results;},offsetParent:function(){var offsetParent=this[0].offsetParent||document.body;while(offsetParent&&(!/^body|html$/i.test(offsetParent.tagName)&&jQuery.css(offsetParent,'position')=='static'))
+offsetParent=offsetParent.offsetParent;return jQuery(offsetParent);}});jQuery.each(['Left','Top'],function(i,name){var method='scroll'+name;jQuery.fn[method]=function(val){if(!this[0])return null;return val!==undefined?this.each(function(){this==window||this==document?window.scrollTo(!i?val:jQuery(window).scrollLeft(),i?val:jQuery(window).scrollTop()):this[method]=val;}):this[0]==window||this[0]==document?self[i?'pageYOffset':'pageXOffset']||jQuery.boxModel&&document.documentElement[method]||document.body[method]:this[0][method];};});jQuery.each(["Height","Width"],function(i,name){var tl=i?"Left":"Top",br=i?"Right":"Bottom",lower=name.toLowerCase();jQuery.fn["inner"+name]=function(){return this[0]?jQuery.css(this[0],lower,false,"padding"):null;};jQuery.fn["outer"+name]=function(margin){return this[0]?jQuery.css(this[0],lower,false,margin?"margin":"border"):null;};var type=name.toLowerCase();jQuery.fn[type]=function(size){return this[0]==window?document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(document.documentElement["client"+name],document.body["scroll"+name],document.documentElement["scroll"+name],document.body["offset"+name],document.documentElement["offset"+name]):size===undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,typeof size==="string"?size:size+"px");};});})();(function($){$.fn.ajaxSubmit=function(options){if(!this.length){log('ajaxSubmit: skipping submit process - no element selected');return this;}
+if(typeof options=='function')
+options={success:options};options=$.extend({url:this.attr('action')||window.location.toString(),type:this.attr('method')||'GET'},options||{});var veto={};this.trigger('form-pre-serialize',[this,options,veto]);if(veto.veto){log('ajaxSubmit: submit vetoed via form-pre-serialize trigger');return this;}
+var a=this.formToArray(options.semantic);if(options.data){options.extraData=options.data;for(var n in options.data)
+a.push({name:n,value:options.data[n]});}
+if(options.beforeSubmit&&options.beforeSubmit(a,this,options)===false){log('ajaxSubmit: submit aborted via beforeSubmit callback');return this;}
+this.trigger('form-submit-validate',[a,this,options,veto]);if(veto.veto){log('ajaxSubmit: submit vetoed via form-submit-validate trigger');return this;}
+var q=$.param(a);if(options.type.toUpperCase()=='GET'){options.url+=(options.url.indexOf('?')>=0?'&':'?')+q;options.data=null;}
+else
+options.data=q;var $form=this,callbacks=[];if(options.resetForm)callbacks.push(function(){$form.resetForm();});if(options.clearForm)callbacks.push(function(){$form.clearForm();});if(!options.dataType&&options.target){var oldSuccess=options.success||function(){};callbacks.push(function(data){$(options.target).html(data).each(oldSuccess,arguments);});}
+else if(options.success)
+callbacks.push(options.success);options.success=function(data,status){for(var i=0,max=callbacks.length;i<max;i++)
+callbacks[i](data,status,$form);};var files=$('input:file',this).fieldValue();var found=false;for(var j=0;j<files.length;j++)
+if(files[j])
+found=true;if(options.iframe||found){if($.browser.safari&&options.closeKeepAlive)
+$.get(options.closeKeepAlive,fileUpload);else
+fileUpload();}
+else
+$.ajax(options);this.trigger('form-submit-notify',[this,options]);return this;function fileUpload(){var form=$form[0];if($(':input[@name=submit]',form).length){alert('Error: Form elements must not be named "submit".');return;}
+var opts=$.extend({},$.ajaxSettings,options);var id='jqFormIO'+(new Date().getTime());var $io=$('<iframe id="'+id+'" name="'+id+'" />');var io=$io[0];if($.browser.msie||$.browser.opera)
+io.src='javascript:false;document.write("");';$io.css({position:'absolute',top:'-1000px',left:'-1000px'});var xhr={responseText:null,responseXML:null,status:0,statusText:'n/a',getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){}};var g=opts.global;if(g&&!$.active++)$.event.trigger("ajaxStart");if(g)$.event.trigger("ajaxSend",[xhr,opts]);var cbInvoked=0;var timedOut=0;var sub=form.clk;if(sub){var n=sub.name;if(n&&!sub.disabled){options.extraData=options.extraData||{};options.extraData[n]=sub.value;if(sub.type=="image"){options.extraData[name+'.x']=form.clk_x;options.extraData[name+'.y']=form.clk_y;}}}
+setTimeout(function(){var t=$form.attr('target'),a=$form.attr('action');$form.attr({target:id,encoding:'multipart/form-data',enctype:'multipart/form-data',method:'POST',action:opts.url});if(opts.timeout)
+setTimeout(function(){timedOut=true;cb();},opts.timeout);var extraInputs=[];try{if(options.extraData)
+for(var n in options.extraData)
+extraInputs.push($('<input type="hidden" name="'+n+'" value="'+options.extraData[n]+'" />').appendTo(form)[0]);$io.appendTo('body');io.attachEvent?io.attachEvent('onload',cb):io.addEventListener('load',cb,false);form.submit();}
+finally{$form.attr('action',a);t?$form.attr('target',t):$form.removeAttr('target');$(extraInputs).remove();}},10);function cb(){if(cbInvoked++)return;io.detachEvent?io.detachEvent('onload',cb):io.removeEventListener('load',cb,false);var operaHack=0;var ok=true;try{if(timedOut)throw'timeout';var data,doc;doc=io.contentWindow?io.contentWindow.document:io.contentDocument?io.contentDocument:io.document;if(doc.body==null&&!operaHack&&$.browser.opera){operaHack=1;cbInvoked--;setTimeout(cb,100);return;}
+xhr.responseText=doc.body?doc.body.innerHTML:null;xhr.responseXML=doc.XMLDocument?doc.XMLDocument:doc;xhr.getResponseHeader=function(header){var headers={'content-type':opts.dataType};return headers[header];};if(opts.dataType=='json'||opts.dataType=='script'){var ta=doc.getElementsByTagName('textarea')[0];xhr.responseText=ta?ta.value:xhr.responseText;}
+else if(opts.dataType=='xml'&&!xhr.responseXML&&xhr.responseText!=null){xhr.responseXML=toXml(xhr.responseText);}
+data=$.httpData(xhr,opts.dataType);}
+catch(e){ok=false;$.handleError(opts,xhr,'error',e);}
+if(ok){opts.success(data,'success');if(g)$.event.trigger("ajaxSuccess",[xhr,opts]);}
+if(g)$.event.trigger("ajaxComplete",[xhr,opts]);if(g&&!--$.active)$.event.trigger("ajaxStop");if(opts.complete)opts.complete(xhr,ok?'success':'error');setTimeout(function(){$io.remove();xhr.responseXML=null;},100);};function toXml(s,doc){if(window.ActiveXObject){doc=new ActiveXObject('Microsoft.XMLDOM');doc.async='false';doc.loadXML(s);}
+else
+doc=(new DOMParser()).parseFromString(s,'text/xml');return(doc&&doc.documentElement&&doc.documentElement.tagName!='parsererror')?doc:null;};};};$.fn.ajaxForm=function(options){return this.ajaxFormUnbind().bind('submit.form-plugin',function(){$(this).ajaxSubmit(options);return false;}).each(function(){$(":submit,input:image",this).bind('click.form-plugin',function(e){var $form=this.form;$form.clk=this;if(this.type=='image'){if(e.offsetX!=undefined){$form.clk_x=e.offsetX;$form.clk_y=e.offsetY;}else if(typeof $.fn.offset=='function'){var offset=$(this).offset();$form.clk_x=e.pageX-offset.left;$form.clk_y=e.pageY-offset.top;}else{$form.clk_x=e.pageX-this.offsetLeft;$form.clk_y=e.pageY-this.offsetTop;}}
+setTimeout(function(){$form.clk=$form.clk_x=$form.clk_y=null;},10);});});};$.fn.ajaxFormUnbind=function(){this.unbind('submit.form-plugin');return this.each(function(){$(":submit,input:image",this).unbind('click.form-plugin');});};$.fn.formToArray=function(semantic){var a=[];if(this.length==0)return a;var form=this[0];var els=semantic?form.getElementsByTagName('*'):form.elements;if(!els)return a;for(var i=0,max=els.length;i<max;i++){var el=els[i];var n=el.name;if(!n)continue;if(semantic&&form.clk&&el.type=="image"){if(!el.disabled&&form.clk==el)
+a.push({name:n+'.x',value:form.clk_x},{name:n+'.y',value:form.clk_y});continue;}
+var v=$.fieldValue(el,true);if(v&&v.constructor==Array){for(var j=0,jmax=v.length;j<jmax;j++)
+a.push({name:n,value:v[j]});}
+else if(v!==null&&typeof v!='undefined')
+a.push({name:n,value:v});}
+if(!semantic&&form.clk){var inputs=form.getElementsByTagName("input");for(var i=0,max=inputs.length;i<max;i++){var input=inputs[i];var n=input.name;if(n&&!input.disabled&&input.type=="image"&&form.clk==input)
+a.push({name:n+'.x',value:form.clk_x},{name:n+'.y',value:form.clk_y});}}
+return a;};$.fn.formSerialize=function(semantic){return $.param(this.formToArray(semantic));};$.fn.fieldSerialize=function(successful){var a=[];this.each(function(){var n=this.name;if(!n)return;var v=$.fieldValue(this,successful);if(v&&v.constructor==Array){for(var i=0,max=v.length;i<max;i++)
+a.push({name:n,value:v[i]});}
+else if(v!==null&&typeof v!='undefined')
+a.push({name:this.name,value:v});});return $.param(a);};$.fn.fieldValue=function(successful){for(var val=[],i=0,max=this.length;i<max;i++){var el=this[i];var v=$.fieldValue(el,successful);if(v===null||typeof v=='undefined'||(v.constructor==Array&&!v.length))
+continue;v.constructor==Array?$.merge(val,v):val.push(v);}
+return val;};$.fieldValue=function(el,successful){var n=el.name,t=el.type,tag=el.tagName.toLowerCase();if(typeof successful=='undefined')successful=true;if(successful&&(!n||el.disabled||t=='reset'||t=='button'||(t=='checkbox'||t=='radio')&&!el.checked||(t=='submit'||t=='image')&&el.form&&el.form.clk!=el||tag=='select'&&el.selectedIndex==-1))
+return null;if(tag=='select'){var index=el.selectedIndex;if(index<0)return null;var a=[],ops=el.options;var one=(t=='select-one');var max=(one?index+1:ops.length);for(var i=(one?index:0);i<max;i++){var op=ops[i];if(op.selected){var v=$.browser.msie&&!(op.attributes['value'].specified)?op.text:op.value;if(one)return v;a.push(v);}}
+return a;}
+return el.value;};$.fn.clearForm=function(){return this.each(function(){$('input,select,textarea',this).clearFields();});};$.fn.clearFields=$.fn.clearInputs=function(){return this.each(function(){var t=this.type,tag=this.tagName.toLowerCase();if(t=='text'||t=='password'||tag=='textarea')
+this.value='';else if(t=='checkbox'||t=='radio')
+this.checked=false;else if(tag=='select')
+this.selectedIndex=-1;});};$.fn.resetForm=function(){return this.each(function(){if(typeof this.reset=='function'||(typeof this.reset=='object'&&!this.reset.nodeType))
+this.reset();});};$.fn.enable=function(b){if(b==undefined)b=true;return this.each(function(){this.disabled=!b});};$.fn.select=function(select){if(select==undefined)select=true;return this.each(function(){var t=this.type;if(t=='checkbox'||t=='radio')
+this.checked=select;else if(this.tagName.toLowerCase()=='option'){var $sel=$(this).parent('select');if(select&&$sel[0]&&$sel[0].type=='select-one'){$sel.find('option').select(false);}
+this.selected=select;}});};function log(){if($.fn.ajaxSubmit.debug&&window.console&&window.console.log)
+window.console.log('[jquery.form] '+Array.prototype.join.call(arguments,''));};})(jQuery);var TO_LOAD_INDEX=0;var TO_LOAD=new Array;var MARKITUP=false;var UNBIND=false;var GOTOAFTERSUBMIT='';$(function(){load_jquery();});function load_jquery(){if(UNBIND){if(MARKITUP){$("*").not(".markItUpButton").unbind();}else{$("*").unbind();}}
+UNBIND=true;$("a.submit").click(function(){$(this).parents("form").submit();if($(this).attr('href')!='#'){GOTOAFTERSUBMIT=$(this).attr('href');}
+return false;});$("a.submitOnce").click(function(){$(this).parents("form").submit();$(this).unbind('click');return false;});$("a.submitWait").click(function(){$(this).parents("form").after('<p class="center">'+$(this).attr('title')+'<br /><br /><img src="'+IMG_CUBE+'/loader.gif" /></p>');$(this).parents("form").submit();$(this).parents("form").hide();return false;});$("form").submit(function(){$(this).attr('change','0');return true;});$("form.blank").each(function(){$(this).attr('target','_blank');$(this).removeClass('_blank');});$("form").not(".notajax").submit(function(){display_loader();$(this).ajaxSubmit({url:SITE_PATH+'ajax/'+$(this).attr('action'),success:function(data){MyAjax(data);if(GOTOAFTERSUBMIT!=''){window.location=GOTOAFTERSUBMIT;GOTOAFTERSUBMIT='';}}});return false;});$(".notajax form").unbind();$("form.submitonchange :input").each(function(){$(this).one('change',function(){$(this).parents("form").submit();});});$(":input").change(function(){$(this).parents("form").attr("change",1);});$("a.ajax").click(function(){var title=$(this).attr('title');var href=$(this).attr('rel');if(title!=''&&title!=undefined&&title.search(/\?/)>-1){if(!window.confirm(title)){return false;}}
+if($(this).hasClass('wait')){wait();}
+display_loader();$.ajax({url:SITE_PATH+'ajax/'+href,success:function(data){MyAjax(data);}});return false;});$("a.dajax").dblclick(function(){var title=$(this).attr('title');var href=$(this).attr('rel');if(title!=''&&title!=undefined&&title.search(/\?/)>=0){if(!window.confirm(title)){return false;}}
+display_loader();$.ajax({url:SITE_PATH+'ajax/'+href,success:function(data){MyAjax(data);}});return false;});$("a.ajaxh").click(function(){var title=$(this).attr('title');var href=$(this).attr('href');if(title!=''&&title!=undefined&&title.search(/\?/)>=0){if(!window.confirm(title)){return false;}}
+display_loader();$.ajax({url:href,success:function(data){MyAjax(data);}});return false;});$("a.prompt").click(function(){var href=$(this).attr('rel');var defaut=$(this).attr('rev');var name=window.prompt($(this).attr('title'),defaut);if(name==null||name=='null'||name==''){return false;}
+display_loader();$.ajax({url:SITE_PATH+'ajax/'+href+'?var='+name,success:function(data){MyAjax(data);}});return false;});$("a.closePopup").click(function(){closePopup($(this),true);return false;});$("a.closePopupNotConfirm").click(function(){closePopup($(this),false);return false;});$("a.popup").click(function(){display_loader();$.ajax({url:SITE_PATH+'ajax/'+$(this).attr('rel'),dataType:'responseText',success:function(data){createPopup(data);}});remove_loader();return false;});$("a.changepopup").click(function(){display_loader();$.ajax({url:SITE_PATH+'ajax/'+$(this).attr('rel'),dataType:'responseText',success:function(data){changepopup(data);load_jquery();}});remove_loader();return false;});$("a.blank").click(function(){$(this).attr('target','_blank');return true;});$("a.nothing").click(function(){return false;});$(".pemail").each(function(){var protected=$(this).text();var adresse=rot13(protected);$(this).text(adresse);$(this).attr('href','mailto:'+adresse);$(this).removeClass('pemail');});var len=TO_LOAD.length;for(var i=0;i<len;i++){eval(TO_LOAD[i]);}
+__fixPNG();if($("#jquery_time").length>0&&$("#jquery_time").text()==''){var E=new Date();var m=(parseInt(E-S)/1000).toString().replace('.',',');$("#jquery_time").text(m);}}
+function randval(min,max){var diff=max-min;return Math.round(Math.random()*diff)+diff;}
+function rot(t,u,v){return String.fromCharCode(((t-u+v)%(v*2))+u);}
+function rot13(s){var b=[],c,i=s.length,a='a'.charCodeAt(),z=a+26,A='A'.charCodeAt(),Z=A+26;while(i--){c=s.charCodeAt(i);if(c>=a&&c<z){b[i]=rot(c,a,13);}else if(c>=A&&c<Z){b[i]=rot(c,A,13);}else{b[i]=s.charAt(i);}}
+return b.join('');}
+function createPopup(data){POPUP_COUNTER=parseInt(POPUP_COUNTER);$("body").append('<div id="pl_'+POPUP_COUNTER+'" class="popupLayer"><div class="popupOverlay" id="po_'+POPUP_COUNTER+'" style="z-index:'+(1000+POPUP_COUNTER*2)+';"></div><div id="pw_'+POPUP_COUNTER+'" class="popupWindow" style="z-index:'+(1001+POPUP_COUNTER*2)+';"></div></div>');$("#po_"+POPUP_COUNTER).css('opacity',0.65);$("#po_"+POPUP_COUNTER).css('display','block');$("#pw_"+POPUP_COUNTER).html(data);$("#pw_"+POPUP_COUNTER).show();popup_dimensions(POPUP_COUNTER);load_jquery();POPUP_COUNTER+=1;}
+function closePopup(object,confirm){if(object==undefined||object==null){var i=$(".popupLayer").length-1;var elements=$(".popupLayer").get();var e=elements[i];var changes=false;$(this).find("form").each(function(){if($(this).attr("change")==1){changes=true;}});if(confirm==false||(changes==true&&window.confirm(CONFIRM_CLOSE))||changes==false){$(e).remove();POPUP_COUNTER-=1;popup_dimensions();}}else{$(object).parents(".popupLayer").each(function(){var changes=false;$(this).find("form").each(function(){if($(this).attr("change")==1){changes=true;}});if(confirm==false||(changes==true&&window.confirm(CONFIRM_CLOSE))||changes==false){$(this).remove();POPUP_COUNTER-=1;popup_dimensions();}});}}
+function popup_dimensions(i){if(i==undefined){i=POPUP_COUNTER-1;}
+if(i<0){return;}
+var margin=30;var mh=$(window).height()-(margin*2);if(!$.browser.msie){$("#pw_"+i).css("opacity",0);}
+$("#pw_"+i+" .c>div").css("overflow-y",'auto');$("#pw_"+i+" .c>div").css("overflow-x",'visible');$("#pw_"+i+" .c>div").css("max-height",mh);$("#pw_"+i).css("left",($(window).width()-$("#pw_"+i).width())/2);if($("#pw_"+i+" .c>div").attr('top')){$("#pw_"+i).css("top",parseInt($("#pw_"+i+" .c>div").attr('top')));}else{var top=(mh-$("#pw_"+i).height())/2+margin;$("#pw_"+i).css("top",top);}
+if(!$.browser.msie){$("#pw_"+i).css("opacity",1);}}
+function changepopup(data){var pc=POPUP_COUNTER-1;$("#pw_"+pc).html(data);popup_dimensions(pc);}
+function checkUpload(){if($.browser.msie){var iframe=uploadIframe.document;}else{var uploadIframe=document.getElementById('uploadIframe');var iframe=uploadIframe.contentDocument;}
+if(iframe.getElementById('status')!=undefined&&iframe.contentDocument.getElementById('status').innerHTML!=undefined){clearInterval(INTERVAL);$.ajax({url:UPDATE,success:function(data){MyAjax(data);}});if(iframe.getElementById('status').innerHTML!='ok'){window.alert(ERREUR_FICHIER+' : \n'+iframe.getElementById('status').innerHTML);}
+if(POPUP_COUNTER>0){closePopup(null,false);}
+$("#uploadIframe").remove();}}
+function isSet(i){return(i==null||i=='null'||i==''||i=='undefined');}
+function callAjaxSwf(urlLink){$.ajax({url:urlLink,success:function(data){MyAjax(data);}});}
+function swfAjax(data){MyAjax(strToXML(data));}
+function MyAjax(data,reload){var error=new Array();var confirmation='';var ok=true;var t=$(data).children('rsp').children().get();for(var i=0;i<t.length;i++){var e=t[i];var name=e.nodeName;if(name=='confirmation'){var contentconfirm=$(e).text();confirmation+="<p>"+contentconfirm+"</p>";}else if(name=='error'){var errors=$(e).children().get();for(var j=0;j<errors.length;j++){var err=errors[j];var ename=err.nodeName;var econtent=$(err).text();$("#"+ename).addClass('error');$("#"+ename).val('');error.push(econtent);ok=false;}}else if(name=='content'){var contents=$(e).children().get();for(var k=0;k<contents.length;k++){var content=contents[k];var cname=content.nodeName;var ccontent=$(content).text();if(ccontent==''){$("#"+cname).html(ccontent);}else{$("#"+cname).html(ccontent);}
+if(POPUP_COUNTER-1>=0){popup_dimensions(POPUP_COUNTER-1);}}}else if(name=='replace'){var contents=$(e).children().get();for(var k=0;k<contents.length;k++){var content=contents[k];var cname=content.nodeName;var ccontent=$(content).text();if(ccontent==''){$("#"+cname).replaceWith(ccontent);}else{$("#"+cname).replaceWith(ccontent);}
+if(POPUP_COUNTER-1>=0){popup_dimensions(POPUP_COUNTER-1);}}}else if(name=='append'){var contents=$(e).children().get();for(var k=0;k<contents.length;k++){var content=contents[k];var cname=content.nodeName;var ccontent=$(content).text();if(ccontent==''){$("#"+cname).append(ccontent);}else{$("#"+cname).append(ccontent);}
+if(POPUP_COUNTER-1>=0){popup_dimensions(POPUP_COUNTER-1);}}}else if(name=='param'){var ids=$(e).children().get();for(var p=0;p<ids.length;p++){var id=ids[p];var idname=id.nodeName;var params=$(id).children().get();var o={};for(var q=0;q<params.length;q++){var param=params[q];var paramname=param.nodeName;var paramcontent=$(param).text();o[paramname]=paramcontent;}
+$("#"+idname).attr(o);$("#"+idname).parents("form").unbind('submit');}}else if(name=='alert'){var alerts=$(e).children().get();for(var r=0;r<alerts.length;r++){var alert=alerts[r];var acontent=$(alert).text();window.alert(acontent);}}else if(name=='ok'){var oks=$(e).children().get();for(var l=0;l<oks.length;l++){var ok=oks[l];var oname=ok.nodeName.toLowerCase();$("#"+oname).removeClass('error');}}else if(name=='redirection'){var url=$(e).text();window.location=url;}else if(name=='show'){var oks=$(e).children().get();for(var l=0;l<oks.length;l++){var ok=oks[l];var oname=ok.nodeName;$("#"+oname).show('fast');}}else if(name=='debug'){}else if(name=='eval'){var codes=$(e).children().get();for(var r=0;r<codes.length;r++){var code=codes[r];eval($(code).text());}}else if(name=='closepopup'){var closes=$(e).children().get();for(var cp=0;cp<closes.length;cp++){closePopup(null,false);}}else if(name=='openpopup'){var opens=$(e).children().get();for(var op=0;op<opens.length;op++){var cont=opens[op];createPopup($(cont).text());}}else if(name=='changepopup'){var changes=$(e).children().get();for(var cp=0;cp<changes.length;cp++){var cont=changes[cp];changepopup($(cont).text());}}
+else if(name=='popupdimensions'){popup_dimensions();}
+else if(name=='truepopup'){var trues=$(e).children().get();for(var tp=0;tp<trues.length;tp++){var cont=trues[tp];truePopup($(cont).text());}}else if(name=='timer'){var time=parseInt($(e).text());var t=setTimeout("doNothing()",time);}else if(name=='value'){var values=$(e).children().get();for(var v=0;v<values.length;v++){var node=values[v];var oname=node.nodeName;var val=$("#"+oname).val($(node).text());}}}
+if(error.length>0){$("#message").html(error.join('<br />'));}else{$("#message").html('');}
+if(confirmation!=''){$("#confirmation").html(confirmation);$("#confirmation").animate({height:26,opacity:1},2000,function(){$("#confirmation").fadeTo(10000,1,function(){$("#confirmation").animate({height:0,opacity:0},2000);$("#confirmation").empty();});});}
+if(reload==true||reload==undefined){load_jquery();}
+remove_loader();return ok;}
+function truePopup(url){var rand=Math.round(Math.random()*200);window.open(url,'Popup'+rand,'width='+window.width+',height='+window.height);}
+function _fixPNG(){var png;var images=$('img[src*="png"]:not([fixed="fixed"])');images.each(function(){png=$(this).attr('src');$(this).attr('src',IMG_CUBE+'/spacer.gif');$(this).css('filter',"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+png+"')");$(this).attr('fixed','fixed');});}
+function __fixPNG(){if($.browser.msie&&parseInt(navigator.userAgent.match(/MSIE (\d+(?:\.\d+)+(?:b\d*)?)/)[1])<=6){_fixPNG();}}
+function getWindowHeight(){var windowHeight=0;if(typeof(window.innerHeight)=='number'){windowHeight=window.innerHeight;}
+else{if(document.documentElement&&document.documentElement.clientHeight){windowHeight=document.documentElement.clientHeight;}
+else{if(document.body&&document.body.clientHeight){windowHeight=document.body.clientHeight;}}}
+return windowHeight;}
+function getWindowWidth(){var myWidth=0;if(typeof(window.innerWidth)=='number'){myWidth=window.innerWidth;}
+else if(document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight)){myWidth=document.documentElement.clientWidth;}
+else if(document.body&&(document.body.clientWidth||document.body.clientHeight)){myWidth=document.body.clientWidth;}
+return myWidth;}
+function doNothing(){}
+function htmlEditorGetText(id){var text=document.getElementById(id).value;return'<TEXTFORMAT LEADING="2"><P ALIGN="LEFT">'+text+'</P></TEXTFORMAT>';}
+function htmlEditorPutText(id,text){document.getElementById(id).value=text;}
+function display_loader(){if(LOADER_AJAX==''){}else{$("body").append('<div id="loader"><img src="'+LOADER_AJAX+'" /></div>');}}
+function remove_loader(){if(LOADER_AJAX==''){}else{$("#loader").remove();}}
+function URLEncode(clearString){var output='';var x=0;clearString=clearString.toString();var regex=/(^[a-zA-Z0-9_.]*)/;while(x<clearString.length){var match=regex.exec(clearString.substr(x));if(match!=null&&match.length>1&&match[1]!=''){output+=match[1];x+=match[1].length;}else{if(clearString[x]==' ')
+output+='+';else{var charCode=clearString.charCodeAt(x);var hexVal=charCode.toString(16);output+='%'+(hexVal.length<2?'0':'')+hexVal.toUpperCase();}
+x++;}}
+return output;}
+function strToXML(str){var contentType='application/xml';if(typeof(DOMParser)!='undefined'){return(new DOMParser()).parseFromString(str.substr(0,4095),contentType);}else if(typeof(ActiveXObject)!='undefined'){var xmldata=new ActiveXObject('MSXML.DomDocument');xmldata.async=false;xmldata.loadXML(str);return xmldata;}else if(typeof(XMLHttpRequest)!='undefined'){var xmldata=new XMLHttpRequest;if(!contentType){contentType='application/xml';}
+xmldata.open('GET','data:'+contentType+';charset=utf-8,'+encodeURIComponent(str),false);if(xmldata.overrideMimeType){xmldata.overrideMimeType(contentType);}
+xmldata.send(null);return xmldata.responseXML;}}
+TO_LOAD_INDEX++;TO_LOAD[TO_LOAD_INDEX]='load_emptyfield();';function load_emptyfield(){$("input.empty_field,input.empty-field").each(function(){if($(this).attr('orig')){return;}
+$(this).attr('orig',$(this).attr('value'));});$("input.empty_field,input.empty-field").click(function(){if($(this).val()==$(this).attr('orig')){$(this).val('');}});}
+TO_LOAD_INDEX++;TO_LOAD[TO_LOAD_INDEX]='load_truepopups();';function load_truepopups(){$(".truePopup").click(function(){var rev=$(this).attr('rev');if(!rev||rev==''){var n='PopupFS'+randval(1000,9999).toString();}else{n=rev;}
+$(this).attr('rel',$(this).attr('rel').replace(/screen.height/,screen.height));$(this).attr('rel',$(this).attr('rel').replace(/screen.width/,screen.width));window.open($(this).attr('href'),n,$(this).attr('rel'));return false;});$(".popupFS").click(function(){var rev=$(this).attr('rev');if(!rev||rev==''){var n='PopupFS'+randval(1000,9999).toString();}else{n=rev;}
+window.open($(this).attr('href'),n,'width='+screen.width+',height='+screen.height+',resizable=yes');return false;});$(".popupA4").click(function(){var rev=$(this).attr('rev');if(!rev||rev==''){var n='PopupFS'+randval(1000,9999).toString();}else{n=rev;}
+var h=screen.height;var w=h/1.5;window.open($(this).attr('href'),n,'width='+w+',height='+h+',resizable=yes');return false;});}
+TO_LOAD_INDEX++;TO_LOAD[TO_LOAD_INDEX]='load_extranet();';FIRST_LOAD=true;function load_extranet(){if($("#devisAdresse #client_nom").length){$("#devisAdresse #client_nom").autocomplete(SITE_PATH+'autocomplete/client',{cacheLength:0,maxItemsToShow:15,onFindValue:findClient,onItemSelect:findClient});}
+if($("#factureAdresse #projet_nom").length){$("#factureAdresse #projet_nom").autocomplete(SITE_PATH+'autocomplete/projet',{cacheLength:0,maxItemsToShow:15,onFindValue:findProjet,onItemSelect:findProjet});}
+if($(".dashboard").length>=1&&$("#dash").length>=1){$("#dash").sortable('destroy');if(FIRST_LOAD){FIRST_LOAD=false;}else{FIRST_LOAD=true;$.ajax({url:SITE_PATH+'ajax/reloadDashboards',success:function(data){MyAjax(data);}});}
+$("#dash").sortable({opacity:0.6,axis:"y",handle:".caption",stop:function(e,ui){$.ajax({url:SITE_PATH+'ajax/orderDashboards?'+$("#dash").sortable('serialize')});resize();}});}
+if($("#devisLignes").length>=1){$("#devisLignes").sortable('destroy');$("#devisLignes").sortable({opacity:0.6,axis:"y"});}
+$(".timereport_field").change(function(){var val=parseInt($(this).val());if(isNaN(val)){val=0;}
+var f=this;var id=$(this).attr('id');var a=id.split('_');$.ajax({url:SITE_PATH+'ajax/saveTimereport/'+a[1]+'/'+a[2]+'/'+val,success:function(data){FIRST_LOAD=true;MyAjax(data);var td=$(f).parents('td').get(0);if(parseFloat($(f).val())>0){$(td).addClass('filled');}else{$(td).removeClass('filled');}}});});$("#dash .toggle").click(function(){var rel=$(this).attr('rel');var div=$(this).parents('.dashboard').get(0);var liste=$(div).find('.liste');$(liste).slideToggle('fast',function(){resize();});$(this).toggleClass('close');$.ajax({url:SITE_PATH+'ajax/toggleDashboard/'+rel});return false;});$(".filtre .bt").click(function(){var ul=$(this).parent().parent().children('ul');$(ul).slideToggle('fast');return false;});$(".filtre ul").click(function(e){if(e.target.nodeName=='INPUT'||e.target.nodeName=='LABEL'){return true;}
+$(this).slideToggle('fast');});$(".filtre span").click(function(){var ul=$(this).parent().children('ul');$(ul).slideToggle('fast');});$(".filtre input").change(function(){var form=$(this).parents('form').get(0);var uls=$(form).find("ul");var divs=$(form).find(".input");var spans=$(form).find("span");var i,j,k,ul,lis,li,input,label,checked,div,titre,t,t1,allc,inputs;for(i=0;i<uls.length;i++){div=divs[i];titre=Array();ul=uls[i];lis=$(ul).children("li");allc=$(lis).get(0);checked=0;for(j=1;j<lis.length;j++){li=lis[j];input=$(li).find('input').get(0);label=$(li).find('label').get(0);if(input.checked){checked++;titre.push($(label).text());}}
+if(checked==0){$(div).find('span').text($(allc).text());$(div).find('a').attr('title',$(allc).text());$(div).removeClass('active');inputs=$(ul).find('input');for(k=0;k<inputs.length;k++){inputs[k].checked=true;}}else if(checked==lis.length-1){$(div).find('span').text($(allc).text());$(div).find('a').attr('title',$(allc).text());$(div).removeClass('active');}else{t=titre.join(', ');if(t.length>20){t1=t.substr(0,16)+'...';}else{t1=t;}
+$(div).find('span').text(t1);$(div).find('a').attr('title',t);$(div).addClass('active');}}
+return true;});$(window).resize(function(){resize();});resize();}
+function resize(){var allh=$("#header").height()+$("#footer").height()+$("#bar").height()+$("#main .content").height()+13+30;var h=Math.max($(window).height(),allh);var mh=h-$("#header").height()-$("#footer").height()-$("#bar").height()-30-13;mh=Math.max(mh,450);$("#main").css('height',mh);$(".swfPanel").css('height',mh-10);}
+function findClient(li){var client=li.selectValue.split(' - ');if(client.length<=1){return;}
+var client_id=parseInt(client[0]);$("#client").val(client_id);$.ajax({url:SITE_PATH+'ajax/getAdresseForDevis/'+client_id,success:function(data){MyAjax(data);}});}
+function findProjet(li){var projet=li.selectValue.split(' - ');if(projet.length<=1){return;}
+var projet_id=parseInt(projet[0]);$("#projet").val(projet_id);$.ajax({url:SITE_PATH+'ajax/getAdresseForFacture/'+projet_id,success:function(data){MyAjax(data);}});}
+function refreshFiles(){$.ajax({url:SITE_PATH+'ajax/refreshFichiers',success:function(data){MyAjax(data);}});}
\ No newline at end of file
diff --git a/js/merged-f0580e.js b/js/merged-f0580e.js
new file mode 100644 (file)
index 0000000..90e2182
--- /dev/null
@@ -0,0 +1,519 @@
+
+(function(){var _jQuery=window.jQuery,_$=window.$;var jQuery=window.jQuery=window.$=function(selector,context){return new jQuery.fn.init(selector,context);};var quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/,isSimple=/^.[^:#\[\.]*$/,undefined;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;return this;}
+if(typeof selector=="string"){var match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1])
+selector=jQuery.clean([match[1]],context);else{var elem=document.getElementById(match[3]);if(elem){if(elem.id!=match[3])
+return jQuery().find(selector);return jQuery(elem);}
+selector=[];}}else
+return jQuery(context).find(selector);}else if(jQuery.isFunction(selector))
+return jQuery(document)[jQuery.fn.ready?"ready":"load"](selector);return this.setArray(jQuery.makeArray(selector));},jquery:"1.2.6",size:function(){return this.length;},length:0,get:function(num){return num==undefined?jQuery.makeArray(this):this[num];},pushStack:function(elems){var ret=jQuery(elems);ret.prevObject=this;return ret;},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elems);return this;},each:function(callback,args){return jQuery.each(this,callback,args);},index:function(elem){var ret=-1;return jQuery.inArray(elem&&elem.jquery?elem[0]:elem,this);},attr:function(name,value,type){var options=name;if(name.constructor==String)
+if(value===undefined)
+return this[0]&&jQuery[type||"attr"](this[0],name);else{options={};options[name]=value;}
+return this.each(function(i){for(name in options)
+jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name));});},css:function(key,value){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])
+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){var ret=this.map(function(){if(jQuery.browser.msie&&!jQuery.isXMLDoc(this)){var clone=this.cloneNode(true),container=document.createElement("div");container.appendChild(clone);return jQuery.clean([container.innerHTML])[0];}else
+return this.cloneNode(true);});var clone=ret.find("*").andSelf().each(function(){if(this[expando]!=undefined)
+this[expando]=null;});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 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)
+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 this.pushStack(jQuery.unique(jQuery.merge(this.get(),typeof selector=='string'?jQuery(selector):jQuery.makeArray(selector))));},is:function(selector){return!!selector&&jQuery.multiFilter(selector,this).length>0;},hasClass:function(selector){return this.is("."+selector);},val:function(value){if(value==undefined){if(this.length){var elem=this[0];if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";if(index<0)
+return null;for(var i=one?index:0,max=one?index+1:options.length;i<max;i++){var option=options[i];if(option.selected){value=jQuery.browser.msie&&!option.attributes.value.specified?option.text:option.value;if(one)
+return value;values.push(value);}}
+return values;}else
+return(this[0].value||"").replace(/\r/g,"");}
+return undefined;}
+if(value.constructor==Number)
+value+='';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=jQuery.makeArray(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[0]?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===undefined){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data===undefined&&this.length)
+data=jQuery.data(this[0],key);return data===undefined&&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;if(jQuery.nodeName(elem,"script"))
+scripts=scripts.add(elem);else{if(elem.nodeType==1)
+scripts=scripts.add(jQuery("script",elem).remove());callback.call(obj,elem);}});scripts.each(evalScript);});}};jQuery.fn.init.prototype=jQuery.fn;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);}
+function now(){return+new Date;}
+jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(target.constructor==Boolean){deep=target;target=arguments[1]||{};i=2;}
+if(typeof target!="object"&&typeof target!="function")
+target={};if(length==i){target=this;--i;}
+for(;i<length;i++)
+if((options=arguments[i])!=null)
+for(var name in options){var src=target[name],copy=options[name];if(target===copy)
+continue;if(deep&&copy&&typeof copy=="object"&&!copy.nodeType)
+target[name]=jQuery.extend(deep,src||(copy.length!=null?[]:{}),copy);else if(copy!==undefined)
+target[name]=copy;}
+return target;};var expando="jQuery"+now(),uuid=0,windowData={},exclude=/z-?index|font-?weight|opacity|zoom|line-?height/i,defaultView=document.defaultView||{};jQuery.extend({noConflict:function(deep){window.$=_$;if(deep)
+window.jQuery=_jQuery;return jQuery;},isFunction:function(fn){return!!fn&&typeof fn!="string"&&!fn.nodeName&&fn.constructor!=Array&&/^[\s[]?function/.test(fn+"");},isXMLDoc:function(elem){return elem.documentElement&&!elem.body||elem.tagName&&elem.ownerDocument&&!elem.ownerDocument.body;},globalEval:function(data){data=jQuery.trim(data);if(data){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.insertBefore(script,head.firstChild);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];if(!id)
+id=elem[expando]=++uuid;if(name&&!jQuery.cache[id])
+jQuery.cache[id]={};if(data!==undefined)
+jQuery.cache[id][name]=data;return name?jQuery.cache[id][name]:id;},removeData:function(elem,name){elem=elem==window?windowData:elem;var id=elem[expando];if(name){if(jQuery.cache[id]){delete jQuery.cache[id][name];name="";for(name in jQuery.cache[id])
+break;if(!name)
+jQuery.removeData(elem);}}else{try{delete elem[expando];}catch(e){if(elem.removeAttribute)
+elem.removeAttribute(expando);}
+delete jQuery.cache[id];}},each:function(object,callback,args){var name,i=0,length=object.length;if(args){if(length==undefined){for(name in object)
+if(callback.apply(object[name],args)===false)
+break;}else
+for(;i<length;)
+if(callback.apply(object[i++],args)===false)
+break;}else{if(length==undefined){for(name in object)
+if(callback.call(object[name],name,object[name])===false)
+break;}else
+for(var value=object[0];i<length&&callback.call(value,i,value)!==false;value=object[++i]){}}
+return object;},prop:function(elem,value,type,i,name){if(jQuery.isFunction(value))
+value=value.call(elem,i);return value&&value.constructor==Number&&type=="curCSS"&&!exclude.test(name)?value+"px":value;},className:{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;});},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(" "):"";},has:function(elem,className){return jQuery.inArray(className,(elem.className||elem).toString().split(/\s+/))>-1;}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}
+callback.call(elem);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,style=elem.style;function color(elem){if(!jQuery.browser.safari)
+return false;var ret=defaultView.getComputedStyle(elem,null);return!ret||ret.getPropertyValue("color")=="";}
+if(name=="opacity"&&jQuery.browser.msie){ret=jQuery.attr(style,"opacity");return ret==""?"1":ret;}
+if(jQuery.browser.opera&&name=="display"){var save=style.outline;style.outline="0 solid black";style.outline=save;}
+if(name.match(/float/i))
+name=styleFloat;if(!force&&style&&style[name])
+ret=style[name];else if(defaultView.getComputedStyle){if(name.match(/float/i))
+name="float";name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var computedStyle=defaultView.getComputedStyle(elem,null);if(computedStyle&&!color(elem))
+ret=computedStyle.getPropertyValue(name);else{var swap=[],stack=[],a=elem,i=0;for(;a&&color(a);a=a.parentNode)
+stack.unshift(a);for(;i<stack.length;i++)
+if(color(stack[i])){swap[i]=stack[i].style.display;stack[i].style.display="block";}
+ret=name=="display"&&swap[stack.length-1]!=null?"none":(computedStyle&&computedStyle.getPropertyValue(name))||"";for(i=0;i<swap.length;i++)
+if(swap[i]!=null)
+stack[i].style.display=swap[i];}
+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];if(!/^\d+(px)?$/i.test(ret)&&/^\d/.test(ret)){var left=style.left,rsLeft=elem.runtimeStyle.left;elem.runtimeStyle.left=elem.currentStyle.left;style.left=ret||0;ret=style.pixelLeft+"px";style.left=left;elem.runtimeStyle.left=rsLeft;}}
+return ret;},clean:function(elems,context){var ret=[];context=context||document;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+='';if(typeof elem=="string"){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+">";});var tags=jQuery.trim(elem).toLowerCase(),div=context.createElement("div");var wrap=!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>"]||(!tags.indexOf("<td")||!tags.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!tags.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||jQuery.browser.msie&&[1,"div<div>","</div>"]||[0,"",""];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--)
+div=div.lastChild;if(jQuery.browser.msie){var tbody=!tags.indexOf("<table")&&tags.indexOf("<tbody")<0?div.firstChild&&div.firstChild.childNodes: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]);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){if(!elem||elem.nodeType==3||elem.nodeType==8)
+return undefined;var notxml=!jQuery.isXMLDoc(elem),set=value!==undefined,msie=jQuery.browser.msie;name=notxml&&jQuery.props[name]||name;if(elem.tagName){var special=/href|src|style/.test(name);if(name=="selected"&&jQuery.browser.safari)
+elem.parentNode.selectedIndex;if(name in elem&&notxml&&!special){if(set){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)
+throw"type property can't be changed";elem[name]=value;}
+if(jQuery.nodeName(elem,"form")&&elem.getAttributeNode(name))
+return elem.getAttributeNode(name).nodeValue;return elem[name];}
+if(msie&&notxml&&name=="style")
+return jQuery.attr(elem.style,"cssText",value);if(set)
+elem.setAttribute(name,""+value);var attr=msie&&notxml&&special?elem.getAttribute(name,2):elem.getAttribute(name);return attr===null?undefined:attr;}
+if(msie&&name=="opacity"){if(set){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+
+(parseInt(value)+''=="NaN"?"":"alpha(opacity="+value*100+")");}
+return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100)+'':"";}
+name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(set)
+elem[name]=value;return elem[name];},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeArray:function(array){var ret=[];if(array!=null){var i=array.length;if(i==null||array.split||array.setInterval||array.call)
+ret[0]=array;else
+while(i)
+ret[--i]=array[i];}
+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){var i=0,elem,pos=first.length;if(jQuery.browser.msie){while(elem=second[i++])
+if(elem.nodeType!=8)
+first[pos++]=elem;}else
+while(elem=second[i++])
+first[pos++]=elem;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=[];for(var i=0,length=elems.length;i<length;i++)
+if(!inv!=!callback(elems[i],i))
+ret.push(elems[i]);return ret;},map:function(elems,callback){var ret=[];for(var i=0,length=elems.length;i<length;i++){var value=callback(elems[i],i);if(value!=null)
+ret[ret.length]=value;}
+return ret.concat.apply([],ret);}});var userAgent=navigator.userAgent.toLowerCase();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({boxModel:!jQuery.browser.msie||document.compatMode=="CSS1Compat",props:{"for":"htmlFor","class":"className","float":styleFloat,cssFloat:styleFloat,styleFloat:styleFloat,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing"}});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){jQuery("*",this).add(this).each(function(){jQuery.event.remove(this);jQuery.removeData(this);});if(this.parentNode)
+this.parentNode.removeChild(this);}},empty:function(){jQuery(">*",this).remove();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){return this[0]==window?jQuery.browser.opera&&document.body["client"+name]||jQuery.browser.safari&&window["inner"+name]||document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(Math.max(document.body["scroll"+name],document.documentElement["scroll"+name]),Math.max(document.body["offset"+name],document.documentElement["offset"+name])):size==undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,size.constructor==String?size:size+"px");};});function num(elem,prop){return elem[0]&&parseInt(jQuery.curCSS(elem[0],prop,true),10)||0;}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];},":":{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;},"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:function(a){return a.firstChild;},empty:function(a){return!a.firstChild;},contains:function(a,i,m){return(a.textContent||a.innerText||jQuery(a).text()||"").indexOf(m[3])>=0;},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";},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");},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:function(a,i,m){return jQuery.find(m[3],a).length;},header:function(a){return/h\d/i.test(a.nodeName);},animated:function(a){return jQuery.grep(jQuery.timers,function(fn){return a==fn.elem;}).length;}}},parse:[/^(\[) *@?([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/,/^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/,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){if(typeof t!="string")
+return[t];if(context&&context.nodeType!=1&&context.nodeType!=9)
+return[];context=context||document;var ret=[context],done=[],last,nodeName;while(t&&last!=t){var r=[];last=t;t=jQuery.trim(t);var foundToken=false,re=quickChild,m=re.exec(t);if(m){nodeName=m[1].toUpperCase();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;t=jQuery.trim(t.replace(re,""));foundToken=true;}}
+if(t&&!foundToken){if(!t.indexOf(",")){if(context==ret[0])ret.shift();done=jQuery.merge(done,ret);r=ret=[context];t=" "+t.substr(1,t.length);}else{var re2=quickID;var m=re2.exec(t);if(m){m=[0,m[2],m[3],m[1]];}else{re2=quickClass;m=re2.exec(t);}
+m[2]=m[2].replace(/\\/g,"");var elem=ret[ret.length-1];if(m[1]=="#"&&elem&&elem.getElementById&&!jQuery.isXMLDoc(elem)){var oid=elem.getElementById(m[2]);if((jQuery.browser.msie||jQuery.browser.opera)&&oid&&typeof oid.id=="string"&&oid.id!=m[2])
+oid=jQuery('[@id="'+m[2]+'"]',elem)[0];ret=r=oid&&(!m[3]||jQuery.nodeName(oid,m[3]))?[oid]:[];}else{for(var i=0;ret[i];i++){var tag=m[1]=="#"&&m[3]?m[3]:m[1]!=""||m[0]==""?"*":m[2];if(tag=="*"&&ret[i].nodeName.toLowerCase()=="object")
+tag="param";r=jQuery.merge(r,ret[i].getElementsByTagName(tag));}
+if(m[1]==".")
+r=jQuery.classFilter(r,m[2]);if(m[1]=="#"){var tmp=[];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(t){var val=jQuery.filter(t,r);ret=r=val.r;t=jQuery.trim(val.t);}}
+if(t)
+ret=[];if(ret&&context==ret[0])
+ret.shift();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;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){t=t.substring(m[0].length);m[2]=m[2].replace(/\\/g,"");break;}}
+if(!m)
+break;if(m[1]==":"&&m[2]=="not")
+r=isSimple.test(m[3])?jQuery.filter(m[3],r,true).r:jQuery(r).not(m[3]);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;}else if(m[1]==":"&&m[2]=="nth-child"){var merge={},tmp=[],test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(m[3]=="even"&&"2n"||m[3]=="odd"&&"2n+1"||!/\D/.test(m[3])&&"0n+"+m[3]||m[3]),first=(test[1]+(test[2]||1))-0,last=test[3]-0;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;}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+";}");r=jQuery.grep(r,function(elem,i){return fn(elem,i,m,r);},not);}}
+return{r:r,t:t};},dir:function(elem,dir){var matched=[],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&&n!=elem)
+r.push(n);}
+return r;}});jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8)
+return;if(jQuery.browser.msie&&elem.setInterval)
+elem=window;if(!handler.guid)
+handler.guid=this.guid++;if(data!=undefined){var fn=handler;handler=this.proxy(fn,function(){return fn.apply(this,arguments);});handler.data=data;}
+var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){if(typeof jQuery!="undefined"&&!jQuery.event.triggered)
+return jQuery.event.handle.apply(arguments.callee.elem,arguments);});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];handler.type=parts[1];var handlers=events[type];if(!handlers){handlers=events[type]={};if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem)===false){if(elem.addEventListener)
+elem.addEventListener(type,handle,false);else if(elem.attachEvent)
+elem.attachEvent("on"+type,handle);}}
+handlers[handler.guid]=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8)
+return;var events=jQuery.data(elem,"events"),ret,index;if(events){if(types==undefined||(typeof types=="string"&&types.charAt(0)=="."))
+for(var type in events)
+this.remove(elem,type+(types||""));else{if(types.type){handler=types.handler;types=types.type;}
+jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];if(events[type]){if(handler)
+delete events[type][handler.guid];else
+for(handler in events[type])
+if(!parts[1]||events[type][handler].type==parts[1])
+delete events[type][handler];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];}}});}
+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){data=jQuery.makeArray(data);if(type.indexOf("!")>=0){type=type.slice(0,-1);var exclusive=true;}
+if(!elem){if(this.global[type])
+jQuery("*").add([window,document]).trigger(type,data);}else{if(elem.nodeType==3||elem.nodeType==8)
+return undefined;var val,ret,fn=jQuery.isFunction(elem[type]||null),event=!data[0]||!data[0].preventDefault;if(event){data.unshift({type:type,target:elem,preventDefault:function(){},stopPropagation:function(){},timeStamp:now()});data[0][expando]=true;}
+data[0].type=type;if(exclusive)
+data[0].exclusive=true;var handle=jQuery.data(elem,"handle");if(handle)
+val=handle.apply(elem,data);if((!fn||(jQuery.nodeName(elem,'a')&&type=="click"))&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)
+val=false;if(event)
+data.shift();if(extra&&jQuery.isFunction(extra)){ret=extra.apply(elem,val==null?data:data.concat(val));if(ret!==undefined)
+val=ret;}
+if(fn&&donative!==false&&val!==false&&!(jQuery.nodeName(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]();}catch(e){}}
+this.triggered=false;}
+return val;},handle:function(event){var val,ret,namespace,all,handlers;event=arguments[0]=jQuery.event.fix(event||window.event);namespace=event.type.split(".");event.type=namespace[0];namespace=namespace[1];all=!namespace&&!event.exclusive;handlers=(jQuery.data(this,"events")||{})[event.type];for(var j in handlers){var handler=handlers[j];if(all||handler.type==namespace){event.handler=handler;event.data=handler.data;ret=handler.apply(this,arguments);if(val!==false)
+val=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}}
+return val;},fix:function(event){if(event[expando]==true)
+return event;var originalEvent=event;event={originalEvent:originalEvent};var props="altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target timeStamp toElement type view wheelDelta which".split(" ");for(var i=props.length;i;i--)
+event[props[i]]=originalEvent[props[i]];event[expando]=true;event.preventDefault=function(){if(originalEvent.preventDefault)
+originalEvent.preventDefault();originalEvent.returnValue=false;};event.stopPropagation=function(){if(originalEvent.stopPropagation)
+originalEvent.stopPropagation();originalEvent.cancelBubble=true;};event.timeStamp=event.timeStamp||now();if(!event.target)
+event.target=event.srcElement||document;if(event.target.nodeType==3)
+event.target=event.target.parentNode;if(!event.relatedTarget&&event.fromElement)
+event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;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);}
+if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode))
+event.which=event.charCode||event.keyCode;if(!event.metaKey&&event.ctrlKey)
+event.metaKey=event.ctrlKey;if(!event.which&&event.button)
+event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));return event;},proxy:function(fn,proxy){proxy.guid=fn.guid=fn.guid||proxy.guid||this.guid++;return proxy;},special:{ready:{setup:function(){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(withinElement(event,this))return true;event.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(withinElement(event,this))return true;event.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){var one=jQuery.event.proxy(fn||data,function(event){jQuery(this).unbind(event,one);return(fn||data).apply(this,arguments);});return this.each(function(){jQuery.event.add(this,type,one,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){return this[0]&&jQuery.event.trigger(type,data,this[0],false,fn);},toggle:function(fn){var args=arguments,i=1;while(i<args.length)
+jQuery.event.proxy(fn,args[i++]);return this.click(jQuery.event.proxy(fn,function(event){this.lastToggle=(this.lastToggle||0)%i;event.preventDefault();return args[this.lastToggle++].apply(this,arguments)||false;}));},hover:function(fnOver,fnOut){return this.bind('mouseenter',fnOver).bind('mouseleave',fnOut);},ready:function(fn){bindReady();if(jQuery.isReady)
+fn.call(document,jQuery);else
+jQuery.readyList.push(function(){return fn.call(this,jQuery);});return this;}});jQuery.extend({isReady:false,readyList:[],ready:function(){if(!jQuery.isReady){jQuery.isReady=true;if(jQuery.readyList){jQuery.each(jQuery.readyList,function(){this.call(document);});jQuery.readyList=null;}
+jQuery(document).triggerHandler("ready");}}});var readyBound=false;function bindReady(){if(readyBound)return;readyBound=true;if(document.addEventListener&&!jQuery.browser.opera)
+document.addEventListener("DOMContentLoaded",jQuery.ready,false);if(jQuery.browser.msie&&window==top)(function(){if(jQuery.isReady)return;try{document.documentElement.doScroll("left");}catch(error){setTimeout(arguments.callee,0);return;}
+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;}
+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;}
+jQuery.ready();})();}
+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){jQuery.fn[name]=function(fn){return fn?this.bind(name,fn):this.trigger(name);};});var withinElement=function(event,elem){var parent=event.relatedTarget;while(parent&&parent!=elem)try{parent=parent.parentNode;}catch(error){parent=elem;}
+return parent==elem;};jQuery(window).bind("unload",function(){jQuery("*").add(document).unbind();});jQuery.fn.extend({_load:jQuery.fn.load,load:function(url,params,callback){if(typeof url!='string')
+return this._load(url);var off=url.indexOf(" ");if(off>=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}
+callback=callback||function(){};var type="GET";if(params)
+if(jQuery.isFunction(params)){callback=params;params=null;}else{params=jQuery.param(params);type="POST";}
+var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified")
+self.html(selector?jQuery("<div/>").append(res.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(selector):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();}});jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=now();jQuery.extend({get:function(url,data,callback,type){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:{url:location.href,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:"*/*"}},lastModified:{},ajax:function(s){s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));var jsonp,jsre=/=\?(&|$)/g,status,data,type=s.type.toUpperCase();if(s.data&&s.processData&&typeof s.data!="string")
+s.data=jQuery.param(s.data);if(s.dataType=="jsonp"){if(type=="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";}
+if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++;if(s.data)
+s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";window[jsonp]=function(tmp){data=tmp;success();complete();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&&type=="GET"){var ts=now();var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"");}
+if(s.data&&type=="GET"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data;s.data=null;}
+if(s.global&&!jQuery.active++)
+jQuery.event.trigger("ajaxStart");var remote=/^(?:\w+:)?\/\/([^\/?#]+)/;if(s.dataType=="script"&&type=="GET"&&remote.test(s.url)&&remote.exec(s.url)[1]!=location.host){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=s.url;if(s.scriptCharset)
+script.charset=s.scriptCharset;if(!jsonp){var done=false;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);return undefined;}
+var requestDone=false;var xhr=window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();if(s.username)
+xhr.open(type,s.url,s.async,s.username,s.password);else
+xhr.open(type,s.url,s.async);try{if(s.data)
+xhr.setRequestHeader("Content-Type",s.contentType);if(s.ifModified)
+xhr.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");xhr.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default);}catch(e){}
+if(s.beforeSend&&s.beforeSend(xhr,s)===false){s.global&&jQuery.active--;xhr.abort();return false;}
+if(s.global)
+jQuery.event.trigger("ajaxSend",[xhr,s]);var onreadystatechange=function(isTimeout){if(!requestDone&&xhr&&(xhr.readyState==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival=null;}
+status=isTimeout=="timeout"&&"timeout"||!jQuery.httpSuccess(xhr)&&"error"||s.ifModified&&jQuery.httpNotModified(xhr,s.url)&&"notmodified"||"success";if(status=="success"){try{data=jQuery.httpData(xhr,s.dataType,s.dataFilter);}catch(e){status="parsererror";}}
+if(status=="success"){var modRes;try{modRes=xhr.getResponseHeader("Last-Modified");}catch(e){}
+if(s.ifModified&&modRes)
+jQuery.lastModified[s.url]=modRes;if(!jsonp)
+success();}else
+jQuery.handleError(s,xhr,status);complete();if(s.async)
+xhr=null;}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout>0)
+setTimeout(function(){if(xhr){xhr.abort();if(!requestDone)
+onreadystatechange("timeout");}},s.timeout);}
+try{xhr.send(s.data);}catch(e){jQuery.handleError(s,xhr,null,e);}
+if(!s.async)
+onreadystatechange();function success(){if(s.success)
+s.success(data,status);if(s.global)
+jQuery.event.trigger("ajaxSuccess",[xhr,s]);}
+function complete(){if(s.complete)
+s.complete(xhr,status);if(s.global)
+jQuery.event.trigger("ajaxComplete",[xhr,s]);if(s.global&&!--jQuery.active)
+jQuery.event.trigger("ajaxStop");}
+return xhr;},handleError:function(s,xhr,status,e){if(s.error)s.error(xhr,status,e);if(s.global)
+jQuery.event.trigger("ajaxError",[xhr,s,e]);},active:0,httpSuccess:function(xhr){try{return!xhr.status&&location.protocol=="file:"||(xhr.status>=200&&xhr.status<300)||xhr.status==304||xhr.status==1223||jQuery.browser.safari&&xhr.status==undefined;}catch(e){}
+return false;},httpNotModified:function(xhr,url){try{var xhrRes=xhr.getResponseHeader("Last-Modified");return xhr.status==304||xhrRes==jQuery.lastModified[url]||jQuery.browser.safari&&xhr.status==undefined;}catch(e){}
+return false;},httpData:function(xhr,type,filter){var ct=xhr.getResponseHeader("content-type"),xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0,data=xml?xhr.responseXML:xhr.responseText;if(xml&&data.documentElement.tagName=="parsererror")
+throw"parsererror";if(filter)
+data=filter(data,type);if(type=="script")
+jQuery.globalEval(data);if(type=="json")
+data=eval("("+data+")");return data;},param:function(a){var s=[];if(a.constructor==Array||a.jquery)
+jQuery.each(a,function(){s.push(encodeURIComponent(this.name)+"="+encodeURIComponent(this.value));});else
+for(var j in a)
+if(a[j]&&a[j].constructor==Array)
+jQuery.each(a[j],function(){s.push(encodeURIComponent(j)+"="+encodeURIComponent(this));});else
+s.push(encodeURIComponent(j)+"="+encodeURIComponent(jQuery.isFunction(a[j])?a[j]():a[j]));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");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();},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle.apply(this,arguments):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),p,hidden=jQuery(this).is(":hidden"),self=this;for(p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)
+return opt.complete.call(this);if(p=="height"||p=="width"){opt.display=jQuery.css(this,"display");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";if(unit!="px"){self.style[name]=(end||1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit;}
+if(parts[1])
+end=((parts[1]=="-="?-1:1)*end)+start;e.custom(start,end,unit);}else
+e.custom(start,val,"");}});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.call(this);}});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue)
+this.queue([]);this.each(function(){for(var i=timers.length-1;i>=0;i--)
+if(timers[i].elem==this){if(gotoEnd)
+timers[i](true);timers.splice(i,1);}});if(!gotoEnd)
+this.dequeue();return this;}});var queue=function(elem,type,array){if(elem){type=type||"fx";var q=jQuery.data(elem,type+"queue");if(!q||array)
+q=jQuery.data(elem,type+"queue",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].call(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:jQuery.fx.speeds[opt.duration])||jQuery.fx.speeds.def;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false)
+jQuery(this).dequeue();if(jQuery.isFunction(opt.old))
+opt.old.call(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={update:function(){if(this.options.step)
+this.options.step.call(this.elem,this.now,this);(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if(this.prop=="height"||this.prop=="width")
+this.elem.style.display="block";},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;},custom:function(from,to,unit){this.startTime=now();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);}},show:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.show=true;this.custom(0,this.cur());if(this.prop=="width"||this.prop=="height")
+this.elem.style[this.prop]="1px";jQuery(this.elem).show();},hide:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0);},step:function(gotoEnd){var t=now();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){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,"display")=="none")
+this.elem.style.display="block";}
+if(this.options.hide)
+this.elem.style.display="none";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(done)
+this.options.complete.call(this.elem);return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;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);this.update();}
+return true;}};jQuery.extend(jQuery.fx,{speeds:{slow:600,fast:200,def:400},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;}}});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),css=jQuery.curCSS,fixed=css(elem,"position")=="fixed";if(elem.getBoundingClientRect){var box=elem.getBoundingClientRect();add(box.left+Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),box.top+Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));add(-doc.documentElement.clientLeft,-doc.documentElement.clientTop);}else{add(elem.offsetLeft,elem.offsetTop);while(offsetParent){add(offsetParent.offsetLeft,offsetParent.offsetTop);if(mozilla&&!/^t(able|d|h)$/i.test(offsetParent.tagName)||safari&&!safari2)
+border(offsetParent);if(!fixed&&css(offsetParent,"position")=="fixed")
+fixed=true;offsetChild=/^body$/i.test(offsetParent.tagName)?offsetChild:offsetParent;offsetParent=offsetParent.offsetParent;}
+while(parent&&parent.tagName&&!/^body|html$/i.test(parent.tagName)){if(!/^inline|table.*$/i.test(css(parent,"display")))
+add(-parent.scrollLeft,-parent.scrollTop);if(mozilla&&css(parent,"overflow")!="visible")
+border(parent);parent=parent.parentNode;}
+if((safari2&&(fixed||css(offsetChild,"position")=="absolute"))||(mozilla&&css(offsetChild,"position")!="absolute"))
+add(-doc.body.offsetLeft,-doc.body.offsetTop);if(fixed)
+add(Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));}
+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,10)||0;top+=parseInt(t,10)||0;}
+return results;};jQuery.fn.extend({position:function(){var left=0,top=0,results;if(this[0]){var offsetParent=this.offsetParent(),offset=this.offset(),parentOffset=/^body|html$/i.test(offsetParent[0].tagName)?{top:0,left:0}:offsetParent.offset();offset.top-=num(this,'marginTop');offset.left-=num(this,'marginLeft');parentOffset.top+=num(offsetParent,'borderTopWidth');parentOffset.left+=num(offsetParent,'borderLeftWidth');results={top:offset.top-parentOffset.top,left:offset.left-parentOffset.left};}
+return results;},offsetParent:function(){var offsetParent=this[0].offsetParent;while(offsetParent&&(!/^body|html$/i.test(offsetParent.tagName)&&jQuery.css(offsetParent,'position')=='static'))
+offsetParent=offsetParent.offsetParent;return jQuery(offsetParent);}});jQuery.each(['Left','Top'],function(i,name){var method='scroll'+name;jQuery.fn[method]=function(val){if(!this[0])return;return val!=undefined?this.each(function(){this==window||this==document?window.scrollTo(!i?val:jQuery(window).scrollLeft(),i?val:jQuery(window).scrollTop()):this[method]=val;}):this[0]==window||this[0]==document?self[i?'pageYOffset':'pageXOffset']||jQuery.boxModel&&document.documentElement[method]||document.body[method]:this[0][method];};});jQuery.each(["Height","Width"],function(i,name){var tl=i?"Left":"Top",br=i?"Right":"Bottom";jQuery.fn["inner"+name]=function(){return this[name.toLowerCase()]()+
+num(this,"padding"+tl)+
+num(this,"padding"+br);};jQuery.fn["outer"+name]=function(margin){return this["inner"+name]()+
+num(this,"border"+tl+"Width")+
+num(this,"border"+br+"Width")+
+(margin?num(this,"margin"+tl)+num(this,"margin"+br):0);};});})();(function($){$.fn.ajaxSubmit=function(options){if(!this.length){log('ajaxSubmit: skipping submit process - no element selected');return this;}
+if(typeof options=='function')
+options={success:options};options=$.extend({url:this.attr('action')||window.location.toString(),type:this.attr('method')||'GET'},options||{});var veto={};this.trigger('form-pre-serialize',[this,options,veto]);if(veto.veto){log('ajaxSubmit: submit vetoed via form-pre-serialize trigger');return this;}
+var a=this.formToArray(options.semantic);if(options.data){options.extraData=options.data;for(var n in options.data)
+a.push({name:n,value:options.data[n]});}
+if(options.beforeSubmit&&options.beforeSubmit(a,this,options)===false){log('ajaxSubmit: submit aborted via beforeSubmit callback');return this;}
+this.trigger('form-submit-validate',[a,this,options,veto]);if(veto.veto){log('ajaxSubmit: submit vetoed via form-submit-validate trigger');return this;}
+var q=$.param(a);if(options.type.toUpperCase()=='GET'){options.url+=(options.url.indexOf('?')>=0?'&':'?')+q;options.data=null;}
+else
+options.data=q;var $form=this,callbacks=[];if(options.resetForm)callbacks.push(function(){$form.resetForm();});if(options.clearForm)callbacks.push(function(){$form.clearForm();});if(!options.dataType&&options.target){var oldSuccess=options.success||function(){};callbacks.push(function(data){$(options.target).html(data).each(oldSuccess,arguments);});}
+else if(options.success)
+callbacks.push(options.success);options.success=function(data,status){for(var i=0,max=callbacks.length;i<max;i++)
+callbacks[i](data,status,$form);};var files=$('input:file',this).fieldValue();var found=false;for(var j=0;j<files.length;j++)
+if(files[j])
+found=true;if(options.iframe||found){if($.browser.safari&&options.closeKeepAlive)
+$.get(options.closeKeepAlive,fileUpload);else
+fileUpload();}
+else
+$.ajax(options);this.trigger('form-submit-notify',[this,options]);return this;function fileUpload(){var form=$form[0];if($(':input[@name=submit]',form).length){alert('Error: Form elements must not be named "submit".');return;}
+var opts=$.extend({},$.ajaxSettings,options);var id='jqFormIO'+(new Date().getTime());var $io=$('<iframe id="'+id+'" name="'+id+'" />');var io=$io[0];if($.browser.msie||$.browser.opera)
+io.src='javascript:false;document.write("");';$io.css({position:'absolute',top:'-1000px',left:'-1000px'});var xhr={responseText:null,responseXML:null,status:0,statusText:'n/a',getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){}};var g=opts.global;if(g&&!$.active++)$.event.trigger("ajaxStart");if(g)$.event.trigger("ajaxSend",[xhr,opts]);var cbInvoked=0;var timedOut=0;var sub=form.clk;if(sub){var n=sub.name;if(n&&!sub.disabled){options.extraData=options.extraData||{};options.extraData[n]=sub.value;if(sub.type=="image"){options.extraData[name+'.x']=form.clk_x;options.extraData[name+'.y']=form.clk_y;}}}
+setTimeout(function(){var t=$form.attr('target'),a=$form.attr('action');$form.attr({target:id,encoding:'multipart/form-data',enctype:'multipart/form-data',method:'POST',action:opts.url});if(opts.timeout)
+setTimeout(function(){timedOut=true;cb();},opts.timeout);var extraInputs=[];try{if(options.extraData)
+for(var n in options.extraData)
+extraInputs.push($('<input type="hidden" name="'+n+'" value="'+options.extraData[n]+'" />').appendTo(form)[0]);$io.appendTo('body');io.attachEvent?io.attachEvent('onload',cb):io.addEventListener('load',cb,false);form.submit();}
+finally{$form.attr('action',a);t?$form.attr('target',t):$form.removeAttr('target');$(extraInputs).remove();}},10);function cb(){if(cbInvoked++)return;io.detachEvent?io.detachEvent('onload',cb):io.removeEventListener('load',cb,false);var operaHack=0;var ok=true;try{if(timedOut)throw'timeout';var data,doc;doc=io.contentWindow?io.contentWindow.document:io.contentDocument?io.contentDocument:io.document;if(doc.body==null&&!operaHack&&$.browser.opera){operaHack=1;cbInvoked--;setTimeout(cb,100);return;}
+xhr.responseText=doc.body?doc.body.innerHTML:null;xhr.responseXML=doc.XMLDocument?doc.XMLDocument:doc;xhr.getResponseHeader=function(header){var headers={'content-type':opts.dataType};return headers[header];};if(opts.dataType=='json'||opts.dataType=='script'){var ta=doc.getElementsByTagName('textarea')[0];xhr.responseText=ta?ta.value:xhr.responseText;}
+else if(opts.dataType=='xml'&&!xhr.responseXML&&xhr.responseText!=null){xhr.responseXML=toXml(xhr.responseText);}
+data=$.httpData(xhr,opts.dataType);}
+catch(e){ok=false;$.handleError(opts,xhr,'error',e);}
+if(ok){opts.success(data,'success');if(g)$.event.trigger("ajaxSuccess",[xhr,opts]);}
+if(g)$.event.trigger("ajaxComplete",[xhr,opts]);if(g&&!--$.active)$.event.trigger("ajaxStop");if(opts.complete)opts.complete(xhr,ok?'success':'error');setTimeout(function(){$io.remove();xhr.responseXML=null;},100);};function toXml(s,doc){if(window.ActiveXObject){doc=new ActiveXObject('Microsoft.XMLDOM');doc.async='false';doc.loadXML(s);}
+else
+doc=(new DOMParser()).parseFromString(s,'text/xml');return(doc&&doc.documentElement&&doc.documentElement.tagName!='parsererror')?doc:null;};};};$.fn.ajaxForm=function(options){return this.ajaxFormUnbind().bind('submit.form-plugin',function(){$(this).ajaxSubmit(options);return false;}).each(function(){$(":submit,input:image",this).bind('click.form-plugin',function(e){var $form=this.form;$form.clk=this;if(this.type=='image'){if(e.offsetX!=undefined){$form.clk_x=e.offsetX;$form.clk_y=e.offsetY;}else if(typeof $.fn.offset=='function'){var offset=$(this).offset();$form.clk_x=e.pageX-offset.left;$form.clk_y=e.pageY-offset.top;}else{$form.clk_x=e.pageX-this.offsetLeft;$form.clk_y=e.pageY-this.offsetTop;}}
+setTimeout(function(){$form.clk=$form.clk_x=$form.clk_y=null;},10);});});};$.fn.ajaxFormUnbind=function(){this.unbind('submit.form-plugin');return this.each(function(){$(":submit,input:image",this).unbind('click.form-plugin');});};$.fn.formToArray=function(semantic){var a=[];if(this.length==0)return a;var form=this[0];var els=semantic?form.getElementsByTagName('*'):form.elements;if(!els)return a;for(var i=0,max=els.length;i<max;i++){var el=els[i];var n=el.name;if(!n)continue;if(semantic&&form.clk&&el.type=="image"){if(!el.disabled&&form.clk==el)
+a.push({name:n+'.x',value:form.clk_x},{name:n+'.y',value:form.clk_y});continue;}
+var v=$.fieldValue(el,true);if(v&&v.constructor==Array){for(var j=0,jmax=v.length;j<jmax;j++)
+a.push({name:n,value:v[j]});}
+else if(v!==null&&typeof v!='undefined')
+a.push({name:n,value:v});}
+if(!semantic&&form.clk){var inputs=form.getElementsByTagName("input");for(var i=0,max=inputs.length;i<max;i++){var input=inputs[i];var n=input.name;if(n&&!input.disabled&&input.type=="image"&&form.clk==input)
+a.push({name:n+'.x',value:form.clk_x},{name:n+'.y',value:form.clk_y});}}
+return a;};$.fn.formSerialize=function(semantic){return $.param(this.formToArray(semantic));};$.fn.fieldSerialize=function(successful){var a=[];this.each(function(){var n=this.name;if(!n)return;var v=$.fieldValue(this,successful);if(v&&v.constructor==Array){for(var i=0,max=v.length;i<max;i++)
+a.push({name:n,value:v[i]});}
+else if(v!==null&&typeof v!='undefined')
+a.push({name:this.name,value:v});});return $.param(a);};$.fn.fieldValue=function(successful){for(var val=[],i=0,max=this.length;i<max;i++){var el=this[i];var v=$.fieldValue(el,successful);if(v===null||typeof v=='undefined'||(v.constructor==Array&&!v.length))
+continue;v.constructor==Array?$.merge(val,v):val.push(v);}
+return val;};$.fieldValue=function(el,successful){var n=el.name,t=el.type,tag=el.tagName.toLowerCase();if(typeof successful=='undefined')successful=true;if(successful&&(!n||el.disabled||t=='reset'||t=='button'||(t=='checkbox'||t=='radio')&&!el.checked||(t=='submit'||t=='image')&&el.form&&el.form.clk!=el||tag=='select'&&el.selectedIndex==-1))
+return null;if(tag=='select'){var index=el.selectedIndex;if(index<0)return null;var a=[],ops=el.options;var one=(t=='select-one');var max=(one?index+1:ops.length);for(var i=(one?index:0);i<max;i++){var op=ops[i];if(op.selected){var v=$.browser.msie&&!(op.attributes['value'].specified)?op.text:op.value;if(one)return v;a.push(v);}}
+return a;}
+return el.value;};$.fn.clearForm=function(){return this.each(function(){$('input,select,textarea',this).clearFields();});};$.fn.clearFields=$.fn.clearInputs=function(){return this.each(function(){var t=this.type,tag=this.tagName.toLowerCase();if(t=='text'||t=='password'||tag=='textarea')
+this.value='';else if(t=='checkbox'||t=='radio')
+this.checked=false;else if(tag=='select')
+this.selectedIndex=-1;});};$.fn.resetForm=function(){return this.each(function(){if(typeof this.reset=='function'||(typeof this.reset=='object'&&!this.reset.nodeType))
+this.reset();});};$.fn.enable=function(b){if(b==undefined)b=true;return this.each(function(){this.disabled=!b});};$.fn.select=function(select){if(select==undefined)select=true;return this.each(function(){var t=this.type;if(t=='checkbox'||t=='radio')
+this.checked=select;else if(this.tagName.toLowerCase()=='option'){var $sel=$(this).parent('select');if(select&&$sel[0]&&$sel[0].type=='select-one'){$sel.find('option').select(false);}
+this.selected=select;}});};function log(){if($.fn.ajaxSubmit.debug&&window.console&&window.console.log)
+window.console.log('[jquery.form] '+Array.prototype.join.call(arguments,''));};})(jQuery);var TO_LOAD_INDEX=0;var TO_LOAD=new Array;var MARKITUP=false;var UNBIND=false;$(function(){load_jquery();});function load_jquery(){if(UNBIND){if(MARKITUP){$("*").not(".markItUpButton").unbind();}else{$("*").unbind();}}
+UNBIND=true;$("a.submit").click(function(){$(this).parents("form").submit();return false;});$("a.submitWait").click(function(){$(this).parents("form").after('<p class="center">'+$(this).attr('title')+'<br /><br /><img src="'+IMG_CUBE+'/loader.gif" /></p>');$(this).parents("form").submit();$(this).parents("form").hide();return false;});$("form").submit(function(){$(this).attr('change','0');return true;});$("form.blank").each(function(){$(this).attr('target','_blank');$(this).removeClass('_blank');});$("form").not(".notajax").submit(function(){display_loader();$(this).ajaxSubmit({url:SITE_PATH+'ajax/'+$(this).attr('action'),success:function(data){MyAjax(data);}});return false;});$(".notajax form").unbind();$("form.submitonchange :input").each(function(){$(this).one('change',function(){$(this).parents("form").submit();});});$(":input").change(function(){$(this).parents("form").attr("change",1);});$("a.ajax").click(function(){var title=$(this).attr('title');var href=$(this).attr('rel');if(title!=''&&title!=undefined&&title.search(/\?/)>-1){if(!window.confirm(title)){return false;}}
+if($(this).hasClass('wait')){wait();}
+display_loader();$.ajax({url:SITE_PATH+'ajax/'+href,success:function(data){MyAjax(data);}});return false;});$("a.dajax").dblclick(function(){var title=$(this).attr('title');var href=$(this).attr('rel');if(title!=''&&title!=undefined&&title.search(/\?/)>=0){if(!window.confirm(title)){return false;}}
+display_loader();$.ajax({url:SITE_PATH+'ajax/'+href,success:function(data){MyAjax(data);}});return false;});$("a.ajaxh").click(function(){var title=$(this).attr('title');var href=$(this).attr('href');if(title!=''&&title!=undefined&&title.search(/\?/)>=0){if(!window.confirm(title)){return false;}}
+display_loader();$.ajax({url:href,success:function(data){MyAjax(data);}});return false;});$("a.prompt").click(function(){var href=$(this).attr('rel');var defaut=$(this).attr('rev');var name=window.prompt($(this).attr('title'),defaut);if(name==null||name=='null'||name==''){return false;}
+display_loader();$.ajax({url:SITE_PATH+'ajax/'+href+'?var='+name,success:function(data){MyAjax(data);}});return false;});$("a.closePopup").click(function(){closePopup($(this),true);return false;});$("a.closePopupNotConfirm").click(function(){closePopup($(this),false);return false;});$("a.popup").click(function(){display_loader();$.ajax({url:SITE_PATH+'ajax/'+$(this).attr('rel'),dataType:'responseText',success:function(data){createPopup(data);}});remove_loader();return false;});$("a.changepopup").click(function(){display_loader();$.ajax({url:SITE_PATH+'ajax/'+$(this).attr('rel'),dataType:'responseText',success:function(data){changepopup(data);load_jquery();}});remove_loader();return false;});$("a.blank").click(function(){$(this).attr('target','_blank');return true;});$("a.nothing").click(function(){return false;});$(".pemail").each(function(){var protected=$(this).text();var adresse=rot13(protected);$(this).text(adresse);$(this).attr('href','mailto:'+adresse);$(this).removeClass('pemail');});var len=TO_LOAD.length;for(var i=0;i<len;i++){eval(TO_LOAD[i]);}
+__fixPNG();if($("#jquery_time").length>0&&$("#jquery_time").text()==''){var E=new Date();var m=(parseInt(E-S)/1000).toString().replace('.',',');$("#jquery_time").text(m);}}
+function randval(min,max){var diff=max-min;return Math.round(Math.random()*diff)+diff;}
+function rot(t,u,v){return String.fromCharCode(((t-u+v)%(v*2))+u);}
+function rot13(s){var b=[],c,i=s.length,a='a'.charCodeAt(),z=a+26,A='A'.charCodeAt(),Z=A+26;while(i--){c=s.charCodeAt(i);if(c>=a&&c<z){b[i]=rot(c,a,13);}else if(c>=A&&c<Z){b[i]=rot(c,A,13);}else{b[i]=s.charAt(i);}}
+return b.join('');}
+function createPopup(data){POPUP_COUNTER=parseInt(POPUP_COUNTER);$("body").append('<div id="pl_'+POPUP_COUNTER+'" class="popupLayer"><div class="popupOverlay" id="po_'+POPUP_COUNTER+'" style="z-index:'+(1000+POPUP_COUNTER*2)+';"></div><div id="pw_'+POPUP_COUNTER+'" class="popupWindow" style="z-index:'+(1001+POPUP_COUNTER*2)+';"></div></div>');$("#po_"+POPUP_COUNTER).css('opacity',0.65);$("#po_"+POPUP_COUNTER).css('display','block');$("#pw_"+POPUP_COUNTER).html(data);$("#pw_"+POPUP_COUNTER).show();popup_dimensions(POPUP_COUNTER);load_jquery();POPUP_COUNTER+=1;}
+function closePopup(object,confirm){if(object==undefined||object==null){var i=$(".popupLayer").length-1;var elements=$(".popupLayer").get();var e=elements[i];var changes=false;$(this).find("form").each(function(){if($(this).attr("change")==1){changes=true;}});if(confirm==false||(changes==true&&window.confirm(CONFIRM_CLOSE))||changes==false){$(e).remove();POPUP_COUNTER-=1;popup_dimensions();}}else{$(object).parents(".popupLayer").each(function(){var changes=false;$(this).find("form").each(function(){if($(this).attr("change")==1){changes=true;}});if(confirm==false||(changes==true&&window.confirm(CONFIRM_CLOSE))||changes==false){$(this).remove();POPUP_COUNTER-=1;popup_dimensions();}});}}
+function popup_dimensions(i){if(i==undefined){i=POPUP_COUNTER-1;}
+if(i<0){return;}
+var margin=30;var mh=$(window).height()-(margin*2);if(!$.browser.msie){$("#pw_"+i).css("opacity",0);}
+if($("#pw_"+i+" .c>div").height()+10>mh){$("#pw_"+i+" .c>div").css("overflow",'auto');}else{$("#pw_"+i+" .c>div").css("overflow",'visible');}
+$("#pw_"+i+" .c>div").css("max-height",mh);$("#pw_"+i).css("left",($(window).width()-$("#pw_"+i).width())/2);if($("#pw_"+i+" .c>div").attr('top')){$("#pw_"+i).css("top",parseInt($("#pw_"+i+" .c>div").attr('top')));}else{var top=(mh-$("#pw_"+i).height())/2+margin;$("#pw_"+i).css("top",top);}
+if(!$.browser.msie){$("#pw_"+i).css("opacity",1);}}
+function changepopup(data){var pc=POPUP_COUNTER-1;$("#pw_"+pc).html(data);popup_dimensions(pc);}
+function checkUpload(){if($.browser.msie){var iframe=uploadIframe.document;}else{var uploadIframe=document.getElementById('uploadIframe');var iframe=uploadIframe.contentDocument;}
+if(iframe.getElementById('status')!=undefined&&iframe.contentDocument.getElementById('status').innerHTML!=undefined){clearInterval(INTERVAL);$.ajax({url:UPDATE,success:function(data){MyAjax(data);}});if(iframe.getElementById('status').innerHTML!='ok'){window.alert(ERREUR_FICHIER+' : \n'+iframe.getElementById('status').innerHTML);}
+if(POPUP_COUNTER>0){closePopup(null,false);}
+$("#uploadIframe").remove();}}
+function isSet(i){return(i==null||i=='null'||i==''||i=='undefined');}
+function callAjaxSwf(urlLink){$.ajax({url:urlLink,success:function(data){MyAjax(data);}});}
+function swfAjax(data){MyAjax(strToXML(data));}
+function MyAjax(data,reload){var error=new Array();var confirmation='';var ok=true;var t=$(data).children('rsp').children().get();for(var i=0;i<t.length;i++){var e=t[i];var name=e.nodeName;if(name=='confirmation'){var contentconfirm=$(e).text();confirmation+="<p>"+contentconfirm+"</p>";}else if(name=='error'){var errors=$(e).children().get();for(var j=0;j<errors.length;j++){var err=errors[j];var ename=err.nodeName;var econtent=$(err).text();$("#"+ename).addClass('error');$("#"+ename).val('');error.push(econtent);ok=false;}}else if(name=='content'){var contents=$(e).children().get();for(var k=0;k<contents.length;k++){var content=contents[k];var cname=content.nodeName;var ccontent=$(content).text();if(ccontent==''){$("#"+cname).html(ccontent);}else{$("#"+cname).html(ccontent);}
+if(POPUP_COUNTER-1>=0){popup_dimensions(POPUP_COUNTER-1);}}}else if(name=='replace'){var contents=$(e).children().get();for(var k=0;k<contents.length;k++){var content=contents[k];var cname=content.nodeName;var ccontent=$(content).text();if(ccontent==''){$("#"+cname).replaceWith(ccontent);}else{$("#"+cname).replaceWith(ccontent);}
+if(POPUP_COUNTER-1>=0){popup_dimensions(POPUP_COUNTER-1);}}}else if(name=='append'){var contents=$(e).children().get();for(var k=0;k<contents.length;k++){var content=contents[k];var cname=content.nodeName;var ccontent=$(content).text();if(ccontent==''){$("#"+cname).append(ccontent);}else{$("#"+cname).append(ccontent);}
+if(POPUP_COUNTER-1>=0){popup_dimensions(POPUP_COUNTER-1);}}}else if(name=='param'){var ids=$(e).children().get();for(var p=0;p<ids.length;p++){var id=ids[p];var idname=id.nodeName;var params=$(id).children().get();var o={};for(var q=0;q<params.length;q++){var param=params[q];var paramname=param.nodeName;var paramcontent=$(param).text();o[paramname]=paramcontent;}
+$("#"+idname).attr(o);$("#"+idname).parents("form").unbind('submit');}}else if(name=='alert'){var alerts=$(e).children().get();for(var r=0;r<alerts.length;r++){var alert=alerts[r];var acontent=$(alert).text();window.alert(acontent);}}else if(name=='ok'){var oks=$(e).children().get();for(var l=0;l<oks.length;l++){var ok=oks[l];var oname=ok.nodeName.toLowerCase();$("#"+oname).removeClass('error');}}else if(name=='redirection'){var url=$(e).text();window.location=url;}else if(name=='show'){var oks=$(e).children().get();for(var l=0;l<oks.length;l++){var ok=oks[l];var oname=ok.nodeName;$("#"+oname).show('fast');}}else if(name=='debug'){}else if(name=='eval'){var codes=$(e).children().get();for(var r=0;r<codes.length;r++){var code=codes[r];eval($(code).text());}}else if(name=='closepopup'){var closes=$(e).children().get();for(var cp=0;cp<closes.length;cp++){closePopup(null,false);}}else if(name=='openpopup'){var opens=$(e).children().get();for(var op=0;op<opens.length;op++){var cont=opens[op];createPopup($(cont).text());}}else if(name=='changepopup'){var changes=$(e).children().get();for(var cp=0;cp<changes.length;cp++){var cont=changes[cp];changepopup($(cont).text());}}
+else if(name=='popupdimensions'){popup_dimensions();}
+else if(name=='truepopup'){var trues=$(e).children().get();for(var tp=0;tp<trues.length;tp++){var cont=trues[tp];truePopup($(cont).text());}}else if(name=='timer'){var time=parseInt($(e).text());var t=setTimeout("doNothing()",time);}else if(name=='value'){var values=$(e).children().get();for(var v=0;v<values.length;v++){var node=values[v];var oname=node.nodeName;var val=$("#"+oname).val($(node).text());}}}
+if(error.length>0){$("#message").html(error.join('<br />'));}else{$("#message").html('');}
+if(confirmation!=''){$("#confirmation").html(confirmation);$("#confirmation").animate({height:26,opacity:1},2000,function(){$("#confirmation").fadeTo(10000,1,function(){$("#confirmation").animate({height:0,opacity:0},2000);$("#confirmation").empty();});});}
+if(reload==true||reload==undefined){load_jquery();}
+remove_loader();return ok;}
+function truePopup(url){var rand=Math.round(Math.random()*200);window.open(url,'Popup'+rand,'width='+window.width+',height='+window.height);}
+function _fixPNG(){var png;var images=$('img[@src*="png"]:not([@fixed="fixed"])');images.each(function(){png=$(this).attr('src');$(this).attr('src',IMG_CUBE+'/spacer.gif');$(this).css('filter',"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+png+"')");$(this).attr('fixed','fixed');});}
+function __fixPNG(){if($.browser.msie&&parseInt(navigator.userAgent.match(/MSIE (\d+(?:\.\d+)+(?:b\d*)?)/)[1])<=6){_fixPNG();}}
+function getWindowHeight(){var windowHeight=0;if(typeof(window.innerHeight)=='number'){windowHeight=window.innerHeight;}
+else{if(document.documentElement&&document.documentElement.clientHeight){windowHeight=document.documentElement.clientHeight;}
+else{if(document.body&&document.body.clientHeight){windowHeight=document.body.clientHeight;}}}
+return windowHeight;}
+function getWindowWidth(){var myWidth=0;if(typeof(window.innerWidth)=='number'){myWidth=window.innerWidth;}
+else if(document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight)){myWidth=document.documentElement.clientWidth;}
+else if(document.body&&(document.body.clientWidth||document.body.clientHeight)){myWidth=document.body.clientWidth;}
+return myWidth;}
+function doNothing(){}
+function htmlEditorGetText(id){var text=document.getElementById(id).value;return'<TEXTFORMAT LEADING="2"><P ALIGN="LEFT">'+text+'</P></TEXTFORMAT>';}
+function htmlEditorPutText(id,text){document.getElementById(id).value=text;}
+function display_loader(){if(LOADER_AJAX==''){}else{$("body").append('<div id="loader"><img src="'+LOADER_AJAX+'" /></div>');}}
+function remove_loader(){if(LOADER_AJAX==''){}else{$("#loader").remove();}}
+function URLEncode(clearString){var output='';var x=0;clearString=clearString.toString();var regex=/(^[a-zA-Z0-9_.]*)/;while(x<clearString.length){var match=regex.exec(clearString.substr(x));if(match!=null&&match.length>1&&match[1]!=''){output+=match[1];x+=match[1].length;}else{if(clearString[x]==' ')
+output+='+';else{var charCode=clearString.charCodeAt(x);var hexVal=charCode.toString(16);output+='%'+(hexVal.length<2?'0':'')+hexVal.toUpperCase();}
+x++;}}
+return output;}
+function strToXML(str){var contentType='application/xml';if(typeof(DOMParser)!='undefined'){return(new DOMParser()).parseFromString(str.substr(0,4095),contentType);}else if(typeof(ActiveXObject)!='undefined'){var xmldata=new ActiveXObject('MSXML.DomDocument');xmldata.async=false;xmldata.loadXML(str);return xmldata;}else if(typeof(XMLHttpRequest)!='undefined'){var xmldata=new XMLHttpRequest;if(!contentType){contentType='application/xml';}
+xmldata.open('GET','data:'+contentType+';charset=utf-8,'+encodeURIComponent(str),false);if(xmldata.overrideMimeType){xmldata.overrideMimeType(contentType);}
+xmldata.send(null);return xmldata.responseXML;}}
+TO_LOAD_INDEX++;TO_LOAD[TO_LOAD_INDEX]='load_emptyfield();';function load_emptyfield(){$("input.empty_field,input.empty-field").each(function(){if($(this).attr('orig')){return;}
+$(this).attr('orig',$(this).attr('value'));});$("input.empty_field,input.empty-field").click(function(){if($(this).val()==$(this).attr('orig')){$(this).val('');}});}
+TO_LOAD_INDEX++;TO_LOAD[TO_LOAD_INDEX]='load_truepopups();';function load_truepopups(){$(".truePopup").click(function(){var rev=$(this).attr('rev');if(!rev||rev==''){var n='PopupFS'+randval(1000,9999).toString();}else{n=rev;}
+$(this).attr('rel',$(this).attr('rel').replace(/screen.height/,screen.height));$(this).attr('rel',$(this).attr('rel').replace(/screen.width/,screen.width));window.open($(this).attr('href'),n,$(this).attr('rel'));return false;});$(".popupFS").click(function(){var rev=$(this).attr('rev');if(!rev||rev==''){var n='PopupFS'+randval(1000,9999).toString();}else{n=rev;}
+window.open($(this).attr('href'),n,'width='+screen.width+',height='+screen.height+',resizable=yes');return false;});$(".popupA4").click(function(){var rev=$(this).attr('rev');if(!rev||rev==''){var n='PopupFS'+randval(1000,9999).toString();}else{n=rev;}
+var h=screen.height;var w=h/1.5;window.open($(this).attr('href'),n,'width='+w+',height='+h+',resizable=yes');return false;});}
+TO_LOAD_INDEX++;TO_LOAD[TO_LOAD_INDEX]='load_contextmenu();';function load_contextmenu(){$("*:not(.openContextMenu)").click(function(){$(".contextMenu").hide();});$(".openContextMenu").click(function(e){$(".contextMenu").hide();var rel=$(this).attr('rel');var cm=$("#"+rel).clone(true);var args=$(this).attr('rev').split('§');var h=$(cm).html();var j;var mask;for(var i=0;i<args.length;i++){j=i+1;mask=new RegExp('\\$'+j.toString(),'gi');$(cm).find('li.head').each(function(){$(this).html($(this).html().replace(mask,args[i]));});$(cm).find('li a').each(function(){if($(this).attr('href')&&$(this).attr('href')!='#'){$(this).attr('href',$(this).attr('href').replace(mask,args[i]));}
+if($(this).attr('rel')){$(this).attr('rel',$(this).attr('rel').replace(mask,args[i]));}
+if($(this).attr('rev')){$(this).attr('rev',$(this).attr('rev').replace(mask,args[i]));}});}
+$(cm).appendTo('body');$(cm).removeAttr('id');$(cm).show();$(cm).css('top',e.pageY);$(cm).css('left',e.pageX);return false;});}
+TO_LOAD_INDEX++;TO_LOAD[TO_LOAD_INDEX]='load_extranet();';FIRST_LOAD=true;function load_extranet(){if($("#devisAdresse #client_nom").length){$("#devisAdresse #client_nom").autocomplete(SITE_PATH+'autocomplete/client',{cacheLength:0,maxItemsToShow:15,onFindValue:findClient,onItemSelect:findClient});}
+if($("#factureAdresse #projet_nom").length){$("#factureAdresse #projet_nom").autocomplete(SITE_PATH+'autocomplete/projet',{cacheLength:0,maxItemsToShow:15,onFindValue:findProjet,onItemSelect:findProjet});}
+if($(".dashboard").length>=1){$("#dash").sortable('destroy');if(FIRST_LOAD){FIRST_LOAD=false;}else{FIRST_LOAD=true;$.ajax({url:SITE_PATH+'ajax/reloadDashboards',success:function(data){MyAjax(data)}});}
+$("#dash").sortable({opacity:0.6,axis:"y",handle:".caption",stop:function(e,ui){$.ajax({url:SITE_PATH+'ajax/orderDashboards?'+$("#dash").sortable('serialize'),});resize();}});}
+$(".timereport_field").change(function(){var val=parseInt($(this).val());if(isNaN(val)){val=0;}
+var f=this;var id=$(this).attr('id');var a=id.split('_');$.ajax({url:SITE_PATH+'ajax/saveTimereport/'+a[1]+'/'+a[2]+'/'+val,success:function(data){FIRST_LOAD=true;MyAjax(data);var td=$(f).parents('td').get(0);if(parseFloat($(f).val())>0){$(td).addClass('filled');}else{$(td).removeClass('filled');}}});});$("#dash .toggle").click(function(){var rel=$(this).attr('rel');var div=$(this).parents('.dashboard').get(0);var liste=$(div).find('.liste');$(liste).slideToggle('fast',function(){resize();});$(this).toggleClass('close');$.ajax({url:SITE_PATH+'ajax/toggleDashboard/'+rel,});return false;});$(".filtre .bt").click(function(){var ul=$(this).parent().parent().children('ul');$(ul).slideToggle('fast');return false;});$(".filtre ul").click(function(e){if(e.target.nodeName=='INPUT'||e.target.nodeName=='LABEL'){return true;}
+$(this).slideToggle('fast');});$(".filtre span").click(function(){var ul=$(this).parent().children('ul');$(ul).slideToggle('fast');});$(".filtre input").change(function(){var form=$(this).parents('form').get(0);var uls=$(form).find("ul");var divs=$(form).find(".input");var spans=$(form).find("span");var i,j,k,ul,lis,li,input,label,checked,div,titre,t,t1,allc,inputs;for(i=0;i<uls.length;i++){div=divs[i];titre=Array();ul=uls[i];lis=$(ul).children("li");allc=$(lis).get(0);checked=0;for(j=1;j<lis.length;j++){li=lis[j];input=$(li).find('input').get(0);label=$(li).find('label').get(0);if(input.checked){checked++;titre.push($(label).text());}}
+if(checked==0){$(div).find('span').text($(allc).text());$(div).find('a').attr('title',$(allc).text());$(div).removeClass('active');inputs=$(ul).find('input');for(k=0;k<inputs.length;k++){inputs[k].checked=true;}}else if(checked==lis.length-1){$(div).find('span').text($(allc).text());$(div).find('a').attr('title',$(allc).text());$(div).removeClass('active');}else{t=titre.join(', ');if(t.length>20){t1=t.substr(0,16)+'...';}else{t1=t;}
+$(div).find('span').text(t1);$(div).find('a').attr('title',t);$(div).addClass('active');}}
+return true;});$(window).resize(function(){resize();});resize();}
+function resize(){var allh=$("#header").height()+$("#footer").height()+$("#bar").height()+$("#main .content").height()+13+30;var h=Math.max($(window).height(),allh);var mh=h-$("#header").height()-$("#footer").height()-$("#bar").height()-30-13;mh=Math.max(mh,450);$("#main").css('height',mh);}
+function findClient(li){var client=li.selectValue.split(' - ');if(client.length<=1){return;}
+var client_id=parseInt(client[0]);$("#client").val(client_id);$.ajax({url:SITE_PATH+'ajax/getAdresseForDevis/'+client_id,success:function(data){MyAjax(data);}});}
+function findProjet(li){var projet=li.selectValue.split(' - ');if(projet.length<=1){return;}
+var projet_id=parseInt(projet[0]);$("#projet").val(projet_id);$.ajax({url:SITE_PATH+'ajax/getAdresseForFacture/'+projet_id,success:function(data){MyAjax(data);}});}
\ No newline at end of file
diff --git a/js/merged-fe88f4.js b/js/merged-fe88f4.js
new file mode 100644 (file)
index 0000000..de25baa
--- /dev/null
@@ -0,0 +1,511 @@
+
+(function(){var _jQuery=window.jQuery,_$=window.$;var jQuery=window.jQuery=window.$=function(selector,context){return new jQuery.fn.init(selector,context);};var quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/,isSimple=/^.[^:#\[\.]*$/,undefined;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;return this;}
+if(typeof selector=="string"){var match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1])
+selector=jQuery.clean([match[1]],context);else{var elem=document.getElementById(match[3]);if(elem){if(elem.id!=match[3])
+return jQuery().find(selector);return jQuery(elem);}
+selector=[];}}else
+return jQuery(context).find(selector);}else if(jQuery.isFunction(selector))
+return jQuery(document)[jQuery.fn.ready?"ready":"load"](selector);return this.setArray(jQuery.makeArray(selector));},jquery:"1.2.6",size:function(){return this.length;},length:0,get:function(num){return num==undefined?jQuery.makeArray(this):this[num];},pushStack:function(elems){var ret=jQuery(elems);ret.prevObject=this;return ret;},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elems);return this;},each:function(callback,args){return jQuery.each(this,callback,args);},index:function(elem){var ret=-1;return jQuery.inArray(elem&&elem.jquery?elem[0]:elem,this);},attr:function(name,value,type){var options=name;if(name.constructor==String)
+if(value===undefined)
+return this[0]&&jQuery[type||"attr"](this[0],name);else{options={};options[name]=value;}
+return this.each(function(i){for(name in options)
+jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name));});},css:function(key,value){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])
+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){var ret=this.map(function(){if(jQuery.browser.msie&&!jQuery.isXMLDoc(this)){var clone=this.cloneNode(true),container=document.createElement("div");container.appendChild(clone);return jQuery.clean([container.innerHTML])[0];}else
+return this.cloneNode(true);});var clone=ret.find("*").andSelf().each(function(){if(this[expando]!=undefined)
+this[expando]=null;});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 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)
+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 this.pushStack(jQuery.unique(jQuery.merge(this.get(),typeof selector=='string'?jQuery(selector):jQuery.makeArray(selector))));},is:function(selector){return!!selector&&jQuery.multiFilter(selector,this).length>0;},hasClass:function(selector){return this.is("."+selector);},val:function(value){if(value==undefined){if(this.length){var elem=this[0];if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";if(index<0)
+return null;for(var i=one?index:0,max=one?index+1:options.length;i<max;i++){var option=options[i];if(option.selected){value=jQuery.browser.msie&&!option.attributes.value.specified?option.text:option.value;if(one)
+return value;values.push(value);}}
+return values;}else
+return(this[0].value||"").replace(/\r/g,"");}
+return undefined;}
+if(value.constructor==Number)
+value+='';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=jQuery.makeArray(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[0]?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===undefined){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data===undefined&&this.length)
+data=jQuery.data(this[0],key);return data===undefined&&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;if(jQuery.nodeName(elem,"script"))
+scripts=scripts.add(elem);else{if(elem.nodeType==1)
+scripts=scripts.add(jQuery("script",elem).remove());callback.call(obj,elem);}});scripts.each(evalScript);});}};jQuery.fn.init.prototype=jQuery.fn;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);}
+function now(){return+new Date;}
+jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(target.constructor==Boolean){deep=target;target=arguments[1]||{};i=2;}
+if(typeof target!="object"&&typeof target!="function")
+target={};if(length==i){target=this;--i;}
+for(;i<length;i++)
+if((options=arguments[i])!=null)
+for(var name in options){var src=target[name],copy=options[name];if(target===copy)
+continue;if(deep&&copy&&typeof copy=="object"&&!copy.nodeType)
+target[name]=jQuery.extend(deep,src||(copy.length!=null?[]:{}),copy);else if(copy!==undefined)
+target[name]=copy;}
+return target;};var expando="jQuery"+now(),uuid=0,windowData={},exclude=/z-?index|font-?weight|opacity|zoom|line-?height/i,defaultView=document.defaultView||{};jQuery.extend({noConflict:function(deep){window.$=_$;if(deep)
+window.jQuery=_jQuery;return jQuery;},isFunction:function(fn){return!!fn&&typeof fn!="string"&&!fn.nodeName&&fn.constructor!=Array&&/^[\s[]?function/.test(fn+"");},isXMLDoc:function(elem){return elem.documentElement&&!elem.body||elem.tagName&&elem.ownerDocument&&!elem.ownerDocument.body;},globalEval:function(data){data=jQuery.trim(data);if(data){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.insertBefore(script,head.firstChild);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];if(!id)
+id=elem[expando]=++uuid;if(name&&!jQuery.cache[id])
+jQuery.cache[id]={};if(data!==undefined)
+jQuery.cache[id][name]=data;return name?jQuery.cache[id][name]:id;},removeData:function(elem,name){elem=elem==window?windowData:elem;var id=elem[expando];if(name){if(jQuery.cache[id]){delete jQuery.cache[id][name];name="";for(name in jQuery.cache[id])
+break;if(!name)
+jQuery.removeData(elem);}}else{try{delete elem[expando];}catch(e){if(elem.removeAttribute)
+elem.removeAttribute(expando);}
+delete jQuery.cache[id];}},each:function(object,callback,args){var name,i=0,length=object.length;if(args){if(length==undefined){for(name in object)
+if(callback.apply(object[name],args)===false)
+break;}else
+for(;i<length;)
+if(callback.apply(object[i++],args)===false)
+break;}else{if(length==undefined){for(name in object)
+if(callback.call(object[name],name,object[name])===false)
+break;}else
+for(var value=object[0];i<length&&callback.call(value,i,value)!==false;value=object[++i]){}}
+return object;},prop:function(elem,value,type,i,name){if(jQuery.isFunction(value))
+value=value.call(elem,i);return value&&value.constructor==Number&&type=="curCSS"&&!exclude.test(name)?value+"px":value;},className:{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;});},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(" "):"";},has:function(elem,className){return jQuery.inArray(className,(elem.className||elem).toString().split(/\s+/))>-1;}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}
+callback.call(elem);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,style=elem.style;function color(elem){if(!jQuery.browser.safari)
+return false;var ret=defaultView.getComputedStyle(elem,null);return!ret||ret.getPropertyValue("color")=="";}
+if(name=="opacity"&&jQuery.browser.msie){ret=jQuery.attr(style,"opacity");return ret==""?"1":ret;}
+if(jQuery.browser.opera&&name=="display"){var save=style.outline;style.outline="0 solid black";style.outline=save;}
+if(name.match(/float/i))
+name=styleFloat;if(!force&&style&&style[name])
+ret=style[name];else if(defaultView.getComputedStyle){if(name.match(/float/i))
+name="float";name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var computedStyle=defaultView.getComputedStyle(elem,null);if(computedStyle&&!color(elem))
+ret=computedStyle.getPropertyValue(name);else{var swap=[],stack=[],a=elem,i=0;for(;a&&color(a);a=a.parentNode)
+stack.unshift(a);for(;i<stack.length;i++)
+if(color(stack[i])){swap[i]=stack[i].style.display;stack[i].style.display="block";}
+ret=name=="display"&&swap[stack.length-1]!=null?"none":(computedStyle&&computedStyle.getPropertyValue(name))||"";for(i=0;i<swap.length;i++)
+if(swap[i]!=null)
+stack[i].style.display=swap[i];}
+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];if(!/^\d+(px)?$/i.test(ret)&&/^\d/.test(ret)){var left=style.left,rsLeft=elem.runtimeStyle.left;elem.runtimeStyle.left=elem.currentStyle.left;style.left=ret||0;ret=style.pixelLeft+"px";style.left=left;elem.runtimeStyle.left=rsLeft;}}
+return ret;},clean:function(elems,context){var ret=[];context=context||document;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+='';if(typeof elem=="string"){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+">";});var tags=jQuery.trim(elem).toLowerCase(),div=context.createElement("div");var wrap=!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>"]||(!tags.indexOf("<td")||!tags.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!tags.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||jQuery.browser.msie&&[1,"div<div>","</div>"]||[0,"",""];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--)
+div=div.lastChild;if(jQuery.browser.msie){var tbody=!tags.indexOf("<table")&&tags.indexOf("<tbody")<0?div.firstChild&&div.firstChild.childNodes: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]);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){if(!elem||elem.nodeType==3||elem.nodeType==8)
+return undefined;var notxml=!jQuery.isXMLDoc(elem),set=value!==undefined,msie=jQuery.browser.msie;name=notxml&&jQuery.props[name]||name;if(elem.tagName){var special=/href|src|style/.test(name);if(name=="selected"&&jQuery.browser.safari)
+elem.parentNode.selectedIndex;if(name in elem&&notxml&&!special){if(set){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)
+throw"type property can't be changed";elem[name]=value;}
+if(jQuery.nodeName(elem,"form")&&elem.getAttributeNode(name))
+return elem.getAttributeNode(name).nodeValue;return elem[name];}
+if(msie&&notxml&&name=="style")
+return jQuery.attr(elem.style,"cssText",value);if(set)
+elem.setAttribute(name,""+value);var attr=msie&&notxml&&special?elem.getAttribute(name,2):elem.getAttribute(name);return attr===null?undefined:attr;}
+if(msie&&name=="opacity"){if(set){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+
+(parseInt(value)+''=="NaN"?"":"alpha(opacity="+value*100+")");}
+return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100)+'':"";}
+name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(set)
+elem[name]=value;return elem[name];},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeArray:function(array){var ret=[];if(array!=null){var i=array.length;if(i==null||array.split||array.setInterval||array.call)
+ret[0]=array;else
+while(i)
+ret[--i]=array[i];}
+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){var i=0,elem,pos=first.length;if(jQuery.browser.msie){while(elem=second[i++])
+if(elem.nodeType!=8)
+first[pos++]=elem;}else
+while(elem=second[i++])
+first[pos++]=elem;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=[];for(var i=0,length=elems.length;i<length;i++)
+if(!inv!=!callback(elems[i],i))
+ret.push(elems[i]);return ret;},map:function(elems,callback){var ret=[];for(var i=0,length=elems.length;i<length;i++){var value=callback(elems[i],i);if(value!=null)
+ret[ret.length]=value;}
+return ret.concat.apply([],ret);}});var userAgent=navigator.userAgent.toLowerCase();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({boxModel:!jQuery.browser.msie||document.compatMode=="CSS1Compat",props:{"for":"htmlFor","class":"className","float":styleFloat,cssFloat:styleFloat,styleFloat:styleFloat,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing"}});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){jQuery("*",this).add(this).each(function(){jQuery.event.remove(this);jQuery.removeData(this);});if(this.parentNode)
+this.parentNode.removeChild(this);}},empty:function(){jQuery(">*",this).remove();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){return this[0]==window?jQuery.browser.opera&&document.body["client"+name]||jQuery.browser.safari&&window["inner"+name]||document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(Math.max(document.body["scroll"+name],document.documentElement["scroll"+name]),Math.max(document.body["offset"+name],document.documentElement["offset"+name])):size==undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,size.constructor==String?size:size+"px");};});function num(elem,prop){return elem[0]&&parseInt(jQuery.curCSS(elem[0],prop,true),10)||0;}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];},":":{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;},"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:function(a){return a.firstChild;},empty:function(a){return!a.firstChild;},contains:function(a,i,m){return(a.textContent||a.innerText||jQuery(a).text()||"").indexOf(m[3])>=0;},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";},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");},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:function(a,i,m){return jQuery.find(m[3],a).length;},header:function(a){return/h\d/i.test(a.nodeName);},animated:function(a){return jQuery.grep(jQuery.timers,function(fn){return a==fn.elem;}).length;}}},parse:[/^(\[) *@?([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/,/^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/,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){if(typeof t!="string")
+return[t];if(context&&context.nodeType!=1&&context.nodeType!=9)
+return[];context=context||document;var ret=[context],done=[],last,nodeName;while(t&&last!=t){var r=[];last=t;t=jQuery.trim(t);var foundToken=false,re=quickChild,m=re.exec(t);if(m){nodeName=m[1].toUpperCase();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;t=jQuery.trim(t.replace(re,""));foundToken=true;}}
+if(t&&!foundToken){if(!t.indexOf(",")){if(context==ret[0])ret.shift();done=jQuery.merge(done,ret);r=ret=[context];t=" "+t.substr(1,t.length);}else{var re2=quickID;var m=re2.exec(t);if(m){m=[0,m[2],m[3],m[1]];}else{re2=quickClass;m=re2.exec(t);}
+m[2]=m[2].replace(/\\/g,"");var elem=ret[ret.length-1];if(m[1]=="#"&&elem&&elem.getElementById&&!jQuery.isXMLDoc(elem)){var oid=elem.getElementById(m[2]);if((jQuery.browser.msie||jQuery.browser.opera)&&oid&&typeof oid.id=="string"&&oid.id!=m[2])
+oid=jQuery('[@id="'+m[2]+'"]',elem)[0];ret=r=oid&&(!m[3]||jQuery.nodeName(oid,m[3]))?[oid]:[];}else{for(var i=0;ret[i];i++){var tag=m[1]=="#"&&m[3]?m[3]:m[1]!=""||m[0]==""?"*":m[2];if(tag=="*"&&ret[i].nodeName.toLowerCase()=="object")
+tag="param";r=jQuery.merge(r,ret[i].getElementsByTagName(tag));}
+if(m[1]==".")
+r=jQuery.classFilter(r,m[2]);if(m[1]=="#"){var tmp=[];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(t){var val=jQuery.filter(t,r);ret=r=val.r;t=jQuery.trim(val.t);}}
+if(t)
+ret=[];if(ret&&context==ret[0])
+ret.shift();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;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){t=t.substring(m[0].length);m[2]=m[2].replace(/\\/g,"");break;}}
+if(!m)
+break;if(m[1]==":"&&m[2]=="not")
+r=isSimple.test(m[3])?jQuery.filter(m[3],r,true).r:jQuery(r).not(m[3]);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;}else if(m[1]==":"&&m[2]=="nth-child"){var merge={},tmp=[],test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(m[3]=="even"&&"2n"||m[3]=="odd"&&"2n+1"||!/\D/.test(m[3])&&"0n+"+m[3]||m[3]),first=(test[1]+(test[2]||1))-0,last=test[3]-0;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;}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+";}");r=jQuery.grep(r,function(elem,i){return fn(elem,i,m,r);},not);}}
+return{r:r,t:t};},dir:function(elem,dir){var matched=[],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&&n!=elem)
+r.push(n);}
+return r;}});jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8)
+return;if(jQuery.browser.msie&&elem.setInterval)
+elem=window;if(!handler.guid)
+handler.guid=this.guid++;if(data!=undefined){var fn=handler;handler=this.proxy(fn,function(){return fn.apply(this,arguments);});handler.data=data;}
+var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){if(typeof jQuery!="undefined"&&!jQuery.event.triggered)
+return jQuery.event.handle.apply(arguments.callee.elem,arguments);});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];handler.type=parts[1];var handlers=events[type];if(!handlers){handlers=events[type]={};if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem)===false){if(elem.addEventListener)
+elem.addEventListener(type,handle,false);else if(elem.attachEvent)
+elem.attachEvent("on"+type,handle);}}
+handlers[handler.guid]=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8)
+return;var events=jQuery.data(elem,"events"),ret,index;if(events){if(types==undefined||(typeof types=="string"&&types.charAt(0)=="."))
+for(var type in events)
+this.remove(elem,type+(types||""));else{if(types.type){handler=types.handler;types=types.type;}
+jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];if(events[type]){if(handler)
+delete events[type][handler.guid];else
+for(handler in events[type])
+if(!parts[1]||events[type][handler].type==parts[1])
+delete events[type][handler];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];}}});}
+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){data=jQuery.makeArray(data);if(type.indexOf("!")>=0){type=type.slice(0,-1);var exclusive=true;}
+if(!elem){if(this.global[type])
+jQuery("*").add([window,document]).trigger(type,data);}else{if(elem.nodeType==3||elem.nodeType==8)
+return undefined;var val,ret,fn=jQuery.isFunction(elem[type]||null),event=!data[0]||!data[0].preventDefault;if(event){data.unshift({type:type,target:elem,preventDefault:function(){},stopPropagation:function(){},timeStamp:now()});data[0][expando]=true;}
+data[0].type=type;if(exclusive)
+data[0].exclusive=true;var handle=jQuery.data(elem,"handle");if(handle)
+val=handle.apply(elem,data);if((!fn||(jQuery.nodeName(elem,'a')&&type=="click"))&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)
+val=false;if(event)
+data.shift();if(extra&&jQuery.isFunction(extra)){ret=extra.apply(elem,val==null?data:data.concat(val));if(ret!==undefined)
+val=ret;}
+if(fn&&donative!==false&&val!==false&&!(jQuery.nodeName(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]();}catch(e){}}
+this.triggered=false;}
+return val;},handle:function(event){var val,ret,namespace,all,handlers;event=arguments[0]=jQuery.event.fix(event||window.event);namespace=event.type.split(".");event.type=namespace[0];namespace=namespace[1];all=!namespace&&!event.exclusive;handlers=(jQuery.data(this,"events")||{})[event.type];for(var j in handlers){var handler=handlers[j];if(all||handler.type==namespace){event.handler=handler;event.data=handler.data;ret=handler.apply(this,arguments);if(val!==false)
+val=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}}
+return val;},fix:function(event){if(event[expando]==true)
+return event;var originalEvent=event;event={originalEvent:originalEvent};var props="altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target timeStamp toElement type view wheelDelta which".split(" ");for(var i=props.length;i;i--)
+event[props[i]]=originalEvent[props[i]];event[expando]=true;event.preventDefault=function(){if(originalEvent.preventDefault)
+originalEvent.preventDefault();originalEvent.returnValue=false;};event.stopPropagation=function(){if(originalEvent.stopPropagation)
+originalEvent.stopPropagation();originalEvent.cancelBubble=true;};event.timeStamp=event.timeStamp||now();if(!event.target)
+event.target=event.srcElement||document;if(event.target.nodeType==3)
+event.target=event.target.parentNode;if(!event.relatedTarget&&event.fromElement)
+event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;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);}
+if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode))
+event.which=event.charCode||event.keyCode;if(!event.metaKey&&event.ctrlKey)
+event.metaKey=event.ctrlKey;if(!event.which&&event.button)
+event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));return event;},proxy:function(fn,proxy){proxy.guid=fn.guid=fn.guid||proxy.guid||this.guid++;return proxy;},special:{ready:{setup:function(){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(withinElement(event,this))return true;event.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(withinElement(event,this))return true;event.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){var one=jQuery.event.proxy(fn||data,function(event){jQuery(this).unbind(event,one);return(fn||data).apply(this,arguments);});return this.each(function(){jQuery.event.add(this,type,one,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){return this[0]&&jQuery.event.trigger(type,data,this[0],false,fn);},toggle:function(fn){var args=arguments,i=1;while(i<args.length)
+jQuery.event.proxy(fn,args[i++]);return this.click(jQuery.event.proxy(fn,function(event){this.lastToggle=(this.lastToggle||0)%i;event.preventDefault();return args[this.lastToggle++].apply(this,arguments)||false;}));},hover:function(fnOver,fnOut){return this.bind('mouseenter',fnOver).bind('mouseleave',fnOut);},ready:function(fn){bindReady();if(jQuery.isReady)
+fn.call(document,jQuery);else
+jQuery.readyList.push(function(){return fn.call(this,jQuery);});return this;}});jQuery.extend({isReady:false,readyList:[],ready:function(){if(!jQuery.isReady){jQuery.isReady=true;if(jQuery.readyList){jQuery.each(jQuery.readyList,function(){this.call(document);});jQuery.readyList=null;}
+jQuery(document).triggerHandler("ready");}}});var readyBound=false;function bindReady(){if(readyBound)return;readyBound=true;if(document.addEventListener&&!jQuery.browser.opera)
+document.addEventListener("DOMContentLoaded",jQuery.ready,false);if(jQuery.browser.msie&&window==top)(function(){if(jQuery.isReady)return;try{document.documentElement.doScroll("left");}catch(error){setTimeout(arguments.callee,0);return;}
+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;}
+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;}
+jQuery.ready();})();}
+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){jQuery.fn[name]=function(fn){return fn?this.bind(name,fn):this.trigger(name);};});var withinElement=function(event,elem){var parent=event.relatedTarget;while(parent&&parent!=elem)try{parent=parent.parentNode;}catch(error){parent=elem;}
+return parent==elem;};jQuery(window).bind("unload",function(){jQuery("*").add(document).unbind();});jQuery.fn.extend({_load:jQuery.fn.load,load:function(url,params,callback){if(typeof url!='string')
+return this._load(url);var off=url.indexOf(" ");if(off>=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}
+callback=callback||function(){};var type="GET";if(params)
+if(jQuery.isFunction(params)){callback=params;params=null;}else{params=jQuery.param(params);type="POST";}
+var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified")
+self.html(selector?jQuery("<div/>").append(res.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(selector):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();}});jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=now();jQuery.extend({get:function(url,data,callback,type){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:{url:location.href,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:"*/*"}},lastModified:{},ajax:function(s){s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));var jsonp,jsre=/=\?(&|$)/g,status,data,type=s.type.toUpperCase();if(s.data&&s.processData&&typeof s.data!="string")
+s.data=jQuery.param(s.data);if(s.dataType=="jsonp"){if(type=="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";}
+if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++;if(s.data)
+s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";window[jsonp]=function(tmp){data=tmp;success();complete();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&&type=="GET"){var ts=now();var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"");}
+if(s.data&&type=="GET"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data;s.data=null;}
+if(s.global&&!jQuery.active++)
+jQuery.event.trigger("ajaxStart");var remote=/^(?:\w+:)?\/\/([^\/?#]+)/;if(s.dataType=="script"&&type=="GET"&&remote.test(s.url)&&remote.exec(s.url)[1]!=location.host){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=s.url;if(s.scriptCharset)
+script.charset=s.scriptCharset;if(!jsonp){var done=false;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);return undefined;}
+var requestDone=false;var xhr=window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();if(s.username)
+xhr.open(type,s.url,s.async,s.username,s.password);else
+xhr.open(type,s.url,s.async);try{if(s.data)
+xhr.setRequestHeader("Content-Type",s.contentType);if(s.ifModified)
+xhr.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");xhr.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default);}catch(e){}
+if(s.beforeSend&&s.beforeSend(xhr,s)===false){s.global&&jQuery.active--;xhr.abort();return false;}
+if(s.global)
+jQuery.event.trigger("ajaxSend",[xhr,s]);var onreadystatechange=function(isTimeout){if(!requestDone&&xhr&&(xhr.readyState==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival=null;}
+status=isTimeout=="timeout"&&"timeout"||!jQuery.httpSuccess(xhr)&&"error"||s.ifModified&&jQuery.httpNotModified(xhr,s.url)&&"notmodified"||"success";if(status=="success"){try{data=jQuery.httpData(xhr,s.dataType,s.dataFilter);}catch(e){status="parsererror";}}
+if(status=="success"){var modRes;try{modRes=xhr.getResponseHeader("Last-Modified");}catch(e){}
+if(s.ifModified&&modRes)
+jQuery.lastModified[s.url]=modRes;if(!jsonp)
+success();}else
+jQuery.handleError(s,xhr,status);complete();if(s.async)
+xhr=null;}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout>0)
+setTimeout(function(){if(xhr){xhr.abort();if(!requestDone)
+onreadystatechange("timeout");}},s.timeout);}
+try{xhr.send(s.data);}catch(e){jQuery.handleError(s,xhr,null,e);}
+if(!s.async)
+onreadystatechange();function success(){if(s.success)
+s.success(data,status);if(s.global)
+jQuery.event.trigger("ajaxSuccess",[xhr,s]);}
+function complete(){if(s.complete)
+s.complete(xhr,status);if(s.global)
+jQuery.event.trigger("ajaxComplete",[xhr,s]);if(s.global&&!--jQuery.active)
+jQuery.event.trigger("ajaxStop");}
+return xhr;},handleError:function(s,xhr,status,e){if(s.error)s.error(xhr,status,e);if(s.global)
+jQuery.event.trigger("ajaxError",[xhr,s,e]);},active:0,httpSuccess:function(xhr){try{return!xhr.status&&location.protocol=="file:"||(xhr.status>=200&&xhr.status<300)||xhr.status==304||xhr.status==1223||jQuery.browser.safari&&xhr.status==undefined;}catch(e){}
+return false;},httpNotModified:function(xhr,url){try{var xhrRes=xhr.getResponseHeader("Last-Modified");return xhr.status==304||xhrRes==jQuery.lastModified[url]||jQuery.browser.safari&&xhr.status==undefined;}catch(e){}
+return false;},httpData:function(xhr,type,filter){var ct=xhr.getResponseHeader("content-type"),xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0,data=xml?xhr.responseXML:xhr.responseText;if(xml&&data.documentElement.tagName=="parsererror")
+throw"parsererror";if(filter)
+data=filter(data,type);if(type=="script")
+jQuery.globalEval(data);if(type=="json")
+data=eval("("+data+")");return data;},param:function(a){var s=[];if(a.constructor==Array||a.jquery)
+jQuery.each(a,function(){s.push(encodeURIComponent(this.name)+"="+encodeURIComponent(this.value));});else
+for(var j in a)
+if(a[j]&&a[j].constructor==Array)
+jQuery.each(a[j],function(){s.push(encodeURIComponent(j)+"="+encodeURIComponent(this));});else
+s.push(encodeURIComponent(j)+"="+encodeURIComponent(jQuery.isFunction(a[j])?a[j]():a[j]));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");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();},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle.apply(this,arguments):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),p,hidden=jQuery(this).is(":hidden"),self=this;for(p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)
+return opt.complete.call(this);if(p=="height"||p=="width"){opt.display=jQuery.css(this,"display");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";if(unit!="px"){self.style[name]=(end||1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit;}
+if(parts[1])
+end=((parts[1]=="-="?-1:1)*end)+start;e.custom(start,end,unit);}else
+e.custom(start,val,"");}});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.call(this);}});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue)
+this.queue([]);this.each(function(){for(var i=timers.length-1;i>=0;i--)
+if(timers[i].elem==this){if(gotoEnd)
+timers[i](true);timers.splice(i,1);}});if(!gotoEnd)
+this.dequeue();return this;}});var queue=function(elem,type,array){if(elem){type=type||"fx";var q=jQuery.data(elem,type+"queue");if(!q||array)
+q=jQuery.data(elem,type+"queue",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].call(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:jQuery.fx.speeds[opt.duration])||jQuery.fx.speeds.def;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false)
+jQuery(this).dequeue();if(jQuery.isFunction(opt.old))
+opt.old.call(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={update:function(){if(this.options.step)
+this.options.step.call(this.elem,this.now,this);(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if(this.prop=="height"||this.prop=="width")
+this.elem.style.display="block";},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;},custom:function(from,to,unit){this.startTime=now();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);}},show:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.show=true;this.custom(0,this.cur());if(this.prop=="width"||this.prop=="height")
+this.elem.style[this.prop]="1px";jQuery(this.elem).show();},hide:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0);},step:function(gotoEnd){var t=now();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){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,"display")=="none")
+this.elem.style.display="block";}
+if(this.options.hide)
+this.elem.style.display="none";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(done)
+this.options.complete.call(this.elem);return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;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);this.update();}
+return true;}};jQuery.extend(jQuery.fx,{speeds:{slow:600,fast:200,def:400},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;}}});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),css=jQuery.curCSS,fixed=css(elem,"position")=="fixed";if(elem.getBoundingClientRect){var box=elem.getBoundingClientRect();add(box.left+Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),box.top+Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));add(-doc.documentElement.clientLeft,-doc.documentElement.clientTop);}else{add(elem.offsetLeft,elem.offsetTop);while(offsetParent){add(offsetParent.offsetLeft,offsetParent.offsetTop);if(mozilla&&!/^t(able|d|h)$/i.test(offsetParent.tagName)||safari&&!safari2)
+border(offsetParent);if(!fixed&&css(offsetParent,"position")=="fixed")
+fixed=true;offsetChild=/^body$/i.test(offsetParent.tagName)?offsetChild:offsetParent;offsetParent=offsetParent.offsetParent;}
+while(parent&&parent.tagName&&!/^body|html$/i.test(parent.tagName)){if(!/^inline|table.*$/i.test(css(parent,"display")))
+add(-parent.scrollLeft,-parent.scrollTop);if(mozilla&&css(parent,"overflow")!="visible")
+border(parent);parent=parent.parentNode;}
+if((safari2&&(fixed||css(offsetChild,"position")=="absolute"))||(mozilla&&css(offsetChild,"position")!="absolute"))
+add(-doc.body.offsetLeft,-doc.body.offsetTop);if(fixed)
+add(Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));}
+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,10)||0;top+=parseInt(t,10)||0;}
+return results;};jQuery.fn.extend({position:function(){var left=0,top=0,results;if(this[0]){var offsetParent=this.offsetParent(),offset=this.offset(),parentOffset=/^body|html$/i.test(offsetParent[0].tagName)?{top:0,left:0}:offsetParent.offset();offset.top-=num(this,'marginTop');offset.left-=num(this,'marginLeft');parentOffset.top+=num(offsetParent,'borderTopWidth');parentOffset.left+=num(offsetParent,'borderLeftWidth');results={top:offset.top-parentOffset.top,left:offset.left-parentOffset.left};}
+return results;},offsetParent:function(){var offsetParent=this[0].offsetParent;while(offsetParent&&(!/^body|html$/i.test(offsetParent.tagName)&&jQuery.css(offsetParent,'position')=='static'))
+offsetParent=offsetParent.offsetParent;return jQuery(offsetParent);}});jQuery.each(['Left','Top'],function(i,name){var method='scroll'+name;jQuery.fn[method]=function(val){if(!this[0])return;return val!=undefined?this.each(function(){this==window||this==document?window.scrollTo(!i?val:jQuery(window).scrollLeft(),i?val:jQuery(window).scrollTop()):this[method]=val;}):this[0]==window||this[0]==document?self[i?'pageYOffset':'pageXOffset']||jQuery.boxModel&&document.documentElement[method]||document.body[method]:this[0][method];};});jQuery.each(["Height","Width"],function(i,name){var tl=i?"Left":"Top",br=i?"Right":"Bottom";jQuery.fn["inner"+name]=function(){return this[name.toLowerCase()]()+
+num(this,"padding"+tl)+
+num(this,"padding"+br);};jQuery.fn["outer"+name]=function(margin){return this["inner"+name]()+
+num(this,"border"+tl+"Width")+
+num(this,"border"+br+"Width")+
+(margin?num(this,"margin"+tl)+num(this,"margin"+br):0);};});})();(function($){$.fn.ajaxSubmit=function(options){if(!this.length){log('ajaxSubmit: skipping submit process - no element selected');return this;}
+if(typeof options=='function')
+options={success:options};options=$.extend({url:this.attr('action')||window.location.toString(),type:this.attr('method')||'GET'},options||{});var veto={};this.trigger('form-pre-serialize',[this,options,veto]);if(veto.veto){log('ajaxSubmit: submit vetoed via form-pre-serialize trigger');return this;}
+var a=this.formToArray(options.semantic);if(options.data){options.extraData=options.data;for(var n in options.data)
+a.push({name:n,value:options.data[n]});}
+if(options.beforeSubmit&&options.beforeSubmit(a,this,options)===false){log('ajaxSubmit: submit aborted via beforeSubmit callback');return this;}
+this.trigger('form-submit-validate',[a,this,options,veto]);if(veto.veto){log('ajaxSubmit: submit vetoed via form-submit-validate trigger');return this;}
+var q=$.param(a);if(options.type.toUpperCase()=='GET'){options.url+=(options.url.indexOf('?')>=0?'&':'?')+q;options.data=null;}
+else
+options.data=q;var $form=this,callbacks=[];if(options.resetForm)callbacks.push(function(){$form.resetForm();});if(options.clearForm)callbacks.push(function(){$form.clearForm();});if(!options.dataType&&options.target){var oldSuccess=options.success||function(){};callbacks.push(function(data){$(options.target).html(data).each(oldSuccess,arguments);});}
+else if(options.success)
+callbacks.push(options.success);options.success=function(data,status){for(var i=0,max=callbacks.length;i<max;i++)
+callbacks[i](data,status,$form);};var files=$('input:file',this).fieldValue();var found=false;for(var j=0;j<files.length;j++)
+if(files[j])
+found=true;if(options.iframe||found){if($.browser.safari&&options.closeKeepAlive)
+$.get(options.closeKeepAlive,fileUpload);else
+fileUpload();}
+else
+$.ajax(options);this.trigger('form-submit-notify',[this,options]);return this;function fileUpload(){var form=$form[0];if($(':input[@name=submit]',form).length){alert('Error: Form elements must not be named "submit".');return;}
+var opts=$.extend({},$.ajaxSettings,options);var id='jqFormIO'+(new Date().getTime());var $io=$('<iframe id="'+id+'" name="'+id+'" />');var io=$io[0];if($.browser.msie||$.browser.opera)
+io.src='javascript:false;document.write("");';$io.css({position:'absolute',top:'-1000px',left:'-1000px'});var xhr={responseText:null,responseXML:null,status:0,statusText:'n/a',getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){}};var g=opts.global;if(g&&!$.active++)$.event.trigger("ajaxStart");if(g)$.event.trigger("ajaxSend",[xhr,opts]);var cbInvoked=0;var timedOut=0;var sub=form.clk;if(sub){var n=sub.name;if(n&&!sub.disabled){options.extraData=options.extraData||{};options.extraData[n]=sub.value;if(sub.type=="image"){options.extraData[name+'.x']=form.clk_x;options.extraData[name+'.y']=form.clk_y;}}}
+setTimeout(function(){var t=$form.attr('target'),a=$form.attr('action');$form.attr({target:id,encoding:'multipart/form-data',enctype:'multipart/form-data',method:'POST',action:opts.url});if(opts.timeout)
+setTimeout(function(){timedOut=true;cb();},opts.timeout);var extraInputs=[];try{if(options.extraData)
+for(var n in options.extraData)
+extraInputs.push($('<input type="hidden" name="'+n+'" value="'+options.extraData[n]+'" />').appendTo(form)[0]);$io.appendTo('body');io.attachEvent?io.attachEvent('onload',cb):io.addEventListener('load',cb,false);form.submit();}
+finally{$form.attr('action',a);t?$form.attr('target',t):$form.removeAttr('target');$(extraInputs).remove();}},10);function cb(){if(cbInvoked++)return;io.detachEvent?io.detachEvent('onload',cb):io.removeEventListener('load',cb,false);var operaHack=0;var ok=true;try{if(timedOut)throw'timeout';var data,doc;doc=io.contentWindow?io.contentWindow.document:io.contentDocument?io.contentDocument:io.document;if(doc.body==null&&!operaHack&&$.browser.opera){operaHack=1;cbInvoked--;setTimeout(cb,100);return;}
+xhr.responseText=doc.body?doc.body.innerHTML:null;xhr.responseXML=doc.XMLDocument?doc.XMLDocument:doc;xhr.getResponseHeader=function(header){var headers={'content-type':opts.dataType};return headers[header];};if(opts.dataType=='json'||opts.dataType=='script'){var ta=doc.getElementsByTagName('textarea')[0];xhr.responseText=ta?ta.value:xhr.responseText;}
+else if(opts.dataType=='xml'&&!xhr.responseXML&&xhr.responseText!=null){xhr.responseXML=toXml(xhr.responseText);}
+data=$.httpData(xhr,opts.dataType);}
+catch(e){ok=false;$.handleError(opts,xhr,'error',e);}
+if(ok){opts.success(data,'success');if(g)$.event.trigger("ajaxSuccess",[xhr,opts]);}
+if(g)$.event.trigger("ajaxComplete",[xhr,opts]);if(g&&!--$.active)$.event.trigger("ajaxStop");if(opts.complete)opts.complete(xhr,ok?'success':'error');setTimeout(function(){$io.remove();xhr.responseXML=null;},100);};function toXml(s,doc){if(window.ActiveXObject){doc=new ActiveXObject('Microsoft.XMLDOM');doc.async='false';doc.loadXML(s);}
+else
+doc=(new DOMParser()).parseFromString(s,'text/xml');return(doc&&doc.documentElement&&doc.documentElement.tagName!='parsererror')?doc:null;};};};$.fn.ajaxForm=function(options){return this.ajaxFormUnbind().bind('submit.form-plugin',function(){$(this).ajaxSubmit(options);return false;}).each(function(){$(":submit,input:image",this).bind('click.form-plugin',function(e){var $form=this.form;$form.clk=this;if(this.type=='image'){if(e.offsetX!=undefined){$form.clk_x=e.offsetX;$form.clk_y=e.offsetY;}else if(typeof $.fn.offset=='function'){var offset=$(this).offset();$form.clk_x=e.pageX-offset.left;$form.clk_y=e.pageY-offset.top;}else{$form.clk_x=e.pageX-this.offsetLeft;$form.clk_y=e.pageY-this.offsetTop;}}
+setTimeout(function(){$form.clk=$form.clk_x=$form.clk_y=null;},10);});});};$.fn.ajaxFormUnbind=function(){this.unbind('submit.form-plugin');return this.each(function(){$(":submit,input:image",this).unbind('click.form-plugin');});};$.fn.formToArray=function(semantic){var a=[];if(this.length==0)return a;var form=this[0];var els=semantic?form.getElementsByTagName('*'):form.elements;if(!els)return a;for(var i=0,max=els.length;i<max;i++){var el=els[i];var n=el.name;if(!n)continue;if(semantic&&form.clk&&el.type=="image"){if(!el.disabled&&form.clk==el)
+a.push({name:n+'.x',value:form.clk_x},{name:n+'.y',value:form.clk_y});continue;}
+var v=$.fieldValue(el,true);if(v&&v.constructor==Array){for(var j=0,jmax=v.length;j<jmax;j++)
+a.push({name:n,value:v[j]});}
+else if(v!==null&&typeof v!='undefined')
+a.push({name:n,value:v});}
+if(!semantic&&form.clk){var inputs=form.getElementsByTagName("input");for(var i=0,max=inputs.length;i<max;i++){var input=inputs[i];var n=input.name;if(n&&!input.disabled&&input.type=="image"&&form.clk==input)
+a.push({name:n+'.x',value:form.clk_x},{name:n+'.y',value:form.clk_y});}}
+return a;};$.fn.formSerialize=function(semantic){return $.param(this.formToArray(semantic));};$.fn.fieldSerialize=function(successful){var a=[];this.each(function(){var n=this.name;if(!n)return;var v=$.fieldValue(this,successful);if(v&&v.constructor==Array){for(var i=0,max=v.length;i<max;i++)
+a.push({name:n,value:v[i]});}
+else if(v!==null&&typeof v!='undefined')
+a.push({name:this.name,value:v});});return $.param(a);};$.fn.fieldValue=function(successful){for(var val=[],i=0,max=this.length;i<max;i++){var el=this[i];var v=$.fieldValue(el,successful);if(v===null||typeof v=='undefined'||(v.constructor==Array&&!v.length))
+continue;v.constructor==Array?$.merge(val,v):val.push(v);}
+return val;};$.fieldValue=function(el,successful){var n=el.name,t=el.type,tag=el.tagName.toLowerCase();if(typeof successful=='undefined')successful=true;if(successful&&(!n||el.disabled||t=='reset'||t=='button'||(t=='checkbox'||t=='radio')&&!el.checked||(t=='submit'||t=='image')&&el.form&&el.form.clk!=el||tag=='select'&&el.selectedIndex==-1))
+return null;if(tag=='select'){var index=el.selectedIndex;if(index<0)return null;var a=[],ops=el.options;var one=(t=='select-one');var max=(one?index+1:ops.length);for(var i=(one?index:0);i<max;i++){var op=ops[i];if(op.selected){var v=$.browser.msie&&!(op.attributes['value'].specified)?op.text:op.value;if(one)return v;a.push(v);}}
+return a;}
+return el.value;};$.fn.clearForm=function(){return this.each(function(){$('input,select,textarea',this).clearFields();});};$.fn.clearFields=$.fn.clearInputs=function(){return this.each(function(){var t=this.type,tag=this.tagName.toLowerCase();if(t=='text'||t=='password'||tag=='textarea')
+this.value='';else if(t=='checkbox'||t=='radio')
+this.checked=false;else if(tag=='select')
+this.selectedIndex=-1;});};$.fn.resetForm=function(){return this.each(function(){if(typeof this.reset=='function'||(typeof this.reset=='object'&&!this.reset.nodeType))
+this.reset();});};$.fn.enable=function(b){if(b==undefined)b=true;return this.each(function(){this.disabled=!b});};$.fn.select=function(select){if(select==undefined)select=true;return this.each(function(){var t=this.type;if(t=='checkbox'||t=='radio')
+this.checked=select;else if(this.tagName.toLowerCase()=='option'){var $sel=$(this).parent('select');if(select&&$sel[0]&&$sel[0].type=='select-one'){$sel.find('option').select(false);}
+this.selected=select;}});};function log(){if($.fn.ajaxSubmit.debug&&window.console&&window.console.log)
+window.console.log('[jquery.form] '+Array.prototype.join.call(arguments,''));};})(jQuery);var TO_LOAD_INDEX=0;var TO_LOAD=new Array;var MARKITUP=false;var UNBIND=false;$(function(){load_jquery();});function load_jquery(){if(UNBIND){if(MARKITUP){$("*").not(".markItUpButton").unbind();}else{$("*").unbind();}}
+UNBIND=true;$("a.submit").click(function(){$(this).parents("form").submit();return false;});$("a.submitWait").click(function(){$(this).parents("form").after('<p class="center">'+$(this).attr('title')+'<br /><br /><img src="'+IMG_CUBE+'/loader.gif" /></p>');$(this).parents("form").submit();$(this).parents("form").hide();return false;});$("form").submit(function(){$(this).attr('change','0');return true;});$("form.blank").each(function(){$(this).attr('target','_blank');$(this).removeClass('_blank');});$("form").not(".notajax").submit(function(){display_loader();$(this).ajaxSubmit({url:SITE_PATH+'ajax/'+$(this).attr('action'),success:function(data){MyAjax(data);}});return false;});$(".notajax form").unbind();$("form.submitonchange :input").each(function(){$(this).one('change',function(){$(this).parents("form").submit();});});$(":input").change(function(){$(this).parents("form").attr("change",1);});$("a.ajax").click(function(){var title=$(this).attr('title');var href=$(this).attr('rel');if(title!=''&&title!=undefined&&title.search(/\?/)>-1){if(!window.confirm(title)){return false;}}
+if($(this).hasClass('wait')){wait();}
+display_loader();$.ajax({url:SITE_PATH+'ajax/'+href,success:function(data){MyAjax(data);}});return false;});$("a.dajax").dblclick(function(){var title=$(this).attr('title');var href=$(this).attr('rel');if(title!=''&&title!=undefined&&title.search(/\?/)>=0){if(!window.confirm(title)){return false;}}
+display_loader();$.ajax({url:SITE_PATH+'ajax/'+href,success:function(data){MyAjax(data);}});return false;});$("a.ajaxh").click(function(){var title=$(this).attr('title');var href=$(this).attr('href');if(title!=''&&title!=undefined&&title.search(/\?/)>=0){if(!window.confirm(title)){return false;}}
+display_loader();$.ajax({url:href,success:function(data){MyAjax(data);}});return false;});$("a.prompt").click(function(){var href=$(this).attr('rel');var defaut=$(this).attr('rev');var name=window.prompt($(this).attr('title'),defaut);if(name==null||name=='null'||name==''){return false;}
+display_loader();$.ajax({url:SITE_PATH+'ajax/'+href+'?var='+name,success:function(data){MyAjax(data);}});return false;});$("a.closePopup").click(function(){closePopup($(this),true);return false;});$("a.closePopupNotConfirm").click(function(){closePopup($(this),false);return false;});$("a.popup").click(function(){display_loader();$.ajax({url:SITE_PATH+'ajax/'+$(this).attr('rel'),dataType:'responseText',success:function(data){createPopup(data);}});remove_loader();return false;});$("a.changepopup").click(function(){display_loader();$.ajax({url:SITE_PATH+'ajax/'+$(this).attr('rel'),dataType:'responseText',success:function(data){changepopup(data);load_jquery();}});remove_loader();return false;});$("a.blank").click(function(){$(this).attr('target','_blank');return true;});$("a.nothing").click(function(){return false;});$(".pemail").each(function(){var protected=$(this).text();var adresse=rot13(protected);$(this).text(adresse);$(this).attr('href','mailto:'+adresse);$(this).removeClass('pemail');});var len=TO_LOAD.length;for(var i=0;i<len;i++){eval(TO_LOAD[i]);}
+__fixPNG();if($("#jquery_time").length>0&&$("#jquery_time").text()==''){var E=new Date();var m=(parseInt(E-S)/1000).toString().replace('.',',');$("#jquery_time").text(m);}}
+function randval(min,max){var diff=max-min;return Math.round(Math.random()*diff)+diff;}
+function rot(t,u,v){return String.fromCharCode(((t-u+v)%(v*2))+u);}
+function rot13(s){var b=[],c,i=s.length,a='a'.charCodeAt(),z=a+26,A='A'.charCodeAt(),Z=A+26;while(i--){c=s.charCodeAt(i);if(c>=a&&c<z){b[i]=rot(c,a,13);}else if(c>=A&&c<Z){b[i]=rot(c,A,13);}else{b[i]=s.charAt(i);}}
+return b.join('');}
+function createPopup(data){POPUP_COUNTER=parseInt(POPUP_COUNTER);$("body").append('<div id="pl_'+POPUP_COUNTER+'" class="popupLayer"><div class="popupOverlay" id="po_'+POPUP_COUNTER+'" style="z-index:'+(1000+POPUP_COUNTER*2)+';"></div><div id="pw_'+POPUP_COUNTER+'" class="popupWindow" style="z-index:'+(1001+POPUP_COUNTER*2)+';"></div></div>');$("#po_"+POPUP_COUNTER).css('opacity',0.65);$("#po_"+POPUP_COUNTER).css('display','block');$("#pw_"+POPUP_COUNTER).html(data);$("#pw_"+POPUP_COUNTER).show();popup_dimensions(POPUP_COUNTER);load_jquery();POPUP_COUNTER+=1;}
+function closePopup(object,confirm){if(object==undefined||object==null){var i=$(".popupLayer").length-1;var elements=$(".popupLayer").get();var e=elements[i];var changes=false;$(this).find("form").each(function(){if($(this).attr("change")==1){changes=true;}});if(confirm==false||(changes==true&&window.confirm(CONFIRM_CLOSE))||changes==false){$(e).remove();POPUP_COUNTER-=1;popup_dimensions();}}else{$(object).parents(".popupLayer").each(function(){var changes=false;$(this).find("form").each(function(){if($(this).attr("change")==1){changes=true;}});if(confirm==false||(changes==true&&window.confirm(CONFIRM_CLOSE))||changes==false){$(this).remove();POPUP_COUNTER-=1;popup_dimensions();}});}}
+function popup_dimensions(i){if(i==undefined){i=POPUP_COUNTER-1;}
+if(i<0){return;}
+var margin=30;var mh=$(window).height()-(margin*2);if(!$.browser.msie){$("#pw_"+i).css("opacity",0);}
+if($("#pw_"+i+" .c>div").height()+10>mh){$("#pw_"+i+" .c>div").css("overflow",'auto');}else{$("#pw_"+i+" .c>div").css("overflow",'visible');}
+$("#pw_"+i+" .c>div").css("max-height",mh);$("#pw_"+i).css("left",($(window).width()-$("#pw_"+i).width())/2);if($("#pw_"+i+" .c>div").attr('top')){$("#pw_"+i).css("top",parseInt($("#pw_"+i+" .c>div").attr('top')));}else{var top=(mh-$("#pw_"+i).height())/2+margin;$("#pw_"+i).css("top",top);}
+if(!$.browser.msie){$("#pw_"+i).css("opacity",1);}}
+function changepopup(data){var pc=POPUP_COUNTER-1;$("#pw_"+pc).html(data);popup_dimensions(pc);}
+function checkUpload(){if($.browser.msie){var iframe=uploadIframe.document;}else{var uploadIframe=document.getElementById('uploadIframe');var iframe=uploadIframe.contentDocument;}
+if(iframe.getElementById('status')!=undefined&&iframe.contentDocument.getElementById('status').innerHTML!=undefined){clearInterval(INTERVAL);$.ajax({url:UPDATE,success:function(data){MyAjax(data);}});if(iframe.getElementById('status').innerHTML!='ok'){window.alert(ERREUR_FICHIER+' : \n'+iframe.getElementById('status').innerHTML);}
+if(POPUP_COUNTER>0){closePopup(null,false);}
+$("#uploadIframe").remove();}}
+function isSet(i){return(i==null||i=='null'||i==''||i=='undefined');}
+function callAjaxSwf(urlLink){$.ajax({url:urlLink,success:function(data){MyAjax(data);}});}
+function swfAjax(data){MyAjax(strToXML(data));}
+function MyAjax(data,reload){var error=new Array();var confirmation='';var ok=true;var t=$(data).children('rsp').children().get();for(var i=0;i<t.length;i++){var e=t[i];var name=e.nodeName;if(name=='confirmation'){var contentconfirm=$(e).text();confirmation+="<p>"+contentconfirm+"</p>";}else if(name=='error'){var errors=$(e).children().get();for(var j=0;j<errors.length;j++){var err=errors[j];var ename=err.nodeName;var econtent=$(err).text();$("#"+ename).addClass('error');$("#"+ename).val('');error.push(econtent);ok=false;}}else if(name=='content'){var contents=$(e).children().get();for(var k=0;k<contents.length;k++){var content=contents[k];var cname=content.nodeName;var ccontent=$(content).text();if(ccontent==''){$("#"+cname).html(ccontent);}else{$("#"+cname).html(ccontent);}
+if(POPUP_COUNTER-1>=0){popup_dimensions(POPUP_COUNTER-1);}}}else if(name=='replace'){var contents=$(e).children().get();for(var k=0;k<contents.length;k++){var content=contents[k];var cname=content.nodeName;var ccontent=$(content).text();if(ccontent==''){$("#"+cname).replaceWith(ccontent);}else{$("#"+cname).replaceWith(ccontent);}
+if(POPUP_COUNTER-1>=0){popup_dimensions(POPUP_COUNTER-1);}}}else if(name=='append'){var contents=$(e).children().get();for(var k=0;k<contents.length;k++){var content=contents[k];var cname=content.nodeName;var ccontent=$(content).text();if(ccontent==''){$("#"+cname).append(ccontent);}else{$("#"+cname).append(ccontent);}
+if(POPUP_COUNTER-1>=0){popup_dimensions(POPUP_COUNTER-1);}}}else if(name=='param'){var ids=$(e).children().get();for(var p=0;p<ids.length;p++){var id=ids[p];var idname=id.nodeName;var params=$(id).children().get();var o={};for(var q=0;q<params.length;q++){var param=params[q];var paramname=param.nodeName;var paramcontent=$(param).text();o[paramname]=paramcontent;}
+$("#"+idname).attr(o);$("#"+idname).parents("form").unbind('submit');}}else if(name=='alert'){var alerts=$(e).children().get();for(var r=0;r<alerts.length;r++){var alert=alerts[r];var acontent=$(alert).text();window.alert(acontent);}}else if(name=='ok'){var oks=$(e).children().get();for(var l=0;l<oks.length;l++){var ok=oks[l];var oname=ok.nodeName.toLowerCase();$("#"+oname).removeClass('error');}}else if(name=='redirection'){var url=$(e).text();window.location=url;}else if(name=='show'){var oks=$(e).children().get();for(var l=0;l<oks.length;l++){var ok=oks[l];var oname=ok.nodeName;$("#"+oname).show('fast');}}else if(name=='debug'){}else if(name=='eval'){var codes=$(e).children().get();for(var r=0;r<codes.length;r++){var code=codes[r];eval($(code).text());}}else if(name=='closepopup'){var closes=$(e).children().get();for(var cp=0;cp<closes.length;cp++){closePopup(null,false);}}else if(name=='openpopup'){var opens=$(e).children().get();for(var op=0;op<opens.length;op++){var cont=opens[op];createPopup($(cont).text());}}else if(name=='changepopup'){var changes=$(e).children().get();for(var cp=0;cp<changes.length;cp++){var cont=changes[cp];changepopup($(cont).text());}}
+else if(name=='popupdimensions'){popup_dimensions();}
+else if(name=='truepopup'){var trues=$(e).children().get();for(var tp=0;tp<trues.length;tp++){var cont=trues[tp];truePopup($(cont).text());}}else if(name=='timer'){var time=parseInt($(e).text());var t=setTimeout("doNothing()",time);}else if(name=='value'){var values=$(e).children().get();for(var v=0;v<values.length;v++){var node=values[v];var oname=node.nodeName;var val=$("#"+oname).val($(node).text());}}}
+if(error.length>0){$("#message").html(error.join('<br />'));}else{$("#message").html('');}
+if(confirmation!=''){$("#confirmation").html(confirmation);$("#confirmation").animate({height:26,opacity:1},2000,function(){$("#confirmation").fadeTo(10000,1,function(){$("#confirmation").animate({height:0,opacity:0},2000);$("#confirmation").empty();});});}
+if(reload==true||reload==undefined){load_jquery();}
+remove_loader();return ok;}
+function truePopup(url){var rand=Math.round(Math.random()*200);window.open(url,'Popup'+rand,'width='+window.width+',height='+window.height);}
+function _fixPNG(){var png;var images=$('img[@src*="png"]:not([@fixed="fixed"])');images.each(function(){png=$(this).attr('src');$(this).attr('src',IMG_CUBE+'/spacer.gif');$(this).css('filter',"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+png+"')");$(this).attr('fixed','fixed');});}
+function __fixPNG(){if($.browser.msie&&parseInt(navigator.userAgent.match(/MSIE (\d+(?:\.\d+)+(?:b\d*)?)/)[1])<=6){_fixPNG();}}
+function getWindowHeight(){var windowHeight=0;if(typeof(window.innerHeight)=='number'){windowHeight=window.innerHeight;}
+else{if(document.documentElement&&document.documentElement.clientHeight){windowHeight=document.documentElement.clientHeight;}
+else{if(document.body&&document.body.clientHeight){windowHeight=document.body.clientHeight;}}}
+return windowHeight;}
+function getWindowWidth(){var myWidth=0;if(typeof(window.innerWidth)=='number'){myWidth=window.innerWidth;}
+else if(document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight)){myWidth=document.documentElement.clientWidth;}
+else if(document.body&&(document.body.clientWidth||document.body.clientHeight)){myWidth=document.body.clientWidth;}
+return myWidth;}
+function doNothing(){}
+function htmlEditorGetText(id){var text=document.getElementById(id).value;return'<TEXTFORMAT LEADING="2"><P ALIGN="LEFT">'+text+'</P></TEXTFORMAT>';}
+function htmlEditorPutText(id,text){document.getElementById(id).value=text;}
+function display_loader(){if(LOADER_AJAX==''){}else{$("body").append('<div id="loader"><img src="'+LOADER_AJAX+'" /></div>');}}
+function remove_loader(){if(LOADER_AJAX==''){}else{$("#loader").remove();}}
+function URLEncode(clearString){var output='';var x=0;clearString=clearString.toString();var regex=/(^[a-zA-Z0-9_.]*)/;while(x<clearString.length){var match=regex.exec(clearString.substr(x));if(match!=null&&match.length>1&&match[1]!=''){output+=match[1];x+=match[1].length;}else{if(clearString[x]==' ')
+output+='+';else{var charCode=clearString.charCodeAt(x);var hexVal=charCode.toString(16);output+='%'+(hexVal.length<2?'0':'')+hexVal.toUpperCase();}
+x++;}}
+return output;}
+function strToXML(str){var contentType='application/xml';if(typeof(DOMParser)!='undefined'){return(new DOMParser()).parseFromString(str.substr(0,4095),contentType);}else if(typeof(ActiveXObject)!='undefined'){var xmldata=new ActiveXObject('MSXML.DomDocument');xmldata.async=false;xmldata.loadXML(str);return xmldata;}else if(typeof(XMLHttpRequest)!='undefined'){var xmldata=new XMLHttpRequest;if(!contentType){contentType='application/xml';}
+xmldata.open('GET','data:'+contentType+';charset=utf-8,'+encodeURIComponent(str),false);if(xmldata.overrideMimeType){xmldata.overrideMimeType(contentType);}
+xmldata.send(null);return xmldata.responseXML;}}
+TO_LOAD_INDEX++;TO_LOAD[TO_LOAD_INDEX]='load_emptyfield();';function load_emptyfield(){$("input.empty_field,input.empty-field").each(function(){if($(this).attr('orig')){return;}
+$(this).attr('orig',$(this).attr('value'));});$("input.empty_field,input.empty-field").click(function(){if($(this).val()==$(this).attr('orig')){$(this).val('');}});}
+TO_LOAD_INDEX++;TO_LOAD[TO_LOAD_INDEX]='load_extranet();';FIRST_LOAD=true;function load_extranet(){if($("#devisAdresse #client_nom").length){$("#devisAdresse #client_nom").autocomplete(SITE_PATH+'autocomplete/client',{cacheLength:0,maxItemsToShow:15,onFindValue:findClient,onItemSelect:findClient});}
+if($("#factureAdresse #projet_nom").length){$("#factureAdresse #projet_nom").autocomplete(SITE_PATH+'autocomplete/projet',{cacheLength:0,maxItemsToShow:15,onFindValue:findProjet,onItemSelect:findProjet});}
+if($(".dashboard").length>=1){$("#dash").sortable('destroy');if(FIRST_LOAD){FIRST_LOAD=false;}else{FIRST_LOAD=true;$.ajax({url:SITE_PATH+'ajax/reloadDashboards',success:function(data){MyAjax(data)}});}
+$("#dash").sortable({opacity:0.6,axis:"y",handle:".caption",stop:function(e,ui){$.ajax({url:SITE_PATH+'ajax/orderDashboards?'+$("#dash").sortable('serialize'),});resize();}});}
+$(".timereport_field").change(function(){var val=parseInt($(this).val());if(isNaN(val)){val=0;}
+var f=this;var id=$(this).attr('id');var a=id.split('_');$.ajax({url:SITE_PATH+'ajax/saveTimereport/'+a[1]+'/'+a[2]+'/'+val,success:function(data){FIRST_LOAD=true;MyAjax(data);var td=$(f).parents('td').get(0);if(parseFloat($(f).val())>0){$(td).addClass('filled');}else{$(td).removeClass('filled');}}});});$("#dash .toggle").click(function(){var rel=$(this).attr('rel');var div=$(this).parents('.dashboard').get(0);var liste=$(div).find('.liste');$(liste).slideToggle('fast',function(){resize();});$(this).toggleClass('close');$.ajax({url:SITE_PATH+'ajax/toggleDashboard/'+rel,});return false;});$(".filtre .bt").click(function(){var ul=$(this).parent().parent().children('ul');$(ul).slideToggle('fast');return false;});$(".filtre ul").click(function(e){if(e.target.nodeName=='INPUT'||e.target.nodeName=='LABEL'){return true;}
+$(this).slideToggle('fast');});$(".filtre span").click(function(){var ul=$(this).parent().children('ul');$(ul).slideToggle('fast');});$(".filtre input").change(function(){var form=$(this).parents('form').get(0);var uls=$(form).find("ul");var divs=$(form).find(".input");var spans=$(form).find("span");var i,j,k,ul,lis,li,input,label,checked,div,titre,t,t1,allc,inputs;for(i=0;i<uls.length;i++){div=divs[i];titre=Array();ul=uls[i];lis=$(ul).children("li");allc=$(lis).get(0);checked=0;for(j=1;j<lis.length;j++){li=lis[j];input=$(li).find('input').get(0);label=$(li).find('label').get(0);if(input.checked){checked++;titre.push($(label).text());}}
+if(checked==0){$(div).find('span').text($(allc).text());$(div).find('a').attr('title',$(allc).text());$(div).removeClass('active');inputs=$(ul).find('input');for(k=0;k<inputs.length;k++){inputs[k].checked=true;}}else if(checked==lis.length-1){$(div).find('span').text($(allc).text());$(div).find('a').attr('title',$(allc).text());$(div).removeClass('active');}else{t=titre.join(', ');if(t.length>20){t1=t.substr(0,16)+'...';}else{t1=t;}
+$(div).find('span').text(t1);$(div).find('a').attr('title',t);$(div).addClass('active');}}
+return true;});$(window).resize(function(){resize();});resize();}
+function resize(){var allh=$("#header").height()+$("#footer").height()+$("#bar").height()+$("#main .content").height()+13+30;var h=Math.max($(window).height(),allh);var mh=h-$("#header").height()-$("#footer").height()-$("#bar").height()-30-13;mh=Math.max(mh,450);$("#main").css('height',mh);}
+function findClient(li){var client=li.selectValue.split(' - ');if(client.length<=1){return;}
+var client_id=parseInt(client[0]);$("#client").val(client_id);$.ajax({url:SITE_PATH+'ajax/getAdresseForDevis/'+client_id,success:function(data){MyAjax(data);}});}
+function findProjet(li){var projet=li.selectValue.split(' - ');if(projet.length<=1){return;}
+var projet_id=parseInt(projet[0]);$("#projet").val(projet_id);$.ajax({url:SITE_PATH+'ajax/getAdresseForFacture/'+projet_id,success:function(data){MyAjax(data);}});}
\ No newline at end of file
diff --git a/l10n/en/main.lang.php b/l10n/en/main.lang.php
new file mode 100644 (file)
index 0000000..5d80db2
--- /dev/null
@@ -0,0 +1,187 @@
+<?php\r
+$GLOBALS['__l10n']=array (\r
+  'Enregister' => 'Save',\r
+  'Recevoir mon mot de passe par e-mail' => 'I want to receive my password by e-mail',\r
+  'Extranet Cubedesigners' => 'Cubedesigner\'s Extranet',\r
+  'Récupération de vos identifiants' => 'Recover your login and password',\r
+  'Bonjour,' => 'Hi,',\r
+  'Vous avez demandé la récupération de votre mot de passe sur notre extranet.' => 'You have ask a password recovery on our extranet',\r
+  'Voici toutes les informations vous permettant de vous y connecter Ã  nouveau :' => 'Please see below your login informations',\r
+  'Adresse' => 'Address',\r
+  'Identifiant' => 'Login',\r
+  'Mot de passe' => 'Password',\r
+  'Cordialement,' => 'Greetings,',\r
+  'L\'Equipe Cubedesigners' => 'The Cubedesigner\'s team',\r
+  'Vos identifiants vous ont Ã©té envoyé par e-mail' => 'Your login details have beed sended by e-mail',\r
+  'Une erreur s\'est produite lors de l\'envoi de vos identifiants' => 'An error occured during sending login details',\r
+  'Cet e-mail ne correspond Ã  aucun utilisateur du système' => 'This e-mail don\'t exists in our database',\r
+  'Enregistrer mon nouveau mot de passe' => 'Save my new password',\r
+  'Votre mot de passe a Ã©té modifié' => 'You password has been changed',\r
+  'Edition d\'un client' => 'Client edition',\r
+  'Edition des notes' => 'Post-it edition',\r
+  'Edition d\'un projet' => 'Project edition',\r
+  'Edition d\'un tâche' => 'Task edition',\r
+  'Edition d\'un tâche sous-traitée' => 'CM Task edition',\r
+  'Informations relatives au paiement de la facture' => 'Payment details',\r
+  'Ajouter un Ã©lément au dashboard' => 'Add an item to dashboard',\r
+  'Client' => 'Client',\r
+  'Equipier' => 'Worker',\r
+  ' Gérant' => 'Manager',\r
+  'Non défini' => 'Undefined',\r
+  'Gestion de projet' => 'Project management',\r
+  'Design Web' => 'Web design',\r
+  'Design Industriel' => 'Product design',\r
+  'Print' => 'Print',\r
+  'Newsletter' => 'Newsletter',\r
+  'Développement PHP' => 'PHP developpement',\r
+  'Développement Flash' => 'Flash developpement',\r
+  'Fluidbook' => 'Fluidbook',\r
+  'Formation' => 'Training',\r
+  'Administratif' => 'Admin',\r
+  'Divers' => 'Miscellaneous',\r
+  'Intégration HTML' => 'HTML Integration',\r
+  'En cours' => 'Active',\r
+  'Terminé' => 'Finished',\r
+  'Brouillon' => 'Draft',\r
+  'Envoyé' => 'Sended',\r
+  'Validé' => 'Validated',\r
+  'Refusé' => 'Refused',\r
+  'En attente de paiement' => 'Waiting_payment',\r
+  'Payée' => 'Paid',\r
+  'Annulée' => 'Canceled',\r
+  'Devis' => 'Quotations',\r
+  'Factures' => 'Invoices',\r
+  'Dashboard' => 'Dashboard',\r
+  'Projets' => 'Projects',\r
+  'Timereport' => 'Timereport',\r
+  'Clients' => 'Clients',\r
+  'Chiffres' => 'Money',\r
+  'Traduction' => 'Translation',\r
+  'Tous' => 'All',\r
+  'Toutes' => 'All',\r
+  'Facturés' => 'Invoiced',\r
+  'Non facturés' => 'Not invoiced',\r
+  'Bienvenue' => 'Welcome',\r
+  'Mes paramètres' => 'My settings',\r
+  'Se déconnecter' => 'Logout',\r
+  'Rechercher' => 'Search',\r
+  'Identification' => 'Login',\r
+  'Effacer les filtres' => 'Erase filters',\r
+  'Ajouter Ã  mon tableau de bord' => 'Add to my dashboard',\r
+  'E-mail /  mot de passe incorrects' => 'Login or password wrong',\r
+  'Veuillez vous identifier' => 'Please login',\r
+  'Votre e-mail ou login' => 'Your e-mail or login',\r
+  'Votre mot de passe' => 'Your password',\r
+  'Mot de passe oublié ? Cliquez ici' => 'Lost your password ? Click here',\r
+  'Entrez votre e-mail' => 'Type your e-mail',\r
+  'Mes informations' => 'My informations',\r
+  'Numéro de client' => 'Client number',\r
+  'Prénom' => 'First name',\r
+  'Nom' => 'Last name',\r
+  'Adresse e-mail' => 'E-mail address',\r
+  'Raison sociale' => 'Business name',\r
+  'Numéro de téléphone' => 'Phone number',\r
+  'Numéro de TVA intracommunautaire' => 'VAT identification number',\r
+  'Si les informations ci-dessus sont incomplètes ou erronées, veuillez nous<br />en informer en nous Ã©crivant Ã  ' => 'If these informations are incompletes or wrong, please contact us at',\r
+  'Votre mot de passe doit comprendre en 6 et 10 caractères' => 'Your password must have between 6 and 10 characters',\r
+  'Tapez votre mot de passe actuel' => 'Type your password',\r
+  'Tapez votre nouveau mot de passe' => 'Type your new password',\r
+  'Confirmez votre nouveau mot de passe' => 'Please confirm your new password',\r
+  'Ayant un projet' => 'Who have a project',\r
+  'Contact' => 'Contact',\r
+  'Téléphone' => 'Phone',\r
+  'E-mail' => 'E-mail',\r
+  'Chiffre d\'affaire' => 'Revenue',\r
+  'Voir le détail du chiffre d\'affaire' => 'See revenue details',\r
+  'Êtes vous certain de vouloir supprimer ce client ?' => 'Are you sure you want delete this client ?',\r
+  'clients' => 'clients',\r
+  'Prénom du contact' => 'First name of contact',\r
+  'Nom du contact' => 'Last name of contact',\r
+  'Code postal' => 'Zip code',\r
+  'Ville' => 'City',\r
+  'Pays' => 'Country',\r
+  'Langue' => 'Language',\r
+  'Crée par' => 'Created by',\r
+  'Status' => 'Statut',\r
+  'Année' => 'Year',\r
+  'Projet' => 'Project',\r
+  'Chef' => 'Manager',\r
+  'Facturé' => 'Invoiced',\r
+  'Payé' => 'Paid',\r
+  'Budget' => 'Budget',\r
+  'Progression' => 'Progress',\r
+  'Modifier le status du projet' => 'Change project statut',\r
+  'Non' => 'No',\r
+  'Oui' => 'Yes',\r
+  'Partie' => 'Part',\r
+  'Trop' => 'Too much',\r
+  'Créer la facture pour ce projet' => 'Create the invoice of this project',\r
+  'projets' => 'projects',\r
+  'Tâche' => 'Task',\r
+  'Catégorie' => 'Category',\r
+  'Chef de projet' => 'Project Manager',\r
+  'Jours prévus' => 'Planned days',\r
+  'Jours consommés' => 'Consumed days',\r
+  'Êtes vous certain de vouloir supprimer ce projet ?' => 'Are you sure you want delete this project ?',\r
+  'Tâche sous-traitée' => 'CM Task',\r
+  'Êtes vous certain de vouloir supprimer cette tâche ?' => 'Are you sure you want delete this task ?',\r
+  'Numéro de projet' => 'Project number',\r
+  'Nom du projet' => 'Project name',\r
+  'Date de début' => 'Start date',\r
+  'Deadline' => 'Deadline',\r
+  'Date de fin' => 'End date',\r
+  'Numéro de tâche' => 'Task number',\r
+  'Taux journalier' => 'Daily rate',\r
+  'Participants' => 'Workers',\r
+  'Créées par' => 'Created by',\r
+  'Changer le status du devis' => 'Change quotation statut',\r
+  'Valider puis créer le projet correspondant' => 'Valid and create the project',\r
+  'Date' => 'Date',\r
+  'Montant HT' => 'taxless price',\r
+  'd/m/Y' => 'm/d/Y',\r
+  'Editer le devis' => 'Edit quotation',\r
+  'Êtes vous certain de vouloir supprimer ce devis ?' => 'Are you sure you want delete this quotation',\r
+  'Voir le devis' => 'See the quotation',\r
+  'Dupliquer le devis' => 'Duplicate the quotation',\r
+  'devis' => 'quotations',\r
+  'Vous n\'avez pour le moment aucun devis associé Ã  votre compte' => 'You don\'t have any quotation',\r
+  'Entrez le nom du client' => 'Type the client name',\r
+  'De' => 'From',\r
+  'Sujet' => 'Subject',\r
+  'Corps' => 'Message',\r
+  'N° de TVA Intracommunautaire' => 'VAT identification number',\r
+  'Editer les informations de ce client' => 'Edit client informations',\r
+  'A' => 'To',\r
+  'Message' => 'Message',\r
+  'Le devis est sur le point d\'être validé, mais l\'email ne sera pas envoyé. Veuillez confirmer votre choix ?' => 'The quotation will be validated, but no e-mail will be send. Please confirm your choice.',\r
+  'Valider sans envoyer le devis' => 'Valid without sending the quotation',\r
+  'Le devis est sur le point d\'être envoyé. Veuillez confirmer votre choix ?' => 'The quotation will be sended. Please confirm your choice',\r
+  'Valider et envoyer le devis' => 'Valid and send quotation',\r
+  'Changer le status de la facture' => 'Change invoice status',\r
+  'Editer la facture' => 'Edit the invoice',\r
+  'Êtes vous certain de vouloir supprimer cette facture ?' => 'Are you sure you want delete this invoice',\r
+  'Voir la facture' => 'See the invoice',\r
+  'Dupliquer la facture' => 'Duplicate the invoice',\r
+  'factures' => 'invoices',\r
+  'Vous n\'avez pour le moment aucune facture associée Ã  votre compte' => 'You don\'t have any invoice',\r
+  'Date de paiement' => 'Payment date',\r
+  'Informations de paiement' => 'Payment details',\r
+  'Entrez le nom du projet ou du client' => 'Type the project name or client name',\r
+  'La facture est sur le point d\'être validée. Elle ne sera plus Ã©ditable. Veuillez confirmer votre choix ?' => 'The invoice will be validated. It will not be editable anymore. Please confirm your choice',\r
+  'Valider la facture' => 'Valid the invoice',\r
+  'Chiffre d\'affaire généré par les projets commencés en' => 'Revenue for projects started in',\r
+  'Chiffre d\'affaire généré par les projets terminés en' => 'Revenue for projects finished in',\r
+  'Chiffre d\'affaire annuel' => 'Annual revenue',\r
+  'Total' => 'Total',\r
+  'Chiffre d\'affaire par catégorie' => 'Revenue by category',\r
+  'Rapport Temps travaillé / Temps payé' => 'Time spended / Time payed rate',\r
+  'Tous les ' => 'All',\r
+  'Afficher' => 'Display',\r
+  'par page' => 'per page',\r
+  'Êtes vous certain de vouloir supprimer cette liste de votre dashboard ?' => 'Are you sure tou want delete this item from your dashboard ?',\r
+  'Traduction de l\'application en anglais' => 'English translation of the application',\r
+  'DEVIS' => 'ESTIMATE',\r
+  'FACTURE' => 'INVOICE',\r
+)\r
+\r
+?>
\ No newline at end of file
diff --git a/robots.txt b/robots.txt
new file mode 100644 (file)
index 0000000..d476dd8
--- /dev/null
@@ -0,0 +1,2 @@
+User-Agent: *\r
+Allow: /
\ No newline at end of file
diff --git a/style/extranet/arrows.png b/style/extranet/arrows.png
new file mode 100644 (file)
index 0000000..7e457c3
Binary files /dev/null and b/style/extranet/arrows.png differ
diff --git a/style/extranet/b-e.png b/style/extranet/b-e.png
new file mode 100644 (file)
index 0000000..f301f4e
Binary files /dev/null and b/style/extranet/b-e.png differ
diff --git a/style/extranet/b-h.png b/style/extranet/b-h.png
new file mode 100644 (file)
index 0000000..417b0fc
Binary files /dev/null and b/style/extranet/b-h.png differ
diff --git a/style/extranet/b-n.png b/style/extranet/b-n.png
new file mode 100644 (file)
index 0000000..e0922e3
Binary files /dev/null and b/style/extranet/b-n.png differ
diff --git a/style/extranet/b-ne.png b/style/extranet/b-ne.png
new file mode 100644 (file)
index 0000000..fcabb64
Binary files /dev/null and b/style/extranet/b-ne.png differ
diff --git a/style/extranet/b-nw.png b/style/extranet/b-nw.png
new file mode 100644 (file)
index 0000000..607df5f
Binary files /dev/null and b/style/extranet/b-nw.png differ
diff --git a/style/extranet/b-s.png b/style/extranet/b-s.png
new file mode 100644 (file)
index 0000000..c1210d5
Binary files /dev/null and b/style/extranet/b-s.png differ
diff --git a/style/extranet/b-se.png b/style/extranet/b-se.png
new file mode 100644 (file)
index 0000000..53b09e5
Binary files /dev/null and b/style/extranet/b-se.png differ
diff --git a/style/extranet/b-sw.png b/style/extranet/b-sw.png
new file mode 100644 (file)
index 0000000..c9414df
Binary files /dev/null and b/style/extranet/b-sw.png differ
diff --git a/style/extranet/b-w.png b/style/extranet/b-w.png
new file mode 100644 (file)
index 0000000..269bfd2
Binary files /dev/null and b/style/extranet/b-w.png differ
diff --git a/style/extranet/bg-bar.png b/style/extranet/bg-bar.png
new file mode 100644 (file)
index 0000000..5a0d59c
Binary files /dev/null and b/style/extranet/bg-bar.png differ
diff --git a/style/extranet/bg-document.png b/style/extranet/bg-document.png
new file mode 100644 (file)
index 0000000..563ee49
Binary files /dev/null and b/style/extranet/bg-document.png differ
diff --git a/style/extranet/bg-footer.png b/style/extranet/bg-footer.png
new file mode 100644 (file)
index 0000000..303b8b7
Binary files /dev/null and b/style/extranet/bg-footer.png differ
diff --git a/style/extranet/bg-header.png b/style/extranet/bg-header.png
new file mode 100644 (file)
index 0000000..d4e5de0
Binary files /dev/null and b/style/extranet/bg-header.png differ
diff --git a/style/extranet/bg-logo.png b/style/extranet/bg-logo.png
new file mode 100644 (file)
index 0000000..f2d37f7
Binary files /dev/null and b/style/extranet/bg-logo.png differ
diff --git a/style/extranet/bg-page.png b/style/extranet/bg-page.png
new file mode 100644 (file)
index 0000000..5a6e36c
Binary files /dev/null and b/style/extranet/bg-page.png differ
diff --git a/style/extranet/filtre-list-b.png b/style/extranet/filtre-list-b.png
new file mode 100644 (file)
index 0000000..2d02be4
Binary files /dev/null and b/style/extranet/filtre-list-b.png differ
diff --git a/style/extranet/filtre-list-m.png b/style/extranet/filtre-list-m.png
new file mode 100644 (file)
index 0000000..c8e6dca
Binary files /dev/null and b/style/extranet/filtre-list-m.png differ
diff --git a/style/extranet/filtres.png b/style/extranet/filtres.png
new file mode 100644 (file)
index 0000000..cb16652
Binary files /dev/null and b/style/extranet/filtres.png differ
diff --git a/style/extranet/ie.css b/style/extranet/ie.css
new file mode 100644 (file)
index 0000000..adb7adc
--- /dev/null
@@ -0,0 +1,9 @@
+/* IE7 CSS\r
+.b-c{position:relative;top:-1px;}\r
+*/\r
+.b-c>div{margin-right:0px;position:relative;left:-6px;top:-1px;}\r
+/*.b-n,.b-s{position:relative;left:0px;;}\r
+.b-c{position:relative;left:3px;}\r
+.b-ne,.b-se,.b-e{position:relative;left:-8px;}\r
+.b-nw,.b-sw,.b-w{position:relative;left:3px;}\r
+.b-footer td{position:relative;top:-1px;}*/
\ No newline at end of file
diff --git a/style/extranet/merged-3fd7e1.css b/style/extranet/merged-3fd7e1.css
new file mode 100644 (file)
index 0000000..e03d719
--- /dev/null
@@ -0,0 +1 @@
+*,body,html{padding:0;margin:0;}body,html{height:100%;}img{border:0;}hr{border:0;border-bottom:1px solid #ccc;}table{border-collapse:collapse;empty-cells:show;}input[type='checkbox'],input[type='radio']{margin:3px;margin-bottom:3px;}a:focus{-moz-outline:0px dotted !important;}.right{text-align:right !important;}.left{text-align:left !important;}.center{text-align:center !important;}.middle{vertical-align:middle !important;}.top{vertical-align:top !important;}.bottom{vertical-align:bottom !important;}.baseline{vertical-align:baseline !important;}.fullscreen{width:100%;height:100%;}.clear{clear:both;}.block{display:block;}.no-float{float:none !important;}.auto{width:auto !important;height:auto !important;}.wauto{width:auto !important;}.hauto{height:auto !important;}.max{width:100%}.hmax{height:100%;}.min{width:1px;}.hmin{height:1px;}.nowrap{white-space:nowrap;}.nomargin{padding:0;margin:0;}.hide{display:none;}.pemail{visibility:hidden;}.strong{font-weight:bold;}.onlyforprint{display:none;}.popupOverlay{opacity:0;position:fixed;display:none;top:0px;left:0px;width:100%;height:100%;}.popupWindow{display:none;opacity:1;position:fixed;}#multimulti_0{display:inline;}textarea.markitup{width:640px;height:400px;}body{height:auto;}body,table{font-family:Verdana;font-size:12px;color:#fff;}a{color:#da4f24;text-decoration:underline;}a:hover{text-decoration:none;}abbr{cursor:help;border-bottom:1px dotted #fff;}td{height:30px;color:#333;}input[type="text"],input[type="password"],select,textarea{color:#666;font-family:Verdana;font-size:12px;}.message{text-align:center;font-size:11px;color:#da4f24;background:#fff;}.closePopup img{margin-top:4px;}.content{width:990px;margin:0 auto;position:relative;}#header{height:94px;background:url(bg-header.png) repeat-x;position:relative;}#logo{position:absolute;top:11px;}#welcome{position:absolute;top:25px;right:10px;font-size:11px;}#welcome.with-search{right:250px;}#search{background:url(search.png) no-repeat;width:229px;height:28px;position:absolute;right:10px;top:20px;}#search input{background:none;border:none;width:180px;position:absolute;top:7px;left:10px;color:#fff;}#search a{margin-left:5px;position:absolute;top:2px;right:3px;}#footer{height:5px;background:#2a303a;overflow:hidden;}#main{background:url(bg-page.png) repeat-x #dbdde2;position:relative;height:439px;padding-top:13px;padding-bottom:30px;}#logo-main{position:fixed;background:url(bg-logo.png) no-repeat;top:180px;left:0px;width:289px;height:419px;}#nav{height:31px;position:absolute;top:63px;width:960px;}#nav a{display:block;float:left;background-position:top left;width:119px;height:31px;margin-right:1px;text-indent:-6667px;}#nav a:hover{background-position:bottom left;}#nav a.active{background-position:bottom left;}.b{margin:0 auto;}.b-c{overflow:hidden;}.b-c>div{background:#fff;}.b-c>div table{width:100%;}.b-nw{background:url(b-nw.png) no-repeat transparent;}.b-n{background:url(b-n.png) repeat-x;}.b-ne{background:url(b-ne.png) no-repeat transparent;}.b-w{background:url(b-w.png) repeat-y transparent;}.b-e{background:url(b-e.png) repeat-y top right transparent;}.b-sw{background:url(b-sw.png) no-repeat bottom left transparent;}.b-s{background:url(b-s.png) repeat-x;}.b-se{background:url(b-se.png) no-repeat transparent;}.b-nw,.b-sw,.b-w{width:12px;max-width:12px;min-width:12px;}.b-ne,.b-se,.b-e{width:11px;max-width:11px;min-width:11px;}.b-n,.b-ne,.b-nw{height:11px;max-height:11px;min-height:11px;}.b-s,.b-se,.b-sw{height:10px;max-height:10px;min-height:10px;}.b-n,.b-s{width:auto;}.b-e,.b-w{height:auto;}.popupOverlay{background:#666;opacity:0;position:fixed;display:none;top:0px;left:0px;width:100%;height:100%;}.popupWindow{display:none;opacity:1;position:fixed;}.popupWindow .close{position:absolute;top:15px;right:15px;}.liste{width:100% !important;min-width:960px;}.liste.form{width:auto !important;min-width:0px !important;}.form h2,.form th,.form td,.liste th,.liste td{text-align:left;border-bottom:1px solid #fff;font-weight:normal;padding-left:10px;padding-right:10px;font-size:12px;}.form th,.form h1,.liste th,.liste h1{color:#fff;font-size:11px;height:31px;font-weight:normal;vertical-align:middle;background:#4e535b url(b-h.png) repeat-x;padding-left:10px;}.form tr.big th{height:40px;}.form h1,.form h2{padding-top:8px;height:22px;}.form td{background:#fff;}.form h2,.liste td{color:#333;background:#dbdde2;vertical-align:middle;}.form tr.odd td,.liste tr.odd td{background:#ecedf0;}.liste tr.bold td{font-weight:bold;}.liste td.we{background:#DBDDE2 !important;}.liste td.filled,.liste td.highlight,.liste th.highlight{background:#da4f24 !important;}.liste .action{width:1px;}.liste th a{color:#fff;text-decoration:none;font-weight:bold;}.liste th a:hover{text-decoration:underline;}.form td a img,.liste td a img{margin-top:4px;}.listeTimereport input[type="text"]{width:12px;text-align:center;font-size:10px;}.listeTimereport td,.listeTimereport th{padding-left:4px;padding-right:4px;width:16px;}.listeTimereport th .spacer{float:left;}.listeTimereport .normal{text-align:left;vertical-align:middle;padding-left:10px;padding-right:10px;width:auto;}.listeTimereport .info{width:30px;}.listeTimereport tr.bold td{border-top:1px solid #4e555c;}#devisTop{background:url(../images/devis.png) top left;width:960px;height:500px;}#devisMiddle{background:url(bg-document.png);width:960px;}#devisBottom{background:url(../images/devis.png) bottom left;width:960px;height:300px;}#factureAdresse,#devisAdresse{position:absolute;top:180px;left:520px;height:165px;width:360px;padding:0px;}#factureAdresse input[type="text"],#devisAdresse input[type="text"]{width:100%;}#factureAdresseDisplay,#devisAdresseDisplay{font-size:20px;padding:20px;position:relative;min-height:150px;}#factureAdresseDisplay .tva{font-size:12px;}#factureAdresse .edit,#devisAdresse .edit{position:absolute;top:20px;right:20px;}#devisTitre{position:absolute;left:56px;top:231px;width:411px;height:184px;}#devisLignes{margin-left:30px;}#devisMail{padding:30px;margin-top:30px;border-top:2px solid #000;}#devisMail td{color:#000 !important;}.pager-holder{padding:10px;padding-bottom:0px;float:none;}.pager{text-align:center;}.pager a,.pager strong{padding:2px;height:10px;font-weight:bold;}.pager a{text-decoration:none;}.pager a:hover{text-decoration:none;}.pager.pgleft a{background:#ecedf0;border:1px solid #d9e3ef;color:#5D626A;}.pager.pgleft a:hover,.pager.pgleft strong{background:#ffc600 url(pager-left-active.png) repeat-x bottom left;border:1px solid #ff9d00;color:#7F5500;}.formParPage{padding:5px;float:right;}#bar{background:url(bg-bar.png) repeat-x #fff bottom left;}#bar.vide{height:16px;}#bar .content{height:50px;}.shortcut .note{color:#333;padding:10px;}.shortcut{float:left;margin-left:5px;margin-top:10px;}.filtre{color:#5f6162;width:160px;float:left;margin-left:10px;padding-top:1px;position:relative;}.filtre span{font-size:9px;color:#5f6162;margin-left:5px;cursor:pointer;}.filtre .bt{position:absolute;top:2px;right:3px;width:155px;height:18px;}.filtre .input{width:135px;height:23px;background-image:url(filtres.png);background-repeat:no-repeat;padding:5px;padding-right:20px;margin-left:5px;position:relative;}.filtre .input.active{font-weight:bold;}.filtre ul{display:none;position:absolute;top:36px;left:5px;z-index:20;width:160px;cursor:pointer;}.filtre .input span{font-size:12px;}.filtre ul li.first{padding-top:2px;}.filtre ul li{list-style-type:none;padding-left:20px;background-image:url(filtre-list-m.png);}.filtre ul li.last{background-image:url(filtre-list-b.png);background-position:0 100%;padding-bottom:5px;}.filtre ul li.all{display:none;}.efface_filtres{padding-right:20px;padding-top:10px;float:right;}.dashboard{position:relative;margin-bottom:10px;}.dashboard .caption{position:relative;left:20px;top:10px;display:inline;cursor:move;}.dashboard .edit{position:absolute;right:40px;top:-17px;}.dashboard .delete{position:absolute;right:10px;top:-17px;}.dashboard .toggle{position:absolute;left:12px;top:-10px;background-image:url(arrows.png);background-position:0 0;width:18px;height:10px;}.dashboard .toggle.close{background-position:0 100%;}.dashboard div.close .liste{display:none;}.dashboard .b-c{width:960px !important;height:auto !important;}.contextMenu{border:1px solid #000;float:left;position:absolute;display:none;z-index:100000;}.contextMenu li{border-bottom:1px solid #ccc;padding:12px;padding-left:20px;padding-right:20px;list-style-type:none;background:#fff;height:12px;}.contextMenu li:hover{background:#ccc;}.contextMenu li a:hover{text-decoration:none;}.contextMenu li img{margin:5px;margin-right:7px;vertical-align:middle;float:none;}.contextMenu li.head{background:#666b74;font-weight:bold;color:#fff;text-align:center;border-bottom:1px solid #000;}.ac_results{background:#fff;border:1px solid #acacac;color:#666;padding:2px;z-index:100000 !important;}.ac_results li{cursor:pointer;padding:2px;margin:1px;list-style-type:none;}.ac_results li:hover,.ac_over{background:#4e535e;color:#fff;}.ac_results iframe{display:none;}#traduction div table td{padding:5px;background:#dbdde2;color:#333;vertical-align:top;}#traduction div table .odd td{background:#ecedf0;}#traduction div table .save td{background-color:#4e535b;background-image:url(b-h.png);background-repeat:repeat-x;}.error{border:1px solid #f00;}#uploaderContainer{width:970px;height:50px;}.gris{background-color:#ecedf0;}
\ No newline at end of file
diff --git a/style/extranet/merged-b27ad5.css b/style/extranet/merged-b27ad5.css
new file mode 100644 (file)
index 0000000..1e2071a
--- /dev/null
@@ -0,0 +1 @@
+*,body,html{padding:0;margin:0;}body,html{height:100%;}img{border:0;}hr{border:0;border-bottom:1px solid #ccc;}table{border-collapse:collapse;empty-cells:show;}input[type='checkbox'],input[type='radio']{margin:3px;margin-bottom:3px;}a:focus{-moz-outline:0px dotted !important;}.right{text-align:right !important;}.left{text-align:left !important;}.center{text-align:center !important;}.middle{vertical-align:middle !important;}.top{vertical-align:top !important;}.bottom{vertical-align:bottom !important;}.baseline{vertical-align:baseline !important;}.fullscreen{width:100%;height:100%;}.clear{clear:both;}.block{display:block;}.no-float{float:none !important;}.auto{width:auto !important;height:auto !important;}.wauto{width:auto !important;}.hauto{height:auto !important;}.max{width:100%}.hmax{height:100%;}.min{width:1px;}.hmin{height:1px;}.nowrap{white-space:nowrap;}.nomargin{padding:0;margin:0;}.hide{display:none;}.pemail{visibility:hidden;}.strong{font-weight:bold;}.popupOverlay{opacity:0;position:fixed;display:none;top:0px;left:0px;width:100%;height:100%;}.popupWindow{display:none;opacity:1;position:fixed;}#multimulti_0{display:inline;}textarea.markitup{width:640px;height:400px;}.contextMenu{border:1px solid #000;float:left;position:absolute;display:none;z-index:100000;}.contextMenu li{border-bottom:1px solid #ccc;padding:5px;list-style-type:none;background:#fff;}.contextMenu li:hover{background:#ccc;}.contextMenu li a:hover{text-decoration:none;}.contextMenu li img{margin:5px;margin-right:7px;vertical-align:middle;float:none;}.contextMenu li.head{background:#ccc;font-weight:bold;color:#000;text-align:center;border-bottom:1px solid #000;}body{height:auto;}body,table{font-family:Verdana;font-size:12px;color:#fff;}a{color:#da4f24;text-decoration:underline;}a:hover{text-decoration:none;}abbr{cursor:help;border-bottom:1px dotted #fff;}td{height:30px;color:#333;}input[type="text"],input[type="password"],select,textarea{color:#666;font-family:Verdana;font-size:12px;}.message{text-align:center;font-size:11px;color:#da4f24;background:#fff;}.closePopup img{margin-top:4px;}.content{width:990px;margin:0 auto;position:relative;}#header{height:94px;background:url(bg-header.png) repeat-x;position:relative;}#logo{position:absolute;top:11px;}#welcome{position:absolute;top:25px;right:10px;font-size:11px;}#welcome.with-search{right:250px;}#search{background:url(search.png) no-repeat;width:229px;height:28px;position:absolute;right:10px;top:20px;}#search input{background:none;border:none;width:180px;position:absolute;top:7px;left:10px;color:#fff;}#search a{margin-left:5px;position:absolute;top:2px;right:3px;}#footer{height:5px;background:#2a303a;overflow:hidden;}#main{background:url(bg-page.png) repeat-x #dbdde2;position:relative;height:439px;padding-top:13px;padding-bottom:30px;}#logo-main{position:fixed;background:url(bg-logo.png) no-repeat;top:180px;left:0px;width:289px;height:419px;}#nav{height:31px;position:absolute;top:63px;width:960px;}#nav a{display:block;float:left;background-position:top left;width:119px;height:31px;margin-right:1px;text-indent:-6667px;}#nav a:hover{background-position:bottom left;}#nav a.active{background-position:bottom left;}.b{margin:0 auto;}.b-c{overflow:hidden;}.b-c>div{background:#fff;}.b-c>div table{width:100%;}.b-nw{background:url(b-nw.png) no-repeat transparent;}.b-n{background:url(b-n.png) repeat-x;}.b-ne{background:url(b-ne.png) no-repeat transparent;}.b-w{background:url(b-w.png) repeat-y transparent;}.b-e{background:url(b-e.png) repeat-y top right transparent;}.b-sw{background:url(b-sw.png) no-repeat bottom left transparent;}.b-s{background:url(b-s.png) repeat-x;}.b-se{background:url(b-se.png) no-repeat transparent;}.b-nw,.b-sw,.b-w{width:12px;max-width:12px;min-width:12px;}.b-ne,.b-se,.b-e{width:11px;max-width:11px;min-width:11px;}.b-n,.b-ne,.b-nw{height:11px;max-height:11px;min-height:11px;}.b-s,.b-se,.b-sw{height:10px;max-height:10px;min-height:10px;}.b-n,.b-s{width:auto;}.b-e,.b-w{height:auto;}.popupOverlay{background:#666;opacity:0;position:fixed;display:none;top:0px;left:0px;width:100%;height:100%;}.popupWindow{display:none;opacity:1;position:fixed;}.popupWindow .close{position:absolute;top:15px;right:15px;}.liste{width:100% !important;min-width:960px;}.liste.form{width:auto !important;min-width:0px !important;}.form th,.form td,.liste th,.liste td{text-align:left;border-bottom:1px solid #fff;font-weight:normal;padding-left:10px;padding-right:10px;}.form th,.form h1,.liste th,.liste h1{color:#fff;font-size:11px;height:31px;font-weight:normal;vertical-align:middle;background:url(b-h.png) repeat-x;padding-left:10px;}.form h1{padding-top:8px;height:22px;}.form td{background:#fff;}.liste td{color:#333;background:#dbdde2;vertical-align:middle;}.form tr.odd td,.liste tr.odd td{background:#ecedf0;}.liste tr.bold td{font-weight:bold;}.liste td.we{background:#DBDDE2 !important;}.liste td.filled,.liste td.highlight,.liste th.highlight{background:#da4f24 !important;}.liste .action{width:1px;}.liste th a{color:#fff;text-decoration:none;font-weight:bold;}.liste th a:hover{text-decoration:underline;}.form td a img,.liste td a img{margin-top:4px;}.listeTimereport input[type="text"]{width:12px;text-align:center;font-size:10px;}.listeTimereport td,.listeTimereport th{padding-left:4px;padding-right:4px;width:16px;}.listeTimereport th .spacer{float:left;}.listeTimereport .normal{text-align:left;vertical-align:middle;padding-left:10px;padding-right:10px;width:auto;}.listeTimereport .info{width:30px;}#devisTop{background:url(../images/devis.png) top left;width:960px;height:500px;}#devisMiddle{background:url(bg-document.png);width:960px;}#devisBottom{background:url(../images/devis.png) bottom left;width:960px;height:300px;}#factureAdresse,#devisAdresse{position:absolute;top:180px;left:520px;height:165px;width:360px;padding:0px;}#factureAdresse input[type="text"],#devisAdresse input[type="text"]{width:100%;}#factureAdresseDisplay,#devisAdresseDisplay{font-size:20px;padding:20px;position:relative;min-height:150px;}#factureAdresseDisplay .tva{font-size:12px;}#factureAdresse .edit,#devisAdresse .edit{position:absolute;top:20px;right:20px;}#devisTitre{position:absolute;left:56px;top:231px;width:411px;height:184px;}#devisLignes{margin-left:30px;}#devisMail{padding:30px;margin-top:30px;border-top:2px solid #000;}#devisMail td{color:#000 !important;}.pager-holder{padding:10px;padding-bottom:0px;float:none;}.pager{text-align:center;}.pager a,.pager strong{padding:2px;height:10px;font-weight:bold;}.pager a{text-decoration:none;}.pager a:hover{text-decoration:none;}.pager.pgleft a{background:#ecedf0;border:1px solid #d9e3ef;color:#5D626A;}.pager.pgleft a:hover,.pager.pgleft strong{background:#ffc600 url(pager-left-active.png) repeat-x bottom left;border:1px solid #ff9d00;color:#7F5500;}.formParPage{padding:5px;float:right;}#bar{background:url(bg-bar.png) repeat-x #fff bottom left;}#bar.vide{height:16px;}#bar .content{height:50px;}.shortcut .note{color:#333;padding:10px;}.shortcut{float:left;margin-left:5px;margin-top:10px;}.filtre{color:#5f6162;width:160px;float:left;margin-left:10px;padding-top:1px;position:relative;}.filtre span{font-size:9px;color:#5f6162;margin-left:5px;cursor:pointer;}.filtre .bt{position:absolute;top:2px;right:3px;width:155px;height:18px;}.filtre .input{width:135px;height:23px;background-image:url(filtres.png);background-repeat:no-repeat;padding:5px;padding-right:20px;margin-left:5px;position:relative;}.filtre .input.active{font-weight:bold;}.filtre ul{display:none;position:absolute;top:36px;left:5px;z-index:20;width:160px;cursor:pointer;}.filtre .input span{font-size:12px;}.filtre ul li.first{padding-top:2px;}.filtre ul li{list-style-type:none;padding-left:20px;background-image:url(filtre-list-m.png);}.filtre ul li.last{background-image:url(filtre-list-b.png);background-position:0 100%;padding-bottom:5px;}.filtre ul li.all{display:none;}.efface_filtres{padding-right:20px;padding-top:10px;float:right;}.dashboard{position:relative;margin-bottom:10px;}.dashboard .caption{position:relative;left:20px;top:10px;display:inline;cursor:move;}.dashboard .edit{position:absolute;right:40px;top:-17px;}.dashboard .delete{position:absolute;right:10px;top:-17px;}.dashboard .toggle{position:absolute;left:12px;top:-10px;background-image:url(arrows.png);background-position:0 0;width:18px;height:10px;}.dashboard .toggle.close{background-position:0 100%;}.dashboard div.close .liste{display:none;}.dashboard .b-c{width:960px !important;height:auto !important;}.contextMenu{border:1px solid #000;float:left;position:absolute;display:none;z-index:100000;}.contextMenu li{border-bottom:1px solid #ccc;padding:12px;padding-left:20px;padding-right:20px;list-style-type:none;background:#fff;height:12px;}.contextMenu li:hover{background:#ccc;}.contextMenu li a:hover{text-decoration:none;}.contextMenu li img{margin:5px;margin-right:7px;vertical-align:middle;float:none;}.contextMenu li.head{background:#666b74;font-weight:bold;color:#fff;text-align:center;border-bottom:1px solid #000;}.ac_results{background:#fff;border:1px solid #acacac;color:#666;padding:2px;z-index:100000 !important;}.ac_results li{cursor:pointer;padding:2px;margin:1px;list-style-type:none;}.ac_results li:hover,.ac_over{background:#4e535e;color:#fff;}.ac_results iframe{display:none;}#traduction div table td{padding:5px;background:#dbdde2;color:#333;vertical-align:top;}#traduction div table .odd td{background:#ecedf0;}#traduction div table .save td{background-color:#4e535b;background-image:url(b-h.png);background-repeat:repeat-x;}.error{border:1px solid #f00;}
\ No newline at end of file
diff --git a/style/extranet/pager-left-active.png b/style/extranet/pager-left-active.png
new file mode 100644 (file)
index 0000000..26d32e5
Binary files /dev/null and b/style/extranet/pager-left-active.png differ
diff --git a/style/extranet/pager-left.png b/style/extranet/pager-left.png
new file mode 100644 (file)
index 0000000..7da4520
Binary files /dev/null and b/style/extranet/pager-left.png differ
diff --git a/style/extranet/search.png b/style/extranet/search.png
new file mode 100644 (file)
index 0000000..6d2d802
Binary files /dev/null and b/style/extranet/search.png differ
diff --git a/style/extranet/style.css b/style/extranet/style.css
new file mode 100644 (file)
index 0000000..5560c9f
--- /dev/null
@@ -0,0 +1,426 @@
+body{\r
+       height:auto;\r
+}\r
+\r
+body,table{\r
+       font-family:Verdana;\r
+       font-size:12px;\r
+       color:#fff;\r
+}\r
+\r
+a{\r
+       color:#da4f24;\r
+       text-decoration:underline;\r
+}\r
+\r
+a:hover{\r
+       text-decoration:none;\r
+}\r
+\r
+abbr{cursor:help;border-bottom:1px dotted #fff;}\r
+\r
+td{height:30px;color:#333;}\r
+\r
+input[type="text"],input[type="password"],select,textarea{\r
+       color:#666;\r
+       font-family:Verdana;\r
+       font-size:12px;\r
+}\r
+\r
+.message{text-align:center;font-size:11px;color:#da4f24;background:#fff;}\r
+.closePopup img{margin-top:4px;}\r
+\r
+.content{\r
+       width:990px;\r
+       margin:0 auto;\r
+       position:relative;\r
+}\r
+\r
+#header{\r
+       height:94px;\r
+       background:url(bg-header.png) repeat-x;\r
+       position:relative;\r
+}\r
+\r
+#logo{\r
+       position:absolute;\r
+       top:11px;\r
+}\r
+\r
+#welcome{\r
+       position:absolute;\r
+       top:25px;\r
+       right:10px;\r
+       font-size:11px;\r
+}\r
+\r
+#welcome.with-search{\r
+       right:250px;\r
+}\r
+\r
+#search{\r
+       background:url(search.png) no-repeat;\r
+       width:229px;\r
+       height:28px;\r
+       position:absolute;\r
+       right:10px;\r
+       top:20px;\r
+}\r
+\r
+#search input{\r
+       background:none;\r
+       border:none;\r
+       width:180px;\r
+       position:absolute;\r
+       top:7px;\r
+       left:10px;\r
+       color:#fff;\r
+}\r
+\r
+#search a{\r
+       margin-left:5px;\r
+       position:absolute;\r
+       top:2px;\r
+       right:3px;\r
+}\r
+\r
+#footer{\r
+       height:5px;\r
+       background:#2a303a;\r
+       overflow:hidden;\r
+}\r
+\r
+#main{\r
+       background:url(bg-page.png) repeat-x #dbdde2 ;\r
+       position:relative;\r
+       height:439px;\r
+       padding-top:13px;\r
+       padding-bottom:30px;\r
+}\r
+\r
+#logo-main{\r
+       position:fixed;\r
+       background:url(bg-logo.png) no-repeat;\r
+       top:180px;\r
+       left:0px;\r
+       width:289px;\r
+       height:419px;\r
+}\r
+\r
+#nav{\r
+       height:31px;\r
+       position:absolute;\r
+       top:63px;\r
+       width:960px;\r
+}\r
+\r
+#nav a{\r
+       display:block;\r
+       float:left;\r
+       background-position:top left;\r
+       width:119px;\r
+       height:31px;\r
+       margin-right:1px;\r
+       text-indent:-6667px;\r
+}\r
+\r
+#nav a:hover{\r
+       background-position:bottom left;\r
+}\r
+\r
+#nav a.active{\r
+       background-position:bottom left;\r
+}\r
+\r
+\r
+/* Cadre */\r
+.b{margin:0 auto;}\r
+.b-c{overflow:hidden;}\r
+.b-c>div{background:#fff;}\r
+.b-c>div table{width:100%;}\r
+.b-nw{background:url(b-nw.png) no-repeat transparent;}\r
+.b-n{background:url(b-n.png) repeat-x;}\r
+.b-ne{background:url(b-ne.png) no-repeat  transparent;}\r
+.b-w{background:url(b-w.png) repeat-y transparent;}\r
+.b-e{background:url(b-e.png) repeat-y top right transparent;}\r
+.b-sw{background:url(b-sw.png) no-repeat bottom left transparent;}\r
+.b-s{background:url(b-s.png) repeat-x;}\r
+.b-se{background:url(b-se.png) no-repeat transparent;}\r
+\r
+.b-nw, .b-sw, .b-w{width:12px;max-width:12px;min-width:12px;}\r
+.b-ne, .b-se, .b-e{width:11px;max-width:11px;min-width:11px;}\r
+.b-n, .b-ne, .b-nw{height:11px;max-height:11px;min-height:11px;}\r
+.b-s, .b-se, .b-sw{height:10px;max-height:10px;min-height:10px;}\r
+.b-n, .b-s{width:auto;}\r
+.b-e, .b-w{height:auto;}\r
+\r
+.popupOverlay{background:#666;opacity:0;position:fixed;display:none;top:0px;left:0px;width:100%;height:100%;}\r
+.popupWindow{display:none;opacity:1;position:fixed;}\r
+/*.popupWindow>table{width:600px;}*/\r
+.popupWindow .close{position:absolute;top:15px;right:15px;}\r
+\r
+/* Tableaux */\r
+\r
+.liste{width:100% !important;min-width:960px;}\r
+.liste.light{width:100% !important;min-width:0px !important;}\r
+.liste.form{width:auto !important;min-width:0px !important;}\r
+.form h2,.form th,.form td,.liste th, .liste td{text-align:left;border-bottom:1px solid #fff;font-weight:normal;padding-left:10px;padding-right:10px;font-size:12px;}\r
+.form th,.form h1,.liste th,.liste h1{color:#fff;font-size:11px;height:31px;font-weight:normal;vertical-align:middle;background:#4e535b url(b-h.png) repeat-x;padding-left:10px;}\r
+.form tr.big th{height:40px;}\r
+.form h1,.form h2{padding-top:6px;height:26px;}\r
+.form td{background:#fff;}\r
+.form h2,.liste td{color:#333;background:#dbdde2;vertical-align:middle;}\r
+.form tr.odd td,.liste tr.odd td{background:#ecedf0;}\r
+\r
+.form tr.light th,.liste tr.light th{\r
+       color:#333;font-size:12px;background:#fff;height:22px;\r
+       border-bottom:1px solid #707070;\r
+       margin-bottom:1px;\r
+       padding-left:3px;\r
+}\r
+\r
+\r
+.liste tr.bold td{font-weight:bold;}\r
+.liste td.we{background:#DBDDE2 !important;}\r
+.liste td.filled,.liste td.highlight, .liste th.highlight{background:#da4f24 !important;}\r
+.liste .action{width:1px;}\r
+.liste th a{color:#fff;text-decoration:none;font-weight:bold;}\r
+.liste th a:hover{text-decoration:underline;}\r
+\r
+.form td a img, .liste td a img{margin-top:4px;}\r
+\r
+.listeTimereport input[type="text"]{width:12px;text-align:center;font-size:10px;margin:2px;}\r
+.listeTimereport td, .listeTimereport th{padding-left:4px;padding-right:4px;width:16px;}\r
+.listeTimereport th .spacer{float:left;}\r
+.listeTimereport .normal{text-align:left;vertical-align:middle;padding-left:10px;padding-right:10px;width:auto;}\r
+.listeTimereport .info{width:30px;}\r
+.listeTimereport tr.bold td{border-top:1px solid #4e555c;}\r
+\r
+#devisTop{background:url(../images/devis.png) top left;width:960px;height:500px;}\r
+#devisMiddle{background:url(bg-document.png);width:960px;padding-bottom:20px;}\r
+#devisBottom{background:url(../images/devis.png) bottom left;width:960px;height:300px;}\r
+#factureAdresse,#devisAdresse{position:absolute;top:180px;left:520px;height:165px;width:360px;padding:0px;}\r
+#factureAdresse input[type="text"],#devisAdresse input[type="text"]{width:100%;}\r
+#factureAdresseDisplay,#devisAdresseDisplay{font-size:20px;padding:20px;position:relative;min-height:150px;}\r
+#factureAdresseDisplay .tva{font-size:12px;}\r
+#factureAdresse .edit,#devisAdresse .edit{position:absolute;top:20px;right:20px;}\r
+#devisTitre{position:absolute;left:56px;top:231px;width:411px;height:184px;}\r
+#devisLignes{padding-top:20px;}\r
+.devisLigne{border:1px #9aa2ae dashed;cursor:move;margin-top:20px;margin-left:20px;margin-right:20px;}\r
+.devisLigneLeft{width:700px;padding:20px;}\r
+.devisLigneRight{width:120px;float:right;text-align:center;padding:20px;}\r
+\r
+#devisMail{padding:30px;margin-top:30px;border-top:2px solid #000;}\r
+#devisMail td{color:#000 !important;}\r
+\r
+/* Pagers */\r
+\r
+.pager-holder{\r
+       padding:10px;\r
+       padding-bottom:0px;\r
+       float:none;\r
+}\r
+.pager{\r
+       text-align:center;\r
+}\r
+.pager a, .pager strong{\r
+       padding:2px;\r
+       height:10px;\r
+       font-weight:bold;\r
+}\r
+.pager a{text-decoration:none;}\r
+.pager a:hover{text-decoration:none;}\r
+\r
+/* Pager Left */\r
+.pager.pgleft a{\r
+       background:#ecedf0;\r
+       border:1px solid #d9e3ef;\r
+       color:#5D626A;\r
+}\r
+.pager.pgleft a:hover,\r
+.pager.pgleft strong{\r
+       background:#ffc600 url(pager-left-active.png) repeat-x bottom left;\r
+       border:1px solid #ff9d00;\r
+       color:#7F5500;\r
+}\r
+\r
+.formParPage{\r
+       padding:5px;\r
+       float:right;\r
+}\r
+\r
+\r
+/* Barre de raccourcis */\r
+#bar{\r
+       background:url(bg-bar.png) repeat-x #fff bottom left;\r
+}\r
+\r
+#bar.vide{\r
+       height:16px;\r
+}\r
+\r
+#bar .content{\r
+       height:50px;\r
+}\r
+\r
+.shortcut .note{color:#333;padding:10px;}\r
+.shortcut{float:left;margin-left:5px;margin-top:10px;}\r
+\r
+/* Filtres */\r
+.filtre{\r
+       color:#5f6162;\r
+       width:160px;\r
+       float:left;\r
+       margin-left:10px;\r
+       padding-top:1px;\r
+       position:relative;\r
+}\r
+.filtre span{\r
+       font-size:9px;\r
+       color:#5f6162;\r
+       margin-left:5px;\r
+       cursor:pointer;\r
+}\r
+.filtre .bt{\r
+       position:absolute;\r
+       top:2px;\r
+       right:3px;\r
+       width:155px;\r
+       height:18px;\r
+}\r
+.filtre .input{\r
+       width:135px;\r
+       height:23px;\r
+       background-image:url(filtres.png);\r
+       background-repeat:no-repeat;\r
+       padding:5px;\r
+       padding-right:20px;\r
+       margin-left:5px;\r
+       position:relative;\r
+}\r
+.filtre .input.active{\r
+       font-weight:bold;\r
+}\r
+.filtre ul{\r
+       display:none;\r
+       position:absolute;\r
+       top:36px;\r
+       left:5px;\r
+       z-index:20;\r
+       width:160px;\r
+       cursor:pointer;\r
+}\r
+\r
+.filtre .input span{\r
+       font-size:12px;\r
+}\r
+.filtre ul li.first{\r
+       padding-top:2px;\r
+}\r
+.filtre ul li{\r
+       list-style-type:none;\r
+       padding-left:20px;\r
+       background-image:url(filtre-list-m.png);\r
+}\r
+.filtre ul li.last{\r
+       background-image:url(filtre-list-b.png);\r
+       background-position:0 100%;\r
+       padding-bottom:5px;\r
+}\r
+.filtre ul li.all{\r
+       display:none;\r
+}\r
+.efface_filtres{padding-right:20px;padding-top:10px;float:right;}\r
+\r
+/* Dashboard */\r
+.dashboard{\r
+       position:relative;\r
+       margin-bottom:10px;\r
+}\r
+.dashboard .caption{\r
+       position:relative;\r
+       left:20px;\r
+       top:10px;\r
+       display:inline;\r
+       cursor:move;\r
+}\r
+\r
+.dashboard .edit{\r
+       position:absolute;\r
+       right:40px;\r
+       top:-17px;\r
+}\r
+\r
+.dashboard .delete{\r
+       position:absolute;\r
+       right:10px;\r
+       top:-17px;\r
+}\r
+\r
+.dashboard .toggle{\r
+       position:absolute;\r
+       left:12px;\r
+       top:-10px;\r
+       background-image:url(arrows.png);\r
+       background-position:0 0;\r
+       width:18px;\r
+       height:10px;\r
+}\r
+\r
+.dashboard .toggle.close{\r
+       background-position:0 100%;\r
+}\r
+\r
+.dashboard div.close .liste{\r
+       display:none;\r
+}\r
+\r
+.dashboard .b-c{\r
+       width:960px !important;\r
+       height:auto !important;\r
+}\r
+\r
+/* Menu Contextuel */\r
+.contextMenu{border:1px solid #000;float:left;position:absolute;display:none;z-index:100000;}\r
+.contextMenu li{border-bottom:1px solid #ccc;padding:12px;padding-left:20px;padding-right:20px;list-style-type:none;background:#fff;height:12px;}\r
+.contextMenu li:hover{background:#ccc;}\r
+.contextMenu li a:hover{text-decoration:none;}\r
+.contextMenu li img{margin:5px;margin-right:7px;vertical-align:middle;float:none;}\r
+.contextMenu li.head{background:#666b74;font-weight:bold;color:#fff;text-align:center;border-bottom:1px solid #000;}\r
+\r
+/* Autocomplete */\r
+.ac_results{\r
+       background:#fff;\r
+       border:1px solid #acacac;\r
+       color:#666;\r
+       padding:2px;\r
+       z-index:100000 !important;\r
+}\r
+\r
+.ac_results li{\r
+       cursor:pointer;\r
+       padding:2px;\r
+       margin:1px;\r
+       list-style-type:none;\r
+}\r
+\r
+.ac_results li:hover, .ac_over{\r
+       background:#4e535e;\r
+       color:#fff;\r
+}\r
+\r
+.ac_results iframe{\r
+display:none;\r
+}\r
+\r
+/* Traduction */\r
+#traduction div table td{padding:5px;background:#dbdde2;color:#333;vertical-align:top;}\r
+#traduction div table .odd td{background:#ecedf0;}\r
+#traduction div table .save td{background-color:#4e535b;background-image:url(b-h.png);background-repeat:repeat-x;}\r
+\r
+/* Erreur */\r
+.error{border:1px solid #f00;}\r
+\r
+#uploaderContainer{width:970px;height:50px;}\r
+\r
+.gris{background-color:#ecedf0;}
\ No newline at end of file
diff --git a/style/ws/arrows.png b/style/ws/arrows.png
new file mode 100644 (file)
index 0000000..2aebfae
Binary files /dev/null and b/style/ws/arrows.png differ
diff --git a/style/ws/b-e.png b/style/ws/b-e.png
new file mode 100644 (file)
index 0000000..f301f4e
Binary files /dev/null and b/style/ws/b-e.png differ
diff --git a/style/ws/b-h.png b/style/ws/b-h.png
new file mode 100644 (file)
index 0000000..417b0fc
Binary files /dev/null and b/style/ws/b-h.png differ
diff --git a/style/ws/b-n.png b/style/ws/b-n.png
new file mode 100644 (file)
index 0000000..e0922e3
Binary files /dev/null and b/style/ws/b-n.png differ
diff --git a/style/ws/b-ne.png b/style/ws/b-ne.png
new file mode 100644 (file)
index 0000000..fcabb64
Binary files /dev/null and b/style/ws/b-ne.png differ
diff --git a/style/ws/b-nw.png b/style/ws/b-nw.png
new file mode 100644 (file)
index 0000000..607df5f
Binary files /dev/null and b/style/ws/b-nw.png differ
diff --git a/style/ws/b-s.png b/style/ws/b-s.png
new file mode 100644 (file)
index 0000000..c1210d5
Binary files /dev/null and b/style/ws/b-s.png differ
diff --git a/style/ws/b-se.png b/style/ws/b-se.png
new file mode 100644 (file)
index 0000000..53b09e5
Binary files /dev/null and b/style/ws/b-se.png differ
diff --git a/style/ws/b-sw.png b/style/ws/b-sw.png
new file mode 100644 (file)
index 0000000..c9414df
Binary files /dev/null and b/style/ws/b-sw.png differ
diff --git a/style/ws/b-w.png b/style/ws/b-w.png
new file mode 100644 (file)
index 0000000..269bfd2
Binary files /dev/null and b/style/ws/b-w.png differ
diff --git a/style/ws/bg-bar-vide.png b/style/ws/bg-bar-vide.png
new file mode 100644 (file)
index 0000000..decc2f8
Binary files /dev/null and b/style/ws/bg-bar-vide.png differ
diff --git a/style/ws/bg-bar.png b/style/ws/bg-bar.png
new file mode 100644 (file)
index 0000000..2061003
Binary files /dev/null and b/style/ws/bg-bar.png differ
diff --git a/style/ws/bg-document.png b/style/ws/bg-document.png
new file mode 100644 (file)
index 0000000..563ee49
Binary files /dev/null and b/style/ws/bg-document.png differ
diff --git a/style/ws/bg-footer.png b/style/ws/bg-footer.png
new file mode 100644 (file)
index 0000000..303b8b7
Binary files /dev/null and b/style/ws/bg-footer.png differ
diff --git a/style/ws/bg-header.png b/style/ws/bg-header.png
new file mode 100644 (file)
index 0000000..f3653e4
Binary files /dev/null and b/style/ws/bg-header.png differ
diff --git a/style/ws/bg-logo.png b/style/ws/bg-logo.png
new file mode 100644 (file)
index 0000000..f2d37f7
Binary files /dev/null and b/style/ws/bg-logo.png differ
diff --git a/style/ws/bg-page.png b/style/ws/bg-page.png
new file mode 100644 (file)
index 0000000..a098b43
Binary files /dev/null and b/style/ws/bg-page.png differ
diff --git a/style/ws/filtre-list-b.png b/style/ws/filtre-list-b.png
new file mode 100644 (file)
index 0000000..12e5da9
Binary files /dev/null and b/style/ws/filtre-list-b.png differ
diff --git a/style/ws/filtre-list-m.png b/style/ws/filtre-list-m.png
new file mode 100644 (file)
index 0000000..8d5e381
Binary files /dev/null and b/style/ws/filtre-list-m.png differ
diff --git a/style/ws/filtres.png b/style/ws/filtres.png
new file mode 100644 (file)
index 0000000..477ee3b
Binary files /dev/null and b/style/ws/filtres.png differ
diff --git a/style/ws/ie.css b/style/ws/ie.css
new file mode 100644 (file)
index 0000000..adb7adc
--- /dev/null
@@ -0,0 +1,9 @@
+/* IE7 CSS\r
+.b-c{position:relative;top:-1px;}\r
+*/\r
+.b-c>div{margin-right:0px;position:relative;left:-6px;top:-1px;}\r
+/*.b-n,.b-s{position:relative;left:0px;;}\r
+.b-c{position:relative;left:3px;}\r
+.b-ne,.b-se,.b-e{position:relative;left:-8px;}\r
+.b-nw,.b-sw,.b-w{position:relative;left:3px;}\r
+.b-footer td{position:relative;top:-1px;}*/
\ No newline at end of file
diff --git a/style/ws/merged-3fd7e1.css b/style/ws/merged-3fd7e1.css
new file mode 100644 (file)
index 0000000..e03d719
--- /dev/null
@@ -0,0 +1 @@
+*,body,html{padding:0;margin:0;}body,html{height:100%;}img{border:0;}hr{border:0;border-bottom:1px solid #ccc;}table{border-collapse:collapse;empty-cells:show;}input[type='checkbox'],input[type='radio']{margin:3px;margin-bottom:3px;}a:focus{-moz-outline:0px dotted !important;}.right{text-align:right !important;}.left{text-align:left !important;}.center{text-align:center !important;}.middle{vertical-align:middle !important;}.top{vertical-align:top !important;}.bottom{vertical-align:bottom !important;}.baseline{vertical-align:baseline !important;}.fullscreen{width:100%;height:100%;}.clear{clear:both;}.block{display:block;}.no-float{float:none !important;}.auto{width:auto !important;height:auto !important;}.wauto{width:auto !important;}.hauto{height:auto !important;}.max{width:100%}.hmax{height:100%;}.min{width:1px;}.hmin{height:1px;}.nowrap{white-space:nowrap;}.nomargin{padding:0;margin:0;}.hide{display:none;}.pemail{visibility:hidden;}.strong{font-weight:bold;}.onlyforprint{display:none;}.popupOverlay{opacity:0;position:fixed;display:none;top:0px;left:0px;width:100%;height:100%;}.popupWindow{display:none;opacity:1;position:fixed;}#multimulti_0{display:inline;}textarea.markitup{width:640px;height:400px;}body{height:auto;}body,table{font-family:Verdana;font-size:12px;color:#fff;}a{color:#da4f24;text-decoration:underline;}a:hover{text-decoration:none;}abbr{cursor:help;border-bottom:1px dotted #fff;}td{height:30px;color:#333;}input[type="text"],input[type="password"],select,textarea{color:#666;font-family:Verdana;font-size:12px;}.message{text-align:center;font-size:11px;color:#da4f24;background:#fff;}.closePopup img{margin-top:4px;}.content{width:990px;margin:0 auto;position:relative;}#header{height:94px;background:url(bg-header.png) repeat-x;position:relative;}#logo{position:absolute;top:11px;}#welcome{position:absolute;top:25px;right:10px;font-size:11px;}#welcome.with-search{right:250px;}#search{background:url(search.png) no-repeat;width:229px;height:28px;position:absolute;right:10px;top:20px;}#search input{background:none;border:none;width:180px;position:absolute;top:7px;left:10px;color:#fff;}#search a{margin-left:5px;position:absolute;top:2px;right:3px;}#footer{height:5px;background:#2a303a;overflow:hidden;}#main{background:url(bg-page.png) repeat-x #dbdde2;position:relative;height:439px;padding-top:13px;padding-bottom:30px;}#logo-main{position:fixed;background:url(bg-logo.png) no-repeat;top:180px;left:0px;width:289px;height:419px;}#nav{height:31px;position:absolute;top:63px;width:960px;}#nav a{display:block;float:left;background-position:top left;width:119px;height:31px;margin-right:1px;text-indent:-6667px;}#nav a:hover{background-position:bottom left;}#nav a.active{background-position:bottom left;}.b{margin:0 auto;}.b-c{overflow:hidden;}.b-c>div{background:#fff;}.b-c>div table{width:100%;}.b-nw{background:url(b-nw.png) no-repeat transparent;}.b-n{background:url(b-n.png) repeat-x;}.b-ne{background:url(b-ne.png) no-repeat transparent;}.b-w{background:url(b-w.png) repeat-y transparent;}.b-e{background:url(b-e.png) repeat-y top right transparent;}.b-sw{background:url(b-sw.png) no-repeat bottom left transparent;}.b-s{background:url(b-s.png) repeat-x;}.b-se{background:url(b-se.png) no-repeat transparent;}.b-nw,.b-sw,.b-w{width:12px;max-width:12px;min-width:12px;}.b-ne,.b-se,.b-e{width:11px;max-width:11px;min-width:11px;}.b-n,.b-ne,.b-nw{height:11px;max-height:11px;min-height:11px;}.b-s,.b-se,.b-sw{height:10px;max-height:10px;min-height:10px;}.b-n,.b-s{width:auto;}.b-e,.b-w{height:auto;}.popupOverlay{background:#666;opacity:0;position:fixed;display:none;top:0px;left:0px;width:100%;height:100%;}.popupWindow{display:none;opacity:1;position:fixed;}.popupWindow .close{position:absolute;top:15px;right:15px;}.liste{width:100% !important;min-width:960px;}.liste.form{width:auto !important;min-width:0px !important;}.form h2,.form th,.form td,.liste th,.liste td{text-align:left;border-bottom:1px solid #fff;font-weight:normal;padding-left:10px;padding-right:10px;font-size:12px;}.form th,.form h1,.liste th,.liste h1{color:#fff;font-size:11px;height:31px;font-weight:normal;vertical-align:middle;background:#4e535b url(b-h.png) repeat-x;padding-left:10px;}.form tr.big th{height:40px;}.form h1,.form h2{padding-top:8px;height:22px;}.form td{background:#fff;}.form h2,.liste td{color:#333;background:#dbdde2;vertical-align:middle;}.form tr.odd td,.liste tr.odd td{background:#ecedf0;}.liste tr.bold td{font-weight:bold;}.liste td.we{background:#DBDDE2 !important;}.liste td.filled,.liste td.highlight,.liste th.highlight{background:#da4f24 !important;}.liste .action{width:1px;}.liste th a{color:#fff;text-decoration:none;font-weight:bold;}.liste th a:hover{text-decoration:underline;}.form td a img,.liste td a img{margin-top:4px;}.listeTimereport input[type="text"]{width:12px;text-align:center;font-size:10px;}.listeTimereport td,.listeTimereport th{padding-left:4px;padding-right:4px;width:16px;}.listeTimereport th .spacer{float:left;}.listeTimereport .normal{text-align:left;vertical-align:middle;padding-left:10px;padding-right:10px;width:auto;}.listeTimereport .info{width:30px;}.listeTimereport tr.bold td{border-top:1px solid #4e555c;}#devisTop{background:url(../images/devis.png) top left;width:960px;height:500px;}#devisMiddle{background:url(bg-document.png);width:960px;}#devisBottom{background:url(../images/devis.png) bottom left;width:960px;height:300px;}#factureAdresse,#devisAdresse{position:absolute;top:180px;left:520px;height:165px;width:360px;padding:0px;}#factureAdresse input[type="text"],#devisAdresse input[type="text"]{width:100%;}#factureAdresseDisplay,#devisAdresseDisplay{font-size:20px;padding:20px;position:relative;min-height:150px;}#factureAdresseDisplay .tva{font-size:12px;}#factureAdresse .edit,#devisAdresse .edit{position:absolute;top:20px;right:20px;}#devisTitre{position:absolute;left:56px;top:231px;width:411px;height:184px;}#devisLignes{margin-left:30px;}#devisMail{padding:30px;margin-top:30px;border-top:2px solid #000;}#devisMail td{color:#000 !important;}.pager-holder{padding:10px;padding-bottom:0px;float:none;}.pager{text-align:center;}.pager a,.pager strong{padding:2px;height:10px;font-weight:bold;}.pager a{text-decoration:none;}.pager a:hover{text-decoration:none;}.pager.pgleft a{background:#ecedf0;border:1px solid #d9e3ef;color:#5D626A;}.pager.pgleft a:hover,.pager.pgleft strong{background:#ffc600 url(pager-left-active.png) repeat-x bottom left;border:1px solid #ff9d00;color:#7F5500;}.formParPage{padding:5px;float:right;}#bar{background:url(bg-bar.png) repeat-x #fff bottom left;}#bar.vide{height:16px;}#bar .content{height:50px;}.shortcut .note{color:#333;padding:10px;}.shortcut{float:left;margin-left:5px;margin-top:10px;}.filtre{color:#5f6162;width:160px;float:left;margin-left:10px;padding-top:1px;position:relative;}.filtre span{font-size:9px;color:#5f6162;margin-left:5px;cursor:pointer;}.filtre .bt{position:absolute;top:2px;right:3px;width:155px;height:18px;}.filtre .input{width:135px;height:23px;background-image:url(filtres.png);background-repeat:no-repeat;padding:5px;padding-right:20px;margin-left:5px;position:relative;}.filtre .input.active{font-weight:bold;}.filtre ul{display:none;position:absolute;top:36px;left:5px;z-index:20;width:160px;cursor:pointer;}.filtre .input span{font-size:12px;}.filtre ul li.first{padding-top:2px;}.filtre ul li{list-style-type:none;padding-left:20px;background-image:url(filtre-list-m.png);}.filtre ul li.last{background-image:url(filtre-list-b.png);background-position:0 100%;padding-bottom:5px;}.filtre ul li.all{display:none;}.efface_filtres{padding-right:20px;padding-top:10px;float:right;}.dashboard{position:relative;margin-bottom:10px;}.dashboard .caption{position:relative;left:20px;top:10px;display:inline;cursor:move;}.dashboard .edit{position:absolute;right:40px;top:-17px;}.dashboard .delete{position:absolute;right:10px;top:-17px;}.dashboard .toggle{position:absolute;left:12px;top:-10px;background-image:url(arrows.png);background-position:0 0;width:18px;height:10px;}.dashboard .toggle.close{background-position:0 100%;}.dashboard div.close .liste{display:none;}.dashboard .b-c{width:960px !important;height:auto !important;}.contextMenu{border:1px solid #000;float:left;position:absolute;display:none;z-index:100000;}.contextMenu li{border-bottom:1px solid #ccc;padding:12px;padding-left:20px;padding-right:20px;list-style-type:none;background:#fff;height:12px;}.contextMenu li:hover{background:#ccc;}.contextMenu li a:hover{text-decoration:none;}.contextMenu li img{margin:5px;margin-right:7px;vertical-align:middle;float:none;}.contextMenu li.head{background:#666b74;font-weight:bold;color:#fff;text-align:center;border-bottom:1px solid #000;}.ac_results{background:#fff;border:1px solid #acacac;color:#666;padding:2px;z-index:100000 !important;}.ac_results li{cursor:pointer;padding:2px;margin:1px;list-style-type:none;}.ac_results li:hover,.ac_over{background:#4e535e;color:#fff;}.ac_results iframe{display:none;}#traduction div table td{padding:5px;background:#dbdde2;color:#333;vertical-align:top;}#traduction div table .odd td{background:#ecedf0;}#traduction div table .save td{background-color:#4e535b;background-image:url(b-h.png);background-repeat:repeat-x;}.error{border:1px solid #f00;}#uploaderContainer{width:970px;height:50px;}.gris{background-color:#ecedf0;}
\ No newline at end of file
diff --git a/style/ws/merged-b27ad5.css b/style/ws/merged-b27ad5.css
new file mode 100644 (file)
index 0000000..1e2071a
--- /dev/null
@@ -0,0 +1 @@
+*,body,html{padding:0;margin:0;}body,html{height:100%;}img{border:0;}hr{border:0;border-bottom:1px solid #ccc;}table{border-collapse:collapse;empty-cells:show;}input[type='checkbox'],input[type='radio']{margin:3px;margin-bottom:3px;}a:focus{-moz-outline:0px dotted !important;}.right{text-align:right !important;}.left{text-align:left !important;}.center{text-align:center !important;}.middle{vertical-align:middle !important;}.top{vertical-align:top !important;}.bottom{vertical-align:bottom !important;}.baseline{vertical-align:baseline !important;}.fullscreen{width:100%;height:100%;}.clear{clear:both;}.block{display:block;}.no-float{float:none !important;}.auto{width:auto !important;height:auto !important;}.wauto{width:auto !important;}.hauto{height:auto !important;}.max{width:100%}.hmax{height:100%;}.min{width:1px;}.hmin{height:1px;}.nowrap{white-space:nowrap;}.nomargin{padding:0;margin:0;}.hide{display:none;}.pemail{visibility:hidden;}.strong{font-weight:bold;}.popupOverlay{opacity:0;position:fixed;display:none;top:0px;left:0px;width:100%;height:100%;}.popupWindow{display:none;opacity:1;position:fixed;}#multimulti_0{display:inline;}textarea.markitup{width:640px;height:400px;}.contextMenu{border:1px solid #000;float:left;position:absolute;display:none;z-index:100000;}.contextMenu li{border-bottom:1px solid #ccc;padding:5px;list-style-type:none;background:#fff;}.contextMenu li:hover{background:#ccc;}.contextMenu li a:hover{text-decoration:none;}.contextMenu li img{margin:5px;margin-right:7px;vertical-align:middle;float:none;}.contextMenu li.head{background:#ccc;font-weight:bold;color:#000;text-align:center;border-bottom:1px solid #000;}body{height:auto;}body,table{font-family:Verdana;font-size:12px;color:#fff;}a{color:#da4f24;text-decoration:underline;}a:hover{text-decoration:none;}abbr{cursor:help;border-bottom:1px dotted #fff;}td{height:30px;color:#333;}input[type="text"],input[type="password"],select,textarea{color:#666;font-family:Verdana;font-size:12px;}.message{text-align:center;font-size:11px;color:#da4f24;background:#fff;}.closePopup img{margin-top:4px;}.content{width:990px;margin:0 auto;position:relative;}#header{height:94px;background:url(bg-header.png) repeat-x;position:relative;}#logo{position:absolute;top:11px;}#welcome{position:absolute;top:25px;right:10px;font-size:11px;}#welcome.with-search{right:250px;}#search{background:url(search.png) no-repeat;width:229px;height:28px;position:absolute;right:10px;top:20px;}#search input{background:none;border:none;width:180px;position:absolute;top:7px;left:10px;color:#fff;}#search a{margin-left:5px;position:absolute;top:2px;right:3px;}#footer{height:5px;background:#2a303a;overflow:hidden;}#main{background:url(bg-page.png) repeat-x #dbdde2;position:relative;height:439px;padding-top:13px;padding-bottom:30px;}#logo-main{position:fixed;background:url(bg-logo.png) no-repeat;top:180px;left:0px;width:289px;height:419px;}#nav{height:31px;position:absolute;top:63px;width:960px;}#nav a{display:block;float:left;background-position:top left;width:119px;height:31px;margin-right:1px;text-indent:-6667px;}#nav a:hover{background-position:bottom left;}#nav a.active{background-position:bottom left;}.b{margin:0 auto;}.b-c{overflow:hidden;}.b-c>div{background:#fff;}.b-c>div table{width:100%;}.b-nw{background:url(b-nw.png) no-repeat transparent;}.b-n{background:url(b-n.png) repeat-x;}.b-ne{background:url(b-ne.png) no-repeat transparent;}.b-w{background:url(b-w.png) repeat-y transparent;}.b-e{background:url(b-e.png) repeat-y top right transparent;}.b-sw{background:url(b-sw.png) no-repeat bottom left transparent;}.b-s{background:url(b-s.png) repeat-x;}.b-se{background:url(b-se.png) no-repeat transparent;}.b-nw,.b-sw,.b-w{width:12px;max-width:12px;min-width:12px;}.b-ne,.b-se,.b-e{width:11px;max-width:11px;min-width:11px;}.b-n,.b-ne,.b-nw{height:11px;max-height:11px;min-height:11px;}.b-s,.b-se,.b-sw{height:10px;max-height:10px;min-height:10px;}.b-n,.b-s{width:auto;}.b-e,.b-w{height:auto;}.popupOverlay{background:#666;opacity:0;position:fixed;display:none;top:0px;left:0px;width:100%;height:100%;}.popupWindow{display:none;opacity:1;position:fixed;}.popupWindow .close{position:absolute;top:15px;right:15px;}.liste{width:100% !important;min-width:960px;}.liste.form{width:auto !important;min-width:0px !important;}.form th,.form td,.liste th,.liste td{text-align:left;border-bottom:1px solid #fff;font-weight:normal;padding-left:10px;padding-right:10px;}.form th,.form h1,.liste th,.liste h1{color:#fff;font-size:11px;height:31px;font-weight:normal;vertical-align:middle;background:url(b-h.png) repeat-x;padding-left:10px;}.form h1{padding-top:8px;height:22px;}.form td{background:#fff;}.liste td{color:#333;background:#dbdde2;vertical-align:middle;}.form tr.odd td,.liste tr.odd td{background:#ecedf0;}.liste tr.bold td{font-weight:bold;}.liste td.we{background:#DBDDE2 !important;}.liste td.filled,.liste td.highlight,.liste th.highlight{background:#da4f24 !important;}.liste .action{width:1px;}.liste th a{color:#fff;text-decoration:none;font-weight:bold;}.liste th a:hover{text-decoration:underline;}.form td a img,.liste td a img{margin-top:4px;}.listeTimereport input[type="text"]{width:12px;text-align:center;font-size:10px;}.listeTimereport td,.listeTimereport th{padding-left:4px;padding-right:4px;width:16px;}.listeTimereport th .spacer{float:left;}.listeTimereport .normal{text-align:left;vertical-align:middle;padding-left:10px;padding-right:10px;width:auto;}.listeTimereport .info{width:30px;}#devisTop{background:url(../images/devis.png) top left;width:960px;height:500px;}#devisMiddle{background:url(bg-document.png);width:960px;}#devisBottom{background:url(../images/devis.png) bottom left;width:960px;height:300px;}#factureAdresse,#devisAdresse{position:absolute;top:180px;left:520px;height:165px;width:360px;padding:0px;}#factureAdresse input[type="text"],#devisAdresse input[type="text"]{width:100%;}#factureAdresseDisplay,#devisAdresseDisplay{font-size:20px;padding:20px;position:relative;min-height:150px;}#factureAdresseDisplay .tva{font-size:12px;}#factureAdresse .edit,#devisAdresse .edit{position:absolute;top:20px;right:20px;}#devisTitre{position:absolute;left:56px;top:231px;width:411px;height:184px;}#devisLignes{margin-left:30px;}#devisMail{padding:30px;margin-top:30px;border-top:2px solid #000;}#devisMail td{color:#000 !important;}.pager-holder{padding:10px;padding-bottom:0px;float:none;}.pager{text-align:center;}.pager a,.pager strong{padding:2px;height:10px;font-weight:bold;}.pager a{text-decoration:none;}.pager a:hover{text-decoration:none;}.pager.pgleft a{background:#ecedf0;border:1px solid #d9e3ef;color:#5D626A;}.pager.pgleft a:hover,.pager.pgleft strong{background:#ffc600 url(pager-left-active.png) repeat-x bottom left;border:1px solid #ff9d00;color:#7F5500;}.formParPage{padding:5px;float:right;}#bar{background:url(bg-bar.png) repeat-x #fff bottom left;}#bar.vide{height:16px;}#bar .content{height:50px;}.shortcut .note{color:#333;padding:10px;}.shortcut{float:left;margin-left:5px;margin-top:10px;}.filtre{color:#5f6162;width:160px;float:left;margin-left:10px;padding-top:1px;position:relative;}.filtre span{font-size:9px;color:#5f6162;margin-left:5px;cursor:pointer;}.filtre .bt{position:absolute;top:2px;right:3px;width:155px;height:18px;}.filtre .input{width:135px;height:23px;background-image:url(filtres.png);background-repeat:no-repeat;padding:5px;padding-right:20px;margin-left:5px;position:relative;}.filtre .input.active{font-weight:bold;}.filtre ul{display:none;position:absolute;top:36px;left:5px;z-index:20;width:160px;cursor:pointer;}.filtre .input span{font-size:12px;}.filtre ul li.first{padding-top:2px;}.filtre ul li{list-style-type:none;padding-left:20px;background-image:url(filtre-list-m.png);}.filtre ul li.last{background-image:url(filtre-list-b.png);background-position:0 100%;padding-bottom:5px;}.filtre ul li.all{display:none;}.efface_filtres{padding-right:20px;padding-top:10px;float:right;}.dashboard{position:relative;margin-bottom:10px;}.dashboard .caption{position:relative;left:20px;top:10px;display:inline;cursor:move;}.dashboard .edit{position:absolute;right:40px;top:-17px;}.dashboard .delete{position:absolute;right:10px;top:-17px;}.dashboard .toggle{position:absolute;left:12px;top:-10px;background-image:url(arrows.png);background-position:0 0;width:18px;height:10px;}.dashboard .toggle.close{background-position:0 100%;}.dashboard div.close .liste{display:none;}.dashboard .b-c{width:960px !important;height:auto !important;}.contextMenu{border:1px solid #000;float:left;position:absolute;display:none;z-index:100000;}.contextMenu li{border-bottom:1px solid #ccc;padding:12px;padding-left:20px;padding-right:20px;list-style-type:none;background:#fff;height:12px;}.contextMenu li:hover{background:#ccc;}.contextMenu li a:hover{text-decoration:none;}.contextMenu li img{margin:5px;margin-right:7px;vertical-align:middle;float:none;}.contextMenu li.head{background:#666b74;font-weight:bold;color:#fff;text-align:center;border-bottom:1px solid #000;}.ac_results{background:#fff;border:1px solid #acacac;color:#666;padding:2px;z-index:100000 !important;}.ac_results li{cursor:pointer;padding:2px;margin:1px;list-style-type:none;}.ac_results li:hover,.ac_over{background:#4e535e;color:#fff;}.ac_results iframe{display:none;}#traduction div table td{padding:5px;background:#dbdde2;color:#333;vertical-align:top;}#traduction div table .odd td{background:#ecedf0;}#traduction div table .save td{background-color:#4e535b;background-image:url(b-h.png);background-repeat:repeat-x;}.error{border:1px solid #f00;}
\ No newline at end of file
diff --git a/style/ws/pager-left-active.png b/style/ws/pager-left-active.png
new file mode 100644 (file)
index 0000000..27c5412
Binary files /dev/null and b/style/ws/pager-left-active.png differ
diff --git a/style/ws/pager-left.png b/style/ws/pager-left.png
new file mode 100644 (file)
index 0000000..7da4520
Binary files /dev/null and b/style/ws/pager-left.png differ
diff --git a/style/ws/search.png b/style/ws/search.png
new file mode 100644 (file)
index 0000000..9ffa4bd
Binary files /dev/null and b/style/ws/search.png differ
diff --git a/style/ws/style.css b/style/ws/style.css
new file mode 100644 (file)
index 0000000..08706c8
--- /dev/null
@@ -0,0 +1,432 @@
+body{\r
+       height:auto;\r
+       background:#d0d2c5;\r
+}\r
+\r
+body,table{\r
+       font-family:Verdana;\r
+       font-size:12px;\r
+       color:#797d62;\r
+}\r
+\r
+a{\r
+       color:#f54d00;\r
+       text-decoration:underline;\r
+}\r
+\r
+a:hover{\r
+       text-decoration:none;\r
+}\r
+\r
+abbr{cursor:help;border-bottom:1px dotted #797D62;}\r
+\r
+td{height:30px;}\r
+\r
+input[type="text"],input[type="password"],select,textarea{\r
+       color:#797D62;\r
+       font-family:Verdana;\r
+       font-size:12px;\r
+}\r
+\r
+.message{text-align:center;font-size:11px;color:#da4f24;background:#fff;}\r
+.closePopup img{margin-top:4px;}\r
+\r
+.content{\r
+       width:990px;\r
+       margin:0 auto;\r
+       position:relative;\r
+}\r
+.big .liste{width:1180px !important;}\r
+.big .liste td{font-size:11px !important;padding-left:5px;padding-right:5px;}\r
+.big .liste th{padding-left:5px;padding-right:5px;}\r
+.big .content{width:1210px;}\r
+\r
+#header{\r
+       height:94px;\r
+       background:url(bg-header.png) repeat-x;\r
+       position:relative;\r
+}\r
+\r
+#logo{\r
+       position:absolute;\r
+       top:11px;\r
+}\r
+\r
+#welcome{\r
+       position:absolute;\r
+       top:25px;\r
+       right:10px;\r
+       font-size:11px;\r
+       color:#fff;\r
+}\r
+\r
+#welcome.with-search{\r
+       right:250px;\r
+}\r
+\r
+#search{\r
+       background:url(search.png) no-repeat;\r
+       width:229px;\r
+       height:28px;\r
+       position:absolute;\r
+       right:10px;\r
+       top:20px;\r
+}\r
+\r
+#search input{\r
+       background:none;\r
+       border:none;\r
+       width:180px;\r
+       position:absolute;\r
+       top:7px;\r
+       left:10px;\r
+       color:#fff;\r
+}\r
+\r
+#search a{\r
+       margin-left:5px;\r
+       position:absolute;\r
+       top:2px;\r
+       right:3px;\r
+}\r
+\r
+#footer{\r
+       display:none;\r
+}\r
+\r
+#main{\r
+       background:url(bg-page.png) repeat-x #d0d2c5 ;\r
+       position:relative;\r
+       height:439px;\r
+       padding-top:13px;\r
+       padding-bottom:30px;\r
+}\r
+\r
+#logo-main{\r
+       /*position:fixed;\r
+       background:url(bg-logo.png) no-repeat;\r
+       top:180px;\r
+       left:0px;\r
+       width:289px;\r
+       height:419px;*/\r
+}\r
+\r
+#nav{\r
+       height:31px;\r
+       position:absolute;\r
+       top:63px;\r
+       width:960px;\r
+}\r
+\r
+#nav a{\r
+       display:block;\r
+       float:left;\r
+       background-position:top left;\r
+       width:119px;\r
+       height:31px;\r
+       margin-right:1px;\r
+       text-indent:-6667px;\r
+}\r
+\r
+#nav a:hover{\r
+       background-position:bottom left;\r
+}\r
+\r
+#nav a.active{\r
+       background-position:bottom left;\r
+}\r
+\r
+\r
+/* Cadre */\r
+.b{margin:0 auto;}\r
+.b-c{overflow:hidden;}\r
+.b-c>div{background:#fff;}\r
+.b-c>div table{width:100%;}\r
+.b-nw{background:url(b-nw.png) no-repeat transparent;}\r
+.b-n{background:url(b-n.png) repeat-x;}\r
+.b-ne{background:url(b-ne.png) no-repeat  transparent;}\r
+.b-w{background:url(b-w.png) repeat-y transparent;}\r
+.b-e{background:url(b-e.png) repeat-y top right transparent;}\r
+.b-sw{background:url(b-sw.png) no-repeat bottom left transparent;}\r
+.b-s{background:url(b-s.png) repeat-x;}\r
+.b-se{background:url(b-se.png) no-repeat transparent;}\r
+\r
+.b-nw, .b-sw, .b-w{width:12px;max-width:12px;min-width:12px;}\r
+.b-ne, .b-se, .b-e{width:11px;max-width:11px;min-width:11px;}\r
+.b-n, .b-ne, .b-nw{height:11px;max-height:11px;min-height:11px;}\r
+.b-s, .b-se, .b-sw{height:10px;max-height:10px;min-height:10px;}\r
+.b-n, .b-s{width:auto;}\r
+.b-e, .b-w{height:auto;}\r
+\r
+.popupOverlay{background:#a8aa95;opacity:0;position:fixed;display:none;top:0px;left:0px;width:100%;height:100%;}\r
+.popupWindow{display:none;opacity:1;position:fixed;}\r
+/*.popupWindow>table{width:600px;}*/\r
+.popupWindow .close{position:absolute;top:15px;right:15px;}\r
+\r
+/* Tableaux */\r
+.liste{width:100% !important;min-width:960px;}\r
+.liste.light{width:100% !important;min-width:0px !important;}\r
+.liste.form{width:auto !important;min-width:0px !important;}\r
+.form h2,.form th,.form td,.liste th, .liste td{text-align:left;border-bottom:1px solid #fff;font-weight:normal;padding-left:10px;padding-right:10px;font-size:12px;min-height:50px;height:38px;}\r
+.form th,.form h1,.liste th,.liste h1{font-size:12px;height:31px;font-weight:bold;vertical-align:middle;background:#fff;padding-left:10px;}\r
+.form tr.big th{height:40px;}\r
+.form h1,.form h2{padding-top:6px;height:26px;}\r
+.form td{background:#fff;}\r
+.form h2,.liste td{background:#eaeaea;vertical-align:middle;}\r
+.form tr.odd td,.liste tr.odd td{background:#f4f4f4;}\r
+.liste td.bouton{padding-left:0px;padding-right:5px;}\r
+\r
+.form tr.light th,.liste tr.light th{\r
+       font-size:12px;background:#fff;height:22px;\r
+       border-bottom:1px solid #707070;\r
+       margin-bottom:1px;\r
+       padding-left:3px;\r
+}\r
+\r
+\r
+.liste tr.bold td{font-weight:bold;}\r
+.liste td.we{background:#e3e3e3 !important;}\r
+.liste td.filled,.liste td.highlight, .liste th.highlight{background:#9abf0c !important;}\r
+.liste .action{width:1px;}\r
+.liste th a{color:#797D62;text-decoration:none;font-weight:bold;}\r
+.liste th a:hover{text-decoration:underline;}\r
+\r
+.form td a img, .liste td a img{margin-top:4px;}\r
+\r
+.listeTimereport input[type="text"]{width:12px;text-align:center;font-size:10px;margin:2px;}\r
+.listeTimereport td, .listeTimereport th{padding-left:4px;padding-right:4px;width:16px;}\r
+.listeTimereport th .spacer{float:left;}\r
+.listeTimereport .normal{text-align:left;vertical-align:middle;padding-left:10px;padding-right:10px;width:auto;}\r
+.listeTimereport .info{width:30px;}\r
+.listeTimereport tr.bold td{border-top:1px solid #4e555c;}\r
+\r
+#devisTop{background:url(../images/devis.png) top left;width:960px;height:500px;}\r
+#devisMiddle{background:url(bg-document.png);width:960px;padding-bottom:20px;}\r
+#devisBottom{background:url(../images/devis.png) bottom left;width:960px;height:300px;}\r
+#factureAdresse,#devisAdresse{position:absolute;top:180px;left:520px;height:165px;width:360px;padding:0px;}\r
+#factureAdresse input[type="text"],#devisAdresse input[type="text"]{width:100%;}\r
+#factureAdresseDisplay,#devisAdresseDisplay{font-size:20px;padding:20px;position:relative;min-height:150px;}\r
+#factureAdresseDisplay .tva{font-size:12px;}\r
+#factureAdresse .edit,#devisAdresse .edit{position:absolute;top:20px;right:20px;}\r
+#devisTitre{position:absolute;left:56px;top:231px;width:411px;height:184px;}\r
+#devisLignes{padding-top:20px;}\r
+.devisLigne{border:1px #9aa2ae dashed;cursor:move;margin-top:20px;margin-left:20px;margin-right:20px;}\r
+.devisLigneLeft{width:700px;padding:20px;}\r
+.devisLigneRight{width:120px;float:right;text-align:center;padding:20px;}\r
+\r
+#devisMail{padding:30px;margin-top:30px;border-top:2px solid #000;}\r
+#devisMail td{color:#000 !important;}\r
+\r
+/* Pagers */\r
+\r
+.pager-holder{\r
+       padding:10px;\r
+       padding-bottom:0px;\r
+       float:none;\r
+}\r
+.pager{\r
+       text-align:center;\r
+}\r
+.pager a, .pager strong{\r
+       padding:2px;\r
+       height:10px;\r
+       font-weight:bold;\r
+}\r
+.pager a{text-decoration:none;}\r
+.pager a:hover{text-decoration:none;}\r
+\r
+/* Pager Left */\r
+.pager.pgleft a{\r
+       background:transparent;\r
+       border:1px solid #9abf0c;\r
+       color:#9abf0c;\r
+}\r
+.pager.pgleft a:hover,\r
+.pager.pgleft strong{\r
+       background:#cce56c url(pager-left-active.png) repeat-x bottom left;\r
+       border:1px solid #9abf0c;\r
+       color:#797d62;\r
+}\r
+\r
+.formParPage{\r
+       padding:5px;\r
+       float:right;\r
+}\r
+\r
+\r
+/* Barre de raccourcis */\r
+#bar{\r
+       background:url(bg-bar.png) repeat-x #fff bottom left;\r
+}\r
+\r
+#bar.vide{\r
+       height:16px;\r
+       background:url(bg-bar-vide.png) repeat-x #fff bottom left;\r
+}\r
+\r
+#bar .content{\r
+       height:60px;\r
+}\r
+\r
+.shortcut .note{color:#333;padding:10px;}\r
+.shortcut{float:left;margin-left:5px;margin-top:3px;}\r
+.shortcut .step{margin-top:5px;}\r
+\r
+/* Filtres */\r
+.filtre{\r
+       color:#5f6162;\r
+       width:160px;\r
+       float:left;\r
+       margin-left:10px;\r
+       padding-top:1px;\r
+       position:relative;\r
+}\r
+.filtre span{\r
+       font-size:9px;\r
+       color:#5f6162;\r
+       margin-left:5px;\r
+       cursor:pointer;\r
+}\r
+.filtre .bt{\r
+       position:absolute;\r
+       top:2px;\r
+       right:3px;\r
+       width:155px;\r
+       height:18px;\r
+}\r
+.filtre .input{\r
+       width:135px;\r
+       height:23px;\r
+       background-image:url(filtres.png);\r
+       background-repeat:no-repeat;\r
+       padding:5px;\r
+       padding-right:20px;\r
+       margin-left:5px;\r
+       position:relative;\r
+}\r
+.filtre .input.active{\r
+       font-weight:bold;\r
+}\r
+.filtre ul{\r
+       display:none;\r
+       position:absolute;\r
+       top:36px;\r
+       left:5px;\r
+       z-index:20;\r
+       width:160px;\r
+       cursor:pointer;\r
+}\r
+\r
+.filtre .input span{\r
+       font-size:12px;\r
+}\r
+.filtre ul li.first{\r
+       padding-top:2px;\r
+}\r
+.filtre ul li{\r
+       list-style-type:none;\r
+       padding-left:20px;\r
+       background-image:url(filtre-list-m.png);\r
+}\r
+.filtre ul li.last{\r
+       background-image:url(filtre-list-b.png);\r
+       background-position:0 100%;\r
+       padding-bottom:5px;\r
+}\r
+.filtre ul li.all{\r
+       display:none;\r
+}\r
+.efface_filtres{padding-right:20px;padding-top:10px;float:right;}\r
+\r
+/* Dashboard */\r
+.dashboard{\r
+       position:relative;\r
+       margin-bottom:10px;\r
+}\r
+.dashboard .caption{\r
+       position:relative;\r
+       left:20px;\r
+       top:10px;\r
+       display:inline;\r
+       cursor:move;\r
+}\r
+\r
+.dashboard .edit{\r
+       position:absolute;\r
+       right:40px;\r
+       top:-17px;\r
+}\r
+\r
+.dashboard .delete{\r
+       position:absolute;\r
+       right:10px;\r
+       top:-17px;\r
+}\r
+\r
+.dashboard .toggle{\r
+       position:absolute;\r
+       left:12px;\r
+       top:-10px;\r
+       background-image:url(arrows.png);\r
+       background-position:0 0;\r
+       width:18px;\r
+       height:10px;\r
+}\r
+\r
+.dashboard .toggle.close{\r
+       background-position:0 100%;\r
+}\r
+\r
+.dashboard div.close .liste{\r
+       display:none;\r
+}\r
+\r
+.dashboard .b-c{\r
+       width:960px !important;\r
+       height:auto !important;\r
+}\r
+\r
+/* Menu Contextuel */\r
+.contextMenu{border:1px solid #000;float:left;position:absolute;display:none;z-index:100000;}\r
+.contextMenu li{border-bottom:1px solid #ccc;padding:12px;padding-left:20px;padding-right:20px;list-style-type:none;background:#fff;height:12px;}\r
+.contextMenu li:hover{background:#ccc;}\r
+.contextMenu li a:hover{text-decoration:none;}\r
+.contextMenu li img{margin:5px;margin-right:7px;vertical-align:middle;float:none;}\r
+.contextMenu li.head{background:#666b74;font-weight:bold;color:#fff;text-align:center;border-bottom:1px solid #000;}\r
+\r
+/* Autocomplete */\r
+.ac_results{\r
+       background:#fff;\r
+       border:1px solid #acacac;\r
+       color:#666;\r
+       padding:2px;\r
+       z-index:100000 !important;\r
+}\r
+\r
+.ac_results li{\r
+       cursor:pointer;\r
+       padding:2px;\r
+       margin:1px;\r
+       list-style-type:none;\r
+}\r
+\r
+.ac_results li:hover, .ac_over{\r
+       background:#4e535e;\r
+       color:#fff;\r
+}\r
+\r
+.ac_results iframe{\r
+display:none;\r
+}\r
+\r
+/* Traduction */\r
+#traduction div table td{padding:5px;background:#dbdde2;color:#333;vertical-align:top;}\r
+#traduction div table .odd td{background:#ecedf0;}\r
+#traduction div table .save td{background-color:#4e535b;background-image:url(b-h.png);background-repeat:repeat-x;}\r
+\r
+/* Erreur */\r
+.error{border:1px solid #f00;}\r
+\r
+#uploaderContainer{width:970px;height:50px;}\r
+\r
+.gris{background-color:#ecedf0;}
\ No newline at end of file
diff --git a/swf/composer.lnk b/swf/composer.lnk
new file mode 100644 (file)
index 0000000..c4071ea
Binary files /dev/null and b/swf/composer.lnk differ
diff --git a/swf/composer.swf b/swf/composer.swf
new file mode 100644 (file)
index 0000000..08d929a
Binary files /dev/null and b/swf/composer.swf differ
diff --git a/swf/uploader.lnk b/swf/uploader.lnk
new file mode 100644 (file)
index 0000000..b8c1867
Binary files /dev/null and b/swf/uploader.lnk differ
diff --git a/swf/uploader.swf b/swf/uploader.swf
new file mode 100644 (file)
index 0000000..87db892
Binary files /dev/null and b/swf/uploader.swf differ
diff --git a/swf/wsComposer.fla b/swf/wsComposer.fla
new file mode 100644 (file)
index 0000000..a8016fb
Binary files /dev/null and b/swf/wsComposer.fla differ
diff --git a/typo/Univers-CondensedBold.ttf b/typo/Univers-CondensedBold.ttf
new file mode 100644 (file)
index 0000000..115535f
Binary files /dev/null and b/typo/Univers-CondensedBold.ttf differ
diff --git a/typo/extranet/Univers-CondensedBold.ttf b/typo/extranet/Univers-CondensedBold.ttf
new file mode 100644 (file)
index 0000000..115535f
Binary files /dev/null and b/typo/extranet/Univers-CondensedBold.ttf differ
diff --git a/typo/extranet/desc.xml b/typo/extranet/desc.xml
new file mode 100644 (file)
index 0000000..ea11477
--- /dev/null
@@ -0,0 +1,354 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<theme>\r
+       <name>CubeExtranet</name>\r
+       <template>\r
+               <name>Onglet</name>\r
+               <width>auto</width>\r
+               <height>auto</height>\r
+               <layer>\r
+                       <name>fond</name>\r
+                       <type>image</type>\r
+                       <file>onglet.png</file>\r
+                       <top>0</top>\r
+                       <left>0</left>\r
+                       <repeat>no-repeat</repeat>\r
+                       <dim>1</dim>\r
+               </layer>\r
+               <layer>\r
+                       <name>texte</name>\r
+                       <type>font</type>\r
+                       <font_family>Univers-CondensedBold.ttf</font_family>\r
+                       <font_size>9.5</font_size>\r
+                       <color>ffffff</color>\r
+                       <top>8</top>\r
+                       <left>auto</left>\r
+                       <bottom>0</bottom>\r
+                       <texte>$texte</texte>\r
+               </layer>\r
+               <layer>\r
+                       <name>texte1</name>\r
+                       <type>font</type>\r
+                       <font_family>Univers-CondensedBold.ttf</font_family>\r
+                       <font_size>9.5</font_size>\r
+                       <color>5f6162</color>\r
+                       <top>41</top>\r
+                       <left>auto</left>\r
+                       <bottom>0</bottom>\r
+                       <texte>$texte</texte>\r
+               </layer>\r
+       </template>\r
+       <template>\r
+               <name>Ajouter</name>\r
+               <width>auto</width>\r
+               <height>30</height>\r
+               <layer>\r
+                       <name>gauche</name>\r
+                       <type>image</type>\r
+                       <file>left-plus.png</file>\r
+                       <top>0</top>\r
+                       <left>0</left>\r
+                       <repeat>no-repeat</repeat>\r
+               </layer>\r
+               <layer>\r
+                       <name>centre</name>\r
+                       <type>image</type>\r
+                       <file>middle.png</file>\r
+                       <top>0</top>\r
+                       <left>32</left>\r
+                       <repeat>repeat-x</repeat>\r
+                       <width>-12</width>\r
+               </layer>\r
+               <layer>\r
+                       <name>droit</name>\r
+                       <type>image</type>\r
+                       <file>right.png</file>\r
+                       <top>0</top>\r
+                       <right>0</right>\r
+                       <repeat>no-repeat</repeat>\r
+               </layer>\r
+               <layer>\r
+                       <name>texte</name>\r
+                       <type>font</type>\r
+                       <font_family>Univers-CondensedBold.ttf</font_family>\r
+                       <font_size>11</font_size>\r
+                       <color>7a560a</color>\r
+                       <top>5</top>\r
+                       <left>33</left>\r
+                       <right>13</right>\r
+                       <dim>1</dim>\r
+                       <texte>$texte</texte>\r
+               </layer>\r
+       </template>\r
+       <template>\r
+               <name>Favoris</name>\r
+               <width>auto</width>\r
+               <height>30</height>\r
+               <layer>\r
+                       <name>gauche</name>\r
+                       <type>image</type>\r
+                       <file>left-star.png</file>\r
+                       <top>0</top>\r
+                       <left>0</left>\r
+                       <repeat>no-repeat</repeat>\r
+               </layer>\r
+               <layer>\r
+                       <name>centre</name>\r
+                       <type>image</type>\r
+                       <file>middle.png</file>\r
+                       <top>0</top>\r
+                       <left>32</left>\r
+                       <repeat>repeat-x</repeat>\r
+                       <width>-12</width>\r
+               </layer>\r
+               <layer>\r
+                       <name>droit</name>\r
+                       <type>image</type>\r
+                       <file>right.png</file>\r
+                       <top>0</top>\r
+                       <right>0</right>\r
+                       <repeat>no-repeat</repeat>\r
+               </layer>\r
+               <layer>\r
+                       <name>texte</name>\r
+                       <type>font</type>\r
+                       <font_family>Univers-CondensedBold.ttf</font_family>\r
+                       <font_size>11</font_size>\r
+                       <color>7a560a</color>\r
+                       <top>5</top>\r
+                       <left>33</left>\r
+                       <right>13</right>\r
+                       <dim>1</dim>\r
+                       <texte>$texte</texte>\r
+               </layer>\r
+       </template>\r
+       <template>\r
+               <name>BoutonOK</name>\r
+               <width>auto</width>\r
+               <height>30</height>\r
+               <layer>\r
+                       <name>gauche</name>\r
+                       <type>image</type>\r
+                       <file>left.png</file>\r
+                       <top>0</top>\r
+                       <left>0</left>\r
+                       <repeat>no-repeat</repeat>\r
+               </layer>\r
+               <layer>\r
+                       <name>centre</name>\r
+                       <type>image</type>\r
+                       <file>middle.png</file>\r
+                       <top>0</top>\r
+                       <left>10</left>\r
+                       <repeat>repeat-x</repeat>\r
+                       <width>-34</width>\r
+               </layer>\r
+               <layer>\r
+                       <name>droit</name>\r
+                       <type>image</type>\r
+                       <file>right-ok.png</file>\r
+                       <top>0</top>\r
+                       <right>0</right>\r
+                       <repeat>no-repeat</repeat>\r
+               </layer>\r
+               <layer>\r
+                       <name>texte</name>\r
+                       <type>font</type>\r
+                       <font_family>Univers-CondensedBold.ttf</font_family>\r
+                       <font_size>11</font_size>\r
+                       <color>7a560a</color>\r
+                       <top>5</top>\r
+                       <left>12</left>\r
+                       <right>36</right>\r
+                       <dim>1</dim>\r
+                       <texte>$texte</texte>\r
+               </layer>\r
+       </template>\r
+       <template>\r
+               <name>Telecharger</name>\r
+               <width>auto</width>\r
+               <height>26</height>\r
+               <layer>\r
+                       <name>gauche</name>\r
+                       <type>image</type>\r
+                       <file>small-l.png</file>\r
+                       <top>2</top>\r
+                       <left>0</left>\r
+                       <repeat>no-repeat</repeat>\r
+               </layer>\r
+               <layer>\r
+                       <name>centre</name>\r
+                       <type>image</type>\r
+                       <file>small-m.png</file>\r
+                       <top>2</top>\r
+                       <left>11</left>\r
+                       <repeat>repeat-x</repeat>\r
+                       <width>-28</width>\r
+               </layer>\r
+               <layer>\r
+                       <name>droit</name>\r
+                       <type>image</type>\r
+                       <file>small-r-download.png</file>\r
+                       <top>2</top>\r
+                       <right>0</right>\r
+                       <repeat>no-repeat</repeat>\r
+               </layer>\r
+               <layer>\r
+                       <name>texte</name>\r
+                       <type>font</type>\r
+                       <font_family>Univers-CondensedBold.ttf</font_family>\r
+                       <font_size>10</font_size>\r
+                       <color>7a560a</color>\r
+                       <top>5</top>\r
+                       <left>14</left>\r
+                       <right>34</right>\r
+                       <dim>1</dim>\r
+                       <texte>$texte</texte>\r
+               </layer>\r
+       </template>\r
+       <template>\r
+               <name>Contact</name>\r
+               <width>auto</width>\r
+               <height>26</height>\r
+               <layer>\r
+                       <name>gauche</name>\r
+                       <type>image</type>\r
+                       <file>small-l-contact.png</file>\r
+                       <top>2</top>\r
+                       <left>0</left>\r
+                       <repeat>no-repeat</repeat>\r
+               </layer>\r
+               <layer>\r
+                       <name>centre</name>\r
+                       <type>image</type>\r
+                       <file>small-m.png</file>\r
+                       <top>2</top>\r
+                       <left>33</left>\r
+                       <repeat>repeat-x</repeat>\r
+                       <width>-12</width>\r
+               </layer>\r
+               <layer>\r
+                       <name>droit</name>\r
+                       <type>image</type>\r
+                       <file>small-r.png</file>\r
+                       <top>2</top>\r
+                       <right>0</right>\r
+                       <repeat>no-repeat</repeat>\r
+               </layer>\r
+               <layer>\r
+                       <name>texte</name>\r
+                       <type>font</type>\r
+                       <font_family>Univers-CondensedBold.ttf</font_family>\r
+                       <font_size>10</font_size>\r
+                       <color>7a560a</color>\r
+                       <top>5</top>\r
+                       <left>34</left>\r
+                       <right>14</right>\r
+                       <dim>1</dim>\r
+                       <texte>$texte</texte>\r
+               </layer>\r
+       </template>\r
+       <template>\r
+               <name>OngletBlanc</name>\r
+               <width>auto</width>\r
+               <height>39</height>\r
+               <layer>\r
+                       <name>gauche</name>\r
+                       <type>image</type>\r
+                       <file>onglet-l.png</file>\r
+                       <top>0</top>\r
+                       <left>0</left>\r
+                       <repeat>no-repeat</repeat>\r
+               </layer>\r
+               <layer>\r
+                       <name>centre</name>\r
+                       <type>image</type>\r
+                       <file>onglet-m.png</file>\r
+                       <top>0</top>\r
+                       <left>12</left>\r
+                       <repeat>repeat-x</repeat>\r
+                       <width>-12</width>\r
+               </layer>\r
+               <layer>\r
+                       <name>droit</name>\r
+                       <type>image</type>\r
+                       <file>onglet-r.png</file>\r
+                       <top>0</top>\r
+                       <right>0</right>\r
+                       <repeat>no-repeat</repeat>\r
+               </layer>\r
+               <layer>\r
+                       <name>texte</name>\r
+                       <type>font</type>\r
+                       <font_family>Univers-CondensedBold.ttf</font_family>\r
+                       <font_size>11</font_size>\r
+                       <color>5f6162</color>\r
+                       <top>13</top>\r
+                       <left>40</left>\r
+                       <right>75</right>\r
+                       <dim>1</dim>\r
+                       <texte>$texte</texte>\r
+                       <upper>1</upper>\r
+               </layer>\r
+       </template>\r
+       <template>\r
+               <name>OngletBlancNoDash</name>\r
+               <width>auto</width>\r
+               <height>39</height>\r
+               <layer>\r
+                       <name>gauche</name>\r
+                       <type>image</type>\r
+                       <file>onglet-l.png</file>\r
+                       <top>0</top>\r
+                       <left>0</left>\r
+                       <repeat>no-repeat</repeat>\r
+               </layer>\r
+               <layer>\r
+                       <name>centre</name>\r
+                       <type>image</type>\r
+                       <file>onglet-m.png</file>\r
+                       <top>0</top>\r
+                       <left>12</left>\r
+                       <repeat>repeat-x</repeat>\r
+                       <width>-12</width>\r
+               </layer>\r
+               <layer>\r
+                       <name>droit</name>\r
+                       <type>image</type>\r
+                       <file>onglet-r.png</file>\r
+                       <top>0</top>\r
+                       <right>0</right>\r
+                       <repeat>no-repeat</repeat>\r
+               </layer>\r
+               <layer>\r
+                       <name>texte</name>\r
+                       <type>font</type>\r
+                       <font_family>Univers-CondensedBold.ttf</font_family>\r
+                       <font_size>11</font_size>\r
+                       <color>5f6162</color>\r
+                       <top>13</top>\r
+                       <left>20</left>\r
+                       <right>20</right>\r
+                       <dim>1</dim>\r
+                       <texte>$texte</texte>\r
+                       <upper>1</upper>\r
+               </layer>\r
+       </template>\r
+       <template>\r
+               <name>Titre</name>\r
+               <width>auto</width>\r
+               <height>auto</height>\r
+               <layer>\r
+                       <name>texte</name>\r
+                       <type>font</type>\r
+                       <font_family>Univers-CondensedBold.ttf</font_family>\r
+                       <font_size>13</font_size>\r
+                       <color>ffffff</color>\r
+                       <top>0</top>\r
+                       <left>0</left>\r
+                       <right>2</right>\r
+                       <bottom>0</bottom>\r
+                       <texte>$texte</texte>\r
+                       <dim>1</dim>\r
+               </layer>\r
+       </template>\r
+</theme>
\ No newline at end of file
diff --git a/typo/extranet/left-plus.png b/typo/extranet/left-plus.png
new file mode 100644 (file)
index 0000000..ca14fa4
Binary files /dev/null and b/typo/extranet/left-plus.png differ
diff --git a/typo/extranet/left-star.png b/typo/extranet/left-star.png
new file mode 100644 (file)
index 0000000..f399891
Binary files /dev/null and b/typo/extranet/left-star.png differ
diff --git a/typo/extranet/left.png b/typo/extranet/left.png
new file mode 100644 (file)
index 0000000..1a58355
Binary files /dev/null and b/typo/extranet/left.png differ
diff --git a/typo/extranet/middle.png b/typo/extranet/middle.png
new file mode 100644 (file)
index 0000000..dc60c73
Binary files /dev/null and b/typo/extranet/middle.png differ
diff --git a/typo/extranet/onglet-l.png b/typo/extranet/onglet-l.png
new file mode 100644 (file)
index 0000000..4a82d01
Binary files /dev/null and b/typo/extranet/onglet-l.png differ
diff --git a/typo/extranet/onglet-m.png b/typo/extranet/onglet-m.png
new file mode 100644 (file)
index 0000000..e10e596
Binary files /dev/null and b/typo/extranet/onglet-m.png differ
diff --git a/typo/extranet/onglet-r.png b/typo/extranet/onglet-r.png
new file mode 100644 (file)
index 0000000..21dcfda
Binary files /dev/null and b/typo/extranet/onglet-r.png differ
diff --git a/typo/extranet/onglet.png b/typo/extranet/onglet.png
new file mode 100644 (file)
index 0000000..5ba9003
Binary files /dev/null and b/typo/extranet/onglet.png differ
diff --git a/typo/extranet/right-ok.png b/typo/extranet/right-ok.png
new file mode 100644 (file)
index 0000000..35d70ea
Binary files /dev/null and b/typo/extranet/right-ok.png differ
diff --git a/typo/extranet/right.png b/typo/extranet/right.png
new file mode 100644 (file)
index 0000000..69c70f5
Binary files /dev/null and b/typo/extranet/right.png differ
diff --git a/typo/extranet/small-l-contact.png b/typo/extranet/small-l-contact.png
new file mode 100644 (file)
index 0000000..ee21d30
Binary files /dev/null and b/typo/extranet/small-l-contact.png differ
diff --git a/typo/extranet/small-l.png b/typo/extranet/small-l.png
new file mode 100644 (file)
index 0000000..9552ae2
Binary files /dev/null and b/typo/extranet/small-l.png differ
diff --git a/typo/extranet/small-m.png b/typo/extranet/small-m.png
new file mode 100644 (file)
index 0000000..43bfd0e
Binary files /dev/null and b/typo/extranet/small-m.png differ
diff --git a/typo/extranet/small-r-download.png b/typo/extranet/small-r-download.png
new file mode 100644 (file)
index 0000000..aa19876
Binary files /dev/null and b/typo/extranet/small-r-download.png differ
diff --git a/typo/extranet/small-r.png b/typo/extranet/small-r.png
new file mode 100644 (file)
index 0000000..56464c1
Binary files /dev/null and b/typo/extranet/small-r.png differ
diff --git a/typo/ws/Univers-CondensedBold.ttf b/typo/ws/Univers-CondensedBold.ttf
new file mode 100644 (file)
index 0000000..115535f
Binary files /dev/null and b/typo/ws/Univers-CondensedBold.ttf differ
diff --git a/typo/ws/delete-left.png b/typo/ws/delete-left.png
new file mode 100644 (file)
index 0000000..63bc00f
Binary files /dev/null and b/typo/ws/delete-left.png differ
diff --git a/typo/ws/desc.xml b/typo/ws/desc.xml
new file mode 100644 (file)
index 0000000..b7dfc71
--- /dev/null
@@ -0,0 +1,694 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<theme>\r
+       <name>CubeExtranet</name>\r
+       <template>\r
+               <name>Onglet</name>\r
+               <width>auto</width>\r
+               <height>auto</height>\r
+               <layer>\r
+                       <name>fond</name>\r
+                       <type>image</type>\r
+                       <file>onglet.png</file>\r
+                       <top>0</top>\r
+                       <left>0</left>\r
+                       <repeat>no-repeat</repeat>\r
+                       <dim>1</dim>\r
+               </layer>\r
+               <layer>\r
+                       <name>texte</name>\r
+                       <type>font</type>\r
+                       <font_family>Univers-CondensedBold.ttf</font_family>\r
+                       <font_size>10</font_size>\r
+                       <color>ffffff</color>\r
+                       <top>8</top>\r
+                       <left>auto</left>\r
+                       <bottom>0</bottom>\r
+                       <texte>$texte</texte>\r
+               </layer>\r
+               <layer>\r
+                       <name>texte1</name>\r
+                       <type>font</type>\r
+                       <font_family>Univers-CondensedBold.ttf</font_family>\r
+                       <font_size>10</font_size>\r
+                       <color>8a8e78</color>\r
+                       <top>41</top>\r
+                       <left>auto</left>\r
+                       <bottom>0</bottom>\r
+                       <texte>$texte</texte>\r
+               </layer>\r
+       </template>\r
+       <template>\r
+               <name>Ajouter</name>\r
+               <width>auto</width>\r
+               <height>44</height>\r
+               <layer>\r
+                       <name>gauche</name>\r
+                       <type>image</type>\r
+                       <file>left-plus.png</file>\r
+                       <top>0</top>\r
+                       <left>0</left>\r
+                       <repeat>no-repeat</repeat>\r
+               </layer>\r
+               <layer>\r
+                       <name>centre</name>\r
+                       <type>image</type>\r
+                       <file>middle.png</file>\r
+                       <top>0</top>\r
+                       <left>46</left>\r
+                       <repeat>repeat-x</repeat>\r
+                       <width>-12</width>\r
+               </layer>\r
+               <layer>\r
+                       <name>droit</name>\r
+                       <type>image</type>\r
+                       <file>right.png</file>\r
+                       <top>0</top>\r
+                       <right>0</right>\r
+                       <repeat>no-repeat</repeat>\r
+               </layer>\r
+               <layer>\r
+                       <name>texte</name>\r
+                       <type>font</type>\r
+                       <font_family>Univers-CondensedBold.ttf</font_family>\r
+                       <font_size>14</font_size>\r
+                       <color>989b85</color>\r
+                       <top>14</top>\r
+                       <left>53</left>\r
+                       <right>15</right>\r
+                       <dim>1</dim>\r
+                       <texte>$texte</texte>\r
+               </layer>\r
+       </template>\r
+       <template>\r
+               <name>BoutonOK</name>\r
+               <width>auto</width>\r
+               <height>44</height>\r
+               <layer>\r
+                       <name>gauche</name>\r
+                       <type>image</type>\r
+                       <file>left-plus.png</file>\r
+                       <top>0</top>\r
+                       <left>0</left>\r
+                       <repeat>no-repeat</repeat>\r
+               </layer>\r
+               <layer>\r
+                       <name>centre</name>\r
+                       <type>image</type>\r
+                       <file>middle.png</file>\r
+                       <top>0</top>\r
+                       <left>46</left>\r
+                       <repeat>repeat-x</repeat>\r
+                       <width>-12</width>\r
+               </layer>\r
+               <layer>\r
+                       <name>droit</name>\r
+                       <type>image</type>\r
+                       <file>right.png</file>\r
+                       <top>0</top>\r
+                       <right>0</right>\r
+                       <repeat>no-repeat</repeat>\r
+               </layer>\r
+               <layer>\r
+                       <name>texte</name>\r
+                       <type>font</type>\r
+                       <font_family>Univers-CondensedBold.ttf</font_family>\r
+                       <font_size>14</font_size>\r
+                       <color>989b85</color>\r
+                       <top>14</top>\r
+                       <left>53</left>\r
+                       <right>15</right>\r
+                       <dim>1</dim>\r
+                       <texte>$texte</texte>\r
+               </layer>\r
+       </template>\r
+       <template>\r
+               <name>Editer</name>\r
+               <width>auto</width>\r
+               <height>54</height>\r
+               <layer>\r
+                       <name>gauche</name>\r
+                       <type>image</type>\r
+                       <file>edit-left.png</file>\r
+                       <top>0</top>\r
+                       <left>0</left>\r
+                       <repeat>no-repeat</repeat>\r
+               </layer>\r
+               <layer>\r
+                       <name>centre</name>\r
+                       <type>image</type>\r
+                       <file>ws-middle.png</file>\r
+                       <top>0</top>\r
+                       <left>24</left>\r
+                       <repeat>repeat-x</repeat>\r
+                       <width>-7</width>\r
+               </layer>\r
+               <layer>\r
+                       <name>droit</name>\r
+                       <type>image</type>\r
+                       <file>ws-right.png</file>\r
+                       <top>0</top>\r
+                       <right>0</right>\r
+                       <repeat>no-repeat</repeat>\r
+               </layer>\r
+               <layer>\r
+                       <name>texte</name>\r
+                       <type>font</type>\r
+                       <upper>1</upper>\r
+                       <font_family>Univers-CondensedBold.ttf</font_family>\r
+                       <font_size>8.5</font_size>\r
+                       <color>989b85</color>\r
+                       <top>6</top>\r
+                       <left>24</left>\r
+                       <right>7</right>\r
+                       <dim>1</dim>\r
+                       <texte>$texte</texte>\r
+               </layer>\r
+               <layer>\r
+                       <name>texte1</name>\r
+                       <type>font</type>\r
+                       <upper>1</upper>\r
+                       <font_family>Univers-CondensedBold.ttf</font_family>\r
+                       <font_size>8.5</font_size>\r
+                       <color>989b85</color>\r
+                       <top>34</top>\r
+                       <left>24</left>\r
+                       <right>7</right>\r
+                       <texte>$texte</texte>\r
+               </layer>\r
+       </template>\r
+       <template>\r
+               <name>Voir</name>\r
+               <width>auto</width>\r
+               <height>54</height>\r
+               <layer>\r
+                       <name>gauche</name>\r
+                       <type>image</type>\r
+                       <file>see-left.png</file>\r
+                       <top>0</top>\r
+                       <left>0</left>\r
+                       <repeat>no-repeat</repeat>\r
+               </layer>\r
+               <layer>\r
+                       <name>centre</name>\r
+                       <type>image</type>\r
+                       <file>ws-middle.png</file>\r
+                       <top>0</top>\r
+                       <left>24</left>\r
+                       <repeat>repeat-x</repeat>\r
+                       <width>-7</width>\r
+               </layer>\r
+               <layer>\r
+                       <name>droit</name>\r
+                       <type>image</type>\r
+                       <file>ws-right.png</file>\r
+                       <top>0</top>\r
+                       <right>0</right>\r
+                       <repeat>no-repeat</repeat>\r
+               </layer>\r
+               <layer>\r
+                       <name>texte</name>\r
+                       <type>font</type>\r
+                       <upper>1</upper>\r
+                       <font_family>Univers-CondensedBold.ttf</font_family>\r
+                       <font_size>8.5</font_size>\r
+                       <color>989b85</color>\r
+                       <top>6</top>\r
+                       <left>24</left>\r
+                       <right>7</right>\r
+                       <dim>1</dim>\r
+                       <texte>$texte</texte>\r
+               </layer>\r
+               <layer>\r
+                       <name>texte1</name>\r
+                       <type>font</type>\r
+                       <upper>1</upper>\r
+                       <font_family>Univers-CondensedBold.ttf</font_family>\r
+                       <font_size>8.5</font_size>\r
+                       <color>989b85</color>\r
+                       <top>34</top>\r
+                       <left>24</left>\r
+                       <right>7</right>\r
+                       <texte>$texte</texte>\r
+               </layer>\r
+       </template>\r
+       <template>\r
+               <name>Telecharger</name>\r
+               <width>auto</width>\r
+               <height>54</height>\r
+               <layer>\r
+                       <name>gauche</name>\r
+                       <type>image</type>\r
+                       <file>download-left.png</file>\r
+                       <top>0</top>\r
+                       <left>0</left>\r
+                       <repeat>no-repeat</repeat>\r
+               </layer>\r
+               <layer>\r
+                       <name>centre</name>\r
+                       <type>image</type>\r
+                       <file>ws-middle.png</file>\r
+                       <top>0</top>\r
+                       <left>24</left>\r
+                       <repeat>repeat-x</repeat>\r
+                       <width>-7</width>\r
+               </layer>\r
+               <layer>\r
+                       <name>droit</name>\r
+                       <type>image</type>\r
+                       <file>ws-right.png</file>\r
+                       <top>0</top>\r
+                       <right>0</right>\r
+                       <repeat>no-repeat</repeat>\r
+               </layer>\r
+               <layer>\r
+                       <name>texte</name>\r
+                       <type>font</type>\r
+                       <upper>1</upper>\r
+                       <font_family>Univers-CondensedBold.ttf</font_family>\r
+                       <font_size>8.5</font_size>\r
+                       <color>989b85</color>\r
+                       <top>6</top>\r
+                       <left>24</left>\r
+                       <right>7</right>\r
+                       <dim>1</dim>\r
+                       <texte>$texte</texte>\r
+               </layer>\r
+               <layer>\r
+                       <name>texte1</name>\r
+                       <type>font</type>\r
+                       <upper>1</upper>\r
+                       <font_family>Univers-CondensedBold.ttf</font_family>\r
+                       <font_size>8.5</font_size>\r
+                       <color>989b85</color>\r
+                       <top>34</top>\r
+                       <left>24</left>\r
+                       <right>7</right>\r
+                       <texte>$texte</texte>\r
+               </layer>\r
+       </template>\r
+       <template>\r
+               <name>Supprimer</name>\r
+               <width>auto</width>\r
+               <height>54</height>\r
+               <layer>\r
+                       <name>gauche</name>\r
+                       <type>image</type>\r
+                       <file>delete-left.png</file>\r
+                       <top>0</top>\r
+                       <left>0</left>\r
+                       <repeat>no-repeat</repeat>\r
+               </layer>\r
+               <layer>\r
+                       <name>centre</name>\r
+                       <type>image</type>\r
+                       <file>ws-middle.png</file>\r
+                       <top>0</top>\r
+                       <left>24</left>\r
+                       <repeat>repeat-x</repeat>\r
+                       <width>-7</width>\r
+               </layer>\r
+               <layer>\r
+                       <name>droit</name>\r
+                       <type>image</type>\r
+                       <file>ws-right.png</file>\r
+                       <top>0</top>\r
+                       <right>0</right>\r
+                       <repeat>no-repeat</repeat>\r
+               </layer>\r
+               <layer>\r
+                       <name>texte</name>\r
+                       <type>font</type>\r
+                       <upper>1</upper>\r
+                       <font_family>Univers-CondensedBold.ttf</font_family>\r
+                       <font_size>8.5</font_size>\r
+                       <color>989b85</color>\r
+                       <top>6</top>\r
+                       <left>24</left>\r
+                       <right>7</right>\r
+                       <dim>1</dim>\r
+                       <texte>$texte</texte>\r
+               </layer>\r
+               <layer>\r
+                       <name>texte1</name>\r
+                       <type>font</type>\r
+                       <upper>1</upper>\r
+                       <font_family>Univers-CondensedBold.ttf</font_family>\r
+                       <font_size>8.5</font_size>\r
+                       <color>989b85</color>\r
+                       <top>34</top>\r
+                       <left>24</left>\r
+                       <right>7</right>\r
+                       <texte>$texte</texte>\r
+               </layer>\r
+       </template>\r
+       <template>\r
+               <name>Stats</name>\r
+               <width>auto</width>\r
+               <height>54</height>\r
+               <layer>\r
+                       <name>gauche</name>\r
+                       <type>image</type>\r
+                       <file>stats-left.png</file>\r
+                       <top>0</top>\r
+                       <left>0</left>\r
+                       <repeat>no-repeat</repeat>\r
+               </layer>\r
+               <layer>\r
+                       <name>centre</name>\r
+                       <type>image</type>\r
+                       <file>ws-middle.png</file>\r
+                       <top>0</top>\r
+                       <left>24</left>\r
+                       <repeat>repeat-x</repeat>\r
+                       <width>-7</width>\r
+               </layer>\r
+               <layer>\r
+                       <name>droit</name>\r
+                       <type>image</type>\r
+                       <file>ws-right.png</file>\r
+                       <top>0</top>\r
+                       <right>0</right>\r
+                       <repeat>no-repeat</repeat>\r
+               </layer>\r
+               <layer>\r
+                       <name>texte</name>\r
+                       <type>font</type>\r
+                       <upper>1</upper>\r
+                       <font_family>Univers-CondensedBold.ttf</font_family>\r
+                       <font_size>8.5</font_size>\r
+                       <color>989b85</color>\r
+                       <top>6</top>\r
+                       <left>24</left>\r
+                       <right>7</right>\r
+                       <dim>1</dim>\r
+                       <texte>$texte</texte>\r
+               </layer>\r
+               <layer>\r
+                       <name>texte1</name>\r
+                       <type>font</type>\r
+                       <upper>1</upper>\r
+                       <font_family>Univers-CondensedBold.ttf</font_family>\r
+                       <font_size>8.5</font_size>\r
+                       <color>989b85</color>\r
+                       <top>34</top>\r
+                       <left>24</left>\r
+                       <right>7</right>\r
+                       <texte>$texte</texte>\r
+               </layer>\r
+       </template>\r
+       <template>\r
+               <name>OngletBlanc</name>\r
+               <width>auto</width>\r
+               <height>39</height>\r
+               <layer>\r
+                       <name>gauche</name>\r
+                       <type>image</type>\r
+                       <file>onglet-l.png</file>\r
+                       <top>0</top>\r
+                       <left>0</left>\r
+                       <repeat>no-repeat</repeat>\r
+               </layer>\r
+               <layer>\r
+                       <name>centre</name>\r
+                       <type>image</type>\r
+                       <file>onglet-m.png</file>\r
+                       <top>0</top>\r
+                       <left>12</left>\r
+                       <repeat>repeat-x</repeat>\r
+                       <width>-12</width>\r
+               </layer>\r
+               <layer>\r
+                       <name>droit</name>\r
+                       <type>image</type>\r
+                       <file>onglet-r.png</file>\r
+                       <top>0</top>\r
+                       <right>0</right>\r
+                       <repeat>no-repeat</repeat>\r
+               </layer>\r
+               <layer>\r
+                       <name>texte</name>\r
+                       <type>font</type>\r
+                       <font_family>Univers-CondensedBold.ttf</font_family>\r
+                       <font_size>11</font_size>\r
+                       <color>989b85</color>\r
+                       <top>13</top>\r
+                       <left>40</left>\r
+                       <right>75</right>\r
+                       <dim>1</dim>\r
+                       <texte>$texte</texte>\r
+                       <upper>1</upper>\r
+               </layer>\r
+       </template>\r
+       <template>\r
+               <name>OngletBlancNoDash</name>\r
+               <width>auto</width>\r
+               <height>39</height>\r
+               <layer>\r
+                       <name>gauche</name>\r
+                       <type>image</type>\r
+                       <file>onglet-l.png</file>\r
+                       <top>0</top>\r
+                       <left>0</left>\r
+                       <repeat>no-repeat</repeat>\r
+               </layer>\r
+               <layer>\r
+                       <name>centre</name>\r
+                       <type>image</type>\r
+                       <file>onglet-m.png</file>\r
+                       <top>0</top>\r
+                       <left>12</left>\r
+                       <repeat>repeat-x</repeat>\r
+                       <width>-12</width>\r
+               </layer>\r
+               <layer>\r
+                       <name>droit</name>\r
+                       <type>image</type>\r
+                       <file>onglet-r.png</file>\r
+                       <top>0</top>\r
+                       <right>0</right>\r
+                       <repeat>no-repeat</repeat>\r
+               </layer>\r
+               <layer>\r
+                       <name>texte</name>\r
+                       <type>font</type>\r
+                       <font_family>Univers-CondensedBold.ttf</font_family>\r
+                       <font_size>11</font_size>\r
+                       <color>989b85</color>\r
+                       <top>13</top>\r
+                       <left>20</left>\r
+                       <right>20</right>\r
+                       <dim>1</dim>\r
+                       <texte>$texte</texte>\r
+                       <upper>1</upper>\r
+               </layer>\r
+       </template>\r
+       <template>\r
+               <name>Titre</name>\r
+               <width>auto</width>\r
+               <height>auto</height>\r
+               <layer>\r
+                       <name>texte</name>\r
+                       <type>font</type>\r
+                       <font_family>Univers-CondensedBold.ttf</font_family>\r
+                       <font_size>13</font_size>\r
+                       <color>989b85</color>\r
+                       <top>0</top>\r
+                       <left>0</left>\r
+                       <right>2</right>\r
+                       <bottom>0</bottom>\r
+                       <texte>$texte</texte>\r
+                       <dim>1</dim>\r
+               </layer>\r
+       </template>\r
+       <template>\r
+               <name>Step</name>\r
+               <width>auto</width>\r
+               <height>79</height>\r
+               <layer>\r
+                       <name>gauche</name>\r
+                       <type>image</type>\r
+                       <file>step-left.png</file>\r
+                       <top>0</top>\r
+                       <left>0</left>\r
+                       <repeat>no-repeat</repeat>\r
+               </layer>\r
+               <layer>\r
+                       <name>centre</name>\r
+                       <type>image</type>\r
+                       <file>step-middle.png</file>\r
+                       <top>0</top>\r
+                       <left>10</left>\r
+                       <repeat>repeat-x</repeat>\r
+                       <width>-21</width>\r
+               </layer>\r
+               <layer>\r
+                       <name>droit</name>\r
+                       <type>image</type>\r
+                       <file>step-right-arrow.png</file>\r
+                       <top>0</top>\r
+                       <right>0</right>\r
+                       <repeat>no-repeat</repeat>\r
+               </layer>\r
+               <layer>\r
+                       <name>texte</name>\r
+                       <type>font</type>\r
+\r
+                       <font_family>verdanab.ttf</font_family>\r
+                       <font_size>8.5</font_size>\r
+                       <color>797d62</color>\r
+                       <top>12</top>\r
+                       <left>14</left>\r
+                       <right>20</right>\r
+                       <dim>1</dim>\r
+                       <texte>$texte</texte>\r
+               </layer>\r
+               <layer>\r
+                       <name>texte1</name>\r
+                       <type>font</type>\r
+                       <font_family>verdanab.ttf</font_family>\r
+                       <font_size>8.5</font_size>\r
+                       <color>ffffff</color>\r
+                       <top>53</top>\r
+                       <left>14</left>\r
+                       <right>20</right>\r
+                       <texte>$texte</texte>\r
+               </layer>\r
+       </template>\r
+       <template>\r
+               <name>LastStep</name>\r
+               <width>auto</width>\r
+               <height>79</height>\r
+               <layer>\r
+                       <name>gauche</name>\r
+                       <type>image</type>\r
+                       <file>step-left.png</file>\r
+                       <top>0</top>\r
+                       <left>0</left>\r
+                       <repeat>no-repeat</repeat>\r
+               </layer>\r
+               <layer>\r
+                       <name>centre</name>\r
+                       <type>image</type>\r
+                       <file>step-middle.png</file>\r
+                       <top>0</top>\r
+                       <left>10</left>\r
+                       <repeat>repeat-x</repeat>\r
+                       <width>-10</width>\r
+               </layer>\r
+               <layer>\r
+                       <name>droit</name>\r
+                       <type>image</type>\r
+                       <file>step-right.png</file>\r
+                       <top>0</top>\r
+                       <right>0</right>\r
+                       <repeat>no-repeat</repeat>\r
+               </layer>\r
+               <layer>\r
+                       <name>texte</name>\r
+                       <type>font</type>\r
+                       <font_family>verdanab.ttf</font_family>\r
+                       <font_size>8.5</font_size>\r
+                       <color>797d62</color>\r
+                       <top>12</top>\r
+                       <left>14</left>\r
+                       <right>14</right>\r
+                       <dim>1</dim>\r
+                       <texte>$texte</texte>\r
+               </layer>\r
+               <layer>\r
+                       <name>texte1</name>\r
+                       <type>font</type>\r
+                       <font_family>verdanab.ttf</font_family>\r
+                       <font_size>8.5</font_size>\r
+                       <color>ffffff</color>\r
+                       <top>53</top>\r
+                       <left>14</left>\r
+                       <right>14</right>\r
+                       <texte>$texte</texte>\r
+               </layer>\r
+       </template>\r
+       <template>\r
+               <name>StepInactive</name>\r
+               <width>auto</width>\r
+               <height>34</height>\r
+               <layer>\r
+                       <name>gauche</name>\r
+                       <type>image</type>\r
+                       <file>step-inactive-left.png</file>\r
+                       <top>2</top>\r
+                       <left>0</left>\r
+                       <repeat>no-repeat</repeat>\r
+               </layer>\r
+               <layer>\r
+                       <name>centre</name>\r
+                       <type>image</type>\r
+                       <file>step-inactive-middle.png</file>\r
+                       <top>2</top>\r
+                       <left>10</left>\r
+                       <repeat>repeat-x</repeat>\r
+                       <width>-20</width>\r
+               </layer>\r
+               <layer>\r
+                       <name>droit</name>\r
+                       <type>image</type>\r
+                       <file>step-inactive-right-arrow.png</file>\r
+                       <top>2</top>\r
+                       <right>0</right>\r
+                       <repeat>no-repeat</repeat>\r
+               </layer>\r
+               <layer>\r
+                       <name>texte</name>\r
+                       <type>font</type>\r
+                       <font_family>verdanab.ttf</font_family>\r
+                       <font_size>8.5</font_size>\r
+                       <color>b8baad</color>\r
+                       <top>12</top>\r
+                       <left>14</left>\r
+                       <right>20</right>\r
+                       <dim>1</dim>\r
+                       <texte>$texte</texte>\r
+               </layer>\r
+       </template>\r
+       <template>\r
+               <name>LastStepInactive</name>\r
+               <width>auto</width>\r
+               <height>34</height>\r
+               <layer>\r
+                       <name>gauche</name>\r
+                       <type>image</type>\r
+                       <file>step-inactive-left.png</file>\r
+                       <top>2</top>\r
+                       <left>0</left>\r
+                       <repeat>no-repeat</repeat>\r
+               </layer>\r
+               <layer>\r
+                       <name>centre</name>\r
+                       <type>image</type>\r
+                       <file>step-inactive-middle.png</file>\r
+                       <top>2</top>\r
+                       <left>10</left>\r
+                       <repeat>repeat-x</repeat>\r
+                       <width>-11</width>\r
+               </layer>\r
+               <layer>\r
+                       <name>droit</name>\r
+                       <type>image</type>\r
+                       <file>step-inactive-right.png</file>\r
+                       <top>2</top>\r
+                       <right>0</right>\r
+                       <repeat>no-repeat</repeat>\r
+               </layer>\r
+               <layer>\r
+                       <name>texte</name>\r
+                       <type>font</type>\r
+                       <font_family>verdanab.ttf</font_family>\r
+                       <font_size>8.5</font_size>\r
+                       <color>b8baad</color>\r
+                       <top>12</top>\r
+                       <left>14</left>\r
+                       <right>14</right>\r
+                       <dim>1</dim>\r
+                       <texte>$texte</texte>\r
+               </layer>\r
+       </template>\r
+</theme>
\ No newline at end of file
diff --git a/typo/ws/download-left.png b/typo/ws/download-left.png
new file mode 100644 (file)
index 0000000..84348e2
Binary files /dev/null and b/typo/ws/download-left.png differ
diff --git a/typo/ws/edit-left.png b/typo/ws/edit-left.png
new file mode 100644 (file)
index 0000000..2507528
Binary files /dev/null and b/typo/ws/edit-left.png differ
diff --git a/typo/ws/left-plus.png b/typo/ws/left-plus.png
new file mode 100644 (file)
index 0000000..9d6d739
Binary files /dev/null and b/typo/ws/left-plus.png differ
diff --git a/typo/ws/left-star.png b/typo/ws/left-star.png
new file mode 100644 (file)
index 0000000..f399891
Binary files /dev/null and b/typo/ws/left-star.png differ
diff --git a/typo/ws/left.png b/typo/ws/left.png
new file mode 100644 (file)
index 0000000..e780e16
Binary files /dev/null and b/typo/ws/left.png differ
diff --git a/typo/ws/middle.png b/typo/ws/middle.png
new file mode 100644 (file)
index 0000000..6ab5e01
Binary files /dev/null and b/typo/ws/middle.png differ
diff --git a/typo/ws/onglet-l.png b/typo/ws/onglet-l.png
new file mode 100644 (file)
index 0000000..4a82d01
Binary files /dev/null and b/typo/ws/onglet-l.png differ
diff --git a/typo/ws/onglet-m.png b/typo/ws/onglet-m.png
new file mode 100644 (file)
index 0000000..e10e596
Binary files /dev/null and b/typo/ws/onglet-m.png differ
diff --git a/typo/ws/onglet-r.png b/typo/ws/onglet-r.png
new file mode 100644 (file)
index 0000000..21dcfda
Binary files /dev/null and b/typo/ws/onglet-r.png differ
diff --git a/typo/ws/onglet.png b/typo/ws/onglet.png
new file mode 100644 (file)
index 0000000..4a5ba50
Binary files /dev/null and b/typo/ws/onglet.png differ
diff --git a/typo/ws/right-ok.png b/typo/ws/right-ok.png
new file mode 100644 (file)
index 0000000..35d70ea
Binary files /dev/null and b/typo/ws/right-ok.png differ
diff --git a/typo/ws/right.png b/typo/ws/right.png
new file mode 100644 (file)
index 0000000..d2106cd
Binary files /dev/null and b/typo/ws/right.png differ
diff --git a/typo/ws/see-left.png b/typo/ws/see-left.png
new file mode 100644 (file)
index 0000000..b4c781c
Binary files /dev/null and b/typo/ws/see-left.png differ
diff --git a/typo/ws/small-l-contact.png b/typo/ws/small-l-contact.png
new file mode 100644 (file)
index 0000000..ee21d30
Binary files /dev/null and b/typo/ws/small-l-contact.png differ
diff --git a/typo/ws/small-l.png b/typo/ws/small-l.png
new file mode 100644 (file)
index 0000000..9552ae2
Binary files /dev/null and b/typo/ws/small-l.png differ
diff --git a/typo/ws/small-m.png b/typo/ws/small-m.png
new file mode 100644 (file)
index 0000000..43bfd0e
Binary files /dev/null and b/typo/ws/small-m.png differ
diff --git a/typo/ws/small-r-download.png b/typo/ws/small-r-download.png
new file mode 100644 (file)
index 0000000..aa19876
Binary files /dev/null and b/typo/ws/small-r-download.png differ
diff --git a/typo/ws/small-r.png b/typo/ws/small-r.png
new file mode 100644 (file)
index 0000000..56464c1
Binary files /dev/null and b/typo/ws/small-r.png differ
diff --git a/typo/ws/stats-left.png b/typo/ws/stats-left.png
new file mode 100644 (file)
index 0000000..e1c87b8
Binary files /dev/null and b/typo/ws/stats-left.png differ
diff --git a/typo/ws/step-inactive-left.png b/typo/ws/step-inactive-left.png
new file mode 100644 (file)
index 0000000..921f523
Binary files /dev/null and b/typo/ws/step-inactive-left.png differ
diff --git a/typo/ws/step-inactive-middle.png b/typo/ws/step-inactive-middle.png
new file mode 100644 (file)
index 0000000..ea98f84
Binary files /dev/null and b/typo/ws/step-inactive-middle.png differ
diff --git a/typo/ws/step-inactive-right-arrow.png b/typo/ws/step-inactive-right-arrow.png
new file mode 100644 (file)
index 0000000..41c433c
Binary files /dev/null and b/typo/ws/step-inactive-right-arrow.png differ
diff --git a/typo/ws/step-inactive-right.png b/typo/ws/step-inactive-right.png
new file mode 100644 (file)
index 0000000..1efdb98
Binary files /dev/null and b/typo/ws/step-inactive-right.png differ
diff --git a/typo/ws/step-left.png b/typo/ws/step-left.png
new file mode 100644 (file)
index 0000000..276d3e3
Binary files /dev/null and b/typo/ws/step-left.png differ
diff --git a/typo/ws/step-middle.png b/typo/ws/step-middle.png
new file mode 100644 (file)
index 0000000..84cb99d
Binary files /dev/null and b/typo/ws/step-middle.png differ
diff --git a/typo/ws/step-right-arrow.png b/typo/ws/step-right-arrow.png
new file mode 100644 (file)
index 0000000..377236b
Binary files /dev/null and b/typo/ws/step-right-arrow.png differ
diff --git a/typo/ws/step-right.png b/typo/ws/step-right.png
new file mode 100644 (file)
index 0000000..6d0b29c
Binary files /dev/null and b/typo/ws/step-right.png differ
diff --git a/typo/ws/verdanab.ttf b/typo/ws/verdanab.ttf
new file mode 100644 (file)
index 0000000..9ff5923
Binary files /dev/null and b/typo/ws/verdanab.ttf differ
diff --git a/typo/ws/ws-middle.png b/typo/ws/ws-middle.png
new file mode 100644 (file)
index 0000000..8c84007
Binary files /dev/null and b/typo/ws/ws-middle.png differ
diff --git a/typo/ws/ws-right.png b/typo/ws/ws-right.png
new file mode 100644 (file)
index 0000000..5b2533f
Binary files /dev/null and b/typo/ws/ws-right.png differ