// (c) 2004 Turuncu Ltd.
// Written by Erhan KARACA
 

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('Yanlis Tarih!');
			   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 BrowserDetector()
{
   var ua = navigator.userAgent.toLowerCase(); 

   // browser name
   this.isGecko     = (ua.indexOf('gecko') != -1 && ua.indexOf('safari') == -1);
   this.isMozilla   = (this.isGecko && ua.indexOf('gecko/') + 14 == ua.length);
   this.isNS        = ( (this.isGecko) ? (ua.indexOf('netscape') != -1) : ( (ua.indexOf('mozilla') != -1) && (ua.indexOf('spoofer') == -1) && (ua.indexOf('compatible') == -1) && (ua.indexOf('opera') == -1) && (ua.indexOf('webtv') == -1) && (ua.indexOf('hotjava') == -1) ) );
   this.isIE        = ( (ua.indexOf('msie') != -1) && (ua.indexOf('opera') == -1) && (ua.indexOf('webtv') == -1) ); 
   this.isSafari    = (ua.indexOf('safari') != - 1);
   this.isOpera     = (ua.indexOf('opera') != -1); 
   this.isKonqueror = (ua.indexOf('konqueror') != -1 && !this.isSafari); 
   this.isIcab      = (ua.indexOf('icab') != -1); 
   this.isAol       = (ua.indexOf('aol') != -1); 
   
   // spoofing and compatible browsers
   this.isIECompatible = ( (ua.indexOf('msie') != -1) && !this.isIE);
   this.isNSCompatible = ( (ua.indexOf('mozilla') != -1) && !this.isNS && !this.isMozilla);
   
   // browser version
   this.versionMinor = parseFloat(navigator.appVersion); 
   
   // correct version number
   if (this.isNS && this.isGecko) {
      this.versionMinor = parseFloat( ua.substring( ua.lastIndexOf('/') + 1 ) );
   }
   else if (this.isIE && this.versionMinor >= 4) {
      this.versionMinor = parseFloat( ua.substring( ua.indexOf('msie ') + 5 ) );
   }
   else if (this.isMozilla) {
      this.versionMinor = parseFloat( ua.substring( ua.indexOf('rv:') + 3 ) );
   }
   else if (this.isSafari) {
      this.versionMinor = parseFloat( ua.substring( ua.lastIndexOf('/') + 1 ) );
   }
   else if (this.isOpera) {
      if (ua.indexOf('opera/') != -1) {
         this.versionMinor = parseFloat( ua.substring( ua.indexOf('opera/') + 6 ) );
      }
      else {
         this.versionMinor = parseFloat( ua.substring( ua.indexOf('opera ') + 6 ) );
      }
   }
   else if (this.isKonqueror) {
      this.versionMinor = parseFloat( ua.substring( ua.indexOf('konqueror/') + 10 ) );
   }
   else if (this.isIcab) {
      if (ua.indexOf('icab/') != -1) {
         this.versionMinor = parseFloat( ua.substring( ua.indexOf('icab/') + 6 ) );
      }
      else {
         this.versionMinor = parseFloat( ua.substring( ua.indexOf('icab ') + 6 ) );
      }
   }
   
   this.versionMajor = parseInt(this.versionMinor); 
   this.geckoVersion = ( (this.isGecko) ? ua.substring( (ua.lastIndexOf('gecko/') + 6), (ua.lastIndexOf('gecko/') + 14) ) : -1 );
   
   // dom support
   this.isDOM1 = (document.getElementById);
   this.isDOM2Event = (document.addEventListener && document.removeEventListener);
   
   // css compatibility mode
   this.mode = document.compatMode ? document.compatMode : 'BackCompat';

   // platform
   this.isWin   = (ua.indexOf('win') != -1);
   this.isWin32 = (this.isWin && ( ua.indexOf('95') != -1 || ua.indexOf('98') != -1 || ua.indexOf('nt') != -1 || ua.indexOf('win32') != -1 || ua.indexOf('32bit') != -1 || ua.indexOf('xp') != -1) );
   this.isMac   = (ua.indexOf('mac') != -1);
   this.isUnix  = (ua.indexOf('unix') != -1 || ua.indexOf('sunos') != -1 || ua.indexOf('bsd') != -1 || ua.indexOf('x11') != -1)
   this.isLinux = (ua.indexOf('linux') != -1);
   
   // specific browser shortcuts
   this.isNS4x = (this.isNS && this.versionMajor == 4);
   this.isNS40x = (this.isNS4x && this.versionMinor < 4.5);
   this.isNS47x = (this.isNS4x && this.versionMinor >= 4.7);
   this.isNS4up = (this.isNS && this.versionMinor >= 4);
   this.isNS6x = (this.isNS && this.versionMajor == 6);
   this.isNS6up = (this.isNS && this.versionMajor >= 6);
   this.isNS7x = (this.isNS && this.versionMajor == 7);
   this.isNS7up = (this.isNS && this.versionMajor >= 7);
   
   this.isIE4x = (this.isIE && this.versionMajor == 4);
   this.isIE4up = (this.isIE && this.versionMajor >= 4);
   this.isIE5x = (this.isIE && this.versionMajor == 5);
   this.isIE55 = (this.isIE && this.versionMinor == 5.5);
   this.isIE5up = (this.isIE && this.versionMajor >= 5);
   this.isIE55up = (this.isIE && this.versionMinor >= 5.5);
   this.isIE6x = (this.isIE && this.versionMajor == 6);
   this.isIE6up = (this.isIE && this.versionMajor >= 6);
   this.isIE7x = (this.isIE && this.versionMajor == 7);
   this.isIE7up = (this.isIE && this.versionMajor >= 7);
   
   this.isIE4xMac = (this.isIE4x && this.isMac);
}

var browser = new BrowserDetector();

function showElement (elementId)
{
  if (browser.isDOM1)
  {
    var element = document.getElementById(elementId);
    
    if (element)
    {
      element.style.display = "block";
      element.style.position = "relative";
      element.style.visibility = "visible";
    }
  }
  
  else if (browser.isNS && browser.isNS4up)
  {
    var element = eval("document." + elementId);
    
    if (element)
    {
      element.visibility = "show";
    }
  }
  
  else if (browser.isIE && browser.isIE4up)
  {
    var element = eval(elementId);

    if (element)
    {
      element.style.display = "block";
      element.style.position = "relative";
      element.style.visibility = "visible";
    }
  }
}

function hideElement (elementId)
{
  if (browser.isDOM1)
  {
    var element = document.getElementById(elementId);
    
    if (element)
    {
      element.style.display = "none";
      element.style.position = "relative";
      element.style.visibility = "hidden";
    }
  }
  
  else if (browser.isNS && browser.isNS4up)
  {
    var element = eval("document." + elementId);
    
    if (element)
    {
      element.visibility = "hide";
    }
  }
  
  else if (browser.isIE && browser.isIE4up)
  {
    var element = eval(elementId);

    if (element)
    {
      element.style.display = "none";
      element.style.position = "relative";
      element.style.visibility = "hidden";
    }
  }
}
function initToggleMenu (opened, start, end)
{
  for (var x = start; x <= end; x++)
  {
    hideElement("toggleMenuParent" + x);
	hideElement("toggleMenuChild" + x);
  }
  
  for (var x = start; x <= end; x++)
  {
    showElement("toggleMenuParent" + x);
  }
  
  if (opened >= start && opened <= end)
  {
    showElement("toggleMenuChild" + opened);
  }
}

function getToggleMenuElement (id)
{
  var element;
  
  if (browser.isDOM1)
  {
    element = document.getElementById(id);
  }
  
  else if (browser.isNS && browser.isNS4up)
  {
    element = eval("document." + id);
  }
  
  else if (browser.isIE && browser.isIE4up)
  {
    element = eval(id);
  }
  
  else
  {
    element = null;
  }
  
  return element;
}

function swapToggleMenu (id, start, end)
{
  var element = getToggleMenuElement("toggleMenuChild" + id);

  if (element)
  {
    var state = (element.style.visibility && element.style.visibility == "hidden") ? "show" : "hide";

    for (var x = start; x <= end; x++)
    {
      if (x == id)
      {
        if (state == "show")
        {
          showElement("toggleMenuChild" + x);
        }

        else
        {
          hideElement("toggleMenuChild" + x);
        }
      }

      else
      {
        hideElement("toggleMenuChild" + x);
      }
    }
  }
}