﻿


function stripslashes(str) 
	{
	str=str.replace(/\'/g,'\'');
	str=str.replace(/\"/g,'"');
	str=str.replace(/\\\\/g,'\\');
	str=str.replace(/\\0/g,'\0');
	return str;
	}

function createXMLHttp()  // cross platform XMLHttpRequest solution for versions < IE 7
	{
	if (typeof XMLHttpRequest != "undefined") 
		{
		return new XMLHttpRequest();
		} 
	else if (window.ActiveXObject) 
		{
		var aVersions = [ "MSXML2.XMLHttp.5.0",
		"MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0",
		"MSXML2.XMLHttp","Microsoft.XMLHttp"
		];
		
		for (var i = 0; i < aVersions.length; i++) 
			{
			try 
				{
				var oXmlHttp = new ActiveXObject(aVersions[i]);
				return oXmlHttp;
				} 
			catch (oError) 
				{
		//Do nothing
				}
			}
		}
	throw new Error("XMLHttp object could be created.");
	}
	
////
function encodeNameAndValue(sName, sValue)
	{
	var sParam = encodeURIComponent(sName);
	sParam += "=";
	sParam += encodeURIComponent(sValue);
	return sParam;
	}
////
function getRequestBody(oForm) // takes an object form's elements and puts them into a query string for get / post submission
	{
	var aParam =  new Array();
	for (var i=0;i<oForm.elements.length;i++)
		{
		var oField = oForm.elements[i];
		switch (oField.type)
			{
			case 'button':
			case 'reset':
				break;

			case 'submit':

			case 'checkbox':
			case 'radio':
				if (!oField.checked)
					{
					break;
					}			
			case 'submit':
			case 'text':
			case 'hidden':
			case 'password':
				aParam.push(encodeNameAndValue(oField.name, oField.value));
				break;
			default:
				switch(oField.tagName.toLowerCase())
					{
					case "select":
						aParam.push(encodeNameAndValue(oField.name, oField.options[oField.selectedIndex].value));
						break;
					default:
						aParam.push(encodeNameAndValue(oField.name, oField.value));
					}
			}
		}	
	return aParam.join("&");
	}  

////

function ChangeClassProperty(sClassName,sProperty,sValue)
	{
	sClassName="."+sClassName;
	var sheets = document.styleSheets;
	var rules;
	var styleObj;
	for (var i=0; i< sheets.length;  i++)
		{
		rules=sheets[i].cssRules || sheets[i].rules;
		for (var j=0; j<rules.length; j++)
			{
			if (rules[j].selectorText && rules[j].selectorText==sClassName)
				{
				styleObj=rules[j].style;
				styleObj[sProperty]=sValue;
				break;
				}
			}
		}
	return;
	}

