Commit f8081c8d authored by pjain's avatar pjain

changed by sankara on 18/09/14 updatecd source of dashboard


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@96366 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 4200e6cf
/* PURPOSE : Scan loc_code and lon_no OR LOT_SL then Display Detail information of stock.
* AUTHOR : Created By Dhanraj Thakare On 05/09/2014 W14FSUN004
*
*/
package ibase.webitm.bean.wms;
import ibase.system.config.AppConnectParm;
import ibase.webitm.ejb.wms.InventoryDispInfoDBRemote;
import ibase.webitm.utility.ITMException;
import java.io.Serializable;
//import java.util.HashMap;
import javax.naming.InitialContext;
@SuppressWarnings("serial")
public class InventoryDispInfoBean implements Serializable{
private String locationCode ;
private String qty;
private String lonNo;
private String lotSl;
private String location ;
private String allQty;
private String holdQty;
private String noArt;
private String grossWt;
InventoryDispInfoDBRemote inventoryDispInfoRemote = null;
public InventoryDispInfoBean()
{
System.out.println("inside InventoryDispInfoBean Created");
InitialContext ctx = null;
try
{
AppConnectParm appConnect = new AppConnectParm();
ctx = new InitialContext(appConnect.getProperty());
inventoryDispInfoRemote = (InventoryDispInfoDBRemote) ctx.lookup("ibase/InventoryDispInfoDB/remote");
System.out.println("instance created");
}
catch(Exception e)
{
System.out.println("Exception in creating InventoryDispInfoRemote");
e.printStackTrace();
}
}
public InventoryDispInfoBean(String locationCode, String qty, String lonNo,
String lotSl, String location, String allQty, String holdQty,
String noArt, String grossWt) {
super();
this.locationCode = locationCode;
this.qty = qty;
this.lonNo = lonNo;
this.lotSl = lotSl;
this.location = location;
this.allQty = allQty;
this.holdQty = holdQty;
this.noArt = noArt;
this.grossWt = grossWt;
}
public String getLocationCode() {
return locationCode;
}
public void setLocationCode(String locationCode) {
this.locationCode = locationCode;
}
public String getQty() {
return qty;
}
public void setQty(String qty) {
this.qty = qty;
}
public String getLonNo() {
return lonNo;
}
public void setLonNo(String lonNo) {
this.lonNo = lonNo;
}
public String getLotSl() {
return lotSl;
}
public void setLotSl(String lotSl) {
this.lotSl = lotSl;
}
public String getLocation() {
return location;
}
public void setLocation(String location) {
this.location = location;
}
public String getAllQty() {
return allQty;
}
public void setAllQty(String allQty) {
this.allQty = allQty;
}
public String getHoldQty() {
return holdQty;
}
public void setHoldQty(String holdQty) {
this.holdQty = holdQty;
}
public String getNoArt() {
return noArt;
}
public void setNoArt(String noArt) {
this.noArt = noArt;
}
public String getGrossWt() {
return grossWt;
}
public void setGrossWt(String grossWt) {
this.grossWt = grossWt;
}
public String getStocklDataLoc(String location,String lotNo,String lpn,String site) throws ITMException
{
String stockData = "";
try
{
stockData = inventoryDispInfoRemote.getStocklDataLoc( location,lotNo,lpn,site) ;
System.out.println(" bean stockData1=====>"+stockData);
}
catch(Exception e)
{
System.out.println("Exception in InventoryDispInfoDB.getStocklDataLoc() in accessing EJB");
e.printStackTrace();
stockData = null;
}
System.out.println(" bean stockData2=====>"+stockData);
return stockData;
}
/*public String getStocklDataLpn(String lpnNo) throws ITMException
{
String stockData = "";
try
{
stockData = inventoryDispInfoRemote.getStocklDataLpn( lpnNo) ;
}
catch(Exception e)
{
System.out.println("Exception in InventoryDispInfoDB.getStocklDataLpn() in accessing EJB");
e.printStackTrace();
stockData = null;
}
return stockData;
}*/
}
package ibase.webitm.bean.wms;
import ibase.webitm.ejb.wms.*;
import ibase.system.config.AppConnectParm;
import ibase.webitm.utility.ITMException;
import java.io.Serializable;
import java.rmi.RemoteException;
import javax.naming.InitialContext;
@SuppressWarnings("serial")
public class LocationStockOccuBean implements Serializable
{
LocationStockOccupancyRemote locationStockOccupancyRemote = null;
public LocationStockOccuBean()
{
System.out.println("inside LocationStockOccuBean Created");
InitialContext ctx = null;
try
{
AppConnectParm appConnect = new AppConnectParm();
ctx = new InitialContext(appConnect.getProperty());
locationStockOccupancyRemote = (LocationStockOccupancyRemote) ctx.lookup("ibase/LocationStockOccupancy/remote");
System.out.println("instance created");
}
catch(Exception e)
{
System.out.println("Exception in creating LocationStockOccupancy");
e.printStackTrace();
}
}
public String getLocPhyArea() throws RemoteException, ITMException
{
String xmlData = "";
try
{
xmlData = locationStockOccupancyRemote.getLocPhyArea();
}
catch(Exception e)
{
System.out.println("Exception in LocationStockOccuBean.getLocPhyArea() in accessing EJB");
e.printStackTrace();
xmlData = null;
}
return xmlData;
}
public String getSelectedArea( )
{
String selectedEntity="";
try
{
selectedEntity = locationStockOccupancyRemote.getSelectedArea();
}
catch(Exception e)
{
System.out.println("Exception in LocationStockOccuBean.getSelectedArea() in accessing EJB");
e.printStackTrace();
selectedEntity = null;
}
return selectedEntity;
}
public String getLocDtl(String locPhyArea, String siteCode,String locationRange) throws RemoteException, ITMException
{
String xmlData ="";
try
{
xmlData = locationStockOccupancyRemote.getLocDtl(locPhyArea,siteCode,locationRange);
}
catch(Exception e)
{
System.out.println("Exception in LocationStockOccuBean.getLocDtl() in accessing EJB");
e.printStackTrace();
xmlData = null;
}
return xmlData;
}
}
package ibase.webitm.bean.wms;
import ibase.system.config.AppConnectParm;
import ibase.webitm.ejb.wms.*;
import ibase.webitm.utility.ITMException;
import java.io.Serializable;
import java.rmi.RemoteException;
import javax.naming.InitialContext;
import ibase.system.config.AppConnectParm;
import ibase.webitm.utility.ITMException;
import java.io.Serializable;
import java.rmi.RemoteException;
import javax.naming.InitialContext;
@SuppressWarnings("serial")
public class ReplTaskBean implements Serializable
{
ReplTaskShowDetailRemote replTaskDetailRemote = null;
public ReplTaskBean()
{
System.out.println("inside LocationStockOccuBean Created");
InitialContext ctx = null;
try
{
AppConnectParm appConnect = new AppConnectParm();
ctx = new InitialContext(appConnect.getProperty());
replTaskDetailRemote = (ReplTaskShowDetailRemote) ctx.lookup("ibase/ReplTaskShowDetail/remote");
System.out.println("instance created");
}
catch(Exception e)
{
System.out.println("Exception in creating ReplTaskShowDetailRemote");
e.printStackTrace();
}
}
public String getTaskDetails() throws RemoteException, ITMException
{
String xmlData = "";
try
{
xmlData = replTaskDetailRemote.getTaskDetails();
}
catch(Exception e)
{
System.out.println("Exception in ReplTaskBean.getTaskDetails() in accessing EJB");
e.printStackTrace();
xmlData = null;
}
return xmlData;
}
}
......@@ -142,6 +142,8 @@ public class DockTranPos extends ValidatorEJB implements DockTranPosLocal, DockT
" AND O.LINE_NO = R.LINE_NO__ORD "+
" AND W.WAVE_ID = WT.WAVE_ID " +
" AND S.PICK_ORDER = R.PICK_ORDER " +
//changed by sankara on 18/09/14 added join for one pick multiple pallet.
" AND S.TRAN_ID = R.TRAN_ID " +
" AND S.PICK_ORDER = WT.REF_ID "+
" AND ( R.QUANTITY - CASE WHEN R.DEALLOC_QTY IS NULL THEN 0 ELSE R.DEALLOC_QTY END) > 0 "+
" AND R.LOC_CODE <> R.LOC_CODE__TO ";
......
/* PURPOSE : Scan loc_code and lon_no OR LOT_SL then Display Detail information of stock.
* AUTHOR : Created By Dhanraj Thakare On 05/09/2014 W14FSUN004
*
*/
package ibase.webitm.ejb.wms;
import ibase.webitm.utility.ITMException;
//import java.util.HashMap;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.HashMap;
//import java.sql.SQLException;
//import java.sql.Statement;
import ibase.system.config.ConnDriver;
import javax.ejb.Stateless;
@Stateless
public class InventoryDispInfoDB implements InventoryDispInfoDBRemote,InventoryDispInfoDBLocal
{
public String getStocklDataLoc( String location,String lotNo,String lpn,String site) throws ITMException
{
System.out.println("Call InventoryDispInfo getStocklDataLoc ");
System.out.println("Call InventoryDispInfo getStocklDataLoc Location [ "+location+" ] ####### lotNo [ "+lotNo+" ] Site Code [ "+site+" ]");
Connection conn = null;
PreparedStatement pstmt = null;
ConnDriver connDriver = new ConnDriver();
ResultSet rs = null;
//HashMap<String,String> pndListObj = new HashMap<String,String>();
StringBuffer valueXmlString = new StringBuffer();
valueXmlString = new StringBuffer( "<?xml version=\"1.0\"?>\r\n<Root>\r\n<Header>\r\n<editFlag>" );
valueXmlString.append( "A" ).append( "</editFlag>\r\n</Header>\r\n" ); //SET A.
try{
conn = connDriver.getConnectDB("DriverITM");
int domID=0;
String query = "";
String itemCode="";
String LotNo="";
String LotSl="";
String quantity="";
String availQuantity="";
String allocQuantity="";
String holdQty="";
String locationCode="";
String itemDescr="";
String condWhere="";
double noArt=0.0;
double packWT=0.0;
if("".equals(location) || location == null )
{
}else{
condWhere=" AND STOCK.LOC_CODE ='"+location+"'";
}
if("".equals(lotNo) || lotNo == null )
{
}else{
condWhere= condWhere + " AND STOCK.LOT_NO ='"+lotNo+"'";
}
if("".equals(lpn) || lpn == null )
{
}else{
condWhere =condWhere +" AND STOCK.LOT_SL='"+lpn+"'";
}
System.out.println("condWhere$$$$$$$$$$$$$$$$$ "+condWhere);
query = "SELECT STOCK.LOC_CODE,STOCK.LOT_NO,nvl(QUANTITY,0) as QUANTITY,nvl(ALLOC_QTY,0) as ALLOC_QTY ,nvl(HOLD_QTY,0) as HOLD_QTY,"
+" (nvl(QUANTITY,0)-nvl(ALLOC_QTY,0))as AVAIL_QTY,nvl(NO_ART,0) as NO_ART,STOCK.ITEM_CODE,STOCK.LOT_SL,ITEM.DESCR "
+" FROM STOCK,ITEM WHERE STOCK.ITEM_CODE=ITEM.ITEM_CODE AND QUANTITY>0 AND STOCK.SITE_CODE= ? "+condWhere+" ORDER BY LOC_CODE,ITEM_CODE,LOT_NO,LOT_SL ";//PENDING......FROM JOINS
/*pstmt = conn.prepareStatement(query);
rs = pstmt.executeQuery();*/
pstmt = conn.prepareStatement( query );
pstmt.setString( 1, site );
/* pstmt.setString( 2, lotNo ); */
rs = pstmt.executeQuery();
while(rs.next())
{
//pndListObj.put("1", "1"); //map for key ,value
packWT=0.0;
itemCode=rs.getString("ITEM_CODE").trim();
LotNo=rs.getString("LOT_NO").trim();
holdQty=rs.getString("HOLD_QTY");
quantity=rs.getString("QUANTITY");
availQuantity=rs.getString("AVAIL_QTY");
allocQuantity=rs.getString("ALLOC_QTY");
locationCode=rs.getString("LOC_CODE");
LotSl=rs.getString("LOT_SL");
noArt=Double.parseDouble(rs.getString("NO_ART"));
itemDescr=rs.getString("DESCR");
System.out.println(" 55555555555555555555 "+quantity);
HashMap itemVolMap = getItemVoumeMap(itemCode, LotNo, conn);
packWT = (Double)itemVolMap.get("PACK_WEIGHT");
packWT=packWT * noArt;
domID++;
System.out.println("Location code from db===>"+rs.getString("LOC_CODE"));
valueXmlString.append( "<Detail1 domID='"+ domID +"' selected=\"N\">\r\n" );
long holdQtyL=Long.parseLong(holdQty);
if(holdQtyL>0){
valueXmlString.append("<hold_flg><![CDATA[").append("1").append("]]></hold_flg>\r\n");// for hold item
}else{
valueXmlString.append("<hold_flg><![CDATA[").append("0").append("]]></hold_flg>\r\n");//normal item
}
valueXmlString.append("<item><![CDATA[").append(itemCode).append("]]></item>\r\n");
valueXmlString.append("<loc_code><![CDATA[").append(locationCode).append( "]]></loc_code>\r\n" );
valueXmlString.append("<lot_no><![CDATA[").append(LotNo).append("]]></lot_no>\r\n");
valueXmlString.append("<lot_sl><![CDATA[").append(LotSl).append("]]></lot_sl>\r\n");
valueXmlString.append("<quantity><![CDATA[").append(quantity).append("]]></quantity>\r\n");
valueXmlString.append("<alloc_qty><![CDATA[").append(allocQuantity).append("]]></alloc_qty>\r\n");
valueXmlString.append("<avail_qty><![CDATA[").append(availQuantity).append("]]></avail_qty>\r\n");
valueXmlString.append("<gross_wt><![CDATA[").append(packWT).append("]]></gross_wt>\r\n");
/*valueXmlString.append("<loc_code><![CDATA[").append(locationCode).append( "]]></loc_code>\r\n" );
valueXmlString.append("<lot_no><![CDATA[").append(LotNo).append("]]></lot_no>\r\n");*/
valueXmlString.append("<hold_qty><![CDATA[").append(holdQty).append("]]></hold_qty>\r\n");
valueXmlString.append("<no_art><![CDATA[").append(noArt).append("]]></no_art>\r\n");
valueXmlString.append("<item_descr><![CDATA[").append(itemDescr).append("]]></item_descr>\r\n");
valueXmlString.append("</Detail1>\r\n");
}
//System.out.println(" Pending activity wise count....."+valueXmlString.toString());
}
catch (Exception E)
{
E.printStackTrace();
}
finally
{
try
{
if(conn != null)
{
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
conn.close();
}
conn = null;
}
catch(Exception d)
{
d.printStackTrace();
}
}
valueXmlString.append( "</Root>\r\n" );
System.out.println( "\n****ValueXmlString :" + valueXmlString.toString() + ":********" );
return valueXmlString.toString();
// return pndListObj;
}
/* public String getStocklDataLpn(String lpnSl) throws ITMException
{
System.out.println("Call InventoryDispInfo getStockDataLpn ");
System.out.println("Call InventoryDispInfo getStockDataLpn LPN No [ "+lpnSl+" ]");
Connection conn = null;
PreparedStatement pstmt = null;
ConnDriver connDriver = new ConnDriver();
ResultSet rs = null;
int domID=0;
HashMap<String,String> pndListObj = new HashMap<String,String>();
StringBuffer valueXmlString = new StringBuffer();
valueXmlString = new StringBuffer( "<?xml version=\"1.0\"?>\r\n<Root>\r\n<Header>\r\n<editFlag>" );
valueXmlString.append( "A" ).append( "</editFlag>\r\n</Header>\r\n" ); //SET A.
try{
conn = connDriver.getConnectDB("DriverITM");
String query = "";
query = "SELECT LOC_CODE,LOT_NO,nvl(QUANTITY,0) as QUANTITY,nvl(ALLOC_QTY,0) as ALLOC_QTY ,nvl(HOLD_QTY,0) as HOLD_QTY, "
+" (nvl(QUANTITY,0)-(nvl(ALLOC_QTY,0)+ nvl(HOLD_QTY,0)))as AVAIL_QTY,nvl(NO_ART,0) as NO_ART,LOT_SL,ITEM_CODE "
+" FROM STOCK WHERE LOT_SL= ? ";//PENDING......FROM JOINS
pstmt = conn.prepareStatement(query);
rs = pstmt.executeQuery();
pstmt = conn.prepareStatement( query );
pstmt.setString( 1,lpnSl);
rs = pstmt.executeQuery();
String itemCode="";
String LotNo="";
String LotSl="";
String quantity="";
String availQuantity="";
String allocQuantity="";
String holdQty="";
String locationCode="";
double packWT=0.0;
while(rs.next())
{
itemCode=rs.getString("ITEM_CODE").trim();
LotNo=rs.getString("LOT_NO").trim();
holdQty=rs.getString("HOLD_QTY");
quantity=rs.getString("QUANTITY");
availQuantity=rs.getString("AVAIL_QTY");
allocQuantity=rs.getString("ALLOC_QTY");
locationCode=rs.getString("LOC_CODE");
LotSl=rs.getString("LOT_SL");
System.out.println(" 66666666666666666666 "+quantity);
HashMap itemVolMap = getItemVoumeMap(itemCode, LotNo, conn);
packWT = (Double)itemVolMap.get("PACK_WEIGHT");
domID++;
valueXmlString.append( "<Detail1 domID='"+ domID +"' selected=\"N\">\r\n" );
//valueXmlString.append("<line_no/>\r\n");
//In feed form line_no currently is not generating automatically so line_no is set as "1"
//valueXmlString.append("<line_no><![CDATA[").append("1").append("]]></line_no>\r\n");
valueXmlString.append("<loc_code><![CDATA[").append(locationCode).append( "]]></loc_code>\r\n" );
valueXmlString.append("<lot_no><![CDATA[").append(LotNo).append("]]></lot_no>\r\n");
valueXmlString.append("<item><![CDATA[").append(itemCode).append("]]></item>\r\n");
valueXmlString.append("<quantity><![CDATA[").append(quantity).append("]]></quantity>\r\n");
valueXmlString.append("<alloc_qty><![CDATA[").append(allocQuantity).append("]]></alloc_qty>\r\n");
valueXmlString.append("<avail_qty><![CDATA[").append(availQuantity).append("]]></avail_qty>\r\n");
valueXmlString.append("<gross_wt><![CDATA[").append(packWT).append("]]></gross_wt>\r\n");
valueXmlString.append("<hold_qty><![CDATA[").append(holdQty ).append("]]></hold_qty>\r\n");//for flag.
valueXmlString.append("<lot_sl><![CDATA[").append(LotSl).append("]]></lot_sl>\r\n");
valueXmlString.append("<no_art><![CDATA[").append(rs.getString("NO_ART")).append("]]></no_art>\r\n");
valueXmlString.append("</Detail1>\r\n");
}
System.out.println(" Stock Detail....."+valueXmlString.toString());
}
catch (Exception E)
{
E.printStackTrace();
}
finally
{
try
{
if(conn != null)
{
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
conn.close();
}
conn = null;
}
catch(Exception d)
{
d.printStackTrace();
}
}
valueXmlString.append( "</Root>\r\n" );
System.out.println( "\n****ValueXmlString :" + valueXmlString.toString() + ":********" );
return valueXmlString.toString();
}*/
private HashMap getItemVoumeMap(String itemCode,String lotNo,Connection con)throws Exception
{
double packSize = 0,itemSize = 0,lotSize = 0;
PreparedStatement pstmt = null;
String sql="";
ResultSet rs = null;
double itmLen = 0,itmWidth = 0,itmHeight = 0,itemWeight = 0,lotLen = 0 ,lotHeight = 0,lotWidth = 0,lotWeight = 0;
HashMap dataVolumeMap = new HashMap();
try {
sql = "SELECT I.LENGTH ITEM_LEN,I.WIDTH ITEM_WID,I.HEIGHT ITEM_HEIGHT,I.GROSS_WEIGHT ITEM_WEIGHT,"
+" L.LENGTH LITEM_LEN,L.WIDTH LITEM_WID,L.HEIGHT LITEM_HEIGHT,L.SHIPPER_SIZE SHIPSIZE,L.GROSS_WEIGHT LOT_WEIGHT FROM"
+" ITEM I,ITEM_LOT_PACKSIZE L"
+" WHERE I.ITEM_CODE = L.ITEM_CODE"
+" AND L.LOT_NO__FROM <= ? AND L.LOT_NO__TO >= ?"
+" AND I.ITEM_CODE = ?";
pstmt = con.prepareStatement(sql);
if(lotNo != null && lotNo.length() > 0)
{
pstmt.setString(1, lotNo);
pstmt.setString(2, lotNo);
}
else
{
pstmt.setString(1, "00");
pstmt.setString(2, "ZZ");
}
pstmt.setString(3, itemCode);
rs = pstmt.executeQuery();
if(rs.next())
{
itmLen = rs.getDouble("ITEM_LEN");
itmWidth = rs.getDouble("ITEM_WID");
itmHeight = rs.getDouble("ITEM_HEIGHT");
itemWeight = rs.getDouble("ITEM_WEIGHT");
lotLen = rs.getDouble("LITEM_LEN");
lotWidth = rs.getDouble("LITEM_WID");
lotHeight = rs.getDouble("LITEM_HEIGHT");
packSize = rs.getDouble("SHIPSIZE");
lotWeight = rs.getDouble("LOT_WEIGHT");
}
//packSize = (lotHeight * lotWidth * lotLen)/(itmLen * itmWidth * itmHeight);
/*itemSize = Math.floor(itmLen * itmWidth * itmHeight);
lotSize = Math.floor((lotHeight * lotWidth * lotLen));*/
itemSize = itmLen * itmWidth * itmHeight;
lotSize = lotHeight * lotWidth * lotLen;
dataVolumeMap.put("PACK_SIZE", packSize);
dataVolumeMap.put("ITEM_SIZE", itemSize);
dataVolumeMap.put("LOT_SIZE", lotSize);
dataVolumeMap.put("ITEM_WEIGHT", itemWeight);
dataVolumeMap.put("PACK_WEIGHT", lotWeight);
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
} catch (Exception e) {
// TODO: handle exception
throw e;
}
finally
{
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(rs != null)
{
rs.close();
rs = null;
}
}
return dataVolumeMap;
}
}
/* PURPOSE : Scan loc_code and lon_no OR LOT_SL then Display Detail information of stock.
* AUTHOR : Created By Dhanraj Thakare On 05/09/2014 W14FSUN004
*
*/
package ibase.webitm.ejb.wms;
import javax.ejb.Local;
import ibase.webitm.utility.ITMException;
@Local
public interface InventoryDispInfoDBLocal {
public String getStocklDataLoc(String location,String lotNo,String lpn,String site) throws ITMException;
/*public String getStocklDataLpn(String lpnNo) throws ITMException;*/
}
/* PURPOSE : Scan loc_code and lon_no OR LOT_SL then Display Detail information of stock.
* AUTHOR : Created By Dhanraj Thakare On 05/09/2014 W14FSUN004
*
*/
package ibase.webitm.ejb.wms;
import ibase.webitm.utility.ITMException;
import javax.ejb.Remote;
@Remote
public interface InventoryDispInfoDBRemote
{
public String getStocklDataLoc(String location,String lotNo,String lpn,String site) throws ITMException;
/*public String getStocklDataLpn(String lpnNo) throws ITMException;*/
}
package ibase.webitm.ejb.wms;
import java.rmi.RemoteException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import ibase.system.config.ConnDriver;
import ibase.webitm.ejb.ValidatorEJB;
import ibase.webitm.utility.ITMException;
import javax.ejb.Stateless;
/**
* Session Bean implementation class LocationStockOccupancy
*/
@Stateless
public class LocationStockOccupancy extends ValidatorEJB implements LocationStockOccupancyRemote, LocationStockOccupancyLocal
{
/**
* Default constructor.
*/
public LocationStockOccupancy()
{
}
public String getLocPhyArea() throws RemoteException, ITMException
{
String sql = "";
ResultSet rs = null;
Connection conn = null;
PreparedStatement pstmt = null;
ConnDriver connDriver = new ConnDriver();
StringBuffer xmlData = null;
try
{
conn = connDriver.getConnectDB("DriverITM");
connDriver = null;
sql = "select distinct loc_phy_area from location order by loc_phy_area ";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
xmlData = new StringBuffer("<?xml version='1.0'?> <Root>");
while (rs.next())
{
xmlData.append("<Detail>");
xmlData.append("<loc_phy_area>").append("<![CDATA[" + this.checkNull(rs.getString("loc_phy_area")) + "]]>").append("</loc_phy_area>");
xmlData.append("</Detail>");
}
xmlData.append("</Root>");
rs.close();
rs = null;
pstmt.close();
pstmt = null;
} catch (Exception e)
{
e.printStackTrace();
throw new ITMException(e);
} finally
{
try
{
if (conn != null)
{
if (rs != null)
rs.close();
rs = null;
if (pstmt != null)
pstmt.close();
pstmt = null;
conn.close();
conn = null;
}
conn = null;
} catch (Exception d)
{
d.printStackTrace();
throw new ITMException(d);
}
}
return xmlData.toString();
}
public String getSelectedArea() throws RemoteException, ITMException
{
String sql = "";
ResultSet rs = null;
Connection conn = null;
PreparedStatement pstmt = null;
ConnDriver connDriver = new ConnDriver();
String selectedArea = "";
try
{
conn = connDriver.getConnectDB("DriverITM");
connDriver = null;
sql = " select distinct loc_phy_area from location order by loc_phy_area ";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if (rs.next())
{
selectedArea = this.checkNull(rs.getString("loc_phy_area"));
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
} catch (Exception e)
{
e.printStackTrace();
throw new ITMException(e);
} finally
{
try
{
if (conn != null)
{
if (rs != null)
rs.close();
rs = null;
if (pstmt != null)
pstmt.close();
pstmt = null;
conn.close();
conn = null;
}
conn = null;
} catch (Exception d)
{
d.printStackTrace();
throw new ITMException(d);
}
}
return selectedArea;
}
public String getLocDtl(String locPhyArea, String siteCode,String locationRange) throws RemoteException, ITMException
{
String sql = "";
ResultSet rs = null, rs1 = null;
Connection conn = null;
PreparedStatement pstmt = null, pstmt1 = null;
ConnDriver connDriver = new ConnDriver();
StringBuffer xmlData = null;
String previousRow = "";
String previousStack = "";
String currentRow = "";
String cuurentStack = "";
String locationCode = " ";
int count = 0;
String locCode="";
try
{
conn = connDriver.getConnectDB("DriverITM");
connDriver = null;
if(locationRange!=null && locationRange.trim().length()>0){
locCode ="AND loc_code like '"+locationRange+"%'";
System.out.println("location Range from JSP ==="+locationRange);
}
sql = "select loc_code,loc_phy_row,loc_phy_col,loc_phy_stack from location where loc_phy_area = ? and site_code = ? "+locCode +" order by loc_phy_row, loc_phy_stack ,loc_phy_col";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, locPhyArea);
pstmt.setString(2, siteCode);
rs = pstmt.executeQuery();
xmlData = new StringBuffer("<?xml version='1.0'?> <Root>");
xmlData.append("<loc_phy_area area =\"" + locPhyArea + "\">");
while (rs.next())
{
int isDataPresnt = 0;
count++;
locationCode = checkNull(rs.getString("loc_code"));
currentRow = checkNull(rs.getString("loc_phy_row"));
cuurentStack = checkNull(rs.getString("loc_phy_stack"));
if (count > 1 && !previousStack.equals(cuurentStack))
{
xmlData.append("</loc_phy_stack > ");
}
if (count > 1 && !currentRow.equals(previousRow))
{
xmlData.append("</loc_phy_row > ");
}
if (count == 1 || !currentRow.equals(previousRow))
{
previousRow = checkNull(rs.getString("loc_phy_row"));
xmlData.append("<loc_phy_row row =\"" + currentRow + "\">");
}
if (count == 1 || !previousStack.equals(cuurentStack))
{
previousStack = checkNull(rs.getString("loc_phy_stack"));
xmlData.append("<loc_phy_stack stack=\"" + cuurentStack + "\">");
}
xmlData.append("<loc_phy_col col=\"" + checkNull(rs.getString("loc_phy_col")) + "\">");
sql = "select s.item_code, s.site_code, s.loc_code, s.lot_no, s.lot_sl, s.exp_date, s.quantity, s.alloc_qty, s.hold_qty , s.mfg_date, s.exp_date, s.retest_date , i.descr from stock s ,item i where s.quantity >0 and s.exp_date <= sysdate and s.item_code=i.item_code and s.loc_code =? and s.site_code =?";
pstmt1 = conn.prepareStatement(sql);
pstmt1.setString(1, locationCode);
pstmt1.setString(2, siteCode);
rs1 = pstmt1.executeQuery();
xmlData.append("<location_code lcode=\"" + locationCode + "\">");
while (rs1.next())
{
isDataPresnt++;
xmlData.append("<stock>");
xmlData.append("<item_code>").append("<![CDATA[" + checkNull(rs1.getString("item_code")) + "]]>").append("</item_code>");
xmlData.append("<descr>").append("<![CDATA[" + checkNull(rs1.getString("descr")) + "]]>").append("</descr>");
xmlData.append("<lot_no>").append("<![CDATA[" + checkNull(rs1.getString("lot_no")) + "]]>").append("</lot_no>");
xmlData.append("<lot_sl>").append("<![CDATA[" + checkNull(rs1.getString("lot_sl")) + "]]>").append("</lot_sl>");
xmlData.append("<quantity>").append("<![CDATA[" + rs1.getDouble("quantity") + "]]>").append("</quantity>");
xmlData.append("<hold_qty>").append("<![CDATA[" + rs1.getDouble("hold_qty") + "]]>").append("</hold_qty>");
xmlData.append("<alloc_qty>").append("<![CDATA[" + rs1.getDouble("alloc_qty") + "]]>").append("</alloc_qty>");
if (rs1.getDate("mfg_date") != null)
{
xmlData.append("<mfg_date>").append("<![CDATA[" + rs1.getDate("mfg_date") + "]]>").append("</mfg_date>");
} else
{
xmlData.append("<mfg_date>").append("<![CDATA[ ]]>").append("</mfg_date>");
}
if (rs1.getDate("exp_date") != null)
{
xmlData.append("<exp_date>").append("<![CDATA[" + rs1.getDate("exp_date") + "]]>").append("</exp_date>");
} else
{
xmlData.append("<exp_date>").append("<![CDATA[ ]>").append("</exp_date>");
}
if (rs1.getDate("retest_date") != null)
{
xmlData.append("<retest_date>").append("<![CDATA[" + rs1.getDate("retest_date") + "]]>").append("</retest_date>");
} else
{
xmlData.append("<retest_date>").append("<![CDATA[ ]]>").append("</retest_date>");
}
xmlData.append("</stock>");
}
/*if (isDataPresnt == 0)
{
String empty="";
xmlData.append("<stock>");
xmlData.append("<item_code>").append("<![CDATA[" + empty + "]]>").append("</item_code>");
xmlData.append("<descr>").append("<![CDATA[" + empty + "]]>").append("</descr>");
xmlData.append("<lot_no>").append("<![CDATA[" + empty + "]]>").append("</lot_no>");
xmlData.append("<lot_sl>").append("<![CDATA[" + empty + "]]>").append("</lot_sl>");
xmlData.append("<quantity>").append("<![CDATA[" + empty + "]]>").append("</quantity>");
xmlData.append("<hold_qty>").append("<![CDATA[" + empty + "]]>").append("</hold_qty>");
xmlData.append("<alloc_qty>").append("<![CDATA[" + empty + "]]>").append("</alloc_qty>");
xmlData.append("<mfg_date>").append("<![CDATA[ ]]>").append("</mfg_date>");
xmlData.append("<exp_date>").append("<![CDATA[ ]]>").append("</exp_date>");
xmlData.append("<retest_date>").append("<![CDATA[ ]]>").append("</retest_date>");
xmlData.append("</stock>");
}*/
xmlData.append("</location_code>");
xmlData.append("</loc_phy_col>");
pstmt1.close();
rs1.close();
pstmt1 = null;
rs1 = null;
}
if (count > 0)
{
xmlData.append("</loc_phy_stack > ");
xmlData.append("</loc_phy_row > ");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
xmlData.append("</loc_phy_area>");
xmlData.append("</Root>");
} catch (Exception e)
{
e.printStackTrace();
throw new ITMException(e);
} finally
{
try
{
if (conn != null)
{
if (rs != null)
rs.close();
rs = null;
if (pstmt != null)
pstmt.close();
pstmt = null;
if (rs1 != null)
rs1.close();
rs1 = null;
if (pstmt1 != null)
pstmt1.close();
pstmt1 = null;
conn.close();
conn = null;
}
conn = null;
} catch (Exception d)
{
d.printStackTrace();
throw new ITMException(d);
}
}
System.out.println("Final XML===" + xmlData.toString());
return xmlData.toString();
}
/*
* public String getStkOccupncyDtl(String loginCode) throws RemoteException,
* ITMException { String data = ""; String sql = ""; ResultSet rs = null;
* Connection conn = null; PreparedStatement pstmt = null; ConnDriver
* connDriver = new ConnDriver(); StringBuffer xmlData = null; try { conn =
* connDriver.getConnectDB("DriverITM"); connDriver = null;
*
* sql =
* "select s.item_code,s.site_code,s.loc_code,s.lot_no,s.lot_sl,s.quantity,s.alloc_qty,s.exp_date, l.loc_phy_area,l.loc_phy_row,l.loc_phy_col,l.loc_phy_stack "
* +
* "From stock s left outer join location l on s.loc_code=l.loc_code where s.quantity >0 "
* + "AND s.exp_date <=SYSDATE AND S.SITE_CODE= ?";
*
* pstmt = conn.prepareStatement(sql); pstmt.setString(1, loginCode); rs =
* pstmt.executeQuery();
*
* xmlData = new StringBuffer("<?xml version='1.0'?> <Root>"); while
* (rs.next()) { xmlData.append("<Detail>");
*
* xmlData.append("<item_code>").append("<![CDATA[" +
* this.checkNull(rs.getString("item_code")) +
* "]]>").append("</item_code>");
* xmlData.append("<site_code>").append("<![CDATA[" +
* this.checkNull(rs.getString("site_code")) +
* "]]>").append("</site_code>");
* xmlData.append("<loc_code>").append("<![CDATA[" +
* this.checkNull(rs.getString("loc_code")) + "]]>").append("</loc_code>");
* xmlData.append("<lot_no>").append("<![CDATA[" +
* this.checkNull(rs.getString("lot_no")) + "]]>").append("</lot_no>");
* xmlData.append("<quantity>").append("<![CDATA[" +
* rs.getDouble("quantity") + "]]>").append("</quantity>");
* xmlData.append("<exp_date>").append("<![CDATA[" + rs.getDate("exp_date")
* + "]]>").append("</exp_date>");
* xmlData.append("<loc_phy_area>").append("<![CDATA[" +
* this.checkNull(rs.getString("loc_phy_area")) +
* "]]>").append("</loc_phy_area>");
* xmlData.append("<loc_phy_row>").append("<![CDATA[" +
* this.checkNull(rs.getString("loc_phy_row")) +
* "]]>").append("</loc_phy_row>");
* xmlData.append("<loc_phy_col>").append("<![CDATA[" +
* this.checkNull(rs.getString("loc_phy_col")) +
* "]]>").append("</loc_phy_col>");
* xmlData.append("<loc_phy_stack>").append("<![CDATA[" +
* this.checkNull(rs.getString("loc_phy_stack")) +
* "]]>").append("</loc_phy_stack>");
*
* xmlData.append("</Detail>"); } xmlData.append("</Root>");
*
* rs.close(); rs = null; pstmt.close(); pstmt = null;
*
* } catch (Exception e) { e.printStackTrace(); throw new ITMException(e); }
* finally { try { if (conn != null) { if (rs != null) rs.close(); rs =
* null; if (pstmt != null) pstmt.close(); pstmt = null; conn.close(); conn
* = null; } conn = null; } catch (Exception d) { d.printStackTrace(); throw
* new ITMException(d); } } return data; }
*
* public String getStkDtl(String locationCode, String siteCode) throws
* RemoteException, ITMException { String sql = ""; ResultSet rs = null;
* Connection conn = null; PreparedStatement pstmt = null; ConnDriver
* connDriver = new ConnDriver(); String selectedArea = ""; StringBuffer
* xmlData = null; try { conn = connDriver.getConnectDB("DriverITM");
* connDriver = null;
*
* sql =
* "select item_code,site_code,loc_code,lot_no,lot_sl,exp_date,quantity,alloc_qty,hold_qty From stock where quantity >0 AND exp_date <= SYSDATE and loc_code= ? and SITE_CODE=? "
* ;
*
* pstmt = conn.prepareStatement(sql); pstmt.setString(1, locationCode);
* pstmt.setString(2, siteCode); rs = pstmt.executeQuery(); xmlData = new
* StringBuffer("<?xml version='1.0'?> <Root>");
* xmlData.append("<location_code lcode=\"" + locationCode + "\">");
* xmlData.append("<detail>");
*
* while (rs.next()) {
*
* xmlData.append("<stock>");
* xmlData.append("<item_code>").append("<![CDATA[" +
* rs.getString("item_code") + "]]>").append("</item_code>");
* xmlData.append("<lot_sl>").append("<![CDATA[" + rs.getString("lot_sl") +
* "]]>").append("</lot_sl>");
* xmlData.append("<quantity>").append("<![CDATA[" +
* rs.getString("quantity") + "]]>").append("</quantity>");
* xmlData.append("<lot_no>").append("<![CDATA[" + rs.getString("lot_no") +
* "]]>").append("</lot_no>"); xmlData.append("</stock>"); }
*
* xmlData.append("</detail>"); rs.close(); rs = null; pstmt.close(); pstmt
* = null; } catch (Exception e) { e.printStackTrace(); throw new
* ITMException(e); } finally { try { if (conn != null) { if (rs != null)
* rs.close(); rs = null; if (pstmt != null) pstmt.close(); pstmt = null;
* conn.close(); conn = null; } conn = null; } catch (Exception d) {
* d.printStackTrace(); throw new ITMException(d); } } return selectedArea;
*
* }
*/
private String checkNull(String input)
{
if (input == null)
{
input = "";
} else
{
input = input.trim();
}
return input;
}
}
package ibase.webitm.ejb.wms;
import ibase.webitm.ejb.ValidatorLocal;
import ibase.webitm.utility.ITMException;
import java.rmi.RemoteException;
import javax.ejb.Local;
@Local
public interface LocationStockOccupancyLocal extends ValidatorLocal
{
public String getLocPhyArea() throws RemoteException, ITMException;
public String getLocDtl(String locPhyArea,String loginCode,String locationRange) throws RemoteException, ITMException;
public String getSelectedArea() throws RemoteException, ITMException;
}
package ibase.webitm.ejb.wms;
import ibase.webitm.ejb.ValidatorRemote;
import ibase.webitm.utility.ITMException;
import java.rmi.RemoteException;
import javax.ejb.Remote;
@Remote
public interface LocationStockOccupancyRemote extends ValidatorRemote
{
public String getLocPhyArea() throws RemoteException, ITMException;
public String getLocDtl(String locPhyArea,String loginCode,String locationRange) throws RemoteException, ITMException;
public String getSelectedArea() throws RemoteException, ITMException;
}
package ibase.webitm.ejb.wms;
import ibase.system.config.AppConnectParm;
import ibase.webitm.utility.ITMException;
import java.io.Serializable;
import java.rmi.RemoteException;
import javax.naming.InitialContext;
import ibase.system.config.AppConnectParm;
import ibase.webitm.utility.ITMException;
import java.io.Serializable;
import java.rmi.RemoteException;
import javax.naming.InitialContext;
import java.rmi.RemoteException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import ibase.system.config.ConnDriver;
import ibase.webitm.ejb.ValidatorEJB;
import ibase.webitm.utility.ITMException;
import javax.ejb.Stateless;
/**
* Session Bean implementation class LocationStockOccupancy
*/
@Stateless
public class ReplTaskShowDetail extends ValidatorEJB implements ReplTaskShowDetailRemote, ReplTaskShowDetailLocal
{
/**
* Default constructor.
*/
public ReplTaskShowDetail()
{
}
public String getTaskDetails() throws RemoteException, ITMException
{
String sql = "";
ResultSet rs = null;
Connection conn = null;
PreparedStatement pstmt = null;
ConnDriver connDriver = new ConnDriver();
StringBuffer xmlData = null;
int replCreatecount =0;
int replVerifycount = 0;
int replPendingcount = 0;
int pickCreatecount = 0;
int pickVerifycount = 0;
int pickPendingcount = 0;
int activeCreatecount = 0;
int activeVerifycount = 0;
int activePendingcount = 0;
int mpackCreatecount = 0;
int mpackVerifycount = 0;
int mpackPendingcount = 0;
int activereplCreatecount = 0;
int activereplVerifycount = 0;
int activereplPendingcount = 0;
int mpickCreatecount = 0;
int mpickPendingcount = 0;
int mpickVerifycount = 0;
int hazmetcreateCount = 0;
int hazmetpendingCount = 0;
int hazmetverifyCount = 0;
int count = 0;
try
{
System.out.println("*************testing task deatils***************");
conn = connDriver.getConnectDB("DriverITM");
connDriver = null;
//replenishment start..
sql = " SELECT COUNT(DISTINCT RH.REPL_ORDER) AS COUNT FROM WAVE_TASK W, WAVE_TASK_DET WT, REPL_ORD_HDR RH, REPL_ORD_DET RT " + //created
" WHERE W.WAVE_ID = WT.WAVE_ID AND WT.REF_ID = RH.REPL_ORDER AND WT.WAVE_STATUS ='C' AND WT.STATUS ='N' AND RH.REPL_ORDER = RT.REPL_ORDER " +
" AND RH.REPL_ORDER = RT.REPL_ORDER AND W.CANCEL ='N' AND (RT.CANCEL_MODE ='N' OR RT.CANCEL_MODE IS NULL) AND RH.ORDER_TYPE NOT IN ('E','Q','T','P','I') ";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if (rs.next())
{
replCreatecount = rs.getInt("COUNT");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
sql = " SELECT COUNT (DISTINCT RH.REPL_ORDER) AS COUNT FROM REPL_ORD_HDR RH, REPL_ORD_DET RT, WAVE_TASK W, WAVE_TASK_DET WT, " + //verified
" REPL_ISS_HDR RIH, REPL_ISS_DET RIT WHERE RH.REPL_ORDER = RT.REPL_ORDER AND W.WAVE_ID = WT.WAVE_ID AND RH.REPL_ORDER = RIT.REPL_ORDER "+
" AND RH.REPL_ORDER = RIH.REPL_ORDER AND RH.REPL_ORDER = WT.REF_ID AND RIH.CONFIRMED ='Y' AND WT.WAVE_STATUS ='V' " +
" AND W.CANCEL ='N' AND (RT.CANCEL_MODE ='N' OR RT.CANCEL_MODE IS NULL) AND RH.ORDER_TYPE NOT IN ('E','Q','T','P','I') ";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if (rs.next())
{
replVerifycount = rs.getInt("COUNT");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
sql = " SELECT COUNT (DISTINCT RH.REPL_ORDER) AS COUNT FROM REPL_ORD_HDR RH, WAVE_TASK W, WAVE_TASK_DET WT, REPL_ORD_DET RT" +
" WHERE W.WAVE_ID = WT.WAVE_ID AND RH.REPL_ORDER = WT.REF_ID AND WT.STATUS = 'N' "+
" AND WT.WAVE_STATUS = 'W' AND RT.REPL_ORDER = RH.REPL_ORDER AND W.CANCEL = 'N' AND (RT.CANCEL_MODE ='N' OR RT.CANCEL_MODE IS NULL) " +
" AND RH.ORDER_TYPE NOT IN ('E','Q','T','P','I') " ;
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if (rs.next())
{
replPendingcount = rs.getInt("COUNT");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
//replenishment end..
// active replenishment start..
sql = " SELECT COUNT(RH.REPL_ORDER) AS COUNT FROM WAVE_TASK W, WAVE_TASK_DET WT, REPL_ORD_HDR RH, REPL_ORD_DET RT " + //created
" WHERE W.WAVE_ID = WT.WAVE_ID AND WT.REF_ID = RH.REPL_ORDER AND RH.REPL_ORDER = RT.REPL_ORDER AND ( RT.CANCEL_MODE = 'N' OR RT.CANCEL_MODE IS NULL ) " +
" AND W.CANCEL ='N' AND WT.STATUS ='N' AND WT.WAVE_STATUS ='C' AND RH.ORDER_TYPE IN ('E','Q','T','P','I') ";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if (rs.next())
{
activereplCreatecount = rs.getInt("COUNT");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
sql = " SELECT COUNT (RH.REPL_ORDER) AS COUNT FROM REPL_ORD_HDR RH, REPL_ORD_DET RT, WAVE_TASK W, WAVE_TASK_DET WT, " + //verified
" REPL_ISS_HDR RIH, REPL_ISS_DET RIT WHERE RH.REPL_ORDER = RT.REPL_ORDER AND W.WAVE_ID = WT.WAVE_ID AND RH.REPL_ORDER = RIT.REPL_ORDER "+
" AND RH.REPL_ORDER = RIH.REPL_ORDER AND RH.REPL_ORDER = WT.REF_ID AND RIH.CONFIRMED ='Y' AND WT.WAVE_STATUS ='V' " +
" AND (RT.CANCEL_MODE ='N' OR RT.CANCEL_MODE IS NULL) AND W.CANCEL ='N' AND RH.ORDER_TYPE IN ('E','Q','T','P','I') ";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if (rs.next())
{
activereplVerifycount = rs.getInt("COUNT");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
sql = " SELECT COUNT (RH.REPL_ORDER) AS COUNT FROM REPL_ORD_HDR RH, WAVE_TASK W, WAVE_TASK_DET WT, REPL_ORD_DET RT" +
" WHERE W.WAVE_ID = WT.WAVE_ID AND RH.REPL_ORDER = WT.REF_ID AND RH.REPL_ORDER = RT.REPL_ORDER AND WT.STATUS = 'N' " +
" AND (RT.CANCEL_MODE ='N' OR RT.CANCEL_MODE IS NULL) AND W.CANCEL ='N' AND WT.WAVE_STATUS = 'W' AND RH.ORDER_TYPE IN ('E','Q','T','P','I') " ;
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if (rs.next())
{
activereplPendingcount = rs.getInt("COUNT");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
// active replenishment end..
//pick start
sql = " SELECT COUNT (PH.PICK_ORDER) AS COUNT FROM WAVE_TASK W, WAVE_TASK_DET WT, PICK_ORD_HDR PH, PICK_ORD_DET PT, ITEM I WHERE W.WAVE_ID = WT.WAVE_ID "+
" AND WT.REF_ID = PH.PICK_ORDER AND PT.ITEM_CODE = I.ITEM_CODE AND PT.PICK_ORDER = WT.REF_ID AND WT.SALE_ORDER = PT.SALE_ORDER AND (I.HAZARDOUS ='N' OR I.HAZARDOUS IS NULL ) AND WT.WAVE_STATUS ='C' AND WT.STATUS ='N' " +
" AND W.CANCEL ='N' AND WT.REF_SER IN('C-PICK','M-PICK','P-PICK') ";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if (rs.next())
{
pickCreatecount = rs.getInt("COUNT");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
sql = " SELECT COUNT (PH.PICK_ORDER) AS COUNT FROM PICK_ORD_HDR PH, PICK_ORD_DET PT, WAVE_TASK W, WAVE_TASK_DET WT, PICK_ISS_HDR PIH, PICK_ISS_DET PIT, ITEM I " +
" WHERE W.WAVE_ID = WT.WAVE_ID AND PH.PICK_ORDER = PIT.PICK_ORDER AND PH.PICK_ORDER = PIH.PICK_ORDER AND PH.PICK_ORDER = WT.REF_ID " +
" AND PT.ITEM_CODE = I.ITEM_CODE AND WT.SALE_ORDER = PT.SALE_ORDER AND (I.HAZARDOUS ='N' OR I.HAZARDOUS IS NULL) AND PIH.CONFIRMED ='Y' AND W.CANCEL ='N' AND WT.REF_SER IN('C-PICK','M-PICK','P-PICK') AND WT.WAVE_STATUS = 'V' " ;
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if (rs.next())
{
pickVerifycount = rs.getInt("COUNT");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
sql = " SELECT COUNT (PH.PICK_ORDER) AS COUNT FROM PICK_ORD_HDR PH, PICK_ORD_DET PT, WAVE_TASK W, WAVE_TASK_DET WT, ITEM I WHERE W.WAVE_ID = WT.WAVE_ID " +
" AND PH.PICK_ORDER = WT.REF_ID AND PT.ITEM_CODE = I.ITEM_CODE AND PT.PICK_ORDER = WT.REF_ID AND WT.SALE_ORDER = PT.SALE_ORDER AND (I.HAZARDOUS ='N' OR I.HAZARDOUS IS NULL) AND WT.STATUS = 'N' AND W.CANCEL ='N' " +
" AND WT.WAVE_STATUS = 'W' AND WT.REF_SER IN('C-PICK','M-PICK','P-PICK') ";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if (rs.next())
{
pickPendingcount = rs.getInt("COUNT");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
//pick end
//Active pick start
sql = " SELECT COUNT (PH.PICK_ORDER) AS COUNT FROM WAVE_TASK W, WAVE_TASK_DET WT, PICK_ORD_HDR PH, PICK_ORD_DET PT WHERE W.WAVE_ID = WT.WAVE_ID "+
" AND WT.REF_ID = PH.PICK_ORDER AND PH.PICK_ORDER = PT.PICK_ORDER AND W.CANCEL ='N' AND WT.STATUS ='N' AND WT.WAVE_STATUS ='C' AND WT.REF_SER IN('A-PICK') ";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if (rs.next())
{
activeCreatecount = rs.getInt("COUNT");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
sql = " SELECT COUNT (PH.PICK_ORDER) AS COUNT FROM PICK_ORD_HDR PH, PICK_ORD_DET PT, WAVE_TASK W, WAVE_TASK_DET WT, PICK_ISS_HDR PIH, PICK_ISS_DET PIT " +
" WHERE PH.PICK_ORDER = PT.PICK_ORDER AND W.WAVE_ID = WT.WAVE_ID AND PH.PICK_ORDER = PIT.PICK_ORDER AND PH.PICK_ORDER = PIH.PICK_ORDER AND PH.PICK_ORDER = WT.REF_ID " +
" AND W.CANCEL ='N' AND PIH.CONFIRMED ='Y' AND WT.REF_SER IN ('A-PICK') AND WT.WAVE_STATUS = 'V' " ;
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if (rs.next())
{
activeVerifycount = rs.getInt("COUNT");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
sql = " SELECT COUNT (PH.PICK_ORDER) AS COUNT FROM PICK_ORD_HDR PH, WAVE_TASK W, WAVE_TASK_DET WT,PICK_ORD_DET PT WHERE W.WAVE_ID = WT.WAVE_ID AND PH.PICK_ORDER = WT.REF_ID " +
" AND PH.PICK_ORDER = PT.PICK_ORDER AND W.CANCEL ='N' AND WT.STATUS = 'N' AND WT.WAVE_STATUS = 'W' AND WT.REF_SER IN ('A-PICK') " ;
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if (rs.next())
{
activePendingcount = rs.getInt("COUNT");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
// Active pick end
/* //Master pick start
sql = " SELECT COUNT (DISTINCT PH.PICK_ORDER) AS COUNT FROM WAVE_TASK W, WAVE_TASK_DET WT, PICK_ORD_HDR PH WHERE W.WAVE_ID = WT.WAVE_ID "+
" AND WT.REF_ID = PH.PICK_ORDER AND WT.WAVE_STATUS ='C' AND WT.STATUS = 'N' AND WT.REF_SER IN('M-PICK') ";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if (rs.next())
{
mpickCreatecount = rs.getInt("COUNT");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
sql = " SELECT COUNT (DISTINCT PH.PICK_ORDER) AS COUNT FROM PICK_ORD_HDR PH, PICK_ORD_DET PT, WAVE_TASK W, WAVE_TASK_DET WT, PICK_ISS_HDR PIH, PICK_ISS_DET PIT " +
" WHERE PH.PICK_ORDER = PT.PICK_ORDER AND W.WAVE_ID = WT.WAVE_ID AND PH.PICK_ORDER = PIT.PICK_ORDER AND PH.PICK_ORDER = PIH.PICK_ORDER AND PH.PICK_ORDER = WT.REF_ID " +
" AND PIH.CONFIRMED ='Y' AND WT.REF_SER IN ('M-PICK') AND WT.WAVE_STATUS = 'V' " ;
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if (rs.next())
{
mpickVerifycount = rs.getInt("COUNT");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
sql = " SELECT COUNT (DISTINCT PH.PICK_ORDER) AS COUNT FROM PICK_ORD_HDR PH, WAVE_TASK W, WAVE_TASK_DET WT WHERE W.WAVE_ID = WT.WAVE_ID AND PH.PICK_ORDER = WT.REF_ID " +
" AND WT.STATUS = 'N' AND WT.WAVE_STATUS = 'W' AND WT.REF_SER IN ('M-PICK') " ;
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if (rs.next())
{
mpickPendingcount = rs.getInt("COUNT");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
// Master pick end
*/
//Master Pack start.
sql = " SELECT COUNT (DISTINCT PH.TRAN_ID) AS COUNT FROM WAVE_TASK W, WAVE_TASK_DET WT, PACK_HDR PH WHERE W.WAVE_ID = WT.WAVE_ID AND WT.REF_ID = PH.TRAN_ID " +
" AND WT.STATUS ='N' AND W.CANCEL ='N' AND WT.REF_SER IN ('M-PACK') AND WT.WAVE_STATUS ='C' " ;
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if (rs.next())
{
mpackCreatecount = rs.getInt("COUNT");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
sql = " SELECT COUNT(DISTINCT WT.REF_ID) AS COUNT FROM WAVE_TASK W, WAVE_TASK_DET WT, PACK_HDR PH WHERE W.WAVE_ID = WT.WAVE_ID AND WT.REF_ID = PH.TRAN_ID " +
" AND WT.REF_SER IN ('M-PACK') AND WT.STATUS ='Y' AND W.CANCEL ='N' AND WT.WAVE_STATUS ='V' " ;
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if (rs.next())
{
mpackVerifycount = rs.getInt("COUNT");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
sql = " SELECT COUNT(DISTINCT WT.REF_ID) AS COUNT FROM WAVE_TASK W, WAVE_TASK_DET WT, PACK_HDR PH WHERE W.WAVE_ID = WT.WAVE_ID AND WT.REF_ID = PH.TRAN_ID " +
" AND WT.REF_SER IN ('M-PACK') AND WT.STATUS ='N' AND W.CANCEL ='N' AND WT.WAVE_STATUS ='W' " ;
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if (rs.next())
{
mpackPendingcount = rs.getInt("COUNT");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
//Master Pack end.
//Hazmet Case Picking start
sql = " SELECT COUNT (PH.PICK_ORDER) AS COUNT FROM WAVE_TASK W, WAVE_TASK_DET WT, PICK_ORD_HDR PH,ITEM I,PICK_ORD_DET PT WHERE W.WAVE_ID = WT.WAVE_ID " +
" AND WT.REF_ID = PH.PICK_ORDER AND PH.PICK_ORDER = PT.PICK_ORDER AND PT.ITEM_CODE = I.ITEM_CODE AND I.HAZARDOUS ='Y' AND WT.WAVE_STATUS ='C' " +
" AND WT.STATUS = 'N' AND WT.REF_SER IN('C-PICK') " ;
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if (rs.next())
{
hazmetcreateCount = rs.getInt("COUNT");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
sql = " SELECT COUNT (PH.PICK_ORDER) AS COUNT FROM WAVE_TASK W, WAVE_TASK_DET WT, PICK_ORD_HDR PH,ITEM I,PICK_ORD_DET PT WHERE W.WAVE_ID = WT.WAVE_ID " +
" AND WT.REF_ID = PH.PICK_ORDER AND PH.PICK_ORDER = PT.PICK_ORDER AND PT.ITEM_CODE = I.ITEM_CODE AND I.HAZARDOUS ='Y' AND WT.WAVE_STATUS ='W' " +
" AND WT.STATUS ='N' AND WT.REF_SER IN('C-PICK') " ;
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if (rs.next())
{
hazmetpendingCount = rs.getInt("COUNT");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
sql = " SELECT COUNT (PH.PICK_ORDER) AS COUNT FROM WAVE_TASK W, WAVE_TASK_DET WT, PICK_ORD_HDR PH,ITEM I,PICK_ORD_DET PT WHERE W.WAVE_ID = WT.WAVE_ID " +
" AND WT.REF_ID = PH.PICK_ORDER AND PH.PICK_ORDER = PT.PICK_ORDER AND PT.ITEM_CODE = I.ITEM_CODE AND I.HAZARDOUS ='Y' AND WT.WAVE_STATUS ='V' " +
" AND WT.REF_SER IN('C-PICK') " ;
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if (rs.next())
{
hazmetverifyCount = rs.getInt("COUNT");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
//Hazmet Case Picking end
int totalRepltasks = replCreatecount + replVerifycount + replPendingcount ;
int totalpicktasks = pickCreatecount + pickVerifycount + pickPendingcount ;
int totalactiveTasks = activeCreatecount + activeVerifycount + activePendingcount ;
int totalmpacktasks = mpackCreatecount + mpackVerifycount + mpackPendingcount ;
int totalactiverepltasks = activereplCreatecount + activereplVerifycount + activereplPendingcount ;
//int totalmpicktasks = mpickCreatecount + mpickVerifycount + mpickPendingcount ;
int totalhazmetcasepicks = hazmetcreateCount + hazmetverifyCount + hazmetpendingCount ;
xmlData = new StringBuffer("<?xml version='1.0'?> <Root>");
xmlData.append("<Detail>");
//xmlData.append("<Detail domID="+"\""+count+"\">");
xmlData.append("<Replenishments>");
xmlData.append( "<repl_create_count><![CDATA[" ).append(replCreatecount).append( "]]></repl_create_count>\r\n" );
xmlData.append( "<repl_pending_count><![CDATA[" ).append(replPendingcount).append( "]]></repl_pending_count>\r\n" );
xmlData.append( "<repl_verify_count><![CDATA[" ).append(replVerifycount).append( "]]></repl_verify_count>\r\n" );
xmlData.append( "<total_repl_tasks><![CDATA[" ).append(totalRepltasks).append( "]]></total_repl_tasks>\r\n" );
xmlData.append("</Replenishments>");
xmlData.append("<Activereplenishments>");
xmlData.append( "<activerepl_create_count><![CDATA[" ).append(activereplCreatecount).append( "]]></activerepl_create_count>\r\n" );
xmlData.append( "<activerepl_pending_count><![CDATA[" ).append(activereplPendingcount).append( "]]></activerepl_pending_count>\r\n" );
xmlData.append( "<activerepl_verify_count><![CDATA[" ).append(activereplVerifycount).append( "]]></activerepl_verify_count>\r\n" );
xmlData.append( "<total_activerepl_tasks><![CDATA[" ).append(totalactiverepltasks).append( "]]></total_activerepl_tasks>\r\n" );
xmlData.append("</Activereplenishments>");
xmlData.append("<pickings>");
xmlData.append( "<pick_create_count><![CDATA[" ).append(pickCreatecount).append( "]]></pick_create_count>\r\n" );
xmlData.append( "<pick_pending_count><![CDATA[" ).append(pickPendingcount).append( "]]></pick_pending_count>\r\n" );
xmlData.append( "<pick_verify_count><![CDATA[" ).append(pickVerifycount).append( "]]></pick_verify_count>\r\n" );
xmlData.append( "<total_pick_tasks><![CDATA[" ).append(totalpicktasks).append( "]]></total_pick_tasks>\r\n" );
xmlData.append("</pickings>");
xmlData.append("<Activepickings>");
xmlData.append( "<active_create_count><![CDATA[" ).append(activeCreatecount).append( "]]></active_create_count>\r\n" );
xmlData.append( "<active_pending_count><![CDATA[" ).append(activePendingcount).append( "]]></active_pending_count>\r\n" );
xmlData.append( "<active_verify_count><![CDATA[" ).append(activeVerifycount).append( "]]></active_verify_count>\r\n" );
xmlData.append( "<total_active_tasks><![CDATA[" ).append(totalactiveTasks).append( "]]></total_active_tasks>\r\n" );
xmlData.append("</Activepickings>");
xmlData.append("<Masterpackings>");
xmlData.append( "<mpack_create_count><![CDATA[" ).append(mpackCreatecount).append( "]]></mpack_create_count>\r\n" );
xmlData.append( "<mpack_pending_count><![CDATA[" ).append(mpackPendingcount).append( "]]></mpack_pending_count>\r\n" );
xmlData.append( "<mpack_verify_count><![CDATA[" ).append(mpackVerifycount).append( "]]></mpack_verify_count>\r\n" );
xmlData.append( "<total_mpack_tasks><![CDATA[" ).append(totalmpacktasks).append( "]]></total_mpack_tasks>\r\n" );
xmlData.append("</Masterpackings>");
/* xmlData.append("<Masterpickings>");
xmlData.append( "<mpick_create_count><![CDATA[" ).append(mpickCreatecount).append( "]]></mpick_create_count>\r\n" );
xmlData.append( "<mpick_pending_count><![CDATA[" ).append(mpickPendingcount).append( "]]></mpick_pending_count>\r\n" );
xmlData.append( "<mpick_verify_count><![CDATA[" ).append(mpickVerifycount).append( "]]></mpick_verify_count>\r\n" );
xmlData.append( "<total_mpick_tasks><![CDATA[" ).append(totalmpicktasks).append( "]]></total_mpick_tasks>\r\n" );
xmlData.append("</Masterpickings>");*/
xmlData.append("<Hazmetpickings>");
xmlData.append( "<hazmet_create_count><![CDATA[" ).append(hazmetcreateCount).append( "]]></hazmet_create_count>\r\n" );
xmlData.append( "<hazmet_pending_count><![CDATA[" ).append(hazmetpendingCount).append( "]]></hazmet_pending_count>\r\n" );
xmlData.append( "<hazmet_verify_count><![CDATA[" ).append(hazmetverifyCount).append( "]]></hazmet_verify_count>\r\n" );
xmlData.append( "<total_hazmet_tasks><![CDATA[" ).append(totalhazmetcasepicks).append( "]]></total_hazmet_tasks>\r\n" );
xmlData.append("</Hazmetpickings>");
xmlData.append("</Detail>");
xmlData.append("</Root>");
}
catch (Exception e)
{
e.printStackTrace();
throw new ITMException(e);
}
finally
{
try
{
if (conn != null)
{
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
conn.close();
conn = null;
}
conn = null;
}
catch (Exception d)
{
d.printStackTrace();
throw new ITMException(d);
}
}
return xmlData.toString();
}
}
package ibase.webitm.ejb.wms;
import ibase.webitm.ejb.ValidatorLocal;
import ibase.webitm.utility.ITMException;
import java.rmi.RemoteException;
import javax.ejb.Local;
@Local
public interface ReplTaskShowDetailLocal extends ValidatorLocal
{
public String getTaskDetails() throws RemoteException, ITMException;
}
package ibase.webitm.ejb.wms;
import ibase.webitm.ejb.ValidatorRemote;
import ibase.webitm.utility.ITMException;
import java.rmi.RemoteException;
import javax.ejb.Local;
import javax.ejb.Remote;
@Remote
public interface ReplTaskShowDetailRemote extends ValidatorRemote
{
public String getTaskDetails() throws RemoteException, ITMException;
}
package ibase.webitm.utility.wms;
import ibase.scheduler.utility.interfaces.Schedule;
import java.rmi.RemoteException;
import java.util.*;
import java.text.*;
import java.util.Date;
import java.sql.*;
import java.io.*;
import org.omg.CORBA.ORB;
import org.w3c.dom.*;
import java.util.Properties;
import javax.swing.text.NumberFormatter;
import javax.xml.parsers.*;
import javax.ejb.*;
import javax.naming.InitialContext;
import ibase.webitm.utility.ITMException;
import ibase.webitm.ejb.*;
import ibase.webitm.ejb.dis.DistCommon;
import ibase.webitm.ejb.dis.InvAllocTraceBean;
import ibase.webitm.utility.GenericUtility;
import ibase.webitm.utility.TransIDGenerator;
import ibase.utility.BaseException;
import ibase.utility.CommonConstants;
import ibase.utility.UserInfoBean;
import ibase.ejb.*;
import ibase.system.config.*;
import java.text.DateFormat;
import java.text.NumberFormat;
import java.text.SimpleDateFormat;
import java.util.*;
import java.math.*;
import java.net.InetAddress;
import ibase.webitm.utility.ITMException;
import ibase.webitm.utility.TransIDGenerator;
import ibase.webitm.ejb.*;
import ibase.webitm.utility.GenericUtility;
import ibase.ejb.*;
import ibase.system.config.*;
import ibase.utility.*;
import java.util.*;
import java.sql.*;
import java.io.*;
import java.rmi.RemoteException;
import javax.ejb.*;
import javax.naming.InitialContext;
import java.text.*;
import javax.xml.parsers.*;
import org.w3c.dom.*;
@javax.ejb.Stateless
public class LocationStockUpdate implements Schedule
{
//GenericUtility genericUtility = GenericUtility.getInstance();
//ITMDBAccessEJB itmDBAccessEJB = new ITMDBAccessEJB();
//ConnDriver connDriver = new ConnDriver();
//CommonConstants commonConstants = new CommonConstants();
String chgUser = null;
String chgTerm = null;
static long count_records=0;
boolean isError = false;
static int Lineno =0;
public String schedulePriority( String wrkflwPriority )throws Exception
{
return "";
}
public String schedule(HashMap map)throws Exception
{
return "";
}
public String schedule(String scheduleParamXML)throws Exception
{
String siteCode = "";
ibase.utility.UserInfoBean userInfo = null;
try
{
System.out.println("************ ["+scheduleParamXML+"]");
userInfo = new ibase.utility.UserInfoBean( scheduleParamXML );
siteCode = userInfo.getSiteCode();
System.out.println("Site code = "+siteCode);
locationSchdule(siteCode,scheduleParamXML);
}
catch(Exception e)
{
throw new Exception(e);
}
return "";
}
public int locationSchdule(String siteCode , String scheduleParamXML) throws RemoteException,ITMException
{
String sql = "";
String updatesql = "";
String locCode = "";
String locPhyArea = "";
String locPhyRow = "";
String locPhyCol = "";
String locPhysicalStack = "";
String locPhyStack = "";
String invStat = "";
int count = 0;
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
GenericUtility genericUtility = GenericUtility.getInstance();
ITMDBAccessEJB itmDBAccess = new ITMDBAccessEJB();
try
{
ConnDriver connDriver = new ConnDriver();
conn = connDriver.getConnectDB("DriverITM");
connDriver = null;
conn.setAutoCommit(false);
DistCommon distComm = new DistCommon();
System.out.println(" Calling stock occupency process *************$$$$$$$$**********************");
sql = " SELECT LOC_CODE, INV_STAT FROM LOCATION ";
pstmt = conn.prepareStatement(sql);
rs=pstmt.executeQuery();
while(rs.next())
{
locCode = checkNull(rs.getString("LOC_CODE"));
invStat = checkNull(rs.getString("INV_STAT"));
System.out.println("locCode:->"+locCode);
System.out.println("invStat:->"+invStat);
if(locCode != null && locCode.trim().length() > 0 )
{
locPhyArea = invStat;
System.out.println("locPhyArea::::"+locPhyArea);
locPhyRow = locCode.substring(locCode.indexOf(locCode), locCode.indexOf(locCode)+3);
System.out.println("locPhyrow::::"+locPhyRow);
locPhyCol = locCode.substring(locCode.indexOf(locCode)+3, locCode.indexOf(locCode)+5);
System.out.println("locPhycol::::"+locPhyCol);
locPhyStack = locCode.substring(locCode.indexOf(locCode)+5);
System.out.println("locPhystack::::"+locPhyStack);
updatesql = " UPDATE LOCATION SET LOC_PHY_AREA = ?, LOC_PHY_ROW = ?, LOC_PHY_COL = ?,LOC_PHY_STACK = ? WHERE LOC_CODE = ? ";
pstmt = conn.prepareStatement(updatesql);
pstmt.setString(1,invStat.trim());
pstmt.setString(2,locPhyRow.trim());
pstmt.setString(3,locPhyCol.trim());
pstmt.setString(4,locPhyStack.trim());
pstmt.setString(5,locCode);
count = pstmt.executeUpdate();
if( count > 0)
{
System.out.println("update count:::"+count) ;
}
pstmt.close();
pstmt = null;
}
}
}
catch(Exception e)
{
isError = true;
try
{
conn.rollback();
}
catch (SQLException e1)
{
e1.printStackTrace();
}
System.out.println("******Exception"+e.getMessage());
}
finally
{
try
{
if(!isError)
{
conn.commit();
}
else
{
conn.rollback();
}
if(conn != null)
{
if(pstmt!=null)
{
pstmt.close();
pstmt=null;
}
if(rs!=null)
{
rs.close();
rs=null;
}
conn.commit();
conn.close();
}
}
catch(Exception ex)
{
isError = true;
System.out.println("Exception is "+ex.getMessage());
}
}
return count;
} //verify vendor schdule()
private String checkNull(String input)
{
if (input==null)
{
input="";
}
return input;
}
}
......@@ -49495,6 +49495,126 @@ commit;
commit;
--start changed by Dhanraj on 10-Sep-14 add row for new mobile menu.
Insert into ITM2MENU
(APPLICATION,LEVEL_1,LEVEL_2,LEVEL_3,LEVEL_4,LEVEL_5,WIN_NAME,DESCR,COMMENTS,MENU_PATH,ICON_PATH,CLOSE_ICON,OPEN_ICON,OBJ_TYPE,CHG_DATE,CHG_TERM,CHG_USER,MOB_DEPLOY)
values ('WMS',1,56,0,0,0,'/ibase/wms/jsp/InventoryDetailsInfo.jsp','Inventory Details','Inventory Details','WMS.1.56.0.0.0','e12_logo.gif',null,null,'I',null,null,null,'Y');
Insert into user_rights
(PROFILE_ID,APPLICATION,MENU_ROW,MENU_COL,MENU_SUBCOL,LEVEL_4,LEVEL_5,MENU_NAME,RIGHTS,ACC_FILT,DEF_FILT,OBJ_NAME,FAV_OPTION,FAV_ORDER)
values
('SUN','WMS',1,56,0,0,0,'Inventory Details','*',null,null,'/ibase/webitm/jsp/InventoryDetailsInfo.jsp',null,null);
Insert into user_obj_fav (OBJ_NAME,USER_ID,CHG_DATE,CHG_USER,CHG_TERM)
values ('/ibase/wms/jsp/InventoryDetailsInfo.jsp','BASE',to_date('30-JUL-14','DD-MON-RR'),'BASE','172.16.100.193');
Insert into user_obj_fav (OBJ_NAME,USER_ID,CHG_DATE,CHG_USER,CHG_TERM)
values('/ibase/wms/jsp/InventoryDetailsInfo.jsp','WMS',to_date('30-JUL-14','DD-MON-RR'),'WMS','172.16.100.182');
--End changed by Dhanraj on 10-Sep-14 add row for new mobile menu.
INSERT INTO dashboard_comp(
user_id ,
page_id ,
comp_id ,
title ,
uri ,
width ,
height ,
row_no ,
column_no ,
comp_type ,
comp_name ,
entity_type ,
entity_code )
VALUES (
'BASE ',
6,
1,
'Location Stock Occupency',
'/ibase/wms/jsp/LocationStockOccupancy.jsp',
200,
0,
0,
1,
NULL,
NULL,
'U',
'BASE ');
INSERT INTO dashboard_pages (
user_id ,
page_id ,
title ,
uri ,
image_uri ,
page_type ,
entity_type ,
entity_code ,
chg_user ,
chg_term ,
chg_date )
VALUES (
'BASE ',
6,
'Location Stock Occupency',
'NA',
'../images/compose.gif',
'T',
'U',
'BASE ',
'99999 ',
'127.0.0.1',
TO_DATE('31-05-2014 11:37:36','DD-MM-YYYY HH24:MI:SS'));
INSERT INTO dashboard_comp(
user_id ,
page_id ,
comp_id ,
title ,
uri ,
width ,
height ,
row_no ,
column_no ,
comp_type ,
comp_name ,
entity_type ,
entity_code )
VALUES (
'BASE ',
3,
1,
'Task Details',
'/ibase/wms/jsp/ReplTaskShowDetail.jsp',
204,
0,
0,
1,
NULL,
NULL,
'U',
'BASE ');
INSERT INTO dashboard_pages (
user_id ,
page_id ,
title ,
uri ,
image_uri ,
page_type ,
entity_type ,
entity_code ,
chg_user ,
chg_term ,
chg_date )
VALUES (
'BASE ',
3,
' Task Wise Activity',
'null',
NULL,
'T',
'U',
'BASE ',
'Base ',
'172.16.148.23',
fn_sysdate());
/*! jQuery UI - v1.10.3 - 2013-05-03
* http://jqueryui.com
* Includes: jquery.ui.core.css, jquery.ui.accordion.css, jquery.ui.autocomplete.css, jquery.ui.button.css, jquery.ui.datepicker.css, jquery.ui.dialog.css, jquery.ui.menu.css, jquery.ui.progressbar.css, jquery.ui.resizable.css, jquery.ui.selectable.css, jquery.ui.slider.css, jquery.ui.spinner.css, jquery.ui.tabs.css, jquery.ui.tooltip.css, jquery.ui.theme.css
* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
/* Layout helpers
----------------------------------*/
.ui-helper-hidden {
display: none;
}
.ui-helper-hidden-accessible {
border: 0;
clip: rect(0 0 0 0);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
width: 1px;
}
.ui-helper-reset {
margin: 0;
padding: 0;
border: 0;
outline: 0;
line-height: 1.3;
text-decoration: none;
font-size: 100%;
list-style: none;
}
.ui-helper-clearfix:before,
.ui-helper-clearfix:after {
content: "";
display: table;
border-collapse: collapse;
}
.ui-helper-clearfix:after {
clear: both;
}
.ui-helper-clearfix {
min-height: 0; /* support: IE7 */
}
.ui-helper-zfix {
width: 100%;
height: 100%;
top: 0;
left: 0;
position: absolute;
opacity: 0;
filter:Alpha(Opacity=0);
}
.ui-front {
z-index: 100;
}
/* Interaction Cues
----------------------------------*/
.ui-state-disabled {
cursor: default !important;
}
/* Icons
----------------------------------*/
/* states and images */
.ui-icon {
display: block;
text-indent: -99999px;
overflow: hidden;
background-repeat: no-repeat;
}
/* Misc visuals
----------------------------------*/
/* Overlays */
.ui-widget-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.ui-accordion .ui-accordion-header {
display: block;
cursor: pointer;
position: relative;
margin-top: 2px;
padding: .5em .5em .5em .7em;
min-height: 0; /* support: IE7 */
}
.ui-accordion .ui-accordion-icons {
padding-left: 2.2em;
}
.ui-accordion .ui-accordion-noicons {
padding-left: .7em;
}
.ui-accordion .ui-accordion-icons .ui-accordion-icons {
padding-left: 2.2em;
}
.ui-accordion .ui-accordion-header .ui-accordion-header-icon {
position: absolute;
left: .5em;
top: 50%;
margin-top: -8px;
}
.ui-accordion .ui-accordion-content {
padding: 1em 2.2em;
border-top: 0;
overflow: auto;
}
.ui-autocomplete {
position: absolute;
top: 0;
left: 0;
cursor: default;
}
.ui-button {
display: inline-block;
position: relative;
padding: 0;
line-height: normal;
margin-right: .1em;
cursor: pointer;
vertical-align: middle;
text-align: center;
overflow: visible; /* removes extra width in IE */
}
.ui-button,
.ui-button:link,
.ui-button:visited,
.ui-button:hover,
.ui-button:active {
text-decoration: none;
}
/* to make room for the icon, a width needs to be set here */
.ui-button-icon-only {
width: 2.2em;
}
/* button elements seem to need a little more width */
button.ui-button-icon-only {
width: 2.4em;
}
.ui-button-icons-only {
width: 3.4em;
}
button.ui-button-icons-only {
width: 3.7em;
}
/* button text element */
.ui-button .ui-button-text {
display: block;
line-height: normal;
}
.ui-button-text-only .ui-button-text {
padding: .4em 1em;
}
.ui-button-icon-only .ui-button-text,
.ui-button-icons-only .ui-button-text {
padding: .4em;
text-indent: -9999999px;
}
.ui-button-text-icon-primary .ui-button-text,
.ui-button-text-icons .ui-button-text {
padding: .4em 1em .4em 2.1em;
}
.ui-button-text-icon-secondary .ui-button-text,
.ui-button-text-icons .ui-button-text {
padding: .4em 2.1em .4em 1em;
}
.ui-button-text-icons .ui-button-text {
padding-left: 2.1em;
padding-right: 2.1em;
}
/* no icon support for input elements, provide padding by default */
input.ui-button {
padding: .4em 1em;
}
/* button icon element(s) */
.ui-button-icon-only .ui-icon,
.ui-button-text-icon-primary .ui-icon,
.ui-button-text-icon-secondary .ui-icon,
.ui-button-text-icons .ui-icon,
.ui-button-icons-only .ui-icon {
position: absolute;
top: 50%;
margin-top: -8px;
}
.ui-button-icon-only .ui-icon {
left: 50%;
margin-left: -8px;
}
.ui-button-text-icon-primary .ui-button-icon-primary,
.ui-button-text-icons .ui-button-icon-primary,
.ui-button-icons-only .ui-button-icon-primary {
left: .5em;
}
.ui-button-text-icon-secondary .ui-button-icon-secondary,
.ui-button-text-icons .ui-button-icon-secondary,
.ui-button-icons-only .ui-button-icon-secondary {
right: .5em;
}
/* button sets */
.ui-buttonset {
margin-right: 7px;
}
.ui-buttonset .ui-button {
margin-left: 0;
margin-right: -.3em;
}
/* workarounds */
/* reset extra padding in Firefox, see h5bp.com/l */
input.ui-button::-moz-focus-inner,
button.ui-button::-moz-focus-inner {
border: 0;
padding: 0;
}
.ui-datepicker {
width: 17em;
padding: .2em .2em 0;
display: none;
}
.ui-datepicker .ui-datepicker-header {
position: relative;
padding: .2em 0;
}
.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
position: absolute;
top: 2px;
width: 1.8em;
height: 1.8em;
}
.ui-datepicker .ui-datepicker-prev-hover,
.ui-datepicker .ui-datepicker-next-hover {
top: 1px;
}
.ui-datepicker .ui-datepicker-prev {
left: 2px;
}
.ui-datepicker .ui-datepicker-next {
right: 2px;
}
.ui-datepicker .ui-datepicker-prev-hover {
left: 1px;
}
.ui-datepicker .ui-datepicker-next-hover {
right: 1px;
}
.ui-datepicker .ui-datepicker-prev span,
.ui-datepicker .ui-datepicker-next span {
display: block;
position: absolute;
left: 50%;
margin-left: -8px;
top: 50%;
margin-top: -8px;
}
.ui-datepicker .ui-datepicker-title {
margin: 0 2.3em;
line-height: 1.8em;
text-align: center;
}
.ui-datepicker .ui-datepicker-title select {
font-size: 1em;
margin: 1px 0;
}
.ui-datepicker select.ui-datepicker-month-year {
width: 100%;
}
.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year {
width: 49%;
}
.ui-datepicker table {
width: 100%;
font-size: .9em;
border-collapse: collapse;
margin: 0 0 .4em;
}
.ui-datepicker th {
padding: .7em .3em;
text-align: center;
font-weight: bold;
border: 0;
}
.ui-datepicker td {
border: 0;
padding: 1px;
}
.ui-datepicker td span,
.ui-datepicker td a {
display: block;
padding: .2em;
text-align: right;
text-decoration: none;
}
.ui-datepicker .ui-datepicker-buttonpane {
background-image: none;
margin: .7em 0 0 0;
padding: 0 .2em;
border-left: 0;
border-right: 0;
border-bottom: 0;
}
.ui-datepicker .ui-datepicker-buttonpane button {
float: right;
margin: .5em .2em .4em;
cursor: pointer;
padding: .2em .6em .3em .6em;
width: auto;
overflow: visible;
}
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
float: left;
}
/* with multiple calendars */
.ui-datepicker.ui-datepicker-multi {
width: auto;
}
.ui-datepicker-multi .ui-datepicker-group {
float: left;
}
.ui-datepicker-multi .ui-datepicker-group table {
width: 95%;
margin: 0 auto .4em;
}
.ui-datepicker-multi-2 .ui-datepicker-group {
width: 50%;
}
.ui-datepicker-multi-3 .ui-datepicker-group {
width: 33.3%;
}
.ui-datepicker-multi-4 .ui-datepicker-group {
width: 25%;
}
.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {
border-left-width: 0;
}
.ui-datepicker-multi .ui-datepicker-buttonpane {
clear: left;
}
.ui-datepicker-row-break {
clear: both;
width: 100%;
font-size: 0;
}
/* RTL support */
.ui-datepicker-rtl {
direction: rtl;
}
.ui-datepicker-rtl .ui-datepicker-prev {
right: 2px;
left: auto;
}
.ui-datepicker-rtl .ui-datepicker-next {
left: 2px;
right: auto;
}
.ui-datepicker-rtl .ui-datepicker-prev:hover {
right: 1px;
left: auto;
}
.ui-datepicker-rtl .ui-datepicker-next:hover {
left: 1px;
right: auto;
}
.ui-datepicker-rtl .ui-datepicker-buttonpane {
clear: right;
}
.ui-datepicker-rtl .ui-datepicker-buttonpane button {
float: left;
}
.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,
.ui-datepicker-rtl .ui-datepicker-group {
float: right;
}
.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,
.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
border-right-width: 0;
border-left-width: 1px;
}
.ui-dialog {
position: absolute;
top: 0;
left: 0;
/*padding: .2em;*/
outline: 0;
}
.ui-dialog .ui-dialog-titlebar {
padding: .1em 1em;
position: relative;
}
.ui-dialog .ui-dialog-title {
float: left;
margin: .1em 0;
white-space: nowrap;
width: 90%;
overflow: hidden;
text-overflow: ellipsis;
font-size:15px;
}
.ui-dialog .ui-dialog-titlebar-close {
position: absolute;
right: .3em;
top: 50%;
width: 21px;
margin: -10px 0 0 0;
padding: 1px;
height: 20px;
}
.ui-dialog .ui-dialog-content {
position: relative;
border: 0;
background: none;
overflow: auto;
margin-right:-8px
}
.ui-dialog .ui-dialog-buttonpane {
text-align: left;
border-width: 1px 0 0 0;
background-image: none;
margin-top: .5em;
/* padding: .3em 1em .5em .4em; */
}
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
float: right;
}
.ui-dialog .ui-dialog-buttonpane button {
margin: .5em .4em .5em 0;
cursor: pointer;
}
.ui-dialog .ui-resizable-se {
width: 12px;
height: 12px;
right: -5px;
bottom: -5px;
background-position: 16px 16px;
}
.ui-draggable .ui-dialog-titlebar {
cursor: move;
}
.ui-menu {
list-style: none;
padding: 2px;
margin: 0;
display: block;
outline: none;
}
.ui-menu .ui-menu {
margin-top: -3px;
position: absolute;
}
.ui-menu .ui-menu-item {
margin: 0;
padding: 0;
width: 100%;
/* support: IE10, see #8844 */
list-style-image: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);
}
.ui-menu .ui-menu-divider {
margin: 5px -2px 5px -2px;
height: 0;
font-size: 0;
line-height: 0;
border-width: 1px 0 0 0;
}
.ui-menu .ui-menu-item a {
text-decoration: none;
display: block;
padding: 2px .4em;
line-height: 1.5;
min-height: 0; /* support: IE7 */
font-weight: normal;
}
.ui-menu .ui-menu-item a.ui-state-focus,
.ui-menu .ui-menu-item a.ui-state-active {
font-weight: normal;
margin: -1px;
}
.ui-menu .ui-state-disabled {
font-weight: normal;
margin: .4em 0 .2em;
line-height: 1.5;
}
.ui-menu .ui-state-disabled a {
cursor: default;
}
/* icon support */
.ui-menu-icons {
position: relative;
}
.ui-menu-icons .ui-menu-item a {
position: relative;
padding-left: 2em;
}
/* left-aligned */
.ui-menu .ui-icon {
position: absolute;
top: .2em;
left: .2em;
}
/* right-aligned */
.ui-menu .ui-menu-icon {
position: static;
float: right;
}
.ui-progressbar {
height: 2em;
text-align: left;
overflow: hidden;
}
.ui-progressbar .ui-progressbar-value {
margin: -1px;
height: 100%;
}
.ui-progressbar .ui-progressbar-overlay {
background: url("images/animated-overlay.gif");
height: 100%;
filter: alpha(opacity=25);
opacity: 0.25;
}
.ui-progressbar-indeterminate .ui-progressbar-value {
background-image: none;
}
.ui-resizable {
position: relative;
}
.ui-resizable-handle {
position: absolute;
font-size: 0.1px;
display: block;
}
.ui-resizable-disabled .ui-resizable-handle,
.ui-resizable-autohide .ui-resizable-handle {
display: none;
}
.ui-resizable-n {
cursor: n-resize;
height: 7px;
width: 100%;
top: -5px;
left: 0;
}
.ui-resizable-s {
cursor: s-resize;
height: 7px;
width: 100%;
bottom: -5px;
left: 0;
}
.ui-resizable-e {
cursor: e-resize;
width: 7px;
right: -5px;
top: 0;
height: 100%;
}
.ui-resizable-w {
cursor: w-resize;
width: 7px;
left: -5px;
top: 0;
height: 100%;
}
.ui-resizable-se {
cursor: se-resize;
width: 12px;
height: 12px;
right: 1px;
bottom: 1px;
}
.ui-resizable-sw {
cursor: sw-resize;
width: 9px;
height: 9px;
left: -5px;
bottom: -5px;
}
.ui-resizable-nw {
cursor: nw-resize;
width: 9px;
height: 9px;
left: -5px;
top: -5px;
}
.ui-resizable-ne {
cursor: ne-resize;
width: 9px;
height: 9px;
right: -5px;
top: -5px;
}
.ui-selectable-helper {
position: absolute;
z-index: 100;
border: 1px dotted black;
}
.ui-slider {
position: relative;
text-align: left;
}
.ui-slider .ui-slider-handle {
position: absolute;
z-index: 2;
width: 1.2em;
height: 1.2em;
cursor: default;
}
.ui-slider .ui-slider-range {
position: absolute;
z-index: 1;
font-size: .7em;
display: block;
border: 0;
background-position: 0 0;
}
/* For IE8 - See #6727 */
.ui-slider.ui-state-disabled .ui-slider-handle,
.ui-slider.ui-state-disabled .ui-slider-range {
filter: inherit;
}
.ui-slider-horizontal {
height: .8em;
}
.ui-slider-horizontal .ui-slider-handle {
top: -.3em;
margin-left: -.6em;
}
.ui-slider-horizontal .ui-slider-range {
top: 0;
height: 100%;
}
.ui-slider-horizontal .ui-slider-range-min {
left: 0;
}
.ui-slider-horizontal .ui-slider-range-max {
right: 0;
}
.ui-slider-vertical {
width: .8em;
height: 100px;
}
.ui-slider-vertical .ui-slider-handle {
left: -.3em;
margin-left: 0;
margin-bottom: -.6em;
}
.ui-slider-vertical .ui-slider-range {
left: 0;
width: 100%;
}
.ui-slider-vertical .ui-slider-range-min {
bottom: 0;
}
.ui-slider-vertical .ui-slider-range-max {
top: 0;
}
.ui-spinner {
position: relative;
display: inline-block;
overflow: hidden;
padding: 0;
vertical-align: middle;
}
.ui-spinner-input {
border: none;
background: none;
color: inherit;
padding: 0;
margin: .2em 0;
vertical-align: middle;
margin-left: .4em;
margin-right: 22px;
}
.ui-spinner-button {
width: 16px;
height: 50%;
font-size: .5em;
padding: 0;
margin: 0;
text-align: center;
position: absolute;
cursor: default;
display: block;
overflow: hidden;
right: 0;
}
/* more specificity required here to overide default borders */
.ui-spinner a.ui-spinner-button {
border-top: none;
border-bottom: none;
border-right: none;
}
/* vertical centre icon */
.ui-spinner .ui-icon {
position: absolute;
margin-top: -8px;
top: 50%;
left: 0;
}
.ui-spinner-up {
top: 0;
}
.ui-spinner-down {
bottom: 0;
}
/* TR overrides */
.ui-spinner .ui-icon-triangle-1-s {
/* need to fix icons sprite */
background-position: -65px -16px;
}
.ui-tabs {
position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
padding: .2em;
}
.ui-tabs .ui-tabs-nav {
margin: 0;
padding: .2em .2em 0;
}
.ui-tabs .ui-tabs-nav li {
list-style: none;
float: left;
position: relative;
top: 0;
margin: 1px .2em 0 0;
border-bottom-width: 0;
padding: 0;
white-space: nowrap;
}
.ui-tabs .ui-tabs-nav li a {
float: left;
padding: .5em 1em;
text-decoration: none;
}
.ui-tabs .ui-tabs-nav li.ui-tabs-active {
margin-bottom: -1px;
padding-bottom: 1px;
}
.ui-tabs .ui-tabs-nav li.ui-tabs-active a,
.ui-tabs .ui-tabs-nav li.ui-state-disabled a,
.ui-tabs .ui-tabs-nav li.ui-tabs-loading a {
cursor: text;
}
.ui-tabs .ui-tabs-nav li a, /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a {
cursor: pointer;
}
.ui-tabs .ui-tabs-panel {
display: block;
border-width: 0;
padding: 1em 1.4em;
background: none;
}
.ui-tooltip {
padding: 8px;
position: absolute;
z-index: 9999;
max-width: 300px;
-webkit-box-shadow: 0 0 5px #aaa;
box-shadow: 0 0 5px #aaa;
}
body .ui-tooltip {
border-width: 2px;
}
/* Component containers
----------------------------------*/
.ui-widget {
font-family: Verdana,Arial,sans-serif/*{ffDefault}*/;
font-size: 1.1em/*{fsDefault}*/;
}
.ui-widget .ui-widget {
font-size: 1em;
}
.ui-widget input,
.ui-widget select,
.ui-widget textarea,
.ui-widget button {
font-family: Verdana,Arial,sans-serif/*{ffDefault}*/;
font-size: 1em;
}
.ui-widget-content {
border: 1px solid #aaaaaa/*{borderColorContent}*/;
background: #ffffff/*{bgColorContent}*/ url(images/ui-bg_flat_75_ffffff_40x100.png)/*{bgImgUrlContent}*/ 50%/*{bgContentXPos}*/ 50%/*{bgContentYPos}*/ repeat-x/*{bgContentRepeat}*/;
color: #222222/*{fcContent}*/;
}
.ui-widget-content a {
color: #222222/*{fcContent}*/;
}
.ui-widget-header {
border: 1px solid #aaaaaa/*{borderColorHeader}*/;
background: #cccccc/*{bgColorHeader}*/ url(images/ui-bg_highlight-soft_75_cccccc_1x100.png)/*{bgImgUrlHeader}*/ 50%/*{bgHeaderXPos}*/ 50%/*{bgHeaderYPos}*/ repeat-x/*{bgHeaderRepeat}*/;
color: #222222/*{fcHeader}*/;
font-weight: bold;
}
.ui-widget-header a {
color: #222222/*{fcHeader}*/;
}
/* Interaction states
----------------------------------*/
.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default {
border: 1px solid #d3d3d3/*{borderColorDefault}*/;
background: #e6e6e6/*{bgColorDefault}*/ url(images/ui-bg_glass_75_e6e6e6_1x400.png)/*{bgImgUrlDefault}*/ 50%/*{bgDefaultXPos}*/ 50%/*{bgDefaultYPos}*/ repeat-x/*{bgDefaultRepeat}*/;
font-weight: normal/*{fwDefault}*/;
color: #555555/*{fcDefault}*/;
}
.ui-state-default a,
.ui-state-default a:link,
.ui-state-default a:visited {
color: #555555/*{fcDefault}*/;
text-decoration: none;
}
.ui-state-hover,
.ui-widget-content .ui-state-hover,
.ui-widget-header .ui-state-hover,
.ui-state-focus,
.ui-widget-content .ui-state-focus,
.ui-widget-header .ui-state-focus {
border: 1px solid #999999/*{borderColorHover}*/;
background: #dadada/*{bgColorHover}*/ url(images/ui-bg_glass_75_dadada_1x400.png)/*{bgImgUrlHover}*/ 50%/*{bgHoverXPos}*/ 50%/*{bgHoverYPos}*/ repeat-x/*{bgHoverRepeat}*/;
font-weight: normal/*{fwDefault}*/;
color: #212121/*{fcHover}*/;
}
.ui-state-hover a,
.ui-state-hover a:hover,
.ui-state-hover a:link,
.ui-state-hover a:visited {
color: #212121/*{fcHover}*/;
text-decoration: none;
}
.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active {
border: 1px solid #aaaaaa/*{borderColorActive}*/;
background: #ffffff/*{bgColorActive}*/ url(images/ui-bg_glass_65_ffffff_1x400.png)/*{bgImgUrlActive}*/ 50%/*{bgActiveXPos}*/ 50%/*{bgActiveYPos}*/ repeat-x/*{bgActiveRepeat}*/;
font-weight: normal/*{fwDefault}*/;
color: #212121/*{fcActive}*/;
}
.ui-state-active a,
.ui-state-active a:link,
.ui-state-active a:visited {
color: #212121/*{fcActive}*/;
text-decoration: none;
}
/* Interaction Cues
----------------------------------*/
.ui-state-highlight,
.ui-widget-content .ui-state-highlight,
.ui-widget-header .ui-state-highlight {
border: 1px solid #fcefa1/*{borderColorHighlight}*/;
background: #fbf9ee/*{bgColorHighlight}*/ url(images/ui-bg_glass_55_fbf9ee_1x400.png)/*{bgImgUrlHighlight}*/ 50%/*{bgHighlightXPos}*/ 50%/*{bgHighlightYPos}*/ repeat-x/*{bgHighlightRepeat}*/;
color: #363636/*{fcHighlight}*/;
}
.ui-state-highlight a,
.ui-widget-content .ui-state-highlight a,
.ui-widget-header .ui-state-highlight a {
color: #363636/*{fcHighlight}*/;
}
.ui-state-error,
.ui-widget-content .ui-state-error,
.ui-widget-header .ui-state-error {
border: 1px solid #cd0a0a/*{borderColorError}*/;
background: #fef1ec/*{bgColorError}*/ url(images/ui-bg_glass_95_fef1ec_1x400.png)/*{bgImgUrlError}*/ 50%/*{bgErrorXPos}*/ 50%/*{bgErrorYPos}*/ repeat-x/*{bgErrorRepeat}*/;
color: #cd0a0a/*{fcError}*/;
}
.ui-state-error a,
.ui-widget-content .ui-state-error a,
.ui-widget-header .ui-state-error a {
color: #cd0a0a/*{fcError}*/;
}
.ui-state-error-text,
.ui-widget-content .ui-state-error-text,
.ui-widget-header .ui-state-error-text {
color: #cd0a0a/*{fcError}*/;
}
.ui-priority-primary,
.ui-widget-content .ui-priority-primary,
.ui-widget-header .ui-priority-primary {
font-weight: bold;
}
.ui-priority-secondary,
.ui-widget-content .ui-priority-secondary,
.ui-widget-header .ui-priority-secondary {
opacity: .7;
filter:Alpha(Opacity=70);
font-weight: normal;
}
.ui-state-disabled,
.ui-widget-content .ui-state-disabled,
.ui-widget-header .ui-state-disabled {
opacity: .35;
filter:Alpha(Opacity=35);
background-image: none;
}
.ui-state-disabled .ui-icon {
filter:Alpha(Opacity=35); /* For IE8 - See #6059 */
}
/* Icons
----------------------------------*/
/* states and images */
.ui-icon {
width: 16px;
height: 16px;
}
.ui-icon,
.ui-widget-content .ui-icon {
background-image: url(/ibase/jquery/images/ui-icons_222222_256x240.png)/*{iconsContent}*/;
}
.ui-widget-header .ui-icon {
background-image: url(/ibase/jquery/images/ui-icons_222222_256x240.png)/*{iconsHeader}*/;
}
.ui-state-default .ui-icon {
background-image: url(/ibase/jquery/images/ui-icons_888888_256x240.png)/*{iconsDefault}*/;
}
.ui-state-hover .ui-icon,
.ui-state-focus .ui-icon {
background-image: url(/ibase/jquery/images/ui-icons_454545_256x240.png)/*{iconsHover}*/;
}
.ui-state-active .ui-icon {
background-image: url(/ibase/jquery/images/ui-icons_454545_256x240.png)/*{iconsActive}*/;
}
.ui-state-highlight .ui-icon {
background-image: url(/ibase/jquery/images/ui-icons_2e83ff_256x240.png)/*{iconsHighlight}*/;
}
.ui-state-error .ui-icon,
.ui-state-error-text .ui-icon {
background-image: url(/ibase/jquery/images/ui-icons_cd0a0a_256x240.png)/*{iconsError}*/;
}
/* positioning */
.ui-icon-blank { background-position: 16px 16px; }
.ui-icon-carat-1-n { background-position: 0 0; }
.ui-icon-carat-1-ne { background-position: -16px 0; }
.ui-icon-carat-1-e { background-position: -32px 0; }
.ui-icon-carat-1-se { background-position: -48px 0; }
.ui-icon-carat-1-s { background-position: -64px 0; }
.ui-icon-carat-1-sw { background-position: -80px 0; }
.ui-icon-carat-1-w { background-position: -96px 0; }
.ui-icon-carat-1-nw { background-position: -112px 0; }
.ui-icon-carat-2-n-s { background-position: -128px 0; }
.ui-icon-carat-2-e-w { background-position: -144px 0; }
.ui-icon-triangle-1-n { background-position: 0 -16px; }
.ui-icon-triangle-1-ne { background-position: -16px -16px; }
.ui-icon-triangle-1-e { background-position: -32px -16px; }
.ui-icon-triangle-1-se { background-position: -48px -16px; }
.ui-icon-triangle-1-s { background-position: -64px -16px; }
.ui-icon-triangle-1-sw { background-position: -80px -16px; }
.ui-icon-triangle-1-w { background-position: -96px -16px; }
.ui-icon-triangle-1-nw { background-position: -112px -16px; }
.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
.ui-icon-arrow-1-n { background-position: 0 -32px; }
.ui-icon-arrow-1-ne { background-position: -16px -32px; }
.ui-icon-arrow-1-e { background-position: -32px -32px; }
.ui-icon-arrow-1-se { background-position: -48px -32px; }
.ui-icon-arrow-1-s { background-position: -64px -32px; }
.ui-icon-arrow-1-sw { background-position: -80px -32px; }
.ui-icon-arrow-1-w { background-position: -96px -32px; }
.ui-icon-arrow-1-nw { background-position: -112px -32px; }
.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
.ui-icon-arrow-4 { background-position: 0 -80px; }
.ui-icon-arrow-4-diag { background-position: -16px -80px; }
.ui-icon-extlink { background-position: -32px -80px; }
.ui-icon-newwin { background-position: -48px -80px; }
.ui-icon-refresh { background-position: -64px -80px; }
.ui-icon-shuffle { background-position: -80px -80px; }
.ui-icon-transfer-e-w { background-position: -96px -80px; }
.ui-icon-transferthick-e-w { background-position: -112px -80px; }
.ui-icon-folder-collapsed { background-position: 0 -96px; }
.ui-icon-folder-open { background-position: -16px -96px; }
.ui-icon-document { background-position: -32px -96px; }
.ui-icon-document-b { background-position: -48px -96px; }
.ui-icon-note { background-position: -64px -96px; }
.ui-icon-mail-closed { background-position: -80px -96px; }
.ui-icon-mail-open { background-position: -96px -96px; }
.ui-icon-suitcase { background-position: -112px -96px; }
.ui-icon-comment { background-position: -128px -96px; }
.ui-icon-person { background-position: -144px -96px; }
.ui-icon-print { background-position: -160px -96px; }
.ui-icon-trash { background-position: -176px -96px; }
.ui-icon-locked { background-position: -192px -96px; }
.ui-icon-unlocked { background-position: -208px -96px; }
.ui-icon-bookmark { background-position: -224px -96px; }
.ui-icon-tag { background-position: -240px -96px; }
.ui-icon-home { background-position: 0 -112px; }
.ui-icon-flag { background-position: -16px -112px; }
.ui-icon-calendar { background-position: -32px -112px; }
.ui-icon-cart { background-position: -48px -112px; }
.ui-icon-pencil { background-position: -64px -112px; }
.ui-icon-clock { background-position: -80px -112px; }
.ui-icon-disk { background-position: -96px -112px; }
.ui-icon-calculator { background-position: -112px -112px; }
.ui-icon-zoomin { background-position: -128px -112px; }
.ui-icon-zoomout { background-position: -144px -112px; }
.ui-icon-search { background-position: -160px -112px; }
.ui-icon-wrench { background-position: -176px -112px; }
.ui-icon-gear { background-position: -192px -112px; }
.ui-icon-heart { background-position: -208px -112px; }
.ui-icon-star { background-position: -224px -112px; }
.ui-icon-link { background-position: -240px -112px; }
.ui-icon-cancel { background-position: 0 -128px; }
.ui-icon-plus { background-position: -16px -128px; }
.ui-icon-plusthick { background-position: -32px -128px; }
.ui-icon-minus { background-position: -48px -128px; }
.ui-icon-minusthick { background-position: -64px -128px; }
.ui-icon-close { background-position: -80px -128px; }
.ui-icon-closethick { background-position: -96px -128px; }
.ui-icon-key { background-position: -112px -128px; }
.ui-icon-lightbulb { background-position: -128px -128px; }
.ui-icon-scissors { background-position: -144px -128px; }
.ui-icon-clipboard { background-position: -160px -128px; }
.ui-icon-copy { background-position: -176px -128px; }
.ui-icon-contact { background-position: -192px -128px; }
.ui-icon-image { background-position: -208px -128px; }
.ui-icon-video { background-position: -224px -128px; }
.ui-icon-script { background-position: -240px -128px; }
.ui-icon-alert { background-position: 0 -144px; }
.ui-icon-info { background-position: -16px -144px; }
.ui-icon-notice { background-position: -32px -144px; }
.ui-icon-help { background-position: -48px -144px; }
.ui-icon-check { background-position: -64px -144px; }
.ui-icon-bullet { background-position: -80px -144px; }
.ui-icon-radio-on { background-position: -96px -144px; }
.ui-icon-radio-off { background-position: -112px -144px; }
.ui-icon-pin-w { background-position: -128px -144px; }
.ui-icon-pin-s { background-position: -144px -144px; }
.ui-icon-play { background-position: 0 -160px; }
.ui-icon-pause { background-position: -16px -160px; }
.ui-icon-seek-next { background-position: -32px -160px; }
.ui-icon-seek-prev { background-position: -48px -160px; }
.ui-icon-seek-end { background-position: -64px -160px; }
.ui-icon-seek-start { background-position: -80px -160px; }
/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
.ui-icon-seek-first { background-position: -80px -160px; }
.ui-icon-stop { background-position: -96px -160px; }
.ui-icon-eject { background-position: -112px -160px; }
.ui-icon-volume-off { background-position: -128px -160px; }
.ui-icon-volume-on { background-position: -144px -160px; }
.ui-icon-power { background-position: 0 -176px; }
.ui-icon-signal-diag { background-position: -16px -176px; }
.ui-icon-signal { background-position: -32px -176px; }
.ui-icon-battery-0 { background-position: -48px -176px; }
.ui-icon-battery-1 { background-position: -64px -176px; }
.ui-icon-battery-2 { background-position: -80px -176px; }
.ui-icon-battery-3 { background-position: -96px -176px; }
.ui-icon-circle-plus { background-position: 0 -192px; }
.ui-icon-circle-minus { background-position: -16px -192px; }
.ui-icon-circle-close { background-position: -32px -192px; }
.ui-icon-circle-triangle-e { background-position: -48px -192px; }
.ui-icon-circle-triangle-s { background-position: -64px -192px; }
.ui-icon-circle-triangle-w { background-position: -80px -192px; }
.ui-icon-circle-triangle-n { background-position: -96px -192px; }
.ui-icon-circle-arrow-e { background-position: -112px -192px; }
.ui-icon-circle-arrow-s { background-position: -128px -192px; }
.ui-icon-circle-arrow-w { background-position: -144px -192px; }
.ui-icon-circle-arrow-n { background-position: -160px -192px; }
.ui-icon-circle-zoomin { background-position: -176px -192px; }
.ui-icon-circle-zoomout { background-position: -192px -192px; }
.ui-icon-circle-check { background-position: -208px -192px; }
.ui-icon-circlesmall-plus { background-position: 0 -208px; }
.ui-icon-circlesmall-minus { background-position: -16px -208px; }
.ui-icon-circlesmall-close { background-position: -32px -208px; }
.ui-icon-squaresmall-plus { background-position: -48px -208px; }
.ui-icon-squaresmall-minus { background-position: -64px -208px; }
.ui-icon-squaresmall-close { background-position: -80px -208px; }
.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
/* Misc visuals
----------------------------------*/
/* Corner radius */
.ui-corner-all,
.ui-corner-top,
.ui-corner-left,
.ui-corner-tl {
border-top-left-radius: 4px/*{cornerRadius}*/;
}
.ui-corner-all,
.ui-corner-top,
.ui-corner-right,
.ui-corner-tr {
border-top-right-radius: 4px/*{cornerRadius}*/;
}
.ui-corner-all,
.ui-corner-bottom,
.ui-corner-left,
.ui-corner-bl {
border-bottom-left-radius: 4px/*{cornerRadius}*/;
}
.ui-corner-all,
.ui-corner-bottom,
.ui-corner-right,
.ui-corner-br {
border-bottom-right-radius: 4px/*{cornerRadius}*/;
}
/* Overlays */
.ui-widget-overlay {
background: #aaaaaa/*{bgColorOverlay}*/ url(images/ui-bg_flat_0_aaaaaa_40x100.png)/*{bgImgUrlOverlay}*/ 50%/*{bgOverlayXPos}*/ 50%/*{bgOverlayYPos}*/ repeat-x/*{bgOverlayRepeat}*/;
opacity: .3/*{opacityOverlay}*/;
filter: Alpha(Opacity=30)/*{opacityFilterOverlay}*/;
}
.ui-widget-shadow {
margin: -8px/*{offsetTopShadow}*/ 0 0 -8px/*{offsetLeftShadow}*/;
padding: 8px/*{thicknessShadow}*/;
background: #aaaaaa/*{bgColorShadow}*/ url(images/ui-bg_flat_0_aaaaaa_40x100.png)/*{bgImgUrlShadow}*/ 50%/*{bgShadowXPos}*/ 50%/*{bgShadowYPos}*/ repeat-x/*{bgShadowRepeat}*/;
opacity: .3/*{opacityShadow}*/;
filter: Alpha(Opacity=30)/*{opacityFilterShadow}*/;
border-radius: 8px/*{cornerRadiusShadow}*/;
}
@charset "utf-8";
/* CSS Document */
/*CSS Reset*/
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td {
margin:0;
padding:0;
}
table {
border-collapse:collapse;
border-spacing:0;
}
fieldset,img {
border:0;
}
address,caption,cite,code,dfn,em,strong,th,var,small {
font-style:normal;
font-weight:normal;
}
ol,ul {
list-style:none;
}
caption,th {
text-align:left;
}
h1,h2,h3,h4,h5,h6 {
font-weight:normal;
}
q:before,q:after {
content:'';
}
abbr,acronym { border:0;
}
/* General styling */
body {
/* background:#202020; */
font-family: NotethisRegular, Verdana, Arial, sans-serif;
font-size:125%;
/* color:#202020; */
}
h1, h2, h3, h4, h5, h6 {
font-family: Arial, Gadget, sans-serif;
font-size:1 em;
text-align:left;
}
#wrapper {
width:500px;
margin:0 auto;
text-align:center;
padding-top:50px;
}
/* Index Card Styling */
ul#index_cards {
margin-top:50px;
text-align:center;
}
ul#index_cards li {
background:url(/ibase/dashboard/scm/images/card_bg.jpg) repeat;
height:300px;
width :100%;
display:block;
float:left;
border:1px solid #666;
padding:0px 0px;
position:absolute;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
-moz-box-shadow: 2px 2px 10px #000;
-webkit-box-shadow: 2px 2px 10px #000;
-moz-transition: all 0.5s ease-in-out;
-webkit-transition: all 0.5s ease-in-out;
}
#celltable {
color:blue;
font-family: Arial, Courier, sans-serif;
font-size:10pt;
text-align:left;
height:25px;
width:300px;
cursor:default;
}
#celltable th {
border: 1px solid grey;
}
#celltable tr {
border: 1px solid grey;
}
#celltable td {
border: 1px solid grey;
width:50px;
}
/* Hover States */
ul#index_cards li:hover {
-moz-transform: scale(1.1) ;
-webkit-transform: scale(1.1);
z-index:100;
}
/* Content Styling */
ul#index_cards li img {
margin-top:7px;
background:#eee;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
-moz-box-shadow: 0px 0px 5px #aaa;
-webkit-box-shadow: 0px 0px 5px #aaa;
}
ul#index_cards li p {
margin-top:4px;
text-align:left;
line-height:28px;
}
/* add new css by birendra Pandey */
.tblheader
{
font-weight: bold;
}
.parentstktbl {
FONT-FAMILY: Arial;
FONT-SIZE: 10pt;
width: 400px;
font: Arial,sans-serif,courier;
font-size: 9pt;
margin-left:5;
margin-top:4;
}
.stocktbl {
background: none repeat scroll 0 0 #EFF5FB;
FONT-FAMILY: Arial;
FONT-SIZE: 10pt;
width: 400px;
font: Arial,sans-serif,courier;
font-size: 9pt;
/* border: 1px solid;*/
}
.cellempty {
background-color:white;
}
.itemcell {
background-color:green;
}
.locationtbl
{
font-size: 9pt;
font: Arial,sans-serif,courier;
}
.areatd{
font-size: 9pt;
font: Arial,sans-serif,courier;
text-align:left
}
.popUpFiltrTbl {
background: none repeat scroll 0 0 #EFF5FB;
FONT-FAMILY: Arial;
FONT-SIZE: 11pt;
width: 397px;
font: Arial,sans-serif,courier;
padding-bottom: 15px;
margin-left: 5px;
}
.img {
position:relative;
right:5px;
top:0px;
bottom: 2px;
height :18px;
width :30;
text-align:right;
}
.pagetitle {
padding :2;
border-spacing:2;
border: 1px solid lightgrey;
background-color: lightgrey;
width :100%;
height :20px;
position: relative;
text-align:center;
FONT-FAMILY: Arial;
FONT-SIZE: 14pt;
font-weight:bold;
}
@charset "utf-8";
/* CSS Document */
/*CSS Reset*/
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td {
margin:0;
padding:0;
}
table {
border-collapse:collapse;
border-spacing:0;
}
fieldset,img {
border:0;
}
address,caption,cite,code,dfn,em,strong,th,var,small {
font-style:normal;
font-weight:normal;
}
ol,ul {
list-style:none;
}
caption,th {
text-align:left;
}
h1,h2,h3,h4,h5,h6 {
font-weight:normal;
}
q:before,q:after {
content:'';
}
abbr,acronym { border:0;
}
/* General styling */
body {
/* background:#202020; */
font-family: NotethisRegular, Verdana, Arial, sans-serif;
font-size:125%;
/* color:#202020; */
}
h1, h2, h3, h4, h5, h6 {
font-family: Arial, Gadget, sans-serif;
font-size:1 em;
text-align:left;
}
#wrapper {
width:500px;
margin:0 auto;
text-align:center;
padding-top:50px;
}
/* Index Card Styling */
ul#index_cards {
margin-top:50px;
text-align:center;
}
ul#index_cards li {
background:url(/ibase/dashboard/scm/images/card_bg.jpg) repeat;
height:300px;
width :300px;
display:block;
float:left;
border:1px solid #666;
padding:0px 0px;
position:absolute;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
-moz-box-shadow: 2px 2px 10px #000;
-webkit-box-shadow: 2px 2px 10px #000;
-moz-transition: all 0.5s ease-in-out;
-webkit-transition: all 0.5s ease-in-out;
}
#celltable {
color:blue;
font-family: Arial, Courier, sans-serif;
font-size:10pt;
text-align:left;
height:25px;
width:300px;
cursor:default;
}
#celltable th {
border: 1px solid grey;
}
#celltable tr {
border: 1px solid grey;
}
#celltable td {
border: 1px solid grey;
width:50px;
}
/* Hover States */
ul#index_cards li:hover {
-moz-transform: scale(1.1) ;
-webkit-transform: scale(1.1);
z-index:100;
}
/* Content Styling */
ul#index_cards li img {
margin-top:7px;
background:#eee;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
-moz-box-shadow: 0px 0px 5px #aaa;
-webkit-box-shadow: 0px 0px 5px #aaa;
}
ul#index_cards li p {
margin-top:4px;
text-align:left;
line-height:28px;
}
/* add new css by birendra Pandey */
.tblheader
{
font-weight: bold;
}
.parentstktbl {
FONT-FAMILY: Arial;
FONT-SIZE: 10pt;
width: 400px;
font: Arial,sans-serif,courier;
font-size: 9pt;
margin-left:5;
margin-top:4;
}
.stocktbl {
background: none repeat scroll 0 0 #EFF5FB;
FONT-FAMILY: Arial;
FONT-SIZE: 10pt;
width: 400px;
font: Arial,sans-serif,courier;
font-size: 9pt;
/* border: 1px solid;*/
}
.cellempty {
background-color:lightgray;
}
.itemcell {
background-color:#58FA58;
}
.locationtbl
{
font-size: 9pt;
font: Arial,sans-serif,courier;
}
.areatd{
font-size: 9pt;
font: Arial,sans-serif,courier;
text-align:left
}
table.tablesorter {
font-family:arial;
background-color: #CDCDCD;
margin:10px 0pt 15px;
font-size: 8pt;
width: 100%;
text-align: left;
}
/** Minimal stand-alone css for dropdownchecklist support
We highly recommend using JQuery ThemeRoller instead
*/
.ui-dropdownchecklist {
font-size: medium;
color: black;
}
.ui-dropdownchecklist-selector {
height: 20px;
border: 1px solid #ddd;
background: #fff;
}
.ui-state-hover, .ui-state-active {
border-color: #5794bf;
}
.ui-dropdownchecklist-dropcontainer {
background-color: #fff;
border: 1px solid #999;
}
.ui-dropdownchecklist-item {
}
.ui-state-hover {
background-color: #39f;
}
.ui-state-disabled label {
color: #ccc;
}
.ui-dropdownchecklist-group {
font-weight: bold;
font-style: italic;
}
.ui-dropdownchecklist-indent {
padding-left: 7px;
}
/* Font size of 0 on the -selector and an explicit medium on -text required to eliminate
descender problems within the containers and still have a valid size for the text */
.ui-dropdownchecklist-selector-wrapper {
vertical-align: middle;
font-size: 0px;
}
.ui-dropdownchecklist-selector {
padding: 1px 2px 2px 2px;
font-size: 0px;
height:16px;
}
.ui-dropdownchecklist-text {
font-size: medium;
font-family: Arial, Courier, sans-serif;
font-size:10pt;
line-height: 20px;
}
.ui-dropdownchecklist-group {
padding: 1px 2px 2px 2px;
}
/*!
* jQuery JavaScript Library v1.6.1
* http://jquery.com/
*
* Copyright 2011, John Resig
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* Includes Sizzle.js
* http://sizzlejs.com/
* Copyright 2011, The Dojo Foundation
* Released under the MIT, BSD, and GPL Licenses.
*
* Date: Thu May 12 15:04:36 2011 -0400
*/
(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!cj[a]){var b=f("<"+a+">").appendTo("body"),d=b.css("display");b.remove();if(d==="none"||d===""){ck||(ck=c.createElement("iframe"),ck.frameBorder=ck.width=ck.height=0),c.body.appendChild(ck);if(!cl||!ck.createElement)cl=(ck.contentWindow||ck.contentDocument).document,cl.write("<!doctype><html><body></body></html>");b=cl.createElement(a),cl.body.appendChild(b),d=f.css(b,"display"),c.body.removeChild(ck)}cj[a]=d}return cj[a]}function cu(a,b){var c={};f.each(cp.concat.apply([],cp.slice(0,b)),function(){c[this]=a});return c}function ct(){cq=b}function cs(){setTimeout(ct,0);return cq=f.now()}function ci(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ch(){try{return new a.XMLHttpRequest}catch(b){}}function cb(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h=="string"&&(e[h.toLowerCase()]=a.converters[h]);l=k,k=d[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=e[m]||e["* "+k];if(!n){p=b;for(o in e){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=e[j[1]+" "+k];if(p){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&f.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function ca(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function b_(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bF.test(a)?d(a,e):b_(a+"["+(typeof e=="object"||f.isArray(e)?b:"")+"]",e,c,d)});else if(!c&&b!=null&&typeof b=="object")for(var e in b)b_(a+"["+e+"]",b[e],c,d);else d(a,b)}function b$(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bU,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l=="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=b$(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=b$(a,c,d,e,"*",g));return l}function bZ(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bQ),e=0,g=d.length,h,i,j;for(;e<g;e++)h=d[e],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function bD(a,b,c){var d=b==="width"?bx:by,e=b==="width"?a.offsetWidth:a.offsetHeight;if(c==="border")return e;f.each(d,function(){c||(e-=parseFloat(f.css(a,"padding"+this))||0),c==="margin"?e+=parseFloat(f.css(a,"margin"+this))||0:e-=parseFloat(f.css(a,"border"+this+"Width"))||0});return e}function bn(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bf,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bm(a){f.nodeName(a,"input")?bl(a):a.getElementsByTagName&&f.grep(a.getElementsByTagName("input"),bl)}function bl(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bk(a){return"getElementsByTagName"in a?a.getElementsByTagName("*"):"querySelectorAll"in a?a.querySelectorAll("*"):[]}function bj(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}function bi(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c=f.expando,d=f.data(a),e=f.data(b,d);if(d=d[c]){var g=d.events;e=e[c]=f.extend({},d);if(g){delete e.handle,e.events={};for(var h in g)for(var i=0,j=g[h].length;i<j;i++)f.event.add(b,h+(g[h][i].namespace?".":"")+g[h][i].namespace,g[h][i],g[h][i].data)}}}}function bh(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function X(a,b,c){b=b||0;if(f.isFunction(b))return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return f.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(S.test(b))return f.filter(b,d,!c);b=f.filter(b,d)}return f.grep(a,function(a,d){return f.inArray(a,b)>=0===c})}function W(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function O(a,b){return(a&&a!=="*"?a+".":"")+b.replace(A,"`").replace(B,"&")}function N(a){var b,c,d,e,g,h,i,j,k,l,m,n,o,p=[],q=[],r=f._data(this,"events");if(!(a.liveFired===this||!r||!r.live||a.target.disabled||a.button&&a.type==="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var s=r.live.slice(0);for(i=0;i<s.length;i++)g=s[i],g.origType.replace(y,"")===a.type?q.push(g.selector):s.splice(i--,1);e=f(a.target).closest(q,a.currentTarget);for(j=0,k=e.length;j<k;j++){m=e[j];for(i=0;i<s.length;i++){g=s[i];if(m.selector===g.selector&&(!n||n.test(g.namespace))&&!m.elem.disabled){h=m.elem,d=null;if(g.preType==="mouseenter"||g.preType==="mouseleave")a.type=g.preType,d=f(a.relatedTarget).closest(g.selector)[0],d&&f.contains(h,d)&&(d=h);(!d||d!==h)&&p.push({elem:h,handleObj:g,level:m.level})}}}for(j=0,k=p.length;j<k;j++){e=p[j];if(c&&e.level>c)break;a.currentTarget=e.elem,a.data=e.handleObj.data,a.handleObj=e.handleObj,o=e.handleObj.origHandler.apply(e.elem,arguments);if(o===!1||a.isPropagationStopped()){c=e.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function L(a,c,d){var e=f.extend({},d[0]);e.type=a,e.originalEvent={},e.liveFired=b,f.event.handle.call(c,e),e.isDefaultPrevented()&&d[0].preventDefault()}function F(){return!0}function E(){return!1}function m(a,c,d){var e=c+"defer",g=c+"queue",h=c+"mark",i=f.data(a,e,b,!0);i&&(d==="queue"||!f.data(a,g,b,!0))&&(d==="mark"||!f.data(a,h,b,!0))&&setTimeout(function(){!f.data(a,g,b,!0)&&!f.data(a,h,b,!0)&&(f.removeData(a,e,!0),i.resolve())},0)}function l(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function k(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(j,"$1-$2").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNaN(d)?i.test(d)?f.parseJSON(d):d:parseFloat(d)}catch(g){}f.data(a,c,d)}else d=b}return d}var c=a.document,d=a.navigator,e=a.location,f=function(){function H(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(H,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/\d/,n=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,o=/^[\],:{}\s]*$/,p=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,q=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,r=/(?:^|:|,)(?:\s*\[)+/g,s=/(webkit)[ \/]([\w.]+)/,t=/(opera)(?:.*version)?[ \/]([\w.]+)/,u=/(msie) ([\w.]+)/,v=/(mozilla)(?:.*? rv:([\w.]+))?/,w=d.userAgent,x,y,z,A=Object.prototype.toString,B=Object.prototype.hasOwnProperty,C=Array.prototype.push,D=Array.prototype.slice,E=String.prototype.trim,F=Array.prototype.indexOf,G={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=n.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.6.1",length:0,size:function(){return this.length},toArray:function(){return D.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?C.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),y.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(D.apply(this,arguments),"slice",D.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:C,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){d=i[c],f=a[c];if(i===f)continue;l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.jQuery===e&&(a.jQuery=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body)return setTimeout(e.ready,1);e.isReady=!0;if(a!==!0&&--e.readyWait>0)return;y.resolveWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!y){y=e._Deferred();if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",z,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",z),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&H()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNaN:function(a){return a==null||!m.test(a)||isNaN(a)},type:function(a){return a==null?String(a):G[A.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;if(a.constructor&&!B.call(a,"constructor")&&!B.call(a.constructor.prototype,"isPrototypeOf"))return!1;var c;for(c in a);return c===b||B.call(a,c)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(o.test(b.replace(p,"@").replace(q,"]").replace(r,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(b,c,d){a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b)),d=c.documentElement,(!d||!d.nodeName||d.nodeName==="parsererror")&&e.error("Invalid XML: "+b);return c},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g<h;)if(c.apply(a[g++],d)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(;g<h;)if(c.call(a[g],g,a[g++])===!1)break;return a},trim:E?function(a){return a==null?"":E.call(a)}:function(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?C.call(c,a):e.merge(c,a)}return c},inArray:function(a,b){if(F)return F.call(b,a);for(var c=0,d=b.length;c<d;c++)if(b[c]===a)return c;return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i<j;i++)f=c(a[i],i,d),f!=null&&(h[h.length]=f);else for(g in a)f=c(a[g],g,d),f!=null&&(h[h.length]=f);return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){var d=a[c];c=a,a=d}if(!e.isFunction(a))return b;var f=D.call(arguments,2),g=function(){return a.apply(c,f.concat(D.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h){var i=a.length;if(typeof c=="object"){for(var j in c)e.access(a,j,c[j],f,g,d);return a}if(d!==b){f=!h&&f&&e.isFunction(d);for(var k=0;k<i;k++)g(a[k],c,f?d.call(a[k],k,g(a[k],c)):d,h);return a}return i?g(a[0],c):b},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=s.exec(a)||t.exec(a)||u.exec(a)||a.indexOf("compatible")<0&&v.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){G["[object "+b+"]"]=b.toLowerCase()}),x=e.uaMatch(w),x.browser&&(e.browser[x.browser]=!0,e.browser.version=x.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?z=function(){c.removeEventListener("DOMContentLoaded",z,!1),e.ready()}:c.attachEvent&&(z=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",z),e.ready())});return e}(),g="done fail isResolved isRejected promise then always pipe".split(" "),h=[].slice;f.extend({_Deferred:function(){var a=[],b,c,d,e={done:function(){if(!d){var c=arguments,g,h,i,j,k;b&&(k=b,b=0);for(g=0,h=c.length;g<h;g++)i=c[g],j=f.type(i),j==="array"?e.done.apply(e,i):j==="function"&&a.push(i);k&&e.resolveWith(k[0],k[1])}return this},resolveWith:function(e,f){if(!d&&!b&&!c){f=f||[],c=1;try{while(a[0])a.shift().apply(e,f)}finally{b=[e,f],c=0}}return this},resolve:function(){e.resolveWith(this,arguments);return this},isResolved:function(){return!!c||!!b},cancel:function(){d=1,a=[];return this}};return e},Deferred:function(a){var b=f._Deferred(),c=f._Deferred(),d;f.extend(b,{then:function(a,c){b.done(a).fail(c);return this},always:function(){return b.done.apply(b,arguments).fail.apply(this,arguments)},fail:c.done,rejectWith:c.resolveWith,reject:c.resolve,isRejected:c.isResolved,pipe:function(a,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[c,"reject"]},function(a,c){var e=c[0],g=c[1],h;f.isFunction(e)?b[a](function(){h=e.apply(this,arguments),h&&f.isFunction(h.promise)?h.promise().then(d.resolve,d.reject):d[g](h)}):b[a](d[g])})}).promise()},promise:function(a){if(a==null){if(d)return d;d=a={}}var c=g.length;while(c--)a[g[c]]=b[g[c]];return a}}),b.done(c.cancel).fail(b.cancel),delete b.cancel,a&&a.call(b,b);return b},when:function(a){function i(a){return function(c){b[a]=arguments.length>1?h.call(arguments,0):c,--e||g.resolveWith(g,h.call(b,0))}}var b=arguments,c=0,d=b.length,e=d,g=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred();if(d>1){for(;c<d;c++)b[c]&&f.isFunction(b[c].promise)?b[c].promise().then(i(c),g.reject):--e;e||g.resolveWith(g,b)}else g!==a&&g.resolveWith(g,d?[a]:[]);return g.promise()}}),f.support=function(){var a=c.createElement("div"),b=c.documentElement,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;a.setAttribute("className","t"),a.innerHTML=" <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",d=a.getElementsByTagName("*"),e=a.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};f=c.createElement("select"),g=f.appendChild(c.createElement("option")),h=a.getElementsByTagName("input")[0],j={leadingWhitespace:a.firstChild.nodeType===3,tbody:!a.getElementsByTagName("tbody").length,htmlSerialize:!!a.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55$/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:h.value==="on",optSelected:g.selected,getSetAttribute:a.className!=="t",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},h.checked=!0,j.noCloneChecked=h.cloneNode(!0).checked,f.disabled=!0,j.optDisabled=!g.disabled;try{delete a.test}catch(s){j.deleteExpando=!1}!a.addEventListener&&a.attachEvent&&a.fireEvent&&(a.attachEvent("onclick",function b(){j.noCloneEvent=!1,a.detachEvent("onclick",b)}),a.cloneNode(!0).fireEvent("onclick")),h=c.createElement("input"),h.value="t",h.setAttribute("type","radio"),j.radioValue=h.value==="t",h.setAttribute("checked","checked"),a.appendChild(h),k=c.createDocumentFragment(),k.appendChild(a.firstChild),j.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,a.innerHTML="",a.style.width=a.style.paddingLeft="1px",l=c.createElement("body"),m={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"};for(q in m)l.style[q]=m[q];l.appendChild(a),b.insertBefore(l,b.firstChild),j.appendChecked=h.checked,j.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,j.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="<div style='width:4px;'></div>",j.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>",n=a.getElementsByTagName("td"),r=n[0].offsetHeight===0,n[0].style.display="",n[1].style.display="none",j.reliableHiddenOffsets=r&&n[0].offsetHeight===0,a.innerHTML="",c.defaultView&&c.defaultView.getComputedStyle&&(i=c.createElement("div"),i.style.width="0",i.style.marginRight="0",a.appendChild(i),j.reliableMarginRight=(parseInt((c.defaultView.getComputedStyle(i,null)||{marginRight:0}).marginRight,10)||0)===0),l.innerHTML="",b.removeChild(l);if(a.attachEvent)for(q in{submit:1,change:1,focusin:1})p="on"+q,r=p in a,r||(a.setAttribute(p,"return;"),r=typeof a[p]=="function"),j[q+"Bubbles"]=r;return j}(),f.boxModel=f.support.boxModel;var i=/^(?:\{.*\}|\[.*\])$/,j=/([a-z])([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!l(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g=f.expando,h=typeof c=="string",i,j=a.nodeType,k=j?f.cache:a,l=j?a[f.expando]:a[f.expando]&&f.expando;if((!l||e&&l&&!k[l][g])&&h&&d===b)return;l||(j?a[f.expando]=l=++f.uuid:l=f.expando),k[l]||(k[l]={},j||(k[l].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?k[l][g]=f.extend(k[l][g],c):k[l]=f.extend(k[l],c);i=k[l],e&&(i[g]||(i[g]={}),i=i[g]),d!==b&&(i[f.camelCase(c)]=d);if(c==="events"&&!i[c])return i[g]&&i[g].events;return h?i[f.camelCase(c)]:i}},removeData:function(b,c,d){if(!!f.acceptData(b)){var e=f.expando,g=b.nodeType,h=g?f.cache:b,i=g?b[f.expando]:f.expando;if(!h[i])return;if(c){var j=d?h[i][e]:h[i];if(j){delete j[c];if(!l(j))return}}if(d){delete h[i][e];if(!l(h[i]))return}var k=h[i][e];f.support.deleteExpando||h!=a?delete h[i]:h[i]=null,k?(h[i]={},g||(h[i].toJSON=f.noop),h[i][e]=k):g&&(f.support.deleteExpando?delete b[f.expando]:b.removeAttribute?b.removeAttribute(f.expando):b[f.expando]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d=null;if(typeof a=="undefined"){if(this.length){d=f.data(this[0]);if(this[0].nodeType===1){var e=this[0].attributes,g;for(var h=0,i=e.length;h<i;h++)g=e[h].name,g.indexOf("data-")===0&&(g=f.camelCase(g.substring(5)),k(this[0],g,d[g]))}}return d}if(typeof a=="object")return this.each(function(){f.data(this,a)});var j=a.split(".");j[1]=j[1]?"."+j[1]:"";if(c===b){d=this.triggerHandler("getData"+j[1]+"!",[j[0]]),d===b&&this.length&&(d=f.data(this[0],a),d=k(this[0],a,d));return d===b&&j[1]?this.data(j[0]):d}return this.each(function(){var b=f(this),d=[j[0],c];b.triggerHandler("setData"+j[1]+"!",d),f.data(this,a,c),b.triggerHandler("changeData"+j[1]+"!",d)})},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,c){a&&(c=(c||"fx")+"mark",f.data(a,c,(f.data(a,c,b,!0)||0)+1,!0))},_unmark:function(a,c,d){a!==!0&&(d=c,c=a,a=!1);if(c){d=d||"fx";var e=d+"mark",g=a?0:(f.data(c,e,b,!0)||1)-1;g?f.data(c,e,g,!0):(f.removeData(c,e,!0),m(c,d,"mark"))}},queue:function(a,c,d){if(a){c=(c||"fx")+"queue";var e=f.data(a,c,b,!0);d&&(!e||f.isArray(d)?e=f.data(a,c,f.makeArray(d),!0):e.push(d));return e||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e;d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),d.call(a,function(){f.dequeue(a,b)})),c.length||(f.removeData(a,b+"queue",!0),m(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){typeof a!="string"&&(c=a,a="fx");if(c===b)return f.queue(this[0],a);return this.each(function(){var b=f.queue(this,a,c);a==="fx"&&b[0]!=="inprogress"&&f.dequeue(this,a)})},dequeue:function(a){return this.each(function(){f.dequeue(this,a)})},delay:function(a,b){a=f.fx?f.fx.speeds[a]||a:a,b=b||"fx";return this.queue(b,function(){var c=this;setTimeout(function(){f.dequeue(c,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){function m(){--h||d.resolveWith(e,[e])}typeof a!="string"&&(c=a,a=b),a=a||"fx";var d=f.Deferred(),e=this,g=e.length,h=1,i=a+"defer",j=a+"queue",k=a+"mark",l;while(g--)if(l=f.data(e[g],i,b,!0)||(f.data(e[g],j,b,!0)||f.data(e[g],k,b,!0))&&f.data(e[g],i,f._Deferred(),!0))h++,l.done(m);m();return d.promise()}});var n=/[\n\t\r]/g,o=/\s+/,p=/\r/g,q=/^(?:button|input)$/i,r=/^(?:button|input|object|select|textarea)$/i,s=/^a(?:rea)?$/i,t=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,u=/\:/,v,w;f.fn.extend({attr:function(a,b){return f.access(this,a,b,!0,f.attr)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,a,b,!0,f.prop)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.addClass(a.call(this,b,c.attr("class")||""))});if(a&&typeof a=="string"){var b=(a||"").split(o);for(var c=0,d=this.length;c<d;c++){var e=this[c];if(e.nodeType===1)if(!e.className)e.className=a;else{var g=" "+e.className+" ",h=e.className;for(var i=0,j=b.length;i<j;i++)g.indexOf(" "+b[i]+" ")<0&&(h+=" "+b[i]);e.className=f.trim(h)}}}return this},removeClass:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.removeClass(a.call(this,b,c.attr("class")))});if(a&&typeof a=="string"||a===b){var c=(a||"").split(o);for(var d=0,e=this.length;d<e;d++){var g=this[d];if(g.nodeType===1&&g.className)if(a){var h=(" "+g.className+" ").replace(n," ");for(var i=0,j=c.length;i<j;i++)h=h.replace(" "+c[i]+" "," ");g.className=f.trim(h)}else g.className=""}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";if(f.isFunction(a))return this.each(function(c){var d=f(this);d.toggleClass(a.call(this,c,d.attr("class"),b),b)});return this.each(function(){if(c==="string"){var e,g=0,h=f(this),i=b,j=a.split(o);while(e=j[g++])i=d?i:!h.hasClass(e),h[i?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&f._data(this,"__className__",this.className),this.className=this.className||a===!1?"":f._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ";for(var c=0,d=this.length;c<d;c++)if((" "+this[c].className+" ").replace(n," ").indexOf(b)>-1)return!0;return!1},val:function(a){var c,d,e=this[0];if(!arguments.length){if(e){c=f.valHooks[e.nodeName.toLowerCase()]||f.valHooks[e.type];if(c&&"get"in c&&(d=c.get(e,"value"))!==b)return d;return(e.value||"").replace(p,"")}return b}var g=f.isFunction(a);return this.each(function(d){var e=f(this),h;if(this.nodeType===1){g?h=a.call(this,d,e.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c=a.selectedIndex,d=[],e=a.options,g=a.type==="select-one";if(c<0)return null;for(var h=g?c:0,i=g?c+1:e.length;h<i;h++){var j=e[h];if(j.selected&&(f.support.optDisabled?!j.disabled:j.getAttribute("disabled")===null)&&(!j.parentNode.disabled||!f.nodeName(j.parentNode,"optgroup"))){b=f(j).val();if(g)return b;d.push(b)}}if(g&&!d.length&&e.length)return f(e[c]).val();return d},set:function(a,b){var c=f.makeArray(b);f(a).find("option").each(function(){this.selected=f.inArray(f(this).val(),c)>=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attrFix:{tabindex:"tabIndex"},attr:function(a,c,d,e){var g=a.nodeType;if(!a||g===3||g===8||g===2)return b;if(e&&c in f.attrFn)return f(a)[c](d);if(!("getAttribute"in a))return f.prop(a,c,d);var h,i,j=g!==1||!f.isXMLDoc(a);c=j&&f.attrFix[c]||c,i=f.attrHooks[c],i||(!t.test(c)||typeof d!="boolean"&&d!==b&&d.toLowerCase()!==c.toLowerCase()?v&&(f.nodeName(a,"form")||u.test(c))&&(i=v):i=w);if(d!==b){if(d===null){f.removeAttr(a,c);return b}if(i&&"set"in i&&j&&(h=i.set(a,d,c))!==b)return h;a.setAttribute(c,""+d);return d}if(i&&"get"in i&&j)return i.get(a,c);h=a.getAttribute(c);return h===null?b:h},removeAttr:function(a,b){var c;a.nodeType===1&&(b=f.attrFix[b]||b,f.support.getSetAttribute?a.removeAttribute(b):(f.attr(a,b,""),a.removeAttributeNode(a.getAttributeNode(b))),t.test(b)&&(c=f.propFix[b]||b)in a&&(a[c]=!1))},attrHooks:{type:{set:function(a,b){if(q.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},tabIndex:{get:function(a){var c=a.getAttributeNode("tabIndex");return c&&c.specified?parseInt(c.value,10):r.test(a.nodeName)||s.test(a.nodeName)&&a.href?0:b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e=a.nodeType;if(!a||e===3||e===8||e===2)return b;var g,h,i=e!==1||!f.isXMLDoc(a);c=i&&f.propFix[c]||c,h=f.propHooks[c];return d!==b?h&&"set"in h&&(g=h.set(a,d,c))!==b?g:a[c]=d:h&&"get"in h&&(g=h.get(a,c))!==b?g:a[c]},propHooks:{}}),w={get:function(a,c){return a[f.propFix[c]||c]?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=b),a.setAttribute(c,c.toLowerCase()));return c}},f.attrHooks.value={get:function(a,b){if(v&&f.nodeName(a,"button"))return v.get(a,b);return a.value},set:function(a,b,c){if(v&&f.nodeName(a,"button"))return v.set(a,b,c);a.value=b}},f.support.getSetAttribute||(f.attrFix=f.propFix,v=f.attrHooks.name=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&d.nodeValue!==""?d.nodeValue:b},set:function(a,b,c){var d=a.getAttributeNode(c);if(d){d.nodeValue=b;return b}}},f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})})),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}})),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var x=Object.prototype.hasOwnProperty,y=/\.(.*)$/,z=/^(?:textarea|input|select)$/i,A=/\./g,B=/ /g,C=/[^\w\s.|`]/g,D=function(a){return a.replace(C,"\\$&")};f.event={add:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){if(d===!1)d=E;else if(!d)return;var g,h;d.handler&&(g=d,d=g.handler),d.guid||(d.guid=f.guid++);var i=f._data(a);if(!i)return;var j=i.events,k=i.handle;j||(i.events=j={}),k||(i.handle=k=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.handle.apply(k.elem,arguments):b}),k.elem=a,c=c.split(" ");var l,m=0,n;while(l=c[m++]){h=g?f.extend({},g):{handler:d,data:e},l.indexOf(".")>-1?(n=l.split("."),l=n.shift(),h.namespace=n.slice(0).sort().join(".")):(n=[],h.namespace=""),h.type=l,h.guid||(h.guid=d.guid);var o=j[l],p=f.event.special[l]||{};if(!o){o=j[l]=[];if(!p.setup||p.setup.call(a,e,n,k)===!1)a.addEventListener?a.addEventListener(l,k,!1):a.attachEvent&&a.attachEvent("on"+l,k)}p.add&&(p.add.call(a,h),h.handler.guid||(h.handler.guid=d.guid)),o.push(h),f.event.global[l]=!0}a=null}},global:{},remove:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){d===!1&&(d=E);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=f.hasData(a)&&f._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(d=c.handler,c=c.type);if(!c||typeof c=="string"&&c.charAt(0)==="."){c=c||"";for(h in t)f.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+f.map(m.slice(0).sort(),D).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!d){for(j=0;j<p.length;j++){q=p[j];if(l||n.test(q.namespace))f.event.remove(a,r,q.handler,j),p.splice(j--,1)}continue}o=f.event.special[h]||{};for(j=e||0;j<p.length;j++){q=p[j];if(d.guid===q.guid){if(l||n.test(q.namespace))e==null&&p.splice(j--,1),o.remove&&o.remove.call(a,q);if(e!=null)break}}if(p.length===0||e!=null&&p.length===1)(!o.teardown||o.teardown.call(a,m)===!1)&&f.removeEvent(a,h,s.handle),g=null,delete t[h]}if(f.isEmptyObject(t)){var u=s.handle;u&&(u.elem=null),delete s.events,delete s.handle,f.isEmptyObject(s)&&f.removeData(a,b,!0)}}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){var h=c.type||c,i=[],j;h.indexOf("!")>=0&&(h=h.slice(0,-1),j=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if(!!e&&!f.event.customEvent[h]||!!f.event.global[h]){c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.exclusive=j,c.namespace=i.join("."),c.namespace_re=new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)");if(g||!e)c.preventDefault(),c.stopPropagation();if(!e){f.each(f.cache,function(){var a=f.expando,b=this[a];b&&b.events&&b.events[h]&&f.event.trigger(c,d,b.handle.elem
)});return}if(e.nodeType===3||e.nodeType===8)return;c.result=b,c.target=e,d=d?f.makeArray(d):[],d.unshift(c);var k=e,l=h.indexOf(":")<0?"on"+h:"";do{var m=f._data(k,"handle");c.currentTarget=k,m&&m.apply(k,d),l&&f.acceptData(k)&&k[l]&&k[l].apply(k,d)===!1&&(c.result=!1,c.preventDefault()),k=k.parentNode||k.ownerDocument||k===c.target.ownerDocument&&a}while(k&&!c.isPropagationStopped());if(!c.isDefaultPrevented()){var n,o=f.event.special[h]||{};if((!o._default||o._default.call(e.ownerDocument,c)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)){try{l&&e[h]&&(n=e[l],n&&(e[l]=null),f.event.triggered=h,e[h]())}catch(p){}n&&(e[l]=n),f.event.triggered=b}}return c.result}},handle:function(c){c=f.event.fix(c||a.event);var d=((f._data(this,"events")||{})[c.type]||[]).slice(0),e=!c.exclusive&&!c.namespace,g=Array.prototype.slice.call(arguments,0);g[0]=c,c.currentTarget=this;for(var h=0,i=d.length;h<i;h++){var j=d[h];if(e||c.namespace_re.test(j.namespace)){c.handler=j.handler,c.data=j.data,c.handleObj=j;var k=j.handler.apply(this,g);k!==b&&(c.result=k,k===!1&&(c.preventDefault(),c.stopPropagation()));if(c.isImmediatePropagationStopped())break}}return c.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(a){if(a[f.expando])return a;var d=a;a=f.Event(d);for(var e=this.props.length,g;e;)g=this.props[--e],a[g]=d[g];a.target||(a.target=a.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),!a.relatedTarget&&a.fromElement&&(a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement);if(a.pageX==null&&a.clientX!=null){var h=a.target.ownerDocument||c,i=h.documentElement,j=h.body;a.pageX=a.clientX+(i&&i.scrollLeft||j&&j.scrollLeft||0)-(i&&i.clientLeft||j&&j.clientLeft||0),a.pageY=a.clientY+(i&&i.scrollTop||j&&j.scrollTop||0)-(i&&i.clientTop||j&&j.clientTop||0)}a.which==null&&(a.charCode!=null||a.keyCode!=null)&&(a.which=a.charCode!=null?a.charCode:a.keyCode),!a.metaKey&&a.ctrlKey&&(a.metaKey=a.ctrlKey),!a.which&&a.button!==b&&(a.which=a.button&1?1:a.button&2?3:a.button&4?2:0);return a},guid:1e8,proxy:f.proxy,special:{ready:{setup:f.bindReady,teardown:f.noop},live:{add:function(a){f.event.add(this,O(a.origType,a.selector),f.extend({},a,{handler:N,guid:a.handler.guid}))},remove:function(a){f.event.remove(this,O(a.origType,a.selector),a)}},beforeunload:{setup:function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}}},f.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},f.Event=function(a,b){if(!this.preventDefault)return new f.Event(a,b);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?F:E):this.type=a,b&&f.extend(this,b),this.timeStamp=f.now(),this[f.expando]=!0},f.Event.prototype={preventDefault:function(){this.isDefaultPrevented=F;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=F;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=F,this.stopPropagation()},isDefaultPrevented:E,isPropagationStopped:E,isImmediatePropagationStopped:E};var G=function(a){var b=a.relatedTarget;a.type=a.data;try{if(b&&b!==c&&!b.parentNode)return;while(b&&b!==this)b=b.parentNode;b!==this&&f.event.handle.apply(this,arguments)}catch(d){}},H=function(a){a.type=a.data,f.event.handle.apply(this,arguments)};f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]={setup:function(c){f.event.add(this,b,c&&c.selector?H:G,a)},teardown:function(a){f.event.remove(this,b,a&&a.selector?H:G)}}}),f.support.submitBubbles||(f.event.special.submit={setup:function(a,b){if(!f.nodeName(this,"form"))f.event.add(this,"click.specialSubmit",function(a){var b=a.target,c=b.type;(c==="submit"||c==="image")&&f(b).closest("form").length&&L("submit",this,arguments)}),f.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,c=b.type;(c==="text"||c==="password")&&f(b).closest("form").length&&a.keyCode===13&&L("submit",this,arguments)});else return!1},teardown:function(a){f.event.remove(this,".specialSubmit")}});if(!f.support.changeBubbles){var I,J=function(a){var b=a.type,c=a.value;b==="radio"||b==="checkbox"?c=a.checked:b==="select-multiple"?c=a.selectedIndex>-1?f.map(a.options,function(a){return a.selected}).join("-"):"":f.nodeName(a,"select")&&(c=a.selectedIndex);return c},K=function(c){var d=c.target,e,g;if(!!z.test(d.nodeName)&&!d.readOnly){e=f._data(d,"_change_data"),g=J(d),(c.type!=="focusout"||d.type!=="radio")&&f._data(d,"_change_data",g);if(e===b||g===e)return;if(e!=null||g)c.type="change",c.liveFired=b,f.event.trigger(c,arguments[1],d)}};f.event.special.change={filters:{focusout:K,beforedeactivate:K,click:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(c==="radio"||c==="checkbox"||f.nodeName(b,"select"))&&K.call(this,a)},keydown:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(a.keyCode===13&&!f.nodeName(b,"textarea")||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&K.call(this,a)},beforeactivate:function(a){var b=a.target;f._data(b,"_change_data",J(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in I)f.event.add(this,c+".specialChange",I[c]);return z.test(this.nodeName)},teardown:function(a){f.event.remove(this,".specialChange");return z.test(this.nodeName)}},I=f.event.special.change.filters,I.focus=I.beforeactivate}f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){function e(a){var c=f.event.fix(a);c.type=b,c.originalEvent={},f.event.trigger(c,null,c.target),c.isDefaultPrevented()&&a.preventDefault()}var d=0;f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.each(["bind","one"],function(a,c){f.fn[c]=function(a,d,e){var g;if(typeof a=="object"){for(var h in a)this[c](h,d,a[h],e);return this}if(arguments.length===2||d===!1)e=d,d=b;c==="one"?(g=function(a){f(this).unbind(a,g);return e.apply(this,arguments)},g.guid=e.guid||f.guid++):g=e;if(a==="unload"&&c!=="one")this.one(a,d,e);else for(var i=0,j=this.length;i<j;i++)f.event.add(this[i],a,g,d);return this}}),f.fn.extend({unbind:function(a,b){if(typeof a=="object"&&!a.preventDefault)for(var c in a)this.unbind(c,a[c]);else for(var d=0,e=this.length;d<e;d++)f.event.remove(this[d],a,b);return this},delegate:function(a,b,c,d){return this.live(b,c,d,a)},undelegate:function(a,b,c){return arguments.length===0?this.unbind("live"):this.die(b,null,c,a)},trigger:function(a,b){return this.each(function(){f.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return f.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||f.guid++,d=0,e=function(c){var e=(f.data(this,"lastToggle"+a.guid)||0)%d;f.data(this,"lastToggle"+a.guid,e+1),c.preventDefault();return b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var M={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};f.each(["live","die"],function(a,c){f.fn[c]=function(a,d,e,g){var h,i=0,j,k,l,m=g||this.selector,n=g?this:f(this.context);if(typeof a=="object"&&!a.preventDefault){for(var o in a)n[c](o,d,a[o],m);return this}if(c==="die"&&!a&&g&&g.charAt(0)==="."){n.unbind(g);return this}if(d===!1||f.isFunction(d))e=d||E,d=b;a=(a||"").split(" ");while((h=a[i++])!=null){j=y.exec(h),k="",j&&(k=j[0],h=h.replace(y,""));if(h==="hover"){a.push("mouseenter"+k,"mouseleave"+k);continue}l=h,M[h]?(a.push(M[h]+k),h=h+k):h=(M[h]||h)+k;if(c==="live")for(var p=0,q=n.length;p<q;p++)f.event.add(n[p],"live."+O(h,m),{data:d,selector:m,handler:e,origType:h,origHandler:e,preType:l});else n.unbind("live."+O(h,m),e)}return this}}),f.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),function(a,b){f.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.bind(b,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}if(i.nodeType===1){f||(i.sizcache=c,i.sizset=g);if(typeof b!="string"){if(i===b){j=!0;break}}else if(k.filter(b,[i]).length>0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}i.nodeType===1&&!f&&(i.sizcache=c,i.sizset=g);if(i.nodeName.toLowerCase()===b){j=i;break}i=i[a]}d[g]=j}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d=0,e=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,f,g){f=f||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return f;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(e.call(n)==="[object Array]")if(!u)f.push.apply(f,n);else if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&f.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&f.push(j[t]);else p(n,f);o&&(k(o,h,f,g),k.uniqueSort(f));return f};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},k.matches=function(a,b){return k(a,null,null,b)},k.matchesSelector=function(a,b){return k(b,null,null,[a]).length>0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e<f;e++){var g,h=l.order[e];if(g=l.leftMatch[h].exec(a)){var j=g[1];g.splice(1,1);if(j.substr(j.length-1)!=="\\"){g[1]=(g[1]||"").replace(i,""),d=l.find[h](g,b,c);if(d!=null){a=a.replace(l.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},k.filter=function(a,c,d,e){var f,g,h=a,i=[],j=c,m=c&&c[0]&&k.isXML(c[0]);while(a&&c.length){for(var n in l.filter)if((f=l.leftMatch[n].exec(a))!=null&&f[2]){var o,p,q=l.filter[n],r=f[1];g=!1,f.splice(1,1);if(r.substr(r.length-1)==="\\")continue;j===i&&(i=[]);if(l.preFilter[n]){f=l.preFilter[n](f,j,d,i,e,m);if(!f)g=o=!0;else if(f===!0)continue}if(f)for(var s=0;(p=j[s])!=null;s++)if(p){o=q(p,f,s,j);var t=e^!!o;d&&o!=null?t?g=!0:j[s]=!1:t&&(i.push(p),g=!0)}if(o!==b){d||(j=i),a=a.replace(l.match[n],"");if(!g)return[];break}}if(a===h)if(g==null)k.error(a);else break;h=a}return j},k.error=function(a){throw"Syntax error, unrecognized expression: "+a};var l=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c=typeof b=="string",d=c&&!j.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var f=0,g=a.length,h;f<g;f++)if(h=a[f]){while((h=h.previousSibling)&&h.nodeType!==1);a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}e&&k.filter(b,a,!0)},">":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e<f;e++){c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}}else{for(;e<f;e++)c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b);d&&k.filter(b,a,!0)}},"":function(a,b,c){var e,f=d++,g=u;typeof b=="string"&&!j.test(b)&&(b=b.toLowerCase(),e=b,g=t),g("parentNode",b,f,a,e,c)},"~":function(a,b,c){var e,f=d++,g=u;typeof b=="string"&&!j.test(b)&&(b=b.toLowerCase(),e=b,g=t),g("previousSibling",b,f,a,e,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!="undefined")return b.getElementsByTagName(a[1])}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(i,"")+" ";if(f)return a;for(var g=0,h;(h=b[g])!=null;g++)h&&(e^(h.className&&(" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=d++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h<i;h++)if(g[h]===a)return!1;return!0}k.error(e)},CHILD:function(a,b){var c=b[1],d=a;switch(c){case"only":case"first":while(d=d.previousSibling)if(d.nodeType===1)return!1;if(c==="first")return!0;d=a;case"last":while(d=d.nextSibling)if(d.nodeType===1)return!1;return!0;case"nth":var e=b[2],f=b[3];if(e===1&&f===0)return!0;var g=b[0],h=a.parentNode;if(h&&(h.sizcache!==g||!a.nodeIndex)){var i=0;for(d=h.firstChild;d;d=d.nextSibling)d.nodeType===1&&(d.nodeIndex=++i);h.sizcache=g}var j=a.nodeIndex-f;return e===0?j===0:j%e===0&&j/e>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(e.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var f=a.length;c<f;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var r,s;c.documentElement.compareDocumentPosition?r=function(a,b){if(a===b){g=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;return a.compareDocumentPosition(b)&4?-1:1}:(r=function(a,b){if(a===b){g=!0;return 0}if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],h=a.parentNode,i=b.parentNode,j=h;if(h===i)return s(a,b);if(!h)return-1;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode;j=i;while(j)f.unshift(j),j=j.parentNode;c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++)if(e[k]!==f[k])return s(e[k],f[k]);return k===c?s(a,f[k],-1):s(e[k],b,1)},s=function(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}),k.getText=function(a){var b="",c;for(var d=0;a[d];d++)c=a[d],c.nodeType===3||c.nodeType===4?b+=c.nodeValue:c.nodeType!==8&&(b+=k.getText(c.childNodes));return b},function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a name='"+d+"'/>",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(s){}finally{n||m.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a))try{if(e||!l.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return k(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="<div class='test e'></div><div class='test'></div>";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a))e+=c[0],a=a.replace(l.match.PSEUDO,"");a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g<h;g++)k(a,f[g],d);return k.filter(e,d)};f.find=k,f.expr=k.selectors,f.expr[":"]=f.expr.filters,f.unique=k.uniqueSort,f.text=k.getText,f.isXMLDoc=k.isXML,f.contains=k.contains}();var P=/Until$/,Q=/^(?:parents|prevUntil|prevAll)/,R=/,/,S=/^.[^:#\[\.,]*$/,T=Array.prototype.slice,U=f.expr.match.POS,V={children:!0,contents:!0,next:!0,prev:!0};f.fn.extend({find:function(a){var b=this,c,d;if(typeof a!="string")return f(a).filter(function(){for(c=0,d=b.length;c<d;c++)if(f.contains(b[c],this))return!0});var e=this.pushStack("","find",a),g,h,i;for(c=0,d=this.length;c<d;c++){g=e.length,f.find(a,this[c],e);if(c>0)for(h=g;h<e.length;h++)for(i=0;i<g;i++)if(e[i]===e[h]){e.splice(h--,1);break}}return e},has:function(a){var b=f(a);return this.filter(function(){for(var a=0,c=b.length;a<c;a++)if(f.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(X(this,a,!1),"not",a)},filter:function(a){return this.pushStack(X(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(d=0,e=a.length;d<e;d++)i=a[d],j[i]||(j[i]=U.test(i)?f(i,b||this.context):i);while(g&&g.ownerDocument&&g!==b){for(i in j)h=j[i],(h.jquery?h.index(g)>-1:f(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=U.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d<e;d++){g=this[d];while(g){if(l?l.index(g)>-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a||typeof a=="string")return f.inArray(this[0],a?f(a):this.parent().children());return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(W(c[0])||W(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c),g=T.call(arguments);P.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!V[a]?f.unique(e):e,(this.length>1||R.test(d))&&Q.test(a)&&(e=e.reverse());return this.pushStack(e,a,g.join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var Y=/ jQuery\d+="(?:\d+|null)"/g,Z=/^\s+/,$=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,_=/<([\w:]+)/,ba=/<tbody/i,bb=/<|&#?\w+;/,bc=/<(?:script|object|embed|option|style)/i,bd=/checked\s*(?:[^=]|=\s*.checked.)/i,be=/\/(java|ecma)script/i,bf=/^\s*<!(?:\[CDATA\[|\-\-)/,bg={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div<div>","</div>"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){f(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Y,""):null;if(typeof a=="string"&&!bc.test(a)&&(f.support.leadingWhitespace||!Z.test(a))&&!bg[(_.exec(a)||["",""])[1].toLowerCase()]){a=a.replace($,"<$1></$2>");try{for(var c=0,d=this.length;c<d;c++)this[c].nodeType===1&&(f.cleanData(this[c].getElementsByTagName("*")),this[c].innerHTML=a)}catch(e){this.empty().append(a)}}else f.isFunction(a)?this.each(function(b){var c=f(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(f.isFunction(a))return this.each(function(b){var c=f(this),d=c.html();c.replaceWith(a.call(this,b,d))});typeof a!="string"&&(a=f(a).detach());return this.each(function(){var b=this.nextSibling,c=this.parentNode;f(this).remove(),b?f(b).before(a):f(c).append(a)})}return this.length?this.pushStack(f(f.isFunction(a)?a():a),"replaceWith",a):this},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){var e,g,h,i,j=a[0],k=[];if(!f.support.checkClone&&arguments.length===3&&typeof j=="string"&&bd.test(j))return this.each(function(){f(this).domManip(a,c,d,!0)});if(f.isFunction(j))return this.each(function(e){var g=f(this);a[0]=j.call(this,e,c?g.html():b),g.domManip(a,c,d)});if(this[0]){i=j&&j.parentNode,f.support.parentNode&&i&&i.nodeType===11&&i.childNodes.length===this.length?e={fragment:i}:e=f.buildFragment(a,this,k),h=e.fragment,h.childNodes.length===1?g=h=h.firstChild:g=h.firstChild;if(g){c=c&&f.nodeName(g,"tr");for(var l=0,m=this.length,n=m-1;l<m;l++)d.call(c?bh(this[l],g):this[l],e.cacheable||m>1&&l<n?f.clone(h,!0,!0):h)}k.length&&f.each(k,bn)}return this}}),f.buildFragment=function(a,b,d){var e,g,h,i=b&&b[0]?b[0].ownerDocument||b[0]:c;a.length===1&&typeof a[0]=="string"&&a[0].length<512&&i===c&&a[0].charAt(0)==="<"&&!bc.test(a[0])&&(f.support.checkClone||!bd.test(a[0]))&&(g=!0,h=f.fragments[a[0]],h&&h!==1&&(e=h)),e||(e=i.createDocumentFragment(),f.clean(a,i,e,d)),g&&(f.fragments[a[0]]=h?e:1);return{fragment:e,cacheable:g}},f.fragments={},f.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){f.fn[a]=function(c){var d=[],e=f(c),g=this.length===1&&this[0].parentNode;if(g&&g.nodeType===11&&g.childNodes.length===1&&e.length===1){e[b](this[0]);return this}for(var h=0,i=e.length;h<i;h++){var j=(h>0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d=a.cloneNode(!0),e,g,h;if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bj(a,d),e=bk(a),g=bk(d);for(h=0;e[h];++h)bj(e[h],g[h])}if(b){bi(a,d);if(c){e=bk(a),g=bk(d);for(h=0;e[h];++h)bi(e[h],g[h])}}return d},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||
b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!bb.test(k))k=b.createTextNode(k);else{k=k.replace($,"<$1></$2>");var l=(_.exec(k)||["",""])[1].toLowerCase(),m=bg[l]||bg._default,n=m[0],o=b.createElement("div");o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=ba.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]==="<table>"&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&Z.test(k)&&o.insertBefore(b.createTextNode(Z.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i<r;i++)bm(k[i]);else bm(k);k.nodeType?h.push(k):h=f.merge(h,k)}if(d){g=function(a){return!a.type||be.test(a.type)};for(j=0;h[j];j++)if(e&&f.nodeName(h[j],"script")&&(!h[j].type||h[j].type.toLowerCase()==="text/javascript"))e.push(h[j].parentNode?h[j].parentNode.removeChild(h[j]):h[j]);else{if(h[j].nodeType===1){var s=f.grep(h[j].getElementsByTagName("script"),g);h.splice.apply(h,[j+1,0].concat(s))}d.appendChild(h[j])}}return h},cleanData:function(a){var b,c,d=f.cache,e=f.expando,g=f.event.special,h=f.support.deleteExpando;for(var i=0,j;(j=a[i])!=null;i++){if(j.nodeName&&f.noData[j.nodeName.toLowerCase()])continue;c=j[f.expando];if(c){b=d[c]&&d[c][e];if(b&&b.events){for(var k in b.events)g[k]?f.event.remove(j,k):f.removeEvent(j,k,b.handle);b.handle&&(b.handle.elem=null)}h?delete j[f.expando]:j.removeAttribute&&j.removeAttribute(f.expando),delete d[c]}}}});var bo=/alpha\([^)]*\)/i,bp=/opacity=([^)]*)/,bq=/-([a-z])/ig,br=/([A-Z]|^ms)/g,bs=/^-?\d+(?:px)?$/i,bt=/^-?\d/,bu=/^[+\-]=/,bv=/[^+\-\.\de]+/g,bw={position:"absolute",visibility:"hidden",display:"block"},bx=["Left","Right"],by=["Top","Bottom"],bz,bA,bB,bC=function(a,b){return b.toUpperCase()};f.fn.css=function(a,c){if(arguments.length===2&&c===b)return this;return f.access(this,a,c,!0,function(a,c,d){return d!==b?f.style(a,c,d):f.css(a,c)})},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bz(a,"opacity","opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{zIndex:!0,fontWeight:!0,opacity:!0,zoom:!0,lineHeight:!0,widows:!0,orphans:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d;if(h==="number"&&isNaN(d)||d==null)return;h==="string"&&bu.test(d)&&(d=+d.replace(bv,"")+parseFloat(f.css(a,c))),h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(bz)return bz(a,c)},swap:function(a,b,c){var d={};for(var e in b)d[e]=a.style[e],a.style[e]=b[e];c.call(a);for(e in b)a.style[e]=d[e]},camelCase:function(a){return a.replace(bq,bC)}}),f.curCSS=f.css,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){var e;if(c){a.offsetWidth!==0?e=bD(a,b,d):f.swap(a,bw,function(){e=bD(a,b,d)});if(e<=0){e=bz(a,b,b),e==="0px"&&bB&&(e=bB(a,b,b));if(e!=null)return e===""||e==="auto"?"0px":e}if(e<0||e==null){e=a.style[b];return e===""||e==="auto"?"0px":e}return typeof e=="string"?e:e+"px"}},set:function(a,b){if(!bs.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bp.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle;c.zoom=1;var e=f.isNaN(b)?"":"alpha(opacity="+b*100+")",g=d&&d.filter||c.filter||"";c.filter=bo.test(g)?g.replace(bo,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bz(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bA=function(a,c){var d,e,g;c=c.replace(br,"-$1").toLowerCase();if(!(e=a.ownerDocument.defaultView))return b;if(g=e.getComputedStyle(a,null))d=g.getPropertyValue(c),d===""&&!f.contains(a.ownerDocument.documentElement,a)&&(d=f.style(a,c));return d}),c.documentElement.currentStyle&&(bB=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!bs.test(d)&&bt.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bz=bA||bB,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bE=/%20/g,bF=/\[\]$/,bG=/\r?\n/g,bH=/#.*$/,bI=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bJ=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bK=/^(?:about|app|app\-storage|.+\-extension|file|widget):$/,bL=/^(?:GET|HEAD)$/,bM=/^\/\//,bN=/\?/,bO=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bP=/^(?:select|textarea)/i,bQ=/\s+/,bR=/([?&])_=[^&]*/,bS=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bT=f.fn.load,bU={},bV={},bW,bX;try{bW=e.href}catch(bY){bW=c.createElement("a"),bW.href="",bW=bW.href}bX=bS.exec(bW.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bT)return bT.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("<div>").append(c.replace(bO,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bP.test(this.nodeName)||bJ.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bG,"\r\n")}}):{name:b.name,value:c.replace(bG,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.bind(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?f.extend(!0,a,f.ajaxSettings,b):(b=a,a=f.extend(!0,f.ajaxSettings,b));for(var c in{context:1,url:1})c in b?a[c]=b[c]:c in f.ajaxSettings&&(a[c]=f.ajaxSettings[c]);return a},ajaxSettings:{url:bW,isLocal:bK.test(bX[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":"*/*"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML}},ajaxPrefilter:bZ(bU),ajaxTransport:bZ(bV),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a?4:0;var o,r,u,w=l?ca(d,v,l):b,x,y;if(a>=200&&a<300||a===304){if(d.ifModified){if(x=v.getResponseHeader("Last-Modified"))f.lastModified[k]=x;if(y=v.getResponseHeader("Etag"))f.etag[k]=y}if(a===304)c="notmodified",o=!0;else try{r=cb(d,w),c="success",o=!0}catch(z){c="parsererror",u=z}}else{u=c;if(!c||a)c="error",a<0&&(a=0)}v.status=a,v.statusText=c,o?h.resolveWith(e,[r,c,v]):h.rejectWith(e,[v,c,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.resolveWith(e,[v,c]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f._Deferred(),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bI.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.done,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bH,"").replace(bM,bX[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bQ),d.crossDomain==null&&(r=bS.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bX[1]&&r[2]==bX[2]&&(r[3]||(r[1]==="http:"?80:443))==(bX[3]||(bX[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),b$(bU,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bL.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bN.test(d.url)?"&":"?")+d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bR,"$1_="+x);d.url=y+(y===d.url?(bN.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", */*; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=b$(bV,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){status<2?w(-1,z):f.error(z)}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)b_(g,a[g],c,e);return d.join("&").replace(bE,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cc=f.now(),cd=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cc++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(cd.test(b.url)||e&&cd.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(cd,l),b.url===j&&(e&&(k=k.replace(cd,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var ce=a.ActiveXObject?function(){for(var a in cg)cg[a](0,1)}:!1,cf=0,cg;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ch()||ci()}:ch,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,ce&&delete cg[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cf,ce&&(cg||(cg={},f(a).unload(ce)),cg[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cj={},ck,cl,cm=/^(?:toggle|show|hide)$/,cn=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,co,cp=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cq,cr=a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame||a.oRequestAnimationFrame;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cu("show",3),a,b,c);for(var g=0,h=this.length;g<h;g++)d=this[g],d.style&&(e=d.style.display,!f._data(d,"olddisplay")&&e==="none"&&(e=d.style.display=""),e===""&&f.css(d,"display")==="none"&&f._data(d,"olddisplay",cv(d.nodeName)));for(g=0;g<h;g++){d=this[g];if(d.style){e=d.style.display;if(e===""||e==="none")d.style.display=f._data(d,"olddisplay")||""}}return this},hide:function(a,b,c){if(a||a===0)return this.animate(cu("hide",3),a,b,c);for(var d=0,e=this.length;d<e;d++)if(this[d].style){var g=f.css(this[d],"display");g!=="none"&&!f._data(this[d],"olddisplay")&&f._data(this[d],"olddisplay",g)}for(d=0;d<e;d++)this[d].style&&(this[d].style.display="none");return this},_toggle:f.fn.toggle,toggle:function(a,b,c){var d=typeof a=="boolean";f.isFunction(a)&&f.isFunction(b)?this._toggle.apply(this,arguments):a==null||d?this.each(function(){var b=d?a:f(this).is(":hidden");f(this)[b?"show":"hide"]()}):this.animate(cu("toggle",3),a,b,c);return this},fadeTo:function(a,b,c,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=f.speed(b,c,d);if(f.isEmptyObject(a))return this.each(e.complete,[!1]);a=f.extend({},a);return this[e.queue===!1?"each":"queue"](function(){e.queue===!1&&f._mark(this);var b=f.extend({},e),c=this.nodeType===1,d=c&&f(this).is(":hidden"),g,h,i,j,k,l,m,n,o;b.animatedProperties={};for(i in a){g=f.camelCase(i),i!==g&&(a[g]=a[i],delete a[i]),h=a[g],f.isArray(h)?(b.animatedProperties[g]=h[1],h=a[g]=h[0]):b.animatedProperties[g]=b.specialEasing&&b.specialEasing[g]||b.easing||"swing";if(h==="hide"&&d||h==="show"&&!d)return b.complete.call(this);c&&(g==="height"||g==="width")&&(b.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY],f.css(this,"display")==="inline"&&f.css(this,"float")==="none"&&(f.support.inlineBlockNeedsLayout?(j=cv(this.nodeName),j==="inline"?this.style.display="inline-block":(this.style.display="inline",this.style.zoom=1)):this.style.display="inline-block"))}b.overflow!=null&&(this.style.overflow="hidden");for(i in a)k=new f.fx(this,b,i),h=a[i],cm.test(h)?k[h==="toggle"?d?"show":"hide":h]():(l=cn.exec(h),m=k.cur(),l?(n=parseFloat(l[2]),o=l[3]||(f.cssNumber[i]?"":"px"),o!=="px"&&(f.style(this,i,(n||1)+o),m=(n||1)/k.cur()*m,f.style(this,i,m+o)),l[1]&&(n=(l[1]==="-="?-1:1)*n+m),k.custom(m,n,o)):k.custom(m,h,""));return!0})},stop:function(a,b){a&&this.queue([]),this.each(function(){var a=f.timers,c=a.length;b||f._unmark(!0,this);while(c--)a[c].elem===this&&(b&&a[c](!0),a.splice(c,1))}),b||this.dequeue();return this}}),f.each({slideDown:cu("show",1),slideUp:cu("hide",1),slideToggle:cu("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){f.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),f.extend({speed:function(a,b,c){var d=a&&typeof a=="object"?f.extend({},a):{complete:c||!c&&b||f.isFunction(a)&&a,duration:a,easing:c&&b||b&&!f.isFunction(b)&&b};d.duration=f.fx.off?0:typeof d.duration=="number"?d.duration:d.duration in f.fx.speeds?f.fx.speeds[d.duration]:f.fx.speeds._default,d.old=d.complete,d.complete=function(a){d.queue!==!1?f.dequeue(this):a!==!1&&f._unmark(this),f.isFunction(d.old)&&d.old.call(this)};return d},easing:{linear:function(a,b,c,d){return c+d*a},swing:function(a,b,c,d){return(-Math.cos(a*Math.PI)/2+.5)*d+c}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig=b.orig||{}}}),f.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(f.fx.step[this.prop]||f.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=f.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,b,c){function h(a){return d.step(a)}var d=this,e=f.fx,g;this.startTime=cq||cs(),this.start=a,this.end=b,this.unit=c||this.unit||(f.cssNumber[this.prop]?"":"px"),this.now=this.start,this.pos=this.state=0,h.elem=this.elem,h()&&f.timers.push(h)&&!co&&(cr?(co=1,g=function(){co&&(cr(g),e.tick())},cr(g)):co=setInterval(e.tick,e.interval))},show:function(){this.options.orig[this.prop]=f.style(this.elem,this.prop),this.options.show=!0,this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),f(this.elem).show()},hide:function(){this.options.orig[this.prop]=f.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b=cq||cs(),c=!0,d=this.elem,e=this.options,g,h;if(a||b>=e.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),e.animatedProperties[this.prop]=!0;for(g in e.animatedProperties)e.animatedProperties[g]!==!0&&(c=!1);if(c){e.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){d.style["overflow"+b]=e.overflow[a]}),e.hide&&f(d).hide();if(e.hide||e.show)for(var i in e.animatedProperties)f.style(d,i,e.orig[i]);e.complete.call(d)}return!1}e.duration==Infinity?this.now=b:(h=b-this.startTime,this.state=h/e.duration,this.pos=f.easing[e.animatedProperties[this.prop]](this.state,h,0,1,e.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){for(var a=f.timers,b=0;b<a.length;++b)a[b]()||a.splice(b--,1);a.length||f.fx.stop()},interval:13,stop:function(){clearInterval(co),co=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){f.style(a.elem,"opacity",a.now)},_default:function(a){a.elem.style&&a.elem.style[a.prop]!=null?a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit:a.elem[a.prop]=a.now}}}),f.expr&&f.expr.filters&&(f.expr.filters.animated=function(a){return f.grep(f.timers,function(b){return a===b.elem}).length});var cw=/^t(?:able|d|h)$/i,cx=/^(?:body|html)$/i;"getBoundingClientRect"in c.documentElement?f.fn.offset=function(a){var b=this[0],c;if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);try{c=b.getBoundingClientRect()}catch(d){}var e=b.ownerDocument,g=e.documentElement;if(!c||!f.contains(g,b))return c?{top:c.top,left:c.left}:{top:0,left:0};var h=e.body,i=cy(e),j=g.clientTop||h.clientTop||0,k=g.clientLeft||h.clientLeft||0,l=i.pageYOffset||f.support.boxModel&&g.scrollTop||h.scrollTop,m=i.pageXOffset||f.support.boxModel&&g.scrollLeft||h.scrollLeft,n=c.top+l-j,o=c.left+m-k;return{top:n,left:o}}:f.fn.offset=function(a){var b=this[0];if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);f.offset.initialize();var c,d=b.offsetParent,e=b,g=b.ownerDocument,h=g.documentElement,i=g.body,j=g.defaultView,k=j?j.getComputedStyle(b,null):b.currentStyle,l=b.offsetTop,m=b.offsetLeft;while((b=b.parentNode)&&b!==i&&b!==h){if(f.offset.supportsFixedPosition&&k.position==="fixed")break;c=j?j.getComputedStyle(b,null):b.currentStyle,l-=b.scrollTop,m-=b.scrollLeft,b===d&&(l+=b.offsetTop,m+=b.offsetLeft,f.offset.doesNotAddBorder&&(!f.offset.doesAddBorderForTableAndCells||!cw.test(b.nodeName))&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),e=d,d=b.offsetParent),f.offset.subtractsBorderForOverflowNotVisible&&c.overflow!=="visible"&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),k=c}if(k.position==="relative"||k.position==="static")l+=i.offsetTop,m+=i.offsetLeft;f.offset.supportsFixedPosition&&k.position==="fixed"&&(l+=Math.max(h.scrollTop,i.scrollTop),m+=Math.max(h.scrollLeft,i.scrollLeft));return{top:l,left:m}},f.offset={initialize:function(){var a=c.body,b=c.createElement("div"),d,e,g,h,i=parseFloat(f.css(a,"marginTop"))||0,j="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";f.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),d=b.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,this.doesNotAddBorder=e.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,e.style.position="fixed",e.style.top="20px",this.supportsFixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",this.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i,a.removeChild(b),f.offset.initialize=f.noop},bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.offset.initialize(),f.offset.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cy(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cy(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){return this[0]?parseFloat(f.css(this[0],d,"padding")):null},f.fn["outer"+c]=function(a){return this[0]?parseFloat(f.css(this[0],d,a?"margin":"border")):null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c];return e.document.compatMode==="CSS1Compat"&&g||e.document.body["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var h=f.css(e,d),i=parseFloat(h);return f.isNaN(i)?h:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f})(window);
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
(function(a){a.widget("ui.dropdownchecklist",{version:function(){alert("DropDownCheckList v1.4")},_appendDropContainer:function(b){var d=a("<div/>");d.addClass("ui-dropdownchecklist ui-dropdownchecklist-dropcontainer-wrapper");d.addClass("ui-widget");d.attr("id",b.attr("id")+"-ddw");d.css({position:"absolute",left:"-33000px",top:"-33000px"});var c=a("<div/>");c.addClass("ui-dropdownchecklist-dropcontainer ui-widget-content");c.css("overflow-y","auto");d.append(c);d.insertAfter(b);d.isOpen=false;return d},_isDropDownKeyShortcut:function(c,b){return c.altKey&&(a.ui.keyCode.DOWN==b)},_isDropDownCloseKey:function(c,b){return(a.ui.keyCode.ESCAPE==b)||(a.ui.keyCode.ENTER==b)},_keyFocusChange:function(f,i,c){var g=a(":focusable");var d=g.index(f);if(d>=0){d+=i;if(c){var e=this.dropWrapper.find("input:not([disabled])");var b=g.index(e.get(0));var h=g.index(e.get(e.length-1));if(d<b){d=h}else{if(d>h){d=b}}}g.get(d).focus()}},_handleKeyboard:function(d){var b=this;var c=(d.keyCode||d.which);if(!b.dropWrapper.isOpen&&b._isDropDownKeyShortcut(d,c)){d.stopImmediatePropagation();b._toggleDropContainer(true)}else{if(b.dropWrapper.isOpen&&b._isDropDownCloseKey(d,c)){d.stopImmediatePropagation();b._toggleDropContainer(false);b.controlSelector.focus()}else{if(b.dropWrapper.isOpen&&(d.target.type=="checkbox")&&((c==a.ui.keyCode.DOWN)||(c==a.ui.keyCode.UP))){d.stopImmediatePropagation();b._keyFocusChange(d.target,(c==a.ui.keyCode.DOWN)?1:-1,true)}else{if(b.dropWrapper.isOpen&&(c==a.ui.keyCode.TAB)){}}}}},_handleFocus:function(f,d,b){var c=this;if(b&&!c.dropWrapper.isOpen){f.stopImmediatePropagation();if(d){c.controlSelector.addClass("ui-state-hover");if(a.ui.dropdownchecklist.gLastOpened!=null){a.ui.dropdownchecklist.gLastOpened._toggleDropContainer(false)}}else{c.controlSelector.removeClass("ui-state-hover")}}else{if(!b&&!d){if(f!=null){f.stopImmediatePropagation()}c.controlSelector.removeClass("ui-state-hover");c._toggleDropContainer(false)}}},_cancelBlur:function(c){var b=this;if(b.blurringItem!=null){clearTimeout(b.blurringItem);b.blurringItem=null}},_appendControl:function(){var j=this,c=this.sourceSelect,k=this.options;var b=a("<span/>");b.addClass("ui-dropdownchecklist ui-dropdownchecklist-selector-wrapper ui-widget");b.css({display:"inline-block",cursor:"default",overflow:"hidden"});var f=c.attr("id");if((f==null)||(f=="")){f="ddcl-"+a.ui.dropdownchecklist.gIDCounter++}else{f="ddcl-"+f}b.attr("id",f);var h=a("<span/>");h.addClass("ui-dropdownchecklist-selector ui-state-default");h.css({display:"inline-block",overflow:"hidden","white-space":"nowrap"});var d=c.attr("tabIndex");if(d==null){d=0}else{d=parseInt(d);if(d<0){d=0}}h.attr("tabIndex",d);h.keyup(function(l){j._handleKeyboard(l)});h.focus(function(l){j._handleFocus(l,true,true)});h.blur(function(l){j._handleFocus(l,false,true)});b.append(h);if(k.icon!=null){var i=(k.icon.placement==null)?"left":k.icon.placement;var g=a("<div/>");g.addClass("ui-icon");g.addClass((k.icon.toOpen!=null)?k.icon.toOpen:"ui-icon-triangle-1-e");g.css({"float":i});h.append(g)}var e=a("<span/>");e.addClass("ui-dropdownchecklist-text");e.css({display:"inline-block","white-space":"nowrap",overflow:"hidden"});h.append(e);b.hover(function(){if(!j.disabled){h.addClass("ui-state-hover")}},function(){if(!j.disabled){h.removeClass("ui-state-hover")}});b.click(function(l){if(!j.disabled){l.stopImmediatePropagation();j._toggleDropContainer(!j.dropWrapper.isOpen)}});b.insertAfter(c);a(window).resize(function(){if(!j.disabled&&j.dropWrapper.isOpen){j._toggleDropContainer(true)}});return b},_createDropItem:function(g,f,o,l,q,h,e,k){var m=this,c=this.options,d=this.sourceSelect,p=this.controlWrapper;var t=a("<div/>");t.addClass("ui-dropdownchecklist-item");t.css({"white-space":"nowrap"});var r=h?' checked="checked"':"";var j=e?' class="inactive"':' class="active"';var b=p.attr("id");var n=b+"-i"+g;var s;if(m.isMultiple){s=a('<input disabled type="checkbox" id="'+n+'"'+r+j+' tabindex="'+f+'" />')}else{s=a('<input disabled type="radio" id="'+n+'" name="'+b+'"'+r+j+' tabindex="'+f+'" />')}s=s.attr("index",g).val(o);t.append(s);var i=a("<label for="+n+"/>");i.addClass("ui-dropdownchecklist-text");if(q!=null){i.attr("style",q)}i.css({cursor:"default"});i.html(l);if(k){t.addClass("ui-dropdownchecklist-indent")}t.addClass("ui-state-default");if(e){t.addClass("ui-state-disabled")}i.click(function(u){u.stopImmediatePropagation()});t.append(i);t.hover(function(v){var u=a(this);if(!u.hasClass("ui-state-disabled")){u.addClass("ui-state-hover")}},function(v){var u=a(this);u.removeClass("ui-state-hover")});s.click(function(w){var v=a(this);w.stopImmediatePropagation();if(v.hasClass("active")){var x=m.options.onItemClick;if(a.isFunction(x)){try{x.call(m,v,d.get(0))}catch(u){v.prop("checked",!v.prop("checked"));m._syncSelected(v);return}}m._syncSelected(v);m.sourceSelect.trigger("change","ddcl_internal");if(!m.isMultiple&&c.closeRadioOnClick){m._toggleDropContainer(false)}}});t.click(function(y){var x=a(this);y.stopImmediatePropagation();if(!x.hasClass("ui-state-disabled")){var v=x.find("input");var w=v.prop("checked");v.prop("checked",!w);var z=m.options.onItemClick;if(a.isFunction(z)){try{z.call(m,v,d.get(0))}catch(u){v.prop("checked",w);m._syncSelected(v);return}}m._syncSelected(v);m.sourceSelect.trigger("change","ddcl_internal");if(!w&&!m.isMultiple&&c.closeRadioOnClick){m._toggleDropContainer(false)}}else{x.focus();m._cancelBlur()}});t.focus(function(v){var u=a(this);v.stopImmediatePropagation()});t.keyup(function(u){m._handleKeyboard(u)});return t},_createGroupItem:function(f,d){var b=this;var e=a("<div />");e.addClass("ui-dropdownchecklist-group ui-widget-header");if(d){e.addClass("ui-state-disabled")}e.css({"white-space":"nowrap"});var c=a("<span/>");c.addClass("ui-dropdownchecklist-text");c.css({cursor:"default"});c.text(f);e.append(c);e.click(function(h){var g=a(this);h.stopImmediatePropagation();g.focus();b._cancelBlur()});e.focus(function(h){var g=a(this);h.stopImmediatePropagation()});return e},_createCloseItem:function(e){var b=this;var d=a("<div />");d.addClass("ui-state-default ui-dropdownchecklist-close ui-dropdownchecklist-item");d.css({"white-space":"nowrap","text-align":"right"});var c=a("<span/>");c.addClass("ui-dropdownchecklist-text");c.css({cursor:"default"});c.html(e);d.append(c);d.click(function(g){var f=a(this);g.stopImmediatePropagation();f.focus();b._toggleDropContainer(false)});d.hover(function(f){a(this).addClass("ui-state-hover")},function(f){a(this).removeClass("ui-state-hover")});d.focus(function(g){var f=a(this);g.stopImmediatePropagation()});return d},_appendItems:function(){var d=this,f=this.options,h=this.sourceSelect,g=this.dropWrapper;var b=g.find(".ui-dropdownchecklist-dropcontainer");h.children().each(function(j){var k=a(this);if(k.is("option")){d._appendOption(k,b,j,false,false)}else{if(k.is("optgroup")){var l=k.prop("disabled");var n=k.attr("label");if(n!=""){var m=d._createGroupItem(n,l);b.append(m)}d._appendOptions(k,b,j,true,l)}}});if(f.explicitClose!=null){var i=d._createCloseItem(f.explicitClose);b.append(i)}var c=b.outerWidth();var e=b.outerHeight();return{width:c,height:e}},_appendOptions:function(g,d,f,c,b){var e=this;g.children("option").each(function(h){var i=a(this);var j=(f+"."+h);e._appendOption(i,d,j,c,b)})},_appendOption:function(g,b,h,d,n){var m=this;var k=g.html();if((k!=null)&&(k!="")){var j=g.val();var i=g.attr("style");var f=g.prop("selected");var e=(n||g.prop("disabled"));var c=m.controlSelector.attr("tabindex");var l=m._createDropItem(h,c,j,k,i,f,e,d);b.append(l)}},_syncSelected:function(h){var i=this,l=this.options,b=this.sourceSelect,d=this.dropWrapper;var c=b.get(0).options;var g=d.find("input.active");if(l.firstItemChecksAll=="exclusive"){if((h==null)&&a(c[0]).prop("selected")){g.prop("checked",false);a(g[0]).prop("checked",true)}else{if((h!=null)&&(h.attr("index")==0)){var e=h.prop("checked");g.prop("checked",false);a(g[0]).prop("checked",e)}else{var f=true;var k=null;g.each(function(m){if(m>0){var n=a(this).prop("checked");if(!n){f=false}}else{k=a(this)}});if(k!=null){if(f){g.prop("checked",false)}k.prop("checked",f)}}}}else{if(l.firstItemChecksAll){if((h==null)&&a(c[0]).prop("selected")){g.prop("checked",true)}else{if((h!=null)&&(h.attr("index")==0)){g.prop("checked",h.prop("checked"))}else{var f=true;var k=null;g.each(function(m){if(m>0){var n=a(this).prop("checked");if(!n){f=false}}else{k=a(this)}});if(k!=null){k.prop("checked",f)}}}}}var j=0;g=d.find("input");g.each(function(n){var m=a(c[n+j]);var o=m.html();if((o==null)||(o=="")){j+=1;m=a(c[n+j])}m.prop("selected",a(this).prop("checked"))});i._updateControlText();if(h!=null){h.focus()}},_sourceSelectChangeHandler:function(c){var b=this,d=this.dropWrapper;d.find("input").val(b.sourceSelect.val());b._updateControlText()},_updateControlText:function(){var c=this,g=this.sourceSelect,d=this.options,f=this.controlWrapper;var h=g.find("option:first");var b=g.find("option");var i=c._formatText(b,d.firstItemChecksAll,h);var e=f.find(".ui-dropdownchecklist-text");e.html(i);e.attr("title",e.text())},_formatText:function(b,d,e){var f;if(a.isFunction(this.options.textFormatFunction)){try{f=this.options.textFormatFunction(b)}catch(c){alert("textFormatFunction failed: "+c)}}else{if(d&&(e!=null)&&e.prop("selected")){f=e.html()}else{f="";b.each(function(){if(a(this).prop("selected")){if(f!=""){f+=", "}var g=a(this).attr("style");var h=a("<span/>");h.html(a(this).html());if(g==null){f+=h.html()}else{h.attr("style",g);f+=a("<span/>").append(h).html()}}});if(f==""){f=(this.options.emptyText!=null)?this.options.emptyText:"&nbsp;"}}}return f},_toggleDropContainer:function(e){var c=this;var d=function(f){if((f!=null)&&f.dropWrapper.isOpen){f.dropWrapper.isOpen=false;a.ui.dropdownchecklist.gLastOpened=null;var h=f.options;f.dropWrapper.css({top:"-33000px",left:"-33000px"});var g=f.controlSelector;g.removeClass("ui-state-active");g.removeClass("ui-state-hover");var j=f.controlWrapper.find(".ui-icon");if(j.length>0){j.removeClass((h.icon.toClose!=null)?h.icon.toClose:"ui-icon-triangle-1-s");j.addClass((h.icon.toOpen!=null)?h.icon.toOpen:"ui-icon-triangle-1-e")}a(document).unbind("click",d);f.dropWrapper.find("input.active").prop("disabled",true);if(a.isFunction(h.onComplete)){try{h.onComplete.call(f,f.sourceSelect.get(0))}catch(i){alert("callback failed: "+i)}}}};var b=function(n){if(!n.dropWrapper.isOpen){n.dropWrapper.isOpen=true;a.ui.dropdownchecklist.gLastOpened=n;var g=n.options;if((g.positionHow==null)||(g.positionHow=="absolute")){n.dropWrapper.css({position:"absolute",top:n.controlWrapper.position().top+n.controlWrapper.outerHeight()+"px",left:n.controlWrapper.position().left+"px"})}else{if(g.positionHow=="relative"){n.dropWrapper.css({position:"relative",top:"0px",left:"0px"})}}var m=0;if(g.zIndex==null){var l=n.controlWrapper.parents().map(function(){var o=a(this).css("z-index");return isNaN(o)?0:o}).get();var i=Math.max.apply(Math,l);if(i>=0){m=i+1}}else{m=parseInt(g.zIndex)}if(m>0){n.dropWrapper.css({"z-index":m})}var j=n.controlSelector;j.addClass("ui-state-active");j.removeClass("ui-state-hover");var h=n.controlWrapper.find(".ui-icon");if(h.length>0){h.removeClass((g.icon.toOpen!=null)?g.icon.toOpen:"ui-icon-triangle-1-e");h.addClass((g.icon.toClose!=null)?g.icon.toClose:"ui-icon-triangle-1-s")}a(document).bind("click",function(o){d(n)});var f=n.dropWrapper.find("input.active");f.prop("disabled",false);var k=f.get(0);if(k!=null){k.focus()}}};if(e){d(a.ui.dropdownchecklist.gLastOpened);b(c)}else{d(c)}},_setSize:function(b){var m=this.options,f=this.dropWrapper,l=this.controlWrapper;var k=b.width;if(m.width!=null){k=parseInt(m.width)}else{if(m.minWidth!=null){var c=parseInt(m.minWidth);if(k<c){k=c}}}var i=this.controlSelector;i.css({width:k+"px"});var g=i.find(".ui-dropdownchecklist-text");var d=i.find(".ui-icon");if(d!=null){k-=(d.outerWidth()+4);g.css({width:k+"px"})}k=l.outerWidth();var j=(m.maxDropHeight!=null)?parseInt(m.maxDropHeight):-1;var h=((j>0)&&(b.height>j))?j:b.height;var e=b.width<k?k:b.width;a(f).css({height:h+"px",width:e+"px"});f.find(".ui-dropdownchecklist-dropcontainer").css({height:h+"px"})},_init:function(){var c=this,d=this.options;if(a.ui.dropdownchecklist.gIDCounter==null){a.ui.dropdownchecklist.gIDCounter=1}c.blurringItem=null;var g=c.element;c.initialDisplay=g.css("display");g.css("display","none");c.initialMultiple=g.prop("multiple");c.isMultiple=c.initialMultiple;if(d.forceMultiple!=null){c.isMultiple=d.forceMultiple}g.prop("multiple",true);c.sourceSelect=g;var e=c._appendControl();c.controlWrapper=e;c.controlSelector=e.find(".ui-dropdownchecklist-selector");var f=c._appendDropContainer(e);c.dropWrapper=f;var b=c._appendItems();c._updateControlText(e,f,g);c._setSize(b);if(d.firstItemChecksAll){c._syncSelected(null)}if(d.bgiframe&&typeof c.dropWrapper.bgiframe=="function"){c.dropWrapper.bgiframe()}c.sourceSelect.change(function(i,h){if(h!="ddcl_internal"){c._sourceSelectChangeHandler(i)}})},_refreshOption:function(e,d,c){var b=e.parent();if(d){e.prop("disabled",true);e.removeClass("active");e.addClass("inactive");b.addClass("ui-state-disabled")}else{e.prop("disabled",false);e.removeClass("inactive");e.addClass("active");b.removeClass("ui-state-disabled")}e.prop("checked",c)},_refreshGroup:function(c,b){if(b){c.addClass("ui-state-disabled")}else{c.removeClass("ui-state-disabled")}},close:function(){this._toggleDropContainer(false)},refresh:function(){var b=this,e=this.sourceSelect,d=this.dropWrapper;var c=d.find("input");var g=d.find(".ui-dropdownchecklist-group");var h=0;var f=0;e.children().each(function(i){var j=a(this);var l=j.prop("disabled");if(j.is("option")){var k=j.prop("selected");var n=a(c[f]);b._refreshOption(n,l,k);f+=1}else{if(j.is("optgroup")){var o=j.attr("label");if(o!=""){var m=a(g[h]);b._refreshGroup(m,l);h+=1}j.children("option").each(function(){var p=a(this);var r=(l||p.prop("disabled"));var q=p.prop("selected");var s=a(c[f]);b._refreshOption(s,r,q);f+=1})}}});b._syncSelected(null)},enable:function(){this.controlSelector.removeClass("ui-state-disabled");this.disabled=false},disable:function(){this.controlSelector.addClass("ui-state-disabled");this.disabled=true},destroy:function(){a.Widget.prototype.destroy.apply(this,arguments);this.sourceSelect.css("display",this.initialDisplay);this.sourceSelect.prop("multiple",this.initialMultiple);this.controlWrapper.unbind().remove();this.dropWrapper.remove()}});a.extend(a.ui.dropdownchecklist,{defaults:{width:null,maxDropHeight:null,firstItemChecksAll:false,closeRadioOnClick:false,minWidth:50,positionHow:"absolute",bgiframe:false,explicitClose:null}})})(jQuery);
\ No newline at end of file
;(function($) {
/*
* ui.dropdownchecklist
*
* Copyright (c) 2008-2010 Adrian Tosca, Copyright (c) 2010-2011 Ittrium LLC
* Dual licensed under the MIT (MIT-LICENSE.txt) OR GPL (GPL-LICENSE.txt) licenses.
*
*/
// The dropdown check list jQuery plugin transforms a regular select html element into a dropdown check list.
$.widget("ui.dropdownchecklist", {
// Some globlals
// $.ui.dropdownchecklist.gLastOpened - keeps track of last opened dropdowncheck list so we can close it
// $.ui.dropdownchecklist.gIDCounter - simple counter to provide a unique ID as needed
version: function() {
alert('DropDownCheckList v1.4');
},
// Creates the drop container that keeps the items and appends it to the document
_appendDropContainer: function( controlItem ) {
var wrapper = $("<div/>");
// the container is wrapped in a div
wrapper.addClass("ui-dropdownchecklist ui-dropdownchecklist-dropcontainer-wrapper");
wrapper.addClass("ui-widget");
// assign an id
wrapper.attr("id",controlItem.attr("id") + '-ddw');
// initially positioned way off screen to prevent it from displaying
// NOTE absolute position to enable width/height calculation
wrapper.css({ position: 'absolute', left: "-33000px", top: "-33000px" });
var container = $("<div/>"); // the actual container
container.addClass("ui-dropdownchecklist-dropcontainer ui-widget-content");
container.css("overflow-y", "auto");
wrapper.append(container);
// insert the dropdown after the master control to try to keep the tab order intact
// if you just add it to the end, tabbing out of the drop down takes focus off the page
// @todo 22Sept2010 - check if size calculation is thrown off if the parent of the
// selector is hidden. We may need to add it to the end of the document here,
// calculate the size, and then move it back into proper position???
//$(document.body).append(wrapper);
wrapper.insertAfter(controlItem);
// flag that tells if the drop container is shown or not
wrapper.isOpen = false;
return wrapper;
},
// Look for browser standard 'open' on a closed selector
_isDropDownKeyShortcut: function(e,keycode) {
return e.altKey && ($.ui.keyCode.DOWN == keycode);// Alt + Down Arrow
},
// Look for key that will tell us to close the open dropdown
_isDropDownCloseKey: function(e,keycode) {
return ($.ui.keyCode.ESCAPE == keycode) || ($.ui.keyCode.ENTER == keycode);
},
// Handler to change the active focus based on a keystroke, moving some count of
// items from the element that has the current focus
_keyFocusChange: function(target,delta,limitToItems) {
// Find item with current focus
var focusables = $(":focusable");
var index = focusables.index(target);
if ( index >= 0 ) {
index += delta;
if ( limitToItems ) {
// Bound change to list of input elements
var allCheckboxes = this.dropWrapper.find("input:not([disabled])");
var firstIndex = focusables.index(allCheckboxes.get(0));
var lastIndex = focusables.index(allCheckboxes.get(allCheckboxes.length-1));
if ( index < firstIndex ) {
index = lastIndex;
} else if ( index > lastIndex ) {
index = firstIndex;
}
}
focusables.get(index).focus();
}
},
// Look for navigation, open, close (wired to keyup)
_handleKeyboard: function(e) {
var self = this;
var keyCode = (e.keyCode || e.which);
if (!self.dropWrapper.isOpen && self._isDropDownKeyShortcut(e, keyCode)) {
// Key command to open the dropdown
e.stopImmediatePropagation();
self._toggleDropContainer(true);
} else if (self.dropWrapper.isOpen && self._isDropDownCloseKey(e, keyCode)) {
// Key command to close the dropdown (but we retain focus in the control)
e.stopImmediatePropagation();
self._toggleDropContainer(false);
self.controlSelector.focus();
} else if (self.dropWrapper.isOpen
&& (e.target.type == 'checkbox')
&& ((keyCode == $.ui.keyCode.DOWN) || (keyCode == $.ui.keyCode.UP)) ) {
// Up/Down to cycle throught the open items
e.stopImmediatePropagation();
self._keyFocusChange(e.target, (keyCode == $.ui.keyCode.DOWN) ? 1 : -1, true);
} else if (self.dropWrapper.isOpen && (keyCode == $.ui.keyCode.TAB) ) {
// I wanted to adjust normal 'tab' processing here, but research indicates
// that TAB key processing is NOT a cancelable event. You have to use a timer
// hack to pull the focus back to where you want it after browser tab
// processing completes. Not going to work for us.
//e.stopImmediatePropagation();
//self._keyFocusChange(e.target, (e.shiftKey) ? -1 : 1, true);
}
},
// Look for change of focus
_handleFocus: function(e,focusIn,forDropdown) {
var self = this;
if (forDropdown && !self.dropWrapper.isOpen) {
// if the focus changes when the control is NOT open, mark it to show where the focus is/is not
e.stopImmediatePropagation();
if (focusIn) {
self.controlSelector.addClass("ui-state-hover");
if ($.ui.dropdownchecklist.gLastOpened != null) {
$.ui.dropdownchecklist.gLastOpened._toggleDropContainer( false );
}
} else {
self.controlSelector.removeClass("ui-state-hover");
}
} else if (!forDropdown && !focusIn) {
// The dropdown is open, and an item (NOT the dropdown) has just lost the focus.
// we really need a reliable method to see who has the focus as we process the blur,
// but that mechanism does not seem to exist. Instead we rely on a delay before
// posting the blur, with a focus event cancelling it before the delay expires.
if ( e != null ) { e.stopImmediatePropagation(); }
self.controlSelector.removeClass("ui-state-hover");
self._toggleDropContainer( false );
}
},
// Clear the pending change of focus, which keeps us 'in' the control
_cancelBlur: function(e) {
var self = this;
if (self.blurringItem != null) {
clearTimeout(self.blurringItem);
self.blurringItem = null;
}
},
// Creates the control that will replace the source select and appends it to the document
// The control resembles a regular select with single selection
_appendControl: function() {
var self = this, sourceSelect = this.sourceSelect, options = this.options;
// the control is wrapped in a basic container
// inline-block at this level seems to give us better size control
var wrapper = $("<span/>");
wrapper.addClass("ui-dropdownchecklist ui-dropdownchecklist-selector-wrapper ui-widget");
wrapper.css( { display: "inline-block", cursor: "default", overflow: "hidden" } );
// assign an ID
var baseID = sourceSelect.attr("id");
if ((baseID == null) || (baseID == "")) {
baseID = "ddcl-" + $.ui.dropdownchecklist.gIDCounter++;
} else {
baseID = "ddcl-" + baseID;
}
wrapper.attr("id",baseID);
// the actual control which you can style
// inline-block needed to enable 'width' but has interesting problems cross browser
var control = $("<span/>");
control.addClass("ui-dropdownchecklist-selector ui-state-default");
control.css( { display: "inline-block", overflow: "hidden", 'white-space': 'nowrap'} );
// Setting a tab index means we are interested in the tab sequence
var tabIndex = sourceSelect.attr("tabIndex");
if ( tabIndex == null ) {
tabIndex = 0;
} else {
tabIndex = parseInt(tabIndex);
if ( tabIndex < 0 ) {
tabIndex = 0;
}
}
control.attr("tabIndex", tabIndex);
control.keyup(function(e) {self._handleKeyboard(e);});
control.focus(function(e) {self._handleFocus(e,true,true);});
control.blur(function(e) {self._handleFocus(e,false,true);});
wrapper.append(control);
// the optional icon (which is inherently a block) which we can float
if (options.icon != null) {
var iconPlacement = (options.icon.placement == null) ? "left" : options.icon.placement;
var anIcon = $("<div/>");
anIcon.addClass("ui-icon");
anIcon.addClass( (options.icon.toOpen != null) ? options.icon.toOpen : "ui-icon-triangle-1-e");
anIcon.css({ 'float': iconPlacement });
control.append(anIcon);
}
// the text container keeps the control text that is built from the selected (checked) items
// inline-block needed to prevent long text from wrapping to next line when icon is active
var textContainer = $("<span/>");
textContainer.addClass("ui-dropdownchecklist-text");
textContainer.css( { display: "inline-block", 'white-space': "nowrap", overflow: "hidden" } );
control.append(textContainer);
// add the hover styles to the control
wrapper.hover(
function() {
if (!self.disabled) {
control.addClass("ui-state-hover");
}
}
, function() {
if (!self.disabled) {
control.removeClass("ui-state-hover");
}
}
);
// clicking on the control toggles the drop container
wrapper.click(function(event) {
if (!self.disabled) {
event.stopImmediatePropagation();
self._toggleDropContainer( !self.dropWrapper.isOpen );
}
});
wrapper.insertAfter(sourceSelect);
// Watch for a window resize and adjust the control if open
$(window).resize(function() {
if (!self.disabled && self.dropWrapper.isOpen) {
// Reopen yourself to get the position right
self._toggleDropContainer(true);
}
});
return wrapper;
},
// Creates a drop item that coresponds to an option element in the source select
_createDropItem: function(index, tabIndex, value, text, optCss, checked, disabled, indent) {
var self = this, options = this.options, sourceSelect = this.sourceSelect, controlWrapper = this.controlWrapper;
// the item contains a div that contains a checkbox input and a lable for the text
// the div
var item = $("<div/>");
item.addClass("ui-dropdownchecklist-item");
item.css({'white-space': "nowrap"});
var checkedString = checked ? ' checked="checked"' : '';
var classString = disabled ? ' class="inactive"' : ' class="active"';
// generated id must be a bit unique to keep from colliding
var idBase = controlWrapper.attr("id");
var id = idBase + '-i' + index;
var checkBox;
// all items start out disabled to keep them out of the tab order
if (self.isMultiple) { // the checkbox
checkBox = $('<input disabled type="checkbox" id="' + id + '"' + checkedString + classString + ' tabindex="' + tabIndex + '" />');
} else { // the radiobutton
checkBox = $('<input disabled type="radio" id="' + id + '" name="' + idBase + '"' + checkedString + classString + ' tabindex="' + tabIndex + '" />');
}
checkBox = checkBox.attr("index", index).val(value);
item.append(checkBox);
// the text
var label = $("<label for=" + id + "/>");
label.addClass("ui-dropdownchecklist-text");
if ( optCss != null ) label.attr('style',optCss);
label.css({ cursor: "default" });
label.html(text);
if (indent) {
item.addClass("ui-dropdownchecklist-indent");
}
item.addClass("ui-state-default");
if (disabled) {
item.addClass("ui-state-disabled");
}
label.click(function(e) {e.stopImmediatePropagation();});
item.append(label);
// active items display themselves with hover
item.hover(
function(e) {
var anItem = $(this);
if (!anItem.hasClass("ui-state-disabled")) { anItem.addClass("ui-state-hover"); }
}
, function(e) {
var anItem = $(this);
anItem.removeClass("ui-state-hover");
}
);
// clicking on the checkbox synchronizes the source select
checkBox.click(function(e) {
var aCheckBox = $(this);
e.stopImmediatePropagation();
if (aCheckBox.hasClass("active") ) {
// Active checkboxes take active action
var callback = self.options.onItemClick;
if ($.isFunction(callback)) try {
callback.call(self,aCheckBox,sourceSelect.get(0));
} catch (ex) {
// reject the change on any error
aCheckBox.prop("checked",!aCheckBox.prop("checked"));
self._syncSelected(aCheckBox);
return;
}
self._syncSelected(aCheckBox);
self.sourceSelect.trigger("change", 'ddcl_internal');
if (!self.isMultiple && options.closeRadioOnClick) {
self._toggleDropContainer(false);
}
}
});
// we are interested in the focus leaving the check box
// but we need to detect the focus leaving one check box but
// entering another. There is no reliable way to detect who
// received the focus on a blur, so post the blur in the future,
// knowing we will cancel it if we capture the focus in a timely manner
// 23Sept2010 - unfortunately, IE 7+ and Chrome like to post a blur
// event to the current item with focus when the user
// clicks in the scroll bar. So if you have a scrollable
// dropdown with focus on an item, clicking in the scroll
// will close the drop down.
// I have no solution for blur processing at this time.
/*********
var timerFunction = function(){
// I had a hell of a time getting setTimeout to fire this, do not try to
// define it within the blur function
try { self._handleFocus(null,false,false); } catch(ex){ alert('timer failed: '+ex);}
};
checkBox.blur(function(e) {
self.blurringItem = setTimeout( timerFunction, 200 );
});
checkBox.focus(function(e) {self._cancelBlur();});
**********/
// check/uncheck the item on clicks on the entire item div
item.click(function(e) {
var anItem = $(this);
e.stopImmediatePropagation();
if (!anItem.hasClass("ui-state-disabled") ) {
// check/uncheck the underlying control
var aCheckBox = anItem.find("input");
var checked = aCheckBox.prop("checked");
aCheckBox.prop("checked", !checked);
var callback = self.options.onItemClick;
if ($.isFunction(callback)) try {
callback.call(self,aCheckBox,sourceSelect.get(0));
} catch (ex) {
// reject the change on any error
aCheckBox.prop("checked",checked);
self._syncSelected(aCheckBox);
return;
}
self._syncSelected(aCheckBox);
self.sourceSelect.trigger("change", 'ddcl_internal');
if (!checked && !self.isMultiple && options.closeRadioOnClick) {
self._toggleDropContainer(false);
}
} else {
// retain the focus even if disabled
anItem.focus();
self._cancelBlur();
}
});
// do not let the focus wander around
item.focus(function(e) {
var anItem = $(this);
e.stopImmediatePropagation();
});
item.keyup(function(e) {self._handleKeyboard(e);});
return item;
},
_createGroupItem: function(text,disabled) {
var self = this;
var group = $("<div />");
group.addClass("ui-dropdownchecklist-group ui-widget-header");
if (disabled) {
group.addClass("ui-state-disabled");
}
group.css({'white-space': "nowrap"});
var label = $("<span/>");
label.addClass("ui-dropdownchecklist-text");
label.css( { cursor: "default" });
label.text(text);
group.append(label);
// anything interesting when you click the group???
group.click(function(e) {
var aGroup= $(this);
e.stopImmediatePropagation();
// retain the focus even if no action is taken
aGroup.focus();
self._cancelBlur();
});
// do not let the focus wander around
group.focus(function(e) {
var aGroup = $(this);
e.stopImmediatePropagation();
});
return group;
},
_createCloseItem: function(text) {
var self = this;
var closeItem = $("<div />");
closeItem.addClass("ui-state-default ui-dropdownchecklist-close ui-dropdownchecklist-item");
closeItem.css({'white-space': 'nowrap', 'text-align': 'right'});
var label = $("<span/>");
label.addClass("ui-dropdownchecklist-text");
label.css( { cursor: "default" });
label.html(text);
closeItem.append(label);
// close the control on click
closeItem.click(function(e) {
var aGroup= $(this);
e.stopImmediatePropagation();
// retain the focus even if no action is taken
aGroup.focus();
self._toggleDropContainer( false );
});
closeItem.hover(
function(e) { $(this).addClass("ui-state-hover"); }
, function(e) { $(this).removeClass("ui-state-hover"); }
);
// do not let the focus wander around
closeItem.focus(function(e) {
var aGroup = $(this);
e.stopImmediatePropagation();
});
return closeItem;
},
// Creates the drop items and appends them to the drop container
// Also calculates the size needed by the drop container and returns it
_appendItems: function() {
var self = this, config = this.options, sourceSelect = this.sourceSelect, dropWrapper = this.dropWrapper;
var dropContainerDiv = dropWrapper.find(".ui-dropdownchecklist-dropcontainer");
sourceSelect.children().each(function(index) { // when the select has groups
var opt = $(this);
if (opt.is("option")) {
self._appendOption(opt, dropContainerDiv, index, false, false);
} else if (opt.is("optgroup")) {
var disabled = opt.prop("disabled");
var text = opt.attr("label");
if (text != "") {
var group = self._createGroupItem(text,disabled);
dropContainerDiv.append(group);
}
self._appendOptions(opt, dropContainerDiv, index, true, disabled);
}
});
if ( config.explicitClose != null ) {
var closeItem = self._createCloseItem(config.explicitClose);
dropContainerDiv.append(closeItem);
}
var divWidth = dropContainerDiv.outerWidth();
var divHeight = dropContainerDiv.outerHeight();
return { width: divWidth, height: divHeight };
},
_appendOptions: function(parent, container, parentIndex, indent, forceDisabled) {
var self = this;
parent.children("option").each(function(index) {
var option = $(this);
var childIndex = (parentIndex + "." + index);
self._appendOption(option, container, childIndex, indent, forceDisabled);
});
},
_appendOption: function(option, container, index, indent, forceDisabled) {
var self = this;
// Note that the browsers destroy any html structure within the OPTION
var text = option.html();
if ( (text != null) && (text != '') ) {
var value = option.val();
var optCss = option.attr('style');
var selected = option.prop("selected");
var disabled = (forceDisabled || option.prop("disabled"));
// Use the same tab index as the selector replacement
var tabIndex = self.controlSelector.attr("tabindex");
var item = self._createDropItem(index, tabIndex, value, text, optCss, selected, disabled, indent);
container.append(item);
}
},
// Synchronizes the items checked and the source select
// When firstItemChecksAll option is active also synchronizes the checked items
// senderCheckbox parameters is the checkbox input that generated the synchronization
_syncSelected: function(senderCheckbox) {
var self = this, options = this.options, sourceSelect = this.sourceSelect, dropWrapper = this.dropWrapper;
var selectOptions = sourceSelect.get(0).options;
var allCheckboxes = dropWrapper.find("input.active");
if (options.firstItemChecksAll == 'exclusive') {
if ((senderCheckbox == null) && $(selectOptions[0]).prop("selected") ) {
// Initialization call with first item active
allCheckboxes.prop("checked", false);
$(allCheckboxes[0]).prop("checked", true);
} else if ((senderCheckbox != null) && (senderCheckbox.attr("index") == 0)) {
// Action on the first, so all other checkboxes NOT active
var firstIsActive = senderCheckbox.prop("checked");
allCheckboxes.prop("checked", false);
$(allCheckboxes[0]).prop("checked", firstIsActive);
} else {
// check the first checkbox if all the other checkboxes are checked
var allChecked = true;
var firstCheckbox = null;
allCheckboxes.each(function(index) {
if (index > 0) {
var checked = $(this).prop("checked");
if (!checked) { allChecked = false; }
} else {
firstCheckbox = $(this);
}
});
if ( firstCheckbox != null ) {
if ( allChecked ) {
// when all are checked, only the first left checked
allCheckboxes.prop("checked", false);
}
firstCheckbox.prop("checked", allChecked );
}
}
} else if (options.firstItemChecksAll) {
if ((senderCheckbox == null) && $(selectOptions[0]).prop("selected") ) {
// Initialization call with first item active so force all to be active
allCheckboxes.prop("checked", true);
} else if ((senderCheckbox != null) && (senderCheckbox.attr("index") == 0)) {
// Check all checkboxes if the first one is checked
allCheckboxes.prop("checked", senderCheckbox.prop("checked"));
} else {
// check the first checkbox if all the other checkboxes are checked
var allChecked = true;
var firstCheckbox = null;
allCheckboxes.each(function(index) {
if (index > 0) {
var checked = $(this).prop("checked");
if (!checked) { allChecked = false; }
} else {
firstCheckbox = $(this);
}
});
if ( firstCheckbox != null ) {
firstCheckbox.prop("checked", allChecked );
}
}
}
// do the actual synch with the source select
var empties = 0;
allCheckboxes = dropWrapper.find("input");
allCheckboxes.each(function(index) {
var anOption = $(selectOptions[index + empties]);
var optionText = anOption.html();
if ( (optionText == null) || (optionText == '') ) {
empties += 1;
anOption = $(selectOptions[index + empties]);
}
anOption.prop("selected", $(this).prop("checked"));
});
// update the text shown in the control
self._updateControlText();
// Ensure the focus stays pointing where the user is working
if ( senderCheckbox != null) { senderCheckbox.focus(); }
},
_sourceSelectChangeHandler: function(event) {
var self = this, dropWrapper = this.dropWrapper;
dropWrapper.find("input").val(self.sourceSelect.val());
// update the text shown in the control
self._updateControlText();
},
// Updates the text shown in the control depending on the checked (selected) items
_updateControlText: function() {
var self = this, sourceSelect = this.sourceSelect, options = this.options, controlWrapper = this.controlWrapper;
var firstOption = sourceSelect.find("option:first");
var selectOptions = sourceSelect.find("option");
var text = self._formatText(selectOptions, options.firstItemChecksAll, firstOption);
var controlLabel = controlWrapper.find(".ui-dropdownchecklist-text");
controlLabel.html(text);
// the attribute needs naked text, not html
controlLabel.attr("title", controlLabel.text());
},
// Formats the text that is shown in the control
_formatText: function(selectOptions, firstItemChecksAll, firstOption) {
var text;
if ( $.isFunction(this.options.textFormatFunction) ) {
// let the callback do the formatting, but do not allow it to fail
try {
text = this.options.textFormatFunction(selectOptions);
} catch(ex) {
alert( 'textFormatFunction failed: ' + ex );
}
} else if (firstItemChecksAll && (firstOption != null) && firstOption.prop("selected")) {
// just set the text from the first item
text = firstOption.html();
} else {
// concatenate the text from the checked items
text = "";
selectOptions.each(function() {
if ($(this).prop("selected")) {
if ( text != "" ) { text += ", "; }
/* NOTE use of .html versus .text, which can screw up ampersands for IE */
var optCss = $(this).attr('style');
var tempspan = $('<span/>');
tempspan.html( $(this).html() );
if ( optCss == null ) {
text += tempspan.html();
} else {
tempspan.attr('style',optCss);
text += $("<span/>").append(tempspan).html();
}
}
});
if ( text == "" ) {
text = (this.options.emptyText != null) ? this.options.emptyText : "&nbsp;";
}
}
return text;
},
// Shows and hides the drop container
_toggleDropContainer: function( makeOpen ) {
var self = this;
// hides the last shown drop container
var hide = function(instance) {
if ((instance != null) && instance.dropWrapper.isOpen ){
instance.dropWrapper.isOpen = false;
$.ui.dropdownchecklist.gLastOpened = null;
var config = instance.options;
instance.dropWrapper.css({
top: "-33000px",
left: "-33000px"
});
var aControl = instance.controlSelector;
aControl.removeClass("ui-state-active");
aControl.removeClass("ui-state-hover");
var anIcon = instance.controlWrapper.find(".ui-icon");
if ( anIcon.length > 0 ) {
anIcon.removeClass( (config.icon.toClose != null) ? config.icon.toClose : "ui-icon-triangle-1-s");
anIcon.addClass( (config.icon.toOpen != null) ? config.icon.toOpen : "ui-icon-triangle-1-e");
}
$(document).unbind("click", hide);
// keep the items out of the tab order by disabling them
instance.dropWrapper.find("input.active").prop("disabled",true);
// the following blur just does not fire??? because it is hidden??? because it does not have focus???
//instance.sourceSelect.trigger("blur");
//instance.sourceSelect.triggerHandler("blur");
if($.isFunction(config.onComplete)) { try {
config.onComplete.call(instance,instance.sourceSelect.get(0));
} catch(ex) {
alert( 'callback failed: ' + ex );
}}
}
};
// shows the given drop container instance
var show = function(instance) {
if ( !instance.dropWrapper.isOpen ) {
instance.dropWrapper.isOpen = true;
$.ui.dropdownchecklist.gLastOpened = instance;
var config = instance.options;
/**** Issue127 (and the like) to correct positioning when parent element is relative
**** This positioning only worked with simple, non-relative parent position
instance.dropWrapper.css({
top: instance.controlWrapper.offset().top + instance.controlWrapper.outerHeight() + "px",
left: instance.controlWrapper.offset().left + "px"
});
****/
if ((config.positionHow == null) || (config.positionHow == 'absolute')) {
/** Floats above subsequent content, but does NOT scroll */
instance.dropWrapper.css({
position: 'absolute'
, top: instance.controlWrapper.position().top + instance.controlWrapper.outerHeight() + "px"
, left: instance.controlWrapper.position().left + "px"
});
} else if (config.positionHow == 'relative') {
/** Scrolls with the parent but does NOT float above subsequent content */
instance.dropWrapper.css({
position: 'relative'
, top: "0px"
, left: "0px"
});
}
var zIndex = 0;
if (config.zIndex == null) {
var ancestorsZIndexes = instance.controlWrapper.parents().map(
function() {
var zIndex = $(this).css("z-index");
return isNaN(zIndex) ? 0 : zIndex; }
).get();
var parentZIndex = Math.max.apply(Math, ancestorsZIndexes);
if ( parentZIndex >= 0) zIndex = parentZIndex+1;
} else {
/* Explicit set from the optins */
zIndex = parseInt(config.zIndex);
}
if (zIndex > 0) {
instance.dropWrapper.css( { 'z-index': zIndex } );
}
var aControl = instance.controlSelector;
aControl.addClass("ui-state-active");
aControl.removeClass("ui-state-hover");
var anIcon = instance.controlWrapper.find(".ui-icon");
if ( anIcon.length > 0 ) {
anIcon.removeClass( (config.icon.toOpen != null) ? config.icon.toOpen : "ui-icon-triangle-1-e");
anIcon.addClass( (config.icon.toClose != null) ? config.icon.toClose : "ui-icon-triangle-1-s");
}
$(document).bind("click", function(e) {hide(instance);} );
// insert the items back into the tab order by enabling all active ones
var activeItems = instance.dropWrapper.find("input.active");
activeItems.prop("disabled",false);
// we want the focus on the first active input item
var firstActiveItem = activeItems.get(0);
if ( firstActiveItem != null ) {
firstActiveItem.focus();
}
}
};
if ( makeOpen ) {
hide($.ui.dropdownchecklist.gLastOpened);
show(self);
} else {
hide(self);
}
},
// Set the size of the control and of the drop container
_setSize: function(dropCalculatedSize) {
var options = this.options, dropWrapper = this.dropWrapper, controlWrapper = this.controlWrapper;
// use the width from config options if set, otherwise set the same width as the drop container
var controlWidth = dropCalculatedSize.width;
if (options.width != null) {
controlWidth = parseInt(options.width);
} else if (options.minWidth != null) {
var minWidth = parseInt(options.minWidth);
// if the width is too small (usually when there are no items) set a minimum width
if (controlWidth < minWidth) {
controlWidth = minWidth;
}
}
var control = this.controlSelector;
control.css({ width: controlWidth + "px" });
// if we size the text, then Firefox places icons to the right properly
// and we do not wrap on long lines
var controlText = control.find(".ui-dropdownchecklist-text");
var controlIcon = control.find(".ui-icon");
if ( controlIcon != null ) {
// Must be an inner/outer/border problem, but IE6 needs an extra bit of space,
// otherwise you can get text pushed down into a second line when icons are active
controlWidth -= (controlIcon.outerWidth() + 4);
controlText.css( { width: controlWidth + "px" } );
}
// Account for padding, borders, etc
controlWidth = controlWrapper.outerWidth();
// the drop container height can be set from options
var maxDropHeight = (options.maxDropHeight != null)
? parseInt(options.maxDropHeight)
: -1;
var dropHeight = ((maxDropHeight > 0) && (dropCalculatedSize.height > maxDropHeight))
? maxDropHeight
: dropCalculatedSize.height;
// ensure the drop container is not less than the control width (would be ugly)
var dropWidth = dropCalculatedSize.width < controlWidth ? controlWidth : dropCalculatedSize.width;
$(dropWrapper).css({
height: dropHeight + "px",
width: dropWidth + "px"
});
dropWrapper.find(".ui-dropdownchecklist-dropcontainer").css({
height: dropHeight + "px"
});
},
// Initializes the plugin
_init: function() {
var self = this, options = this.options;
if ( $.ui.dropdownchecklist.gIDCounter == null) {
$.ui.dropdownchecklist.gIDCounter = 1;
}
// item blurring relies on a cancelable timer
self.blurringItem = null;
// sourceSelect is the select on which the plugin is applied
var sourceSelect = self.element;
self.initialDisplay = sourceSelect.css("display");
sourceSelect.css("display", "none");
self.initialMultiple = sourceSelect.prop("multiple");
self.isMultiple = self.initialMultiple;
if (options.forceMultiple != null) { self.isMultiple = options.forceMultiple; }
sourceSelect.prop("multiple", true);
self.sourceSelect = sourceSelect;
// append the control that resembles a single selection select
var controlWrapper = self._appendControl();
self.controlWrapper = controlWrapper;
self.controlSelector = controlWrapper.find(".ui-dropdownchecklist-selector");
// create the drop container where the items are shown
var dropWrapper = self._appendDropContainer(controlWrapper);
self.dropWrapper = dropWrapper;
// append the items from the source select element
var dropCalculatedSize = self._appendItems();
// updates the text shown in the control
self._updateControlText(controlWrapper, dropWrapper, sourceSelect);
// set the sizes of control and drop container
self._setSize(dropCalculatedSize);
// look for possible auto-check needed on first item
if ( options.firstItemChecksAll ) {
self._syncSelected(null);
}
// BGIFrame for IE6
if (options.bgiframe && typeof self.dropWrapper.bgiframe == "function") {
self.dropWrapper.bgiframe();
}
// listen for change events on the source select element
// ensure we avoid processing internally triggered changes
self.sourceSelect.change(function(event, eventName) {
if (eventName != 'ddcl_internal') {
self._sourceSelectChangeHandler(event);
}
});
},
// Refresh the disable and check state from the underlying control
_refreshOption: function(item,disabled,selected) {
var aParent = item.parent();
// account for enabled/disabled
if ( disabled ) {
item.prop("disabled",true);
item.removeClass("active");
item.addClass("inactive");
aParent.addClass("ui-state-disabled");
} else {
item.prop("disabled",false);
item.removeClass("inactive");
item.addClass("active");
aParent.removeClass("ui-state-disabled");
}
// adjust the checkbox state
item.prop("checked",selected);
},
_refreshGroup: function(group,disabled) {
if ( disabled ) {
group.addClass("ui-state-disabled");
} else {
group.removeClass("ui-state-disabled");
}
},
// External command to explicitly close the dropdown
close: function() {
this._toggleDropContainer(false);
},
// External command to refresh the ddcl from the underlying selector
refresh: function() {
var self = this, sourceSelect = this.sourceSelect, dropWrapper = this.dropWrapper;
var allCheckBoxes = dropWrapper.find("input");
var allGroups = dropWrapper.find(".ui-dropdownchecklist-group");
var groupCount = 0;
var optionCount = 0;
sourceSelect.children().each(function(index) {
var opt = $(this);
var disabled = opt.prop("disabled");
if (opt.is("option")) {
var selected = opt.prop("selected");
var anItem = $(allCheckBoxes[optionCount]);
self._refreshOption(anItem, disabled, selected);
optionCount += 1;
} else if (opt.is("optgroup")) {
var text = opt.attr("label");
if (text != "") {
var aGroup = $(allGroups[groupCount]);
self._refreshGroup(aGroup, disabled);
groupCount += 1;
}
opt.children("option").each(function() {
var subopt = $(this);
var subdisabled = (disabled || subopt.prop("disabled"));
var selected = subopt.prop("selected");
var subItem = $(allCheckBoxes[optionCount]);
self._refreshOption(subItem, subdisabled, selected );
optionCount += 1;
});
}
});
// sync will handle firstItemChecksAll and updateControlText
self._syncSelected(null);
},
// External command to enable the ddcl control
enable: function() {
this.controlSelector.removeClass("ui-state-disabled");
this.disabled = false;
},
// External command to disable the ddcl control
disable: function() {
this.controlSelector.addClass("ui-state-disabled");
this.disabled = true;
},
// External command to destroy all traces of the ddcl control
destroy: function() {
$.Widget.prototype.destroy.apply(this, arguments);
this.sourceSelect.css("display", this.initialDisplay);
this.sourceSelect.prop("multiple", this.initialMultiple);
this.controlWrapper.unbind().remove();
this.dropWrapper.remove();
}
});
$.extend($.ui.dropdownchecklist, {
defaults: {
width: null
, maxDropHeight: null
, firstItemChecksAll: false
, closeRadioOnClick: false
, minWidth: 50
, positionHow: 'absolute'
, bgiframe: false
, explicitClose: null
}
});
})(jQuery);
\ No newline at end of file
function onLoadFun()
{
document.getElementById("loading").style.visibility = "hidden";
document.getElementById("loading").innerHTML = "<img id=\"loading-image\" src=\"../images/loading.gif\" alt=\"Loading...\"/>";
doOperation("VIEW");
}
function doAction(action)
{
if((document.getElementById("comment").value != "" && document.getElementById("comment").value != null) || action == "VIEW")
{
doOperation(action);
}
}
function doOperation(action)
{
var xmlHttpReq = false;
var self = this;
// Xhr per Mozilla/Safari/Ie7
if (window.XMLHttpRequest)
{
self.xmlHttpReq = new XMLHttpRequest();
}
// per tutte le altre versioni di IE
else if (window.ActiveXObject)
{
self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
}
self.xmlHttpReq.open("POST", "/ibase/E12TransCommentsServlet", true);
self.xmlHttpReq.setRequestHeader("Content-Type",
"application/x-www-form-urlencoded");
self.xmlHttpReq.onreadystatechange = function()
{
if (self.xmlHttpReq.readyState == 4)
{
if(action == "VIEW")
{
document.getElementById("loading").style.visibility = "hidden";
}
showMessage(self.xmlHttpReq.responseText,action);
}
else
{
if(action == "VIEW")
{
document.getElementById("loading").style.visibility = "visible";
}
}
}
self.xmlHttpReq.send(getParamValue(action));
}
function getParamValue(action)
{
var paramString = "";
paramString = "REF_SER="+document.getElementById("REF_SER").value;
paramString += "&TRAN_ID="+document.getElementById("TRAN_ID").value;
if(action == "ADD")
{
paramString += "&ACTION=ADD";
paramString += "&COMMENT="+document.getElementById("comment").value;
}
else
{
paramString += "&ACTION=VIEW";
}
return paramString;
}
function showMessage(msg,action)
{
if (window.DOMParser)
{
parser=new DOMParser();
xmlDoc=parser.parseFromString(msg,"text/xml");
}
else // Internet Explorer
{
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false;
xmlDoc.loadXML(msg);
}
if(action == "ADD")
{
if(xmlDoc.getElementsByTagName("RESULT")[0].childNodes[0].nodeValue == "Success")
{
parent.E12ExistingComments.location.reload();
}
}
else
{
var doc = xmlDoc.getElementsByTagName("COMMENTS")[0].childNodes;
if(doc != null)
{
if(doc.length == 0)
{
document.getElementById("viewCommentsDivSub2").innerHTML = "<hr/><div>No Comments.</div><hr/>";
}
else
{
document.getElementById("viewCommentsDivSub2").innerHTML = "<hr/>";
for ( i = 0 ; i < doc.length ; i++)
{
value = doc[i].childNodes[0];
if(value != undefined || value != null)
{
document.getElementById("viewCommentsDivSub2").innerHTML += "<div class=\"comment\" id=\"comment\">" + doc[i].childNodes[0].nodeValue + "</div><hr/>"
}
}
}
}
else
{
document.getElementById("viewCommentsDivSub2").innerHTML = "<hr/><div>No Comments.</div><hr/>";
}
}
}
\ No newline at end of file
/**********************************************************************************
WindowScript
* Copyright (C) 2001 <a href="/dhtmlcentral/thomas_brattli.asp">Thomas Brattli</a>
* This script was released at DHTMLCentral.com
* Visit for more great scripts!
* This may be used and changed freely as long as this msg is intact!
* We will also appreciate any links you could give us.
*
* Made by <a href="/dhtmlcentral/thomas_brattli.asp">Thomas Brattli</a>
*********************************************************************************/
var test;
function lib_bwcheck(){ //Browsercheck (needed)
this.ver=navigator.appVersion
this.agent=navigator.userAgent
this.dom=document.getElementById?1:0
this.opera5=this.agent.indexOf("Opera 5")>-1
this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom && !this.opera5)?1:0;
this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom && !this.opera5)?1:0;
this.ie4=(document.all && !this.dom && !this.opera5)?1:0;
this.ie=this.ie4||this.ie5||this.ie6
this.mac=this.agent.indexOf("Mac")>-1
this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0;
this.ns4=(document.layers && !this.dom)?1:0;
this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.opera5)
return this
}
var bw=new lib_bwcheck()
var oWin=new Array; oWin.zIndex=10; oWin.dragobj=-1; oWin.resizeobj=-1; oWin.zIndex=100
//Start Variables to set ******************************************************************
//This script works in IE4+, NS4+ and Opera5.
//Just remember that NS4 and Opera5 does not reflow the content when you resize the windows.
/*
oWin.bordercolor="#3BB3C3" //Remember that you have to change the images as well if you change this color
oWin.bgcolor="white" //Default background color
oWin.bgcoloron="yellow" //The "active" background color */
oWin.bgscroll="#A2D3DB" //The background-color for the scroll area"
//The rest of the style variables have to be set in the stylesheet above.
//To change styles on the text change .clText
//If you change these variables I assume you would like to change the images, image sizes and the imagemap for
//the windows. If so you'll have to do that manually in the addWindow function for now.
oWin.bottomh=1 //The height of the bottom "border"
oWin.headh=15 //The height of the head "border"
oWin.bordersize=1 //The left and right bordersize
oWin.scrollw=13 //The width of the scroll area
oWin.scrollimgh=12 //The width of the scroll images
oWin.buttonsw=39 //The width of the buttons image
oWin.resizeh=9 //The width of the resize img
oWin.resizew=13 //The height of the resize img
oWin.starty=5 //If you have a header or something on the page that you want the setWindows and the dragdrop to care about set it here.
oWin.defwidth=200 //Default width for the windows if nothing is spesified
oWin.defheight=200 //Default height for the windows if nothing is spesified
oWin.between=15 //This variable controls how much space there will be between the windows when you use setWindows
//Set this variable to 1 if you want to be able to control the area the windows can be scrolled.
oWin.keepinside=0 //VALUE: 1 || 0
oWin.maxX=500 //This is the maximum X value the windows can go to. Set this to "winpage.x2" to keep them inside the window. VALUE: "winpage.x2" || px
oWin.maxY=500 //This is the maximum Y value the windows can go to. Set this to "winpage.y2" to keep them inside the window. VALUE: "winpage.y2" || px
oWin.minX=50 //This is the minimun X value the windows can go to. Set to 0 to keep them inside the window. VALUE: px
oWin.minY=50 //This is the minimum Y value the windows can go to. Set to 0 to keep them inside the window. VALUE: px
//In the next version of this script all variables can be set on each individual window as well
//End Variables to set ********************************************************************
function lib_bwcheck(){ //Browsercheck (needed)
this.ver=navigator.appVersion
this.agent=navigator.userAgent
this.dom=document.getElementById?1:0
this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom)?1:0;
this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom)?1:0;
this.ie4=(document.all && !this.dom)?1:0;
this.ie=this.ie4||this.ie5||this.ie6
this.mac=this.agent.indexOf("Mac")>-1
this.opera5=this.agent.indexOf("Opera 5")>-1
this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0;
this.ns4=(document.layers && !this.dom)?1:0;
this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.opera5)
return this
}
var bw=new lib_bwcheck();
//Uncomment the next line if you want the user to be sent to another page if he's using an old browser
//if(!bw.bw) location.href='sorry.html'
function lib_doc_size(){ //Page positions - needed!
//Changed by HATIM on 03/10/2007 [for compatibility for IE7 - variables defined]
var innerWidth=0,innerHeight=0;
this.x=0;this.x2=bw.ie && document.body.offsetWidth-20||innerWidth||0;
if(bw.ns6) this.x2-=2
this.y=0;this.y2=bw.ie && document.body.offsetHeight-5||innerHeight||0;
if(bw.ns6) this.y2-=4
//Changed by HATIM on 03/10/2007 [for compatibility for IE7 - commented]
//if(!this.x2||!this.y2) return lib_message('Document has no width or height')
if(!this.x2||!this.y2) return 'Document has no width or height';
this.x50=this.x2/2; this.y50=this.y2/2;
this.x10=(this.x2*10)/100;this.y10=(this.y2*10)/100
this.ytop=140*100/this.y2
this.avail=(this.y2*(100-this.ytop))/100
this.origy=this.y2
return this;
}
function lib_moveIt(x,y){this.x=x;this.y=y; this.css.left=x;this.css.top=y}
function lib_moveBy(x,y){this.moveIt(this.x+x,this.y+y)}
function lib_showIt(){this.css.visibility="visible"}
function lib_hideIt(){this.css.visibility="hidden"}
function lib_bg(color) {
if(bw.opera5) this.css.background=color
else if(bw.dom || bw.ie4) this.css.backgroundColor=color
else if(bw.ns4) this.css.bgColor=color
}
function lib_clipTo(t,r,b,l,setwidth){
if(t<0)t=0;if(r<0)r=0;if(b<0)b=0;if(b<0)b=0
this.ct=t; this.cr=r; this.cb=b; this.cl=l
if(bw.ns4){
this.css.clip.top=t;this.css.clip.right=r
this.css.clip.bottom=b;this.css.clip.left=l
}else if(bw.opera5){this.css.pixelWidth=r; this.css.pixelHeight=b; this.w=r; this.h=b
}else{
this.css.clip="rect("+t+","+r+","+b+","+l+")";
if(setwidth){this.css.width=r; this.css.height=b; this.w=r; this.h=b}
}
}
function lib_writeIt(text,startHTML,endHTML){
if(bw.ns4){
if(!startHTML){startHTML=""; endHTML=""}
this.ref.open("text/html"); this.ref.write(startHTML+text+endHTML); this.ref.close()
}else this.evnt.innerHTML=text
}
//Default lib functions
function lib_obj(obj,nest,dnest,ddnest,num){
//Changed by HATIM on 03/10/2007 [for compatibility for IE7 - commented]
//if(!bw.bw) return lib_message('Old browser')
if(!bw.ns4) this.evnt=bw.dom && document.getElementById(obj)||bw.ie4 && document.all[obj]
else{
if(ddnest){this.evnt=document[nest].document[dnest].document[ddnest].document[obj]?document[nest].document[dnest].document[ddnest].document[obj]:0;
}else if(dnest){this.evnt=document[nest].document[dnest].document[obj]?document[nest].document[dnest].document[obj]:0;
}else if(nest){this.evnt=document[nest].document[obj]?document[nest].document[obj]:0;
}else{this.evnt=document.layers[obj]?document.layers[obj]:0;}
}
if(!this.evnt) return lib_message('The layer does not exist ('+obj+') - Exiting script\n\nIf your using Netscape please check the nesting of your tags!')
this.css=bw.dom||bw.ie4?this.evnt.style:this.evnt;
this.ref=bw.dom||bw.ie4?document:this.css.document;
this.moveIt=lib_moveIt; this.moveBy=lib_moveBy;
this.showIt=lib_showIt; this.hideIt=lib_hideIt;
this.bg=lib_bg; this.num=num; this.writeIt=lib_writeIt;
this.clipTo=lib_clipTo; this.obj = obj + "Object"; eval(this.obj + "=this")
return this
}
/*****************************************************************************
Creating windows
*****************************************************************************/
function create_window(i,x,y,w,h,bg,bga){
if(!w) w=oWin.defwidth; if(!h) h=oWin.defheight;
if(!bg) bg=oWin.bgcolor; if(!bga) bga=oWin.bgcoloron;
oWin[i]=new lib_obj('divWin'+i,"","","",i);
oWin[i].oWindow=new lib_obj('divWindow'+i,'divWin'+i);
oWin[i].oWindow.moveIt(oWin.bordersize,oWin.headh);
oWin[i].oText=new lib_obj('divWinText'+i,'divWin'+i,'divWindow'+i)
oWin[i].oHead=new lib_obj('divWinHead'+i,'divWin'+i)
oWin[i].oButtons=new lib_obj('divWinButtons'+i,'divWin'+i)
oWin[i].oResize=new lib_obj('divWinResize'+i,'divWin'+i)
oWin[i].oHead.evnt.onmouseover=new Function("w_mmover("+i+")")
oWin[i].oHead.evnt.onmouseout=new Function("w_mmout()")
if(!bw.ns4) oWin[i].oHead.evnt.ondblclick=new Function("mdblclick(0,"+i+")")
oWin[i].oResize.evnt.onmouseover=new Function("w_mmover("+i+",1)")
oWin[i].oResize.evnt.onmouseout=new Function("w_mmout()")
if(!bw.ns4){
oWin[i].oHead.css.cursor="move"; oWin[i].oResize.css.cursor="w-resize"
oWin[i].oWindow.css.overflow="hidden"; oWin[i].css.overflow="hidden"
oWin[i].oText.css.overflow="hidden"
}
oWin[i].defbg=bg; oWin[i].defbga=bga
oWin[i].bg(oWin.bordercolor); oWin[i].oWindow.bg(oWin[i].defbg)
oWin[i].oUp=new lib_obj('divWinUp'+i,'divWin'+i); oWin[i].oDown=new lib_obj('divWinDown'+i,'divWin'+i)
oWin[i].oUp.bg(oWin.bgscroll); oWin[i].oDown.bg(oWin.bgscroll);
oWin[i].lastx=x;oWin[i].lasty=y;oWin[i].origw=w; oWin[i].origh=h
oWin[i].resize=win_resize; oWin[i].close=win_close; oWin[i].maximize=win_maximize;
oWin[i].minimize=win_minimize; oWin[i].regwin=win_regwin; oWin[i].checkscroll=win_checkscroll;
oWin[i].up=win_up; oWin[i].down=win_down; oWin[i].addZ=win_addZ; oWin[i].state="reg"
oWin[i].moveIt(x,y); oWin[i].resize(w,h); oWin[i].checkscroll();
if(bw.opera5) setTimeout("oWin["+i+"].resize("+w+","+h+"); oWin["+i+"].showIt()",10)
else oWin[i].showIt()
}
/*****************************************************************************
Window functions
*****************************************************************************/
function win_regwin(){
this.oResize.css.visibility="inherit"
this.resize(this.origw,this.origh)
this.moveIt(this.lastx,this.lasty)
this.state="reg"; this.addZ()
this.checkscroll()
}
function win_maximize(){
if(this.state!="max"){
if(this.state!="min"){this.lastx=this.x; this.lasty=this.y}
mw=winpage.x2 - 10; mh=winpage.y2 - 10 - oWin.starty
this.moveIt(5,5+oWin.starty,30,10)
this.resize(mw,mh); this.oResize.showIt(); this.state="max"
this.addZ()
}else this.regwin()
}
function win_minimize(){
if(this.state!="min"){ couns=0
if(this.state!="max"){this.lastx=this.x; this.lasty=this.y}
y=winpage.y2-oWin.headh; ox=winpage.x2-126; a=0
for(i=0;i<wins;i++){
x=i*125; ok=a
if(a*125>ox){if(ox>126) i=0; a=0; y-=oWin.headh; x=0}
for(j=0;j<wins;j++){
couns++; if(oWin[j].x==x && oWin[j].y==y) a++
}if(a==ok) break;
}x=a*125;
this.moveIt(x,y); this.oResize.hideIt()
this.state="min"; this.resize(125,oWin.headh)
}else this.regwin()
}
function win_close(){this.hideIt(); this.oUp.hideIt(); this.oDown.hideIt()}
function win_resize(w,h){
this.oButtons.moveIt(w-oWin.buttonsw,0); this.oResize.moveIt(w-oWin.resizew,h-oWin.resizeh)
this.oWindow.clipTo(0,w-oWin.bordersize*2,h-oWin.bottomh-oWin.headh,0,1); this.clipTo(0,w,h,0,1)
this.oHead.clipTo(0,w,oWin.headh,0,1); this.oText.moveIt(2,3)
this.oUp.hideIt(); this.oDown.hideIt()
}
function win_checkscroll(w,h){
this.oText.height=this.oText.evnt.offsetHeight||this.oText.css.pixelHeight||this.oText.ref.height||0
w=this.cr; h=this.cb
if(this.oText.height>h-oWin.bottomh-oWin.headh && this.state!="min"){
this.oWindow.clipTo(0,w-oWin.scrollw-oWin.bordersize*2,h-oWin.bottomh-oWin.headh,0,1);
this.oUp.moveIt(w-oWin.scrollw,oWin.headh)
this.oUp.clipTo(0,oWin.scrollw-oWin.bordersize,h-oWin.bottomh-oWin.scrollimgh-oWin.headh,0,1);
this.oDown.moveIt(w-oWin.scrollw,h-oWin.bottomh-oWin.scrollimgh)
this.oDown.clipTo(0,oWin.scrollw-oWin.bordersize,oWin.scrollimgh,0,1); this.oUp.showIt()
this.oDown.showIt()
}else{this.oUp.hideIt(); this.oDown.hideIt()}
}
var sctim=100;
var winScroll;
function win_up(){
clearTimeout(sctim);
var ht = document.getElementById(this.oText.evnt.id).style.height;
if(document.getElementById(this.oText.evnt.id).value == "true")
{
this.oText.height = parseInt(ht.substring(0,ht.length-2))
}
if(this.oText.y>=this.oWindow.cb-this.oText.height-10 && winScroll){
this.oText.moveBy(0,-8);
setTimeout(this.obj+".up()",30)
}
}
function win_down(){
clearTimeout(sctim);
if(this.oText.y<=0 && winScroll){
this.oText.moveBy(0,8);
setTimeout(this.obj+".down()",30)
}
}
function noScroll(){clearTimeout(sctim);winScroll=false}
function win_addZ(){oWin.zIndex++; this.css.zIndex=oWin.zIndex}
/*****************************************************************************
Initiating winpage
*****************************************************************************/
function win_init(){
if(document.layers){
document.captureEvents(Event.MOUSEMOVE | Event.MOUSEDOWN | Event.MOUSEUP | Event.DBLCLICK)
document.ondblclick=mdblclick;
}
document.onmousemove=mmove;document.onmousedown=mdown;document.onmouseup=mup;
}
/*****************************************************************************
Event functions
*****************************************************************************/
function w_mmover(num,resize){if(!resize) oWin.dragover=num; else oWin.resizeover=num}
function w_mmout(){oWin.dragover=-1; oWin.resizeover=-1}
function mup(e){ //Mouseup
// alert(oWin.dragobj);
if((oWin.dragobj!=-1 || oWin.resizeobj!=-1) && oWin.setposition) setPos();
if(oWin.dragobj!=-1){oWin[oWin.dragobj].lastx=oWin[oWin.dragobj].x; oWin[oWin.dragobj].lasty=oWin[oWin.dragobj].y}
oWin.dragobj=-1
if(oWin.resizeobj!=-1){
oWin[oWin.resizeobj].checkscroll()
oWin[oWin.resizeobj].origw=oWin[oWin.resizeobj].cr
oWin[oWin.resizeobj].origh=oWin[oWin.resizeobj].cb
}else if(bw.ns4) routeEvent(e)
oWin.resizeobj=-1
}
function mdown(e){ //Mousedown
x=(bw.ns4 || bw.ns6)?e.pageX:event.x||event.clientX
y=(bw.ns4 || bw.ns6)?e.pageY:event.y||event.clientY
if(bw.ie5 || bw.ie6) y+=document.body.scrollTop
id1=oWin.dragover
id2=oWin.resizeover
if(id1>-1 || id2>-1){
if(id2>-1){ id=id2; oWin.resizeobj=id;
}else{
id=id1; oWin.dragobj=id
oWin.clickedX=x-oWin[id].x;
oWin.clickedY=y-oWin[id].y
}
oWin[id].addZ()
//Setting background-colors
for(i=0;i<wins;i++){
if(i!=id1&&i!=id2){
oWin[i].oWindow.bg(oWin[i].defbg)
}else oWin[i].oWindow.bg(oWin[i].defbga)
}
}else if(bw.ns4) routeEvent(e)
if(!bw.ns4) return false
}
function mmove(e,y,rresize){ //Mousemove
x=(bw.ns4 || bw.ns6)?e.pageX:event.x||event.clientX
y=(bw.ns4 || bw.ns6)?e.pageY:event.y||event.clientY
if(bw.ie5 || bw.ie6) y+=document.body.scrollTop
id1=oWin.dragobj
id2=oWin.resizeobj
if(id2>-1){ //Resize
nx=x; ny=y
oldw=oWin[id2].cr; oldh=oWin[id2].cb
cw= nx -oWin[id2].x; ch= ny - oWin[id2].y
if(cw<120) cw=120; if(ch<100) ch=100
oWin[id2].resize(cw,ch)
}else if(id1>-1){ //Move
nx=x-oWin.clickedX;
ny=y-oWin.clickedY
if(ny<oWin.starty) ny=oWin.starty
if(oWin.keepinside){
if(nx+oWin[id1].cr>eval(oWin.maxX)) nx=eval(oWin.maxX)-oWin[id1].cr
else if(nx<eval(oWin.minX)) nx=eval(oWin.minX)
if(ny+oWin[id1].cb>eval(oWin.maxY)) ny=eval(oWin.maxY)-oWin[id1].cb
else if(ny<eval(oWin.minY)) ny=eval(oWin.minY)
}
oWin[id1].moveIt(nx,ny)
if(oWin[id].state==0){oWin[id].lastx=nx; oWin[id].lasty=ny}
}
if(!bw.ns4) return false
}
function mdblclick(e,num){if(num>-1) oWin[num].maximize(); else if(oWin.dragover>-1) oWin[oWin.dragover].maximize()}
function setWindows(placeit,rez){
between=oWin.between
oWin.rows=Math.round((wins/3)+0.2)
oWin.columns=1
j=0;a=0;c=0;
for(i=0;i<wins;i++){
if(j==oWin.columns-1){
oWin.columns=wins-a<3?wins-a:wins-a==4?2:3
if(wins!=1 && a!=0) c++; j=0
}else if(a!=0) j++
oWin[i].origw=(winpage.x2-between-(between*oWin.columns))/oWin.columns
oWin[i].origh=((winpage.y2-3-oWin.starty-(between*oWin.rows))/oWin.rows)
oWin[i].lastx=oWin[i].origx=oWin[i].origw*(j)+(between*j)+between
oWin[i].lasty=oWin[i].origy=oWin[i].origh*c+(between*c) + oWin.starty
oWin[i].resize(oWin[i].origw,oWin[i].origh); oWin[i].moveIt(oWin[i].lastx,oWin[i].lasty)
oWin[i].showIt(); a++;
}
}
/*****************************************************************************
Adding window to winpage!
*****************************************************************************/
var lastx,lasty,lastw,lasth
function addWindow(heading,content,x,y,w,h,bg,bga){
titles[titleindex]=heading;
titleindex++;
var num=oWin.length; wins=num+1; var str=""
str+='<div id="divWin'+num+'" class="clWin">\n'
//str+='<div class="clLogo"><img alt="Window Script from DHTMLCentral.com" src="win_logo.gif" width="19" height="18" alt="" border="0" align="top"></div>\n'
+'<div id="divWinHead'+num+'" class="clWinHead"> '+"&nbsp;&nbsp;&nbsp;&nbsp;"+heading+'</div>\n'
+'<div id="divWinButtons'+num+'" class="clWinButtons">\n'
+'<map name="map'+num+'">\n'
+'<area shape="rect" coords="26,2,35,11" href="#" alt="Window Script from DHTMLCentral.com" onclick="oWin['+num+'].close(); return false">\n'
+'<area shape="rect" coords="14,2,23,11" href="#" alt="Window Script from DHTMLCentral.com" onClick="oWin['+num+'].maximize(); return false">\n'
+'<area shape="rect" coords="2,2,11,11" href="#" alt="Window Script from DHTMLCentral.com" onClick="oWin['+num+'].minimize(); return false">\n'
+'</map>\n'
+'<img usemap="#map'+num+'" alt="Window Script from DHTMLCentral.com" src="../../images/buttons.gif" width="38" height="14" alt="" border="0">\n'
+'</div>\n'
+'<div id="divWinResize'+num+'" class="clWinResize">\n'
+'</div>\n'
+'<div id="divWindow'+num+'" class="clWindow">\n'
+'<div id="divWinText'+num+'" value="false" class="clText">'
if(content){
str+=content+'</div>\n'
+'</div>\n'
+'<div id="divWinUp'+num+'" class="clUp"><a href="#" onclick="return false" onmouseover="winScroll=1; oWin['+num+'].down();" onmouseout="noScroll()"><img src="../../images/arrow_up.gif" width="11" height="12" alt="" border="0"></a></div>\n'
+'<div id="divWinDown'+num+'" class="clDown"><a href="#" onclick="return false" onmouseover="winScroll=1; oWin['+num+'].up();" onmouseout="noScroll()"><img src="../../images/arrow_down.gif" width="11" height="12" alt="" border="0"></a></div>\n'
+'</div>'
}
document.write(str)
if(content) create_window(num,x,y,w,h,bg,bga)
}
function endWin(){
num=wins-1
str='\n</div>\n'
+'</div>\n'
+'<div id="divWinUp'+num+'" class="clUp"><a href="#" onclick="return false" onmouseover="winScroll=1; oWin['+num+'].down();" onmouseout="noScroll()"><img src="../../images/arrow_up.gif" width="11" height="12" alt="" border="0"></a></div>\n'
+'<div id="divWinDown'+num+'" class="clDown"><a href="#" onclick="return false" onmouseover="winScroll=1; oWin['+num+'].up();" onmouseout="noScroll()"><img src="../../images/arrow_down.gif" width="11" height="12" alt="" border="0"></a></div>\n'
+'</div>'
return str
}
\ No newline at end of file
var currentDomName = "";
function onLoadWindow()
{
document.getElementById("popupFooter").innerHTML = document.getElementById("popupFooter").innerHTML + "Enter-Set Value <b class=\"seperator\">||</b> Esc- Cancel <b class=\"seperator\">||</b> UP & DOWN arrow - Navigation";
var table = document.getElementById("popupTable");
var tableLength = table.rows.length;
if(table.rows.length == 0)
{
try
{
table.getElementsByTagName("td")[0].style.width = "300px";
table.getElementsByTagName("td")[0].style.height = "250px";
table.getElementsByTagName("td")[0].innerHTML = "<center>NO DATA FOUND</center>";
}
catch(err)
{}
}
try
{
var table = document.getElementById("popupTable");
for( i = 0 ;i<table.rows.length ; i++)
{
table.rows[i].className = "deSelectedRow";
table.rows[i].children[1].children[0].className = "popupField";
for(j = 2; j<table.rows[i].cells.length ; j++)
{
table.rows[i].children[j].children[0].className = "popupFieldDisable";
}
}
var currentfield = table.rows[0].children[0].children[0];
currentfield.checked = true;
var currentfield = table.rows[0].children[1].children[0];
focusRow(table,currentfield);
currentfield.focus();
}
catch(err){}
}
document.onkeydown = onKeypressEvent;
function onKeypressEvent(e)
{
var keyID = (window.event) ? event.keyCode : e.keyCode;
switch (keyID)
{
//Esc Key
case 27:
var loc = window.location.href;
var pos = loc.indexOf("FIELDNAME=");
var pos1 = loc.indexOf("&OBJ_NAME");
fieldId = loc.substring(pos+10,pos1);
parent.closePopWindow(fieldId);
return false;
break;
}
return true;
}
function onLoadCalculator()
{
document.getElementById("popupFooter").innerHTML = "Esc- Exit";
}
function checkEvent( field,e )
{
var table = document.getElementById("popupTable");
var tableLength = table.rows.length;
var keyID = (window.event) ? event.keyCode : e.keyCode;
switch (keyID)
{
//Down Key
case 40:
var curRowId = field.parentNode.parentNode.rowIndex;
if(curRowId == (tableLength - 1))
{
currentfield = table.rows[0].children[0].children[0];
currentfield.checked = true;
currentfield = table.rows[0].children[1].children[0];
focusRow(table,currentfield);
currentfield.focus();
}
else
{
var currentfield = table.rows[curRowId+1].children[0].children[0];
currentfield.checked = true;
currentfield = table.rows[curRowId+1].children[1].children[0];
focusRow(table,currentfield);
currentfield.focus();
}
return false;
break;
//TAB key
case 9:
var curRowId = field.parentNode.parentNode.rowIndex;
if(e.shiftKey)
{
if(curRowId == 0)
{
currentfield = table.rows[tableLength-1].children[0].children[0];
currentfield.checked = true;
currentfield = table.rows[tableLength-1].children[1].children[0];
focusRow(table,currentfield);
currentfield.focus();
}
else
{
var currentfield = table.rows[curRowId-1].children[0].children[0];
currentfield.checked = true;
currentfield = table.rows[curRowId-1].children[1].children[0];
focusRow(table,currentfield);
currentfield.focus();
}
}
else
{
if(curRowId == (tableLength - 1))
{
currentfield = table.rows[0].children[0].children[0];
currentfield.checked = true;
currentfield = table.rows[0].children[1].children[0];
focusRow(table,currentfield);
currentfield.focus();
}
else
{
var currentfield = table.rows[curRowId+1].children[0].children[0];
currentfield.checked = true;
currentfield = table.rows[curRowId+1].children[1].children[0];
focusRow(table,currentfield);
currentfield.focus();
}
}
return false;
break;
//Up key
case 38:
var curRowId = field.parentNode.parentNode.rowIndex;
if(curRowId == 0)
{
currentfield = table.rows[tableLength-1].children[0].children[0];
currentfield.checked = true;
currentfield = table.rows[tableLength-1].children[1].children[0];
focusRow(table,currentfield);
currentfield.focus();
}
else
{
var currentfield = table.rows[curRowId-1].children[0].children[0];
currentfield.checked = true;
currentfield = table.rows[curRowId-1].children[1].children[0];
focusRow(table,currentfield);
currentfield.focus();
}
return false;
break;
//Page Down
case 34:
var curRowId = field.parentNode.parentNode.rowIndex;
if((parseInt(curRowId)+20) < tableLength )
{
currentfield = table.rows[curRowId+20].children[0].children[0];
currentfield.checked = true;
currentfield = table.rows[curRowId+20].children[1].children[0];
focusRow(table,currentfield);
currentfield.focus();
}
else
{
currentfield = table.rows[tableLength-1].children[0].children[0];
currentfield.checked = true;
currentfield = table.rows[tableLength-1].children[1].children[0];
focusRow(table,currentfield);
currentfield.focus();
}
return false;
break;
//Page UP
case 33:
var curRowId = field.parentNode.parentNode.rowIndex;
if((parseInt(curRowId)-20) > 0 )
{
currentfield = table.rows[curRowId-20].children[0].children[0];
currentfield.checked = true;
currentfield = table.rows[curRowId-20].children[1].children[0];
focusRow(table,currentfield);
currentfield.focus();
}
else
{
currentfield = table.rows[0].children[0].children[0];
currentfield.checked = true;
currentfield = table.rows[0].children[1].children[0];
focusRow(table,currentfield);
currentfield.focus();
}
return false;
break;
//Home Key
case 36:
currentfield = table.rows[0].children[0].children[0];
currentfield.checked = true;
currentfield = table.rows[0].children[1].children[0];
focusRow(table,currentfield);
currentfield.focus();
return false;
break;
//End Key
case 35:
currentfield = table.rows[tableLength-1].children[0].children[0];
currentfield.checked = true;
currentfield = table.rows[tableLength-1].children[1].children[0];
focusRow(table,currentfield);
currentfield.focus();
return false;
break;
//Esc Key
case 27:
onKeypressEvent(e);
return false;
break;
//Enter Key
case 13:
var loc = window.location.href;
var pos = loc.indexOf("FIELDNAME=");
var pos1 = loc.indexOf("&OBJ_NAME");
fieldId = loc.substring(pos+10,pos1);
domName = fieldId.substring(0,fieldId.lastIndexOf("."));
tableRowField = field.parentNode.parentNode;
parent.setPopValue(tableRowField,domName,fieldId);
parent.closePopWindow(fieldId);
return false;
break;
}
return false;
}
function onFocusFun(field)
{
var table = document.getElementById("popupTable");
var tableLength = table.rows.length;
var curRowId = field.parentNode.parentNode.rowIndex;
currentfield = table.rows[curRowId].children[0].children[0];
currentfield.checked = true;
currentfield = table.rows[curRowId].children[1].children[0];
focusRow(table,currentfield);
currentfield.focus();
return false;
}
function focusRow(table,currentfield)
{
currentfield.parentNode.parentNode.className = "selectRow";
currentfield.parentNode.parentNode.children[0].children[0].className = "selectRowField";
rowIndex1 = currentfield.parentNode.parentNode.rowIndex;
for(j = 2; j<table.rows[rowIndex1].cells.length ; j++)
{
currentfield.parentNode.parentNode.children[j].children[0].className = "selectRowFieldDisable";
}
}
function onblurFunction(field)
{
var table = document.getElementById("popupTable");
field.parentNode.parentNode.className = "deSelectedRow";
field.parentNode.parentNode.children[0].children[0].className = "popupField";
rowIndex1 = field.parentNode.parentNode.rowIndex;
for(j = 2; j<table.rows[rowIndex1].cells.length ; j++)
{
field.parentNode.parentNode.children[j].children[0].className = "popupFieldDisable";
}
}
function checkCalPopUpEvent(field,e)
{
var table = document.getElementById("popupTable");
var tableLength = table.rows.length;
var keyID = (window.event) ? event.keyCode : e.keyCode;
switch (keyID)
{
//Down Key
case 40:
var curRowId = field.parentNode.parentNode.rowIndex;
if(curRowId == (tableLength - 1))
{
currentfield = table.rows[0].children[1].children[0];
currentfield.focus();
}
else
{
currentfield = table.rows[curRowId+1].children[1].children[0];
currentfield.focus();
}
return false;
break;
//TAB key
case 9:
var curRowId = field.parentNode.parentNode.rowIndex;
if(e.shiftKey)
{
if(curRowId == 0)
{
currentfield = table.rows[tableLength-1].children[1].children[0];
currentfield.focus();
}
else
{
currentfield = table.rows[curRowId-1].children[1].children[0];
currentfield.focus();
}
}
else
{
if(curRowId == (tableLength - 1))
{
currentfield = table.rows[0].children[1].children[0];
currentfield.focus();
}
else
{
currentfield = table.rows[curRowId+1].children[1].children[0];
currentfield.focus();
}
}
return false;
break;
//Up key
case 38:
var curRowId = field.parentNode.parentNode.rowIndex;
if(curRowId == 0)
{
currentfield = table.rows[tableLength-1].children[1].children[0];
currentfield.focus();
}
else
{
currentfield = table.rows[curRowId-1].children[1].children[0];
currentfield.focus();
}
return false;
break;
//Esc Key
case 27:
onKeypressEvent(e);
return false;
break;
}
return true;
}
function getUrlVars(domName,field) {
var vars = "";
var hashes = document.getElementById("paramURL").value.slice(1).split('&');
for(var i = 0; i < hashes.length; i++)
{
popInputField = document.popupform.getElementsByTagName("input");
hash = hashes[i].split('=');
for(cnt = 0; cnt < popInputField.length ; cnt++)
{
if(popInputField[cnt].name.indexOf("Detail") == -1)
{
if(domName + "."+popInputField[cnt].name == hash[0])
{
hash[1] = popInputField[cnt].value;
}
}
else
{
if(popInputField[cnt].name == hash[0])
{
hash[1] = popInputField[cnt].value;
}
}
if(hash[0].indexOf("FOCUSED_COL") != -1)
{
hash[1] = domName+"."+field.name;
}
if(hash[0].indexOf("ACTION") != -1)
{
hash[1] = "post_item_change";
}
}
vars +=hash[0]+"="+hash[1]+"&";
}
return vars;
}
function onServerCallFun(field)
{
var loc = window.location.href;
var pos = loc.indexOf("FIELDNAME=");
var pos1 = loc.indexOf("&OBJ_NAME");
fieldId = loc.substring(pos+10,pos1);
if(field != null && (field.getAttribute("isservercallonchange") != null && field.getAttribute("isservercallonchange") == "true")) // CHECK FIELD IS SET FOR ITEM CHANGE OR NOT
{
createActionEventElement(field);
if(document.getElementById("ACTION") != null)
{
document.getElementById("ACTION").value = "post_item_change";
}
if(document.getElementById("FOCUSED_COL") != null)
{
if(field.name.indexOf("Detail") == -1)
{
document.getElementById("FOCUSED_COL").value = "Detail2.1."+field.name;
}
else
{
document.getElementById("FOCUSED_COL").value = field.name;
}
}
if(document.getElementById("forcedSave") != null)
{
document.getElementById("forcedSave").value = "false";
}
}
domName = fieldId.substring(0,fieldId.lastIndexOf("."));
currentDomName = domName;
keyString = getUrlVars(domName,field);
xmlhttpPost("/ibase/E12SingleTranEditorServlet", keyString,"");
}
function xmlhttpPost(strURL,formname,responsemsg)
{
var xmlHttpReq = false;
var self = this;
// Xhr per Mozilla/Safari/Ie7
if (window.XMLHttpRequest)
{
self.xmlHttpReq = new XMLHttpRequest();
}
// per tutte le altre versioni di IE
else if (window.ActiveXObject)
{
self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
}
self.xmlHttpReq.open("POST", strURL, true);
self.xmlHttpReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
self.xmlHttpReq.onreadystatechange = function()
{
if (self.xmlHttpReq.readyState == 4)
{
setValueInPopUp(self.xmlHttpReq.responseText);
}
}
self.xmlHttpReq.send(keyString);
}
function createActionEventElement(field)
{
if(document.getElementById("ACTION") == null)
{
var element = document.createElement("input");
element.type = "hidden";
element.name = "ACTION";
element.value = "post_item_change";
element.setAttribute("id", "ACTION");
element.setAttribute("readonly", "readonly");
document.popupform.appendChild(element);
}
if(document.getElementById("FOCUSED_COL") == null)
{
var element = document.createElement("input");
element.type = "hidden";
element.name = "FOCUSED_COL";
if(field != null)
{
element.value = field.name;
}
else
{
element.value = "";
}
element.setAttribute("id", "FOCUSED_COL");
element.setAttribute("readonly", "readonly");
document.popupform.appendChild(element);
}
if(document.getElementById("forcedSave") == null)
{
var element = document.createElement("input");
element.type = "hidden";
element.name = "forcedSave";
element.value = "false"
element.setAttribute("id", "forcedSave");
element.setAttribute("readonly", "readonly");
document.popupform.appendChild(element);
}
}
function setValueInPopUp(xmlStr)
{
if (window.DOMParser)
{
parser=new DOMParser();
xmlDoc=parser.parseFromString(xmlStr,"text/xml");
}
else // Internet Explorer
{
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false;
xmlDoc.loadXML(xmlStr);
}
if(xmlDoc.getElementsByTagName("Root") != null )
{
var x = xmlDoc.getElementsByTagName("Root")[0].childNodes;
if(x != null)
{
for ( i = 1 ; i < x.length ; i++)
{
detailElement = x[i];
if(detailElement.nodeName.indexOf("Detail1") != -1)
{
detailChild = detailElement.childNodes;
for( j = 1 ;j < detailChild.length ; j++)
{
if(detailChild[j] != null)
{
fieldName = detailChild[j].nodeName;
if(document.getElementById("Detail1.1." + fieldName) != null)
{
try
{
document.getElementById("Detail1.1." + fieldName).value = detailChild[j].childNodes[0].nodeValue;
if(detailChild[j].getAttribute("protect") == "1" || detailChild[j].getAttribute("PROTECT") == "1")
{
document.getElementById("Detail1.1." + fieldName).setAttribute("readonly","true");
document.getElementById("Detail1.1." + fieldName).setAttribute("tabIndex", "-1");
}
}
catch(err){}
}
}
}
}
else
{
detailChild = detailElement.childNodes;
for( j = 0 ;j < detailChild.length ; j++)
{
if(detailChild[j] != null)
{
if(document.getElementById(detailChild[j].nodeName) != null)
{
try{
document.getElementById(detailChild[j].nodeName).value = detailChild[j].childNodes[0].nodeValue;
if(detailChild[j].getAttribute("protect") == "1" || detailChild[j].getAttribute("PROTECT") == "1")
{
document.getElementById(detailChild[j].nodeName).setAttribute("readonly","true");
document.getElementById(detailChild[j].nodeName).setAttribute("tabIndex", "-1");
}
}
catch(err){}
}
}
}
}
}
}
}
}
\ No newline at end of file
var functionPending = "";
var passValue = "";
var passValue1 = "";
currentField = null;
function windowOnLoad()
{
document.getElementById("loading").style.visibility = "hidden";
document.getElementById("tranDiv").style.opacity = "1";
document.getElementById("tranDiv").style.disabled = "false";
document.getElementById("otherHelpDiv").style.visibility = "hidden";
document.getElementById("fieldSuggestionDiv").innerHTML = "<iframe src=\"\" class=\"fieldSuggFrame\" id=\"fieldSuggFrame\" name=\"fieldSuggFrame\" ></iframe>";
var element1 = document.createElement("input");
element1.type = "hidden";
element1.name = "EVENT_CODE";
element1.setAttribute("id", "KEY_EVENT_CODE");
element1.value = "";
document.getElementById("tranDiv").appendChild(element1);
onBlurFunction(document.getElementById("")); // add detail are set
addAndRemoveDetail("detailTable", "X", document.getElementById(""));
addAndRemoveDetail("detail3Table", "X", document.getElementById(""));
}
function windowOnClick(str) // Close the popup when click on other location in
{
closePopWindow(str)
}
document.onkeydown = keyCheck; // key event when any key pressed
function keyCheck(e) // check key when any key pressed on window page
{
var KeyID = (window.event) ? event.keyCode : e.keyCode;
switch (KeyID)
{
case 121:
saveData(document.getElementById(""));
return false;
break;
}
return true;
}
function onKeyDownFun(field, e) // Key events for input on fields
{
var tableName = "";
if (field.name.indexOf("Detail3") != -1)
{
tableName = "detail3Table";
} else
{
tableName = "detailTable";
}
table = document.getElementById(tableName);
var tableLength = table.rows.length;
var KeyID = (window.event) ? event.keyCode : e.keyCode;
document.getElementById("KEY_EVENT_CODE").value = "" + KeyID;
switch (KeyID)
{
// UP Arrow Key event code 38
case 38:
var minRowId = table.rows[0].cells[0].children[0].id;
pos1 = minRowId.indexOf(".");
pos = minRowId.lastIndexOf(".");
var minRowId = parseInt(minRowId.substring(pos1 + 1, pos));
fieldId = field.id;
RowIndexVal = parseInt(field.parentNode.parentNode.rowIndex) - 1;
colIndexVal = parseInt(field.parentNode.cellIndex);
try
{
table.rows[RowIndexVal].cells[colIndexVal]
.getElementsByTagName("input")[0].focus();
} catch (err)
{
}
return false;
break;
// DOWN Arrow Key event code 40
case 40:
var maxRowId = table.rows[tableLength - 1].cells[0].children[0].id;
pos1 = maxRowId.indexOf(".");
pos = maxRowId.lastIndexOf(".");
var maxRowId = parseInt(maxRowId.substring(pos1 + 1, pos));
fieldId = field.id;
RowIndexVal = parseInt(field.parentNode.parentNode.rowIndex) + 1;
colIndexVal = parseInt(field.parentNode.cellIndex);
try
{
table.rows[RowIndexVal].cells[colIndexVal]
.getElementsByTagName("input")[0].focus();
} catch (err)
{
}
return false;
break;
// F9 key event code 120
case 120:
onBlurFunction(field);
functionPending = "popupHelp(\"" + field.name + "\"," + KeyID + ")";
return false;
break;
// F2 key event code 113
case 113:
onBlurFunction(field);
functionPending = "popupHelp(\"" + field.name + "\"," + KeyID + ")";
return false;
break;
// F6 key event code 117
case 117:
addAndRemoveDetail("detailTable", "R", field);
return false;
break;
// F4 key event code 115
case 115:
addAndRemoveDetail("detailTable", "A", field);
return false;
// F12 key event code 123
case 123:
addAndRemoveDetail("detail3Table", "R", field);
return false;
break;
// F8 Key event code 119
case 119:
addAndRemoveDetail("detail3Table", "A", field);
return false;
break;
}
return true;
}
function popupHelp(fieldID, KeyID) // Open Popup Logic for the event and field
{
field = document.getElementById(fieldID);
switch (KeyID)
{
// F9 Key for other calculation
case 120:
var url = field.getAttribute("calpageurl");
if (url != null && url.length > 0)
{
document.getElementById("tranDiv").style.opacity = "0.5";
document.getElementById("tranDiv").style.disabled = "true";
document.getElementById("fieldSuggestionDiv").style.visibility = "visible";
document.getElementById("fieldSuggFrame").focus();
var pos = getAbsolutePosition(field);
var fieldName = field.name;
var pos = fieldName.lastIndexOf(".");
fieldName = fieldName.substring(pos + 1, fieldName.length);
var objName = document.getElementById("OBJ_NAME").value;
keystring = document.getElementById(field.id).value;
keystring = getquerystring("form1");
document.form1.method = "post";
document.form1.action = "../jsp/" + url + "?FIELDNAME="
+ field.name + "&OBJ_NAME=" + objName;
document.form1.target = 'fieldSuggFrame';
document.form1.submit();
}
return false;
break;
// F2 key for field suggestion popup
case 113:
var ispopup = field.getAttribute("ispopup");
if (ispopup != null && ispopup == "true")
{
document.getElementById("tranDiv").style.opacity = "0.5";
document.getElementById("tranDiv").style.disabled = "true";
document.getElementById("fieldSuggestionDiv").style.visibility = "visible";
document.getElementById("fieldSuggFrame").focus();
var pos = getAbsolutePosition(field);
var objName = document.getElementById("OBJ_NAME").value;
var fieldName = field.name;
var pos = fieldName.lastIndexOf(".");
fieldName = fieldName.substring(pos + 1, fieldName.length);
keystring = document.getElementById(field.id).value;
/*call when bon card no pop up shows */
if (document.getElementById("OBJ_NAME").value == "poschg"
&& fieldName == "bon_card_no")
{
keystring = document.getElementById("Detail1.1.cust_code").value;
}
document.getElementById("fieldSuggFrame").src = "../jsp/CDPopUp.jsp?FIELDNAME="
+ field.name
+ "&OBJ_NAME="
+ objName
+ "&KEYSTRING=:ITEM_CODE&ITEM_CODE=" + keystring;
}
return false;
break;
}
return true;
}
function getAbsolutePosition(element) // get the absolute position of current
// element or field
{
var r = {
x : element.offsetLeft,
y : element.offsetTop
};
if (element.offsetParent)
{
var tmp = getAbsolutePosition(element.offsetParent);
r.x += tmp.x;
r.y += tmp.y;
}
return r;
}
function saveData(field) // save data logic
{
createActionEventElement(field);
if (document.getElementById("ACTION") != null)
{
document.getElementById("ACTION").value = "";
}
if (document.getElementById("FOCUSED_COL") != null)
{
document.getElementById("FOCUSED_COL").value = "";
}
if (document.getElementById("forcedSave") != null)
{
document.getElementById("forcedSave").value = "false";
}
passValue = getPassValue("detailTable");
passValue1 = getPassValue("detail3Table");
xmlhttpPost("/ibase/E12SingleTranEditorServlet", "form1",
"<img src=\"../images/loading.gif\">");
return false;
}
function xmlhttpPost(strURL, formname, responsemsg)
{
var xmlHttpReq = false;
var self = this;
// Xhr per Mozilla/Safari/Ie7
if (window.XMLHttpRequest)
{
self.xmlHttpReq = new XMLHttpRequest();
}
// per tutte le altre versioni di IE
else if (window.ActiveXObject)
{
self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
}
self.xmlHttpReq.open("POST", strURL, true);
self.xmlHttpReq.setRequestHeader("Content-Type",
"application/x-www-form-urlencoded");
self.xmlHttpReq.onreadystatechange = function()
{
if (self.xmlHttpReq.readyState == 4)
{
document.getElementById("loading").style.visibility = "hidden";
showMessage(self.xmlHttpReq.responseText);
if (functionPending != "")
;
{
eval(functionPending);
}
functionPending = "";
if(document.getElementById("OBJ_NAME").value == "poschg" && currentField.name.indexOf("bar_code") != -1 )
{
checkBarCodeScan(currentField);
}
currentField = null;
} else if (responsemsg != "")
{
document.getElementById("loading").style.visibility = "visible";
document.getElementById("loading").innerHTML = "<img id=\"loading-image\" src=\"../images/loading.gif\" alt=\"Loading...\"/>";
}
}
self.xmlHttpReq.send(getquerystring(formname));
}
function getquerystring(formname)
{
var form = document.forms[formname];
var qstr = "";
function GetElemValue(name, value)
{
if (passValue == "" && passValue1 == "")
{
qstr += (qstr.length > 0 ? "&" : "")
+ escape(name).replace(/\+/g, "%2B") + "="
+ escape(value ? value : "").replace(/\+/g, "%2B");
} else
{
if (passValue == "" && passValue1 != "")
{
if (name.indexOf(passValue) == -1)
{
qstr += (qstr.length > 0 ? "&" : "")
+ escape(name).replace(/\+/g, "%2B") + "="
+ escape(value ? value : "").replace(/\+/g, "%2B");
}
} else if (passValue != "" && passValue1 == "")
{
if (name.indexOf(passValue1) == -1)
{
qstr += (qstr.length > 0 ? "&" : "")
+ escape(name).replace(/\+/g, "%2B") + "="
+ escape(value ? value : "").replace(/\+/g, "%2B");
}
} else
{
if (name.indexOf(passValue) == -1
&& name.indexOf(passValue1) == -1)
{
qstr += (qstr.length > 0 ? "&" : "")
+ escape(name).replace(/\+/g, "%2B") + "="
+ escape(value ? value : "").replace(/\+/g, "%2B");
}
}
}
}
var elemArray = form.elements;
for ( var i = 0; i < elemArray.length; i++)
{
var element = elemArray[i];
var elemType = element.type.toUpperCase();
var elemName = element.name;
if (elemName)
{
if (elemType == "TEXT" || elemType == "TEXTAREA"
|| elemType == "PASSWORD" || elemType == "BUTTON"
|| elemType == "RESET" || elemType == "SUBMIT"
|| elemType == "FILE" || elemType == "IMAGE"
|| elemType == "HIDDEN")
GetElemValue(elemName, element.value);
else if (elemType == "CHECKBOX" && element.checked)
GetElemValue(elemName, element.value ? element.value : "On");
else if (elemType == "RADIO" && element.checked)
GetElemValue(elemName, element.value);
else if (elemType.indexOf("SELECT") != -1)
for ( var j = 0; j < element.options.length; j++)
{
var option = element.options[j];
if (option.selected)
GetElemValue(elemName, option.value ? option.value
: option.text);
}
}
}
return qstr;
}
// Data save messages handling
function showMessage(messageStr)
{
if (window.DOMParser)
{
parser = new DOMParser();
xmlDoc = parser.parseFromString(messageStr, "text/xml");
} else
// Internet Explorer
{
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false;
xmlDoc.loadXML(messageStr);
}
if (document.getElementById("ACTION").value != ""
&& document.getElementById("FOCUSED_COL").value != "")
{
var x = xmlDoc.getElementsByTagName("Root")[0].childNodes;
if (x != null)
{
for (i = 1; i < x.length; i++)
{
detailElement = x[i];
if (detailElement.nodeName.indexOf("Detail") != -1)
{
domID = detailElement.getAttribute("domID");
if (domID != null)
{
detailChild = detailElement.childNodes;
detailLength = xmlDoc.getElementsByTagName("Detail2").length;
actualDetailLength = document
.getElementById("detailTable").rows.length;
for (cnt = 2; (cnt <= detailLength && detailLength > actualDetailLength); cnt++)
{
addAndRemoveDetail("detailTable", "A", document
.getElementById(detailElement.nodeName
+ "." + domID + ".line_no"));
actualDetailLength = document
.getElementById("detailTable").rows.length;
}
for (j = 1; j < detailChild.length; j++)
{
if (detailChild[j] != null)
{
fieldName = detailChild[j].nodeName;
if (document
.getElementById(detailElement.nodeName
+ "." + domID + "." + fieldName) != null)
{
try
{
document
.getElementById(detailElement.nodeName
+ "."
+ domID
+ "."
+ fieldName).value = detailChild[j].childNodes[0].nodeValue;
if (detailChild[j]
.getAttribute("protect") == "1"
|| detailChild[j]
.getAttribute("PROTECT") == "1")
{
document.getElementById(
detailElement.nodeName
+ "." + domID + "."
+ fieldName)
.setAttribute("readonly",
"true");
document.getElementById(
detailElement.nodeName
+ "." + domID + "."
+ fieldName)
.setAttribute("tabIndex",
"-1");
}
} catch (err)
{
}
}
}
}
} else
{
detailChild = detailElement.childNodes;
for (j = 0; j < detailChild.length; j++)
{
if (detailChild[j] != null)
{
fieldName = detailChild[j].nodeName;
columnNameInHtml = document
.getElementById("FOCUSED_COL").value;
pos = columnNameInHtml.indexOf(".");
pos1 = columnNameInHtml.lastIndexOf(".");
domID = columnNameInHtml.substring(pos + 1,
pos1);
if (detailElement.nodeName == "Detail1")
{
domID = "1";
}
if (document
.getElementById(detailElement.nodeName
+ "." + domID + "." + fieldName) != null)
{
try
{
nodeForSet = detailChild[j].childNodes[0];
nodeValueForSet = "";
if(nodeForSet != null && nodeForSet != undefined)
{
nodeValueForSet = nodeForSet.nodeValue;
}
document
.getElementById(detailElement.nodeName
+ "."
+ domID
+ "."
+ fieldName).value = nodeValueForSet;
if (detailChild[j]
.getAttribute("protect") == "1"
|| detailChild[j]
.getAttribute("PROTECT") == "1")
{
document.getElementById(
detailElement.nodeName
+ "." + domID + "."
+ fieldName)
.setAttribute("readonly",
"true");
document.getElementById(
detailElement.nodeName
+ "." + domID + "."
+ fieldName)
.setAttribute("tabIndex",
"-1");
}
} catch (err)
{
}
}
}
}
}
}
}
}
} else
{
var x = xmlDoc.getElementsByTagName("error");
showMessage.isOk = false;
if (x != null)
{
for (i = 0; i < x.length; i++)
{
errorType = "";
errorStr = "";
errorType1 = x[i].getElementsByTagName("type")[0];
if (errorType1 == null)
{
errorType = x[i].getAttribute("type");
} else
{
errorType = errorType1.childNodes[0].nodeValue;
errorStr = " Error ID : " + x[i].getAttribute("id");
}
if (errorType == "E")
{
showMessage.isOk = false;
errorStr = errorStr
+ "\n"
+ x[i].getElementsByTagName("message")[0].childNodes[0].nodeValue;
errorStr = errorStr
+ "\n Description : "
+ x[i].getElementsByTagName("description")[0].childNodes[0].nodeValue;
alert(errorStr);
break;
} else if (errorType == "W")
{
errorStr = errorStr
+ "\n"
+ x[i].getElementsByTagName("message")[0].childNodes[0].nodeValue;
errorStr = errorStr
+ "\n Description : "
+ x[i].getElementsByTagName("description")[0].childNodes[0].nodeValue;
showMessage.isOk = confirm(errorStr);
if (!showMessage.isOk)
{
break;
}
}
}
}
}
if (showMessage.isOk && x != null && x.length != 0)
{
document.getElementById("forcedSave").value = "true";
xmlhttpPost("/ibase/E12SingleTranEditorServlet", "form1",
"<img src=\"../images/loading.gif\">");
}
if (x != null && x.length == 0 && messageStr.indexOf("Success") != -1)
{
alert("Data Saved Successfully. \nTransaction ID : ["
+ xmlDoc.getElementsByTagName("TranID")[0].firstChild.nodeValue
+ "]");
window.close();
} else if (messageStr.indexOf("Exception") != -1)
{
alert("Error:[" + messageStr + "]");
}
}
function setPopValue(tableRowField, domName, fieldId) // set the popup focused
{
var var1 = tableRowField.getElementsByTagName("input");
if (var1 == null)
{
closePopWindow(fieldId);
} else
{
for (i = 0; i < var1.length; i++)
{
var2 = tableRowField.getElementsByTagName("input")[i].name;
if (var2.indexOf(".") == -1 && var2.indexOf("Detail") == -1)
{
var2 = domName + "." + var2.toLowerCase()
}
if (document.getElementById(var2) != null)
{
document.getElementById(var2).value = tableRowField
.getElementsByTagName("input")[i].value;
}
}
}
}
function closePopWindow(str) // logic for close the popup
{
document.getElementById("tranDiv").style.opacity = "1";
document.getElementById("tranDiv").style.disabled = "false";
document.getElementById("fieldSuggestionDiv").style.visibility = "hidden";
document.getElementById("fieldSuggFrame").src = "";
if (str != null)
{
document.getElementById(str).focus();
}
}
function onBlurFunction(field)
{
if (field != null
&& functionPending == ""
&& ((field.getAttribute("isservercallonchange") != null && field
.getAttribute("isservercallonchange") == "true") || field.name
.indexOf("itm_default") != -1)) // CHECK FIELD IS SET FOR
// ITEM CHANGE OR NOT
{
createActionEventElement(field);
if (document.getElementById("ACTION") != null)
{
document.getElementById("ACTION").value = "post_item_change";
}
if (document.getElementById("FOCUSED_COL") != null && currentField == null)
{
document.getElementById("FOCUSED_COL").value = field.name;
currentField = field;
}
else if(document.getElementById("FOCUSED_COL") != null)
{
document.getElementById("FOCUSED_COL").value = currentField.name;
}
if (document.getElementById("forcedSave") != null)
{
document.getElementById("forcedSave").value = "false";
}
xmlhttpPost("/ibase/E12SingleTranEditorServlet", "form1", "");
}
}
function onBlurForDetail(field, tableName) // for unselect the detail rows
{
if (field != null && field.parentNode.className == "detailFieldCol")
{
var table = document.getElementById(tableName);
var curRowId = field.parentNode.parentNode.rowIndex;
var tableLength = table.rows.length;
for (i = 0; i < tableLength; i++)
{
table.rows[i].className = "deSelectedRow";
colLength = table.rows[i].cells.length;
for (count = 0; count < colLength; count++)
{
if (table.rows[i].cells[count].firstChild.className
.indexOf("Disable") == -1)
{
table.rows[i].cells[count].firstChild.className = "detailField";
} else
{
table.rows[i].cells[count].firstChild.className = "detailFieldDisable";
}
}
}
}
return false;
}
function createActionEventElement(field)
{
if (document.getElementById("ACTION") == null)
{
var element = document.createElement("input");
element.type = "hidden";
element.name = "ACTION";
element.value = "post_item_change";
element.setAttribute("id", "ACTION");
element.setAttribute("readonly", "readonly");
document.form1.appendChild(element);
}
if (document.getElementById("FOCUSED_COL") == null)
{
var element = document.createElement("input");
element.type = "hidden";
element.name = "FOCUSED_COL";
if (field != null)
{
element.value = field.name;
} else
{
element.value = "";
}
element.setAttribute("id", "FOCUSED_COL");
element.setAttribute("readonly", "readonly");
document.form1.appendChild(element);
}
if (document.getElementById("forcedSave") == null)
{
var element = document.createElement("input");
element.type = "hidden";
element.name = "forcedSave";
element.value = "false"
element.setAttribute("id", "forcedSave");
element.setAttribute("readonly", "readonly");
document.form1.appendChild(element);
}
}
function focusRow(field) // for select the focus field detail row
{
var tableName = "";
if (field.name.indexOf("Detail2") != -1)
{
tableName = "detailTable";
} else if (field.name.indexOf("Detail3") != -1)
{
tableName = "detail3Table";
}
onBlurForDetail(field, tableName);
field.select();
field.parentNode.parentNode.className = "selectRow";
colLength = field.parentNode.parentNode.cells.length;
for (count = 0; count < colLength; count++)
{
if (field.parentNode.parentNode.cells[count].firstChild.className
.indexOf("Disable") == -1)
{
field.parentNode.parentNode.cells[count].firstChild.className = "selectedDetailRow";
} else
{
field.parentNode.parentNode.cells[count].firstChild.className = "selectDetailFieldDisable";
}
}
return false;
}
function setCalPopUpValue(domNameParent, domIdParent, parentFieldName,
fieldvalue)
{
if (document.getElementById(domNameParent + "." + domIdParent + "."
+ parentFieldName) != null)
{
document.getElementById(domNameParent + "." + domIdParent + "."
+ parentFieldName).value = fieldvalue;
}
}
function addAndRemoveDetail(tableName, flag, field)
{
var table = document.getElementById(tableName);
var tableDelete = document.getElementById(tableName + "Delete")
tableLength = table.rows.length;
if (flag == "R")
{
if (tableLength > 1)
{
var maxRowId = table.rows[tableLength - 1].cells[0].children[0].id;
pos1 = maxRowId.indexOf(".");
pos = maxRowId.lastIndexOf(".");
var maxRowId = parseInt(maxRowId.substring(pos1 + 1, pos));
var curRowId = field.parentNode.parentNode.rowIndex;
fieldId = field.id;
pos1 = fieldId.indexOf(".");
pos = fieldId.lastIndexOf(".");
var domId = parseInt(fieldId.substring(pos1 + 1, pos));
formId = fieldId.substring(0, pos1);
fieldName = fieldId.substring(pos + 1, field.id.length);
isAdded = false;
if (document.getElementById(formId + "." + (domId) + ".status").value == "N"
&& document.getElementById(formId + "." + (domId)
+ ".updateFlag").value == "A")
{
isAdded = true;
}
document.getElementById(formId + "." + (domId) + ".status").value = "O";
document.getElementById(formId + "." + (domId) + ".updateFlag").value = "D";
var fieldLength = table.rows[curRowId]
.getElementsByTagName("input").length;
var selectFieldLength = table.rows[curRowId]
.getElementsByTagName("select").length;
for (cnt = 0; cnt < selectFieldLength; cnt++)
{
table.rows[curRowId].getElementsByTagName("select")[cnt].style.visibility = "hidden";
}
for (cnt = 0; cnt < fieldLength; cnt++)
{
table.rows[curRowId].getElementsByTagName("input")[cnt].style.visibility = "hidden";
}
if (isAdded)
{
table.deleteRow(curRowId);
} else
{
tableDelete.appendChild(table.rows[curRowId]);
}
domId = domId - 1;
while ((document.getElementById(formId + "." + (domId) + "."
+ fieldName) == null || document.getElementById(formId
+ "." + (domId) + "." + fieldName).style.visibility == "hidden")
&& domId > 1)
{
domId--;
}
if (document.getElementById(formId + "." + domId + "." + fieldName) == null)
{
table.rows[0].cells[0].children[0].focus();
} else
{
document.getElementById(formId + "." + domId + "." + fieldName)
.focus();
}
}
}
if (flag == "A")
{
var maxLineNo = 1;
for (cnt = 0; cnt < tableLength; cnt++)
{
inputField = table.rows[cnt].cells[0].getElementsByTagName("input")[0];
inputFieldID = inputField.id;
pos1 = inputFieldID.indexOf(".");
formId = inputFieldID.substring(0, pos1);
pos = inputFieldID.lastIndexOf(".");
domID = parseInt(inputFieldID.substring(pos1 + 1, pos));
currLineNo = parseInt(document.getElementById(formId + "." + domID
+ ".line_no").value.trim());
if (currLineNo > maxLineNo)
{
maxLineNo = currLineNo;
}
}
for (cnt = 0; cnt < tableDelete.length; cnt++)
{
inputField = table.rows[cnt].cells[0].getElementsByTagName("input")[0];
inputFieldID = inputField.id;
pos1 = inputFieldID.indexOf(".");
formId = inputFieldID.substring(0, pos1);
pos = inputFieldID.lastIndexOf(".");
domID = parseInt(inputFieldID.substring(pos1 + 1, pos));
currLineNo = parseInt(document.getElementById(formId + "." + domID
+ ".line_no").value.trim());
if (currLineNo > maxLineNo)
{
maxLineNo = currLineNo;
}
}
if (tableLength == 1
&& table.rows[0].cells[0].getElementsByTagName("input")[0].disabled == true)
{
cells = table.rows[0].cells;
for (cnt = 0; cnt < cells.length; cnt++)
{
var rowFields = cells[cnt].getElementsByTagName("input");
for (count = 0; count < rowFields.length; count++)
{
rowFields[count].disabled = false;
fieldName = rowFields[count].id;
pos1 = fieldName.indexOf(".");
formId = fieldName.substring(0, pos1);
pos = fieldName.lastIndexOf(".");
domID = parseInt(fieldName.substring(pos1 + 1, pos));
}
}
inputElement = table.rows[0].cells[0].getElementsByTagName("input")[0];
inputElement.focus();
var element1 = document.createElement("input");
element1.type = "hidden";
element1.name = formId + "." + domID + ".itm_default";
onBlurFunction(element1);
document.getElementById(formId + "." + domID + ".line_no").value = " 1";
} else
{
var appendRow1 = table.rows[tableLength - 1].cloneNode(true);
var table1 = table.rows[0].parentNode;
table1.appendChild(appendRow1);
var rowFields = table.rows[tableLength]
.getElementsByTagName("input");
for (count = 0; count < rowFields.length; count++)
{
var fieldName = rowFields[count].id;
var isPrimaryKey = document.getElementById(fieldName)
.getAttribute("isPrimaryKey");
var pos1 = fieldName.indexOf(".");
formId = fieldName.substring(0, pos1);
pos = fieldName.lastIndexOf(".");
domID = maxLineNo + 1;
fieldName = fieldName.substring(pos + 1, fieldName.length);
rowFields[count].id = formId + "." + domID + "." + fieldName;
;
rowFields[count].name = formId + "." + domID + "." + fieldName;
rowFields[count].disabled = false;
if (fieldName != "tran_id" && isPrimaryKey != "true")
{
rowFields[count].value = "";
}
}
document.getElementById(formId + "." + domID + ".status").value = "N";
document.getElementById(formId + "." + domID + ".updateFlag").value = "A";
try
{
var tempLine_no = " " + domID;
tempLine_no = tempLine_no.substring(tempLine_no.length - 3,
tempLine_no.length);
document.getElementById(formId + "." + domID + ".line_no").value = tempLine_no;
var objName = document.getElementById("OBJ_NAME").value;
if (objName == "grnentry_cd")
{
document.getElementById(formId + "." + domID
+ ".line_no__ord").value = tempLine_no;
document.getElementById(formId + "." + domID + ".FS").value = "FS";
document.getElementById(formId + "." + domID + ".HS").value = "HS";
}
if (objName == "porder_cd")
{
document.getElementById(formId + "." + domID + ".FS").value = "FS";
document.getElementById(formId + "." + domID + ".HS").value = "HS";
}
} catch (err)
{
}
document.getElementById(formId + "." + domID + ".dbID").value = document
.getElementById("pkValues").value
+ ":" + domID + ":";
inputElement = table.rows[tableLength].cells[0]
.getElementsByTagName("input")[0];
inputElement.focus();
var element1 = document.createElement("input");
element1.type = "hidden";
element1.name = formId + "." + domID + ".itm_default";
onBlurFunction(element1);
}
}
if (flag == "X")
{
domID = "";
if (tableName == "detailTable")
{
domID = "Detail2.1"
} else if (tableName == "detail3Table")
{
domID = "Detail3.1"
}
if (document.getElementById(domID + ".updateFlag") != null
&& document.getElementById(domID + ".updateFlag") != undefined
&& document.getElementById(domID + ".updateFlag").value != "A")
{
var rowFields = table.getElementsByTagName("input");
for (count = 0; count < rowFields.length; count++)
{
rowFields[count].disabled = false;
}
}
}
}
function getPassValue(tableName)
{
var table1 = document.getElementById(tableName);
var tableLength1 = table1.rows.length;
if (tableLength1 == 1
&& table1.rows[0].cells[0].getElementsByTagName("input")[0] != null
&& table1.rows[0].cells[0].getElementsByTagName("input")[0].disabled == true)
{
if (tableName == "detailTable")
{
passValue = "Detail2.1";
} else if (tableName == "detail3Table")
{
passValue = "Detail3.1";
}
}
}
\ No newline at end of file
//check for the validity of the password
function isPassVaild(currPass, newPass, confirmPass)
{
var isValid = false;
//check old password
//Changed by Gayatri Yadav on 30-Sept-2010 [ WI01SUN006 ] [ To implement SHA-256 while login ]
//if ( (currPass == currPwd))
if ( (currPass == currPwd) || (currPwd == sha256_digest(currPass)) )
{
if (newPass == confirmPass)
{
if (newPass.toLowerCase().indexOf("password") == -1)
{
//check the length of the new password
if(newPass.length < minPwdLen )
{
//added by Kiran G for Russian SErver
//alert("Minimum password length is "+minPwdLen+" characters !");
var minPasswdLen = "Minimum password length is".toLocaleString();
var characters = "characters !".toLocaleString();
alert(minPasswdLen+" "+minPwdLen+" "+characters);
}
else
{
if (checkContents(newPass))
{
var toBeChecked = (trim(fname.toLowerCase())== "")?true:false;
//check whether name is used in the password or not
if (toBeChecked || newPass.toLowerCase().indexOf(trim(fname.toLowerCase())) == -1 )
{
toBeChecked = (trim(mname.toLowerCase())== "")?true:false;
if (toBeChecked || newPass.toLowerCase().indexOf(trim(mname.toLowerCase())) == -1)
{
toBeChecked = (trim(lname.toLowerCase())== "")?true:false;
if (toBeChecked || newPass.toLowerCase().indexOf(trim(lname.toLowerCase())) == -1)
{
if(newPass.toLowerCase().indexOf(trim(empCode.toLowerCase())) == -1)
{
if (currPass == newPass)
{
//alert("New Password and Old Password are same, choose different password");
//added by Kiran G for Russian Server
var passwdSame= "New Password and Old Password are same, choose different password".toLocaleString();
alert(passwdSame);
}
else
{
isValid = true;
}
}
else
{
//alert("Employee code cannot be used in the password");
//added by Kiran G for Russian Server
var empCodePasswd = "Employee code cannot be used in the password".toLocaleString();
alert(empCodePasswd);
}
}
else
{
//alert("Last Name cannot be used as password, select another password");
//added by Kiran G for Russian Server
var lastNamePasswd="Last Name cannot be used as password, select another password".toLocaleString();
alert(lastNamePasswd);
}
}
else
{
//alert("Middle Name cannot be used as password, select another password");
//added by Kiran G for Russian Server
var middleNamePasswd="Middle Name cannot be used as password, select another password".toLocaleString();
alert(middleNamePasswd);
}
}
else
{
//alert("First Name cannot be used as password, select another password");
//added by Kiran G for Russian Server
var firstNamePasswd="First Name cannot be used as password, select another password";
alert(firstNamePasswd.toLocaleString());
}
}
else
{
//alert("Password must contains atleast one Uppercase character, Lowercase character and a Digit !");
//added by Kiran G for Russian Server
var passwdContains="Password must contains atleast one Uppercase character, Lowercase character and a Digit !".toLocaleString();
alert(passwdContains);
}
}
}
else
{
//alert("The word password cannot be used as password, select another password");
//added by Kiran G for Russian Server
var passwd="The word password cannot be used as password, select another password".toLocaleString();
alert(passwd);
}
}
else
{
//alert("New Password and Confirm Password do not match");
//added by Kiran G for Russian Server
var passwdNotMatch="New Password and Confirm Password do not match".toLocaleString();
alert(passwdNotMatch);
}
}
else
{
/*alert("Old password is incorrect !");*/
//added by Kiran G for Russian Server
var oldPasswdInCorrect= "OldPasswordisincorrect!";
alert(oldPasswdInCorrect.toLocaleString());
}
return isValid;
}
//password must contain atleast one uppercase character, a lowercase charater and a digit
function checkContents(newPass)
{
var isUpperCase = false;
var isLowerCase = false;
var isDigit = false;
for(var cnt=0; cnt<newPass.length; cnt++)
{
var letter = newPass.charAt(cnt);
if (!isUpperCase && letter >= 'A' && letter <='Z')
{
isUpperCase = true;
}
else if (!isLowerCase && letter >= 'a' && letter <= 'z')
{
isLowerCase = true;
}
else if (!isDigit && letter >= 0 && letter <= 9)
{
isDigit = true;
}
}
if (isUpperCase && isLowerCase && isDigit)
return true;
else
return false;
}
function ltrim(s)
{
return s.replace( /^\s*/, "" );
}
function rtrim ( s )
{
return s.replace( /\s*$/, "" );
}
function trim ( s )
{
return rtrim(ltrim(s));
}
/*
* A JavaScript implementation of the SHA256 hash function.
*
* FILE: sha256.js
*
* NOTE: This version is not tested thoroughly!
*
* Copyright (c) 2003, Christoph Bichlmeier
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. Neither the name of the copyright holder nor the names of contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* ======================================================================
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS
* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/* SHA256 logical functions */
function rotateRight(n,x) {
return ((x >>> n) | (x << (32 - n)));
}
function choice(x,y,z) {
return ((x & y) ^ (~x & z));
}
function majority(x,y,z) {
return ((x & y) ^ (x & z) ^ (y & z));
}
function sha256_Sigma0(x) {
return (rotateRight(2, x) ^ rotateRight(13, x) ^ rotateRight(22, x));
}
function sha256_Sigma1(x) {
return (rotateRight(6, x) ^ rotateRight(11, x) ^ rotateRight(25, x));
}
function sha256_sigma0(x) {
return (rotateRight(7, x) ^ rotateRight(18, x) ^ (x >>> 3));
}
function sha256_sigma1(x) {
return (rotateRight(17, x) ^ rotateRight(19, x) ^ (x >>> 10));
}
function sha256_expand(W, j) {
return (W[j&0x0f] += sha256_sigma1(W[(j+14)&0x0f]) + W[(j+9)&0x0f] +
sha256_sigma0(W[(j+1)&0x0f]));
}
/* Hash constant words K: */
var K256 = new Array(
0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5,
0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,
0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,
0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,
0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,
0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7,
0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,
0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,
0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,
0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3,
0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5,
0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,
0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,
0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2
);
/* global arrays */
var ihash, count, buffer;
var sha256_hex_digits = "0123456789abcdef";
/* Add 32-bit integers with 16-bit operations (bug in some JS-interpreters:
overflow) */
function safe_add(x, y)
{
var lsw = (x & 0xffff) + (y & 0xffff);
var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
return (msw << 16) | (lsw & 0xffff);
}
/* Initialise the SHA256 computation */
function sha256_init() {
ihash = new Array(8);
count = new Array(2);
buffer = new Array(64);
count[0] = count[1] = 0;
ihash[0] = 0x6a09e667;
ihash[1] = 0xbb67ae85;
ihash[2] = 0x3c6ef372;
ihash[3] = 0xa54ff53a;
ihash[4] = 0x510e527f;
ihash[5] = 0x9b05688c;
ihash[6] = 0x1f83d9ab;
ihash[7] = 0x5be0cd19;
}
/* Transform a 512-bit message block */
function sha256_transform() {
var a, b, c, d, e, f, g, h, T1, T2;
var W = new Array(16);
/* Initialize registers with the previous intermediate value */
a = ihash[0];
b = ihash[1];
c = ihash[2];
d = ihash[3];
e = ihash[4];
f = ihash[5];
g = ihash[6];
h = ihash[7];
/* make 32-bit words */
for(var i=0; i<16; i++)
W[i] = ((buffer[(i<<2)+3]) | (buffer[(i<<2)+2] << 8) | (buffer[(i<<2)+1]
<< 16) | (buffer[i<<2] << 24));
for(var j=0; j<64; j++) {
T1 = h + sha256_Sigma1(e) + choice(e, f, g) + K256[j];
if(j < 16) T1 += W[j];
else T1 += sha256_expand(W, j);
T2 = sha256_Sigma0(a) + majority(a, b, c);
h = g;
g = f;
f = e;
e = safe_add(d, T1);
d = c;
c = b;
b = a;
a = safe_add(T1, T2);
}
/* Compute the current intermediate hash value */
ihash[0] += a;
ihash[1] += b;
ihash[2] += c;
ihash[3] += d;
ihash[4] += e;
ihash[5] += f;
ihash[6] += g;
ihash[7] += h;
}
/* Read the next chunk of data and update the SHA256 computation */
function sha256_update(data, inputLen) {
var i, index, curpos = 0;
/* Compute number of bytes mod 64 */
index = ((count[0] >> 3) & 0x3f);
var remainder = (inputLen & 0x3f);
/* Update number of bits */
if ((count[0] += (inputLen << 3)) < (inputLen << 3)) count[1]++;
count[1] += (inputLen >> 29);
/* Transform as many times as possible */
for(i=0; i+63<inputLen; i+=64) {
for(var j=index; j<64; j++)
buffer[j] = data.charCodeAt(curpos++);
sha256_transform();
index = 0;
}
/* Buffer remaining input */
for(var j=0; j<remainder; j++)
buffer[j] = data.charCodeAt(curpos++);
}
/* Finish the computation by operations such as padding */
function sha256_final() {
var index = ((count[0] >> 3) & 0x3f);
buffer[index++] = 0x80;
if(index <= 56) {
for(var i=index; i<56; i++)
buffer[i] = 0;
} else {
for(var i=index; i<64; i++)
buffer[i] = 0;
sha256_transform();
for(var i=0; i<56; i++)
buffer[i] = 0;
}
buffer[56] = (count[1] >>> 24) & 0xff;
buffer[57] = (count[1] >>> 16) & 0xff;
buffer[58] = (count[1] >>> 8) & 0xff;
buffer[59] = count[1] & 0xff;
buffer[60] = (count[0] >>> 24) & 0xff;
buffer[61] = (count[0] >>> 16) & 0xff;
buffer[62] = (count[0] >>> 8) & 0xff;
buffer[63] = count[0] & 0xff;
sha256_transform();
}
/* Split the internal hash values into an array of bytes */
function sha256_encode_bytes() {
var j=0;
var output = new Array(32);
for(var i=0; i<8; i++) {
output[j++] = ((ihash[i] >>> 24) & 0xff);
output[j++] = ((ihash[i] >>> 16) & 0xff);
output[j++] = ((ihash[i] >>> 8) & 0xff);
output[j++] = (ihash[i] & 0xff);
}
return output;
}
/* Get the internal hash as a hex string */
function sha256_encode_hex() {
var output = new String();
for(var i=0; i<8; i++) {
for(var j=28; j>=0; j-=4)
output += sha256_hex_digits.charAt((ihash[i] >>> j) & 0x0f);
}
return output;
}
/* Main function: returns a hex string representing the SHA256 value of the
given data */
function sha256_digest(data) {
sha256_init();
sha256_update(data, data.length);
sha256_final();
return sha256_encode_hex();
}
/* test if the JS-interpreter is working properly */
function sha256_self_test()
{
return sha256_digest("message digest") ==
"f7846f55cf23e14eebeab5b4e1550cad5b509e3348fbc4efa3a1413d393cb650";
}
function validateIbase()
{
if(document.getElementById("id_JBOSSHOME").value.length <= 0)
{
alert(" JBOSS HOME IS EMPTY,PLEASE FILL THE VALUE");
return false ;
}
else if(document.getElementById("id_TOMCATHOME").value.length <= 0)
{
alert(" TOMCAT HOME IS EMPTY,PLEASE FILL THE VALUE");
return false ;
}
else if(document.getElementById("id_SMTPHOST").value.length <= 0)
{
alert(" SMTP HOST IS EMPTY,PLEASE FILL THE VALUE");
return false ;
}
else if(document.getElementById("id_MAILFROM").value.length <= 0)
{
alert(" MAIL FROM IS EMPTY,PLEASE FILL THE VALUE");
return false ;
}
else
{
//alert(document.getElementById("id_SAVE_STRING").value);
var value;
//alert("value1 ::\n"+value);
value=document.getElementById("id_JBOSSHOME").value;
//alert("value ::\n"+value);
document.getElementById("id_SAVE_STRING").value = "<?xml version=\"1.0\"?>\r\n"
+"<IBASE>\r\n"
+ "<JBOSSHOME>"+document.getElementById("id_JBOSSHOME").value+"</JBOSSHOME>\r\n" +"<TOMCATHOME>"+document.getElementById("id_TOMCATHOME").value+"</TOMCATHOME>\r\n"+"<SMTPHOST>"+document.getElementById("id_SMTPHOST").value+"</SMTPHOST>\r\n";
if(document.getElementById("id_SMTPUSERNAME").value.length > 0)
{
document.getElementById("id_SAVE_STRING").value = document.getElementById("id_SAVE_STRING").value + "<SMTPUSERNAME>"+document.getElementById("id_SMTPUSERNAME").value+"</SMTPUSERNAME>\r\n";
}
if(document.getElementById("id_SMTPPASSWORD").value.length > 0)
{
document.getElementById("id_SAVE_STRING").value = document.getElementById("id_SAVE_STRING").value +"<SMTPPASSWORD>"+document.getElementById("id_SMTPPASSWORD").value+"</SMTPPASSWORD>\r\n";
}
if(document.getElementById("id_POP3HOST").value.length > 0)
{
document.getElementById("id_SAVE_STRING").value = document.getElementById("id_SAVE_STRING").value + "<POP3HOST>"+document.getElementById("id_POP3HOST").value+"</POP3HOST>\r\n";
}
if(document.getElementById("id_POP3USERNAME").value.length > 0)
{
document.getElementById("id_SAVE_STRING").value = document.getElementById("id_SAVE_STRING").value + "<POP3USERNAME>"+document.getElementById("id_POP3USERNAME").value+"</POP3USERNAME>\r\n";
}
if(document.getElementById("id_POP3PASSWORD").value.length > 0)
{
document.getElementById("id_SAVE_STRING").value = document.getElementById("id_SAVE_STRING").value + "<POP3PASSWORD>"+document.getElementById("id_POP3PASSWORD").value+"</POP3PASSWORD>\r\n";
}
if(document.getElementById("id_MAILFROM").value.length > 0)
{
document.getElementById("id_SAVE_STRING").value = document.getElementById("id_SAVE_STRING").value + "<MAILFROM>"+document.getElementById("id_MAILFROM").value+"</MAILFROM>\r\n";
}
if(document.getElementById("id_J2EE_VERSION").value.length > 0)
{
document.getElementById("id_SAVE_STRING").value = document.getElementById("id_SAVE_STRING").value + "<J2EE_VERSION>"+document.getElementById("id_J2EE_VERSION").value+"</J2EE_VERSION>\r\n";
}
if(document.getElementById("id_DBNAME").value.length > 0)
{
document.getElementById("id_SAVE_STRING").value = document.getElementById("id_SAVE_STRING").value + "<DBNAME>"+document.getElementById("id_DBNAME").value+"</DBNAME>\r\n";
}
if(document.getElementById("id_CONTENT_ENCODING").value.length > 0)
{
document.getElementById("id_SAVE_STRING").value = document.getElementById("id_SAVE_STRING").value + "<CONTENT_ENCODING>"+document.getElementById("id_CONTENT_ENCODING").value+"</CONTENT_ENCODING>\r\n";
}
if(document.getElementById("id_DOWNLOAD_PATH").value.length > 0)
{
document.getElementById("id_SAVE_STRING").value = document.getElementById("id_SAVE_STRING").value + "<DOWNLOAD_PATH>"+document.getElementById("id_DOWNLOAD_PATH").value+"</DOWNLOAD_PATH>\r\n";
}
if(document.getElementById("id_READ_MSG_PATH").value.length > 0)
{
document.getElementById("id_SAVE_STRING").value = document.getElementById("id_SAVE_STRING").value + "<READ_MSG_PATH>"+document.getElementById("id_READ_MSG_PATH").value+"</READ_MSG_PATH>\r\n";
}
document.getElementById("id_SAVE_STRING").value = document.getElementById("id_SAVE_STRING").value + "</IBASE>\r\n";
//*/
//alert(document.getElementById("id_SAVE_STRING").value);
}
}
function validate()
{
if((!(IsValidHour(document.getElementById("id_MIN_HR").value))) || (!(IsValidHour(document.getElementById("id_MAX_HR").value))) )
{
alert("Invalid entry in 'Min Hour' or 'Max Hour' field");
return false;
}
else if(!(IsNumeric(document.getElementById("id_MSG_TRACE_LVL").value)) || ((document.getElementById("id_MSG_TRACE_LVL").value) == "" ))
{
alert("Enter Number field in 'Msg Trace' Lvl ");
return false;
}
else if ((!(IsValidTime(document.getElementById("id_TIMER_DELAY").value)))||(!(IsValidTime(document.getElementById("id_IDLE_TIME").value))))
{
alert("Invalid entry in 'Timer Delay' or 'Idle Time' field");
return false;
}
else if((!(IsValidDay(document.getElementById("id_COLLECTION_DAY").value))) || (!(IsValidDay(document.getElementById("id_OPENING_DAY").value))) || (!(IsValidDay(document.getElementById("id_MIN_DAY").value))) || (!(IsValidDay(document.getElementById("id_MAX_DAY").value))))
{
alert("Invalid entry in 'Min Day/Max Day/Collection Day/Opening Day' field");
return false;
}
else if((document.getElementById("id_REC_SEP").value) == "" )
{
alert(" 'Rec Sep' field should not be Empty");
return false;
}
else if (((document.getElementById("id_FIELD_SEP").value) == "" ))
{
alert(" 'Field Sep' field should not be Empty");
return false;
}
else if ((document.getElementById("id_FIELD_SEP").value) == (document.getElementById("id_REC_SEP").value) )
{
alert(" 'Field Sep' field Should not be same as 'Rec Sep'");
return false;
}
else
{
document.getElementById("id_SAVE_STRING").value = "<?xml version=\"1.0\"?>\r\n"
+ "<SYSTEM_PARAMS>\r\n"
+ "<MULTI_CTX>N</MULTI_CTX>\r\n"
+ "<DEF_CTX>JNJ</DEF_CTX>\r\n"
+ "<REC_SEP>"+document.getElementById("id_REC_SEP").value+"</REC_SEP>\r\n"
+ "<FIELD_SEP>"+document.getElementById("id_FIELD_SEP").value+"</FIELD_SEP>\r\n"
+ "<IDLE_TIME>"+document.getElementById("id_IDLE_TIME").value+"</IDLE_TIME>\r\n"
+ "<MSG_TRACE_LVL>"+document.getElementById("id_MSG_TRACE_LVL").value+"</MSG_TRACE_LVL>\r\n"
+ "<PRD_CD_LEN>4</PRD_CD_LEN>\r\n"
+ "<MIN_DAY>"+document.getElementById("id_MIN_DAY").value+"</MIN_DAY>\r\n"
+ "<MIN_HR>"+document.getElementById("id_MIN_HR").value+"</MIN_HR>\r\n"
+ "<MAX_DAY>"+document.getElementById("id_MAX_DAY").value+"</MAX_DAY>\r\n"
+ "<MAX_HR>"+document.getElementById("id_MAX_HR").value+"</MAX_HR>\r\n"
+ "<PSTMT_FLAG>false</PSTMT_FLAG>\r\n"
+ "<TIMER_DELAY>"+document.getElementById("id_TIMER_DELAY").value+"</TIMER_DELAY>\r\n"
+ "<DB_NAME>SEQUEL</DB_NAME>\r\n"
+ "<COLLECTION_DAY>"+document.getElementById("id_COLLECTION_DAY").value+"</COLLECTION_DAY>\r\n"
+ "<OPENING_DAY>"+document.getElementById("id_OPENING_DAY").value+"</OPENING_DAY>\r\n"
+ "</SYSTEM_PARAMS>";
}
}
function IsNumeric(sText)
{
var ValidChars = "0123456789";
var IsNumber=true;
var Char;
for (i = 0; i < sText.length && IsNumber == true; i++)
{
Char = sText.charAt(i);
if (ValidChars.indexOf(Char) == -1)
{
IsNumber = false;
}
}
return IsNumber;
}
function IsValidHour(val)
{
if(!(IsNumeric(val)) ||(val == "")|| ((parseInt(val)< 0) || (parseInt(val) > 23)) )
{
alert("Invalid entry in hour field,(0-23)");
return false;
}
else
{
return true;
}
}
function IsValidDay(val)
{
if(!(IsNumeric(val)) ||(val == "")|| ((parseInt(val)<= 0) || (parseInt(val) > 7)) )
{
alert("Invalid Entry in day Field,(1-7)");
return false;
}
else
{
return true;
}
}
function IsValidTime(val)
{
if(!(IsNumeric(val)) ||(val == "")|| (parseInt(val)<= 0))
{
alert("Invalid entry in Time field");
return false;
}
else
{
return true;
}
}
\ No newline at end of file
/*----------------------------------------------------------------------------\
| Cross Browser Tree Widget 1.17 |
|-----------------------------------------------------------------------------|
| Created by Emil A Eklund |
| (http://webfx.eae.net/contact.html#emil) |
| For WebFX (http://webfx.eae.net/) |
|-----------------------------------------------------------------------------|
| An object based tree widget, emulating the one found in microsoft windows, |
| with persistence using cookies. Works in IE 5+, Mozilla and konqueror 3. |
|-----------------------------------------------------------------------------|
| Copyright (c) 1999 - 2002 Emil A Eklund |
|-----------------------------------------------------------------------------|
| This software is provided "as is", without warranty of any kind, express or |
| implied, including but not limited to the warranties of merchantability, |
| fitness for a particular purpose and noninfringement. In no event shall the |
| authors or copyright holders be liable for any claim, damages or other |
| liability, whether in an action of contract, tort or otherwise, arising |
| from, out of or in connection with the software or the use or other |
| dealings in the software. |
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
| This software is available under the three different licenses mentioned |
| below. To use this software you must chose, and qualify, for one of those. |
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
| The WebFX Non-Commercial License http://webfx.eae.net/license.html |
| Permits anyone the right to use the software in a non-commercial context |
| free of charge. |
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
| The WebFX Commercial license http://webfx.eae.net/commercial.html |
| Permits the license holder the right to use the software in a commercial |
| context. Such license must be specifically obtained, however it's valid for |
| any number of implementations of the licensed software. |
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
| GPL - The GNU General Public License http://www.gnu.org/licenses/gpl.txt |
| Permits anyone the right to use and modify the software without limitations |
| as long as proper credits are given and the original and modified source |
| code are included. Requires that the final product, software derivate from |
| the original source or any software utilizing a GPL component, such as |
| this, is also licensed under the GPL license. |
|-----------------------------------------------------------------------------|
| Dependencies: xtree.css (To set up the CSS of the tree classes) |
|-----------------------------------------------------------------------------|
| 2001-01-10 | Original Version Posted. |
| 2001-03-18 | Added getSelected and get/setBehavior that can make it behave |
| | more like windows explorer, check usage for more information. |
| 2001-09-23 | Version 1.1 - New features included keyboard navigation (ie) |
| | and the ability to add and remove nodes dynamically and some |
| | other small tweaks and fixes. |
| 2002-01-27 | Version 1.11 - Bug fixes and improved mozilla support. |
| 2002-06-11 | Version 1.12 - Fixed a bug that prevented the indentation line |
| | from updating correctly under some circumstances. This bug |
| | happened when removing the last item in a subtree and items in |
| | siblings to the remove subtree where not correctly updated. |
| 2002-06-13 | Fixed a few minor bugs cased by the 1.12 bug-fix. |
| 2002-08-20 | Added usePersistence flag to allow disable of cookies. |
| 2002-10-23 | (1.14) Fixed a plus icon issue |
| 2002-10-29 | (1.15) Last changes broke more than they fixed. This version |
| | is based on 1.13 and fixes the bugs 1.14 fixed withou breaking |
| | lots of other things. |
| 2003-02-15 | The selected node can now be made visible even when the tree |
| | control loses focus. It uses a new class declaration in the |
| | css file '.webfx-tree-item a.selected-inactive', by default it |
| | puts a light-gray rectangle around the selected node. |
| 2003-03-16 | Adding target support after lots of lobbying... |
|-----------------------------------------------------------------------------|
| Created 2000-12-11 | All changes are in the log above. | Updated 2003-03-16 |
\----------------------------------------------------------------------------*/
var webFXTreeConfig = {
rootIcon : '../images/foldericon.png',
openRootIcon : '../images/openfoldericon.png',
folderIcon : '../images/foldericon.png',
openFolderIcon : '../images/openfoldericon.png',
fileIcon : '../images/file.png',
iIcon : '../images/I.png',
lIcon : '../images/L.png',
lMinusIcon : '../images/Lminus.png',
lPlusIcon : '../images/Lplus.png',
tIcon : '../images/T.png',
tMinusIcon : '../images/Tminus.png',
tPlusIcon : '../images/Tplus.png',
blankIcon : '../images/blank.png',
defaultText : 'Tree Item',
defaultAction : 'javascript:void(0);',
defaultBehavior : 'classic',
usePersistence : true
};
var webFXTreeHandler = {
idCounter : 0,
idPrefix : "webfx-tree-object-",
all : {},
behavior : null,
selected : null,
onSelect : null, /* should be part of tree, not handler */
getId : function() { return this.idPrefix + this.idCounter++; },
toggle : function (oItem) { this.all[oItem.id.replace('-plus','')].toggle(); },
select : function (oItem) { this.all[oItem.id.replace('-icon','')].select(); },
focus : function (oItem) { this.all[oItem.id.replace('-anchor','')].focus(); },
blur : function (oItem) { this.all[oItem.id.replace('-anchor','')].blur(); },
keydown : function (oItem, e) { return this.all[oItem.id].keydown(e.keyCode); },
cookies : new WebFXCookie(),
insertHTMLBeforeEnd : function (oElement, sHTML) {
if (oElement.insertAdjacentHTML != null) {
oElement.insertAdjacentHTML("BeforeEnd", sHTML)
return;
}
var df; // DocumentFragment
var r = oElement.ownerDocument.createRange();
r.selectNodeContents(oElement);
r.collapse(false);
df = r.createContextualFragment(sHTML);
oElement.appendChild(df);
}
};
/*
* WebFXCookie class
*/
function WebFXCookie() {
if (document.cookie.length) { this.cookies = ' ' + document.cookie; }
}
WebFXCookie.prototype.setCookie = function (key, value) {
document.cookie = key + "=" + escape(value);
}
WebFXCookie.prototype.getCookie = function (key) {
if (this.cookies) {
var start = this.cookies.indexOf(' ' + key + '=');
if (start == -1) { return null; }
var end = this.cookies.indexOf(";", start);
if (end == -1) { end = this.cookies.length; }
end -= start;
var cookie = this.cookies.substr(start,end);
return unescape(cookie.substr(cookie.indexOf('=') + 1, cookie.length - cookie.indexOf('=') + 1));
}
else { return null; }
}
/*
* WebFXTreeAbstractNode class
*/
function WebFXTreeAbstractNode(sText, sAction) {
this.childNodes = [];
this.id = webFXTreeHandler.getId();
this.text = sText || webFXTreeConfig.defaultText;
this.action = sAction || webFXTreeConfig.defaultAction;
this._last = false;
webFXTreeHandler.all[this.id] = this;
}
/*
* To speed thing up if you're adding multiple nodes at once (after load)
* use the bNoIdent parameter to prevent automatic re-indentation and call
* the obj.ident() method manually once all nodes has been added.
*/
WebFXTreeAbstractNode.prototype.add = function (node, bNoIdent) {
node.parentNode = this;
this.childNodes[this.childNodes.length] = node;
var root = this;
if (this.childNodes.length >= 2) {
this.childNodes[this.childNodes.length - 2]._last = false;
}
while (root.parentNode) { root = root.parentNode; }
if (root.rendered) {
if (this.childNodes.length >= 2) {
document.getElementById(this.childNodes[this.childNodes.length - 2].id + '-plus').src = ((this.childNodes[this.childNodes.length -2].folder)?((this.childNodes[this.childNodes.length -2].open)?webFXTreeConfig.tMinusIcon:webFXTreeConfig.tPlusIcon):webFXTreeConfig.tIcon);
this.childNodes[this.childNodes.length - 2].plusIcon = webFXTreeConfig.tPlusIcon;
this.childNodes[this.childNodes.length - 2].minusIcon = webFXTreeConfig.tMinusIcon;
this.childNodes[this.childNodes.length - 2]._last = false;
}
this._last = true;
var foo = this;
while (foo.parentNode) {
for (var i = 0; i < foo.parentNode.childNodes.length; i++) {
if (foo.id == foo.parentNode.childNodes[i].id) { break; }
}
if (i == foo.parentNode.childNodes.length - 1) { foo.parentNode._last = true; }
else { foo.parentNode._last = false; }
foo = foo.parentNode;
}
webFXTreeHandler.insertHTMLBeforeEnd(document.getElementById(this.id + '-cont'), node.toString());
if ((!this.folder) && (!this.openIcon)) {
this.icon = webFXTreeConfig.folderIcon;
this.openIcon = webFXTreeConfig.openFolderIcon;
}
if (!this.folder) { this.folder = true; this.collapse(true); }
if (!bNoIdent) { this.indent(); }
}
return node;
}
WebFXTreeAbstractNode.prototype.toggle = function() {
if (this.folder) {
if (this.open) { this.collapse(); }
else { this.expand(); }
} }
WebFXTreeAbstractNode.prototype.select = function() {
document.getElementById(this.id + '-anchor').focus();
}
WebFXTreeAbstractNode.prototype.deSelect = function() {
document.getElementById(this.id + '-anchor').className = '';
webFXTreeHandler.selected = null;
}
WebFXTreeAbstractNode.prototype.focus = function() {
if ((webFXTreeHandler.selected) && (webFXTreeHandler.selected != this)) { webFXTreeHandler.selected.deSelect(); }
webFXTreeHandler.selected = this;
if ((this.openIcon) && (webFXTreeHandler.behavior != 'classic')) { document.getElementById(this.id + '-icon').src = this.openIcon; }
document.getElementById(this.id + '-anchor').className = 'selected';
document.getElementById(this.id + '-anchor').focus();
if (webFXTreeHandler.onSelect) { webFXTreeHandler.onSelect(this); }
}
WebFXTreeAbstractNode.prototype.blur = function() {
if ((this.openIcon) && (webFXTreeHandler.behavior != 'classic')) { document.getElementById(this.id + '-icon').src = this.icon; }
document.getElementById(this.id + '-anchor').className = 'selected-inactive';
}
WebFXTreeAbstractNode.prototype.doExpand = function() {
if (webFXTreeHandler.behavior == 'classic') { document.getElementById(this.id + '-icon').src = this.openIcon; }
if (this.childNodes.length) { document.getElementById(this.id + '-cont').style.display = 'block'; }
this.open = true;
if (webFXTreeConfig.usePersistence) {
webFXTreeHandler.cookies.setCookie(this.id.substr(18,this.id.length - 18), '1');
} }
WebFXTreeAbstractNode.prototype.doCollapse = function() {
if (webFXTreeHandler.behavior == 'classic') { document.getElementById(this.id + '-icon').src = this.icon; }
if (this.childNodes.length) { document.getElementById(this.id + '-cont').style.display = 'none'; }
this.open = false;
if (webFXTreeConfig.usePersistence) {
webFXTreeHandler.cookies.setCookie(this.id.substr(18,this.id.length - 18), '0');
} }
WebFXTreeAbstractNode.prototype.expandAll = function() {
this.expandChildren();
if ((this.folder) && (!this.open)) { this.expand(); }
}
WebFXTreeAbstractNode.prototype.expandChildren = function() {
for (var i = 0; i < this.childNodes.length; i++) {
this.childNodes[i].expandAll();
} }
WebFXTreeAbstractNode.prototype.collapseAll = function() {
this.collapseChildren();
if ((this.folder) && (this.open)) { this.collapse(true); }
}
WebFXTreeAbstractNode.prototype.collapseChildren = function() {
for (var i = 0; i < this.childNodes.length; i++) {
this.childNodes[i].collapseAll();
} }
WebFXTreeAbstractNode.prototype.indent = function(lvl, del, last, level, nodesLeft) {
/*
* Since we only want to modify items one level below ourself,
* and since the rightmost indentation position is occupied by
* the plus icon we set this to -2
*/
if (lvl == null) { lvl = -2; }
var state = 0;
for (var i = this.childNodes.length - 1; i >= 0 ; i--) {
state = this.childNodes[i].indent(lvl + 1, del, last, level);
if (state) { return; }
}
if (del) {
if ((level >= this._level) && (document.getElementById(this.id + '-plus'))) {
if (this.folder) {
document.getElementById(this.id + '-plus').src = (this.open)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.lPlusIcon;
this.plusIcon = webFXTreeConfig.lPlusIcon;
this.minusIcon = webFXTreeConfig.lMinusIcon;
}
else if (nodesLeft) { document.getElementById(this.id + '-plus').src = webFXTreeConfig.lIcon; }
return 1;
} }
var foo = document.getElementById(this.id + '-indent-' + lvl);
if (foo) {
if ((foo._last) || ((del) && (last))) { foo.src = webFXTreeConfig.blankIcon; }
else { foo.src = webFXTreeConfig.iIcon; }
}
return 0;
}
/*
* WebFXTree class
*/
function WebFXTree(sText, sAction, sBehavior, sIcon, sOpenIcon) {
this.base = WebFXTreeAbstractNode;
this.base(sText, sAction);
this.icon = sIcon || webFXTreeConfig.rootIcon;
this.openIcon = sOpenIcon || webFXTreeConfig.openRootIcon;
/* Defaults to open */
if (webFXTreeConfig.usePersistence) {
this.open = (webFXTreeHandler.cookies.getCookie(this.id.substr(18,this.id.length - 18)) == '0')?false:true;
} else { this.open = true; }
this.folder = true;
this.rendered = false;
this.onSelect = null;
if (!webFXTreeHandler.behavior) { webFXTreeHandler.behavior = sBehavior || webFXTreeConfig.defaultBehavior; }
}
WebFXTree.prototype = new WebFXTreeAbstractNode;
WebFXTree.prototype.setBehavior = function (sBehavior) {
webFXTreeHandler.behavior = sBehavior;
};
WebFXTree.prototype.getBehavior = function (sBehavior) {
return webFXTreeHandler.behavior;
};
WebFXTree.prototype.getSelected = function() {
if (webFXTreeHandler.selected) { return webFXTreeHandler.selected; }
else { return null; }
}
WebFXTree.prototype.remove = function() { }
WebFXTree.prototype.expand = function() {
this.doExpand();
}
WebFXTree.prototype.collapse = function(b) {
if (!b) { this.focus(); }
this.doCollapse();
}
WebFXTree.prototype.getFirst = function() {
return null;
}
WebFXTree.prototype.getLast = function() {
return null;
}
WebFXTree.prototype.getNextSibling = function() {
return null;
}
WebFXTree.prototype.getPreviousSibling = function() {
return null;
}
WebFXTree.prototype.keydown = function(key) {
if (key == 39) {
if (!this.open) { this.expand(); }
else if (this.childNodes.length) { this.childNodes[0].select(); }
return false;
}
if (key == 37) { this.collapse(); return false; }
if ((key == 40) && (this.open) && (this.childNodes.length)) { this.childNodes[0].select(); return false; }
return true;
}
WebFXTree.prototype.toString = function() {
var str = "<div id=\"" + this.id + "\" ondblclick=\"document.all['FileDiv'].innerHTML='';webFXTreeHandler.toggle(this);\" class=\"webfx-tree-item\" onkeydown=\"return webFXTreeHandler.keydown(this, event)\">" +
"<img id=\"" + this.id + "-icon\" class=\"webfx-tree-icon\" src=\"" + ((webFXTreeHandler.behavior == 'classic' && this.open)?this.openIcon:this.icon) + "\" onclick=\"webFXTreeHandler.select(this);\">" +
"<a href=\"" + this.action + "\" id=\"" + this.id + "-anchor\" onfocus=\"webFXTreeHandler.focus(this);\" onblur=\"webFXTreeHandler.blur(this);\"" +
(this.target ? " target=\"" + this.target + "\"" : "") +
">" + this.text + "</a></div>" +
"<div id=\"" + this.id + "-cont\" class=\"webfx-tree-container\" style=\"display: " + ((this.open)?'block':'none') + ";\">";
var sb = [];
for (var i = 0; i < this.childNodes.length; i++) {
sb[i] = this.childNodes[i].toString(i, this.childNodes.length);
}
this.rendered = true;
return str + sb.join("") + "</div>";
};
/*
* WebFXTreeItem class
*/
function WebFXTreeItem(sText, sAction, eParent, sIcon, sOpenIcon) {
this.base = WebFXTreeAbstractNode;
this.base(sText, sAction);
/* Defaults to close */
if (webFXTreeConfig.usePersistence) {
this.open = (webFXTreeHandler.cookies.getCookie(this.id.substr(18,this.id.length - 18)) == '1')?true:false;
} else { this.open = false; }
if (sIcon) { this.icon = sIcon; }
if (sOpenIcon) { this.openIcon = sOpenIcon; }
if (eParent) { eParent.add(this); }
}
WebFXTreeItem.prototype = new WebFXTreeAbstractNode;
WebFXTreeItem.prototype.remove = function() {
var iconSrc = document.getElementById(this.id + '-plus').src;
var parentNode = this.parentNode;
var prevSibling = this.getPreviousSibling(true);
var nextSibling = this.getNextSibling(true);
var folder = this.parentNode.folder;
var last = ((nextSibling) && (nextSibling.parentNode) && (nextSibling.parentNode.id == parentNode.id))?false:true;
this.getPreviousSibling().focus();
this._remove();
if (parentNode.childNodes.length == 0) {
document.getElementById(parentNode.id + '-cont').style.display = 'none';
parentNode.doCollapse();
parentNode.folder = false;
parentNode.open = false;
}
if (!nextSibling || last) { parentNode.indent(null, true, last, this._level, parentNode.childNodes.length); }
if ((prevSibling == parentNode) && !(parentNode.childNodes.length)) {
prevSibling.folder = false;
prevSibling.open = false;
iconSrc = document.getElementById(prevSibling.id + '-plus').src;
iconSrc = iconSrc.replace('minus', '').replace('plus', '');
document.getElementById(prevSibling.id + '-plus').src = iconSrc;
document.getElementById(prevSibling.id + '-icon').src = webFXTreeConfig.fileIcon;
}
if (document.getElementById(prevSibling.id + '-plus')) {
if (parentNode == prevSibling.parentNode) {
iconSrc = iconSrc.replace('minus', '').replace('plus', '');
document.getElementById(prevSibling.id + '-plus').src = iconSrc;
} } }
WebFXTreeItem.prototype._remove = function() {
for (var i = this.childNodes.length - 1; i >= 0; i--) {
this.childNodes[i]._remove();
}
for (var i = 0; i < this.parentNode.childNodes.length; i++) {
if (this == this.parentNode.childNodes[i]) {
for (var j = i; j < this.parentNode.childNodes.length; j++) {
this.parentNode.childNodes[j] = this.parentNode.childNodes[j+1];
}
this.parentNode.childNodes.length -= 1;
if (i + 1 == this.parentNode.childNodes.length) { this.parentNode._last = true; }
break;
} }
webFXTreeHandler.all[this.id] = null;
var tmp = document.getElementById(this.id);
if (tmp) { tmp.parentNode.removeChild(tmp); }
tmp = document.getElementById(this.id + '-cont');
if (tmp) { tmp.parentNode.removeChild(tmp); }
}
WebFXTreeItem.prototype.expand = function() {
this.doExpand();
document.getElementById(this.id + '-plus').src = this.minusIcon;
}
WebFXTreeItem.prototype.collapse = function(b) {
if (!b) { this.focus(); }
this.doCollapse();
document.getElementById(this.id + '-plus').src = this.plusIcon;
}
WebFXTreeItem.prototype.getFirst = function() {
return this.childNodes[0];
}
WebFXTreeItem.prototype.getLast = function() {
if (this.childNodes[this.childNodes.length - 1].open) { return this.childNodes[this.childNodes.length - 1].getLast(); }
else { return this.childNodes[this.childNodes.length - 1]; }
}
WebFXTreeItem.prototype.getNextSibling = function() {
for (var i = 0; i < this.parentNode.childNodes.length; i++) {
if (this == this.parentNode.childNodes[i]) { break; }
}
if (++i == this.parentNode.childNodes.length) { return this.parentNode.getNextSibling(); }
else { return this.parentNode.childNodes[i]; }
}
WebFXTreeItem.prototype.getPreviousSibling = function(b) {
for (var i = 0; i < this.parentNode.childNodes.length; i++) {
if (this == this.parentNode.childNodes[i]) { break; }
}
if (i == 0) { return this.parentNode; }
else {
if ((this.parentNode.childNodes[--i].open) || (b && this.parentNode.childNodes[i].folder)) { return this.parentNode.childNodes[i].getLast(); }
else { return this.parentNode.childNodes[i]; }
} }
WebFXTreeItem.prototype.keydown = function(key) {
if ((key == 39) && (this.folder)) {
if (!this.open) { this.expand(); }
else { this.getFirst().select(); }
return false;
}
else if (key == 37) {
if (this.open) { this.collapse(); }
else { this.parentNode.select(); }
return false;
}
else if (key == 40) {
if (this.open) { this.getFirst().select(); }
else {
var sib = this.getNextSibling();
if (sib) { sib.select(); }
}
return false;
}
else if (key == 38) { this.getPreviousSibling().select(); return false; }
return true;
}
WebFXTreeItem.prototype.toString = function (nItem, nItemCount) {
var foo = this.parentNode;
var indent = '';
if (nItem + 1 == nItemCount) { this.parentNode._last = true; }
var i = 0;
while (foo.parentNode) {
foo = foo.parentNode;
indent = "<img id=\"" + this.id + "-indent-" + i + "\" src=\"" + ((foo._last)?webFXTreeConfig.blankIcon:webFXTreeConfig.iIcon) + "\">" + indent;
i++;
}
this._level = i;
if (this.childNodes.length) { this.folder = 1; }
else { this.open = false; }
if ((this.folder) || (webFXTreeHandler.behavior != 'classic')) {
if (!this.icon) { this.icon = webFXTreeConfig.folderIcon; }
if (!this.openIcon) { this.openIcon = webFXTreeConfig.openFolderIcon; }
}
else if (!this.icon) { this.icon = webFXTreeConfig.fileIcon; }
var label = this.text.replace(/</g, '&lt;').replace(/>/g, '&gt;');
var str = "<div id=\"" + this.id + "\" ondblclick=\"showSelectedDirFiles(tree.getSelected().text);webFXTreeHandler.toggle(this);\" class=\"webfx-tree-item\" onkeydown=\"return webFXTreeHandler.keydown(this, event)\">" +
indent +
"<img id=\"" + this.id + "-plus\" src=\"" + ((this.folder)?((this.open)?((this.parentNode._last)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.tMinusIcon):((this.parentNode._last)?webFXTreeConfig.lPlusIcon:webFXTreeConfig.tPlusIcon)):((this.parentNode._last)?webFXTreeConfig.lIcon:webFXTreeConfig.tIcon)) + "\" onclick=\"webFXTreeHandler.toggle(this);\">" +
"<img id=\"" + this.id + "-icon\" class=\"webfx-tree-icon\" src=\"" + ((webFXTreeHandler.behavior == 'classic' && this.open)?this.openIcon:this.icon) + "\" onclick=\"webFXTreeHandler.select(this);\">" +
"<a href=\"" + this.action + "\" id=\"" + this.id + "-anchor\" onfocus=\"webFXTreeHandler.focus(this);\" onblur=\"webFXTreeHandler.blur(this);\"" +
(this.target ? " target=\"" + this.target + "\"" : "") +
">" + label + "</a></div>" +
"<div id=\"" + this.id + "-cont\" class=\"webfx-tree-container\" style=\"display: " + ((this.open)?'block':'none') + ";\">";
var sb = [];
for (var i = 0; i < this.childNodes.length; i++) {
sb[i] = this.childNodes[i].toString(i,this.childNodes.length);
}
this.plusIcon = ((this.parentNode._last)?webFXTreeConfig.lPlusIcon:webFXTreeConfig.tPlusIcon);
this.minusIcon = ((this.parentNode._last)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.tMinusIcon);
return str + sb.join("") + "</div>";
}
\ No newline at end of file
<!-- /**
* PURPOSE : Scan loc_code and lon_no OR LOT_SL then Display Detail information of stock.
* AUTHOR : Created By Dhanraj Thakare On 05/09/2014 W14FSUN004
*
*/ -->
<%//Changed by Dhanraj on 05/09/14[W14FSUN004 || Set Encoding] %>
<%@page import="java.rmi.RemoteException"%>
<%@page import="ibase.webitm.utility.ITMException"%>
<%@page contentType="text/html"%>
<%@page import="javax.xml.parsers.DocumentBuilderFactory,javax.xml.parsers.DocumentBuilder,org.w3c.dom.*"%>
<%@page import="ibase.utility.CommonConstants"%>
<%@page import="javax.naming.InitialContext"%>
<%@page import="javax.naming.Context"%>
<%@page import="org.w3c.dom.Node"%>
<%@page import="java.util.List"%>
<%@page import="org.w3c.dom.NodeList"%>
<%@page import="ibase.webitm.utility.GenericUtility"%>
<%@page import="ibase.utility.CommonConstants"%>
<jsp:useBean id = "stockinfo" scope = "application" class = "ibase.webitm.bean.wms.InventoryDispInfoBean" />
<%
ibase.utility.UserInfoBean userInfo = null;
//Changed by Nazia on 10-Sep-2008[Added try and catch block to avoid null exception when session expired]
try
{
//Changed by Dayanand on 02/02/10[WI89SUN045 || Set Encoding]
request.setCharacterEncoding(CommonConstants.ENCODING);
System.out.println("<------- InventoryDeatilsInfo.jsp ---------->");
System.out.println("Session Id :"+session.getId());
//Changed by Nazia on 10-Sep-2008[variable is defined before try ]Start
//ibase.utility.UserInfoBean userInfo = ( ibase.utility.UserInfoBean )session.getAttribute( "USER_INFO" );
userInfo = ( ibase.utility.UserInfoBean )session.getAttribute( "USER_INFO" );
String loginID = userInfo.getLoginCode();
String site = userInfo.getSiteCode();
String password = "No Authentication";
if (site == null || (site != null && site.equalsIgnoreCase("null")) || (site != null && site.trim().length() <=0))
{
site = "SP801";
}
String javascript = "enabled";
System.out.println("loginID :"+loginID+", password : **** , Site :"+site);
//Changed by Nazia on 09-Sep-2008[send empCode to DoctorEvents.jsp for show status BI89SUN008]Start
String empCode = userInfo.getEmpCode().trim();
String callFromIbase = request.getParameter("callFromIbase");
System.out.println(" ######### callFromIbase ["+callFromIbase+"] ######### ");
//Changed by Nazia on 09-Sep-2008[BI89SUN008]End
%><html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body bgcolor="white">
<%
if((request.getParameter("location") != null || request.getParameter("lotno") != null || request.getParameter("lotsl") != null) &&
(!"".equals(request.getParameter("location")) || !"".equals(request.getParameter("lotno")) || !"".equals(request.getParameter("lotsl"))))// for all condition.
{ //After submit
GenericUtility genericUtility = GenericUtility.getInstance();
String lotNo="";
String location="";
String lotSl="";
location = request.getParameter("location").trim();
lotNo = request.getParameter("lotno").trim();
lotSl = request.getParameter("lotsl").trim();
/* out.println(lotNo);
out.println(location);
out.println(lotSl); */
//Start To Read xml code.....................
String xmlString = "";
String objName = "";
Document dom = null;
NodeList dtlList = null;
Node parentNode = null;
NodeList childNodeList = null;
Node currDetail = null;
String childNodeName = "";
String locationCode="";
String item="";
int tdCount=5;
boolean scanbyLotSl = true;//false;
boolean locFlg=true;
boolean lotFlg=true;
boolean lpnFlg=true;
String scanInfo = "";
if("".equals(location) && "".equals(lotNo) && "".equals(lotSl))
{
/* xmlString=stpd.getStocklDataLpn(lotSl);
scanInfo=lotSl;
scanbyLotSl=true; */
out.println("Please Scan Any one Location Code,LotNo OR Lot SL(lpn)");
}else
{
/* //out.println("Call lot location");
if("".equals(location) || "".equals(lotNo)){
out.println("Please Scan Location Code and LotNo OR Lot SL(lpn)");
}else{
xmlString=stpd.getStocklDataLoc(location,lotNo);
scanInfo = location+" "+lotNo;
scanbyLotSl = false;
} */
// out.println("STR LEN "+stockDetialInfo.length()+" ===========>"+stockDetialInfo.toString());
if("".equals(location)){
tdCount++;
}else{
locFlg=false;
scanInfo=location;
}
if("".equals(lotNo)){
tdCount++;
}else{
lotFlg=false;
if("".equals(scanInfo)){
scanInfo= scanInfo+" "+lotNo;
}else{
scanInfo= scanInfo+" : "+lotNo;
}
}
if("".equals(lotSl))
{
tdCount++;
}else{
lpnFlg=false;
if("".equals(scanInfo)){
scanInfo=scanInfo+" "+lotSl;
}else{
scanInfo=scanInfo+" : "+lotSl;
}
}
System.out.println(" tdCount$$$$$4=== "+tdCount);
xmlString=stockinfo.getStocklDataLoc(location,lotNo,lotSl,site);
}
String str123=""+tdCount;
System.out.println(" xmlString===================================>"+xmlString);
%>
<table style="position: absolute; top: 10px;left:0px; height: auto; width:240pt;">
<TR align="center" style=" text-align : center; color : #FFFFFF; background : darkblue;font : 5ptArial; cursor : hand;font-size:11pt;">
<TD colspan="<%=tdCount%>" >Inventory Information</TD>
</TR>
<TR align="center" style=" text-align : center; color : #FFFFFF; background : darkblue;font : 5ptArial; cursor : hand;font-size:10pt;">
<TD colspan="<%=tdCount%>" ><%=scanInfo%></TD>
</TR>
<TR style=" text-align : center; color : black; background : #c0c0c0; font : 3ptArial; cursor : hand;font-size:10pt;">
<%if(scanbyLotSl)
{ %>
<TD Title="Item Code" >Item</TD>
<%if(locFlg){ %>
<TD Title="Location Code">Location</TD>
<%}if(lotFlg){ %>
<TD Title="Lot No">Lot</TD>
<%}if(lpnFlg){ %>
<TD Title="Lpn NO">Lpn</TD>
<%}%>
<TD Title="Quantity" >Qty</TD>
<TD Title="Allocation Quantity" >Alloc Qty</TD>
<TD Title="Available Quantity">Bal Qty</TD>
<TD Title="Pallet Weight">Pallet Wt</TD>
</TR>
<%}%>
<%-- <%}else{%>
<TD Title="Location Code">location</TD>
<TD Title="Lot No">lot</TD>
<TD Title="Item Code" >item</TD>
<TD Title="Quantity">qty</TD>
<TD Title="Allocation Quantity">alloc qty</TD>
<TD Title="Available Quantity">bal qty</TD>
<TD Title="Pallet Weight">pallet wt</TD>
<%}%> --%>
<%
if (xmlString != null && xmlString.trim().length() > 0)
{
System.out.println(" Start work for read xml string");
dom = genericUtility.parseString(xmlString);
if (dom != null)
{
dtlList = dom.getElementsByTagName("Detail1");
System.out.println(" dtlList .getLength()===>"+ dtlList.getLength());
for (int cntr = 0; cntr < dtlList.getLength(); cntr++)
{
parentNode = dtlList.item(cntr);
childNodeList = parentNode.getChildNodes();
String holdFlg="0";
System.out.println(" childNodeList .getLength()===>"+ childNodeList .getLength());
%> <TR style=" text-align : left; color : black; background : white; font : 3ptArial; cursor : hand;font-size:7pt;"> <%
for (int nodCtr = 0; nodCtr < childNodeList .getLength(); nodCtr++)
{
Node subChildNode = childNodeList.item(nodCtr);
String subchildNodeName = subChildNode.getNodeName();
System.out.println(" subchildNodeName======>>> "+subchildNodeName);
if(scanbyLotSl)//location and lotno
{
if (subchildNodeName.trim().equals("hold_flg")) // gross_wt
{
holdFlg = subChildNode.getFirstChild().getNodeValue();
System.out.println(" From Xml holdFlgis===>"+holdFlg);
if("1".equals(holdFlg))
{
System.out.println("Call 1");
}
}
else if (subchildNodeName.trim().equals("loc_code")) // loc_code
{
System.out.println("Call 1"+holdFlg);
locationCode = subChildNode.getFirstChild().getNodeValue();
System.out.println(" From Xml location code is===>"+locationCode);
if(locFlg){
if("1".equals(holdFlg)){
holdFlg="0";
%> <TD align="left"><img src="../images/lock_red.jpg" width="10" height="10"><%=locationCode %> </TD><%
}else{
%> <TD align="left"><%=locationCode %> </TD><%
}
}
}
else if (subchildNodeName.trim().equals("lot_no")) // lot no
{
String lotNoxml = subChildNode.getFirstChild().getNodeValue();
System.out.println(" From Xml location code is===>"+lotNoxml);
if(lotFlg){
if("1".equals(holdFlg)){
holdFlg="0";
%> <TD align="left"><img src="../images/lock_red.jpg" width="10" height="10"><%=lotNoxml %> </TD><%
}else{
%> <TD align="left"><%=lotNoxml %> </TD><%
}
}
}
else if (subchildNodeName.trim().equals("lot_sl")) // lotsl
{
lotSl = subChildNode.getFirstChild().getNodeValue();
System.out.println(" From Xml lotsl is===>"+locationCode);
if(lpnFlg){
if("1".equals(holdFlg)){
holdFlg="0";
%> <TD align="left"><img src="../images/lock_red.jpg" width="10" height="10"><%=lotSl%> </TD><%
}else{
%> <TD align="left"><%=lotSl%> </TD><%
}
}
}
else if (subchildNodeName.trim().equals("item")) //Item
{
System.out.println("Call 1"+holdFlg);
item = subChildNode.getFirstChild().getNodeValue();
System.out.println(" From Xml item code is===>"+item);
if("1".equals(holdFlg)){
holdFlg="0";
%><TD align="left" nowrap="nowrap"><img src="../images/lock_red.jpg" width="10" height="10"><%=item%> </TD><%
}else{
%><TD align="left" nowrap="nowrap"><%=item%> </TD><%
}
}
else if (subchildNodeName.trim().equals("quantity")) //qty
{
String quantity = subChildNode.getFirstChild().getNodeValue();
System.out.println(" From Xml qty is===>"+quantity);
%> <TD align="right"><%=quantity %> </TD><%
}
else if (subchildNodeName.trim().equals("alloc_qty")) // Replenishment Tasks
{
String allocQty = subChildNode.getFirstChild().getNodeValue();
System.out.println(" From Xml alloc qty is===>"+allocQty);
%> <TD align="right"><%=allocQty%> </TD><%
}
else if (subchildNodeName.trim().equals("avail_qty")) // Replenishment Tasks
{
String availQty = subChildNode.getFirstChild().getNodeValue();
System.out.println(" From Xml Avai qty is===>"+availQty);
%> <TD align="right"><%=availQty %> </TD><%
}
else if (subchildNodeName.trim().equals("gross_wt")) // gross_wt
{
String grossWt = subChildNode.getFirstChild().getNodeValue();
System.out.println(" From Xml gross wt is===>"+grossWt);
%> <TD align="right"><%=Math.floor(Double.parseDouble(grossWt))%> </TD><%
}
else if (subchildNodeName.trim().equals("item_descr")) // gross_wt
{
String itemDescr = subChildNode.getFirstChild().getNodeValue();
System.out.println(" From Xml itemDescr is===>"+itemDescr);
}
}//My Codi close
}//TD FOR Close
%></TR><%
}// TR FOR
%>
<TR align="center" style=" text-align : left;">
<TD colspan="<%=tdCount%>" ><INPUT Type="button" VALUE="Back" onClick="history.go(-1);return true;"></TD>
</TR><%
}//dom close
}//All XML Detail close.
%>
</table>
<%
}else{ //For First page
%>
<form id="myForm" action="InventoryDetailsInfo.jsp" method="GET">
<div align="Center" ><!-- style="width:100%; height: 100%; text-align: center; "> -->
<table>
<TR align="right">
<TD>Location Code :</TD>
<TD><INPUT TYPE="TEXT" NAME='location' id='location' autofocus/></TD>
</TR>
<TR align="right">
<TD>LOT :</TD>
<TD><INPUT TYPE="TEXT" NAME='lotno' id='lotno' /></TD>
</TR >
<TR align="right">
<TD>LPN :</TD>
<TD><INPUT TYPE="TEXT" NAME='lotsl' id='lotsl' /></TD>
</TR>
<TR>
<TD colspan="2" align="center">
<INPUT TYPE="submit" value="SUBMIT" NAME="subbutton" />
<!-- <input type="button" onclick="myFunction()" value="Submit form"/> -->
</TD>
</TR>
</table>
</div>
</form>
<%}%>
<!-- <script>
function myFunction() {
document.getElementById("myForm").submit();
}
</script> -->
</body>
</html>
<%}//Changed by Nazia on 10-Sep-2008[Added try and catch block to avoid null exception when session expired]
catch(Exception e)
{
if(userInfo==null)
{
out.println("Session Expired,Please relogin to continue.");
}
}
%>
<%@page import="java.rmi.RemoteException"%>
<%@page import="ibase.webitm.utility.ITMException"%>
<%@page contentType="text/html"%>
<%@page import="javax.xml.parsers.DocumentBuilderFactory,javax.xml.parsers.DocumentBuilder,org.w3c.dom.*"%>
<%@page import="ibase.utility.CommonConstants"%>
<%@page import="javax.naming.InitialContext"%>
<%@page import="javax.naming.Context"%>
<%@page import="org.w3c.dom.Node"%>
<%@page import="java.util.ArrayList"%>
<%@page import="java.util.List"%>
<%@page import="org.w3c.dom.NodeList"%>
<%@page import="ibase.webitm.utility.GenericUtility"%>
<%@page import="ibase.dashboard.scm.bean.*"%>
<jsp:useBean id="scmdasBean" scope="request" class="ibase.webitm.bean.wms.LocationStockOccuBean" />
<html>
<head>
<link rel="stylesheet" type="text/css" href="/ibase/wms/css/scmdashboard.css" />
<link rel="stylesheet" type="text/css" href="/ibase/wms/css/ui.dropdownchecklist.standalone.css" />
<link rel="stylesheet" type="text/css" href="/ibase/wms/css/jquery-ui.css" />
<script type="text/javascript" src="/ibase/wms/jquery/jquery-1.6.1.min.js"></script>
<script type="text/javascript" src="/ibase/wms/jquery/jquery-ui-1.8.13.custom.min.js"></script>
<script type="text/javascript" src="/ibase/wms/jquery/ui.dropdownchecklist-1.4-min.js"></script>
<%!GenericUtility genericUtility = GenericUtility.getInstance();
String xmlString = "";
String objName = "";
Document dom = null;
NodeList dtlList = null;
Node parentNode = null;
NodeList childNodeList = null;
Node currDetail = null;
String childNodeName = "", locPhyArea = "", areaDtlString = "", selectedArea = "",imgSrc ="";
String siteCode = "";
String locationRange="";
NodeList rowList = null, stackList = null, columnList = null;
boolean stockNotPresent;
boolean stockPresent;
Node childNode = null;
Node rowNode = null, stackNode = null, columnNode = null;
String areaStr = "";
NodeList locationCodeList = null;
Node locationNode = null;
NodeList stockList = null;
int frmTop;
int frmLeft;
%>
<%
response.setHeader("Expires", "Sat, 6 May 1995 12:00:00 GMT");
response.setHeader("Cache-Control", "no-store, no-cache,must-revalidate");
response.addHeader("Cache-Control", "post-check=0, pre-check=0");
response.setHeader("Pragma", "no-cache");
int ctr = 0;
%>
<script type="text/javascript">
$(document).ready(function()
{
$("#area").dropdownchecklist({emptyText: "Select ", width:100, height:25 });
$( "#opendiv" ).dialog({
autoOpen: false,
modal: false,
draggable: false,
height: "auto",
width: "auto",
resizable: false,
position: [630,30],
closeOnEscape: true,
});
$("#opendiv").dialog({width:400,height:150});
$( "#img" ).click(function()
{
$( "#opendiv" ).dialog( "open" );
});
$( "#cancel" ).click(function()
{
$( "#opendiv" ).dialog( "close" );
});
$( "#ok" ).click(function()
{
var area= $("#area").val();
var locationRange = $("#locationRange").val();
$('#LocationStockOccupancy').attr('action', 'LocationStockOccupancy.jsp?area='+area+'&locationRange='+locationRange);
$('#LocationStockOccupancy').submit();
//document.getElementById("LocationStockOccupancy").submit();
});
});
</script>
<script type="text/javascript">
function getStockDtl(location,row,stack,column)
{
var newTable,startTag,endTag;
startTag="<TABLE id='parentStkTbl' class='parentstktbl' ><TBODY>"
endTag="</TBODY></TABLE>"
newTable=startTag;
<% areaStr = areaStr.replaceAll("\"", "'"); %>
data="<%=areaStr%>";
if (window.DOMParser)
{
parser = new DOMParser();
xmlDoc = parser.parseFromString(data, "text/xml");
} else
{
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false;
xmlDoc.loadXML(data);
}
if (xmlDoc != null && xmlDoc != "")
{
x=xmlDoc.getElementsByTagName("loc_phy_area")[0]
locPhyRowList=x.childNodes;
if(locPhyRowList !=null)
{
for (i = 0; i < locPhyRowList.length; i++)
{
locPhyRow = locPhyRowList[i];
if(locPhyRowList[i].attributes !=null)
{
rowValue=locPhyRowList[i].attributes.getNamedItem("row").nodeValue;
if(rowValue==row)
{
locPhyStackList=locPhyRow.childNodes;
for (j = 0; j < locPhyStackList.length; j++)
{
locPhyStack=locPhyStackList[j];
if(locPhyStackList[j].attributes !=null)
{
stackValue=locPhyStackList[j].attributes.getNamedItem("stack").nodeValue;
if(stackValue ==stack)
{
locPhyColList=locPhyStack.childNodes;
for (k = 0; k < locPhyColList.length; k++)
{
locPhyCol=locPhyColList[k];
colValue=locPhyCol.getAttribute("col");
if(colValue==column)
{
locationCodeList=locPhyCol.childNodes;
for (l = 0; l <locationCodeList.length; l++)
{
locationCode=locationCodeList[l];
locationCodeValue=locationCode.getAttribute("lcode");
if(locationCodeValue==location)
{
stockList= locationCode.childNodes;
if(stockList !=null)
{
for (m = 0; m<stockList.length; m++)
{
stock=stockList[m];
stockDtl=stock.childNodes;
newTable+="<TR>";
newTable+="<TD>";
newTable+="<TABLE id='stockTbl' class='stocktbl'>";
for (n = 0; n<stockDtl.length; n++)
{
if(n==0)
{
newTable+="<TR>";
newTable+="<TD>Item Code :"+stockDtl[n].childNodes[0].nodeValue +"</TD>";
}
if(n==2)
{
newTable+="<TR>";
newTable+="<TD>Lot No :"+stockDtl[n].childNodes[0].nodeValue +"</TD> ";
newTable+="</TR>";
}
if(n==1)
{
newTable+="<TD>Description :"+stockDtl[n].childNodes[0].nodeValue+"</TD>";
newTable+="</TR>";
}
if(n==3)
{
newTable+="<TR>";
newTable+="<TD>Lot Serial :"+stockDtl[n].childNodes[0].nodeValue +"</TD> ";
newTable+="</TR>";
}
if(n==4)
{
newTable+="<TR>";
newTable+="<TD > Quantity :"+stockDtl[n].childNodes[0].nodeValue +"</TD> ";
}
if(n==5)
{
newTable+="<TD >Hold Quantity :"+stockDtl[n].childNodes[0].nodeValue +"</TD> ";
newTable+="</TR>";
}
if(n==6)
{
newTable+="<TR>";
newTable+="<TD>Allocated Qty :"+stockDtl[n].childNodes[0].nodeValue +"</TD> ";
newTable+="</TR>";
}
if(n==7)
{
newTable+="<TR>";
newTable+="<TD>Mfg. Date :"+stockDtl[n].childNodes[0].nodeValue +"</TD> ";
}
if(n==8)
{
newTable+="<TD>Expiry Date :"+stockDtl[n].childNodes[0].nodeValue +"</TD> ";
newTable+="</TR>";
}
if(n==9)
{
newTable+="</TR>";
newTable+="<TD>Retest Date :"+stockDtl[n].childNodes[0].nodeValue +"</TD> ";
newTable+="</TR>";
}
}
newTable+="</TABLE>";
newTable+="</TD>";
newTable+="</TR>";
if(m< stockList.length-1)
{
newTable+="<TR> <TD> &nbsp;</TD></TR>";
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
newTable+=endTag;
document.getElementById('stocktableDiv').innerHTML=newTable;
$("#stocktableDiv").dialog({width:425,height:350});
$("#FieldOnFocus").attr('value',this.id);
$('#stocktableDiv').css({
width: '425px',
});
if(location==null)
{
$('#stocktableDiv').dialog('close');
}
var span=document.getElementById("ui-dialog-title-stocktableDiv");
while(span.firstChild)
{
span.removeChild(span.firstChild);
}
span.appendChild(document.createTextNode(location));
}
</script>
</head>
<%
try {
ibase.utility.UserInfoBean userInfo = (ibase.utility.UserInfoBean) session.getAttribute("USER_INFO");
String user = userInfo.getLoginCode();
siteCode = request.getParameter("SITE_CODE");
System.out.println("siteCode:::::"+siteCode);
if (siteCode == null || siteCode.trim().length() == 0 )
{
siteCode = userInfo.getSiteCode();
// siteCode = "TA387";
}
//siteCode = "TA821";//this is static .because there is no data found
if(xmlString == "")
{
xmlString = scmdasBean.getLocPhyArea();
}
//Add New Code on dated 21 Aug 2014
selectedArea = request.getParameter("area");
locationRange = request.getParameter("locationRange");
if(locationRange==null){
locationRange ="";
}
if(selectedArea!=null && selectedArea.trim().length() != 0 )
{
areaStr = scmdasBean.getLocDtl(selectedArea, siteCode,locationRange);
}
//end code on dated 21Aug2014
%>
<body>
<table class="pagetitle">
<tr>
<td> Location Stock Occupancy</td>
<td height="26" align="right"> <img id='img' class="img" alt="" src="/ibase/dashboard/scm/images/index.jpeg" onclick="divopen()" />
</tr>
</table>
<form method="post" id='LocationStockOccupancy' action="LocationStockOccupancy.jsp" name="LocationStockOccupancy">
<div id='opendiv' >
<table class='popUpFiltrTbl' >
<tr>
<td> Area <select name="area" id="area" >
<%
if (xmlString != null && xmlString.trim().length() > 0)
{
dom = genericUtility.parseString(xmlString);
if (dom != null)
{
dtlList = dom.getElementsByTagName("Detail");
for (int cntr = 0; cntr < dtlList.getLength(); cntr++)
{
parentNode = dtlList.item(cntr);
childNodeList = parentNode.getChildNodes();
for (int nodCtr = 0; nodCtr < childNodeList .getLength(); nodCtr++)
{
currDetail = childNodeList.item(nodCtr);
childNodeName = currDetail.getNodeName();
if (childNodeName.trim().equals("loc_phy_area"))
{
//locPhyArea = currDetail.getFirstChild().getNodeValue();
locPhyArea = currDetail.getTextContent();
if (locPhyArea != "")
{
%>
<option class="area"><%=locPhyArea%>
</option>
<%
}
}
}
}
}
}
%>
</select>
</td> <td> Location Range Like <input type text name="locationRange"
id="locationRange" size="10" value="<%=locationRange%>"></td>
</tr>
</table>
<div style="position: absolute;left:300;top:94; ">
<table>
<tr>
<td>
<input type="button" id='cancel' name='cancel' value="Cancel">
<input type="button" id='ok' name="ok" value="Ok" /></td>
</tr>
</table>
</div>
</div>
<table align="center">
<tr>
<td>
<div id="wrapper">
<ul id="index_cards">
<%
frmTop = 50;
frmLeft =50;
if(areaStr !=null && areaStr.length() >0)
{
dom = genericUtility.parseString(areaStr);
rowList = dom.getElementsByTagName("loc_phy_row");
for (int rowCtr = 0; rowCtr < rowList.getLength(); rowCtr++)
{
rowNode = rowList.item(rowCtr);
stackList = rowNode.getChildNodes();
int cardID = rowCtr + 1;
List<String> colImg = new ArrayList<String>();
List<String> columnArray = new ArrayList<String>();
List<String> columnDataList=new ArrayList();
boolean isStkPresnt=false;
boolean isStkNotPresnt=false;
String imagePath="";
if(stackList.item(0).getChildNodes()!=null)
{
for(int totlCol=0; totlCol<stackList.item(0).getChildNodes().getLength(); totlCol++ )
{
stockNotPresent=false;
stockPresent=false;
for(int stkCtr = 0; stkCtr < stackList.getLength(); stkCtr++)
{
stackNode = stackList.item(stkCtr);
columnList = stackNode.getChildNodes();
if (columnList.getLength() > 0)
{
columnNode = columnList.item(totlCol);
if(columnNode!=null)
{
if(columnNode.getChildNodes() !=null)
{
locationCodeList = columnNode.getChildNodes();
if(locationCodeList.getLength() >0)
{
locationNode = locationCodeList.item(0);
stockList = locationNode.getChildNodes();
columnArray.add(columnNode.getAttributes().item(0).getNodeValue());
if (stockList.getLength() > 0)
{
stockPresent=true;
isStkPresnt=true;
columnArray.add(columnNode.getAttributes().item(0).getNodeValue());
}
else
{
stockNotPresent=true;
isStkNotPresnt=true;
columnArray.add(columnNode.getAttributes().item(0).getNodeValue());
}
}
}
}
}
}
if(stockPresent && stockNotPresent)
{
imgSrc ="/ibase/dashboard/scm/images/yellow.png";
}else if(stockPresent)
{
imgSrc ="/ibase/dashboard/scm/images/green.png";
}else
{
imgSrc ="/ibase/dashboard/scm/images/white.png";
}
colImg.add(imgSrc);
}
}
//System.out.println("isStkPresnt ="+isStkPresnt +" and isStkNotPresnt="+isStkNotPresnt);
if(isStkPresnt && isStkNotPresnt)
{
imagePath ="/ibase/dashboard/scm/images/yellow.png";
}else if(isStkPresnt)
{
imagePath ="/ibase/dashboard/scm/images/green.png";
}else if(isStkNotPresnt)
{
imagePath ="/ibase/dashboard/scm/images/white.png";
}
%>
<li id="<%="card-"+cardID%>"
style="left:<%=frmLeft%>px;top:<%=frmTop%>px;">
<table id='celltable'>
<tr>
<td background="<%=imagePath%>"><%=rowNode.getAttributes().item(0).getNodeValue()%></td>
<%
columnDataList=new ArrayList();
for (int stkCtr = 0; stkCtr < stackList.getLength(); stkCtr++)
{
stackNode = stackList.item(stkCtr);
columnList = stackNode.getChildNodes();
stockNotPresent=false;
stockPresent=false;
if (columnList.getLength() > 0)
{
for (int colCtr = 0; colCtr < columnList.getLength(); colCtr++)
{
columnNode = columnList.item(colCtr);
if(columnNode!=null)
{
if(stkCtr==0)
{
columnDataList.add(columnNode.getAttributes().item(0).getNodeValue());
}
}
}
}
}
for( int i=0;i<colImg.size(); i++)
{
%>
<td background="<%=colImg.get(i)%>" align="right"><%= columnDataList.get(i)%></td>
<%
} %>
</tr>
<%
for (int stkCtr = 0; stkCtr < stackList.getLength(); stkCtr++)
{
stackNode = stackList.item(stkCtr);
columnList = stackNode.getChildNodes();
stockNotPresent=false;
stockPresent=false;
if (columnList.getLength() > 0)
{
for (int colCtr = 0; colCtr < columnList.getLength(); colCtr++)
{
columnNode = columnList.item(colCtr);
if(columnNode!=null)
{
if(columnNode.getChildNodes() !=null)
{
locationCodeList = columnNode.getChildNodes();
if(locationCodeList.getLength() >0)
{
locationNode = locationCodeList.item(0);
stockList = locationNode.getChildNodes();
if (stockList.getLength() > 0)
{
stockPresent=true;
}
else
{
stockNotPresent=true;
}
}
}
}
}
if(stockPresent && stockNotPresent)
{
imgSrc ="/ibase/dashboard/scm/images/yellow.png";
}
else if(stockPresent)
{
imgSrc ="/ibase/dashboard/scm/images/green.png";
}
else if(stockNotPresent)
{
imgSrc ="/ibase/dashboard/scm/images/white.png";
}
%>
<tr id="info">
<td background="<%=imgSrc%>" align="right"><%=stackNode.getAttributes().item(0).getNodeValue()%></td>
<%
for (int colCtr = 0; colCtr < columnList.getLength(); colCtr++)
{
columnNode = columnList.item(colCtr);
if(columnNode!=null)
{
if(columnNode.getChildNodes() !=null)
{
locationCodeList = columnNode.getChildNodes();
if(locationCodeList.getLength() >0)
{
locationNode = locationCodeList.item(0);
stockList = locationNode.getChildNodes();
// System.out.println("stockList.getLength() in real ="+stockList.getLength());
if (stockList.getLength() > 0)
{
%>
<!--<!--%=columnNode.getAttributes().item(0).getNodeValue()%-->
<td class="itemcell" onclick="getStockDtl('<%=locationNode.getAttributes().item(0) .getNodeValue()%>','<%=rowNode.getAttributes().item(0).getNodeValue()%>','<%=stackNode.getAttributes().item(0).getNodeValue()%>','<%=columnNode.getAttributes().item(0).getNodeValue()%>');"> <%=locationNode.getAttributes().item(0) .getNodeValue()%>
</td>
<%
}
else
{
%>
<td class="cellempty" onclick="getStockDtl();"><%=locationNode.getAttributes().item(0) .getNodeValue()%>
</td>
<%
}
}
}}
}
%>
</tr>
<%
}}
%>
</table>
</li>
<%
frmLeft+=25;
frmTop+= 25;
}
}
%>
</ul>
</div>
</td>
<td>
<div id="stocktableDiv" width="400px"></div>
</td>
</tr>
</table>
<%
} catch (RemoteException ex) {
System.out .println("Exception : LocationStockOccupancey sMessageArguments(String,wizardBean) :" + ex); //$NON-NLS-1$
} catch (ITMException ex) {
System.out .println("Exception : LocationStockOccupancey sMessageArguments(String,wizardBean) :" + ex); //$NON-NLS-1$
} catch (Exception ex) {
System.out .println("Exception : LocationStockOccupancey sMessageArguments(String,wizardBean) :" + ex); //$NON-NLS-1$
}
%>
</form>
<script>
areaCode ="<%=this.selectedArea%>";
locRange ="<%=this.locationRange%>";
document.getElementById("locationRange").value=locRange;
window.onload = new function() {
var currList = document.getElementById("area");
for (var m = 0; m < currList.options.length; m++)
{
var checkval = currList.options[m].value;
if(checkval==areaCode)
{
currList.options[m].selected = true;
}
}
};
</script>
</body>
</html>
<%@page import="java.rmi.RemoteException"%>
<%@page import="ibase.webitm.utility.ITMException"%>
<%@page contentType="text/html"%>
<%@page
import="javax.xml.parsers.DocumentBuilderFactory,javax.xml.parsers.DocumentBuilder,org.w3c.dom.*"%>
<%@page import="ibase.utility.CommonConstants"%>
<%@page import="javax.naming.InitialContext"%>
<%@page import="javax.naming.Context"%>
<%@page import="org.w3c.dom.Node"%>
<%@page import="java.util.ArrayList"%>
<%@page import="java.util.List"%>
<%@page import="org.w3c.dom.NodeList"%>
<%@page import="ibase.webitm.utility.GenericUtility"%>
<%@page import="ibase.webitm.bean.wms.*"%>
<jsp:useBean id = "replTaskBean" scope = "application" class = "ibase.webitm.bean.wms.ReplTaskBean" />
<html>
<head>
<link rel="stylesheet" href="/ibase/wms/css/style.css"
type="text/css" />
<link href="/ibase/jquery/css/jquery-ui.css" rel="stylesheet"
type="text/css" />
<script src="/ibase/jquery/js/jquery.min.js"></script>
<script src="/ibase/jquery/js/jquery-ui.min.js"></script>
<script src="/ibase/jquery/js/jquery-1.9.1.js"></script>
<script src="/ibase/jquery/js/jquery-ui.js"></script>
<link rel="stylesheet" href="/ibase/webitm/css/default.css"
type="text/css" />
<%!GenericUtility genericUtility = GenericUtility.getInstance();
String xmlString = "";
String objName = "";
Document dom = null;
NodeList dtlList = null;
Node parentNode = null;
NodeList childNodeList = null;
Node currDetail = null;
String childNodeName = "";
String replcreateCount ="";
String replpendingCount = "";
String replverifyCount = "";
String pickcreateCount = "";
String pickpendingCount = "";
String pickverifyCount = "";
String activecreateCount = "";
String activependingCount = "";
String activeverifyCount = "";
String totalreplTasks = "";
String totalpickTasks = "";
String totalactiveTasks = "";
String mpackcreateCount = "";
String mpackpendingCount = "";
String mpackverifyCount = "";
String totalmpackTasks = "";
String activereplcreateCount = "";
String activereplpendingCount = "";
String activereplverifyCount = "";
String totalactivereplTasks = "";
String mpickcreateCount = "";
String mpickpendingCount = "";
String mpickverifyCount = "";
String totalmpickTasks = "";
String hazmetcreateCount = "";
String hazmetpendingCount = "";
String hazmetverifyCount = "";
String totalhazmetTasks = "";
NodeList rowList = null, stackList = null, columnList = null;
Node childNode = null;
Node rowNode = null, stackNode = null, columnNode = null;
NodeList locationCodeList = null;
Node locationNode = null;
NodeList stockList = null;
%>
<%
response.setHeader("Expires", "Sat, 6 May 1995 12:00:00 GMT");
response.setHeader("Cache-Control", "no-store, no-cache,must-revalidate");
response.addHeader("Cache-Control", "post-check=0, pre-check=0");
response.setHeader("Pragma", "no-cache");
int ctr = 0;
%>
<%
try
{
System.out.println("in side try block xmlString["+xmlString+"]");
if(xmlString == "" || xmlString == null)
{
System.out.println("CHECK");
xmlString = replTaskBean.getTaskDetails();
System.out.println("xmlString::::"+xmlString);
}
%>
</head>
<body>
<div>
<table border = "1" align="left" rel="stylesheet" class ="tableClass" >
<tr>
<th class = "tableHeaderBG">&nbsp Assign Task &nbsp </th>
<th class = "tableHeaderBG">&nbsp Created &nbsp </th>
<th class = "tableHeaderBG">&nbsp Held &nbsp </th>
<th class = "tableHeaderBG">&nbsp Verified &nbsp </th>
<th class = "tableHeaderBG">&nbsp Total Tasks &nbsp </th>
</tr>
<%
if (xmlString != null && xmlString.trim().length() > 0)
{
dom = genericUtility.parseString(xmlString);
if (dom != null)
{
dtlList = dom.getElementsByTagName("Detail");
for (int cntr = 0; cntr < dtlList.getLength(); cntr++)
{
parentNode = dtlList.item(cntr);
childNodeList = parentNode.getChildNodes();
for (int nodCtr = 0; nodCtr < childNodeList .getLength(); nodCtr++)
{
currDetail = childNodeList.item(nodCtr);
childNodeName = currDetail.getNodeName();
NodeList subChildNodeList = currDetail.getChildNodes();
if(childNodeName != null && childNodeName.equalsIgnoreCase("Replenishments"))
{
for (int sCtr = 0; sCtr < subChildNodeList.getLength(); sCtr++)
{
Node subChildNode = subChildNodeList.item(sCtr);
String subchildNodeName = subChildNode.getNodeName();
if (subchildNodeName.trim().equals("repl_create_count")) // Replenishment Tasks
{
replcreateCount = subChildNode.getFirstChild().getNodeValue();
if (replcreateCount != "")
{
%>
<tr>
<td>&nbsp Replenishments &nbsp </td>
<td align = "right"><%=replcreateCount%></td>
<%
}
}
if (subchildNodeName.trim().equals("repl_pending_count"))
{
replpendingCount = subChildNode.getFirstChild().getNodeValue();
if (replpendingCount != "")
{
%>
<td align = "right"><%=replpendingCount%></td>
<%
}
}
if (subchildNodeName.trim().equals("repl_verify_count"))
{
replverifyCount = subChildNode.getFirstChild().getNodeValue();
if (replverifyCount != "")
{
%>
<td align = "right"><%=replverifyCount%></td>
<%
}
}
if (subchildNodeName.trim().equals("total_repl_tasks"))
{
totalreplTasks = subChildNode.getFirstChild().getNodeValue();
if (totalreplTasks != "")
{
%>
<td align = "right"><%=totalreplTasks%></td>
</tr>
<%
}
}
}
}
if(childNodeName != null && childNodeName.equalsIgnoreCase("Activereplenishments"))
{
for (int sCtr = 0; sCtr < subChildNodeList.getLength(); sCtr++)
{
Node subChildNode = subChildNodeList.item(sCtr);
String subchildNodeName = subChildNode.getNodeName();
if (subchildNodeName.trim().equals("activerepl_create_count")) // Replenishment Tasks
{
activereplcreateCount = subChildNode.getFirstChild().getNodeValue();
if (activereplcreateCount != "")
{
%>
<tr>
<td> &nbsp Active Replenishments &nbsp </td>
<td align = "right"><%=activereplcreateCount%></td>
<%
}
}
if (subchildNodeName.trim().equals("activerepl_pending_count"))
{
activereplpendingCount = subChildNode.getFirstChild().getNodeValue();
if (activereplpendingCount != "")
{
%>
<td align = "right"><%=activereplpendingCount%></td>
<%
}
}
if (subchildNodeName.trim().equals("activerepl_verify_count"))
{
activereplverifyCount = subChildNode.getFirstChild().getNodeValue();
if (activereplverifyCount != "")
{
%>
<td align = "right"><%=activereplverifyCount%></td>
<%
}
}
if (subchildNodeName.trim().equals("total_activerepl_tasks"))
{
totalactivereplTasks = subChildNode.getFirstChild().getNodeValue();
if (totalactivereplTasks != "")
{
%>
<td align = "right"><%=totalactivereplTasks%></td>
</tr>
<%
}
}
}
}
if(childNodeName != null && childNodeName.equalsIgnoreCase("pickings"))
{
for (int sCtr = 0; sCtr < subChildNodeList.getLength(); sCtr++)
{
Node subChildNode = subChildNodeList.item(sCtr);
String subchildNodeName = subChildNode.getNodeName();
if (subchildNodeName.trim().equals("pick_create_count")) // pick tasks
{
pickcreateCount = subChildNode.getFirstChild().getNodeValue();
if (pickcreateCount != "")
{
%>
<tr>
<td> &nbsp Case / Master / Parcel Picks &nbsp </td>
<td align = "right"><%=pickcreateCount%></td>
<%
}
}
if (subchildNodeName.trim().equals("pick_pending_count"))
{
pickpendingCount = subChildNode.getFirstChild().getNodeValue();
if (pickpendingCount != "")
{
%>
<td align = "right"><%=pickpendingCount%></td>
<%
}
}
if (subchildNodeName.trim().equals("pick_verify_count"))
{
pickverifyCount = subChildNode.getFirstChild().getNodeValue();
if (pickverifyCount != "")
{
%>
<td align = "right"><%=pickverifyCount%></td>
<%
}
}
if (subchildNodeName.trim().equals("total_pick_tasks"))
{
totalpickTasks = subChildNode.getFirstChild().getNodeValue();
if (totalpickTasks != "")
{
%>
<td align = "right"><%=totalpickTasks%></td>
</tr>
<%
}
}
}
}
if(childNodeName != null && childNodeName.equalsIgnoreCase("Activepickings"))
{
for (int sCtr = 0; sCtr < subChildNodeList.getLength(); sCtr++)
{
Node subChildNode = subChildNodeList.item(sCtr);
String subchildNodeName = subChildNode.getNodeName();
if (subchildNodeName.trim().equals("active_create_count")) // pick tasks
{
activecreateCount = subChildNode.getFirstChild().getNodeValue();
if (activecreateCount != "")
{
%>
<tr>
<td> &nbsp Active Picks &nbsp </td>
<td align = "right"><%=activecreateCount%></td>
<%
}
}
if (subchildNodeName.trim().equals("active_pending_count"))
{
activependingCount = subChildNode.getFirstChild().getNodeValue();
if (activependingCount != "")
{
%>
<td align = "right"><%=activependingCount%></td>
<%
}
}
if (subchildNodeName.trim().equals("active_verify_count"))
{
activeverifyCount = subChildNode.getFirstChild().getNodeValue();
if (activeverifyCount != "")
{
%>
<td align = "right"><%=activeverifyCount%></td>
<%
}
}
if (subchildNodeName.trim().equals("total_active_tasks"))
{
totalactiveTasks = subChildNode.getFirstChild().getNodeValue();
if (totalactiveTasks != "")
{
%>
<td align = "right"><%=totalactiveTasks%></td>
</tr>
<%
}
}
}
}
if(childNodeName != null && childNodeName.equalsIgnoreCase("Masterpackings"))
{
for (int sCtr = 0; sCtr < subChildNodeList.getLength(); sCtr++)
{
Node subChildNode = subChildNodeList.item(sCtr);
String subchildNodeName = subChildNode.getNodeName();
if (subchildNodeName.trim().equals("mpack_create_count")) // pick tasks
{
mpackcreateCount = subChildNode.getFirstChild().getNodeValue();
if (mpackcreateCount != "")
{
%>
<tr>
<td> &nbsp Master Packs &nbsp </td>
<td align = "right"><%=mpackcreateCount%></td>
<%
}
}
if (subchildNodeName.trim().equals("mpack_pending_count"))
{
mpackpendingCount = subChildNode.getFirstChild().getNodeValue();
if (mpackpendingCount != "")
{
%>
<td align = "right"><%=mpackpendingCount%></td>
<%
}
}
if (subchildNodeName.trim().equals("mpack_verify_count"))
{
mpackverifyCount = subChildNode.getFirstChild().getNodeValue();
if (mpackverifyCount != "")
{
%>
<td align = "right"><%=mpackverifyCount%></td>
<%
}
}
if (subchildNodeName.trim().equals("total_mpack_tasks"))
{
totalmpackTasks = subChildNode.getFirstChild().getNodeValue();
if (totalmpackTasks != "")
{
%>
<td align = "right"><%=totalmpackTasks%></td>
</tr>
<%
}
}
}
}
if(childNodeName != null && childNodeName.equalsIgnoreCase("Hazmetpickings"))
{
for (int sCtr = 0; sCtr < subChildNodeList.getLength(); sCtr++)
{
Node subChildNode = subChildNodeList.item(sCtr);
String subchildNodeName = subChildNode.getNodeName();
if (subchildNodeName.trim().equals("hazmet_create_count")) // pick tasks
{
hazmetcreateCount = subChildNode.getFirstChild().getNodeValue();
if (hazmetcreateCount != "")
{
%>
<tr>
<td> &nbsp Hazmet Case Picks &nbsp </td>
<td align = "right"><%=hazmetcreateCount%></td>
<%
}
}
if (subchildNodeName.trim().equals("hazmet_pending_count"))
{
hazmetpendingCount = subChildNode.getFirstChild().getNodeValue();
if (hazmetpendingCount != "")
{
%>
<td align = "right"><%=hazmetpendingCount%></td>
<%
}
}
if (subchildNodeName.trim().equals("hazmet_verify_count"))
{
hazmetverifyCount = subChildNode.getFirstChild().getNodeValue();
if (hazmetverifyCount != "")
{
%>
<td align = "right"><%=hazmetverifyCount%></td>
<%
}
}
if (subchildNodeName.trim().equals("total_hazmet_tasks"))
{
totalhazmetTasks = subChildNode.getFirstChild().getNodeValue();
if (totalhazmetTasks != "")
{
%>
<td align = "right"><%=totalhazmetTasks%></td>
</tr>
<%
}
}
}
}
}
}
}
}
xmlString = "";
%>
</table>
</div>
<%
}
catch (RemoteException ex)
{
System.out .println("Exception :ReplTaskShowDetail:" + ex);
}
catch (ITMException ex)
{
System.out .println("Exception : ReplTaskShowDetail:" + ex);
}
catch (Exception ex)
{
System.out .println("Exception : ReplTaskShowDetail:" + ex);
}
%>
</body>
</html>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment