// (c) 2004 Turez Ltd.
// Written by izzet uslu
 

function rakammi(r)
{
 var test = "" + r;
 if (test == "0" || test == "1" || test == "2" || test == "3" || test == "4"
 || test == "5" || test == "6" || test == "7" || test == "8" || test == "9" || test == ",")
  {
  return true;
  }
 return false;
}
 
function rakammi2(r)
{
 var test = "" + r;
 if (test == "0" || test == "1" || test == "2" || test == "3" || test == "4"
 || test == "5" || test == "6" || test == "7" || test == "8" || test == "9")
  {
  return true;
  }
 return false;
}
 
function noktalarikaldir(str)
{
 var sonuc = "";
 for (var k = 0; k < str.length; k++)
   {
   var c = str.substring(k, k+1);
   if (rakammi(c))
   {
    if(c!=".")sonuc+=c;
   }
   }
 return sonuc;
}
 
function noktalarikaldir2(str)
{
 var sonuc = "";
 for (var k = 0; k < str.length; k++)
   {
   var c = str.substring(k, k+1);
   if (rakammi2(c))
   {
    if(c!=".")sonuc+=c;
   }
   }
 return sonuc;
}
 
function noktalama(deger)
{
 var re = /(-?\d+)(\d{3})/
 var sonuc = ""
  var num = deger;
  while (re.test(num)) 
  {
   num = num.replace(re,"$1.$2")
  }
  var buldum = 0;
     for (var k = 0; k < num.length; k++)
   {
    var c = num.substring(k, k+1);
    if(buldum==1)
    {
    if(c!="." && c!=",")sonuc+=c;
    }
    else
    {
       sonuc+=c;
    }
    if(c==",")buldum=1;
   }
  return sonuc;
}
 
function noktalama2(deger)
{
 var re = /(-?\d+)(\d{3})/
  var num = deger;
  while (re.test(num)) 
  {
   num = num.replace(re,"$1.$2")
  }
  return num;
}
 
function virgullu(formalani)
{
 formalani.value=noktalama(noktalarikaldir(formalani.value));
}
 
function virgulsuz(formalani)
{
 formalani.value=noktalama2(noktalarikaldir2(formalani.value));
}
 
function to_float(str)
{
 strx = noktalarikaldir(str);
 var sonuc = "";
 for (var k = 0; k < strx.length; k++)
   {
   var c = strx.substring(k, k+1);
   if(c==","){sonuc+=".";}else{sonuc+=c;}
   }
    return parseFloat(sonuc);
}
 
function formatli(num)
{
 str = new String(num);
 var sonuc = "";
 for (var k = 0; k < str.length; k++)
   {
   var c = str.substring(k, k+1);
   if(c=="."){sonuc+=",";}else{sonuc+=c;}
   }
 return noktalama(sonuc);
}
 
function rakamgir(formalani)
{
 formalani.value=noktalarikaldir2(formalani.value);
}
 
function tarihformati(str)
{
 var sonuc = "";
 for (var k = 0; k < str.length; k++)
   {
   var c = str.substring(k, k+1);
      if (k==2 || k==4)sonuc+='.';
    sonuc+=c;
   }
 return sonuc;
}
 
function tarihgir(formalani)
{
   formalani.value=tarihformati(noktalarikaldir2(formalani.value))
   if(formalani.value.length==10)
   {
		   if(!checkValidDate(formalani.value.substr(6,4),formalani.value.substr(3,2),formalani.value.substr(0,2)))
		   {
			   alert('Invalid date!');
			   formalani.value='';
		   }
   }
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
function ali()
{
	window.opener.location.reload();
	window.close("parent.window.close()");
}

// Verigirilmesi zorunlu alanları kontrol eder ve focus yapar Turgut 
function checkCompArray(aCheckComp){
  for(i=0;i<aCheckComp.length;i++){
    zx=aCheckComp[i][0];
                if(!zx)return false;

                if(zx.type=='select-one'){ 
      if(zx.options[zx.selectedIndex].value==null ||zx.options[zx.selectedIndex].value.length==0){
                    alert('[ '+String(aCheckComp[i][1])+' ] alanına bilgi girmelisiniz...');
                        zx.focus();
                        return false;
                  }
                }else{
      if(zx.value==null ||zx.value.length==0){
                    alert('[ '+String(aCheckComp[i][1])+' ] alanına bilgi girmelisiniz...');
                        if(zx.type!='hidden')zx.focus();
                        return false;
                  }
    }
  }
        return true;
}

function dateAdd(intval, numb, base)
{
	/*intval is YYYY, M, D, H, N, S as in VBscript; numb is amount +/-; base is javascript date object*/
	switch(intval){
		case "M":
			base.setMonth(base.getMonth() + numb);
			break;
		case "YYYY":
			base.setFullYear(base.getFullYear() + numb);
			break;
		case "D":
			base.setDate(base.getDate() + numb);
			break;
		case "H":
			base.setHours(base.getHours() + numb);
			break;
		case "N":
			base.setMinutes(base.getMinutes() + numb);
			break;
		case "S":
			base.setSeconds(base.getSeconds() + numb);
			break;
		default:
	}
	return base
}

function y2k(number) 
{ 
	return (number < 1000) ? number + 1900 : number; 
}

function GunFarki(sontarih,ilktarih) 
{
    var difference =
        Date.UTC(y2k(sontarih.getYear()),sontarih.getMonth(),sontarih.getDate(),0,0,0)
      - Date.UTC(y2k(ilktarih.getYear()),ilktarih.getMonth(),ilktarih.getDate(),0,0,0);
    return difference/1000/60/60/24;
}

function CocukYasiniBul(dogumtarihi,baslangictarihi)
{
    var dogum = new Date(dogumtarihi.substring(6,10),dogumtarihi.substring(3,5)-1,dogumtarihi.substring(0,2));
    var simdi = new Date(baslangictarihi.substring(6,10),baslangictarihi.substring(3,5)-1,baslangictarihi.substring(0,2));
	
	return parseInt((GunFarki(simdi,dogum))/365);
}

function TarihGunEkle(baslangictarihi,gun)
{
    var simdi= new Date(baslangictarihi.substring(6,10),baslangictarihi.substring(3,5)-1,baslangictarihi.substring(0,2)) 
    simdi2=dateAdd("D", gun*1, simdi);
	ay=simdi2.getMonth()+1 ;
	if (ay<10) ay='0'+ay  ;
	gun=simdi2.getDate() ;
	if (gun<10) gun='0'+gun  ;	
    return gun+'.'+ay+'.'+simdi2.getYear()  ;
}


function checkValidDate(dateYear,dateMonth,dateDay) {
    // dateStr must be of format month day year with either slashes
    // or dashes separating the parts. Some minor changes would have
    // to be made to use day month year or another format.
    // This function returns True if the date is valid.
    if ( (dateMonth == "") || (dateDay == "") || (dateYear == "") ) { return false; }
    // if any non-digits in the month, invalid date
    for (var x=0; x < dateMonth.length; x++) {
        var digit = dateMonth.substring(x, x+1);
        if ((digit < "0") || (digit > "9")) { return false; }
    }
    // convert the text month to a number
    var numMonth = 0;
    for (var x=0; x < dateMonth.length; x++) {
        digit = dateMonth.substring(x, x+1);
        numMonth *= 10;
        numMonth += parseInt(digit);
    }
    if ((numMonth <= 0) || (numMonth > 12)) { return false; }
    // if any non-digits in the day, invalid date
    for (var x=0; x < dateDay.length; x++) {
        digit = dateDay.substring(x, x+1);
        if ((digit < "0") || (digit > "9")) { return false; }
    }
    // convert the text day to a number
    var numDay = 0;
    for (var x=0; x < dateDay.length; x++) {
        digit = dateDay.substring(x, x+1);
        numDay *= 10;
        numDay += parseInt(digit);
    }
    if ((numDay <= 0) || (numDay > 31)) { return false; }
    // February can't be greater than 29 (leap year calculation comes later)
    if ((numMonth == 2) && (numDay > 29)) { return false; }
    // check for months with only 30 days
    if ((numMonth == 4) || (numMonth == 6) || (numMonth == 9) || (numMonth == 11)) { 
        if (numDay > 30) { return false; } 
    }
    // if any non-digits in the year, invalid date
    for (var x=0; x < dateYear.length; x++) {
        digit = dateYear.substring(x, x+1);
        if ((digit < "0") || (digit > "9")) { return false; }
    }
    // convert the text year to a number
    var numYear = 0;
    for (var x=0; x < dateYear.length; x++) {
        digit = dateYear.substring(x, x+1);
        numYear *= 10;
        numYear += parseInt(digit);
    }
    // Year must be a 2-digit year or a 4-digit year
    if ( (dateYear.length != 2) && (dateYear.length != 4) ) { return false; }
    // if 2-digit year, use 50 as a pivot date
    if ( (numYear < 50) && (dateYear.length == 2) ) { numYear += 2000; }
    if ( (numYear < 100) && (dateYear.length == 2) ) { numYear += 1900; }
    if ((numYear <= 0) || (numYear > 9999)) { return false; }
    // check for leap year if the month and day is Feb 29
    if ((numMonth == 2) && (numDay == 29)) {
        var div4 = numYear % 4;
        var div100 = numYear % 100;
        var div400 = numYear % 400;
        // if not divisible by 4, then not a leap year so Feb 29 is invalid
        if (div4 != 0) { return false; }
        // at this point, year is divisible by 4. So if year is divisible by
        // 100 and not 400, then it's not a leap year so Feb 29 is invalid
        if ((div100 == 0) && (div400 != 0)) { return false; }
    }
    // date is valid
    return true;
}

function OBJshow(nr)
{
	if (document.layers)
	{
		vista = 'show';
		document.layers[nr].visibility = vista;
	}
	else if (document.all)
	{
		vista = 'visible';
		document.all[nr].style.visibility = vista;
	}
	else if (document.getElementById)
	{
		vista = 'visible';
		document.getElementById(nr).style.visibility = vista;

	}
}


function OBJhide(nr)
{
	if (document.layers)
	{
		vista = 'hide';
		document.layers[nr].visibility = vista;
	}
	else if (document.all)
	{
		vista = 'hidden';
		document.all[nr].style.visibility = vista;
	}
	else if (document.getElementById)
	{
		vista = 'hidden';
		document.getElementById(nr).style.visibility = vista;

	}
}
