<!--
//engraving
var engraving;




function View_engraving_options(initial_display)
{
	engraving.Show_engraving(initial_display);
	popup_id = "engraving_popup";
	Ebsl_popup_show("engraving");

}


function View_specific_engraving(ref)
{
	engraving.Show_specific_engraving(ref);
	Ebsl_popup_cancel();
	popup_id = "engraving_popup_item";
	Ebsl_popup_show("engraving");
	
}



function Cancel_engraving_options()
{
	/*
	engraving.Cancel();
	
	Ebsl_popup_cancel();
	*/
	
	Add_engraving();

}





function Cancel_specific_engraving()
{
	engraving.Cancel_specific_engraving();
	Ebsl_popup_cancel();
	View_engraving_options(false);
}







function Clear_engraving_text()
{
	engraving.Clear_specific_engraving_text();
	
}







function Add_engraving()
{
	
	engraving.Engraving_add();
	Ebsl_popup_cancel();
}





function Update_specific_engraving()
{
	
	if (engraving.Update_specific_engraving())
	{
		Ebsl_popup_cancel();
	
		View_engraving_options(false);
		return true;
	}
	else
	{
		return false;
	}
}




function Recalculate_engraving_item_price()
{
	
	engraving.Recalculate_engraving_item_price()
}





function Engraving_style(style)
{
	var ref = Gebid("engraving_choose_style_container");
	
	if (style < 0)
	{
		
		ref.className = ((ref.className == "show") ? "" : "show");
		
	}
	else
	{
		engraving.Select_style(style);
		
	}
}











//--------------------------------
function Engraving_control(part_code)
{
	//copyright e-Business Systems Limited - www.e-businesssystems.co.uk
	this.engraving_items = new Array();	//list of engraving items
	this.engraving_codes = new Array();	//list of code translation items
	
	this.currently_selected_item = -1;
	this.engraved_positions_count = 0;
	this.delimiter_1 = "|";
	this.delimiter_2 = "~";
	this.part_code = part_code;
	 
	/* functions:
	Add_engraving_item
	Add_engraving_code
	Engraving_total
	Engraving_add
	Cancel
	Show_specific_engraving
	Cancel_specific_engraving
	Clear_specific_engraving_text
	Update_specific_engraving
	Show_engraving
	Engraving_currency
	Engraving_currency_formatted
	Select_style
	Recalculate_engraving_item_price
	Encode
	Special_product_prefix
	
	*/

}





Engraving_control.prototype.Add_engraving_item = function(engraving_picture_name,generic_description,enabled_0,enabled_1,enabled_2,enabled_3,enabled_4,enabled_5,enabled_6)
{
	this.engraving_items.push(new Engraving_item(this,engraving_picture_name,generic_description,enabled_0,enabled_1,enabled_2,enabled_3,enabled_4,enabled_5,enabled_6));
	
}



Engraving_control.prototype.Add_engraving_code = function(engraving_code, description, product_code, price)
{
	this.engraving_codes.push(new Engraving_code(engraving_code, description, product_code, price));
	
}


Engraving_control.prototype.Show_engraving = function(initial_display)
{
	var i;
	Gebid("engraving_total_container").innerHTML = "Total<br>" + this.Engraving_currency_formatted(this.Engraving_currency(this.Engraving_total()));
	for (i = 0; i < this.engraving_items.length; i++)
    {
		var engraving_text = this.engraving_items[i].engraving_text;
		Gebid("engraving_field_" + i).innerHTML  = engraving_text;
		Gebid("engraving_pic_tick_" + i).style.display = ((engraving_text != "") ? "block" : "none");
		Gebid("engraving_field_container_" + i).style.display = ((engraving_text != "") ? "block" : "none");
    }
    
   
   
    if (this.Engraving_total() > 0)
    {
		var text = "";
		for (i = 0; i < this.engraving_items.length; i++)
		{
			if (this.engraving_items[i].engraving_text != "")
			{
				text += this.engraving_items[i].generic_description + ", ";
			}
		}
		text = text.substr(0,text.length - 2);
		Gebid("engraving_so_far_list").innerHTML  = text;
		Gebid("engraving_so_far").style.display = "block" ;
		Gebid("engraving_total_container").className = "" ;	//to get round ie bug


		
		Gebid("view_engraving_options").className = "update";
    }
    else
    {
		Gebid("engraving_so_far").style.display = "none";
		Gebid("engraving_total_container").className = "off" ;	//to get round ie bug

		
		Gebid("view_engraving_options").className = "";
		
    }
    if (initial_display)
    {
		Gebid("engraving_add_container").className =  ((this.Engraving_total() > 0) ? "update" : "");
    }
  
   
	this.currently_selected_item = -1;

}


Engraving_control.prototype.Engraving_total = function()
{
	var total = 0;
	
	for (i = 0; i < this.engraving_items.length; i++)
    {
		total += this.engraving_items[i].Price();
		
    }
	
	
	
	return total;
}




Engraving_control.prototype.Engraving_currency = function(sterling_value)
{
	return Se_currency_round(sterling_value,exchange_rate);
}



Engraving_control.prototype.Special_product_prefix = function()
{
	var special_prefix = "";
	
	if((this.part_code.substr(0,2) == "W1") || (this.part_code.substr(0,2) == "W1"))
	{
		special_prefix = "w1"
	}

	
	return special_prefix;
}





Engraving_control.prototype.Engraving_currency_formatted = function(currency_value)
{
	return (currency_symbol + currency_value);
}





Engraving_control.prototype.Update_specific_engraving = function()
{
	return this.engraving_items[this.currently_selected_item].Update();
	
}





Engraving_control.prototype.Clear_specific_engraving_text = function()
{
	return this.engraving_items[this.currently_selected_item].Clear_engraving_text();
	
}





  

Engraving_control.prototype.Cancel_specific_engraving = function()
{
	this.engraving_items[this.currently_selected_item].Cancel();
	
}

  



Engraving_control.prototype.Show_specific_engraving = function(ref)
{
	this.engraving_items[ref].Show_engraving();
	
}



Engraving_control.prototype.Select_style = function(style)
{
	this.engraving_items[this.currently_selected_item].Select_style(style);
}



Engraving_control.prototype.Recalculate_engraving_item_price = function()
{
	this.engraving_items[this.currently_selected_item].Get_latest_engraving_text();
	this.engraving_items[this.currently_selected_item].Display_engraving_item_price();
	
}





Engraving_control.prototype.Engraving_add = function()
{
	 Gebid("engraving_lettering").value = this.Encode();
	 Gebid("view_engraving_options").className = ((this.Engraving_total() > 0) ? "update" : "");
	Recalculate_price();
}






Engraving_control.prototype.Cancel = function()
{
	var i;
	for (i = 0; i < this.engraving_items.length; i++)
    {
		this.engraving_items[i].Reset();
	 }
	 Gebid("engraving_lettering").value = "";
	Recalculate_price();
}






Engraving_control.prototype.Encode = function()
{
	var es = "";
	var i,j,k;
	var total = this.Engraving_total();
	
	if (total > 0)
	{
	
		es += this.Engraving_total()  + this.delimiter_1;
		
		for (i = 0; i < this.engraving_items.length; i++)
	    {
			k = this.engraving_items[i];
			
			if (k.engraving_text != "")
			{
				es += k.id + this.delimiter_2;
				es += k.engraving_picture_name + this.delimiter_2;
				es += k.generic_description + this.delimiter_2;
				es += k.engraving_text + this.delimiter_2;
				es += k.engraving_style + this.delimiter_2;
				es += k.Price() + this.delimiter_2;
				es += this.engraving_codes[k.engraving_style].description + this.delimiter_2;
				es += this.engraving_codes[k.engraving_style].product_code + this.delimiter_2;
				es += this.engraving_codes[k.engraving_style].price + this.delimiter_2;
				
				
				es += this.delimiter_1;
			}
			
			
		}
	}
	return es;
}












//--------------------------------
function Engraving_item(parent,engraving_picture_name,generic_description,enabled_0,enabled_1,enabled_2,enabled_3,enabled_4,enabled_5,enabled_6)
{
	//copyright e-Business Systems Limited - www.e-businesssystems.co.uk
	
	this.parent = parent;
	this.id = parent.engraving_items.length;	//array is extended after object set

	this.engraving_picture_name = engraving_picture_name;
	this.generic_description = generic_description;
	
	this.style_enabled = new Array();
	
	
	this.style_enabled[0] = (enabled_0 == 1);
	this.style_enabled[1] = (enabled_1 == 1);
	this.style_enabled[2] = (enabled_2 == 1);
	this.style_enabled[3] = (enabled_3 == 1);
	this.style_enabled[4] = (enabled_4 == 1);
	this.style_enabled[5] = (enabled_5 == 1);
	this.style_enabled[6] = (enabled_6 == 1);
	
	this.engraving_text = "";
	this.engraving_style = -1;
	
	
	this.engraving_text_original = "";
	this.engraving_style_original = -1;
	 
	/* functions:
	Show_engraving
	Hide_engraving
	Update
	Price
	Display_engraving_item_price
	Get_latest_engraving_text
	Cancel
	Reset
	Clear_engraving_text
	*/

}




Engraving_item.prototype.Show_engraving = function()
{
	//save original position in case of cancel
	this.engraving_text_original = this.engraving_text;
	this.engraving_style_original = this.engraving_style;
	Gebid("engraving_confirm_container").className = ((this.engraving_text_original != "") ? "update" : "");
	Gebid("engraving_item_container").className = this.parent.Special_product_prefix();
	
	var element_ref;
	
	this.parent.currently_selected_item = this.id;
	Gebid("engraving_item_description").innerHTML = this.generic_description;
	Gebid("engraving_item_pic").innerHTML = '<img src="images/engraving_guide/small/' + this.engraving_picture_name + '.gif" alt="">';
	
	if (this.engraving_style >= 0)
	{
		Gebid("engraving_choose_style_item_x").style.display = "none";
		for (i = 0; i < this.style_enabled.length; i++)
		{
			Gebid("engraving_choose_style_item_" + i).style.display = ((i == this.engraving_style) ? "block" : "none");
			
		}
			
	}
	else
	{
		Gebid("engraving_choose_style_item_x").style.display = "block";
		for (i = 0; i < this.style_enabled.length; i++)
		{
			Gebid("engraving_choose_style_item_" + i).style.display = (this.style_enabled[i] ? "block" : "none");
			
		}
	}
	
	
	
	
	Gebid("engraving_choose_style_container").className = "";
	Gebid("engraving_item_text").value = ((this.engraving_text == "") ? "Then type your engraving here" : (this.engraving_text));
	
	this.Display_engraving_item_price();
}







Engraving_item.prototype.Cancel = function()
{
	
	this.engraving_text = this.engraving_text_original;
	this.engraving_style = this.engraving_style_original;
	
}




Engraving_item.prototype.Reset = function()
{
	
	this.engraving_text = "";
	this.engraving_style = -1;
	
}







Engraving_item.prototype.Clear_engraving_text = function()
{
	Gebid("engraving_item_text").value = "";
	this.Get_latest_engraving_text();
	this.Display_engraving_item_price();
}




Engraving_item.prototype.Get_latest_engraving_text = function()
{
	var ref = Gebid("engraving_item_text");
	var text = ref.value;
	
	text = text.replace(/\||\~|\\/,"");
	ref.value = (text == "") ? "" : text;
	this.engraving_text = (text == "Then type your engraving here") ? "" : text;
	
}






Engraving_item.prototype.Display_engraving_item_price = function()
{
	
	
	Gebid("engraving_item_total_container").innerHTML = "Cost<br>" + currency_symbol + Se_currency_round(this.Price(),exchange_rate);
	
}








Engraving_item.prototype.Select_style = function(style)
{
	
	var style_block_ref = Gebid("engraving_choose_style_container");
	
	var i;
	
	
	if (style_block_ref.className == "show")
	{
		if (style < 0)
		{
			this.engraving_style = -1;
			Gebid("engraving_choose_style_item_x").style.display = "block";
		}
		else
		{
			this.engraving_style = style;
			
			Gebid("engraving_choose_style_item_x").style.display = "none";
			for (i = 0; i < this.style_enabled.length; i++)
			{
				Gebid("engraving_choose_style_item_" + i).style.display = ((i == style) ? "block" : "none");
				
			}
			
		}
		style_block_ref.className = "";
		this.Display_engraving_item_price();
	}
	else
	{
		Gebid("engraving_choose_style_item_x").style.display = "block";
		
		for (i = 0; i < this.style_enabled.length; i++)
		{
			Gebid("engraving_choose_style_item_" + i).style.display = (this.style_enabled[i] ? "block" : "none");
			
		}
		
		
		style_block_ref.className = "show";
	}
	
	
	
	
	
	
}



Engraving_item.prototype.Update = function()
{
	

	
	if ((this.engraving_text == "") && (this.engraving_text_original != ""))
	{
		this.engraving_style = -1;	
		return true; 
	}
	
	if (this.engraving_style < 0)
	{
		window.alert("Please select an engraving style");
		return false 
	}
	
	
	if (this.engraving_text == "")
	{
		window.alert("Please enter your engraving text");
		return false 
	}
	
	
	return true;
	
}






Engraving_item.prototype.Price = function()
{
	var price = 0;
	
	if ((this.engraving_text != "")&&(this.engraving_style >= 0))
	{
		price = Count_non_space_letters(this.engraving_text) * this.parent.engraving_codes[this.engraving_style].price * ((this.parent.Special_product_prefix() == "w1") ? 1.5 : 1);
	}
	
	return price;	
}










//--------------------------------
function Engraving_code(engraving_code, description, product_code, price)
{
	this.engraving_code = engraving_code;
	this.description = description;
	this.product_code = product_code;
	this.price = price;

	 
	/* functions:
	
	
	*/

}















//-->