function collapse(action)
{
        if(!document.createTextNode){return;}
        var heads=document.getElementsByTagName('h2');
        for(var i=0;i<heads.length;i++)
        {
                var tohide=heads[i].nextSibling;
                while(tohide.nodeType!=1)
                {
                        tohide=tohide.nextSibling;
                }
                switch(action){
                   case 'none':
                      cssjs('remove',tohide,'hidden');
                      cssjs('add',tohide,'shown');
                      cssjs('remove',heads[i],'trigger');
                      cssjs('add',heads[i],'open');
                      break;
                   case 'all':
                      cssjs('remove',tohide,'shown');
                      cssjs('add',tohide,'hidden');
                      cssjs('remove',heads[i],'open');
                      cssjs('add',heads[i],'trigger');
                      break;
                   default:
                        if(cssjs('check',heads[i],'open'))
                        {
                                cssjs('add',tohide,'shown')
                        } else {
                                cssjs('add',tohide,'hidden')
                                cssjs('add',heads[i],'trigger')
                        }
                        heads[i].tohide=tohide;
                        heads[i].onmouseover=function()
                        {
                                cssjs('add',this,'hover');
                        }
                        heads[i].onmouseout=function()
                        {
                                cssjs('remove',this,'hover');
                        }
                        heads[i].onclick=function()
                        {
                                if(cssjs('check',this.tohide,'hidden'))
                                {
                                        cssjs('swap',this,'trigger','open');
                                        cssjs('swap',this.tohide,'hidden','shown');
                                } else {
                                        cssjs('swap',this,'open','trigger');
                                        cssjs('swap',this.tohide,'shown','hidden');
                                }
                        }
                }
        }
}
        function cssjs(a,o,c1,c2)
        {
                switch (a){
                        case 'swap':
                                o.className=!cssjs('check',o,c1)?o.className.replace(c2,c1):o.className.replace(c1,c2);
                        break;
                        case 'add':
                                if(!cssjs('check',o,c1)){o.className+=o.className?' '+c1:c1;}
                        break;
                        case 'remove':
                                var rep=o.className.match(' '+c1)?' '+c1:c1;
                                o.className=o.className.replace(rep,'');
                        break;
                        case 'check':
                                return new RegExp('\\b'+c1+'\\b').test(o.className)
                        break;
                }
        }
function popup(mylink, windowname)
{
if (! window.focus)return true;
var href;
if (typeof(mylink) == 'string')
   href=mylink;
else
   href=mylink.href;
window.open(href, windowname, 'width=600,height=400,left=50,top=50,scrollbars=yes');
return false;
}

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(theform,thelimit){
var limit_text='<b><span id="'+theform.toString()+'">'+thelimit+'</span></b> characters remaining on your input limit'
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);
}
}
