﻿function createCookie(name, value, days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
        var 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 = jQuery.trim(ca[i]);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
    }
    return null;
}

var fontswitch = {
    min: 8,
    max: 18,
    onexit: function() {
        createCookie("listsrnb_wtfsize", parseFloat($('body').css('font-size')), 365);
    },
    oninit: function() {
    var c = readCookie("listsrnb_wtfsize");
        var size = c ? c : 11;        
        $('body').css('font-size', c + ($('body').css('font-size')).slice(-2));
    },
    change: function(i) {
        var unit = parseFloat($('body').css('font-size')) + parseFloat(i);
        unit = (unit > this.max) ? this.max : unit;
        unit = (unit < this.min) ? this.min : unit;
        $('body').css('font-size', unit + ($('body').css('font-size')).slice(-2));
    }
}

window.onload = fontswitch.oninit;
window.onunload = fontswitch.onexit;

// Wraps WCF service for jquery
function Service(url) {
    this.url = url;
    this.post = function(method, _data, success) {
        $.ajax({
            type: "POST",
            url: url + "/" + method,
            data: $.toJSON(_data),
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(msg) {
                success(msg);
            }
        });
    }
    this.get = function(method, data, callback) {
        $.getJSON(url + "/" + method, data,
		function(jdata) {
		    callback(jdata);
		});
    }
}

function validateEmail(email) {
    var filter = /^(("[\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;
    return filter.test(email);
}