var http = getHTTPObject(); 
var httpNews = getHTTPObject(); 

// CREATE HTTP OBJECT
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 getHeadline(page) {
	
	if (page != 'home') {return false;}
	
	var url = "../scripts/content.php";
	var sndvariables;
	httpNews.open("POST", url);
	httpNews.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	sndvariables = "&table=headline";
	httpNews.send(sndvariables);
	httpNews.onreadystatechange = HTTPgetNews;
}

function HTTPgetNews() {
	
  	if ((httpNews.readyState == 4) && (httpNews.status == 200)) {

	results = httpNews.responseText.split("|");
				
			if (results[0] == 'headline') {
			
				//getID('bulletCont').style.visibility = 'visible';
				getID('boxBtext_a').innerHTML = results[1];
				
			}
			
			if (results[0] == 'test') { alert(results[1]); }
	}
}



function getContent(table,id) {	
	var url = "../scripts/content.php";
	var sndvariables;
	http.open("POST", url);
	http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	sndvariables = "&table="+table;
	sndvariables += "&id="+id;
	http.send(sndvariables);
	http.onreadystatechange = HTTPgetContent;
}


function HTTPgetContent() {
	
  	if ((http.readyState == 4) && (http.status == 200)) {

	results = http.responseText.split("|");
	
			if (results[0] == 'okay') {
				
				getID('titleTXT').innerHTML = results[1];
				getID('mainTXT').innerHTML = results[2];
								
				if (results[3] != '') {
				getID('mainContent').style.width = "450px";
				getID('mainTXT').style.width = "95%";
				getID('mediaContent').style.visibility = 'visible';
				getID('mediaTXT').innerHTML = results[3];
				}
				else
				{
				getID('mainContent').style.width = "672px";
				getID('mainTXT').style.width = "97%";
				getID('mediaContent').style.visibility = 'hidden';	
				}
				
				if (results[4]) {
					
					changeTitle(results[4]);
					
				}
			}
			
			if (results[0] == 'headline') {
			
				getID('bulletCont').style.visibility = 'visible';
				getID('bulletText').innerHTML = results[1];
				
			}
			
			if (results[0] == 'test') { alert(results[1]); }
	}
}


function launchImageViewer(file) {
	
	openWindow("../flash/image_viewer.php?file="+file,'image_viewer',630,630);
	
}

// -----------------------------> NEW QUOTE FORM

function parseNewQuoteForm() {
	
		var errors=0;
		var form = document.F1;
		var req_input = new Array('company','contact_name','contact_address','contact_phone','contact_email','protocol_num');
		var req_input2 = new Array('referral');
		for (i in req_input) {
				
				if (document.F1[req_input[i]].value == '') {
						errors++;
						document.F1[req_input[i]].style.backgroundColor = '#FFFFCC';
				}
				else {
					document.F1[req_input[i]].style.backgroundColor = '#FFFFFF';
				}
		}
		
		for (i in req_input2) {
				
				if (document.F1[req_input2[i]].value == "Please Select One") { 
						errors++;
						document.F1[req_input2[i]].style.backgroundColor = '#FFFFCC';
				}
				else {
					document.F1[req_input2[i]].style.backgroundColor = '#FFFFFF';
				}
		}
		
		if (errors>0) { alert("Please include highlighted fields"); return false; }
		
		var arrays = new Array('nae_dna[]','nae_rna[]','geno[]','kits[]');
		var arrays2 = new Array('nae_dna_subjects[]','nae_rna_subjects[]','geno_alleles[]','kits_num[]');
		var arrays3 = new Array('NAE_DNA','NAE_RNA','GENO','KITS');
		var NAE_DNA = new Object();
		var NAE_RNA = new Object();
		var GENO = new Object();
		var KITS = new Object();
		var objects = new Array(NAE_DNA,NAE_RNA,GENO,KITS);
				
		for (i in arrays) {
			
				var field = form.elements[arrays[i]];
				var field2 = form.elements[arrays2[i]];
				
				for (j=0;j<field.length;j++) {
						
						if (field[j].checked == true) {
														
							objects[i][field[j].value] = (field2[j].value != '')?field2[j].value:0;
											 
						}
						
				}
			
			
		}

		
		
		for (i in arrays3) {
			
			var formValue = getObjectString(objects[i]);
			document.F1[arrays3[i]].value = formValue;	
			
		}

		document.F1.method = 'POST';
		document.F1.action = '../scripts/submitquote.php';
		document.F1.submit();
				
}

function getObjectString(obj) {
		
		var text = new Array();
		for (var k in obj) {var t = k+"="+obj[k]; text.push(t);}
		text = text.join(',');
		return text;
	
}


// -----------------------------> NEW QUOTE FORM

function parseTxQuoteForm() {
	
		var errors=0;
		var form = document.F1;
		var req_input = new Array('company','contact_name','contact_address','contact_phone','contact_email','protocol_num');
		var req_input2 = new Array('referral');
		var req_input3 = new Array('DNAsamples','RNAsamples');
		var req_input4 = new Array('DNAspecies','RNAspecies');
		var req_input5 = new Array('DNAchips','RNAchips');
		for (i in req_input) {
				
				if (document.F1[req_input[i]].value == '') {
						errors++;
						document.F1[req_input[i]].style.backgroundColor = '#FFFFCC';
				}
				else {
					document.F1[req_input[i]].style.backgroundColor = '#FFFFFF';
				}
		}
		
		for (i in req_input2) {
				
				if (document.F1[req_input2[i]].value == "Please Select One") { 
						errors++;
						document.F1[req_input2[i]].style.backgroundColor = '#FFFFCC';
				}
				else {
					document.F1[req_input2[i]].style.backgroundColor = '#FFFFFF';
				}
		}
		
		for (i in req_input3) {
				
				if (document.F1[req_input3[i]].value != "") {
						
						if (document.F1[req_input4[i]].value == "Select") { errors++; document.F1[req_input4[i]].style.backgroundColor = '#FFFFCC';}
						if (document.F1[req_input5[i]].value == "Select" || !document.F1[req_input5[i]].value) { 
							errors++; 
							document.F1[req_input5[i]].style.backgroundColor = '#FFFFCC';
						}
						
				}
				
				else 
				{
					document.F1[req_input4[i]].style.backgroundColor = '#FFFFFF'; document.F1[req_input5[i]].style.backgroundColor = '#FFFFFF';
				}
		}
		
		if (errors>0) { alert("Please include highlighted fields"); return false; }

		var NAE_DNA = new Object();
		var NAE_RNA = new Object();
		var KITS = new Object();
		var GENO = new Object();
		var GE = new Object();

		var arraysA = new Array('nae_dna[]','nae_rna[]','kits[]'); // form elements w/ checkboxes
		var arraysB = new Array('geno[]','ge[]'); // form elements w/o checkboxes
		var arrays2A = new Array('nae_dna_samples[]','nae_rna_samples[]','kits_num[]');
		var arrays2B = new Array('geno_alleles[]','ge_alleles[]');
		var arrays3A = new Array('NAE_DNA','NAE_RNA','KITS');
		var arrays3B = new Array('GENO','GE');
		var objectsA = new Array(NAE_DNA,NAE_RNA,KITS);
		var objectsB = new Array(GENO,GE);
		
		// loop thru each form field with companion text box
		for (i in arraysA) {
				
				// field 1 [   ]  field 2 [   ]
				var field = form.elements[arraysA[i]];
				var field2 = form.elements[arrays2A[i]];
				
				for (j=0;j<field.length;j++) {
											
						if (field[j].checked == true) {
							
							// populate new object with field -> value
							objectsA[i][field[j].value] = (field2[j].value != '')?field2[j].value:0;
											 
						}
						
				}
			
			
		}
		
		for (i in arraysB) {
				
				// field 1 [   ]  field 2 [   ]
				var field = form.elements[arraysB[i]];
				var field2 = form.elements[arrays2B[i]];
				
				for (j=0;j<field.length;j++) {
											
						if (field[j].value != '') {
							
							// populate new object with field -> value
							objectsB[i][field[j].value] = (field2[j].value != '')?field2[j].value:0;
											 
						}
						
				}
			
			
		}

		
		
		for (i in arrays3A) {
			
			// set values in hidden form fields
			var formValue = getObjectString(objectsA[i]);
			document.F1[arrays3A[i]].value = formValue;	
			
		}
		
		for (i in arrays3B) {
			
			// set values in hidden form fields
			var formValue = getObjectString(objectsB[i]);
			document.F1[arrays3B[i]].value = formValue;	
			
		}

		document.F1.method = 'POST';
		document.F1.action = '../scripts/submittxquote.php';
		document.F1.submit();
				
}

function getObjectString(obj) {
		
		var text = new Array();
		for (var k in obj) {var t = k+"="+obj[k]; text.push(t);}
		text = text.join(',');
		return text;
	
}



// -----------------------------> QUOTE FORM

function parseQuoteForm() {	

	getID('response').style.visibility = 'visible';
	getID('response').innerHTML = "<img src='../images/processing.gif' width='200px' height='20px' /><br/><br/> Please be patient while we process your request.  <br/><br/> This could take a few moments.";
	var url = "../scripts/quote.php";
	var sndvariables;
	http.open("POST", url);
	http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	sndvariables = getQuoteString();
	http.send(sndvariables);
	http.onreadystatechange = HTTPgetQuote;
}

function HTTPgetQuote() {
	
  	if ((http.readyState == 4) && (http.status == 200)) {

			getQuoteString('clear');
			getID('response').style.visibility = 'hidden';

			results = http.responseText.split("|");
	
			if (results[0] == 'error') {
				errors = results[1].split(",");
				getID('response').style.visibility = 'visible';
				getID('response').style.color = '#990000';
				getID('response').innerHTML = "We need some important information from you before sending this quote request.  <br/><br/> Please complete all required fields that are <span class='highlight'>highlighed.</span>  <br/><br/> Thank You.";
				for(i=0;i<errors.length;i++) {
				  	if (errors[i] == 'cb_services') {
					getID("cb_services_error").style.backgroundColor = "#FFFFCC";
					continue;
					}
				  	if (errors[i] == 'cb_sample') {
					getID("cb_sample_error").style.backgroundColor = "#FFFFCC";
					continue;
					}
				document.F1[errors[i]].style.backgroundColor = "#FFFFCC";
				}	
			}

			if (results[0] == 'okay') {
			clearFields('quote');
			getID('response').style.visibility = 'visible';
			getID('response').style.color = '#049A82';
			getID('response').innerHTML = "Thank you. <br/><br/> Your request has been received and a Gentris representative will contact you soon. <br/><br/> A copy of your on-line request is now being e-mailed to: <br/><br/> "+results[1];	
			}
			
			if (results[0] == 'test') {
			alert(results[1]);
		}

	}
}

function getQuoteString(action) {

    var queryString = new Array();
    var frm = document.F1;
	
	var input_text = new Array('company','contact_name','contact_address','contact_phone','contact_email','accounts_contact','accounts_po','protocol_num','protocol_title','study_start','study_end','num_cb_services1','num_cb_services2','num_cb_services3','num_cb_services4','num_cb_services5','other_genes_text','alleles','interim_frequency_text','ship_provider','ship_account','cb_supplies_text','kits_domestic','kits_intl','misc');

	var input_check = new Array('cb_services','cb_genes','cb_sample','cb_supplies','cb_extraction');
	var input_radio = new Array('lab_report','interim_report','final_format','draft_required','interim_frequency','SSF','return_kits','turnaround');

	if (action == 'clear') {
		
		for (x in input_text) {
		frm[input_text[x]].style.backgroundColor = "#FFFFFF";	
		}
		
		getID("cb_services_error").style.backgroundColor = "";
		getID("cb_sample_error").style.backgroundColor = "";

		
	return;		
	}

	
	for(x in input_text) {
   	    var pattern = /\,/g;
   	    var pattern2 = /\&/g;
		text_value = frm[input_text[x]].value;
		text_value = text_value.replace(pattern,'%2C');
		text_value = text_value.replace(pattern2,'%26');

		if (text_value != '') {
			queryString.push(input_text[x]+"="+text_value);
			}
	}
		
		for(x in input_check) {
		var checkArray = new Array();
   	    var pattern = /\,/g;
		for(i=0;i<frm[input_check[x]].length;i++) {
		if (frm[input_check[x]][i].checked == true) {
	        var value = frm[input_check[x]][i].value.replace(pattern,'&#44;');
			checkArray.push(value);
			}
		}
	if (checkArray.length > 0) {
	queryString.push(input_check[x]+"="+checkArray);
	}
	}
	
	for(x in input_radio) {
		var checkArray = new Array();
		for(i=0;i<frm[input_radio[x]].length;i++) {
		if (frm[input_radio[x]][i].checked == true) {
			var value = frm[input_radio[x]][i].value;
			checkArray.push(value);
			}
		}
	if (checkArray.length > 0) {
	queryString.push(input_radio[x]+"="+checkArray);
	}

	}

	 queryString = queryString.join('&');
	
	//alert(queryString);
	return queryString;


}



// ------------------------> CONTACT US FORM

function parseContactForm() {	

	getID('response').style.visibility = 'visible';
	getID('response').innerHTML = "<img src='../images/processing.gif' width='200px' height='20px' /><br/><br/>Please be patient while we process your message now.  <br/><br/> This could take a few moments.";
	var url = "../scripts/contact.php";
	var sndvariables;
	http.open("POST", url);
	http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	sndvariables = getEmailString();
	http.send(sndvariables);
	http.onreadystatechange = HTTPsendEmail;
}

function HTTPsendEmail() {
	
  	if ((http.readyState == 4) && (http.status == 200)) {

			getEmailString('clear');
			getID('response').style.visibility = 'hidden';

			results = http.responseText.split("|");
	
			if (results[0] == 'error') {
				errors = results[1].split(",");
				getID('response').style.visibility = 'visible';
				getID('response').style.color = '#990000';
				getID('response').innerHTML = "We need some important information from you before sending this e-mail.  <br/><br/> Please complete all required fields that are <span class='highlight'>highlighed.</span>  <br/><br/> Thank You.";
				for(i=0;i<errors.length;i++) {
				document.F1[errors[i]].style.backgroundColor = "#FFFFCC";
				}	
			}

			if (results[0] == 'okay') {
			clearFields('email');
			getID('response').style.visibility = 'visible';
			getID('response').style.color = '#049A82';
			getID('response').innerHTML = "Thank you. <br/><br/> Your e-mail has been sent and a Gentris representative will contact you soon.";	
			}
			
			if (results[0] == 'test') {
			alert(results[1]);
		}
		
		if (results[0] == 'noid') {
			alert("There was a problem sending the e-mail.");
		}

	}
}


function getEmailString(action) {

    var queryString = new Array();
    var frm = document.F1;
	
	var input_text = new Array('company','company_address','company_city','company_state','company_zip','phone','fax','email','name','job','message','referenceid');


	if (action == 'clear') {
		
		for (x in input_text) {
		frm[input_text[x]].style.backgroundColor = "#FFFFFF";	
		}
		
	return;		
	}

	
	for(x in input_text) {
   	    var pattern = /\,/g;
   	    var pattern2 = /\&/g;
		text_value = frm[input_text[x]].value;
		text_value = text_value.replace(pattern,'%2C');
		text_value = text_value.replace(pattern2,'%26');

		if (text_value != '') {
			queryString.push(input_text[x]+"="+text_value);
			}
	}
		

	 queryString = queryString.join('&');
	
	//alert(queryString);
	return queryString;


}


function clearFields(target) {
	
	frm = document.F1;
	
if (target=='quote') {
		var input_text = new Array('company','contact_name','contact_address','contact_phone','contact_email','accounts_contact','accounts_po','protocol_num','protocol_title','study_start','study_end','num_cb_services1','num_cb_services2','num_cb_services3','num_cb_services4','num_cb_services5','other_genes_text','alleles','interim_frequency_text','ship_provider','ship_account','cb_supplies_text','kits_domestic','kits_intl','misc');
}

if (target=='email') {
	var input_text = new Array('company','company_address','company_city','company_state','company_zip','phone','fax','email','name','job','message');
}

		for (x in input_text) {
		frm[input_text[x]].value = '';	
		}

return;
	
}


// ------------------------> SEARCH WEBSITE

function getSearch(directory) {
	if (document.F9.searchTXT.value=='') {return;}
	document.F9.action = directory+'search/index.php';
	document.F9.method = 'POST';
	document.F9.submit();
}

