//
//  Working with cookies
//
function createCookie(name, value, days) {
    var expires = "";
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
        expires = "; expires=" + date.toGMTString();
    }
    else expires = "";
    document.cookie = name + "=" + value + expires + "; path=/";
}

function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for (var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) == ' ') c = c.substring(1, c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
    }
    return null;
}

function eraseCookie(name) {
    createCookie(name, "", -1);
}

function isValidEmail(value) {
    // validate the email format
    //var emailRegex = '^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)';
    pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
    //alert('isValidEmail' + pattern.test(value) + value);
    return pattern.test(value);
}

function isValidEmailList(value) {
    var strEmails = value.replace(new RegExp(",", 'g'), ";");
    var arrEmails = strEmails.split(";");
    if (arrEmails != 0) {
        for (var i = 0; i < arrEmails.length; i++) {
            arrEmails[i] = $.trim(arrEmails[i]);
            /* ignore empty emails */
            if (arrEmails[i] != "") {
                if (!isValidEmail(arrEmails[i])) {
                    return false;
                }
            }
        }
    }

    return true;
}

function isValidZip(value) {
    // validate the postal code format
    //zipPattern = new RegExp(/^(\d{5}$)/i);
    zipPattern = new RegExp(/^((\d{5}(-\d{4})?$)|([ABCEGHJKLMNPRSTVXY]{1}\d{1}[A-Z]{1}\s*\d{1}[A-Z]{1}\d{1})$)/i);
    //alert('isValidZip' + pattern.test(value) + value);
    return zipPattern.test(value);
}

function savesubscription(url) {
        $.ajax({
        type: "GET",
        url: url,
            success: function(result) {
                result = eval('(' + result + ')');
                if (result.Success) {
                    $("#result").html("You have successfully subscribed to SocialToddler newsletter.");
                } else {
                    if (result.Message && result.Message.length > 0) {
                        $("#result").html(result.Message);
                    } else {
                        $("#result").html("Failed to subscribe. Please try again or contact us.");
                    }
                }
            }
        });
}

// send friend ask to connect invite
function friendAskToConnect(url) {
    $.ajax({
        type: "GET",
        url: url,
        success: function(result) {
            result = eval('(' + result + ')');
            if (result.Success) {
                $("#result").html("You have successfully connected.");
            } else {
                if (result.Message && result.Message.length > 0) {
                    $("#result").html(result.Message);
                } else {
                    $("#result").html("Failed to connect, Please try again.");
                }
            }
        }
    });
}

function ajaxFileUpload(url) {
    //shows/hides the ajax loading image while requests are being made 
    alert("Inside Main");
    $("#loading").ajaxStart(function() {
        $(this).show();
        alert("Inside ajax start");
    }).ajaxComplete(function() {
        $(this).hide();
    });

    $.ajaxFileUpload
    ({
        //url: 'functions.php?action=upload', //our url 
        url: url,
        secureuri: false,
        fileElementId: 'Image', //input form id ? 
        dataType: 'json', //retrieves json type data from php 
        success: function(result) {
            //if error 
            if (typeof (data.error) != 'undefined') {
                alert(data.error);
                //if no error 
            } else {
                //show the image once upload is complete.
                // create image and append the html inside <div id=#image>
            alert("function success");
                //$("#previewimg").append($(document.createElement("img")).attr({ src: "uploads/" + result.code, id: "jcrop" })).show();
                //$("#previewimg").load("MyThumbnailPhoto.aspx", { symbol: $("#txtSymbol").val() });   

                //hide the upload form once upload is complete 
                //$("#upload").slideUp();
            }
        }
    })
    return false;
}

function checkTime(startDate, startTimeHr, startTimeMin, startTimeAmPm, endTimeHr, endTimeMin, endTimeAmPm) {
    var startTimeHrNum;
    var endTimeHrNum;
    
    // calculate year, month, day from startdate
    var year = startDate.getFullYear();
    var month = startDate.getMonth();
    var day = startDate.getDate();

    // convert starttime hour to 24-hr format
    if (startTimeAmPm == "PM") {
        if (Number(startTimeHr) != 12) {
            startTimeHrNum = Number(startTimeHr) + 12;
        }
        else {
            startTimeHrNum = 12;
        }
    }
    // convert starttime hour to 24-hr format
    if (startTimeAmPm == "AM") {
        if (Number(startTimeHr) == 12) {
            startTimeHrNum = 0;
        }
        else {
            startTimeHrNum = Number(startTimeHr);
        }
    }

    // convert endtime hour to 24-hr format
    if (endTimeAmPm == "PM") {
        if (Number(endTimeHr) != 12) {
            endTimeHrNum = Number(endTimeHr) + 12;
        }
        else {
            endTimeHrNum = 12;
        }
    }
    // convert endtime hour to 24-hr format
    if (endTimeAmPm == "AM") {
        if (Number(endTimeHr) == 12) {
            endTimeHrNum = 0;
        }
        else {
            endTimeHrNum = Number(endTimeHr);
        }
    }

    var startTimeDate = new Date(year, month, day, startTimeHrNum, startTimeMin, 0, 0);
    var endTimeDate = new Date(year, month, day, endTimeHrNum, endTimeMin, 0, 0);
    if (startTimeDate > endTimeDate) {
        if (!(startTimeAmPm == "PM" && endTimeAmPm == "AM"))
        return false;
    }

    return true;

}

function showFacebook() {
    $('#lbl_username').hide('slow');
    $('#lbl_password').hide('slow');
    $('#uid').hide('slow');
    $('#password').hide('slow');
    $('#findbutton').hide('slow');
    $('#cancel').hide('slow');
    $('.skip').hide('slow');
    $('.find').hide('slow');
    $('#fb_login_button').attr('style', 'display:block;');
    $('#facebook').show('slow');
//    $('#fb_login_button').show('slow');
}

function showLoginPassword() {
    $('#lbl_username').show('slow');
    $('#lbl_password').show('slow');
    $('#uid').show('slow');
    $('#password').show('slow');
    $('#findbutton').show('slow');
    $('#cancel').show('slow');
    $('.skip').show('slow');
    $('.find').show('slow');
    $('#fb_login_button').attr('style', 'display:none;');
//    $('#fb_login_button').hide('slow');
//    $('#facebook').hide('slow');
}

function showInviteDefault() {
    $('#lbl_username').hide('slow');
    $('#lbl_password').hide('slow');
    $('#uid').hide('slow');
    $('#password').hide('slow');
    $('#findbutton').hide('slow');
    $('#cancel').hide('slow');
    $('.skip').show('slow');
    $('.find').show('slow');
    $('#fb_login_button').attr('style', 'display:none;');
//    $('#facebook').hide('slow');

}

function changeemail(email) {
    if (email == "select") showInviteDefault();
    else if (email == "facebook") showFacebook();
    else showLoginPassword();
}

function changeGrpMeetDropDown(repeats) {
    /* hide start date and time for select, occassionally and online-only */
    if (repeats == 0 || repeats == 4 || repeats == 5) {
        $('#divStartDate').hide();
        $('#divMeetingTime').hide();
    } else {
        $('#divStartDate').show();
        $('#divMeetingTime').show();
    }

    if (repeats == 2) {
        $('#dayofweek').show();
    } else {
        $('#dayofweek').hide();
    }
}

function checkDateSelected(startDate) {
    var myDate = new Date(startDate);
    var wDay;
    //var weekday_name_array = new Array("Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday")	//predefine weekday names
    if ($('#repeats').val() == 2) 
    {
        /* get selected days of week for weekly meetings */
        var selDaysOfWeek = [];
        $(':checkbox:checked').each(function(i) {
            selDaysOfWeek[i] = $(this).val();
        });
        for (var i = 0; i < selDaysOfWeek.length; i++) {
            var dayOfWeek = myDate.getDay();
            if (dayOfWeek == 0) wDay = "Sunday";
            if (dayOfWeek == 1) wDay = "Monday";
            if (dayOfWeek == 2) wDay = "Tuesday";
            if (dayOfWeek == 3) wDay = "Wednesday";
            if (dayOfWeek == 4) wDay = "Thursday";
            if (dayOfWeek == 5) wDay = "Friday";
            if (dayOfWeek == 6) wDay = "Saturday";
            if (selDaysOfWeek[i] == wDay) {
                return true;
            }
        }
        $("#startdateerrors").show('fast');
        return false;
    }
    return true;
}

function submitForm() {
    if ($('#email').val() == 'hotmail') {
        window.open('/WL/default.aspx?WL_login=1', 'WindowsLiveLogin');
        return false;
    }
    else
        return true;
}

function cancelForm(url) {
    if (url != '') {
        window.location.href = url;
        return false;
    }
    else
        return true;
}

function checkfriendsChecked() {
    if ($('input[type=checkbox]:checked').length) {
        return true;
    }
    else
        alert('Please make a selection by clicking on a checkbox.');
    return false;
}

function selectFriend(friend) {
    var email = friend.split('|')[1];
    var emailbox = $('#email').val();
    if (emailbox.indexOf(email) > 0) {
        emailbox = emailbox.replace(',' + email, '');
        emailbox = emailbox.replace(email, '');
        $('#email').val(emailbox);
    }
    else if (emailbox.indexOf(email) == 0) {
        emailbox = emailbox.replace(email + ',', '');
        emailbox = emailbox.replace(email, '');
        $('#email').val(emailbox);
    }
    else {
        if (emailbox.length > 0) $('#email').val(emailbox + ',' + email);
        else $('#email').val(email);
    }
    return false;
    if ($('input[type=checkbox]:checked').length) {
        return true;
    }
    else
        alert('Please make a selection by clicking on a checkbox.');
    return false;
}

function toggle_visibility(id) {
    var e = document.getElementById(id);
    if (e.style.display == 'block')
        e.style.display = 'none';
    else
        e.style.display = 'block';
}

function ask_to_join(groupid, title, location, url) {
    $('#modal_ask_to_join').css({ "display": "block" });
    $('#ask_to_join_title').html(title);
    $('#ask_to_join_location').html(location);
    $('#ask_to_join_groupid').val(groupid);
    $('#ask_to_join_img').attr("src", url);
}

function leave_public_group(groupid) {
    $('#modal_join_public_group').css({ "display": "block" });
    $('#leave_public_group_groupid').val(groupid);
}

function join_public_group(groupid) {
    $('#modal_leave_public_group').css({ "display": "block" });
    $('#join_public_group_groupid').val(groupid);
}

function modal_delete_group(groupid) {
    $('#modal_delete_group').css({ "display": "block" });
    $('#groupId').val(groupid);
}

function modal_delete_photo(photoid) {
    $('#modal_delete_photo').css({ "display": "block" });
    $('#delete_personalcard_image_id').val(photoid);
}

function modal_delete_group_photo(photoid, groupid) {
    $('#modal_delete_group_photo').css({ "display": "block" });
    $('#delete_group_image_id').val(photoid);
    $('#group_id').val(groupid);
}

function modal_ask_to_connect(id, name, location, url) {
    $('#modal_ask_to_connect').css({ "display": "block" });
    $('#ask_to_connect_name').html(name);
    $('#ask_to_connect_location').html(location);
    $('#ask_to_connect_id').val(id);
    $('#ask_to_connect_photo').attr("src", url);
}

function add_to_calendar(eventid) {
    $('#modal_add_to_calendar').css({ "display": "block" });
    $('#public_event_id').val(eventid);
}

function modal_tell_friend(eventid) {
    $('#modal_tell_friend').css({ "display": "block" });
    $('#event_id').val(eventid);
}

function rsvp(eventid, url) {
    $.getJSON(url + "/" + eventid, null, function (data) {
        var kid_template = "<label>KIDNAME:</label><select name=rsvp_kidKIDID><option value=0 SELECTED0>not yet responded</option><option value=1 SELECTED1>attending</option><option value=2 SELECTED2>not attending</option><option value=3 SELECTED3>maybe attending</option></select>";
        var kids_html = "";
        var kids = data.split(';');
        for (i = 0; i < kids.length - 1; i++) {
            var kid = kids[i].split("|");
            if (kid.length > 0) {
                var temp_html = kid_template.replace(/KIDID/, kid[0]).replace(/KIDNAME/, kid[1]);
                switch (kid[2]) {
                    case "NotYetResponded":
                        temp_html = temp_html.replace(/SELECTED0/, "selected=selected").replace(/SELECTED1/, "").replace(/SELECTED2/, "").replace(/SELECTED3/, "");
                        break;
                    case "Attending":
                        temp_html = temp_html.replace(/SELECTED0/, "").replace(/SELECTED1/, "selected=selected").replace(/SELECTED2/, "").replace(/SELECTED3/, "");
                        break;
                    case "NotAttending":
                        temp_html = temp_html.replace(/SELECTED0/, "").replace(/SELECTED1/, "").replace(/SELECTED2/, "selected=selected").replace(/SELECTED3/, "");
                        break;
                    case "MayBeAttending":
                        temp_html = temp_html.replace(/SELECTED0/, "").replace(/SELECTED1/, "").replace(/SELECTED2/, "").replace(/SELECTED3/, "selected=selected");
                        break;

                }
                kids_html += temp_html;
            }
        }
        $('#rsvp_html').html(kids_html);
    });
    $('#rsvp_eventid').val(eventid);
}
