// remote scripting library
// (c) copyright 2005 modernmethod, inc
// heavily modified by studiox, santa fe nm 9/2007
function rs_init_object() {	
	var A;
	try {
		A=new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
		try {
			A=new ActiveXObject("Microsoft.XMLHTTP");
		} catch (oc) {
			A=null;
		}
	}
	if(!A && typeof XMLHttpRequest != "undefined")
		A = new XMLHttpRequest();
	return A;
}

// wrapper for get_day
function x_get_data_results(params) {
	var i, x;
	var url = "http://a2zhomeopathy.com/cgi-bin/homeopathy/page.cgi?t=ajax" 

    if (params.replace == "cart") {
     	var url = "http://a2zhomeopathy.com/mycart/index.cgi?t=ajax";
    }

	for ( var par in params ) {
		if (par == 'replace') {
			continue; 
//		} else if (par == 'p') {
          continue;
       }
		url = url + "&" + par + "=" + escape( params[par] );
	}
	
	url = url.replace( /[+]/g, '%2B'); // fix the unescaped plus signs 
// alert("url="+url);

	x = rs_init_object();
	x.open("GET", url, true);
	x.onreadystatechange = function() {
	    if (x.readyState != 4) 
		return;
	    
	    var status;
	    var data;
	    status = x.responseText.charAt(0);
	    data = x.responseText.substring(0);  
        if (params.replace) {
		    document.getElementById(params.replace).innerHTML = data;
            var r = document.getElementById(params.replace);
        }
         if (params.increment >= '0') {
// this is the id of the element we're adding. this must be different from the rowcounter. Never decremented.
             var mi =  document.getElementById('idcounter');
             var m =  mi.value * 1;
                 r.id = "row"+params.ID;
                 r.style.display = 'block';
                 mi.value = m + 1;  //now increment for the next pass through.

// rowcounter is used to control the height of the margins and wrappers and gets decremented when removing a node.
             var i =  document.getElementById('rowcounter');
             var c =  i.value * 1;
                 i.value = c + 1;
             var newrow = document.createElement('div');
                  newrow.id='next';
                  newrow.style.display = 'none';
	         var cw = document.getElementById('currentwrapper'); 
                 cw.appendChild(newrow);
//                  cw.className = "bordered";
//                  cw.style.margin = "-"+margin+"px 0 0 0px";
if (m.value == "0") {
                 cw.appendChild(newrow);
} else {
                 cw.insertBefore(newrow,r);
}



         }
	}
	x.send(null);
    }


function load_data(form,replace,id,page) {
  var action =(form.action.value);
//  var event_id =(form.ID.value);
//  var replace = 'venues'
  params = new Object();

    for (var i = form.elements.length - 1; i >= 0; i--) {
//  alert (form.elements[i].name +"="+ form.elements[i].value);

        if (form.elements[i].value) {
            if (form.elements[i].name.match (/-/)    ) {
               continue;
            }
            var fname = form.elements[i].name;
            var x = form.elements[i].value;
// alert (fname+"="+x);
            if (fname) {
                 params[fname] = x;
//don't use the eval method. it breaks in ie.
//               eval('params.'+fname+ '= form.elements[i].value');

            } else {
              continue;
            }

        }
    }
if (id) {
  params.ID = id;
}

  params.action = action;
  params.replace = replace;
  params.ajax = '1';
  params.t = '';
if (page) {
  params.p = page;
} else {
  params.p = load_price;
}
  x_get_data_results(params);
}







function remove_row(id) {
	var r = document.getElementById(id);
//    alert ("should be removing this element"+ r);
    document.getElementById('currentwrapper').removeChild(r);
// have to decrement the counter for spacing reasons.
    var i =  document.getElementById('rowcounter');
         r.id = "row"+i.value;
    var c =  i.value * 1;
         i.value = c - 1;
}



function frequency_changed(value) {
  switch(value) {
    case 'Once':
      Element.hide('Last_Date');
      Element.hide('Frequency_Exception');
      break;

    case 'Daily':
      Element.show_row('Last_Date');
      Element.show_row('Frequency_Exception');
      break;

    case 'Weekly':
      Element.show_row('Last_Date');
      Element.hide('Frequency_Exception');
      break;
    case 'Monthly-Date':
      Element.show_row('Last_Date');
      Element.hide('Frequency_Exception');
      break;
    case 'Monthly-Day':
      Element.show_row('Last_Date');
      Element.hide('Frequency_Exception');
      break;

    case 'Yearly-Date':
      Element.show_row('Last_Date');
      Element.hide('Frequency_Exception');
      break;
    case 'Yearly-Day':
      Element.show_row('Last_Date');
      Element.hide('Frequency_Exception');
      break;
    default:
      return true;
  }
}

// From Prototype library
//
// Shortcut for accessing elements with $(id) instead of documet.getElementById(id)
function $() {
  var elements = new Array();
  
  for (var i = 0; i < arguments.length; i++) {
    var element = arguments[i];
    if (typeof element == 'string')
      element = document.getElementById(element);

    if (arguments.length == 1) 
      return element;
      
    elements.push(element);
  }
  
  return elements;
}

var Element = {

  toggle: function() {
    for (var i = 0; i < arguments.length; i++) {
      var element = $(arguments[i]);
      element.style.display = 
        (element.style.display == 'none' ? '' : 'none');
    }
  },

  hide: function() {
    for (var i = 0; i < arguments.length; i++) {
      var element = $(arguments[i]);
      element.style.display = 'none';
    }
  },

  show: function() {
    for (var i = 0; i < arguments.length; i++) {
      var element = $(arguments[i]);
      element.style.display = '';
    }
  },

  show_row: function() {
    for (var i = 0; i < arguments.length; i++) {
      var element = $(arguments[i]);
      try {
        element.style.display = 'table-row';
      } catch( expError ) {
        element.style.display = 'block';
      }
    }
  },

  remove: function(element) {
    element = $(element);
    element.parentNode.removeChild(element);
  }
}

