// JavaScript Document// 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
 
 ********************************************************/
//全角カナチェック
function isZenKana(t_obj,t_msg)
{
	xx=t_obj.value;
	validchars = "　アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンガギグゲゴザジズゼゾダヂヅデドバビブベボパピプペポァィゥェォャュョ";
	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;
}

//全角チェック
function isZenhira(t_obj,t_msg)
{	　var zen =t_obj.value;　　　　　
     for (var i = 0; i < zen.length; ++i) {
        var c = zen.charCodeAt(i);
        //  半角カタカナは不許可
        if (c < 256 || (c >= 0xff61 && c <= 0xff9f)) {
 		alert(t_msg);
			t_obj.focus();	
			return 0;
            }
        }
      return 1;
    
  
}

//chek radiobutton
function check_multi(t_obj,t_msg)
{	

	var flg = false;

			

	for(var i = 1; i < 7; i++)
	{
		var elem = t_obj+i;
		if (trimString(document.frmcontact[elem].value)!==""){
			flg = true;	
		}
		
	}
	
	if(flg)	{			
		return 1;
	}
	else{
		alert(t_msg);
		return 0;
	}
	
}



//chek radiobutton
function check_r_button(t_obj,t_msg)
{	
	var flg = false;


	for(var i = 0; i < t_obj.length; i++)
	{
		if(t_obj[i].checked == true)
		{
			flg = true;
			break;
		}
	}
		
	if(flg)	{			
		return 1;
	}
	else{
		alert(t_msg);
		return 0;
	}
}


//chek 梱包キットを希望
function check_r_button1(t_obj,t_msg)
{	
	var flg = false;


	for(var i = 0; i < t_obj.length; i++)
	{
		if(t_obj[i].checked == true)
		{ if(t_obj[i].value=="梱包キットを希望する"){
	           if (trimString(document.frmcontact.box_big.value)=="0" && trimString(document.frmcontact.box_mid.value)=="0" && trimString(document.frmcontact.box_sml.value)=="0" )
	              {   alert("梱包キット選択してください！");
		              document.frmcontact.box_big.focus();

		              return 0;
	            }
			
			
			}
			flg = true;
			break;
		}
	}
		
	if(flg)	{
		return 1;
	}
	else{
		alert(t_msg);
		return 0;
	}
}


//chek checkbox
function checkBox(t_obj,t_msg)
{
	
	var flg = false;
	for(var i = 0; i < t_obj.length; i++)
	{
		if(t_obj[i].checked == true)
		{
			

			flg = true;
			break;
		}
	}
	
	
	if(flg)	{			
		return 1;
	}
	else{
		alert(t_msg);
		return 0;
	}
}


//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 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
}

function isNumberPhone(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 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 for home
function isHome(t_obj,t_msg)
{
	str=trimString(t_obj.value);
	
	if (str.toLowerCase() == "home" || str.toLowerCase() == "news" || str.toLowerCase() == "feedback")
	{
		alert(t_msg);
		t_obj.focus();	
		return 0;
	}
	else
		return 1;
}

//check for index page and temlate page
function ispageexists(t_obj,t_msg)
{
	str=trimString(t_obj.value);
	
	if (str.toLowerCase() == "index" || str.toLowerCase() == "template" || str.toLowerCase() == "customerror" || str.toLowerCase() == "sitemap" )
	{
		alert(t_msg);
		t_obj.focus();	
		return 0;
	}
	else
		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;
}


// Date (yyyy/mm/dd)
function isDate(object_value,t_msg) 
{
	isplit = object_value.indexOf('/');
	
	sYear = object_value.substring(0, isplit);
	
	isplit = object_value.indexOf('/', isplit + 1);
	
	sMonth = object_value.substring((sYear.length + 1), isplit);
	
	sDay = object_value.substring(isplit + 1);

	if (EW_checkday(sYear, sMonth, sDay)==0)
	{
		alert(t_msg);
		return 0;
	}
	else
		return 1;
}

//my is date function
function isDatenew(object_value,t_msg) 
{
	isplit = object_value.indexOf('/');
	
	sDay = object_value.substring(0, isplit);
//	alert('year'+sDay);		
	isplit = object_value.indexOf('/', isplit + 1);
	
	sMonth = object_value.substring((sDay.length + 1), isplit);
//	alert('Month'+sMonth);		
	sYear = object_value.substring(isplit + 1);

//	alert('year'+sYear);	
	
	if (EW_checkday(sYear, sMonth, sDay)==0)
	{
		alert(t_msg);
		return 0;
	}
	else
		return 1;
}




function EW_checkday(checkYear, checkMonth, checkDay) 
{
//	alert(checkYear+checkMonth+checkDay);
	maxDay = 31;
	
	if (checkMonth == 4 || checkMonth == 6 ||	checkMonth == 9 || checkMonth == 11) {
		maxDay = 30;
	} else if (checkMonth == 2)	{
		if (checkYear % 4 > 0)
			maxDay =28;
		else if (checkYear % 100 == 0 && checkYear % 400 > 0)
			maxDay = 28;
		else
			maxDay = 29;
	}
	
	if(checkDay>maxDay)
		return 0;
	else
		return 1;
}

function checkdate(checkYear, checkMonth, checkDay,today_date,t_msg) 
{
	var t_dt=today_date.split("/");
	var dt_today=new Date(t_dt[0],t_dt[1],t_dt[2]);
	var dt_check_in=new Date(checkYear, checkMonth, checkDay);
		if (dt_check_in<dt_today)
		  {
				alert(t_msg);
				return 0;
		  }else
		  {
			  return 1;
			  }
		
}

