/*
 * This file contains various javascript utilities.
 */
String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g, ''); };

function isValidUrl(url)
{
    var baseExp = /^(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/;
    var domainRegExp = new RegExp("\.ag$|\.am$|\.asia$|\.at$|\.be$|\.biz$|\.ca$|\.cc$|\.cn$|\.com$|\.de$|\.eu$|\.fm$|\.info$|\.jobs$|\.jp$|\.mobi$|\.ms$|\.name$|\.net$|\.nu$|\.nz$|\.org$|\.tc$|\.tv$|\.tw$|\.uk$|\.us$|\.vg$|\.ws$");
    
    return baseExp.test(url) && domainRegExp.test(url);
}

function isValidEmail(email)
{
    var RegExp = /^((([a-z]|[0-9]|!|#|$|%|&|'|\*|\+|\-|\/|=|\?|\^|_|`|\{|\||\}|~)+(\.([a-z]|[0-9]|!|#|$|%|&|'|\*|\+|\-|\/|=|\?|\^|_|`|\{|\||\}|~)+)*)@((((([a-z]|[0-9])([a-z]|[0-9]|\-){0,61}([a-z]|[0-9])\.))*([a-z]|[0-9])([a-z]|[0-9]|\-){0,61}([a-z]|[0-9])\.)[\w]{2,4}|(((([0-9]){1,3}\.){3}([0-9]){1,3}))|(\[((([0-9]){1,3}\.){3}([0-9]){1,3})\])))$/

    return RegExp.test(email);
} 
