//*******************************************************************************************
//  Attention : layerslib.js is required!

var imgPath=siteRoot + "images/";
var cssPath="/orders/css/";
var jsPath="/orders/javascripts/";


var isNav = (document.layers) ?1:0;
var Opera = (navigator.userAgent.indexOf('Opera') >= 0)? 1:0;
var isIE = (document.all && !Opera)?1:0;
var isNav6= (document.getElementById && !isIE && !Opera)?1:0;

var temparr= new Array();
var selarr=new Array("None","None","None","None");
var shift=false;
//****************************************************************************************
// define layers
function setListLayers(){
 top.createLayer('searchDiv',10,100,100,7,self);
 top.createLayer("divSearchShadow",10,100,100,6,self);
 top.hideLayer('searchDiv',self);
 top.hideLayer("divSearchShadow",self);
 top.setLayerBgColor('searchDiv',"#ffffff",self);
 top.setLayerBgColor("divSearchShadow","#808080",self);
 top.contentToLayer("divSearchShadow","<img id=\"searchShadow\" src=\""+imgPath+"blank.gif\" width=10 height=10>",self);
 setEvents();
} 
//****************************************************************************************
function setSelected(field, value)
{       
        for(i=0; i<field.length; i++)
        {
                if (field.options[i].value == value)
               {
                       field.options[i].selected = true;
               }
        }
}
//****************************************************************************************
function buildSelect(sel,arr)
{    
   sel.length=0;
       if (arr != null)
      {
		j=0;
		for (var i in arr)
		{   
			var no = new Option();
             no.value = i;
             no.text = arr[i];
              sel.options[j] = no;
			j++;	
		}
     }
     if (j == 0)
     {
     var no = new Option();
      no.value = 'None';
     no.text = '<None>';
     sel.options[0] = no; 
	 sel.options[0].selected=true;
       }
}
//****************************************************************************************
function buildStartSelects(arr,arrs)
{
temparr=arr;
temparr["None"]="<None>";
for(var i=0;i<4;i++) {
   if(i<arrs.length)selarr[i]=arrs[i];
else selarr[i]="None";
}
var f;
if(NN){
 f=document.layers["searchDiv"].document.searchForm1;
}else{
 f=document.forms.searchForm1;
}

buildSelect(f.s0,temparr);

setSelected(f.s0,"None")

 buildSelect(f.s1,new Array());
  buildSelect(f.s2,new Array());
   buildSelect(f.s3,new Array());
 SetSelects(f.s0,selarr[0])
 SetSelects(f.s1,selarr[1])
 SetSelects(f.s2,selarr[2])
 SetSelects(f.s3,selarr[3])
}
//****************************************************************************************
function SetSelects(sel,val)
{
 if(sel.length==1)return false;
 var index=parseInt(sel.name.charAt(1));
var addind=-1;
var f;
if(NN){
 f=document.layers["searchDiv"].document.searchForm1;
}else{
 f=document.searchForm1;
}

var temp=new Array();
 temp=arrFromSelect(sel);
var svalue="";
if(val) {
  svalue=val;
  setSelected(sel,svalue)
 }else{
  svalue=f.elements[index].options[f.elements[index].options.selectedIndex].value;
}
if(svalue=="None") {
 if(index>0) {
  if(selarr[index]!="None"){
    addOption(f.elements[index-1],"None","<None>");
    for(var i=0;i<index;i++) {
      addOption(f.elements[i],selarr[index],temparr[selarr[index]]);
   }
  }
 }
 if(index<3) {
    buildSelect(f.elements[index+1],new Array());
   }
 }else{
  if(index>0) {
     removeOption(f.elements[index-1],"None");
  }
  if(index<3) {
   if(f.elements[index+1].length==1){
    buildSelect(f.elements[index+1],temp);
    addind=index+1;
  }
  }
  for(var i=0;i<4;i++) {
   if(f.elements[i].length>1&&i!=index) {

      if(selarr[index]!="None"){
         addOption(f.elements[i],selarr[index],temparr[selarr[index]]);}
	
	  removeOption(f.elements[i],svalue);
	
	  if(i==addind)setSelected(f.elements[i],"None");
   }
}
   if(index>0) {
     removeOption(f.elements[index-1],"None");
   }
 }
 selarr[index]=svalue;
 setSelected(f.s0,selarr[0])
 setSelected(f.s1,selarr[1])
 setSelected(f.s2,selarr[2])
 setSelected(f.s3,selarr[3])
 return true;
}
//****************************************************************************************
function arrFromSelect(sel)
{
 var arr=new Array();
 for(i=0; i<sel.length; i++)
      {
        arr[sel.options[i].value]=sel.options[i].text;
        }
return arr;
}
//****************************************************************************************
function addOption(sel,ovalue,otext)
{
       var no = new Option();
       no.value = ovalue;
       no.text = otext;
	   if(sel.options[sel.length-1].value=="None"){
	   sel.options[sel.length-1] = no;
	   sel.options[sel.length]=new Option();
	   sel.options[sel.length-1].value="None"
	   sel.options[sel.length-1].text="<None>"
	   }else{
       sel.options[sel.length] = no; 
	   } 
}
//****************************************************************************************
function removeOption(sel,ovalue)
 {  var temp=new Array();
       for(i=0; i<sel.length; i++)
       {
             if (sel.options[i].value != ovalue)
             { 
                      temp[sel.options[i].value]=sel.options[i].text;
             }
       }
	 buildSelect(sel,temp);
}
//****************************************************************************************
function setOrder(searr)
{
pageReady=true;
maySelect=true;
setSearchOrder(searr);
CloseSetSearch();
}
//****************************************************************************************
var contentSearchDiv="<table border=\"1\" cellspacing=\"0\" cellpadding=\"0\" >\n"+
"<tr>\n"+
"<td bgcolor=\"#6699ff\" >\n"+
"<TABLE BORDER=0 cellpadding=2 cellspacing=1 >\n"+
"<form id=\"searchForm1\" name=\"searchForm1\">\n"+
"<tr>\n"+
"<td  bgcolor=\"#ffffff\" >\n"+
"<font  color=\"#000000\"  style=\"font-family: Arial,Helvetica,Verdana,Courier; font-size:12px;font-weight: bold;\">Set Sort Order</font>\n"+
"</td>\n"+
"</tr>\n"+
"<TR>\n"+
"<TD   ><font  color=\"#ffffff\"  style=\"font-family: Arial,Helvetica,Verdana,Courier; font-size:12px;font-weight: bold;\">&nbsp;First by&nbsp;</font></TD>\n"+
"</TR>\n"+
"<TR>\n"+
"<td bgcolor=\"#ffffff\">\n"+
"<select  name = \"s0\" style=\"width:220;\" width=210  onChange=\"SetSelects(this)\" onMouseDown=\"if(IE)event.cancelBubble = true;\" onMouseUp=\"if(IE)event.cancelBubble = true;\">\n"+
  	                              "<option value=''>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</option>\n"+
                                  "<option value=''></option>\n"+
                                  "<option value=''></option>\n"+
				                  "<option value=''></option>\n"+
"</select>\n"+
"</td>\n"+
"</TR>\n"+
"<TR>\n"+
"<TD ><font  color=\"#ffffff\" style=\"font-family: Arial,Helvetica,Verdana,Courier; font-size:12px;font-weight: bold;\">&nbsp;Then by&nbsp;</font></TD>\n"+
"</TR>\n"+
"<TR>\n"+
"<td width=\"100%\" bgcolor=\"#ffffff\">\n"+
"<select  name = \"s1\" style=\"width:220;\" width=210  onChange=\"SetSelects(this)\" onMouseDown=\"if(IE)event.cancelBubble = true;\" onMouseUp=\"if(IE)event.cancelBubble = true;\">\n"+
" 	                              <option value=''>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</option>\n"+
"                                  <option value=''></option>\n"+
"                                  <option value=''></option>\n"+
"				                  <option value=''></option>\n"+
"</select>\n"+
"</td>\n"+
"</TR>\n"+
"<TR>\n"+
"<TD ><font  color=\"#ffffff\" style=\"font-family: Arial,Helvetica,Verdana,Courier; font-size:12px;font-weight: bold;\">&nbsp;Then by&nbsp;</font></TD>\n"+
"</TR>\n"+
"<TR>\n"+
"<td bgcolor=\"#ffffff\">\n"+
"<select  name = \"s2\" style=\"width:220;\" width=210  onChange=\"SetSelects(this)\" onMouseDown=\"if(IE)event.cancelBubble = true;\" onMouseUp=\"if(IE)event.cancelBubble = true;\">\n"+
"  	                              <option value=''>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</option>\n"+
"                                  <option value=''></option>\n"+
"                                  <option value=''></option>\n"+
"				                  <option value=''></option>\n"+
"</select>\n"+
"</td>\n"+
"</TR>\n"+
"<TR>\n"+
"<TD ><font  color=\"#ffffff\" style=\"font-family: Arial,Helvetica,Verdana,Courier; font-size:12px;font-weight: bold;\">&nbsp;Then by&nbsp;</font></TD>\n"+
"</TR>\n"+
"<TR>\n"+
"<td bgcolor=\"#ffffff\">\n"+
"<select  name = \"s3\" style=\"width:220;\" width=210 onChange=\"SetSelects(this)\" onMouseDown=\"if(IE)event.cancelBubble = true;\" onMouseUp=\"if(IE)event.cancelBubble = true;\">\n"+
"  	                              <option value=''>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</option>\n"+
"                                  <option value=''></option>\n"+
"                                  <option value=''></option>\n"+
"				                  <option value=''></option>\n"+
"</select>\n"+
"</td>\n"+
"</TR>\n"+
"<TR>\n"+
"<td bgcolor=\"#ffffff\" valign=\"top\" align=\"center\">\n"+
"&nbsp;<A HREF=\"javascript:setOrder(selarr);\" onMouseDown=\"if(IE)event.cancelBubble = true;\" onMouseUp=\"if(IE)event.cancelBubble = true;\" ><img src=\""+imgPath+"ok0.gif\" width=\"94\" height=\"12\" border=\"0\" alt=\"OK\" hspace=\"0\" vspace=\"1\"></A><br> \n"+
"&nbsp;<A HREF=\"javascript: CloseSetSearch();\" onMouseDown=\"if(IE)event.cancelBubble = true;\" onMouseUp=\"if(IE)event.cancelBubble = true;\"><img src=\""+imgPath+"cancel0.gif\" width=\"94\" height=\"12\" border=\"0\" alt=\"Cancel\" hspace=\"0\" vspace=\"1\"></A><br>\n"+
"&nbsp;<A HREF=\"javascript:buildStartSelects(arrCol,new Array());\" onMouseDown=\"if(IE)event.cancelBubble = true;\" onMouseUp=\"if(IE)event.cancelBubble = true;\"><img src=\""+imgPath+"clear0.gif\" width=\"94\" height=\"12\" border=\"0\" alt=\"Clear\" hspace=\"0\" vspace=\"1\"></A><br>\n"+
"</td>\n"+
"</tr></form>\n"+
"</table>\n"+
"</td>\n"+
"</TR>\n"+
"</table>"

//****************************************************************************************
 function removeItem(arrOfItems,valOfItem)
 {
  var arrayText=arrOfItems.join("|");
  var reg = new RegExp("("+valOfItem+")", "g");
  arrayText=arrayText.replace(reg,"");
  arrayText=arrayText.replace(/\|{2}/g,"|");
  arrayText=arrayText.replace(/^\|/g,"");
  arrayText=arrayText.replace(/\|$/g,"");
  if (arrayText=="") return new Array();
  return arrayText.split("|");
 }
//****************************************************************************************
 function checkIt(chField,arr)
 {
  document.Form1.formIsChanged.value="1";
  if(chField.value=="") {
   chField.value="checked";
   arr[arr.length]= chField.name.substring(2,chField.name.length);
   setlabel(arr)
  }else{
   chField.value="";
   arr=removeItem(arr,chField.name.substring(2,chField.name.length));
   var chImage=eval("document.img"+chField.name.substring(2,chField.name.length));
      if(chImage)chImage.src=imgPath+"sort0.gif";
   setlabel(arr);
  }
  return arr;
 }
//****************************************************************************************
function clearImg(arr)
{
  for(var i=0;i<arr.length;i++)  {
      chImage=eval("document.img"+arr[i]);
      if(chImage)chImage.src=imgPath+"sort0.gif";
   }
}
//**************************************************************************************** 
  function checkItExt(Field,Arr)
  {
    if (!pageReady)return false;
   clearImg(Arr);
   if(!self.shift)Arr=new Array();
   arrSelCol= checkIt(Field,Arr);
   top.buttonSubmit(document.Form1, 'sort',true,true);
  }
  
  function setSortColumn(arrOfInputs,arr)
 {
   for(var i=0;i<arrOfInputs.length;i++) {
    if(i<arr.length)arrOfInputs[i].value=arr[i];
    else  arrOfInputs[i].value="";
   }
 }
//****************************************************************************************
  function setlabel(arr)
  {
   for(var i=0;i<arr.length;i++)  {
      chImage=eval("document.img"+arr[i]);
      chImage.src=imgPath+"sort"+(i+1)+".gif";
   }
  }


//****************************************************************************************
function ShowSetSearch(arr,sarr,posX,posY) 
{
//  if (!pageReady)return false;
//  if(!IsLayerExist("searchDiv",self))setListLayers();
 pageReady=false;
 maySelect=false;
 var delta;
 if(IE)
 {delta=document.body.clientHeight;}
 else
 {delta=window.innerHeight;}
 if(delta<320) window.scroll(posX,posY);
 contentToLayer("searchDiv",contentSearchDiv,self);
 if(!NN6) moveLayerTo("searchDiv",posX,posY,self); 
 ShowLayer("searchDiv",self);
   buildStartSelects(arr,sarr) 
 
 if(IE)	 
  setTimeout("makeShadow()",100);
 else
  makeShadow();
  
}
//****************************************************************************************
function CloseSetSearch()
{
pageReady=true;
maySelect=true;

top.contentToLayer("searchDiv","&nbsp;",self);
top.hideLayer('searchDiv',self);
top.hideLayer("divSearchShadow",self);
}
//****************************************************************************************

function makeShadow()
{
 var sdivname="searchDiv";
 if(IE){
	  document.images["searchShadow"].height=document.all[sdivname].offsetHeight;
      document.images["searchShadow"].width=document.all[sdivname].offsetWidth;
	  document.all["divSearchShadow"].style.left=parseInt(document.all[sdivname].style.left)+3;
	  document.all["divSearchShadow"].style.top=parseInt(document.all[sdivname].style.top)+3;
 }else if(NN6) {
  }	 
  top.showLayer("divSearchShadow",self);  
}
//****************************************************************************************
function closeSetSearch()
{
 
 arrSelCol=new Array();
 arrSelCol= setarrSelCol(document.Form1.sortColumn);
 if(arrSelCol.join("")!=startVal) {
   top.buttonSubmit(document.Form1, 'sort',true,true);
 }else{
   document.Form1.formIsChanged.value="0";
 }
}
//****************************************************************************************
 function setarrSelCol(arrOfInputs)
 {
   var temparr=new Array();
   var j=0
   for(var i=0;i<arrOfInputs.length;i++) {
    if (arrOfInputs[i].value!="") {
	   temparr[j]=arrOfInputs[i].value;
	   j++;
	}
   }
   return temparr;
 }
//****************************************************************************************
function setSearchOrder(arr)
{
setSearchOrderInt(arr)
}
 function setSearchOrderInt(arr)
 {
  document.Form1.formIsChanged.value=1;
  var retarr=arr;
  for (var i in arrCol) {
   if(i!="None") {
    eval("document.Form1.lb"+i+".value=\"\";");
	eval("document.Form1.lb"+i+".value=\"\";");
    chImage=eval("document.img"+i);
       if(chImage)chImage.src=imgPath+"sort0.gif";
   }
  }
  for(var i=0;i<4;i++) {
   retarr[i]=(retarr[i]=="None")?"":retarr[i];
   if(retarr[i]!="") {
      eval("document.Form1.lb"+retarr[i]+".value=\"checked\";");
	  chImage=eval("document.img"+retarr[i]);
      chImage.src=imgPath+"sort"+(i+1)+".gif";
   }
  }
  for(var i=0;i<document.Form1.sortColumn.length;i++) {
    if(i<arr.length)document.Form1.sortColumn[i].value=retarr[i];
    else  document.Form1.sortColumn[i].value="";
   }
  closeSetSearch();
 }
 //***************************************************************************************
 //***************************************************************************************
var strDragging =null;      
var dx=0;
var dy=0;
var dbx=5;// how close to the edge X
var dby=5;// how close to the edge Y
var tdby=5;// how close to the edge Y
//**************************************IE*************************************************
function checkMods(e)
{
if(IE)
  self.shift=event.ctrlKey;
}
//****************************************************************************************
function mouseDownEvent()        
{
  strID = "searchDiv";
  
  if(event.button==1)    
  {
   
    document.all[strID].style.cursor="move";
    strDragging = strID 
	
	dx=event.x-document.all[strDragging].style.pixelLeft;
	dy=event.y- document.all[strDragging].style.pixelTop;
	clickOnDiv=false;
	  
  }
  else
    strDragging =null ;      
}
//****************************************************************************************
function mouseMoveEvent()    
{
  if (strDragging != null)
  { top.hideLayer(strDragging,self);
    var  nx =event.clientX-dx;                // new horizontal position

 if (nx > (document.body.scrollLeft+document.body.clientWidth - dbx -  parseInt(document.all[strDragging].offsetWidth,10))) nx =(document.body.scrollLeft+document.body.clientWidth - dbx -  parseInt(document.all[strDragging].offsetWidth,10));
  if (nx < dbx) nx = dbx;             // stop at left and right edges
    var ny = event.clientY-dy;                // new vertical position
 if (ny > (document.body.scrollTop+document.body.clientHeight - dby -  parseInt(document.all[strDragging].offsetHeight,10))) ny = (document.body.scrollTop+document.body.clientHeight - dby -  parseInt(document.all[strDragging].offsetHeight,10));
  if (ny < tdby) ny = tdby;             // stop at left and right edges 
    document.all[strDragging].style.pixelLeft =nx;
    document.all[strDragging].style.pixelTop = ny;
	 top.showLayer(strDragging,self);
	document.all["divSearchShadow"].style.pixelLeft = nx+3;
    document.all["divSearchShadow"].style.pixelTop =ny+3;
    if(IE)event.cancelBubble = true;
   event.returnValue = false;
   }
}
//****************************************************************************************
function mouseUpEvent()     
{
  if (strDragging != null){
    top.showLayer('searchDiv',self);
    document.all[strDragging].style.cursor="auto";
    strDragging = null;
    if(IE)event.cancelBubble = true;
    event.returnValue = false;
  }
 }
 //****************************************************************************************
function setEvents(){
document.all["searchDiv"].onmousedown=mouseDownEvent; 
document.onmousemove=mouseMoveEvent; 
document.all["searchDiv"].onmouseup=mouseUpEvent;
}
//****************************************************************************************

var oldRow=-1;
var oldColor="";
//****************************************************************************************
function hiliteRow(numrow)
{
 return;
 if(oldRow>=0) setBgColor("row"+oldRow.toString(10),oldColor);
 self.oldRow=numrow;
 self.oldColor=getBgColor("row"+numrow.toString(10));
 setcurrentRecordId(numrow)
 setBgColor("row"+numrow.toString(10),"#EFCC55");
}
//****************************************************************************************
function setcurrentRecordId(numrow)
{
document.HighLighter.currentRecordId.value=rowAr[numrow]
}
//****************************************************************************************
function setBgColor(namediv,bgcolor)
{	
 if(IE)
 	{
 		document.all[namediv].style.backgroundColor = bgcolor;
 	}	
 if(NN6)document.getElementById(namediv).style.backgroundColor= bgcolor;
}
//****************************************************************************************
function getBgColor(namediv)
{
 var bgcolor;
 if(IE)  bgcolor=document.all[namediv].style.backgroundColor;
 if(NN6) bgcolor=document.getElementById(namediv).style.backgroundColor;
 return bgcolor;
}
//****************************************************************************************
 enableStep=true;
//****************************************************************************************
function stepOnRow()
{
  if(enableStep)
  	{
 /*  		if(event.keyCode==13&&oldRow>0)
   			{
   			 eval(window.pAr[oldRow-1]);
   			 return false;
  			}
*/  			
  		if(((event.keyCode==38)||(event.keyCode==87&&event.ctrlKey))&&(oldRow-1)>0)
  			{
   			 hiliteRow(oldRow-1);
   			 return false;
  			}
  		if(((event.keyCode==40)||(event.keyCode==83&&event.ctrlKey))&&(oldRow+1)<=maxrow)
  			{
   			 hiliteRow(oldRow+1);
  			 return false;
  			}
 	}
 /* if(event.keyCode==13)
  	{
  	 sendSearch();
  	 return false;
  	}
 */ 	
  return true;
}
//****************************************************************************************
function sendSearch()
{
  return true;
}
//****************************************************************************************
if(IE)document.onkeydown=stepOnRow;






