
/******************************start of procedure JSReusablesAug28-00********************************/

/*
start function has changed
*/
var vals_onLoad;
var vals_onSubmit;
function hasChanged(form,key,trim)
	{		  
	if(typeof(trim)=="undefined") trim=0;
	var element_values=new Array();	  
	var cont_count=0;
	for(i=0;i<form.elements.length;i++)
	switch(form.elements[i].type.toLowerCase())
		{
		case "textarea":case "text":case "password":case "file":
			var ele_val=form.elements[i].value;
			if(trim==0)
				{
				lcl_s_spaces=/\s+$|^\s+/;		//sensitive expression do not disassemble
				ele_val=ele_val.replace(lcl_s_spaces,"");
				ele_val=ele_val.replace(lcl_s_spaces,"");
				}
			if(ele_val!="")
				{
				element_values[cont_count]=ele_val;	  
				cont_count++;
				}					  
			else
				{
				element_values[cont_count]="Ñûîî";	  
				cont_count++;
				}
			break;
		case "radio":case "checkbox":
			if(form.elements[i].checked) 
				{
				element_values[cont_count]=form.elements[i].name+form.elements[i].value+i; 	
				cont_count++;
				}
			break;
		case "select-one":
			element_values[cont_count]=form.elements[i].selectedIndex;				
			cont_count++;
			break;
		case "select-multiple":
			var mult_values=new Array();
			var count=0;
			for(option_index=0;option_index<form.elements[i].options.length;option_index++)
				{
				if(form.elements[i].options[option_index].selected) 
					{															   
					mult_values[count]=form.elements[i].options[option_index].text;
					count++;
					}
				}
			if(mult_values.join()!="") 
				{
				element_values[cont_count]=mult_values.join();
				cont_count++;
				}
			break;
		}
	if(key==2) vals_onSubmit=element_values.join();
	else vals_onLoad=element_values.join();
	return vals_onLoad==vals_onSubmit?false:true;
	}
/*
end function has changed
*/

/*
start function submit on enter
*/	
var pressedKey;
var sourceObject;
var localValidation=false;
if(navigator.appName.indexOf('Netscape')!=-1) 
	{
	window.captureEvents(Event.KEYPRESS);
	window.onKeyPress=submit_this_form;
	}
else 
	{
 	window.document.onkeydown=submit_this_form;		
	}

function submit_this_form(e)
{
localValidation=false;
if(navigator.appName.indexOf('Netscape')!=-1) 
	{
	pressedKey=e.which;
	sourceObject=e.target.type;
	}
else 
	{
	pressedKey=window.event.keyCode;
	sourceObject=window.event.srcElement.type;
	}
/*if(typeof(form0_validate)!='undefined')
	{*/
	if(navigator.appName.indexOf('Netscape')!=-1)
	{
	if(e.which==13)
		{
		 if(e.target.type=="text"||e.target.type=="password"||e.target.type=="file")
			if(typeof(form0_validate)!='undefined')
			{			  
		       if(form0_validate()) 
				{
				if(confirm("Göndermek için tamam'ı tiklayınız")) document.forms[0].submit();
				else return false;
				}
        		else return false;
			}
			else localValidation=true;
		}
	}
	else 
	{
	if(window.event.keyCode==13)
		{
		if(window.event.srcElement.type=="text"||window.event.srcElement.type=="password"||window.event.srcElement.type=="file")
			if(typeof(form0_validate)!='undefined')
			{			  
				if(form0_validate()) 
					{
					if(confirm("Göndermek için tamam'ı tiklayınız")) document.forms[0].submit();
					else return false;
					}
				else return false;
			}
			else localValidation=true;			
		}
	}
	return true;
}
/*
end function submitOnEnter
*/

/*
start function to validate for area code
*/

function isAreaCode(lcl_s_a_code)
{
var reg1=/[^0-9]|^0/;
if(trim(lcl_s_a_code)!="")
     return reg1.test(lcl_s_a_code)?false:Math.abs(lcl_s_a_code)!=0&&lcl_s_a_code.length==3;
else return true;
}

/*
end function isPostalCode
*/

/*
start function to validate for postal code
*/

function isPostalCode(lcl_s_p_code)
{
var reg1=/[^0-9]/;
if(trim(lcl_s_p_code)!="")
	 return reg1.test(lcl_s_p_code)?false:Math.abs(lcl_s_p_code)!=0;
else return true;
}

/*
end function isPostalCode
*/


/*
start function to validate for dependent fields
*/
function dependents()
{
if(dependents.arguments.length<2) return false;
var returnObj=new Object();
returnObj.empty="";
returnObj.filled="";
for(i=0;i<dependents.arguments.length;i++)
	{
	if(dependents.arguments[i].type=="text"||dependents.arguments[i].type=="password"||dependents.arguments[i].type=="textarea")
		if(dependents.arguments[i].value=="")
			{
			if(returnObj.empty=="") 
				{
				returnObj.empty=dependents.arguments[i];
				}
			}
		else
			if(returnObj.filled=="") 
				{
				returnObj.filled=dependents.arguments[i];
				}
	}
return returnObj;
}
/*
end function to validate for dependent fields
*/

/*
start function datecompare
*/
function dateCmp(lcl_s_date1,lcl_s_date2)
{
lcl_date1=new Date(lcl_s_date1);
lcl_date2=new Date(lcl_s_date2);
lcl_n_dateval1=lcl_date1.getTime();
lcl_n_dateval2=lcl_date2.getTime();
if (lcl_n_dateval1<lcl_n_dateval2) return -1;
if (lcl_n_dateval2<lcl_n_dateval1) return 1;
if (lcl_n_dateval1==lcl_n_dateval2) return 0;
}
/*
end function datecompare
*/

/*
start function hasBlank
*/
function hasBlank(lcl_s_text)
{
lcl_s_spaces=/\s+/;
return 0<=lcl_s_text.search(lcl_s_spaces)?true:false
}
/*
end function hasBlank
*/

/*
start function isAlpha
*/
function isAlpha(lcl_s_text)
{
lcl_s_nonAlpha=/[0123456789~`!@#$%^&*()+-.,=:; ?><\|\\\/}{\[\]\'\"]/;
return !lcl_s_nonAlpha.test(lcl_s_text);
}
/*
end function isAlpha
*/

/*
start function isAlphaNumeric
*/
function isAlphaNumeric(lcl_s_text)
{
lcl_s_nonAlphaNum=/[~`!@#$%^&*()+-.,=:; ?><\|\\\/}{\[\]\'\"]/;
return !lcl_s_nonAlphaNum.test(lcl_s_text);
}
/*
end function isAlphaNumeric
*/

/*
start function isDate
*/
function isDate(lcl_s_text,lcl_s_format,lcl_s_monthaschar)
{
var arr_formats=new Array(1);
arr_formats[0]="mdy";
var lcl_b_monthaschar=false;
if(lcl_s_format!=null)
	arr_formats[0]=lcl_s_format==""?"mdy":lcl_s_format.toLowerCase();//removed trim
if(lcl_s_monthaschar!=null)
	lcl_b_monthaschar=lcl_s_monthaschar==""||lcl_s_monthaschar.toLowerCase()!="true"?false:true; //removed trim
lcl_s_text=lcl_s_text;
var lcl_n_prevcentury=1900;
var lcl_n_nextcentury=2000;
var lcl_s_start_year=1900;
var lcl_s_end_year=2050;
var lcl_n_yeartrans=70;  //not required if year accepted only as 4 digits
var lcl_s_separators=/\/|\\|\||-|`|~|_|\.|:|;| /;
var lcl_s_notallowed=/(\/|\\|\||-|`|~|_|\.|:|;| ){2,}/;
if(0<=lcl_s_text.search(lcl_s_notallowed)) return false;
var arr_months=["january","february","march","april","may","june","july","august","september","october","november","december"];
var lcl_b_yearin4digs=true;		//can be set to false if year should be considered given any number of digits

var lcl_s_alphanum=/[A-Za-z0-9]/;
var arr_date=new Array(3);
var lcl_n_index=lcl_s_text.search(lcl_s_separators);
var lcl_s_tempformat="error";
var j=0;
for(i=0;i<2;i++)
{
var lcl_n_indexsep=lcl_s_text.search(lcl_s_separators);
	if(!(lcl_n_indexsep<=0 || lcl_n_indexsep==lcl_s_text.length-1))   //starts with or ends with or does not contain separator
	{
	arr_date[i]=lcl_s_text.substring(0,lcl_n_indexsep);
	}
lcl_s_text=lcl_s_text.substring(lcl_n_indexsep,lcl_s_text.length);
var lcl_n_indexdig=lcl_s_text.search(lcl_s_alphanum);
	if(!(lcl_n_indexdig<0))   
	{
	lcl_s_text=lcl_s_text.substring(lcl_n_indexdig,lcl_s_text.length);
	}
}
arr_date[i]=lcl_s_text;
var lcl_b_onlynos=!isNaN(arr_date[0])&&!isNaN(arr_date[1])&&!isNaN(arr_date[2])?true:false;
if(arr_date[0]==null||arr_date[1]==null||arr_date[2]==null||arr_date.length!=3) return false;
else		//check if array holds valid dates
{
arr_date[0]=Math.abs(arr_date[0]);
arr_date[1]=Math.abs(arr_date[1]);
arr_date[2]=Math.abs(arr_date[2]);
	for(i=0;i<arr_formats.length;i++)
	{
	lcl_s_format=arr_formats[i];
	var lcl_s_minformat=lcl_s_format.indexOf("m");
	var lcl_s_dinformat=lcl_s_format.indexOf("d");
	var lcl_s_yinformat=lcl_s_format.indexOf("y");
		if(isNaN(arr_date[lcl_s_minformat])&&lcl_b_monthaschar)
		{
		var lcl_s_testmonth=arr_date[lcl_s_minformat].toLowerCase();
			if(isNaN(arr_date[lcl_s_dinformat])||isNaN(arr_date[lcl_s_yinformat])) return false;
		var lcl_n_monthindex=0;
			for(j=0;j<arr_months.length;j++)
			{
			var lcl_s_firstchars=arr_months[j].substring(0,lcl_s_testmonth.length);
			var lcl_s_validchars=new RegExp("^"+lcl_s_firstchars);
				if(lcl_s_validchars.test(lcl_s_testmonth)) 
				{
				lcl_n_monthindex=j+1
				arr_date[lcl_s_minformat]=lcl_n_monthindex;
				break;
				}
			}
		}
		else lcl_n_monthindex=lcl_b_onlynos?arr_date[lcl_s_minformat]:0;
	var lcl_n_year=parseInt(Math.abs(arr_date[lcl_s_yinformat]));
	var lcl_s_tempyear=""+lcl_n_year;
	if(lcl_b_yearin4digs&&lcl_s_tempyear.length!=4) return false;
	if(lcl_s_tempyear<lcl_s_start_year||lcl_s_end_year<lcl_s_tempyear) return false;
	if(!isNaN(lcl_n_year))
	{
		if(lcl_n_yeartrans<=lcl_n_year&&lcl_n_year<100) 
	 	lcl_n_year+=lcl_n_prevcentury;
	 	else if(lcl_n_year<lcl_n_yeartrans&&0<=lcl_n_year) lcl_n_year+=lcl_n_nextcentury;
 			 else if(lcl_s_tempyear.length!=4)return false;
	arr_date[lcl_s_yinformat]=lcl_n_year;
	}
	else continue;
	var lcl_n_day1=arr_date[lcl_s_dinformat];
	var lcl_n_month1=lcl_n_monthindex;
	var lcl_n_year1=arr_date[lcl_s_yinformat];
	var lcl_s_newdate1=lcl_n_month1+"/"+lcl_n_day1+"/"+lcl_n_year1;
	var lcl_s_newdate2=new Date(lcl_s_newdate1);
	var lcl_n_day2=lcl_s_newdate2.getDate();
	var lcl_n_month2=lcl_s_newdate2.getMonth()+1;
	var lcl_n_year2=parseInt(Math.abs(lcl_s_newdate2.getYear()));
if(2000<=lcl_n_year2) lcl_n_year2-=1900;
	lcl_n_year2+=lcl_n_prevcentury;
		if(""+lcl_n_day1==""+lcl_n_day2&&""+lcl_n_month1==""+lcl_n_month2&&lcl_n_year1==lcl_n_year2) 
		{
		lcl_s_tempformat=arr_formats[j];
		return true
		}
	}
}	//end else condition
return false;
}
/*
end function isDate
*/

/*
start function isEmail
*/
function isEmail(lcl_s_a)
{
lcl_s_spe_char1= /(\.|_|@)$|[\._@][\._@]|[~`!#$%^&*() +-,=:;?><\|\\\/}{\[\]\'\"]/;
lcl_s_alpha=/[^A-Za-z]/;
lcl_n_at_indfirst=lcl_s_a.indexOf("@");
lcl_n_at_indlast=lcl_s_a.lastIndexOf("@");
lcl_n_dot_indlast=lcl_s_a.lastIndexOf(".");
lcl_s_inv_domain=lcl_s_a.substring(lcl_n_dot_indlast+1,lcl_s_a.length);
return (lcl_s_spe_char1.test(lcl_s_a)||lcl_n_at_indfirst!=lcl_n_at_indlast||lcl_n_dot_indlast<lcl_n_at_indfirst||lcl_n_dot_indlast<0||lcl_n_at_indlast<0)?false:true;
}
/*
end function isEmail
*/

/*
start function isEmpty
*/
function isEmpty(lcl_s_text)
{
var lcl_s_space = /^\s+$/
return (lcl_s_text == null) || (lcl_s_text.length == 0) || (lcl_s_space.test(lcl_s_text))?true:false;
}
/*
end function isEmpty
*/

/*
start function isName
*/
function isName(lcl_s_text,lcl_s_option)
{
lcl_s_option=lcl_s_option==null||trim(lcl_s_option)==""?"":lcl_s_option;
return(trim(lcl_s_text)==""?false:true);//no validation required for name
}
/*
end function isName
*/

/*
start function isNumber
*/
function isNumber(lcl_s_text)
{
return !isNaN(lcl_s_text);
}
/*
end function isNumber
*/

/*
start function isPhone
*/
function isPhone(lcl_s_text)
{
lcl_s_nonNum=/\D/;
return !lcl_s_nonNum.test(lcl_s_text)&&parseInt(lcl_s_text)!=0;
}
/*
end function isPhone
*/

/*
start function isUrl
*/
function isUrl(lcl_s_value)
{
var lcl_b_validate=false;
var lcl_s_url="";
var lcl_s_indexmatch=new Array(1);
if(!(lcl_s_value==""||lcl_s_value==null)) 
{
lcl_s_url=lcl_s_value.toLowerCase();
lcl_n_index_q=lcl_s_url.indexOf("?");
lcl_n_index_h=lcl_s_url.indexOf("#");
lcl_b_validate=true;
}
else lcl_b_validate=false;
if(lcl_b_validate)
{
lcl_s_colonslash=/\\{2}|\/{2}|:/
lcl_s_startswith=/^http(s)?:\\{2,}|^http(s)?:\/{2,}/;
lcl_s_wwwdot=/(\\|\/|\.)www(\\|\/|\.)/;
lcl_s_invalidchars=/[~`!@#$%^&*()+,=; ?><\|}{\[\]\'\"]|(_|\\|\/|\.){2,}|^(_|\\|\/|\.)|(\.|_|-|:)$| /;
lcl_s_indexcolon=lcl_s_colonslash.test(lcl_s_url);
lcl_s_indexmatch=lcl_s_startswith.exec(lcl_s_url);
lcl_s_indexmatch1=lcl_s_indexmatch!=null?lcl_s_indexmatch[0]:"0";
lcl_n_startpos=lcl_s_indexmatch1.length;
lcl_s_wwwdotindex=lcl_s_wwwdot.test(lcl_s_url);
if(lcl_s_indexcolon)
	if(lcl_n_startpos<=1) lcl_b_validate=false;
	else 
		{
		lcl_s_url=lcl_s_url.substring(lcl_n_startpos,lcl_s_url.length);
		if(!lcl_b_validate || lcl_s_invalidchars.test(lcl_s_url)) lcl_b_validate=false;
		}
else
{
	if(!lcl_b_validate || lcl_s_wwwdot.test(lcl_s_url)) lcl_b_validate=false;
	else if(!lcl_b_validate || lcl_s_invalidchars.test(lcl_s_url)) lcl_b_validate=false;
	}
}
return lcl_b_validate;
}
/*
end function isName
*/

/*
start function LTrim
*/
function LTrim(lcl_s_text)
{
lcl_s_spaces=/^\s+/;
lcl_s_text=lcl_s_text.replace(lcl_s_spaces,"");
return lcl_s_text;
}
/*
end function LTrim
*/

/*
start function RTrim
*/
function RTrim(lcl_s_text)
{
lcl_s_spaces=/\s+$/;
lcl_s_text=lcl_s_text.replace(lcl_s_spaces,"");
return lcl_s_text;
}
/*
end function RTrim
*/

/*
start function trim
*/
function trim(lcl_s_text)
{
lcl_s_spaces=/\s+$|^\s+/;		//sensitive expression do not reassemble
lcl_s_text=lcl_s_text.replace(lcl_s_spaces,"");
lcl_s_text=lcl_s_text.replace(lcl_s_spaces,"");
return lcl_s_text;
}
/*
end function trim
*/

/*
start function trimText
*/
function trimText(lcl_s_text)
{
lcl_s_spaces=/\s+/;
while (0<=lcl_s_text.search(lcl_s_spaces))
	{
	lcl_s_text=lcl_s_text.replace(lcl_s_spaces,"");
	}
return lcl_s_text;
}
/*
end function trimText
*/

/*
start function validateUser
*/
function validateUser(txt_userid,txt_password)
{
lcl_s_reg1=/[~`!@#$%^&*()+-.,=:; ?><\|\\\/}{\[\]\'\"]/;
lcl_s_reg2=/^[0-9]/;
lcl_s_reg3=/^_/;
if(txt_userid.type=="text"||txt_userid.type=="hidden")
	{
	var lcl_s_user_id=trim(txt_userid.value);
	var lcl_n_idlength="3";
	var lcl_n_idlen_max="10";
	if(lcl_s_user_id=="") return returnFocus(txt_userid,"Lütfen kullanıcı adını giriniz.");
	if (lcl_s_user_id.length<lcl_n_idlength) return returnFocus(txt_userid,"Lütfen en az "+lcl_n_idlength+" karakterden oluşan bir kullanıcı adı giriniz.");
	if(lcl_s_reg1.test(lcl_s_user_id)) return returnFocus(txt_userid,"Lütfen şifre için '_' dışında noktalama işareti kullanmayınız.");
	if ((lcl_s_reg2.test(lcl_s_user_id))||(lcl_s_reg3.test(lcl_s_user_id))) return returnFocus(txt_userid,"Lütfen harf ile başlayan bir kullanıcı adı giriniz.");
	if(lcl_n_idlen_max<txt_userid.value.length) return returnFocus(txt_userid,"Kullanıcı adı en fazla "+lcl_n_idlen_max+" karakter olabilir");
	}
if(txt_password.type=="password"||txt_password.type=="hidden")
	{
	var lcl_s_password=trim(txt_password.value);
	var lcl_n_pwdlength="1";
	var lcl_n_pwdlen_max="10";
	if(lcl_s_password=="") return returnFocus(txt_password,"Lütfen Şifre alanını doldurunuz.");
	if (lcl_s_password.length<lcl_n_pwdlength) return returnFocus(txt_password,"Şifreniz en az "+lcl_n_pwdlength+" karakterden oluşmalıdır");
	if(lcl_s_reg1.test(lcl_s_password)) return returnFocus(txt_password,"Lütfen şifre için '_' dışında noktalama işareti kullanmayınız.");
	//if ((lcl_s_reg2.test(lcl_s_password))||(lcl_s_reg3.test(lcl_s_password))) return returnFocus(txt_password,"Lütfen harf ile baŞlayan bir Şifre giriniz.");
	if(txt_userid.value==txt_password.value) return returnFocus(txt_password,"Şifre ve kullanici adi ayni olamaz");
	if(lcl_n_pwdlen_max < txt_password.value.length) return returnFocus(txt_password,"Yeni Şifre "+lcl_n_pwdlen_max+" karakteri geçmemelidir");
	}
return true 
}

function returnFocus(formObject,errorMessage)
{
alert(errorMessage);
formObject.select();
formObject.focus();
return false;
}
/*
end function validateUser
*/
/************************************** end of reusable code ***************************************/
