//Reverse Text Generator (Javascript) is Copyright 2011 TextMechanic.com All Rights Reserved

function cleartext(){
document.getElementById('input_output').value = '';}
String.prototype.swapcase = function(){
var toswap = this;
var toswaplen = toswap.length;
var uplet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
var lolet = 'abcdefghijklmnopqrstuvwxyz';
word = toswap.split('');
wordlen = word.length;
var first = word[0];
var last = word[wordlen-1];
if (uplet.indexOf(first) == -1) upperc = 0; else upperc = 1;
if (lolet.indexOf(last) == -1) lowerc = 0; else lowerc = 1;
if (upperc + lowerc == 2){
toswap = toswap.split('');
toswap = toswap.slice(1,toswaplen-1);
toswap.unshift(first.toLowerCase());
toswap.push(last.toUpperCase());
toswap = toswap.join('');
return toswap;} else return toswap;}
function reversetext(){
var text = document.getElementById('input_output').value;
text = text.replace(/\r/gi,'');
text = text.replace(/([^a-z 0-9])/gi,' $1 ');
text = text.split('').reverse().join('');
text = text.replace(/ ([^a-z 0-9]) /gi,'$1');
document.getElementById('input_output').value = text;}
function fliptext(){
var text = document.getElementById('input_output').value;
text = text.replace(/\r/gi,'');
text = text.replace(/([^a-z 0-9\n])/gi,' $1 ');
text = text.split('\n').reverse().join('\n');
text = text.split('').reverse().join('');
text = text.replace(/ ([^a-z 0-9\n]) /gi,'$1');
document.getElementById('input_output').value = text;}
function reversewords(){
var text = document.getElementById('input_output').value;
text = text.replace(/\r/gi,'');
text = text.replace(/([^a-z 0-9])/gi,' $1 ');
text = text.replace(/\n/g,' \n ').split(' ').reverse().join(' ').replace(/ \n /g,'\n');
text = text.replace(/ ([^a-z 0-9]) /gi,'$1');
document.getElementById('input_output').value = text;}
function flipwords(){
var text = document.getElementById('input_output').value;
text = text.replace(/\r/gi,'');
text = text.replace(/([^a-z 0-9\n])/gi,' $1 ');
text = text.split('\n').reverse().join('\n');
text = text.replace(/\n/g,' \n ').split(' ').reverse().join(' ').replace(/ \n /g,'\n');
text = text.replace(/ ([^a-z 0-9\n]) /gi,'$1');
document.getElementById('input_output').value = text;}
function reversewordletters(){
var text = document.getElementById('input_output').value;
var belong2 = 'pbclevtug grkgzrpunavp.pbz';
text = text.replace(/\r/gi,'');
text = text.replace(/([^a-z 0-9])/gi,' $1 ');
text = text.split(' ');
var len = text.length;
var textarr = new Array();
for (var x = 0; x < len; x++){
var text2 = text[x].swapcase();
text2 = text2.split('').reverse().join('');
textarr[x] = text2;}
text = textarr.join(' ');
text = text.replace(/ ([^a-z 0-9]) /gi,'$1');
document.getElementById('input_output').value = text;}
function flipString(aString){
var last = aString.length - 1;
var result = new Array(aString.length)
for (var i = last; i >= 0; --i){
var c = aString.charAt(i)
var r = flipTable[c]
result[last - i] = r != undefined ? r : c}
return result.join('')}
var flipTable = {
a : '\u0250',
b : 'q',
c : '\u0254',
d : 'p',
e : '\u01DD',
f : '\u025F',
g : '\u0183',
h : '\u0265',
i : '\u0131',
j : '\u027E',
k : '\u029E',
l : '\u05DF',
m : '\u026F',
n : 'u',
r : '\u0279',
t : '\u0287',
v : '\u028C',
w : '\u028D',
y : '\u028E',
'.' : '\u02D9',
'[' : ']',
'(' : ')',
'{' : '}',
'?' : '\u00BF',
'!' : '\u00A1',
"\'" : ',',
'<' : '>',
'_' : '\u203E',
'"' : '\u201E',
'\\' : '\\',
';' : '\u061B',
'\u203F' : '\u2040',
'\u2045' : '\u2046',
'\u2234' : '\u2235'}
for (i in flipTable){
flipTable[flipTable[i]] = i;}
function flipupsidedown(){
var text = document.getElementById('input_output').value;
text = text.replace(/\r/gi,'');
text = flipString(text.toLowerCase());
document.getElementById('input_output').value = text;}
function SelectAll(id){
document.getElementById(id).focus();
document.getElementById(id).select();}
