// PheliX <phelix.truba@gmail.com> http://savs.sytes.net
// http://www.metaleks.lv
// Editing by Andris Začs 2006.06.06 
function findPosX( obj )
{
 var curleft = 0;
 if (obj.offsetParent)
 {
  while (obj.offsetParent)
  {
   curleft += obj.offsetLeft
   obj = obj.offsetParent;
  }
 }
 else if (obj.x)
  curleft += obj.x;
 return curleft;
}

function findPosY( obj )
{
 var curtop = 0;
 if (obj.offsetParent)
 {
  while (obj.offsetParent)
  {
   curtop += obj.offsetTop
   obj = obj.offsetParent;
  }
 }
 else if (obj.y)
  curtop += obj.y;
 return curtop;
}

function findPos( obj ){
  return { 'left':findPosX( obj ), 'top':findPosY( obj ) }
}

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 mkEl2( str, attr, elem, val ){
 var elm = document.createElement( str );
 if( attr ){
  for( key in attr ){
   elm.setAttribute( key, attr[ key ] );
  }
 }
 if( elem ){
  for( ii = 0; ii < elem.length; ii++ ){
    elm.appendChild( elem[ ii ] );
  }
 } 
 if( val ){
   for( key in val ){  
    var obj = false;
    for( key2 in val[ key ] ){            
      if( key2 != 'prototype' ){
        elm[ key ][ key2 ] = val[ key ][ key2 ];
        obj = true;
      }
    } 
   if( ! obj ) elm[ key ] = val[ key ];   
  }
 }
 return elm;
}

function mkEl( str, attr, elem ){
 var elm = document.createElement( str );
 if( attr ){
  for( key in attr ){
   elm.setAttribute( key, attr[ key ] );
  }
 }
 if( elem ) elm.appendChild( elem );
 return elm;
}

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, type ){
 var imgHourglas = new Image();
  if( ! type ) imgHourglas.src = '/js_sys/hourglas.gif';
  if( type == 1 ) imgHourglas.src = '/js_sys/hourglas.gif';
  if( type == 2 ) imgHourglas.src = '/js_sys/process.gif';  
  if( type == 3 ) imgHourglas.src = '/js_sys/pb.gif';
  if( type == 4 ) imgHourglas.src = '/js_sys/pb2.gif';
  if( type == 5 ) imgHourglas.src = '/js_sys/ref.gif';
 mountNode( par, imgHourglas );
}


function mountProc( par, type ){
 var imgProcess = new Image();
 if( ! type ) imgProcess.src = '/js_sys/process.gif';
 if( type == 1 ) imgProcess.src = '/js_sys/process.gif';
 if( type == 2 ) imgProcess.src = '/js_sys/hourglas.gif';
 if( type == 3 ) imgProcess.src = '/js_sys/pb.gif';
 if( type == 4 ) imgProcess.src = '/js_sys/pb2.gif';
 if( type == 5 ) imgHourglas.src = '/js_sys/ref.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;
}
