var emailRe = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/;
var emailReGlobal = /\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))/;
var phoneRe = /^((\+\d{1,3}(-| )?\(?\d\)?(-| )?\d{1,5})|(\(?\d{2,6}\)?))(-| )?(\d{3,4})(-| )?(\d{4})(( x| ext)\d{1,5}){0,1}$/;
var phoneReGlobal = /\d{2,3}(.+|)\d{7}/;
var urlRe =  /^(((ht|f){1}(tp:[/][/]){1})|((www.){1}))[-a-zA-Z0-9@:%_\+.~#?&//=]+$/;

function trim(str){
	s = str.replace(/^(\s)*/, '');
	s = s.replace(/(\s)*$/, '');
	return s;
}

function isShort(str){
	return (trim(str).length<1);
}
function isLong(str){
	return (trim(str).length>20);
}
function isPhone(str){
	return phoneRe.test(str);
}
function containPhone(str){
	return phoneReGlobal.test(str);
}
function containEmail(str){
	return emailReGlobal.test(str);
}
function isEmail(str){
	return emailRe.test(str);
}
function isUrl(str){
	return true;
	//return urlRe.test(str);
}
function isSelect(str){
	return (str=="0");
}
function errHandle(msg,obj,doScroll){
	if(obj==null){
		alert(msg)
	} else {
		$('#'+obj).hide().html(msg).fadeIn('slow');
		var target=$('#'+obj).offset();
		num=140;
		if(doScroll){
			$(window)._scrollable().scrollTo( target.top - num, 800 );
		}
	}
}
function numbersonly(e) {
  var key;
  var keychar;

  if (window.event)
    key = window.event.keyCode;
  else if (e)
    key = e.which;
  else
    return true;
  keychar = String.fromCharCode(key);

  // control keys
  if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==127) )
    return true;

  // numbers
  else if ((("0123456789").indexOf(keychar) > -1))
    return true;
  else
    return false;
}