
// usage:	var tbl = element('table_id');
function element(obj) {
	
	var o = document.all ? document.all[obj] : document.getElementById(obj);
	return o;
}

// usage:	var newstr = mystr.trim();
String.prototype.trim = function(){
	return this.replace(/(^\s*)|(\s*$)/g, "")
}

function tarihSec(objID) {
	
	var o = document.getElementById(objID);
	var gun = document.getElementById(objID + "gun");
	var ay = document.getElementById(objID + "ay");
	var yil = document.getElementById(objID + "yil");
	var t   = o.value;
	o.value = "";
	if (gun != null) {
		if (!checkDate(gun.value + "/" + ay.value + "/" + yil.value)) {
			alert("Girilen tarih [" + gun.value + "/" + ay.value + "/" + yil.value + "] hatal?d?r.");
			gun.value = t.substr(6,8);
			ay.value = t.substr(4,6);
			o.value = t;
			return;
		}
    }
	if (yil != null)
		o.value = o.value +  yil.options[yil.selectedIndex].value;
	if (ay != null)
		o.value = o.value + ay.options[ay.selectedIndex].value;
	if (gun != null)
		o.value = o.value + gun.options[gun.selectedIndex].value;
}

function removeFormat(str)
{
	var i, j;
	var newStr = "";
	var found;

	for (i=0; i<str.length; i++)
	{
		found = false;
		for (j=1; j<arguments.length; j++)
			if (str.substring(i, i+1) == arguments[j])
				found = true;
		if (!found)
				newStr = newStr + str.substring(i, i+1);
	}
	return newStr;
}

function controlForm(checkedform) {
	if (!checkMustFields(checkedform))
		return false;
	// must olmayan textarea lar icin maxlength i gecmemelerini saglamak lazim
	return checkMaxLengths(checkedform);
}

function checkMaxLengths(checkedform)
{
	iArrayLength = checkedform.elements.length;
	for(i=0;i<iArrayLength;i++)
	{
		c = checkedform.elements[i];
		if (c.type=="text" || c.type=="textarea")
		{
			if (c.maxLength != null && c.value.trim().length > c.maxLength)
			{
				alert(c.mesaj + " alanına en fazla " + c.maxLength + " karater girebilirsiniz.");
				c.focus();
				return false;
			}
		}
	}
	return true;
}

/*function checkMustFields(checkedform){
	iArrayLength = checkedform.elements.length;
	for(i=0;i<iArrayLength;i++)
	{
		c = checkedform.elements[i];
		if(c.className=="MustField")
		{
			if (c.type=="text" || c.type=="textarea" || c.type=="password")
			{
				if (c.value.trim()=="")
				{
					alert(c.mesaj + " bos olamaz");
					c.focus();
					return false;
				}
				if (c.type == "textarea" && c.value.trim().length > c.maxLength)
				{
					alert(c.mesaj + " alanına en fazla " + c.maxLength + " karater girebilirsiniz.");
					c.focus();
					return false;
				}
			}
			if (c.type=="select-one" && c.options[c.selectedIndex].value==-1)
			{
				alert(c.mesaj + " secilmelidir");
				c.focus();
				return false;
			}

				
			if (c.type=="hidden" && c.frmType == "tarih")
			{
				if (!checkDate(c.value)) {
					alert(c.mesaj + " bilgisi hatalıdır. Lütfen kontrol ediniz.");
					document.getElementById(c.name + "gun").focus();
					return false;
				}
				if (c.degerler == "sonra" && checkTarihBugun(c.d, c.value) == 1) {
					alert(c.mesaj + " bugünden önce olamaz.");
					document.getElementById(c.name + "gun").focus();
					return false;
				}
				if (c.degerler == "once" && checkTarihBugun(c.d, c.value) == 2) {
					alert(c.mesaj + " bugünden sonra olamaz.");
					document.getElementById(c.name + "gun").focus();
					return false;
				}
			}

			if ((c.type=="text" || c.type=="password") && c.minLength > c.value.trim().length) {
				alert(c.mesaj + " en az " + c.minLength + " karakter olmalıdır.");
				c.focus();
				return false;
			}
			if (c.frmType == "kartNo" && c.value.trim().length<19) {
				alert(c.mesaj + " 16 karakter olmalıdır.");
				c.focus();
				return false;
			}
			if (c.frmType == "gtip" && removeFormat(c.value, ".").length < c.minGtipLength) {
                if (c.minGtipLength == 8)
    				alert(c.mesaj + " en az 8 karakter olmalıdır.");
				if (c.minGtipLength == 12)
    				alert(c.mesaj + " en az 12 karakter olmalıdır.");
				c.focus();
				return false;
			}
			if (c.frmType == "tutar" && removeFormat(c.value, ",")*1 == 0) {
				alert(c.mesaj + " alanına değer girilmelidir.");
				c.focus();
				return false;
			}
		}
	}
	return true;
}*/
// Gelen tarih ile gunun tarihini karsilastirir. Gelen tarih buyukse 1, kucukse 2 esitse 0 dondurur.
function checkTarihBugun(bugun, t) {
	var tarih = t;
	if (tarih < bugun)
		return 1;
	if (tarih > bugun)
		return 2;
	return 0;
}
// Gelen tarih sadece yil olarak karsilastirir
function checkTarihBuYil(buYil, t) {
	var tarih = t;
	if (tarih < buYil)
		return 1;
	if (tarih > buYil)
		return 2;
	return 0;
}

// 23/12/2002 formatlarinda gelen tarihler karsilastirilir. d1 buyukse 1, d2, 2, esitse 0 doner.
function compareDate(d1, d2) {
	var t1 = d1.substring(6,10) + d1.substring(3,5) + d1.substring(0,2);
	var t2 = d2.substring(6,10) + d2.substring(3,5) + d2.substring(0,2);
	if (t1 > t2)
		return 1;
	if (t2 > t1)
		return 2;
	return 0;
}

/*function checkLength(inputBox, minLength, maxLength, mesaj)
{
	var inputVal = document.getElementById(inputBox).value;

	if (inputVal.length < minLength*1) {
		alert (mesaj + " en az " + minLength + " karakter olmalıdır");
		return false;
	}
	if (inputVal.length > maxLength*1) {
		alert (mesaj + " en fazla " + maxLength + " karakter olmalıdır");
		return false;
	}
	return true;
}*/

function isLeapYear( year ){
  return ((0 == (year%4)) && ( (0 != (year%100)) || (0 == (year%400))));
}
var arrAylar = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
function checkDate(tarih) {
	var gun = tarih.substr(0,2)*1;
	var ay  = arrAylar[tarih.substr(3,2)*1-1];
	if (isLeapYear(tarih.substr(6,4)*1) && ay==2)
			ay = 29;
	if (ay < gun)
			return false;
	return true;
}

function islemSec(s) {
	document.frm.service.value=s;
	element('frm').submit();
}

function getBelgeTuru(belgeNo) {
	tmp = getRadioValue(belgeNo);

	return tmp.substring(5,tmp.indexOf("-"));
}

function getRadioValue(radioName) {
	if (radioName.length != null) {
		count = radioName.length;
		for (i=0; i<count; i++)
			if (radioName[i].checked)
				return radioName[i].value;
	}

	return radioName.value;
}

// tutar tag ine girilen rakamin precision ve scale inin
// istenen degerlere uyup uymadigini kontrol eder
// t parametresine removeFormat yapilmis olmalidir.
function checkTutarPrecScale(t, p, s)
{
  var dotpos = t.indexOf(".");
  if (dotpos == -1)
    return t.length <= p;
  var dec = t.substring(0, dotpos);
  var frac = t.substring(dotpos+1, t.length);

  if (dec.length > p)
    return false;
  if (frac.length > s)
    return false;
  return (dec.length + frac.length) <= (p + s);
}

function format_decimal(str) {
	var newStr="";
	var i;

	for (i = 0; i < str.length; i++) {
		if (i != 0 && ((str.length-i) % 3) == 0)
    		newStr += ".";
		newStr += str.charAt(i);
	}
	return newStr;
}
function format_number(control, isdecimal)
{
try
{
	var t = control.value;
	if (t == "0" || t == "")
		return;
	t = removeFormat(t, ".");
	var d = "";
	var dotIndex = -1;
	if (isdecimal)
	{
		dotIndex = t.indexOf(",");
		if (dotIndex != -1)
		{
			d = t.substring(dotIndex + 1);
			t = t.substring(0, dotIndex);
		}
                else
                  d = "00";
	}
	var i = 0;

	while (i < t.length && t.substring(i,i+1) == "0")
		i++;
	if (i == 1 && dotIndex == 1) // 0, yazilabilsin diye donuyoruz
		return;
	if (i > 0)
	{
		t = t.substring(i);
		if (isdecimal)
			t = format_decimal(t);
		if (t == "")
			t = "0";
		if (dotIndex != -1)
			t += "," + d;
	}
	else
	{
		if (isdecimal)
			t = format_decimal(t);
		if (dotIndex != -1)
		{
			if (t == "")
				t = "0";
			t = t + "," + d;
		}
	}
        var obj = window.event.srcElement;
	obj.value = t;
	}
	catch(e){alert(e.message);
	}

}

function setCaretToTheEnd() {
      try
      {
        var obj = window.event.srcElement;
        var t = obj.value;
        if (t!="") {
	      var tr = obj.createTextRange();
		tr.collapse(true);
		tr.moveStart( "character", t.length );
	    	tr.moveEnd( "character", t.length );
	        tr.select();
//		obj.focus();
        }
        }
        catch(e){alert(e.message);}
      
}

function keypress_number(isdecimal) {

	try
	{
		var kc = window.event.keyCode;
		var t = window.event.srcElement.value ;
		
			if (isdecimal) 
			{
				var idxOfComma = t.indexOf(',');
				if (idxOfComma != -1) {
					if( (kc >= 48 && kc <= 57) == false) 
					{
						window.event.keyCode = 0;
					}
					else 
					{
						var rNmb = t.substring(idxOfComma+1);
						if (rNmb.length == 2)
						window.event.keyCode = 0;
					}
				}
				else 
				{
					if ((kc >= 48 && kc <= 57 || kc == 44) == false) 
					{
						window.event.keyCode = 0;
					}
		            
					var ft = removeFormat(t, ".");
					if (ft.length >= 14 && (kc >= 48 && kc <= 57)) {
						window.event.keyCode = 0;
					}
				}
			}
			else 
			{
				if ((kc >= 48 && kc <= 57) == false) 
				{
					window.event.keyCode = 0;
				}
				
				
			}
	}
    catch(e){alert(e.message);}
        
	
}
// gonderilen sayi degerinin string e donusturur. noktadan sonra istenen digit kadar
// digit olmasini saglar
function toFixed(n, sc)
{
	var i = 0;
	var s = "" + n;
	try
	{
	var index = s.indexOf('.');
	
	if (index != -1) {// nokta var
		if (sc == 0) // noktadan sonra istenmiyor ise noktayi atalim
			s = s.substring(0, index);
		else
		{
			var dc = s.length - index - 1; // noktadan sonra kac digit oldugunu bulalim

			if (dc < sc) { // eger istenenden az digit varsa ekleyelim
				while (dc < sc) {
					s += "0";
					dc++;
				}
			}
			else if (dc != sc) // istenenden fazla varsa keselim
				s = s.substring(0, index + 1 + sc);
		}
	}
	else if (sc > 0) { // nokta yok, o zaman ekleyelim
		s += ".";
		for (i = 0; i < sc; i++)
			s += "0";
	}
	}
        catch(e){alert(e.message);}
	return s;
}
