
function addOptions() {
    for (i = 1; i <= 31; i++) {
        $('#day').append($("<option></option>").attr("value", i).text(i));
        $('#rday').append($("<option></option>").attr("value", i).text(i));
    }

    for (i = 1; i <= 12; i++) {
        $('#month').append($("<option></option>").attr("value", i).text(i));
        $('#rmonth').append($("<option></option>").attr("value", i).text(i));
    }

    for (i = 1900; i <= 2010; i++) {
        $('#year').append($("<option></option>").attr("value", i).text(i));
        $('#ryear').append($("<option></option>").attr("value", i).text(i));
    }


}



function register() {
    //alert('register');
    hideshow('loading', 1);
    error(0);

    var regexp;
    var message;
    var rusername = $("#rusername"),
	    rfirstname = $("#rfirstname"),
        rlastname = $("#rlastname"),
        remail = $("#remail"),
        rpassword = $("#rpassword"),
        rzip = $("#rzip"),
        rgender = $("#rgender"),
        rseeking = $("#rseeking"),
        rmonth = $("#rmonth"),
        rday = $("#rday"),
        ryear = $("#ryear");
    var bValid = true;



    if (!(validateZip(rzip.val()))) {
        message = "Please enter a valid zip code.";
        bValid = false;
    }

    if (ryear.attr("selectedIndex") == 0) {
        message = "Please enter a year for DOB.";
        bValid = false;
    }

    if (rday.attr("selectedIndex") == 0) {
        message = "Please enter a day for DOB.";
        bValid = false;
    }
    if (rmonth.attr("selectedIndex") == 0) {
        message = "Please enter a month for DOB.";
        bValid = false;
    }


    if (rseeking.attr("selectedIndex") == 0) {
        message = "Please enter the gender you're seeking.";
        bValid = false;
    }

    if (rgender.attr("selectedIndex") == 0) {
        message = "Please enter a your gender.";
        bValid = false;
    }


    if (!(validatePassword(rpassword.val()))) {
        message = "Password must be between 5 to 20 characters.";
        bValid = false;
    }

    regexp = /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i, "eg. abc123@gmail.com";
    if (!(regexp.test(remail.val()))) {
        message = "Please enter a valid email.";
        bValid = false;
    }


    regexp = /^[^!?<>]{1,40}$/;
    if (!(regexp.test(rlastname.val()))) {
        message = "Please enter a valid last name.";
        bValid = false;
    }

    regexp = /^[^!?<>]{1,40}$/;
    if (!(regexp.test(rfirstname.val()))) {
        message = "Please enter a valid first name.";
        bValid = false;
    }


    regexp = /^[a-zA-Z0-9_]{5,20}$/;
    if (!(regexp.test(rusername.val()))) {
        message = "Username must be alphanumeric and between 5-20 characters.";
        bValid = false;
    }

 


    if (bValid) {
        registerdb()
    }
    else {
        error(1, message);
        hideshow('loading', 0);
    }



}



function validateZip(zip) {
    if (zip.match(/^[0-9]{5}$/)) {
        return true;
    }
    zip = zip.toUpperCase();
    if (zip.match(/^[A-Z][0-9][A-Z][0-9][A-Z][0-9]$/)) {
        return true;
    }
    if (zip.match(/^[A-Z][0-9][A-Z] [0-9][A-Z][0-9]$/)) {
        return true;
    }

    return false;
}


function validatePassword(pw, options) {
    // default options (allows any password)
    var o = {
        lower: 0,
        upper: 0,
        alpha: 0, /* lower + upper */
        numeric: 0,
        special: 0,
        length: [5, 20],
        custom: [ /* regexes and/or functions */],
        badWords: [],
        badSequenceLength: 0,
        noQwertySequences: false,
        noSequential: false
    };

    for (var property in options)
        o[property] = options[property];

    var re = {
        lower: /[a-z]/g,
        upper: /[A-Z]/g,
        alpha: /[A-Z]/gi,
        numeric: /[0-9]/g,
        special: /[\W_]/g
    },
		rule, i;

    // enforce min/max length
    if (pw.length < o.length[0] || pw.length > o.length[1])
        return false;

    // enforce lower/upper/alpha/numeric/special rules
    for (rule in re) {
        if ((pw.match(re[rule]) || []).length < o[rule])
            return false;
    }

    // enforce word ban (case insensitive)
    for (i = 0; i < o.badWords.length; i++) {
        if (pw.toLowerCase().indexOf(o.badWords[i].toLowerCase()) > -1)
            return false;
    }

    // enforce the no sequential, identical characters rule
    if (o.noSequential && /([\S\s])\1/.test(pw))
        return false;

    // enforce alphanumeric/qwerty sequence ban rules
    if (o.badSequenceLength) {
        var lower = "abcdefghijklmnopqrstuvwxyz",
			upper = lower.toUpperCase(),
			numbers = "0123456789",
			qwerty = "qwertyuiopasdfghjklzxcvbnm",
			start = o.badSequenceLength - 1,
			seq = "_" + pw.slice(0, start);
        for (i = start; i < pw.length; i++) {
            seq = seq.slice(1) + pw.charAt(i);
            if (
				lower.indexOf(seq) > -1 ||
				upper.indexOf(seq) > -1 ||
				numbers.indexOf(seq) > -1 ||
				(o.noQwertySequences && qwerty.indexOf(seq) > -1)
			) {
                return false;
            }
        }
    }

    // enforce custom regex/function rules
    for (i = 0; i < o.custom.length; i++) {
        rule = o.custom[i];
        if (rule instanceof RegExp) {
            if (!rule.test(pw))
                return false;
        } else if (rule instanceof Function) {
            if (!rule(pw))
                return false;
        }
    }

    // great success!
    return true;
}



function registerdb() {
    //    alert('logindb');
    //    alert($('#uname').val());
    //    alert("sex: " + $('#sex-select').val());

    var gender;
    var seeking;
    if ($('#rgender').val() == '1') gender = 'F';
    else gender = 'M';

    if ($('#rseeking').val() == '1') seeking = 'F';
    else seeking = 'M';

    var url = ResolveUrl("~/MasterService.asmx");
    $.ajax({
        type: "POST",
        url: url + "/Register",
        data: "{strUserName:'" + $('#rusername').val() + "',strPassword:'" + $('#rpassword').val() + "',strEmail:'" + $('#remail').val() + "',strFirstName:'" + $('#rfirstname').val() + "',strLastName:'" + $('#rlastname').val() + "',strZipCode:'" + $('#rzip').val() + "',strGender:'" + gender + "',strSeeking:'" + seeking + "',intMonth:'" + $('#rmonth').val() + "',intDay:'" + $('#rday').val() + "',intYear:'" + $('#ryear').val() + "'}",
        dataType: 'json',
        contentType: "application/json; charset=utf-8",
        success: function(msg) {
            //alert(msg.d);
            if (msg.d > 1) {
                var errortxt = ErrorMessage(msg.d);
                error(1, errortxt);
            } else {
                window.location.reload(true);
            }
            hideshow('loading', 0);
        },
        error: AjaxFailed
    });

}

function ErrorMessage(errorcode) {
    //alert(errorcode);
    var errormsg;
    switch (errorcode) {
        case 1:
            errormsg = "The user name was not found in the database.";
            break;
        case 2:
            errormsg = "The password is not formatted correctly";
            break;
        case 3:
            errormsg = "The password question is not formatted correctly.";
            break;
        case 4:
            errormsg = "The password answer is not formatted correctly.";
            break;
        case 5:
            errormsg = "The e-mail address is not formatted correctly.";
            break;
        case 6:
            errormsg = "The user name already exists in the database for the application.";
            break;
        case 7:
            errormsg = "The e-mail address already exists in the database.";
            break;
        case 8:
            errormsg = "The user was not created, for a reason defined by the provider";
            break;
        case 9:
            errormsg = "The provider user key is of an invalid type or format..";
            break;
        case 10:
            errormsg = "The user key already exists in the database for the application.";
            break;
        case 11:
            errormsg = "The an error that is not described. Please try again.";
            break;
        case 50001:
            errormsg = "Zip code doesnt exists in our system. Please try a near by zip code.";
            break;
        case 50002:
            errormsg = "Your postal code doesnt exists in our system. Please remove Dashes.";
            break;
        case 50006:
            errormsg = "The username already exists. Please try another.";
            break;
        case 50007:
            errormsg = "Profile with this email already exists. Please try another.";
            break;
        case 50011:
            errormsg = "An error occurred inserting your record. Please try another.";
            break;

        default: alert("There was an error creating your profile. Please try again.");

    }
    return errormsg;

}


 
function ResolveUrl(url) {
    if (url.indexOf("~/") == 0) {
        url = baseUrl + url.substring(2);
    }
    return url;
}

function updateTips(t) {
    var tips = $(".validateTips");
    tips
		.text(t)
		.addClass("fancybox-state-highlight");
    setTimeout(function() {
    tips.removeClass("fancybox-state-highlight", 1500);
    }, 500);
}

function checkLength(o, n, min, max) {
    if (o.val().length > max || o.val().length < min) {
        o.addClass("fancybox-state-error");
        updateTips("Length of " + n + " must be between " +
					min + " and " + max + ".");
        return false;
    } else {
        return true;
    }
}

function checkRegexp(o, regexp, n) {
    if (!(regexp.test(o.val()))) {
        o.addClass("fancybox-state-error");
        updateTips(n);
        return false;
    } else {
        return true;
    }
}
		


function ModalLogin() {
    var email = $("#modal-email"),
	    password = $("#modal-password");
    var allFields = $([]).add(email).add(password);
    var tips = $(".validateTips");
    var bValid = true;

    allFields.removeClass("fancybox-state-error");
    bValid = bValid && checkLength(email, "email", 6, 80);
    bValid = bValid && checkLength(password, "password", 5, 20);

    bValid = bValid && checkRegexp(email, /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i, "eg. ui@jquery.com");
    bValid = bValid && checkRegexp(password, /^([0-9a-zA-Z])+$/, "Password field only allow : a-z 0-9");


    //alert('Login Here');
    //alert(email.val());
    if (bValid) {
        var url = ResolveUrl("~/LoginService.asmx");
        $.ajax({
            type: "POST",
            url: url + "/Login",
            data: "{UserEmail:'" + email.val() + "',UserPassword:'" + password.val() + "'}",
            dataType: 'json',
            contentType: "application/json; charset=utf-8",
            success: function(msg) {
                    LoginSucceeded(msg.d);
                    $.fancybox.close();

            },
            error: AjaxFailed
        });
    }
    
}

function login() {
    //alert('login');
    var valid = 1;

    hideshow('login-msg', 0);
    if ($("#login-password").val().length == 0) {
        valid = 0;
        message(1, 'Please provide your password.');
    }

    if ($("#login-email").val().length == 0) {
        valid = 0;
        message(1, 'Please provide your email address.');
    }

    if ($("#login-email").val() == "Email Address") {
        valid = 0;
        message(1, 'Please provide your email address.');
    }


    if (valid == 1) logindb();

}


function logindb() {
    //alert('logindb');
    
    var url = ResolveUrl("~/LoginService.asmx");
    $.ajax({
        type: "POST",
        url: url + "/Login",
        data: "{UserEmail:'" + $('#login-email').val() + "',UserPassword:'" + $('#login-password').val() + "'}",
        dataType: 'json',
        contentType: "application/json; charset=utf-8",
        success: function(msg) {
            LoginSucceeded(msg.d);
        },
        error: AjaxFailed
    });

}



function logoff() {
    //alert('logoff');
    var url = ResolveUrl("~/LoginService.asmx");
    $.ajax({
        type: "POST",
        url: url + "/LogOff",
        data: "{}",
        dataType: 'json',
        contentType: "application/json; charset=utf-8",
        success: function(msg) {
            var url = ResolveUrl("~/Default.aspx");
            var PageUrl = unescape(location.href);
            if (PageUrl.indexOf("MemberForm") > 1) window.location = url;
            else window.location.reload(true);
        },
        error: AjaxFailed
    });

}

function LoginSucceeded(result) {
    if (result) {
        hideshow('login-msg', 0);
        //Set Features after login
        isAuthenticated();
        isOnline();
        setChat();
        var email = $('#login-email').val();
        $('#lblLoggedOn').val(email);
        
        //Check for ReturnUrl & reload
        var ReturnUrl = unescape(getQuerystring('ReturnUrl'));
        if (ReturnUrl.length > 0) {
            var url = ResolveUrl(ReturnUrl);
            window.location = url;
            return;
        }
        //Check for initial page & reload
        var PageUrl = unescape(location.href).toLowerCase();
        //alert(PageUrl);
        if ((PageUrl == 'http://www.kissburg.com') || (PageUrl == 'http://kissburg.com') || (PageUrl == 'http://www.kissburg.com/')) {
            window.location.reload(true);
            return;
        }
        //Check for Default page & reload
        var PageUrl = unescape(location.href).toLowerCase();
        //alert(PageUrl);
        if ((PageUrl.indexOf("default.aspx") > 1)) {
            window.location.reload(true);
            return;
        }
        //Check for Register page & reload
        var PageUrl = unescape(location.href).toLowerCase();
        if ((PageUrl.indexOf("register.aspx") > 1)) {
            window.location.reload(true);
            return;
        }
        //Check MemberProfile & reload
        var PageUrl = unescape(location.href).toLowerCase();
        if (PageUrl.indexOf("memberprofile") > 1) {
            window.location.reload(true);
            return;
        }
        
    } else {
        hideshow('login-msg', 1);
        $('#login-msg').html('Invalid Login. Please try again');
    }
}




 function isAuthenticated() {
    //alert('isAuthenticated');
    var url = ResolveUrl("~/LoginService.asmx");

    $.ajax({
        type: "POST",
        url: url + "/IsAuthenticated",
        data: "{}",
        dataType: 'json',
        contentType: "application/json; charset=utf-8",
        success: function(msg) {
            //alert(msg.d);
            if (msg.d) {
                loadStats();
                getUserEmail();
                //Login Info
                display('header-login', 'none');
                display('header-logged-on', 'inline');
                display('member-panel', 'block');
                display('jcarousel-label', 'none');
                display('header-bottom', 'none');
                //Register.aspx Page
                $('.register-new').css('display', 'none');
                $('.register-update').css('display', 'block');
                $('#login-facebook').css('display', 'none');
                $('#join-now').css('display', 'none');
                $('#login-facebook-wait').css('display', 'none');
                
                setTimeout('isAuthenticated();', 10000);
            }
            else {
                //Login Info
                display('header-login', 'inline');
                display('header-logged-on', 'none');
                display('member-panel', 'none');
                display('jcarousel-label', 'block');
                display('header-bottom', 'block');
                //Register.aspx Page
                $('.register-new').css('display', 'block');
                $('.register-update').css('display', 'none');
                $('#login-facebook').css('display', 'block');
                $('#join-now').css('display', 'block');
                $('#login-facebook-wait').css('display', 'none');

                var PageUrl = unescape(location.href).toLowerCase();
                if (PageUrl.indexOf("memberprofile") > 1) $("#modal-login").trigger('click');

            }
        }

    });
   

}




function isOnline() {
    //alert('isOnline');
    var url = ResolveUrl("~/LoginService.asmx");
    $.ajax({
        type: "POST",
        url: url + "/isOnline",
        data: "{}",
        dataType: 'json',
        contentType: "application/json; charset=utf-8",
        success: function(msg) {
            //alert('isOnline:' + msg.d);
            var src;
            if (msg.d) {
                boolOnline = true;
                src = $('#imgOnline').attr("src").replace("Off", "On");
            }
            else {
                boolOnline = false;
                src = $('#imgOnline').attr("src").replace("On", "Off");
            }
            //alert(src);
            $('#imgOnline').attr("src", src);



        }
    });

}


function loadStats() {
    //alert('setChat');
    var url = ResolveUrl("~/MasterService.asmx");
    $.ajax({
        type: "POST",
        url: url + "/LoadStatistics",
        data: "{}",
        dataType: 'json',
        contentType: "application/json; charset=utf-8",
        success: function (msg) {
            //alert(msg.d);
            //alert(msg);
            //Returns 3 Stats(New Messages, New Kisses, New Views)
            var items = msg.d.split('|');
            var newMessages = items[0];
            var newKisses = items[1];
            var totalViews = items[2];
            if ((newMessages > 0) || (newKisses > 0)) display('header-messages', 'inline');
            else display('header-messages', 'none');

            if (newMessages > 0) {
                $('#messages-emails').html("New Messages(" + newMessages + ")");
                $('#popup-emails').html("New Messages(" + newMessages + ")").css("color", "red");
            } else {
                $('#messages-emails').html("");
                $('#popup-emails').html("");
            }
            if (newKisses > 0) {
                $('#messages-kisses').html("New Kisses(" + newKisses + ")");
                $('#popup-kisses').html("New Kisses(" + newKisses + ")").css("color", "red");
            }else {
                $('#messages-kisses').html("");
                $('#popup-kisses').html("");
            }

            if (totalViews > 0) {
                $('#popup-looking').html("People Looking(" + totalViews + ")").css("color", "red");
            }

        }
    });

}

function setChat() {
    //alert('setChat');
    var url = ResolveUrl("~/LoginService.asmx");
    $.ajax({
        type: "POST",
        url: url + "/GetUserName",
        data: "{}",
        dataType: 'json',
        contentType: "application/json; charset=utf-8",
        success: function (msg) {
            //alert(msg)
            //alert(msg.d)
            if (msg.d.length > 0) {
                setUsername(msg.d);
            }
            else {
                closeAllChatBoxes();
            }
        }
    });

}


function chatToggle() {
    //alert('chatToggle');

    var OnOff = 0;
    var findIndex = $('#imgOnline').attr("src").indexOf("Off");
    if (findIndex >= 0) OnOff = 1;
    
    var url = ResolveUrl("~/LoginService.asmx");
    $.ajax({
        type: "POST",
        url: url + "/ChatLogOnOff",
        data: "{OnOff:'" + OnOff + "'}",
        dataType: 'json',
        contentType: "application/json; charset=utf-8",
        success: function(msg) {
            isOnline();
        }
    });

}



function getUserEmail() {
    //alert('getUserEmail');
    var url = ResolveUrl("~/LoginService.asmx");
    $.ajax({
        type: "POST",
        url: url + "/GetUserEmail",
        data: "{}",
        dataType: 'json',
        contentType: "application/json; charset=utf-8",
        success: function(msg) {
            //alert(msg.d);
            $('#lblLoggedOn').val(msg.d);

        }
    });

}


function deleteFavorite(favoriteID, type) {
    //alert(messageID);
    //var selector = "tr[id *= 'Message_" + messageID + "']";
    //alert(selector);

    jConfirm('Are you sure you want to delete this favorite?', 'Please Confirm Deletion', function(r) {

        if (r) {
            var url = ResolveUrl("~/MasterService.asmx");
            $.ajax({
                type: "POST",
                url: url + "/DeleteFavorite",
                data: "{favoriteID:'" + favoriteID + "'}",
                dataType: 'json',
                contentType: "application/json; charset=utf-8",
                success: function(msg) {
                    //Hide the row on successful delete.
                    $("tr[id *= 'Favorite_" + favoriteID + "']").css('display', 'none');
                },
                error: AjaxFailed
            });
        }


    });
}


function deleteMessage(messageID, type) {
    //alert(messageID);
    //var selector = "tr[id *= 'Message_" + messageID + "']";
    //alert(selector);

    jConfirm('Are you sure you want to delete this message?', 'Please Confirm Deletion', function(r) {

        if (r) {
            var url = ResolveUrl("~/MasterService.asmx");
            $.ajax({
                type: "POST",
                url: url + "/DeleteMessage",
                data: "{messageID:'" + messageID + "',type:'" + type + "'}",
                dataType: 'json',
                contentType: "application/json; charset=utf-8",
                success: function(msg) {
                    //Hide the row on successful delete.
                    $("tr[id *= 'Message_" + messageID + "']").css('display', 'none');
                },
                error: AjaxFailed
            });
        }


    });
}


function isNumber(n) {
    return !isNaN(parseFloat(n)) && isFinite(n);
}



function replaceHTML(str) {

    str = str.replace(/&quot;/g, '"');
    str = str.replace(/&amp;/g, "&");
    str = str.replace(/&lt;/g, "<");
    str = str.replace(/&gt;/g, ">");

    return str;

}

function deleteInboxChecked(type){
    //alert('deleteMessageChecked');
    var messageIDs = '';

    if ($("input:checked").length == 0) return;

    jConfirm('Are you sure you want to delete these messages?', 'Please Confirm Deletion', function(r) {
        if (r) {
            $("input:checked").each(function(i) {
                //alert(this.id);
                var startIndex = this.id.indexOf('Message_') + 8;
                var endIndex = this.id.indexOf('chkBxSelect') - 1;
                var messageID = this.id.substring(startIndex, endIndex);
                if (isNumber(messageID)){
                    if (messageIDs.length > 0) messageIDs = messageIDs + ',';
                    messageIDs = messageIDs + messageID;
                    $("tr[id *= 'Message_" + messageID + "']").css('display', 'none');
                }
            });


            var url = ResolveUrl("~/MasterService.asmx");
            $.ajax({
                type: "POST",
                url: url + "/DeleteMessage",
                data: "{messageID:'" + messageIDs + "',type:'" + type + "'}",
                dataType: 'json',
                contentType: "application/json; charset=utf-8",
                success: function(msg) {
                },
                error: AjaxFailed
            });

        }
    });
    
}

function sendMessage(messageID) {

    var message = ($("[id *= 'Message_" + messageID + "_txtReply']").val());
    //alert(message);
    //alert(escape(message));
    
    if (message.length > 0)
    {
        var url = ResolveUrl("~/MasterService.asmx");
        $.ajax({
            type: "POST",
            url: url + "/SendEmailReply",
            data: "{MessageID:'" + messageID + "',ReplyMessage:'" + escape(message) + "'}",
            dataType: 'json',
            contentType: "application/json; charset=utf-8",
            success: function(msg) {
                showMessage("Email Successfully Sent");
                $("[id *= 'Message_" + messageID + "_txtReply']").val('');
                toggleMessage(messageID);
            },
            error: AjaxFailed
        });

    }else{
        showMessage("You're missing a message. Please try again.");
    }

}



function readInboxChecked() {
    //alert('readInboxChecked');

    $("input:checked").each(function(i) {
        //alert(this.id);
        var startIndex = this.id.indexOf('Message_') + 8;
        var endIndex = this.id.indexOf('chkBxSelect') - 1;
        var messageID = this.id.substring(startIndex, endIndex);

        //If message is unread then set isNew status to 0
        if ($("[id *= 'Message_" + messageID + "_lnkMessage']").css('color') == 'Red') {
            $("[id *= 'Message_" + messageID + "_lnkMessage']").css('color', 'Blue');
            $("[id *= 'Message_" + messageID + "_imgMail']").attr("src", "");
            emailRead(messageID);
        }

    });

}



function emailRead(messageID) {

    var url = ResolveUrl("~/MasterService.asmx");
    $.ajax({
        type: "POST",
        url: url + "/EmailRead",
        data: "{MessageID:'" + messageID + "'}",
        dataType: 'json',
        contentType: "application/json; charset=utf-8",
        success: function(msg) {
            loadStats();
        },
        error: AjaxFailed
    });



}


function toggleMessage(messageID) {

    if ($("[id *= 'Message_" + messageID + "_lblMessageShort']").css('display') == 'none') {
        $("[id *= 'Message_" + messageID + "_lblMessageShort']").css('display', 'block');
        $("[id *= 'Message_" + messageID + "_divMessageLong']").css('display', 'none');
    }
    else {
        $("[id *= 'Message_" + messageID + "_lblMessageShort']").css('display', 'none');
        $("[id *= 'Message_" + messageID + "_divMessageLong']").css({ 'display': 'block', 'font-size': '12px' });
        $("[id *= 'Message_" + messageID + "_lblMessageLong']").css({ 'font-size': '12px' });
    }

    //If message is unread then set isNew status to 0
    if ($("[id *= 'Message_" + messageID + "_lnkMessage']").css('color') == 'Red'){
        $("[id *= 'Message_" + messageID + "_lnkMessage']").css('color', 'Blue');
        $("[id *= 'Message_" + messageID + "_imgMail']").attr("src", "");
        emailRead(messageID);
    }


}





function mycarousel_itemLoadCallback(carousel, state) {
    // Since we get all URLs in one file, we simply add all items at once and set the size accordingly.
    if (state != 'init')
        return;

    var url = ResolveUrl("~/MasterService.asmx");
    $.ajax({
        type: "POST",
        url: url +  "/CarouselImages",
        data: "{}",
        dataType: 'json',
        contentType: "application/json; charset=utf-8",
        success: function (data) {
            //alert(data)
            mycarousel_itemAddCallback(carousel, carousel.first, carousel.last, data.d);        
        },
        error: AjaxFailed
    });


};

function mycarousel_itemAddCallback(carousel, first, last, data) {
    // Simply add all items at once and set the size accordingly.
    var items = data.split('|');

    for (i = 0; i < items.length - 1; i++) {
        carousel.add(i + 1, mycarousel_getItemHTML(items[i]));
    }

    carousel.size(items.length - 1);
};


function mycarousel_getItemHTML(ImageId) {
    //alert(ImageId);
    var url1 = ResolveUrl("~/UserForms/MemberProfile.aspx");
    var url2 = ResolveUrl("~/ImageViewer.aspx");
    return '<a  href="'  + url1 + '?ImageId=' + ImageId + '&" ><img border="0" src="' + url2 + '?ImageID=' + ImageId + '&ThumbNail=Yes&" width="75" height="75" alt="Kissburg Profiles" /></a>';
};








function loadTicker() {
    var url = ResolveUrl("~/MasterService.asmx");
    //alert(url);
    $.ajax({
        type: "POST",
        url: url + "/LoadTicker",
        data: "{}",
        dataType: 'json',
        contentType: "application/json; charset=utf-8",
        success: function(data) {
            buildTicker(data.d);
        },
        error: AjaxFailed
    });


};



function buildTicker(data) {
    //alert(data.length);
    var url1 = ResolveUrl("~/UserForms/MemberProfile.aspx");
    var url2 = ResolveUrl("~/ImageViewer.aspx");

    var JData = JSON.parse(data);

    if (data.length < 5) {
        error(true, "No Data Yet.");
        return;
    }

    //alert(JData.rows.length);

    for (var x = 0; x < JData.rows.length; x++) {
        var JRow = JData.rows[x];
        //alert(JRow);
        var ID = JRow.username;
        //alert(ID);
    }


    var buildHTML = '';
    buildHTML += ' <ul>';

    for (var i = 0; i < JData.rows.length; i++) {
        JRow = JData.rows[i];
        buildHTML += '<li>';
        buildHTML += '<div class="thumbnail">';
        buildHTML += '<a  href="' + url1 + '?ImageId=' + JRow.profile_image_id + '&" ><img border="0" src="' + url2 + '?ImageID=' + JRow.profile_image_id + '&ThumbNail=Yes&" width="75" height="75" alt="Kissburg Profiles" /></a>';
        buildHTML += "</div>";

        buildHTML += '<div class="info">';
        buildHTML += '<span class="cat">' + JRow.ticker_description + '</span>';
        buildHTML += "</div>";


        buildHTML += '<div class="clear"></div>';
        buildHTML += '</li>';

    }
    buildHTML += "</ul>";

    //alert(buildHTML);

    $("#newsticker").html(buildHTML);


    $(function() {
        $(".newsticker-jcarousellite").jCarouselLite({
            vertical: true,
            hoverPause: true,
            visible: 3,
            auto: 500,
            speed: 2000
        });
    });

}


















function AjaxFailed(result) {
    //alert(result.status + ' ' + result.statusText);
}


function getQuerystring(key, default_) {
    //alert('111');
    if (default_ == null) default_ = "";
    key = key.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
    var regex = new RegExp("[\\?&]" + key + "=([^&#]*)");
    var qs = regex.exec(window.location.href);
    if (qs == null)
        return default_;
    else
        return qs[1];
}



function getReturnUrl() {
    var indexStart;
    var hn = window.location.hostname;

    if (hn.toLowerCase().indexOf('localhost') >= 0) {
        if (window.location.href.toLowerCase().indexOf(':') >= 0)
            indexStart = window.location.href.indexOf(hn) + hn.length + 6;
        else
            indexStart = window.location.href.toLowerCase().indexOf('csite') + 5;
    } else {
        indexStart = window.location.href.indexOf(hn) + hn.length;
    }
    //alert("indexStart: " + indexStart);
    var indexEnd = window.location.href.indexOf("aspx") + 4;
    //alert("indexEnd: " + indexEnd);

    var returnUrl = window.location.href.substring(indexStart, indexEnd);

    //if home page or login then return url is not necessary
    if (window.location.href.toLowerCase().indexOf("aspx") == -1) returnUrl = "";
    if (window.location.href.toLowerCase().indexOf("default") >= 0) returnUrl = "";
    if (window.location.href.toLowerCase().indexOf("login") >= 0) returnUrl = "";
    if (window.location.href.toLowerCase().indexOf("?") >= 0) returnUrl = "";

    //alert(returnUrl);
    return returnUrl;
}

function facebookSignIn() {
    //alert('Try Sign In');
    var returnUrl = getReturnUrl();
    var signupUrl = "http://www.Kissburg.com/MemberForms/SignUpFacebook.aspx"

    if (returnUrl.length > 0) {
        signupUrl = signupUrl + "?ReturnUrl=" + returnUrl;
    }
    
    //alert(signupUrl);
    $('#login-facebook').css('display', 'none');
    $('#login-facebook-wait').css('display', 'block');
    setTimeout('isAuthenticated();', 10000);

    FB.login(function (response) {
        if (response.authResponse) {
            var accessToken = response.authResponse.accessToken;
            //alert(accessToken);
            FB.api('/me', function (response) {
                //alert(response.id);
                //alert(response.name);

                if (response) {
                    //alert(signupUrl + "?u=" + response.id + "&t=" + accessToken);
                    window.location = signupUrl + "?u=" + response.id + "&t=" + accessToken;
                } else {
                    alert('Facebook Connect is currently down. Please login thru our site.')
                }

            });


        } else {
            // user is not logged in
            alert('PLEASE LOGIN')
        }
    }, { scope: 'email,user_about_me,user_birthday,user_events,user_hometown,user_location,user_interests,user_likes,user_relationship_details,user_status' });

    //}, { perms: 'read_stream,publish_stream,offline_access' });

}



function display(el, type) {
    $('#' + el).css('display', type);
}


function displayshow(el, act) {
    if (act) $('#' + el).css('display', 'inline');
    else $('#' + el).css('display', 'none');
}

function hideshow(el, act) {
    if (act) $('#' + el).css('visibility', 'visible');
    else $('#' + el).css('visibility', 'hidden');
}

function error(act, txt) {
    hideshow('error', act);
    if (txt) $('#error').html(txt);
}


function message(act, txt) {
    hideshow('login-msg', act);
    if (txt) $('#login-msg').html(txt);
}

function closeDialog() {
    $('#loading').css('visibility', 'hidden');
    $('#uploader').css('visibility', 'hidden');
    $('#cropper').css('visibility', 'hidden');
    $('#message').css('visibility', 'hidden');
}


function hideMessage() {
    $('#message').css('visibility', 'hidden');
}

function showMessage(messageText) {
    $('#message').css('visibility', 'visible');
    $('#messageText').html(messageText);
}

function hideUploader() {
    $('#uploader').css('visibility', 'hidden');
}
function showUploader() {
    $('#uploader').css('visibility', 'visible');
}
function hideCropper() {
    $('#cropper').css('visibility', 'hidden');
}
function showCropper() {
    $('#cropper').css('visibility', 'visible');
}






