//TODO Supress or Encode all problematic special characters
var nv=null;
//Caching
var gLoginKey;
var gLoginId;
var gUserType;
var gBase = "/issueforms/webapp/";
var gLoginData;
var gElemProcessing, gCodeServer, gJsWin,httpConnector;
var gBrowser = 0;//Use basejs isFF or isIE or isOP to check Browser
//Base JS
var gBJS;
var gDateFormat='dd-MM-yyyy';
var gTimeFormat='HH:mm:ss';
var gDateTimeFormat='dd-MM-yyyy HH:mm:ss';
var months=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
var gShowFilter=false;
var gIssueType=[['1','IPO'],['2','Rights Issue'],['3','FPO']];
var gParams;
var gAppUserStatus=[['1','Active'],['2','Suspended']];
var gAppUserType=[['1','Admin'],['2','Investor']];
var gAppDPType=[['1','NSDL'],['2','CDSL']];
var gInvestorStatus=[
     ['CO','CO'],['FI','FI'],['HUF','HUF'],['IC','IC'],['IF','IF'],['IND','IND']
,['MF','MF'],['NIF','NIF'],['VC','VC'],['NRI','NRI'],['OTH','OTH'],['FII','FII']
,['FIISA','FIISA'],['FVCI','FVCI'],['EMP','EMP'],['SHA','SHA']
];
var gCategoryType=[['1','Retail Individual'],['2','Non Institutional'],['3','QIB']];
var gBidFormType=[['1','Non Repatriation'],['2','Repatriation'],['3','Employee/SHA']];
/**Initialize the application**/
//window.onerror = errorHandler;
function initialize()
{
	//gJsWin = document.getElementById("jscode").contentWindow;
    gBJS = getBaseJS(window);
	gBrowser=(gBJS.isIE?1:(gBJS.isFF?2:(gBJS.isOP?3:0)));
	//gElemProcessing = gBJS.getEl('lblProcessing');
    gCodeServer = gBJS.getEl("CodeServerApplet");
    httpConnector = getHttpConnector("httpConnector", window);
	regEventHdlr();
	load();
	setInterval("updTime()",1000)
}
/**Register Event Handlers for Main page**/
function regEventHdlr()
{
    var lList = [[window,'keydown',handleKey],
            [document,'mouseup',handleMouse],
            [document,'mousedown',handleMouse],
            [window,'unload',exitApp]];
            gBJS.regListeners(lList);
}
/**Error Handler for current page**/
function errorHandler(pMsg, pUrl, pLine)
{
    window.status = "Error: " +(pMsg + " " + pUrl + " " + pLine);
    alert(pMsg + " " + pUrl + " " + pLine);
    return false;
}

function handleKey(pEvent)
{
	if (pEvent == nv) pEvent = window.event;
	var lKey = pEvent.keyCode;
	if(lKey==13) 
	{
		doLogin();
		pEvent.stop();
	}
	else
	{
		//alert(pEvent.srcEm())
	}
	supressFunctionKeys(pEvent);
	//return false;
}
function supressFunctionKeys(pEvent)
{
    var KEYCODE = pEvent.keyCode;
    switch (KEYCODE)
    {
        case 112: //F1
        case 113: //F2
        case 114: //F3
        case 115: //F4
        case 116: //F5
        case 117: //F6
        case 118: //F7
        case 119: //F8
        case 120: //F9
        case 121: //F10
        case 122: //F11
        case 123: //F12
        case 27: //ESCAPE
            if(gBJS.isIE)
             pEvent.keyCode = 0;
			if(pEvent.stop)
                pEvent.stop();
			else
				gBJS.stop(pEvent);
            break;
    }
//	alert(KEYCODE);
}
function handleMouse(pEvent)
{
	return true;
	if (pEvent == nv) pEvent = window.event;
	gMouseEvent = pEvent;
	if ((pEvent.button == 2) || (pEvent.button == 3)) {
		window.alert("Right click not allowed");
		return false;
	}
	return true;
}
function exitApp()
{
	
}
function getHttpConnector(pName,pWin)
{
	lHttpConnector = new HttpConnector(pName, pWin);
	//if (pCell == nv) lHttpConnector.cell = gElemProcessing;
	lHttpConnector.loginKey = gLoginKey;
	return lHttpConnector;
}
function getDataGridView(pDataFrame,pVarName)
{
	var lDataObj = new DataGridView(pDataFrame,pVarName);
	lDataObj.browser=(gBJS.isIE?1:0);
	return lDataObj;
}
function getBaseJS(pWin)
{
	return new BaseJS(pWin);
}
function getHtmlHelper(pWin)
{
	return new HtmlHelper(pWin);
}
function getValidator(pWin, pDoc, pValArray, pMsgArea)
{
	var lVal = new Validator(pWin,pDoc,pValArray,pMsgArea);
	lVal.dateFormat = gDateFormat;
	lVal.timeFormat = gTimeFormat;
	lVal.dateTimeFormat = gDateTimeFormat;
	return lVal;
}
function getDateTimeControl(pObj,pWin,pVar,pShowDate,pShowTime)
{
	return new DateTimeControl(pObj,pWin,pVar,pShowDate,pShowTime);
}
function handleMouse(pEvent)
{
	return true;
	if (pEvent==null) pEvent=window.event;
	if ((pEvent.button==2)||(pEvent.button==3))
	{
		window.alert("Right click not allowed");
		return false;
	}
	return true;
}
function updTime()
{
	var lDate=new Date();
	lDate.setTime(lDate.getTime());
	
	var h,m,s,a;
	var lDay=lDate.getDate();
	if (lDay<10) lDay="0"+lDay;
	h=lDate.getHours();
	m=lDate.getMinutes();
	s=lDate.getSeconds();
	if (h>12) a="PM";
	else a="AM";
	if (h<10) h="0"+h;
	if (m<10) m="0"+m;
	if (s<10) s="0"+s;
	var lTime=lDay+"-"+months[lDate.getMonth()]+"-"+lDate.getFullYear()
					+" "+h+":"+m+":"+s;
	document.getElementById("clock").innerHTML=lTime;
}
function manageCategorySetting(pId)
{
	window.open("catsettings.jsp?CSISId="+pId,"",'left=50,top=2,width=900,height=600,toolbar=no,directories=no,location=no,status=yes,menubar=no,resizable=0,scrollbars=yes');
}
/*
function getHttpConnector(pName, pWin, pCell)
{
	lHttpConnector = gJsWin.getHttpConnector(pName, pWin);
	//if (pCell == nv) lHttpConnector.cell = gElemProcessing;
	lHttpConnector.loginKey = gLoginKey;
	return lHttpConnector;
}
function getDataGridView(pDataFrame, pVarName)
{
	lDataGridView = gJsWin.getDataGridView(pDataFrame, pVarName);
	lDataGridView.browser = gBrowser;	
	return lDataGridView;
}
function getLov(pHeading, pCommand, pQs, pLabels, pFields, pSetField, pLayer, pVarName, pWin, pDoc)
{
	return gJsWin.getLov(pHeading, pCommand, pQs, pLabels, pFields, pSetField, pLayer, pVarName, pWin, pDoc)
}
function getValidator(pWin, pDoc, pValArray, pMsgArea)
{
	var lVal = gJsWin.getValidator(pWin, pDoc, pValArray, pMsgArea);
	lVal.dateFormat = gDateFormat;
	lVal.timeFormat = gTimeFormat;
	lVal.dateTimeFormat = gDateTimeFormat;
	return lVal;
}
function getHtmlHelper(pWin)
{
	return gJsWin.getHtmlHelper(pWin);
}
function getDateTimeControl(pObj, pWin, pVar, pShowDate, pShowTime)
{
	return gJsWin.getDateTimeControl(pObj, pWin, pVar, pShowDate, pShowTime);
}
function getMultiSelectorCB(pDataArr, pFrmName, pCtrlName, pWin, pVar)
{
	return gJsWin.getMultiSelectorCB(pDataArr, pFrmName, pCtrlName, pWin, pVar);
}
function getBaseJS(pWin)
{
	return gJsWin.getBaseJS(pWin);
}
*/
