var defaultEmptyOK=false;
var whitespace="\t\n\r";

function isEmpty(s)
{
	if ((s == "") || (s == null))
		return true;
	return false;
}
function isNumeric(str)
{
 for (var i=0; i < str.length; i++)
		{
   var ch = str.substring(i, i+1)
  if( ch < "0" || ch>"9" || str.length == null)
			{
     return false;
			}
		}
return true;
}	
function isDigit (c)
{   
return ((c >= "0") && (c <= "9"))
}

function isInteger (s)
{   var i;

    if (isEmpty(s)) 
       if (isInteger.arguments.length == 1) return defaultEmptyOK;
       else return (isInteger.arguments[1] == true);

    // Search through string's characters one by one
    // until we find a non-numeric character.
    // When we do, return false; if we don't, return true.

    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);

        if (!isDigit(c)) return false;
    }

    // All characters are numbers.
    return true;
}

function removeCommas(s)
{
var i;
	
	i = s.indexOf(",");
	while (i != -1)
	{
		// remove commas
		s = s.replace(/[,]/,"");
		i = s.indexOf(",");
	}
	return s;
}


function CheckInteger(a)
{
  if(((window.event.keyCode < 46 || window.event.keyCode > 57) ||( window.event.keyCode ==47)) && window.event.keyCode !=13)
  {
    window.event.returnValue=0;
	alert("عفوا لا يمكن إدخال سوى أرقام صحيحة فقط لهذه الخانة");
	return;
  }
}



function printOption()
{
	alert("Please use the Print button or the browser to print the registration page");
}

function checkenglet()
{
if(window.event.keyCode !=13)
{

	if(!((window.event.keyCode >= 65 && window.event.keyCode <= 90) || (window.event.keyCode >= 48 && window.event.keyCode <= 57) || (window.event.keyCode ==32)))
	{
		window.event.returnValue=0;
		alert("فقط حروف انجليزية كبيرة وأرقام صحيحة");
	}
}	


}

function EnglishAndSpecialCharsValidation()
{
	if(window.event.keyCode !=13)
	{
		if(!(window.event.keyCode >= 32 && window.event.keyCode <= 122))
		{
			window.event.returnValue=0;
			alert("Arabic Literals are not allowed");
		}
	}	
}


function ArabicAndSomeSpecialCharsValidation()
{
	if(window.event.keyCode !=13)
	{
		if((window.event.keyCode < 32) || (window.event.keyCode > 122)||(window.event.keyCode >= 33 && window.event.keyCode < 43)|| (window.event.keyCode == 47)||(window.event.keyCode >= 59 && window.event.keyCode < 63) || (window.event.keyCode == 64 )||(window.event.keyCode >= 91 && window.event.keyCode < 97) )
		{
			window.event.returnValue=0;
			alert("Arabic literals and some special characters are not allowed");
			return;
		}
	}	
}




function AmntDecFormat(val,fieldname,decdigits)
{
		if (isEmpty(val)) 
		{
			fieldname.value = "";
			return;
		}
		
		fieldname.value = removeCommas(val);
		val = removeCommas(val);		
		
		if ((val.indexOf(".") == -1) && (val != ""))
		{
		
			if (val.length > 14)
			{
				fieldname.value = "";
				return;
		    }		
			if (!isNumeric(val))
			{
			//alert("Please enter a valid amount");
			fieldname.value = "";
			return;
			}
			fieldname.value = fieldname.value + ".";
			
			for(i=0;i<decdigits;i++)
			{
				fieldname.value = fieldname.value + "0";
			}
			
			//Comma formatting
			fieldname.value = formatDisplayAmount(fieldname.value);
			
			return;

		}
		else if (val == "") // If user enters only commas, remove them
		{
			fieldname.value = "";
			return;
		}

		else
		{
	        var Ary1 = new Array();
	        
	        var decimaldigits = "";
	        
	        Ary1 = val.split(".");
	        
	        if (Ary1[0].length > 14)
	        {
				fieldname.value = "";
				return;
	        }
	        
	        if (Ary1.length > 2)
	        {
	            fieldname.value = "";
				return;
			}	
	        if (!isNumeric(Ary1[0]))
			{
				//alert("Please enter a valid amount");
				fieldname.value = "";
				return;
			}
			
			if (Ary1[0] == "")
			{
				Ary1[0] = "0";
			}
			
		    if (!isNumeric(Ary1[1]))
			{
				//alert("Please enter a valid amount");
				fieldname.value = "";
				return;
			}
		    
		    if (Ary1[1].length < decdigits)
		    {
				decimaldigits = Ary1[1];
				
				for(i=0;i<( decdigits - Ary1[1].length  );i++)
				{
					decimaldigits = decimaldigits + "0";
				}
		    }
		    else if (Ary1[1].length > decdigits)
			{
					if (parseInt(Ary1[1].substring(decdigits,decdigits+1),10) >= 5 )
					{
						decimaldigits = parseInt(Ary1[1].substring(0,decdigits),10) + 1;
						
						decimaldigits = "" + decimaldigits + "";
						
						if (decimaldigits.length < decdigits)
						{
							for (i=1;i<=decdigits-1;i++)
							{
								decimaldigits = "0" + decimaldigits;
							}
						}
						else
						{
							if (decimaldigits.length > decdigits)
							{
								Ary1[0] = parseInt(Ary1[0],10) + 1;
								Ary1[0] = "" + Ary1[0] + "";
								
								decimaldigits ="";
								
								for (i=1;i<=decdigits;i++)
								{
									decimaldigits += "0";
								}
							}
							else
							{
								decimaldigits = decimaldigits.substring(0,decdigits);
							}
							
						}
					}
					else
					{
						decimaldigits = Ary1[1].substring(0,decdigits);
					}
			}
			else 
			{
					decimaldigits = Ary1[1];
		    }
		    fieldname.value = Ary1[0] + "." + decimaldigits;

			//Comma formatting
			fieldname.value = formatDisplayAmount(fieldname.value);		    

		    return;
		}
}

function formatDisplayAmount(value)
{
	var Fmtvalue;
	
	var decpart,mantissapart;
	
	var arr = new Array();
	
	arr = value.split(".");
	
	decpart = arr[1];
	
	mantissapart = arr[0];
	
	var i;
	
	var tempMant = null;
	
	tempMant = "";
	
	var j;
	
	j=0;
	
	for(i=(mantissapart.length-1);i>=0;i--)
	{
		
		if (j%3 == 0 && j!=0 ) tempMant = "," + tempMant;
		
		tempMant =  mantissapart.charAt(i) + tempMant;
		
		j++;
		
	}
	
	Fmtvalue = tempMant + "." + decpart;
	
	return Fmtvalue;

}

