﻿// JScript File

function WikiPost_Reset() {

    // WHEN
    getRef("WikiPost_SingleDate").value = "";
    getRef("WikiPost_DateRange1").value = "";
    getRef("WikiPost_DateRange2").value = "";
    getRef("WikiPost_MultipleDates1").value = "";
    getRef("WikiPost_MultipleDates2").value = "";
    getRef("WikiPost_MultipleDates3").value = "";
    getRef("WikiPost_MultipleDates4").value = "";
    getRef("WikiPost_MultipleDates5").value = "";
    getRef("WikiPost_M").checked = false;
    getRef("WikiPost_TU").checked = false;
    getRef("WikiPost_W").checked = false;
    getRef("WikiPost_TH").checked = false;
    getRef("WikiPost_F").checked = false;
    getRef("WikiPost_SA").checked = false;
    getRef("WikiPost_SU").checked = false;
    getRef("WikiPost_Hours").value = "";

}

function WikiPost_Open(sID) {

    // alert(Number(getRef("LoggedIn").value));
    // alert(Boolean(Number(getRef("LoggedIn").value)));
    
    if (Number(getRef("RealPerson").value) != 1) {
        ReCaptchaControl_Show(WikiPost_Open, sID);
        return;
    }
    
    WikiPost_Reset();
    
    getRef("WikiPost_SpecialID").value = String(sID);

    getRef("WikiPost_LoadingDiv").style.display = "";    
    getRef("WikiPost_LoadedTable").style.display = "none";
    getRef("WikiPostDiv").style.display = "";
    try { document.getElementById("OverlayDiv").style.display=""; }catch(Overlay_Exc){} 
    
    WikiPost_GetInfo(sID);
}

function WikiPost_Close() {
    getRef("WikiPostDiv").style.display = "none";
    try { document.getElementById("OverlayDiv").style.display="none"; }catch(Overlay_Exc){} 
}

function WikiPost_GetInfo(sID){
    RichmondBarsAndRestaurants.SpecialService.WikiPost_GetInfo(sID,
        SucceededCallback_WikiPost_GetInfo, OnError_WikiPost_GetInfo, OnTimeout_WikiPost_GetInfo);         
}

function SucceededCallback_WikiPost_GetInfo(result){
    try {
        getRef("WikiPost_Headline").value = result.Teaser;
        getRef("WikiPost_Description").value = result.Description;
        
        getRef("WikiPost_LoadingDiv").style.display = "none";    
        getRef("WikiPost_LoadedTable").style.display = "";
        
        var iDateTypeID = Number(result.DateTypeID);
        if (iDateTypeID == 1) {
            getRef("WikiPost_SingleDateChoice").checked = true;            
            getRef("WikiPost_SingleDate").value = String(result.Date1);
        }else if (iDateTypeID == 2) {
            getRef("WikiPost_WeeklySpecialChoice").checked = true;
            if (Boolean(result.M)) { getRef("WikiPost_M").checked = true; }
            if (Boolean(result.TU)) { getRef("WikiPost_TU").checked = true; }
            if (Boolean(result.W)) { getRef("WikiPost_W").checked = true; }
            if (Boolean(result.TH)) { getRef("WikiPost_TH").checked = true; }
            if (Boolean(result.F)) { getRef("WikiPost_F").checked = true; }
            if (Boolean(result.SA)) { getRef("WikiPost_SA").checked = true; }
            if (Boolean(result.SU)) { getRef("WikiPost_SU").checked = true; }
        }else if (iDateTypeID == 3) {
            getRef("WikiPost_DateRangeChoice").checked = true;
            getRef("WikiPost_DateRange1").value = String(result.Date1);
            getRef("WikiPost_DateRange2").value = String(result.Date2);
        }else if (iDateTypeID == 4) {
            getRef("WikiPost_MultipleDatesChoice").checked = true;
            getRef("WikiPost_MultipleDates1").value = String(result.Date1);
            getRef("WikiPost_MultipleDates2").value = String(result.Date2);
            getRef("WikiPost_MultipleDates3").value = String(result.Date3);
            getRef("WikiPost_MultipleDates4").value = String(result.Date4);
            getRef("WikiPost_MultipleDates5").value = String(result.Date5);
        }        
        
        WikiPost_DatesTypeChange(iDateTypeID);
        
        getRef("WikiPost_Hours").value = String(result.HoursText);
        
    } catch(exc) { 
        // alert(exc.message);
    }
}

function OnError_WikiPost_GetInfo(result){
    alert(result.get_message());
}

function OnTimeout_WikiPost_GetInfo(result){
    alert(result.get_message());
}

function WikiPost_SaveInfo(){

    var When_ValidSubmit = true;

    if (getRef("WikiPost_SingleDateChoice").checked && 
            getRef("WikiPost_SingleDate").value == "") {
        getRef("WikiPost_ErrorDiv").innerHTML = "You need to pick a date dude";
        When_ValidSubmit = false;
    }
    
    if (getRef("WikiPost_WeeklySpecialChoice").checked && 
        !getRef("WikiPost_M").checked && 
        !getRef("WikiPost_TU").checked && 
        !getRef("WikiPost_W").checked && 
        !getRef("WikiPost_TH").checked && 
        !getRef("WikiPost_F").checked && 
        !getRef("WikiPost_SA").checked && 
        !getRef("WikiPost_SU").checked) {
        
        getRef("WikiPost_ErrorDiv").innerHTML = "You need to pick at least one day of the week dude";
        When_ValidSubmit = false;
    }
    
    if (getRef("WikiPost_DateRangeChoice").checked && 
            getRef("WikiPost_DateRange2").value == "") {
        getRef("WikiPost_ErrorDiv").innerHTML = "You need to pick an end date dude";
        When_ValidSubmit = false;
    }
    
    if (getRef("WikiPost_DateRangeChoice").checked && 
            getRef("WikiPost_DateRange1").value == "") {
        getRef("WikiPost_ErrorDiv").innerHTML = "You need to pick a start date dude";
        When_ValidSubmit = false;
    }
    
    if (getRef("WikiPost_MultipleDatesChoice").checked && 
        getRef("WikiPost_MultipleDates1").value == "" && 
        getRef("WikiPost_MultipleDates2").value == "" && 
        getRef("WikiPost_MultipleDates3").value == "" && 
        getRef("WikiPost_MultipleDates4").value == "" && 
        getRef("WikiPost_MultipleDates5").value == "") {
        
        getRef("WikiPost_ErrorDiv").innerHTML = "You need to pick at least one date dude";
        When_ValidSubmit = false;
    }
   
    if (!getRef("WikiPost_SingleDateChoice").checked && 
            !getRef("WikiPost_WeeklySpecialChoice").checked && 
            !getRef("WikiPost_DateRangeChoice").checked && 
            !getRef("WikiPost_MultipleDatesChoice").checked) {
        SetRed("WikiPost_DateTypeTD");
        getRef("WikiPost_ErrorDiv").innerHTML = "You need to select a date type dude";
        When_ValidSubmit = false;
    }else{
        SetBlack("WikiPost_DateTypeTD");
    }
    
    if (!When_ValidSubmit) { return; }
    
    
    var iDateTypeID = WikiPost_GetDateType();
    var sD1 = getRef("WikiPost_SingleDate").value;
    if (iDateTypeID == 3) { sD1 = getRef("WikiPost_DateRange1").value; }
    else if (iDateTypeID == 4) { sD1 = getRef("WikiPost_MultipleDates1").value; }
    var sD2 = getRef("WikiPost_DateRange2").value;
    if (iDateTypeID == 4) { sD2 = getRef("WikiPost_MultipleDates2").value; }
    var sD3 = getRef("WikiPost_MultipleDates3").value;
    var sD4 = getRef("WikiPost_MultipleDates4").value;
    var sD5 = getRef("WikiPost_MultipleDates5").value;
    var bM = getRef("WikiPost_M").checked;
    var bTU = getRef("WikiPost_TU").checked;
    var bW = getRef("WikiPost_W").checked;
    var bTH = getRef("WikiPost_TH").checked;
    var bF = getRef("WikiPost_F").checked;
    var bSA = getRef("WikiPost_SA").checked;
    var bSU = getRef("WikiPost_SU").checked;
    var sHours = getRef("WikiPost_Hours").value;

    var UserID = 0;
    try { UserID = getRef("UserID").value; }catch(exc) {}
    var UserIP = "";
    try { UserIP = getRef("UserIP").value; }catch(exc) {}
    
    RichmondBarsAndRestaurants.SpecialService.WikiPost_SaveInfo(Number(getRef("WikiPost_SpecialID").value),
        getRef("WikiPost_Headline").value, getRef("WikiPost_Description").value,
        iDateTypeID, sD1, sD2, sD3, sD4, sD5, bM, bTU, bW, bTH, bF, bSA, bSU, sHours, 
        UserID, UserIP, 
        SucceededCallback_WikiPost_SaveInfo, OnError_WikiPost_SaveInfo, OnTimeout_WikiPost_SaveInfo);         
}

function SucceededCallback_WikiPost_SaveInfo(result){
    try {
        if (typeof WikiPost_SaveDone == "function") { WikiPost_SaveDone(result); }
    } catch(exc) { 
        alert(exc.message);
    }
}

function OnError_WikiPost_SaveInfo(result){
    alert(result.get_message());
}

function OnTimeout_WikiPost_SaveInfo(result){
    alert(result.get_message());
}

function WikiPost_SaveDone(result) {

    if (String(result.ErrorMsg) != "") {
        getRef("WikiPost_ErrorDiv").innerHTML = String(result.ErrorMsg);
        return;
    }
    

    if (String(window.location).indexOf("?") == -1) { window.location = window.location + "?r=" + String(GetRandomNumber()); }
    else{ window.location = window.location + "&r=" + String(GetRandomNumber()); }
}




// WHEN - BEGIN

var WikiPost_SingleDate_CalendarLoaded = false;
var WikiPost_DateRange_CalendarLoaded = false;
var WikiPost_MultipleDates_CalendarLoaded = false;

function WikiPost_GetDateType() {
    if (getRef("WikiPost_SingleDateChoice").checked) { return 1; }
    else if (getRef("WikiPost_WeeklySpecialChoice").checked) { return 2; }
    else if (getRef("WikiPost_DateRangeChoice").checked) { return 3; }
    else if (getRef("WikiPost_MultipleDatesChoice").checked) { return 4; }
    return 0;
}

function WikiPost_DatesTypeChange(i) {

    getRef("WikiPost_SingleDateRow").style.display = "none";
    getRef("WikiPost_WeeklyPostRow").style.display = "none";
    getRef("WikiPost_DateRangeRow").style.display = "none";
    getRef("WikiPost_MultipleDatesRow").style.display = "none";
    
    try { 
        WikiPost_SingleDate_CalendarLoaded = false;
        WikiPost_DateRange_CalendarLoaded = false;
        WikiPost_MultipleDates_CalendarLoaded = false;

        hideCalendar(); 
        crossobj = null; 
        
    } catch (exc) {}
    
    i = Number(i);
    if (i == 1) {
        getRef("WikiPost_SingleDateRow").style.display = "";    
    }else if (i == 2) {
        getRef("WikiPost_WeeklyPostRow").style.display = "";
    }else if (i == 3) {
        getRef("WikiPost_DateRangeRow").style.display = "";
    }else if (i == 4) {
        getRef("WikiPost_MultipleDatesRow").style.display = "";
    }
}

// WHEN - END
