// PheliX <phelix.truba@gmail.com> http://savs.sytes.net
// http://www.metaleks.lv

function makeEl(){
 if( document.getElementById ){
  return function( str, fr ){
   var par = ( fr )? fr: window;
   return par.document.getElementById( str );
  }
 }else if( document.all ){
  return function( str, fr ){
   var par = ( fr )? fr: window;
   return par.document.all[ str ];
  }
 }else if( document.layers ){
  return function( str, fr ){
   var par = ( fr )? fr: window;
   var el = par.document.layers[ str ];
   el.style = el;
   return el;
  }
 }else return doNothing;
}
var el = makeEl();

function makeInnerHeight(){
 if( self.innerHeight ){ // all except IE
  return function(){ return self.innerHeight; }
 }
 if( document.documentElement && document.documentElement.clientHeight ){ // IE 6 Strict Mode
  return function(){ return document.documentElement.clientHeight; }
 }
 if( document.body ){ // other IE's
  return function(){ return document.body.clientHeight; }
 }
}
var innerHeight = makeInnerHeight();

function makeInnerWidth(){
 if( self.innerWidth ){ // all except IE
  return function(){ return self.innerWidth; }
 }
 if( document.documentElement && document.documentElement.clientWidth ){ // IE 6 Strict Mode
  return function(){ return document.documentElement.clientWidth; }
 }
 if( document.body ){ // other IE's
  return function(){ return document.body.clientWidth; }
 }
}
var innerWidth = makeInnerWidth();

function elsByTag( tag, fr ){
 if( ! fr ) var fr = document;
 return fr. getElementsByTagName( tag );
}

function mkEl( str ){
 return document.createElement( str );
}

function mkTx( str ){
 return document.createTextNode( str );
}

function fr( str ){
 return top.frames[ str ];
}

function mountNode( par, ch ){
 clearNode( par );
 par.appendChild( ch );
}

function mountLoad( par ){
 var imgHourglas = new Image();
 imgHourglas.src = '/sys/hourglas.gif';
 mountNode( par, imgHourglas );
}

function mountProc( par ){
 var imgProcess = new Image();
 imgProcess.src = '/sys/process.gif';
 mountNode( par, imgProcess );
}

function clearNode( el ){
 var ch;
 while( ch = el.firstChild ){
  el.removeChild( ch );
 }
}

function rmEl( node ){
 node.parentNode.removeChild( node );
}

function selVal( sel ){
 return sel.options[ sel.selectedIndex ].value;
}
