/* Function for WebService Access using SOAP  */
function SendPageToMail(senderName, senderEmailAddress, recipientName, recipientEmailAddress, urlCurrentPage) 
{
        //xmlhttprequest = createRequestObject();
        xmlhttprequest = createXmlHttpRequestObject2();
        
        var emailTemplate = "";

        var wsUrl = "http://tfs-comed:25000/ComEdWs.asmx"
        var soapXml = "";
        soapXml = soapXml + "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n";
        soapXml = soapXml + "<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">\n";
        soapXml = soapXml + "<soap:Body>\n";
        soapXml = soapXml + "<SendPageToEmail xmlns=\"http://www.comed.com/webservices\">\n";
        soapXml = soapXml + "<senderName>" + senderName + "</senderName>\n";
        soapXml = soapXml + "<senderEmailAddress>" + senderEmailAddress + "</senderEmailAddress>\n";
        soapXml = soapXml + "<recipientName>" + recipientName + "</recipientName>\n";
        soapXml = soapXml + "<recipientEmailAddress>" + recipientEmailAddress + "</recipientEmailAddress>\n";
        soapXml = soapXml + "<urlCurrentPage>" + urlCurrentPage + "</urlCurrentPage>\n";
        soapXml = soapXml + "<emailTemplate>" + emailTemplate + "</emailTemplate>\n";
        soapXml = soapXml + "</SendPageToEmail>\n";
        soapXml = soapXml + "</soap:Body>\n";
        soapXml = soapXml + "</soap:Envelope>\n"

		try 
		{
		 	// netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
    		// netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
			xmlhttprequest.open("POST", wsUrl, false);
        	xmlhttprequest.setRequestHeader("Content-Type", "text/xml");
        	xmlhttprequest.setRequestHeader("SOAPAction", "http://www.comed.com/webservices/SendPageToEmail");
        	xmlhttprequest.onreadystatechange = getData;
        	xmlhttprequest.send(soapXml);

        	if ((xmlhttprequest.readyState == 4) && (xmlhttprequest.status == 200)) 
        	{
        	    return true;
        	}
        	
        	 
		} 
		catch (err) 
		{                   // if error occurs
		    alert("XMLHttpRequest.open() failed.\n" + err);                     // show error
		    return false;
		}


    }

    // Function for WebService Access using HttpGET
    function initiateConversionV1() {

        xmlhttprequest = createRequestObject();
        
        var url = "http://tfs-comed:28000/Service1.asmx/" + "AddTwoInteger?firstNumber=Sample" + "&secondNumber=Sample";

        var url2 = "http://tfs-comed:25000/ComEdWS.asmx/" + "SendPageToEmail?dataString=Sample";


        xmlhttprequest.open("GET", url, false);

        xmlhttprequest.onreadystatechange = getData;

        xmlhttprequest.send(null);

    }


    function createRequestObject() 
    {
    
        // Native for non IE
        if (window.XMLHttpRequest && !(window.ActiveXObject)) 
        {
            try 
            {
                return xmlhttprequest = new XMLHttpRequest();
            } 
            catch (e) 
            {
                return xmlhttprequest = null;
            }
        // branch for IE/Windows ActiveX version
        }
        else if (window.ActiveXObject) 
        {
            try 
            {
                return xmlhttprequest = new ActiveXObject("Msxml2.XMLHTTP");
            }
            catch (e) 
            {
                try 
                {
                    return xmlhttprequest = new ActiveXObject("Microsoft.XMLHTTP");
                }
                catch (e) 
                {
                    return xmlhttprequest = null;
                }
            }
        }
    }

	function createXmlHttpRequestObject2() 
    {
    	// netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
  		// netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");

    	try 
    	{
    		return xmlhttprequest = new XMLHttpRequest();
		} 
		catch (e) 
		{ 
			try 
			{
				return xmlhttprequest = new ActiveXObject('Msxml2.XMLHTTP');
			} 
			catch (e) 
			{
				try 
				{
  					return xmlhttprequest = new ActiveXObject('Microsoft.XMLHTTP');
				} 
				catch (e) 
				{
  					document.write('XMLHttpRequest not supported'); 
				}
			}
    
    	}
    }


	function createXmlHttpRequestObject() 
    {
    	
    	if (typeof XMLHttpRequest != 'undefined') 
    	{  // if ECMA version of object is available
  			try 
  			{
    			// netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
    			// netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
    			return xmlhttprequest = new XMLHttpRequest();          // instantiate it
  			} 
  			catch (err) 
  			{
    			alert("Error initializing XMLHttpRequest.\n"+err); // show error
  			}
		} 
		else 
		{ // else assume this is IE and
  			var msobj = new Array("Msxml2.XMLHTTP.6.0",
                        		"Msxml2.XMLHTTP.4.0",
		                        "Msxml2.XMLHTTP.3.0",
		                        "Msxml2.XMLHTTP",
		                        "Microsoft.XMLHTTP");
  			var x, len = msobj.length;
  			for(x=0; x<len; ++x) 
  			{ // try each MS ActiveX object in turn
    			try 
    			{
					return xmlhttprequest = new ActiveXObject(msobj[x]);
      				break;
    			} 
    			catch (err) 
    			{};
  			}
		}
    }

    function getData() {

        if ((xmlhttprequest.readyState == 4) && (xmlhttprequest.status == 200)) 
        {

            var xmlResponse = xmlhttprequest.responseXML.XML;

            var xmlText = xmlhttprequest.responseText;
            
            
        } 
        else {
            if (xmlhttprequest.readyState == 4)
            {
            
            	switch (xmlhttprequest.status)
            	{
					case 400:
						alert("400 - Bad Request");
  						break;
  					case 500:
  						alert("500 - Internal Server Error");
  						break;
  					case 12029:  
  						alert("12029 - ERROR_INTERNET_CANNOT_CONNECT \n The attempt to connect to the server failed.");
  						break;
  					case 12007:  
  						alert("12007 - ERROR_INTERNET_NAME_NOT_RESOLVED \n The server name could not be resolved.");
  						break;	
					default:
  						
				}
				
            }

        }

    }
	
		function DetectBrowser() {

            var browser = "";

            // [FIREFOX]
            if (/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent)) { //test for Firefox/x.x or Firefox x.x (ignoring remaining digits);
                var ffversion = new Number(RegExp.$1) // capture x.x portion and store as a number
                if (ffversion >= 3)
                    browser = "FireFox 3.x"
                else if (ffversion >= 2)
                    browser = "FireFox 2.x"
                else if (ffversion >= 1)
                    browser = "FireFox 1.x"
            }
            
            // [IE]
            if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) { //test for MSIE x.x;
                var ieversion = new Number(RegExp.$1) // capture x.x portion and store as a number
                if (ieversion >= 8)
                    browser = "IE8"
                else if (ieversion >= 7)
                    browser = "IE7"
                else if (ieversion >= 6)
                    browser = "IE6"
                else if (ieversion >= 5)
                    browser = "IE5"
            }

            return browser;
        
        }
    
    
        function OpenModalWindow() {

            var urlOfPage = "http://www.comed.com/SendEmail/SendPageTomail.aspx?url=" + window.location.toString();

            var browserType = DetectBrowser();

            var screenResX = screen.width;
            var screenResY = screen.height;

            switch (browserType) {
                case "FireFox 3.x":
                    var windowHeight = 287;
                    var windowWidth = 270;
                    break;
                
                case "FireFox 2.x":
                    var windowHeight = 287;
                    var windowWidth = 288;
                    break;

                case "FireFox 1.x":
                    var windowHeight = 287;
                    var windowWidth = 288;
                    break;

                case "IE8":
                    var windowHeight = 270;
                    var windowWidth = 270;
                    break;

                case "IE7":
                    var windowHeight = 270;
                    var windowWidth = 270;
                    break;
                    
                case "IE6":
                    var windowHeight = 303;
                    var windowWidth = 275;
                    break;
                default:
                    var windowHeight = 286;
                    var windowWidth = 270;
            }

            if (window.showModalDialog) {
                if (browserType == "FireFox 3.x") {

                    var screenTop = (screenResY / 2) - (windowWidth / 2);
                    var screenLeft = (screenResX / 2) - (windowHeight / 2);

                    dialogProperties = "dialogTop:" + screenTop.toString() + ";dialogLeft:" + screenLeft.toString() + ";dialogWidth:" + windowWidth.toString() + "px;dialogHeight:" + windowHeight.toString() + "px;status: no;unadorned: yes;scroll: no;help: no; resizable: no"
                    window.showModalDialog(urlOfPage, "name", dialogProperties);
                }
                else {
                    dialogProperties = "dialogWidth:" + windowWidth.toString() + "px;dialogHeight:" + windowHeight.toString() + "px;status: no;unadorned: yes;scroll: no;help: no; resizable: no"
                    window.showModalDialog(urlOfPage, "name", dialogProperties);
                }
            }
            else {


                var screenTop = (screenResY / 2) - (windowWidth / 2);
                var screenLeft = (screenResX / 2) - (windowHeight / 2);

                dialogProperties = 'modal=yes,height=' + windowHeight.toString() + ',width=' + windowWidth.toString() + ',top=' + screenTop.toString() + ',left=' + screenLeft.toString() + ',help=no,toolbar=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no'
                window.open(urlOfPage, 'name', dialogProperties);
            }
        }
	

