function lock_personalizations() {
	// if locked, find all of the lines with this personalization ID and set the value to the first one.
	var personalization_id = $(this).attr('rel')
	var checked = $(this).attr('checked')==true;
	var initial_element = 	document.getElementById('personalization_text['+personalization_id+'][1]')
	var value 			= 	initial_element.value
	var initial_values 	= 	document.getElementsByName('personalization_text_values['+personalization_id+'][1]')
	var initial_type 	= 	document.getElementById('personalization_type['+personalization_id+'][1]')
	var initial_file 	= 	document.getElementById('personalization_file['+personalization_id+'][1]')
	var initial_value 	= '';
	var initial_text_type = '';
	if (initial_type.value == 'text') { 
		var initial_text_pick = document.getElementsByName('personalization_text_value_type['+personalization_id+'][1]');
		for (var i in initial_text_pick) { 
			if (initial_text_pick[i].checked==true) { 
				initial_text_type = initial_text_pick[i].value;
				initial_text_pick[i].disabled = true;
			}
		}
	}
	if (initial_values && initial_values[0] && initial_values[0].type && initial_values[0].type == 'radio') { 
		// it's a radio button
		for (var i = 0; i < initial_values.length; i++) { 
			var r = initial_values[i];
			if (r.checked==true) { 
				initial_value = r.value;
			}
			if (checked) {
				r.disabled=checked;
			}
			else { 
				r.disabled=checked;
			}
		}
	}
	else if (initial_values) { 
		// it's a select box
		initial_value = $(initial_values).val()
		$(initial_values).attr('disabled', checked)
	}
	initial_element.disabled=checked;
	for (var i = 1; i < personalizations[personalization_id].length; i++) { 
		var element = document.getElementById('personalization_text['+personalization_id+']['+(i+1)+']')
		var values 	= document.getElementsByName('personalization_text_values['+personalization_id+']['+(i+1)+']')
		var type  	= document.getElementById('personalization_type['+personalization_id+']['+(i+1)+']')
		var file  	= document.getElementById('personalization_file['+personalization_id+']['+(i+1)+']')
		var text_picker = document.getElementsByName('personalization_text_value_type['+personalization_id+']['+i+']');
		if (type.value == 'text' && text_picker) { 
			for (var j in text_picker) { 
				text_picker[j].checked=(text_picker[j].value==initial_text_type)
				text_picker[j].disabled = true;
			}
		}
		if (checked) { 
			element.value = value
			element.disabled = 'disabled'
			if (values && values[0] && values[0].type && values[0].type == 'radio') { 
				for (var j = 0 ; j < values.length; j++) { 
					var r = values[j];
					if (r.value == initial_value) { 
						r.checked=true;
					}
					r.disabled =true;
				}
			}
			else if (values) { 
				$(values).val(initial_value)
				$(values).attr('disabled', true)
			}
			if (file) { 
				file.value = initial_file.value;
				if (file.value) {
					document.getElementById('rem_img_block['+personalization_id+']['+(i+1)+']').style.display = 'block';
					document.getElementById('att_img_block['+personalization_id+']['+(i+1)+']').style.display = 'none';
				}
				else { 
					document.getElementById('rem_img_block['+personalization_id+']['+(i+1)+']').style.display = 'none';
					document.getElementById('att_img_block['+personalization_id+']['+(i+1)+']').style.display = 'block';
				}

				document.getElementById('rem_img_block['+personalization_id+']['+(i+1)+']').disabled = true;
				document.getElementById('att_img_block['+personalization_id+']['+(i+1)+']').disabled = true;
			}
			if (type) { 
				type.value = initial_type.value;
			}
		}
		else { 
			// unchecked - re-enable elements.
			element.disabled = ''
			if (type.value=='text' && text_picker) { 
				for (var j = 0; j < text_picker.length; j++) {
					text_picker[j].disabled = false
				}
				
			}
			if (values && values[0] && values[0].type && values[0].type == 'radio') {
				for (var j = 0 ; j < values.length; j++) { 
					var r = values[j];
					r.disabled = false;
				}
			}
			else if (values) { 
				$(values).attr('disabled', false)
			}
			if (file) { 
				document.getElementById('rem_img_block['+personalization_id+']['+(i+1)+']').disabled = false;
				document.getElementById('att_img_block['+personalization_id+']['+(i+1)+']').disabled = false;
			}
		}
	}
}

function remove_att_img(perso_id, index) {
	document.getElementById("personalization_text["+perso_id+"]["+index+"]").value = '';
	document.getElementById("personalization_text["+perso_id+"]["+index+"]").readOnly = false;
	document.getElementById("personalization_text["+perso_id+"]["+index+"]").disabled = false;
	document.getElementById("personalization_file["+perso_id+"]["+index+"]").value = '';
	document.getElementById("personalization_type["+perso_id+"]["+index+"]").value = 'both_text';
	document.getElementById("rem_img_block["+perso_id+"]["+index+"]").style.display = 'none';
	document.getElementById("att_img_block["+perso_id+"]["+index+"]").style.display = 'block';
}


function set_personalization_text_value(evt) { 
	var related_attribute_id = $(this).attr('rel');
	var related_attribute = document.getElementById(related_attribute_id);
	if ($(this).attr('value') == undefined) { 
		related_attribute.value = '';
	}
	else { 
		related_attribute.value=$(this).attr('value');
	}
	var radio_name = $(this).attr('name').replace(/personalization_text_values/,'personalization_text_value_type')
	var values = document.getElementsByName(radio_name)
	for (var i = 0 ; i < values.length; i++) { 
		if (values[i].value == 'predefined') {
			values[i].checked = true;
		}
		else { 
			values[i].checked = false;
		}
	}
}

function enable_all_personalization_fields() { 
	$('input').attr('disabled', false);
	$('select').attr('disabled', false);
}

function set_radio(e) { 
	var disabled = $(this).parent().children('input[type=radio').attr('disabled') == "true";
	if (disabled == false ) { 
		$(this).parent().children('input[type=radio]').attr('checked',true)
	}
}

$(document).ready(function() { 
	$('input[name*=personalization_text_values]').change(set_personalization_text_value);
	$('select[name*=personalization_text_values]').change(set_personalization_text_value);
	$('input[value=Add To Cart]').click(enable_all_personalization_fields);
	$('input[id*=lock_]').click(lock_personalizations);
	$('label > img').click(set_radio);
});


