var URLregexp = /^(https?:\/\/)(www.)?([-A-Z0-9.]+)(\/)?([-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])*/ig;
var months = { Jan: 0, Feb: 1, Mar: 2, Apr: 3, May: 4, Jun: 5, Jul: 6, Aug: 7, Sep: 8, Oct: 9, Nov: 10, Dec: 11 }
function isScrolledIntoView (elem)
{
return true;
var docViewTop = $(window).scrollTop();
var docViewBottom = docViewTop + $(window).height();
var elemTop = $(elem).offset().top;
var elemBottom = elemTop + $(elem).height();
return ((elemBottom >= docViewTop) && (elemTop <= docViewBottom));
}
function scrollToTop (div)
{ $(div).scrollTop( 0 ) }
function scrollToBottom (div)
{ $(div).scrollTop( $(div)[0].scrollHeight ) }
function warn(s)
{
// return
console.log(s)
var h = document.getElementById('msg').innerHTML
h = s + '
' + h
document.getElementById('msg').innerHTML = h
}
var image_extensions = ["jpg","gif","png","jpeg","JPEG","JPG","GIF","PNG"]
function is_image(s)
{
for (i in image_extensions)
{
if (s.indexOf(image_extensions[i]) !== -1)
return true
}
return false
}
var domain_extensions = [".com",".net",".org",".uk",".fr",".de",".ch",".info",".nu",".mu",".io","facebook.com","twitter.com"]
function has_domain(s)
{
for (var i in domain_extensions)
{
if (s.indexOf(domain_extensions[i]) !== -1)
return true
}
return false
}
function parse_blurb(s)
{
// s = linkify(s+"\n")
var parsed_lines = []
var lines = s.split("\n")
for (i in lines)
{
var parsed_words = []
var words = lines[i].split(" ")
for (j in words)
{
if (words[j].indexOf("http") !== -1)
{
if (is_image(words[j]))
parsed_words.push('
')
else
parsed_words.push(linkify(words[j]))
}
else if (words[j].indexOf("www") === 0 || has_domain(words[j]))
{
parsed_words.push(linkify("http://"+words[j]))
}
else
parsed_words.push(words[j])
}
parsed_lines.push( parsed_words.join(" ") )
}
// return s.replace(/\n/g, '
')
return parsed_lines.join("
")
}
function linkify(s)
{
var link = '';
var punctuation = '';
var end = s.length-1;
// strip the terminal punctuation mark if it's a period or comma
if (s.indexOf(".", end) === end || s.indexOf(",", end) === end)
{
punctuation = s.substr(end, 1);
s = s.substr(0, end);
}
if (s.indexOf("twitter.com") !== -1)
{
var partz = s.split("/");
var uname = '';
if (partz[partz.length-1].length)
uname = partz[partz.length-1];
else if (parts[-2].length)
uname = partz[partz.length-2];
link = '@' + uname + '';
}
else
{
// link = s.replace(URLregexp,"[$3]");
var match = URLregexp.exec(s);
if (match && match.length == 6)
{
var url = match[0] || "";
var http = match[1] || "";
var www = match[2] || "";
var domain = match[3] || "";
var slash = match[4] || "";
var uri = match[5] ? match[5].replace(/\/?index.html$/, "") : "";
link = '[' + domain + ']';
}
else
{
link = s.replace(URLregexp,"[$3]");
}
}
return link + punctuation;
}
var URL =
{
auth:
{
login: "/login",
logout: "/logout",
},
party:
{
list: "/api/party/list",
view: "/api/party/view",
edit: "/api/party/edit",
},
user:
{
all: "/api/user/all",
view: "/api/user/view",
edit: "/api/user/edit",
destroy: "/api/user/destroy",
},
};