// ============================================================================
// * Title:        Client Framework Proxy Include
// * --------------------------------------------------------------------------
// * Description:  EPCMPROXY object
// * Version 6.0 SP1
// * Copyright (c) SAP AG 2003
// * --------------------------------------------------------------------------
// * Notes; 
// *  1) Works only with browsers with JavaScipt 1.2+ (IE 5.0+, NN6.0+)
// *  2) Subscribe Event must be called with the Object signature with the
// *     current window object
// *  3) All system methods returns null,when the parent.EPCM object could
// *     not be accessed
// ============================================================================

var EPCMPROXY = {
 
 OTHER   : 0, 
 MSIE    : 1,
 NETSCAPE: 2,
 MOZILLA : 2,
 OPERA   : 3,
 NOKIA   : 4,
 UP      : 5,
 ERICSSON: 6,
 MSPIE   : 7,
 PALM    : 8,   
    
 OTHER_PLATFORM : 0,
 NT_PLATFORM    : 1,
 WIN_PLATFORM   : 2,
 MAC_PLATFORM   : 3,
 LINUX_PLATFORM : 4, 
 WAP_PLATFORM   : 5,
 PDA_PLATFORM   : 6
}

// --------- Proxy for System methods  ------------------------
EPCMPROXY.getUAType = function() {
  try{
    return parent.EPCM.getUAType(); 
  }catch(ex){
    return null;
  } 
}
EPCMPROXY.getUAVersion = function() {
  try{
    return parent.EPCM.getUAVersion();
  }catch(ex){
    return null;
  }
}
EPCMPROXY.getUAPlatform = function() {
  try{  
    return parent.EPCM.getUAPlatform();
  }catch(ex){
    return null;
  }
}
EPCMPROXY.getVersion = function() {
  try{
    return parent.EPCM.getVersion();
  }catch(ex){
    return null; 
  }	
}
EPCMPROXY.getLevel = function() {
  try{
    return parent.EPCM.getLevel();
  }catch(ex){
    return null;
  }  
}
EPCMPROXY.getInstanceId = function() {
  try{
    return parent.EPCM.getInstanceId();
  }catch(ex){
    return null; 
  }
}
EPCMPROXY.getUniqueWindowId = function() {
  try{
    return parent.EPCM.getUniqueWindowId();
  }catch(ex){
    return null;
  }	  
}

// --------- Proxy for DataBag methods ------------------------
EPCMPROXY.storeClientData = function(pUrn, pName, pValue){
 try{
   parent.EPCM.storeClientData(pUrn,pName,pValue)
 }catch(ex){}

}
EPCMPROXY.loadClientData = function(pUrn, pName){
  try{
    return parent.EPCM.loadClientData(pUrn, pName);
  }catch(ex){
    return null; 
  }  
}
EPCMPROXY.deleteClientData = function(pUrn, pName){
  try{
    parent.EPCM.deleteClientData(pUrn, pName);
  }catch(ex){}  
}

// --------- Proxy for Eventing methods ------------------------
EPCMPROXY.subscribeEvent = function( nameSpace, eventName, handlerRef, methodName ){
  try{
    parent.EPCM.subscribeEvent(nameSpace, eventName, handlerRef, methodName); 
  }catch(ex){}  
}
EPCMPROXY.raiseEvent = function( nameSpace, eventName, dataObject, sourceId ) {
  try{
    parent.EPCM.raiseEvent(nameSpace, eventName, dataObject, sourceId);
  }catch(ex){}  
}

// --------- Proxy for Dirty & Navigation methods ---------------------
EPCMPROXY.setDirty = function ( val ){
  try{ 
    parent.EPCM.setDirty(val);
  } catch(ex){} 
}
EPCMPROXY.getDirty = function( ){
  try{
    return parent.EPCM.getDirty();	
  } catch(ex){
    return false;
  } 
}
EPCMPROXY.doNavigate = function ( target, mode, winfeatures, winname ){
  try{
    return parent.EPCM.doNavigate( target, mode, winfeatures, winname );	
  } catch(ex){
    return true;
  } 
}
