﻿// JScript File
var previosPage = '';

function ReturnToPreviousPage()
{
    if(previosPage == '')
        history.back();
    else
        window.location.href = previosPage;
}

function TrimAll(sInString)
{
  return sInString.replace( /^\s+|\s+$/g, "" );// strip trailing
}

function TrimLeft(sInString)
{
  return sInString.replace( /^\s+/g, "" );// strip leading
}

function TrimRight(sInString)
{
  return sInString.replace( /\s+$/g, "" );// strip trailing
}

function IsInteger(value)
{
    if(isNaN(value))
        return false;
    return /^-?\d+$/.test(value);
}

function ConvertToInt(str)
{
    if(!IsInteger(str))
        return 0;
    return parseInt(str);
}

function ConvertToFloat(str)
{
    var fValue = parseFloat(str);
    if(isNaN(fValue))
        return 0;
    return fValue;
}

function getInnerHTML(node) {
	var str = "";
	for (var i=0; i<node.childNodes.length; i++)
		str += getOuterHTML(node.childNodes.item(i));
	return str;
}
function getOuterHTML(node) {
    var _leafElems = ["IMG", "HR", "BR", "INPUT"];
    var leafElems = {};
    for (var i=0; i<_leafElems.length; i++)
	    leafElems[_leafElems[i]] = true;
	var str = "";
	if(node.nodeName != "SCRIPT")
	{
	
	switch (node.nodeType) {
		case 1: // ELEMENT_NODE
			str += "<" + node.nodeName;
			for (var i=0; i<node.attributes.length; i++) {
				if (node.attributes.item(i).nodeValue != null && 
				    node.attributes.item(i).nodeValue != "" &&
				    node.attributes.item(i).nodeName != "disabled") {
				    
				    
					str += " "
					str += node.attributes.item(i).nodeName;
					//str += "='";
					str += "=\"";
					
					//if(node.attributes.item(i).nodeValue.toString().indexOf("\"") < 0)
				    {
				    //str += node.attributes.item(i).nodeValue.toString().replace("\"", "'");
					//str += node.attributes.item(i).nodeValue;
					}
					
					str += node.attributes.item(i).nodeValue.toString().replace(/\"/g, "'");
					//str += "'";
					str += "\"";
				}
			}
            if (node.childNodes.length == 0 && leafElems[node.nodeName])
				str += "/>";
			else {
				str += ">";
				str += getInnerHTML(node);
				str += "</" + node.nodeName + ">"
			}
			break;
				
		case 3:	//TEXT_NODE
		    if (node.innerText)
			    str += node.innerText;
			else
			    str += node.nodeValue;
			break;
			
		case 4: // CDATA_SECTION_NODE
			str += "<![CDATA[" + node.nodeValue + "]]>";
			break;
					
		case 5: // ENTITY_REFERENCE_NODE
			str += "&" + node.nodeName + ";"
			break;

		case 8: // COMMENT_NODE
			str += "<!--" + node.nodeValue + "-->"
			break;
	}
	}
	return str;
}

function PrintPage(ifrID, strBody)
{
    var printDocument = window.frames[ifrID].document;
		    
    printDocument.writeln("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">");
    printDocument.writeln("<html xmlns=\"http://www.w3.org/1999/xhtml\">");
    printDocument.writeln("<head>");
    printDocument.writeln("<title>Print Page</title>");
    printDocument.writeln("<link href='style.css' rel='stylesheet' type='text/css' />");
    printDocument.writeln("</head>");
    printDocument.writeln("<body>");
    
    printDocument.writeln(strBody);
    
    printDocument.writeln("</body>");
    printDocument.writeln("</html>");
    printDocument.close();
  /*  
    if (window.XMLHttpRequest) { // Mozilla, Safari, ...

    httpRequest = new XMLHttpRequest();

    } else if (window.ActiveXObject) { // IE

    httpRequest = new ActiveXObject("Microsoft.XMLHTTP");

    }

*/
    
    if (window.XMLHttpRequest)
    {           
        if(document.all )
        {
            printDocument.execCommand('print');  
        }
        else
        {
            window.frames[ifrID].focus();
            window.frames[ifrID].print();        
        }
    }
    else
    {           
        printDocument.execCommand('print');  
    }
    
    
}

function checkMaxLength(obj, length)
{
    if (obj.value.length > length)
        obj.value = obj.value.slice(0, length);
}

function ShowRow(obj)
{
    if(obj == null)
        return;
        
    try
    {
        obj.style.display='table-row';
    }
    catch(e)
    {
        obj.style.display='block';
    }
}

function HideRow(obj)
{
    if(obj == null)
        return;
        
    obj.style.display='none';
}

function ShowHideRow(obj)
{
    if(obj == null)
        return;
    HideAll();
    if(obj.style.display == 'none')
        ShowRow(obj);
    else
        HideRow(obj);
}

 //return true if the first date string is BEFORE the second date string otherwise returns false
    //Be careful: The date format is mm/dd/yyyy or dd-mm-yyyy (any delimiter but well formatted)
    function IsDateLessEqual(strFromDate, strToDate) 
    {
	    var yb = strFromDate.substring(6,10);
	    var db = strFromDate.substring(3,5);
	    var mb = strFromDate.substring(0,2);
	    var ye = strToDate.substring(6,10);
	    var de = strToDate.substring(3,5);
	    var me = strToDate.substring(0,2);
    	
	    var mFromDate = new Date(yb, mb-1, db);
	    var mToDate  = new Date(ye, me-1, de);
    	
	    return mFromDate <= mToDate;
    }
    
    function isInteger(s)
    {
      var i;
	  s = s.toString();
      for (i = 0; i < s.length; i++)
      {
         var c = s.charAt(i);
         if (isNaN(c)) 
	   {
		//alert("Given value is not a number");
		return false;
	   }
      }
      return true;
    }