// JavaScript Document
//represents a key/value pair
function QSPair(newkey, newval){
	this.key = newkey;
	this.val = newval;
}
//parses the querystring and returns an array of QSPairs - note each key and value will be decoded
function ParseQueryString()
{
    var queryString = new Array();
    var urlSearch = location.search.substr(1);
    var parms = urlSearch.split("&");
    for(idx = 0; idx < parms.length; idx++) {
        if (parms[idx] != ""){
			var parm = parms[idx].split("=");
			queryString[queryString.length] = new QSPair(decodeURI(parm[0]), decodeURI(parm[1]));
		}
    }
    return queryString;
}
//Returns a copy of the current querystring but with the value for changeKey changed to changeValue
//Note: if changeKey doesn't occur in current querystring it is added
function updatedQueryString(changeKey, changeValue){
	var qspairs = ParseQueryString();
	var newQS = "";
	var newKeyFound = false;
	for (var i=0; i < qspairs.length; i++){
		if (i > 0){
			newQS += "&";
		}
		if (qspairs[i].key.toLowerCase() == changeKey.toLowerCase()){
			newQS += encodeURI(qspairs[i].key) + "=" + encodeURI(changeValue);
			newKeyFound=true;
		}
		else{
			newQS += encodeURI(qspairs[i].key) + "=" + encodeURI(qspairs[i].val);
		}
	}
	if (!newKeyFound){
		if (qspairs.length > 0){
			newQS += "&";
		}
		newQS += encodeURI(changeKey) + "=" + encodeURI(changeValue);
	}
	return newQS;
}
//Takes the new key and value entered by the user, substitutes them in the querystring and
//  refreshes the page.
function refreshQS(newkey,newval,locationurl){
	var newQS = updatedQueryString(newkey, newval);
	location.href = locationurl + "?" + newQS;
}

function clickclear(thisfield, defaulttext) {
	if(thisfield.value==defaulttext){
		thisfield.value = "";
	}
}
function lostfocusreset(thisfield, defaulttext) {
	if(thisfield.value==""){
		thisfield.value = defaulttext;
	}
}
function UpdateQty(item,days,itemId,sessionid) 
{ 
newQty = item.options[item.selectedIndex].text; 

document.location.href = 'index.php?type=4&action=update_item&id='+itemId+'&qty='+newQty+'&days='+days;
}

function UpdateDays(item,qty,itemId,sessionid) 
{ 
newDays = item.options[item.selectedIndex].text; 

document.location.href = 'index.php?type=4&action=update_item&id='+itemId+'&qty='+qty+'&days='+newDays;
} 

function enableField(formname,chkname,fields) {
  var f = document.forms[formname];
  var reqa = fields.split(',');
  for (i=0;i<reqa.length;i++) {
    f.elements[reqa[i]].disabled=!f.elements[chkname].checked;
  }
}

function enableLtdField(formname,chkname,fields) {
  var f = document.forms[formname];
  var reqa = fields.split(',');
  for (i=0;i<reqa.length;i++) {
    f.elements[reqa[i]].disabled=f.elements[chkname].checked;
  }
}

function checkPasswords(formname,fields){
	var f = document.forms[formname];
	var passwrds =fields.split(',');
	if ((f.elements[passwrds[0]].value.length<6) && (f.elements[passwrds[0]].value.length>0)){
		alert ('Passwords must be 6 or more characters.');
		return false;
	}
	if (f.elements[passwrds[0]].value==f.elements[passwrds[1]].value){
		return true;
	} else {
		alert('Passwords entered do not match. Please re-enter the password.');
		f.elements[passwrds[0]].focus();
		return false;
	}
}
function checkForm(formname,fields) {
  var f = document.forms[formname];
  var reqa = fields.split(',');
  for (i=0;i<reqa.length;i++) {
    if ((f.elements[reqa[i]].value=='') && (f.elements[reqa[i]].disabled==false)) {
      alert('Please complete the required field: '+reqa[i]);
	  f.elements[reqa[i]].focus();
      return;
    }
  }
  f.submit();
}

function checkformonsubmit(formname,fields) {
  var f = document.forms[formname];
  var reqa = fields.split(',');
  for (i=0;i<reqa.length;i++) {
    if ((f.elements[reqa[i]].value=='') && (f.elements[reqa[i]].disabled==false)) {
      alert('Please complete the required field: '+reqa[i]);
	  f.elements[reqa[i]].focus();
      return false;
    }
  }
  return true;
}

function submitForm(formname) {
  var f = document.forms[formname];
  f.submit();
}