﻿function GetXMLHttpRequest(){
    var object = null;
    
    if (window.XMLHttpRequest){
        object = new XMLHttpRequest();
        
    } else if (window.ActiveXObject){
        try {object = new ActiveXObject("Msxml2.XMLHTTP");} catch(e){}
        if (object == null){try {object = new ActiveXObject("Microsoft.XMLHTTP");} catch(e){}}
    }
       
    if (object == null){alert("Sorry! Your browser does not support XmlHttp Posts."); return;}
    return object;
}

function XMLHttpFieldValue(fieldName, fieldValue){
	this.fieldName = fieldName;
	this.fieldValue = fieldValue;
}

function ArrayXMLHttp(valuePairs){
	var arrayFieldValue = valuePairs.split('||');
	this.dict = new Array();
	this.FindXMLHttpValue = FindXMLHttpValue;

	for (var i = 0; arrayFieldValue.length > i; i++){
		var myRow = arrayFieldValue[i].split('=');
		var myValue = new XMLHttpFieldValue(myRow[0].toLowerCase(), myRow[1]);
		this.dict[i] = myValue;
	}
}

function FindXMLHttpValue(fieldName){
	var myReturn = -1;

	for (var i = 0; document.form.elements.length > i; i++){
		if (document.form.elements[i].name.toLowerCase() == fieldName.toLowerCase()){
			myReturn = i;
			break;
		}
	}

	return myReturn;	
}

function SetXMLHttpValues(valuePairs){
	var myForm = new ArrayXMLHttp(valuePairs);
	
	for (var i = 0; myForm.dict.length > i; i++){
		var fieldValuePair = myForm.FindXMLHttpValue(myForm.dict[i].fieldName);
		
		if (fieldValuePair < 0){continue;}
		if (document.form.elements[fieldValuePair].type == 'button'){continue;}
		if (document.form.elements[fieldValuePair].type == 'file'){continue;}
		if (document.form.elements[fieldValuePair].type == 'image'){continue;}
		if (document.form.elements[fieldValuePair].type == 'submit'){continue;}
		if (document.form.elements[fieldValuePair].type == 'reset'){continue;}
		
		if (document.form.elements[fieldValuePair].type == 'radio'){
			var id = myForm.dict[i].fieldName + myForm.dict[i].fieldValue;
			try {document.form.elements[id].checked = true;} catch (e){}
			continue;
		}

		if (document.form.elements[fieldValuePair].type == 'checkbox'){
			document.form.elements(myForm.dict[i].fieldName).checked = true;
			continue;
		}

		document.form.elements(myForm.dict[i].fieldName).value = myForm.dict[i].fieldValue;
	}
}

function GetXMLHttpValues(){
	var valuePairs = "";
	var delimiter = "||";

	for (var i = 0; document.form.elements.length > i; i++){
		if (document.form.elements[i].type == 'button'){continue;}
		if (document.form.elements[i].type == 'file'){continue;}
		if (document.form.elements[i].type == 'image'){continue;}
		if (document.form.elements[i].type == 'submit'){continue;}
		if (document.form.elements[i].type == 'reset'){continue;}
		if (document.form.elements[i].type == 'radio' && document.form.elements[i].checked == false){continue;}
		if (document.form.elements[i].type == 'checkbox' && document.form.elements[i].checked == false){continue;}
		
		if (valuePairs == ""){delimiter = "";} else {delimiter = "||";}
		valuePairs = valuePairs + delimiter + document.form.elements[i].name + '=' + document.form.elements[i].value;
	}

	return "##VALUEPAIRSTART##" + valuePairs + "##VALUEPAIREND##";
}

function Page_IsInternetExplorer(){
	var browser = navigator.userAgent;
	if (browser.indexOf('MSIE') >= 0){return true;} else {return false;}
}

function Page_IsSafari(){
	var browser = navigator.userAgent;	
	if (browser.indexOf('Safari') >= 0){return true;} else {return false;}
}