function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function p_view(source) {
		$('ul li ul').hide("slow");
		if($(source).css('display')=='none') {
			$(source).show("slow");
		} else {
			$(source).hide("slow");
		}
	}
	
var srt; var sch; var w_cl; var cntR = 0; var cntC = 0;                        
var srchC = -1; var sortC = -1; var ShowRows = cntR;      
var stLine = 1; var brwsr = 0; var NeedAdvance = true;            
var view_TABLE = 0; var NeedSort = false; var DirectSort = true;    
var CountClick = 0;  var ColClick   = -1; var id_cl=""; var tbl_w = 0;
var id_obj; var delay;
var U_a = 8657; var U_smb = "&uArr;"; var D_a = 8659; var D_smb = "&dArr;";
//var U_a = 8593; var U_smb = "&uarr;"; var D_a = 8595; var D_smb = "&darr;";             
var DecimalSeparator = ","; var ThousandSeparator = " "; 
var line_txt_1 = "Поиск"
var line_txt_2 = "в колонке"
var line_txt_3 = "Искать"
var line_txt_4 = "Все"
var line_txt_5 = "Показать все"
var line_msg_1 = "Идет загрузка..."
var line_msg_2 = "Идет сортировка..."
var line_msg_3 = "Идет поиск"
function startPage () {delay = setTimeout("LoadData()", 50); return true;}          
function ASC_sort(a, b) {if ((a) && (b)) return (a[sortC] - b[sortC]); else return 0;}
function DSC_sort(a, b) {if ((a) && (b)) return (b[sortC] - a[sortC]); else return 0;}
function ASC_string(a, b) { if ((a) && (b)) 
{if (a[sortC].toUpperCase() < b[sortC].toUpperCase()) return -1; 
else return 1; }
else return 0;}
function DSC_string(a, b) { if ((a) && (b)) 
{if (a[sortC].toUpperCase() < b[sortC].toUpperCase()) return 1;  else return -1; }
else return 0;}	   
function trim_str(str)                                     {			
var lin = ""; var sp = " "; var Lpos = 0; var Rpos = 0;		  				
for (p = 0; p < str.length; p++)                           
if (str.charAt(p) != sp) { Lpos = p; break;}	  
for (p = str.length-1; p > 0;  p--)                             
if (str.charAt(p) != sp) { Rpos = p+1; break;}   
lin = str.slice(Lpos, Rpos); return lin;            }
function Init_Browser() {
var d = document;        var w = window;
if ((d.all) && (w.offscreenBuffering)) brwsr = 0;                                   //ie - 0
if ((d.getElementById) && (!d.all) && (d.documentElement)) brwsr = 1;               //mz - 1
if ((d.getElementById) && (navigator.userAgent.indexOf("Opera") != -1)) brwsr = 2;  //op - 2
if (brwsr==0) {U_a = 8593; U_smb = "&uarr;"; D_a = 8595; D_smb = "&darr;"; } 
id_obj  = document.getElementById("id_BODY");
dir_ar  = document.getElementById("bl_arr"); 
var tbl = document.getElementById("id_TBL");
var t   = tbl.offsetTop; 
if (brwsr==0) t = t - (0.45*id_obj.rows[0].offsetHeight);
if (brwsr==1) t = t - (0.75*id_obj.rows[0].offsetHeight);
if (brwsr==2) t = t - (0.45*id_obj.rows[0].offsetHeight); 		
dir_ar.style.top = t + "px";
return true; }
function Init_Width()           {		 	 
var total_w = 0; if (!id_obj) id_obj=document.getElementById("id_BODY")
w_cl       = new Array(cntC);
w_cl[0]    = new Array(2);		 
w_cl[0][0] = id_obj.rows[0].cells[0].offsetWidth / 2;
w_cl[0][1] = 0;
for (i=1; i<cntC; i++)
{ w_cl[i]    = new Array(2)
total_w    = total_w + id_obj.rows[0].cells[i-1].offsetWidth;
w_cl[i][0] = total_w + id_obj.rows[0].cells[i].offsetWidth / 2;
w_cl[i][1] = 0; 
}
if (sortC!=-1) dir_ar.style.left = w_cl[sortC][0]+"px";	   
return true;}
function Vis_msg(str)    { 
var Wnd=document.getElementById("hdn_msg");
if (Wnd!=null) { Wnd.id = "vsbl_msg"; Wnd.innerHTML = str; }      
return true;           }
function Hide_msg()      {
var Wnd=document.getElementById("vsbl_msg");
if (Wnd!=null) Wnd.id = "hdn_msg"; clearTimeout(delay); return true; }
function sortBychoose(i)  {
var s_id = "sp" + i; var smbl = 0;	
var spn  = document.getElementById(s_id);
sortC = i;  NeedSort = true;
switch (w_cl[i][1])
{
case -1: {
dir_ar.innerHTML = U_smb; 
dir_ar.style.left = w_cl[i][0]+"px";
dir_ar.style.display = "block";				  	 
w_cl[i][1] = 1;
DirectSort = false; Sort_Data(DirectSort);
break;                   //down
}
case  0: {dir_ar.innerHTML = D_smb;
dir_ar.style.left = w_cl[i][0]+"px";
dir_ar.style.display = "block";  
w_cl[i][1] = -1; 
DirectSort = true; Sort_Data(DirectSort);
break;                   //nothing
} 
case  1: {
dir_ar.style.display = "none";
w_cl[i][1] =  0; 
i = sortC; sortC = 0; srt.sort(ASC_sort); sortC = i;
break;                   //up
}					
}
View_Sort(); return true;  }	
function ConvertNumber(s)  {
var txt = "";

for (c=0; c<s.length; c++){ 
if (s.charAt(c)==" ") continue;
if (s.charAt(c)=="$") continue;	
if (s.charAt(c)==ThousandSeparator) continue;
if (s.charAt(c)==DecimalSeparator) {txt += "."; continue;}
txt += s.charAt(c);}
return txt;}
function LoadData()     {
var i = 0; var n = 0; var t = "n"; var val_sch; var id_lst_sch; var txt="&nbsp;";
var limCol = 0; var txt_N ="";
Init_Browser();
id_obj = document.getElementById("id_BODY");
cntR   = id_obj.rows.length;       
cntC   = id_obj.rows[0].cells.length; 
limCol = cntC + 2;
Init_Width();
srt = new Array(cntR); sch = new Array(cntR);
for (r = stLine; r < cntR; r++)                                   {
n = r - stLine;
srt[n] = new Array(cntC);
srt[n][0] = r;
if (brwsr==0) srt[n][1] = id_obj.rows(r);
if ((brwsr==1) || (brwsr==2)) srt[n][1] = id_obj.rows[r]; 
sch[n] = new Array(cntC); sch[n][0] = r;
if (brwsr==0) sch[n][1] = id_obj.rows(r);
if ((brwsr==1) || (brwsr==2)) sch[n][1] = id_obj.rows[r]; sch[n][2] = 0; 
for (var c = 2; c < limCol; c++)             { 
i = c - 2;
t = id_obj.rows[0].cells[i].id;
window.focus;
switch (t.charAt(0))     {
case "n": if ((brwsr==0) || (brwsr==2))
{if (id_obj.rows(r).cells(i).innerHTML==txt) srt[n][c] = -100;						  
else {txt_N = ConvertNumber(id_obj.rows(r).cells(i).innerText);
srt[n][c] = parseFloat(txt_N); }
if (isNaN(srt[n][c])) srt[n][c] = -100; }
if (brwsr==1) 
{if (id_obj.rows[r].cells[i].innerHTML==txt) srt[n][c] = -100;						 
else {txt_N = ConvertNumber(id_obj.rows[r].cells[i].textContent);
srt[n][c] = parseFloat(txt_N);}
if (isNaN(srt[n][c])) srt[n][c] = -100; 
}
break;
case "d": if ((brwsr==0) || (brwsr==2)) srt[n][c] = new Date (id_obj.rows(r).cells(i).title);
if (brwsr==1) 				srt[n][c] = new Date (id_obj.rows[r].cells[i].title); 
break;          
case "s": if ((brwsr==0) || (brwsr==2)) 
{if (id_obj.rows(r).cells(i).innerHTML==txt) srt[n][c] = ""; 
else srt[n][c] = id_obj.rows(r).cells(i).innerText;}
if (brwsr==1) 
{if (id_obj.rows[r].cells[i].innerHTML==txt) srt[n][c] = ""; 
else srt[n][c] = id_obj.rows[r].cells[i].textContent;} 
break;
}          }         }
id_lst_sch = document.getElementById("id_NameCol_srch");	
for (a = 0; a<(cntC + 1); a++) {
val_sch = document.createElement("OPTION");   	 
if ((brwsr==0) || (brwsr==2))	   
if (a==0) val_sch.innerText = line_txt_4; 
else  val_sch.innerText = id_obj.rows(0).cells(a - 1).innerText;		
if (brwsr==1) 
if (a==0) val_sch.textContent = line_txt_4; 
else val_sch.textContent = id_obj.rows[0].cells[a-1].textContent;
id_lst_sch.appendChild(val_sch); val_sch.value = a;}  
id_lst_sch = document.getElementById("str_Srch");
id_lst_sch.onkeypress = Search_KeyPress; 
id_lst_sch.focus(); window.onkeypress = Aux_Fn();
var id_el = document.getElementById("ins_1");
id_el.innerHTML = line_txt_1;
id_el = document.getElementById("ins_2");
id_el.innerHTML = line_txt_2;	    
id_el = document.getElementById("ins_3");
id_el.value = line_txt_3;    
id_el = document.getElementById("ins_5");
id_el.innerHTML = line_txt_5;	
Hide_msg(); return true; }
function Sort_Data(DirSort)                         {
var t = ""; 
if (sortC != -1)                  {
if ((brwsr==0) || (brwsr==2)) t = id_obj.rows(0).cells(sortC).id;
if  (brwsr==1)  t = id_obj.rows[0].cells[sortC].id; sortC += 2; 
switch (t.charAt(0))       {
case "n": if (DirSort) srt.sort(ASC_sort); else srt.sort(DSC_sort); break;
case "d": if (DirSort) srt.sort(ASC_sort); else srt.sort(DSC_sort); break;
case "s": if (DirSort) srt.sort(ASC_string); else srt.sort(DSC_string); break;
} 
sortC -= 2;  NeedSort = false;    }    return true; }
function View_Search()                  { 
var id_r;
if  ((brwsr==0) || (brwsr==2)) {for (r = stLine; r < cntR;   r++) id_obj.rows(r).style.display = ""; }
if   (brwsr==1)                {for (r = cntR-1; r >=stLine; r--) id_obj.rows[r].style.display = "table-row"; }
Hide_msg();
return true;                            }
function View_Sort()                   { 
var r_Head;   
if (brwsr==0)                                                            {
for (r = 0; r < cntR - stLine; r++)
id_obj.removeChild(srt[r][1]);
id_TBL.insertRow(-1);
r_Head = id_TBL.children(0).children(1); 
for (r = 0; r < cntR - stLine; r++) 
id_TBL.children(0).insertBefore(srt[r][1], r_Head); id_TBL.deleteRow(cntR);
}
if (brwsr==1)                                                           {
for (r = 0 ; r < cntR - stLine; r ++)
id_obj.removeChild(srt[r][1]);
id_obj.insertRow(-1);
r_Head = id_obj.childNodes.item(1 + stLine); 
for (r = 0; r < cntR - stLine; r++) id_obj.insertBefore(srt[r][1], r_Head);  
id_obj.deleteRow(cntR);     
} 
if (brwsr==2)                                                           {
for (r = 0 ; r < cntR - stLine; r ++)
id_obj.removeChild(srt[r][1]);
id_obj.insertRow(-1);
r_Head = id_obj.childNodes.item(1); 
for (r = 0; r < cntR - stLine; r++) id_obj.insertBefore(srt[r][1], r_Head); 
id_obj.deleteRow(cntR);                                           }
Hide_msg(); 
return true;                           }
function Show_All_TBL() {
delay = setTimeout("View_Search()", 500);
var id_ref = document.getElementById("ins_5");
Vis_msg(line_msg_1);
id_ref.style.display = "none"; return true; } 
function Header_Click(el) {
var txt = "sortBychoose(" + el.cellIndex + ")"; 
delay = setTimeout(txt, 200);   
Vis_msg(line_msg_2);
return true;               }
function Search_by_Column() {
var id_ref = document.getElementById("ins_5"); 
id_ref.style.display = "inline";
var id_Search = document.getElementById("str_Srch");
var srchLine  = id_Search.value; var srchPart = ""; var srchBase = ""; var cmpStr = "";
for (r = 0; r < cntR - stLine; r++) sch[r][2] = 0; 
View_Search(); ShowRows = 0;
if (brwsr==0)    {
for (r = stLine; r < cntR; r++)        
{ cmpStr = id_obj.rows(r).cells(srchC).innerText;
if (srchLine.toLowerCase() == cmpStr.toLowerCase())
{ ShowRows ++; sch[r - stLine][2] = 1; }  
else {srchPart=cmpStr.toUpperCase(); srchBase = srchLine.toUpperCase();
if (srchPart.indexOf(srchBase) >= 0)
{ShowRows ++; sch[r - stLine][2] = 1; } 
}       }                         } 
if (brwsr==1)                     {
for (r = stLine; r < cntR; r++)                    
{ cmpStr = id_obj.rows[r].cells[srchC].textContent + "" ;
if  (srchLine.toLowerCase() == cmpStr.toLowerCase()) 
{ShowRows ++; sch[r - stLine][2] = 1; } 
else  {srchPart=cmpStr.toUpperCase(); srchBase = srchLine.toUpperCase();
if (cmpStr.indexOf(srchLine) >= 0)
{ ShowRows ++; sch[r - stLine][2] = 1; }
}      }                        }   
if (brwsr==2)    {
for (r = stLine; r < cntR; r++)        
{ if (id_obj.rows[r].cells[srchC]) cmpStr = id_obj.rows[r].cells[srchC].innerText;
else continue;
if (srchLine.toLowerCase() == cmpStr.toLowerCase()) 
{ ShowRows ++; sch[r - stLine][2] = 1; }  
else {srchPart=cmpStr.toUpperCase(); srchBase = srchLine.toUpperCase();
if (srchPart.indexOf(srchBase) >= 0)
{ShowRows ++; sch[r - stLine][2] = 1; } 
}       }                         }
if ((brwsr==0) || (brwsr==2))   {
for (r = 0; r < cntR - stLine; r++)
if (sch[r][2] == 0) { id_TBL.rows(r+1).style.display = "none"; }	
}
if (brwsr==1)                   {
for (r = 0; r < cntR - stLine; r++)
if (sch[r][2] == 0) { id_obj.rows[r+1].style.display = "none"; }
} Hide_msg(); return true; }
function Start_Search() {
var id_lst = document.getElementById("id_NameCol_srch");
var    txt = ""; var LeavLines=0;
srchC = id_lst.selectedIndex - 1;
Vis_msg(line_msg_3); 
if (srchC < 0)  {delay = setTimeout("Search_All()", 500);} 
if (srchC >= 0) {delay = setTimeout("Search_by_Column()", 500);}
return false; }
function Search_All() {
var id_Search = document.getElementById("str_Srch");
var srchLine = trim_str(id_Search.value); 
var srchPart = ""; var srchBase = ""; ShowRows = 0;
if (srchLine == "") {Show_All_TBL(); return false; }
var id_ref = document.getElementById("ins_5");
id_ref.style.display = "inline";
var cmpStr = "";
for (r = 0; r < cntR - stLine; r++) 
sch[r][2] = 0; 
if (brwsr==0)                    {
for (r = stLine; r < cntR; r++)
for (c = 0; c < cntC; c++) 
{ cmpStr = id_obj.rows(r).cells(c).innerText;
if (srchLine.toLowerCase() == cmpStr.toLowerCase()) 
{ ShowRows ++; sch[r - stLine][2] = 1; }  
else {srchPart=cmpStr.toLowerCase(); srchBase = srchLine.toLowerCase();
if (srchPart.indexOf(srchBase) >= 0)
{ ShowRows ++; sch[r - stLine][2] = 1; } 
}         }                      } 
if (brwsr==1)                    {
for (r = stLine; r < cntR; r++)
for (c = 0; c < cntC; c++) 
{ cmpStr = id_obj.rows[r].cells[c].textContent + "" ;
if  (srchLine.toLowerCase() == cmpStr.toLowerCase()) 
{ShowRows ++; sch[r - stLine][2] = 1; } 
else  {srchPart=cmpStr.toLowerCase(); srchBase = srchLine.toLowerCase();
if (srchPart.indexOf(srchBase) >= 0)
{ ShowRows ++; sch[r - stLine][2] = 1; }
}        }                       }   
if (brwsr==2)                    {
for (r = stLine; r < cntR; r++)
for (c = 0; c < cntC; c++) 
{ if (id_obj.rows[r].cells[c]) cmpStr = id_obj.rows[r].cells[c].innerText;
else continue;						
if (srchLine.toLowerCase() == cmpStr.toLowerCase()) 
{ ShowRows ++; sch[r - stLine][2] = 1; }  
else {srchPart=cmpStr.toLowerCase(); srchBase = srchLine.toLowerCase();
if (srchPart.indexOf(srchBase) >= 0)
{ ShowRows ++; sch[r - stLine][2] = 1; } 
}         }                      }    
if (brwsr==0)                    {
for (r = 0; r < cntR - stLine; r++)
if (sch[r][2] == 0) { id_obj.rows(r+1).style.display = "none"; }	
}
if (brwsr==1)                     {
for (r = 0; r < cntR - stLine; r++)
if (sch[r][2] == 0) {id_obj.rows[r+1].style.display = "none";}
}
if (brwsr==2)                     {
for (r = 0; r < cntR - stLine; r++)
if (sch[r][2] == 0) { id_obj.rows[r+1].style.display = "none"; }	
}
id_Search.focus();  Hide_msg(); return true;}
function view_Advanced()         {
var id_HD_TBL = document.getElementById("id_Head");
var id_Ref_A = document.getElementById("ref_Menu");
if (NeedAdvance)  { id_HD_TBL.style.display="";
if (brwsr==1) id_Ref_A.textContent="Basic";
else id_Ref_A.innerText="Basic"; NeedAdvance = false; } 
else { id_HD_TBL.style.display="none"; 
if (brwsr==1) id_Ref_A.textContent="Advanced";
else id_Ref_A.innerText="Advanced"; NeedAdvance = true; }
return true;                     }
function Dir_Sort(el)     {
var id_lst  = document.getElementById("id_NameCol_sort"); 
var i       = -1;
if (id_lst.selectedIndex != 0){
switch (el.id) {
case "id_ASC": DirectSort = true;  Sort_Data(DirectSort); break;
case "id_DSC": DirectSort = false; Sort_Data(DirectSort); break;
case "id_ORG": i = sortC; sortC = 0; srt.sort(ASC_sort); sortC = i; break;
}
View_Sort(); } return true;}
function NameCol_Click_Search(el) 		  {
var id_lst = document.getElementById("str_Srch"); 
srchC = el.selectedIndex - 1; 
id_lst.focus(); 
return true;                      }
function NameCol_Click_Sort(el)   {
sortC = el.selectedIndex; NeedSort = true; return true;     }
function Search_KeyPress(evt) {
evt = (evt) ? evt: ((window.event) ? event: null);
if (evt) {      
if (evt.keyCode == 13) Start_Search(); 
if (evt.ctrlKey)  if (evt.keyCode == 13) Show_All_TBL();
if (evt.shiftKey) if (evt.keyCode == 13) view_Advanced();  }
return true;	              }
function Aux_Fn(evt)            {
evt = (evt) ? evt: ((window.event) ? event: null);
if (evt)  {     
if (evt.ctrlKey)  if (evt.keyCode == 13) Show_All_TBL();
if (evt.shiftKey) if (evt.keyCode == 13) view_Advanced();  }	
return true;	             }