function trim (str) {
    str = str.replace(/^\s+/, '');
    for (var i = str.length - 1; i >= 0; i--) {
	    if (/\S/.test(str.charAt(i))) {
		    str = str.substring(0, i + 1);
		    break;
	    }
    }
    return str;
}


function validate(url) {
    // Protocol
    if (url.indexOf('://') >= 0 && url.indexOf('http://') != 0 && url.indexOf('https://') != 0) { // &&  url.indexOf('ftp://') != 0
	return 'the address must start with http:// or https://';
    }

    // domain name
    var regexp = /^((ftp|http|https):\/\/)?(([\w-]+\.)*[\w-]+\.[a-zA-Z\-0-9]{2,}|\d+\.\d+\.\d+\.\d+)/
    if (! regexp.test(url)) {
		return 'missing or wrong domain name';
    }

    regexp = /^((ftp|http|https):\/\/)?(www\.)?(safe\.mn|888\.hn|clic\.gs|go2\.gs)/[^\/]*)?$/
    if (regexp.test(url)) {
		return 'already a short link';
    }

// 	var regexp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
// 	return regexp.test(s);


    return 1;
}
