function CheckProductForm() {
			var form = document.forms['productQuoteForm'];			
			if (form.product_type.value==0) {
				alertInput(form.product_type,'Please choose a product!')
			} else if (form.lic_type.value==0) {
				alertInput(form.lic_type,'Please choose a type of the license!')
			} else if (form.lic_quan.value==0) {
				alertInput(form.lic_quan,'Please select quantity!')			
			} 
			else 
			{				
				var form = document.forms['productQuoteForm'];
				var productTypeValue = parseInt(form.product_type.value);
				
				if (productTypeValue == ProductTypeSupport){
					if ((!form.UpgradeProtectionYes.checked)&&(!form.UpgradeProtectionNo.checked)) {
						alertInput(form.UpgradeProtectionYes,'Please, accomplish step 4!')
					} else  {
						form.quate_quan.value = form.lic_quan.value;
						form.submit();
					}
				} else if (productTypeValue == ProductTypeUpgradeProtection){
					if ((!form.SuppYes.checked)&&(!form.SuppNo.checked)) {
						alertInput(form.SuppYes,'Please, accomplish step 4!')
					} else {
						form.quate_quan.value = form.lic_quan.value;
						form.submit();
					}					
					
				} else{				
					if ((!form.UpgradeProtectionYes.checked)&&(!form.UpgradeProtectionNo.checked)) {
						alertInput(form.UpgradeProtectionYes,'Please, accomplish step 4!')
					} else if ((!form.SuppYes.checked)&&(!form.SuppNo.checked)) {
						alertInput(form.SuppYes,'Please, accomplish step 5!')
					} else {
						form.quate_quan.value = form.lic_quan.value;
						form.submit();
					}	
				}				
			}
			
			return false;
		}	
		
		function ProductChange() {
			var form = document.forms['productQuoteForm'];
			if (form.product_type.value==0) {			
				form.lic_type.value=0;
				form.lic_type.disabled = true;				
			}
			else
			{					
				form.lic_type.value=0;
				form.lic_type.disabled = false;	
				
				form.lic_quan.length = 0;
				if (document.createElement){
				    var newOption = document.createElement("OPTION");
				    newOption.text = 'Please select';
				    newOption.value = 0;
				    (form.lic_quan.options.add) ? form.lic_quan.options.add(newOption) : form.lic_quan.add(newOption, null);
				}else{
				    form.lic_quan.options[i] = new Option('Please select', 0, false, false);
				}		
			}
			
			form.lic_quan.value=0;
			form.lic_quan.disabled = true;	
			
			DisableSupportAndUpgradeProtecion(form, true);			
			
			ShowHideSupportAndUpgradeProtection();			
			
			ProductLicenseCartRecount();
		}
		
		function DisableSupportAndUpgradeProtecion(form, flag){			
			form.SuppYes.checked = false;
			form.SuppNo.checked = false;
			form.SuppYes.disabled = flag;
			form.SuppNo.disabled = flag;
			form.UpgradeProtectionYes.checked = false;
			form.UpgradeProtectionNo.checked = false;
			form.UpgradeProtectionYes.disabled = flag;
			form.UpgradeProtectionNo.disabled = flag;			
		}
		
		function ProductLicenseChange() {
			var form = document.forms['productQuoteForm'];
			
			if (form.lic_type.value==0) {
			    form.lic_quan.length = 0;
				if (document.createElement){
				    var newOption = document.createElement("OPTION");
				    newOption.text = 'Please select';
				    newOption.value = 0;
				    (form.lic_quan.options.add) ? form.lic_quan.options.add(newOption) : form.lic_quan.add(newOption, null);
				}else{
				    form.lic_quan.options[i] = new Option('Please select', 0, false, false);
				}
				
				form.lic_quan.value=0;
				form.lic_quan.disabled = true;				
			
				DisableSupportAndUpgradeProtecion(form, true);	
				
			} else {
				
				DisableSupportAndUpgradeProtecion(form, false);	
				
				var prices = GetPrices();				
				
				var i;
			    form.lic_quan.length = 0;
			    if (prices[0]==1) {
					if (document.createElement){
					    var newOption = document.createElement("OPTION");
					    newOption.text = '  1          Base price';
					    newOption.value = 1;
					    (form.lic_quan.options.add) ? form.lic_quan.options.add(newOption) : form.lic_quan.add(newOption, null);
					}else{
					    form.lic_quan.options[i] = new Option('  1          Base price', 1, false, false);
					}
					form.lic_quan.disabled = true;
			    } else {
			    	form.lic_quan.disabled = false;
					if (document.createElement){
					    var newOption = document.createElement("OPTION");
					    newOption.text = 'Please select';
					    newOption.value = 0;
					    (form.lic_quan.options.add) ? form.lic_quan.options.add(newOption) : form.lic_quan.add(newOption, null);
					}else{
					    form.lic_quan.options[i] = new Option('Please select', 0, false, false);
					}
					for (i=1; i<=prices[0]; i++) {
						var st = new String(i);
						while (st.length<2) st = '  '+st;
						if (prices[i]==prices[1]  || form.quote_type.value == 'edu' || form.quote_type.value == 'gov')
							st += '          Base price';
						else
							st += '          Save USD '+((prices[1]-prices[i])*i)+'.00!';
						if (document.createElement){
						    var newOption = document.createElement("OPTION");
						    newOption.text = st;
						    newOption.value = i;
						    (form.lic_quan.options.add) ? form.lic_quan.options.add(newOption) : form.lic_quan.add(newOption, null);
						}else{
						    form.lic_quan.options[i] = new Option(st, i, false, false);
						}
					}
				}
			}
		
			ProductLicenseCartRecount();
		}
		
		function ProductLicenseCartRecount() 
		{
			var form = document.forms['productQuoteForm'];
			var Spacer = document.getElementById('cartSpacer');
			var Row = document.getElementById('cartRow');
			if ((form.lic_type.value!=0)&&(form.lic_quan.value!=0)) {
				var st;
				st = '<tr><td><strong>Your Order</strong></td></tr>';	

				var prices = GetPrices();
				
				if (form.product_type.value == ProductTypeLicense && (form.quote_type.value == 'edu' || form.quote_type.value == 'gov') && form.lic_type.value == 1) //Single license
				{
					// Take base price
					st += '<tr><td style="padding-left: 10px">Softerra LDAP Administrator ('+Licenses[form.lic_type.value]+')</td>'+
					'<td nowrap align="right" style="padding-left: 10px"><strong>'+form.lic_quan.value+' x '+Products[form.lic_type.value][1]+'.00</strong></td></tr>';					
					var sum = Products[form.lic_type.value][1] * form.lic_quan.value; 
					
					st += '<tr><td style="padding-left: 10px">';
					if (form.quote_type.value == 'edu')
					{
						st += 'Educational Discount';
					}
					else
					{
						st += 'Government Discount';
					}
					
					st += '</td><td nowrap align="right" style="padding-left: 10px"><strong>'+form.lic_quan.value+' x '+educationalAndGovernmentDiscount + '.00</strong></td></tr>';
					sum += educationalAndGovernmentDiscount * form.lic_quan.value;
				}	
				else
				{
				
					st += '<tr><td style="padding-left: 10px">'+ ProductTypes[form.product_type.value] + ' ('+Licenses[form.lic_type.value]+')</td>'+					'<td nowrap align="right" style="padding-left: 10px"><strong>'+form.lic_quan.value+' x '+prices[form.lic_quan.value]+'.00</strong></td></tr>';
					var sum = prices[form.lic_quan.value] * form.lic_quan.value;	
				}					
				
				if (form.UpgradeProtectionYes.checked) {
					st += '<tr><td style="padding-left: 10px">LDAP Administrator Annual Upgrade Protection ('+Licenses[form.lic_type.value]+')</td>'+
						'<td nowrap align="right" style="padding-left: 10px"><strong>'+form.lic_quan.value+' x '+UpgradeProtections[form.lic_type.value][form.lic_quan.value]+'.00</strong></td></tr>';
					sum += UpgradeProtections[form.lic_type.value][form.lic_quan.value] * form.lic_quan.value
				}			
				
				if (form.SuppYes.checked) {
					st += '<tr><td style="padding-left: 10px">LDAP Administrator Priority Annual Support ('+Licenses[form.lic_type.value]+')</td>'+
						'<td nowrap align="right" style="padding-left: 10px"><strong>'+form.lic_quan.value+' x '+Supports[form.lic_type.value][form.lic_quan.value]+'.00</strong></td></tr>';
					sum += Supports[form.lic_type.value][form.lic_quan.value] * form.lic_quan.value
				}

				st += '<tr><td><strong>Total</strong></td>' +
					'<td nowrap align="right" class="green" style="padding-left: 10px"><strong>USD '+sum+'.00</strong></td></tr>';
				document.getElementById('Cart').innerHTML = '<table cellpadding="0" cellspacing="0" border="0" width="100%">' + st + '</table>';

				var show;
				if (is.ns5 || is.opera) show = 'table-row'; else show='block';
				Spacer.style.display = show;
				Row.style.display = show;
			} else {
				Spacer.style.display = 'none';
				Row.style.display = 'none';
			}
		}
		
		function GetPrices()
		{
			var form = document.forms['productQuoteForm'];
			var prices;
			switch(parseInt(form.product_type.value)){
				case ProductTypeLicense:
					prices = Products[form.lic_type.value];
				break;
				case ProductTypeSupport:
					prices = Supports[form.lic_type.value];
				break;
				case ProductTypeUpgradeProtection:
					prices = UpgradeProtections[form.lic_type.value];
				break;
				case ProductTypeLicenseUpgradeFromVersion2008x:
					prices = UpgradesFromVersion2008x[form.lic_type.value];
				break;
				case ProductTypeLicenseUpgradeFromVersion3x:
					prices = UpgradesFromVersion3x[form.lic_type.value];
				break;
			}
			return prices;
		}
		
		function ShowHideSupportAndUpgradeProtection()
		{
			var form = document.forms['productQuoteForm'];
			var supportSpacer = document.getElementById('supportSpacer');
			var supportCaptionRow = document.getElementById('supportCaptionRow');
			var supportRow = document.getElementById('supportRow');
			var upgradeProtectionSpacer = document.getElementById('upgradeProtectionSpacer');
			var upgradeProtectionCaptionRow = document.getElementById('upgradeProtectionCaptionRow');
			var upgradeProtectionRow = document.getElementById('upgradeProtectionRow');
			var supportStep5 = document.getElementById('supportStep5');
			var supportStep4 = document.getElementById('supportStep4');				
			
			var show;
			if (is.ns5 || is.opera) {
				show = 'table-row'; 
			} else {
				show='block';
			}
				
			var form = document.forms['productQuoteForm'];
			var productTypeValue = parseInt(form.product_type.value);
			
			if (productTypeValue == ProductTypeSupport){
				supportSpacer.style.display = 'none';
				supportCaptionRow.style.display = 'none';
				supportRow.style.display = 'none';
				supportStep5.style.display = show;
				supportStep4.style.display = 'none';
				upgradeProtectionSpacer.style.display = show;
				upgradeProtectionCaptionRow.style.display = show;
				upgradeProtectionRow.style.display = show;
			} else if (productTypeValue == ProductTypeUpgradeProtection){
				supportStep5.style.display = 'none';
				supportStep4.style.display = show;
				supportSpacer.style.display = show;
				supportCaptionRow.style.display = show;
				supportRow.style.display = show;
				upgradeProtectionSpacer.style.display = 'none';
				upgradeProtectionCaptionRow.style.display = 'none';
				upgradeProtectionRow.style.display = 'none';
			} else{			
				supportStep5.style.display = show;
				supportStep4.style.display = 'none';	
				supportSpacer.style.display = show;
				supportCaptionRow.style.display = show;
				supportRow.style.display = show;
				upgradeProtectionSpacer.style.display = show;
				upgradeProtectionCaptionRow.style.display = show;
				upgradeProtectionRow.style.display = show;
			}
		}

