glblPageNbr=0;
glblSortColNbr='0';
glblSortOrder='Asc';
glblSortEnableYN='N';
glblSearchColumn='';
glblSearchVal='';
glblSearchCond='';
glblSearchStatus='';
glblSearchFrmDt='';
glblSearchToDt='';
glblPageHdr='';
objMsgDiv='';
gblMsgDivFlag=true;
strGlblDivId='';
strEditMode='';
PDV=null;

$W=window;
$D=document;
$=$D.getElementById;
$F=($D.frames)?$D.frames:(frames)?frames:null;
$E=$D.all;
$P=parent;
ZmObj=true;
currentlyVisiblePopup=null;
menuTimer1=null;
myCurrentSubMenu='';
myCurrentHighlight='';
sCurrentPlatform = 'Def';
currentnextsubmenu='';
menutimer=null;
currentsubmenu='1';
currentsubmenutd='';
submenutimer=null;
myCurrentLeftMenu='';
myLeftHighlight='';
tabind='';
selLeftMenu='';
selInd='';
leftmenutimer=null;
xOffset = 5;
yOffset = -10;
iframehide=null;
mainTD=null;
selectedTD=null;
AjaxIframe=false;

AjaxReqObjs = new Array();
AjaxReqInstances=-1;

var strGblSrchUrl='';
var strGblSrchUrlYN='N';
/************************************************************************
Author  : Shivashankar G
Date	: 02/01/2007
Desc	: Functions For Handling Common Ajax Events 
************************************************************************/
function InitializeRequest(Handle){
	var ZmAR;
	try	{
		ZmAR = new ActiveXObject("Microsoft.XMLHTTP");
		if(Handle)ZmAR.onreadystatechange = Handle;
	}catch(Ex){
		try	{
			ZmAR = new ActiveXObject("Msxml2.XMLHTTP");
			if(Handle)ZmAR.onreadystatechange = Handle;
		}catch(Ex){
			ZmAR = null;
		}
	}
	if(!ZmAR && typeof XMLHttpRequest != 'undefined'){
		ZmAR = new XMLHttpRequest();
		if(Handle){
			ZmAR.onload = Handle; 
			ZmAR.onerror = Handle; 
		}
	}
	if(!ZmAR){
		alert('Your Browser does not support Ajax, Please use w3c compliant browser.');
		return false;
	}
    if (ZmAR.overrideMimeType) {
		ZmAR.overrideMimeType('text/html');
	}
	return ZmAR;
}
function GetAjaxData(strUrl,Handle)
{	
	var i=++AjaxReqInstances;
	var readyState=0;
	var responseText='';
	var TmpReqObj=InitializeRequest(function()
	{
     //responseText='';
		if ((AjaxReqObjs[i].readyState == 4 || AjaxReqObjs[i].readyState == 'complete'))
		{// && (AjaxReqObjs[i].status == 200)){ commented to chk null ref error.
			responseText=AjaxReqObjs[i].responseText;
			if(!AjaxIframe) responseText=evalAjax(responseText);
			if(Handle) Handle(responseText);
			//HideAjaxProgressBar();
		}
	});
	
    if(TmpReqObj)
    {
	    //getMsgDiv();
	    //ShowAjaxProgressBar();
	    try
	    {
	        AjaxReqObjs[i]=TmpReqObj;
	        AjaxReqObjs[i].open("GET", strUrl, true);				
	        AjaxReqObjs[i].send(null);
	    }
	    catch(e)
	    {
	        alert("The application cannot contact the server at the moment.\nPlease try again in a few seconds.");
            return;
	    }
    }
	
	
}
/**** Below function is modified by Taher ***/
function PostAjaxData(strUrl,strData,Handle){
	var i=++AjaxReqInstances;
	var readyState=0;
	var responseText='';
	var TmpReqObj=InitializeRequest(function(){
		if ((AjaxReqObjs[i].readyState == 4 || AjaxReqObjs[i].readyState == 'complete')){// && (AjaxReqObjs[i].status == 200)){ commented to chk null ref error.
			responseText=AjaxReqObjs[i].responseText;
			if(Handle)Handle(responseText);
			HideAjaxProgressBar();
		}
	});
	if(TmpReqObj){
		getMsgDiv();
		ShowAjaxProgressBar();
		AjaxReqObjs[i]=TmpReqObj;
		AjaxReqObjs[i].open("POST", strUrl, true);				
		AjaxReqObjs[i].setRequestHeader("Content-type", "application/x-www-form-urlencoded;charset=UTF-8");
		if(!strData)strData=getFormData();
		AjaxReqObjs[i].setRequestHeader("Content-length", strData.length);			
		AjaxReqObjs[i].send(strData);
	}
}

//*************************************************************************************************////
function getFormData(objElement){
    if(!objElement)objElement=document;
    var frmData='';
    var ele = objElement.getElementsByTagName('input');
    for(var i=0;i<ele.length;i++){
        frmData += '&'+escapeAll(ele[i].name)+'='+escapeAll(ele[i].value);
    }
    ele = objElement.getElementsByTagName('select');
    for(var i=0;i<ele.length;i++){
        frmData += '&'+escapeAll(ele[i].name)+'='+escapeAll(ele[i].value);
    }
    ele = objElement.getElementsByTagName('textarea');
    for(var i=0;i<ele.length;i++){
        frmData += '&'+escapeAll(ele[i].name)+'='+escapeAll(ele[i].value);
    }
    return frmData;
}
function escapeAll(v){
    return escape(v).replace(/\+/g,"%2B");
}
function ShowAjaxProgressBar(object){
	if(!object)object=objMsgDiv;
	if(object)
		object.innerHTML="<img src='../CorpImages/Icons/Pross_crcl.gif'>";
}
function HideAjaxProgressBar(object){
	if(!object)object=objMsgDiv;
	if(object)
		object.innerHTML='';
}
function getMsgDiv(){
	if(gblMsgDivFlag && !objMsgDiv){
		gblMsgDivFlag=false;
		var Doc=window;
		var flag=true;
		while(flag){
			if(Doc.document.getElementById('dvMsg')){
				flag=false;
				objMsgDiv=Doc.document.getElementById('dvMsg');
			}else{
				if(Doc.parent!=Doc.self)
					Doc=Doc.parent;
				else
					flag=false;
			}
		}
	}
}
function callAjaxFunc4Paging(strPageNo,callBack){
   glblPageNbr=strPageNo;
   var strUrl;
   var dt = new Date();
   var time = dt.getTime();			
   var strUrlPart='QAsyncReqInd=Y' + '&QAjaxPageNo='+strPageNo+'&QAjaxSort='+glblSortColNbr+'&QSortOrder='+glblSortOrder+'&QPagingInd=Y&QSortEnable='+glblSortEnableYN+'&QDummy='+time+Math.floor(Math.random()*10);	
   strUrlPart+=getSearchString();
   if(strim(glblSearchFrmDt) != '')
	strUrlPart += '&QSrchFrmDt='+glblSearchFrmDt+'&QSrchToDt='+glblSearchToDt;
   strUrl = addQPara2URL(strUrlPart);
   strUrl += '&Qpagecount='+$("hidpagecount").value;
   if($('cboCountryId'))
	strUrl += '&QCountryId='+ $('cboCountryId').value;
   if($('cboDstntn'))
	strUrl += '&QDestId='+ $('cboDstntn').value;
   if(!objMsgDiv)getMsgDiv();	
   if(objMsgDiv)			
      objMsgDiv.innerHTML="<img src='../CorpImages/Icons/Pross_crcl.gif'>"
  if($('pageHDR'))
  glblPageHdr=$('pageHDR').innerHTML;
  if(!callBack)callBack=generateDataGrid;
  GetAjaxData(strUrl,callBack);
}

function callAjaxFunc4Sorting(strSortNbr,callBack)
{
   if(glblPageNbr==0) glblPageNbr=1
   var strUrl = '';
   var strSortOrder='Asc';
   if (strSortNbr==glblSortColNbr)
   {
      if(glblSortOrder=="Asc")
        strSortOrder='Desc';
      else
        strSortOrder='Asc';
   }
   else
   {	
      if(glblSortOrder=="Asc")
        strSortOrder='Asc';
      else
        strSortOrder='Desc';
      glblSortColNbr=strSortNbr;	
   }
  var dt = new Date();
  var time = dt.getTime();
  var strUrlPart ='QAsyncReqInd=Y' + '&Qpagecount='+glblPageNbr+'&QAjaxSort='+strSortNbr+'&QSortOrder='+strSortOrder+'&QSortEnable='+glblSortEnableYN+'&QDummy='+time+Math.floor(Math.random()*10);	
  glblSortOrder=strSortOrder;
    strUrlPart+=getSearchString();
	if(strim(glblSearchFrmDt) != '')
	  strUrlPart += '&QSrchFrmDt='+glblSearchFrmDt+'&QSrchToDt='+glblSearchToDt;
   strUrl = addQPara2URL(strUrlPart);
    if(strUrl.indexOf('QCountryId')<0){
	    if($('cboCountryId'))
		    strUrl += '&QCountryId='+ $('cboCountryId').value;
    }
    if(strUrl.indexOf('QDestId')<0){
      if($('cboDstntn'))
	    strUrl += '&QDestId='+ $('cboDstntn').value;	
    }
  if(!objMsgDiv)getMsgDiv();	
  if(objMsgDiv)			
     objMsgDiv.innerHTML="<img src='../CorpImages/Icons/Pross_crcl.gif'>"
  if($('pageHDR'))
  glblPageHdr=$('pageHDR').innerHTML;
  if(!callBack)callBack=generateDataGrid;
  GetAjaxData(strUrl,callBack);
}
function submitAddPage(strUrl,requestVars)
{
	PostAjaxData(strUrl,requestVars,generateDataGrid)
}

function showListPage(strUrl)
{	
  var index=strUrl.indexOf('Opener.');
     if(index >=0 )
     {
        location.href=strUrl.substring(index + 7);
     }
     else
     {
        var strUrlPart='QAsyncReqInd=Y&QSortEnable='+glblSortEnableYN;		
        strUrl = addQPara2URL(strUrlPart,strUrl);
        var dt = new Date()
        var time = dt.getTime()
        strUrl += '&QDummy='+ time + Math.floor(Math.random()*5);
        if(!objMsgDiv)getMsgDiv();
        ShowAjaxProgressBar();  
        GetAjaxData(strUrl,generateDataGrid)
    }
}
function postListPage(strUrl,strData){	
     var index=strUrl.indexOf('Opener.');
     if(index >=0 ){
	location.href=strUrl.substring(index + 7);
     }else{
	var strUrlPart='QAsyncReqInd=Y&QSortEnable='+glblSortEnableYN;		
   strUrl = addQPara2URL(strUrlPart,strUrl);
	var dt = new Date()
    var time = dt.getTime()
	strUrl += '&QDummy='+ time + Math.floor(Math.random()*5);
	if(!objMsgDiv)getMsgDiv();
	ShowAjaxProgressBar();
	PostAjaxData(strUrl,strData,generateDataGrid)
    }
}
function loadAjaxPages(strUrl)
{
    var index=strUrl.indexOf('Opener.');
     if(index >=0 ){
		location.href=strUrl.substring(index + 7);
	 }else if(strUrl.indexOf('javascript:')>=0){
        location.href=strUrl;
     }else{
      var dt = new Date()
      var time = dt.getTime()
      var randomVar = time + Math.floor(Math.random()*5);
	if (strUrl.indexOf('?')>0){
		strUrl +='&QDummy='+randomVar;
	}else{
		strUrl += '?QDummy='+randomVar;
	}	
      if(!objMsgDiv)getMsgDiv();	
      ShowAjaxProgressBar();
      if($('pageHDR'))
	    glblPageHdr=$('pageHDR').innerHTML;
	  AjaxIframe=true;
	  GetAjaxData(strUrl,generateAjaxPages);	
    }
}
function loadAjaxFrames(strUrl){
    var index=strUrl.indexOf('Opener.');
     if(index >=0 ){
	location.href=strUrl.substring(index + 7);
     }else{
      var dt = new Date()
      var time = dt.getTime()
      var randomVar = time + Math.floor(Math.random()*5);
	if (strUrl.indexOf('?')>0){
		strUrl +='&QDummy='+randomVar;
	}else{
		strUrl += '?QDummy='+randomVar;
	}	
      if(!objMsgDiv)getMsgDiv();	
      ShowAjaxProgressBar();
      if($('pageHDR'))
	    glblPageHdr=$('pageHDR').innerHTML;
	  AjaxIframe=true;  
	  loadAjaxFrame(strUrl,generateAjaxPages);	
    }
}
function loadAjaxFrame(strUrl){
	if(strim(strGlblDivId) !='')
	   objDv = $(strGlblDivId);
	else
	   objDv = $('dvUserCntrl');
	objDv.innerHTML="<iframe id='__frm' onload='frameOnload();' name='__frm' src='"+strUrl+"' height='100%' width='100%' FRAMEBORDER=0 scrolling='no' vspace=0 style='overflow:visible'></iframe>";
}
function frameOnload(){
	if(!objMsgDiv)getMsgDiv();
	HideAjaxProgressBar();
	resizeFrame();
	parent.status='Done';
	if ($('pageHDR')){
		$('pageHDR').style.display='none';
		$('pageHDR').style.height='0';	
	}
	strEditMode="true";
}

function generateDataGrid(strDataListData)
{
  if ($('pageHDR') ){
	$('pageHDR').style.height='20';
	$('pageHDR').style.display='block';
  }	
    if(strim(strGlblDivId) !='')
	objDv = $(strGlblDivId);
    else
	objDv = $('dvUserCntrl');
    objDv.style.verticalAlign='top';
    if(strDataListData!='')
    {
      //alert(strDataListData);
      objDv.innerHTML= strDataListData;
    }  
      
    if(!objMsgDiv)getMsgDiv();
    HideAjaxProgressBar();
    strEditMode='';
    if($P!=self)
        resizeCurrent();
}
function generateAjaxPages(strDataListData){
	AjaxIframe=false;
	if(!objMsgDiv)getMsgDiv();	
	ShowAjaxProgressBar();
	var currentfr='';
	var objDv='';
	if(strim(strGlblDivId) !='')
	   objDv = $(strGlblDivId);
	else
	   objDv = $('dvUserCntrl');
	objDv.innerHTML="<iframe id='__frm' name='__frm' src='../CorpInclude/placeHolder.html' height='100%' width='100%' FRAMEBORDER=0 scrolling='no' vspace=0 style='overflow:visible'></iframe>";
	currentfr=$("__frm");
	strDataListData=strDataListData.replace("\n","");
	currentfr.contentWindow.document.write(strDataListData);
	currentfr.contentWindow.document.close();
	setTimeout(TriggerOnLoad,10);	
	if ($('pageHDR')){
		$('pageHDR').style.display='none';
		$('pageHDR').style.height='0';	
	}
	if(!objMsgDiv)getMsgDiv();	
	HideAjaxProgressBar();
	strEditMode="true";
}
function evalAjax(strdata){
	var x,y;
	var tempData='';
	x=strdata.indexOf("<s"+"cript>");
	if(x==-1) return strdata;
	y=0;
	while (x!=-1){
		tempData+=strdata.substring(y,x);
		y = strdata.indexOf("</"+"script>", x);
		if (y != -1){eval(strdata.substring((x+8),y));}
		y+=9;
		x=strdata.indexOf("<s"+"cript>",y);
	}
	return tempData;
}
function showMsgDiv(strMsgType,strMsg)
{
	var strHtml='';
	switch(strMsgType)
	{
	   case "1" :
      strHtml="<font face='Courier'>" + strMsg + "</font>"
		break;
	   case "2" :
      strHtml="<font face='Courier' size='3'>" + strMsg + "</font>"
		break;	  
	   default:
		strHtml='';
		break;
	}
	if(!objMsgDiv)
    getMsgDiv();	
	if(objMsgDiv)			
	 objMsgDiv.innerHTML=strHtml;
}

function showSearchResults(strId,strURL)
{
  strGblSrchUrl='';
	if(!strURL)
	{
    strURL = location.href;
  }
   showMsgDiv("Success","Processing Search Command");
   if($(strId+'_cboSearchCol').value == "")
   {
    alert('Please Select Column To Search By');
    $(strId+'_cboSearchCol').focus();	
   }
   else if($(strId+'_txtSrchFor').value == "")
   {
      alert('Please Enter Value For Search.');
      $(strId+'_txtSrchFor').focus();	
   }
   else if($(strId+'_txtSrchFor').value.length < 2)
   {
      alert("Please enter atleast 2 characters for search.");
      $(strId+'_txtSrchFor').select();
      $(strId+'_txtSrchFor').focus();	
   }
   else 
   {
      var strCondition=$(strId+'_cboSearchOption').value
      $('hidSearchColumn').value=$(strId+'_cboSearchCol').value;
      $('hidSearchCondition').value=strCondition;
      var strSearchVal=''
      if(strCondition == 'B')
          strSearchVal= $(strId+'_txtSrchFor').value.replace(/%/g,'[%]') + escape('%') ;
      else if(strCondition == 'C')
          strSearchVal= escape('%') + $(strId+'_txtSrchFor').value.replace(/%/g,'[%]') + escape('%');
      else if(strCondition == 'N')
          strSearchVal= escape('%') + $(strId+'_txtSrchFor').value.replace(/%/g,'[%]');
      else
          strSearchVal= $(strId+'_txtSrchFor').value.replace(/%/g,'[%]');
      strSearchVal=strSearchVal.replace(/&/g,'%26');
      $('hidSearchValue').value = strSearchVal;
      glblSearchColumn='';
      glblSearchVal='';
      glblSearchCond='';
      glblSearchColumn='&QSearchCol='+$(strId+'_cboSearchCol').value;
      glblSearchVal='&QSearchVal='+strSearchVal;
      glblSearchCond='&QSearchCond='+strCondition;
      if($(strId+'_cboStatus'))
	 glblSearchStatus = '&QSearchStatus='+$(strId+'_cboStatus').value;
   if($('pageHDR'))
   glblPageHdr=$('pageHDR').innerHTML;   
   
   if(strGblSrchUrl=='')
   	strGblSrchUrl=strURL;
  //showListPage(addQPara2URL(getSearchString(),strURL))
  GetAjaxData('../CorpAttorney/decode_url.aspx?QSearchVal='+encodeURI(strSearchVal),getDecodedVal);	
  
  }  
}

function getDecodedVal(strEncodedData)
{
 if(strGblSrchUrl.indexOf('&QSearchVal=')<0)
 {
  if (strGblSrchUrl.indexOf('?')>0)
    strGblSrchUrl +=glblSearchColumn+'&QSearchVal='+ strEncodedData+glblSearchCond+glblSearchStatus; 
  else
    strGblSrchUrl +='?'+glblSearchColumn+'&QSearchVal='+ strEncodedData+glblSearchCond+glblSearchStatus; 
	showListPage(strGblSrchUrl);	
 }
}

function getSearchString()
{
   return glblSearchColumn+glblSearchVal+glblSearchCond+glblSearchStatus;
}

function showAllRecords(strId,strURL)
{
  if(!strURL){strURL = location.href;}
  glblSearchStatus=($(strId+'_cboStatus'))?'&QSearchStatus='+$(strId+'_cboStatus').value:'';
  glblSearchVal=''
  if($('pageHDR'))
  glblPageHdr=$('pageHDR').innerHTML;
  showListPage(addQPara2URL(getSearchString(),strURL))
}
function deleteRecord(strUrl){
	var dt = new Date()
    var time = dt.getTime()
    strUrl=addQPara2URL('QAsyncReqInd=Y&'+getSearchString()+'&QDummy='+ time + Math.floor(Math.random()*5),strUrl);
    if(confirm("Do you want to delete the record?"))
	   GetAjaxData(strUrl,showModifiedList);
}
function restoreRecord(strUrl){
	var dt = new Date()
    var time = dt.getTime()
	strUrl=addQPara2URL('QDummy='+ time + Math.floor(Math.random()*5),strUrl);
	if(confirm("Do you want to restore the record?"))
	   GetAjaxData(strUrl,showModifiedList);
}
function delete_restore_Record(strUrl){
	var dt = new Date()
    var time = dt.getTime()
	strUrl=addQPara2URL('QAsyncReqInd=Y&'+getSearchString()+'&QDummy='+ time + Math.floor(Math.random()*5),strUrl);
	if(confirm("Do you want to restore the record?"))
	   GetAjaxData(strUrl,showModifiedList);
}
function editRecord(strUrl){
	glblSearchColumn='';
	glblSearchVal='';
	glblSearchCond='';
	glblSearchStatus='';
	loadAjaxPages(strUrl);
}
function showModifiedList(strData){  
	/*if(strData!=''){
		generateDataGrid(strData);
		return true;
	}
	if($('pageHDR'))
	  glblPageHdr=$('pageHDR').innerHTML;
	var dt = new Date()
    var time = dt.getTime()
	var  strUrl=addQPara2URL('&QDummy='+ time + Math.floor(Math.random()*5));
	showListPage(strUrl);*/
	
	if(document.getElementById('pageHDR'))
	  glblPageHdr=document.getElementById('pageHDR').innerHTML;

	showListPage(window.location.href);
}
function loadAjaxPageDiv(strUrl,ID){
    if(strEditMode==''){
        strGlblDivId=ID;
    var index=strUrl.indexOf('Opener.');
     if(index >=0 ){
        location.href=strUrl.substring(index + 7);
     }else{
      var dt = new Date()
      var time = dt.getTime()
      var randomVar = time + Math.floor(Math.random()*5);
        if (strUrl.indexOf('?')>0){
            strUrl +='&QDummy='+randomVar;
        }else{
            strUrl += '?QDummy='+randomVar;
        }	
      if(!objMsgDiv)getMsgDiv();	
      if(objMsgDiv)			
        objMsgDiv.innerHTML="<img src='../CorpImages/Icons/Pross_crcl.gif'>"
      if($('pageHDR'))
      glblPageHdr=$('pageHDR').innerHTML;
    GetAjaxData(strUrl,generateAjaxPages);	
      }
    }else{
    strEditMode="true";
    }
}
function $go(strUrl)
{
	window.top.location.href=strUrl;
}
function addQPara2URL(strPara,strUrl)
{
  	if(!strUrl)
		var strUrl = location.href;
	if(strUrl.indexOf('#')>0)
      strUrl = strUrl.substring(0,strUrl.indexOf('#'));
	if (strUrl.indexOf('?')>0)
	{
    if(strPara.substring(0,1)!='&')
		strUrl+='&'+strPara;
		else
		strUrl+=strPara;
	}
	else
	{
		strUrl+='?'+strPara;
	}
	return strUrl;
}
