function addClass(what, className){
  what.className+=" "+className;
}
function removeClass(what, className){
  var classes=what.className.split(" ");
  var newClasses=new Array();
  for(var i=0;i<classes.length;i++)
    if (classes[i]!=className)
      newClasses[newClasses.length]=classes[i];
  what.className=newClasses.join(" ");
}
function over(what) {
  addClass(what,"over");
}

function out(what) {
  removeClass(what,"over");
}

function addEvent( obj, type, fn ) {
  if ( obj.attachEvent ) {
    obj['e'+type+fn] = fn;
    obj[type+fn] = function(){obj['e'+type+fn]( window.event );}
    obj.attachEvent( 'on'+type, obj[type+fn] );
  } else
    obj.addEventListener( type, fn, false );
}
function removeEvent( obj, type, fn ) {
  if ( obj.detachEvent ) {
    obj.detachEvent( 'on'+type, obj[type+fn] );
    obj[type+fn] = null;
  } else
    obj.removeEventListener( type, fn, false );
}
function linkDepartmentToOrganizationList(department_id,organization_id){
  var organization_list=document.getElementById(organization_id);
  var department_list=document.getElementById(department_id);
  if (organization_list){
    var original_organization_id=organization_list.value;
    var original_department_id=department_list.value;
    addEvent(organization_list,"change",
             function(){
               new HttpRequest().start("get_organization_departments.html?organization_id="+organization_list.value,
                                       function(response_text){
                                         if (response_text.length>0){
                                           var result = eval('('+ response_text +')');
                                           if (result){
                                             department_list.options.length=0;
                                             department_list.options[department_list.options.length]=new Option("--Any--", 0);
                                             for(var i=0;i<result.length;i++){
                                               var department=result[i];
                                               var selected=false;
                                               if (organization_list.value==original_organization_id && department.department_id==original_department_id){
                                                 selected=true;
                                               }
                                               department_list.options[department_list.options.length]=new Option(department.department_name, department.department_id,selected,selected);
                                             }
                                           }
                                         }
                                       }
                                       );
             });
  }
}
function cleanURL(url,add_html){
  var clean_url=encodeURIComponent(url.toLowerCase().replace(/[ \.\/\:]/g,"_").replace(/[\"\']/g,"").replace(/__/g,"_"));
  if (add_html==true)
    clean_url+=".html";
  return clean_url;
}
function suggestURL(title_id, url_id){
  var title=document.getElementById(title_id).value;
  var url=cleanURL(title,true);
  document.getElementById(url_id).value=url;
}
