function IsDate(dateStr) {
    if(dateStr=='undefined') return false;    
    if(dateStr==null) return false;    
	var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;	
	var matchArray = dateStr.match(datePat);
	
	if (matchArray == null) {
		return false;
	}
	
	day = matchArray[1];
	month = matchArray[3];
	year = matchArray[5];
	
	if (month < 1 || month > 12) { // check month range
		return false;
	}
	
	if (day < 1 || day > 31) {
		return false;
	}
	
	if ((month==4 || month==6 || month==9 || month==11) && day==31) {
		return false;
	}
	
	if (month == 2) { // check for february 29th
		var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
		if (day > 29 || (day==29 && !isleap)) {
			return false;
		}
	}
	return true;
}

function IsTime(strVal) {
	var hours, minutes;
	if (strVal.length != 5 || strVal.substring(2,3)!=":")	{ return false;	}
	//saat kysmy
	hours=strVal.substring(0,2);
	if (isNaN(hours)==true) 	{ return false;	}
	if (hours.substring(0,1)=='.' || hours.substring(1,2)=='.')	{ return false;	}
	if ((parseInt(hours) >= 0 && parseInt(hours) < 24)==false) 	{ return false;}
	//dakika kysmy
	minutes=strVal.substring(3,5);
	if (isNaN(minutes)==true) 	{ return false;}
	if (minutes.substring(0,1)=='.' || minutes.substring(1,2)=='.')	{ return false;	}
	if ((parseInt(minutes) >= 0 && parseInt(minutes) < 60)==false) 	{ return false;}
	return true;
}

function IsNumeric(sText){   
   var ValidChars = "0123456789.";
   var Char;
   if(sText=='') return false;
   for (i = 0; i < sText.length; i++)
      {
      Char = sText.charAt(i);
      if (ValidChars.indexOf(Char) == -1)
         {
         return false;
         }
      }
   return true;
}

function IsContainNumeric(sText){   
    return false;
   //var Charx;
   //if(sText=='') return false;
   //for (i = 0; i < sText.length; i++)      {
   //   Charx = sText.substring(i,1);
   //   if(IsNumeric(Charx)==true) 
   //      {
   //      return true;
   //      }      
   // }
   //return false;
}

function dateAdd(p_Interval, p_Number, p_Date){
	//if(!IsDate(p_Date)){return "invalid date: '" + p_Date + "'";}
	if(isNaN(p_Number)){return "invalid number: '" + p_Number + "'";}	

	p_Number = new Number(p_Number);
	var dt = new Date(p_Date);
	switch(p_Interval.toLowerCase()){
		case "yyyy": {// year
			dt.setFullYear(dt.getFullYear() + p_Number);
			break;
		}
		case "q": {		// quarter
			dt.setMonth(dt.getMonth() + (p_Number*3));
			break;
		}
		case "m": {		// month
			dt.setMonth(dt.getMonth() + p_Number);
			break;
		}
		case "y":		// day of year
		case "d":		// day
		case "w": {		// weekday
			dt.setDate(dt.getDate() + p_Number);
			break;
		}
		case "ww": {	// week of year
			dt.setDate(dt.getDate() + (p_Number*7));
			break;
		}
		case "h": {		// hour
			dt.setHours(dt.getHours() + p_Number);
			break;
		}
		case "n": {		// minute
			dt.setMinutes(dt.getMinutes() + p_Number);
			break;
		}
		case "s": {		// second
			dt.setSeconds(dt.getSeconds() + p_Number);
			break;
		}
		case "ms": {		// second
			dt.setMilliseconds(dt.getMilliseconds() + p_Number);
			break;
		}
		default: {
			return "invalid interval: '" + p_Interval + "'";
		}
	}
	return dt;
}

function datePart(p_Interval, p_Date){
	//if(!IsDate(p_Date)){return "invalid date: '" + p_Date + "'";}

	var dtPart = new Date(p_Date);
	switch(p_Interval.toLowerCase()){
		case "yyyy": return dtPart.getFullYear();
		case "q": return parseInt(dtPart.getMonth()/3)+1;
		case "m": return dtPart.getMonth()+1;
		case "y": return dateDiff("y", "1/1/" + dtPart.getFullYear(), dtPart);			// day of year
		case "d": return dtPart.getDate();
		case "w": return dtPart.getDay();	// weekday
		case "ww":return dateDiff("ww", "1/1/" + dtPart.getFullYear(), dtPart);		// week of year
		case "h": return dtPart.getHours();
		case "n": return dtPart.getMinutes();
		case "s": return dtPart.getSeconds();
		case "ms":return dtPart.getMilliseconds();	// millisecond	// <-- extension for JS, NOT available in VBScript
		default: return "invalid interval: '" + p_Interval + "'";
	}
}

var popUpWin=0;
function popUpWindow(URLStr, left, top, width, height,scr,rsz)
{
if(popUpWin)
{
    if(!popUpWin.closed) popUpWin.close();
}
popUpWin = open(URLStr, 'popUpWin', 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars='+scr+',resizable='+rsz+',copyhistory=no,width='+width+',height='+height+',left='+left+', top='+top+',screenX='+left+',screenY='+top+'');
}

function SetImgUpload(chk){
	var MostTopTD=chk.parentNode.parentNode;
	if(chk.checked){
		MostTopTD.nextSibling.childNodes.item(0).disabled=true;
	}else{
		MostTopTD.nextSibling.childNodes.item(0).disabled=false;
	}
}
function ShowBigImage(argPict){
    var BigPict=argPict.src.substring(0,parseInt(argPict.src.length)-6); //thumnail'in sonundaki _t 'yi siler
    if (BigPict==""){
    
    }else{
        BigPict += '.jpg';
        popUpWindow("Pict_Show.aspx?Src=" + BigPict,0,0,100,100,"no","no");    
    }
}

function IsEmailValid(checkThisEmail)	{
    var myEMailIsValid = true;
    var myAtSymbolAt = checkThisEmail.indexOf('@');
    var myLastDotAt = checkThisEmail.lastIndexOf('.');
    var mySpaceAt = checkThisEmail.indexOf(' ');
    var myLength = checkThisEmail.length;

    if (myAtSymbolAt < 1 ) 
     {myEMailIsValid = false}

    if (myLastDotAt < myAtSymbolAt) 
     {myEMailIsValid = false}

    if (myLength - myLastDotAt <= 2) 
     {myEMailIsValid = false}

    if (mySpaceAt != -1) 
     {myEMailIsValid = false}
     
    return myEMailIsValid
}
//numeric ve maximum value kontrol
function checkNum(obj,capt,minval,maxval) {
    if(obj.value=='')	{
        alert('Please enter ' + capt);
        obj.focus();
        return false;
    } 
    if(obj.value!='' && IsNumeric(obj.value)==false)	{
        alert('Please enter ' + capt + ' as numeric');
        obj.focus();
        return false;
    } 
    if(maxval!='' && IsNumeric(obj.value))	{
        if(obj.value>parseInt(maxval))    {
            alert('Max value is ' + maxval + ' for ' + capt);
            obj.focus();
            return false;
        }		        
    } 
    if(minval!='' && IsNumeric(obj.value))	{        
        if(obj.value<parseInt(minval))    {
            alert('Min value is ' + minval + ' for ' + capt);
            obj.focus();
            return false;
        }		        
    }
    return true;
}
//calendar user control'unun shared scripts
var extracallscript='';
function CalendarObj_Click(objId,objCal,objHRef,callscr){    
    var textObj=MM_findObj(objId);
    extracallscript=callscr;
	objCal.setReturnFunction("CalendarObj_RetFunc");
	objCal.select(objHRef.id,'dd/MM/yyyy',textObj);
}

function CalendarObj_RetFunc(objHRef,objId,y,m,d){
    var xDay=new String(d);
	var xMon=new String(m);
	if (xDay<10){
        xDay='0' + xDay;
    }
    if (xMon<10){
        xMon='0' + xMon;
    }		    
    //alert(xDay + '/' + xMon + '/' + y);
    MM_findObj(objId).value=xDay + '/' + xMon + '/' + y;
    //MM_findObj(objHRef).parentNode.childNodes.item(0).value=xDay + '/' + xMon + '/' + y;
	if(extracallscript!='') {	    
	    eval(extracallscript);
	}
    
}

function CalendarObj_Value(objId)    {    
    return MM_findObj(objId+'_txtDate').value;   //MM_findObj(objId+'_txtDate').parentNode.childNodes.item(0).value;
}

function CalendarObj_ValueSet(objId,value)    {            
	var xDay = datePart('d',value);
	var xMon = datePart('m',value);	
	if (xDay<10){
        xDay='0' + xDay;
    }
    if (xMon<10){
        xMon='0' + xMon;
    }        
    MM_findObj(objId+'_txtDate').value=xDay + '/'+ xMon + '/'+ datePart('yyyy',value)    
}

function CalendarObj_DateValue(objId)    {
    var dtStr=CalendarObj_Value(objId);
	var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
	var matchArray = dtStr.match(datePat); // is the format ok?	
	day = matchArray[1];
	month = matchArray[3];
	year = matchArray[5];
	
    return new Date(month + '/'+ day + '/'+ year) ;
}
//for new object
function CalendarObj_Value1(objId)    {    
    var xDay=MM_findObj('spn' + objId).childNodes.item(0).value;
    var xMon=MM_findObj('spn' + objId).childNodes.item(2).value;
    var xYear=MM_findObj('spn' + objId).childNodes.item(4).value;
    return xDay + '/' + xMon + '/' + xYear ;
}
