  isDOM=document.getElementById //DOM1 browser (MSIE 5+, Netscape 6, Opera 5+)
  isOpera=isOpera5=window.opera && isDOM //Opera 5+
  isOpera6=isOpera && window.print //Opera 6+
  isOpera7=isOpera && document.readyState //Opera 7+
  isMSIE=document.all && document.all.item && !isOpera //Microsoft Internet Explorer 4+
  isMSIE5=isDOM && isMSIE //MSIE 5+
  isNetscape4=document.layers //Netscape 4.*
  isMozilla=isDOM && navigator.appName=="Netscape" //Mozilla или Netscape 6.*
  
function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}

function changeImages() {
	if (document.images && (preloadFlag == true)) {
		for (var i=0; i<changeImages.arguments.length; i+=2) {
			document[changeImages.arguments[i]].src = changeImages.arguments[i+1];
		}
	}
}

var preloadFlag = false;
function preloadImages() {
	if (document.images) {
		green_over = newImage("images/green.gif");
		preloadFlag = true;
	}
}


function menuover(obj)
{
obj.className="menuover";
}

function menuout(obj)
{
obj.className="menuout";
}

function menuclick(obj)
{
window.location.href=obj.all.tags('A').item(0).href;
}

function swf_str(NameMov,IdMov,WMov,HMov,VarsMov,BgMov,TransMov,NoWrite){
           
           if(TransMov == 1) WMode = "transparent";
           else WMode = "opaque";
           
           promstr = ('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" '+
                      'codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" '+
                      'width="'+WMov+'" height="'+HMov+'" id="'+IdMov+'" align="middle">'+
                      '<param name="allowScriptAccess" value="sameDomain" />'+
                      '<param name="movie" value="'+NameMov+'" />'+
                      '<param name="wmode" value="'+WMode+'" />');
          
          if(VarsMov != "") 
          promstr += ('<PARAM NAME=FlashVars VALUE="'+VarsMov+'">');
          
          promstr += ('<param name="quality" value="high" />'+
                      '<param name="bgcolor" value="#'+BgMov+'" />'+
                      '<embed src="'+NameMov+'" quality="high" wmode="'+WMode+'"');
          
          if(VarsMov != "")             
          promstr += ('FlashVars = "'+VarsMov+'" ');
          
          promstr += ('bgcolor="#'+BgMov+'" width="'+WMov+'" height="'+HMov+'" name="'+IdMov+'" '+
                      'align="middle" allowScriptAccess="sameDomain" '+
                      'type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />'+
                      '</object>');
          
          if(NoWrite == 1) return promstr;            
          
          document.write(promstr);
}
              
              var LangPage = "ru";
        
        function LookWin(put,ww,hh){               
               left1 = (screen.availWidth - ww)/2
               top1 = (screen.availHeight - hh)/2             
               eval("window.open(\'"+put+"\',\'_blank',\'status=yes,top="+top1+",left="+left1+",toolbar=no,scrollbars=yes,directories=no,menubar=no,resizable=yes,width="+ww+",height="+hh+"\')"); 
        }
        
        function submitForm(nform,ww,hh){
     
	          left1 = (screen.availWidth - ww)/2;
              top1 = (screen.availHeight - hh)/2;
              
	          eval("window.open('about:blank', 'submit', 'top='+top1+',left='+left1+',toolbar=no,scrollbars=yes,directories=no,menubar=no,resizable=yes,width="+ww+",height="+hh+"');");
	          nform.target = 'submit';
	          nform.method = 'post';
        }
        
        function AddFormSubscr(NameF,email,idsubscr){
                   promstr  = '<form action="subscribe.php" name="'+NameF+'">';
                   promstr += '<Table CellPadding=0 CellSpacing=0 Border=0 style="font-family:tahoma;font-size:10px;color:#f60000">';
                   promstr += '<input type=hidden name=idsubscr value='+idsubscr+'>';
                   promstr += '<input type=hidden name=check value=add>';
                   promstr += '<Tr Valign=top><Td><nobr>';
                   promstr += 'Укажите Ваш email: ';
                   promstr += '<input type=text name="email" value="'+email+'" style="font-weight:bold;font-size:11px;border:1px solid;color:#006EE9;background:#ffffff;" size=30>';
                   promstr += '<input type=submit value=" ›› " onClick="submitForm(document.'+NameF+',350,200);" style="font-weight:bold;border:0px;color:#ffffff;font-size:11px;background:#006EE9;height:17px;cursor:hand">';
                   promstr += '</nobr></Td></Tr></Table></form>';
                   
                   document.getElementById(NameF).innerHTML = promstr;
        }  
        
        function isEmpty(str) {
                 
                 for (var i = 0; i < str.length; i++)
                      if (" " != str.charAt(i))
                          return false;
                 
                 return true;
        }
        
        function checkStrForm(nameform,nameinput,msg){
                 
                 f = eval("document."+nameform+"."+nameinput); 
                 
                 if (isEmpty(f.value)) { alert(msg); return false; }
                 
                 return true;
        }
        
        function listForm(namelist,txtlist,curval,beginval,exitval){
                    
                    document.write("<select name=\""+namelist+"\">");
                    document.write("<option value=\"0\">"+txtlist+"</option>");
                    for(i=beginval; i < exitval; i++){
                        document.write("<option value=\""+(i+1)+"\"");
                        if(i==curval-1) document.write(" selected");
                        document.write(">");
                        if(i < 9) document.write("0");
                        document.write((i+1)+"</option>");
                    }    
                    document.write("</select>&nbsp;&nbsp;");
        }
        //////////////////////
        var marked_row = new Array;
    
    function setPointer(theRow, theRowNum, theAction, theDefaultColor, thePointerColor, theMarkColor)
{
    var theCells = null;

    // 1. Pointer and mark feature are disabled or the browser can't get the
    //    row -> exits
    if ((thePointerColor == '' && theMarkColor == '')
        || typeof(theRow.style) == 'undefined') {
        return false;
    }

    // 2. Gets the current row and exits if the browser can't get it
    if (typeof(document.getElementsByTagName) != 'undefined') {
        theCells = theRow.getElementsByTagName('td');
    }
    else if (typeof(theRow.cells) != 'undefined') {
        theCells = theRow.cells;
    }
    else {
        return false;
    }

    // 3. Gets the current color...
    var rowCellsCnt  = theCells.length;
    var domDetect    = null;
    var currentColor = null;
    var newColor     = null;
    // 3.1 ... with DOM compatible browsers except Opera that does not return
    //         valid values with "getAttribute"
    if (typeof(window.opera) == 'undefined'
        && typeof(theCells[0].getAttribute) != 'undefined') {
        currentColor = theCells[0].getAttribute('bgcolor');
        domDetect    = true;
    }
    // 3.2 ... with other browsers
    else {
        currentColor = theCells[0].style.backgroundColor;
        domDetect    = false;
    } // end 3

    // 3.3 ... Opera changes colors set via HTML to rgb(r,g,b) format so fix it
    if (currentColor.indexOf("rgb") >= 0)
    {
        var rgbStr = currentColor.slice(currentColor.indexOf('(') + 1,
                                     currentColor.indexOf(')'));
        var rgbValues = rgbStr.split(",");
        currentColor = "#";
        var hexChars = "0123456789ABCDEF";
        for (var i = 0; i < 3; i++)
        {
            var v = rgbValues[i].valueOf();
            currentColor += hexChars.charAt(v/16) + hexChars.charAt(v%16);
        }
    }

    // 4. Defines the new color
    // 4.1 Current color is the default one
    if (currentColor == ''
        || currentColor.toLowerCase() == theDefaultColor.toLowerCase()) {
        if (theAction == 'over' && thePointerColor != '') {
            newColor              = thePointerColor;
        }
        else if (theAction == 'click' && theMarkColor != '') {
            newColor              = theMarkColor;
            marked_row[theRowNum] = true;
            // Garvin: deactivated onclick marking of the checkbox because it's also executed
            // when an action (like edit/delete) on a single item is performed. Then the checkbox
            // would get deactived, even though we need it activated. Maybe there is a way
            // to detect if the row was clicked, and not an item therein...
            // document.getElementById('id_rows_to_delete' + theRowNum).checked = true;
        }
    }
    // 4.1.2 Current color is the pointer one
    else if (currentColor.toLowerCase() == thePointerColor.toLowerCase()
             && (typeof(marked_row[theRowNum]) == 'undefined' || !marked_row[theRowNum])) {
        if (theAction == 'out') {
            newColor              = theDefaultColor;
        }
        else if (theAction == 'click' && theMarkColor != '') {
            newColor              = theMarkColor;
            marked_row[theRowNum] = true;
            // document.getElementById('id_rows_to_delete' + theRowNum).checked = true;
        }
    }
    // 4.1.3 Current color is the marker one
    else if (currentColor.toLowerCase() == theMarkColor.toLowerCase()) {
        if (theAction == 'click') {
            newColor              = (thePointerColor != '')
                                  ? thePointerColor
                                  : theDefaultColor;
            marked_row[theRowNum] = (typeof(marked_row[theRowNum]) == 'undefined' || !marked_row[theRowNum])
                                  ? true
                                  : null;
            // document.getElementById('id_rows_to_delete' + theRowNum).checked = false;
        }
    } // end 4

    // 5. Sets the new color...
    if (newColor) {
        var c = null;
        // 5.1 ... with DOM compatible browsers except Opera
        if (domDetect) {
            for (c = 0; c < rowCellsCnt; c++) {
                theCells[c].setAttribute('bgcolor', newColor, 0);
            } // end for
        }
        // 5.2 ... with other browsers
        else {
            for (c = 0; c < rowCellsCnt; c++) {
                theCells[c].style.backgroundColor = newColor;
            }
        }
    } // end 5

    return true;
} // end of the 'setPointer()' function
    ///////////  