// -------------------------------------------------------------------
// copySelectedOptions(select_object,select_object[,autosort(true/false)])
//  This function copies options between select boxes instead of 
//  moving items. Duplicates in the target list are not allowed.
// -------------------------------------------------------------------
var myorder_cookie = ' ';
function copySelectedOptions(from,to,pname) {
	myorder_cookie = getCookie('myorder');
	var noselectedOptions = true;
	var options = new Object();
	if (hasOptions(to)) {
		for (var i=0; i<to.options.length; i++) {
			options[to.options[i].value] = to.options[i].text;
			}
		}
	if (!hasOptions(from)) { return; }
	
	if(document.cookie)
	{
		for (var i=0; i<from.options.length; i++) {
		var o = from.options[i];
		if (o.selected) {
			if (options[o.value] == null || options[o.value] == "undefined") {
				if (!hasOptions(to)) { var index = 0; } else { var index=to.options.length; }
				if(hasAlreadyAdded(o.value,to))
				{
					var temp_text = pname+'-'+o.text;
					to.options[index] = new Option( temp_text, o.value, false, false);
					
					if(myorder_cookie == null)
						myorder_cookie = o.value+",";
					else	
						myorder_cookie += o.value+",";
				}
				else
					alert("Selected Option has already added to Cart contents");
				}
				else {
					alert("Selected Option has already added to Cart contents");
				}
				var noselectedOptions = false;
			}
			
		}
	}
	else if(!document.cookie)
	{
		var ieCookieStr = '';
		for (var i=0; i<from.options.length; i++) {
		var o = from.options[i];
		if (o.selected) {
			if (options[o.value] == null || options[o.value] == "undefined") {
				if (!hasOptions(to)) { var index = 0; } else { var index=to.options.length; }
				if(hasAlreadyAdded(o.value,to))
				{
					var temp_text = pname+'-'+o.text;
					to.options[index] = new Option( temp_text, o.value, false, false);
					
					if(myorder_cookie == null)
						myorder_cookie = o.value+",";
					else	
						myorder_cookie += o.value+",";
					ieCookieStr += o.value+",";
				}
				else
					alert("Selected Option has already added to Cart contents");
				}
				else {
					alert("Selected Option has already added to Cart contents");
				}
				var noselectedOptions = false;
			}
		}
		if(ieCookieStr != null && ieCookieStr !='')
		{
			//setInIE6(optionremedyid);
			//jsleep(1);
			setCookieInIE(ieCookieStr,'set');
		}
	}
	if(noselectedOptions === true)	
		alert("Please select atleast one Remedy product option.");
	if(myorder_cookie != '' && myorder_cookie != null && document.cookie)
	{
		var today = new Date();
		var expires = 30 * 1000 * 60 * 60 * 24;
		var expires_date = new Date( today.getTime() + (expires) );
		setCookie('myorder',myorder_cookie,expires_date);
	}
	
	if ((arguments.length<3) || (arguments[2]==true)) {
		sortSelect(to);
		}
	from.selectedIndex = -1;
	to.selectedIndex = -1;
	}
function hasAlreadyAdded(fromValue,to)
{	
	if(!hasOptions(to)) {
		for (var i=0; i<to.options.length; i++) {
			var o = to.options[i];
			if(o.value == fromValue)
				return false;
			else
				return true;
		}
	}
	else { 
		return true;
	}
}
// -------------------------------------------------------------------
// removeSelectedOptions(select_object)
//  Remove all selected options from a list
//  (Thanks to Gene Ninestein)
// -------------------------------------------------------------------
function removeSelectedOptions(from) { 
	var ordercookie = ''; var orderArray = new Array(); 
	var neworderArray = new Array();
	var cookiestr='';
	var noselectedOptions = true;
	if (!hasOptions(from)) { return; }
	if (from.type=="select-one") {
		from.options[from.selectedIndex] = null;
		}
	else {
	if(document.cookie)
	{
		ordercookie = getCookie('myorder');
		if(ordercookie != '' && ordercookie != null)
		{
			orderArray = ordercookie.split(',');
			//orderArray.splice(orderArray.indexOf(''), 1);
		}
		for (var i=(from.options.length-1); i>=0; i--) { 
			var o=from.options[i]; 
			if (o.selected) { 
				var oldorderlen = orderArray.length;
				var l = 0;
				for(var j=0;j<oldorderlen; j++)
				{
					if(from.options[i].value != orderArray[j])
					{
						neworderArray[l] = orderArray[j];
						l++;
					}
				}
				orderArray = neworderArray;
				
				from.options[i] = null; 
				noselectedOptions = false;
				} 
			}
		var updatecookie = '';	
		var newlen = neworderArray.length;
		if(newlen>0)
		{
			for(var k=0;k<newlen;k++)
			{
				if(neworderArray[k]!='' && neworderArray[k]!=null && neworderArray[k]!=' ')
				{
					updatecookie += neworderArray[k]+',';
				}
			}
			var today = new Date();
			var expires = 30 * 1000 * 60 * 60 * 24;
			var expires_date = new Date( today.getTime() + (expires) );
			setCookie('myorder',updatecookie,expires_date);
		}
		if(noselectedOptions === true)
			alert('Please select atleast one Remedy product option to remove.');
	}
		else if(!document.cookie)
		{
			var ieCookieStr = '';
			
			var j = 0;
			for (var i=(from.options.length-1); i>=0; i--) 
			{ 
				var o=from.options[i]; 
				if (o.selected) { 
					
					j++;
					ieCookieStr += from.options[i].value+',';
					from.options[i] = null; 
					noselectedOptions = false;
				} 
			}
			
			if(ieCookieStr != null && ieCookieStr !='')
			{
				setCookieInIE(ieCookieStr,'remove');
			}
			if(noselectedOptions === true)
				alert('Please select atleast one Remedy product option to remove.');
		}
	}
	from.selectedIndex = -1; 
	} 
// -------------------------------------------------------------------
// addOption(select_object,display_text,value,selected)
//  Add an option to a list
// -------------------------------------------------------------------
function addOption(obj,text,value,selected) {
	if (obj!=null && obj.options!=null) {
		obj.options[obj.options.length] = new Option(text, value, false, selected);
		}
	}
// -------------------------------------------------------------------
// sortSelect(select_object)
//   Pass this function a SELECT object and the options will be sorted
//   by their text (display) values
// -------------------------------------------------------------------
function sortSelect(obj) {
	var o = new Array();
	if (!hasOptions(obj)) { return; }
	for (var i=0; i<obj.options.length; i++) {
		o[o.length] = new Option( obj.options[i].text, obj.options[i].value, obj.options[i].defaultSelected, obj.options[i].selected) ;
		}
	if (o.length==0) { return; }
	o = o.sort( 
		function(a,b) { 
			if ((a.text+"") < (b.text+"")) { return -1; }
			if ((a.text+"") > (b.text+"")) { return 1; }
			return 0;
			} 
		);

	for (var i=0; i<o.length; i++) {
		obj.options[i] = new Option(o[i].text, o[i].value, o[i].defaultSelected, o[i].selected);
		}
	}
// -------------------------------------------------------------------
// hasOptions(obj)
//  Utility function to determine if a select object has an options array
// -------------------------------------------------------------------
function hasOptions(obj) {
	if (obj!=null && obj.options!=null) { return true; }
	return false;
}

// ajax request function to set cookie in IE6
function setCookieInIE(myorder,action)
{
	//alert(myorder);alert(action);
	var url = "http://www.rxhomeo.com/beta/setcookieforie6.php?action="+action+"&myorder="+myorder;
	xmlhttp=null;
	if (window.XMLHttpRequest)
	  {// code for Firefox, Opera, IE7, etc.
		  xmlhttp=new XMLHttpRequest();
	  }
	else if (window.ActiveXObject)
	  {// code for IE6, IE5
		  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
		  
	  }
	if (xmlhttp!=null)
	  {
		  xmlhttp.onreadystatechange=state_Change;
		  xmlhttp.open("GET",url,true);
		  xmlhttp.send(null);
	  }
	else
	  {
		  alert("Your browser does not support XMLHTTP.");
	  }
}

function state_Change()
{
if (xmlhttp.readyState==4)
  {// 4 = "loaded"
  if (xmlhttp.status==200)
    {// 200 = "OK"
    //document.getElementById('T1').innerHTML=xmlhttp.responseText;
	var responsetext = xmlhttp.responseText;
	
    }
  else
    {
    alert("Problem retrieving data:" + xmlhttp.statusText);
    }
  }
}