/********************* Functions for Hovering help *********************/
var CheckKeyPress = 0
var oPopup = window.createPopup()
var hovhelp=0	
var xnohelp=0
function ShowCursor(Opt)
{
	if(Opt == "H")
		hovhelp=1
	else
		hovhelp=2
	document.body.style.cursor="help";
		
}
function FnNoHelp()
{
	if (xnohelp==0)
	{
		document.body.style.cursor="default";
		hovhelp=0
	}
	else
	{
		xnohelp=0
	}
}
function EditHelp(xcode)
{
	pgcode= document.all("pagecode").value;
	document.body.style.cursor="default";
	p1=window.showModalDialog('showFrame.asp?aspname=crmhelpedit&para1='+xcode+'&para2='+pgcode+'&title=HelpEdit',window,'help:0;center:1;resizable:no;status:yes;dialogHeight:250px;dialogWidth:350px;dialogLeft:200px;dialogTop:200px');
}
		
function ShowHelp(par1)
{
	nwidth = 200;
	nht = 16;
	if (document.body.style.cursor == 'help') 
	{
		pgcode= document.all("pagecode").value ;
		p = 'showcrmhelp("'+par1+'","'+pgcode+'")';
		var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		xmlhttp.open("GET", "crmxml.asp?para="+p, false);
		xmlhttp.send("");
		var retval = new String(xmlhttp.responseText);
		xx1=retval.split("^")
		ub =xx1.length;
		if (ub > 1)
		{
			//ub = ub -1;
		}
		else	
		{
			ub = ub+1 ;
		}
		nht = (nht * ub);
		xx = removechar(retval)
		var oPopBody = oPopup.document.body;
		oPopBody.style.backgroundColor = "lightyellow";
		oPopBody.style.border = "solid black 1px";
		oPopBody.innerHTML = "<div style='word-wrap:break-word;margin-top:4px;margin-left:7px;font:8pt Tahoma'>"+xx+"</div>";
		oPopup.show(-20,17, nwidth,nht,event.srcElement);
	}
	document.body.style.cursor = 'default';
}
		
function FnHelp(xcode)
{
	xnohelp=1
	if(hovhelp==1)
	{
		hovhelp=0
		ShowHelp(xcode)
	}	
	if(hovhelp==2)
	{	
		hovhelp=0
		EditHelp(xcode)
	}                                                                                                                            
}
function removechar(xstr)
{
	return xstr.replace("^","")
}

/*************** For EMail verification ********************/

function IsValidEMail(EMail) 
{
	var exclude=/[^@\-\.\w]|^[_@\.\-]|[\._\-]{2}|[@\.]{2}|(@)[^@]*\1/;
	var checkend=/\.[a-zA-Z]{2,3}$/;
				 
	if((EMail.search(exclude) != -1) || (EMail.search(checkend) == -1)) 
	{
		return false;
	}
				 
	atPos = EMail.indexOf("@",0);
	pPos1 = EMail.indexOf(".",0);
	periodPos = EMail.indexOf(".",atPos);
				 
	pos1 = pPos1;
	pos2 = 0;
	while (pos2 > -1) {
	pos2 = EMail.indexOf(".",pos1+1);
	if (pos2 == pos1+1) {
	return false;
	} else {
	pos1 = pos2;
	}
	}
				 
	if (atPos == -1) {
	return false;
	}
				 
	if (atPos == 0) {
	return false;
	}
				 
	if (pPos1 == 0) {
	return false;
	}
				 
	if(EMail.indexOf("@",atPos+1) > -1) {
	return false;
	}
				 
	if (periodPos == -1) {
	return false;
	}
				 
	if (atPos+1 == periodPos) {
	return false;
	}
				 
	if (periodPos+3 > EMail.length) {
	return false;
	}
	return true;
}

/********************************* Generic Functions *****************************/

/*By Ravi For Adding Zeros on 12th January*/
function FunAddZeros(StrLocString, IntLocCount)
{
	StrLocNewString = "";
	for(IntLocLength=0; IntLocLength < IntLocCount; IntLocLength++)
	{
		StrLocNewString = StrLocNewString + "0";
	} 
	StrLocNewString	= StrLocNewString + StrLocString;
	return StrLocNewString;
}
function Trim(myString)
{
	return myString.replace(/^\s*(\b.*\b|)\s*$/, "$1");
}
function Left(cStr,nChar)
{
	return cStr.substring(0,nChar)
}
function Right(cStr,nChar)
{
	return cStr.substring(cStr.length-nChar)
}

function Text_KeyDown()
{
	if(event.keyCode == 9)
		CheckKeyPress = 1
	
	if(event.keyCode == 13)
	{
		CheckKeyPress = 1
		CurrentObj = event.srcElement
		CurrentObj.blur()
		for(xxi=CurrentObj.sourceIndex + 1;xxi<document.all.length;xxi++)
		{
			NextObj = document.all(xxi)
			if(typeof(NextObj) == "object" && NextObj != null)
			{
				if(NextObj.tagName == "TABLE" || NextObj.tagName == "DIV") 
				{
					if(NextObj.style.display == "none" ||  NextObj.disabled)
					{
						NextObj = NextObj.nextSibling;
						if(NextObj != null)
							xxi = NextObj.sourceIndex - 1
						else
							return
					}
				}	
				if((NextObj.tagName == "INPUT" || NextObj.tagName == "SELECT" || NextObj.tagName == "TEXTAREA") && NextObj.getAttribute("disabled") == false && (NextObj.readOnly == false || typeof(NextObj.readOnly) == "undefined"))
				{
					if(NextObj.type.toUpperCase() != "HIDDEN")
					{
						NextObj.focus();
						if(NextObj.tagName == "INPUT" && NextObj.type == "TEXT")
							NextObj.select()
						window.setTimeout("ObjSetFocus('" + NextObj.uniqueID + "')",200)
						break;
					}
				}
			}
		}
	}
}

function Text_KeyUp()
{
	CurrentObj = event.srcElement
	xExp = /(37|38|39|40|35|36|45|20|16|17|33|34)/
	if(CurrentObj.value.length == CurrentObj.maxLength && !xExp.exec(event.keyCode))
	{
		CheckKeyPress = 1
		CurrentObj.blur()
		for(xxi=CurrentObj.sourceIndex + 1;xxi<document.all.length;xxi++)
		{
			NextObj = document.all(xxi)
			if(typeof(NextObj) == "object" && NextObj != null)
			{
				if(NextObj.tagName == "TABLE" || NextObj.tagName == "DIV") 
				{
					if(NextObj.style.display == "none" || NextObj.disabled)
					{
						NextObj = NextObj.nextSibling;
						if(NextObj != null)
							xxi = NextObj.sourceIndex - 1
						else
							return
					}
				}	
				if((Trim(NextObj.tagName) == "INPUT" || Trim(NextObj.tagName) == "SELECT" || Trim(NextObj.tagName) == "TEXTAREA") && NextObj.getAttribute("disabled") == false && (NextObj.readOnly == false || typeof(NextObj.readOnly) == "undefined"))
				{
					if(NextObj.type.toUpperCase() != "HIDDEN")
					{
						if (NextObj.disabled == false && NextObj.style.display == "")
						{
							//NextObj.focus()
							window.setTimeout("ObjSetFocus('" + NextObj.uniqueID + "')",200)
						}	
						
//						if(NextObj.tagName == "INPUT")
//							NextObj.select();
						break;
					}
				}
			}
		}
	}
}

function Text_Date_KeyUp()
{
	CurrentObj = event.srcElement	
	xExp = /(37|38|39|40|35|36|45|20|16|17|33|34)/
	if(CurrentObj.value.length == CurrentObj.maxLength && !xExp.exec(event.keyCode))
		window.setTimeout("DateSetFocus('" + CurrentObj.uniqueID + "')",200)
}

function Text_NumKeyPress()
{
	if(event.keyCode  < 48 || event.keyCode > 57)
	{
		return false;
	}
}

function Text_NumAlphaKeyPress()
{
	if(!(event.keyCode >= 48 && event.keyCode <= 57) && !(event.keyCode >= 97 && event.keyCode <= 122)&& !(event.keyCode >= 65 && event.keyCode <= 90))
	{
		return false;
	}
}

function Text_NumDeci_KeyDown()
{
	if(event.keyCode == 9 || event.keyCode == 13)
	{
		CurrentObj = event.srcElement
		CheckKeyPress = 1
		if(event.keyCode == 13)
		{	
			CurrentObj.blur()
			xCount = CurrentObj.sourceIndex + 5
		}
		else
		{
			xCount = CurrentObj.sourceIndex + 3
		}
			
		for(xxi=xCount;xxi<document.all.length;xxi++)
		{	
			NextObj = document.all(xxi)
			if(typeof(NextObj) == "object" && NextObj != null)
			{
				if(NextObj.tagName == "TABLE" || NextObj.tagName == "DIV") 
				{
					if(NextObj.style.display == "none" ||  NextObj.disabled)
					{
						NextObj = NextObj.nextSibling;
						if(NextObj != null)
							xxi = NextObj.sourceIndex - 1
						else
							return
					}
				}
				if((NextObj.tagName == "INPUT" || NextObj.tagName == "SELECT" || NextObj.tagName == "TEXTAREA") && NextObj.getAttribute("disabled") == false &&  (NextObj.readOnly == false || typeof(NextObj.readOnly) == "undefined"))
				{
					if(NextObj.type.toUpperCase() != "HIDDEN")
					{
						NextObj.focus()
						if(NextObj.tagName == "INPUT")
							NextObj.select();
						break;
					}
				}
			}
		}
	}
}

function Text_NumDeci_KeyPress(Obj)
{
	if(event.keyCode < 48 || event.keyCode > 57)
	{
		if(event.keyCode == 46)
		{	
			window.setTimeout("xSetFocus('" + Obj.uniqueID + "')",200)
		}
		return false;
	}
}

function Text_NumMinusDeci_KeyPress(Obj)
{
	if((event.keyCode < 48 || event.keyCode > 57) && event.keyCode != 45)
	{
		if(event.keyCode == 46)
		{	
			window.setTimeout("xSetFocus('" + Obj.uniqueID + "')",200)
		}
		return false;
	}
}

function Text_BillKeyPress()
{
	if(!(event.keyCode >= 48 && event.keyCode <= 57) && !(event.keyCode >= 97 && event.keyCode <= 122)&& !(event.keyCode >= 65 && event.keyCode <= 90) && !(event.keyCode == 47 || event.keyCode == 45 ||event.keyCode == 92))
	{
		return false;
	}
}

function xSetFocus(Obj)
{
	document.all(Obj).parentElement.nextSibling.nextSibling.firstChild.focus()
	document.all(Obj).parentElement.nextSibling.nextSibling.firstChild.select()
}

function DateSetFocus(Obj)
{
	document.all(Obj).nextSibling.nextSibling.focus()
	document.all(Obj).nextSibling.nextSibling.select()
}

function ObjSetFocus(NextObj)
{
	document.all(NextObj).focus()
	if(document.all(NextObj).tagName == "INPUT" && document.all(NextObj).type.toUpperCase() == "TEXT")
		document.all(NextObj).select();
}

function get24HrTime(xTime)
{
	//re_date = /(0{0,1}[1-9]|10|11|12)\\:([0-5]{0,1}[0-9]{0,1})\\s(AM|PM|am|pm)/
	//if (!re_date.exec(xTime))
	//	return false

	xTimeArr = xTime.split(":")
	if(Right(Trim(xTime),2) == "PM")
	{
		if(parseFloat(xTimeArr[0]) != 12)
			xTime = String(parseFloat(xTimeArr[0]) + 12) + xTimeArr[1].substring(0,xTimeArr[1].indexOf(" "))			
		else
			xTime = "12" + xTimeArr[1].substring(0,xTimeArr[1].indexOf(" "))				
	}
	else
	{
		if(parseFloat(xTimeArr[0]) == 12)
			xTime = "00" + xTimeArr[1].substring(0,xTimeArr[1].indexOf(" "))
		else
			xTime = xTime.substring(0,2) + xTimeArr[1].substring(0,xTimeArr[1].indexOf(" "))
	}
	return xTime
}


function get12HrTime(xTime)
{
	if(parseFloat(Left(xTime,2)) == 12)
	{
		xHr = Left(xTime,2)
		xMin = xTime.substring(2,4)
		xPre = "PM"
		return  xHr + "," + xMin + "," + xPre
	}
	if(parseFloat(Left(xTime,2)) == 0)
	{
		xHr = "12"
		xMin = xTime.substring(2,4)
		xPre = "AM"
		return  xHr + "," + xMin + "," + xPre	
	}
	if(parseFloat(Left(xTime,2)) > 12)
	{
		xHr = Right("00" + Trim(String(parseInt(Left(xTime,2)) - 12)),2)
		xMin = xTime.substring(2,4)
		xPre = "PM"
	}
	else
	{
		xHr = Left(xTime,2)
		xMin = xTime.substring(2,4)
		xPre = "AM"
	}
	return  xHr + "," + xMin + "," + xPre
}

var xToggle= false;
function Toggle(tdowner,tdprg,tdcust,tdcorp,tdhr,tdpin,lblcard,tdext,lblextcode,objext,objcard,tdname,tdsize,lblcustcode,txtExtCode,txtCustCode)
{	
	var StrPriCardPrefix = "";
	if(tdowner.split('_').length > 1)
		StrPriCardPrefix = tdowner.split('_')[0]+"_"			
	//ResetCardNo(StrPriCardPrefix[0]);
	if (document.all(""+lblcard).style.display == "")
	{
		xToggle=true;
		document.all(""+tdowner).style.display="none";
		document.all(""+tdprg).style.display="none";
		document.all(""+tdcust).style.display="none";
		document.all(""+tdcorp).style.display="none";
		document.all(""+tdhr).style.display="none";
		document.all(""+tdpin).style.display="none";
		document.all(""+lblcard).style.display="none";				
		document.all(""+lblcustcode).style.display="none";				
		document.all(""+tdext).style.display="";
		document.all(""+lblextcode).style.display="";		
		document.all(""+tdext).setAttribute("Check","ExtCode");
		if(Trim(txtExtCode) != '' && Trim(txtCustCode) != '')
		{
			document.all(txtExtCode).style.display = "";
			document.all(txtCustCode).style.display = "none";
		}
		else
		{
			document.all(StrPriCardPrefix+"TxtExtCode").style.display = "";
			document.all(StrPriCardPrefix+"TxtCustCodeInput").style.display = "none";
		}
		
		if (Trim(tdname) != '')
		{
			document.all(""+tdname).style.width=tdsize
		}
		if (objext.disabled ==  false)
		{
			objext.focus();
		}
		if(StrPriIsExtCodeEnabled == "N" && event != null && event.srcElement != null)
			Toggle(tdowner,tdprg,tdcust,tdcorp,tdhr,tdpin,lblcard,tdext,lblextcode,objext,objcard,tdname,tdsize,lblcustcode,txtExtCode,txtCustCode)
	}
	else if (document.all(""+lblextcode).style.display == "")
	{
		xToggle=false;
		document.all(""+tdowner).style.display="none";
		document.all(""+tdprg).style.display="none";
		document.all(""+tdcust).style.display="none";
		document.all(""+tdcorp).style.display="none";
		document.all(""+tdhr).style.display="none";
		document.all(""+tdpin).style.display="none";
		document.all(""+lblcard).style.display="none";
		document.all(""+tdext).style.display="";
		document.all(""+lblextcode).style.display="none";
		document.all(""+lblcustcode).style.display="";
		document.all(""+tdext).setAttribute("Check","CustCode");
		if(Trim(txtExtCode) != '' && Trim(txtCustCode) != '')
		{
			document.all(txtExtCode).style.display = "none";
			document.all(txtCustCode).style.display = "";
		}
		else
		{
			document.all(StrPriCardPrefix+"TxtExtCode").style.display = "none";
			document.all(StrPriCardPrefix+"TxtCustCodeInput").style.display = "";
		}
		
		if (Trim(tdname) != '')
		{
			document.all(""+tdname).style.width=tdsize;
		}
		if (objcard.disabled ==  false)
		{
			if(Trim(txtCustCode) != '')
				document.all(txtCustCode).focus()
			else
				document.all(StrPriCardPrefix+"TxtCustCodeInput").focus();
		}		
		if(StrPriIsCustCodeEnabled == "N" &&  event != null && event.srcElement != null)
			Toggle(tdowner,tdprg,tdcust,tdcorp,tdhr,tdpin,lblcard,tdext,lblextcode,objext,objcard,tdname,tdsize,lblcustcode,txtExtCode,txtCustCode)
	}
	else
	{
		xToggle=false;
		document.all(""+tdowner).style.display="";
		document.all(""+tdprg).style.display="";
		document.all(""+tdcust).style.display="";
		document.all(""+tdcorp).style.display="";
		document.all(""+tdhr).style.display="";
		document.all(""+tdpin).style.display="";
		document.all(""+lblcard).style.display="";
		document.all(""+tdext).style.display="none";
		document.all(""+lblextcode).style.display="none";
		document.all(""+lblcustcode).style.display="none";		
		document.all(""+tdext).setAttribute("Check","ExtCode");
		
		if (Trim(tdname) != '')
		{
			document.all(""+tdname).style.width="";
		}
		if (objcard.disabled ==  false)
		{
			objcard.focus();
		}		
	}
}


function OnKeyDown(para)
{
	
	if (event.keyCode == 9)
	{
		CheckKeyPress = 1;
	}
	if (event.keyCode == 13)
	{
		CheckKeyPress = 1;
		para.blur();
	}
}

//Function to pick up settings of Option from CRM-Cardsetup table.

function CardSettings(Optname)
{
	p = 'CardSettings("'+Optname+'")';	
	var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	xmlhttp.open("GET", "CRMxmlV.asp?para="+p, false);
	xmlhttp.send("");
	var retval = new String(xmlhttp.responseText);
	if (Trim(retval) != '')
	{
		var cardString;
		strCard = retval.split("#");
		if (strCard[1] == 'Y' )
		{
			cardString='Y';
			if (strCard[2] == 'Y') //if swipe form to be called
			{
				cardString=cardString+";"+'CRMSwipe.asp';
			}
			if (strCard[3] == 'Y') //if smart form to be called
			{
				cardString=cardString+";"+'SmartSwipe.asp';
			}
			cardString=cardString+";"+strCard[5]
		}
		
		if (strCard[1] == 'N' )
		{
			cardString=strCard[1];
		}
		return cardString;
	}
	else
	{
		return '';
	}
}	


function FunAddDecimals(strPara,IntNoOfDeci)
{
	StrDecimals = Left("0000000000",IntNoOfDeci)
	StrPriDeciArr = strPara.split(".")
	if(typeof(StrPriDeciArr[1]) == "undefined")
 		StrPriDeciArr[1] = StrDecimals
	else	
		StrPriDeciArr[1] = Left(StrPriDeciArr[1] + StrDecimals,IntNoOfDeci)
	return StrPriDeciArr[0] + "." + StrPriDeciArr[1]
}


function Fun_NumDeciKeyPress(StrNoOfDeci)
{
	if((event.keyCode < 48 || event.keyCode > 57) && event.keyCode != 46)
		return false;
	else if(event.keyCode == 46)
	{
		if(event.srcElement.value.indexOf(".") != -1)
			return false
	}
	else
	{
		ObjPriArr = event.srcElement.value.split(".")
		if(ObjPriArr[0].length >= 8)
			return false
		if(typeof(ObjPriArr[1]) != "undefined")
		{
			if(ObjPriArr[1].length >= parseFloat(StrNoOfDeci))
				return false
		}
	}
}

function FunCheckSessionEnded(ObjLocKeyWord, StrLocSession)
{
	if(ObjLocKeyWord == "Admin")
	{
		if(StrLocSession == "")
		{
			return true
		}
		else
		{
			return false
		}
	}
	else if(ObjLocKeyWord == "Client")
	{
		if(StrLocSession == "")
		{
			return true
		}
		else
		{
			return false
		}
	}
}
