﻿var AES = '<li class=""><a rel="nofollow" title="Fly til Danmark" class="sf-with-ul" href="/flybilletter-Danmark/4-AES-DK/Europa/Ålesund-Danmark.aspx">Danmark<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til København" href="/flybilletter/4-DK-AES-CPH/Europa/Danmark/Ålesund-København.aspx">København</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Finland" class="sf-with-ul" href="/flybilletter-Finland/4-AES-FI/Europa/Ålesund-Finland.aspx">Finland<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Helsingfors" href="/flybilletter/4-FI-AES-HEL/Europa/Finland/Ålesund-Helsingfors.aspx">Helsingfors</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Frankrike" class="sf-with-ul" href="/flybilletter-Frankrike/4-AES-FR/Europa/Ålesund-Frankrike.aspx">Frankrike<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Paris" href="/flybilletter/4-FR-AES-PAR/Europa/Frankrike/Ålesund-Paris.aspx">Paris</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Island" class="sf-with-ul" href="/flybilletter-Island/4-AES-IS/Europa/Ålesund-Island.aspx">Island<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Reykjavik" href="/flybilletter/4-IS-AES-REK/Europa/Island/Ålesund-Reykjavik.aspx">Reykjavik</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Italia" class="sf-with-ul" href="/flybilletter-Italia/4-AES-IT/Europa/Ålesund-Italia.aspx">Italia<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Milano" href="/flybilletter/4-IT-AES-MIL/Europa/Italia/Ålesund-Milano.aspx">Milano</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Litauen" class="sf-with-ul" href="/flybilletter-Litauen/4-AES-LT/Europa/Ålesund-Litauen.aspx">Litauen<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Palanga" href="/flybilletter/4-LT-AES-PLQ/Europa/Litauen/Ålesund-Palanga.aspx">Palanga</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Nederland" class="sf-with-ul" href="/flybilletter-Nederland/4-AES-NL/Europa/Ålesund-Nederland.aspx">Nederland<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Amsterdam" href="/flybilletter/4-NL-AES-AMS/Europa/Nederland/Ålesund-Amsterdam.aspx">Amsterdam</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Norge" class="sf-with-ul" href="/flybilletter-Norge/4-AES-NO/Europa/Ålesund-Norge.aspx">Norge<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Alta" href="/flybilletter/4-NO-AES-ALF/Europa/Norge/Ålesund-Alta.aspx">Alta</a></li><li><a rel="nofollow" title="Flybilletter til Bardufoss" href="/flybilletter/4-NO-AES-BDU/Europa/Norge/Ålesund-Bardufoss.aspx">Bardufoss</a></li><li><a rel="nofollow" title="Flybilletter til Bergen" href="/flybilletter/4-NO-AES-BGO/Europa/Norge/Ålesund-Bergen.aspx">Bergen</a></li><li><a rel="nofollow" title="Flybilletter til Harstad Narvik" href="/flybilletter/4-NO-AES-EVE/Europa/Norge/Ålesund-Harstad Narvik.aspx">Harstad Narvik</a></li><li><a rel="nofollow" title="Flybilletter til Haugesund" href="/flybilletter/4-NO-AES-HAU/Europa/Norge/Ålesund-Haugesund.aspx">Haugesund</a></li><li><a rel="nofollow" title="Flybilletter til Kirkenes" href="/flybilletter/4-NO-AES-KKN/Europa/Norge/Ålesund-Kirkenes.aspx">Kirkenes</a></li><li><a rel="nofollow" title="Flybilletter til Kristiansand" href="/flybilletter/4-NO-AES-KRS/Europa/Norge/Ålesund-Kristiansand.aspx">Kristiansand</a></li><li><a rel="nofollow" title="Flybilletter til Longyearbyen" href="/flybilletter/4-NO-AES-LYR/Europa/Norge/Ålesund-Longyearbyen.aspx">Longyearbyen</a></li><li><a rel="nofollow" title="Flybilletter til Molde" href="/flybilletter/4-NO-AES-MOL/Europa/Norge/Ålesund-Molde.aspx">Molde</a></li><li><a rel="nofollow" title="Flybilletter til Oslo" href="/flybilletter/4-NO-AES-OSL/Europa/Norge/Ålesund-Oslo.aspx">Oslo</a></li><li><a rel="nofollow" title="Flybilletter til Stavanger" href="/flybilletter/4-NO-AES-SVG/Europa/Norge/Ålesund-Stavanger.aspx">Stavanger</a></li><li><a rel="nofollow" title="Flybilletter til Tromsø" href="/flybilletter/4-NO-AES-TOS/Europa/Norge/Ålesund-Tromsø.aspx">Tromsø</a></li><li><a rel="nofollow" title="Flybilletter til Trondheim" href="/flybilletter/4-NO-AES-TRD/Europa/Norge/Ålesund-Trondheim.aspx">Trondheim</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Storbritannia" class="sf-with-ul" href="/flybilletter-Storbritannia/4-AES-GB/Europa/Ålesund-Storbritannia.aspx">Storbritannia<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Aberdeen" href="/flybilletter/4-GB-AES-ABZ/Europa/Storbritannia/Ålesund-Aberdeen.aspx">Aberdeen</a></li><li><a rel="nofollow" title="Flybilletter til London" href="/flybilletter/4-GB-AES-LON/Europa/Storbritannia/Ålesund-London.aspx">London</a></li><li><a rel="nofollow" title="Flybilletter til Manchester" href="/flybilletter/4-GB-AES-MAN/Europa/Storbritannia/Ålesund-Manchester.aspx">Manchester</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Sverige" class="sf-with-ul" href="/flybilletter-Sverige/4-AES-SE/Europa/Ålesund-Sverige.aspx">Sverige<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Stockholm" href="/flybilletter/4-SE-AES-STO/Europa/Sverige/Ålesund-Stockholm.aspx">Stockholm</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Tyskland" class="sf-with-ul" href="/flybilletter-Tyskland/4-AES-DE/Europa/Ålesund-Tyskland.aspx">Tyskland<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Dusseldorf" href="/flybilletter/4-DE-AES-DUS/Europa/Tyskland/Ålesund-Dusseldorf.aspx">Dusseldorf</a></li><li><a rel="nofollow" title="Flybilletter til Frankfurt" href="/flybilletter/4-DE-AES-FRA/Europa/Tyskland/Ålesund-Frankfurt.aspx">Frankfurt</a></li>'; 
var ALF = '<li class=""><a rel="nofollow" title="Fly til Danmark" class="sf-with-ul" href="/flybilletter-Danmark/4-ALF-DK/Europa/Alta-Danmark.aspx">Danmark<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til København" href="/flybilletter/4-DK-ALF-CPH/Europa/Danmark/Alta-København.aspx">København</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Frankrike" class="sf-with-ul" href="/flybilletter-Frankrike/4-ALF-FR/Europa/Alta-Frankrike.aspx">Frankrike<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Paris" href="/flybilletter/4-FR-ALF-PAR/Europa/Frankrike/Alta-Paris.aspx">Paris</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Nederland" class="sf-with-ul" href="/flybilletter-Nederland/4-ALF-NL/Europa/Alta-Nederland.aspx">Nederland<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Amsterdam" href="/flybilletter/4-NL-ALF-AMS/Europa/Nederland/Alta-Amsterdam.aspx">Amsterdam</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Norge" class="sf-with-ul" href="/flybilletter-Norge/4-ALF-NO/Europa/Alta-Norge.aspx">Norge<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Ålesund" href="/flybilletter/4-NO-ALF-AES/Europa/Norge/Alta-Ålesund.aspx">Ålesund</a></li><li><a rel="nofollow" title="Flybilletter til Bardufoss" href="/flybilletter/4-NO-ALF-BDU/Europa/Norge/Alta-Bardufoss.aspx">Bardufoss</a></li><li><a rel="nofollow" title="Flybilletter til Bergen" href="/flybilletter/4-NO-ALF-BGO/Europa/Norge/Alta-Bergen.aspx">Bergen</a></li><li><a rel="nofollow" title="Flybilletter til Bodø" href="/flybilletter/4-NO-ALF-BOO/Europa/Norge/Alta-Bodø.aspx">Bodø</a></li><li><a rel="nofollow" title="Flybilletter til Harstad Narvik" href="/flybilletter/4-NO-ALF-EVE/Europa/Norge/Alta-Harstad Narvik.aspx">Harstad Narvik</a></li><li><a rel="nofollow" title="Flybilletter til Haugesund" href="/flybilletter/4-NO-ALF-HAU/Europa/Norge/Alta-Haugesund.aspx">Haugesund</a></li><li><a rel="nofollow" title="Flybilletter til Kristiansand" href="/flybilletter/4-NO-ALF-KRS/Europa/Norge/Alta-Kristiansand.aspx">Kristiansand</a></li><li><a rel="nofollow" title="Flybilletter til Longyearbyen" href="/flybilletter/4-NO-ALF-LYR/Europa/Norge/Alta-Longyearbyen.aspx">Longyearbyen</a></li><li><a rel="nofollow" title="Flybilletter til Molde" href="/flybilletter/4-NO-ALF-MOL/Europa/Norge/Alta-Molde.aspx">Molde</a></li><li><a rel="nofollow" title="Flybilletter til Oslo" href="/flybilletter/4-NO-ALF-OSL/Europa/Norge/Alta-Oslo.aspx">Oslo</a></li><li><a rel="nofollow" title="Flybilletter til Stavanger" href="/flybilletter/4-NO-ALF-SVG/Europa/Norge/Alta-Stavanger.aspx">Stavanger</a></li><li><a rel="nofollow" title="Flybilletter til Tromsø" href="/flybilletter/4-NO-ALF-TOS/Europa/Norge/Alta-Tromsø.aspx">Tromsø</a></li><li><a rel="nofollow" title="Flybilletter til Trondheim" href="/flybilletter/4-NO-ALF-TRD/Europa/Norge/Alta-Trondheim.aspx">Trondheim</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Polen" class="sf-with-ul" href="/flybilletter-Polen/4-ALF-PL/Europa/Alta-Polen.aspx">Polen<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Gdansk" href="/flybilletter/4-PL-ALF-GDN/Europa/Polen/Alta-Gdansk.aspx">Gdansk</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Storbritannia" class="sf-with-ul" href="/flybilletter-Storbritannia/4-ALF-GB/Europa/Alta-Storbritannia.aspx">Storbritannia<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til London" href="/flybilletter/4-GB-ALF-LON/Europa/Storbritannia/Alta-London.aspx">London</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Sverige" class="sf-with-ul" href="/flybilletter-Sverige/4-ALF-SE/Europa/Alta-Sverige.aspx">Sverige<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Stockholm" href="/flybilletter/4-SE-ALF-STO/Europa/Sverige/Alta-Stockholm.aspx">Stockholm</a></li>'; 
var BDU = '<li class=""><a rel="nofollow" title="Fly til Danmark" class="sf-with-ul" href="/flybilletter-Danmark/4-BDU-DK/Europa/Bardufoss-Danmark.aspx">Danmark<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til København" href="/flybilletter/4-DK-BDU-CPH/Europa/Danmark/Bardufoss-København.aspx">København</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Norge" class="sf-with-ul" href="/flybilletter-Norge/4-BDU-NO/Europa/Bardufoss-Norge.aspx">Norge<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Ålesund" href="/flybilletter/4-NO-BDU-AES/Europa/Norge/Bardufoss-Ålesund.aspx">Ålesund</a></li><li><a rel="nofollow" title="Flybilletter til Alta" href="/flybilletter/4-NO-BDU-ALF/Europa/Norge/Bardufoss-Alta.aspx">Alta</a></li><li><a rel="nofollow" title="Flybilletter til Bergen" href="/flybilletter/4-NO-BDU-BGO/Europa/Norge/Bardufoss-Bergen.aspx">Bergen</a></li><li><a rel="nofollow" title="Flybilletter til Bodø" href="/flybilletter/4-NO-BDU-BOO/Europa/Norge/Bardufoss-Bodø.aspx">Bodø</a></li><li><a rel="nofollow" title="Flybilletter til Harstad Narvik" href="/flybilletter/4-NO-BDU-EVE/Europa/Norge/Bardufoss-Harstad Narvik.aspx">Harstad Narvik</a></li><li><a rel="nofollow" title="Flybilletter til Haugesund" href="/flybilletter/4-NO-BDU-HAU/Europa/Norge/Bardufoss-Haugesund.aspx">Haugesund</a></li><li><a rel="nofollow" title="Flybilletter til Kristiansand" href="/flybilletter/4-NO-BDU-KRS/Europa/Norge/Bardufoss-Kristiansand.aspx">Kristiansand</a></li><li><a rel="nofollow" title="Flybilletter til Molde" href="/flybilletter/4-NO-BDU-MOL/Europa/Norge/Bardufoss-Molde.aspx">Molde</a></li><li><a rel="nofollow" title="Flybilletter til Oslo" href="/flybilletter/4-NO-BDU-OSL/Europa/Norge/Bardufoss-Oslo.aspx">Oslo</a></li><li><a rel="nofollow" title="Flybilletter til Stavanger" href="/flybilletter/4-NO-BDU-SVG/Europa/Norge/Bardufoss-Stavanger.aspx">Stavanger</a></li><li><a rel="nofollow" title="Flybilletter til Trondheim" href="/flybilletter/4-NO-BDU-TRD/Europa/Norge/Bardufoss-Trondheim.aspx">Trondheim</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Sverige" class="sf-with-ul" href="/flybilletter-Sverige/4-BDU-SE/Europa/Bardufoss-Sverige.aspx">Sverige<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Stockholm" href="/flybilletter/4-SE-BDU-STO/Europa/Sverige/Bardufoss-Stockholm.aspx">Stockholm</a></li>'; 
var BGO = '<li class=""><a rel="nofollow" title="Fly til Belgia" class="sf-with-ul" href="/flybilletter-Belgia/4-BGO-BE/Europa/Bergen-Belgia.aspx">Belgia<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Brussel" href="/flybilletter/4-BE-BGO-BRU/Europa/Belgia/Bergen-Brussel.aspx">Brussel</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Danmark" class="sf-with-ul" href="/flybilletter-Danmark/4-BGO-DK/Europa/Bergen-Danmark.aspx">Danmark<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Billund" href="/flybilletter/4-DK-BGO-BLL/Europa/Danmark/Bergen-Billund.aspx">Billund</a></li><li><a rel="nofollow" title="Flybilletter til København" href="/flybilletter/4-DK-BGO-CPH/Europa/Danmark/Bergen-København.aspx">København</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Finland" class="sf-with-ul" href="/flybilletter-Finland/4-BGO-FI/Europa/Bergen-Finland.aspx">Finland<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Helsingfors" href="/flybilletter/4-FI-BGO-HEL/Europa/Finland/Bergen-Helsingfors.aspx">Helsingfors</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Frankrike" class="sf-with-ul" href="/flybilletter-Frankrike/4-BGO-FR/Europa/Bergen-Frankrike.aspx">Frankrike<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Nice" href="/flybilletter/4-FR-BGO-NCE/Europa/Frankrike/Bergen-Nice.aspx">Nice</a></li><li><a rel="nofollow" title="Flybilletter til Paris" href="/flybilletter/4-FR-BGO-PAR/Europa/Frankrike/Bergen-Paris.aspx">Paris</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Hellas" class="sf-with-ul" href="/flybilletter-Hellas/4-BGO-GR/Europa/Bergen-Hellas.aspx">Hellas<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Athen" href="/flybilletter/4-GR-BGO-ATH/Europa/Hellas/Bergen-Athen.aspx">Athen</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Island" class="sf-with-ul" href="/flybilletter-Island/4-BGO-IS/Europa/Bergen-Island.aspx">Island<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Reykjavik" href="/flybilletter/4-IS-BGO-REK/Europa/Island/Bergen-Reykjavik.aspx">Reykjavik</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Italia" class="sf-with-ul" href="/flybilletter-Italia/4-BGO-IT/Europa/Bergen-Italia.aspx">Italia<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Bologna" href="/flybilletter/4-IT-BGO-BLQ/Europa/Italia/Bergen-Bologna.aspx">Bologna</a></li><li><a rel="nofollow" title="Flybilletter til Milano" href="/flybilletter/4-IT-BGO-MIL/Europa/Italia/Bergen-Milano.aspx">Milano</a></li><li><a rel="nofollow" title="Flybilletter til Roma" href="/flybilletter/4-IT-BGO-ROM/Europa/Italia/Bergen-Roma.aspx">Roma</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Kroatia" class="sf-with-ul" href="/flybilletter-Kroatia/4-BGO-HR/Europa/Bergen-Kroatia.aspx">Kroatia<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Dubrovnik" href="/flybilletter/4-HR-BGO-DBV/Europa/Kroatia/Bergen-Dubrovnik.aspx">Dubrovnik</a></li><li><a rel="nofollow" title="Flybilletter til Split" href="/flybilletter/4-HR-BGO-SPU/Europa/Kroatia/Bergen-Split.aspx">Split</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Litauen" class="sf-with-ul" href="/flybilletter-Litauen/4-BGO-LT/Europa/Bergen-Litauen.aspx">Litauen<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Palanga" href="/flybilletter/4-LT-BGO-PLQ/Europa/Litauen/Bergen-Palanga.aspx">Palanga</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Luxemburg" class="sf-with-ul" href="/flybilletter-Luxembourg/4-BGO-LU/Europa/Bergen-Luxembourg.aspx">Luxemburg<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Luxembourg" href="/flybilletter/4-LU-BGO-LUX/Europa/Luxembourg/Bergen-Luxembourg.aspx">Luxembourg</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Norge" class="sf-with-ul" href="/flybilletter-Norge/4-BGO-NO/Europa/Bergen-Norge.aspx">Norge<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Ålesund" href="/flybilletter/4-NO-BGO-AES/Europa/Norge/Bergen-Ålesund.aspx">Ålesund</a></li><li><a rel="nofollow" title="Flybilletter til Alta" href="/flybilletter/4-NO-BGO-ALF/Europa/Norge/Bergen-Alta.aspx">Alta</a></li><li><a rel="nofollow" title="Flybilletter til Bardufoss" href="/flybilletter/4-NO-BGO-BDU/Europa/Norge/Bergen-Bardufoss.aspx">Bardufoss</a></li><li><a rel="nofollow" title="Flybilletter til Bodø" href="/flybilletter/4-NO-BGO-BOO/Europa/Norge/Bergen-Bodø.aspx">Bodø</a></li><li><a rel="nofollow" title="Flybilletter til Harstad Narvik" href="/flybilletter/4-NO-BGO-EVE/Europa/Norge/Bergen-Harstad Narvik.aspx">Harstad Narvik</a></li><li><a rel="nofollow" title="Flybilletter til Haugesund" href="/flybilletter/4-NO-BGO-HAU/Europa/Norge/Bergen-Haugesund.aspx">Haugesund</a></li><li><a rel="nofollow" title="Flybilletter til Kirkenes" href="/flybilletter/4-NO-BGO-KKN/Europa/Norge/Bergen-Kirkenes.aspx">Kirkenes</a></li><li><a rel="nofollow" title="Flybilletter til Kristiansand" href="/flybilletter/4-NO-BGO-KRS/Europa/Norge/Bergen-Kristiansand.aspx">Kristiansand</a></li><li><a rel="nofollow" title="Flybilletter til Kristiansund" href="/flybilletter/4-NO-BGO-KSU/Europa/Norge/Bergen-Kristiansund.aspx">Kristiansund</a></li><li><a rel="nofollow" title="Flybilletter til Longyearbyen" href="/flybilletter/4-NO-BGO-LYR/Europa/Norge/Bergen-Longyearbyen.aspx">Longyearbyen</a></li><li><a rel="nofollow" title="Flybilletter til Molde" href="/flybilletter/4-NO-BGO-MOL/Europa/Norge/Bergen-Molde.aspx">Molde</a></li><li><a rel="nofollow" title="Flybilletter til Moss Rygge" href="/flybilletter/4-NO-BGO-RYG/Europa/Norge/Bergen-Moss Rygge.aspx">Moss Rygge</a></li><li><a rel="nofollow" title="Flybilletter til Oslo" href="/flybilletter/4-NO-BGO-OSL/Europa/Norge/Bergen-Oslo.aspx">Oslo</a></li><li><a rel="nofollow" title="Flybilletter til Stavanger" href="/flybilletter/4-NO-BGO-SVG/Europa/Norge/Bergen-Stavanger.aspx">Stavanger</a></li><li><a rel="nofollow" title="Flybilletter til Tromsø" href="/flybilletter/4-NO-BGO-TOS/Europa/Norge/Bergen-Tromsø.aspx">Tromsø</a></li><li><a rel="nofollow" title="Flybilletter til Trondheim" href="/flybilletter/4-NO-BGO-TRD/Europa/Norge/Bergen-Trondheim.aspx">Trondheim</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Polen" class="sf-with-ul" href="/flybilletter-Polen/4-BGO-PL/Europa/Bergen-Polen.aspx">Polen<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Krakow" href="/flybilletter/4-PL-BGO-KRK/Europa/Polen/Bergen-Krakow.aspx">Krakow</a></li><li><a rel="nofollow" title="Flybilletter til Poznan" href="/flybilletter/4-PL-BGO-POZ/Europa/Polen/Bergen-Poznan.aspx">Poznan</a></li><li><a rel="nofollow" title="Flybilletter til Warszawa" href="/flybilletter/4-PL-BGO-WAW/Europa/Polen/Bergen-Warszawa.aspx">Warszawa</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Spania" class="sf-with-ul" href="/flybilletter-Spania/4-BGO-ES/Europa/Bergen-Spania.aspx">Spania<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Alicante" href="/flybilletter/4-ES-BGO-ALC/Europa/Spania/Bergen-Alicante.aspx">Alicante</a></li><li><a rel="nofollow" title="Flybilletter til Barcelona" href="/flybilletter/4-ES-BGO-BCN/Europa/Spania/Bergen-Barcelona.aspx">Barcelona</a></li><li><a rel="nofollow" title="Flybilletter til Malaga" href="/flybilletter/4-ES-BGO-AGP/Europa/Spania/Bergen-Malaga.aspx">Malaga</a></li><li><a rel="nofollow" title="Flybilletter til Murcia" href="/flybilletter/4-ES-BGO-MJV/Europa/Spania/Bergen-Murcia.aspx">Murcia</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Storbritannia" class="sf-with-ul" href="/flybilletter-Storbritannia/4-BGO-GB/Europa/Bergen-Storbritannia.aspx">Storbritannia<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Aberdeen" href="/flybilletter/4-GB-BGO-ABZ/Europa/Storbritannia/Bergen-Aberdeen.aspx">Aberdeen</a></li><li><a rel="nofollow" title="Flybilletter til Birmingham" href="/flybilletter/4-GB-BGO-BHX/Europa/Storbritannia/Bergen-Birmingham.aspx">Birmingham</a></li><li><a rel="nofollow" title="Flybilletter til London Gatwick" href="/flybilletter/4-GB-BGO-LGW/Europa/Storbritannia/Bergen-London Gatwick.aspx">London Gatwick</a></li><li><a rel="nofollow" title="Flybilletter til Manchester" href="/flybilletter/4-GB-BGO-MAN/Europa/Storbritannia/Bergen-Manchester.aspx">Manchester</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Sveits" class="sf-with-ul" href="/flybilletter-Sveits/4-BGO-CH/Europa/Bergen-Sveits.aspx">Sveits<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Zurich" href="/flybilletter/4-CH-BGO-ZRH/Europa/Sveits/Bergen-Zurich.aspx">Zurich</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Tjekkia" class="sf-with-ul" href="/flybilletter-Tsjekkia/4-BGO-CZ/Europa/Bergen-Tsjekkia.aspx">Tjekkia<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Praha" href="/flybilletter/4-CZ-BGO-PRG/Europa/Tsjekkia/Bergen-Praha.aspx">Praha</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Tyrkia" class="sf-with-ul" href="/flybilletter-Tyrkia/5-BGO-TR/Midtøsten/Bergen-Tyrkia.aspx">Tyrkia<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Antalya" href="/flybilletter/5-TR-BGO-AYT/Midtøsten/Tyrkia/Bergen-Antalya.aspx">Antalya</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Tyskland" class="sf-with-ul" href="/flybilletter-Tyskland/4-BGO-DE/Europa/Bergen-Tyskland.aspx">Tyskland<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Berlin Schonefeld" href="/flybilletter/4-DE-BGO-SXF/Europa/Tyskland/Bergen-Berlin Schonefeld.aspx">Berlin Schonefeld</a></li><li><a rel="nofollow" title="Flybilletter til Dusseldorf" href="/flybilletter/4-DE-BGO-DUS/Europa/Tyskland/Bergen-Dusseldorf.aspx">Dusseldorf</a></li><li><a rel="nofollow" title="Flybilletter til Frankfurt" href="/flybilletter/4-DE-BGO-FRA/Europa/Tyskland/Bergen-Frankfurt.aspx">Frankfurt</a></li><li><a rel="nofollow" title="Flybilletter til Hannover" href="/flybilletter/4-DE-BGO-HAJ/Europa/Tyskland/Bergen-Hannover.aspx">Hannover</a></li><li><a rel="nofollow" title="Flybilletter til Stuttgart" href="/flybilletter/4-DE-BGO-STR/Europa/Tyskland/Bergen-Stuttgart.aspx">Stuttgart</a></li>'; 
var BOO = '<li class=""><a rel="nofollow" title="Fly til Belgia" class="sf-with-ul" href="/flybilletter-Belgia/4-BOO-BE/Europa/Bodø-Belgia.aspx">Belgia<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Brussel" href="/flybilletter/4-BE-BOO-BRU/Europa/Belgia/Bodø-Brussel.aspx">Brussel</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Danmark" class="sf-with-ul" href="/flybilletter-Danmark/4-BOO-DK/Europa/Bodø-Danmark.aspx">Danmark<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til København" href="/flybilletter/4-DK-BOO-CPH/Europa/Danmark/Bodø-København.aspx">København</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Finland" class="sf-with-ul" href="/flybilletter-Finland/4-BOO-FI/Europa/Bodø-Finland.aspx">Finland<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Helsingfors" href="/flybilletter/4-FI-BOO-HEL/Europa/Finland/Bodø-Helsingfors.aspx">Helsingfors</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Frankrike" class="sf-with-ul" href="/flybilletter-Frankrike/4-BOO-FR/Europa/Bodø-Frankrike.aspx">Frankrike<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Paris" href="/flybilletter/4-FR-BOO-PAR/Europa/Frankrike/Bodø-Paris.aspx">Paris</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Island" class="sf-with-ul" href="/flybilletter-Island/4-BOO-IS/Europa/Bodø-Island.aspx">Island<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Reykjavik" href="/flybilletter/4-IS-BOO-REK/Europa/Island/Bodø-Reykjavik.aspx">Reykjavik</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Italia" class="sf-with-ul" href="/flybilletter-Italia/4-BOO-IT/Europa/Bodø-Italia.aspx">Italia<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Milano" href="/flybilletter/4-IT-BOO-MIL/Europa/Italia/Bodø-Milano.aspx">Milano</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Nederland" class="sf-with-ul" href="/flybilletter-Nederland/4-BOO-NL/Europa/Bodø-Nederland.aspx">Nederland<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Amsterdam" href="/flybilletter/4-NL-BOO-AMS/Europa/Nederland/Bodø-Amsterdam.aspx">Amsterdam</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Norge" class="sf-with-ul" href="/flybilletter-Norge/4-BOO-NO/Europa/Bodø-Norge.aspx">Norge<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Alta" href="/flybilletter/4-NO-BOO-ALF/Europa/Norge/Bodø-Alta.aspx">Alta</a></li><li><a rel="nofollow" title="Flybilletter til Bardufoss" href="/flybilletter/4-NO-BOO-BDU/Europa/Norge/Bodø-Bardufoss.aspx">Bardufoss</a></li><li><a rel="nofollow" title="Flybilletter til Bergen" href="/flybilletter/4-NO-BOO-BGO/Europa/Norge/Bodø-Bergen.aspx">Bergen</a></li><li><a rel="nofollow" title="Flybilletter til Harstad Narvik" href="/flybilletter/4-NO-BOO-EVE/Europa/Norge/Bodø-Harstad Narvik.aspx">Harstad Narvik</a></li><li><a rel="nofollow" title="Flybilletter til Haugesund" href="/flybilletter/4-NO-BOO-HAU/Europa/Norge/Bodø-Haugesund.aspx">Haugesund</a></li><li><a rel="nofollow" title="Flybilletter til Kirkenes" href="/flybilletter/4-NO-BOO-KKN/Europa/Norge/Bodø-Kirkenes.aspx">Kirkenes</a></li><li><a rel="nofollow" title="Flybilletter til Kristiansand" href="/flybilletter/4-NO-BOO-KRS/Europa/Norge/Bodø-Kristiansand.aspx">Kristiansand</a></li><li><a rel="nofollow" title="Flybilletter til Kristiansund" href="/flybilletter/4-NO-BOO-KSU/Europa/Norge/Bodø-Kristiansund.aspx">Kristiansund</a></li><li><a rel="nofollow" title="Flybilletter til Longyearbyen" href="/flybilletter/4-NO-BOO-LYR/Europa/Norge/Bodø-Longyearbyen.aspx">Longyearbyen</a></li><li><a rel="nofollow" title="Flybilletter til Molde" href="/flybilletter/4-NO-BOO-MOL/Europa/Norge/Bodø-Molde.aspx">Molde</a></li><li><a rel="nofollow" title="Flybilletter til Moss Rygge" href="/flybilletter/4-NO-BOO-RYG/Europa/Norge/Bodø-Moss Rygge.aspx">Moss Rygge</a></li><li><a rel="nofollow" title="Flybilletter til Oslo" href="/flybilletter/4-NO-BOO-OSL/Europa/Norge/Bodø-Oslo.aspx">Oslo</a></li><li><a rel="nofollow" title="Flybilletter til Stavanger" href="/flybilletter/4-NO-BOO-SVG/Europa/Norge/Bodø-Stavanger.aspx">Stavanger</a></li><li><a rel="nofollow" title="Flybilletter til Tromsø" href="/flybilletter/4-NO-BOO-TOS/Europa/Norge/Bodø-Tromsø.aspx">Tromsø</a></li><li><a rel="nofollow" title="Flybilletter til Trondheim" href="/flybilletter/4-NO-BOO-TRD/Europa/Norge/Bodø-Trondheim.aspx">Trondheim</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Storbritannia" class="sf-with-ul" href="/flybilletter-Storbritannia/4-BOO-GB/Europa/Bodø-Storbritannia.aspx">Storbritannia<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Aberdeen" href="/flybilletter/4-GB-BOO-ABZ/Europa/Storbritannia/Bodø-Aberdeen.aspx">Aberdeen</a></li><li><a rel="nofollow" title="Flybilletter til London" href="/flybilletter/4-GB-BOO-LON/Europa/Storbritannia/Bodø-London.aspx">London</a></li><li><a rel="nofollow" title="Flybilletter til Manchester" href="/flybilletter/4-GB-BOO-MAN/Europa/Storbritannia/Bodø-Manchester.aspx">Manchester</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Sveits" class="sf-with-ul" href="/flybilletter-Sveits/4-BOO-CH/Europa/Bodø-Sveits.aspx">Sveits<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Zurich" href="/flybilletter/4-CH-BOO-ZRH/Europa/Sveits/Bodø-Zurich.aspx">Zurich</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Sverige" class="sf-with-ul" href="/flybilletter-Sverige/4-BOO-SE/Europa/Bodø-Sverige.aspx">Sverige<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Stockholm" href="/flybilletter/4-SE-BOO-STO/Europa/Sverige/Bodø-Stockholm.aspx">Stockholm</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Tyskland" class="sf-with-ul" href="/flybilletter-Tyskland/4-BOO-DE/Europa/Bodø-Tyskland.aspx">Tyskland<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Dusseldorf" href="/flybilletter/4-DE-BOO-DUS/Europa/Tyskland/Bodø-Dusseldorf.aspx">Dusseldorf</a></li><li><a rel="nofollow" title="Flybilletter til Frankfurt" href="/flybilletter/4-DE-BOO-FRA/Europa/Tyskland/Bodø-Frankfurt.aspx">Frankfurt</a></li>'; 
var EVE = '<li class=""><a rel="nofollow" title="Fly til Belgia" class="sf-with-ul" href="/flybilletter-Belgia/4-EVE-BE/Europa/Harstad Narvik-Belgia.aspx">Belgia<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Brussel" href="/flybilletter/4-BE-EVE-BRU/Europa/Belgia/Harstad Narvik-Brussel.aspx">Brussel</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Danmark" class="sf-with-ul" href="/flybilletter-Danmark/4-EVE-DK/Europa/Harstad Narvik-Danmark.aspx">Danmark<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til København" href="/flybilletter/4-DK-EVE-CPH/Europa/Danmark/Harstad Narvik-København.aspx">København</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Finland" class="sf-with-ul" href="/flybilletter-Finland/4-EVE-FI/Europa/Harstad Narvik-Finland.aspx">Finland<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Helsingfors" href="/flybilletter/4-FI-EVE-HEL/Europa/Finland/Harstad Narvik-Helsingfors.aspx">Helsingfors</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Frankrike" class="sf-with-ul" href="/flybilletter-Frankrike/4-EVE-FR/Europa/Harstad Narvik-Frankrike.aspx">Frankrike<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Paris" href="/flybilletter/4-FR-EVE-PAR/Europa/Frankrike/Harstad Narvik-Paris.aspx">Paris</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Island" class="sf-with-ul" href="/flybilletter-Island/4-EVE-IS/Europa/Harstad Narvik-Island.aspx">Island<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Reykjavik" href="/flybilletter/4-IS-EVE-REK/Europa/Island/Harstad Narvik-Reykjavik.aspx">Reykjavik</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Norge" class="sf-with-ul" href="/flybilletter-Norge/4-EVE-NO/Europa/Harstad Narvik-Norge.aspx">Norge<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Ålesund" href="/flybilletter/4-NO-EVE-AES/Europa/Norge/Harstad Narvik-Ålesund.aspx">Ålesund</a></li><li><a rel="nofollow" title="Flybilletter til Alta" href="/flybilletter/4-NO-EVE-ALF/Europa/Norge/Harstad Narvik-Alta.aspx">Alta</a></li><li><a rel="nofollow" title="Flybilletter til Bardufoss" href="/flybilletter/4-NO-EVE-BDU/Europa/Norge/Harstad Narvik-Bardufoss.aspx">Bardufoss</a></li><li><a rel="nofollow" title="Flybilletter til Bergen" href="/flybilletter/4-NO-EVE-BGO/Europa/Norge/Harstad Narvik-Bergen.aspx">Bergen</a></li><li><a rel="nofollow" title="Flybilletter til Bodø" href="/flybilletter/4-NO-EVE-BOO/Europa/Norge/Harstad Narvik-Bodø.aspx">Bodø</a></li><li><a rel="nofollow" title="Flybilletter til Haugesund" href="/flybilletter/4-NO-EVE-HAU/Europa/Norge/Harstad Narvik-Haugesund.aspx">Haugesund</a></li><li><a rel="nofollow" title="Flybilletter til Kirkenes" href="/flybilletter/4-NO-EVE-KKN/Europa/Norge/Harstad Narvik-Kirkenes.aspx">Kirkenes</a></li><li><a rel="nofollow" title="Flybilletter til Kristiansand" href="/flybilletter/4-NO-EVE-KRS/Europa/Norge/Harstad Narvik-Kristiansand.aspx">Kristiansand</a></li><li><a rel="nofollow" title="Flybilletter til Kristiansund" href="/flybilletter/4-NO-EVE-KSU/Europa/Norge/Harstad Narvik-Kristiansund.aspx">Kristiansund</a></li><li><a rel="nofollow" title="Flybilletter til Longyearbyen" href="/flybilletter/4-NO-EVE-LYR/Europa/Norge/Harstad Narvik-Longyearbyen.aspx">Longyearbyen</a></li><li><a rel="nofollow" title="Flybilletter til Molde" href="/flybilletter/4-NO-EVE-MOL/Europa/Norge/Harstad Narvik-Molde.aspx">Molde</a></li><li><a rel="nofollow" title="Flybilletter til Oslo" href="/flybilletter/4-NO-EVE-OSL/Europa/Norge/Harstad Narvik-Oslo.aspx">Oslo</a></li><li><a rel="nofollow" title="Flybilletter til Stavanger" href="/flybilletter/4-NO-EVE-SVG/Europa/Norge/Harstad Narvik-Stavanger.aspx">Stavanger</a></li><li><a rel="nofollow" title="Flybilletter til Tromsø" href="/flybilletter/4-NO-EVE-TOS/Europa/Norge/Harstad Narvik-Tromsø.aspx">Tromsø</a></li><li><a rel="nofollow" title="Flybilletter til Trondheim" href="/flybilletter/4-NO-EVE-TRD/Europa/Norge/Harstad Narvik-Trondheim.aspx">Trondheim</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Storbritannia" class="sf-with-ul" href="/flybilletter-Storbritannia/4-EVE-GB/Europa/Harstad Narvik-Storbritannia.aspx">Storbritannia<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til London" href="/flybilletter/4-GB-EVE-LON/Europa/Storbritannia/Harstad Narvik-London.aspx">London</a></li><li><a rel="nofollow" title="Flybilletter til Manchester" href="/flybilletter/4-GB-EVE-MAN/Europa/Storbritannia/Harstad Narvik-Manchester.aspx">Manchester</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Sverige" class="sf-with-ul" href="/flybilletter-Sverige/4-EVE-SE/Europa/Harstad Narvik-Sverige.aspx">Sverige<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Stockholm" href="/flybilletter/4-SE-EVE-STO/Europa/Sverige/Harstad Narvik-Stockholm.aspx">Stockholm</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Tyskland" class="sf-with-ul" href="/flybilletter-Tyskland/4-EVE-DE/Europa/Harstad Narvik-Tyskland.aspx">Tyskland<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Frankfurt" href="/flybilletter/4-DE-EVE-FRA/Europa/Tyskland/Harstad Narvik-Frankfurt.aspx">Frankfurt</a></li>'; 
var HAU = '<li class=""><a rel="nofollow" title="Fly til Belgia" class="sf-with-ul" href="/flybilletter-Belgia/4-HAU-BE/Europa/Haugesund-Belgia.aspx">Belgia<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Brussel" href="/flybilletter/4-BE-HAU-BRU/Europa/Belgia/Haugesund-Brussel.aspx">Brussel</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Danmark" class="sf-with-ul" href="/flybilletter-Danmark/4-HAU-DK/Europa/Haugesund-Danmark.aspx">Danmark<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til København" href="/flybilletter/4-DK-HAU-CPH/Europa/Danmark/Haugesund-København.aspx">København</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Finland" class="sf-with-ul" href="/flybilletter-Finland/4-HAU-FI/Europa/Haugesund-Finland.aspx">Finland<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Helsingfors" href="/flybilletter/4-FI-HAU-HEL/Europa/Finland/Haugesund-Helsingfors.aspx">Helsingfors</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Frankrike" class="sf-with-ul" href="/flybilletter-Frankrike/4-HAU-FR/Europa/Haugesund-Frankrike.aspx">Frankrike<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Paris" href="/flybilletter/4-FR-HAU-PAR/Europa/Frankrike/Haugesund-Paris.aspx">Paris</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Island" class="sf-with-ul" href="/flybilletter-Island/4-HAU-IS/Europa/Haugesund-Island.aspx">Island<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Reykjavik" href="/flybilletter/4-IS-HAU-REK/Europa/Island/Haugesund-Reykjavik.aspx">Reykjavik</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Italia" class="sf-with-ul" href="/flybilletter-Italia/4-HAU-IT/Europa/Haugesund-Italia.aspx">Italia<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Milano" href="/flybilletter/4-IT-HAU-MIL/Europa/Italia/Haugesund-Milano.aspx">Milano</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Litauen" class="sf-with-ul" href="/flybilletter-Litauen/4-HAU-LT/Europa/Haugesund-Litauen.aspx">Litauen<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Palanga" href="/flybilletter/4-LT-HAU-PLQ/Europa/Litauen/Haugesund-Palanga.aspx">Palanga</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Norge" class="sf-with-ul" href="/flybilletter-Norge/4-HAU-NO/Europa/Haugesund-Norge.aspx">Norge<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Ålesund" href="/flybilletter/4-NO-HAU-AES/Europa/Norge/Haugesund-Ålesund.aspx">Ålesund</a></li><li><a rel="nofollow" title="Flybilletter til Alta" href="/flybilletter/4-NO-HAU-ALF/Europa/Norge/Haugesund-Alta.aspx">Alta</a></li><li><a rel="nofollow" title="Flybilletter til Bardufoss" href="/flybilletter/4-NO-HAU-BDU/Europa/Norge/Haugesund-Bardufoss.aspx">Bardufoss</a></li><li><a rel="nofollow" title="Flybilletter til Bergen" href="/flybilletter/4-NO-HAU-BGO/Europa/Norge/Haugesund-Bergen.aspx">Bergen</a></li><li><a rel="nofollow" title="Flybilletter til Bodø" href="/flybilletter/4-NO-HAU-BOO/Europa/Norge/Haugesund-Bodø.aspx">Bodø</a></li><li><a rel="nofollow" title="Flybilletter til Harstad Narvik" href="/flybilletter/4-NO-HAU-EVE/Europa/Norge/Haugesund-Harstad Narvik.aspx">Harstad Narvik</a></li><li><a rel="nofollow" title="Flybilletter til Kirkenes" href="/flybilletter/4-NO-HAU-KKN/Europa/Norge/Haugesund-Kirkenes.aspx">Kirkenes</a></li><li><a rel="nofollow" title="Flybilletter til Kristiansand" href="/flybilletter/4-NO-HAU-KRS/Europa/Norge/Haugesund-Kristiansand.aspx">Kristiansand</a></li><li><a rel="nofollow" title="Flybilletter til Kristiansund" href="/flybilletter/4-NO-HAU-KSU/Europa/Norge/Haugesund-Kristiansund.aspx">Kristiansund</a></li><li><a rel="nofollow" title="Flybilletter til Longyearbyen" href="/flybilletter/4-NO-HAU-LYR/Europa/Norge/Haugesund-Longyearbyen.aspx">Longyearbyen</a></li><li><a rel="nofollow" title="Flybilletter til Molde" href="/flybilletter/4-NO-HAU-MOL/Europa/Norge/Haugesund-Molde.aspx">Molde</a></li><li><a rel="nofollow" title="Flybilletter til Oslo" href="/flybilletter/4-NO-HAU-OSL/Europa/Norge/Haugesund-Oslo.aspx">Oslo</a></li><li><a rel="nofollow" title="Flybilletter til Stavanger" href="/flybilletter/4-NO-HAU-SVG/Europa/Norge/Haugesund-Stavanger.aspx">Stavanger</a></li><li><a rel="nofollow" title="Flybilletter til Tromsø" href="/flybilletter/4-NO-HAU-TOS/Europa/Norge/Haugesund-Tromsø.aspx">Tromsø</a></li><li><a rel="nofollow" title="Flybilletter til Trondheim" href="/flybilletter/4-NO-HAU-TRD/Europa/Norge/Haugesund-Trondheim.aspx">Trondheim</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Spania" class="sf-with-ul" href="/flybilletter-Spania/4-HAU-ES/Europa/Haugesund-Spania.aspx">Spania<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Alicante" href="/flybilletter/4-ES-HAU-ALC/Europa/Spania/Haugesund-Alicante.aspx">Alicante</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Storbritannia" class="sf-with-ul" href="/flybilletter-Storbritannia/4-HAU-GB/Europa/Haugesund-Storbritannia.aspx">Storbritannia<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til London" href="/flybilletter/4-GB-HAU-LON/Europa/Storbritannia/Haugesund-London.aspx">London</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Sverige" class="sf-with-ul" href="/flybilletter-Sverige/4-HAU-SE/Europa/Haugesund-Sverige.aspx">Sverige<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Stockholm" href="/flybilletter/4-SE-HAU-STO/Europa/Sverige/Haugesund-Stockholm.aspx">Stockholm</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Tyskland" class="sf-with-ul" href="/flybilletter-Tyskland/4-HAU-DE/Europa/Haugesund-Tyskland.aspx">Tyskland<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Berlin" href="/flybilletter/4-DE-HAU-BER/Europa/Tyskland/Haugesund-Berlin.aspx">Berlin</a></li><li><a rel="nofollow" title="Flybilletter til Bremen" href="/flybilletter/4-DE-HAU-BRE/Europa/Tyskland/Haugesund-Bremen.aspx">Bremen</a></li><li><a rel="nofollow" title="Flybilletter til Frankfurt" href="/flybilletter/4-DE-HAU-FRA/Europa/Tyskland/Haugesund-Frankfurt.aspx">Frankfurt</a></li>'; 
var KKN = '<li class=""><a rel="nofollow" title="Fly til Frankrike" class="sf-with-ul" href="/flybilletter-Frankrike/4-KKN-FR/Europa/Kirkenes-Frankrike.aspx">Frankrike<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Paris" href="/flybilletter/4-FR-KKN-PAR/Europa/Frankrike/Kirkenes-Paris.aspx">Paris</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Norge" class="sf-with-ul" href="/flybilletter-Norge/4-KKN-NO/Europa/Kirkenes-Norge.aspx">Norge<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Ålesund" href="/flybilletter/4-NO-KKN-AES/Europa/Norge/Kirkenes-Ålesund.aspx">Ålesund</a></li><li><a rel="nofollow" title="Flybilletter til Bergen" href="/flybilletter/4-NO-KKN-BGO/Europa/Norge/Kirkenes-Bergen.aspx">Bergen</a></li><li><a rel="nofollow" title="Flybilletter til Bodø" href="/flybilletter/4-NO-KKN-BOO/Europa/Norge/Kirkenes-Bodø.aspx">Bodø</a></li><li><a rel="nofollow" title="Flybilletter til Harstad Narvik" href="/flybilletter/4-NO-KKN-EVE/Europa/Norge/Kirkenes-Harstad Narvik.aspx">Harstad Narvik</a></li><li><a rel="nofollow" title="Flybilletter til Haugesund" href="/flybilletter/4-NO-KKN-HAU/Europa/Norge/Kirkenes-Haugesund.aspx">Haugesund</a></li><li><a rel="nofollow" title="Flybilletter til Kristiansand" href="/flybilletter/4-NO-KKN-KRS/Europa/Norge/Kirkenes-Kristiansand.aspx">Kristiansand</a></li><li><a rel="nofollow" title="Flybilletter til Kristiansund" href="/flybilletter/4-NO-KKN-KSU/Europa/Norge/Kirkenes-Kristiansund.aspx">Kristiansund</a></li><li><a rel="nofollow" title="Flybilletter til Oslo" href="/flybilletter/4-NO-KKN-OSL/Europa/Norge/Kirkenes-Oslo.aspx">Oslo</a></li><li><a rel="nofollow" title="Flybilletter til Stavanger" href="/flybilletter/4-NO-KKN-SVG/Europa/Norge/Kirkenes-Stavanger.aspx">Stavanger</a></li><li><a rel="nofollow" title="Flybilletter til Trondheim" href="/flybilletter/4-NO-KKN-TRD/Europa/Norge/Kirkenes-Trondheim.aspx">Trondheim</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Storbritannia" class="sf-with-ul" href="/flybilletter-Storbritannia/4-KKN-GB/Europa/Kirkenes-Storbritannia.aspx">Storbritannia<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til London" href="/flybilletter/4-GB-KKN-LON/Europa/Storbritannia/Kirkenes-London.aspx">London</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Tyskland" class="sf-with-ul" href="/flybilletter-Tyskland/4-KKN-DE/Europa/Kirkenes-Tyskland.aspx">Tyskland<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Frankfurt" href="/flybilletter/4-DE-KKN-FRA/Europa/Tyskland/Kirkenes-Frankfurt.aspx">Frankfurt</a></li>'; 
var KRS = '<li class=""><a rel="nofollow" title="Fly til Belgia" class="sf-with-ul" href="/flybilletter-Belgia/4-KRS-BE/Europa/Kristiansand-Belgia.aspx">Belgia<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Brussel" href="/flybilletter/4-BE-KRS-BRU/Europa/Belgia/Kristiansand-Brussel.aspx">Brussel</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Danmark" class="sf-with-ul" href="/flybilletter-Danmark/4-KRS-DK/Europa/Kristiansand-Danmark.aspx">Danmark<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til København" href="/flybilletter/4-DK-KRS-CPH/Europa/Danmark/Kristiansand-København.aspx">København</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Frankrike" class="sf-with-ul" href="/flybilletter-Frankrike/4-KRS-FR/Europa/Kristiansand-Frankrike.aspx">Frankrike<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Paris" href="/flybilletter/4-FR-KRS-PAR/Europa/Frankrike/Kristiansand-Paris.aspx">Paris</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Hellas" class="sf-with-ul" href="/flybilletter-Hellas/4-KRS-GR/Europa/Kristiansand-Hellas.aspx">Hellas<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Athen" href="/flybilletter/4-GR-KRS-ATH/Europa/Hellas/Kristiansand-Athen.aspx">Athen</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Irland" class="sf-with-ul" href="/flybilletter-Irland/4-KRS-IE/Europa/Kristiansand-Irland.aspx">Irland<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Dublin" href="/flybilletter/4-IE-KRS-DUB/Europa/Irland/Kristiansand-Dublin.aspx">Dublin</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Island" class="sf-with-ul" href="/flybilletter-Island/4-KRS-IS/Europa/Kristiansand-Island.aspx">Island<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Reykjavik" href="/flybilletter/4-IS-KRS-REK/Europa/Island/Kristiansand-Reykjavik.aspx">Reykjavik</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Italia" class="sf-with-ul" href="/flybilletter-Italia/4-KRS-IT/Europa/Kristiansand-Italia.aspx">Italia<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Milano" href="/flybilletter/4-IT-KRS-MIL/Europa/Italia/Kristiansand-Milano.aspx">Milano</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Nederland" class="sf-with-ul" href="/flybilletter-Nederland/4-KRS-NL/Europa/Kristiansand-Nederland.aspx">Nederland<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Amsterdam" href="/flybilletter/4-NL-KRS-AMS/Europa/Nederland/Kristiansand-Amsterdam.aspx">Amsterdam</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Norge" class="sf-with-ul" href="/flybilletter-Norge/4-KRS-NO/Europa/Kristiansand-Norge.aspx">Norge<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Ålesund" href="/flybilletter/4-NO-KRS-AES/Europa/Norge/Kristiansand-Ålesund.aspx">Ålesund</a></li><li><a rel="nofollow" title="Flybilletter til Alta" href="/flybilletter/4-NO-KRS-ALF/Europa/Norge/Kristiansand-Alta.aspx">Alta</a></li><li><a rel="nofollow" title="Flybilletter til Bardufoss" href="/flybilletter/4-NO-KRS-BDU/Europa/Norge/Kristiansand-Bardufoss.aspx">Bardufoss</a></li><li><a rel="nofollow" title="Flybilletter til Bergen" href="/flybilletter/4-NO-KRS-BGO/Europa/Norge/Kristiansand-Bergen.aspx">Bergen</a></li><li><a rel="nofollow" title="Flybilletter til Bodø" href="/flybilletter/4-NO-KRS-BOO/Europa/Norge/Kristiansand-Bodø.aspx">Bodø</a></li><li><a rel="nofollow" title="Flybilletter til Harstad Narvik" href="/flybilletter/4-NO-KRS-EVE/Europa/Norge/Kristiansand-Harstad Narvik.aspx">Harstad Narvik</a></li><li><a rel="nofollow" title="Flybilletter til Haugesund" href="/flybilletter/4-NO-KRS-HAU/Europa/Norge/Kristiansand-Haugesund.aspx">Haugesund</a></li><li><a rel="nofollow" title="Flybilletter til Kirkenes" href="/flybilletter/4-NO-KRS-KKN/Europa/Norge/Kristiansand-Kirkenes.aspx">Kirkenes</a></li><li><a rel="nofollow" title="Flybilletter til Kristiansund" href="/flybilletter/4-NO-KRS-KSU/Europa/Norge/Kristiansand-Kristiansund.aspx">Kristiansund</a></li><li><a rel="nofollow" title="Flybilletter til Longyearbyen" href="/flybilletter/4-NO-KRS-LYR/Europa/Norge/Kristiansand-Longyearbyen.aspx">Longyearbyen</a></li><li><a rel="nofollow" title="Flybilletter til Molde" href="/flybilletter/4-NO-KRS-MOL/Europa/Norge/Kristiansand-Molde.aspx">Molde</a></li><li><a rel="nofollow" title="Flybilletter til Oslo" href="/flybilletter/4-NO-KRS-OSL/Europa/Norge/Kristiansand-Oslo.aspx">Oslo</a></li><li><a rel="nofollow" title="Flybilletter til Stavanger" href="/flybilletter/4-NO-KRS-SVG/Europa/Norge/Kristiansand-Stavanger.aspx">Stavanger</a></li><li><a rel="nofollow" title="Flybilletter til Tromsø" href="/flybilletter/4-NO-KRS-TOS/Europa/Norge/Kristiansand-Tromsø.aspx">Tromsø</a></li><li><a rel="nofollow" title="Flybilletter til Trondheim" href="/flybilletter/4-NO-KRS-TRD/Europa/Norge/Kristiansand-Trondheim.aspx">Trondheim</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Spania" class="sf-with-ul" href="/flybilletter-Spania/4-KRS-ES/Europa/Kristiansand-Spania.aspx">Spania<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Alicante" href="/flybilletter/4-ES-KRS-ALC/Europa/Spania/Kristiansand-Alicante.aspx">Alicante</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Storbritannia" class="sf-with-ul" href="/flybilletter-Storbritannia/4-KRS-GB/Europa/Kristiansand-Storbritannia.aspx">Storbritannia<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Aberdeen" href="/flybilletter/4-GB-KRS-ABZ/Europa/Storbritannia/Kristiansand-Aberdeen.aspx">Aberdeen</a></li><li><a rel="nofollow" title="Flybilletter til London" href="/flybilletter/4-GB-KRS-LON/Europa/Storbritannia/Kristiansand-London.aspx">London</a></li><li><a rel="nofollow" title="Flybilletter til Manchester" href="/flybilletter/4-GB-KRS-MAN/Europa/Storbritannia/Kristiansand-Manchester.aspx">Manchester</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Sveits" class="sf-with-ul" href="/flybilletter-Sveits/4-KRS-CH/Europa/Kristiansand-Sveits.aspx">Sveits<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Geneve" href="/flybilletter/4-CH-KRS-GVA/Europa/Sveits/Kristiansand-Geneve.aspx">Geneve</a></li><li><a rel="nofollow" title="Flybilletter til Zurich" href="/flybilletter/4-CH-KRS-ZRH/Europa/Sveits/Kristiansand-Zurich.aspx">Zurich</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Sverige" class="sf-with-ul" href="/flybilletter-Sverige/4-KRS-SE/Europa/Kristiansand-Sverige.aspx">Sverige<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Stockholm" href="/flybilletter/4-SE-KRS-STO/Europa/Sverige/Kristiansand-Stockholm.aspx">Stockholm</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Tyskland" class="sf-with-ul" href="/flybilletter-Tyskland/4-KRS-DE/Europa/Kristiansand-Tyskland.aspx">Tyskland<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Berlin" href="/flybilletter/4-DE-KRS-BER/Europa/Tyskland/Kristiansand-Berlin.aspx">Berlin</a></li><li><a rel="nofollow" title="Flybilletter til Dusseldorf" href="/flybilletter/4-DE-KRS-DUS/Europa/Tyskland/Kristiansand-Dusseldorf.aspx">Dusseldorf</a></li><li><a rel="nofollow" title="Flybilletter til Frankfurt" href="/flybilletter/4-DE-KRS-FRA/Europa/Tyskland/Kristiansand-Frankfurt.aspx">Frankfurt</a></li><li><a rel="nofollow" title="Flybilletter til Hannover" href="/flybilletter/4-DE-KRS-HAJ/Europa/Tyskland/Kristiansand-Hannover.aspx">Hannover</a></li>'; 
var KSU = '<li class=""><a rel="nofollow" title="Fly til Danmark" class="sf-with-ul" href="/flybilletter-Danmark/4-KSU-DK/Europa/Kristiansund-Danmark.aspx">Danmark<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til København" href="/flybilletter/4-DK-KSU-CPH/Europa/Danmark/Kristiansund-København.aspx">København</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Frankrike" class="sf-with-ul" href="/flybilletter-Frankrike/4-KSU-FR/Europa/Kristiansund-Frankrike.aspx">Frankrike<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Nice" href="/flybilletter/4-FR-KSU-NCE/Europa/Frankrike/Kristiansund-Nice.aspx">Nice</a></li><li><a rel="nofollow" title="Flybilletter til Paris" href="/flybilletter/4-FR-KSU-PAR/Europa/Frankrike/Kristiansund-Paris.aspx">Paris</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Irland" class="sf-with-ul" href="/flybilletter-Irland/4-KSU-IE/Europa/Kristiansund-Irland.aspx">Irland<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Dublin" href="/flybilletter/4-IE-KSU-DUB/Europa/Irland/Kristiansund-Dublin.aspx">Dublin</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Island" class="sf-with-ul" href="/flybilletter-Island/4-KSU-IS/Europa/Kristiansund-Island.aspx">Island<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Reykjavik" href="/flybilletter/4-IS-KSU-REK/Europa/Island/Kristiansund-Reykjavik.aspx">Reykjavik</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Italia" class="sf-with-ul" href="/flybilletter-Italia/4-KSU-IT/Europa/Kristiansund-Italia.aspx">Italia<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Milano" href="/flybilletter/4-IT-KSU-MIL/Europa/Italia/Kristiansund-Milano.aspx">Milano</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Nederland" class="sf-with-ul" href="/flybilletter-Nederland/4-KSU-NL/Europa/Kristiansund-Nederland.aspx">Nederland<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Amsterdam" href="/flybilletter/4-NL-KSU-AMS/Europa/Nederland/Kristiansund-Amsterdam.aspx">Amsterdam</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Norge" class="sf-with-ul" href="/flybilletter-Norge/4-KSU-NO/Europa/Kristiansund-Norge.aspx">Norge<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Bergen" href="/flybilletter/4-NO-KSU-BGO/Europa/Norge/Kristiansund-Bergen.aspx">Bergen</a></li><li><a rel="nofollow" title="Flybilletter til Bodø" href="/flybilletter/4-NO-KSU-BOO/Europa/Norge/Kristiansund-Bodø.aspx">Bodø</a></li><li><a rel="nofollow" title="Flybilletter til Harstad Narvik" href="/flybilletter/4-NO-KSU-EVE/Europa/Norge/Kristiansund-Harstad Narvik.aspx">Harstad Narvik</a></li><li><a rel="nofollow" title="Flybilletter til Haugesund" href="/flybilletter/4-NO-KSU-HAU/Europa/Norge/Kristiansund-Haugesund.aspx">Haugesund</a></li><li><a rel="nofollow" title="Flybilletter til Kirkenes" href="/flybilletter/4-NO-KSU-KKN/Europa/Norge/Kristiansund-Kirkenes.aspx">Kirkenes</a></li><li><a rel="nofollow" title="Flybilletter til Kristiansand" href="/flybilletter/4-NO-KSU-KRS/Europa/Norge/Kristiansund-Kristiansand.aspx">Kristiansand</a></li><li><a rel="nofollow" title="Flybilletter til Oslo" href="/flybilletter/4-NO-KSU-OSL/Europa/Norge/Kristiansund-Oslo.aspx">Oslo</a></li><li><a rel="nofollow" title="Flybilletter til Stavanger" href="/flybilletter/4-NO-KSU-SVG/Europa/Norge/Kristiansund-Stavanger.aspx">Stavanger</a></li><li><a rel="nofollow" title="Flybilletter til Tromsø" href="/flybilletter/4-NO-KSU-TOS/Europa/Norge/Kristiansund-Tromsø.aspx">Tromsø</a></li><li><a rel="nofollow" title="Flybilletter til Trondheim" href="/flybilletter/4-NO-KSU-TRD/Europa/Norge/Kristiansund-Trondheim.aspx">Trondheim</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Polen" class="sf-with-ul" href="/flybilletter-Polen/4-KSU-PL/Europa/Kristiansund-Polen.aspx">Polen<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Gdansk" href="/flybilletter/4-PL-KSU-GDN/Europa/Polen/Kristiansund-Gdansk.aspx">Gdansk</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Spania" class="sf-with-ul" href="/flybilletter-Spania/4-KSU-ES/Europa/Kristiansund-Spania.aspx">Spania<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Barcelona" href="/flybilletter/4-ES-KSU-BCN/Europa/Spania/Kristiansund-Barcelona.aspx">Barcelona</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Storbritannia" class="sf-with-ul" href="/flybilletter-Storbritannia/4-KSU-GB/Europa/Kristiansund-Storbritannia.aspx">Storbritannia<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Aberdeen" href="/flybilletter/4-GB-KSU-ABZ/Europa/Storbritannia/Kristiansund-Aberdeen.aspx">Aberdeen</a></li><li><a rel="nofollow" title="Flybilletter til London" href="/flybilletter/4-GB-KSU-LON/Europa/Storbritannia/Kristiansund-London.aspx">London</a></li><li><a rel="nofollow" title="Flybilletter til Manchester" href="/flybilletter/4-GB-KSU-MAN/Europa/Storbritannia/Kristiansund-Manchester.aspx">Manchester</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Sverige" class="sf-with-ul" href="/flybilletter-Sverige/4-KSU-SE/Europa/Kristiansund-Sverige.aspx">Sverige<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Stockholm" href="/flybilletter/4-SE-KSU-STO/Europa/Sverige/Kristiansund-Stockholm.aspx">Stockholm</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Tyskland" class="sf-with-ul" href="/flybilletter-Tyskland/4-KSU-DE/Europa/Kristiansund-Tyskland.aspx">Tyskland<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Dusseldorf" href="/flybilletter/4-DE-KSU-DUS/Europa/Tyskland/Kristiansund-Dusseldorf.aspx">Dusseldorf</a></li>'; 
var LYR = '<li class=""><a rel="nofollow" title="Fly til Danmark" class="sf-with-ul" href="/flybilletter-Danmark/4-LYR-DK/Europa/Longyearbyen-Danmark.aspx">Danmark<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til København" href="/flybilletter/4-DK-LYR-CPH/Europa/Danmark/Longyearbyen-København.aspx">København</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Norge" class="sf-with-ul" href="/flybilletter-Norge/4-LYR-NO/Europa/Longyearbyen-Norge.aspx">Norge<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Ålesund" href="/flybilletter/4-NO-LYR-AES/Europa/Norge/Longyearbyen-Ålesund.aspx">Ålesund</a></li><li><a rel="nofollow" title="Flybilletter til Alta" href="/flybilletter/4-NO-LYR-ALF/Europa/Norge/Longyearbyen-Alta.aspx">Alta</a></li><li><a rel="nofollow" title="Flybilletter til Bergen" href="/flybilletter/4-NO-LYR-BGO/Europa/Norge/Longyearbyen-Bergen.aspx">Bergen</a></li><li><a rel="nofollow" title="Flybilletter til Bodø" href="/flybilletter/4-NO-LYR-BOO/Europa/Norge/Longyearbyen-Bodø.aspx">Bodø</a></li><li><a rel="nofollow" title="Flybilletter til Harstad Narvik" href="/flybilletter/4-NO-LYR-EVE/Europa/Norge/Longyearbyen-Harstad Narvik.aspx">Harstad Narvik</a></li><li><a rel="nofollow" title="Flybilletter til Haugesund" href="/flybilletter/4-NO-LYR-HAU/Europa/Norge/Longyearbyen-Haugesund.aspx">Haugesund</a></li><li><a rel="nofollow" title="Flybilletter til Kristiansand" href="/flybilletter/4-NO-LYR-KRS/Europa/Norge/Longyearbyen-Kristiansand.aspx">Kristiansand</a></li><li><a rel="nofollow" title="Flybilletter til Oslo" href="/flybilletter/4-NO-LYR-OSL/Europa/Norge/Longyearbyen-Oslo.aspx">Oslo</a></li><li><a rel="nofollow" title="Flybilletter til Stavanger" href="/flybilletter/4-NO-LYR-SVG/Europa/Norge/Longyearbyen-Stavanger.aspx">Stavanger</a></li><li><a rel="nofollow" title="Flybilletter til Tromsø" href="/flybilletter/4-NO-LYR-TOS/Europa/Norge/Longyearbyen-Tromsø.aspx">Tromsø</a></li><li><a rel="nofollow" title="Flybilletter til Trondheim" href="/flybilletter/4-NO-LYR-TRD/Europa/Norge/Longyearbyen-Trondheim.aspx">Trondheim</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Sverige" class="sf-with-ul" href="/flybilletter-Sverige/4-LYR-SE/Europa/Longyearbyen-Sverige.aspx">Sverige<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Stockholm" href="/flybilletter/4-SE-LYR-STO/Europa/Sverige/Longyearbyen-Stockholm.aspx">Stockholm</a></li>'; 
var MOL = '<li class=""><a rel="nofollow" title="Fly til Belgia" class="sf-with-ul" href="/flybilletter-Belgia/4-MOL-BE/Europa/Molde-Belgia.aspx">Belgia<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Brussel" href="/flybilletter/4-BE-MOL-BRU/Europa/Belgia/Molde-Brussel.aspx">Brussel</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Danmark" class="sf-with-ul" href="/flybilletter-Danmark/4-MOL-DK/Europa/Molde-Danmark.aspx">Danmark<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til København" href="/flybilletter/4-DK-MOL-CPH/Europa/Danmark/Molde-København.aspx">København</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Frankrike" class="sf-with-ul" href="/flybilletter-Frankrike/4-MOL-FR/Europa/Molde-Frankrike.aspx">Frankrike<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Nice" href="/flybilletter/4-FR-MOL-NCE/Europa/Frankrike/Molde-Nice.aspx">Nice</a></li><li><a rel="nofollow" title="Flybilletter til Paris" href="/flybilletter/4-FR-MOL-PAR/Europa/Frankrike/Molde-Paris.aspx">Paris</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Island" class="sf-with-ul" href="/flybilletter-Island/4-MOL-IS/Europa/Molde-Island.aspx">Island<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Reykjavik" href="/flybilletter/4-IS-MOL-REK/Europa/Island/Molde-Reykjavik.aspx">Reykjavik</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Italia" class="sf-with-ul" href="/flybilletter-Italia/4-MOL-IT/Europa/Molde-Italia.aspx">Italia<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Milano" href="/flybilletter/4-IT-MOL-MIL/Europa/Italia/Molde-Milano.aspx">Milano</a></li><li><a rel="nofollow" title="Flybilletter til Roma" href="/flybilletter/4-IT-MOL-ROM/Europa/Italia/Molde-Roma.aspx">Roma</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Nederland" class="sf-with-ul" href="/flybilletter-Nederland/4-MOL-NL/Europa/Molde-Nederland.aspx">Nederland<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Amsterdam" href="/flybilletter/4-NL-MOL-AMS/Europa/Nederland/Molde-Amsterdam.aspx">Amsterdam</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Norge" class="sf-with-ul" href="/flybilletter-Norge/4-MOL-NO/Europa/Molde-Norge.aspx">Norge<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Ålesund" href="/flybilletter/4-NO-MOL-AES/Europa/Norge/Molde-Ålesund.aspx">Ålesund</a></li><li><a rel="nofollow" title="Flybilletter til Alta" href="/flybilletter/4-NO-MOL-ALF/Europa/Norge/Molde-Alta.aspx">Alta</a></li><li><a rel="nofollow" title="Flybilletter til Bardufoss" href="/flybilletter/4-NO-MOL-BDU/Europa/Norge/Molde-Bardufoss.aspx">Bardufoss</a></li><li><a rel="nofollow" title="Flybilletter til Bergen" href="/flybilletter/4-NO-MOL-BGO/Europa/Norge/Molde-Bergen.aspx">Bergen</a></li><li><a rel="nofollow" title="Flybilletter til Bodø" href="/flybilletter/4-NO-MOL-BOO/Europa/Norge/Molde-Bodø.aspx">Bodø</a></li><li><a rel="nofollow" title="Flybilletter til Harstad Narvik" href="/flybilletter/4-NO-MOL-EVE/Europa/Norge/Molde-Harstad Narvik.aspx">Harstad Narvik</a></li><li><a rel="nofollow" title="Flybilletter til Haugesund" href="/flybilletter/4-NO-MOL-HAU/Europa/Norge/Molde-Haugesund.aspx">Haugesund</a></li><li><a rel="nofollow" title="Flybilletter til Kristiansand" href="/flybilletter/4-NO-MOL-KRS/Europa/Norge/Molde-Kristiansand.aspx">Kristiansand</a></li><li><a rel="nofollow" title="Flybilletter til Oslo" href="/flybilletter/4-NO-MOL-OSL/Europa/Norge/Molde-Oslo.aspx">Oslo</a></li><li><a rel="nofollow" title="Flybilletter til Stavanger" href="/flybilletter/4-NO-MOL-SVG/Europa/Norge/Molde-Stavanger.aspx">Stavanger</a></li><li><a rel="nofollow" title="Flybilletter til Tromsø" href="/flybilletter/4-NO-MOL-TOS/Europa/Norge/Molde-Tromsø.aspx">Tromsø</a></li><li><a rel="nofollow" title="Flybilletter til Trondheim" href="/flybilletter/4-NO-MOL-TRD/Europa/Norge/Molde-Trondheim.aspx">Trondheim</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Polen" class="sf-with-ul" href="/flybilletter-Polen/4-MOL-PL/Europa/Molde-Polen.aspx">Polen<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Warszawa" href="/flybilletter/4-PL-MOL-WAW/Europa/Polen/Molde-Warszawa.aspx">Warszawa</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Storbritannia" class="sf-with-ul" href="/flybilletter-Storbritannia/4-MOL-GB/Europa/Molde-Storbritannia.aspx">Storbritannia<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Aberdeen" href="/flybilletter/4-GB-MOL-ABZ/Europa/Storbritannia/Molde-Aberdeen.aspx">Aberdeen</a></li><li><a rel="nofollow" title="Flybilletter til London" href="/flybilletter/4-GB-MOL-LON/Europa/Storbritannia/Molde-London.aspx">London</a></li><li><a rel="nofollow" title="Flybilletter til Manchester" href="/flybilletter/4-GB-MOL-MAN/Europa/Storbritannia/Molde-Manchester.aspx">Manchester</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Sverige" class="sf-with-ul" href="/flybilletter-Sverige/4-MOL-SE/Europa/Molde-Sverige.aspx">Sverige<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Stockholm" href="/flybilletter/4-SE-MOL-STO/Europa/Sverige/Molde-Stockholm.aspx">Stockholm</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Tyskland" class="sf-with-ul" href="/flybilletter-Tyskland/4-MOL-DE/Europa/Molde-Tyskland.aspx">Tyskland<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Berlin" href="/flybilletter/4-DE-MOL-BER/Europa/Tyskland/Molde-Berlin.aspx">Berlin</a></li><li><a rel="nofollow" title="Flybilletter til Frankfurt" href="/flybilletter/4-DE-MOL-FRA/Europa/Tyskland/Molde-Frankfurt.aspx">Frankfurt</a></li>'; 
var RYG = '<li class=""><a rel="nofollow" title="Fly til Belgia" class="sf-with-ul" href="/flybilletter-Belgia/4-RYG-BE/Europa/Moss Rygge-Belgia.aspx">Belgia<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Brussels Charleroi  South" href="/flybilletter/4-BE-RYG-CRL/Europa/Belgia/Moss Rygge-Brussels Charleroi  South.aspx">Brussels Charleroi  South</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Danmark" class="sf-with-ul" href="/flybilletter-Danmark/4-RYG-DK/Europa/Moss Rygge-Danmark.aspx">Danmark<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Århus" href="/flybilletter/4-DK-RYG-AAR/Europa/Danmark/Moss Rygge-Århus.aspx">Århus</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Frankrike" class="sf-with-ul" href="/flybilletter-Frankrike/4-RYG-FR/Europa/Moss Rygge-Frankrike.aspx">Frankrike<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Beauvais" href="/flybilletter/4-FR-RYG-BVA/Europa/Frankrike/Moss Rygge-Beauvais.aspx">Beauvais</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Hellas" class="sf-with-ul" href="/flybilletter-Hellas/4-RYG-GR/Europa/Moss Rygge-Hellas.aspx">Hellas<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Athen" href="/flybilletter/4-GR-RYG-ATH/Europa/Hellas/Moss Rygge-Athen.aspx">Athen</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Irland" class="sf-with-ul" href="/flybilletter-Irland/4-RYG-IE/Europa/Moss Rygge-Irland.aspx">Irland<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Dublin" href="/flybilletter/4-IE-RYG-DUB/Europa/Irland/Moss Rygge-Dublin.aspx">Dublin</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Italia" class="sf-with-ul" href="/flybilletter-Italia/4-RYG-IT/Europa/Moss Rygge-Italia.aspx">Italia<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Treviso" href="/flybilletter/4-IT-RYG-TSF/Europa/Italia/Moss Rygge-Treviso.aspx">Treviso</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Latvia" class="sf-with-ul" href="/flybilletter-Latvia/4-RYG-LV/Europa/Moss Rygge-Latvia.aspx">Latvia<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Riga" href="/flybilletter/4-LV-RYG-RIX/Europa/Latvia/Moss Rygge-Riga.aspx">Riga</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Nederland" class="sf-with-ul" href="/flybilletter-Nederland/4-RYG-NL/Europa/Moss Rygge-Nederland.aspx">Nederland<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Eindhoven" href="/flybilletter/4-NL-RYG-EIN/Europa/Nederland/Moss Rygge-Eindhoven.aspx">Eindhoven</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Norge" class="sf-with-ul" href="/flybilletter-Norge/4-RYG-NO/Europa/Moss Rygge-Norge.aspx">Norge<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Bergen" href="/flybilletter/4-NO-RYG-BGO/Europa/Norge/Moss Rygge-Bergen.aspx">Bergen</a></li><li><a rel="nofollow" title="Flybilletter til Bodø" href="/flybilletter/4-NO-RYG-BOO/Europa/Norge/Moss Rygge-Bodø.aspx">Bodø</a></li><li><a rel="nofollow" title="Flybilletter til Stavanger" href="/flybilletter/4-NO-RYG-SVG/Europa/Norge/Moss Rygge-Stavanger.aspx">Stavanger</a></li><li><a rel="nofollow" title="Flybilletter til Tromsø" href="/flybilletter/4-NO-RYG-TOS/Europa/Norge/Moss Rygge-Tromsø.aspx">Tromsø</a></li><li><a rel="nofollow" title="Flybilletter til Trondheim" href="/flybilletter/4-NO-RYG-TRD/Europa/Norge/Moss Rygge-Trondheim.aspx">Trondheim</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Polen" class="sf-with-ul" href="/flybilletter-Polen/4-RYG-PL/Europa/Moss Rygge-Polen.aspx">Polen<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Krakow" href="/flybilletter/4-PL-RYG-KRK/Europa/Polen/Moss Rygge-Krakow.aspx">Krakow</a></li><li><a rel="nofollow" title="Flybilletter til Wroclaw" href="/flybilletter/4-PL-RYG-WRO/Europa/Polen/Moss Rygge-Wroclaw.aspx">Wroclaw</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Spania" class="sf-with-ul" href="/flybilletter-Spania/4-RYG-ES/Europa/Moss Rygge-Spania.aspx">Spania<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Alicante" href="/flybilletter/4-ES-RYG-ALC/Europa/Spania/Moss Rygge-Alicante.aspx">Alicante</a></li><li><a rel="nofollow" title="Flybilletter til Barcelona" href="/flybilletter/4-ES-RYG-BCN/Europa/Spania/Moss Rygge-Barcelona.aspx">Barcelona</a></li><li><a rel="nofollow" title="Flybilletter til Malaga" href="/flybilletter/4-ES-RYG-AGP/Europa/Spania/Moss Rygge-Malaga.aspx">Malaga</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Storbritannia" class="sf-with-ul" href="/flybilletter-Storbritannia/4-RYG-GB/Europa/Moss Rygge-Storbritannia.aspx">Storbritannia<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til London" href="/flybilletter/4-GB-RYG-LON/Europa/Storbritannia/Moss Rygge-London.aspx">London</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Sverige" class="sf-with-ul" href="/flybilletter-Sverige/4-RYG-SE/Europa/Moss Rygge-Sverige.aspx">Sverige<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Stockholm" href="/flybilletter/4-SE-RYG-STO/Europa/Sverige/Moss Rygge-Stockholm.aspx">Stockholm</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Tyrkia" class="sf-with-ul" href="/flybilletter-Tyrkia/5-RYG-TR/Midtøsten/Moss Rygge-Tyrkia.aspx">Tyrkia<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Antalya" href="/flybilletter/5-TR-RYG-AYT/Midtøsten/Tyrkia/Moss Rygge-Antalya.aspx">Antalya</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Tyskland" class="sf-with-ul" href="/flybilletter-Tyskland/4-RYG-DE/Europa/Moss Rygge-Tyskland.aspx">Tyskland<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Berlin Schonefeld" href="/flybilletter/4-DE-RYG-SXF/Europa/Tyskland/Moss Rygge-Berlin Schonefeld.aspx">Berlin Schonefeld</a></li><li><a rel="nofollow" title="Flybilletter til Dusseldorf Weeze" href="/flybilletter/4-DE-RYG-NRN/Europa/Tyskland/Moss Rygge-Dusseldorf Weeze.aspx">Dusseldorf Weeze</a></li><li><a rel="nofollow" title="Flybilletter til Memmingen -Allgäu" href="/flybilletter/4-DE-RYG-FMM/Europa/Tyskland/Moss Rygge-Memmingen -Allgäu.aspx">Memmingen -Allgäu</a></li>'; 
var OSL = '<li class=""><a rel="nofollow" title="Fly til Bulgaria" class="sf-with-ul" href="/flybilletter-Bulgaria/4-OSL-BG/Europa/Oslo-Bulgaria.aspx">Bulgaria<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Bourgas" href="/flybilletter/4-BG-OSL-BOJ/Europa/Bulgaria/Oslo-Bourgas.aspx">Bourgas</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Danmark" class="sf-with-ul" href="/flybilletter-Danmark/4-OSL-DK/Europa/Oslo-Danmark.aspx">Danmark<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Ålborg" href="/flybilletter/4-DK-OSL-AAL/Europa/Danmark/Oslo-Ålborg.aspx">Ålborg</a></li><li><a rel="nofollow" title="Flybilletter til Billund" href="/flybilletter/4-DK-OSL-BLL/Europa/Danmark/Oslo-Billund.aspx">Billund</a></li><li><a rel="nofollow" title="Flybilletter til Karup" href="/flybilletter/4-DK-OSL-KRP/Europa/Danmark/Oslo-Karup.aspx">Karup</a></li><li><a rel="nofollow" title="Flybilletter til København" href="/flybilletter/4-DK-OSL-CPH/Europa/Danmark/Oslo-København.aspx">København</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Estland" class="sf-with-ul" href="/flybilletter-Estland/4-OSL-EE/Europa/Oslo-Estland.aspx">Estland<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Tallinn" href="/flybilletter/4-EE-OSL-TLL/Europa/Estland/Oslo-Tallinn.aspx">Tallinn</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Finland" class="sf-with-ul" href="/flybilletter-Finland/4-OSL-FI/Europa/Oslo-Finland.aspx">Finland<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Helsingfors" href="/flybilletter/4-FI-OSL-HEL/Europa/Finland/Oslo-Helsingfors.aspx">Helsingfors</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Frankrike" class="sf-with-ul" href="/flybilletter-Frankrike/4-OSL-FR/Europa/Oslo-Frankrike.aspx">Frankrike<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Bordeaux" href="/flybilletter/4-FR-OSL-BOD/Europa/Frankrike/Oslo-Bordeaux.aspx">Bordeaux</a></li><li><a rel="nofollow" title="Flybilletter til Nice" href="/flybilletter/4-FR-OSL-NCE/Europa/Frankrike/Oslo-Nice.aspx">Nice</a></li><li><a rel="nofollow" title="Flybilletter til Paris" href="/flybilletter/4-FR-OSL-PAR/Europa/Frankrike/Oslo-Paris.aspx">Paris</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Hellas" class="sf-with-ul" href="/flybilletter-Hellas/4-OSL-GR/Europa/Oslo-Hellas.aspx">Hellas<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Chania" href="/flybilletter/4-GR-OSL-CHQ/Europa/Hellas/Oslo-Chania.aspx">Chania</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Irland" class="sf-with-ul" href="/flybilletter-Irland/4-OSL-IE/Europa/Oslo-Irland.aspx">Irland<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Dublin" href="/flybilletter/4-IE-OSL-DUB/Europa/Irland/Oslo-Dublin.aspx">Dublin</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Island" class="sf-with-ul" href="/flybilletter-Island/4-OSL-IS/Europa/Oslo-Island.aspx">Island<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Reykjavik" href="/flybilletter/4-IS-OSL-REK/Europa/Island/Oslo-Reykjavik.aspx">Reykjavik</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Italia" class="sf-with-ul" href="/flybilletter-Italia/4-OSL-IT/Europa/Oslo-Italia.aspx">Italia<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Bologna" href="/flybilletter/4-IT-OSL-BLQ/Europa/Italia/Oslo-Bologna.aspx">Bologna</a></li><li><a rel="nofollow" title="Flybilletter til Milan Malpensa" href="/flybilletter/4-IT-OSL-MXP/Europa/Italia/Oslo-Milan Malpensa.aspx">Milan Malpensa</a></li><li><a rel="nofollow" title="Flybilletter til Olbia" href="/flybilletter/4-IT-OSL-OLB/Europa/Italia/Oslo-Olbia.aspx">Olbia</a></li><li><a rel="nofollow" title="Flybilletter til Pisa" href="/flybilletter/4-IT-OSL-PSA/Europa/Italia/Oslo-Pisa.aspx">Pisa</a></li><li><a rel="nofollow" title="Flybilletter til Roma" href="/flybilletter/4-IT-OSL-ROM/Europa/Italia/Oslo-Roma.aspx">Roma</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Jugoslavia" class="sf-with-ul" href="/flybilletter-Jugoslavia/4-OSL-YU/Europa/Oslo-Jugoslavia.aspx">Jugoslavia<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Beograd" href="/flybilletter/4-YU-OSL-BEG/Europa/Jugoslavia/Oslo-Beograd.aspx">Beograd</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Kroatia" class="sf-with-ul" href="/flybilletter-Kroatia/4-OSL-HR/Europa/Oslo-Kroatia.aspx">Kroatia<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Dubrovnik" href="/flybilletter/4-HR-OSL-DBV/Europa/Kroatia/Oslo-Dubrovnik.aspx">Dubrovnik</a></li><li><a rel="nofollow" title="Flybilletter til Pula" href="/flybilletter/4-HR-OSL-PUY/Europa/Kroatia/Oslo-Pula.aspx">Pula</a></li><li><a rel="nofollow" title="Flybilletter til Split" href="/flybilletter/4-HR-OSL-SPU/Europa/Kroatia/Oslo-Split.aspx">Split</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Kypros" class="sf-with-ul" href="/flybilletter-Kypros/4-OSL-CY/Europa/Oslo-Kypros.aspx">Kypros<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Larnaca" href="/flybilletter/4-CY-OSL-LCA/Europa/Kypros/Oslo-Larnaca.aspx">Larnaca</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Latvia" class="sf-with-ul" href="/flybilletter-Latvia/4-OSL-LV/Europa/Oslo-Latvia.aspx">Latvia<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Riga" href="/flybilletter/4-LV-OSL-RIX/Europa/Latvia/Oslo-Riga.aspx">Riga</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Litauen" class="sf-with-ul" href="/flybilletter-Litauen/4-OSL-LT/Europa/Oslo-Litauen.aspx">Litauen<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Palanga" href="/flybilletter/4-LT-OSL-PLQ/Europa/Litauen/Oslo-Palanga.aspx">Palanga</a></li><li><a rel="nofollow" title="Flybilletter til Vilnius" href="/flybilletter/4-LT-OSL-VNO/Europa/Litauen/Oslo-Vilnius.aspx">Vilnius</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Luxemburg" class="sf-with-ul" href="/flybilletter-Luxembourg/4-OSL-LU/Europa/Oslo-Luxembourg.aspx">Luxemburg<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Luxembourg" href="/flybilletter/4-LU-OSL-LUX/Europa/Luxembourg/Oslo-Luxembourg.aspx">Luxembourg</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Malta" class="sf-with-ul" href="/flybilletter-Malta/4-OSL-MT/Europa/Oslo-Malta.aspx">Malta<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Malta" href="/flybilletter/4-MT-OSL-MLA/Europa/Malta/Oslo-Malta.aspx">Malta</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Marokko" class="sf-with-ul" href="/flybilletter-Marokko/1-OSL-MA/Afrika/Oslo-Marokko.aspx">Marokko<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Marrakech" href="/flybilletter/1-MA-OSL-RAK/Afrika/Marokko/Oslo-Marrakech.aspx">Marrakech</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Nederland" class="sf-with-ul" href="/flybilletter-Nederland/4-OSL-NL/Europa/Oslo-Nederland.aspx">Nederland<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Amsterdam" href="/flybilletter/4-NL-OSL-AMS/Europa/Nederland/Oslo-Amsterdam.aspx">Amsterdam</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Norge" class="sf-with-ul" href="/flybilletter-Norge/4-OSL-NO/Europa/Oslo-Norge.aspx">Norge<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Ålesund" href="/flybilletter/4-NO-OSL-AES/Europa/Norge/Oslo-Ålesund.aspx">Ålesund</a></li><li><a rel="nofollow" title="Flybilletter til Alta" href="/flybilletter/4-NO-OSL-ALF/Europa/Norge/Oslo-Alta.aspx">Alta</a></li><li><a rel="nofollow" title="Flybilletter til Bardufoss" href="/flybilletter/4-NO-OSL-BDU/Europa/Norge/Oslo-Bardufoss.aspx">Bardufoss</a></li><li><a rel="nofollow" title="Flybilletter til Bergen" href="/flybilletter/4-NO-OSL-BGO/Europa/Norge/Oslo-Bergen.aspx">Bergen</a></li><li><a rel="nofollow" title="Flybilletter til Bodø" href="/flybilletter/4-NO-OSL-BOO/Europa/Norge/Oslo-Bodø.aspx">Bodø</a></li><li><a rel="nofollow" title="Flybilletter til Harstad Narvik" href="/flybilletter/4-NO-OSL-EVE/Europa/Norge/Oslo-Harstad Narvik.aspx">Harstad Narvik</a></li><li><a rel="nofollow" title="Flybilletter til Haugesund" href="/flybilletter/4-NO-OSL-HAU/Europa/Norge/Oslo-Haugesund.aspx">Haugesund</a></li><li><a rel="nofollow" title="Flybilletter til Kirkenes" href="/flybilletter/4-NO-OSL-KKN/Europa/Norge/Oslo-Kirkenes.aspx">Kirkenes</a></li><li><a rel="nofollow" title="Flybilletter til Kristiansand" href="/flybilletter/4-NO-OSL-KRS/Europa/Norge/Oslo-Kristiansand.aspx">Kristiansand</a></li><li><a rel="nofollow" title="Flybilletter til Kristiansund" href="/flybilletter/4-NO-OSL-KSU/Europa/Norge/Oslo-Kristiansund.aspx">Kristiansund</a></li><li><a rel="nofollow" title="Flybilletter til Longyearbyen" href="/flybilletter/4-NO-OSL-LYR/Europa/Norge/Oslo-Longyearbyen.aspx">Longyearbyen</a></li><li><a rel="nofollow" title="Flybilletter til Molde" href="/flybilletter/4-NO-OSL-MOL/Europa/Norge/Oslo-Molde.aspx">Molde</a></li><li><a rel="nofollow" title="Flybilletter til Stavanger" href="/flybilletter/4-NO-OSL-SVG/Europa/Norge/Oslo-Stavanger.aspx">Stavanger</a></li><li><a rel="nofollow" title="Flybilletter til Tromsø" href="/flybilletter/4-NO-OSL-TOS/Europa/Norge/Oslo-Tromsø.aspx">Tromsø</a></li><li><a rel="nofollow" title="Flybilletter til Trondheim" href="/flybilletter/4-NO-OSL-TRD/Europa/Norge/Oslo-Trondheim.aspx">Trondheim</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Østerrike" class="sf-with-ul" href="/flybilletter-Østerrike/4-OSL-AT/Europa/Oslo-Østerrike.aspx">Østerrike<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Wien" href="/flybilletter/4-AT-OSL-VIE/Europa/Østerrike/Oslo-Wien.aspx">Wien</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Polen" class="sf-with-ul" href="/flybilletter-Polen/4-OSL-PL/Europa/Oslo-Polen.aspx">Polen<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Gdansk" href="/flybilletter/4-PL-OSL-GDN/Europa/Polen/Oslo-Gdansk.aspx">Gdansk</a></li><li><a rel="nofollow" title="Flybilletter til Krakow" href="/flybilletter/4-PL-OSL-KRK/Europa/Polen/Oslo-Krakow.aspx">Krakow</a></li><li><a rel="nofollow" title="Flybilletter til Poznan" href="/flybilletter/4-PL-OSL-POZ/Europa/Polen/Oslo-Poznan.aspx">Poznan</a></li><li><a rel="nofollow" title="Flybilletter til Szczecin" href="/flybilletter/4-PL-OSL-SZZ/Europa/Polen/Oslo-Szczecin.aspx">Szczecin</a></li><li><a rel="nofollow" title="Flybilletter til Warszawa" href="/flybilletter/4-PL-OSL-WAW/Europa/Polen/Oslo-Warszawa.aspx">Warszawa</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Portugal" class="sf-with-ul" href="/flybilletter-Portugal/4-OSL-PT/Europa/Oslo-Portugal.aspx">Portugal<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Faro" href="/flybilletter/4-PT-OSL-FAO/Europa/Portugal/Oslo-Faro.aspx">Faro</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Russland" class="sf-with-ul" href="/flybilletter-Russland/4-OSL-RU/Europa/Oslo-Russland.aspx">Russland<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til St Petersburg" href="/flybilletter/4-RU-OSL-LED/Europa/Russland/Oslo-St Petersburg.aspx">St Petersburg</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Spania" class="sf-with-ul" href="/flybilletter-Spania/4-OSL-ES/Europa/Oslo-Spania.aspx">Spania<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Alicante" href="/flybilletter/4-ES-OSL-ALC/Europa/Spania/Oslo-Alicante.aspx">Alicante</a></li><li><a rel="nofollow" title="Flybilletter til Barcelona" href="/flybilletter/4-ES-OSL-BCN/Europa/Spania/Oslo-Barcelona.aspx">Barcelona</a></li><li><a rel="nofollow" title="Flybilletter til Las Palmas Gran Canaria" href="/flybilletter/4-ES-OSL-LPA/Europa/Spania/Oslo-Las Palmas Gran Canaria.aspx">Las Palmas Gran Canaria</a></li><li><a rel="nofollow" title="Flybilletter til Malaga" href="/flybilletter/4-ES-OSL-AGP/Europa/Spania/Oslo-Malaga.aspx">Malaga</a></li><li><a rel="nofollow" title="Flybilletter til Murcia" href="/flybilletter/4-ES-OSL-MJV/Europa/Spania/Oslo-Murcia.aspx">Murcia</a></li><li><a rel="nofollow" title="Flybilletter til Palma Mallorca" href="/flybilletter/4-ES-OSL-PMI/Europa/Spania/Oslo-Palma Mallorca.aspx">Palma Mallorca</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Storbritannia" class="sf-with-ul" href="/flybilletter-Storbritannia/4-OSL-GB/Europa/Oslo-Storbritannia.aspx">Storbritannia<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Aberdeen" href="/flybilletter/4-GB-OSL-ABZ/Europa/Storbritannia/Oslo-Aberdeen.aspx">Aberdeen</a></li><li><a rel="nofollow" title="Flybilletter til Birmingham" href="/flybilletter/4-GB-OSL-BHX/Europa/Storbritannia/Oslo-Birmingham.aspx">Birmingham</a></li><li><a rel="nofollow" title="Flybilletter til Edinburgh" href="/flybilletter/4-GB-OSL-EDI/Europa/Storbritannia/Oslo-Edinburgh.aspx">Edinburgh</a></li><li><a rel="nofollow" title="Flybilletter til London Gatwick" href="/flybilletter/4-GB-OSL-LGW/Europa/Storbritannia/Oslo-London Gatwick.aspx">London Gatwick</a></li><li><a rel="nofollow" title="Flybilletter til Manchester" href="/flybilletter/4-GB-OSL-MAN/Europa/Storbritannia/Oslo-Manchester.aspx">Manchester</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Sveits" class="sf-with-ul" href="/flybilletter-Sveits/4-OSL-CH/Europa/Oslo-Sveits.aspx">Sveits<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Geneve" href="/flybilletter/4-CH-OSL-GVA/Europa/Sveits/Oslo-Geneve.aspx">Geneve</a></li><li><a rel="nofollow" title="Flybilletter til Zurich" href="/flybilletter/4-CH-OSL-ZRH/Europa/Sveits/Oslo-Zurich.aspx">Zurich</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Sverige" class="sf-with-ul" href="/flybilletter-Sverige/4-OSL-SE/Europa/Oslo-Sverige.aspx">Sverige<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Kiruna" href="/flybilletter/4-SE-OSL-KRN/Europa/Sverige/Oslo-Kiruna.aspx">Kiruna</a></li><li><a rel="nofollow" title="Flybilletter til Luleå" href="/flybilletter/4-SE-OSL-LLA/Europa/Sverige/Oslo-Luleå.aspx">Luleå</a></li><li><a rel="nofollow" title="Flybilletter til Stockholm" href="/flybilletter/4-SE-OSL-STO/Europa/Sverige/Oslo-Stockholm.aspx">Stockholm</a></li><li><a rel="nofollow" title="Flybilletter til Umeå" href="/flybilletter/4-SE-OSL-UME/Europa/Sverige/Oslo-Umeå.aspx">Umeå</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Tjekkia" class="sf-with-ul" href="/flybilletter-Tsjekkia/4-OSL-CZ/Europa/Oslo-Tsjekkia.aspx">Tjekkia<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Praha" href="/flybilletter/4-CZ-OSL-PRG/Europa/Tsjekkia/Oslo-Praha.aspx">Praha</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Tyrkia" class="sf-with-ul" href="/flybilletter-Tyrkia/5-OSL-TR/Midtøsten/Oslo-Tyrkia.aspx">Tyrkia<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Antalya" href="/flybilletter/5-TR-OSL-AYT/Midtøsten/Tyrkia/Oslo-Antalya.aspx">Antalya</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Tyskland" class="sf-with-ul" href="/flybilletter-Tyskland/4-OSL-DE/Europa/Oslo-Tyskland.aspx">Tyskland<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Berlin Schonefeld" href="/flybilletter/4-DE-OSL-SXF/Europa/Tyskland/Oslo-Berlin Schonefeld.aspx">Berlin Schonefeld</a></li><li><a rel="nofollow" title="Flybilletter til Dusseldorf" href="/flybilletter/4-DE-OSL-DUS/Europa/Tyskland/Oslo-Dusseldorf.aspx">Dusseldorf</a></li><li><a rel="nofollow" title="Flybilletter til Frankfurt" href="/flybilletter/4-DE-OSL-FRA/Europa/Tyskland/Oslo-Frankfurt.aspx">Frankfurt</a></li><li><a rel="nofollow" title="Flybilletter til Hamburg" href="/flybilletter/4-DE-OSL-HAM/Europa/Tyskland/Oslo-Hamburg.aspx">Hamburg</a></li><li><a rel="nofollow" title="Flybilletter til Hannover" href="/flybilletter/4-DE-OSL-HAJ/Europa/Tyskland/Oslo-Hannover.aspx">Hannover</a></li><li><a rel="nofollow" title="Flybilletter til Munchen" href="/flybilletter/4-DE-OSL-MUC/Europa/Tyskland/Oslo-Munchen.aspx">Munchen</a></li><li><a rel="nofollow" title="Flybilletter til Stuttgart" href="/flybilletter/4-DE-OSL-STR/Europa/Tyskland/Oslo-Stuttgart.aspx">Stuttgart</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Ungarn" class="sf-with-ul" href="/flybilletter-Ungarn/4-OSL-HU/Europa/Oslo-Ungarn.aspx">Ungarn<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Budapest" href="/flybilletter/4-HU-OSL-BUD/Europa/Ungarn/Oslo-Budapest.aspx">Budapest</a></li>'; 
var TRF = '<li class=""><a rel="nofollow" title="Fly til Frankrike" class="sf-with-ul" href="/flybilletter-Frankrike/4-TRF-FR/Europa/Sandefjord Torp-Frankrike.aspx">Frankrike<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Marseille" href="/flybilletter/4-FR-TRF-MRS/Europa/Frankrike/Sandefjord Torp-Marseille.aspx">Marseille</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Italia" class="sf-with-ul" href="/flybilletter-Italia/4-TRF-IT/Europa/Sandefjord Torp-Italia.aspx">Italia<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Bologna" href="/flybilletter/4-IT-TRF-BLQ/Europa/Italia/Sandefjord Torp-Bologna.aspx">Bologna</a></li><li><a rel="nofollow" title="Flybilletter til Milano" href="/flybilletter/4-IT-TRF-MIL/Europa/Italia/Sandefjord Torp-Milano.aspx">Milano</a></li><li><a rel="nofollow" title="Flybilletter til Pisa" href="/flybilletter/4-IT-TRF-PSA/Europa/Italia/Sandefjord Torp-Pisa.aspx">Pisa</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Spania" class="sf-with-ul" href="/flybilletter-Spania/4-TRF-ES/Europa/Sandefjord Torp-Spania.aspx">Spania<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Alicante" href="/flybilletter/4-ES-TRF-ALC/Europa/Spania/Sandefjord Torp-Alicante.aspx">Alicante</a></li><li><a rel="nofollow" title="Flybilletter til Barcelona" href="/flybilletter/4-ES-TRF-BCN/Europa/Spania/Sandefjord Torp-Barcelona.aspx">Barcelona</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Storbritannia" class="sf-with-ul" href="/flybilletter-Storbritannia/4-TRF-GB/Europa/Sandefjord Torp-Storbritannia.aspx">Storbritannia<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Edinburgh" href="/flybilletter/4-GB-TRF-EDI/Europa/Storbritannia/Sandefjord Torp-Edinburgh.aspx">Edinburgh</a></li><li><a rel="nofollow" title="Flybilletter til Liverpool" href="/flybilletter/4-GB-TRF-LPL/Europa/Storbritannia/Sandefjord Torp-Liverpool.aspx">Liverpool</a></li><li><a rel="nofollow" title="Flybilletter til London" href="/flybilletter/4-GB-TRF-LON/Europa/Storbritannia/Sandefjord Torp-London.aspx">London</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Tyskland" class="sf-with-ul" href="/flybilletter-Tyskland/4-TRF-DE/Europa/Sandefjord Torp-Tyskland.aspx">Tyskland<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Bremen" href="/flybilletter/4-DE-TRF-BRE/Europa/Tyskland/Sandefjord Torp-Bremen.aspx">Bremen</a></li><li><a rel="nofollow" title="Flybilletter til Frankfurt" href="/flybilletter/4-DE-TRF-FRA/Europa/Tyskland/Sandefjord Torp-Frankfurt.aspx">Frankfurt</a></li>'; 
var SVG = '<li class=""><a rel="nofollow" title="Fly til Belgia" class="sf-with-ul" href="/flybilletter-Belgia/4-SVG-BE/Europa/Stavanger-Belgia.aspx">Belgia<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Brussel" href="/flybilletter/4-BE-SVG-BRU/Europa/Belgia/Stavanger-Brussel.aspx">Brussel</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Danmark" class="sf-with-ul" href="/flybilletter-Danmark/4-SVG-DK/Europa/Stavanger-Danmark.aspx">Danmark<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til København" href="/flybilletter/4-DK-SVG-CPH/Europa/Danmark/Stavanger-København.aspx">København</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Finland" class="sf-with-ul" href="/flybilletter-Finland/4-SVG-FI/Europa/Stavanger-Finland.aspx">Finland<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Helsingfors" href="/flybilletter/4-FI-SVG-HEL/Europa/Finland/Stavanger-Helsingfors.aspx">Helsingfors</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Frankrike" class="sf-with-ul" href="/flybilletter-Frankrike/4-SVG-FR/Europa/Stavanger-Frankrike.aspx">Frankrike<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Nice" href="/flybilletter/4-FR-SVG-NCE/Europa/Frankrike/Stavanger-Nice.aspx">Nice</a></li><li><a rel="nofollow" title="Flybilletter til Paris" href="/flybilletter/4-FR-SVG-PAR/Europa/Frankrike/Stavanger-Paris.aspx">Paris</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Hellas" class="sf-with-ul" href="/flybilletter-Hellas/4-SVG-GR/Europa/Stavanger-Hellas.aspx">Hellas<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Athen" href="/flybilletter/4-GR-SVG-ATH/Europa/Hellas/Stavanger-Athen.aspx">Athen</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Island" class="sf-with-ul" href="/flybilletter-Island/4-SVG-IS/Europa/Stavanger-Island.aspx">Island<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Reykjavik" href="/flybilletter/4-IS-SVG-REK/Europa/Island/Stavanger-Reykjavik.aspx">Reykjavik</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Italia" class="sf-with-ul" href="/flybilletter-Italia/4-SVG-IT/Europa/Stavanger-Italia.aspx">Italia<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Milano" href="/flybilletter/4-IT-SVG-MIL/Europa/Italia/Stavanger-Milano.aspx">Milano</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Kroatia" class="sf-with-ul" href="/flybilletter-Kroatia/4-SVG-HR/Europa/Stavanger-Kroatia.aspx">Kroatia<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Dubrovnik" href="/flybilletter/4-HR-SVG-DBV/Europa/Kroatia/Stavanger-Dubrovnik.aspx">Dubrovnik</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Litauen" class="sf-with-ul" href="/flybilletter-Litauen/4-SVG-LT/Europa/Stavanger-Litauen.aspx">Litauen<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Palanga" href="/flybilletter/4-LT-SVG-PLQ/Europa/Litauen/Stavanger-Palanga.aspx">Palanga</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Norge" class="sf-with-ul" href="/flybilletter-Norge/4-SVG-NO/Europa/Stavanger-Norge.aspx">Norge<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Ålesund" href="/flybilletter/4-NO-SVG-AES/Europa/Norge/Stavanger-Ålesund.aspx">Ålesund</a></li><li><a rel="nofollow" title="Flybilletter til Alta" href="/flybilletter/4-NO-SVG-ALF/Europa/Norge/Stavanger-Alta.aspx">Alta</a></li><li><a rel="nofollow" title="Flybilletter til Bardufoss" href="/flybilletter/4-NO-SVG-BDU/Europa/Norge/Stavanger-Bardufoss.aspx">Bardufoss</a></li><li><a rel="nofollow" title="Flybilletter til Bergen" href="/flybilletter/4-NO-SVG-BGO/Europa/Norge/Stavanger-Bergen.aspx">Bergen</a></li><li><a rel="nofollow" title="Flybilletter til Bodø" href="/flybilletter/4-NO-SVG-BOO/Europa/Norge/Stavanger-Bodø.aspx">Bodø</a></li><li><a rel="nofollow" title="Flybilletter til Harstad Narvik" href="/flybilletter/4-NO-SVG-EVE/Europa/Norge/Stavanger-Harstad Narvik.aspx">Harstad Narvik</a></li><li><a rel="nofollow" title="Flybilletter til Haugesund" href="/flybilletter/4-NO-SVG-HAU/Europa/Norge/Stavanger-Haugesund.aspx">Haugesund</a></li><li><a rel="nofollow" title="Flybilletter til Kirkenes" href="/flybilletter/4-NO-SVG-KKN/Europa/Norge/Stavanger-Kirkenes.aspx">Kirkenes</a></li><li><a rel="nofollow" title="Flybilletter til Kristiansand" href="/flybilletter/4-NO-SVG-KRS/Europa/Norge/Stavanger-Kristiansand.aspx">Kristiansand</a></li><li><a rel="nofollow" title="Flybilletter til Kristiansund" href="/flybilletter/4-NO-SVG-KSU/Europa/Norge/Stavanger-Kristiansund.aspx">Kristiansund</a></li><li><a rel="nofollow" title="Flybilletter til Longyearbyen" href="/flybilletter/4-NO-SVG-LYR/Europa/Norge/Stavanger-Longyearbyen.aspx">Longyearbyen</a></li><li><a rel="nofollow" title="Flybilletter til Molde" href="/flybilletter/4-NO-SVG-MOL/Europa/Norge/Stavanger-Molde.aspx">Molde</a></li><li><a rel="nofollow" title="Flybilletter til Moss Rygge" href="/flybilletter/4-NO-SVG-RYG/Europa/Norge/Stavanger-Moss Rygge.aspx">Moss Rygge</a></li><li><a rel="nofollow" title="Flybilletter til Oslo" href="/flybilletter/4-NO-SVG-OSL/Europa/Norge/Stavanger-Oslo.aspx">Oslo</a></li><li><a rel="nofollow" title="Flybilletter til Tromsø" href="/flybilletter/4-NO-SVG-TOS/Europa/Norge/Stavanger-Tromsø.aspx">Tromsø</a></li><li><a rel="nofollow" title="Flybilletter til Trondheim" href="/flybilletter/4-NO-SVG-TRD/Europa/Norge/Stavanger-Trondheim.aspx">Trondheim</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Polen" class="sf-with-ul" href="/flybilletter-Polen/4-SVG-PL/Europa/Stavanger-Polen.aspx">Polen<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Krakow" href="/flybilletter/4-PL-SVG-KRK/Europa/Polen/Stavanger-Krakow.aspx">Krakow</a></li><li><a rel="nofollow" title="Flybilletter til Warszawa" href="/flybilletter/4-PL-SVG-WAW/Europa/Polen/Stavanger-Warszawa.aspx">Warszawa</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Spania" class="sf-with-ul" href="/flybilletter-Spania/4-SVG-ES/Europa/Stavanger-Spania.aspx">Spania<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Alicante" href="/flybilletter/4-ES-SVG-ALC/Europa/Spania/Stavanger-Alicante.aspx">Alicante</a></li><li><a rel="nofollow" title="Flybilletter til Malaga" href="/flybilletter/4-ES-SVG-AGP/Europa/Spania/Stavanger-Malaga.aspx">Malaga</a></li><li><a rel="nofollow" title="Flybilletter til Murcia" href="/flybilletter/4-ES-SVG-MJV/Europa/Spania/Stavanger-Murcia.aspx">Murcia</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Storbritannia" class="sf-with-ul" href="/flybilletter-Storbritannia/4-SVG-GB/Europa/Stavanger-Storbritannia.aspx">Storbritannia<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Birmingham" href="/flybilletter/4-GB-SVG-BHX/Europa/Storbritannia/Stavanger-Birmingham.aspx">Birmingham</a></li><li><a rel="nofollow" title="Flybilletter til London Gatwick" href="/flybilletter/4-GB-SVG-LGW/Europa/Storbritannia/Stavanger-London Gatwick.aspx">London Gatwick</a></li><li><a rel="nofollow" title="Flybilletter til Manchester" href="/flybilletter/4-GB-SVG-MAN/Europa/Storbritannia/Stavanger-Manchester.aspx">Manchester</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Sveits" class="sf-with-ul" href="/flybilletter-Sveits/4-SVG-CH/Europa/Stavanger-Sveits.aspx">Sveits<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Zurich" href="/flybilletter/4-CH-SVG-ZRH/Europa/Sveits/Stavanger-Zurich.aspx">Zurich</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Sverige" class="sf-with-ul" href="/flybilletter-Sverige/4-SVG-SE/Europa/Stavanger-Sverige.aspx">Sverige<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Stockholm" href="/flybilletter/4-SE-SVG-STO/Europa/Sverige/Stavanger-Stockholm.aspx">Stockholm</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Tjekkia" class="sf-with-ul" href="/flybilletter-Tsjekkia/4-SVG-CZ/Europa/Stavanger-Tsjekkia.aspx">Tjekkia<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Praha" href="/flybilletter/4-CZ-SVG-PRG/Europa/Tsjekkia/Stavanger-Praha.aspx">Praha</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Tyskland" class="sf-with-ul" href="/flybilletter-Tyskland/4-SVG-DE/Europa/Stavanger-Tyskland.aspx">Tyskland<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Berlin Schonefeld" href="/flybilletter/4-DE-SVG-SXF/Europa/Tyskland/Stavanger-Berlin Schonefeld.aspx">Berlin Schonefeld</a></li><li><a rel="nofollow" title="Flybilletter til Dusseldorf" href="/flybilletter/4-DE-SVG-DUS/Europa/Tyskland/Stavanger-Dusseldorf.aspx">Dusseldorf</a></li><li><a rel="nofollow" title="Flybilletter til Frankfurt" href="/flybilletter/4-DE-SVG-FRA/Europa/Tyskland/Stavanger-Frankfurt.aspx">Frankfurt</a></li><li><a rel="nofollow" title="Flybilletter til Hannover" href="/flybilletter/4-DE-SVG-HAJ/Europa/Tyskland/Stavanger-Hannover.aspx">Hannover</a></li><li><a rel="nofollow" title="Flybilletter til Stuttgart" href="/flybilletter/4-DE-SVG-STR/Europa/Tyskland/Stavanger-Stuttgart.aspx">Stuttgart</a></li>'; 
var TOS = '<li class=""><a rel="nofollow" title="Fly til Belgia" class="sf-with-ul" href="/flybilletter-Belgia/4-TOS-BE/Europa/Tromsø-Belgia.aspx">Belgia<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Brussel" href="/flybilletter/4-BE-TOS-BRU/Europa/Belgia/Tromsø-Brussel.aspx">Brussel</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Danmark" class="sf-with-ul" href="/flybilletter-Danmark/4-TOS-DK/Europa/Tromsø-Danmark.aspx">Danmark<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til København" href="/flybilletter/4-DK-TOS-CPH/Europa/Danmark/Tromsø-København.aspx">København</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Finland" class="sf-with-ul" href="/flybilletter-Finland/4-TOS-FI/Europa/Tromsø-Finland.aspx">Finland<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Helsingfors" href="/flybilletter/4-FI-TOS-HEL/Europa/Finland/Tromsø-Helsingfors.aspx">Helsingfors</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Frankrike" class="sf-with-ul" href="/flybilletter-Frankrike/4-TOS-FR/Europa/Tromsø-Frankrike.aspx">Frankrike<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Paris" href="/flybilletter/4-FR-TOS-PAR/Europa/Frankrike/Tromsø-Paris.aspx">Paris</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Island" class="sf-with-ul" href="/flybilletter-Island/4-TOS-IS/Europa/Tromsø-Island.aspx">Island<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Reykjavik" href="/flybilletter/4-IS-TOS-REK/Europa/Island/Tromsø-Reykjavik.aspx">Reykjavik</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Nederland" class="sf-with-ul" href="/flybilletter-Nederland/4-TOS-NL/Europa/Tromsø-Nederland.aspx">Nederland<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Amsterdam" href="/flybilletter/4-NL-TOS-AMS/Europa/Nederland/Tromsø-Amsterdam.aspx">Amsterdam</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Norge" class="sf-with-ul" href="/flybilletter-Norge/4-TOS-NO/Europa/Tromsø-Norge.aspx">Norge<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Ålesund" href="/flybilletter/4-NO-TOS-AES/Europa/Norge/Tromsø-Ålesund.aspx">Ålesund</a></li><li><a rel="nofollow" title="Flybilletter til Alta" href="/flybilletter/4-NO-TOS-ALF/Europa/Norge/Tromsø-Alta.aspx">Alta</a></li><li><a rel="nofollow" title="Flybilletter til Bergen" href="/flybilletter/4-NO-TOS-BGO/Europa/Norge/Tromsø-Bergen.aspx">Bergen</a></li><li><a rel="nofollow" title="Flybilletter til Bodø" href="/flybilletter/4-NO-TOS-BOO/Europa/Norge/Tromsø-Bodø.aspx">Bodø</a></li><li><a rel="nofollow" title="Flybilletter til Harstad Narvik" href="/flybilletter/4-NO-TOS-EVE/Europa/Norge/Tromsø-Harstad Narvik.aspx">Harstad Narvik</a></li><li><a rel="nofollow" title="Flybilletter til Haugesund" href="/flybilletter/4-NO-TOS-HAU/Europa/Norge/Tromsø-Haugesund.aspx">Haugesund</a></li><li><a rel="nofollow" title="Flybilletter til Kristiansand" href="/flybilletter/4-NO-TOS-KRS/Europa/Norge/Tromsø-Kristiansand.aspx">Kristiansand</a></li><li><a rel="nofollow" title="Flybilletter til Kristiansund" href="/flybilletter/4-NO-TOS-KSU/Europa/Norge/Tromsø-Kristiansund.aspx">Kristiansund</a></li><li><a rel="nofollow" title="Flybilletter til Longyearbyen" href="/flybilletter/4-NO-TOS-LYR/Europa/Norge/Tromsø-Longyearbyen.aspx">Longyearbyen</a></li><li><a rel="nofollow" title="Flybilletter til Molde" href="/flybilletter/4-NO-TOS-MOL/Europa/Norge/Tromsø-Molde.aspx">Molde</a></li><li><a rel="nofollow" title="Flybilletter til Moss Rygge" href="/flybilletter/4-NO-TOS-RYG/Europa/Norge/Tromsø-Moss Rygge.aspx">Moss Rygge</a></li><li><a rel="nofollow" title="Flybilletter til Oslo" href="/flybilletter/4-NO-TOS-OSL/Europa/Norge/Tromsø-Oslo.aspx">Oslo</a></li><li><a rel="nofollow" title="Flybilletter til Stavanger" href="/flybilletter/4-NO-TOS-SVG/Europa/Norge/Tromsø-Stavanger.aspx">Stavanger</a></li><li><a rel="nofollow" title="Flybilletter til Trondheim" href="/flybilletter/4-NO-TOS-TRD/Europa/Norge/Tromsø-Trondheim.aspx">Trondheim</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Storbritannia" class="sf-with-ul" href="/flybilletter-Storbritannia/4-TOS-GB/Europa/Tromsø-Storbritannia.aspx">Storbritannia<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Aberdeen" href="/flybilletter/4-GB-TOS-ABZ/Europa/Storbritannia/Tromsø-Aberdeen.aspx">Aberdeen</a></li><li><a rel="nofollow" title="Flybilletter til London Gatwick" href="/flybilletter/4-GB-TOS-LGW/Europa/Storbritannia/Tromsø-London Gatwick.aspx">London Gatwick</a></li><li><a rel="nofollow" title="Flybilletter til Manchester" href="/flybilletter/4-GB-TOS-MAN/Europa/Storbritannia/Tromsø-Manchester.aspx">Manchester</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Sveits" class="sf-with-ul" href="/flybilletter-Sveits/4-TOS-CH/Europa/Tromsø-Sveits.aspx">Sveits<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Zurich" href="/flybilletter/4-CH-TOS-ZRH/Europa/Sveits/Tromsø-Zurich.aspx">Zurich</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Sverige" class="sf-with-ul" href="/flybilletter-Sverige/4-TOS-SE/Europa/Tromsø-Sverige.aspx">Sverige<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Stockholm" href="/flybilletter/4-SE-TOS-STO/Europa/Sverige/Tromsø-Stockholm.aspx">Stockholm</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Tyskland" class="sf-with-ul" href="/flybilletter-Tyskland/4-TOS-DE/Europa/Tromsø-Tyskland.aspx">Tyskland<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Berlin" href="/flybilletter/4-DE-TOS-BER/Europa/Tyskland/Tromsø-Berlin.aspx">Berlin</a></li><li><a rel="nofollow" title="Flybilletter til Dusseldorf" href="/flybilletter/4-DE-TOS-DUS/Europa/Tyskland/Tromsø-Dusseldorf.aspx">Dusseldorf</a></li><li><a rel="nofollow" title="Flybilletter til Frankfurt" href="/flybilletter/4-DE-TOS-FRA/Europa/Tyskland/Tromsø-Frankfurt.aspx">Frankfurt</a></li>'; 
var TRD = '<li class=""><a rel="nofollow" title="Fly til Belgia" class="sf-with-ul" href="/flybilletter-Belgia/4-TRD-BE/Europa/Trondheim-Belgia.aspx">Belgia<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Brussel" href="/flybilletter/4-BE-TRD-BRU/Europa/Belgia/Trondheim-Brussel.aspx">Brussel</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Danmark" class="sf-with-ul" href="/flybilletter-Danmark/4-TRD-DK/Europa/Trondheim-Danmark.aspx">Danmark<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til København" href="/flybilletter/4-DK-TRD-CPH/Europa/Danmark/Trondheim-København.aspx">København</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Frankrike" class="sf-with-ul" href="/flybilletter-Frankrike/4-TRD-FR/Europa/Trondheim-Frankrike.aspx">Frankrike<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Nice" href="/flybilletter/4-FR-TRD-NCE/Europa/Frankrike/Trondheim-Nice.aspx">Nice</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Hellas" class="sf-with-ul" href="/flybilletter-Hellas/4-TRD-GR/Europa/Trondheim-Hellas.aspx">Hellas<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Athen" href="/flybilletter/4-GR-TRD-ATH/Europa/Hellas/Trondheim-Athen.aspx">Athen</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Island" class="sf-with-ul" href="/flybilletter-Island/4-TRD-IS/Europa/Trondheim-Island.aspx">Island<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Reykjavik" href="/flybilletter/4-IS-TRD-REK/Europa/Island/Trondheim-Reykjavik.aspx">Reykjavik</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Italia" class="sf-with-ul" href="/flybilletter-Italia/4-TRD-IT/Europa/Trondheim-Italia.aspx">Italia<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Bologna" href="/flybilletter/4-IT-TRD-BLQ/Europa/Italia/Trondheim-Bologna.aspx">Bologna</a></li><li><a rel="nofollow" title="Flybilletter til Milano" href="/flybilletter/4-IT-TRD-MIL/Europa/Italia/Trondheim-Milano.aspx">Milano</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Kroatia" class="sf-with-ul" href="/flybilletter-Kroatia/4-TRD-HR/Europa/Trondheim-Kroatia.aspx">Kroatia<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Dubrovnik" href="/flybilletter/4-HR-TRD-DBV/Europa/Kroatia/Trondheim-Dubrovnik.aspx">Dubrovnik</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Latvia" class="sf-with-ul" href="/flybilletter-Latvia/4-TRD-LV/Europa/Trondheim-Latvia.aspx">Latvia<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Riga" href="/flybilletter/4-LV-TRD-RIX/Europa/Latvia/Trondheim-Riga.aspx">Riga</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Luxemburg" class="sf-with-ul" href="/flybilletter-Luxembourg/4-TRD-LU/Europa/Trondheim-Luxembourg.aspx">Luxemburg<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Luxembourg" href="/flybilletter/4-LU-TRD-LUX/Europa/Luxembourg/Trondheim-Luxembourg.aspx">Luxembourg</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Norge" class="sf-with-ul" href="/flybilletter-Norge/4-TRD-NO/Europa/Trondheim-Norge.aspx">Norge<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Ålesund" href="/flybilletter/4-NO-TRD-AES/Europa/Norge/Trondheim-Ålesund.aspx">Ålesund</a></li><li><a rel="nofollow" title="Flybilletter til Alta" href="/flybilletter/4-NO-TRD-ALF/Europa/Norge/Trondheim-Alta.aspx">Alta</a></li><li><a rel="nofollow" title="Flybilletter til Bardufoss" href="/flybilletter/4-NO-TRD-BDU/Europa/Norge/Trondheim-Bardufoss.aspx">Bardufoss</a></li><li><a rel="nofollow" title="Flybilletter til Bergen" href="/flybilletter/4-NO-TRD-BGO/Europa/Norge/Trondheim-Bergen.aspx">Bergen</a></li><li><a rel="nofollow" title="Flybilletter til Bodø" href="/flybilletter/4-NO-TRD-BOO/Europa/Norge/Trondheim-Bodø.aspx">Bodø</a></li><li><a rel="nofollow" title="Flybilletter til Harstad Narvik" href="/flybilletter/4-NO-TRD-EVE/Europa/Norge/Trondheim-Harstad Narvik.aspx">Harstad Narvik</a></li><li><a rel="nofollow" title="Flybilletter til Haugesund" href="/flybilletter/4-NO-TRD-HAU/Europa/Norge/Trondheim-Haugesund.aspx">Haugesund</a></li><li><a rel="nofollow" title="Flybilletter til Kirkenes" href="/flybilletter/4-NO-TRD-KKN/Europa/Norge/Trondheim-Kirkenes.aspx">Kirkenes</a></li><li><a rel="nofollow" title="Flybilletter til Kristiansand" href="/flybilletter/4-NO-TRD-KRS/Europa/Norge/Trondheim-Kristiansand.aspx">Kristiansand</a></li><li><a rel="nofollow" title="Flybilletter til Kristiansund" href="/flybilletter/4-NO-TRD-KSU/Europa/Norge/Trondheim-Kristiansund.aspx">Kristiansund</a></li><li><a rel="nofollow" title="Flybilletter til Longyearbyen" href="/flybilletter/4-NO-TRD-LYR/Europa/Norge/Trondheim-Longyearbyen.aspx">Longyearbyen</a></li><li><a rel="nofollow" title="Flybilletter til Molde" href="/flybilletter/4-NO-TRD-MOL/Europa/Norge/Trondheim-Molde.aspx">Molde</a></li><li><a rel="nofollow" title="Flybilletter til Moss Rygge" href="/flybilletter/4-NO-TRD-RYG/Europa/Norge/Trondheim-Moss Rygge.aspx">Moss Rygge</a></li><li><a rel="nofollow" title="Flybilletter til Oslo" href="/flybilletter/4-NO-TRD-OSL/Europa/Norge/Trondheim-Oslo.aspx">Oslo</a></li><li><a rel="nofollow" title="Flybilletter til Stavanger" href="/flybilletter/4-NO-TRD-SVG/Europa/Norge/Trondheim-Stavanger.aspx">Stavanger</a></li><li><a rel="nofollow" title="Flybilletter til Tromsø" href="/flybilletter/4-NO-TRD-TOS/Europa/Norge/Trondheim-Tromsø.aspx">Tromsø</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Spania" class="sf-with-ul" href="/flybilletter-Spania/4-TRD-ES/Europa/Trondheim-Spania.aspx">Spania<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Alicante" href="/flybilletter/4-ES-TRD-ALC/Europa/Spania/Trondheim-Alicante.aspx">Alicante</a></li><li><a rel="nofollow" title="Flybilletter til Malaga" href="/flybilletter/4-ES-TRD-AGP/Europa/Spania/Trondheim-Malaga.aspx">Malaga</a></li><li><a rel="nofollow" title="Flybilletter til Murcia" href="/flybilletter/4-ES-TRD-MJV/Europa/Spania/Trondheim-Murcia.aspx">Murcia</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Storbritannia" class="sf-with-ul" href="/flybilletter-Storbritannia/4-TRD-GB/Europa/Trondheim-Storbritannia.aspx">Storbritannia<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Birmingham" href="/flybilletter/4-GB-TRD-BHX/Europa/Storbritannia/Trondheim-Birmingham.aspx">Birmingham</a></li><li><a rel="nofollow" title="Flybilletter til London Gatwick" href="/flybilletter/4-GB-TRD-LGW/Europa/Storbritannia/Trondheim-London Gatwick.aspx">London Gatwick</a></li><li><a rel="nofollow" title="Flybilletter til Manchester" href="/flybilletter/4-GB-TRD-MAN/Europa/Storbritannia/Trondheim-Manchester.aspx">Manchester</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Sveits" class="sf-with-ul" href="/flybilletter-Sveits/4-TRD-CH/Europa/Trondheim-Sveits.aspx">Sveits<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Zurich" href="/flybilletter/4-CH-TRD-ZRH/Europa/Sveits/Trondheim-Zurich.aspx">Zurich</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Sverige" class="sf-with-ul" href="/flybilletter-Sverige/4-TRD-SE/Europa/Trondheim-Sverige.aspx">Sverige<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Stockholm" href="/flybilletter/4-SE-TRD-STO/Europa/Sverige/Trondheim-Stockholm.aspx">Stockholm</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Tjekkia" class="sf-with-ul" href="/flybilletter-Tsjekkia/4-TRD-CZ/Europa/Trondheim-Tsjekkia.aspx">Tjekkia<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Praha" href="/flybilletter/4-CZ-TRD-PRG/Europa/Tsjekkia/Trondheim-Praha.aspx">Praha</a></li></ul></li><li class=""><a rel="nofollow" title="Fly til Tyskland" class="sf-with-ul" href="/flybilletter-Tyskland/4-TRD-DE/Europa/Trondheim-Tyskland.aspx">Tyskland<span class="sf-sub-indicator"> &#187;</span></a><ul><li><a rel="nofollow" title="Flybilletter til Berlin" href="/flybilletter/4-DE-TRD-BER/Europa/Tyskland/Trondheim-Berlin.aspx">Berlin</a></li><li><a rel="nofollow" title="Flybilletter til Dusseldorf" href="/flybilletter/4-DE-TRD-DUS/Europa/Tyskland/Trondheim-Dusseldorf.aspx">Dusseldorf</a></li><li><a rel="nofollow" title="Flybilletter til Frankfurt" href="/flybilletter/4-DE-TRD-FRA/Europa/Tyskland/Trondheim-Frankfurt.aspx">Frankfurt</a></li><li><a rel="nofollow" title="Flybilletter til Hannover" href="/flybilletter/4-DE-TRD-HAJ/Europa/Tyskland/Trondheim-Hannover.aspx">Hannover</a></li><li><a rel="nofollow" title="Flybilletter til Stuttgart" href="/flybilletter/4-DE-TRD-STR/Europa/Tyskland/Trondheim-Stuttgart.aspx">Stuttgart</a></li>';
// ===================================================================
// Author: Matt Kruse <matt@mattkruse.com>
// WWW: http://www.mattkruse.com/
//
// NOTICE: You may use this code for any purpose, commercial or
// private, without any further permission from the author. You may
// remove this notice from your final code if you wish, however it is
// appreciated by the author if at least my web site address is kept.
//
// You may *NOT* re-distribute this code in any way except through its
// use. That means, you can include it in your product, or your web
// site, or any other form where the code is actually being used. You
// may not put the plain javascript up on your site for download or
// include it in your javascript libraries for download. 
// If you wish to share this code with others, please just point them
// to the URL instead.
// Please DO NOT link directly to my .js files from your site. Copy
// the files to your server and use them there. Thank you.
// ===================================================================

// HISTORY
// ------------------------------------------------------------------
// May 17, 2003: Fixed bug in parseDate() for dates <1970
// March 11, 2003: Added parseDate() function
// March 11, 2003: Added "NNN" formatting option. Doesn't match up
//                 perfectly with SimpleDateFormat formats, but 
//                 backwards-compatability was required.

// ------------------------------------------------------------------
// These functions use the same 'format' strings as the 
// java.text.SimpleDateFormat class, with minor exceptions.
// The format string consists of the following abbreviations:
// 
// Field        | Full Form          | Short Form
// -------------+--------------------+-----------------------
// Year         | yyyy (4 digits)    | yy (2 digits), y (2 or 4 digits)
// Month        | MMM (name or abbr.)| MM (2 digits), M (1 or 2 digits)
//              | NNN (abbr.)        |
// Day of Month | dd (2 digits)      | d (1 or 2 digits)
// Day of Week  | EE (name)          | E (abbr)
// Hour (1-12)  | hh (2 digits)      | h (1 or 2 digits)
// Hour (0-23)  | HH (2 digits)      | H (1 or 2 digits)
// Hour (0-11)  | KK (2 digits)      | K (1 or 2 digits)
// Hour (1-24)  | kk (2 digits)      | k (1 or 2 digits)
// Minute       | mm (2 digits)      | m (1 or 2 digits)
// Second       | ss (2 digits)      | s (1 or 2 digits)
// AM/PM        | a                  |
//
// NOTE THE DIFFERENCE BETWEEN MM and mm! Month=MM, not mm!
// Examples:
//  "MMM d, y" matches: January 01, 2000
//                      Dec 1, 1900
//                      Nov 20, 00
//  "M/d/yy"   matches: 01/20/00
//                      9/2/00
//  "MMM dd, yyyy hh:mm:ssa" matches: "January 01, 2000 12:30:45AM"
// ------------------------------------------------------------------

var MONTH_NAMES = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December', 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec');
var DAY_NAMES = new Array('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat');
function LZ(x) { return (x < 0 || x > 9 ? "" : "0") + x }

// ------------------------------------------------------------------
// isDate ( date_string, format_string )
// Returns true if date string matches format of format string and
// is a valid date. Else returns false.
// It is recommended that you trim whitespace around the value before
// passing it to this function, as whitespace is NOT ignored!
// ------------------------------------------------------------------
function isDate(val, format) {
    var date = getDateFromFormat(val, format);
    if (date == 0) { return false; }
    return true;
}

// -------------------------------------------------------------------
// compareDates(date1,date1format,date2,date2format)
//   Compare two date strings to see which is greater.
//   Returns:
//   1 if date1 is greater than date2
//   0 if date2 is greater than date1 of if they are the same
//  -1 if either of the dates is in an invalid format
// -------------------------------------------------------------------
function compareDates(date1, dateformat1, date2, dateformat2) {
    var d1 = getDateFromFormat(date1, dateformat1);
    var d2 = getDateFromFormat(date2, dateformat2);
    if (d1 == 0 || d2 == 0) {
        return -1;
    }
    else if (d1 > d2) {
        return 1;
    }
    return 0;
}

// ------------------------------------------------------------------
// formatDate (date_object, format)
// Returns a date in the output format specified.
// The format string uses the same abbreviations as in getDateFromFormat()
// ------------------------------------------------------------------
function formatDate(date, format) {
    format = format + "";
    var result = "";
    var i_format = 0;
    var c = "";
    var token = "";
    var y = date.getYear() + "";
    var M = date.getMonth() + 1;
    var d = date.getDate();
    var E = date.getDay();
    var H = date.getHours();
    var m = date.getMinutes();
    var s = date.getSeconds();
    var yyyy, yy, MMM, MM, dd, hh, h, mm, ss, ampm, HH, H, KK, K, kk, k;
    // Convert real date parts into formatted versions
    var value = new Object();
    if (y.length < 4) { y = "" + (y - 0 + 1900); }
    value["y"] = "" + y;
    value["yyyy"] = y;
    value["yy"] = y.substring(2, 4);
    value["M"] = M;
    value["MM"] = LZ(M);
    value["MMM"] = MONTH_NAMES[M - 1];
    value["NNN"] = MONTH_NAMES[M + 11];
    value["d"] = d;
    value["dd"] = LZ(d);
    value["E"] = DAY_NAMES[E + 7];
    value["EE"] = DAY_NAMES[E];
    value["H"] = H;
    value["HH"] = LZ(H);
    if (H == 0) { value["h"] = 12; }
    else if (H > 12) { value["h"] = H - 12; }
    else { value["h"] = H; }
    value["hh"] = LZ(value["h"]);
    if (H > 11) { value["K"] = H - 12; } else { value["K"] = H; }
    value["k"] = H + 1;
    value["KK"] = LZ(value["K"]);
    value["kk"] = LZ(value["k"]);
    if (H > 11) { value["a"] = "PM"; }
    else { value["a"] = "AM"; }
    value["m"] = m;
    value["mm"] = LZ(m);
    value["s"] = s;
    value["ss"] = LZ(s);
    while (i_format < format.length) {
        c = format.charAt(i_format);
        token = "";
        while ((format.charAt(i_format) == c) && (i_format < format.length)) {
            token += format.charAt(i_format++);
        }
        if (value[token] != null) { result = result + value[token]; }
        else { result = result + token; }
    }
    return result;
}

// ------------------------------------------------------------------
// Utility functions for parsing in getDateFromFormat()
// ------------------------------------------------------------------
function _isInteger(val) {
    var digits = "1234567890";
    for (var i = 0; i < val.length; i++) {
        if (digits.indexOf(val.charAt(i)) == -1) { return false; }
    }
    return true;
}
function _getInt(str, i, minlength, maxlength) {
    for (var x = maxlength; x >= minlength; x--) {
        var token = str.substring(i, i + x);
        if (token.length < minlength) { return null; }
        if (_isInteger(token)) { return token; }
    }
    return null;
}

// ------------------------------------------------------------------
// getDateFromFormat( date_string , format_string )
//
// This function takes a date string and a format string. It matches
// If the date string matches the format string, it returns the 
// getTime() of the date. If it does not match, it returns 0.
// ------------------------------------------------------------------
function getDateFromFormat(val, format) {
    val = val + "";
    format = format + "";
    var i_val = 0;
    var i_format = 0;
    var c = "";
    var token = "";
    var token2 = "";
    var x, y;
    var now = new Date();
    var year = now.getYear();
    var month = now.getMonth() + 1;
    var date = 1;
    var hh = now.getHours();
    var mm = now.getMinutes();
    var ss = now.getSeconds();
    var ampm = "";

    while (i_format < format.length) {
        // Get next token from format string
        c = format.charAt(i_format);
        token = "";
        while ((format.charAt(i_format) == c) && (i_format < format.length)) {
            token += format.charAt(i_format++);
        }
        // Extract contents of value based on format token
        if (token == "yyyy" || token == "yy" || token == "y") {
            if (token == "yyyy") { x = 4; y = 4; }
            if (token == "yy") { x = 2; y = 2; }
            if (token == "y") { x = 2; y = 4; }
            year = _getInt(val, i_val, x, y);
            if (year == null) { return 0; }
            i_val += year.length;
            if (year.length == 2) {
                if (year > 70) { year = 1900 + (year - 0); }
                else { year = 2000 + (year - 0); }
            }
        }
        else if (token == "MMM" || token == "NNN") {
            month = 0;
            for (var i = 0; i < MONTH_NAMES.length; i++) {
                var month_name = MONTH_NAMES[i];
                if (val.substring(i_val, i_val + month_name.length).toLowerCase() == month_name.toLowerCase()) {
                    if (token == "MMM" || (token == "NNN" && i > 11)) {
                        month = i + 1;
                        if (month > 12) { month -= 12; }
                        i_val += month_name.length;
                        break;
                    }
                }
            }
            if ((month < 1) || (month > 12)) { return 0; }
        }
        else if (token == "EE" || token == "E") {
            for (var i = 0; i < DAY_NAMES.length; i++) {
                var day_name = DAY_NAMES[i];
                if (val.substring(i_val, i_val + day_name.length).toLowerCase() == day_name.toLowerCase()) {
                    i_val += day_name.length;
                    break;
                }
            }
        }
        else if (token == "MM" || token == "M") {
            month = _getInt(val, i_val, token.length, 2);
            if (month == null || (month < 1) || (month > 12)) { return 0; }
            i_val += month.length;
        }
        else if (token == "dd" || token == "d") {
            date = _getInt(val, i_val, token.length, 2);
            if (date == null || (date < 1) || (date > 31)) { return 0; }
            i_val += date.length;
        }
        else if (token == "hh" || token == "h") {
            hh = _getInt(val, i_val, token.length, 2);
            if (hh == null || (hh < 1) || (hh > 12)) { return 0; }
            i_val += hh.length;
        }
        else if (token == "HH" || token == "H") {
            hh = _getInt(val, i_val, token.length, 2);
            if (hh == null || (hh < 0) || (hh > 23)) { return 0; }
            i_val += hh.length;
        }
        else if (token == "KK" || token == "K") {
            hh = _getInt(val, i_val, token.length, 2);
            if (hh == null || (hh < 0) || (hh > 11)) { return 0; }
            i_val += hh.length;
        }
        else if (token == "kk" || token == "k") {
            hh = _getInt(val, i_val, token.length, 2);
            if (hh == null || (hh < 1) || (hh > 24)) { return 0; }
            i_val += hh.length; hh--;
        }
        else if (token == "mm" || token == "m") {
            mm = _getInt(val, i_val, token.length, 2);
            if (mm == null || (mm < 0) || (mm > 59)) { return 0; }
            i_val += mm.length;
        }
        else if (token == "ss" || token == "s") {
            ss = _getInt(val, i_val, token.length, 2);
            if (ss == null || (ss < 0) || (ss > 59)) { return 0; }
            i_val += ss.length;
        }
        else if (token == "a") {
            if (val.substring(i_val, i_val + 2).toLowerCase() == "am") { ampm = "AM"; }
            else if (val.substring(i_val, i_val + 2).toLowerCase() == "pm") { ampm = "PM"; }
            else { return 0; }
            i_val += 2;
        }
        else {
            if (val.substring(i_val, i_val + token.length) != token) { return 0; }
            else { i_val += token.length; }
        }
    }
    // If there are any trailing characters left in the value, it doesn't match
    if (i_val != val.length) { return 0; }
    // Is date valid for month?
    if (month == 2) {
        // Check for leap year
        if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) { // leap year
            if (date > 29) { return 0; }
        }
        else { if (date > 28) { return 0; } }
    }
    if ((month == 4) || (month == 6) || (month == 9) || (month == 11)) {
        if (date > 30) { return 0; }
    }
    // Correct hours value
    if (hh < 12 && ampm == "PM") { hh = hh - 0 + 12; }
    else if (hh > 11 && ampm == "AM") { hh -= 12; }
    var newdate = new Date(year, month - 1, date, hh, mm, ss);
    return newdate.getTime();
}

// ------------------------------------------------------------------
// parseDate( date_string [, prefer_euro_format] )
//
// This function takes a date string and tries to match it to a
// number of possible date formats to get the value. It will try to
// match against the following international formats, in this order:
// y-M-d   MMM d, y   MMM d,y   y-MMM-d   d-MMM-y  MMM d
// M/d/y   M-d-y      M.d.y     MMM-d     M/d      M-d
// d/M/y   d-M-y      d.M.y     d-MMM     d/M      d-M
// A second argument may be passed to instruct the method to search
// for formats like d/M/y (european format) before M/d/y (American).
// Returns a Date object or null if no patterns match.
// ------------------------------------------------------------------
function parseDate(val) {
    
    var preferEuro = (arguments.length == 2) ? arguments[1] : false;
    generalFormats = new Array('y-M-d', 'MMM d, y', 'MMM d,y', 'y-MMM-d', 'd-MMM-y', 'MMM d');
    monthFirst = new Array('M/d/y', 'M-d-y', 'M.d.y', 'MMM-d', 'M/d', 'M-d');
    dateFirst = new Array('d/M/y', 'd-M-y', 'd.M.y', 'd-MMM', 'd/M', 'd-M');
    
    var checkList = new Array('generalFormats', preferEuro ? 'dateFirst' : 'monthFirst', preferEuro ? 'monthFirst' : 'dateFirst');
    var d = null;
    for (var i = 0; i < checkList.length; i++) {
        var l = window[checkList[i]];
        for (var j = 0; j < l.length; j++) {
            d = getDateFromFormat(val, l[j]);
            if (d != 0) { return new Date(d); }
        }
    }
    return null;
}

function DateAdd(ItemType, DateToWorkOn, ValueToBeAdded) {
    switch (ItemType) {
        //date portion         
        case 'd': //add days
            DateToWorkOn.setDate(DateToWorkOn.getDate() + ValueToBeAdded)
            break;
        case 'm': //add months
            DateToWorkOn.setMonth(DateToWorkOn.getMonth() + ValueToBeAdded)
            break;
        case 'y': //add years
            DateToWorkOn.setYear(DateToWorkOn.getFullYear() + ValueToBeAdded)
            break;
        //time portion         
        case 'h': //add days
            DateToWorkOn.setHours(DateToWorkOn.getHours() + ValueToBeAdded)
            break;
        case 'n': //add minutes
            DateToWorkOn.setMinutes(DateToWorkOn.getMinutes() + ValueToBeAdded)
            break;
        case 's': //add seconds
            DateToWorkOn.setSeconds(DateToWorkOn.getSeconds() + ValueToBeAdded)
            break;
    }
    return DateToWorkOn;
}
/*!
* jQuery JavaScript Library v1.4.2
* http://jquery.com/
*
* Copyright 2010, John Resig
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* Includes Sizzle.js
* http://sizzlejs.com/
* Copyright 2010, The Dojo Foundation
* Released under the MIT, BSD, and GPL Licenses.
*
* Date: Sat Feb 13 22:33:48 2010 -0500
*/
(function (A, w) {
    function ma() { if (!c.isReady) { try { s.documentElement.doScroll("left") } catch (a) { setTimeout(ma, 1); return } c.ready() } } function Qa(a, b) { b.src ? c.ajax({ url: b.src, async: false, dataType: "script" }) : c.globalEval(b.text || b.textContent || b.innerHTML || ""); b.parentNode && b.parentNode.removeChild(b) } function X(a, b, d, f, e, j) {
        var i = a.length; if (typeof b === "object") { for (var o in b) X(a, o, b[o], f, e, d); return a } if (d !== w) { f = !j && f && c.isFunction(d); for (o = 0; o < i; o++) e(a[o], b, f ? d.call(a[o], o, e(a[o], b)) : d, j); return a } return i ?
e(a[0], b) : w
    } function J() { return (new Date).getTime() } function Y() { return false } function Z() { return true } function na(a, b, d) { d[0].type = a; return c.event.handle.apply(b, d) } function oa(a) {
        var b, d = [], f = [], e = arguments, j, i, o, k, n, r; i = c.data(this, "events"); if (!(a.liveFired === this || !i || !i.live || a.button && a.type === "click")) {
            a.liveFired = this; var u = i.live.slice(0); for (k = 0; k < u.length; k++) { i = u[k]; i.origType.replace(O, "") === a.type ? f.push(i.selector) : u.splice(k--, 1) } j = c(a.target).closest(f, a.currentTarget); n = 0; for (r =
j.length; n < r; n++) for (k = 0; k < u.length; k++) { i = u[k]; if (j[n].selector === i.selector) { o = j[n].elem; f = null; if (i.preType === "mouseenter" || i.preType === "mouseleave") f = c(a.relatedTarget).closest(i.selector)[0]; if (!f || f !== o) d.push({ elem: o, handleObj: i }) } } n = 0; for (r = d.length; n < r; n++) { j = d[n]; a.currentTarget = j.elem; a.data = j.handleObj.data; a.handleObj = j.handleObj; if (j.handleObj.origHandler.apply(j.elem, e) === false) { b = false; break } } return b
        } 
    } function pa(a, b) {
        return "live." + (a && a !== "*" ? a + "." : "") + b.replace(/\./g, "`").replace(/ /g,
"&")
    } function qa(a) { return !a || !a.parentNode || a.parentNode.nodeType === 11 } function ra(a, b) { var d = 0; b.each(function () { if (this.nodeName === (a[d] && a[d].nodeName)) { var f = c.data(a[d++]), e = c.data(this, f); if (f = f && f.events) { delete e.handle; e.events = {}; for (var j in f) for (var i in f[j]) c.event.add(this, j, f[j][i], f[j][i].data) } } }) } function sa(a, b, d) {
        var f, e, j; b = b && b[0] ? b[0].ownerDocument || b[0] : s; if (a.length === 1 && typeof a[0] === "string" && a[0].length < 512 && b === s && !ta.test(a[0]) && (c.support.checkClone || !ua.test(a[0]))) {
            e =
true; if (j = c.fragments[a[0]]) if (j !== 1) f = j
        } if (!f) { f = b.createDocumentFragment(); c.clean(a, b, f, d) } if (e) c.fragments[a[0]] = j ? f : 1; return { fragment: f, cacheable: e}
    } function K(a, b) { var d = {}; c.each(va.concat.apply([], va.slice(0, b)), function () { d[this] = a }); return d } function wa(a) { return "scrollTo" in a && a.document ? a : a.nodeType === 9 ? a.defaultView || a.parentWindow : false } var c = function (a, b) { return new c.fn.init(a, b) }, Ra = A.jQuery, Sa = A.$, s = A.document, T, Ta = /^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/, Ua = /^.[^:#\[\.,]*$/, Va = /\S/,
Wa = /^(\s|\u00A0)+|(\s|\u00A0)+$/g, Xa = /^<(\w+)\s*\/?>(?:<\/\1>)?$/, P = navigator.userAgent, xa = false, Q = [], L, $ = Object.prototype.toString, aa = Object.prototype.hasOwnProperty, ba = Array.prototype.push, R = Array.prototype.slice, ya = Array.prototype.indexOf; c.fn = c.prototype = { init: function (a, b) {
    var d, f; if (!a) return this; if (a.nodeType) { this.context = this[0] = a; this.length = 1; return this } if (a === "body" && !b) { this.context = s; this[0] = s.body; this.selector = "body"; this.length = 1; return this } if (typeof a === "string") if ((d = Ta.exec(a)) &&
(d[1] || !b)) if (d[1]) { f = b ? b.ownerDocument || b : s; if (a = Xa.exec(a)) if (c.isPlainObject(b)) { a = [s.createElement(a[1])]; c.fn.attr.call(a, b, true) } else a = [f.createElement(a[1])]; else { a = sa([d[1]], [f]); a = (a.cacheable ? a.fragment.cloneNode(true) : a.fragment).childNodes } return c.merge(this, a) } else { if (b = s.getElementById(d[2])) { if (b.id !== d[2]) return T.find(a); this.length = 1; this[0] = b } this.context = s; this.selector = a; return this } else if (!b && /^\w+$/.test(a)) {
        this.selector = a; this.context = s; a = s.getElementsByTagName(a); return c.merge(this,
a)
    } else return !b || b.jquery ? (b || T).find(a) : c(b).find(a); else if (c.isFunction(a)) return T.ready(a); if (a.selector !== w) { this.selector = a.selector; this.context = a.context } return c.makeArray(a, this)
}, selector: "", jquery: "1.4.2", length: 0, size: function () { return this.length }, toArray: function () { return R.call(this, 0) }, get: function (a) { return a == null ? this.toArray() : a < 0 ? this.slice(a)[0] : this[a] }, pushStack: function (a, b, d) {
    var f = c(); c.isArray(a) ? ba.apply(f, a) : c.merge(f, a); f.prevObject = this; f.context = this.context; if (b ===
"find") f.selector = this.selector + (this.selector ? " " : "") + d; else if (b) f.selector = this.selector + "." + b + "(" + d + ")"; return f
}, each: function (a, b) { return c.each(this, a, b) }, ready: function (a) { c.bindReady(); if (c.isReady) a.call(s, c); else Q && Q.push(a); return this }, eq: function (a) { return a === -1 ? this.slice(a) : this.slice(a, +a + 1) }, first: function () { return this.eq(0) }, last: function () { return this.eq(-1) }, slice: function () { return this.pushStack(R.apply(this, arguments), "slice", R.call(arguments).join(",")) }, map: function (a) {
    return this.pushStack(c.map(this,
function (b, d) { return a.call(b, d, b) }))
}, end: function () { return this.prevObject || c(null) }, push: ba, sort: [].sort, splice: [].splice
}; c.fn.init.prototype = c.fn; c.extend = c.fn.extend = function () {
    var a = arguments[0] || {}, b = 1, d = arguments.length, f = false, e, j, i, o; if (typeof a === "boolean") { f = a; a = arguments[1] || {}; b = 2 } if (typeof a !== "object" && !c.isFunction(a)) a = {}; if (d === b) { a = this; --b } for (; b < d; b++) if ((e = arguments[b]) != null) for (j in e) {
        i = a[j]; o = e[j]; if (a !== o) if (f && o && (c.isPlainObject(o) || c.isArray(o))) {
            i = i && (c.isPlainObject(i) ||
c.isArray(i)) ? i : c.isArray(o) ? [] : {}; a[j] = c.extend(f, i, o)
        } else if (o !== w) a[j] = o
    } return a
}; c.extend({ noConflict: function (a) { A.$ = Sa; if (a) A.jQuery = Ra; return c }, isReady: false, ready: function () { if (!c.isReady) { if (!s.body) return setTimeout(c.ready, 13); c.isReady = true; if (Q) { for (var a, b = 0; a = Q[b++]; ) a.call(s, c); Q = null } c.fn.triggerHandler && c(s).triggerHandler("ready") } }, bindReady: function () {
    if (!xa) {
        xa = true; if (s.readyState === "complete") return c.ready(); if (s.addEventListener) {
            s.addEventListener("DOMContentLoaded",
L, false); A.addEventListener("load", c.ready, false)
        } else if (s.attachEvent) { s.attachEvent("onreadystatechange", L); A.attachEvent("onload", c.ready); var a = false; try { a = A.frameElement == null } catch (b) { } s.documentElement.doScroll && a && ma() } 
    } 
}, isFunction: function (a) { return $.call(a) === "[object Function]" }, isArray: function (a) { return $.call(a) === "[object Array]" }, isPlainObject: function (a) {
    if (!a || $.call(a) !== "[object Object]" || a.nodeType || a.setInterval) return false; if (a.constructor && !aa.call(a, "constructor") && !aa.call(a.constructor.prototype,
"isPrototypeOf")) return false; var b; for (b in a); return b === w || aa.call(a, b)
}, isEmptyObject: function (a) { for (var b in a) return false; return true }, error: function (a) { throw a; }, parseJSON: function (a) {
    if (typeof a !== "string" || !a) return null; a = c.trim(a); if (/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, "@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]").replace(/(?:^|:|,)(?:\s*\[)+/g, ""))) return A.JSON && A.JSON.parse ? A.JSON.parse(a) : (new Function("return " +
a))(); else c.error("Invalid JSON: " + a)
}, noop: function () { }, globalEval: function (a) { if (a && Va.test(a)) { var b = s.getElementsByTagName("head")[0] || s.documentElement, d = s.createElement("script"); d.type = "text/javascript"; if (c.support.scriptEval) d.appendChild(s.createTextNode(a)); else d.text = a; b.insertBefore(d, b.firstChild); b.removeChild(d) } }, nodeName: function (a, b) { return a.nodeName && a.nodeName.toUpperCase() === b.toUpperCase() }, each: function (a, b, d) {
    var f, e = 0, j = a.length, i = j === w || c.isFunction(a); if (d) if (i) for (f in a) {
        if (b.apply(a[f],
d) === false) break
    } else for (; e < j; ) { if (b.apply(a[e++], d) === false) break } else if (i) for (f in a) { if (b.call(a[f], f, a[f]) === false) break } else for (d = a[0]; e < j && b.call(d, e, d) !== false; d = a[++e]); return a
}, trim: function (a) { return (a || "").replace(Wa, "") }, makeArray: function (a, b) { b = b || []; if (a != null) a.length == null || typeof a === "string" || c.isFunction(a) || typeof a !== "function" && a.setInterval ? ba.call(b, a) : c.merge(b, a); return b }, inArray: function (a, b) {
    if (b.indexOf) return b.indexOf(a); for (var d = 0, f = b.length; d < f; d++) if (b[d] ===
a) return d; return -1
}, merge: function (a, b) { var d = a.length, f = 0; if (typeof b.length === "number") for (var e = b.length; f < e; f++) a[d++] = b[f]; else for (; b[f] !== w; ) a[d++] = b[f++]; a.length = d; return a }, grep: function (a, b, d) { for (var f = [], e = 0, j = a.length; e < j; e++) !d !== !b(a[e], e) && f.push(a[e]); return f }, map: function (a, b, d) { for (var f = [], e, j = 0, i = a.length; j < i; j++) { e = b(a[j], j, d); if (e != null) f[f.length] = e } return f.concat.apply([], f) }, guid: 1, proxy: function (a, b, d) {
    if (arguments.length === 2) if (typeof b === "string") { d = a; a = d[b]; b = w } else if (b &&
!c.isFunction(b)) { d = b; b = w } if (!b && a) b = function () { return a.apply(d || this, arguments) }; if (a) b.guid = a.guid = a.guid || b.guid || c.guid++; return b
}, uaMatch: function (a) { a = a.toLowerCase(); a = /(webkit)[ \/]([\w.]+)/.exec(a) || /(opera)(?:.*version)?[ \/]([\w.]+)/.exec(a) || /(msie) ([\w.]+)/.exec(a) || !/compatible/.test(a) && /(mozilla)(?:.*? rv:([\w.]+))?/.exec(a) || []; return { browser: a[1] || "", version: a[2] || "0"} }, browser: {}
}); P = c.uaMatch(P); if (P.browser) { c.browser[P.browser] = true; c.browser.version = P.version } if (c.browser.webkit) c.browser.safari =
true; if (ya) c.inArray = function (a, b) { return ya.call(b, a) }; T = c(s); if (s.addEventListener) L = function () { s.removeEventListener("DOMContentLoaded", L, false); c.ready() }; else if (s.attachEvent) L = function () { if (s.readyState === "complete") { s.detachEvent("onreadystatechange", L); c.ready() } }; (function () {
    c.support = {}; var a = s.documentElement, b = s.createElement("script"), d = s.createElement("div"), f = "script" + J(); d.style.display = "none"; d.innerHTML = "   <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";
    var e = d.getElementsByTagName("*"), j = d.getElementsByTagName("a")[0]; if (!(!e || !e.length || !j)) {
        c.support = { leadingWhitespace: d.firstChild.nodeType === 3, tbody: !d.getElementsByTagName("tbody").length, htmlSerialize: !!d.getElementsByTagName("link").length, style: /red/.test(j.getAttribute("style")), hrefNormalized: j.getAttribute("href") === "/a", opacity: /^0.55$/.test(j.style.opacity), cssFloat: !!j.style.cssFloat, checkOn: d.getElementsByTagName("input")[0].value === "on", optSelected: s.createElement("select").appendChild(s.createElement("option")).selected,
            parentNode: d.removeChild(d.appendChild(s.createElement("div"))).parentNode === null, deleteExpando: true, checkClone: false, scriptEval: false, noCloneEvent: true, boxModel: null
        }; b.type = "text/javascript"; try { b.appendChild(s.createTextNode("window." + f + "=1;")) } catch (i) { } a.insertBefore(b, a.firstChild); if (A[f]) { c.support.scriptEval = true; delete A[f] } try { delete b.test } catch (o) { c.support.deleteExpando = false } a.removeChild(b); if (d.attachEvent && d.fireEvent) {
            d.attachEvent("onclick", function k() {
                c.support.noCloneEvent =
false; d.detachEvent("onclick", k)
            }); d.cloneNode(true).fireEvent("onclick")
        } d = s.createElement("div"); d.innerHTML = "<input type='radio' name='radiotest' checked='checked'/>"; a = s.createDocumentFragment(); a.appendChild(d.firstChild); c.support.checkClone = a.cloneNode(true).cloneNode(true).lastChild.checked; c(function () { var k = s.createElement("div"); k.style.width = k.style.paddingLeft = "1px"; s.body.appendChild(k); c.boxModel = c.support.boxModel = k.offsetWidth === 2; s.body.removeChild(k).style.display = "none" }); a = function (k) {
            var n =
s.createElement("div"); k = "on" + k; var r = k in n; if (!r) { n.setAttribute(k, "return;"); r = typeof n[k] === "function" } return r
        }; c.support.submitBubbles = a("submit"); c.support.changeBubbles = a("change"); a = b = d = e = j = null
    } 
})(); c.props = { "for": "htmlFor", "class": "className", readonly: "readOnly", maxlength: "maxLength", cellspacing: "cellSpacing", rowspan: "rowSpan", colspan: "colSpan", tabindex: "tabIndex", usemap: "useMap", frameborder: "frameBorder" }; var G = "jQuery" + J(), Ya = 0, za = {}; c.extend({ cache: {}, expando: G, noData: { embed: true, object: true,
    applet: true
}, data: function (a, b, d) { if (!(a.nodeName && c.noData[a.nodeName.toLowerCase()])) { a = a == A ? za : a; var f = a[G], e = c.cache; if (!f && typeof b === "string" && d === w) return null; f || (f = ++Ya); if (typeof b === "object") { a[G] = f; e[f] = c.extend(true, {}, b) } else if (!e[f]) { a[G] = f; e[f] = {} } a = e[f]; if (d !== w) a[b] = d; return typeof b === "string" ? a[b] : a } }, removeData: function (a, b) {
    if (!(a.nodeName && c.noData[a.nodeName.toLowerCase()])) {
        a = a == A ? za : a; var d = a[G], f = c.cache, e = f[d]; if (b) { if (e) { delete e[b]; c.isEmptyObject(e) && c.removeData(a) } } else {
            if (c.support.deleteExpando) delete a[c.expando];
            else a.removeAttribute && a.removeAttribute(c.expando); delete f[d]
        } 
    } 
} 
}); c.fn.extend({ data: function (a, b) {
    if (typeof a === "undefined" && this.length) return c.data(this[0]); else if (typeof a === "object") return this.each(function () { c.data(this, a) }); var d = a.split("."); d[1] = d[1] ? "." + d[1] : ""; if (b === w) { var f = this.triggerHandler("getData" + d[1] + "!", [d[0]]); if (f === w && this.length) f = c.data(this[0], a); return f === w && d[1] ? this.data(d[0]) : f } else return this.trigger("setData" + d[1] + "!", [d[0], b]).each(function () {
        c.data(this,
a, b)
    })
}, removeData: function (a) { return this.each(function () { c.removeData(this, a) }) } 
}); c.extend({ queue: function (a, b, d) { if (a) { b = (b || "fx") + "queue"; var f = c.data(a, b); if (!d) return f || []; if (!f || c.isArray(d)) f = c.data(a, b, c.makeArray(d)); else f.push(d); return f } }, dequeue: function (a, b) { b = b || "fx"; var d = c.queue(a, b), f = d.shift(); if (f === "inprogress") f = d.shift(); if (f) { b === "fx" && d.unshift("inprogress"); f.call(a, function () { c.dequeue(a, b) }) } } }); c.fn.extend({ queue: function (a, b) {
    if (typeof a !== "string") { b = a; a = "fx" } if (b ===
w) return c.queue(this[0], a); return this.each(function () { var d = c.queue(this, a, b); a === "fx" && d[0] !== "inprogress" && c.dequeue(this, a) })
}, dequeue: function (a) { return this.each(function () { c.dequeue(this, a) }) }, delay: function (a, b) { a = c.fx ? c.fx.speeds[a] || a : a; b = b || "fx"; return this.queue(b, function () { var d = this; setTimeout(function () { c.dequeue(d, b) }, a) }) }, clearQueue: function (a) { return this.queue(a || "fx", []) } 
}); var Aa = /[\n\t]/g, ca = /\s+/, Za = /\r/g, $a = /href|src|style/, ab = /(button|input)/i, bb = /(button|input|object|select|textarea)/i,
cb = /^(a|area)$/i, Ba = /radio|checkbox/; c.fn.extend({ attr: function (a, b) { return X(this, a, b, true, c.attr) }, removeAttr: function (a) { return this.each(function () { c.attr(this, a, ""); this.nodeType === 1 && this.removeAttribute(a) }) }, addClass: function (a) {
    if (c.isFunction(a)) return this.each(function (n) { var r = c(this); r.addClass(a.call(this, n, r.attr("class"))) }); if (a && typeof a === "string") for (var b = (a || "").split(ca), d = 0, f = this.length; d < f; d++) {
        var e = this[d]; if (e.nodeType === 1) if (e.className) {
            for (var j = " " + e.className + " ",
i = e.className, o = 0, k = b.length; o < k; o++) if (j.indexOf(" " + b[o] + " ") < 0) i += " " + b[o]; e.className = c.trim(i)
        } else e.className = a
    } return this
}, removeClass: function (a) {
    if (c.isFunction(a)) return this.each(function (k) { var n = c(this); n.removeClass(a.call(this, k, n.attr("class"))) }); if (a && typeof a === "string" || a === w) for (var b = (a || "").split(ca), d = 0, f = this.length; d < f; d++) {
        var e = this[d]; if (e.nodeType === 1 && e.className) if (a) {
            for (var j = (" " + e.className + " ").replace(Aa, " "), i = 0, o = b.length; i < o; i++) j = j.replace(" " + b[i] + " ",
" "); e.className = c.trim(j)
        } else e.className = ""
    } return this
}, toggleClass: function (a, b) {
    var d = typeof a, f = typeof b === "boolean"; if (c.isFunction(a)) return this.each(function (e) { var j = c(this); j.toggleClass(a.call(this, e, j.attr("class"), b), b) }); return this.each(function () {
        if (d === "string") for (var e, j = 0, i = c(this), o = b, k = a.split(ca); e = k[j++]; ) { o = f ? o : !i.hasClass(e); i[o ? "addClass" : "removeClass"](e) } else if (d === "undefined" || d === "boolean") {
            this.className && c.data(this, "__className__", this.className); this.className =
this.className || a === false ? "" : c.data(this, "__className__") || ""
        } 
    })
}, hasClass: function (a) { a = " " + a + " "; for (var b = 0, d = this.length; b < d; b++) if ((" " + this[b].className + " ").replace(Aa, " ").indexOf(a) > -1) return true; return false }, val: function (a) {
    if (a === w) {
        var b = this[0]; if (b) {
            if (c.nodeName(b, "option")) return (b.attributes.value || {}).specified ? b.value : b.text; if (c.nodeName(b, "select")) {
                var d = b.selectedIndex, f = [], e = b.options; b = b.type === "select-one"; if (d < 0) return null; var j = b ? d : 0; for (d = b ? d + 1 : e.length; j < d; j++) {
                    var i =
e[j]; if (i.selected) { a = c(i).val(); if (b) return a; f.push(a) } 
                } return f
            } if (Ba.test(b.type) && !c.support.checkOn) return b.getAttribute("value") === null ? "on" : b.value; return (b.value || "").replace(Za, "")
        } return w
    } var o = c.isFunction(a); return this.each(function (k) {
        var n = c(this), r = a; if (this.nodeType === 1) {
            if (o) r = a.call(this, k, n.val()); if (typeof r === "number") r += ""; if (c.isArray(r) && Ba.test(this.type)) this.checked = c.inArray(n.val(), r) >= 0; else if (c.nodeName(this, "select")) {
                var u = c.makeArray(r); c("option", this).each(function () {
                    this.selected =
c.inArray(c(this).val(), u) >= 0
                }); if (!u.length) this.selectedIndex = -1
            } else this.value = r
        } 
    })
} 
}); c.extend({ attrFn: { val: true, css: true, html: true, text: true, data: true, width: true, height: true, offset: true }, attr: function (a, b, d, f) {
    if (!a || a.nodeType === 3 || a.nodeType === 8) return w; if (f && b in c.attrFn) return c(a)[b](d); f = a.nodeType !== 1 || !c.isXMLDoc(a); var e = d !== w; b = f && c.props[b] || b; if (a.nodeType === 1) {
        var j = $a.test(b); if (b in a && f && !j) {
            if (e) {
                b === "type" && ab.test(a.nodeName) && a.parentNode && c.error("type property can't be changed");
                a[b] = d
            } if (c.nodeName(a, "form") && a.getAttributeNode(b)) return a.getAttributeNode(b).nodeValue; if (b === "tabIndex") return (b = a.getAttributeNode("tabIndex")) && b.specified ? b.value : bb.test(a.nodeName) || cb.test(a.nodeName) && a.href ? 0 : w; return a[b]
        } if (!c.support.style && f && b === "style") { if (e) a.style.cssText = "" + d; return a.style.cssText } e && a.setAttribute(b, "" + d); a = !c.support.hrefNormalized && f && j ? a.getAttribute(b, 2) : a.getAttribute(b); return a === null ? w : a
    } return c.style(a, b, d)
} 
}); var O = /\.(.*)$/, db = function (a) {
    return a.replace(/[^\w\s\.\|`]/g,
function (b) { return "\\" + b })
}; c.event = { add: function (a, b, d, f) {
    if (!(a.nodeType === 3 || a.nodeType === 8)) {
        if (a.setInterval && a !== A && !a.frameElement) a = A; var e, j; if (d.handler) { e = d; d = e.handler } if (!d.guid) d.guid = c.guid++; if (j = c.data(a)) {
            var i = j.events = j.events || {}, o = j.handle; if (!o) j.handle = o = function () { return typeof c !== "undefined" && !c.event.triggered ? c.event.handle.apply(o.elem, arguments) : w }; o.elem = a; b = b.split(" "); for (var k, n = 0, r; k = b[n++]; ) {
                j = e ? c.extend({}, e) : { handler: d, data: f }; if (k.indexOf(".") > -1) {
                    r = k.split(".");
                    k = r.shift(); j.namespace = r.slice(0).sort().join(".")
                } else { r = []; j.namespace = "" } j.type = k; j.guid = d.guid; var u = i[k], z = c.event.special[k] || {}; if (!u) { u = i[k] = []; if (!z.setup || z.setup.call(a, f, r, o) === false) if (a.addEventListener) a.addEventListener(k, o, false); else a.attachEvent && a.attachEvent("on" + k, o) } if (z.add) { z.add.call(a, j); if (!j.handler.guid) j.handler.guid = d.guid } u.push(j); c.event.global[k] = true
            } a = null
        } 
    } 
}, global: {}, remove: function (a, b, d, f) {
    if (!(a.nodeType === 3 || a.nodeType === 8)) {
        var e, j = 0, i, o, k, n, r, u, z = c.data(a),
C = z && z.events; if (z && C) {
            if (b && b.type) { d = b.handler; b = b.type } if (!b || typeof b === "string" && b.charAt(0) === ".") { b = b || ""; for (e in C) c.event.remove(a, e + b) } else {
                for (b = b.split(" "); e = b[j++]; ) {
                    n = e; i = e.indexOf(".") < 0; o = []; if (!i) { o = e.split("."); e = o.shift(); k = new RegExp("(^|\\.)" + c.map(o.slice(0).sort(), db).join("\\.(?:.*\\.)?") + "(\\.|$)") } if (r = C[e]) if (d) {
                        n = c.event.special[e] || {}; for (B = f || 0; B < r.length; B++) {
                            u = r[B]; if (d.guid === u.guid) {
                                if (i || k.test(u.namespace)) { f == null && r.splice(B--, 1); n.remove && n.remove.call(a, u) } if (f !=
null) break
                            } 
                        } if (r.length === 0 || f != null && r.length === 1) { if (!n.teardown || n.teardown.call(a, o) === false) Ca(a, e, z.handle); delete C[e] } 
                    } else for (var B = 0; B < r.length; B++) { u = r[B]; if (i || k.test(u.namespace)) { c.event.remove(a, n, u.handler, B); r.splice(B--, 1) } } 
                } if (c.isEmptyObject(C)) { if (b = z.handle) b.elem = null; delete z.events; delete z.handle; c.isEmptyObject(z) && c.removeData(a) } 
            } 
        } 
    } 
}, trigger: function (a, b, d, f) {
    var e = a.type || a; if (!f) {
        a = typeof a === "object" ? a[G] ? a : c.extend(c.Event(e), a) : c.Event(e); if (e.indexOf("!") >= 0) {
            a.type =
e = e.slice(0, -1); a.exclusive = true
        } if (!d) { a.stopPropagation(); c.event.global[e] && c.each(c.cache, function () { this.events && this.events[e] && c.event.trigger(a, b, this.handle.elem) }) } if (!d || d.nodeType === 3 || d.nodeType === 8) return w; a.result = w; a.target = d; b = c.makeArray(b); b.unshift(a)
    } a.currentTarget = d; (f = c.data(d, "handle")) && f.apply(d, b); f = d.parentNode || d.ownerDocument; try { if (!(d && d.nodeName && c.noData[d.nodeName.toLowerCase()])) if (d["on" + e] && d["on" + e].apply(d, b) === false) a.result = false } catch (j) { } if (!a.isPropagationStopped() &&
f) c.event.trigger(a, b, f, true); else if (!a.isDefaultPrevented()) { f = a.target; var i, o = c.nodeName(f, "a") && e === "click", k = c.event.special[e] || {}; if ((!k._default || k._default.call(d, a) === false) && !o && !(f && f.nodeName && c.noData[f.nodeName.toLowerCase()])) { try { if (f[e]) { if (i = f["on" + e]) f["on" + e] = null; c.event.triggered = true; f[e]() } } catch (n) { } if (i) f["on" + e] = i; c.event.triggered = false } } 
}, handle: function (a) {
    var b, d, f, e; a = arguments[0] = c.event.fix(a || A.event); a.currentTarget = this; b = a.type.indexOf(".") < 0 && !a.exclusive;
    if (!b) { d = a.type.split("."); a.type = d.shift(); f = new RegExp("(^|\\.)" + d.slice(0).sort().join("\\.(?:.*\\.)?") + "(\\.|$)") } e = c.data(this, "events"); d = e[a.type]; if (e && d) { d = d.slice(0); e = 0; for (var j = d.length; e < j; e++) { var i = d[e]; if (b || f.test(i.namespace)) { a.handler = i.handler; a.data = i.data; a.handleObj = i; i = i.handler.apply(this, arguments); if (i !== w) { a.result = i; if (i === false) { a.preventDefault(); a.stopPropagation() } } if (a.isImmediatePropagationStopped()) break } } } return a.result
}, props: "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
    fix: function (a) {
        if (a[G]) return a; var b = a; a = c.Event(b); for (var d = this.props.length, f; d; ) { f = this.props[--d]; a[f] = b[f] } if (!a.target) a.target = a.srcElement || s; if (a.target.nodeType === 3) a.target = a.target.parentNode; if (!a.relatedTarget && a.fromElement) a.relatedTarget = a.fromElement === a.target ? a.toElement : a.fromElement; if (a.pageX == null && a.clientX != null) {
            b = s.documentElement; d = s.body; a.pageX = a.clientX + (b && b.scrollLeft || d && d.scrollLeft || 0) - (b && b.clientLeft || d && d.clientLeft || 0); a.pageY = a.clientY + (b && b.scrollTop ||
d && d.scrollTop || 0) - (b && b.clientTop || d && d.clientTop || 0)
        } if (!a.which && (a.charCode || a.charCode === 0 ? a.charCode : a.keyCode)) a.which = a.charCode || a.keyCode; if (!a.metaKey && a.ctrlKey) a.metaKey = a.ctrlKey; if (!a.which && a.button !== w) a.which = a.button & 1 ? 1 : a.button & 2 ? 3 : a.button & 4 ? 2 : 0; return a
    }, guid: 1E8, proxy: c.proxy, special: { ready: { setup: c.bindReady, teardown: c.noop }, live: { add: function (a) { c.event.add(this, a.origType, c.extend({}, a, { handler: oa })) }, remove: function (a) {
        var b = true, d = a.origType.replace(O, ""); c.each(c.data(this,
"events").live || [], function () { if (d === this.origType.replace(O, "")) return b = false }); b && c.event.remove(this, a.origType, oa)
    } 
    }, beforeunload: { setup: function (a, b, d) { if (this.setInterval) this.onbeforeunload = d; return false }, teardown: function (a, b) { if (this.onbeforeunload === b) this.onbeforeunload = null } }
    }
}; var Ca = s.removeEventListener ? function (a, b, d) { a.removeEventListener(b, d, false) } : function (a, b, d) { a.detachEvent("on" + b, d) }; c.Event = function (a) {
    if (!this.preventDefault) return new c.Event(a); if (a && a.type) {
        this.originalEvent =
a; this.type = a.type
    } else this.type = a; this.timeStamp = J(); this[G] = true
}; c.Event.prototype = { preventDefault: function () { this.isDefaultPrevented = Z; var a = this.originalEvent; if (a) { a.preventDefault && a.preventDefault(); a.returnValue = false } }, stopPropagation: function () { this.isPropagationStopped = Z; var a = this.originalEvent; if (a) { a.stopPropagation && a.stopPropagation(); a.cancelBubble = true } }, stopImmediatePropagation: function () { this.isImmediatePropagationStopped = Z; this.stopPropagation() }, isDefaultPrevented: Y, isPropagationStopped: Y,
    isImmediatePropagationStopped: Y
}; var Da = function (a) { var b = a.relatedTarget; try { for (; b && b !== this; ) b = b.parentNode; if (b !== this) { a.type = a.data; c.event.handle.apply(this, arguments) } } catch (d) { } }, Ea = function (a) { a.type = a.data; c.event.handle.apply(this, arguments) }; c.each({ mouseenter: "mouseover", mouseleave: "mouseout" }, function (a, b) { c.event.special[a] = { setup: function (d) { c.event.add(this, b, d && d.selector ? Ea : Da, a) }, teardown: function (d) { c.event.remove(this, b, d && d.selector ? Ea : Da) } } }); if (!c.support.submitBubbles) c.event.special.submit =
{ setup: function () { if (this.nodeName.toLowerCase() !== "form") { c.event.add(this, "click.specialSubmit", function (a) { var b = a.target, d = b.type; if ((d === "submit" || d === "image") && c(b).closest("form").length) return na("submit", this, arguments) }); c.event.add(this, "keypress.specialSubmit", function (a) { var b = a.target, d = b.type; if ((d === "text" || d === "password") && c(b).closest("form").length && a.keyCode === 13) return na("submit", this, arguments) }) } else return false }, teardown: function () { c.event.remove(this, ".specialSubmit") } };
    if (!c.support.changeBubbles) {
        var da = /textarea|input|select/i, ea, Fa = function (a) { var b = a.type, d = a.value; if (b === "radio" || b === "checkbox") d = a.checked; else if (b === "select-multiple") d = a.selectedIndex > -1 ? c.map(a.options, function (f) { return f.selected }).join("-") : ""; else if (a.nodeName.toLowerCase() === "select") d = a.selectedIndex; return d }, fa = function (a, b) {
            var d = a.target, f, e; if (!(!da.test(d.nodeName) || d.readOnly)) {
                f = c.data(d, "_change_data"); e = Fa(d); if (a.type !== "focusout" || d.type !== "radio") c.data(d, "_change_data",
e); if (!(f === w || e === f)) if (f != null || e) { a.type = "change"; return c.event.trigger(a, b, d) } 
            } 
        }; c.event.special.change = { filters: { focusout: fa, click: function (a) { var b = a.target, d = b.type; if (d === "radio" || d === "checkbox" || b.nodeName.toLowerCase() === "select") return fa.call(this, a) }, keydown: function (a) { var b = a.target, d = b.type; if (a.keyCode === 13 && b.nodeName.toLowerCase() !== "textarea" || a.keyCode === 32 && (d === "checkbox" || d === "radio") || d === "select-multiple") return fa.call(this, a) }, beforeactivate: function (a) {
            a = a.target; c.data(a,
"_change_data", Fa(a))
        } 
        }, setup: function () { if (this.type === "file") return false; for (var a in ea) c.event.add(this, a + ".specialChange", ea[a]); return da.test(this.nodeName) }, teardown: function () { c.event.remove(this, ".specialChange"); return da.test(this.nodeName) } 
        }; ea = c.event.special.change.filters
    } s.addEventListener && c.each({ focus: "focusin", blur: "focusout" }, function (a, b) {
        function d(f) { f = c.event.fix(f); f.type = b; return c.event.handle.call(this, f) } c.event.special[b] = { setup: function () {
            this.addEventListener(a,
d, true)
        }, teardown: function () { this.removeEventListener(a, d, true) } 
        }
    }); c.each(["bind", "one"], function (a, b) { c.fn[b] = function (d, f, e) { if (typeof d === "object") { for (var j in d) this[b](j, f, d[j], e); return this } if (c.isFunction(f)) { e = f; f = w } var i = b === "one" ? c.proxy(e, function (k) { c(this).unbind(k, i); return e.apply(this, arguments) }) : e; if (d === "unload" && b !== "one") this.one(d, f, e); else { j = 0; for (var o = this.length; j < o; j++) c.event.add(this[j], d, i, f) } return this } }); c.fn.extend({ unbind: function (a, b) {
        if (typeof a === "object" &&
!a.preventDefault) for (var d in a) this.unbind(d, a[d]); else { d = 0; for (var f = this.length; d < f; d++) c.event.remove(this[d], a, b) } return this
    }, delegate: function (a, b, d, f) { return this.live(b, d, f, a) }, undelegate: function (a, b, d) { return arguments.length === 0 ? this.unbind("live") : this.die(b, null, d, a) }, trigger: function (a, b) { return this.each(function () { c.event.trigger(a, b, this) }) }, triggerHandler: function (a, b) { if (this[0]) { a = c.Event(a); a.preventDefault(); a.stopPropagation(); c.event.trigger(a, b, this[0]); return a.result } },
        toggle: function (a) { for (var b = arguments, d = 1; d < b.length; ) c.proxy(a, b[d++]); return this.click(c.proxy(a, function (f) { var e = (c.data(this, "lastToggle" + a.guid) || 0) % d; c.data(this, "lastToggle" + a.guid, e + 1); f.preventDefault(); return b[e].apply(this, arguments) || false })) }, hover: function (a, b) { return this.mouseenter(a).mouseleave(b || a) } 
    }); var Ga = { focus: "focusin", blur: "focusout", mouseenter: "mouseover", mouseleave: "mouseout" }; c.each(["live", "die"], function (a, b) {
        c.fn[b] = function (d, f, e, j) {
            var i, o = 0, k, n, r = j || this.selector,
u = j ? this : c(this.context); if (c.isFunction(f)) { e = f; f = w } for (d = (d || "").split(" "); (i = d[o++]) != null; ) { j = O.exec(i); k = ""; if (j) { k = j[0]; i = i.replace(O, "") } if (i === "hover") d.push("mouseenter" + k, "mouseleave" + k); else { n = i; if (i === "focus" || i === "blur") { d.push(Ga[i] + k); i += k } else i = (Ga[i] || i) + k; b === "live" ? u.each(function () { c.event.add(this, pa(i, r), { data: f, selector: r, handler: e, origType: i, origHandler: e, preType: n }) }) : u.unbind(pa(i, r), e) } } return this
        } 
    }); c.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),
function (a, b) { c.fn[b] = function (d) { return d ? this.bind(b, d) : this.trigger(b) }; if (c.attrFn) c.attrFn[b] = true }); A.attachEvent && !A.addEventListener && A.attachEvent("onunload", function () { for (var a in c.cache) if (c.cache[a].handle) try { c.event.remove(c.cache[a].handle.elem) } catch (b) { } }); (function () {
    function a(g) { for (var h = "", l, m = 0; g[m]; m++) { l = g[m]; if (l.nodeType === 3 || l.nodeType === 4) h += l.nodeValue; else if (l.nodeType !== 8) h += a(l.childNodes) } return h } function b(g, h, l, m, q, p) {
        q = 0; for (var v = m.length; q < v; q++) {
            var t = m[q];
            if (t) { t = t[g]; for (var y = false; t; ) { if (t.sizcache === l) { y = m[t.sizset]; break } if (t.nodeType === 1 && !p) { t.sizcache = l; t.sizset = q } if (t.nodeName.toLowerCase() === h) { y = t; break } t = t[g] } m[q] = y } 
        } 
    } function d(g, h, l, m, q, p) { q = 0; for (var v = m.length; q < v; q++) { var t = m[q]; if (t) { t = t[g]; for (var y = false; t; ) { if (t.sizcache === l) { y = m[t.sizset]; break } if (t.nodeType === 1) { if (!p) { t.sizcache = l; t.sizset = q } if (typeof h !== "string") { if (t === h) { y = true; break } } else if (k.filter(h, [t]).length > 0) { y = t; break } } t = t[g] } m[q] = y } } } var f = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
e = 0, j = Object.prototype.toString, i = false, o = true; [0, 0].sort(function () { o = false; return 0 }); var k = function (g, h, l, m) {
    l = l || []; var q = h = h || s; if (h.nodeType !== 1 && h.nodeType !== 9) return []; if (!g || typeof g !== "string") return l; for (var p = [], v, t, y, S, H = true, M = x(h), I = g; (f.exec(""), v = f.exec(I)) !== null; ) { I = v[3]; p.push(v[1]); if (v[2]) { S = v[3]; break } } if (p.length > 1 && r.exec(g)) if (p.length === 2 && n.relative[p[0]]) t = ga(p[0] + p[1], h); else for (t = n.relative[p[0]] ? [h] : k(p.shift(), h); p.length; ) {
        g = p.shift(); if (n.relative[g]) g += p.shift();
        t = ga(g, t)
    } else { if (!m && p.length > 1 && h.nodeType === 9 && !M && n.match.ID.test(p[0]) && !n.match.ID.test(p[p.length - 1])) { v = k.find(p.shift(), h, M); h = v.expr ? k.filter(v.expr, v.set)[0] : v.set[0] } if (h) { v = m ? { expr: p.pop(), set: z(m)} : k.find(p.pop(), p.length === 1 && (p[0] === "~" || p[0] === "+") && h.parentNode ? h.parentNode : h, M); t = v.expr ? k.filter(v.expr, v.set) : v.set; if (p.length > 0) y = z(t); else H = false; for (; p.length; ) { var D = p.pop(); v = D; if (n.relative[D]) v = p.pop(); else D = ""; if (v == null) v = h; n.relative[D](y, v, M) } } else y = [] } y || (y = t); y || k.error(D ||
g); if (j.call(y) === "[object Array]") if (H) if (h && h.nodeType === 1) for (g = 0; y[g] != null; g++) { if (y[g] && (y[g] === true || y[g].nodeType === 1 && E(h, y[g]))) l.push(t[g]) } else for (g = 0; y[g] != null; g++) y[g] && y[g].nodeType === 1 && l.push(t[g]); else l.push.apply(l, y); else z(y, l); if (S) { k(S, q, l, m); k.uniqueSort(l) } return l
}; k.uniqueSort = function (g) { if (B) { i = o; g.sort(B); if (i) for (var h = 1; h < g.length; h++) g[h] === g[h - 1] && g.splice(h--, 1) } return g }; k.matches = function (g, h) { return k(g, null, null, h) }; k.find = function (g, h, l) {
    var m, q; if (!g) return [];
    for (var p = 0, v = n.order.length; p < v; p++) { var t = n.order[p]; if (q = n.leftMatch[t].exec(g)) { var y = q[1]; q.splice(1, 1); if (y.substr(y.length - 1) !== "\\") { q[1] = (q[1] || "").replace(/\\/g, ""); m = n.find[t](q, h, l); if (m != null) { g = g.replace(n.match[t], ""); break } } } } m || (m = h.getElementsByTagName("*")); return { set: m, expr: g}
}; k.filter = function (g, h, l, m) {
    for (var q = g, p = [], v = h, t, y, S = h && h[0] && x(h[0]); g && h.length; ) {
        for (var H in n.filter) if ((t = n.leftMatch[H].exec(g)) != null && t[2]) {
            var M = n.filter[H], I, D; D = t[1]; y = false; t.splice(1, 1); if (D.substr(D.length -
1) !== "\\") { if (v === p) p = []; if (n.preFilter[H]) if (t = n.preFilter[H](t, v, l, p, m, S)) { if (t === true) continue } else y = I = true; if (t) for (var U = 0; (D = v[U]) != null; U++) if (D) { I = M(D, t, U, v); var Ha = m ^ !!I; if (l && I != null) if (Ha) y = true; else v[U] = false; else if (Ha) { p.push(D); y = true } } if (I !== w) { l || (v = p); g = g.replace(n.match[H], ""); if (!y) return []; break } } 
        } if (g === q) if (y == null) k.error(g); else break; q = g
    } return v
}; k.error = function (g) { throw "Syntax error, unrecognized expression: " + g; }; var n = k.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\))?/
}, leftMatch: {}, attrMap: { "class": "className", "for": "htmlFor" }, attrHandle: { href: function (g) { return g.getAttribute("href") } },
    relative: { "+": function (g, h) { var l = typeof h === "string", m = l && !/\W/.test(h); l = l && !m; if (m) h = h.toLowerCase(); m = 0; for (var q = g.length, p; m < q; m++) if (p = g[m]) { for (; (p = p.previousSibling) && p.nodeType !== 1; ); g[m] = l || p && p.nodeName.toLowerCase() === h ? p || false : p === h } l && k.filter(h, g, true) }, ">": function (g, h) {
        var l = typeof h === "string"; if (l && !/\W/.test(h)) { h = h.toLowerCase(); for (var m = 0, q = g.length; m < q; m++) { var p = g[m]; if (p) { l = p.parentNode; g[m] = l.nodeName.toLowerCase() === h ? l : false } } } else {
            m = 0; for (q = g.length; m < q; m++) if (p = g[m]) g[m] =
l ? p.parentNode : p.parentNode === h; l && k.filter(h, g, true)
        } 
    }, "": function (g, h, l) { var m = e++, q = d; if (typeof h === "string" && !/\W/.test(h)) { var p = h = h.toLowerCase(); q = b } q("parentNode", h, m, g, p, l) }, "~": function (g, h, l) { var m = e++, q = d; if (typeof h === "string" && !/\W/.test(h)) { var p = h = h.toLowerCase(); q = b } q("previousSibling", h, m, g, p, l) } 
    }, find: { ID: function (g, h, l) { if (typeof h.getElementById !== "undefined" && !l) return (g = h.getElementById(g[1])) ? [g] : [] }, NAME: function (g, h) {
        if (typeof h.getElementsByName !== "undefined") {
            var l = [];
            h = h.getElementsByName(g[1]); for (var m = 0, q = h.length; m < q; m++) h[m].getAttribute("name") === g[1] && l.push(h[m]); return l.length === 0 ? null : l
        } 
    }, TAG: function (g, h) { return h.getElementsByTagName(g[1]) } 
    }, preFilter: { CLASS: function (g, h, l, m, q, p) { g = " " + g[1].replace(/\\/g, "") + " "; if (p) return g; p = 0; for (var v; (v = h[p]) != null; p++) if (v) if (q ^ (v.className && (" " + v.className + " ").replace(/[\t\n]/g, " ").indexOf(g) >= 0)) l || m.push(v); else if (l) h[p] = false; return false }, ID: function (g) { return g[1].replace(/\\/g, "") }, TAG: function (g) { return g[1].toLowerCase() },
        CHILD: function (g) { if (g[1] === "nth") { var h = /(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2] === "even" && "2n" || g[2] === "odd" && "2n+1" || !/\D/.test(g[2]) && "0n+" + g[2] || g[2]); g[2] = h[1] + (h[2] || 1) - 0; g[3] = h[3] - 0 } g[0] = e++; return g }, ATTR: function (g, h, l, m, q, p) { h = g[1].replace(/\\/g, ""); if (!p && n.attrMap[h]) g[1] = n.attrMap[h]; if (g[2] === "~=") g[4] = " " + g[4] + " "; return g }, PSEUDO: function (g, h, l, m, q) {
            if (g[1] === "not") if ((f.exec(g[3]) || "").length > 1 || /^\w/.test(g[3])) g[3] = k(g[3], null, null, h); else {
                g = k.filter(g[3], h, l, true ^ q); l || m.push.apply(m,
g); return false
            } else if (n.match.POS.test(g[0]) || n.match.CHILD.test(g[0])) return true; return g
        }, POS: function (g) { g.unshift(true); return g } 
    }, filters: { enabled: function (g) { return g.disabled === false && g.type !== "hidden" }, disabled: function (g) { return g.disabled === true }, checked: function (g) { return g.checked === true }, selected: function (g) { return g.selected === true }, parent: function (g) { return !!g.firstChild }, empty: function (g) { return !g.firstChild }, has: function (g, h, l) { return !!k(l[3], g).length }, header: function (g) { return /h\d/i.test(g.nodeName) },
        text: function (g) { return "text" === g.type }, radio: function (g) { return "radio" === g.type }, checkbox: function (g) { return "checkbox" === g.type }, file: function (g) { return "file" === g.type }, password: function (g) { return "password" === g.type }, submit: function (g) { return "submit" === g.type }, image: function (g) { return "image" === g.type }, reset: function (g) { return "reset" === g.type }, button: function (g) { return "button" === g.type || g.nodeName.toLowerCase() === "button" }, input: function (g) { return /input|select|textarea|button/i.test(g.nodeName) } 
    },
    setFilters: { first: function (g, h) { return h === 0 }, last: function (g, h, l, m) { return h === m.length - 1 }, even: function (g, h) { return h % 2 === 0 }, odd: function (g, h) { return h % 2 === 1 }, lt: function (g, h, l) { return h < l[3] - 0 }, gt: function (g, h, l) { return h > l[3] - 0 }, nth: function (g, h, l) { return l[3] - 0 === h }, eq: function (g, h, l) { return l[3] - 0 === h } }, filter: { PSEUDO: function (g, h, l, m) {
        var q = h[1], p = n.filters[q]; if (p) return p(g, l, h, m); else if (q === "contains") return (g.textContent || g.innerText || a([g]) || "").indexOf(h[3]) >= 0; else if (q === "not") {
            h =
h[3]; l = 0; for (m = h.length; l < m; l++) if (h[l] === g) return false; return true
        } else k.error("Syntax error, unrecognized expression: " + q)
    }, CHILD: function (g, h) {
        var l = h[1], m = g; switch (l) {
            case "only": case "first": for (; m = m.previousSibling; ) if (m.nodeType === 1) return false; if (l === "first") return true; m = g; case "last": for (; m = m.nextSibling; ) if (m.nodeType === 1) return false; return true; case "nth": l = h[2]; var q = h[3]; if (l === 1 && q === 0) return true; h = h[0]; var p = g.parentNode; if (p && (p.sizcache !== h || !g.nodeIndex)) {
                    var v = 0; for (m = p.firstChild; m; m =
m.nextSibling) if (m.nodeType === 1) m.nodeIndex = ++v; p.sizcache = h
                } g = g.nodeIndex - q; return l === 0 ? g === 0 : g % l === 0 && g / l >= 0
        } 
    }, ID: function (g, h) { return g.nodeType === 1 && g.getAttribute("id") === h }, TAG: function (g, h) { return h === "*" && g.nodeType === 1 || g.nodeName.toLowerCase() === h }, CLASS: function (g, h) { return (" " + (g.className || g.getAttribute("class")) + " ").indexOf(h) > -1 }, ATTR: function (g, h) {
        var l = h[1]; g = n.attrHandle[l] ? n.attrHandle[l](g) : g[l] != null ? g[l] : g.getAttribute(l); l = g + ""; var m = h[2]; h = h[4]; return g == null ? m === "!=" : m ===
"=" ? l === h : m === "*=" ? l.indexOf(h) >= 0 : m === "~=" ? (" " + l + " ").indexOf(h) >= 0 : !h ? l && g !== false : m === "!=" ? l !== h : m === "^=" ? l.indexOf(h) === 0 : m === "$=" ? l.substr(l.length - h.length) === h : m === "|=" ? l === h || l.substr(0, h.length + 1) === h + "-" : false
    }, POS: function (g, h, l, m) { var q = n.setFilters[h[2]]; if (q) return q(g, l, h, m) } 
    }
}, r = n.match.POS; for (var u in n.match) {
        n.match[u] = new RegExp(n.match[u].source + /(?![^\[]*\])(?![^\(]*\))/.source); n.leftMatch[u] = new RegExp(/(^(?:.|\r|\n)*?)/.source + n.match[u].source.replace(/\\(\d+)/g, function (g,
h) { return "\\" + (h - 0 + 1) }))
    } var z = function (g, h) { g = Array.prototype.slice.call(g, 0); if (h) { h.push.apply(h, g); return h } return g }; try { Array.prototype.slice.call(s.documentElement.childNodes, 0) } catch (C) { z = function (g, h) { h = h || []; if (j.call(g) === "[object Array]") Array.prototype.push.apply(h, g); else if (typeof g.length === "number") for (var l = 0, m = g.length; l < m; l++) h.push(g[l]); else for (l = 0; g[l]; l++) h.push(g[l]); return h } } var B; if (s.documentElement.compareDocumentPosition) B = function (g, h) {
        if (!g.compareDocumentPosition ||
!h.compareDocumentPosition) { if (g == h) i = true; return g.compareDocumentPosition ? -1 : 1 } g = g.compareDocumentPosition(h) & 4 ? -1 : g === h ? 0 : 1; if (g === 0) i = true; return g
    }; else if ("sourceIndex" in s.documentElement) B = function (g, h) { if (!g.sourceIndex || !h.sourceIndex) { if (g == h) i = true; return g.sourceIndex ? -1 : 1 } g = g.sourceIndex - h.sourceIndex; if (g === 0) i = true; return g }; else if (s.createRange) B = function (g, h) {
        if (!g.ownerDocument || !h.ownerDocument) { if (g == h) i = true; return g.ownerDocument ? -1 : 1 } var l = g.ownerDocument.createRange(), m =
h.ownerDocument.createRange(); l.setStart(g, 0); l.setEnd(g, 0); m.setStart(h, 0); m.setEnd(h, 0); g = l.compareBoundaryPoints(Range.START_TO_END, m); if (g === 0) i = true; return g
    }; (function () {
        var g = s.createElement("div"), h = "script" + (new Date).getTime(); g.innerHTML = "<a name='" + h + "'/>"; var l = s.documentElement; l.insertBefore(g, l.firstChild); if (s.getElementById(h)) {
            n.find.ID = function (m, q, p) {
                if (typeof q.getElementById !== "undefined" && !p) return (q = q.getElementById(m[1])) ? q.id === m[1] || typeof q.getAttributeNode !== "undefined" &&
q.getAttributeNode("id").nodeValue === m[1] ? [q] : w : []
            }; n.filter.ID = function (m, q) { var p = typeof m.getAttributeNode !== "undefined" && m.getAttributeNode("id"); return m.nodeType === 1 && p && p.nodeValue === q } 
        } l.removeChild(g); l = g = null
    })(); (function () {
        var g = s.createElement("div"); g.appendChild(s.createComment("")); if (g.getElementsByTagName("*").length > 0) n.find.TAG = function (h, l) { l = l.getElementsByTagName(h[1]); if (h[1] === "*") { h = []; for (var m = 0; l[m]; m++) l[m].nodeType === 1 && h.push(l[m]); l = h } return l }; g.innerHTML = "<a href='#'></a>";
        if (g.firstChild && typeof g.firstChild.getAttribute !== "undefined" && g.firstChild.getAttribute("href") !== "#") n.attrHandle.href = function (h) { return h.getAttribute("href", 2) }; g = null
    })(); s.querySelectorAll && function () { var g = k, h = s.createElement("div"); h.innerHTML = "<p class='TEST'></p>"; if (!(h.querySelectorAll && h.querySelectorAll(".TEST").length === 0)) { k = function (m, q, p, v) { q = q || s; if (!v && q.nodeType === 9 && !x(q)) try { return z(q.querySelectorAll(m), p) } catch (t) { } return g(m, q, p, v) }; for (var l in g) k[l] = g[l]; h = null } } ();
    (function () { var g = s.createElement("div"); g.innerHTML = "<div class='test e'></div><div class='test'></div>"; if (!(!g.getElementsByClassName || g.getElementsByClassName("e").length === 0)) { g.lastChild.className = "e"; if (g.getElementsByClassName("e").length !== 1) { n.order.splice(1, 0, "CLASS"); n.find.CLASS = function (h, l, m) { if (typeof l.getElementsByClassName !== "undefined" && !m) return l.getElementsByClassName(h[1]) }; g = null } } })(); var E = s.compareDocumentPosition ? function (g, h) { return !!(g.compareDocumentPosition(h) & 16) } :
function (g, h) { return g !== h && (g.contains ? g.contains(h) : true) }, x = function (g) { return (g = (g ? g.ownerDocument || g : 0).documentElement) ? g.nodeName !== "HTML" : false }, ga = function (g, h) { var l = [], m = "", q; for (h = h.nodeType ? [h] : h; q = n.match.PSEUDO.exec(g); ) { m += q[0]; g = g.replace(n.match.PSEUDO, "") } g = n.relative[g] ? g + "*" : g; q = 0; for (var p = h.length; q < p; q++) k(g, h[q], l); return k.filter(m, l) }; c.find = k; c.expr = k.selectors; c.expr[":"] = c.expr.filters; c.unique = k.uniqueSort; c.text = a; c.isXMLDoc = x; c.contains = E
})(); var eb = /Until$/, fb = /^(?:parents|prevUntil|prevAll)/,
gb = /,/; R = Array.prototype.slice; var Ia = function (a, b, d) { if (c.isFunction(b)) return c.grep(a, function (e, j) { return !!b.call(e, j, e) === d }); else if (b.nodeType) return c.grep(a, function (e) { return e === b === d }); else if (typeof b === "string") { var f = c.grep(a, function (e) { return e.nodeType === 1 }); if (Ua.test(b)) return c.filter(b, f, !d); else b = c.filter(b, f) } return c.grep(a, function (e) { return c.inArray(e, b) >= 0 === d }) }; c.fn.extend({ find: function (a) {
    for (var b = this.pushStack("", "find", a), d = 0, f = 0, e = this.length; f < e; f++) {
        d = b.length;
        c.find(a, this[f], b); if (f > 0) for (var j = d; j < b.length; j++) for (var i = 0; i < d; i++) if (b[i] === b[j]) { b.splice(j--, 1); break } 
    } return b
}, has: function (a) { var b = c(a); return this.filter(function () { for (var d = 0, f = b.length; d < f; d++) if (c.contains(this, b[d])) return true }) }, not: function (a) { return this.pushStack(Ia(this, a, false), "not", a) }, filter: function (a) { return this.pushStack(Ia(this, a, true), "filter", a) }, is: function (a) { return !!a && c.filter(a, this).length > 0 }, closest: function (a, b) {
    if (c.isArray(a)) {
        var d = [], f = this[0], e, j =
{}, i; if (f && a.length) { e = 0; for (var o = a.length; e < o; e++) { i = a[e]; j[i] || (j[i] = c.expr.match.POS.test(i) ? c(i, b || this.context) : i) } for (; f && f.ownerDocument && f !== b; ) { for (i in j) { e = j[i]; if (e.jquery ? e.index(f) > -1 : c(f).is(e)) { d.push({ selector: i, elem: f }); delete j[i] } } f = f.parentNode } } return d
    } var k = c.expr.match.POS.test(a) ? c(a, b || this.context) : null; return this.map(function (n, r) { for (; r && r.ownerDocument && r !== b; ) { if (k ? k.index(r) > -1 : c(r).is(a)) return r; r = r.parentNode } return null })
}, index: function (a) {
    if (!a || typeof a ===
"string") return c.inArray(this[0], a ? c(a) : this.parent().children()); return c.inArray(a.jquery ? a[0] : a, this)
}, add: function (a, b) { a = typeof a === "string" ? c(a, b || this.context) : c.makeArray(a); b = c.merge(this.get(), a); return this.pushStack(qa(a[0]) || qa(b[0]) ? b : c.unique(b)) }, andSelf: function () { return this.add(this.prevObject) } 
}); c.each({ parent: function (a) { return (a = a.parentNode) && a.nodeType !== 11 ? a : null }, parents: function (a) { return c.dir(a, "parentNode") }, parentsUntil: function (a, b, d) {
    return c.dir(a, "parentNode",
d)
}, next: function (a) { return c.nth(a, 2, "nextSibling") }, prev: function (a) { return c.nth(a, 2, "previousSibling") }, nextAll: function (a) { return c.dir(a, "nextSibling") }, prevAll: function (a) { return c.dir(a, "previousSibling") }, nextUntil: function (a, b, d) { return c.dir(a, "nextSibling", d) }, prevUntil: function (a, b, d) { return c.dir(a, "previousSibling", d) }, siblings: function (a) { return c.sibling(a.parentNode.firstChild, a) }, children: function (a) { return c.sibling(a.firstChild) }, contents: function (a) {
    return c.nodeName(a, "iframe") ?
a.contentDocument || a.contentWindow.document : c.makeArray(a.childNodes)
} 
}, function (a, b) { c.fn[a] = function (d, f) { var e = c.map(this, b, d); eb.test(a) || (f = d); if (f && typeof f === "string") e = c.filter(f, e); e = this.length > 1 ? c.unique(e) : e; if ((this.length > 1 || gb.test(f)) && fb.test(a)) e = e.reverse(); return this.pushStack(e, a, R.call(arguments).join(",")) } }); c.extend({ filter: function (a, b, d) { if (d) a = ":not(" + a + ")"; return c.find.matches(a, b) }, dir: function (a, b, d) {
    var f = []; for (a = a[b]; a && a.nodeType !== 9 && (d === w || a.nodeType !== 1 || !c(a).is(d)); ) {
        a.nodeType ===
1 && f.push(a); a = a[b]
    } return f
}, nth: function (a, b, d) { b = b || 1; for (var f = 0; a; a = a[d]) if (a.nodeType === 1 && ++f === b) break; return a }, sibling: function (a, b) { for (var d = []; a; a = a.nextSibling) a.nodeType === 1 && a !== b && d.push(a); return d } 
}); var Ja = / jQuery\d+="(?:\d+|null)"/g, V = /^\s+/, Ka = /(<([\w:]+)[^>]*?)\/>/g, hb = /^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i, La = /<([\w:]+)/, ib = /<tbody/i, jb = /<|&#?\w+;/, ta = /<script|<object|<embed|<option|<style/i, ua = /checked\s*(?:[^=]|=\s*.checked.)/i, Ma = function (a, b, d) {
    return hb.test(d) ?
a : b + "></" + d + ">"
}, F = { option: [1, "<select multiple='multiple'>", "</select>"], legend: [1, "<fieldset>", "</fieldset>"], thead: [1, "<table>", "</table>"], tr: [2, "<table><tbody>", "</tbody></table>"], td: [3, "<table><tbody><tr>", "</tr></tbody></table>"], col: [2, "<table><tbody></tbody><colgroup>", "</colgroup></table>"], area: [1, "<map>", "</map>"], _default: [0, "", ""] }; F.optgroup = F.option; F.tbody = F.tfoot = F.colgroup = F.caption = F.thead; F.th = F.td; if (!c.support.htmlSerialize) F._default = [1, "div<div>", "</div>"]; c.fn.extend({ text: function (a) {
    if (c.isFunction(a)) return this.each(function (b) {
        var d =
c(this); d.text(a.call(this, b, d.text()))
    }); if (typeof a !== "object" && a !== w) return this.empty().append((this[0] && this[0].ownerDocument || s).createTextNode(a)); return c.text(this)
}, wrapAll: function (a) { if (c.isFunction(a)) return this.each(function (d) { c(this).wrapAll(a.call(this, d)) }); if (this[0]) { var b = c(a, this[0].ownerDocument).eq(0).clone(true); this[0].parentNode && b.insertBefore(this[0]); b.map(function () { for (var d = this; d.firstChild && d.firstChild.nodeType === 1; ) d = d.firstChild; return d }).append(this) } return this },
    wrapInner: function (a) { if (c.isFunction(a)) return this.each(function (b) { c(this).wrapInner(a.call(this, b)) }); return this.each(function () { var b = c(this), d = b.contents(); d.length ? d.wrapAll(a) : b.append(a) }) }, wrap: function (a) { return this.each(function () { c(this).wrapAll(a) }) }, unwrap: function () { return this.parent().each(function () { c.nodeName(this, "body") || c(this).replaceWith(this.childNodes) }).end() }, append: function () { return this.domManip(arguments, true, function (a) { this.nodeType === 1 && this.appendChild(a) }) },
    prepend: function () { return this.domManip(arguments, true, function (a) { this.nodeType === 1 && this.insertBefore(a, this.firstChild) }) }, before: function () { if (this[0] && this[0].parentNode) return this.domManip(arguments, false, function (b) { this.parentNode.insertBefore(b, this) }); else if (arguments.length) { var a = c(arguments[0]); a.push.apply(a, this.toArray()); return this.pushStack(a, "before", arguments) } }, after: function () {
        if (this[0] && this[0].parentNode) return this.domManip(arguments, false, function (b) {
            this.parentNode.insertBefore(b,
this.nextSibling)
        }); else if (arguments.length) { var a = this.pushStack(this, "after", arguments); a.push.apply(a, c(arguments[0]).toArray()); return a } 
    }, remove: function (a, b) { for (var d = 0, f; (f = this[d]) != null; d++) if (!a || c.filter(a, [f]).length) { if (!b && f.nodeType === 1) { c.cleanData(f.getElementsByTagName("*")); c.cleanData([f]) } f.parentNode && f.parentNode.removeChild(f) } return this }, empty: function () {
        for (var a = 0, b; (b = this[a]) != null; a++) for (b.nodeType === 1 && c.cleanData(b.getElementsByTagName("*")); b.firstChild; ) b.removeChild(b.firstChild);
        return this
    }, clone: function (a) { var b = this.map(function () { if (!c.support.noCloneEvent && !c.isXMLDoc(this)) { var d = this.outerHTML, f = this.ownerDocument; if (!d) { d = f.createElement("div"); d.appendChild(this.cloneNode(true)); d = d.innerHTML } return c.clean([d.replace(Ja, "").replace(/=([^="'>\s]+\/)>/g, '="$1">').replace(V, "")], f)[0] } else return this.cloneNode(true) }); if (a === true) { ra(this, b); ra(this.find("*"), b.find("*")) } return b }, html: function (a) {
        if (a === w) return this[0] && this[0].nodeType === 1 ? this[0].innerHTML.replace(Ja,
"") : null; else if (typeof a === "string" && !ta.test(a) && (c.support.leadingWhitespace || !V.test(a)) && !F[(La.exec(a) || ["", ""])[1].toLowerCase()]) { a = a.replace(Ka, Ma); try { for (var b = 0, d = this.length; b < d; b++) if (this[b].nodeType === 1) { c.cleanData(this[b].getElementsByTagName("*")); this[b].innerHTML = a } } catch (f) { this.empty().append(a) } } else c.isFunction(a) ? this.each(function (e) { var j = c(this), i = j.html(); j.empty().append(function () { return a.call(this, e, i) }) }) : this.empty().append(a); return this
    }, replaceWith: function (a) {
        if (this[0] &&
this[0].parentNode) { if (c.isFunction(a)) return this.each(function (b) { var d = c(this), f = d.html(); d.replaceWith(a.call(this, b, f)) }); if (typeof a !== "string") a = c(a).detach(); return this.each(function () { var b = this.nextSibling, d = this.parentNode; c(this).remove(); b ? c(b).before(a) : c(d).append(a) }) } else return this.pushStack(c(c.isFunction(a) ? a() : a), "replaceWith", a)
    }, detach: function (a) { return this.remove(a, true) }, domManip: function (a, b, d) {
        function f(u) {
            return c.nodeName(u, "table") ? u.getElementsByTagName("tbody")[0] ||
u.appendChild(u.ownerDocument.createElement("tbody")) : u
        } var e, j, i = a[0], o = [], k; if (!c.support.checkClone && arguments.length === 3 && typeof i === "string" && ua.test(i)) return this.each(function () { c(this).domManip(a, b, d, true) }); if (c.isFunction(i)) return this.each(function (u) { var z = c(this); a[0] = i.call(this, u, b ? z.html() : w); z.domManip(a, b, d) }); if (this[0]) {
            e = i && i.parentNode; e = c.support.parentNode && e && e.nodeType === 11 && e.childNodes.length === this.length ? { fragment: e} : sa(a, this, o); k = e.fragment; if (j = k.childNodes.length ===
1 ? (k = k.firstChild) : k.firstChild) { b = b && c.nodeName(j, "tr"); for (var n = 0, r = this.length; n < r; n++) d.call(b ? f(this[n], j) : this[n], n > 0 || e.cacheable || this.length > 1 ? k.cloneNode(true) : k) } o.length && c.each(o, Qa)
        } return this
    } 
}); c.fragments = {}; c.each({ appendTo: "append", prependTo: "prepend", insertBefore: "before", insertAfter: "after", replaceAll: "replaceWith" }, function (a, b) {
    c.fn[a] = function (d) {
        var f = []; d = c(d); var e = this.length === 1 && this[0].parentNode; if (e && e.nodeType === 11 && e.childNodes.length === 1 && d.length === 1) {
            d[b](this[0]);
            return this
        } else { e = 0; for (var j = d.length; e < j; e++) { var i = (e > 0 ? this.clone(true) : this).get(); c.fn[b].apply(c(d[e]), i); f = f.concat(i) } return this.pushStack(f, a, d.selector) } 
    } 
}); c.extend({ clean: function (a, b, d, f) {
    b = b || s; if (typeof b.createElement === "undefined") b = b.ownerDocument || b[0] && b[0].ownerDocument || s; for (var e = [], j = 0, i; (i = a[j]) != null; j++) {
        if (typeof i === "number") i += ""; if (i) {
            if (typeof i === "string" && !jb.test(i)) i = b.createTextNode(i); else if (typeof i === "string") {
                i = i.replace(Ka, Ma); var o = (La.exec(i) || ["",
""])[1].toLowerCase(), k = F[o] || F._default, n = k[0], r = b.createElement("div"); for (r.innerHTML = k[1] + i + k[2]; n--; ) r = r.lastChild; if (!c.support.tbody) { n = ib.test(i); o = o === "table" && !n ? r.firstChild && r.firstChild.childNodes : k[1] === "<table>" && !n ? r.childNodes : []; for (k = o.length - 1; k >= 0; --k) c.nodeName(o[k], "tbody") && !o[k].childNodes.length && o[k].parentNode.removeChild(o[k]) } !c.support.leadingWhitespace && V.test(i) && r.insertBefore(b.createTextNode(V.exec(i)[0]), r.firstChild); i = r.childNodes
            } if (i.nodeType) e.push(i); else e =
c.merge(e, i)
        } 
    } if (d) for (j = 0; e[j]; j++) if (f && c.nodeName(e[j], "script") && (!e[j].type || e[j].type.toLowerCase() === "text/javascript")) f.push(e[j].parentNode ? e[j].parentNode.removeChild(e[j]) : e[j]); else { e[j].nodeType === 1 && e.splice.apply(e, [j + 1, 0].concat(c.makeArray(e[j].getElementsByTagName("script")))); d.appendChild(e[j]) } return e
}, cleanData: function (a) {
    for (var b, d, f = c.cache, e = c.event.special, j = c.support.deleteExpando, i = 0, o; (o = a[i]) != null; i++) if (d = o[c.expando]) {
        b = f[d]; if (b.events) for (var k in b.events) e[k] ?
c.event.remove(o, k) : Ca(o, k, b.handle); if (j) delete o[c.expando]; else o.removeAttribute && o.removeAttribute(c.expando); delete f[d]
    } 
} 
}); var kb = /z-?index|font-?weight|opacity|zoom|line-?height/i, Na = /alpha\([^)]*\)/, Oa = /opacity=([^)]*)/, ha = /float/i, ia = /-([a-z])/ig, lb = /([A-Z])/g, mb = /^-?\d+(?:px)?$/i, nb = /^-?\d/, ob = { position: "absolute", visibility: "hidden", display: "block" }, pb = ["Left", "Right"], qb = ["Top", "Bottom"], rb = s.defaultView && s.defaultView.getComputedStyle, Pa = c.support.cssFloat ? "cssFloat" : "styleFloat", ja =
function (a, b) { return b.toUpperCase() }; c.fn.css = function (a, b) { return X(this, a, b, true, function (d, f, e) { if (e === w) return c.curCSS(d, f); if (typeof e === "number" && !kb.test(f)) e += "px"; c.style(d, f, e) }) }; c.extend({ style: function (a, b, d) {
    if (!a || a.nodeType === 3 || a.nodeType === 8) return w; if ((b === "width" || b === "height") && parseFloat(d) < 0) d = w; var f = a.style || a, e = d !== w; if (!c.support.opacity && b === "opacity") {
        if (e) {
            f.zoom = 1; b = parseInt(d, 10) + "" === "NaN" ? "" : "alpha(opacity=" + d * 100 + ")"; a = f.filter || c.curCSS(a, "filter") || ""; f.filter =
Na.test(a) ? a.replace(Na, b) : b
        } return f.filter && f.filter.indexOf("opacity=") >= 0 ? parseFloat(Oa.exec(f.filter)[1]) / 100 + "" : ""
    } if (ha.test(b)) b = Pa; b = b.replace(ia, ja); if (e) f[b] = d; return f[b]
}, css: function (a, b, d, f) {
    if (b === "width" || b === "height") {
        var e, j = b === "width" ? pb : qb; function i() {
            e = b === "width" ? a.offsetWidth : a.offsetHeight; f !== "border" && c.each(j, function () {
                f || (e -= parseFloat(c.curCSS(a, "padding" + this, true)) || 0); if (f === "margin") e += parseFloat(c.curCSS(a, "margin" + this, true)) || 0; else e -= parseFloat(c.curCSS(a,
"border" + this + "Width", true)) || 0
            })
        } a.offsetWidth !== 0 ? i() : c.swap(a, ob, i); return Math.max(0, Math.round(e))
    } return c.curCSS(a, b, d)
}, curCSS: function (a, b, d) {
    var f, e = a.style; if (!c.support.opacity && b === "opacity" && a.currentStyle) { f = Oa.test(a.currentStyle.filter || "") ? parseFloat(RegExp.$1) / 100 + "" : ""; return f === "" ? "1" : f } if (ha.test(b)) b = Pa; if (!d && e && e[b]) f = e[b]; else if (rb) {
        if (ha.test(b)) b = "float"; b = b.replace(lb, "-$1").toLowerCase(); e = a.ownerDocument.defaultView; if (!e) return null; if (a = e.getComputedStyle(a, null)) f =
a.getPropertyValue(b); if (b === "opacity" && f === "") f = "1"
    } else if (a.currentStyle) { d = b.replace(ia, ja); f = a.currentStyle[b] || a.currentStyle[d]; if (!mb.test(f) && nb.test(f)) { b = e.left; var j = a.runtimeStyle.left; a.runtimeStyle.left = a.currentStyle.left; e.left = d === "fontSize" ? "1em" : f || 0; f = e.pixelLeft + "px"; e.left = b; a.runtimeStyle.left = j } } return f
}, swap: function (a, b, d) { var f = {}; for (var e in b) { f[e] = a.style[e]; a.style[e] = b[e] } d.call(a); for (e in b) a.style[e] = f[e] } 
}); if (c.expr && c.expr.filters) {
        c.expr.filters.hidden = function (a) {
            var b =
a.offsetWidth, d = a.offsetHeight, f = a.nodeName.toLowerCase() === "tr"; return b === 0 && d === 0 && !f ? true : b > 0 && d > 0 && !f ? false : c.curCSS(a, "display") === "none"
        }; c.expr.filters.visible = function (a) { return !c.expr.filters.hidden(a) } 
    } var sb = J(), tb = /<script(.|\s)*?\/script>/gi, ub = /select|textarea/i, vb = /color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i, N = /=\?(&|$)/, ka = /\?/, wb = /(\?|&)_=.*?(&|$)/, xb = /^(\w+:)?\/\/([^\/?#]+)/, yb = /%20/g, zb = c.fn.load; c.fn.extend({ load: function (a, b, d) {
        if (typeof a !==
"string") return zb.call(this, a); else if (!this.length) return this; var f = a.indexOf(" "); if (f >= 0) { var e = a.slice(f, a.length); a = a.slice(0, f) } f = "GET"; if (b) if (c.isFunction(b)) { d = b; b = null } else if (typeof b === "object") { b = c.param(b, c.ajaxSettings.traditional); f = "POST" } var j = this; c.ajax({ url: a, type: f, dataType: "html", data: b, complete: function (i, o) { if (o === "success" || o === "notmodified") j.html(e ? c("<div />").append(i.responseText.replace(tb, "")).find(e) : i.responseText); d && j.each(d, [i.responseText, o, i]) } }); return this
    },
        serialize: function () { return c.param(this.serializeArray()) }, serializeArray: function () { return this.map(function () { return this.elements ? c.makeArray(this.elements) : this }).filter(function () { return this.name && !this.disabled && (this.checked || ub.test(this.nodeName) || vb.test(this.type)) }).map(function (a, b) { a = c(this).val(); return a == null ? null : c.isArray(a) ? c.map(a, function (d) { return { name: b.name, value: d} }) : { name: b.name, value: a} }).get() } 
    }); c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),
function (a, b) { c.fn[b] = function (d) { return this.bind(b, d) } }); c.extend({ get: function (a, b, d, f) { if (c.isFunction(b)) { f = f || d; d = b; b = null } return c.ajax({ type: "GET", url: a, data: b, success: d, dataType: f }) }, getScript: function (a, b) { return c.get(a, null, b, "script") }, getJSON: function (a, b, d) { return c.get(a, b, d, "json") }, post: function (a, b, d, f) { if (c.isFunction(b)) { f = f || d; d = b; b = {} } return c.ajax({ type: "POST", url: a, data: b, success: d, dataType: f }) }, ajaxSetup: function (a) { c.extend(c.ajaxSettings, a) }, ajaxSettings: { url: location.href,
    global: true, type: "GET", contentType: "application/x-www-form-urlencoded", processData: true, async: true, xhr: A.XMLHttpRequest && (A.location.protocol !== "file:" || !A.ActiveXObject) ? function () { return new A.XMLHttpRequest } : function () { try { return new A.ActiveXObject("Microsoft.XMLHTTP") } catch (a) { } }, accepts: { xml: "application/xml, text/xml", html: "text/html", script: "text/javascript, application/javascript", json: "application/json, text/javascript", text: "text/plain", _default: "*/*"}
}, lastModified: {}, etag: {}, ajax: function (a) {
    function b() {
        e.success &&
e.success.call(k, o, i, x); e.global && f("ajaxSuccess", [x, e])
    } function d() { e.complete && e.complete.call(k, x, i); e.global && f("ajaxComplete", [x, e]); e.global && ! --c.active && c.event.trigger("ajaxStop") } function f(q, p) { (e.context ? c(e.context) : c.event).trigger(q, p) } var e = c.extend(true, {}, c.ajaxSettings, a), j, i, o, k = a && a.context || e, n = e.type.toUpperCase(); if (e.data && e.processData && typeof e.data !== "string") e.data = c.param(e.data, e.traditional); if (e.dataType === "jsonp") {
        if (n === "GET") N.test(e.url) || (e.url += (ka.test(e.url) ?
"&" : "?") + (e.jsonp || "callback") + "=?"); else if (!e.data || !N.test(e.data)) e.data = (e.data ? e.data + "&" : "") + (e.jsonp || "callback") + "=?"; e.dataType = "json"
    } if (e.dataType === "json" && (e.data && N.test(e.data) || N.test(e.url))) { j = e.jsonpCallback || "jsonp" + sb++; if (e.data) e.data = (e.data + "").replace(N, "=" + j + "$1"); e.url = e.url.replace(N, "=" + j + "$1"); e.dataType = "script"; A[j] = A[j] || function (q) { o = q; b(); d(); A[j] = w; try { delete A[j] } catch (p) { } z && z.removeChild(C) } } if (e.dataType === "script" && e.cache === null) e.cache = false; if (e.cache ===
false && n === "GET") { var r = J(), u = e.url.replace(wb, "$1_=" + r + "$2"); e.url = u + (u === e.url ? (ka.test(e.url) ? "&" : "?") + "_=" + r : "") } if (e.data && n === "GET") e.url += (ka.test(e.url) ? "&" : "?") + e.data; e.global && !c.active++ && c.event.trigger("ajaxStart"); r = (r = xb.exec(e.url)) && (r[1] && r[1] !== location.protocol || r[2] !== location.host); if (e.dataType === "script" && n === "GET" && r) {
        var z = s.getElementsByTagName("head")[0] || s.documentElement, C = s.createElement("script"); C.src = e.url; if (e.scriptCharset) C.charset = e.scriptCharset; if (!j) {
            var B =
false; C.onload = C.onreadystatechange = function () { if (!B && (!this.readyState || this.readyState === "loaded" || this.readyState === "complete")) { B = true; b(); d(); C.onload = C.onreadystatechange = null; z && C.parentNode && z.removeChild(C) } } 
        } z.insertBefore(C, z.firstChild); return w
    } var E = false, x = e.xhr(); if (x) {
        e.username ? x.open(n, e.url, e.async, e.username, e.password) : x.open(n, e.url, e.async); try {
            if (e.data || a && a.contentType) x.setRequestHeader("Content-Type", e.contentType); if (e.ifModified) {
                c.lastModified[e.url] && x.setRequestHeader("If-Modified-Since",
c.lastModified[e.url]); c.etag[e.url] && x.setRequestHeader("If-None-Match", c.etag[e.url])
            } r || x.setRequestHeader("X-Requested-With", "XMLHttpRequest"); x.setRequestHeader("Accept", e.dataType && e.accepts[e.dataType] ? e.accepts[e.dataType] + ", */*" : e.accepts._default)
        } catch (ga) { } if (e.beforeSend && e.beforeSend.call(k, x, e) === false) { e.global && ! --c.active && c.event.trigger("ajaxStop"); x.abort(); return false } e.global && f("ajaxSend", [x, e]); var g = x.onreadystatechange = function (q) {
            if (!x || x.readyState === 0 || q === "abort") {
                E ||
d(); E = true; if (x) x.onreadystatechange = c.noop
            } else if (!E && x && (x.readyState === 4 || q === "timeout")) { E = true; x.onreadystatechange = c.noop; i = q === "timeout" ? "timeout" : !c.httpSuccess(x) ? "error" : e.ifModified && c.httpNotModified(x, e.url) ? "notmodified" : "success"; var p; if (i === "success") try { o = c.httpData(x, e.dataType, e) } catch (v) { i = "parsererror"; p = v } if (i === "success" || i === "notmodified") j || b(); else c.handleError(e, x, i, p); d(); q === "timeout" && x.abort(); if (e.async) x = null } 
        }; try {
            var h = x.abort; x.abort = function () {
                x && h.call(x);
                g("abort")
            } 
        } catch (l) { } e.async && e.timeout > 0 && setTimeout(function () { x && !E && g("timeout") }, e.timeout); try { x.send(n === "POST" || n === "PUT" || n === "DELETE" ? e.data : null) } catch (m) { c.handleError(e, x, null, m); d() } e.async || g(); return x
    } 
}, handleError: function (a, b, d, f) { if (a.error) a.error.call(a.context || a, b, d, f); if (a.global) (a.context ? c(a.context) : c.event).trigger("ajaxError", [b, a, f]) }, active: 0, httpSuccess: function (a) {
    try {
        return !a.status && location.protocol === "file:" || a.status >= 200 && a.status < 300 || a.status === 304 || a.status ===
1223 || a.status === 0
    } catch (b) { } return false
}, httpNotModified: function (a, b) { var d = a.getResponseHeader("Last-Modified"), f = a.getResponseHeader("Etag"); if (d) c.lastModified[b] = d; if (f) c.etag[b] = f; return a.status === 304 || a.status === 0 }, httpData: function (a, b, d) {
    var f = a.getResponseHeader("content-type") || "", e = b === "xml" || !b && f.indexOf("xml") >= 0; a = e ? a.responseXML : a.responseText; e && a.documentElement.nodeName === "parsererror" && c.error("parsererror"); if (d && d.dataFilter) a = d.dataFilter(a, b); if (typeof a === "string") if (b ===
"json" || !b && f.indexOf("json") >= 0) a = c.parseJSON(a); else if (b === "script" || !b && f.indexOf("javascript") >= 0) c.globalEval(a); return a
}, param: function (a, b) {
    function d(i, o) { if (c.isArray(o)) c.each(o, function (k, n) { b || /\[\]$/.test(i) ? f(i, n) : d(i + "[" + (typeof n === "object" || c.isArray(n) ? k : "") + "]", n) }); else !b && o != null && typeof o === "object" ? c.each(o, function (k, n) { d(i + "[" + k + "]", n) }) : f(i, o) } function f(i, o) { o = c.isFunction(o) ? o() : o; e[e.length] = encodeURIComponent(i) + "=" + encodeURIComponent(o) } var e = []; if (b === w) b = c.ajaxSettings.traditional;
    if (c.isArray(a) || a.jquery) c.each(a, function () { f(this.name, this.value) }); else for (var j in a) d(j, a[j]); return e.join("&").replace(yb, "+")
} 
}); var la = {}, Ab = /toggle|show|hide/, Bb = /^([+-]=)?([\d+-.]+)(.*)$/, W, va = [["height", "marginTop", "marginBottom", "paddingTop", "paddingBottom"], ["width", "marginLeft", "marginRight", "paddingLeft", "paddingRight"], ["opacity"]]; c.fn.extend({ show: function (a, b) {
    if (a || a === 0) return this.animate(K("show", 3), a, b); else {
        a = 0; for (b = this.length; a < b; a++) {
            var d = c.data(this[a], "olddisplay");
            this[a].style.display = d || ""; if (c.css(this[a], "display") === "none") { d = this[a].nodeName; var f; if (la[d]) f = la[d]; else { var e = c("<" + d + " />").appendTo("body"); f = e.css("display"); if (f === "none") f = "block"; e.remove(); la[d] = f } c.data(this[a], "olddisplay", f) } 
        } a = 0; for (b = this.length; a < b; a++) this[a].style.display = c.data(this[a], "olddisplay") || ""; return this
    } 
}, hide: function (a, b) {
    if (a || a === 0) return this.animate(K("hide", 3), a, b); else {
        a = 0; for (b = this.length; a < b; a++) {
            var d = c.data(this[a], "olddisplay"); !d && d !== "none" && c.data(this[a],
"olddisplay", c.css(this[a], "display"))
        } a = 0; for (b = this.length; a < b; a++) this[a].style.display = "none"; return this
    } 
}, _toggle: c.fn.toggle, toggle: function (a, b) { var d = typeof a === "boolean"; if (c.isFunction(a) && c.isFunction(b)) this._toggle.apply(this, arguments); else a == null || d ? this.each(function () { var f = d ? a : c(this).is(":hidden"); c(this)[f ? "show" : "hide"]() }) : this.animate(K("toggle", 3), a, b); return this }, fadeTo: function (a, b, d) { return this.filter(":hidden").css("opacity", 0).show().end().animate({ opacity: b }, a, d) },
    animate: function (a, b, d, f) {
        var e = c.speed(b, d, f); if (c.isEmptyObject(a)) return this.each(e.complete); return this[e.queue === false ? "each" : "queue"](function () {
            var j = c.extend({}, e), i, o = this.nodeType === 1 && c(this).is(":hidden"), k = this; for (i in a) {
                var n = i.replace(ia, ja); if (i !== n) { a[n] = a[i]; delete a[i]; i = n } if (a[i] === "hide" && o || a[i] === "show" && !o) return j.complete.call(this); if ((i === "height" || i === "width") && this.style) { j.display = c.css(this, "display"); j.overflow = this.style.overflow } if (c.isArray(a[i])) {
                    (j.specialEasing =
j.specialEasing || {})[i] = a[i][1]; a[i] = a[i][0]
                } 
            } if (j.overflow != null) this.style.overflow = "hidden"; j.curAnim = c.extend({}, a); c.each(a, function (r, u) { var z = new c.fx(k, j, r); if (Ab.test(u)) z[u === "toggle" ? o ? "show" : "hide" : u](a); else { var C = Bb.exec(u), B = z.cur(true) || 0; if (C) { u = parseFloat(C[2]); var E = C[3] || "px"; if (E !== "px") { k.style[r] = (u || 1) + E; B = (u || 1) / z.cur(true) * B; k.style[r] = B + E } if (C[1]) u = (C[1] === "-=" ? -1 : 1) * u + B; z.custom(B, u, E) } else z.custom(B, u, "") } }); return true
        })
    }, stop: function (a, b) {
        var d = c.timers; a && this.queue([]);
        this.each(function () { for (var f = d.length - 1; f >= 0; f--) if (d[f].elem === this) { b && d[f](true); d.splice(f, 1) } }); b || this.dequeue(); return this
    } 
}); c.each({ slideDown: K("show", 1), slideUp: K("hide", 1), slideToggle: K("toggle", 1), fadeIn: { opacity: "show" }, fadeOut: { opacity: "hide"} }, function (a, b) { c.fn[a] = function (d, f) { return this.animate(b, d, f) } }); c.extend({ speed: function (a, b, d) {
    var f = a && typeof a === "object" ? a : { complete: d || !d && b || c.isFunction(a) && a, duration: a, easing: d && b || b && !c.isFunction(b) && b }; f.duration = c.fx.off ? 0 : typeof f.duration ===
"number" ? f.duration : c.fx.speeds[f.duration] || c.fx.speeds._default; f.old = f.complete; f.complete = function () { f.queue !== false && c(this).dequeue(); c.isFunction(f.old) && f.old.call(this) }; return f
}, easing: { linear: function (a, b, d, f) { return d + f * a }, swing: function (a, b, d, f) { return (-Math.cos(a * Math.PI) / 2 + 0.5) * f + d } }, timers: [], fx: function (a, b, d) { this.options = b; this.elem = a; this.prop = d; if (!b.orig) b.orig = {} } 
}); c.fx.prototype = { update: function () {
    this.options.step && this.options.step.call(this.elem, this.now, this); (c.fx.step[this.prop] ||
c.fx.step._default)(this); if ((this.prop === "height" || this.prop === "width") && this.elem.style) this.elem.style.display = "block"
}, cur: function (a) { if (this.elem[this.prop] != null && (!this.elem.style || this.elem.style[this.prop] == null)) return this.elem[this.prop]; return (a = parseFloat(c.css(this.elem, this.prop, a))) && a > -10000 ? a : parseFloat(c.curCSS(this.elem, this.prop)) || 0 }, custom: function (a, b, d) {
    function f(j) { return e.step(j) } this.startTime = J(); this.start = a; this.end = b; this.unit = d || this.unit || "px"; this.now = this.start;
    this.pos = this.state = 0; var e = this; f.elem = this.elem; if (f() && c.timers.push(f) && !W) W = setInterval(c.fx.tick, 13)
}, show: function () { this.options.orig[this.prop] = c.style(this.elem, this.prop); this.options.show = true; this.custom(this.prop === "width" || this.prop === "height" ? 1 : 0, this.cur()); c(this.elem).show() }, hide: function () { this.options.orig[this.prop] = c.style(this.elem, this.prop); this.options.hide = true; this.custom(this.cur(), 0) }, step: function (a) {
    var b = J(), d = true; if (a || b >= this.options.duration + this.startTime) {
        this.now =
this.end; this.pos = this.state = 1; this.update(); this.options.curAnim[this.prop] = true; for (var f in this.options.curAnim) if (this.options.curAnim[f] !== true) d = false; if (d) {
            if (this.options.display != null) { this.elem.style.overflow = this.options.overflow; a = c.data(this.elem, "olddisplay"); this.elem.style.display = a ? a : this.options.display; if (c.css(this.elem, "display") === "none") this.elem.style.display = "block" } this.options.hide && c(this.elem).hide(); if (this.options.hide || this.options.show) for (var e in this.options.curAnim) c.style(this.elem,
e, this.options.orig[e]); this.options.complete.call(this.elem)
        } return false
    } else { e = b - this.startTime; this.state = e / this.options.duration; a = this.options.easing || (c.easing.swing ? "swing" : "linear"); this.pos = c.easing[this.options.specialEasing && this.options.specialEasing[this.prop] || a](this.state, e, 0, 1, this.options.duration); this.now = this.start + (this.end - this.start) * this.pos; this.update() } return true
} 
}; c.extend(c.fx, { tick: function () {
    for (var a = c.timers, b = 0; b < a.length; b++) a[b]() || a.splice(b--, 1); a.length ||
c.fx.stop()
}, stop: function () { clearInterval(W); W = null }, speeds: { slow: 600, fast: 200, _default: 400 }, step: { opacity: function (a) { c.style(a.elem, "opacity", a.now) }, _default: function (a) { if (a.elem.style && a.elem.style[a.prop] != null) a.elem.style[a.prop] = (a.prop === "width" || a.prop === "height" ? Math.max(0, a.now) : a.now) + a.unit; else a.elem[a.prop] = a.now } }
}); if (c.expr && c.expr.filters) c.expr.filters.animated = function (a) { return c.grep(c.timers, function (b) { return a === b.elem }).length }; c.fn.offset = "getBoundingClientRect" in s.documentElement ?
function (a) { var b = this[0]; if (a) return this.each(function (e) { c.offset.setOffset(this, a, e) }); if (!b || !b.ownerDocument) return null; if (b === b.ownerDocument.body) return c.offset.bodyOffset(b); var d = b.getBoundingClientRect(), f = b.ownerDocument; b = f.body; f = f.documentElement; return { top: d.top + (self.pageYOffset || c.support.boxModel && f.scrollTop || b.scrollTop) - (f.clientTop || b.clientTop || 0), left: d.left + (self.pageXOffset || c.support.boxModel && f.scrollLeft || b.scrollLeft) - (f.clientLeft || b.clientLeft || 0)} } : function (a) {
    var b =
this[0]; if (a) return this.each(function (r) { c.offset.setOffset(this, a, r) }); if (!b || !b.ownerDocument) return null; if (b === b.ownerDocument.body) return c.offset.bodyOffset(b); c.offset.initialize(); var d = b.offsetParent, f = b, e = b.ownerDocument, j, i = e.documentElement, o = e.body; f = (e = e.defaultView) ? e.getComputedStyle(b, null) : b.currentStyle; for (var k = b.offsetTop, n = b.offsetLeft; (b = b.parentNode) && b !== o && b !== i; ) {
        if (c.offset.supportsFixedPosition && f.position === "fixed") break; j = e ? e.getComputedStyle(b, null) : b.currentStyle;
        k -= b.scrollTop; n -= b.scrollLeft; if (b === d) { k += b.offsetTop; n += b.offsetLeft; if (c.offset.doesNotAddBorder && !(c.offset.doesAddBorderForTableAndCells && /^t(able|d|h)$/i.test(b.nodeName))) { k += parseFloat(j.borderTopWidth) || 0; n += parseFloat(j.borderLeftWidth) || 0 } f = d; d = b.offsetParent } if (c.offset.subtractsBorderForOverflowNotVisible && j.overflow !== "visible") { k += parseFloat(j.borderTopWidth) || 0; n += parseFloat(j.borderLeftWidth) || 0 } f = j
    } if (f.position === "relative" || f.position === "static") { k += o.offsetTop; n += o.offsetLeft } if (c.offset.supportsFixedPosition &&
f.position === "fixed") { k += Math.max(i.scrollTop, o.scrollTop); n += Math.max(i.scrollLeft, o.scrollLeft) } return { top: k, left: n}
}; c.offset = { initialize: function () {
    var a = s.body, b = s.createElement("div"), d, f, e, j = parseFloat(c.curCSS(a, "marginTop", true)) || 0; c.extend(b.style, { position: "absolute", top: 0, left: 0, margin: 0, border: 0, width: "1px", height: "1px", visibility: "hidden" }); b.innerHTML = "<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>";
    a.insertBefore(b, a.firstChild); d = b.firstChild; f = d.firstChild; e = d.nextSibling.firstChild.firstChild; this.doesNotAddBorder = f.offsetTop !== 5; this.doesAddBorderForTableAndCells = e.offsetTop === 5; f.style.position = "fixed"; f.style.top = "20px"; this.supportsFixedPosition = f.offsetTop === 20 || f.offsetTop === 15; f.style.position = f.style.top = ""; d.style.overflow = "hidden"; d.style.position = "relative"; this.subtractsBorderForOverflowNotVisible = f.offsetTop === -5; this.doesNotIncludeMarginInBodyOffset = a.offsetTop !== j; a.removeChild(b);
    c.offset.initialize = c.noop
}, bodyOffset: function (a) { var b = a.offsetTop, d = a.offsetLeft; c.offset.initialize(); if (c.offset.doesNotIncludeMarginInBodyOffset) { b += parseFloat(c.curCSS(a, "marginTop", true)) || 0; d += parseFloat(c.curCSS(a, "marginLeft", true)) || 0 } return { top: b, left: d} }, setOffset: function (a, b, d) {
    if (/static/.test(c.curCSS(a, "position"))) a.style.position = "relative"; var f = c(a), e = f.offset(), j = parseInt(c.curCSS(a, "top", true), 10) || 0, i = parseInt(c.curCSS(a, "left", true), 10) || 0; if (c.isFunction(b)) b = b.call(a,
d, e); d = { top: b.top - e.top + j, left: b.left - e.left + i }; "using" in b ? b.using.call(a, d) : f.css(d)
} 
}; c.fn.extend({ position: function () {
    if (!this[0]) return null; var a = this[0], b = this.offsetParent(), d = this.offset(), f = /^body|html$/i.test(b[0].nodeName) ? { top: 0, left: 0} : b.offset(); d.top -= parseFloat(c.curCSS(a, "marginTop", true)) || 0; d.left -= parseFloat(c.curCSS(a, "marginLeft", true)) || 0; f.top += parseFloat(c.curCSS(b[0], "borderTopWidth", true)) || 0; f.left += parseFloat(c.curCSS(b[0], "borderLeftWidth", true)) || 0; return { top: d.top -
f.top, left: d.left - f.left
    }
}, offsetParent: function () { return this.map(function () { for (var a = this.offsetParent || s.body; a && !/^body|html$/i.test(a.nodeName) && c.css(a, "position") === "static"; ) a = a.offsetParent; return a }) } 
}); c.each(["Left", "Top"], function (a, b) {
    var d = "scroll" + b; c.fn[d] = function (f) {
        var e = this[0], j; if (!e) return null; if (f !== w) return this.each(function () { if (j = wa(this)) j.scrollTo(!a ? f : c(j).scrollLeft(), a ? f : c(j).scrollTop()); else this[d] = f }); else return (j = wa(e)) ? "pageXOffset" in j ? j[a ? "pageYOffset" :
"pageXOffset"] : c.support.boxModel && j.document.documentElement[d] || j.document.body[d] : e[d]
    } 
}); c.each(["Height", "Width"], function (a, b) {
    var d = b.toLowerCase(); c.fn["inner" + b] = function () { return this[0] ? c.css(this[0], d, false, "padding") : null }; c.fn["outer" + b] = function (f) { return this[0] ? c.css(this[0], d, false, f ? "margin" : "border") : null }; c.fn[d] = function (f) {
        var e = this[0]; if (!e) return f == null ? null : this; if (c.isFunction(f)) return this.each(function (j) { var i = c(this); i[d](f.call(this, j, i[d]())) }); return "scrollTo" in
e && e.document ? e.document.compatMode === "CSS1Compat" && e.document.documentElement["client" + b] || e.document.body["client" + b] : e.nodeType === 9 ? Math.max(e.documentElement["client" + b], e.body["scroll" + b], e.documentElement["scroll" + b], e.body["offset" + b], e.documentElement["offset" + b]) : f === w ? c.css(e, d) : this.css(d, typeof f === "string" ? f : f + "px")
    } 
}); A.jQuery = A.$ = c
})(window);

/*	ColorBox v1.3.6 - a full featured, light-weight, customizable lightbox based on jQuery 1.3 */
(function(c) { function r(b, d) { d = d === "x" ? m.width() : m.height(); return typeof b === "string" ? Math.round(b.match(/%/) ? d / 100 * parseInt(b, 10) : parseInt(b, 10)) : b } function M(b) { b = c.isFunction(b) ? b.call(i) : b; return a.photo || b.match(/\.(gif|png|jpg|jpeg|bmp)(?:\?([^#]*))?(?:#(\.*))?$/i) } function Y() { for (var b in a) if (c.isFunction(a[b]) && b.substring(0, 2) !== "on") a[b] = a[b].call(i); a.rel = a.rel || i.rel; a.href = a.href || i.href; a.title = a.title || i.title } function Z(b) { i = b; a = c(i).data(q); Y(); if (a.rel && a.rel !== "nofollow") { g = c(".cboxElement").filter(function() { return (c(this).data(q).rel || this.rel) === a.rel }); j = g.index(i); if (j < 0) { g = g.add(i); j = g.length - 1 } } else { g = c(i); j = 0 } if (!B) { C = B = n; N = i; N.blur(); c(document).bind("keydown.cbox_close", function(d) { if (d.keyCode === 27) { d.preventDefault(); e.close() } }).bind("keydown.cbox_arrows", function(d) { if (g.length > 1) if (d.keyCode === 37) { d.preventDefault(); D.click() } else if (d.keyCode === 39) { d.preventDefault(); E.click() } }); a.overlayClose && s.css({ cursor: "pointer" }).one("click", e.close); c.event.trigger(aa); a.onOpen && a.onOpen.call(i); s.css({ opacity: a.opacity }).show(); a.w = r(a.initialWidth, "x"); a.h = r(a.initialHeight, "y"); e.position(0); O && m.bind("resize.cboxie6 scroll.cboxie6", function() { s.css({ width: m.width(), height: m.height(), top: m.scrollTop(), left: m.scrollLeft() }) }).trigger("scroll.cboxie6") } P.add(D).add(E).add(t).add(Q).hide(); R.html(a.close).show(); e.slideshow(); e.load() } var q = "colorbox", F = "hover", n = true, e, x = !c.support.opacity, O = x && !window.XMLHttpRequest, aa = "cbox_open", H = "cbox_load", S = "cbox_complete", T = "resize.cbox_resize", s, k, u, p, U, V, W, X, g, m, l, I, J, K, Q, P, t, E, D, R, y, z, v, w, i, N, j, a, B, C, $ = { transition: "elastic", speed: 350, width: false, height: false, innerWidth: false, innerHeight: false, initialWidth: "400", initialHeight: "400", maxWidth: false, maxHeight: false, scalePhotos: n, scrolling: n, inline: false, html: false, iframe: false, photo: false, href: false, title: false, rel: false, opacity: 0.9, preloading: n, current: "image {current} of {total}", previous: "previous", next: "next", close: "close", open: false, overlayClose: n, slideshow: false, slideshowAuto: n, slideshowSpeed: 2500, slideshowStart: "start slideshow", slideshowStop: "stop slideshow", onOpen: false, onLoad: false, onComplete: false, onCleanup: false, onClosed: false }; e = c.fn.colorbox = function(b, d) { var h = this; if (!h.length) if (h.selector === "") { h = c("<a/>"); b.open = n } else return this; h.each(function() { var f = c.extend({}, c(this).data(q) ? c(this).data(q) : $, b); c(this).data(q, f).addClass("cboxElement"); if (d) c(this).data(q).onComplete = d }); b && b.open && Z(h); return this }; e.init = function() { function b(d) { return c('<div id="cbox' + d + '"/>') } m = c(window); k = c('<div id="colorbox"/>'); s = b("Overlay").hide(); u = b("Wrapper"); p = b("Content").append(l = b("LoadedContent").css({ width: 0, height: 0 }), J = b("LoadingOverlay"), K = b("LoadingGraphic"), Q = b("Title"), P = b("Current"), t = b("Slideshow"), E = b("Next"), D = b("Previous"), R = b("Close")); u.append(c("<div/>").append(b("TopLeft"), U = b("TopCenter"), b("TopRight")), c("<div/>").append(V = b("MiddleLeft"), p, W = b("MiddleRight")), c("<div/>").append(b("BottomLeft"), X = b("BottomCenter"), b("BottomRight"))).children().children().css({ "float": "left" }); I = c("<div style='position:absolute; top:0; left:0; width:9999px; height:0;'/>"); c("body").prepend(s, k.append(u, I)); if (x) { k.addClass("cboxIE"); O && s.css("position", "absolute") } p.children().bind("mouseover mouseout", function() { c(this).toggleClass(F) }).addClass(F); y = U.height() + X.height() + p.outerHeight(n) - p.height(); z = V.width() + W.width() + p.outerWidth(n) - p.width(); v = l.outerHeight(n); w = l.outerWidth(n); k.css({ "padding-bottom": y, "padding-right": z }).hide(); E.click(e.next); D.click(e.prev); R.click(e.close); p.children().removeClass(F); c(".cboxElement").live("click", function(d) { if (d.button !== 0 && typeof d.button !== "undefined") return n; else { Z(this); return false } }) }; e.position = function(b, d) { function h(A) { U[0].style.width = X[0].style.width = p[0].style.width = A.style.width; K[0].style.height = J[0].style.height = p[0].style.height = V[0].style.height = W[0].style.height = A.style.height } var f = m.height(); f = Math.max(f - a.h - v - y, 0) / 2 + m.scrollTop(); var o = Math.max(document.documentElement.clientWidth - a.w - w - z, 0) / 2 + m.scrollLeft(); b = k.width() === a.w + w && k.height() === a.h + v ? 0 : b; u[0].style.width = u[0].style.height = "9999px"; k.dequeue().animate({ width: a.w + w, height: a.h + v, top: f, left: o }, { duration: b, complete: function() { h(this); C = false; u[0].style.width = a.w + w + z + "px"; u[0].style.height = a.h + v + y + "px"; d && d() }, step: function() { h(this) } }) }; e.resize = function(b) { function d() { a.w = a.w || l.width(); a.w = a.mw && a.mw < a.w ? a.mw : a.w; return a.w } function h() { a.h = a.h || l.height(); a.h = a.mh && a.mh < a.h ? a.mh : a.h; return a.h } function f(G) { e.position(G, function() { if (B) { if (x) { A && l.fadeIn(100); k[0].style.removeAttribute("filter") } if (a.iframe) l.append("<iframe id='cboxIframe'" + (a.scrolling ? " " : "scrolling='no'") + " name='iframe_" + (new Date).getTime() + "' frameborder=0 src='" + a.href + "' " + (x ? "allowtransparency='true'" : "") + " />"); l.show(); Q.show().html(a.title); if (g.length > 1) { P.html(a.current.replace(/\{current\}/, j + 1).replace(/\{total\}/, g.length)).show(); E.html(a.next).show(); D.html(a.previous).show(); a.slideshow && t.show() } J.hide(); K.hide(); c.event.trigger(S); a.onComplete && a.onComplete.call(i); a.transition === "fade" && k.fadeTo(L, 1, function() { x && k[0].style.removeAttribute("filter") }); m.bind(T, function() { e.position(0) }) } }) } if (B) { var o, A, L = a.transition === "none" ? 0 : a.speed; m.unbind(T); if (b) { l.remove(); l = c('<div id="cboxLoadedContent"/>').html(b); l.hide().appendTo(I).css({ width: d(), overflow: a.scrolling ? "auto" : "hidden" }).css({ height: h() }).prependTo(p); c("#cboxPhoto").css({ cssFloat: "none" }); O && c("select:not(#colorbox select)").filter(function() { return this.style.visibility !== "hidden" }).css({ visibility: "hidden" }).one("cbox_cleanup", function() { this.style.visibility = "inherit" }); a.transition === "fade" && k.fadeTo(L, 0, function() { f(0) }) || f(L); if (a.preloading && g.length > 1) { b = j > 0 ? g[j - 1] : g[g.length - 1]; o = j < g.length - 1 ? g[j + 1] : g[0]; o = c(o).data(q).href || o.href; b = c(b).data(q).href || b.href; M(o) && c("<img />").attr("src", o); M(b) && c("<img />").attr("src", b) } } else setTimeout(function() { var G = l.wrapInner("<div style='overflow:auto'></div>").children(); a.h = G.height(); l.css({ height: a.h }); G.replaceWith(G.children()); e.position(L) }, 1) } }; e.load = function() { var b, d, h, f = e.resize; C = n; i = g[j]; a = c(i).data(q); Y(); c.event.trigger(H); a.onLoad && a.onLoad.call(i); a.h = a.height ? r(a.height, "y") - v - y : a.innerHeight ? r(a.innerHeight, "y") : false; a.w = a.width ? r(a.width, "x") - w - z : a.innerWidth ? r(a.innerWidth, "x") : false; a.mw = a.w; a.mh = a.h; if (a.maxWidth) { a.mw = r(a.maxWidth, "x") - w - z; a.mw = a.w && a.w < a.mw ? a.w : a.mw } if (a.maxHeight) { a.mh = r(a.maxHeight, "y") - v - y; a.mh = a.h && a.h < a.mh ? a.h : a.mh } b = a.href; J.show(); K.show(); if (a.inline) { c('<div id="cboxInlineTemp" />').hide().insertBefore(c(b)[0]).bind(H + " cbox_cleanup", function() { c(this).replaceWith(l.children()) }); f(c(b)) } else if (a.iframe) f(" "); else if (a.html) f(a.html); else if (M(b)) { d = new Image; d.onload = function() { var o; d.onload = null; d.id = "cboxPhoto"; c(d).css({ margin: "auto", border: "none", display: "block", cssFloat: "left" }); if (a.scalePhotos) { h = function() { d.height -= d.height * o; d.width -= d.width * o }; if (a.mw && d.width > a.mw) { o = (d.width - a.mw) / d.width; h() } if (a.mh && d.height > a.mh) { o = (d.height - a.mh) / d.height; h() } } if (a.h) d.style.marginTop = Math.max(a.h - d.height, 0) / 2 + "px"; f(d); g.length > 1 && c(d).css({ cursor: "pointer" }).click(e.next); if (x) d.style.msInterpolationMode = "bicubic" }; d.src = b } else c("<div />").appendTo(I).load(b, function(o, A) { A === "success" ? f(this) : f(c("<p>Request unsuccessful.</p>")) }) }; e.next = function() { if (!C) { j = j < g.length - 1 ? j + 1 : 0; e.load() } }; e.prev = function() { if (!C) { j = j > 0 ? j - 1 : g.length - 1; e.load() } }; e.slideshow = function() { function b() { t.text(a.slideshowStop).bind(S, function() { h = setTimeout(e.next, a.slideshowSpeed) }).bind(H, function() { clearTimeout(h) }).one("click", function() { d(); c(this).removeClass(F) }); k.removeClass(f + "off").addClass(f + "on") } var d, h, f = "cboxSlideshow_"; t.bind("cbox_closed", function() { t.unbind(); clearTimeout(h); k.removeClass(f + "off " + f + "on") }); d = function() { clearTimeout(h); t.text(a.slideshowStart).unbind(S + " " + H).one("click", function() { b(); h = setTimeout(e.next, a.slideshowSpeed); c(this).removeClass(F) }); k.removeClass(f + "on").addClass(f + "off") }; if (a.slideshow && g.length > 1) a.slideshowAuto ? b() : d() }; e.close = function() { c.event.trigger("cbox_cleanup"); a.onCleanup && a.onCleanup.call(i); B = false; c(document).unbind("keydown.cbox_close keydown.cbox_arrows"); m.unbind(T + " resize.cboxie6 scroll.cboxie6"); s.css({ cursor: "auto" }).fadeOut("fast"); k.stop(n, false).fadeOut("fast", function() { c("#colorbox iframe").attr("src", "about:blank"); l.remove(); k.css({ opacity: 1 }); try { N.focus() } catch (b) { } c.event.trigger("cbox_closed"); a.onClosed && a.onClosed.call(i) }) }; e.element = function() { return c(i) }; e.settings = $; c(e.init) })(jQuery);
/*
 * jQuery Autocomplete plugin 1.1
 *
 * Copyright (c) 2009 Jörn Zaefferer
 *
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 *
 * Revision: $Id: jquery.autocomplete.js 15 2009-08-22 10:30:27Z joern.zaefferer $
 */
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}(';(3($){$.2e.1u({19:3(b,d){5 c=W b=="1B";d=$.1u({},$.M.1T,{Y:c?b:P,y:c?P:b,1J:c?$.M.1T.1J:10,X:d&&!d.1D?10:48},d);d.1y=d.1y||3(a){6 a};d.1v=d.1v||d.1R;6 A.I(3(){1M $.M(A,d)})},L:3(a){6 A.11("L",a)},1k:3(a){6 A.14("1k",[a])},2b:3(){6 A.14("2b")},28:3(a){6 A.14("28",[a])},24:3(){6 A.14("24")}});$.M=3(o,r){5 t={2Y:38,2S:40,2N:46,2I:9,2E:13,2B:27,2x:3I,2v:33,2p:34,2n:8};5 u=$(o).3r("19","3o").Q(r.2Q);5 p;5 m="";5 n=$.M.3c(r);5 s=0;5 k;5 h={1F:C};5 l=$.M.32(r,o,1Z,h);5 j;$.1Y.2X&&$(o.2U).11("45.19",3(){4(j){j=C;6 C}});u.11(($.1Y.2X?"43":"42")+".19",3(a){s=1;k=a.2M;3V(a.2M){O t.2Y:a.1d();4(l.N()){l.30()}w{12(0,D)}R;O t.2S:a.1d();4(l.N()){l.2D()}w{12(0,D)}R;O t.2v:a.1d();4(l.N()){l.2C()}w{12(0,D)}R;O t.2p:a.1d();4(l.N()){l.2A()}w{12(0,D)}R;O r.17&&$.1c(r.S)==","&&t.2x:O t.2I:O t.2E:4(1Z()){a.1d();j=D;6 C}R;O t.2B:l.Z();R;3J:1P(p);p=1O(12,r.1J);R}}).2t(3(){s++}).3E(3(){s=0;4(!h.1F){2r()}}).2q(3(){4(s++>1&&!l.N()){12(0,D)}}).11("1k",3(){5 c=(1r.7>1)?1r[1]:P;3 1N(q,a){5 b;4(a&&a.7){16(5 i=0;i<a.7;i++){4(a[i].L.J()==q.J()){b=a[i];R}}}4(W c=="3")c(b);w u.14("L",b&&[b.y,b.F])}$.I(15(u.K()),3(i,a){21(a,1N,1N)})}).11("2b",3(){n.1o()}).11("28",3(){$.1u(r,1r[1]);4("y"2h 1r[1])n.1e()}).11("24",3(){l.1p();u.1p();$(o.2U).1p(".19")});3 1Z(){5 e=l.2g();4(!e)6 C;5 v=e.L;m=v;4(r.17){5 b=15(u.K());4(b.7>1){5 f=r.S.7;5 c=$(o).18().1I;5 d,1H=0;$.I(b,3(i,a){1H+=a.7;4(c<=1H){d=i;6 C}1H+=f});b[d]=v;v=b.3f(r.S)}v+=r.S}u.K(v);1l();u.14("L",[e.y,e.F]);6 D}3 12(b,c){4(k==t.2N){l.Z();6}5 a=u.K();4(!c&&a==m)6;m=a;a=1m(a);4(a.7>=r.29){u.Q(r.26);4(!r.1s)a=a.J();21(a,3a,1l)}w{1q();l.Z()}};3 15(b){4(!b)6[""];4(!r.17)6[$.1c(b)];6 $.4h(b.23(r.S),3(a){6 $.1c(b).7?$.1c(a):P})}3 1m(a){4(!r.17)6 a;5 c=15(a);4(c.7==1)6 c[0];5 b=$(o).18().1I;4(b==a.7){c=15(a)}w{c=15(a.22(a.37(b),""))}6 c[c.7-1]}3 1G(q,a){4(r.1G&&(1m(u.K()).J()==q.J())&&k!=t.2n){u.K(u.K()+a.37(1m(m).7));$(o).18(m.7,m.7+a.7)}};3 2r(){1P(p);p=1O(1l,4g)};3 1l(){5 c=l.N();l.Z();1P(p);1q();4(r.36){u.1k(3(a){4(!a){4(r.17){5 b=15(u.K()).1n(0,-1);u.K(b.3f(r.S)+(b.7?r.S:""))}w{u.K("");u.14("L",P)}}})}};3 3a(q,a){4(a&&a.7&&s){1q();l.35(a,q);1G(q,a[0].F);l.20()}w{1l()}};3 21(f,d,g){4(!r.1s)f=f.J();5 e=n.31(f);4(e&&e.7){d(f,e)}w 4((W r.Y=="1B")&&(r.Y.7>0)){5 c={4f:+1M 4e()};$.I(r.2Z,3(a,b){c[a]=W b=="3"?b():b});$.4d({4c:"4b",4a:"19"+o.49,2V:r.2V,Y:r.Y,y:$.1u({q:1m(f),47:r.X},c),44:3(a){5 b=r.1A&&r.1A(a)||1A(a);n.1i(f,b);d(f,b)}})}w{l.2T();g(f)}};3 1A(c){5 d=[];5 b=c.23("\\n");16(5 i=0;i<b.7;i++){5 a=$.1c(b[i]);4(a){a=a.23("|");d[d.7]={y:a,F:a[0],L:r.1z&&r.1z(a,a[0])||a[0]}}}6 d};3 1q(){u.1h(r.26)}};$.M.1T={2Q:"41",2P:"3Z",26:"3Y",29:1,1J:3W,1s:C,1f:D,1w:C,1g:10,X:3U,36:C,2Z:{},1X:D,1R:3(a){6 a[0]},1v:P,1G:C,E:0,17:C,S:", ",1y:3(b,a){6 b.22(1M 3T("(?![^&;]+;)(?!<[^<>]*)("+a.22(/([\\^\\$\\(\\)\\[\\]\\{\\}\\*\\.\\+\\?\\|\\\\])/2K,"\\\\$1")+")(?![^<>]*>)(?![^&;]+;)","2K"),"<2J>$1</2J>")},1D:D,1E:3S};$.M.3c=3(g){5 h={};5 j=0;3 1f(s,a){4(!g.1s)s=s.J();5 i=s.2H(a);4(g.1w=="3R"){i=s.J().1k("\\\\b"+a.J())}4(i==-1)6 C;6 i==0||g.1w};3 1i(q,a){4(j>g.1g){1o()}4(!h[q]){j++}h[q]=a}3 1e(){4(!g.y)6 C;5 f={},2G=0;4(!g.Y)g.1g=1;f[""]=[];16(5 i=0,2F=g.y.7;i<2F;i++){5 c=g.y[i];c=(W c=="1B")?[c]:c;5 d=g.1v(c,i+1,g.y.7);4(d===C)1V;5 e=d.3Q(0).J();4(!f[e])f[e]=[];5 b={F:d,y:c,L:g.1z&&g.1z(c)||d};f[e].1U(b);4(2G++<g.X){f[""].1U(b)}};$.I(f,3(i,a){g.1g++;1i(i,a)})}1O(1e,25);3 1o(){h={};j=0}6{1o:1o,1i:1i,1e:1e,31:3(q){4(!g.1g||!j)6 P;4(!g.Y&&g.1w){5 a=[];16(5 k 2h h){4(k.7>0){5 c=h[k];$.I(c,3(i,x){4(1f(x.F,q)){a.1U(x)}})}}6 a}w 4(h[q]){6 h[q]}w 4(g.1f){16(5 i=q.7-1;i>=g.29;i--){5 c=h[q.3O(0,i)];4(c){5 a=[];$.I(c,3(i,x){4(1f(x.F,q)){a[a.7]=x}});6 a}}}6 P}}};$.M.32=3(e,g,f,k){5 h={H:"3N"};5 j,z=-1,y,1t="",1S=D,G,B;3 2y(){4(!1S)6;G=$("<3M/>").Z().Q(e.2P).T("3L","3K").1Q(1K.2w);B=$("<3H/>").1Q(G).3G(3(a){4(U(a).2u&&U(a).2u.3F()==\'2s\'){z=$("1L",B).1h(h.H).3D(U(a));$(U(a)).Q(h.H)}}).2q(3(a){$(U(a)).Q(h.H);f();g.2t();6 C}).3C(3(){k.1F=D}).3B(3(){k.1F=C});4(e.E>0)G.T("E",e.E);1S=C}3 U(a){5 b=a.U;3A(b&&b.3z!="2s")b=b.3y;4(!b)6[];6 b}3 V(b){j.1n(z,z+1).1h(h.H);2o(b);5 a=j.1n(z,z+1).Q(h.H);4(e.1D){5 c=0;j.1n(0,z).I(3(){c+=A.1a});4((c+a[0].1a-B.1b())>B[0].3x){B.1b(c+a[0].1a-B.3w())}w 4(c<B.1b()){B.1b(c)}}};3 2o(a){z+=a;4(z<0){z=j.1j()-1}w 4(z>=j.1j()){z=0}}3 2m(a){6 e.X&&e.X<a?e.X:a}3 2l(){B.2z();5 b=2m(y.7);16(5 i=0;i<b;i++){4(!y[i])1V;5 a=e.1R(y[i].y,i+1,b,y[i].F,1t);4(a===C)1V;5 c=$("<1L/>").3v(e.1y(a,1t)).Q(i%2==0?"3u":"3P").1Q(B)[0];$.y(c,"2k",y[i])}j=B.3t("1L");4(e.1X){j.1n(0,1).Q(h.H);z=0}4($.2e.2W)B.2W()}6{35:3(d,q){2y();y=d;1t=q;2l()},2D:3(){V(1)},30:3(){V(-1)},2C:3(){4(z!=0&&z-8<0){V(-z)}w{V(-8)}},2A:3(){4(z!=j.1j()-1&&z+8>j.1j()){V(j.1j()-1-z)}w{V(8)}},Z:3(){G&&G.Z();j&&j.1h(h.H);z=-1},N:3(){6 G&&G.3s(":N")},3q:3(){6 A.N()&&(j.2j("."+h.H)[0]||e.1X&&j[0])},20:3(){5 a=$(g).3p();G.T({E:W e.E=="1B"||e.E>0?e.E:$(g).E(),2i:a.2i+g.1a,1W:a.1W}).20();4(e.1D){B.1b(0);B.T({2L:e.1E,3n:\'3X\'});4($.1Y.3m&&W 1K.2w.3l.2L==="1x"){5 c=0;j.I(3(){c+=A.1a});5 b=c>e.1E;B.T(\'3k\',b?e.1E:c);4(!b){j.E(B.E()-2R(j.T("2O-1W"))-2R(j.T("2O-3j")))}}}},2g:3(){5 a=j&&j.2j("."+h.H).1h(h.H);6 a&&a.7&&$.y(a[0],"2k")},2T:3(){B&&B.2z()},1p:3(){G&&G.3i()}}};$.2e.18=3(b,f){4(b!==1x){6 A.I(3(){4(A.2d){5 a=A.2d();4(f===1x||b==f){a.4n("2c",b);a.3h()}w{a.4m(D);a.4l("2c",b);a.4k("2c",f);a.3h()}}w 4(A.3g){A.3g(b,f)}w 4(A.1C){A.1C=b;A.3e=f}})}5 c=A[0];4(c.2d){5 e=1K.18.4j(),3d=c.F,2a="<->",2f=e.3b.7;e.3b=2a;5 d=c.F.2H(2a);c.F=3d;A.18(d,d+2f);6{1I:d,39:d+2f}}w 4(c.1C!==1x){6{1I:c.1C,39:c.3e}}}})(4i);',62,272,'|||function|if|var|return|length|||||||||||||||||||||||||else||data|active|this|list|false|true|width|value|element|ACTIVE|each|toLowerCase|val|result|Autocompleter|visible|case|null|addClass|break|multipleSeparator|css|target|moveSelect|typeof|max|url|hide||bind|onChange||trigger|trimWords|for|multiple|selection|autocomplete|offsetHeight|scrollTop|trim|preventDefault|populate|matchSubset|cacheLength|removeClass|add|size|search|hideResultsNow|lastWord|slice|flush|unbind|stopLoading|arguments|matchCase|term|extend|formatMatch|matchContains|undefined|highlight|formatResult|parse|string|selectionStart|scroll|scrollHeight|mouseDownOnSelect|autoFill|progress|start|delay|document|li|new|findValueCallback|setTimeout|clearTimeout|appendTo|formatItem|needsInit|defaults|push|continue|left|selectFirst|browser|selectCurrent|show|request|replace|split|unautocomplete||loadingClass||setOptions|minChars|teststring|flushCache|character|createTextRange|fn|textLength|selected|in|top|filter|ac_data|fillList|limitNumberOfItems|BACKSPACE|movePosition|PAGEDOWN|click|hideResults|LI|focus|nodeName|PAGEUP|body|COMMA|init|empty|pageDown|ESC|pageUp|next|RETURN|ol|nullData|indexOf|TAB|strong|gi|maxHeight|keyCode|DEL|padding|resultsClass|inputClass|parseInt|DOWN|emptyList|form|dataType|bgiframe|opera|UP|extraParams|prev|load|Select|||display|mustMatch|substring||end|receiveData|text|Cache|orig|selectionEnd|join|setSelectionRange|select|remove|right|height|style|msie|overflow|off|offset|current|attr|is|find|ac_even|html|innerHeight|clientHeight|parentNode|tagName|while|mouseup|mousedown|index|blur|toUpperCase|mouseover|ul|188|default|absolute|position|div|ac_over|substr|ac_odd|charAt|word|180|RegExp|100|switch|400|auto|ac_loading|ac_results||ac_input|keydown|keypress|success|submit||limit|150|name|port|abort|mode|ajax|Date|timestamp|200|map|jQuery|createRange|moveEnd|moveStart|collapse|move'.split('|'),0,{}))
/*
* jQuery UI 1.7.2
*
* Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT (MIT-LICENSE.txt)
* and GPL (GPL-LICENSE.txt) licenses.
*
* http://docs.jquery.com/UI
*/
jQuery.ui || (function(c) { var i = c.fn.remove, d = c.browser.mozilla && (parseFloat(c.browser.version) < 1.9); c.ui = { version: "1.7.2", plugin: { add: function(k, l, n) { var m = c.ui[k].prototype; for (var j in n) { m.plugins[j] = m.plugins[j] || []; m.plugins[j].push([l, n[j]]) } }, call: function(j, l, k) { var n = j.plugins[l]; if (!n || !j.element[0].parentNode) { return } for (var m = 0; m < n.length; m++) { if (j.options[n[m][0]]) { n[m][1].apply(j.element, k) } } } }, contains: function(k, j) { return document.compareDocumentPosition ? k.compareDocumentPosition(j) & 16 : k !== j && k.contains(j) }, hasScroll: function(m, k) { if (c(m).css("overflow") == "hidden") { return false } var j = (k && k == "left") ? "scrollLeft" : "scrollTop", l = false; if (m[j] > 0) { return true } m[j] = 1; l = (m[j] > 0); m[j] = 0; return l }, isOverAxis: function(k, j, l) { return (k > j) && (k < (j + l)) }, isOver: function(o, k, n, m, j, l) { return c.ui.isOverAxis(o, n, j) && c.ui.isOverAxis(k, m, l) }, 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 (d) { var f = c.attr, e = c.fn.removeAttr, h = "http://www.w3.org/2005/07/aaa", a = /^aria-/, b = /^wairole:/; c.attr = function(k, j, l) { var m = l !== undefined; return (j == "role" ? (m ? f.call(this, k, j, "wairole:" + l) : (f.apply(this, arguments) || "").replace(b, "")) : (a.test(j) ? (m ? k.setAttributeNS(h, j.replace(a, "aaa:"), l) : f.call(this, k, j.replace(a, "aaa:"))) : f.apply(this, arguments))) }; c.fn.removeAttr = function(j) { return (a.test(j) ? this.each(function() { this.removeAttributeNS(h, j.replace(a, "")) }) : e.call(this, j)) } } c.fn.extend({ remove: function() { c("*", this).add(this).each(function() { c(this).triggerHandler("remove") }); return i.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 j; if ((c.browser.msie && (/(static|relative)/).test(this.css("position"))) || (/absolute/).test(this.css("position"))) { j = this.parents().filter(function() { return (/(relative|absolute|fixed)/).test(c.curCSS(this, "position", 1)) && (/(auto|scroll)/).test(c.curCSS(this, "overflow", 1) + c.curCSS(this, "overflow-y", 1) + c.curCSS(this, "overflow-x", 1)) }).eq(0) } else { j = this.parents().filter(function() { return (/(auto|scroll)/).test(c.curCSS(this, "overflow", 1) + c.curCSS(this, "overflow-y", 1) + c.curCSS(this, "overflow-x", 1)) }).eq(0) } return (/fixed/).test(this.css("position")) || !j.length ? c(document) : j } }); c.extend(c.expr[":"], { data: function(l, k, j) { return !!c.data(l, j[3]) }, focusable: function(k) { var l = k.nodeName.toLowerCase(), j = c.attr(k, "tabindex"); return (/input|select|textarea|button|object/.test(l) ? !k.disabled : "a" == l || "area" == l ? k.href || !isNaN(j) : !isNaN(j)) && !c(k)["area" == l ? "parents" : "closest"](":hidden").length }, tabbable: function(k) { var j = c.attr(k, "tabindex"); return (isNaN(j) || j >= 0) && c(k).is(":focusable") } }); function g(m, n, o, l) { function k(q) { var p = c[m][n][q] || []; return (typeof p == "string" ? p.split(/,?\s+/) : p) } var j = k("getter"); if (l.length == 1 && typeof l[0] == "string") { j = j.concat(k("getterSetter")) } return (c.inArray(o, j) != -1) } c.widget = function(k, j) { var l = k.split(".")[0]; k = k.split(".")[1]; c.fn[k] = function(p) { var n = (typeof p == "string"), o = Array.prototype.slice.call(arguments, 1); if (n && p.substring(0, 1) == "_") { return this } if (n && g(l, k, p, o)) { var m = c.data(this[0], k); return (m ? m[p].apply(m, o) : undefined) } return this.each(function() { var q = c.data(this, k); (!q && !n && c.data(this, k, new c[l][k](this, p))._init()); (q && n && c.isFunction(q[p]) && q[p].apply(q, o)) }) }; c[l] = c[l] || {}; c[l][k] = function(o, n) { var m = this; this.namespace = l; this.widgetName = k; this.widgetEventPrefix = c[l][k].eventPrefix || k; this.widgetBaseClass = l + "-" + k; this.options = c.extend({}, c.widget.defaults, c[l][k].defaults, c.metadata && c.metadata.get(o)[k], n); this.element = c(o).bind("setData." + k, function(q, p, r) { if (q.target == o) { return m._setData(p, r) } }).bind("getData." + k, function(q, p) { if (q.target == o) { return m._getData(p) } }).bind("remove", function() { return m.destroy() }) }; c[l][k].prototype = c.extend({}, c.widget.prototype, j); c[l][k].getterSetter = "option" }; c.widget.prototype = { _init: function() { }, destroy: function() { this.element.removeData(this.widgetName).removeClass(this.widgetBaseClass + "-disabled " + this.namespace + "-state-disabled").removeAttr("aria-disabled") }, option: function(l, m) { var k = l, j = this; if (typeof l == "string") { if (m === undefined) { return this._getData(l) } k = {}; k[l] = m } c.each(k, function(n, o) { j._setData(n, o) }) }, _getData: function(j) { return this.options[j] }, _setData: function(j, k) { this.options[j] = k; if (j == "disabled") { this.element[k ? "addClass" : "removeClass"](this.widgetBaseClass + "-disabled " + this.namespace + "-state-disabled").attr("aria-disabled", k) } }, enable: function() { this._setData("disabled", false) }, disable: function() { this._setData("disabled", true) }, _trigger: function(l, m, n) { var p = this.options[l], j = (l == this.widgetEventPrefix ? l : this.widgetEventPrefix + l); m = c.Event(m); m.type = j; if (m.originalEvent) { for (var k = c.event.props.length, o; k; ) { o = c.event.props[--k]; m[o] = m.originalEvent[o] } } this.element.trigger(m, n); return !(c.isFunction(p) && p.call(this.element[0], m, n) === false || m.isDefaultPrevented()) } }; c.widget.defaults = { disabled: false }; c.ui.mouse = { _mouseInit: function() { var j = this; this.element.bind("mousedown." + this.widgetName, function(k) { return j._mouseDown(k) }).bind("click." + this.widgetName, function(k) { if (j._preventClickEvent) { j._preventClickEvent = false; k.stopImmediatePropagation(); return false } }); if (c.browser.msie) { this._mouseUnselectable = this.element.attr("unselectable"); this.element.attr("unselectable", "on") } this.started = false }, _mouseDestroy: function() { this.element.unbind("." + this.widgetName); (c.browser.msie && this.element.attr("unselectable", this._mouseUnselectable)) }, _mouseDown: function(l) { l.originalEvent = l.originalEvent || {}; if (l.originalEvent.mouseHandled) { return } (this._mouseStarted && this._mouseUp(l)); this._mouseDownEvent = l; var k = this, m = (l.which == 1), j = (typeof this.options.cancel == "string" ? c(l.target).parents().add(l.target).filter(this.options.cancel).length : false); if (!m || j || !this._mouseCapture(l)) { return true } this.mouseDelayMet = !this.options.delay; if (!this.mouseDelayMet) { this._mouseDelayTimer = setTimeout(function() { k.mouseDelayMet = true }, this.options.delay) } if (this._mouseDistanceMet(l) && this._mouseDelayMet(l)) { this._mouseStarted = (this._mouseStart(l) !== false); if (!this._mouseStarted) { l.preventDefault(); return true } } this._mouseMoveDelegate = function(n) { return k._mouseMove(n) }; this._mouseUpDelegate = function(n) { return k._mouseUp(n) }; c(document).bind("mousemove." + this.widgetName, this._mouseMoveDelegate).bind("mouseup." + this.widgetName, this._mouseUpDelegate); (c.browser.safari || l.preventDefault()); l.originalEvent.mouseHandled = true; return true }, _mouseMove: function(j) { if (c.browser.msie && !j.button) { return this._mouseUp(j) } if (this._mouseStarted) { this._mouseDrag(j); return j.preventDefault() } if (this._mouseDistanceMet(j) && this._mouseDelayMet(j)) { this._mouseStarted = (this._mouseStart(this._mouseDownEvent, j) !== false); (this._mouseStarted ? this._mouseDrag(j) : this._mouseUp(j)) } return !this._mouseStarted }, _mouseUp: function(j) { c(document).unbind("mousemove." + this.widgetName, this._mouseMoveDelegate).unbind("mouseup." + this.widgetName, this._mouseUpDelegate); if (this._mouseStarted) { this._mouseStarted = false; this._preventClickEvent = (j.target == this._mouseDownEvent.target); this._mouseStop(j) } return false }, _mouseDistanceMet: function(j) { return (Math.max(Math.abs(this._mouseDownEvent.pageX - j.pageX), Math.abs(this._mouseDownEvent.pageY - j.pageY)) >= this.options.distance) }, _mouseDelayMet: function(j) { return this.mouseDelayMet }, _mouseStart: function(j) { }, _mouseDrag: function(j) { }, _mouseStop: function(j) { }, _mouseCapture: function(j) { return true } }; c.ui.mouse.defaults = { cancel: null, distance: 1, delay: 0} })(jQuery); ; /*
 * jQuery UI Accordion 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Accordion
 *
 * Depends:
 *	ui.core.js
 */
(function(a) { a.widget("ui.accordion", { _init: function() { var d = this.options, b = this; this.running = 0; if (d.collapsible == a.ui.accordion.defaults.collapsible && d.alwaysOpen != a.ui.accordion.defaults.alwaysOpen) { d.collapsible = !d.alwaysOpen } if (d.navigation) { var c = this.element.find("a").filter(d.navigationFilter); if (c.length) { if (c.filter(d.header).length) { this.active = c } else { this.active = c.parent().parent().prev(); c.addClass("ui-accordion-content-active") } } } this.element.addClass("ui-accordion ui-widget ui-helper-reset"); if (this.element[0].nodeName == "UL") { this.element.children("li").addClass("ui-accordion-li-fix") } this.headers = this.element.find(d.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all").bind("mouseenter.accordion", function() { a(this).addClass("ui-state-hover") }).bind("mouseleave.accordion", function() { a(this).removeClass("ui-state-hover") }).bind("focus.accordion", function() { a(this).addClass("ui-state-focus") }).bind("blur.accordion", function() { a(this).removeClass("ui-state-focus") }); this.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom"); this.active = this._findActive(this.active || d.active).toggleClass("ui-state-default").toggleClass("ui-state-active").toggleClass("ui-corner-all").toggleClass("ui-corner-top"); this.active.next().addClass("ui-accordion-content-active"); a("<span/>").addClass("ui-icon " + d.icons.header).prependTo(this.headers); this.active.find(".ui-icon").toggleClass(d.icons.header).toggleClass(d.icons.headerSelected); if (a.browser.msie) { this.element.find("a").css("zoom", "1") } this.resize(); this.element.attr("role", "tablist"); this.headers.attr("role", "tab").bind("keydown", function(e) { return b._keydown(e) }).next().attr("role", "tabpanel"); this.headers.not(this.active || "").attr("aria-expanded", "false").attr("tabIndex", "-1").next().hide(); if (!this.active.length) { this.headers.eq(0).attr("tabIndex", "0") } else { this.active.attr("aria-expanded", "true").attr("tabIndex", "0") } if (!a.browser.safari) { this.headers.find("a").attr("tabIndex", "-1") } if (d.event) { this.headers.bind((d.event) + ".accordion", function(e) { return b._clickHandler.call(b, e, this) }) } }, destroy: function() { var c = this.options; this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role").unbind(".accordion").removeData("accordion"); this.headers.unbind(".accordion").removeClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("tabindex"); this.headers.find("a").removeAttr("tabindex"); this.headers.children(".ui-icon").remove(); var b = this.headers.next().css("display", "").removeAttr("role").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active"); if (c.autoHeight || c.fillHeight) { b.css("height", "") } }, _setData: function(b, c) { if (b == "alwaysOpen") { b = "collapsible"; c = !c } a.widget.prototype._setData.apply(this, arguments) }, _keydown: function(e) { var g = this.options, f = a.ui.keyCode; if (g.disabled || e.altKey || e.ctrlKey) { return } var d = this.headers.length; var b = this.headers.index(e.target); var c = false; switch (e.keyCode) { case f.RIGHT: case f.DOWN: c = this.headers[(b + 1) % d]; break; case f.LEFT: case f.UP: c = this.headers[(b - 1 + d) % d]; break; case f.SPACE: case f.ENTER: return this._clickHandler({ target: e.target }, e.target) } if (c) { a(e.target).attr("tabIndex", "-1"); a(c).attr("tabIndex", "0"); c.focus(); return false } return true }, resize: function() { var e = this.options, d; if (e.fillSpace) { if (a.browser.msie) { var b = this.element.parent().css("overflow"); this.element.parent().css("overflow", "hidden") } d = this.element.parent().height(); if (a.browser.msie) { this.element.parent().css("overflow", b) } this.headers.each(function() { d -= a(this).outerHeight() }); var c = 0; this.headers.next().each(function() { c = Math.max(c, a(this).innerHeight() - a(this).height()) }).height(Math.max(0, d - c)).css("overflow", "auto") } else { if (e.autoHeight) { d = 0; this.headers.next().each(function() { d = Math.max(d, a(this).outerHeight()) }).height(d) } } }, activate: function(b) { var c = this._findActive(b)[0]; this._clickHandler({ target: c }, c) }, _findActive: function(b) { return b ? typeof b == "number" ? this.headers.filter(":eq(" + b + ")") : this.headers.not(this.headers.not(b)) : b === false ? a([]) : this.headers.filter(":eq(0)") }, _clickHandler: function(b, f) { var d = this.options; if (d.disabled) { return false } if (!b.target && d.collapsible) { this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").find(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header); this.active.next().addClass("ui-accordion-content-active"); var h = this.active.next(), e = { options: d, newHeader: a([]), oldHeader: d.active, newContent: a([]), oldContent: h }, c = (this.active = a([])); this._toggle(c, h, e); return false } var g = a(b.currentTarget || f); var i = g[0] == this.active[0]; if (this.running || (!d.collapsible && i)) { return false } this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").find(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header); this.active.next().addClass("ui-accordion-content-active"); if (!i) { g.removeClass("ui-state-default ui-corner-all").addClass("ui-state-active ui-corner-top").find(".ui-icon").removeClass(d.icons.header).addClass(d.icons.headerSelected); g.next().addClass("ui-accordion-content-active") } var c = g.next(), h = this.active.next(), e = { options: d, newHeader: i && d.collapsible ? a([]) : g, oldHeader: this.active, newContent: i && d.collapsible ? a([]) : c.find("> *"), oldContent: h.find("> *") }, j = this.headers.index(this.active[0]) > this.headers.index(g[0]); this.active = i ? a([]) : g; this._toggle(c, h, e, i, j); return false }, _toggle: function(b, i, g, j, k) { var d = this.options, m = this; this.toShow = b; this.toHide = i; this.data = g; var c = function() { if (!m) { return } return m._completed.apply(m, arguments) }; this._trigger("changestart", null, this.data); this.running = i.size() === 0 ? b.size() : i.size(); if (d.animated) { var f = {}; if (d.collapsible && j) { f = { toShow: a([]), toHide: i, complete: c, down: k, autoHeight: d.autoHeight || d.fillSpace} } else { f = { toShow: b, toHide: i, complete: c, down: k, autoHeight: d.autoHeight || d.fillSpace} } if (!d.proxied) { d.proxied = d.animated } if (!d.proxiedDuration) { d.proxiedDuration = d.duration } d.animated = a.isFunction(d.proxied) ? d.proxied(f) : d.proxied; d.duration = a.isFunction(d.proxiedDuration) ? d.proxiedDuration(f) : d.proxiedDuration; var l = a.ui.accordion.animations, e = d.duration, h = d.animated; if (!l[h]) { l[h] = function(n) { this.slide(n, { easing: h, duration: e || 700 }) } } l[h](f) } else { if (d.collapsible && j) { b.toggle() } else { i.hide(); b.show() } c(true) } i.prev().attr("aria-expanded", "false").attr("tabIndex", "-1").blur(); b.prev().attr("aria-expanded", "true").attr("tabIndex", "0").focus() }, _completed: function(b) { var c = this.options; this.running = b ? 0 : --this.running; if (this.running) { return } if (c.clearStyle) { this.toShow.add(this.toHide).css({ height: "", overflow: "" }) } this._trigger("change", null, this.data) } }); a.extend(a.ui.accordion, { version: "1.7.2", defaults: { active: null, alwaysOpen: true, animated: "slide", autoHeight: true, clearStyle: false, collapsible: false, event: "click", fillSpace: false, header: "> li > :first-child,> :not(li):even", icons: { header: "ui-icon-triangle-1-e", headerSelected: "ui-icon-triangle-1-s" }, navigation: false, navigationFilter: function() { return this.href.toLowerCase() == location.href.toLowerCase() } }, animations: { slide: function(j, h) { j = a.extend({ easing: "swing", duration: 300 }, j, h); if (!j.toHide.size()) { j.toShow.animate({ height: "show" }, j); return } if (!j.toShow.size()) { j.toHide.animate({ height: "hide" }, j); return } var c = j.toShow.css("overflow"), g, d = {}, f = {}, e = ["height", "paddingTop", "paddingBottom"], b; var i = j.toShow; b = i[0].style.width; i.width(parseInt(i.parent().width(), 10) - parseInt(i.css("paddingLeft"), 10) - parseInt(i.css("paddingRight"), 10) - (parseInt(i.css("borderLeftWidth"), 10) || 0) - (parseInt(i.css("borderRightWidth"), 10) || 0)); a.each(e, function(k, m) { f[m] = "hide"; var l = ("" + a.css(j.toShow[0], m)).match(/^([\d+-.]+)(.*)$/); d[m] = { value: l[1], unit: l[2] || "px"} }); j.toShow.css({ height: 0, overflow: "hidden" }).show(); j.toHide.filter(":hidden").each(j.complete).end().filter(":visible").animate(f, { step: function(k, l) { if (l.prop == "height") { g = (l.now - l.start) / (l.end - l.start) } j.toShow[0].style[l.prop] = (g * d[l.prop].value) + d[l.prop].unit }, duration: j.duration, easing: j.easing, complete: function() { if (!j.autoHeight) { j.toShow.css("height", "") } j.toShow.css("width", b); j.toShow.css({ overflow: c }); j.complete() } }) }, bounceslide: function(b) { this.slide(b, { easing: b.down ? "easeOutBounce" : "swing", duration: b.down ? 1000 : 200 }) }, easeslide: function(b) { this.slide(b, { easing: "easeinout", duration: 700 }) } } }) })(jQuery); ; /*
 * jQuery UI Dialog 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Dialog
 *
 * Depends:
 *	ui.core.js
 *	ui.draggable.js
 *	ui.resizable.js
 */
(function(c) { var b = { dragStart: "start.draggable", drag: "drag.draggable", dragStop: "stop.draggable", maxHeight: "maxHeight.resizable", minHeight: "minHeight.resizable", maxWidth: "maxWidth.resizable", minWidth: "minWidth.resizable", resizeStart: "start.resizable", resize: "drag.resizable", resizeStop: "stop.resizable" }, a = "ui-dialog ui-widget ui-widget-content ui-corner-all "; c.widget("ui.dialog", { _init: function() { this.originalTitle = this.element.attr("title"); var l = this, m = this.options, j = m.title || this.originalTitle || "&nbsp;", e = c.ui.dialog.getTitleId(this.element), k = (this.uiDialog = c("<div/>")).appendTo(document.body).hide().addClass(a + m.dialogClass).css({ position: "absolute", overflow: "hidden", zIndex: m.zIndex }).attr("tabIndex", -1).css("outline", 0).keydown(function(n) { (m.closeOnEscape && n.keyCode && n.keyCode == c.ui.keyCode.ESCAPE && l.close(n)) }).attr({ role: "dialog", "aria-labelledby": e }).mousedown(function(n) { l.moveToTop(false, n) }), g = this.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(k), f = (this.uiDialogTitlebar = c("<div></div>")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(k), i = c('<a href="#"/>').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role", "button").hover(function() { i.addClass("ui-state-hover") }, function() { i.removeClass("ui-state-hover") }).focus(function() { i.addClass("ui-state-focus") }).blur(function() { i.removeClass("ui-state-focus") }).mousedown(function(n) { n.stopPropagation() }).click(function(n) { l.close(n); return false }).appendTo(f), h = (this.uiDialogTitlebarCloseText = c("<span/>")).addClass("ui-icon ui-icon-closethick").text(m.closeText).appendTo(i), d = c("<span/>").addClass("ui-dialog-title").attr("id", e).html(j).prependTo(f); f.find("*").add(f).disableSelection(); (m.draggable && c.fn.draggable && this._makeDraggable()); (m.resizable && c.fn.resizable && this._makeResizable()); this._createButtons(m.buttons); this._isOpen = false; (m.bgiframe && c.fn.bgiframe && k.bgiframe()); (m.autoOpen && this.open()) }, destroy: function() { (this.overlay && this.overlay.destroy()); this.uiDialog.hide(); this.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body"); this.uiDialog.remove(); (this.originalTitle && this.element.attr("title", this.originalTitle)) }, close: function(f) { var d = this; if (false === d._trigger("beforeclose", f)) { return } (d.overlay && d.overlay.destroy()); d.uiDialog.unbind("keypress.ui-dialog"); (d.options.hide ? d.uiDialog.hide(d.options.hide, function() { d._trigger("close", f) }) : d.uiDialog.hide() && d._trigger("close", f)); c.ui.dialog.overlay.resize(); d._isOpen = false; if (d.options.modal) { var e = 0; c(".ui-dialog").each(function() { if (this != d.uiDialog[0]) { e = Math.max(e, c(this).css("z-index")) } }); c.ui.dialog.maxZ = e } }, isOpen: function() { return this._isOpen }, moveToTop: function(f, e) { if ((this.options.modal && !f) || (!this.options.stack && !this.options.modal)) { return this._trigger("focus", e) } if (this.options.zIndex > c.ui.dialog.maxZ) { c.ui.dialog.maxZ = this.options.zIndex } (this.overlay && this.overlay.$el.css("z-index", c.ui.dialog.overlay.maxZ = ++c.ui.dialog.maxZ)); var d = { scrollTop: this.element.attr("scrollTop"), scrollLeft: this.element.attr("scrollLeft") }; this.uiDialog.css("z-index", ++c.ui.dialog.maxZ); this.element.attr(d); this._trigger("focus", e) }, open: function() { if (this._isOpen) { return } var e = this.options, d = this.uiDialog; this.overlay = e.modal ? new c.ui.dialog.overlay(this) : null; (d.next().length && d.appendTo("body")); this._size(); this._position(e.position); d.show(e.show); this.moveToTop(true); (e.modal && d.bind("keypress.ui-dialog", function(h) { if (h.keyCode != c.ui.keyCode.TAB) { return } var g = c(":tabbable", this), i = g.filter(":first")[0], f = g.filter(":last")[0]; if (h.target == f && !h.shiftKey) { setTimeout(function() { i.focus() }, 1) } else { if (h.target == i && h.shiftKey) { setTimeout(function() { f.focus() }, 1) } } })); c([]).add(d.find(".ui-dialog-content :tabbable:first")).add(d.find(".ui-dialog-buttonpane :tabbable:first")).add(d).filter(":first").focus(); this._trigger("open"); this._isOpen = true }, _createButtons: function(g) { var f = this, d = false, e = c("<div></div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"); this.uiDialog.find(".ui-dialog-buttonpane").remove(); (typeof g == "object" && g !== null && c.each(g, function() { return !(d = true) })); if (d) { c.each(g, function(h, i) { c('<button type="button"></button>').addClass("ui-state-default ui-corner-all").text(h).click(function() { i.apply(f.element[0], arguments) }).hover(function() { c(this).addClass("ui-state-hover") }, function() { c(this).removeClass("ui-state-hover") }).focus(function() { c(this).addClass("ui-state-focus") }).blur(function() { c(this).removeClass("ui-state-focus") }).appendTo(e) }); e.appendTo(this.uiDialog) } }, _makeDraggable: function() { var d = this, f = this.options, e; this.uiDialog.draggable({ cancel: ".ui-dialog-content", handle: ".ui-dialog-titlebar", containment: "document", start: function() { e = f.height; c(this).height(c(this).height()).addClass("ui-dialog-dragging"); (f.dragStart && f.dragStart.apply(d.element[0], arguments)) }, drag: function() { (f.drag && f.drag.apply(d.element[0], arguments)) }, stop: function() { c(this).removeClass("ui-dialog-dragging").height(e); (f.dragStop && f.dragStop.apply(d.element[0], arguments)); c.ui.dialog.overlay.resize() } }) }, _makeResizable: function(g) { g = (g === undefined ? this.options.resizable : g); var d = this, f = this.options, e = typeof g == "string" ? g : "n,e,s,w,se,sw,ne,nw"; this.uiDialog.resizable({ cancel: ".ui-dialog-content", alsoResize: this.element, maxWidth: f.maxWidth, maxHeight: f.maxHeight, minWidth: f.minWidth, minHeight: f.minHeight, start: function() { c(this).addClass("ui-dialog-resizing"); (f.resizeStart && f.resizeStart.apply(d.element[0], arguments)) }, resize: function() { (f.resize && f.resize.apply(d.element[0], arguments)) }, handles: e, stop: function() { c(this).removeClass("ui-dialog-resizing"); f.height = c(this).height(); f.width = c(this).width(); (f.resizeStop && f.resizeStop.apply(d.element[0], arguments)); c.ui.dialog.overlay.resize() } }).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se") }, _position: function(i) { var e = c(window), f = c(document), g = f.scrollTop(), d = f.scrollLeft(), h = g; if (c.inArray(i, ["center", "top", "right", "bottom", "left"]) >= 0) { i = [i == "right" || i == "left" ? i : "center", i == "top" || i == "bottom" ? i : "middle"] } if (i.constructor != Array) { i = ["center", "middle"] } if (i[0].constructor == Number) { d += i[0] } else { switch (i[0]) { case "left": d += 0; break; case "right": d += e.width() - this.uiDialog.outerWidth(); break; default: case "center": d += (e.width() - this.uiDialog.outerWidth()) / 2 } } if (i[1].constructor == Number) { g += i[1] } else { switch (i[1]) { case "top": g += 0; break; case "bottom": g += e.height() - this.uiDialog.outerHeight(); break; default: case "middle": g += (e.height() - this.uiDialog.outerHeight()) / 2 } } g = Math.max(g, h); this.uiDialog.css({ top: g, left: d }) }, _setData: function(e, f) { (b[e] && this.uiDialog.data(b[e], f)); switch (e) { case "buttons": this._createButtons(f); break; case "closeText": this.uiDialogTitlebarCloseText.text(f); break; case "dialogClass": this.uiDialog.removeClass(this.options.dialogClass).addClass(a + f); break; case "draggable": (f ? this._makeDraggable() : this.uiDialog.draggable("destroy")); break; case "height": this.uiDialog.height(f); break; case "position": this._position(f); break; case "resizable": var d = this.uiDialog, g = this.uiDialog.is(":data(resizable)"); (g && !f && d.resizable("destroy")); (g && typeof f == "string" && d.resizable("option", "handles", f)); (g || this._makeResizable(f)); break; case "title": c(".ui-dialog-title", this.uiDialogTitlebar).html(f || "&nbsp;"); break; case "width": this.uiDialog.width(f); break } c.widget.prototype._setData.apply(this, arguments) }, _size: function() { var e = this.options; this.element.css({ height: 0, minHeight: 0, width: "auto" }); var d = this.uiDialog.css({ height: "auto", width: e.width }).height(); this.element.css({ minHeight: Math.max(e.minHeight - d, 0), height: e.height == "auto" ? "auto" : Math.max(e.height - d, 0) }) } }); c.extend(c.ui.dialog, { version: "1.7.2", defaults: { autoOpen: true, bgiframe: false, buttons: {}, closeOnEscape: true, closeText: "close", dialogClass: "", draggable: true, hide: null, height: "auto", maxHeight: false, maxWidth: false, minHeight: 150, minWidth: 150, modal: false, position: "center", resizable: true, show: null, stack: true, title: "", width: 300, zIndex: 1000 }, getter: "isOpen", uuid: 0, maxZ: 0, getTitleId: function(d) { return "ui-dialog-title-" + (d.attr("id") || ++this.uuid) }, overlay: function(d) { this.$el = c.ui.dialog.overlay.create(d) } }); c.extend(c.ui.dialog.overlay, { instances: [], maxZ: 0, events: c.map("focus,mousedown,mouseup,keydown,keypress,click".split(","), function(d) { return d + ".dialog-overlay" }).join(" "), create: function(e) { if (this.instances.length === 0) { setTimeout(function() { if (c.ui.dialog.overlay.instances.length) { c(document).bind(c.ui.dialog.overlay.events, function(f) { var g = c(f.target).parents(".ui-dialog").css("zIndex") || 0; return (g > c.ui.dialog.overlay.maxZ) }) } }, 1); c(document).bind("keydown.dialog-overlay", function(f) { (e.options.closeOnEscape && f.keyCode && f.keyCode == c.ui.keyCode.ESCAPE && e.close(f)) }); c(window).bind("resize.dialog-overlay", c.ui.dialog.overlay.resize) } var d = c("<div></div>").appendTo(document.body).addClass("ui-widget-overlay").css({ width: this.width(), height: this.height() }); (e.options.bgiframe && c.fn.bgiframe && d.bgiframe()); this.instances.push(d); return d }, destroy: function(d) { this.instances.splice(c.inArray(this.instances, d), 1); if (this.instances.length === 0) { c([document, window]).unbind(".dialog-overlay") } d.remove(); var e = 0; c.each(this.instances, function() { e = Math.max(e, this.css("z-index")) }); this.maxZ = e }, height: function() { if (c.browser.msie && c.browser.version < 7) { var e = Math.max(document.documentElement.scrollHeight, document.body.scrollHeight); var d = Math.max(document.documentElement.offsetHeight, document.body.offsetHeight); if (e < d) { return c(window).height() + "px" } else { return e + "px" } } else { return c(document).height() + "px" } }, width: function() { if (c.browser.msie && c.browser.version < 7) { var d = Math.max(document.documentElement.scrollWidth, document.body.scrollWidth); var e = Math.max(document.documentElement.offsetWidth, document.body.offsetWidth); if (d < e) { return c(window).width() + "px" } else { return d + "px" } } else { return c(document).width() + "px" } }, resize: function() { var d = c([]); c.each(c.ui.dialog.overlay.instances, function() { d = d.add(this) }); d.css({ width: 0, height: 0 }).css({ width: c.ui.dialog.overlay.width(), height: c.ui.dialog.overlay.height() }) } }); c.extend(c.ui.dialog.overlay.prototype, { destroy: function() { c.ui.dialog.overlay.destroy(this.$el) } }) })(jQuery); ; /*
 * jQuery UI Tabs 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Tabs
 *
 * Depends:
 *	ui.core.js
 */
(function(a) { a.widget("ui.tabs", { _init: function() { if (this.options.deselectable !== undefined) { this.options.collapsible = this.options.deselectable } this._tabify(true) }, _setData: function(b, c) { if (b == "selected") { if (this.options.collapsible && c == this.options.selected) { return } this.select(c) } else { this.options[b] = c; if (b == "deselectable") { this.options.collapsible = c } this._tabify() } }, _tabId: function(b) { return b.title && b.title.replace(/\s/g, "_").replace(/[^A-Za-z0-9\-_:\.]/g, "") || this.options.idPrefix + a.data(b) }, _sanitizeSelector: function(b) { return b.replace(/:/g, "\\:") }, _cookie: function() { var b = this.cookie || (this.cookie = this.options.cookie.name || "ui-tabs-" + a.data(this.list[0])); return a.cookie.apply(null, [b].concat(a.makeArray(arguments))) }, _ui: function(c, b) { return { tab: c, panel: b, index: this.anchors.index(c)} }, _cleanup: function() { this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function() { var b = a(this); b.html(b.data("label.tabs")).removeData("label.tabs") }) }, _tabify: function(n) { this.list = this.element.children("ul:first"); this.lis = a("li:has(a[href])", this.list); this.anchors = this.lis.map(function() { return a("a", this)[0] }); this.panels = a([]); var p = this, d = this.options; var c = /^#.+/; this.anchors.each(function(r, o) { var q = a(o).attr("href"); var s = q.split("#")[0], u; if (s && (s === location.toString().split("#")[0] || (u = a("base")[0]) && s === u.href)) { q = o.hash; o.href = q } if (c.test(q)) { p.panels = p.panels.add(p._sanitizeSelector(q)) } else { if (q != "#") { a.data(o, "href.tabs", q); a.data(o, "load.tabs", q.replace(/#.*$/, "")); var w = p._tabId(o); o.href = "#" + w; var v = a("#" + w); if (!v.length) { v = a(d.panelTemplate).attr("id", w).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(p.panels[r - 1] || p.list); v.data("destroy.tabs", true) } p.panels = p.panels.add(v) } else { d.disabled.push(r) } } }); if (n) { this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all"); this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all"); this.lis.addClass("ui-state-default ui-corner-top"); this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom"); if (d.selected === undefined) { if (location.hash) { this.anchors.each(function(q, o) { if (o.hash == location.hash) { d.selected = q; return false } }) } if (typeof d.selected != "number" && d.cookie) { d.selected = parseInt(p._cookie(), 10) } if (typeof d.selected != "number" && this.lis.filter(".ui-tabs-selected").length) { d.selected = this.lis.index(this.lis.filter(".ui-tabs-selected")) } d.selected = d.selected || 0 } else { if (d.selected === null) { d.selected = -1 } } d.selected = ((d.selected >= 0 && this.anchors[d.selected]) || d.selected < 0) ? d.selected : 0; d.disabled = a.unique(d.disabled.concat(a.map(this.lis.filter(".ui-state-disabled"), function(q, o) { return p.lis.index(q) }))).sort(); if (a.inArray(d.selected, d.disabled) != -1) { d.disabled.splice(a.inArray(d.selected, d.disabled), 1) } this.panels.addClass("ui-tabs-hide"); this.lis.removeClass("ui-tabs-selected ui-state-active"); if (d.selected >= 0 && this.anchors.length) { this.panels.eq(d.selected).removeClass("ui-tabs-hide"); this.lis.eq(d.selected).addClass("ui-tabs-selected ui-state-active"); p.element.queue("tabs", function() { p._trigger("show", null, p._ui(p.anchors[d.selected], p.panels[d.selected])) }); this.load(d.selected) } a(window).bind("unload", function() { p.lis.add(p.anchors).unbind(".tabs"); p.lis = p.anchors = p.panels = null }) } else { d.selected = this.lis.index(this.lis.filter(".ui-tabs-selected")) } this.element[d.collapsible ? "addClass" : "removeClass"]("ui-tabs-collapsible"); if (d.cookie) { this._cookie(d.selected, d.cookie) } for (var g = 0, m; (m = this.lis[g]); g++) { a(m)[a.inArray(g, d.disabled) != -1 && !a(m).hasClass("ui-tabs-selected") ? "addClass" : "removeClass"]("ui-state-disabled") } if (d.cache === false) { this.anchors.removeData("cache.tabs") } this.lis.add(this.anchors).unbind(".tabs"); if (d.event != "mouseover") { var f = function(o, i) { if (i.is(":not(.ui-state-disabled)")) { i.addClass("ui-state-" + o) } }; var j = function(o, i) { i.removeClass("ui-state-" + o) }; this.lis.bind("mouseover.tabs", function() { f("hover", a(this)) }); this.lis.bind("mouseout.tabs", function() { j("hover", a(this)) }); this.anchors.bind("focus.tabs", function() { f("focus", a(this).closest("li")) }); this.anchors.bind("blur.tabs", function() { j("focus", a(this).closest("li")) }) } var b, h; if (d.fx) { if (a.isArray(d.fx)) { b = d.fx[0]; h = d.fx[1] } else { b = h = d.fx } } function e(i, o) { i.css({ display: "" }); if (a.browser.msie && o.opacity) { i[0].style.removeAttribute("filter") } } var k = h ? function(i, o) { a(i).closest("li").removeClass("ui-state-default").addClass("ui-tabs-selected ui-state-active"); o.hide().removeClass("ui-tabs-hide").animate(h, h.duration || "normal", function() { e(o, h); p._trigger("show", null, p._ui(i, o[0])) }) } : function(i, o) { a(i).closest("li").removeClass("ui-state-default").addClass("ui-tabs-selected ui-state-active"); o.removeClass("ui-tabs-hide"); p._trigger("show", null, p._ui(i, o[0])) }; var l = b ? function(o, i) { i.animate(b, b.duration || "normal", function() { p.lis.removeClass("ui-tabs-selected ui-state-active").addClass("ui-state-default"); i.addClass("ui-tabs-hide"); e(i, b); p.element.dequeue("tabs") }) } : function(o, i, q) { p.lis.removeClass("ui-tabs-selected ui-state-active").addClass("ui-state-default"); i.addClass("ui-tabs-hide"); p.element.dequeue("tabs") }; this.anchors.bind(d.event + ".tabs", function() { var o = this, r = a(this).closest("li"), i = p.panels.filter(":not(.ui-tabs-hide)"), q = a(p._sanitizeSelector(this.hash)); if ((r.hasClass("ui-tabs-selected") && !d.collapsible) || r.hasClass("ui-state-disabled") || r.hasClass("ui-state-processing") || p._trigger("select", null, p._ui(this, q[0])) === false) { this.blur(); return false } d.selected = p.anchors.index(this); p.abort(); if (d.collapsible) { if (r.hasClass("ui-tabs-selected")) { d.selected = -1; if (d.cookie) { p._cookie(d.selected, d.cookie) } p.element.queue("tabs", function() { l(o, i) }).dequeue("tabs"); this.blur(); return false } else { if (!i.length) { if (d.cookie) { p._cookie(d.selected, d.cookie) } p.element.queue("tabs", function() { k(o, q) }); p.load(p.anchors.index(this)); this.blur(); return false } } } if (d.cookie) { p._cookie(d.selected, d.cookie) } if (q.length) { if (i.length) { p.element.queue("tabs", function() { l(o, i) }) } p.element.queue("tabs", function() { k(o, q) }); p.load(p.anchors.index(this)) } else { throw "jQuery UI Tabs: Mismatching fragment identifier." } if (a.browser.msie) { this.blur() } }); this.anchors.bind("click.tabs", function() { return false }) }, destroy: function() { var b = this.options; this.abort(); this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs"); this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all"); this.anchors.each(function() { var c = a.data(this, "href.tabs"); if (c) { this.href = c } var d = a(this).unbind(".tabs"); a.each(["href", "load", "cache"], function(e, f) { d.removeData(f + ".tabs") }) }); this.lis.unbind(".tabs").add(this.panels).each(function() { if (a.data(this, "destroy.tabs")) { a(this).remove() } else { a(this).removeClass(["ui-state-default", "ui-corner-top", "ui-tabs-selected", "ui-state-active", "ui-state-hover", "ui-state-focus", "ui-state-disabled", "ui-tabs-panel", "ui-widget-content", "ui-corner-bottom", "ui-tabs-hide"].join(" ")) } }); if (b.cookie) { this._cookie(null, b.cookie) } }, add: function(e, d, c) { if (c === undefined) { c = this.anchors.length } var b = this, g = this.options, i = a(g.tabTemplate.replace(/#\{href\}/g, e).replace(/#\{label\}/g, d)), h = !e.indexOf("#") ? e.replace("#", "") : this._tabId(a("a", i)[0]); i.addClass("ui-state-default ui-corner-top").data("destroy.tabs", true); var f = a("#" + h); if (!f.length) { f = a(g.panelTemplate).attr("id", h).data("destroy.tabs", true) } f.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide"); if (c >= this.lis.length) { i.appendTo(this.list); f.appendTo(this.list[0].parentNode) } else { i.insertBefore(this.lis[c]); f.insertBefore(this.panels[c]) } g.disabled = a.map(g.disabled, function(k, j) { return k >= c ? ++k : k }); this._tabify(); if (this.anchors.length == 1) { i.addClass("ui-tabs-selected ui-state-active"); f.removeClass("ui-tabs-hide"); this.element.queue("tabs", function() { b._trigger("show", null, b._ui(b.anchors[0], b.panels[0])) }); this.load(0) } this._trigger("add", null, this._ui(this.anchors[c], this.panels[c])) }, remove: function(b) { var d = this.options, e = this.lis.eq(b).remove(), c = this.panels.eq(b).remove(); if (e.hasClass("ui-tabs-selected") && this.anchors.length > 1) { this.select(b + (b + 1 < this.anchors.length ? 1 : -1)) } d.disabled = a.map(a.grep(d.disabled, function(g, f) { return g != b }), function(g, f) { return g >= b ? --g : g }); this._tabify(); this._trigger("remove", null, this._ui(e.find("a")[0], c[0])) }, enable: function(b) { var c = this.options; if (a.inArray(b, c.disabled) == -1) { return } this.lis.eq(b).removeClass("ui-state-disabled"); c.disabled = a.grep(c.disabled, function(e, d) { return e != b }); this._trigger("enable", null, this._ui(this.anchors[b], this.panels[b])) }, disable: function(c) { var b = this, d = this.options; if (c != d.selected) { this.lis.eq(c).addClass("ui-state-disabled"); d.disabled.push(c); d.disabled.sort(); this._trigger("disable", null, this._ui(this.anchors[c], this.panels[c])) } }, select: function(b) { if (typeof b == "string") { b = this.anchors.index(this.anchors.filter("[href$=" + b + "]")) } else { if (b === null) { b = -1 } } if (b == -1 && this.options.collapsible) { b = this.options.selected } this.anchors.eq(b).trigger(this.options.event + ".tabs") }, load: function(e) { var c = this, g = this.options, b = this.anchors.eq(e)[0], d = a.data(b, "load.tabs"); this.abort(); if (!d || this.element.queue("tabs").length !== 0 && a.data(b, "cache.tabs")) { this.element.dequeue("tabs"); return } this.lis.eq(e).addClass("ui-state-processing"); if (g.spinner) { var f = a("span", b); f.data("label.tabs", f.html()).html(g.spinner) } this.xhr = a.ajax(a.extend({}, g.ajaxOptions, { url: d, success: function(i, h) { a(c._sanitizeSelector(b.hash)).html(i); c._cleanup(); if (g.cache) { a.data(b, "cache.tabs", true) } c._trigger("load", null, c._ui(c.anchors[e], c.panels[e])); try { g.ajaxOptions.success(i, h) } catch (j) { } c.element.dequeue("tabs") } })) }, abort: function() { this.element.queue([]); this.panels.stop(false, true); if (this.xhr) { this.xhr.abort(); delete this.xhr } this._cleanup() }, url: function(c, b) { this.anchors.eq(c).removeData("cache.tabs").data("load.tabs", b) }, length: function() { return this.anchors.length } }); a.extend(a.ui.tabs, { version: "1.7.2", getter: "length", defaults: { ajaxOptions: null, cache: false, cookie: null, collapsible: false, disabled: [], event: "click", fx: null, idPrefix: "ui-tabs-", panelTemplate: "<div></div>", spinner: "<em>Loading&#8230;</em>", tabTemplate: '<li><a href="#{href}"><span>#{label}</span></a></li>'} }); a.extend(a.ui.tabs.prototype, { rotation: null, rotate: function(d, f) { var b = this, g = this.options; var c = b._rotate || (b._rotate = function(h) { clearTimeout(b.rotation); b.rotation = setTimeout(function() { var i = g.selected; b.select(++i < b.anchors.length ? i : 0) }, d); if (h) { h.stopPropagation() } }); var e = b._unrotate || (b._unrotate = !f ? function(h) { if (h.clientX) { b.rotate(null) } } : function(h) { t = g.selected; c() }); if (d) { this.element.bind("tabsshow", c); this.anchors.bind(g.event + ".tabs", e); c() } else { clearTimeout(b.rotation); this.element.unbind("tabsshow", c); this.anchors.unbind(g.event + ".tabs", e); delete this._rotate; delete this._unrotate } } }) })(jQuery); ; /*
 * jQuery UI Datepicker 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Datepicker
 *
 * Depends:
 *	ui.core.js
 */
(function($) { $.extend($.ui, { datepicker: { version: "1.7.2"} }); var PROP_NAME = "datepicker"; function Datepicker() { this.debug = false; this._curInst = null; this._keyEvent = false; this._disabledInputs = []; this._datepickerShowing = false; this._inDialog = false; this._mainDivId = "ui-datepicker-div"; this._inlineClass = "ui-datepicker-inline"; this._appendClass = "ui-datepicker-append"; this._triggerClass = "ui-datepicker-trigger"; this._dialogClass = "ui-datepicker-dialog"; this._disableClass = "ui-datepicker-disabled"; this._unselectableClass = "ui-datepicker-unselectable"; this._currentClass = "ui-datepicker-current-day"; this._dayOverClass = "ui-datepicker-days-cell-over"; this.regional = []; this.regional[""] = { closeText: "Done", prevText: "Prev", nextText: "Next", currentText: "Today", monthNames: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], monthNamesShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], dayNames: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], dayNamesShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], dayNamesMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"], dateFormat: "mm/dd/yy", firstDay: 0, isRTL: false }; this._defaults = { showOn: "focus", showAnim: "show", showOptions: {}, defaultDate: null, appendText: "", buttonText: "...", buttonImage: "", buttonImageOnly: false, hideIfNoPrevNext: false, navigationAsDateFormat: false, gotoCurrent: false, changeMonth: false, changeYear: false, showMonthAfterYear: false, yearRange: "-10:+10", showOtherMonths: false, calculateWeek: this.iso8601Week, shortYearCutoff: "+10", minDate: null, maxDate: null, duration: "normal", beforeShowDay: null, beforeShow: null, onSelect: null, onChangeMonthYear: null, onClose: null, numberOfMonths: 1, showCurrentAtPos: 0, stepMonths: 1, stepBigMonths: 12, altField: "", altFormat: "", constrainInput: true, showButtonPanel: false }; $.extend(this._defaults, this.regional[""]); this.dpDiv = $('<div id="' + this._mainDivId + '" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all ui-helper-hidden-accessible"></div>') } $.extend(Datepicker.prototype, { markerClassName: "hasDatepicker", log: function() { if (this.debug) { console.log.apply("", arguments) } }, setDefaults: function(settings) { extendRemove(this._defaults, settings || {}); return this }, _attachDatepicker: function(target, settings) { var inlineSettings = null; for (var attrName in this._defaults) { var attrValue = target.getAttribute("date:" + attrName); if (attrValue) { inlineSettings = inlineSettings || {}; try { inlineSettings[attrName] = eval(attrValue) } catch (err) { inlineSettings[attrName] = attrValue } } } var nodeName = target.nodeName.toLowerCase(); var inline = (nodeName == "div" || nodeName == "span"); if (!target.id) { target.id = "dp" + (++this.uuid) } var inst = this._newInst($(target), inline); inst.settings = $.extend({}, settings || {}, inlineSettings || {}); if (nodeName == "input") { this._connectDatepicker(target, inst) } else { if (inline) { this._inlineDatepicker(target, inst) } } }, _newInst: function(target, inline) { var id = target[0].id.replace(/([:\[\]\.])/g, "\\\\$1"); return { id: id, input: target, selectedDay: 0, selectedMonth: 0, selectedYear: 0, drawMonth: 0, drawYear: 0, inline: inline, dpDiv: (!inline ? this.dpDiv : $('<div class="' + this._inlineClass + ' ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>'))} }, _connectDatepicker: function(target, inst) { var input = $(target); inst.append = $([]); inst.trigger = $([]); if (input.hasClass(this.markerClassName)) { return } var appendText = this._get(inst, "appendText"); var isRTL = this._get(inst, "isRTL"); if (appendText) { inst.append = $('<span class="' + this._appendClass + '">' + appendText + "</span>"); input[isRTL ? "before" : "after"](inst.append) } var showOn = this._get(inst, "showOn"); if (showOn == "focus" || showOn == "both") { input.focus(this._showDatepicker) } if (showOn == "button" || showOn == "both") { var buttonText = this._get(inst, "buttonText"); var buttonImage = this._get(inst, "buttonImage"); inst.trigger = $(this._get(inst, "buttonImageOnly") ? $("<img/>").addClass(this._triggerClass).attr({ src: buttonImage, alt: buttonText, title: buttonText }) : $('<button type="button"></button>').addClass(this._triggerClass).html(buttonImage == "" ? buttonText : $("<img/>").attr({ src: buttonImage, alt: buttonText, title: buttonText }))); input[isRTL ? "before" : "after"](inst.trigger); inst.trigger.click(function() { if ($.datepicker._datepickerShowing && $.datepicker._lastInput == target) { $.datepicker._hideDatepicker() } else { $.datepicker._showDatepicker(target) } return false }) } input.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).bind("setData.datepicker", function(event, key, value) { inst.settings[key] = value }).bind("getData.datepicker", function(event, key) { return this._get(inst, key) }); $.data(target, PROP_NAME, inst) }, _inlineDatepicker: function(target, inst) { var divSpan = $(target); if (divSpan.hasClass(this.markerClassName)) { return } divSpan.addClass(this.markerClassName).append(inst.dpDiv).bind("setData.datepicker", function(event, key, value) { inst.settings[key] = value }).bind("getData.datepicker", function(event, key) { return this._get(inst, key) }); $.data(target, PROP_NAME, inst); this._setDate(inst, this._getDefaultDate(inst)); this._updateDatepicker(inst); this._updateAlternate(inst) }, _dialogDatepicker: function(input, dateText, onSelect, settings, pos) { var inst = this._dialogInst; if (!inst) { var id = "dp" + (++this.uuid); this._dialogInput = $('<input type="text" id="' + id + '" size="1" style="position: absolute; top: -100px;"/>'); this._dialogInput.keydown(this._doKeyDown); $("body").append(this._dialogInput); inst = this._dialogInst = this._newInst(this._dialogInput, false); inst.settings = {}; $.data(this._dialogInput[0], PROP_NAME, inst) } extendRemove(inst.settings, settings || {}); this._dialogInput.val(dateText); this._pos = (pos ? (pos.length ? pos : [pos.pageX, pos.pageY]) : null); if (!this._pos) { var browserWidth = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth; var browserHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight; var scrollX = document.documentElement.scrollLeft || document.body.scrollLeft; var scrollY = document.documentElement.scrollTop || document.body.scrollTop; this._pos = [(browserWidth / 2) - 100 + scrollX, (browserHeight / 2) - 150 + scrollY] } this._dialogInput.css("left", this._pos[0] + "px").css("top", this._pos[1] + "px"); inst.settings.onSelect = onSelect; this._inDialog = true; this.dpDiv.addClass(this._dialogClass); this._showDatepicker(this._dialogInput[0]); if ($.blockUI) { $.blockUI(this.dpDiv) } $.data(this._dialogInput[0], PROP_NAME, inst); return this }, _destroyDatepicker: function(target) { var $target = $(target); var inst = $.data(target, PROP_NAME); if (!$target.hasClass(this.markerClassName)) { return } var nodeName = target.nodeName.toLowerCase(); $.removeData(target, PROP_NAME); if (nodeName == "input") { inst.append.remove(); inst.trigger.remove(); $target.removeClass(this.markerClassName).unbind("focus", this._showDatepicker).unbind("keydown", this._doKeyDown).unbind("keypress", this._doKeyPress) } else { if (nodeName == "div" || nodeName == "span") { $target.removeClass(this.markerClassName).empty() } } }, _enableDatepicker: function(target) { var $target = $(target); var inst = $.data(target, PROP_NAME); if (!$target.hasClass(this.markerClassName)) { return } var nodeName = target.nodeName.toLowerCase(); if (nodeName == "input") { target.disabled = false; inst.trigger.filter("button").each(function() { this.disabled = false }).end().filter("img").css({ opacity: "1.0", cursor: "" }) } else { if (nodeName == "div" || nodeName == "span") { var inline = $target.children("." + this._inlineClass); inline.children().removeClass("ui-state-disabled") } } this._disabledInputs = $.map(this._disabledInputs, function(value) { return (value == target ? null : value) }) }, _disableDatepicker: function(target) { var $target = $(target); var inst = $.data(target, PROP_NAME); if (!$target.hasClass(this.markerClassName)) { return } var nodeName = target.nodeName.toLowerCase(); if (nodeName == "input") { target.disabled = true; inst.trigger.filter("button").each(function() { this.disabled = true }).end().filter("img").css({ opacity: "0.5", cursor: "default" }) } else { if (nodeName == "div" || nodeName == "span") { var inline = $target.children("." + this._inlineClass); inline.children().addClass("ui-state-disabled") } } this._disabledInputs = $.map(this._disabledInputs, function(value) { return (value == target ? null : value) }); this._disabledInputs[this._disabledInputs.length] = target }, _isDisabledDatepicker: function(target) { if (!target) { return false } for (var i = 0; i < this._disabledInputs.length; i++) { if (this._disabledInputs[i] == target) { return true } } return false }, _getInst: function(target) { try { return $.data(target, PROP_NAME) } catch (err) { throw "Missing instance data for this datepicker" } }, _optionDatepicker: function(target, name, value) { var inst = this._getInst(target); if (arguments.length == 2 && typeof name == "string") { return (name == "defaults" ? $.extend({}, $.datepicker._defaults) : (inst ? (name == "all" ? $.extend({}, inst.settings) : this._get(inst, name)) : null)) } var settings = name || {}; if (typeof name == "string") { settings = {}; settings[name] = value } if (inst) { if (this._curInst == inst) { this._hideDatepicker(null) } var date = this._getDateDatepicker(target); extendRemove(inst.settings, settings); this._setDateDatepicker(target, date); this._updateDatepicker(inst) } }, _changeDatepicker: function(target, name, value) { this._optionDatepicker(target, name, value) }, _refreshDatepicker: function(target) { var inst = this._getInst(target); if (inst) { this._updateDatepicker(inst) } }, _setDateDatepicker: function(target, date, endDate) { var inst = this._getInst(target); if (inst) { this._setDate(inst, date, endDate); this._updateDatepicker(inst); this._updateAlternate(inst) } }, _getDateDatepicker: function(target) { var inst = this._getInst(target); if (inst && !inst.inline) { this._setDateFromField(inst) } return (inst ? this._getDate(inst) : null) }, _doKeyDown: function(event) { var inst = $.datepicker._getInst(event.target); var handled = true; var isRTL = inst.dpDiv.is(".ui-datepicker-rtl"); inst._keyEvent = true; if ($.datepicker._datepickerShowing) { switch (event.keyCode) { case 9: $.datepicker._hideDatepicker(null, ""); break; case 13: var sel = $("td." + $.datepicker._dayOverClass + ", td." + $.datepicker._currentClass, inst.dpDiv); if (sel[0]) { $.datepicker._selectDay(event.target, inst.selectedMonth, inst.selectedYear, sel[0]) } else { $.datepicker._hideDatepicker(null, $.datepicker._get(inst, "duration")) } return false; break; case 27: $.datepicker._hideDatepicker(null, $.datepicker._get(inst, "duration")); break; case 33: $.datepicker._adjustDate(event.target, (event.ctrlKey ? -$.datepicker._get(inst, "stepBigMonths") : -$.datepicker._get(inst, "stepMonths")), "M"); break; case 34: $.datepicker._adjustDate(event.target, (event.ctrlKey ? +$.datepicker._get(inst, "stepBigMonths") : +$.datepicker._get(inst, "stepMonths")), "M"); break; case 35: if (event.ctrlKey || event.metaKey) { $.datepicker._clearDate(event.target) } handled = event.ctrlKey || event.metaKey; break; case 36: if (event.ctrlKey || event.metaKey) { $.datepicker._gotoToday(event.target) } handled = event.ctrlKey || event.metaKey; break; case 37: if (event.ctrlKey || event.metaKey) { $.datepicker._adjustDate(event.target, (isRTL ? +1 : -1), "D") } handled = event.ctrlKey || event.metaKey; if (event.originalEvent.altKey) { $.datepicker._adjustDate(event.target, (event.ctrlKey ? -$.datepicker._get(inst, "stepBigMonths") : -$.datepicker._get(inst, "stepMonths")), "M") } break; case 38: if (event.ctrlKey || event.metaKey) { $.datepicker._adjustDate(event.target, -7, "D") } handled = event.ctrlKey || event.metaKey; break; case 39: if (event.ctrlKey || event.metaKey) { $.datepicker._adjustDate(event.target, (isRTL ? -1 : +1), "D") } handled = event.ctrlKey || event.metaKey; if (event.originalEvent.altKey) { $.datepicker._adjustDate(event.target, (event.ctrlKey ? +$.datepicker._get(inst, "stepBigMonths") : +$.datepicker._get(inst, "stepMonths")), "M") } break; case 40: if (event.ctrlKey || event.metaKey) { $.datepicker._adjustDate(event.target, +7, "D") } handled = event.ctrlKey || event.metaKey; break; default: handled = false } } else { if (event.keyCode == 36 && event.ctrlKey) { $.datepicker._showDatepicker(this) } else { handled = false } } if (handled) { event.preventDefault(); event.stopPropagation() } }, _doKeyPress: function(event) { var inst = $.datepicker._getInst(event.target); if ($.datepicker._get(inst, "constrainInput")) { var chars = $.datepicker._possibleChars($.datepicker._get(inst, "dateFormat")); var chr = String.fromCharCode(event.charCode == undefined ? event.keyCode : event.charCode); return event.ctrlKey || (chr < " " || !chars || chars.indexOf(chr) > -1) } }, _showDatepicker: function(input) { input = input.target || input; if (input.nodeName.toLowerCase() != "input") { input = $("input", input.parentNode)[0] } if ($.datepicker._isDisabledDatepicker(input) || $.datepicker._lastInput == input) { return } var inst = $.datepicker._getInst(input); var beforeShow = $.datepicker._get(inst, "beforeShow"); extendRemove(inst.settings, (beforeShow ? beforeShow.apply(input, [input, inst]) : {})); $.datepicker._hideDatepicker(null, ""); $.datepicker._lastInput = input; $.datepicker._setDateFromField(inst); if ($.datepicker._inDialog) { input.value = "" } if (!$.datepicker._pos) { $.datepicker._pos = $.datepicker._findPos(input); $.datepicker._pos[1] += input.offsetHeight } var isFixed = false; $(input).parents().each(function() { isFixed |= $(this).css("position") == "fixed"; return !isFixed }); if (isFixed && $.browser.opera) { $.datepicker._pos[0] -= document.documentElement.scrollLeft; $.datepicker._pos[1] -= document.documentElement.scrollTop } var offset = { left: $.datepicker._pos[0], top: $.datepicker._pos[1] }; $.datepicker._pos = null; inst.rangeStart = null; inst.dpDiv.css({ position: "absolute", display: "block", top: "-1000px" }); $.datepicker._updateDatepicker(inst); offset = $.datepicker._checkOffset(inst, offset, isFixed); inst.dpDiv.css({ position: ($.datepicker._inDialog && $.blockUI ? "static" : (isFixed ? "fixed" : "absolute")), display: "none", left: offset.left + "px", top: offset.top + "px" }); if (!inst.inline) { var showAnim = $.datepicker._get(inst, "showAnim") || "show"; var duration = $.datepicker._get(inst, "duration"); var postProcess = function() { $.datepicker._datepickerShowing = true; if ($.browser.msie && parseInt($.browser.version, 10) < 7) { $("iframe.ui-datepicker-cover").css({ width: inst.dpDiv.width() + 4, height: inst.dpDiv.height() + 4 }) } }; if ($.effects && $.effects[showAnim]) { inst.dpDiv.show(showAnim, $.datepicker._get(inst, "showOptions"), duration, postProcess) } else { inst.dpDiv[showAnim](duration, postProcess) } if (duration == "") { postProcess() } if (inst.input[0].type != "hidden") { inst.input[0].focus() } $.datepicker._curInst = inst } }, _updateDatepicker: function(inst) { var dims = { width: inst.dpDiv.width() + 4, height: inst.dpDiv.height() + 4 }; var self = this; inst.dpDiv.empty().append(this._generateHTML(inst)).find("iframe.ui-datepicker-cover").css({ width: dims.width, height: dims.height }).end().find("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a").bind("mouseout", function() { $(this).removeClass("ui-state-hover"); if (this.className.indexOf("ui-datepicker-prev") != -1) { $(this).removeClass("ui-datepicker-prev-hover") } if (this.className.indexOf("ui-datepicker-next") != -1) { $(this).removeClass("ui-datepicker-next-hover") } }).bind("mouseover", function() { if (!self._isDisabledDatepicker(inst.inline ? inst.dpDiv.parent()[0] : inst.input[0])) { $(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"); $(this).addClass("ui-state-hover"); if (this.className.indexOf("ui-datepicker-prev") != -1) { $(this).addClass("ui-datepicker-prev-hover") } if (this.className.indexOf("ui-datepicker-next") != -1) { $(this).addClass("ui-datepicker-next-hover") } } }).end().find("." + this._dayOverClass + " a").trigger("mouseover").end(); var numMonths = this._getNumberOfMonths(inst); var cols = numMonths[1]; var width = 17; if (cols > 1) { inst.dpDiv.addClass("ui-datepicker-multi-" + cols).css("width", (width * cols) + "em") } else { inst.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("") } inst.dpDiv[(numMonths[0] != 1 || numMonths[1] != 1 ? "add" : "remove") + "Class"]("ui-datepicker-multi"); inst.dpDiv[(this._get(inst, "isRTL") ? "add" : "remove") + "Class"]("ui-datepicker-rtl"); if (inst.input && inst.input[0].type != "hidden" && inst == $.datepicker._curInst) { $(inst.input[0]).focus() } }, _checkOffset: function(inst, offset, isFixed) { var dpWidth = inst.dpDiv.outerWidth(); var dpHeight = inst.dpDiv.outerHeight(); var inputWidth = inst.input ? inst.input.outerWidth() : 0; var inputHeight = inst.input ? inst.input.outerHeight() : 0; var viewWidth = (window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth) + $(document).scrollLeft(); var viewHeight = (window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight) + $(document).scrollTop(); offset.left -= (this._get(inst, "isRTL") ? (dpWidth - inputWidth) : 0); offset.left -= (isFixed && offset.left == inst.input.offset().left) ? $(document).scrollLeft() : 0; offset.top -= (isFixed && offset.top == (inst.input.offset().top + inputHeight)) ? $(document).scrollTop() : 0; offset.left -= (offset.left + dpWidth > viewWidth && viewWidth > dpWidth) ? Math.abs(offset.left + dpWidth - viewWidth) : 0; offset.top -= (offset.top + dpHeight > viewHeight && viewHeight > dpHeight) ? Math.abs(offset.top + dpHeight + inputHeight * 2 - viewHeight) : 0; return offset }, _findPos: function(obj) { while (obj && (obj.type == "hidden" || obj.nodeType != 1)) { obj = obj.nextSibling } var position = $(obj).offset(); return [position.left, position.top] }, _hideDatepicker: function(input, duration) { var inst = this._curInst; if (!inst || (input && inst != $.data(input, PROP_NAME))) { return } if (inst.stayOpen) { this._selectDate("#" + inst.id, this._formatDate(inst, inst.currentDay, inst.currentMonth, inst.currentYear)) } inst.stayOpen = false; if (this._datepickerShowing) { duration = (duration != null ? duration : this._get(inst, "duration")); var showAnim = this._get(inst, "showAnim"); var postProcess = function() { $.datepicker._tidyDialog(inst) }; if (duration != "" && $.effects && $.effects[showAnim]) { inst.dpDiv.hide(showAnim, $.datepicker._get(inst, "showOptions"), duration, postProcess) } else { inst.dpDiv[(duration == "" ? "hide" : (showAnim == "slideDown" ? "slideUp" : (showAnim == "fadeIn" ? "fadeOut" : "hide")))](duration, postProcess) } if (duration == "") { this._tidyDialog(inst) } var onClose = this._get(inst, "onClose"); if (onClose) { onClose.apply((inst.input ? inst.input[0] : null), [(inst.input ? inst.input.val() : ""), inst]) } this._datepickerShowing = false; this._lastInput = null; if (this._inDialog) { this._dialogInput.css({ position: "absolute", left: "0", top: "-100px" }); if ($.blockUI) { $.unblockUI(); $("body").append(this.dpDiv) } } this._inDialog = false } this._curInst = null }, _tidyDialog: function(inst) { inst.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar") }, _checkExternalClick: function(event) { if (!$.datepicker._curInst) { return } var $target = $(event.target); if (($target.parents("#" + $.datepicker._mainDivId).length == 0) && !$target.hasClass($.datepicker.markerClassName) && !$target.hasClass($.datepicker._triggerClass) && $.datepicker._datepickerShowing && !($.datepicker._inDialog && $.blockUI)) { $.datepicker._hideDatepicker(null, "") } }, _adjustDate: function(id, offset, period) { var target = $(id); var inst = this._getInst(target[0]); if (this._isDisabledDatepicker(target[0])) { return } this._adjustInstDate(inst, offset + (period == "M" ? this._get(inst, "showCurrentAtPos") : 0), period); this._updateDatepicker(inst) }, _gotoToday: function(id) { var target = $(id); var inst = this._getInst(target[0]); if (this._get(inst, "gotoCurrent") && inst.currentDay) { inst.selectedDay = inst.currentDay; inst.drawMonth = inst.selectedMonth = inst.currentMonth; inst.drawYear = inst.selectedYear = inst.currentYear } else { var date = new Date(); inst.selectedDay = date.getDate(); inst.drawMonth = inst.selectedMonth = date.getMonth(); inst.drawYear = inst.selectedYear = date.getFullYear() } this._notifyChange(inst); this._adjustDate(target) }, _selectMonthYear: function(id, select, period) { var target = $(id); var inst = this._getInst(target[0]); inst._selectingMonthYear = false; inst["selected" + (period == "M" ? "Month" : "Year")] = inst["draw" + (period == "M" ? "Month" : "Year")] = parseInt(select.options[select.selectedIndex].value, 10); this._notifyChange(inst); this._adjustDate(target) }, _clickMonthYear: function(id) { var target = $(id); var inst = this._getInst(target[0]); if (inst.input && inst._selectingMonthYear && !$.browser.msie) { inst.input[0].focus() } inst._selectingMonthYear = !inst._selectingMonthYear }, _selectDay: function(id, month, year, td) { var target = $(id); if ($(td).hasClass(this._unselectableClass) || this._isDisabledDatepicker(target[0])) { return } var inst = this._getInst(target[0]); inst.selectedDay = inst.currentDay = $("a", td).html(); inst.selectedMonth = inst.currentMonth = month; inst.selectedYear = inst.currentYear = year; if (inst.stayOpen) { inst.endDay = inst.endMonth = inst.endYear = null } this._selectDate(id, this._formatDate(inst, inst.currentDay, inst.currentMonth, inst.currentYear)); if (inst.stayOpen) { inst.rangeStart = this._daylightSavingAdjust(new Date(inst.currentYear, inst.currentMonth, inst.currentDay)); this._updateDatepicker(inst) } }, _clearDate: function(id) { var target = $(id); var inst = this._getInst(target[0]); inst.stayOpen = false; inst.endDay = inst.endMonth = inst.endYear = inst.rangeStart = null; this._selectDate(target, "") }, _selectDate: function(id, dateStr) { var target = $(id); var inst = this._getInst(target[0]); dateStr = (dateStr != null ? dateStr : this._formatDate(inst)); if (inst.input) { inst.input.val(dateStr) } this._updateAlternate(inst); var onSelect = this._get(inst, "onSelect"); if (onSelect) { onSelect.apply((inst.input ? inst.input[0] : null), [dateStr, inst]) } else { if (inst.input) { inst.input.trigger("change") } } if (inst.inline) { this._updateDatepicker(inst) } else { if (!inst.stayOpen) { this._hideDatepicker(null, this._get(inst, "duration")); this._lastInput = inst.input[0]; if (typeof (inst.input[0]) != "object") { inst.input[0].focus() } this._lastInput = null } } }, _updateAlternate: function(inst) { var altField = this._get(inst, "altField"); if (altField) { var altFormat = this._get(inst, "altFormat") || this._get(inst, "dateFormat"); var date = this._getDate(inst); dateStr = this.formatDate(altFormat, date, this._getFormatConfig(inst)); $(altField).each(function() { $(this).val(dateStr) }) } }, noWeekends: function(date) { var day = date.getDay(); return [(day > 0 && day < 6), ""] }, iso8601Week: function(date) { var checkDate = new Date(date.getFullYear(), date.getMonth(), date.getDate()); var firstMon = new Date(checkDate.getFullYear(), 1 - 1, 4); var firstDay = firstMon.getDay() || 7; firstMon.setDate(firstMon.getDate() + 1 - firstDay); if (firstDay < 4 && checkDate < firstMon) { checkDate.setDate(checkDate.getDate() - 3); return $.datepicker.iso8601Week(checkDate) } else { if (checkDate > new Date(checkDate.getFullYear(), 12 - 1, 28)) { firstDay = new Date(checkDate.getFullYear() + 1, 1 - 1, 4).getDay() || 7; if (firstDay > 4 && (checkDate.getDay() || 7) < firstDay - 3) { return 1 } } } return Math.floor(((checkDate - firstMon) / 86400000) / 7) + 1 }, parseDate: function(format, value, settings) { if (format == null || value == null) { throw "Invalid arguments" } value = (typeof value == "object" ? value.toString() : value + ""); if (value == "") { return null } var shortYearCutoff = (settings ? settings.shortYearCutoff : null) || this._defaults.shortYearCutoff; var dayNamesShort = (settings ? settings.dayNamesShort : null) || this._defaults.dayNamesShort; var dayNames = (settings ? settings.dayNames : null) || this._defaults.dayNames; var monthNamesShort = (settings ? settings.monthNamesShort : null) || this._defaults.monthNamesShort; var monthNames = (settings ? settings.monthNames : null) || this._defaults.monthNames; var year = -1; var month = -1; var day = -1; var doy = -1; var literal = false; var lookAhead = function(match) { var matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) == match); if (matches) { iFormat++ } return matches }; var getNumber = function(match) { lookAhead(match); var origSize = (match == "@" ? 14 : (match == "y" ? 4 : (match == "o" ? 3 : 2))); var size = origSize; var num = 0; while (size > 0 && iValue < value.length && value.charAt(iValue) >= "0" && value.charAt(iValue) <= "9") { num = num * 10 + parseInt(value.charAt(iValue++), 10); size-- } if (size == origSize) { throw "Missing number at position " + iValue } return num }; var getName = function(match, shortNames, longNames) { var names = (lookAhead(match) ? longNames : shortNames); var size = 0; for (var j = 0; j < names.length; j++) { size = Math.max(size, names[j].length) } var name = ""; var iInit = iValue; while (size > 0 && iValue < value.length) { name += value.charAt(iValue++); for (var i = 0; i < names.length; i++) { if (name == names[i]) { return i + 1 } } size-- } throw "Unknown name at position " + iInit }; var checkLiteral = function() { if (value.charAt(iValue) != format.charAt(iFormat)) { throw "Unexpected literal at position " + iValue } iValue++ }; var iValue = 0; for (var iFormat = 0; iFormat < format.length; iFormat++) { if (literal) { if (format.charAt(iFormat) == "'" && !lookAhead("'")) { literal = false } else { checkLiteral() } } else { switch (format.charAt(iFormat)) { case "d": day = getNumber("d"); break; case "D": getName("D", dayNamesShort, dayNames); break; case "o": doy = getNumber("o"); break; case "m": month = getNumber("m"); break; case "M": month = getName("M", monthNamesShort, monthNames); break; case "y": year = getNumber("y"); break; case "@": var date = new Date(getNumber("@")); year = date.getFullYear(); month = date.getMonth() + 1; day = date.getDate(); break; case "'": if (lookAhead("'")) { checkLiteral() } else { literal = true } break; default: checkLiteral() } } } if (year == -1) { year = new Date().getFullYear() } else { if (year < 100) { year += new Date().getFullYear() - new Date().getFullYear() % 100 + (year <= shortYearCutoff ? 0 : -100) } } if (doy > -1) { month = 1; day = doy; do { var dim = this._getDaysInMonth(year, month - 1); if (day <= dim) { break } month++; day -= dim } while (true) } var date = this._daylightSavingAdjust(new Date(year, month - 1, day)); if (date.getFullYear() != year || date.getMonth() + 1 != month || date.getDate() != day) { throw "Invalid date" } return date }, ATOM: "yy-mm-dd", COOKIE: "D, dd M yy", ISO_8601: "yy-mm-dd", RFC_822: "D, d M y", RFC_850: "DD, dd-M-y", RFC_1036: "D, d M y", RFC_1123: "D, d M yy", RFC_2822: "D, d M yy", RSS: "D, d M y", TIMESTAMP: "@", W3C: "yy-mm-dd", formatDate: function(format, date, settings) { if (!date) { return "" } var dayNamesShort = (settings ? settings.dayNamesShort : null) || this._defaults.dayNamesShort; var dayNames = (settings ? settings.dayNames : null) || this._defaults.dayNames; var monthNamesShort = (settings ? settings.monthNamesShort : null) || this._defaults.monthNamesShort; var monthNames = (settings ? settings.monthNames : null) || this._defaults.monthNames; var lookAhead = function(match) { var matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) == match); if (matches) { iFormat++ } return matches }; var formatNumber = function(match, value, len) { var num = "" + value; if (lookAhead(match)) { while (num.length < len) { num = "0" + num } } return num }; var formatName = function(match, value, shortNames, longNames) { return (lookAhead(match) ? longNames[value] : shortNames[value]) }; var output = ""; var literal = false; if (date) { for (var iFormat = 0; iFormat < format.length; iFormat++) { if (literal) { if (format.charAt(iFormat) == "'" && !lookAhead("'")) { literal = false } else { output += format.charAt(iFormat) } } else { switch (format.charAt(iFormat)) { case "d": output += formatNumber("d", date.getDate(), 2); break; case "D": output += formatName("D", date.getDay(), dayNamesShort, dayNames); break; case "o": var doy = date.getDate(); for (var m = date.getMonth() - 1; m >= 0; m--) { doy += this._getDaysInMonth(date.getFullYear(), m) } output += formatNumber("o", doy, 3); break; case "m": output += formatNumber("m", date.getMonth() + 1, 2); break; case "M": output += formatName("M", date.getMonth(), monthNamesShort, monthNames); break; case "y": output += (lookAhead("y") ? date.getFullYear() : (date.getYear() % 100 < 10 ? "0" : "") + date.getYear() % 100); break; case "@": output += date.getTime(); break; case "'": if (lookAhead("'")) { output += "'" } else { literal = true } break; default: output += format.charAt(iFormat) } } } } return output }, _possibleChars: function(format) { var chars = ""; var literal = false; for (var iFormat = 0; iFormat < format.length; iFormat++) { if (literal) { if (format.charAt(iFormat) == "'" && !lookAhead("'")) { literal = false } else { chars += format.charAt(iFormat) } } else { switch (format.charAt(iFormat)) { case "d": case "m": case "y": case "@": chars += "0123456789"; break; case "D": case "M": return null; case "'": if (lookAhead("'")) { chars += "'" } else { literal = true } break; default: chars += format.charAt(iFormat) } } } return chars }, _get: function(inst, name) { return inst.settings[name] !== undefined ? inst.settings[name] : this._defaults[name] }, _setDateFromField: function(inst) { var dateFormat = this._get(inst, "dateFormat"); var dates = inst.input ? inst.input.val() : null; inst.endDay = inst.endMonth = inst.endYear = null; var date = defaultDate = this._getDefaultDate(inst); var settings = this._getFormatConfig(inst); try { date = this.parseDate(dateFormat, dates, settings) || defaultDate } catch (event) { this.log(event); date = defaultDate } inst.selectedDay = date.getDate(); inst.drawMonth = inst.selectedMonth = date.getMonth(); inst.drawYear = inst.selectedYear = date.getFullYear(); inst.currentDay = (dates ? date.getDate() : 0); inst.currentMonth = (dates ? date.getMonth() : 0); inst.currentYear = (dates ? date.getFullYear() : 0); this._adjustInstDate(inst) }, _getDefaultDate: function(inst) { var date = this._determineDate(this._get(inst, "defaultDate"), new Date()); var minDate = this._getMinMaxDate(inst, "min", true); var maxDate = this._getMinMaxDate(inst, "max"); date = (minDate && date < minDate ? minDate : date); date = (maxDate && date > maxDate ? maxDate : date); return date }, _determineDate: function(date, defaultDate) { var offsetNumeric = function(offset) { var date = new Date(); date.setDate(date.getDate() + offset); return date }; var offsetString = function(offset, getDaysInMonth) { var date = new Date(); var year = date.getFullYear(); var month = date.getMonth(); var day = date.getDate(); var pattern = /([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g; var matches = pattern.exec(offset); while (matches) { switch (matches[2] || "d") { case "d": case "D": day += parseInt(matches[1], 10); break; case "w": case "W": day += parseInt(matches[1], 10) * 7; break; case "m": case "M": month += parseInt(matches[1], 10); day = Math.min(day, getDaysInMonth(year, month)); break; case "y": case "Y": year += parseInt(matches[1], 10); day = Math.min(day, getDaysInMonth(year, month)); break } matches = pattern.exec(offset) } return new Date(year, month, day) }; date = (date == null ? defaultDate : (typeof date == "string" ? offsetString(date, this._getDaysInMonth) : (typeof date == "number" ? (isNaN(date) ? defaultDate : offsetNumeric(date)) : date))); date = (date && date.toString() == "Invalid Date" ? defaultDate : date); if (date) { date.setHours(0); date.setMinutes(0); date.setSeconds(0); date.setMilliseconds(0) } return this._daylightSavingAdjust(date) }, _daylightSavingAdjust: function(date) { if (!date) { return null } date.setHours(date.getHours() > 12 ? date.getHours() + 2 : 0); return date }, _setDate: function(inst, date, endDate) { var clear = !(date); var origMonth = inst.selectedMonth; var origYear = inst.selectedYear; date = this._determineDate(date, new Date()); inst.selectedDay = inst.currentDay = date.getDate(); inst.drawMonth = inst.selectedMonth = inst.currentMonth = date.getMonth(); inst.drawYear = inst.selectedYear = inst.currentYear = date.getFullYear(); if (origMonth != inst.selectedMonth || origYear != inst.selectedYear) { this._notifyChange(inst) } this._adjustInstDate(inst); if (inst.input) { inst.input.val(clear ? "" : this._formatDate(inst)) } }, _getDate: function(inst) { var startDate = (!inst.currentYear || (inst.input && inst.input.val() == "") ? null : this._daylightSavingAdjust(new Date(inst.currentYear, inst.currentMonth, inst.currentDay))); return startDate }, _generateHTML: function(inst) { var today = new Date(); today = this._daylightSavingAdjust(new Date(today.getFullYear(), today.getMonth(), today.getDate())); var isRTL = this._get(inst, "isRTL"); var showButtonPanel = this._get(inst, "showButtonPanel"); var hideIfNoPrevNext = this._get(inst, "hideIfNoPrevNext"); var navigationAsDateFormat = this._get(inst, "navigationAsDateFormat"); var numMonths = this._getNumberOfMonths(inst); var showCurrentAtPos = this._get(inst, "showCurrentAtPos"); var stepMonths = this._get(inst, "stepMonths"); var stepBigMonths = this._get(inst, "stepBigMonths"); var isMultiMonth = (numMonths[0] != 1 || numMonths[1] != 1); var currentDate = this._daylightSavingAdjust((!inst.currentDay ? new Date(9999, 9, 9) : new Date(inst.currentYear, inst.currentMonth, inst.currentDay))); var minDate = this._getMinMaxDate(inst, "min", true); var maxDate = this._getMinMaxDate(inst, "max"); var drawMonth = inst.drawMonth - showCurrentAtPos; var drawYear = inst.drawYear; if (drawMonth < 0) { drawMonth += 12; drawYear-- } if (maxDate) { var maxDraw = this._daylightSavingAdjust(new Date(maxDate.getFullYear(), maxDate.getMonth() - numMonths[1] + 1, maxDate.getDate())); maxDraw = (minDate && maxDraw < minDate ? minDate : maxDraw); while (this._daylightSavingAdjust(new Date(drawYear, drawMonth, 1)) > maxDraw) { drawMonth--; if (drawMonth < 0) { drawMonth = 11; drawYear-- } } } inst.drawMonth = drawMonth; inst.drawYear = drawYear; var prevText = this._get(inst, "prevText"); prevText = (!navigationAsDateFormat ? prevText : this.formatDate(prevText, this._daylightSavingAdjust(new Date(drawYear, drawMonth - stepMonths, 1)), this._getFormatConfig(inst))); var prev = (this._canAdjustMonth(inst, -1, drawYear, drawMonth) ? '<a class="ui-datepicker-prev ui-corner-all" onclick="DP_jQuery.datepicker._adjustDate(\'#' + inst.id + "', -" + stepMonths + ", 'M');\" title=\"" + prevText + '"><span class="ui-icon ui-icon-circle-triangle-' + (isRTL ? "e" : "w") + '">' + prevText + "</span></a>" : (hideIfNoPrevNext ? "" : '<a class="ui-datepicker-prev ui-corner-all ui-state-disabled" title="' + prevText + '"><span class="ui-icon ui-icon-circle-triangle-' + (isRTL ? "e" : "w") + '">' + prevText + "</span></a>")); var nextText = this._get(inst, "nextText"); nextText = (!navigationAsDateFormat ? nextText : this.formatDate(nextText, this._daylightSavingAdjust(new Date(drawYear, drawMonth + stepMonths, 1)), this._getFormatConfig(inst))); var next = (this._canAdjustMonth(inst, +1, drawYear, drawMonth) ? '<a class="ui-datepicker-next ui-corner-all" onclick="DP_jQuery.datepicker._adjustDate(\'#' + inst.id + "', +" + stepMonths + ", 'M');\" title=\"" + nextText + '"><span class="ui-icon ui-icon-circle-triangle-' + (isRTL ? "w" : "e") + '">' + nextText + "</span></a>" : (hideIfNoPrevNext ? "" : '<a class="ui-datepicker-next ui-corner-all ui-state-disabled" title="' + nextText + '"><span class="ui-icon ui-icon-circle-triangle-' + (isRTL ? "w" : "e") + '">' + nextText + "</span></a>")); var currentText = this._get(inst, "currentText"); var gotoDate = (this._get(inst, "gotoCurrent") && inst.currentDay ? currentDate : today); currentText = (!navigationAsDateFormat ? currentText : this.formatDate(currentText, gotoDate, this._getFormatConfig(inst))); var controls = (!inst.inline ? '<button type="button" class="ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all" onclick="DP_jQuery.datepicker._hideDatepicker();">' + this._get(inst, "closeText") + "</button>" : ""); var buttonPanel = (showButtonPanel) ? '<div class="ui-datepicker-buttonpane ui-widget-content">' + (isRTL ? controls : "") + (this._isInRange(inst, gotoDate) ? '<button type="button" class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" onclick="DP_jQuery.datepicker._gotoToday(\'#' + inst.id + "');\">" + currentText + "</button>" : "") + (isRTL ? "" : controls) + "</div>" : ""; var firstDay = parseInt(this._get(inst, "firstDay"), 10); firstDay = (isNaN(firstDay) ? 0 : firstDay); var dayNames = this._get(inst, "dayNames"); var dayNamesShort = this._get(inst, "dayNamesShort"); var dayNamesMin = this._get(inst, "dayNamesMin"); var monthNames = this._get(inst, "monthNames"); var monthNamesShort = this._get(inst, "monthNamesShort"); var beforeShowDay = this._get(inst, "beforeShowDay"); var showOtherMonths = this._get(inst, "showOtherMonths"); var calculateWeek = this._get(inst, "calculateWeek") || this.iso8601Week; var endDate = inst.endDay ? this._daylightSavingAdjust(new Date(inst.endYear, inst.endMonth, inst.endDay)) : currentDate; var defaultDate = this._getDefaultDate(inst); var html = ""; for (var row = 0; row < numMonths[0]; row++) { var group = ""; for (var col = 0; col < numMonths[1]; col++) { var selectedDate = this._daylightSavingAdjust(new Date(drawYear, drawMonth, inst.selectedDay)); var cornerClass = " ui-corner-all"; var calender = ""; if (isMultiMonth) { calender += '<div class="ui-datepicker-group ui-datepicker-group-'; switch (col) { case 0: calender += "first"; cornerClass = " ui-corner-" + (isRTL ? "right" : "left"); break; case numMonths[1] - 1: calender += "last"; cornerClass = " ui-corner-" + (isRTL ? "left" : "right"); break; default: calender += "middle"; cornerClass = ""; break } calender += '">' } calender += '<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix' + cornerClass + '">' + (/all|left/.test(cornerClass) && row == 0 ? (isRTL ? next : prev) : "") + (/all|right/.test(cornerClass) && row == 0 ? (isRTL ? prev : next) : "") + this._generateMonthYearHeader(inst, drawMonth, drawYear, minDate, maxDate, selectedDate, row > 0 || col > 0, monthNames, monthNamesShort) + '</div><table class="ui-datepicker-calendar"><thead><tr>'; var thead = ""; for (var dow = 0; dow < 7; dow++) { var day = (dow + firstDay) % 7; thead += "<th" + ((dow + firstDay + 6) % 7 >= 5 ? ' class="ui-datepicker-week-end"' : "") + '><span title="' + dayNames[day] + '">' + dayNamesMin[day] + "</span></th>" } calender += thead + "</tr></thead><tbody>"; var daysInMonth = this._getDaysInMonth(drawYear, drawMonth); if (drawYear == inst.selectedYear && drawMonth == inst.selectedMonth) { inst.selectedDay = Math.min(inst.selectedDay, daysInMonth) } var leadDays = (this._getFirstDayOfMonth(drawYear, drawMonth) - firstDay + 7) % 7; var numRows = (isMultiMonth ? 6 : Math.ceil((leadDays + daysInMonth) / 7)); var printDate = this._daylightSavingAdjust(new Date(drawYear, drawMonth, 1 - leadDays)); for (var dRow = 0; dRow < numRows; dRow++) { calender += "<tr>"; var tbody = ""; for (var dow = 0; dow < 7; dow++) { var daySettings = (beforeShowDay ? beforeShowDay.apply((inst.input ? inst.input[0] : null), [printDate]) : [true, ""]); var otherMonth = (printDate.getMonth() != drawMonth); var unselectable = otherMonth || !daySettings[0] || (minDate && printDate < minDate) || (maxDate && printDate > maxDate); tbody += '<td class="' + ((dow + firstDay + 6) % 7 >= 5 ? " ui-datepicker-week-end" : "") + (otherMonth ? " ui-datepicker-other-month" : "") + ((printDate.getTime() == selectedDate.getTime() && drawMonth == inst.selectedMonth && inst._keyEvent) || (defaultDate.getTime() == printDate.getTime() && defaultDate.getTime() == selectedDate.getTime()) ? " " + this._dayOverClass : "") + (unselectable ? " " + this._unselectableClass + " ui-state-disabled" : "") + (otherMonth && !showOtherMonths ? "" : " " + daySettings[1] + (printDate.getTime() >= currentDate.getTime() && printDate.getTime() <= endDate.getTime() ? " " + this._currentClass : "") + (printDate.getTime() == today.getTime() ? " ui-datepicker-today" : "")) + '"' + ((!otherMonth || showOtherMonths) && daySettings[2] ? ' title="' + daySettings[2] + '"' : "") + (unselectable ? "" : " onclick=\"DP_jQuery.datepicker._selectDay('#" + inst.id + "'," + drawMonth + "," + drawYear + ', this);return false;"') + ">" + (otherMonth ? (showOtherMonths ? printDate.getDate() : "&#xa0;") : (unselectable ? '<span class="ui-state-default">' + printDate.getDate() + "</span>" : '<a class="ui-state-default' + (printDate.getTime() == today.getTime() ? " ui-state-highlight" : "") + (printDate.getTime() >= currentDate.getTime() && printDate.getTime() <= endDate.getTime() ? " ui-state-active" : "") + '" href="#">' + printDate.getDate() + "</a>")) + "</td>"; printDate.setDate(printDate.getDate() + 1); printDate = this._daylightSavingAdjust(printDate) } calender += tbody + "</tr>" } drawMonth++; if (drawMonth > 11) { drawMonth = 0; drawYear++ } calender += "</tbody></table>" + (isMultiMonth ? "</div>" + ((numMonths[0] > 0 && col == numMonths[1] - 1) ? '<div class="ui-datepicker-row-break"></div>' : "") : ""); group += calender } html += group } html += buttonPanel + ($.browser.msie && parseInt($.browser.version, 10) < 7 && !inst.inline ? '<iframe src="javascript:false;" class="ui-datepicker-cover" frameborder="0"></iframe>' : ""); inst._keyEvent = false; return html }, _generateMonthYearHeader: function(inst, drawMonth, drawYear, minDate, maxDate, selectedDate, secondary, monthNames, monthNamesShort) { minDate = (inst.rangeStart && minDate && selectedDate < minDate ? selectedDate : minDate); var changeMonth = this._get(inst, "changeMonth"); var changeYear = this._get(inst, "changeYear"); var showMonthAfterYear = this._get(inst, "showMonthAfterYear"); var html = '<div class="ui-datepicker-title">'; var monthHtml = ""; if (secondary || !changeMonth) { monthHtml += '<span class="ui-datepicker-month">' + monthNames[drawMonth] + "</span> " } else { var inMinYear = (minDate && minDate.getFullYear() == drawYear); var inMaxYear = (maxDate && maxDate.getFullYear() == drawYear); monthHtml += '<select class="ui-datepicker-month" onchange="DP_jQuery.datepicker._selectMonthYear(\'#' + inst.id + "', this, 'M');\" onclick=\"DP_jQuery.datepicker._clickMonthYear('#" + inst.id + "');\">"; for (var month = 0; month < 12; month++) { if ((!inMinYear || month >= minDate.getMonth()) && (!inMaxYear || month <= maxDate.getMonth())) { monthHtml += '<option value="' + month + '"' + (month == drawMonth ? ' selected="selected"' : "") + ">" + monthNamesShort[month] + "</option>" } } monthHtml += "</select>" } if (!showMonthAfterYear) { html += monthHtml + ((secondary || changeMonth || changeYear) && (!(changeMonth && changeYear)) ? "&#xa0;" : "") } if (secondary || !changeYear) { html += '<span class="ui-datepicker-year">' + drawYear + "</span>" } else { var years = this._get(inst, "yearRange").split(":"); var year = 0; var endYear = 0; if (years.length != 2) { year = drawYear - 10; endYear = drawYear + 10 } else { if (years[0].charAt(0) == "+" || years[0].charAt(0) == "-") { year = drawYear + parseInt(years[0], 10); endYear = drawYear + parseInt(years[1], 10) } else { year = parseInt(years[0], 10); endYear = parseInt(years[1], 10) } } year = (minDate ? Math.max(year, minDate.getFullYear()) : year); endYear = (maxDate ? Math.min(endYear, maxDate.getFullYear()) : endYear); html += '<select class="ui-datepicker-year" onchange="DP_jQuery.datepicker._selectMonthYear(\'#' + inst.id + "', this, 'Y');\" onclick=\"DP_jQuery.datepicker._clickMonthYear('#" + inst.id + "');\">"; for (; year <= endYear; year++) { html += '<option value="' + year + '"' + (year == drawYear ? ' selected="selected"' : "") + ">" + year + "</option>" } html += "</select>" } if (showMonthAfterYear) { html += (secondary || changeMonth || changeYear ? "&#xa0;" : "") + monthHtml } html += "</div>"; return html }, _adjustInstDate: function(inst, offset, period) { var year = inst.drawYear + (period == "Y" ? offset : 0); var month = inst.drawMonth + (period == "M" ? offset : 0); var day = Math.min(inst.selectedDay, this._getDaysInMonth(year, month)) + (period == "D" ? offset : 0); var date = this._daylightSavingAdjust(new Date(year, month, day)); var minDate = this._getMinMaxDate(inst, "min", true); var maxDate = this._getMinMaxDate(inst, "max"); date = (minDate && date < minDate ? minDate : date); date = (maxDate && date > maxDate ? maxDate : date); inst.selectedDay = date.getDate(); inst.drawMonth = inst.selectedMonth = date.getMonth(); inst.drawYear = inst.selectedYear = date.getFullYear(); if (period == "M" || period == "Y") { this._notifyChange(inst) } }, _notifyChange: function(inst) { var onChange = this._get(inst, "onChangeMonthYear"); if (onChange) { onChange.apply((inst.input ? inst.input[0] : null), [inst.selectedYear, inst.selectedMonth + 1, inst]) } }, _getNumberOfMonths: function(inst) { var numMonths = this._get(inst, "numberOfMonths"); return (numMonths == null ? [1, 1] : (typeof numMonths == "number" ? [1, numMonths] : numMonths)) }, _getMinMaxDate: function(inst, minMax, checkRange) { var date = this._determineDate(this._get(inst, minMax + "Date"), null); return (!checkRange || !inst.rangeStart ? date : (!date || inst.rangeStart > date ? inst.rangeStart : date)) }, _getDaysInMonth: function(year, month) { return 32 - new Date(year, month, 32).getDate() }, _getFirstDayOfMonth: function(year, month) { return new Date(year, month, 1).getDay() }, _canAdjustMonth: function(inst, offset, curYear, curMonth) { var numMonths = this._getNumberOfMonths(inst); var date = this._daylightSavingAdjust(new Date(curYear, curMonth + (offset < 0 ? offset : numMonths[1]), 1)); if (offset < 0) { date.setDate(this._getDaysInMonth(date.getFullYear(), date.getMonth())) } return this._isInRange(inst, date) }, _isInRange: function(inst, date) { var newMinDate = (!inst.rangeStart ? null : this._daylightSavingAdjust(new Date(inst.selectedYear, inst.selectedMonth, inst.selectedDay))); newMinDate = (newMinDate && inst.rangeStart < newMinDate ? inst.rangeStart : newMinDate); var minDate = newMinDate || this._getMinMaxDate(inst, "min"); var maxDate = this._getMinMaxDate(inst, "max"); return ((!minDate || date >= minDate) && (!maxDate || date <= maxDate)) }, _getFormatConfig: function(inst) { var shortYearCutoff = this._get(inst, "shortYearCutoff"); shortYearCutoff = (typeof shortYearCutoff != "string" ? shortYearCutoff : new Date().getFullYear() % 100 + parseInt(shortYearCutoff, 10)); return { shortYearCutoff: shortYearCutoff, dayNamesShort: this._get(inst, "dayNamesShort"), dayNames: this._get(inst, "dayNames"), monthNamesShort: this._get(inst, "monthNamesShort"), monthNames: this._get(inst, "monthNames")} }, _formatDate: function(inst, day, month, year) { if (!day) { inst.currentDay = inst.selectedDay; inst.currentMonth = inst.selectedMonth; inst.currentYear = inst.selectedYear } var date = (day ? (typeof day == "object" ? day : this._daylightSavingAdjust(new Date(year, month, day))) : this._daylightSavingAdjust(new Date(inst.currentYear, inst.currentMonth, inst.currentDay))); return this.formatDate(this._get(inst, "dateFormat"), date, this._getFormatConfig(inst)) } }); function extendRemove(target, props) { $.extend(target, props); for (var name in props) { if (props[name] == null || props[name] == undefined) { target[name] = props[name] } } return target } function isArray(a) { return (a && (($.browser.safari && typeof a == "object" && a.length) || (a.constructor && a.constructor.toString().match(/\Array\(\)/)))) } $.fn.datepicker = function(options) { if (!$.datepicker.initialized) { $(document).mousedown($.datepicker._checkExternalClick).find("body").append($.datepicker.dpDiv); $.datepicker.initialized = true } var otherArgs = Array.prototype.slice.call(arguments, 1); if (typeof options == "string" && (options == "isDisabled" || options == "getDate")) { return $.datepicker["_" + options + "Datepicker"].apply($.datepicker, [this[0]].concat(otherArgs)) } if (options == "option" && arguments.length == 2 && typeof arguments[1] == "string") { return $.datepicker["_" + options + "Datepicker"].apply($.datepicker, [this[0]].concat(otherArgs)) } return this.each(function() { typeof options == "string" ? $.datepicker["_" + options + "Datepicker"].apply($.datepicker, [this].concat(otherArgs)) : $.datepicker._attachDatepicker(this, options) }) }; $.datepicker = new Datepicker(); $.datepicker.initialized = false; $.datepicker.uuid = new Date().getTime(); $.datepicker.version = "1.7.2"; window.DP_jQuery = $ })(jQuery); ; /*
 * jQuery UI Effects 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/
 */
jQuery.effects || (function(d) { d.effects = { version: "1.7.2", save: function(g, h) { for (var f = 0; f < h.length; f++) { if (h[f] !== null) { g.data("ec.storage." + h[f], g[0].style[h[f]]) } } }, restore: function(g, h) { for (var f = 0; f < h.length; f++) { if (h[f] !== null) { g.css(h[f], g.data("ec.storage." + h[f])) } } }, setMode: function(f, g) { if (g == "toggle") { g = f.is(":hidden") ? "show" : "hide" } return g }, getBaseline: function(g, h) { var i, f; switch (g[0]) { case "top": i = 0; break; case "middle": i = 0.5; break; case "bottom": i = 1; break; default: i = g[0] / h.height } switch (g[1]) { case "left": f = 0; break; case "center": f = 0.5; break; case "right": f = 1; break; default: f = g[1] / h.width } return { x: f, y: i} }, createWrapper: function(f) { if (f.parent().is(".ui-effects-wrapper")) { return f.parent() } var g = { width: f.outerWidth(true), height: f.outerHeight(true), "float": f.css("float") }; f.wrap('<div class="ui-effects-wrapper" style="font-size:100%;background:transparent;border:none;margin:0;padding:0"></div>'); var j = f.parent(); if (f.css("position") == "static") { j.css({ position: "relative" }); f.css({ position: "relative" }) } else { var i = f.css("top"); if (isNaN(parseInt(i, 10))) { i = "auto" } var h = f.css("left"); if (isNaN(parseInt(h, 10))) { h = "auto" } j.css({ position: f.css("position"), top: i, left: h, zIndex: f.css("z-index") }).show(); f.css({ position: "relative", top: 0, left: 0 }) } j.css(g); return j }, removeWrapper: function(f) { if (f.parent().is(".ui-effects-wrapper")) { return f.parent().replaceWith(f) } return f }, setTransition: function(g, i, f, h) { h = h || {}; d.each(i, function(k, j) { unit = g.cssUnit(j); if (unit[0] > 0) { h[j] = unit[0] * f + unit[1] } }); return h }, animateClass: function(h, i, k, j) { var f = (typeof k == "function" ? k : (j ? j : null)); var g = (typeof k == "string" ? k : null); return this.each(function() { var q = {}; var o = d(this); var p = o.attr("style") || ""; if (typeof p == "object") { p = p.cssText } if (h.toggle) { o.hasClass(h.toggle) ? h.remove = h.toggle : h.add = h.toggle } var l = d.extend({}, (document.defaultView ? document.defaultView.getComputedStyle(this, null) : this.currentStyle)); if (h.add) { o.addClass(h.add) } if (h.remove) { o.removeClass(h.remove) } var m = d.extend({}, (document.defaultView ? document.defaultView.getComputedStyle(this, null) : this.currentStyle)); if (h.add) { o.removeClass(h.add) } if (h.remove) { o.addClass(h.remove) } for (var r in m) { if (typeof m[r] != "function" && m[r] && r.indexOf("Moz") == -1 && r.indexOf("length") == -1 && m[r] != l[r] && (r.match(/color/i) || (!r.match(/color/i) && !isNaN(parseInt(m[r], 10)))) && (l.position != "static" || (l.position == "static" && !r.match(/left|top|bottom|right/)))) { q[r] = m[r] } } o.animate(q, i, g, function() { if (typeof d(this).attr("style") == "object") { d(this).attr("style")["cssText"] = ""; d(this).attr("style")["cssText"] = p } else { d(this).attr("style", p) } if (h.add) { d(this).addClass(h.add) } if (h.remove) { d(this).removeClass(h.remove) } if (f) { f.apply(this, arguments) } }) }) } }; function c(g, f) { var i = g[1] && g[1].constructor == Object ? g[1] : {}; if (f) { i.mode = f } var h = g[1] && g[1].constructor != Object ? g[1] : (i.duration ? i.duration : g[2]); h = d.fx.off ? 0 : typeof h === "number" ? h : d.fx.speeds[h] || d.fx.speeds._default; var j = i.callback || (d.isFunction(g[1]) && g[1]) || (d.isFunction(g[2]) && g[2]) || (d.isFunction(g[3]) && g[3]); return [g[0], i, h, j] } d.fn.extend({ _show: d.fn.show, _hide: d.fn.hide, __toggle: d.fn.toggle, _addClass: d.fn.addClass, _removeClass: d.fn.removeClass, _toggleClass: d.fn.toggleClass, effect: function(g, f, h, i) { return d.effects[g] ? d.effects[g].call(this, { method: g, options: f || {}, duration: h, callback: i }) : null }, show: function() { if (!arguments[0] || (arguments[0].constructor == Number || (/(slow|normal|fast)/).test(arguments[0]))) { return this._show.apply(this, arguments) } else { return this.effect.apply(this, c(arguments, "show")) } }, hide: function() { if (!arguments[0] || (arguments[0].constructor == Number || (/(slow|normal|fast)/).test(arguments[0]))) { return this._hide.apply(this, arguments) } else { return this.effect.apply(this, c(arguments, "hide")) } }, toggle: function() { if (!arguments[0] || (arguments[0].constructor == Number || (/(slow|normal|fast)/).test(arguments[0])) || (d.isFunction(arguments[0]) || typeof arguments[0] == "boolean")) { return this.__toggle.apply(this, arguments) } else { return this.effect.apply(this, c(arguments, "toggle")) } }, addClass: function(g, f, i, h) { return f ? d.effects.animateClass.apply(this, [{ add: g }, f, i, h]) : this._addClass(g) }, removeClass: function(g, f, i, h) { return f ? d.effects.animateClass.apply(this, [{ remove: g }, f, i, h]) : this._removeClass(g) }, toggleClass: function(g, f, i, h) { return ((typeof f !== "boolean") && f) ? d.effects.animateClass.apply(this, [{ toggle: g }, f, i, h]) : this._toggleClass(g, f) }, morph: function(f, h, g, j, i) { return d.effects.animateClass.apply(this, [{ add: h, remove: f }, g, j, i]) }, switchClass: function() { return this.morph.apply(this, arguments) }, cssUnit: function(f) { var g = this.css(f), h = []; d.each(["em", "px", "%", "pt"], function(j, k) { if (g.indexOf(k) > 0) { h = [parseFloat(g), k] } }); return h } }); d.each(["backgroundColor", "borderBottomColor", "borderLeftColor", "borderRightColor", "borderTopColor", "color", "outlineColor"], function(g, f) { d.fx.step[f] = function(h) { if (h.state == 0) { h.start = e(h.elem, f); h.end = b(h.end) } h.elem.style[f] = "rgb(" + [Math.max(Math.min(parseInt((h.pos * (h.end[0] - h.start[0])) + h.start[0], 10), 255), 0), Math.max(Math.min(parseInt((h.pos * (h.end[1] - h.start[1])) + h.start[1], 10), 255), 0), Math.max(Math.min(parseInt((h.pos * (h.end[2] - h.start[2])) + h.start[2], 10), 255), 0)].join(",") + ")" } }); function b(g) { var f; if (g && g.constructor == Array && g.length == 3) { return g } if (f = /rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(g)) { return [parseInt(f[1], 10), parseInt(f[2], 10), parseInt(f[3], 10)] } if (f = /rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(g)) { return [parseFloat(f[1]) * 2.55, parseFloat(f[2]) * 2.55, parseFloat(f[3]) * 2.55] } if (f = /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(g)) { return [parseInt(f[1], 16), parseInt(f[2], 16), parseInt(f[3], 16)] } if (f = /#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(g)) { return [parseInt(f[1] + f[1], 16), parseInt(f[2] + f[2], 16), parseInt(f[3] + f[3], 16)] } if (f = /rgba\(0, 0, 0, 0\)/.exec(g)) { return a.transparent } return a[d.trim(g).toLowerCase()] } function e(h, f) { var g; do { g = d.curCSS(h, f); if (g != "" && g != "transparent" || d.nodeName(h, "body")) { break } f = "backgroundColor" } while (h = h.parentNode); return b(g) } var a = { aqua: [0, 255, 255], azure: [240, 255, 255], beige: [245, 245, 220], black: [0, 0, 0], blue: [0, 0, 255], brown: [165, 42, 42], cyan: [0, 255, 255], darkblue: [0, 0, 139], darkcyan: [0, 139, 139], darkgrey: [169, 169, 169], darkgreen: [0, 100, 0], darkkhaki: [189, 183, 107], darkmagenta: [139, 0, 139], darkolivegreen: [85, 107, 47], darkorange: [255, 140, 0], darkorchid: [153, 50, 204], darkred: [139, 0, 0], darksalmon: [233, 150, 122], darkviolet: [148, 0, 211], fuchsia: [255, 0, 255], gold: [255, 215, 0], green: [0, 128, 0], indigo: [75, 0, 130], khaki: [240, 230, 140], lightblue: [173, 216, 230], lightcyan: [224, 255, 255], lightgreen: [144, 238, 144], lightgrey: [211, 211, 211], lightpink: [255, 182, 193], lightyellow: [255, 255, 224], lime: [0, 255, 0], magenta: [255, 0, 255], maroon: [128, 0, 0], navy: [0, 0, 128], olive: [128, 128, 0], orange: [255, 165, 0], pink: [255, 192, 203], purple: [128, 0, 128], violet: [128, 0, 128], red: [255, 0, 0], silver: [192, 192, 192], white: [255, 255, 255], yellow: [255, 255, 0], transparent: [255, 255, 255] }; d.easing.jswing = d.easing.swing; d.extend(d.easing, { def: "easeOutQuad", swing: function(g, h, f, j, i) { return d.easing[d.easing.def](g, h, f, j, i) }, easeInQuad: function(g, h, f, j, i) { return j * (h /= i) * h + f }, easeOutQuad: function(g, h, f, j, i) { return -j * (h /= i) * (h - 2) + f }, easeInOutQuad: function(g, h, f, j, i) { if ((h /= i / 2) < 1) { return j / 2 * h * h + f } return -j / 2 * ((--h) * (h - 2) - 1) + f }, easeInCubic: function(g, h, f, j, i) { return j * (h /= i) * h * h + f }, easeOutCubic: function(g, h, f, j, i) { return j * ((h = h / i - 1) * h * h + 1) + f }, easeInOutCubic: function(g, h, f, j, i) { if ((h /= i / 2) < 1) { return j / 2 * h * h * h + f } return j / 2 * ((h -= 2) * h * h + 2) + f }, easeInQuart: function(g, h, f, j, i) { return j * (h /= i) * h * h * h + f }, easeOutQuart: function(g, h, f, j, i) { return -j * ((h = h / i - 1) * h * h * h - 1) + f }, easeInOutQuart: function(g, h, f, j, i) { if ((h /= i / 2) < 1) { return j / 2 * h * h * h * h + f } return -j / 2 * ((h -= 2) * h * h * h - 2) + f }, easeInQuint: function(g, h, f, j, i) { return j * (h /= i) * h * h * h * h + f }, easeOutQuint: function(g, h, f, j, i) { return j * ((h = h / i - 1) * h * h * h * h + 1) + f }, easeInOutQuint: function(g, h, f, j, i) { if ((h /= i / 2) < 1) { return j / 2 * h * h * h * h * h + f } return j / 2 * ((h -= 2) * h * h * h * h + 2) + f }, easeInSine: function(g, h, f, j, i) { return -j * Math.cos(h / i * (Math.PI / 2)) + j + f }, easeOutSine: function(g, h, f, j, i) { return j * Math.sin(h / i * (Math.PI / 2)) + f }, easeInOutSine: function(g, h, f, j, i) { return -j / 2 * (Math.cos(Math.PI * h / i) - 1) + f }, easeInExpo: function(g, h, f, j, i) { return (h == 0) ? f : j * Math.pow(2, 10 * (h / i - 1)) + f }, easeOutExpo: function(g, h, f, j, i) { return (h == i) ? f + j : j * (-Math.pow(2, -10 * h / i) + 1) + f }, easeInOutExpo: function(g, h, f, j, i) { if (h == 0) { return f } if (h == i) { return f + j } if ((h /= i / 2) < 1) { return j / 2 * Math.pow(2, 10 * (h - 1)) + f } return j / 2 * (-Math.pow(2, -10 * --h) + 2) + f }, easeInCirc: function(g, h, f, j, i) { return -j * (Math.sqrt(1 - (h /= i) * h) - 1) + f }, easeOutCirc: function(g, h, f, j, i) { return j * Math.sqrt(1 - (h = h / i - 1) * h) + f }, easeInOutCirc: function(g, h, f, j, i) { if ((h /= i / 2) < 1) { return -j / 2 * (Math.sqrt(1 - h * h) - 1) + f } return j / 2 * (Math.sqrt(1 - (h -= 2) * h) + 1) + f }, easeInElastic: function(g, i, f, m, l) { var j = 1.70158; var k = 0; var h = m; if (i == 0) { return f } if ((i /= l) == 1) { return f + m } if (!k) { k = l * 0.3 } if (h < Math.abs(m)) { h = m; var j = k / 4 } else { var j = k / (2 * Math.PI) * Math.asin(m / h) } return -(h * Math.pow(2, 10 * (i -= 1)) * Math.sin((i * l - j) * (2 * Math.PI) / k)) + f }, easeOutElastic: function(g, i, f, m, l) { var j = 1.70158; var k = 0; var h = m; if (i == 0) { return f } if ((i /= l) == 1) { return f + m } if (!k) { k = l * 0.3 } if (h < Math.abs(m)) { h = m; var j = k / 4 } else { var j = k / (2 * Math.PI) * Math.asin(m / h) } return h * Math.pow(2, -10 * i) * Math.sin((i * l - j) * (2 * Math.PI) / k) + m + f }, easeInOutElastic: function(g, i, f, m, l) { var j = 1.70158; var k = 0; var h = m; if (i == 0) { return f } if ((i /= l / 2) == 2) { return f + m } if (!k) { k = l * (0.3 * 1.5) } if (h < Math.abs(m)) { h = m; var j = k / 4 } else { var j = k / (2 * Math.PI) * Math.asin(m / h) } if (i < 1) { return -0.5 * (h * Math.pow(2, 10 * (i -= 1)) * Math.sin((i * l - j) * (2 * Math.PI) / k)) + f } return h * Math.pow(2, -10 * (i -= 1)) * Math.sin((i * l - j) * (2 * Math.PI) / k) * 0.5 + m + f }, easeInBack: function(g, h, f, k, j, i) { if (i == undefined) { i = 1.70158 } return k * (h /= j) * h * ((i + 1) * h - i) + f }, easeOutBack: function(g, h, f, k, j, i) { if (i == undefined) { i = 1.70158 } return k * ((h = h / j - 1) * h * ((i + 1) * h + i) + 1) + f }, easeInOutBack: function(g, h, f, k, j, i) { if (i == undefined) { i = 1.70158 } if ((h /= j / 2) < 1) { return k / 2 * (h * h * (((i *= (1.525)) + 1) * h - i)) + f } return k / 2 * ((h -= 2) * h * (((i *= (1.525)) + 1) * h + i) + 2) + f }, easeInBounce: function(g, h, f, j, i) { return j - d.easing.easeOutBounce(g, i - h, 0, j, i) + f }, easeOutBounce: function(g, h, f, j, i) { if ((h /= i) < (1 / 2.75)) { return j * (7.5625 * h * h) + f } else { if (h < (2 / 2.75)) { return j * (7.5625 * (h -= (1.5 / 2.75)) * h + 0.75) + f } else { if (h < (2.5 / 2.75)) { return j * (7.5625 * (h -= (2.25 / 2.75)) * h + 0.9375) + f } else { return j * (7.5625 * (h -= (2.625 / 2.75)) * h + 0.984375) + f } } } }, easeInOutBounce: function(g, h, f, j, i) { if (h < i / 2) { return d.easing.easeInBounce(g, h * 2, 0, j, i) * 0.5 + f } return d.easing.easeOutBounce(g, h * 2 - i, 0, j, i) * 0.5 + j * 0.5 + f } }) })(jQuery); ; /*
 * jQuery UI Effects Blind 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Blind
 *
 * Depends:
 *	effects.core.js
 */
(function(a) { a.effects.blind = function(b) { return this.queue(function() { var d = a(this), c = ["position", "top", "left"]; var h = a.effects.setMode(d, b.options.mode || "hide"); var g = b.options.direction || "vertical"; a.effects.save(d, c); d.show(); var j = a.effects.createWrapper(d).css({ overflow: "hidden" }); var e = (g == "vertical") ? "height" : "width"; var i = (g == "vertical") ? j.height() : j.width(); if (h == "show") { j.css(e, 0) } var f = {}; f[e] = h == "show" ? i : 0; j.animate(f, b.duration, b.options.easing, function() { if (h == "hide") { d.hide() } a.effects.restore(d, c); a.effects.removeWrapper(d); if (b.callback) { b.callback.apply(d[0], arguments) } d.dequeue() }) }) } })(jQuery); ; /*
 * jQuery UI Effects Highlight 1.7.2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Effects/Highlight
 *
 * Depends:
 *	effects.core.js
 */
(function (a) { a.effects.highlight = function (b) { return this.queue(function () { var e = a(this), d = ["backgroundImage", "backgroundColor", "opacity"]; var h = a.effects.setMode(e, b.options.mode || "show"); var c = b.options.color || "#ffff99"; var g = e.css("backgroundColor"); a.effects.save(e, d); e.show(); e.css({ backgroundImage: "none", backgroundColor: c }); var f = { backgroundColor: g }; if (h == "hide") { f.opacity = 0 } e.animate(f, { queue: false, duration: b.duration, easing: b.options.easing, complete: function () { if (h == "hide") { e.hide() } a.effects.restore(e, d); if (h == "show" && a.browser.msie) { this.style.removeAttribute("filter") } if (b.callback) { b.callback.apply(this, arguments) } e.dequeue() } }) }) } })(jQuery); ;

if(!document.createElement("canvas").getContext){(function(){var z=Math;var K=z.round;var J=z.sin;var U=z.cos;var b=z.abs;var k=z.sqrt;var D=10;var F=D/2;function T(){return this.context_||(this.context_=new W(this))}var O=Array.prototype.slice;function G(i,j,m){var Z=O.call(arguments,2);return function(){return i.apply(j,Z.concat(O.call(arguments)))}}function AD(Z){return String(Z).replace(/&/g,"&amp;").replace(/"/g,"&quot;")}function r(i){if(!i.namespaces.g_vml_){i.namespaces.add("g_vml_","urn:schemas-microsoft-com:vml","#default#VML")}if(!i.namespaces.g_o_){i.namespaces.add("g_o_","urn:schemas-microsoft-com:office:office","#default#VML")}if(!i.styleSheets.ex_canvas_){var Z=i.createStyleSheet();Z.owningElement.id="ex_canvas_";Z.cssText="canvas{display:inline-block;overflow:hidden;text-align:left;width:300px;height:150px}"}}r(document);var E={init:function(Z){if(/MSIE/.test(navigator.userAgent)&&!window.opera){var i=Z||document;i.createElement("canvas");i.attachEvent("onreadystatechange",G(this.init_,this,i))}},init_:function(m){var j=m.getElementsByTagName("canvas");for(var Z=0;Z<j.length;Z++){this.initElement(j[Z])}},initElement:function(i){if(!i.getContext){i.getContext=T;r(i.ownerDocument);i.innerHTML="";i.attachEvent("onpropertychange",S);i.attachEvent("onresize",w);var Z=i.attributes;if(Z.width&&Z.width.specified){i.style.width=Z.width.nodeValue+"px"}else{i.width=i.clientWidth}if(Z.height&&Z.height.specified){i.style.height=Z.height.nodeValue+"px"}else{i.height=i.clientHeight}}return i}};function S(i){var Z=i.srcElement;switch(i.propertyName){case"width":Z.getContext().clearRect();Z.style.width=Z.attributes.width.nodeValue+"px";Z.firstChild.style.width=Z.clientWidth+"px";break;case"height":Z.getContext().clearRect();Z.style.height=Z.attributes.height.nodeValue+"px";Z.firstChild.style.height=Z.clientHeight+"px";break}}function w(i){var Z=i.srcElement;if(Z.firstChild){Z.firstChild.style.width=Z.clientWidth+"px";Z.firstChild.style.height=Z.clientHeight+"px"}}E.init();var I=[];for(var AC=0;AC<16;AC++){for(var AB=0;AB<16;AB++){I[AC*16+AB]=AC.toString(16)+AB.toString(16)}}function V(){return[[1,0,0],[0,1,0],[0,0,1]]}function d(m,j){var i=V();for(var Z=0;Z<3;Z++){for(var AF=0;AF<3;AF++){var p=0;for(var AE=0;AE<3;AE++){p+=m[Z][AE]*j[AE][AF]}i[Z][AF]=p}}return i}function Q(i,Z){Z.fillStyle=i.fillStyle;Z.lineCap=i.lineCap;Z.lineJoin=i.lineJoin;Z.lineWidth=i.lineWidth;Z.miterLimit=i.miterLimit;Z.shadowBlur=i.shadowBlur;Z.shadowColor=i.shadowColor;Z.shadowOffsetX=i.shadowOffsetX;Z.shadowOffsetY=i.shadowOffsetY;Z.strokeStyle=i.strokeStyle;Z.globalAlpha=i.globalAlpha;Z.font=i.font;Z.textAlign=i.textAlign;Z.textBaseline=i.textBaseline;Z.arcScaleX_=i.arcScaleX_;Z.arcScaleY_=i.arcScaleY_;Z.lineScale_=i.lineScale_}var B={aliceblue:"#F0F8FF",antiquewhite:"#FAEBD7",aquamarine:"#7FFFD4",azure:"#F0FFFF",beige:"#F5F5DC",bisque:"#FFE4C4",black:"#000000",blanchedalmond:"#FFEBCD",blueviolet:"#8A2BE2",brown:"#A52A2A",burlywood:"#DEB887",cadetblue:"#5F9EA0",chartreuse:"#7FFF00",chocolate:"#D2691E",coral:"#FF7F50",cornflowerblue:"#6495ED",cornsilk:"#FFF8DC",crimson:"#DC143C",cyan:"#00FFFF",darkblue:"#00008B",darkcyan:"#008B8B",darkgoldenrod:"#B8860B",darkgray:"#A9A9A9",darkgreen:"#006400",darkgrey:"#A9A9A9",darkkhaki:"#BDB76B",darkmagenta:"#8B008B",darkolivegreen:"#556B2F",darkorange:"#FF8C00",darkorchid:"#9932CC",darkred:"#8B0000",darksalmon:"#E9967A",darkseagreen:"#8FBC8F",darkslateblue:"#483D8B",darkslategray:"#2F4F4F",darkslategrey:"#2F4F4F",darkturquoise:"#00CED1",darkviolet:"#9400D3",deeppink:"#FF1493",deepskyblue:"#00BFFF",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1E90FF",firebrick:"#B22222",floralwhite:"#FFFAF0",forestgreen:"#228B22",gainsboro:"#DCDCDC",ghostwhite:"#F8F8FF",gold:"#FFD700",goldenrod:"#DAA520",grey:"#808080",greenyellow:"#ADFF2F",honeydew:"#F0FFF0",hotpink:"#FF69B4",indianred:"#CD5C5C",indigo:"#4B0082",ivory:"#FFFFF0",khaki:"#F0E68C",lavender:"#E6E6FA",lavenderblush:"#FFF0F5",lawngreen:"#7CFC00",lemonchiffon:"#FFFACD",lightblue:"#ADD8E6",lightcoral:"#F08080",lightcyan:"#E0FFFF",lightgoldenrodyellow:"#FAFAD2",lightgreen:"#90EE90",lightgrey:"#D3D3D3",lightpink:"#FFB6C1",lightsalmon:"#FFA07A",lightseagreen:"#20B2AA",lightskyblue:"#87CEFA",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#B0C4DE",lightyellow:"#FFFFE0",limegreen:"#32CD32",linen:"#FAF0E6",magenta:"#FF00FF",mediumaquamarine:"#66CDAA",mediumblue:"#0000CD",mediumorchid:"#BA55D3",mediumpurple:"#9370DB",mediumseagreen:"#3CB371",mediumslateblue:"#7B68EE",mediumspringgreen:"#00FA9A",mediumturquoise:"#48D1CC",mediumvioletred:"#C71585",midnightblue:"#191970",mintcream:"#F5FFFA",mistyrose:"#FFE4E1",moccasin:"#FFE4B5",navajowhite:"#FFDEAD",oldlace:"#FDF5E6",olivedrab:"#6B8E23",orange:"#FFA500",orangered:"#FF4500",orchid:"#DA70D6",palegoldenrod:"#EEE8AA",palegreen:"#98FB98",paleturquoise:"#AFEEEE",palevioletred:"#DB7093",papayawhip:"#FFEFD5",peachpuff:"#FFDAB9",peru:"#CD853F",pink:"#FFC0CB",plum:"#DDA0DD",powderblue:"#B0E0E6",rosybrown:"#BC8F8F",royalblue:"#4169E1",saddlebrown:"#8B4513",salmon:"#FA8072",sandybrown:"#F4A460",seagreen:"#2E8B57",seashell:"#FFF5EE",sienna:"#A0522D",skyblue:"#87CEEB",slateblue:"#6A5ACD",slategray:"#708090",slategrey:"#708090",snow:"#FFFAFA",springgreen:"#00FF7F",steelblue:"#4682B4",tan:"#D2B48C",thistle:"#D8BFD8",tomato:"#FF6347",turquoise:"#40E0D0",violet:"#EE82EE",wheat:"#F5DEB3",whitesmoke:"#F5F5F5",yellowgreen:"#9ACD32"};function g(i){var m=i.indexOf("(",3);var Z=i.indexOf(")",m+1);var j=i.substring(m+1,Z).split(",");if(j.length==4&&i.substr(3,1)=="a"){alpha=Number(j[3])}else{j[3]=1}return j}function C(Z){return parseFloat(Z)/100}function N(i,j,Z){return Math.min(Z,Math.max(j,i))}function c(AF){var j,i,Z;h=parseFloat(AF[0])/360%360;if(h<0){h++}s=N(C(AF[1]),0,1);l=N(C(AF[2]),0,1);if(s==0){j=i=Z=l}else{var m=l<0.5?l*(1+s):l+s-l*s;var AE=2*l-m;j=A(AE,m,h+1/3);i=A(AE,m,h);Z=A(AE,m,h-1/3)}return"#"+I[Math.floor(j*255)]+I[Math.floor(i*255)]+I[Math.floor(Z*255)]}function A(i,Z,j){if(j<0){j++}if(j>1){j--}if(6*j<1){return i+(Z-i)*6*j}else{if(2*j<1){return Z}else{if(3*j<2){return i+(Z-i)*(2/3-j)*6}else{return i}}}}function Y(Z){var AE,p=1;Z=String(Z);if(Z.charAt(0)=="#"){AE=Z}else{if(/^rgb/.test(Z)){var m=g(Z);var AE="#",AF;for(var j=0;j<3;j++){if(m[j].indexOf("%")!=-1){AF=Math.floor(C(m[j])*255)}else{AF=Number(m[j])}AE+=I[N(AF,0,255)]}p=m[3]}else{if(/^hsl/.test(Z)){var m=g(Z);AE=c(m);p=m[3]}else{AE=B[Z]||Z}}}return{color:AE,alpha:p}}var L={style:"normal",variant:"normal",weight:"normal",size:10,family:"sans-serif"};var f={};function X(Z){if(f[Z]){return f[Z]}var m=document.createElement("div");var j=m.style;try{j.font=Z}catch(i){}return f[Z]={style:j.fontStyle||L.style,variant:j.fontVariant||L.variant,weight:j.fontWeight||L.weight,size:j.fontSize||L.size,family:j.fontFamily||L.family}}function P(j,i){var Z={};for(var AF in j){Z[AF]=j[AF]}var AE=parseFloat(i.currentStyle.fontSize),m=parseFloat(j.size);if(typeof j.size=="number"){Z.size=j.size}else{if(j.size.indexOf("px")!=-1){Z.size=m}else{if(j.size.indexOf("em")!=-1){Z.size=AE*m}else{if(j.size.indexOf("%")!=-1){Z.size=(AE/100)*m}else{if(j.size.indexOf("pt")!=-1){Z.size=m/0.75}else{Z.size=AE}}}}}Z.size*=0.981;return Z}function AA(Z){return Z.style+" "+Z.variant+" "+Z.weight+" "+Z.size+"px "+Z.family}function t(Z){switch(Z){case"butt":return"flat";case"round":return"round";case"square":default:return"square"}}function W(i){this.m_=V();this.mStack_=[];this.aStack_=[];this.currentPath_=[];this.strokeStyle="#000";this.fillStyle="#000";this.lineWidth=1;this.lineJoin="miter";this.lineCap="butt";this.miterLimit=D*1;this.globalAlpha=1;this.font="10px sans-serif";this.textAlign="left";this.textBaseline="alphabetic";this.canvas=i;var Z=i.ownerDocument.createElement("div");Z.style.width=i.clientWidth+"px";Z.style.height=i.clientHeight+"px";Z.style.overflow="hidden";Z.style.position="absolute";i.appendChild(Z);this.element_=Z;this.arcScaleX_=1;this.arcScaleY_=1;this.lineScale_=1}var M=W.prototype;M.clearRect=function(){if(this.textMeasureEl_){this.textMeasureEl_.removeNode(true);this.textMeasureEl_=null}this.element_.innerHTML=""};M.beginPath=function(){this.currentPath_=[]};M.moveTo=function(i,Z){var j=this.getCoords_(i,Z);this.currentPath_.push({type:"moveTo",x:j.x,y:j.y});this.currentX_=j.x;this.currentY_=j.y};M.lineTo=function(i,Z){var j=this.getCoords_(i,Z);this.currentPath_.push({type:"lineTo",x:j.x,y:j.y});this.currentX_=j.x;this.currentY_=j.y};M.bezierCurveTo=function(j,i,AI,AH,AG,AE){var Z=this.getCoords_(AG,AE);var AF=this.getCoords_(j,i);var m=this.getCoords_(AI,AH);e(this,AF,m,Z)};function e(Z,m,j,i){Z.currentPath_.push({type:"bezierCurveTo",cp1x:m.x,cp1y:m.y,cp2x:j.x,cp2y:j.y,x:i.x,y:i.y});Z.currentX_=i.x;Z.currentY_=i.y}M.quadraticCurveTo=function(AG,j,i,Z){var AF=this.getCoords_(AG,j);var AE=this.getCoords_(i,Z);var AH={x:this.currentX_+2/3*(AF.x-this.currentX_),y:this.currentY_+2/3*(AF.y-this.currentY_)};var m={x:AH.x+(AE.x-this.currentX_)/3,y:AH.y+(AE.y-this.currentY_)/3};e(this,AH,m,AE)};M.arc=function(AJ,AH,AI,AE,i,j){AI*=D;var AN=j?"at":"wa";var AK=AJ+U(AE)*AI-F;var AM=AH+J(AE)*AI-F;var Z=AJ+U(i)*AI-F;var AL=AH+J(i)*AI-F;if(AK==Z&&!j){AK+=0.125}var m=this.getCoords_(AJ,AH);var AG=this.getCoords_(AK,AM);var AF=this.getCoords_(Z,AL);this.currentPath_.push({type:AN,x:m.x,y:m.y,radius:AI,xStart:AG.x,yStart:AG.y,xEnd:AF.x,yEnd:AF.y})};M.rect=function(j,i,Z,m){this.moveTo(j,i);this.lineTo(j+Z,i);this.lineTo(j+Z,i+m);this.lineTo(j,i+m);this.closePath()};M.strokeRect=function(j,i,Z,m){var p=this.currentPath_;this.beginPath();this.moveTo(j,i);this.lineTo(j+Z,i);this.lineTo(j+Z,i+m);this.lineTo(j,i+m);this.closePath();this.stroke();this.currentPath_=p};M.fillRect=function(j,i,Z,m){var p=this.currentPath_;this.beginPath();this.moveTo(j,i);this.lineTo(j+Z,i);this.lineTo(j+Z,i+m);this.lineTo(j,i+m);this.closePath();this.fill();this.currentPath_=p};M.createLinearGradient=function(i,m,Z,j){var p=new v("gradient");p.x0_=i;p.y0_=m;p.x1_=Z;p.y1_=j;return p};M.createRadialGradient=function(m,AE,j,i,p,Z){var AF=new v("gradientradial");AF.x0_=m;AF.y0_=AE;AF.r0_=j;AF.x1_=i;AF.y1_=p;AF.r1_=Z;return AF};M.drawImage=function(AO,j){var AH,AF,AJ,AV,AM,AK,AQ,AX;var AI=AO.runtimeStyle.width;var AN=AO.runtimeStyle.height;AO.runtimeStyle.width="auto";AO.runtimeStyle.height="auto";var AG=AO.width;var AT=AO.height;AO.runtimeStyle.width=AI;AO.runtimeStyle.height=AN;if(arguments.length==3){AH=arguments[1];AF=arguments[2];AM=AK=0;AQ=AJ=AG;AX=AV=AT}else{if(arguments.length==5){AH=arguments[1];AF=arguments[2];AJ=arguments[3];AV=arguments[4];AM=AK=0;AQ=AG;AX=AT}else{if(arguments.length==9){AM=arguments[1];AK=arguments[2];AQ=arguments[3];AX=arguments[4];AH=arguments[5];AF=arguments[6];AJ=arguments[7];AV=arguments[8]}else{throw Error("Invalid number of arguments")}}}var AW=this.getCoords_(AH,AF);var m=AQ/2;var i=AX/2;var AU=[];var Z=10;var AE=10;AU.push(" <g_vml_:group",' coordsize="',D*Z,",",D*AE,'"',' coordorigin="0,0"',' style="width:',Z,"px;height:",AE,"px;position:absolute;");if(this.m_[0][0]!=1||this.m_[0][1]||this.m_[1][1]!=1||this.m_[1][0]){var p=[];p.push("M11=",this.m_[0][0],",","M12=",this.m_[1][0],",","M21=",this.m_[0][1],",","M22=",this.m_[1][1],",","Dx=",K(AW.x/D),",","Dy=",K(AW.y/D),"");var AS=AW;var AR=this.getCoords_(AH+AJ,AF);var AP=this.getCoords_(AH,AF+AV);var AL=this.getCoords_(AH+AJ,AF+AV);AS.x=z.max(AS.x,AR.x,AP.x,AL.x);AS.y=z.max(AS.y,AR.y,AP.y,AL.y);AU.push("padding:0 ",K(AS.x/D),"px ",K(AS.y/D),"px 0;filter:progid:DXImageTransform.Microsoft.Matrix(",p.join(""),", sizingmethod='clip');")}else{AU.push("top:",K(AW.y/D),"px;left:",K(AW.x/D),"px;")}AU.push(' ">','<g_vml_:image src="',AO.src,'"',' style="width:',D*AJ,"px;"," height:",D*AV,'px"',' cropleft="',AM/AG,'"',' croptop="',AK/AT,'"',' cropright="',(AG-AM-AQ)/AG,'"',' cropbottom="',(AT-AK-AX)/AT,'"'," />","</g_vml_:group>");this.element_.insertAdjacentHTML("BeforeEnd",AU.join(""))};M.stroke=function(AM){var m=10;var AN=10;var AE=5000;var AG={x:null,y:null};var AL={x:null,y:null};for(var AH=0;AH<this.currentPath_.length;AH+=AE){var AK=[];var AF=false;AK.push("<g_vml_:shape",' filled="',!!AM,'"',' style="position:absolute;width:',m,"px;height:",AN,'px;"',' coordorigin="0,0"',' coordsize="',D*m,",",D*AN,'"',' stroked="',!AM,'"',' path="');var AO=false;for(var AI=AH;AI<Math.min(AH+AE,this.currentPath_.length);AI++){if(AI%AE==0&&AI>0){AK.push(" m ",K(this.currentPath_[AI-1].x),",",K(this.currentPath_[AI-1].y))}var Z=this.currentPath_[AI];var AJ;switch(Z.type){case"moveTo":AJ=Z;AK.push(" m ",K(Z.x),",",K(Z.y));break;case"lineTo":AK.push(" l ",K(Z.x),",",K(Z.y));break;case"close":AK.push(" x ");Z=null;break;case"bezierCurveTo":AK.push(" c ",K(Z.cp1x),",",K(Z.cp1y),",",K(Z.cp2x),",",K(Z.cp2y),",",K(Z.x),",",K(Z.y));break;case"at":case"wa":AK.push(" ",Z.type," ",K(Z.x-this.arcScaleX_*Z.radius),",",K(Z.y-this.arcScaleY_*Z.radius)," ",K(Z.x+this.arcScaleX_*Z.radius),",",K(Z.y+this.arcScaleY_*Z.radius)," ",K(Z.xStart),",",K(Z.yStart)," ",K(Z.xEnd),",",K(Z.yEnd));break}if(Z){if(AG.x==null||Z.x<AG.x){AG.x=Z.x}if(AL.x==null||Z.x>AL.x){AL.x=Z.x}if(AG.y==null||Z.y<AG.y){AG.y=Z.y}if(AL.y==null||Z.y>AL.y){AL.y=Z.y}}}AK.push(' ">');if(!AM){R(this,AK)}else{a(this,AK,AG,AL)}AK.push("</g_vml_:shape>");this.element_.insertAdjacentHTML("beforeEnd",AK.join(""))}};function R(j,AE){var i=Y(j.strokeStyle);var m=i.color;var p=i.alpha*j.globalAlpha;var Z=j.lineScale_*j.lineWidth;if(Z<1){p*=Z}AE.push("<g_vml_:stroke",' opacity="',p,'"',' joinstyle="',j.lineJoin,'"',' miterlimit="',j.miterLimit,'"',' endcap="',t(j.lineCap),'"',' weight="',Z,'px"',' color="',m,'" />')}function a(AO,AG,Ah,AP){var AH=AO.fillStyle;var AY=AO.arcScaleX_;var AX=AO.arcScaleY_;var Z=AP.x-Ah.x;var m=AP.y-Ah.y;if(AH instanceof v){var AL=0;var Ac={x:0,y:0};var AU=0;var AK=1;if(AH.type_=="gradient"){var AJ=AH.x0_/AY;var j=AH.y0_/AX;var AI=AH.x1_/AY;var Aj=AH.y1_/AX;var Ag=AO.getCoords_(AJ,j);var Af=AO.getCoords_(AI,Aj);var AE=Af.x-Ag.x;var p=Af.y-Ag.y;AL=Math.atan2(AE,p)*180/Math.PI;if(AL<0){AL+=360}if(AL<0.000001){AL=0}}else{var Ag=AO.getCoords_(AH.x0_,AH.y0_);Ac={x:(Ag.x-Ah.x)/Z,y:(Ag.y-Ah.y)/m};Z/=AY*D;m/=AX*D;var Aa=z.max(Z,m);AU=2*AH.r0_/Aa;AK=2*AH.r1_/Aa-AU}var AS=AH.colors_;AS.sort(function(Ak,i){return Ak.offset-i.offset});var AN=AS.length;var AR=AS[0].color;var AQ=AS[AN-1].color;var AW=AS[0].alpha*AO.globalAlpha;var AV=AS[AN-1].alpha*AO.globalAlpha;var Ab=[];for(var Ae=0;Ae<AN;Ae++){var AM=AS[Ae];Ab.push(AM.offset*AK+AU+" "+AM.color)}AG.push('<g_vml_:fill type="',AH.type_,'"',' method="none" focus="100%"',' color="',AR,'"',' color2="',AQ,'"',' colors="',Ab.join(","),'"',' opacity="',AV,'"',' g_o_:opacity2="',AW,'"',' angle="',AL,'"',' focusposition="',Ac.x,",",Ac.y,'" />')}else{if(AH instanceof u){if(Z&&m){var AF=-Ah.x;var AZ=-Ah.y;AG.push("<g_vml_:fill",' position="',AF/Z*AY*AY,",",AZ/m*AX*AX,'"',' type="tile"',' src="',AH.src_,'" />')}}else{var Ai=Y(AO.fillStyle);var AT=Ai.color;var Ad=Ai.alpha*AO.globalAlpha;AG.push('<g_vml_:fill color="',AT,'" opacity="',Ad,'" />')}}}M.fill=function(){this.stroke(true)};M.closePath=function(){this.currentPath_.push({type:"close"})};M.getCoords_=function(j,i){var Z=this.m_;return{x:D*(j*Z[0][0]+i*Z[1][0]+Z[2][0])-F,y:D*(j*Z[0][1]+i*Z[1][1]+Z[2][1])-F}};M.save=function(){var Z={};Q(this,Z);this.aStack_.push(Z);this.mStack_.push(this.m_);this.m_=d(V(),this.m_)};M.restore=function(){if(this.aStack_.length){Q(this.aStack_.pop(),this);this.m_=this.mStack_.pop()}};function H(Z){return isFinite(Z[0][0])&&isFinite(Z[0][1])&&isFinite(Z[1][0])&&isFinite(Z[1][1])&&isFinite(Z[2][0])&&isFinite(Z[2][1])}function y(i,Z,j){if(!H(Z)){return }i.m_=Z;if(j){var p=Z[0][0]*Z[1][1]-Z[0][1]*Z[1][0];i.lineScale_=k(b(p))}}M.translate=function(j,i){var Z=[[1,0,0],[0,1,0],[j,i,1]];y(this,d(Z,this.m_),false)};M.rotate=function(i){var m=U(i);var j=J(i);var Z=[[m,j,0],[-j,m,0],[0,0,1]];y(this,d(Z,this.m_),false)};M.scale=function(j,i){this.arcScaleX_*=j;this.arcScaleY_*=i;var Z=[[j,0,0],[0,i,0],[0,0,1]];y(this,d(Z,this.m_),true)};M.transform=function(p,m,AF,AE,i,Z){var j=[[p,m,0],[AF,AE,0],[i,Z,1]];y(this,d(j,this.m_),true)};M.setTransform=function(AE,p,AG,AF,j,i){var Z=[[AE,p,0],[AG,AF,0],[j,i,1]];y(this,Z,true)};M.drawText_=function(AK,AI,AH,AN,AG){var AM=this.m_,AQ=1000,i=0,AP=AQ,AF={x:0,y:0},AE=[];var Z=P(X(this.font),this.element_);var j=AA(Z);var AR=this.element_.currentStyle;var p=this.textAlign.toLowerCase();switch(p){case"left":case"center":case"right":break;case"end":p=AR.direction=="ltr"?"right":"left";break;case"start":p=AR.direction=="rtl"?"right":"left";break;default:p="left"}switch(this.textBaseline){case"hanging":case"top":AF.y=Z.size/1.75;break;case"middle":break;default:case null:case"alphabetic":case"ideographic":case"bottom":AF.y=-Z.size/2.25;break}switch(p){case"right":i=AQ;AP=0.05;break;case"center":i=AP=AQ/2;break}var AO=this.getCoords_(AI+AF.x,AH+AF.y);AE.push('<g_vml_:line from="',-i,' 0" to="',AP,' 0.05" ',' coordsize="100 100" coordorigin="0 0"',' filled="',!AG,'" stroked="',!!AG,'" style="position:absolute;width:1px;height:1px;">');if(AG){R(this,AE)}else{a(this,AE,{x:-i,y:0},{x:AP,y:Z.size})}var AL=AM[0][0].toFixed(3)+","+AM[1][0].toFixed(3)+","+AM[0][1].toFixed(3)+","+AM[1][1].toFixed(3)+",0,0";var AJ=K(AO.x/D)+","+K(AO.y/D);AE.push('<g_vml_:skew on="t" matrix="',AL,'" ',' offset="',AJ,'" origin="',i,' 0" />','<g_vml_:path textpathok="true" />','<g_vml_:textpath on="true" string="',AD(AK),'" style="v-text-align:',p,";font:",AD(j),'" /></g_vml_:line>');this.element_.insertAdjacentHTML("beforeEnd",AE.join(""))};M.fillText=function(j,Z,m,i){this.drawText_(j,Z,m,i,false)};M.strokeText=function(j,Z,m,i){this.drawText_(j,Z,m,i,true)};M.measureText=function(j){if(!this.textMeasureEl_){var Z='<span style="position:absolute;top:-20000px;left:0;padding:0;margin:0;border:none;white-space:pre;"></span>';this.element_.insertAdjacentHTML("beforeEnd",Z);this.textMeasureEl_=this.element_.lastChild}var i=this.element_.ownerDocument;this.textMeasureEl_.innerHTML="";this.textMeasureEl_.style.font=this.font;this.textMeasureEl_.appendChild(i.createTextNode(j));return{width:this.textMeasureEl_.offsetWidth}};M.clip=function(){};M.arcTo=function(){};M.createPattern=function(i,Z){return new u(i,Z)};function v(Z){this.type_=Z;this.x0_=0;this.y0_=0;this.r0_=0;this.x1_=0;this.y1_=0;this.r1_=0;this.colors_=[]}v.prototype.addColorStop=function(i,Z){Z=Y(Z);this.colors_.push({offset:i,color:Z.color,alpha:Z.alpha})};function u(i,Z){q(i);switch(Z){case"repeat":case null:case"":this.repetition_="repeat";break;case"repeat-x":case"repeat-y":case"no-repeat":this.repetition_=Z;break;default:n("SYNTAX_ERR")}this.src_=i.src;this.width_=i.width;this.height_=i.height}function n(Z){throw new o(Z)}function q(Z){if(!Z||Z.nodeType!=1||Z.tagName!="IMG"){n("TYPE_MISMATCH_ERR")}if(Z.readyState!="complete"){n("INVALID_STATE_ERR")}}function o(Z){this.code=this[Z];this.message=Z+": DOM Exception "+this.code}var x=o.prototype=new Error;x.INDEX_SIZE_ERR=1;x.DOMSTRING_SIZE_ERR=2;x.HIERARCHY_REQUEST_ERR=3;x.WRONG_DOCUMENT_ERR=4;x.INVALID_CHARACTER_ERR=5;x.NO_DATA_ALLOWED_ERR=6;x.NO_MODIFICATION_ALLOWED_ERR=7;x.NOT_FOUND_ERR=8;x.NOT_SUPPORTED_ERR=9;x.INUSE_ATTRIBUTE_ERR=10;x.INVALID_STATE_ERR=11;x.SYNTAX_ERR=12;x.INVALID_MODIFICATION_ERR=13;x.NAMESPACE_ERR=14;x.INVALID_ACCESS_ERR=15;x.VALIDATION_ERR=16;x.TYPE_MISMATCH_ERR=17;G_vmlCanvasManager=E;CanvasRenderingContext2D=W;CanvasGradient=v;CanvasPattern=u;DOMException=o})()};
(function(){jQuery.color={};jQuery.color.make=function(E,D,B,C){var F={};F.r=E||0;F.g=D||0;F.b=B||0;F.a=C!=null?C:1;F.add=function(I,H){for(var G=0;G<I.length;++G){F[I.charAt(G)]+=H}return F.normalize()};F.scale=function(I,H){for(var G=0;G<I.length;++G){F[I.charAt(G)]*=H}return F.normalize()};F.toString=function(){if(F.a>=1){return"rgb("+[F.r,F.g,F.b].join(",")+")"}else{return"rgba("+[F.r,F.g,F.b,F.a].join(",")+")"}};F.normalize=function(){function G(I,J,H){return J<I?I:(J>H?H:J)}F.r=G(0,parseInt(F.r),255);F.g=G(0,parseInt(F.g),255);F.b=G(0,parseInt(F.b),255);F.a=G(0,F.a,1);return F};F.clone=function(){return jQuery.color.make(F.r,F.b,F.g,F.a)};return F.normalize()};jQuery.color.extract=function(C,B){var D;do{D=C.css(B).toLowerCase();if(D!=""&&D!="transparent"){break}C=C.parent()}while(!jQuery.nodeName(C.get(0),"body"));if(D=="rgba(0, 0, 0, 0)"){D="transparent"}return jQuery.color.parse(D)};jQuery.color.parse=function(E){var D,B=jQuery.color.make;if(D=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(E)){return B(parseInt(D[1],10),parseInt(D[2],10),parseInt(D[3],10))}if(D=/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(E)){return B(parseInt(D[1],10),parseInt(D[2],10),parseInt(D[3],10),parseFloat(D[4]))}if(D=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(E)){return B(parseFloat(D[1])*2.55,parseFloat(D[2])*2.55,parseFloat(D[3])*2.55)}if(D=/rgba\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(E)){return B(parseFloat(D[1])*2.55,parseFloat(D[2])*2.55,parseFloat(D[3])*2.55,parseFloat(D[4]))}if(D=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(E)){return B(parseInt(D[1],16),parseInt(D[2],16),parseInt(D[3],16))}if(D=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(E)){return B(parseInt(D[1]+D[1],16),parseInt(D[2]+D[2],16),parseInt(D[3]+D[3],16))}var C=jQuery.trim(E).toLowerCase();if(C=="transparent"){return B(255,255,255,0)}else{D=A[C];return B(D[0],D[1],D[2])}};var A={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0]}})();
(function(){jQuery.color={};jQuery.color.make=function(G,H,J,I){var A={};A.r=G||0;A.g=H||0;A.b=J||0;A.a=I!=null?I:1;A.add=function(C,D){for(var E=0;E<C.length;++E){A[C.charAt(E)]+=D}return A.normalize()};A.scale=function(C,D){for(var E=0;E<C.length;++E){A[C.charAt(E)]*=D}return A.normalize()};A.toString=function(){if(A.a>=1){return"rgb("+[A.r,A.g,A.b].join(",")+")"}else{return"rgba("+[A.r,A.g,A.b,A.a].join(",")+")"}};A.normalize=function(){function C(E,D,F){return D<E?E:(D>F?F:D)}A.r=C(0,parseInt(A.r),255);A.g=C(0,parseInt(A.g),255);A.b=C(0,parseInt(A.b),255);A.a=C(0,A.a,1);return A};A.clone=function(){return jQuery.color.make(A.r,A.b,A.g,A.a)};return A.normalize()};jQuery.color.extract=function(E,F){var A;do{A=E.css(F).toLowerCase();if(A!=""&&A!="transparent"){break}E=E.parent()}while(!jQuery.nodeName(E.get(0),"body"));if(A=="rgba(0, 0, 0, 0)"){A="transparent"}return jQuery.color.parse(A)};jQuery.color.parse=function(A){var F,H=jQuery.color.make;if(F=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(A)){return H(parseInt(F[1],10),parseInt(F[2],10),parseInt(F[3],10))}if(F=/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(A)){return H(parseInt(F[1],10),parseInt(F[2],10),parseInt(F[3],10),parseFloat(F[4]))}if(F=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(A)){return H(parseFloat(F[1])*2.55,parseFloat(F[2])*2.55,parseFloat(F[3])*2.55)}if(F=/rgba\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(A)){return H(parseFloat(F[1])*2.55,parseFloat(F[2])*2.55,parseFloat(F[3])*2.55,parseFloat(F[4]))}if(F=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(A)){return H(parseInt(F[1],16),parseInt(F[2],16),parseInt(F[3],16))}if(F=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(A)){return H(parseInt(F[1]+F[1],16),parseInt(F[2]+F[2],16),parseInt(F[3]+F[3],16))}var G=jQuery.trim(A).toLowerCase();if(G=="transparent"){return H(255,255,255,0)}else{F=B[G];return H(F[0],F[1],F[2])}};var B={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0]}})();(function(C){function B(l,W,X,E){var O=[],g={colors:["#edc240","#afd8f8","#cb4b4b","#4da74d","#9440ed"],legend:{show:true,noColumns:1,labelFormatter:null,labelBoxBorderColor:"#ccc",container:null,position:"ne",margin:5,backgroundColor:null,backgroundOpacity:0.85},xaxis:{mode:null,transform:null,inverseTransform:null,min:null,max:null,autoscaleMargin:null,ticks:null,tickFormatter:null,labelWidth:null,labelHeight:null,tickDecimals:null,tickSize:null,minTickSize:null,monthNames:null,timeformat:null,twelveHourClock:false},yaxis:{autoscaleMargin:0.02},x2axis:{autoscaleMargin:null},y2axis:{autoscaleMargin:0.02},series:{points:{show:false,radius:3,lineWidth:2,fill:true,fillColor:"#ffffff"},lines:{lineWidth:2,fill:false,fillColor:null,steps:false},bars:{show:false,lineWidth:2,barWidth:1,fill:true,fillColor:null,align:"left",horizontal:false},shadowSize:3},grid:{show:true,aboveData:false,color:"#545454",backgroundColor:null,tickColor:"rgba(0,0,0,0.15)",labelMargin:5,borderWidth:2,borderColor:null,markings:null,markingsColor:"#f4f4f4",markingsLineWidth:2,clickable:false,hoverable:false,autoHighlight:true,mouseActiveRadius:10},hooks:{}},P=null,AC=null,AD=null,Y=null,AJ=null,s={xaxis:{},yaxis:{},x2axis:{},y2axis:{}},e={left:0,right:0,top:0,bottom:0},y=0,Q=0,I=0,t=0,L={processOptions:[],processRawData:[],processDatapoints:[],draw:[],bindEvents:[],drawOverlay:[]},G=this;G.setData=f;G.setupGrid=k;G.draw=AH;G.getPlaceholder=function(){return l};G.getCanvas=function(){return P};G.getPlotOffset=function(){return e};G.width=function(){return I};G.height=function(){return t};G.offset=function(){var AK=AD.offset();AK.left+=e.left;AK.top+=e.top;return AK};G.getData=function(){return O};G.getAxes=function(){return s};G.getOptions=function(){return g};G.highlight=AE;G.unhighlight=x;G.triggerRedrawOverlay=q;G.pointOffset=function(AK){return{left:parseInt(T(AK,"xaxis").p2c(+AK.x)+e.left),top:parseInt(T(AK,"yaxis").p2c(+AK.y)+e.top)}};G.hooks=L;b(G);r(X);c();f(W);k();AH();AG();function Z(AM,AK){AK=[G].concat(AK);for(var AL=0;AL<AM.length;++AL){AM[AL].apply(this,AK)}}function b(){for(var AK=0;AK<E.length;++AK){var AL=E[AK];AL.init(G);if(AL.options){C.extend(true,g,AL.options)}}}function r(AK){C.extend(true,g,AK);if(g.grid.borderColor==null){g.grid.borderColor=g.grid.color}if(g.xaxis.noTicks&&g.xaxis.ticks==null){g.xaxis.ticks=g.xaxis.noTicks}if(g.yaxis.noTicks&&g.yaxis.ticks==null){g.yaxis.ticks=g.yaxis.noTicks}if(g.grid.coloredAreas){g.grid.markings=g.grid.coloredAreas}if(g.grid.coloredAreasColor){g.grid.markingsColor=g.grid.coloredAreasColor}if(g.lines){C.extend(true,g.series.lines,g.lines)}if(g.points){C.extend(true,g.series.points,g.points)}if(g.bars){C.extend(true,g.series.bars,g.bars)}if(g.shadowSize){g.series.shadowSize=g.shadowSize}for(var AL in L){if(g.hooks[AL]&&g.hooks[AL].length){L[AL]=L[AL].concat(g.hooks[AL])}}Z(L.processOptions,[g])}function f(AK){O=M(AK);U();m()}function M(AN){var AL=[];for(var AK=0;AK<AN.length;++AK){var AM=C.extend(true,{},g.series);if(AN[AK].data){AM.data=AN[AK].data;delete AN[AK].data;C.extend(true,AM,AN[AK]);AN[AK].data=AM.data}else{AM.data=AN[AK]}AL.push(AM)}return AL}function T(AM,AK){var AL=AM[AK];if(!AL||AL==1){return s[AK]}if(typeof AL=="number"){return s[AK.charAt(0)+AL+AK.slice(1)]}return AL}function U(){var AP;var AV=O.length,AK=[],AN=[];for(AP=0;AP<O.length;++AP){var AS=O[AP].color;if(AS!=null){--AV;if(typeof AS=="number"){AN.push(AS)}else{AK.push(C.color.parse(O[AP].color))}}}for(AP=0;AP<AN.length;++AP){AV=Math.max(AV,AN[AP]+1)}var AL=[],AO=0;AP=0;while(AL.length<AV){var AR;if(g.colors.length==AP){AR=C.color.make(100,100,100)}else{AR=C.color.parse(g.colors[AP])}var AM=AO%2==1?-1:1;AR.scale("rgb",1+AM*Math.ceil(AO/2)*0.2);AL.push(AR);++AP;if(AP>=g.colors.length){AP=0;++AO}}var AQ=0,AW;for(AP=0;AP<O.length;++AP){AW=O[AP];if(AW.color==null){AW.color=AL[AQ].toString();++AQ}else{if(typeof AW.color=="number"){AW.color=AL[AW.color].toString()}}if(AW.lines.show==null){var AU,AT=true;for(AU in AW){if(AW[AU].show){AT=false;break}}if(AT){AW.lines.show=true}}AW.xaxis=T(AW,"xaxis");AW.yaxis=T(AW,"yaxis")}}function m(){var AW=Number.POSITIVE_INFINITY,AQ=Number.NEGATIVE_INFINITY,Ac,Aa,AZ,AV,AL,AR,Ab,AX,AP,AO,AK,Ai,Af,AT;for(AK in s){s[AK].datamin=AW;s[AK].datamax=AQ;s[AK].used=false}function AN(Al,Ak,Aj){if(Ak<Al.datamin){Al.datamin=Ak}if(Aj>Al.datamax){Al.datamax=Aj}}for(Ac=0;Ac<O.length;++Ac){AR=O[Ac];AR.datapoints={points:[]};Z(L.processRawData,[AR,AR.data,AR.datapoints])}for(Ac=0;Ac<O.length;++Ac){AR=O[Ac];var Ah=AR.data,Ae=AR.datapoints.format;if(!Ae){Ae=[];Ae.push({x:true,number:true,required:true});Ae.push({y:true,number:true,required:true});if(AR.bars.show){Ae.push({y:true,number:true,required:false,defaultValue:0})}AR.datapoints.format=Ae}if(AR.datapoints.pointsize!=null){continue}if(AR.datapoints.pointsize==null){AR.datapoints.pointsize=Ae.length}AX=AR.datapoints.pointsize;Ab=AR.datapoints.points;insertSteps=AR.lines.show&&AR.lines.steps;AR.xaxis.used=AR.yaxis.used=true;for(Aa=AZ=0;Aa<Ah.length;++Aa,AZ+=AX){AT=Ah[Aa];var AM=AT==null;if(!AM){for(AV=0;AV<AX;++AV){Ai=AT[AV];Af=Ae[AV];if(Af){if(Af.number&&Ai!=null){Ai=+Ai;if(isNaN(Ai)){Ai=null}}if(Ai==null){if(Af.required){AM=true}if(Af.defaultValue!=null){Ai=Af.defaultValue}}}Ab[AZ+AV]=Ai}}if(AM){for(AV=0;AV<AX;++AV){Ai=Ab[AZ+AV];if(Ai!=null){Af=Ae[AV];if(Af.x){AN(AR.xaxis,Ai,Ai)}if(Af.y){AN(AR.yaxis,Ai,Ai)}}Ab[AZ+AV]=null}}else{if(insertSteps&&AZ>0&&Ab[AZ-AX]!=null&&Ab[AZ-AX]!=Ab[AZ]&&Ab[AZ-AX+1]!=Ab[AZ+1]){for(AV=0;AV<AX;++AV){Ab[AZ+AX+AV]=Ab[AZ+AV]}Ab[AZ+1]=Ab[AZ-AX+1];AZ+=AX}}}}for(Ac=0;Ac<O.length;++Ac){AR=O[Ac];Z(L.processDatapoints,[AR,AR.datapoints])}for(Ac=0;Ac<O.length;++Ac){AR=O[Ac];Ab=AR.datapoints.points,AX=AR.datapoints.pointsize;var AS=AW,AY=AW,AU=AQ,Ad=AQ;for(Aa=0;Aa<Ab.length;Aa+=AX){if(Ab[Aa]==null){continue}for(AV=0;AV<AX;++AV){Ai=Ab[Aa+AV];Af=Ae[AV];if(!Af){continue}if(Af.x){if(Ai<AS){AS=Ai}if(Ai>AU){AU=Ai}}if(Af.y){if(Ai<AY){AY=Ai}if(Ai>Ad){Ad=Ai}}}}if(AR.bars.show){var Ag=AR.bars.align=="left"?0:-AR.bars.barWidth/2;if(AR.bars.horizontal){AY+=Ag;Ad+=Ag+AR.bars.barWidth}else{AS+=Ag;AU+=Ag+AR.bars.barWidth}}AN(AR.xaxis,AS,AU);AN(AR.yaxis,AY,Ad)}for(AK in s){if(s[AK].datamin==AW){s[AK].datamin=null}if(s[AK].datamax==AQ){s[AK].datamax=null}}}function c(){function AK(AM,AL){var AN=document.createElement("canvas");AN.width=AM;AN.height=AL;if(C.browser.msie){AN=window.G_vmlCanvasManager.initElement(AN)}return AN}y=l.width();Q=l.height();l.html("");if(l.css("position")=="static"){l.css("position","relative")}if(y<=0||Q<=0){throw"Invalid dimensions for plot, width = "+y+", height = "+Q}if(C.browser.msie){window.G_vmlCanvasManager.init_(document)}P=C(AK(y,Q)).appendTo(l).get(0);Y=P.getContext("2d");AC=C(AK(y,Q)).css({position:"absolute",left:0,top:0}).appendTo(l).get(0);AJ=AC.getContext("2d");AJ.stroke()}function AG(){AD=C([AC,P]);if(g.grid.hoverable){AD.mousemove(D)}if(g.grid.clickable){AD.click(d)}Z(L.bindEvents,[AD])}function k(){function AL(AT,AU){function AP(AV){return AV}var AS,AO,AQ=AU.transform||AP,AR=AU.inverseTransform;if(AT==s.xaxis||AT==s.x2axis){AS=AT.scale=I/(AQ(AT.max)-AQ(AT.min));AO=AQ(AT.min);if(AQ==AP){AT.p2c=function(AV){return(AV-AO)*AS}}else{AT.p2c=function(AV){return(AQ(AV)-AO)*AS}}if(!AR){AT.c2p=function(AV){return AO+AV/AS}}else{AT.c2p=function(AV){return AR(AO+AV/AS)}}}else{AS=AT.scale=t/(AQ(AT.max)-AQ(AT.min));AO=AQ(AT.max);if(AQ==AP){AT.p2c=function(AV){return(AO-AV)*AS}}else{AT.p2c=function(AV){return(AO-AQ(AV))*AS}}if(!AR){AT.c2p=function(AV){return AO-AV/AS}}else{AT.c2p=function(AV){return AR(AO-AV/AS)}}}}function AN(AR,AT){var AQ,AS=[],AP;AR.labelWidth=AT.labelWidth;AR.labelHeight=AT.labelHeight;if(AR==s.xaxis||AR==s.x2axis){if(AR.labelWidth==null){AR.labelWidth=y/(AR.ticks.length>0?AR.ticks.length:1)}if(AR.labelHeight==null){AS=[];for(AQ=0;AQ<AR.ticks.length;++AQ){AP=AR.ticks[AQ].label;if(AP){AS.push('<div class="tickLabel" style="float:left;width:'+AR.labelWidth+'px">'+AP+"</div>")}}if(AS.length>0){var AO=C('<div style="position:absolute;top:-10000px;width:10000px;font-size:smaller">'+AS.join("")+'<div style="clear:left"></div></div>').appendTo(l);AR.labelHeight=AO.height();AO.remove()}}}else{if(AR.labelWidth==null||AR.labelHeight==null){for(AQ=0;AQ<AR.ticks.length;++AQ){AP=AR.ticks[AQ].label;if(AP){AS.push('<div class="tickLabel">'+AP+"</div>")}}if(AS.length>0){var AO=C('<div style="position:absolute;top:-10000px;font-size:smaller">'+AS.join("")+"</div>").appendTo(l);if(AR.labelWidth==null){AR.labelWidth=AO.width()}if(AR.labelHeight==null){AR.labelHeight=AO.find("div").height()}AO.remove()}}}if(AR.labelWidth==null){AR.labelWidth=0}if(AR.labelHeight==null){AR.labelHeight=0}}function AM(){var AP=g.grid.borderWidth;for(i=0;i<O.length;++i){AP=Math.max(AP,2*(O[i].points.radius+O[i].points.lineWidth/2))}e.left=e.right=e.top=e.bottom=AP;var AO=g.grid.labelMargin+g.grid.borderWidth;if(s.xaxis.labelHeight>0){e.bottom=Math.max(AP,s.xaxis.labelHeight+AO)}if(s.yaxis.labelWidth>0){e.left=Math.max(AP,s.yaxis.labelWidth+AO)}if(s.x2axis.labelHeight>0){e.top=Math.max(AP,s.x2axis.labelHeight+AO)}if(s.y2axis.labelWidth>0){e.right=Math.max(AP,s.y2axis.labelWidth+AO)}I=y-e.left-e.right;t=Q-e.bottom-e.top}var AK;for(AK in s){K(s[AK],g[AK])}if(g.grid.show){for(AK in s){F(s[AK],g[AK]);p(s[AK],g[AK]);AN(s[AK],g[AK])}AM()}else{e.left=e.right=e.top=e.bottom=0;I=y;t=Q}for(AK in s){AL(s[AK],g[AK])}if(g.grid.show){h()}AI()}function K(AN,AQ){var AM=+(AQ.min!=null?AQ.min:AN.datamin),AK=+(AQ.max!=null?AQ.max:AN.datamax),AP=AK-AM;if(AP==0){var AL=AK==0?1:0.01;if(AQ.min==null){AM-=AL}if(AQ.max==null||AQ.min!=null){AK+=AL}}else{var AO=AQ.autoscaleMargin;if(AO!=null){if(AQ.min==null){AM-=AP*AO;if(AM<0&&AN.datamin!=null&&AN.datamin>=0){AM=0}}if(AQ.max==null){AK+=AP*AO;if(AK>0&&AN.datamax!=null&&AN.datamax<=0){AK=0}}}}AN.min=AM;AN.max=AK}function F(AP,AS){var AO;if(typeof AS.ticks=="number"&&AS.ticks>0){AO=AS.ticks}else{if(AP==s.xaxis||AP==s.x2axis){AO=0.3*Math.sqrt(y)}else{AO=0.3*Math.sqrt(Q)}}var AX=(AP.max-AP.min)/AO,AZ,AT,AV,AW,AR,AM,AL;if(AS.mode=="time"){var AU={second:1000,minute:60*1000,hour:60*60*1000,day:24*60*60*1000,month:30*24*60*60*1000,year:365.2425*24*60*60*1000};var AY=[[1,"second"],[2,"second"],[5,"second"],[10,"second"],[30,"second"],[1,"minute"],[2,"minute"],[5,"minute"],[10,"minute"],[30,"minute"],[1,"hour"],[2,"hour"],[4,"hour"],[8,"hour"],[12,"hour"],[1,"day"],[2,"day"],[3,"day"],[0.25,"month"],[0.5,"month"],[1,"month"],[2,"month"],[3,"month"],[6,"month"],[1,"year"]];var AN=0;if(AS.minTickSize!=null){if(typeof AS.tickSize=="number"){AN=AS.tickSize}else{AN=AS.minTickSize[0]*AU[AS.minTickSize[1]]}}for(AR=0;AR<AY.length-1;++AR){if(AX<(AY[AR][0]*AU[AY[AR][1]]+AY[AR+1][0]*AU[AY[AR+1][1]])/2&&AY[AR][0]*AU[AY[AR][1]]>=AN){break}}AZ=AY[AR][0];AV=AY[AR][1];if(AV=="year"){AM=Math.pow(10,Math.floor(Math.log(AX/AU.year)/Math.LN10));AL=(AX/AU.year)/AM;if(AL<1.5){AZ=1}else{if(AL<3){AZ=2}else{if(AL<7.5){AZ=5}else{AZ=10}}}AZ*=AM}if(AS.tickSize){AZ=AS.tickSize[0];AV=AS.tickSize[1]}AT=function(Ac){var Ah=[],Af=Ac.tickSize[0],Ai=Ac.tickSize[1],Ag=new Date(Ac.min);var Ab=Af*AU[Ai];if(Ai=="second"){Ag.setUTCSeconds(A(Ag.getUTCSeconds(),Af))}if(Ai=="minute"){Ag.setUTCMinutes(A(Ag.getUTCMinutes(),Af))}if(Ai=="hour"){Ag.setUTCHours(A(Ag.getUTCHours(),Af))}if(Ai=="month"){Ag.setUTCMonth(A(Ag.getUTCMonth(),Af))}if(Ai=="year"){Ag.setUTCFullYear(A(Ag.getUTCFullYear(),Af))}Ag.setUTCMilliseconds(0);if(Ab>=AU.minute){Ag.setUTCSeconds(0)}if(Ab>=AU.hour){Ag.setUTCMinutes(0)}if(Ab>=AU.day){Ag.setUTCHours(0)}if(Ab>=AU.day*4){Ag.setUTCDate(1)}if(Ab>=AU.year){Ag.setUTCMonth(0)}var Ak=0,Aj=Number.NaN,Ad;do{Ad=Aj;Aj=Ag.getTime();Ah.push({v:Aj,label:Ac.tickFormatter(Aj,Ac)});if(Ai=="month"){if(Af<1){Ag.setUTCDate(1);var Aa=Ag.getTime();Ag.setUTCMonth(Ag.getUTCMonth()+1);var Ae=Ag.getTime();Ag.setTime(Aj+Ak*AU.hour+(Ae-Aa)*Af);Ak=Ag.getUTCHours();Ag.setUTCHours(0)}else{Ag.setUTCMonth(Ag.getUTCMonth()+Af)}}else{if(Ai=="year"){Ag.setUTCFullYear(Ag.getUTCFullYear()+Af)}else{Ag.setTime(Aj+Ab)}}}while(Aj<Ac.max&&Aj!=Ad);return Ah};AW=function(Aa,Ad){var Af=new Date(Aa);if(AS.timeformat!=null){return C.plot.formatDate(Af,AS.timeformat,AS.monthNames)}var Ab=Ad.tickSize[0]*AU[Ad.tickSize[1]];var Ac=Ad.max-Ad.min;var Ae=(AS.twelveHourClock)?" %p":"";if(Ab<AU.minute){fmt="%h:%M:%S"+Ae}else{if(Ab<AU.day){if(Ac<2*AU.day){fmt="%h:%M"+Ae}else{fmt="%b %d %h:%M"+Ae}}else{if(Ab<AU.month){fmt="%b %d"}else{if(Ab<AU.year){if(Ac<AU.year){fmt="%b"}else{fmt="%b %y"}}else{fmt="%y"}}}}return C.plot.formatDate(Af,fmt,AS.monthNames)}}else{var AK=AS.tickDecimals;var AQ=-Math.floor(Math.log(AX)/Math.LN10);if(AK!=null&&AQ>AK){AQ=AK}AM=Math.pow(10,-AQ);AL=AX/AM;if(AL<1.5){AZ=1}else{if(AL<3){AZ=2;if(AL>2.25&&(AK==null||AQ+1<=AK)){AZ=2.5;++AQ}}else{if(AL<7.5){AZ=5}else{AZ=10}}}AZ*=AM;if(AS.minTickSize!=null&&AZ<AS.minTickSize){AZ=AS.minTickSize}if(AS.tickSize!=null){AZ=AS.tickSize}AP.tickDecimals=Math.max(0,(AK!=null)?AK:AQ);AT=function(Ac){var Ae=[];var Af=A(Ac.min,Ac.tickSize),Ab=0,Aa=Number.NaN,Ad;do{Ad=Aa;Aa=Af+Ab*Ac.tickSize;Ae.push({v:Aa,label:Ac.tickFormatter(Aa,Ac)});++Ab}while(Aa<Ac.max&&Aa!=Ad);return Ae};AW=function(Aa,Ab){return Aa.toFixed(Ab.tickDecimals)}}AP.tickSize=AV?[AZ,AV]:AZ;AP.tickGenerator=AT;if(C.isFunction(AS.tickFormatter)){AP.tickFormatter=function(Aa,Ab){return""+AS.tickFormatter(Aa,Ab)}}else{AP.tickFormatter=AW}}function p(AO,AQ){AO.ticks=[];if(!AO.used){return }if(AQ.ticks==null){AO.ticks=AO.tickGenerator(AO)}else{if(typeof AQ.ticks=="number"){if(AQ.ticks>0){AO.ticks=AO.tickGenerator(AO)}}else{if(AQ.ticks){var AP=AQ.ticks;if(C.isFunction(AP)){AP=AP({min:AO.min,max:AO.max})}var AN,AK;for(AN=0;AN<AP.length;++AN){var AL=null;var AM=AP[AN];if(typeof AM=="object"){AK=AM[0];if(AM.length>1){AL=AM[1]}}else{AK=AM}if(AL==null){AL=AO.tickFormatter(AK,AO)}AO.ticks[AN]={v:AK,label:AL}}}}}if(AQ.autoscaleMargin!=null&&AO.ticks.length>0){if(AQ.min==null){AO.min=Math.min(AO.min,AO.ticks[0].v)}if(AQ.max==null&&AO.ticks.length>1){AO.max=Math.max(AO.max,AO.ticks[AO.ticks.length-1].v)}}}function AH(){Y.clearRect(0,0,y,Q);var AL=g.grid;if(AL.show&&!AL.aboveData){S()}for(var AK=0;AK<O.length;++AK){AA(O[AK])}Z(L.draw,[Y]);if(AL.show&&AL.aboveData){S()}}function N(AL,AR){var AO=AR+"axis",AK=AR+"2axis",AN,AQ,AP,AM;if(AL[AO]){AN=s[AO];AQ=AL[AO].from;AP=AL[AO].to}else{if(AL[AK]){AN=s[AK];AQ=AL[AK].from;AP=AL[AK].to}else{AN=s[AO];AQ=AL[AR+"1"];AP=AL[AR+"2"]}}if(AQ!=null&&AP!=null&&AQ>AP){return{from:AP,to:AQ,axis:AN}}return{from:AQ,to:AP,axis:AN}}function S(){var AO;Y.save();Y.translate(e.left,e.top);if(g.grid.backgroundColor){Y.fillStyle=R(g.grid.backgroundColor,t,0,"rgba(255, 255, 255, 0)");Y.fillRect(0,0,I,t)}var AL=g.grid.markings;if(AL){if(C.isFunction(AL)){AL=AL({xmin:s.xaxis.min,xmax:s.xaxis.max,ymin:s.yaxis.min,ymax:s.yaxis.max,xaxis:s.xaxis,yaxis:s.yaxis,x2axis:s.x2axis,y2axis:s.y2axis})}for(AO=0;AO<AL.length;++AO){var AK=AL[AO],AQ=N(AK,"x"),AN=N(AK,"y");if(AQ.from==null){AQ.from=AQ.axis.min}if(AQ.to==null){AQ.to=AQ.axis.max}if(AN.from==null){AN.from=AN.axis.min}if(AN.to==null){AN.to=AN.axis.max}if(AQ.to<AQ.axis.min||AQ.from>AQ.axis.max||AN.to<AN.axis.min||AN.from>AN.axis.max){continue}AQ.from=Math.max(AQ.from,AQ.axis.min);AQ.to=Math.min(AQ.to,AQ.axis.max);AN.from=Math.max(AN.from,AN.axis.min);AN.to=Math.min(AN.to,AN.axis.max);if(AQ.from==AQ.to&&AN.from==AN.to){continue}AQ.from=AQ.axis.p2c(AQ.from);AQ.to=AQ.axis.p2c(AQ.to);AN.from=AN.axis.p2c(AN.from);AN.to=AN.axis.p2c(AN.to);if(AQ.from==AQ.to||AN.from==AN.to){Y.beginPath();Y.strokeStyle=AK.color||g.grid.markingsColor;Y.lineWidth=AK.lineWidth||g.grid.markingsLineWidth;Y.moveTo(AQ.from,AN.from);Y.lineTo(AQ.to,AN.to);Y.stroke()}else{Y.fillStyle=AK.color||g.grid.markingsColor;Y.fillRect(AQ.from,AN.to,AQ.to-AQ.from,AN.from-AN.to)}}}Y.lineWidth=1;Y.strokeStyle=g.grid.tickColor;Y.beginPath();var AM,AP=s.xaxis;for(AO=0;AO<AP.ticks.length;++AO){AM=AP.ticks[AO].v;if(AM<=AP.min||AM>=s.xaxis.max){continue}Y.moveTo(Math.floor(AP.p2c(AM))+Y.lineWidth/2,0);Y.lineTo(Math.floor(AP.p2c(AM))+Y.lineWidth/2,t)}AP=s.yaxis;for(AO=0;AO<AP.ticks.length;++AO){AM=AP.ticks[AO].v;if(AM<=AP.min||AM>=AP.max){continue}Y.moveTo(0,Math.floor(AP.p2c(AM))+Y.lineWidth/2);Y.lineTo(I,Math.floor(AP.p2c(AM))+Y.lineWidth/2)}AP=s.x2axis;for(AO=0;AO<AP.ticks.length;++AO){AM=AP.ticks[AO].v;if(AM<=AP.min||AM>=AP.max){continue}Y.moveTo(Math.floor(AP.p2c(AM))+Y.lineWidth/2,-5);Y.lineTo(Math.floor(AP.p2c(AM))+Y.lineWidth/2,5)}AP=s.y2axis;for(AO=0;AO<AP.ticks.length;++AO){AM=AP.ticks[AO].v;if(AM<=AP.min||AM>=AP.max){continue}Y.moveTo(I-5,Math.floor(AP.p2c(AM))+Y.lineWidth/2);Y.lineTo(I+5,Math.floor(AP.p2c(AM))+Y.lineWidth/2)}Y.stroke();if(g.grid.borderWidth){var AR=g.grid.borderWidth;Y.lineWidth=AR;Y.strokeStyle=g.grid.borderColor;Y.strokeRect(-AR/2,-AR/2,I+AR,t+AR)}Y.restore()}function h(){l.find(".tickLabels").remove();var AK=['<div class="tickLabels" style="font-size:smaller;color:'+g.grid.color+'">'];function AM(AP,AQ){for(var AO=0;AO<AP.ticks.length;++AO){var AN=AP.ticks[AO];if(!AN.label||AN.v<AP.min||AN.v>AP.max){continue}AK.push(AQ(AN,AP))}}var AL=g.grid.labelMargin+g.grid.borderWidth;AM(s.xaxis,function(AN,AO){return'<div style="position:absolute;top:'+(e.top+t+AL)+"px;left:"+Math.round(e.left+AO.p2c(AN.v)-AO.labelWidth/2)+"px;width:"+AO.labelWidth+'px;text-align:center" class="tickLabel">'+AN.label+"</div>"});AM(s.yaxis,function(AN,AO){return'<div style="position:absolute;top:'+Math.round(e.top+AO.p2c(AN.v)-AO.labelHeight/2)+"px;right:"+(e.right+I+AL)+"px;width:"+AO.labelWidth+'px;text-align:right" class="tickLabel">'+AN.label+"</div>"});AM(s.x2axis,function(AN,AO){return'<div style="position:absolute;bottom:'+(e.bottom+t+AL)+"px;left:"+Math.round(e.left+AO.p2c(AN.v)-AO.labelWidth/2)+"px;width:"+AO.labelWidth+'px;text-align:center" class="tickLabel">'+AN.label+"</div>"});AM(s.y2axis,function(AN,AO){return'<div style="position:absolute;top:'+Math.round(e.top+AO.p2c(AN.v)-AO.labelHeight/2)+"px;left:"+(e.left+I+AL)+"px;width:"+AO.labelWidth+'px;text-align:left" class="tickLabel">'+AN.label+"</div>"});AK.push("</div>");l.append(AK.join(""))}function AA(AK){if(AK.lines.show){a(AK)}if(AK.bars.show){n(AK)}if(AK.points.show){o(AK)}}function a(AN){function AM(AY,AZ,AR,Ad,Ac){var Ae=AY.points,AS=AY.pointsize,AW=null,AV=null;Y.beginPath();for(var AX=AS;AX<Ae.length;AX+=AS){var AU=Ae[AX-AS],Ab=Ae[AX-AS+1],AT=Ae[AX],Aa=Ae[AX+1];if(AU==null||AT==null){continue}if(Ab<=Aa&&Ab<Ac.min){if(Aa<Ac.min){continue}AU=(Ac.min-Ab)/(Aa-Ab)*(AT-AU)+AU;Ab=Ac.min}else{if(Aa<=Ab&&Aa<Ac.min){if(Ab<Ac.min){continue}AT=(Ac.min-Ab)/(Aa-Ab)*(AT-AU)+AU;Aa=Ac.min}}if(Ab>=Aa&&Ab>Ac.max){if(Aa>Ac.max){continue}AU=(Ac.max-Ab)/(Aa-Ab)*(AT-AU)+AU;Ab=Ac.max}else{if(Aa>=Ab&&Aa>Ac.max){if(Ab>Ac.max){continue}AT=(Ac.max-Ab)/(Aa-Ab)*(AT-AU)+AU;Aa=Ac.max}}if(AU<=AT&&AU<Ad.min){if(AT<Ad.min){continue}Ab=(Ad.min-AU)/(AT-AU)*(Aa-Ab)+Ab;AU=Ad.min}else{if(AT<=AU&&AT<Ad.min){if(AU<Ad.min){continue}Aa=(Ad.min-AU)/(AT-AU)*(Aa-Ab)+Ab;AT=Ad.min}}if(AU>=AT&&AU>Ad.max){if(AT>Ad.max){continue}Ab=(Ad.max-AU)/(AT-AU)*(Aa-Ab)+Ab;AU=Ad.max}else{if(AT>=AU&&AT>Ad.max){if(AU>Ad.max){continue}Aa=(Ad.max-AU)/(AT-AU)*(Aa-Ab)+Ab;AT=Ad.max}}if(AU!=AW||Ab!=AV){Y.moveTo(Ad.p2c(AU)+AZ,Ac.p2c(Ab)+AR)}AW=AT;AV=Aa;Y.lineTo(Ad.p2c(AT)+AZ,Ac.p2c(Aa)+AR)}Y.stroke()}function AO(AX,Ae,Ac){var Af=AX.points,AR=AX.pointsize,AS=Math.min(Math.max(0,Ac.min),Ac.max),Aa,AV=0,Ad=false;for(var AW=AR;AW<Af.length;AW+=AR){var AU=Af[AW-AR],Ab=Af[AW-AR+1],AT=Af[AW],AZ=Af[AW+1];if(Ad&&AU!=null&&AT==null){Y.lineTo(Ae.p2c(AV),Ac.p2c(AS));Y.fill();Ad=false;continue}if(AU==null||AT==null){continue}if(AU<=AT&&AU<Ae.min){if(AT<Ae.min){continue}Ab=(Ae.min-AU)/(AT-AU)*(AZ-Ab)+Ab;AU=Ae.min}else{if(AT<=AU&&AT<Ae.min){if(AU<Ae.min){continue}AZ=(Ae.min-AU)/(AT-AU)*(AZ-Ab)+Ab;AT=Ae.min}}if(AU>=AT&&AU>Ae.max){if(AT>Ae.max){continue}Ab=(Ae.max-AU)/(AT-AU)*(AZ-Ab)+Ab;AU=Ae.max}else{if(AT>=AU&&AT>Ae.max){if(AU>Ae.max){continue}AZ=(Ae.max-AU)/(AT-AU)*(AZ-Ab)+Ab;AT=Ae.max}}if(!Ad){Y.beginPath();Y.moveTo(Ae.p2c(AU),Ac.p2c(AS));Ad=true}if(Ab>=Ac.max&&AZ>=Ac.max){Y.lineTo(Ae.p2c(AU),Ac.p2c(Ac.max));Y.lineTo(Ae.p2c(AT),Ac.p2c(Ac.max));AV=AT;continue}else{if(Ab<=Ac.min&&AZ<=Ac.min){Y.lineTo(Ae.p2c(AU),Ac.p2c(Ac.min));Y.lineTo(Ae.p2c(AT),Ac.p2c(Ac.min));AV=AT;continue}}var Ag=AU,AY=AT;if(Ab<=AZ&&Ab<Ac.min&&AZ>=Ac.min){AU=(Ac.min-Ab)/(AZ-Ab)*(AT-AU)+AU;Ab=Ac.min}else{if(AZ<=Ab&&AZ<Ac.min&&Ab>=Ac.min){AT=(Ac.min-Ab)/(AZ-Ab)*(AT-AU)+AU;AZ=Ac.min}}if(Ab>=AZ&&Ab>Ac.max&&AZ<=Ac.max){AU=(Ac.max-Ab)/(AZ-Ab)*(AT-AU)+AU;Ab=Ac.max}else{if(AZ>=Ab&&AZ>Ac.max&&Ab<=Ac.max){AT=(Ac.max-Ab)/(AZ-Ab)*(AT-AU)+AU;AZ=Ac.max}}if(AU!=Ag){if(Ab<=Ac.min){Aa=Ac.min}else{Aa=Ac.max}Y.lineTo(Ae.p2c(Ag),Ac.p2c(Aa));Y.lineTo(Ae.p2c(AU),Ac.p2c(Aa))}Y.lineTo(Ae.p2c(AU),Ac.p2c(Ab));Y.lineTo(Ae.p2c(AT),Ac.p2c(AZ));if(AT!=AY){if(AZ<=Ac.min){Aa=Ac.min}else{Aa=Ac.max}Y.lineTo(Ae.p2c(AT),Ac.p2c(Aa));Y.lineTo(Ae.p2c(AY),Ac.p2c(Aa))}AV=Math.max(AT,AY)}if(Ad){Y.lineTo(Ae.p2c(AV),Ac.p2c(AS));Y.fill()}}Y.save();Y.translate(e.left,e.top);Y.lineJoin="round";var AP=AN.lines.lineWidth,AK=AN.shadowSize;if(AP>0&&AK>0){Y.lineWidth=AK;Y.strokeStyle="rgba(0,0,0,0.1)";var AQ=Math.PI/18;AM(AN.datapoints,Math.sin(AQ)*(AP/2+AK/2),Math.cos(AQ)*(AP/2+AK/2),AN.xaxis,AN.yaxis);Y.lineWidth=AK/2;AM(AN.datapoints,Math.sin(AQ)*(AP/2+AK/4),Math.cos(AQ)*(AP/2+AK/4),AN.xaxis,AN.yaxis)}Y.lineWidth=AP;Y.strokeStyle=AN.color;var AL=V(AN.lines,AN.color,0,t);if(AL){Y.fillStyle=AL;AO(AN.datapoints,AN.xaxis,AN.yaxis)}if(AP>0){AM(AN.datapoints,0,0,AN.xaxis,AN.yaxis)}Y.restore()}function o(AN){function AP(AU,AT,Ab,AR,AV,AZ,AY){var Aa=AU.points,AQ=AU.pointsize;for(var AS=0;AS<Aa.length;AS+=AQ){var AX=Aa[AS],AW=Aa[AS+1];if(AX==null||AX<AZ.min||AX>AZ.max||AW<AY.min||AW>AY.max){continue}Y.beginPath();Y.arc(AZ.p2c(AX),AY.p2c(AW)+AR,AT,0,AV,false);if(Ab){Y.fillStyle=Ab;Y.fill()}Y.stroke()}}Y.save();Y.translate(e.left,e.top);var AO=AN.lines.lineWidth,AL=AN.shadowSize,AK=AN.points.radius;if(AO>0&&AL>0){var AM=AL/2;Y.lineWidth=AM;Y.strokeStyle="rgba(0,0,0,0.1)";AP(AN.datapoints,AK,null,AM+AM/2,Math.PI,AN.xaxis,AN.yaxis);Y.strokeStyle="rgba(0,0,0,0.2)";AP(AN.datapoints,AK,null,AM/2,Math.PI,AN.xaxis,AN.yaxis)}Y.lineWidth=AO;Y.strokeStyle=AN.color;AP(AN.datapoints,AK,V(AN.points,AN.color),0,2*Math.PI,AN.xaxis,AN.yaxis);Y.restore()}function AB(AV,AU,Ad,AQ,AY,AN,AL,AT,AS,Ac,AZ){var AM,Ab,AR,AX,AO,AK,AW,AP,Aa;if(AZ){AP=AK=AW=true;AO=false;AM=Ad;Ab=AV;AX=AU+AQ;AR=AU+AY;if(Ab<AM){Aa=Ab;Ab=AM;AM=Aa;AO=true;AK=false}}else{AO=AK=AW=true;AP=false;AM=AV+AQ;Ab=AV+AY;AR=Ad;AX=AU;if(AX<AR){Aa=AX;AX=AR;AR=Aa;AP=true;AW=false}}if(Ab<AT.min||AM>AT.max||AX<AS.min||AR>AS.max){return }if(AM<AT.min){AM=AT.min;AO=false}if(Ab>AT.max){Ab=AT.max;AK=false}if(AR<AS.min){AR=AS.min;AP=false}if(AX>AS.max){AX=AS.max;AW=false}AM=AT.p2c(AM);AR=AS.p2c(AR);Ab=AT.p2c(Ab);AX=AS.p2c(AX);if(AL){Ac.beginPath();Ac.moveTo(AM,AR);Ac.lineTo(AM,AX);Ac.lineTo(Ab,AX);Ac.lineTo(Ab,AR);Ac.fillStyle=AL(AR,AX);Ac.fill()}if(AO||AK||AW||AP){Ac.beginPath();Ac.moveTo(AM,AR+AN);if(AO){Ac.lineTo(AM,AX+AN)}else{Ac.moveTo(AM,AX+AN)}if(AW){Ac.lineTo(Ab,AX+AN)}else{Ac.moveTo(Ab,AX+AN)}if(AK){Ac.lineTo(Ab,AR+AN)}else{Ac.moveTo(Ab,AR+AN)}if(AP){Ac.lineTo(AM,AR+AN)}else{Ac.moveTo(AM,AR+AN)}Ac.stroke()}}function n(AM){function AL(AS,AR,AU,AP,AT,AW,AV){var AX=AS.points,AO=AS.pointsize;for(var AQ=0;AQ<AX.length;AQ+=AO){if(AX[AQ]==null){continue}AB(AX[AQ],AX[AQ+1],AX[AQ+2],AR,AU,AP,AT,AW,AV,Y,AM.bars.horizontal)}}Y.save();Y.translate(e.left,e.top);Y.lineWidth=AM.bars.lineWidth;Y.strokeStyle=AM.color;var AK=AM.bars.align=="left"?0:-AM.bars.barWidth/2;var AN=AM.bars.fill?function(AO,AP){return V(AM.bars,AM.color,AO,AP)}:null;AL(AM.datapoints,AK,AK+AM.bars.barWidth,0,AN,AM.xaxis,AM.yaxis);Y.restore()}function V(AM,AK,AL,AO){var AN=AM.fill;if(!AN){return null}if(AM.fillColor){return R(AM.fillColor,AL,AO,AK)}var AP=C.color.parse(AK);AP.a=typeof AN=="number"?AN:0.4;AP.normalize();return AP.toString()}function AI(){l.find(".legend").remove();if(!g.legend.show){return }var AP=[],AN=false,AV=g.legend.labelFormatter,AU,AR;for(i=0;i<O.length;++i){AU=O[i];AR=AU.label;if(!AR){continue}if(i%g.legend.noColumns==0){if(AN){AP.push("</tr>")}AP.push("<tr>");AN=true}if(AV){AR=AV(AR,AU)}AP.push('<td class="legendColorBox"><div style="border:1px solid '+g.legend.labelBoxBorderColor+';padding:1px"><div style="width:4px;height:0;border:5px solid '+AU.color+';overflow:hidden"></div></div></td><td class="legendLabel">'+AR+"</td>")}if(AN){AP.push("</tr>")}if(AP.length==0){return }var AT='<table style="font-size:smaller;color:'+g.grid.color+'">'+AP.join("")+"</table>";if(g.legend.container!=null){C(g.legend.container).html(AT)}else{var AQ="",AL=g.legend.position,AM=g.legend.margin;if(AM[0]==null){AM=[AM,AM]}if(AL.charAt(0)=="n"){AQ+="top:"+(AM[1]+e.top)+"px;"}else{if(AL.charAt(0)=="s"){AQ+="bottom:"+(AM[1]+e.bottom)+"px;"}}if(AL.charAt(1)=="e"){AQ+="right:"+(AM[0]+e.right)+"px;"}else{if(AL.charAt(1)=="w"){AQ+="left:"+(AM[0]+e.left)+"px;"}}var AS=C('<div class="legend">'+AT.replace('style="','style="position:absolute;'+AQ+";")+"</div>").appendTo(l);if(g.legend.backgroundOpacity!=0){var AO=g.legend.backgroundColor;if(AO==null){AO=g.grid.backgroundColor;if(AO&&typeof AO=="string"){AO=C.color.parse(AO)}else{AO=C.color.extract(AS,"background-color")}AO.a=1;AO=AO.toString()}var AK=AS.children();C('<div style="position:absolute;width:'+AK.width()+"px;height:"+AK.height()+"px;"+AQ+"background-color:"+AO+';"> </div>').prependTo(AS).css("opacity",g.legend.backgroundOpacity)}}}var w=[],J=null;function AF(AR,AP,AM){var AX=g.grid.mouseActiveRadius,Aj=AX*AX+1,Ah=null,Aa=false,Af,Ad;for(Af=0;Af<O.length;++Af){if(!AM(O[Af])){continue}var AY=O[Af],AQ=AY.xaxis,AO=AY.yaxis,Ae=AY.datapoints.points,Ac=AY.datapoints.pointsize,AZ=AQ.c2p(AR),AW=AO.c2p(AP),AL=AX/AQ.scale,AK=AX/AO.scale;if(AY.lines.show||AY.points.show){for(Ad=0;Ad<Ae.length;Ad+=Ac){var AT=Ae[Ad],AS=Ae[Ad+1];if(AT==null){continue}if(AT-AZ>AL||AT-AZ<-AL||AS-AW>AK||AS-AW<-AK){continue}var AV=Math.abs(AQ.p2c(AT)-AR),AU=Math.abs(AO.p2c(AS)-AP),Ab=AV*AV+AU*AU;if(Ab<=Aj){Aj=Ab;Ah=[Af,Ad/Ac]}}}if(AY.bars.show&&!Ah){var AN=AY.bars.align=="left"?0:-AY.bars.barWidth/2,Ag=AN+AY.bars.barWidth;for(Ad=0;Ad<Ae.length;Ad+=Ac){var AT=Ae[Ad],AS=Ae[Ad+1],Ai=Ae[Ad+2];if(AT==null){continue}if(O[Af].bars.horizontal?(AZ<=Math.max(Ai,AT)&&AZ>=Math.min(Ai,AT)&&AW>=AS+AN&&AW<=AS+Ag):(AZ>=AT+AN&&AZ<=AT+Ag&&AW>=Math.min(Ai,AS)&&AW<=Math.max(Ai,AS))){Ah=[Af,Ad/Ac]}}}}if(Ah){Af=Ah[0];Ad=Ah[1];Ac=O[Af].datapoints.pointsize;return{datapoint:O[Af].datapoints.points.slice(Ad*Ac,(Ad+1)*Ac),dataIndex:Ad,series:O[Af],seriesIndex:Af}}return null}function D(AK){if(g.grid.hoverable){H("plothover",AK,function(AL){return AL.hoverable!=false})}}function d(AK){H("plotclick",AK,function(AL){return AL.clickable!=false})}function H(AL,AK,AM){var AN=AD.offset(),AS={pageX:AK.pageX,pageY:AK.pageY},AQ=AK.pageX-AN.left-e.left,AO=AK.pageY-AN.top-e.top;if(s.xaxis.used){AS.x=s.xaxis.c2p(AQ)}if(s.yaxis.used){AS.y=s.yaxis.c2p(AO)}if(s.x2axis.used){AS.x2=s.x2axis.c2p(AQ)}if(s.y2axis.used){AS.y2=s.y2axis.c2p(AO)}var AT=AF(AQ,AO,AM);if(AT){AT.pageX=parseInt(AT.series.xaxis.p2c(AT.datapoint[0])+AN.left+e.left);AT.pageY=parseInt(AT.series.yaxis.p2c(AT.datapoint[1])+AN.top+e.top)}if(g.grid.autoHighlight){for(var AP=0;AP<w.length;++AP){var AR=w[AP];if(AR.auto==AL&&!(AT&&AR.series==AT.series&&AR.point==AT.datapoint)){x(AR.series,AR.point)}}if(AT){AE(AT.series,AT.datapoint,AL)}}l.trigger(AL,[AS,AT])}function q(){if(!J){J=setTimeout(v,30)}}function v(){J=null;AJ.save();AJ.clearRect(0,0,y,Q);AJ.translate(e.left,e.top);var AL,AK;for(AL=0;AL<w.length;++AL){AK=w[AL];if(AK.series.bars.show){z(AK.series,AK.point)}else{u(AK.series,AK.point)}}AJ.restore();Z(L.drawOverlay,[AJ])}function AE(AM,AK,AN){if(typeof AM=="number"){AM=O[AM]}if(typeof AK=="number"){AK=AM.data[AK]}var AL=j(AM,AK);if(AL==-1){w.push({series:AM,point:AK,auto:AN});q()}else{if(!AN){w[AL].auto=false}}}function x(AM,AK){if(AM==null&&AK==null){w=[];q()}if(typeof AM=="number"){AM=O[AM]}if(typeof AK=="number"){AK=AM.data[AK]}var AL=j(AM,AK);if(AL!=-1){w.splice(AL,1);q()}}function j(AM,AN){for(var AK=0;AK<w.length;++AK){var AL=w[AK];if(AL.series==AM&&AL.point[0]==AN[0]&&AL.point[1]==AN[1]){return AK}}return -1}function u(AN,AM){var AL=AM[0],AR=AM[1],AQ=AN.xaxis,AP=AN.yaxis;if(AL<AQ.min||AL>AQ.max||AR<AP.min||AR>AP.max){return }var AO=AN.points.radius+AN.points.lineWidth/2;AJ.lineWidth=AO;AJ.strokeStyle=C.color.parse(AN.color).scale("a",0.5).toString();var AK=1.5*AO;AJ.beginPath();AJ.arc(AQ.p2c(AL),AP.p2c(AR),AK,0,2*Math.PI,false);AJ.stroke()}function z(AN,AK){AJ.lineWidth=AN.bars.lineWidth;AJ.strokeStyle=C.color.parse(AN.color).scale("a",0.5).toString();var AM=C.color.parse(AN.color).scale("a",0.5).toString();var AL=AN.bars.align=="left"?0:-AN.bars.barWidth/2;AB(AK[0],AK[1],AK[2]||0,AL,AL+AN.bars.barWidth,0,function(){return AM},AN.xaxis,AN.yaxis,AJ,AN.bars.horizontal)}function R(AM,AL,AQ,AO){if(typeof AM=="string"){return AM}else{var AP=Y.createLinearGradient(0,AQ,0,AL);for(var AN=0,AK=AM.colors.length;AN<AK;++AN){var AR=AM.colors[AN];if(typeof AR!="string"){AR=C.color.parse(AO).scale("rgb",AR.brightness);AR.a*=AR.opacity;AR=AR.toString()}AP.addColorStop(AN/(AK-1),AR)}return AP}}}C.plot=function(G,E,D){var F=new B(C(G),E,D,C.plot.plugins);return F};C.plot.plugins=[];C.plot.formatDate=function(H,E,G){var L=function(N){N=""+N;return N.length==1?"0"+N:N};var D=[];var M=false;var K=H.getUTCHours();var I=K<12;if(G==null){G=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}if(E.search(/%p|%P/)!=-1){if(K>12){K=K-12}else{if(K==0){K=12}}}for(var F=0;F<E.length;++F){var J=E.charAt(F);if(M){switch(J){case"h":J=""+K;break;case"H":J=L(K);break;case"M":J=L(H.getUTCMinutes());break;case"S":J=L(H.getUTCSeconds());break;case"d":J=""+H.getUTCDate();break;case"m":J=""+(H.getUTCMonth()+1);break;case"y":J=""+H.getUTCFullYear();break;case"b":J=""+G[H.getUTCMonth()];break;case"p":J=(I)?("am"):("pm");break;case"P":J=(I)?("AM"):("PM");break}D.push(J);M=false}else{if(J=="%"){M=true}else{D.push(J)}}}return D.join("")};function A(E,D){return D*Math.floor(E/D)}})(jQuery);
(function($){
	/* hoverIntent by Brian Cherne */
	$.fn.hoverIntent = function(f,g) {
		// default configuration options
		var cfg = {
			sensitivity: 7,
			interval: 100,
			timeout: 0
		};
		// override configuration options with user supplied object
		cfg = $.extend(cfg, g ? { over: f, out: g } : f );

		// instantiate variables
		// cX, cY = current X and Y position of mouse, updated by mousemove event
		// pX, pY = previous X and Y position of mouse, set by mouseover and polling interval
		var cX, cY, pX, pY;

		// A private function for getting mouse position
		var track = function(ev) {
			cX = ev.pageX;
			cY = ev.pageY;
		};

		// A private function for comparing current and previous mouse position
		var compare = function(ev,ob) {
			ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t);
			// compare mouse positions to see if they've crossed the threshold
			if ( ( Math.abs(pX-cX) + Math.abs(pY-cY) ) < cfg.sensitivity ) {
				$(ob).unbind("mousemove",track);
				// set hoverIntent state to true (so mouseOut can be called)
				ob.hoverIntent_s = 1;
				return cfg.over.apply(ob,[ev]);
			} else {
				// set previous coordinates for next time
				pX = cX; pY = cY;
				// use self-calling timeout, guarantees intervals are spaced out properly (avoids JavaScript timer bugs)
				ob.hoverIntent_t = setTimeout( function(){compare(ev, ob);} , cfg.interval );
			}
		};

		// A private function for delaying the mouseOut function
		var delay = function(ev,ob) {
			ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t);
			ob.hoverIntent_s = 0;
			return cfg.out.apply(ob,[ev]);
		};

		// A private function for handling mouse 'hovering'
		var handleHover = function(e) {
			// next three lines copied from jQuery.hover, ignore children onMouseOver/onMouseOut
			var p = (e.type == "mouseover" ? e.fromElement : e.toElement) || e.relatedTarget;
			while ( p && p != this ) { try { p = p.parentNode; } catch(e) { p = this; } }
			if ( p == this ) { return false; }

			// copy objects to be passed into t (required for event object to be passed in IE)
			var ev = jQuery.extend({},e);
			var ob = this;

			// cancel hoverIntent timer if it exists
			if (ob.hoverIntent_t) { ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); }

			// else e.type == "onmouseover"
			if (e.type == "mouseover") {
				// set "previous" X and Y position based on initial entry point
				pX = ev.pageX; pY = ev.pageY;
				// update "current" X and Y position based on mousemove
				$(ob).bind("mousemove",track);
				// start polling interval (self-calling timeout) to compare mouse coordinates over time
				if (ob.hoverIntent_s != 1) { ob.hoverIntent_t = setTimeout( function(){compare(ev,ob);} , cfg.interval );}

			// else e.type == "onmouseout"
			} else {
				// unbind expensive mousemove event
				$(ob).unbind("mousemove",track);
				// if hoverIntent state is true, then call the mouseOut function after the specified delay
				if (ob.hoverIntent_s == 1) { ob.hoverIntent_t = setTimeout( function(){delay(ev,ob);} , cfg.timeout );}
			}
		};

		// bind the function to the two event listeners
		return this.mouseover(handleHover).mouseout(handleHover);
	};
	
})(jQuery);
/* Copyright (c) 2006 Brandon Aaron (http://brandonaaron.net)
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) 
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 *
 * $LastChangedDate: 2007-07-22 01:45:56 +0200 (Son, 22 Jul 2007) $
 * $Rev: 2447 $
 *
 * Version 2.1.1
 */
(function($){$.fn.bgIframe=$.fn.bgiframe=function(s){if($.browser.msie&&/6.0/.test(navigator.userAgent)){s=$.extend({top:'auto',left:'auto',width:'auto',height:'auto',opacity:true,src:'javascript:false;'},s||{});var prop=function(n){return n&&n.constructor==Number?n+'px':n;},html='<iframe class="bgiframe"frameborder="0"tabindex="-1"src="'+s.src+'"'+'style="display:block;position:absolute;z-index:-1;'+(s.opacity!==false?'filter:Alpha(Opacity=\'0\');':'')+'top:'+(s.top=='auto'?'expression(((parseInt(this.parentNode.currentStyle.borderTopWidth)||0)*-1)+\'px\')':prop(s.top))+';'+'left:'+(s.left=='auto'?'expression(((parseInt(this.parentNode.currentStyle.borderLeftWidth)||0)*-1)+\'px\')':prop(s.left))+';'+'width:'+(s.width=='auto'?'expression(this.parentNode.offsetWidth+\'px\')':prop(s.width))+';'+'height:'+(s.height=='auto'?'expression(this.parentNode.offsetHeight+\'px\')':prop(s.height))+';'+'"/>';return this.each(function(){if($('> iframe.bgiframe',this).length==0)this.insertBefore(document.createElement(html),this.firstChild);});}return this;};})(jQuery);

/*
 * Superfish v1.4.8 - jQuery menu widget
 * Copyright (c) 2008 Joel Birch
 *
 * Dual licensed under the MIT and GPL licenses:
 * 	http://www.opensource.org/licenses/mit-license.php
 * 	http://www.gnu.org/licenses/gpl.html
 *
 * CHANGELOG: http://users.tpg.com.au/j_birch/plugins/superfish/changelog.txt
 */

;(function($){
	$.fn.superfish = function(op){

		var sf = $.fn.superfish,
			c = sf.c,
			$arrow = $(['<span class="',c.arrowClass,'"> &#187;</span>'].join('')),
			over = function(){
				var $$ = $(this), menu = getMenu($$);
				clearTimeout(menu.sfTimer);
				$$.showSuperfishUl().siblings().hideSuperfishUl();
			},
			out = function(){
				var $$ = $(this), menu = getMenu($$), o = sf.op;
				clearTimeout(menu.sfTimer);
				menu.sfTimer=setTimeout(function(){
					o.retainPath=($.inArray($$[0],o.$path)>-1);
					$$.hideSuperfishUl();
					if (o.$path.length && $$.parents(['li.',o.hoverClass].join('')).length<1){over.call(o.$path);}
				},o.delay);	
			},
			getMenu = function($menu){
				var menu = $menu.parents(['ul.',c.menuClass,':first'].join(''))[0];
				sf.op = sf.o[menu.serial];
				return menu;
			},
			addArrow = function($a){ $a.addClass(c.anchorClass).append($arrow.clone()); };
			
		return this.each(function() {
			var s = this.serial = sf.o.length;
			var o = $.extend({},sf.defaults,op);
			o.$path = $('li.'+o.pathClass,this).slice(0,o.pathLevels).each(function(){
				$(this).addClass([o.hoverClass,c.bcClass].join(' '))
					.filter('li:has(ul)').removeClass(o.pathClass);
			});
			sf.o[s] = sf.op = o;
			
			$('li:has(ul)',this)[($.fn.hoverIntent && !o.disableHI) ? 'hoverIntent' : 'hover'](over,out).each(function() {
				if (o.autoArrows) addArrow( $('>a:first-child',this) );
			})
			.not('.'+c.bcClass)
				.hideSuperfishUl();
			
			var $a = $('a',this);
			$a.each(function(i){
				var $li = $a.eq(i).parents('li');
				$a.eq(i).focus(function(){over.call($li);}).blur(function(){out.call($li);});
			});
			o.onInit.call(this);
			
		}).each(function() {
			var menuClasses = [c.menuClass];
			if (sf.op.dropShadows  && !($.browser.msie && $.browser.version < 7)) menuClasses.push(c.shadowClass);
			$(this).addClass(menuClasses.join(' '));
		});
	};

	var sf = $.fn.superfish;
	sf.o = [];
	sf.op = {};
	sf.IE7fix = function(){
		var o = sf.op;
		if ($.browser.msie && $.browser.version > 6 && o.dropShadows && o.animation.opacity!=undefined)
			this.toggleClass(sf.c.shadowClass+'-off');
		};
	sf.c = {
		bcClass     : 'sf-breadcrumb',
		menuClass   : 'sf-js-enabled',
		anchorClass : 'sf-with-ul',
		arrowClass  : 'sf-sub-indicator',
		shadowClass : 'sf-shadow'
	};
	sf.defaults = {
		hoverClass	: 'sfHover',
		pathClass	: 'overideThisToUse',
		pathLevels	: 1,
		delay		: 800,
		animation	: {opacity:'show'},
		speed		: 'normal',
		autoArrows	: true,
		dropShadows : true,
		disableHI	: false,		// true disables hoverIntent detection
		onInit		: function(){}, // callback functions
		onBeforeShow: function(){},
		onShow		: function(){},
		onHide		: function(){}
	};
	$.fn.extend({
		hideSuperfishUl : function(){
			var o = sf.op,
				not = (o.retainPath===true) ? o.$path : '';
			o.retainPath = false;
			var $ul = $(['li.',o.hoverClass].join(''),this).add(this).not(not).removeClass(o.hoverClass)
					.find('>ul').hide().css('visibility','hidden');
			o.onHide.call($ul);
			return this;
		},
		showSuperfishUl : function(){
			var o = sf.op,
				sh = sf.c.shadowClass+'-off',
				$ul = this.addClass(o.hoverClass)
					.find('>ul:hidden').css('visibility','visible');
			sf.IE7fix.call($ul);
			o.onBeforeShow.call($ul);
			$ul.animate(o.animation,o.speed,function(){ sf.IE7fix.call($ul); o.onShow.call($ul); });
			return this;
		}
	});

})(jQuery);

/*!
* jQuery blockUI plugin
* Version 2.31 (06-JAN-2010)
* @requires jQuery v1.2.3 or later
*
* Examples at: http://malsup.com/jquery/block/
* Copyright (c) 2007-2008 M. Alsup
* Dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*
* Thanks to Amir-Hossein Sobhi for some excellent contributions!
*/

; (function ($) {

    if (/1\.(0|1|2)\.(0|1|2)/.test($.fn.jquery) || /^1.1/.test($.fn.jquery)) {
        alert('blockUI requires jQuery v1.2.3 or later!  You are using v' + $.fn.jquery);
        return;
    }

    $.fn._fadeIn = $.fn.fadeIn;

    var noOp = function () { };

    // this bit is to ensure we don't call setExpression when we shouldn't (with extra muscle to handle
    // retarded userAgent strings on Vista)
    var mode = document.documentMode || 0;
    var setExpr = $.browser.msie && (($.browser.version < 8 && !mode) || mode < 8);
    var ie6 = $.browser.msie && /MSIE 6.0/.test(navigator.userAgent) && !mode;

    // global $ methods for blocking/unblocking the entire page
    $.blockUI = function (opts) { install(window, opts); };
    $.unblockUI = function (opts) { remove(window, opts); };

    // convenience method for quick growl-like notifications  (http://www.google.com/search?q=growl)
    $.growlUI = function (title, message, timeout, onClose) {
        var $m = $('<div class="growlUI"></div>');
        if (title) $m.append('<h1>' + title + '</h1>');
        if (message) $m.append('<h2>' + message + '</h2>');
        if (timeout == undefined) timeout = 3000;
        $.blockUI({
            message: $m, fadeIn: 700, fadeOut: 1000, centerY: false,
            timeout: timeout, showOverlay: false,
            onUnblock: onClose,
            css: $.blockUI.defaults.growlCSS
        });
    };

    // plugin method for blocking element content
    $.fn.block = function (opts) {
        return this.unblock({ fadeOut: 0 }).each(function () {
            if ($.css(this, 'position') == 'static')
                this.style.position = 'relative';
            if ($.browser.msie)
                this.style.zoom = 1; // force 'hasLayout'
            install(this, opts);
        });
    };

    // plugin method for unblocking element content
    $.fn.unblock = function (opts) {
        return this.each(function () {
            remove(this, opts);
        });
    };

    $.blockUI.version = 2.31; // 2nd generation blocking at no extra cost!

    // override these in your code to change the default behavior and style
    $.blockUI.defaults = {
        // message displayed when blocking (use null for no message)
        message: '<h1>Please wait...</h1>',

        title: null,   // title string; only used when theme == true
        draggable: true,  // only used when theme == true (requires jquery-ui.js to be loaded)

        theme: false, // set to true to use with jQuery UI themes

        // styles for the message when blocking; if you wish to disable
        // these and use an external stylesheet then do this in your code:
        // $.blockUI.defaults.css = {};
        css: {
            padding: 0,
            margin: 0,
            width: '30%',
            top: '40%',
            left: '35%',
            textAlign: 'center',
            color: '#000',
            border: '3px solid #aaa',
            backgroundColor: '#fff',
            cursor: 'wait'
        },

        // minimal style set used when themes are used
        themedCSS: {
            width: '30%',
            top: '40%',
            left: '35%'
        },

        // styles for the overlay
        overlayCSS: {
            backgroundColor: '#000',
            opacity: 0.6,
            cursor: 'wait'
        },

        // styles applied when using $.growlUI
        growlCSS: {
            width: '350px',
            top: '10px',
            left: '',
            right: '10px',
            border: 'none',
            padding: '5px',
            opacity: 0.6,
            cursor: 'default',
            color: '#fff',
            backgroundColor: '#000',
            '-webkit-border-radius': '10px',
            '-moz-border-radius': '10px'
        },

        // IE issues: 'about:blank' fails on HTTPS and javascript:false is s-l-o-w
        // (hat tip to Jorge H. N. de Vasconcelos)
        iframeSrc: /^https/i.test(window.location.href || '') ? 'javascript:false' : 'about:blank',

        // force usage of iframe in non-IE browsers (handy for blocking applets)
        forceIframe: false,

        // z-index for the blocking overlay
        baseZ: 1000,

        // set these to true to have the message automatically centered
        centerX: true, // <-- only effects element blocking (page block controlled via css above)
        centerY: true,

        // allow body element to be stetched in ie6; this makes blocking look better
        // on "short" pages.  disable if you wish to prevent changes to the body height
        allowBodyStretch: true,

        // enable if you want key and mouse events to be disabled for content that is blocked
        bindEvents: true,

        // be default blockUI will supress tab navigation from leaving blocking content
        // (if bindEvents is true)
        constrainTabKey: true,

        // fadeIn time in millis; set to 0 to disable fadeIn on block
        fadeIn: 200,

        // fadeOut time in millis; set to 0 to disable fadeOut on unblock
        fadeOut: 400,

        // time in millis to wait before auto-unblocking; set to 0 to disable auto-unblock
        timeout: 0,

        // disable if you don't want to show the overlay
        showOverlay: true,

        // if true, focus will be placed in the first available input field when
        // page blocking
        focusInput: true,

        // suppresses the use of overlay styles on FF/Linux (due to performance issues with opacity)
        applyPlatformOpacityRules: true,

        // callback method invoked when fadeIn has completed and blocking message is visible
        onBlock: null,

        // callback method invoked when unblocking has completed; the callback is
        // passed the element that has been unblocked (which is the window object for page
        // blocks) and the options that were passed to the unblock call:
        //	 onUnblock(element, options)
        onUnblock: null,

        // don't ask; if you really must know: http://groups.google.com/group/jquery-en/browse_thread/thread/36640a8730503595/2f6a79a77a78e493#2f6a79a77a78e493
        quirksmodeOffsetHack: 4
    };

    // private data and functions follow...

    var pageBlock = null;
    var pageBlockEls = [];

    function install(el, opts) {
        var full = (el == window);
        var msg = opts && opts.message !== undefined ? opts.message : undefined;
        opts = $.extend({}, $.blockUI.defaults, opts || {});
        opts.overlayCSS = $.extend({}, $.blockUI.defaults.overlayCSS, opts.overlayCSS || {});
        var css = $.extend({}, $.blockUI.defaults.css, opts.css || {});
        var themedCSS = $.extend({}, $.blockUI.defaults.themedCSS, opts.themedCSS || {});
        msg = msg === undefined ? opts.message : msg;

        // remove the current block (if there is one)
        if (full && pageBlock)
            remove(window, { fadeOut: 0 });

        // if an existing element is being used as the blocking content then we capture
        // its current place in the DOM (and current display style) so we can restore
        // it when we unblock
        if (msg && typeof msg != 'string' && (msg.parentNode || msg.jquery)) {
            var node = msg.jquery ? msg[0] : msg;
            var data = {};
            $(el).data('blockUI.history', data);
            data.el = node;
            data.parent = node.parentNode;
            data.display = node.style.display;
            data.position = node.style.position;
            if (data.parent)
                data.parent.removeChild(node);
        }

        var z = opts.baseZ;

        // blockUI uses 3 layers for blocking, for simplicity they are all used on every platform;
        // layer1 is the iframe layer which is used to supress bleed through of underlying content
        // layer2 is the overlay layer which has opacity and a wait cursor (by default)
        // layer3 is the message content that is displayed while blocking

        var lyr1 = ($.browser.msie || opts.forceIframe)
		? $('<iframe class="blockUI" style="z-index:' + (z++) + ';display:none;border:none;margin:0;padding:0;position:absolute;width:100%;height:100%;top:0;left:0" src="' + opts.iframeSrc + '"></iframe>')
		: $('<div class="blockUI" style="display:none"></div>');
        var lyr2 = $('<div class="blockUI blockOverlay" style="z-index:' + (z++) + ';display:none;border:none;margin:0;padding:0;width:100%;height:100%;top:0;left:0"></div>');

        var lyr3;
        if (opts.theme && full) {
            var s = '<div class="blockUI blockMsg blockPage ui-dialog ui-widget ui-corner-all" style="z-index:' + z + ';display:none;position:fixed">' +
					'<div class="ui-widget-header ui-dialog-titlebar blockTitle">' + (opts.title || '&nbsp;') + '</div>' +
					'<div class="ui-widget-content ui-dialog-content"></div>' +
				'</div>';
            lyr3 = $(s);
        }
        else {
            lyr3 = full ? $('<div class="blockUI blockMsg blockPage" style="z-index:' + z + ';display:none;position:fixed"></div>')
					: $('<div class="blockUI blockMsg blockElement" style="z-index:' + z + ';display:none;position:absolute"></div>');
        }

        // if we have a message, style it
        if (msg) {
            if (opts.theme) {
                lyr3.css(themedCSS);
                lyr3.addClass('ui-widget-content');
            }
            else
                lyr3.css(css);
        }

        // style the overlay
        if (!opts.applyPlatformOpacityRules || !($.browser.mozilla && /Linux/.test(navigator.platform)))
            lyr2.css(opts.overlayCSS);
        lyr2.css('position', full ? 'fixed' : 'absolute');

        // make iframe layer transparent in IE
        if ($.browser.msie || opts.forceIframe)
            lyr1.css('opacity', 0.0);

        //$([lyr1[0],lyr2[0],lyr3[0]]).appendTo(full ? 'body' : el);
        var layers = [lyr1, lyr2, lyr3], $par = full ? $('body') : $(el);
        $.each(layers, function () {
            this.appendTo($par);
        });

        if (opts.theme && opts.draggable && $.fn.draggable) {
            lyr3.draggable({
                handle: '.ui-dialog-titlebar',
                cancel: 'li'
            });
        }

        // ie7 must use absolute positioning in quirks mode and to account for activex issues (when scrolling)
        var expr = setExpr && (!$.boxModel || $('object,embed', full ? null : el).length > 0);
        if (ie6 || expr) {
            // give body 100% height
            if (full && opts.allowBodyStretch && $.boxModel)
                $('html,body').css('height', '100%');

            // fix ie6 issue when blocked element has a border width
            if ((ie6 || !$.boxModel) && !full) {
                var t = sz(el, 'borderTopWidth'), l = sz(el, 'borderLeftWidth');
                var fixT = t ? '(0 - ' + t + ')' : 0;
                var fixL = l ? '(0 - ' + l + ')' : 0;
            }

            // simulate fixed position
            $.each([lyr1, lyr2, lyr3], function (i, o) {
                var s = o[0].style;
                s.position = 'absolute';
                if (i < 2) {
                    full ? s.setExpression('height', 'Math.max(document.body.scrollHeight, document.body.offsetHeight) - (jQuery.boxModel?0:' + opts.quirksmodeOffsetHack + ') + "px"')
					 : s.setExpression('height', 'this.parentNode.offsetHeight + "px"');
                    full ? s.setExpression('width', 'jQuery.boxModel && document.documentElement.clientWidth || document.body.clientWidth + "px"')
					 : s.setExpression('width', 'this.parentNode.offsetWidth + "px"');
                    if (fixL) s.setExpression('left', fixL);
                    if (fixT) s.setExpression('top', fixT);
                }
                else if (opts.centerY) {
                    if (full) s.setExpression('top', '(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "px"');
                    s.marginTop = 0;
                }
                else if (!opts.centerY && full) {
                    var top = (opts.css && opts.css.top) ? parseInt(opts.css.top) : 0;
                    var expression = '((document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + ' + top + ') + "px"';
                    s.setExpression('top', expression);
                }
            });
        }

        // show the message
        if (msg) {
            if (opts.theme)
                lyr3.find('.ui-widget-content').append(msg);
            else
                lyr3.append(msg);
            if (msg.jquery || msg.nodeType)
                $(msg).show();
        }

        if (($.browser.msie || opts.forceIframe) && opts.showOverlay)
            lyr1.show(); // opacity is zero
        if (opts.fadeIn) {
            var cb = opts.onBlock ? opts.onBlock : noOp;
            var cb1 = (opts.showOverlay && !msg) ? cb : noOp;
            var cb2 = msg ? cb : noOp;
            if (opts.showOverlay)
                lyr2._fadeIn(opts.fadeIn, cb1);
            if (msg)
                lyr3._fadeIn(opts.fadeIn, cb2);
        }
        else {
            if (opts.showOverlay)
                lyr2.show();
            if (msg)
                lyr3.show();
            if (opts.onBlock)
                opts.onBlock();
        }

        // bind key and mouse events
        bind(1, el, opts);

        if (full) {
            pageBlock = lyr3[0];
            pageBlockEls = $(':input:enabled:visible', pageBlock);
            if (opts.focusInput)
                setTimeout(focus, 20);
        }
        else
            center(lyr3[0], opts.centerX, opts.centerY);

        if (opts.timeout) {
            // auto-unblock
            var to = setTimeout(function () {
                full ? $.unblockUI(opts) : $(el).unblock(opts);
            }, opts.timeout);
            $(el).data('blockUI.timeout', to);
        }
    };

    // remove the block
    function remove(el, opts) {
        var full = (el == window);
        var $el = $(el);
        var data = $el.data('blockUI.history');
        var to = $el.data('blockUI.timeout');
        if (to) {
            clearTimeout(to);
            $el.removeData('blockUI.timeout');
        }
        opts = $.extend({}, $.blockUI.defaults, opts || {});
        bind(0, el, opts); // unbind events

        var els;
        if (full) // crazy selector to handle odd field errors in ie6/7
            els = $('body').children().filter('.blockUI').add('body > .blockUI');
        else
            els = $('.blockUI', el);

        if (full)
            pageBlock = pageBlockEls = null;

        if (opts.fadeOut) {
            els.fadeOut(opts.fadeOut);
            setTimeout(function () { reset(els, data, opts, el); }, opts.fadeOut);
        }
        else
            reset(els, data, opts, el);
    };

    // move blocking element back into the DOM where it started
    function reset(els, data, opts, el) {
        els.each(function (i, o) {
            // remove via DOM calls so we don't lose event handlers
            if (this.parentNode)
                this.parentNode.removeChild(this);
        });

        if (data && data.el) {
            data.el.style.display = data.display;
            data.el.style.position = data.position;
            if (data.parent)
                data.parent.appendChild(data.el);
            $(el).removeData('blockUI.history');
        }

        if (typeof opts.onUnblock == 'function')
            opts.onUnblock(el, opts);
    };

    // bind/unbind the handler
    function bind(b, el, opts) {
        var full = el == window, $el = $(el);

        // don't bother unbinding if there is nothing to unbind
        if (!b && (full && !pageBlock || !full && !$el.data('blockUI.isBlocked')))
            return;
        if (!full)
            $el.data('blockUI.isBlocked', b);

        // don't bind events when overlay is not in use or if bindEvents is false
        if (!opts.bindEvents || (b && !opts.showOverlay))
            return;

        // bind anchors and inputs for mouse and key events
        var events = 'mousedown mouseup keydown keypress';
        b ? $(document).bind(events, opts, handler) : $(document).unbind(events, handler);

        // former impl...
        //	   var $e = $('a,:input');
        //	   b ? $e.bind(events, opts, handler) : $e.unbind(events, handler);
    };

    // event handler to suppress keyboard/mouse events when blocking
    function handler(e) {
        // allow tab navigation (conditionally)
        if (e.keyCode && e.keyCode == 9) {
            if (pageBlock && e.data.constrainTabKey) {
                var els = pageBlockEls;
                var fwd = !e.shiftKey && e.target == els[els.length - 1];
                var back = e.shiftKey && e.target == els[0];
                if (fwd || back) {
                    setTimeout(function () { focus(back) }, 10);
                    return false;
                }
            }
        }
        // allow events within the message content
        if ($(e.target).parents('div.blockMsg').length > 0)
            return true;

        // allow events for content that is not being blocked
        return $(e.target).parents().children().filter('div.blockUI').length == 0;
    };

    function focus(back) {
        if (!pageBlockEls)
            return;
        var e = pageBlockEls[back === true ? pageBlockEls.length - 1 : 0];
        if (e)
            e.focus();
    };

    function center(el, x, y) {
        var p = el.parentNode, s = el.style;
        var l = ((p.offsetWidth - el.offsetWidth) / 2) - sz(p, 'borderLeftWidth');
        var t = ((p.offsetHeight - el.offsetHeight) / 2) - sz(p, 'borderTopWidth');
        if (x) s.left = l > 0 ? (l + 'px') : '0';
        if (y) s.top = t > 0 ? (t + 'px') : '0';
    };

    function sz(el, p) {
        return parseInt($.css(el, p)) || 0;
    };

})(jQuery);


var IsDebug;
IsDebug = false;
var mySearch = new Array();
var iNoOfSearch;
var orgdest;
var dtDateOut;
var dtDateBack;
orgdest = "";
var ShownOnce = false;
var WeekendListRefresh = false;
var aLowPriceList = new Array(525); aLowPriceList[0] = 'AESCPH'; aLowPriceList[1] = 'AESHEL'; aLowPriceList[2] = 'AESPAR'; aLowPriceList[3] = 'AESREK'; aLowPriceList[4] = 'AESMIL'; aLowPriceList[5] = 'AESPLQ'; aLowPriceList[6] = 'AESAMS'; aLowPriceList[7] = 'AESALF'; aLowPriceList[8] = 'AESBDU'; aLowPriceList[9] = 'AESBGO'; aLowPriceList[10] = 'AESEVE'; aLowPriceList[11] = 'AESHAU'; aLowPriceList[12] = 'AESKKN'; aLowPriceList[13] = 'AESKRS'; aLowPriceList[14] = 'AESLYR'; aLowPriceList[15] = 'AESMOL'; aLowPriceList[16] = 'AESOSL'; aLowPriceList[17] = 'AESSVG'; aLowPriceList[18] = 'AESTOS'; aLowPriceList[19] = 'AESTRD'; aLowPriceList[20] = 'AESABZ'; aLowPriceList[21] = 'AESLON'; aLowPriceList[22] = 'AESMAN'; aLowPriceList[23] = 'AESSTO'; aLowPriceList[24] = 'AESDUS'; aLowPriceList[25] = 'AESFRA'; aLowPriceList[26] = 'ALFCPH'; aLowPriceList[27] = 'ALFPAR'; aLowPriceList[28] = 'ALFAMS'; aLowPriceList[29] = 'ALFAES'; aLowPriceList[30] = 'ALFBDU'; aLowPriceList[31] = 'ALFBGO'; aLowPriceList[32] = 'ALFBOO'; aLowPriceList[33] = 'ALFEVE'; aLowPriceList[34] = 'ALFHAU'; aLowPriceList[35] = 'ALFKRS'; aLowPriceList[36] = 'ALFLYR'; aLowPriceList[37] = 'ALFMOL'; aLowPriceList[38] = 'ALFOSL'; aLowPriceList[39] = 'ALFSVG'; aLowPriceList[40] = 'ALFTOS'; aLowPriceList[41] = 'ALFTRD'; aLowPriceList[42] = 'ALFGDN'; aLowPriceList[43] = 'ALFLON'; aLowPriceList[44] = 'ALFSTO'; aLowPriceList[45] = 'BDUCPH'; aLowPriceList[46] = 'BDUAES'; aLowPriceList[47] = 'BDUALF'; aLowPriceList[48] = 'BDUBGO'; aLowPriceList[49] = 'BDUBOO'; aLowPriceList[50] = 'BDUEVE'; aLowPriceList[51] = 'BDUHAU'; aLowPriceList[52] = 'BDUKRS'; aLowPriceList[53] = 'BDUMOL'; aLowPriceList[54] = 'BDUOSL'; aLowPriceList[55] = 'BDUSVG'; aLowPriceList[56] = 'BDUTRD'; aLowPriceList[57] = 'BDUSTO'; aLowPriceList[58] = 'BGOBRU'; aLowPriceList[59] = 'BGOBLL'; aLowPriceList[60] = 'BGOCPH'; aLowPriceList[61] = 'BGOHEL'; aLowPriceList[62] = 'BGONCE'; aLowPriceList[63] = 'BGOPAR'; aLowPriceList[64] = 'BGOATH'; aLowPriceList[65] = 'BGOREK'; aLowPriceList[66] = 'BGOBLQ'; aLowPriceList[67] = 'BGOMIL'; aLowPriceList[68] = 'BGOROM'; aLowPriceList[69] = 'BGODBV'; aLowPriceList[70] = 'BGOSPU'; aLowPriceList[71] = 'BGOPLQ'; aLowPriceList[72] = 'BGOLUX'; aLowPriceList[73] = 'BGOAES'; aLowPriceList[74] = 'BGOALF'; aLowPriceList[75] = 'BGOBDU'; aLowPriceList[76] = 'BGOBOO'; aLowPriceList[77] = 'BGOEVE'; aLowPriceList[78] = 'BGOHAU'; aLowPriceList[79] = 'BGOKKN'; aLowPriceList[80] = 'BGOKRS'; aLowPriceList[81] = 'BGOKSU'; aLowPriceList[82] = 'BGOLYR'; aLowPriceList[83] = 'BGOMOL'; aLowPriceList[84] = 'BGORYG'; aLowPriceList[85] = 'BGOOSL'; aLowPriceList[86] = 'BGOSVG'; aLowPriceList[87] = 'BGOTOS'; aLowPriceList[88] = 'BGOTRD'; aLowPriceList[89] = 'BGOKRK'; aLowPriceList[90] = 'BGOPOZ'; aLowPriceList[91] = 'BGOWAW'; aLowPriceList[92] = 'BGOALC'; aLowPriceList[93] = 'BGOBCN'; aLowPriceList[94] = 'BGOAGP'; aLowPriceList[95] = 'BGOMJV'; aLowPriceList[96] = 'BGOABZ'; aLowPriceList[97] = 'BGOBHX'; aLowPriceList[98] = 'BGOLGW'; aLowPriceList[99] = 'BGOMAN'; aLowPriceList[100] = 'BGOZRH'; aLowPriceList[101] = 'BGOPRG'; aLowPriceList[102] = 'BGOAYT'; aLowPriceList[103] = 'BGOSXF'; aLowPriceList[104] = 'BGODUS'; aLowPriceList[105] = 'BGOFRA'; aLowPriceList[106] = 'BGOHAJ'; aLowPriceList[107] = 'BGOSTR'; aLowPriceList[108] = 'BOOBRU'; aLowPriceList[109] = 'BOOCPH'; aLowPriceList[110] = 'BOOHEL'; aLowPriceList[111] = 'BOOPAR'; aLowPriceList[112] = 'BOOREK'; aLowPriceList[113] = 'BOOMIL'; aLowPriceList[114] = 'BOOAMS'; aLowPriceList[115] = 'BOOALF'; aLowPriceList[116] = 'BOOBDU'; aLowPriceList[117] = 'BOOBGO'; aLowPriceList[118] = 'BOOEVE'; aLowPriceList[119] = 'BOOHAU'; aLowPriceList[120] = 'BOOKKN'; aLowPriceList[121] = 'BOOKRS'; aLowPriceList[122] = 'BOOKSU'; aLowPriceList[123] = 'BOOLYR'; aLowPriceList[124] = 'BOOMOL'; aLowPriceList[125] = 'BOORYG'; aLowPriceList[126] = 'BOOOSL'; aLowPriceList[127] = 'BOOSVG'; aLowPriceList[128] = 'BOOTOS'; aLowPriceList[129] = 'BOOTRD'; aLowPriceList[130] = 'BOOABZ'; aLowPriceList[131] = 'BOOLON'; aLowPriceList[132] = 'BOOMAN'; aLowPriceList[133] = 'BOOZRH'; aLowPriceList[134] = 'BOOSTO'; aLowPriceList[135] = 'BOODUS'; aLowPriceList[136] = 'BOOFRA'; aLowPriceList[137] = 'EVEBRU'; aLowPriceList[138] = 'EVECPH'; aLowPriceList[139] = 'EVEHEL'; aLowPriceList[140] = 'EVEPAR'; aLowPriceList[141] = 'EVEREK'; aLowPriceList[142] = 'EVEAES'; aLowPriceList[143] = 'EVEALF'; aLowPriceList[144] = 'EVEBDU'; aLowPriceList[145] = 'EVEBGO'; aLowPriceList[146] = 'EVEBOO'; aLowPriceList[147] = 'EVEHAU'; aLowPriceList[148] = 'EVEKKN'; aLowPriceList[149] = 'EVEKRS'; aLowPriceList[150] = 'EVEKSU'; aLowPriceList[151] = 'EVELYR'; aLowPriceList[152] = 'EVEMOL'; aLowPriceList[153] = 'EVEOSL'; aLowPriceList[154] = 'EVESVG'; aLowPriceList[155] = 'EVETOS'; aLowPriceList[156] = 'EVETRD'; aLowPriceList[157] = 'EVELON'; aLowPriceList[158] = 'EVEMAN'; aLowPriceList[159] = 'EVESTO'; aLowPriceList[160] = 'EVEFRA'; aLowPriceList[161] = 'HAUBRU'; aLowPriceList[162] = 'HAUCPH'; aLowPriceList[163] = 'HAUHEL'; aLowPriceList[164] = 'HAUPAR'; aLowPriceList[165] = 'HAUREK'; aLowPriceList[166] = 'HAUMIL'; aLowPriceList[167] = 'HAUPLQ'; aLowPriceList[168] = 'HAUAES'; aLowPriceList[169] = 'HAUALF'; aLowPriceList[170] = 'HAUBDU'; aLowPriceList[171] = 'HAUBGO'; aLowPriceList[172] = 'HAUBOO'; aLowPriceList[173] = 'HAUEVE'; aLowPriceList[174] = 'HAUKKN'; aLowPriceList[175] = 'HAUKRS'; aLowPriceList[176] = 'HAUKSU'; aLowPriceList[177] = 'HAULYR'; aLowPriceList[178] = 'HAUMOL'; aLowPriceList[179] = 'HAUOSL'; aLowPriceList[180] = 'HAUSVG'; aLowPriceList[181] = 'HAUTOS'; aLowPriceList[182] = 'HAUTRD'; aLowPriceList[183] = 'HAUALC'; aLowPriceList[184] = 'HAULON'; aLowPriceList[185] = 'HAUSTO'; aLowPriceList[186] = 'HAUBER'; aLowPriceList[187] = 'HAUBRE'; aLowPriceList[188] = 'HAUFRA'; aLowPriceList[189] = 'KKNPAR'; aLowPriceList[190] = 'KKNAES'; aLowPriceList[191] = 'KKNBGO'; aLowPriceList[192] = 'KKNBOO'; aLowPriceList[193] = 'KKNEVE'; aLowPriceList[194] = 'KKNHAU'; aLowPriceList[195] = 'KKNKRS'; aLowPriceList[196] = 'KKNKSU'; aLowPriceList[197] = 'KKNOSL'; aLowPriceList[198] = 'KKNSVG'; aLowPriceList[199] = 'KKNTRD'; aLowPriceList[200] = 'KKNLON'; aLowPriceList[201] = 'KKNFRA'; aLowPriceList[202] = 'KRSBRU'; aLowPriceList[203] = 'KRSCPH'; aLowPriceList[204] = 'KRSPAR'; aLowPriceList[205] = 'KRSATH'; aLowPriceList[206] = 'KRSDUB'; aLowPriceList[207] = 'KRSREK'; aLowPriceList[208] = 'KRSMIL'; aLowPriceList[209] = 'KRSAMS'; aLowPriceList[210] = 'KRSAES'; aLowPriceList[211] = 'KRSALF'; aLowPriceList[212] = 'KRSBDU'; aLowPriceList[213] = 'KRSBGO'; aLowPriceList[214] = 'KRSBOO'; aLowPriceList[215] = 'KRSEVE'; aLowPriceList[216] = 'KRSHAU'; aLowPriceList[217] = 'KRSKKN'; aLowPriceList[218] = 'KRSKSU'; aLowPriceList[219] = 'KRSLYR'; aLowPriceList[220] = 'KRSMOL'; aLowPriceList[221] = 'KRSOSL'; aLowPriceList[222] = 'KRSSVG'; aLowPriceList[223] = 'KRSTOS'; aLowPriceList[224] = 'KRSTRD'; aLowPriceList[225] = 'KRSALC'; aLowPriceList[226] = 'KRSABZ'; aLowPriceList[227] = 'KRSLON'; aLowPriceList[228] = 'KRSMAN'; aLowPriceList[229] = 'KRSGVA'; aLowPriceList[230] = 'KRSZRH'; aLowPriceList[231] = 'KRSSTO'; aLowPriceList[232] = 'KRSBER'; aLowPriceList[233] = 'KRSDUS'; aLowPriceList[234] = 'KRSFRA'; aLowPriceList[235] = 'KRSHAJ'; aLowPriceList[236] = 'KSUCPH'; aLowPriceList[237] = 'KSUNCE'; aLowPriceList[238] = 'KSUPAR'; aLowPriceList[239] = 'KSUDUB'; aLowPriceList[240] = 'KSUREK'; aLowPriceList[241] = 'KSUMIL'; aLowPriceList[242] = 'KSUAMS'; aLowPriceList[243] = 'KSUBGO'; aLowPriceList[244] = 'KSUBOO'; aLowPriceList[245] = 'KSUEVE'; aLowPriceList[246] = 'KSUHAU'; aLowPriceList[247] = 'KSUKKN'; aLowPriceList[248] = 'KSUKRS'; aLowPriceList[249] = 'KSUOSL'; aLowPriceList[250] = 'KSUSVG'; aLowPriceList[251] = 'KSUTOS'; aLowPriceList[252] = 'KSUTRD'; aLowPriceList[253] = 'KSUGDN'; aLowPriceList[254] = 'KSUBCN'; aLowPriceList[255] = 'KSUABZ'; aLowPriceList[256] = 'KSULON'; aLowPriceList[257] = 'KSUMAN'; aLowPriceList[258] = 'KSUSTO'; aLowPriceList[259] = 'KSUDUS'; aLowPriceList[260] = 'LYRCPH'; aLowPriceList[261] = 'LYRAES'; aLowPriceList[262] = 'LYRALF'; aLowPriceList[263] = 'LYRBGO'; aLowPriceList[264] = 'LYRBOO'; aLowPriceList[265] = 'LYREVE'; aLowPriceList[266] = 'LYRHAU'; aLowPriceList[267] = 'LYRKRS'; aLowPriceList[268] = 'LYROSL'; aLowPriceList[269] = 'LYRSVG'; aLowPriceList[270] = 'LYRTOS'; aLowPriceList[271] = 'LYRTRD'; aLowPriceList[272] = 'LYRSTO'; aLowPriceList[273] = 'MOLBRU'; aLowPriceList[274] = 'MOLCPH'; aLowPriceList[275] = 'MOLNCE'; aLowPriceList[276] = 'MOLPAR'; aLowPriceList[277] = 'MOLREK'; aLowPriceList[278] = 'MOLMIL'; aLowPriceList[279] = 'MOLROM'; aLowPriceList[280] = 'MOLAMS'; aLowPriceList[281] = 'MOLAES'; aLowPriceList[282] = 'MOLALF'; aLowPriceList[283] = 'MOLBDU'; aLowPriceList[284] = 'MOLBGO'; aLowPriceList[285] = 'MOLBOO'; aLowPriceList[286] = 'MOLEVE'; aLowPriceList[287] = 'MOLHAU'; aLowPriceList[288] = 'MOLKRS'; aLowPriceList[289] = 'MOLOSL'; aLowPriceList[290] = 'MOLSVG'; aLowPriceList[291] = 'MOLTOS'; aLowPriceList[292] = 'MOLTRD'; aLowPriceList[293] = 'MOLWAW'; aLowPriceList[294] = 'MOLABZ'; aLowPriceList[295] = 'MOLLON'; aLowPriceList[296] = 'MOLMAN'; aLowPriceList[297] = 'MOLSTO'; aLowPriceList[298] = 'MOLBER'; aLowPriceList[299] = 'MOLFRA'; aLowPriceList[300] = 'RYGCRL'; aLowPriceList[301] = 'RYGAAR'; aLowPriceList[302] = 'RYGBVA'; aLowPriceList[303] = 'RYGATH'; aLowPriceList[304] = 'RYGDUB'; aLowPriceList[305] = 'RYGTSF'; aLowPriceList[306] = 'RYGRIX'; aLowPriceList[307] = 'RYGEIN'; aLowPriceList[308] = 'RYGBGO'; aLowPriceList[309] = 'RYGBOO'; aLowPriceList[310] = 'RYGSVG'; aLowPriceList[311] = 'RYGTOS'; aLowPriceList[312] = 'RYGTRD'; aLowPriceList[313] = 'RYGKRK'; aLowPriceList[314] = 'RYGWRO'; aLowPriceList[315] = 'RYGALC'; aLowPriceList[316] = 'RYGBCN'; aLowPriceList[317] = 'RYGAGP'; aLowPriceList[318] = 'RYGLON'; aLowPriceList[319] = 'RYGSTO'; aLowPriceList[320] = 'RYGAYT'; aLowPriceList[321] = 'RYGSXF'; aLowPriceList[322] = 'RYGNRN'; aLowPriceList[323] = 'RYGFMM'; aLowPriceList[324] = 'OSLBOJ'; aLowPriceList[325] = 'OSLAAL'; aLowPriceList[326] = 'OSLBLL'; aLowPriceList[327] = 'OSLKRP'; aLowPriceList[328] = 'OSLCPH'; aLowPriceList[329] = 'OSLTLL'; aLowPriceList[330] = 'OSLHEL'; aLowPriceList[331] = 'OSLBOD'; aLowPriceList[332] = 'OSLNCE'; aLowPriceList[333] = 'OSLPAR'; aLowPriceList[334] = 'OSLCHQ'; aLowPriceList[335] = 'OSLDUB'; aLowPriceList[336] = 'OSLREK'; aLowPriceList[337] = 'OSLBLQ'; aLowPriceList[338] = 'OSLMXP'; aLowPriceList[339] = 'OSLOLB'; aLowPriceList[340] = 'OSLPSA'; aLowPriceList[341] = 'OSLROM'; aLowPriceList[342] = 'OSLBEG'; aLowPriceList[343] = 'OSLDBV'; aLowPriceList[344] = 'OSLPUY'; aLowPriceList[345] = 'OSLSPU'; aLowPriceList[346] = 'OSLLCA'; aLowPriceList[347] = 'OSLRIX'; aLowPriceList[348] = 'OSLPLQ'; aLowPriceList[349] = 'OSLVNO'; aLowPriceList[350] = 'OSLLUX'; aLowPriceList[351] = 'OSLMLA'; aLowPriceList[352] = 'OSLRAK'; aLowPriceList[353] = 'OSLAMS'; aLowPriceList[354] = 'OSLAES'; aLowPriceList[355] = 'OSLALF'; aLowPriceList[356] = 'OSLBDU'; aLowPriceList[357] = 'OSLBGO'; aLowPriceList[358] = 'OSLBOO'; aLowPriceList[359] = 'OSLEVE'; aLowPriceList[360] = 'OSLHAU'; aLowPriceList[361] = 'OSLKKN'; aLowPriceList[362] = 'OSLKRS'; aLowPriceList[363] = 'OSLKSU'; aLowPriceList[364] = 'OSLLYR'; aLowPriceList[365] = 'OSLMOL'; aLowPriceList[366] = 'OSLSVG'; aLowPriceList[367] = 'OSLTOS'; aLowPriceList[368] = 'OSLTRD'; aLowPriceList[369] = 'OSLVIE'; aLowPriceList[370] = 'OSLGDN'; aLowPriceList[371] = 'OSLKRK'; aLowPriceList[372] = 'OSLPOZ'; aLowPriceList[373] = 'OSLSZZ'; aLowPriceList[374] = 'OSLWAW'; aLowPriceList[375] = 'OSLFAO'; aLowPriceList[376] = 'OSLLED'; aLowPriceList[377] = 'OSLALC'; aLowPriceList[378] = 'OSLBCN'; aLowPriceList[379] = 'OSLLPA'; aLowPriceList[380] = 'OSLAGP'; aLowPriceList[381] = 'OSLMJV'; aLowPriceList[382] = 'OSLPMI'; aLowPriceList[383] = 'OSLABZ'; aLowPriceList[384] = 'OSLBHX'; aLowPriceList[385] = 'OSLEDI'; aLowPriceList[386] = 'OSLLGW'; aLowPriceList[387] = 'OSLMAN'; aLowPriceList[388] = 'OSLGVA'; aLowPriceList[389] = 'OSLZRH'; aLowPriceList[390] = 'OSLKRN'; aLowPriceList[391] = 'OSLLLA'; aLowPriceList[392] = 'OSLSTO'; aLowPriceList[393] = 'OSLUME'; aLowPriceList[394] = 'OSLPRG'; aLowPriceList[395] = 'OSLAYT'; aLowPriceList[396] = 'OSLSXF'; aLowPriceList[397] = 'OSLDUS'; aLowPriceList[398] = 'OSLFRA'; aLowPriceList[399] = 'OSLHAM'; aLowPriceList[400] = 'OSLHAJ'; aLowPriceList[401] = 'OSLMUC'; aLowPriceList[402] = 'OSLSTR'; aLowPriceList[403] = 'OSLBUD'; aLowPriceList[404] = 'TRFMRS'; aLowPriceList[405] = 'TRFBLQ'; aLowPriceList[406] = 'TRFMIL'; aLowPriceList[407] = 'TRFPSA'; aLowPriceList[408] = 'TRFALC'; aLowPriceList[409] = 'TRFBCN'; aLowPriceList[410] = 'TRFEDI'; aLowPriceList[411] = 'TRFLPL'; aLowPriceList[412] = 'TRFLON'; aLowPriceList[413] = 'TRFBRE'; aLowPriceList[414] = 'TRFFRA'; aLowPriceList[415] = 'SVGBRU'; aLowPriceList[416] = 'SVGCPH'; aLowPriceList[417] = 'SVGHEL'; aLowPriceList[418] = 'SVGNCE'; aLowPriceList[419] = 'SVGPAR'; aLowPriceList[420] = 'SVGATH'; aLowPriceList[421] = 'SVGREK'; aLowPriceList[422] = 'SVGMIL'; aLowPriceList[423] = 'SVGDBV'; aLowPriceList[424] = 'SVGPLQ'; aLowPriceList[425] = 'SVGAES'; aLowPriceList[426] = 'SVGALF'; aLowPriceList[427] = 'SVGBDU'; aLowPriceList[428] = 'SVGBGO'; aLowPriceList[429] = 'SVGBOO'; aLowPriceList[430] = 'SVGEVE'; aLowPriceList[431] = 'SVGHAU'; aLowPriceList[432] = 'SVGKKN'; aLowPriceList[433] = 'SVGKRS'; aLowPriceList[434] = 'SVGKSU'; aLowPriceList[435] = 'SVGLYR'; aLowPriceList[436] = 'SVGMOL'; aLowPriceList[437] = 'SVGRYG'; aLowPriceList[438] = 'SVGOSL'; aLowPriceList[439] = 'SVGTOS'; aLowPriceList[440] = 'SVGTRD'; aLowPriceList[441] = 'SVGKRK'; aLowPriceList[442] = 'SVGWAW'; aLowPriceList[443] = 'SVGALC'; aLowPriceList[444] = 'SVGAGP'; aLowPriceList[445] = 'SVGMJV'; aLowPriceList[446] = 'SVGBHX'; aLowPriceList[447] = 'SVGLGW'; aLowPriceList[448] = 'SVGMAN'; aLowPriceList[449] = 'SVGZRH'; aLowPriceList[450] = 'SVGSTO'; aLowPriceList[451] = 'SVGPRG'; aLowPriceList[452] = 'SVGSXF'; aLowPriceList[453] = 'SVGDUS'; aLowPriceList[454] = 'SVGFRA'; aLowPriceList[455] = 'SVGHAJ'; aLowPriceList[456] = 'SVGSTR'; aLowPriceList[457] = 'TOSBRU'; aLowPriceList[458] = 'TOSCPH'; aLowPriceList[459] = 'TOSHEL'; aLowPriceList[460] = 'TOSPAR'; aLowPriceList[461] = 'TOSREK'; aLowPriceList[462] = 'TOSAMS'; aLowPriceList[463] = 'TOSAES'; aLowPriceList[464] = 'TOSALF'; aLowPriceList[465] = 'TOSBGO'; aLowPriceList[466] = 'TOSBOO'; aLowPriceList[467] = 'TOSEVE'; aLowPriceList[468] = 'TOSHAU'; aLowPriceList[469] = 'TOSKRS'; aLowPriceList[470] = 'TOSKSU'; aLowPriceList[471] = 'TOSLYR'; aLowPriceList[472] = 'TOSMOL'; aLowPriceList[473] = 'TOSRYG'; aLowPriceList[474] = 'TOSOSL'; aLowPriceList[475] = 'TOSSVG'; aLowPriceList[476] = 'TOSTRD'; aLowPriceList[477] = 'TOSABZ'; aLowPriceList[478] = 'TOSLGW'; aLowPriceList[479] = 'TOSMAN'; aLowPriceList[480] = 'TOSZRH'; aLowPriceList[481] = 'TOSSTO'; aLowPriceList[482] = 'TOSBER'; aLowPriceList[483] = 'TOSDUS'; aLowPriceList[484] = 'TOSFRA'; aLowPriceList[485] = 'TRDBRU'; aLowPriceList[486] = 'TRDCPH'; aLowPriceList[487] = 'TRDNCE'; aLowPriceList[488] = 'TRDATH'; aLowPriceList[489] = 'TRDREK'; aLowPriceList[490] = 'TRDBLQ'; aLowPriceList[491] = 'TRDMIL'; aLowPriceList[492] = 'TRDDBV'; aLowPriceList[493] = 'TRDRIX'; aLowPriceList[494] = 'TRDLUX'; aLowPriceList[495] = 'TRDAES'; aLowPriceList[496] = 'TRDALF'; aLowPriceList[497] = 'TRDBDU'; aLowPriceList[498] = 'TRDBGO'; aLowPriceList[499] = 'TRDBOO'; aLowPriceList[500] = 'TRDEVE'; aLowPriceList[501] = 'TRDHAU'; aLowPriceList[502] = 'TRDKKN'; aLowPriceList[503] = 'TRDKRS'; aLowPriceList[504] = 'TRDKSU'; aLowPriceList[505] = 'TRDLYR'; aLowPriceList[506] = 'TRDMOL'; aLowPriceList[507] = 'TRDRYG'; aLowPriceList[508] = 'TRDOSL'; aLowPriceList[509] = 'TRDSVG'; aLowPriceList[510] = 'TRDTOS'; aLowPriceList[511] = 'TRDALC'; aLowPriceList[512] = 'TRDAGP'; aLowPriceList[513] = 'TRDMJV'; aLowPriceList[514] = 'TRDBHX'; aLowPriceList[515] = 'TRDLGW'; aLowPriceList[516] = 'TRDMAN'; aLowPriceList[517] = 'TRDZRH'; aLowPriceList[518] = 'TRDSTO'; aLowPriceList[519] = 'TRDPRG'; aLowPriceList[520] = 'TRDBER'; aLowPriceList[521] = 'TRDDUS'; aLowPriceList[522] = 'TRDFRA'; aLowPriceList[523] = 'TRDHAJ'; aLowPriceList[524] = 'TRDSTR';
var aWeekendList = new Array(18); aWeekendList[0] = 'AES'; aWeekendList[1] = 'ALF'; aWeekendList[2] = 'BDU'; aWeekendList[3] = 'BGO'; aWeekendList[4] = 'BOO'; aWeekendList[5] = 'EVE'; aWeekendList[6] = 'HAU'; aWeekendList[7] = 'KKN';aWeekendList[8] = 'KRS'; aWeekendList[9] = 'KSU'; aWeekendList[10] = 'LYR'; aWeekendList[11] = 'MOL'; aWeekendList[12] = 'OSL'; aWeekendList[13] = 'RYG'; aWeekendList[14] = 'SVG'; aWeekendList[15] = 'TOS';aWeekendList[16] = 'TRD'; aWeekendList[17] = 'TRF'; 

var ClientIDs = {
    ctl00: 'ctl00',
    ctl09: 'ctl00_ctl09',
    Head1: 'ctl00_Head1',
    ctl00: 'ctl00_ctl00',
    ctl01: 'ctl00_ctl01',
    description: 'ctl00_description',
    keywords: 'ctl00_keywords',
    ctl02: 'ctl00_ctl02',
    ctl03: 'ctl00_ctl03',
    ctl04: 'ctl00_ctl04',
    ctl05: 'ctl00_ctl05',
    ctl06: 'ctl00_ctl06',
    ctl07: 'ctl00_ctl07',
    ctl08: 'ctl00_ctl08',
    ctl10: 'ctl00_ctl10',
    form1: 'aspnetForm',
    ScriptManager2: 'ctl00_ScriptManager2',
    cphHeader: 'ctl00_cphHeader',
    hypHome: 'ctl00_cphHeader_hypHome',
    ImageMap222: 'ctl00_cphHeader_ImageMap222',
    cphRightTop: 'ctl00_cphRightTop',
    ctl00: 'ctl00_cphRightTop_ctl00',
    cpRight: 'ctl00_cpRight',
    ctl00: 'ctl00_cpRight_ctl00',
    cphLeftMenu: 'ctl00_cphLeftMenu',
    ctl00: 'ctl00_cphLeftMenu_ctl00',
    DestinationSearch1: 'ctl00_cphLeftMenu_DestinationSearch1',
    ss2: 'ctl00_cphLeftMenu_DestinationSearch1_ss2',
    ctl00: 'ctl00_cphLeftMenu_DestinationSearch1_ctl00',
    pnlSearch: 'ctl00_cphLeftMenu_DestinationSearch1_pnlSearch',
    ctl01: 'ctl00_cphLeftMenu_DestinationSearch1_ctl01',
    ig1: 'ctl00_cphLeftMenu_DestinationSearch1_ig1',
    ctl02: 'ctl00_cphLeftMenu_DestinationSearch1_ctl02',
    txtDestination: 'ctl00_cphLeftMenu_DestinationSearch1_txtDestination',
    ctl03: 'ctl00_cphLeftMenu_DestinationSearch1_ctl03',
    cmdFindDestination: 'ctl00_cphLeftMenu_DestinationSearch1_cmdFindDestination',
    ctl04: 'ctl00_cphLeftMenu_DestinationSearch1_ctl04',
    ctl01: 'ctl00_cphLeftMenu_ctl01',
    NavMenu1: 'ctl00_cphLeftMenu_NavMenu1',
    ctl01: 'ctl00_cphLeftMenu_NavMenu1_ctl01',
    Img1: 'ctl00_cphLeftMenu_NavMenu1_Img1',
    ctl02: 'ctl00_cphLeftMenu_NavMenu1_ctl02',
    Img2: 'ctl00_cphLeftMenu_NavMenu1_Img2',
    ctl03: 'ctl00_cphLeftMenu_NavMenu1_ctl03',
    Img3: 'ctl00_cphLeftMenu_NavMenu1_Img3',
    ctl04: 'ctl00_cphLeftMenu_NavMenu1_ctl04',
    Img4: 'ctl00_cphLeftMenu_NavMenu1_Img4',
    ctl05: 'ctl00_cphLeftMenu_NavMenu1_ctl05',
    HyperLink2: 'ctl00_cphLeftMenu_NavMenu1_HyperLink2',
    ctl06: 'ctl00_cphLeftMenu_NavMenu1_ctl06',
    pnlDestination: 'ctl00_cphLeftMenu_NavMenu1_pnlDestination',
    ctl07: 'ctl00_cphLeftMenu_NavMenu1_ctl07',
    HyperLink12: 'ctl00_cphLeftMenu_NavMenu1_HyperLink12',
    ctl08: 'ctl00_cphLeftMenu_NavMenu1_ctl08',
    HyperLink13: 'ctl00_cphLeftMenu_NavMenu1_HyperLink13',
    ctl09: 'ctl00_cphLeftMenu_NavMenu1_ctl09',
    ctl10: 'ctl00_cphLeftMenu_NavMenu1_ctl10',
    ctl00: 'ctl00_cphLeftMenu_NavMenu1_ctl00',
    LowPriceListMenu1: 'ctl00_cphLeftMenu_NavMenu1_LowPriceListMenu1',
    ctl11: 'ctl00_cphLeftMenu_NavMenu1_ctl11',
    ctl02: 'ctl00_cphLeftMenu_ctl02',
    cpMain: 'ctl00_cpMain',
    ctl00: 'ctl00_cpMain_ctl00',
    ucSearch1: 'ctl00_cpMain_ucSearch1',
    ctl00: 'ctl00_cpMain_ucSearch1_ctl00',
    rbReturn: 'ctl00_cpMain_ucSearch1_rbReturn',
    ctl01: 'ctl00_cpMain_ucSearch1_ctl01',
    rbOneWay: 'ctl00_cpMain_ucSearch1_rbOneWay',
    ctl02: 'ctl00_cpMain_ucSearch1_ctl02',
    ddlNoOfAdults: 'ctl00_cpMain_ucSearch1_ddlNoOfAdults',
    ctl03: 'ctl00_cpMain_ucSearch1_ctl03',
    ddlNoOfChildren: 'ctl00_cpMain_ucSearch1_ddlNoOfChildren',
    ctl04: 'ctl00_cpMain_ucSearch1_ctl04',
    ddlNoOfInfants: 'ctl00_cpMain_ucSearch1_ddlNoOfInfants',
    ctl05: 'ctl00_cpMain_ucSearch1_ctl05',
    lblTravelDays: 'ctl00_cpMain_ucSearch1_lblTravelDays',
    ctl06: 'ctl00_cpMain_ucSearch1_ctl06',
    pnlOut: 'ctl00_cpMain_ucSearch1_pnlOut',
    ctl07: 'ctl00_cpMain_ucSearch1_ctl07',
    lblOutTextDestination: 'ctl00_cpMain_ucSearch1_lblOutTextDestination',
    ctl08: 'ctl00_cpMain_ucSearch1_ctl08',
    lblBackTextDestination: 'ctl00_cpMain_ucSearch1_lblBackTextDestination',
    ctl09: 'ctl00_cpMain_ucSearch1_ctl09',
    ctl10: 'ctl00_cpMain_ucSearch1_ctl10',
    lblOutDescription: 'ctl00_cpMain_ucSearch1_lblOutDescription',
    ctl11: 'ctl00_cpMain_ucSearch1_ctl11',
    lblBackDescription: 'ctl00_cpMain_ucSearch1_lblBackDescription',
    ctl12: 'ctl00_cpMain_ucSearch1_ctl12',
    lblOtherFlights: 'ctl00_cpMain_ucSearch1_lblOtherFlights',
    ctl13: 'ctl00_cpMain_ucSearch1_ctl13',
    lblTotal: 'ctl00_cpMain_ucSearch1_lblTotal',
    ctl14: 'ctl00_cpMain_ucSearch1_ctl14',
    txtOutDate: 'ctl00_cpMain_ucSearch1_txtOutDate',
    ctl15: 'ctl00_cpMain_ucSearch1_ctl15',
    txtBackDate: 'ctl00_cpMain_ucSearch1_txtBackDate',
    ctl16: 'ctl00_cpMain_ucSearch1_ctl16',
    txtOriginValLoad: 'ctl00_cpMain_ucSearch1_txtOriginValLoad',
    ctl17: 'ctl00_cpMain_ucSearch1_ctl17',
    txtOriginLoad: 'ctl00_cpMain_ucSearch1_txtOriginLoad',
    ctl18: 'ctl00_cpMain_ucSearch1_ctl18',
    txtDestinationValLoad: 'ctl00_cpMain_ucSearch1_txtDestinationValLoad',
    ctl19: 'ctl00_cpMain_ucSearch1_ctl19',
    txtDestinationLoad: 'ctl00_cpMain_ucSearch1_txtDestinationLoad',
    ctl20: 'ctl00_cpMain_ucSearch1_ctl20',
    txtLowPriceListLoad: 'ctl00_cpMain_ucSearch1_txtLowPriceListLoad',
    ctl21: 'ctl00_cpMain_ucSearch1_ctl21',
    txtSessionID: 'ctl00_cpMain_ucSearch1_txtSessionID',
    ctl22: 'ctl00_cpMain_ucSearch1_ctl22',
    txtUID: 'ctl00_cpMain_ucSearch1_txtUID',
    ctl23: 'ctl00_cpMain_ucSearch1_ctl23',
    ctl01: 'ctl00_cpMain_ctl01',
    pnlSite1Sponsor: 'ctl00_cpMain_pnlSite1Sponsor',
    ctl02: 'ctl00_cpMain_ctl02',
    ctl03: 'ctl00_cpMain_ctl03',
    ctl05: 'ctl00_cpMain_ctl05',
    ctl09: 'ctl00_cpMain_ctl09',
    ctl11: 'ctl00_ctl11',
    txtWeekendLoad: 'ctl00_cpMain_ucSearch1_txtWeekendLoad'
}



//        $(document).ready(function() {
//            $("ul.sf-menu").superfish({
//                animation: { height: 'show' },   // slide-down effect without fade-in 
//                delay: 1200               // 1.2 second delay on mouseout
//            });
//            $("ul.sf-menu").superfish().find('ul').bgIframe({ opacity: false });
//        });

$(document).ready(function () {
    //$('#content-wrapper').fadeTo(50, 0.2);
    document.getElementById("content-wrapper").style.display = 'inline';

    $("#accLeftMenu2").accordion({ active: 0 });
    $("#accLeftMenu").accordion({ active: 0 });

    //document.getElementById("divMain").style.display = 'inline';

    iNoOfSearch = 0;

    $(function () {
        //all hover and click logic for buttons
        $(".fg-button:not(.ui-state-disabled)")
	                .hover(
		                function () {
		                    $(this).addClass("ui-state-hover");
		                },
		                function () {
		                    $(this).removeClass("ui-state-hover");
		                }
	                )
	                .mousedown(function () {
	                    $(this).parents('.fg-buttonset-single:first').find(".fg-button.ui-state-active").removeClass("ui-state-active");
	                    if ($(this).is('.ui-state-active.fg-button-toggleable, .fg-buttonset-multi .ui-state-active')) { $(this).removeClass("ui-state-active"); }
	                    else { $(this).addClass("ui-state-active"); }
	                })
	                .mouseup(function () {
	                    if (!$(this).is('.fg-button-toggleable, .fg-buttonset-single .fg-button,  .fg-buttonset-multi .fg-button')) {
	                        $(this).removeClass("ui-state-active");
	                    }
	                });
    });

    var currentURL = window.location;
    var currentHostName;
    var ServiceRequestPath;
    currentHostName = currentURL.host;
    if (IsDebug == true) {
        ServiceRequestPath = currentURL.protocol + '//' + currentHostName + "/RBwww/Autocomplete.asmx/GetCompletionListJQ";
    }
    else {
        ServiceRequestPath = currentURL.protocol + '//' + currentHostName + "/Autocomplete.asmx/GetCompletionListJQ";
    }

    $("#txtOrigin").autocomplete(ServiceRequestPath, {
        minChars: 2, matchContains: 3, cacheLength: 20, delay: 400,
        parse: function (data) {
            var parsed = [];

            $(data).find("string").each(function () {
                parsed[parsed.length] = {
                    data: [$(this).text().split("=>")[0]],
                    value: $(this).text().split("=>")[1] + '=>' + $(this).text().split("=>")[2],
                    result: [$(this).text().split("=>")[0]]
                };
            });
            return parsed;
        },
        dataType: "xml", datakey: "string", max: 20
    });

    $("#txtDestination").autocomplete(ServiceRequestPath, {
        minChars: 2, matchContains: 3, cacheLength: 20, delay: 400,
        parse: function (data) {
            var parsed = [];

            $(data).find("string").each(function () {
                parsed[parsed.length] = {
                    data: [$(this).text().split("=>")[0]],
                    value: $(this).text().split("=>")[1] + '=>' + $(this).text().split("=>")[2],
                    result: [$(this).text().split("=>")[0]]
                };
            });
            return parsed;
        },
        dataType: "xml", datakey: "string", max: 20
    });

    $("#txtOrigin").result(function (event, data, formatted) {
        if (data) {
            $("#txtOriginVal").val(formatted.split("=>")[1]);
            $("#txtOriginLP").val(formatted.split("=>")[0]);
            $("#txtDestination").focus();
            var $tabs = $('#tabs').tabs();
            var selected = $tabs.tabs('option', 'selected'); // => 0
            //Keep position if possible, else fall back to calendar
            //CheckIfWeekendPricelistExist
            //CheckIfLowPricelistExist
            if (selected == 2 || selected == 3) {
                if (CheckIfWeekendPricelistExist() == true) {
                    if (selected == 2) {
                        $('#tabs').tabs('select', 0);
                        $('#tabs').tabs('disable', 2);
                        $('#tabs').tabs('enable', 2);
                        $('#tabs').tabs('select', 2);
                    }
                    else {
                        $('#tabs').tabs('disable', 2);
                        $('#tabs').tabs('enable', 2);
                    }

                    if (selected == 3) {
                        $('#tabs').tabs('select', 0);
                        $('#tabs').tabs('disable', 3);
                        $('#tabs').tabs('enable', 3);
                        $('#tabs').tabs('select', 3)
                    }
                    else {
                        $('#tabs').tabs('disable', 3);
                        $('#tabs').tabs('enable', 3);
                    }
                }
                else {
                    $('#tabs').tabs('disable', 2);
                    $('#tabs').tabs('disable', 3);
                    $("#tabs").tabs('select', 0);
                }
                if (CheckIfLowPricelistExist() == true) {
                    $('#tabs').tabs('disable', 1);
                    $('#tabs').tabs('enable', 1);
                }
                else {
                    $('#tabs').tabs('enable', 1);
                    $('#tabs').tabs('disable', 1);
                }
            }
            else if (selected == 1) {
                if (CheckIfLowPricelistExist() == true) {
                    $('#tabs').tabs('disable', 1);
                    $('#tabs').tabs('enable', 1);
                    GetData();
                }
                else {
                    $('#tabs').tabs('enable', 1);
                    $("#tabs").tabs('select', 0);
                    $('#tabs').tabs('disable', 1);
                }
            }
            else if (selected == 0) {
                if (CheckIfLowPricelistExist() == true) {
                    $('#tabs').tabs('disable', 1);
                    $('#tabs').tabs('enable', 1);
                    GetData();
                }
                else {
                    $('#tabs').tabs('disable', 1);
                }
            }

            SaveProperties();
            SetResultHeaderText();
        }
    });

    $("#txtDestination").result(function (event, data, formatted) {
        if (data) {
            HideCityDescription();
            $("#txtDestinationVal").val(formatted.split("=>")[1]);
            $("#txtDestinationLP").val(formatted.split("=>")[0]);
            //var options = {};
            //$("#tb2").effect('pulsate', options, 1000, callback);
            //$("#btnSearch").focus();
            var $tabs = $('#tabs').tabs();
            var selected = $tabs.tabs('option', 'selected'); // => 0
            if (selected == 2 || selected == 3) {
                if (CheckIfWeekendPricelistExist() == true) {
                    if (selected == 2) {
                        $('#tabs').tabs('select', 0);
                        $('#tabs').tabs('disable', 2);
                        $('#tabs').tabs('enable', 2);
                        $('#tabs').tabs('select', 2);
                    }
                    else {
                        $('#tabs').tabs('disable', 2);
                        $('#tabs').tabs('enable', 2);
                    }

                    if (selected == 3) {
                        $('#tabs').tabs('select', 0);
                        $('#tabs').tabs('disable', 3);
                        $('#tabs').tabs('enable', 3);
                        $('#tabs').tabs('select', 3)
                    }
                    else {
                        $('#tabs').tabs('disable', 3);
                        $('#tabs').tabs('enable', 3);
                    }
                }
                else {
                    $('#tabs').tabs('disable', 2);
                    $('#tabs').tabs('disable', 3);
                    $("#tabs").tabs('select', 0);
                }
                if (CheckIfLowPricelistExist() == true) {
                    $('#tabs').tabs('disable', 1);
                    $('#tabs').tabs('enable', 1);
                }
                else {
                    $('#tabs').tabs('enable', 1);
                    $('#tabs').tabs('disable', 1);
                }
            }
            else if (selected == 1) {
                if (CheckIfLowPricelistExist() == true) {
                    $('#tabs').tabs('disable', 1);
                    $('#tabs').tabs('enable', 1);
                    GetData();
                }
                else {
                    $('#tabs').tabs('enable', 1);
                    $("#tabs").tabs('select', 0);
                    $('#tabs').tabs('disable', 1);
                }
            }
            else if (selected == 0) {
                if (CheckIfLowPricelistExist() == true) {
                    $('#tabs').tabs('disable', 1);
                    $('#tabs').tabs('enable', 1);
                    GetData();
                }
                else {
                    $('#tabs').tabs('disable', 1);
                }
            }

            SetResultHeaderText();
        }
    });

    $(function () {
        $("#tabs").tabs();
    });

    $(function () {
        $("#dtOut").datepicker({
            numberOfMonths: 1, firstDay: 1,
            dayNames: weekdays,
            dayNamesMin: weekdays2Char,
            dayNamesShort: weekdays3Char,
            monthNames: monthNames,
            monthNamesShort: months3Char,
            changeMonth: true,
            changeYear: true,
            minDate: 1,
            maxDate: '+1Y +3M',
            onSelect: SelectedDepatureDate,
            beforeShowDay: getOutDate
        });
    });

    $(function () {
        $("#dtBack").datepicker({
            numberOfMonths: 1, firstDay: 1,
            dayNames: weekdays,
            dayNamesMin: weekdays2Char,
            dayNamesShort: weekdays3Char,
            monthNames: monthNames,
            monthNamesShort: months3Char,
            changeMonth: true,
            changeYear: true,
            minDate: 1,
            maxDate: '+1Y +3M',
            onSelect: SelectedArrivalDate,
            beforeShowDay: getInDate
        });
    });

    $(function () {
        $("#dpOut").datepicker({
            numberOfMonths: 1, firstDay: 1,
            dayNames: weekdays,
            dayNamesMin: weekdays2Char,
            dayNamesShort: weekdays3Char,
            monthNames: monthNames,
            monthNamesShort: months3Char,
            changeMonth: true,
            changeYear: true,
            minDate: 1,
            maxDate: '+1Y +3M',
            dateFormat: 'DD, d MM, yy',
            onSelect: SelectedDepatureDateDP
        });
    });

    $(function () {
        $("#dpBack").datepicker({
            numberOfMonths: 1, firstDay: 1,
            dayNames: weekdays,
            dayNamesMin: weekdays2Char,
            dayNamesShort: weekdays3Char,
            monthNames: monthNames,
            monthNamesShort: months3Char,
            changeMonth: true,
            changeYear: true,
            minDate: 1,
            maxDate: '+1Y +3M',
            dateFormat: 'DD, d MM, yy',
            onSelect: SelectedArrivalDateDP
        });
    });

    //alert($get(ClientIDs.txtDestinationLoad).value);

    $get("txtOrigin").value = $get(ClientIDs.txtOriginLoad).value;
    $get("txtOriginVal").value = $get(ClientIDs.txtOriginValLoad).value;
    $get("txtDestination").value = $get(ClientIDs.txtDestinationLoad).value;
    $get("txtDestinationVal").value = $get(ClientIDs.txtDestinationValLoad).value;
    $get("txtLowPriceList").value = $get(ClientIDs.txtLowPriceListLoad).value;
    $get("txtWeekend").value = $get(ClientIDs.txtWeekendLoad).value;


    //Set org dest
    //txtOriginValLoad


    //HideAllResult();
    ClearAllResult();
    HideCompleteResult();
    $('#tabs').bind('tabsenable', function (event, ui) {
        var OriginCleaned;
        var DestinationCleaned;
        OriginCleaned = $get("txtOrigin").value.split(",")[0];
        DestinationCleaned = $get("txtDestination").value.split(",")[0];
        if (ui.index == 0) {
        }
        else if (ui.index == 1) {
            $('a#aTab2').text('Lavprisgraf ' + DestinationCleaned);
        }
        else if (ui.index == 2) {
            $('a#aTab3').text('Lavprisliste fra ' + OriginCleaned);
        }
        else if (ui.index == 3) {
            $('a#aTab4').text('Weekendliste fra ' + OriginCleaned);
        }
    });
    $('#tabs').bind('tabsdisable', function (event, ui) {
        if (ui.index == 0) {
        }
        else if (ui.index == 1) {
            $('a#aTab2').text('Lavprisgraf');
        }
        else if (ui.index == 2) {
            $('a#aTab3').text('Lavprisliste');
        }
        else if (ui.index == 3) {
            $('a#aTab4').text('Weekend');
        }
    });
    $('#tabs').bind('tabsshow', function (event, ui) {
        // tabsselect, tabsload, tabsshow (in that order)
        // tabsadd, tabsremove
        // tabsenable, tabsdisable 
        // Objects available in the function context:
        //ui.tab     // anchor element of the selected (clicked) tab
        //ui.panel   // element, that contains the selected/clicked tab contents
        //ui.index   // zero-based index of the selected (clicked) tab
        if (ui.index == 0) {
            //Get dates
            DeleteCalendarSearchResultRows();
            ClearAllResult();
            HideOutResult();
            HideBackResult();
            HideCompleteResult();
            HideSearchButton();
            HidePriceResult();

            var txtOutDate = $get(ClientIDs.txtOutDate);
            var txtBackDate = $get(ClientIDs.txtBackDate);

            $("#dtOut").datepicker('setDate', dtDateOut);
            $("#dtBack").datepicker('setDate', dtDateBack);
            UpdateTravelDays();
            SetResultHeaderText();
        }
        if (ui.index == 1) {
            //Graph selected
            DeleteCalendarSearchResultRows();
            ClearAllResult();
            ShowCompleteResult();
            HideOutResult();
            HideBackResult();
            HidePriceList();
            SetResultHeaderText();
            GetData();
        }
        if (ui.index == 2) {
            //List selected
            DeleteCalendarSearchResultRows();
            ClearAllResult();
            HideOutResult();
            HideBackResult();
            HidePriceList();
            HideCompleteResult();
            HideSearchButton();
            HidePriceResult();
            $("#dtOut").datepicker('setDate', dtDateOut);
            $("#dtBack").datepicker('setDate', dtDateBack);
            $("#dpOut").datepicker('setDate', dtDateOut);
            $("#dpBack").datepicker('setDate', dtDateBack);
            UpdateTravelDays();
            SetResultHeaderText();
            GetOtherFlightsOnDate();
        }
        if (ui.index == 3) {
            //List selected
            DeleteCalendarSearchResultRows();
            ClearAllResult();
            HideOutResult();
            HideBackResult();
            HidePriceList();
            HideCompleteResult();
            HideSearchButton();
            HidePriceResult();
            //            $("#dtOut").datepicker('setDate', dtDateOut);
            //            $("#dtBack").datepicker('setDate', dtDateBack);
            //            $("#dpOut").datepicker('setDate', dtDateOut);
            //            $("#dpBack").datepicker('setDate', dtDateBack);
            
            SetResultHeaderText();
        }



    });
    //$("#tabs").tabs('select', 0);
    $('#tabs').tabs('disable', 2);
    if (IsLowPriceList() == true) {
        $('#tabs').tabs('disable', 1);
        $('#tabs').tabs('enable', 2);
        $("#tabs").tabs('select', 2);
    }
    else if (IsWeekendList() == true) {
        $('#tabs').tabs('disable', 1);
        $('#tabs').tabs('disable', 2);
        $('#tabs').tabs('enable', 2);
        $('#tabs').tabs('disable', 3);
        $('#tabs').tabs('enable', 3);
        $("#tabs").tabs('select', 3);
        blockList();
    }
    else if (CheckIfLowPricelistExist() == true) {
        $('#tabs').tabs('enable', 1);
        $("#tabs").tabs('select', 1);
        //                if (selected == 1) {
        //                    GetData();
        //                }
    }
    else {
        $("#tabs").tabs('select', 0);
        $('#tabs').tabs('disable', 1);
    }

    if (CheckIfWeekendPricelistExist() == true) {
        var txtOutDate = $get(ClientIDs.txtOutDate);
        var txtBackDate = $get(ClientIDs.txtBackDate);
        dtDateOut = parseDate(txtOutDate.value);
        dtDateBack = parseDate(txtBackDate.value);
        $('#tabs').tabs('enable', 2);
    }

    SetResultHeaderText();
    //$("ul.sf-menu").superfish({ dropShadows: false });
    $("ul.sf-menu").superfish({
        onBeforeShow: function () {
            if (this[0] != undefined) {
                //if (this[0].childElementCount == 0) {
                if ($(this[0]).children().length == 0) {
                    var menuID;
                    menuID = "#" + this[0].id;
                    var menuvarID;
                    menuvarID = eval(this[0].id);
                    $(menuID).html(menuvarID);
                    var menuSuper;
                    menuSuper = menuID + " ul.sf-menu";
                    //$(menuSuper).superfish();
                    $(menuID).superfish({
                        delay: 500,
                        animation: { opacity: 'show', height: 'show' },  // fade-in and slide-down animation 
                        speed: 'fast',                          // faster animation speed 
                        autoArrows: true,                           // disable generation of arrow mark-up 
                        dropShadows: false                            // disable drop shadows 
                    });
                    //$("ul.sf-menu").superfish();
                }
            }
        },
        delay: 500,
        animation: { opacity: 'show', height: 'show' },  // fade-in and slide-down animation 
        speed: 'fast',                          // faster animation speed 
        autoArrows: true,                           // disable generation of arrow mark-up 
        dropShadows: false                            // disable drop shadows
    });

    if (CheckIfWeekendPricelistExist() == true) {
        $('#tabs').tabs('disable', 3);
        $('#tabs').tabs('enable', 3);
    }
    else {
        $('#tabs').tabs('disable', 3);
    }

    $('#tabs').tabs('option', 'spinner', 'Henter data...');
    $('#tabs').tabs('option', 'ajaxOptions', { async: false });
    $('#tabs').tabs('option', 'ajaxOptions', { cache: false });
    $('#tabs').tabs('option', 'cache', { cache: true });

    $('#tabs').bind('tabsselect', function (event, ui) {
        //Show loading if weekend list
        if (ui.index == 3) {
            blockList();
        }
    });

    $('#tabs').bind('tabsload', function (event, ui) {
        //hide loading if weekend list
        unblockList();
    });

    $('#tabs').bind('tabsshow', function (event, ui) {
        //hide loading if weekend list
        if (ui.index == 3) {
            unblockList();
            if (CheckIfWeekendPricelistExist() == true && WeekendListRefresh == true) {
                WeekendListRefresh = false;
                blockList();
                $('#tabs').tabs('load', 3)
            }
        }
    });

    $("#dialog").dialog({ resizeable: false, modal: true, bgiframe: true, autoOpen: false });
    
    $('#txtDestination').focus();

    //    // create a style switch button
    //    var switcher = $('<a href="javascript:void(0)" class="btn">Change appearance</a>').toggle(
    //		function() {
    //		    $("#tags ul").hide().addClass("alt").fadeIn("fast");
    //		},
    //		function() {
    //		    $("#tags ul").hide().removeClass("alt").fadeIn("fast");
    //		}
    //	);
    //    $('#tags').append(switcher);

    //    // create a sort by alphabet button
    //    var sortabc = $('<a href="javascript:void(0)" class="btn">Sort alphabetically</a>').toggle(
    //		function() {
    //		    $("#tags ul li").tsort({ order: "asc" });
    //		},
    //		function() {
    //		    $("#tags ul li").tsort({ order: "desc" });
    //		}
    //		);
    //    $('#tags').append(sortabc);

    //    // create a sort by alphabet button	
    //    var sortstrength = $('<a href="javascript:void(0)" class="btn">Sort by strength</a>').toggle(
    //		function() {
    //		    $("#tags ul li").tsort({ order: "desc", attr: "class" });
    //		},
    //		function() {
    //		    $("#tags ul li").tsort({ order: "asc", attr: "class" });
    //		}
    //		);
    //    $('#tags').append(sortstrength);			



    //$('#content-wrapper').fadeTo("fast", 1.0);



    //$("ul.sf-menu").superfish().find('ul').bgIframe({ opacity: false });

    //            $("ul.sf-menu").superfish({
    //                animation: { height: 'show' },   // slide-down effect without fade-in 
    //                delay: 1200               // 1.2 second delay on mouseout
    //            });
    //            $("ul.sf-menu").superfish().find('ul').bgIframe({ opacity: false });
    //GetData();
    //document.getElementById("divMainMaster").style.display = 'inline';
    //$("#divMainMaster:hidden:first").fadeIn(500);
    //$("div:hidden:first").fadeIn("slow");
    //$("div:hidden:first").fadeIn("slow");

});

//$(window).load(function() {
//    $('#content-wrapper').fadeIn("slow");
//    //$("div:hidden:first").fadeIn("slow");
//    //$("#divMainMasterInner").fadeIn(700);
//}); 

function SetResultHeaderText() {

    var startDate = $("#dtOut").datepicker('getDate');
    var endDate = $('#dtBack').datepicker('getDate');
    var divResultHeader = $get('divResultHeader');
    var OriginCleaned;
    var DestinationCleaned;
    OriginCleaned = $get("txtOrigin").value.split(",")[0];
    DestinationCleaned = $get("txtDestination").value.split(",")[0];
    divResultHeader.innerHTML = "<span id='spanOriginDestination'>" + OriginCleaned + " -  " + DestinationCleaned + "</span><span id='spanDate'>";
    if ((dtDateOut != null) && (dtDateBack != null)) {
        if (dtDateOut.valueOf() < dtDateBack.valueOf()) {
            divResultHeader.innerHTML = divResultHeader.innerHTML + '' + GetPrettyDateNoYear2(dtDateOut) + ' - ' + GetPrettyDateNoYear2(dtDateBack);
        }
        else {
            divResultHeader.innerHTML = divResultHeader.innerHTML + '' + GetPrettyDateNoYear2(dtDateOut);
        }
    }
    else if (dtDateOut != null) {
        divResultHeader.innerHTML = divResultHeader.innerHTML + '' + GetPrettyDateNoYear2(dtDateOut);
    }
    else if (dtDateBack != null) {
        divResultHeader.innerHTML = divResultHeader.innerHTML + '' + GetPrettyDateNoYear2(dtDateBack);
    }
    //divResultHeader.innerHTML = divResultHeader.innerHTML + '</td></tr></table>';

    if ((dtDateOut == null) && (dtDateBack == null)) {
        divResultHeader.innerHTML = divResultHeader.innerHTML + '';
    }
    divResultHeader.innerHTML = divResultHeader.innerHTML + "</span>";

    //Draw to accordionheader if available
    //accordionCurrentHeader
    //<a href='#'>" + searchArray[y] + "</a>
    var accResultHeader = document.getElementById("accordionCurrentHeader");
    var accResultContent = document.getElementById("accordionCurrentContent");
    if (accResultHeader != undefined) {
        //Clear header and content
        //tabs('option', 'selected')
        var SearchHelpText;
        var $tabs = $('#tabs').tabs();
        var selected = $tabs.tabs('option', 'selected'); // => 0
        if (selected == 0) {
            SearchHelpText = "Trykk Start Søk knappen </BR> for å sammenligne priser";
        }
        else if (selected == 1) {
            SearchHelpText = "Trykk Hent Fersk Pris knappen </BR> for å sammenligne priser";
        }
        //
        $(accResultHeader).children().remove();
        $(accResultContent).children().remove();
        $(accResultHeader).append("<a href='#'>" + divResultHeader.innerHTML + "</a>");
        $(accResultContent).append("<div id='divt'><h2>" + SearchHelpText + "</h2></div>");
        //.accordion( 'activate' , index )
        $('#accordionCurrent').accordion('activate', 0);
    }
}



//callback function to bring a hidden box back
function callback() {
    //            setTimeout(function () {
    //                $("#effect:hidden").removeAttr('style').hide().fadeIn();
    //            }, 1000);
};

// change message border 
$.blockUI.defaults.css.border = '0px solid black';

// make fadeOut effect shorter 
$.blockUI.defaults.fadeOut = 200;

function unblockList() {
    //$('#tabs-3').unblock();
    $('#divSearchHolder').unblock();

}

function blockList() {
    //$('#tabs-2').block({ message: null });
    var $holder = $('#divSearchHolder');
    if ($.browser.msie) $holder[0].style.removeAttribute('filter');

    if (($.browser.msie) && ($.browser.version.substr(0, 1) == "5" || $.browser.version.substr(0, 1) == "6" || $.browser.version.substr(0, 1) == "7")) {
        $holder.block({ message: ''
                , css: {
                    backgroundColor: 'lightgray'
                }
                , overlayCSS: {
                    backgroundColor: '#000',
                    opacity: 0.2
                }
        });
    }
    else {
        $holder.block({ message: $('img#displayLargeLoad')
                , css: {
                    backgroundColor: 'lightgray'
                }
                , overlayCSS: {
                    backgroundColor: '#000',
                    opacity: 0.2
                }
        });
    }
}

function unblockGraph() {
    $('#divSearchHolder').unblock();
    //$('#resGraph').unblock();
}

function blockGraph() {
    var $holder = $('#divSearchHolder');
    if ($.browser.msie) $holder[0].style.removeAttribute('filter');
    if (($.browser.msie) && (jQuery.browser.version.substr(0, 1) == "5" || $.browser.version.substr(0, 1) == "6" || $.browser.version.substr(0, 1) == "7")) {
        $holder.block({ message: ''
                , css: {
                    backgroundColor: 'lightgray'
                }
                , overlayCSS: {
                    backgroundColor: '#000',
                    opacity: 0.2
                }
        });
    }
    else {
        $holder.block({ message: $('img#displayLargeLoad')
                , css: {
                    backgroundColor: 'lightgray'
                }
                , overlayCSS: {
                    backgroundColor: '#000',
                    opacity: 0.2
                }
        });
    }
}

function unblockCalendar() {
    $('#divSearchHolder').unblock();
}

function blockCalendar() {
    //$('#tabs-2').block({ message: null });
    var $holder = $('#divSearchHolder');
    if ($.browser.msie) $holder[0].style.removeAttribute('filter');
    if (($.browser.msie) && ($.browser.version.substr(0, 1) == "5" || $.browser.version.substr(0, 1) == "6" || $.browser.version.substr(0, 1) == "7")) {
        $holder.block({ message: ''
                , css: {
                    backgroundColor: 'lightgray'
                }
                , overlayCSS: {
                    backgroundColor: '#000',
                    opacity: 0.2
                }
        });
    }
    else {
        $holder.block({ message: $('img#displayLargeLoad')
                , css: {
                    backgroundColor: 'lightgray'
                }
                , overlayCSS: {
                    backgroundColor: '#000',
                    opacity: 0.2
                }
        });
    }
}

function SelectDestination(OriginVal, DestinationVal, OriginName, DestinationName) {
    $get("txtOrigin").value = OriginName;
    $get("txtDestination").value = DestinationName;
    $get("txtOriginVal").value = OriginVal;
    $get("txtDestinationVal").value = DestinationVal;
    $('#tabs').tabs('enable', 1);
    SetResultHeaderText();
    //Goto graph tab
    var $tabs = $('#tabs').tabs();
    var selected = $tabs.tabs('option', 'selected'); // => 0
    if (selected != 1) {
        $("#tabs").tabs('select', 1);
    }
    else {
        DeleteCalendarSearchResultRows();
        ClearAllResult();
        ShowCompleteResult();
        HideOutResult();
        HideBackResult();
        HidePriceList();
        GetData();
    }
}

/// <summary>
/// Launches the DatePicker page in a popup window, 
/// passing a JavaScript reference to the field that we want to set.
/// </summary>
/// <param name="strField">String. The JavaScript reference to the field that we want to set, in the format: FormName.FieldName
/// Please note that JavaScript is case-sensitive.</param>
var weekdays = new Array();
weekdays[0] = "Søndag";
weekdays[1] = "Mandag";
weekdays[2] = "Tirsdag";
weekdays[3] = "Onsdag";
weekdays[4] = "Torsdag";
weekdays[5] = "Fredag";
weekdays[6] = "Lørdag";

var weekdays2Char = new Array();
weekdays2Char[0] = "sø";
weekdays2Char[1] = "ma";
weekdays2Char[2] = "ti";
weekdays2Char[3] = "on";
weekdays2Char[4] = "to";
weekdays2Char[5] = "fr";
weekdays2Char[6] = "lø";

var weekdays3Char = new Array();
weekdays3Char[0] = "søn";
weekdays3Char[1] = "man";
weekdays3Char[2] = "tir";
weekdays3Char[3] = "ons";
weekdays3Char[4] = "tor";
weekdays3Char[5] = "fre";
weekdays3Char[6] = "lør";

var months3Char = new Array();
months3Char[0] = "jan";
months3Char[1] = "feb";
months3Char[2] = "mar";
months3Char[3] = "apr";
months3Char[4] = "mai";
months3Char[5] = "jun";
months3Char[6] = "jul";
months3Char[7] = "aug";
months3Char[8] = "sep";
months3Char[9] = "okt";
months3Char[10] = "nov";
months3Char[11] = "des";

var monthNames = new Array();
monthNames[0] = "Januar";
monthNames[1] = "Februar";
monthNames[2] = "Mars";
monthNames[3] = "April";
monthNames[4] = "Mai";
monthNames[5] = "Juni";
monthNames[6] = "Juli";
monthNames[7] = "August";
monthNames[8] = "September";
monthNames[9] = "Okttober";
monthNames[10] = "November";
monthNames[11] = "Desember";

function GetPrettyDate(dt) {
    //sø 14. okt 09
    var retStr;
    var ww = dt.getDay();
    var mm = dt.getMonth();
    retStr = weekdays2Char[ww] + " " + dt.getDate() + ". " + months3Char[mm] + " " + dt.getFullYear();
    return retStr;
}

function GetPrettyDateNoYear(dt) {
    //sø 14 okt
    var retStr;
    var ww = dt.getDay();
    var mm = dt.getMonth();
    retStr = weekdays2Char[ww] + " " + dt.getDate() + " " + months3Char[mm];
    return retStr;
}

function GetPrettyDateNoYear2(dt) {
    //søn 14 okt
    var retStr;
    var ww = dt.getDay();
    var mm = dt.getMonth();
    retStr = weekdays3Char[ww] + " " + dt.getDate() + " " + monthNames[mm];
    return retStr;
}

function SetOutPrice(strPrice, strDescription) {
    var lblOutDescription = $get(ClientIDs.lblOutDescription);
    lblOutDescription.innerHTML = strDescription;
    lblOutDescription.value = strPrice;
    UpdateTotalPrice();
}

function SetBackPrice(strPrice, strDescription) {
    var lblBackDescription = $get(ClientIDs.lblBackDescription);
    lblBackDescription.innerHTML = strDescription;
    lblBackDescription.value = strPrice;
    UpdateTotalPrice();
}

function UpdateTotalPrice() {
    var lblOutDescription = $get(ClientIDs.lblOutDescription);
    var lblBackDescription = $get(ClientIDs.lblBackDescription);
    var lblTotal = $get(ClientIDs.lblTotal);
    var rbReturn = $get(ClientIDs.rbReturn);
    ShowResGraph();
    if (rbReturn.checked == true) {
        //Check if both out and back is selected
        if (lblOutDescription.value != undefined && lblBackDescription.value != undefined && lblOutDescription.value != '' && lblBackDescription.value != '') {
            var num = parseInt(lblOutDescription.value) + parseInt(lblBackDescription.value);
            num = num + '';
            lblTotal.innerHTML = '<b>Totalt: ' + num + ' Kr</b>';
            ShowPriceResult();
            ShowSearchButton();
            var $tabs = $('#tabs').tabs();
            $('#tabs').tabs('enable', 2);
        }
        else {
            lblTotal.innerHTML = ''
            HideSearchButton();
            $('#tabs').tabs('disable', 2);
        }
    }
    else {
        //Check if out is selected
        $('#tabs').tabs('disable', 2)
        if (lblOutDescription.value != '') {
            lblTotal.innerHTML = '<b>Totalt: ' + lblOutDescription.value + ' Kr</b>';
            ShowPriceResult();
            ShowSearchButton();
        }
        else {
            lblTotal.innerHTML = ''
            HideSearchButton();
        }
    }
    SetResultHeaderText();
    //lblTotal.innerHTML=parseInt(lblOutDescription.value)+parseInt(lblBackDescription.value);
}

function calendarPicker(strField) {
    window.open('DatePicker.aspx?field=' + strField, 'calendarPopup', 'width=250,height=190,resizable=yes');
}


//$addHandler($get("btnGet"), 'click', GetData);
//HotelData.GetHotelResultSet(SearchID, ControlFilter, SortColumn, $get("txtSessionID").value, OnHotelSearch_Get_Completed, OnError_Get_Error);

var dout;
var dback;


function RbSelected(selecttype) {
    if (selecttype == 'return') {
        document.getElementById("placeholderBackContainer").style.display = 'inline';
    }
    else {
        document.getElementById("placeholderBackContainer").style.display = 'none';
        var txtBackDate = $get(ClientIDs.txtBackDate);
        SetBackPrice('', '');
        txtBackDate.value = "";
        dback = null;
        HideBackResult();
    }
}

function GetData() {

    //        if (chkReturn.checked) {
    //            $("#placeholderBack").style.display('none');
    //        }
    //        else
    //            $("#placeholderBack").style.display('inline');

    //var origin = $get("ctl00_cpMain_txtOrigin").value;
    //var destination = $get("ctl00_cpMain_txtDestination").value;
    SetOutPrice('', '');
    SetBackPrice('', '');
    var origin = $get("txtOriginVal").value; //$("#txtOriginVal")
    var destination = $get("txtDestinationVal").value; //$("#txtDestinationVal").value;
    if (origin != '' && destination != '') {

        if (adresPre != undefined) {
            if (adresPre != null) {
                RenderData(adresPre);
                adresPre = null;
            }
        }
        else {
            blockGraph();
            FlightData.GetPriceData(origin, destination, OnSucceeded_GetData, OnFailed_GetData);
        }
        //CallPageMethod("GetPriceData", OnSucceeded_GetData, OnFailed_GetData,
        //"Source", origin,
        //"Destination", destination);
    }
    return false;
}

function CallPageMethod(methodName, onSuccess, onFail) {
    var args = '';
    var l = arguments.length;
    if (l > 3) {
        for (var i = 3; i < l - 1; i += 2) {
            if (args.length != 0) args += ',';
            args += '"' + arguments[i] + '":"' + arguments[i + 1] + '"';
        }
    }

    var loc = window.location.href;
    //loc = "http://localhost:1150/WebSite2/FlightData.asmx";
    //alert(loc);
    //loc = (loc.substr(loc.length - 1, 1) == "/") ? loc + "Default3.aspx" : loc;
    //loc = (loc.substr(loc.length - 1, 1) == "/") ? loc + "FlightData.asmx" : loc;
    //loc = (loc.substr(loc.length - 1, 1) == "/") ? loc + "Hotel.asmx" : loc;

    $.ajax({
        type: "POST",
        url: loc + "/" + methodName,
        data: "{" + args + "}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: onSuccess,
        fail: onFail
    });

}


function OnSucceeded_GetData(result) {

    unblockGraph();
    RenderData(result);

}
function OnFailed_GetData() {
    //$('#tabs').tabs('enable', 1);
    unblockGraph();
    $("#tabs").tabs('select', 0);
    //Change back to calendar
    //unblockGraph();
    //alert('failed');
}

function RenderData(dresArray) {

    var dres1 = dresArray[0];
    var dres2 = dresArray[1];
    var dres3 = dresArray[2];

    var monthNameLong = ["Januar", "Februar", "Mars", "April", "Maj", "Juni", "Juli", "August", "September", "Oktober", "November", "Desember"];
    var monthNameShort = ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Des"];

    //var d = [[1196463600000, 0], [1196550000000, 0], [1196636400000, 0], [1196722800000, 77], [1196809200000, 3636], [1196895600000, 3575], [1196982000000, 2736], [1197068400000, 1086], [1197154800000, 676], [1197241200000, 1205], [1197327600000, 906], [1197414000000, 710], [1197500400000, 639], [1197586800000, 540], [1197673200000, 435], [1197759600000, 301], [1197846000000, 575], [1197932400000, 481], [1198018800000, 591], [1198105200000, 608], [1198191600000, 459], [1198278000000, 234], [1198364400000, 1352], [1198450800000, 686], [1198537200000, 279], [1198623600000, 449], [1198710000000, 468], [1198796400000, 392], [1198882800000, 282], [1198969200000, 208], [1199055600000, 229], [1199142000000, 177], [1199228400000, 374], [1199314800000, 436], [1199401200000, 404], [1199487600000, 253], [1199574000000, 218], [1199660400000, 476], [1199746800000, 462], [1199833200000, 448], [1199919600000, 442], [1200006000000, 403], [1200092400000, 204], [1200178800000, 194], [1200265200000, 327], [1200351600000, 374], [1200438000000, 507], [1200524400000, 546], [1200610800000, 482], [1200697200000, 283], [1200783600000, 221], [1200870000000, 483], [1200956400000, 523], [1201042800000, 528], [1201129200000, 483], [1201215600000, 452], [1201302000000, 270], [1201388400000, 222], [1201474800000, 439], [1201561200000, 559], [1201647600000, 521], [1201734000000, 477], [1201820400000, 442], [1201906800000, 252], [1201993200000, 236], [1202079600000, 525], [1202166000000, 477], [1202252400000, 386], [1202338800000, 409], [1202425200000, 408], [1202511600000, 237], [1202598000000, 193], [1202684400000, 357], [1202770800000, 414], [1202857200000, 393], [1202943600000, 353], [1203030000000, 364], [1203116400000, 215], [1203202800000, 214], [1203289200000, 356], [1203375600000, 399], [1203462000000, 334], [1203548400000, 348], [1203634800000, 243], [1203721200000, 126], [1203807600000, 157], [1203894000000, 288]];
    //var d = [[1196463600000, 0], [1196550000000, 0], [1196636400000, 0], [1196809200000, 3636], [1196895600000, 3575], [1196982000000, 2736], [1197068400000, 1086], [1197154800000, 676], [1197241200000, 1205], [1197327600000, 906], [1197414000000, 710], [1197500400000, 639], [1197586800000, 540], [1197673200000, 435], [1197759600000, 301], [1197846000000, 575], [1197932400000, 481], [1198018800000, 591], [1198105200000, 608], [1198191600000, 459], [1198278000000, 234], [1198364400000, 1352], [1198450800000, 686], [1198537200000, 279], [1198623600000, 449], [1198710000000, 468], [1198796400000, 392], [1198882800000, 282], [1198969200000, 208], [1199055600000, 229], [1199142000000, 177], [1199228400000, 374], [1199314800000, 436], [1199401200000, 404], [1199487600000, 253], [1199574000000, 218], [1199660400000, 476], [1199746800000, 462], [1199833200000, 448], [1199919600000, 442], [1200006000000, 403], [1200092400000, 204], [1200178800000, 194], [1200265200000, 327], [1200351600000, 374], [1200438000000, 507], [1200524400000, 546], [1200610800000, 482], [1200697200000, 283], [1200783600000, 221], [1200870000000, 483], [1200956400000, 523], [1201042800000, 528], [1201129200000, 483], [1201215600000, 452], [1201302000000, 270], [1201388400000, 222], [1201474800000, 439], [1201561200000, 559], [1201647600000, 521], [1201734000000, 477], [1201820400000, 442], [1201906800000, 252], [1201993200000, 236], [1202079600000, 525], [1202166000000, 477], [1202252400000, 386], [1202338800000, 409], [1202425200000, 408], [1202511600000, 237], [1202598000000, 193], [1202684400000, 357], [1202770800000, 414], [1202857200000, 393], [1202943600000, 353], [1203030000000, 364], [1203116400000, 215], [1203202800000, 214], [1203289200000, 356], [1203375600000, 399], [1203462000000, 334], [1203548400000, 348], [1203634800000, 243], [1203721200000, 126], [1203807600000, 157], [1203894000000, 288]];
    //var d = [[1253397600000,999],[1253570400000,999],[1253743200000,999],[1254002400000,849],[1254175200000,699],[1254348000000,999],[1254607200000,849],[1254780000000,699],[1254952800000,999],[1255212000000,699],[1255384800000,329],[1255557600000,999],[1255816800000,329],[1255989600000,329],[1256162400000,849],[1256421600000,699],[1256598000000,329],[1256770800000,999],[1257030000000,329],[1257202800000,329],[1257375600000,849],[1257634800000,329],[1257807600000,329],[1257980400000,849],[1258239600000,329],[1258412400000,329],[1258585200000,999],[1258844400000,329],[1259017200000,329],[1259190000000,1599],[1259449200000,329],[1259622000000,329],[1259794800000,1299],[1260054000000,329],[1260226800000,329],[1260399600000,849],[1260658800000,399],[1260831600000,399],[1261004400000,699],[1261263600000,599],[1261436400000,699],[1261868400000,599],[1262041200000,599],[1262214000000,499],[1262473200000,399],[1262646000000,399],[1262818800000,499],[1263078000000,399],[1263250800000,399],[1263423600000,499],[1263682800000,399],[1263855600000,399],[1264028400000,499],[1264287600000,399],[1264460400000,399],[1264633200000,499],[1264892400000,399],[1265065200000,399],[1265238000000,699],[1265497200000,399],[1265670000000,399],[1265842800000,1799],[1266102000000,399],[1266274800000,399],[1266447600000,499],[1266706800000,599],[1266879600000,599],[1267052400000,599],[1267311600000,399],[1267484400000,399],[1267657200000,499],[1267916400000,399],[1268089200000,399],[1268262000000,499],[1268521200000,399],[1268694000000,399],[1268866800000,499],[1269126000000,399],[1269298800000,399],[1269471600000,499]]
    //dres = [[1253397600000,999],[1253570400000,999],[1253743200000,999],[1254002400000,849],[1254175200000,699],[1254348000000,999],[1254607200000,849],[1254780000000,699],[1254952800000,999],[1255212000000,699],[1255384800000,329],[1255557600000,999],[1255816800000,329],[1255989600000,329],[1256162400000,849],[1256421600000,699],[1256598000000,329],[1256770800000,999],[1257030000000,329],[1257202800000,329],[1257375600000,849],[1257634800000,329],[1257807600000,329],[1257980400000,849],[1258239600000,329],[1258412400000,329],[1258585200000,999],[1258844400000,329],[1259017200000,329],[1259190000000,1599],[1259449200000,329],[1259622000000,329],[1259794800000,1299],[1260054000000,329],[1260226800000,329],[1260399600000,849],[1260658800000,399],[1260831600000,399],[1261004400000,699],[1261263600000,599],[1261436400000,699],[1261868400000,599],[1262041200000,599],[1262214000000,499],[1262473200000,399],[1262646000000,399],[1262818800000,499],[1263078000000,399],[1263250800000,399],[1263423600000,499],[1263682800000,399],[1263855600000,399],[1264028400000,499],[1264287600000,399],[1264460400000,399],[1264633200000,499],[1264892400000,399],[1265065200000,399],[1265238000000,699],[1265497200000,399],[1265670000000,399],[1265842800000,1799],[1266102000000,399],[1266274800000,399],[1266447600000,499],[1266706800000,599],[1266879600000,599],[1267052400000,599],[1267311600000,399],[1267484400000,399],[1267657200000,499],[1267916400000,399],[1268089200000,399],[1268262000000,499],[1268521200000,399],[1268694000000,399],[1268866800000,499],[1269126000000,399],[1269298800000,399],[1269471600000,499]]

    dres1 = eval(dres1);
    dres2 = eval(dres2);
    dres3 = eval(dres3);
    if (dres3 != 0) {

        document.getElementById('placeholderOut').style.width = (480 * dres3) + "px";
        document.getElementById('placeholderBack').style.width = (480 * dres3) + "px";
        document.getElementById('divGraphContainer').style.width = "590px";
    }
    else {
        document.getElementById('placeholderOut').style.width = 500 + "px";
        document.getElementById('placeholderBack').style.width = 500 + "px";
        document.getElementById('divGraphContainer').style.width = "590px";
    }
    //        if (dres1.length >= 60) {
    //            document.getElementById('placeholderOut').style.width = "3800px";
    //            document.getElementById('placeholderBack').style.width = "3800px"; 
    //        }
    //        else {
    //            document.getElementById('placeholderOut').style.width = "2800px";
    //            document.getElementById('placeholderBack').style.width = "2800px"; 
    //        }
    //document.getElementById('placeholderOut').style.width = "1000px"; 

    //dres = dres.replace('"', '');
    // helper for returning the weekends in a period
    function weekendAreas(axes) {
        var markings = [];
        var d = new Date(axes.xaxis.min);
        // go to the first Saturday
        d.setUTCDate(d.getUTCDate() - ((d.getUTCDay() + 1) % 7))
        // go to the first friday
        d.setUTCDate(d.getUTCDate() - ((d.getUTCDay() + 1) % 6))
        d.setUTCSeconds(0);
        d.setUTCMinutes(0);
        d.setUTCHours(0);
        var i = d.getTime();
        do {
            // when we don't set yaxis the rectangle automatically
            // extends to infinity upwards and downwards
            markings.push({ xaxis: { from: i, to: i + 2 * 24 * 60 * 60 * 1000} });
            i += 7 * 24 * 60 * 60 * 1000;
        } while (i < axes.xaxis.max);

        return markings;
    }

    var tmpDate;
    var options = {
        xaxis: { mode: "time", labelWidth: 15, tickSize: [1, "day"], tickFormatter: function(val, axis) {
            var d = new Date(val);
            tmpDate = d.getUTCDate();
            var retString;

            if (tmpDate == 15) {
                //retString = d.getUTCDate() + "<br>" + monthNameLong[d.getUTCMonth()] + ' - ' + d.getFullYear(); //;
                retString = d.getUTCDate() + "<br>" + monthNameShort[d.getUTCMonth()]; //;
            }
            else
                retString = tmpDate;

            if (d.getUTCMonth() % 2 == 0)
                return "<DIV class='alt'>" + retString + "</DIV>";
            else
                return "<DIV class='reg'>" + retString + "</DIV>";
        }
        },
        selection: { mode: "null" },
        grid: { markings: weekendAreas, hoverable: true, clickable: true },
        lines: { show: true },
        points: { show: true, radius: 4 },
        bars: { show: false, barWidth: 6, align: "center" },
        yaxis: { min: 0 },
        colors: ["#CC0000", "#dba255", "#919733"]
    };



    var plotOut = $.plot($("#placeholderOut"),
       [{ data: dres1}], options);

    var plotBack = $.plot($("#placeholderBack"),
       [{ data: dres2}], options);



    //        var overview = $.plot($("#overview"), [dres1, dres2], {
    //            lines: { show: true, lineWidth: 1 },
    //            shadowSize: 0,
    //            xaxis: { ticks: [], mode: "time" },
    //            yaxis: { ticks: [], min: 0 },
    //            grid: { markings: weekendAreas },
    //            selection: { mode: "none" }
    //        });


    function showTooltip(x, y, contents) {
        $('<div id="tooltip">' + contents + '</div>').css({
            position: 'absolute',
            display: 'block',
            top: y + 1,
            left: x + 15,
            border: '1px solid #fdd',
            padding: '2px',
            'background-color': '#fee',
            opacity: 1
        }).appendTo("body");
        //}).appendTo("body").fadeIn(200);
    }

    var previousPointOut = null;
    $("#placeholderOut").bind("plothover", function (event, pos, item) {
        if (item) {
            if (previousPointOut != item.datapoint[0].toFixed(2)) {
                previousPointOut = item.datapoint[0].toFixed(2);

                $("#tooltip").remove();
                var x = item.datapoint[0].toFixed(2),
                    y = item.datapoint[1].toFixed(2);
                //var timeStamp = x;
                var theDate = new Date(x);
                theDate.setTime(x);
                var ww = theDate.getDay();
                //var dateString = theDate.toGMTString();
                showTooltip(item.pageX, item.pageY,
                            y + " Kr <BR>Dato: " + GetPrettyDate(theDate));
            }
        }
        else {
            $("#tooltip").remove();
            previousPointOut = null;
        }
    });

    var previousPointBack = null;
    $("#placeholderBack").bind("plothover", function(event, pos, item) {
            if (item) {
                if (previousPointBack != item.datapoint[0].toFixed(2)) {
                    previousPointBack = item.datapoint[0].toFixed(2);

                    $("#tooltip").remove();
                    var x = item.datapoint[0].toFixed(2), y = item.datapoint[1].toFixed(2);
                    //var timeStamp = x;
                    var theDate = new Date(x);
                    theDate.setTime(x);
                    //var dateString = theDate.toGMTString();
                    showTooltip(item.pageX, item.pageY,
                            y + " Kr <BR>Dato: " + GetPrettyDate(theDate));
                }
            }
            else {
                $("#tooltip").remove();
                previousPointBack = null;
            }
    });

    // now connect the two
    /*
    $("#placeholderOut").bind("plotselected", function(event, ranges) {
    // do the zooming
    plotOut = $.plot($("#placeholderOut"), [dres1],
    $.extend(true, {}, options, {
    xaxis: { min: ranges.xaxis.from, max: ranges.xaxis.to }
    }));

        // don't fire event on the overview to prevent eternal loop
    overview.setSelection(ranges, true);
    });

    $("#overview").bind("plotselected", function(event, ranges) {
    plotOut.setSelection(ranges);
    });
    */
    var previousClickPointOut = null;

    $("#placeholderOut").bind("plotclick", function (event, pos, item) {
        dtDateOut = null;
        if (item) {
            var txtOutDate = $get(ClientIDs.txtOutDate);
            var x = item.datapoint[0].toFixed(2), y = item.datapoint[1].toFixed(2);
            var theDate = new Date(x);
            theDate.setTime(x);
            if (previousClickPointOut != item.datapoint) {
                ShowOutResult();
                $("#clickdataoutDate").text("" + GetPrettyDate(theDate) + "");
                $("#clickdataoutPrice").text("" + parseInt(y) + "");
                SetOutPrice(y, theDate.toLocaleDateString() + " : " + y + " Kr");
                //var OutDate = theDate; ; //theDate.getFullYear() + "-" + theDate.getMonth() + "-" + theDate.getDate();
                //var myDate = new Date();
                //myDate.setFullYear(theDate.getFullYear(), theDate.getMonth(), theDate.getDate());
                txtOutDate.value = theDate.toDateString();
                dtDateOut = theDate;
                dout = x;
                if (previousClickPointOut != null)
                    plotOut.unhighlight(item.series, previousClickPointOut);
                plotOut.highlight(item.series, item.datapoint);
            }
            else {
                SetOutPrice('', '');
                txtOutDate.value = "";
                dtDateOut = null;
                dout = null;
                $("#clickdataoutDate").text("");
                $("#clickdataoutPrice").text("");
                ClearOutResult();
                HideOutResult();
                plotOut.unhighlight(item.series, item.datapoint);
            }
            previousClickPointOut = item.datapoint;
        }
        else {
            previousClickPointOut = previousClickPointOut;
        }
        if ((dtDateOut != null) && (dtDateBack != null)) {
            if (dtDateOut.valueOf() >= dtDateBack.valueOf()) {
                $('#tabs').tabs('disable', 2);
            }
            else {
                $('#tabs').tabs('enable', 2);
            }
        }
        else {
            $('#tabs').tabs('disable', 2);
        }
        SetResultHeaderText();
    });

    var previousClickPointBack = null;

    $("#placeholderBack").bind("plotclick", function(event, pos, item) {
        dtDateBack = null;
        if (item) {
            var txtBackDate = $get(ClientIDs.txtBackDate);
            var x = item.datapoint[0].toFixed(2), y = item.datapoint[1].toFixed(2);
            var theDate = new Date(x);
            theDate.setTime(x);
            if (previousClickPointBack != item.datapoint) {
                ShowBackResult();
                $("#clickdatabackDate").text("" + GetPrettyDate(theDate) + "");
                $("#clickdatabackPrice").text("" + parseInt(y) + "");
                SetBackPrice(y, theDate.toLocaleDateString() + " : " + y + " Kr");
                //txtBackDate.value = theDate.toDateString();
                //var BackDate = theDate; //.getFullYear() + "-" + theDate.getMonth() + "-" + theDate.getDate();
                //var myDate = new Date();
                //myDate.setFullYear(theDate.getFullYear(), theDate.getMonth(), theDate.getDate());

                txtBackDate.value = theDate.toDateString();
                dtDateBack = theDate;
                dback = x;
                if (previousClickPointBack != null)
                    plotBack.unhighlight(item.series, previousClickPointBack);
                plotBack.highlight(item.series, item.datapoint);
            }
            else {
                $("#clickdatabackDate").text("");
                $("#clickdatabackPrice").text("");
                txtBackDate.value = "";
                dtDateBack = null;
                dback = null;
                SetBackPrice('', '');
                ClearBackResult();
                HideBackResult();
                plotBack.unhighlight(item.series, item.datapoint);
            }
            previousClickPointBack = item.datapoint;
        }
        else {
            previousClickPointBack = previousClickPointBack;
        }
        if ((dtDateOut != null) && (dtDateBack != null)) {
            if (dtDateOut.valueOf() >= dtDateBack.valueOf()) {
                $('#tabs').tabs('disable', 2);
            }
            else {
                $('#tabs').tabs('enable', 2);
            }
        }
        else {
            $('#tabs').tabs('disable', 2);
        }
        SetResultHeaderText();
    });
};

function DateOutSelectedDP(date) {

    //Get both dates
    var startDate = $("#dpOut").datepicker('getDate');
    var endDate = $("#dpBack").datepicker('getDate');

    //Check if both dates are provided
    if ((startDate == null) || (endDate == null)) {
        if ((startDate != null) && (endDate == null)) {
            $("#dpBack").datepicker('setDate', startDate);
            dtDateBack = $("#dpOut").datepicker('getDate');
        }
    }
    else {
        //Check if the start date is before the end date
        if (startDate.valueOf() > endDate.valueOf()) {
            //Clear dateHome
            $("#dpBack").datepicker('setDate', startDate);
            dtDateBack = $("#dpOut").datepicker('getDate');
        }
    }
    dtDateOut = $("#dpOut").datepicker('getDate');
    UpdateTravelDaysDP();
}

function DateHomeSelectedDP() {

    //Get both dates
    var startDate = $("#dpOut").datepicker('getDate');
    var endDate = $("#dpBack").datepicker('getDate');
    //Check if both dates are provided
    if ((startDate == null) || (endDate == null)) {
        if ((startDate == null) && (endDate != null)) {
            $("#dpOut").datepicker('setDate', endDate);
            dtDateOut = $("#dpOut").datepicker('getDate');
        }
    }
    else {
        //Check if the start date is before the end date
        if (startDate.valueOf() > endDate.valueOf()) {
            //Clear dateOut
            $("#dpOut").datepicker('setDate', endDate);
            dtDateOut = $("#dpOut").datepicker('getDate');
        }
    }
    dtDateBack = $("#dpBack").datepicker('getDate');
    UpdateTravelDaysDP();
}

function DateOutSelected(date) {

    //Get both dates
    var startDate = $("#dtOut").datepicker('getDate');
    var endDate = $("#dtBack").datepicker('getDate');

    //Check if both dates are provided
    if ((startDate == null) || (endDate == null)) {
        if ((startDate != null) && (endDate == null)) {
            $("#dtBack").datepicker('setDate', startDate);
            dtDateBack = $("#dtOut").datepicker('getDate');
        }
    }
    else {
        //Check if the start date is before the end date
        if (startDate.valueOf() > endDate.valueOf()) {
            //Clear dateHome
            $("#dtBack").datepicker('setDate', startDate);
            dtDateBack = $("#dtOut").datepicker('getDate');
        }
    }
    dtDateOut = $("#dtOut").datepicker('getDate');
    UpdateTravelDays();
}

function DateHomeSelected() {

    //Get both dates
    var startDate = $("#dtOut").datepicker('getDate');
    var endDate = $("#dtBack").datepicker('getDate');
    //Check if both dates are provided
    if ((startDate == null) || (endDate == null)) {
        if ((startDate == null) && (endDate != null)) {
            $("#dtOut").datepicker('setDate', endDate);
            dtDateOut = $("#dtOut").datepicker('getDate');
        }
    }
    else {
        //Check if the start date is before the end date
        if (startDate.valueOf() > endDate.valueOf()) {
            //Clear dateOut
            $("#dtOut").datepicker('setDate', endDate);
            dtDateOut = $("#dtOut").datepicker('getDate');
        }
    }
    dtDateBack = $("#dtBack").datepicker('getDate');
    UpdateTravelDays();
}

function UpdateTravelDaysDP() {
    //Get both dates
    var startDate = $("#dpOut").datepicker('getDate');
    var endDate = $("#dpBack").datepicker('getDate');

    //Check if both dates are provided
    if ((startDate == null) || (endDate == null)) {
        //divOtherFlightsMessage
        DeleteAllOtherFlights();
        document.getElementById("divOtherFlightsMessage").style.display = 'inline';
    }
    else {
        //Check if the start date is before the end date
        if (startDate.valueOf() < endDate.valueOf()) {
            document.getElementById("divOtherFlightsMessage").style.display = 'none';
            var daysApart = Math.round((endDate - startDate) / 86400000);
            //lblTravelDaysVar.innerHTML = "Antall dager:&nbsp;<b>" + daysApart + "</b>";

            //show list tab
            //$('#tabs').tabs('enable', 2);

            //$("#divSearchCalendar").runEffect('pulsate');
            //var options = {};
            //$("#btnSearchCalendar").effect('highlight', options, 150, callback);
            $("#dtOut").datepicker('setDate', dtDateOut);
            $("#dtBack").datepicker('setDate', dtDateBack);
            GetOtherFlightsOnDate();

        }
        else {
            DeleteAllOtherFlights();
            document.getElementById("divOtherFlightsMessage").style.display = 'inline';
        }
    }
    //SetResultHeaderText();

}

function UpdateTravelDays() {
    //Get both dates
    var startDate = $("#dtOut").datepicker('getDate');
    var endDate = $("#dtBack").datepicker('getDate');
    //var rbOneWay = $get("rbOneWay");

    var lblTravelDaysVar = $get(ClientIDs.lblTravelDays);
    //var lblTravelDays = document.getElementById("lblTravelDays");
    lblTravelDaysVar.innerHTML = "";

    //'Refresh styles
    $("#dtOut").datepicker('setDate', $("#dtOut").datepicker('getDate'));
    $("#dtBack").datepicker('setDate', $("#dtBack").datepicker('getDate'));

    //Check if both dates are provided
    if ((startDate == null) || (endDate == null)) {
        //Hide list tab
        $('#tabs').tabs('disable', 2);
    }
    else {
        //Check if the start date is before the end date
        if (startDate.valueOf() < endDate.valueOf()) {

            var daysApart = Math.round((endDate - startDate) / 86400000);
            lblTravelDaysVar.innerHTML = "Antall dager:&nbsp;<b>" + daysApart + "</b>";

            //show list tab
            $('#tabs').tabs('enable', 2);

            //$("#divSearchCalendar").runEffect('pulsate');
            var options = {};
            $("#btnSearchCalendar").effect('highlight', options, 150, callback);

        }
        else {
            $('#tabs').tabs('disable', 2);
        }
    }
    SetResultHeaderText();

}

//function hoverArrive(date) {
//    var startDate = date; //$("#dtOut").datepicker('getDate');
//    var endDate = $("#dtBack").datepicker('getDate');
//    if (startDate.valueOf() < endDate.valueOf() && startDate != null && endDate != null) {

//        var daysApart = Math.round((endDate - startDate) / 86400000);
//        lblTravelDays.innerHTML = "Antall dager:&nbsp;<b>" + daysApart + "</b>";
//    }
//}

//function hoverDepart(date) {
//    var startDate = $("#dtOut").datepicker('getDate');
//    var endDate = parseDate(date);
//    if (startDate.valueOf() < endDate.valueOf() && startDate != null && endDate != null) {

//        var daysApart = Math.round((endDate - startDate) / 86400000);
//        lblTravelDays.innerHTML = "Antall dager:&nbsp;<b>" + daysApart + "</b>";
//    }
//}

function getOutDate(date) {

    var today = new Date();
    today = new Date(today.getFullYear(), today.getMonth(), today.getDate());
    var dtDep;
    dtDep = $("#dtBack").datepicker('getDate');


    if (today.getTime() == date.getTime()) {
        return [false, 'today'];
    }
    else if (dtDep != null) {
        if (date.getMonth() == dtDep.getMonth() && date.getDate() == dtDep.getDate())
            return [true, 'out_day'];
        else
            return [true, ''];
    }
    else {
        return [true, ''];
    }
}

function getInDate(date) {

    var today = new Date();
    today = new Date(today.getFullYear(), today.getMonth(), today.getDate());

    var dtArr;
    dtArr = $("#dtOut").datepicker('getDate');

    if (today.getTime() == date.getTime()) {
        return [false, 'today'];
    }
    else if (dtArr != null) {
        if (date.getMonth() == dtArr.getMonth() && date.getDate() == dtArr.getDate())
            return [true, 'in_day'];
        else if (date < dtArr)
            return [true, 'beforein_day'];
        else
            return [true, ''];
    }
    else {
        return [true, ''];
    }
}

function SelectedArrivalDateDP(date) {
    //$("#dtBack").datepicker('setDate', $("#dpBack").datepicker('getDate'));
    DateHomeSelectedDP(date);
}

function SelectedDepatureDateDP(date) {
    //$("#dtOut").datepicker('setDate', $("#dpOut").datepicker('getDate'))
    DateOutSelectedDP(date);
}

function SelectedArrivalDate(date) {
    DateHomeSelected(Date);
}

function SelectedDepatureDate(date) {
    DateOutSelected(Date);
}

function ClearAllResult() {
    ClearOutResult();
    ClearBackResult();
}

function HideAllResult() {
    HideOutResult();
    HideBackResult();
    HidePriceList();
    HidePriceResult();
    HideSearchButton();
}

function ClearOutResult() {
    $("#clickdataoutDate").text("");
    $("#clickdataoutPrice").text("");
}

function ClearBackResult() {
    $("#clickdatabackDate").text("");
    $("#clickdatabackPrice").text("");
}


function ShowResGraph() {
    //document.getElementById("resGraph").style.display = 'inline';
    $("#resGraph:hidden").removeAttr('style').hide().fadeIn();
}

function HideCompleteResult() {
    document.getElementById("divResult").style.display = 'none';
}

function ShowCompleteResult() {
    document.getElementById("divResult").style.display = 'inline';
}

function HideOutResult() {
    document.getElementById("divResultOut").style.display = 'none';
}

function HideBackResult() {
    document.getElementById("divResultBack").style.display = 'none';
}

function ShowOutResult() {
    document.getElementById("divResultOut").style.display = 'inline';
}

function ShowBackResult() {
    document.getElementById("divResultBack").style.display = 'inline';
}


function HidePriceResult() {
    document.getElementById("divResultTotal").style.display = 'none';
}
function ShowPriceResult() {
    document.getElementById("divResultTotal").style.display = 'inline';
}
function HideSearchButton() {
    document.getElementById("divResultSearch").style.display = 'none';
}
function ShowSearchButton() {
    document.getElementById("divResultSearch").style.display = 'inline';
    var options = {};
    $("#btnSearchGraph").effect('highlight', options, 150, callback);

}

function ShowCityDescription() {
    document.getElementById("divCityDescription").style.display = 'inline';
    //var options = {};
    //$("#btnSearchGraph").effect('highlight', options, 150, callback);
}

function HideCityDescription() {
    //document.getElementById("divCityDescription").style.display = 'none';
    $("#divCityDescription").fadeOut("normal");
    $("#divCityCountryLinks").fadeOut("normal");
    $("#divCountryDescription").fadeOut("normal");
    //var options = {};
    //$("#btnSearchGraph").effect('highlight', options, 150, callback);        
}

function HidePriceList() {
    document.getElementById("divResultPriceList").style.display = 'none';
}
function ShowPriceList() {
    document.getElementById("divResultPriceList").style.display = 'inline';
}

function DeleteAllOtherFlights() {
    var table = document.getElementById('tOtherFlights');
    var rows = table.rows;
    while (rows.length > 0)
        table.deleteRow(rows.length - 1);
}

function DeleteCalendarSearchResultRows() {

    //        var table = document.getElementById('rResultCalFlight');
    //        var rows = table.rows;
    //        while (rows.length > 0)
    //            table.deleteRow(rows.length - 1);

    //        table = document.getElementById('rResultCalHotel');
    //        rows = table.rows;
    //        while (rows.length > 0)
    //            table.deleteRow(rows.length - 1);            
}

function RenderResultData(data) {
    mySearch[iNoOfSearch] = data;
    if (iNoOfSearch != 0) {
        DeleteCalendarSearchResultRows();
    }
    RenderResultDataCurrent(data);
}


var priceArray = new Array();
var searchArray = new Array();


function RenderResultDataCurrent(data) {
    var strHotelsCom;
    var strExpedia;
    var strVenere;
    var divAcc = document.getElementById("accordionCurrent");

    var nodes = new Array();

    $('#accordionCurrent').children().remove();
    $('#accordionCurrent').accordion('destroy');
    var i = 0;


    //Print out 0, 2 , 3
    var company;
    var price;
    var link;
    var datarow = [];
    //style="BORDER: #CDCDCD 1px solid;

    //tr.setAttribute("height", "55px");
    //tr.style.backgroundColor = 'White';
    var iFlights;
    var iHotels;
    var imgName;
    iFlights = 0;
    iHotels = 0;

    priceArray[iNoOfSearch] = data;
    var tdTextFlights;
    var tdTextHotels;
    var td;
    tdTextFlights = "";
    tdTextHotels = "";

    //Only keep 5 in list
    var varonclick;
    var downto;
    var myHead;
    var myBody;
    var bestPrice;
    var iInnerCount;
    iInnerCount = 0;
    if (priceArray.length > 5) {
        downto = priceArray.length - 5;
    }
    else {
        downto = 0;
    }
    for (var y = priceArray.length - 1; y >= downto; --y) {
        tdTextFlights = "";
        tdTextHotels = "";
        bestPrice = "";
        iFlights = 0;
        iHotels = 0;
        data = priceArray[y];
        strVenere = '';
        strExpedia = '';
        strHotelsCom = '';
        for (x in data) {
            datarow = data[x].value.split("=>");
            if (datarow[4] != 'flights') {
                if (datarow[0] == 'HotelsCom') {
                    strHotelsCom = datarow[3];
                }
                else if (datarow[0] == 'Expedia') {
                    strExpedia = datarow[3];
                }
                else if (datarow[0] == 'Venere') {
                    strVenere = datarow[3];
                }
            }
        }

        for (x in data) {
            //priceArray
            datarow = data[x].value.split("=>");
            if (datarow[4] == 'flights') {
                if (iFlights == 0) {
                    bestPrice = datarow[2];
                }
                iFlights = iFlights + 1;

                imgName = datarow[0];
                //td = tr.insertCell(tr.cells.length);

                if (IsDebug == true) {
                    tdTextFlights = tdTextFlights + "<div class='FlightPriceElement' id='FlightPrice" + iFlights + "'><a onclick=javascript:ShowDialog('" + strHotelsCom + "','" + strExpedia + "','" + strVenere + "'); rel='nofollow' href='/RBwww/xt_OnlineSearchRedirect.aspx?ID=" + datarow[3] + "' target='_blank'>" + datarow[2] + "";
                }
                else {
                    tdTextFlights = tdTextFlights + "<div class='FlightPriceElement' id='FlightPrice" + iFlights + "'><a onclick=javascript:ShowDialog('" + strHotelsCom + "','" + strExpedia + "','" + strVenere + "'); rel='nofollow' href='/xt_OnlineSearchRedirect.aspx?ID=" + datarow[3] + "' target='_blank'>" + datarow[2] + "";
                }
                tdTextFlights = tdTextFlights + "<img src='images/" + imgName + ".gif' alt='" + datarow[0] + "' border='0' /></a></div>";
                //$(td).append(tdTextFlights);


            }
            else {

                iHotels = iHotels + 1;

                imgName = datarow[0];
                //td = tr.insertCell(tr.cells.length);
                if (IsDebug == true) {
                    tdTextHotels = tdTextHotels + "<div class='HotelPriceElement' id='HotelPrice" + iHotels + "'><a rel='nofollow' href='/RBwww/xt_OnlineSearchRedirect.aspx?ID=" + datarow[3] + "' target='_blank'><img class='HotelImage' src='images/hotel_" + imgName + ".gif' alt='" + datarow[0] + "' border='0' /></a></div>";
                }
                else {
                    if (imgName == "Finn hotell hos ReisBillig.no") {
                        tdTextHotels = tdTextHotels + "<div class='HotelPriceElement' id='HotelPrice" + iHotels + "'><a rel='nofollow' href='/xt_OnlineSearchRedirect.aspx?ID=" + datarow[3] + "' target='_blank'>" + imgName + "</a></div>";
                    }
                    else {
                        tdTextHotels = tdTextHotels + "<div class='HotelPriceElement' id='HotelPrice" + iHotels + "'><a rel='nofollow' href='/xt_OnlineSearchRedirect.aspx?ID=" + datarow[3] + "' target='_blank'><img class='HotelImage' src='images/hotel_" + imgName + ".gif' alt='" + datarow[0] + "' border='0' /></a></div>";
                    }

                }
                //$(td).append(tdTextHotels);

            }
        }

        if (y == priceArray.length) {
            myHead = "<h3 id='accordionCurrentHeader'><a href='#'>" + searchArray[y] + "<span id='spanPrice'> Fra " + bestPrice + "</span></a></h3>";
            myBody = "<div id ='accordionCurrentContent'><table cellpadding='0px' cellspacing='0px' width='100%' id='tblResult'><tr><td style='width:30px'><div class='FlightPriceElementImage'><img src='images/meny_fly.gif' alt='Fly' /></div></td><td style='width:550px;' align='left'><div id ='accordionCurrentContentFlights' style='text-align:left;'><ul><li><div class='FlightPriceElements'>" + tdTextFlights + "</div></li></ul></div></td></tr><tr><td><hr /></td><td><hr /></td></tr><tr><td style='width:40px'><div class='HotelPriceElementImage'><img src='images/meny_hotell.gif' alt='Hotell' /></div></td><td style='width:540px' align='left'><div id ='accordionCurrentContentHotels'><ul><li><div class='HotelPriceElements'>" + tdTextHotels + "</div></li></ul></div></td></tr></table></div>";
        }
        else {
            myHead = "<h3 id='accordionCurrentHeader'><a href='#'>" + searchArray[y] + "<span id='spanPrice'> Fra " + bestPrice + "</span></a></h3>";
            myBody = "<div id ='accordionCurrentContent'><table cellpadding='0px' cellspacing='0px' width='100%' id='tblResult'><tr><td style='width:30px'><div class='FlightPriceElementImage'><img src='images/meny_fly.gif' alt='Fly' /></div></td><td style='width:550px;' align='left'><div id ='accordionCurrentContentFlights' style='text-align:left;'><ul><li><div class='FlightPriceElements'>" + tdTextFlights + "</div></li></ul></div></td></tr><tr><td><hr /></td><td><hr /></td></tr><tr><td style='width:40px'><div class='HotelPriceElementImage'><img src='images/meny_hotell.gif' alt='Hotell' /></div></td><td style='width:540px' align='left'><div id ='accordionCurrentContentHotels'><ul><li><div class='HotelPriceElements'>" + tdTextHotels + "</div></li></ul></div></td></tr></table></div>";
        }

        $(divAcc).append(myHead);
        $(divAcc).append(myBody);
    }


    iNoOfSearch = iNoOfSearch + 1;


    ShowCompleteResult();
    ShowPriceList();
    $('.FlightPriceElement').addClass('tdprice');
    $('.FlightPriceElement').hover(function() {
        $(this).removeClass('tdprice');
        $(this).addClass('ui-state-hover');
    }, function() {
        $(this).removeClass('ui-state-hover');
        $(this).addClass('tdprice');
    });

    $('.HotelPriceElement').addClass('tdprice');
    $('.HotelPriceElement').hover(function() {
        $(this).removeClass('tdprice');
        $(this).addClass('ui-state-hover');
    }, function() {
        $(this).removeClass('ui-state-hover');
        $(this).addClass('tdprice');
    });

    var options = {};

    //$("#resGraph").effect('blind', options, 200, function() { $("#FlightPrice1").effect('highlight', options, 200, callback); });
    $('#accordionCurrent').accordion();


    //$("#HotelPrice1").effect('highlight', options, 400, callback);    
    //alert(divAcc.innerHTML);
}

function OnFlightSearch__Completed(data) {
    SearchInProgress = 0;
    var $tabs = $('#tabs').tabs();
    var selected = $tabs.tabs('option', 'selected'); // => 0
    unblockList();
    var parsed = [];

    $(data).find("string").each(function() {
        parsed[parsed.length] = {
            value: $(this).text()
        };
    });
    //return parsed;
    RenderResultData(parsed);
    $(".adload").colorbox.close();
    var options = {};
    $("#HotelPrice1").effect('highlight', options, 200, callback);
}
function OnFlightSearch__Error(error) {
    SearchInProgress = 0;
    var $tabs = $('#tabs').tabs();
    var selected = $tabs.tabs('option', 'selected'); // => 0
    unblockList();
    $(".adload").colorbox.close();
    alert("Error fs: " + error.get_message());
}

function OnOtherFlightsOnDate_Completed(data) {

    var $tabs = $('#tabs').tabs();
    var selected = $tabs.tabs('option', 'selected'); // => 0
    if (selected == 0) {
        unblockCalendar();
    }
    else if (selected == 1) {
        unblockGraph();
    }
    else if (selected == 2) {
        //Do not unblock if search is in progress
        if (SearchInProgress == 0) {
            unblockList();
        }
    }
    var parsed = [];

    $(data).find("string").each(function() {
        parsed[parsed.length] = {
            value: $(this).text()
        };
    });

    RenderOtherFlights(parsed);
}
function OnOtherFlightsOnDate_Error(error) {

    var $tabs = $('#tabs').tabs();
    var selected = $tabs.tabs('option', 'selected'); // => 0

    unblockList();

    alert("Error of: " + error.get_message());
}

function GetOtherFlightsOnDate() {

    var Origin = $get('txtOriginVal').value;
    var Destination = $get('txtDestinationVal').value;

    var startDate = $("#dtOut").datepicker('getDate');
    var OutDate = startDate.getFullYear() + "-" + (startDate.getMonth() + 1) + "-" + startDate.getDate()
    var bIsRoundTrip = IsRoundTrip();
    if (bIsRoundTrip == false) {
        //$('#dtBack').datepicker('setDate', startDate);
    }
    var endDate = $('#dtBack').datepicker('getDate');
    var HomeDate = endDate.getFullYear() + "-" + (endDate.getMonth() + 1) + "-" + endDate.getDate()

    //StartSnag(SiteID, UID, strLocalPath, strFrom,strTo,dtFromDate,dtToDate,NumberOfAdults, _
    //NumberOfChilds, NumberOfInfants, IsRoundTrip, strSessionID, UserHostAddress, dsHotel, bIncludeHotelSearch)

    var $tabs = $('#tabs').tabs();
    var selected = $tabs.tabs('option', 'selected'); // => 0
    if (selected == 0) {
        blockCalendar();
    }
    else if (selected == 1) {
        blockGraph();
    }
    else if (selected == 2) {
        blockList();
    }
    FlightData.GetOtherFlightsOnDate(1, Origin, Destination, OutDate, HomeDate, OnOtherFlightsOnDate_Completed, OnOtherFlightsOnDate_Error);
    DeleteCalendarSearchResultRows();
    HidePriceList();
    if (selected == 0) {
        HideCompleteResult();
    }

}


var SearchInProgress;
SearchInProgress = 0;

function SearchFlights() {
    var bValid;
    bValid = ValidateBeforeSearch();
    if (bValid == true) {
        HideCityDescription();
        var NoOfAdults = $get(ClientIDs.ddlNoOfAdults).value;
        var NoOfChildren = $get(ClientIDs.ddlNoOfChildren).value;

        var NoOfInfants = $get(ClientIDs.ddlNoOfInfants).value;

        var Origin = $get('txtOriginVal').value;
        var Destination = $get('txtDestinationVal').value;

        var UID;
        var SessionID;
        UID = $get(ClientIDs.txtUID).value;
        SessionID = $get(ClientIDs.txtSessionID).value;
        var startDate = $("#dtOut").datepicker('getDate');
        var OutDate = startDate.getFullYear() + "-" + (startDate.getMonth() + 1) + "-" + startDate.getDate()
        var bIsRoundTrip = IsRoundTrip();
        if (bIsRoundTrip == false) {
            $('#dtBack').datepicker('setDate', startDate);
        }
        var endDate = $('#dtBack').datepicker('getDate');
        var HomeDate = endDate.getFullYear() + "-" + (endDate.getMonth() + 1) + "-" + endDate.getDate()

        //StartSnag(SiteID, UID, strLocalPath, strFrom,strTo,dtFromDate,dtToDate,NumberOfAdults, _
        //NumberOfChilds, NumberOfInfants, IsRoundTrip, strSessionID, UserHostAddress, dsHotel, bIncludeHotelSearch)
        SearchInProgress = 1;
        var $tabs = $('#tabs').tabs();
        var selected = $tabs.tabs('option', 'selected'); // => 0
        if (selected == 0) {
            blockCalendar();
        }
        else if (selected == 1) {
            blockGraph();
        }
        else if (selected == 2) {
            blockList();
        }
        var divResultHeader = $get('divResultHeader');
        searchArray[iNoOfSearch] = divResultHeader.innerHTML;
        ShownOnce = false;
        //$(".example5").colorbox({ overlayClose: false, open: true, iframe: false, innerWidth: 330, innerHeight: 330 });
        $(".adload").colorbox({ overlayClose: false, open: true, iframe: true, innerWidth: 380, innerHeight: 380 });
        FlightData.StartSnag(1, UID, '', Origin, Destination, OutDate, HomeDate, NoOfAdults, NoOfChildren, NoOfInfants, bIsRoundTrip, SessionID, '', OnFlightSearch__Completed, OnFlightSearch__Error);
        DeleteCalendarSearchResultRows();
        HidePriceList();
        if (selected == 0) {
            HideCompleteResult();
        }
    }
    return false;
}

function ValidateBeforeSearch() {

    var Origin = $get('txtOrigin').value;
    var Destination = $get('txtDestination').value;
    var bIsRoundTrip = IsRoundTrip();

    var $tabs = $('#tabs').tabs();
    var selected = $tabs.tabs('option', 'selected'); // => 0
    if (selected == 1) {
        $("#dtOut").datepicker('setDate', dtDateOut);
        $("#dtBack").datepicker('setDate', dtDateBack);
    }

    var startDate = $("#dtOut").datepicker('getDate');
    var endDate = $('#dtBack').datepicker('getDate');


    var dTempStart = new Date();
    var dTempEnd = new Date;
    dTempEnd.setFullYear(dTempEnd.getFullYear() + 1);


    //Validate cities, popup with select list

    if (Origin.length <= 2) {
        alert('Vennligst anngi avreise by/flyplass');
        return false;
    }
    else if (Destination.length <= 2) {
        alert('Vennligst anngi ankomst by/flyplass');
        return false;
    }
    else if (startDate == null) {
        alert('Vennligst anngi dato for utreise');
        return false;
    }
    else if (bIsRoundTrip == true && endDate == null) {
        alert('Vennligst anngi dato for hjemmreise');
        return false;
    }
    else if (bIsRoundTrip == true && endDate < startDate) {
        alert('Utreise dato må være tidligere enn hjemmreise dato');
        return false;
    }
    else if (bIsRoundTrip == true && endDate != null && startDate != null) {
        var daysApart = Math.round((endDate - startDate) / 86400000);
        if (daysApart <= 0) {
            alert('Hjemmreise dato må være senere enn utreisedato');
            return false;
        }
        else {
            return true;
        }
    }
    else if (bIsRoundTrip == true && endDate > dTempEnd) {
        alert('Utreise dato kan ikke være mer enn 1 år frem i tid');
        return false;
    }
    else if (startDate < dTempStart) {
        alert('Utreise dato kan ikke være tidligere enn dagens dato');
        return false;
    }
    else {
        return true;
    }
}

function IsRoundTrip() {

    var rbReturn = $get(ClientIDs.rbReturn);
    if (rbReturn.checked == true)
        return true;
    else
        return false;
}

function RenderOtherFlights(data) {
    var tr, td;
    var i;
    var cb;
    var Origin = $get('txtOriginVal').value;
    var Destination = $get('txtDestinationVal').value;

    var startDate = $("#dtOut").datepicker('getDate');
    var startDate_before = $("#dtOut").datepicker('getDate');
    var startDate_after = $("#dtOut").datepicker('getDate');
    var endDate = $('#dtBack').datepicker('getDate');
    var endDate_before = $('#dtBack').datepicker('getDate');
    var endDate_after = $('#dtBack').datepicker('getDate');
    var OutDate = startDate.getFullYear() + "-" + (startDate.getMonth() + 1) + "-" + startDate.getDate()
    var HomeDate = endDate.getFullYear() + "-" + (endDate.getMonth() + 1) + "-" + endDate.getDate()


    startDate_before.setDate(startDate_before.getDate() - 7);
    startDate_after.setDate(startDate_after.getDate() + 7);

    endDate_before.setDate(endDate_before.getDate() - 7);
    endDate_after.setDate(endDate_after.getDate() + 7);

    var bIsRoundTrip = IsRoundTrip();
    if (bIsRoundTrip == false) {
        //$('#dtBack').datepicker('setDate', startDate);
    }

    DeleteAllOtherFlights();
    var datarow = [];



    if (1 == 1) {
        if (1 == 1) {
            //document.getElementById("div_pnlOtherFlights").style.display="inline";
            //closePanel();

            tbody = document.getElementById("tOtherFlightsBody");

            //lblOtherFlights.innerHTML = "<br />Her er andre tilbud, med samme reiselengde, på dine valgte datoer"

            var bIsWeekend = false;

            tr = tbody.insertRow(tbody.rows.length);
            td = tr.insertCell(tr.cells.length);
            td.colSpan = 6;
            td.innerHTML = "<br>";

            tr = tbody.insertRow(tbody.rows.length);
            tr.style.color = '#6BBA65';
            td = tr.insertCell(tr.cells.length);
            td.setAttribute('align', 'left');

            td.innerHTML = "";
            td = tr.insertCell(tr.cells.length);
            td.setAttribute('align', 'center');
            td.innerHTML = GetPrettyDateNoYear(startDate_before) + ' - ' + GetPrettyDateNoYear(endDate_before);
            td = tr.insertCell(tr.cells.length);
            td.setAttribute('align', 'center');
            td.innerHTML = "<b>" + GetPrettyDateNoYear(startDate) + ' - ' + GetPrettyDateNoYear(endDate) + "</b>"
            td = tr.insertCell(tr.cells.length);
            td.setAttribute('align', 'center');
            td.innerHTML = GetPrettyDateNoYear(startDate_after) + ' - ' + GetPrettyDateNoYear(endDate_after);

            //Draw header   6 columns
            tr = tbody.insertRow(tbody.rows.length);
            td = tr.insertCell(tr.cells.length);
            tr.style.color = '#6BBA65';
            td.setAttribute('align', 'left');
            td.innerHTML = ""
            //td = tr.insertCell(tr.cells.length);
            //td.setAttribute('align', 'center');
            //td.innerHTML="14 dager før"                
            td = tr.insertCell(tr.cells.length);
            td.setAttribute('align', 'center');
            td.innerHTML = "(1 Uke før)"
            td = tr.insertCell(tr.cells.length);
            td.setAttribute('align', 'center');
            td.innerHTML = "<h1><b>Dine valgte datoer</b><h1>"
            td = tr.insertCell(tr.cells.length);
            td.setAttribute('align', 'center');
            td.innerHTML = "(1 Uke etter)"
            //td = tr.insertCell(tr.cells.length);
            //td.setAttribute('align', 'center');
            //td.innerHTML="14 dager etter"

            tr = tbody.insertRow(tbody.rows.length);
            td = tr.insertCell(tr.cells.length);
            td.setAttribute('align', 'left');
            td.style.color = '#6BBA65';
            td.innerHTML = "Fra " + "<b>" + $get('txtOrigin').value + "</b>" + " til:"

            td = tr.insertCell(tr.cells.length);
            td.setAttribute('align', 'center');
            td.innerHTML = "Antatt pris"
            td = tr.insertCell(tr.cells.length);
            td.setAttribute('align', 'center');
            td.innerHTML = "Antatt pris"
            td = tr.insertCell(tr.cells.length);
            td.setAttribute('align', 'center');
            td.innerHTML = "Antatt pris"

            var NoOfAdults = $get(ClientIDs.ddlNoOfAdults).value;
            var NoOfChildren = $get(ClientIDs.ddlNoOfChildren).value;
            var NoOfInfants = $get(ClientIDs.ddlNoOfInfants).value;

            //Alternative destinations
            for (x in data) {
                datarow = data[x].value.split("=>");
                tr = tbody.insertRow(tbody.rows.length);
                td = tr.insertCell(tr.cells.length);
                td.setAttribute('align', 'left');
                td.innerHTML = datarow[3];
                //td = tr.insertCell(tr.cells.length);
                //td.setAttribute('align', 'center');

                td = tr.insertCell(tr.cells.length);
                td.setAttribute('align', 'center');
                td.innerHTML = datarow[5];
                OutDate = startDate_before.getFullYear() + "-" + (startDate_before.getMonth() + 1) + "-" + startDate_before.getDate()
                HomeDate = endDate_before.getFullYear() + "-" + (endDate_before.getMonth() + 1) + "-" + endDate_before.getDate()
                if (datarow[5] != '') {
                    if ($.browser.msie)
                        td.innerHTML = "<A HREF=javascript:DoMySearch('" + escape(datarow[0]) + "','" + escape(datarow[1]) + "','" + escape(datarow[2]) + "','" + escape(datarow[3]) + "','" + OutDate + "','" + HomeDate + "','1','" + NoOfAdults + "','" + NoOfChildren + "','" + NoOfInfants + "','1','1','1','0')>" + datarow[5] + " NOK</A>";
                    else
                        td.innerHTML = "<A HREF=javascript:DoMySearch('" + encodeURIComponent(datarow[0]) + "','" + encodeURIComponent(datarow[1]) + "','" + encodeURIComponent(datarow[2]) + "','" + encodeURIComponent(datarow[3]) + "','" + OutDate + "','" + HomeDate + "','1','" + NoOfAdults + "','" + NoOfChildren + "','" + NoOfInfants + "','1','1','1','0')>" + datarow[5] + " NOK</A>";
                }
                else
                    td.innerHTML = "";
                td = tr.insertCell(tr.cells.length);
                td.setAttribute('align', 'center');
                td.innerHTML = "<b>" + datarow[6] + "</b>"
                OutDate = startDate.getFullYear() + "-" + (startDate.getMonth() + 1) + "-" + startDate.getDate()
                HomeDate = endDate.getFullYear() + "-" + (endDate.getMonth() + 1) + "-" + endDate.getDate()
                if (datarow[6] != '')
                    if ($.browser.msie)
                    td.innerHTML = "<b><A HREF=javascript:DoMySearch('" + escape(datarow[0]) + "','" + escape(datarow[1]) + "','" + escape(datarow[2]) + "','" + escape(datarow[3]) + "','" + OutDate + "','" + HomeDate + "','1','" + NoOfAdults + "','" + NoOfChildren + "','" + NoOfInfants + "','1','1','1','0')>" + datarow[6] + " NOK</A></b>";
                else
                    td.innerHTML = "<b><A HREF=javascript:DoMySearch('" + encodeURIComponent(datarow[0]) + "','" + encodeURIComponent(datarow[1]) + "','" + encodeURIComponent(datarow[2]) + "','" + encodeURIComponent(datarow[3]) + "','" + OutDate + "','" + HomeDate + "','1','" + NoOfAdults + "','" + NoOfChildren + "','" + NoOfInfants + "','1','1','1','0')>" + datarow[6] + " NOK</A></b>";
                else
                    td.innerHTML = "";
                td = tr.insertCell(tr.cells.length);
                td.setAttribute('align', 'center');
                td.innerHTML = datarow[7]


                OutDate = startDate_after.getFullYear() + "-" + (startDate_after.getMonth() + 1) + "-" + startDate_after.getDate()
                HomeDate = endDate_after.getFullYear() + "-" + (endDate_after.getMonth() + 1) + "-" + endDate_after.getDate()
                if (datarow[7] != '') {
                    if ($.browser.msie)
                        td.innerHTML = "<A HREF=javascript:DoMySearch('" + escape(datarow[0]) + "','" + escape(datarow[1]) + "','" + escape(datarow[2]) + "','" + escape(datarow[3]) + "','" + OutDate + "','" + HomeDate + "','1','" + NoOfAdults + "','" + NoOfChildren + "','" + NoOfInfants + "','1','1','1','0')>" + datarow[7] + " NOK</A>";
                    else
                        td.innerHTML = "<A HREF=javascript:DoMySearch('" + encodeURIComponent(datarow[0]) + "','" + encodeURIComponent(datarow[1]) + "','" + encodeURIComponent(datarow[2]) + "','" + encodeURIComponent(datarow[3]) + "','" + OutDate + "','" + HomeDate + "','1','" + NoOfAdults + "','" + NoOfChildren + "','" + NoOfInfants + "','1','1','1','0')>" + datarow[7] + " NOK</A>";
                }
                else
                    td.innerHTML = "";
            }
        }
        else {
            DisableOtherFlights();
        }
    }
    else {
        DisableOtherFlights();
    }
}

function DisableOtherFlights() {
    DeleteAllOtherFlights();
    //closePanel();
    //document.getElementById("div_pnlOtherFlights").style.display="none";
    //document.getElementById("div_pnlExpectedPrice").style.display = "none";
}



function DateAdd(ItemType, DateToWorkOn, ValueToBeAdded) {
    switch (ItemType) {
        //date portion              
        case 'd': //add days
            DateToWorkOn.setDate(DateToWorkOn.getDate() + ValueToBeAdded)
            break;
        case 'm': //add months
            DateToWorkOn.setMonth(DateToWorkOn.getMonth() + ValueToBeAdded)
            break;
        case 'y': //add years
            DateToWorkOn.setYear(DateToWorkOn.getFullYear() + ValueToBeAdded)
            break;
        //time portion              
        case 'h': //add days
            DateToWorkOn.setHours(DateToWorkOn.getHours() + ValueToBeAdded)
            break;
        case 'n': //add minutes
            DateToWorkOn.setMinutes(DateToWorkOn.getMinutes() + ValueToBeAdded)
            break;
        case 's': //add seconds
            DateToWorkOn.setSeconds(DateToWorkOn.getSeconds() + ValueToBeAdded)
            break;
    }
    return DateToWorkOn;
}

function DoMySearch(Origin
                    , Destination
                    , FromCity
                    , ToCity
                    , DepatureDate
                    , ReturnDate
                    , RoundTrip
                    , Adult
                    , Children
                    , Infant
                    , ClassOfService
                    , SearchNearbyAirports_Out
                    , SearchNearbyAirports_Back
                    , SearchID) {


    $get(ClientIDs.ddlNoOfAdults).value = Adult;
    $get(ClientIDs.ddlNoOfChildren).value = Children;
    $get(ClientIDs.ddlNoOfInfants).value = Infant;

    if ($.browser.msie) {
        $get('txtOriginVal').value = unescape(Origin);
        $get('txtDestinationVal').value = unescape(Destination);
        $get('txtOrigin').value = unescape(FromCity);
        $get('txtDestination').value = unescape(ToCity);
    }
    else {
        $get('txtOriginVal').value = decodeURIComponent(Origin);
        $get('txtDestinationVal').value = decodeURIComponent(Destination);
        $get('txtOrigin').value = decodeURIComponent(FromCity);
        $get('txtDestination').value = decodeURIComponent(ToCity);
    }

    //Check if lowpricecalendar is available
    if (CheckIfLowPricelistExist() == true) {
        $('#tabs').tabs('disable', 1);
        $('#tabs').tabs('enable', 1);
    }
    else {
        $('#tabs').tabs('disable', 1);
    }

    var rbReturn = $get(ClientIDs.rbReturn);
    var rbOneWay = $get(ClientIDs.rbOneWay);

    if (rbReturn.checked == true)
        var bIsRoundTrip = IsRoundTrip();
    if (bIsRoundTrip == true) {
        rbReturn.checked = true;
        rbOneWay.checked = false;
        $("#dtOut").datepicker('setDate', parseDate(DepatureDate));
        DateOutSelected();
        $("#dtBack").datepicker('setDate', parseDate(ReturnDate));
        DateHomeSelected();
        $("#dpOut").datepicker('setDate', parseDate(DepatureDate));
        DateOutSelectedDP();
        $("#dpBack").datepicker('setDate', parseDate(ReturnDate));
        DateHomeSelectedDP();
    }
    else {
        rbReturn.checked = false;
        rbOneWay.checked = true;
        $("#dtOut").datepicker('setDate', parseDate(DepatureDate));
        DateOutSelected();
        $("#dpOut").datepicker('setDate', parseDate(DepatureDate));
        DateOutSelectedDP();
        $('#dtBack').datepicker('setDate', $('#dtOut').datepicker('getDate'));
        $('#dpBack').datepicker('setDate', $('#dpOut').datepicker('getDate'));
    }

    //document.getElementById("cmdGetHotel").click();

    //OnLookup(SearchID);
    //scroll(0, 0);
    GetOtherFlightsOnDate();
    SetResultHeaderText();
    blockList();
    SearchFlights();

}

function CheckIfLowPricelistExist() {
    var origin = $get("txtOriginVal").value;
    var destination = $get("txtDestinationVal").value;
    var queryString;
    queryString = origin + destination;
    //aLowPriceList
    if (jQuery.inArray(queryString, aLowPriceList) != -1) {
        return true;
    }
    else {
        return false;
    }
}

function IsLowPriceList() {
    var LowPriceList = $get("txtLowPriceList").value;
    if (LowPriceList == 1) {
        var txtOutDate = $get(ClientIDs.txtOutDate);
        var txtBackDate = $get(ClientIDs.txtBackDate);
        dtDateOut = parseDate(txtOutDate.value);
        dtDateBack = parseDate(txtBackDate.value);
        return true;
    }
    else {
        return false;
    }
}

function IsWeekendList() {
    var WeekendList = $get("txtWeekend").value;
    if (WeekendList == 1) {
        var txtOutDate = $get(ClientIDs.txtOutDate);
        var txtBackDate = $get(ClientIDs.txtBackDate);
        dtDateOut = parseDate(txtOutDate.value);
        dtDateBack = parseDate(txtBackDate.value);
        return true;
    }
    else {
        return false;
    }
}


function ShowDialog(strHotelCom, strExpedia, strVenere) {
    if (ShownOnce == false) {
        var DestinationCleaned;
        DestinationCleaned = $get("txtDestination").value.split(",")[0];
        if (IsDebug == true) {
            if (strHotelCom != '') {
                $("#aHotelLink")[0].href = "/RBwww/xt_OnlineSearchRedirect.aspx?ID=" + strHotelCom;
            }
            else {
                $("#aHotelLink")[0].href = "/RBwww/Hotell-" + DestinationCleaned + ".aspx";
            }
        }
        else {
            if (strHotelCom != '') {
                $("#aHotelLink")[0].href = "/xt_OnlineSearchRedirect.aspx?ID=" + strHotelCom;
            }
            else {
                $("#aHotelLink")[0].href = "/Hotell-" + DestinationCleaned + ".aspx";
            }
        }

        $("#aHotelLink").html('<h2>Finn billig hotell i ' + DestinationCleaned + '</h2>');
        $("#dialog").dialog('open');
        ShownOnce = true;
    }
    //ShownOnce = true;
}

function CloseDialog() {
    $("#dialog").dialog('close');
}

function SaveProperties() {

    Sys.Services.ProfileService.properties.OriginCity = $get("txtOrigin").value;
    Sys.Services.ProfileService.properties.Origin = $get("txtOriginVal").value;
    Sys.Services.ProfileService.save(null, onSaveSuccess, onSaveError);
}

function onSaveSuccess() {
    //Trigger fetch of new weekendlist
    //Fetch now if current tab is weekend
    if (CheckIfWeekendPricelistExist() == true) {
        $('#tabs').tabs('disable', 2);
        $('#tabs').tabs('enable', 2);
        $('#tabs').tabs('disable', 3);
        $('#tabs').tabs('enable', 3);
        var $tabs = $('#tabs').tabs();
        var selected = $tabs.tabs('option', 'selected'); // => 0
        if (selected == 3) {
            blockList();
            $('#tabs').tabs('load', 3)
        }
        else {
            WeekendListRefresh = true;
        }
    }
    else {
        $("#tabs").tabs('select', 0);
        $('#tabs').tabs('disable', 3);
    }
}

function onSaveError() {
    alert('origin profile failed');
}

function CheckIfWeekendPricelistExist() {
    var origin = $get("txtOriginVal").value;
    var queryString;
    queryString = origin;
    if (jQuery.inArray(queryString, aWeekendList) != -1) {
        return true;
    }
    else {
        return false;
    }
}
if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();