function fail_alert(field,message)
{ alert(message); field.focus(); return(false); }
function trim(field)
{
while(field.value.substring(0,1)==' ') field.value=field.value.substring(1,field.value.length);
while(field.value.substring(field.value.length-1,field.value.length)==' ') field.value=field.value.substring(0,field.value.length-1);
}
var valid = new Object();
valid.Username = /^[a-zA-Z0-9]{2,}$/; // username

valid.Password = valid.OldPassword = valid.password = /.{4,}/;
valid.ConfirmPassword = /.{1,}/;
valid.admin_username = valid.Username;
valid.home_dir = /^\/[^:*?\"'<>|\\]{5,}\/$/;
valid.site_ID = /^\d{1,}$/;
valid.color_theme = /^.{2,}$/;

valid.brand = /^.{2,}$/;
valid.mail_support = valid.Email;
valid.mail_links = valid.Email;
valid.mail_info = valid.Email;
valid.mail_ads = valid.Email;
valid.admin_mail = valid.Email;

// add link
valid.link_email = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/; // email
valid.link_description = /^.{2,}/;
valid.link_title = /^.{2,}$/;
valid.link_url = /^http:\/\/[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,3})(\/)*[a-zA-Z0-9\-\._]*/;

// edit link
valid.Link = valid.link_url;
valid.Title = valid.link_title;
valid.Description = valid.link_description;
valid.Email = valid.link_email;

// add category 
valid.title = /^(.+,?)+$/;
valid.dir = /^([\w,\-]+,?)+$/;
//valid.IP = /^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/; // IP Address

//return( field.value.match('/'+pattern+'/i') ? true: fail_alert(field,message) ); }
function check_pattern( field )
{
	trim( field );
	var thePat = valid[field.name]; // [field.title] replaced with [field.name]
	if( !thePat.exec( field.value ) )
	return fail_alert( field, field.title );
	return true;
}

function AddLinkFormValidation( that )
{
	if ( check_pattern( that.link_url ) == false )
	return false; 
	if ( check_pattern( that.link_title ) == false )
	return false; 
	if ( check_pattern( that.link_description ) == false )
	return false; 
	if ( check_pattern( that.link_email ) == false )
	return false;
	
	return true; 
}

function EditLinkFormValidation( that )
{
	if ( check_pattern( that.Link ) == false )
	return false; 
	if ( check_pattern( that.Title ) == false )
	return false; 
	if ( check_pattern( that.Description ) == false )
	return false; 
	if ( check_pattern( that.Email ) == false )
	return false; 
	
}

function AddCatFormValidation( that )
{
	if ( check_pattern( that.title ) == false )
	return false; 
	if ( check_pattern( that.dir ) == false )
	return false; 
}

function EditCatFormValidation( that )
{
	if ( check_pattern( that.title ) == false )
	return false; 
	if ( check_pattern( that.dir ) == false )
	return false; 
}
function SetModRewrite()
{
if ( document.getElementById('mod_rewrite').value == 0 )
{	
	for( i = 1; i < 4; i++ )
	{
		document.getElementById('url_set'+i).className = 'dis_set_input';
		document.getElementById('url_set'+i).disabled = true;
	}
}
else
{
	for( i = 1; i < 4; i++ )
	{
		document.getElementById('url_set'+i).className = 'set_input';
		document.getElementById('url_set'+i).disabled = false;		
	}
}

}

/* javascript function to update form field
* field      form field that is being counted
* count      form field that will show characters left
* maxchars    maximum number of characters   
*/
function characterCount(field, count, maxchars) {
   if (field.value.length > maxchars) {
      field.value = field.value.substring(0, maxchars);
      alert("Maximum URL length is "+maxchars+" characters.");
   } else {
      count.value = maxchars - field.value.length;
   }
}

function characterCount1(field1, count1, maxchars1) {
   if (field1.value.length > maxchars1) {
      field1.value = field1.value.substring(0, maxchars1);
      alert("Maximum title length is "+maxchars1+" characters.");
   } else {
      count1.value = maxchars1 - field1.value.length;
   }
}

function characterCount2(field2, count2, maxchars2) {
   if (field2.value.length > maxchars2) {
      field2.value = field2.value.substring(0, maxchars2);
      alert("Maximum title length is "+maxchars2+" characters.");
   } else {
      count2.value = maxchars2 - field2.value.length;
   }
}

// Bu kisim lisans sözlesmesi kabulu için konulan kisim
function checkCheckBox(fctmls){
if (fctmls.readyes.checked == false )
{
alert('You must agree with the terms!');
return false;
}else
return true;
}

function validema(formac) {
  var field = formac.link_email; // email field
  var str = field.value; // email string
  var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/; // not valid
  var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/; // valid
  if (!reg2.test(str)) { // if syntax is valid
      alert("Please input a valid email address!"); // this is also optional
  field.focus();
  field.select();
  return false;
  }
	return true;
}

function backlinka(forback) {
  var field = forback.link_email; // email field
  var str = field.value; // email string
  var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/; // not valid
  var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/; // valid
  if (!reg2.test(str)) { // if syntax is valid
      alert("Please input a valid email address!"); // this is also optional
  field.focus();
  field.select();
  return false;
}
  var field = forback.link_back; // email field
  var str = field.value; // email string
  var reg2 = /^http:\/\/[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,3})(\/)*[a-zA-Z0-9\-\._]*/; // valid
  if (!reg2.test(str)) { // if syntax is valid
      alert("Please input a valid Reciprocal Link URL!"); // this is also optional
  field.focus();
  field.select();
  return false;
}
	return true;
}

// Burdan Sonrasi Pagerank Checker Güvenlik kontrolü için
function Trim(s) 
   {
   	// Remove leading spaces and carriage returns
   	while ((s.substring(0,1) == ' ') || (s.substring(0,1) == '\n') || (s.substring(0,1) == '\r'))
   	 { s = s.substring(1,s.length); }
     
   	// Remove trailing spaces and carriage returns
 while ((s.substring(s.length-1,s.length) == ' ') || (s.substring(s.length-1,s.length) == '\n') || (s.substring(s.length-1,s.length) == '\r'))
   	 { s = s.substring(0,s.length-1); }
     
   	return s;
   }

function multicount(fieldmulti,lmt,chrlmt)
{
   var snr = lmt+1;
   var multifirst  = fieldmulti.value;
   var krtlmt      = fieldmulti.value.length;
   var multisecond = multifirst.split("\n");
   if (multisecond.length >= snr)
  {
	  alert("Maximum "+lmt+" Sites");
	  return false;
  }
   if (krtlmt >= chrlmt)
  {
	  alert("Maximum "+chrlmt+" Characters");
	  return false;
  }
  var thePat 	= /^\/+[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,3})(\/)*[a-zA-Z0-9\-\._]*/;
  var thePata 	= /^[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,3})(\/)*[a-zA-Z0-9\-\._]*/;
  var thePatb 	= /^http:\/\/[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,3})(\/)*[a-zA-Z0-9\-\._]*/;
  var ja = 0;
  for( ja = 0; ja <= multisecond.length-1; ja++ )
  {
	var jb =  ja+1;
	var strtt = multisecond[ja];
    strtt = Trim(strtt);
  	if ( thePat.exec(strtt) && !strtt == '\n' )
  	{
			if (strtt.length >= 30)
			{
				strtt = strtt.substring(0,30)+"...";
			}
			//alert( "Please enter a valid address!  ( "+strtt+" )\nWrong URL Line Number: "+jb );
			//return false; 
  	}
  	if ( !thePata.exec(strtt) && !thePatb.exec(strtt) && !strtt == '\n' )
  	{
			if (strtt.length >= 30)
			{
				strtt = strtt.substring(0,30)+"...";
			}			
			//alert( "Please enter a valid address!  ( "+strtt+" )\nWrong URL Line Number: "+jb );
			//return false; 
  	}
  }  
      return true;
}