﻿// (ShowPopup has 2 Overloads) showScollBar parameter is Optional
function ShowPopup( filePath, windowName, width, height, left, top,showScrollBar)
{
    sb="no";
    if(showScrollBar!=null)
    {
        if(showScrollBar)
        {
            sb="yes";
        }
        else if(showScrollBar.toLower()=="yes" || showScrollBar.toLower()=="true" || showScrollBar=="1")
        {
            sb="yes";
        }
        else
        {
            sb="no";
        }
    }
	win=window.open(filePath,windowName,'menubar=no,status=no,toolbar=no,width='+width+',height='+height+',left='+left+',top='+top+',titlebar=no,scrollbars ='+sb);
	win.focus();
}
function ShowFreeSizePopUp(filePath, windowName)
{
    win=window.open(filePath,windowName,'menubar=no,status=no,toolbar=no,titlebar=no');
    win.focus();
}


function ShowModalPopup( filePath, argumentsObject, width, height, left, top)
{
	win=window.showModalDialog(filePath,argumentsObject,'dialogWidth:'+width+'px;dialogHeight:'+height+'px;dialogLeft:'+left+'px;dialogTop:'+top+'px;');
}

function ShowYesNoConfirm(msg)
{
    execScript('n=msgbox("'+msg+'","4132")','VBScript');
    return(n==6);
}
function ShowRetryCancelConfirm(msg)
{
    execScript('n=msgbox("'+msg+'","4133")','VBScript');
    return(n==6);
}

function IncreaseNumberInLabel(obj)
{
    i=obj.innerText;
    iprim=parseInt(i)+1;
    obj.innerText=(iprim);

}
function DecreaseNumberInLabel(obj)
{
    i=obj.innerText;
    iprim=parseInt(i)-1;
    obj.innerText=(iprim);

}


// Control Restriction Methods
function ControlRestriction_UnifyVariousCharacters_OnBlur(obj)
{
    textVal=obj.value;
    //Not Unified 'Ya' Persian Character
    nuYa1=String.fromCharCode(1609)
    nuYa2=String.fromCharCode(1740)
    nuYa3=String.fromCharCode(1741)
    nuYa4=String.fromCharCode(1742)
    //Unified 'Ya' Persian Character
    uYa=String.fromCharCode(1610)
    textVal=textVal.replace(nuYa1,uYa)
    textVal=textVal.replace(nuYa2,uYa)
    textVal=textVal.replace(nuYa3,uYa)
    textVal=textVal.replace(nuYa4,uYa)
    obj.value=textVal
}
function ControlRestriction_ApplySqlInjectionProtection(obj)
{
    result=true;
    pressedKeyCode=event.keyCode;
//    if(pressedKeyCode==37 || pressedKeyCode==39)
//    {
//       result=false;
//    }
//    else
//    {
       result=true;
//    }
    return result;
}

function ControlRestriction_ApplySqlInjectionProtection_OnPaste(obj)
{
   result=false;
   //event.returnValue=false;
   clipboardText=window.clipboardData.getData("Text");
//   if(clipboardText.indexOf("%")>-1 || clipboardText.indexOf("'")>-1)
//   {
//      result=false;
//   } 
//   else
//   {      
       result=true;
//   }

   return result;   
}
function ControlRestriction_OnlyDigit(obj)
{
    result=false;
    pressedKeyCode=event.keyCode;
    if(pressedKeyCode>=48 && pressedKeyCode<=57)
    {
       result=true;
    }
    else
    {
        result=false;
    }
    return result;
}

function ControlRestriction_OnlySerialNumber(obj)
{
    result=false;
    pressedKeyCode=event.keyCode;

    if((pressedKeyCode>=48 && pressedKeyCode<=57) || pressedKeyCode==45 || pressedKeyCode==47 || pressedKeyCode==92)
    {
        result=true;       
    }
    else
    {
        result=false;
    }
    return result;
}

function ControlRestriction_OnlySerialNumber_OnPaste(obj)
{
    result=true;
   clipboardText=window.clipboardData.getData("Text");
   for(i=0;i<clipboardText.length;i++)
   {
    strKeyCode=clipboardText.charCodeAt(i)
    if((strKeyCode>=48 && strKeyCode<=57) || strKeyCode==45 || strKeyCode==47 || strKeyCode==92)
    {
       result=true;
    }
    else
    {
       result=false;
       break;
    }
   }
   return result; 
}

function ControlRestriction_OnlyFloatNumber(obj)
{
    result=false;
    pressedKeyCode=event.keyCode;
    if(pressedKeyCode>=48 && pressedKeyCode<=57 || pressedKeyCode==46)
    {
       result=true;
    }
    else
    {
        result=false;
    }
    return result;
}


function ControlRestriction_OnlySignedDigit(obj)
{
    result=false;
    pressedKeyCode=event.keyCode;
    if((pressedKeyCode>=48 && pressedKeyCode<=57)|| pressedKeyCode==43 || pressedKeyCode==45 )
    {
       result=true;
    }
    else
    {
        result=false;
    }
    return result;
}
function ControlRestriction_OnlyDigit_OnPaste(obj)
{
   result=false;
   clipboardText=window.clipboardData.getData("Text");
   if(isNaN(parseInt(clipboardText)))
   {
      result=false;
   } 
   else
   {
       result=true;
   }

   return result;   
}


function ControlRestriction_OnlyFloatNumber_OnPaste(obj)
{
   result=false;
   clipboardText=window.clipboardData.getData("Text");
   if(isNaN(parseFloat(clipboardText)))
   {
      result=false;
   } 
   else
   {
       result=true;
   }

   return result;   
}
function ControlRestriction_OnlySignedDigit_OnPaste(obj)
{
   result=false;
   clipboardText=window.clipboardData.getData("Text");
   if(isNaN(parseInt(clipboardText)))
   {
      result=false;
   } 
   else
   {
       result=true;
   }

   return result;   
}
function ControlRestriction_OnlyEnglishAlphabet(obj)
{
    result=false;
    pressedKeyCode=event.keyCode;
    if(pressedKeyCode>=65 && pressedKeyCode<=90)
    {
       result=true;
    }
    else
    {
        if(pressedKeyCode>=97 && pressedKeyCode<=122)
        {
            result=true;
        }
        else
        {
            result=false;
        }
    }
    return result;

}
function ControlRestriction_OnlyEnglishAlphabet_OnPaste(obj)
{
   result=false;
   clipboardText=window.clipboardData.getData("Text");
   for(i=0;i<clipboardText.length;i++)
   {
    strKeyCode=clipboardText.charCodeAt(i)
    if(strKeyCode>=65 && strKeyCode<=90)
    {
       result=true;
    }
    else
    {
        if(strKeyCode>=97 && strKeyCode<=122)
        {
            result=true;
        }
        else
        {
            result=false;
            break;
        }
    }
  }
   return result;   
}

function ControlRestriction_OnlyEnglishAlphabetAndDigit(obj)
{
    return(ControlRestriction_OnlyEnglishAlphabet(obj) || ControlRestriction_OnlyDigit(obj))
}
function ControlRestriction_OnlyEnglishAlphabetAndDigit_OnPaste(obj)
{
    return(ControlRestriction_OnlyEnglishAlphabet_OnPaste(obj) || ControlRestriction_OnlyDigit_OnPaste(obj))
}

function ControlRestriction_OnlyFarsiAlphabet(obj)
{
    result=false;
    pressedKeyCode=event.keyCode;
    if(pressedKeyCode>=1570 && pressedKeyCode<=1740)
    {
       result=true;
    }
    else
    {
       result=false;
    }
    return result;
}
function ControlRestriction_OnlyFarsiAlphabet_OnPaste(obj)
{
   result=false;
   clipboardText=window.clipboardData.getData("Text");
   for(i=0;i<clipboardText.length;i++)
   {
    strKeyCode=clipboardText.charCodeAt(i)
    if(strKeyCode>=1570 && strKeyCode<=1740)
    {
       result=true;
    }
    else
    {
       result=false;
       break;
    }
   }
   return result;   
}
function ControlRestriction_OnlyAlphabet(obj)
{
    return (ControlRestriction_OnlyFarsiAlphabet(obj) || ControlRestriction_OnlyEnglishAlphabet(obj));
}
function ControlRestriction_OnlyAlphabet_OnPaste(obj)
{
    return (ControlRestriction_OnlyFarsiAlphabet_OnPaste(obj) || ControlRestriction_OnlyEnglishAlphabet_OnPaste(obj));
}

function ControlRestriction_CheckLengthOfTextArea(obj,length)
{
    result=true;
    if(obj.value.length<length)
    {
        result=true;
    }
    else
    {
        result=false;
    }
    return result;
}

function ControlRestriction_CheckLengthOfTextArea_OnPaste(obj,length)
{
   result=false;
   clipboardText=window.clipboardData.getData("Text");
   if(clipboardText.length+obj.value.length>length)
   {
      result=false;
   } 
   else
   {
       result=true;
   }

   return result;   
}

function CheckMinimumLength(str,length)
{
    return(str.length>=length);
}

function ShowAlert(msg)
{
    window.alert(msg);
}

function ForceDropDownListSelection(buttonName,dropDownListName,notSelectedValue,message)
{
    myobj=document.getElementById(dropDownListName);
    if(myobj.value==notSelectedValue)
    {
        ShowAlert(message);
        return false;
    }
    else
    {
        __doPostBack(buttonName,'');
        return true;
    }
}


function NewSearch() {
    alert(searchParams[0] + "\n" + searchParams[1]);
}

function SearchParamsOnClick(param) {
    hdnParams = document.getElementById(searchParams[0]);
    p = param.split(",", 1);
    ps = hdnParams.value;
    str = ps.substring(ps.search(p));
    oldParam = str.substring(0, str.search(";") + 1);
    hdnParams.value = ps.replace(oldParam, param);
    Search(hdnParams.value);
}

function Search(params) {
    var pars = params.split(";");
    var count = 0;
    //var disp = new Array();
    for (x in hdnClientIDs) {
        hdn = document.getElementById(hdnClientIDs[x]);
        ps = hdn.value;
        var match = true;
        for (p in pars) {
            if (pars[p] != "") {
                match = true;
                param = pars[p].split(",");
                switch (param[1]) {
                    case "Boolean":
                        if (param[2] == "1" && ps.search(pars[p]) < 0)
                            match = false;
                        break;
                    case "Integer":
                        str = ps.substring(ps.search(param[0]));
                        cParam = str.substring(0, str.search(";"));
                        val = parseInt(cParam.split(",")[2]);
                        cond = param[2].split(":");
                        if (val < parseInt(cond[0]) || val > parseInt(cond[1]))
                            match = false;
                        break;
                    case "Decimal":
                        str = ps.substring(ps.search(param[0]));
                        cParam = str.substring(0, str.search(";"));
                        val = parseFloat(cParam.split(",")[2]);
                        cond = param[2].split(":");
                        if (val < parseFloat(cond[0]) || val > parseFloat(cond[1]))
                            match = false;
                        break;
                    case "String":
                        break;
                    default:
                }
                if (!match)
                    break;
            }
        }
        //disp[x] = match;
        if (match) count++;
        div = hdn.parentNode.parentNode;
        if (div.style.display == "inline" && !match) {
            setTimeout("opacity('" + div.id + "', 100, 0, 50, 10);", 0);
            setTimeout("SetDisplay2('" + div.id + "',false);", 500);
        }
        else if (div.style.display == "none" && match) {
            div.style.display = "inline";
            setTimeout("opacity('" + div.id + "', 0, 100, 50, 10);", 0);
        }
    }
    SetCount(count);
}

function optDisplay(div, disp) {
    if (div.style.display == "inline" && !disp) {
        setTimeout("opacity('" + div.id + "', 100, 0, 50, 10);", 0);
        setTimeout("SetDisplay2('" + div.id + "',false);", 500);
    }
    else if (div.style.display == "none" && disp) {
        div.style.display = "inline";
        setTimeout("opacity('" + div.id + "', 0, 100, 50, 10);", 0);
    }
}

function SetDisplay(control, display) {
    if (display)
        FadeIn(control);
    else
        FadeOut(control);
}

function SetDisplay2(control, disp) {
    var object = document.getElementById(control).style;
    if (disp)
        object.display = "inline";
    else
        object.display = "none";
}

function FadeIn(control) {
    opacity(control, 0, 100, 50, 10);
}

function FadeOut(control) {
    opacity(control, 100, 0, 50, 10);
}

function opacity(id, opacStart, opacEnd, speed, step) {
    var timer = 0;
    if (opacStart > opacEnd) {
        for (i = opacStart; i >= opacEnd; i -= step) {
            setTimeout("changeOpac(" + i + ",'" + id + "')", (timer * speed));
            timer++;
        }
    }
    else if (opacStart < opacEnd) {
        for (i = opacStart; i <= opacEnd; i += step) {
            setTimeout("changeOpac(" + i + ",'" + id + "')", (timer * speed));
            timer++;
        }
    }
}

function changeOpac(opacity, id) {
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
} 
