You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by bf...@apache.org on 2012/06/06 22:45:04 UTC

git commit: Merge UI changes to 3.0.x branch:

Updated Branches:
  refs/heads/3.0.x 4f664c981 -> ced4a3f30


Merge UI changes to 3.0.x branch:

commit 38306f52daef938a6b5e82b077c8532d1ab5d160
Author: Sanjay Tripathi <sa...@citrix.com>
Date:   Wed Jun 6 23:24:59 2012 +0530

    CS-14562: Domian page does not show up (spinner shown) for a very long time when there are large number of hosts and vms.

commit 85c754d73427803898436cdae21b2018bbbbb18d
Author: Jessica Wang <je...@citrix.com>
Date:   Mon Jun 4 19:05:20 2012 -0700

    CS-13091: Remove enable/disable physical network actions. Due to limitations in the API, for now the enable/disable  functionality for physical networks will be removed.

commit 5117bba85154d0a754f39a60dfe61d0510c21783
Author: Jessica Wang <je...@citrix.com>
Date:   Mon Jun 4 19:01:27 2012 -0700

    CS-14769:  Don't pass subdomainaccess param when scope=project

commit 1be5e0827007ca21aad9ac30dde16664ccd0295c
Author: Jessica Wang <je...@citrix.com>
Date:   Mon Jun 4 18:10:40 2012 -0700

    CS-15057: Remove jquery.timer.js from source code. Replace it with native JavaScript functions. (remove conflict mark)

commit 03b559bbb98b9a604403f5e016b4f18647f2cab8
Author: Jessica Wang <je...@citrix.com>
Date:   Mon Jun 4 15:55:53 2012 -0700

    CS-15057: Remove jquery.timer.js from source code. Replace it with native JavaScript functions.


Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/ced4a3f3
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/ced4a3f3
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/ced4a3f3

Branch: refs/heads/3.0.x
Commit: ced4a3f30c70f7f7348fc1517e997cb312f24421
Parents: 4f664c9
Author: Brian Federle <br...@citrix.com>
Authored: Wed Jun 6 13:42:46 2012 -0700
Committer: Brian Federle <br...@citrix.com>
Committed: Wed Jun 6 13:42:46 2012 -0700

----------------------------------------------------------------------
 ui/index.jsp                              |    1 -
 ui/lib/jquery.timers.js                   |  150 --------------
 ui/scripts/domains.js                     |   15 ++-
 ui/scripts/system.js                      |  100 ++++------
 ui/scripts/ui-custom/physicalResources.js |    7 +-
 ui/scripts/zoneWizard.js                  |  257 ++++++++++++------------
 6 files changed, 185 insertions(+), 345 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/ced4a3f3/ui/index.jsp
----------------------------------------------------------------------
diff --git a/ui/index.jsp b/ui/index.jsp
index c1fb74c..d36b019 100644
--- a/ui/index.jsp
+++ b/ui/index.jsp
@@ -1583,7 +1583,6 @@
     <script src="lib/jquery-ui/js/jquery-ui.js" type="text/javascript"></script>		
     <script src="lib/date.js" type="text/javascript"></script>
     <script src="lib/jquery.cookies.js" type="text/javascript"></script>
-    <script src="lib/jquery.timers.js" type="text/javascript"></script>
     <script src="lib/jquery.md5.js" type="text/javascript" ></script>
 		
     <script src="lib/excanvas.js"></script>

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/ced4a3f3/ui/lib/jquery.timers.js
----------------------------------------------------------------------
diff --git a/ui/lib/jquery.timers.js b/ui/lib/jquery.timers.js
deleted file mode 100644
index fa2c209..0000000
--- a/ui/lib/jquery.timers.js
+++ /dev/null
@@ -1,150 +0,0 @@
-// Copyright 2012 Citrix Systems, Inc. Licensed under the
-// Apache License, Version 2.0 (the "License"); you may not use this
-// file except in compliance with the License.  Citrix Systems, Inc.
-// reserves all rights not expressly granted by the License.
-// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-// 
-// Automatically generated by addcopyright.py at 04/03/2012
-/**
- * jQuery.timers - Timer abstractions for jQuery
- * Written by Blair Mitchelmore (blair DOT mitchelmore AT gmail DOT com)
- * Licensed under the WTFPL (http://sam.zoy.org/wtfpl/).
- * Date: 2009/10/16
- *
- * @author Blair Mitchelmore
- * @version 1.2
- *
- **/
-
-jQuery.fn.extend({
-	everyTime: function(interval, label, fn, times) {
-		return this.each(function() {
-			jQuery.timer.add(this, interval, label, fn, times);
-		});
-	},
-	oneTime: function(interval, label, fn) {
-		return this.each(function() {
-			jQuery.timer.add(this, interval, label, fn, 1);
-		});
-	},
-	stopTime: function(label, fn) {
-		return this.each(function() {
-			jQuery.timer.remove(this, label, fn);
-		});
-	}
-});
-
-jQuery.extend({
-	timer: {
-		global: [],
-		guid: 1,
-		dataKey: "jQuery.timer",
-		regex: /^([0-9]+(?:\.[0-9]*)?)\s*(.*s)?$/,
-		powers: {
-			// Yeah this is major overkill...
-			'ms': 1,
-			'cs': 10,
-			'ds': 100,
-			's': 1000,
-			'das': 10000,
-			'hs': 100000,
-			'ks': 1000000
-		},
-		timeParse: function(value) {
-			if (value == undefined || value == null)
-				return null;
-			var result = this.regex.exec(jQuery.trim(value.toString()));
-			if (result[2]) {
-				var num = parseFloat(result[1]);
-				var mult = this.powers[result[2]] || 1;
-				return num * mult;
-			} else {
-				return value;
-			}
-		},
-		add: function(element, interval, label, fn, times) {
-			var counter = 0;
-			
-			if (jQuery.isFunction(label)) {
-				if (!times) 
-					times = fn;
-				fn = label;
-				label = interval;
-			}
-			
-			interval = jQuery.timer.timeParse(interval);
-
-			if (typeof interval != 'number' || isNaN(interval) || interval < 0)
-				return;
-
-			if (typeof times != 'number' || isNaN(times) || times < 0) 
-				times = 0;
-			
-			times = times || 0;
-			
-			var timers = jQuery.data(element, this.dataKey) || jQuery.data(element, this.dataKey, {});
-			
-			if (!timers[label])
-				timers[label] = {};
-			
-			fn.timerID = fn.timerID || this.guid++;
-			
-			var handler = function() {
-				if ((++counter > times && times !== 0) || fn.call(element, counter) === false)
-					jQuery.timer.remove(element, label, fn);
-			};
-			
-			handler.timerID = fn.timerID;
-			
-			if (!timers[label][fn.timerID])
-				timers[label][fn.timerID] = window.setInterval(handler,interval);
-			
-			this.global.push( element );
-			
-		},
-		remove: function(element, label, fn) {
-			var timers = jQuery.data(element, this.dataKey), ret;
-			
-			if ( timers ) {
-				
-				if (!label) {
-					for ( label in timers )
-						this.remove(element, label, fn);
-				} else if ( timers[label] ) {
-					if ( fn ) {
-						if ( fn.timerID ) {
-							window.clearInterval(timers[label][fn.timerID]);
-							delete timers[label][fn.timerID];
-						}
-					} else {
-						for ( var fn in timers[label] ) {
-							window.clearInterval(timers[label][fn]);
-							delete timers[label][fn];
-						}
-					}
-					
-					for ( ret in timers[label] ) break;
-					if ( !ret ) {
-						ret = null;
-						delete timers[label];
-					}
-				}
-				
-				for ( ret in timers ) break;
-				if ( !ret ) 
-					jQuery.removeData(element, this.dataKey);
-			}
-		}
-	}
-});
-
-jQuery(window).bind("unload", function() {
-	jQuery.each(jQuery.timer.global, function(index, item) {
-		jQuery.timer.remove(item);
-	});
-});

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/ced4a3f3/ui/scripts/domains.js
----------------------------------------------------------------------
diff --git a/ui/scripts/domains.js b/ui/scripts/domains.js
index 9179b42..7fc6700 100644
--- a/ui/scripts/domains.js
+++ b/ui/scripts/domains.js
@@ -277,10 +277,21 @@
                   else
                     total = 0;
                   domainObj["accountTotal"] = total;
+                  var itemsAcc;
+                  var totalVMs=0;
+                  var totalVolumes=0;
+                  for(var i=0;i<total;i++) {
+                        itemsAcc = json.listaccountsresponse.account[i];
+                        totalVMs = totalVMs + itemsAcc.vmtotal;
+                        totalVolumes = totalVolumes + itemsAcc.volumetotal;
+                  }
+                  domainObj["vmTotal"] = totalVMs;
+                  domainObj["volumeTotal"] = totalVolumes;
+
                 }
               });
 
-              $.ajax({
+             /* $.ajax({
                 url: createURL("listVirtualMachines&details=min&domainid=" + domainObj.id),
                 async: false,
                 dataType: "json",
@@ -308,7 +319,7 @@
                     total = 0;
                   domainObj["volumeTotal"] = total;
                 }
-              });
+              });*/
 
               $.ajax({
                 url: createURL("listResourceLimits&domainid=" + domainObj.id),

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/ced4a3f3/ui/scripts/system.js
----------------------------------------------------------------------
diff --git a/ui/scripts/system.js b/ui/scripts/system.js
index 18ed9a9..37868de 100644
--- a/ui/scripts/system.js
+++ b/ui/scripts/system.js
@@ -1349,12 +1349,7 @@
 													}
 													else if($form.find('.form-item[rel=projectId]').css("display") != "none") {  //project-specific
 														array1.push("&projectid=" + args.data.projectId);
-														array1.push("&acltype=account");
-
-														if ($form.find('.form-item[rel=subdomainaccess]:visible input:checked').size())
-															array1.push("&subdomainaccess=true");
-														else
-															array1.push("&subdomainaccess=false");
+														array1.push("&acltype=account");														
 													}
 													else {  //domain-specific
 														array1.push("&acltype=domain");
@@ -1758,7 +1753,7 @@
                         ],
                         dataProvider: function(args) {			
 													$.ajax({
-														url: createURL("listNetworks&id=" + args.context.networks[0].id + "&listAll=true"), //pass "&listAll=true" to "listNetworks&id=xxxxxxxx" for now before API gets fixed.
+														url: createURL("listNetworks&id=" + args.context.networks[0].id + "&listAll=true" + "&projectid=-1"), //pass "&listAll=true" to "listNetworks&id=xxxxxxxx" for now before API gets fixed.
 														dataType: "json",
 														async: false,
 														success: function(json) {														 
@@ -1827,7 +1822,7 @@
 							notification: {
 								poll: pollAsyncJobResult
 							}
-						}
+						}						
 					}
         },
         dataProvider: function(args) {
@@ -2489,9 +2484,8 @@
                       dataType: "json",
                       async: true,
                       success: function(json) {
-                        var jobId = json.addnetworkserviceproviderresponse.jobid;
-                        var timerKey = "addNetworkServiceProviderJob_"+jobId;
-                        $("body").everyTime(2000, timerKey, function() {
+                        var jobId = json.addnetworkserviceproviderresponse.jobid;                       
+												var addNetscalerProviderIntervalID = setInterval(function() { 	
                           $.ajax({
                             url: createURL("queryAsyncJobResult&jobId="+jobId),
                             dataType: "json",
@@ -2501,7 +2495,7 @@
                                 return; //Job has not completed
                               }
                               else {
-                                $("body").stopTime(timerKey);
+                                clearInterval(addNetscalerProviderIntervalID); 
                                 if (result.jobstatus == 1) {
                                   nspMap["netscaler"] = result.jobresult.networkserviceprovider;
                                   addExternalLoadBalancer(args, selectedPhysicalNetworkObj, "addNetscalerLoadBalancer", "addnetscalerloadbalancerresponse", "netscalerloadbalancer");
@@ -2516,7 +2510,7 @@
                               alert("addNetworkServiceProvider&name=Netscaler failed. Error: " + errorMsg);
                             }
                           });
-                        });
+                        }, 3000); 		
                       }
                     });
                   }
@@ -2718,9 +2712,8 @@
                       dataType: "json",
                       async: true,
                       success: function(json) {
-                        var jobId = json.addnetworkserviceproviderresponse.jobid;
-                        var timerKey = "addNetworkServiceProviderJob_"+jobId;
-                        $("body").everyTime(2000, timerKey, function() {
+                        var jobId = json.addnetworkserviceproviderresponse.jobid;                        
+												var addF5ProviderIntervalID = setInterval(function() { 	
                           $.ajax({
                             url: createURL("queryAsyncJobResult&jobId="+jobId),
                             dataType: "json",
@@ -2730,7 +2723,7 @@
                                 return; //Job has not completed
                               }
                               else {
-                                $("body").stopTime(timerKey);
+                                clearInterval(addF5ProviderIntervalID); 
                                 if (result.jobstatus == 1) {
                                   nspMap["f5"] = json.queryasyncjobresultresponse.jobresult.networkserviceprovider;
                                   addExternalLoadBalancer(args, selectedPhysicalNetworkObj, "addF5LoadBalancer", "addf5bigiploadbalancerresponse");
@@ -2745,7 +2738,7 @@
                               alert("addNetworkServiceProvider&name=F5BigIpfailed. Error: " + errorMsg);
                             }
                           });
-                        });
+                        }, 3000); 		
                       }
                     });
                   }
@@ -2967,8 +2960,7 @@
                       async: true,
                       success: function(json) {
                         var jobId = json.addnetworkserviceproviderresponse.jobid;
-                        var timerKey = "addNetworkServiceProviderJob_"+jobId;
-                        $("body").everyTime(2000, timerKey, function() {
+                        var addJuniperSRXProviderIntervalID = setInterval(function() { 	
                           $.ajax({
                             url: createURL("queryAsyncJobResult&jobId="+jobId),
                             dataType: "json",
@@ -2978,7 +2970,7 @@
                                 return; //Job has not completed
                               }
                               else {
-                                $("body").stopTime(timerKey);
+                                clearInterval(addJuniperSRXProviderIntervalID); 
                                 if (result.jobstatus == 1) {
                                   nspMap["srx"] = json.queryasyncjobresultresponse.jobresult.networkserviceprovider;
                                   addExternalFirewall(args, selectedPhysicalNetworkObj, "addSrxFirewall", "addsrxfirewallresponse", "srxfirewall");
@@ -2993,7 +2985,7 @@
                               alert("addNetworkServiceProvider&name=JuniperSRX failed. Error: " + errorMsg);
                             }
                           });
-                        });
+                        }, 3000); 		
                       }
                     });
                   }
@@ -5125,9 +5117,8 @@
                     dataType: "json",
                     async: true,
                     success: function(json) {
-                      var jobId = json.addnetworkserviceproviderresponse.jobid;
-                      var timerKey = "addNetworkServiceProviderJob_"+jobId;
-                      $("body").everyTime(2000, timerKey, function() {
+                      var jobId = json.addnetworkserviceproviderresponse.jobid;                      
+											var addNetscalerProviderIntervalID = setInterval(function() { 	
                         $.ajax({
                           url: createURL("queryAsyncJobResult&jobId="+jobId),
                           dataType: "json",
@@ -5137,7 +5128,7 @@
                               return; //Job has not completed
                             }
                             else {
-                              $("body").stopTime(timerKey);
+                              clearInterval(addNetscalerProviderIntervalID); 
                               if (result.jobstatus == 1) {
                                 nspMap["netscaler"] = result.jobresult.networkserviceprovider;
                                 addExternalLoadBalancer(args, selectedPhysicalNetworkObj, "addNetscalerLoadBalancer", "addnetscalerloadbalancerresponse", "netscalerloadbalancer");
@@ -5152,7 +5143,7 @@
                             alert("addNetworkServiceProvider&name=Netscaler failed. Error: " + errorMsg);
                           }
                         });
-                      });
+                      }, 3000); 		
                     }
                   });
                 }
@@ -5319,8 +5310,7 @@
                     async: true,
                     success: function(json) {
                       var jobId = json.addnetworkserviceproviderresponse.jobid;
-                      var timerKey = "addNetworkServiceProviderJob_"+jobId;
-                      $("body").everyTime(2000, timerKey, function() {
+                      var addF5ProviderIntervalID = setInterval(function() { 	
                         $.ajax({
                           url: createURL("queryAsyncJobResult&jobId="+jobId),
                           dataType: "json",
@@ -5330,7 +5320,7 @@
                               return; //Job has not completed
                             }
                             else {
-                              $("body").stopTime(timerKey);
+                              clearInterval(addF5ProviderIntervalID); 
                               if (result.jobstatus == 1) {
                                 nspMap["f5"] = json.queryasyncjobresultresponse.jobresult.networkserviceprovider;
                                 addExternalLoadBalancer(args, selectedPhysicalNetworkObj, "addF5LoadBalancer", "addf5bigiploadbalancerresponse", "f5loadbalancer");
@@ -5345,7 +5335,7 @@
                             alert("addNetworkServiceProvider&name=F5BigIpfailed. Error: " + errorMsg);
                           }
                         });
-                      });
+                      }, 3000); 		
                     }
                   });
                 }
@@ -5529,8 +5519,7 @@
                     async: true,
                     success: function(json) {
                       var jobId = json.addnetworkserviceproviderresponse.jobid;
-                      var timerKey = "addNetworkServiceProviderJob_"+jobId;
-                      $("body").everyTime(2000, timerKey, function() {
+                      var addJuniperSRXProviderIntervalID = setInterval(function() { 	
                         $.ajax({
                           url: createURL("queryAsyncJobResult&jobId="+jobId),
                           dataType: "json",
@@ -5540,7 +5529,7 @@
                               return; //Job has not completed
                             }
                             else {
-                              $("body").stopTime(timerKey);
+                              clearInterval(addJuniperSRXProviderIntervalID); 
                               if (result.jobstatus == 1) {
                                 nspMap["srx"] = json.queryasyncjobresultresponse.jobresult.networkserviceprovider;
                                 addExternalFirewall(args, selectedPhysicalNetworkObj, "addSrxFirewall", "addsrxfirewallresponse", "srxfirewall");
@@ -5555,7 +5544,7 @@
                             alert("addNetworkServiceProvider&name=JuniperSRX failed. Error: " + errorMsg);
                           }
                         });
-                      });
+                      }, 3000); 		
                     }
                   });
                 }
@@ -6495,9 +6484,7 @@
                   id: 'vSwitches',
                   fields: {
                     vsmdeviceid: { label: 'label.name' },
-                    type: { label: 'label.type' },
-                    zonename: { label: 'label.zone' },
-                    vsmdevicestate: { label: 'label.status' }
+                    vsmdevicestate: { label: 'label.state',indicator:{ 'Enabled': 'on' } }
                   },
                   detailView: {
                     actions: {
@@ -6575,9 +6562,9 @@
                             args.complete();
                           }
                         }
-                      },
+                      }
 
-                      'remove': {
+                      /*   'remove': {
                         label: 'label.action.delete.nexusVswitch' ,
                         messages: {
                           confirm: function(args) {
@@ -6600,7 +6587,7 @@
                         notification: {
                           poll: function(args) { args.complete(); }
                         }
-                      }
+                      }*/
                     },
 
                     tabs: {
@@ -6612,7 +6599,7 @@
                           vsmctrlvlanid: { label: 'label.vsmctrlvlanid' },
                           vsmpktvlanid: { label: 'label.vsmpktvlanid' },
                           vsmstoragevlanid: { label: 'label.vsmstoragevlanid' },
-                          vsmdevicestate: { label: 'label.state' }
+                          vsmdevicestate: { label: 'label.state', indicator: { 'Enabled': 'on' } }
                         },
                         
                         dataProvider: function(args) {
@@ -6645,6 +6632,7 @@
                         args.response.success({
                           actionFilter: nexusActionfilter,
                           data: item
+                         
                         });
                       },
                       error: function(json) {
@@ -8606,8 +8594,7 @@
 			dataType: "json",
 			success: function(json) {
 				var jobId = json.updatephysicalnetworkresponse.jobid;
-				var timerKey = "updatePhysicalNetworkJob_"+jobId;
-				$("body").everyTime(2000, timerKey, function() {
+				var enablePhysicalNetworkIntervalID = setInterval(function() { 	
 					$.ajax({
 						url: createURL("queryAsyncJobResult&jobId="+jobId),
 						dataType: "json",
@@ -8617,7 +8604,7 @@
 								return; //Job has not completed
 							}
 							else {
-								$("body").stopTime(timerKey);
+								clearInterval(enablePhysicalNetworkIntervalID); 
 								if (result.jobstatus == 1) {
 									//alert("updatePhysicalNetwork succeeded.");
 
@@ -8662,8 +8649,7 @@
 										async: false,
 										success: function(json) {
 											var jobId = json.configurevirtualrouterelementresponse.jobid;
-											var timerKey = "configureVirtualRouterElementJob_"+jobId;
-											$("body").everyTime(2000, timerKey, function() {
+											var enableVirtualRouterElementIntervalID = setInterval(function() { 	
 												$.ajax({
 													url: createURL("queryAsyncJobResult&jobId="+jobId),
 													dataType: "json",
@@ -8673,7 +8659,7 @@
 															return; //Job has not completed
 														}
 														else {
-															$("body").stopTime(timerKey);
+															clearInterval(enableVirtualRouterElementIntervalID); 
 															if (result.jobstatus == 1) {
 																//alert("configureVirtualRouterElement succeeded.");
 
@@ -8683,8 +8669,7 @@
 																	async: false,
 																	success: function(json) {
 																		var jobId = json.updatenetworkserviceproviderresponse.jobid;
-																		var timerKey = "updateNetworkServiceProviderJob_"+jobId;
-																		$("body").everyTime(2000, timerKey, function() {
+																		var enableVirtualRouterProviderIntervalID = setInterval(function() { 	
 																			$.ajax({
 																				url: createURL("queryAsyncJobResult&jobId="+jobId),
 																				dataType: "json",
@@ -8694,7 +8679,7 @@
 																						return; //Job has not completed
 																					}
 																					else {
-																						$("body").stopTime(timerKey);
+																						clearInterval(enableVirtualRouterProviderIntervalID); 
 																						if (result.jobstatus == 1) {
 																							//alert("Virtual Router Provider is enabled");
 
@@ -8724,8 +8709,7 @@
 																										async: false,
 																										success: function(json) {
 																											var jobId = json.updatenetworkserviceproviderresponse.jobid;
-																											var timerKey = "updateNetworkServiceProviderJob_"+jobId;
-																											$("body").everyTime(2000, timerKey, function() {
+																											var enableSecurityGroupProviderIntervalID = setInterval(function() { 	
 																												$.ajax({
 																													url: createURL("queryAsyncJobResult&jobId="+jobId),
 																													dataType: "json",
@@ -8735,7 +8719,7 @@
 																															return; //Job has not completed
 																														}
 																														else {
-																															$("body").stopTime(timerKey);
+																															clearInterval(enableSecurityGroupProviderIntervalID); 
 																															if (result.jobstatus == 1) {
 																																//alert("Security group provider is enabled");
 
@@ -8787,7 +8771,7 @@
 																														alert("updateNetworkServiceProvider failed. Error: " + errorMsg);
 																													}
 																												});
-																											});
+																											}, 3000); 		
 																										}
 																									});
 																								}
@@ -8868,7 +8852,7 @@
 																					alert("updateNetworkServiceProvider failed. Error: " + errorMsg);
 																				}
 																			});
-																		});
+																		}, 3000); 		
 																	}
 																});
 															}
@@ -8882,7 +8866,7 @@
 														alert("configureVirtualRouterElement failed. Error: " + errorMsg);
 													}
 												});
-											});
+											}, 3000); 		
 										}
 									});
 								}
@@ -8896,7 +8880,7 @@
 							alert("updatePhysicalNetwork failed. Error: " + errorMsg);
 						}
 					});
-				});
+				}, 3000); 		
 			}
 		});
 	};

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/ced4a3f3/ui/scripts/ui-custom/physicalResources.js
----------------------------------------------------------------------
diff --git a/ui/scripts/ui-custom/physicalResources.js b/ui/scripts/ui-custom/physicalResources.js
index 8acdec6..e531c7b 100644
--- a/ui/scripts/ui-custom/physicalResources.js
+++ b/ui/scripts/ui-custom/physicalResources.js
@@ -82,8 +82,7 @@
               dataType: 'json',
               success: function(json) {
                 var jid = json.uploadcustomcertificateresponse.jobid;
-                var timerKey = "uploadcustomcertificatejob_" + jid;
-                $("body").everyTime(2000, timerKey, function() {
+                var uploadCustomCertificateIntervalID = setInterval(function() { 	
                   $.ajax({
                     url: createURL("queryAsyncJobResult&jobId=" + jid),
                     dataType: "json",
@@ -93,7 +92,7 @@
                         return; //Job has not completed
                       }
                       else {
-                        $("body").stopTime(timerKey);
+                        clearInterval(uploadCustomCertificateIntervalID); 
                         if (result.jobstatus == 1) {
                           cloudStack.dialog.notice({ message: 'Update SSL Certiciate succeeded' });
                         }
@@ -108,7 +107,7 @@
                       $loading.remove();
                     }
                   });
-                });
+                }, 3000); 		
               },
               error: function(XMLHttpResponse) {
                 cloudStack.dialog.notice({ message: 'Failed to update SSL Certificate. ' + parseXMLHttpResponse(XMLHttpResponse) });

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/ced4a3f3/ui/scripts/zoneWizard.js
----------------------------------------------------------------------
diff --git a/ui/scripts/zoneWizard.js b/ui/scripts/zoneWizard.js
index feb146c..081639f 100644
--- a/ui/scripts/zoneWizard.js
+++ b/ui/scripts/zoneWizard.js
@@ -1291,9 +1291,8 @@
               url: createURL("createPhysicalNetwork&zoneid=" + args.data.returnedZone.id + array1.join("")),
               dataType: "json",
               success: function(json) {
-                var jobId = json.createphysicalnetworkresponse.jobid;
-                var timerKey = "createPhysicalNetworkJob_" + jobId;
-                $("body").everyTime(2000, timerKey, function(){
+                var jobId = json.createphysicalnetworkresponse.jobid; 
+								var createPhysicalNetworkIntervalID = setInterval(function() { 	
                   $.ajax({
                     url: createURL("queryAsyncJobResult&jobid=" + jobId),
                     dataType: "json",
@@ -1302,8 +1301,9 @@
                       if (result.jobstatus == 0) {
                         return; //Job has not completed
                       }
-                      else {
-                        $("body").stopTime(timerKey);
+                      else {                        
+												clearInterval(createPhysicalNetworkIntervalID); 
+												
                         if (result.jobstatus == 1) {
                           var returnedBasicPhysicalNetwork = result.jobresult.physicalnetwork;
                           var label = returnedBasicPhysicalNetwork.id + trafficLabelParam('guest', data);
@@ -1313,9 +1313,8 @@
                             url: createURL("addTrafficType&trafficType=Guest&physicalnetworkid=" + label),
                             dataType: "json",
                             success: function(json) {
-                              var jobId = json.addtraffictyperesponse.jobid;
-                              var timerKey = "addTrafficTypeJob_" + jobId;
-                              $("body").everyTime(2000, timerKey, function() {
+                              var jobId = json.addtraffictyperesponse.jobid;                              
+															var addGuestTrafficTypeIntervalID = setInterval(function() { 																
                                 $.ajax({
                                   url: createURL("queryAsyncJobResult&jobid=" + jobId),
                                   dataType: "json",
@@ -1324,8 +1323,9 @@
                                     if (result.jobstatus == 0) {
                                       return; //Job has not completed
                                     }
-                                    else {
-                                      $("body").stopTime(timerKey);
+                                    else {                                      
+																			clearInterval(addGuestTrafficTypeIntervalID); 
+																			
                                       if (result.jobstatus == 1) {
                                         returnedTrafficTypes.push(result.jobresult.traffictype);
 
@@ -1348,8 +1348,8 @@
                                     var errorMsg = parseXMLHttpResponse(XMLHttpResponse);
                                     alert("Failed to add Guest traffic type to basic zone. Error: " + errorMsg);
                                   }
-                                });
-                              });
+                                });                              
+															}, 3000); 																
                             }
                           });
 
@@ -1359,9 +1359,8 @@
                             url: createURL("addTrafficType&trafficType=Management&physicalnetworkid=" + returnedBasicPhysicalNetwork.id + label),
                             dataType: "json",
                             success: function(json) {
-                              var jobId = json.addtraffictyperesponse.jobid;
-                              var timerKey = "addTrafficTypeJob_" + jobId;
-                              $("body").everyTime(2000, timerKey, function() {
+                              var jobId = json.addtraffictyperesponse.jobid;                             
+															var addManagementTrafficTypeIntervalID = setInterval(function() { 	
                                 $.ajax({
                                   url: createURL("queryAsyncJobResult&jobid=" + jobId),
                                   dataType: "json",
@@ -1370,8 +1369,9 @@
                                     if (result.jobstatus == 0) {
                                       return; //Job has not completed
                                     }
-                                    else {
-                                      $("body").stopTime(timerKey);
+                                    else {                                      
+																			clearInterval(addManagementTrafficTypeIntervalID); 
+																			
                                       if (result.jobstatus == 1) {
                                         returnedTrafficTypes.push(result.jobresult.traffictype);
 
@@ -1394,8 +1394,8 @@
                                     var errorMsg = parseXMLHttpResponse(XMLHttpResponse);
                                     alert("Failed to add Management traffic type to basic zone. Error: " + errorMsg);
                                   }
-                                });
-                              });
+                                });                              
+															}, 3000); 	
                             }
                           });
 
@@ -1407,9 +1407,8 @@
                               url: createURL('addTrafficType&physicalnetworkid=' + returnedBasicPhysicalNetwork.id + '&trafficType=Storage' + label),
                               dataType: "json",
                               success: function(json) {
-                                var jobId = json.addtraffictyperesponse.jobid;
-                                var timerKey = "addTrafficTypeJob_" + jobId;
-                                $("body").everyTime(2000, timerKey, function() {
+                                var jobId = json.addtraffictyperesponse.jobid;                                
+																var addStorageTrafficTypeIntervalID = setInterval(function() { 	
                                   $.ajax({
                                     url: createURL("queryAsyncJobResult&jobid=" + jobId),
                                     dataType: "json",
@@ -1418,8 +1417,9 @@
                                       if (result.jobstatus == 0) {
                                         return; //Job has not completed
                                       }
-                                      else {
-                                        $("body").stopTime(timerKey);
+                                      else {                                        
+																				clearInterval(addStorageTrafficTypeIntervalID); 
+																				
                                         if (result.jobstatus == 1) {
                                           returnedTrafficTypes.push(result.jobresult.traffictype);
 
@@ -1442,8 +1442,8 @@
                                       var errorMsg = parseXMLHttpResponse(XMLHttpResponse);
                                       alert("Failed to add Management traffic type to basic zone. Error: " + errorMsg);
                                     }
-                                  });
-                                });
+                                  });                                
+																}, 3000); 	
                               }
                             });
                           }
@@ -1454,9 +1454,8 @@
                               url: createURL("addTrafficType&trafficType=Public&physicalnetworkid=" + returnedBasicPhysicalNetwork.id + label),
                               dataType: "json",
                               success: function(json) {
-                                var jobId = json.addtraffictyperesponse.jobid;
-                                var timerKey = "addTrafficTypeJob_" + jobId;
-                                $("body").everyTime(2000, timerKey, function() {
+                                var jobId = json.addtraffictyperesponse.jobid;                               
+																var addPublicTrafficTypeIntervalID = setInterval(function() { 	
                                   $.ajax({
                                     url: createURL("queryAsyncJobResult&jobid=" + jobId),
                                     dataType: "json",
@@ -1465,8 +1464,9 @@
                                       if (result.jobstatus == 0) {
                                         return; //Job has not completed
                                       }
-                                      else {
-                                        $("body").stopTime(timerKey);
+                                      else {                                       
+																				clearInterval(addPublicTrafficTypeIntervalID); 
+																				
                                         if (result.jobstatus == 1) {
                                           returnedTrafficTypes.push(result.jobresult.traffictype);
 
@@ -1489,8 +1489,8 @@
                                       var errorMsg = parseXMLHttpResponse(XMLHttpResponse);
                                       alert("Failed to add Public traffic type to basic zone. Error: " + errorMsg);
                                     }
-                                  });
-                                });
+                                  });                                
+																}, 3000); 	
                               }
                             });
                           }
@@ -1504,8 +1504,9 @@
                       var errorMsg = parseXMLHttpResponse(XMLHttpResponse);
                       alert("createPhysicalNetwork failed. Error: " + errorMsg);
                     }
-                  });
-                });
+                  });                
+								}, 3000); 	
+								
               }
             });
           }
@@ -1520,9 +1521,8 @@
                 url: createURL("createPhysicalNetwork&zoneid=" + args.data.returnedZone.id + array1.join("")),
                 dataType: "json",
                 success: function(json) {
-                  var jobId = json.createphysicalnetworkresponse.jobid;
-                  var timerKey = "createPhysicalNetworkJob_" + jobId;
-                  $("body").everyTime(2000, timerKey, function(){
+                  var jobId = json.createphysicalnetworkresponse.jobid;                  
+									var createPhysicalNetworkIntervalID = setInterval(function() { 	
                     $.ajax({
                       url: createURL("queryAsyncJobResult&jobid=" + jobId),
                       dataType: "json",
@@ -1531,8 +1531,9 @@
                         if (result.jobstatus == 0) {
                           return; //Job has not completed
                         }
-                        else {
-                          $("body").stopTime(timerKey);
+                        else {                          
+													clearInterval(createPhysicalNetworkIntervalID); 
+													
                           if (result.jobstatus == 1) {
                             var returnedPhysicalNetwork = result.jobresult.physicalnetwork;
                             returnedPhysicalNetwork.originalId = thisPhysicalNetwork.id;
@@ -1563,9 +1564,8 @@
                                 url: createURL(apiCmd + label),
                                 dataType: "json",
                                 success: function(json) {
-                                  var jobId = json.addtraffictyperesponse.jobid;
-                                  var timerKey = "addTrafficTypeJob_" + jobId;
-                                  $("body").everyTime(2000, timerKey, function() {
+                                  var jobId = json.addtraffictyperesponse.jobid;                                 
+																	var addTrafficTypeIntervalID = setInterval(function() { 	
                                     $.ajax({
                                       url: createURL("queryAsyncJobResult&jobid=" + jobId),
                                       dataType: "json",
@@ -1574,8 +1574,9 @@
                                         if (result.jobstatus == 0) {
                                           return; //Job has not completed
                                         }
-                                        else {
-                                          $("body").stopTime(timerKey);
+                                        else {                                         
+																					clearInterval(addTrafficTypeIntervalID); 
+																					
                                           if (result.jobstatus == 1) {
                                             returnedTrafficTypes.push(result.jobresult.traffictype);
 
@@ -1601,8 +1602,8 @@
                                         var errorMsg = parseXMLHttpResponse(XMLHttpResponse);
                                         alert(apiCmd + " failed. Error: " + errorMsg);
                                       }
-                                    });
-                                  });
+                                    });                                  
+																	}, 3000); 																		
                                 }
                               });
                             });
@@ -1616,8 +1617,8 @@
                         var errorMsg = parseXMLHttpResponse(XMLHttpResponse);
                         alert("createPhysicalNetwork failed. Error: " + errorMsg);
                       }
-                    });
-                  });
+                    });                  
+									}, 3000); 	
                 }
               });
             });
@@ -1632,10 +1633,8 @@
             $.ajax({
               url: createURL("updatePhysicalNetwork&state=Enabled&id=" + args.data.returnedBasicPhysicalNetwork.id),
               dataType: "json",
-              success: function(json) {
-                //var jobId = json.updatephysicalnetworkresponse.jobid;
-                var updatePhysicalNetworkTimer = "updatePhysicalNetworkJob_" + json.updatephysicalnetworkresponse.jobid;
-                $("body").everyTime(2000, updatePhysicalNetworkTimer, function() {
+              success: function(json) { 
+								var enablePhysicalNetworkIntervalID = setInterval(function() { 	
                   $.ajax({
                     url: createURL("queryAsyncJobResult&jobId=" + json.updatephysicalnetworkresponse.jobid),
                     dataType: "json",
@@ -1644,8 +1643,9 @@
                       if (result.jobstatus == 0) {
                         return; //Job has not completed
                       }
-                      else {
-                        $("body").stopTime(updatePhysicalNetworkTimer);
+                      else {                        
+												clearInterval(enablePhysicalNetworkIntervalID); 
+												
                         if (result.jobstatus == 1) {
                           //alert("updatePhysicalNetwork succeeded.");
 
@@ -1688,10 +1688,8 @@
                             url: createURL("configureVirtualRouterElement&enabled=true&id=" + virtualRouterElementId),
                             dataType: "json",
                             async: false,
-                            success: function(json) {
-                              //var jobId = json.configurevirtualrouterelementresponse.jobid;
-                              var configureVirtualRouterElementTimer = "configureVirtualRouterElementJob_" + json.configurevirtualrouterelementresponse.jobid;
-                              $("body").everyTime(2000, configureVirtualRouterElementTimer, function() {
+                            success: function(json) {  
+															var enableVirtualRouterElementIntervalID = setInterval(function() { 	
                                 $.ajax({
                                   url: createURL("queryAsyncJobResult&jobId=" + json.configurevirtualrouterelementresponse.jobid),
                                   dataType: "json",
@@ -1700,8 +1698,9 @@
                                     if (result.jobstatus == 0) {
                                       return; //Job has not completed
                                     }
-                                    else {
-                                      $("body").stopTime(configureVirtualRouterElementTimer);
+                                    else {                                     
+																			clearInterval(enableVirtualRouterElementIntervalID); 
+																			
                                       if (result.jobstatus == 1) {
                                         //alert("configureVirtualRouterElement succeeded.");
 
@@ -1709,10 +1708,8 @@
                                           url: createURL("updateNetworkServiceProvider&state=Enabled&id=" + virtualRouterProviderId),
                                           dataType: "json",
                                           async: false,
-                                          success: function(json) {
-                                            //var jobId = json.updatenetworkserviceproviderresponse.jobid;
-                                            var updateNetworkServiceProviderTimer = "updateNetworkServiceProviderJob_" + json.updatenetworkserviceproviderresponse.jobid;
-                                            $("body").everyTime(2000, updateNetworkServiceProviderTimer, function() {
+                                          success: function(json) {    
+																						var enableVirtualRouterProviderIntervalID = setInterval(function() { 	
                                               $.ajax({
                                                 url: createURL("queryAsyncJobResult&jobId=" + json.updatenetworkserviceproviderresponse.jobid),
                                                 dataType: "json",
@@ -1721,8 +1718,9 @@
                                                   if (result.jobstatus == 0) {
                                                     return; //Job has not completed
                                                   }
-                                                  else {
-                                                    $("body").stopTime(updateNetworkServiceProviderTimer);
+                                                  else {                                                    
+																										clearInterval(enableVirtualRouterProviderIntervalID); 
+																										
                                                     if (result.jobstatus == 1) {
                                                       //alert("Virtual Router Provider is enabled");
 																											
@@ -1754,9 +1752,8 @@
                                                           url: createURL("updateNetworkServiceProvider&state=Enabled&id=" + securityGroupProviderId),
                                                           dataType: "json",
                                                           async: false,
-                                                          success: function(json) {
-                                                            var updateNetworkServiceProviderTimer = "asyncJob_" + json.updatenetworkserviceproviderresponse.jobid;
-                                                            $("body").everyTime(2000, updateNetworkServiceProviderTimer, function() {
+                                                          success: function(json) {                                                            
+																														var enableSecurityGroupProviderIntervalID = setInterval(function() { 	
                                                               $.ajax({
                                                                 url: createURL("queryAsyncJobResult&jobId=" + json.updatenetworkserviceproviderresponse.jobid),
                                                                 dataType: "json",
@@ -1765,8 +1762,9 @@
                                                                   if (result.jobstatus == 0) {
                                                                     return; //Job has not completed
                                                                   }
-                                                                  else {
-                                                                    $("body").stopTime(updateNetworkServiceProviderTimer);
+                                                                  else {                                                                   
+																																		clearInterval(enableSecurityGroupProviderIntervalID); 
+																																		
                                                                     if (result.jobstatus == 1) { //Security group provider has been enabled successfully      
 																																			stepFns.addNetscalerProvider({
 																																				data: args.data
@@ -1781,8 +1779,8 @@
                                                                   var errorMsg = parseXMLHttpResponse(XMLHttpResponse);
                                                                   alert("failed to enable security group provider. Error: " + errorMsg);
                                                                 }
-                                                              });
-                                                            });
+                                                              });                                                            
+																														}, 3000); 	
                                                           }
                                                         });
                                                       }
@@ -1801,8 +1799,8 @@
                                                   var errorMsg = parseXMLHttpResponse(XMLHttpResponse);
                                                   alert("failed to enable Virtual Router Provider. Error: " + errorMsg);
                                                 }
-                                              });
-                                            });
+                                              });                                            
+																						}, 3000); 	
                                           }
                                         });
                                       }
@@ -1815,8 +1813,8 @@
                                     var errorMsg = parseXMLHttpResponse(XMLHttpResponse);
                                     alert("configureVirtualRouterElement failed. Error: " + errorMsg);
                                   }
-                                });
-                              });
+                                });                              
+															}, 3000); 	
                             }
                           });
                         }
@@ -1829,8 +1827,8 @@
                       var errorMsg = parseXMLHttpResponse(XMLHttpResponse);
                       alert("updatePhysicalNetwork failed. Error: " + errorMsg);
                     }
-                  });
-                });
+                  });                
+								}, 3000); 	
               }
             });
           }
@@ -1841,9 +1839,8 @@
                 url: createURL("updatePhysicalNetwork&state=Enabled&id=" + thisPhysicalNetwork.id),
                 dataType: "json",
                 success: function(json) {
-                  var jobId = json.updatephysicalnetworkresponse.jobid;
-                  var timerKey = "updatePhysicalNetworkJob_"+jobId;
-                  $("body").everyTime(2000, timerKey, function() {
+                  var jobId = json.updatephysicalnetworkresponse.jobid;                  						
+									var enablePhysicalNetworkIntervalID = setInterval(function() { 									  
                     $.ajax({
                       url: createURL("queryAsyncJobResult&jobId="+jobId),
                       dataType: "json",
@@ -1852,8 +1849,9 @@
                         if (result.jobstatus == 0) {
                           return; //Job has not completed
                         }
-                        else {
-                          $("body").stopTime(timerKey);
+                        else {		
+													clearInterval(enablePhysicalNetworkIntervalID); 
+													
                           if (result.jobstatus == 1) {
                             //alert("updatePhysicalNetwork succeeded.");
 
@@ -1897,9 +1895,8 @@
                               dataType: "json",
                               async: false,
                               success: function(json) {
-                                var jobId = json.configurevirtualrouterelementresponse.jobid;
-                                var timerKey = "configureVirtualRouterElementJob_"+jobId;
-                                $("body").everyTime(2000, timerKey, function() {
+                                var jobId = json.configurevirtualrouterelementresponse.jobid;                                
+																var enableVirtualRouterElementIntervalID = setInterval(function() { 	
                                   $.ajax({
                                     url: createURL("queryAsyncJobResult&jobId="+jobId),
                                     dataType: "json",
@@ -1908,17 +1905,17 @@
                                       if (result.jobstatus == 0) {
                                         return; //Job has not completed
                                       }
-                                      else {
-                                        $("body").stopTime(timerKey);
+                                      else {                                        
+																				clearInterval(enableVirtualRouterElementIntervalID); 
+																				
                                         if (result.jobstatus == 1) { //configureVirtualRouterElement succeeded
                                           $.ajax({
                                             url: createURL("updateNetworkServiceProvider&state=Enabled&id=" + virtualRouterProviderId),
                                             dataType: "json",
                                             async: false,
                                             success: function(json) {
-                                              var jobId = json.updatenetworkserviceproviderresponse.jobid;
-                                              var timerKey = "updateNetworkServiceProviderJob_"+jobId;
-                                              $("body").everyTime(2000, timerKey, function() {
+                                              var jobId = json.updatenetworkserviceproviderresponse.jobid;                                             
+																							var enableVirtualRouterProviderIntervalID = setInterval(function() { 	
                                                 $.ajax({
                                                   url: createURL("queryAsyncJobResult&jobId="+jobId),
                                                   dataType: "json",
@@ -1927,8 +1924,9 @@
                                                     if (result.jobstatus == 0) {
                                                       return; //Job has not completed
                                                     }
-                                                    else {
-                                                      $("body").stopTime(timerKey);
+                                                    else {                                                      
+																											clearInterval(enableVirtualRouterProviderIntervalID); 
+																											
                                                       if (result.jobstatus == 1) { //Virtual Router Provider has been enabled successfully
                                                         advZoneConfiguredPhysicalNetworkCount++;
                                                         if(advZoneConfiguredPhysicalNetworkCount == args.data.returnedPhysicalNetworks.length) { //not call addPod() until all physical networks get configured
@@ -1946,8 +1944,8 @@
                                                     var errorMsg = parseXMLHttpResponse(XMLHttpResponse);
                                                     alert("updateNetworkServiceProvider failed. Error: " + errorMsg);
                                                   }
-                                                });
-                                              });
+                                                });                                              
+																							}, 3000); 	
                                             }
                                           });
                                         }
@@ -1960,8 +1958,8 @@
                                       var errorMsg = parseXMLHttpResponse(XMLHttpResponse);
                                       alert("configureVirtualRouterElement failed. Error: " + errorMsg);
                                     }
-                                  });
-                                });
+                                  });                                
+																}, 3000); 	
                               }
                             });
                           }
@@ -1974,8 +1972,8 @@
                         var errorMsg = parseXMLHttpResponse(XMLHttpResponse);
                         alert("updatePhysicalNetwork failed. Error: " + errorMsg);
                       }
-                    });
-                  });
+                    });                  
+									}, 3000); 		
                 }
               });
             });
@@ -1990,9 +1988,8 @@
 							url: createURL("addNetworkServiceProvider&name=Netscaler&physicalnetworkid=" + args.data.returnedBasicPhysicalNetwork.id),
 							dataType: "json",
 							async: false,
-							success: function(json) {
-								var addNetworkServiceProviderTimer = "asyncJob_" + json.addnetworkserviceproviderresponse.jobid;
-								$("body").everyTime(2000, addNetworkServiceProviderTimer, function() {
+							success: function(json) {								
+								var addNetscalerProviderIntervalID = setInterval(function() { 	                  						
 									$.ajax({
 										url: createURL("queryAsyncJobResult&jobId=" + json.addnetworkserviceproviderresponse.jobid),
 										dataType: "json",
@@ -2001,8 +1998,9 @@
 											if (result.jobstatus == 0) {
 												return; //Job has not completed
 											}
-											else {
-												$("body").stopTime(addNetworkServiceProviderTimer);
+											else {												
+												clearInterval(addNetscalerProviderIntervalID); 
+												
 												if (result.jobstatus == 1) {
 													args.data.returnedNetscalerProvider = result.jobresult.networkserviceprovider;                       
 													stepFns.addNetscalerDevice({
@@ -2020,8 +2018,8 @@
 										}
 									});
 								});
-							}
-						});
+							}						
+						}, 3000); 								
 						//add netscaler provider (end)
 					}
 					else { //selectedNetworkOfferingHavingNetscaler == false
@@ -2127,9 +2125,8 @@
           $.ajax({
             url: createURL("addNetscalerLoadBalancer" + array1.join("")),
             dataType: "json",
-            success: function(json) {
-              var addNetscalerLoadBalancerTimer = "asyncJob_" + json.addnetscalerloadbalancerresponse.jobid;
-              $("body").everyTime(2000, addNetscalerLoadBalancerTimer, function() {
+            success: function(json) {             
+							var addNetscalerLoadBalancerIntervalID = setInterval(function() { 								
                 $.ajax({
                   url: createURL("queryAsyncJobResult&jobid=" + json.addnetscalerloadbalancerresponse.jobid),
                   dataType: "json",
@@ -2138,18 +2135,17 @@
                     if(result.jobstatus == 0) {
                       return;
                     }
-                    else {
-                      $("body").stopTime(addNetscalerLoadBalancerTimer);
+                    else {                      
+											clearInterval(addNetscalerLoadBalancerIntervalID); 
+											
                       if(result.jobstatus == 1) {
                         args.data.returnedNetscalerProvider.returnedNetscalerloadbalancer = result.jobresult.netscalerloadbalancer;
 
                         $.ajax({
                           url: createURL("updateNetworkServiceProvider&state=Enabled&id=" + args.data.returnedNetscalerProvider.id),
                           dataType: "json",
-                          success: function(json) {
-                            var updateNetworkServiceProviderTimer = "asyncJob_" + json.updatenetworkserviceproviderresponse.jobid;
-
-                            $("body").everyTime(2000, updateNetworkServiceProviderTimer, function() {
+                          success: function(json) {                            
+														var enableNetscalerProviderIntervalID = setInterval(function() { 	
                               $.ajax({
                                 url: createURL("queryAsyncJobResult&jobid=" + json.updatenetworkserviceproviderresponse.jobid),
                                 dataType: "json",
@@ -2158,8 +2154,9 @@
                                   if(result.jobstatus == 0) {
                                     return;
                                   }
-                                  else {
-                                    $("body").stopTime(updateNetworkServiceProviderTimer);
+                                  else {                                    
+																		clearInterval(enableNetscalerProviderIntervalID); 
+																		
                                     if(result.jobstatus == 1) {																		 
 																			stepFns.addGuestNetwork({
 																				data: args.data
@@ -2170,8 +2167,8 @@
                                     }
                                   }
                                 }
-                              });
-                            });
+                              });                            
+														}, 3000); 															
                           },
                           error: function(XMLHttpResponse) {
                             var errorMsg = parseXMLHttpResponse(XMLHttpResponse);
@@ -2184,8 +2181,8 @@
                       }
                     }
                   }
-                });
-              });
+                });              
+							}, 3000); 								
             },
             error: function(XMLHttpResponse) {
               var errorMsg = parseXMLHttpResponse(XMLHttpResponse);
@@ -2490,9 +2487,8 @@
                   url: createURL("updatePhysicalNetwork&id=" + returnedId  + "&vlan=" + todb(vlan)),
                   dataType: "json",
                   success: function(json) {
-                    var jobId = json.updatephysicalnetworkresponse.jobid;
-                    var timerKey = "asyncJob_" + jobId;
-                    $("body").everyTime(2000, timerKey, function(){
+                    var jobId = json.updatephysicalnetworkresponse.jobid;                    
+										var updatePhysicalNetworkVlanIntervalID = setInterval(function() { 											
                       $.ajax({
                         url: createURL("queryAsyncJobResult&jobid=" + jobId),
                         dataType: "json",
@@ -2501,8 +2497,9 @@
                           if(result.jobstatus == 0) {
                             return;
                           }
-                          else {
-                            $("body").stopTime(timerKey);
+                          else {                            
+														clearInterval(updatePhysicalNetworkVlanIntervalID); 
+														
                             if(result.jobstatus == 1) {
                               updatedCount++;
                               if(updatedCount == physicalNetworksHavingGuestIncludingVlan.length) {
@@ -2520,8 +2517,8 @@
                           var errorMsg = parseXMLHttpResponse(XMLHttpResponse);
                           error('configureGuestTraffic', errorMsg, { fn: 'configureGuestTraffic', args: args });
                         }
-                      });
-                    });
+                      });                    
+										}, 3000); 	
                   }
                 });
               });