// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
// JavaScript Functions For Community Forge                01/2003
// ----------------------------------------         stray@stray.ch  
//                                             *  *        *
// This library provides a couple of functions      *  //     *
// for everyday webdesign tasks                 *    /. .\  *
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-m-U-m-=-=-=-=


// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
// Preload a list of images
// Usage: preload('file1.gif', 'file2.gif', ...);

function preload() {
   if (document.images) {
      for (var i = 0; i < preload.arguments.length; i++) {
         this[i+1] = new Image();
         this[i+1].src = preload.arguments[i];
      }
   }
}


// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
// Show an image instead of the existing image tag
// HTML:  <IMG src="old_image.gif" name="image_tag_name">
// Usage: select('image_tag_name', 'new_image.gif"');

function select(i,newsrc) {
   if (document.images) {
      document.images[i].src = newsrc ;
   }    
}


// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
// Open a pop-up window
// Usage: popup('url.html', 600, 400);
// Usage: popup('url.html', 600, 400, 'location=1,scrollbars=1');

function popup(url,w,h,args) {
   window.open(url,'_blank','height='+h+',width='+w+','+args);
}

function popsame(url,samename,w,h,args) {
   window.open(url,samename,'height='+h+',width='+w+','+args);
}

// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
// Are you sure you want to ...
//

function areyousure(action,url) {
  if (confirm(action)) {
    location.href=url;
  }
}


// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
// JavaScript input for data fields
//


function jsinput(query,url,defstr) {
   result = prompt(query,defstr);
   if (result != null) {
      location.href=url+"&value="+escape(result);
   }
}



// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
// Move list items to re-order sorter fields
//


var movestatus = 0;
var moveditem  = 0;


function moveclick (item,action) {
     if (movestatus == 0) {
        select('forgemove_' + item,'/forge/picts/move_a.gif'); 
        movestatus = 1;
        moveditem  = item;
     } else {
        location.href=action;
     }
}

function moveover (item) {
     if (movestatus == 0) {
        select('forgemove_' + item,'/forge/picts/move_a.gif'); 
     } else {
       if (item != moveditem) {
         select('forgemove_' + item,'/forge/picts/movetarget.gif'); 
       } 
     }
}

  function moveout (item) {
     if (movestatus == 0) {
        select('forgemove_' + item,'/forge/picts/move_i.gif'); 
     } else {
       if (item != moveditem) {
         select('forgemove_' + item,'/forge/picts/move_i.gif'); 
       } 
     }
  }




// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
// Show and hide tabs
//



function activatetab(tab) {
  for (var i = 0; i < tabs.length; i++) {
    if (tab == tabs[i]) {
       toggletab(tabs[i], "block"); 
    } else {
      toggletab(tabs[i], "none"); 
    }
  }
}

function toggletab(tab,action) {
  if (document.getElementById) {
    var mytab    = document.getElementById("tab" + tab).style;
    var myheader = document.getElementById("tabheader" + tab);
    if (myheader) {
      myheader.className = "tabheader-" + action;
    }
    if (mytab) {
      mytab.display = action;
    }
   } else {
    return true;  
  } 
}




function getRefToDiv(divID,oDoc) {
    if( !oDoc ) { oDoc = document; }
    if( document.layers ) {
        if( oDoc.layers[divID] ) { return oDoc.layers[divID]; } else {
            //repeatedly run through all child layers
            for( var x = 0, y; !y && x < oDoc.layers.length; x++ ) {
                //on success, return that layer, else return nothing
                y = getRefToDiv(divID,oDoc.layers[x].document); }
            return y; } }
    if( document.getElementById ) {
        return document.getElementById(divID); }
    if( document.all ) {
        return document.all[divID]; }
    return false;
}



function showDiv(divID_as_a_string) {
    myReference = getRefToDiv(divID_as_a_string);
    if( !myReference ) {
        return false; 
    }
    if( myReference.style ) { //DOM & proprietary DOM
        myReference.style.visibility = 'visible';
    } else {
        if( myReference.visibility ) { //Netscape
            myReference.visibility = 'show';
        } else {
            return false; //don't go any further
        }
    }
    return true;
}

function hideDiv(divID_as_a_string) {
	var myReference = getRefToDiv(divID_as_a_string);
	if( !myReference ) { return; }
	if( myReference.style ) { myReference.style.visibility = 'hidden'; } else {
		if( myReference.visibility ) { myReference.visibility = 'hide'; } else {
			window.alert('Nothing works in this browser'); return; } }
}



/*** Some button stuff   ************************************/


function enableButton (btn, action) {
  var button = document.getElementById(btn);
  if (button) {
    button.className = "button";
    if (action) {
      button.href = action;
    }
  }
}

function disableButton (btn, action) {
  var button = document.getElementById(btn);
  button.className = "button_dis";
  button.href = "#";
}

function labelButton (btn, label) {
  var button = document.getElementById(btn);
  button.className = "button_dis";
  button.firstChild.nodeValue = label;
}





function addEvent(obj, evType, fn){
  if (obj.addEventListener){
    obj.addEventListener(evType, fn, false);
    return true;
  } else if (obj.attachEvent){
    var r = obj.attachEvent("on"+evType, fn);
    return r;
  } else {
    return false;
  }
}

function getEventTarget(e){
    return (e.target) ? e.target : e.srcElement
}




