﻿

	//document.onkeydown = keyhandler;
	document.onmousedown=clickIE4;
	function clickIE4(){
		if (event.button==2){
			alert("Not Activated...");
			return false;
		}
	}

	var CustomerCode;
	function fnStart() {
        ourInterval = setInterval('fnReady()', 300);
    }
    function fnReady() {
        if (typeof PbsWebService == 'undefined') {
            return;  
         }
        else {
            clearInterval(ourInterval);
            fnLoad();
         }
    }
	function fnLoad(){
	      window.resizeTo(800,600)
	      x=((screen.width-800)/2);
          y=((screen.height-600)/2);
          window.moveTo (x,y);
          document.getElementById('selOnlineSuppliers').onchange=function(){fnShowUser();};
          document.getElementById('btnAddUser').onclick=function(){fnGetOnlineUser();};
          document.getElementById('btnRemoveUser').onclick=function(){fnRemoveOnlineUser();}; 
          document.getElementById('btnLogin').onclick=function(){fnLogin("");};
          document.getElementById('btnLoginAll').onclick=function(){fnLogin("ALL");};
          document.getElementById('selStoredUsers').onkeydown=function(){fnselStoredUsersKeydown(event);};
	      fnLoadWebService();
	      fnGetOnlineSuppliers()
	      document.getElementById('selStoredUsers').focus();  
   }
   function fnShowUser() {
        if (typeof oSuppliers == 'undefined') {
            return;
        }
       row=document.getElementById('selOnlineSuppliers').selectedIndex-1;
       document.getElementById('txtUserName').innerText=oSuppliers.row[row].UserName;
       document.getElementById('txtPassWord').innerText=oSuppliers.row[row].PassWord; 
   }
   function fnAddUser() {
        if (typeof oSuppliers == 'undefined') {
            return;
        }
       row=document.getElementById('selOnlineSuppliers').selectedIndex-1;
       oSuppliers.row[row].UserName=document.getElementById('txtUserName').value;
       oSuppliers.row[row].PassWord=document.getElementById('txtPassWord').value; 
       fnSaveUserData(); 
       fnLoadUserData(); 
   }
   function fnSaveUserData() {
         //Local PeachWebServerIP
         var ServerIP=document.getElementById('oServerIP').value;
		 document.getElementById('oServerIP').setAttribute("sPersistAttr",ServerIP);
	    document.getElementById('oServerIP').save("oPbsData5");
	     //Local PeachWebServer Database
	    var ServerDB=document.getElementById('oServerDB').value;
	    document.getElementById('oServerDB').setAttribute("sPersistAttr",ServerDB);
	    document.getElementById('oServerDB').save("oPbsData6");
	     //Users
        recordcount=oSuppliers.rowcount;
        dx="RecordCount~_Name~_UserName~_PassWord"
        for (rr=0; rr<recordcount; rr++){
            if (oSuppliers.row[rr].UserName>'0'){
                dx=dx + "~|" + rr + "~_" + oSuppliers.row[rr].Name + "~_" + oSuppliers.row[rr].UserName + "~_" +oSuppliers.row[rr].PassWord;
            }
        }
       
       document.getElementById('oUsers').setAttribute("sPersist",dx);
       document.getElementById('oUsers').save("oUserList");

   }
   function fnLoadUserData() {
       //Local PeachWebServerIP
        document.getElementById('oServerIP').load("oPbsData5");
        mServerIP=document.getElementById('oServerIP').getAttribute("sPersistAttr");
        if (mServerIP=='null') {
                mServerIP=""
        }
        document.getElementById('oServerIP').value=mServerIP
         //Local PeachWebServer Database
        document.getElementById('oServerDB').load("oPbsData6");
        mServerDB=document.getElementById('oServerDB').getAttribute("sPersistAttr");
        if (mServerDB=='null') {
                mServerDB=""
        }
        document.getElementById('oServerDB').value=mServerDB
        //Users
       document.getElementById('oUsers').load("oUserList");
       dx=document.getElementById('oUsers').getAttribute("sPersist");
      if (dx==null) {
        return;
      }
       oStoredUsers=fnCreateDXObject(dx); 
       recordcount=oStoredUsers.rowcount;
       srecordcount=oSuppliers.rowcount; 
        document.getElementById('selStoredUsers').options.length=0; 
	    document.getElementById('selStoredUsers').options[0] = new Option("(Select Online Supplier)");
        if (recordcount>0) {
	       
	        // load StoredUser dropdown in login tab
	        for (rr=0; rr<recordcount; rr++){
	            document.getElementById('selStoredUsers').options[rr+1] = new Option(oStoredUsers.row[rr].Name);
	            // insert username and pwd into the setup tab dropdown list
	           for (sr=0; sr<srecordcount; sr++){
                    if (oSuppliers.row[sr].Name==oStoredUsers.row[rr].Name){
                           oSuppliers.row[sr].UserName=oStoredUsers.row[rr].UserName
                           oSuppliers.row[sr].PassWord=oStoredUsers.row[rr].PassWord
                    }
                }  
		    }
	        if (document.getElementById('selStoredUsers').options.length==2) {
		        document.getElementById('selStoredUsers').selectedIndex=1;
		    } else {
		        document.getElementById('selStoredUsers').selectedIndex=0;
	        }
		}
	}
    function fnLoadWebService() {
	    var varServer = window.location.hostname;
	    var varWebserver = "http://" + varServer + "/v5/v5.asmx?wsdl";
	    PbsWebService.useService(varWebserver,"wsFunction");
	    
	}
	
	
	 function fnGetOnlineSuppliers() {
	    var SrchSQL = "Select Distinct [Name] from Users where Primary=true order by [Name]";
	    var SrchTbl = "Users"
	    var db = "PbsUsers.mdb";
        var dblcn=""
        var CountSQL=""
        document.getElementById('lblWaiting').style.zIndex=120;
        document.getElementById('lblWaiting').style.visibility="visible";
        iCallID = PbsWebService.wsFunction.callService(fnGetOnlineSuppliersResult, "GetCDX", SrchSQL,CountSQL,dblcn,db);
    }
	
    function fnGetOnlineSuppliersResult(dxRes) {
         document.body.style.cursor='default'; 
          document.getElementById('lblWaiting').style.zIndex=102;
        document.getElementById('lblWaiting').style.visibility="hidden";
        
        if (dxRes.error) {
            alert("Unsuccessful web service request. Error is: " + dxRes.errorDetail.string);
            return;
        }
        dxResult=dxRes.value;
       
      
        if (dxResult.substring(0,1)== "!") {
            document.getElementById('selOnlineSuppliers').options[0] = new Option("(Unavailable)");
            return;
        }
        oSuppliers=fnCreateDXObject(dxResult);
       
        recordcount=oSuppliers.rowcount;
        document.getElementById('selOnlineSuppliers').options.length=0;    
	    if (recordcount>0) {
	
		    document.getElementById('selOnlineSuppliers').options[0] = new Option("(Select Online Supplier)");
		    for (rr=0; rr<recordcount; rr++){
		        document.getElementById('selOnlineSuppliers').options[rr+1] = new Option(oSuppliers.row[rr].Name);
			    oSuppliers.row[rr].UserName=''; 
			    oSuppliers.row[rr].PassWord='';  
			   
		    }
		    if (document.getElementById('selOnlineSuppliers').options.length==2) {
			    document.getElementById('selOnlineSuppliers').selectedIndex=1;
			    fnShowUser(); 
		    } else {
			    document.getElementById('selOnlineSuppliers').selectedIndex=0;
		    }
		    //Load User Dropdown Login Tab
		    fnLoadUserData()
		}
		else {
			//alert("Catalogs not Found...");
		}
            
    } 
   function fnRemoveOnlineUser() {
        row=document.getElementById('selOnlineSuppliers').selectedIndex;
        SupplierName=document.getElementById('selOnlineSuppliers').options[row].innerText;
        UserName=fnTrim(document.getElementById('txtUserName').value);
        PassWord=fnTrim(document.getElementById('txtPassWord').value);
        if (row>0 ) {
            UserName="";
            PassWord="";
            document.getElementById('txtUserName').innerText="";
            document.getElementById('txtPassWord').innerText="";
            fnAddUser();
            document.getElementById('selOnlineSuppliers').selectedIndex=0;
        }
    }
   
   function fnGetOnlineUser() {
        row=document.getElementById('selOnlineSuppliers').selectedIndex;
        SupplierName=document.getElementById('selOnlineSuppliers').options[row].innerText;
        UserName=fnTrim(document.getElementById('txtUserName').value);
        PassWord=fnTrim(document.getElementById('txtPassWord').value);
        SrchSQL = "Select [Name],[UserName],[PassWord] from Users where  [Name]='" + SupplierName + "'";
	    SrchSQL=SrchSQL+" and  [UserName]='" + UserName + "'  and [PassWord]='" + PassWord + "'"
	    var SrchTbl = "Users"
	    var db = "PbsUsers.mdb";
        var dblcn=""
        var CountSQL=""
        document.getElementById('lblWaiting').style.zIndex=120;
        document.getElementById('lblWaiting').style.visibility="visible";
        iCallID = PbsWebService.wsFunction.callService(fnGetOnlineUserResult, "GetCDX", SrchSQL,CountSQL,dblcn,db);
    }
	
    function fnGetOnlineUserResult(dxRes) {
         document.body.style.cursor='default'; 
          document.getElementById('lblWaiting').style.zIndex=102;
        document.getElementById('lblWaiting').style.visibility="hidden";
        
        if (dxRes.error) {
            alert("Unsuccessful web service request. Error is: " + dxRes.errorDetail.string);
            return;
        }
        dxResult=dxRes.value;
       
      
        if (dxResult.substring(0,1)== "!") {
            alert(dxResult);
            return;
        }
        oUser=fnCreateDXObject(dxResult);
       
        recordcount=oUser.rowcount;
            
	    if (recordcount>0) {
	        fnAddUser();
	        alert("User has been successfully added...");
		}
		else {
			alert("Invalid UserName and PassWord...");
		}
            
    }
   
       function fnTrim(sString) {
            while (sString.substring(0,1) == ' ') {
                sString = sString.substring(1, sString.length);
            }
            while (sString.substring(sString.length-1, sString.length) == ' ') {
                sString = sString.substring(0,sString.length-1);
            }
            return sString;
        }  
    
     function strReplaceAll(str,strFind,strReplace) {
		var returnStr = str;
		var start = returnStr.indexOf(strFind);
		while (start>=0)
		{
			returnStr = returnStr.substring(0,start) + strReplace + returnStr.substring(start+strFind.length,returnStr.length);
			start = returnStr.indexOf(strFind,start+strReplace.length);
		}
		return returnStr;
	} 
	
	function fnselStoredUsersKeydown(e) {
        if (e.keyCode==13) {
            fnLogin("");
			return false;
		 }
	} 
	
	function fnCreateDXObject(dxResult){
        os = new Array();
        dxr = dxResult.split("~|")
        dxr[0]=strReplaceAll(dxr[0],'.','');
        dxf = dxr[0].split("~_")
        
        for (currentLne=0; currentLne<dxr.length-1; currentLne++){ 
	        var o = new Object();
	       
            dxc = dxr[currentLne+1].split("~_")
            //RecordCount
            o["Recordcount"]=dxf[0]
            //Fields
            for (c=1; c< dxc.length ; c++){
                if (dxc[c].indexOf('~')>=0) {
                    o[dxf[c]]=strReplaceAll(dxc[c],'~','_');
                }
                else {
                    o[dxf[c]]=dxc[c];
                }
            }
	        os[currentLne]=o;
        }
        var o = new Object();
        o.rowcount=dxr.length-1;
        o.colcount=dxf.length-1;
        o.row=os;
        return o;
     }	
	
	
	
   
   function fnLogin(Mode) {
        //Local PeachWebServerIP
         var ServerIP=document.getElementById('oServerIP').value;
		 document.getElementById('oServerIP').setAttribute("sPersistAttr",ServerIP);
	    document.getElementById('oServerIP').save("oPbsData5");
	     //Local PeachWebServer Database
	    var ServerDB=document.getElementById('oServerDB').value;
	    document.getElementById('oServerDB').setAttribute("sPersistAttr",ServerDB);
	    document.getElementById('oServerDB').save("oPbsData6");
       
        if (Mode=="ALL" ) {
            startRow=0
            finRow=oStoredUsers.rowcount-1
        } else {
             selectedRow=document.getElementById('selStoredUsers').selectedIndex-1;
             if (selectedRow<0) {
                alert("Select an Online Supplier first..."); 
                return;
            }  
             startRow=selectedRow
             finRow=selectedRow
        }
        document.getElementById('btnLogin').disabled = true;
        //loop logins
         for (row=startRow; row<= finRow ; row++) {	
                UserName=oStoredUsers.row[row].UserName;
                PassWord=oStoredUsers.row[row].PassWord; 
                CoName=oStoredUsers.row[row].Name; 
	            
		       LoadForm = "pamenu.aspx"
		       if (CoName>'0') {
		            LoadForm ="pamenu.aspx"+'?c='+CoName; 
		       }
		       //ipamenu
		        if (UserName.indexOf('*')>-1 || UserName.substring(0,2).toLowerCase()=='ab') {
		            var LoadForm = "ipamenu.aspx"
		            if (CoName>'0') {
		                LoadForm =LoadForm +'?c='+CoName; 
		            }
		        }
		        
		        h = 530;
		        w = 800;
		        l = (screen.availWidth-10 - w) / 2;
		        t = (screen.availHeight-20 - h) / 2;
		        var wide=screen.width
		        try {
	                if (wide < 1024) {
                	    
		               window.open(LoadForm, "_blank","height=440,width=800,left=0,top=0,status=yes,toolbar=no,scrollbars=no,menubar=no,location=no");
		                }
	                else {
	                   window.open(LoadForm, "_blank","height=400,width=795,left=1,top=1,status=yes,toolbar=no,scrollbars=no,menubar=no,location=no");
	                }
	            }
	            catch(err)
                  {
                      document.getElementById('divMsg').innerText=err.description
                      document.getElementById('btnLogin').disabled = false;
                      //return;
                  }
        }
		// Now close this window
		//if (window.name != "PeachOnline") {
			//check ie7/ie6
			if (window.XMLHttpRequest){
		         window.open('','_parent','');
                 window.close();
            } else  {
                 var oMe = window.self;
			     oMe.opener = window.self;
                 oMe.close();
            }
		//}
	
	}
	
	
	