Remove mobile report

This commit is contained in:
Romain Neutron
2012-07-20 16:21:39 +02:00
parent 5bff45b08d
commit 53569f5087
62 changed files with 0 additions and 3844 deletions

View File

@@ -1,159 +0,0 @@
{# MAIN MENU #}
<div id="menu_liste_base">
{# TITLE #}
<div class="toolbar"><h1>Liste des bases</h1><a class="button back" href="#">Back</a></div>
{# CONTENT #}
<ul class="plastic rounded">
{% for key in selection|keys %}
<li class ="number_{{ key }} arrow"><a href="#tab-{{ key }}-{{ param.tbl }}">{{ key|sbas_names}}</a></li>
{% endfor %}
</ul>
</div>
<script type="text/javascript">
function update(divResult,form, i)
{
//a supprimer pour la production
if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i)))
{
var isTouchScreen = 1;
}
else
{
var isTouchScreen = 0;
}
$.ajax({
type: "POST",
url: "./ajax_table_content.php",
dataType: "json",
data:form.serializeArray(),
beforeSend:function()
{
divResult.empty();
divResult.addClass('loading');
},
success: function(data)
{
divResult.empty().append(data.rs);
form.find("input[name=page]").attr("value", data.page);
divResult.unbind('mousedown touchstart').bind('mousedown touchstart',function(e)
{
if(isTouchScreen)
{
e = e.originalEvent.touches[0];
}
var initX = e.pageX;
var sX = e.pageX;
divResult.unbind('mousemove touchmove').bind('mousemove touchmove ',function(ev)
{
if(isTouchScreen)
{
ev = ev.originalEvent.touches[0];
}
sX = ev.pageX;
});
divResult.unbind('mouseup touchend').bind('mouseup touchend',function(ev)
{
divResult.unbind('mousemove touchmove mouseup touchend mousedown mousestart');
if(isTouchScreen)
{
ev = ev.originalEvent.touches[0];
}
if(initX>sX)
{
if( (initX-sX > 0.4*320) && data.next != false && data.next != "undefined" && data.next > 0)//$(document).width()
{
form.find("input[name=page]").attr("value", data.next);
update(divResult,form);
}
}
else
{
if( (sX-initX > (0.4)*320) && data.prev > 0 && data.prev != "undefined" && data.prev != false )//$(document).width()
{
form.find("input[name=page]").attr("value", data.prev);
update(divResult,form);
}
}
});
});
}
});
}
$(document).ready(function(){
//load report
$("#menu_liste_base li").unbind("click").bind("click", function(){
i = 1;
$this = $(this);
$ref = $this.find("a").attr("href").replace("#", "");
var div = $("#" + $ref);
var form = div.find("form");
var divResult = div.find(".result");
update(divResult,form);
});
});
</script>
{% for key, value in selection %}
<div id="tab-{{ key }}-{{ param.tbl }}" >
<div class="toolbar"><h1>{{ key|sbas_names}}</h1><a class="button back" href="#menu_liste_base">{% trans 'Back' %}</a></div>
<div class="result">
{% block ajax_data_content %}{% endblock %}
</div>
<form onsubmit="return false;">
<input type="hidden" name="page" value="1" size ="2"/>
<input type="hidden" name="limit" value="30" size="2" />
<input type="hidden" name="tbl" value ="{{ param['tbl'] }}"/>
<input type="hidden" name="dmin" value ="{{ param['dmin'] }}"/>
<input type="hidden" name="dmax" value ="{{ param['dmax'] }}"/>
<input type="hidden" name="sbasid" value ="{{ key }}"/>
<input type="hidden" name="collection" value ="{{ value.liste }}"/>
<input type="hidden" name="user" value ="{{ param['preciseUser'] }}"/>
<input type="hidden" name="word" value ="{{ param['preciseWord'] }}"/>
<input type="hidden" name="precise" value ="{{ param['precise'] }}"/>
<input type="hidden" name="order" value =""/>
<input type="hidden" name="champ" value =""/>
<input type="hidden" name="rid" value =""/>
<input type="hidden" name="filter_column" value =""/>
<input type="hidden" name="filter_value" value =""/>
<input type="hidden" name="liste" value ="off"/>
<input type="hidden" name="liste_filter" value =""/>
<input type="hidden" name="conf" value ="off"/>
<input type="hidden" name="list_column" value =""/>
<input type="hidden" name="groupby" value =""/>
<input type="hidden" name="societe" value ="{{ param['societe'] }}"/>
<input type="hidden" name="pays" value ="{{ param['pays'] }}"/>
<input type="hidden" name="fonction" value ="{{ param['fonction'] }}"/>
<input type="hidden" name="activite" value ="{{ param['activite'] }}"/>
<input type="hidden" name="on" value ="{{ param['on'] }}"/>
<input type="hidden" name="from" value =""/>
</form>
</div>
<div id="settings-tab-{{ key }}-{{ param.tbl }}" >
<div class="toolbar"><h1>settings - {{ key|sbas_names }}</h1><a class="button back" href="#">{% trans 'Back' %}</a></div>
</div>
<div id="groupby-{{ key }}-{{ param.tbl }}">
<div class="toolbar"><h1></h1></div>
<div class="result">
{{ block('ajax_data_content') }}
</div>
</div>
{% endfor %}

View File

@@ -1,9 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="{{ session.get_I18n }}">
<head>
{% include "report/header.twig" %}
</head>
<body>
{% block all_content %}{% endblock %}
</body>
</html>

View File

@@ -1,64 +0,0 @@
{% if result.result|length > 0 %}
<div class="report-table" style="margin:0;padding:0;width:320px;">
<table style="width:320px;">
<caption>
<div class="title">{{ result.title }}</div>
<div class="periode">{{ result.periode }}</div>
{% if result.total|length > 0 and result.total != 0 %}
<div class="nb_result"> rs : {{ result.total }} </div>
{% endif %}
{% if report.rs.page|length > 0 %}
<div class="page"> p : {{report.rs.page}}</div>
{% endif %}
</caption>
<thead>
{% set colspan = "" %}
{% for key, value in result.display %}
<th class="{{ key }}" scope="col">
{% if value.title == "ddate" and value.title != 0 %}
<div class="title_th"> date </div>
{% else %}
<div class="title_th">{{ value.title }}</div>
{% endif %}
</th>
{% set colspan = loop.length %}
{% endfor %}
</thead>
<tbody>
{% for tr, value in result.result %}
{% if loop.index is even %}
<tr class="even">
{% else %}
<tr class="odd"
{% endif %}
{% for class, config in result.display %}
<td class="{{ class }}">
{% for key , result in value %}
{% if key == class %}
{{ result }}
{% endif %}
{% endfor %}
</td>
{% endfor %}
</tr>
{% endfor %}
</tbody>
<tfoot>
<tr>
<td colspan="{{colspan}}"></td>
</tr>
</tfoot>
</table>
</div>
{% else %}
<div class="center no_results">
<b>{{ array.title }}</b>
<br />
<img src="skins/images/noresults.png" />
<br />
<i>{% trans "report :: aucun resultat trouve" %}</i><br />
</div>
{% endif %}

View File

@@ -1,219 +0,0 @@
{% block head %}
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<title>{{ home_title }} - Reports </title>
{% block stylesheet %}
<link type="text/css" rel="stylesheet" href="/include/minify/f=skins/report/jqt/jqtouch.css,skins/report/jqt/theme.css,skins/report/mycss.css,skins/report/datepicker/datepicker.css" media="screen" />
{% endblock %}
{% block icon %}
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
{% endblock %}
{% block javascript %}
<script type="text/javascript" charset="utf-8">
var usrId = '{{ usr_id }}' ;
var language = {
valider : '{% trans "boutton::valider" %}',
choix_collection : '{% trans "veuillez choisir au minimum une collection" %}',
annuler : '{% trans "boutton::annuler" %}',
fermer : '{% trans "boutton::fermer" %}'
};
var date = {
dmin : '{{ dashboard_array.dmin_req }}',
dmax : '{{ dashboard_array.dmax_req }}'
};
</script>
<script type="text/javascript" src="http{{ request.is_secure() ? 's' : '' }}://www.google.com/jsapi"></script>
<script type="text/javascript" src="/include/jslibs/jquery-1.7.1.js"></script>
<script type="text/javascript" src="/include/jslibs/jquery-ui-1.8.17/js/jquery-ui-1.8.17.custom.min.js"></script>
<script type="text/javascript" src="/include/minify/g=reportmobile"></script>
<script type="text/javascript" src="/include/minify/f=include/jslibs/datepicker-mobile/datepicker.js"></script>
<script type="text/javascript" src="/include/minify/f=include/jslibs/jquery.gvChart-0.1.js"></script>
<script type="text/javascript" charset="utf-8">
var jQT = new $.jQTouch({
addGlossToIcon: false,
statusBar: 'white'
});
</script>
<script type="text/javascript">
gvChartInit();
</script>
<script type="text/javascript">
$(document).ready(function(){
$('#mytableday').gvChart({
chartType: 'LineChart',
gvSettings: {
colors:['white', '#FFFFFF'],
titleTextStyle:{
color: '#FF8D1C',
fontSize: '20'
},
vAxis: {
title: '{% trans "report::Nombre de connexions" %}',
textStyle: {
fontSize: '10',
color: '#AAAAAA'
}
},
hAxis: {
title: '{% trans "report:: jour" %}',
textStyle: {
fontSize: '10',
color: '#AAAAAA'
},
tooltipTextStyle: {
fontSize: 4
},
slantedTex: true,
slantedTextAngle: 60,
maxAlternation: 3,
showTextEvery: 3
},
legend: 'none',
lineWidth: 1,
pointSize: 3,
backgroundColor: '#555555',
width: 320,
height: 480,
}
});
$('#mytablehour').gvChart({
chartType: 'LineChart',
gvSettings: {
colors:['white', '#FFFFFF'],
titleTextStyle:{
color: '#FF8D1C',
fontSize: '20'
},
vAxis: {
title: '{% trans "report::Nombre de connexions" %}',
textStyle: {
fontSize: '10',
color: '#AAAAAA'
}
},
hAxis: {
title: '{% trans "report:: jour" %}',
textStyle: {
fontSize: '10',
color: '#AAAAAA'
},
tooltipTextStyle: {
fontSize: 4
},
slantedTex: true,
slantedTextAngle: 90,
maxAlternation: 1,
showTextEvery: 1
},
legend: 'none',
lineWidth: 1,
pointSize: 3,
backgroundColor: '#555555',
width: 320,
height: 480,
}
});
$('#mytableadded').gvChart({
chartType: 'ColumnChart',
gvSettings: {
colors:['white', '#FFFFFF'],
titleTextStyle:{
color: '#FF8D1C',
fontSize: '20'
},
vAxis: {
title: '{% trans "report::Nombre de document ajoute" %}',
textStyle: {
fontSize: '10',
color: '#AAAAAA'
}
},
hAxis: {
title: '{% trans "report:: jour" %}',
textStyle: {
fontSize: '10',
color: '#AAAAAA'
},
tooltipTextStyle: {
fontSize: 4
},
slantedTex: true,
slantedTextAngle: 60,
},
legend: 'none',
lineWidth: 1,
pointSize: 3,
backgroundColor: '#555555',
width: 320,
height: 480,
}
});
$('#mytableedited').gvChart({
chartType: 'ColumnChart',
gvSettings: {
colors:['white', '#FFFFFF'],
titleTextStyle:{
color: '#FF8D1C',
fontSize: '20'
},
vAxis: {
title: '{% trans "report::Nombre de document edite" %}',
textStyle: {
fontSize: '10',
color: '#AAAAAA'
}
},
hAxis: {
title: '{% trans "report:: jour" %}',
textStyle: {
fontSize: '10',
color: '#AAAAAA'
},
tooltipTextStyle: {
fontSize: 4
},
slantedTex: true,
slantedTextAngle: 60,
},
legend: 'none',
lineWidth: 1,
pointSize: 3,
backgroundColor: '#555555',
width: 320,
height: 480,
}
});
});
</script>
{% for key, value in dashboard_array.all_sbas_desc %}
<script>
$(document).ready(function(){
$(".base_{{key}}").data("info", {
id : "{{key}}",
coll : "{{value.server_coll_list}}",
dmin : "{{ dashboard_array.dmin_req }}",
dmax : "{{dashboard_array.dmax_req }}"
}
);
});
</script>
{% endfor %}
{% endblock %}
{% endblock %}

View File

@@ -1,27 +0,0 @@
{% if result.result|length > 0 %}
<div class="phone">
{% for tr, value in result.result %}
<ul>
{% for class, config in result.display %}
<li class="{{ class }}">
{% for key , result in value %}
{% if key == class %}
<div class="center key">{{ class }}</div>
<div class="center value">{{ result }}</div>
{% endif %}
{% endfor %}
</li>
{% endfor %}
</ul>
{% endfor %}
{% else %}
<div class="center no_results">
<b>{{ array.title }}</b>
<br />
<img src="skins/images/noresults.png" />
<br />
<i>{% trans "report :: aucun resultat trouve" %}</i><br />
</div>
{% endif %}

View File

@@ -1,40 +0,0 @@
{% extends "report/base.twig" %}
{% block all_content %}
{# MAIN MENU #}
<div id="dashboard-table" >
<div style="width:320px;">
<div id="periode_dash" class="center" >{{ dashboard_array.dmin }} au {{ dashboard_array.dmax }}</div>
<div id="liste_dash" class="center">{{ dashboard_array.liste_base }}</div>
<ul class="edgetoedge">
{% for key, value in dashboard_array.all_sbas_desc %}
<li class="arrow base_{{key}}"><a href="#">{{ value.name }}</a></li>
{% endfor %}
</ul>
{% for key, value in dashboard_array.base %}
{% endfor %}
</div>
{%block dashboard_content %}
{% block connexions_downloads_table %}{% endblock %}
{% block top_ten_nb_docs %}{% endblock %}
{% block top_ten_nb_prev %}{% endblock %}
{% block top_ten_dl_doc %}{% endblock %}
{% block top_ten_dl_prev %}{% endblock %}
{% block top_ten_site %}{% endblock %}
{% block top_ten_weight_doc %}{% endblock %}
{% block top_ten_weight_prev %}{% endblock %}
{% block top_ten_asked_question %}{% endblock %}
{% block top_ten_user_question %}{% endblock %}
{% block draw_activity_hour %}{% endblock %}
{% block draw_activity_day %}{% endblock %}
{% block draw_activity_added %}{% endblock %}
{% block draw_activity_edited %}{% endblock %}
{% endblock %}
</div>
{%block content %}{% endblock %}
{% endblock %}

View File

@@ -1,28 +0,0 @@
{% block ajax_data_content %}
<script type="text/javascript">
</script>
{% if filters|length > 0 %}
<div class='current_filter'>{{ currentfilter }}</div>
{% endif %}
{% if is_nav %}
{% for result in result %}
<div class="graph">
{% include "report/generate_tab.twig" %}
{% if result.legend|length > 1 %}
<div class='center' ><img src='charts/draw_pie.php?value={{ result.value|serialize|urlencode }}&legend={{ result.legend|serialize|urlencode }}&title={{ result.title|serialize|urlencode }}' ></img></div>
{% endif %}
</div>
{% endfor %}
{% elseif is_plot %}
{% include "report/generate_tab.twig" %}
{% set heures = "heures" %}
<div class='center'>
<img src='charts/drawLinePlotWithLegend.php?legend={{ result.legend|serialize|urlencode }}&value={{ result.result.0|serialize|urlencode }}&absc={{ heures|urlencode }}'></img>
</div>
{% else %}
{% include "report/generate_tab.twig" %}
{% endif %}
{% endblock %}

View File

@@ -1,22 +0,0 @@
{% block setting_activity %}
<div class="setting_title">{% trans "report:: 3 - Type de report" %}</div>
<ul class="rounded">
<li>
<input name="tbl" type="radio" value="ASK" id="ASK-input" />
<label for="ASK-input">{% trans "report:: toutes les questions" %}</label>
</li>
<li>
<input name="tbl" type="radio" value="BESTOF" id="BESTOF-input" />
<label for="BESTOF-input">{% trans "report:: Les questions les plus posees" %}</label>
</li>
<li>
<input name="tbl" type="radio" value="NOBESTOF" id="NOBESTOF-input" />
<label for="NOBESTOF-input">{% trans "report:: questions sans reponses" %}</label>
</li>
<li>
<input name="tbl" type="radio" value="SITEACTIVITY" id="SITEACTIVITY-input" />
<label for="SITEACTIVITY-input">{% trans "report:: activite du site" %}</label>
</li>
<input name="what" type="hidden" value="ACT" id="ACT-what" />
</ul>
{% endblock %}

View File

@@ -1,16 +0,0 @@
{% block setting_base %}
<div class="setting_title">{% trans "report:: 2 - Bases" %}</div>
<ul class="rounded">
<li>
<select name="popbases[]" class="multiselect" multiple="multiple" id="popbases">
{% for the_base_coll in all_coll %}
<optgroup label="{{ the_base_coll.name_sbas }}">
{% for a_coll in the_base_coll.sbas_collections %}
<option value="{{ a_coll.sbas_id}}_{{ a_coll.coll_id }}">{{ a_coll.name }}</option>
{% endfor %}
</optgroup>
{% endfor %}
</select>
</li>
</ul>
{% endblock %}

View File

@@ -1,32 +0,0 @@
{% block setting_connexion %}
<div class="setting_title">{% trans "report:: 3 - Type de report" %}</div>
{% if not anonymous %}
<ul class="rounded">
<li class="formsubmiter CNXU submit">
{% trans "report:: (connexions) Par utilisateurs" %}
</li>
{% else %}
<ul class="rounded">
<li>
<label for="list-select">{% trans "report:: (connexions) Par utilisateurs" %}</label>
<select class="options" id="list-select" name="on" >
<option selected ="selected" value="fonction" >{% trans "report:: fonction" %}</option>
<option value="societe" >{% trans "report:: societe" %}</option>
<option value="activite" >{% trans "report:: activite" %}</option>
<option value="pays" >{% trans "report:: pays" %}</option>
</select>
</li>
<li class="formsubmiter CNXU submit fonction" style="display:none;"></li>
</ul>
<ul class="rounded">
{% endif %}
<li class="formsubmiter CNX submit">
{% trans "report:: (connexions) Globales" %}
</li>
<li class="formsubmiter CNXB submit">
{% trans "report:: (connexions) OS et navigateurs" %}
</li>
<input name="what" type="hidden" value="CNX" id="CNX-what" />
<input name="tbl" type="hidden" value="" id="tbl" />
</ul>
{% endblock %}

View File

@@ -1,11 +0,0 @@
{% block setting_date %}
<div class="setting_title">{% trans "report:: 1 - Periode" %}</div>
<ul class="rounded">
<li>
<input type="text" class="format-d-m-y divider-dash highlight-days-12 no-fade add_date" name="dmin" value="{{ date.dmin }}" size="10" readonly="readonly"/>
</li>
<li>
<input type="text" class="format-d-m-y divider-dash highlight-days-12 no-fade add_date" name="dmax" value="{{ date.dmax }}" size="10" readonly="readonly"/>
</li>
</ul>
{% endblock %}

View File

@@ -1,41 +0,0 @@
{% block setting_download %}
<div class="setting_title">{% trans "report:: 3 - Type de report" %}</div>
<ul class="rounded">
{% if anonymous %}
<li>
<input name="tbl" type="radio" value="USR" id="USR-dl" class="formsubmiter" />
<label for="USR-dl">{% trans "report:: Grouper par" %}</label>
<select class="options" style="display:inline;display:none;" id="list-select2" name="on" >
<option selected ="selected" value="fonction" class="formsubmiter">{% trans "report:: fonction" %}</option>
<option value="societe" class="formsubmiter">{% trans "report:: societe" %}</option>
<option value="activite" class="formsubmiter">{% trans "report:: societe" %}</option>
<option value="pays" class="formsubmiter">{% trans "report:: pays" %}</option>
</select>
</li>
{% else %}
<li>
<input name="tbl" type="radio" value="USR" id="USR-input" class="formsubmiter" />
<label for="USR-input">{% trans "report:: par utilisateurs" %}</label>
</li>
{% endif %}
<li>
<input name="tbl" type="radio" value="GEN" id="GEN-input" class="formsubmiter" />
<label for="GEN-input">{% trans "report:: (telechargement) Global" %}</label>
</li>
<li>
<input name="tbl" type="radio" value="DAY" id="DAY-input" class="formsubmiter" />
<label for="DAY-input">{% trans "report:: (telechargement) Par jours base par base" %}</label>
</li>
<li>
<input name="tbl" type="radio" value="DOC" id="DOC-input" class="formsubmiter" />
<label for="DOC-input">{% trans "report:: (telechargement) Par documents sur la base" %}</label>
<select class="options" id="precise" name="precise" style="display:none;">
<option value="0">{% trans "report::aucune precision" %}</option>
<option value="1">{% trans "report::la description contient" %}</option>
<option value="2">{% trans "report:: recordid" %}</option>
</select>
<input name="preciseWord" type="text" value="" class="options entersubmiter" />
</li>
<input name="what" type="hidden" value="DWLD" id="DWLD-what"/>
</ul>
{% endblock %}

View File

@@ -1,494 +0,0 @@
{% extends "report/main.twig" %}
{% block connexions_downloads_table %}
<div id="div_one">
<div class="toolbar"><a href="#settings" class="bbutton flip"{% trans 'menu' %}/a><a href="#whattoclick" class="button flip">{% trans 'Details' %}</a></div>
<ul class="edgetoedge center"><li>{% trans "report:: Cumul telechargements & connexions" %}</li></ul>
<table >
<thead>
<tr>
<th>{% trans "report:: telechargements" %}</th>
<th>{% trans "report::Connexion" %}</th>
</tr>
</thead>
<tbody>
<tr>
<td>{{ dashboard_array.dashboard.nb_dl }}</td>
<td>{{ dashboard_array.dashboard.nb_conn }}</td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan='2'>{{ dashboard_array.dminv }} à {{ dashboard_array.dmaxv }}</td>
</tr>
</tfoot>
</table>
<div>&nbsp;</div>
</div>
{% endblock %}
{% block top_ten_nb_docs %}
{% if dashboard_array.dashboard.top_ten_user.nbdoc|length > 0 %}
<div id="div_two">
<div class="toolbar"><a href="#settings" class="button flip">{% trans 'menu' %}</a></div>
<ul class="edgetoedge center"><li>{% trans "report:: Utilisateurs les plus actifs" %}</li></ul>
<table >
<thead>
<tr>
<th>{% trans "report:: utilisateurs" %}</th>
<th>{% trans "report:: telechargements document" %}</th>
</tr>
</thead>
<tbody>
{% for key, value in dashboard_array.dashboard.top_ten_user.nbdoc %}
<tr>
<td>{{ value.user|e }}</td>
<td>{{ value.nbdoc }}</td>
</tr>
{% endfor %}
</tbody>
<tfoot>
<tr>
<td colspan='2'>{{ dashboard_array.dminv }} à {{dashboard_array.dmaxv }}</td>
</tr>
</tfoot>
</table>
</div>
{% endif %}
{% endblock %}
{% block top_ten_nb_prev %}
{% if dashboard_array.dashboard.top_ten_user.nbprev|length > 0 %}
<div id="div_three">
<div class="toolbar"><a href="#settings" class="button flip">{% trans 'menu' %}</a></div>
<ul class="edgetoedge center"><li>{% trans "report:: Utilisateurs les plus actifs" %}</li></ul>
<table >
<thead>
<tr>
<th>{% trans "report:: utilisateurs" %}</th>
<th>{% trans "report:: telechargements preview" %}</th>
</tr>
</thead>
<tbody>
{% for key, value in dashboard_array.dashboard.top_ten_user.nbprev %}
<tr>
<td>{{ value.user|e }}</td>
<td>{{ value.nbprev }}</td>
</tr>
{% endfor %}
</tbody>
<tfoot>
<tr>
<td colspan='2'>{{ dashboard_array.dminv }} à {{ dashboard_array.dmaxv}}</td>
</tr>
</tfoot>
</table>
</div>
{% endif %}
{% endblock %}
{% block top_ten_dl_doc %}
{% if dashboard_array.dashboard.top_dl.document|length > 0 %}
<div id="div_for">
<div class="toolbar"><a href="#settings" class="button flip">{% trans 'menu' %}</a></div>
<ul class="edgetoedge center"><li>{% trans "report:: documents les plus telecharges" %}</li></ul>
<table >
<thead>
<tr>
<th>{% trans "report:: document" %}</th>
<th>{% trans "report:: telechargements" %}</th>
</tr>
</thead>
<tbody>
{% for key, value in dashboard_array.dashboard.top_dl.document %}
<tr>
<td class="{{ key }} link" style="color:white;cursor:pointer"><a href="#dashboard-info" class ="pop">{{ value.user|e }}</a></td>
<td>{{ value.nbdoc }}</td>
</tr>
{% endfor %}
</tbody>
<tfoot>
<tr>
<td colspan='2'>{{ dashboard_array.dminv }} à {{ dashboard_array.dmax }}</td>
</tr>
</tfoot>
</table>
</div>
{% endif %}
{% endblock %}
{% block top_ten_dl_prev %}
{% if dashboard_array.dashboard.top_dl.preview|length > 0 %}
<div id="div_five">
<div class="toolbar"><a href="#settings" class="button flip">{% trans 'menu' %}</a></div>
<ul class="edgetoedge center">
<li>{% trans "report:: preview les plus telecharges" %}</li>
</ul>
<table class="fleft">
<thead>
<tr>
<th>{% trans "report:: document" %}</th>
<th>{% trans "report:: telechargements" %}</th>
</tr>
</thead>
<tbody>
{% for key, value in dashboard_array.dashboard.top_dl.preview %}
<tr>
<td class="{{ key }} link" style="color:white;cursor:pointer"><a href="#dashboard-info" class ="pop">{{ value.user|e }}</a></td>
<td>{{ value.nbdoc }}</td>
</tr>
{% endfor %}
</tbody>
<tfoot>
<tr>
<td colspan='2'>{{ dashboard_array.dminv }} à {{ dashboard_array.dmaxv }}</td>
</tr>
</tfoot>
</table>
<div class="center"><em style="font-size:9px;">{% trans "report:: site" %}></em></div>
<div class="center"><em style="font-size:9px;">< {% trans "report:: documents les plus telecharges" %}</em></div>
</div>
{% endif %}
{% endblock %}
{% block top_ten_site %}
{% if dashboard_array.dashboard.top_ten_site|length > 0 %}
<div id="div_six">
<div class="toolbar"><a href="#settings" class="button flip">{% trans 'menu' %}</a></div>
<ul class="edgetoedge center"><li>{% trans "report:: site d\'ou les photo sont les plus consultees" %}</li></ul>
<table >
<thead>
<tr>
<th>{% trans "report:: site" %}</th>
<th>{% trans "report:: nombre de vue" %}</th>
</tr>
</thead>
<tbody>
{% for key, value in dashboard_array.dashboard.top_ten_site %}
<tr>
<td>{{ key }}</td>
<td>{{ value }}</td>
</tr>
{% endfor %}
</tbody>
<tfoot>
<tr>
<td colspan='2'>{{ dashboard_array.dminv }} à {{ dashboard_array.dmaxv }}</td>
</tr>
</tfoot>
</table>
</div>
{% endif %}
{% endblock %}
{% block top_ten_weight_doc %}
{% if dashboard_array.dashboard.top_ten_user.poiddoc|length > 0 %}
<div id="div_seven">
<div class="toolbar"><a href="#settings" class="button flip"{% trans 'menu' %}/a></div>
<ul class="edgetoedge center"><li>{% trans "report:: Utilisateurs les plus actifs" %}</li></ul>
<table >
<thead>
<tr>
<th>{% trans "report:: telechargements" %}</th>
<th>{% trans "report:: poids document" %}</th>
</tr>
</thead>
<tbody>
{% for key, value in dashboard_array.dashboard.top_ten_user.poiddoc %}
<tr>
<td>{{ value.user|e }}</td>
<td>{{ value.poiddoc | formatOctets }}</td>
</tr>
{% endfor %}
</tbody>
<tfoot>
<tr>
<td colspan='2'>{{ dashboard_array.dminv }} à {{ dashboard_array.dmaxv }}</td>
</tr>
</tfoot>
</table>
</div>
{% endif %}
{% endblock %}
{% block top_ten_weight_prev %}
{% if dashboard_array.dashboard.top_ten_user.poidprev|length > 0 %}
<div id="div_eights">
<div class="toolbar"><a href="#settings" class="button flip"{% trans 'menu' %}/a></div>
<ul class="edgetoedge center"><li>{% trans "report:: Utilisateurs les plus actifs" %}</li></ul>
<table >
<thead>
<tr>
<th>{% trans "report:: telechargements" %}</th>
<th>{% trans "report:: poids preview" %}</th>
</tr>
</thead>
<tbody>
{% for key, value in dashboard_array.dashboard.top_ten_user.poidprev %}
<tr>
<td>{{ value.user|e }}</td>
<td>{{ value.poidprev | formatOctets }}</td>
</tr>
{% endfor %}
</tbody>
<tfoot>
<tr>
<td colspan='2'>{{ dashboard_array.dminv }} à {{ dashboard_array.dmaxv }}</td>
</tr>
</tfoot>
</table>
</div>
{% endif %}
{% endblock %}
{% block top_ten_user_question %}
{% if dashboard_array.dashboard.ask|length > 0 %}
<div id="div_ten">
<div class="toolbar"><a href="#settings" class="button flip"{% trans 'menu' %}/a></div>
<ul class="edgetoedge center"><li>{% trans "report:: Les questions les plus posees" %}</li></ul>
<table >
<thead>
<tr>
<th>{% trans "report:: utilisateurs" %}</th>
<th>{% trans "report:: question" %}</th>
</tr>
</thead>
<tbody>
{% for key, value in dashboard_array.dashboard.ask %}
<tr>
<td>{{ value.user|e }}</td>
<td>{{ value.question|e }}</td>
</tr>
{% endfor %}
</tbody>
<tfoot>
<tr>
<td colspan='2'>{{ dashboard_array.dminv }} à {{ dashboard_array.dmaxv }}</td>
</tr>
</tfoot>
</table>
</div>
{% endif %}
{% endblock %}
{% block draw_activity_hour %}
{% if dashboard_array.dashboard.activity|length > 0 %}
<div id="div_eleven">
<div class="toolbar"><a href="#settings" class="button flip"{% trans 'menu' %}/a></div>
<ul class="edgetoedge center"><li>{% trans "report:: activite par heure" %}</li></ul>
<table id = "mytablehour">
<thead>
<tr>
<th></th>
{% for key, value in dashboard_array.legendHour %}
<th>{{ value }}</th>
{% endfor %}
</tr>
</thead>
<tbody>
<tr>
<th></th>
{% for key, value in dashboard_array.dashboard.activity.0 %}
<td>{{ value }}</td>
{% endfor %}
</tr>
</tbody>
<tfoot>
<tr>
<td colspan='2'>{{ dashboard_array.dminv }} à {{ dashboard_array.dmaxv }}</td>
</tr>
</tfoot>
</table>
</div>
{% endif %}
{% endblock %}
{% block draw_activity_day %}
{% if dashboard_array.dashboard.activity_day|length > 0 %}
<div id="div_twelve">
<div class="toolbar"><a href="#settings" class="button flip"{% trans 'menu' %}/a></div>
<ul class="edgetoedge center"><li>{% trans "report:: activite par jour" %}</li></ul>
<table id="mytableday">
<thead>
<tr>
<th></th>
{% for key, value in dashboard_array.legendDay %}
<th>{{ value }}</th>
{% endfor %}
</tr>
</thead>
<tbody>
<tr>
<th></th>
{% for key, value in dashboard_array.dashboard.activity_day.value %}
<td>{{ value }}</td>
{% endfor %}
</tr>
</tbody>
<tfoot>
<tr>
<td colspan='2'>{{ dashboard_array.dminv }} à {{ dashboard_array.dmaxv }}</td>
</tr>
</tfoot>
</table>
</div>
{% endif %}
{% endblock %}
{% block draw_activity_added %}
{% if dashboard_array.dashboard.activity_added|length > 0 %}
<div id="div_thirteen">
<div class="toolbar"><a href="#settings" class="button flip"{% trans 'menu' %}/a></div>
<ul class="edgetoedge center"><li>{% trans "report:: activite document ajoute" %}</li></ul>
<table id="mytableadded">
<thead>
<tr>
<th></th>
{% for key, value in dashboard_array.legendDay %}
<th>{{ value }}</th>
{% endfor %}
</tr>
</thead>
<tbody>
<tr>
<th></th>
{% for key, value in dashboard_array.dashboard.activity_added.value %}
<td>{{ value }}</td>
{% endfor %}
</tr>
</tbody>
<tfoot>
<tr>
<td colspan='2'>{{ dashboard_array.dminv }} à {{ dashboard_array.dmaxv }}</td>
</tr>
</tfoot>
</table>
</div>
{% endif %}
{% endblock %}
{% block draw_activity_edited %}
{% if dashboard_array.dashboard.activity_edited|length > 0 %}
<div id="div_forteen">
<div class="toolbar"><a href="#settings" class="button flip"{% trans 'menu' %}/a></div>
<ul class="edgetoedge center"><li>{% trans "report:: activite document edite" %}</li></ul>
<table id="mytableedited">
<thead>
<tr>
<th></th>
{% for key, value in dashboard_array.legendDay %}
<th>{{ value }}</th>
{% endfor %}
</tr>
</thead>
<tbody>
<tr>
<th></th>
{% for key, value in dashboard_array.dashboard.activity_edited.value %}
<td>{{ value }}</td>
{% endfor %}
</tr>
</tbody>
<tfoot>
<tr>
<td colspan='2'>{{ dashboard_array.dminv }} à {{ dashboard_array.dmaxv }}</td>
</tr>
</tfoot>
</table>
</div>
{% endif %}
{% endblock %}
{% block content %}
<div id="settings">
<div class="toolbar"><a href="#" class="button back flip">{% trans 'Back' %}</a></div>
<ul class="center edgetoedge">
<li class = "arrow"><a href="#dashboard-table" class="div_one">{% trans "report:: Cumul telechargements & connexions" %}</a></li>
<li class = "arrow"><a href="#dashboard-table" class="div_two">{% trans "report:: Utilisateurs les plus actifs" %} (documents)</a></li>
<li class = "arrow"><a href="#dashboard-table" class="div_three">{% trans "report:: Utilisateurs les plus actifs" %} (previews)</a></li>
<li class = "arrow"><a href="#dashboard-table" class="div_for">{% trans "report:: Les questions les plus posees" %}</a></li>
<li class = "arrow"><a href="#dashboard-table" class="div_five">{% trans "report:: Les questions les plus posees" %}(users)</a></li>
<li class = "arrow"><a href="#dashboard-table" class="div_six">{% trans "report:: documents les plus telecharges" %}</a></li>
<li class = "arrow"><a href="#dashboard-table" class="div_seven">{% trans "report:: Utilisateurs les plus actifs" %} (weight)</a></li>
<li class = "arrow"><a href="#dashboard-table" class="div_eight">{% trans "report:: preview les plus telecharges" %}</a></li>
<li class = "arrow"><a href="#dashboard-table" class="div_nine">{% trans "report:: Utilisateurs les plus actifs" %} (weight)</a></li>
<li class = "arrow"><a href="#dashboard-table" class="div_ten">{% trans "report:: site d\'ou les photo sont les plus consultees" %}</a></li>
<li class = "arrow"><a href="#dashboard-table" class="div_eleven">aaaa</a></li>
<li class = "arrow"><a href="#dashboard-table" class="div_twelwe">aaaa</a></li>
</ul>
</div>
<div id="whattoclick">
<div class="toolbar"><a class="button back" href="#">{% trans 'Back' %}</a><h1>{% trans 'Details' %}</h1></div>
<ul class="edgetoedge center">
<li><a href="#report-connexions-settings" class="flip">{% trans "report:: Connexion" %}</a></li>
<li><a href="#report-telechargement-settings" class="flip">{% trans "report:: telechargements" %}</a></li>
</ul>
</div>
{# SETTING CONNEXION #}
<form id="report-connexions-settings" action="ajax_liste_base.php" method="POST" class="form">
{# TITLE #}
<div class="toolbar"><h1>{% trans "report:: Connexion" %}</h1></div>
<a class="button back" href="#">{% trans 'Back' %}</a>
{# CONTENT #}
{% include "report/settings/setting_date.twig" %}
{% include "report/settings/setting_base.twig" %}
{% include "report/settings/setting_connexion.twig" %}
<a href="#" class="submit whiteButton">Submit</a>
</form>
{# SETTING TELECHARGEMENT #}
<form id="report-telechargement-settings" action="ajax_liste_base.php" method="POST" class="form">
{# TITLE #}
<div class="toolbar"><h1>{% trans "report:: telechargements" %}</h1></div>
<a class="button back" href="#">{% trans 'Back' %}</a>
{# CONTENT #}
{% include "report/settings/setting_date.twig" %}
{% include "report/settings/setting_base.twig" %}
{% include "report/settings/setting_download.twig" %}
</form>
{# SETTING ACTIVITY #}
<form id="report-activite-settings" action="ajax_liste_base.php" method="POST" class="form">
{# TITLE #}
<div class="toolbar"><h1>{% trans "report:: activite du site" %}</h1></div>
<a class="button back" href="#">{% trans 'Back' %}</a>
{# CONTENT #}
{% include "report/settings/setting_date.twig" %}
{% include "report/settings/setting_base.twig" %}
{% include "report/settings/setting_activity.twig" %}
</form>
{% for key, value in dashboard_array.base %}
<div id="#base_{{key}}">
<div class="toolbar"><a class="button back" href="#">{% trans 'Back' %}</a><h1>{{ value }}</h1></div>
</div>
{% endfor %}
<div id="mask"></div>
<div id="dashboard-info">
<div class="toolbar"><a class="button back" href="#">{% trans 'Back' %}</a><h1>{% trans "report:: Dashboard" %}</h1></div>
<div class="result">
{% include 'report/info.twig' %}
</div>
</div>
{% endblock %}

View File

@@ -1,38 +0,0 @@
<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>
<ifModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/x-javascript
</ifModule>
<ifModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 seconds"
ExpiresByType text/html "access plus 1 seconds"
ExpiresByType image/gif "access plus 2592000 seconds"
ExpiresByType image/jpeg "access plus 2592000 seconds"
ExpiresByType image/png "access plus 2592000 seconds"
ExpiresByType text/css "access plus 604800 seconds"
ExpiresByType text/javascript "access plus 216000 seconds"
ExpiresByType application/x-javascript "access plus 216000 seconds"
</ifModule>
<ifModule mod_headers.c>
Header unset ETag
</ifModule>
FileETag None
<ifModule mod_headers.c>
Header unset Last-Modified
</ifModule>
AddType text/cache-manifest .manifest

View File

@@ -1,20 +0,0 @@
The MIT License
Copyright (c) 2009 David Kaneda
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

View File

@@ -1,19 +0,0 @@
_/ _/_/ _/_/_/_/_/ _/
_/ _/ _/ _/_/ _/ _/ _/_/_/ _/_/_/
_/ _/ _/_/ _/ _/ _/ _/ _/ _/ _/ _/
_/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/
_/ _/_/ _/ _/ _/_/ _/_/_/ _/_/_/ _/ _/
_/
_/
Created by David Kaneda <http://www.davidkaneda.com>
Documentation and issue tracking on Google Code <http://code.google.com/p/jqtouch/>
Special thanks to Jonathan Stark <http://jonathanstark.com/>
and pinch/zoom <http://www.pinchzoom.com/>
(c) 2009 by jQTouch project members.
See LICENSE.txt for license.
If you use jQTouch, please consider supporting its development:
http://bit.ly/support-jqt

View File

@@ -1,51 +0,0 @@
/*
_/ _/_/ _/_/_/_/_/ _/
_/ _/ _/ _/_/ _/ _/ _/_/_/ _/_/_/
_/ _/ _/_/ _/ _/ _/ _/ _/ _/ _/ _/
_/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/
_/ _/_/ _/ _/ _/_/ _/_/_/ _/_/_/ _/ _/
_/
_/
Created by David Kaneda <http://www.davidkaneda.com>
Documentation and issue tracking on Google Code <http://code.google.com/p/jqtouch/>
Special thanks to Jonathan Stark <http://jonathanstark.com/>
and pinch/zoom <http://www.pinchzoom.com/>
(c) 2009 by jQTouch project members.
See LICENSE.txt for license.
*/
(function($) {
if ($.jQTouch)
{
$.jQTouch.addExtension(function AutoTitles(jQT){
var titleSelector='.toolbar h1';
$(function(){
$('body').bind('pageAnimationStart', function(e, data){
if (data.direction === 'in'){
var $title = $(titleSelector, $(e.target));
var $ref = $(e.target).data('referrer');
if ($title.length && $ref){
$title.html($ref.text());
}
}
});
});
function setTitleSelector(ts){
titleSelector=ts;
}
return {
setTitleSelector: setTitleSelector
}
});
}
})(jQuery);

View File

@@ -1,92 +0,0 @@
/*
_/ _/_/ _/_/_/_/_/ _/
_/ _/ _/ _/_/ _/ _/ _/_/_/ _/_/_/
_/ _/ _/_/ _/ _/ _/ _/ _/ _/ _/ _/
_/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/
_/ _/_/ _/ _/ _/_/ _/_/_/ _/_/_/ _/ _/
_/
_/
Created by David Kaneda <http://www.davidkaneda.com>
Documentation and issue tracking on Google Code <http://code.google.com/p/jqtouch/>
Special thanks to Jonathan Stark <http://jonathanstark.com/>
and pinch/zoom <http://www.pinchzoom.com/>
(c) 2009 by jQTouch project members.
See LICENSE.txt for license.
*/
(function($) {
if ($.jQTouch)
{
$.jQTouch.addExtension(function Floaty(jQT){
$.fn.makeFloaty = function(options){
var defaults = {
align: 'top',
spacing: 20,
time: '.3s'
}
var settings = $.extend({}, defaults, options);
settings.align = (settings.align == 'top') ? 'top' : 'bottom';
return this.each(function(){
var $el = $(this);
$el.css({
'-webkit-transition': 'top ' + settings.time + ' ease-in-out',
'display': 'block',
'min-height': '0 !important'
}).data('settings', settings);
$(document).bind('scroll', function(){
if ($el.data('floatyVisible') === true)
{
$el.scrollFloaty();
}
});
$el.scrollFloaty();
});
}
$.fn.scrollFloaty = function(){
return this.each(function(){
var $el = $(this);
var settings = $el.data('settings');
var wHeight = $('html').attr('clientHeight'); // WRONG
var newY = window.pageYOffset +
((settings.align == 'top') ?
settings.spacing : wHeight - settings.spacing - $el.get(0).offsetHeight);
$el.css('top', newY).data('floatyVisible', true);
});
}
$.fn.hideFloaty = function(){
return this.each(function(){
var $el = $(this);
var oh = $el.get(0).offsetHeight;
$el.css('top', -oh-10).data('floatyVisible', false);
});
}
$.fn.toggleFloaty = function(){
return this.each(function(){
var $el = $(this);
if ($el.data('floatyVisible') === true){
$el.hideFloaty();
}
else
{
$el.scrollFloaty();
}
});
}
});
}
})(jQuery);

View File

@@ -1,68 +0,0 @@
/*
_/ _/_/ _/_/_/_/_/ _/
_/ _/ _/ _/_/ _/ _/ _/_/_/ _/_/_/
_/ _/ _/_/ _/ _/ _/ _/ _/ _/ _/ _/
_/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/
_/ _/_/ _/ _/ _/_/ _/_/_/ _/_/_/ _/ _/
_/
_/
Created by David Kaneda <http://www.davidkaneda.com>
Documentation and issue tracking on Google Code <http://code.google.com/p/jqtouch/>
Special thanks to Jonathan Stark <http://jonathanstark.com/>
and pinch/zoom <http://www.pinchzoom.com/>
(c) 2009 by jQTouch project members.
See LICENSE.txt for license.
*/
(function($) {
if ($.jQTouch)
{
$.jQTouch.addExtension(function Location(){
var latitude, longitude, callback;
function checkGeoLocation() {
return navigator.geolocation;
}
function updateLocation(fn) {
if (checkGeoLocation())
{
callback = fn;
navigator.geolocation.getCurrentPosition(savePosition);
return true;
} else {
console.log('Device not capable of geo-location.');
fn(false);
return false;
}
}
function savePosition(position) {
latitude = position.coords.latitude;
longitude = position.coords.longitude;
if (callback) {
callback(getLocation());
}
}
function getLocation() {
if (latitude && longitude) {
return {
latitude: latitude,
longitude: longitude
}
} else {
console.log('No location available. Try calling updateLocation() first.');
return false;
}
}
return {
updateLocation: updateLocation,
getLocation: getLocation
}
});
}
})(jQuery);

View File

@@ -1,97 +0,0 @@
/*
_/ _/_/ _/_/_/_/_/ _/
_/ _/ _/ _/_/ _/ _/ _/_/_/ _/_/_/
_/ _/ _/_/ _/ _/ _/ _/ _/ _/ _/ _/
_/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/
_/ _/_/ _/ _/ _/_/ _/_/_/ _/_/_/ _/ _/
_/
_/
Created by David Kaneda <http://www.davidkaneda.com>
Documentation and issue tracking on Google Code <http://code.google.com/p/jqtouch/>
Special thanks to Jonathan Stark <http://jonathanstark.com/>
Lots of this code is specifically derived from Jonathan's book,
"Building iPhone Apps with HTML, CSS, and JavaScript"
(c) 2009 by jQTouch project members.
See LICENSE.txt for license.
*/
(function($) {
if ($.jQTouch)
{
$.jQTouch.addExtension(function Offline(){
// Convenience array of status values
var cacheStatusValues = [];
cacheStatusValues[0] = 'uncached';
cacheStatusValues[1] = 'idle';
cacheStatusValues[2] = 'checking';
cacheStatusValues[3] = 'downloading';
cacheStatusValues[4] = 'updateready';
cacheStatusValues[5] = 'obsolete';
// Listeners for all possible events
var cache = window.applicationCache;
cache.addEventListener('cached', logEvent, false);
cache.addEventListener('checking', logEvent, false);
cache.addEventListener('downloading', logEvent, false);
cache.addEventListener('error', logEvent, false);
cache.addEventListener('noupdate', logEvent, false);
cache.addEventListener('obsolete', logEvent, false);
cache.addEventListener('progress', logEvent, false);
cache.addEventListener('updateready', logEvent, false);
// Log every event to the console
function logEvent(e) {
var online, status, type, message;
online = (isOnline()) ? 'yes' : 'no';
status = cacheStatusValues[cache.status];
type = e.type;
message = 'online: ' + online;
message+= ', event: ' + type;
message+= ', status: ' + status;
if (type == 'error' && navigator.onLine) {
message+= ' There was an unknown error, check your Cache Manifest.';
}
console.log(message);
}
function isOnline() {
return navigator.onLine;
}
if (!$('html').attr('manifest')) {
console.log('No Cache Manifest listed on the <html> tag.')
}
// Swap in newly download files when update is ready
cache.addEventListener('updateready', function(e){
// Don't perform "swap" if this is the first cache
if (cacheStatusValues[cache.status] != 'idle') {
cache.swapCache();
console.log('Swapped/updated the Cache Manifest.');
}
}
, false);
// These two functions check for updates to the manifest file
function checkForUpdates(){
cache.update();
}
function autoCheckForUpdates(){
setInterval(function(){cache.update()}, 10000);
}
return {
isOnline: isOnline,
checkForUpdates: checkForUpdates,
autoCheckForUpdates: autoCheckForUpdates
}
});
}
})(jQuery);

View File

@@ -1,373 +0,0 @@
* {
margin: 0;
padding: 0;
}
a {
-webkit-tap-highlight-color: rgba(0,0,0,0);
}
body {
overflow-x: hidden;
-webkit-user-select: none;
-webkit-text-size-adjust: none;
font-family: Helvetica;
-webkit-perspective: 800;
-webkit-transform-style: preserve-3d;
}
.selectable, input, textarea {
-webkit-user-select: auto;
}
body > * {
-webkit-backface-visibility: hidden;
-webkit-box-sizing: border-box;
display: none;
position: absolute;
left: 0;
width: 100%;
-webkit-transform: translate3d(0,0,0) rotate(0) scale(1);
min-height: 420px !important;
}
body.fullscreen > * {
min-height: 460px !important;
}
body.fullscreen.black-translucent > * {
min-height: 480px !important;
}
body.landscape > * {
min-height: 320px;
}
body > .current {
display: block !important;
}
.in, .out {
-webkit-animation-timing-function: ease-in-out;
-webkit-animation-duration: 350ms;
}
.slide.in {
-webkit-animation-name: slideinfromright;
}
.slide.out {
-webkit-animation-name: slideouttoleft;
}
.slide.in.reverse {
-webkit-animation-name: slideinfromleft;
}
.slide.out.reverse {
-webkit-animation-name: slideouttoright;
}
@-webkit-keyframes slideinfromright {
from { -webkit-transform: translateX(100%); }
to { -webkit-transform: translateX(0); }
}
@-webkit-keyframes slideinfromleft {
from { -webkit-transform: translateX(-100%); }
to { -webkit-transform: translateX(0); }
}
@-webkit-keyframes slideouttoleft {
from { -webkit-transform: translateX(0); }
to { -webkit-transform: translateX(-100%); }
}
@-webkit-keyframes slideouttoright {
from { -webkit-transform: translateX(0); }
to { -webkit-transform: translateX(100%); }
}
@-webkit-keyframes fadein {
from { opacity: 0; }
to { opacity: 1; }
}
@-webkit-keyframes fadeout {
from { opacity: 1; }
to { opacity: 0; }
}
.fade.in {
z-index: 10;
-webkit-animation-name: fadein;
}
.fade.out {
z-index: 0;
}
.dissolve.in {
-webkit-animation-name: fadein;
}
.dissolve.out {
-webkit-animation-name: fadeout;
}
.flip {
-webkit-animation-duration: .65s;
}
.flip.in {
-webkit-animation-name: flipinfromleft;
}
.flip.out {
-webkit-animation-name: flipouttoleft;
}
/* Shake it all about */
.flip.in.reverse {
-webkit-animation-name: flipinfromright;
}
.flip.out.reverse {
-webkit-animation-name: flipouttoright;
}
@-webkit-keyframes flipinfromright {
from { -webkit-transform: rotateY(-180deg) scale(.8); }
to { -webkit-transform: rotateY(0) scale(1); }
}
@-webkit-keyframes flipinfromleft {
from { -webkit-transform: rotateY(180deg) scale(.8); }
to { -webkit-transform: rotateY(0) scale(1); }
}
@-webkit-keyframes flipouttoleft {
from { -webkit-transform: rotateY(0) scale(1); }
to { -webkit-transform: rotateY(-180deg) scale(.8); }
}
@-webkit-keyframes flipouttoright {
from { -webkit-transform: rotateY(0) scale(1); }
to { -webkit-transform: rotateY(180deg) scale(.8); }
}
.slideup.in {
-webkit-animation-name: slideup;
z-index: 10;
}
.slideup.out {
-webkit-animation-name: dontmove;
z-index: 0;
}
.slideup.out.reverse {
z-index: 10;
-webkit-animation-name: slidedown;
}
.slideup.in.reverse {
z-index: 0;
-webkit-animation-name: dontmove;
}
@-webkit-keyframes slideup {
from { -webkit-transform: translateY(100%); }
to { -webkit-transform: translateY(0); }
}
@-webkit-keyframes slidedown {
from { -webkit-transform: translateY(0); }
to { -webkit-transform: translateY(100%); }
}
/* Hackish, but reliable. */
@-webkit-keyframes dontmove {
from { opacity: 1; }
to { opacity: 1; }
}
.swap {
-webkit-transform: perspective(800);
-webkit-animation-duration: .7s;
}
.swap.out {
-webkit-animation-name: swapouttoleft;
}
.swap.in {
-webkit-animation-name: swapinfromright;
}
.swap.out.reverse {
-webkit-animation-name: swapouttoright;
}
.swap.in.reverse {
-webkit-animation-name: swapinfromleft;
}
@-webkit-keyframes swapouttoright {
0% {
-webkit-transform: translate3d(0px, 0px, 0px) rotateY(0deg);
-webkit-animation-timing-function: ease-in-out;
}
50% {
-webkit-transform: translate3d(-180px, 0px, -400px) rotateY(20deg);
-webkit-animation-timing-function: ease-in;
}
100% {
-webkit-transform: translate3d(0px, 0px, -800px) rotateY(70deg);
}
}
@-webkit-keyframes swapouttoleft {
0% {
-webkit-transform: translate3d(0px, 0px, 0px) rotateY(0deg);
-webkit-animation-timing-function: ease-in-out;
}
50% {
-webkit-transform: translate3d(180px, 0px, -400px) rotateY(-20deg);
-webkit-animation-timing-function: ease-in;
}
100% {
-webkit-transform: translate3d(0px, 0px, -800px) rotateY(-70deg);
}
}
@-webkit-keyframes swapinfromright {
0% {
-webkit-transform: translate3d(0px, 0px, -800px) rotateY(70deg);
-webkit-animation-timing-function: ease-out;
}
50% {
-webkit-transform: translate3d(-180px, 0px, -400px) rotateY(20deg);
-webkit-animation-timing-function: ease-in-out;
}
100% {
-webkit-transform: translate3d(0px, 0px, 0px) rotateY(0deg);
}
}
@-webkit-keyframes swapinfromleft {
0% {
-webkit-transform: translate3d(0px, 0px, -800px) rotateY(-70deg);
-webkit-animation-timing-function: ease-out;
}
50% {
-webkit-transform: translate3d(180px, 0px, -400px) rotateY(-20deg);
-webkit-animation-timing-function: ease-in-out;
}
100% {
-webkit-transform: translate3d(0px, 0px, 0px) rotateY(0deg);
}
}
.cube {
-webkit-animation-duration: .55s;
}
.cube.in {
-webkit-animation-name: cubeinfromright;
-webkit-transform-origin: 0% 50%;
}
.cube.out {
-webkit-animation-name: cubeouttoleft;
-webkit-transform-origin: 100% 50%;
}
.cube.in.reverse {
-webkit-animation-name: cubeinfromleft;
-webkit-transform-origin: 100% 50%;
}
.cube.out.reverse {
-webkit-animation-name: cubeouttoright;
-webkit-transform-origin: 0% 50%;
}
@-webkit-keyframes cubeinfromleft {
from {
-webkit-transform: rotateY(-90deg) translateZ(320px);
opacity: .5;
}
to {
-webkit-transform: rotateY(0deg) translateZ(0);
opacity: 1;
}
}
@-webkit-keyframes cubeouttoright {
from {
-webkit-transform: rotateY(0deg) translateX(0);
opacity: 1;
}
to {
-webkit-transform: rotateY(90deg) translateZ(320px);
opacity: .5;
}
}
@-webkit-keyframes cubeinfromright {
from {
-webkit-transform: rotateY(90deg) translateZ(320px);
opacity: .5;
}
to {
-webkit-transform: rotateY(0deg) translateZ(0);
opacity: 1;
}
}
@-webkit-keyframes cubeouttoleft {
from {
-webkit-transform: rotateY(0deg) translateZ(0);
opacity: 1;
}
to {
-webkit-transform: rotateY(-90deg) translateZ(320px);
opacity: .5;
}
}
.pop {
-webkit-transform-origin: 50% 50%;
}
.pop.in {
-webkit-animation-name: popin;
z-index: 10;
}
.pop.out.reverse {
-webkit-animation-name: popout;
z-index: 10;
}
.pop.in.reverse {
z-index: 0;
-webkit-animation-name: dontmove;
}
@-webkit-keyframes popin {
from {
-webkit-transform: scale(.2);
opacity: 0;
}
to {
-webkit-transform: scale(1);
opacity: 1;
}
}
@-webkit-keyframes popout {
from {
-webkit-transform: scale(1);
opacity: 1;
}
to {
-webkit-transform: scale(.2);
opacity: 0;
}
}

View File

@@ -1,634 +0,0 @@
/*
_/ _/_/ _/_/_/_/_/ _/
_/ _/ _/ _/_/ _/ _/ _/_/_/ _/_/_/
_/ _/ _/_/ _/ _/ _/ _/ _/ _/ _/ _/
_/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/
_/ _/_/ _/ _/ _/_/ _/_/_/ _/_/_/ _/ _/
_/
_/
Created by David Kaneda <http://www.davidkaneda.com>
Documentation and issue tracking on Google Code <http://code.google.com/p/jqtouch/>
Special thanks to Jonathan Stark <http://jonathanstark.com/>
and pinch/zoom <http://www.pinchzoom.com/>
(c) 2009 by jQTouch project members.
See LICENSE.txt for license.
$Revision: 109 $
$Date: 2009-10-06 12:23:30 -0400 (Tue, 06 Oct 2009) $
$LastChangedBy: davidcolbykaneda $
*/
(function($) {
$.jQTouch = function(options) {
// Set support values
$.support.WebKitCSSMatrix = (typeof WebKitCSSMatrix == "object");
$.support.touch = (typeof Touch == "object");
$.support.WebKitAnimationEvent = (typeof WebKitTransitionEvent == "object");
// Initialize internal variables
var $body,
$head=$('head'),
hist=[],
newPageCount=0,
jQTSettings={},
hashCheck,
currentPage,
orientation,
isMobileWebKit = RegExp(" Mobile/").test(navigator.userAgent),
tapReady=true,
lastAnimationTime=0,
touchSelectors=[],
publicObj={},
extensions=$.jQTouch.prototype.extensions,
defaultAnimations=['slide','flip','slideup','swap','cube','pop','dissolve','fade','back'],
animations=[],
hairextensions='';
// Get the party started
init(options);
function init(options) {
var defaults = {
addGlossToIcon: true,
backSelector: '.back, .cancel, .goback',
cacheGetRequests: true,
cubeSelector: '.cube',
dissolveSelector: '.dissolve',
fadeSelector: '.fade',
fixedViewport: true,
flipSelector: '.flip',
formSelector: 'form',
fullScreen: true,
fullScreenClass: 'fullscreen',
icon: null,
touchSelector: 'a, .touch',
popSelector: '.pop',
preloadImages: false,
slideSelector: 'body > * > ul li a',
slideupSelector: '.slideup',
startupScreen: null,
statusBar: 'default', // other options: black-translucent, black
submitSelector: '.submit',
swapSelector: '.swap',
useAnimations: true,
useFastTouch: true // Experimental.
};
jQTSettings = $.extend({}, defaults, options);
// Preload images
if (jQTSettings.preloadImages) {
for (var i = jQTSettings.preloadImages.length - 1; i >= 0; i--){
(new Image()).src = jQTSettings.preloadImages[i];
};
}
// Set icon
if (jQTSettings.icon) {
var precomposed = (jQTSettings.addGlossToIcon) ? '' : '-precomposed';
hairextensions += '<link rel="apple-touch-icon' + precomposed + '" href="' + jQTSettings.icon + '" />';
}
// Set startup screen
if (jQTSettings.startupScreen) {
hairextensions += '<link rel="apple-touch-startup-image" href="' + jQTSettings.startupScreen + '" />';
}
// Set viewport
if (jQTSettings.fixedViewport) {
hairextensions += '<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0;"/>';
}
// Set full-screen
if (jQTSettings.fullScreen) {
hairextensions += '<meta name="apple-mobile-web-app-capable" content="yes" />';
if (jQTSettings.statusBar) {
hairextensions += '<meta name="apple-mobile-web-app-status-bar-style" content="' + jQTSettings.statusBar + '" />';
}
}
if (hairextensions) $head.append(hairextensions);
// Initialize on document load:
$(document).ready(function(){
// Add extensions
for (var i in extensions)
{
var fn = extensions[i];
if ($.isFunction(fn))
{
$.extend(publicObj, fn(publicObj));
}
}
// Add animations
for (var i in defaultAnimations)
{
var name = defaultAnimations[i];
var selector = jQTSettings[name + 'Selector'];
if (typeof(selector) == 'string') {
addAnimation({name:name, selector:selector});
}
}
touchSelectors.push('input');
touchSelectors.push(jQTSettings.touchSelector);
touchSelectors.push(jQTSettings.backSelector);
touchSelectors.push(jQTSettings.submitSelector);
$(touchSelectors.join(', ')).css('-webkit-touch-callout', 'none');
$(jQTSettings.backSelector).tap(liveTap);
$(jQTSettings.submitSelector).tap(submitParentForm);
$body = $('body');
if (jQTSettings.fullScreenClass && window.navigator.standalone == true) {
$body.addClass(jQTSettings.fullScreenClass + ' ' + jQTSettings.statusBar);
}
// Create custom live events
$body
.bind('touchstart', handleTouch)
.bind('orientationchange', updateOrientation)
.trigger('orientationchange')
.submit(submitForm);
if (jQTSettings.useFastTouch && $.support.touch)
{
$body.click(function(e){
var $el = $(e.target);
if ($el.attr('target') == '_blank' || $el.attr('rel') == 'external' || $el.is('input[type="checkbox"]'))
{
return true;
} else {
return false;
}
});
// This additionally gets rid of form focusses
$body.mousedown(function(e){
var timeDiff = (new Date()).getTime() - lastAnimationTime;
if (timeDiff < 200)
{
return false;
}
});
}
// Make sure exactly one child of body has "current" class
if ($('body > .current').length == 0) {
currentPage = $('body > *:first');
} else {
currentPage = $('body > .current:first');
$('body > .current').removeClass('current');
}
// Go to the top of the "current" page
$(currentPage).addClass('current');
location.hash = $(currentPage).attr('id');
addPageToHistory(currentPage);
scrollTo(0, 0);
dumbLoopStart();
});
}
// PUBLIC FUNCTIONS
function goBack(to) {
// Init the param
if (hist.length > 1) {
var numberOfPages = Math.min(parseInt(to || 1, 10), hist.length-1);
// Search through the history for an ID
if( isNaN(numberOfPages) && typeof(to) === "string" && to != '#' ) {
for( var i=1, length=hist.length; i < length; i++ ) {
if( '#' + hist[i].id === to ) {
numberOfPages = i;
break;
}
}
}
// If still nothing, assume one
if( isNaN(numberOfPages) || numberOfPages < 1 ) {
numberOfPages = 1;
};
// Grab the current page for the "from" info
var animation = hist[0].animation;
var fromPage = hist[0].page;
// Remove all pages in front of the target page
hist.splice(0, numberOfPages);
// Grab the target page
var toPage = hist[0].page;
// Make the animations
animatePages(fromPage, toPage, animation, true);
return publicObj;
} else {
console.error('No pages in history.');
return false;
}
}
function goTo(toPage, animation) {
var fromPage = hist[0].page;
if (typeof(toPage) === 'string') {
toPage = $(toPage);
}
if (typeof(animation) === 'string') {
for (var i = animations.length - 1; i >= 0; i--){
if (animations[i].name === animation)
{
animation = animations[i];
break;
}
}
}
if (animatePages(fromPage, toPage, animation)) {
addPageToHistory(toPage, animation);
return publicObj;
}
else
{
console.error('Could not animate pages.');
return false;
}
}
function getOrientation() {
return orientation;
}
// PRIVATE FUNCTIONS
function liveTap(e){
// Grab the clicked element
var $el = $(e.target);
if ($el.attr('nodeName')!=='A'){
$el = $el.parent('a');
}
var target = $el.attr('target'),
hash = $el.attr('hash'),
animation=null;
if (tapReady == false || !$el.length) {
console.warn('Not able to tap element.')
return false;
}
if ($el.attr('target') == '_blank' || $el.attr('rel') == 'external')
{
return true;
}
// Figure out the animation to use
for (var i = animations.length - 1; i >= 0; i--){
if ($el.is(animations[i].selector)) {
animation = animations[i];
break;
}
};
// User clicked an internal link, fullscreen mode
if (target == '_webapp') {
window.location = $el.attr('href');
}
// User clicked a back button
else if ($el.is(jQTSettings.backSelector)) {
goBack(hash);
}
// Branch on internal or external href
else if (hash && hash!='#') {
$el.addClass('active');
goTo($(hash).data('referrer', $el), animation);
} else {
$el.addClass('loading active');
showPageByHref($el.attr('href'), {
animation: animation,
callback: function(){
$el.removeClass('loading'); setTimeout($.fn.unselect, 250, $el);
},
$referrer: $el
});
}
return false;
}
function addPageToHistory(page, animation) {
// Grab some info
var pageId = page.attr('id');
// Prepend info to page history
hist.unshift({
page: page,
animation: animation,
id: pageId
});
}
function animatePages(fromPage, toPage, animation, backwards) {
// Error check for target page
if(toPage.length === 0){
$.fn.unselect();
console.error('Target element is missing.');
return false;
}
// Collapse the keyboard
$(':focus').blur();
// Make sure we are scrolled up to hide location bar
scrollTo(0, 0);
// Define callback to run after animation completes
var callback = function(event){
if (animation)
{
toPage.removeClass('in reverse ' + animation.name);
fromPage.removeClass('current out reverse ' + animation.name);
}
else
{
fromPage.removeClass('current');
}
toPage.trigger('pageAnimationEnd', { direction: 'in' });
fromPage.trigger('pageAnimationEnd', { direction: 'out' });
clearInterval(dumbLoop);
currentPage = toPage;
location.hash = currentPage.attr('id');
dumbLoopStart();
var $originallink = toPage.data('referrer');
if ($originallink) {
$originallink.unselect();
}
lastAnimationTime = (new Date()).getTime();
tapReady = true;
}
fromPage.trigger('pageAnimationStart', { direction: 'out' });
toPage.trigger('pageAnimationStart', { direction: 'in' });
if ($.support.WebKitAnimationEvent && animation && jQTSettings.useAnimations) {
toPage.one('webkitAnimationEnd', callback);
tapReady = false;
toPage.addClass(animation.name + ' in current ' + (backwards ? ' reverse' : ''));
fromPage.addClass(animation.name + ' out' + (backwards ? ' reverse' : ''));
} else {
toPage.addClass('current');
callback();
}
return true;
}
function dumbLoopStart() {
dumbLoop = setInterval(function(){
var curid = currentPage.attr('id');
if (location.hash == '') {
location.hash = '#' + curid;
} else if (location.hash != '#' + curid) {
try {
goBack(location.hash)
} catch(e) {
console.error('Unknown hash change.');
}
}
}, 100);
}
function insertPages(nodes, animation) {
var targetPage = null;
$(nodes).each(function(index, node){
var $node = $(this);
if (!$node.attr('id')) {
$node.attr('id', 'page-' + (++newPageCount));
}
$node.appendTo($body);
if ($node.hasClass('current') || !targetPage ) {
targetPage = $node;
}
});
if (targetPage !== null) {
goTo(targetPage, animation);
return targetPage;
}
else
{
return false;
}
}
function showPageByHref(href, options) {
var defaults = {
data: null,
method: 'GET',
animation: null,
callback: null,
$referrer: null
};
var settings = $.extend({}, defaults, options);
if (href != '#')
{
$.ajax({
url: href,
data: settings.data,
type: settings.method,
success: function (data, textStatus) {
var firstPage = insertPages(data, settings.animation);
if (firstPage)
{
if (settings.method == 'GET' && jQTSettings.cacheGetRequests && settings.$referrer)
{
settings.$referrer.attr('href', '#' + firstPage.attr('id'));
}
if (settings.callback) {
settings.callback(true);
}
}
},
error: function (data) {
if (settings.$referrer) settings.$referrer.unselect();
if (settings.callback) {
settings.callback(false);
}
}
});
}
else if ($referrer)
{
$referrer.unselect();
}
}
function submitForm(e, callback){
var $form = (typeof(e)==='string') ? $(e) : $(e.target);
if ($form.length && $form.is(jQTSettings.formSelector) && $form.attr('action')) {
showPageByHref($form.attr('action'), {
data: $form.serialize(),
method: $form.attr('method') || "POST",
animation: animations[0] || null,
callback: callback
});
return false;
}
return true;
}
function submitParentForm(e){
var $form = $(this).closest('form');
if ($form.length)
{
evt = jQuery.Event("submit");
evt.preventDefault();
$form.trigger(evt);
return false;
}
return true;
}
function addAnimation(animation) {
if (typeof(animation.selector) == 'string' && typeof(animation.name) == 'string') {
animations.push(animation);
$(animation.selector).tap(liveTap);
touchSelectors.push(animation.selector);
}
}
function updateOrientation() {
orientation = window.innerWidth < window.innerHeight ? 'profile' : 'landscape';
$body.removeClass('profile landscape').addClass(orientation).trigger('turn', {orientation: orientation});
// scrollTo(0, 0);
}
function handleTouch(e) {
var $el = $(e.target);
// Only handle touchSelectors
if (!$(e.target).is(touchSelectors.join(', ')))
{
var $link = $(e.target).closest('a');
if ($link.length){
$el = $link;
} else {
return;
}
}
if (event)
{
var hoverTimeout = null,
startX = event.changedTouches[0].clientX,
startY = event.changedTouches[0].clientY,
startTime = (new Date).getTime(),
deltaX = 0,
deltaY = 0,
deltaT = 0;
// Let's bind these after the fact, so we can keep some internal values
$el.bind('touchmove', touchmove).bind('touchend', touchend);
hoverTimeout = setTimeout(function(){
$el.makeActive();
}, 100);
}
// Private touch functions (TODO: insert dirty joke)
function touchmove(e) {
updateChanges();
var absX = Math.abs(deltaX);
var absY = Math.abs(deltaY);
// Check for swipe
if (absX > absY && (absX > 35) && deltaT < 1000) {
$el.trigger('swipe', {direction: (deltaX < 0) ? 'left' : 'right'}).unbind('touchmove touchend');
} else if (absY > 1) {
$el.removeClass('active');
}
clearTimeout(hoverTimeout);
}
function touchend(){
updateChanges();
if (deltaY === 0 && deltaX === 0) {
$el.makeActive();
// New approach:
// Fake the double click?
// TODO: Try with all click events (no tap)
// if (deltaT < 40)
// {
// setTimeout(function(){
// $el.trigger('touchstart')
// .trigger('touchend');
// }, 0);
// }
$el.trigger('tap');
} else {
$el.removeClass('active');
}
$el.unbind('touchmove touchend');
clearTimeout(hoverTimeout);
}
function updateChanges(){
var first = event.changedTouches[0] || null;
deltaX = first.pageX - startX;
deltaY = first.pageY - startY;
deltaT = (new Date).getTime() - startTime;
}
} // End touch handler
// Public jQuery Fns
$.fn.unselect = function(obj) {
if (obj) {
obj.removeClass('active');
} else {
$('.active').removeClass('active');
}
}
$.fn.makeActive = function(){
return $(this).addClass('active');
}
$.fn.swipe = function(fn) {
if ($.isFunction(fn))
{
return this.each(function(i, el){
$(el).bind('swipe', fn);
});
}
}
$.fn.tap = function(fn){
if ($.isFunction(fn))
{
var tapEvent = (jQTSettings.useFastTouch && $.support.touch) ? 'tap' : 'click';
return $(this).live(tapEvent, fn);
} else {
$(this).trigger('tap');
}
}
publicObj = {
getOrientation: getOrientation,
goBack: goBack,
goTo: goTo,
addAnimation: addAnimation,
submitForm: submitForm
}
return publicObj;
}
// Extensions directly manipulate the jQTouch object, before it's initialized.
$.jQTouch.prototype.extensions = [];
$.jQTouch.addExtension = function(extension){
$.jQTouch.prototype.extensions.push(extension);
}
})(jQuery);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,60 +0,0 @@
/*
_/ _/_/ _/_/_/_/_/ _/
_/ _/ _/ _/_/ _/ _/ _/_/_/ _/_/_/
_/ _/ _/_/ _/ _/ _/ _/ _/ _/ _/ _/
_/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/
_/ _/_/ _/ _/ _/_/ _/_/_/ _/_/_/ _/ _/
_/
_/
Created by David Kaneda <http://www.davidkaneda.com>
Documentation and issue tracking on Google Code <http://code.google.com/p/jqtouch/>
Special thanks to Jonathan Stark <http://jonathanstark.com/>
and pinch/zoom <http://www.pinchzoom.com/>
(c) 2009 by jQTouch project members.
See LICENSE.txt for license.
*/
(function($) {
$.fn.transition = function(css, options) {
return this.each(function(){
var $el = $(this);
var defaults = {
speed : '300ms',
callback: null,
ease: 'ease-in-out'
};
var settings = $.extend({}, defaults, options);
if(settings.speed === 0) {
$el.css(css);
window.setTimeout(settings.callback, 0);
} else {
if ($.browser.safari)
{
var s = [];
for(var i in css) {
s.push(i);
}
$el.css({
webkitTransitionProperty: s.join(", "),
webkitTransitionDuration: settings.speed,
webkitTransitionTimingFunction: settings.ease
});
if (settings.callback) {
$el.one('webkitTransitionEnd', settings.callback);
}
setTimeout(function(el){ el.css(css) }, 0, $el);
}
else
{
$el.animate(css, settings.speed, settings.callback);
}
}
});
}
})(jQuery);

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 783 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 517 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 362 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 259 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 943 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 308 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 117 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 159 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 163 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 521 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 168 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 978 B

View File

@@ -1,677 +0,0 @@
body {
background: rgb(0,0,0);
}
body > * {
background: rgb(197,204,211) url(img/pinstripes.png);
}
h1, h2 {
font: bold 18px Helvetica;
text-shadow: rgba(255,255,255,.2) 0 1px 1px;
color: rgb(76, 86, 108);
margin: 10px 20px 6px;
}
/* @group Toolbar */
.toolbar {
-webkit-box-sizing: border-box;
border-bottom: 1px solid #2d3642;
padding: 10px;
height: 45px;
background: url(img/toolbar.png) #6d84a2 repeat-x;
position: relative;
}
.black-translucent .toolbar {
margin-top: 20px;
}
.toolbar > h1 {
position: absolute;
overflow: hidden;
left: 50%;
top: 10px;
line-height: 1em;
margin: 1px 0 0 -75px;
height: 40px;
font-size: 20px;
width: 150px;
font-weight: bold;
text-shadow: rgba(0, 0, 0, 0.4) 0px -1px 0;
text-align: center;
text-overflow: ellipsis;
white-space: nowrap;
color: #fff;
}
body.landscape .toolbar > h1 {
margin-left: -125px;
width: 250px;
}
.button, .back, .cancel, .add {
position: absolute;
overflow: hidden;
top: 8px;
right: 6px;
margin: 0;
border-width: 0 5px;
padding: 0 3px;
width: auto;
height: 30px;
line-height: 30px;
font-family: inherit;
font-size: 12px;
font-weight: bold;
color: #fff;
text-shadow: rgba(0, 0, 0, 0.5) 0px -1px 0;
text-overflow: ellipsis;
text-decoration: none;
white-space: nowrap;
background: none;
-webkit-border-image: url(img/toolButton.png) 0 5 0 5;
}
.button.active, .back.active, .cancel.active, .add.active {
-webkit-border-image: url(img/toolButton.png) 0 5 0 5;
}
.blueButton {
-webkit-border-image: url(img/blueButton.png) 0 5 0 5;
border-width: 0 5px;
}
.back {
left: 6px;
right: auto;
padding: 0;
max-width: 55px;
border-width: 0 8px 0 14px;
-webkit-border-image: url(img/backButton.png) 0 8 0 14;
}
.leftButton, .cancel {
left: 6px;
right: auto;
}
.add {
font-size: 24px;
line-height: 24px;
font-weight: bold;
}
.whiteButton,
.grayButton {
display: block;
border-width: 0 12px;
padding: 10px;
text-align: center;
font-size: 20px;
font-weight: bold;
text-decoration: inherit;
color: inherit;
}
.whiteButton {
-webkit-border-image: url(img/whiteButton.png) 0 12 0 12;
text-shadow: rgba(255, 255, 255, 0.7) 0 1px 0;
}
.grayButton {
-webkit-border-image: url(img/grayButton.png) 0 12 0 12;
color: #FFFFFF;
}
/* @end */
/* @group Lists */
h1 + ul, h2 + ul, h3 + ul, h4 + ul, h5 + ul, h6 + ul {
margin-top: 0;
}
ul {
color: black;
background: #fff;
border: 1px solid #B4B4B4;
font: bold 17px Helvetica;
padding: 0;
margin: 15px 10px 17px 10px;
-webkit-border-radius: 8px;
}
ul li {
color: #666;
border-top: 1px solid #B4B4B4;
list-style-type: none;
padding: 10px 10px 10px 10px;
}
/* when you have a first LI item on any list */
li:first-child, li:first-child a {
border-top: 0;
-webkit-border-top-left-radius: 8px;
-webkit-border-top-right-radius: 8px;
}
li:last-child, li:last-child a {
-webkit-border-bottom-left-radius: 8px;
-webkit-border-bottom-right-radius: 8px;
}
/* universal arrows */
ul li.arrow {
background-image: url(img/chevron.png);
background-position: right center;
background-repeat: no-repeat;
}
#plastic ul li.arrow, #metal ul li.arrow {
background-image: url(../images/chevron_dg.png);
background-position: right center;
background-repeat: no-repeat;
}
/* universal links on list */
ul li a, li.img a + a {
color: #000;
text-decoration: none;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
display: block;
padding: 12px 10px 12px 10px;
margin: -10px;
-webkit-tap-highlight-color: rgba(0,0,0,0);
}
ul li a.active {
background: #194fdb url(img/selection.png) 0 0 repeat-x;
color: #fff;
}
ul li a.button {
background-color: #194fdb;
color: #fff;
}
ul li.img a + a {
margin: -10px 10px -20px -5px;
font-size: 17px;
font-weight: bold;
}
ul li.img a + a + a {
font-size: 14px;
font-weight: normal;
margin-left: -10px;
margin-bottom: -10px;
margin-top: 0;
}
ul li.img a + small + a {
margin-left: -5px;
}
ul li.img a + small + a + a {
margin-left: -10px;
margin-top: -20px;
margin-bottom: -10px;
font-size: 14px;
font-weight: normal;
}
ul li.img a + small + a + a + a {
margin-left: 0px !important;
margin-bottom: 0;
}
ul li a + a {
color: #000;
font: 14px Helvetica;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
display: block;
margin: 0;
padding: 0;
}
ul li a + a + a, ul li.img a + a + a + a, ul li.img a + small + a + a + a {
color: #666;
font: 13px Helvetica;
margin: 0;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
display: block;
padding: 0;
}
/*
@end */
/* @group Forms */
ul.form li {
padding: 7px 10px;
}
ul.form li.error {
border: 2px solid red;
}
ul.form li.error + li.error {
border-top: 0;
}
ul.form li:hover {
background: #fff;
}
ul li input[type="text"], ul li input[type="password"], ul li textarea, ul li select {
color: #777;
background: #fff url(../.png);
border: 0;
font: normal 17px Helvetica;
padding: 0;
display: inline-block;
margin-left: 0px;
width: 100%;
-webkit-appearance: textarea;
}
ul li textarea {
height: 120px;
padding: 0;
text-indent: -2px;
}
ul li select {
text-indent: 0px;
background: transparent url(../images/chevron.png) no-repeat 103% 3px;
-webkit-appearance: textfield;
margin-left: -6px;
width: 104%;
}
ul li input[type="checkbox"], ul li input[type="radio"] {
margin: 0;
color: rgb(50,79,133);
padding: 10px 10px;
}
ul li input[type="checkbox"]:after, ul li input[type="radio"]:after {
content: attr(title);
font: 17px Helvetica;
display: block;
width: 246px;
margin: -12px 0 0 17px;
}
/* @end */
/* @group Edge to edge */
.edgetoedge h4 {
color: #fff;
background: rgb(154,159,170) url(img/listGroup.png) top left repeat-x;
border-top: 1px solid rgb(165,177,186);
text-shadow: #666 0 1px 0;
margin: 0;
padding: 2px 10px;
}
.edgetoedge, .metal {
margin: 0;
padding: 0;
background-color: rgb(255,255,255);
}
.edgetoedge ul, .metal ul, .plastic ul {
-webkit-border-radius: 0;
margin: 0;
border-left: 0;
border-right: 0;
border-top: 0;
}
.metal ul {
border-top: 0;
border-bottom: 0;
background: rgb(180,180,180);
}
.edgetoedge ul li:first-child, .edgetoedge ul li:first-child a, .edgetoedge ul li:last-child, .edgetoedge ul li:last-child a, .metal ul li:first-child a, .metal ul li:last-child a {
-webkit-border-radius: 0;
}
.edgetoedge ul li small {
font-size: 16px;
line-height: 28px;
}
.edgetoedge li, .metal li {
-webkit-border-radius: 0;
}
.edgetoedge li em {
font-weight: normal;
font-style: normal;
}
.edgetoedge h4 + ul {
border-top: 1px solid rgb(152,158,164);
border-bottom: 1px solid rgb(113,125,133);
}
/* @end */
/* @group Mini Label */
ul li small {
color: #369;
font: 17px Helvetica;
text-align: right;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
display: block;
width: 23%;
float: right;
padding: 3px 0px;
}
ul li.arrow small {
padding: 0 15px;
}
ul li small.counter {
font-size: 17px !important;
line-height: 13px !important;
font-weight: bold;
background: rgb(154,159,170);
color: #fff;
-webkit-border-radius: 11px;
padding: 4px 10px 5px 10px;
display: inline !important;
width: auto;
margin-top: -22px;
}
ul li.arrow small.counter {
margin-right: 15px;
}
/* @end */
/* @group Plastic */
#plastic ul li.arrow, #metal ul li.arrow {
background-image: url(img/listArrow.png);
background-position: right center;
background-repeat: no-repeat;
}
.edgetoedge ul, .metal ul, .plastic ul {
-webkit-border-radius: 0;
margin: 0;
border-left: 0;
border-right: 0;
border-top: 0;
}
.metal ul li {
border-top: 1px solid rgb(238,238,238);
border-bottom: 1px solid rgb(156,158,165);
background: url(../images/bgMetal.png) top left repeat-x;
font-size: 26px;
text-shadow: #fff 0 1px 0;
}
.metal ul li a {
line-height: 26px;
margin: 0;
padding: 13px 0;
}
.metal ul li a:hover {
color: rgb(0,0,0);
}
.metal ul li:hover small {
color: inherit;
}
.metal ul li a em {
display: block;
font-size: 14px;
font-style: normal;
color: #444;
width: 50%;
line-height: 14px;
}
.metal ul li small {
float: right;
position: relative;
margin-top: 10px;
font-weight: bold;
}
.metal ul li.arrow a small {
padding-right: 0;
line-height: 17px;
}
.metal ul li.arrow {
background: url(../images/bgMetal.png) top left repeat-x,
url(../images/chevron_dg.png) right center no-repeat;
}
.plastic {
margin: 0;
padding: 0;
background: rgb(173,173,173);
}
.plastic ul {
-webkit-border-radius: 0;
margin: 0;
border-left: 0;
border-right: 0;
border-top: 0;
background-color: rgb(173,173,173);
}
.plastic ul li {
-webkit-border-radius: 0;
border-top: 1px solid rgb(191,191,191);
border-bottom: 1px solid rgb(157,157,157);
}
.plastic ul li:nth-child(odd) {
background-color: rgb(152,152,152);
border-top: 1px solid rgb(181,181,181);
border-bottom: 1px solid rgb(138,138,138);
}
.plastic ul + p {
font-size: 11px;
color: #2f3237;
text-shadow: none;
padding: 10px 10px;
}
.plastic ul + p strong {
font-size: 14px;
line-height: 18px;
text-shadow: #fff 0 1px 0;
}
.plastic ul li a {
text-shadow: rgb(211,211,211) 0 1px 0;
}
.plastic ul li:nth-child(odd) a {
text-shadow: rgb(191,191,191) 0 1px 0;
}
.plastic ul li small {
color: #3C3C3C;
text-shadow: rgb(211,211,211) 0 1px 0;
font-size: 13px;
font-weight: bold;
text-transform: uppercase;
line-height: 24px;
}
#plastic ul.minibanner, #plastic ul.bigbanner {
margin: 10px;
border: 0;
height: 81px;
clear: both;
}
#plastic ul.bigbanner {
height: 140px !important;
}
#plastic ul.minibanner li {
border: 1px solid rgb(138,138,138);
background-color: rgb(152,152,152);
width: 145px;
height: 81px;
float: left;
-webkit-border-radius: 5px;
padding: 0;
}
#plastic ul.bigbanner li {
border: 1px solid rgb(138,138,138);
background-color: rgb(152,152,152);
width: 296px;
height: 140px;
float: left;
-webkit-border-radius: 5px;
padding: 0;
margin-bottom: 4px;
}
#plastic ul.minibanner li:first-child {
margin-right: 6px;
}
#plastic ul.minibanner li a {
color: transparent;
text-shadow: none;
display: block;
width: 145px;
height: 81px;
}
#plastic ul.bigbanner li a {
color: transparent;
text-shadow: none;
display: block;
width: 296px;
height: 145px;
}
/* @end */
/* @group Individual */
ul.individual {
border: 0;
background: none;
clear: both;
overflow: hidden;
}
ul.individual li {
color: rgb(183,190,205);
background: white;
border: 1px solid rgb(180,180,180);
font-size: 14px;
text-align: center;
-webkit-border-radius: 8px;
-webkit-box-sizing: border-box;
width: 48%;
float: left;
display: block;
padding: 11px 10px 14px 10px;
}
ul.individual li + li {
float: right;
}
ul.individual li a {
color: rgb(50,79,133);
line-height: 16px;
margin: -11px -10px -14px -10px;
padding: 11px 10px 14px 10px;
-webkit-border-radius: 8px;
}
ul.individual li a:hover {
color: #fff;
background: #36c;
}
/* @end */
/* @group Toggle */
.toggle {
width: 94px;
position: relative;
height: 27px;
display: block;
overflow: hidden;
float: right;
}
.toggle input[type="checkbox"]:checked {
left: 0px;
}
.toggle input[type="checkbox"] {
-webkit-tap-highlight-color: rgba(0,0,0,0);
margin: 0;
-webkit-border-radius: 5px;
background: #fff url(img/on_off.png) 0 0 no-repeat;
height: 27px;
overflow: hidden;
width: 149px;
border: 0;
-webkit-appearance: textarea;
background-color: transparent;
-webkit-transition: left .15s;
position: absolute;
top: 0;
left: -55px;
}
/* @end */
.info {
background: #dce1eb;
font-size: 12px;
line-height: 16px;
text-align: center;
text-shadow: rgba(255,255,255,.8) 0 1px 0;
color: rgb(76, 86, 108);
padding: 15px;
border-top: 1px solid rgba(76, 86, 108, .3);
font-weight: bold;
}

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 943 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 171 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 163 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 805 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 978 B

View File

@@ -1,530 +0,0 @@
body {
background: #000;
color: #ddd;
}
body > * {
background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#333), to(#5e5e65));
}
h1, h2 {
font: bold 18px Helvetica;
text-shadow: rgba(255,255,255,.2) 0 1px 1px;
color: #000;
margin: 10px 20px 5px;
}
/* @group Toolbar */
.toolbar {
-webkit-box-sizing: border-box;
border-bottom: 1px solid #000;
padding: 10px;
height: 45px;
background: url(img/toolbar.png) #000000 repeat-x;
position: relative;
}
.black-translucent .toolbar {
margin-top: 20px;
}
.toolbar > h1 {
position: absolute;
overflow: hidden;
left: 50%;
top: 10px;
line-height: 1em;
margin: 1px 0 0 -75px;
height: 40px;
font-size: 20px;
width: 150px;
font-weight: bold;
text-shadow: rgba(0,0,0,1) 0 -1px 1px;
text-align: center;
text-overflow: ellipsis;
white-space: nowrap;
color: #fff;
}
body.landscape .toolbar > h1 {
margin-left: -125px;
width: 250px;
}
.button, .back, .cancel, .add {
position: absolute;
overflow: hidden;
top: 8px;
right: 10px;
margin: 0;
border-width: 0 5px;
padding: 0 3px;
width: auto;
height: 30px;
line-height: 30px;
font-family: inherit;
font-size: 12px;
font-weight: bold;
color: #fff;
text-shadow: rgba(0, 0, 0, 0.5) 0px -1px 0;
text-overflow: ellipsis;
text-decoration: none;
white-space: nowrap;
background: none;
-webkit-border-image: url(img/button.png) 0 5 0 5;
}
.blueButton {
-webkit-border-image: url(img/blueButton.png) 0 5 0 5;
border-width: 0 5px;
}
.back {
left: 6px;
right: auto;
padding: 0;
max-width: 55px;
border-width: 0 8px 0 14px;
-webkit-border-image: url(img/back_button.png) 0 8 0 14;
}
.back.active {
-webkit-border-image: url(img/back_button_clicked.png) 0 8 0 14;
color: #aaa;
}
.leftButton, .cancel {
left: 6px;
right: auto;
}
.add {
font-size: 24px;
line-height: 24px;
font-weight: bold;
}
.whiteButton,
.grayButton {
display: block;
border-width: 0 12px;
padding: 10px;
text-align: center;
font-size: 20px;
font-weight: bold;
text-decoration: inherit;
color: inherit;
}
.whiteButton {
-webkit-border-image: url(img/whiteButton.png) 0 12 0 12;
text-shadow: rgba(255, 255, 255, 0.7) 0 1px 0;
}
.grayButton {
-webkit-border-image: url(img/grayButton.png) 0 12 0 12;
color: #FFFFFF;
}
/* @end */
/* @group Lists */
h1 + ul, h2 + ul, h3 + ul, h4 + ul, h5 + ul, h6 + ul {
margin-top: 0;
}
ul {
color: #aaa;
border: 1px solid #333333;
font: bold 18px Helvetica;
padding: 0;
margin: 15px 10px 17px 10px;
}
ul.rounded {
-webkit-border-radius: 8px;
-webkit-box-shadow: rgba(0,0,0,.3) 1px 1px 3px;
}
ul.rounded li:first-child, ul.rounded li:first-child a {
border-top: 0;
-webkit-border-top-left-radius: 8px;
-webkit-border-top-right-radius: 8px;
}
ul.rounded li:last-child, ul.rounded li:last-child a {
-webkit-border-bottom-left-radius: 8px;
-webkit-border-bottom-right-radius: 8px;
}
ul li {
color: #666;
border-top: 1px solid #333;
border-bottom: #555858;
list-style-type: none;
padding: 10px 10px 10px 10px;
background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#4c4d4e), to(#404142));
overflow: hidden;
}
ul li.arrow {
background-image: url(img/chevron.png), -webkit-gradient(linear, 0% 0%, 0% 100%, from(#4c4d4e), to(#404142));
background-position: right center;
background-repeat: no-repeat;
}
ul li.forward {
background-image: url(img/chevron_circle.png), -webkit-gradient(linear, 0% 0%, 0% 100%, from(#4c4d4e), to(#404142));
background-position: right center;
background-repeat: no-repeat;
}
/* universal links on list */
ul li a, li.img a + a {
color: #fff;
text-decoration: none;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
display: block;
padding: 12px 10px 12px 10px;
margin: -10px;
-webkit-tap-highlight-color: rgba(0,0,0,0);
text-shadow: rgba(0,0,0,.2) 0 1px 1px;
}
ul li a.active, ul li a.button {
background-color: #53b401;
color: #fff;
}
ul li a.active.loading {
background-image: url(img/loading.gif);
background-position: 95% center;
background-repeat: no-repeat;
}
ul li a.active.no.loading {
background-image: url(img/loadingred.gif);
}
ul li.arrow a.active {
background-image: url(img/chevron.png);
background-position: right center;
background-repeat: no-repeat;
}
ul li.forward a.active {
background-image: url(img/chevron_circle.png);
background-position: right center;
background-repeat: no-repeat;
}
ul li.img a + a {
margin: -10px 10px -20px -5px;
font-size: 17px;
font-weight: bold;
}
ul li.img a + a + a {
font-size: 14px;
font-weight: normal;
margin-left: -10px;
margin-bottom: -10px;
margin-top: 0;
}
ul li.img a + small + a {
margin-left: -5px;
}
ul li.img a + small + a + a {
margin-left: -10px;
margin-top: -20px;
margin-bottom: -10px;
font-size: 14px;
font-weight: normal;
}
ul li.img a + small + a + a + a {
margin-left: 0px !important;
margin-bottom: 0;
}
ul li a + a {
color: #000;
font: 14px Helvetica;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
display: block;
margin: 0;
padding: 0;
}
ul li a + a + a, ul li.img a + a + a + a, ul li.img a + small + a + a + a {
color: #666;
font: 13px Helvetica;
margin: 0;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
display: block;
padding: 0;
}
/*
@end */
/* @group Forms */
ul.form li {
padding: 7px 10px;
}
ul.form li.error {
border: 2px solid red;
}
ul.form li.error + li.error {
border-top: 0;
}
ul li input[type="text"], ul li input[type="password"], ul li textarea, ul li select {
color: #777;
background: transparent url(../.png);
border: 0;
font: normal 17px Helvetica;
padding: 0;
display: inline-block;
margin-left: 0px;
width: 100%;
-webkit-appearance: textarea;
}
ul li textarea {
height: 120px;
padding: 0;
text-indent: -2px;
}
ul li select {
text-indent: 0px;
background: transparent url(img/chevron.png) no-repeat right center;
-webkit-appearance: textfield;
margin-left: -6px;
width: 104%;
}
ul li input[type="checkbox"], ul li input[type="radio"] {
margin: 0;
padding: 10px 10px;
}
ul li input[type="checkbox"]:after, ul li input[type="radio"]:after {
content: attr(title);
font: 17px Helvetica;
display: block;
width: 246px;
color: #777;
margin: -12px 0 0 17px;
}
/* @end */
/* @group Mini Label */
ul li small {
color: #64c114;
font: 17px Helvetica;
text-align: right;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
display: block;
width: 23%;
float: right;
padding: 0;
}
ul li.arrow small {
padding: 0 15px;
}
ul li small.counter {
font-size: 17px;
line-height: 13px;
font-weight: bold;
background: rgba(0,0,0,.15);
color: #fff;
-webkit-border-radius: 11px;
padding: 4px 10px 5px 10px;
display: block;
width: auto;
margin-top: -22px;
-webkit-box-shadow: rgba(255,255,255,.1) 0 1px 0;
}
ul li.arrow small.counter {
margin-right: 15px;
}
/* @end */
/* @group Individual */
ul.individual {
border: 0;
background: none;
clear: both;
overflow: hidden;
padding-bottom: 3px;
-webkit-box-shadow: none;
}
ul.individual li {
background: #4c4d4e;
border: 1px solid #333;
font-size: 14px;
text-align: center;
-webkit-border-radius: 8px;
-webkit-box-sizing: border-box;
width: 48%;
float: left;
display: block;
padding: 11px 10px 14px 10px;
-webkit-box-shadow: rgba(0,0,0,.2) 1px 1px 3px;
background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#4c4d4e), to(#404142));
}
ul.individual li + li {
float: right;
}
ul.individual li a {
color: #fff;
line-height: 16px;
margin: -11px -10px -14px -10px;
padding: 11px 10px 14px 10px;
-webkit-border-radius: 8px;
}
/* @end */
/* @group Toggle */
.toggle {
width: 94px;
position: relative;
height: 27px;
display: block;
overflow: hidden;
float: right;
}
.toggle input[type="checkbox"]:checked {
left: 0px;
}
.toggle input[type="checkbox"] {
-webkit-appearance: textarea;
-webkit-border-radius: 5px;
-webkit-tap-highlight-color: rgba(0,0,0,0);
-webkit-transition: left .15s;
background-color: transparent;
background: #fff url(img/on_off.png) 0 0 no-repeat;
border: 0;
height: 27px;
left: -55px;
margin: 0;
overflow: hidden;
position: absolute;
top: 0;
width: 149px;
}
/* @end */
/* @group Info */
.info {
background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#ccc), to(#aaa), color-stop(.6,#CCCCCC));
font-size: 12px;
line-height: 16px;
text-align: center;
text-shadow: rgba(255,255,255,.8) 0 1px 0;
color: #444;
padding: 15px;
border-top: 1px solid rgba(255,255,255,.2);
font-weight: bold;
}
/* @end */
/* @group Edge to edge */
ul.edgetoedge {
border-width: 1px 0;
margin: 0;
padding: 0;
}
ul.edgetoedge li {
background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#1e1f21), to(#272729));
border-bottom: 2px solid #000;
border-top: 1px solid #4a4b4d;
font-size: 20px;
margin-bottom: -1px;
}
ul.edgetoedge li.sep {
background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(0,0,0,0)), to(rgba(0,0,0,.5)));
border-bottom: 1px solid #111113;
border-top: 1px solid #666;
color: #3e9ac3;
font-size: 16px;
margin: 1px 0 0 0;
padding: 2px 10px;
text-shadow: #000 0 1px 0;
}
ul.edgetoedge li em {
font-weight: normal;
font-style: normal;
}
/* @end */
/* @group Plastic */
#plastic {
background: #17181a;
}
ul.plastic {
background: #17181a;
color: #aaa;
font: bold 18px Helvetica;
margin: 0;
padding: 0;
border-width: 0 0 1px 0;
}
ul.plastic li {
border-width: 1px 0;
border-style: solid;
border-top-color: #222;
border-bottom-color: #000;
color: #666;
list-style-type: none;
overflow: hidden;
padding: 10px 10px 10px 10px;
}
ul.plastic li a.active.loading {
background-image: url(img/loading.gif);
background-position: 95% center;
background-repeat: no-repeat;
}
ul.plastic li small {
color: #888;
font-size: 13px;
font-weight: bold;
line-height: 24px;
text-transform: uppercase;
}
ul.plastic li:nth-child(odd) {
background-color: #1c1c1f;
}
ul.plastic li.arrow {
background-image: url(img/chevron.png);
background-position: right center;
background-repeat: no-repeat;
}
ul.plastic li.arrow a.active {
background-image: url(img/chevron.png);
background-position: right center;
background-repeat: no-repeat;
}
ul.plastic li.forward {
background-image: url(img/chevron_circle.png);
background-position: right center;
background-repeat: no-repeat;
}
ul.plastic li.forward a.active {
background-image: url(img/chevron_circle.png);
background-position: right center;
background-repeat: no-repeat;
}
/* @group Metal */
ul.metal {
border-bottom: 0;
border-left: 0;
border-right: 0;
border-top: 0;
margin: 0;
}
ul.metal li {
background-image: none;
border-top: 1px solid #fff;
border-bottom: 1px solid #666;
font-size: 26px;
background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(238,238,238,1)), to(rgba(156,158,160,1)));
}
ul.metal li a {
line-height: 26px;
margin: 0;
text-shadow: #fff 0 1px 0;
padding: 13px 0;
}
ul.metal li a em {
display: block;
font-size: 14px;
font-style: normal;
color: #444;
width: 50%;
line-height: 14px;
}
ul.metal li a.active {
color: rgb(0,0,0);
}
ul.metal li small {
float: right;
position: relative;
margin-top: 10px;
font-weight: bold;
}
ul.metal li.arrow {
background-image: url(img/chevron.png);
background-position: right center;
background-repeat: no-repeat;
background-image: url(img/chevron.png), -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(238,238,238,1)), to(rgba(156,158,160,1)));
background-repeat: no-repeat;
background-position: right center;
}
ul.metal li.arrow a small {
padding-right: 15px;
line-height: 17px;
}
/* @end */

File diff suppressed because one or more lines are too long