$(function()
	{      
		$('#tblZones tr:odd').addClass('odd');
		$('#tblZones tr:even').addClass('even');
		$('#tblProviders tr:even').addClass('even');
		$('#tblProviders tr:odd').addClass('odd');
		$('#tblPrvinces tr:odd').addClass('odd');
		$('#tblPrvinces tr:even').addClass('even');
		$('#tblWeightUnits tr:even').addClass('even');
		$('#tblWeightUnits tr:odd').addClass('odd');
		$('.alternateRowGrayWhite tr:odd').addClass('odd');
		$('.alternateRowGrayWhite tr:even').addClass('even');
		$('.changeDefaultEmailButton').addClass('toggleOff');
		
		$('.emailList').corner("round 10px");
		$('.defaultEmail').corner("round 10px");
		$('.emailHostEdit').corner("round 10px cc:#FFFFFF");
		$('.emailListRowAdd').corner("round 10px");
		$('.certListRowAdd').corner("round 10px");
		$('.addNewCollectionItem').corner("round 10px");
		$('#settings').corner("round 10px");
		$('.deleteCollectionItem').corner("round 8px");
		$('.connectionStringValue').corner("round 8px");
		$('#displayTestResult').corner("round 8px");
		//PpStandard hide/show child fields
		$('.hostValidationSummary').hide();
		$('.certValidationSummary').hide();
		$('.eAccValidationSummary').hide();
		$('.changeDefaultEmail').hide();
		$('#displayTestResult').hide();
		
		var autoReturn = $('.autoreturn').val();
		if( autoReturn=='True')
		{$('.autoReturnDiv').show();}
		else
		{$('.autoReturnDiv').hide();}
		
		//Allow Multi Merchant settings (on load)
		if($('#multimerchant').is(':checked'))
				{$('.multiMechantSettings').show();}
			else
				{$('.multiMechantSettings').hide();}
		
		$('#multimerchant').click(function()
			{
				if($(this).is(':checked')) 
					{$('.multiMechantSettings').show();}
				else
					{$('.multiMechantSettings').hide();}
			}
		);
		$('#btnTest').click(function()
			{
				var connStringValue = $('#connstringname').val();
				$('#displayTestResult').show();
				$('#displayTestResult').load(
				'/SystemConfig/TestConnection',
				{ connString: connStringValue }
				
				);
			}
		);
		
		$('.addZone').click(function()
			{
				$('#selectedZone').show();
				var zoneIdValue = $(this).attr('id');
				var zoneType = $(this).attr('zonetype');
				var cc =$(this).attr('countrycode');
				
				//Load the new zone form
				$('#selectedZone').load('/SystemConfig/AddZone',
				{zoneId: zoneIdValue, zType:zoneType, countryCode:cc});
			}
		);
		
		//Validate zone
		$('.validateZone').live('click',function()
			{
				var zoneName = $.trim($('#txtZoneNane').val());
				var zoneType = $.trim($('#cmbType').val());
				var selectedItems = 0;
				
				$('#settings input[type=checkbox]').each(function()
					{
						if(this.checked)
						{selectedItems= selectedItems + 1;}
					}
					);
					
				var failed =false;
				
				var msg ='';
				$('#txtZoneNane').removeClass('input-validation-error');
				$('#cmbType').removeClass('input-validation-error');
				$('#settings').removeClass('input-validation-error');
				$('#message').html('');
				
				msg='<ul class="validation-summary-errors">';
				
				if(zoneName == '')
					{
						$('#txtZoneNane').addClass('input-validation-error');
						msg=msg + '<li>Zozne name  is required.</li>';
						failed = true;
					}
					
				if(zoneType == '0')
					{
						$('#cmbType').addClass('input-validation-error');
						msg = msg + '<li>Zone type is required.</li>';
						failed = true;
					}
					 
				if(selectedItems == 0)
					{
						$('#settings').addClass('input-validation-error');
						msg = msg + '<li>You need to select zone areas.</li>';
						failed = true;
					}
				msg= msg + '</ul>';
				
				msg = $.trim(msg);
				
				if(failed==true)
					{
						$('#message').html(msg);
						return false;
					}
					
				else
					return true;
				
			}
		);
		
		$('.deletezone').click(function()
			{
				var zoneIdValue = $(this).attr('zoneid');
				alert('The Zone will be deleted permanently!');
				$('#message').load('/SystemConfig/DeleteZone',
					{zoneId: zoneIdValue});
				$(this).parent().parent().remove(); 
			}
		);
		
		$('.hideSelected').live('click',function()
			{
				$('#selectedZone').html('');
				$('#message').html('');
				$('#selectedZone').hide();
			}
		);
		$('.hideNewprovince').live('click', function()
			{
				$('#selectedProvince').html('');
				$('#message').html('');
				$('#selectedProvince').hide();
			}
		);
		$('.addProvider').click(function()
			{
					$('#selectedProvider').show();
					
					var providerIdValue = $(this).attr('id');
					var providerNameValue;
					var providerTypeValue;
					var providerDescriptionValue;
					
					if(Number(providerIdValue)==0)
					{
						providerNameValue='';
						providerDescriptionValue='';
						providerTypeValue = 1;
					}
					else
					{
						
						providerNameValue = $(this).text();
						providerTypeValue = $($((this).parentNode.parentNode).children()[1]).children('#pType').val();
						providerDescriptionValue = $($((this).parentNode.parentNode).children()[2]).children('#pDesc').val();
					}
					
					$('#selectedProvider').load('/SystemConfig/AddProviderInfo',
					{providerId: providerIdValue, providerType:providerTypeValue,
					 providerName:	providerNameValue,
					 providerDescription:providerDescriptionValue});
					 
				}
		);
		
		//Validate provider
		$('.validateShippingSetting').live('click',function()
			{
				var providername = $.trim($('#providername').val());
				var providertype = $('#providertype').val();
				var failed =false;
				
				var msg ='';
				$('#providername').removeClass('input-validation-error');
				$('#providertype').removeClass('input-validation-error');
				
				$('#message').html('');
				
				msg='<ul class="validation-summary-errors">';
				
				if(providername == '')
					{
						$('#providername').addClass('input-validation-error');
						msg=msg + '<li>Shipping fee setting name is required.</li>';
						failed = true;
					}
					
				if(providertype == 0)
					{
						$('#providertype').addClass('input-validation-error');
						msg = msg + '<li>Shipping fee setting type is required.</li>';
						failed = true;
					}
					 
				
				//Settings validation
				var settingsErrorCount =0;
				if($.trim($('#settingsTables').html()) =='')
					{
						msg = msg + '<li>Shipping fee settings are required for this option.</li>';
						failed==true;
					}
				else
					{
						if(providertype==1 || providertype==2 || providertype==3)
							{
								try
									{
										$('#settingsTables>table tr td select').each(function()
											{
												
												if($('#' + $(this).attr('id')).val()==0)
												{
													settingsErrorCount += 1;
													$(this).addClass('input-validation-error');
												}
											}
										);
										
										$('#settingsTables > table tr td input[type=text]').each(function()
											{
												if($.trim($(this).val()==''))
												{
													settingsErrorCount += 1;
													$(this).addClass('input-validation-error');
												}
											}
										);
									}
								catch(err)
									{
										alert(err);
									}
							}
					}
				
		
				if(settingsErrorCount > 0)
					{
						msg = msg + '<li>Some settings have no values set.</li>';
						failed==true;
					}
				
				msg= msg + '</ul>';
				
				msg = $.trim(msg);
				
				if(failed==true)
					{
						$('#message').html(msg);
						return false;
					}
					
				else
					{
						return true;
					}
			}
		);
			
		$('.deleteProvider').click(function()
			{
					
					//var img =this;
					var provId =$(this).attr('providerid');// img.providerid;
					$.getJSON('/SystemConfig/DeleteProvider',
					{providerId:provId },
							function(jResult)
							{
								if(jResult.Success == 1)
								{
									//$(img.parentElement.parentElement).remove();
									$(this).parent().parent().remove();
									window.location.reload();
								}
								$('#message').html(jResult.Message);
							}
						);
			}
		);
				
		$('.addCurrency').click(function()
			{
				var current = this;
				$.getJSON('/SystemConfig/SelectCurrency',
					{currencyId:current.id},
					function(jResult)
						{
						$('#selectedCurrency').html('<form action="/SystemConfig/Configure?pageid=42" method="post">' +
						'' + 
							'' + 
								'' +
								'' +
							'' + 
							'' + 
								'' +
								'' +
							'' +
							'' + 
								'' +
								'' +
							'' +
						'<table><tbody><tr><td>Currency</td><td><input id="description" name="description" value="' + jResult.Description + '" type="text"></td></tr><tr><td>Currency code</td><td><input id="currencycode" name="currencycode" value="' + jResult.CurrencyCode + '" type="text"></td></tr><tr><td>Currency symbol</td><td><input id="currencysymbol" name="currencysymbol" value="' + jResult.CurrencySymbol + '" type="text"></td></tr></tbody></table>' +
							'<input id="currencid" name="currencyid" value="' + jResult.ID + '" type="hidden">' +
							'<input class="valSubmit" id="btnSubmit" value="Save" type="submit">&nbsp;&nbsp;' +
							'<input id="btn" value="Cancel" onclick="HideArea(\'selectedCurrency\')" type="button">' +
						'</form>'
							);
							$('#selectedCurrency').show();
						}
				);
			}
		);
		
		//Validate currency
		$('.valSubmit').live('click',function()
			{
				var description = $.trim($('#description').val());
				var currencyCode = $.trim($('#currencycode').val());
				var currencySymbol = $.trim($('#currencysymbol').val());
				var failed =false;
				
				var msg ='';
				$('#description').removeClass('input-validation-error');
				$('#currencycode').removeClass('input-validation-error');
				$('#currencysymbol').removeClass('input-validation-error');
				$('#message').html('');
				
				msg='<ul class="validation-summary-errors">';
				
				if(description == '')
					{
						$('#description').addClass('input-validation-error');
						msg=msg + '<li>Currency description is required.</li>';
						failed = true;
					}
					
				if(currencyCode == '')
					{
						$('#currencycode').addClass('input-validation-error');
						msg = msg + '<li>Currency code is required.</li>';
						failed = true;
					}
					 
				if(currencySymbol == '')
					{
						$('#currencysymbol').addClass('input-validation-error');
						msg = msg + '<li>Currency symbol is required.</li>';
						failed = true;
					}
				msg= msg + '</ul>';
				
				msg = $.trim(msg);
				
				if(failed==true)
					{
						$('#message').html(msg);
						return false;
					}
					
				else
					return true;
			}
		);
		
		$('.deletecurrency').click(function()
			{
				var img =this;
				var currId = img.id;
				$.getJSON('/SystemConfig/DeleteCurrency',
					{currencyId:currId },
							function(jResult)
							{
								if(jResult.Success == 1)
								{
									//$(img.parentElement.parentElement).remove();
									$(this).parent().parent().remove(); 
									window.location.reload();
								}
								$('#message').html(jResult.Message);
							});
			}
		);	

		$('.addWeightUnit').click(function()
			{
				var current = this;
				$.getJSON('/SystemConfig/SelectWeightUnit',
					{unitId:current.id},
					function(jResult)
						{
						$('#selectedUnit').html('<form action="/SystemConfig/Configure?pageid=55" method="post">' +
						'' + 
							'' + 
								'' +
								'' +
							'' + 
							'' + 
								'' +
								'' +
							'' +
						'<table><tbody><tr><td>Weight unit</td><td><input id="description" name="description" value="' + jResult.Description + '" type="text"></td></tr><tr><td>Unit symbol</td><td><input id="unitsymbol" name="unitsymbol" value="' + jResult.UnitSymbol + '" type="text"></td></tr></tbody></table>' +
							'<input id="unitid" name="unitid" value="' + jResult.ID + '" type="hidden">' +
							'<input id="btnSubmit" class="validateUnit" value="Save" type="submit">&nbsp;&nbsp;' +
							'<input id="btn" value="Cancel" onclick="HideArea(\'selectedUnit\')" type="button">' +
						'</form>'
							);
						$('#selectedUnit').show();	
						}
				);	
			}
		);
				
		$('.deletewightunit').click(function()
			{
				var uId = $(this).attr('id'); 
				$.getJSON('/SystemConfig/DeleteWeightUnit',
					{unitId:uId },
					function(jResult)
						{
							
							if(jResult.Success == 1)
								{
									$(this).parent().parent().remove(); 
									window.location.reload();
								}
								
								$('#message').html(jResult.Message);
								
						}
				);
			}
		);
		
		$('.cmbCountry').change(function()
			{
				$('#provinceList').empty();
				var cc = $(this).val();
				$.getJSON('/SystemConfig/SelectProvinces',
					{countryCode:cc},
					function(jResult)
						{
						var contents = '';
						if(jResult != null)
							{
								for (var i = 0; i < jResult.length; i++) 
									{  
										//contents +=	('' + 
										//		'' +
										//		'' +
										//		'') 
										contents += '<table><tbody><tr><td> <a href="#" id="' + jResult[i].ID + 
												'" onclick="AddProvince(this)">' + jResult[i].Province + 
												' </a></td><td><img class="activePointer" onclick="DeleteProvince(this)" src="/Content/Images/cross.png" id="' + jResult[i].ID + 
												'" name="' + jResult[i].ID +'" title="Delete province/area"></td></tr></tbody></table>';
									}
							}
						else
							{
								contents += 'You have no Provinces/Areas for this country.<br> To add area,click Add new province';
							}
							
							
								
								
						$('#provinceList').html(contents);
						}
				);
			}
		);
	
		//Validate province
		$('.validateProvince').live('click',function()
			{
				var province = $.trim($('#province').val());
				var failed =false;
				
				var msg ='';
				$('#province').removeClass('input-validation-error');
				$('#message').html('');
				
				msg='<ul class="validation-summary-errors">';
				
				if(province == '')
					{
						$('#province').addClass('input-validation-error');
						msg=msg + '<li>Province/Area name is required.</li>';
						failed = true;
					}
				msg= msg + '</ul>';
				
				msg = $.trim(msg);
				
				if(failed==true)
					{
						$('#message').html(msg);
						return false;
					}
					
				else
					return true;
			}
		);
		
		//Validate unit
		$('.validateUnit').live('click',function()
			{
				var description = $.trim($('#description').val());
				var unitSymbol = $.trim($('#unitsymbol').val());
				var failed =false;
				
				var msg ='';
				$('#description').removeClass('input-validation-error');
				$('#unitsymbol').removeClass('input-validation-error');
				$('#message').html('');
				
				msg='<ul class="validation-summary-errors">';
				
				if(description == '')
					{
						$('#description').addClass('input-validation-error');
						msg=msg + '<li>Weight unit is required.</li>';
						failed = true;
					}
				
				if(unitSymbol=='')
					{
						$('#unitsymbol').addClass('input-validation-error');
						msg=msg + '<li>Unit symbol is required.</li>';
						failed = true;
					}
				
				msg= msg + '</ul>';
				
				msg = $.trim(msg);
				
				if(failed==true)
					{
						$('#message').html(msg);
						return false;
					}
					
				else
					return true;
			}
		);
		
		$('.cmbConnString').change(function()
			{
				var selected =$(this).val();
				$.getJSON('/SystemConfig/GetConnString',
					{strName:selected },
						function(jResult)
							{
								$('.connectionStringValue>span').text(jResult.Message);
								$('#displayTestResult').hide();
							}
				);
			}
		);
		
		$('.cmbGatewaySelect').change(function()
			{
				var selected =$(this).val();
				$('#selectedGateway').load('/SystemConfig/SelectGateway',
					{gatewayName:selected });
				
				//Auto return initial setting
				if($('#AUTO_RETURN').val()=='False')
					$('.autoReturn').hide();
				//Encrypted website payments initial setting
				if($('#ENCRYPTED_WEBSITE_PAYMENT').val()=='False')
					$('.encryptedWebPayments').hide();
				//Express checkout initial setting
				if($('#EXPRESS_CHECKOUT').val()=='False')
					$('.expressCheckout').hide();
			}
		);
		
		$('.addHostButton').click(function()
			{
				$('.ucBox').modal({opacity:40,overlayCss: {backgroundColor:"#000"}});
				$.get('/EmailHost/AjaxCreateGET',function(result)
					{
						$('.ucBox').html(result);
					});
				$('.ucBox').show();
			}
		);
		
		//Load new certificate view
		$('.addCertButton').live('click',function()
			{
				var hId = $('#hostid').val();
				$.get('/SSLCertificate/AjaxCreateGET',{hostId:hId},function(result)
				{
					$('#certContainer').html(result);
				}
				);
			}
		);
		
		//Create/Edit Client certificate (For email servers)
		$('#certAction').die('click');
		$('#certAction').live('click',function()
			{
				var actionVal = $('#action').val();
				var action ='';
				
				//Form values
				var certId =$('#itemid').val();
				var hId =$('#hostid').val();
				var hType = $('#hosttype').val();
				var cName = $('#certificatename').val();
				//============================================
				
				if(actionVal=='create')
					{action='/SSLCertificate/AjaxCreatePOST';}
				if(actionVal=='edit')
					{action='/SSLCertificate/AjaxEditPOST';}
					
				var valResult =ValidateCertificate(cName);
				
				if(valResult=='') //Go ahead
				{
					$.getJSON(action,
								{itemId:certId,hostId:hId,certName:cName,hostType:hType},
								function(data)
									{
										if(data.Success==1)
											{
												//$.modal.close();
												window.location.reload();
											}
										else
											{
												$('.certValidationSummary').html(data.Message);
												$('.certValidationSummary').show();
											}
									}
					);
				}
				else //Failed validation
				{
					$('.certValidationSummary').html(valResult);
					$('.certValidationSummary').show();
				}
			}
		);
		
		//Create/Edit Email host
		$('#hostAction').die('click');
		$('#hostAction').live('click',function(e)
			{
				var actionVal = $('#action').val();
				var action ='';
				
				//Form values
				var serverId =$('#itemid').val();
				var fName = $('#friendlyname').val();
				var hAddress = $('#hostaddress').val();
				var hPort = $('#hostport').val();
				var hProtocol = $('#hostprotocol').val();
				var ssl=false;
				if($('#enablessl').is(':checked'))
					ssl=true;
				
				//===============================
				
				if(actionVal=='create')
					{action='/EmailHost/AjaxCreatePOST';}
				if(actionVal=='edit')
					{action='/EmailHost/AjaxEditPOST';}
				var valResult=ValidateHost(fName,hAddress,hPort,hProtocol);
				
				if(valResult=='')
					{
						$.getJSON(action, 
						{itemId:serverId,friendlyName:fName,hostAddress:hAddress,hostPort:hPort,hostProtocol:hProtocol,enableSSL:ssl},
							function(data)
							{
							
								if(data.Success==1)
									{
										$.modal.close();
										location.reload();
									}
								else //Failed server side
									{
										$('.hostValidationSummary').html(data.Message);
										$('.hostValidationSummary').show();
									}
							}
						);
					}
					else
					{
						$('.hostValidationSummary').html(valResult);
						$('.hostValidationSummary').show();
					}
			}
		);
		
		//Email Action button
		$('#emailAction').die('click');
		$('#emailAction').live('click',function()
			{
				var actionVal = $('#action').val();
				var action ='';
				
				//Form values
				var accId =$('#itemid').val();
				var hId =$('#hostid').val();
				var eAddress = $('#fromaddresss').val();
				var uName = $('#username').val();
				var pwd = $('#password').val();
				var sName = $('#sendername').val();
				var sSurmame = $('#sendersurname').val();
				var sPosition = $('#senderposition').val();
				var sCompany = $('#sendercompany').val();
				var eFormat = $('#emailformat').val();
				//============================================
				
				if(actionVal=='create')
					{action='/EmailAccount/AjaxCreatePOST';}
				if(actionVal=='edit')
					{action='/EmailAccount/AjaxEditPOST';}
					
				var valResult =ValidateEmailAccount(eAddress,uName,pwd);
				
				if(valResult=='')
					{
						$.getJSON(action,
								{itemId:accId,hostId:hId,fromAddress:eAddress,userName:uName,password:pwd,
								senderName:sName,senderSurname:sSurmame,senderPosition:sPosition,
								senderCompany:sCompany,emailFormat:eFormat},
								function(data)
									{
										if(data.Success==1)
											{
												window.location.reload();
											}
										else
											{
												$('.eAccValidationSummary').html(data.Message);
												$('.eAccValidationSummary').show();
											}
									}
					);
					}
				else
					{
						$('.eAccValidationSummary').html(valResult);
						$('.eAccValidationSummary').show();
					}
				
			}
		);
		
		//Load certificate for Edit
		$('.selectCert').live('click',function()
			{
				var divId =$(this).attr('id');
				var certId = divId.substring(divId.lastIndexOf('_') + 1);
				$.get('/SSLCertificate/AjaxEditGET',{itemId:certId},function(result)
					{
						$('#certContainer').html(result);
					});
			}
		);
		
		//Load Email account for Edit
		$('.accEditImg, .accEdit').live('click',function()
			{
				var divId =$(this).attr('id');
				var certId = divId.substring(divId.lastIndexOf('_') + 1);
				$.get('/EmailAccount/AjaxEditGET',{itemId:certId},function(result)
					{
						$('#emailContainer').html(result);
					});
			}
		);
		
		//Load Email server Configure and Edit Modals
		$('.hostConfigure, .hostEdit').click(function()
			{
				var divId =$(this).attr('id');
				var serverId = divId.substring(divId.lastIndexOf('_') + 1);
				$.get('/EmailHost/AjaxEditGET',{itemId:serverId},function(result)
					{
						$('.listContainer').html(result);
					});
			}
		);
		
		//Delete email host
		$('.hostDelete').click(function()
			{	var divId =$(this).attr('id');
				var hostId = divId.substring(divId.lastIndexOf('_') + 1);
				if(confirm('Deleting the server will also delete accounts for this host'))
					{
						$.get('/EmailHost/AjaxDelete',{itemId:hostId},function(result)
						{
							if(result.Succes==1)
							window.location.reload();
							else
							alert(result.Message);
						
						}
						);
					}
				
			}
		);
		
		//Delete Email acount
		$('.accDelete').live('click',function(res)
			{
				var divId =$(this).attr('id');
				var accId = divId.substring(divId.lastIndexOf('_') + 1);
				if(confirm('This email account will be deleted permanently'))
					{
						$.get('/EmailAccount/AjaxDelete',{itemId:accId},function(result)
						{
							if(result.Succes==1)
							window.location.reload();
							else
							alert(result.Message);
						
						}
						);
					}
			}
		);
		
		//Delete Certificate
		$('.certDelete').live('click',function(res)
			{
				var divId =$(this).attr('id');
				var certId = divId.substring(divId.lastIndexOf('_') + 1);
				if(confirm('This certificate account will be deleted.'))
					{
						$.get('/SSLCertificate/AjaxDelete',{itemId:certId},function(result)
						{
							if(result.Succes==1)
							window.location.reload();
							else
							alert(result.Message);
						
						}
						);
					}
			}
		);
		
		//Load Email Server certificates Modal Box
		$('.hostCertificates').click(function()
			{
				
				var divId =$(this).attr('id');
				var serverId = divId.substring(divId.lastIndexOf('_') + 1);
				var hType =1;
				$.get('/SSLCertificate/AjaxListCertsForHost',{hostId:serverId,hostType:hType},function(result)
					{
						$('#configControlForm').html(result);
					});
				
			}
		);
		
		//Load Email Server Email accounts
		$('.hostEmails').click(function()
			{
				var divId =$(this).attr('id');
				var serverId = divId.substring(divId.lastIndexOf('_') + 1);
				
				$.get('/EmailAccount/AjaxListAccountsForHost',{hostId:serverId},function(result)
					{
						$('#configControlForm').html(result);
					});
			}
		);
		
		//Add email account
		$('.addEmailButton').live('click',function()
			{
				var hId = $('#hostid').val();
				$.get('/EmailAccount/AjaxCreateGET',{hostId:hId},function(result)
				{
					$('#emailContainer').html(result);
				}
				);
			}
		);
		
		$('.updateDefaultEmail').click(function()
			{
				var defId = $('#selectedaccount').val();
				$.getJSON('/SystemConfig/UpdateDefaultEmail',{defEmailId:defId},function(res)
						{
							$('.defaultEmailChosen').html(res.Message);
							$('.changeDefaultEmail').hide('slow');
						}
			);
			}
		);
		
        $('.changeDefaultEmailButton').unbind('click');
		$('.changeDefaultEmailButton').click(function()
			{
				if($('.changeDefaultEmail').is(':visible'))
					{
						$('.changeDefaultEmailButton').removeClass('toggleOn');
						$('.changeDefaultEmailButton').addClass('toggleOff');
						$('.changeDefaultEmail').hide('slow');
					}
				else
					
					{
						$('.changeDefaultEmailButton').removeClass('toggleOff');
						$('.changeDefaultEmailButton').addClass('toggleOn');
						$('.changeDefaultEmail').show('slow');
					}
			}
		);
		
		$('#selectedhost').change(function(res)
			{
				var hId = $(this).val();
				$.getJSON('/SystemConfig/HostEmails',{hostId:hId},function(res)
						{
							$('#selectedaccount').html(res.Message);
							
						}
				);
			}
		);
		
		$('.deletePriceRange').click(function()
			{
			
				var pId = $(this).attr('id');
				$.getJSON('/SystemConfig/DeletePriceRange',
					{rangeId:pId },
						function(jResult)
							{
								if(jResult.Success == 1)
									{
										$(this).parent().parent().remove();
										window.location.reload(); 
									}
								$('#message').html(jResult.Message);
							}
						);
			}
		);
		
		//Validate price range
		$('.validateRange').live('click',function()
			{
				var lowerValue = $.trim($('#lowervalue').val());
				var upperValue = $.trim($('#uppervalue').val());
				var failed =false;
				
				var msg ='';
				$('#lowervalue').removeClass('input-validation-error');
				$('#uppervalue').removeClass('input-validation-error');
				$('#message').html('');
				
				msg='<ul class="validation-summary-errors">';
				
				if(lowerValue == '')
					{
						$('#lowervalue').addClass('input-validation-error');
						msg=msg + '<li>Lower value is required.</li>';
						failed = true;
					}
				
				if(upperValue=='')
					{
						$('#uppervalue').addClass('input-validation-error');
						msg=msg + '<li>Upper value is required.</li>';
						failed = true;
					}
					
				
				
				msg= msg + '</ul>';
				
				msg = $.trim(msg);
				
				if(failed==true)
					{
						$('#message').html(msg);
						return false;
					}
					
				else
					return true;
			}
		);
		
		//Paypal Standard
		$('#AUTO_RETURN').live('change',function()
			{
				var value = $(this).val();
				if(value=='True')
						$('.autoReturn').show();
				else
						$('.autoReturn').hide();
			}
		);
		
		$('#ENCRYPTED_WEBSITE_PAYMENT').live('change',function()
			{
				var value = $(this).val();
				if(value=='True')
						$('.encryptedWebPayments').show();
				else
						$('.encryptedWebPayments').hide();
			}
		);
		
		$('#EXPRESS_CHECKOUT').live('change',function()
			{
				var value = $(this).val();
				if(value=='True')
						$('.expressCheckout').show();
				else
						$('.expressCheckout').hide();
			}
		);
		
		$('.deleteCollectionItem').live('click',function()
			{
				var parentId =$(this).parent().attr('id');
				if(confirm('This item will be deleted!.'))
					{
						$('#' + parentId).remove();
					}
			}
		);
		$('.addNewCollectionItem').live('click',function()
			{
				var seedCollection = $('.collectionItem');
				var seed;
				var newItemId;
				
				if(seedCollection != null)
					{
						seed = seedCollection[0];
						if(seed != null)
						{
							
							var count = (Number($('.collectionItem').length) + 1)
							var firstPart ='';
							var newBase;
							var content = $(seed).html();

							//change the ids for inner items
							$('#' + $(seed).attr('id') + ' input[type=text]').each(function()
								{
									var id = $(this).attr('id');
									if((id.indexOf("]")>=0) && (id.indexOf("[")>=0))
										{
											firstPart = id.substring(0,id.lastIndexOf(']') + 1);
											return false;
										}
										
								}
							);
							
							newBase = firstPart.substring(0,firstPart.lastIndexOf('_') + 1) + count + ']';
							newItemId = 'colDiv_' + count;
							var newContent = ReplaceAll(content,firstPart,newBase);
							$('.itemsCollection').append('<div id="' + newItemId + '" class="tableDiv centeredTable collectionItem">' + newContent + '</div>');
							
							//Reset values 
							
							$('#' + newItemId + ' div.rightColumn').children().each(function()
								{
									$(this).val('');
								}
							);
						}
						else
						{
							alert('Refresh this page to add item.');
						}
					}
				else
					{
						alert('Refresh this page to add item.');
					}
				
			}
		);
	}
)
function ReplaceAll(Source,stringToFind,stringToReplace){
  var temp = Source;
    var index = temp.indexOf(stringToFind);
        while(index != -1){
            temp = temp.replace(stringToFind,stringToReplace);
            index = temp.indexOf(stringToFind);
        }
        return temp;
}
function ValidateEmailAccount(fromAddress,userName,password)
{
	var retValue='';
	if(fromAddress=='')
		retValue += 'Email address is required. \n';
	if(userName=='')
		retValue += 'Account user name is required. \n';
	if(password=='')
		retValue += 'Account password is required. \n';
			
	return retValue;
}
function ValidateCertificate(certName)
{
	var retValue='';
	if(certName=='')
		retValue+='Certificate name is required. \n';
	
	return retValue;
}

function ValidateHost(fName,hAddress,hPort,hProtocol)
{
	var retValue='';
	if(fName=='')
		retValue+='Friendly name is required. \n';
	if(hAddress=='')
		retValue+='Host address is required. \n';
	if(hPort=='')
		retValue+='Port is required. \n';
	if(isNaN(hPort))
		retValue+='Port has to be an integer. \n';
	if(hProtocol=='')
		retValue+='Protocol is required. \n';
		
	return retValue;
}

function DeleteProvince(obj)
	{
		var img =obj;
		var pId = img.id;
		$.getJSON('/SystemConfig/DeleteProvince',
			{provinceId:pId },
			function(jResult)
				{
					if(jResult.Success == 1)
						{
							$(img.parentElement.parentElement).remove();
						}
						$('#message').html(jResult.Message);
				}
		);
	}
function AddProvince(obj)
	{
		var current = obj;
		var cc = $('#cmbcountrycode').val();
		var countryName = $('#cmbcountrycode option:selected').text();
		var node = current.nodeName;
		var provinceName = 'Not set';
		if(node == 'INPUT')
			provinceName='New province';
		if(node == 'A')
			provinceName=current.innerText;
		if(cc=='')
			{alert('You need to select country before adding a province');}
		else
			{
				$.getJSON('/SystemConfig/SelectProvince',
					{provinceId:current.id},
					function(jResult)
						{
							$('#selectedProvince').html('<form action="/SystemConfig/Configure?pageid=54&amp;cc=' + cc + '" method="post">' +
							'' + 
								'' + 
									'' +
								'' + 
								'' + 
									'' +
									'' +
								'' +
							'<table><tbody><tr><td colspan="2">' + provinceName + '</td></tr><tr><td>Province name</td><td><input id="province" name="province" value="' + jResult.Province + '" type="text"></td></tr></tbody></table>' +
								'<input id="countrycode" name="countrycode" value="' + cc + '" type="hidden">' +
								'<input id="provinceid" name="provinceid" value="' + jResult.ID + '" type="hidden">' +
								'<input id="btnSubmit" value="Save" class="validateProvince" type="submit">&nbsp;&nbsp;' +
								'<input id="btn" value="Cancel" class="hideNewprovince" type="button">' +
							'</form>'
								);
								$('#selectedProvince').show();
						}
				);	
			}
					
	}		
function CmbZoneTypeChanged(cmb)
	{
		var zoneIdValue =$('#zoneid').val();
		var zoneType = $(cmb).val();
		var cc = $('#cmbcountry').val();
		//Load the new zone form
		$('#selectedZone').load('/SystemConfig/AddZone',
			{zoneId: zoneIdValue, zType:zoneType, countryCode:cc});
	}
function CmbCountryChanged(cmb)
	{
		var zoneIdValue =$('#zoneid').val();
		var cc = $(cmb).val();
		var zoneType = $('#cmbType').val();
		//Load the new zone form
		$('#selectedZone').load('/SystemConfig/AddZone',
			{zoneId: zoneIdValue, zType:zoneType, countryCode:cc});
	}
function CmbProviderTypeChanged(cmb)
	{
		var providerIdValue = $('#providerid').val();
		var providerNameValue = $('#providername').val();
		var providerTypeValue = $(cmb).val();
		var providerDescriptionValue = $('#description').val();
		
		$('#message').html(''); //Reset any erro messages
		//Load the new zone form
		$('#selectedProvider').load('/SystemConfig/AddProviderInfo',
			{providerId: providerIdValue, providerType:providerTypeValue,
			providerName:	providerNameValue, providerDescription:providerDescriptionValue});
			
	}
function HideArea(area)
	{
		$('#' + area).hide();
	}
function deleteTableRow(item)
    {
	  $(item).parent().parent().remove();
    }
function AddProviderSettings(btn)
	{
		var providerTypeValue = $('#providertype').val();
		var returnVal ='';
		var tables =$('#settingsTables table').size() + 1;
		$.get('/SystemConfig/AddProviderSettings',
			{providerType:providerTypeValue, returnValue:returnVal,sectionNum:tables},
					function(data)
					{
						$('#settingsTables').append(data);
					});
	}
function AddProviderZone(btn)
	{
		
		var providerTypeValue = $('#providertype').val();
		var returnVal ='';
		
		var tBody =$(btn.parentNode.parentNode.parentNode);
		//alert(tBody);
		var row =$(btn.parentNode.parentNode);
		
		var rangeValue = $($(row[0]).children()[1] ).children('select').val();
		var rowNumValue =$($(tBody).children()).size() + 1;
		var sectionNumValue=($($(tBody[0].parentElement).prevAll()).size() + 1);
		$.get('/SystemConfig/ProviderZone',
			{providerType:providerTypeValue, returnValue:returnVal,rowNum:rowNumValue,
			rangeSettingValue:rangeValue, sectionNum:sectionNumValue},
					function(data)
					{
						$(tBody).append(data);
					});
		
	}
function CmbSettingTypeChanged(cmb)
	{
		var newValue =$(cmb).val();
		var tbl = $(cmb.parentElement.parentElement.parentElement);
		$(tbl.children()).each(function(row)
			{
				var oldValue =$($(this).children()[1]).children('input:hidden').val();
				$($(this).children()[1]).children('input:hidden').val(newValue);
			}
			);
	}
function DeleteSettingZone(img)
	{
			var existing = Number(img.existing);
			var settingid = Number(img.settingid);
			var returnVal = '';
			
			if(existing == 1)
			{
			$.get('/SystemConfig/DeleteSettingZone',
			{settingId:settingid, returnValue:returnVal},
				function(data)
				{
					$('#message').html(data);
				});
			}
			deleteTableRow(img);
	}
function DeleteRangeZone(img)
	{
			var existing = Number(img.existing);
			var settingid = Number(img.settingid);
			var providertype = $('#providertype').val();
			var returnVal = '';
			
			if(existing == 1)
			{
			$.get('/SystemConfig/DeleteRangeZone',
			{providerType:providertype, settingId:settingid, returnValue:returnVal },
				function(data)
				{
					$('#message').html(data);
				});
			}
			deleteTableRow(img);
	}
function DeleteRange(link)
	{
			var existing = Number(link.existing);
			var rangeid = Number(link.rangeid);
			var providertype = $('#providertype').val();
			var returnVal = '';
			
			if(existing == 1)
			{
			$.getJSON('/SystemConfig/DeleteRange',
			{rangeId:rangeid, providerType:providertype, returnValue:returnVal },
				function(jResult)
				{
					if(jResult.Success == 1)
					{
						//$(link.parentElement.parentElement.parentElement.parentElement).remove();
						$(link).parent().parent().parent().remove();
					}
					$('#message').html(jResult.Message);
				});
			}
			else
			{
				//$(link.parentElement.parentElement.parentElement.parentElement).remove();
				  $(link).parent().parent().parent().remove();
			}
			
	}
function AddWeightRange(obj)
	{
		var current = obj;
		$.getJSON('/SystemConfig/SelectWeightRange',
			{rangeId:current.id},
				function(jResult)
					{
						$('#selectedWeightRange').html('<form action="/SystemConfig/Configure?pageid=56" method="post">' +
						'' + 
							'' + 
								'' +
								'' +
							'' + 
							'' + 
								'' +
								'' +
							'' +
						'<table><tbody><tr><td>Lower value</td><td><input id="lowervalue" name="lowervalue" value="' + jResult.LowerValue + '" type="text"></td></tr><tr><td>Upper value</td><td><input id="uppervalue" name="uppervalue" value="' + jResult.UpperValue + '" type="text"></td></tr></tbody></table>' +
							'<input id="rangeid" name="rangeid" value="' + jResult.ID + '" type="hidden">' +
							'<input id="btnSubmit" class="validateRange" value="Save" type="submit">&nbsp;&nbsp;' +
							'<input id="btn" value="Cancel" onclick="HideArea(\'selectedWeightRange\')" type="button">' +
						'</form>'
							);
							$('#selectedWeightRange').show();
					});	
	}
function AddPriceRange(obj)
	{
		var current = obj;
		$.getJSON('/SystemConfig/SelectPriceRange',
			{rangeId:current.id},
				function(jResult)
					{
						$('#selectedPriceRange').html('<form action="/SystemConfig/Configure?pageid=57" method="post">' +
						'' + 
							'' + 
								'' +
								'' +
							'' + 
							'' + 
								'' +
								'' +
							'' +
						'<table><tbody><tr><td>Lower value</td><td><input id="lowervalue" name="lowervalue" value="' + jResult.LowerValue + '" type="text"></td></tr><tr><td>Upper value</td><td><input id="uppervalue" name="uppervalue" value="' + jResult.UpperValue + '" type="text"></td></tr></tbody></table>' +
							'<input id="rangeid" name="rangeid" value="' + jResult.ID + '" type="hidden">' +
							'<input id="btnSubmit" class="validateRange" value="Save" type="submit">&nbsp;&nbsp;' +
							'<input id="btn" value="Cancel" onclick="HideArea(\'selectedPriceRange\')" type="button">' +
						'</form>'
							);
							$('#selectedPriceRange').show();
					});	
	}	
function DeleteWeightRange(obj)
	{
		var img =obj;
		var pId = img.id;
		$.getJSON('/SystemConfig/DeleteWeightRange',
			{rangeId:pId },
				function(jResult)
					{
						if(jResult.Success == 1)
							{
								$(img.parentElement.parentElement).remove();
							}
						$('#message').html(jResult.Message);
					}
				);
	}

	
