function pageQuery(q)
{
	if(q.length > 1) this.q = q.substring(1, q.length);
	else this.q = null;
	
	this.keyValuePairs = new Array();

	if(q)
	{
		for(var i=0; i < this.q.split("&").length; i++)
		{
			this.keyValuePairs[i] = this.q.split("&")[i];
		}
	}
	
	this.getKeyValuePairs = function() { return this.keyValuePairs; }
	
	this.getValue = function(s) {
		for(var j=0; j < this.keyValuePairs.length; j++)
		{
			if(this.keyValuePairs[j].split("=")[0] == s)
			return this.keyValuePairs[j].split("=")[1];
		}
		
		return false;
	}
	
	this.getParameters = function() {
		var a = new Array(this.getLength());
		for(var j=0; j < this.keyValuePairs.length; j++)
		{
			a[j] = this.keyValuePairs[j].split("=")[0];
		}
		
		return a;
	}
	
	this.getLength = function() { return this.keyValuePairs.length; } 
}

function queryString(key)
{
	var page = new pageQuery(window.location.search); 
	return unescape(page.getValue(key)); 
}

function isPositiveInteger(val)
{
	if (val==null) { return false; }
	if (val.length==0) { return false; }
	for (var i = 0; i < val.length; i++)
	{
		var ch = val.charAt(i);
		if (ch < "0" || ch > "9") {
			return false
		}
	}
	
	return true;
}

function isAlphanumeric(parm)
{
	var numb = '0123456789';
	var lwr = 'abcdefghijklmnopqrstuvwxyz';
	var upr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
	var space = ' ';
	
	val = lwr+upr+numb+space;
	
	if (parm == "") return true;
	for (i=0; i<parm.length; i++) {
		if (val.indexOf(parm.charAt(i),0) == -1)
			return false;
	}
	
	return true;
}

function containDoubleQuote(val)
{
	if (val==null) { return false; }
	if (val.length==0) { return false; }
	for (var i = 0; i < val.length; i++)
	{
		var ch = val.charAt(i);		
		if (ch == '\"')		
			return true;
	}
	
	return false;
}

function openWindow(URL, winName, features)
{
	window.open(handleSpecialChar(URL), winName, features);
}

function getCookie(name) {
	var dc = document.cookie;
	var prefix = name + "=";
	var begin = dc.indexOf("; " + prefix);
	if (begin == -1) {
		begin = dc.indexOf(prefix);
		if (begin != 0) return null;
	} else
		begin += 2;
	var end = document.cookie.indexOf(";", begin);
	if (end == -1)
	end = dc.length;
	return unescape(dc.substring(begin + prefix.length, end));
}

function handleSpecialChar(str)
{
	// Handle single quote
	str = str.replace(/'/g, "\\\'");
	
	// Handle double quote
	str = str.replace(/"/g, "\\\"");
	
	//str = str.replace(/Spring\/Summer/i, "Spring_Summer");
	//str = str.replace(/Fall_\/_Winter/i, "Fall_Winter");
	
	return str;
}