
/*	==============================================================
	Some functions that make Firefox behave like IE
	============================================================== */
  var isIE = (window.navigator.userAgent.indexOf("MSIE") > 0);

if (! isIE) {
  HTMLElement.prototype.__defineGetter__("innerText", 
              function () { return(this.textContent); });
  HTMLElement.prototype.__defineSetter__("innerText", 
              function (txt) { this.textContent = txt; });
}


	/* 	==================================================	
		Log the download for our stats
		================================================== */
	function doDownloadMemo(pv_sPack){
	
		try{
			if(sCustomerID==''){ return; }
			var oXML = new QSXML;		
			oXML.openFromString("<R></R>");
			var ndRoot = oXML.getRootElement();
			oXML.setAttribute(ndRoot,"ID",sCustomerID);
			oXML.setAttribute(ndRoot,"PACK",pv_sPack);					
			var sURL = "/EasyHL7/ClientProcessor.asp?ACTION=DL_MEMO";
			var oHTTP = new cXMLHTTP;
			oHTTP.send(sURL,oXML.XML());
			return;
		}
		catch(err){
			alert("DownloadMemo Failed: " + err.message);
			return;
		}
	}
	
	// ==================================================
	function doDownload(pv_sPack){
		
		var sURL;
		
		doDownloadMemo(pv_sPack);
		
		try{
			switch(pv_sPack){
				case "uphl7notepad":
					sURL = "/EasyHL7/Downloads/UPHL7NotePadInstallation.msi";
					break;
				case "easyhl7mc20":
					sURL = "/EasyHL7/Downloads/EasyHL7MC20Install.msi";
					break;
				case "easyhl7mc40":
					sURL = "/EasyHL7/Downloads/EasyHL7MC40Install.msi";
					break;
				case "easyhl7mc35":
					sURL = "/EasyHL7/Downloads/EasyHL7MC35Install.msi";
					break;
				case "easyhl7mcall":
					sURL = "/EasyHL7/Downloads/EasyHL7MCObjects.zip";
					break;
				case "toolkit":
					sURL = "/EasyHL7/Downloads/EasyHL7System.zip";
					break;
				case "upsqlschema":
					sURL = "/EasyHL7/Downloads/UltraPortMSSQL.msi";
					break;
				case "fspm":
					sURL = "/EasyHL7/Downloads/FSPM.msi";
					break;
				case "uplistener":
					sURL = "/EasyHL7/Downloads/UltraPortListener.msi";
					break;
				case "uprouter":
					sURL = "/EasyHL7/Downloads/UltraPortRouter.msi";
					break;
				case "listener":
					sURL = "/EasyHL7/Downloads/HermetechListener.zip";
					break;
				case "commando":
					sURL = "/EasyHL7/Downloads/CommandoHL7.msi";
					break;
				case "widgets":
					sURL = "/EasyHL7/Downloads/EasyHL7DataWidgets.msi";
					break;
				case "mysqlschema":
					sURL = "http://www.hermetechnz.com/EasyHL7/Downloads/EasyHL7MySQLSchema.msi";
					break;				
				case "sqlschema":
					sURL = "/EasyHL7/Downloads/EasyHL7SQLSchema.msi";
					break;				
				case "accessSchema":
					sURL = "/EasyHL7/Downloads/EasyHL7AccessSchema.msi";
					break;				
			}
			if(sURL != ""){
				location.href = sURL;
			}
		}
		catch(err){
			alert("Download operation failed: " + err.message);
			return;
		}
	}

	// Tests for a correctly-formed email address
	function isEmail(argvalue) {

  		if (argvalue.indexOf(" ") != -1){ 
			return false; 
		}
  		else if (argvalue.indexOf("@") == -1){ 
			return false; 
		}
  		else if (argvalue.indexOf("@") == 0){ 
			return false; 
		}
  		else if (argvalue.indexOf("@") == (argvalue.length-1)){ 
			return false; 
		}

  		var retSize = customSplit(argvalue, "@", "arrayString");

  		if (arrayString[1].indexOf(".") == -1){ 
			return false; 
		}
  		else if (arrayString[1].indexOf(".") == 0){ 
			return false; 
		}
  		else if (arrayString[1].charAt(arrayString[1].length-1) == "."){
    		return false;
  		}

  		return true;
	}

	function ltrim(argvalue) {
  		while (1) {
    		if (argvalue.substring(0, 1) != " "){
      			break;
			}
    		argvalue = argvalue.substring(1, argvalue.length);
  		}
  		return argvalue;
	}
	
	function rtrim(argvalue) {
  		while (1) {
    		if (argvalue.substring(argvalue.length - 1, argvalue.length) != " "){
      			break;
			}
    		argvalue = argvalue.substring(0, argvalue.length - 1);
  		}
  		return argvalue;
	}

	function trim(argvalue){
		return rtrim(ltrim(argvalue));
	}

	function customSplit(strvalue, separator, arrayName) {
  		var n = 0;

  		if (separator.length != 0) {
    		while (strvalue.indexOf(separator) != -1) {
      			eval("arr"+n+" = strvalue.substring(0, strvalue.indexOf(separator));");
      			strvalue = strvalue.substring(strvalue.indexOf(separator)+separator.length,strvalue.length+1);
      			n++;
    		}
    		eval("arr" + n + " = strvalue;");
    		arraySize = n+1;
  		}
  		else {
    		for (var x = 0; x < strvalue.length; x++) {
      			eval("arr"+n+" = \"" + strvalue.substring(x, x+1) + "\";");
      			n++;
    		}
    		arraySize = n;
  		}

  		eval(arrayName + " = new makeArray(arraySize);");

  		for (var i = 0; i < arraySize; i++){
    		eval(arrayName + "[" + i + "] = arr" + i + ";");
		}

  		return arraySize;
	}
	
	function makeArray(IntarrSize) {
		for (var n = 0; n < IntarrSize; n++){
    		this[n] = "";
		}
  		return this;
	}

   function sendToClipboard(pv_sText){
      if( window.clipboardData && clipboardData.setData ){
         clipboardData.setData("Text", pv_sText);
      }
      else{
         alert("Internet Explorer required");
      }
   }
