// JavaScript Document
 /********************************************************
 Version		: ShimBi News Feeds (Ver. 1.0.0)
 Author  		: Kailash Kumawat
 Start Date 	: 03 - 07 -2006
 Last Modified 	: 03 - 07- 2006
 File Name 		: form_validation.js
 Purpose 		: form validation functions
 
 ********************************************************/
 
//check for blank
function isBlank(t_obj,t_msg)
{
	if (trimString(t_obj.value)=="")
	{
		alert(t_msg);
		t_obj.focus();	
		return 0;
	}
	else
		return 1;
}

//check alphabets only
function isAlphabet(t_obj,t_msg)
{
	xx=t_obj.value;
	validchars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
	for (i=0; i<xx.length; i++) 
	{
		badchar = xx.charAt(i);
		if (validchars.indexOf(badchar,0) == -1)
		{
			alert(t_msg);
			t_obj.focus();	
			return 0;
		}
	}
	return 1;
}
//check numbers only
function isNumber(t_obj,t_msg)
{
	xx=t_obj.value;
	validchars = "0123456789";
	for (i=0; i<xx.length; i++) 
	{
		badchar = xx.charAt(i);
		if (validchars.indexOf(badchar,0) == -1)
		{
			alert(t_msg);
			t_obj.focus();	
			return 0;
		}
	}
	return true;
}
//check string length
function checkLength(t_obj,t_length,t_msg)
{
	if(t_obj.value.length>t_length)
	{
		alert(t_msg);
		t_obj.focus();	
		return 0;
	}
	else
		return 1;
}
//check string character range
function checkRange(t_obj,min_length,max_length,t_msg)
{
	if(parseFloat(t_obj.value.length)>=parseFloat(min_length) && parseFloat(t_obj.value.length)<=parseFloat(max_length))
		return 1;
	else
	{
		alert(t_msg);
		t_obj.focus();	
		return 0;
	}
}
//check number range
function checkNumRange(t_obj,min_length,max_length,t_msg)
{
	if(parseFloat(t_obj.value)>=parseFloat(min_length) && parseFloat(t_obj.value)<=parseFloat(max_length))
		return 1;
	else
	{
		alert(t_msg);
		t_obj.focus();	
		return 0;
	}
}

//check mail
var emailfilter=/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;

function checkmail(t_obj,t_msg){
var returnval=emailfilter.test(t_obj.value)
	if (returnval==false)
	{
		alert(t_msg);
		t_obj.focus();
	}
return returnval
}

//check email
function isEmail(t_obj,t_msg)
{
	var xx=t_obj.value;
	validchars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.@_-";
	var valid="y";
	for (i=0; i<xx.length; i++) 
	{
		badchar = xx.charAt(i);
		if (validchars.indexOf(badchar,0) == -1)
		{
			valid="n";	
			break;
		}
	}
	if ((xx.indexOf("@") == -1) || (xx.indexOf(".") == -1))
	{
		valid="n";
	}
	if (parseInt(xx.indexOf(".",parseInt(xx.indexOf("@"))))==-1)
	{
		valid="n";
	}
	if(countChar(xx,'@',0,xx.length-1)!=1)
	{
		valid="n";
	}
	if( (xx.length - xx.lastIndexOf("."))<3)
	{
		valid="n";
	}
	if(xx.indexOf("@")<3)
	{
		valid="n";
	}
	if(xx.indexOf("-")==0 ||xx.indexOf("_")==0)
	{
		valid="n";
	}
	if(xx.lastIndexOf("-")== xx.length-1 ||xx.lastIndexOf("_")== xx.length-1)
	{
		valid="n";
	}
	if(valid=="n")
	{
		alert(t_msg);
		t_obj.focus();	
		return 0;
	}
	return 1;
}
function countChar(t_str,t_char,start_index,end_index)
{
	var count=0;
	for(i=parseInt(start_index);i<parseInt(end_index);i++)
	{
		if(t_str.indexOf(t_char,i)!=-1)
		{
			count++;
			i=t_str.indexOf(t_char,i) ;
		}
	}
	return count;
}
function isEmail1(t_obj,t_msg) 
{
	xx=t_obj.value;
	if (xx.search("/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/") != -1)
		return 1;
	else
	{
		
		alert(t_msg);
		t_obj.focus();	
		return 0;
	}
}

//check alphanumeric
function isAlphaNumeric(t_obj,t_extra,t_msg)
{
	xx=t_obj.value;
	validchars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"+t_extra;
	for (i=0; i<xx.length; i++) 
	{
		badchar = xx.charAt(i);
		if (validchars.indexOf(badchar,0) == -1)
		{
			alert(t_msg);
			t_obj.focus();	
			return 0;
		}
	}
	return 1;
}
//check url
function isURL(t_obj,t_msg) 
{
	if (t_obj.value.indexOf("http://",0) == -1) 
	{
		alert(t_msg);
		t_obj.focus();	
		return 0;
	}
	else
		return 1;
}

//string comparision
//type 1 case sensitive
//type 2 case in-sensitive
function stringComparision(t_obj1,t_obj2,t_type,t_msg)
{
	if(t_type==1)
	{
		var val=(t_obj1.value==t_obj2.value);
		if(val==false)
		{
			alert(t_msg);
			t_obj2.focus();
			return 0;
		}
	}
	if(t_type==2)
	{
		var val=(t_obj1.value.toLowerCase()==t_obj2.value.toLowerCase());
		if(val==false)
		{
			alert(t_msg);
			t_obj2.focus();
			return 0;
		}
	}
	return 1;
}

//confirm delete
function confirmDelete()
{

	if(!confirm("Do you really want to delete it?"))
	{
		return false;
	}

}
//confirm Logout
function confirmLogout()
{

	if(!confirm("Do you want to logout?"))
	{
		return false;
	}

}
//remove spaces from start and end
function trimString (str) 
{
  str = this != window? this : str;
  return str.replace(/^\s+/g, '').replace(/\s+$/g, '');
}

//date comparision
function dateComparision(from_date,to_date)
{
	var t_dt=from_date.split("/");
	var dt1=new Date(t_dt[2],t_dt[1],t_dt[0]);
	t_dt=to_date.split("/");
	var dt2=new Date(t_dt[2],t_dt[1],t_dt[0]);
	alert(dt1)
	if (dt1>dt2)
	{
		return false;
	}
	return true;
}

//check time
function isTime(tt)
{
	if(tt.value!="")
	{
		if(tt.value.indexOf(":")==-1)
		{
			alert("Please fill time in correct format(hh:mm)");
			tt.focus();
			return;
		}
		tt1=tt.value.split(":");
		if (parseInt(tt1[0])>=24)
		{
			alert("Hour cannot be greater then 23");
			tt.focus();
			return;
		}
		if (parseInt(tt1[1])>=60)
		{
			alert("Minute cannot be greater then 59");
			tt.focus();
			return;
		}
	}	
}

var photo_arr=new Array();
photo_arr[0]="jpg";
photo_arr[1]="jpeg";
photo_arr[2]="gif";
/*photo_arr[3]="bmp";
photo_arr[4]="tiff";
photo_arr[5]="png";
*/
var photo_str="jpg jpeg gif";

function isPhoto(t_obj,t_msg)
{
	var t_photo=t_obj.value;
	if(t_photo=="")
	{
		return 1;
	}
	if(t_photo.lastIndexOf(".")==-1)
	{
		alert(t_msg);
		return 0;
	}
	var ext=t_photo.substr(t_photo.lastIndexOf(".")+1);
	if (photo_str.indexOf(ext.toLowerCase())==-1)
	{
		alert(t_msg);
		return 0;
	}
	return 1;
}
//check webpage name
function isWebPagename(t_obj,t_msg)
{
	xx=t_obj.value;
	validchars = "abcdefghijklmnopqrstuvwxyz0123456789-_";
	for (i=0; i<xx.length; i++) 
	{
		badchar = xx.charAt(i);
		if (validchars.indexOf(badchar,0) == -1)
		{
			alert(t_msg);
			t_obj.focus();	
			return 0;
		}
	}
	return 1;
}

//check user name
function isUsername(t_obj,t_msg)
{
	xx=t_obj.value;
	validchars = "abcdefghijklmnopqrstuvwxyz0123456789";
	for (i=0; i<xx.length; i++) 
	{
		badchar = xx.charAt(i);
		if (validchars.indexOf(badchar,0) == -1)
		{
			alert(t_msg);
			t_obj.focus();	
			return 0;
		}
	}
	return 1;
}

//check alphabet + extra characters
function isAlphabetExtra(t_obj,t_extra,t_msg)
{
	xx=t_obj.value;
	validchars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"+t_extra;
	for (i=0; i<xx.length; i++) 
	{
		badchar = xx.charAt(i);
		if (validchars.indexOf(badchar,0) == -1)
		{
			alert(t_msg);
			t_obj.focus();	
			return 0;
		}
	}
	return 1;
}

//check radio buttons
function isRadioSel(t_obj1,t_obj2,t_msg)
{
	if(t_obj1.status==false && t_obj2.status==false)
	{
		alert(t_msg);
		//t_obj1.focus();	
		return 0;
	}
	return 1;
}