/*******************  TEMEL FONKSIYONLAR ***********************/

function LTrim(str){if(str==null){return null;}for(var i=0;str.charAt(i)==" ";i++);return str.substring(i,str.length);}
function RTrim(str){if(str==null){return null;}for(var i=str.length-1;str.charAt(i)==" ";i--);return str.substring(0,i+1);}
function Trim(str){return LTrim(RTrim(str));}
function LTrimAll(str){if(str==null){return str;}for(var i=0;str.charAt(i)==" " || str.charAt(i)=="\n" || str.charAt(i)=="\t";i++);return str.substring(i,str.length);}
function RTrimAll(str){if(str==null){return str;}for(var i=str.length-1;str.charAt(i)==" " || str.charAt(i)=="\n" || str.charAt(i)=="\t";i--);return str.substring(0,i+1);}
function TrimAll(str){return LTrimAll(RTrimAll(str));}
function isNull(val){return(val==null);}
function isDigit(num){if(num.length>1){return false;}var string="1234567890";if(string.indexOf(num)!=-1){return true;}return false;}
function isBlank(val){if(val==null){return true;}for(var i=0;i<val.length;i++){if((val.charAt(i)!=' ')&&(val.charAt(i)!="\t")&&(val.charAt(i)!="\n")&&(val.charAt(i)!="\r")){return false;}}return true;}
function isNumeric(val){if(isBlank(val)){return false;}for(var i=0;i<val.length;i++){if(!isDigit(val.charAt(i))){return false;}}return true;}

/*******************  KONTROL FONKSIYONLARI ***********************/

function kontrol_sayisal(val){if(isBlank(val)){return false;}for(var i=0;i<val.length;i++){if(!isDigit(val.charAt(i))){return false;}}return true;}

function kontrol_numerik(val){return(parseFloat(val,10)==(val*1));}

function kontrol_mail(emailStr){ /*******  MAIL KONTROL *********/
var checkTLD=1; var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
var emailPat=/^(.+)@(.+)$/; var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]"; var validChars="\[^\\s" + specialChars + "\]";
var quotedUser="(\"[^\"]*\")"; var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
var atom=validChars + '+'; var word="(" + atom + "|" + quotedUser + ")"; var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$"); var matchArray=emailStr.match(emailPat);
if (matchArray==null) { return false; } var user=matchArray[1]; var domain=matchArray[2];
for (i=0; i<user.length; i++) { if(user.charCodeAt(i)>127) { return false; }}
for (i=0; i<domain.length; i++) { if (domain.charCodeAt(i)>127) {return false;}}
if (user.match(userPat)==null) { return false;} var IPArray=domain.match(ipDomainPat); 
if (IPArray!=null) {  for (var i=1;i<=4;i++) { if (IPArray[i]>255) { return false; } }  return true; }
var atomPat=new RegExp("^" + atom + "$"); var domArr=domain.split("."); var len=domArr.length;
for (i=0;i<len;i++) {  if(domArr[i].search(atomPat)==-1) { return false;} }
if (checkTLD && domArr[domArr.length-1].length!=2 && domArr[domArr.length-1].search(knownDomsPat)==-1) { return false;}
if (len<2) { return false;} return true; }

/*******************  FORM ELEMENT KONTROL ******************************/
function checkGroupChecker(inputname){ checkGroup = document.getElementsByName(inputname); for(cSayac=0; cSayac< checkGroup.length ; cSayac++){ if(checkGroup[cSayac].checked){ return false; } } return true; }
function submitForm(f){ var attribute = "1!=1";
	for(i=0;i<f.elements.length;i++){ input = f.elements[i]; input.value = Trim(input.value);
	attribute = "1!=1";	a = input.getAttribute('alert'); a = a +' '; if(a!=' ' && a!=null+' '){ if(attribute=="1!=1"){
	if(input.tagName=='SELECT'){ attribute = "input.selectedIndex==0"; } 
	if(input.tagName=='TEXTAREA' || input.type=='text' || input.type=='password' || input.type=='file'){ attribute = "input.value==''"; }
	if(input.type=='checkbox' || input.type=='radio'){ attribute = "checkGroupChecker('" + input.name +"')"; }
	} result = false; eval('if('+attribute+' ){result=true;};');
	if(result==true){ alert(input.getAttribute('alert')); input.focus(); return false; }
	if(isBlank(input.value)) { alert(input.getAttribute('alert')); input.focus(); return false; }
	veritipi = input.getAttribute('veritipi');
	if(veritipi!=null) { fonksiyon = 'kontrol_' + veritipi + '("' + input.value + '");'; } else { fonksiyon=''; }
	sonuc = eval(fonksiyon); if(sonuc==false) { alert(input.getAttribute('alert')); input.focus(); return false; } }
	} return true;
}
