var ns6=document.getElementById&&!document.all

function restrictinput(maxlength,e,placeholder){
if (window.event&&event.srcElement.value.length>=maxlength)
return false
else if (e.target&&e.target==eval(placeholder)&&e.target.value.length>=maxlength){
var pressedkey=/[a-zA-Z0-9\.\,\/]/ //detect alphanumeric keys
if (pressedkey.test(String.fromCharCode(e.which)))
e.stopPropagation()
}
}

function countlimit(maxlength,e,placeholder){
var theform=eval(placeholder)
var lengthleft=maxlength-theform.value.length
var placeholderobj=document.all? document.all[placeholder] : document.getElementById(placeholder)
if (window.event||e.target&&e.target==eval(placeholder)){
if (lengthleft<0)
theform.value=theform.value.substring(0,maxlength)
placeholderobj.innerHTML=lengthleft
}
}


function displaylimit(thename, theid, thelimit){
var theform=theid!=""? document.getElementById(theid) : thename
var limit_text='<b><span id="'+theform.toString()+'">'+thelimit+'</span></b> remained.'
if (document.all||ns6)
document.write(limit_text)
if (document.all){
eval(theform).onkeypress=function(){ return restrictinput(thelimit,event,theform)}
eval(theform).onkeyup=function(){ countlimit(thelimit,event,theform)}
}
else if (ns6){
document.body.addEventListener('keypress', function(event) { restrictinput(thelimit,event,theform) }, true); 
document.body.addEventListener('keyup', function(event) { countlimit(thelimit,event,theform) }, true); 
}
}


        function fx_title(obj) {
            var data = obj.form.title.value;
            data = data.replace(/^\s+|\s+$/g, '');

            obj.form.title.value = checkReplaceParm(cnvrt2title(data));

            function cnvrt2title(str) {
                return str.toLowerCase().replace(/\b\w+\b/g, cnvrt);
            }
            function cnvrt() {
                if (arguments[arguments.length -2] == 0)
                    return arguments[0].replace(/^[a-z]/, cnvrt2);
                else if (/^(a|is|about|after|an|and|at|by|for|from|in|into|nor|of|on|onto|over|the|to|up|with|within)$/.test(arguments[0]) )
                    return arguments[0];
                else
                    return arguments[0].replace(/^[a-z]/, cnvrt2);
            }
            function cnvrt2() {
                return arguments[0].toUpperCase();
            }
        }

       

        function checkReplaceParm(str) {
            if (/^\s*function(\(s\)|\s+cnvrt)/.test(str) ) {
                alert("This browser does not support using a function as a parameter for replace.");
                return "";
            }
            else {
                return str;
            }
        }
