﻿// JScript File
// -------------- Utility Functions ----------------
var ua = navigator.userAgent.toLowerCase();
var imgRollPrefix = "_roll",
    imgDownPrefix = "_down",
    DDMMYY='dd.MM.yyyy',
    MMDDYY='MM.dd.yyyy',
    YYMMDD='yyyy.MM.dd',
    isIE = ua.indexOf("msie") > -1,
    isIE7 = ua.indexOf("msie 7") > -1;

function YK_ImgRollOver(){  //v1.0
    var obj= event.srcElement;
    var xUrl = obj.src;
    var dividedURL = xUrl.split("/");
    var dividedIMG = dividedURL[dividedURL.length-1].split(".");
    dividedURL[dividedURL.length-1]=dividedIMG[0] + imgRollPrefix + '.' + dividedIMG[1];
    xUrl =dividedURL.join('/');
//    xUrl = xUrl.replace(dividedIMG[0],dividedIMG[0] + imgRollPrefix);
    obj.src = xUrl;
    
}

function YK_ImgDown(){  //v1.0
    var obj= event.srcElement;
    var xUrl = obj.src;
    var dividedURL = xUrl.split("/");
    var dividedIMG = dividedURL[dividedURL.length-1].split(".");

    dividedURL[dividedURL.length-1]=dividedIMG[0].replace(imgRollPrefix,imgDownPrefix) + '.' + dividedIMG[1];
    xUrl =dividedURL.join('/');
//    xUrl = xUrl.replace(imgRollPrefix,imgDownPrefix);
    obj.src = xUrl;
}

function YK_ImgRollBack(){  //v1.0
    var obj= event.srcElement;
    var xUrl = obj.src     ;
    xUrl = xUrl.replace(imgRollPrefix,'');
    xUrl = xUrl.replace(imgDownPrefix,'');
    obj.src = xUrl;
}

function YK_SetImgMouseEvents(obj,over,down) {
    if (over) {
//        alert(1);
        obj.onmouseover=YK_ImgRollOver;
//        alert(2);
    }
    if (down) {
//        alert(3);
        obj.onmousedown=YK_ImgDown;
//        alert(4);
    }
    obj.onmouseout= YK_ImgRollBack;
}

function YK_SetAllImgMouseEvents(objIDList,over,down) {

    if (objIDList) {
        for (var i=0;i<objIDList.length;i++) {
//        alert(objIDList[i]);
            if (objIDList[i]) {
                YK_SetImgMouseEvents(objIDList[i],over,down);
            }
        }
    }
}

function trim(sString)
{
    while (sString.substring(0,1) == ' ')
    {
        sString = sString.substring(1, sString.length);
    }
    while (sString.substring(sString.length-1, sString.length) == ' ')
    {
        sString = sString.substring(0,sString.length-1);
    }
    return sString;
}

function strToDate(sString) {
    if (sString=='') return null;
    var temparray =sString.split('.');
    var newDate= new Date();
    newDate.setFullYear(parseInt(temparray[2]*1));
    newDate.setMonth(parseInt(temparray[1]*1)-1);
    newDate.setDate(parseInt(temparray[0]*1));
    return newDate;
}


function isDateSeperator(val){
    switch(val) {
        case '/':
        case '-':
        case '.':
            return true;
        default :
            return false;
    }
}

function validateDate(val){
    var validationRule = /^([0-9]){2}(\/|-|\.){1}([0-9]){2}(\/|-|\.){1}([0-9]){4}$/ ;
    if (!validationRule.test(val)) {
//
        return false;
    } else {
        if (isDateSeperator(val.charAt(2)) && isDateSeperator(val.charAt(5))) {
            if (isNaN(val.substr(0,2)) || isNaN(val.substr(3,2)) || isNaN(val.substr(6,4))) {
                return false;
            } else {
                if ((parseInt(val.substr(0,2)*1)>31) || (parseInt(val.substr(3,2)*1)>12) || (parseInt(val.substr(6,4)*1)>2100)) {
                    return false
                } else {
                    return true;
                }
            }
        } else {
            return false;
        }
    }
    return false;
}


// keypress events for various input types

    function decimalEntry(){
        if ((event.keyCode>47) && (event.keyCode<58)) {
            return true;
        } else {
            switch (event.keyCode)
            {
            case 46:
                event.keyCode=44;
            case 44:
                return true;
            default:
                return false;
            }
        }
    }


    function integerEntry(){
        if ((event.keyCode>47) && (event.keyCode<58)) {
            return true;
        } else {
            return false;
        }
    }

    function dateEntry(){
        if ((event.keyCode>47) && (event.keyCode<58)) {
            return true;
        } else {
            switch(event.keyCode) 
            {
            case 45:
            case 46:
            case 47:
                event.keyCode=46;
                return true;
            default:
                return false;
            }
        }
    }

    function unEntry(){
        if (event.keyCode==13) {
            return true;
        }
        if ((event.keyCode>47) && (event.keyCode<58) || (event.keyCode>64) && (event.keyCode<91)  || (event.keyCode>96) && (event.keyCode<123)) {
            return true;
        } else {
            return false;
        }
    }

    function pwEntry(){
        if (event.keyCode==13) {
            return true;
        }
        if ((event.keyCode>47) && (event.keyCode<58) || (event.keyCode>64) && (event.keyCode<91)  || (event.keyCode>96) && (event.keyCode<123)) {
            return true;
        } else {
            //alert ('Sadece harf ve rakam girebilirsiniz.');
            return false;
        }
    }

    function windowCenter(objID,objWidth,objOffset) {
        $(objID).style.left= (parseInt((window.document.body.scrollWidth-objWidth)/2)+objOffset) + 'px';
    }

    function centerObj(objID) {
        $(objID).style.left= (parseInt((window.document.body.scrollWidth-$(objID).scrollWidth)/2)) + 'px';
        $(objID).style.top= (parseInt((window.document.body.scrollHeight-$(objID).scrollHeight)/2)) + 'px';
//        alert($(objID).scrollWidth + " : " + $(objID).scrollHeight);
    }
    
    function showBlockDiv(divObj) {
        var my_width  = 0;
        var my_height = 0;
/*
        if ( typeof( window.innerWidth ) == 'number' )
        {
            my_width  = window.innerWidth;
            my_height = window.innerHeight;
        } else {
            my_width= parseInt(window.document.body.clientWidth);
            my_height =700;
        }
*/

        if ( typeof( window.innerWidth ) == 'number' )
        {

            my_width  = window.innerWidth;
            my_height = window.innerHeight;
        }
        else if ( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) )
        {

            my_width  = document.documentElement.clientWidth;
            my_height = document.documentElement.clientHeight;
        }
        else if ( document.body && ( document.body.clientWidth || document.body.clientHeight ) )
        {

            my_width  = document.body.clientWidth;
            my_height = document.body.clientHeight;
        }

        divObj.style.left='0px';
        divObj.style.top='0px';
        divObj.style.width = my_width + 'px';
        divObj.style.height = my_height + 'px';
        divObj.style.display = 'block';
//        divObj.style.height=parseInt(window.height) + 'px';
    }

    function hideBlockDiv(divObj) {
        divObj.style.display='none';
    }

    function setDDL(ddlObj,_value) {
        for (var i=0 ; i<ddlObj.options.length;i++) {
            if (ddlObj.options[i].innerText==_value) {
                ddlObj.selectedIndex=i;
                return;
            }
        }
        ddlObj.selectedIndex=0;
    }

    function setDDLbyID(ddlObj,_value) {
        for (var i=0 ; i<ddlObj.options.length;i++) {
            if (ddlObj.options[i].value==_value) {
                ddlObj.selectedIndex=i;
                return;
            }
        }
        ddlObj.selectedIndex=0;
    }

    function clearDDL(ddlObj) {
        var optCount=ddlObj.options.length;
        for (var i=0 ; i<optCount;i++) {
            ddlObj.options.remove(0);
        }
    }

    function clearDDLButFirst(ddlObj) {
        var optCount=ddlObj.options.length;
        for (var i=0 ; i<optCount-1;i++) {
            ddlObj.options.remove(0);
        }
        ddlObj.options[0].value='';
        ddlObj.options[0].innerText='';
    }

function dateDiff(date1, date2){
   var d1,d2;
   var result=0;
   var MinMilli = 1000 * 60;
   var HrMilli = MinMilli * 60;
   var DyMilli = HrMilli * 24;
   d1 = Date.parse(date1);
   d2 = Date.parse(date2);
   result= Math.round(Math.abs((d2-d1) / DyMilli))
   return result;
}

function dateAdd(dateInterval,value, _date){
   var result=new Date(_date);
    switch (dateInterval) {
        case 'd':
            result.setDate(result.getDate()+value);
            return result;
        case 'm':
            result.setMonth(result.getMonth()+value);
            return result;
        case 'y':
            result.setFullYear(result.getFullYear()+value);
            return result;
        default:
            return _date;
    }
}


function getAbsolutePos (el) {
	var SL = 0, ST = 0;
	var is_div = /^div$/i.test(el.tagName);
	if (is_div && el.scrollLeft)
		SL = el.scrollLeft;
	if (is_div && el.scrollTop)
		ST = el.scrollTop;
	var r = { x: el.offsetLeft - SL, y: el.offsetTop - ST };
	if (el.offsetParent) {
		var tmp = getAbsolutePos(el.offsetParent);
		r.x += tmp.x;
		r.y += tmp.y;
	}
	return r;
};

