﻿var DisplayDataIsWorking = false;
var gxobj = getHTTPObject(); // We create the HTTP Object
var g_cu = 'english'; // Global current unit
var g_srt = {
	s_type: '',
	s_direction: '',
	s_class: '',
	clearvals: function()
	{
		this.s_type=this.s_class=this.s_direction='';
		//alert(
	}
}

// var en_l_units = new Array(' click to select ','42-48','36-39','29-35','23-28','20-23','18-21','17-20','16-19','14-17','13-16','11-14','10-13','9-12','8-11','5-8','4-7','3-6','2-5','1-4','1-3');
var en_l_units = new Array(' click to select ','40-48','34-39','32-33','28-31','26-27','22-25','20-21','17-19','14-16','11-13','8-10','5-7','3-4','1-2');
//var mt_l_units = new Array(' click to select ','100-121','94-99','80-93','70-79','58-69','48-57','39-48','29-38','19-28','10-18','4-9','1-3');
var mt_l_units = new Array(' click to select ','102-122','81-101','67-80','56-66','50-55','45-49','40-44','35-39','28-34','20-27','16-19','11-15','9-10','6-8','1-5');

function ch_units (cur_unit) {
	//alert(cur_unit);
	g_cu=cur_unit;
	cs_emptyList(document.getElementById('partlength'));
	var cur_array = (cur_unit=='english'?en_l_units:mt_l_units);
	var unit_label = (cur_unit=='english'?' in':' cm');
	for (var i=0; i<cur_array.length; i++) {
		//alert(i+' '+cur_array[i]);
		if(i==0){
			appendOptionLast(cur_array[i], '', document.getElementById('partlength'));
		}
		else {
			appendOptionLast(cur_array[i]+unit_label, cur_array[i], document.getElementById('partlength'));
		}
	}
	//alert(document.getElementById('partlength').length);
	//alert(document.getElementById('partwidth').length);
	set_select_visibility('partwidth','hidden');
	set_select_visibility('partdepth','hidden');
	//if(document.getElementById('partdepth')) {cs_emptyList(document.getElementById('partdepth')) };
	document.getElementById('cresp').innerHTML='';
	document.getElementById('infohelp').innerHTML='';
}
function set_select_visibility(eid,vis){
	if(document.getElementById(eid)) {
		cs_emptyList(document.getElementById(eid));
		document.getElementById(eid+'label').style.visibility=vis;
		document.getElementById(eid).style.visibility=vis;
	}
}
function appendOptionLast(otxt, oval, list)
{
  var elOptNew = document.createElement('option');
  //elOptNew.text = 'Append' + num;
  elOptNew.text = otxt;
  //elOptNew.value = 'append' + num;
  elOptNew.value = oval;
  //var elSel = document.getElementById('selectX');

  try {
    list.add(elOptNew, null); // standards compliant; doesn't work in IE
  }
  catch(ex) {
    list.add(elOptNew); // IE only
  }
}

function cs_emptyList(list) { for (var i=list.options.length-1; i>=0; i--) { list.options[i]=null; } }

function do_sort(sort_type, sort_direction, sort_class) {
	g_srt.s_type = sort_type;
	g_srt.s_direction = sort_direction;
	g_srt.s_class = sort_class;
	
	//var postvars = format_postvars();
	//alert(postvars);
	if(g_srt.s_class == 'l'){
		do_length();
	}
	if(g_srt.s_class == 'lw'){
		do_width();
	}
	if(g_srt.s_class == 'lwh'){
		do_depth();
	}
}
function do_length () {
	set_select_visibility('partwidth','hidden');
	set_select_visibility('partdepth','hidden');

	if(gxobj && !DisplayDataIsWorking) {
		//gxobj.open("post", "aj_proc_link.pl");
		gxobj.open("post", "test.pl?qtype=len");
		gxobj.onreadystatechange = handle_do_length_response;
		var postvars = format_postvars();
		gxobj.send( postvars );
		DisplayDataIsWorking = true;
	}
}
function do_width () {
	set_select_visibility('partdepth','hidden');
	if(document.ccalculate.partwidth.value){
		//alert('got here '+document.ccalculate.partwidth.value);
		if(gxobj && !DisplayDataIsWorking) {
			//gxobj.open("post", "aj_proc_link.pl");
			gxobj.open("post", "test.pl?qtype=wid");
			gxobj.onreadystatechange = handle_do_width_response;
			var postvars = format_postvars();
			gxobj.send( postvars );
			DisplayDataIsWorking = true;
		}
	}
	else{ do_length() };
}
function do_depth () {
	if(gxobj && !DisplayDataIsWorking) {
		//gxobj.open("post", "aj_proc_link.pl");
		gxobj.open("post", "test.pl?qtype=dep");
		gxobj.onreadystatechange = handle_do_depth_response;
		var postvars = format_postvars();
		gxobj.send( postvars );
		DisplayDataIsWorking = true;
	}
}
function format_postvars() {
	var pvar='csunits=' + document.ccalculate.cs_units.value;
	if(document.ccalculate.partlength) {
		pvar += '&cslength=' + document.ccalculate.partlength.value;
		}
	if(document.ccalculate.partwidth) {
		pvar += '&cswidth=' + document.ccalculate.partwidth.value;
		}
	if(document.ccalculate.partdepth) {
		pvar += '&csdepth=' + document.ccalculate.partdepth.value;
		}
	if(g_srt.s_type) {
		pvar += '&s_type=' + g_srt.s_type;
		}
	if(g_srt.s_direction) {
		pvar += '&s_direction=' + g_srt.s_direction;
		}
	if(g_srt.s_class) {
		pvar += '&s_class=' + g_srt.s_class;
		}
//	if(document.ccalculate.checkurl2) {
//		pvar += '&checkurl2=' + document.ccalculate.checkurl2.value;
//		}
	
	return pvar;
	}
function getHTTPObject() {
  var xmlhttp;
  /*@cc_on
  @if (@_jscript_version >= 5)
    try {
      xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (E) {
        xmlhttp = false;
      }
    }
  @else
  xmlhttp = false;
  @end @*/
  if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
    try {
      xmlhttp = new XMLHttpRequest();
    } catch (e) {
      xmlhttp = false;
    }
  }
  return xmlhttp;
}

function handle_do_depth_response() {
	if (gxobj.readyState < 4) {
		document.getElementById('infohelp').innerHTML='<span style="color:red"><blink>working (' + gxobj.readyState + ')</blink></span>';
		//document.getElementById('urldata').style.visibility="visible";
	}
	if (gxobj.readyState == 4) {
		//alert(gxobj.responseText);
		document.getElementById('infohelp').innerHTML='&nbsp;';
		var splitstr = '-|-';
		var results = gxobj.responseText.split(splitstr);
		//alert(results[3]);
//		if(results[1] != "") {
//			// set up the depth select
//			set_select_visibility('partdepth','visible');
//			provision_select_box(results[1],'partdepth');
//		}
		if(results[2] != "") {
			document.getElementById('cresp').innerHTML=results[2]
		}
		if(results[3] != "") {
			document.getElementById('infohelp').innerHTML=results[3];
			document.getElementById('infohelp').style.visibility="visible";
		}
		g_srt.clearvals();
		DisplayDataIsWorking = false;
	}
}
function handle_do_width_response() {
	if (gxobj.readyState < 4) {
		document.getElementById('infohelp').innerHTML='<span style="color:red"><blink>working (' + gxobj.readyState + ')</blink></span>';
		//document.getElementById('urldata').style.visibility="visible";
	}
	if (gxobj.readyState == 4) {
		//alert(gxobj.responseText);
		document.getElementById('infohelp').innerHTML='&nbsp;';
		var splitstr = '-|-';
		var results = gxobj.responseText.split(splitstr);
		//alert(results[3]);
		if(results[0] != "" && results[1] != "") {
			//alert(results[0]+' :: '+results[1]);
			// set up the depth select
			set_select_visibility('partdepth','visible');
			provision_select_box(results[1],'partdepth');
		}
		if(results[2] != "") {
			document.getElementById('cresp').innerHTML=results[2]
		}
		if(results[3] != "") {
			document.getElementById('infohelp').innerHTML=results[3];
			document.getElementById('infohelp').style.visibility="visible";
		}
		g_srt.clearvals();
		DisplayDataIsWorking = false;
	}
}
function handle_do_length_response() {
	if (gxobj.readyState < 4) {
		document.getElementById('infohelp').innerHTML='<span style="color:red"><blink>working (' + gxobj.readyState + ')</blink></span>';
		//document.getElementById('urldata').style.visibility="visible";
	}
	if (gxobj.readyState == 4) {
		document.getElementById('infohelp').innerHTML='&nbsp;';
		var splitstr = '-|-';
		var results = gxobj.responseText.split(splitstr);
		//alert('in l resp: '+DisplayDataIsWorking);
		if(results[0] != "") {
			// set up the width select
			set_select_visibility('partwidth','visible');
			
			
			if(results[0].match(/\,/g)){
				//alert('multiple results:'+results[0].match(/\,/g).length);
				provision_select_box(results[0],'partwidth');
			}
			else{
				// Single result for width
				provision_select_box(results[0],'partwidth');
				set_select_visibility('partdepth','visible');
				provision_select_box(results[1],'partdepth');
			}
		}
		if(results[2] != "") {
			document.getElementById('cresp').innerHTML=results[2]
		}
		if(results[3] != "") {
			document.getElementById('infohelp').innerHTML=results[3];
			document.getElementById('infohelp').style.visibility="visible";
		}
		g_srt.clearvals();
		DisplayDataIsWorking = false;
		//alert('in l resp 2: '+DisplayDataIsWorking);
	}
}
function provision_select_box(dims,sid) {
	//alert('got here: '+sid);
	var unit_label = (g_cu=='english'?' in':' cm');
	var catxt = dims.split(',').length==1?dims:' click to select ,'+dims;
	var caary = catxt.split(',');
	if(caary.length>1){
		for (var i=0; i<caary.length; i++) {
			if(i==0){
				appendOptionLast(caary[i], '', document.getElementById(sid));
			}
			else {
				// set appropriate label & value
				var ltxt='';
				if(caary[i]<=0) ltxt='less than 1'+unit_label;
				else ltxt='up to '+caary[i]+unit_label;
					appendOptionLast(ltxt, caary[i], document.getElementById(sid));
				}
			}
		}
		else {
			var ltxt='';
			if(caary[0]<=0) ltxt='less than 1'+unit_label;
			else ltxt='up to '+caary[0]+unit_label;
				appendOptionLast(ltxt, caary[0], document.getElementById(sid));
			}
}