diff options
author | Gehad elrobey <gehadelrobey@gmail.com> | 2014-06-01 07:44:35 +0300 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2014-06-03 21:08:22 -0700 |
commit | d8c46fbdb68341bd308bc48e9c3c1be7fbb70f92 (patch) | |
tree | a834f6884b8a0e235873174116d0dd8f4046343c | |
parent | e21032c99b33ebb9b0067c9314595ae75030740f (diff) | |
download | subsurface-d8c46fbdb68341bd308bc48e9c3c1be7fbb70f92.tar.gz |
HTML: Create theme directory
Create theme directory that contains the html templates copied to the
exporting directory.
- dive_export.html is the main html template.
- light.css and sand.css are two separte themes.
- list_lib.js is the main javascript library.
Signed-off-by: Gehad elrobey <gehadelrobey@gmail.com>
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r-- | theme/dive_export.html | 139 | ||||
-rw-r--r-- | theme/light.css | 201 | ||||
-rw-r--r-- | theme/list_lib.js | 577 | ||||
-rw-r--r-- | theme/poster.png | bin | 0 -> 37876 bytes | |||
-rw-r--r-- | theme/sand.css | 203 |
5 files changed, 1120 insertions, 0 deletions
diff --git a/theme/dive_export.html b/theme/dive_export.html new file mode 100644 index 000000000..1c92d3a55 --- /dev/null +++ b/theme/dive_export.html @@ -0,0 +1,139 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>dive log export</title> +<link rel="stylesheet" type="text/css" href="theme.css"> +<script src="file.json"></script> +<script src="settings.json"></script> +<script src="list_lib.js" type="text/javascript"></script> +<script> +////////////////////////////////// +//advance settings window// + +var advanced_shown=false; +function showdiv(){ + var search = document.getElementById("advanced_search"); + if(advanced_shown==false){ + search.style.display='block'; + advanced_shown=true; + } + else{ + search.style.display='none'; + advanced_shown=false; + } +} +function hideAdvanced(){ + if(advanced_shown==false) return; + var search = document.getElementById("advanced_search"); + search.style.display='none'; + advanced_shown=false; +} + +document.onclick=check; +function check(e) +{ + var target = (e && e.target) || (event && event.srcElement); + var obj = document.getElementById('advanced_search'); + var obj2 = document.getElementById('adv_srch_sp'); + if(target!=obj && target!=obj2 && target.type!="checkbox"){ + hideAdvanced(); + } +} + +//////////////////////////////// + +function loadSettings(){ + if(typeof settings === 'undefined')return; + document.body.style.fontSize=settings.fontSize; + document.body.style.fontFamily=settings.fontFamily; +} + +var searchingModules = new Array(); + +window.onload=function(){ + + //initialize settings + loadSettings(); + + //initializing default searchers + searchingModules["location"] = new SearchModule(true); + searchingModules["divemaster"] = new SearchModule(true); + searchingModules["buddy"] = new SearchModule(true); + searchingModules["notes"] = new SearchModule(true); + searchingModules["tags"] = new SearchModule(true); + + getItems(); + + //initializing search words + for(var i=0;i<items.length;i++){ + searchingModules["location"].Enter_search_string(items[i].location,i); + + searchingModules["divemaster"].Enter_search_string(items[i].divemaster,i); + + searchingModules["buddy"].Enter_search_string(items[i].buddy,i); + + searchingModules["notes"].Enter_search_string(items[i].notes,i); + + searchingModules["tags"].Enter_search_tag(items[i].tags,i); + } + + sizeofpage=10; + showAllDives(); +} + +function changeAdvSearch(e){ + searchingModules[e.value].enabled=e.checked; + SearchModules(document.getElementById("search_input").value); +} + +</script> +</head> +<body> + <center> + <div id="header_container"> + <div id="logo"></div> + <h1>Subsurface</h1> + </div> + </center> + <div id="divePanel"> + <div id="controlbox"> + <input id="search_input" oninput="SearchModules(this.value)" placeholder="search"/><a id="adv_srch_sp" onClick="showdiv()" >Advanced Search</a> + <div id="advanced_search"> + <input type="checkbox" onchange="changeAdvSearch(this)" value="location" checked>Location<br> + <input type="checkbox" onchange="changeAdvSearch(this)" value="divemaster" checked>Divemaster<br> + <input type="checkbox" onchange="changeAdvSearch(this)" value="buddy" checked>Buddy<br> + <input type="checkbox" onchange="changeAdvSearch(this)" value="notes" checked>Notes<br> + <input type="checkbox" onchange="changeAdvSearch(this)" value="tags" checked>Tags<br> + </div> + <div id="toolbox"> + <select id="no_dives_selector" onChange="setNumberOfDives(this)"> + <option>10</option> + <option>20</option> + <option>50</option> + <option>100</option> + </select> + <button onClick="expandAll()"> Expand All </button> + <button onClick="collapseAll()"> Collapse All </button> + <button id="trip_button" onclick="toggleTrips();">trips</button> + </div> + </div> + <div id="header"> + <div onClick="list_sort('1')" class="item">Number</div> + <div onClick="list_sort('2')" class="item">Date</div> + <div onClick="list_sort('3')" class="item">Time</div> + <div onClick="list_sort('6')" class="item_large">Location</div> + <div onClick="list_sort('4')" class="item">Air Temp</div> + <div onClick="list_sort('5')" class="item">Water Temp</div> + </div> + <div id="diveslist"> + </div> + <center> + <div id="controller"> + <button onClick="prev_page()"><-</button> + <span id="pagging"></span> + <button onClick="next_page()">-></button> + </div> + </center> + </div> +</body> +</html> diff --git a/theme/light.css b/theme/light.css new file mode 100644 index 000000000..589bbddda --- /dev/null +++ b/theme/light.css @@ -0,0 +1,201 @@ +body{ + min-width:680px; + background-color:#dfdfdf; + font-size:12px; + font-family: 'Lobster', helvetica, arial; +} + +h1 { + text-align: center; + font-size: 70px; + margin-top: 0; + font-family: 'Lobster', helvetica, arial; + text-decoration: none; + color: #48697B; + padding-top:30px; +} + +ul{ + background-color:#7899AB; +} + +table{ + margin:10px; + font-size:inherit; +} + +tr{ + padding:6px; +} + +th{ + padding:4px; +} + +.trips{ + background-color:#5A7F9A; +} + +.words{ + font-size:inherit; + font-weight:bold; +} + +.item{ + width:9%; + min-width:82px; + max-width:250px; + float:left; + cursor:pointer; + overflow:hidden; + text-overflow:ellipsis; + white-space: nowrap; +} + +.item_large{ + width:16%; + min-width:200px; + max-width:385px; + margin-right:8px; + float:left; + cursor:pointer; + overflow:hidden; + text-overflow:ellipsis; + white-space: nowrap; +} + +#logo{ + width: 150px; + height: 150px; + background-image: url("poster.png"); + background-size: 150px 150px; + background-repeat: no-repeat; + float:left; +} + +#header_container{ + width:600px; + height:auto; + margin:50px; + margin-bottom:100px; +} + + + +ul,#header{ + border-style:solid; + border-radius:14px; + border-color:#7899AB; + margin:7px; + padding:5px 10px 5px 10px; +} + +input[type=checkbox]{ + height:27; + width:27; + margin:4px; +} + +#advanced_search{ + position: absolute; + box-shadow: 1px 1px 5px #888888; + z-index: 99; + width: 300px; + max-width: 30%; + min-width: 270px; + background-color: rgba(105,126,131,0.8); + font-size:16px; + color:white; + display:none; + max-height:40%; + overflow:scroll; + overflow-y:auto; + overflow-x:hidden; +} + +#toolbox{ + float:right; + height:35px; + overflow:hidden; + display:block; +} + +#header{ + height:20px; + background-color:#5f7f8f; + border-color:#5f7f8f; + font-weight:bold; +} + + +#controller{ + min-width:200px; + padding:10px; +} + +#divePanel{ + padding:5px; + width:90%; + margin:0% 5% 0% 5%; + margin-bottom:50px; + background-color: rgba(88,121,139,0.3); + box-shadow: 10px 10px 5px #888888; +} + +button,#no_dives_selector{ + font-size:13px; + min-width:55px; + line-height:2; + margin:0px 0px 0px 0px; + border-radius:10px; + opacity:0.6; + border-style:outset; + border-color:black; +} + +#no_dives_selector{ + padding:5px; + text-indent: 0.01px; + text-overflow: ''; +} + +button:hover{ + background-color:#4A5F5F; +} + +a:hover{ + cursor: pointer; + text-decoration:underline; +} + +ul:hover{ + background-color:#88A9BB; +} + +#search_res{ + font-size:0.6em; + visibility:hidden; +} + +#search_input{ + border-radius:6px; + max-width:30%; + padding:3px; + opacity:0.6; + margin: 0px 5px 5px 5px; + border-style:outset; + border-color:black; +} + +#controlbox{ + margin:7px; + margin-bottom:10px; +} + +@media (max-width: 768px) { + #divePanel{ + padding:4px; + width:100%; + margin:0% 0% 0% 0%; + } +} diff --git a/theme/list_lib.js b/theme/list_lib.js new file mode 100644 index 000000000..1a07dc384 --- /dev/null +++ b/theme/list_lib.js @@ -0,0 +1,577 @@ +var itemsToShow = new Array(); //list of indexes to all dives to view +var items = new Array(); +var start; //index of first element viewed in itemsToShow +var sizeofpage; //size of viewed page +var numberofwords=0; //just for stats +var olditemstoshow; //to reference the indexes to all dives if changed +////////////////////////////////// +// // +// View Model // +// // +////////////////////////////////// + +/** +*This Method view all items +*View N pages each of sizeofpage size items. +*starting from zero +*/ +function showAllDives(){ + for(var i=0 ; i < items.length ; i++){ + itemsToShow.push(i); + } + olditemstoshow = itemsToShow; + start=0; + viewInPage(); +} + +/** +*This function view the 'itemstoshow' in pages. +*It start from 'start' variable. +*It showes N pages each of sizeofpage size. +*/ +function viewInPage(){ + var end = start + sizeofpage -1; + if(end >= itemsToShow.length ) end = itemsToShow.length-1; + updateView(start,end); +} + +/** +*addHTML this Method puts the HTML of items of given indexes +*@param {array} indexes array of indexes to put in HTML +*/ +function updateView(start,end){ + var divelist = document.getElementById('diveslist'); + divelist.innerHTML=""; + for(var i=start;i<=end;i++){ + divelist.innerHTML+='<ul id="'+itemsToShow[i]+'" onclick="toggleExpantion(this)"</ul>'; + expand(document.getElementById(itemsToShow[i])); + items[itemsToShow[i]].expanded = true; + }; + view_pagging(start,end); +} + +/** +*addHTML this Method puts the HTML of items of given indexes +*@param {array} indexes array of indexes to put in HTML +*/ +function addHTML(indexes){ + var divelist = document.getElementById('diveslist'); + divelist.innerHTML=""; + for(var i=0;i<indexes.length;i++){ + divelist.innerHTML+='<ul id="'+indexes[i]+'" onclick="toggleExpantion(this)"</ul>'; + expand(document.getElementById(indexes[i])); + itemsToShow[indexes[i]].expanded = true; + }; +} + +/** +*This Method shows items in a range [start,end] +*@param {integer} start start from this index +*@param {integer} finish at this index. +*/ +function view_in_range(start,end){ + var ind = new Array(); + if(end>=itemsToShow.length)end=itemsToShow.length-1; + for(var i=start ; i <= end ; i++){ + ind.push(i); + } + addHTML(ind); + view_pagging(start,end); +} + + +function prev_page(){ + var end = start+sizeofpage-1; + if(start-sizeofpage>0){ + start-=sizeofpage; + } + else{ + start=0; + } + if(end-sizeofpage>0){ + end-=sizeofpage; + } + if(end>=itemsToShow.length){ + end = itemsToShow.length-1; + } + updateView(start,end) +} + +function next_page(){ + var end = start+sizeofpage-1; + if(end+sizeofpage<itemsToShow.length){ + end+=sizeofpage; + } + else{ + end=itemsToShow.length-1; + } + if(start+sizeofpage<itemsToShow.length){ + start+=sizeofpage; + } + updateView(start,end) +} + +/////////////////////////////////////////////// + +function view_pagging(start,end){ + var page = document.getElementById("pagging"); + page.innerHTML= (start+1)+' to '+(end+1) + ' of '+ (itemsToShow.length) +' dives'; +} + +function expandAll(){ + for(var i=start;i<start+sizeofpage;i++){ + if(i>=itemsToShow.length) break; + unexpand(document.getElementById(itemsToShow[i])); + items[itemsToShow[i]].expanded = false; + } +} + +function collapseAll(){ + for(var i=start;i<start+sizeofpage;i++){ + if(i>=itemsToShow.length) break; + expand(document.getElementById(itemsToShow[i])); + items[itemsToShow[i]].expanded = true; + } +} + +function setNumberOfDives(e){ + var value = e.options[e.selectedIndex].value; + sizeofpage=parseInt(value); + var end = start + sizeofpage -1; + view_in_range(start,end); +} + +function toggleExpantion(ul){ + if(!items[ul.id].expanded) + { + expand(ul); + items[ul.id].expanded = true; + } + else + { + unexpand(ul); + items[ul.id].expanded = false; + } +} + +function expand(ul){ + ul.innerHTML = getlimited(items[ul.id]); + ul.style.padding='2px 10px 2px 10px'; +} +function unexpand(ul){ + ul.innerHTML = getExpanded(items[ul.id]); + ul.style.padding='3px 10px 3px 10px'; +} + +/////////////////////////////////////// +// +// Dive Model +// +////////////////////////////////////// + +function getlimited (dive) { + return '<div style="height:20px"><div class="item">'+dive.subsurface_number+'</div>'+ + '<div class="item">'+dive.date+'</div>'+ + '<div class="item">'+dive.time+'</div>'+ + '<div class="item_large">'+dive.location+'</div>'+ + '<div class="item">'+dive.temperature.air+'</div>'+ + '<div class="item">'+dive.temperature.water+'</div></div>'; +}; + +function getExpanded (dive) { + return '<table><tr><td class="words">Date: </td><td>'+dive.date+ + '</td><td class="words">     Time: </td><td>'+dive.time + + '</td><td class="words">     Location: </td><td>'+'<a onclick=\"Search_list_Modules(\''+dive.location+'\')\">' + +dive.location +'</a>'+ + '</td></tr></table><table><tr><td class="words">Rating:</td><td>'+putRating(dive.rating)+ + '</td><td class="words">   Visibilty:</td><td>'+putRating(dive.visibility)+ + '</td></tr></table>'+ + '<table><tr><td class="words">Air temp: </td><td>'+dive.temperature.air+ + '</td><td class="words">    Water temp: </td><td>'+dive.temperature.water + + '</td></tr></table><table><tr><td class="words">DiveMaster: </td><td>'+dive.divemaster + + '</td></tr><tr><td class="words"><p>Buddy: </p></td><td>'+dive.buddy + + '</td></tr><tr><td class="words">Suit: </td><td>'+dive.suit + + '</td></tr><tr><td class="words">Tags: </td><td>'+putTags(dive.tags)+ + '</td></tr></table><div style="margin:10px;"><p class="words">Notes: </p>' + dive.notes +'</div>'; +}; + +function putTags(tags){ + var result=""; + for(var i in tags){ + result+='<a onclick=\"Search_list_Modules(\''+tags[i]+'\')\">'+tags[i]+'</a>'; + if(i<tags.length-1) + result+=', '; + } + return result; +} + +function putRating(rating){ + var result; + result='<div>'; + for(var i=0;i<rating;i++) + result+=' ★ '; + for(var i=rating;i<5;i++) + result+=' ☆ '; + result+='</div>'; + return result; +} + +/////////////////////////////////////// +// +// Sorting +// +///////////////////////////////////// + +/* +this variables keep the state of +each col. sorted asc or des +*/ +var number = true; +var time = true; +var date = true; +var air = true; +var water = true; +var locat = true; + +function list_sort(sortOn){ + switch(sortOn){ + case '1' ://number + if(number){ + sort_it(sortOn,cmpNumAsc); + number = 1 - number; + } + else{ + sort_it(sortOn,cmpNumDes); + number = 1 - number; + } + break; + case '2' ://date + if(date){ + sort_it(sortOn,cmpDateAsc); + date = 1 - date; + } + else{ + sort_it(sortOn,cmpDateDes); + date = 1 - date; + } + break; + case '3'://time + if(time){ + sort_it(sortOn,cmpTimeDes); + time = 1 - time; + } + else{ + sort_it(sortOn,cmpTimeAsc); + time = 1 - time; + } + break; + case '4'://Air temp + if(air){ + sort_it(sortOn,cmpAtempDes); + air = 1 - air; + } + else{ + sort_it(sortOn,cmpAtempAsc); + air = 1 - air; + } + break; + case '5'://Water temp + if(water){ + sort_it(sortOn,cmpWtempDes); + water = 1 - water; + } + else{ + sort_it(sortOn,cmpWtempAsc); + water = 1 - water; + } + break; + case '6'://Water temp + if(locat){ + sort_it(sortOn,cmpLocationDes); + locat = 1 - locat; + } + else{ + sort_it(sortOn,cmpLocationAsc); + locat = 1 - locat; + } + break; + } +} + +function cmpLocationAsc(j,iSmaller){ + return items[j].location < items[iSmaller].location ; +} + +function cmpLocationDes(j,iSmaller){ + return items[j].location > items[iSmaller].location ; +} + +function cmpNumAsc(j,iSmaller){ + return items[j].subsurface_number < items[iSmaller].subsurface_number ; +} +function cmpNumDes(j,iSmaller){ + return items[j].subsurface_number > items[iSmaller].subsurface_number ; +} +function cmpTimeAsc(j,iSmaller){ + return items[j].time < items[iSmaller].time ; +} +function cmpTimeDes(j,iSmaller){ + return items[j].time > items[iSmaller].time ; +} +function cmpDateAsc(j,iSmaller){ + return items[j].date < items[iSmaller].date ; +} +function cmpDateDes(j,iSmaller){ + return items[j].date > items[iSmaller].date ; +} +function cmpAtempAsc(j,iSmaller){ + return parseInt(items[j].temperature.air) < parseInt(items[iSmaller].temperature.air) ; +} +function cmpAtempDes(j,iSmaller){ + return parseInt(items[j].temperature.air) > parseInt(items[iSmaller].temperature.air) ; +} +function cmpWtempAsc(j,iSmaller){ + return parseInt(items[j].temperature.water) < parseInt(items[iSmaller].temperature.water) ; +} +function cmpWtempDes(j,iSmaller){ + return parseInt(items[j].temperature.water) > parseInt(items[iSmaller].temperature.water) ; +} + +function sort_it(sortOn,function_){ + var res = new Array(); + var visited = new Array(itemsToShow.length); + for(var j=0;j<itemsToShow.length;j++){ + visited[j]=0; + } + for(var i=0;i< itemsToShow.length ;i++){ + for(var j=0;j<itemsToShow.length;j++) + if(visited[j] == false) + var iSmaller=j; + for(var j=0;j<itemsToShow.length;j++){ + if(function_(itemsToShow[j],itemsToShow[iSmaller])){ + if(visited[j] == false){ + iSmaller = j; + } + } + } + visited[iSmaller] = true; + res.push(itemsToShow[iSmaller]); + } + itemsToShow = res; + start=0; + viewInPage(); +} + +/////////////////////////////////////// +// +// Searching +// +////////////////////////////////////// +function Set(){ + this.keys = new Array(); +} + +Set.prototype.contains = function(key){ + return (this.keys.indexOf(key) >= 0) ? true : false; +} + +Set.prototype.push = function(key) { + if(!this.contains(key)){ + this.keys.push(key); + } +}; + +Set.prototype.isEmpty = function() { + return this.keys.length<=0? true:false; +}; + +Set.prototype.forEach = function(do_){ + this.keys.forEach(do_); +}; + +Set.prototype.Union = function(another_set){ + if (another_set == null) { + return; + } + for(var i=0; i<another_set.keys.length ;i++){ + this.push(another_set.keys[i]); + }; +}; + +//////////////////////////////////////// + +function Node(value){ + this.children = new Array(); + this.value=value; + this.key= new Set(); +} +/////////////////////////////////////// +function Search_list_Modules(searchfor){ + document.getElementById("search_input").value=searchfor; + SearchModules(searchfor); +} + +function SearchModules(searchfor){ + var resultKeys = new Set();//set + + if(searchfor.length<=0){ + //exit searching mode + document.getElementById("search_input").style.borderColor="initial"; + start=0; + itemsToShow=olditemstoshow; + viewInPage(); + return; + } + + searchingModules.forEach(function(x){ + resultKeys.Union(x.search(searchfor)); + }); + + if(searchingModules["location"].enabled==true) + resultKeys.Union(searchingModules["location"].search(searchfor)); + + if(searchingModules["divemaster"].enabled==true) + resultKeys.Union(searchingModules["divemaster"].search(searchfor)); + + if(searchingModules["buddy"].enabled==true) + resultKeys.Union(searchingModules["buddy"].search(searchfor)); + + if(searchingModules["notes"].enabled==true) + resultKeys.Union(searchingModules["notes"].search(searchfor)); + + if(searchingModules["tags"].enabled==true) + resultKeys.Union(searchingModules["tags"].search(searchfor)); + + if(resultKeys.isEmpty()){ + //didn't find keys + document.getElementById("search_input").style.borderColor="red"; + itemsToShow=[]; + viewInPage(); + + return; + } + //found keys + document.getElementById("search_input").style.borderColor="initial"; + itemsToShow = resultKeys.keys; + start=0; + viewInPage(); +} +/////////////////////////////////////// +function SearchModule(enabled){ + this.head = new Node(); + this.enabled=enabled; +} + +SearchModule.prototype.Enter_search_string = function(str,diveno){ + if(str==""||!str) return; + var res = str.toLowerCase().split(" "); + for(var i=0;i<res.length;i++){ + insertIn(res[i],diveno,this.head); + numberofwords++; + } +} + +SearchModule.prototype.Enter_search_tag = function(tags,diveno){ + if(!tags) return; + for(var i=0;i<tags.length;i++){ + insertIn(tags[i],diveno,this.head); + numberofwords++; + } +} + +SearchModule.prototype.search = function(x){ + return searchin(x.toLowerCase(),this.head); +} +//////////////////////////////////////// + +function insertIn(value,key,node){ + node.key.push(key); + if(value.length<=0) return; + + var this_char = value[0]; + value = value.substring(1,value.length); + + var i; + for(i =0;i<node.children.length;i++){ + if(node.children[i].value==this_char){ + return insertIn(value,key,node.children[i]); + } + } + node.children[i] = new Node(this_char); + insertIn(value,key,node.children[i]); +} + +function searchin(value,node){ + if(value.length<=0 || node.children.length <= 0) return node.key; + + var this_char = value[0]; + value = value.substring(1,value.length); + + for(var i =0;i<node.children.length;i++){ + if(node.children[i].value[0]==this_char){ + return searchin(value,node.children[i]); + } + } + return null; +} + +//trips + +var tripsShown; + +function toggleTrips(){ + var trip_button = document.getElementById('trip_button'); + if(tripsShown){ + tripsShown=false; + trip_button.style.backgroundColor="#dfdfdf"; + viewInPage(); + }else{ + showtrips(); + trip_button.style.backgroundColor="#5f7f8f"; + tripsShown=true; + } +} + +function showtrips(){ + var divelist = document.getElementById('diveslist'); + divelist.innerHTML=""; + for(var i=0;i<trips.length;i++){ + divelist.innerHTML+='<ul id="trip_'+i+'" class="trips" onclick="toggle_trip_expansion('+i+')">' + +trips[i].name+' ( '+trips[i].dives.length+' dives)'+'</ul>'+'<div id="trip_dive_list_'+i+'"></div>'; + }; + for(var i=0;i<trips.length;i++){ + unexpand_trip(i); + } +} + +function toggle_trip_expansion(trip){ + if(trips[trip].expanded ==true){ + unexpand_trip(trip); + }else{ + expand_trip(trip); + } +} + +function expand_trip(trip){ + trips[trip].expanded = true; + var d = document.getElementById("trip_dive_list_"+trip); + for(var j in trips[trip].dives){ + d.innerHTML+='<ul id="'+trips[trip].dives[j].number+'" onclick="toggleExpantion(this)" onmouseover="highlight(this)"'+ + ' onmouseout="unhighlight(this)">'+getlimited(trips[trip].dives[j])+'</ul>'; + } +} + +function unexpand_trip(trip){ + trips[trip].expanded = false; + var d = document.getElementById("trip_dive_list_"+trip); + d.innerHTML=''; +} + +function getItems(){ + var count = 0; + for(var i in trips){ + for(var j in trips[i].dives){ + items[count++]=trips[i].dives[j]; + } + } +} diff --git a/theme/poster.png b/theme/poster.png Binary files differnew file mode 100644 index 000000000..bd82ef7b9 --- /dev/null +++ b/theme/poster.png diff --git a/theme/sand.css b/theme/sand.css new file mode 100644 index 000000000..0bfcf66c1 --- /dev/null +++ b/theme/sand.css @@ -0,0 +1,203 @@ +body{ + min-width:680px; + background-color:#F7F4DD; + font-size:12px; + font-family: 'Lobster', helvetica, arial; +} + +h1 { + text-align: center; + font-size: 70px; + margin-top: 0; + font-family: 'Lobster', helvetica, arial; + text-decoration: none; + color: #213394; + padding-top:30px; +} + +ul{ + background-color:#FFD18F; +} + +table{ + margin:10px; + font-size:inherit; +} + +tr{ + padding:6px; +} + +th{ + padding:4px; +} + +.trips{ + background-color:#EFC15F; +} + +.words{ + font-size:inherit; + font-weight:bold; +} + +.item{ + width:9%; + min-width:82px; + max-width:250px; + float:left; + cursor:pointer; + overflow:hidden; + text-overflow:ellipsis; + white-space: nowrap; +} + +.item_large{ + width:16%; + min-width:200px; + max-width:385px; + margin-right:8px; + float:left; + cursor:pointer; + overflow:hidden; + text-overflow:ellipsis; + white-space: nowrap; +} + +#logo{ + width: 150px; + height: 150px; + background-image: url("poster.png"); + background-size: 150px 150px; + background-repeat: no-repeat; + float:left; +} + +#header_container{ + width:600px; + height:auto; + margin:50px; + margin-bottom:100px; +} + + + +ul,#header{ + border-style:solid; + border-radius:14px; + border-color: #F30; + margin:7px; + padding:5px 10px 5px 10px; + border-width: 1px; +} + +input[type=checkbox]{ + height:27; + width:27; + margin:4px; +} + +#advanced_search{ + position: absolute; + box-shadow: 1px 1px 5px #F30; + z-index: 99; + width: 300px; + max-width: 30%; + min-width: 270px; + background-color:rgba(239,193,127,0.87); + font-size:16px; + display:none; + max-height:40%; + overflow:scroll; + overflow-y:auto; + overflow-x:hidden; +} + +#toolbox{ + float:right; + height:35px; + overflow:hidden; + display:block; +} + +#header{ + height:20px; + background-color:#EFC15F; + font-weight:bold; +} + + +#controller{ + min-width:200px; + padding:10px; +} + +#divePanel{ + padding:5px; + width:90%; + margin:0% 5% 0% 5%; + margin-bottom:50px; + background-color:rgba(253, 195, 141, 0.43); + box-shadow: 7px 7px 5px rgba(215, 107, 27, 0.43); +} + +button,#no_dives_selector{ + font-size:13px; + min-width:55px; + line-height:2; + margin:0px 0px 0px 0px; + border-radius:10px; + opacity:0.6; + border-style:outset; + border-color: #F30; + background-color:#F7F4DD; + border-width: 1px; + color:#111354; +} + +#no_dives_selector{ + padding:5px; + text-indent: 0.01px; + text-overflow: ''; +} + +button:hover{ + background-color:#EFC17F; +} + +a:hover{ + cursor: pointer; + text-decoration:underline; +} + +ul:hover{ + background-color:#EFC17F; +} + +#search_res{ + font-size:0.6em; + visibility:hidden; +} + +#search_input{ + border-radius:6px; + max-width:30%; + padding:3px; + opacity:0.6; + margin: 0px 5px 5px 5px; + border-style:outset; + border-color:black; +} + +#controlbox{ + margin:7px; + margin-bottom:10px; +} + +@media (max-width: 768px) { + #divePanel{ + padding:4px; + width:100%; + margin:0% 0% 0% 0%; + } +} |