/*
 * DIKKAT!!!!!!
 * layout icerisinde asagidaki gibin tanimlanmali!
 *<script>var jsUtil = new Util();</script>
 */


function Util() {
}


Util.prototype.isUndefined = function(a) {
    return typeof a == 'undefined';
}

Util.prototype.round = function ( number, digits ){
	var multiplicant = Math.pow( 10, digits );
	return Math.round( number * multiplicant ) / multiplicant;
	
}

Util.prototype.getSelectValues = function getSelectValues(CONTROL){
	var selectedValues = "";
	for(var i = 0;i < CONTROL.length;i++){
		if(CONTROL.options[i].selected == true){
			selectedValues += "&"+CONTROL.name + "=" + CONTROL.options[i].value;
		}
	}
	return selectedValues;
}

Util.prototype.getCheckedValue = function getCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}

Util.prototype.setCheckedValue = function setCheckedValue(radioObj,val) {
	if(radioObj){
		var radioLength = radioObj.length;
		if(radioLength == undefined){
			if(radioObj.value == val)
				radioObj.checked = true;
		}
				
		for(var i = 0; i < radioLength; i++) {
			if(radioObj[i].value == val) {
				radioObj[i].checked = true;
			}
		}
	}
}

Util.prototype.setSelectedItemOfSelect = function setSelectedItemOfSelect(obj,val){

	var len = obj.length;
	for(var i=0;i<len;i++){
		if(obj[i].value==val){
			obj.selectedIndex = i;
			break;
		}
	}	
	try{	
		obj.onchange();		
	}catch(e){
	}
}	

/**
	Gonderilen stringi left ve right trim eder.
*/
Util.prototype.trim = function(inputString){
	if (typeof inputString != "string") { return inputString; }
	return jsUtil.rTrim(jsUtil.lTrim(inputString));
}
/**
	Gonderilen stringi left  trim eder.
*/
Util.prototype.lTrim = function(inputString){
	if (typeof inputString != "string") { return inputString; }
	var retValue = inputString;
	var ch = retValue.substring(0, 1);
	while (ch == " " || ch == '\t' || ch == '\n') {
		retValue = retValue.substring(1, retValue.length);
		ch = retValue.substring(0, 1);
	}
	return retValue;
}

/**
	Gonderilen stringi right trim eder.
*/

Util.prototype.rTrim = function(inputString){
	if (typeof inputString != "string") { return inputString; }
	var retValue = inputString;
	var ch = retValue.substring(0, 1);
	ch = retValue.substring(retValue.length-1, retValue.length);
	while (ch == " "|| ch == '\t' || ch == '\n') { 
	retValue = retValue.substring(0, retValue.length-1);
	ch = retValue.substring(retValue.length-1, retValue.length);
	}
	return retValue;
}
/**
	Goderilen stringin icindeki bosluklari alir.
*/
Util.prototype.inTrim = function(inputString){
	if (typeof inputString != "string") { return inputString; }
	var retValue = inputString;
	var ch = retValue.substring(0, 1);
	ch = retValue.substring(retValue.length-1, retValue.length);
	while (retValue.indexOf("  ") != -1) { 
      retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length); 
   	}
	return retValue;
}

Util.prototype.replace = function(argVal, x, y){
  argVal=argVal.toString();
  x=x.toString();
  y=y.toString();
  
  if ((x == y) || (parseInt(y.indexOf(x)) > -1)) {
    return -1;
  }
 
  while (argVal.indexOf(x) != -1) {
    var lead = argVal.substring(0, argVal.indexOf(x));
    var trail = argVal.substring(argVal.indexOf(x) + x.length,
 argVal.length);
    argVal= lead + y + trail;
  }
 
  return argVal;
}


/**
	gonderilen objenin onKeyDown eventinde kullanilir,object icine yazilanlari upper yapar
*/
function toUpper(obj) {
	if((event.keyCode<37 || event.keyCode>40) && event.keyCode!=8){
		var tmp="";
		for(var i=0;i<obj.value.length;i++){
			if(obj.value.charAt(i)=="i")
				tmp +="?";
			else
				tmp += obj.value.charAt(i);
		}

		
	    obj.value = tmp.toUpperCase();
	}
}

/**
	gonderilen stringin bos olup olmadigini kontrol eder

*/
function isblank(s){
	if (s===null) return true;
	if (s=="") return true;
	for(var i=0; i<s.length;i++){
		var c = s.charAt(i);
		if ( (c != ' ') && (c != '\n') && (c != '\t') ) return false;
	}
	return true;
}

Util.prototype.isValidEmail = function(str){
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	return filter.test(str);
}


//17.08.2006
Util.prototype.isValidDate = function (s){
						//  /^\d\d[\/.]\d\d[\/.]\d\d\d\d$/
						//  /^\d{4}\.\d{2}.\d{2}$/
	if(s.substr(0,10).match(/^\d\d[\/.]\d\d[\/.]\d\d\d\d$/)){
		if(parseInt(s.substr(3,2))==2 && daysInFebruary(s.substr(6,4)) < s.substr(0,2) )
			return false;

		if(daysArray(parseInt(s.substr(3,2))) < s.substr(0,2))		
			return false;
	}
return true;

}

function daysInFebruary (year){
   return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}

function daysArray(i) {
  if (i==4 || i==6 || i==9 || i==11) {return 30}
  if (i==2) {return 29}
  return 31;
}



