Fix: add iWebkit, best way to developp a smartphone interface

This commit is contained in:
Regis Houssin 2009-12-28 10:16:01 +00:00
parent d4e89552e3
commit 4bab3bb2db
139 changed files with 1995 additions and 1505 deletions

View File

@ -19,6 +19,7 @@ FPDF_TPL 1.1.2 Apache Software License 2.0 No GPL3 only PDF temp
FPDI 1.2.1 Apache Software License 2.0 No GPL3 only PDF templates management
FPDI_Protection 1.0.2 Apache Software License 2.0 No GPL3 only PDF encryption (8 files)
GeoIP x.x Yes GeoIP Maxmind conversion
iWebkit 4.6.2 LGPL 3.0 Yes Iphone templates framework
MagPieRss 0.72 GPL 2.0 Yes Load RSS
NuSoap 0.7.3 LGPL 2.1 Yes Interfaces with third tools
PHP_WriteExcel 0.3.0 LGPL 2.1 Yes Excel files generation

View File

@ -1,21 +0,0 @@
Copyright (c) 2007-2009, iUI Project Members
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
* Neither the name of the iUI Project nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

View File

@ -1,33 +0,0 @@
NOTICE.txt - iUI credits and copyright notices
iUI is Copyright (c) 2007-2009 by the iUI project members:
M. Sean Gilligan (msgilligan)
Past members:
Joe Hewitt (joehewitt)
Christopher Allen (ChristopherA)
CREDITS
schlueter - committed fixes for issues #9, #11, #63 -- added samples
??? - created iUI icon
kris.tate - named it "iUI", created Google Code project, initial checkin
others - let us know if we missed you
iUI users - thanks for your patience, feedback, and bug reports
THIRD PARTY COMPONENTS
* iUI includes software developed by the Mozilla Project
Copyright (c) 1997-2007, Netscape Communications Corporation and others.
All rights reserved.
http://www.mozilla.org/rhino/
* iUI includes software developed by the Dojo Foundation
http://dojotoolkit.org/docs/shrinksafe
* iUI includes software developed by LCA Soft Ltd.
http://www.lcasoft.com/compress-js.html
* iUI includes software developed by the ant-googlcode Project
http://code.google.com/p/ant-googlecode/

View File

@ -1,11 +0,0 @@
README.txt
iUI is a JavaScript and CSS package for developing native-looking WebApps for the iPhone.
To install and use iUI, follow the instructions on the iUI Project Wiki:
http://code.google.com/p/iui/wiki/Introduction
See also
NOTICE.txt - iUI credits and copyright notices
LICENSE.txt - iUI licensing terms

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

View File

@ -1,399 +0,0 @@
/*
Copyright (c) 2007-9, iUI Project Members
See LICENSE.txt for licensing terms
Version 0.40-dev2
*/
body {
margin: 0;
font-family: Helvetica;
background: #FFFFFF;
color: #000000;
overflow-x: hidden;
-webkit-user-select: none;
-webkit-text-size-adjust: none;
}
body > *:not(.toolbar) {
display: none;
position: absolute;
margin: 0;
padding: 0;
left: 0;
top: 45px;
width: 100%;
height: auto;
min-height: 415px;
-webkit-transition-duration: 300ms;
-webkit-transition-property: -webkit-transform;
-webkit-transform: translateX(0%);
}
body[orient="landscape"] > *:not(.toolbar) {
height: auto;
min-height: 268px;
}
body > *[selected="true"] {
display: block;
}
li > a[selected], li > a:active {
background-color: #194fdb !important;
background-repeat: no-repeat, repeat-x !important; /* TG: !important */
background-position: right center, left top !important; /* TG: !important */
color: #FFFFFF !important;
}
li > a[selected="progress"] {
}
/************************************************************************************************/
body > .toolbar {
box-sizing: border-box;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
border-bottom: 1px solid #2d3642;
border-top: 1px solid #6d84a2;
padding: 0 10px 10px 10px;
height: 45px;
}
.toolbar > h1 {
position: absolute;
overflow: hidden;
left: 50%;
margin: 1px 0 0 -75px;
padding-top: 10px;
height: 45px;
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: #FFFFFF;
}
body[orient="landscape"] > .toolbar > h1 {
margin-left: -125px;
width: 250px;
}
.button {
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: #FFFFFF;
text-shadow: rgba(0, 0, 0, 0.6) 0px -1px 0;
text-overflow: ellipsis;
text-decoration: none;
white-space: nowrap;
background: none;
}
.blueButton {
border-width: 0 5px;
}
.leftButton {
left: 6px;
right: auto;
}
#backButton {
display: none;
left: 6px;
right: auto;
padding: 0;
max-width: 55px;
border-width: 0 8px 0 14px;
}
.whiteButton,
.redButton,
.grayButton {
display: block;
border-width: 0 12px;
padding: 10px;
text-align: center;
font-size: 20px;
font-weight: bold;
text-decoration: inherit;
color: inherit;
}
/* TG */ .grayButton[selected], .grayButton:active,
.whiteButton {
text-shadow: rgba(255, 255, 255, 0.7) 0 1px 0;
/* TG */ background:transparent !important;
}
.redButton {
/* TG */ background:transparent !important;
color:#fff;
text-shadow: #7a0001 0 -1px 0;
}
/* TG */ .whiteButton[selected], .whiteButton:active,
.grayButton {
color: #FFFFFF;
/* TG */ background:transparent !important;
}
/************************************************************************************************/
body > ul > li {
position: relative;
margin: 0;
border-bottom: 1px solid #E0E0E0;
padding: 8px 0 8px 10px;
font-size: 20px;
font-weight: bold;
list-style: none;
}
body > ul > li.group {
position: relative;
top: -1px;
margin-bottom: -2px;
border-top: 1px solid #7d7d7d;
border-bottom: 1px solid #999999;
padding: 1px 10px;
font-size: 17px;
font-weight: bold;
text-shadow: rgba(0, 0, 0, 0.4) 0 1px 0;
color: #FFFFFF;
}
body > ul > li.group:first-child {
top: 0;
border-top: none;
}
body > ul > li > a {
display: block;
margin: -8px 0 -8px -10px;
padding: 8px 32px 8px 10px;
text-decoration: none;
color: inherit;
}
a[target="_replace"] {
box-sizing: border-box;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
padding-top: 25px;
padding-bottom: 25px;
font-size: 18px;
color: cornflowerblue;
background-color: #FFFFFF;
background-image: none;
}
/************************************************************************************************/
body > .dialog {
top: 0;
width: 100%;
min-height: 417px;
z-index: 2;
background: rgba(0, 0, 0, 0.8);
padding: 0;
text-align: right;
}
.dialog > fieldset {
box-sizing: border-box;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
width: 100%;
margin: 0;
border: none;
border-top: 1px solid #6d84a2;
padding: 10px 6px;
}
.dialog > fieldset > h1 {
margin: 0 10px 0 10px;
padding: 0;
font-size: 20px;
font-weight: bold;
color: #FFFFFF;
text-shadow: rgba(0, 0, 0, 0.4) 0px -1px 0;
text-align: center;
}
.dialog > fieldset > label {
position: absolute;
margin: 16px 0 0 6px;
font-size: 14px;
color: #999999;
}
input:not(input[type|=radio]):not(input[type|=checkbox]) {
box-sizing: border-box;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
width: 100%;
margin: 8px 0 0 0;
padding: 6px 6px 6px 44px;
font-size: 16px;
font-weight: normal;
}
/************************************************************************************************/
body > .panel {
box-sizing: border-box;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
padding: 10px;
}
.panel > ul,
.panel > fieldset {
position: relative;
margin: 0 0 20px 0;
padding: 0;
background: #FFFFFF;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
border: 1px solid #999999;
text-align: right;
font-size: 16px;
}
.panel > ul li,
.row {
position: relative;
min-height: 42px;
border-bottom: 1px solid #999999;
-webkit-border-radius: 0;
-moz-border-radius: 0;
text-align: right;
}
.panel > ul li:last-child,
fieldset > .row:last-child {
border-bottom: none !important;
}
.row > input:not(input[type|=radio]):not(input[type|=checkbox]) {
box-sizing: border-box;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
margin: 0;
border: none;
padding: 12px 10px 0 110px;
height: 42px;
background: none;
}
.row > input[type|=radio], .row > input[type|=checkbox] {
margin: 7px 7px 0 0;
height: 25px;
width: 25px;
}
.row > label {
position: absolute;
margin: 0 0 0 14px;
line-height: 42px;
font-weight: bold;
}
.row > span {
position: absolute;
padding: 12px 10px 0 110px;
margin: 0;
}
.row > .toggle {
position: absolute;
top: 6px;
right: 6px;
width: 100px;
height: 28px;
}
.toggle {
border: 1px solid #888888;
-webkit-border-radius: 6px;
-moz-border-radius: 6px;
font-size: 19px;
font-weight: bold;
line-height: 30px;
}
.toggle[toggled="true"] {
border: 1px solid #143fae;
}
.toggleOn {
display: none;
position: absolute;
width: 60px;
text-align: center;
left: 0;
top: 0;
color: #FFFFFF;
text-shadow: rgba(0, 0, 0, 0.4) 0px -1px 0;
}
.toggleOff {
position: absolute;
width: 60px;
text-align: center;
right: 0;
top: 0;
color: #666666;
}
.toggle[toggled="true"] > .toggleOn {
display: block;
}
.toggle[toggled="true"] > .toggleOff {
display: none;
}
.thumb {
position: absolute;
top: -1px;
left: -1px;
width: 40px;
height: 28px;
border: 1px solid #888888;
-webkit-border-radius: 6px;
-moz-border-radius: 6px;
}
.toggle[toggled="true"] > .thumb {
left: auto;
right: -1px;
}
.panel > h2 {
margin: 0 0 8px 14px;
font-size: inherit;
font-weight: bold;
color: #4d4d70;
text-shadow: rgba(255, 255, 255, 0.75) 2px 2px 0;
}
/************************************************************************************************/
#preloader {
display: none;
}

View File

@ -1,663 +0,0 @@
/*
Copyright (c) 2007-9, iUI Project Members
See LICENSE.txt for licensing terms
Version 0.40-dev2
*/
(function() {
var slideSpeed = 20;
var slideInterval = 0;
var currentPage = null;
var currentDialog = null;
var currentWidth = 0;
var currentHeight = 0;
var currentHash = location.hash;
var hashPrefix = "#_";
var pageHistory = [];
var newPageCount = 0;
var checkTimer;
var hasOrientationEvent = false;
var portraitVal = "portrait";
var landscapeVal = "landscape";
// *************************************************************************************************
window.iui =
{
animOn: true, // Slide animation with CSS transition is now enabled by default where supported
httpHeaders: {
"X-Requested-With" : "XMLHttpRequest"
},
showPage: function(page, backwards)
{
if (page)
{
// if (window.iui_ext) window.iui_ext.injectEventMethods(page); // TG
if (currentDialog)
{
currentDialog.removeAttribute("selected");
// EVENT blur->currentDialog
sendEvent("blur", currentDialog);
currentDialog = null;
}
if (hasClass(page, "dialog"))
{
// EVENT focus->page
sendEvent("focus", page);
showDialog(page);
}
else
{
sendEvent("load", page); // 127(stylesheet), 128(script), 129(onload)
// 130(onFocus), 133(loadActionButton)
var fromPage = currentPage;
// EVENT blur->currentPage
sendEvent("blur", currentPage);
currentPage = page;
// EVENT focus->currentPage
sendEvent("focus", page);
if (fromPage)
{
if (backwards) sendEvent("unload", fromPage);
setTimeout(slidePages, 0, fromPage, page, backwards);
}
else
{
updatePage(page, fromPage);
}
}
}
},
showPageById: function(pageId)
{
var page = $(pageId);
if (page)
{
var index = pageHistory.indexOf(pageId);
var backwards = index != -1;
if (backwards)
{
// we're going back, remove history from index on
// remember - pageId will be added again in updatePage
pageHistory.splice(index);
}
iui.showPage(page, backwards);
}
},
goBack: function()
{
pageHistory.pop(); // pop current page
var pageID = pageHistory.pop(); // pop/get parent
var page = $(pageID);
iui.showPage(page, true);
},
showPageByHref: function(href, args, method, replace, cb)
{
// I don't think we need onerror, because readstate will still go to 4 in that case
function spbhCB(xhr)
{
if (xhr.readyState == 4)
{
// Add 'if (xhr.responseText)' to make sure we have something???
var frag = document.createElement("div");
frag.innerHTML = xhr.responseText;
// EVENT beforeInsert->body
sendEvent("beforeinsert", document.body, {fragment:frag})
if (replace)
{
replaceElementWithFrag(replace, frag);
}
else
{
iui.insertPages(frag);
}
if (cb)
setTimeout(cb, 1000, true);
}
};
iui.ajax(href, args, method, spbhCB);
},
// Callback function gets a single argument, the XHR
ajax: function(url, args, method, cb)
{
var xhr = new XMLHttpRequest();
method = method ? method.toUpperCase() : "GET";
if (args && method == "GET")
{
url = url + "?" + iui.param(args);
}
xhr.open(method, url, true);
if (cb)
{
xhr.onreadystatechange = function() { cb(xhr); };
}
var data = null;
if (args && method != "GET")
{
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
data = iui.param(args);
}
for (var header in iui.httpHeaders)
{
xhr.setRequestHeader(header, iui.httpHeaders[header]);
}
xhr.send(data);
},
// Thanks, jQuery
// stripped-down, simplified, object-only version
param: function( o )
{
var s = [ ];
// Serialize the key/values
for ( var key in o )
s[ s.length ] = encodeURIComponent(key) + '=' + encodeURIComponent(o[key]);
// Return the resulting serialization
return s.join("&").replace(/%20/g, "+");
},
insertPages: function(frag)
{
var nodes = frag.childNodes;
var targetPage;
for (var i = 0; i < nodes.length; ++i)
{
var child = nodes[i];
if (child.nodeType == 1)
{
if (!child.id)
child.id = "__" + (++newPageCount) + "__";
var clone = $(child.id);
var docNode;
if (clone) {
clone.parentNode.replaceChild(child, clone);
docNode = $(child.id);
}
else
docNode = document.body.appendChild(child);
sendEvent("afterinsert", document.body, {insertedNode:docNode});
if (child.getAttribute("selected") == "true" || !targetPage)
targetPage = child;
--i;
}
}
if (targetPage)
iui.showPage(targetPage);
},
getSelectedPage: function()
{
for (var child = document.body.firstChild; child; child = child.nextSibling)
{
if (child.nodeType == 1 && child.getAttribute("selected") == "true")
return child;
}
},
isNativeUrl: function(href)
{
for(var i = 0; i < iui.nativeUrlPatterns.length; i++)
{
if(href.match(iui.nativeUrlPatterns[i])) return true;
}
return false;
},
nativeUrlPatterns: [
new RegExp("^http:\/\/maps.google.com\/maps\?"),
new RegExp("^mailto:"),
new RegExp("^tel:"),
new RegExp("^http:\/\/www.youtube.com\/watch\\?v="),
new RegExp("^http:\/\/www.youtube.com\/v\/"),
new RegExp("^javascript:"),
],
hasClass: function(self, name)
{
var re = new RegExp("(^|\\s)"+name+"($|\\s)");
return re.exec(self.getAttribute("class")) != null;
},
addClass: function(self, name)
{
if (!iui.hasClass(self,name)) self.className += " "+name;
},
removeClass: function(self, name)
{
if (iui.hasClass(self,name)) {
var reg = new RegExp('(\\s|^)'+name+'(\\s|$)');
self.className=self.className.replace(reg,' ');
}
}
};
// *************************************************************************************************
addEventListener("load", function(event)
{
var page = iui.getSelectedPage();
var locPage = getPageFromLoc();
if (page)
iui.showPage(page);
if (locPage && (locPage != page))
iui.showPage(locPage);
setTimeout(preloadImages, 0);
if (typeof window.onorientationchange == "object")
{
window.onorientationchange=orientChangeHandler;
hasOrientationEvent = true;
setTimeout(orientChangeHandler, 0);
}
setTimeout(checkOrientAndLocation, 0);
checkTimer = setInterval(checkOrientAndLocation, 300);
}, false);
addEventListener("unload", function(event)
{
return;
}, false);
addEventListener("click", function(event)
{
var link = findParent(event.target, "a");
if (link)
{
function unselect() { link.removeAttribute("selected"); }
if (link.href && link.hash && link.hash != "#" && !link.target)
{
link.setAttribute("selected", "true");
iui.showPage($(link.hash.substr(1)));
setTimeout(unselect, 500);
}
else if (link == $("backButton"))
{
iui.goBack();
}
else if (link.getAttribute("type") == "submit")
{
var form = findParent(link, "form");
if (form.target == "_self")
{
form.submit();
return; // allow default
}
submitForm(form);
}
else if (link.getAttribute("type") == "cancel")
{
cancelDialog(findParent(link, "form"));
}
else if (link.target == "_replace")
{
link.setAttribute("selected", "progress");
iui.showPageByHref(link.href, null, "GET", link, unselect);
}
else if (iui.isNativeUrl(link.href))
{
return;
}
else if (link.target == "_webapp")
{
location.href = link.href;
}
else if (!link.target)
{
link.setAttribute("selected", "progress");
iui.showPageByHref(link.href, null, "GET", null, unselect);
}
else
return;
event.preventDefault();
}
}, true);
addEventListener("click", function(event)
{
var div = findParent(event.target, "div");
if (div && hasClass(div, "toggle"))
{
div.setAttribute("toggled", div.getAttribute("toggled") != "true");
event.preventDefault();
}
}, true);
function sendEvent(type, node, props)
{
if (node)
{
var event = document.createEvent("UIEvent");
event.initEvent(type, false, false); // no bubble, no cancel
if (props)
{
for (i in props)
{
event[i] = props[i];
}
}
node.dispatchEvent(event);
}
}
function getPageFromLoc()
{
var page;
var result = location.hash.match(/#_([^\?_]+)/);
if (result)
page = result[1];
if (page)
page = $(page);
return page;
}
function orientChangeHandler()
{
var orientation=window.orientation;
switch(orientation)
{
case 0:
setOrientation(portraitVal);
break;
case 90:
case -90:
setOrientation(landscapeVal);
break;
}
}
function checkOrientAndLocation()
{
if (!hasOrientationEvent)
{
if ((window.innerWidth != currentWidth) || (window.innerHeight != currentHeight))
{
currentWidth = window.innerWidth;
currentHeight = window.innerHeight;
var orient = (currentWidth < currentHeight) ? portraitVal : landscapeVal;
setOrientation(orient);
}
}
if (location.hash != currentHash)
{
var pageId = location.hash.substr(hashPrefix.length);
iui.showPageById(pageId);
}
}
function setOrientation(orient)
{
document.body.setAttribute("orient", orient);
// Set class in addition to orient attribute:
if (orient == portraitVal)
{
iui.removeClass(document.body, landscapeVal);
iui.addClass(document.body, portraitVal);
}
else if (orient == landscapeVal)
{
iui.removeClass(document.body, portraitVal);
iui.addClass(document.body, landscapeVal);
}
else
{
iui.removeClass(document.body, portraitVal);
iui.removeClass(document.body, landscapeVal);
}
setTimeout(scrollTo, 100, 0, 1);
}
function showDialog(page)
{
currentDialog = page;
page.setAttribute("selected", "true");
if (hasClass(page, "dialog"))
showForm(page);
}
function showForm(form)
{
form.onsubmit = function(event)
{
// submitForm and preventDefault are called in the click handler
// when the user clicks the submit a.button
//
event.preventDefault();
submitForm(form);
};
form.onclick = function(event)
{
// Why is this code needed? cancelDialog is called from
// the click hander. When will this be called?
if (event.target == form && hasClass(form, "dialog"))
cancelDialog(form);
};
}
function cancelDialog(form)
{
form.removeAttribute("selected");
}
function updatePage(page, fromPage)
{
if (!page.id)
page.id = "__" + (++newPageCount) + "__";
location.hash = currentHash = hashPrefix + page.id;
pageHistory.push(page.id);
var pageTitle = $("pageTitle");
if (page.title)
pageTitle.innerHTML = page.title;
var ttlClass = page.getAttribute("ttlclass");
pageTitle.className = ttlClass ? ttlClass : "";
if (page.localName.toLowerCase() == "form" && !page.target)
showForm(page);
var backButton = $("backButton");
if (backButton)
{
var prevPage = $(pageHistory[pageHistory.length-2]);
if (prevPage && !page.getAttribute("hideBackButton"))
{
backButton.style.display = "inline";
backButton.innerHTML = prevPage.title ? prevPage.title : "Back";
var bbClass = prevPage.getAttribute("bbclass");
backButton.className = (bbClass) ? 'button ' + bbClass : 'button';
}
else
backButton.style.display = "none";
}
}
function slidePages(fromPage, toPage, backwards)
{
var axis = (backwards ? fromPage : toPage).getAttribute("axis");
clearInterval(checkTimer);
sendEvent("beforetransition", fromPage, {out:true});
sendEvent("beforetransition", toPage, {out:false});
if (canDoSlideAnim() && axis != 'y')
{
slide2(fromPage, toPage, backwards, slideDone);
}
else
{
slide1(fromPage, toPage, backwards, axis, slideDone);
}
function slideDone()
{
if (!hasClass(toPage, "dialog"))
fromPage.removeAttribute("selected");
checkTimer = setInterval(checkOrientAndLocation, 300);
setTimeout(updatePage, 0, toPage, fromPage);
fromPage.removeEventListener('webkitTransitionEnd', slideDone, false);
sendEvent("aftertransition", fromPage, {out:true});
sendEvent("aftertransition", toPage, {out:false});
}
}
function canDoSlideAnim()
{
return (iui.animOn) && (typeof WebKitCSSMatrix == "object");
}
function slide1(fromPage, toPage, backwards, axis, cb)
{
if (axis == "y")
(backwards ? fromPage : toPage).style.top = "100%";
else
toPage.style.left = "100%";
scrollTo(0, 1);
toPage.setAttribute("selected", "true");
var percent = 100;
slide();
var timer = setInterval(slide, slideInterval);
function slide()
{
percent -= slideSpeed;
if (percent <= 0)
{
percent = 0;
clearInterval(timer);
cb();
}
if (axis == "y")
{
backwards
? fromPage.style.top = (100-percent) + "%"
: toPage.style.top = percent + "%";
}
else
{
fromPage.style.left = (backwards ? (100-percent) : (percent-100)) + "%";
toPage.style.left = (backwards ? -percent : percent) + "%";
}
}
}
function slide2(fromPage, toPage, backwards, cb)
{
toPage.style.webkitTransitionDuration = '0ms'; // Turn off transitions to set toPage start offset
// fromStart is always 0% and toEnd is always 0%
// iPhone won't take % width on toPage
var toStart = 'translateX(' + (backwards ? '-' : '') + window.innerWidth + 'px)';
var fromEnd = 'translateX(' + (backwards ? '100%' : '-100%') + ')';
toPage.style.webkitTransform = toStart;
toPage.setAttribute("selected", "true");
toPage.style.webkitTransitionDuration = ''; // Turn transitions back on
function startTrans()
{
fromPage.style.webkitTransform = fromEnd;
toPage.style.webkitTransform = 'translateX(0%)'; //toEnd
}
fromPage.addEventListener('webkitTransitionEnd', cb, false);
setTimeout(startTrans, 0);
}
function preloadImages()
{
var preloader = document.createElement("div");
preloader.id = "preloader";
document.body.appendChild(preloader);
}
function submitForm(form)
{
iui.addClass(form, "progress");
iui.showPageByHref(form.action, encodeForm(form), form.method || "GET", null, clear);
function clear() { iui.removeClass(form, "progress"); }
}
function encodeForm(form)
{
function encode(inputs)
{
for (var i = 0; i < inputs.length; ++i)
{
if (inputs[i].name)
args[inputs[i].name] = inputs[i].value;
}
}
var args = {};
encode(form.getElementsByTagName("input"));
encode(form.getElementsByTagName("textarea"));
encode(form.getElementsByTagName("select"));
encode(form.getElementsByTagName("button"));
return args;
}
function findParent(node, localName)
{
while (node && (node.nodeType != 1 || node.localName.toLowerCase() != localName))
node = node.parentNode;
return node;
}
function hasClass(self, name)
{
return iui.hasClass(self,name);
}
function replaceElementWithFrag(replace, frag)
{
var page = replace.parentNode;
var parent = replace;
while (page.parentNode != document.body)
{
page = page.parentNode;
parent = parent.parentNode;
}
page.removeChild(parent);
var docNode;
while (frag.firstChild) {
docNode = page.appendChild(frag.firstChild);
sendEvent("afterinsert", document.body, {insertedNode:docNode});
}
}
function $(id) { return document.getElementById(id); }
function ddd() { console.log.apply(console, arguments); }
})();

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,62 +0,0 @@
/*
Copyright (c) 2007-9, iUI Project Members
See LICENSE.txt for licensing terms
*/
// requires querySelectorAll, therefore iPhone OS 2.x or later
// or Safari 3.x or later
(function() {
var eventNames = ['blur', 'focus', 'load', 'unload', 'beforetransition', 'aftertransition' ];
// Using DOMContentLoaded so this loads before the onload in iui.js -- need a better method
// We need to register before iui's main onload handler so we can get the 'load' and 'focus' events
// for the default 'page' (view).
//
addEventListener("DOMContentLoaded", function(event)
{
document.body.addEventListener('beforeinsert', logEvent, false);
document.body.addEventListener('afterinsert', afterInsert, false);
// This will register event handlers on all initial nodes
// We'll also need to register handlers on inserted (via ajax) nodes
// To do that we'll need to use the beforeInsert event
nodes = document.querySelectorAll("body > *:not(.toolbar)");
for (var i = 0; i < nodes.length ; i++)
{
registerAllEvents(nodes[i]);
}
}, false);
function registerAllEvents(node)
{
for (var i = 0; i < eventNames.length ; i++)
{
console.log("addlistener: " + eventNames[i] + " on #" + node.id + " = " + node);
node.addEventListener(eventNames[i], logEvent, false);
}
}
function afterInsert(e)
{
logEvent(e);
registerAllEvents(e.insertedNode); // Set event handlers on newly added node
}
function logEvent(e)
{
console.log("logEvent type: " + e.type + " target " + e.target.tagName + "#" + e.target.id);
if (e.type == "beforetransition" || e.type == "aftertransition")
{
console.log(" out trans = " + e.out);
}
else if (e.type == "beforeinsert") {
console.log(" fragment = " + e.fragment);
}
else if (e.type == "afterinsert") {
console.log(" node = " + e.insertedNode);
}
}
})();

View File

@ -1,42 +0,0 @@
/*
Copyright (c) 2007-9, iUI Project Members
See LICENSE.txt for licensing terms
*/
iui.ts = {
themeSelect: function(select)
{
var curTheme = iui.ts.getTheme();
var index = select.selectedIndex;
var newTheme = select.options[index].value;
iui.ts.setTheme(newTheme);
return false;
},
getTheme: function()
{
var i, a, main;
for(i=0; (a = document.getElementsByTagName("link")[i]); i++)
{
if(a.getAttribute("rel").indexOf("style") != -1
&& a.getAttribute("title"))
{
if (a.disabled == false) return a.getAttribute("title");
}
}
},
setTheme: function(title)
{
var i, a, main;
for(i=0; (a = document.getElementsByTagName("link")[i]); i++)
{
if(a.getAttribute("rel").indexOf("style") != -1
&& a.getAttribute("title"))
{
a.disabled = true;
if(a.getAttribute("title") == title) a.disabled = false;
}
}
}
};

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,817 @@
body {
position: relative;
margin: 0;
-webkit-text-size-adjust: none;
min-height: 416px;
font-family: helvetica,sans-serif;
background: url("../images/background.png"),url('../images/menutouched.png') no-repeat;
-webkit-touch-callout: none;
}
.center {
margin: auto;
display: block;
}
img {
border: 0;
}
a:hover span.arrow {
background-position: 0 -13px!important;
}
#topbar {
position: relative;
left: 0;
top: 0;
height: 44px;
width: auto;
background: url("../images/header.png") repeat;
margin-bottom: 13px;
}
#title {
position: absolute;
top: 0;
left: 0;
right: 0;
padding: 0 10px;
text-align: center;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
height: 44px;
line-height: 44px;
font-weight: bold;
color: #FFF;
text-shadow: rgba(0,0,0,0.6) 0 -1px 0;
font-size: 16pt;
}
#content {
width: 100%;
position: relative;
min-height: 250px;
margin-top: 10px;
height: auto;
z-index: 0;
overflow: hidden;
}
#footer {
text-align: center;
position: relative;
margin: 20px 10px 0;
height: auto;
width: auto;
bottom: 10px;
}
#footer a, #footer {
text-decoration: none;
font-size: 9pt;
color: #4C4C4C;
text-shadow: #FFF 0 1px 0;
}
.pageitem {
-webkit-border-radius: 8px;
background-color: #fff;
border: #878787 solid 1px;
font-size: 12pt;
overflow: hidden;
padding: 0;
position: relative;
display: block;
height: auto;
width: auto;
margin: 3px 9px 17px;
list-style: none;
}
.textbox {
padding: 5px 9px;
position: relative;
overflow: hidden;
border-top: 1px solid #878787;
}
.textbox p {
margin-top: 2px;
color: #000;
margin-bottom: 2px;
text-align: justify;
}
.textbox img {
max-width: 100%;
}
.textbox ul {
margin: 3px 0 3px 0;
list-style: circle!important;
}
.textbox li {
margin: 0!important;
}
.pageitem li:first-child {
border-top: 0;
}
li.menu, li.form {
position: relative;
list-style-type: none;
display: block;
height: 43px;
overflow: hidden;
border-top: 1px solid #878787;
width: auto;
}
ul.pageitem li:first-child:hover, .pageitem li:first-child a, li.form:first-child input[type=radio], li.form:first-child select, li.form:first-child input[type=submit], li.form:first-child button, li.form:first-child input[type=reset] {
-webkit-border-top-left-radius: 8px 8px;
-webkit-border-top-right-radius: 8px 8px;
}
ul.pageitem li:last-child:hover, .pageitem li:last-child a, li.form:last-child input[type=radio], li.form:last-child select, li.form:last-child input[type=submit], li.form:last-child button, li.form:last-child input[type=reset] {
-webkit-border-bottom-left-radius: 8px 8px;
-webkit-border-bottom-right-radius: 8px 8px;
}
li.menu:hover {
background: url("../images/menutouched.png") repeat-x #0274ee;
}
li.menu a:hover span.name, li.menu a:hover span.comment, li.store:hover .starcomment, li.store:hover .name, li.store:hover .comment, body.list li.withimage a:hover .comment {
color: #fff;
}
li.menu a:hover span.comment {
color: #CCF;
}
li.menu a {
display: block;
height: 43px;
width: auto;
text-decoration: none;
}
li.menu a img {
width: auto;
height: 32px;
margin: 5px 0 0 5px;
float: left;
}
li.menu span.name {
margin: 11px 0 0 7px;
width: auto;
color: #000;
font-weight: bold;
font-size: 17px;
text-overflow: ellipsis;
overflow: hidden;
max-width: 75%;
white-space: nowrap;
float: left;
}
li.menu span.comment {
margin: 11px 30px 0 0;
width: auto;
color: #000;
font-size: 17px;
text-overflow: ellipsis;
overflow: hidden;
max-width: 75%;
white-space: nowrap;
float: right;
color: #324f85;
}
li.menu span.arrow, li.store span.arrow, body.musiclist span.arrow, body.list span.arrow {
position: absolute;
width: 8px!important;
height: 13px!important;
right: 10px;
top: 15px;
margin: 0!important;
background: url("../images/arrow.png") 0 0 no-repeat;
}
li.store {
height: 90px;
border-top: #878787 solid 1px;
overflow: hidden;
position: relative;
}
li.store a {
width: 100%;
height: 90px;
display: block;
background: url("../images/storebg.png") left top no-repeat;
text-decoration: none;
position: absolute;
}
li.store:hover {
background: url("../images/storetouched.png") repeat-x #0274ee;
}
li.store .image {
position: absolute;
left: 0;
top: 0;
height: 90px;
width: 90px;
display: block;
background: url('../images/storetouched.png') no-repeat;
}
li:first-child.store .image, li.store:first-child a {
-webkit-border-top-left-radius: 8px 8px;
}
li:last-child.store .image, li.store:last-child a {
-webkit-border-bottom-left-radius: 8px 8px;
}
li.store .name {
font-size: 15px;
white-space: nowrap;
margin: 5px 0 0 95px;
display: block;
overflow: hidden;
color: #000;
max-width: 60%;
text-overflow: ellipsis;
font-weight: bold;
white-space: nowrap;
text-overflow: ellipsis;
}
li.store .comment, body.list li.withimage .comment {
font-size: 12px;
color: #7f7f7f;
margin: 16px 0 0 95px;
display: block;
width: 60%;
font-weight: bold;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
li.store .arrow, body.list li.withimage .arrow {
top: 39px!important;
}
li.store .stars {
margin: 6px 0 0 95px;
}
li.store .starcomment {
position: absolute;
left: 165px;
top: 56px;
font-size: 12px;
color: #7f7f7f;
font-weight: lighter;
}
.graytitle {
position: relative;
font-weight: bold;
font-size: 17px;
right: 20px;
left: 9px;
color: #4C4C4C;
text-shadow: #FFF 0 1px 0;
padding: 1px 0 3px 8px;
}
.header {
display: block;
font-weight: bold;
color: rgb(73,102,145);
font-size: 12pt;
margin-bottom: 6px;
line-height: 14pt;
}
body.musiclist div#content {
width: auto;
margin: -29px auto auto -40px;
}
body.musiclist div#content ul {
background: url("../images/musiclistbg.png") repeat;
}
body.musiclist div#content ul li {
list-style: none;
height: 44px;
width: auto;
border-bottom: 1px solid #e6e6e6;
position: relative;
}
body.musiclist div#content ul li a {
text-decoration: none;
color: #000;
width: 100%!important;
height: 100%;
display: block;
}
body.musiclist ul li .number, body.musiclist .name, body.musiclist .time {
display: inline-block;
height: 44px;
font-weight: bold;
font-size: large;
width: 44px;
text-align: center;
line-height: 46px;
}
body.musiclist ul li .name {
margin-left: 0;
width: auto!important;
font-size: medium;
padding-left: 5px;
border-left: solid 1px #e6e6e6;
}
body.musiclist ul li .time {
color: #848484;
font-size: medium;
margin-left: 4px;
width: auto!important;
font-weight: normal;
}
body.musiclist {
background-image: none!important;
background-color: #cbcccf;
}
body.musiclist ul li span.name {
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
max-width: 62%;
}
body.list ul li.title {
background: url("../images/listheader.gif") repeat-x;
height: 22px!important;
width: 100%;
color: #fff;
font-weight: bold;
font-size: 16px;
text-shadow: gray 0 1px 0;
line-height: 22px;
padding-left: 20px;
border-bottom: none!important;
}
body.list ul {
background-color: #fff;
width: 100%;
overflow: hidden;
padding: 0;
margin: 0;
}
body.list div#content li {
height: 40px;
border-bottom: 1px solid #e1e1e1;
list-style: none;
}
body.list {
background-color: #fff;
background-image: none!important;
}
body.list div#footer {
margin-top: 24px!important;
}
body.list div#content li a {
padding: 9px 0 0 20px;
font-size: large;
font-weight: bold;
position: relative;
display: block;
color: #000;
text-decoration: none;
height: 32px;
}
body.list div#content li a span.name {
text-overflow: ellipsis;
overflow: hidden;
max-width: 93%;
white-space: nowrap;
display: block;
}
body.list div#content li a:hover {
color: #fff;
}
body.list div#content li a:hover {
background: url("../images/menutouched.png") repeat-x;
}
body.list div#content {
margin-top: -13px!important;
}
body.list ul img {
width: 90px;
height: 90px;
position: absolute;
left: 0;
top: 0;
}
body.list li.withimage {
height: 90px!important;
}
body.list li.withimage span.name {
margin: 13px 0 0 90px;
text-overflow: ellipsis;
overflow: hidden;
max-width: 63%!important;
white-space: nowrap;
}
body.list li.withimage .comment {
margin: 10px auto auto 90px !important;
max-width: 63%!important;
}
body.list li.withimage a, body.list li.withimage:hover a {
height: 81px!important;
background: url("../images/storebg.png") left top no-repeat!important;
}
body.list li.withimage:hover {
background-image: url("../images/storetouched.png");
}
.confirm_screen {
position: absolute;
bottom: 0;
-webkit-transform: translate(0,100%);
-webkit-transition-property: -webkit-transform;
background-image: url("../images/popup-bg.png");
opacity: 0;
}
.confirm_screenopen {
position: absolute;
opacity: 0.8;
overflow: hidden;
bottom: -100%;
width: 100%;
background: url("../images/popup-bg.png") repeat-x #4e545f;
-webkit-transition-duration: 0.8s;
-webkit-transition-property: -webkit-transform;
-webkit-transform-style: preserve-3d;
-webkit-transform: translate(0,0);
text-align: center;
z-index: 99999;
}
.confirm_screenopenfull {
position: absolute;
opacity: 0.8;
overflow: hidden;
bottom: -100%;
width: 100%;
background: url("../images/popup-bg.png") repeat-x #4e545f;
-webkit-transition-duration: 0.8s;
-webkit-transition-property: -webkit-transform;
-webkit-transform-style: preserve-3d;
-webkit-transform: translate(0,45px);
text-align: center;
z-index: 99999;
}
.confirm_screenclose {
-webkit-transition-duration: 1.2s;
-webkit-transition-property: -webkit-transform;
-webkit-transform-style: preserve-3d;
position: absolute;
opacity: 0.8;
overflow: hidden;
bottom: -100%;
width: 100%;
background: url("../images/popup-bg.png") repeat-x #545A67;
text-align: center;
-webkit-transform: translate(0,150%);
}
.confirm_screenopen span, .confirm_screenclose span, .confirm_screenopenfull span, .confirm_screenclosefull span {
margin: 10px 0 20px;
font-size: 17px;
color: #fff;
width: 100%;
height: 10px;
text-shadow: rgba(0,0,0,1) 0 -1px 0;
display: block;
}
.popup {
position: absolute;
bottom: 0;
width: 100%;
left: 0;
z-index: 9999;
}
.cover {
width: 100%;
position: absolute;
top: 0;
z-index: 9998;
opacity: 0.4;
left: 0;
background-color: #000;
}
.nocover {
opacity: 0;
background-image: url('../images/bluebutton.png'),url('../images/darkredbutton.png');
}
#frame a {
text-decoration: none;
display: block;
width: 90%;
margin-left: auto;
margin-right: auto;
margin-bottom: -15px;
margin-top: 0;
}
#frame span.black, #frame span.red, #frame span.gray {
display: block;
height: 46px;
border-width: 0 14px;
width: auto;
background-repeat: no-repeat;
line-height: 46px;
font-size: large;
opacity: 1;
font-weight: bolder;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
font-family: Arial,Helvetica,sans-serif;
}
#frame span.black {
-webkit-border-image: url("../images/graybutton.png") 0 14 0 14;
color: #fff;
}
#frame span.red {
-webkit-border-image: url("../images/redbutton.png") 0 14 0 14;
color: #fff;
}
#frame span.gray {
-webkit-border-image: url("../images/whitebutton.png") 0 14 0 14;
color: #000;
text-shadow: white 0 1px 0;
}
#frame a:last-child {
margin-bottom: 20px!important;
}
#frame a:hover span.black, #frame a:hover span.gray {
-webkit-border-image: url("../images/bluebutton.png") 0 14 0 14;
color: #fff;
text-shadow: rgba(0,0,0,1) 0 -1px 0;
}
#frame a:hover span.red {
-webkit-border-image: url("../images/darkredbutton.png") 0 14 0 14;
}
#leftnav, #leftbutton {
position: absolute;
font-size: 12px;
left: 9px;
top: 7px;
font-weight: bold;
}
#leftnav, #leftbutton, #rightnav, #rightbutton {
z-index: 5000;
}
#leftnav a, #rightnav a, #leftbutton a, #rightbutton a {
display: block;
color: #fff;
text-shadow: rgba(0,0,0,0.6) 0 -1px 0;
line-height: 30px;
height: 30px;
text-decoration: none;
}
#leftnav img, #rightnav img {
margin-top: 4px;
}
#leftnav a:first-child {
z-index: 2;
-webkit-border-image: url("../images/navleft.png") 0 5 0 13;
border-width: 0 5px 0 13px;
-webkit-border-top-left-radius: 16px;
-webkit-border-bottom-left-radius: 16px;
-webkit-border-top-right-radius: 6px;
-webkit-border-bottom-right-radius: 6px;
width: auto;
}
#leftnav a {
-webkit-border-image: url("../images/navlinkleft.png") 0 5 0 13;
z-index: 3;
margin-left: -4px;
border-width: 0 5px 0 13px;
padding-right: 4px;
-webkit-border-top-left-radius: 16px;
-webkit-border-bottom-left-radius: 16px;
-webkit-border-top-right-radius: 6px;
-webkit-border-bottom-right-radius: 6px;
float: left;
}
#rightnav, #rightbutton {
position: absolute;
font-size: 12px;
right: 9px;
top: 7px;
font-weight: bold;
}
#rightnav a {
-webkit-border-image: url("../images/navlinkright.png") 0 13 0 5;
z-index: 3;
margin-right: -4px;
border-width: 0 13px 0 5px;
padding-left: 4px;
-webkit-border-top-left-radius: 6px;
-webkit-border-bottom-left-radius: 6px;
float: right;
-webkit-border-top-right-radius: 16px;
-webkit-border-bottom-right-radius: 16px;
}
#rightnav a:first-child {
z-index: 2;
-webkit-border-top-left-radius: 6px;
-webkit-border-bottom-left-radius: 6px;
-webkit-border-image: url("../images/navright.png") 0 13 0 5;
border-width: 0 13px 0 5px;
-webkit-border-top-right-radius: 16px;
-webkit-border-bottom-right-radius: 16px;
}
#leftbutton a, #rightbutton a {
-webkit-border-image: url("../images/navbutton.png") 0 5 0 5;
border-width: 0 5px;
-webkit-border-radius: 6px;
}
.rssxpresschannel {
font-family: helvetica,sans-serif;
border: none;
}
.rssxpresschtitle {
text-align: center;
}
.rssxpresschdesc {
color: #000;
text-align: center;
border-bottom: 1px solid #000;
padding-bottom: 5px;
}
.rssxpressittitle {
display: block;
font-size: 12pt;
background: #fff;
margin: 5px 0 2px;
}
.rssxpressittitle a {
text-decoration: none!important;
font-weight: bold;
color: rgb(73,102,145);
line-height: 10pt;
}
.rssxpressitdesc {
background: #fff;
font-size: 12pt;
}
.rssxpressdivider {
display: none;
}
li.form input[type=text], li.form input[type=password], li.form input[type=search] {
border-width: 7px 7px;
font-weight: normal;
border-color: white;
height: 10px;
-webkit-border-image: url("../images/textfield.png") 7 7 7 7;
-webkit-appearance: none;
line-height: 8px;
font-size: 18px;
margin: auto;
display: block;
position: relative;
width: 90%;
}
li.form input[type=submit] {
width: 100%;
background: none;
border: 0px;
color: #000;
margin-top: -5px;
margin-bottom: -5px;
font-weight: bold;
font-size: 17px;
}
.form {
padding: 5px 8px 0 5px;
height: 37px!important;
position: relative;
overflow: hidden;
}
li.form .narrow textarea, li.form .narrow input[type=text], li.form .narrow input[type=checkbox], li.form .narrow input[type=password], li.form .narrow input[type=search] {
width: 40%!important;
border-width: 7px 7px;
height: 10px;
-webkit-border-image: url("../images/textfield.png") 7 7 7 7;
-webkit-appearance: none;
line-height: 8px;
font-size: 18px;
font-weight: normal;
border-color: white;
margin: 0!important;
position: absolute;
right: -17px;
}
li.form span.narrow, li.form span.check {
width: 90%!important;
display: block;
position: relative;
margin: auto;
}
li.form .name {
width: 55%!important;
white-space: nowrap;
text-overflow: ellipsis;
position: absolute;
margin: 6px 0 0 7px;
color: #000;
font-weight: bold;
font-size: 17px;
overflow: hidden;
left: -17px;
}
li.form .check .name {
width: 70%!important;
}
li.form input[type=radio] {
width: 100%;
height: 42px;
display: block;
margin: -5px -8px 0 -5px;
-webkit-appearance: none;
border: 0;
-webkit-border-radius: 0;
position: relative;
background: transparent;
position: absolute;
}
span.radio {
width: 16px;
height: 30px;
background: url(../images/check.png) no-repeat;
display: block;
position: absolute;
right: 5px;
overflow: visible;
z-index: 1;
}
span.checkbox {
width: 94px;
height: 27px;
background: url(../images/checkbox.png) no-repeat;
display: block;
position: absolute;
right: -14px;
top: 2px;
}
input[type=checkbox] {
display: none;
}
select {
height: 40px;
opacity: 0;
position: absolute;
width: 100%;
margin: -5px 0 0 -5px;
-webkit-border-radius: 0;
}
.form .choice .name {
left: 1.7%;
width: 87%!important;
}
span.select {
z-index: 1;
position: absolute;
white-space: nowrap;
text-overflow: ellipsis;
margin: 6px 0 0 7px;
color: #000;
font-weight: bold;
font-size: 17px;
overflow: hidden;
max-width: 87%;
}
.form .arrow {
background: url('../images/more.png') no-repeat;
width: 13px;
height: 8px;
position: absolute;
right: 8px;
top: 18px;
margin: 0!important;
}
input[type=submit], button, input[type=button], input[type=reset] {
background: transparent;
width: 100%;
height: 40px;
left: 0px;
position: absolute;
top: 6px;
display: block;
-webkit-border-radius: 0;
line-height: 40px;
}
button, input[type=button], input[type=reset] {
top: 0px!important;
border: none;
color: black;
font-weight: bold;
font-size: 17px;
-webkit-appearance: none;
}
.textbox textarea {
min-height: 50px;
margin: 3px auto 4px auto;
position: relative;
-webkit-border-image: url("../images/textfield.png") 7 7 7 7;
padding: 3px 0 0 0;
line-height: 18px;
left: -2px;
font-size: 18px;
font-weight: normal;
width: 97%;
display: block;
border-width: 7px 7px;
}
ul li.hidden {
display: none;
}
ul li.autolisttext {
text-align: center;
}
body.musiclist ul li.autolisttext {
line-height: 44px!important;
}
ul li.autolisttext a:hover {
background-image: none!important;
color: black!important;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 534 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 728 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 845 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 935 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 860 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 155 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 276 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 961 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 215 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 197 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 274 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 164 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 571 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 826 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 786 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 804 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 845 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 183 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 759 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 349 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 214 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 481 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1001 B

View File

@ -0,0 +1,27 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="yes" name="apple-mobile-web-app-capable" />
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type" />
<meta content="minimum-scale=1.0, width=device-width, maximum-scale=0.6667, user-scalable=no" name="viewport" />
<link href="css/style.css" rel="stylesheet" type="text/css" />
<script src="javascript/functions.js" type="text/javascript"></script>
<title>Title of your site</title>
<meta content="keyword1,keyword2,keyword3" name="keywords" />
<meta content="Description of your site" name="description" />
</head>
<body>
<div id="topbar">
</div>
<div id="content">
</div>
<div id="footer">
<!-- please keep this line of text for three reasons: to help us, to thank us and just because it is cool-->
<a class="noeffect" href="http://iwebkit.net">Powered by iWebKit</a></div>
</body>
</html>

View File

@ -0,0 +1 @@
var iWebkit;if(!iWebkit){iWebkit=window.onload=function(){iWebkit.checkboxHeight="25";iWebkit.radioHeight="25";iWebkit.autolistNumVisible=10;function b(){var d=document.getElementsByTagName("a");for(var e=0;e<d.length;e++){if(d[e].className.match("noeffect")){}else{d[e].onclick=function(){window.location=this.getAttribute("href");return false}}}}function c(){window.scrollTo(0,0.9)}iWebkit.popup=function(){window.scrollTo(0,9999);var e=document.getElementById(arguments[0]);var f=e.getElementsByClassName("confirm_screen")[0];f.className="confirm_screenopen";var d=document.getElementById("cover");d.className="cover";d.style.height=document.height+"px"};iWebkit.closepopup=function(){var e=arguments[0].toElement;var f=false;do{e=e.parentNode;if(e.tagName.toLowerCase()=="div"&&e.className.toLowerCase()=="popup"){f=true;break}}while(e.parentNode);if(f===false){return false}var g=e.getElementsByClassName("confirm_screenopen")[0];g.className="confirm_screenclose";var d=document.getElementById("cover");d.className="nocover";d.style.height=0};function a(){var g=document.getElementsByTagName("ul");for(var f=0;f<g.length;f++){var h=g[f];if(h.getAttribute("class").search(/(autolist)/)===-1){continue}var d=h.getElementsByTagName("li");if(d.length<=iWebkit.autolistNumVisible){continue}h.numitems=d.length;h.visibleitems=0;var e=h.getElementsByClassName("autolisttext")[0];e.onclick=function(i){var j=this.parentNode;j.showItems(j.visibleitems+iWebkit.autolistNumVisible);return false};h.showItems=function(l){var j=this.getElementsByTagName("li");var m=0;for(var k=0;k<j.length;k++){j[k].className=j[k].className.replace(/hidden/g,"");if(k>=l){j[k].className=j[k].className+" hidden"}else{m+=1}}this.visibleitems=m;e.className=e.className.replace(/hidden/g,"");if(m>=(j.length-1)){e.className=e.className+" hidden"}};h.showItems(iWebkit.autolistNumVisible)}}iWebkit.init=function(){b();c();a();var h=document.getElementsByTagName("input"),j=[],g,i,k;for(var f=0;f<h.length;f++){if(h[f].type==="checkbox"||h[f].type==="radio"){j[f]=document.createElement("span");j[f].className=h[f].type;if(h[f].checked){if(h[f].type==="checkbox"){var e="0 -"+(iWebkit.checkboxHeight*2)+"px";j[f].style.backgroundPosition=e}else{e="0 -"+(iWebkit.radioHeight*2)+"px";j[f].style.backgroundPosition=e}}h[f].parentNode.insertBefore(j[f],h[f]);h[f].onchange=iWebkit.clear;j[f].onmouseup=iWebkit.check;document.onmouseup=iWebkit.clear}}h=document.getElementsByTagName("select");for(f=0;f<h.length;f++){if(h[f]){i=h[f].getElementsByTagName("option");k=i[0].childNodes[0].nodeValue;g=document.createTextNode(k);for(var d=0;d<i.length;d++){if(i[d].selected){g=document.createTextNode(i[d].childNodes[0].nodeValue)}}j[f]=document.createElement("span");j[f].className="select";j[f].id="select"+h[f].name;j[f].appendChild(g);h[f].parentNode.insertBefore(j[f],h[f]);h[f].onchange=iWebkit.choose}}};iWebkit.pushed=function(){var d=this.nextSibling;if(d.checked&&d.type==="checkbox"){this.style.backgroundPosition="0 -"+iWebkit.checkboxHeight*3+"px"}else{if(d.checked&&d.type==="radio"){this.style.backgroundPosition="0 -"+iWebkit.radioHeight*3+"px"}else{if(!d.checked&&d.type==="checkbox"){this.style.backgroundPosition="0 -"+iWebkit.checkboxHeight+"px"}else{this.style.backgroundPosition="0 -"+iWebkit.radioHeight+"px"}}}};iWebkit.check=function(){var f=this.nextSibling;if(f.checked&&f.type==="checkbox"){this.style.backgroundPosition="0 0";f.checked=false}else{if(f.type==="checkbox"){this.style.backgroundPosition="0 -"+iWebkit.checkboxHeight*2+"px"}else{this.style.backgroundPosition="0 -"+iWebkit.radioHeight*2+"px";var g=this.nextSibling.name;var e=document.getElementsByTagName("input");for(var d=0;d<e.length;d++){if(e[d].name===g&&e[d]!==this.nextSibling){e[d].previousSibling.style.backgroundPosition="0 0"}}}f.checked=true}};iWebkit.clear=function(){var e=document.getElementsByTagName("input");for(var d=0;d<e.length;d++){if(e[d].type==="checkbox"&&e[d].checked){e[d].previousSibling.style.backgroundPosition="0 -"+iWebkit.checkboxHeight*2+"px"}else{if(e[d].type==="checkbox"){e[d].previousSibling.style.backgroundPosition="0 0"}else{if(e[d].type==="radio"&&e[d].checked){e[d].previousSibling.style.backgroundPosition="0 -"+iWebkit.radioHeight*2+"px"}else{if(e[d].type==="radio"){e[d].previousSibling.style.backgroundPosition="0 0"}}}}}};iWebkit.choose=function(){var e=this.getElementsByTagName("option");for(var f=0;f<e.length;f++){if(e[f].selected){document.getElementById("select"+this.name).childNodes[0].nodeValue=e[f].childNodes[0].nodeValue}}};iWebkit.init()}};

View File

@ -0,0 +1,220 @@
var iWebkit;
if (!iWebkit) {
iWebkit = window.onload = function () {
iWebkit.checkboxHeight = "25";
iWebkit.radioHeight = "25";
iWebkit.autolistNumVisible = 10;
function url() {
var a = document.getElementsByTagName("a");
for (var i = 0; i < a.length;i++) {
if (a[i].className.match("noeffect")) {
}
else {
a[i].onclick = function () {
window.location = this.getAttribute("href");
return false;
};
}
}
}
function hideURLbar() {
window.scrollTo(0, 0.9);
}
iWebkit.popup = function () {
window.scrollTo(0, 9999);
var o_popup = document.getElementById(arguments[0]);
var o_frame = o_popup.getElementsByClassName('confirm_screen')[0];
o_frame.className = 'confirm_screenopen';
var b = document.getElementById("cover");
b.className = "cover";
b.style.height = document.height + "px";
};
iWebkit.closepopup = function () {
var o_parent = arguments[0].toElement;
var b_found = false;
do {
o_parent = o_parent.parentNode;
if (o_parent.tagName.toLowerCase() == 'div' && o_parent.className.toLowerCase() == 'popup') {
b_found = true;
break;
}
} while (o_parent.parentNode);
if (b_found === false) {
return false;
}
var o_frameclose = o_parent.getElementsByClassName('confirm_screenopen')[0];
o_frameclose.className = 'confirm_screenclose';
var b = document.getElementById("cover");
b.className = "nocover";
b.style.height = 0;
};
function initAutoLists() {
var ul = document.getElementsByTagName('ul');
for (var i = 0; i < ul.length; i++) {
var list = ul[i];
if (list.getAttribute('class').search(/(autolist)/) === -1) {
continue;
}
var items = list.getElementsByTagName('li');
if (items.length <= iWebkit.autolistNumVisible) {
continue;
}
list.numitems = items.length;
list.visibleitems = 0;
var button = list.getElementsByClassName('autolisttext')[0];
button.onclick = function (event) {
var list = this.parentNode;
list.showItems(list.visibleitems + iWebkit.autolistNumVisible);
return false;
};
list.showItems = function (numItems) {
var items = this.getElementsByTagName('li');
var count = 0;
for (var i = 0; i < items.length; i++) {
items[i].className = items[i].className.replace(/hidden/g, '');
if (i >= numItems) {
items[i].className = items[i].className + ' hidden';
}
else {
count += 1;
}
}
this.visibleitems = count;
button.className = button.className.replace(/hidden/g, '');
if (count >= (items.length - 1)) {
button.className = button.className + ' hidden';
}
};
list.showItems(iWebkit.autolistNumVisible);
}
}
iWebkit.init = function () {
url();
hideURLbar();
initAutoLists();
var inputs = document.getElementsByTagName("input"), span = [], textnode, option, active;
for (var a = 0;a < inputs.length;a++) {
if (inputs[a].type === "checkbox" || inputs[a].type === "radio") {
span[a] = document.createElement("span");
span[a].className = inputs[a].type;
if (inputs[a].checked) {
if (inputs[a].type === "checkbox") {
var position = "0 -" + (iWebkit.checkboxHeight * 2) + "px";
span[a].style.backgroundPosition = position;
} else {
position = "0 -" + (iWebkit.radioHeight * 2) + "px";
span[a].style.backgroundPosition = position;
}
}
inputs[a].parentNode.insertBefore(span[a], inputs[a]);
inputs[a].onchange = iWebkit.clear;
span[a].onmouseup = iWebkit.check;
document.onmouseup = iWebkit.clear;
}
}
inputs = document.getElementsByTagName("select");
for (a = 0;a < inputs.length; a++) {
if (inputs[a]) {
option = inputs[a].getElementsByTagName("option");
active = option[0].childNodes[0].nodeValue;
textnode = document.createTextNode(active);
for (var b = 0;b < option.length;b++) {
if (option[b].selected) {
textnode = document.createTextNode(option[b].childNodes[0].nodeValue);
}
}
span[a] = document.createElement("span");
span[a].className = "select";
span[a].id = "select" + inputs[a].name;
span[a].appendChild(textnode);
inputs[a].parentNode.insertBefore(span[a], inputs[a]);
inputs[a].onchange = iWebkit.choose;
}
}
};
iWebkit.pushed = function () {
var element = this.nextSibling;
if (element.checked && element.type === "checkbox") {
this.style.backgroundPosition = "0 -" + iWebkit.checkboxHeight * 3 + "px";
} else {
if (element.checked && element.type === "radio") {
this.style.backgroundPosition = "0 -" + iWebkit.radioHeight * 3 + "px";
} else {
if (!element.checked && element.type === "checkbox") {
this.style.backgroundPosition = "0 -" + iWebkit.checkboxHeight + "px";
} else {
this.style.backgroundPosition = "0 -" + iWebkit.radioHeight + "px";
}
}
}
};
iWebkit.check = function () {
var element = this.nextSibling;
if (element.checked && element.type === "checkbox") {
this.style.backgroundPosition = "0 0";
element.checked = false;
} else {
if (element.type === "checkbox") {
this.style.backgroundPosition = "0 -" + iWebkit.checkboxHeight * 2 + "px";
} else {
this.style.backgroundPosition = "0 -" + iWebkit.radioHeight * 2 + "px";
var group = this.nextSibling.name;
var inputs = document.getElementsByTagName("input");
for (var a = 0;a < inputs.length;a++) {
if (inputs[a].name === group && inputs[a] !== this.nextSibling) {
inputs[a].previousSibling.style.backgroundPosition = "0 0";
}
}
}
element.checked = true;
}
};
iWebkit.clear = function () {
var inputs = document.getElementsByTagName("input");
for (var b = 0;b < inputs.length;b++) {
if (inputs[b].type === "checkbox" && inputs[b].checked) {
inputs[b].previousSibling.style.backgroundPosition = "0 -" + iWebkit.checkboxHeight * 2 + "px";
} else {
if (inputs[b].type === "checkbox") {
inputs[b].previousSibling.style.backgroundPosition = "0 0";
}
else {
if (inputs[b].type === "radio" && inputs[b].checked) {
inputs[b].previousSibling.style.backgroundPosition = "0 -" + iWebkit.radioHeight * 2 + "px";
} else {
if (inputs[b].type === "radio") {
inputs[b].previousSibling.style.backgroundPosition = "0 0";
}
}
}
}
}
};
iWebkit.choose = function () {
var option = this.getElementsByTagName("option");
for (var d = 0;d < option.length; d++) {
if (option[d].selected) {
document.getElementById("select" + this.name).childNodes[0].nodeValue = option[d].childNodes[0].nodeValue;
}
}
};
iWebkit.init();
};
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 536 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1014 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 839 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

View File

@ -1,64 +0,0 @@
REL-0.40-dev2 2009-12-18
* Fix Issue #138 (orientation css not updating)
* Fix Issue #184 (hardcoded width of 320 in "orientation event fallback")
* Re-enable call to submitForm in onsubmit in showForm()
(rev d6abb099744e6ae7f1591e3208d3d54bb35c2a51)
* Merge all -moz-* properties back in to iui.css and theme css
* Fix Issue #124 (Panel height too short on webapp-capapble) and add a test for it
* Create placeholder for gradient version of default theme
* Add iui.goBack() and use it instead of history.back()
* Add iUI favicon.ico and iui-favicon.png
* Added starting point/placeholder for QUnit Tests
* Numerous additions and improvements to Test pages
* Numerous improvements to Google App Engine website
REL-0.40-dev1 2009-10-06
* Work in progress
* Add events to iui/iui.js
* Add iui-views extension
* Integrate masabi rail-tickets and iui_ext
REL-0.30 2009-08-06
* CSS transitions for slide animation (for backward compatibility disabled by default) (Issue 97)
* Support javascript: URLs in links (Issue 134)
* Support loading complete pages in "WebApp" mode using target="_webapp" (Issue 135)
* Added Red Button .redButton CSS and border-image (Issue 46)
* Allow outbound links to anchor tags (Issue 82)
* If HTML page is loaded with anchor to a loaded page/fragment/view, scroll to it (Issue 107)
* Fix problem with hash and URLs like http://[site]/[webapp]/page.php/pageName.htm (Issue 122)
REL-0.20 2009-05-08
* Use onorientationchange event for orientation with fallback to use of window.innerWidth. (Issue 84)
* Change value of orient attribute on body element for portrait mode from profile to portrait. (Issue 85)
* Add support for radio buttons and checkboxes (Issue 9)
* Add support for textarea in forms (Issue 11)
* Add support for static text in a panel using span tags (Issue 52)
* Add isNativeUrl() function to let certain URLs (tel, Google Maps, etc) have default handling (Issue 63)
REL-0.13 2007-11-04
* Add Joe's examples directory to SVN
* Add -webkit-box-sizing to CSS
* Generate compressed CSS as part of Ant build
* Changed releaseNotes.txt to reverse chronological order
* See Google code issues: http://code.google.com/p/iui/issues/list?can=1&q=milestone:REL-0.13
REL-0.12 2007-10-19
* Google Code Release of v0.12
v0.12 7/17/2007
* Fix bug that caused back button to disappear
v0.11 7/16/2007
* Fixed bug where clicking a form background would make it disappear
* Added support for <a type="cancel"> to cancel dialogs
* Added leftButton class for placing toolbar buttons on the left
* Added whiteButton and grayButton styles for large dialog buttons
* Support axis="y" to animate pages in vertically

View File

@ -353,6 +353,7 @@ function dol_loginfunction2($langs,$conf,$mysoc)
$php_self.= $_SERVER["QUERY_STRING"]?'?'.$_SERVER["QUERY_STRING"]:'';
$smarty->assign('php_self', $php_self);
$smarty->assign('character_set_client',$conf->file->character_set_client);
// Select templates
if ($conf->browser->phone)
@ -537,15 +538,19 @@ function dol_loginfunction2($langs,$conf,$mysoc)
$smarty->assign('main_authentication', $conf->file->main_authentication);
$smarty->assign('session_name', session_name());
// Message
if (! empty($_SESSION["dol_loginmesg"]))
{
$smarty->assign('dol_loginmesg', $_SESSION["dol_loginmesg"]);
}
// Creation du template
$smarty->display('login.tpl');
// Suppression de la version compilee
$smarty->clear_compiled_tpl('login.tpl');
// Reset error message
$_SESSION["dol_loginmesg"] = '';
}
/**

View File

@ -0,0 +1 @@
2009 Regis Houssin <regis@dolibarr.fr>

View File

@ -20,79 +20,91 @@
header('Cache-Control: Public, must-revalidate');
header("Content-type: text/html; charset=".$conf->file->character_set_client);
{/php}
<!-- BEGIN SMARTY TEMPLATE -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!-- BEGIN SMARTY TEMPLATE -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>{$title}</title>
<meta name="robots" content="noindex,nofollow" />
<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;"/>
<link rel="icon" type="image/png" href="{$dol_url_root}/includes/iphone/iui/iui-favicon.png" />
<link rel="apple-touch-icon" href="{$dol_url_root}/includes/iphone/iui/iui-logo-touch-icon.png" />
<meta content="minimum-scale=1.0, width=device-width, maximum-scale=0.6667, user-scalable=no" name="viewport" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<link rel="stylesheet" href="{$dol_url_root}/includes/iphone/iui/iui.css" type="text/css" />
<link rel="stylesheet" title="Default" href="{$dol_url_root}/theme/phones/iphone/theme/default/default.css.php" type="text/css" />
<script type="application/x-javascript" src="{$dol_url_root}/includes/iphone/iui/iui.js"></script>
<script type="application/x-javascript" src="{$dol_url_root}/includes/iphone/iui/js/iui-theme-switcher.js"></script>
<link rel="stylesheet" href="{$dol_url_root}/theme/phones/iphone/theme/default/default.css.php" type="text/css" />
<script type="text/javascript" src="{$dol_url_root}/includes/iphone/iwebkit/Framework/javascript/function.js"></script>
</head>
<body>
<div class="toolbar">
<h1 id="pageTitle"></h1>
<div id="topbar">
<div id="title">{$title}</div>
</div>
<form title="{$title}" id="login" name="login" class="panel" method="post" action="{$php_self}" selected="true">
<div id="content">
<form id="login" name="login" method="post" action="{$php_self}">
<input type="hidden" name="token" value="{$smarty.session.newtoken}" />
<input type="hidden" name="loginfunction" value="loginfunction" />
<div align="center">
<img src="{$logo}">
</div>
<fieldset>
<input type="hidden" name="token" value="{$smarty.session.newtoken}">
<input type="hidden" name="loginfunction" value="loginfunction" />
<div class="row">
<label>{$langs->trans('Login')}</label>
<input type="text" id="username" name="username" value="" />
</div>
<div class="row">
<label>{$langs->trans('Password')}</label>
<input type="password" id="password" name="password" value="" />
</div>
{if $entity}
<div class="row">
<label>{$langs->trans('Entity')}</label>
{$entity}
</div>
<ul class="pageitem">
<li class="form">
<span class="narrow">
<span class="name">{$langs->trans('Login')}</span>
<input type="text" id="username" name="username" value="" />
</span>
</li>
<li class="form">
<span class="narrow">
<span class="name">{$langs->trans('Password')}</span>
<input type="password" id="password" name="password" value="" />
</span>
</li>
{if $entity}
<li class="form">
<span class="narrow">
<span class="name">{$langs->trans('Entity')}</span>
{$entity}
</span>
</li>
{/if}
{if $captcha}
<div class="row">
<label>{$langs->trans('SecurityCode')}</label>
<input type="text" id="securitycode" name="code">
<div align="center">
<img src="{$dol_url_root}/lib/antispamimage.php" border="0" width="128" height="36">
</div>
</div>
<li class="form">
<span class="narrow">
<span class="name">{$langs->trans('SecurityCode')}</span>
<input type="text" id="securitycode" name="code" />
<div align="center">
<img src="{$dol_url_root}/lib/antispamimage.php" border="0" width="128" height="36" />
</div>
</span>
</li>
{/if}
</fieldset>
</ul>
{if $smarty.session.dol_loginmesg}
<div align="center">
{$smarty.session.dol_loginmesg}
</div>
<ul class="pageitem">
<li class="form">
<input name="input Button" type="submit" value="{$langs->trans('Connection')}" />
</li>
</ul>
{if $dol_loginmesg}
<script type="text/javascript" language="javascript">
alert('{$dol_loginmesg}');
</script>
{/if}
<a class="whiteButton" type="submit">{$langs->trans('Connection')}</a>
</form>
</div>
</body>
</html>

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 534 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 728 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 845 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 935 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 860 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 504 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 816 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 205 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 977 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 155 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 517 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Some files were not shown because too many files have changed in this diff Show More