﻿// JScript File

/*
// On Page load hide the validators
var arrSpans = document.getElementsByTagName("SPAN");
for(var i=0; i<arrSpans.length; i++)
{
    var control = arrSpans[i];
    if(control.tagName.toLowerCase() == "span" && control.controltovalidate != null && control.controltovalidate != "")
    {
        control.style.display = "none";
    }
}
*/

function DisableAllValidators()
{
    var arrSpans = document.getElementsByTagName("SPAN");
    for(var i=0; i<arrSpans.length; i++)
    {
        var control = arrSpans[i];
        if(control.tagName.toLowerCase() == "span" && control.controltovalidate != null && control.controltovalidate != "")
        {
            control.enabled = false;
        }
    }
}

function DisableValidators(controlsIDs, checkControlsIDs, checkConditions)
{
    if(controlsIDs != null && controlsIDs != "")
    {
        var arrControlsIDs = controlsIDs.split(";");
        var check = false;
        var arrCheckControlsIDs = new Array();
        var arrCheckControlsIDs = new Array();
        
        if(checkControlsIDs != null && checkControlsIDs != "" && checkConditions != null && checkConditions != "")
        {
            check = true;
            arrCheckControlsIDs = checkControlsIDs.split(";");
            arrCheckConditions = checkConditions.split(";");
        }
        
        var controlID = "";
        var control;
        var checkControlID = "";
        var checkControl;
        var checkCondition;
        
        for(var i=0; i<arrControlsIDs.length; i++)
        {
            controlID = arrControlsIDs[i];
            control = document.getElementById(controlID);
            if(control != null)
            {
                if(check)
                {
                    checkControlID = arrCheckControlsIDs[i];
                    checkControl = document.getElementById(checkControlID);
                    checkCondition = arrCheckConditions[i];
                    //alert(controlID + " " + checkControl.id + " " + checkControl.checked.toString() + " , status: " + checkCondition);
                    if(checkControl.checked.toString().toLowerCase() == checkCondition.toLowerCase())
                    {
                        control.enabled = false;
                    }
                    else
                    {
                        control.enabled = true;
                    }
                }
                else
                {
                    control.enabled = false;
                }
            }
        }
    }
}


function EnableAllValidators()
{
    var arrSpans = document.getElementsByTagName("SPAN");
    for(var i=0; i<arrSpans.length; i++)
    {
        var control = arrSpans[i];
        if(control.tagName.toLowerCase() == "span" && control.controltovalidate != null && control.controltovalidate != "")
        {
            control.enabled = true;
        }
    }
}

function EnableValidators(controlsIDs, checkControlsIDs, checkConditions)
{
    if(controlsIDs != null && controlsIDs != "")
    {
        var arrControlsIDs = controlsIDs.split(";");
        var check = false;
        var arrCheckControlsIDs = new Array();
        var arrCheckControlsIDs = new Array();
        
        if(checkControlsIDs != null && checkControlsIDs != "" && checkConditions != null && checkConditions != "")
        {
            check = true;
            arrCheckControlsIDs = checkControlsIDs.split(";");
            arrCheckConditions = checkConditions.split(";");
        }
        
        var controlID = "";
        var control;
        var checkControlID = "";
        var checkControl;
        var checkCondition;
        
        for(var i=0; i<arrControlsIDs.length; i++)
        {
            controlID = arrControlsIDs[i];
            control = document.getElementById(controlID);
            if(control != null)
            {
                if(check)
                {
                    checkControlID = arrCheckControlsIDs[i];
                    checkControl = document.getElementById(checkControlID);
                    checkCondition = arrCheckConditions[i];
                    //alert(controlID + " " + checkControl.id + " " + checkControl.checked.toString() + " , status: " + checkCondition);
                    if(checkControl.checked.toString().toLowerCase() == checkCondition.toLowerCase())
                    {
                        control.enabled = true;
                    }
                    else
                    {
                        control.enabled = false;
                    }
                }
                else
                {
                    control.enabled = true;
                }
            }
        }
    }
}

function haveSpaceCharacter(object)
{
    str=' ';
    var val=object.value ;
    len=val.length ;
    for(i=0;i < len;i++)
    {
        achar=val.substring(i,i+1);
        achar=achar.toUpperCase();
        result=str.indexOf(achar);
        if(result >=0)
        {
            return true ;
        }
    }
}
function startWithSpaceCharacter(object)
{

    var val=object.value ;
    if(val.indexOf(' ')==0)
    {
    return true;
    }
}
function haveSpecialCharacters(object,except_chars)
{
    str='=+-*&^$#@!><.?/\%~`[]}{)(:;_|\,"';
    str=str+"'\\";
    
    if (except_chars)
        for (var n=0;n<except_chars.length;n++)
             str = str.replace(except_chars[n],"");

    var val=object.value ;
    len=val.length ;
    for(i=0;i < len;i++)
    {
        achar=val.substring(i,i+1);
        achar=achar.toUpperCase();
        result=str.indexOf(achar);
        if(result >=0)
        {
            return true ;
        }
    }
}
function isEmpty(object)
{
    var val=object.value ;
    len=val.length ;
    if(len==0)
    {
        return (true);
    }
}
function openWindow(urlstring,width,height)
{
    newWindow = window.open(urlstring,'','height='+height+',width='+width+',toolbar=no,minimize=no,status=no,memubar=no,location=no,scrollbars=no');
}
function repairDate(oldDate)
{
    startYear=oldDate.substr(6,4);
    startMonth=oldDate.substr(3,2)-1;
    startDay=oldDate.substr(0,2);
    newDate = new Date(startYear,startMonth,startDay);

    return newDate;
}
function timeDifference(laterdate,earlierdate)
{
    var difference = laterdate.getTime() - earlierdate.getTime();

    var daysDifference = Math.floor(difference/1000/60/60/24);
    difference -= daysDifference*1000*60*60*24
    var hoursDifference = Math.floor(difference/1000/60/60);
    difference -= hoursDifference*1000*60*60
    var minutesDifference = Math.floor(difference/1000/60);
    difference -= minutesDifference*1000*60
    var secondsDifference = Math.floor(difference/1000);

    return daysDifference;
}
function checkTwoDates(Sdate,Edate)
{
    Sdate=repairDate(Sdate);
    Edate=repairDate(Edate);
    days=timeDifference(Edate,Sdate);
    return days;
}
function incrementDate(date, incrementDays) 
{
    var newDate = repairDate(date);
    newDate.setDate(newDate.getDate() + incrementDays);
      
    var newDay = newDate.getDate();
    var newMonth = newDate.getMonth()+1;
    var newYear = newDate.getFullYear();

    if (newDay < 10) newDay = "0" + newDay;
    if (newMonth < 10) newMonth = "0" + newMonth;
    var newDate = newDay + "/" + newMonth + "/" + newYear;

    return newDate;
}
function decrementDate(date, decrementDays) 
{
    var newDate = repairDate(date);
    newDate.setDate(newDate.getDate() - decrementDays);
    
    var newDay = newDate.getDate();
    var newMonth = newDate.getMonth()+1;
    var newYear = newDate.getYear();
    if (newDay < 10) newDay = "0" + newDay;
    if (newMonth < 10) newMonth = "0" + newMonth;
    var newDate = newDay + "/" + newMonth + "/" + newYear;
      
    return newDate;
}
function close_opened_window()
{
        if(top.my_window)
        {
                top.my_window.close();
        }
}
function round(number,X)
{
    // rounds number to X decimal places, defaults to 2
    X = (!X ? 2 : X);
    return Math.round(number*Math.pow(10,X))/Math.pow(10,X);
}

function showTableRows()
{
    var showRow = (navigator.appName.indexOf("Internet Explorer") != -1) ? "block":"table-row";
    return showRow;
}
function showTables()
{
    var showTable = (navigator.appName.indexOf("Internet Explorer") != -1) ? "block":"table";
    return showTable;
}
function moveListItems(from_obj,to_obj,type)
{
    if ("selected" == type)
    {
        for(var i=from_obj.length-1; i>=0; i--)
        {
            if(from_obj.options[i].selected)
            {
                to_obj.length++;
                to_obj.options[to_obj.length-1].text = from_obj.options[i].text;
                to_obj.options[to_obj.length-1].value = from_obj.options[i].value;
                from_obj.options[i]=null;
            }
        }
    }
    else if ("all" == type)
    {
        for(var i=from_obj.length-1; i>=0; i--)
        {
            to_obj.length++;
            to_obj.options[to_obj.length-1].text = from_obj.options[i].text;
            to_obj.options[to_obj.length-1].value = from_obj.options[i].value;
            from_obj.options[i]=null;
        }
    }
}
function inArray(id,array)
{
    for (s=0;s<array.length;s++)
    {
        if (id == array[s])
            return true;
    }
    return false;
}

function FindPosX(obj)
{
    var curleft = 0;
    if (obj.offsetParent)
    {
        while (obj.offsetParent)
        {
            curleft += obj.offsetLeft;
            obj = obj.offsetParent;
        }
    }
    else if (obj.x)
    {
        curleft += obj.x;
    }
    return curleft;
}

//gets the y position of the ctl
function FindPosY(obj)
{
    var curtop = 0;
    if (obj.offsetParent)
    {
        while (obj.offsetParent)
        {
            curtop += obj.offsetTop;
            obj = obj.offsetParent;
        }
    }
    else if (obj.y)
    {
        curtop += obj.y;
    }
    return curtop;
}

//request delete confirm
function SendConfirm()
{
    document.getElementById("lblMessage").innerText="";
    return confirm("هل أنت متأكد أنك تريد الحذف؟");
}