

var http_request = false;
var http_request_timeout;

//var regions1 = new Array ( "mtChoose Region","Choose Region 2");
//var r1ValAn = new Array ( "An1-1", "An1-2");
//var r1ValSe = new Array ( "Se1-1", "Se1-2");

//var regions2 = new Array ( "hvriChoose Region","Choose Region 2");
//var r2ValAn = new Array ( "An2-1", "An2-2");
//var r2ValSe = new Array ( "Se2-1", "Se2-2");

//var regions3 = new Array ( "hvriiChoose Region","Choose Region 2"); 
//var r3ValAn = new Array ( "An3-1", "An3-2");
//var r3ValSe = new Array ( "An3-1", "An3-2");
  
function get_region(op) {

    var elm = document.getElementsByName("seq_type");
    //alert("ELM" + elm.length);

    var seqType;
    for (var e=0; e<elm.length;e++) {
	if (elm[e].checked) {
	    seqType = elm[e].value;
	}
    }

    var num;
    for (var e=0; e<op.length;e++) {
	if (op[e].selected) {
	    num = op[e].value;
	}
    }

    if (document.getElementById("rcoding1").checked ) {
	switch (seqType) {

	case "mtDNA":
	    document.getElementById("sstring").value = document.getElementById("sstring").value + ' ' + r1ValAn[num];
	    break;
	case "hvri":
	    document.getElementById("sstring").value = document.getElementById("sstring").value + ' ' + r2ValAn[num];
	    break;
	case "hvrii":
	    document.getElementById("sstring").value = document.getElementById("sstring").value + ' ' + r3ValAn[num];
	    break;
	default:
	alert("NOT FOUND: " + seqType);
	}
    }
    else {
      	switch (seqType) {

	case "mtDNA":
	    document.getElementById("sstring").value = document.getElementById("sstring").value + ' ' + r1ValSe[num];
	    break;
	case "hvri":
	    document.getElementById("sstring").value = document.getElementById("sstring").value + ' ' + r2ValSe[num];
	    break;
	case "hvrii":
	    document.getElementById("sstring").value = document.getElementById("sstring").value + ' ' + r3ValSe[num];
	    break;
	default:
	    alert("NOT FOUND: " + seqType);
	} 
    }

}



function create_dropdown(re) {
   
    var select = document.getElementById("sregion");     
    
    //REMOVE ALL OPTIONS
    select.options.length = null; 

    // MOVE SINGLE OPTIONS 
    // for (var i=0; i<elm.length;i++) {
    //	alert("NAME: " + elm[i].tagName);
    //	elm[i] = null;
    // }

    var seldef = true;
    var tdef   = true;
    var regions ;

    switch (re) {
     case 1:
	regions = regions1;
	setAlignmentId(0);
	break;
    case 2:
	regions = regions2;
        setAlignmentId(1);
	break;
    case 3:
	regions = regions3;
	setAlignmentId(2);
	break;
    default:
	alert("NO REGION FOUND" + re);
    }

    for (var i=0;i<regions.length;i++) {
	select.options[i] = new Option(regions[i],i,seldef,tdef);
	seldef = false;
	tdef   = false;
    }
    
}

function makeRequest(url,cform) {

    var submitstr = formData2QueryString(cform);

    http_request = false;

    if (window.XMLHttpRequest) { 
	http_request = new XMLHttpRequest();
	if (http_request.overrideMimeType) {
	    http_request.overrideMimeType('text/xml');
	}
    } else if (window.ActiveXObject) { 
	try {
	    http_request = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
	    try {
		http_request = new ActiveXObject("Microsoft.XMLHTTP");
	    } catch (e) {}
	}
    }
    
    if (!http_request) {
	alert('Ende :( No XMLHTTP-Instance found');
	return false;
    }
    http_request.onreadystatechange = get_result;
    http_request.open('POST', url, true);
    http_request.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    http_request.send(submitstr);   
    http_request_timeout = window.setTimeout("abort_xhttp_request()", 20000); // 20 Sec
}



function get_result() {
    if (http_request.readyState == 4) {
	if (http_request.status == 200) {
	    document.getElementById("result").innerHTML = http_request.responseText;
	}
	else {
	    alert('XMLHtmlRequest failed : ' + http_request.status);
	}
    }
    window.clearTimeout(http_request_timeout);
}

function abort_xhttp_request() {
   http_request.abort();
   document.getElementById("result").innerHTML = "<b>XMLHtmlRequest-Timeout</b>";
}




// The var docForm should be a reference to a <form>
function formData2QueryString(docForm) {

    var strSubmitContent = '';
    var formElem;
    var strLastElemName = '';
	
    for (i = 0; i < docForm.elements.length; i++) {
		
	formElem = docForm.elements[i];
	switch (formElem.type) {
	    // Text fields, hidden form elements
	case 'text':
	case 'hidden':
	case 'password':
	case 'textarea':
	case 'select-one':
	    strSubmitContent += formElem.name + '=' + escape(formElem.value) + '&'
		break;
				
	    // Radio buttons
	case 'radio':
	    if (formElem.checked) {
		strSubmitContent += formElem.name + '=' + escape(formElem.value) + '&'
		    }
	    break;
	    
	    // Checkboxes
	case 'checkbox':
	    if (formElem.checked) {
		// Continuing multiple, same-name checkboxes
		if (formElem.name == strLastElemName) {
		    // Strip of end ampersand if there is one
		    if (strSubmitContent.lastIndexOf('&') == strSubmitContent.length-1) {
			strSubmitContent = strSubmitContent.substr(0, strSubmitContent.length - 1);
		    }
		    // Append value as comma-delimited string
		    strSubmitContent += ',' + escape(formElem.value);
		}
		else {
		    strSubmitContent += formElem.name + '=' + escape(formElem.value);
		}
		strSubmitContent += '&';
		strLastElemName = formElem.name;
	    }
	    break;
	    
	}
    }
    
    // Remove trailing separator
    strSubmitContent = strSubmitContent.substr(0, strSubmitContent.length - 1);
    //alert ("Parameter send:" + strSubmitContent);
    return strSubmitContent;
}

function setAlignmentId (id) {
    document.getElementById("alignment_id").value = alig_id[id];
}