/**
* Returns the value of the selected radio button in the radio group, null if
* none are selected, and false if the button group doesn't exist
*
* @param {radio Object} or {radio id} el
* OR
* @param {form Object} or {form id} el
* @param {radio group name} radioGroup

//You can pass it either a form (object or id) and a radio group name, or a radio button (object or id).

 
var value = $RF('radio_btn_id');
var value = $RF('form_id', 'radio_grp_name');

*/

function update_timesheet_manual(serialized, row_id, subscriber_id){

	var url = domain+'inc/ajax.php';
	var param_str = 'request_type=update_timesheet_manual&'+serialized;

		var myAjax = new Ajax.Request(
			url, 
			{
				method: 'get', 
				parameters:param_str,
				onSuccess: function(response) {
				 var result = response.responseText;
					//split the result fb-old_id-new_id
					result_arr = result.split('-');
					var fb = result_arr[0];
					var new_timesheet_id = result_arr[1];
					
				 if(fb == '02'){
				   alert('Error. There was a problem with the request.');
				  }else if(fb == '11'){
					  alert('Error. There was a problem with the request. No data received.');
				  } else {
					 //update the timesheet_id
					 $('timesheetid_'+subscriber_id).value = new_timesheet_id;
					 //signal the save
					 new Effect.Highlight(row_id, { startcolor: '#84BF48', endcolor: '#ffffff' });
				  }
				},
				onFailure: reportError
			});
}
function update_timesheet(action, num, subscriber_id){

	var url = domain+'inc/ajax.php';
	var param_str = 'request_type=update_timesheet&action='+action+'&num='+num+'&subscriber_id='+subscriber_id;
	
		var myAjax = new Ajax.Request(
			url, 
			{
				method: 'get', 
				parameters:param_str,
				onSuccess: function(response) {
				 var result = response.responseText;

				 if(result == '17'){
					  alert('A record already exists! Request not processed.');
				  }else if(result == '6'){
					   alert('No record exists! Request not processed.');
				  }else if(result == '2'){
					   alert('Error. There was a problem with the request.');
				  }else{
				 	 $(action+'_'+num+'_'+subscriber_id).update(result);
				  }
				},
				onFailure: reportError
			});
}

function delete_work_requisition(work_requisition_id, row_id){
var url = domain+'inc/ajax.php?request_type=delete_work_requisition&work_requisition_id='+work_requisition_id;

			new Ajax.Request(url, {
			  method: 'get',
			  onSuccess: function(response) {
				  var result = response.responseText;
				  	if(result == 1){
						$(row_id).remove();
					}else{
						alert('An issue occurred removing that record.');
					}
					
				}
			});		
}
function set_y_coord(form_id){
	/*
	place in submit button
	 onclick="set_y_coord('form_id');"
	*/
	var page_y = document.viewport.getScrollOffsets()[1];
	var attrs = {
                'name' : 'y_scroll',
				'type'   : 'hidden',
                'value' : page_y
            };
 
            var new_input = new Element('input', attrs);
 
            $(form_id).insert(new_input);

	return;
	//window.scrollTo(0,new_y);
}

function $RF(el, radioGroup) {
	
    if($(el).type && $(el).type.toLowerCase() == 'radio') {
        var radioGroup = $(el).name;
        var el = $(el).form;
    } else if ($(el).tagName.toLowerCase() != 'form') {
        return false;
    }
 
    var checked = $(el).getInputs('radio', radioGroup).find(
        function(re) {return re.checked;}
    );
    return (checked) ? $F(checked) : null;
}

function CheckAll()
{
var count = document.frm_rollback.elements.length;

    for (i=0; i < count; i++) 
	{
    if(document.frm_rollback.elements[i].checked == 1)
    	{document.frm_rollback.elements[i].checked = 0; }
    else {document.frm_rollback.elements[i].checked = 1;}
	}
}
function UncheckAll(){
count = document.frm_rollback.elements.length;
    for (i=0; i < count; i++) 
	{
    if(document.frm_rollback.elements[i].checked == 1)
    	{document.frm_rollback.elements[i].checked = 0; }
    else {document.frm_rollback.elements[i].checked = 1;}
	}
}

function select_all(field, value){

if(value==true){
	for (var i=0;i<field.options.length;i++) {
		field.options[i].selected = true;
	}
}else{
	for (var i=0;i<field.options.length;i++) {
		field.options[i].selected = false;
	}	
}
}
function open_win(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function close_win() { //v2.0
  window.close(this);
}

function IsNumeric(strString)
   //  check for valid numeric strings	
   {
   var strValidChars = "0123456789.-";
   var strChar;
   var blnResult = true;

   if (strString.length == 0) return false;

   //  test strString consists of valid characters listed above
   for (i = 0; i < strString.length && blnResult == true; i++)
      {
      strChar = strString.charAt(i);
      if (strValidChars.indexOf(strChar) == -1)
         {
         blnResult = false;
         }
      }
   return blnResult;
   }


function show_link(show_id){
var f = $$('div#sections .panel');
	for(var i=0; i<f.length; i++){
		$(f[i].id).hide();
	}
	$(show_id).appear();
}
function hide_links(){
var f = $$('div#sections .panel');
for(var i=0; i<f.length; i++){
	$(f[i].id).hide();
}
}
function show_content(class_name, show_id){
var f = $$('.'+class_name);
	for(var i=0; i<f.length; i++){
		$(f[i].id).hide();
	}

	$(show_id).appear();

}
//used to insert custom streings into email templates
function insert_custom_string(instanceName, insert_str){
  // Get the editor instance that we want to interact with.
    var oEditor = FCKeditorAPI.GetInstance( instanceName ) ;

    oEditor.InsertHtml(insert_str) ;
}

function update_tabs(show_id){
var f = $$('div#sub-tabs a');
	for(var i=0; i<f.length; i++){
		$(f[i].id).removeClassName('active');
	}
	$(show_id).addClassName('active');
}
function disable_tabs(show_id){
var f = $$('div#sub-tabs a');
	for(var i=0; i<f.length; i++){
		$(f[i].id).hide();
	}
	$(show_id).appear();
}

function get_widget_parameters(module_widget, param_str){
	
	if (typeof param_str == 'undefined' ) param_str = '';
	
	if(module_widget != ''){
//div id = widget_parameters
var url = '../modules/'+module_widget+'/'+module_widget+'_param.php';
		
		var pars = param_str;
		
		var myAjax = new Ajax.Updater(
			'widget_parameters', 
			url, 
			{
				method: 'get', 
				parameters: pars,
				onFailure: reportError
			});
	}else{
		$('widget_parameters').update('');
	}
}

function update_content(update_id, param_str){

	var url = domain+'inc/ajax.php';

		var myAjax = new Ajax.Updater(
			update_id, 
			url, 
			{
				method: 'get', 
				parameters:param_str,
				onFailure: reportError
			});
}	
function reportError()
	{
		alert('AJAX data request failed.');
	}


function write_unit_of_measure(stock_id, update_id, div_id){
var pars = 'stock_id='+stock_id+'&div_id='+div_id+'&request_type=write_uom';
	var url = domain+'inc/ajax.php';
		
		var myAjax = new Ajax.Updater(
			update_id, 
			url, 
			{
				method: 'get', 
				parameters: pars,
				onFailure: reportError
			});
}

function add_order_row(){
		
		var last_row_num = parseFloat($F('last_row_num'));
		 if(last_row_num != 0){
				//get the selection from the last row
				var last_stock_id_selected = $F('stock_id-'+last_row_num);//used to select the next one in the list for the next item added
		 }else{
			var last_stock_id_selected = 0; 
		 }
	var next_row = (last_row_num+1);
	$('last_row_num').value=last_row_num+1;

	var pars = 'row_num='+next_row+'&request_type=write_order_row&last_selected='+last_stock_id_selected;
	
	var url = domain+'inc/ajax.php';
		
		var myAjax = new Ajax.Request(
			url, 
			{
				method: 'get', 
				parameters: pars, 
				onComplete: write_new_row
			});
}

function write_new_row(html){
	 new Insertion.Bottom('order_row_list', html.responseText);
}

function remove_order_row(row_num){
		$(row_num).remove();
}

function add_requisition_row(stock_type){
	
	var last_row_num = parseFloat($F('last_row_num'));

	 if(last_row_num != 0){
			var last_stock_id_selected = $F('stock_id-'+last_row_num);
		 }else{
			var last_stock_id_selected = 0; 
		 }

		 
	var next_row = (last_row_num+1);
	$('last_row_num').value=last_row_num+1;

	var pars = 'row_num='+next_row+'&request_type=write_requisition_row&last_selected='+last_stock_id_selected+'&stock_type='+stock_type;
	
	var url = domain+'inc/ajax.php';
		
		var myAjax = new Ajax.Request(
			url, 
			{
				method: 'get', 
				parameters: pars, 
				onComplete: write_new_row
			});
}
function write_stock_move_list(type_id, update_id, stock_type, name_starts_with){

	//split the id to get type and id
	var id_array = type_id.split("_");
	var id = id_array[1];
	var type = id_array[0];
	
	var pars = 'id='+id+'&type='+type+'&stock_type='+stock_type+'&name_starts_with='+name_starts_with+'&request_type=write_stock_move_list';

	var url = domain+'inc/ajax.php';
		
		var myAjax = new Ajax.Updater(
			update_id, 
			url, 
			{
				method: 'get', 
				parameters: pars,
				onFailure: reportError
			});
}
function get_default_roll_length(event_ticket_id){
	var url = domain+'inc/ajax.php';
	var pars = 'event_ticket_id='+event_ticket_id+'&request_type=get_ticket_default_roll_length';
		
		var myAjax = new Ajax.Request(
			url, 
			{
				method: 'get', 
				parameters: pars, 
				onComplete: update_roll_length
			});

}	
function update_roll_length(request){
	$('roll_length').value = request.responseText;
}

function resetSelect(sel) {
var obj = $(sel);

	for (var loop=0; loop < obj.options.length; loop++) {
		obj.options[loop].selected = false;
	}
}
