﻿function TelerikTools_OpenRadWindowDialog(url, width, height, radWindowManagerClientId, radWindowServerId) 
{
    try {        
        var manager = $find(radWindowManagerClientId);
        var dialog = manager.open(url, radWindowServerId);
        
        dialog.set_width(width);
        dialog.set_height(height);
        dialog.set_modal(true);
    }
    catch(err)
    {
        alert(err.description + "\n Try again please..");
    }
}

function OpenRadWindowModal(url, width, height, name, showMaxButton) {
    try {
        var intW = 600;
        var intH = 400;
        if(width){
           intW = width;
        }                
        
        if(height){
           intH = height;
        }
        var dialog;
        if (typeof(radopen) == 'undefined') {
            dialog = openWindow(url, name);
        }
        else {
            dialog = radopen(url, name);            
        }
        if (dialog) {
            // 5    = Close
            // 3    = minimiz
            // 16   = Maximize     
            
            if(showMaxButton){
                dialog.set_behaviors(16 + 5);
            }
            
            dialog.set_width(intW);
            dialog.set_height(intH);
            dialog.set_modal(true);        
        }
        return dialog;
    }
    catch(err) {
        alert(err.description + "\n Try again please..");
    }
}
function GetRadWindow() {
    var radWnd = null;
    if (window.radWindow)
    {
        radWnd = window.radWindow;
    }
    else if (window.frameElement) 
    {
        if (window.frameElement.radWindow)
        {
            radWnd = window.frameElement.radWindow;
        }
    }
    return radWnd;
}
function openWindow(url, name) {
    var curWnd = GetRadWindow();
    if (curWnd) {
        var wnd = curWnd.BrowserWindow;
        if (wnd == null) {
            wnd = curWnd.get_windowManager();
        }
        if (wnd) {
            var mWnd = wnd.radopen(url, name);
            return mWnd;
        }
    }
    return radopen(url, name);
}
function CloseAndRedirect(url) {
    GetRadWindow().BrowserWindow.location.href = url;        //Redirect to new url
    closeRadWindow();       //closes the window
}
function closeRadWindow() {
    var wnd = GetRadWindow();
    setTimeout(function(){if(wnd) { wnd.Close(); } }, 0);
}
function RefreshParentGrid() {
    //Get a reference to the parent page
    var wnd = GetRadWindow();
    //get a reference to the second RadWindow
    if (wnd) wnd.BrowserWindow.RefreshGrid();
}
function TelerikTools_IsNumber(sender, args) 
{
    var key = args.get_keyCode();
    var keyChar = args.get_keyCharacter();
    
    if (/\d/.test(keyChar)) {
        args.set_cancel(false);
    }
    else if (!TelerikTools_IsUserFriendlyChar(key)){
        args.set_cancel(true);
    }
}
    
    
function TelerikTools_DoPhone(sender, args) 
{
    var key = args.get_keyCode();
    var keyChar = args.get_keyCharacter();
    var val = sender.get_value();
    var haveChar = false;

    if (/\d/.test(keyChar)) {
        if (val.length == 3 || val.length == 7) 
        {
            for (var i=0; i< val.length; i++)
            {
                if(isNaN(val.charAt(i)) && val.charAt(i) != '-')
                {
                    haveChar = true;
                }
            }
            if(!haveChar) val += '-';
            sender.set_value(val);
        }
        args.set_cancel(false);
    }
    else if(/[a-zA-Z_]/.test(keyChar))
    {
        for (var i=0; i< val.length; i++)
        {
            if(val.charAt(i) == '-')
            {
                val = val.replace('-','');
            }
        }
        sender.set_value(val);
        args.set_cancel(false);
    }
    else if (!TelerikTools_IsUserFriendlyChar(key)){
        args.set_cancel(true);
    }
}

function TelerikTools_IsUserFriendlyChar(val) 
{ // check the value for special key
    
    if (val == 8 || val == 9 || val == 13 || val == 45 || val == 46) // Backspace, Tab, Enter, Insert, and Delete
        return true;
    if ((val > 16 && val < 21) || (val > 34 && val < 41)) // Ctrl, Alt, CapsLock, Home, End, and Arrows
        return true;
    return false;
}
 
 
 
////////////////////////////////////////////
// Force to close RadSlidingPane.
////////////////////////////////////////////
function TelerikTools_CollapseAllPane(slidingZoneClientId)
{
    try{
        var radSlidingZone = $find(slidingZoneClientId);
    
        if( radSlidingZone.get_expandedPaneId() != null ){                    
            // If any expaned, We should be close.
            radSlidingZone.collapsePane(radSlidingZone.get_expandedPaneId());
        }
        
        /*
        if( radSlidingZone.get_dockedPaneId() != null ){
            // If any docked, We should be undock.
            radSlidingZone.undockPane(radSlidingZone.get_dockedPaneId());
        } 
        */   
    }catch(Ex){}
}
