AddSafeLoaderCallback(Item_v2_Init);

function Item_v2_Init()
{
	if(server_export_data_obj.category_view)
	{
		var order_by_input_node_array = dojo.query('.admin_edit_order_by');
		for(i=0; i<order_by_input_node_array.length; i++)
		{
			dojo.connect(order_by_input_node_array[i], 'onkeyup', AdminItemOrderBy_Changed);
		}

	}
	if(server_export_data_obj.item_v2_is_detailed_display)
	{
		ItemLogo_SetLocationData(server_export_data_obj.initial_logo_location_id);
		ItemLogo_SetLogoData(server_export_data_obj.initial_logo_id);

		Item_v2_LoadImage(server_export_data_obj.item_v2_default_color, last_selected_logo_id);
		Item_v2_DoReloadTotals();
	}
}

// ========================================================================
// Size chart admin
// ------------------------------------------------------------------------
function SizeChart_CreateExpandLink(div_id, link_id)
{
	var link = document.getElementById(link_id);
	var div = document.getElementById(div_id);

	if(link.innerHTML=='expand')
	{
		div.style.display='';
		link.innerHTML='collapse';
	}
	else
	{
		div.style.display='none';
		link.innerHTML='expand';
	}
}
function SizeChart_CreateSizeChartCode(item_id, item_type_code, num_of_sizes)
{
	var size_chart_table = document.getElementById('size_chart_table');
	var code_area = document.getElementById('size_chart_code_area');
	var code ='&lt;table class="gc_box_border item_size_chart" border="0" cellspacing="1" cellpadding="2" width="100%"&gt;&lt;tr&gt;&lt;td class="gc_box_header chartheader"&gt;&nbsp;&lt;/td&gt;';
	for(i=1;i<num_of_sizes;i++)
	{
	     current_cell=document.getElementById('size_'+i);
	     if(current_cell.value)
	     {
	     	code += '&lt;td class="gc_box_header chartheader"&gt;'+current_cell.value+'&lt;/td&gt;';
		}
	}
	code +='&lt;/tr&gt;';
	for(x=1;x<=6;x++)
	{
	     current_cell=document.getElementById('heading_'+x);
	     if(current_cell.value)
	     {
	     	code += '&lt;tr&gt;&lt;td class="gc_box_content_secondary chartleft"&gt;'+current_cell.value+'&lt;/td&gt;';
			for(z=1;z<num_of_sizes;z++)
			{
    				current_cell=document.getElementById('heading_'+x+'_size_'+z);
			     if(current_cell.value)
			     {
			     	code += '&lt;td class="gc_box_content_tertiary chartright"&gt;'+current_cell.value+'&lt;/td&gt;';
    				}
			}
			code +='&lt;/tr&gt;';
		}
	}
	code +='&lt;/table>';
	cms_text_area = document.getElementById('cms_item_size_chart_'+item_id+'_'+item_type_code+'_body_edit_textarea');
	cms_save_link = document.getElementById('cms_item_size_chart_'+item_id+'_'+item_type_code+'_legend_save');

	cms_text_area.innerHTML = code;
	JSFeature.FireEvent(cms_save_link,"click");
}

// ========================================================================

// =============================================================================
// DETAILED DISPLAY image color change, xl/zoom
// =============================================================================
var last_loaded_img_name = '';
function Item_v2_ShowXLWindow(filename, window_width, window_height)
{

	if(!filename)
		filename = last_loaded_img_name;
	if(!window_width)
		window_width = js_site_obj.GetDataDumpValue('item_image_xl_width');
	if(!window_height)
		window_height = js_site_obj.GetDataDumpValue('item_image_xl_width');	// same as width


	var img_src = Item_v2_CreateResizeImageLink(js_site_obj.GetDataDumpValue('item_image_path')+filename, window_width, window_height, js_site_obj.GetDataDumpValue('item_image_quality'));

	newwin=window.open('','item_xl_win','width='+window_width+',height='+window_height+',scrollbars=0,menubars=0,toolbars=0,location=0,directories=0,status=0,top=0,left=0');
	newwin.document.open();
	newwin.document.write('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"\n');
	newwin.document.write('"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">');
	newwin.document.write('\n<html>\n<head>\n<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />\n');
	newwin.document.write('<meta http-equiv="Imagetoolbar" content="no" />\n');
	newwin.document.write('<title>'+filename+'</title>\n');
	newwin.document.write('</head>');
	newwin.document.write('<body style="margin: 0px; padding: 0px">\n<img src="'+img_src+'" border="0" alt="">');
	newwin.document.write('\n</body></html>');
	newwin.document.close();
	newwin.focus();
}

function Item_v2_ShowCmsSizeChart(window_width, window_height)
{
	var newwin;
	newwin=window.open('',(new Date().getMinutes())+(new Date().getSeconds()),'width='+window_width+',height='+window_height+',resizable=1,scrollbars=0,menubars=0,toolbars=0,location=0,directories=0,status=0,top=0,left=0');
	newwin.document.open();
	newwin.document.write('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"\n');
	newwin.document.write('"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">');
	newwin.document.write('\n<html>\n<head>\n<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />\n');
    newwin.document.write('<link rel="stylesheet" type="text/css" href="css/style.css">');
    newwin.document.write('<link rel="stylesheet" type="text/css" href="css/global_color.css">');
    newwin.document.write('<link rel="stylesheet" type="text/css" href="css/global_style.css">');
	newwin.document.write('<link rel="stylesheet" type="text/css" href="css/item_size_chart.css">');
	//newwin.document.write('<meta http-equiv="Imagetoolbar" content="no" />\n');
	newwin.document.write('<title>Size Chart</title>\n');
	newwin.document.write('</head>');
	newwin.document.write('<body style="margin: 0px; padding: 0px"><div style="width:100%; height:100%;" id="template_container">\n'+ server_export_data_obj.size_chart_html+"</div>");
	newwin.document.write('\n</body></html>');
	newwin.document.close();
	newwin.focus();
}
function Item_v2_OnDataChangeThatAffectsImage()
{
	if(js_site_obj.GetDataDumpValue('item_v2_is_color_img_change'))
	{
		var color = '';
		if(dojo.byId('color'))
		{
			color = dojo.byId('color').value;

			if(color == '')
				color =  js_site_obj.GetDataDumpValue('item_v2_default_color');
		}
		Item_v2_LoadImage(color, js_site_obj.GetDataDumpValue('item_v2_is_logo_img_change')?last_selected_logo_id:'');
	}
}


function Item_v2_LoadImage_base64(color_name_base64, logo_id_base64)
{
	var color = JSFeature.Base64.decode(color_name);
	var logo_id = JSFeature.Base64.decode(logo_id_base64);
	Item_v2_LoadImage(color_name, logo_id);
}

function Item_v2_LoadImage(color_name, logo_id)
{
	if(!logo_id && js_site_obj.GetDataDumpValue('initial_img_logo_id'))
		logo_id = js_site_obj.GetDataDumpValue('initial_img_logo_id');

	var img_filename = Item_v2_BuildImgFilename(js_site_obj.GetDataDumpValue('Item_v2_image_basename'), js_site_obj.GetDataDumpValue('item_v2_is_color_img_change')?color_name:'', js_site_obj.GetDataDumpValue('item_v2_is_logo_img_change')?logo_id:'');
	var img_src = js_site_obj.GetDataDumpValue('item_image_path')+img_filename;

	last_loaded_img_name = img_filename;

	var normal_adjusted_src = Item_v2_CreateResizeImageLink(img_src, js_site_obj.GetDataDumpValue('item_image_large_width'),0,js_site_obj.GetDataDumpValue('item_image_quality'));
	var magnify_adjusted_src = Item_v2_CreateResizeImageLink(img_src, js_site_obj.GetDataDumpValue('item_image_zoom_width'),0,js_site_obj.GetDataDumpValue('item_image_quality'));

	dojo.byId('item_v2_main_detailed_display_image_wrapper').style.visibility = 'hidden';
	dojo.byId('item_v2_main_detailed_display_image_wrapper').innerHTML = '<a><img id="item_main_image" src="'+normal_adjusted_src+'" class="item_v2_main_detailed_display_image" style="width:'+js_site_obj.GetDataDumpValue('item_image_large_width')+'px; height:'+js_site_obj.GetDataDumpValue('item_image_large_width')+'px;" /></a>';
	dojo.byId('item_v2_main_detailed_display_image_wrapper').style.visibility = '';

	if(js_site_obj.GetDataDumpValue('Item_v2_use_zoomviewer'))
	{
		//MojoMagnify.makeMagnifiable(dojo.byId('item_main_image'), magnify_adjusted_src);
		MojoZoom.makeZoomable(dojo.byId('item_main_image'), magnify_adjusted_src, dojo.byId('item_main_image_zoom'),null,null,false);

	}
}

function Item_v2_BuildImgFilename(basename, color_name, logo_id)
{
	var logo_name = Item_v2_GetLogoNameById(logo_id)
	var img_filename = basename+(color_name?'-'+Item_v2_MakeStringFileSafe(color_name):'')+(logo_id?'-'+Item_v2_MakeStringFileSafe(logo_name):'')+'.jpg'
	return img_filename;
}


function Item_v2_MakeStringFileSafe(str)
{
	var i=0;
	var new_str = '';
	var safe_char_string = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_';

	if(str)
	{
		for(i=0; i<str.length; i++)
		{
			if(safe_char_string.indexOf(str.charAt(i)) != -1)
				new_str += str.charAt(i);
			else
				new_str += '_';
		}
	}
	return new_str.toLowerCase();
}

function Item_v2_CreateResizeImageLink(filenamepath, width, height, quality)
{
	return 'resize.php?filename='+escape(filenamepath)+'&'+(width?'width='+width+'&':'')+(height?'height='+height+'&':'')+(quality?'quality='+quality+'&':'');
}

// =============================================================================
// item logo
// =============================================================================
var last_selected_logo_location_id = 0;
var last_selected_logo_id = 0;

function Item_v2_GetLogoIdByName(logo_name)
{
	var logo_name_array = server_export_data_obj.logo_name_array;
	for(i=0; i<logo_name_array.length; i++)
	{
		if(logo_name_array[i].toLowerCase() == logo_name.toLowerCase())
			return server_export_data_obj.logo_name_id_array[i];
	}
	return 0;
}

function Item_v2_GetLogoNameById(logo_id)
{
	var logo_id_array = server_export_data_obj.logo_name_id_array;
	for(i=0; i<logo_id_array.length; i++)
	{
		if(logo_id_array[i] == logo_id)
			return server_export_data_obj.logo_name_array[i];
	}
	return '';
}

function ItemLogo_OnLocationInputClick(location_id)
{
	ItemLogo_SetLocationData(location_id);
}

function ItemLogo_IsLocationException(location_id, logo_id)
{
	var i=0,i2=0;
	var loc_excp_array = server_export_data_obj.item_all_location_exception_array;
	for(i=0; i<loc_excp_array.length; i++)
	{
		if(loc_excp_array[i][0] == location_id)
		{
			for(i2=0; i2<loc_excp_array[i][1].length; i2++)
			{
				if(loc_excp_array[i][1][i2] == logo_id)
					return true;
			}
		}
	}
	return false;
}

function ItemLogo_OnLogoInputClick(logo_id)
{
	ItemLogo_SetLogoData(logo_id);
	Item_v2_OnDataChangeThatAffectsImage();
}

// sets the location input and adjusts logo inputs accordingly
function ItemLogo_SetLocationData(location_id)
{
	last_selected_logo_location_id = location_id;

	var loc_excp_array = server_export_data_obj.item_all_location_exception_array;
	var logo_id_array = server_export_data_obj.logo_name_id_array;
	var logo_location_name_array = server_export_data_obj.logo_location_name_array;
	var logo_input_wrapper_node_array = dojo.query(".logo_id_input_wrapper");
	var i=0;
	var cur_logo_id;
	var is_cur_logo_input_disabled = false;

	var radio_node = document.getElementById('logo_location_id_'+location_id);

	if(last_selected_logo_location_id && radio_node)
	{
		radio_node.checked = true;
	}
	for(i=0; i<logo_id_array.length; i++)
	{
		cur_logo_id = logo_id_array[i];

		is_cur_logo_input_disabled = false;
		if(!last_selected_logo_location_id && logo_location_name_array.length || ItemLogo_IsLocationException(last_selected_logo_location_id, cur_logo_id) || ItemLogo_IsColorSizeSelectionException(cur_logo_id))
		{
			is_cur_logo_input_disabled = true;
		}
		ItemLogo_AdjustLogoInput(	cur_logo_id,
								last_selected_logo_id == cur_logo_id,
								is_cur_logo_input_disabled
								);
	}
}

function ItemLogo_RefreshSelectionExceptionDisplay()
{
	var i=0;
	var cur_logo_id;
	for(i=0; i<server_export_data_obj.logo_name_id_array.length; i++)
	{
		cur_logo_id = server_export_data_obj.logo_name_id_array[i];
		ItemLogo_AdjustLogoInput(cur_logo_id, last_selected_logo_id == cur_logo_id, ItemLogo_IsLocationException(last_selected_logo_location_id, server_export_data_obj.logo_name_id_array[i]) || ItemLogo_IsColorSizeSelectionException(cur_logo_id));
	}
}

function ItemLogo_IsColorSizeSelectionException(logo_id)
{
	if(!Item_v2_IsOptionDenialDisplayOn())
		return;

	var size_input_node = document.getElementById('size_id');
	var color_input_node = document.getElementById('color');

	var selected_size_id = size_input_node?size_input_node.value:0;
	var selected_color_name = color_input_node?color_input_node.value:'';

	return !Item_v2_IsSizeIdAndColorAvailable(selected_size_id, selected_color_name, logo_id, 0,0,0);
}

function ItemLogo_SetLogoData(logo_id)
{
	last_selected_logo_id = logo_id;
	if(logo_id)
		ItemLogo_AdjustLogoInput(logo_id, true, ItemLogo_IsLocationException(last_selected_logo_location_id, logo_id) || ItemLogo_IsColorSizeSelectionException(logo_id)?true:false);
}
function ItemLogo_LogoOrderByChanged(e)
{
	var targ;
	if (!e) var e = window.event;
	var key_pressed = e.keyCode;
	if (e.target) targ = e.target;
	else if (e.srcElement) targ = e.srcElement;
	var tmp_split_array=targ.id.split('_');
	var cur_logo_id = tmp_split_array[tmp_split_array.length-1];

	var order_by_textbox = document.getElementById('admin_logo_order_by_'+cur_logo_id);
	if(key_pressed != 13)
	{
		order_by_textbox.style.border='1px solid #a81212';
		order_by_textbox.style.backgroundColor='#f9e1e1';
		order_by_textbox.style.padding='2px';

	}
}
function ItemLogo_SetLogoOrderBy(item_id,item_type_code,logo_id)
{
	var new_order_by = document.getElementById('admin_logo_order_by_'+logo_id).value;

	if(new_order_by.length > 0)
	{
		var ajax_obj = new Class_Ajax();
		ajax_obj.data_obj.submit_new_logo_order_by = 1;
		ajax_obj.data_obj.logo_order_by = new_order_by;
		ajax_obj.data_obj.logo_id = logo_id;
		ajax_obj.SendRequest('index.php?param=item_admin&operation='+item_type_code+'&item_id='+item_id+'&');
		document.getElementById('admin_logo_order_by_'+logo_id).style.visibility = 'hidden';
  		document.getElementById('logo_admin_body').innerHTML = 'loading...';
	}
	else
	{
		alert('You must enter a number');
	}

}

function ItemLogo_AdjustLogoInput(logo_id, is_checked, is_marked_na)
{
	if(!logo_id)
		return;

	var radio_node = document.getElementById('logo_id_'+logo_id);
	if(radio_node)
	{
		var na_star_node = document.getElementById('logo_na_star_'+logo_id);

		if(is_checked)
		{
			radio_node.checked = true;
		}
		else
		{
			radio_node.checked = false;
		}

		if(is_marked_na)
		{
			radio_node.checked = false;
			na_star_node.style.display = '';
			radio_node.disabled = true;
		}
		else
		{
			na_star_node.style.display = 'none';
			radio_node.disabled = false;
		}
	}
}

function AdminItemLogo_LoadBody(item_id, item_type_code)
{
	document.getElementById('logo_admin_body').innerHTML = 'loading...';
	var ajax_obj = new Class_Ajax();
	ajax_obj.data_obj.get_admin_logo_form_inner_body = 1;
	ajax_obj.SendRequest('index.php?param=item_admin&operation='+item_type_code+'&item_id='+item_id+'&');
}

function AdminItemLogo_SubmitNew(item_id, item_type_code)
{
	var logo_name = document.getElementById('admin_new_logo_name').value;

	if(logo_name.length > 0)
	{
		var ajax_obj = new Class_Ajax();
		ajax_obj.data_obj.submit_new_logo_name = 1;
		ajax_obj.data_obj.logo_name = JSFeature.Base64.encode(logo_name);
		ajax_obj.SendRequest('index.php?param=item_admin&operation='+item_type_code+'&item_id='+item_id+'&');
		document.getElementById('admin_new_logo_name').value = '';
		document.getElementById('admin_new_logo_submit').style.visibility = 'hidden';
	}
	else
	{
		alert('You must enter a logo name');
	}
}
function AdminItemLogo_DeleteLogo(item_logo_id, item_id, item_type_code)
{
	if(item_logo_id)
	{
		if(confirm('Are you sure you want to delete '+item_logo_id+'?'))
		{
			var ajax_obj = new Class_Ajax();
			ajax_obj.data_obj.delete_logo_from_item = 1;
			ajax_obj.data_obj.item_logo_id = item_logo_id;
			ajax_obj.SendRequest('index.php?param=item_admin&operation='+item_type_code+'&item_id='+item_id+'&');
		}
	}
	else
	{
		alert('Unrecognized Logo ID');
	}
}
function AdminItemLogo_SubmitNewLocation(item_id, item_type_code)
{
	var location_name = document.getElementById('admin_new_logo_location_name').value;

	if(location_name.length > 0)
	{
		var ajax_obj = new Class_Ajax();
		ajax_obj.data_obj.submit_new_logo_location_name = 1;
		ajax_obj.data_obj.location_name = JSFeature.Base64.encode(location_name);
		ajax_obj.SendRequest('index.php?param=item_admin&operation='+item_type_code+'&item_id='+item_id+'&');
		document.getElementById('admin_new_logo_location_name').value = '';
		document.getElementById('admin_new_logo_location_submit').style.visibility = 'hidden';
	}
	else
	{
		alert('You must enter a location name');
	}
}
function AdminItemLogo_DeleteLocation(item_logo_location_id, item_id, item_type_code)
{
	if(item_logo_location_id)
	{
		if(confirm('Are you sure you want to delete '+item_logo_location_id+'?'))
		{
			var ajax_obj = new Class_Ajax();
			ajax_obj.data_obj.delete_logo_location_from_item = 1;
			ajax_obj.data_obj.item_logo_location_id = item_logo_location_id;
			ajax_obj.SendRequest('index.php?param=item_admin&operation='+item_type_code+'&item_id='+item_id+'&');
		}
	}
	else
	{
		alert('Unrecognized Location ID');
	}
}
function AdminItemLogo_CheckUncheckAllLogos()
{
	AdminItemLogo_CheckUncheckAll('.default_logo_checkbox', 'select_all_logos_wrapper');

}
function AdminItemLogo_CheckUncheckAllLogoLocations()
{
	AdminItemLogo_CheckUncheckAll('.default_logo_location_checkbox', 'select_all_logo_locations_wrapper');

}
function AdminItemLogo_CheckUncheckAll(checkbox_class, select_all_wrapper)
{
	var checkbox_node_array = dojo.query(checkbox_class);
	var i=0
	var select = (document.getElementById(select_all_wrapper).innerHTML=='Select')?true:false;
	for(i=0; i<checkbox_node_array.length; i++)
	{
		if(select)
		{
			cur_is_disabled = checkbox_node_array[i].disabled;

			if(!cur_is_disabled)
			{
				checkbox_node_array[i].checked=true;
			}
			document.getElementById(select_all_wrapper).innerHTML="Deselect";
		}
		else
		{
			checkbox_node_array[i].checked=false;
			document.getElementById(select_all_wrapper).innerHTML="Select";
		}
	}

}
function AdminItemLogo_AddDefaultLogos(item_id, item_type_code)
{
	var checkbox_node_array = dojo.query(".default_logo_checkbox");
	var logo_obj_array = new Array();
	var i=0,cur_logo_id,cur_logo_name,tmp_split_array, cur_is_checked = false;
	for(i=0; i<checkbox_node_array.length; i++)
	{
		cur_is_checked = false
		tmp_split_array = checkbox_node_array[i].id.split('_');
		cur_logo_order_by = tmp_split_array[tmp_split_array.length-1];
		cur_logo_name = tmp_split_array[tmp_split_array.length-2];
		cur_is_checked = checkbox_node_array[i].checked;

		if(cur_is_checked)
		{
			logo_obj_array.push({'default_logo_name':cur_logo_name,'default_logo_order_by':cur_logo_order_by});
		}
	}

	var ajax_obj = new Class_Ajax();
	ajax_obj.data_obj.admin_add_default_logos = 1;
	ajax_obj.data_obj.logo_obj_array = logo_obj_array;
	document.getElementById('admin_default_logo_list_submit').style.visibility = 'hidden';
	ajax_obj.SendRequest('index.php?param=item_admin&operation='+item_type_code+'&item_id='+item_id+'&');

}
function AdminItemLogo_AddDefaultLogoLocations(item_id, item_type_code)
{
	var checkbox_node_array = dojo.query(".default_logo_location_checkbox");
	var logo_location_obj_array = new Array();
	var i=0,cur_logo_id,cur_logo_name,tmp_split_array, cur_is_checked = false;
	for(i=0; i<checkbox_node_array.length; i++)
	{
		cur_is_checked = false
		tmp_split_array = checkbox_node_array[i].id.split('_');
		cur_logo_location_name = tmp_split_array[tmp_split_array.length-1];
		cur_is_checked = checkbox_node_array[i].checked;

		if(cur_is_checked)
		{
			logo_location_obj_array.push({'default_logo_location_name':cur_logo_location_name});
		}
	}

	var ajax_obj = new Class_Ajax();
	ajax_obj.data_obj.admin_add_default_logo_locations = 1;
	ajax_obj.data_obj.logo_location_obj_array = logo_location_obj_array;
	document.getElementById('admin_default_logo_location_list_submit').style.visibility = 'hidden';
	ajax_obj.SendRequest('index.php?param=item_admin&operation='+item_type_code+'&item_id='+item_id+'&');

}
function AdminItemLogo_SaveExceptionList(item_id, item_type_code)
{
	var checkbox_node_array = dojo.query(".logo_location_exception_checkbox");
	var list_obj_array = new Array();
	var i=0,cur_logo_id,cur_location_id,tmp_split_array, cur_is_checked = false;
	for(i=0; i<checkbox_node_array.length; i++)
	{
		cur_is_checked = false
		tmp_split_array = checkbox_node_array[i].id.split('_');
		cur_logo_id = tmp_split_array[tmp_split_array.length-1];
		cur_location_id = tmp_split_array[tmp_split_array.length-2];
		cur_is_checked = checkbox_node_array[i].checked;

		if(cur_is_checked)
		{
			list_obj_array.push({'logo_id':cur_logo_id, 'location_id':cur_location_id});
		}
	}

	var ajax_obj = new Class_Ajax();
	ajax_obj.data_obj.save_logo_location_exception_list = 1;
	ajax_obj.data_obj.list_obj_array = list_obj_array;
	document.getElementById('admin_logo_exception_list_submit').style.visibility = 'hidden';
	ajax_obj.SendRequest('index.php?param=item_admin&operation='+item_type_code+'&item_id='+item_id+'&');

}

function AdminItemLogo_SetDefaultLogo(item_id, item_type_code, logo_id)
{
	var ajax_obj = new Class_Ajax();
	ajax_obj.data_obj.admin_set_default_logo = 1;
	ajax_obj.data_obj.logo_id = logo_id;
	document.getElementById('logo_admin_body').innerHTML = 'Processing...';
	ajax_obj.SendRequest('index.php?param=item_admin&operation='+item_type_code+'&item_id='+item_id+'&');
}
// =============================================================================

// =============================================================================
// item Order_By
// =============================================================================
function AdminItemOrderBy_SubmitNewOrderBy(item_id, item_type_code, category_id)
{
	var new_order_by = document.getElementById('admin_edit_order_by_'+item_id+'_'+item_type_code).value;

	if(new_order_by.length > 0)
	{
		var ajax_obj = new Class_Ajax();
		ajax_obj.data_obj.submit_new_order_by = 1;
		ajax_obj.data_obj.item_id = item_id;
		ajax_obj.data_obj.item_type_code = item_type_code;
		ajax_obj.data_obj.category_id = category_id;
		ajax_obj.data_obj.new_order_by = new_order_by;

		ajax_obj.SendRequest('index.php?param=process_item_ajax&');
	}
	else
	{
		alert('You must enter an order_by number');
	}
}
function AdminItemOrderBy_SubmitOrderBy_CallBack(url)
{
	window.location=url;
}
function AdminItemOrderBy_SubmitAllOrderBys(category_id)
{
	var order_by_input_node_array = dojo.query('.admin_edit_order_by');
	var order_by_array=new Array();
	for(i=0; i<order_by_input_node_array.length; i++)
	{
		var tmp_split_array=order_by_input_node_array[i].id.split('_');
		var cur_item_id = tmp_split_array[tmp_split_array.length-2];
		var cur_item_type_code = tmp_split_array[tmp_split_array.length-1];
		order_by_array[i]= {'item_id':cur_item_id,'item_type_code':cur_item_type_code,'category_id':category_id,'new_order_by':order_by_input_node_array[i].value};

	}

	if(order_by_array.length > 0)
	{
		var ajax_obj = new Class_Ajax();
		ajax_obj.data_obj.submit_all_order_bys = 1;
		ajax_obj.data_obj.order_by_array = order_by_array;

		ajax_obj.SendRequest('index.php?param=process_item_ajax&');
	}
	else
	{
		alert('You are missing an order_by number');
	}
}
function AdminItemOrderBy_Changed(e)
{
	var key_pressed = e.keyCode;
	var tmp_split_array=e.target.id.split('_');
	var cur_item_id = tmp_split_array[tmp_split_array.length-2];
	var cur_item_type_code = tmp_split_array[tmp_split_array.length-1];
	var order_by_img = document.getElementById('order_by_status_'+cur_item_id+'_'+cur_item_type_code);
	if(key_pressed == 13)
	{
		order_by_img.src='images/site_images/order_by_submitted.jpg';
	}
	else
	{
		order_by_img.src='images/site_images/order_by_changed.jpg';
	}
}
// =============================================================================

// =============================================================================
// item GlobalVariant
// =============================================================================
var admin_item_globalvariant_change_setting_key_array = new Array();
var admin_item_globalvariant_change_setting_value_array = new Array();
function AdminItemGlobalVariant_ResetChangeArray()
{
	admin_item_globalvariant_change_setting_key_array = new Array();
	admin_item_globalvariant_change_setting_value_array = new Array();
}
function AdminItemGlobalVariant_ChangeSetting(setting_key, value)
{
	var i;
	var is_found = false;
	for(i=0; i<admin_item_globalvariant_change_setting_key_array.length; i++)
	{
		if(admin_item_globalvariant_change_setting_key_array[i] == setting_key)
		{
			is_found = true;
			admin_item_globalvariant_change_setting_value_array[i] = value;
		}
	}

	if(!is_found)
	{
		admin_item_globalvariant_change_setting_key_array.push(setting_key);
		admin_item_globalvariant_change_setting_value_array.push(value);
	}

	//alert(admin_item_globalvariant_change_setting_key_array+'::::'+admin_item_globalvariant_change_setting_value_array);
}
function AdminItemGlobalVariant_LoadBody(item_id, item_type_code)
{
	document.getElementById('GlobalVariant_admin_body').innerHTML = 'Loading...';

	AdminItemGlobalVariant_ResetChangeArray();

	var ajax_obj = new Class_Ajax();
	ajax_obj.data_obj.get_item_admin_globalvariant_body = 1;
	ajax_obj.SendRequest('index.php?param=item_admin&operation='+item_type_code+'&item_id='+item_id+'&');
}
function AdminItemGlobalVariant_SaveChanges(item_id, item_type_code)
{
	document.getElementById('GlobalVariant_admin_body').innerHTML = 'Saving...';

	var ajax_obj = new Class_Ajax();
	ajax_obj.data_obj.get_item_admin_globalvariant_save = 1;
	ajax_obj.data_obj.change_setting_key_array = admin_item_globalvariant_change_setting_key_array;
	ajax_obj.data_obj.change_setting_value_array = admin_item_globalvariant_change_setting_value_array;
	ajax_obj.SendRequest('index.php?param=item_admin&operation='+item_type_code+'&item_id='+item_id+'&');
}
// =============================================================================



// =============================================================================
// item preset config
// =============================================================================
var admin_item_preset_config_change_setting_key_array = new Array();
var admin_item_preset_config_change_setting_value_array = new Array();
var admin_item_preset_config_change_user_def_override_array = new Array();
function AdminItemPresetConfig_ResetChangeArray()
{
	admin_item_preset_config_change_setting_key_array = new Array();
	admin_item_preset_config_change_setting_value_array = new Array();
}
function AdminItemPresetConfig_ChangeSetting(setting_key, value, user_def_override)
{
	var i;
	var is_found = false;
	for(i=0; i<admin_item_preset_config_change_setting_key_array.length; i++)
	{
		if(admin_item_preset_config_change_setting_key_array[i] == setting_key)
		{
			is_found = true;
			admin_item_preset_config_change_setting_value_array[i] = value;
			admin_item_preset_config_change_user_def_override_array[i] = user_def_override;
		}
	}

	if(!is_found)
	{
		admin_item_preset_config_change_setting_key_array.push(setting_key);
		admin_item_preset_config_change_setting_value_array.push(value);
		admin_item_preset_config_change_user_def_override_array.push(user_def_override);
	}
	//alert(admin_item_preset_config_change_setting_key_array+'::::'+admin_item_preset_config_change_setting_value_array+'::::'+admin_item_preset_config_change_user_def_override_array);
}
function AdminItemPresetConfig_LoadBody(item_id, item_type_code)
{
	document.getElementById('preset_config_admin_body').innerHTML = 'Loading...';

	AdminItemPresetConfig_ResetChangeArray();

	var ajax_obj = new Class_Ajax();
	ajax_obj.data_obj.get_item_admin_preset_config_body = 1;
	ajax_obj.SendRequest('index.php?param=item_admin&operation='+item_type_code+'&item_id='+item_id+'&');
}
function AdminItemPresetConfig_SaveChanges(item_id, item_type_code)
{
	document.getElementById('preset_config_admin_body').innerHTML = 'Saving...';

	var ajax_obj = new Class_Ajax();
	ajax_obj.data_obj.get_item_admin_preset_config_save = 1;
	ajax_obj.data_obj.change_setting_key_array = admin_item_preset_config_change_setting_key_array;
	ajax_obj.data_obj.change_setting_value_array = admin_item_preset_config_change_setting_value_array;
	ajax_obj.data_obj.change_user_def_override_array = admin_item_preset_config_change_user_def_override_array;
	ajax_obj.SendRequest('index.php?param=item_admin&operation='+item_type_code+'&item_id='+item_id+'&');
}
// =============================================================================


// ========================================================================
// ERP Size Code
// ========================================================================
var admin_item_erp_size_code_size_id_change_array = new Array();
var admin_item_erp_size_code_value_change_array = new Array();
function AdminItemERPSizeCode_LoadBody(item_id, item_type_code)
{
	document.getElementById('erp_size_code_admin_body').innerHTML = 'Loading...';

	var ajax_obj = new Class_Ajax();
	ajax_obj.data_obj.get_item_admin_erp_size_code_body = 1;
	ajax_obj.SendRequest('index.php?param=item_admin&operation='+item_type_code+'&item_id='+item_id+'&');
}
function AdminItemERPSizeCode_ChangeSetting(size_id, erp_code_override_value)
{
	var i;
	var is_found = false;
	for(i=0; i<admin_item_erp_size_code_size_id_change_array.length; i++)
	{
		if(admin_item_erp_size_code_size_id_change_array[i] == size_id)
		{
			is_found = true;
			admin_item_erp_size_code_size_id_change_array[i] = size_id;
			admin_item_erp_size_code_value_change_array[i] = erp_code_override_value;
		}
	}

	if(!is_found)
	{
		admin_item_erp_size_code_size_id_change_array.push(size_id);
		admin_item_erp_size_code_value_change_array.push(erp_code_override_value);
	}
	//alert(admin_item_erp_size_code_size_id_change_array+'::::'+admin_item_erp_size_code_value_change_array);

}
function AdminItemERPSizeCode_SaveChanges(item_id, item_type_code)
{
	document.getElementById('erp_size_code_admin_body').innerHTML = 'Saving...';

	var ajax_obj = new Class_Ajax();
	ajax_obj.data_obj.get_item_admin_erp_size_code_save = 1;
	ajax_obj.data_obj.change_size_id_array = admin_item_erp_size_code_size_id_change_array;
	ajax_obj.data_obj.change_erp_size_code_value_array = admin_item_erp_size_code_value_change_array;
	ajax_obj.SendRequest('index.php?param=item_admin&operation='+item_type_code+'&item_id='+item_id+'&');
}
// ========================================================================


// ========================================================================
// reload totals
// ========================================================================
var item_is_reload_total_in_progress = false;
var item_is_reload_total_requested = false;
var item_reload_timer_id = null;
function Item_v2_ReloadTotals()
{
	Item_v2_DisplayOptionDenialFromSelection();
	
	if(!item_is_reload_total_requested || item_reload_timer_id || item_is_reload_total_in_progress)
	{
		// *** stop any previous timer instance
		if(item_reload_timer_id)
			clearTimeout(item_reload_timer_id);
		
		item_is_reload_total_requested = true;
		item_reload_timer_id = setTimeout('item_reload_timer_id=0; Item_v2_ReloadTotals();', 500);
	}
	else
	{
		item_reload_timer_id = 0;
		item_is_reload_total_requested = false;
		Item_v2_DoReloadTotals();
	}
}

function Item_v2_DoReloadTotals()
{
	item_is_reload_total_in_progress = true;

	var size_id = document.getElementById('size_id')?document.getElementById('size_id').value:'';
	var color = document.getElementById('color')?document.getElementById('color').value:'';
	var quantity = document.getElementById('quantity')?document.getElementById('quantity').value:'0';
	var additional_running_charge = 0;

	if(	(
			server_export_data_obj.Item_v2_custom_input_cur_type == server_export_data_obj.Item_v2_custom_input_type_required
			||
			server_export_data_obj.Item_v2_custom_input_cur_type == server_export_data_obj.Item_v2_custom_input_type_optional
		)
		&&
		dojo.byId('custom_input')
		&&
		dojo.byId('custom_input').value)
	{
		additional_running_charge += server_export_data_obj.Item_v2_custom_input_running_charge;
	}

	var ajax_obj = new Class_Ajax();
	ajax_obj.data_obj.get_sku = 1;
	ajax_obj.data_obj.quantity = quantity;
	ajax_obj.data_obj.size_id = size_id;
	ajax_obj.data_obj.color = color;
	ajax_obj.data_obj.additional_running_charge = additional_running_charge;
	ajax_obj.SendRequest('index.php?param=process_item_ajax&item_type_code='+js_site_obj.GetDataDumpValue('Item_v2_type_code')+'&item_id='+js_site_obj.GetDataDumpValue('Item_v2_id')+'&');

}

function Item_v2_CurrencyFormatted(amount)
{
	var i = parseFloat(amount);
	if(isNaN(i)) { i = 0.00; }
	var minus = '';
	if(i < 0) { minus = '-'; }
	i = Math.abs(i);
	i = parseInt((i + .005) * 100);
	i = i / 100;
	s = new String(i);
	if(s.indexOf('.') < 0) { s += '.00'; }
	if(s.indexOf('.') == (s.length - 2)) { s += '0'; }
	s = minus + s;
	return s;
}

function Item_v2_DoReloadTotalsCallback(sku, price)
{
	var quantity;
	var quantity_node = document.getElementById('quantity');
	var sku_node = document.getElementById('item_v2_sku');
	var price_node = document.getElementById('item_v2_price_each');
	var subtotal_node = document.getElementById('item_v2_subtotal');


	if(sku_node)
		sku_node.innerHTML = sku && sku != ' '?sku:'n/a';

	if(price_node)
		price_node.innerHTML = parseFloat(price)?'$'+Item_v2_CurrencyFormatted(price):'n/a';

	if(subtotal_node && quantity_node)
	{
		quantity = quantity_node.value;
		subtotal_node.innerHTML = parseFloat(Item_v2_CurrencyFormatted(price)) * parseInt(quantity)?'$'+Item_v2_CurrencyFormatted(Math.abs(parseFloat(Item_v2_CurrencyFormatted(price)) * parseInt(quantity))):'n/a';
	}

	item_is_reload_total_in_progress = false;
}

// ========================================================================

// ========================================================================
// Admin selection summary
// ------------------------------------------------------------------------
function AdminItem_v2_DoReloadSummary(item_id,item_type_code)
{
	var ajax_obj = new Class_Ajax();
	ajax_obj.data_obj.reload_preselection_summary = 1;
	ajax_obj.data_obj.item_id = item_id;
	ajax_obj.SendRequest('index.php?param=process_item_ajax&item_type_code='+item_type_code+'&item_id='+item_id+'&');
}
function AdminItem_v2_DoReloadSummaryCallback(item_id, sku, category_name_string)
{
	var id_node = document.getElementById('item_v2_preselection_id');
	var sku_node = document.getElementById('item_v2_preselection_sku');
	var categories_node = document.getElementById('item_v2_preselection_categories');
	category_name_string=category_name_string.replace(',','<br />');
	if(id_node)
		id_node.innerHTML = item_id && item_id != ' '?item_id:'n/a';

	if(sku_node)
		sku_node.innerHTML = sku && sku != ' '?sku:'n/a';

	if(categories_node)
		categories_node.innerHTML = category_name_string && category_name_string!=' '?category_name_string:'n/a';
}
// ========================================================================

// ========================================================================
// option denial
// ------------------------------------------------------------------------
function AdminItemOptionDenial_LoadBody(item_id, item_type_code)
{
	document.getElementById('option_denial_admin_body').innerHTML = 'Loading...';

	var ajax_obj = new Class_Ajax();
	ajax_obj.data_obj.get_item_admin_option_denial_body = 1;
	ajax_obj.SendRequest('index.php?param=item_admin&operation='+item_type_code+'&item_id='+item_id+'&');
}
function AdminItemOptionDenial_SaveChanges(item_id, item_type_code)
{
	var content = '';
	if(document.getElementById('option_denial_content'))
	{
		content = document.getElementById('option_denial_content').value;
	}

	document.getElementById('option_denial_admin_body').innerHTML = 'Saving...';

	var ajax_obj = new Class_Ajax();
	ajax_obj.data_obj.get_item_admin_option_denial_save = 1;
	//ajax_obj.data_obj.content = content.replaceAll('\n', '<~!~break~!~>').toString();
	ajax_obj.data_obj.content = JSFeature.Base64.encode(content);
	ajax_obj.SendRequest('index.php?param=item_admin&operation='+item_type_code+'&item_id='+item_id+'&');
}

function Item_v2_IsOptionDenialDisplayOn()
{
	if(server_export_data_obj.option_denial_array && server_export_data_obj.option_denial_array.length > 0)
	{
		return true;
	}
	return false;
}



function Item_v2_IsSizeIdAndColorAvailable(size_id, color, logo_id, is_size_exact_only, is_color_exact_only, is_logo_exact_only)
{
	var i=0;
	var cur_color, cur_logo_name, cur_size_id;
	var is_color_match, is_size_match, is_logo_match;
	
	color = color.replace(/^\s+|\s+$/g, '');

	if(server_export_data_obj.option_denial_array && server_export_data_obj.option_denial_array.length > 0)
	{
		for(i=0; i<server_export_data_obj.option_denial_array.length; i++)
		{
			cur_size_id = server_export_data_obj.option_denial_array[i].ext.size_id;
			cur_color = server_export_data_obj.option_denial_array[i].match.color;
			cur_logo_name = server_export_data_obj.option_denial_array[i].match.logo;
			
			is_color_match = false;
			is_size_match = false;
			is_logo_match = false;
			
			// *** match size
			if(	!is_size_exact_only 
				&&
				!cur_size_id
				||
				size_id == cur_size_id
				)
			{
				is_size_match = true;
			}
			
			// *** match color
			if(	!is_color_exact_only 
				&&
				!cur_color
				||
				color.toLowerCase() == cur_color.toLowerCase()
				)
			{
				is_color_match = true;
			}
			
			// *** match logo
			if(	!is_logo_exact_only 
				&&
				!cur_logo_name
				||
				logo_id == Item_v2_GetLogoIdByName(cur_logo_name)
				)
			{
				is_logo_match = true;
			}
			
			if(is_size_match && is_color_match && is_logo_match)
			{
				return false;
			}
		}
	}
	return true;
}
function Item_v2_DisplayOptionDenialFromSelection()
{
	if(!Item_v2_IsOptionDenialDisplayOn())
		return;

	var i=0;
	var html_content = '';

	var content_node = document.getElementById('item_v2_option_denial_chart_content');
	var size_input_node = document.getElementById('size_id');
	var color_input_node = document.getElementById('color');
	var color_name_array = GetColorNameArray();

	var available_color_name_array = new Array();

	var selected_size_id = size_input_node?size_input_node.value:0;
	var selected_color_name = color_input_node?color_input_node.value:'';
	var warning_node = document.getElementById('item_v2_option_denial_warning_content');

	// *** show warning if needed
	if(warning_node && selected_size_id && selected_color_name && !Item_v2_IsSizeIdAndColorAvailable(selected_size_id, selected_color_name, '', 0,0,1))
	{
		warning_node.style.display = '';
		warning_node.className = 'error';
		warning_node.innerHTML = 'Warning: '+GetSizeLabel()+' '+Item_v2_GetSizeNameById(selected_size_id)+' is currently not available in '+GetColorLabel()+' '+selected_color_name+'.  Please select a different '+GetSizeLabel()+' or '+GetColorLabel()+'.';
	}
	else if(warning_node)
	{
		warning_node.innerHTML = '';
		warning_node.style.display = 'none';
	}

	// *** available color list
	if(content_node && selected_size_id && color_name_array)
	{
		for(i=0; i<color_name_array.length; i++)
		{
			if(Item_v2_IsSizeIdAndColorAvailable(selected_size_id, color_name_array[i], '', 0,0,1))
			{
				available_color_name_array.push(color_name_array[i]);
			}
		}

		html_content += '<div style="padding-top:5px; padding-bottom:5px;"><b>Note: </b>';

		if(available_color_name_array.length > 0)
		{

			if(available_color_name_array.length == color_name_array.length)
			{
				html_content += 'Size <b>'+Item_v2_GetSizeNameById(selected_size_id)+'</b> is available in all colors.';
			}
			else if(available_color_name_array.length > 0)
			{
				html_content += 'Size <b>'+Item_v2_GetSizeNameById(selected_size_id)+'</b> is available in ';

				for(i=0; i<available_color_name_array.length; i++)
				{
					html_content += available_color_name_array[i];

					if(i < available_color_name_array.length-2)
						html_content += ', ';
					else if(i == available_color_name_array.length-2)
						html_content += ', and ';
				}
			}

		}
		else
		{
			html_content += 'Size <b>'+Item_v2_GetSizeNameById(selected_size_id)+'</b> is not currently available.';
		}

		html_content += '</div>';
	}
	content_node.innerHTML = html_content;

	ItemLogo_RefreshSelectionExceptionDisplay();
}
// ========================================================================



// ========================================================================
// misc
// ------------------------------------------------------------------------
function Item_v2_GetSizeIdByName(size_name)
{
	var size_name_array = js_site_obj.GetDataDumpValue('Item_v2_size_name_array');
	var size_id_array = js_site_obj.GetDataDumpValue('Item_v2_size_id_array');
	var i=0;

	if(size_name_array && size_id_array && size_name_array.length && size_id_array.length)
	{
		for(i=0; i<size_name_array.length; i++)
		{
			if(size_name.toLowerCase() == size_name_array[i].toLowerCase())
			{
				return size_id_array[i];
			}
		}
	}
}

function Item_v2_GetSizeNameById(size_id)
{
	var size_name_array = js_site_obj.GetDataDumpValue('Item_v2_size_name_array');
	var size_id_array = js_site_obj.GetDataDumpValue('Item_v2_size_id_array');
	var i=0;

	if(size_name_array && size_id_array && size_name_array.length && size_id_array.length)
	{
		for(i=0; i<size_id_array.length; i++)
		{
			if(size_id == size_id_array[i])
			{
				return size_name_array[i];
			}
		}
	}
}

function Item_v2_GetTrueColorName(color)
{
	var color_name_array = js_site_obj.GetDataDumpValue('Item_v2_color_name_array');
	var i=0;

	if(color_name_array && color_name_array.length > 0)
	{
		for(i=0; i<color_name_array.length; i++)
		{
			if(color.toLowerCase() == color_name_array[i].toLowerCase())
			{
				return color_name_array[i];
			}
		}
	}
}
function GetColorNameArray()
{
	var color_name_array = js_site_obj.GetDataDumpValue('Item_v2_color_name_array');

	if(!color_name_array || color_name_array.length < 1)
		return new Array();
	return color_name_array;
}

function GetColorLabel(is_plural)
{
	if(is_plural)
		return js_site_obj.GetDataDumpValue('color_label_plural');
	else
		return js_site_obj.GetDataDumpValue('color_label');
}

function GetSizeLabel(is_plural)
{
	if(is_plural)
		return js_site_obj.GetDataDumpValue('size_label_plural');
	else
		return js_site_obj.GetDataDumpValue('size_label');
}

// ========================================================================


