﻿ var controlPrefixId = "";

	
    function SetPrefix()
    {
        if( controlPrefixId.length == 0)
        {
            var eSrc = window.event.srcElement;
            var arrId = eSrc.id.split("_");
            var nameLength = arrId[ arrId.length - 1].length;
            controlPrefixId = eSrc.id.substr(0, eSrc.id.length - nameLength);
        }    
    }
    
    function SetPrefixFromElement( eSrc )
    {
        if( controlPrefixId.length == 0)
        {
            var arrId = eSrc.id.split("_");
            var nameLength = arrId[ arrId.length - 1].length;
            controlPrefixId = eSrc.id.substr(0, eSrc.id.length - nameLength);
        }    
    }   
        
    function EncodeHTML( text )
	{
		text = Replace(text, "<","&lt");//txt.replace("<","&lt");
		text = Replace(text, ">","&gt");//txt.replace(">","&gt");
		text = Replace(text, "'","&apos");//txt.replace("'","&apos");
		text = Replace(text, "\"","&quot");//txt.replace("\"","&quot");
		return text;
	}
	
    function CStr(value)
	{
		return (value + "");
	}
	
	function Replace(str, find, rep)
	{
		var res = CStr(str);
		var i = 0;
		while(true)
		{
			i = res.indexOf(find, i);
			if (i == -1) break;
			res = res.substr(0, i) + rep + res.substr(i + find.length);
			i += rep.length;
		}
		return res;
	}
			
    function IsDate( inputValue )
    {
        var validformat1=/^\d{2}\/\d{2}\/\d{4}$/ //Basic check for format validity
        var validformat2=/^\d{1}\/\d{1}\/\d{4}$/ //Basic check for format validity
        var validformat3=/^\d{2}\/\d{1}\/\d{4}$/ //Basic check for format validity
        var validformat4=/^\d{1}\/\d{2}\/\d{4}$/ //Basic check for format validity
        if (!validformat1.test( inputValue ))
        { 
            if (!validformat2.test( inputValue ))
            {
                if (!validformat3.test( inputValue ))
                {
                    if (!validformat4.test( inputValue ))
                    {
                        return "Invalid Date Format. Please use the format MM/DD/YYYY";
                    }
                }
            }                                                            
        }    
        var monthfield=inputValue.split("/")[0]
        var dayfield=inputValue.split("/")[1]
        var yearfield=inputValue.split("/")[2]
        var dayobj = new Date(yearfield, monthfield-1, dayfield)
        if ((dayobj.getMonth()+1!=monthfield)||(dayobj.getDate()!=dayfield)||(dayobj.getFullYear()!=yearfield))
        {
            return("Invalid Day, Month, or Year range detected. Please correct and submit again.")
        }
        return "";            
    }

    function IsNumeric( inputValue, minValue, maxValue )
    {
   // debugger;
        var parsed = parseInt(inputValue);
        if( isNaN( parsed ))
        {
            return "Invalid Numerical format";
        }
        else 
        {
            if( inputValue.length == parsed.toString().length)
            {
                if( minValue != null)
                {
                    if( parsed < minValue)
                    {
                        return("Value cannot be less than Minimum: " + minValue.toString());
                    }
                }    
                if( maxValue != null)
                {
                    if( parsed > maxValue)
                    {
                        return("Value cannot be greater than Maximum: " + maxValue.toString());
                    }
                }    
                return true;
            }
            else
            {
                return "Invalid Numerical format";
            }   
        }
    }
        
    //=========== TABS Functions ===================
    function SelectTab()
    {
   // debugger;
        var eSrc = window.event.srcElement;
        var oAttr = eSrc.attributes.getNamedItem("oid").value;
        var parameters = oAttr.split("_");
        window.location.href = parameters[1];
       // var hiddenField = GetElementByTagAndPartAttributeWithID("input","id", "txtTabsHidden", parameters[0]);
		//if( hiddenField == null)
		//{
		//    return;
		//}
       // hiddenField.value = oAttr;
       // var pg = window.document.forms[0];
       // pg.submit();
    }


   function CheckSizing()
    {
      //  alert("OK");
        var eSrc = window.event.srcElement;
        if( eSrc == null)
        {
            eSrc = window.document.all.divFrameContent;
        }
        //var id = eSrc.id;
        if( eSrc.clientWidth < 900)
        {
           // alert(eSrc.clientWidth);
            eSrc.children[0].style.width = "900px";
        }
        else
        {
            if( eSrc.children[0].style.width == "900px")
            {
                if( eSrc.clientWidth > 910)
                {
                     eSrc.children[0].style.width = "100%";
                }
            }    
           
        }
    }
    
    function CheckSizingWithParam( size )
    {
      //  alert("OK");
        var eSrc = window.event.srcElement;
        var id = eSrc.id;
        if( eSrc.clientWidth < parseInt( size))
        {
           // alert(eSrc.clientWidth);
            eSrc.children[0].style.width = size + "px";
        }
        else
        {
            if( eSrc.children[0].style.width == size + "px")
            {
                if( eSrc.clientWidth > parseInt( size) + 10)
                {
                     eSrc.children[0].style.width = "100%";
                }
            }    
           
        }
    }
    //=========== GENERIC FUNCTIONS ============
    function GetElementByTagAndPartAttributeWithID( tagName, attrName, attrValue, oidAttrValue)
	{
		var oDivs = window.document.getElementsByTagName( tagName );
		if (( oDivs == null ) && (oDivs.length == 0))
		{
			return null;
		}
		var i = oDivs.length - 1;
		while(i>=0)
		{
			var oAttrColl = oDivs[i].attributes;
			var oAttr = oAttrColl.getNamedItem(attrName);
			if (oAttr.value.indexOf( attrValue) != -1)
			{
			    var oidAttr = oDivs[i].attributes.getNamedItem("oid");
			    if( oidAttr != null) 
			    {
			        if( oidAttr.value == oidAttrValue)
			        {
				        return oDivs[i];
				    }    
				}
			}
			i--;
		}
		return null;
	}
	
	function GetParentByTag(src, tagName)
    {
        while (src.tagName != tagName)
        {
            src = src.parentElement;
            if( src == null )
            {
                return null;
            }
        }
        return src;
    }
    
    function GetElementByTagAndPartAttribute( tagName, attrName, attrValue)
    {
        var oDivs = document.getElementsByTagName( tagName );
        if (( oDivs == null ) && (oDivs.length == 0))
        {
            return null;
        }
        var i = oDivs.length - 1;
        while(i>=0)
        {
            var oAttrColl = oDivs[i].attributes;
            var oAttr = oAttrColl.getNamedItem(attrName);
            if( oAttr != null)
            {
				if (oAttr.value.indexOf( attrValue) != -1)
				{
					return oDivs[i];
				}
            }
            i--;
        }
		return null;
	}
	
    function SwitchExpandMode( attrValue )
    {
        //---- Switch Image -----
        var eSrc = window.event.srcElement;
        eSrc.style.display = "none";
        var parentChildren = eSrc.parentElement.children;
        var i = parentChildren.length - 1;
		while(i>=0)
		{
		    var oAttrColl = parentChildren[i].attributes;
			var oAttr = oAttrColl.getNamedItem("flag");
		    if(( parentChildren[i].tagName =="IMG") && (oAttr.value == attrValue))
		    {
		        parentChildren[i].style.display = "block";
		        return;
		    }
		    i--;
		}
    }
    
    function SwitchExpandModeEX( eSrc, attrValue )
    {
        //---- Switch Image -----
        eSrc.style.display = "none";
        var parentChildren = eSrc.parentElement.children;
        var i = parentChildren.length - 1;
		while(i>=0)
		{
		    var oAttrColl = parentChildren[i].attributes;
			var oAttr = oAttrColl.getNamedItem("flag");
		    if(( parentChildren[i].tagName =="IMG") && (oAttr.value == attrValue))
		    {
		        parentChildren[i].style.display = "block";
		        return;
		    }
		    i--;
		}
    }