//supporting function for the Function BiggerDate
function doCompare(d1,d2)
{
	if (d1 == d2)
	{
		return 0
	}
	if (d1 > d2)
	{
		return 1
	}
	else
		return 2
}

//this function accept 2 dates in dd/mm/yyyy format only and return 
// 0 if both dates are equal
// 1 if first is bigger
// 2 if second is bigger
function BiggerDate(date1,date2)
{
	temp1= new String(date1)
	temp2= new String(date2)
	y1=parseInt(temp1.substring(6,10),10)
	y2=parseInt(temp2.substring(6,10),10)
	m1=parseInt(temp1.substring(3,5),10)
	m2=parseInt(temp2.substring(3,5),10)
	d1=parseInt(temp1.substring(0,2),10)
	d2=parseInt(temp2.substring(0,2),10)

	switch  (doCompare(y1,y2))
		{
			case 0:
					switch  (doCompare(m1,m2))
					{
						case 0:
								switch (doCompare(d1,d2))
								{
									case 0:
											return 0
											break
									case 1:
																							return 1
											break
									case 2:
											return 2
											break
								}
								break
							case 1:
									
									return 1
									break
							case 2:
									return 2
									break
					}
					break
			case 1:
					return 1
					break
			case 2:
					return 2
					break
		}
}

//function for testing Numeric
function isNumeric(temp)
{
	var str=new String()
	str=temp
	bag = new String("0123456789.")
	for (i=0;i<str.length  ;i++ )
	{
		if (bag.indexOf(str.charAt(i)) == -1)
		{
			return false
		}
	}
	return true
}

// valid date
function isDate(dd, mm, yyyy)
{
	if ((dd.charAt(0)) == "0")
	{
		dd = dd.substring(1);
	}	
	if ((mm.charAt(0)) == "0")
	{
		mm = mm.substring(1);
	}
	if (yyyy.length != 4)
		return false;	
	var dt = new Date(yyyy, mm-1, dd);
	if (dt == "NaN") 
	{	    
	    return false;
	}
	else if (dt.getFullYear() != parseInt(yyyy) || dt.getMonth() != (parseInt(mm)-1) || dt.getDate() != parseInt(dd)) 
		return false;
	else
		return true;		
}

//function for testing alphabetic
function isText(temp)
{
	var str=new String()
	if (isBlank(temp))
	{
		return false
	}

	str=temp
	bag = new String(" abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.()-_,!%&*")
	for (i=0;i < str.length   ;i++ )
	{
		if (bag.indexOf(str.charAt(i)) == -1)
		{
			return false
		}
	}
	return true
}

//function for testing password
function isPassword(temp)
{
	var str=new String()
	if (isBlank(temp))
	{
		return false
	}

	str=temp
	bag = new String("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ123456790!@#$%^&*-_=+")
	for (i=0;i < str.length   ;i++ )
	{
		if (bag.indexOf(str.charAt(i)) == -1)
		{
			return false
		}
	}
	return true
}

//function for testing blank
function isBlank(str)
{
	if (str == "")	
		return true
	else
		return false
}

//function for testing valid email
function isEmail(str)
{
	var bag = new String("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@._-")
	//spaces not allowed
	if (str.indexOf(" ") != -1) 
	{
		return false
	}
	// @ character is must
	if (str.indexOf("@") == -1) 
	{
		return false
	}
	// . character is must
	if (str.indexOf(".") == -1) 
	{
		return false
	}
	// atleast 3 characters after @ 
	if (str.length - str.indexOf("@") <= 3 ) 
	{
		return false
	}
	// next to @ must not be .
	if (str.charAt(str.indexOf("@")+1 ) == "." )
	{
		return false
	}
	// last char must not be .
	if (str.charAt(str.length-1) == ".")
	{
		return false
	}
	// only chars in bag are allowed in email
	for (i=0;i < str.length  ;i++ )
	{
		if (bag.indexOf(str.charAt(i)) == -1)
		{
			return false
		}
	}
	return true	
}
// this function checks for a valid time
// str must be pass in the 24 hrs hh:mm format
function isTime(str)
{
	var hrs
	var min
	var bag=new String("0123456789:")
	
	if (str.length != 5)
	{
		return false
	}
	for (i=0;i < str.length  ;i++ )
	{
		if (bag.indexOf(str.charAt(i)) == -1)
		{
			return false
		}
	}
	hrs = parseInt(str.substring(0,2))
	min = parseInt(str.substring(3,5))
	if (hrs > 23) 
		return false
	if (min > 59)
		return false
		
	return true
}

//Compare two fields
function compareFields(tmp1, tmp2)
{
	if (tmp1 == tmp2)
		return true
	else
		return false;
}

// Compare Length of a field
function compLen(str, myNum)
{

	if (str.length < myNum)
		return false;
	else
		return true;
	
}