﻿
////////////////////////////////////////////////////////
// MISC
////////////////////////////////////////////////////////

function getOffset() {
    var offset = (new Date().getTimezoneOffset() / 60) * (-1);
    return offset;
}


////////////////////////////////////////////////////////
// Method - the web service method to call.
// Data - the json data to pass if any.
// Callback the function to call upon completion or failure.
//////////////////////////////////////////////////////////

function PostAjax(method, data, callback) {
    $.ajax({
        type: 'POST',
        url: method,
        data: data,
        contentType: 'application/json; charset=utf-8',
        dataType: 'json',
        success: function (result) {
            eval(callback);
            //AjaxSuccess(result);
        },
        error: AjaxFailed
    });
}

//Default on success function to display JSON result.
function AjaxSuccess(result) {
    var ajaxResult = result.d;
    //var objJSON = $.parseJSON(ajaxResult);
    alert(ajaxResult);
}

//Alerts with error message.
function AjaxFailed(result) {
    ajaxError = result.status + ' ' + result.statusText;
    alert(ajaxError);
}

////////////////////////////////////////////////////////
// Javascript postback function.
////////////////////////////////////////////////////////

function __doPostBack(eventTarget, eventArgument) {
    if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
        theForm.__EVENTTARGET.value = eventTarget;
        theForm.__EVENTARGUMENT.value = eventArgument;
        theForm.submit();
    }
}

////////////////////////////////////////////////////////
// Get Timestamp from Javascript Date.
////////////////////////////////////////////////////////

function formatTimeStamp(date, format, isampm) {  
    
    var result = '';
    //If AM PM option is not set then set default false.
    if(isampm == null){
        isampm = false;
    }
 
    //Get the Date.
    var m, d, y;
    d = date.getDate();
    m = date.getMonth() + 1;
    y = date.getFullYear();
    
    //Get the Time.
    var min, hr, sec, ampm;
    min = date.getMinutes();
    hr = date.getHours();
    hr24 = hr;
    sec = date.getSeconds();
    ampm = 'AM';
    
    //Get the 12 and 24 hours, check seconds/min for missing zero.
    if ((hr - 12) > 0) {
        hr -= 12
    }
    if (min < 10) {
        min = '0' + min;
    }
    if (hr24 > 11) {
        ampm = 'PM';
    }
    if (sec < 10) {
        sec = '0' + sec;
    }
  
    //Create the possible formats.
    var dateOnly = m + '/' + d + '/' + y;
    var timeOnly = hr + ':' + min;
    var timeOnly24 = hr24 + ':' + min;
    var timeOnlySec = timeOnly + ':' + sec;
    var timeOnlySec24 = timeOnly24 + ':' + sec;
    var dateTime = dateOnly + ' ' + timeOnly;
    var dateTime24 = dateOnly + ' ' + timeOnly24
    var dateTimeSec = dateOnly + ' ' + timeOnlySec;
    var dateTimeSec24 = dateTime24 + ' ' + timeOnlySec24;
 
    //Get the requested format.
    result = dateTime;
    if(format == 'dateOnly') {
        result = dateOnly;
    }
    if(format == 'timeOnly') {
        result = timeOnly;
    }
    if(format == 'timeOnly24') {
        result = timeOnly24;
    }
    if(format == 'timeOnlySec') {
        result = timeOnlySec;
    }
    if(format == 'timeOnlySec24') {
        result = timeOnlySec24;
    }
    if(format == 'dateTime') {
        result = dateTime;
    }
    if(format == 'dateTime24') {
        result = dateTime24;
    }
    if(format == 'dateTimeSec') {
        result = dateTimeSec;
    }
    if(format == 'dateTimeSec24') {
        result = dateTimeSec24;
    }

    //If not 24 hour format check if AM/PM is to be used.
    var is24 = format.indexOf('24');
    var isTime = format.toLowerCase().indexOf('time');
    
    if (isampm && (isTime != -1) && (is24 == -1)) {

        result = result + ' ' + ampm;
    }
    return result;   
}

function formatJSONTimeStamp(jsonDate, format, isampm) {
    var date = new Date(parseInt(jsonDate.substr(6)));
    return formatTimeStamp(date, format, isampm);
}

////////////////////////////////////////////////////////
// ASP.Net Validation Javascript Methods
////////////////////////////////////////////////////////

function unvalidate(myValidationGroup) {
    // Remove the validator control(s) from display.
    var myValidators = Page_Validators;
    if ((typeof (myValidators) != "undefined") && (myValidators != null)) {
        for (i = 0; i < myValidators.length; i++) {
            var myValidator = myValidators[i];
            if (myValidationGroup == null || IsValidationGroupMatch(myValidator, myValidationGroup)) {
                if (myValidator.style.visibility.length > 0 && myValidator.style.display.length == 0) {
                    myValidator.style.visibility = 'hidden';
                }
                else if (myValidator.style.display.length > 0 && myValidator.style.visibility.length == 0) {
                    myValidator.style.display = 'none';
                }
            }
        }
    }

    // Remove the validator summary(ies) from display.
    var mySummaries = Page_ValidationSummaries;
    if ((typeof (mySummaries) != "undefined") && (mySummaries != null)) {
        for (i = 0; i < mySummaries.length; i++) {
            var mySummary = mySummaries[i];
            if (myValidationGroup == null || IsValidationGroupMatch(mySummary, myValidationGroup)) {
                mySummary.style.display = 'none';
            }
        }
    }
}

