var bProfileModified = false;
var bPreviewLoaded = false;
function ValidatKeyPress(iValdType, eve)
{
try
{
if(iValdType == C_V_ALPHANUM)
{
if(Text_NumAlphaKeyPress(eve))
{
if(GetKeyCode(eve) == 13)
{
//eID('btnSave').click();
return false;
}
return true;
}
}
return false;
}
catch(e)
{
alert(e.message);
}
}
function ValidateSubmit(source, arguments)
{
try
{
var txtProf = document.getElementById(C_S_PROFILEUC_ID+'_txtProfName');
var objProfGrd = document.getElementById(C_S_PROFILE_GRID);
var strErrMsg = '';
var strScripCount = objProfGrd.rows.length - 1;
// this is done because when a new profile is created a blank row is inserted
// to show the headers so the blank row should be filtered out
if(objProfGrd.rows.length == 2)
{
var strArr = objProfGrd.rows[1].id.split(FD);
if(strArr.length < 2)
{
strScripCount = strScripCount - 1;
}
}
if(txtProf.value.length == 0)
{
strErrMsg += 'Profile name cannot be blank';
}
if(strScripCount == 0)
{
if(strErrMsg.length != 0)
{
strErrMsg += '
Profile should have one or more scrips';
}
else
{
strErrMsg += 'Profile should have one or more scrips';
}
}
if(strErrMsg.length != 0)
{
source.errormessage = strErrMsg;
$("#vsProfile").text(strErrMsg);
arguments.IsValid = false;
}
else
{
arguments.IsValid = true;
}
}
catch(e)
{
alert(e.message);
}
}
function CreateProfileString()
{
if(Page_ClientValidate())
{
var objProfGrd = document.getElementById(C_S_PROFILE_GRID);
var strXml = "";
for(idx = 1; idx < objProfGrd.rows.length; idx++)
{
var srcRow = objProfGrd.rows[idx];
// token and market segment are enough to save a profile
strXml = strXml + $(srcRow.cells[0]).text() + FD;
strXml = strXml + $(srcRow.cells[1]).text() + RD;
}
document.getElementById(C_S_PROFILEUC_ID+'_hidScripDet').value = strXml;
bProfileModified = false;
return strXml;
}
}
// removes the scrip from Profile Grid for the current profile
function RemoveScrip(strToken, strSegId)
{
try
{
var objProfGrd = document.getElementById(C_S_PROFILE_GRID);
var iCount = objProfGrd.rows.length;
if(iCount <= 2)
{
showModalPopup('Profile','Profile should have one or more scrips', null);
return false;
}
for(i = 1; i < iCount; i++)
{
var strHidToken = '';
var strHidMktSegId = '';
var strArr = objProfGrd.rows[i].id.split(FD);
if(strArr.length > 2)
{
strHidToken = strArr[2];
strHidMktSegId = strArr[1];
}
if((strHidToken == strToken) && (strSegId == strHidMktSegId))
{
// this variable is set to true so as to suggest that profile has been modified
// when the user clicks cancel a prompt msg is given to the user
// to check if the user wants to save the profile
bProfileModified = true;
objProfGrd.deleteRow(i);
break;
}
}
return false;
}
catch(e)
{
alert(e.message);
}
}
// opens the preview page for the profile which shows the columns that will be present in Marketwatch
// for that profile
function OpenPreview()
{
try {
var strProfName = document.getElementById(C_S_PROFILEUC_ID+'_txtProfName').value;
var strProfId = document.getElementById(C_S_PROFILEUC_ID+'_hidProfId').value;
var strTempName = document.getElementById(C_S_PROFILEUC_ID+'_ddlTemplate').value;
var strArr = new Array();
strArr[0] = this;
strArr[1] = CreateProfileString();
// Modified by Sakthi for Chrome issue
if(typeof(strArr[1]) != 'undefined')
{
if(window.showModalDialog)
window.showModalDialog(TEMPLATEPREVIEW_URL + "?profName=" + strProfName + "&tempName=" + strTempName + "&profId=" + strProfId + "&ProfileString=" + strArr, "resizable:yes; dialogWidth:400px; dialogHeight:600px");
else {
try {
var sQueryString = TEMPLATEPREVIEW_URL + "?profName=" + strProfName + "&tempName=" + strTempName + "&profId=" + strProfId + "&ProfileString=" + strArr;
var objHandle = null;
if (window.opener)
objHandle = window.opener;
else if (window.parent)
objHandle = window.parent;
var objLookup = objHandle.SearchPopup('LookUp');
if (objLookup != null)
objLookup.close();
//sQueryString += "&ProfileString=" + CreateProfileString();
var objWin = window.open(sQueryString, 'Preview', "resizable:yes; dialogWidth:400px; dialogHeight:600px");
objWin.focus();
objHandle.addPopUp(objWin);
} catch (e) {
showModalPopup(strPageName, 'Unable to open Popup', null);
}
}
}
else
{
//showModalPopup('Profile', 'Profile should have one or more scrips', null);
}
return false;
}
catch(e)
{
alert(e.message);
}
}
// checks if the preview page is loaded
// this is done bcos when preview page is loaded a button is clicked explicitly
// so this button click causes a post back so it gets called again and again
// so to restrict that a boolean variable is checked in the Profile Page which is
// the parent page
function PreviewLoadedComplete()
{
bPreviewLoaded = true;
}
function IsPreviewLoaded()
{
return bPreviewLoaded;
}
function ResetPreviewLoad()
{
bPreviewLoaded = false;
}
// reloads the profile main page
function ReloadProfileList()
{
window.location.href = PROFILEMAIN_URL;
}