function trimAll(sString) 
{
  while (sString.substring(0,1) == ' ')
  {
    sString = sString.substring(1, sString.length);
  }
  while (sString.substring(sString.length-1, sString.length) == ' ')
  {
    sString = sString.substring(0,sString.length-1);
  }
  return sString;
}


/// <on>14/02/2005<on>
/// <function>
///   <title>IsNumeric</title>
///   <description>
///    General purpose isnumeric function with ","
///   </description>
///   <param type="text" name="sText">
///       passed value to be checked
///   </param>
///   <return></return>
/// </function>
///   <by>FA<by>
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;
   
}



/// <by>FA<by>
/// <on>14/02/2005<on>
/// <function>
///   <title>PolicyEdit_checkValidForm</title>
///   <description>
///    Check whether all fields for policy entered correctly before submitting form.  
///   </description>
///   <param type="object" name="objForm">
///       The Form.
///   </param>
///   <return></return>
/// </function>

function PolicyEdit_checkValidForm(objForm)
{
	if(checkMandForm(objForm)==false)
	{
		return false;
	}
	//error message text
	var sErrNo, sErrEmail, sErrDate, sErrForPol, sErrMainVal, sErrSubVal;

	sErrNo = document.frmPolicyEdit.txtmsgerr_noexp.value;
	sErrEmail = document.frmPolicyEdit.txtmsgerr_emailexp.value;
	sErrDate = document.frmPolicyEdit.txtmsgerr_dateexp.value;
	sErrForPol = document.frmPolicyEdit.txtmsgerr_forpol.value;
	sErrMainVal = document.frmPolicyEdit.txtmsgerr_mainval.value;
	sErrSubVal = document.frmPolicyEdit.txtmsgerr_subval.value;

	var i, e, len

	len=objForm.elements.length;

	for (var i=0;i<len;i++)
	{
		e = objForm.elements[i];

		//Main Value Starts here **************************
		if (e.name.substring(0,20) == 'txtpolicy_main_value')
		{

			if (e.field_type=='N')  // numeric
			{
				if (!IsNumeric(e.value))
				{
					alert(sErrNo + ' ' + sErrMainVal + ' ' + sErrForPol  +  '\n' + '\n' + e.policy_desc);
					return false;
				}
			}

			if (e.field_type=='E')  // email
			{
				if (e.value.indexOf("@") < 0)
				{
					alert(sErrEmail + ' ' + sErrMainVal + ' ' + sErrForPol  +  '\n' + '\n' + e.policy_desc);
					return false;
				}
			}

			if (e.field_type=='D')  // date
			{
				if (!jsCheckDate(e.value))
				{
					alert(sErrDate + ' ' + sErrMainVal + ' ' + sErrForPol  +  '\n' + '\n' + e.policy_desc);
					return false;
				}
			}
		}						//if
		//Main Value Ends here **************************

		//Sub Value Starts here **************************
		if (e.name.substring(0,19) == 'txtpolicy_sub_value')
		{

			if (e.field_type=='N')  // numeric
			{
				if (!IsNumeric(e.value))
				{
					alert(sErrNo + ' ' + sErrSubVal + ' ' + sErrForPol  +  '\n' + '\n' + e.policy_desc);
					return false;
				}
			}

			if (e.field_type=='E')  // email
			{
				if (e.value.indexOf("@") < 0)
				{
					alert(sErrEmail + ' ' + sErrSubVal + ' ' + sErrForPol  +  '\n' + '\n' + e.policy_desc);
					return false;
				}
			}

			if (e.field_type=='D')  // date
			{
				if (!jsCheckDate(e.value))
				{
					alert(sErrDate + ' ' + sErrSubVal + ' ' + sErrForPol  +  '\n' + '\n' + e.policy_desc);
					return false;
				}
			}
		}						//if
		//Sub Value Ends here **************************
		
	}							// for ends
	return true;
}								// function ends

function getXMLCleanedData(sData) 
{
  sData = str_replace(sData,'&', '&amp;');
  sData = str_replace(sData, "'", "&apos;");
  sData = str_replace(sData, '>', '&gt;');
  sData = str_replace(sData, '<', '&lt;');
  sData = str_replace(sData, '"', '&quot;');
/*  sData = str_replace(sData,'~', '');
  sData = str_replace(sData,'&', '');
  sData = str_replace(sData, '~', '');
  sData = str_replace(sData, '`', '');
  sData = str_replace(sData, '!', '');
  sData = str_replace(sData, '#', '');
  sData = str_replace(sData, '$', '');
  sData = str_replace(sData, '%', '');
  sData = str_replace(sData, '^', '');
  sData = str_replace(sData, '&', '');
  sData = str_replace(sData, '*', '');
  sData = str_replace(sData, '(', '');
  sData = str_replace(sData, ')', '');
  sData = str_replace(sData, '=', '');
  sData = str_replace(sData, "'", "");
  sData = str_replace(sData, '""', '');
  sData = str_replace(sData, ';', '');
  sData = str_replace(sData, '?', '');
  sData = str_replace(sData, ':', '');
  sData = str_replace(sData, '}', '');
  sData = str_replace(sData, '{', '');
  sData = str_replace(sData, ']', '');
  sData = str_replace(sData, '[', '');
  sData = str_replace(sData, '>', '');
  sData = str_replace(sData, '<', '');
  sData = str_replace(sData, '"', '');
*/
  return sData;
}

function str_replace(string,text,by) 
{
// str_replaces text with by in string
    var strLength = string.length, txtLength = text.length;
    if ((strLength == 0) || (txtLength == 0)) return string;

    var i = string.indexOf(text);
    if ((!i) && (text != string.substring(0,txtLength))) return string;
    if (i == -1) return string;

    var newstr = string.substring(0,i) + by;

    if (i+txtLength < strLength)
        newstr += str_replace(string.substring(i+txtLength,strLength),text,by);

    return newstr;
}

function SC_Repeated_Assign_ConstructXML(objDoc,objForm,frmScRepeatedAssign)
{
	var sSub, sBody;
	sSub = objDoc.frmSCActionAdd.txtSub.value;
	sBody = objDoc.frmSCActionAdd.txtBody.value;
	sBody = sBody.substr(0, 3990);
	var strXML
	strXML='';
	
	strXML = '<sc_repeated>';
	strXML = strXML + '<sc_subject>' + getXMLCleanedData(sSub) + '</sc_subject>'
	strXML = strXML + '<sc_body>' + getXMLCleanedData(sBody) + '</sc_body>'
	strXML = strXML + '<sc_type_cd>' + objDoc.frmSCActionAdd.hdsc_type_cd.value + '</sc_type_cd>'
	strXML = strXML + '<user_id>' + objDoc.frmSCActionAdd.hduser_id.value + '</user_id>'
	strXML = strXML + '</sc_repeated>';
	
	objDoc.frmHidden.XMLHidden.value = strXML;		

	objDoc.frmHidden.action = frmScRepeatedAssign;
	objDoc.frmHidden.submit();
	return true;

}
function SC_Repeated_Assign_Accept_ConstructXML(objDoc,objForm, frmScRepeatedAssign, sSeqNo, sRepSeqNo, sLoggedUserId)
{
	var strXML
	strXML='';
	
	strXML = '<sc><sc_repeated_assign>';
	strXML = strXML + '<sc_seq_no>' + sSeqNo + '</sc_seq_no>'
	strXML = strXML + '<sc_repeated_seq_no>' + sRepSeqNo + '</sc_repeated_seq_no>'
	strXML = strXML + '<sc_logged_user_id>' + sLoggedUserId + '</sc_logged_user_id>'
	strXML = strXML + '</sc_repeated_assign></sc>';
	
	objDoc.frmHidden.XMLHidden.value = strXML;		

	objDoc.frmHidden.action = frmScRepeatedAssign;
	objDoc.frmHidden.submit();
	return true;

}


 //checks NOISE WORDS to be ignored from the search
function IsNoiseWord(aWord, alertMsg)
{
	if (aWord =='') 
	{
		return true;
	}

	var noisearray = new Array("0","1","2","3","4","5","6","7","8","9","$","a","about","after","all","also","an","and","another","any","are","as","at","b","be","because","been","before","being","between","both","but","by","c","came","can","come","could","d","did","do","does","e","each","else","f","for","from","g","get","got","h","had","has","have","he","her","here","him","himself","his","how","i","if","in","into","is","it","its","j","just","k","l","like","m","make","many","me","might","more","most","much","must","my","n","never","now","o","of","on","only","or","other","our","out","over","p","q","r","re","s","said","same","see","should","since","so","some","still","such","t","take","Test","than","that","the","their","them","then","there","these","they","this","those","through","to","too","u","under","up","use","v","very","w","want","was","way","we","well","were","what","when","where","which","while","who","will","with","would","x","y","you","your","z");
	for (var i=1;i<=noisearray.length;i++)
	{
		if (aWord == noisearray[i])
		{
		alert('"' + aWord + '"' + alertMsg);
		return false;
		}
	}
	return true;
}

function SC_Repeated_Valid(pSubject, pBody, alertMsgBlank, alertMsgNoise)
{
	if ((pSubject == '') && (pBody == ''))
	{
		alert(alertMsgBlank);
		return false;
	}

	if (pSubject!='')
	{
		return IsNoiseWord(pSubject, alertMsgNoise)
	}

	if (pBody!='')
	{
		return IsNoiseWord(pBody, alertMsgNoise)
	}
}

function SC_Repeated_ConstructXML(objDoc,objForm, frmScAdd, sSub, sBody)
{
	var strXML
	strXML='';
	
	strXML = '<sc_repeated>';
	strXML = strXML + '<sc_subject>' + getXMLCleanedData(sSub) + '</sc_subject>'
	strXML = strXML + '<sc_body>' + getXMLCleanedData(sBody) + '</sc_body>'
	strXML = strXML + '<sc_type_cd>' + objDoc.frmScAdd.hdsc_type_cd.value + '</sc_type_cd>'
	strXML = strXML + '<user_id>' + objDoc.frmScAdd.hduser_id.value + '</user_id>'
	strXML = strXML + '</sc_repeated>';
	
	objDoc.frmHidden.XMLHidden.value = strXML;		

	var hwinPopup;	//popup window Handle
	var intScreenWidth = 600;  //screen.availWidth;
	hwinPopup=DTK_openBrWindow('about:blank','sc_repeated_target', 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width='+intScreenWidth+',height=400,left=50,top=50');
	objDoc.frmHidden.action = frmScAdd;
	objDoc.frmHidden.target='sc_repeated_target';
	objDoc.frmHidden.submit();
	hwinPopup.focus();
	return true;
}


function SCParticipantsEdit_ConstructXML(objDoc,objForm, frmScPartEdit, p_noofparts)
{
	var strXML;
	//alert(p_noofparts);
	strXML='<participants>';
	for (var i=1;i<=p_noofparts;i++)
	{
		var oname;
		oname = "txtDetail_" + i;
		//alert(oname);
		strXML = strXML + '<participant>' ;
		strXML = strXML + '<sc_part_seq_no>';
		strXML = strXML + objDoc.frmScPartEdit.all(oname).sc_part_seq_no;
		strXML = strXML + '</sc_part_seq_no>';
		strXML = strXML + '<part_name>';
		strXML = strXML + objDoc.frmScPartEdit.all(oname).part_name;
		strXML = strXML + '</part_name>';
		strXML = strXML + '<email_id>';
		strXML = strXML + objDoc.frmScPartEdit.all(oname).email_id;
		strXML = strXML + '</email_id>';
		strXML = strXML + '<action>';
		strXML = strXML + objDoc.frmScPartEdit.all(oname).action;
		strXML = strXML + '</action>';
		strXML = strXML + '</participant>';
	}
	
	strXML= strXML + '</participants>';
	
	objDoc.frmHidden.XMLHidden.value = strXML;
	objDoc.frmHidden.action = frmScPartEdit;
	objDoc.frmHidden.submit();
	return true;

}


/// <function>
///   <title>Messages_Add_ConstructXML</title>
///   <description>
///    generates XML for the Messages Add.
///   </description>
///   <param type="object" name="objForm">
///       selected element
///   </param>
///   <param type="string" name="frmMessage">
///      sets the action the form.
///   </param>
///   <return></return>
/// </function>	

function Messages_Add_ConstructXML(objDoc,objForm, frmMessage)
{
	var i, e, strXML, len
	strXML='';
	var valueofe
	strXML='<messages>';
	strXML=strXML+'<newmessage>';
	
	len=objForm.elements.length;
	for (var i=0;i<len;i++)
	{
		e = objForm.elements[i];
		if(e.xmlelementname != null)
		{
			if (e.xmlelementname != '')
			{	

				if(e.type=='checkbox')
				{
					valueofe = e.checked
					if(valueofe==true)
						{
							valueofe='1'
						}
						else
						{
							valueofe='0'
						}
					}
					else
					{
					valueofe = e.value
				}

				if (strXML=='')
				{
					strXML = '<' + e.xmlelementname  + '>' + valueofe + '</' + e.xmlelementname  + '>';
				}
				else
				
				{
					strXML = strXML + '\n' + '<' + e.xmlelementname  + '>' + valueofe + '</' + e.xmlelementname  + '>';
				}

			}
		}
	}
	strXML=strXML+'</newmessage>';
	strXML=strXML+'</messages>';
	//alert(strXML);

	objDoc.frmMessage.XMLHidden.value = strXML;
	objDoc.frmMessage.action = frmMessage;		
	objDoc.frmMessage.submit();
	return true;
}

function Messages_Add_checkValidForm(objForm,usertypecd)
{
	if (usertypecd != 'EX')
	{
		if (objForm.txtrecipients.value=='' && objForm.txtgrprecipients.value=='')
		{
			alert(objForm.msgblank.value);
			return false;
		}
	}
	return checkMandForm(objForm)
}


/// <function>
///   <title>Claim_checkValidForm</title>
///   <description>
///    Check whether all fields for claim are input correctly before submitting form.  
///   </description>
///   <param type="object" name="objForm">
///       The Form.
///   </param>
///   <return></return>
/// </function>

function checkDate_Ahead(date_ddmmyyyy,msg_txt)
{
	var d = new Date();

	var curr_year = d.getYear();
	var curr_month = d.getMonth();
	var curr_day = d.getDate();
								
	//alert(date_ddmmyyyy.substring(0,2) + ':' + ':' + curr_day);
	
	if (date_ddmmyyyy.substring(6,10) < curr_year) 
	{
		return true;
	}
	if	(date_ddmmyyyy.substring(6,10) > curr_year) 
	{
		alert(msg_txt);
		return false;
	}

	//here year = current year , Month starts with 0 , so add one
	if (date_ddmmyyyy.substring(3,5) < curr_month +1) 
	{
		return true;
	}
	if (date_ddmmyyyy.substring(3,5) > curr_month +1) 
	{
		alert(msg_txt);
		return false;
	}

	//here year = current year and month = current month
	if (date_ddmmyyyy.substring(0,2) < curr_day)
	{
		return true;
	}
	if (date_ddmmyyyy.substring(0,2) > curr_day)
	{
		alert(msg_txt);
		return false;
	}
	return true;	
}

function CompareCurrDate(date_ddmmyyyy)
{
	var d = new Date();

	var curr_year = d.getYear();
	var curr_month = d.getMonth();
	var curr_day = d.getDate();
								
	if (date_ddmmyyyy.length<10)
	{
		return 'invalid';
	}
	if (date_ddmmyyyy.substring(6,10) < curr_year) 
	{
		return 'less';
	}
	if	(date_ddmmyyyy.substring(6,10) > curr_year) 
	{
		return 'greater';
	}

	//here year = current year , Month starts with 0 , so add one
	if (date_ddmmyyyy.substring(3,5) < curr_month +1) 
	{
		return 'less';
	}
	if (date_ddmmyyyy.substring(3,5) > curr_month +1) 
	{
		return 'greater';
	}

	//here year = current year and month = current month
	if (date_ddmmyyyy.substring(0,2) < curr_day)
	{
		return 'less';
	}
	if (date_ddmmyyyy.substring(0,2) > curr_day)
	{
		return 'greater';
	}
	return 'equal';	
}


function Left(str, n){
	if (n <= 0)
	    return "";
	else if (n > String(str).length)
	    return str;
	else
	    return String(str).substring(0,n);
}
function Right(str, n){
    if (n <= 0)
       return "";
    else if (n > String(str).length)
       return str;
    else {
       var iLen = String(str).length;
       return String(str).substring(iLen, iLen - n);
    }
}


/// <by>FA<by>
/// <on>28/02/2005<on>
/// <function>
///   <title>Forgot_Password_checkValidForm</title>
///   <description>
///    Check whether all fields for Forgot Password entered correctly before submitting form.  
///   </description>
///   <param type="object" name="objForm">
///       The Form.
///   </param>
///   <return></return>
/// </function>


function Forgot_Password_checkValidForm(objForm)
{
	
	
    if(trimAll(objForm.txtEmail_id.value)=='' && trimAll(objForm.txtMobile_No.value)=='')
	{
	        alert(objForm.txtValidateMsg.value);
			return false;
	}
	
	
	if(!IsNumeric(trimAll(objForm.txtMobile_No.value)))
	{
	        alert(objForm.txtMobileValidateMsg.value);
		    return false;
	}
	
    if(trimAll(objForm.txtMobile_No.value)!='')
    {
    
        
        if(trimAll(objForm.txtMobile_No.value).length<10)
        {
            alert(objForm.txtMobileValidateMsg.value);
		    return false;
        }
        
        
        if(trimAll(objForm.txtMobile_No.value).length==10)
        {
            if(Left(trimAll(objForm.txtMobile_No.value),3)!='050' && Left(trimAll(objForm.txtMobile_No.value), 3)!='055')
            {
                alert(objForm.txtMobileValidateMsg.value);
		        return false;
            }
        
        }

        if(trimAll(objForm.txtMobile_No.value).length>10)
        {
            objForm.txtMobile_No.value='0' + Right(objForm.txtMobile_No.value,9)
            if(Left(trimAll(objForm.txtMobile_No.value),3)!='050' && Left(trimAll(objForm.txtMobile_No.value), 3)!='055')
            {
                alert(objForm.txtMobileValidateMsg.value);
		        return false;
            }
        
        }
        
        objForm.txtMobile_No.value='00971' + Right(objForm.txtMobile_No.value,9);
                
	}


    if(trimAll(objForm.txtEmail_id.value)!='')
    {
	    if(isEmailValid(objForm.txtEmail_id.value)==false)
	    {
		    alert(objForm.txtEmailValidateMsg.value);
		    return false;
	    }
	}
   
	return true;
	
}


/// <by>AS<by>
/// <on>16/12/2004<on>
/// <function>
///   <title>UserProfile_checkValidForm</title>
///   <description>
///    Check whether all fields for user profile entered correctly before submitting form.  
///   </description>
///   <param type="object" name="objForm">
///       The Form.
///   </param>
///   <return></return>
/// </function>
function UserProfile_checkValidForm(objForm,strForm)
{


	var bMandFieldsEntered;
	bMandFieldsEntered=checkMandForm(objForm);
	if(bMandFieldsEntered==false)
	{
			return false;
	}	
	if (isIDNumberValid(objForm.txtIDNumber.value)==false)
	{
	  alert(objForm.txtIDNumberValidateMsg.value);
		return false;
	}
	if(isEmailValid(objForm.txtEmail_id.value)==false) //email_id
	{
		alert(objForm.txtEmailValidateMsg.value);
		return false;
	}
	// here
	
	
	if(strForm!="edit")
	{
		if(objForm.txtUser_id.value.length<3)
		{
			alert(objForm.txtUserIdLengthMsg.value);
			return false;
		}
		if(isUserIDValid(objForm.txtUser_id.value)==false)
		{
			alert(objForm.txtUserIdValidateMsg.value);
			return false;
		}
	}
	if(objForm.txtPwd.value.length>0)
	{
		if(objForm.txtPwd.value.length<6)
		{
			alert(objForm.txtPwdLengthMsg.value);
			return false;
		}
		if(isPwdValid(objForm.txtPwd.value)==false)
		{
			alert(objForm.txtPwdValidateMsg.value);
			return false;
		}
		if(objForm.txtPwd.value!=objForm.txtReEnterPwd.value)
		{
			alert(objForm.txtPwdReEnterMsg.value);
			return false;
		}
	}
	return true;
}

function isIDNumberValid(strIDNumber)
{
//332-4444-7776777-1

  if (strIDNumber.length <= 0) //not mandatory
  {
    return true;
  }
  var sAllowedChar='0123456789-';
	if(CheckValidCharsIDNumber(strIDNumber,sAllowedChar)==false) 
		{
   return false;
  }
  
  /*alert(strIDNumber.substring(3,4) + '::' + strIDNumber.substring(8,9) + '::' + strIDNumber.substring(16,17));
  alert(strIDNumber.substring(3,5) + '::' + strIDNumber.substring(8,10) + '::' + strIDNumber.substring(16,18));
  return false;*/
  if (strIDNumber.length != 18 || strIDNumber.substring(3,4) != '-' || strIDNumber.substring(8,9) != '-' || strIDNumber.substring(16,17) != '-')
  {
    return false;
  }
  
}

function CheckValidCharsIDNumber(sText, sValidChars)
{
	var Char;
	for (i = 0; i < sText.length; i++) 
	   { 
	   Char = sText.charAt(i); 
	  
	   if (sValidChars.indexOf(Char) == -1) 
	      {
	      return false;
	      break;
	      }
	   }
	return true;
}

/// <by>AS<by>
/// <on>16/12/2004<on>
/// <function>
///   <title>isEmailValid</title>
///   <description>
///    Check whether email_id is in valid format  
///   </description>
///   <param type="string" name="strEmail">
///   <return>true/false</return>
/// </function>

function isEmailValid(strEmail)
{
	var sAllowedChar='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-@.';
	if(CheckValidChars(strEmail,sAllowedChar)==true) //email_id
		{
		//characters are correct check for position of the @
		var iAtPos=strEmail.indexOf('@');
		if (iAtPos < 2)
			{
				return false;
			}
		else
			{
				//characters  and position of the @ are correct, check if . (dot) exist or not
				if (strEmail.indexOf('.') == -1)
				{
					return false;
				}
				{
					return true;
				}
			}
		}
	else
		{
		return false;
		}
}

function togglemenu()
{
  //First Argument always : WebPathImage index=0
  //Second argument always : Image name index=1
  //Rest arguments are the SPAN's that is to be hidden/shown index range [ 1 -- argument.length]
  
  var argv = togglemenu.arguments;
  var argc = argv.length;
  
  for (var i = 2; i < argc; i++)
	{
		if (argv[i].style.display == "none")
		{
			argv[i].style.display = "block";
			//document.all(argv[1]).src = argv[0] + 'Nav/ExpandoOpen.gif';
		}
		else
		{
			argv[i].style.display = "none";
			//document.all(argv[1]).src = argv[0] + 'Nav/ExpandoClosed.gif';
		}
	}
}


/// <by>AS<by>
/// <on>16/12/2004<on>
/// <function>
///   <title>checkMandForm</title>
///   <description>
///    Check whether all fields in the form are entered correctly before submitting form.  
///   </description>
///   <param type="object" name="objForm">
///       The Form.
///   </param>
///   <return></return>
/// </function>
function checkMandForm(objForm)
{
	var i, e, msg_txt, rtn_code,len
	msg_txt='';
	rtn_code=true;
	len=objForm.elements.length;
	for (var i=0;i<len;i++)
	{
		var e 
		e = objForm.elements[i];
		if(e.mandatory != null)
		{
			if ((e.mandatory == 'yes') && (trimAll(e.value) == ''))
			{	
				if (msg_txt=='')
				{
					msg_txt = e.label_name;
				}
				else
				
				{
					msg_txt = msg_txt + ', ' + e.label_name;
				}
				rtn_code=false;
			}
		}
	}
	if (msg_txt!='')
	{
		msg_txt = document.frmHidden.msg001.value + msg_txt;
		alert(msg_txt);
	}
	
	return rtn_code;
	
}

/// <by>AS<by>
/// <on>16/12/2004<on>
/// <function>
///   <title>UserProfile_ConstructXML</title>
///   <description>
///    generates XML for the accident claim.
///   </description>
///   <param type="object" name="objForm">
///       selected element
///   </param>
///   <param type="string" name="frmAction">
///      sets the action the form.
///   </param>
///   <param type="boolean" name="blnCalc">
///      indicates whether values in form need to be totalled or not.
///   </param>
///   <return></return>
/// </function>	

function UserProfile_ConstructXML(objDoc,objForm, frmAction)
{

	var i, e, strXML, len

	strXML='';
	
	
	strXML='<sc>';
	strXML=strXML+'<userprofiles><userprofile>';
	
	len=objForm.elements.length;
	for (var i=0;i<len;i++)
	{
		e = objForm.elements[i];
		if(e.xmlelementname != null)
		{
			if (e.xmlelementname != '')
			{	
				if (strXML=='')
				{
					strXML = '<' + e.xmlelementname  + '>' + e.value + '</' + e.xmlelementname  + '>';
				}
				else
				
				{
					strXML = strXML + '\n' + '<' + e.xmlelementname  + '>' + e.value + '</' + e.xmlelementname  + '>';
				}

			}
		}
	}
	strXML=strXML+'</userprofile></userprofiles>';
	strXML=strXML+'</sc>';
	
	
	objDoc.frmHidden.XMLHidden.value = strXML;		
	//objDoc.frmHidden.police_ref_no.value = objForm.txtPoliceRefNo.value;		
	objDoc.frmHidden.action = frmAction;		

	//alert('frmAction : ' + frmAction);
	//alert(strXML);
	//return false;
	
	objDoc.frmHidden.submit();
	return true;
}


/// <function>
///   <title>Claim_Upload_checkValidForm</title>
///   <description>
///    Check whether all fields for claim are input correctly before submitting form.  
///   </description>
///   <param type="object" name="objForm">
///       The Form.
///   </param>
///   <return></return>
/// </function>
function Claim_Upload_checkValidForm(objForm)
{
	var msg_txt
	msg_txt='';
	
	if (objForm.fileAccidentPhoto.value=='' && objForm.fileCroquis.value=='' )
	{
		msg_txt = objForm.msg001.value;
		alert(msg_txt);
		return false;
	}
	else
	if(objForm.fileAccidentPhoto.value==objForm.fileCroquis.value)
	{
		msg_txt = objForm.msg002.value;
		alert(msg_txt);
		return false;
	}
	else
	{
		return true;
	}	
	
}


function Details_Click(thisElement,formAction)
	{
	try{
	var strPrintHREF = formAction;
	var strFormPreviousAction = thisElement.form.action;
	var strFormPreviousTarget = thisElement.form.target;
	var hwinPopup;	//popup window Handle
	var intScreenWidth = screen.availWidth;
	hwinPopup=DTK_openBrWindow('about:blank','PolicyDetails', 'toolbar=no,location=no,status=no,menubar=yes,scrollbars=yes,resizable=yes,width='+intScreenWidth+',height=400,left=0,top=50');
	thisElement.form.action=strPrintHREF;
	thisElement.form.target='PolicyDetails';
	thisElement.form.submit();
	thisElement.form.action = strFormPreviousAction;
	thisElement.form.target = strFormPreviousTarget;
	
	hwinPopup.focus();
	return true;
	}
	catch (er){
	alert('Could not initialise the Popup window\n\n' + er.name+'\n'+er.description);
	return false;
	}
	}

function Chart_Click()
	{
	try{
	var hwinPopup;	//popup window Handle
	var intScreenWidth = screen.availWidth;
	var intScreenHeight = screen.availHeight-150;
	hwinPopup=DTK_openBrWindow('about:blank','ChartDetails', 'toolbar=no,location=no,status=yes,menubar=no,scrollbars=yes,resizable=yes,width='+intScreenWidth+',height=' + intScreenHeight + ',left=0,top=50');
	hwinPopup.document.writeln('<html><head><title>Loading....</title></head><body align="center"><table width="100%" height="100%" align="center" valign="middle"><tr align="center"><td align="center"><font color="red" size="+2">Loading Chart...<br> Please Wait...</font></td></tr></table></body></html>');
	hwinPopup.status="Loading CHart........"
	document.frmChart.target='ChartDetails';
	
	var strCaptionXML;

	strCaptionXML='<main>';
	strCaptionXML= strCaptionXML + '<graph_title>' + document.frmChart.txtGraphTitle.value + '</graph_title>';
	strCaptionXML= strCaptionXML + '<x_axis_caption>' + document.frmChart.txtXAxisLabel.value + '</x_axis_caption>';
	strCaptionXML= strCaptionXML + '<y_axis_caption>' + document.frmChart.txtYAxisLabel.value + '</y_axis_caption>';
	strCaptionXML= strCaptionXML + '</main>';
	
	document.frmChart.txtGraphCaptions.value=strCaptionXML;
	
	document.frmChart.submit();
	hwinPopup.focus();
	return true;
	}
	catch (er){
	alert('Could not initialise the Popup window\n\n' + er.name+'\n'+er.description);
	return false;
	}
	}

	
/// <function>
///   <title>SubmitLink</title>
///   <author>Brendan P</author>
///   <description>
///    Assign an action to a form set some input values, submit the form and cancelled the processing by returning false.  
///   </description>
///   <param type="array" name="args">
///       an array of parameters
///			args[0] is the form to submit
///			args[1] is the action string (used to lookup a hidden input with the full action)
///			args[2]..args[n] are the parameters relevant to the submission
///   </param>
///   <return>false</return>
/// </function>
function SubmitLink(args)
{

	if (typeof(args[0]) != "object")
	{
		alert("Unable to open Link. Error Type : 1");
		return false;
	}
	
	var thisForm = args[0];
	try
	{
		//alert(":"+eval("thisForm.action = thisForm."+args[1]+"_Link.value")+":");
		eval("thisForm.action = thisForm."+args[1]+"_Link.value");
	}
	catch (e)
	{
		alert("Unable to open Link. Error Type : 2 "+args[1].toString());
		return false;
	}

	try
	{
		var errstage;
		switch(args[1])
		{
			case "App_Select" :
				errstage = 3;					
				//thisForm.licenseno.value=args[2];								
				//thisForm.apptypeid.value=args[3];							
				//thisForm.appno.value=args[4];
				//thisForm.apptype.value=args[5];	
				break;
			case "UserProfile_Details" :
				errstage = 1;					
				thisForm.user_id.value=args[2];							
				break;
			case "SC_Details" :
				errstage = 1;					
				thisForm.sc_seq_no.value=args[2];							
				thisForm.sc_type_cd.value=args[3];							
				break;
			case "CN_SC_Details" :
				errstage = 1;					
				thisForm.sc_seq_no.value=args[2];							
				thisForm.sc_type_cd.value=args[3];							
				break;
		}
	}
	catch (e)
	{
		alert("Unable to open Link. Error Type : "+ errstage);
		return false;
	}

	thisForm.submit();
	return false;   // ensure that no further processing takes place
	
}	

function Codes_Edit_checkValidForm(objForm)
{
	
	return checkMandForm(objForm)
}

function ServUnit_Edit_checkValidForm(objForm)
{
	
	return checkMandForm(objForm)
}

function PA_Ceremony_Edit_checkValidForm(objForm,d1,msg1,d2,msg2,d3,msg3,d4,msg4)
{
	
	if (d1 == '//' || d1 == '0/0/0') 
	{
		alert(msg1);
		return false;
	}	
	if (d2 == '//' || d2 == '0/0/0')
	{
		alert(msg2);
		return false;
	}
	if (d3 == '//' || d3 == '0/0/0')
	{
		alert(msg3);
		return false;
	}
	if (d4 == '//' || d4 == '0/0/0')
	{
		alert(msg4);
		return false;
	}
	return checkMandForm(objForm)
}

function PA_Ceremony_Awards_Edit_CO_IO_checkValidForm(objForm, date_ddmmyyyy, datealertmsg)
{
		if (!checkMandForm(objForm))
		{
		return false;
		}
		if (!IsNumeric(objForm.txtawardamt.value))
		{
		alert('Please enter a numeric value in the award amount field');
		return false;
		}

		if (objForm.chkAwdRec.checked == true)
		{
			if (date_ddmmyyyy == '//' || date_ddmmyyyy == '0/0/0')
			{
				alert(datealertmsg);
				return false;
			}
		}
		return true;
}

function PA_Ceremony_Awards_Edit_Dist_Sugg_checkValidForm(objForm, date_ddmmyyyy, datealertmsg)
{
	if (objForm.chkAwdRec.checked == true)
	{
		if (date_ddmmyyyy == '//' || date_ddmmyyyy == '0/0/0')
		{
			alert(datealertmsg);
			return false;
		}
	}
	return checkMandForm(objForm)
}

function PA_Ceremony_Awards_EditLittle_checkValidForm(objForm)
{
	return checkMandForm(objForm)
}


/// <function>
///   Codes_Select_checkValidForm/title>
///   <description>
///    Validate Codes Combo
///   </description>
///   <param type="object" name="objForm">
///       selected element
///   </param>
///   <return></return>
/// </function>	

function Codes_Select_checkValidForm(objForm, errmsg)
{
	if (objForm.lstSelectCodeType.value=='')
	{
		alert(errmsg);
		return false;
	}
	else
	{
		return true;
	}	
	
}

/// <function>
///   Codes_Edit_ConstructXML/title>
///   <description>
///    generate xml for Codes Add/Edit
///   </description>
///   <param type="object" name="objForm">
///       selected element
///   </param>
///   <param type="string" name="frmCodeEdit">
///      sets the action the form.
///   </param>
///   <return></return>
/// </function>	

function Codes_Edit_ConstructXML(objDoc,objForm, frmAction)
{

	var i, e, strXML, strXMLCodes, len

	
	strXML='';
	strXMLCodes='';
	
	len=objForm.elements.length;
	for (var i=0;i<len;i++)
	{
		e = objForm.elements[i];
		if(e.xmlelementname != null)
		{
			if (e.xmlelementname != '')
			{	
				if(e.type=='checkbox')
				{
					if(e.checked==true)
					{
						if (strXMLCodes=='')
						{
							
							strXMLCodes = '<code><code_type_id>13</code_type_id><' + e.xmlelementname  + '>' + e.value + '</' + e.xmlelementname  + '><code_desc_en>' + e.xmlelementdesc_en + '</code_desc_en><code_desc_ar>' + e.xmlelementdesc_ar  +  '</code_desc_ar><status>' + e.xmlelementstatus  +  '</status></code>';
						
						}
						else
						
						{
							strXMLCodes = strXMLCodes + '\n' + '<code><code_type_id>13</code_type_id><' + e.xmlelementname  + '>' + e.value + '</' + e.xmlelementname  + '><code_desc_en>' + e.xmlelementdesc_en + '</code_desc_en><code_desc_ar>' + e.xmlelementdesc_ar  +  '</code_desc_ar><status>' + e.xmlelementstatus  +  '</status></code>';
							
						}
					}
					
				}
				else
				{
					if (strXML=='')
					{
						strXML = '<' + e.xmlelementname  + '>' + e.value + '</' + e.xmlelementname  + '>';
					}
					else
					
					{
						strXML = strXML + '\n' + '<' + e.xmlelementname  + '>' + e.value + '</' + e.xmlelementname  + '>';
					}
				}
			}
		}
	}

	//strXMLCodes='<codes>'+strXMLCodes+'</codes>';
	strXML='<codes><code>'  + strXML + strXMLCodes  +'</code></codes>';
	
	//alert(strXML);
	objDoc.frmCodeEdit.XMLHidden.value = strXML;
	//objDoc.frmCodeEdit.action = frmCodeEdit.action;	???	 
	//alert('frmCodeEdit : ' + frmCodeEdit);
	objDoc.frmCodeEdit.submit();
	return true;
}


function check_PositiveNumber(vVal)
{
if (vVal.value>0)
  {
  return true;
  }
else
	{
	alert("Please enter a positive number greater than zero in Amount field.");
	return false;
	}
}

function ClaimStatus_Select_ConstructXML(objDoc,objForm, frmCriterion)
{
	var i, e, strXML, len
	strXML='';
	
	strXML='<dmpac>';
	strXML=strXML+'<claimstatus_criterion>';
	
	len=objForm.elements.length;
	for (var i=0;i<len;i++)
	{
		e = objForm.elements[i];
		if(e.xmlelementname != null)
		{
			if (e.xmlelementname != '')
			{	
				if (strXML=='')
				{
					strXML = '<' + e.xmlelementname  + '>' + e.value + '</' + e.xmlelementname  + '>';
				}
				else
				
				{
					strXML = strXML + '\n' + '<' + e.xmlelementname  + '>' + e.value + '</' + e.xmlelementname  + '>';
				}

			}
		}
	}
	strXML=strXML+'</claimstatus_criterion>';
	strXML=strXML+'</dmpac>';
	
	objDoc.frmCriterion.XMLHidden.value = strXML;		
	objDoc.frmCriterion.action = frmCriterion;
//	alert(strXML + objDoc.frmCriterion.action);
	objDoc.frmCriterion.submit();
	return true;
}

function Report_Pol_ClaimSummary_ConstructXML(objDoc,objForm, frmCriterion)
{
	var i, e, strXML, len
	strXML='';
	
	strXML='<dmpac>';
	strXML=strXML+'<report_claimsummary>';
	
	len=objForm.elements.length;
	for (var i=0;i<len;i++)
	{
		e = objForm.elements[i];
		if(e.xmlelementname != null)
		{
			if (e.xmlelementname != '')
			{	
				if (strXML=='')
				{
					strXML = '<' + e.xmlelementname  + '>' + e.value + '</' + e.xmlelementname  + '>';
				}
				else
				
				{
					strXML = strXML + '\n' + '<' + e.xmlelementname  + '>' + e.value + '</' + e.xmlelementname  + '>';
				}

			}
		}
	}
	strXML=strXML+'</report_claimsummary>';
	strXML=strXML+'</dmpac>';
	
	
	objDoc.frmCriterion.XMLHidden.value = strXML;		
	objDoc.frmCriterion.action = frmCriterion;
	//alert(strXML + objDoc.frmCriterion.action);
	objDoc.frmCriterion.submit();
	return true;
}

function Login_checkValidForm(objForm, strmsg)
{

	if (objForm.txtloginid.value=='' || objForm.txtpwd.value=='' )
	{
		alert(strmsg);
		return false;
	}
	else
	{
		return true;
	}	
	
}

function Change_Pwd_CheckValidForm(objForm, smsgblank, smsgnotsame)
{
	if (objForm.txtoldpwd.value=='' || objForm.txtnewpwd.value==''  || objForm.txtconfirmpwd.value=='' )
	{
		alert(smsgblank);
		return false;
	}
	if (objForm.txtnewpwd.value != objForm.txtconfirmpwd.value)
	{
		alert(smsgnotsame);
		return false;
	}
	if(objForm.txtnewpwd.value.length<6)
	{
		alert(objForm.txtPwdLengthMsg.value);
		return false;
	}
	return true;
}


/// <function>
///   Change_Password_ConstructXML/title>
///   <description>
///    generate xml for Changing Password
///   </description>
///   <param type="object" name="objForm">
///       selected element
///   </param>
///   <param type="string" name="frmChangePwd">
///      sets the action the form.
///   </param>
///   <return></return>
/// </function>	

function Change_Password_ConstructXML(objDoc,objForm, frmChangePwd, sLoginId)
{
	var i, e, strXML, len
	strXML='';
	
	strXML='<sc>';
	strXML=strXML+'<changepwd>';
	strXML = strXML + '<loginid>' + sLoginId + '</loginid>'
	
	len=objForm.elements.length;
	for (var i=0;i<len;i++)
	{
		e = objForm.elements[i];
		if(e.xmlelementname != null)
		{
			if (e.xmlelementname != '')
			{	
				if (strXML=='')
				{
					strXML = '<' + e.xmlelementname  + '>' + e.value + '</' + e.xmlelementname  + '>';
				}
				else
				
				{
					strXML = strXML + '\n' + '<' + e.xmlelementname  + '>' + e.value + '</' + e.xmlelementname  + '>';
				}

			}
		}
	}
	strXML=strXML+'</changepwd>';
	strXML=strXML+'</sc>';
	
	//alert(strXML);
	objDoc.frmChangePwd.XMLHidden.value = strXML;		
	objDoc.frmChangePwd.action = frmChangePwd;
	objDoc.frmChangePwd.submit();
	return true;
}


function FAQ_Subject_Edit_checkValidForm(objForm, msgtxt)

{
	return checkMandForm(objForm);

}

/// <function>
///   FAQ_Subject_Edit_ConstructXML/title>
///   <description>
///    generate xml for FAQ QA
///   </description>
///   <param type="object" name="objForm">
///       selected element
///   </param>
///   <param type="string" name="frmFAQSubjectEdit">
///      sets the action the form.
///   </param>
///   <return></return>
/// </function>	

function FAQ_Subject_Edit_ConstructXML(objDoc,objForm, frmAction)
{

	var i, e, strXML, strXMLFAQ, len

	
	strXML='';
	strXMLFAQ='';
	
	len=objForm.elements.length;
	for (var i=0;i<len;i++)
	{
		e = objForm.elements[i];
		if(e.xmlelementname != null)
		{
			if (e.xmlelementname != '')
			{	
				if(e.type=='checkbox')
				{
					if(e.checked==true)
					{
						if (strXMLFAQ=='')
						{
							
							strXMLFAQ = '<sc><' + e.xmlelementname  + '>' + e.value + '</' + e.xmlelementname  + '><faq_subject_en>' + e.xmlelementdesc_en + '</faq_subject_en><faq_subject_ar>' + e.xmlelementdesc_ar  +  '</faq_subject_ar><status>' + e.xmlelementstatus  +  '</status></sc>';
						
						}
						else
						
						{
							strXMLFAQ = strXMLFAQ + '\n' + '<sc><' + e.xmlelementname  + '>' + e.value + '</' + e.xmlelementname  + '><faq_subject_en>' + e.xmlelementdesc_en + '</faq_subject_en><faq_subject_ar>' + e.xmlelementdesc_ar  +  '</faq_subject_ar><status>' + e.xmlelementstatus  +  '</status></sc>';
							
						}
					}
					
				}
				else
				{
					if (strXML=='')
					{
						strXML = '<' + e.xmlelementname  + '>' + e.value + '</' + e.xmlelementname  + '>';
					}
					else
					
					{
						strXML = strXML + '\n' + '<' + e.xmlelementname  + '>' + e.value + '</' + e.xmlelementname  + '>';
					}
				}
			}
		}
	}

	strXML='<sc><faq>'  + strXML + strXMLFAQ  +'</faq></sc>';
	
	//alert(strXML);
	objDoc.frmFAQSubjectEdit.XMLHidden.value = strXML;
	objDoc.frmFAQSubjectEdit.submit();
	return true;
}




function Policy_Edit_ConstructXML(objDoc,objForm, frmPolicyEdit)
{
	var i, e, strXML, len
	var vpolicy_id, vpolicy_main_value, vpolicy_sub_value

	strXML='';

	strXML='<sc>';

	len=objForm.elements.length;

	for (var i=0;i<len;i++)
	{
		e = objForm.elements[i];
		if(e.xmlelementname != null)
		{
			if (e.xmlelementname == 'policy_main_value')
			{
				strXML=strXML+'<policy_update_values>';
				vpolicy_id = e.name.substring(20,e.name.length);
				vpolicy_main_value = e.value;

				strXML = strXML + '<' + 'policy_id' + '>';
				strXML = strXML + vpolicy_id;
				strXML = strXML + '</' + 'policy_id' + '>';

				strXML = strXML + '<' + 'policy_main_value' + '>';
				strXML = strXML + vpolicy_main_value;
				strXML = strXML + '</' + 'policy_main_value' + '>';
			}			

			if (e.xmlelementname == 'policy_sub_value')
			{
					vpolicy_sub_value = e.value;
					strXML = strXML + '<' + 'policy_sub_value' + '>';
					strXML = strXML + vpolicy_sub_value;
					strXML = strXML + '</' + 'policy_sub_value' + '>';
					strXML=strXML+'</policy_update_values>';
			}			

		}  //if(e.xmlelementname != null)
		
	}
	strXML=strXML+'</sc>';
	
	//alert(strXML);
	//return;
	objDoc.frmPolicyEdit.XMLHidden.value = strXML;		
	objDoc.frmPolicyEdit.action = frmPolicyEdit;		
	objDoc.frmPolicyEdit.submit();
	return true;
}

function PA_Awards_Cat_List_Edit_ConstructXML(objDoc,objForm, frmAwardsCatEdit,pAdd)
{

	var i, e, strXML, len
	var vaward_seq_no
	strXML='';

	strXML='<sc>';

	len=objForm.elements.length;

	for (var i=0;i<len;i++)
	{
		e = objForm.elements[i];
		if(e.xmlelementname != null)
		{
			if (e.name.substring(0,3)!='add' ) //if user has NOT used ADD
			{
				if(e.xmlelementname == 'award_seq_no') //start tag
				{
					strXML=strXML+'<awards_cat_update_values>';
				}			
				strXML = strXML + '<' + e.xmlelementname + '>';
				strXML = strXML + e.value;
				strXML = strXML + '</' + e.xmlelementname + '>';
				if(e.xmlelementname == 'award_amt')  //end tag
				{
					strXML=strXML+'</awards_cat_update_values>';
				}			
			}
			if (pAdd=='block' && e.name.substring(0,3)=='add' ) //if user has used ADD
			{
				if(e.xmlelementname == 'award_seq_no') //start tag
				{
					strXML=strXML+'<awards_cat_update_values>';
				}			
				strXML = strXML + '<' + e.xmlelementname + '>';
				strXML = strXML + e.value;
				strXML = strXML + '</' + e.xmlelementname + '>';
				if(e.xmlelementname == 'award_amt')  //end tag
				{
					strXML=strXML+'</awards_cat_update_values>';
				}			
			}



		}  //if(e.xmlelementname != null)
	}
	strXML=strXML+'</sc>';
	
	//alert(strXML);
	objDoc.frmAwardsCatEdit.XMLHidden.value = strXML;		
	objDoc.frmAwardsCatEdit.action = frmAwardsCatEdit;
	objDoc.frmAwardsCatEdit.submit();
	return true;
}

/// <on>14/02/2005<on>
/// <function>
///   <title>SC_AddValid_IN_EX</title>
///   <description>
///    To validate SC Add page, in case of IN EX there are no owner fields
///   </description>
///   <param type="text" name="sText">
///       passed value to be checked
///   </param>
///   <return></return>
/// </function>
///   <by>FA<by>


function SC_AddValid_IN_EX(objForm)
{
	return checkMandForm(objForm);
}

function SC_AddValid(objForm)
{
	//return checkMandForm(objForm);
	
	/*FA 300305 validation for owner/presenter fields start*/	
		if (!checkMandForm(objForm))
		{
		return false;
		}

			if (!IsTelNo(objForm.txtSCOwnerTel.value))
			{
				alert(objForm.msgtel.value);
				return false;
			}
			if (!IsTelNo(objForm.txtSCOwnerFax.value))
			{
				alert(objForm.msgfax.value);
				return false;
			}
			if (!IsTelNo(objForm.txtSCOwnerMob.value))
			{
				alert(objForm.msgmob.value);
				return false;
			}
			if(objForm.txtSCOwnerEMail.value != "")
			{
				if(isEmailValid(objForm.txtSCOwnerEMail.value)==false)
				{
					alert(objForm.msgemailid.value);
					return false;
				}
			}
		return true;
	/*FA 300305 validation for owner/presenter fields end*/	

}

function SC_EditValid(objForm)
{
	//return checkMandForm(objForm);
	
	/*FA 300305 validation for owner/presenter fields start*/	
		if (!checkMandForm(objForm))
		{
			return false;
		}
		if (objForm.hdinputmethodcd.value!=='WEB')
		{
			if (!IsTelNo(objForm.txtSCOwnerTel.value))
			{
				alert(objForm.msgtel.value);
				return false;
			}
			if (!IsTelNo(objForm.txtSCOwnerFax.value))
			{
				alert(objForm.msgfax.value);
				return false;
			}
			if (!IsTelNo(objForm.txtSCOwnerMob.value))
			{
				alert(objForm.msgmob.value);
				return false;
			}
			if(objForm.txtSCOwnerEMail.value != "")
			{
				if(isEmailValid(objForm.txtSCOwnerEMail.value)==false)
				{
					alert(objForm.msgemailid.value);
					return false;
				}
			}
		}
		return true;
	/*FA 300305 validation for owner/presenter fields start*/	

}

function SC_ConstructXML(objDoc,objForm, frmAction)
{

	var strXML, strXML1, strXML2, strPartXML;
	var s, e, t;
	strPartXML=' ';
	strXML='';
	strXML='<sc>';
	strXML=strXML+'<suggestions_complaints><suggestion_complaint>';
	strXML=strXML+COMMON_ConstructXMLElements(objForm)
	strXML1=objDoc.frmHidden.XMLHidden.value;
	if (strXML1.indexOf('<participant>') > 0)
	{
	s = strXML1.indexOf('<participants>');
	strXML2 = strXML1.substr(s);		
	e = strXML2.indexOf('</participants>')+15;
	strPartXML = strXML2.substr(0, e);		
	}
	

	strXML=strXML+strPartXML
	
	strXML=strXML+'</suggestion_complaint></suggestions_complaints>';
	strXML=strXML+'</sc>';
	objDoc.frmHidden.action = frmAction;
	objDoc.frmHidden.XMLHidden.value = strXML;		
	objDoc.frmHidden.sc_type_cd.value = objForm.txtScType.value;		
	objDoc.frmHidden.target=''; // required: as 'Search Repeat' uses target make it blank here
	objDoc.frmHidden.action = frmAction;		
	objDoc.frmHidden.submit();
	return true;
}

function SC_Questionaire_ConstructXML(objDoc,objForm, frmAction)
{

	var strXML, strXML1, strXML2, strXML3;
	var s, e, t,i,c,len,q_seq;
	

	strXML=objDoc.frmSCQuestinaireAns.XMLMain.value;
	//alert(strXML);
	if (strXML.indexOf('</sc>') > 0)
	{
	s = strXML.indexOf('</sc>');
	strXML1 = strXML.substr(0,s);	
	}
	
	strXML2='<questionaire_ans_list>'
	
	c=objDoc.frmSCQuestinaireAns.txtQCount.value;
	for (var i=0;i<c;i++)
	{
		strXML2=strXML2+'<questionaire_ans>';
		
		strXML2=strXML2+'<q_seq_no>'+objDoc.frmSCQuestinaireAns.txtQSeqNo[i].value+'</q_seq_no>';
		strXML2=strXML2+'<ans_type>'+objDoc.frmSCQuestinaireAns.txtAnsType[i].value+'</ans_type>';
	
		strXML2=strXML2+'<ans_option_cd>'
		q_seq = objDoc.frmSCQuestinaireAns.txtQSeqNo[i].value
		len=objDoc.frmSCQuestinaireAns.elements.length;
		for (var t=0;t<len;t++)
		{
			e = objDoc.frmSCQuestinaireAns.elements[t];
			if (e.xmlelementname=='ans_option_cd' && e.q_seq==q_seq )
			{
				strXML2=strXML2+e.value;
			}
		}
		strXML2=strXML2+'</ans_option_cd>';
		
		strXML2=strXML2+'<ans_option>'
		q_seq = objDoc.frmSCQuestinaireAns.txtQSeqNo[i].value
		len=objDoc.frmSCQuestinaireAns.elements.length;
		for (var t=0;t<len;t++)
		{
			e = objDoc.frmSCQuestinaireAns.elements[t];
			if (e.xmlelementname=='ans_option' && e.q_seq==q_seq )
			{
				strXML2=strXML2+e.value;
			}
		}
		strXML2=strXML2+'</ans_option>';

		strXML2=strXML2+'<ans_text>';
		for (var t=0;t<len;t++)
		{
			e = objDoc.frmSCQuestinaireAns.elements[t];
			if (e.xmlelementname=='ans_text' && e.q_seq==q_seq )
			{
				strXML2=strXML2+e.value;
			}
		}
		strXML2=strXML2+'</ans_text>'

		strXML2=strXML2+'</questionaire_ans>';
	}
	
	strXML2=strXML2+'</questionaire_ans_list>';
	strXML3=strXML1+strXML2+'</sc>';
	
	objDoc.frmHidden.action = frmAction;
	objDoc.frmHidden.XMLHidden.value = strXML3;		
	objDoc.frmHidden.submit();
	return true;
}


function SCParticipants_ConstructXML(objDoc, objForm, frmAction)
{

	var strXML, strXML1, strXML2, strPartXML;
	var s, e, t;
	
	strXML=objDoc.frmHidden.XMLHidden.value;
	if (strXML.indexOf('<participant>') > 0)
	{
	//there is participant elements
	s = strXML.indexOf('</participants>');
	e = strXML.indexOf('</participants>')+15;
	strXML1 = strXML.substr(0, s);		
	strPartXML='<participant>';
	strPartXML+='<part_name>' + objForm.txtPartName.value + '</part_name>';
	strPartXML+='<email_id>' + objForm.txtPartEmail.value + '</email_id>';
	strPartXML+='</participant></participants>';
	
	strXML2 = strXML.substr(e)	;	
	}
	else
	{
	s = strXML.indexOf('</suggestion_complaint>');
	
	strXML1 = strXML.substr(0, s);		
	
	strPartXML='<participants><participant>';
	strPartXML+='<part_name>' + objForm.txtPartName.value + '</part_name>';
	strPartXML+='<email_id>' + objForm.txtPartEmail.value + '</email_id>';
	strPartXML+='</participant></participants>';
	strXML2 = '</suggestion_complaint></suggestions_complaints></sc>';	
	}
	
	strXML = strXML1 + strPartXML + strXML2
	objDoc.frmHidden.XMLHidden.value = strXML;		
	objDoc.frmHidden.sc_type_cd.value = objForm.txtScType.value;		
	objDoc.frmHidden.action = frmAction;		
	objDoc.frmHidden.submit();
	return true;
}

function SC_Edit_ConstructXML(objDoc, objForm, frmAction, ploggeduserid)
{
	// FILTERING STARTS  : take only required nodes
	
	var strXMLFilter
	var strLastNode;
	strLastNode = '</modify_year>';
	strXMLFilter=objDoc.frmHidden.XMLHidden.value;
	
	var ef;
	ef = strXMLFilter.indexOf(strLastNode) + strLastNode.length;
	strXMLFilter = strXMLFilter.substr(0,ef) ;
	strXMLFilter = strXMLFilter + '</suggestion_complaint></suggestions_complaints></sc>';

	/*Replacing modifyby node Start*/

	var mb_name_s,mb_name_e , mb_s, mb_e;
	var mb_node_old, mb_node_new
	mb_name_s = '<modify_by>';
	mb_name_e = '</modify_by>';
	
	mb_s = strXMLFilter.indexOf(mb_name_s );
	mb_e = strXMLFilter.indexOf(mb_name_e) + mb_name_e.length;

	mb_node_old = strXMLFilter.substr(mb_s, mb_e - mb_s);
	mb_node_new = mb_name_s + ploggeduserid + mb_name_e;
	
	strXMLFilter = strXMLFilter.replace(mb_node_old,mb_node_new);

	/*Replacing modifyby node End*/


	// FILTERING END	
	var strXML
	var s, e, t;
	
	objForm.txtSubject.value = getXMLCleanedData(objForm.txtSubject.value);		

	strXML = strXMLFilter;	
	//alert(objForm.txtCity.value)
	strXML=UpdateXMLElement( strXML, 'sc_type_cd', objForm.lstSCType.value,'suggestion_complaint');		
	
	strXML=UpdateXMLElement( strXML, 'sc_subject', objForm.txtSubject.value, 'suggestion_complaint');
	
	strXML=UpdateXMLElement( strXML, 'city_cd', objForm.lstCity.value, 'suggestion_complaint');
	strXML=UpdateXMLElement( strXML, 'serv_unit_seq_no', objForm.lstOrgUnit.value, 'suggestion_complaint');
	
	strXML=UpdateXMLElement( strXML, 'org_unit_cd', objForm.org_unit_cd.value, 'suggestion_complaint');	


	/*  THESE ARE CLEANED BELOW
	objForm.txtSCOwnerName.value = getXMLCleanedData(objForm.txtSCOwnerName.value);		
	objForm.txtSCOwnerEmpId.value = getXMLCleanedData(objForm.txtSCOwnerEmpId.value);		
	objForm.txtSCOwnerAdd.value = getXMLCleanedData(objForm.txtSCOwnerAdd.value);		
	objForm.txtSCOwnerTel.value = getXMLCleanedData(objForm.txtSCOwnerTel.value);		
	objForm.txtSCOwnerFax.value = getXMLCleanedData(objForm.txtSCOwnerFax.value);		
	objForm.txtSCOwnerMob.value = getXMLCleanedData(objForm.txtSCOwnerMob.value);		
	objForm.txtSCOwnerEMail.value = getXMLCleanedData(objForm.txtSCOwnerEMail.value);		
	*/
	if (objForm.hdinputmethodcd.value!=='WEB')
	{
	
		strXML=UpdateXMLElement( strXML, 'sc_owner_name', getXMLCleanedData(objForm.txtSCOwnerName.value));

		strXML=UpdateXMLElement( strXML, 'sc_owner_emp_id', getXMLCleanedData(objForm.txtSCOwnerEmpId.value));
		strXML=UpdateXMLElement( strXML, 'sc_owner_add', getXMLCleanedData(objForm.txtSCOwnerAdd.value));
		strXML=UpdateXMLElement( strXML, 'sc_owner_tel', getXMLCleanedData(objForm.txtSCOwnerTel.value));
		strXML=UpdateXMLElement( strXML, 'sc_owner_fax', getXMLCleanedData(objForm.txtSCOwnerFax.value));
		strXML=UpdateXMLElement( strXML, 'sc_owner_mob', getXMLCleanedData(objForm.txtSCOwnerMob.value));
		strXML=UpdateXMLElement( strXML, 'sc_owner_email', getXMLCleanedData(objForm.txtSCOwnerEMail.value));
	}

	strXML=UpdateXMLElement( strXML, 'sc_input_method_cd', objForm.lstInputMethod.value, 'suggestion_complaint');
	objDoc.frmHidden.XMLHidden.value = strXML;		
	//alert(strXML);	
	//return false
	objDoc.frmHidden.action = frmAction;		
	objDoc.frmHidden.submit();
	return true;
}

function SC_ValidAction(objForm, action_no)
{
	var i, e, imp_off, exp_date, rtn_code,len

	rtn_code = '';
	if (action_no=='15')//Assign Implementing Officer, Check valid IO
	{
		imp_off=objForm.lstImpOff.options(objForm.lstImpOff.selectedIndex).value;
		if (imp_off=='')
		rtn_code = 'invalid_imp_off';
	}
	else if(action_no=='16') //Setting Expected Date of Completion
	{
		var exp_date=objForm.ExpectedResultDate_ddmmyyyy.value;
		var comp_value = CompareCurrDate(exp_date);
		if (comp_value=='less' || comp_value=='invalid')
		{
			rtn_code='not_valid_date';
		}
	}
	else if(action_no=='17') //Final Result
	{
		fin_imp_result=objForm.lstFinImpResult.options(objForm.lstFinImpResult.selectedIndex).value;
		if (fin_imp_result=='FIN' && checkInValidCurr(objForm.txtImpResultAmt))
		{
			rtn_code='invalid_amount';
		}
	
	}
	return rtn_code;
}
function UpdateXMLElement( strXML, strElementName, strElementValue, strChildOfNode)
{
	var strXML_Start, strXML_Replace, strXML_End;
	var strXML_Result;
	
	if (strXML.indexOf(strElementName)< 0)  //element missing
	{
		var strXML_NewNode;
		s = strXML.indexOf(strChildOfNode)+strChildOfNode.length +1
		strXML_Start = strXML.substr(0, s) //get root
		strXML_NewNode = '<' + strElementName + '>' + strElementValue + '</' + strElementName + '>';
		e = s
		strXML_End = strXML.substr(e)	;	
		strXML_Result = strXML_Start + strXML_NewNode + strXML_End;
	}

	if (strXML.indexOf(strElementName + '/')> 0)  //element found but string is empty eg: </ename>
	{
		var strXML_NodeStart, strXML_NodeEnd;
		s = strXML.indexOf(strChildOfNode);
		s = strXML.indexOf(strElementName,s);
		strXML_Start = strXML.substr(0, s-1);		
		strXML_NodeStart='<' + strElementName + '>';
		strXML_Replace=strElementValue;
		strXML_NodeEnd='</' + strElementName + '>';
		e = s + strElementName.length + 2;
		strXML_End = strXML.substr(e)	;	
		strXML_Result = strXML_Start + strXML_NodeStart + strXML_Replace + strXML_NodeEnd + strXML_End;
	}

	if (strXML.indexOf(strElementName)> 0 && strXML.indexOf('/' + strElementName)> 0)  //element found with string eg: <ename>val</ename>
	{
		s = strXML.indexOf(strChildOfNode);
		s = strXML.indexOf(strElementName,s);
		strXML_Start = strXML.substr(0, s-1);
		e = strXML.indexOf(strChildOfNode);
		e = strXML.indexOf('/' + strElementName, s) + strElementName.length + 2;
		strXML_End = strXML.substr(e)	;
		strXML_Replace='<' + strElementName + '>' + strElementValue + '</' + strElementName + '>';
		strXML_Result = strXML_Start + strXML_Replace + strXML_End;
	}
	return strXML_Result;
}

function COMMON_ConstructXMLElements(objForm)
{

	var i, e, strXML, len

	strXML='';
	
	len=objForm.elements.length;
	for (var i=0;i<len;i++)
	{
		e = objForm.elements[i];
		if(e.xmlelementname != null)
		{
			if (e.xmlelementname != '')
			{	
/*FA*/		if (e.xmlelementname=='sc_subject' || e.xmlelementname=='sc_body' )
				{
					e.value = getXMLCleanedData(e.value);
/*FA*/			}
				if (strXML=='')
				{
					strXML = '<' + e.xmlelementname  + '>' + e.value + '</' + e.xmlelementname  + '>';
				}
				else
				{
					strXML = strXML + '\n' + '<' + e.xmlelementname  + '>' + e.value + '</' + e.xmlelementname  + '>';
				}
			}
		}
	}
	return strXML;
	
}
function FAQ_QA_Edit_checkValidForm(objForm)

{
	return checkMandForm(objForm);

}


/// <function>
///   FAQ_QA_Edit_ConstructXML/title>
///   <description>
///    generate xml for FAQ QA Add
///   </description>
///   <param type="object" name="objForm">
///       selected element
///   </param>
///   <param type="string" name="frmNewQA">
///      sets the action the form.
///   </param>
///   <return></return>
/// </function>	

function FAQ_QA_Edit_ConstructXML(objDoc,objForm, frmAction)
{

	var i, e, strXML, strXMLFAQ, len

	
	strXML='';
	strXMLFAQ='';
	
	len=objForm.elements.length;
	for (var i=0;i<len;i++)
	{
		e = objForm.elements[i];
		if(e.xmlelementname != null)
		{
			if (e.xmlelementname != '')
			{	
				if(e.type=='checkbox')
				{
					if(e.checked==true)
					{
						if (strXMLFAQ=='')
						{
							
							strXMLFAQ = '<sc><' + e.xmlelementname  + '>' + e.value + '</' + e.xmlelementname  + '><faq_subject_en>' + e.xmlelementdesc_en + '</faq_subject_en><faq_subject_ar>' + e.xmlelementdesc_ar  +  '</faq_subject_ar><status>' + e.xmlelementstatus  +  '</status></sc>';
						
						}
						else
						
						{
							strXMLFAQ = strXMLFAQ + '\n' + '<sc><' + e.xmlelementname  + '>' + e.value + '</' + e.xmlelementname  + '><faq_subject_en>' + e.xmlelementdesc_en + '</faq_subject_en><faq_subject_ar>' + e.xmlelementdesc_ar  +  '</faq_subject_ar><status>' + e.xmlelementstatus  +  '</status></sc>';
							
						}
					}
					
				}
				else
				{
					if (strXML=='')
					{
						strXML = '<' + e.xmlelementname  + '>' + e.value + '</' + e.xmlelementname  + '>';
					}
					else
					
					{
						strXML = strXML + '\n' + '<' + e.xmlelementname  + '>' + e.value + '</' + e.xmlelementname  + '>';
					}
				}
			}
		}
	}

	strXML='<sc><faq>'  + strXML + strXMLFAQ  +'</faq></sc>';
	//alert(strXML);
	objDoc.frmNewQA.XMLHidden.value = strXML;
	objDoc.frmNewQA.submit();
	return true;
}

function FAQ_View_checkValidForm(objForm)
{
	return checkMandForm(objForm);
}

function checkInValidCurr(pElement)
{	
	var CurrencyValue;
	CurrencyValue = ParseCurrency(pElement.value);
	if (CurrencyValue>0 ) 
	{
		pElement.value = outputMoney(CurrencyValue);
		return false;
	}
	else 
	{
		pElement.value=''; 
		return true;
	}
}

function ParseCurrency(num)
{
    var noJunk = ""
    var withDollar = ""
    var foundDecimal = 0
    var foundAlphaChar = 0
    num += "";

    if (num == "") { return(0); }
    for (i=0; i <= num.length; i++)
    {
        var thisChar = num.substring(i, i+1);
        if (thisChar == ".")
        {
          foundDecimal = 1;
          noJunk = noJunk + thisChar;
        }
        if ((thisChar=="-"))
        {
        	withDollar = withDollar + thisChar
			noJunk = noJunk + thisChar
        }
        else if ((thisChar < "0") || (thisChar > "9"))
        {
			if ((thisChar != "$") && (thisChar !=".") && (thisChar != ",") && (thisChar != " ") && (thisChar !=""))   foundAlphaChar = 1;
        }
        else 
		{
			withDollar = withDollar + thisChar
			noJunk = noJunk + thisChar
		}

		if ((thisChar == "$") || (thisChar == ".") || (thisChar == ","))
		{
		withDollar = withDollar + thisChar
		}
	}
     if (foundDecimal && foundAlphaChar!=1) { 
		return parseFloat(noJunk);  }
     else if (noJunk.length > 0 && foundAlphaChar!=1) { 
     return parseFloat(noJunk); }
     else ;return 'NaN';
}
function outputMoney(number) 
{
    return outputEuros(Math.floor(number-0) + '') + outputCents(number - 0);
}

function outputEuros(number) 
{
    if (number.length <= 3)
        return (number == '' ? '0' : number);
    else {
        var mod = number.length%3;        
        var output = (mod == 0 ? '' : (number.substring(0,mod)));
        for (i=0; i < Math.floor(number.length/3); i++) {            
            if ((mod==0) && (i==0))
                output+= number.substring(mod+3*i,mod+3*i+3);
            else
                output+= ',' + number.substring(mod+3*i,mod+3*i+3);
        }
        return (output);
    }
}

function outputCents(amount) {
    amount = Math.round( ( (amount) - Math.floor(amount) ) *100);
    return (amount < 10 ? '.0' + amount : '.' + amount);
}

/// <function>
///   SC_Evaluator_Add_ConstructXML
///   <description>
///    generate xml for Adding Evaluators to a suggestion
///   </description>
///   <param type="object" name="objForm">
///       selected form object
///   </param>
///   <return></return>
/// </function>	

function SC_Evaluator_Add_ConstructXML(objForm)
{
	var i, strSelected, strElement;
	strSelected='';
	for (i=0; i < objForm.chkEvaluator.length; i++)
	{
		if(objForm.chkEvaluator[i].assigned!='yes')
		{
			if (objForm.chkEvaluator[i].checked==true) 
			{
				strElement = '<evaluator>'
				strElement = strElement + '<sc_seq_no>' 
				strElement = strElement + objForm.chkEvaluator[i].sc_seq_no 
				strElement = strElement + '</sc_seq_no>'
				strElement = strElement + '<eval_user_id>' 
				strElement = strElement + objForm.chkEvaluator[i].eval_user_id 
				strElement = strElement + '</eval_user_id>'
				strElement = strElement + '<user_name>'
				strElement = strElement + objForm.chkEvaluator[i].user_name 
				strElement = strElement + '</user_name>'
				strElement = strElement + '<eval_notes>'
				strElement = strElement + objForm.txtEvalNotes[i].value 
				strElement = strElement + '</eval_notes>'
				strElement = strElement + '</evaluator>'
				strSelected = strSelected + strElement
			}
		}
	}		
	
	if (strSelected!='')
	{
		strSelected = '<evaluators>' + strSelected  + '</evaluators>'
	}
	return strSelected;
	
}

/// <function>
///   SC_SpellChecked_XML
///   <description>
///    generate xml after user selects proper spelling
///   </description>
///   <param type="object" name="objForm">
///       selected form object
///   </param>
///   <return></return>
/// </function>	

function SC_SpellChecked_XML(objForm, strField)
{
	var i, strXMLBody, strElement;
	strXMLBody=' ';
	var len,i
	len=objForm.elements.length;
	for (var i=0;i<len;i++)
	{
		e = objForm.elements[i];	
		if(e.mytype != null)
		{

			if(strField=='body')
			{			
				if(e.name.substr(0,13)=='lstSCBodyText')
				{
					if(e.mytype=='combobox')
					{
						if(e.options(e.selectedIndex).text!='')
						{
						strXMLBody=strXMLBody + e.options(e.selectedIndex).text + ' ';
						}
					}
					else
					if(e.mytype=='textbox')
					{	
						if(e.value!='')
						{
							strXMLBody=strXMLBody + e.value + ' ';
						}
					}
				}
			}
			if(strField=='subject')
			{			
				if(e.name.substr(0,16)=='lstSCSubjectText')
				{
					if(e.mytype=='combobox')
					{
						if(e.options(e.selectedIndex).text!='')
						{
						strXMLBody=strXMLBody + e.options(e.selectedIndex).text + ' ';
						}
					}
					else
					if(e.mytype=='textbox')
					{	
						if(e.value!='')
						{
						strXMLBody=strXMLBody + e.value + ' ';
						}
					}
				}
			}
		}
		
	}

	return strXMLBody;
	
}

/// <function>
///   <title>Convert_List_Edit_ConstructXML</title>
///   <description>
///    generates XML for the Serv Unit.
///   </description>
///   <param type="object" name="objForm">
///       selected element
///   </param>
///   <param type="string" name="frmMessage">
///      sets the action the form.
///   </param>
///   <return></return>
/// </function>	
///	<by>FA<by>

function Convert_List_Edit_ConstructXML(objDoc,objForm, frmConvertListEdit)
{
	var i, e, strXML, len
	strXML='';
	strXML='<sc>';
	strXML=strXML+'<convert_list>';
	
	len=objForm.elements.length;
	for (var i=0;i<len;i++)
	{
		e = objForm.elements[i];
		if(e.xmlelementname != null)
		{
			if (e.xmlelementname != '')
			{	

				if (strXML=='')
				{
				strXML = '<' + e.xmlelementname  + '>' + e.value + '</' + e.xmlelementname  + '>';
				}
				else
				{
					strXML = strXML + '\n' + '<' + e.xmlelementname  + '>' + e.value + '</' + e.xmlelementname  + '>';
				}

			}
		}
	}
	strXML=strXML+'</convert_list>';
	strXML=strXML+'</sc>';
	
	//alert(strXML);
	objDoc.frmConvertListEdit.XMLHidden.value = strXML;
	objDoc.frmConvertListEdit.action = frmConvertListEdit;
	objDoc.frmConvertListEdit.submit();
	return true;
}

/// <function>
///   <title>ServUnit_Edit_ConstructXML</title>
///   <description>
///    generates XML for the Serv Unit.
///   </description>
///   <param type="object" name="objForm">
///       selected element
///   </param>
///   <param type="string" name="frmMessage">
///      sets the action the form.
///   </param>
///   <return></return>
/// </function>	
///	<by>FA<by>

function ServUnit_Edit_ConstructXML(objDoc,objForm, frmServUnitEdit)
{
	var i, e, strXML, len
	strXML='';
	var valueofe
	strXML='<sc>';
	strXML=strXML+'<serv_unit>';
	
	len=objForm.elements.length;
	for (var i=0;i<len;i++)
	{
		e = objForm.elements[i];
		if(e.xmlelementname != null)
		{
			if (e.xmlelementname != '')
			{	
				if(e.type=='checkbox')
				{
				valueofe = e.checked
				if(valueofe==true)
				{
					valueofe='1'
				}
				else
				{
					valueofe='0'
				}
				}
				else
				{
				valueofe = e.value
				}
				if (strXML=='')
				{
				strXML = '<' + e.xmlelementname  + '>' + valueofe + '</' + e.xmlelementname  + '>';
				}
				else
				{
					strXML = strXML + '\n' + '<' + e.xmlelementname  + '>' + valueofe + '</' + e.xmlelementname  + '>';
				}



			}
		}
	}
	strXML=strXML+'</serv_unit>';
	strXML=strXML+'</sc>';
	
	//alert(strXML);
	objDoc.frmServUnitEdit.XMLHidden.value = strXML;		
	objDoc.frmServUnitEdit.action = frmServUnitEdit;		
	objDoc.frmServUnitEdit.submit();
	return true;
}


/// <function>
///   <title>SC_Upload_checkValidForm</title>
///   <description>
///    Check whether all fields for claim are input correctly before submitting form.  
///   </description>
///   <param type="object" name="objForm">
///       The Form.
///   </param>
///   <return></return>
/// </function>
function SC_Upload_checkValidForm(objForm)
{

	
	var msg_txt
	msg_txt='';
	
	if (objForm.fileName.value==''  )
	{
		msg_txt = objForm.msg001.value;
		alert(msg_txt);
		return false;
	}
	else
	{
		return true;
	}	
	
}

//---------------
function PointCateg_Edit_ConstructXML(objDoc,objForm, frmPointsCategoriesEdit)
{
	var i, e, strXML, len
	strXML='';
	var valueofe
	strXML='<sc>';
	strXML=strXML+'<point_category>';
	
	len=objForm.elements.length;
	for (var i=0;i<len;i++)
	{
		e = objForm.elements[i];
		if(e.xmlelementname != null)
		{
			if (e.xmlelementname != '')
			{	
				if(e.type=='checkbox')
				{
				valueofe = e.checked
				if(valueofe==true)
				{
					valueofe='1'
				}
				else
				{
					valueofe='0'
				}
				}
				else
				{
				valueofe = e.value
				}
				if (strXML=='')
				{
				strXML = '<' + e.xmlelementname  + '>' + valueofe + '</' + e.xmlelementname  + '>';
				}
				else
				{
					strXML = strXML + '\n' + '<' + e.xmlelementname  + '>' + valueofe + '</' + e.xmlelementname  + '>';
				}



			}
		}
	}
	strXML=strXML+'</point_category>';
	strXML=strXML+'</sc>';
	
	//alert(strXML);
	objDoc.frmPointsCategoriesEdit.XMLHidden.value = strXML;		
	objDoc.frmPointsCategoriesEdit.action = frmPointsCategoriesEdit;		
	objDoc.frmPointsCategoriesEdit.submit();
	return true;
}

function Ceremony_Edit_ConstructXML(objDoc,objForm, frmCeremonyEdit)
{
	var i, e, strXML, len
	strXML='';
	var valueofe
	strXML='<sc>';
	strXML=strXML+'<ceremony>';
	
	len=objForm.elements.length;
	for (var i=0;i<len;i++)
	{
		e = objForm.elements[i];
		if(e.xmlelementname != null)
		{
			if (e.xmlelementname != '')
			{	
				if(e.type=='checkbox')
				{
				valueofe = e.checked
				if(valueofe==true)
				{
					valueofe='1'
				}
				else
				{
					valueofe='0'
				}
				}
				else
				{
				valueofe = e.value
				}
				if (strXML=='')
				{
				strXML = '<' + e.xmlelementname  + '>' + valueofe + '</' + e.xmlelementname  + '>';
				}
				else
				{
					strXML = strXML + '\n' + '<' + e.xmlelementname  + '>' + valueofe + '</' + e.xmlelementname  + '>';
				}



			}
		}
	}
	strXML=strXML+'</ceremony>';
	strXML=strXML+'</sc>';
	
	//alert(strXML);
	objDoc.frmCeremonyEdit.XMLHidden.value = strXML;		
	objDoc.frmCeremonyEdit.action = frmCeremonyEdit;		
	objDoc.frmCeremonyEdit.submit();
	return true;
}


/// <function>
///   PA_Suggestion_Points_CheckPointSelected/title>
///   <description>
///    generate xml for points assigned to a suggestion
///   </description>
///   <param type="object" name="objForm">
///       selected element
///   </param>
///   <param type="string" name="frmAction">
///      sets the action the form.
///   </param>
///   <param type="boolean" name="blnCalc">
///      indicates whether values in form need to be totalled or not.
///   </param>
///   <return></return>
/// </function>	

function PA_Suggestion_Points_CheckPointSelected(objForm)
{

	
	var i, e, len
	var bSelected
	bSelected=false;
	len=objForm.elements.length;
	for (var i=0;i<len;i++)
	{
		e = objForm.elements[i];
		if(e.type=='checkbox')
		{
			if(e.checked==true)
			{
				bSelected=true;
				break;
			}
		}
	}

	
	return bSelected;
}


/// <function>
///   PA_Suggestion_Points_ConstructXML/title>
///   <description>
///    generate xml for claim assignment to departments
///   </description>
///   <param type="object" name="objForm">
///       selected element
///   </param>
///   <param type="string" name="frmAction">
///      sets the action the form.
///   </param>
///   <param type="boolean" name="blnCalc">
///      indicates whether values in form need to be totalled or not.
///   </param>
///   <return></return>
/// </function>	

function PA_Suggestion_Points_ConstructXML(objDoc,objForm, frmAction)
{

	var i, e,strXML, strXMLCodes, len

	
	strXML='';
	strXMLCodes='';
	
	len=objForm.elements.length;
	for (var i=0;i<len;i++)
	{
		e = objForm.elements[i];
		if(e.xmlelementname != null)
		{
			if (e.xmlelementname != '')
			{	
				if(e.type=='checkbox')
				{
					if(e.checked==true)
					{
						if (strXMLCodes=='')
						{
						
							
							strXMLCodes = 			           '<point_category><point_cat_seq_no>'  + e.value +  ' </point_cat_seq_no><point_cat_desc_ar>' + e.xmlelementdesc_ar + '</point_cat_desc_ar><point_cat_desc_en>' + e.xmlelementdesc_en  +  '</point_cat_desc_en><point>' + e.xmlelementpoint  +  '</point><assigned_point>' + e.xmlelementassigned_point  +  '</assigned_point><assign_status>' + e.xmlelementassign_status  +  '</assign_status></point_category>';
							
						}
						else
						{
				   			strXMLCodes = strXMLCodes + '\n' + '<point_category><point_cat_seq_no>'  + e.value +  ' </point_cat_seq_no><point_cat_desc_ar>' + e.xmlelementdesc_ar + '</point_cat_desc_ar><point_cat_desc_en>' + e.xmlelementdesc_en  +  '</point_cat_desc_en><point>' + e.xmlelementpoint  +  '</point><assigned_point>' + e.xmlelementassigned_point  +  '</assigned_point><assign_status>' + e.xmlelementassign_status  +  '</assign_status></point_category>';
							
						}
					}
					
				}
			}
		}
	}

	
	strXML=objDoc.frmHidden.XMLHidden.value;
	
	if(strXML.indexOf('<assigned_points>')>0)
	{
		
		//strXMLCodes=strXMLCodes+'<assign_remark>'+objForm.txtRemark.value+'</assign_remark>';
		strXML=UpdateXMLElement( strXML, 'assigned_points', strXMLCodes, 'sc');
	}
	else
	{
		
		//strXMLCodes='<assigned_points>'+strXMLCodes+'<assign_remark>'+objForm.txtRemark.value+'</assign_remark></assigned_points>';
		strXMLCodes='<assigned_points>'+strXMLCodes+'</assigned_points>';
		strXML=str_replace(strXML, '</sc>', strXMLCodes + '</sc>');
	}
	
	
	//strXML='<sc>'  + '<suggestions_complaints><suggestion_complaint><sc_seq_no>' + objDoc.frmHidden.sc_seq_no.value + '</sc_seq_no></suggestion_complaint></suggestions_complaints>' + strXMLCodes  +'</sc>';

	objDoc.frmHidden.XMLHidden.value = strXML;
	objDoc.frmHidden.action = frmAction;		
	//alert('frmAction : ' + frmAction);
	objDoc.frmHidden.submit();
	return true;
}



function PA_Ceremony_Awards_Select_CO_IO_ConstructXML(objDoc,objForm, frmCeremonyAwardEditCOIO)
{

	var i, e, strXML, len
	strXML='';
	var valueofe
	strXML='<pa_edited>';
	strXML=strXML+'<ceremony_awards>';
	
	len=objForm.elements.length;
	for (var i=0;i<len;i++)
	{
		e = objForm.elements[i];
		if(e.xmlelementname != null)
		{
			if (e.xmlelementname != '')
			{	
				if(e.type=='checkbox')
				{
				valueofe = e.checked
				if(valueofe==true)
				{
					valueofe='1'
				}
				else
				{
					valueofe='0'
				}
				}
				else
				{
				valueofe = e.value
				}
				if (strXML=='')
				{
				strXML = '<' + e.xmlelementname  + '>' + valueofe + '</' + e.xmlelementname  + '>';
				}
				else
				{
					strXML = strXML + '\n' + '<' + e.xmlelementname  + '>' + valueofe + '</' + e.xmlelementname  + '>';
				}
			}
		}
	}
	
	
	strXML=strXML+'</ceremony_awards>';
	strXML=strXML+'</pa_edited>';
	strXML = '<pa_confirm>' + strXML + objDoc.frmCeremonyAwardEditCOIO.XMLMain.value +  '</pa_confirm>'


	
	objDoc.frmCeremonyAwardEditCOIO.XMLHidden.value = strXML;		
	objDoc.frmCeremonyAwardEditCOIO.action = frmCeremonyAwardEditCOIO;
	objDoc.frmCeremonyAwardEditCOIO.submit();
	
	return true;
}


function PA_Ceremony_Awards_Confirm_ConstructXML(objDoc,objForm, frmCeremonyAwardConfirm)
{
	var strXML;
	strXML = objDoc.frmHidden.XMLHidden.value;
	var vtagstart = '<pa_confirm>' //to exclude it
	var vtagend = '</pa_edited>';
	var vstart = strXML.indexOf(vtagstart) + vtagstart.length
    var vend = strXML.indexOf(vtagend) + vtagend.length;
	strXML = strXML.substring(vstart,vend);
	//alert(strXML);
	objDoc.frmCeremonyAwardConfirm.XMLHidden.value = strXML;		
	objDoc.frmCeremonyAwardConfirm.action = frmCeremonyAwardConfirm;
	objDoc.frmCeremonyAwardConfirm.submit();
	return true;
	
}

function PA_Ceremony_Awards_Edit_Ind_Coll_Hpy_ConstructXML(objDoc,objForm, frmCeremonyAwardEditICH,vXMLHidden)
{
	var i, e, strXML, len
	strXML='';
	var valueofe
	strXML='<pa_edited>';
	strXML=strXML+'<ceremony_awards>';
	
	len=objForm.elements.length;
	for (var i=0;i<len;i++)
	{
		e = objForm.elements[i];
		if(e.xmlelementname != null)
		{
			if (e.xmlelementname != '')
			{	
				if(e.type=='checkbox')
				{
					if(e.name=='chkSeqNo')  //suggestion select check box
					{
						if(e.checked==true)  
						{
							valueofe=e.value
						}
						else
						{
							valueofe='0'
						}
					}		
					else   //other than suggestion select check box
					{
						valueofe = e.checked
						if(valueofe==true)
						{
							valueofe='1'
						}
						else
						{
							valueofe='0'
						}
					}
				}
				else
				{
					valueofe = e.value
				}
				if (strXML=='')
				{
					strXML = '<' + e.xmlelementname  + '>' + valueofe + '</' + e.xmlelementname  + '>';
				}
				else
				{
					strXML = strXML + '\n' + '<' + e.xmlelementname  + '>' + valueofe + '</' + e.xmlelementname  + '>';
				}
			}
		}
	}
	

	strXML=strXML+'</ceremony_awards>';
	strXML=strXML+'</pa_edited>';

	//strXML = str_replace(strXML,'</sc_owner_name>', '</sc_owner_name></ceremony_awards><ceremony_awards>');
	//strXML = str_replace(strXML,'<ceremony_awards></pa_edited>', '</pa_edited>');
	
	strXML = '<pa_confirm>' + strXML + vXMLHidden +  '</pa_confirm>'

	//alert(strXML);
	objDoc.frmCeremonyAwardEditICH.XMLHidden.value = strXML;		
	objDoc.frmCeremonyAwardEditICH.action = frmCeremonyAwardEditICH;
	objDoc.frmCeremonyAwardEditICH.submit();
	return true;
}

function PA_Ceremony_Awards_Edit_Ind_Coll_Hpy_checkValidForm(objForm, date_ddmmyyyy, datealertmsg)
{
		if (!checkMandForm(objForm))
		{
		return false;
		}
		if (!IsNumeric(objForm.txtawardamt.value))
		{
		alert('Please enter a numeric value in the award amount field');
		return false;
		}

		if (objForm.chkAwdRec.checked == true)
		{
			if (date_ddmmyyyy == '//' || date_ddmmyyyy == '0/0/0')
			{
				alert(datealertmsg);
				return false;
			}
		}
		return true;
}

function PA_Ceremony_Awards_Select_ConstructXML(objDoc,objForm, frmAction,award_cat_cd)

{
	var i, e, strXML, len
	strXML='';
	var valueofe
	strXML='<pa_edited>';
	strXML=strXML+'<ceremony_awards>';
	
	len=objForm.elements.length;
	for (var i=0;i<len;i++)
	{
		e = objForm.elements[i];
		if(e.xmlelementname != null)
		{
			if (e.xmlelementname != '')
			{	
				if(e.type=='checkbox')
				{
					if(e.name=='chkSeqNo')  //suggestion select check box
					{
						if(e.checked==true)  
						{
							valueofe=e.value
						}
						else
						{
							valueofe='0'
						}
					}		
					else   //other than suggestion select check box
					{
						valueofe = e.checked
						if(valueofe==true)
						{
							valueofe='1'
						}
						else
						{
							valueofe='0'
						}
					}
				}
				else
				{
					valueofe = e.value
				}
				if (strXML=='')
				{
					strXML = '<' + e.xmlelementname  + '>' + valueofe + '</' + e.xmlelementname  + '>';
				}
				else
				{
					strXML = strXML + '\n' + '<' + e.xmlelementname  + '>' + valueofe + '</' + e.xmlelementname  + '>';
				}
			}
		}
	}
	

	strXML=strXML+'</ceremony_awards>';
	strXML=strXML+'</pa_edited>';
	//strXML = str_replace(strXML,'</sc_owner_name>', '</sc_owner_name></ceremony_awards><ceremony_awards>');
	//strXML = str_replace(strXML,'<ceremony_awards></pa_edited>', '</pa_edited>');
	if (award_cat_cd ==1)
	{
		strXML = '<pa_confirm>' + strXML + objDoc.frmDistinguisherSuggestorSelect.XMLMain.value +  '</pa_confirm>'
	}
	else if(award_cat_cd ==2 || award_cat_cd ==3)
	{	
		strXML = '<pa_confirm>' + strXML + objDoc.frmCeremonyAwardEditCOIO.XMLMain.value +  '</pa_confirm>'
	}
	else if(award_cat_cd ==4 || award_cat_cd ==5 || award_cat_cd ==6 )
	{	
		strXML = '<pa_confirm>' + strXML + objDoc.frmCeremonyAwardEditICH.XMLMain.value +  '</pa_confirm>'
	}
	else if(award_cat_cd ==7)
	{
		strXML = '<pa_confirm>' + strXML + objDoc.frmMainList.XMLMain.value +  '</pa_confirm>'
	}

	//Formatting XML
	var sFiltered, sDistincts, sSingle, sFinalXML;
	var vtagstart, vtagend, vstart, vend;
	sFinalXML = '';
	
	sFiltered = strXML
	vtagstart = '<pa_edited>' //to exclude it
	vtagend = '</ceremony_awards>';
	vstart = sFiltered.indexOf(vtagstart) + vtagstart.length
    vend = sFiltered.indexOf(vtagend) + vtagend.length;
	sFiltered  = sFiltered.substring(vstart,vend);
	//alert('Filtered: ' + sFiltered);

	sDistincts = sFiltered
	if (award_cat_cd ==1)
	{
		vtagstart = '<cert_ind>' //to exclude it
	}
	else if(award_cat_cd ==4 || award_cat_cd ==5 || award_cat_cd ==5 || award_cat_cd ==7)
	{	
		vtagstart = '<award_amt>' //to exclude it
	}
	else
	{
		alert('Wrong award type cd passed in the function PA_Ceremony_Awards_Edit_ConstructXML');
		return false;
	}
	vtagend = '</awards_cat_desc_en>';
	vstart = sDistincts.indexOf(vtagstart)// - vtagstart.length
    vend = sDistincts.indexOf(vtagend) + vtagend.length;
	sDistincts = sDistincts.substring(vstart,vend);
	//alert('Distincts:' + sDistincts);
	
//pc hangs after this *********************************************
var iCheck = 0
while (iCheck == 0)
{
	sSingle = sFiltered
	vtagstart = '<sc_seq_no>' //to exclude it
	vtagend = '</sc_owner_name>';
	vstart = sSingle.indexOf(vtagstart)// - vtagstart.length
	if (vstart<=0)
	{
		iCheck = 1;
	}
	else
	{
		vend = sSingle.indexOf(vtagend) + vtagend.length;
		sSingle = sSingle.substring(vstart,vend);
		//alert('Seq:' + sSingle);
		
		sFiltered = str_replace(sFiltered,sSingle, ''); //after concat, remove row here

		sFinalXML = sFinalXML + '<ceremony_awards>'
		sFinalXML = sFinalXML + sSingle + sDistincts
		sFinalXML = sFinalXML + '</ceremony_awards>'
	}
	//alert('Filtered: ' + sFiltered);	
}	

	sFinalXML = '<pa_edited>' + sFinalXML +  '</pa_edited>'
	//alert('Final:' + sFinalXML);


	//alert(award_cat_cd);
	if (award_cat_cd ==1)
	{
	strXML = '<pa_confirm>' + sFinalXML + objDoc.frmDistinguisherSuggestorSelect.XMLMain.value +  '</pa_confirm>'
	objDoc.frmDistinguisherSuggestorSelect.XMLHidden.value = strXML;		
	objDoc.frmDistinguisherSuggestorSelect.action = frmAction;
	objDoc.frmDistinguisherSuggestorSelect.submit();
	return true;
	}
	else if(award_cat_cd ==4 || award_cat_cd ==5 || award_cat_cd ==6 )
	{	
	strXML = '<pa_confirm>' + sFinalXML + objDoc.frmCeremonyAwardEditICH.XMLMain.value +  '</pa_confirm>'
	objDoc.frmCeremonyAwardEditICH.XMLHidden.value = strXML;		
	objDoc.frmCeremonyAwardEditICH.action = frmAction;
	objDoc.frmCeremonyAwardEditICH.submit();
	return true;
	}
	else if(award_cat_cd ==7)
	{
	strXML = '<pa_confirm>' + sFinalXML + objDoc.frmMainList.XMLMain.value +  '</pa_confirm>'
	objDoc.frmMainList.XMLHidden.value = strXML;		
	objDoc.frmMainList.action = frmAction;
	objDoc.frmMainList.submit();
	}
	else
	{
	alert('Wrong award type cd passed in the function PA_Ceremony_Awards_Edit_ConstructXML');
	return false;
	}

}



/*
By	: AS
Dat	: 18/03/2005
*/
function PA_Convert_User_Points_checkValidForm(objForm, date_ddmmyyyy)
{
		if (!checkMandForm(objForm))
		{
		return false;
		}
		
		
		if (!IsNumeric(objForm.txtPointsToConvert.value))
		{
			alert(objForm.msg003.value);
			return false;
		}
		if (!IsNumeric(objForm.txtAwardAmt.value))
		{
			alert(objForm.msg004.value);
			return false;
		}
		if (objForm.chkAwdRecInd.checked == true)
		{
			if (date_ddmmyyyy == '//' || date_ddmmyyyy == '0/0/0')
			{
				alert(objForm.msg002.value);
				return false;
			}
		}
		
		if(ParseCurrency(objForm.txtPointsToConvert.value) > ParseCurrency(objForm.txtBalancePoints.value))
		{
			alert(objForm.msg005.value + ' ' + objForm.txtBalancePoints.value);
			return false;
		}
		
		return true;
}
/*
By	: AS
Dat	: 18/03/2005
*/

function PA_Convert_User_Points_ConstructXML(objForm,strAction)
{

	var i, e, strXML, len
	strXML='';
	var valueofe
	strXML='<pa_edited>';
	strXML=strXML+'<ceremony_awards>';
	
	len=objForm.elements.length;
	for (var i=0;i<len;i++)
	{
		
		e = objForm.elements[i];
		
		if(e.xmlelementname != null)
		{
			if (e.xmlelementname != '')
			{	
				if(e.type=='checkbox')
				{
				valueofe = e.checked
				if(valueofe==true)
				{
					valueofe='1'
				}
				else
				{
					valueofe='0'
				}
				}
				else
				{
				valueofe = e.value
				}
				if (strXML=='')
				{
				strXML = '<' + e.xmlelementname  + '>' + valueofe + '</' + e.xmlelementname  + '>';
				}
				else
				{
					strXML = strXML + '\n' + '<' + e.xmlelementname  + '>' + valueofe + '</' + e.xmlelementname  + '>';
				}
			}
		}
	}
	
	
	strXML=strXML+'</ceremony_awards>';
	strXML=strXML+'</pa_edited>';
	
	strXML = '<pa_confirm>' + strXML + objForm.XMLMain.value +  '</pa_confirm>'

	objForm.XMLHidden.value = strXML;		
	objForm.action = strAction;
	

	objForm.submit();
	return true;
}

//By : AS
function PA_Financial_Result_Award_checkValidForm(objForm)
{
	if(objForm.txtSelectedSuggNo.value=='')
	{
		alert(objForm.msg002.value);
		return false;
	}

	if(!checkMandForm(objForm))
	{
		return false;
	}
	else
	{
		return true;	
	}	
		
		
		
}

//By : AS
function PA_Financial_Result_Award_ConstructXML(objDoc,objForm, strAction)
{
	var i, e, strXML, len, valueofe
	strXML='';
	strXML='<pa_edited>';
	strXML=strXML+'<ceremony_awards>';
	len=objForm.elements.length;
	for (var i=0;i<len;i++)
	{
		e = objForm.elements[i];
		if(e.xmlelementname != null)
		{
			if (e.xmlelementname != '')
			{	
				if(e.type=='checkbox')
				{
					valueofe = e.checked;
					if(valueofe==true)
					{
						valueofe='1';
					}
					else
					{
						valueofe='0';
					}
				}
				else
				{
					valueofe = e.value;
				}
				
				if (strXML=='')
				{
					strXML = '<' + e.xmlelementname  + '>' + valueofe + '</' + e.xmlelementname  + '>';
				}
				else
				{
					strXML = strXML + '\n' + '<' + e.xmlelementname  + '>' + valueofe + '</' + e.xmlelementname  + '>';
				}
			}
		}
	}
	

	strXML=strXML+'</ceremony_awards>';
	strXML=strXML+'</pa_edited>';

	
	strXML = '<pa_confirm>' + strXML + objDoc.frmDataEntry.XMLMain.value  +  '</pa_confirm>'

	//alert(strXML);
	objDoc.frmDataEntry.XMLHidden.value = strXML;		
	objDoc.frmDataEntry.action = strAction;
	objDoc.frmDataEntry.submit();
	return true;
}

function ReportCriterion_checkValidForm(objForm)
{
	var fdate;
	fdate = document.frmReportCriterion.fromrangedate_ddmmyyyy.value;

	if (fdate  == '//' || fdate  == '0/0/0'  || fdate  == '00/00/00' || fdate  == '00/00/0'  )
	{
		alert(document.frmReportCriterion.txtmsgerrblank.value);
		return false;
	}
	//remianing: from date cannot be less than to date
	if(checkMandForm(objForm)==false)
	{
		return false;
	}
	return true;
}

/// <on>14/02/2005<on>
/// <function>
///   <title>IsNumeric</title>
///   <description>
///    General purpose isnumeric function with ","
///   </description>
///   <param type="text" name="sText">
///       passed value to be checked
///   </param>
///   <return></return>
/// </function>
///   <by>FA<by>
function IsTelNo(sText)
{
	if (sText.length < 7 && sText.length != 0)
	{
		return false;	
	}
	return true;
	/*
	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 KPI_Chart_ConstructXML(strXML)
{		
	var index = 0;
	index = strXML.indexOf('<KPI_tag><month_no>13</month_no>');		
	str = strXML.substring(0,index);	
	str +='</sugg_KPI></sc_main>';	
	return str;
}

/// <by>AS<by>
/// <on>16/12/2004<on>
/// <function>
///   <title>isEmailValid</title>
///   <description>
///    Check whether email_id is in valid format  
///   </description>
///   <param type="string" name="strEmail">
///   <return>true/false</return>
/// </function>


function CheckValidChars(sText, sValidChars)
{
	var Char;
	for (i = 0; i < sValidChars.length-1; i++) 
	   { 
	   Char = sText.charAt(i); 
	   if (sValidChars.indexOf(Char) == -1) 
	      {
	      return false;
	      break;
	      }
	   }
	return true;
   
}

function isUserIDValid(sUserID)
{
	var sAllowedChar='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-*.';
	if(CheckValidChars(sUserID,sAllowedChar)==true)
		{
		return true;
		}
	else
		{
		return false;
		}
}

function isPwdValid(sPwd)
{
	var sAllowedChar='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-*.';
	if(CheckValidChars(sPwd,sAllowedChar)==true)
		{
		return true;
		}
	else
		{
		return false;
		}
}

function WF_Calender_Holiday_Select_checkValidForm(objForm)
{
	return checkMandForm(objForm);
}

function WF_Calender_Holiday_Edit_ConstructXML(objDoc,objForm, frmCalenderEdit)
{
	var i, e, strXML, len
	var valueofe
	strXML='';
	strXML='<sc>';
	strXML=strXML;
	
	len=objForm.elements.length;
	for (var i=0;i<len;i++)
	{
		e = objForm.elements[i];
		if(e.xmlelementname != null)
		{
			if (e.xmlelementname != '')
			{	


				if(e.type=='checkbox')
				{
					valueofe = e.checked
					if(valueofe==true)
						{
							valueofe='1'
						}
						else
						{
							valueofe='0'
						}
					}
					else
					{
					valueofe = e.value
				}

			if (e.xmlelementname == 'isholiday')
			{
				strXML = strXML + '<calender_holidays>';
			}

				if (strXML=='')
				{
					strXML = '<' + e.xmlelementname  + '>' + valueofe + '</' + e.xmlelementname  + '>';
				}
				else
				
				{
					strXML = strXML + '\n' + '<' + e.xmlelementname  + '>' + valueofe + '</' + e.xmlelementname  + '>';
				}

			if (e.xmlelementname == 'holiday_remark')
			{
				strXML = strXML + '</calender_holidays>';
			}

			}
		}
	}
	strXML=strXML+'</sc>';
//	alert(strXML);
	
	objDoc.frmCalenderEdit.XMLHidden.value = strXML;		
	objDoc.frmCalenderEdit.action = frmCalenderEdit;
	objDoc.frmCalenderEdit.submit();
	return true;
}

function WF_Calender_WEHoliday_Generate_ConstructXML(objDoc,objForm,frmWeekDays)
{
	var i, e, strXML, len
	var valueofe, day1, day2
	strXML='';
	strXML='<wf><sc_wf_calender_weholiday_generate>';
	strXML=strXML;
	
	len=objForm.elements.length;
	
	for (var i=0;i<len;i++)
	{
		
		e = objForm.elements[i];
		if(e.xmlelementname != null)
		{
			if (e.xmlelementname != '')			
			{			
				if(e.type=='checkbox')
				{									
					
					valueofe = e.checked
					if(valueofe==true)
					{						
						//alert(day1)	
						if(day1==null)						
						day1= e.xmlelementname
						else
						{
							day2= e.xmlelementname						
							
						}
						//valueofe='1'
					}
					else
					{
						valueofe='0'
					}
				}				

				//if(strXML=='')
				//{
			//		strXML = '<year>' + yr + '</year><first_day>' + day1 + '</first_day><second>' + day2 + '</second_day>';
			//	}		

			}
		}
	}
	if(day2==null )
	{
			strXML = strXML + '<year>2222</year><first_day>' + day1 + '</first_day><second_day>n</second_day>';							
			//alert("1")
	}
	if(day2!=null )
	{
			strXML = strXML + '<year>2222</year><first_day>' + day1 + '</first_day><second_day>' + day2 + '</second_day>';							
			//alert("2")
	}
	strXML=strXML+'</sc_wf_calender_weholiday_generate></wf>';
	//alert(strXML);	
	//objDoc.frmWeekDays.lstYear.value = yr;
	objDoc.frmReportCriterion.XMLHidden.value = strXML;
	//objDoc.frmWeekDays.action = frmWeekDays;
	//objDoc.frmWeekDays.submit();
	return true;
}

function WF_Calender_Holiday_Edit_checkValidForm(objForm)
{

	var i, e, strXML, strXMLFAQ, len
	var sday
	
	strXML='';
	strXMLFAQ='';
	
	len=objForm.elements.length;
	for (var i=0;i<len;i++)
	{
		e = objForm.elements[i];
		if(e.xmlelementname != null)
		{
			if (e.xmlelementname != '')
			{	
				if(e.type=='checkbox')
				{
				//	alert(e.name);
					if(e.checked==true)
					{
						sday=	e.name.replace(e.name.substring(0,12),'') // will return 1,2... 31		
						//alert(eval("objForm.lstHolidayType"+sday+".value"));
						if (eval("objForm.lstHolidayType"+sday+".value")=='')
						{
							
							alert(objForm.msgholidaytype.value + '  ' + sday);
							return false;
						}//if (e.name.substring(0,14) == 'lstHolidayType')
					}//if(e.checked==true)					
				}//if(e.type=='checkbox')
			}//if (e.xmlelementname != '')
		}//if(e.xmlelementname != null)
	} //for
	return true;
}
function WF_Calender_WEHoliday_Generate_checkValidForm(objForm)
{

	var i, e, strXML, strXMLFAQ, len
	var sday, Flag
	
	Flag = 0;
	strXML='';
	strXMLFAQ='';
	
	len=objForm.elements.length;
	for (var i=0;i<len;i++)
	{
		e = objForm.elements[i];
		if(e.xmlelementname != null)
		{
			if (e.xmlelementname != '')
			{	
				if(e.type=='checkbox')
				{
					//alert(e.name);
					if(e.checked==true)
					{
						Flag = Flag + 1 ;						
					}
				}
			}
		}
	}
	if( Flag == 0 )
	{
		alert("Please specify at least one day as a Weekend Holiday");
		return false;
	
	}
	return true;
}
function WF_Calender_WEHoliday_Generate_Criteria_checkValidForm(objForm)
{
	var FromDate, ToDate;
	FromDate = document.frmReportCriterion.fromrangedate_ddmmyyyy.value;
	ToDate = document.frmReportCriterion.torangedate_ddmmyyyy.value;

	if (FromDate  == '//' || FromDate  == '0/0/0'  || FromDate  == '00/00/00' || FromDate  == '00/00/0'  )
	{
		alert(document.frmReportCriterion.txtmsgerrblank.value);
		return false;
	}
	if (ToDate  == '//' || ToDate  == '0/0/0'  || ToDate  == '00/00/00' || ToDate  == '00/00/0'  )
	{
		alert(document.frmReportCriterion.txtmsgerrblank2.value);
		return false;
	}
	//remianing: from date cannot be less than to date
	if(checkMandForm(objForm)==false)
	{
		return false;
	}
	return true;
}

function CN_AddValid_IN_EX(objForm)
{
	return checkMandForm(objForm);
}

function CN_ConstructXML(objDoc,objForm, frmAction)
{

	var strXML, strXML1, strXML2;
	var s, e, t;
	strPartXML=' ';
	strXML='';
	strXML='<cn>';
	strXML=strXML+'<community_notifications><community_notification>';
	strXML=strXML+COMMON_ConstructXMLElements(objForm)
	strXML1=objDoc.frmHidden.XMLHidden.value;

	strXML=strXML
	
	strXML=strXML+'</community_notification></community_notifications>';
	strXML=strXML+'</cn>';
    //alert(strXML);
    
	objDoc.frmHidden.action = frmAction;
	objDoc.frmHidden.XMLHidden.value = strXML;		
	objDoc.frmHidden.target=''; // required: as 'Search Repeat' uses target make it blank here
	objDoc.frmHidden.action = frmAction;		
	objDoc.frmHidden.submit();
	return true;
}

function SC_Questionaire_ConstructXML(objDoc,objForm, frmAction)
{

	var strXML, strXML1, strXML2, strXML3;
	var s, e, t,i,c,len,q_seq;
	

	strXML=objDoc.frmSCQuestinaireAns.XMLMain.value;
	//alert(strXML);
	if (strXML.indexOf('</sc>') > 0)
	{
	s = strXML.indexOf('</sc>');
	strXML1 = strXML.substr(0,s);	
	}
	
	strXML2='<questionaire_ans_list>'
	
	c=objDoc.frmSCQuestinaireAns.txtQCount.value;
	for (var i=0;i<c;i++)
	{
		strXML2=strXML2+'<questionaire_ans>';
		
		strXML2=strXML2+'<q_seq_no>'+objDoc.frmSCQuestinaireAns.txtQSeqNo[i].value+'</q_seq_no>';
		strXML2=strXML2+'<ans_type>'+objDoc.frmSCQuestinaireAns.txtAnsType[i].value+'</ans_type>';
	
		strXML2=strXML2+'<ans_option_cd>'
		q_seq = objDoc.frmSCQuestinaireAns.txtQSeqNo[i].value
		len=objDoc.frmSCQuestinaireAns.elements.length;
		for (var t=0;t<len;t++)
		{
			e = objDoc.frmSCQuestinaireAns.elements[t];
			if (e.xmlelementname=='ans_option_cd' && e.q_seq==q_seq )
			{
				strXML2=strXML2+e.value;
			}
		}
		strXML2=strXML2+'</ans_option_cd>';
		
		strXML2=strXML2+'<ans_option>'
		q_seq = objDoc.frmSCQuestinaireAns.txtQSeqNo[i].value
		len=objDoc.frmSCQuestinaireAns.elements.length;
		for (var t=0;t<len;t++)
		{
			e = objDoc.frmSCQuestinaireAns.elements[t];
			if (e.xmlelementname=='ans_option' && e.q_seq==q_seq )
			{
				strXML2=strXML2+e.value;
			}
		}
		strXML2=strXML2+'</ans_option>';

		strXML2=strXML2+'<ans_text>';
		for (var t=0;t<len;t++)
		{
			e = objDoc.frmSCQuestinaireAns.elements[t];
			if (e.xmlelementname=='ans_text' && e.q_seq==q_seq )
			{
				strXML2=strXML2+e.value;
			}
		}
		strXML2=strXML2+'</ans_text>'

		strXML2=strXML2+'</questionaire_ans>';
	}
	
	strXML2=strXML2+'</questionaire_ans_list>';
	strXML3=strXML1+strXML2+'</sc>';
	
	objDoc.frmHidden.action = frmAction;
	objDoc.frmHidden.XMLHidden.value = strXML3;		
	objDoc.frmHidden.submit();
	return true;
}

function CNType_Edit_ConstructXML(objDoc,objForm, frmCNTypeEdit)
{
	var i, e, strXML, len
	strXML='';
	var valueofe
	strXML='<sc>';
	strXML=strXML+'<cn_type>';
	
	len=objForm.elements.length;
	for (var i=0;i<len;i++)
	{
		e = objForm.elements[i];
		if(e.xmlelementname != null)
		{
			if (e.xmlelementname != '')
			{	
				if(e.type=='checkbox')
				{
				valueofe = e.checked
				if(valueofe==true)
				{
					valueofe='1'
				}
				else
				{
					valueofe='0'
				}
				}
				else
				{
				valueofe = e.value
				}
				if (strXML=='')
				{
				strXML = '<' + e.xmlelementname  + '>' + valueofe + '</' + e.xmlelementname  + '>';
				}
				else
				{
					strXML = strXML + '\n' + '<' + e.xmlelementname  + '>' + valueofe + '</' + e.xmlelementname  + '>';
				}



			}
		}
	}
	strXML=strXML+'</cn_type>';
	strXML=strXML+'</sc>';
	
	alert(strXML);
	objDoc.frmCNTypeEdit.XMLHidden.value = strXML;		
	objDoc.frmCNTypeEdit.action = frmCNTypeEdit;		
	objDoc.frmCNTypeEdit.submit();
	return true;
}


function NoOfEmployeeYearly_Edit_ConstructXML(objDoc,objForm, strAction)
{
	var i, e, strXML, len
	strXML='';
	var valueofe
	strXML='<sc>';
	strXML=strXML+'<record>';
	
	len=objForm.elements.length;
	for (var i=0;i<len;i++)
	{
		e = objForm.elements[i];
		if(e.xmlelementname != null)
		{
			if (e.xmlelementname != '')
			{	
				if(e.type=='checkbox')
				{
				valueofe = e.checked
				if(valueofe==true)
				{
					valueofe='1'
				}
				else
				{
					valueofe='0'
				}
				}
				else
				{
				valueofe = e.value
				}
				if (strXML=='')
				{
				strXML = '<' + e.xmlelementname  + '>' + valueofe + '</' + e.xmlelementname  + '>';
				}
				else
				{
					strXML = strXML + '\n' + '<' + e.xmlelementname  + '>' + valueofe + '</' + e.xmlelementname  + '>';
				}



			}
		}
	}
	strXML=strXML+'</record>';
	strXML=strXML+'</sc>';
	
	//alert(strXML);
	objForm.XMLHidden.value = strXML;		
	objForm.action = strAction;		
	objForm.submit();
	return true;
}

function Login_Welcome_Note_Save_ConstructXML(objDoc,objForm, frmSaveNote)
{

	var i, e, strXML, len
	strXML='';
	var valueofe
	strXML='<sc>';
	strXML=strXML+'<note>';
	
	len=objForm.elements.length;
	for (var i=0;i<len;i++)
	{
		e = objForm.elements[i];
		if(e.xmlelementname != null)
		{
			if (e.xmlelementname != '')
			{	

				if(e.type=='checkbox')
				{
					valueofe = e.checked
					if(valueofe==true)
						{
							valueofe='1'
						}
						else
						{
							valueofe='0'
						}
					}
					else
					{
					valueofe = e.value
				}

				if (strXML=='')
				{
					strXML = '<' + e.xmlelementname  + '>' + valueofe + '</' + e.xmlelementname  + '>';
				}
				else
				
				{
					strXML = strXML + '\n' + '<' + e.xmlelementname  + '>' + valueofe + '</' + e.xmlelementname  + '>';
				}

			}
		}
	}
	strXML=strXML+'</note>';
	strXML=strXML+'</sc>';
	//alert(strXML);
  //return false;
	objDoc.frmSaveNote.XMLHidden.value = strXML;
	objDoc.frmSaveNote.action = frmSaveNote;		
	objDoc.frmSaveNote.submit();
	return true;
}

function Login_Welcome_Link_Save_ConstructXML(objDoc,objForm, frmSaveLink)
{
	var i, e, strXML, len
	strXML='';
	var valueofe
	strXML='<sc>';
	strXML=strXML+'<list>';
	
	len=objForm.elements.length;
	for (var i=0;i<len;i++)
	{
		e = objForm.elements[i];
		if(e.xmlelementname != null)
		{
			if (e.xmlelementname != '')
			{	

				if(e.type=='checkbox')
				{
					valueofe = e.checked
					if(valueofe==true)
						{
							valueofe='1'
						}
						else
						{
							valueofe='0'
						}
					}
					else
					{
					valueofe = e.value
				}

				if (strXML=='')
				{
					strXML = '<' + e.xmlelementname  + '>' + valueofe + '</' + e.xmlelementname  + '>';
				}
				else
				
				{
					strXML = strXML + '\n' + '<' + e.xmlelementname  + '>' + valueofe + '</' + e.xmlelementname  + '>';
				}

			}
		}
	}
	strXML=strXML+'</list>';
	strXML=strXML+'</sc>';
	objDoc.frmSaveLink.XMLHidden.value = strXML;
	objDoc.frmSaveLink.action = frmSaveLink;		
	objDoc.frmSaveLink.submit();
	return true;
}

function SC_Edit_ConstructXML_For_DPAAM(objDoc, objForm, frmAction, ploggeduserid)
{
	// FILTERING STARTS  : take only required nodes	
	var strXMLFilter
	var strLastNode;
	strLastNode = '</modify_year>';
	strXMLFilter=objDoc.frmHidden.XMLHidden.value;
	
	var ef;
	ef = strXMLFilter.indexOf(strLastNode) + strLastNode.length;
	strXMLFilter = strXMLFilter.substr(0,ef) ;
	strXMLFilter = strXMLFilter + '</suggestion_complaint></suggestions_complaints></sc>';

	/*Replacing modifyby node Start*/
	var mb_name_s,mb_name_e , mb_s, mb_e;
	var mb_node_old, mb_node_new
	mb_name_s = '<modify_by>';
	mb_name_e = '</modify_by>';
	mb_s = strXMLFilter.indexOf(mb_name_s );
	mb_e = strXMLFilter.indexOf(mb_name_e) + mb_name_e.length;
	mb_node_old = strXMLFilter.substr(mb_s, mb_e - mb_s);
	mb_node_new = mb_name_s + ploggeduserid + mb_name_e;
	strXMLFilter = strXMLFilter.replace(mb_node_old,mb_node_new);
	
	
	
	/*Replacing modifyby node End*/

	// FILTERING END	
	var strXML
	var s, e, t;
	objForm.txtSubject.value = getXMLCleanedData(objForm.txtSubject.value);		
	strXML = strXMLFilter;	
	strXML=UpdateXMLElement( strXML, 'sc_type_cd', objForm.lstSCType.value,'suggestion_complaint');		
	strXML=UpdateXMLElement( strXML, 'sc_subject', objForm.txtSubject.value, 'suggestion_complaint');
	strXML=UpdateXMLElement( strXML, 'city_cd', objForm.lstCity.value, 'suggestion_complaint');
	if(objForm.lstCat != null)
	{
	    strXML=UpdateXMLElement( strXML, 'cat_cd', objForm.lstCat.value, 'suggestion_complaint');
	}
	if(objForm.lstOrgUnit != null && objForm.org_unit_cd != null )
	{
	    strXML=UpdateXMLElement( strXML, 'serv_unit_seq_no', objForm.lstOrgUnit.value, 'suggestion_complaint');
	    strXML=UpdateXMLElement( strXML, 'org_unit_cd', objForm.org_unit_cd.value, 'suggestion_complaint');	
	}


    var strXML2;
	strXML2 = '<sc_moe>';
	strXML2=strXML2 + '<sel_sc_subject>' + objForm.txtSubject.value + '</sel_sc_subject>';
	strXML2=strXML2 + '<sel_sc_type_cd>' + objForm.txtSCType.value + '</sel_sc_type_cd>';
	strXML2=strXML2 + '<sel_city_cd>' + objForm.lstCity.value + '</sel_city_cd>';
	if(objForm.lstCat != null)
	{
	    strXML2=strXML2 + '<sel_cat_cd>' + objForm.lstCat.value + '</sel_cat_cd>';
	}
	if(objForm.lstOrgUnit != null)
	{
	    strXML2=strXML2 + '<sel_serv_unit_seq_no>' + objForm.lstOrgUnit.value + '</sel_serv_unit_seq_no>';
	}
	strXML2=strXML2 + '</sc_moe>';
	objForm.XMLHidden2.value = strXML2;		
	
	if( objForm.txtChargedName != null)
	{
	    var strXML3;
	    strXML3 = '<sc_moe_charged>';
	    strXML3=strXML3 + '<charged_name>' + objForm.txtChargedName.value + '</charged_name>';
	    strXML3=strXML3 + '<charged_address>' + objForm.txtAddr.value + '</charged_address>';
	    strXML3=strXML3 + '<charged_city_cd>' + objForm.lstChargedCity.value + '</charged_city_cd>';
	    strXML3=strXML3 + '<charged_tel>' + objForm.txtChargedTel.value + '</charged_tel>';
	    strXML3=strXML3 + '<charged_fax>' + objForm.txtChargedFax.value + '</charged_fax>';
	    strXML3=strXML3 + '<charged_email>' + objForm.txtChargedEmail.value + '</charged_email>';
	    strXML3=strXML3 + '</sc_moe_charged>';
	    objForm.XMLHidden3.value = strXML3;
    

    var x1 = "</sc>";
    var x2 = strXML3 + x1;
    strXML = strXML.replace(x1,x2);
}
	/*  THESE ARE CLEANED BELOW
	objForm.txtSCOwnerName.value = getXMLCleanedData(objForm.txtSCOwnerName.value);		
	objForm.txtSCOwnerEmpId.value = getXMLCleanedData(objForm.txtSCOwnerEmpId.value);		
	objForm.txtSCOwnerAdd.value = getXMLCleanedData(objForm.txtSCOwnerAdd.value);		
	objForm.txtSCOwnerTel.value = getXMLCleanedData(objForm.txtSCOwnerTel.value);		
	objForm.txtSCOwnerFax.value = getXMLCleanedData(objForm.txtSCOwnerFax.value);		
	objForm.txtSCOwnerMob.value = getXMLCleanedData(objForm.txtSCOwnerMob.value);		
	objForm.txtSCOwnerEMail.value = getXMLCleanedData(objForm.txtSCOwnerEMail.value);		
	*/
	if (objForm.hdinputmethodcd.value!=='WEB')
	{
		strXML=UpdateXMLElement( strXML, 'sc_owner_name', getXMLCleanedData(objForm.txtSCOwnerName.value));
		strXML=UpdateXMLElement( strXML, 'sc_owner_emp_id', getXMLCleanedData(objForm.txtSCOwnerEmpId.value));
		strXML=UpdateXMLElement( strXML, 'sc_owner_add', getXMLCleanedData(objForm.txtSCOwnerAdd.value));
		strXML=UpdateXMLElement( strXML, 'sc_owner_tel', getXMLCleanedData(objForm.txtSCOwnerTel.value));
		strXML=UpdateXMLElement( strXML, 'sc_owner_fax', getXMLCleanedData(objForm.txtSCOwnerFax.value));
		strXML=UpdateXMLElement( strXML, 'sc_owner_mob', getXMLCleanedData(objForm.txtSCOwnerMob.value));
		strXML=UpdateXMLElement( strXML, 'sc_owner_email', getXMLCleanedData(objForm.txtSCOwnerEMail.value));
	}

	strXML=UpdateXMLElement( strXML, 'sc_input_method_cd', objForm.lstInputMethod.value, 'suggestion_complaint');
	objDoc.frmHidden.XMLHidden.value = strXML;		
	objDoc.frmHidden.action = frmAction;		
	objDoc.frmHidden.submit();
	return true;
}

