//BlueBox Version 2 (http://www.BlueBoxOnline.com)==============================
//Copyright NetIdeas (PTY) Ltd t/a The BlueBox - PO Box 1237, Pmb, South Africa
//==============================================================================
// <!--[ Copyright - All Rights Reserved 2007 The BlueBox (www.BlueBoxOnline.com)  File:bluebox.js FileVersion[1.10] ]-->
//==============================================================================
///////////include 3rd party javascripts{
	document.write('<script type="text/javascript" src="engine/3rdparty/ajax/tw-sack/tw-sack.js"></script>');
	document.write('<script type="text/javascript" src="engine/3rdparty/menu/menu.js"></script>');
	document.write('<script type="text/javascript" src="engine/3rdparty/maths_and_numbers/currency_number_format2.js"></script>');
	
	document.write('<script type="text/javascript" src="engine/3rdparty/ajax/ajax-dynamic-list/ajax-dynamic-list.js"></script>');
	document.write('<script type="text/javascript" src="engine/3rdparty/tree/tree.js"></script>');
	document.write('<script type="text/javascript" src="engine/3rdparty/dhtmlgoodies_calendar/dhtmlgoodies_calendar.js"></script>');
	document.write('<script type="text/javascript" src="engine/3rdparty/validation/validator.js"></script>');
	document.write('<script type="text/javascript" src="engine/3rdparty/colorpicker/picker.js"></script>');
	document.write('<script type="text/javascript" src="engine/3rdparty/prototype/prototype.js"></script>');
	document.write('<script type="text/javascript" src="engine/3rdparty/scriptaculous/effects.js"></script>');
	document.write('<script type="text/javascript" src="engine/3rdparty/scriptaculous/dragdrop.js"></script>');
	document.write('<script type="text/javascript" src="engine/3rdparty/modalbox/modalbox.js"></script>');
	document.write('<link rel="stylesheet" href="engine/3rdparty/modalbox/modalbox.css" type="text/css" media="screen" />');
	//greyBox{
		document.write('<script type=\"text/javascript\">var GB_ROOT_DIR = \"engine/3rdparty/greybox/\";</script>');
		document.write('<script type=\"text/javascript\" src=\"engine/3rdparty/greybox/AJS.js\"></script>');
		document.write('<script type=\"text/javascript\" src=\"engine/3rdparty/greybox/AJS_fx.js\"></script>');
		document.write('<script type=\"text/javascript\" src=\"engine/3rdparty/greybox/gb_scripts.js\"></script>');
		document.write('<link href=\"engine/3rdparty/greybox/gb_styles.css\" rel=\"stylesheet\" type=\"text/css\" />');
	//}
//}
//some scripts used in tree menu selection{
	function bb_treeLink(t){
		document.getElementById('viewer_'+t).blur();
		document.getElementById('div_'+t).style.display='block';
	}
	function bb_treelink_clicked(id,name,t){
		document.getElementById('viewer_'+t).value=name;
		document.getElementById(t).value=id;
		document.getElementById('div_'+t).style.display='none';
	}
	function bb_treelink_clear(t){
		document.getElementById('viewer_'+t).value='';
		document.getElementById(t).value=0;
		document.getElementById('div_'+t).style.display='none';
	}
	function get_x(e) {
		var posx = 0;
		if (!e) var e = window.event;
		if (e.pageX) 	{
			posx = e.pageX;
		}
		else if (e.clientX) 	{
			posx = e.clientX + document.body.scrollLeft
			+ document.documentElement.scrollLeft;
		}
		return posx;
	}
	function get_y(e) {
		var posy = 0;
		if (!e) var e = window.event;
		if (e.pageY) 	{
			posy = e.pageY;
		}
		else if (e.clientY) 	{
			posy = e.clientY + document.body.scrollTop
			+ document.documentElement.scrollTop;
		}
		return posy;
	}
	
	function ajax2div(div_id,url,large_loader){
		if(large_loader==1){
			document.getElementById(div_id).innerHTML="<img src=engine/images/large_loader.gif>";
		} else if(large_loader==2){
			//do nothing
		} else {
			document.getElementById(div_id).innerHTML="<img src=engine/images/loading.gif>";
		}
		var ajax = new sack();
		ajax.requestFile = url;
		ajax.element = div_id;
		ajax.onLoading = twsack_whenLoading;
		ajax.onLoaded = twsack_whenLoaded; 
		ajax.onInteractive = twsack_whenInteractive;
		ajax.onCompletion = twsack_whenCompleted;
		ajax.runAJAX();
	}
	
	function ajaxform2div(div_id,form_id,url,large_loader) {
		var param = Form.serialize($(form_id));
		if(large_loader==1){
			document.getElementById(div_id).innerHTML="<img src=engine/images/large_loader.gif>";
		} else if(large_loader==2){
			//do nothing
		} else {
			document.getElementById(div_id).innerHTML="<img src=engine/images/loading.gif>";
		}
		var ajaxObj = new Ajax.Request(
			url,
			{
				method: 'post',
				parameters: param,
				onComplete: function(obj) {
					$(div_id).innerHTML = obj.responseText;
				}
			});
	}
	
	function new_direct_item_lookup(item_field_name,sku){
		document.getElementById('viewer_'+item_field_name).style.background="white no-repeat url('engine/images/loading.gif')";
		var url='/?class=bb_item_data&method=item_data_lookup&global[noincludes]=rawtext&global[sku_prelookup]='+sku;
		if($('global[fields][from_locationISbb_locationsID]')){
			url=url+'&global[fields][from_locationISbb_locationsID]='+$('global[fields][from_locationISbb_locationsID]').value;
		}
		if($('global[fields][from_business_unitISbb_business_unitsID]')){
			url=url+'&global[fields][from_business_unitISbb_business_unitsID]='+$('global[fields][from_business_unitISbb_business_unitsID]').value;
		}
		if($('global[fields][from_statusISbb_inventory_stock_statusID]')){
			url=url+'&global[fields][from_statusISbb_inventory_stock_statusID]='+$('global[fields][from_statusISbb_inventory_stock_statusID]').value;
		}
		var ajaxObj = new Ajax.Request(
					       url,
					       {
					       	       method: 'get',
					       	       onComplete: function(obj) {
					       	       	       if(obj.responseText.indexOf('|')!=-1){
					       	       	       	       var elements = obj.responseText.split('|');
					       	       	       	       document.getElementById('viewer_'+item_field_name).style.background="white";
					       	       	       	       document.getElementById(item_field_name).value=elements[0]*1;
					       	       	       	       if(elements[1]*1>0){
					       	       	       	       	       optfieldname=item_field_name.replace(/itemISbb_item_dataID/g,'option1ISbb_item_data_options1ID');
					       	       	       	       	       if(document.getElementById(optfieldname)){
					       	       	       	       	       	       document.getElementById(optfieldname).value=elements[1]*1;
					       	       	       	       	       }
					       	       	       	       	       if(document.getElementById("viewer_"+optfieldname)){
					       	       	       	       	       	       document.getElementById("viewer_"+optfieldname).value=elements[5]
					       	       	       	       	       }
					       	       	       	       }
					       	       	       	       if(elements[2]*1>0){
					       	       	       	       	       optfieldname=item_field_name.replace(/itemISbb_item_dataID/g,'option2ISbb_item_data_options2ID');
					       	       	       	       	       if(document.getElementById(optfieldname)){
					       	       	       	       	       	       document.getElementById(optfieldname).value=elements[2]*1;
					       	       	       	       	       }
					       	       	       	       	       if(document.getElementById("viewer_"+optfieldname)){
					       	       	       	       	       	       document.getElementById("viewer_"+optfieldname).value=elements[6]
					       	       	       	       	       }
					       	       	       	       }
					       	       	       	       if(elements[3]*1>0){
					       	       	       	       	       optfieldname=item_field_name.replace(/itemISbb_item_dataID/g,'option3ISbb_item_data_options3ID');
					       	       	       	       	       if(document.getElementById(optfieldname)){
					       	       	       	       	       	       document.getElementById(optfieldname).value=elements[3]*1;
					       	       	       	       	       }
					       	       	       	       	       if(document.getElementById("viewer_"+optfieldname)){
					       	       	       	       	       	       document.getElementById("viewer_"+optfieldname).value=elements[7]
					       	       	       	       	       }
					       	       	       	       }
					       	       	       	       document.getElementById('viewer_'+item_field_name).value=elements[4];
					       	       	       	       if(elements[8]>'' && elements[8]!='ignore'){
									       if(elements[8]*1>=0){
										       qtyfieldname=item_field_name.replace(/itemISbb_item_dataID/g,'qtyNUM');
										       if($(qtyfieldname)){
											       if(($(qtyfieldname).value*1)>(elements[8]*1)){
												       alert('The qty in the from_location is '+elements[8]+', so the qty for this row will be adjusted downward accordingly.');
												       $(qtyfieldname).value=(elements[8]*1);
											       }
										       }
									       }
					       	       	       	       }
					       	       	       	       if(document.getElementById('item_data_lookup_div_'+item_field_name)){
					       	       	       	       	       document.getElementById('item_data_lookup_div_'+item_field_name).style.display='none';
					       	       	       	       }
					       	       	       	       check_update_item_data_row(item_field_name);
					       	       	       	       return true;
					       	       	       }else{
					       	       	       	       document.getElementById('viewer_'+item_field_name).style.background="white";
					       	       	       	       return false;
					       	       	       }
					       	       }
					       });
	}
	
	function change_currency(id){
		var valz=document.getElementById(id+'_currency_select').value.split("|");
		document.getElementById(id+'_currency_symbol').innerHTML=valz[1];
		document.getElementById(id+'_currency_picker').style.visibility="hidden";
		document.getElementById(id+'_TYPE').value=valz[0];
		document.getElementById(id+'_spot_rate').value=valz[2];
		recalculate_single_currency(id);
	}
	function isInteger(s) {
		return (s.toString().search(/^-?[0-9]+$/) == 0);
	}
	function recalculate_single_currency(id){
		document.getElementById(id).value=Currency(document.getElementById(id).value);
		if (document.getElementById(id+'_forward_rate').value>0){
			document.getElementById(id+'_base').value=Currency(document.getElementById(id).value / document.getElementById(id+'_forward_rate').value);
		} else {
			document.getElementById(id+'_base').value=Currency(document.getElementById(id).value / document.getElementById(id+'_spot_rate').value);
		}
		if(document.getElementById('global[fields][tax_amountTAX]')){
			recalculate_form_items();
		}
	}
	function round_numeric_value(id, dec_places){
		if(id=='global[fields][document_sequence_rangeNUM]' && isInteger(document.getElementById(id).value/10) ){
			alert('A Document Sequence Range cannot end in a ZERO.');
			document.getElementById(id).value=0;
		}
		if(isNumeric(document.getElementById(id).value)){
			document.getElementById(id).value = Math.round( document.getElementById(id).value * Math.pow(10,dec_places) ) / Math.pow(10,dec_places) ;
		} else {
			alert('This is a numeric field. Please enter a number, decimal or zero.');
			document.getElementById(id).value=0;
		}
	}
	function toggle_tree_div(div_name,url){
		folder_icon_div=div_name.replace(/tree_contents_/g,'tree_folder_icon_');
		if(document.getElementById(div_name).innerHTML==''){
			ajax2div(div_name,url);
			document.getElementById(folder_icon_div).innerHTML='<img src=engine/images/folderopen.gif align=absmiddle>';
		} else {
			document.getElementById(div_name).innerHTML='';
			document.getElementById(folder_icon_div).innerHTML='<img src=engine/images/folder_plus.gif align=absmiddle>';
		}
	}
	function check_update_item_data_row(field_name){
		if (document.getElementById('viewer_'+field_name)){
			if (document.getElementById('viewer_'+field_name).getAttribute('bbitemrow')){
				update_row_item_data(document.getElementById('viewer_'+field_name).getAttribute('bbitemrow'));
			}
		}
	}
	function disableEnterKey(e){
		var key;
		if(window.event)
			key = window.event.keyCode;     //IE
		else
			key = e.which;     //firefox
		if(key == 13)
			return false;
		else
			return true;
	}
	function bb2_calc_indiv_discount(item_amount,discount){
		return(Currency(item_amount-(Currency(item_amount*(discount/100))*1))*1);
	}
	function fireEvent(element,event){
		if (document.createEvent) {
			// dispatch for firefox + others
			var evt = document.createEvent('HTMLEvents');
			evt.initEvent(event, true, true ); // event type,bubbling,cancelable
			return !element.dispatchEvent(evt);
		} else {
			// dispatch for IE
			var evt = document.createEventObject();
			return element.fireEvent('on' + event,evt);
		}
	}
//}

