+
+
\ No newline at end of file
diff --git a/jsf-blank/WebContent/list-post.xhtml b/jsf-blank/WebContent/list-post.xhtml
new file mode 100644
index 00000000..db5b0fda
--- /dev/null
+++ b/jsf-blank/WebContent/list-post.xhtml
@@ -0,0 +1,35 @@
+
+List Post
+
+
+
+
+
+
\ No newline at end of file
diff --git a/assets/css/screen.css b/jsf-blank/WebContent/resources/css/screen.css
similarity index 96%
rename from assets/css/screen.css
rename to jsf-blank/WebContent/resources/css/screen.css
index 1d8fdf3b..5af5f3ea 100644
--- a/assets/css/screen.css
+++ b/jsf-blank/WebContent/resources/css/screen.css
@@ -147,7 +147,11 @@ a:hover {
/* Nav
================================================== */
.nav {
+<<<<<<< HEAD
+ position: relative;
+=======
position: absolute;
+>>>>>>> 995cea6f7f68cf98b3a33285204a120951e7c074
top: 0;
left: 50%;
height: 70px;
@@ -233,7 +237,11 @@ div.cover > img {
}
/* Contains the time, title and subtitle for an article */
.art-header-inner {
+<<<<<<< HEAD
+ position: relative;
+=======
position: fixed;
+>>>>>>> 995cea6f7f68cf98b3a33285204a120951e7c074
top: 300px;
left: 50%;
margin-left: -490px;
@@ -290,6 +298,11 @@ div.cover > img {
font-style: normal;
font-size: 21px;
line-height: 1.5;
+<<<<<<< HEAD
+ position: relative;
+ bottom: 100px;
+=======
+>>>>>>> 995cea6f7f68cf98b3a33285204a120951e7c074
}
.art-body-inner a:hover {
border-bottom: 1px solid #F40034;
@@ -386,6 +399,10 @@ div.cover > img {
.art-list-body {
position: relative;
overflow: hidden;
+<<<<<<< HEAD
+ bottom: 100px;
+=======
+>>>>>>> 995cea6f7f68cf98b3a33285204a120951e7c074
}
.art-list-item {
padding: 40px 0;
@@ -829,6 +846,10 @@ hr.featured-article:after {
#contact-area {
width: 600px;
margin-top: 25px;
+<<<<<<< HEAD
+ margin-bottom: 100px;
+=======
+>>>>>>> 995cea6f7f68cf98b3a33285204a120951e7c074
}
#contact-area input, #contact-area textarea {
diff --git a/jsf-blank/WebContent/resources/css/simple_blog.css b/jsf-blank/WebContent/resources/css/simple_blog.css
new file mode 100644
index 00000000..a42c8ed9
--- /dev/null
+++ b/jsf-blank/WebContent/resources/css/simple_blog.css
@@ -0,0 +1,599 @@
+/* Body
+================================================== */
+body {
+ margin: 0;
+ padding: 0;
+ color: #666;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 11px;
+ line-height: 1.4em;
+ background-color: #fff;
+ background-position: top;
+ background-repeat: repeat-x;
+}
+
+#subpage { background-image: url(../images/blog_header.png) }
+
+/* Typography
+================================================== */
+h1, h2, h3, h4, h5, h6 {
+ font-family: Georgia, "Times New Roman", Times, serif;
+ text-transform: uppercase;
+ font-weight:400;
+ color: #333;
+ padding: 0;
+ margin: 0 0 10px 0;
+ text-rendering: optimizeLegibility;
+}
+
+h1 { font-size:32px }
+h2 { font-size:26px; margin-bottom: 30px; line-height: 20px; }
+h3 { font-size:20px }
+h4 { font-size:18px }
+h5 { font-size:16px }
+h6 { font-size:12px }
+
+/* Other */
+.left { float:left }
+.right { float:right }
+.clear { clear: both }
+.h30 { height: 30px }
+.h60 { height: 60px }
+
+img { margin: 0; padding: 0; border: 0 }
+.img_border { border: 1px solid #999; background: #fff; padding: 3px; }
+.img_border_b { border: 1px solid #999; background: #fff; padding: 6px }
+.img_nom { display: block; margin-bottom: 15px }
+.img_fl { float: left; display: block; margin: 1px 20px 8px 0 }
+.img_fr { float: right; margin: 1px 0 8px 20px }
+
+p { margin: 0 0 10px 0; padding: 0 }
+em { color: #333 }
+hr { margin-bottom: 40px; padding-top: 20px; border: none; border-bottom: 1px solid #ccc }
+
+ul.nobullet { margin: 0; padding: 0; list-style: none }
+ul.nobullet li { margin: 0; padding: 0 }
+
+ul.list_bullet { margin: 10px 0 10px 15px; padding: 0; list-style: none }
+ul.list_bullet li { color:#555; margin: 0 0 7px 0; padding: 0 0 0 20px; background: url(../images/bullet.png) no-repeat scroll 0 5px }
+ul.list_bullet li a { color: #555; font-weight: normal; text-decoration: none }
+ul.list_bullet li a:hover { color: #555 }
+
+td label{ text-align: left; }
+
+/* Links
+================================================== */
+a {
+ text-decoration: none;
+ -webkit-transition: color .2s ease-in-out;
+ -moz-transition: color .2s ease-in-out;
+ transition: color .2s ease-in-out;
+}
+a:link, a:visited { color:#76a33b; text-decoration: none}
+a:hover { color: #F40034;}
+a:hover,a:active { outline:none }
+
+/* Layout
+================================================== */
+#blog_wrapper{
+ width: 960px;
+ padding: 0 10px;
+ margin: 0 auto;
+}
+
+#blog_header{
+ height: 80px;
+ padding: 30px 70px 20px 70px;
+}
+
+#blog_main{
+ clear: both;
+ width: 960px;
+ margin: 0 auto 40px;
+}
+
+#blog_bottom_wrapper{
+ width: 100%;
+ background: #646464 url(../images/blog_bottom.png) top repeat-x;
+}
+
+#blog_bottom{
+ width: 960px;
+ margin: 0 auto;
+ padding: 20px 10px 0;
+ color: #ccc
+}
+
+#blog_footer_wrapper {
+ width: 100%;
+ background: url(../images/blog_footer.png) top repeat-x
+}
+#blog_footer {
+ width: 960px;
+ margin: 0 auto;
+ padding: 10px 10px 10px;
+ text-align: center
+}
+#blog_content{
+ width: 760px;
+}
+#blog_sidebar{
+ width: 200px;
+}
+
+/* Containers to keep content to a set width */
+
+.nav,
+.art-body-inner,
+.footer,
+.art-list,
+.abt,
+.fourohfour {
+ position: relative;
+ margin: 0 auto;
+}
+
+/* LOGO
+================================================== */
+#logo {
+ float: left;
+ padding: 20px 0 0 0;
+}
+#logo h1{
+ font-family: "proxima-nova", "helvetica neue", "helvetica", sans-serif;
+ font-weight: 700;
+ font-size: 13px;
+ line-height: 30px;
+ color: #000;
+ text-transform: uppercase;
+}
+#logo h1 {
+ height: 30px;
+ margin-left: 0px;
+ letter-spacing: 1px;
+ font-family: 'Questrial', sans-serif;
+ font-size: 30px;
+}
+#logo h1 span{
+ color: #76a33b !important;
+}
+
+/* Sidebar
+================================================== */
+#blog_sidebar h3 {
+ margin-bottom: 15px
+}
+
+.sidebar_section {
+ margin-bottom: 40px;
+}
+
+.sidebar_section_bg {
+ padding: 20px;
+ background: #f3f3f3
+}
+.sidebar_link_list {
+ margin: 0;
+ padding: 0;
+ list-style: none
+}
+.sidebar_link_list li {
+ margin: 0;
+ padding: 10px;
+ border-bottom: 1px dashed #fff
+}
+
+/* Menu
+================================================== */
+#menu{
+ float: right;
+}
+
+/* 404 page
+================================================== */
+.fourohfour {
+ padding: 240px 0 100px;
+ text-align: center;
+}
+
+/* Code
+================================================== */
+
+code, tt {
+background: #ededee;
+color: #3C4043;
+font-size: 90%;
+padding: 1px 3px;
+}
+
+pre {
+ width: 92%;
+ overflow: auto;
+ margin: 2rem 0;
+ padding: 1rem 0.8rem 1rem 1.2rem;
+ color: #3f3b36;
+ border: 1px solid #ccc;
+ border-left: 1rem solid #ccc;
+ font: lighter 1.2rem/2rem monospace;
+ background: url(/assets/img/pre.png) repeat 0 -0.9rem;
+ background-size: 1px 4rem;
+}
+
+pre code, tt {
+font-size: inherit;
+white-space: -moz-pre-wrap;
+white-space: pre-wrap;
+background: transparent;
+border: none;
+padding: 0;
+}
+
+
+.gist {
+ font-size: 14px;
+}
+
+/* Misc
+================================================== */
+::selection {
+ background: #000;
+ color: #fff;
+}
+::-moz-selection {
+ background: #000;
+ color: #fff;
+}
+img.left {
+ float: left;
+ margin-right: 20px;
+}
+img.right {
+ float: right;
+ margin-left: 20px;
+}
+/* Clearfixing pile */
+.nav:before,
+.art-body-inner:before,
+.footer:before,
+.art-list:before {
+ content:"";
+ display:table;
+}
+.nav:after,
+.art-body-inner:after,
+.footer:after,
+.art-list:after {
+ clear:both;
+}
+.nav,
+.art-body-inner,
+.footer,
+.art-list {
+ zoom:1; /* For IE 6/7 (trigger hasLayout) */
+}
+
+
+@-webkit-keyframes le-fade {
+ 0% {
+ opacity: 0;
+ }
+ 100% {
+ opacity: 1;
+ }
+}
+@-moz-keyframes le-fade {
+ 0% {
+ opacity: 0;
+ }
+ 100% {
+ opacity: 1;
+ }
+}
+
+/* FORM */
+
+#contact-area {
+ width: 600px;
+ margin-top: 25px;
+<<<<<<< HEAD
+ margin-bottom: 100px;
+=======
+>>>>>>> 995cea6f7f68cf98b3a33285204a120951e7c074
+}
+
+#contact-area input, #contact-area textarea {
+ padding: 5px;
+ width: 471px;
+ font-family: Helvetica, sans-serif;
+ margin: 0px 0px 10px 0px;
+ border: 2px solid #ccc;
+}
+
+#contact-area textarea {
+ height: 90px;
+}
+
+#contact-area textarea:focus, #contact-area input:focus {
+ border: 2px solid #900;
+}
+
+#contact-area input.submit-button {
+ width: 100px;
+
+}
+.input_form{
+ width: 400px;
+}
+
+label {
+ float: left;
+ text-align: right;
+ margin-right: 15px;
+ width: 100px;
+ padding-top: 5px;
+}
+
+/* Pagingination */
+.paging { margin: 0 0 20px; padding: 0 }
+.paging ul { margin: 0; padding: 0; list-style: none }
+.paging ul li { margin: 0; padding: 0; display: inline }
+
+.paging ul li a { float: left;
+ display: block;
+ color: #666;
+ text-decoration: none;
+ margin-right: 5px;
+ padding: 5px 10px;
+ background: #ebe7e4;
+ border: 1px solid #d6d0cc;
+}
+
+.paging ul li a:hover { color: #fff; background: #91c63e; border: 1px solid #5f8c19 }
+
+/* Article
+================================================== */
+.art {
+ margin-top: -131px;
+}
+/* Header */
+.art-header {
+ height: 300px;
+ /* Background image is defined in the post */
+ background-position: top center;
+ background-attachment: fixed;
+ overflow: hidden;
+}
+/* Contains the time, title and subtitle for an article */
+.art-header-inner {
+<<<<<<< HEAD
+ position: relative;
+=======
+ position: fixed;
+>>>>>>> 995cea6f7f68cf98b3a33285204a120951e7c074
+ top: 300px;
+ left: 50%;
+}
+.art-time,
+.art-title,
+.art-subtitle {
+ text-align: center;
+ text-transform: uppercase;
+}
+.art-time {
+ font-size: 14px;
+ line-height: 1.8;
+ letter-spacing: 4px;
+}
+.art-title {
+ font-size: 100px;
+ line-height: .9;
+ letter-spacing: -2px;
+}
+.art-subtitle {
+ margin-top: 4px;
+ font-size: 14px;
+ line-height: 1.3;
+ letter-spacing: 4px;
+}
+
+/* If small header, make few adjustments */
+.small .art-title {
+ font-size: 70px;
+ line-height: 65px;
+}
+.small.art-header-inner {
+ top: 320px;
+}
+
+/* Body */
+.art-body {
+ position: relative;
+ width: 100%;
+ background: #fff;
+}
+.art-body-inner {
+ font-family: Georgia,Cambria,"Times New Roman",Times,serif;
+ max-width: 640px;
+ padding: 80px 0 50px;
+ letter-spacing: 0.01rem;
+ font-weight: 400;
+ font-style: normal;
+ font-size: 21px;
+ line-height: 1.5;
+<<<<<<< HEAD
+ position: relative;
+ bottom: 100px;
+=======
+>>>>>>> 995cea6f7f68cf98b3a33285204a120951e7c074
+}
+.art-body-inner a:hover {
+ border-bottom: 1px solid #F40034;
+ padding-bottom:2px;
+}
+.art-body-inner ul,
+.art-body-inner ol { /* For lists in the article body */
+ margin-bottom: 26px;
+}
+.art-body-inner ul li {
+ list-style: disc;
+}
+
+.art-body-inner mark {
+ background-color: #fdffb6;
+ padding: 2px;
+ -webkit-box-shadow: #fdffb6 0 0 5px;
+ -moz-box-shadow: #fdffb6 0 0 5px;
+ box-shadow: #fdffb6 0 0 5px;
+}
+
+.art-body-inner blockquote {
+ font-size: 16px;
+ background: #f9f9f9;
+ border-left: 10px solid #ccc;
+ margin: 1.5em 10px;
+ padding: 0.5em 10px;
+ quotes: "\201C""\201D""\2018""\2019";
+}
+
+.art-body-inner blockquote p:first-child:before {
+ color: #ccc;
+ content: "“";
+ font-size: 4em;
+ line-height: 0.1em;
+ margin-right: 0.25em;
+ vertical-align: -0.4em;
+}
+
+.art-body-inner blockquote p {
+ margin-bottom: 1.5em;
+}
+
+.art-body-inner blockquote p:last-child {
+ margin-bottom: 0;
+}
+
+
+.dropcap { /* First character on articles */
+ float: left;
+ margin: 47px 10px 20px 0;
+ font-size: 100px;
+ line-height: 0;
+}
+.art-subhead { /* Subheads are used to break up sections of an article */
+ margin: 60px 0 15px;
+ font-size: 20px;
+ line-height: 28px;
+ letter-spacing: 3px;
+}
+.callout { /* Callouts are like large pullquotes */
+ font-weight: bold;
+}
+.art-body-inner img {
+ max-width: 100%;
+ max-height: 600px;
+ margin-bottom: 26px;
+}
+.art-body-inner img.center {
+ display: block;
+ margin-left: auto;
+ margin-right: auto;
+}
+.art-body-inner .art-reference {
+ font-size: 80%;
+ color: #999;
+ margin-top: 50px;
+}
+
+/* For simple, white background posts */
+.simple .art-body {
+ background: none;
+ -webkit-box-shadow: none;
+ -moz-box-shadow: none;
+ box-shadow: none;
+}
+
+
+/* List of Articles
+================================================== */
+.art-list {
+ padding: 0 0 0;
+}
+.art-list-body {
+ position: relative;
+ overflow: hidden;
+<<<<<<< HEAD
+ bottom: 100px;
+=======
+>>>>>>> 995cea6f7f68cf98b3a33285204a120951e7c074
+}
+.art-list-item {
+ padding: 40px 0;
+ list-style: none;
+ overflow: hidden;
+ border-bottom: 1px solid #ccc;
+}
+.art-list-item:last-child {
+ border-bottom: none;
+}
+.art-list-title {
+ font-size: 26px;
+ line-height: 26px;
+ font-weight: 700;
+}
+.art-list-item-title-and-time {
+ float: left;
+ width: 30%;
+ margin-bottom: 10px;
+}
+.art-list-time {
+ font-size: 12px;
+ line-height: 20px;
+ letter-spacing: 2px;
+ text-transform: uppercase;
+ color: #999;
+}
+.art-list-title a {
+ color: #76a33b;
+}
+.art-list-title a:hover {
+ color: #F40034;
+}
+.art-list-item p {
+ width: 65%;
+ float: left;
+ margin-left: 5%;
+ margin-bottom: 0;
+ font-size: 16px;
+ line-height: 24px;
+}
+.alter_link{
+ width: 65%;
+ float: left;
+ margin-left: 5%;
+ margin-bottom: 0;
+ font-size: 16px;
+ line-height: 24px;
+}
+
+/* TABLE */
+table.gridtable {
+ font-size:11px;
+ color:#333333;
+ border-width: 1px;
+ border-color: #666666;
+ border-collapse: collapse;
+}
+table.gridtable th {
+ border-width: 1px;
+ padding: 8px;
+ border-style: solid;
+ border-color: #666666;
+ background-color: #dedede;
+}
+table.gridtable td {
+ border-width: 1px;
+ padding: 8px;
+ border-style: solid;
+ border-color: #666666;
+ background-color: #ffffff;
+}
\ No newline at end of file
diff --git a/jsf-blank/WebContent/resources/css/styles.css b/jsf-blank/WebContent/resources/css/styles.css
new file mode 100644
index 00000000..3466f9f7
--- /dev/null
+++ b/jsf-blank/WebContent/resources/css/styles.css
@@ -0,0 +1,60 @@
+body {
+ background-color: #e9e9e9;
+}
+a:hover {
+ color: red
+}
+h1,h2,h3 {
+ text-align: center;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ color: black;
+}
+h1.title {
+ display: table;
+ margin: auto;
+ background-color: #afc4d6;
+ border-width: 4px;
+ border-style: outset;
+ border-color: #9fd1ff;
+ padding: 5px 8px;
+ letter-spacing: -.025em;
+} /* If prompt and input are in two cells of one row, the prompt will be R-aligned. */
+.formTable {
+ display: table;
+}
+.formTable td:first-child {
+ text-align: right;
+}
+th { background-color: #afc4d6;
+ font-size: 110%;
+ font-family: Arial, Helvetica, sans-serif;
+}
+legend {
+ font-weight: bold;
+ color: black;
+ background-color: #afc4d6;
+ border: 1px solid #1a55bf;
+ padding: 3px 5px;
+}
+input, textarea {
+ background-color: #ecedf2;
+ text-align: left;
+}
+input[type="checkbox"] {
+ background-color: transparent; /* For IE -- doesn't matter in FF or Chrome */
+}
+input[type="text"]:focus, input[type="password"]:focus, textarea:focus {
+ background-color: #9fd1ff;
+}
+.error {
+ color: red;
+ font-weight: bold;
+}
+.blue-error {
+ color: blue;
+ font-weight: bold;
+}
+ul.aligned { /* So if in centered div, the bullets line up under each other */
+ display: inline-block;
+ text-align: left;
+}
diff --git a/jsf-blank/WebContent/resources/js/validate-email.js b/jsf-blank/WebContent/resources/js/validate-email.js
new file mode 100644
index 00000000..6109295e
--- /dev/null
+++ b/jsf-blank/WebContent/resources/js/validate-email.js
@@ -0,0 +1,34 @@
+function hitungAt(email) {
+ var i;
+ var count=0;
+ for (i=0; i < email.length; i++) {
+ if (email.charAt(i) == '@') {
+ count++;
+ }
+ }
+ return count;
+}
+function cekEmail(email) {
+ var at = email.indexOf("@");
+ var dot = email.lastIndexOf(".");
+ if (hitungAt(email) > 1 || at < 1 || dot < at+2 || dot+2 > email.length) {
+ return false;
+ }
+ return true;
+}
+function validateEmail(elementID) {
+ var email = document.getElementById(elementID).value;
+ if(email.length > 0) {
+ var b = cekEmail(email);
+ if(!b) {
+ alert("Email salah!");
+ }
+ return b;
+ } else {
+ return false;
+ }
+}
+function tes() {
+ alert("Oi!");
+ return false;
+}
\ No newline at end of file
diff --git a/jsf-blank/WebContent/resources/js/validate-post.js b/jsf-blank/WebContent/resources/js/validate-post.js
new file mode 100644
index 00000000..4fdd48da
--- /dev/null
+++ b/jsf-blank/WebContent/resources/js/validate-post.js
@@ -0,0 +1,134 @@
+function validateDateFormat(inputDate) {
+ if (inputDate.length == 10) {
+ var i;
+ for (i=0; i<4; i++) {
+ if (inputDate.charAt(i) < '0' || inputDate.charAt(i) > '9') {
+ return false;
+ }
+ }
+ if (inputDate.charAt(4) != '-') {
+ alert ("karakter ke " + i + " salah!");
+ return false;
+ }
+ for (i=5; i<6; i++) {
+ if (inputDate.charAt(i) < '0' || inputDate.charAt(i) > '9') {
+ alert ("karakter ke " + i + " salah!");
+ return false;
+ }
+ }
+ if (inputDate.charAt(7) != '-') {
+ alert ("karakter ke " + i + " salah!");
+ return false;
+ }
+ for (i=8; i<9; i++) {
+ if (inputDate.charAt(i) < '0' || inputDate.charAt(i) > '9') {
+ alert ("karakter ke " + i + " salah!");
+ return false;
+ }
+ }
+ return true;
+ } else {
+ return false;
+ }
+}
+function isKabisat(tahun) {
+ if (tahun % 400 == 0) {
+ alert("kabisat");
+ return true;
+ } else if (tahun % 100 == 0) {
+ alert("bukan kabisat");
+ return false;
+ } else if (tahun % 4 == 0) {
+ alert("kabisat");
+ return true;
+ } else {
+ alert("bukan kabisat");
+ return false;
+ }
+}
+function validateDateConstraints(inputDate) {
+ var arr = inputDate.split("-");
+ var tanggal = Number(arr[2]);
+ var bulan = Number(arr[1]);
+ var tahun = Number(arr[0]);
+
+ if (bulan < 1 || bulan > 12) {
+ return false;
+ }
+ if (bulan == 2) {
+ var max;
+ if (isKabisat(tahun) == true) {
+ max = 29;
+ } else {
+ max = 28;
+ }
+ if (tanggal < 1 || tanggal > max) {
+ return false;
+ }
+ } else if (bulan == 4 || bulan == 6 || bulan == 9 || bulan == 11) {
+ if (tanggal < 1 || tanggal > 30) {
+ return false;
+ }
+ } else {
+ if (tanggal < 1 || tanggal > 31) {
+ return false;
+ }
+ }
+ return true;
+}
+function validateDateNow(inputDate, tanggal) {
+ var dateNow = new Date();
+
+ var tglPost = inputDate.substr(8,2);
+
+ var blnPost = inputDate.substr(5,2);
+ blnPost = parseInt(blnPost, 10);
+ blnPost -= 1;
+
+ var thnPost = inputDate.substr(0,4);
+ var datePost = new Date();
+
+ datePost.setFullYear(thnPost, blnPost, tglPost);
+
+ if (datePost < dateNow) {
+ alert("Tanggal tidak boleh kurang dari sekarang!");
+ document.getElementById(tanggal).focus();
+ return false;
+ } else {
+ return true;
+ }
+}
+function validateDate(inputDate, tanggal) {
+ inputDate = inputDate.trim();
+ if (validateDateFormat(inputDate) == true) {
+ if (validateDateConstraints(inputDate) == false) {
+ alert ("Tanggal salah!");
+ document.getElementById(tanggal).focus();
+ return false;
+ } else {
+ return validateDateNow(inputDate, tanggal);
+ }
+ } else {
+ alert ("Format tanggal (YYYY-MM-DD) ");
+ document.getElementById(tanggal).focus();
+ return false;
+ }
+}
+function validatePost(judul, konten, tanggal) {
+ var judulPost = document.getElementById(judul).value;
+ if (judulPost == "") {
+ alert("Judul tidak boleh kosong!");
+ document.getElementById(judul).focus();
+ return false;
+ }
+
+ var kontenPost = document.getElementById(konten).value;
+ if (kontenPost == "") {
+ alert("Konten tidak boleh kosong!");
+ document.getElementById(konten).focus();
+ return false;
+ }
+
+ var inputDate = document.getElementById(tanggal).value;
+ return validateDate(inputDate, tanggal);
+}
\ No newline at end of file
diff --git a/jsf-blank/WebContent/resources/js/validate-username.js b/jsf-blank/WebContent/resources/js/validate-username.js
new file mode 100644
index 00000000..deb611b5
--- /dev/null
+++ b/jsf-blank/WebContent/resources/js/validate-username.js
@@ -0,0 +1,23 @@
+function validateUsername(usernameID) {
+ var username = document.getElementById(usernameID).value;
+ if (username.length <= 0) {
+ alert("Username tidak boleh kosong!");
+ return false;
+ }
+ if(!cekString(username)) {
+ alert("Username hanya bisa menggunakan alfabet dan angka");
+ return false;
+ }
+ else {
+ return true;
+ }
+}
+
+function cekString(username) {
+ for (var i=0; i= 48 && cek <= 80) || (cek >=65 && cek <= 90) || (cek >= 97 && cek <= 122)) )
+ return false;
+ }
+ return true;
+}
\ No newline at end of file
diff --git a/jsf-blank/WebContent/samples/README.txt b/jsf-blank/WebContent/samples/README.txt
new file mode 100644
index 00000000..4fd6c49f
--- /dev/null
+++ b/jsf-blank/WebContent/samples/README.txt
@@ -0,0 +1,54 @@
+The files in the "samples" folder are meant to be used as a starting point
+for your own JSF facelets (i.e., .xhtml) files, to save you from typing in
+the long and tedious DOCTYPE, declaration, and basic tags.
+
+Please note that the files use the JSF 2.2 format, and are not compatible with
+JSF 2.1 and earlier.
+
+The the versions that say "with-comments" have some explanations inside the
+files in HTML comments. Most of the time, you probably want to use the
+other versions, that do NOT say "with-comments", because you do not want your
+final files to contain the comments. For each (with and without comments),
+there is a version for the case when you are making a form, and another
+version for the case where you have a pure output (results) page that contains
+no form.
+
+You have two main options: copying the files into your own JSF project,
+or copying and renaming the entire jsf-blank project as described in
+the notes.
+
+A) If you make a new project of your own, start by specifying the JSF 2.2
+user library (you have to do this the FIRST time only). Go to Window,
+Preferences, Java, Build Path, User Libraries, do Add, name it something
+like JSF-2.2-Library, then Add External JARs, then point at your JSF
+2.2 JAR file. Then make a Dynamic Web Project, and choose "JavaServer Faces
+v 2.2 project". You probably want to remove the default URL mapping and
+use *.jsf instead. Then, copy the appropriate .xhtml file
+from jsf-blank/WebContent/samples into the WebContent
+(not the WebContent/samples) folder of your app. Rename the file to
+give it a name that is meaningful for your app.
+ Optional: copy web.xml and faces-config.xml from jsf-blank/WebContent/WEB-INF
+into the WEB-INF folder of your new app. In particular, the web.xml made
+by the Eclipse wizard is not what you usually want, since it has some
+extraneous things and since it omits the Development value for
+javax.faces.PROJECT_STAGE, which is VERY useful during development.
+ Optional: also copy the "css" folder from jsf-blank/WebContent/ into
+the WebContent folder of your app. You can omit this step, but then you
+won't have a style sheet, and your pages will not look the same as my
+examples.
+
+B) If you copy and rename the entire jsf-blank project, first remember that
+you have to patch the .component file as described in the tutorial. Then, copy
+sample-file-no-form.xhtml and sample-file-with-form.xhtml into WebContent and
+rename them to have meaningful names. You should delete index.xhtml, page-b.xhtml,
+the samples folder, and the somepackage Java package, so that your project does
+not have extraneous files.
+
+Either way, the samples are simply supposed to save you from typing in the core
+.xhtml tags. You still have to write all the Java code as described in the
+tutorial.
+
+
+
+Taken from http://www.coreservlets.com/JSF-Tutorial/jsf2/ --
+MANY more details on creating and copying JSF projects there.
\ No newline at end of file
diff --git a/jsf-blank/WebContent/samples/sample-file-no-form-with-comments.xhtml b/jsf-blank/WebContent/samples/sample-file-no-form-with-comments.xhtml
new file mode 100644
index 00000000..f85502e2
--- /dev/null
+++ b/jsf-blank/WebContent/samples/sample-file-no-form-with-comments.xhtml
@@ -0,0 +1,18 @@
+
+
+
+Your Title Here
+
+
+
+
Your Heading Here
+
+
+
+#{yourBean.yourProperty}
+
+
+
\ No newline at end of file
diff --git a/jsf-blank/WebContent/samples/sample-file-no-form.xhtml b/jsf-blank/WebContent/samples/sample-file-no-form.xhtml
new file mode 100644
index 00000000..efcc02e1
--- /dev/null
+++ b/jsf-blank/WebContent/samples/sample-file-no-form.xhtml
@@ -0,0 +1,13 @@
+
+
+
+Your Title Here
+
+
+
+
Your Heading Here
+
+
\ No newline at end of file
diff --git a/jsf-blank/WebContent/samples/sample-file-with-form-with-comments.xhtml b/jsf-blank/WebContent/samples/sample-file-with-form-with-comments.xhtml
new file mode 100644
index 00000000..5173b49d
--- /dev/null
+++ b/jsf-blank/WebContent/samples/sample-file-with-form-with-comments.xhtml
@@ -0,0 +1,30 @@
+
+
+
+
+Your Title Here
+
+
+
+
+
Your Heading Here
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/jsf-blank/WebContent/samples/sample-file-with-form.xhtml b/jsf-blank/WebContent/samples/sample-file-with-form.xhtml
new file mode 100644
index 00000000..248896bf
--- /dev/null
+++ b/jsf-blank/WebContent/samples/sample-file-with-form.xhtml
@@ -0,0 +1,17 @@
+
+
+
+Your Title Here
+
+
+
+
Your Heading Here
+
+
+
+
+
+
\ No newline at end of file
diff --git a/jsf-blank/WebContent/success.xhtml b/jsf-blank/WebContent/success.xhtml
new file mode 100644
index 00000000..21863957
--- /dev/null
+++ b/jsf-blank/WebContent/success.xhtml
@@ -0,0 +1,21 @@
+
+Success
+
+
+
+
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/post.html b/post.html
deleted file mode 100644
index c0b6f9e6..00000000
--- a/post.html
+++ /dev/null
@@ -1,140 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Simple Blog | Apa itu Simple Blog?
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Apa itu Simple Blog?
-
-
-
-
-
-
-
-
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Blanditiis aliquam minus consequuntur amet nulla eius, neque beatae, nostrum possimus, officiis eaque consectetur. Sequi sunt maiores dolore, illum quidem eos explicabo! Lorem ipsum dolor sit amet, consectetur adipisicing elit. Magnam consequuntur consequatur molestiae saepe sed, incidunt sunt inventore minima voluptatum adipisci hic, est ipsa iste. Nobis, aperiam provident quae. Reprehenderit, iste.
-
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Asperiores animi tenetur nam delectus eveniet iste non culpa laborum provident minima numquam excepturi rem commodi, officia accusamus eos voluptates obcaecati. Possimus?
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Perferendis repudiandae quae natus quos alias eos repellendus a obcaecati cupiditate similique quibusdam, atque omnis illum, minus ex dolorem facilis tempora deserunt! …
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Perferendis repudiandae quae natus quos alias eos repellendus a obcaecati cupiditate similique quibusdam, atque omnis illum, minus ex dolorem facilis tempora deserunt! …