﻿function vis(obj) {
    if (obj.style.display == '') {
        obj.style.display = 'none';
    } else {
        obj.style.display = '';
    }
}

function isNumberKey(evt) {
    var charCode = (evt.which) ? evt.which : event.keyCode
    if (charCode > 31 && (charCode < 48 || charCode > 57))
        return false;

    return true;
}

function IsNumeric(sText) {
    var ValidChars = "0123456789.";
    var IsNumber = true;
    var Char;


    for (i = 0; i < sText.length && IsNumber == true; i++) {
        Char = sText.charAt(i);
        if (ValidChars.indexOf(Char) == -1) {
            IsNumber = false;
        }
    }
    return IsNumber;

}


function getElement(controlname) {
    var theform = document.forms[0];
    for (i = 0; i < theform.elements.length; i++) {

        if (theform.elements[i].id.indexOf(controlname) != -1) {

            return theform.elements[i];
        }
    }
    return null;
}

function getTable(controlname) {
    var tableList = document.getElementsByTagName("table");
    for (i = 0; i < tableList.length; i++) {

        if (tableList[i].id.indexOf(controlname) != -1) {

            return tableList[i];
        }
    }
    return null;
}

function checkemail(e) {
    ok = "1234567890qwertyuiop[]asdfghjklzxcvbnm.@-_QWERTYUIOPASDFGHJKLZXCVBNM";

    for (i = 0; i < e.length; i++) {
        if (ok.indexOf(e.charAt(i)) < 0) {
            return (false);
        }
    }

    if (document.images) {
        re = /(@.*@)|(\.\.)|(^\.)|(^@)|(@$)|(\.$)|(@\.)/;
        re_two = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
        if (!e.match(re) && e.match(re_two)) {

            return (true);
        }

    }

    return (false);
}

function Left(str, n) {
    if (n <= 0)
        return "";
    else if (n > String(str).length)
        return str;
    else
        return String(str).substring(0, n);
}
function Right(str, n) {
    if (n <= 0)
        return "";
    else if (n > String(str).length)
        return str;
    else {
        var iLen = String(str).length;
        return String(str).substring(iLen, iLen - n);
    }
}


function converttojavadate(vl) {
    var d = vl.split(".");
    if (Left(d[0], 1) == "0") {
        d[0] = Right(d[0], 1);
    }
    if (Left(d[1], 1) == "0") {
        d[1] = Right(d[1], 1);
    }
    if (Left(d[2], 2) == "0") {
        d[2] = Right(d[2], 1);
    }
    return d[1] + "/" + d[0] + "/" + d[2]
}

function GreaterDate(DtVal1, DtVal2) {

    Date1 = new Date(converttojavadate(DtVal1));
    Date2 = new Date(converttojavadate(DtVal2));

    if (Date1.getTime() < Date2.getTime())
        return true;
    else
        return false;
}

function Lessdate(DtVal1, DtVal2) {
    var DtDiff;
    Date1 = new Date(converttojavadate(DtVal1));
    Date2 = new Date(converttojavadate(DtVal2));
    DaysDiff = Math.floor((Date1.getTime() - Date2.getTime()) / (1000 * 60 * 60 * 24));
    //alert("DaysDiff ="+DaysDiff);
    if (DtDiff <= 0)
        return true;
    else
        return false;
}

function EqualDate(DtVal1, DtVal2) {
    var DtDiff;
    Date1 = new Date(converttojavadate(DtVal1));
    Date2 = new Date(converttojavadate(DtVal2));
    DtDiff = Math.floor((Date1.getTime() - Date2.getTime()) / (1000 * 60 * 60 * 24));
    if (DtDiff == 0)
        return true;
    else
        return false;
}


function isValidDate(dateStr) {
    // Date validation function courtesty of 
    // Sandeep V. Tamhankar (stamhankar@hotmail.com) -->

    // Checks for the following valid date formats:
    // MM/DD/YY   MM/DD/YYYY   MM-DD-YY   MM-DD-YYYY

    var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/; // requires 4 digit year

    var matchArray = dateStr.match(datePat); // is the format ok?
    if (matchArray == null) {
        alert(dateStr + " Date is not in a valid format.")
        return false;
    }
    month = matchArray[1]; // parse date into variables
    day = matchArray[3];
    year = matchArray[4];
    if (month < 1 || month > 12) { // check month range
        alert("Month must be between 1 and 12.");
        return false;
    }
    if (day < 1 || day > 31) {
        alert("Day must be between 1 and 31.");
        return false;
    }
    if ((month == 4 || month == 6 || month == 9 || month == 11) && day == 31) {
        alert("Month " + month + " doesn't have 31 days!")
        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)) {
            alert("February " + year + " doesn't have " + day + " days!");
            return false;
        }
    }
    return true;
}

function isValidTime(timeStr) {
    // Time validation function courtesty of 
    // Sandeep V. Tamhankar (stamhankar@hotmail.com) -->

    // Checks if time is in HH:MM:SS AM/PM format.
    // The seconds and AM/PM are optional.

    var timePat = /^(\d{1,2}):(\d{2})(:(\d{2}))?(\s?(AM|am|PM|pm))?$/;

    var matchArray = timeStr.match(timePat);
    if (matchArray == null) {
        alert("Time is not in a valid format.");
        return false;
    }
    hour = matchArray[1];
    minute = matchArray[2];
    second = matchArray[4];
    ampm = matchArray[6];

    if (second == "") { second = null; }
    if (ampm == "") { ampm = null }

    if (hour < 0 || hour > 23) {
        alert("Hour must be between 1 and 12. (or 0 and 23 for military time)");
        return false;
    }
    if (hour <= 12 && ampm == null) {
        if (confirm("Please indicate which time format you are using.  OK = Standard Time, CANCEL = Military Time")) {
            alert("You must specify AM or PM.");
            return false;
        }
    }
    if (hour > 12 && ampm != null) {
        alert("You can't specify AM or PM for military time.");
        return false;
    }
    if (minute < 0 || minute > 59) {
        alert("Minute must be between 0 and 59.");
        return false;
    }
    if (second != null && (second < 0 || second > 59)) {
        alert("Second must be between 0 and 59.");
        return false;
    }
    return true;
}

function dateDiff(date1, date2) {

    diff = new Date();
    date1 = new Date(date1);
    date2 = new Date(date2);

    // sets difference date to difference of first date and second date

    diff.setTime(Math.abs(date1.getTime() - date2.getTime()));

    timediff = diff.getTime();

    weeks = Math.floor(timediff / (1000 * 60 * 60 * 24 * 7));
    timediff -= weeks * (1000 * 60 * 60 * 24 * 7);

    days = Math.floor(timediff / (1000 * 60 * 60 * 24));
    timediff -= days * (1000 * 60 * 60 * 24);

    hours = Math.floor(timediff / (1000 * 60 * 60));
    timediff -= hours * (1000 * 60 * 60);

    mins = Math.floor(timediff / (1000 * 60));
    timediff -= mins * (1000 * 60);

    secs = Math.floor(timediff / 1000);
    timediff -= secs * 1000;


    return (weeks * 7) + days; // form should never submit, returns false
}


function MM_findObj(n, d) { //v4.01
    var p, i, x; if (!d) d = document; if ((p = n.indexOf("?")) > 0 && parent.frames.length) {
        d = parent.frames[n.substring(p + 1)].document; n = n.substring(0, p);
    }
    if (!(x = d[n]) && d.all) x = d.all[n]; for (i = 0; !x && i < d.forms.length; i++) x = d.forms[i][n];
    for (i = 0; !x && d.layers && i < d.layers.length; i++) x = MM_findObj(n, d.layers[i].document);
    if (!x && d.getElementById) x = d.getElementById(n); return x;
}
function MM_swapImage() { //v3.0
    var i, j = 0, x, a = MM_swapImage.arguments; document.MM_sr = new Array; for (i = 0; i < (a.length - 2); i += 3)
        if ((x = MM_findObj(a[i])) != null) { document.MM_sr[j++] = x; if (!x.oSrc) x.oSrc = x.src; x.src = a[i + 2]; }
}
function MM_swapImgRestore() { //v3.0
    var i, x, a = document.MM_sr; for (i = 0; a && i < a.length && (x = a[i]) && x.oSrc; i++) x.src = x.oSrc;
}

function MM_preloadImages() { //v3.0
    var d = document; if (d.images) {
        if (!d.MM_p) d.MM_p = new Array();
        var i, j = d.MM_p.length, a = MM_preloadImages.arguments; for (i = 0; i < a.length; i++)
            if (a[i].indexOf("#") != 0) { d.MM_p[j] = new Image; d.MM_p[j++].src = a[i]; }
    }
}


function noTR() {
    // fonksiyon basılan tuş kodunu yakalar ve karşılaştırır, varsa boş döner, yoksa tuşu döner

    var code; 											// tuşkodu için değişken
    if (!e) var e = window.event; 						// eğer event yoksa tanımla
    if (e.keyCode) code = e.keyCode; 					// IE için tuş kodunu yakala
    else if (e.which) code = e.which; 					// olmadıysa FF, Safari, Chrome için tuş kodunu yakala

    // özel karakterleri tanımla
    var karakterSeti = "çÇğĞıİöÖşŞüÜé~+*!\"^$%&\'()=?-_#¹²¼½¾{[]}|\\<>";

    // özel karakterlerden birisi girilmiş mi kontrol et girilmediyse devam, girildiyse yolla false gitsin
    if (karakterSeti.indexOf(String.fromCharCode(code)) != -1) {
        return false;
    } else {
        return true;
    }

    /*
    if(code != 231 && code != 119){   						// ç ve Ç değilse
    if(code != 287 && code != 286){						// ğ ve Ğ değilse
    if(code != 305 && code != 304){					// ı ve İ değilse
    if(code != 246 && code != 214){				// ö ve Ö değilse
    if(code != 351 && code != 350){			// ş ve Ş değilse
    if(code != 252 && code != 220){		// ü ve Ü değilse
    return true;				    // tuşu dön 
    }
    }
    }
    }
    }
    }
    return false;											// boş dön
    */
}


function numberonly() {
    k = (document.all) ? event.keyCode : arguments.callee.caller.arguments[0].which;
    if (k < 48 || k > 57) return false
}


