﻿var FULL_ABC = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz01234567890.,!@?()-'\"/\\ ";
var ABC = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz01234567890()-_@./ "

function AdjustFormOther(list,otherID)
{
    var idx = list.selectedIndex;
    var value = list.options[idx].value;
    var doShow = false;
    
    if(value == "other")
        doShow = true;
    
    ToggleFormOther(otherID,doShow);
}

function ToggleFormOther(id,doShow)
{
    if(id)
    {
        var txt = document.getElementById(CURRENT_NAME_PREFIX + id);
        if(txt)
        {
            var vis = "hidden";
            if(doShow)
                vis = "visible";
            
            txt.style.visibility = vis;
            
            if(doShow)
                txt.focus();
        }        
    }
}

function ValidateForm(form)
{
    var inputs = document.getElementsByTagName("input");
    var ddls = document.getElementsByTagName("select");
    var tas = document.getElementsByTagName("textarea");
    
    var isValid = false;
    
    var i;
    for(i=0; i<inputs.length;i++)
    {
        if(inputs[i].id.indexOf("__") < 0)
        {
            if(inputs[i].type == "text" || inputs[i].type == "hidden")
            {
                if(!CleanTextBox(inputs[i]))
                {
                    isValid = false;
                    break;   
                }
                else
                    isValid = true;
            }
            else if(inputs[i].type == "button")
            {
                if(!CleanButton(inputs[i]))
                {
                    isValid = false;
                    break;
                }
                else
                    isValid = true;
            }
        }
    }
    
//    for(i=0; i<ddls.length;i++)
//    {
//        if(!CleanDDL(ddls[i]))
//            break;
//    }
//    
    for(i=0; i<tas.length;i++)
    {
        if(!CleanTA(tas[i]))
        {
            isValid = false;
            break;
        }
    }
    
    if(!isValid)
        alert('Please use standard characters only.');
    
    return isValid;
}

function CleanTextBox(tb)
{
    var isValid = ValidateText(tb.value.toLowerCase(),FULL_ABC);
    
    if(isValid)
        tb.value = EscapeHTML(tb.value);
    
    return isValid;
}

function CleanButton(btn)
{
    var isValid = ValidateText(btn.value.toLowerCase(),FULL_ABC);
    
    if(isValid)
        btn.value = EscapeHTML(btn.value,FULL_ABC);
    
    return isValid;
}

function CleanDDL(ddl)
{
    alert('clean ddl: ' + ddl.id);
    return true;
}

function CleanTA(ta)
{
    var isValid = ValidateText(ta.value.toLowerCase(),FULL_ABC);
    
    if(isValid)
        ta.value = EscapeHTML(ta.value);
    
    return isValid;
}

function ValidateText(text, ValidChars)
{
    if(typeof ValidChars == "undefined")
        ValidChars = "0123456789";
        
    var IsNumber=true;
    var Char;
 
    for (i = 0; i < text.length && IsNumber == true; i++) 
    { 
        Char = text.charAt(i); 
        if (ValidChars.indexOf(Char) == -1) 
        {
            IsNumber = false;
        }
    }
    
    return IsNumber;    
}

function EscapeHTML (str)
{
   var div = document.createElement('div');
   var text = document.createTextNode(str);
   div.appendChild(text);
   
   return div.innerHTML;
   // return escape(str);
}

function AdjustFormIssue(list)
{
    var selected = list[list.selectedIndex].value;    
    //var containersIDs = GetIssueContainerIDs();
    
    var isIE = false;
    if(navigator.userAgent.indexOf("MSIE") >0)
        isIE = true;
    
    var height = "0px";        
    var container = null;  
    var overflow = "hidden";
    for(var i=0; i<ISSUE_LIST.length; i++)
    {
        height = "0px";
        overflow = "hidden";
        
        container = document.getElementById(ISSUE_LIST[i]);
        if(container)
        {
            if(GetIssueContainerIDs()[selected] == ISSUE_LIST[i])
            {
                //To fix style error in IE when want to show a panel
                if(isIE)
                    height = "auto";
                
                overflow = "visible"; 
            }
            
            container.style.height = height;
            container.style.overflow = overflow;
        }
    }
    
//    var height = null;
//    var vis = "hidden";
//    switch(selected)
//    {
//        case("gen_inq"):
//            break;
//        case("cr"):
//            vis = "visible";
//            height = "100px";
//            break;
//        case("bug"):
//            break;
//    }
//    
//    var pnl = document.getElementById(pnlID);
//    if(pnl)
//    {
//        pnl.style.visibility = vis;
//        pnl.style.height = "100px";
//    }
}

var ISSUE_LIST = ['ctl00_ctl00_main_content_middle_pnlCRDetails_container','ctl00_ctl00_main_content_middle_pnlBugDetails_container'];
function GetIssueContainerIDs()
{
    return{
        cr : 'ctl00_ctl00_main_content_middle_pnlCRDetails_container',
        bug : 'ctl00_ctl00_main_content_middle_pnlBugDetails_container'};
}
    
    