function ctrlInput(e, inputType) {
 var key;
 var keychar;
 var characters;

 switch (inputType) {
	case 'num':
		characters = '0123456789';
	 	break;
	case 'email':
		characters = 'abcdefghijklmnopqrstuxyvwzABCDEFGHIJKLMNOPQRSTUXYVWZ0123456789.@-_';
	 	break;
 }
	 
 if (window.event) key = window.event.keyCode;
 else if (e) key = e.which;
 else return true;
 
 keychar = String.fromCharCode(key);
 
 if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27) ) return true;
 else if (characters.indexOf(keychar) > -1) return true;
 else return false;
}


function disableEnterKey(e) {
 var key = e ? e.keyCode : window.event.keyCode;
 if(key == 13) return false;
 else return true;
}


function emailFormatCheck(str) {
 var at="@";
 var dot=".";
 var lat=str.indexOf(at);
 var lstr=str.length;
 var ldot=str.indexOf(dot);

 if (str.indexOf(at)==-1) return false;
 if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr) return false;
 if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr || str.indexOf(dot)==lstr-1 || str.indexOf(dot)==lstr-2) return false;
 if (str.indexOf(at,(lat+1))!=-1) return false;
 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot) return false;
 if (str.indexOf(dot,(lat+2))==-1) return false;
 if (str.indexOf(" ")!=-1) return false;

 return true;
}

// BEGIN - Format number type field content to 'NNN NNN NNN' format
function removeSpaces(s) {
	var temp = '';
	for (ri=0; ri<s.length; ri++) {
		if (s.substr(ri,1)!=' ')
			temp = temp + s.substr(ri,1);
	}
	return temp;
}

function strReverse(s) {
	var temp = '';
	for (i=1; i<=s.length; i++) {
		temp = temp + s.substr(s.length-i,1);
	}
	return temp;
}

function chunkSplit(s) {
	var temp = s;
	var count = 0;
	for (i=0; i<s.length; i++) {
		if (i!=0 && (i/3 == Math.round(i/3)))
			count++;
	}
	switch(count) {
		case 1:
			temp = s.substr(0,3) + ' ' + s.substr(3,s.length-1);
			break;
		case 2:
			temp = s.substr(0,3) + ' ' + s.substr(3,3) + ' ' + s.substr(6,s.length-1);
			break;
		case 3:
			temp = s.substr(0,3) + ' ' + s.substr(3,3) + ' ' + s.substr(6,3) + ' ' + s.substr(9,s.length-1);
			break;
		case 4:
			temp = s.substr(0,3) + ' ' + s.substr(3,3) + ' ' + s.substr(6,3) + ' ' + ' ' + s.substr(9,3) + s.substr(12,s.length-1);
			break;
	}
	
	return temp;
}

function format_number(obj) {
 temp = removeSpaces(obj.value);
 temp = strReverse(temp);
 obj.value = strReverse(chunkSplit(temp));
}

function format_number_value(value) {
 temp = removeSpaces(value);
 temp = strReverse(temp);
 return strReverse(chunkSplit(temp));
}
// END - Format number type field content to 'NNN NNN NNN' format
