
var can_edit = true;
var can_proceed = true;
var in_blink = true;
var monitBlink = true;
var monitBlinkCount = 0;
var cardboardCheck = false;

// Enable options
var disc_case_enabled = new Array();
disc_case_enabled['cd']     = new Array('1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16');
disc_case_enabled['dvd']    = new Array('1','2','5','6','7','8','9','10','13','14','15','16');
disc_case_enabled['bluray'] = new Array('1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17');
disc_case_enabled['nodisc'] = new Array('1','2','3','4','5','6','7','9','10','11','12','13','14','15','16','17','18');

// Case as Index of array
var case_disc_enabled = new Array();
case_disc_enabled[1] = new Array('cd','dvd','bluray','nodisc');
case_disc_enabled[2] = new Array('cd','dvd','bluray','nodisc');
case_disc_enabled[3] = new Array('cd','bluray','nodisc');
case_disc_enabled[4] = new Array('cd','bluray','nodisc');
case_disc_enabled[5] = new Array('cd','dvd','bluray','nodisc');
case_disc_enabled[6] = new Array('cd','dvd','bluray','nodisc');
case_disc_enabled[7] = new Array('cd','dvd','bluray','nodisc');
case_disc_enabled[8] = new Array('cd','dvd','bluray');
case_disc_enabled[9] = new Array('cd','dvd','bluray','nodisc');
case_disc_enabled[10] = new Array('cd','dvd','bluray','nodisc');
case_disc_enabled[11] = new Array('cd','bluray','nodisc');
case_disc_enabled[12] = new Array('cd','bluray','nodisc');
case_disc_enabled[13] = new Array('cd','dvd','bluray','nodisc');
case_disc_enabled[14] = new Array('cd','dvd','bluray','nodisc');
case_disc_enabled[15] = new Array('cd','dvd','bluray','nodisc');
case_disc_enabled[16] = new Array('cd','dvd','bluray','nodisc');
case_disc_enabled[17] = new Array('bluray','nodisc');
case_disc_enabled[18] = new Array('nodisc');
//
var case_cellowrap_enabled = new Array();
case_cellowrap_enabled[1] = true;
case_cellowrap_enabled[2] = true;
case_cellowrap_enabled[3] = true;
case_cellowrap_enabled[4] = true;
case_cellowrap_enabled[5] = false;
case_cellowrap_enabled[6] = false;
case_cellowrap_enabled[7] = false;
case_cellowrap_enabled[8] = false;
case_cellowrap_enabled[9] = true;
case_cellowrap_enabled[10] = true;
case_cellowrap_enabled[11] = true;
case_cellowrap_enabled[12] = true;
case_cellowrap_enabled[13] = true;
case_cellowrap_enabled[14] = false;
case_cellowrap_enabled[15] = false;
case_cellowrap_enabled[16] = false;
case_cellowrap_enabled[17] = false;
case_cellowrap_enabled[18] = false;

// Case as Index of array
var case_insert_front_enabled = new Array();
case_insert_front_enabled[1] = new Array('1','4');
case_insert_front_enabled[2] = new Array('1','4','5');
case_insert_front_enabled[3] = new Array('1','2','3','6','7');
case_insert_front_enabled[4] = new Array('1','2','3','6','7');
case_insert_front_enabled[5] = new Array('1');
case_insert_front_enabled[6] = new Array('1','2','3','6','7');
case_insert_front_enabled[7] = new Array('1','2','3','6','7');
case_insert_front_enabled[8] = new Array('1');
case_insert_front_enabled[9] = new Array('1','4');
case_insert_front_enabled[10] = new Array('1','4','5');
case_insert_front_enabled[11] = new Array('1','2','3','6','7');
case_insert_front_enabled[12] = new Array('2','3','6','7');
case_insert_front_enabled[13] = new Array('1');
case_insert_front_enabled[14] = new Array('1');
case_insert_front_enabled[15] = new Array('1');
case_insert_front_enabled[16] = new Array('1','2','3','6','7');
case_insert_front_enabled[17] = new Array('1','4','5');
case_insert_front_enabled[18] = new Array('1','2','3','4','5','6','7');

// Case as Index of array
var case_insert_rear_enabled = new Array();
case_insert_rear_enabled[1] = new Array('1','4');
case_insert_rear_enabled[2] = new Array('1','4');
case_insert_rear_enabled[3] = new Array('1','2');
case_insert_rear_enabled[4] = new Array('1','2','3');
case_insert_rear_enabled[5] = new Array('1');
case_insert_rear_enabled[6] = new Array('1');
case_insert_rear_enabled[7] = new Array('1');
case_insert_rear_enabled[8] = new Array('1');
case_insert_rear_enabled[9] = new Array('1','4');
case_insert_rear_enabled[10] = new Array('1','4');
case_insert_rear_enabled[11] = new Array('1','2','3');
case_insert_rear_enabled[12] = new Array('2','3');
case_insert_rear_enabled[13] = new Array('1');
case_insert_rear_enabled[14] = new Array('1');
case_insert_rear_enabled[15] = new Array('1');
case_insert_rear_enabled[16] = new Array('1');
case_insert_rear_enabled[17] = new Array('1','4');
case_insert_rear_enabled[18] = new Array('1','2','3','4');

// Insert front as Index of array
var insert_front_case_enabled = new Array();
insert_front_case_enabled[1] = new Array('1','2','3','4','5','6','7','8','9','10','11','13','14','15','16','17','18');
insert_front_case_enabled[2] = new Array('3','4','6','7','11','12','16','18');
insert_front_case_enabled[3] = new Array('3','4','6','7','11','12','16','18');
insert_front_case_enabled[4] = new Array('1','2','9','10','17','18');
insert_front_case_enabled[5] = new Array('2','10','17','18');
insert_front_case_enabled[6] = new Array('3','4','6','7','11','12','16','18');
insert_front_case_enabled[7] = new Array('3','4','6','7','11','12','16','18');

// Insert front as Index of array
var insert_front_disc_enabled = new Array();
insert_front_disc_enabled[1] = new Array('dvd','cd','bluray','nodisc');
insert_front_disc_enabled[2] = new Array('dvd','cd','nodisc');
insert_front_disc_enabled[3] = new Array('dvd','cd','nodisc');
insert_front_disc_enabled[4] = new Array('dvd','cd','bluray','nodisc');
insert_front_disc_enabled[5] = new Array('dvd','cd','bluray','nodisc');
insert_front_disc_enabled[6] = new Array('dvd','cd','nodisc');
insert_front_disc_enabled[7] = new Array('dvd','cd','nodisc');

// Insert front as Index of array
var insert_front_insert_rear_enabled = new Array();
insert_front_insert_rear_enabled[1] = new Array('1','2');
insert_front_insert_rear_enabled[2] = new Array('1','2','3');
insert_front_insert_rear_enabled[3] = new Array('1','2','3');
insert_front_insert_rear_enabled[4] = new Array('1','4');
insert_front_insert_rear_enabled[5] = new Array('1','4');
insert_front_insert_rear_enabled[6] = new Array('1','2','3');
insert_front_insert_rear_enabled[7] = new Array('1','2','3');

// Insert rear as Index of array
var insert_rear_case_enabled = new Array();
insert_rear_case_enabled[1] = new Array('1','2','3','4','5','6','7','8','9','10','11','13','14','15','16','17','18');
insert_rear_case_enabled[2] = new Array('3','4','11','12','18');
insert_rear_case_enabled[3] = new Array('4','11','12','18');
insert_rear_case_enabled[4] = new Array('1','2','9','10','17','18');

// Insert front as Index of array
var insert_rear_disc_enabled = new Array();
insert_rear_disc_enabled[1] = new Array('dvd','cd','bluray','nodisc');
insert_rear_disc_enabled[2] = new Array('cd','nodisc');
insert_rear_disc_enabled[3] = new Array('cd','nodisc');
insert_rear_disc_enabled[4] = new Array('dvd','cd','bluray','nodisc');

// Insert front as Index of array
var insert_rear_insert_front_enabled = new Array();
insert_rear_insert_front_enabled[1] = new Array('1','2','3','4','5','6','7');
insert_rear_insert_front_enabled[2] = new Array('1','2','3','6','7');
insert_rear_insert_front_enabled[3] = new Array('1','2','3','6','7');
insert_rear_insert_front_enabled[4] = new Array('1','4','5');

// Disable options
var disc_case_disabled = new Array();
disc_case_disabled['cd']        = new Array('1','2','9','10','17','18');
disc_case_disabled['dvd']       = new Array('3','4','6','11','12','16','17','18');
disc_case_disabled['bluray']    = new Array('1','2','3','4','5','6','7','8','9','10','12','13','14','15','16','18');
disc_case_disabled['nodisc']    = new Array('1','2','5','6','7','8','9','10','12','13','14','15','16');

var disc_insert_front_disabled = new Array();
disc_insert_front_disabled['cd']        = new Array(); //new Array('4','5');
disc_insert_front_disabled['dvd']       = new Array();
disc_insert_front_disabled['bluray']    = new Array('2','3','6','7');
disc_insert_front_disabled['nodisc']    = new Array();

var disc_insert_rear_disabled = new Array();
disc_insert_rear_disabled['cd']        = new Array(); //new Array('4');
disc_insert_rear_disabled['dvd']       = new Array('2','3');
disc_insert_rear_disabled['bluray']    = new Array('2','3');
disc_insert_rear_disabled['nodisc']    = new Array();

// Case as Index of array
var case_disc_disabled = new Array();
case_disc_disabled[1] = new Array('cd');
case_disc_disabled[2] = new Array('cd');
case_disc_disabled[3] = new Array('dvd');
case_disc_disabled[4] = new Array('dvd');
case_disc_disabled[5] = new Array();
case_disc_disabled[6] = new Array();
case_disc_disabled[7] = new Array();
case_disc_disabled[8] = new Array('nodisc');
case_disc_disabled[9] = new Array('cd');
case_disc_disabled[10] = new Array('cd');
case_disc_disabled[11] = new Array('dvd');
case_disc_disabled[12] = new Array('dvd');
case_disc_disabled[13] = new Array();
case_disc_disabled[14] = new Array();
case_disc_disabled[15] = new Array();
case_disc_disabled[16] = new Array();
case_disc_disabled[17] = new Array('cd','dvd');
case_disc_disabled[18] = new Array('cd','dvd','bluray');

// Case as Index of array
var case_insert_front_disabled = new Array();
case_insert_front_disabled[1]  = new Array('2','3','5','6','7');
case_insert_front_disabled[2]  = new Array('2','3','6','7');
case_insert_front_disabled[3]  = new Array('4','5');
case_insert_front_disabled[4]  = new Array('4','5');
case_insert_front_disabled[5]  = new Array('2','3','4','5','6','7');
case_insert_front_disabled[6]  = new Array('4','5');
case_insert_front_disabled[7]  = new Array('4','5');
case_insert_front_disabled[8]  = new Array('2','3','4','5','6','7');
case_insert_front_disabled[9]  = new Array('2','3','5','6','7');
case_insert_front_disabled[10] = new Array('2','3','6','7');
case_insert_front_disabled[11] = new Array('4','5');
case_insert_front_disabled[12] = new Array('1','4','5');
case_insert_front_disabled[13] = new Array('2','3','4','5','6','7');
case_insert_front_disabled[14] = new Array('2','3','4','5','6','7');
case_insert_front_disabled[15] = new Array('2','3','4','5','6','7');
case_insert_front_disabled[16] = new Array('4','5');
case_insert_front_disabled[17] = new Array('2','3','6','7');
case_insert_front_disabled[18] = new Array();

// Case as Index of array
var case_insert_rear_disabled = new Array();
case_insert_rear_disabled[1]  = new Array('2','3');
case_insert_rear_disabled[2]  = new Array('2','3');
case_insert_rear_disabled[3]  = new Array('3','4');
case_insert_rear_disabled[4]  = new Array('4');
case_insert_rear_disabled[5]  = new Array('2','3','4');
case_insert_rear_disabled[6]  = new Array('2','3','4');
case_insert_rear_disabled[7]  = new Array('2','3','4');
case_insert_rear_disabled[8]  = new Array('2','3','4');
case_insert_rear_disabled[9]  = new Array('2','3');
case_insert_rear_disabled[10] = new Array('2','3');
case_insert_rear_disabled[11] = new Array('4');
case_insert_rear_disabled[12] = new Array('1','4');
case_insert_rear_disabled[13] = new Array('2','3','4');
case_insert_rear_disabled[14] = new Array('2','3','4');
case_insert_rear_disabled[15] = new Array('2','3','4');
case_insert_rear_disabled[16] = new Array('2','3','4');
case_insert_rear_disabled[17] = new Array('2','3');
case_insert_rear_disabled[18] = new Array();

// Insert front as Index of array
var insert_front_case_disabled = new Array();
insert_front_case_disabled[1] = new Array('12');
insert_front_case_disabled[2] = new Array('1','2','5','8','9','10','13','14','15','17');
insert_front_case_disabled[3] = new Array('1','2','5','8','9','10','13','14','15','17');
insert_front_case_disabled[4] = new Array('3','4','5','6','7','8','11','12','13','14','15','16');
insert_front_case_disabled[5] = new Array('1','3','4','5','6','7','8','9','11','12','13','14','15','16');
insert_front_case_disabled[6] = new Array('1','2','5','8','9','10','13','14','15','17');
insert_front_case_disabled[7] = new Array('1','2','5','8','9','10','13','14','15','17');

// Insert rear as Index of array
var insert_rear_case_disabled = new Array();
insert_rear_case_disabled[1] = new Array('12');
insert_rear_case_disabled[2] = new Array('1','2','5','6','7','8','9','10','13','14','15','16','17');
insert_rear_case_disabled[3] = new Array('1','2','3','5','6','7','8','9','10','13','14','15','16','17');
insert_rear_case_disabled[4] = new Array('3','4','5','6','7','8','11','12','13','14','15','16');

// Insert front as Index of array
var insert_front_insert_rear_disabled = new Array();
insert_front_insert_rear_disabled[1] = new Array();
insert_front_insert_rear_disabled[2] = new Array('4');
insert_front_insert_rear_disabled[3] = new Array('4');
insert_front_insert_rear_disabled[4] = new Array('2','3');
insert_front_insert_rear_disabled[5] = new Array('2','3');
insert_front_insert_rear_disabled[6] = new Array('4');
insert_front_insert_rear_disabled[7] = new Array('4');

// Insert front as Index of array
var insert_front_disc_disabled = new Array();
insert_front_disc_disabled[1] = new Array();
insert_front_disc_disabled[2] = new Array('bluray');
insert_front_disc_disabled[3] = new Array('bluray');
insert_front_disc_disabled[4] = new Array('cd');
insert_front_disc_disabled[5] = new Array('cd');
insert_front_disc_disabled[6] = new Array('bluray');
insert_front_disc_disabled[7] = new Array('bluray');

// Insert front as Index of array
var insert_rear_insert_front_disabled = new Array();
insert_rear_insert_front_disabled[1] = new Array();
insert_rear_insert_front_disabled[2] = new Array('4','5');
insert_rear_insert_front_disabled[3] = new Array('4','5');
insert_rear_insert_front_disabled[4] = new Array('2','3','6','7');

// Insert front as Index of array
var insert_rear_disc_disabled = new Array();
insert_rear_disc_disabled[1] = new Array();
insert_rear_disc_disabled[2] = new Array('dvd','bluray');
insert_rear_disc_disabled[3] = new Array('dvd','bluray');
insert_rear_disc_disabled[4] = new Array('cd');

// disctype
var disc_elements = new Object();
disc_elements['cd']        = 'ac_disctype_cd';
disc_elements['dvd']       = 'ac_disctype_dvd';
disc_elements['bluray']    = 'ac_disctype_bluray';
disc_elements['nodisc']    = 'ac_disctype_nodisc';

// duplication
var duplication_elements = new Object();
duplication_elements['check']  = 'ac_duplication_check';

// cello
var cellowrap_elements = new Object();
cellowrap_elements['check'] = 'ac_cellowrap_check';

// discsurface
var surface_elements = new Object();
surface_elements['blacktext'] = 'ac_discsurface_blackwhite';
surface_elements['colour']    = 'ac_discsurface_colour';

// case
var case_elements = new Array();
case_elements[1] = 'ac_case_1';
case_elements[2] = 'ac_case_6';
case_elements[3] = 'ac_case_12';
case_elements[4] = 'ac_case_17';
case_elements[5] = 'ac_case_22';
case_elements[6] = 'ac_case_24';
case_elements[7] = 'ac_case_26';
case_elements[8] = 'ac_case_28';
case_elements[9] = 'ac_case_30';
case_elements[10] = 'ac_case_31';
case_elements[11] = 'ac_case_32';
case_elements[12] = 'ac_case_33';
case_elements[13] = 'ac_case_34';
case_elements[14] = 'ac_case_35';
case_elements[15] = 'ac_case_36';
case_elements[16] = 'ac_case_37';
case_elements[17] = 'ac_case_38';
case_elements[18] = 'ac_case_39';

// insert front
var insert_front_elements = new Array();
insert_front_elements[1] = 'ac_insert_13';
insert_front_elements[2] = 'ac_insert_7';
insert_front_elements[3] = 'ac_insert_8';
insert_front_elements[4] = 'ac_insert_2';
insert_front_elements[5] = 'ac_insert_12';
insert_front_elements[6] = 'ac_insert_15';
insert_front_elements[7] = 'ac_insert_16';

// insert rear
var insert_rear_elements = new Array();
insert_rear_elements[1] = 'ac_insert_14';
insert_rear_elements[2] = 'ac_insert_9';
insert_rear_elements[3] = 'ac_insert_10';
insert_rear_elements[4] = 'ac_insert_11';

// delivery
var delivery_elements = new Object();
delivery_elements['standard'] = 'ac_delivery_standard';
delivery_elements['10am'] = 'ac_delivery_10am';
delivery_elements['satam'] = 'ac_delivery_satam';

// quantity
var quantity_elements = new Array();
quantity_elements[1] = 'ac_quantity_50';
quantity_elements[2] = 'ac_quantity_100';
quantity_elements[3] = 'ac_quantity_200';
quantity_elements[4] = 'ac_quantity_500';
quantity_elements[5] = 'ac_quantity_1000';
quantity_elements[6] = 'ac_quantity_other';

var input_elements = new Array();
input_elements[1]  = 'ac_input_disctype';
input_elements[2]  = 'ac_input_duplication';
input_elements[3]  = 'ac_input_discsurface';
input_elements[4]  = 'ac_input_case';
input_elements[5]  = 'ac_input_insert_front';
input_elements[6]  = 'ac_input_insert_rear';
input_elements[7]  = 'ac_input_quantity';
input_elements[8]  = 'ac_input_quality';
input_elements[9]  = 'ac_input_delivery';
input_elements[10] = 'ac_input_cellowrap';
input_elements[11] = 'ac_input_action';

// disctype
var disc_elements = new Object();
disc_elements['cd']        = 'ac_disctype_cd';
disc_elements['dvd']       = 'ac_disctype_dvd';
disc_elements['bluray']    = 'ac_disctype_bluray';
disc_elements['nodisc']    = 'ac_disctype_nodisc';

// duplication
var duplication_elements = new Object();
duplication_elements['check']  = 'ac_duplication_check';

// duplication
var cellowrap_elements = new Object();
cellowrap_elements['check']  = 'ac_cellowrap_check';

function calcStartAgain() {
	showMonitEmailQuote = 1;
	clearInterval(in_blink);
	calcStart();
}

function calcStart () {
	DiscEnable();
	SurfaceEnable();
	CaseEnable();
	InsertFrontEnable();
	InsertRearEnable();
	CelloDisable();

	AllDeAccept();

	$('input_quantity').value = '';
	$('disctype').className = '';
	$('idisctype').style.display = 'block';
	$('idisctype').style.visibility = 'visible';

	for (var i in quantity_elements) {
		try { $(quantity_elements[i]).className = ''; } catch(e) { };
	}
	$('quantity_box').style.display = 'none';

	$('input_duplicate').checked = false;
	$('ac_input_duplication').value = 'yes';

	//$('cellowrap_box').style.display = 'none';
	$('input_cellowrap').checked = false;
	$('ac_input_cellowrap').value = 'no';

	$('discsurface').className = '';
	$('idiscsurface').style.display = 'block';
	$('idiscsurface').style.visibility = 'visible';
	$('case').className = '';
	$('icase').style.display = 'block';
	$('icase').style.visibility = 'visible';

	$('insert_front').className = '';
	$('iinsert_front').style.display = 'block';
	$('iinsert_front').style.visibility = 'visible';

	$('insert_rear').className = '';
	$('iinsert_rear').style.display = 'block';
	$('iinsert_rear').style.visibility = 'visible';

	$('quantity').className = '';
	$('iquantity').style.display = 'block';
	$('iquantity').style.visibility = 'visible';
	$('iquantity').innerHTML = 'Choose Quantity';

	for (var i in input_elements) {
		try { $(input_elements[i]).value = ''; } catch(e) { };
	}

	$(input_elements[2]).value = 'yes';
	$(input_elements[8]).value = 'standard';
	$(input_elements[9]).value = 'standard';
	$(input_elements[10]).value = 'no';

	$('insert_front').innerHTML = 'Front Insert / DVD Wrap';
	$('insert_rear').innerHTML  = 'Rear Insert / DVD Booklet';

	can_edit = true;
	can_proceed = true;

	if ($('promoCode')) $('promoCode').style.display = 'none';
	$('ac_start').style.display = 'block';
	$('ac_end').style.display = 'none';
	$('faqButton').innerHTML = '';
	$('ac_didyouknow').style.display = 'block';

	$('ac_contact').hide();

	in_blink = setInterval('blinkIt()',300);
}

var priceCache = {};

function getPrice() {
	$('endOrderCode').innerHTML = '<img src="/i/layout/wait.gif" width="13" height="13" alt="N/A" />';
	$('endQuantity').innerHTML = '<img src="/i/layout/wait.gif" width="13" height="13" alt="N/A" />';
	$('endUnitPrice').innerHTML = '<img src="/i/layout/wait.gif" width="13" height="13" alt="N/A" />';
	$('endDeliveryCharge').innerHTML = '<img src="/i/layout/wait.gif" width="13" height="13" alt="N/A" />';
	$('endTotalPrice').innerHTML = '<img src="/i/layout/wait.gif" width="13" height="13" alt="N/A" />';
	$('endVAT').innerHTML = '<img src="/i/layout/wait.gif" width="13" height="13" alt="N/A" />';
	$('endTotalPrice2').innerHTML = '<img src="/i/layout/wait.gif" width="13" height="13" alt="N/A" />';
	$('endTradeDiscount').innerHTML = '<img src="/i/layout/wait.gif" width="13" height="13" alt="N/A" />';
	
	var params = {  
		action: 'prices',
		ac_input_disctype:     $(input_elements[1]).value,
		ac_input_duplication:  $(input_elements[2]).value,
		ac_input_discsurface:  $(input_elements[3]).value,
		ac_input_case:         $(input_elements[4]).value,
		ac_input_insert_front: $(input_elements[5]).value,
		ac_input_insert_rear:  $(input_elements[6]).value,
		ac_input_quantity:     $(input_elements[7]).value,
		ac_input_quality:      $(input_elements[8]).value,
		ac_input_delivery:     $(input_elements[9]).value,
		ac_input_cellowrap:    $(input_elements[10]).value,
		ac_delivery_type:	   $('fdelivery').value
	}
	
	var serilizadParams = $H(params).toJSON(); 
	
	if (typeof priceCache[serilizadParams] != 'undefined') {
		var json = priceCache[serilizadParams];
		$('endOrderCode').innerHTML = json[0].order_code;
		$('endQuantity').innerHTML = json[0].quantity;
		$('endUnitPrice').innerHTML = CURRENCY_SYMBOL + ' ' + json[0].unit_price;
		$('endDeliveryCharge').innerHTML = CURRENCY_SYMBOL + ' ' + json[0].delivery_charge;
		$('endTotalPrice').innerHTML = CURRENCY_SYMBOL + ' ' + json[0].total_price_ex_vat;
		$('endTradeDiscount').innerHTML = CURRENCY_SYMBOL + ' ' + json[0].discount_ex_vat;
		$('endVAT').innerHTML = CURRENCY_SYMBOL + ' ' + (parseFloat(json[0].vat)-parseFloat(json[0].discount_vat)+parseFloat(json[0].delivery_chargevat)).toFixed(2);
		var num = Math.round((parseFloat(json[0].total_price)-parseFloat(json[0].discount)+parseFloat(json[0].delivery_charge)+parseFloat(json[0].delivery_chargevat))*100)/100;
		$('endTotalPrice2').innerHTML = CURRENCY_SYMBOL + ' ' + num.toFixed(2);
	} else {		
		new Ajax.Request('/ajax', {
			method:'post',
			parameters: params,
			onSuccess: function(transport, json) {
				priceCache[serilizadParams] = json; 
				$('endOrderCode').innerHTML = json[0].order_code;
				$('endQuantity').innerHTML = json[0].quantity;
				$('endUnitPrice').innerHTML = CURRENCY_SYMBOL + ' ' + json[0].unit_price;
				$('endDeliveryCharge').innerHTML = CURRENCY_SYMBOL + ' ' + json[0].delivery_charge;
				$('endTotalPrice').innerHTML = CURRENCY_SYMBOL + ' ' + json[0].total_price_ex_vat;
				$('endTradeDiscount').innerHTML = CURRENCY_SYMBOL + ' ' + json[0].discount_ex_vat;
				$('endVAT').innerHTML = CURRENCY_SYMBOL + ' ' + (parseFloat(json[0].vat)-parseFloat(json[0].discount_vat)+parseFloat(json[0].delivery_chargevat)).toFixed(2);
				var num = Math.round((parseFloat(json[0].total_price)-parseFloat(json[0].discount)+parseFloat(json[0].delivery_charge)+parseFloat(json[0].delivery_chargevat))*100)/100;
				$('endTotalPrice2').innerHTML = CURRENCY_SYMBOL + ' ' + num.toFixed(2);
			},
			onFailure: function()
			{
				$('endOrderCode').innerHTML = 'N/A';
				$('endQuantity').innerHTML = 'N/A';
				$('endUnitPrice').innerHTML = 'N/A';
				$('endDeliveryCharge').innerHTML = 'N/A';
				$('endTotalPrice').innerHTML = 'N/A';
				$('endVAT').innerHTML = 'N/A';
				$('endTotalPrice2').innerHTML = 'N/A';
				$('endTradeDiscount').innerHTML = 'N/A';
				alert('We are sorry. We are unable to connect to server in order to retrieve your quotation. Please try again in a couple of minutes.');
			}
		});
	}
}

function blinkIt() {
	var blink = new Array( 'idisctype', 'idiscsurface', 'icase', 'iinsert_front', 'iinsert_rear', 'iquantity' );
	for (var i= 0; i < blink.length; i++) {
		if($(blink[i]).style.display != 'none') {
			$(blink[i]).style.visibility = ($(blink[i]).style.visibility == 'visible') ? 'hidden' : 'visible';
			break;
		}
	}
}

function printProject() {
	printQuote();
}

function hidePromoMonit() {
	$("promoCode1Monit").setStyle({display: "none"});
	$("overlay").setStyle({height: "0px",width: "0px"});
	return false;
}

function showPromoMonit() {
	var dim = getPageSize();
	$("promoCode1Monit").setStyle({display: "block"});
	$("overlay").setStyle({height: dim[1]+"px",width: dim[0]+"px"});
}

function hideEmailMonit() {
	$('emailQuoteErrors').innerHTML = '';
	$("emailQuoteInfoMonit").setStyle({display: "none"});
	$("overlay").setStyle({height: "0px",width: "0px"});
	return false;
}

function showEmailMonit() {
	var dim = getPageSize();
	$("emailQuoteInfoMonit").setStyle({display: "block"});
	$("overlay").setStyle({height: dim[1]+"px",width: dim[0]+"px"});
}

function blinkMe() {
	if(monitBlinkCount == 4) {
		clearInterval(monitBlink);
		$('blinkMe').style.visibility = 'visible';
		monitBlinkCount = 0;
	} else {
		$('blinkMe').style.visibility = ($('blinkMe').style.visibility == 'visible') ? 'hidden' : 'visible';
		monitBlinkCount = monitBlinkCount + 1;
	}
}

function emailProject() {
	hideEmailMonit();
	var dim = getPageSize();
	$("emailProjectNameChooseMonit").setStyle({display: "block"});
	$("overlay").setStyle({height: dim[1]+"px",width: dim[0]+"px"});
}

function printQuote() {
	quote  = "/quote/printcart/" + $(input_elements[1]).value + "/" + $(input_elements[2]).value + "/"  + $(input_elements[3]).value + "/" + $(input_elements[4]).value + "/" + $(input_elements[5]).value + "/" + $(input_elements[6]).value + "/" + $(input_elements[7]).value + "/"  + $(input_elements[8]).value + "/"  + $(input_elements[9]).value + "/" + $(input_elements[10]).value + "/";
	displayWindowScroll(quote, '300', '450', '_blank');
	return false;
}

function printCart () {
	var quote  = "/quote/printcart/";
	displayWindowScroll(quote, '300', '450', '_blank');
}

function showMonit(strMonit) {
	var dim = getPageSize();
	$("monitMessage").innerHTML = strMonit;
	$("monit").setStyle({display: "block"});
	$("overlay").setStyle({height: dim[1]+"px",width: dim[0]+"px"});
}

function hideMonit() {
	$("monitMessage").innerHTML = '';
	$("monit").setStyle({display: "none"});
	$("overlay").setStyle({height: "0px",width: "0px"});
}

function emailCart() {
	var quote  = "/quote/emailcart/";

	var li = document.createElement('li');
	li.innerHTML = 'Please wait...';
	$('emailQuoteErrors').appendChild(li);

	new Ajax.Request(quote, {
		method:'post',
		parameters: {
			email:        $F('eqEmail'),
			reEmail:      $F('eqReEmail'),
			firstName:    $F('eqFirstName'),
			notes:        $F('eqNotes'),
			promo:        $F('eqPromo')
		},
		onSuccess: function(transport, json) {
			if (json[0].emailSend == 'OK') {
				hideEmailMonit();
				showMonit("The quote has been emailed to you.");
			} else {
				$('emailQuoteErrors').innerHTML = '';

				for (var i = 0; i < json.length; i++) {
					var li = document.createElement('li');
					li.innerHTML = json[i].error;
					$('emailQuoteErrors').appendChild(li);
				}
			}
		},
		onFailure: function(e) {
			alert('We are sorry. We are unable to connect to server in order to retrieve your quotation. Please try again in a couple of minutes.');
		}
	});

	return false;
}

function emailQuote() {
	var quote  = "/quote/emailcart/";

	var li = document.createElement('li');
	li.innerHTML = 'Please wait...';
	$('emailQuoteErrors').appendChild(li);

	new Ajax.Request(quote, {
		method:'post',
		parameters: {
			disctype:     $(input_elements[1]).value,
			duplication:  $(input_elements[2]).value,
			discsurface:  $(input_elements[3]).value,
			dcase:        $(input_elements[4]).value,
			insert_front: $(input_elements[5]).value,
			insert_rear:  $(input_elements[6]).value,
			quantity:     $(input_elements[7]).value,
			quality:      $(input_elements[8]).value,
			delivery:     $(input_elements[9]).value,
			cellowrap:    $(input_elements[10]).value,
			email:        $F('eqEmail'),
			reEmail:      $F('eqReEmail'),
			notes:        $F('eqNotes'),
			firstName:    $F('eqFirstName'),
			promo:        $F('eqPromo')
		},
		onSuccess: function(transport, json) {
			if (json[0].emailSend == 'OK') {
				hideEmailMonit();
				showMonit("The quote has been emailed to you.");
			} else {
				$('emailQuoteErrors').innerHTML = '';

				for (var i = 0; i < json.length; i++) {
					var li = document.createElement('li');
					li.innerHTML = json[i].error;
					$('emailQuoteErrors').appendChild(li);
				}
			}
		},
		onFailure: function() {
			alert('We are sorry. We are unable to connect to server in order to retrieve your quotation. Please try again in a couple of minutes.');
		}
	});

	return false;
}

function emailQuotePercent () {
	var quote  = "/quote/emailCode/"
	+ $(input_elements[1]).value + "/"
	+ $(input_elements[2]).value + "/"
	+ $(input_elements[3]).value + "/"
	+ $(input_elements[4]).value + "/"
	+ $(input_elements[5]).value + "/"
	+ $(input_elements[6]).value + "/"
	+ $(input_elements[7]).value + "/"
	+ $(input_elements[8]).value + "/"
	+ $(input_elements[9]).value + "/"
	+ $(input_elements[10]).value + "/";

	if($('req_email5p').value  != "") {
		quote = quote + "email/" + $('req_email5p').value + "/";
	}

	if($('req_re_email5p').value  != "") {
		quote = quote + "reEmail/" + $('req_re_email5p').value + "/";
	}

	if($('req_first_name5p').value  != "") {
		quote = quote + "firstName/" + $('req_first_name5p').value + "/";
	}

	displayWindow(quote, '360', '170', '_blank');
}

function checkEnd () {

	var is_end = true;
	for(var i = 1; i <= 10; i++) {
		if($(input_elements[i]).value == '') {
			is_end = false;
		}
	}

	if(is_end) {
		if(can_proceed) {
			// Get price from php
			getPrice();
			$('ac_start').style.display = 'none';
			$('ac_end').style.display = 'block';
			if ($('faqButton').innerHTML!='<a href="#" onclick="displayWindow(\'encyclopedia\/faq\/faq\', \'740\', \'520\', \'encyclopedia\'); return false;"><img src="/i/layout/faq_anim5.gif" /></a>') {
				$('faqButton').innerHTML = '<a href="#" onclick="displayWindow(\'encyclopedia\/faq\/faq\', \'740\', \'520\', \'encyclopedia\'); return false;"><img src="/i/layout/faq_anim5.gif" /></a>';
			}
			if ($('promoCode')) $('promoCode').style.display = 'block';
			$('ac_didyouknow').style.display = 'none';
			$('ac_contact').style.display = 'none';
			if(percent == 1) {
				show_slash();
			}
		} else {
			$('ac_start').style.display = 'none';
			$('ac_end').style.display = 'none';
			$('faqButton').innerHTML = '';
			if ($('promoCode')) $('promoCode').style.display = 'none';
			$('ac_didyouknow').style.display = 'block';
			$('ac_contact').style.display = 'block';
		}
	} else {
		if ($('promoCode')) $('promoCode').style.display = 'none';
		$('ac_start').style.display = 'block';
		$('ac_end').style.display = 'none';
		$('faqButton').innerHTML = '';
		$('ac_didyouknow').style.display = 'block';
		$('ac_contact').style.display = 'none';
	}
}

function closeNote() {
}

var proceedsent = false;
function Proceed () {
	// to avoid resending
	if (!proceedsent) {
		var dim = getPageSize();
		$("projectNameMonit").setStyle({display: "block"});
		$("overlay").setStyle({height: dim[1]+"px",width: dim[0]+"px"});
		if(trim($F('fProjectName')) == '') {
			if ($('endQuantity').innerHTML.substr(0,4)=='<IMG' || $('endQuantity').innerHTML.substr(0,4)=='<img') {
				$("fProjectName").value = 'Project name';
			} else {
				$("fProjectName").value = $('endQuantity').innerHTML + 'x DC Product Code ' + $('endOrderCode').innerHTML;
			}
		}
		$('ac_input_action').value = 'proceed';
		$("fProjectName").focus();
	}
}
function ProceedToGoogle () {
	// to avoid resending
	if (!proceedsent) {
		var dim = getPageSize();
		$("projectNameMonit").setStyle({display: "block"});
		$("overlay").setStyle({height: dim[1]+"px",width: dim[0]+"px"});
		if(trim($F('fProjectName')) == '') {
			if ($('endQuantity').innerHTML.substr(0,4)=='<IMG' || $('endQuantity').innerHTML.substr(0,4)=='<img') {
				$("fProjectName").value = 'Project name';
			} else {
				$("fProjectName").value = $('endQuantity').innerHTML + 'x DC Product Code ' + $('endOrderCode').innerHTML;
			}
		}
		$('ac_input_action').value = 'proceedToGoogle';
		$("fProjectName").focus();
	}
}

function addToCart () {
	var dim = getPageSize();
	$("projectNameMonit").setStyle({display: "block"});
	$("overlay").setStyle({height: dim[1]+"px",width: dim[0]+"px"});
	if(trim($F('fProjectName')) == '') {
		if ($('endQuantity').innerHTML.substr(0,4)=='<img') {
			$("fProjectName").value = 'Project name';
		} else {
			$("fProjectName").value = $('endQuantity').innerHTML + 'x DC Product Code ' + $('endOrderCode').innerHTML;
		}
	}
	$('ac_input_action').value = 'addToCart';
	$("fProjectName").focus();
}

function showDeliveryTip () {
	var dim = getPageSize();
	$("projectDeliveryTip").setStyle({display: "block"});
	$("overlay").setStyle({height: dim[1]+"px",width: dim[0]+"px"});
}

function hideDeliveryTip() {
	$("projectDeliveryTip").setStyle({display: "none"});
	$("overlay").setStyle({height: 0+"px",width: 0+"px"});
}

function trim(str) {
	str = str.replace(/^\s+/, '');
	for (var i = str.length - 1; i >= 0; i--) {
		if (/\S/.test(str.charAt(i))) {
			str = str.substring(0, i + 1);
			break;
		}
	}
	return str;
}

function addToCartData() {
	var res = doCardboardCheck();
	if (res==false) {
		return false;
	}

	var name = trim($("fProjectName").value);
	if (name == "") {
		alert('Please enter name for this project');
		return false;
	}
	$('ac_input_name').value = name;
	//$('ac_input_action').value = 'addToCart';
	$('ac_form').submit();
	return false;
}

// getPageSize()
// Returns array with page width, height and window width, height
// Core code from - quirksmode.com
// Edit for Firefox by pHaez
function getPageSize(){

	var xScroll, yScroll;

	if (window.innerHeight && window.scrollMaxY) {
		xScroll = window.innerWidth + window.scrollMaxX;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}

	var windowWidth, windowHeight;

	if (self.innerHeight) { // all except Explorer
		if(document.documentElement.clientWidth){
			windowWidth = document.documentElement.clientWidth;
		} else {
			windowWidth = self.innerWidth;
		}
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}

	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else {
		pageHeight = yScroll;
	}
	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth){
		pageWidth = xScroll;
	} else {
		pageWidth = windowWidth;
	}

	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight);
	return arrayPageSize;
}

function cardboardWarningEnable(state) {
	$('handmade_off').style.display = 'block';
	$('handmade_on').style.display = 'none';
	cardboardCheck = false;
	return
	/*
	if (state) {
		// Enable
		$('handmade_off').style.display = 'none';
		$('handmade_on').style.display = 'block';
		cardboardCheck = true;
	} else {
		// Disable
		$('handmade_off').style.display = 'block';
		$('handmade_on').style.display = 'none';
		cardboardCheck = false;
	}
	*/
}

function doCardboardCheck() {
	if (cardboardCheck==true) {
		var handmade = "";
		if ($('radioHandmadeYes').checked) handmade="yes";
		if ($('radioHandmadeNo').checked) handmade="no";
		if (handmade == "") return false;
		if (handmade == "yes") return true;
		if (handmade == "no") window.location.href="/prices.html";
		if (handmade == "sample") {
			window.alert('sample');
			return false;
		}
		return false;
	}
	return true;
}

function calcSetDelivery(item) {
	getPrice();
}

function calcSet (typeOption, valueOption, dontCheckEnd) {
	switch (typeOption) {
		case 'disctype':
		if(IsEnabled ($(disc_elements[valueOption]))) {
			$('disctype').className = 'ok';
			$('idisctype').style.display = 'none';

			for (var dtype in disc_elements) {
				$(disc_elements[dtype]).className = '';
			}

			$(disc_elements[valueOption]).className = 'accepted';
			$('ac_input_disctype').value = valueOption;
			
			if (valueOption=='nodisc') {
				$('li_ac_case_39').style.display = 'block'; // no disc
				$('li_ac_case_28').style.display = 'none'; // spindle
				
				SurfaceDisable();
				for (var stype in surface_elements) {
					$(surface_elements[stype]).className = '';
				}
				
				$('ac_input_discsurface').value = 'none';
				$('discsurface').className = 'ok';
				$('idiscsurface').style.display = 'none';
				
				ElementDisable($('li_ac_duplication_checkbox'));
				$('input_duplicate').disabled = true;
				$('ac_input_duplication').value = 'no';
			} else {
				$('li_ac_case_39').style.display = 'none'; // no disc
				$('li_ac_case_28').style.display = 'block'; // spindle
				
				SurfaceEnable();
				
				if ($('ac_input_discsurface').value=='none' || $('ac_input_discsurface').value=='') {
					$('ac_input_discsurface').value = '';
					$('discsurface').className = '';
					$('idiscsurface').style.display = 'block';
					$('idiscsurface').style.visibility = 'visible';
				} else {
					$('discsurface').className = 'ok';
					$('idiscsurface').style.display = 'none';
					$('idiscsurface').style.visibility = 'none';
				}
				
				$('icase').style.visibility = 'visible';
				
				ElementEnable($('li_ac_duplication_checkbox'));
				$('ac_input_duplication').value = 'yes';
				$('input_duplicate').disabled = false;
				$('input_duplicate').checked = false;
			}
			
			
			
			if (valueOption=='dvd' && $('ac_input_case').value!=6 && $('ac_input_case').value!=7) {
				$('insert_front').innerHTML = 'DVD Wrap';
				$('iinsert_front').innerHTML = 'Choose DVD Wrap';
			} else {
				if (valueOption=='bluray') {
					$('insert_front').innerHTML = 'Blu-ray Wrap';
					$('iinsert_front').innerHTML = 'Choose Blu-ray Wrap';
				} else {
					$('insert_front').innerHTML = 'Front Insert';
					$('iinsert_front').innerHTML = 'Choose Front Insert';					
				}
			}
			if (valueOption=='dvd' && $('ac_input_case').value!=6 && $('ac_input_case').value!=7) {
				$('insert_rear').innerHTML  = 'DVD Booklet';
				$('iinsert_rear').innerHTML = 'Choose DVD Booklet';
			} else {
				if (valueOption=='bluray') {
					$('insert_rear').innerHTML = 'Blu-ray Booklet';
					$('iinsert_rear').innerHTML = 'Choose Blu-ray Booklet';
				} else {
					$('insert_rear').innerHTML  = 'Rear Insert';
					$('iinsert_rear').innerHTML = 'Choose Rear Insert';
				}
			}
			FilterByDiscType (valueOption);
		}

		break;
		case 'duplication':

		if (valueOption==true || valueOption=='no') {
			$('ac_input_duplication').value = 'no';
			$('input_duplicate').checked = true;
		} else {
			$('ac_input_duplication').value = 'yes';
			$('input_duplicate').checked = false;
		}
		break;

		case 'cellowrap':

		if (valueOption==true || valueOption=='yes') {
			$('ac_input_cellowrap').value = 'yes';
			$('input_cellowrap').checked = true;
		} else {
			$('ac_input_cellowrap').value = 'no';
			$('input_cellowrap').checked = false;
		}

		break;
		case 'discsurface':
		
		if ($('ac_input_disctype').value=='nodisc') {
			break;
		}
		
		$('discsurface').className = 'ok';
		$('idiscsurface').style.display = 'none';

		for (var stype in surface_elements) {
			$(surface_elements[stype]).className = '';
		}

		$(surface_elements[valueOption]).className = 'accepted';
		$('ac_input_discsurface').value = valueOption;
		break;

		case 'case':
		if (valueOption == 15) {
			// Cardboard wallet
			cardboardWarningEnable(true);
		} else {
			// Non cardboard wallet
			cardboardWarningEnable(false);
		}
		if(IsEnabled ($(case_elements[valueOption]))) {
			$('case').className = 'ok';
			$('icase').style.display = 'none';

			for (var i in case_elements) {
				try { $(case_elements[i]).className = ''; } catch(e) { };
			}

			$(case_elements[valueOption]).className = 'accepted';
			$('ac_input_case').value = valueOption;

			FilterByCaseID (valueOption);
			if ($('ac_input_disctype').value!='') calcSet ('disctype', $('ac_input_disctype').value);
		}
		// If NONE is the only option for front insert
		var tempForce = forceMode;
		var tempCounter = 0;
		var tempActive = 0;
		forceMode = true;
		for (var i in insert_front_elements) {
			try {
				if(IsEnabled ($(insert_front_elements[i]))) {
					tempCounter++;
					tempActive = i;
				}
			} catch(e) { };
		}
		forceMode = tempForce;
		if (tempCounter==1) {
			$('iinsert_front').style.display = 'none';
			$('ac_input_insert_front').value = tempActive;
			
			// Option to be visible if it's the only one
			$('insert_front').className = 'ok';
			$(insert_front_elements[tempActive]).className = 'accepted';
			
			FilterByInsertFrontID (tempActive);
		} else {
			if ($('insert_front').className=='') {
				$('iinsert_front').style.display = 'block';
				$('ac_input_insert_front').value = '';
			}
		}
		// If NONE is the only option for rear insert
		tempCounter = 0;
		tempActive = 0;
		forceMode = true;
		for (var i in insert_rear_elements) {
			try {
				if(IsEnabled ($(insert_rear_elements[i]))) {
					tempCounter++;
					tempActive = i;
				}
			} catch(e) { };
		}
		forceMode = tempForce;
		if (tempCounter==1) {
			$('iinsert_rear').style.display = 'none';
			$('ac_input_insert_rear').value = tempActive;
			
			// Option to be visible if it's the only one
			$('insert_rear').className = 'ok';
			$(insert_rear_elements[tempActive]).className = 'accepted';
			
			FilterByInsertRearID (tempActive);
		} else {
			if ($('insert_rear').className=='') {
				$('iinsert_rear').style.display = 'block';
				$('ac_input_insert_rear').value = '';
			}
		}
		break;

		case 'insert-front':
		if(IsEnabled ($(insert_front_elements[valueOption]))) {
			$('insert_front').className = 'ok';
			$('iinsert_front').style.display = 'none';

			for (var i in insert_front_elements) {
				try { $(insert_front_elements[i]).className = ''; } catch(e) { };
			}

			$(insert_front_elements[valueOption]).className = 'accepted';
			$('ac_input_insert_front').value = valueOption;

			FilterByInsertFrontID (valueOption);
		}
		break;

		case 'insert-rear':
		if(IsEnabled ($(insert_rear_elements[valueOption]))) {
			$('insert_rear').className = 'ok';
			$('iinsert_rear').style.display = 'none';

			for (var i in insert_rear_elements) {
				try { $(insert_rear_elements[i]).className = ''; } catch(e) { };
			}

			$(insert_rear_elements[valueOption]).className = 'accepted';
			$('ac_input_insert_rear').value = valueOption;

			FilterByInsertRearID (valueOption);
		}
		break;

		case 'quantity':
		var quantity = parseInt(valueOption);
		if (isNaN(quantity)) {
			$('quantity_box').style.display = 'block';
		}
		if(quantity >= 5) { // low limit = 5
			if(quantity > 1000) {
				can_proceed = false;
			} else {
				can_proceed = true;
			}

			for (var i in quantity_elements) {
				try { $(quantity_elements[i]).className = ''; } catch(e) { };
			}
			//$('quantity_box').style.display = 'none';
			switch(quantity) {
				case 50:
				$('ac_quantity_50').className = 'accepted';
				break;
				case 100:
				$('ac_quantity_100').className = 'accepted';
				break;
				case 200:
				$('ac_quantity_200').className = 'accepted';
				break;
				case 500:
				$('ac_quantity_500').className = 'accepted';
				break;
				case 1000:
				$('ac_quantity_1000').className = 'accepted';
				break;
				default:
				$('ac_quantity_other').className = 'accepted';
				$('quantity_box').style.display = 'block';
				break;
			}
			$('quantity').className = 'ok';
			$('iquantity').style.display = 'none';
			$('ac_input_quantity').value = valueOption;
			$('input_quantity').value = valueOption;

		} else {
			$('ac_input_quantity').value = '';
			$('quantity').className = '';
			$('iquantity').style.display = 'block';
			$('iquantity').innerHTML = 'Minimum number of units is 5.';
		}
		break;
	}
	if (!dontCheckEnd) {
		checkEnd ();
	}
	
}

var ie=document.all;
var ns6=document.getElementById && !document.all;
var enabletip=false;

function ietruebody(){
	return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body;
}

function tip(target) { $('dhtmltooltip').innerHTML=$(target).innerHTML; enabletip=true; return false; }

function positiontip(e){
	if (enabletip){
		var nondefaultpos=false;
		var curX=(ns6)?e.pageX : event.clientX+ietruebody().scrollLeft;
		var curY=(ns6)?e.pageY : event.clientY+ietruebody().scrollTop;
		var winwidth=ie&&!window.opera? ietruebody().clientWidth : window.innerWidth-20;
		var winheight=ie&&!window.opera? ietruebody().clientHeight : window.innerHeight-20;
		var rightedge=ie&&!window.opera? winwidth-event.clientX-12 : winwidth-e.clientX-12;
		var bottomedge=ie&&!window.opera? winheight-event.clientY-10 : winheight-e.clientY-10;
		var leftedge=(12<0)? 12*(-1) : -1000;
		if (rightedge<$('dhtmltooltip').offsetWidth){
			$('dhtmltooltip').style.left=curX-$('dhtmltooltip').offsetWidth+"px";
			nondefaultpos=true;
		}
		else if (curX<leftedge)
		$('dhtmltooltip').style.left="5px";
		else{
			//position the horizontal position of the menu where the mouse is positioned
			$('dhtmltooltip').style.left=curX+2+"px";
		}

		//same concept with the vertical position
		if (bottomedge<$('dhtmltooltip').offsetHeight){
			$('dhtmltooltip').style.top=curY-$('dhtmltooltip').offsetHeight-10+"px";
			nondefaultpos=true;
		}
		else{
			$('dhtmltooltip').style.top=curY+24+"px";
		}
		$('dhtmltooltip').style.visibility="visible";
	}
}

function untip(){
	if (ns6||ie){
		enabletip=false;
		$('dhtmltooltip').style.visibility="hidden";
		$('dhtmltooltip').style.left="-1000px";
	}
}

document.onmousemove=positiontip;

