var useTTS=false;
var keyStr64="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
function stripTags(str){
var StrippedString = str.replace(/(<([^>]+)>)/ig,"");
return StrippedString;
}
function textToSpeech(text, lang){
if(useTTS){
var google_translate_url = "http://translate.google.com/translate_tts";
var text2speech = encodeURIComponent(stripTags(text));
var soundfile = google_translate_url+"?tl="+lang+"&q="+text2speech;
niftyplayer('niftyPlayer1').loadAndPlay(soundfile);
}
}

function checkallform(checked){
if(document.rowform.rowid.length>1){for(var i=0;i<document.rowform.rowid.length;i++){document.rowform.rowid[i].checked=checked;}}
else{document.rowform.rowid.checked=checked;}
}

function replaceStr(inFindStr,inReplStr,inText,inCaseSensitive){
if(!inCaseSensitive) inCaseSensitive=false;
var searchFrom=0;var offset=0;var outText="";var searchText="";
if(inCaseSensitive==null){inCaseSensitive=false;}
if(inCaseSensitive){searchText=inText.toLowerCase();inFindStr=inFindStr.toLowerCase();} 
else{searchText=inText;}
offset=searchText.indexOf(inFindStr, searchFrom);
while(offset!=-1){outText+=inText.substring(searchFrom, offset);outText+=inReplStr;searchFrom=offset + inFindStr.length;offset=searchText.indexOf(inFindStr, searchFrom);}
outText+=inText.substring(searchFrom,inText.length);
return (outText);
}

function removeFromArray(value, haystack){
var newvalue = new Array();
var i;
for(i in haystack){
if(haystack[i]==value)
	continue;
newvalue[i] = haystack[i];
}
return newvalue;
}

function inArray(needle, haystack){
var i;
for(i in haystack){
if(needle == haystack[i]){
	return true;
}
}
return false;
}

function base64Encode(input){
var output="";
var chr1, chr2, chr3="";
var enc1, enc2, enc3, enc4="";
var i=0;
do{
chr1=input.charCodeAt(i++);
chr2=input.charCodeAt(i++);
chr3=input.charCodeAt(i++);
enc1=chr1 >> 2;
enc2=((chr1&3) << 4)|(chr2 >> 4);
enc3=((chr2&15) << 2)|(chr3 >> 6);
enc4=chr3&63;
if(isNaN(chr2)){
enc3=enc4=64;
} else if(isNaN(chr3)){
enc4=64;
}
output=output+
keyStr64.charAt(enc1)+
keyStr64.charAt(enc2)+
keyStr64.charAt(enc3)+
keyStr64.charAt(enc4);
chr1=chr2=chr3="";
enc1=enc2=enc3=enc4="";
} while (i < input.length);
return output;
}

function base64Decode(input){
var output="";
var chr1, chr2, chr3="";
var enc1, enc2, enc3, enc4="";
var i=0;
var base64test=/[^A-Za-z0-9+/=]/g;
if(base64test.exec(input)){
}
input=input.replace(/[^A-Za-z0-9+/=]/g, "");
do{
enc1=keyStr64.indexOf(input.charAt(i++));
enc2=keyStr64.indexOf(input.charAt(i++));
enc3=keyStr64.indexOf(input.charAt(i++));
enc4=keyStr64.indexOf(input.charAt(i++));
chr1=(enc1 << 2)|(enc2 >> 4);
chr2=((enc2&15) << 4)|(enc3 >> 2);
chr3=((enc3&3) << 6)|enc4;
output=output+String.fromCharCode(chr1);
if(enc3 != 64){
output=output+String.fromCharCode(chr2);
}
if(enc4 != 64){
output=output+String.fromCharCode(chr3);
}
chr1=chr2=chr3="";
enc1=enc2=enc3=enc4="";
} while (i < input.length);
return output;
}

function htmlEntityEncode(data)
{
var output=data;
output=replaceStr('"','&quot;',output,true);
output=replaceStr('&','&amp;',output,true);
output=replaceStr('<','&lt;',output,true);
output=replaceStr('>','&gt;',output,true);
return output;
}
function htmlEntityDecode(data)
{
var output=data;
output=replaceStr('&gt;','>',output,true);
output=replaceStr('&lt;','<',output,true);
output=replaceStr('&amp;','&',output,true);
output=replaceStr('&quot;','"',output,true);
return output;
}
function utf8ToEntity(utf8) 
{
String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,'');}
var utf8_char = utf8;
utf8_char=utf8_char.trim();
var html_entity='';
for(i=0; i<=utf8_char.length; i++){
if(utf8_char.charCodeAt(i)>127){
html_entity += '&#' + utf8_char.charCodeAt(i) + ';';
}
else{
html_entity += utf8_char.charAt(i);
}
}
return html_entity;
}
function readCookie(name){var cookieValue="";var search=name+"=";if(document.cookie.length>0){offset=document.cookie.indexOf(search);if(offset!=-1){offset+=search.length;end=document.cookie.indexOf(";",offset);if(end==-1)end=document.cookie.length;cookieValue=unescape(document.cookie.substring(offset, end))}}return cookieValue;}
function writeCookie(name,value,hours){var expire="";if(hours!=null){expire=new Date((new Date()).getTime()+hours*3600000);expire=";expires="+expire.toGMTString();}document.cookie=name+"="+escape(value)+expire;}

