split up xsl further

svn path=/branches/test/; revision=28646
This commit is contained in:
paul 2014-06-22 15:04:05 +00:00
parent fb67075531
commit 7577a14beb
6 changed files with 460 additions and 181 deletions

View File

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:dt="http://xsltsl.org/date-time"
exclude-result-prefixes="dt"
xmlns:str="http://exslt.org/strings"
extension-element-prefixes="str">
<!-- The top level element of the input file is "buildinfo" -->
<xsl:template match="/">
<xsl:apply-templates select="buildinfo/document"/>
</xsl:template>
<!-- The actual HTML tree is in "buildinfo/document" -->
<xsl:template match="buildinfo/document">
<xsl:element name="html">
<xsl:attribute name="lang">
<xsl:value-of select="/buildinfo/@language"/>
</xsl:attribute>
<xsl:attribute name="class"><xsl:value-of select="/buildinfo/@language" /> no-js</xsl:attribute>
<xsl:if test="/buildinfo/@language='ar'">
<xsl:attribute name="dir">rtl</xsl:attribute>
</xsl:if>
<!--<xsl:apply-templates select="node()"/>-->
<xsl:apply-templates select="head" />
<xsl:call-template name="fsfe-body" />
</xsl:element>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,35 @@
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:dt="http://xsltsl.org/date-time"
exclude-result-prefixes="dt"
xmlns:str="http://exslt.org/strings"
extension-element-prefixes="str">
<!-- Do not copy non-HTML elements to output -->
<xsl:template match="timestamp|
buildinfo/document/translator|
buildinfo/set|
buildinfo/textset|
buildinfo/textsetbackup|
buildinfo/menuset|
buildinfo/trlist|
buildinfo/fundraising|
buildinfo/localmenuset|
buildinfo/document/tags|
buildinfo/document/legal|
buildinfo/document/author|
buildinfo/document/date|
buildinfo/document/download|
buildinfo/document/followup"/>
<xsl:template match="set | tags | text"/>
<!-- For all other nodes, copy verbatim -->
<xsl:template match="@*|node()" priority="-1">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,267 @@
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:dt="http://xsltsl.org/date-time"
exclude-result-prefixes="dt"
xmlns:str="http://exslt.org/strings"
extension-element-prefixes="str">
<!-- refactored these her from the support form -->
<xsl:template name="country-list-europe">
<option value="AL">Albania (Shqipëria)</option>
<option value="AD">Andorra</option>
<option value="AT">Austria (Österreich)</option>
<option value="BY">Belarus (Белару́сь)</option>
<option value="BE">Belgium (België)</option>
<option value="BA">Bosnia and Herzegovina (Bosna i Hercegovina)</option>
<option value="BG">Bulgaria (България)</option>
<option value="HR">Croatia (Hrvatska)</option>
<option value="CY">Cyprus (Κυπρος)</option>
<option value="CZ">Czech Republic (Česko)</option>
<option value="DK">Denmark (Danmark)</option>
<option value="EE">Estonia (Eesti)</option>
<option value="FO">Faroe Islands</option>
<option value="FI">Finland (Suomi)</option>
<option value="FR">France</option>
<option value="DE">Germany (Deutschland)</option>
<option value="GI">Gibraltar</option>
<option value="GR">Greece (Ελλάς)</option>
<option value="GL">Greenland</option>
<option value="HU">Hungary (Magyarország)</option>
<option value="IS">Iceland (Ísland)</option>
<option value="IE">Ireland</option>
<option value="IT">Italy (Italia)</option>
<option value="XK">Kosovo</option>
<option value="LV">Latvia (Latvija)</option>
<option value="LI">Liechtenstein</option>
<option value="LT">Lithuania (Lietuva)</option>
<option value="LU">Luxembourg (Lëtzebuerg)</option>
<option value="MK">Macedonia [FYROM] (Македонија)</option>
<option value="MT">Malta</option>
<option value="MD">Moldova</option>
<option value="MC">Monaco</option>
<option value="ME">Montenegro (Црна Гора)</option>
<option value="NL">Netherlands (Nederland)</option>
<option value="NO">Norway (Norge)</option>
<option value="PL">Poland (Polska)</option>
<option value="PT">Portugal</option>
<option value="RO">Romania (România)</option>
<option value="RU">Russia (Россия)</option>
<option value="SM">San Marino</option>
<option value="RS">Serbia (Србија)</option>
<option value="SK">Slovakia (Slovensko)</option>
<option value="SI">Slovenia (Slovenija)</option>
<option value="ES">Spain (España)</option>
<option value="SE">Sweden (Sverige)</option>
<option value="CH">Switzerland (Schweiz)</option>
<option value="TR">Turkey (Türkiye)</option>
<option value="UA">Ukraine (Україна)</option>
<option value="GB">United Kingdom</option>
<option value="VA">Vatican City (Città del Vaticano)</option>
</xsl:template>
<xsl:template name="country-list-other-continents">
<option value="AF">Afghanistan (‫افغانستان‬‎)</option>
<option value="AX">Åland Islands</option>
<option value="DZ">Algeria (‫الجزائر‬‎)</option>
<option value="AS">American Samoa</option>
<option value="AO">Angola</option>
<option value="AI">Anguilla</option>
<option value="AQ">Antarctica</option>
<option value="AG">Antigua and Barbuda</option>
<option value="AR">Argentina</option>
<option value="AM">Armenia (Հայաստան)</option>
<option value="AW">Aruba</option>
<option value="AU">Australia</option>
<option value="AZ">Azerbaijan (Azərbaycan)</option>
<option value="BS">Bahamas</option>
<option value="BH">Bahrain (‫البحرين‬‎)</option>
<option value="BD">Bangladesh (বাংলাদেশ)</option>
<option value="BB">Barbados</option>
<option value="BZ">Belize</option>
<option value="BJ">Benin (Bénin)</option>
<option value="BM">Bermuda</option>
<option value="BT">Bhutan (འབྲུག་ཡུལ)</option>
<option value="BO">Bolivia</option>
<option value="BW">Botswana</option>
<option value="BV">Bouvet Island</option>
<option value="BR">Brazil (Brasil)</option>
<option value="IO">British Indian Ocean Territory</option>
<option value="VG">British Virgin Islands</option>
<option value="BN">Brunei (Brunei Darussalam)</option>
<option value="BF">Burkina Faso</option>
<option value="BI">Burundi (Uburundi)</option>
<option value="KH">Cambodia (Kampuchea)</option>
<option value="CM">Cameroon (Cameroun)</option>
<option value="CA">Canada</option>
<option value="CV">Cape Verde (Cabo Verde)</option>
<option value="KY">Cayman Islands</option>
<option value="CF">Central African Republic (République Centrafricaine)</option>
<option value="TD">Chad (Tchad)</option>
<option value="CL">Chile</option>
<option value="CN">China (中国)</option>
<option value="CX">Christmas Island</option>
<option value="CC">Cocos [Keeling] Islands</option>
<option value="CO">Colombia</option>
<option value="KM">Comoros (Comores)</option>
<option value="CD">Congo [DRC]</option>
<option value="CG">Congo [Republic]</option>
<option value="CK">Cook Islands</option>
<option value="CR">Costa Rica</option>
<option value="CI">Côte dIvoire</option>
<option value="CU">Cuba</option>
<option value="DJ">Djibouti</option>
<option value="DM">Dominica</option>
<option value="DO">Dominican Republic</option>
<option value="EC">Ecuador</option>
<option value="EG">Egypt (‫مصر‬‎)</option>
<option value="SV">El Salvador</option>
<option value="GQ">Equatorial Guinea (Guinea Ecuatorial)</option>
<option value="ER">Eritrea (Ertra)</option>
<option value="ET">Ethiopia (Ityop&#39;iya)</option>
<option value="FK">Falkland Islands [Islas Malvinas]</option>
<option value="FJ">Fiji</option>
<option value="GF">French Guiana</option>
<option value="PF">French Polynesia</option>
<option value="TF">French Southern Territories</option>
<option value="GA">Gabon</option>
<option value="GM">Gambia</option>
<option value="GE">Georgia (საქართველო)</option>
<option value="GH">Ghana</option>
<option value="GD">Grenada</option>
<option value="GP">Guadeloupe</option>
<option value="GU">Guam</option>
<option value="GT">Guatemala</option>
<option value="GG">Guernsey</option>
<option value="GN">Guinea (Guinée)</option>
<option value="GW">Guinea-Bissau (Guiné-Bissau)</option>
<option value="GY">Guyana</option>
<option value="HT">Haiti (Haïti)</option>
<option value="HM">Heard Island and McDonald Islands</option>
<option value="HN">Honduras</option>
<option value="HK">Hong Kong</option>
<option value="IN">India</option>
<option value="ID">Indonesia</option>
<option value="IR">Iran (‫ایران‬‎)</option>
<option value="IQ">Iraq (‫العراق‬‎)</option>
<option value="IM">Isle of Man</option>
<option value="IL">Israel (‫ישראל‬‎)</option>
<option value="JM">Jamaica</option>
<option value="JP">Japan (日本)</option>
<option value="JE">Jersey</option>
<option value="JO">Jordan (‫الاردن‬‎)</option>
<option value="KZ">Kazakhstan (Қазақстан)</option>
<option value="KE">Kenya</option>
<option value="KI">Kiribati</option>
<option value="KW">Kuwait (‫الكويت‬‎)</option>
<option value="KG">Kyrgyzstan (Кыргызстан)</option>
<option value="LA">Laos (ນລາວ)</option>
<option value="LB">Lebanon (‫لبنان‬‎)</option>
<option value="LS">Lesotho</option>
<option value="LR">Liberia</option>
<option value="LY">Libya (‫ليبيا‬‎)</option>
<option value="MO">Macau</option>
<option value="MG">Madagascar (Madagasikara)</option>
<option value="MW">Malawi</option>
<option value="MY">Malaysia</option>
<option value="MV">Maldives (‫ގުޖޭއްރާ ޔާއްރިހޫމްޖ‬‎)</option>
<option value="ML">Mali</option>
<option value="MH">Marshall Islands</option>
<option value="MQ">Martinique</option>
<option value="MR">Mauritania (‫موريتانيا‬‎)</option>
<option value="MU">Mauritius</option>
<option value="YT">Mayotte</option>
<option value="MX">Mexico (México)</option>
<option value="FM">Micronesia</option>
<option value="MN">Mongolia (Монгол Улс)</option>
<option value="MS">Montserrat</option>
<option value="MA">Morocco (‫المغرب‬‎)</option>
<option value="MZ">Mozambique (Moçambique)</option>
<option value="MM">Myanmar [Burma] (Myanmar (Burma))</option>
<option value="NA">Namibia</option>
<option value="NR">Nauru (Naoero)</option>
<option value="NP">Nepal (नेपाल)</option>
<option value="AN">Netherlands Antilles</option>
<option value="NC">New Caledonia</option>
<option value="NZ">New Zealand</option>
<option value="NI">Nicaragua</option>
<option value="NE">Niger</option>
<option value="NG">Nigeria</option>
<option value="NU">Niue</option>
<option value="NF">Norfolk Island</option>
<option value="MP">Northern Mariana Islands</option>
<option value="KP">North Korea (조선)</option>
<option value="OM">Oman (‫عمان‬‎)</option>
<option value="PK">Pakistan (‫پاکستان‬‎)</option>
<option value="PW">Palau (Belau)</option>
<option value="PS">Palestinian Territories</option>
<option value="PA">Panama (Panamá)</option>
<option value="PG">Papua New Guinea</option>
<option value="PY">Paraguay</option>
<option value="PE">Peru (Perú)</option>
<option value="PH">Philippines (Pilipinas)</option>
<option value="PN">Pitcairn Islands</option>
<option value="PR">Puerto Rico</option>
<option value="QA">Qatar (‫قطر‬‎)</option>
<option value="RE">Réunion</option>
<option value="RW">Rwanda</option>
<option value="SH">Saint Helena</option>
<option value="KN">Saint Kitts and Nevis</option>
<option value="LC">Saint Lucia</option>
<option value="PM">Saint Pierre and Miquelon</option>
<option value="VC">Saint Vincent and the Grenadines</option>
<option value="WS">Samoa</option>
<option value="ST">São Tomé and Príncipe</option>
<option value="SA">Saudi Arabia (‫المملكة العربية السعودية‬‎)</option>
<option value="SN">Senegal (Sénégal)</option>
<option value="SC">Seychelles</option>
<option value="SL">Sierra Leone</option>
<option value="SG">Singapore (Singapura)</option>
<option value="SB">Solomon Islands</option>
<option value="SO">Somalia (Soomaaliya)</option>
<option value="ZA">South Africa</option>
<option value="GS">South Georgia and the South Sandwich Islands</option>
<option value="KR">South Korea (한국)</option>
<option value="LK">Sri Lanka</option>
<option value="SD">Sudan (‫السودان‬‎)</option>
<option value="SR">Suriname</option>
<option value="SJ">Svalbard and Jan Mayen</option>
<option value="SZ">Swaziland</option>
<option value="SY">Syria (‫سوريا‬‎)</option>
<option value="TW">Taiwan (台灣)</option>
<option value="TJ">Tajikistan (Тоҷикистон)</option>
<option value="TZ">Tanzania</option>
<option value="TH">Thailand (ราชอาณาจักรไทย)</option>
<option value="TL">Timor-Leste</option>
<option value="TG">Togo</option>
<option value="TK">Tokelau</option>
<option value="TO">Tonga</option>
<option value="TT">Trinidad and Tobago</option>
<option value="TN">Tunisia (‫تونس‬‎)</option>
<option value="TM">Turkmenistan (Türkmenistan)</option>
<option value="TC">Turks and Caicos Islands</option>
<option value="TV">Tuvalu</option>
<option value="UM">U.S. Minor Outlying Islands</option>
<option value="VI">U.S. Virgin Islands</option>
<option value="UG">Uganda</option>
<option value="AE">United Arab Emirates (‫الإمارات العربيّة المتّحدة‬‎)</option>
<option value="US">United States</option>
<option value="UY">Uruguay</option>
<option value="UZ">Uzbekistan (O&#39;zbekiston)</option>
<option value="VU">Vanuatu</option>
<option value="VE">Venezuela</option>
<option value="VN">Vietnam (Việt Nam)</option>
<option value="WF">Wallis and Futuna</option>
<option value="EH">Western Sahara (‫الصحراء الغربية‬‎)</option>
<option value="YE">Yemen (‫اليمن‬‎)</option>
<option value="ZM">Zambia</option>
<option value="ZW">Zimbabwe</option>
</xsl:template>
<xsl:template match="country-list-europe">
<xsl:call-template name="country-list-europe" />
</xsl:template>
<xsl:template match="country-list-other-continents">
<xsl:call-template name="country-list-other-continents" />
</xsl:template>
</xsl:stylesheet>

113
build/xslt/support_js.xsl Normal file
View File

@ -0,0 +1,113 @@
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:dt="http://xsltsl.org/date-time"
exclude-result-prefixes="dt"
xmlns:str="http://exslt.org/strings"
extension-element-prefixes="str">
<xsl:template name="support-portal-javascript">
<script type="text/javascript">
/* <![CDATA[ */
function map_json_to_html(data) {
for (x in data) {
$(x).html(data[x]);
}
}
$(document).ready(function() {
var secret = window.location.search.slice(1);
if (secret.length == 32) {
$.getJSON('portal-backend?'+secret, function(data) {
$("#support_portal_loading").hide();
$("#support_portal").show();
if (data.error) {
$("#support_portal").html(data.error);
} else {
map_json_to_html(data);
}
});
} else {
$("#support_portal_loading").html("Expected parameter not found, nothing to show here.");
}
});
/* ]]> */
</script>
</xsl:template>
<xsl:template name="support-form-javascript">
<script type="text/javascript" src="/scripts/jquery.validate.min.js"></script>
<!--
script type="text/javascript" src="/scripts/jquery.validate-lozalization/messages_fi.js"></script
*How to inser lang code in above?*
-->
<script type="text/javascript">
/* <![CDATA[ */
$(document).ready(function() {
$("input[name=ref_url]").val(document.referrer);
$("input[name=ref_id]").val(window.location.search.toString().slice(1));
$("form.support").validate({
rules: {
email: {email: true, required: true},
country_code: {required: true}
},
/* // didn't work with Firefox! Terrible hack written below
submitHandler: function(form, event) {
// stop form from submitting normally
event.preventDefault(); // does not seem to work on Firefox
var $submitbutton = $("form.support input[type='submit']");
$submitbutton.val($submitbutton.attr("data-loading-text"))
// Send the data using post and put the results in a div
var $form = $("form.support");
$.post($form.attr("action"), $form.serialize(),
function(data) {
$("#support_form").fadeOut();
$("#introduction").append('<div id="support_form_sent">'+data+'</div>');
piwikTracker.trackGoal(2); // logs a conversion for goal 2
}
);
return false; // prevent submit, not sure if has any effect
}
*/
});
// terrible hack to prevent submit in Firefox!
var newbutton = '<input type="button" value="' + $("form.support input[type='submit']").val() + '" data-loading-text="' + $("form.support input[type='submit']").attr("data-loading-text") + '"/>';
$("form.support input[type='submit']").after(newbutton);
$("form.support input[type='submit']").remove();
$("form.support input[type='button']").click(function(){
if ( $("form.support").valid() ) {
var $submitbutton = $("form.support input[type='button']");
$submitbutton.val($submitbutton.attr("data-loading-text"))
/* Send the data using post and put the results in a div */
var $form = $("form.support");
$.post($form.attr("action"), $form.serialize(),
function(data) {
$("#support_form").fadeOut();
$("#introduction").append('<div id="support_form_sent">'+data+'</div>');
piwikTracker.trackGoal(2); // logs a conversion for goal 2
}
);
}
});
});
/* ]]> */
</script>
</xsl:template>
<xsl:template match="support-portal-javascript">
<xsl:call-template name="support-portal-javascript" />
</xsl:template>
<xsl:template match="support-form-javascript">
<xsl:call-template name="support-form-javascript" />
</xsl:template>
</xsl:stylesheet>

View File

@ -6,10 +6,6 @@
xmlns:str="http://exslt.org/strings"
extension-element-prefixes="str">
<xsl:import href="tools/xsltsl/translations.xsl" />
<xsl:import href="tools/xsltsl/static-elements.xsl" />
<xsl:import href="tools/xsltsl/tagging.xsl" />
<!-- HTML 5 compatibility doctype, since our XSLT parser doesn't support disabling output escaping -->
<xsl:output method="html" encoding="utf-8" indent="yes" doctype-system="about:legacy-compat" />
@ -17,59 +13,24 @@
<!-- here you can set the mode to switch between normal and IloveFS style -->
<xsl:value-of select="'normal'" /> <!-- can be either 'normal' or 'valentine' -->
</xsl:variable>
<xsl:import href="tools/xsltsl/translations.xsl" />
<xsl:import href="tools/xsltsl/static-elements.xsl" />
<xsl:import href="tools/xsltsl/tagging.xsl" />
<!-- The top level element of the input file is "buildinfo" -->
<xsl:template match="/">
<xsl:apply-templates select="buildinfo/document"/>
</xsl:template>
<!-- The actual HTML tree is in "buildinfo/document" -->
<xsl:template match="buildinfo/document">
<xsl:element name="html">
<xsl:attribute name="lang">
<xsl:value-of select="/buildinfo/@language"/>
</xsl:attribute>
<xsl:attribute name="class"><xsl:value-of select="/buildinfo/@language" /> no-js</xsl:attribute>
<xsl:if test="/buildinfo/@language='ar'">
<xsl:attribute name="dir">rtl</xsl:attribute>
</xsl:if>
<!--<xsl:apply-templates select="node()"/>-->
<xsl:apply-templates select="head" />
<xsl:call-template name="fsfe-body" />
</xsl:element>
</xsl:template>
<xsl:import href="build/xslt/fsfe_document.xsl" />
<!-- HTML head -->
<xsl:import href="build/xslt/fsfe_head.xsl" />
<xsl:import href="build/xslt/fsfe_headings.xsl" />
<!-- Apply support page -->
<xsl:template match="support-portal-javascript">
<xsl:call-template name="support-portal-javascript" />
</xsl:template>
<xsl:template match="support-form-javascript">
<xsl:call-template name="support-form-javascript" />
</xsl:template>
<xsl:template match="country-list-europe">
<xsl:call-template name="country-list-europe" />
</xsl:template>
<xsl:template match="country-list-other-continents">
<xsl:call-template name="country-list-other-continents" />
</xsl:template>
<!-- End apply support page rules -->
<xsl:import href="build/xslt/support_js.xsl" />
<xsl:import href="build/xslt/support_countries.xsl" />
<!-- HTML body -->
<xsl:import href="build/xslt/fsfe_body.xsl" />
<!-- Insert local menu -->
<xsl:import href="build/xslt/fsfe_localmenu.xsl" />
<!-- Ignore "latin" tags, used only for pritable material -->
<!-- Ignore "latin" tags, used only for printable material -->
<xsl:template match="latin">
<xsl:apply-templates select="@*|node()"/>
</xsl:template>
@ -80,44 +41,14 @@
</xsl:template>
<!-- Do not copy non-HTML elements to output -->
<xsl:template match="timestamp|
buildinfo/document/translator|
buildinfo/set|
buildinfo/textset|
buildinfo/textsetbackup|
buildinfo/menuset|
buildinfo/trlist|
buildinfo/fundraising|
buildinfo/localmenuset|
buildinfo/document/tags|
buildinfo/document/legal|
buildinfo/document/author|
buildinfo/document/date|
buildinfo/document/download|
buildinfo/document/followup"/>
<xsl:template match="set | tags | text"/>
<xsl:import href="build/xslt/fsfe_nolocal.xsl" />
<!-- For all other nodes, copy verbatim -->
<xsl:template match="@*|node()" priority="-1">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="@dt:*">
<xsl:attribute name="{local-name()}">
<xsl:value-of select="." />
</xsl:attribute>
</xsl:template>
<!--
<xsl:template match="@x:*">
<xsl:attribute name="{local-name()}">
<xsl:value-of select="." />
</xsl:attribute>
</xsl:template>
-->
<!--FIXME ↓-->
<xsl:template match="fetch-news">
<xsl:call-template name="fetch-news">
@ -126,6 +57,5 @@
</xsl:call-template>
</xsl:template>
</xsl:stylesheet>

View File

@ -56,7 +56,7 @@
<xsl:attribute name="name">formnl</xsl:attribute>
<xsl:attribute name="method">post</xsl:attribute>
<xsl:attribute name="action">
<xsl:text>http://mail.fsfeurope.org/mailman/subscribe/newsletter-</xsl:text>
<xsl:text>http://norobot:norobot@mail.fsfeurope.org/mailman/subscribe/newsletter-</xsl:text>
<xsl:value-of select="$nl-lang"/>
</xsl:attribute>
<xsl:element name="p">
@ -64,7 +64,7 @@
<xsl:attribute name="id">language</xsl:attribute>
<xsl:attribute name="name">language</xsl:attribute>
<xsl:attribute name="onchange">
<xsl:text>var form = document.getElementById('formnl'); var sel=document.getElementById('language'); form.action='http://mail.fsfeurope.org/mailman/subscribe/newsletter-'+sel.options[sel.options.selectedIndex].value</xsl:text>
<xsl:text>var form = document.getElementById('formnl'); var sel=document.getElementById('language'); form.action='http://norobot:norobot@mail.fsfeurope.org/mailman/subscribe/newsletter-'+sel.options[sel.options.selectedIndex].value</xsl:text>
</xsl:attribute>
<xsl:for-each select="document('')/xsl:stylesheet/nl:langs/nl:lang">
<xsl:element name="option">
@ -172,104 +172,6 @@
</xsl:choose>
</xsl:template>
<xsl:template name="support-portal-javascript">
<script type="text/javascript">
/* <![CDATA[ */
function map_json_to_html(data) {
for (x in data) {
$(x).html(data[x]);
}
}
$(document).ready(function() {
var secret = window.location.search.slice(1);
if (secret.length == 32) {
$.getJSON('portal-backend?'+secret, function(data) {
$("#support_portal_loading").hide();
$("#support_portal").show();
if (data.error) {
$("#support_portal").html(data.error);
} else {
map_json_to_html(data);
}
});
} else {
$("#support_portal_loading").html("Expected parameter not found, nothing to show here.");
}
});
/* ]]> */
</script>
</xsl:template>
<xsl:template name="support-form-javascript">
<script type="text/javascript" src="/scripts/jquery.validate.min.js"></script>
<!--
script type="text/javascript" src="/scripts/jquery.validate-lozalization/messages_fi.js"></script
*How to inser lang code in above?*
-->
<script type="text/javascript">
/* <![CDATA[ */
$(document).ready(function() {
$("input[name=ref_url]").val(document.referrer);
$("input[name=ref_id]").val(window.location.search.toString().slice(1));
$("form.support").validate({
rules: {
email: {email: true, required: true},
country_code: {required: true}
},
/* // didn't work with Firefox! Terrible hack written below
submitHandler: function(form, event) {
// stop form from submitting normally
event.preventDefault(); // does not seem to work on Firefox
var $submitbutton = $("form.support input[type='submit']");
$submitbutton.val($submitbutton.attr("data-loading-text"))
// Send the data using post and put the results in a div
var $form = $("form.support");
$.post($form.attr("action"), $form.serialize(),
function(data) {
$("#support_form").fadeOut();
$("#introduction").append('<div id="support_form_sent">'+data+'</div>');
piwikTracker.trackGoal(2); // logs a conversion for goal 2
}
);
return false; // prevent submit, not sure if has any effect
}
*/
});
// terrible hack to prevent submit in Firefox!
var newbutton = '<input type="button" value="' + $("form.support input[type='submit']").val() + '" data-loading-text="' + $("form.support input[type='submit']").attr("data-loading-text") + '"/>';
$("form.support input[type='submit']").after(newbutton);
$("form.support input[type='submit']").remove();
$("form.support input[type='button']").click(function(){
if ( $("form.support").valid() ) {
var $submitbutton = $("form.support input[type='button']");
$submitbutton.val($submitbutton.attr("data-loading-text"))
/* Send the data using post and put the results in a div */
var $form = $("form.support");
$.post($form.attr("action"), $form.serialize(),
function(data) {
$("#support_form").fadeOut();
$("#introduction").append('<div id="support_form_sent">'+data+'</div>');
piwikTracker.trackGoal(2); // logs a conversion for goal 2
}
);
}
});
});
/* ]]> */
</script>
</xsl:template>
<!-- refactored these her from the support form -->
<xsl:template name="country-list-europe">
<option value="AL">Albania (Shqipëria)</option>