<!--
//used in catalog page and import page

function selectMultiEditForm(f){

	var submit_buttons = dojo.byId('multi-edit-submit');
	var form_display = dojo.byId('multi-edit-form');
	
	if(f.value==''){
		submit_buttons.style.display='none';
		form_display.style.display='none';
    }else{
    	dojo.query('.hide', dojo.byId('multi-edit-form')).style('display','none');
		dojo.byId('multi-edit_'+f.value).style.display='block';
		submit_buttons.style.display='block';
	}
}

function saveMultiEdit(applytoall, source){
	
	var result = validateProduct(dojo.byId('multi-edit-field').value);
	
	if(result != true){
		alert(result);
		return false;
	}
	
	if(!confirm('Are you sure? You cannot undo this.')){
		return false;
	}
	
	var controller = _buildController(applytoall, source);
	
	dojo.byId('multi-edit').action = '/catalog/multi-edit-product/' + controller;
	dojo.byId('multi-edit').submit();
	
}

function saveMultiShipping(applytoall, source){

	var shipping_methods = document.edit_product_shipping.shipping_method;
	var none_checked = true;
	
	for(var i=0;i<shipping_methods.length;i++){
		if(shipping_methods[i].checked){
			none_checked = false;
			break;
		}
	}
	
	if(none_checked==true){
		alert('Please select a shipping method');
		return false;
	}
	
	if(shipping_methods[1].checked){
		var flat_rate_value = dojo.byId('shipping_flat_rate_value').value;
		 if(flat_rate_value=='' || isNaN(flat_rate_value)){
		 	alert('please enter a valid flat rate value');
		 	dojo.byId('shipping_flat_rate_value').focus();
		 	return false;
		 }
	}
	
	var controller = _buildController(applytoall, source);
	
	dojo.byId('edit_product_shipping').action= '/catalog/multi-save-shipping/' + controller;
	dojo.byId('edit_product_shipping').submit();
}

function deleteSelected(source){
	
	var check_box_key = (source=='importer') ? 'import_product_id': 'product_id';
	
	dojo.xhrGet ({
		url: '/ajax/validate-check-boxes/?c='+check_box_key,
		load: function(data){
			if(data > 0){
				if(confirm('Are you sure? You cannot undo this.')){
					var controller = _buildController('checked', source);
					dojo.xhrPost ({
						url: '/catalog/multi-delete-products/' + controller,
						load: function(data){
							if(data > 0){
								dojo.byId('deleted_count').innerHTML = '(<span id="deleted_product_count">'+data+'</span>)';
							}
						}
					});
				}
			}else{
				alert('Please select some products');
				return false;
			}
		}
	});
}

function _buildController(a, s){

	var source = (s == 'importer') ? s : 'catalog';
	var apply = (a == 'all') ? a : 'checked';
	var controller = 'source/' + source + '/apply/' + apply;
	
	return controller;
}

function cancelMultiedit(){
	dojo.byId('multi-edit-form').style.display='none';
	dojo.byId('multi-edit-submit').style.display='none';
	dojo.byId('multi-edit-field').options.selectedIndex = 0;
}

function getKeywords(keywords){
	text = (typeof(keywords) == 'undefined') ? '' : keywords;
	return '<textarea id="product_keywords" name="product_keywords" rows="7" cols="60" style="margin-bottom:1em;">'+text+'</textarea>';
}

function getDescription(description){
	text = (typeof(description) == 'undefined') ? '' : description;
	return '<textarea id="product_description" name="product_description" rows="10" cols="60" style="margin-bottom:1em;">'+text+'</textarea>';
}

function chooseShipping(div){
	
	var id = getIdSuffix(div);
	var shipping_methods = dojo.query('.shipping_method', div);
	
	var usps = dojo.byId('display_shipping_usps'+id);
	var flat_rate = dojo.byId('shipping_flat_rate_value'+id);
	
	shipping_methods.forEach(
		function(method){
			if(method.checked){
				var shipping_method = parseInt(method.value);
				switch(shipping_method){
				
					case SHIPPING_CALCULATOR :
						usps.style.display='block';
						flat_rate.disabled=true;
						break;
						
					case SHIPPING_FLAT_RATE :
						usps.style.display='none';
						flat_rate.disabled=false;
						break;
						
					case SHIPPING_INCLUDED :
						usps.style.display='none';
						flat_rate.disabled=true;
						break;
						
				}
			}
		}
	);
}

function checkBox(f){

	var input_name = f.name.replace('[]','');
	var state = (f.checked) ? 'add' : 'remove';
	
	var product = 'product_';
	var is_import = (f.name.indexOf('import') == 0) ? true : false;
	
	if(is_import == true){
		product = 'import_' + product;
	}
	
	var checked = (f.checked) ? ' checked' : '';
	var class_name = product + 'row' + checked;
	
	dojo.byId(product+f.value).className = class_name;
	
	dojo.xhrGet({
		url: '/ajax/checkbox/a/'+state+'/c/'+input_name+'/id/'+f.value,
		error: function(error){
			console.error ('Error: ', error);
		}
	});
}

function checkAll(f, is_import, input_name) {

	var products = 'products';
	var product = 'product_';
	
	if(is_import == true){
		products = 'import_'+products;
		product = 'import_' + product;
	}
	
	var checked = f.checked;
	var checkboxes = dojo.query('.checkbox', product + 'container');
	var state = (checked==true) ? 'add' : 'remove';
	
	checkboxes.forEach(
		function(checkbox){
		
			checkbox.checked = checked;
			
			var c = (checked==true) ? ' checked' : '';
				dojo.byId(product + checkbox.value).className = product + 'row' + c;
			
			var checkedbox = document.createElement('input');
				checkedbox.setAttribute('name', checkbox.name);
				checkedbox.setAttribute('type', 'hidden');
				checkedbox.value = checkbox.value;
				
				dojo.byId(products).appendChild(checkedbox);
		}
	);
	
	dojo.xhrPost ({
		url: '/ajax/checkbox/a/' + state + '/c/' + input_name,
		form: products,
		error: function(error){
			console.error ('Error: ', error);
		}	
	});
}

function toggleStartPrice(f){
	
	if(f.checked){
		dojo.byId('start_price').style.display='block';
		dojo.byId('product_start_price').focus();
	}else{
		dojo.byId('start_price').style.display='none';
	}
}

function validateField(field){
	
	var error;
	var is_valid = true;
	
	switch(field){
		
		case 'product_title':
			
			if(dojo.byId('product_title').value ==''){
				error = 'Title cannot be blank';
				is_valid = false;
			}
			break;
		
		case 'product_description':	
			
			if(dojo.byId('product_description').value == ''){
				error = 'Product description cannot be blank';
				is_valid = false;
			}
			
			break;
		
		case 'product_keywords':	
		
			if(dojo.byId('product_keywords').value ==''){
				error = 'Product keywords cannot be blank';
				is_valid = false;
			}
			break;
			
		case 'product_condition':	
			if(dojo.byId('product_condition').value !=1 && dojo.byId('product_condition').value !=0){
				error = 'Product condition is invalid';
				is_valid = false;
			}
			break;
			
		case 'product_availibility':	
			
			if(isValidDate(dojo.byId('product_start_date').value) == false){
				error = 'Start date is invalid';
				is_valid = false;
			}
						
			if(isValidDate(dojo.byId('product_end_date').value) == false){
				error = 'Expiration date is invalid';
				is_valid = false;
			}
			
			break;

		case 'product_start_date':	
			
			if(isValidDate(dojo.byId('product_start_date').value) == false){
				error = 'Start date is invalid';
				is_valid = false;
			}
			
			break;
			
		case 'product_end_date':
		
			if(isValidDate(dojo.byId('product_end_date').value) == false){
				error = 'Expiration date is invalid';
				is_valid = false;
			}
			
			break;
			
		case 'product_quantity':
			
			if(dojo.byId('product_quantity').value =='' || dojo.byId('product_quantity').value =='0'){
				error = 'Please enter valid quantity';
				is_valid = false;
			}
			if(isNaN(dojo.byId('product_quantity').value)){
				error = 'Please enter a valid quantity.';
				is_valid = false;
			}
			
			break;

		case 'product_price': 
			
			if(dojo.byId('product_price').value == '' || dojo.byId('product_price').value == '0'){
				error = 'Please enter a price.';
				is_valid = false;
			}
			
			if(isNaN(dojo.byId('product_price').value)){
				error = 'Please enter a valid price.';
				is_valid =  false;
			}
			
			break;
			
		case 'product_start_price': 
			
			if(dojo.byId('product_offer').checked){
				if(dojo.byId('product_start_price').value == '' || dojo.byId('product_start_price').value == '0'){
					error = 'Please enter a valid start price.';
					is_valid =  false;
				}
				if(isNaN(dojo.byId('product_start_price').value)){
					error = 'Please enter a valid start price.';
					is_valid =  false;
				}
			}
			
			break;
		
		case 'product_categories': 
			var category1 = dojo.byId('product_category1').value;
			if(category1 == 0 || category1 == ''){
				error = 'Please select a category.';
				is_valid =  false;
			}
			break;
			
		case 'product_category1': 
			var category1 = dojo.byId('product_category1').value;
			if(category1 == 0 || category1 == ''){
				error = 'Please select a category.';
				is_valid =  false;
			}
			break;
			
		case 'product_sell_option':
		
			if((!dojo.byId('product_order').checked) && (!dojo.byId('product_offer').checked)){
				error = 'Please select a payment option.';
				is_valid =  false;
			}
			
			if(dojo.byId('product_offer').checked){
				if(dojo.byId('product_start_price').value == '' || dojo.byId('product_start_price').value == '0'){
					error = 'Please enter a valid start price.';
					is_valid =  false;
				}
				if(isNaN(dojo.byId('product_start_price').value)){
					error = 'Please enter a valid start price.';
					is_valid =  false;
				}
			}
			
			case 'product_offer':
		
				if(dojo.byId('product_offer').checked){
					if(dojo.byId('product_start_price').value == '' || dojo.byId('product_start_price').value == '0'){
						error = 'Please enter a start price.';
						is_valid =  false;
					}
					if(isNaN(dojo.byId('product_start_price').value)){
						error = 'Please enter a valid start price.';
						is_valid =  false;
					}
				}
			
			break;
			
			case 'product_shipping':
				
				var shipping_methods = dojo.byId('multi-edit').shipping_method;
				
				var shipping_calc_checked = shipping_methods[0].checked;
				var shipping_flat_checked = shipping_methods[1].checked;
				var shipping_incl_checked = shipping_methods[2].checked;
				
				if(!shipping_calc_checked && !shipping_flat_checked && !shipping_incl_checked){
					error = 'Please select a shipping option';
					is_valid = false;
				}
				
				if(shipping_calc_checked){
				
					var pounds = dojo.byId('shipping_weight_pounds').value;
					var ounces = dojo.byId('shipping_weight_ounces').value;
					var width  = dojo.byId('shipping_size_width').value;
					var length = dojo.byId('shipping_size_length').value;
					var height = dojo.byId('shipping_size_height').value;
					
					if(isNaN(pounds)){
						error = 'Please enter valid pounds';
						is_valid = false;
					}
					
					if(ounces !=''){
						if(isNaN(ounces)){
							error = 'Please enter valid ounces';
							is_valid = false;
						}
					}
					
					if(width == '' || length == '' || height == ''){
						error = 'Please enter valid dimensions';
						is_valid = false;
					}
					
					if(width == '0' || length == '0' || height == '0'){
						error = 'Please enter valid dimensions';
						is_valid = false;
					}
					
					if((length == '' || height == '') || (length == '0' && height == '0')){
						error = 'Please enter valid dimensions';
						is_valid = false;
					}
					
					if(isNaN(width) || isNaN(length) || isNaN(height)){
						error = 'Please enter valid dimensions';
						is_valid = false;
					}
				}
				
				if(shipping_flat_checked){
					if(dojo.byId('shipping_flat_rate_value').value==''){
						error = 'Please enter a flat rate';
						is_valid = false;
					}
					if(isNaN(dojo.byId('shipping_flat_rate_value').value)){
						error = 'Please enter a valid flat rate';
						is_valid = false;
					}
				}
				
			break;
					
	}

	var result = (is_valid == false) ? error : true;
	
	return result;
}