﻿
function bindCalendar(y, m) {

    document.getElementById('divCalendar').innerHTML = "<img src='" + _rootPath + "eShop/custom/" + _shopName + "/image/indicator.gif' />";
    WCFWebCalendar.JSON_getCalendar(y, m, bindCalendarOnComplete, JSONOnError);
}

function bindCalendarOnComplete(result) { 
    var temp = "";
    var ds;
    eval("ds = " + result);

    
    var sb = new Sys.StringBuilder();
    var firstDayOfMonth = parseInt(ds.setting[0].firstDayOfMonth);
    var countDayOfMonth = parseInt(ds.setting[0].countDayOfMonth);
    var todayDate = parseInt(ds.setting[0].todayDate);
    
    sb.append("<table cellpadding='3' cellspacing='1' width='100%'  class='table textSmall' align='center'>");
    sb.append(" <caption class='titleLv2'>" + MyURLDecode(ds.setting[0].caption) + "");
    sb.append(" </caption>");
    sb.append(" <thead>");
    sb.append("  <tr class='tableRowHeader'>");
    sb.append("   <th abbr='Sunday' scope='col' title='Sunday'>S</th>");
    sb.append("   <th abbr='Monday' scope='col' title='Monday'>M</th>");
    sb.append("   <th abbr='Tuesday' scope='col' title='Tuesday'>T</th>");
    sb.append("   <th abbr='Wednesday' scope='col' title='Wednesday'>W</th>");
    sb.append("   <th abbr='Thursday' scope='col' title='Thursday'>T</th>");
    sb.append("   <th abbr='Friday' scope='col' title='Friday'>F</th>");
    sb.append("   <th abbr='Saturday' scope='col' title='Saturday'>S</th>");
    sb.append("  </tr>");
    sb.append(" </thead>");
    sb.append(" <tfoot>");
    sb.append("  <tr class='tableRowHeader tableRowFooter'>");
    sb.append("   <td colspan='3' id='prev' align='left'>&laquo;&nbsp;<a href='javascript:bindCalendar(" + ds.setting[0].prevY + "," + ds.setting[0].prevM + ");'><strong>" + ds.setting[0].prevName + "</strong></a></td>");
    sb.append("   <td><a title='Today' href='javascript:bindCalendar(" + ds.setting[0].Y + "," + ds.setting[0].M + ");'>T</a></td>");
    sb.append("   <td colspan='3' id='next' align='right'><a href='javascript:bindCalendar(" + ds.setting[0].nextY + "," + ds.setting[0].nextM + ");'><strong>" + ds.setting[0].nextName + "</strong></a>&nbsp;&raquo;</td>");
    sb.append("  </tr>");
    sb.append(" </tfoot>");
    sb.append(" <tbody>");
    
    for (var i=1;i<=42;i++) {
        if (i%7==1) sb.append("  <tr class='tableRow'>");
        if ((i >= firstDayOfMonth) && (i <= (countDayOfMonth + firstDayOfMonth - 1))) {
            if ((i == firstDayOfMonth) && (i-1!=0)) sb.append("   <td colspan='" + (i-1).toString() + "'>&nbsp;</td>");
            if ((i - firstDayOfMonth + 1) == todayDate) {
                sb.append("   <td style='background: #FFF3A7; border: 1px solid #EB1400; font-weight: bold; color: #EB1400'>" + (i - firstDayOfMonth + 1).toString() + "</td>"); 
            } else {
                if (i%7==1||i%7==0) {
                    sb.append("   <td class='alert'>" + (i - firstDayOfMonth + 1).toString() + "</td>"); 
                } else {
                    var isH = false;
                    if (ds.data.length > 0) for (var j=0;j<ds.data.length;j++) if (ds.data[j].date==(i - firstDayOfMonth + 1)) {isH=true; break;}
                    if (isH) sb.append("   <td class='alert'>" + (i - firstDayOfMonth + 1).toString() + "</td>"); else sb.append("   <td>" + (i - firstDayOfMonth + 1).toString() + "</td>");
                  }
            }
            if (i == (countDayOfMonth + firstDayOfMonth - 1)) {
                if (i%7!=0) sb.append("   <td colspan='" + (7-(i%7)).toString() + "'>&nbsp;</td>");
                sb.append("  </tr>");
                break;
            }
        }
    }
    
    if (ds.data.length > 0) {
        sb.append("<tr class='tableRow'>");
        sb.append("<td colspan='7' align='left'>");
        sb.append("<table>");
        for (var i=0;i<ds.data.length;i++){
            sb.append("<tr><td valign='top' class='alert'>" + ds.data[i].date + "</td><td valign='top'>:</td><td>" + MyURLDecode(ds.data[i].dayName) + "</td></tr>")
        }
        sb.append("</table>")
        sb.append("</td>");
        sb.append("</tr>");
    }
    
    sb.append(" </tbody>");
    sb.append("</table>");
    document.getElementById('divCalendar').innerHTML = sb;
}

function doLogin(email, pass) {
    if (email == '') {
        alert('Silakan masukan email anda telebih dahulu');
        document.getElementById("txtEmail").focus();
        return;
    }
    if (pass == '') {
        alert('Silakan masukan password anda telebih dahulu');
        document.getElementById("txtPass").focus();
        return;
    }
    document.getElementById("divButton").innerHTML = "<img src='" + _rootPath + "support/image/indicator.gif' style='vertical-align:middle;' /> Processing ...";
    WCFWebCalendar.JSON_cekLogin(email, pass, doLoginOnComplete, JSONOnError);
}

function doLoginOnComplete(result) {
    document.getElementById("divButton").innerHTML = "&raquo;&nbsp;<a href=\"javascript:doLogin(document.getElementById('txtEmail').value,document.getElementById('txtPass').value);\">GO</a>";
    document.getElementById("_login").value = result;
    document.forms[0].submit();
}

function JSONOnError(result) { 
    //alert(result.get_message()); 
} 